
@font-face{font-family:"Mozilla Text";src:url("https://cdn.prod.website-files.com/68d4ff5decdc987146c7f056/6af263c649be30db54bdc9a0_w21-v3-brand-MozillaText-VariableFont_wght.ttf") format("truetype");font-weight:200 700;font-display:swap;}
:root{
  --g:#14CB62; --g-deep:#0E9E4C; --g-text:#0A6E35; --forest:#04210F; --ink:#0A0A0A; --ink2:#2A332E;
  --slate:#5A645E; --mute:#8A928C; --panel:#FAFBFA; --line:#F0F2EF; --line2:#E3E6E1;
  --ease:cubic-bezier(.2,.7,.2,1); --r:32px;
  --display:"Mozilla Text", Inter, system-ui, sans-serif;
  --body:Inter, system-ui, -apple-system, sans-serif;
  --emerald:#14CB62; --emerald-text:#0A6E35; --ink-2:#2A332E; --mono:"JetBrains Mono", ui-monospace, monospace;
}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{margin:0;background:#fff;color:var(--ink);font-family:var(--body);font-size:16px;line-height:1.55;
  -webkit-font-smoothing:antialiased;}
a{color:var(--g-text);}
a:hover:not(.proof):not(.wcard):not(.rcard):not(.nx):not(.rep){color:var(--forest);}
img{display:block;max-width:100%;}
.wrap{max-width:1280px;margin:0 auto;padding:0 40px;}
.panel{margin:12px 16px;border-radius:36px;}
section{scroll-margin-top:96px;}

/* type */
.eyebrow{margin:0;font-size:12.5px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--g-deep);}
.h1{margin:0;font-family:var(--display);font-weight:300;font-size:clamp(44px,5.6vw,72px);line-height:1.03;letter-spacing:-.032em;text-wrap:balance;}
.h2{margin:0;font-family:var(--display);font-weight:300;font-size:clamp(34px,4vw,54px);line-height:1.06;letter-spacing:-.028em;text-wrap:balance;}
.h3{margin:0;font-family:var(--display);font-weight:400;font-size:24px;line-height:1.2;letter-spacing:-.018em;}
.h2 em,.h1 em{font-style:normal;color:var(--g-deep);}
.on-deep .h2 em{color:#9DF2C2;}
.on-bright .h2 em,.on-bright .h3 em{color:#fff;}
.lead{margin:0;font-size:18px;line-height:1.6;color:var(--slate);max-width:60ch;text-wrap:pretty;}
.head{display:flex;flex-direction:column;gap:18px;margin:0 0 48px;max-width:820px;}
.head.row{max-width:none;flex-direction:row;align-items:flex-end;justify-content:space-between;flex-wrap:wrap;gap:24px;}

/* buttons */
.ctas{display:flex;gap:10px;flex-wrap:wrap;}
.btn{display:inline-flex;align-items:center;gap:8px;text-decoration:none;font-size:15px;font-weight:500;
  padding:15px 26px;border-radius:999px;background:var(--g);color:var(--forest);
  transition:box-shadow .16s var(--ease),transform .1s var(--ease),background .16s var(--ease);}
.btn:hover{color:var(--forest);box-shadow:0 0 0 6px rgba(20,203,98,.18);}
.btn:active{transform:scale(.98);}
.btn.ghost{background:#fff;color:var(--ink);border:1px solid #C9D1CB;padding:14px 24px;}
.btn.ghost:hover{box-shadow:none;border-color:var(--ink);}
.btn.dark{background:var(--forest);color:#fff;}
.btn.dark:hover{color:#fff;box-shadow:0 0 0 6px rgba(4,33,15,.14);}
.btn.white{background:#fff;color:var(--forest);}
.btn.line-w{background:transparent;color:#fff;border:1px solid rgba(255,255,255,.55);padding:14px 24px;}
.btn.line-w:hover{color:#fff;border-color:#fff;box-shadow:none;}
.btn.line-d{background:transparent;color:var(--forest);border:1px solid rgba(4,33,15,.35);padding:14px 24px;}
.btn.line-d:hover{border-color:var(--forest);box-shadow:none;}
.textlink{display:inline-flex;align-items:center;gap:6px;font-size:15px;font-weight:500;color:var(--g-text);text-decoration:none;}
.textlink:hover{color:var(--forest);}

/* grain */
.grain{position:relative;isolation:isolate;overflow:hidden;}
.grain::after{content:"";position:absolute;inset:0;background:url("https://cdn.prod.website-files.com/68d4ff5decdc987146c7f056/6af263c7159f1358d2f6b641_w21-v3-brand-grain.png") 0 0/160px;
  opacity:.55;mix-blend-mode:overlay;pointer-events:none;z-index:1;}
.grain.soft::after{opacity:.22;mix-blend-mode:multiply;}
.grain > *{position:relative;z-index:2;}
.g-deep{background:radial-gradient(90% 80% at 6% -10%,rgba(141,236,182,.5),rgba(141,236,182,0) 55%),linear-gradient(168deg,#12A855 0%,#0B7A3D 55%,#075C2D 100%);color:#fff;}
.g-bright{background:radial-gradient(80% 90% at 100% 0%,rgba(214,250,228,.85),rgba(214,250,228,0) 60%),linear-gradient(150deg,#14CB62 0%,#3FD883 55%,#9BEABE 100%);color:var(--forest);}
.g-shot{background:radial-gradient(70% 90% at 0% 0%,rgba(173,242,203,.55),rgba(173,242,203,0) 60%),linear-gradient(140deg,#0E9E4C 0%,#14CB62 55%,#86E3AE 100%);}

/* icons */
.ico{width:48px;height:48px;border-radius:14px;background:#F2FBF6;border:1px solid #DDF3E6;display:grid;place-items:center;color:var(--g-deep);flex:none;}
.ico svg{width:24px;height:24px;}
svg.line{fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;}

/* frosted browser frame on a green gradient, running off the bottom right */
.shot{position:relative;border-radius:30px;overflow:hidden;}
.shot .frame{position:absolute;left:48px;top:56px;bottom:0;width:150%;display:flex;flex-direction:column;border-radius:20px 0 0 0;
  background:rgba(255,255,255,.26);border:1px solid rgba(255,255,255,.55);border-right:0;border-bottom:0;
  backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);padding:0 0 0 12px;
  box-shadow:0 30px 60px rgba(4,33,15,.16);}
.shot .dots{height:40px;flex:none;display:flex;align-items:center;gap:7px;}
.shot .dots i{width:10px;height:10px;border-radius:50%;background:rgba(255,255,255,.9);}
.shot .frame img{width:100%;flex:1;min-height:0;object-fit:cover;object-position:left top;border-radius:12px 0 0 0;background:#fff;}

/* reveal */
.rv{opacity:0;transform:translateY(28px);transition:opacity .8s var(--ease),transform .8s var(--ease);}
.rv.in{opacity:1;transform:none;}
.rv.d1{transition-delay:.08s;}.rv.d2{transition-delay:.16s;}.rv.d3{transition-delay:.24s;}

/* shared nav on this page: light frosted glass with dark type, to sit with the light panels */
body .nav .nav-inner,body .nav.is-stuck .nav-inner{background:rgba(222,227,224,.58);backdrop-filter:blur(20px) saturate(1.4);-webkit-backdrop-filter:blur(20px) saturate(1.4);
  border:1px solid rgba(255,255,255,.55);box-shadow:0 1px 0 rgba(255,255,255,.6) inset,0 12px 36px -18px rgba(4,33,15,.3);padding:9px 10px 9px 20px;}
body .nav .brand img{filter:brightness(0);}
body .nav .navlink{color:var(--ink2);}
body .nav .navlink:hover,body .nav .navlink[aria-expanded="true"]{color:var(--ink);background:rgba(4,33,15,.06);}
body .nav .navlink[aria-current="page"]{color:var(--g-text);}
body .nav .nav-login{color:var(--ink2);}
body .nav .nav-login:hover{color:var(--ink);}
body .nav .navmenu{color:var(--ink);border-color:rgba(4,33,15,.14);}
body .nav .navmenu:hover{background:rgba(4,33,15,.05);}
body .nav .lang-btn{color:var(--ink);background:rgba(255,255,255,.7);border-color:rgba(4,33,15,.12);}
body .nav .lang-btn:hover{background:#fff;}

/* mega menus + language menu: grey glass to match the nav pill */
body .mega,body .lang-menu{background:rgba(228,232,229,.84);backdrop-filter:blur(24px) saturate(1.4);-webkit-backdrop-filter:blur(24px) saturate(1.4);
  border:1px solid rgba(255,255,255,.6);box-shadow:0 1px 0 rgba(255,255,255,.65) inset,0 30px 70px -30px rgba(4,33,15,.35);}
body .mega-head{border-bottom-color:rgba(4,33,15,.12);}
body .mega-label{color:var(--ink);}
body .mega-head:hover .mega-label{color:var(--g-text);}
body .mega-promise,body .mega-blurb em{color:var(--g-text);}
body .mega-links a,body .mega-wide{color:var(--ink2);}
body .mega-links a:hover,body .mega-wide:hover{color:var(--ink);background:rgba(255,255,255,.55);}
body .mega-txt span{color:var(--slate);}
body .mega-ico{background:rgba(255,255,255,.7);border-color:rgba(4,33,15,.1);color:var(--g-deep);}
body .mega-links a:hover .mega-ico,body .mega-wide:hover .mega-ico{background:#fff;border-color:rgba(20,203,98,.5);}
body .mega-wide{background:rgba(255,255,255,.4);border-color:rgba(4,33,15,.08);}
body .mega-wide:hover{border-color:rgba(20,203,98,.4);}
body .mega-blurb{color:var(--slate);}
body .mega-blurb:hover{color:var(--ink);}
body .mega-tags span{color:var(--ink2);background:rgba(255,255,255,.6);border-color:rgba(4,33,15,.1);}
body .mega-feat{border-color:rgba(255,255,255,.5);}
body .mega-scrim{background:rgba(4,33,15,.12);}
body .lang-menu button{color:var(--ink2);}
body .lang-menu button:hover{background:rgba(255,255,255,.6);color:var(--ink);}
body .lang-menu button[aria-checked="true"]{color:var(--g-text);}

/* ============ HERO ============ */
/* restored floating chips, calmer drift, status caption under each */
.hchip{animation:hdrift 18s ease-in-out infinite !important;}
.hchip.h2{animation-delay:-5s !important;}
.hchip.h3{animation-delay:-10s !important;}
.hchip.h4{animation-delay:-14s !important;}
.hclick .icur,.hclick i{animation:none !important;}
.hclick i{display:none;}
.hchip .hchip-in{padding:6px 16px 6px 6px;border-radius:18px;gap:10px;align-items:center;}
.hchip .hchip-in img{width:32px;height:32px;}
.hct{display:flex;flex-direction:column;min-width:0;}
.hct b{font-size:14px;font-weight:600;line-height:1.25;color:inherit;}
.hcap{display:block;font-family:Inter,system-ui,sans-serif;font-size:12px;font-weight:400;letter-spacing:0;line-height:1.35;color:var(--slate);
  white-space:nowrap;transition:opacity .45s cubic-bezier(.4,0,.2,1),transform .45s cubic-bezier(.4,0,.2,1),color .6s;}
@media (max-width:1100px){.hchip.h2,.hchip.h3,.hchip.h4{display:none !important;}.hchip.h1{left:4% !important;top:auto !important;bottom:22px;}.hcap{white-space:normal;max-width:170px;}}
.hcap.out{opacity:0;transform:translateY(3px);}
.hchip.upd .hcap{color:var(--g-text);}
@keyframes hdrift{0%,100%{transform:translate(0,0)}20%{transform:translate(16px,-10px)}45%{transform:translate(26px,6px)}70%{transform:translate(8px,14px)}85%{transform:translate(-8px,4px)}}
@media (prefers-reduced-motion:reduce){.hchip{animation:none !important;}}
.happ{position:absolute;z-index:5;right:18px;top:40px;width:250px;padding:12px 13px;border-radius:16px;background:#fff;
  font-family:Inter,system-ui,sans-serif;letter-spacing:0;color:var(--ink);box-shadow:0 22px 44px -18px rgba(4,33,15,.34),0 0 0 1px rgba(4,33,15,.06);
  opacity:0;transform:translateY(6px);transition:opacity .6s cubic-bezier(.4,0,.2,1),transform .6s cubic-bezier(.4,0,.2,1);}
.happ.in{opacity:1;transform:none;}
.happ-top{display:flex;align-items:center;gap:7px;font-size:12.5px;}
.happ-top img{width:22px;height:22px;border-radius:50%;background:#E9F6EF;}
.happ-top b{font-weight:600;}
.happ-lab{margin-left:auto;font-size:10.5px;color:var(--mute);background:#F1F4F2;padding:2px 8px;border-radius:999px;transition:opacity .4s;}
.happ-q{margin:9px 0 10px;font-size:13px;line-height:1.4;color:var(--ink2);transition:opacity .4s;}
.happ-d{display:none;align-items:center;gap:6px;margin:9px 0 2px;font-size:13px;color:var(--g-text);}
.happ-d svg{width:15px;height:15px;}
.happ-btns{display:flex;gap:6px;transition:opacity .4s;}
.happ-btns span{font-size:12px;font-weight:500;padding:6px 13px;border-radius:999px;transition:background .25s,transform .15s;}
.happ-ok{background:var(--g);color:#04210F;}
.happ-ok.press{transform:scale(.95);background:#11B657;}
.happ-no{background:#F1F4F2;color:var(--ink2);}
.happ.done .happ-q,.happ.done .happ-btns,.happ.done .happ-lab{display:none;}
.happ.done .happ-d{display:flex;}
.happ{background:var(--hb,#fff) !important;border-color:var(--hl,var(--line)) !important;transition:background .5s cubic-bezier(.2,.7,.2,1),border-color .5s cubic-bezier(.2,.7,.2,1),opacity .45s cubic-bezier(.2,.7,.2,1),transform .45s cubic-bezier(.2,.7,.2,1) !important;}
.happ-top b{color:var(--hf,var(--ink));}
.happ .happ-lab{background:rgba(255,255,255,.7) !important;color:var(--hf,var(--g-text)) !important;}
.happ-view{background:rgba(255,255,255,.75) !important;color:var(--hf,var(--ink2)) !important;}
.happ.info .happ-ok,.happ.info .happ-no{display:none;}
.happ.appr .happ-view{display:none;}
.happ-view{background:#F1F4F2;color:var(--ink2);}
.happ.info .happ-lab{background:#E3F6EB;color:var(--g-text);}

.hcur{position:absolute;z-index:6;left:0;top:0;width:17px;height:17px;opacity:0;pointer-events:none;
  transition:transform 1.25s cubic-bezier(.45,.05,.3,1),opacity .4s;}
.hcur svg{width:17px;height:17px;display:block;}
.hcur.on{opacity:1;}
@media (max-width:1100px){.happ,.hcur{display:none;}}
@media (max-width:640px){.hcap{font-size:11px;}.hct b{font-size:12.5px;}.hchip .hchip-in img{width:26px;height:26px;}}

.hero{--gx:100%;--gy:0%;background:radial-gradient(70% 80% at var(--gx) var(--gy),rgba(20,203,98,.15),rgba(20,203,98,0) 60%),#F4F6F4;}
.hero.glowdrag{cursor:grabbing;user-select:none;}
.cust.panel{background:radial-gradient(70% 80% at 100% 0%,rgba(20,203,98,.15),rgba(20,203,98,0) 60%),#F4F6F4;}
.hero{margin-top:96px;min-height:calc(100vh - 108px);min-height:calc(100svh - 108px);display:flex;}
.hero > .wrap{flex:1;width:100%;display:flex;flex-direction:column;}
.hero .hero-grid{flex:1;}
.hero-grid{display:grid;grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);gap:56px;align-items:center;padding-top:76px;padding-bottom:64px;}
.hero-copy{display:flex;flex-direction:column;gap:28px;}
.hero-copy .ctas{margin-top:8px;}
.hero .shot{height:clamp(460px,58vh,640px);}
/* desktop: the whole hero panel, logo strip included, fits the first screen */
@media (min-width:901px){
  .hero{height:calc(100vh - 108px);height:calc(100svh - 108px);min-height:600px;}
  .hero > .wrap{min-height:0;}
  .hero .hero-grid{min-height:0;align-items:stretch;padding-top:clamp(24px,4.5vh,76px);padding-bottom:clamp(20px,3.2vh,64px);}
  .hero .hero-copy{align-self:center;gap:clamp(14px,2.6vh,28px);}
  .hero .h1{font-size:clamp(40px,min(5.6vw,7.2vh),72px);}
  .hero .shot{height:auto;min-height:0;max-height:640px;}
  .hero .logostrip{padding:clamp(16px,2.8vh,36px) 0 clamp(6px,1vh,14px);}
  .hero .logostrip + .andmore{margin-bottom:clamp(12px,2.2vh,30px);}
}

/* hero agents: each wanders over the workspace, pauses, and clicks */
.hagents{position:absolute;inset:0;z-index:4;pointer-events:none;}
.hchip{position:absolute;display:flex;align-items:flex-start;gap:2px;will-change:transform;}
.hchip-in{display:flex;align-items:center;gap:8px;padding:5px 14px 5px 5px;border-radius:999px;font-size:13.5px;font-weight:600;white-space:nowrap;
  border:1px solid rgba(255,255,255,.9);box-shadow:0 12px 26px -12px rgba(4,33,15,.4),0 2px 6px rgba(4,33,15,.08);}
.hchip-in img{width:24px;height:24px;border-radius:50%;background:#fff;}
.hclick{position:relative;width:16px;height:16px;margin-top:-11px;flex:none;}
.hclick .icur{width:16px;height:16px;display:block;margin:0;transform-origin:3px 3px;}
.hclick i{position:absolute;left:-5px;top:-5px;width:16px;height:16px;border-radius:50%;border:2px solid currentColor;opacity:0;}
/* Kept over the map, clear of the portfolio card (right side, from ~35% down)
   and inside the shot at every width: small wander ranges, h3 only where there is room. */
.hchip.h1{left:6%;top:8%;color:#5E7DBF;animation:hw1 11s ease-in-out infinite;}
.hchip.h2{left:40%;top:24%;color:#8A72D0;animation:hw2 13s ease-in-out infinite -4s;}
.hchip.h3{left:6%;top:60%;color:#3FAF85;animation:hw3 12s ease-in-out infinite -8s;}
.hchip.h1 .icur,.hchip.h1 i{animation-duration:11s;}
.hchip.h2 .icur,.hchip.h2 i{animation-duration:13s;animation-delay:-4s;}
.hchip.h3 .icur,.hchip.h3 i{animation-duration:12s;animation-delay:-8s;}
.hclick .icur{animation:hpress 11s ease-in-out infinite;}
.hclick i{animation:hring 11s ease-out infinite;}
@keyframes hw1{0%,8%{transform:translate(0,0)}26%,34%{transform:translate(38px,10px)}52%,60%{transform:translate(14px,-8px)}78%,86%{transform:translate(28px,12px)}100%{transform:translate(0,0)}}
@keyframes hw2{0%,8%{transform:translate(0,0)}26%,34%{transform:translate(-28px,6px)}52%,60%{transform:translate(8px,-8px)}78%,86%{transform:translate(-14px,4px)}100%{transform:translate(0,0)}}
@keyframes hw3{0%,8%{transform:translate(0,0)}26%,34%{transform:translate(30px,-16px)}52%,60%{transform:translate(10px,18px)}78%,86%{transform:translate(36px,6px)}100%{transform:translate(0,0)}}
@keyframes hpress{0%,29%,33%,55%,59%,81%,85%,100%{transform:scale(1)}31%,57%,83%{transform:scale(.78)}}
@keyframes hring{0%,30%{opacity:0;transform:scale(.4)}31%{opacity:.9;transform:scale(.5)}37%{opacity:0;transform:scale(1.8)}
  56%{opacity:0;transform:scale(.4)}57%{opacity:.9;transform:scale(.5)}63%{opacity:0;transform:scale(1.8)}
  82%{opacity:0;transform:scale(.4)}83%{opacity:.9;transform:scale(.5)}89%,100%{opacity:0;transform:scale(1.8)}}
@media (max-width:1100px){.hchip.h3{display:none;}}
@media (max-width:640px){.hchip-in{font-size:12px;padding:4px 11px 4px 4px;}.hchip-in img{width:20px;height:20px;}.hchip.h2{left:34%;}}
/* agent pill type: body face, normal tracking (the display face's tight tracking crowded the names) */
.hchip-in{font-family:Inter,system-ui,-apple-system,sans-serif;letter-spacing:0;word-spacing:.04em;font-weight:500;font-feature-settings:"kern" 1;}
.hchip.h4{left:6%;top:76%;color:#B89B5E;animation:hw1 12.5s ease-in-out infinite -6s;}
.hchip.h4 .icur,.hchip.h4 i{animation-duration:12.5s;animation-delay:-6s;}
.hchip.h3{top:54%;}
@media (max-width:1100px){.hchip.h2{display:none;}.hchip.h4{left:40%;top:24%;animation-name:hw2;}}
/* human approval toast */
.happ{position:absolute;z-index:5;right:18px;top:40px;width:248px;padding:12px 13px 12px;border-radius:16px;background:#fff;
  font-family:Inter,system-ui,sans-serif;letter-spacing:0;color:var(--ink);
  box-shadow:0 22px 44px -18px rgba(4,33,15,.38),0 0 0 1px rgba(4,33,15,.06);
  opacity:0;transform:translateY(-10px) scale(.97);transition:opacity .35s var(--ease),transform .45s var(--ease);}
.happ.in{opacity:1;transform:none;}
.happ-top{display:flex;align-items:center;gap:7px;font-size:12px;}
.happ-top img{width:20px;height:20px;border-radius:50%;background:#F1F4F2;}
.happ-top b{font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0;}
.happ-top span{color:var(--mute);margin-left:auto;font-size:11px;white-space:nowrap;flex:none;}
.happ p{margin:8px 0 10px;font-size:13px;line-height:1.4;color:var(--ink2);}
.happ-btns{display:flex;gap:6px;}
.happ-btns span{font-size:12px;font-weight:500;padding:6px 12px;border-radius:999px;transition:background .25s,color .25s,transform .15s;}
.happ-ok{background:var(--g);color:#04210F;}
.happ-ok.done{background:#04210F;color:#fff;}
.happ-ok.press{transform:scale(.93);}
.happ-no{background:#F1F4F2;color:var(--ink2);}
.happ-cur{position:absolute;left:60px;top:120px;width:16px;height:16px;opacity:0;transition:left .6s var(--ease),top .6s var(--ease),opacity .25s;}
.happ-cur .icur{width:16px;height:16px;margin:0;display:block;}
.happ.aim .happ-cur{opacity:1;left:46px;top:96px;}
@media (max-width:1100px){.happ{width:212px;right:14px;top:calc(100% - 296px);}.happ p{font-size:12px;}.happ-top span{display:none;}}
@media (max-width:640px){.happ{display:none;}}
@media (prefers-reduced-motion:reduce){.hchip,.hclick .icur,.hclick i{animation:none;}}


.hero .float{position:absolute;right:26px;bottom:26px;width:230px;height:auto;z-index:3;
  filter:drop-shadow(0 24px 40px rgba(4,33,15,.24));border-radius:16px;}
.hero .pf{background:#fff;padding:16px 16px 10px;font-family:Inter,system-ui,sans-serif;letter-spacing:0;color:var(--ink);
  box-shadow:0 24px 46px -20px rgba(4,33,15,.3),0 0 0 1px rgba(4,33,15,.05);filter:none;}
.pf-head{display:flex;align-items:center;justify-content:space-between;font-size:10px;font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:var(--mute);}
.pf-live{display:flex;align-items:center;gap:5px;letter-spacing:0;text-transform:none;font-size:11px;color:var(--g-deep);}
.pf-live i{width:6px;height:6px;border-radius:50%;background:var(--g);animation:pfpulse 2s ease-in-out infinite;}
.pf-big{margin:8px 0 0;font-size:13px;color:var(--ink2);}
.pf-big b{font-family:var(--display);font-weight:500;font-size:30px;letter-spacing:-.02em;color:var(--ink);font-variant-numeric:tabular-nums;}
.pf-sub{margin:2px 0 0;font-size:11.5px;color:var(--mute);}
.pf-mix{display:flex;justify-content:space-between;margin:14px 0 4px;font-size:9.5px;font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:var(--mute);}
.pf-mix span + span{letter-spacing:0;text-transform:none;font-weight:400;}
.pf-row{display:flex;align-items:center;gap:10px;padding:8px 0;border-top:1px solid #EEF1EF;}
.pf-ico{width:28px;height:28px;border-radius:8px;background:#F3F5F4;color:var(--ink2);display:grid;place-items:center;flex:none;}
.pf-ico svg{width:15px;height:15px;}
.pf-n{flex:1;min-width:0;display:flex;flex-direction:column;}
.pf-n b{font-size:12.5px;font-weight:500;}
.pf-n small{font-size:10.5px;color:var(--mute);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.pf-v{font-size:12.5px;font-weight:500;font-variant-numeric:tabular-nums;}
.pf-v,.pf-big b{transition:color .6s;}
.pf-v.tick,.pf-big b.tick{color:var(--g-deep);}
@keyframes pfpulse{0%,100%{opacity:1}50%{opacity:.35}}
@media (max-width:900px){.hero .pf{padding:11px 11px 6px;}.pf-big b{font-size:22px;}.pf-mix span + span,.pf-n small{display:none;}.pf-ico{width:22px;height:22px;}.pf-row{padding:6px 0;gap:7px;}.pf-n b,.pf-v{font-size:11px;}}
.logostrip{border-top:1px solid var(--line2);padding:36px 0 14px;}
.eco .andmore{display:block;text-align:right;}
.logostrip + .andmore{display:block;text-align:right;font-size:13.5px;font-weight:500;color:var(--slate);margin:0 0 30px;}
.ls-view{overflow:hidden;
  -webkit-mask-image:linear-gradient(90deg,transparent 0,#000 10%,#000 90%,transparent 100%);mask-image:linear-gradient(90deg,transparent 0,#000 10%,#000 90%,transparent 100%);}
.ls-track{display:flex;align-items:center;width:max-content;will-change:transform;}
.ls-track > .cl{margin-right:64px;flex:none;}
.ls-track img{-webkit-user-drag:none;}
@media (max-width:640px){.ls-track > .cl{margin-right:40px;}}
.logostrip{position:relative;}
.cl{position:relative;display:flex;align-items:center;gap:8px;text-decoration:none;}
.cl img{width:auto;filter:grayscale(1) brightness(.3);opacity:.72;transition:filter .25s var(--ease),opacity .25s var(--ease);}
.cl:hover img,.cl:focus-visible img{filter:none;opacity:1;}
.clarrow{flex:none;width:24px;height:24px;border-radius:50%;display:grid;place-items:center;background:var(--g);color:var(--forest);
  transition:transform .2s var(--ease);}
.cl.case:hover .clarrow{transform:translate(1px,-1px);}
.clpop{position:absolute;z-index:40;left:0;top:0;width:290px;display:flex;gap:12px;align-items:center;padding:10px;border-radius:18px;
  background:#fff;border:1px solid var(--line2);box-shadow:0 24px 50px -20px rgba(4,33,15,.35);text-decoration:none;color:var(--ink);
  opacity:0;visibility:hidden;transform:translateY(-6px);transition:opacity .18s var(--ease),transform .18s var(--ease),visibility .18s;}
.clpop[data-on="true"]{opacity:1;visibility:visible;transform:none;}
.clpop-img{flex:none;width:96px;aspect-ratio:4/3;border-radius:12px;overflow:hidden;background:#0d1a12;}
.clpop-img img{width:100%;height:100%;object-fit:cover;}
.clpop small{display:block;font-size:11px;font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:var(--g-deep);}
.clpop b{display:block;margin-top:4px;font-family:var(--display);font-weight:400;font-size:16px;line-height:1.25;letter-spacing:-.01em;}
.clpop i{display:block;margin-top:6px;font-style:normal;font-size:12px;font-weight:500;color:var(--g-text);}
@media (max-width:640px){.clpop{display:none;}}

/* ============ SCROLL STORY ============ */
.story{position:relative;height:520vh;margin:12px 0;}
.story-pin{position:sticky;top:0;height:100vh;height:100svh;margin:0;border-radius:0;}
.story-in{padding-top:84px;padding-bottom:28px;}
.story-pin .wrap{max-width:1440px;}
.story-in{height:100%;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);grid-template-rows:minmax(0,1fr);gap:56px;align-items:center;}
.story-vis{position:relative;height:100%;min-height:0;align-self:stretch;display:flex;align-items:center;justify-content:center;overflow:visible;}

.story-vis .vis{flex:none;transform-origin:center;transform:scale(var(--vs,1));}
.story-txt{display:flex;flex-direction:column;gap:30px;}
.tstack{position:relative;display:grid;}
.tstep{grid-area:1 / 1;align-self:center;display:flex;flex-direction:column;gap:16px;opacity:0;transform:translateY(32px);
  transition:opacity .55s var(--ease),transform .7s var(--ease);pointer-events:none;}
.tstep.on{opacity:1;transform:none;pointer-events:auto;}
.tstep.past{transform:translateY(-32px);}
.tstep .eyebrow{color:#B7F5D2;}
.tstep .h2{color:#fff;}
.tstep .tbody{margin:0;font-size:18px;line-height:1.6;color:rgba(255,255,255,.88);max-width:44ch;}
.tprog{display:flex;gap:8px;}
.tprog button{border:0;background:none;padding:8px 0;cursor:pointer;}
.tprog i{display:block;width:34px;height:4px;border-radius:4px;background:rgba(255,255,255,.28);transition:background .3s,width .4s var(--ease);}
.tprog button.on i{background:#fff;width:56px;}
.story-cta{display:flex;gap:10px;flex-wrap:wrap;}
.vis{position:relative;width:540px;height:580px;max-width:100%;}
.vis .ly{position:absolute;inset:0;transition:opacity .7s var(--ease),transform .9s var(--ease);}
/* stage 0: one home */
.l-home{display:grid;place-items:center;}
.homecard{position:relative;width:240px;height:240px;border-radius:30px;background:#fff;color:var(--g-deep);
  display:grid;place-items:center;box-shadow:0 30px 60px rgba(4,33,15,.2);}
.homecard > svg{width:92px;height:92px;}
.chip{position:absolute;display:flex;align-items:center;gap:8px;background:#fff;color:var(--forest);font-size:13.5px;font-weight:500;
  padding:9px 14px 9px 10px;border-radius:999px;box-shadow:0 14px 30px rgba(4,33,15,.16);white-space:nowrap;}
.chip svg{width:20px;height:20px;color:var(--g-deep);}
.chip.c1{left:-96px;top:-14px;}.chip.c2{right:-88px;top:22px;}.chip.c3{left:-74px;bottom:6px;}.chip.c4{right:-104px;bottom:-22px;}
.chip.c5{left:calc(50% - 40px);top:-60px;}
@media (max-width:640px){.chip.c5{top:-52px;left:calc(50% - 60px);}}
/* one home shrinks into its tile in the grid of homes */
.l-home{z-index:2;}
.homecard{transition:transform .65s var(--ease),background .5s var(--ease),box-shadow .5s var(--ease),border-radius .65s var(--ease),opacity .3s ease .6s;}
.homecard > svg{transition:transform .65s var(--ease);}
.chip{transition:opacity .3s var(--ease),transform .35s var(--ease);}
.vis:not([data-step="0"]) .homecard{transform:translate(var(--hx,0px),var(--hy,0px)) scale(var(--hs,.2));background:rgba(255,255,255,.4);
  box-shadow:none;border-radius:56px;opacity:0;}
.vis:not([data-step="0"]) .homecard > svg{transform:scale(.62);}
.vis:not([data-step="0"]) .chip{opacity:0;transform:scale(.7);}
.vis[data-step="0"] .homecard{transition:transform .9s var(--ease),background .6s var(--ease),box-shadow .6s var(--ease),border-radius .9s var(--ease),opacity .2s;}
/* stage 1+: many homes */
.l-grid{display:grid;grid-template-columns:repeat(8,1fr);gap:10px;align-content:center;padding:30px 18px;}
.l-grid span{aspect-ratio:1;border-radius:12px;background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.28);
  display:grid;place-items:center;color:#fff;animation:homePulse 3.4s ease-in-out infinite;
  opacity:0;transform:scale(.4);transition:opacity .5s var(--ease),transform .6s var(--ease);}
.vis:not([data-step="0"]) .l-grid span{opacity:1;transform:none;transition-delay:calc(var(--d,0) * 45ms + .4s);}
.l-grid span.me{background:rgba(255,255,255,.42);border-color:rgba(255,255,255,.7);animation:none;}
.vis:not([data-step="0"]) .l-grid span.me{transition-delay:.5s;}
.l-grid span svg{width:46%;height:46%;}
@keyframes homePulse{0%,100%{background:rgba(255,255,255,.12);}50%{background:rgba(255,255,255,.34);}}
.vis .l-grid{opacity:1;}
.vis[data-step="2"] .l-grid,.vis[data-step="3"] .l-grid,.vis[data-step="4"] .l-grid{opacity:.16;}
/* stage 2+: workspace */
.l-ws{display:grid;place-items:center;opacity:0;transform:scale(.92);}
.vis[data-step="2"] .l-ws,.vis[data-step="4"] .l-ws{opacity:1;transform:none;}
.vis[data-step="3"] .l-ws{opacity:1;transform:translateY(-34px) scale(.94);}
.vis[data-step="4"] .l-ws{transform:scale(.86);}
.l-ok{display:flex;align-items:flex-end;justify-content:center;padding-bottom:56px;opacity:0;transform:translateY(20px);pointer-events:none;}
.vis[data-step="3"] .l-ok{opacity:1;transform:none;transition-delay:.25s;}
.okcard{display:flex;align-items:center;gap:12px;background:#fff;color:var(--ink);border-radius:18px;padding:12px 12px 12px 16px;box-shadow:0 20px 44px rgba(4,33,15,.28);font-size:13.5px;}
.okcard b{display:block;font-weight:500;}
.okcard small{display:block;font-size:12px;color:var(--slate);}
.okcard .okd{width:9px;height:9px;border-radius:50%;background:#E8B23A;flex:none;}
.okcard i{font-style:normal;font-size:12.5px;font-weight:500;background:var(--g);color:var(--forest);padding:7px 13px;border-radius:999px;}
.vcap{position:absolute;left:50%;bottom:-46px;transform:translateX(-50%);display:flex;align-items:center;gap:10px;white-space:nowrap;
  padding:7px 16px 7px 8px;border-radius:999px;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.3);color:#fff;font-size:13px;}
.vcap span{font-size:11.5px;font-weight:500;letter-spacing:.06em;background:rgba(255,255,255,.2);border-radius:999px;padding:3px 9px;}
.vcap b{font-weight:500;}
.wsbox{width:400px;max-width:86%;border-radius:30px;background:#fff;color:var(--ink);padding:26px;box-shadow:0 30px 70px rgba(4,33,15,.24);}
.wsbox .wtitle{display:flex;align-items:center;justify-content:space-between;margin:0 0 18px;}
.wsbox .wtitle b{display:flex;align-items:center;gap:10px;font-family:var(--display);font-weight:400;font-size:17px;letter-spacing:-.015em;}
.wsbox .wtitle b img{width:22px;height:22px;flex:none;}
.wsbox .wtitle small{font-size:12px;color:var(--g-deep);display:flex;align-items:center;gap:6px;}
.wsbox .wtitle small::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--g);animation:blink 2.4s ease-in-out infinite;}
@keyframes blink{0%,100%{opacity:.35}50%{opacity:1}}
.ops{display:flex;flex-direction:column;gap:10px;}
.op{display:flex;align-items:center;gap:14px;padding:13px 14px;border-radius:18px;background:var(--panel);border:1px solid var(--line);}
.op .ico{width:40px;height:40px;border-radius:12px;}
.op .ico svg{width:20px;height:20px;}
.op b{display:block;font-size:14.5px;font-weight:500;}
.op small{display:block;font-size:12.5px;color:var(--slate);}
/* stage 3+: agents */
.l-ag{opacity:0;pointer-events:none;}
.vis[data-step="3"] .l-ag{opacity:1;}
.cur{position:absolute;display:flex;align-items:flex-start;gap:4px;}
.cur svg{width:18px;height:18px;margin-top:-4px;}
.cur .tag{display:flex;align-items:center;gap:7px;padding:4px 11px 4px 4px;border-radius:999px;font-size:12.5px;font-weight:500;
  box-shadow:0 10px 24px rgba(4,33,15,.18);white-space:nowrap;}
.cur .tag img{width:24px;height:24px;border-radius:50%;background:#fff;}
.cA{left:4%;top:16%;animation:curA 11s ease-in-out infinite alternate;}
.cB{left:56%;top:8%;animation:curB 13s ease-in-out infinite alternate;}
.cC{left:2%;top:74%;animation:curC 12s ease-in-out infinite alternate;}
.cD{left:58%;top:82%;animation:curD 14s ease-in-out infinite alternate;}
@keyframes curA{0%{transform:translate(0,0)}50%{transform:translate(60px,34px)}100%{transform:translate(18px,70px)}}
@keyframes curB{0%{transform:translate(0,0)}50%{transform:translate(-70px,40px)}100%{transform:translate(-20px,84px)}}
@keyframes curC{0%{transform:translate(0,0)}50%{transform:translate(56px,-40px)}100%{transform:translate(100px,-8px)}}
@keyframes curD{0%{transform:translate(0,0)}50%{transform:translate(-60px,-34px)}100%{transform:translate(-100px,10px)}}
/* stage 4: open ecosystem */
.l-eco{opacity:0;transform:scale(1.06);border-radius:40px;border:1.5px dashed rgba(255,255,255,.6);pointer-events:none;}
.vis[data-step="4"] .l-eco{opacity:1;transform:none;}
.l-eco .elabel{position:absolute;left:50%;top:-13px;transform:translateX(-50%);background:#0E8D46;color:#fff;
  padding:3px 14px;border-radius:999px;font-size:11.5px;letter-spacing:.14em;text-transform:uppercase;}
.l-eco .sys{position:absolute;background:#fff;color:var(--forest);font-size:13px;font-weight:500;padding:8px 14px;border-radius:999px;
  box-shadow:0 10px 24px rgba(4,33,15,.16);}
/* side pills are centred on the dashed border, two per side, mirrored */
.l-eco .s1,.l-eco .s5{left:0;transform:translateX(-50%);}
.l-eco .s2,.l-eco .s6{right:0;transform:translateX(50%);}
.l-eco .s1,.l-eco .s2{top:26%;}
.l-eco .s5,.l-eco .s6{top:76%;}
.l-eco .s3{left:14%;bottom:-17px;}.l-eco .s4{right:12%;bottom:-17px;}
.l-eco .sys{white-space:nowrap;}
/* ============ METRICS ============ */
.metrics .wrap{padding-top:72px;padding-bottom:72px;}
.mgrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;margin-top:44px;}
.m{padding:6px 32px;display:flex;flex-direction:column;gap:10px;border-left:1px solid rgba(4,33,15,.22);}
.m:first-child{padding-left:0;border-left:0;}
.m:last-child{padding-right:0;}
@media (max-width:1024px){.mgrid{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:36px;}.m.m{padding:6px 28px;border-left:1px solid rgba(4,33,15,.22);}.m.m:nth-child(odd){padding-left:0;border-left:0;}.m.m:nth-child(even){padding-right:0;}}
@media (max-width:560px){.mgrid{grid-template-columns:minmax(0,1fr);}.m.m.m{padding:0 0 28px;border-left:0;border-bottom:1px solid rgba(4,33,15,.22);}.m:last-child{border-bottom:0;padding-bottom:0;}}
.m .v{font-family:var(--display);font-weight:300;font-size:clamp(46px,5vw,66px);line-height:1;letter-spacing:-.04em;color:var(--forest);}
.m .v small{font-size:.5em;letter-spacing:-.01em;margin-left:2px;}
.m .l{font-size:15.5px;line-height:1.45;color:var(--forest);}
.m .s{margin-top:auto;padding-top:14px;font-size:12px;font-weight:500;letter-spacing:.08em;text-transform:uppercase;color:#0A5A2C;}

/* ============ RETAILERS: scrolling feature track ============ */
.ret .wrap{padding-top:120px;padding-bottom:0;}
.ftnav{display:flex;align-items:center;gap:22px;}
.ftarrows{display:flex;gap:8px;}
.ftarrows button{width:44px;height:44px;border-radius:12px;border:1px solid var(--line2);background:#fff;color:var(--ink);display:grid;place-items:center;cursor:pointer;
  transition:border-color .14s var(--ease),opacity .14s var(--ease);}
.ftarrows button:hover{border-color:var(--g);}
.ftarrows button:disabled{opacity:.35;cursor:default;border-color:var(--line2);}
.ftarrows svg{width:18px;height:18px;}
.ftrack{display:flex;gap:20px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;scrollbar-width:none;
  padding:48px max(40px, calc((100vw - 1280px) / 2 + 40px)) 40px;
  scroll-padding-left:max(40px, calc((100vw - 1280px) / 2 + 40px));
  -webkit-mask-image:linear-gradient(90deg,#000 0,#000 calc(100% - 220px),transparent 100%);mask-image:linear-gradient(90deg,#000 0,#000 calc(100% - 220px),transparent 100%);
  transition:-webkit-mask-image .3s,mask-image .3s;}
.ftrack::-webkit-scrollbar{display:none;}
/* feature track: nav hugs the right edge; drag the track sideways */
.ftnav{margin-left:auto;}
.ftrack{cursor:grab;}
.ftrack.dragging{cursor:grabbing;scroll-snap-type:none;scroll-behavior:auto;user-select:none;}
.ftrack.dragging *{pointer-events:none;}
.ftrack img{-webkit-user-drag:none;user-select:none;}

.ftrack.at-end{-webkit-mask-image:none;mask-image:none;}
.fcard{flex:0 0 min(470px,84vw);scroll-snap-align:start;background:var(--panel);border:1px solid var(--line);border-radius:26px;
  display:flex;flex-direction:column;overflow:hidden;min-height:560px;}
.ftop{padding:30px 30px 0;display:flex;flex-direction:column;gap:10px;}
.flab{margin:0 0 8px;display:flex;align-items:center;gap:8px;font-size:15px;font-weight:500;color:var(--g-deep);}
.flab svg{width:20px;height:20px;}
.ftop h3{margin:0;font-family:var(--display);font-size:22px;font-weight:400;letter-spacing:-.015em;line-height:1.25;color:var(--ink);}
.ftop > p:not(.flab){margin:0;font-size:15px;line-height:1.6;color:var(--slate);}
.fstage{position:relative;flex:1;margin-top:28px;padding:0 30px;display:flex;flex-direction:column;justify-content:flex-end;}
.fapp{background:#fff;border:1px solid var(--line);border-bottom:0;border-radius:18px 18px 0 0;padding:18px 20px 0;box-shadow:0 -16px 40px -30px rgba(4,33,15,.25);}
.fapp-h{display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding-bottom:12px;border-bottom:1px solid var(--line);}
.fapp-h span{font-size:13px;color:var(--mute);}
.fapp-h b{font-family:var(--display);font-weight:400;font-size:26px;letter-spacing:-.02em;color:var(--ink);font-variant-numeric:tabular-nums;}
.fapp-h b.fsmall{font-size:16px;font-family:var(--body);font-weight:500;}
.fapp-h b span{font-size:inherit;color:inherit;}
.flist{list-style:none;margin:0;padding:0;height:168px;overflow:hidden;}
.flist li{display:flex;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid var(--line);animation:frow .5s var(--ease) both;}
.flist li i{width:30px;height:30px;flex:none;border-radius:9px;background:var(--panel);display:grid;place-items:center;}
.flist li i img{max-width:20px;max-height:16px;object-fit:contain;}
.flist li span{flex:1;min-width:0;font-size:14px;color:var(--ink);}
.flist li span small{display:block;font-size:12px;color:var(--mute);margin-top:2px;}
.flist li em{font-style:normal;font-size:13px;font-weight:500;color:var(--g-text);font-variant-numeric:tabular-nums;}
.flist li em.st{font-size:11.5px;padding:3px 9px;border-radius:999px;background:rgba(20,203,98,.12);}
@keyframes frow{from{opacity:0;transform:translateY(-14px)}to{opacity:1;transform:none}}
.fbadge{position:absolute;left:50%;bottom:26px;transform:translate(-50%,16px);opacity:0;display:flex;align-items:center;gap:9px;white-space:nowrap;
  background:var(--ink);color:#fff;font-size:13.5px;padding:11px 18px;border-radius:999px;box-shadow:0 16px 30px -14px rgba(4,33,15,.45);
  transition:opacity .4s var(--ease),transform .4s var(--ease);}
.fbadge.on{opacity:1;transform:translate(-50%,0);}
.fbadge i{width:8px;height:8px;border-radius:50%;background:var(--g);}
/* two-row logo carousel, rows run in opposite directions, ends fade */
.lgmarq{position:relative;width:100%;overflow:hidden;display:flex;flex-direction:column;gap:22px;padding:14px 0;
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 16%,#000 84%,transparent);mask-image:linear-gradient(90deg,transparent,#000 16%,#000 84%,transparent);}
.lgmarq-t{display:flex;align-items:center;gap:48px;width:max-content;animation:lgmL 30s linear infinite;}
.lgmarq-t.r{animation-name:lgmR;}
.lgmarq-t img{width:auto;flex:none;max-width:none;object-fit:contain;}
.lgmarq:hover .lgmarq-t{animation-play-state:paused;}
@keyframes lgmL{from{transform:translateX(0)}to{transform:translateX(calc(-50% - 24px))}}
@keyframes lgmR{from{transform:translateX(calc(-50% - 24px))}to{transform:translateX(0)}}
@media (prefers-reduced-motion:reduce){.lgmarq-t{animation:none;}}
.fbrands{display:flex;justify-content:center;gap:10px;}
.fbrands span{width:52px;height:52px;border-radius:14px;background:#fff;border:1px solid var(--line);display:grid;place-items:center;padding:9px;
  box-shadow:0 8px 20px -14px rgba(4,33,15,.3);transition:border-color .3s,transform .3s var(--ease);}
.fbrands span.on{border-color:var(--g);transform:translateY(-3px);}
.fbrands img{max-width:100%;max-height:22px;object-fit:contain;}
.fwires{display:block;width:calc(100% - 80px);height:28px;margin:0 auto -1px;}
.fwires path{fill:none;stroke:#D5DBD7;stroke-width:1.2;vector-effect:non-scaling-stroke;}
.fapp-c .flist{height:154px;}
.fhealth{list-style:none;margin:0;padding:0 0 6px;}
.fhealth li{display:flex;align-items:center;gap:12px;padding:13px 0;border-bottom:1px solid var(--line);transition:background .4s;}
.fhealth li span{flex:1;min-width:0;}
.fhealth li b{display:block;font-weight:500;font-size:14px;color:var(--ink);}
.fhealth li small{display:block;font-size:12px;color:var(--mute);margin-top:2px;}
.fhealth em{font-style:normal;font-size:12px;font-weight:500;padding:4px 10px;border-radius:999px;transition:background .35s,color .35s;}
.fhealth em.ok{background:rgba(20,203,98,.12);color:var(--g-text);}
.fhealth em.bad{background:#FCE9E7;color:#B4321F;}
.fhealth em.fix{background:#E8EEF8;color:#2D4C7C;}
.fagent{position:absolute;right:46px;top:96px;display:flex;align-items:center;gap:10px;padding:7px 16px 7px 7px;border-radius:999px;
  background:rgba(220,232,248,.95);color:#26446F;box-shadow:0 14px 30px -14px rgba(4,33,15,.35);
  opacity:0;transform:translateX(18px);transition:opacity .4s var(--ease),transform .4s var(--ease);}
.fagent.on{opacity:1;transform:none;}
.fagent img{width:30px;height:30px;border-radius:50%;background:#fff;}
.fagent b{display:block;font-size:13px;font-weight:500;}
.fagent small{display:block;font-size:11.5px;opacity:.8;}
.fbars{display:flex;align-items:flex-end;gap:4px;height:132px;padding-top:16px;}
.fbars i{flex:1;border-radius:4px 4px 2px 2px;background:#DDE3DF;transition:height .6s var(--ease),background .3s;}
.fbars i.cheap{background:rgba(20,203,98,.45);}
.fbars i.on{background:var(--g);}
.fhours{display:flex;justify-content:space-between;padding:8px 0 64px;font-size:11px;color:var(--mute);font-variant-numeric:tabular-nums;}
.foffer{position:absolute;left:22px;right:22px;top:6px;z-index:3;display:flex;gap:11px;align-items:flex-start;padding:12px 14px;border-radius:18px;
  background:rgba(255,255,255,.88);backdrop-filter:blur(14px) saturate(1.3);-webkit-backdrop-filter:blur(14px) saturate(1.3);
  border:1px solid rgba(4,33,15,.08);box-shadow:0 18px 38px -18px rgba(4,33,15,.42);
  opacity:0;transform:translateY(-14px) scale(.97);animation:foffer 7s var(--ease) infinite 1.2s;}
.fo-ico{flex:none;width:34px;height:34px;border-radius:10px;display:grid;place-items:center;background:var(--g);color:var(--forest);}
.fo-ico svg{width:18px;height:18px;animation:fring 7s ease infinite 1.2s;transform-origin:50% 15%;}
.fo-t{display:flex;flex-direction:column;gap:2px;min-width:0;}
.fo-t small{font-size:11px;color:var(--mute);}
.fo-t b{font-size:14px;font-weight:500;color:var(--ink);line-height:1.3;}
.fo-t i{font-style:normal;font-size:12.5px;color:var(--slate);line-height:1.4;}
@keyframes foffer{0%{opacity:0;transform:translateY(-14px) scale(.97)}8%,62%{opacity:1;transform:none}72%,100%{opacity:0;transform:translateY(-10px) scale(.98)}}
@keyframes fring{8%{transform:rotate(0)}11%{transform:rotate(14deg)}14%{transform:rotate(-12deg)}17%{transform:rotate(8deg)}20%,100%{transform:rotate(0)}}
@media (prefers-reduced-motion:reduce){.foffer{animation:none;opacity:1;transform:none}.fo-ico svg{animation:none}}
.fbar{position:absolute;left:30px;right:30px;bottom:20px;display:flex;align-items:center;justify-content:space-between;gap:12px;
  background:var(--ink);color:#fff;border-radius:14px;padding:12px 12px 12px 18px;font-size:13.5px;}
.fbar b{font-weight:600;font-variant-numeric:tabular-nums;}
.fbar em{font-style:normal;background:#fff;color:var(--ink);font-size:13px;font-weight:500;padding:7px 14px;border-radius:9px;white-space:nowrap;transition:transform .15s var(--ease),background .2s;}
.fbar em.press{transform:scale(.94);background:#D7F5E3;}
@media (max-width:900px){
  .lvls{grid-template-columns:repeat(5,minmax(0,1fr));gap:6px;}
  .lv{height:calc(96px + var(--i) * 22px);padding:12px 10px;border-radius:16px;}
  .lv b{font-size:14px;}
  .lv .n{font-size:10px;letter-spacing:.06em;}
  .lv .tk{display:none;}
  .ftnav{width:100%;justify-content:space-between;}
  .ftrack{padding-left:20px;padding-right:20px;scroll-padding-left:20px;
    -webkit-mask-image:linear-gradient(90deg,#000 0,#000 calc(100% - 90px),transparent 100%);mask-image:linear-gradient(90deg,#000 0,#000 calc(100% - 90px),transparent 100%);}
  .fcard{min-height:520px;}
  .ftop{padding:24px 24px 0;}
  .fstage{padding:0 22px;}
  .fbar{left:22px;right:22px;}
  .fagent{right:28px;}
}
@media (max-width:480px){.ftarrows{display:none;}.fbrands span{width:44px;height:44px;}}

/* ============ HOW IT WORKS ============ */
.how .wrap{padding-top:120px;padding-bottom:40px;}
.how-grid{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:56px;align-items:center;}
.layers{display:flex;flex-direction:column;gap:8px;}
.layer{text-align:left;font:inherit;color:inherit;cursor:pointer;background:none;border:0;border-radius:22px;padding:22px 24px;
  display:flex;gap:16px;transition:background .3s var(--ease);}
.layer:hover{background:var(--panel);}
.layer .dot{width:10px;height:10px;border-radius:50%;background:#C9D1CB;margin-top:9px;flex:none;transition:background .3s,box-shadow .3s;}
.layer b{display:block;font-family:var(--display);font-weight:400;font-size:24px;letter-spacing:-.02em;color:var(--mute);transition:color .3s;}
.layer p{margin:8px 0 0;font-size:15.5px;line-height:1.6;color:var(--slate);max-height:0;overflow:hidden;opacity:0;transition:max-height .5s var(--ease),opacity .4s;}
.layer.on{background:var(--panel);}
.layer.on .dot{background:var(--g);box-shadow:0 0 0 5px rgba(20,203,98,.18);}
.layer.on b{color:var(--ink);}
.layer.on p{max-height:120px;opacity:1;}
.iso{position:relative;height:580px;--pw:380px;}
.ipw{position:absolute;left:50%;width:0;height:0;animation:ifloat 7s ease-in-out infinite;}
.ip-data{top:64%;animation-delay:-3.5s;}
.ip-ws{top:39%;}
.iplate{position:absolute;left:calc(var(--pw) / -2);top:calc(var(--pw) / -2);width:var(--pw);height:var(--pw);border-radius:44px;
  transform:rotateX(58deg) rotateZ(-40deg);transition:transform .7s var(--ease),box-shadow .7s var(--ease),border-color .7s var(--ease),background .7s var(--ease);}
.ip-data .iplate{background:linear-gradient(160deg,#E9FAF0,#DDF6E8);border:1.5px solid rgba(20,203,98,.75);box-shadow:0 40px 80px -40px rgba(20,203,98,.35);}
.ip-ws .iplate{background:#fff;border:1px solid #E3E7E4;box-shadow:0 50px 70px -34px rgba(4,33,15,.22);}
.iplate{opacity:.38;filter:saturate(.4);}
.ipw.on .iplate{opacity:1;filter:none;transform:translateY(-22px) rotateX(58deg) rotateZ(-40deg);}
.iplate{transition:transform .7s var(--ease),box-shadow .7s var(--ease),border-color .7s var(--ease),background .7s var(--ease),opacity .6s var(--ease),filter .6s var(--ease);}
.ip-ws.on .itrack{stroke:var(--g);}
.ip-ws.on .inode circle{stroke:var(--g);}
.ilab{transition:color .5s var(--ease);}
.ipw.on .ilab{color:var(--g-deep);}
.ip-data.on .iplate{border-color:var(--g);box-shadow:0 0 0 6px rgba(20,203,98,.10),0 50px 90px -40px rgba(20,203,98,.55);}
.ip-ws.on .iplate{box-shadow:0 0 0 6px rgba(20,203,98,.10),0 60px 80px -34px rgba(4,33,15,.3);}
.ilab{position:absolute;right:34px;bottom:26px;font-size:12px;font-weight:500;letter-spacing:.2em;text-transform:uppercase;color:var(--ink);}
.ip-data .ilab{right:auto;left:50%;bottom:auto;top:50%;transform:translate(-50%,-50%);}
.iring{position:absolute;inset:0;width:100%;height:100%;}
.itrack{fill:none;stroke:#DDE2DE;stroke-width:1.2;}
.inode circle{fill:#fff;stroke:#CFD5D1;stroke-width:1.2;}
.inode text{font:500 10px Inter,sans-serif;letter-spacing:.16em;fill:var(--ink2);}
.iorbit{transform-origin:180px 180px;animation:spin 16s linear infinite;}
.iorbit circle{fill:var(--g);}
.iagents{position:absolute;inset:0;pointer-events:none;transition:opacity .6s var(--ease),transform .7s var(--ease);opacity:.18;}
.iagents.on{opacity:1;transform:translateY(-10px);}
.iagents.on .ichip-in{box-shadow:0 0 0 4px rgba(20,203,98,.14),0 14px 30px -14px rgba(4,33,15,.35);}
.ichip{position:absolute;display:flex;align-items:flex-start;gap:2px;animation:ibob 5s ease-in-out infinite;}
.ichip-in{display:flex;align-items:center;gap:8px;padding:5px 14px 5px 5px;border-radius:999px;font-size:13px;font-weight:500;white-space:nowrap;
  backdrop-filter:blur(6px);box-shadow:0 10px 24px -14px rgba(4,33,15,.3);}
.ichip-in img{width:24px;height:24px;border-radius:50%;background:#fff;}
.icur{width:14px;height:14px;margin-top:-10px;}
.ichip.a1{left:14%;top:8%;}
.ichip.a2{left:60%;top:16%;animation-delay:-1.2s;}
.ichip.a3{left:20%;top:33%;animation-delay:-2.6s;}
.ichip.a4{left:57%;top:41%;animation-delay:-3.8s;}
@keyframes ifloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-10px)}}
@keyframes ibob{0%,100%{transform:translate(0,0)}50%{transform:translate(4px,-7px)}}
@media (max-width:900px){.iso{height:470px;--pw:290px;}.ichip-in{font-size:12px;}}
@media (max-width:480px){.iso{height:400px;--pw:230px;}.ichip.a2{left:48%;}.ichip.a4{left:46%;}}
@media (prefers-reduced-motion:reduce){.ipw,.ichip,.iorbit{animation:none;}}


/* ============ TABS ============ */
.tabs .wrap{padding-top:120px;padding-bottom:40px;}
.pills{display:flex;gap:8px;flex-wrap:wrap;}
.pill{font:inherit;font-size:14px;cursor:pointer;padding:10px 18px;border-radius:999px;border:1px solid var(--line2);background:#fff;color:var(--ink2);
  transition:background .2s,color .2s,border-color .2s;}
.pill:hover{border-color:var(--ink);}
.pill[aria-selected="true"]{background:var(--ink);color:#fff;border-color:var(--ink);}
.tabtext{margin:22px 0 0;font-size:17px;color:var(--slate);min-height:28px;}
.tabs .shot{height:620px;margin-top:28px;}
.tabs .frame img{transition:opacity .35s var(--ease);}
.tabs .shot .frame{transition:width .45s var(--ease),left .45s var(--ease),top .45s var(--ease);}
.tabs .shot .frame{width:auto!important;left:40px!important;right:0;top:40px!important;bottom:0;}
.tabs .shot .frame img{object-fit:cover;object-position:left top;}

/* ============ CUSTOMERS ============ */
.cust .wrap{padding-top:120px;padding-bottom:40px;}
.acc{display:flex;gap:12px;height:500px;}
.ac{position:relative;flex:0 0 96px;border-radius:30px;overflow:hidden;cursor:pointer;border:0;padding:0;background:#0d1a12;
  transition:flex .7s var(--ease);font:inherit;text-align:left;}
.ac.on{flex:1 1 0%;cursor:default;}
.ac img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.6;transition:opacity .7s var(--ease),transform 1.2s var(--ease);}
.ac.on img{opacity:1;}
.ac::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,0) 45%,rgba(0,0,0,.55));}
.ac .badge{position:absolute;left:22px;top:22px;z-index:2;display:flex;align-items:center;gap:6px;padding:7px 14px;border-radius:999px;
  background:rgba(255,255,255,.88);backdrop-filter:blur(8px);font-size:12.5px;color:var(--ink2);opacity:0;transition:opacity .4s;}
.ac.on .badge{opacity:1;transition-delay:.3s;}
.ac .badge b{font-weight:600;}
.ac .who{position:absolute;left:24px;bottom:22px;z-index:2;color:#fff;opacity:0;transition:opacity .4s;}
.ac.on .who{opacity:1;transition-delay:.3s;}
.ac .who b{display:block;font-size:17px;font-weight:500;}
.ac .who small{font-size:13.5px;opacity:.85;}
.ac .vlabel{position:absolute;left:50%;bottom:28px;z-index:2;transform:translateX(-50%) rotate(180deg);writing-mode:vertical-rl;
  color:#fff;font-size:14px;font-weight:500;letter-spacing:.02em;transition:opacity .3s;}
.ac.on .vlabel{opacity:0;}
.quote{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,.6fr);gap:40px;align-items:end;margin-top:36px;}
.quote blockquote{margin:0;font-family:var(--display);font-weight:300;font-size:clamp(26px,3vw,36px);line-height:1.22;letter-spacing:-.02em;text-wrap:pretty;}
.quote cite{display:block;margin-top:18px;font-style:normal;font-size:14.5px;color:var(--slate);}
.quote cite b{color:var(--ink);font-weight:500;}
.result{background:var(--panel);border:1px solid var(--line);border-radius:26px;padding:24px 26px;display:flex;flex-direction:column;gap:12px;}
.result small{font-size:12px;font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:var(--g-deep);}
.result b{font-family:var(--display);font-weight:400;font-size:24px;line-height:1.2;letter-spacing:-.02em;}

/* ============ WHO WE SERVE ============ */
.who .wrap{padding-top:120px;padding-bottom:40px;}
.who-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:16px;}
.wcard{border-radius:32px;padding:40px;display:flex;flex-direction:column;gap:18px;min-height:400px;text-decoration:none;color:inherit;
  transition:transform .25s var(--ease),box-shadow .25s var(--ease);}
.wcard:hover{transform:translateY(-3px) scale(1.012);color:inherit;box-shadow:0 28px 50px -26px rgba(4,33,15,.42);}
.wcard.light{background:var(--panel);border:1px solid var(--line);}
.wcard.light:hover{box-shadow:0 28px 50px -26px rgba(4,33,15,.42);}
.wcard .bigico{width:64px;height:64px;border-radius:18px;display:grid;place-items:center;margin-top:-58px;position:relative;z-index:2;box-shadow:0 0 0 6px var(--panel);}
.wcard.g-bright .bigico{box-shadow:0 0 0 6px #5BDD95;}
.wpic{position:relative;display:block;height:240px;border-radius:24px;overflow:hidden;margin:-16px -16px 0;}
.wpic img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s var(--ease);}
.wcard:hover .wpic img{transform:scale(1.04);}
.wcard .bigico svg{width:32px;height:32px;}
.wcard.g-bright .bigico{background:rgba(255,255,255,.9);color:var(--forest);}
.wcard.light .bigico{background:#F2FBF6;border:1px solid #DDF3E6;color:var(--g-deep);}
.wcard .kick{font-size:12.5px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;margin:0;}
.wcard.g-bright .kick{color:var(--forest);}
.wcard.light .kick{color:var(--g-deep);}
.wcard h3{margin:0;font-family:var(--display);font-weight:300;font-size:clamp(30px,3.2vw,42px);line-height:1.08;letter-spacing:-.025em;}
.wcard p{margin:0;font-size:16.5px;line-height:1.55;max-width:44ch;}
.wcard.g-bright p{color:#0B3A1C;}
.wcard.light p{color:var(--slate);}
.wcard .go{display:inline-flex;align-items:center;gap:8px;font-weight:500;font-size:15px;margin-top:6px;}

/* ============ MATURITY ============ */
.mat{background:radial-gradient(70% 80% at 100% 0%,rgba(20,203,98,.15),rgba(20,203,98,0) 60%),#F4F6F4;}
.mat .wrap{padding-top:88px;padding-bottom:56px;}
.mat .lv:not(.on):not(.done),.mat .lvinfo > div{background:#fff;}
/* a rising staircase: each level a step taller than the last */
.lvls{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;align-items:end;margin-top:8px;}
.lv{position:relative;text-align:left;font:inherit;cursor:pointer;border:1px solid var(--line);border-radius:22px;padding:20px 20px 18px;
  background:var(--panel);color:var(--mute);display:flex;flex-direction:column;justify-content:space-between;
  height:calc(128px + var(--i) * 34px);
  transition:background .45s var(--ease),border-color .45s var(--ease),color .3s,transform .45s var(--ease),box-shadow .45s var(--ease);}
.lv:hover{border-color:var(--g);}
.lv .n{display:block;font-size:12px;font-weight:500;letter-spacing:.1em;text-transform:uppercase;}
.lv b{display:block;font-family:var(--display);font-weight:400;font-size:22px;letter-spacing:-.02em;line-height:1.15;}
.lv .tk{position:absolute;top:18px;right:18px;width:22px;height:22px;border-radius:50%;display:grid;place-items:center;opacity:0;transition:opacity .3s;}
.lv .tk svg{width:13px;height:13px;}
.lv.done{background:rgba(20,203,98,.12);border-color:rgba(20,203,98,.28);color:var(--g-text);}
.lv.done .tk{opacity:1;background:rgba(20,203,98,.2);}
.lv.on{background:var(--g);border-color:var(--g);color:var(--forest);transform:translateY(-8px);box-shadow:0 22px 40px -18px rgba(20,203,98,.6);}
.lv.on .tk{opacity:0;}
.lv.on::after{content:"";position:absolute;left:50%;bottom:-20px;width:8px;height:8px;margin-left:-4px;border-radius:50%;background:var(--g);}
.lvinfo{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:40px;}
.lvinfo div{background:var(--panel);border:1px solid var(--line);border-radius:24px;padding:24px 26px;}
.lvinfo small{display:block;font-size:12px;font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:var(--mute);}
.lvinfo p{margin:10px 0 0;font-size:17px;line-height:1.5;transition:opacity .25s;}
.workshop{margin-top:16px;border-radius:32px;padding:44px;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:44px;align-items:center;}
.workshop .h2{color:#fff;font-size:clamp(32px,3.4vw,46px);}
.workshop p.sub{margin:16px 0 28px;font-size:17px;color:rgba(255,255,255,.86);}
.wsteps{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px;counter-reset:s;}
.wsteps li{counter-increment:s;display:flex;align-items:center;gap:16px;padding:18px 20px;border-radius:20px;
  background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.22);font-size:16px;}
.wsteps li::before{content:"0" counter(s);font-size:12.5px;font-weight:500;color:#B7F5D2;letter-spacing:.06em;}

/* ============ ECOSYSTEM (dark) ============ */
.eco{color:#fff;background:radial-gradient(70% 90% at 100% 0%,rgba(20,203,98,.16),rgba(20,203,98,0) 62%),radial-gradient(60% 80% at 0% 100%,rgba(20,203,98,.07),rgba(20,203,98,0) 60%),linear-gradient(160deg,#2A302C 0%,#161B18 48%,#070A08 100%);}
.eco .wrap{padding-top:88px;padding-bottom:84px;}
.eco .h2 em{color:var(--g);}
.eco .lead{color:rgba(255,255,255,.66);}
.marq{-webkit-mask-image:linear-gradient(90deg,transparent,#000 10%,#000 90%,transparent);mask-image:linear-gradient(90deg,transparent,#000 10%,#000 90%,transparent);overflow:hidden;margin-top:14px;}
.mt{display:flex;gap:12px;width:max-content;animation:marq 60s linear infinite;}
#ecoA,#ecoB{gap:28px;}
.mt.rev{animation-direction:reverse;animation-duration:70s;}
.mt.slow{animation-duration:80s;}
@keyframes marq{from{transform:translateX(0)}to{transform:translateX(-33.3333%)}}
.lp{height:64px;padding:0 24px;display:flex;align-items:center;justify-content:center;flex:none;}
.lp img{width:auto;max-width:150px;object-fit:contain;opacity:.72;transition:opacity .25s var(--ease);}
.lp:hover img{opacity:1;}
.marq:hover .mt{animation-play-state:paused;}
.lp.t{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.18);color:#fff;font-size:14.5px;font-weight:500;}
.cp{height:44px;padding:0 20px;border-radius:999px;border:1px solid rgba(255,255,255,.18);display:flex;align-items:center;flex:none;font-size:14px;color:rgba(255,255,255,.8);}
.eco .textlink{color:var(--g);margin-top:40px;}
.eco .textlink:hover{color:#fff;}

/* ============ SYSTEMS DIAL ============ */
.sys .wrap{padding-top:120px;padding-bottom:40px;}
.fan{position:relative;width:min(980px,100%);margin:36px auto 0;aspect-ratio:2/1.02;overflow:hidden;}
.fan-disc{position:absolute;left:0;right:0;top:0;aspect-ratio:1;}
.fan-disc::before{content:"";position:absolute;inset:7%;border-radius:50%;border:1.5px dashed #DCE1DD;}
.fan-inner{position:absolute;inset:23%;border-radius:50%;border:1px solid #E6E9E6;}
.fan-ring{position:absolute;inset:0;}
.fan{cursor:grab;touch-action:pan-y;user-select:none;-webkit-user-select:none;}
.fan.drag{cursor:grabbing;}
.fan img{-webkit-user-drag:none;pointer-events:none;}

.ft{position:absolute;width:86px;height:86px;margin:-43px 0 0 -43px;border-radius:22px;background:#fff;border:1px solid var(--line);
  box-shadow:0 18px 36px -18px rgba(4,33,15,.28);display:grid;place-items:center;}
.ft > span{display:grid;place-items:center;width:100%;height:100%;padding:16px;}
.ft img{max-width:100%;max-height:44px;width:auto;object-fit:contain;}
.ft em{font-style:normal;font-size:13px;font-weight:500;color:var(--ink2);}
.ft.plus em{font-size:24px;font-weight:300;color:var(--g-deep);}
.fan-hub{position:absolute;left:50%;top:50%;width:30%;aspect-ratio:1;transform:translate(-50%,-50%);border-radius:50%;
  background:#06140B;color:#fff;display:grid;place-items:center;overflow:hidden;
  box-shadow:0 0 0 14px rgba(20,203,98,.06),0 0 120px 40px rgba(20,203,98,.22);animation:hubglow 4.5s ease-in-out infinite;}
@keyframes hubglow{0%,100%{box-shadow:0 0 0 14px rgba(20,203,98,.06),0 0 110px 34px rgba(20,203,98,.18);}50%{box-shadow:0 0 0 20px rgba(20,203,98,.09),0 0 150px 54px rgba(20,203,98,.3);}}
@media (prefers-reduced-motion:reduce){.fan-hub{animation:none;}}
.fan-hub img{width:48%;height:auto;object-fit:contain;}
@media (max-width:640px){
  .ft{width:56px;height:56px;margin:-28px 0 0 -28px;border-radius:16px;}
  .ft > span{padding:10px;}
  .ft img{max-height:28px;}
}

/* ============ RESOURCES ============ */
.res .wrap{padding-top:120px;padding-bottom:40px;}
.rgrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;}
.rcard{border-radius:30px;padding:32px;min-height:320px;display:flex;flex-direction:column;gap:14px;text-decoration:none;color:inherit;
  background:var(--panel);border:1px solid var(--line);transition:transform .25s var(--ease),box-shadow .25s var(--ease);}
.rcard:hover{transform:translateY(-3px) scale(1.012);color:inherit;box-shadow:0 28px 50px -26px rgba(4,33,15,.42);}
.rcard.g-bright{border:0;}
.rthumb{display:block;height:180px;margin:-12px -12px 10px;border-radius:20px;overflow:hidden;background:#E9EDEA;}
.rthumb img{width:100%;height:100%;object-fit:cover;transition:transform 1s var(--ease);}
.rcard:hover .rthumb img{transform:scale(1.04);}
.rthumb-report{background:linear-gradient(150deg,#E6F7EC,#D3F0DF);display:grid;place-items:center;}
.rthumb-onbright{background:rgba(255,255,255,.26);}
/* report as a book: spine shading, page edges, folded top-right corner */
.book{--c:22px;position:relative;display:block;height:86%;transform:rotate(-4deg);filter:drop-shadow(0 18px 22px rgba(4,33,15,.28));
  transition:transform .5s var(--ease),--c .4s var(--ease);}
.rcard:hover .book{--c:34px;transform:rotate(-2deg) scale(1.04);}
.rcard:hover .rthumb-report .book img{transform:none;}
.book img{display:block;height:100%;width:auto;border-radius:2px 5px 5px 2px;
  clip-path:polygon(0 0,calc(100% - var(--c)) 0,100% var(--c),100% 100%,0 100%);transition:clip-path .4s var(--ease);}
.book::before{content:"";position:absolute;z-index:2;left:0;top:0;bottom:0;width:8%;border-radius:2px 0 0 2px;pointer-events:none;
  background:linear-gradient(90deg,rgba(0,0,0,.32),rgba(255,255,255,.22) 38%,rgba(0,0,0,.1) 70%,transparent);}
.book::after{content:"";position:absolute;z-index:-1;top:4px;bottom:4px;right:-5px;width:6px;border-radius:0 3px 3px 0;
  background:repeating-linear-gradient(90deg,#FFFFFF 0 1px,#DDE2DE 1px 2px);}
.curl{position:absolute;z-index:3;top:0;right:0;width:var(--c);height:var(--c);border-radius:0 0 0 5px;
  background:linear-gradient(225deg,transparent 50%,#E9ECE8 50%,#FFFFFF 78%,#D9DED9 100%);box-shadow:-2px 3px 5px -1px rgba(4,33,15,.35);
  transition:width .4s var(--ease),height .4s var(--ease);}
@property --c{syntax:"<length>";inherits:true;initial-value:22px;}

.rcard small{font-size:12px;font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:var(--g-deep);}
.rcard.g-bright small{color:var(--forest);}
.rcard h3{margin:4px 0 0;font-family:var(--display);font-weight:400;font-size:28px;line-height:1.12;letter-spacing:-.022em;}
.rcard p{margin:0;font-size:15px;color:var(--slate);}
.rcard.g-bright p{color:#0B3A1C;}
.rcard .go{margin-top:auto;padding-top:6px;font-size:14.5px;font-weight:500;color:var(--g-text);}
.rcard.g-bright .go{color:var(--forest);}

/* ============ FAQ ============ */
.faq .wrap{padding-top:120px;padding-bottom:60px;}
.faq-grid{display:grid;grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr);gap:56px;align-items:start;}
.qs{display:flex;flex-direction:column;gap:10px;}
.qs details{background:var(--panel);border:1px solid var(--line);border-radius:22px;padding:0 26px;transition:background .2s;}
.qs details[open]{background:#fff;border-color:var(--line2);}
.qs summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:20px;padding:22px 0;font-size:17px;font-weight:500;}
.qs summary::-webkit-details-marker{display:none;}
.qs summary i{flex:none;width:28px;height:28px;border-radius:50%;background:#E8F8EF;color:var(--g-text);display:grid;place-items:center;font-style:normal;font-size:18px;transition:transform .3s var(--ease);}
.qs details[open] summary i{transform:rotate(45deg);}
.qs details p{margin:0 0 22px;font-size:15.5px;line-height:1.6;color:var(--slate);max-width:62ch;}

/* ============ FINAL CTA ============ */
.final .wrap{padding-top:100px;padding-bottom:100px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:30px;}
.final .h2{max-width:30ch;text-wrap:balance;}

/* ============ PRESS ============ */
.press .wrap{padding-top:8px;padding-bottom:40px;}
.press-in{display:flex;align-items:center;gap:32px;padding:30px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);}
.press-k{flex:none;margin:0;font-size:12px;font-weight:500;letter-spacing:.16em;text-transform:uppercase;color:var(--mute);}
.press-row{flex:1;min-width:0;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:20px 22px;}
.press-row a{display:flex;align-items:center;}
.press-row img{width:auto;max-width:150px;object-fit:contain;filter:grayscale(1);opacity:.6;transition:filter .25s var(--ease),opacity .25s var(--ease);}
.press-row a:hover img,.press-row a:focus-visible img{filter:none;opacity:1;}
@media (max-width:1100px){.press-in{flex-direction:column;align-items:flex-start;gap:20px;}.press-row{width:100%;}}
@media (max-width:640px){.press-row{justify-content:flex-start;gap:20px 30px;}}

/* ============ RESPONSIVE ============ */
@media (max-width:1024px){
  .mgrid{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media (max-width:900px){
  .lvls{grid-template-columns:repeat(5,minmax(0,1fr));gap:6px;}
  .lv{height:calc(96px + var(--i) * 22px);padding:12px 10px;border-radius:16px;}
  .lv b{font-size:14px;}
  .lv .n{font-size:10px;letter-spacing:.06em;}
  .lv .tk{display:none;}
  .wrap{padding:0 22px;}
  .panel{margin:10px 8px;border-radius:28px;}
  .hero-grid,.how-grid,.faq-grid,.who-grid,.workshop,.quote{grid-template-columns:minmax(0,1fr);}
  .hero-grid{padding-top:48px;gap:40px;}
  .hero .shot{height:380px;}
  .hero .float{width:170px;bottom:16px;right:14px;}
  .cards3,.rgrid{grid-template-columns:minmax(0,1fr);}
  .outs{grid-template-columns:minmax(0,1fr);}
  .story{height:440vh;}
  .story-pin{top:0;height:100svh;margin:0;border-radius:0;}
  .story-in{grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,1fr) auto;gap:14px;padding-top:18px;padding-bottom:22px;}
  .tstep .h2{font-size:30px;}
  .tstep .tbody{font-size:15.5px;}
  .story-txt{gap:16px;}
  .story-cta .btn{padding:12px 18px;font-size:14px;}
  .tabs .shot{height:400px;}
  .acc{height:400px;}
  .ac{flex-basis:64px;}
  .lvls{grid-template-columns:repeat(5,minmax(120px,1fr));overflow-x:auto;padding-bottom:6px;}
  .lvinfo{grid-template-columns:minmax(0,1fr);}
  .workshop{padding:30px 24px;gap:28px;}
  .wcard{padding:30px;min-height:320px;}
  .why .wrap,.ret .wrap,.how .wrap,.tabs .wrap,.cust .wrap,.who .wrap,.mat .wrap,.sys .wrap,.res .wrap,.faq .wrap{padding-top:84px;}
}
@media (max-width:560px){
  .mgrid{grid-template-columns:minmax(0,1fr);}
}
@media (max-height:680px){
  .tstack{min-height:210px;}
  .tstep .h2{font-size:34px;}
  .tstep .tbody{font-size:16px;}
  .story-txt{gap:16px;}
  .story-cta{flex-wrap:nowrap;}
  .story-cta .btn{padding:11px 16px;font-size:13.5px;white-space:nowrap;}
}
@media (max-height:560px){
  .story-cta{display:none;}
  .tstack{min-height:180px;}
  .tstep .h2{font-size:30px;}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition:none!important;}
  .rv{opacity:1;transform:none;}
  html{scroll-behavior:auto;}
}

/* hero cards can be picked up and placed anywhere in the screenshot frame */
.hclick{display:none !important;}
.hagents .hchip,.hagents .happ,.shot .float{pointer-events:auto;cursor:grab;touch-action:none;user-select:none;-webkit-user-select:none;}
.hagents .hchip.dragging,.hagents .happ.dragging,.shot .float.dragging{cursor:grabbing;animation-play-state:paused !important;z-index:9;}
.hagents .happ.dragging{transition:none !important;}
.hchip img,.happ img,.float img{-webkit-user-drag:none;pointer-events:none;}

/* troopers sit above the screenshot panel, so they can overlap its edges */
.shotwrap{position:relative;min-height:0;display:flex;}
.shotwrap > .shot{flex:1;min-width:0;}
.shotwrap > .hagents{z-index:6;}
@media (min-width:1101px){
  .shotwrap .hchip.h1{left:-12.5%;top:11.5%;}
  .shotwrap .hchip.h2{left:60.5%;top:31%;}
  .shotwrap .hchip.h3{left:-9.5%;top:44%;}
  .shotwrap .hchip.h4{left:17.5%;top:75.5%;}
  .shotwrap .happ{right:-36px;top:6px;}
}

/* how it works: richer workspace and data plates */
.iws,.idata{position:absolute;inset:0;width:100%;height:100%;overflow:visible;}
.wlink{stroke:#DCE3DE;stroke-width:1.6;}
.wflow{stroke:var(--g);stroke-width:2;stroke-linecap:round;stroke-dasharray:2 12;opacity:0;transition:opacity .5s var(--ease);animation:iflow 1.4s linear infinite;}
.ip-ws.on .wflow{opacity:1;}
@keyframes iflow{to{stroke-dashoffset:-28}}
.wtile rect{fill:#F2FAF5;stroke:#D3EBDD;stroke-width:1.2;transition:fill .5s var(--ease),stroke .5s var(--ease);}
.ip-ws.on .wtile rect{fill:#E3F7EB;stroke:#9EE2BD;}
.wico{fill:none;stroke:var(--g-deep);stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;}
.wtile text{font:500 10px Inter,sans-serif;letter-spacing:.18em;fill:var(--ink2);}
.whub rect{fill:#04210F;}
.ip-ws.on .whub rect{filter:drop-shadow(0 8px 14px rgba(20,203,98,.35));}
.dcell{fill:rgba(255,255,255,.55);stroke:rgba(20,203,98,.18);stroke-width:1;}
.dcell.lit{fill:#BDEFD2;animation:icell 4s ease-in-out infinite;}
.ip-data.on .dcell.lit{fill:#7FDDAA;}
@keyframes icell{0%,100%{opacity:.45}50%{opacity:1}}
.dhub rect{fill:#fff;stroke:#B9E9CD;stroke-width:1.4;}
.dico{fill:none;stroke:var(--g-deep);stroke-width:1.2;stroke-linecap:round;stroke-linejoin:round;}
.ip-data .ilab{left:auto;top:auto;right:34px;bottom:26px;transform:none;}
@media (prefers-reduced-motion:reduce){.wflow,.dcell.lit{animation:none;}}

.ip-ws .ilab{right:auto;bottom:auto;left:34px;top:26px;}
/* snappier step transitions */
.tstep{transition:opacity .42s var(--ease),transform .5s var(--ease)!important;}
.homecard{transition:transform .5s var(--ease),background .4s var(--ease),box-shadow .4s var(--ease),border-radius .5s var(--ease),opacity .25s ease .4s;}
.vis:not([data-step="0"]) .l-grid span{transition-delay:calc(var(--d,0) * 28ms + .22s);}
.vis:not([data-step="0"]) .l-grid span.me{transition-delay:.3s;}
.vis[data-step="3"] .l-ok{transition-delay:.15s;}

/* the arrow on card links slides forward on hover */
a .arr{display:inline-block !important;position:static !important;margin:0 !important;transition:transform .35s var(--ease);}
a.proof:hover .arr,a.wcard:hover .arr,a.rcard:hover .arr,a.nx:hover .arr,a.rep:hover .arr{transform:translateX(6px);}
@media (prefers-reduced-motion:reduce){a .arr{transition:none;}}


/* Flexy, floating */
.flexy{position:absolute;pointer-events:none;z-index:3;animation:flexyFloat 7s ease-in-out infinite;}
.flexy::after{content:"";position:absolute;left:18%;right:18%;bottom:-14%;height:9%;border-radius:50%;background:radial-gradient(closest-side,rgba(4,33,15,.20),rgba(4,33,15,0));animation:flexyShadow 7s ease-in-out infinite;}
@keyframes flexyShadow{0%,100%{transform:scale(1);opacity:.9}50%{transform:scale(.82);opacity:.55}}
.flexy img{display:block;width:100%;height:auto;}
@keyframes flexyFloat{0%,100%{transform:translate(0,0) rotate(-6deg)}50%{transform:translate(-8px,-18px) rotate(3deg)}}
@media (prefers-reduced-motion:reduce){.flexy{animation:none;}}

.flexy-final{right:-10px;top:-70px;width:230px;}
@media (max-width:1100px){.flexy-final{width:160px;top:-56px;right:-4px;}}
@media (max-width:640px){.flexy-final{width:110px;top:-48px;right:6px;}}

/* light panel cards carry no outline, at rest or on hover */
.fcard,.op,.wcard.light,.rcard,.result,.fcard:hover,.op:hover,.wcard.light:hover,.rcard:hover,.result:hover{border-color:transparent !important;}
