/* Layout: one 1200px column, quiet paper ground, one dark driver band. Flat fills, hairline borders, no gradients. */
body{margin:0;background:#F7F5F0}
html{scroll-behavior:smooth}
a{color:#181714}a:hover{color:#514E48}
.rt{--ease:cubic-bezier(.23,1,.32,1);--ease-io:cubic-bezier(.77,0,.175,1);font-family:'Geist',ui-sans-serif,system-ui,-apple-system,'Segoe UI',sans-serif;color:#181714;background:#F7F5F0;-webkit-font-smoothing:antialiased;font-size:16px;line-height:1.5;overflow-x:clip}
.rt *{box-sizing:border-box}
.rt ::selection{background:#FF6B35;color:#181714}
.logo-swap{position:relative;width:30px;height:30px;display:block;flex:none}
.logo-swap svg{position:absolute;inset:0;width:100%;height:100%;transition:opacity 280ms var(--ease),transform 420ms var(--ease)}
.lg-off{opacity:0;transform:scale(.8) rotate(-12deg)}
.disp{font-family:'Instrument Sans','Geist',ui-sans-serif,system-ui,sans-serif;font-weight:700;letter-spacing:-.03em}

/* Hero phones: coded copies of the Route User and Route Driver screens */
.hphone{width:100%;max-width:360px;border-radius:50px;background:#181714;padding:9px;box-shadow:0 1px 0 #3A3632 inset,0 40px 80px -40px rgba(24,23,20,.55)}
.hscreen{position:relative;height:740px;border-radius:42px;overflow:hidden;display:flex;flex-direction:column}
@media (max-width:420px){.hscreen{height:700px}}
.hcircle{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;flex:none;font-size:15px}
.hcard{background:#fff;border-radius:22px;box-shadow:0 1px 2px rgba(24,23,20,.04)}
.ph{position:absolute;inset:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;animation:swap 520ms var(--ease) both}
.ph.is-hidden{display:none}
.chip-btn{appearance:none;border:0;background:#F0EBE3;border-radius:999px;height:36px;padding:0 12px;display:inline-flex;align-items:center;gap:6px;font:inherit;font-size:13px;font-weight:500;color:#181714;cursor:pointer;transition:transform 160ms var(--ease),background-color 200ms var(--ease)}
.chip-btn:active{transform:scale(.96)}
.mini-pill{appearance:none;border:0;background:#fff;color:#135E57;border-radius:999px;height:40px;padding:0 16px;font:inherit;font-size:14px;font-weight:600;cursor:pointer;transition:transform 160ms var(--ease)}
.mini-pill:active{transform:scale(.96)}
.halo{position:absolute;left:-30px;top:-30px;width:60px;height:60px;border-radius:50%;opacity:.28;animation:halo 2.6s var(--ease) infinite}
.halo-on{animation-duration:1.6s}
.halo-b{animation-delay:.8s}
@keyframes halo{0%{transform:scale(.55);opacity:.4}100%{transform:scale(1.7);opacity:0}}
.dk-card{appearance:none;border:0;text-align:left;font:inherit;cursor:pointer;text-decoration:none;background:#1E1B18;color:#fff;border-radius:20px;padding:12px;display:flex;flex-direction:column;gap:3px;transition:transform 160ms var(--ease)}
.dk-card:active{transform:scale(.97)}
a.dk-card:hover{color:#fff}
.dk-ic{width:32px;height:32px;border-radius:10px;background:#2E2A26;display:grid;place-items:center;margin-bottom:6px}
.htab{display:flex;flex-direction:column;align-items:center;gap:3px;font-size:11px;color:#8D8A82}
.htab.on{color:#181714;font-weight:500}
.dchk{display:flex;gap:12px;align-items:center;padding:10px 0}
.dchk-ic{width:28px;height:28px;border-radius:50%;background:#1F3A35;display:grid;place-items:center;flex:none}
.go-btn{appearance:none;border:0;width:100%;height:54px;border-radius:999px;font:inherit;font-size:17px;font-weight:600;cursor:pointer;transition:transform 160ms var(--ease),background-color 260ms var(--ease),color 260ms var(--ease)}
.go-btn:active{transform:scale(.97)}
.go-btn.off{background:#FF6B35;color:#181714}
.go-btn.on{background:#2E2A26;color:#F5F4F0}
.seg.sm .seg-btn{height:32px;padding:0 12px;font-size:13px}
.mark-path{stroke-dasharray:1;stroke-dashoffset:0;animation:draw 900ms var(--ease) 150ms both}
@keyframes draw{from{stroke-dashoffset:1}to{stroke-dashoffset:0}}
.wrap{max-width:1200px;margin:0 auto;padding-left:max(20px,env(safe-area-inset-left,0px));padding-right:max(20px,env(safe-area-inset-right,0px))}
.mono{font-family:'Geist Mono',ui-monospace,'SF Mono',Menlo,monospace;font-variant-numeric:tabular-nums}
.num{font-variant-numeric:tabular-nums}
.eyebrow{font-family:'Geist Mono',ui-monospace,monospace;font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:#5E5B54}
.h1{font-family:'Instrument Sans','Geist',ui-sans-serif,system-ui,sans-serif;font-size:clamp(44px,6.2vw,82px);line-height:.98;letter-spacing:-.04em;font-weight:700;margin:0;text-wrap:balance}
.h2{font-family:'Instrument Sans','Geist',ui-sans-serif,system-ui,sans-serif;font-size:clamp(32px,4vw,52px);line-height:1.04;letter-spacing:-.035em;font-weight:700;margin:0;text-wrap:balance}
.h3{font-family:'Instrument Sans','Geist',ui-sans-serif,system-ui,sans-serif;font-size:20px;line-height:1.25;letter-spacing:-.015em;font-weight:600;margin:0}
.lead{font-size:clamp(17px,1.6vw,19px);line-height:1.55;color:#514E48;margin:0;max-width:56ch;text-wrap:pretty}
.body{color:#514E48;margin:0;text-wrap:pretty}
.section{padding-block:clamp(72px,10vw,128px)}
:focus-visible{outline:2px solid #181714;outline-offset:3px;border-radius:8px}

/* Buttons: press to 0.97, ease-out, under 200ms */
.btn{appearance:none;border:0;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:8px;height:48px;padding:0 20px;border-radius:999px;font:inherit;font-size:15px;font-weight:500;text-decoration:none;white-space:nowrap;transition:transform 160ms var(--ease),background-color 200ms var(--ease),color 200ms var(--ease),box-shadow 200ms var(--ease);-webkit-tap-highlight-color:transparent;user-select:none}
.btn:active{transform:scale(.97)}
.btn-ink{background:#181714;color:#fff}
.btn-accent{background:#FF6B35;color:#181714}
.btn-ghost{background:transparent;color:#181714;box-shadow:inset 0 0 0 1px #D2D6CF}
.btn-light{background:#fff;color:#181714}
.btn-darkghost{background:transparent;color:#fff;box-shadow:inset 0 0 0 1px #3A403B}
.btn-sm{height:38px;padding:0 14px;font-size:14px}
.btn .arr{transition:transform 200ms var(--ease)}
@media (hover:hover) and (pointer:fine){
  .btn-ink:hover{background:#302E2A;color:#fff}
  .btn-accent:hover{background:#F25A22;color:#181714}
  .btn-ghost:hover{background:#fff;color:#181714}
  .btn-light:hover{background:#E9ECE6;color:#181714}
  .btn-darkghost:hover{background:#1C201D;color:#fff}
  .btn:hover .arr{transform:translateX(3px)}
  .navlink:hover{color:#181714;background:#E9ECE6}
  .feat:hover{border-color:#C7CCC4;transform:translateY(-2px)}
  .faq-q:hover{color:#514E48}
  .step-btn:hover .step-t{color:#181714}
}

/* Nav */
.nav{position:sticky;top:env(safe-area-inset-top,0px);z-index:40;background:rgba(244,245,242,.86);backdrop-filter:saturate(1.4) blur(12px);-webkit-backdrop-filter:saturate(1.4) blur(12px);border-bottom:1px solid #E5E2DB}
.navlink{font-size:14px;color:#514E48;text-decoration:none;padding:8px 12px;border-radius:999px;transition:color 160ms var(--ease),background-color 160ms var(--ease)}
@media (max-width:880px){.navlinks{display:none!important}}

/* Segmented control with a sliding pill */
.seg{position:relative;display:inline-grid;grid-auto-flow:column;grid-auto-columns:1fr;padding:4px;border-radius:999px;background:#F0EBE3;isolation:isolate}
.seg-pill{position:absolute;top:4px;bottom:4px;left:4px;border-radius:999px;background:#fff;box-shadow:0 1px 2px rgba(24,23,20,.08),0 2px 8px rgba(24,23,20,.06);transition:transform 380ms var(--ease);z-index:-1}
.seg-btn{appearance:none;border:0;background:transparent;font:inherit;font-size:14px;font-weight:500;color:#5E5B54;height:40px;padding:0 18px;border-radius:999px;cursor:pointer;transition:color 200ms var(--ease);white-space:nowrap}
.seg-btn.is-on{color:#181714}
.seg-btn:disabled{color:#A9AFA8;cursor:not-allowed}
.seg.dark{background:#1C201D}
.seg.dark .seg-pill{background:#F7F5F0}
.seg.dark .seg-btn{color:#A3ABA4}
.seg.dark .seg-btn.is-on{color:#181714}
.seg.dark .seg-btn:disabled{color:#555C56}

/* Swap-in: short blur + rise, masks the content change */
.swap{animation:swap 460ms var(--ease) both}
@keyframes swap{from{opacity:0;transform:translateY(8px);filter:blur(6px)}to{opacity:1;transform:none;filter:blur(0)}}

/* Scroll reveal: sections rest visible; only the motion is tied to scroll */
@supports (animation-timeline: view()){
  .reveal{animation:reveal linear both;animation-timeline:view();animation-range:entry 0% cover 28%}
}
@keyframes reveal{from{opacity:.3;transform:translateY(28px)}to{opacity:1;transform:none}}

/* Hero */
.hero-grid{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);gap:clamp(40px,6vw,88px);align-items:center}
@media (max-width:960px){.hero-grid{grid-template-columns:minmax(0,1fr)}}
.card{background:#fff;border:1px solid #E5E2DB;border-radius:24px}
.live-dot{width:8px;height:8px;border-radius:50%;background:#1A6B61;box-shadow:0 0 0 0 rgba(26,107,97,.5);animation:pulse 2s var(--ease) infinite}
@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(26,107,97,.45)}70%{box-shadow:0 0 0 8px rgba(26,107,97,0)}100%{box-shadow:0 0 0 0 rgba(26,107,97,0)}}
.pin{display:grid;place-items:center;width:44px;height:52px;border-radius:12px;background:#F7F5F0;border:1px solid #E5E2DB;font-family:'Geist Mono',ui-monospace,monospace;font-size:24px;font-weight:500}
.pin:nth-child(1){animation:pinin 500ms var(--ease) 120ms both}
.pin:nth-child(2){animation:pinin 500ms var(--ease) 180ms both}
.pin:nth-child(3){animation:pinin 500ms var(--ease) 240ms both}
.pin:nth-child(4){animation:pinin 500ms var(--ease) 300ms both}
@keyframes pinin{from{opacity:0;transform:translateY(6px) scale(.96)}to{opacity:1;transform:none}}
.toggle{appearance:none;border:0;cursor:pointer;width:52px;height:30px;border-radius:999px;padding:3px;background:#C9CEC6;transition:background-color 240ms var(--ease);display:flex}
.toggle.is-on{background:#1A6B61}
.knob{width:24px;height:24px;border-radius:50%;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.2);transition:transform 320ms var(--ease)}
.toggle.is-on .knob{transform:translateX(22px)}
.toggle:active .knob{width:28px}
.toggle.is-on:active .knob{transform:translateX(18px)}
.bar{height:6px;border-radius:999px;background:#ECEEE9;overflow:hidden}
.bar>span{display:block;height:100%;border-radius:999px;background:#181714;transform-origin:left;animation:grow 1100ms var(--ease) 200ms both}
@keyframes grow{from{transform:scaleX(0)}to{transform:scaleX(1)}}

/* Facts */
.facts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid #E5E2DB;border-bottom:1px solid #E5E2DB}
.fact{padding:22px 20px;display:flex;gap:12px;align-items:center;border-left:1px solid #E5E2DB;font-size:15px;font-weight:500}
.fact:first-child{border-left:0;padding-left:0}
@media (max-width:900px){.facts{grid-template-columns:repeat(2,minmax(0,1fr))}.fact{border-left:0;padding-left:0}.fact:nth-child(-n+2){border-bottom:1px solid #E5E2DB}}
@media (max-width:480px){.facts{grid-template-columns:minmax(0,1fr)}.fact{border-bottom:1px solid #E5E2DB}.fact:last-child{border-bottom:0}}
.ico{flex:none;width:36px;height:36px;border-radius:10px;display:grid;place-items:center;background:#F0EBE3;color:#181714}

/* Ride flow */
.flow-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,420px);gap:clamp(32px,6vw,80px);align-items:center}
@media (max-width:900px){.flow-grid{grid-template-columns:minmax(0,1fr)}}
.steps{display:flex;flex-direction:column}
.step-btn{appearance:none;background:transparent;border:0;text-align:left;font:inherit;color:inherit;cursor:pointer;display:grid;grid-template-columns:40px minmax(0,1fr);gap:4px 16px;padding:20px 0;border-top:1px solid #E5E2DB;position:relative}
.step-btn:last-child{border-bottom:1px solid #E5E2DB}
.step-n{font-family:'Geist Mono',ui-monospace,monospace;font-size:13px;color:#8A918A;padding-top:3px;transition:color 200ms var(--ease)}
.step-t{font-size:19px;font-weight:600;letter-spacing:-.015em;color:#8A918A;transition:color 240ms var(--ease)}
.step-d{grid-column:2;color:#514E48;font-size:15px;display:grid;grid-template-rows:0fr;transition:grid-template-rows 360ms var(--ease),opacity 260ms var(--ease);opacity:0}
.step-d>span{overflow:hidden}
.step-btn.is-on .step-t,.step-btn.is-on .step-n{color:#181714}
.step-btn.is-on .step-d{grid-template-rows:1fr;opacity:1}
.step-track{position:absolute;left:0;right:0;top:-1px;height:1px;background:transparent;overflow:hidden}
.step-fill{display:block;height:100%;background:#181714;transform:scaleX(0);transform-origin:left}
.step-btn.is-on.auto .step-fill{animation:fill 4000ms linear both}
.step-btn.is-on.held .step-fill{transform:scaleX(1);transition:transform 300ms var(--ease)}
@keyframes fill{to{transform:scaleX(1)}}
.phone{width:100%;max-width:340px;margin:0 auto;aspect-ratio:9/17.5;border-radius:44px;background:#181714;padding:10px;box-shadow:0 1px 0 #2C312D inset,0 30px 60px -30px rgba(24,23,20,.45)}
.screen{width:100%;height:100%;border-radius:36px;background:#F7F5F0;overflow:hidden;position:relative;display:flex;flex-direction:column}
.scr{display:flex;flex-direction:column;gap:14px;padding:22px 18px 18px;flex:1;animation:swap 460ms var(--ease) both}
.scr.is-hidden{display:none}
.map{flex:1;min-height:120px;border-radius:20px;background:#F0EBE3;position:relative;overflow:hidden}
.kv{display:flex;justify-content:space-between;gap:12px;font-size:14px;padding:10px 0;border-top:1px solid #E5E2DB}
.kv:first-child{border-top:0}
.kv b{font-weight:500}

/* WhatsApp booking */
.wa{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,420px);gap:clamp(32px,6vw,80px);align-items:center;background:#fff;border:1px solid #E5E2DB;border-radius:32px;padding:clamp(24px,5vw,56px)}
@media (max-width:900px){.wa{grid-template-columns:minmax(0,1fr)}}
.wa-dot{width:8px;height:8px;border-radius:50%;background:#1A6B61}
.num-card{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;padding:18px 20px;border-radius:20px;background:#F7F5F0;border:1px solid #E5E2DB}
.wa-steps{margin:0;padding-left:22px;display:flex;flex-direction:column;gap:8px;color:#514E48;font-size:15px}
.wa-steps b{color:#181714;font-weight:600}
.chat{width:100%;max-width:380px;border-radius:28px;overflow:hidden;background:#EFE9DF;border:1px solid #E5E2DB;box-shadow:0 30px 60px -36px rgba(24,23,20,.35);display:flex;flex-direction:column}
.chat-top{display:flex;align-items:center;gap:12px;padding:14px 16px;background:#181714;color:#F5F4F0}
.chat-body{height:440px;padding:16px 14px;display:flex;flex-direction:column;justify-content:flex-end;gap:8px;overflow:hidden}
.bub{max-width:82%;padding:9px 12px 18px;border-radius:16px;font-size:14px;line-height:1.4;position:relative;animation:bub 380ms var(--ease) both;box-shadow:0 1px 1px rgba(24,23,20,.06)}
.bub.me{align-self:flex-end;background:#DCEBE7;color:#0F2E2A;border-bottom-right-radius:6px;transform-origin:bottom right}
.bub.rt{align-self:flex-start;background:#fff;color:#181714;border-bottom-left-radius:6px;transform-origin:bottom left}
.bub.is-hidden{display:none}
@keyframes bub{from{opacity:0;transform:translateY(8px) scale(.96)}to{opacity:1;transform:none}}
.bub-time{position:absolute;right:10px;bottom:4px;font-size:10px;color:#8D8A82;font-family:'Geist Mono',ui-monospace,monospace}
.pin-msg{display:flex;align-items:center;gap:6px;font-weight:600;margin-bottom:4px}
.typing{display:flex;gap:4px;padding:12px 14px}
.typing i{width:6px;height:6px;border-radius:50%;background:#A9A59D;animation:dot 1s ease-in-out infinite}
.typing i:nth-child(2){animation-delay:.15s}.typing i:nth-child(3){animation-delay:.3s}
@keyframes dot{0%,60%,100%{transform:none;opacity:.5}30%{transform:translateY(-3px);opacity:1}}
.chat-input{display:flex;justify-content:space-between;align-items:center;margin:0 10px 12px;padding:8px 8px 8px 16px;border-radius:999px;background:#fff;color:#8D8A82;font-size:14px}
.chat-send{width:34px;height:34px;border-radius:50%;background:#1A6B61;color:#fff;display:grid;place-items:center}

/* Features */
.g3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
@media (max-width:900px){.g3{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:600px){.g3{grid-template-columns:minmax(0,1fr)}}
.feat{background:#fff;border:1px solid #E5E2DB;border-radius:20px;padding:24px;display:flex;flex-direction:column;gap:12px;transition:border-color 200ms var(--ease),transform 300ms var(--ease)}

/* Fleet */
.fleet-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:clamp(32px,5vw,72px);align-items:center}
@media (max-width:900px){.fleet-grid{grid-template-columns:minmax(0,1fr)}}
.stage{background:#fff;border:1px solid #E5E2DB;border-radius:28px;aspect-ratio:16/11;max-width:100%;display:grid;place-items:center;position:relative;overflow:hidden}
.stage svg{width:78%;height:auto}
.road{position:absolute;left:0;right:0;bottom:22%;height:1px;background:repeating-linear-gradient(90deg,#C9CEC6 0 14px,transparent 14px 26px);animation:road 900ms linear infinite}
@keyframes road{to{background-position:-26px 0}}
.drive-in{animation:drivein 700ms var(--ease) both}
@keyframes drivein{from{opacity:0;transform:translateX(-36px)}to{opacity:1;transform:none}}
.wheel{transform-box:fill-box;transform-origin:center;animation:spin 900ms linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}
.tags{display:flex;flex-wrap:wrap;gap:8px}
.tag{font-size:13px;padding:6px 12px;border-radius:999px;background:#F0EBE3;color:#2D332E}
.tag.ev{background:#DCEBE7;color:#0F544C}

/* Driver band */
.dark{background:#181714;color:#F5F4F0}
.dark .eyebrow{color:#A3ABA4}
.dark .lead,.dark .body{color:#BBB7AF}
.paths{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
@media (max-width:900px){.paths{grid-template-columns:minmax(0,1fr)}}
.path{background:#1F1E1A;border:1px solid #302E2A;border-radius:22px;padding:28px;display:flex;flex-direction:column;gap:14px}
.calc{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:0;border:1px solid #302E2A;border-radius:28px;overflow:hidden;background:#1C1B18}
@media (max-width:900px){.calc{grid-template-columns:minmax(0,1fr)}}
.calc-in{padding:clamp(24px,4vw,40px);display:flex;flex-direction:column;gap:26px;border-right:1px solid #302E2A}
@media (max-width:900px){.calc-in{border-right:0;border-bottom:1px solid #302E2A}}
.calc-out{padding:clamp(24px,4vw,40px);display:flex;flex-direction:column;gap:18px;background:#F7F5F0;color:#181714}
.field{display:flex;flex-direction:column;gap:12px}
.field-top{display:flex;justify-content:space-between;align-items:baseline;gap:12px;font-size:14px;color:#BBB7AF}
.field-top output{color:#fff;font-family:'Geist Mono',ui-monospace,monospace;font-size:15px}
.range{-webkit-appearance:none;appearance:none;width:100%;height:28px;background:transparent;cursor:pointer;margin:0}
.range::-webkit-slider-runnable-track{height:4px;border-radius:999px;background:#2E342F}
.range::-moz-range-track{height:4px;border-radius:999px;background:#2E342F}
.range::-moz-range-progress{height:4px;border-radius:999px;background:#F7F5F0}
.range::-webkit-slider-thumb{-webkit-appearance:none;width:22px;height:22px;border-radius:50%;background:#F7F5F0;margin-top:-9px;box-shadow:0 0 0 0 rgba(244,245,242,.15);transition:box-shadow 200ms var(--ease),transform 160ms var(--ease)}
.range::-moz-range-thumb{width:22px;height:22px;border:0;border-radius:50%;background:#F7F5F0}
.range:active::-webkit-slider-thumb{transform:scale(1.12);box-shadow:0 0 0 8px rgba(244,245,242,.12)}
.line{display:flex;justify-content:space-between;gap:16px;padding:12px 0;border-top:1px solid #DCE0D9;font-size:15px}
.line:first-of-type{border-top:0}
.line .v{font-family:'Geist Mono',ui-monospace,monospace;font-variant-numeric:tabular-nums}
.neg{color:#8A3B12}
.total{font-size:clamp(40px,5vw,60px);font-weight:600;letter-spacing:-.04em;line-height:1;font-variant-numeric:tabular-nums}

/* Plans */
.plans{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
@media (max-width:1100px){.plans{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:600px){.plans{grid-template-columns:minmax(0,1fr)}}
.contact{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px;padding-block:40px;border-bottom:1px solid #E5E2DB}
@media (max-width:900px){.contact{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:520px){.contact{grid-template-columns:minmax(0,1fr)}}
.contact-v{font-size:15px;color:#181714;user-select:all;word-break:break-word}
.copy{appearance:none;border:0;background:#F0EBE3;color:#181714;border-radius:999px;height:30px;padding:0 12px;font:inherit;font-size:12px;font-weight:500;cursor:pointer;align-self:flex-start;transition:transform 160ms var(--ease)}
.copy:active{transform:scale(.95)}
.plan{background:#fff;border:1px solid #E5E2DB;border-radius:22px;padding:26px;display:flex;flex-direction:column;gap:16px}
.plan.feature{border-color:#181714;box-shadow:0 0 0 1px #181714}
.price{font-size:44px;font-weight:600;letter-spacing:-.04em;line-height:1;font-variant-numeric:tabular-nums}
.price.swap{animation:swap 360ms var(--ease) both}
.was{font-family:'Geist Mono',ui-monospace,monospace;font-size:13px;color:#5E5B54}

/* Safety */
.safety{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(32px,6vw,88px)}
@media (max-width:900px){.safety{grid-template-columns:minmax(0,1fr)}}
.s-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 32px}
@media (max-width:600px){.s-list{grid-template-columns:minmax(0,1fr)}}
.s-item{padding:22px 0;border-top:1px solid #E5E2DB;display:flex;flex-direction:column;gap:6px}

/* FAQ */
.faq{display:flex;flex-direction:column;border-top:1px solid #E5E2DB}
.faq-item{border-bottom:1px solid #E5E2DB}
.faq-q{appearance:none;border:0;background:transparent;width:100%;text-align:left;font:inherit;font-size:clamp(17px,1.8vw,20px);font-weight:500;letter-spacing:-.01em;color:#181714;padding:22px 0;display:flex;justify-content:space-between;align-items:center;gap:24px;cursor:pointer;transition:color 160ms var(--ease)}
.faq-ic{flex:none;width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:#F0EBE3;transition:transform 360ms var(--ease),background-color 200ms var(--ease)}
.faq-item.is-open .faq-ic{transform:rotate(45deg);background:#181714;color:#fff}
.faq-a{display:grid;grid-template-rows:0fr;transition:grid-template-rows 380ms var(--ease)}
.faq-item.is-open .faq-a{grid-template-rows:1fr}
.faq-a>div{overflow:hidden}
.faq-a p{margin:0;padding:0 48px 24px 0;color:#514E48;max-width:70ch;opacity:0;transform:translateY(-4px);transition:opacity 240ms var(--ease),transform 300ms var(--ease)}
.faq-item.is-open .faq-a p{opacity:1;transform:none;transition-delay:80ms}

/* Join */
.join{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(32px,6vw,80px);align-items:end}
@media (max-width:900px){.join{grid-template-columns:minmax(0,1fr)}}
.form{display:flex;flex-direction:column;gap:14px}
.input-row{display:flex;gap:8px;background:#fff;border:1px solid #D2D6CF;border-radius:999px;padding:5px 5px 5px 20px;transition:border-color 200ms var(--ease),box-shadow 200ms var(--ease)}
.input-row:focus-within{border-color:#181714;box-shadow:0 0 0 4px rgba(24,23,20,.06)}
.input-row.bad{border-color:#B4231B;box-shadow:0 0 0 4px rgba(180,35,27,.08)}
.input-row input{flex:1;min-width:0;border:0;outline:0;background:transparent;font:inherit;font-size:16px;color:#181714}
.input-row input::placeholder{color:#8A918A}
.err{color:#B4231B;font-size:14px;margin:0}
.shake-a{animation:shakeA 380ms var(--ease)}
.shake-b{animation:shakeB 380ms var(--ease)}
@keyframes shakeA{0%,100%{transform:none}20%{transform:translateX(-6px)}40%{transform:translateX(5px)}60%{transform:translateX(-3px)}80%{transform:translateX(2px)}}
@keyframes shakeB{0%,100%{transform:none}20%{transform:translateX(-6px)}40%{transform:translateX(5px)}60%{transform:translateX(-3px)}80%{transform:translateX(2px)}}
@media (max-width:480px){.input-row{flex-direction:column;border-radius:20px;padding:12px}.input-row input{height:40px}.input-row .btn{width:100%}}

/* Toasts (stacked, newest in front) */
.toasts{position:fixed;right:max(20px,env(safe-area-inset-right,0px));bottom:calc(20px + env(safe-area-inset-bottom,0px));width:min(360px,calc(100vw - 40px));height:0;z-index:80}
.toast{position:absolute;right:0;bottom:0;width:100%;transition:transform 420ms var(--ease),opacity 320ms var(--ease);transform-origin:bottom center}
.toast-in{background:#181714;color:#F5F4F0;border-radius:16px;padding:14px 16px;display:flex;gap:12px;align-items:flex-start;box-shadow:0 12px 32px -12px rgba(24,23,20,.5);animation:toastin 420ms var(--ease) both}
@keyframes toastin{from{opacity:0;transform:translateY(100%)}to{opacity:1;transform:none}}
.toast-x{appearance:none;border:0;background:#262B27;color:#BBB7AF;width:26px;height:26px;border-radius:50%;display:grid;place-items:center;cursor:pointer;flex:none;transition:transform 160ms var(--ease)}
.toast-x:active{transform:scale(.9)}

/* Bottom sheet */
.ov{position:fixed;inset:0;background:rgba(24,23,20,.42);z-index:90;transition:opacity 300ms var(--ease)}
.sheet{position:fixed;left:0;right:0;bottom:0;z-index:91;margin:0 auto;max-width:560px;background:#F7F5F0;border-radius:28px 28px 0 0;padding:12px max(20px,env(safe-area-inset-right,0px)) calc(28px + env(safe-area-inset-bottom,0px)) max(20px,env(safe-area-inset-left,0px));transition:transform 500ms cubic-bezier(.32,.72,0,1);box-shadow:0 -12px 40px -12px rgba(24,23,20,.3)}
.handle{width:40px;height:5px;border-radius:999px;background:#C9CEC6;margin:0 auto 18px}
.app-row{display:flex;gap:14px;align-items:center;background:#fff;border:1px solid #E5E2DB;border-radius:18px;padding:16px}
.app-ic{width:48px;height:48px;border-radius:14px;display:grid;place-items:center;flex:none}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .rt *,.rt *::before,.rt *::after{animation-duration:1ms!important;animation-iteration-count:1!important;transition-duration:1ms!important}
  .reveal{animation:none!important}
  .wheel,.road{animation:none!important}
}
/* Site additions: hidden panels stay hidden; the closed sheet leaves the tab order. */
[hidden]{display:none!important}
.sheet[inert]{visibility:hidden;transition:transform 500ms cubic-bezier(.32,.72,0,1),visibility 0s 500ms}
.btn[disabled]{opacity:.6;cursor:progress}
.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}
