/* Meshtrike website. Plain CSS, no build step. */

:root{
  --ink:#15171C;
  --black:#0B0C0F;
  --paper:#F6F5F1;
  --lime:#CDF25C;
  --lime-deep:#3E5200;
  --lime-text:#2F4A00;
  --sand:#F0EEE8;
  --sand-2:#EEEBE4;
  --line:#EFECE6;
  --text-2:#41454D;
  --text-3:#5D616B;
  --text-4:#7A766D;
  --display:'Bricolage Grotesque',system-ui,sans-serif;
  --sans:'Geist',system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;
  --mono:'Geist Mono',ui-monospace,SFMono-Regular,Menlo,monospace;
  --gutter:clamp(16px,4vw,40px);
  --ease:cubic-bezier(.2,.8,.2,1);
  --focus:#15171C;
  --max:1240px; /* content width; grows on large screens */
  --u:1px;      /* type/spacing unit; scales with clamp() on large screens */
  --z:1;        /* zoom for fixed-pixel illustrations on large screens */
}

*{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--paper);font-family:var(--sans);color:var(--ink);-webkit-font-smoothing:antialiased;overflow-x:hidden}
a{color:var(--ink);text-decoration:none}
a:hover{color:var(--lime-deep)}
button{font-family:inherit;color:inherit;cursor:pointer}
img{max-width:100%;display:block}
::selection{background:var(--lime);color:var(--ink)}
[hidden]{display:none!important}
section[id]{scroll-margin-top:84px}
:focus-visible{outline:3px solid var(--focus);outline-offset:3px;border-radius:8px}
.dark{--focus:var(--lime)}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.skip{position:fixed;left:16px;top:-60px;z-index:200;background:var(--ink);color:#fff;padding:12px 18px;border-radius:99px;font:600 14px var(--sans);transition:top .2s}
.skip:focus{top:12px;color:var(--lime)}

/* Icons (SVG sprite inlined at the top of every page) */
.i{width:1em;height:1em;display:block;flex:none;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.i--fill{fill:currentColor}

/* ---------- Keyframes (from the design) ---------- */
@keyframes riseIn{from{transform:translateY(110%) rotate(4deg)}to{transform:none}}
@keyframes fadeUp{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}
@keyframes fadeIn{from{opacity:0}to{opacity:1}}
@keyframes bubIn{from{opacity:0;transform:translateY(12px) scale(.96)}to{opacity:1;transform:none}}
@keyframes marq{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@keyframes marqR{from{transform:translateX(-50%)}to{transform:translateX(0)}}
@keyframes spinS{to{transform:rotate(360deg)}}
@keyframes travel{from{offset-distance:0%}to{offset-distance:100%}}
@keyframes dash{to{stroke-dashoffset:-40}}
@keyframes breathe{0%,100%{transform:scale(1);opacity:1}50%{transform:scale(2.2);opacity:0}}
@keyframes ping{0%{transform:translate(-50%,-50%) scale(.2);opacity:.7}100%{transform:translate(-50%,-50%) scale(1);opacity:0}}
@keyframes floaty{0%,100%{transform:translateY(0) rotate(var(--r,0deg))}50%{transform:translateY(-14px) rotate(var(--r,0deg))}}
@keyframes bar{0%,100%{transform:scaleY(.3)}50%{transform:scaleY(1)}}
@keyframes swipeDemo{0%,20%{transform:translateX(0)}40%,60%{transform:translateX(64px)}80%,100%{transform:translateX(0)}}
@keyframes swipeIcon{0%,20%{opacity:0;transform:scale(.5)}40%,60%{opacity:1;transform:scale(1)}80%,100%{opacity:0;transform:scale(.5)}}
@keyframes replyBar{0%,55%{opacity:0;transform:translateY(8px)}65%,92%{opacity:1;transform:none}100%{opacity:0}}
@keyframes blinkC{0%,100%{opacity:1}50%{opacity:.08}}
@keyframes ring{from{stroke-dashoffset:0}to{stroke-dashoffset:302}}
@keyframes ticker{0%,18%{transform:translateY(0)}20%,38%{transform:translateY(-36px)}40%,58%{transform:translateY(-72px)}60%,78%{transform:translateY(-108px)}80%,98%{transform:translateY(-144px)}100%{transform:translateY(-180px)}}
@keyframes pop{0%{transform:scale(.6);opacity:0}60%{transform:scale(1.08);opacity:1}100%{transform:scale(1)}}
@keyframes wiggle{0%,100%{transform:rotate(-6deg)}50%{transform:rotate(6deg)}}
@keyframes dots{0%,80%,100%{opacity:.2}40%{opacity:1}}

/* ---------- Shared ---------- */
.page{position:relative;min-height:100vh;overflow-x:clip}
.wrap{max-width:var(--max);margin:0 auto}
.sec{position:relative;z-index:1;padding-left:var(--gutter);padding-right:var(--gutter)}
.stack{display:flex;flex-direction:column}
.eyebrow{font:600 12px var(--mono);letter-spacing:.12em;color:var(--text-3);margin:0}
.eyebrow--lime{color:var(--lime)}
.h2{margin:0;font:800 clamp(40px,6vw,80px)/.95 var(--display);letter-spacing:-.045em;text-wrap:balance}
.hl{background:var(--lime);color:var(--ink);padding:0 .12em;border-radius:.15em;-webkit-box-decoration-break:clone;box-decoration-break:clone}
.lead{margin:0;font:400 18px/1.55 var(--sans);color:var(--text-2);max-width:520px;text-wrap:pretty}
.split{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,420px),1fr));gap:32px;align-items:end}
.chip{display:inline-flex;align-items:center;gap:7px;height:32px;padding:0 13px 0 10px;border-radius:99px;font:600 13px var(--sans);background:var(--bg);color:var(--fg);flex:none;white-space:nowrap}
.chip .i{font-size:15px}
.chip--plain{padding:0 13px;background:var(--sand);color:var(--ink)}
.c-bt{--fg:#2D57E0;--bg:#E4EBFF}
.c-wifi{--fg:#08736E;--bg:#D9F3EF}
.c-lora{--fg:#B13F0A;--bg:#FDE7D9}
.c-net{--fg:#6236D0;--bg:#ECE5FF}
.c-mesh{--fg:#4E525B;--bg:#EDEBE6}
.c-qr{--fg:#15171C;--bg:#E9E6DF}
.btn{display:inline-flex;align-items:center;gap:10px;height:52px;padding:0 22px;border-radius:99px;font:600 17px var(--sans);transition:transform .25s var(--ease),color .2s,background .2s,box-shadow .2s;white-space:nowrap}
.btn .i{font-size:20px}
.btn--ink{background:var(--ink);color:#fff}
.btn--ink:hover{color:var(--lime)}
.btn--line{background:#fff;color:var(--ink);box-shadow:inset 0 0 0 1.5px var(--ink)}
.btn--lg{height:60px;padding:0 28px}
.tilt{transition:transform .3s var(--ease)}

/* Scroll reveal (applied by JS only when motion is allowed) */
.rv{opacity:0;filter:blur(8px);translate:0 46px;transition:opacity .9s var(--ease),translate .9s var(--ease),filter .9s,transform .3s var(--ease)}
.rv.rv-in{opacity:1;filter:none;translate:0 0}

/* Cursor blob */
.blob{position:fixed;left:0;top:0;width:340px;height:340px;margin:-170px 0 0 -170px;border-radius:50%;background:radial-gradient(circle,rgba(205,242,92,.55),rgba(205,242,92,0) 65%);pointer-events:none;z-index:0;opacity:0;transition:opacity .4s;mix-blend-mode:multiply}
.blob.on{opacity:1}

/* ---------- Header ---------- */
.hdr{position:sticky;top:0;z-index:50;padding:14px var(--gutter)}
.nav{position:relative;max-width:var(--max);margin:0 auto;display:flex;align-items:center;gap:12px;background:rgba(255,255,255,.82);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-radius:99px;padding:8px 8px 8px 18px;box-shadow:0 1px 0 rgba(0,0,0,.04),0 12px 30px -18px rgba(30,28,20,.3)}
.logo{display:flex;align-items:center;gap:9px;font:800 19px/1 var(--display);letter-spacing:-.02em;flex:none;color:var(--ink)}
.logo:hover{color:var(--ink)}
.logo__mark{width:32px;height:32px;border-radius:11px;background:var(--ink);color:var(--lime);display:grid;place-items:center;font-size:18px;transition:transform .35s var(--ease)}
.logo:hover .logo__mark{transform:rotate(-8deg) scale(1.06)}
.nav__spacer{flex:1}
.nav__links{display:flex;align-items:center;gap:2px;margin:0;padding:0;list-style:none}
.nav__links>li>a,.more__btn{display:flex;align-items:center;gap:5px;height:40px;padding:0 13px;border-radius:99px;font:500 14px var(--sans);white-space:nowrap;color:var(--ink);transition:background .2s}
.nav__links>li>a:hover,.more__btn:hover{background:var(--sand);color:var(--ink)}
.nav__links>li>a[aria-current="page"],.more__btn.is-current{background:var(--lime);font-weight:600}
details>summary{list-style:none;cursor:pointer}
details>summary::-webkit-details-marker{display:none}
.more{position:relative}
.more__chev{font-size:14px;transition:transform .25s var(--ease)}
.more details[open]>.more__btn{background:var(--sand)}
.more details[open]>.more__btn.is-current{background:var(--lime)}
.more details[open] .more__chev{transform:rotate(180deg)}
@keyframes ddIn{from{opacity:0;transform:translateY(-8px) scale(.98)}to{opacity:1;transform:none}}
.more__menu{position:absolute;right:-8px;top:calc(100% + 16px);width:320px;margin:0;padding:8px;list-style:none;background:#fff;border-radius:26px;box-shadow:0 30px 60px -24px rgba(30,28,20,.35),0 0 0 1px rgba(21,23,28,.05);display:grid;gap:2px;transform-origin:top right;animation:ddIn .28s var(--ease)}
.more__menu a{display:flex;align-items:center;gap:12px;padding:8px 10px;border-radius:18px;color:var(--ink)}
.more__menu a:hover{background:var(--sand);color:var(--ink)}
.more__menu a[aria-current="page"]{background:var(--lime)}
.more__ic{width:38px;height:38px;border-radius:13px;background:var(--sand);display:grid;place-items:center;font-size:17px;flex:none;transition:background .2s,color .2s}
.more__menu a:hover .more__ic,.more__menu a[aria-current="page"] .more__ic{background:var(--ink);color:var(--lime)}
.more__txt{display:flex;flex-direction:column;gap:1px;min-width:0}
.more__t{font:600 14.5px/1.25 var(--sans)}
.more__d{font:400 12.5px/1.3 var(--sans);color:var(--text-3)}
.cart-btn{position:relative;width:42px;height:42px;border:0;border-radius:50%;background:var(--sand);color:var(--ink);display:grid;place-items:center;font-size:18px;flex:none}
.cart-btn:hover{color:var(--ink);background:#E7E4DC}
.cart-btn__soon{position:absolute;top:-3px;right:-3px;width:20px;height:20px;border-radius:50%;background:var(--lime);color:var(--ink);display:grid;place-items:center;font-size:11px}
.nav__dl{height:42px;padding:0 18px;border-radius:99px;background:var(--ink);color:#fff;display:flex;align-items:center;gap:8px;font:600 14px var(--sans);flex:none;white-space:nowrap}
.nav__dl:hover,.nav__dl[aria-current="page"]{color:var(--lime)}
.nav__dl .i{font-size:16px}
/* Mobile menu (a <details>, so it also works without JavaScript) */
.menu{display:none}
.menu__btn{width:42px;height:42px;border-radius:50%;background:var(--sand);display:grid;place-items:center;font-size:19px;transition:background .2s,color .2s}
.menu__close,.menu[open] .menu__open{display:none}
.menu[open] .menu__close{display:block}
.menu[open]>.menu__btn{background:var(--ink);color:var(--lime)}
.menu__panel{position:absolute;left:0;right:0;top:calc(100% + 10px);background:#fff;border-radius:28px;padding:10px;box-shadow:0 30px 60px -24px rgba(30,28,20,.4),0 0 0 1px rgba(21,23,28,.05);max-height:calc(100vh - 96px);max-height:calc(100dvh - 96px);overflow:auto;overscroll-behavior:contain;transform-origin:top;animation:ddIn .28s var(--ease)}
.menu__main,.menu__more{list-style:none;margin:0;padding:0;display:grid;gap:2px}
.menu__main a{display:flex;align-items:center;padding:12px 14px;border-radius:18px;font:700 23px/1.1 var(--display);letter-spacing:-.02em;color:var(--ink)}
.menu__main a:hover,.menu__more a:hover{background:var(--sand);color:var(--ink)}
.menu__main a[aria-current="page"],.menu__more a[aria-current="page"]{background:var(--lime)}
.menu__label{margin:12px 14px 6px;font:600 11px var(--mono);letter-spacing:.12em;color:var(--text-3)}
.menu__more{grid-template-columns:1fr 1fr}
.menu__more a{display:flex;align-items:center;gap:10px;padding:7px 8px;border-radius:16px;font:600 14.5px var(--sans);color:var(--ink)}
.menu__ic{width:34px;height:34px;border-radius:12px;background:var(--sand);display:grid;place-items:center;font-size:16px;flex:none}
.menu__more a[aria-current="page"] .menu__ic{background:var(--ink);color:var(--lime)}
.menu__dl{width:100%;justify-content:center;height:56px;margin-top:12px}
@media (max-width:1000px){
  .nav__links{display:none}
  .menu{display:block}
}
@media (max-width:520px){
  .nav{gap:8px;padding-left:14px}
  .cart-btn{display:none}
  .nav__dl{padding:0 16px}
  .nav__dl .i{display:none}
}
@media (max-width:359px){.menu__more{grid-template-columns:1fr}}

/* ---------- Hero ---------- */
.hero{padding-top:40px;padding-bottom:80px}
.hero__bg{position:absolute;inset:-40px 0 0 0;width:100%;height:calc(100% + 40px);z-index:-1;opacity:.9}
.hero__bg .lines{animation:dash 2.4s linear infinite}
.traveler{position:absolute;left:0;top:0;border-radius:50%;z-index:-1;animation:travel 6s cubic-bezier(.6,0,.4,1) infinite}
.traveler--lime{width:16px;height:16px;margin:-8px 0 0 -8px;background:var(--lime);box-shadow:0 0 0 6px rgba(205,242,92,.35),0 0 24px 4px rgba(205,242,92,.6);offset-path:path('M80 140 L260 260 L470 120 L640 300 L860 160 L1060 280');opacity:.9}
.traveler--ink{width:12px;height:12px;margin:-6px 0 0 -6px;background:var(--ink);offset-path:path('M210 480 L430 560 L640 300 L820 520 L1120 600');animation-duration:7.5s;animation-delay:1.5s;opacity:.5}
.hero__grid{max-width:var(--max);margin:0 auto;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,460px),1fr));gap:48px;align-items:center}
.hero__copy{display:flex;flex-direction:column;gap:28px;min-width:0}
.badge{display:flex;align-items:center;gap:10px;width:fit-content;max-width:100%;padding:7px 14px 7px 8px;border-radius:99px;background:#fff;font:600 13px/1.3 var(--sans);box-shadow:0 1px 2px rgba(0,0,0,.06);animation:fadeUp .6s .1s both}
.live{position:relative;width:10px;height:10px;display:block;flex:none}
.live::before,.live::after{content:"";position:absolute;inset:0;border-radius:50%;background:#22A36B}
.live::after{animation:breathe 1.8s infinite}
.h1{margin:0;font:800 clamp(56px,8.2vw,116px)/.9 var(--display);letter-spacing:-.055em}
/* Each line clips the rise-in animation. The padding gives the glyph box and the lime highlight room
   inside the clip (Bricolage's ascent+descent is taller than the .9 line-height); the negative margin
   keeps the visual line spacing the same. */
.h1__line{display:block;overflow:hidden;padding:0 .14em .2em;margin:0 -.14em -.14em}
.h1__line:last-child{padding-bottom:.22em;margin-bottom:-.14em}
.h1__in{display:block;animation:riseIn .9s var(--ease) both}
.h1__in--hl{display:inline-block;background:var(--lime);padding:0 .14em;border-radius:.18em;margin-left:-.06em}
.hero__lead{margin:0;max-width:520px;font:400 clamp(17px,1.6vw,20px)/1.5 var(--sans);color:var(--text-2);text-wrap:pretty;animation:fadeUp .7s .6s both}
.hero__ctas{display:flex;flex-wrap:wrap;gap:12px;animation:fadeUp .7s .75s both}
.hero__ctas .btn--line{padding:0 26px}
.hero__chips{display:flex;flex-wrap:wrap;gap:8px;animation:fadeUp .7s .9s both}

.hero__stage{position:relative;display:flex;justify-content:center;padding:20px 0;min-width:0}
.spinner{position:absolute;right:max(0px,calc(50% - 250px));top:-10px;width:130px;height:130px;z-index:3;animation:spinS 14s linear infinite}
.spinner text{font:700 11.5px var(--mono);letter-spacing:2.6px}
.spinner__icon{position:absolute;inset:0;display:grid;place-items:center;font-size:30px;color:var(--ink)}
.floater{position:absolute;z-index:3;display:flex;align-items:center;gap:8px;padding:10px 14px 10px 10px;border-radius:18px;font:600 13px var(--sans);animation:floaty 5s ease-in-out infinite;white-space:nowrap}
.floater__ic{width:28px;height:28px;border-radius:9px;display:grid;place-items:center;font-size:15px}
.floater--sealed{left:max(0px,calc(50% - 280px));bottom:70px;--r:-6deg;background:var(--ink);color:#fff;box-shadow:0 18px 40px -16px rgba(0,0,0,.5)}
.floater--sealed .floater__ic{background:var(--lime);color:var(--ink)}
.floater--near{right:max(0px,calc(50% - 270px));bottom:170px;--r:5deg;animation-duration:6s;animation-delay:1s;background:#fff;box-shadow:0 18px 40px -16px rgba(0,0,0,.3)}
.floater--near .floater__ic{background:#EDEBE6}

.phone{position:relative;width:min(330px,calc(100vw - 40px));height:680px;border-radius:52px;background:var(--ink);padding:10px;box-shadow:0 60px 100px -40px rgba(40,36,26,.55),0 0 0 1px rgba(0,0,0,.3);transform:rotate(-3deg);animation:fadeUp 1s .3s both}
.phone__screen{position:relative;width:100%;height:100%;border-radius:42px;overflow:hidden;background:var(--paper);display:flex;flex-direction:column}
.phone__status{height:40px;display:flex;align-items:center;justify-content:space-between;padding:4px 26px 0;font:600 13px var(--sans);flex:none}
.phone__cam{width:20px;height:20px;border-radius:50%;background:var(--ink)}
.phone__bat{width:20px;height:10px;border:1.5px solid var(--ink);border-radius:3px}
.chat-hd{background:#fff;border-bottom:1px solid #ECE9E2;padding:6px 14px 10px;display:flex;flex-direction:column;gap:8px;flex:none}
.chat-hd__row{display:flex;align-items:center;gap:10px}
.chat-hd__back{font-size:20px}
.avatar{width:36px;height:36px;border-radius:12px;background:#D9F57E;color:#2F4A00;display:grid;place-items:center;font:700 14px var(--sans);flex:none}
.chat-hd__who{flex:1;display:flex;flex-direction:column;gap:3px;min-width:0}
.chat-hd__name{font:600 15px var(--sans)}
.verified{display:flex;align-items:center;gap:4px;width:fit-content;padding:2px 7px 2px 5px;border-radius:99px;background:#DCF2E6;color:#0B6E4A;font:600 10.5px var(--sans)}
.verified .i{font-size:11px}
.chat-hd__call{width:34px;height:34px;border-radius:12px;background:var(--lime);display:grid;place-items:center;font-size:16px;flex:none}
.route-pill{display:flex;align-items:center;gap:6px;width:fit-content;height:26px;padding:0 11px 0 9px;border-radius:99px;font:600 11.5px var(--sans);background:var(--bg);color:var(--fg)}
.route-pill .i{font-size:13px}
.route-pill.anim{animation:pop .45s var(--ease)}
.chat{flex:1;padding:14px 12px;display:flex;flex-direction:column;justify-content:flex-end;gap:8px;overflow:hidden}
.bub{max-width:82%;font:400 14px/1.4 var(--sans)}
.bub.anim{animation:bubIn .45s var(--ease)}
.bub--in{align-self:flex-start;background:#fff;border:1px solid #E8E5DE;border-radius:20px 20px 20px 6px;padding:9px 12px}
.bub--out{align-self:flex-end;background:var(--ink);color:#fff;border-radius:20px 20px 6px 20px;padding:9px 12px 7px;display:flex;flex-direction:column;gap:3px}
.bub__st{align-self:flex-end;display:flex;align-items:center;gap:4px;font:500 10.5px var(--sans);color:rgba(255,255,255,.7)}
.bub__st.read{color:var(--lime)}
.bub__st .i{font-size:12px}
.bub--voice{align-self:flex-start;width:220px;max-width:82%;background:#fff;border:1px solid #E8E5DE;border-radius:20px 20px 20px 6px;padding:8px 10px;display:flex;align-items:center;gap:8px}
.bub__play{width:32px;height:32px;border-radius:50%;background:var(--ink);color:var(--lime);display:grid;place-items:center;font-size:12px;flex:none}
.wave{flex:1;height:24px;display:flex;align-items:center;gap:2px}
.wave span{flex:1;border-radius:2px;background:var(--ink);transform-origin:center;animation:bar 1s ease-in-out infinite}
.bub__dur{font:600 10.5px var(--mono);color:var(--text-4)}
.bub--sys{align-self:center;display:flex;align-items:center;gap:6px;padding:5px 11px;border-radius:99px;background:#EDEBE6;color:#4E525B;font:600 11px/1.3 var(--sans);text-align:center;max-width:95%}
.bub--sys.anim{animation:pop .4s}
.composer{padding:6px 10px 20px;display:flex;gap:8px;align-items:center;flex:none}
.composer__btn{width:38px;height:38px;border-radius:50%;background:#fff;display:grid;place-items:center;font-size:17px;flex:none}
.composer__btn--ink{background:var(--ink);color:#fff}
.composer__field{flex:1;height:38px;border-radius:20px;background:#fff;display:flex;align-items:center;padding:0 14px;font:400 13.5px var(--sans);color:#9A968C}

/* ---------- Marquee band ---------- */
.band-wrap{position:relative;z-index:1;overflow-x:clip;padding:12px 0}
.band{background:var(--ink);color:var(--lime);overflow:hidden;padding:22px 0;transform:rotate(-1.5deg);margin:0 -20px}
.band__track{display:flex;width:max-content;animation:marq 22s linear infinite;font:800 clamp(28px,4vw,52px)/1 var(--display);letter-spacing:-.02em;white-space:nowrap}
.band__track span{padding-right:40px}

/* ---------- How it works ---------- */
.how{padding-top:120px;padding-bottom:100px}
.how__inner{gap:56px}
.steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:16px}
.step{position:relative;background:#fff;border-radius:32px;padding:28px;display:flex;flex-direction:column;gap:18px;min-height:340px;overflow:hidden}
.step__n{font:800 96px/.8 var(--display);letter-spacing:-.06em;color:var(--sand-2)}
.step__phones{position:relative;height:90px;display:flex;align-items:center;gap:10px}
.node{width:52px;height:52px;border-radius:17px;display:grid;place-items:center;font-size:22px;flex:none;background:var(--bg,#EEEBE4);color:var(--fg,#15171C);animation:floaty 3s ease-in-out infinite}
.node--ink{--bg:#15171C;--fg:#CDF25C}
.node--lime{--bg:#CDF25C;--fg:#15171C}
.link-dash{flex:1;height:2px;background:repeating-linear-gradient(90deg,#15171C 0 4px,transparent 4px 9px);opacity:.35}
.step__txt{display:flex;flex-direction:column;gap:8px;margin-top:auto}
.step__t,.card__t{margin:0;font:700 24px/1.1 var(--display);letter-spacing:-.02em}
.step__d{margin:0;font:400 15px/1.5 var(--sans);color:var(--text-3);text-wrap:pretty}

.pillbox{background:var(--ink);color:#fff;border-radius:36px;padding:clamp(24px,4vw,44px);display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,340px),1fr));gap:36px;align-items:center}
.pillbox__copy{display:flex;flex-direction:column;gap:14px}
.h3{margin:0;font:800 clamp(30px,4vw,48px)/1 var(--display);letter-spacing:-.035em}
.on-dark{margin:0;font:400 16px/1.55 var(--sans);color:rgba(255,255,255,.72)}
.routes{display:flex;flex-direction:column;gap:10px;margin:0;padding:0;list-style:none}
.routes li{display:flex;align-items:center;gap:14px;padding:12px 16px 12px 12px;border-radius:20px;background:rgba(255,255,255,.06);transition:background .2s}
.routes li:hover{background:rgba(255,255,255,.1)}
.routes__range{flex:1;font:400 13.5px/1.4 var(--sans);color:rgba(255,255,255,.72);text-align:right}

/* ---------- Features ---------- */
.features{padding-top:40px;padding-bottom:120px}
.features__inner{gap:48px}
.sec-head{display:flex;flex-direction:column;gap:16px}
.features__head{max-width:820px}
.feat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,340px),1fr));gap:16px}
.feat{background:#fff;border-radius:32px;padding:28px;display:flex;flex-direction:column;gap:22px;min-height:360px;overflow:hidden}
.feat--lime{background:var(--lime)}
.feat--black{background:var(--black);color:#fff}
.feat--ink{background:var(--ink);color:#fff}
.feat__txt{display:flex;flex-direction:column;gap:6px}
.feat__t{margin:0;font:700 26px/1.05 var(--display);letter-spacing:-.025em}
.feat__d{margin:0;font:400 15px/1.5 var(--sans);color:var(--text-3)}
.feat--lime .feat__d{color:var(--lime-text)}
.feat--black .feat__d,.feat--ink .feat__d{color:rgba(255,255,255,.72)}
.demo-swipe{flex:1;border-radius:22px;background:#F4F2ED;padding:18px;display:flex;flex-direction:column;justify-content:center;gap:10px;position:relative;overflow:hidden;min-height:160px}
.swipe{position:relative;align-self:flex-start}
.swipe__ic{position:absolute;left:4px;top:50%;margin-top:-15px;width:30px;height:30px;border-radius:50%;background:var(--lime);display:grid;place-items:center;font-size:15px;animation:swipeIcon 3.2s ease-in-out infinite}
.swipe__bub{position:relative;background:#fff;border:1px solid #E8E5DE;border-radius:18px 18px 18px 6px;padding:9px 13px;font:400 14px var(--sans);animation:swipeDemo 3.2s var(--ease) infinite}
.replybar{align-self:stretch;background:#fff;border-radius:14px;padding:8px 10px;display:flex;align-items:center;gap:8px;animation:replyBar 3.2s ease-in-out infinite}
.replybar__ic{width:24px;height:24px;border-radius:8px;background:var(--lime);display:grid;place-items:center;font-size:12px}
.replybar__t{font:600 12px var(--sans)}
.bigwave{flex:1;display:flex;align-items:center;gap:4px;padding:0 6px;min-height:160px}
.bigwave span{flex:1;border-radius:4px;background:var(--ink);transform-origin:center;animation:bar 1.1s ease-in-out infinite}
.callstage{flex:1;position:relative;display:grid;place-items:center;min-height:170px}
.callstage__ping{position:absolute;left:50%;top:50%;width:260px;height:260px;border-radius:50%;background:radial-gradient(circle,rgba(205,242,92,.35),rgba(205,242,92,0) 70%);animation:ping 2.4s ease-out infinite}
.callstage__ping--2{background:radial-gradient(circle,rgba(205,242,92,.3),rgba(205,242,92,0) 70%);animation-delay:1.2s}
.callstage__mid{position:relative;display:flex;flex-direction:column;align-items:center;gap:6px}
.callstage__ic{width:72px;height:72px;border-radius:24px;background:var(--lime);color:var(--ink);display:grid;place-items:center;font-size:30px;animation:wiggle .5s ease-in-out infinite}
.callstage__time{font:600 26px var(--mono)}
.callstage__q{font:500 12px var(--sans);color:rgba(255,255,255,.7)}
.center{flex:1;display:grid;place-items:center}
.timer{position:relative;width:130px;height:130px}
.timer svg{transform:rotate(-90deg);display:block}
.timer__arc{animation:ring 6s linear infinite}
.timer__ic{position:absolute;inset:0;display:grid;place-items:center;font-size:34px}
.qrgrid{display:grid;grid-template-columns:repeat(9,14px);gap:3px;padding:14px;border-radius:20px;background:#F4F2ED}
.qrgrid span{width:14px;height:14px;border-radius:3px;background:var(--ink);animation:blinkC 1.2s steps(2) infinite}
.tick-wrap{flex:1;display:flex;align-items:center;min-height:120px}
.tick{height:36px;overflow:hidden;border-radius:99px;background:rgba(255,255,255,.08);padding:0 16px}
.tick__list{animation:ticker 10s cubic-bezier(.7,0,.3,1) infinite;font:700 15px/36px var(--sans);color:var(--lime);margin:0;padding:0;list-style:none}
.tick__list li{display:flex;align-items:center;gap:8px;height:36px;white-space:nowrap}

/* ---------- Privacy rules ---------- */
.privacy{background:var(--ink);color:#fff;padding-top:120px;padding-bottom:120px;border-radius:56px 56px 0 0}
.privacy__grid{max-width:var(--max);margin:0 auto;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,420px),1fr));gap:56px}
.privacy__head{display:flex;flex-direction:column;gap:20px;align-self:start}
@media (min-width:980px){.privacy__head{position:sticky;top:110px}}
.h2--xl{font-size:clamp(44px,6.5vw,92px);line-height:.92;letter-spacing:-.05em}
.lime{color:var(--lime)}
.privacy__lead{margin:0;font:400 17px/1.55 var(--sans);color:rgba(255,255,255,.7);max-width:440px}
.rules{margin:0;padding:0;list-style:none;display:flex;flex-direction:column}
.rules li{display:grid;grid-template-columns:64px 1fr;gap:18px;padding:28px 0;border-top:1px solid rgba(255,255,255,.12)}
.rules__n{font:600 14px var(--mono);color:var(--lime);padding-top:6px}
.rules__t{margin:0 0 8px;font:700 clamp(22px,2.4vw,30px)/1.1 var(--display);letter-spacing:-.02em}
.rules__d{margin:0;font:400 15.5px/1.55 var(--sans);color:rgba(255,255,255,.68);text-wrap:pretty}

/* ---------- Use-case photo strip ---------- */
.strip{position:relative;z-index:1;background:var(--ink);padding:0 0 120px;overflow:hidden}
.strip__track{display:flex;width:max-content;animation:marqR 30s linear infinite;gap:16px;padding:0 8px;margin:0;list-style:none}
.strip:hover .strip__track,.strip:focus-within .strip__track{animation-play-state:paused}
.ucard{width:min(78vw,380px);height:440px;border-radius:32px;overflow:hidden;position:relative;flex:none;background:var(--bg)}
.slot{position:absolute;inset:0;width:100%;height:100%;display:block}
.slot-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.ucard__txt{position:absolute;left:0;right:0;bottom:0;padding:24px;display:flex;flex-direction:column;gap:6px;pointer-events:none;background:linear-gradient(transparent,rgba(11,12,15,.85) 45%)}
.ucard__tag{font:600 11px var(--mono);letter-spacing:.12em;color:var(--lime)}
.ucard__t{margin:0;font:800 34px/1 var(--display);letter-spacing:-.03em;color:#fff}
.ucard__d{margin:0;font:400 14.5px/1.45 var(--sans);color:rgba(255,255,255,.8)}

/* ---------- Use cases (tabs) ---------- */
.uses{padding-top:120px;padding-bottom:80px}
.uses__inner{gap:44px}
.uses__head{max-width:860px}
.uses__body{display:flex;flex-wrap:wrap;gap:16px;align-items:flex-start}
.tabs{flex:1 1 280px;display:flex;flex-direction:column;gap:8px}
.tab{display:flex;align-items:center;gap:14px;padding:14px 16px 14px 14px;border:0;border-radius:24px;text-align:left;background:#fff;color:var(--ink);transition:background .25s,color .25s,transform .25s;width:100%}
.tab__ic{width:46px;height:46px;border-radius:15px;display:grid;place-items:center;font-size:21px;flex:none;background:var(--sand);color:var(--ink);transition:background .25s}
.tab__txt{flex:1;display:flex;flex-direction:column;gap:3px}
.tab__t{font:700 18px/1.15 var(--display);letter-spacing:-.01em}
.tab__tag{font:600 10.5px var(--mono);letter-spacing:.1em;opacity:.7}
.tab__arrow{font-size:18px;display:flex;opacity:0;transition:opacity .2s}
.tab[aria-selected="true"]{background:var(--ink);color:#fff;transform:translateX(6px)}
.tab[aria-selected="true"] .tab__ic{background:var(--lime)}
.tab[aria-selected="true"] .tab__arrow{opacity:1}
.tab:not([aria-selected="true"]):hover{background:#FBFAF7}
.panel{flex:999 1 520px;min-width:0;background:#fff;border-radius:36px;padding:clamp(24px,3.5vw,40px);display:flex;flex-direction:column;gap:28px;animation:fadeUp .5s var(--ease)}
.panel__head{display:flex;flex-direction:column;gap:12px}
.panel__tag{font:600 11px var(--mono);letter-spacing:.12em;color:var(--lime-deep);background:var(--lime);padding:6px 10px;border-radius:8px;width:fit-content}
.panel__t{margin:0;font:800 clamp(30px,3.6vw,46px)/1 var(--display);letter-spacing:-.035em}
.panel__s{margin:0;font:400 17px/1.55 var(--sans);color:var(--text-2);max-width:620px;text-wrap:pretty}
.panel__steps{margin:0;padding:0;list-style:none;display:flex;flex-direction:column}
.panel__steps li{display:grid;grid-template-columns:40px 1fr;gap:14px;padding:14px 0;border-top:1px solid var(--line);animation:fadeUp .5s both}
.panel__steps li:nth-child(1){animation-delay:.08s}
.panel__steps li:nth-child(2){animation-delay:.16s}
.panel__steps li:nth-child(3){animation-delay:.24s}
.panel__n{width:34px;height:34px;border-radius:50%;background:var(--ink);color:var(--lime);display:grid;place-items:center;font:600 13px var(--mono)}
.panel__st{font:500 16px/1.5 var(--sans);padding-top:5px;text-wrap:pretty}
.panel__meta{display:flex;flex-wrap:wrap;gap:28px}
.panel__group{display:flex;flex-direction:column;gap:10px}
.panel__label{font:600 11px var(--mono);letter-spacing:.1em;color:var(--text-4);margin:0}
.chips{display:flex;flex-wrap:wrap;gap:6px;margin:0;padding:0;list-style:none}

/* ---------- Security ---------- */
.security{padding-top:60px;padding-bottom:120px}
.security__inner{gap:44px}
.layers{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,270px),1fr));gap:16px}
.layer{position:relative;border-radius:32px;padding:26px;display:flex;flex-direction:column;gap:20px;background:var(--bg);color:var(--fg)}
.layer__top{display:flex;align-items:center;justify-content:space-between}
.layer__ic{width:52px;height:52px;border-radius:17px;display:grid;place-items:center;font-size:24px;background:var(--ib);color:var(--ic)}
.layer__n{font:800 44px/1 var(--display);opacity:.18}
.layer ul{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:10px}
.layer li{display:flex;gap:10px;align-items:flex-start;font:400 14.5px/1.45 var(--sans)}
.layer li .i{font-size:15px;margin-top:2px;color:var(--tick)}
.layer li span{opacity:.85}
.l-white{--bg:#fff;--fg:#15171C;--ib:#F0EEE8;--ic:#15171C;--tick:#0B6E4A}
.l-ink{--bg:#15171C;--fg:#fff;--ib:#CDF25C;--ic:#15171C;--tick:#CDF25C;--focus:var(--lime)}
.l-lime{--bg:#CDF25C;--fg:#15171C;--ib:#15171C;--ic:#CDF25C;--tick:#15171C}
.l-green{--bg:#fff;--fg:#15171C;--ib:#DCF2E6;--ic:#0B6E4A;--tick:#0B6E4A}
.pl-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,420px),1fr));gap:16px}
.pl{background:#fff;border-radius:32px;padding:28px;display:flex;flex-direction:column;gap:16px}
.pl--limits{background:var(--sand);border:1.5px dashed #C9C5BB}
.pl__t{margin:0;display:flex;align-items:center;gap:10px;font:700 22px var(--display)}
.pl__ic{width:36px;height:36px;border-radius:12px;display:grid;place-items:center;font-size:18px;background:#DCF2E6;color:#0B6E4A;flex:none}
.pl--limits .pl__ic{background:#FDE4D5;color:#A3360A}
.pl ul{margin:0;padding:0;list-style:none}
.pl li{display:flex;gap:12px;align-items:flex-start;padding:10px 0;border-top:1px solid var(--line);font:500 15.5px/1.45 var(--sans)}
.pl li .i{font-size:16px;margin-top:2px;color:#0B6E4A}
.pl--limits li{border-top-color:#DDD9D0;color:var(--text-2)}
.pl--limits li .i{color:#A3360A}

/* ---------- Compare ---------- */
.compare{background:var(--ink);color:#fff;padding-top:120px;padding-bottom:120px;border-radius:56px}
.compare__inner{gap:40px}
.compare__lead{margin:0;font:400 17px/1.55 var(--sans);color:rgba(255,255,255,.7);max-width:520px;text-wrap:pretty}
.tbl-wrap{overflow-x:auto;border-radius:28px;background:rgba(255,255,255,.04);-webkit-overflow-scrolling:touch}
.tbl{min-width:900px;width:100%;border-collapse:separate;border-spacing:0;table-layout:fixed}
.tbl col.c-feat{width:20%}
.tbl th,.tbl td{text-align:left;vertical-align:top;font-weight:inherit}
.tbl thead th{padding:22px 16px 18px;vertical-align:bottom}
.tbl thead th:first-child{padding:22px 20px;font:600 11px var(--mono);letter-spacing:.1em;color:rgba(255,255,255,.5)}
.tbl thead th.me{background:var(--lime);color:var(--ink);border-radius:20px 20px 0 0}
.tbl__name{display:block;font:800 21px/1 var(--display);letter-spacing:-.02em}
.tbl__sub{display:block;margin-top:4px;font:500 12px var(--sans);opacity:.7}
.tbl tbody th{padding:18px 20px;border-top:1px solid rgba(255,255,255,.08);font:600 15px/1.35 var(--sans)}
.tbl tbody td{padding:16px;border-top:1px solid rgba(255,255,255,.08)}
.tbl tbody td.me{background:rgba(205,242,92,.1)}
.cell{display:flex;flex-direction:column;gap:7px}
.cell__ic{width:26px;height:26px;border-radius:50%;display:grid;place-items:center;font-size:14px}
.cell__ic--y{background:var(--lime);color:var(--ink)}
.cell__ic--n{background:rgba(255,255,255,.1);color:rgba(255,255,255,.6)}
.cell__ic--p{background:rgba(255,179,138,.18);color:#FFB38A}
.cell__ic--d{background:rgba(255,255,255,.06);color:rgba(255,255,255,.4)}
.cell__t{font:500 13px/1.4 var(--sans);color:rgba(255,255,255,.72)}
td.me .cell__t{color:#fff}
.notes{display:flex;flex-direction:column;gap:8px;font:400 13px/1.55 var(--sans);color:rgba(255,255,255,.6);max-width:900px;margin:0;padding:0;list-style:none}

/* ---------- Swag ---------- */
.swag{padding-top:120px;padding-bottom:120px}
.swag__inner{gap:48px}
.swag__head{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:24px}
.swag__title{max-width:760px}
.h2--swag{font-size:clamp(48px,8vw,120px);line-height:.88;letter-spacing:-.055em}
.tilted-hl{display:inline-block;background:var(--lime);padding:0 .12em;border-radius:.15em;transform:rotate(-2deg)}
.soon-row{display:flex;flex-wrap:wrap;align-items:center;gap:12px 18px;margin-top:6px}
.soon{display:inline-flex;align-items:center;gap:8px;height:40px;padding:0 16px 0 13px;margin:0;border-radius:99px;background:var(--ink);color:var(--lime);font:600 13px var(--mono);letter-spacing:.1em;text-transform:uppercase;transform:rotate(-2deg);flex:none;box-shadow:0 12px 24px -14px rgba(0,0,0,.5)}
.soon .i{font-size:16px}
.soon-row__t{flex:1 1 260px;margin:0;font:400 16px/1.5 var(--sans);color:var(--text-2);max-width:460px;text-wrap:pretty}
.cats{display:flex;gap:6px;flex-wrap:wrap}
.cat{height:42px;padding:0 18px;border-radius:99px;border:0;font:600 14px var(--sans);background:#fff;color:var(--ink);transition:background .2s,color .2s}
.cat[aria-pressed="true"]{background:var(--ink);color:#fff}
.products{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,280px),1fr));gap:16px;margin:0;padding:0;list-style:none}
.product{background:#fff;border-radius:32px;padding:12px;display:flex;flex-direction:column;gap:14px}
.product__img{position:relative;aspect-ratio:1/1;border-radius:24px;overflow:hidden;background:var(--bg)}
.product__tag{position:absolute;left:12px;top:12px;pointer-events:none;height:28px;padding:0 11px;border-radius:99px;background:var(--ink);color:var(--lime);display:flex;align-items:center;font:600 11px var(--mono);letter-spacing:.06em}
.product__body{display:flex;flex-direction:column;gap:12px;padding:0 8px 8px;flex:1}
.product__row{display:flex;align-items:baseline;justify-content:space-between;gap:10px}
.product__name{margin:0;font:700 20px/1.15 var(--display);letter-spacing:-.015em}
.product__price{font:600 16px var(--mono);flex:none}
.product__desc{margin:0;font:400 13.5px/1.45 var(--sans);color:var(--text-3)}
.sizes{display:flex;gap:6px;flex-wrap:wrap;border:0;margin:0;padding:0;list-style:none}
.size{min-width:44px;height:36px;padding:0 8px;border-radius:12px;display:grid;place-items:center;font:600 13px var(--sans);background:var(--sand);color:var(--ink)}
.add{margin-top:auto;height:50px;border:0;border-radius:99px;font:600 15px var(--sans);display:flex;align-items:center;justify-content:center;gap:8px;background:var(--ink);color:#fff}
.add .i{font-size:17px}
.add--soon{margin-bottom:0;background:var(--sand);color:var(--text-2);border:1.5px dashed #C9C5BB}

/* ---------- FAQ ---------- */
.faq{padding-top:40px;padding-bottom:120px}
.faq__inner{max-width:1000px;gap:40px}
.faq__list{display:flex;flex-direction:column;gap:10px}
.qa{background:#fff;border-radius:26px;overflow:hidden}
.qa h3{margin:0}
.qa__btn{width:100%;border:0;background:none;display:flex;align-items:center;gap:16px;padding:22px 24px;text-align:left;border-radius:26px}
.qa__q{flex:1;font:700 clamp(18px,2vw,22px)/1.25 var(--display);letter-spacing:-.01em}
.qa__pm{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;font-size:18px;flex:none;background:var(--sand);transition:transform .35s cubic-bezier(.3,1.4,.5,1),background .2s}
.qa__btn[aria-expanded="true"] .qa__pm{background:var(--lime);transform:rotate(45deg)}
.qa__a{display:grid;grid-template-rows:0fr;transition:grid-template-rows .4s var(--ease),visibility .4s;visibility:hidden}
.qa__a>div{overflow:hidden}
.qa__a p{margin:0;padding:0 24px 24px;font:400 16px/1.6 var(--sans);color:var(--text-2);max-width:760px;text-wrap:pretty}
.qa.open .qa__a{grid-template-rows:1fr;visibility:visible}


/* ---------- Download ---------- */
.download{padding-bottom:40px}
.dl{position:relative;max-width:var(--max);margin:0 auto;background:var(--lime);border-radius:48px;padding:clamp(32px,6vw,80px);overflow:hidden;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,380px),1fr));gap:40px;align-items:center}
.dl__ring{position:absolute;border-radius:50%;border:2px dashed rgba(21,23,28,.25);animation:spinS 40s linear infinite}
.dl__ring--a{right:-80px;top:-80px;width:360px;height:360px}
.dl__ring--b{right:20px;top:20px;width:160px;height:160px;border-color:rgba(21,23,28,.2);animation-duration:24s;animation-direction:reverse}
.dl__copy{position:relative;display:flex;flex-direction:column;gap:22px}
.h2--dl{font-size:clamp(52px,8vw,112px);line-height:.88;letter-spacing:-.055em}
.dl__lead{margin:0;font:500 18px/1.5 var(--sans);color:var(--lime-text);max-width:480px}
.dl__btns{display:flex;flex-wrap:wrap;gap:12px}
.dl__main{height:64px;padding:0 30px;font-size:18px}
.dl__main .i{font-size:21px}
.dl__reach{height:64px;padding:0 24px;background:rgba(21,23,28,.08);color:var(--ink);font-size:16px}
.dl__reach .i{font-size:19px}
.dl__reach:hover{background:rgba(21,23,28,.14);color:var(--ink)}
.dl__meta{margin:0;font:500 13px/1.5 var(--mono);color:var(--lime-deep)}
.dl__meta>span{white-space:nowrap}
.dl__note{margin:0;font:400 14px/1.5 var(--sans);color:var(--lime-text);max-width:520px}
.dl__qrwrap{position:relative;display:flex;justify-content:center}
.dl__qr{margin:0;background:#fff;border-radius:36px;padding:22px;display:flex;flex-direction:column;align-items:center;gap:14px;transform:rotate(3deg);box-shadow:0 30px 60px -30px rgba(40,60,0,.5)}
.dl__qr svg{width:200px;height:200px;display:block}
.dl__qr figcaption{font:600 13px var(--sans)}

/* ---------- Footer ---------- */
.foot{padding-top:60px;padding-bottom:40px}
.foot__inner{gap:40px}
.foot__top{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2.4fr);gap:40px 48px;border-top:1px solid #DDD9D0;padding-top:48px}
.foot__brand{display:flex;flex-direction:column;align-items:flex-start;gap:16px}
.foot__brand .foot__tag{max-width:260px}
.foot__dl{height:48px;padding:0 20px;font-size:15px}
.foot__dl .i{font-size:17px}
.foot__nav{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:32px 24px}
.foot__h{margin:0 0 14px;font:600 11px var(--mono);letter-spacing:.12em;color:var(--text-3);text-transform:uppercase}
.foot__links{display:flex;flex-direction:column;align-items:flex-start;gap:10px;margin:0;padding:0;list-style:none}
.foot__links a{font:500 15px/1.3 var(--sans)}
.foot__links a[aria-current="page"]{font-weight:700;box-shadow:inset 0 -.42em 0 var(--lime)}
.foot__ext{display:inline-block;margin-left:4px;font-size:12px;opacity:.5;vertical-align:-1px}
.wordmark{font:800 clamp(56px,14.5vw,220px)/.95 var(--display);letter-spacing:-.06em;color:var(--ink);white-space:nowrap;margin:0}
.foot__row{display:flex;flex-wrap:wrap;gap:8px 24px;justify-content:space-between;align-items:center;border-top:1px solid #DDD9D0;padding-top:24px}
.foot__tag{margin:0;font:500 14px/1.5 var(--sans);color:var(--text-3)}
@media (max-width:900px){.foot__top{grid-template-columns:1fr}}
@media (max-width:640px){.foot__nav{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* ---------- Swag "coming soon" dialog (header bag button) ---------- */
.drawer{position:fixed;inset:0;z-index:80;pointer-events:none}
.drawer.open{pointer-events:auto}
.drawer__scrim{position:absolute;inset:0;background:rgba(21,23,28,.4);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);opacity:0;transition:opacity .35s}
.drawer.open .drawer__scrim{opacity:1}
.drawer__panel{position:absolute;top:12px;right:12px;bottom:12px;width:min(420px,calc(100vw - 24px));background:#fff;border-radius:32px;display:flex;flex-direction:column;transform:translateX(calc(100% + 24px));transition:transform .5s cubic-bezier(.2,.9,.2,1),visibility 0s .5s;box-shadow:-20px 0 60px -30px rgba(0,0,0,.4);visibility:hidden}
.drawer.open .drawer__panel{transform:translateX(0);visibility:visible;transition:transform .5s cubic-bezier(.2,.9,.2,1),visibility 0s}
.drawer__hd{display:flex;align-items:center;justify-content:space-between;padding:22px 22px 12px}
.drawer__t{margin:0;font:800 28px var(--display);letter-spacing:-.02em}
.icon-btn{width:42px;height:42px;border:0;border-radius:50%;background:var(--sand);display:grid;place-items:center;font-size:18px}
.drawer--soon .drawer__panel{bottom:auto;width:min(400px,calc(100vw - 24px))}
.drawer--soon .drawer__t{font-size:24px;line-height:1.1}
.soon-msg{padding:4px 22px 24px;display:flex;flex-direction:column;align-items:flex-start;gap:14px}
.soon-msg__d{margin:0;font:400 15px/1.55 var(--sans);color:var(--text-2);text-wrap:pretty}
.soon-msg__go{height:50px;padding:0 22px;font-size:15px}
.soon-msg__go .i{font-size:18px}
.empty__ic{width:64px;height:64px;border-radius:22px;background:var(--sand);display:grid;place-items:center;font-size:28px}

/* ---------- Toast ---------- */
.toast{position:fixed;left:50%;bottom:24px;z-index:90;pointer-events:none;background:var(--ink);color:#fff;border-radius:99px;padding:13px 20px;font:500 14px var(--sans);white-space:nowrap;max-width:calc(100vw - 32px);overflow:hidden;text-overflow:ellipsis;box-shadow:0 14px 30px -12px rgba(0,0,0,.5);transform:translate(-50%,24px);opacity:0;transition:all .35s cubic-bezier(.2,.9,.2,1)}
.toast.show{transform:translate(-50%,0);opacity:1}

/* =====================================================================
   Multi-page additions: page heads, link cards, roadmap and sub-pages
   ===================================================================== */

/* ---------- Shared bits ---------- */
[id]{scroll-margin-top:96px}
.btn--lime{background:var(--lime);color:var(--ink)}
.btn--lime:hover{background:#DAF77E;color:var(--ink)}
.btn--ghost{background:rgba(255,255,255,.06);color:#fff;box-shadow:inset 0 0 0 1.5px rgba(255,255,255,.3)}
.btn--ghost:hover{color:var(--lime);box-shadow:inset 0 0 0 1.5px var(--lime)}
.inl{color:inherit;font-weight:600;text-decoration:underline;text-decoration-thickness:1.5px;text-underline-offset:3px}
.dark .inl{color:var(--lime)}
.dark .inl:hover{color:#fff}
.go{display:inline-flex;align-items:center;gap:8px;font:600 16px var(--sans);color:var(--ink);padding:4px 0}
.go .i{font-size:18px;transition:transform .25s var(--ease)}
.go:hover .i{transform:translateX(4px)}
.go--lime{color:var(--lime)}
.go--lime:hover{color:#fff}
code{font:500 .9em var(--mono);background:rgba(21,23,28,.07);padding:.12em .4em;border-radius:6px;white-space:nowrap}
.dark code{background:rgba(255,255,255,.1)}
.nowrap{white-space:nowrap}
.split__aside{display:flex;flex-direction:column;align-items:flex-start;gap:18px}
.chip--ink{--bg:var(--ink);--fg:var(--lime)}

/* Status chips (roadmap, community) */
.st{display:inline-flex;align-items:center;gap:7px;height:28px;padding:0 11px;border-radius:99px;font:600 11px var(--mono);letter-spacing:.08em;text-transform:uppercase;white-space:nowrap;flex:none}
.st .i{font-size:13px}
.st--done{background:var(--lime);color:var(--ink)}
.st--done .i{stroke-width:3}
.st--now{background:#DCF2E6;color:#0B6E4A}
.st__dot{position:relative;width:8px;height:8px;border-radius:50%;background:#22A36B;flex:none}
.st__dot::after{content:"";position:absolute;inset:0;border-radius:50%;background:#22A36B;animation:breathe 1.8s infinite}
.st--plan{background:var(--ink);color:#fff}
.dark .st--plan{background:rgba(255,255,255,.12)}
.st--explore{background:transparent;color:var(--text-2);border:1.5px dashed currentColor}
.dark .st--explore{color:rgba(255,255,255,.75)}
.st--new{background:#FDE7D9;color:#A3360A}
.st--soon{background:var(--ink);color:var(--lime);height:34px;padding:0 13px}

/* Sequenced reveal ([data-seq]: classes added by JS only when motion is allowed) */
.sq>*{opacity:0;translate:0 28px;transition:opacity .7s var(--ease),translate .7s var(--ease);transition-delay:calc(var(--i,0) * .15s + .25s)}
.sq.sq-in>*{opacity:1;translate:0 0}

/* ---------- Page head (sub-pages) ---------- */
.phead{padding-top:clamp(36px,6vw,88px);padding-bottom:clamp(56px,7vw,100px)}
.phead__bg{position:absolute;inset:0;width:100%;height:100%;z-index:-1;-webkit-mask-image:linear-gradient(100deg,transparent 28%,#000 78%);mask-image:linear-gradient(100deg,transparent 28%,#000 78%)}
.phead__bg .lines{animation:dash 2.4s linear infinite}
.phead__inner{display:flex;flex-direction:column;align-items:flex-start;gap:24px}
.phead__eye{animation:fadeUp .6s .05s both}
.h1p{margin:0;max-width:17ch;font:800 clamp(46px,7.4vw,108px)/.92 var(--display);letter-spacing:-.05em;text-wrap:balance;animation:fadeUp .8s .12s both}
.h1p .tilted-hl{padding:0 .1em .04em}
.phead__lead{margin:0;max-width:640px;font:400 clamp(17px,1.6vw,20px)/1.55 var(--sans);color:var(--text-2);text-wrap:pretty;animation:fadeUp .7s .3s both}
.phead__jump,.legend,.glance,.lost__links{display:flex;flex-wrap:wrap;gap:8px;margin:4px 0 0;padding:0;list-style:none;animation:fadeUp .7s .45s both}
.phead__jump a,.lost__links a{display:inline-flex;align-items:center;height:38px;padding:0 15px;border-radius:99px;background:#fff;font:600 13.5px var(--sans);color:var(--ink);box-shadow:0 1px 2px rgba(0,0,0,.05);transition:background .2s,color .2s}
.phead__jump a:hover,.lost__links a:hover{background:var(--ink);color:#fff}

/* ---------- Link cards ---------- */
.lgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));gap:16px;margin:0;padding:0;list-style:none}
.lgrid>li{display:flex}
.lcard{position:relative;flex:1;display:flex;flex-direction:column;gap:22px;min-height:360px;padding:28px;border-radius:32px;background:#fff;color:var(--ink);overflow:hidden}
.lcard:hover{color:var(--ink)}
.lcard--lime{background:var(--lime)}
.lcard--ink{background:var(--ink);color:#fff}
.lcard--ink:hover{color:#fff}
.lcard--sand{background:var(--sand-2)}
.lcard__art{flex:1;display:flex;flex-wrap:wrap;align-content:center;align-items:center;gap:8px;min-height:130px}
.lcard__txt{display:flex;flex-direction:column;gap:8px;padding-right:58px}
.lcard__eye{font:600 11.5px var(--mono);letter-spacing:.12em;opacity:.65}
.lcard__t{font:700 26px/1.08 var(--display);letter-spacing:-.025em;text-wrap:balance}
.lcard__d{font:400 15px/1.5 var(--sans);color:var(--text-3);text-wrap:pretty}
.lcard--lime .lcard__d{color:var(--lime-text)}
.lcard--ink .lcard__d{color:rgba(255,255,255,.72)}
.lcard__go{position:absolute;right:22px;bottom:22px;width:46px;height:46px;border-radius:50%;background:var(--ink);color:var(--lime);display:grid;place-items:center;font-size:20px;transition:transform .35s var(--ease)}
.lcard--ink .lcard__go{background:var(--lime);color:var(--ink)}
.lcard:hover .lcard__go,.lcard:focus-visible .lcard__go{transform:scale(1.1) rotate(-12deg)}
.lcard--sm{min-height:0;gap:20px}
.lcard--sm .lcard__txt{margin-top:auto}
.lcard--sm .lcard__t{font-size:23px}
.lcard__ic{width:52px;height:52px;border-radius:17px;background:var(--sand);display:grid;place-items:center;font-size:23px;flex:none}
.lcard--lime .lcard__ic{background:var(--ink);color:var(--lime)}
.lcard--ink .lcard__ic{background:var(--lime);color:var(--ink)}
.lcard__art--chips .chip:nth-child(odd){transform:rotate(-3deg)}
.lcard__art--chips .chip:nth-child(even){transform:rotate(2deg)}
.lcard__art--lock{gap:16px;flex-wrap:nowrap}
.lcard__lock{width:92px;height:92px;border-radius:30px;background:var(--lime);color:var(--ink);display:grid;place-items:center;font-size:40px;flex:none;transform:rotate(-6deg);animation:floaty 5s ease-in-out infinite;--r:-6deg}
.lcard__seal{font:600 12px/1.5 var(--mono);letter-spacing:.14em;color:var(--lime);max-width:9em}
.lcard__art--tags span{height:34px;padding:0 13px;border-radius:99px;display:inline-flex;align-items:center;font:600 11.5px var(--mono);letter-spacing:.1em;box-shadow:inset 0 0 0 1.5px var(--ink)}
.lcard__art--tags span:nth-child(2){background:var(--ink);color:var(--lime);transform:rotate(-3deg)}
.lcard__art--pair{flex-wrap:nowrap;gap:12px}
.lcard__app{width:64px;height:64px;border-radius:21px;display:grid;place-items:center;font-size:28px;flex:none}
.lcard__app--ink{background:var(--ink);color:var(--lime)}
.lcard__app--net{background:#ECE5FF;color:#6236D0}
.lcard__wire{position:relative;flex:1;height:2px;background:repeating-linear-gradient(90deg,rgba(21,23,28,.4) 0 5px,transparent 5px 10px)}
.lcard__wire::after{content:"";position:absolute;top:50%;left:0;width:14px;height:14px;margin:-7px 0 0 -7px;border-radius:5px;background:var(--lime);box-shadow:0 0 0 3px #fff,0 0 0 4.5px var(--ink);animation:wire 2.6s var(--ease) infinite}
@keyframes wire{0%{left:0;opacity:0}12%,88%{opacity:1}100%{left:100%;opacity:0}}
.lcard__art--hands{flex-direction:column;flex-wrap:nowrap;align-items:flex-start;gap:8px}
.lcard__bubble{background:#fff;border-radius:18px 18px 18px 6px;padding:9px 14px;font:500 14px var(--sans);box-shadow:0 1px 2px rgba(0,0,0,.05)}
.lcard__bubble--b{align-self:flex-end;background:var(--ink);color:#fff;border-radius:18px 18px 6px 18px}
.lcard__bubble--c{margin-left:18px}
.next{padding-top:20px;padding-bottom:100px}
.next__inner{gap:20px}
.lgrid--next{grid-template-columns:repeat(auto-fit,minmax(min(100%,290px),1fr))}

/* ---------- Home: explore + roadmap teaser ---------- */
.how--teaser{padding-bottom:110px}
.explore{padding-top:20px;padding-bottom:120px}
.explore__inner{gap:48px}
.explore__head{max-width:820px}
.rmt{background:var(--ink);color:#fff;padding-top:120px;padding-bottom:120px;border-radius:56px}
.rmt__inner{gap:64px}
.rmt+.download{padding-top:100px}
.rmt__lead{margin:0;font:400 17px/1.55 var(--sans);color:rgba(255,255,255,.7);max-width:440px;text-wrap:pretty}
.rmt__track{position:relative;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:24px;margin:0;padding:0;list-style:none}
.rmt__track::before,.rmt__track::after{content:"";position:absolute;left:28px;right:0;top:27px;height:2px}
.rmt__track::before{background:repeating-linear-gradient(90deg,rgba(255,255,255,.28) 0 6px,transparent 6px 12px)}
.rmt__track::after{height:4px;top:26px;width:calc(20% + 8px);right:auto;border-radius:4px;background:linear-gradient(90deg,var(--lime),rgba(205,242,92,0))}
.rmt__track.sq::before,.rmt__track.sq::after{clip-path:inset(0 100% 0 0);transition:clip-path 1.8s var(--ease) .1s}
.rmt__track.sq-in::before,.rmt__track.sq-in::after{clip-path:inset(0 0 0 0)}
.rmt__stage{position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:10px}
.rmt__node{position:relative;width:56px;height:56px;border-radius:19px;background:#262A32;color:var(--lime);display:grid;place-items:center;font-size:24px;box-shadow:0 0 0 8px var(--ink);margin-bottom:14px}
.rmt__stage--now .rmt__node{background:var(--lime);color:var(--ink)}
.rmt__stage--now .rmt__node::after{content:"";position:absolute;inset:0;border-radius:inherit;animation:halo 2s var(--ease) infinite}
@keyframes halo{0%{box-shadow:0 0 0 0 rgba(205,242,92,.6)}100%{box-shadow:0 0 0 22px rgba(205,242,92,0)}}
.rmt__when{display:flex;align-items:center;gap:8px;font:600 12px var(--mono);letter-spacing:.14em;color:var(--lime)}
.rmt__new{background:var(--lime);color:var(--ink);padding:3px 6px;border-radius:6px;font-size:10px;letter-spacing:.08em}
.rmt__t{margin:0;font:700 22px/1.1 var(--display);letter-spacing:-.02em;text-wrap:balance}
.rmt__d{margin:0 0 6px;font:400 14.5px/1.5 var(--sans);color:rgba(255,255,255,.66);text-wrap:pretty}
.rmt__stage .st{margin-top:auto}
@media (max-width:900px){
  .rmt__track{grid-template-columns:1fr;gap:28px}
  .rmt__track::before,.rmt__track::after{left:27px;right:auto;top:28px;bottom:28px;width:2px;height:auto}
  .rmt__track::after{width:4px;left:26px;bottom:auto;height:calc(20% + 8px);background:linear-gradient(180deg,var(--lime),rgba(205,242,92,0))}
  .rmt__track.sq::before,.rmt__track.sq::after{clip-path:inset(0 0 100% 0)}
  .rmt__track.sq-in::before,.rmt__track.sq-in::after{clip-path:inset(0 0 0 0)}
  .rmt__stage{display:grid;grid-template-columns:56px 1fr;column-gap:20px;row-gap:6px}
  .rmt__node{grid-row:1/span 4;margin:0}
  .rmt__stage>*:not(.rmt__node){grid-column:2}
  .rmt__stage .st{margin-top:6px;justify-self:start}
}

/* ---------- How it works ---------- */
.ticks{padding-top:20px;padding-bottom:110px}
.ticks__inner{gap:48px}
.tickrow{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:16px;margin:0;padding:0;list-style:none}
.tickc{background:#fff;border-radius:32px;padding:28px;display:flex;flex-direction:column;gap:10px}
.tickc__st{display:inline-flex;align-items:center;gap:8px;align-self:flex-start;height:42px;padding:0 17px 0 13px;border-radius:99px;background:var(--sand);font:600 15px var(--sans);margin-bottom:22px}
.tickc__st .i{font-size:18px}
.tickc--ink{background:var(--ink);color:#fff}
.tickc--ink .tickc__st{background:var(--lime);color:var(--ink)}
.tickc__t{margin:0;font:700 24px/1.1 var(--display);letter-spacing:-.02em}
.tickc__d{margin:0;font:400 15px/1.5 var(--sans);color:var(--text-3);text-wrap:pretty}
.tickc--ink .tickc__d{color:rgba(255,255,255,.72)}
.routes-sec{padding-top:0;padding-bottom:110px}
.routes-sec__inner{gap:16px}
.pilldemo{justify-self:center;width:100%;max-width:400px;background:#fff;color:var(--ink);border-radius:30px;padding:22px;display:flex;flex-direction:column;gap:16px;transform:rotate(2deg);box-shadow:0 40px 70px -34px rgba(0,0,0,.7)}
.pilldemo__hd{display:flex;align-items:center;gap:12px}
.pilldemo__who{display:flex;flex-direction:column;gap:4px}
.pilltick{height:40px;overflow:hidden}
.pilltick__list{margin:0;padding:0;list-style:none;animation:pills 12s cubic-bezier(.7,0,.3,1) infinite}
.pilltick__list li{height:40px;display:flex;align-items:center}
.pilltick .route-pill{height:34px;padding:0 14px 0 11px;font-size:14px}
.pilltick .route-pill .i{font-size:15px}
@keyframes pills{0%,13%{transform:translateY(0)}16.6%,30%{transform:translateY(-14.2857%)}33.3%,47%{transform:translateY(-28.5714%)}50%,63%{transform:translateY(-42.8571%)}66.6%,80%{transform:translateY(-57.1429%)}83.3%,97%{transform:translateY(-71.4286%)}100%{transform:translateY(-85.7143%)}}
.rgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,330px),1fr));gap:16px;margin:0;padding:0;list-style:none}
.rcard{background:#fff;border-radius:32px;padding:26px;display:flex;flex-direction:column;gap:12px}
.rcard .chip{align-self:flex-start;margin-bottom:10px}
.rcard__t{margin:0;font:700 26px/1.05 var(--display);letter-spacing:-.025em}
.rcard__range{margin:0;display:flex;flex-wrap:wrap;align-items:baseline;gap:2px 10px;font:700 17px/1.3 var(--sans)}
.rcard__range span{font:500 12.5px var(--mono);color:var(--text-3)}
.rcard__d{margin:0;flex:1;font:400 15px/1.5 var(--sans);color:var(--text-3);text-wrap:pretty}
.rcard__needs{margin:6px 0 0;padding-top:14px;border-top:1px solid var(--line);display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;font:600 14px var(--sans)}
.rcard__needs span{font:600 10.5px var(--mono);letter-spacing:.12em;color:var(--text-4)}
.rcard__needs a{text-decoration:underline;text-underline-offset:3px}
.mg{padding-bottom:110px}
.mg__box{position:relative;max-width:var(--max);margin:0 auto;background:var(--ink);color:#fff;border-radius:48px;padding:clamp(28px,5vw,64px);display:flex;flex-direction:column;gap:44px;overflow:hidden}
.mg__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,420px),1fr));gap:48px;align-items:center}
.mg__copy{display:flex;flex-direction:column;align-items:flex-start;gap:20px}
.mg__h{font-size:clamp(36px,4.8vw,66px)}
.mg__lead{max-width:560px;text-wrap:pretty}
.mg__ctas{display:flex;flex-wrap:wrap;align-items:center;gap:12px 24px;margin-top:4px}
.mgd{display:flex;flex-direction:column;align-items:center}
.mgd__app{display:flex;flex-direction:column;align-items:center;gap:8px;padding:20px 26px;border-radius:28px;background:#22252C;min-width:min(250px,100%);text-align:center}
.mgd__app--mt{background:var(--lime);color:var(--ink);transform:rotate(-2deg)}
.mgd__ic{width:56px;height:56px;border-radius:18px;display:grid;place-items:center;font-size:26px;background:var(--ink);color:var(--lime)}
.mgd__app--mg .mgd__ic{background:#ECE5FF;color:#6236D0}
.mgd__name{font:800 24px/1 var(--display);letter-spacing:-.02em}
.mgd__tag{display:inline-flex;align-items:center;gap:6px;font:600 11.5px var(--mono);letter-spacing:.08em;text-transform:uppercase;opacity:.8}
.mgd__tag .i{font-size:14px}
.mgd__wire{position:relative;height:100px;width:2px;background:repeating-linear-gradient(180deg,rgba(255,255,255,.45) 0 5px,transparent 5px 10px)}
.mgd__env{position:absolute;left:50%;top:0;width:34px;height:34px;margin-left:-17px;border-radius:11px;background:var(--lime);color:var(--ink);display:grid;place-items:center;font-size:16px;animation:envDown 2.6s var(--ease) infinite}
@keyframes envDown{0%{top:-4px;opacity:0}15%,85%{opacity:1}100%{top:70px;opacity:0}}
.mgd__lbl{position:absolute;left:28px;top:50%;transform:translateY(-50%);white-space:nowrap;font:500 12px var(--mono);color:rgba(255,255,255,.6)}
.mgd__out{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin-top:18px}
.mg__facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,250px),1fr));gap:12px;margin:0;padding:0;list-style:none}
.mg__facts li{display:flex;gap:12px;align-items:flex-start;padding:18px;border-radius:22px;background:rgba(255,255,255,.06);font:400 14.5px/1.5 var(--sans);color:rgba(255,255,255,.72)}
.mg__facts b{color:#fff;font-weight:600}
.mg__facts .i{font-size:18px;color:var(--lime);margin-top:2px}
.mg__note{margin:0;font:400 13px/1.5 var(--sans);color:rgba(255,255,255,.55)}

/* ---------- Feature demos (features page) ---------- */
.features--hard{padding-top:0}
.demo-states{flex:1;border-radius:22px;background:#F4F2ED;padding:18px;display:flex;flex-direction:column;justify-content:center;align-items:flex-end;gap:12px;min-height:160px}
.demo-states__bub{max-width:92%}
.demo-states__st{display:grid;justify-items:end}
.demo-states__st>.bub__st{grid-area:1/1;opacity:0;animation:stCycle 6s infinite}
.demo-states .st-sent{animation-delay:2s}
.demo-states .st-done{animation-delay:4s;color:var(--lime)}
@keyframes stCycle{0%{opacity:0}4%,30%{opacity:1}34%,100%{opacity:0}}
.demo-states__sys{align-self:center}
.demo-states__sys .i{font-size:13px}
.demo-group{flex:1;display:flex;flex-direction:column;justify-content:center;gap:20px;min-height:160px}
.demo-group__stack{display:flex;padding-left:10px}
.demo-group__stack span{width:54px;height:54px;border-radius:18px;background:var(--c);display:grid;place-items:center;font:700 18px var(--sans);margin-left:-10px;box-shadow:0 0 0 4px #fff;animation:floaty 3s ease-in-out infinite}
.demo-group__stack span:nth-child(2){animation-delay:.2s}
.demo-group__stack span:nth-child(3){animation-delay:.4s}
.demo-group__stack span:nth-child(4){animation-delay:.6s}
.demo-group__stack span:nth-child(5){animation-delay:.8s}
.demo-group__stack .demo-group__more{--c:var(--ink);color:var(--lime);font-size:15px;animation-delay:1s}
.demo-group__chans{display:flex;flex-wrap:wrap;gap:8px}
.demo-media{flex:1;position:relative;min-height:200px}
.demo-media__photo{position:absolute;left:2%;top:8px;width:56%;aspect-ratio:4/3;border-radius:18px;overflow:hidden;transform:rotate(-4deg);box-shadow:0 16px 30px -18px rgba(0,0,0,.45)}
.demo-media__photo svg{width:100%;height:100%;display:block}
.demo-media__video{position:absolute;right:2%;top:0;width:40%;aspect-ratio:3/4;max-height:170px;border-radius:18px;background:linear-gradient(160deg,#3A3950,#15171C);transform:rotate(5deg);display:grid;place-items:center;box-shadow:0 16px 30px -18px rgba(0,0,0,.45)}
.demo-media__play{width:42px;height:42px;border-radius:50%;background:var(--lime);color:var(--ink);display:grid;place-items:center;font-size:15px}
.demo-media__dur{position:absolute;right:10px;bottom:9px;font:600 11px var(--mono);color:#fff}
.demo-media__file{position:absolute;left:10%;bottom:0;display:flex;align-items:center;gap:10px;background:#fff;border:1px solid #E8E5DE;border-radius:16px;padding:8px 14px 8px 8px;box-shadow:0 16px 30px -18px rgba(0,0,0,.35);animation:floaty 4s ease-in-out infinite}
.demo-media__fic{width:34px;height:34px;border-radius:11px;background:#FDE7D9;color:#B13F0A;display:grid;place-items:center;font-size:16px;flex:none}
.demo-media__file b{display:block;font:600 13px var(--sans)}
.demo-media__file small{display:block;font:500 11px var(--mono);color:var(--text-4)}
.demo-pin{flex:1;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:24px;min-height:160px;border-radius:22px;background:#F4F2ED}
.demo-pin__dots{display:flex;gap:12px}
.demo-pin__dots span{width:16px;height:16px;border-radius:50%;border:2px solid var(--ink);animation:pinFill 4s infinite}
.demo-pin__dots span:nth-child(2){animation-delay:.2s}
.demo-pin__dots span:nth-child(3){animation-delay:.4s}
.demo-pin__dots span:nth-child(4){animation-delay:.6s}
.demo-pin__dots span:nth-child(5){animation-delay:.8s}
.demo-pin__dots span:nth-child(6){animation-delay:1s}
@keyframes pinFill{0%,6%{background:transparent}10%,75%{background:var(--ink)}85%,100%{background:transparent}}
.demo-pin__row{display:flex;align-items:center;gap:12px}
.demo-pin__hold{position:relative;width:46px;height:46px;display:grid;place-items:center;color:#A3360A;font-size:17px}
.demo-pin__hold>svg:first-child{position:absolute;inset:0;width:100%;height:100%;transform:rotate(-90deg)}
.demo-pin__arc{animation:holdArc 4s ease-in infinite}
@keyframes holdArc{0%,25%{stroke-dashoffset:120}75%,100%{stroke-dashoffset:0}}
.demo-pin__lbl{font:600 13px var(--mono);letter-spacing:.04em;color:#A3360A}
.demo-lora{flex:1;position:relative;display:grid;place-items:center;min-height:170px;overflow:hidden;border-radius:22px}
.demo-lora__ring{position:absolute;left:50%;top:50%;width:240px;height:240px;border-radius:50%;border:2px solid rgba(21,23,28,.4);animation:ping 3s ease-out infinite}
.demo-lora__ring--2{animation-delay:1s}
.demo-lora__ring--3{animation-delay:2s}
.demo-lora__radio{position:relative;width:72px;height:72px;border-radius:24px;background:var(--ink);color:var(--lime);display:grid;place-items:center;font-size:32px}
.demo-lora__km{position:absolute;right:8px;top:10px;font:700 13px var(--mono);background:var(--ink);color:var(--lime);padding:6px 11px;border-radius:99px;transform:rotate(4deg)}
.demo-pill{flex:1;display:grid;place-items:center;min-height:160px}
.demo-pill .pilltick{height:48px}
.demo-pill .pilltick__list li{height:48px}
.demo-pill .route-pill{height:42px;padding:0 17px 0 13px;font-size:15.5px}
.demo-pill .route-pill .i{font-size:17px}

/* ---------- Use cases ---------- */
.strip--page{margin:0 var(--gutter);padding:36px 0;border-radius:48px}
.strip--page+.uses{padding-top:110px}

/* ---------- Security ---------- */
.limits{padding-top:0;padding-bottom:120px}
.limits__inner{gap:44px}
.audit{display:flex;flex-wrap:wrap;align-items:center;gap:20px 28px;padding:clamp(22px,3vw,34px);border-radius:32px;background:#FDE7D9}
.audit__ic{width:58px;height:58px;border-radius:19px;background:#A3360A;color:#fff;display:grid;place-items:center;font-size:26px;flex:none}
.audit__txt{flex:1 1 420px;display:flex;flex-direction:column;gap:8px}
.audit__t{margin:0;font:700 clamp(24px,2.4vw,30px)/1.1 var(--display);letter-spacing:-.02em}
.audit__d{margin:0;max-width:740px;font:400 15.5px/1.55 var(--sans);color:#5A2A12;text-wrap:pretty}
.audit__go{display:flex;flex-wrap:wrap;align-items:center;gap:12px 22px}
.report{padding-top:120px;padding-bottom:110px}
.report__inner{gap:44px}
.report .lgrid{grid-template-columns:repeat(auto-fit,minmax(min(100%,270px),1fr))}

/* ---------- Roadmap ---------- */
.legend{gap:8px}
.shipped{padding-bottom:110px}
.shipped__box{background:#fff;border-radius:40px;padding:clamp(24px,4vw,48px);display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2.1fr);gap:28px 48px}
.shipped__head{display:flex;flex-direction:column;align-items:flex-start;gap:14px}
.shipped__t{margin:0;font:800 clamp(34px,4vw,54px)/1 var(--display);letter-spacing:-.04em}
.shipped__d{margin:0;max-width:300px;font:400 16px/1.5 var(--sans);color:var(--text-3)}
.shipped__list{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,240px),1fr));gap:0 28px;margin:0;padding:0;list-style:none}
.shipped__list li{display:flex;align-items:flex-start;gap:12px;padding:13px 0;border-top:1px solid var(--line);font:500 15.5px/1.4 var(--sans)}
.shipped__list .i{width:22px;height:22px;padding:4px;margin-top:-1px;border-radius:50%;background:var(--lime);color:var(--ink);stroke-width:3.2}
.shipped__wide{grid-column:1/-1}
@media (min-width:901px){.shipped__list{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:900px){.shipped__box{grid-template-columns:1fr}}
.rm{padding-bottom:60px}
.rm__inner{gap:64px}
.tl{--rx:27px;position:relative;display:flex;flex-direction:column;gap:44px;margin:0;padding:0;list-style:none}
.tl::before,.tl::after{content:"";position:absolute;top:0;bottom:0;left:var(--rx);pointer-events:none}
.tl::before{width:2px;margin-left:-1px;background:repeating-linear-gradient(180deg,rgba(21,23,28,.24) 0 8px,transparent 8px 16px)}
.tl::after{width:4px;margin-left:-2px;border-radius:4px;background:linear-gradient(180deg,var(--lime) 0,#9BC23A 12%,var(--ink) 34%);transform-origin:50% 0;transform:scaleY(var(--tl-p,1))}
.tl__item{position:relative;padding-left:calc(var(--rx) * 2 + 16px)}
.tl__node{position:absolute;z-index:1;left:0;top:24px;width:54px;height:54px;border-radius:18px;background:var(--ink);color:var(--lime);display:grid;place-items:center;font-size:23px;box-shadow:0 0 0 7px var(--paper)}
.tl__item--now .tl__node{background:var(--lime);color:var(--ink)}
.tl__item--now .tl__node::before,.tl__item--now .tl__node::after{content:"";position:absolute;inset:-7px;border-radius:24px;border:2px solid #A6CF2F;animation:nodePulse 2.4s var(--ease) infinite}
.tl__item--now .tl__node::after{animation-delay:1.2s}
@keyframes nodePulse{0%{transform:scale(.92);opacity:1}100%{transform:scale(1.7);opacity:0}}
.tl__mark{display:none}
.tl__card{position:relative;background:#fff;border-radius:32px;padding:clamp(22px,3vw,34px);display:flex;flex-direction:column;gap:16px}
.tl__card--ink{background:var(--ink);color:#fff;box-shadow:0 40px 70px -40px rgba(21,23,28,.6)}
.tl__card--lime{background:var(--lime)}
.tl__card--sand{background:transparent;border:2px dashed #CFCABE}
.tl__hd{display:flex;flex-wrap:wrap;align-items:center;gap:8px}
.tl__when{margin-right:6px;font:700 13px var(--mono);letter-spacing:.16em}
.tl__card--ink .tl__when{color:var(--lime)}
.tl__t{margin:0;font:800 clamp(28px,3vw,40px)/1 var(--display);letter-spacing:-.035em;text-wrap:balance}
.tl__card--lime .tl__t{padding-right:64px}
.tl__d{margin:0;font:400 16px/1.55 var(--sans);color:var(--text-2);text-wrap:pretty}
.tl__card--ink .tl__d{color:rgba(255,255,255,.72)}
.tl__card--lime .tl__d,.tl__card--lime .role__d{color:var(--lime-text)}
.tl__list{display:flex;flex-direction:column;margin:0;padding:0;list-style:none}
.tl__list li{display:flex;align-items:flex-start;gap:12px;padding:11px 0;border-top:1px solid var(--line);font:400 15px/1.45 var(--sans);color:var(--text-2)}
.tl__list b{font-weight:600;color:var(--ink)}
.tl__list .i{flex:none;margin-top:2px;font-size:17px;color:var(--ink)}
.tl__card--ink .tl__list li{border-top-color:rgba(255,255,255,.1);color:rgba(255,255,255,.7)}
.tl__card--ink .tl__list b{color:#fff}
.tl__card--ink .tl__list .i{color:var(--lime)}
.tl__card--sand .tl__list li{border-top-color:#DDD9D0}
.tl__list--sm li{font-size:14.5px}
.tl__foot{margin:0;padding:14px 16px;border-radius:18px;background:rgba(255,255,255,.07);font:400 14px/1.5 var(--sans);color:rgba(255,255,255,.66)}
.tl__sticker{position:absolute;top:-14px;right:24px;padding:7px 14px;border-radius:14px;background:var(--ink);color:var(--lime);font:800 18px/1 var(--display);letter-spacing:-.01em;transform:rotate(7deg);box-shadow:0 14px 26px -12px rgba(0,0,0,.55)}
.srv{display:block;width:100%;height:auto;margin:2px 0}
.srv__link{animation:dash 1.6s linear infinite}
.srv__env{animation:floaty 3s ease-in-out infinite;transform-box:fill-box;transform-origin:center}
.srv__env--b{animation-delay:1.5s}
.roles{display:grid;gap:8px;margin:0;padding:0;list-style:none}
.role{display:flex;align-items:flex-start;gap:14px;padding:14px;border-radius:20px;background:rgba(255,255,255,.5)}
.role__ic{width:40px;height:40px;border-radius:13px;background:var(--ink);color:var(--lime);display:grid;place-items:center;font-size:18px;flex:none}
.role__t{display:block;margin-bottom:3px;font:700 17px/1.2 var(--display);letter-spacing:-.01em}
.role__d{display:block;font:400 14.5px/1.45 var(--sans)}
.sealed{display:flex;align-items:center;gap:14px;padding:16px 18px;border-radius:20px;background:var(--ink);color:#fff}
.sealed__ic{width:40px;height:40px;border-radius:13px;background:var(--lime);color:var(--ink);display:grid;place-items:center;font-size:18px;flex:none}
.sealed__t{margin:0;font:400 15px/1.45 var(--sans);color:rgba(255,255,255,.78)}
.sealed__t b{color:var(--lime);font-weight:600}
.tl__props{display:flex;flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none}
.tl__props li{display:inline-flex;align-items:center;gap:8px;padding:8px 13px;border-radius:99px;background:rgba(21,23,28,.08);font:600 13px/1.3 var(--sans)}
.tl__props .i{font-size:15px}
.tl__cta{align-self:flex-start;height:auto;min-height:56px;padding:12px 22px;white-space:normal;text-align:left;line-height:1.25}
.sats{display:flex;flex-wrap:wrap;gap:6px;margin:0;padding:0;list-style:none}
.sats li{display:inline-flex;align-items:center;gap:6px;height:30px;padding:0 12px;border-radius:99px;background:var(--sand);font:600 12px var(--mono);letter-spacing:.06em}
.sats li:first-child{background:var(--ink);color:var(--lime)}
.sats .i{font-size:14px}
.tl__sub{display:flex;align-items:flex-start;gap:14px;padding:16px;border-radius:20px;background:#DCF2E6}
.tl__subic{width:40px;height:40px;border-radius:13px;background:#0B6E4A;color:#fff;display:grid;place-items:center;font-size:18px;flex:none}
.tl__sub p{margin:0;font:400 14.5px/1.5 var(--sans);color:#174A33}
.tl__sub b{color:#0B3B26}
.tl__block{display:flex;flex-direction:column;gap:8px}
.tl__bt{margin:0;display:flex;align-items:center;gap:9px;font:700 19px/1.2 var(--display);letter-spacing:-.01em}
.tl__bt .i{font-size:18px}
.tl__block>p{margin:0;font:400 14.5px/1.5 var(--sans);color:var(--text-2)}
.tl__duo{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:16px 24px;padding-top:16px;border-top:1px solid #DDD9D0}
.tl__end{margin:-8px 0 0;display:flex}
.tl__end>span{padding:11px 18px;border-radius:99px;background:#fff;font:500 14px var(--sans);color:var(--text-2);box-shadow:0 1px 2px rgba(0,0,0,.05)}
@media (min-width:1000px){
  .tl{--rx:50%;gap:20px}
  .tl__item{display:grid;grid-template-columns:minmax(0,1fr) 128px minmax(0,1fr);align-items:start;padding-left:0}
  .tl__node{position:relative;left:auto;top:auto;grid-row:1;grid-column:2;justify-self:center;margin-top:30px;width:64px;height:64px;border-radius:21px;font-size:27px;box-shadow:0 0 0 9px var(--paper)}
  .tl__item--now .tl__node::before,.tl__item--now .tl__node::after{inset:-9px;border-radius:28px}
  .tl__card{grid-row:1;grid-column:1}
  .tl__mark{display:flex;flex-direction:column;gap:10px;grid-row:1;grid-column:3;padding-top:14px}
  .tl__item:nth-child(even) .tl__card{grid-column:3}
  .tl__item:nth-child(even) .tl__mark{grid-column:1;align-items:flex-end;text-align:right}
  .tl__big{font:800 clamp(84px,9vw,150px)/.85 var(--display);letter-spacing:-.06em;color:transparent;-webkit-text-stroke:2px #CFCABE}
  .tl__item--now .tl__big{color:var(--ink);-webkit-text-stroke:0}
  .tl__item--new .tl__big{-webkit-text-stroke-color:#A6CF2F}
  .tl__idx{font:600 13px var(--mono);letter-spacing:.14em;color:var(--text-3)}
  .tl__end{justify-content:center;margin-top:-4px}
}
/* Scroll-driven version: the line draws as you scroll and each stage animates in as it enters.
   Only on screen with motion allowed; with reduced motion, in print, and in browsers without scroll timelines and without JS
   everything is simply shown (the JS fallback below covers browsers without scroll timelines). */
@keyframes tlDraw{from{transform:scaleY(0)}to{transform:scaleY(1)}}
@keyframes tlCard{from{opacity:0;translate:0 64px;filter:blur(6px)}to{opacity:1;translate:0 0;filter:none}}
@keyframes tlCardL{from{opacity:0;translate:-72px 40px;rotate:-2deg;filter:blur(6px)}to{opacity:1;translate:0 0;rotate:0deg;filter:none}}
@keyframes tlCardR{from{opacity:0;translate:72px 40px;rotate:2deg;filter:blur(6px)}to{opacity:1;translate:0 0;rotate:0deg;filter:none}}
@keyframes tlNode{from{background-color:#fff;color:#ABA699;scale:.7}}
@keyframes tlMark{from{opacity:0;translate:0 48px}to{opacity:1;translate:0 0}}
@keyframes tlLi{from{opacity:0;translate:0 14px}to{opacity:1;translate:0 0}}
@media screen and (prefers-reduced-motion:no-preference){
  @supports (animation-timeline:view()){
    .tl{view-timeline:--tl block}
    .tl::after{animation:tlDraw linear both;animation-timeline:--tl;animation-range:cover 50vh cover calc(100% - 50vh)}
    .tl__card{animation:tlCard linear both;animation-timeline:view();animation-range:entry 0% entry 55%}
    .tl__node{animation:tlNode linear both;animation-timeline:view();animation-range:cover 40% cover 50%}
    .tl__mark{animation:tlMark linear both;animation-timeline:view();animation-range:entry 10% entry 80%}
    .tl__list li,.role,.tl__props li{animation:tlLi linear both;animation-timeline:view();animation-range:entry 0% entry 100%}
    @media (min-width:1000px){
      .tl__item:nth-child(odd) .tl__card{animation-name:tlCardL}
      .tl__item:nth-child(even) .tl__card{animation-name:tlCardR}
    }
  }
}
/* IntersectionObserver fallback (js/main.js adds .tl--js only when scroll timelines are missing and motion is allowed) */
.tl--js::after{transform:scaleY(var(--tl-p,0))}
.tl--js .tl__card,.tl--js .tl__mark{opacity:0;translate:0 56px;filter:blur(6px);transition:opacity .9s var(--ease),translate .9s var(--ease),filter .9s}
.tl--js .tl__item.on .tl__card,.tl--js .tl__item.on .tl__mark{opacity:1;translate:0 0;filter:none}
.tl--js .tl__list li{opacity:0;translate:0 14px;transition:opacity .6s var(--ease),translate .6s var(--ease)}
.tl--js .tl__item.on .tl__list li{opacity:1;translate:0 0}
.tl--js .tl__list li:nth-child(2){transition-delay:.08s}
.tl--js .tl__list li:nth-child(3){transition-delay:.16s}
.tl--js .tl__list li:nth-child(4){transition-delay:.24s}
.tl--js .tl__list li:nth-child(5){transition-delay:.32s}
.tl--js .tl__node{transition:background-color .4s,color .4s,scale .5s var(--ease)}
.tl--js .tl__item:not(.lit) .tl__node{background-color:#fff;color:#ABA699;scale:.7}
.help{padding-top:40px;padding-bottom:110px}
.help__box{max-width:var(--max);margin:0 auto;background:var(--ink);color:#fff;border-radius:48px;padding:clamp(28px,5vw,64px);display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:32px}
.help__copy{flex:1 1 520px;display:flex;flex-direction:column;gap:18px}
.help__copy .h2{font-size:clamp(36px,4.8vw,66px)}
.help__copy .on-dark{max-width:600px}
.help__btns{display:flex;flex-wrap:wrap;gap:12px}

/* ---------- Download ---------- */
.apps{padding-bottom:110px}
.apps__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,440px),1fr));gap:16px}
.apk{position:relative;overflow:hidden;border-radius:44px;padding:clamp(26px,4vw,48px);display:flex;flex-direction:column;gap:26px;background:#fff}
.apk--main{background:var(--lime)}
.apk--grid{background:var(--ink);color:#fff}
.apk .dl__ring--a{right:-120px;top:-120px}
.apk__top,.apk__head,.apk__meta,.apk__btns,.apk__note{position:relative}
.apk__top{display:flex;align-items:center;justify-content:space-between;gap:12px}
.apk__ic{width:76px;height:76px;border-radius:25px;background:var(--ink);color:var(--lime);display:grid;place-items:center;font-size:36px;flex:none}
.apk--grid .apk__ic{background:#ECE5FF;color:#6236D0}
.apk__badge{display:inline-flex;align-items:center;gap:8px;height:36px;padding:0 14px;border-radius:99px;background:var(--ink);color:var(--lime);font:600 11.5px var(--mono);letter-spacing:.08em;text-transform:uppercase;transform:rotate(-2deg);white-space:nowrap}
.apk__badge .i{font-size:15px}
.apk--grid .apk__badge{background:rgba(255,255,255,.1);color:#fff}
.apk__head{display:flex;flex-direction:column;gap:12px}
.apk__eye{margin:0;font:600 12px var(--mono);letter-spacing:.12em;opacity:.7}
.apk__t{margin:0;font:800 clamp(52px,6.4vw,92px)/.9 var(--display);letter-spacing:-.05em}
.apk__d{margin:0;max-width:520px;font:400 17px/1.55 var(--sans);color:var(--lime-text);text-wrap:pretty}
.apk--grid .apk__d{color:rgba(255,255,255,.72)}
.apk__meta{display:flex;flex-wrap:wrap;gap:14px 36px;margin:0;padding:18px 0;border-top:1.5px solid rgba(21,23,28,.14);border-bottom:1.5px solid rgba(21,23,28,.14)}
.apk--grid .apk__meta{border-color:rgba(255,255,255,.12)}
.apk__meta dt{margin-bottom:4px;font:600 11px var(--mono);letter-spacing:.12em;text-transform:uppercase;opacity:.65}
.apk__meta dd{margin:0;font:600 16px var(--sans)}
.apk__btns{display:flex;flex-wrap:wrap;align-items:center;gap:14px 26px;margin-top:auto}
.apk__dl{height:64px;padding:0 30px;font-size:18px}
.apk__dl .i{font-size:21px}
.apk__note{margin:0;font:400 14px/1.55 var(--sans);color:var(--lime-text)}
.apk--grid .apk__note{color:rgba(255,255,255,.6)}
.install{padding-bottom:110px}
.install__inner{gap:44px}
.install__grid{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px;align-items:start}
.isteps{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:16px;margin:0;padding:0;list-style:none}
.istep{display:flex;align-items:flex-start;gap:16px;padding:24px;border-radius:28px;background:#fff}
.istep__n{width:42px;height:42px;border-radius:50%;background:var(--ink);color:var(--lime);display:grid;place-items:center;font:600 15px var(--mono);flex:none}
.istep__t{margin:6px 0 8px;font:700 21px/1.15 var(--display);letter-spacing:-.015em}
.istep__d{margin:0;font:400 15px/1.55 var(--sans);color:var(--text-3);text-wrap:pretty}
.qrcard{margin:0;width:260px;background:#fff;border-radius:34px;padding:24px 22px;display:flex;flex-direction:column;align-items:center;gap:14px;transform:rotate(2deg);box-shadow:0 30px 60px -36px rgba(40,36,26,.5)}
.qrcard svg{width:200px;height:200px;display:block}
.qrcard figcaption{font:400 14px/1.45 var(--sans);color:var(--text-2);text-align:center}
@media (max-width:900px){.install__grid{grid-template-columns:1fr}.qrcard{justify-self:center}}
@media (max-width:700px),(pointer:coarse){.qrcard{display:none}}
.dlinfo{padding-bottom:110px}
.dlinfo__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,420px),1fr));gap:16px}
.info{display:flex;flex-direction:column;align-items:flex-start;gap:14px;padding:clamp(24px,3vw,32px);border-radius:32px;background:#fff}
.info--lime{background:var(--lime)}
.info--ink{background:var(--ink);color:#fff}
.info__ic{width:52px;height:52px;border-radius:17px;background:var(--sand);display:grid;place-items:center;font-size:23px;margin-bottom:6px}
.info--lime .info__ic{background:var(--ink);color:var(--lime)}
.info--ink .info__ic{background:var(--lime);color:var(--ink)}
.info__t{margin:0;font:700 26px/1.1 var(--display);letter-spacing:-.02em}
.info__d{margin:0;max-width:560px;font:400 15.5px/1.55 var(--sans);color:var(--text-2);text-wrap:pretty}
.info--lime .info__d{color:var(--lime-text)}
.info--ink .info__d{color:rgba(255,255,255,.72)}
.info__fp{margin:0;width:100%;padding:14px 16px;border-radius:16px;background:rgba(255,255,255,.07);font:500 14px/1.6 var(--mono);color:var(--lime);overflow-wrap:anywhere}

/* ---------- FAQ page ---------- */
.faq--page{padding-top:0}
.faq--page .faq__inner{max-width:var(--max);gap:56px}
.faq--page .faq__group{max-width:1000px}
.faq__group{display:flex;flex-direction:column;gap:16px}
.faq__gt{margin:0;font:700 clamp(26px,3vw,34px)/1.1 var(--display);letter-spacing:-.025em}
.qa__a .inl{white-space:nowrap}

/* ---------- Community ---------- */
.ways{padding-bottom:100px}
.wgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));gap:16px;margin:0;padding:0;list-style:none}
.way{display:flex;flex-direction:column;gap:14px;padding:28px;border-radius:32px;background:#fff}
.way--lime{background:var(--lime)}
.way--ink{background:var(--ink);color:#fff}
.way--wide{grid-column:1/-1;padding:clamp(28px,4vw,48px)}
.way__top{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:8px}
.way__ic{width:56px;height:56px;border-radius:18px;background:var(--sand);display:grid;place-items:center;font-size:25px;flex:none}
.way--lime .way__ic{background:var(--ink);color:var(--lime)}
.way--ink .way__ic{background:var(--lime);color:var(--ink)}
.way__t{margin:0;font:700 clamp(24px,2.4vw,30px)/1.08 var(--display);letter-spacing:-.025em;text-wrap:balance}
.way--wide .way__t{font-size:clamp(34px,4.4vw,60px);line-height:.98;letter-spacing:-.04em}
.way__d{flex:1;margin:0;max-width:760px;font:400 15.5px/1.55 var(--sans);color:var(--text-3);text-wrap:pretty}
.way--lime .way__d{font-size:17px;color:var(--lime-text)}
.way--ink .way__d{color:rgba(255,255,255,.72)}
.way__links{display:flex;flex-wrap:wrap;align-items:center;gap:8px 24px;margin-top:8px}
.ground{padding-bottom:100px}
.ground__box{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,360px),1fr));gap:24px 48px;padding:clamp(24px,4vw,44px);border-radius:36px;background:var(--sand-2)}
.ground__list{display:flex;flex-direction:column;margin:0;padding:0;list-style:none}
.ground__list li{display:flex;gap:14px;padding:14px 0;border-top:1px solid #DDD9D0;font:400 15.5px/1.5 var(--sans);color:var(--text-2)}
.ground__list li:first-child{border-top:0;padding-top:0}
.ground__list b{font-weight:600;color:var(--ink)}
.ground__list .i{flex:none;margin-top:2px;font-size:19px}

/* ---------- About ---------- */
.why{padding-bottom:110px}
.why__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,440px),1fr));gap:40px 64px;align-items:start}
.why__copy{display:flex;flex-direction:column;gap:18px}
.why__copy p{margin:0;max-width:620px;font:400 18px/1.65 var(--sans);color:var(--text-2);text-wrap:pretty}
.why__copy p:first-child{font-size:21px;line-height:1.55;color:var(--ink)}
.principles{padding-bottom:110px}
.principles__inner{gap:44px}
.pgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:16px;margin:0;padding:0;list-style:none}
.pcard{display:flex;flex-direction:column;gap:10px;min-height:250px;padding:28px;border-radius:32px;background:#fff}
.pcard--ink{background:var(--ink);color:#fff}
.pcard--lime{background:var(--lime)}
.pcard__ic{width:56px;height:56px;border-radius:18px;background:var(--sand);display:grid;place-items:center;font-size:25px;margin-bottom:auto}
.pcard--ink .pcard__ic{background:var(--lime);color:var(--ink)}
.pcard--lime .pcard__ic{background:var(--ink);color:var(--lime)}
.pcard__t{margin:28px 0 0;font:700 24px/1.1 var(--display);letter-spacing:-.02em}
.pcard__d{margin:0;font:400 15px/1.5 var(--sans);color:var(--text-3);text-wrap:pretty}
.pcard--ink .pcard__d{color:rgba(255,255,255,.72)}
.pcard--lime .pcard__d{color:var(--lime-text)}
.team{padding-bottom:110px}
.team__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,440px),1fr));gap:16px}
.team__card,.team__contact{display:flex;flex-direction:column;gap:20px;padding:clamp(28px,4vw,48px);border-radius:40px}
.team__card{background:var(--ink);color:#fff}
.team__card .h2{font-size:clamp(38px,4.8vw,66px)}
.team__card .on-dark{max-width:560px;font-size:17px}
.team__contact{background:#fff}
.contact{display:flex;flex-direction:column;gap:8px;margin:0;padding:0;list-style:none}
.contact__a{display:flex;align-items:center;gap:14px;padding:14px;border-radius:22px;background:var(--paper);color:var(--ink);transition:background .2s}
.contact__a:hover{background:var(--lime);color:var(--ink)}
.contact__a>span:nth-child(2){flex:1;min-width:0}
.contact__ic{width:46px;height:46px;border-radius:15px;background:#fff;display:grid;place-items:center;font-size:20px;flex:none}
.contact__a b{display:block;font:600 16px/1.3 var(--sans)}
.contact__a small{display:block;margin-top:2px;font:400 14px var(--sans);color:var(--text-3)}
.contact__go{font-size:18px}
.credits{padding-bottom:110px}
.credits__inner{gap:28px}
.credits__list{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,340px),1fr));gap:0 40px;margin:0}
.credits__list>div{padding:16px 0;border-top:1px solid #DDD9D0}
.credits__list dt{margin-bottom:6px;font:600 12px var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--text-3)}
.credits__list dd{margin:0;font:400 15.5px/1.55 var(--sans);color:var(--text-2)}

/* ---------- Privacy ---------- */
.glance li{display:inline-flex;align-items:center;gap:8px;height:38px;padding:0 15px 0 10px;border-radius:99px;background:#fff;font:600 13.5px var(--sans);box-shadow:0 1px 2px rgba(0,0,0,.05)}
.glance .i{width:22px;height:22px;padding:4px;border-radius:50%;background:var(--lime);stroke-width:3.2}
.policy{padding-bottom:110px}
.policy__grid{display:grid;grid-template-columns:230px minmax(0,1fr);gap:24px 40px;align-items:start}
.policy__toc{position:sticky;top:110px;padding:18px;border-radius:24px;background:#fff}
.policy__toch{margin:0 0 8px 10px;font:600 11px var(--mono);letter-spacing:.12em;color:var(--text-3)}
.policy__toc ol{display:flex;flex-direction:column;gap:2px;margin:0;padding:0;list-style:none}
.policy__toc a{display:block;padding:8px 10px;border-radius:12px;font:500 14.5px var(--sans)}
.policy__toc a:hover{background:var(--sand);color:var(--ink)}
.prose{max-width:860px;display:flex;flex-direction:column;gap:44px;padding:clamp(24px,4vw,56px);border-radius:40px;background:#fff}
.prose h2{margin:0 0 14px;font:800 clamp(28px,3vw,38px)/1.05 var(--display);letter-spacing:-.03em}
.prose p,.prose li{font:400 16.5px/1.65 var(--sans);color:var(--text-2);text-wrap:pretty}
.prose p{margin:0 0 12px}
.prose p:last-child{margin-bottom:0}
.prose ul{display:flex;flex-direction:column;gap:10px;margin:0;padding:0;list-style:none}
.prose li{position:relative;padding-left:24px}
.prose li::before{content:"";position:absolute;left:2px;top:.6em;width:9px;height:9px;border-radius:50%;background:var(--lime);box-shadow:0 0 0 1.5px var(--ink)}
.prose b{font-weight:600;color:var(--ink)}
@media (max-width:860px){.policy__grid{grid-template-columns:1fr}.policy__toc{position:static}}

/* ---------- Swag page ---------- */
.swag--page{padding-top:clamp(36px,6vw,88px)}
.swagnote{padding-bottom:100px;margin-top:-60px}
.swagnote__box{display:flex;align-items:center;gap:16px;padding:20px 24px;border-radius:28px;background:#fff}
.swagnote__ic{width:44px;height:44px;border-radius:14px;background:var(--sand);display:grid;place-items:center;font-size:20px;flex:none}
.swagnote__t{margin:0;font:400 15.5px/1.5 var(--sans);color:var(--text-2)}

/* ---------- 404 ---------- */
.lost{min-height:calc(100vh - 220px);display:flex;align-items:center;padding-top:40px;padding-bottom:100px}
.lost__inner{width:100%;display:flex;flex-direction:column;align-items:flex-start;gap:24px}
.lost__art{display:flex;align-items:center;gap:12px;width:min(380px,100%);margin-bottom:8px;animation:fadeUp .6s both}
.lost__gap{flex:1;display:flex;align-items:center;gap:8px}
.lost__x{width:34px;height:34px;border-radius:50%;background:#FDE4D5;color:#A3360A;display:grid;place-items:center;font-size:16px;flex:none;animation:wiggle 1.2s ease-in-out infinite}
.lost__ctas{display:flex;flex-wrap:wrap;gap:12px;animation:fadeUp .7s .4s both}
.lost__ctas .btn--line{padding:0 26px}

/* =====================================================================
   Home: the fuller story (numbers, routes, highlights, use cases, rules, compare, trust, FAQ)
   ===================================================================== */
.stk{display:inline-flex;align-items:center;gap:8px;height:40px;padding:0 16px;border-radius:99px;font:600 12px var(--mono);letter-spacing:.1em;text-transform:uppercase;white-space:nowrap;background:var(--ink);color:var(--lime);box-shadow:0 14px 28px -14px rgba(0,0,0,.5)}
.stk .i{font-size:15px}
.stk--lime{background:var(--lime);color:var(--ink)}
.stk--white{background:#fff;color:var(--ink)}
.stk--vio{background:#B9A6FF;color:var(--ink)}
.stk--orange{background:#FFB38A;color:var(--ink)}
.home-sec{padding-top:110px;padding-bottom:110px}
.home-sec+.home-sec{padding-top:0}
.home-inner{gap:44px}

/* By the numbers */
.nums{padding-top:110px;padding-bottom:20px}
.nums__grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:0;padding:0;list-style:none}
.num{position:relative;display:flex;flex-direction:column;min-height:236px;padding:24px;border-radius:30px;background:#fff;overflow:hidden}
.num__v{display:flex;align-items:baseline;gap:6px;margin-bottom:auto;font:800 clamp(56px,6.6vw,96px)/.84 var(--display);letter-spacing:-.06em}
.num__v small{font-size:.34em;letter-spacing:-.02em}
.num__t{margin-top:24px;font:700 19px/1.15 var(--display);letter-spacing:-.01em}
.num__d{margin-top:6px;font:400 14px/1.45 var(--sans);color:var(--text-3);text-wrap:pretty}
.num__ic{position:absolute;right:18px;top:18px;width:38px;height:38px;border-radius:13px;display:grid;place-items:center;font-size:17px;background:var(--sand)}
.num--ink{background:var(--ink);color:#fff}
.num--ink .num__d{color:rgba(255,255,255,.7)}
.num--ink .num__ic{background:var(--lime);color:var(--ink)}
.num--lime{background:var(--lime)}
.num--lime .num__d{color:var(--lime-text)}
.num--lime .num__ic{background:var(--ink);color:var(--lime)}
.num--vio{background:#ECE5FF}
.num--vio .num__v{color:#6236D0}
.num--vio .num__d{color:#4A3A7A}
.num--vio .num__ic{background:#6236D0;color:#fff}
.num--sand{background:var(--sand-2)}
.num__no{position:relative;display:inline-block}
.num__no::after{content:"";position:absolute;left:-4%;right:-4%;top:52%;height:.09em;border-radius:99px;background:currentColor;transform:rotate(-14deg)}
@media (max-width:1000px){.nums__grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:440px){.num{min-height:200px;padding:18px;border-radius:24px}.num__v{font-size:46px}.num__t{font-size:17px}.num__d{font-size:13px}.num__ic{display:none}}

/* Routes (route pill + journey) */
.hroutes{padding-bottom:110px}
.hroutes .pillbox{gap:40px 56px;padding:clamp(24px,4.5vw,56px)}
.hroutes .pillbox__copy{gap:16px}
.hroutes .routes{margin:8px 0 6px}
.hroutes .routes li{padding:10px 16px 10px 10px}
.hroutes__demo{display:flex;justify-content:center;padding:10px 0}
.hroutes .pilldemo{gap:18px;max-width:460px;padding:24px}
.lane{position:relative;display:flex;align-items:center;padding:6px 0 0}
.lane__n{position:relative;z-index:1;width:40px;height:40px;border-radius:13px;background:var(--sand);display:grid;place-items:center;font-size:17px;flex:none}
.lane__n--me{background:var(--ink);color:var(--lime)}
.lane__n--to{background:var(--lime);color:var(--ink);font:700 14px var(--sans)}
.lane__w{flex:1;height:2px;margin:0 4px;background:repeating-linear-gradient(90deg,rgba(21,23,28,.35) 0 4px,transparent 4px 9px)}
.lane__env{position:absolute;z-index:2;left:6px;top:calc(50% + 3px);width:30px;height:30px;margin:-15px 0 0;border-radius:10px;background:var(--lime);color:var(--ink);display:grid;place-items:center;font-size:15px;box-shadow:0 0 0 3px #fff,0 0 0 4.5px var(--ink);animation:laneGo 4.8s var(--ease) infinite}
@keyframes laneGo{0%{left:6px;opacity:0}6%{opacity:1}22%,30%{left:calc(25% - 6px)}46%,54%{left:calc(50% - 15px)}70%,78%{left:calc(75% - 22px)}94%{left:calc(100% - 36px);opacity:1}100%{left:calc(100% - 36px);opacity:0}}
.lane__cap{display:flex;justify-content:space-between;gap:10px;font:600 11px var(--mono);letter-spacing:.06em;color:var(--text-3)}
.lane__cap span:nth-child(2){color:var(--lime-deep)}

/* Feature highlights */
.hfeat{padding-bottom:110px}
.hfeat__inner{gap:44px}

/* Use cases strip */
.ucs{background:var(--ink);color:#fff;padding-top:110px;padding-bottom:110px;border-radius:56px}
.ucs__inner{gap:48px}
.ucs__lead{margin:0;font:400 17px/1.55 var(--sans);color:rgba(255,255,255,.7);max-width:440px;text-wrap:pretty}
.ucs__row{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px;margin:0;padding:0;list-style:none}
.ucs__row>li{display:flex}
.uc{flex:1;display:flex;flex-direction:column;gap:8px;padding:10px 10px 22px;border-radius:28px;background:#1E2027;color:#fff;transition:transform .35s var(--ease),background .25s}
.uc:hover{color:#fff;background:#272A33;transform:translateY(-6px)}
.uc__img{width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;border-radius:20px;margin-bottom:10px;background:#22252C;transition:transform .5s var(--ease)}
.uc__fig{display:block;overflow:hidden;border-radius:20px;margin-bottom:10px}
.uc__fig .uc__img{margin:0}
.uc:hover .uc__img{transform:scale(1.05)}
.uc__tag{padding:0 10px;font:600 11px var(--mono);letter-spacing:.12em;color:var(--lime)}
.uc__t{padding:0 10px;font:800 24px/1.05 var(--display);letter-spacing:-.025em}
.uc__d{padding:0 10px;font:400 14px/1.45 var(--sans);color:rgba(255,255,255,.68);text-wrap:pretty}
@media (max-width:1100px){
  .ucs__row{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding-inline:var(--gutter);margin:0 calc(-1 * var(--gutter));padding:0 var(--gutter) 6px;scrollbar-width:none}
  .ucs__row::-webkit-scrollbar{display:none}
  .ucs__row>li{flex:0 0 min(70vw,280px);scroll-snap-align:start}
}

/* Privacy rules strip */
.hrules{padding-top:110px;padding-bottom:110px}
.hrules__box{position:relative;max-width:var(--max);margin:0 auto;background:var(--lime);border-radius:48px;padding:clamp(26px,5vw,64px);display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.35fr);gap:40px 56px;overflow:hidden}
.hrules__box::before{content:"";position:absolute;right:-120px;bottom:-160px;width:420px;height:420px;border-radius:50%;border:2px dashed rgba(21,23,28,.18);pointer-events:none}
.hrules__head{position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:18px}
.hrules__head .h2{font-size:clamp(40px,5vw,72px)}
.hrules__lead{margin:0;max-width:400px;font:500 17px/1.55 var(--sans);color:var(--lime-text);text-wrap:pretty}
.hrules__stk{transform:rotate(-4deg);margin:6px 0 4px}
.hrules__list{position:relative;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:0;padding:0;list-style:none}
.hrule{display:flex;align-items:flex-start;gap:14px;padding:16px 18px 16px 16px;border-radius:22px;background:rgba(255,255,255,.6);font:600 16px/1.35 var(--sans);text-wrap:pretty}
.hrule__ic{width:36px;height:36px;border-radius:12px;background:var(--ink);color:var(--lime);display:grid;place-items:center;font-size:17px;flex:none}
.hrule__n{display:block;margin-bottom:3px;font:600 11px var(--mono);letter-spacing:.1em;color:var(--lime-deep)}
.hrule--ink{background:var(--ink);color:#fff}
.hrule--ink .hrule__ic{background:var(--lime);color:var(--ink)}
.hrule--ink .hrule__n{color:var(--lime)}
.hrule--wide{grid-column:1/-1}
@media (max-width:900px){.hrules__box{grid-template-columns:1fr}}
@media (max-width:600px){.hrules__list{grid-template-columns:1fr}}

/* Compare teaser */
.hcmp{background:var(--ink);color:#fff;padding-top:110px;padding-bottom:110px;border-radius:56px}
.hcmp__inner{gap:44px}
.hcmp__lead{margin:0;font:400 17px/1.55 var(--sans);color:rgba(255,255,255,.7);max-width:460px;text-wrap:pretty}
.ctbl{width:100%;border-collapse:separate;border-spacing:0;table-layout:fixed;border-radius:28px;background:rgba(255,255,255,.04)}
.ctbl col.ctbl__q{width:30%}
.ctbl th,.ctbl td{text-align:left;vertical-align:middle;font-weight:inherit}
.ctbl thead th{padding:22px 20px 16px;font:600 11px var(--mono);letter-spacing:.12em;color:rgba(255,255,255,.5)}
.ctbl thead th.me{background:var(--lime);color:var(--ink);border-radius:22px 22px 0 0}
.ctbl__name{display:block;font:800 22px/1 var(--display);letter-spacing:-.02em;text-transform:none}
.ctbl__sub{display:block;margin-top:4px;font:500 12px var(--sans);letter-spacing:0;text-transform:none;opacity:.7}
.ctbl tbody th{padding:20px;border-top:1px solid rgba(255,255,255,.08);font:600 16px/1.35 var(--sans)}
.ctbl tbody td{padding:18px 20px;border-top:1px solid rgba(255,255,255,.08)}
.ctbl tbody td.me{background:rgba(205,242,92,.1)}
.ctbl tbody tr:last-child td.me{border-radius:0 0 22px 22px}
.ctbl .cell{flex-direction:row;align-items:center;gap:12px}
.ctbl .cell__t{font-size:15px}
.hcmp__foot{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px 24px}
.hcmp__note{margin:0;max-width:640px;font:400 13px/1.55 var(--sans);color:rgba(255,255,255,.55)}
@media (max-width:700px){
  .ctbl col.ctbl__q{width:26%}
  .ctbl thead th{padding:16px 10px 12px}
  .ctbl thead th:first-child{font-size:0}
  .ctbl__name{font-size:17px}
  .ctbl tbody th{padding:14px 10px;font-size:13.5px}
  .ctbl tbody td{padding:14px 10px}
  .ctbl .cell{flex-direction:column;align-items:flex-start;gap:7px}
  .ctbl .cell__t{font-size:13px}
}

/* Trust: verify + MeshGRID */
.trust{padding-top:110px;padding-bottom:110px}
.trust__inner{gap:44px}
.trust__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,460px),1fr));gap:16px}
.callout{position:relative;display:flex;flex-direction:column;gap:26px;padding:clamp(14px,2vw,22px) clamp(14px,2vw,22px) clamp(26px,3.5vw,40px);border-radius:44px;background:#fff;overflow:hidden}
.callout--mg{background:var(--ink);color:#fff}
.callout__art{display:block;width:100%;height:auto;aspect-ratio:16/10;object-fit:cover;border-radius:30px}
.callout__txt{display:flex;flex-direction:column;align-items:flex-start;gap:14px;padding:0 clamp(10px,2vw,22px);flex:1}
.callout__eye{margin:0;font:600 12px var(--mono);letter-spacing:.12em;color:var(--text-3)}
.callout--mg .callout__eye{color:var(--lime)}
.callout__t{margin:0;font:800 clamp(32px,3.4vw,46px)/1 var(--display);letter-spacing:-.035em;text-wrap:balance}
.callout__d{margin:0;max-width:540px;font:400 16px/1.55 var(--sans);color:var(--text-2);text-wrap:pretty}
.callout--mg .callout__d{color:rgba(255,255,255,.72)}
.callout__btns{display:flex;flex-wrap:wrap;align-items:center;gap:12px 24px;margin-top:auto;padding-top:6px}
.callout__stk{position:absolute;left:clamp(26px,3vw,40px);top:clamp(26px,3vw,40px);transform:rotate(-5deg)}
.mgx{position:relative;width:100%;aspect-ratio:16/10;border-radius:30px;background:radial-gradient(circle at 78% 22%,rgba(98,54,208,.55),transparent 55%),radial-gradient(circle at 18% 90%,rgba(205,242,92,.16),transparent 50%),#1D1F26;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:20px;padding:24px;overflow:hidden}
.mgx::before{content:"";position:absolute;inset:0;background-image:radial-gradient(rgba(255,255,255,.12) 1px,transparent 1.5px);background-size:22px 22px;-webkit-mask-image:radial-gradient(circle at 50% 50%,#000,transparent 75%);mask-image:radial-gradient(circle at 50% 50%,#000,transparent 75%)}
.mgx__row{position:relative;display:flex;align-items:center;width:100%;max-width:460px}
.mgx .mgd__app{min-width:0;flex:none;width:clamp(120px,38%,180px);padding:16px 12px}
.mgx .mgd__name{font-size:clamp(18px,2vw,22px)}
.mgx .mgd__tag{font-size:10.5px;text-align:center;justify-content:center}
.mgx__wire{position:relative;flex:1;height:2px;margin:0 8px;background:repeating-linear-gradient(90deg,rgba(255,255,255,.45) 0 5px,transparent 5px 10px)}
.mgx__wire span:not(.mgx__lbl){position:absolute;top:50%;left:0;width:30px;height:30px;margin:-15px 0 0 -15px;border-radius:10px;background:var(--lime);color:var(--ink);display:grid;place-items:center;font-size:14px;animation:wire 2.6s var(--ease) infinite}
.mgx__lbl{position:absolute;left:50%;top:-26px;transform:translateX(-50%);white-space:nowrap;font:500 11px var(--mono);color:rgba(255,255,255,.6)}
.mgx .mgd__out{position:relative;margin:0}
@media (max-width:560px){
  .mgx{aspect-ratio:auto;padding:64px 14px 22px;gap:16px}
  .mgx .mgd__app{width:40%;padding:12px 8px;border-radius:20px}
  .mgx .mgd__ic{width:44px;height:44px;border-radius:14px;font-size:21px}
  .mgx .mgd__tag{font-size:9.5px;letter-spacing:.04em}
  .mgx__wire{margin:0 4px}
  .mgx__lbl{display:none}
  .mgx .chip{height:28px;font-size:12px}
}

/* FAQ teaser */
.hfaq{padding-top:110px;padding-bottom:110px}
.hfaq__grid{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.4fr);gap:36px 64px;align-items:start}
.hfaq__head{align-items:flex-start}
.hfaq__head .h2{font-size:clamp(40px,5vw,72px)}
@media (min-width:901px){.hfaq__head{position:sticky;top:110px}}
@media (max-width:900px){.hfaq__grid{grid-template-columns:1fr}}

/* Go deeper (explore) with an illustration */
.lcard__art--img{flex:1;align-content:stretch;min-height:170px}
.lcard__art--img img{width:100%;height:100%;min-height:170px;max-height:220px;object-fit:cover;border-radius:22px}

/* Roadmap teaser: a shipped stage */
.rmt__stage--done .rmt__node{background:var(--lime);color:var(--ink)}
.rmt__track--2::after{width:calc(40% + 8px)}
@media (max-width:900px){.rmt__track--2::after{width:4px;height:calc(40% + 8px)}}

/* =====================================================================
   About: manifesto
   ===================================================================== */
/* Hero */
.abh{padding-top:clamp(28px,5vw,72px);padding-bottom:40px}
.abh__inner{display:flex;flex-direction:column;gap:clamp(28px,4vw,52px)}
.abh__top{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,330px);gap:28px 40px;align-items:end}
.abh__eye{display:flex;align-items:center;gap:10px;grid-column:1/-1;animation:fadeUp .6s .05s both}
.abh__h{margin:0;font:800 clamp(52px,11.6vw,176px)/.84 var(--display);letter-spacing:-.055em}
.abh__h .h1__line:nth-child(2),.abh__h .h1__line:nth-child(4){padding-left:1.15em}
.abh__h .h1__line:nth-child(-n+2) .h1__in{color:transparent;-webkit-text-stroke:max(2px,.022em) var(--ink)}
.abh__side{display:flex;flex-direction:column;align-items:flex-start;gap:20px;padding-bottom:.6em;animation:fadeUp .7s .55s both}
.abh__lead{margin:0;font:400 clamp(17px,1.5vw,19px)/1.55 var(--sans);color:var(--text-2);text-wrap:pretty}
.abh__ctas{display:flex;flex-wrap:wrap;gap:10px}
.abh__ctas .btn{height:52px;padding:0 22px;font-size:16px}
.abh__art{position:relative;margin:0;animation:fadeUp 1s .35s both}
.abh__frame{display:block;overflow:hidden;border-radius:clamp(28px,4vw,52px);background:#15131F;box-shadow:0 60px 120px -60px rgba(40,24,90,.7)}
.abh__frame img{width:100%;height:auto;aspect-ratio:16/9;object-fit:cover;transform-origin:50% 100%}
.abh__s1{position:absolute;left:clamp(16px,4%,48px);top:-20px;transform:rotate(-5deg)}
.abh__s2{position:absolute;right:clamp(130px,16%,230px);bottom:-18px;transform:rotate(4deg)}
.abh__s3{position:absolute;left:30%;bottom:-16px;transform:rotate(-3deg)}
.abh__spin{position:absolute;right:clamp(10px,3%,40px);top:clamp(-56px,-4vw,-30px);width:clamp(104px,12vw,150px);height:clamp(104px,12vw,150px);animation:spinS 16s linear infinite}
.abh__spin svg{width:100%;height:100%;display:block}
.abh__spin text{font:700 11.5px var(--mono);letter-spacing:2.6px}
.abh__spin .i{position:absolute;left:50%;top:50%;width:30%;height:30%;margin:-15% 0 0 -15%;color:var(--ink)}
@media (max-width:1200px){.abh__top{grid-template-columns:1fr}.abh__side{padding-bottom:0}}
@media (max-width:640px){
  .abh__h{font-size:16.5vw}
  .abh__h .h1__line:nth-child(2),.abh__h .h1__line:nth-child(4){padding-left:.6em}
  .story{padding-top:72px}
  .abh__frame img{aspect-ratio:4/3}
  .abh__s3{display:none}
  .abh__s2{right:16px}
  .stk{height:34px;padding:0 13px;font-size:10.5px}
}

/* Crossing marquee bands */
.xband{position:relative;z-index:1;overflow-x:clip;padding:56px 0 40px}
.xband .band{margin:0 -40px}
.xband .band--lime{background:var(--lime);color:var(--ink);transform:rotate(2.2deg);position:relative;z-index:1;box-shadow:0 20px 40px -24px rgba(0,0,0,.4)}
.xband .band--ink{transform:rotate(-2.4deg);margin-top:-64px}
.band__track--rev{animation-name:marqR}
.band__track .lime-star{color:var(--lime)}

/* Story chapters */
.story{padding-top:110px;padding-bottom:60px}
.story__inner{gap:72px}
.chapters{display:flex;flex-direction:column;gap:clamp(56px,8vw,120px);margin:0;padding:0;list-style:none}
.chap{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(0,1fr);gap:32px clamp(32px,6vw,88px);align-items:center}
.chap:nth-child(even) .chap__art{order:2}
.chap__art{position:relative;margin:0}
.chap__frame{display:block;overflow:hidden;border-radius:clamp(26px,3.4vw,44px);transform:rotate(-1.6deg);box-shadow:0 50px 90px -50px rgba(20,16,40,.6);background:#15131F}
.chap:nth-child(even) .chap__frame{transform:rotate(1.6deg)}
.chap__frame img{width:100%;height:auto;aspect-ratio:4/3;object-fit:cover}
.chap__stk{position:absolute;top:-16px;left:28px;transform:rotate(-6deg)}
.chap:nth-child(even) .chap__stk{left:auto;right:28px;transform:rotate(5deg)}
.chap__txt{display:flex;flex-direction:column;align-items:flex-start;gap:16px}
.chap__n{font:800 clamp(80px,10vw,150px)/.8 var(--display);letter-spacing:-.06em;color:transparent;-webkit-text-stroke:2px #CFCABE}
.chap__t{margin:0;font:800 clamp(34px,4.2vw,60px)/.96 var(--display);letter-spacing:-.045em;text-wrap:balance}
.chap__d{margin:0;max-width:500px;font:400 18px/1.6 var(--sans);color:var(--text-2);text-wrap:pretty}
.chap__fact{display:inline-flex;align-items:center;gap:10px;padding:10px 16px 10px 10px;border-radius:99px;background:#fff;font:600 14px/1.3 var(--sans);box-shadow:0 1px 2px rgba(0,0,0,.05)}
.chap__fact .i{width:28px;height:28px;padding:6px;border-radius:50%;background:var(--ink);color:var(--lime)}
@media (max-width:860px){.chap{grid-template-columns:1fr}.chap:nth-child(even) .chap__art{order:0}}

/* The idea */
.spark{padding-top:60px;padding-bottom:110px}
.spark__box{position:relative;max-width:var(--max);margin:0 auto;background:var(--ink);color:#fff;border-radius:56px;padding:clamp(26px,5vw,72px);display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:40px 64px;align-items:center;overflow:hidden}
.spark__box::before{content:"";position:absolute;left:-200px;top:-200px;width:600px;height:600px;border-radius:50%;background:radial-gradient(circle,rgba(205,242,92,.16),transparent 65%);pointer-events:none}
.spark__copy{position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:22px}
.spark__h{margin:0;font:800 clamp(40px,5.4vw,82px)/.92 var(--display);letter-spacing:-.05em;text-wrap:balance}
.spark__d{max-width:520px;font-size:17px}
.spark__art{position:relative;margin:0}
.spark__art img{width:100%;height:auto;border-radius:36px;aspect-ratio:4/3;object-fit:cover}
.spark__stk{position:absolute;right:20px;bottom:-14px;transform:rotate(-4deg)}
@media (max-width:900px){.spark__box{grid-template-columns:1fr;border-radius:40px}}

/* Values */
.vals{padding-top:20px;padding-bottom:110px}
.vals__inner{gap:48px}
.vgrid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:16px;margin:0;padding:0;list-style:none}
.val{position:relative;display:flex;flex-direction:column;gap:14px;min-height:340px;padding:clamp(24px,3vw,36px);border-radius:36px;background:#fff;overflow:hidden;grid-column:span 4}
.val--a,.val--g{grid-column:span 7}
.val--b,.val--f{grid-column:span 5}
.val__top{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:auto}
.val__ic{width:64px;height:64px;border-radius:21px;background:var(--ink);color:var(--lime);display:grid;place-items:center;font-size:29px;flex:none}
.val__n{font:600 13px var(--mono);letter-spacing:.14em;opacity:.55}
.val__t{position:relative;margin:28px 0 0;font:800 clamp(30px,3.2vw,46px)/.98 var(--display);letter-spacing:-.04em;text-wrap:balance}
.val__d{position:relative;margin:0;max-width:520px;font:400 16px/1.55 var(--sans);color:var(--text-2);text-wrap:pretty}
.val__bg{position:absolute;right:-36px;bottom:-40px;width:230px;height:230px;opacity:.07;transform:rotate(-12deg);pointer-events:none;stroke-width:1.4}
.val__stk{position:absolute;top:clamp(70px,7vw,86px);right:clamp(22px,3vw,34px);transform:rotate(5deg)}
.val .inl{white-space:nowrap}
.val--ink{background:var(--ink);color:#fff}
.val--ink .val__ic{background:var(--lime);color:var(--ink)}
.val--ink .val__d{color:rgba(255,255,255,.72)}
.val--ink .val__bg{opacity:.1;color:var(--lime)}
.val--lime{background:var(--lime)}
.val--lime .val__d{color:var(--lime-text)}
.val--orange{background:#FDE7D9}
.val--orange .val__ic{background:#A3360A;color:#fff}
.val--orange .val__d{color:#5A2A12}
.val--vio{background:#ECE5FF}
.val--vio .val__ic{background:#6236D0;color:#fff}
.val--vio .val__d{color:#3E2F6E}
.val--sand{background:var(--sand-2)}
.val--black{background:var(--black);color:#fff}
.val--black .val__ic{background:var(--lime);color:var(--ink)}
.val--black .val__d{color:rgba(255,255,255,.72)}
.val--black .val__bg{opacity:.12;color:var(--lime)}
@media (max-width:1000px){.vgrid{grid-template-columns:repeat(2,minmax(0,1fr))}.val{grid-column:span 1}.val--a,.val--g{grid-column:1/-1}}
@media (max-width:640px){.vgrid{grid-template-columns:1fr}.val,.val--a,.val--b,.val--f,.val--g{grid-column:auto;min-height:0}.val__stk{position:static;align-self:flex-start;transform:rotate(-3deg);order:-1}}

/* What we will never do */
.never{background:var(--black);color:#fff;padding-top:110px;padding-bottom:110px;border-radius:56px}
.never__inner{gap:40px}
.never__head{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,420px);gap:20px 48px;align-items:end}
.never__head .eyebrow{grid-column:1/-1}
.never__h{margin:0;font:800 clamp(88px,17vw,260px)/.78 var(--display);letter-spacing:-.065em}
.never__lead{margin:0;padding-bottom:.6em;font:400 17px/1.55 var(--sans);color:rgba(255,255,255,.7);text-wrap:pretty}
.nlist{margin:0;padding:0;list-style:none;border-bottom:1px solid rgba(255,255,255,.12)}
.nrow{position:relative;display:grid;grid-template-columns:56px minmax(0,1.5fr) minmax(0,1fr);gap:8px 28px;align-items:center;padding:22px 8px;border-top:1px solid rgba(255,255,255,.12);transition:background .3s,color .3s,padding .35s var(--ease);border-radius:0}
.nrow:hover{background:var(--lime);color:var(--ink);border-radius:22px;padding-left:20px;padding-right:20px}
.nrow:hover+.nrow{border-top-color:transparent}
.nrow__x{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;font-size:20px;background:rgba(255,255,255,.08);color:#FF8A4C;transition:transform .45s cubic-bezier(.3,1.4,.5,1),background .3s,color .3s}
.nrow:hover .nrow__x{transform:rotate(90deg);background:var(--ink);color:var(--lime)}
.nrow__t{margin:0;font:700 clamp(22px,2.6vw,36px)/1.08 var(--display);letter-spacing:-.025em;text-wrap:balance}
.nrow__d{margin:0;font:400 14.5px/1.5 var(--sans);color:rgba(255,255,255,.6);text-wrap:pretty}
.nrow:hover .nrow__d{color:var(--lime-text)}
@media (max-width:860px){.never__head{grid-template-columns:1fr}.nrow{grid-template-columns:44px minmax(0,1fr)}.nrow__d{grid-column:2}}

/* The principles in code */
.proof{padding-top:110px;padding-bottom:110px}
.proof__inner{gap:44px}
.proof__grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:16px;align-items:stretch}
.pnums{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:0;padding:0;list-style:none}
.pnum{display:flex;flex-direction:column;gap:8px;padding:24px;border-radius:30px;background:#fff}
.pnum__v{margin-bottom:auto;font:800 clamp(56px,6vw,92px)/.84 var(--display);letter-spacing:-.06em}
.pnum__t{margin-top:18px;font:700 19px/1.15 var(--display);letter-spacing:-.01em}
.pnum__d{font:400 14px/1.45 var(--sans);color:var(--text-3);text-wrap:pretty}
.pnum--lime{background:var(--lime)}
.pnum--lime .pnum__d{color:var(--lime-text)}
.pnum--ink{background:var(--ink);color:#fff}
.pnum--ink .pnum__d{color:rgba(255,255,255,.7)}
.pnum--ink .inl{color:var(--lime)}
.term{margin:0;display:flex;flex-direction:column;border-radius:30px;background:#101116;color:#E8E6E1;overflow:hidden;box-shadow:0 40px 80px -46px rgba(0,0,0,.6)}
.term__bar{display:flex;align-items:center;gap:8px;padding:14px 18px;background:#1B1D24}
.term__bar i{width:11px;height:11px;border-radius:50%;background:#3A3D48}
.term__bar i:nth-child(1){background:#FF8A4C}
.term__bar i:nth-child(2){background:#F6C79A}
.term__bar i:nth-child(3){background:var(--lime)}
.term__bar b{margin-left:8px;font:500 12px var(--mono);color:rgba(255,255,255,.55)}
.term pre{flex:1;margin:0;padding:22px 24px;font:500 14px/1.75 var(--mono);white-space:pre-wrap;overflow-wrap:anywhere}
.term code{font:inherit;background:none;padding:0;white-space:inherit}
.t-p{color:var(--lime)}
.t-h{color:#B9A6FF}
.t-ok{color:#8FE3B5}
.t-c{color:rgba(255,255,255,.45)}
.t-win{display:inline-block;margin-top:6px;padding:2px 10px;border-radius:6px;background:var(--lime);color:var(--ink);font-weight:600}
.term figcaption{padding:14px 24px 20px;font:400 13px/1.5 var(--sans);color:rgba(255,255,255,.55)}
.term figcaption a{color:var(--lime)}
.term__cur{display:inline-block;width:9px;height:1.1em;vertical-align:-.2em;background:var(--lime);animation:blinkC 1.1s steps(2) infinite}
@media (max-width:1000px){.proof__grid{grid-template-columns:1fr}}
@media (max-width:440px){.pnums{grid-template-columns:1fr}.term pre{font-size:12.5px;padding:18px}}

/* Who we are */
.ab-team{padding-bottom:110px}
.ab-team__grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:16px}
.ab-team__card{position:relative;display:flex;flex-direction:column;gap:20px;padding:clamp(26px,4vw,48px);border-radius:44px;background:var(--ink);color:#fff;overflow:hidden}
.ab-team__card .h2{font-size:clamp(38px,4.8vw,66px)}
.ab-team__card .on-dark{max-width:560px;font-size:17px}
.ab-team__art{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:cover;border-radius:28px;margin-top:8px}
.ab-team__chips{display:flex;flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none}
.ab-team__chips li{display:inline-flex;align-items:center;gap:8px;height:36px;padding:0 14px 0 10px;border-radius:99px;background:rgba(255,255,255,.08);font:600 13px var(--sans)}
.ab-team__chips .i{font-size:16px;color:var(--lime)}
.ab-team__side{display:flex;flex-direction:column;gap:16px}
.ab-team__side .team__contact{flex:1;border-radius:44px}
.ab-team__note{display:flex;align-items:flex-start;gap:16px;padding:clamp(22px,3vw,32px);border-radius:36px;background:var(--lime)}
.ab-team__noteic{width:46px;height:46px;border-radius:15px;background:var(--ink);color:var(--lime);display:grid;place-items:center;font-size:20px;flex:none}
.ab-team__note p{margin:0;font:400 16px/1.55 var(--sans);color:var(--lime-text);text-wrap:pretty}
.ab-team__note b{color:var(--ink);font-weight:600}
@media (max-width:1000px){.ab-team__grid{grid-template-columns:1fr}}

/* Join us */
.join{padding-bottom:110px}
.join__box{position:relative;max-width:var(--max);margin:0 auto;background:var(--lime);border-radius:56px;padding:clamp(28px,5.5vw,80px);display:flex;flex-direction:column;gap:40px;overflow:hidden}
.join__box .dl__ring--a{right:-100px;top:-120px;width:420px;height:420px}
.join__box .dl__ring--b{right:40px;top:30px}
.join__copy{position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:20px;max-width:900px}
.join__h{margin:0;font:800 clamp(52px,9vw,140px)/.86 var(--display);letter-spacing:-.06em}
.join__lead{margin:0;max-width:560px;font:500 18px/1.5 var(--sans);color:var(--lime-text);text-wrap:pretty}
.join__ways{position:relative;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:0;padding:0;list-style:none}
.join__ways>li{display:flex}
.jway{flex:1;display:flex;flex-direction:column;gap:10px;padding:22px;border-radius:28px;background:rgba(255,255,255,.55);color:var(--ink);transition:background .25s,transform .35s var(--ease)}
.jway:hover{background:#fff;color:var(--ink);transform:translateY(-4px)}
.jway__ic{width:46px;height:46px;border-radius:15px;background:var(--ink);color:var(--lime);display:grid;place-items:center;font-size:20px;margin-bottom:14px}
.jway__t{display:flex;flex-wrap:wrap;align-items:center;gap:8px;font:700 20px/1.15 var(--display);letter-spacing:-.015em}
.jway__d{font:400 14.5px/1.45 var(--sans);color:var(--lime-text)}
.jway .st{height:24px;font-size:10px}
.join__btns{position:relative;display:flex;flex-wrap:wrap;gap:12px}
@media (max-width:1000px){.join__ways{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:560px){.join__ways{grid-template-columns:1fr}}

/* What's next + download */
.abnext{padding-bottom:110px}
.abnext__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,440px),1fr));gap:16px}
.abcard{position:relative;display:flex;flex-direction:column;gap:16px;padding:clamp(14px,2vw,22px) clamp(14px,2vw,22px) clamp(26px,3.5vw,40px);border-radius:44px;background:#fff;overflow:hidden}
.abcard--ink{background:var(--ink);color:#fff;padding:clamp(28px,4vw,48px)}
.abcard__art{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:cover;border-radius:30px;margin-bottom:8px}
.abcard__txt{display:flex;flex-direction:column;align-items:flex-start;gap:14px;padding:0 clamp(10px,2vw,22px)}
.abcard__t{margin:0;font:800 clamp(32px,3.6vw,52px)/.98 var(--display);letter-spacing:-.04em;text-wrap:balance}
.abcard__d{margin:0;max-width:520px;font:400 16px/1.55 var(--sans);color:var(--text-2);text-wrap:pretty}
.abcard--ink .abcard__d{color:rgba(255,255,255,.72)}
.abcard__btns{display:flex;flex-wrap:wrap;align-items:center;gap:12px 24px;margin-top:auto}
.abcard__big{margin:auto 0 0;font:800 clamp(64px,8vw,120px)/.84 var(--display);letter-spacing:-.06em}
.abcard--ink .dl__ring--a{border-color:rgba(255,255,255,.14)}
.abcard--ink .dl__ring--b{border-color:rgba(205,242,92,.3)}
.abcard--ink>*:not(.dl__ring){position:relative}
.credits--ab{padding-top:0}

/* Scroll-driven extras (motion allowed, browsers with scroll timelines) */
@keyframes abZoom{from{transform:scale(1)}to{transform:scale(1.12)}}
@keyframes abFloat{from{translate:0 60px}to{translate:0 -40px}}
@keyframes abRow{from{opacity:0;translate:-40px 0}to{opacity:1;translate:0 0}}
@keyframes abGrow{from{opacity:.25;scale:.6}to{opacity:1;scale:1}}
@media screen and (prefers-reduced-motion:no-preference){
  @supports (animation-timeline:view()){
    .abh__frame img{animation:abZoom linear both;animation-timeline:view();animation-range:cover 50% cover 100%}
    .chap__frame{animation:abFloat linear both;animation-timeline:view();animation-range:cover 0% cover 100%}
    .nrow{animation:abRow linear both;animation-timeline:view();animation-range:entry 0% entry 90%}
    .never__h{animation:abGrow linear both;animation-timeline:view();animation-range:entry 0% cover 40%;transform-origin:0 100%}
  }
}

/* Large screens: the new home and About components follow --u / --z like the rest of the site */
@media (min-width:1600px){
  .nums{padding-top:calc(110 * var(--u));padding-bottom:calc(20 * var(--u))}
  .hroutes,.hfeat,.ab-team,.join,.abnext{padding-bottom:calc(110 * var(--u))}
  .hrules,.hfaq,.trust,.proof{padding-top:calc(110 * var(--u));padding-bottom:calc(110 * var(--u))}
  .ucs,.hcmp,.never{padding-top:calc(110 * var(--u));padding-bottom:calc(110 * var(--u));border-radius:calc(56 * var(--u))}
  .home-inner,.hfeat__inner,.trust__inner,.hcmp__inner,.proof__inner{gap:calc(44 * var(--u))}
  .ucs__inner,.vals__inner{gap:calc(48 * var(--u))}
  .nums__grid,.ucs__row,.ctbl,.hcmp__foot,.trust__grid,.hrules__lead,.hrules__stk,.hrules__list,.hrules__head .go,.hfaq__head .lead,.hfaq__head .go,
  .abh__side,.abh__art .stk,.abh__spin,.chapters,.spark__copy,.spark__stk,.vgrid,.never__lead,.nlist,.proof__grid,.join__copy,.join__ways,.join__btns,.join__box .dl__ring{zoom:var(--z)}
  .ab-team__grid,.abnext__grid{zoom:var(--z);max-width:calc(var(--max) / var(--z))}
  .ucs__lead,.hcmp__lead{font-size:calc(17 * var(--u));max-width:calc(460 * var(--u))}
  .hrules__box{padding:calc(64 * var(--u));border-radius:calc(48 * var(--u));gap:calc(40 * var(--u)) calc(56 * var(--u))}
  .hrules__head .h2,.hfaq__head .h2{font-size:calc(72 * var(--u))}
  .hfaq__grid{gap:calc(36 * var(--u)) calc(64 * var(--u))}
  .abh{padding-top:calc(72 * var(--u));padding-bottom:calc(40 * var(--u))}
  .abh__inner{gap:calc(52 * var(--u))}
  .abh__top{grid-template-columns:minmax(0,1fr) calc(330 * var(--u));gap:calc(28 * var(--u)) calc(40 * var(--u))}
  .abh__h{font-size:calc(176 * var(--u))}
  .abh__frame{border-radius:calc(52 * var(--u))}
  .xband{padding:calc(56 * var(--u)) 0 calc(40 * var(--u))}
  .xband .band--ink{margin-top:calc(-64 * var(--u))}
  .story{padding-top:calc(110 * var(--u));padding-bottom:calc(60 * var(--u))}
  .story__inner{gap:calc(72 * var(--u))}
  .spark{padding-top:calc(60 * var(--u));padding-bottom:calc(110 * var(--u))}
  .spark__box{padding:calc(72 * var(--u));border-radius:calc(56 * var(--u));gap:calc(40 * var(--u)) calc(64 * var(--u))}
  .vals{padding-top:calc(20 * var(--u));padding-bottom:calc(110 * var(--u))}
  .never__inner{gap:calc(40 * var(--u))}
  .never__head{grid-template-columns:minmax(0,1fr) calc(420 * var(--u))}
  .never__h{font-size:calc(260 * var(--u))}
  .join__box{padding:calc(80 * var(--u));border-radius:calc(56 * var(--u));gap:calc(40 * var(--u))}
  .hroutes .pillbox .eyebrow,.spark__copy .eyebrow,.join__copy .eyebrow{font-size:12px}
}
@media (prefers-reduced-motion:reduce){
  .lane__env{left:calc(50% - 15px);opacity:1}
  .mgx__wire span:not(.mgx__lbl){left:50%;opacity:1}
  .uc:hover,.jway:hover{transform:none}
  .uc:hover .uc__img{transform:none}
}

/* ---------- Small screens ---------- */
@media (max-width:520px){
  .floater{font-size:12px;padding:8px 12px 8px 8px}
  .spinner{transform-origin:center;width:104px;height:104px}
  .spinner svg{width:104px;height:104px}
  .rules li{grid-template-columns:44px 1fr;gap:12px}
  .privacy,.compare{border-radius:36px 36px 0 0}
  .compare{border-radius:36px}
  .how{padding-top:96px}
  .tab[aria-selected="true"]{transform:none}
}

/* ---------- Large screens (1600px and up) ----------
   Below 1600px nothing here applies. Above it:
   --u   a px unit that grows smoothly with the viewport. It follows min(width, 1.9 x height), so very wide but
         short screens (3440x1440) scale like a 2560x1440 one instead of getting a headline taller than the fold.
   --max the content width: proportional to --u, at least min(92vw, 1600px).
   --z   the same scale as a stepped number, used as `zoom` on fixed-pixel illustrations and card grids
         (phone mock-up, feature demos, cards) whose inner sizes are px or inline styles. */
@media (min-width:1600px){
  :root{--u:clamp(1px,calc(1px + (min(100vw,190vh) - 1600px) / 2286),1.8px);--max:clamp(1240px,max(calc(1388 * var(--u)),1600px),92vw)}
  section[id]{scroll-margin-top:calc(84 * var(--u))}
  .hdr{padding-top:calc(14 * var(--u));padding-bottom:calc(14 * var(--u))}
  .nav{gap:calc(16 * var(--u));padding:calc(8 * var(--u)) calc(8 * var(--u)) calc(8 * var(--u)) calc(18 * var(--u))}
  .nav>*:not(.nav__spacer),.hero__stage,.badge,.hero__ctas,.hero__chips,.band__track,.steps,.pillbox,.feat-grid,.rules,.strip__track,
  .tabs,.panel,.layers,.pl-grid,.tbl-wrap,.cats,.products,.faq__list,.dl__btns,.dl__qrwrap,.dl__ring,.foot__row,.drawer__panel,.soon-row{zoom:var(--z)}
  .eyebrow{font-size:calc(12 * var(--u))}
  .h1{font-size:calc(116 * var(--u))}
  .h2{font-size:calc(80 * var(--u))}
  .h2--xl{font-size:calc(92 * var(--u))}
  .h2--swag{font-size:calc(120 * var(--u))}
  .h2--dl{font-size:calc(112 * var(--u))}
  .sec-head{gap:calc(16 * var(--u))}
  .split{gap:calc(32 * var(--u))}
  .lead{font-size:calc(18 * var(--u));max-width:calc(520 * var(--u))}
  .hero{padding-top:calc(40 * var(--u));padding-bottom:calc(80 * var(--u))}
  .hero__grid{gap:calc(48 * var(--u))}
  .hero__copy{gap:calc(28 * var(--u))}
  .hero__lead{font-size:calc(20 * var(--u));max-width:calc(520 * var(--u))}
  .hero__bg{inset:calc(-40 * var(--u)) 0 0 0;height:calc(100% + 40 * var(--u))}
  .band{padding:calc(22 * var(--u)) 0}
  .how{padding-top:calc(120 * var(--u));padding-bottom:calc(100 * var(--u))}
  .how__inner{gap:calc(56 * var(--u))}
  .features{padding-top:calc(40 * var(--u));padding-bottom:calc(120 * var(--u))}
  .features__inner{gap:calc(48 * var(--u))}
  .features__head{max-width:calc(820 * var(--u))}
  .feat-grid{grid-template-columns:repeat(3,minmax(0,1fr))} /* keep the 3x2 / 4+2 rhythm of the design */
  .privacy{padding-top:calc(120 * var(--u));padding-bottom:calc(120 * var(--u));border-radius:calc(56 * var(--u)) calc(56 * var(--u)) 0 0}
  .privacy__grid{gap:calc(56 * var(--u))}
  .privacy__head{gap:calc(20 * var(--u));top:calc(110 * var(--u))}
  .privacy__lead{font-size:calc(17 * var(--u));max-width:calc(440 * var(--u))}
  .strip{padding-bottom:calc(120 * var(--u))}
  .uses{padding-top:calc(120 * var(--u));padding-bottom:calc(80 * var(--u))}
  .uses__inner{gap:calc(44 * var(--u))}
  .uses__head{max-width:calc(860 * var(--u))}
  .uses__body{gap:calc(16 * var(--u))}
  .security{padding-top:calc(60 * var(--u));padding-bottom:calc(120 * var(--u))}
  .security__inner{gap:calc(44 * var(--u))}
  .compare{padding-top:calc(120 * var(--u));padding-bottom:calc(120 * var(--u));border-radius:calc(56 * var(--u))}
  .compare__inner{gap:calc(40 * var(--u))}
  .compare__lead{font-size:calc(17 * var(--u));max-width:calc(520 * var(--u))}
  .notes{font-size:calc(13 * var(--u));max-width:calc(900 * var(--u))}
  .swag{padding-top:calc(120 * var(--u));padding-bottom:calc(120 * var(--u))}
  .swag__inner{gap:calc(48 * var(--u))}
  .swag__head{gap:calc(24 * var(--u))}
  .swag__title{max-width:calc(840 * var(--u))}
  .products{grid-template-columns:repeat(4,minmax(0,1fr))}
  .faq{padding-top:calc(40 * var(--u));padding-bottom:calc(120 * var(--u))}
  .faq__inner{max-width:calc(1000 * var(--u));gap:calc(40 * var(--u))}
  .qa__a p{max-width:68ch}
  .download{padding-bottom:calc(40 * var(--u))}
  .dl{padding:calc(80 * var(--u));border-radius:calc(48 * var(--u));gap:calc(40 * var(--u))}
  .dl__copy{gap:calc(22 * var(--u))}
  .dl__lead{font-size:calc(18 * var(--u));max-width:calc(480 * var(--u))}
  .dl__meta{font-size:calc(13 * var(--u))}
  .dl__note{font-size:calc(14 * var(--u));max-width:calc(520 * var(--u))}
  .foot{padding-top:calc(40 * var(--u));padding-bottom:calc(48 * var(--u))}
  .foot__inner{gap:calc(40 * var(--u))}
  .wordmark{font-size:calc(220 * var(--u))}
  .toast{font-size:calc(14 * var(--u));padding:calc(13 * var(--u)) calc(20 * var(--u))}
  /* multi-page components */
  .lgrid,.rmt__track,.tickrow,.rgrid,.mg__grid,.mg__facts,.mg__note,.tl,.tl__end,.shipped__box,.legend,.phead__jump,.glance,.lost__links,.lost__art,.lost__ctas,
  .install__grid,.wgrid,.pgrid,.why__copy,.credits__list,.audit,.help__copy,.help__btns,.foot__top,.faq__gt,.split__aside .go{zoom:var(--z)}
  /* these also carry .wrap (max-width var(--max)): divide so the zoomed box stays --max wide */
  .apps__grid,.dlinfo__grid,.team__grid,.policy__grid,.ground__box,.swagnote__box{zoom:var(--z);max-width:calc(var(--max) / var(--z))}
  [id]{scroll-margin-top:calc(96 * var(--u))}
  .lgrid,.rgrid,.tickrow,.wgrid,.pgrid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .isteps,.dlinfo__grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .mg__grid .eyebrow,.help__copy .eyebrow,.ground__box .eyebrow{font-size:12px}
  .report .lgrid{grid-template-columns:repeat(4,minmax(0,1fr))}
  .rmt+.download{padding-top:calc(100 * var(--u))}
  .phead{padding-top:calc(88 * var(--u));padding-bottom:calc(100 * var(--u))}
  .phead__inner{gap:calc(24 * var(--u))}
  .h1p{font-size:calc(108 * var(--u))}
  .phead__lead{font-size:calc(20 * var(--u));max-width:calc(640 * var(--u))}
  .explore__head{max-width:calc(820 * var(--u))}
  .rmt{padding-top:calc(120 * var(--u));padding-bottom:calc(120 * var(--u));border-radius:calc(56 * var(--u))}
  .rmt__lead{font-size:calc(17 * var(--u));max-width:calc(440 * var(--u))}
  .split__aside{gap:calc(18 * var(--u))}
  .explore__inner,.ticks__inner,.limits__inner,.report__inner,.install__inner,.principles__inner{gap:calc(48 * var(--u))}
  .rmt__inner,.rm__inner{gap:calc(64 * var(--u))}
  .explore,.next,.ticks,.routes-sec,.mg,.limits,.report,.shipped,.help,.apps,.install,.dlinfo,.ways,.ground,.why,.principles,.team,.credits,.policy,.swagnote{padding-bottom:calc(110 * var(--u))}
  .how--teaser{padding-bottom:calc(110 * var(--u))}
  .report,.strip--page+.uses{padding-top:calc(120 * var(--u))}
  .mg__box,.help__box{padding:calc(64 * var(--u));border-radius:calc(48 * var(--u));gap:calc(44 * var(--u))}
  .mg__h,.help__copy .h2{font-size:calc(66 * var(--u) / var(--z))}
  .strip--page{padding:calc(36 * var(--u)) 0;border-radius:calc(48 * var(--u))}
  .why__grid{gap:calc(40 * var(--u)) calc(64 * var(--u))}
  .swag--page{padding-top:calc(88 * var(--u))}
}
/* --z steps: the media query is min(width, 1.9 x height) >= the width that makes --u reach about this value */
@media (min-width:1714px) and (min-height:902px){:root{--z:1.1}}
@media (min-width:1943px) and (min-height:1023px){:root{--z:1.2}}
@media (min-width:2171px) and (min-height:1143px){:root{--z:1.3}}
@media (min-width:2400px) and (min-height:1263px){:root{--z:1.4}}
@media (min-width:2629px) and (min-height:1384px){:root{--z:1.5}}
@media (min-width:2857px) and (min-height:1504px){:root{--z:1.6}}
@media (min-width:3086px) and (min-height:1624px){:root{--z:1.7}}
@media (min-width:3314px) and (min-height:1744px){:root{--z:1.8}}

/* ---------- Reduced motion: keep the page still ---------- */
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;animation-delay:0s!important;transition-duration:.001ms!important}
  .traveler,.blob{display:none}
  .band__track{transform:none}
  .strip{overflow-x:auto}
  .strip__track{transform:none}
  /* Freeze looping demos on a meaningful frame */
  .swipe__ic{opacity:1;transform:none}
  .swipe__bub{transform:translateX(40px)}
  .replybar{opacity:1;transform:none}
  .qrgrid span{opacity:var(--o,1)}
  .timer__arc{stroke-dashoffset:100}
  .wave span,.bigwave span{transform:scaleY(.65)}
  .rv{opacity:1;filter:none;translate:none}
  .callstage__ping{display:none}
  .floater{transform:rotate(var(--r,0deg))}
  .hero__bg .lines{stroke-dashoffset:0}
  .phead__bg .lines{stroke-dashoffset:0}
  .pilltick__list{transform:none}
  .demo-states .st-done{opacity:1}
  .demo-lora__ring{display:none}
  .demo-pin__dots span{background:var(--ink)}
  .demo-pin__arc{stroke-dashoffset:40}
  .mgd__env{top:33px}
  .lcard__wire::after{left:50%;opacity:1}
  .sq>*{opacity:1;translate:none}
  .rmt__track::before,.rmt__track::after{clip-path:none}
}


/* ---------- Print: never leave scroll-revealed content hidden ---------- */
@media print{
  .rv,.sq>*,.tl--js .tl__card,.tl--js .tl__mark,.tl--js .tl__list li{opacity:1!important;translate:none!important;filter:none!important}
  .hdr,.blob,.drawer,.toast{display:none}
}
