/* generated by _build/build.py: homepage + How we work system, then inner-page components */

:root{
  --cream:#f3f4f1; --card:#fbfbf9; --white:#ffffff; --chip:#e4e7df; --dark:#17191e; --lime:#d2fe45; --lime-hover:#c1ea3f;
  --ink:#0f1013; --body:#3b3f3a; --muted:#6e746a; --olive:#4a7d0a; --on-dark:#f3f4f1; --on-dark-soft:#c9cec2;
  --line:rgba(15,16,19,.12); --line-dark:rgba(255,255,255,.12);
  --r-card:14px; --r-panel:22px; --r-input:10px;
  --gutter:80px; --section:110px; --max:1440px;
  --ease:cubic-bezier(.22,1,.36,1);
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{background:var(--cream);color:var(--ink);font-family:Archivo,system-ui,sans-serif;font-size:17px;line-height:1.6;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}
.wrap{max-width:var(--max);margin:0 auto;padding:0 var(--gutter)}
.section{padding:var(--section) 0}
.band-white{background:var(--white)}
/* type */
.label{font-family:"Archivo Narrow",sans-serif;font-weight:500;font-size:12px;letter-spacing:1.6px;text-transform:uppercase;line-height:1.4}
.display{font-weight:600;font-size:clamp(40px,4.4vw,62px);line-height:1.04;letter-spacing:-2px}
.h2{font-weight:600;font-size:clamp(34px,3.4vw,48px);line-height:1.08;letter-spacing:-1.2px}
.h3{font-weight:600;font-size:24px;line-height:1.25;letter-spacing:-.4px}
.h4{font-weight:600;font-size:20px;line-height:1.3;letter-spacing:-.2px}
.body-l{font-size:19px;line-height:1.55}
.body-s{font-size:15px;line-height:1.55}
.caption{font-size:14.5px;line-height:1.5}
.mono{font-family:"Archivo Narrow",sans-serif;font-weight:500;font-size:11.5px;letter-spacing:1.2px;text-transform:uppercase}
@media (min-width:761px){h1 .accent,h2 .olive,h2 .hl{white-space:nowrap}}
.muted{color:var(--muted)} .bodyc{color:var(--body)} .olive{color:var(--olive)}
.eyebrow{display:flex;align-items:center;gap:10px;color:var(--muted)}
.eyebrow i{width:8px;height:8px;background:var(--olive);display:inline-block}
/* buttons */
.btn{display:inline-flex;align-items:center;gap:12px;height:50px;padding:0 22px;border-radius:999px;font-weight:500;font-size:15px;line-height:1.3;white-space:nowrap;transition:background .2s var(--ease),transform .15s var(--ease)}
.btn-primary{background:var(--lime);color:#15130f}
.btn-primary:hover{background:var(--lime-hover)}
.btn-primary:active{transform:translateY(1px)}
.btn-primary:focus-visible,.btn-secondary:focus-visible,.btn-ghost:focus-visible{outline:2px solid var(--olive);outline-offset:3px}
.btn-m{height:42px;padding:0 18px}
.btn-secondary{border:1px solid var(--ink)}
.btn-secondary:hover{background:var(--chip)}
.btn-ghost{padding:0 4px}
.btn-ghost:hover{color:var(--olive)}
.chip{display:inline-flex;align-items:center;gap:8px;height:33px;padding:0 12px;border-radius:999px;border:1px solid var(--line);font-family:"Archivo Narrow",sans-serif;font-weight:500;font-size:11.5px;letter-spacing:1.2px;text-transform:uppercase;color:var(--muted);white-space:nowrap}
.chip.lime{background:var(--lime);border-color:var(--lime);color:#15130f}
/* nav */
.nav{position:sticky;top:0;z-index:20;background:rgba(243,244,241,.86);backdrop-filter:saturate(1.2) blur(10px);-webkit-backdrop-filter:saturate(1.2) blur(10px);transition:box-shadow .3s}
.nav.scrolled{box-shadow:0 1px 0 var(--line)}
.nav .wrap{height:80px;display:flex;align-items:center;justify-content:space-between}
.nav .logo{height:20px;width:auto;display:block;color:var(--ink)}
.nav ul{display:flex;gap:28px;list-style:none;font-size:15px;color:var(--body)}
.nav ul a:hover{color:var(--ink)}
.nav-cta{opacity:0;visibility:hidden;transform:translateY(-8px) scale(.96);transition:opacity .45s var(--ease),transform .45s var(--ease),visibility 0s linear .45s,background .2s}
.nav.show-cta .nav-cta{opacity:1;visibility:visible;transform:none;transition:opacity .9s var(--ease) .2s,transform .9s var(--ease) .2s,visibility 0s,background .2s}
/* hero */
.hero{position:relative;overflow:hidden;min-height:712px}
.hero-bg{position:absolute;left:0;right:0;bottom:0;aspect-ratio:1440/810;pointer-events:none}
.hero-bg canvas{display:block;width:100%;height:100%;-webkit-mask-image:linear-gradient(90deg,transparent 0,transparent 22%,#000 38%);mask-image:linear-gradient(90deg,transparent 0,transparent 22%,#000 38%)}
.hero-bg .glow{position:absolute;width:26px;height:26px;margin:-13px 0 0 -13px;border-radius:50%;background:radial-gradient(circle,rgba(210,254,69,.95) 0 28%,rgba(210,254,69,.35) 45%,rgba(210,254,69,0) 70%);animation:glow 3.2s ease-in-out infinite}
@keyframes breathe{from{transform:scale(1)}to{transform:scale(1.035) translateY(-6px)}}
@keyframes glow{0%,100%{transform:scale(.7);opacity:.6}50%{transform:scale(1.25);opacity:1}}
.hero .wrap{position:relative;display:grid;grid-template-columns:1fr 620px;gap:60px;align-items:center;padding-top:96px;padding-bottom:96px}
.hero h1 .accent{color:var(--olive)}
.hero p.lead{margin-top:28px;max-width:600px;color:var(--body)}
.hero .actions{margin-top:36px;display:flex;gap:18px;align-items:center;flex-wrap:wrap}
.hero .trust{margin-top:28px;font-size:13px;color:var(--muted)}
.panel{background:rgba(251,251,249,.62);backdrop-filter:blur(1.5px);-webkit-backdrop-filter:blur(1.5px);border:1px solid var(--line);border-radius:var(--r-panel);padding:24px 24px 20px;box-shadow:0 30px 60px -40px rgba(15,16,19,.35)}
.panel-head{display:flex;justify-content:space-between;color:var(--muted)}
.wf{margin-top:8px}
.wf-row{display:grid;grid-template-columns:48px 1fr auto;gap:16px;align-items:center;padding:14px 0;border-top:1px solid var(--line);transition:opacity .5s var(--ease),transform .5s var(--ease)}
.wf-row:first-child{border-top:0}
.wf-row .t{font-family:"Archivo Narrow",sans-serif;font-weight:500;font-size:11.5px;color:var(--muted)}
.wf-row .s{color:var(--muted);font-size:14.5px;line-height:1.45}
.wf-row.approval{border:1.5px solid var(--olive);border-radius:var(--r-input);padding:14px;margin:6px 0;background:rgba(255,255,255,.85)}
.wf-row.approval+.wf-row{border-top:0}
.wf.playing .wf-row{opacity:.18;transform:translateY(4px)}
.wf.playing .wf-row.on{opacity:1;transform:none}
.wf-row.approval .chip.lime{transition:box-shadow .4s}
.wf-row.approval.on .chip.lime{animation:ping 1.6s var(--ease) 1}
@keyframes ping{0%{box-shadow:0 0 0 0 rgba(210,254,69,.9)}100%{box-shadow:0 0 0 14px rgba(210,254,69,0)}}
.panel-foot{margin-top:12px;color:var(--muted)}
/* problem */
.split{display:grid;grid-template-columns:760px 1fr;gap:64px;align-items:start}
.problem .copy p+p{margin-top:14px}
.band{position:relative;margin-top:24px}
.band canvas{display:block;width:100%;aspect-ratio:1344/430}
.band-labels{position:relative;height:76px;margin-top:6px}
.bl{position:absolute;top:0;transform:translateX(-50%);text-align:center;white-space:nowrap}
.bl .n{display:inline-flex;align-items:center;gap:8px;font-family:"Archivo Narrow",sans-serif;font-weight:600;font-size:22px;letter-spacing:2.2px;color:var(--ink);transition:color .4s}
.bl .n i{width:8px;height:8px;border-radius:50%;background:var(--line);transition:background .4s,box-shadow .4s}
.bl.lit .n i{background:var(--lime);box-shadow:0 0 0 5px rgba(210,254,69,.3)}
.bl .c{font-size:14.5px;color:var(--muted);margin-top:4px}
@media (max-width:760px){.bl .n{font-size:12px;letter-spacing:1.2px;gap:5px}.bl .n i{width:6px;height:6px}.bl .c{display:none}.band-labels{height:36px}}
.statement{display:grid;grid-template-columns:auto 560px 1fr;gap:24px;align-items:start;margin-top:40px}
.statement .sq{width:10px;height:10px;background:var(--lime);margin-top:10px}
/* self-check */
.check{display:grid;grid-template-columns:520px 1fr;gap:80px;align-items:start}
.sectors{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
.sector{display:inline-flex;align-items:center;gap:8px;height:33px;padding:0 12px;border-radius:999px;border:1px solid var(--line);font-family:"Archivo Narrow",sans-serif;font-weight:500;font-size:11.5px;color:var(--body);transition:background .2s,border-color .2s}
.sector:hover{border-color:var(--ink)}
.sector[aria-pressed="true"]{background:var(--lime);border-color:var(--lime);color:#15130f;letter-spacing:1.2px;text-transform:uppercase}
.sector[aria-pressed="false"]::after{content:"→"}
.signs{position:relative}
.signs .cord{position:absolute;left:14px;top:28px;bottom:150px;border-left:1px dashed var(--line)}
.signs .pulse{position:absolute;left:10px;width:9px;height:9px;border-radius:50%;background:var(--lime);opacity:0;transform:translateY(0)}
.sign{display:grid;grid-template-columns:28px 1fr;gap:24px;padding:28px 0;border-top:1px solid var(--line);cursor:pointer;text-align:left;width:100%}
.sign:first-of-type{border-top:0;padding-top:0}
.box{width:28px;height:28px;border-radius:6px;border:1.5px dashed var(--muted);display:grid;place-items:center;transition:background .25s var(--ease),border-color .25s;position:relative;z-index:1;background:var(--cream)}
.box svg{opacity:0;transform:scale(.6);transition:all .25s var(--ease)}
.sign[aria-checked="true"] .box{background:var(--lime);border:1.5px solid var(--lime)}
.sign[aria-checked="true"] .box svg{opacity:1;transform:none}
.sign[aria-checked="false"] .h3{color:var(--body)}
.sign .h3{transition:color .2s}
.verdict{margin-top:8px;display:flex;align-items:center;gap:24px;justify-content:space-between;background:var(--white);border:1px solid var(--line);border-radius:var(--r-card);padding:26px 28px}
.verdict .btn{flex:none}
.verdict>div{min-width:0}
.verdict .label{color:var(--olive)}
.verdict .h4{transition:opacity .25s}
/* steps */
.cordline{position:relative;height:16px;margin-top:64px;margin-bottom:20px}
.cordline .ln{position:absolute;left:24px;right:216px;top:7.5px;height:1px;background:var(--line);transform-origin:left;transform:scaleX(0);transition:transform 1.4s var(--ease)}
.cordline .nd{position:absolute;top:4px;width:8px;height:8px;border-radius:50%;background:var(--ink);transform:scale(0);transition:transform .4s var(--ease)}
.cordline .nd.first{width:10px;height:10px;top:3px;background:var(--lime)}
.in .cordline .ln{transform:scaleX(1)}
.in .cordline .nd{transform:scale(1)}
.steps{display:grid;grid-template-columns:repeat(5,1fr);gap:20px}
.step{background:var(--card);border:1px solid var(--line);border-radius:var(--r-card);padding:26px 24px;height:320px;display:flex;flex-direction:column;opacity:0;transform:translateY(48px);filter:blur(20px);transition:opacity 1.4s var(--ease),transform 1.6s var(--ease),filter 1.4s var(--ease)}
.in .step{opacity:1;transform:none;filter:blur(0)}
.step.hi{border:1.5px solid var(--olive)}
.step .head{height:31px;display:flex;align-items:center;justify-content:space-between}
.step .head .label{color:var(--olive)}
.step .chip{border-color:var(--olive);color:var(--olive);letter-spacing:1.2px}
.step .h3{margin-top:18px}
.step p{margin-top:12px}
.step .sfoot{margin-top:auto;border-top:1px solid var(--line);padding-top:14px;min-height:50px;line-height:1.5}
/* what we run */
.work{display:grid;grid-template-columns:1fr 440px;position:relative;margin-top:40px}
.work-row{display:grid;grid-template-columns:28px 1fr 190px 6px;gap:20px;padding:22px 0 24px;border-top:1px solid var(--line);align-items:start}
.work-row:first-child{border-top:0}
.work-row .ind{text-align:right;color:var(--muted);font-size:14.5px}
.work-row .end{width:6px;height:6px;border-radius:50%;background:var(--ink);margin-top:9px;transition:transform .3s var(--ease),background .3s}
.work-row.fed .end{background:var(--lime);transform:scale(2.2)}
.dg{width:28px;height:28px;display:block}
.dg .p{transition:transform .3s var(--ease);transform-origin:center;transform-box:fill-box}
.work-row.fed .dg .p{transform:scale(1.8)}
.work-row.fed .dg .d{animation:shiver .5s ease-out 1}
@keyframes shiver{30%{transform:translateY(-.6px)}60%{transform:translateY(.4px)}}
.hubfig{position:relative}
.wire{position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none}
.wire path{fill:none;stroke:var(--line);stroke-width:1}
.ring{animation:spin 60s linear infinite;transform-origin:center;transform-box:fill-box}
.ring2{animation:spin 90s linear infinite reverse;transform-origin:center;transform-box:fill-box}
@keyframes spin{to{transform:rotate(360deg)}}
.hublabel{position:absolute;transform:translateX(-50%);white-space:nowrap}
/* run */
.run-card{background:var(--dark);color:var(--on-dark);border-radius:var(--r-panel);padding:72px;display:grid;grid-template-columns:470px 1fr;gap:64px;align-items:center}
.run-card .label{color:var(--on-dark-soft)}
.run-card .h2 .hl{color:var(--lime)}
.run-card .soft{color:var(--on-dark-soft)}
.own{margin-top:32px;border-top:1px solid var(--line-dark);padding-top:20px}
.own ul{list-style:none;margin-top:12px;display:grid;gap:8px}
.own li{display:flex;align-items:center;gap:12px;color:var(--on-dark-soft);font-size:15px}
.own li::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--lime)}
.loop{position:relative;height:460px}
.loop svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.station{position:absolute;width:240px;transition:color .3s}
.station .t{font-weight:600;font-size:20px;line-height:1.3;transition:color .35s}
.station .d{color:var(--on-dark-soft);font-size:14.5px;line-height:1.5;margin-top:6px}
.station.lit .t{color:var(--lime)}
.st-top,.st-bottom{text-align:center;left:50%;transform:translateX(-50%)}
.st-left{text-align:right;width:170px}
.st-right{width:170px}
/* proof */
.clients{display:grid;grid-template-columns:repeat(4,1fr);row-gap:56px;position:relative;margin-top:48px}
.clients .rowline{position:absolute;left:0;right:0;height:1px;background:var(--line)}
.client{position:relative;padding-top:24px}
.client::before{content:"";position:absolute;left:0;top:-4px;width:9px;height:9px;border-radius:50%;background:var(--ink)}
.logo-slot{width:160px;max-width:calc(100% - 12px);height:48px;border:1px dashed var(--line);border-radius:6px;display:grid;place-items:center;color:var(--muted)}
.client .h4{margin-top:16px}
.rowpulse{position:absolute;width:10px;height:10px;margin-top:-5px;border-radius:50%;background:var(--lime);left:0}
.conf{display:flex;gap:40px;align-items:center;margin-top:40px}
.redacted{width:220px;height:124px;background:var(--white);border:1px solid var(--line);border-radius:10px;position:relative;flex:none}
.redacted canvas{position:absolute;inset:0;width:100%;height:100%;border-radius:10px}
.readout{position:relative;margin-top:72px}
.readout .sheet{position:absolute;inset:0;background:var(--white);border:1px solid var(--line);border-radius:16px}
.readout .s1{transform:translate(24px,24px);opacity:.5}.readout .s2{transform:translate(12px,12px);opacity:.8}
.doc{position:relative;background:var(--white);border:1px solid var(--line);border-radius:16px;padding:44px 48px;margin-right:24px}
.doc-head{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;padding-bottom:28px;border-bottom:1px solid var(--line)}
.doc-body{display:grid;grid-template-columns:1fr 560px;gap:56px;margin-top:28px}
.outs{display:grid;gap:20px}
.out{display:grid;grid-template-columns:20px 1fr;gap:16px}
.out .n{color:var(--olive);font-family:"Archivo Narrow";font-weight:500;font-size:12px;letter-spacing:1.6px;padding-top:4px}
.sample{background:var(--cream);border-radius:10px;padding:8px 22px}
.sample .row{display:grid;grid-template-columns:120px 1fr;gap:16px;padding:11px 0;border-top:1px solid var(--line);font-size:15px}
.sample .hd{display:flex;justify-content:space-between;padding:10px 0;color:var(--muted)}
/* why */
.why{display:grid;grid-template-columns:440px 1fr;gap:80px;align-items:start}
.portrait{width:440px;height:520px;display:block}
.founder .cap{display:flex;align-items:center;gap:10px;margin-top:20px}
.founder .cap i{width:8px;height:8px;border-radius:50%;background:var(--lime)}
.founder p{margin-top:20px}
.founder .links{display:flex;gap:24px;margin-top:20px;color:var(--olive)}
.reasons{padding-top:24px}
.reason{display:grid;grid-template-columns:28px 1fr 10px;gap:24px;padding:26px 0;border-top:1px solid var(--line)}
.reason:last-child{border-bottom:1px solid var(--line)}
.reason .n{font-family:"Archivo Narrow";font-weight:500;font-size:12px;letter-spacing:1.6px;color:var(--muted);padding-top:6px}
.reason.first .n{color:var(--olive)}
.reason .dot{width:10px;height:10px;border-radius:50%;background:var(--lime);margin-top:8px;opacity:0;transition:opacity .3s}
.reason.first .dot{opacity:1}
.reason.first.flash .dot{animation:ping 1.2s var(--ease) 1}
/* faq */
.faq{display:grid;grid-template-columns:400px 1fr;gap:80px;align-items:start}
.qs{position:relative;padding-left:60px}
.qs .cord{position:absolute;left:6px;top:29px;bottom:40px;width:1px;background:var(--line)}
.qs .travel{position:absolute;left:2px;width:9px;height:9px;border-radius:50%;background:var(--lime);top:25px;opacity:0;transition:transform .6s var(--ease),opacity .3s}
.q{border-bottom:1px solid var(--line);position:relative}
.q summary{list-style:none;display:flex;justify-content:space-between;gap:22px;padding:20px 0;cursor:pointer}
.q summary::-webkit-details-marker{display:none}
.q summary .pm{color:var(--muted);font-size:19px;line-height:1.3;transition:transform .3s var(--ease)}
.q[open] summary .pm{transform:rotate(45deg)}
.q .ans{max-width:620px;padding-bottom:20px;color:var(--body)}
.q .node{position:absolute;left:-58px;top:25px;width:9px;height:9px;border-radius:50%;background:var(--ink);transition:all .3s var(--ease)}
.q[open] .node{left:-60px;top:23px;width:13px;height:13px;background:var(--cream);border:3px solid var(--lime)}
.q .num{position:absolute;left:-36px;top:24px;font-family:"Archivo Narrow";font-weight:500;font-size:12px;letter-spacing:1.6px;color:var(--muted)}
.q[open] .num{color:var(--olive)}
/* cta */
.cta-card{position:relative;overflow:hidden;background:var(--card);border:1px solid var(--line);border-radius:var(--r-panel);padding:64px;display:grid;grid-template-columns:1fr 440px;gap:64px;align-items:center}
.cta-bg{position:absolute;left:-150px;bottom:-40px;width:1360px;aspect-ratio:1360/765;background:url(/theme/bookend.webp) center/cover no-repeat;pointer-events:none}
.cta-bg .glow{position:absolute;width:22px;height:22px;margin:-11px 0 0 -11px;border-radius:50%;background:radial-gradient(circle,rgba(210,254,69,.95) 0 28%,rgba(210,254,69,.3) 45%,rgba(210,254,69,0) 70%);animation:glow 3.2s ease-in-out infinite}
.cta-card .copy,.cta-card form{position:relative}
.form{background:var(--white);border:1px solid var(--line);border-radius:var(--r-card);padding:26px;display:grid;gap:14px}
.field{display:grid;gap:8px}
.field label{color:var(--muted)}
.field input{height:48px;border:1px solid var(--line);border-radius:var(--r-input);padding:0 14px;font:inherit;font-size:15px;color:var(--ink);background:var(--white);transition:border-color .2s}
.field input:focus{outline:none;border:1.5px solid var(--olive)}
.form .btn{justify-content:center;margin-top:4px}
.sent{display:none;padding:28px 6px;text-align:left}
.form.done .field,.form.done .btn,.form.done .after{display:none}
.form.done .sent{display:block}
/* footer */
footer{border-top:1px solid var(--line);padding:56px 0 24px}
.foot{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:40px}
.foot h6{font-family:"Archivo Narrow";font-weight:500;font-size:12px;letter-spacing:1.6px;text-transform:uppercase;color:var(--muted);margin-bottom:14px}
.foot ul{list-style:none;display:grid;gap:10px;font-size:15px}
.foot-bottom{display:flex;justify-content:space-between;margin-top:56px;padding-top:20px;border-top:1px solid var(--line);font-family:"Archivo Narrow";font-size:12px;color:var(--muted)}
/* reveal */
.rv{opacity:0;transform:translateY(56px) scale(.985);filter:blur(22px);transition:opacity 1.5s var(--ease),transform 1.7s var(--ease),filter 1.5s var(--ease);will-change:opacity,transform,filter}
.rv.in{opacity:1;transform:none;filter:blur(0)}
.rv.rv-done{filter:none;will-change:auto}
/* responsive */
@media (max-width:1100px){
  .verdict{flex-wrap:wrap}
  :root{--gutter:24px;--section:72px}
  .nav ul{display:none}
  .hero .wrap,.split,.check,.why,.faq,.run-card,.cta-card,.work,.doc-body{grid-template-columns:1fr}
  .hero{min-height:0}
  .run-card{padding:36px 24px}
  .steps{grid-template-columns:1fr 1fr}
  .step{height:auto;min-height:260px}
  .cordline{display:none}
  .clients{grid-template-columns:1fr 1fr}
  .statement{grid-template-columns:auto 1fr}
  .statement p:last-child{grid-column:2}
  .work-row{grid-template-columns:28px 1fr}
  .work-row .ind{text-align:left;grid-column:2}
  .work-row .end{display:none}
  .wire,.hubfig{display:none}
  .portrait{width:100%;height:auto}
  .loop{display:grid;gap:20px;height:auto}
  .loop svg{position:relative;inset:auto;height:300px}
  .station{position:static!important;transform:none!important;width:auto!important;text-align:left!important}
  .doc{padding:28px 22px;margin-right:0}
  .foot{grid-template-columns:1fr 1fr}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition:none!important}
  .rv,.step{opacity:1;transform:none;filter:none}
  .cordline .ln,.cordline .nd{transform:none}
}


.intro{padding:88px 0 40px}
.intro .lead{margin-top:24px;max-width:620px;color:var(--body)}
.story{position:relative}
.stage{position:sticky;top:80px;height:calc(100vh - 80px);min-height:560px;display:grid;grid-template-columns:400px 1fr;gap:48px;align-items:center;max-width:1440px;margin:0 auto;padding:0 80px}
.slist{position:relative;padding-left:28px}
.slist .rail{position:absolute;left:4px;top:10px;bottom:10px;width:1px;background:var(--line)}
.slist .fill{position:absolute;left:4px;top:10px;width:1px;background:var(--ink);height:0}
.slist .pulse{position:absolute;left:-1px;top:10px;width:11px;height:11px;margin-top:-5px;border-radius:50%;background:var(--lime);box-shadow:0 0 0 6px rgba(210,254,69,.3)}
.st{padding:14px 0;border-top:1px solid var(--line)}
.st:first-of-type{border-top:0}
.st .row{display:flex;gap:14px;align-items:baseline}
.st .n{font-family:"Archivo Narrow",sans-serif;font-weight:500;font-size:12px;letter-spacing:1.6px;color:var(--muted);width:22px}
.st .nm{font-weight:600;font-size:22px;letter-spacing:-.3px;line-height:1.25;color:var(--muted);transition:color .4s}
.st .more{display:grid;grid-template-rows:0fr;transition:grid-template-rows .6s var(--ease),opacity .5s var(--ease),filter .6s var(--ease);opacity:0;filter:blur(6px)}
.st .more > div{overflow:hidden;padding-left:36px}
.st .fact{margin-top:8px;color:var(--olive)}
.st .line{margin-top:8px;color:var(--body);font-size:16px;line-height:1.55}
.st.on .nm{color:var(--ink)}
.st.on .n{color:var(--olive)}
.st.on .more{grid-template-rows:1fr;opacity:1;filter:none}
.scene{position:relative;height:100%;max-height:760px;width:100%}
.scene canvas{position:absolute;inset:0;width:100%;height:100%}
.tag{position:absolute;right:0;bottom:24px;color:var(--muted)}
.cmp{display:flex;gap:10px;margin-top:28px;flex-wrap:wrap}
.cmp a{border:1px solid var(--line);border-radius:999px;padding:9px 16px;font-size:14px}
.cmp a[aria-current]{background:var(--lime);border-color:var(--lime)}
.stage.wide{grid-template-columns:1fr;grid-template-rows:auto 1fr;gap:8px;align-items:stretch;padding-top:26px;padding-bottom:16px}
.wide .slist{display:grid;grid-template-columns:repeat(5,1fr);padding:24px 0 0 0}
.wide .slist .rail{left:0;right:0;top:0;bottom:auto;width:auto;height:1px}
.wide .slist .fill{left:0;top:0;height:1px;width:0}
.wide .slist .pulse{top:0;left:0;margin-left:-5px}
.wide .st{border-top:0;padding:0 24px 0 0}
.wide .st .more{display:none}
.wide .detail{display:flex;gap:28px;align-items:baseline;margin-top:14px;min-height:30px}
.wide .detail .fact{color:var(--olive);white-space:nowrap}
.wide .detail .line{color:var(--body);font-size:17px;transition:opacity .4s var(--ease),filter .4s var(--ease)}
.wide .detail.swap .line,.wide .detail.swap .fact{opacity:0;filter:blur(6px)}
@media (max-width:1100px){.stage{grid-template-columns:1fr;padding:24px;gap:16px}.scene{height:380px}}

/* concepts E and F · shared stage */
.intro .accent{color:var(--olive)}
.story{height:760vh}
.stage{grid-template-columns:1fr;grid-template-rows:auto 1fr;gap:28px;align-items:stretch;padding-top:28px;padding-bottom:28px}
.rail{position:relative;list-style:none;display:grid;grid-template-columns:repeat(5,1fr);border-top:1px solid var(--line);padding-top:16px}
.rail .rfill{position:absolute;left:0;top:-1px;height:2px;width:0;background:var(--ink)}
.rail .rfill::after{content:"";position:absolute;right:-5px;top:-4.5px;width:11px;height:11px;border-radius:50%;background:var(--lime);box-shadow:0 0 0 6px rgba(210,254,69,.3)}
.rail li{display:flex;gap:12px;align-items:baseline;font-weight:600;font-size:20px;letter-spacing:-.3px;color:var(--muted);transition:color .4s}
.rail li .mono{color:var(--muted)}
.rail li.on{color:var(--ink)}
.rail li.on .mono{color:var(--olive)}
.rail li.done{color:var(--body)}
.detail{display:flex;gap:28px;align-items:baseline;margin-top:14px;min-height:28px}
.detail .fact{color:var(--olive);white-space:nowrap}
.detail .line{color:var(--body);font-size:17px}
.detail .fact,.detail .line{transition:opacity .35s var(--ease),filter .35s var(--ease)}
.detail.swap .fact,.detail.swap .line{opacity:0;filter:blur(6px)}
.muted{color:var(--muted)}
.olive{color:var(--olive)}
@media (max-width:1100px){.rail li{font-size:15px;flex-direction:column;gap:2px}.detail{flex-direction:column;gap:4px}}
@media (prefers-reduced-motion:reduce){.story *{transition:none!important}}

/* concept E · one screen that changes */
.cols{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:48px;align-items:start;min-height:0}
.screen{background:var(--white);border:1px solid var(--line);border-radius:var(--r-card);box-shadow:0 22px 50px -32px rgba(15,16,19,.35);overflow:hidden}
.sh{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;padding:20px 24px 18px;border-bottom:1px solid var(--line)}
.mode{font-weight:600;font-size:26px;letter-spacing:-.6px;margin-top:4px;transition:opacity .3s,filter .3s}
.mode.swap{opacity:0;filter:blur(5px)}
.metric{display:grid;grid-template-columns:auto auto;column-gap:10px;align-items:baseline;text-align:right;justify-items:end}
.metric b{font-weight:600;font-size:54px;letter-spacing:-2px;line-height:1;font-variant-numeric:tabular-nums;grid-row:span 2}
.metric .mono{color:var(--muted);align-self:end;justify-self:start}
.metric .msub{font-size:13px;color:var(--olive);justify-self:start;max-width:170px;text-align:left;line-height:1.3}
.metric.drop b{color:var(--olive)}
.thead{display:grid;grid-template-columns:1.2fr 1.4fr 70px 168px;gap:14px;padding:10px 24px;color:var(--muted);border-bottom:1px solid var(--line);background:var(--card)}
.rows{display:grid}
.r{display:grid;grid-template-columns:1.2fr 1.4fr 70px 168px;gap:14px;align-items:center;padding:13px 24px;border-bottom:1px solid var(--line);transition:opacity .5s var(--ease),transform .5s var(--ease),filter .5s var(--ease),background .5s}
.r.hide{opacity:0;transform:translateY(8px);filter:blur(4px)}
.r.flash{background:#f6fde0}
.r .nm b{display:block;font-weight:600;font-size:15px}
.r .nm span{font-size:13px;color:var(--muted)}
.r .sys{font-size:14px;color:var(--body);display:flex;flex-direction:column;gap:3px;align-items:flex-start}
.rec{position:relative;display:inline-grid;font-size:13px}
.rec > *{grid-area:1/1;transition:opacity .4s,filter .4s,transform .45s var(--ease);white-space:nowrap}
.rec s{color:#a2552f;text-decoration:none;font-style:italic}
.rec em{font-style:normal;font-weight:600;background:var(--lime);border-radius:999px;padding:1px 9px;opacity:0;filter:blur(4px);transform:translateY(4px);justify-self:start}
.r.joined .rec s{opacity:0;filter:blur(4px)}
.r.joined .rec em{opacity:1;filter:none;transform:none}
.r .tm{font-size:15px;font-weight:600;font-variant-numeric:tabular-nums}
.r .tm.zero{color:var(--muted);font-weight:500}
.stchip{justify-self:start;display:inline-flex;align-items:center;gap:7px;font-size:13px;padding:4px 11px;border-radius:999px;white-space:nowrap;background:var(--chip);color:var(--body);transition:background .4s,color .4s,border-color .4s}
.stchip i{width:7px;height:7px;border-radius:50%;background:currentColor;opacity:.5}
.stchip.plan{background:transparent;border:1px solid var(--line);color:var(--ink)}
.stchip.appr{background:transparent;border:1.5px solid var(--olive);color:var(--olive);font-weight:600}
.stchip.live{background:var(--dark);color:var(--on-dark)}
.stchip.live i,.stchip.ok i{background:var(--lime);opacity:1;box-shadow:0 0 0 3px rgba(210,254,69,.3)}
.stchip.ok{background:var(--lime);color:var(--ink);font-weight:600}
.stchip.ok i{background:var(--ink);box-shadow:none}
.sf{display:flex;justify-content:space-between;align-items:center;padding:14px 24px;min-height:52px}
.note{display:inline-flex;align-items:center;gap:10px;font-size:14.5px;font-weight:600;transition:opacity .4s,filter .4s}
.note i{width:9px;height:9px;border-radius:50%;background:var(--lime);box-shadow:0 0 0 5px rgba(210,254,69,.3)}
.note.off{opacity:0;filter:blur(4px)}
.ledger{display:grid;gap:12px;padding-top:4px}
.lh{color:var(--muted);padding-bottom:8px;border-bottom:1px solid var(--line)}
.lh + ul{margin-bottom:18px}
.ledger ul{list-style:none;display:grid;gap:9px}
.ledger li{font-size:14.5px;line-height:1.45;color:var(--body);display:flex;gap:10px;transition:opacity .5s var(--ease),filter .5s var(--ease),transform .5s var(--ease)}
.ledger li.off{opacity:0;filter:blur(4px);transform:translateX(10px)}
.have li .mono{color:var(--olive);padding-top:3px}
.have li.new{color:var(--ink);font-weight:600}
.paid li{display:block;padding-left:18px;position:relative}
.paid li::before{content:"";position:absolute;left:0;top:8px;width:7px;height:7px;border-radius:50%;background:var(--ink)}
.paid li:first-child::before{background:transparent;border:1.5px solid var(--ink);width:4px;height:4px}
.paid b{font-weight:600;color:var(--ink)}
@media (max-width:1100px){.cols{grid-template-columns:1fr}.thead,.r{grid-template-columns:1.2fr 1.2fr 56px 140px;padding-left:14px;padding-right:14px}.ledger{display:none}}


/* concept G · step card + the screen that proves it */
.story{height:600vh}
.cols{grid-template-columns:minmax(0,470px) minmax(0,1fr);gap:56px}
.cards{position:relative;height:100%;min-height:560px}
.card{position:absolute;inset:0 0 auto 0;will-change:transform,opacity,filter}
.ce{display:flex;justify-content:space-between;color:var(--muted)}
.ce b{color:var(--olive);font-weight:600;margin-right:6px}
.ch{font-weight:600;font-size:clamp(30px,2.6vw,38px);line-height:1.08;letter-spacing:-1px;margin-top:10px}
.ch .olive{display:block}
.cg{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:26px;padding-top:18px;border-top:1px solid var(--line)}
.cl{color:var(--muted);margin-bottom:10px}
.cg ul{list-style:none;display:grid;gap:10px}
.cg li{font-size:15px;line-height:1.45;padding-left:18px;position:relative;color:var(--body)}
.do li::before{content:"";position:absolute;left:0;top:9px;width:8px;height:1.5px;background:var(--ink)}
.get li{color:var(--ink);font-weight:500}
.get li::before{content:"";position:absolute;left:0;top:6px;width:9px;height:9px;border-radius:50%;background:var(--lime);box-shadow:0 0 0 3px rgba(210,254,69,.3)}
.cost{display:flex;gap:14px;align-items:baseline;margin-top:24px;padding:14px 16px;border-radius:10px;background:var(--white);border:1px solid var(--line);font-size:15px;font-weight:600}
.cost .mono{color:var(--olive);white-space:nowrap;font-weight:500}
.mode{min-height:34px}
@media (max-width:1100px){.cols{grid-template-columns:1fr}.cards{min-height:520px}.screen{display:none}}
/* the phase bar: its own band so it never gets lost under the content */
.stage{gap:36px}
.phases{list-style:none;display:grid;grid-template-columns:repeat(5,1fr);gap:6px;padding:6px;background:var(--white);border:1px solid var(--line);border-radius:16px;box-shadow:0 14px 34px -26px rgba(15,16,19,.35)}
.phases li{position:relative;display:flex;align-items:center;gap:12px;padding:12px 16px 14px;border-radius:11px;color:var(--muted);overflow:hidden;transition:background .45s var(--ease),color .45s var(--ease)}
.phases .pn{width:28px;height:28px;flex:none;border-radius:50%;display:grid;place-items:center;border:1px solid var(--line);color:var(--muted);transition:all .45s var(--ease)}
.phases .pt{display:grid;line-height:1.25;min-width:0}
.phases .pt b{font-weight:600;font-size:17px;letter-spacing:-.2px}
.phases .pt span{font-size:12.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.phases .pbar{position:absolute;left:16px;right:16px;bottom:6px;height:2px;border-radius:2px;background:transparent}
.phases .pbar i{position:absolute;inset:0;border-radius:2px;background:var(--lime);transform-origin:0 50%;transform:scaleX(0)}
.phases li.done{color:var(--ink)}
.phases li.done .pn{background:var(--chip);border-color:var(--chip);color:var(--olive)}
.phases li.done .pbar i{background:var(--olive);opacity:.35}
.phases li.on{background:var(--dark);color:var(--on-dark)}
.phases li.on .pn{background:var(--lime);border-color:var(--lime);color:var(--ink)}
.phases li.on .pt span{color:var(--on-dark-soft)}
.phases li.on .pbar{background:rgba(255,255,255,.12)}
@media (max-width:1100px){.phases .pt span{display:none}.phases li{padding:10px}.phases .pt b{font-size:14px}}
.ce{display:none}
.ch{margin-top:0}
/* more room between the phase bar and the step */
.stage{gap:52px}
/* industry tabs along the top of the screen */
.inds{display:flex;gap:4px;padding:8px 10px 0;border-bottom:1px solid var(--line);background:var(--card);overflow-x:auto}
.inds button{font-size:13.5px;font-weight:500;padding:8px 14px 10px;border-radius:9px 9px 0 0;color:var(--muted);position:relative;white-space:nowrap;transition:color .25s,background .25s}
.inds button:hover{color:var(--ink)}
.inds button[aria-selected="true"]{color:var(--ink);font-weight:600;background:var(--white);box-shadow:0 1px 0 var(--white),0 0 0 1px var(--line)}
.inds button[aria-selected="true"]::after{content:"";position:absolute;left:14px;right:14px;top:0;height:2px;border-radius:2px;background:var(--lime)}
.inds button:focus-visible{outline:2px solid var(--olive);outline-offset:-2px}
.screen .sh,.screen .rows,.screen .sf{transition:opacity .22s var(--ease),filter .22s var(--ease)}
.screen.swapping .sh,.screen.swapping .rows,.screen.swapping .sf{opacity:0;filter:blur(4px)}
.r{padding-top:10px;padding-bottom:10px}
.sh{padding-top:16px;padding-bottom:14px}
/* after the story */
.gx{padding:120px 0}
.gx-white{background:var(--white)}
.gx-two{display:grid;grid-template-columns:minmax(0,480px) minmax(0,1fr);gap:80px;align-items:start}
.gx-head .h2{margin-top:16px}
.gx-lead{margin-top:20px;color:var(--body);max-width:520px}
.lime{color:var(--lime)}
.gx-rv{opacity:0;transform:translateY(16px);filter:blur(8px);transition:opacity .8s var(--ease),transform .9s var(--ease),filter .8s var(--ease)}
.gx-rv.in{opacity:1;transform:none;filter:none}
/* discovery sizes */
.gx-tbl{border-top:1px solid var(--line)}
.gx-tr{display:grid;grid-template-columns:130px 1fr 1fr;gap:24px;padding:18px 0;border-bottom:1px solid var(--line);font-size:16px;align-items:baseline}
.gx-sub{margin:72px 0 18px}
.gx-four{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.gx-card{display:grid;gap:8px;align-content:start;padding:24px;border:1px solid var(--line);border-radius:var(--r-card);background:var(--card)}
.gx-card b{font-weight:600;font-size:19px;letter-spacing:-.2px}
.gx-card p{font-size:15px;color:var(--body);line-height:1.5}
.gx-notes{display:flex;gap:40px;flex-wrap:wrap;margin-top:24px}
.gx-notes p,.gx-note{display:flex;align-items:center;gap:10px;font-size:14.5px;color:var(--muted)}
.gx-notes i,.gx-note i{width:7px;height:7px;border-radius:50%;background:var(--lime);box-shadow:0 0 0 4px rgba(210,254,69,.3);flex:none}
/* toolkit */
.gx-kit{list-style:none;display:grid;grid-template-columns:repeat(5,1fr);gap:0;margin-top:56px;border-top:1px solid var(--ink)}
.gx-kit li{display:grid;gap:8px;align-content:start;padding:22px 22px 28px 0;border-bottom:1px solid var(--line)}
.gx-kit li:nth-child(n+6){padding-top:26px}
.gx-kit .label{color:var(--olive)}
.gx-kit b{font-weight:600;font-size:17px;letter-spacing:-.2px}
.gx-kit p{font-size:14.5px;color:var(--body);line-height:1.5}
.gx-kit .gx-key b{display:inline-flex;align-items:center;gap:8px}
.gx-kit .gx-key b::after{content:"";width:8px;height:8px;border-radius:50%;background:var(--lime);box-shadow:0 0 0 4px rgba(210,254,69,.3)}
/* dark band */
.gx-dark{background:var(--dark);color:var(--on-dark)}
.gx-soft{color:var(--on-dark-soft)}
.gx-dark .h2{margin-top:16px;color:var(--on-dark)}
.gx-gov{list-style:none;display:flex;flex-wrap:wrap;gap:8px;margin-top:32px}
.gx-gov li{font-size:14.5px;padding:7px 14px;border-radius:999px;border:1px solid var(--line-dark);color:var(--on-dark)}
.gx-dark .gx-note{margin-top:24px;color:var(--on-dark-soft)}
.gx-prom{list-style:none;margin-top:18px;border-top:1px solid var(--line-dark)}
.gx-prom li{display:grid;grid-template-columns:44px 1fr;gap:12px;align-items:baseline;padding:20px 0;border-bottom:1px solid var(--line-dark);font-weight:600;font-size:21px;letter-spacing:-.3px;line-height:1.3}
.gx-prom .label{color:var(--lime)}
/* faq */
.gx-ask{display:inline-block;margin-top:28px}
.gx-faq{border-top:1px solid var(--line)}
.gx-faq details{border-bottom:1px solid var(--line)}
.gx-faq summary{list-style:none;cursor:pointer;display:grid;grid-template-columns:44px 1fr 20px;gap:12px;align-items:baseline;padding:22px 0;font-weight:600;font-size:19px;letter-spacing:-.2px}
.gx-faq summary::-webkit-details-marker{display:none}
.gx-faq summary .label{color:var(--muted)}
.gx-faq summary::after{content:"+";font-weight:400;font-size:22px;color:var(--muted);transition:transform .3s var(--ease)}
.gx-faq details[open] summary::after{transform:rotate(45deg);color:var(--ink)}
.gx-faq details[open] summary .label{color:var(--olive)}
.gx-faq details p{padding:0 32px 24px 56px;color:var(--body);max-width:640px}
.gx-faq summary:focus-visible{outline:2px solid var(--olive);outline-offset:4px;border-radius:4px}
/* page end */
.gx-end{padding:110px 0 64px}
.gx-pe{display:flex;justify-content:space-between;align-items:flex-end;gap:40px;padding:48px;border-radius:var(--r-panel);background:var(--white);border:1px solid var(--line)}
.gx-pe .h2{margin-top:14px}
.gx-pe p{margin-top:16px;color:var(--body);max-width:520px}
.gx-cmp{display:flex;gap:20px;align-items:center;margin-top:48px;flex-wrap:wrap}
.gx-cmp .cmp{margin-top:0}
@media (max-width:1100px){.gx{padding:80px 0}.gx-two{grid-template-columns:1fr;gap:40px}.gx-four{grid-template-columns:1fr 1fr}.gx-kit{grid-template-columns:1fr 1fr}.gx-pe{flex-direction:column;align-items:flex-start;padding:32px}}


/* ===== inner pages ===== */
.nav ul a[aria-current]{color:var(--ink);font-weight:600}
.olive{color:var(--olive)}
.lime{color:var(--lime)}
.muted{color:var(--muted)}
.gx-rv.in{transition-delay:0s}
/* page hero */
.phero{padding:96px 0 88px;position:relative}
.phero .wrap{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,520px);gap:80px;align-items:center}
.phero h1{margin-top:22px}
.phero .lead{margin-top:24px;max-width:600px;color:var(--body)}
.phero .acts{display:flex;gap:22px;align-items:center;flex-wrap:wrap;margin-top:36px}
.phero .note{display:flex;gap:10px;align-items:center;margin-top:28px;font-size:14.5px;color:var(--muted)}
.phero .note i,.dotnote i{width:7px;height:7px;border-radius:50%;background:var(--lime);box-shadow:0 0 0 4px rgba(210,254,69,.3);flex:none}
.dotnote{display:flex;gap:10px;align-items:center;font-size:14.5px;color:var(--muted)}
.textlink{font-family:"Archivo Narrow",sans-serif;font-weight:500;font-size:12px;letter-spacing:1.6px;text-transform:uppercase;color:var(--olive)}
.textlink:hover{color:var(--ink)}
.gx-head .h2,.gx-head h2{margin-top:16px}
.sec-gap{margin-top:64px}
/* glyphs, drawn dot by dot when they arrive */
.glyph .dg circle{opacity:0;transition:opacity .4s var(--ease) calc(var(--i) * 18ms)}
.glyph.lit .dg circle{opacity:1}
.glyph.lit .dg .p{animation:pulse 2.6s var(--ease) 1.2s infinite}
@keyframes pulse{0%,100%{transform:scale(1)}50%{transform:scale(1.9)}}
.glyph-l .dg{width:84px;height:84px}
.glyph-m .dg{width:44px;height:44px}
/* journey screen + stepper */
.journey .screen{box-shadow:0 22px 50px -32px rgba(15,16,19,.35)}
.jsteps{position:relative;display:grid;grid-template-columns:repeat(5,1fr);gap:6px;margin-top:14px;padding-top:12px}
.jsteps button{display:flex;gap:8px;align-items:baseline;justify-content:center;padding:10px 8px;border-radius:999px;font-size:14px;font-weight:500;color:var(--muted);border:1px solid var(--line);background:var(--white);transition:background .3s,color .3s,border-color .3s}
.jsteps button .mono{color:inherit;opacity:.7}
.jsteps button:hover{color:var(--ink);border-color:rgba(15,16,19,.3)}
.jsteps button.done{color:var(--ink)}
.jsteps button.on{background:var(--dark);border-color:var(--dark);color:var(--on-dark)}
.jsteps button.on .mono{color:var(--lime);opacity:1}
.jsteps button:focus-visible{outline:2px solid var(--olive);outline-offset:2px}
.jbar{position:absolute;left:0;right:0;top:0;height:2px;background:var(--line);border-radius:2px;overflow:hidden}
.jbar i{position:absolute;inset:0;background:var(--olive);transform-origin:0 50%;transform:scaleX(.2);transition:transform .6s var(--ease)}
.jwrap{display:grid;grid-template-columns:minmax(0,400px) minmax(0,1fr);gap:64px;align-items:start;margin-top:56px}
.jwrap.jtop{grid-template-columns:minmax(0,440px) minmax(0,1fr);margin-top:0}
.jwrap.jtop .jside{margin-top:44px}
.jside{display:grid;gap:22px;position:sticky;top:120px}
.jside ol{list-style:none;display:grid;gap:14px;counter-reset:j}
.jside li{display:grid;grid-template-columns:28px 1fr;gap:12px;font-size:15.5px;line-height:1.5;color:var(--body)}
.jside li b{color:var(--ink);font-weight:600}
.jside li span.mono{color:var(--olive);padding-top:3px}
/* five kinds of work */
.wt{display:grid;grid-template-columns:120px minmax(0,1fr) minmax(0,420px);gap:48px;padding:48px 0;border-top:1px solid var(--line);align-items:start}
.wt:last-child{border-bottom:1px solid var(--line)}
.wt .h3{margin-top:4px}
.wt p.d{margin-top:12px;color:var(--body);max-width:520px}
.wt .appr{display:flex;gap:10px;align-items:baseline;margin-top:22px;font-size:14.5px;color:var(--ink);font-weight:500}
.wt .appr .label{color:var(--olive);white-space:nowrap}
.ex{list-style:none;display:grid;gap:0;border-top:1px solid var(--line)}
.ex li{display:grid;grid-template-columns:1fr auto;gap:16px;align-items:baseline;padding:13px 0;border-bottom:1px solid var(--line);font-size:15px}
.ex li span{font-family:"Archivo Narrow",sans-serif;font-weight:500;font-size:11.5px;letter-spacing:1.2px;text-transform:uppercase;color:var(--muted);white-space:nowrap}
.wt-num{font-family:"Archivo Narrow",sans-serif;font-weight:500;font-size:12px;letter-spacing:1.6px;color:var(--olive);margin-top:14px;display:block}
/* industry cards */
.icards{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:56px}
.icard{position:relative;display:grid;gap:14px;align-content:start;padding:28px;border:1px solid var(--line);border-radius:var(--r-card);background:var(--white);transition:transform .35s var(--ease),box-shadow .35s var(--ease),border-color .35s}
.icard:hover{transform:translateY(-4px);box-shadow:0 22px 44px -30px rgba(15,16,19,.4);border-color:rgba(15,16,19,.2)}
.icard .h3{display:flex;justify-content:space-between;align-items:baseline;gap:12px}
.icard .h3 .arr{font-weight:400;color:var(--muted);transition:transform .3s var(--ease),color .3s}
.icard:hover .h3 .arr{transform:translateX(4px);color:var(--ink)}
.icard p{font-size:15px;color:var(--body);line-height:1.5}
.icard .proc{display:flex;justify-content:space-between;align-items:center;gap:12px;padding-top:14px;border-top:1px solid var(--line)}
.icard .proc .mono{color:var(--muted)}
.mins{display:flex;align-items:baseline;gap:8px;font-weight:600;font-size:15px;white-space:nowrap}
.mins s{text-decoration:none;color:var(--muted);font-weight:500}
.mins b{font-size:22px;color:var(--olive);letter-spacing:-.5px}
.icard.other{background:transparent;border-style:dashed;align-content:center}
/* systems around the key record */
.hub{display:grid;grid-template-columns:1fr 220px 1fr;gap:0;align-items:center;margin-top:56px}
.hub ul{list-style:none;display:grid;gap:12px}
.hub li{position:relative;padding:14px 18px;border:1px solid var(--line);border-radius:12px;background:var(--white);font-size:15px;font-weight:500}
.hub li small{display:block;font-weight:400;font-size:13px;color:var(--muted);margin-top:2px}
.hub .L li{margin-right:40px}.hub .R li{margin-left:40px}
.hub .L li::after,.hub .R li::after{content:"";position:absolute;top:50%;width:40px;height:1.5px;background:var(--ink);transform:scaleX(0);transition:transform .6s var(--ease) .4s}
.hub .L li::after{left:100%;transform-origin:0 50%}.hub .R li::after{right:100%;transform-origin:100% 50%}
.hub.in li::after{transform:scaleX(1)}
.hub .core{position:relative;aspect-ratio:1;border-radius:50%;display:grid;place-items:center;text-align:center}
.hub .core svg{position:absolute;inset:0;width:100%;height:100%;animation:spin 40s linear infinite}
.hub .core b{display:block;font-weight:600;font-size:22px;letter-spacing:-.4px}
.hub .core .mono{color:var(--olive)}
@keyframes spin{to{transform:rotate(360deg)}}
/* rules list */
.rules{list-style:none;border-top:1px solid var(--line-dark)}
.rules li{display:grid;grid-template-columns:44px 1fr;gap:12px;padding:18px 0;border-bottom:1px solid var(--line-dark);font-size:18px;font-weight:500;line-height:1.4;color:var(--on-dark)}
.rules li .label{color:var(--lime);padding-top:4px}
/* how it starts */
.flow{position:relative;display:grid;grid-template-columns:repeat(4,1fr);gap:24px;margin-top:56px}
.flow::before{content:"";position:absolute;left:7px;right:7px;top:7px;height:0;border-top:2px dotted rgba(15,16,19,.35)}
.flow > div{position:relative;display:grid;gap:10px;padding-top:34px}
.flow > div::before{content:"";position:absolute;left:0;top:0;width:14px;height:14px;border-radius:50%;background:var(--ink);box-shadow:0 0 0 5px var(--cream)}
.flow > div:first-child::before{background:var(--lime);box-shadow:0 0 0 5px var(--cream),0 0 0 9px rgba(210,254,69,.35)}
.flow b{font-weight:600;font-size:19px;letter-spacing:-.2px}
.flow p{font-size:15px;color:var(--body);line-height:1.5}
.flow .label{color:var(--olive)}
/* Watch · Review · Improve · Report */
.jobs{display:grid;grid-template-columns:repeat(4,1fr);gap:0;margin-top:56px;border-top:1px solid var(--ink)}
.jobs > div{padding:26px 24px 30px 0;display:grid;gap:10px;align-content:start}
.jobs b{font-weight:600;font-size:22px;letter-spacing:-.4px}
.jobs p{font-size:15px;color:var(--body);line-height:1.55}
.jobs .label{color:var(--olive)}
/* a month of Run, as cadences of dots */
.rhythm{display:grid;gap:0;margin-top:56px;border-top:1px solid var(--line)}
.rhythm > div{display:grid;grid-template-columns:150px minmax(0,1fr) minmax(0,380px);gap:40px;align-items:center;padding:24px 0;border-bottom:1px solid var(--line)}
.rhythm .when{font-weight:600;font-size:20px;letter-spacing:-.2px}
.rhythm p{font-size:15px;color:var(--body);line-height:1.55}
.cad{display:grid;grid-template-columns:repeat(31,1fr);gap:4px}
.cad span{aspect-ratio:1;border-radius:50%;background:var(--chip);transition:background .3s,transform .3s}
.cad span.on{background:var(--ink)}
.cad span.mark.on{background:var(--lime);transform:scale(1.45);box-shadow:0 0 0 3px rgba(210,254,69,.35)}
/* plans */
.plans{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:56px}
.rplan{display:grid;gap:18px;align-content:start;padding:30px;border:1px solid var(--line);border-radius:var(--r-card);background:var(--white)}
.rplan.mid{background:var(--dark);color:var(--on-dark);border-color:var(--dark)}
.rplan .h3{display:flex;justify-content:space-between;align-items:baseline}
.rplan .fit{font-size:15.5px;line-height:1.5;color:var(--body)}
.rplan.mid .fit{color:var(--on-dark-soft)}
.rplan ul{list-style:none;display:grid;gap:0;border-top:1px solid var(--line)}
.rplan.mid ul{border-color:var(--line-dark)}
.rplan li{display:flex;justify-content:space-between;gap:12px;padding:11px 0;border-bottom:1px solid var(--line);font-size:14.5px}
.rplan.mid li{border-color:var(--line-dark)}
.rplan li span:first-child{color:var(--muted)}
.rplan.mid li span:first-child{color:var(--on-dark-soft)}
.rplan li span:last-child{font-weight:600;text-align:right}
.rplan .slots{display:flex;gap:5px}
.rplan .slots i{width:12px;height:12px;border-radius:50%;border:1.5px solid currentColor;opacity:.35}
.rplan .slots i.f{background:var(--ink);border-color:var(--ink);opacity:1}
.rplan.mid .slots i.f{background:var(--lime);border-color:var(--lime)}
/* response targets */
.targets{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:56px}
.target{padding:30px;border-radius:var(--r-card);border:1px solid var(--line);background:var(--white);display:grid;gap:18px;align-content:start}
.target.crit{border-color:rgba(74,125,10,.4)}
.target ol{list-style:none;display:grid;gap:0;border-top:1px solid var(--line)}
.target li{display:grid;grid-template-columns:150px 1fr;gap:16px;padding:14px 0;border-bottom:1px solid var(--line);font-size:15px}
.target li b{font-weight:600}
.target .label.olive{display:flex;gap:8px;align-items:center}
/* sample monthly report */
.sheet{position:relative;background:var(--white);border:1px solid var(--line);border-radius:12px;padding:30px 32px;box-shadow:0 30px 60px -40px rgba(15,16,19,.45);transform:rotate(-.6deg)}
.sheet .top{display:flex;justify-content:space-between;align-items:baseline;padding-bottom:16px;border-bottom:1px solid var(--ink)}
.sheet .big{display:flex;gap:16px;align-items:baseline;padding:20px 0;border-bottom:1px solid var(--line)}
.sheet .big b{font-weight:600;font-size:52px;letter-spacing:-2px;line-height:1;color:var(--olive)}
.sheet .big p{font-size:14.5px;color:var(--body);line-height:1.45}
.sheet dl{display:grid;grid-template-columns:110px 1fr;gap:0}
.sheet dt,.sheet dd{padding:11px 0;border-bottom:1px solid var(--line);font-size:14px}
.sheet dt{font-family:"Archivo Narrow",sans-serif;font-weight:500;font-size:11.5px;letter-spacing:1.2px;text-transform:uppercase;color:var(--muted);padding-top:13px}
.sheet dd{color:var(--ink)}
.stamp{position:absolute;right:22px;bottom:-14px;background:var(--lime);border-radius:999px;padding:6px 14px;font-weight:600;font-size:13px;transform:rotate(2deg)}
/* ownership */
.owns{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border-top:1px solid var(--line-dark);margin-top:40px}
.owns div{display:flex;gap:14px;align-items:center;padding:22px 20px 22px 0;border-bottom:1px solid var(--line-dark);font-size:18px;font-weight:500}
.owns i{width:10px;height:10px;border-radius:50%;background:var(--lime);box-shadow:0 0 0 4px rgba(210,254,69,.25);flex:none}
/* walk-through clock */
.clock30{display:grid;grid-template-columns:repeat(30,1fr);gap:6px}
.clock30 span{aspect-ratio:1;border-radius:50%;background:var(--chip);transition:background .3s,transform .3s}
.clock30 span.on{background:var(--ink)}
.clock30 span.mark.on{background:var(--lime);transform:scale(1.4);box-shadow:0 0 0 4px rgba(210,254,69,.3)}
.agenda{display:grid;grid-template-columns:5fr 15fr 5fr 5fr;gap:6px;margin-top:18px}
.agenda > div{border-top:2px solid var(--ink);padding-top:14px;display:grid;gap:6px;align-content:start}
.agenda .mono{color:var(--olive)}
.agenda b{font-weight:600;font-size:17px}
.agenda p{font-size:14.5px;color:var(--body);line-height:1.5}
.clockcap{display:flex;justify-content:space-between;margin-top:12px}
.exits3{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:40px}
.exits3 > div{padding:26px;border-radius:var(--r-card);border:1px solid var(--line);background:var(--white);display:grid;gap:8px;align-content:start}
.exits3 > div:first-child{background:var(--lime);border-color:var(--lime)}
.exits3 b{font-weight:600;font-size:20px;letter-spacing:-.2px}
.exits3 p{font-size:15px;color:var(--body)}
.exits3 > div:first-child p{color:var(--ink)}
.ready{list-style:none;display:grid;gap:0;border-top:1px solid var(--line)}
.ready li{display:grid;grid-template-columns:44px 1fr;gap:12px;padding:20px 0;border-bottom:1px solid var(--line)}
.ready b{display:block;font-weight:600;font-size:18px;letter-spacing:-.2px}
.ready p{font-size:15px;color:var(--body);margin-top:4px}
.ready .label{color:var(--olive);padding-top:5px}
.field.bad input{border-color:#b4462b}
.field.bad label{color:#b4462b}
.book{display:grid;grid-template-columns:minmax(0,1fr) 460px;gap:64px;align-items:start}
.book .alt{display:grid;gap:10px;margin-top:28px}
.book .alt a{font-weight:600}
/* scorecard */
.dial{position:relative;width:200px;height:200px;flex:none}
.dial svg{width:100%;height:100%;transform:rotate(-90deg)}
.dial .n{position:absolute;inset:0;display:grid;place-content:center;text-align:center}
.dial .n b{font-weight:600;font-size:54px;letter-spacing:-2px;line-height:1}
.dial .n span{font-size:13px;color:var(--muted)}
.result{background:var(--white);border:1px solid var(--line);border-radius:14px;padding:32px;box-shadow:0 30px 60px -40px rgba(15,16,19,.45)}
.result .top{display:flex;justify-content:space-between;align-items:baseline;padding-bottom:16px;border-bottom:1px solid var(--ink)}
.result .row1{display:flex;gap:32px;align-items:center;padding:24px 0;border-bottom:1px solid var(--line)}
.result .procs{list-style:none;display:grid;gap:0}
.result .procs li{display:grid;grid-template-columns:28px 1fr auto;gap:12px;align-items:baseline;padding:12px 0;border-bottom:1px solid var(--line);font-size:15px}
.result .procs li .mono{color:var(--olive)}
.result .procs li b{font-weight:600}
.result .procs li span:last-child{font-size:13.5px;color:var(--muted)}
.result .read{display:flex;gap:12px;align-items:center;margin-top:20px;padding:14px 16px;border-radius:10px;background:var(--lime);font-weight:600}
.qs10{list-style:none;display:grid;grid-template-columns:1fr 1fr;gap:0 48px;border-top:1px solid var(--line)}
.qs10 li{display:grid;grid-template-columns:44px 1fr;gap:12px;padding:18px 0;border-bottom:1px solid var(--line);font-size:17px;font-weight:500;line-height:1.4}
.qs10 li .label{color:var(--olive);padding-top:4px}
.gets{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:48px}
.gets > div{display:grid;gap:10px;align-content:start;padding:24px;border-radius:var(--r-card);border:1px solid var(--line);background:var(--card)}
.gets b{font-weight:600;font-size:18px;letter-spacing:-.2px}
.gets p{font-size:14.5px;color:var(--body);line-height:1.5}
/* about */
.story{max-width:none}
.story-cols{display:grid;grid-template-columns:minmax(0,480px) minmax(0,1fr);gap:80px}
.story-cols p{font-size:19px;line-height:1.6;color:var(--body)}
.story-cols p + p{margin-top:18px}
.years{display:grid;grid-template-columns:repeat(6,1fr);gap:0;margin-top:48px;border-top:1px solid var(--ink)}
.years > div{padding:18px 16px 0 0;display:grid;gap:6px}
.years .mono{color:var(--muted)}
.years b{font-weight:600;font-size:16px}
.years > div.now .mono{color:var(--olive)}
.years > div.now b::after{content:"";display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--lime);margin-left:8px;box-shadow:0 0 0 4px rgba(210,254,69,.3);vertical-align:middle}
.founder2{display:grid;grid-template-columns:440px minmax(0,1fr);gap:80px;align-items:center}
.founder2 canvas{width:100%;max-width:440px;height:auto;aspect-ratio:440/520}
.team3{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:48px}
.team3 > div{display:grid;gap:12px;align-content:start;padding:28px;border-radius:var(--r-card);background:var(--white);border:1px solid var(--line)}
.team3 b{font-weight:600;font-size:20px;letter-spacing:-.2px}
.team3 p{font-size:15px;color:var(--body);line-height:1.5}
.contact3{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:40px}
.contact3 > div{padding:24px 0;border-top:1px solid var(--ink);display:grid;gap:8px}
.contact3 b{font-weight:600;font-size:19px}
@media (max-width:1100px){
  .phero .wrap,.jwrap,.wt,.book,.founder2,.story-cols,.rhythm > div{grid-template-columns:1fr;gap:28px}
  .jside{position:static}
  .icards,.plans,.team3,.contact3,.exits3,.owns,.targets{grid-template-columns:1fr}
  .gets,.jobs,.flow{grid-template-columns:1fr 1fr}
  .hub{grid-template-columns:1fr;gap:16px}.hub .L li,.hub .R li{margin:0}.hub li::after{display:none}.hub .core{max-width:200px;margin:0 auto}
  .qs10{grid-template-columns:1fr}
  .agenda{grid-template-columns:1fr 1fr}
  .years{grid-template-columns:1fr 1fr}
  .jsteps{grid-template-columns:repeat(5,minmax(0,1fr))}.jsteps button{font-size:12px;padding:8px 4px}.jsteps .mono{display:none}
}
@media (prefers-reduced-motion:reduce){.hub .core svg{animation:none}.glyph.lit .dg .p{animation:none}}
/* what we run: hero glyph grid */
.wtgrid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}
.wtcell{display:flex;align-items:center;gap:16px;padding:18px;border:1px solid var(--line);border-radius:var(--r-card);background:var(--white);font-weight:600;font-size:15.5px;line-height:1.3;transition:transform .3s var(--ease),border-color .3s}
.wtcell:hover{transform:translateY(-3px);border-color:rgba(15,16,19,.25)}
.wtcell:last-child{grid-column:span 2}
/* industry hero stat */
.istat{display:grid;gap:14px;padding:36px;border-radius:var(--r-panel);background:var(--white);border:1px solid var(--line);box-shadow:0 30px 60px -44px rgba(15,16,19,.45)}
.mins.big{gap:18px;align-items:center}
.mins.big s{font-size:64px;letter-spacing:-2px;line-height:1}
.mins.big span{font-size:30px;color:var(--muted);font-weight:400}
.mins.big b{font-size:96px;letter-spacing:-4px;line-height:1}
.istat p{color:var(--body);font-size:16px}
.worklist{list-style:none;border-top:1px solid var(--line)}
.worklist li{display:grid;grid-template-columns:44px 1fr;gap:12px;padding:20px 0;border-bottom:1px solid var(--line)}
.worklist b{font-weight:600;font-size:19px;letter-spacing:-.2px}
.worklist p{font-size:15px;color:var(--body);margin-top:4px;line-height:1.5}
.worklist .label{color:var(--olive);padding-top:5px}
/* run: the loop */
.loop{position:relative;width:100%;max-width:440px;aspect-ratio:1;margin-left:auto}
.loop svg{position:absolute;inset:0;width:100%;height:100%}
.loop .orbit{transform-origin:220px 220px;animation:spin 9s linear infinite}
.loop .lj{position:absolute;transform:translate(-50%,-50%);background:var(--cream);padding:4px 10px}
.loop .lj b{font-weight:600;font-size:18px}
.loop .lj0{left:50%;top:11.4%}.loop .lj1{left:88.6%;top:50%}.loop .lj2{left:50%;top:88.6%}.loop .lj3{left:11.4%;top:50%}
.loop .lc{position:absolute;inset:0;display:grid;place-content:center;text-align:center}
.loop .lc .mono{color:var(--olive)}
.loop .lc b{font-weight:600;font-size:44px;letter-spacing:-1.5px}
.target .pip{width:8px;height:8px;border-radius:50%;background:var(--lime);box-shadow:0 0 0 4px rgba(210,254,69,.3)}
/* about: at a glance */
.glance{list-style:none;border-top:1px solid var(--ink)}
.glance li{display:grid;grid-template-columns:140px 1fr;gap:16px;padding:20px 0;border-bottom:1px solid var(--line);align-items:baseline}
.glance .mono{color:var(--muted)}
.glance b{font-weight:600;font-size:22px;letter-spacing:-.4px}
/* scorecard: the question card */
.qcard{display:grid;gap:22px;padding:32px;border-radius:var(--r-panel);background:var(--white);border:1px solid var(--line);box-shadow:0 30px 60px -44px rgba(15,16,19,.45)}
.qtop{display:flex;gap:16px;align-items:center}
.qbar{flex:1;height:4px;border-radius:2px;background:var(--chip);position:relative;overflow:hidden}
.qbar i{position:absolute;inset:0;width:30%;background:var(--ink);border-radius:2px}
.qopts{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.qopts span{padding:14px 16px;border:1px solid var(--line);border-radius:12px;font-size:15px;font-weight:500}
.qopts span.on{border:1.5px solid var(--ink);background:var(--lime)}
.qfoot{display:flex;justify-content:space-between;align-items:center}
.phero .form{box-shadow:0 30px 60px -44px rgba(15,16,19,.45)}
.gx-dark .gx-prom li{color:var(--on-dark)}
@media (max-width:1100px){.mins.big s{font-size:44px}.mins.big b{font-size:64px}.loop{margin:0 auto;max-width:340px}.glance li{grid-template-columns:1fr}}
@media (prefers-reduced-motion:reduce){.loop .orbit{animation:none}}
/* hero titles keep each line whole (the accent rule), so they size to fit instead of wrapping */
@media (min-width:1101px){.phero .wrap{grid-template-columns:minmax(0,1fr) minmax(0,440px);gap:64px}}
@media (min-width:1101px){.phero h1{white-space:nowrap;font-size:clamp(40px,3.5vw,56px)}}
/* the 30-minute clock: small dots, each sitting at its minute so the agenda below lines up */
.clock30 span{width:14px;height:14px;aspect-ratio:auto;justify-self:start}
@media (max-width:1100px){.clock30 span{width:8px;height:8px}}
/* ===== route map (industry pages) ===== */
.route{background:var(--white);border:1px solid var(--line);border-radius:var(--r-panel);padding:28px 32px 18px;box-shadow:0 30px 60px -44px rgba(15,16,19,.45)}
.rt-top{display:flex;justify-content:space-between;align-items:center;gap:24px;flex-wrap:wrap}
.rt-modes{display:inline-flex;padding:4px;border-radius:999px;background:var(--chip)}
.rt-modes button{padding:9px 18px;border-radius:999px;font-size:14.5px;font-weight:500;color:var(--muted);transition:background .3s,color .3s}
.rt-modes button[aria-pressed="true"]{background:var(--dark);color:var(--on-dark)}
.route[data-mode="us"] .rt-modes button[aria-pressed="true"]{background:var(--lime);color:var(--ink)}
.rt-modes button:focus-visible{outline:2px solid var(--olive);outline-offset:2px}
.rt-clock{display:flex;align-items:center;gap:12px}
.rt-clock b{font-weight:600;font-size:56px;letter-spacing:-2px;line-height:1;font-variant-numeric:tabular-nums;min-width:2ch;text-align:right}
.route[data-mode="us"] .rt-clock b{color:var(--olive)}
.rt-clock > span{display:grid;gap:2px}
.rt-sub{font-size:13px;color:var(--muted)}
.rt-track{position:relative;height:250px;margin-top:22px}
.rt-line{position:absolute;left:0;right:0;top:92px;width:100%;height:10px;overflow:visible}
.rt-line line{stroke:var(--ink);stroke-width:2;stroke-linecap:round;stroke-dasharray:.01 1.6;vector-effect:non-scaling-stroke;stroke-opacity:.35}
.rt-line .rt-done{stroke-dasharray:none;stroke-opacity:1;transition:all linear}
.route[data-mode="us"] .rt-line .rt-done{stroke:var(--olive)}
.rt-st{position:absolute;top:0;transform:translateX(-50%);width:19%;display:grid;justify-items:center;text-align:center;gap:6px}
.rt-rec{position:relative;height:28px;display:grid;place-items:center;margin-top:44px}
.rt-rec > *{grid-area:1/1;white-space:nowrap;font-size:13px;transition:opacity .35s,transform .45s var(--ease)}
.rt-rec s{color:#a2552f;text-decoration:none;font-style:italic}
.rt-rec em{font-style:normal;font-weight:600;background:var(--lime);border-radius:999px;padding:3px 10px;opacity:0;transform:translateY(6px)}
.route[data-mode="us"] .rt-rec s{opacity:0}
.route[data-mode="us"] .rt-rec em{opacity:1;transform:none}
.rt-node{width:16px;height:16px;border-radius:50%;background:var(--white);border:2px solid var(--ink);margin-top:4px;transition:background .3s,transform .3s,box-shadow .3s}
.rt-st.appr .rt-node{border-color:var(--olive)}
.rt-st.hit .rt-node{background:var(--ink);transform:scale(1.15)}
.route[data-mode="us"] .rt-st.hit .rt-node{background:var(--lime);border-color:var(--ink)}
.route[data-mode="us"] .rt-st.appr.hold .rt-node{box-shadow:0 0 0 6px rgba(74,125,10,.25),0 0 0 12px rgba(210,254,69,.3)}
.rt-tag{min-height:20px;font-size:12.5px;font-weight:600;color:var(--body);opacity:0;transform:translateY(-4px);transition:opacity .3s,transform .3s}
.rt-st.hit .rt-tag{opacity:1;transform:none}
.route[data-mode="us"] .rt-st.hit .rt-tag{color:var(--muted);font-weight:500}
.route[data-mode="us"] .rt-st.hold .rt-tag{color:var(--olive);font-weight:600}
.rt-st b{font-weight:600;font-size:15px;line-height:1.25}
.rt-st small{font-size:12.5px;color:var(--muted);line-height:1.35}
.rt-token{position:absolute;top:89px;left:8%;width:20px;height:20px;margin-left:-10px;border-radius:50%;background:var(--ink);box-shadow:0 6px 14px -6px rgba(15,16,19,.6);transition-property:left;transition-timing-function:cubic-bezier(.65,0,.35,1);z-index:2}
.route[data-mode="us"] .rt-token{background:var(--lime);box-shadow:0 0 0 6px rgba(210,254,69,.35),0 0 18px rgba(210,254,69,.8)}
.rt-cap{margin-top:6px}
.routewrap{margin-top:56px}
@media (max-width:1100px){.rt-track{height:auto;display:grid;gap:14px}.rt-line,.rt-token{display:none}.rt-st{position:static;transform:none;width:auto;grid-template-columns:auto 1fr;justify-items:start;text-align:left;column-gap:12px}.rt-rec{margin:0;grid-row:span 2}.rt-node,.rt-tag{display:none}}
/* ===== industries hero: cords into one ring ===== */
.cordfig svg{width:100%;height:auto;overflow:visible}
.cf-cord{fill:none;stroke:var(--ink);stroke-width:1.4;stroke-opacity:.55}
.cf-ring{fill:none;stroke:var(--ink);stroke-width:3;stroke-linecap:round;stroke-dasharray:.01 9}
.cf-ring2{fill:none;stroke:var(--ink);stroke-opacity:.3;stroke-width:2;stroke-linecap:round;stroke-dasharray:.01 10}
.cf-step{fill:var(--cream);stroke:var(--ink);stroke-width:2;transition:fill .25s}
.cf-step.lit{fill:var(--lime)}
.cf-lap{fill:var(--lime);filter:drop-shadow(0 0 6px rgba(210,254,69,.9))}
.cf-pulse{fill:var(--lime)}
.cf-halo{fill:rgba(210,254,69,.35)}
.cf-c1{font:600 20px Archivo,sans-serif;text-anchor:middle;fill:var(--ink);letter-spacing:-.3px}
.cf-c2{font:500 10px "Archivo Narrow",sans-serif;letter-spacing:1.4px;text-anchor:middle;fill:var(--olive)}
.cf-name{font:600 18px Archivo,sans-serif;fill:var(--muted);letter-spacing:-.2px;transition:fill .3s}
.cf-name.on{fill:var(--ink)}
.cf-rec{font:500 10.5px "Archivo Narrow",sans-serif;letter-spacing:1.2px;fill:var(--muted)}
.cf-min{font:600 13px Archivo,sans-serif;fill:var(--muted)}
.cf-min.on{fill:var(--olive)}
/* ===== about ===== */
.ahero{padding:72px 0 40px}
.ahero .wrap{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,460px);gap:72px;align-items:center}
.ahero .facts{display:flex;flex-wrap:wrap;gap:8px 22px;margin-top:28px;font-family:"Archivo Narrow",sans-serif;font-weight:500;font-size:12px;letter-spacing:1.4px;text-transform:uppercase;color:var(--muted)}
.ahero .facts span::before{content:"";display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--ink);margin-right:10px;vertical-align:middle}
.ahero .facts span:first-child::before{background:var(--lime);box-shadow:0 0 0 3px rgba(210,254,69,.35)}
.ahero figure{position:relative}
.ahero canvas{width:100%;height:auto;aspect-ratio:440/520;display:block}
.ahero figcaption{display:flex;justify-content:space-between;align-items:baseline;gap:16px;padding-top:14px;border-top:1px solid var(--ink)}
.ahero figcaption b{font-weight:600;font-size:17px}
.manifesto{padding:120px 0 100px}
.manifesto p{font-weight:600;font-size:clamp(30px,3.3vw,48px);line-height:1.16;letter-spacing:-1.2px;max-width:1120px}
.manifesto .w{color:rgba(15,16,19,.14);transition:color .35s var(--ease)}
.manifesto .w.on{color:var(--ink)}
.manifesto .olive .w.on{color:var(--olive)}
.manifesto .sig{display:flex;gap:14px;align-items:center;margin-top:40px}
.tline{position:relative;padding:20px 0 0;--p:0}
.tline .track{position:relative;height:2px;margin:0 7px;background:repeating-linear-gradient(90deg,rgba(15,16,19,.35) 0 2px,transparent 2px 9px)}
.tline .track::after{content:"";position:absolute;left:0;top:0;height:2px;width:calc(var(--p) * 100%);background:var(--ink)}
.tline .pulse{position:absolute;top:13px;left:calc(var(--p) * (100% - 14px));width:16px;height:16px;border-radius:50%;background:var(--lime);box-shadow:0 0 0 6px rgba(210,254,69,.35),0 0 18px rgba(210,254,69,.8)}
.tline .stops{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;margin-top:-9px}
.tline .stop{position:relative;padding-top:34px;display:grid;gap:8px;align-content:start}
.tline .stop::before{content:"";position:absolute;left:0;top:0;width:14px;height:14px;border-radius:50%;background:var(--cream);border:2px solid var(--ink);transition:background .3s}
.tline .stop.on::before{background:var(--ink)}
.tline .stop:last-child.on::before{background:var(--lime)}
.tline .yr{font-weight:600;font-size:clamp(34px,3.6vw,54px);letter-spacing:-1.5px;line-height:1;color:rgba(15,16,19,.18);transition:color .5s var(--ease)}
.tline .stop.on .yr{color:var(--ink)}
.tline .stop:last-child.on .yr{color:var(--olive)}
.tline .stop p{font-size:15.5px;line-height:1.5;color:var(--body);max-width:260px}
.crew{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,460px);gap:80px;align-items:center}
.crew ol{list-style:none;margin-top:40px;border-top:1px solid var(--line)}
.crew li{display:grid;grid-template-columns:48px 1fr;gap:12px;padding:22px 0;border-bottom:1px solid var(--line);transition:padding .4s var(--ease)}
.crew li .label{color:var(--muted);padding-top:6px;transition:color .3s}
.crew li b{font-weight:600;font-size:24px;letter-spacing:-.4px;color:var(--muted);transition:color .4s}
.crew li p{font-size:15.5px;color:var(--body);margin-top:6px;line-height:1.5;max-height:0;overflow:hidden;opacity:0;transition:max-height .5s var(--ease),opacity .4s}
.crew li.on{padding-left:8px}
.crew li.on b{color:var(--ink)}
.crew li.on .label{color:var(--olive)}
.crew li.on p{max-height:80px;opacity:1}
.orbit3{position:relative;aspect-ratio:1;width:100%}
.orbit3 svg{position:absolute;inset:0;width:100%;height:100%}
.orbit3 .spin{transform-origin:230px 230px;animation:spin 9s linear infinite}
.orbit3 .core{position:absolute;inset:32%;border-radius:50%;background:var(--dark);color:var(--on-dark);display:grid;place-content:center;text-align:center;gap:4px}
.orbit3 .core .mono{color:var(--lime)}
.orbit3 .core b{font-weight:600;font-size:22px;letter-spacing:-.4px}
.orbit3 .who{position:absolute;transform:translate(-50%,-50%);background:var(--white);padding:6px 12px;border-radius:999px;border:1px solid var(--line);font-size:13.5px;font-weight:600;white-space:nowrap}
.bigrules{list-style:none;margin-top:48px;border-top:1px solid var(--line-dark)}
.bigrules li{display:grid;grid-template-columns:80px 1fr;gap:16px;align-items:baseline;padding:30px 0;border-bottom:1px solid var(--line-dark);font-weight:600;font-size:clamp(26px,2.8vw,40px);letter-spacing:-1px;line-height:1.15;color:var(--on-dark)}
.bigrules li .label{color:var(--lime)}
.bigrules li em{font-style:normal;color:var(--lime)}
.reach{display:grid;grid-template-columns:repeat(3,1fr);gap:40px;margin-top:56px;border-top:1px solid var(--ink);padding-top:28px}
.reach > div{display:grid;gap:10px;align-content:start}
.reach .mono{color:var(--muted)}
.reach a.big,.reach .big{font-weight:600;font-size:clamp(22px,2vw,30px);letter-spacing:-.6px;line-height:1.2;background:linear-gradient(var(--lime),var(--lime)) 0 100%/0 6px no-repeat;transition:background-size .4s var(--ease)}
.reach a.big:hover{background-size:100% 6px}
.reach .pin{display:inline-flex;align-items:center;gap:10px}
.reach .pin i{width:10px;height:10px;border-radius:50%;background:var(--lime);box-shadow:0 0 0 0 rgba(210,254,69,.6);animation:ping 2s var(--ease) infinite}
@keyframes ping{0%{box-shadow:0 0 0 0 rgba(210,254,69,.7)}100%{box-shadow:0 0 0 16px rgba(210,254,69,0)}}
@media (max-width:1100px){.ahero .wrap,.crew{grid-template-columns:1fr;gap:40px}.tline .stops{grid-template-columns:1fr 1fr}.reach{grid-template-columns:1fr}.bigrules li{grid-template-columns:44px 1fr}}
@media (prefers-reduced-motion:reduce){.orbit3 .spin{animation:none}.reach .pin i{animation:none}}
@media (min-width:1101px){.phero:has(.cordfig) .wrap{grid-template-columns:minmax(0,1fr) minmax(0,620px);gap:48px}}
.cf-cord{stroke-width:1.6;stroke-opacity:.7}
.rt-track{height:190px}
.rt-token{top:81px}
/* the timeline cord ends at the last stop, wherever the grid puts it */
.tline .track{width:var(--end,100%);margin:0 0 0 7px}
.tline .pulse{left:calc(var(--p) * var(--end,100%))}

/* route map, version B: the systems each station lives in, as a fan of logos */
.route.logos .rt-track{height:280px}
.route.logos .rt-st{gap:8px}
.route.logos .rt-rec{margin-top:2px}
.rl-stack{position:relative;width:130px;height:58px}
.rl-t{position:absolute;left:50%;top:4px;width:50px;height:50px;margin-left:-25px;display:grid;place-items:center;background:var(--white);border:1px solid var(--line);border-radius:14px;box-shadow:0 10px 22px -14px rgba(15,16,19,.45);transition:transform .7s var(--ease),opacity .7s var(--ease),filter .7s;will-change:transform}
.rl-t img{width:30px;height:30px;object-fit:contain;border-radius:6px}
.rl-mono{font:600 12px/1 'Archivo Narrow',sans-serif;letter-spacing:.06em;color:var(--body);background:var(--chip)}
.rl-t[data-p="0"]{z-index:3;transform:none}
.rl-t[data-p="1"]{z-index:2;transform:translateX(38px) scale(.74) rotate(7deg);filter:grayscale(.85);opacity:.8}
.rl-t[data-p="2"]{z-index:1;transform:translateX(-38px) scale(.74) rotate(-7deg);filter:grayscale(.85);opacity:.8}
.rl-stack[data-n="2"] .rl-t[data-p="0"]{transform:translateX(-14px)}.rl-stack[data-n="2"] .rl-t[data-p="1"]{transform:translateX(22px) scale(.8) rotate(7deg)}
.rl-name{display:grid;gap:1px;line-height:1.2}
.rl-cur{font-size:13px;font-weight:600}
.rl-kind{font:500 10.5px/1.2 'Archivo Narrow',sans-serif;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.route.logos .rt-st.hit .rl-t[data-p="0"]{box-shadow:0 0 0 2px var(--ink),0 10px 22px -12px rgba(15,16,19,.5)}
.route.logos[data-mode="us"] .rt-st.hit .rl-t[data-p="0"]{box-shadow:0 0 0 2px var(--lime),0 0 0 6px rgba(210,254,69,.35)}
.flowver{display:flex;align-items:center;gap:12px;margin:56px 0 14px}
.flowver b{font:600 12px/1 'Archivo Narrow',sans-serif;letter-spacing:.1em;text-transform:uppercase;padding:6px 10px;border-radius:999px;background:var(--dark);color:var(--on-dark)}
.flowver.new b{background:var(--lime);color:var(--ink)}
.flowver span{color:var(--muted);font-size:14px}
.flowtabs{display:flex;gap:6px;flex-wrap:wrap;margin-top:32px}
.flowtabs button{padding:9px 16px;border-radius:999px;border:1px solid var(--line);font-size:14.5px;font-weight:500;color:var(--body);background:var(--white)}
.flowtabs button[aria-pressed="true"]{background:var(--dark);color:var(--on-dark);border-color:var(--dark)}
@media (max-width:1100px){.route.logos .rt-track{height:auto}.rl-stack{grid-row:span 3}}
.flowver b{white-space:nowrap}
@media (max-width:1100px){
  .rt-track,.route.logos .rt-track{height:auto}
  .route.logos .rt-st{grid-template-columns:132px 1fr;align-items:start}
  .route.logos .rt-st > *{grid-column:2}
  .route.logos .rl-stack{grid-column:1;grid-row:1/span 5;align-self:center}
  .route.logos .rt-rec{grid-row:auto;justify-items:start}
}
/* the five step buttons under the journey screen: on phones, drop the step numbers and tighten so all five fit */
@media (max-width:600px){.jsteps{gap:4px}.jsteps button{padding:9px 4px;font-size:12.5px;min-width:0}.jsteps button .mono{display:none}}
@media (max-width:1100px){.jwrap.jtop{grid-template-columns:1fr;gap:40px}.jwrap.jtop .jside{margin-top:32px}}

/* the journey screen is hidden by the How we work story's phone rule; on other pages it is the content, so show it */
@media (max-width:1100px){.journey .screen{display:block}}
/* the journey table on phones: step and system on the left, minutes and status stacked on the right */
@media (max-width:700px){
  .journey .screen{max-width:100%;overflow:hidden}
  .journey .thead{display:none}
  .journey .r{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"nm tm" "sys chip";column-gap:12px;row-gap:6px;padding:12px 16px}
  .journey .r .nm{grid-area:nm}.journey .r .sys{grid-area:sys;font-size:13.5px}.journey .r .tm{grid-area:tm;text-align:right}.journey .r .stchip{grid-area:chip;justify-self:end}
  .journey .sh{flex-wrap:wrap;gap:10px;padding:16px}
  .journey .metric{justify-items:start;text-align:left}
}
.jwrap > *{min-width:0}
@media (max-width:700px){.wtgrid{grid-template-columns:repeat(2,minmax(0,1fr)) !important}.wtgrid > *{min-width:0}.phero .wrap > *{min-width:0}}

/* ===== phones ===== */
@media (max-width:760px){
  .phero:has(.cordfig) .cordfig{margin-top:8px}
  .wt{grid-template-columns:44px minmax(0,1fr);gap:4px 16px;padding:32px 0}
  .wt > div:first-child{grid-row:span 2;display:grid;justify-items:start;gap:6px}
  .wt .glyph-l{width:36px;height:36px}
  .wt .ex{grid-column:2;margin-top:18px}
  .clock30{grid-template-columns:repeat(15,1fr);gap:8px}
  .result .row1{flex-direction:column;align-items:flex-start;gap:18px}
  .gx-two > *{min-width:0}
}
@media (max-width:760px){.wt .glyph-l svg{width:36px;height:36px}}
@media (max-width:1100px){.ahero figure{max-width:440px}.ahero #portrait{width:100%;height:auto}}

/* ---------- new pages: Data and security, Compare, Guides, guide articles ---------- */
.m-illus{display:block;width:100%;height:auto;aspect-ratio:640/460}
.m-cf{font-size:.8em;color:var(--olive);white-space:nowrap}
.gx-dark .m-cf{color:var(--lime)}
.m-ill{margin-top:14px;font-size:14px;color:var(--muted)}
.gx-dark .h2 .olive{color:var(--lime)}.gx-dark .gx-lead{color:var(--on-dark-soft)}
.m-quiet{display:inline-block;margin-top:18px;font-size:15px;color:var(--muted)}
/* who can see it: a record that turns to dots */
.m-who{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:72px;margin-top:48px;align-items:start}
.m-tabs{display:flex;flex-direction:column;border-top:1px solid var(--line)}
.m-tabs button{width:100%;text-align:left;font:inherit;font-weight:600;font-size:clamp(28px,3vw,42px);letter-spacing:-.02em;line-height:1.1;padding:18px 0;color:var(--muted);background:none;border:0;border-bottom:1px solid var(--line);cursor:pointer;transition:color .2s ease}
.m-tabs button[aria-selected=true]{color:var(--ink)}
.m-tabs button span{display:block;font-weight:400;font-size:16px;letter-spacing:0;line-height:1.5;color:var(--body);max-width:520px;padding-top:8px}
.m-tabs button[aria-selected=false] span{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
.m-rec{background:var(--card);border:1px solid var(--line);border-radius:var(--r-panel);padding:28px 32px}
.m-rec-h{display:flex;justify-content:space-between;gap:16px;padding-bottom:16px;border-bottom:1px solid var(--line)}
.m-row{display:grid;grid-template-columns:150px 1fr;gap:16px;align-items:baseline;padding:16px 0;border-bottom:1px solid var(--line)}
.m-row:last-child{border-bottom:0;padding-bottom:0}
.m-v{position:relative;display:inline-block;justify-self:start;font-weight:500}
.m-v b{font-weight:inherit;transition:opacity .22s ease}
.m-v::after{content:"";position:absolute;left:0;right:0;top:.2em;bottom:.2em;background:radial-gradient(circle,var(--ink) 1.5px,transparent 1.9px) 0 0/7px 7px;opacity:0;transition:opacity .22s ease}
.m-row.hid .m-v b{opacity:0}.m-row.hid .m-v::after{opacity:.7}.m-row.hid .label{opacity:.55}
/* what we don't do: big type, struck through */
.m-never{margin:48px 0 0;padding:0;list-style:none}
.m-never li{font-weight:600;font-size:clamp(30px,5vw,70px);line-height:1.12;letter-spacing:-.03em;padding:14px 0}
.m-never span{background:linear-gradient(var(--olive),var(--olive)) 0 56%/100% .07em no-repeat;-webkit-box-decoration-break:clone;box-decoration-break:clone}
.m-never.js span{color:var(--ink);background-size:0% .07em;transition:background-size .9s var(--ease),color .5s ease .45s}
.m-never.js li.on span{background-size:100% .07em;color:var(--muted)}
.m-yours{margin-top:40px;padding-top:24px;border-top:1px solid var(--line);font-size:19px;max-width:760px}
.m-yours b{font-weight:600}
/* compare: fit check */
.m-fit{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:64px;margin-top:48px;align-items:start}
.m-q{margin:0;padding:20px 0;border:0;border-top:1px solid var(--line)}
.m-q legend{float:left;width:100%;padding:0;margin:0 0 12px;font-weight:600;font-size:22px;letter-spacing:-.015em;line-height:1.2}
.m-opts{clear:both;display:flex;flex-wrap:wrap;gap:8px}
.m-opts button{min-height:42px;padding:8px 18px;border:1px solid var(--ink);border-radius:999px;background:none;color:var(--ink);font:inherit;font-size:15px;font-weight:500;line-height:1.3;cursor:pointer;transition:background .15s ease,color .15s ease,transform .16s ease}
.m-opts button[aria-pressed=true]{background:var(--ink);color:var(--cream)}
.m-opts button:active,.m-chips button:active,.m-approve:active{transform:scale(.97)}
.m-q.wait{display:none}
.m-again{margin-top:14px;background:none;border:0;padding:0;font:inherit;font-size:15px;color:var(--muted);text-decoration:underline;cursor:pointer}
.m-res{position:sticky;top:112px;background:var(--card);border:1px solid var(--line);border-radius:var(--r-panel);padding:28px 32px 32px;min-height:280px}
.m-dots{display:flex;gap:10px;margin-bottom:28px}
.m-dots i{width:13px;height:13px;border-radius:50%;box-shadow:inset 0 0 0 1.5px var(--ink);transition:background .2s ease}
.m-dots i.yes{background:var(--lime)}.m-dots i.no{background:var(--ink)}
.m-ver h3{font-weight:600;font-size:clamp(32px,3.4vw,48px);letter-spacing:-.025em;line-height:1.06}
.m-ver p{margin-top:12px;color:var(--body);max-width:520px}
.m-ver .btn{margin-top:22px}
/* compare: one thing at a time, on a real table */
.m-cmp{margin-top:88px}
.m-cmp-h{display:flex;justify-content:space-between;gap:16px;align-items:baseline}
.m-all{background:none;border:0;padding:0;font:inherit;font-size:15px;text-decoration:underline;cursor:pointer}
.m-cmp-t{margin-top:20px}
.m-cmp.one .m-cmp-t{display:grid;grid-template-columns:300px minmax(0,1fr);gap:40px;align-items:start}
.m-crit{display:none}
.m-cmp.one .m-crit{display:flex;flex-direction:column;border-top:1px solid var(--line)}
.m-crit button{width:100%;text-align:left;padding:10px 0;background:none;border:0;border-bottom:1px solid var(--line);font:inherit;font-size:16px;font-weight:500;color:var(--muted);cursor:pointer;transition:color .15s ease}
.m-crit button[aria-selected=true]{color:var(--ink)}
.m-crit button[aria-selected=true]::before{content:"";display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--lime);box-shadow:0 0 0 1.5px var(--ink);margin-right:10px;vertical-align:1px}
.m-cmp table{width:100%;border-collapse:collapse;table-layout:fixed}
.m-cmp th,.m-cmp td{text-align:left;vertical-align:top;padding:14px 16px;border-bottom:1px solid var(--line);font-size:15px;font-weight:400;line-height:1.4}
.m-cmp thead th{font-family:"Archivo Narrow",sans-serif;font-weight:500;font-size:12px;letter-spacing:1.6px;text-transform:uppercase;color:var(--muted)}
.m-cmp tbody th{font-weight:600}
.m-cmp td:nth-child(2),.m-cmp thead th:nth-child(2){background:#eef5d2}
.m-cmp.one thead th:first-child,.m-cmp.one tbody th{display:none}
.m-cmp.one tbody tr:not(.on){display:none}
.m-cmp.one tbody td{font-size:clamp(20px,2vw,28px);font-weight:600;letter-spacing:-.015em;line-height:1.2;padding:22px 16px;height:190px;animation:mswap .2s ease}
@keyframes mswap{from{opacity:0;transform:translateY(4px)}}
.m-fair{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:48px}
/* guides */
.m-guides.gx{padding-top:72px}
.m-find{display:flex;align-items:center;gap:14px;border-bottom:2px solid var(--ink);padding-bottom:12px}
.m-find i{width:12px;height:12px;border-radius:50%;background:var(--lime);box-shadow:0 0 0 1.5px var(--ink);flex:none}
.m-find input{flex:1;min-width:0;font:600 clamp(24px,3vw,42px)/1.15 Archivo,sans-serif;letter-spacing:-.02em;color:var(--ink);background:none;border:0;outline:0;padding:0}
.m-find input::placeholder{color:var(--muted)}
.m-chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}
.m-chips button{height:33px;padding:0 13px;border:1px solid var(--line);border-radius:999px;background:none;color:var(--ink);font-family:"Archivo Narrow",sans-serif;font-weight:500;font-size:13px;letter-spacing:.3px;cursor:pointer;transition:background .15s ease,color .15s ease,transform .16s ease}
.m-chips button[aria-pressed=true]{background:var(--ink);color:var(--cream);border-color:var(--ink)}
.m-gl{margin-top:36px;border-top:1px solid var(--line)}
.m-g{display:block;padding:20px 0;border-bottom:1px solid var(--line);color:inherit;text-decoration:none}
.m-g[hidden]{display:none}
.m-g-t{display:grid;grid-template-columns:minmax(0,1fr) 120px 110px;gap:24px;align-items:baseline}
.m-g h3{font-weight:600;font-size:clamp(21px,2.3vw,32px);letter-spacing:-.02em;line-height:1.15;transition:color .15s ease}
.m-g .label{text-align:right}
.m-g mark{background:var(--lime);color:inherit;border-radius:3px;padding:0 2px}
.m-g-a{display:grid;grid-template-rows:0fr;transition:grid-template-rows .22s var(--ease)}
.m-g-a p{overflow:hidden;color:var(--body);max-width:760px}
.m-g:hover .m-g-a,.m-g:focus-visible .m-g-a{grid-template-rows:1fr}
.m-g:hover .m-g-a p,.m-g:focus-visible .m-g-a p{padding-top:8px}
@media (hover:hover) and (pointer:fine){.m-gl:hover .m-g:not(:hover) h3{color:var(--muted)}}
@media (hover:none){.m-g-a{grid-template-rows:1fr}.m-g-a p{padding-top:6px;font-size:15px}}
.m-none{padding:36px 0;font-size:22px;font-weight:500}.m-none a{color:var(--olive)}
/* guide article */
.m-ahead{padding:72px 0 56px}
.m-crumb a{color:inherit}
.m-ahead h1{margin-top:18px;max-width:900px}
.m-meta{margin-top:18px}
.m-short{margin-top:32px;max-width:860px;padding:24px 28px;background:var(--card);border:1px solid var(--line);border-radius:var(--r-card)}
.m-short p{margin-top:10px;font-size:20px;line-height:1.5}
.m-abody{background:var(--white);padding:72px 0 110px}
.m-agrid{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:72px;align-items:start}
.m-prose{min-width:0}
.m-prose h2{font-weight:600;font-size:26px;letter-spacing:-.015em;line-height:1.2;margin:48px 0 14px;scroll-margin-top:100px}
.m-prose h2:first-child{margin-top:0}
.m-prose>p,.m-prose>ul{max-width:720px;color:var(--body)}
.m-prose p+p{margin-top:12px}
.m-prose>ul{margin:12px 0;padding-left:20px}.m-prose>ul li{padding:4px 0}.m-prose>ul li::marker{color:var(--olive)}
.m-prose b,.m-prose strong{font-weight:600;color:var(--ink)}
.m-src{margin-top:40px;font-size:14px;color:var(--muted)}
.m-rail{position:sticky;top:100px}
.m-rail ol{list-style:none;margin:14px 0 24px;padding:0}
.m-rail li a{display:block;padding:5px 0;font-size:14.5px;color:var(--muted);text-decoration:none;transition:color .2s ease}
.m-rail li a.on{color:var(--ink);font-weight:500}
/* the workflow: visitors press Approve */
.m-dem{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:36px;margin-top:20px;align-items:start}
.m-steps{position:relative;margin:0;padding:0;list-style:none}
.m-steps::before{content:"";position:absolute;left:7px;top:22px;bottom:22px;border-left:1.5px dotted var(--ink);opacity:.5}
.m-steps button{position:relative;display:grid;grid-template-columns:15px 1fr;gap:4px 14px;width:100%;padding:11px 0;text-align:left;background:none;border:0;color:var(--muted);font:inherit;cursor:pointer;transition:color .2s ease}
.m-steps i{grid-row:1;margin-top:5px;width:15px;height:15px;border-radius:50%;background:var(--white);box-shadow:inset 0 0 0 1.5px var(--ink);transition:background .2s ease}
.m-steps b{font-weight:600;font-size:18px;letter-spacing:-.01em;line-height:1.3;color:inherit}
.m-steps span{grid-column:2;font-size:15px;line-height:1.45;color:var(--body)}
.m-steps button[aria-selected=false] span{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
.m-steps button[aria-selected=true]{color:var(--ink)}
.m-steps button.past i{background:var(--ink)}
.m-steps button[aria-selected=true] i{background:var(--lime)}
.m-screen{background:var(--card);border:1px solid var(--line);border-radius:var(--r-panel);padding:26px 28px;min-height:330px}
.m-pane{display:block;margin-bottom:24px}.m-dem.js .m-pane{display:none;margin:0}
.m-dem.js .m-pane.on{display:block;animation:mswap .24s ease}
.m-msg{margin-top:16px;font-weight:500;font-size:19px;letter-spacing:-.01em;line-height:1.35}
.m-ar{font-family:"IBM Plex Sans Arabic",sans-serif;letter-spacing:0;line-height:1.6;text-align:right}
.m-pair{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.m-pill{display:inline-flex;align-items:center;gap:8px;height:30px;padding:0 12px;border-radius:999px;background:var(--chip);font-family:"Archivo Narrow",sans-serif;font-weight:500;font-size:13px;margin-top:18px}
.m-pill i{width:8px;height:8px;border-radius:50%;background:var(--olive)}
.m-act{display:flex;flex-wrap:wrap;align-items:center;gap:14px;margin-top:24px}
.m-act span{color:var(--muted);font-size:15px}
.m-approve{height:50px;padding:0 26px;border:0;border-radius:999px;background:var(--lime);color:#15130f;font:inherit;font-weight:500;font-size:16px;cursor:pointer;transition:transform .16s ease,background .15s ease}
.m-pane.on .m-approve{animation:mask 1.8s ease-in-out 2}
@keyframes mask{50%{box-shadow:0 0 0 9px rgba(210,254,69,.45)}}
@media (hover:hover) and (pointer:fine){.m-approve:hover{background:var(--lime-hover)}.m-opts button[aria-pressed=false]:hover{background:var(--chip)}}
.m-log{list-style:none;margin:12px 0 0;padding:0}
.m-log li{display:grid;grid-template-columns:62px 1fr;gap:12px;padding:12px 0;border-bottom:1px solid var(--line);font-size:16px}
.m-log li:last-child{border-bottom:0}
.m-log b{font-weight:600}.m-log time{color:var(--muted);font-family:"Archivo Narrow",sans-serif;font-size:14px}
.m-dem.js .m-pane.on .m-log li{animation:mswap .24s ease both}
.m-dem.js .m-pane.on .m-log li:nth-child(2){animation-delay:60ms}.m-dem.js .m-pane.on .m-log li:nth-child(3){animation-delay:120ms}.m-dem.js .m-pane.on .m-log li:nth-child(4){animation-delay:180ms}
@media (max-width:1100px){.m-agrid{grid-template-columns:minmax(0,1fr)}.m-rail{display:none}.m-dem{grid-template-columns:minmax(0,1fr);gap:20px}}
@media (max-width:900px){
  .m-who,.m-fit,.m-fair,.m-pair,.m-cmp.one .m-cmp-t{grid-template-columns:minmax(0,1fr);gap:28px}
  .m-rec{order:-1;padding:22px}.m-row{grid-template-columns:minmax(0,1fr);gap:2px;padding:10px 0}
  .m-res{position:static;padding:22px;min-height:0}
  .m-g-t{grid-template-columns:minmax(0,1fr)}.m-g .label{display:none}.m-g .label:last-child{display:block;text-align:left}
  .m-cmp.one .m-crit{flex-direction:row;overflow-x:auto;border-top:0;gap:8px;scrollbar-width:none;padding:2px}
  .m-crit button{flex:none;width:auto;border:1px solid var(--line);border-radius:999px;padding:7px 13px;font-size:14px}
  .m-crit button[aria-selected=true]{background:var(--ink);color:var(--cream)}.m-crit button[aria-selected=true]::before{display:none}
  .m-cmp tr{display:block;margin-bottom:12px}.m-cmp thead{display:none}.m-cmp td,.m-cmp.one tbody td,.m-cmp tbody th{display:block;height:auto;padding:12px 14px;font-size:17px}
  .m-cmp td::before{content:attr(data-l);display:block;font:500 12px "Archivo Narrow",sans-serif;letter-spacing:1.4px;text-transform:uppercase;color:var(--muted);margin-bottom:3px}
  .m-steps{display:flex;gap:18px;overflow-x:auto;padding:2px}.m-steps::before{display:none}.m-steps li{flex:none}
  .m-steps button{width:auto;white-space:nowrap}.m-steps button span{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
  .m-screen{padding:22px;min-height:360px}
}
@media (prefers-reduced-motion:reduce){.m-never.js span,.m-dem.js .m-pane.on,.m-pane.on .m-approve,.m-dem.js .m-pane.on .m-log li,.m-cmp.one tbody td{animation:none;transition:none}}

/* case studies, thank-you, 404 and legal pages */
.m-ty{padding:0 0 110px}
.m-three{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.m-readout{max-width:760px}.m-readout ul{margin:6px 0 0;padding-left:20px}.m-readout li{padding:4px 0}.m-readout li::marker{color:var(--olive)}
.m-lost{color:inherit;text-decoration:none;transition:border-color .15s ease}
@media (hover:hover) and (pointer:fine){.m-lost:hover{border-color:var(--ink)}}
.m-ill a,.m-prose a{color:inherit}
.m-review{display:flex;justify-content:space-between;gap:40px;align-items:center;padding:32px;background:var(--card);border:1px solid var(--line);border-radius:var(--r-panel)}
.m-review h3,.m-case h3,.m-story h3{font-weight:600;font-size:26px;letter-spacing:-.015em;line-height:1.2}
.m-review h3{margin-top:14px}.m-review p{margin-top:8px;color:var(--body);max-width:680px}
.m-review .m-pill,.m-tags .m-pill,.m-case .m-pill{margin-top:0}
.m-case{padding:28px;background:var(--card);border:1px solid var(--line);border-radius:var(--r-panel)}
.m-case-h{display:flex;justify-content:space-between;gap:12px;align-items:center}
.m-case h3{margin-top:18px}.m-case p{margin-top:6px;color:var(--muted)}
.m-case div:last-child{display:flex;gap:12px;align-items:baseline;margin-top:24px;padding-top:18px;border-top:1px solid var(--line)}
.m-case b{font-weight:600;font-size:clamp(30px,3vw,42px);letter-spacing:-.02em}.m-case div:last-child span{color:var(--muted)}
.m-tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}
.m-facts{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;margin:40px 0 0;padding-top:20px;border-top:1px solid var(--line)}
.m-facts dd{margin:6px 0 0;font-weight:500}
.m-story{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,7fr);gap:64px;padding:48px 0;border-top:1px solid var(--line)}
.m-story:first-child{border-top:0;padding-top:0}.m-story:last-child{padding-bottom:0}
.m-story h3{margin-top:10px}.m-story p{color:var(--body)}
.m-story blockquote{margin:24px 0 0;padding-left:20px;border-left:1.5px dotted var(--ink);font-size:21px;font-weight:500;line-height:1.35}
.m-story cite{display:block;margin-top:8px;font-style:normal;font-size:14px;font-weight:400;color:var(--muted)}
.m-flow{position:relative;margin:0;padding:0;list-style:none;counter-reset:f}
.m-flow::before{content:"";position:absolute;left:7px;top:14px;bottom:14px;border-left:1.5px dotted var(--ink);opacity:.5}
.m-flow::after{content:"";position:absolute;left:3px;top:6px;width:11px;height:11px;border-radius:50%;background:var(--lime);box-shadow:0 0 0 1.5px var(--ink);opacity:0}
.m-flow.on::after{animation:mflow 2.4s var(--ease) forwards}
@keyframes mflow{0%{opacity:0;transform:translateY(0)}8%{opacity:1}100%{opacity:1;transform:translateY(var(--run,170px))}}
.m-flow li{position:relative;padding:8px 0 8px 32px}
.m-flow li::before{content:"";position:absolute;left:3px;top:15px;width:9px;height:9px;border-radius:50%;background:var(--white);box-shadow:inset 0 0 0 1.5px var(--ink)}
.m-gate{padding:24px;background:var(--dark);color:var(--on-dark);border-radius:var(--r-card)}
.m-gate .label{color:var(--on-dark-soft)}.m-gate p{margin-top:8px;color:var(--on-dark)}
.m-nums{display:grid;grid-template-columns:repeat(3,1fr);gap:32px;margin-top:48px}
.m-nums b{display:block;font-weight:600;font-size:clamp(38px,4.4vw,62px);letter-spacing:-.03em;line-height:1.05;font-variant-numeric:tabular-nums}
.m-nums span{display:block;margin-top:8px;color:var(--body)}
.m-draft{padding:12px 16px;background:#eef5d2;border-radius:var(--r-input);font-size:15px;font-weight:500;color:var(--ink)!important}
.m-prose>.m-lede{margin-top:20px;font-size:19px;color:var(--ink)}
.m-prose .m-cf{white-space:normal}
.m-cook{margin:0;border-top:1px solid var(--line);max-width:720px}
.m-cook div{display:grid;grid-template-columns:130px 1fr;gap:16px;padding:14px 0;border-bottom:1px solid var(--line)}
.m-cook dt{font-weight:600}.m-cook dd{margin:0;color:var(--body)}
.m-consent{display:flex;flex-wrap:wrap;gap:16px;align-items:center;margin-top:32px;padding:16px 20px;background:var(--card);border:1px solid var(--line);border-radius:var(--r-card);max-width:720px}
.m-consent label{display:flex;gap:10px;align-items:center;font-weight:500;cursor:pointer}
.m-consent input{width:18px;height:18px;accent-color:var(--olive)}
.m-consent span{color:var(--muted);font-size:15px}
@media (max-width:900px){.m-three,.m-nums,.m-story{grid-template-columns:minmax(0,1fr)}.m-story{gap:18px;padding:36px 0}.m-facts{grid-template-columns:1fr 1fr}.m-review{flex-direction:column;align-items:flex-start;padding:22px}.m-ty{padding-bottom:72px}.m-cook div{grid-template-columns:minmax(0,1fr);gap:2px}}
@media (prefers-reduced-motion:reduce){.m-flow::after{display:none}}

/* Case studies (6 Nov 2026): cover screenshot, screens, the client's words, what runs now, the next case */
.m-cover{margin:48px 0 0;border-radius:var(--r-panel);overflow:hidden;background:var(--dark);border:1px solid var(--line)}
.m-cover img{display:block;width:100%;height:auto}
.m-gal{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin-top:40px}
.m-gal figure{margin:0;border-radius:var(--r-card);overflow:hidden;background:var(--dark);border:1px solid var(--line)}
.m-gal img{display:block;width:100%;height:auto}
.m-gal .phone{display:grid;place-items:center;padding:36px 24px;background:var(--chip);border-color:transparent}
.m-gal .phone img{width:auto;max-width:100%;max-height:540px;border-radius:26px;box-shadow:0 24px 48px -28px rgba(15,16,19,.45)}
.m-gal .wide:only-child,.m-gal .wide:nth-child(3):last-child{grid-column:1/-1}
.m-voice blockquote{margin:0;max-width:920px;font-weight:500;font-size:clamp(26px,2.7vw,38px);letter-spacing:-.02em;line-height:1.25}
.m-voice cite{display:block;margin-top:24px;font-style:normal;font-size:15px;color:var(--muted)}
.m-voice cite b{display:block;color:var(--ink);font-weight:600}
.m-next{display:flex;justify-content:space-between;align-items:center;gap:24px;padding:28px 32px;background:var(--card);border:1px solid var(--line);border-radius:var(--r-panel);color:inherit;transition:background .2s var(--ease)}
.m-next:hover{background:var(--white)}
.m-next h3{margin-top:8px;font-weight:600;font-size:clamp(22px,2.2vw,30px);letter-spacing:-.015em;line-height:1.2}
.m-next .arr{font-size:28px}
.m-case-img{display:block;margin:-28px -28px 22px;aspect-ratio:16/10;overflow:hidden;border-radius:var(--r-panel) var(--r-panel) 0 0;background:var(--dark)}
.m-case-img img{display:block;width:100%;height:100%;object-fit:cover;object-position:top center;transition:transform .5s var(--ease)}
a.m-case:hover .m-case-img img{transform:scale(1.02)}
@media (max-width:700px){.m-gal{grid-template-columns:minmax(0,1fr)}.m-gal .wide{grid-column:auto}.m-next{padding:22px}}
@media (prefers-reduced-motion:reduce){.m-case-img img{transition:none}a.m-case:hover .m-case-img img{transform:none}}
