@font-face{font-family:Commissioner;src:url('../../static/fonts/Inter-Regular.woff2') format('woff2');font-weight:400;font-display:swap}
@font-face{font-family:Commissioner;src:url('../../static/fonts/Inter-SemiBold.woff2') format('woff2');font-weight:600;font-display:swap}
@font-face{font-family:Commissioner;src:url('../../static/fonts/Inter-Bold.woff2') format('woff2');font-weight:700;font-display:swap}
@font-face{font-family:Commissioner;src:url('../../static/fonts/Inter-Bold.woff2') format('woff2');font-weight:800;font-display:swap}
:root{
  --canvas:#f4f5f2;
  --ink:#07120b;
  --forest:#102117;
  --forest-deep:#06100a;
  --green:#35ed78;
  --green-dark:#0f7a38;
  --amber:#ffb21a;
  --muted:#56625a;
  --line:#cbd0cb;
  --white:#fff;
  --shell:min(1180px,calc(100% - 2rem));
  --ease:cubic-bezier(.16,1,.3,1);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--canvas);color:var(--ink);font-family:Commissioner,"Segoe UI",sans-serif;font-size:1rem;line-height:1.58;font-kerning:normal}
a{color:inherit;text-decoration:none}
img,svg{display:block;max-width:100%}
button,a,summary{-webkit-tap-highlight-color:transparent}
h1,h2,h3,p{margin-top:0}
h1,h2,h3{line-height:.98;letter-spacing:-.035em;text-wrap:balance;overflow-wrap:break-word}
p{text-wrap:pretty}
.shell{width:var(--shell);margin-inline:auto}
.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-link{position:fixed;z-index:50;top:1rem;left:1rem;padding:.7rem 1rem;background:var(--amber);color:var(--ink);transform:translateY(-180%)}
.skip-link:focus{transform:none}
a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--amber);outline-offset:4px}
.button{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:.86rem 1.15rem;border:1px solid transparent;border-radius:8px;font:inherit;font-weight:800;line-height:1.08;cursor:pointer;transition:transform 160ms var(--ease),background-color 160ms var(--ease),color 160ms var(--ease)}
.button:active{transform:translateY(1px)}
.button-primary{background:var(--green);color:var(--ink)}
.button-secondary{border-color:var(--ink);background:transparent;color:var(--ink)}
.button-on-dark{border-color:#789080;background:transparent;color:var(--white)}
.site-header{position:sticky;z-index:30;top:0;display:flex;align-items:center;gap:1.25rem;min-height:72px;padding:.6rem max(1rem,calc((100vw - 1180px)/2));background:#f4f5f2f2;border-bottom:1px solid var(--line);backdrop-filter:blur(12px)}
.brand{display:inline-flex;align-items:center;gap:.65rem;min-width:44px;min-height:44px;font-size:1.08rem;font-weight:800;letter-spacing:-.03em}
.brand img{border-radius:8px}
.brand b{color:var(--green-dark)}
.desktop-nav{display:flex;gap:2rem;margin-left:auto;font-size:.92rem;font-weight:700}
.desktop-nav a{min-height:44px;display:inline-flex;align-items:center}
.header-cta{min-height:44px;font-size:.88rem}
.mobile-nav{display:none;margin-left:auto;position:relative}
.mobile-nav summary{min-height:44px;padding:.65rem .85rem;border:1px solid var(--ink);border-radius:8px;font-weight:800;cursor:pointer;list-style:none}
.mobile-nav summary::-webkit-details-marker{display:none}
.mobile-nav nav{position:absolute;right:0;top:calc(100% + .55rem);display:grid;min-width:240px;padding:.5rem;background:var(--canvas);border:1px solid var(--ink);border-radius:10px}
.mobile-nav nav a{min-height:44px;padding:.75rem}

.hero{position:relative;overflow:hidden;background:radial-gradient(circle at 50% 34%,#fff 0%,#f4f5f2 42%,#e7ebe7 72%,#dfe5df 100%)}
.hero:before{display:none}
.hero-grid{position:relative;z-index:5;display:grid;grid-template-columns:minmax(0,1fr);gap:1.5rem;align-items:end;padding:clamp(2.5rem,5vw,4.25rem) 0 clamp(1rem,2vw,1.5rem)}
.hero-copy{text-align:center;grid-column:1/-1}
.signal-label{margin-bottom:1rem;font-size:.82rem;font-weight:800;letter-spacing:.025em;color:var(--green-dark)}
.hero h1{max-width:880px;margin:0 auto 1rem;font-size:clamp(2.8rem,5.1vw,4.45rem);font-weight:800}
.hero h1 span{display:inline-block;color:var(--green-dark)}
.hero-lead{max-width:760px;margin:0 auto 1.25rem;font-size:clamp(1.04rem,1.35vw,1.2rem);color:#324039}
.hero-actions{display:flex;justify-content:center;flex-wrap:wrap;gap:.85rem}
.trial-line{margin:.8rem 0 0;color:var(--muted);font-size:.92rem}
.offer-panel{position:relative;z-index:6;justify-self:center;margin:.75rem auto 0;padding:1rem 1.1rem;background:#07120b;color:#fff;border:1px solid #294134}
.offer-panel span{display:block;font-size:.78rem;font-weight:800;color:#a9baaf}
.offer-panel strong{display:block;margin:.2rem 0;font-size:2.35rem;line-height:.95;color:var(--green);font-variant-numeric:tabular-nums}
.offer-panel small{font-size:.85rem;color:#dce8df}
.offer-panel p{max-width:22ch;margin:0;font-size:.8rem;color:#cbd8cf}

.route-theatre{position:relative;z-index:3;color:#fff;background:
  radial-gradient(circle at 26% 62%,#35ed7820 0 10%,transparent 32%),
  radial-gradient(circle at 74% 44%,#35ed7818 0 8%,transparent 30%),
  linear-gradient(180deg,#102117 0%,#06100a 100%);overflow:hidden}
.route-theatre:before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,#ffffff00 0%,#06100a88 100%);pointer-events:none}
.route-shell{position:relative;padding:clamp(1.75rem,3vw,2.5rem) 0 clamp(3rem,6vw,5rem)}
.route-scene{position:relative;min-height:570px;margin:0;isolation:isolate}
.route-scene-label{position:absolute;z-index:5;left:0;top:.25rem;max-width:500px;text-shadow:0 1px 10px #06100a}
.route-scene-label span{display:block;margin-bottom:.3rem;color:var(--green);font-size:.78rem;font-weight:800}
.route-scene-label strong{display:block;font-size:clamp(1.2rem,2vw,1.75rem);line-height:1.06;letter-spacing:-.035em;text-wrap:balance}
.route-scene-label small{display:block;max-width:58ch;margin-top:.65rem;color:#c4d3ca;font-size:.76rem;line-height:1.45;text-wrap:pretty}
.route-controls{position:absolute;z-index:8;right:0;bottom:1rem;display:flex;gap:.5rem}
.motion-toggle,.motion-replay{min-height:44px;padding:.58rem .8rem;border:1px solid #789080;border-radius:8px;background:#06100acc;color:#fff;font:inherit;font-size:.8rem;font-weight:800;cursor:pointer;touch-action:manipulation;transition:border-color 160ms var(--ease),background-color 160ms var(--ease)}
.motion-toggle:hover,.motion-replay:hover{border-color:var(--green);background:#102117}
.venue-depth{position:absolute;z-index:0;inset:12% -8% 0;overflow:hidden;opacity:.25;pointer-events:none}
.venue-depth span{position:absolute;bottom:0;width:18%;border:1px solid #365444;background:linear-gradient(180deg,#17302244,#06100a88)}
.venue-depth span:nth-child(1){left:0;height:42%;transform:skewX(-8deg)}
.venue-depth span:nth-child(2){left:23%;height:28%;transform:skewX(7deg)}
.venue-depth span:nth-child(3){right:21%;height:36%;transform:skewX(-5deg)}
.venue-depth span:nth-child(4){right:0;height:50%;transform:skewX(8deg)}
.wifi-radius{position:absolute;z-index:1;left:48%;top:7%;width:420px;aspect-ratio:1;border:1px solid #35ed782b;border-radius:50%;background:radial-gradient(circle,#35ed7809 0 34%,#35ed7804 35% 62%,transparent 63%);transform:translateX(-15%);pointer-events:none}
.wifi-radius:before,.wifi-radius:after{content:"";position:absolute;inset:16%;border:1px solid #35ed7824;border-radius:50%}
.wifi-radius:after{inset:32%}
.route-svg{position:absolute;z-index:1;inset:0;width:100%;height:100%;overflow:visible}
.route-svg-tablet{display:none}
.route-shadow,.route-line,.route-progress,.route-pulse{fill:none;stroke-linecap:round;vector-effect:non-scaling-stroke}
.route-shadow{stroke:#000;stroke-width:20;opacity:.28}
.route-line{stroke:#214331;stroke-width:4}
.route-progress{stroke:#35ed78;stroke-width:5;stroke-dasharray:1094;stroke-dashoffset:0;filter:drop-shadow(0 0 5px #35ed7880)}
.route-pulse{stroke:#ffb21a;stroke-width:7;stroke-dasharray:54 1040;stroke-dashoffset:-1040;opacity:0;filter:drop-shadow(0 0 5px #ffb21a99)}
.order-token{--token-x1:285px;--token-y1:38px;--token-x2:430px;--token-y2:-18px;--token-x3:765px;--token-y3:-8px;position:absolute;z-index:6;left:12%;top:56%;display:grid;place-items:center;width:44px;height:44px;border:1px solid #1f8f46;border-radius:50%;background:#35ed78;color:#07120b;font-size:.72rem;font-weight:800;box-shadow:0 0 0 5px #35ed781f,0 6px 8px #0006;transform:translate3d(var(--token-x3),var(--token-y3),0)}
.order-token span{line-height:1}
.route-chip{position:absolute;z-index:2;display:inline-flex;align-items:center;gap:.45rem;min-height:36px;padding:.42rem .62rem;border:1px solid #526b5e;background:#0b1911e8;color:#e1ece5;font-size:.76rem;font-weight:800}
.route-chip span{display:grid;place-items:center;width:1.35rem;height:1.35rem;border-radius:50%;background:#1d3327;color:var(--green);font-size:.68rem}
.chip-offline{left:7%;top:27%;color:var(--amber);border-color:#856c2d}
.chip-offline span{background:#332811;color:var(--amber)}
.chip-device{left:18%;top:71%;z-index:7}
.chip-local{left:45%;top:12%}
.chip-ready{right:5%;top:25%}
.node{position:absolute;z-index:3;margin:0}
.node figcaption{display:flex;align-items:end;justify-content:space-between;gap:.5rem;margin-bottom:.6rem;font-size:.82rem}
.node figcaption strong{font-size:.9rem}
.phone-frame,.laptop-screen,.printer-frame{background:#101915;border:1px solid #54695c}
.offline-mark{position:absolute;z-index:5;right:3px;top:2.35rem;display:grid;place-items:center;width:36px;height:36px;border:1px solid #856c2d;background:#0b1911;color:var(--amber)}
.offline-mark svg{width:22px;height:22px}
.offline-mark path{fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round}
.phone-frame{position:relative;width:184px;padding:.45rem;border:8px solid #050906;border-radius:24px;box-shadow:0 22px 44px #0007,0 0 0 1px #35ed7822}
.phone-frame img{height:310px;width:100%;object-fit:cover;object-position:top;border-radius:15px}
.node-phone{left:4%;top:38%}
.device-toast{position:absolute;z-index:4;left:50%;bottom:1rem;display:flex;align-items:center;gap:.35rem;width:max-content;max-width:calc(100% - 1rem);padding:.45rem .55rem;border:1px solid #9fdab4;border-radius:7px;background:#f4fff7;color:#075c2a;font-size:.66rem;font-weight:800;box-shadow:0 5px 8px #0004;transform:translateX(-50%)}
.device-toast span{display:grid;place-items:center;width:1.05rem;height:1.05rem;border-radius:50%;background:var(--green-dark);color:#fff;font-size:.66rem}
.sync-badge{position:absolute;z-index:4;left:36%;top:49%;display:grid;place-items:center;width:96px;height:96px;border:1px solid #4a735b;border-radius:50%;background:#0d2819;color:var(--green);box-shadow:0 0 0 7px #35ed7812,0 8px 12px #0005}
.sync-icon{font-size:2rem;line-height:1}
.node-laptop{left:45%;top:20%;width:430px}
.laptop-frame{position:relative}
.laptop-screen{padding:.55rem;border:9px solid #050906;border-radius:12px;box-shadow:0 30px 70px #0009,0 0 0 1px #35ed781a}
.laptop-screen img{height:270px;width:100%;object-fit:cover;object-position:left top;border-radius:5px}
.laptop-base{width:88%;height:15px;margin:-1px auto 0;background:linear-gradient(90deg,#29352e,#0b120d 18%,#0b120d 82%,#29352e);border-radius:0 0 16px 16px}
.node-kitchen{right:2%;top:36%;width:188px}
.printer-frame{position:relative;min-height:158px;padding:1rem;border-radius:10px;background:#121a16;box-shadow:0 20px 44px #0007}
.printer-top{height:56px;border-radius:8px;background:#050906}
.ticket{position:relative;width:78%;margin:-10px auto 0;padding:.75rem;background:#fff;color:var(--ink);box-shadow:0 12px 20px #0004;transform:rotate(1.5deg)}
.ticket b,.ticket span,.ticket em{display:block}
.ticket b{font-size:.72rem}
.ticket span{margin-top:.35rem;border-bottom:1px solid #ccd4ce;font-size:.7rem}
.ticket mark{position:absolute;right:-18px;bottom:9px;padding:.2rem .38rem;background:var(--green);color:#07120b;font-size:.55rem;font-weight:800;transform:rotate(-8deg)}

.proof-band{position:relative;background:linear-gradient(180deg,#06100a,#07120b);color:#fff;border-top:1px solid #294134}
.proof-grid{display:grid;grid-template-columns:repeat(4,1fr)}
.proof-grid p{display:grid;gap:.45rem;margin:0;padding:1.45rem 1.2rem;border-right:1px solid #2c4436}
.proof-grid p:first-child{border-left:1px solid #2c4436}
.proof-grid span{color:var(--green);font-size:.78rem;font-weight:800}
.proof-grid strong{font-size:.98rem}
.proof-grid small{color:#a9baaf;font-size:.78rem}

.fit-section,.onboarding-section,.pricing-section,.faq-section{padding:clamp(4.5rem,8vw,7rem) 0}
.fit-section{scroll-margin-top:88px}
.fit-grid{display:grid;grid-template-columns:.78fr 1.22fr;gap:clamp(2.5rem,6vw,6rem);align-items:start}
.fit-grid h2,.qr-grid h2,.onboarding-grid h2,.pricing-grid h2,.final-grid h2{font-size:clamp(2.35rem,5vw,4.7rem);font-weight:800}
.fit-grid h2{max-width:9ch;scroll-margin-top:88px;font-size:clamp(2.65rem,4.5vw,4.25rem)}
.fit-lead{max-width:44ch;margin:1.4rem 0 0;color:#324039;font-size:1.04rem}
.fit-action{display:grid;justify-items:start;gap:.65rem;margin-top:1.6rem}
.fit-action small{max-width:34ch;color:var(--muted);font-size:.8rem;line-height:1.45}
.fit-action .button-primary:hover{background:#28d968}
.fit-equipment{display:grid;grid-template-columns:1.15fr .85fr;grid-template-rows:1fr 1fr;gap:1px;margin:0;padding:0;border:1px solid var(--line);background:var(--line);list-style:none}
.fit-node{display:grid;align-content:center;gap:.45rem;min-width:0;margin:0;padding:clamp(1.25rem,2.4vw,2rem);background:#fff}
.fit-node strong{font-size:clamp(1.08rem,1.6vw,1.35rem);line-height:1.12;letter-spacing:-.025em}
.fit-node p{margin:0;color:var(--muted);font-size:.9rem;line-height:1.5}
.fit-status{color:var(--green-dark);font-size:.72rem;font-weight:800;line-height:1.3}
.fit-host{grid-row:1/-1;min-height:330px;background:var(--forest);color:#fff}
.fit-host strong{max-width:10ch;font-size:clamp(1.75rem,3vw,2.65rem);line-height:.98}
.fit-host p{max-width:24ch;color:#cedbd3}
.fit-host .fit-status{color:var(--green)}
.fit-printer .fit-status{color:var(--muted)}
.fit-boundary{display:grid;grid-template-columns:auto minmax(0,1fr);gap:1rem;align-items:start;margin-top:1.25rem;padding:1.15rem 0;border-top:1px solid var(--ink);border-bottom:1px solid var(--ink)}
.fit-boundary-mark{display:grid;place-items:center;width:2.35rem;height:2.35rem;background:var(--ink);color:var(--green);font-size:1.45rem;font-weight:800;line-height:1}
.fit-boundary strong{display:block;margin:.05rem 0 .3rem;font-size:1rem}
.fit-boundary p{max-width:58ch;margin:0;color:var(--muted);font-size:.86rem;line-height:1.5}

.qr-section{position:relative;padding:clamp(4.5rem,8vw,7rem) 0;scroll-margin-top:88px;background:
  radial-gradient(circle at 24% 54%,#35ed781c 0 12%,transparent 34%),
  linear-gradient(180deg,var(--forest) 0%,var(--forest-deep) 100%);color:#fff;overflow:hidden}
.qr-grid{position:relative;display:grid;grid-template-columns:.88fr 1.12fr;gap:clamp(3rem,7vw,7rem);align-items:center}
.qr-copy{min-width:0}
.qr-grid .signal-label{color:var(--green)}
.qr-grid h2{max-width:11ch;scroll-margin-top:88px;font-size:clamp(2.9rem,5vw,4.65rem)}
.qr-lead{max-width:50ch;margin:1.35rem 0 0;color:#cedbd3;font-size:1.03rem}
.qr-ledger{margin:1.65rem 0 0;border-top:1px solid #496255;border-bottom:1px solid #496255}
.qr-ledger div{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:1.25rem;padding:.85rem 0;border-bottom:1px solid #294134}
.qr-ledger div:last-child{border-bottom:0}
.qr-ledger dt{color:#a9baaf;font-size:.82rem}
.qr-ledger dd{margin:0;color:#fff;font-weight:800;text-align:right}
.qr-actions{display:flex;align-items:center;flex-wrap:wrap;gap:1rem 1.25rem;margin-top:1.6rem}
.qr-actions .button-primary:hover{background:#28d968}
.qr-sample-link{min-height:44px;display:inline-flex;align-items:center;border-bottom:1px solid #789080;color:#e6efe9;font-weight:800}
.qr-sample-link:hover{border-color:var(--green);color:var(--green)}
.qr-proof{position:relative;min-height:640px;margin:0;isolation:isolate}
.qr-proof:before{content:"";position:absolute;inset:7% 4% 8% 8%;z-index:-1;background:radial-gradient(circle,#35ed7817,transparent 68%);border:1px solid #294134}
.qr-phone{position:absolute;z-index:2;right:0;top:0;width:min(300px,68%);padding:.5rem;border:9px solid #050906;border-radius:24px;background:#07120b;box-shadow:0 28px 70px #0008}
.qr-phone img{height:590px;width:100%;object-fit:cover;object-position:top;border-radius:15px}
.qr-scan-card{position:absolute;z-index:3;left:0;top:5.5rem;display:grid;gap:.65rem;width:230px;padding:.75rem;background:#fff;color:var(--ink);border:1px solid #789080;box-shadow:0 8px 8px #0005;transform:rotate(-2deg)}
.qr-scan-card img{width:100%;height:auto}
.qr-scan-card span{display:grid;gap:.08rem}
.qr-scan-card strong{font-size:1rem}
.qr-scan-card small{color:var(--green-dark);font-size:.72rem;font-weight:800}
.qr-proof figcaption{position:absolute;z-index:4;left:0;bottom:1.2rem;max-width:24ch;padding:.65rem .75rem;border:1px solid #526b5e;background:#07120be8;color:#d9e8df;font-size:.78rem;font-weight:800}

.onboarding-section{scroll-margin-top:88px;background:linear-gradient(180deg,#f4f5f2 0%,#e8ede8 100%)}
.onboarding-grid{display:grid;grid-template-columns:.82fr 1.18fr;gap:clamp(3rem,7vw,7rem);align-items:start}
.onboarding-copy h2{max-width:9ch;scroll-margin-top:88px;font-size:clamp(2.8rem,4.7vw,4.35rem)}
.onboarding-copy>p:not(.signal-label){max-width:42ch;margin:1.4rem 0 1.6rem;color:var(--muted);font-size:1.04rem}
.onboarding-runway{border-top:1px solid var(--ink)}
.onboarding-runway ol{margin:0;padding:0;list-style:none}
.onboarding-runway li{display:grid;grid-template-columns:76px minmax(0,1fr);gap:1.25rem;padding:1.2rem 0;border-bottom:1px solid var(--line)}
.onboarding-number{color:var(--green-dark);font-size:2.15rem;font-weight:800;line-height:1;letter-spacing:-.04em;font-variant-numeric:tabular-nums}
.onboarding-runway li>div{display:grid;gap:.35rem;min-width:0}
.onboarding-runway small{color:var(--green-dark);font-size:.72rem;font-weight:800}
.onboarding-runway h3{margin:0;font-size:clamp(1.12rem,1.8vw,1.4rem);line-height:1.15;letter-spacing:-.025em}
.onboarding-runway li p{margin:0;color:var(--muted);font-size:.88rem}
.onboarding-runway li a{display:inline-flex;align-items:center;gap:.45rem;justify-self:start;min-height:44px;margin-top:.15rem;border-bottom:1px solid var(--ink);font-size:.82rem;font-weight:800}
.onboarding-runway li a:hover{border-color:var(--green-dark);color:var(--green-dark)}
.onboarding-runway li a span{color:currentColor}
.onboarding-support{display:grid;grid-template-columns:minmax(160px,.7fr) minmax(0,1.3fr);gap:1.25rem;padding:1.15rem 0;border-bottom:1px solid var(--ink)}
.onboarding-support strong{font-size:.9rem}
.onboarding-support p{margin:0;color:var(--muted);font-size:.84rem}
.onboarding-support a{font-weight:800;text-decoration:underline;text-underline-offset:.2em}

.pricing-section{scroll-margin-top:88px;background:#e8ede8}
.pricing-heading{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(2rem,7vw,7rem);align-items:end;margin-bottom:2.5rem}
.pricing-heading h2{max-width:11ch;scroll-margin-top:88px;font-size:clamp(2.8rem,4.7vw,4.35rem);font-weight:800}
.pricing-heading>p{max-width:46ch;margin:0;color:var(--muted);font-size:1.04rem}
.pricing-offer{display:grid;grid-template-columns:.82fr 1.18fr;gap:1px;border:1px solid var(--line);background:var(--line)}
.pricing-price-block{display:grid;align-content:center;justify-items:start;min-width:0;padding:clamp(1.5rem,3vw,2.75rem);background:var(--forest);color:#fff}
.pricing-price-block>span{color:var(--green);font-size:.78rem;font-weight:800}
.pricing-price{display:flex;align-items:baseline;gap:.45rem;margin:.55rem 0 .8rem;font-variant-numeric:tabular-nums}
.pricing-price strong{font-size:clamp(3.7rem,7vw,6rem);line-height:.85;letter-spacing:-.04em}
.pricing-price small{color:#cedbd3;font-size:1rem;font-weight:800}
.pricing-retention{max-width:30ch;margin:0 0 1.5rem;color:#cedbd3}
.pricing-price-block .button-primary:hover{background:#28d968}
.pricing-trial{max-width:34ch;margin-top:.75rem;color:#a9baaf;font-size:.76rem;line-height:1.4}
.pricing-terms{min-width:0;padding:clamp(1.5rem,3vw,2.75rem);background:#fff}
.pricing-terms dl{margin:0}
.pricing-terms dl div{display:grid;grid-template-columns:minmax(145px,.7fr) minmax(0,1.3fr);gap:1.25rem;padding:1rem 0;border-bottom:1px solid var(--line)}
.pricing-terms dl div:first-child{padding-top:0}
.pricing-terms dt{color:var(--muted);font-size:.84rem}
.pricing-terms dd{margin:0;font-weight:800;text-align:right}
.pricing-cancellation{margin:1.25rem 0 0;color:var(--muted);font-size:.84rem}
.pricing-boundary{margin:1rem 0 0;padding-top:1rem;border-top:1px solid var(--ink);font-size:.84rem;font-weight:800}

.faq-section{background:#f4f5f2;scroll-margin-top:84px}
.faq-grid{display:grid;grid-template-columns:minmax(260px,.48fr) minmax(0,1fr);gap:clamp(2rem,7vw,7rem);align-items:start}
.faq-grid h2{max-width:11ch}
.faq-intro{max-width:30ch;margin:1.35rem 0 0;color:var(--muted);font-size:1rem}
.faq-list{border-top:1px solid var(--ink)}
.faq-list details{border-bottom:1px solid var(--ink)}
.faq-list summary{min-height:64px;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 0;font-weight:800;cursor:pointer;list-style:none;transition:color 160ms var(--ease)}
.faq-list summary:hover{color:var(--green-dark)}
.faq-list summary::-webkit-details-marker{display:none}
.faq-list summary:after{content:"+";display:inline-grid;place-items:center;flex:0 0 28px;width:28px;height:28px;font-size:1.45rem;line-height:1;color:var(--green-dark)}
.faq-list details[open] summary:after{content:"−"}
.faq-list p{max-width:72ch;margin:0;padding:0 3.2rem 1.2rem 0;color:var(--muted)}
.faq-boundary summary{color:#074f25}
.faq-actions{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.8rem 1rem;margin-top:1.25rem;padding:1rem;background:var(--forest);color:#fff}
.faq-actions p{margin:0;color:#d6e2da;font-weight:800}
.faq-actions .button-primary:hover{background:#28d968}
.faq-actions .guide-link{display:inline-flex;align-items:center;min-height:44px;color:#d6e2da;font-size:.88rem;font-weight:800;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:.25em}
.faq-actions .guide-link:hover{color:#fff}

.final-cta{padding:clamp(4.25rem,8vw,7rem) 0;background:radial-gradient(circle at 82% 12%,#35ed7820 0 12%,transparent 34%),linear-gradient(180deg,var(--forest) 0%,#07120b 100%);color:#fff}
.final-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(310px,.52fr);align-items:end;gap:clamp(2rem,7vw,6rem)}
.final-grid h2{max-width:760px;margin:0;line-height:1.04}
.final-copy .signal-label{color:var(--green)}
.final-lead{max-width:58ch;margin:1.25rem 0 0;color:#d6e2da;font-size:clamp(1.02rem,1.3vw,1.18rem)}
.final-panel{padding:1.25rem;background:#f4f5f2;color:var(--ink)}
.final-proof-list{display:grid;gap:0;margin:0 0 1.15rem}
.final-proof-list div{display:grid;grid-template-columns:minmax(92px,.62fr) minmax(0,1.38fr);gap:1rem;padding:.82rem 0;border-bottom:1px solid var(--line)}
.final-proof-list div:first-child{padding-top:0}
.final-proof-list dt{color:var(--muted);font-size:.82rem}
.final-proof-list dd{margin:0;font-weight:800;text-align:right}
.final-panel .button-primary{width:100%}
.final-panel .button-primary:hover{background:#28d968}
.final-next-step{margin:1rem 0 0;color:#3d4941;font-size:.86rem}
.final-next-step a{display:inline-flex;align-items:center;min-height:44px;font-weight:800;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:.25em}
.final-next-step a:hover{color:var(--green-dark)}
.site-footer{padding:3rem 0 1.5rem;background:#07120b;color:#cbd7ce}
.footer-grid{display:grid;grid-template-columns:minmax(180px,.8fr) minmax(260px,1.8fr) minmax(180px,.7fr) minmax(220px,.8fr);gap:clamp(1.5rem,4vw,3rem);align-items:start}
.footer-grid p{margin:0}
.footer-brand strong,.footer-contact span,.footer-sitemap span{display:block;margin-bottom:.35rem;color:#fff;font-weight:800}
.footer-brand p,.footer-boundary{color:#cbd7ce}
.footer-nav{display:grid;gap:.15rem}
.footer-sitemap{grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem 1.5rem}
.footer-sitemap div{display:grid;align-content:start;gap:.05rem}
.footer-grid a{display:inline-flex;align-items:center;justify-self:start;min-height:44px;color:#dce8df;font-weight:700}
.footer-contact{font-style:normal}
.footer-boundary{max-width:34ch}
.prototype-note{width:var(--shell);margin:3rem auto 0;padding-top:1rem;border-top:1px solid #35483b;font-size:.76rem;color:#849489}

@media (hover:hover){
  .button:hover{transform:translateY(-2px)}
  .desktop-nav a:hover,.footer-grid a:hover{text-decoration:underline;text-underline-offset:4px}
}
@media (prefers-reduced-motion:no-preference){
  .route-theatre.is-running .route-progress{animation:route-progress 8s linear infinite}
  .route-theatre.is-running .route-pulse{animation:route-pulse 8s linear infinite}
  .route-theatre.is-running .sync-badge{animation:sync-pop 8s var(--ease) infinite}
  .route-theatre.is-running .ticket{animation:ticket-print 8s var(--ease) infinite}
  .route-theatre.is-running .order-token{animation:order-token 8s var(--ease) infinite}
  .route-theatre.is-running .device-toast{animation:device-toast 8s var(--ease) infinite}
  .route-theatre.is-running .offline-mark{animation:offline-mark 8s var(--ease) infinite}
  .route-theatre.is-running .laptop-screen{animation:laptop-sync 8s var(--ease) infinite}
  .route-theatre.is-running .ticket mark{animation:kitchen-stamp 8s var(--ease) infinite}
  .route-theatre.is-running .wifi-radius{animation:wifi-breathe 8s var(--ease) infinite}
  .route-theatre.is-paused *{animation-play-state:paused!important}
  @keyframes route-progress{0%,8%{stroke-dashoffset:1094}88%,100%{stroke-dashoffset:0}}
  @keyframes route-pulse{0%,8%{stroke-dashoffset:0;opacity:0}14%{opacity:1}84%{stroke-dashoffset:-1000;opacity:1}90%,100%{stroke-dashoffset:-1094;opacity:0}}
  @keyframes sync-pop{0%,42%,100%{transform:scale(.96);box-shadow:0 0 0 4px #35ed7810,0 8px 12px #0005}52%,68%{transform:scale(1.06);box-shadow:0 0 0 13px #35ed7826,0 8px 12px #0005}}
  @keyframes ticket-print{0%,70%{transform:translateY(-8px) rotate(1.5deg)}82%,100%{transform:translateY(0) rotate(1.5deg)}}
  @keyframes order-token{
    0%,12%{transform:translate3d(0,0,0);background:#ffb21a;border-color:#8b7130}
    40%{transform:translate3d(var(--token-x1),var(--token-y1),0);background:#ffb21a;border-color:#8b7130}
    58%{transform:translate3d(var(--token-x2),var(--token-y2),0);background:#35ed78;border-color:#1f8f46}
    88%,100%{transform:translate3d(var(--token-x3),var(--token-y3),0);background:#35ed78;border-color:#1f8f46}
  }
  @keyframes device-toast{0%,12%{opacity:0;transform:translate(-50%,8px)}20%,44%{opacity:1;transform:translate(-50%,0)}55%,100%{opacity:.72;transform:translate(-50%,0)}}
  @keyframes offline-mark{0%,38%{color:var(--amber);border-color:#856c2d}52%,100%{color:var(--green);border-color:#2f7650}}
  @keyframes laptop-sync{0%,46%,100%{box-shadow:0 30px 70px #0009,0 0 0 1px #35ed781a}56%,72%{box-shadow:0 30px 70px #0009,0 0 0 4px #35ed7866}}
  @keyframes kitchen-stamp{0%,76%{opacity:0;transform:translateY(-5px) rotate(-8deg) scale(.9)}86%,100%{opacity:1;transform:translateY(0) rotate(-8deg) scale(1)}}
  @keyframes wifi-breathe{0%,40%,100%{opacity:.64}52%,72%{opacity:1}}
}
@media (min-width:721px) and (max-width:1099px){
  .desktop-nav{display:none}
  .mobile-nav{display:block}
  .header-cta{margin-left:auto}
  .hero-grid{grid-template-columns:1fr}
  .route-scene{min-height:760px}
  .route-scene-label{max-width:640px}
  .route-svg-desktop{display:none}
  .route-svg-tablet{display:block}
  .order-token{--token-x1:24vw;--token-y1:70px;--token-x2:46vw;--token-y2:175px;--token-x3:calc(78vw - 90px);--token-y3:-8px;left:9%;top:38%}
  .wifi-radius{left:32%;top:26%;width:340px}
  .node-phone{left:2%;top:26%}
  .phone-frame{width:170px}
  .phone-frame img{height:290px}
  .sync-badge{left:40%;top:38%;width:88px;height:88px}
  .node-laptop{left:30%;top:52%;width:min(430px,56vw)}
  .laptop-screen img{height:245px}
  .node-kitchen{right:1%;top:23%;width:175px}
  .chip-offline{left:2%;top:18%}
  .chip-device{left:0;top:73%;z-index:7}
  .chip-local{left:39%;top:31%}
  .chip-ready{right:1%;top:18%}
  .proof-grid{grid-template-columns:1fr 1fr}
  .fit-grid,.qr-grid,.onboarding-grid,.pricing-grid,.faq-grid{grid-template-columns:1fr}
  .fit-grid{gap:2.75rem}
  .fit-grid h2{max-width:12ch;font-size:clamp(2.8rem,6vw,3.8rem)}
  .fit-lead{max-width:58ch}
  .qr-section{padding:4.5rem 0}
  .qr-grid{gap:3rem}
  .qr-copy{order:1}
  .qr-proof{order:2;justify-self:center;width:min(620px,100%);min-height:580px}
  .qr-phone img{height:540px}
  .qr-scan-card{top:4rem}
  .onboarding-grid{gap:3rem}
  .onboarding-copy h2{max-width:12ch;font-size:clamp(2.8rem,6vw,3.8rem)}
  .pricing-heading{grid-template-columns:1fr;gap:1rem}
  .pricing-heading h2{max-width:12ch;font-size:clamp(2.8rem,6vw,3.8rem)}
  .footer-grid{grid-template-columns:minmax(0,1fr) minmax(0,1.25fr);gap:2rem}
  .footer-sitemap{grid-template-columns:repeat(2,minmax(0,1fr))}
  .footer-boundary{max-width:none}
}
@media (max-width:720px){
  :root{--shell:min(100% - 1.25rem,1180px)}
  .site-header{min-height:64px;padding-inline:.75rem;gap:.5rem}
  .route-theatre{scroll-margin-top:64px}
  .fit-section{scroll-margin-top:72px}
  .brand span{display:none}
  .desktop-nav{display:none}
  .header-cta{font-size:.72rem;padding-inline:.65rem}
  .mobile-nav{display:block;order:3;margin-left:0}
  .hero-grid{gap:1rem;padding:2.15rem 0 1rem}
  .signal-label{font-size:.76rem}
  .hero h1{max-width:10.5ch;font-size:clamp(2.18rem,10.6vw,3.15rem);letter-spacing:-.028em}
  .hero-lead{max-width:35ch;margin-bottom:1rem;font-size:.98rem;line-height:1.48}
  .hero-actions{display:grid}
  .trial-line{margin-top:.65rem;font-size:.82rem;line-height:1.35}
  .offer-panel{display:grid;grid-template-columns:1fr auto;gap:.35rem .9rem;align-items:center;width:100%;margin-top:.25rem;padding:.82rem .9rem}
  .offer-panel strong{grid-row:1/3;grid-column:2;margin:0;font-size:1.85rem;text-align:right}
  .offer-panel span,.offer-panel p{grid-column:1;font-size:.72rem}
  .offer-panel p{max-width:24ch}
  .route-shell{padding:1.35rem 0 2.25rem}
  .route-scene{min-height:810px;padding:0;overflow:hidden}
  .route-scene:before{content:"";position:absolute;z-index:0;left:50%;top:12.5rem;width:72%;height:440px;border:1px solid #35ed7820;border-radius:50%;transform:translateX(-50%) rotate(-8deg);pointer-events:none}
  .route-scene-label{position:absolute;inset:0 auto auto 0;max-width:22rem}
  .route-scene-label strong{font-size:clamp(1.32rem,6vw,1.7rem)}
  .route-scene-label small{max-width:36ch;margin-top:.45rem;font-size:.74rem;line-height:1.35}
  .route-controls{top:8.45rem;right:auto;bottom:auto;left:0}
  .route-svg-desktop{display:none}
  .route-svg-tablet{display:block;inset:8.4rem -1rem auto;height:520px;width:calc(100% + 2rem);opacity:.95}
  .route-shadow{stroke-width:14}
  .route-line{stroke-width:4}
  .route-progress{stroke-width:5}
  .route-pulse{stroke-width:7}
  .venue-depth{display:block;inset:15.2rem -12% 4.5rem;opacity:.18}
  .wifi-radius{display:block;left:50%;top:18.25rem;width:210px;transform:translateX(-50%)}
  .order-token{--token-x1:74px;--token-y1:-126px;--token-x2:150px;--token-y2:-38px;--token-x3:224px;--token-y3:-170px;display:grid;left:3.35rem;top:29.3rem;width:38px;height:38px}
  .route-chip{position:absolute;min-height:31px;padding:.32rem .5rem;font-size:.68rem}
  .route-chip span{width:1.12rem;height:1.12rem;font-size:.6rem}
  .chip-offline{left:.15rem;top:11.55rem}
  .chip-device{left:.15rem;top:34.1rem}
  .chip-local{left:7.1rem;top:31.45rem}
  .chip-ready{right:.1rem;top:13.3rem}
  .node{position:absolute}
  .node figcaption{justify-content:center;margin-bottom:.42rem;font-size:.74rem}
  .node figcaption strong{font-size:.78rem}
  .node-phone{left:.15rem;top:16.1rem;width:145px}
  .phone-frame{width:132px;margin-inline:auto;padding:.3rem;border-width:6px;border-radius:18px}
  .phone-frame img{height:226px;border-radius:10px}
  .offline-mark{right:-.15rem;top:1.8rem;width:31px;height:31px}
  .device-toast{bottom:.55rem;max-width:calc(100% - .6rem);padding:.34rem .4rem;font-size:.58rem}
  .sync-badge{left:50%;top:27.6rem;width:66px;height:66px;transform:translateX(-50%)}
  .sync-icon{font-size:1.45rem}
  .node-laptop{left:5.9rem;top:36.2rem;width:calc(100% - 6rem)}
  .laptop-screen{padding:.35rem;border-width:7px;border-radius:10px}
  .laptop-screen img{height:145px}
  .laptop-base{height:10px;border-radius:0 0 10px 10px}
  .node-kitchen{right:.15rem;top:17.1rem;width:136px}
  .printer-frame{min-height:122px;padding:.7rem;border-radius:8px}
  .printer-top{height:36px}
  .ticket{width:82%;padding:.55rem}
  .ticket b,.ticket span{font-size:.58rem}
  .ticket mark{right:-10px;font-size:.48rem}
  .proof-grid{grid-template-columns:repeat(2,minmax(0,1fr));padding-block:.2rem}
  .proof-grid p,.proof-grid p:first-child{min-width:0;padding:.85rem .72rem;border-left:1px solid #2c4436}
  .proof-grid span{font-size:.66rem}
  .proof-grid strong{font-size:.82rem;line-height:1.15}
  .proof-grid small{display:none}
  .fit-grid,.qr-grid,.onboarding-grid,.pricing-grid,.faq-grid{grid-template-columns:1fr}
  .fit-section,.onboarding-section,.pricing-section,.faq-section{padding:2.85rem 0}
  .fit-grid{gap:1.65rem}
  .fit-grid h2{max-width:11ch;scroll-margin-top:80px;font-size:clamp(2.3rem,11vw,3.15rem);letter-spacing:-.03em}
  .fit-lead{margin-top:1.1rem;font-size:1rem}
  .fit-action{justify-items:stretch;margin-top:1.35rem}
  .fit-action small{text-align:center;justify-self:center}
  .fit-equipment{grid-template-columns:1fr;grid-template-rows:auto}
  .fit-host{grid-row:auto;min-height:230px}
  .fit-node{min-height:0;padding:1.35rem 1.2rem}
  .fit-boundary{gap:.75rem;margin-top:1rem}
  .qr-section{padding:2.85rem 0;scroll-margin-top:80px}
  .qr-grid{gap:1.6rem}
  .qr-grid h2{max-width:11ch;scroll-margin-top:80px;font-size:clamp(2.45rem,11.5vw,3.25rem);letter-spacing:-.03em}
  .qr-copy{order:1}
  .qr-lead{font-size:1rem}
  .qr-ledger{margin-top:1.35rem}
  .qr-ledger div{gap:.75rem;padding:.75rem 0}
  .qr-ledger dt,.qr-ledger dd{font-size:.82rem}
  .qr-actions{display:grid;gap:.75rem;margin-top:1.35rem}
  .qr-sample-link{justify-self:start}
  .qr-proof{order:2;justify-self:center;width:100%;min-height:405px}
  .qr-proof:before{inset:4% 0 7% 7%}
  .qr-phone{right:0;width:min(250px,76%);padding:.38rem;border-width:7px;border-radius:20px}
  .qr-phone img{height:365px;border-radius:12px}
  .qr-scan-card{left:0;top:2.5rem;width:145px;padding:.45rem;gap:.4rem;box-shadow:0 6px 7px #0005}
  .qr-scan-card strong{font-size:.86rem}
  .qr-scan-card small{font-size:.64rem}
  .qr-proof figcaption{left:0;bottom:0;max-width:18ch;font-size:.7rem}
  .onboarding-section{scroll-margin-top:80px}
  .onboarding-grid{gap:1.65rem}
  .onboarding-copy h2{max-width:11ch;scroll-margin-top:80px;font-size:clamp(2.4rem,11vw,3.15rem);letter-spacing:-.03em}
  .onboarding-copy>p:not(.signal-label){margin:1.1rem 0 1.35rem;font-size:1rem}
  .onboarding-runway li{grid-template-columns:48px minmax(0,1fr);gap:.8rem;padding:1rem 0}
  .onboarding-number{font-size:1.55rem}
  .onboarding-runway h3{font-size:1.08rem}
  .onboarding-runway li p{font-size:.84rem}
  .onboarding-support{grid-template-columns:1fr;gap:.35rem;padding:1rem 0}
  .pricing-section{scroll-margin-top:80px}
  .pricing-heading{grid-template-columns:1fr;gap:.8rem;margin-bottom:2rem}
  .pricing-heading h2{max-width:11ch;scroll-margin-top:80px;font-size:clamp(2.4rem,11vw,3.15rem);letter-spacing:-.03em}
  .pricing-heading>p{font-size:1rem}
  .pricing-offer{grid-template-columns:1fr}
  .pricing-price-block,.pricing-terms{padding:1.35rem 1.2rem}
  .pricing-price strong{font-size:clamp(3.5rem,18vw,4.7rem)}
  .pricing-price-block .button-primary{width:100%}
  .pricing-trial{justify-self:center;text-align:center}
  .pricing-terms dl div{grid-template-columns:1fr;gap:.3rem;padding:.85rem 0}
  .pricing-terms dd{text-align:left}
  .faq-section{scroll-margin-top:80px}
  .faq-grid{gap:1.35rem}
  .faq-intro{margin-top:.8rem}
  .faq-list summary{min-height:54px;padding:.8rem 0;font-size:.92rem}
  .faq-list p{font-size:.9rem;line-height:1.48}
  .faq-list p{padding-right:0}
  .faq-actions{display:grid;justify-items:start;padding:1rem}
  .faq-actions .button-primary{width:100%}
  .final-cta{padding:2.85rem 0}
  .final-grid{display:grid;grid-template-columns:1fr;gap:2rem}
  .final-grid h2{font-size:clamp(2.35rem,11vw,3.15rem);letter-spacing:-.03em}
  .final-lead{font-size:1rem}
  .final-panel{padding:1rem}
  .final-proof-list div{grid-template-columns:1fr;gap:.3rem;padding:.75rem 0}
  .final-proof-list dd{text-align:left}
  .site-footer{padding:2rem 0 1rem}
  .footer-grid{grid-template-columns:1fr;gap:1rem}
  .footer-sitemap{grid-template-columns:1fr 1fr;gap:.5rem 1rem}
  .footer-grid a{min-height:34px;font-size:.86rem}
  .footer-sitemap div:nth-child(3){grid-column:1/-1}
  .footer-nav{gap:0}
  .footer-boundary{max-width:none}
  body .pospal-consent-banner{right:6px;bottom:6px;width:min(360px,calc(100% - 12px));padding:7px 8px;border-radius:9px}
  body .pospal-consent-title{margin-bottom:2px;font-size:.8rem;line-height:1.1}
  body .pospal-consent-text{font-size:.68rem;line-height:1.18}
  body .pospal-consent-actions{display:grid;grid-template-columns:1fr 1fr 1fr;gap:5px;margin-top:6px}
  body .pospal-consent-btn{min-height:34px;padding:5px 7px;font-size:.68rem}
}
@media (max-width:380px){
  .header-cta{display:inline-flex}
  .mobile-nav summary{padding-inline:.65rem}
  .hero h1{font-size:2.04rem}
  .offer-panel{width:100%}
  .route-scene{min-height:780px}
  .route-svg-tablet{height:500px}
  .node-phone{width:130px}
  .phone-frame{width:118px}
  .phone-frame img{height:205px}
  .node-kitchen{width:124px}
  .node-laptop{top:35.3rem}
  .laptop-screen img{height:126px}
  .chip-local{left:5.8rem}
  .chip-ready{top:13.6rem}
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
  .route-controls{display:none}
}
@media print{
  .site-header,.hero-actions,.route-controls,.final-cta,.prototype-note{display:none}
  .hero,.proof-band,.qr-section,.final-cta,.site-footer{background:#fff;color:#000}
  .hero:before{display:none}
}
html.no-js .route-controls{display:none}
