:root{
  --paper:#FFFFFF;--canvas:#FAFAF8;--surface:#F2F2EE;--border:#E7E7E2;--mute:#9C9C95;--ink-2:#5C5C58;--ink:#0A0A0A;
  --plum:oklch(.50 .065 355);--plum-700:oklch(.40 .07 355);--plum-50:oklch(.96 .015 355);--plum-200:oklch(.78 .05 355);
  --blush-50:oklch(.97 .015 30);--sand-50:oklch(.96 .022 85);
  --gut:128px;--t:220ms cubic-bezier(.2,.7,.3,1);--t-fast:140ms cubic-bezier(.2,.7,.3,1);
}
*{box-sizing:border-box}
html{overflow-x:clip}
html,body{margin:0;padding:0;background:var(--canvas)}
body{font-family:'Geist',-apple-system,system-ui,sans-serif;color:var(--ink);font-size:16px;line-height:1.5;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
img{display:block;max-width:100%}
a{color:var(--ink);text-decoration:none}
a:hover{color:var(--plum)}
.mono{font-family:'Geist Mono',monospace;text-transform:uppercase;letter-spacing:.16em;font-size:11px}
.display{font-family:'Geist',-apple-system,sans-serif;font-weight:600;letter-spacing:-.04em;line-height:.9}
.wrap{padding:0 var(--gut)}
.arrow{width:16px;height:16px;flex:none;stroke:currentColor;fill:none;stroke-width:1.7}

/* ── NAV ─────────────────────────────────────── */
.nav{position:fixed;top:0;left:0;right:0;z-index:200;height:84px;display:flex;align-items:center;justify-content:space-between;padding:0 28px;background:color-mix(in oklab,var(--canvas) 82%,transparent);backdrop-filter:blur(18px) saturate(160%);-webkit-backdrop-filter:blur(18px) saturate(160%);border-bottom:1px solid transparent;transition:border-color var(--t)}
.nav--scrolled{border-color:var(--border)}
.nav-brand{display:flex;align-items:center;opacity:0;transform:translateY(4px);transition:opacity var(--t),transform var(--t);pointer-events:none}
.nav--scrolled .nav-brand{opacity:1;transform:none;pointer-events:auto}
.brand-mark{display:block;height:19px;width:157px;background:#885670;-webkit-mask:url(assets/buttafly-wordmark-plum.png) no-repeat center/contain;mask:url(assets/buttafly-wordmark-plum.png) no-repeat center/contain;transition:background var(--t)}
.nav-brand:hover .brand-mark{background:#6E4459}
@media (max-width:560px){.brand-mark{height:15px;width:124px}}
.mark{width:22px;height:22px;flex:none;display:block}
.mark path,.mark rect{fill:currentColor}
.nav-right{display:flex;align-items:center;gap:28px}
.nav-link{font-size:15px;font-weight:500;color:var(--ink-2);transition:color var(--t-fast)}
.nav-link:hover{color:var(--ink)}

/* ── CTA (the App Store button) ──────────────── */
.cta{white-space:nowrap;position:relative;display:inline-flex;align-items:center;gap:14px;height:48px;padding:0 8px 0 24px;border-radius:999px;background:var(--ink);color:var(--paper);font-family:'Geist Mono',monospace;font-size:11px;font-weight:500;letter-spacing:.16em;text-transform:uppercase;overflow:hidden;isolation:isolate;box-shadow:0 10px 30px -10px rgba(10,10,10,.45),0 2px 6px rgba(10,10,10,.12);transition:transform var(--t),box-shadow var(--t),color var(--t)}
.cta::before{content:'';position:absolute;inset:0;z-index:-1;background:var(--plum);transform:translateY(101%);transition:transform 420ms cubic-bezier(.2,.8,.2,1)}
.cta:hover{color:#fff;transform:translateY(-2px);box-shadow:0 18px 44px -14px color-mix(in oklab,var(--plum) 65%,transparent),0 3px 8px rgba(10,10,10,.14)}
.cta:hover::before{transform:translateY(0)}
.cta:active{transform:translateY(0)}
.cta-knob{width:32px;height:32px;border-radius:999px;background:var(--paper);color:var(--ink);display:grid;place-items:center;overflow:hidden;transition:background var(--t)}
.cta-knob .arrow{grid-area:1/1;transition:transform 380ms cubic-bezier(.2,.8,.2,1)}
.cta:hover .cta-knob .arrow{transform:translateX(30px)}
.cta-knob .arrow:last-child{transform:translateX(-30px)}
.cta:hover .cta-knob .arrow:last-child{transform:translateX(0)}
.cta--lg{height:60px;padding:0 10px 0 32px;font-size:12px;gap:20px}
.cta--lg .cta-knob{width:40px;height:40px}

.ibtn{--mx:50%;--my:120%;position:relative;display:inline-flex;align-items:center;gap:18px;height:50px;padding:0 8px 0 24px;border-radius:999px;background:var(--ink);color:var(--paper);overflow:hidden;isolation:isolate;white-space:nowrap;font-family:'Geist Mono',monospace;font-size:11px;font-weight:500;letter-spacing:.16em;text-transform:uppercase;box-shadow:0 12px 30px -14px rgba(10,10,10,.55),0 1px 3px rgba(10,10,10,.14);transition:transform 520ms cubic-bezier(.16,1,.3,1),box-shadow 520ms cubic-bezier(.16,1,.3,1),color 300ms ease}
.ibtn-fill{position:absolute;left:var(--mx);top:var(--my);z-index:-1;width:12px;height:12px;border-radius:999px;background:radial-gradient(circle at 50% 40%,color-mix(in oklab,var(--plum) 88%,#fff),var(--plum-700));transform:translate(-50%,-50%) scale(0);transition:transform 680ms cubic-bezier(.16,1,.3,1)}
.ibtn-label{position:relative;display:block;height:13px;overflow:hidden}
.ibtn-label span{display:block;height:13px;line-height:13px;transition:transform 560ms cubic-bezier(.16,1,.3,1)}
.ibtn-knob{width:34px;height:34px;flex:none;border-radius:999px;background:var(--paper);color:var(--ink);display:grid;place-items:center;transition:transform 560ms cubic-bezier(.16,1,.3,1),background 300ms ease}
.ibtn-knob .arrow{width:15px;height:15px}
.ibtn:hover,.ibtn:focus-visible{color:#fff;transform:translateY(-3px) scale(1.035);box-shadow:0 26px 50px -16px color-mix(in oklab,var(--plum) 62%,transparent),0 2px 6px rgba(10,10,10,.12)}
.ibtn:hover .ibtn-fill,.ibtn:focus-visible .ibtn-fill{transform:translate(-50%,-50%) scale(38)}
.ibtn:hover .ibtn-label span,.ibtn:focus-visible .ibtn-label span{transform:translateY(-13px)}
.ibtn:hover .ibtn-knob,.ibtn:focus-visible .ibtn-knob{transform:rotate(45deg) scale(1.08)}
.ibtn:active{transform:scale(.955);transition-duration:130ms}
.ibtn:active .ibtn-knob{transform:rotate(45deg) scale(.9)}
.ibtn--lg{height:66px;padding:0 12px 0 34px;font-size:12px;gap:26px}
.ibtn--lg .ibtn-label,.ibtn--lg .ibtn-label span{height:15px;line-height:15px}
.ibtn--lg:hover .ibtn-label span{transform:translateY(-15px)}
.ibtn--lg .ibtn-knob{width:44px;height:44px}
.ibtn--lg .ibtn-knob .arrow{width:18px;height:18px}

/* ── INTRO (first paint) ────────────────────── */
.hl{display:inline-block;opacity:0;transform:translateY(.42em) scale(.98);filter:blur(9px);transition:transform 1150ms cubic-bezier(.16,1,.3,1),opacity 760ms ease,filter 900ms ease;transition-delay:calc(var(--i) * 52ms + 140ms)}
body.is-ready .hl{opacity:1;transform:none;filter:blur(0)}
.i-up{opacity:0;transform:translateY(22px);filter:blur(6px);transition:opacity 900ms ease,transform 1100ms cubic-bezier(.16,1,.3,1),filter 900ms ease}
body.is-ready .i-up{opacity:1;transform:none;filter:blur(0)}
.hero-say h2.i-up{transition-delay:620ms}
.hero-say p.i-up{transition-delay:760ms}
.media-cap.i-up{transition-delay:1100ms}
.nav .i-up{transition-delay:900ms}
.nav .nav-right.i-up{transition-delay:980ms}
.nav .ibtn{transition:transform 900ms cubic-bezier(.16,1,.3,1),box-shadow 520ms cubic-bezier(.16,1,.3,1),color 300ms ease,opacity 620ms ease}
.nav .ibtn.cta-in{opacity:0;transform:translateY(-16px) scale(.86)}
.nav .ibtn.cta-in .ibtn-knob{transform:rotate(-150deg) scale(.5)}
.nav .ibtn.cta-in .ibtn-fill{transform:translate(-50%,-50%) scale(34)}
.nav .ibtn.cta-in .ibtn-label span{transform:translateY(-13px)}
.media{clip-path:inset(100% 0 0 0 round 24px);transform:scale(1.05);transition:clip-path 1500ms cubic-bezier(.16,1,.3,1) 480ms,transform 1800ms cubic-bezier(.16,1,.3,1) 480ms}
body.is-ready .media{clip-path:inset(0 0 0 0 round 24px);transform:none}
@media (prefers-reduced-motion:reduce){.hl{filter:none;transform:translateY(.18em);transition-duration:600ms;transition-delay:calc(var(--i) * 26ms + 80ms)}.i-up{filter:none;transform:translateY(10px)}.media{transform:none}}

/* ── SCROLL REVEAL ──────────────────────────── */


/* ── HERO ────────────────────────────────────── */
.hero{padding:112px 28px 0}
.hero-top{display:flex;align-items:flex-end;gap:44px;flex-wrap:wrap}
.hero-word{font-family:'Geist',-apple-system,sans-serif;font-weight:600;font-size:clamp(66px,13.6vw,196px);line-height:.78;letter-spacing:-.055em;margin:0}
.hero-say{padding-bottom:6px;max-width:340px}
.hero-say h2{margin:0 0 10px;font-size:20px;font-weight:600;line-height:1.28;letter-spacing:-.015em}
.hero-say h2 em{font-style:normal;color:var(--plum)}
.hero-say p{margin:0;font-size:15px;line-height:1.4;color:var(--mute)}
.media{position:relative;margin-top:56px;aspect-ratio:16/9;overflow:hidden;background:var(--surface);border-radius:24px}
.vframe{display:grid;place-items:center;background:var(--surface);border:1px solid var(--border)}
.vframe::before{content:'';position:absolute;inset:0;background:repeating-linear-gradient(135deg,rgba(10,10,10,.035) 0 10px,transparent 10px 20px)}
.vframe-lbl{position:relative;z-index:1;font-family:'Geist Mono',monospace;font-size:11px;text-transform:uppercase;letter-spacing:.18em;color:var(--ink-2);background:var(--paper);border:1px solid var(--border);padding:12px 20px}
.media img{width:100%;height:100%;object-fit:cover}
.media-cap{display:flex;flex-direction:column;gap:2px;padding:22px 0 0 100px;font-size:13px}
.media-cap b{font-weight:600}
.media-cap span{color:var(--mute)}

/* ── SECTIONS ────────────────────────────────── */
.sec{padding:120px var(--gut) 0}
.sec-grid{display:grid;grid-template-columns:296px 1fr;gap:24px;border-top:1px solid var(--border);padding-top:34px}
.sec-label{font-size:15px;font-weight:600;letter-spacing:-.01em}
.prose{max-width:640px}
.prose-lead{margin:0 0 30px;font-family:'Geist',-apple-system,sans-serif;font-weight:600;font-size:clamp(26px,2.7vw,38px);line-height:1.2;letter-spacing:-.03em;color:var(--ink);text-wrap:pretty}
.prose p{margin:0 0 30px;font-size:clamp(24px,2.4vw,34px);line-height:1.3;letter-spacing:-.02em;color:var(--ink-2);text-wrap:pretty}
.prose p:last-of-type{margin-bottom:34px}
.link-u{display:inline-flex;align-items:center;gap:12px;font-size:clamp(20px,2vw,26px);letter-spacing:-.02em;border-bottom:1.5px solid var(--ink);padding-bottom:3px;transition:color var(--t-fast),border-color var(--t-fast)}
.link-u .arrow{width:22px;height:22px;transition:transform var(--t)}
.link-u:hover{border-color:var(--plum)}
.link-u:hover .arrow{transform:translateX(6px)}

/* ── FEATURES ────────────────────────────────── */
.feat{position:relative;height:620vh;padding:0}
.feat-pin{position:sticky;top:0;height:100vh;display:grid;grid-template-columns:var(--gut) 300px minmax(0,504px) 1fr var(--gut);align-items:center}
.feat-title{grid-column:2;font-family:'Geist',-apple-system,sans-serif;font-weight:600;font-size:clamp(30px,3.1vw,42px);line-height:1.02;letter-spacing:-.035em;margin:0}
.stage{grid-column:3;position:relative;width:100%;aspect-ratio:504/490;max-height:76vh}
.slide{position:absolute;inset:0;opacity:0;transform:translateY(26px) scale(.99);transition:opacity 480ms cubic-bezier(.2,.8,.2,1),transform 560ms cubic-bezier(.2,.8,.2,1)}
.slide--on{opacity:1;transform:none}
.panel{position:absolute;inset:0;overflow:hidden;background:none}








.feat-list{grid-column:4;justify-self:end;width:300px;margin-left:48px}
.frow{width:100%;text-align:left;background:none;border:none;border-top:1px solid var(--border);padding:16px 0;display:grid;grid-template-columns:36px 1fr;gap:0 4px;cursor:pointer;font:inherit;color:var(--mute);transition:color var(--t)}
.frow:last-child{border-bottom:1px solid var(--border)}
.frow-num{font-family:'Geist Mono',monospace;font-size:13px;letter-spacing:.04em;padding-top:1px}
.frow-name{font-size:15px;font-weight:600;letter-spacing:-.01em}
.frow-body{grid-column:2;overflow:hidden;max-height:0;opacity:0;transition:max-height 420ms cubic-bezier(.2,.8,.2,1),opacity 260ms ease,margin-top 420ms cubic-bezier(.2,.8,.2,1)}
.frow-body p{margin:0;font-size:13.5px;line-height:1.45;color:var(--ink-2)}
.frow-body b{display:block;margin-bottom:4px;font-weight:600;color:var(--ink)}
.frow:hover{color:var(--ink-2)}
.frow--on{color:var(--ink)}
.frow--on .frow-body{max-height:190px;opacity:1;margin-top:6px}

/* ── AI SECTION ─────────────────────────────── */
.ai{padding:150px var(--gut) 0;text-align:center}
.ai-kicker{margin:0 0 22px;font-family:'Geist Mono',monospace;font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--plum)}
.ai-h{margin:0 auto 64px;max-width:16ch;font-family:'Geist',-apple-system,sans-serif;font-weight:600;font-size:clamp(36px,5.4vw,74px);line-height:.98;letter-spacing:-.045em}
.ai-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;text-align:left}
.acard{position:relative;border-radius:30px;padding:34px 32px 32px;min-height:470px;display:flex;flex-direction:column;gap:26px;opacity:0;transform:translateY(38px);transition:opacity 720ms cubic-bezier(.16,1,.3,1),transform 860ms cubic-bezier(.16,1,.3,1)}
.acard--1{background:oklch(.93 .042 355);transition-delay:0ms}
.acard--2{background:oklch(.93 .05 30);transition-delay:110ms}
.acard--3{background:oklch(.94 .052 88);transition-delay:220ms}
.ai--in .acard{opacity:1;transform:none}
.acard-t{margin:0;font-size:21px;line-height:1.32;letter-spacing:-.02em;color:var(--ink);max-width:22ch}
.acard-demo{margin-top:auto;display:flex;flex-direction:column;gap:10px;align-items:flex-start}
.ab{max-width:88%;padding:11px 15px;border-radius:16px;font-size:13.5px;line-height:1.35;background:var(--paper);color:var(--ink);box-shadow:0 2px 8px rgba(10,10,10,.04)}
.ab--out{align-self:flex-end;background:var(--ink);color:var(--paper);border-bottom-right-radius:5px}
.ab--in{border-bottom-left-radius:5px}
.achip{display:inline-flex;align-items:center;gap:8px;padding:8px 14px;border-radius:999px;background:var(--paper);font-size:12.5px;font-weight:500;color:var(--ink)}
.achip--card{flex-direction:column;align-items:flex-start;gap:2px;border-radius:16px;padding:12px 16px;width:100%}
.achip--card b{font-size:15px;font-weight:600;letter-spacing:-.02em}
.achip--card i{font-style:normal;font-family:'Geist Mono',monospace;font-size:9.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--mute)}
.achip--on{background:var(--ink);color:var(--paper)}
.abtn{width:100%;text-align:center;padding:12px 0;border-radius:999px;background:var(--plum);color:#fff;font-family:'Geist Mono',monospace;font-size:10.5px;letter-spacing:.16em;text-transform:uppercase}
.apill{display:flex;align-items:center;gap:10px;width:100%;padding:12px 16px;border-radius:999px;background:var(--paper);font-size:13px;color:var(--ink-2)}
.apill--q{color:var(--ink);font-weight:500;border:1.5px solid var(--ink);background:transparent}
.apill em{width:9px;height:9px;flex:none;border-radius:999px;background:oklch(.62 .13 25)}
.apill em.e2{background:oklch(.55 .09 355)}
.apill em.e3{background:oklch(.62 .09 250)}
.aline{display:block;height:13px;width:100%;border-radius:999px;background:var(--paper)}
.aline--2{width:82%}
.aline--type{width:34%;animation:atype 3.6s cubic-bezier(.4,0,.2,1) infinite}
@keyframes atype{0%{width:8%}45%{width:64%}55%{width:64%}100%{width:8%}}
.achips{display:flex;gap:8px;flex-wrap:wrap;margin-top:6px}
/* card 1 — the conversation plays itself out, then starts over */
@keyframes apop{0%,3%{opacity:0;transform:translateY(16px) scale(.97)}11%,84%{opacity:1;transform:translateY(0) scale(1)}94%,100%{opacity:0;transform:translateY(-10px) scale(.99)}}
.ai--in .acard--1 .ab--out{animation:apop 9s cubic-bezier(.16,1,.3,1) infinite}
.ai--in .acard--1 .ab--in{animation:apop 9s cubic-bezier(.16,1,.3,1) infinite;animation-delay:.9s}
.ai--in .acard--1 .achip--card{animation:apop 9s cubic-bezier(.16,1,.3,1) infinite;animation-delay:1.9s}
.ai--in .acard--1 .abtn{animation:apop 9s cubic-bezier(.16,1,.3,1) infinite;animation-delay:2.7s}
/* card 2 — the question types, the answers land one by one */
.apill--q{position:relative}
.apill--q span{display:inline-block;overflow:hidden;white-space:nowrap;vertical-align:bottom}
.ai--in .apill--q span{animation:aask 9s cubic-bezier(.4,0,.2,1) infinite}
@keyframes aask{0%{max-width:0}26%,80%{max-width:100%}92%,100%{max-width:0}}
.apill--q::after{content:'';display:inline-block;width:1.5px;height:14px;margin-left:3px;background:var(--ink);animation:ablink 1.05s steps(2) infinite}
@keyframes ablink{to{opacity:0}}
.ai--in .acard--2 .apill:nth-of-type(2){animation:apop 9s cubic-bezier(.16,1,.3,1) infinite;animation-delay:1.5s}
.ai--in .acard--2 .apill:nth-of-type(3){animation:apop 9s cubic-bezier(.16,1,.3,1) infinite;animation-delay:2.2s}
.ai--in .acard--2 .apill:nth-of-type(4){animation:apop 9s cubic-bezier(.16,1,.3,1) infinite;animation-delay:2.9s}

@media (max-width:1000px){.ai{padding-top:100px}.ai-cards{grid-template-columns:1fr;gap:14px}.acard{min-height:0;padding:28px 24px}.acard--2,.acard--3{transition-delay:60ms}}

/* ── SCENES (marquee + search) ─────────────── */
.cats{padding:150px var(--gut) 40px;display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:center;border-top:1px solid var(--border)}
.cats-h{margin:0 0 20px;font-family:'Geist',-apple-system,sans-serif;font-weight:600;font-size:clamp(34px,4.4vw,60px);line-height:1;letter-spacing:-.04em}
.cats-s{margin:0 0 34px;font-size:17px;line-height:1.5;color:var(--ink-2);max-width:42ch}
.cats-s2{font-weight:500;color:var(--ink);margin-top:-18px}
.who-last{font-size:clamp(17px,1.55vw,22px)!important;line-height:1.4!important;color:rgba(255,255,255,.72)!important;margin-top:28px!important}
.foot-copy{font-size:13px;color:var(--mute)}
.csearch{position:relative;max-width:440px}
.csearch input{width:100%;height:62px;padding:0 58px 0 26px;font:inherit;font-size:17px;color:var(--ink);background:var(--paper);border:1.5px solid var(--border);border-radius:999px;outline:none;transition:border-color var(--t),box-shadow var(--t)}
.csearch input::placeholder{color:var(--mute)}
.csearch input:focus{border-color:var(--ink);box-shadow:0 10px 30px -14px rgba(10,10,10,.25)}
.csearch-ic{position:absolute;right:24px;top:50%;transform:translateY(-50%);width:22px;height:22px;stroke:var(--ink);fill:none;stroke-width:1.7;pointer-events:none}
.csearch-res{position:absolute;left:0;right:0;top:74px;background:var(--paper);border:1px solid var(--border);border-radius:22px;padding:8px;box-shadow:0 24px 60px -22px rgba(10,10,10,.22);opacity:0;transform:translateY(-8px);pointer-events:none;transition:opacity 260ms var(--t),transform 320ms cubic-bezier(.16,1,.3,1);max-height:290px;overflow:hidden auto;scrollbar-width:none;z-index:5}
.csearch-res::-webkit-scrollbar{display:none}
.csearch-res--on{opacity:1;transform:none;pointer-events:auto}
.cres{display:flex;align-items:center;gap:12px;padding:11px 16px;border-radius:14px;font-size:15.5px;color:var(--ink-2);cursor:pointer;transition:background var(--t-fast),color var(--t-fast)}
.cres:hover,.cres--sel{background:var(--surface);color:var(--ink)}
.cres b{font-weight:500;color:var(--ink)}
.cres-tag{margin-left:auto;font-family:'Geist Mono',monospace;font-size:9.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--mute)}
.cres--none{color:var(--mute);cursor:default}
.cres--none:hover{background:none}
.cats-r{position:relative;height:620px;overflow:hidden;-webkit-mask:linear-gradient(transparent,#000 20%,#000 80%,transparent);mask:linear-gradient(transparent,#000 20%,#000 80%,transparent)}
.ctrack{position:absolute;left:0;top:0;width:100%;will-change:transform}
.cats-r{cursor:grab;touch-action:pan-y}
.cats-r.is-drag{cursor:grabbing}
.cats-r.is-drag .crow{transition:none}
.crow{display:flex;align-items:center;gap:20px;height:88px;will-change:transform,opacity}
.cdot{width:52px;height:52px;flex:none;border-radius:999px;display:grid;place-items:center;background:oklch(.88 .055 355);color:oklch(.36 .075 355)}
.crow--b .cdot{background:oklch(.89 .07 30);color:oklch(.40 .11 30)}
.crow--c .cdot{background:oklch(.91 .065 88);color:oklch(.42 .08 80)}
.crow--d .cdot{background:oklch(.90 .04 250);color:oklch(.40 .07 255)}
.g{display:block;background:currentColor}
.g0{width:17px;height:17px;border-radius:999px}
.g1{width:15px;height:15px;transform:rotate(45deg);border-radius:2px}
.g2{width:16px;height:16px;border-radius:3px}
.g3{width:18px;height:18px;border-radius:999px;background:none;border:3.5px solid currentColor}
.g4{width:18px;height:9px;border-radius:999px 999px 0 0;background:currentColor}
.cname{font-size:clamp(24px,2.5vw,36px);letter-spacing:-.03em;line-height:1;white-space:nowrap;color:var(--ink)}
.crow--hit .cdot{background:var(--plum);color:#fff}
.crow--hit .cname{color:var(--plum)}
@media (max-width:1000px){.cats{grid-template-columns:1fr;padding-top:100px;gap:24px}.cats-r{height:440px}.crow{height:70px}.cdot{width:42px;height:42px}.g0,.g1,.g2,.g3,.g4{transform:scale(.82)}.g1{transform:rotate(45deg) scale(.82)}}

/* ── FULL BLEED + REVEAL ─────────────────────── */
.bleed{margin:120px 0 0;height:78vh;min-height:520px;overflow:hidden}
.bleed img{width:100%;height:100%;object-fit:cover}
.who{position:relative;height:450vh;margin-top:110px}
.who-sticky{position:sticky;top:0;height:100vh;overflow:hidden;display:flex;align-items:center}
.who-bg{position:absolute;inset:0}
.who-bg img{width:100%;height:100%;object-fit:cover}
.who-bg.vframe{border:none;background:#0A0A0A}
.who-bg.vframe::before{display:none}
.who-film{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center center}
.who-bg.vframe::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(8,5,3,.62),rgba(8,5,3,.46) 45%,rgba(8,5,3,.7))}
.who-bg .vframe-lbl{position:absolute;z-index:2;right:28px;bottom:28px;font-size:10px;padding:9px 14px;background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.24);color:rgba(255,255,255,.7);backdrop-filter:blur(6px)}
.who-inner{position:relative;z-index:2;width:100%;padding:0 var(--gut);display:grid;grid-template-columns:296px 1fr;gap:24px;color:#fff;pointer-events:none}
.who-inner .sec-label{padding-top:12px;color:rgba(255,255,255,.62)}
.who-copy{max-width:700px;border-top:1px solid rgba(255,255,255,.22);padding-top:34px}
.who-copy p{margin:0 0 26px;font-size:clamp(24px,2.5vw,34px);line-height:1.28;letter-spacing:-.02em;text-wrap:pretty}
.who-copy p:last-child{margin-bottom:0}
.mk{position:relative;display:inline-block;white-space:nowrap}
.mk svg{position:absolute;overflow:visible;pointer-events:none;fill:none;stroke:var(--plum);stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}
.mk-u svg{left:-1%;bottom:-.26em;width:102%;height:.4em}
.who-copy .mk svg{stroke:#F0C7DC}
.mk-o svg{left:-5%;top:-.3em;width:110%;height:1.62em}
.w{display:inline-block;opacity:.12;will-change:transform,opacity,filter}

/* ── FAQ ─────────────────────────────────────── */
.faq{padding:64px var(--gut) 0;display:grid;grid-template-columns:380px 1fr;gap:24px}
.faq h2{margin:0;font-family:'Geist',-apple-system,sans-serif;font-weight:600;font-size:clamp(30px,3.1vw,42px);line-height:1.05;letter-spacing:-.035em}
.faq-list{display:flex;flex-direction:column}
.qa{border-bottom:1px solid var(--border)}
.qa:first-child{border-top:1px solid var(--border)}
.qa-q{width:100%;background:none;border:none;font:inherit;color:var(--ink);display:flex;align-items:center;justify-content:space-between;gap:24px;padding:26px 0;cursor:pointer;text-align:left;font-size:17px;font-weight:500;letter-spacing:-.015em;transition:color var(--t-fast)}
.qa-q:hover{color:var(--plum)}
.qa-sign{position:relative;width:14px;height:14px;flex:none}
.qa-sign::before,.qa-sign::after{content:'';position:absolute;background:currentColor;transition:transform var(--t)}
.qa-sign::before{top:6px;left:0;width:14px;height:1.5px}
.qa-sign::after{left:6px;top:0;width:1.5px;height:14px}
.qa--on .qa-sign::after{transform:rotate(90deg)}
.qa-a{overflow:hidden;max-height:0;transition:max-height 420ms cubic-bezier(.2,.8,.2,1)}
.qa-a p{margin:0 0 28px;max-width:60ch;font-size:15.5px;line-height:1.6;color:var(--ink-2)}

/* ── FOOTER ──────────────────────────────────── */
.foot{margin-top:150px;padding:0 var(--gut) 44px}
.foot-top{border-top:1px solid var(--border);padding-top:56px;display:grid;grid-template-columns:380px 1fr;gap:24px}
.foot-mark{display:flex;flex-direction:column;gap:18px}
.foot-mark b{font-family:'Geist',-apple-system,sans-serif;font-weight:600;font-size:34px;letter-spacing:-.045em;line-height:1}
.foot-mark p{margin:0;font-size:15px;font-weight:500;line-height:1.35;max-width:16ch}
.try{display:inline-flex;align-items:center;gap:24px;font-family:'Geist',-apple-system,sans-serif;font-weight:600;font-size:clamp(48px,7vw,96px);line-height:.9;letter-spacing:-.05em;transition:color var(--t)}
.try .arrow{width:.62em;height:.62em;stroke-width:1.2;transition:transform 420ms cubic-bezier(.2,.8,.2,1)}
.try:hover .arrow{transform:translateX(.16em)}
.foot-alt{margin:26px 0 0;font-size:16px;line-height:1.5}
.foot-alt span{display:block;color:var(--mute)}
.foot-alt a{font-weight:500;border-bottom:1px solid var(--border);padding-bottom:2px}
.foot-alt a:hover{border-color:var(--plum)}
.foot-bot{margin-top:96px;display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap}
.foot-links{display:flex;gap:26px;flex-wrap:wrap}.foot-links a{white-space:nowrap}
.foot-links a{font-size:13px;color:var(--mute)}
.foot-links a:hover{color:var(--ink)}

/* ── PHONE MOCKUPS ───────────────────────────── */
.pf{position:absolute;left:50%;top:50%;height:min(446px,94%);aspect-ratio:591/1280;transform:translate(-50%,-50%);transform-origin:center;background:#0A0A0A;border:5px solid #0A0A0A;border-radius:30px;padding:0;box-sizing:content-box;z-index:1}
.pf-shot{display:block;width:100%;height:100%;object-fit:contain;object-position:center;background:#EFEBE4}
.pf-slot{position:absolute;inset:0;display:grid;place-items:center;border:none;background:var(--surface)}
.pf-slot .vframe-lbl{display:flex;flex-direction:column;align-items:center;gap:5px;font-size:13px;letter-spacing:.16em;padding:14px 18px;color:var(--ink)}
.pf-slot .vframe-lbl i{font-style:normal;font-size:10px;letter-spacing:.2em;color:var(--mute)}
.pf-scr{width:100%;height:100%;border-radius:26px;overflow:hidden;background:#FAFAF8;position:relative;display:flex;flex-direction:column;font-size:10px;line-height:1.35}
.pf-scr:has(.pf-shot) .pf-island{display:none}
.pf-island{position:absolute;top:4.5px;left:50%;transform:translateX(-50%);width:45px;height:12px;border-radius:999px;background:#0A0A0A;z-index:9}
.pf-st{display:flex;justify-content:space-between;align-items:center;padding:9px 16px 0;font-size:9px;font-weight:600;letter-spacing:-.01em;z-index:8}
.pf-st i{display:block;width:15px;height:7px;border:1px solid currentColor;border-radius:2px;opacity:.5;font-style:normal}
.pf-body{flex:1;display:flex;flex-direction:column;min-height:0;overflow:hidden}
.pf-nav{display:flex;justify-content:space-around;align-items:center;padding:8px 10px 12px;border-top:1px solid var(--border);background:#fff;color:var(--mute);font-size:7.5px;font-family:'Geist Mono',monospace;letter-spacing:.08em;text-transform:uppercase}
.pf-nav b{color:var(--ink);font-weight:500}
.pf-h{padding:10px 14px 8px;display:flex;align-items:center;justify-content:space-between}
.pf-h b{white-space:nowrap;font-family:'Geist',-apple-system,sans-serif;font-weight:600;font-size:17px;letter-spacing:-.03em}
.pf-mono{font-family:'Geist Mono',monospace;font-size:7.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--mute)}
.pf-pill{white-space:nowrap;display:inline-flex;align-items:center;height:17px;padding:0 8px;border-radius:999px;background:var(--plum);color:#fff;font-family:'Geist Mono',monospace;font-size:7px;letter-spacing:.12em;text-transform:uppercase}
.pf-pill--out{background:transparent;color:var(--ink);border:1px solid var(--border)}
.pf-btn{height:30px;border-radius:9px;background:var(--ink);color:#fff;display:grid;place-items:center;font-size:10px;font-weight:500}
.pf-btn--plum{background:var(--plum)}
.pf-btn--ghost{background:transparent;color:var(--ink);border:1px solid var(--border)}
.av{width:20px;height:20px;border-radius:999px;display:grid;place-items:center;font-size:8px;font-weight:600;flex:none;background:var(--surface);color:var(--ink-2)}
.av-row{display:flex}
.av-row .av{margin-left:-6px;border:1.5px solid #fff}
.av-row .av:first-child{margin-left:0}
.pf-row{display:flex;align-items:center;gap:8px;padding:7px 14px;border-bottom:1px solid var(--border)}
.pf-row b{font-size:10px;font-weight:600;display:block}
.pf-row span{color:var(--mute);font-size:8.5px}
.pf-grid2{display:grid;grid-template-columns:1fr 1fr;gap:4px;padding:0 14px}
.pf-grid2 img{aspect-ratio:1;object-fit:cover;border-radius:6px;width:100%}
.pf-hero{position:relative;height:150px;flex:none}
.pf-hero img{width:100%;height:100%;object-fit:cover}
.pf-hero-c{position:absolute;inset:auto 0 0;padding:12px 14px;color:#fff;background:linear-gradient(transparent,rgba(0,0,0,.72))}
.pf-hero-c b{font-family:'Geist',-apple-system,sans-serif;font-weight:600;font-size:19px;letter-spacing:-.03em;display:block;line-height:1}
.pf-pad{padding:10px 14px;display:flex;flex-direction:column;gap:8px}
.pf-map{flex:1;background:#111110;position:relative;overflow:hidden}
.pf-map svg{position:absolute;inset:0;width:100%;height:100%;opacity:.4}
.pf-mp{position:absolute;display:inline-flex;align-items:center;gap:5px;background:#fff;border-radius:999px;padding:3px 8px;font-size:8px;font-weight:600;box-shadow:0 4px 12px rgba(0,0,0,.3)}
.pf-mp::before{content:'';width:5px;height:5px;border-radius:999px;background:var(--plum)}
.pf-pass{margin:12px 14px;border-radius:14px;background:var(--plum);color:#fff;padding:14px;display:flex;flex-direction:column;gap:10px}
.pf-pass-qr{background:#fff;border-radius:8px;padding:6px;width:78px;align-self:center}
.pf-bub{max-width:82%;padding:7px 10px;border-radius:12px;font-size:9.5px;line-height:1.4}
.pf-bub--in{align-self:flex-start;background:var(--surface)}
.pf-bub--out{align-self:flex-end;background:var(--ink);color:#fff}
.pf-card{border:1px solid var(--border);border-radius:10px;overflow:hidden;background:#fff}
.pf-card img{height:70px;width:100%;object-fit:cover}
.pf-card-b{padding:8px 10px}
.pf-card-b b{font-family:'Geist',-apple-system,sans-serif;font-weight:600;font-size:13px;letter-spacing:-.02em;display:block}

/* ── RESPONSIVE ──────────────────────────────── */
@media (max-width:1240px){.pf{height:min(404px,92%)}:root{--gut:64px}.feat{grid-template-columns:var(--gut) 240px minmax(0,440px) 1fr var(--gut)}.feat-list{width:290px;margin-left:40px}}
@media (max-width:1000px){
  :root{--gut:28px}
  .sec-grid,.who-inner,.faq,.foot-top{grid-template-columns:1fr;gap:14px}
  .media-cap{padding-left:0}
  .feat{display:block;height:auto;padding:120px var(--gut) 0}.feat-pin{position:static;height:auto;display:block}.stage{aspect-ratio:auto;max-height:none;max-width:504px;margin:0 auto;display:flex;flex-direction:column;gap:14px}.slide{position:relative;inset:auto;opacity:1;transform:none;aspect-ratio:504/470}
  .feat-title{position:static;margin-bottom:28px}
  .feat-title{text-align:left}
  .feat-list{position:static;width:100%;margin:28px 0 0}
  .who{height:300vh;margin-top:80px}
  .who-sticky{position:sticky;top:0;height:100vh;padding:0;align-items:center}
  .who-inner{grid-template-columns:1fr;gap:18px;align-content:center}
  .who-copy{padding-top:24px;max-width:none}
  .who-copy p{margin:0 0 20px;font-size:clamp(21px,4.6vw,30px);line-height:1.3}
  .who-last{font-size:clamp(15px,3.4vw,18px)!important;margin-top:20px!important}
  .who-bg .vframe-lbl{right:auto;left:var(--gut);bottom:22px;font-size:9px;padding:7px 11px;letter-spacing:.14em}
  .foot-bot{margin-top:56px}
  .hero-say{max-width:none}
}
@media (max-width:1000px){
  .stage:empty{display:none}
  .frow{grid-template-columns:1fr;gap:0;padding:22px 0}
  .frow .slide{grid-column:1;position:relative;width:100%;aspect-ratio:auto;border-radius:22px;overflow:hidden;margin:0 0 18px;opacity:1;transform:none;display:grid;place-items:center;padding:0}
  .frow .panel{position:relative;inset:auto;width:100%;padding:34px 0;display:grid;place-items:center}
  .frow .pf{position:relative;left:auto;top:auto;transform:none;width:min(62%,286px);height:auto;aspect-ratio:auto;padding:0;border-width:5px;border-radius:34px}
  .frow .pf-scr{height:auto;aspect-ratio:591/1280;border-radius:29px}
  .frow .pf-island{width:60px;height:16px;top:6px}
  .frow-num{grid-column:1;font-size:12px;color:var(--mute)}
  .frow-name{grid-column:1;font-size:19px;margin-top:2px}
  .frow-body{grid-column:1;max-height:none!important;opacity:1!important;margin-top:8px!important}
  .frow-body p{font-size:14.5px}
  .feat-list{display:flex;flex-direction:column;gap:0}
}
@media (max-width:560px){
  .vframe-lbl{font-size:8.5px;letter-spacing:.12em;padding:8px 12px;line-height:1.5}
  .foot-bot{gap:18px;flex-direction:column-reverse;align-items:flex-start}
  .foot-links{gap:0 18px;font-size:12.5px}
  .foot-links--legal{width:100%;flex-direction:column;gap:6px}
  .foot-links:last-child{width:100%;flex-wrap:nowrap;justify-content:space-between;gap:0 10px;font-size:11px}
  .who{height:260vh}
  .who-copy p{margin:0 0 16px;font-size:20px;line-height:1.34}
  .who-inner .sec-label{padding-top:0}
  .mk svg{stroke-width:2.1}
  .sup-form{padding:18px 16px}
  .sup-form .fld label{font-size:9.5px;margin-bottom:2px}
  .sup-form .fld input,.sup-form .msel-btn{font-size:14px;padding:5px 0}
  .sup-row{gap:14px!important}
  .sup-form .fld{margin-bottom:0}
  .sup-chips{gap:7px;flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;padding-bottom:2px}
  .sup-chips::-webkit-scrollbar{display:none}
  .schip{height:32px;padding:0 12px;font-size:12px;flex:none}
  .sup-card{gap:24px}
  .sup-img{max-width:250px;margin-top:16px}
  .sup-l p{font-size:14px}
  .sup-mails{margin-top:26px}
  .sup-form textarea{min-height:52px;font-size:14px}
  .frow .panel{padding:26px 0;height:auto}.frow .pf{width:min(72%,244px);border-radius:30px;border-width:4px;padding:0}.frow .pf-island{width:51px;height:13px;top:5px}.frow .pf-scr{border-radius:27px}.sup-card{padding:22px;border-radius:22px}.sup-form{padding:20px}.ibtn{height:44px;padding:0 6px 0 18px;gap:12px;font-size:10px;letter-spacing:.12em}.ibtn-knob{width:32px;height:32px}.ibtn--lg{height:56px;padding:0 8px 0 24px;font-size:11px;gap:16px}.nav{padding:0 16px;height:72px}.nav-right{gap:14px}.nav-link{display:none}.cta{height:44px;padding:0 6px 0 16px;font-size:10px;gap:10px;letter-spacing:.12em}.cta-knob{width:30px;height:30px}.hero{padding:92px 16px 0}.media{margin-top:34px}.panel{height:360px}.bleed{margin-top:80px;height:60vh}.faq{padding-top:96px}.foot{margin-top:96px}}

/* ── SUPPORT ─────────────────────────────────── */
.sup{padding:150px var(--gut) 0}
.sup-card{background:var(--paper);border:1px solid var(--border);border-radius:30px;padding:60px;display:grid;grid-template-columns:1fr 1.08fr;gap:60px}
.sup-l h2{margin:0 0 16px;font-family:'Geist',-apple-system,sans-serif;font-weight:600;font-size:clamp(30px,3.4vw,50px);line-height:1.02;letter-spacing:-.042em}
.sup-l p{margin:0;max-width:36ch;font-size:15px;line-height:1.52;color:var(--ink-2)}
.sup-img{position:relative;margin-top:34px;max-width:400px}
.sup-img img{width:100%;height:auto;display:block;mix-blend-mode:multiply}
.sup-img .vframe-lbl{display:flex;flex-direction:column;align-items:center;gap:5px;font-size:12px;padding:13px 18px}
.sup-img .vframe-lbl i{font-style:normal;font-size:9.5px;letter-spacing:.2em;color:var(--mute)}
.sup-form{background:var(--canvas);border:1px solid var(--border);border-radius:22px;padding:36px;display:flex;flex-direction:column;gap:26px}
.sup-row{display:grid;grid-template-columns:1fr 1fr;gap:22px}
.fld{display:flex;flex-direction:column;gap:9px;min-width:0}
.fld label{font-family:'Geist Mono',monospace;font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--mute)}
.fld input,.fld select,.fld textarea{font-family:'Geist',-apple-system,sans-serif;font-size:15px;color:var(--ink);background:transparent;border:none;border-bottom:1px solid var(--border);padding:8px 0;outline:none;border-radius:0;transition:border-color var(--t)}
.fld input::placeholder,.fld textarea::placeholder{color:var(--mute)}
.fld input:focus,.fld select:focus,.fld textarea:focus{border-color:var(--plum)}
.fld select{appearance:none;-webkit-appearance:none;cursor:pointer;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%239C9C95' stroke-width='1.6'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E") no-repeat right 2px center/15px}
.fld textarea{resize:none;line-height:1.5;min-height:52px;max-height:130px;overflow-y:hidden;transition:border-color var(--t),height 220ms cubic-bezier(.16,1,.3,1)}
.fld textarea.is-max{overflow-y:auto;scrollbar-width:thin}
.sup-chips{position:relative;display:flex;flex-wrap:wrap;gap:10px}
.schip-ind{position:absolute;left:0;top:0;box-sizing:border-box;width:0;height:0;border-radius:999px;background:var(--ink);opacity:0;pointer-events:none;z-index:0;transition:transform 620ms cubic-bezier(.32,1.3,.36,1),width 620ms cubic-bezier(.32,1.3,.36,1),height 420ms cubic-bezier(.16,1,.3,1),opacity 240ms ease}
.schip-ind.is-set{opacity:1}
.schip{position:relative;z-index:1;font-family:'Geist',-apple-system,sans-serif;font-size:12.5px;padding:9px 16px;border-radius:999px;border:1px solid var(--border);background:transparent;color:var(--ink-2);cursor:pointer;transition:color 360ms ease,border-color 420ms ease,transform 420ms cubic-bezier(.16,1,.3,1)}
.schip:hover:not(.schip--on){border-color:var(--ink);color:var(--ink);transform:translateY(-1.5px)}
.schip--on{transition:color 260ms ease 90ms,border-color 420ms ease,transform 420ms cubic-bezier(.16,1,.3,1)}
.schip.is-pop{animation:chipPop 460ms cubic-bezier(.16,1,.3,1)}
@keyframes chipPop{0%{transform:scale(.94)}55%{transform:scale(1.045)}100%{transform:scale(1)}}
.schip:active{transform:scale(.955)}
.schip--on{border-color:transparent;color:var(--paper)}
.sup-send{--mx:50%;--my:130%;position:relative;align-self:flex-start;display:inline-flex;align-items:center;gap:16px;height:52px;padding:0 8px 0 26px;border:none;border-radius:999px;background:var(--plum);color:#fff;font-family:'Geist Mono',monospace;font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;cursor:pointer;overflow:hidden;isolation:isolate;box-shadow:0 10px 26px -14px color-mix(in oklab,var(--plum) 70%,transparent);transition:transform 560ms cubic-bezier(.16,1,.3,1),box-shadow 560ms cubic-bezier(.16,1,.3,1)}
.ss-fill{position:absolute;left:var(--mx);top:var(--my);z-index:-1;width:12px;height:12px;border-radius:999px;background:radial-gradient(circle at 50% 40%,var(--plum-700),color-mix(in oklab,var(--plum-700) 82%,#000));transform:translate(-50%,-50%) scale(0);transition:transform 700ms cubic-bezier(.16,1,.3,1)}
.ss-label{position:relative;display:block;height:13px;overflow:hidden}
.ss-label span{display:block;height:13px;line-height:13px;white-space:nowrap;transition:transform 600ms cubic-bezier(.16,1,.3,1)}
.ss-knob{width:36px;height:36px;flex:none;border-radius:999px;background:#fff;color:var(--plum);display:grid;place-items:center;transition:transform 600ms cubic-bezier(.16,1,.3,1),color 360ms ease}
.ss-knob .arrow{width:15px;height:15px;grid-area:1/1}
.sup-send:hover,.sup-send:focus-visible{transform:translateY(-3px) scale(1.03);box-shadow:0 28px 54px -18px color-mix(in oklab,var(--plum) 72%,transparent),0 3px 8px rgba(10,10,10,.12)}
.sup-send:hover .ss-fill,.sup-send:focus-visible .ss-fill{transform:translate(-50%,-50%) scale(42)}
.sup-send:hover .ss-label span,.sup-send:focus-visible .ss-label span{transform:translateY(-13px)}
.sup-send:hover .ss-knob,.sup-send:focus-visible .ss-knob{transform:rotate(45deg) scale(1.06);color:var(--plum-700)}
.sup-send:active{transform:translateY(-1px) scale(.975);transition-duration:120ms}
.sup-send.is-sent{background:var(--ink);box-shadow:0 12px 30px -16px rgba(10,10,10,.6)}
.sup-send.is-sent .ss-fill{background:var(--ink);transform:translate(-50%,-50%) scale(42)}
.sup-send.is-sent .ss-knob{color:var(--ink)}
.sup-mails{grid-column:1/-1;margin-top:16px;padding-top:36px;border-top:1px solid var(--border);display:grid;grid-template-columns:repeat(3,1fr);gap:24px;text-align:center}
.sup-mails > div{display:flex;flex-direction:column;gap:9px}
.sup-mails .mono{color:var(--mute)}
.sup-mails a{font-size:17px;font-weight:500;letter-spacing:-.015em}
@media (max-width:1000px){.sup{padding-top:110px}.sup-card{grid-template-columns:1fr;gap:38px;padding:34px;border-radius:24px}.sup-img{aspect-ratio:16/9;margin-top:30px}.sup-form{padding:26px}.sup-mails{grid-template-columns:1fr;gap:24px;text-align:left}}
@media (max-width:560px){.sup-row{grid-template-columns:1fr;gap:16px}.sup-row:first-of-type{grid-template-columns:1fr 1fr;gap:12px}}

/* ── custom select ───────────────────────────── */
.msel{position:relative}
.msel-btn{width:100%;display:flex;align-items:center;justify-content:space-between;gap:14px;font-family:'Geist',-apple-system,sans-serif;font-size:15px;color:var(--ink);background:transparent;border:none;border-bottom:1px solid var(--border);padding:8px 0;cursor:pointer;text-align:left;transition:border-color var(--t),color var(--t)}
.msel-btn:focus{outline:none}
.msel-btn:focus-visible{border-color:var(--plum)}
.msel-btn:hover{border-color:var(--ink)}
.msel.is-open .msel-btn{border-color:var(--plum)}
.msel-ic{position:relative;width:15px;height:15px;flex:none;transition:transform 460ms cubic-bezier(.16,1,.3,1)}
.msel-ic::before{content:'';position:absolute;left:3px;top:4px;width:8px;height:8px;border-right:1.6px solid var(--mute);border-bottom:1.6px solid var(--mute);transform:rotate(45deg)}
.msel.is-open .msel-ic{transform:rotate(180deg)}
.msel.is-open .msel-ic::before{border-color:var(--plum)}
.msel-pop{position:absolute;left:-10px;right:-10px;top:calc(100% + 10px);z-index:20;background:var(--paper);border:1px solid var(--border);border-radius:16px;padding:7px;box-shadow:0 26px 60px -22px rgba(10,10,10,.28),0 4px 12px rgba(10,10,10,.06);display:flex;flex-direction:column;gap:1px;opacity:0;transform:translateY(-8px) scale(.985);transform-origin:top center;pointer-events:none;transition:opacity 240ms ease,transform 460ms cubic-bezier(.16,1,.3,1)}
.msel.is-open .msel-pop{opacity:1;transform:none;pointer-events:auto}
.msel-opt{position:relative;display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;font-family:'Geist',-apple-system,sans-serif;font-size:14px;color:var(--ink-2);background:transparent;border:none;border-radius:11px;padding:11px 13px;cursor:pointer;text-align:left;transition:background 200ms ease,color 200ms ease}
.msel-opt:hover,.msel-opt:focus-visible{background:var(--surface);color:var(--ink);outline:none}
.msel-opt i{width:13px;height:13px;flex:none;opacity:0;transform:scale(.6);transition:opacity 240ms ease,transform 380ms cubic-bezier(.16,1,.3,1)}
.msel-opt i::before{content:'';position:absolute;width:9px;height:5px;border-left:1.7px solid currentColor;border-bottom:1.7px solid currentColor;transform:rotate(-45deg) translate(1px,-1px)}
.msel-opt--on{background:var(--plum-50);color:var(--plum);font-weight:500}
.msel-opt--on i{opacity:1;transform:none}
.sup-mails--one{grid-template-columns:1fr;text-align:left;justify-items:start}

.cres--none{display:flex;align-items:center;justify-content:space-between;gap:10px;white-space:nowrap}
.cres--none span{overflow:hidden;text-overflow:ellipsis}
.cres--none b{cursor:pointer;flex:none;text-decoration:underline;text-underline-offset:3px}
@media (max-width:560px){.cres,.cres--none{font-size:12.5px}.cres--none{gap:8px}}
@media (max-width:560px){
  .sup-chips{flex-wrap:wrap;overflow:visible;gap:6px}
  .schip{height:29px;padding:0 10px;font-size:11px;letter-spacing:0}
}

/* ── v18: nav brand always on, Business button ── */
.nav-brand{opacity:1;transform:none;pointer-events:auto}
.nav-biz{display:inline-flex;align-items:center;gap:8px;height:44px;padding:0 18px;border:1px solid var(--border);border-radius:999px;font-size:14px;font-weight:500;color:var(--ink);background:var(--paper);white-space:nowrap;transition:background 260ms ease,color 260ms ease,border-color 260ms ease,transform 420ms cubic-bezier(.16,1,.3,1)}
.nav-biz:hover{background:var(--ink);border-color:var(--ink);color:var(--canvas);transform:translateY(-1px)}
.nav-biz .arrow{width:14px;height:14px}
.nav-biz-s{display:none}
.nav .nav-biz.i-up{transition-delay:940ms}
@media (max-width:860px){.nav-android{display:none}}
@media (max-width:560px){.nav-right{gap:10px}.nav-biz{height:40px;padding:0 13px;font-size:13px}.nav-biz-l{display:none}.nav-biz-s{display:inline}.nav-biz .arrow{display:none}}

/* ── v18: live map hero ── */
.hmap{background:#0B0B0D;isolation:isolate}
.hmap-map{position:absolute;inset:0;z-index:1;background:#0B0B0D}
.hmap-map .leaflet-tile-pane{filter:invert(1) hue-rotate(180deg) grayscale(1) brightness(.5) contrast(.95)}
.hmap .leaflet-control-attribution{font-size:9px!important;background:rgba(11,11,13,.6)!important;color:#777772!important;padding:1px 6px!important}
.hmap .leaflet-control-attribution a{color:#A5A5A0!important}
.hmap-shade{position:absolute;inset:0;z-index:2;pointer-events:none;background:radial-gradient(120% 90% at 50% 40%,rgba(11,11,13,.28),rgba(11,11,13,.72) 80%),linear-gradient(to top,rgba(11,11,13,.7) 0,rgba(11,11,13,.2) 45%,rgba(11,11,13,.3) 100%)}
.hmap-live{position:absolute;z-index:4;left:22px;top:20px;display:inline-flex;align-items:center;gap:8px;padding:7px 13px;border-radius:999px;background:rgba(21,21,25,.72);border:1px solid rgba(250,250,248,.1);color:#E8E8E4;font-family:'Geist Mono',monospace;font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;backdrop-filter:blur(8px)}
.hmap-live i{width:7px;height:7px;border-radius:999px;background:#7BD88F;box-shadow:0 0 10px #7BD88F;animation:lpblink 1.8s ease-in-out infinite}
@keyframes lpblink{50%{opacity:.35}}
.hmap-cards{position:absolute;inset:0;z-index:3;pointer-events:none}
.lc{position:absolute;width:236px;opacity:0;transform:translateY(18px) scale(.92);filter:blur(6px);transition:opacity 700ms ease var(--d),transform 900ms cubic-bezier(.16,1,.3,1) var(--d),filter 700ms ease var(--d)}
.lc-on .lc{opacity:1;transform:none;filter:blur(0)}
.lc--1{left:7%;top:16%}.lc--2{right:6%;top:12%}.lc--3{left:30%;bottom:9%}.lc--4{right:5%;bottom:12%}
.lc-in{background:rgba(21,21,25,.8);border:1px solid rgba(250,250,248,.09);border-radius:18px;padding:13px 15px 12px;color:#E8E8E4;box-shadow:0 26px 50px -24px rgba(0,0,0,.8);backdrop-filter:blur(12px);animation:lcbob 7s ease-in-out infinite alternate;animation-delay:var(--d)}
@keyframes lcbob{from{transform:translateY(-4px)}to{transform:translateY(5px)}}
.lc-tag{display:block;font-family:'Geist Mono',monospace;font-size:9.5px;letter-spacing:.16em;text-transform:uppercase;color:#8F8F8A;margin-bottom:6px}
.lc-row{display:flex;align-items:center;gap:10px}
.lc-txt b{display:block;font-size:15px;font-weight:600;letter-spacing:-.02em;line-height:1.15}
.lc-meta{font-size:12px;color:#A5A5A0}
.lc-n{font-style:normal;display:inline-block}
.lc-tick{animation:lctick 700ms cubic-bezier(.16,1,.3,1)}
@keyframes lctick{0%{transform:translateY(6px);opacity:0;color:#F2D7E4}100%{transform:none;opacity:1}}
.lc-qr{width:46px;height:46px;flex:none;border-radius:9px;background:#fff;display:grid;place-items:center}
.lc-qr canvas{width:38px;height:38px;image-rendering:pixelated}
.lc-foot{display:flex;align-items:center;gap:9px;margin-top:10px;padding-top:10px;border-top:1px solid rgba(250,250,248,.08);font-size:11.5px;color:#A5A5A0}
.lc-foot b{color:#E8E8E4;font-weight:500}
.lc-av{display:flex}
.hmap .lc-av img{width:22px;height:22px;border-radius:999px;object-fit:cover;box-shadow:0 0 0 2px #151519}
.lc-av img+img{margin-left:-7px}
.lp-hp{display:flex;align-items:center;gap:8px;white-space:nowrap;animation:lppop 700ms cubic-bezier(.16,1,.3,1) both}
@keyframes lppop{from{opacity:0;transform:scale(.6)}to{opacity:1;transform:none}}
.lp-dot{position:relative;width:10px;height:10px;flex:none;border-radius:999px;background:var(--plum-200);box-shadow:0 0 14px 2px color-mix(in oklab,var(--plum) 55%,transparent)}
.lp-dot::before,.lp-dot::after{content:'';position:absolute;inset:-2px;border-radius:999px;border:1px solid var(--plum-200);animation:lpring 3.2s ease-out infinite}
.lp-dot::after{animation-delay:1.6s}
@keyframes lpring{from{transform:scale(1);opacity:.9}to{transform:scale(3.6);opacity:0}}
.lp-l{font-size:11px;font-weight:500;color:#E8E8E4;background:rgba(21,21,25,.72);border:1px solid rgba(250,250,248,.08);padding:3px 9px;border-radius:999px}
.hmap img.lp-fr{display:block;width:26px;height:26px;max-width:26px;border-radius:999px;object-fit:cover;box-shadow:0 0 0 2px rgba(250,250,248,.9),0 8px 18px -6px rgba(0,0,0,.7);animation:lppop 700ms cubic-bezier(.16,1,.3,1) both}
.media-cap span{max-width:46ch}
@media (max-width:1000px){.lc{width:214px}.lc--3{left:6%;bottom:8%}}
@media (max-width:700px){
  .hmap{aspect-ratio:4/5}
  .hmap-live{left:14px;top:14px;padding:6px 11px;font-size:9.5px}
  .lc{width:calc(50% - 20px)}
  .lc-in{padding:9px 10px 8px;border-radius:13px}
  .lc-tag{font-size:8px;letter-spacing:.12em;margin-bottom:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .lc-row{gap:7px}
  .lc-txt b{font-size:12.5px}
  .lc-meta{font-size:10.5px}
  .lc-qr{width:30px;height:30px;border-radius:6px}.lc-qr canvas{width:25px;height:25px}
  .lc-foot{margin-top:7px;padding-top:7px;gap:5px;font-size:9.5px;white-space:nowrap}
  .lc-foot > span:last-child{overflow:hidden;text-overflow:ellipsis}
  .hmap .lc-av img{width:15px;height:15px;box-shadow:0 0 0 1.5px #151519}
  .hmap .lc-av img+img{margin-left:-5px}
  .lc--1{left:12px;top:15%;right:auto;bottom:auto}
  .lc--2{right:12px;top:34%;left:auto;bottom:auto}
  .lc--3{left:12px;top:55%;right:auto;bottom:auto}
  .lc--4{right:12px;bottom:12px;left:auto;top:auto}
  .lp-l{display:none}
  .hmap img.lp-fr{width:20px;height:20px;max-width:20px}
}
@media (prefers-reduced-motion:reduce){.lc-in,.lp-dot::before,.lp-dot::after,.hmap-live i{animation:none}}

/* ── v18: mobile features read title first, then image ── */
@media (max-width:1000px){
  .frow{display:flex;flex-direction:column;align-items:stretch}
  .frow-num{order:0}.frow-name{order:1}
  .frow .slide{order:2;margin:16px 0 14px}
  .frow-body{order:3;margin-top:0!important}
}

/* ── v18: footer legal ── */
.foot-legal{display:inline-flex;align-items:center;gap:10px}
.foot-sep{color:var(--mute);font-size:13px}
@media (max-width:560px){.foot-links--legal{flex-direction:column;align-items:flex-start}}
@media (max-width:560px){.nav{gap:14px}.nav-brand{flex:none}}
@media (max-width:440px){.brand-mark{height:12px;width:100px}.nav{padding:0 16px}.nav-right{gap:8px}}

/* ── v19: Explore swipes between two phones ── */
.pf-swipe{position:absolute;inset:0;display:flex;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scrollbar-width:none;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain}
.pf-swipe::-webkit-scrollbar{display:none}
.pf-sw{position:relative;flex:0 0 100%;height:100%;scroll-snap-align:center}
.pf-dots{position:absolute;left:50%;bottom:-2px;transform:translateX(-50%);display:flex;gap:7px;z-index:5}
.pf-dot{width:7px;height:7px;border-radius:999px;background:var(--border);cursor:pointer;transition:width 380ms cubic-bezier(.16,1,.3,1),background 300ms ease}
.pf-dot--on{width:20px;background:var(--plum)}
@media (max-width:1000px){
  .frow .panel--6{display:block;padding:30px 0 40px}
  .frow .pf-swipe{position:relative;inset:auto;width:100%}
  .frow .pf-sw{display:grid;place-items:center;height:auto}
  .frow .pf-dots{bottom:14px}
}
.stage .slide{pointer-events:none}.stage .slide--on{pointer-events:auto;z-index:2}
.pf-arw{display:none}
@media (min-width:1001px){
  .pf-arw{display:grid;place-items:center;position:absolute;top:50%;z-index:6;width:38px;height:38px;margin-top:-19px;border-radius:999px;border:1px solid var(--border);background:var(--paper);color:var(--ink);cursor:pointer;transition:background 260ms ease,color 260ms ease,opacity 260ms ease}
  .pf-arw:hover{background:var(--ink);color:var(--canvas)}
  .pf-arw svg{width:15px;height:15px;stroke:currentColor;fill:none;stroke-width:1.8}
  .pf-arw--p{left:6%}.pf-arw--n{right:6%}
  .pf-arw[disabled]{opacity:.3;pointer-events:none}
  .pf-dot{width:9px;height:9px}.pf-dot--on{width:24px}
}

/* ── v19: intro ── */
html.intro-lock,html.intro-lock body{overflow:hidden}
.intro{position:fixed;inset:0;z-index:1000;background:var(--canvas);display:grid;place-items:center;clip-path:inset(0 0 0 0);transition:clip-path 1000ms cubic-bezier(.76,0,.24,1)}
.intro-in{transition:transform 900ms cubic-bezier(.76,0,.24,1),opacity 500ms ease}
.intro-mark{display:block;width:clamp(96px,11vw,150px);height:auto;opacity:0;transform:scale(.82) rotate(-6deg);filter:blur(10px);clip-path:inset(0 100% 0 0);transition:opacity 800ms ease 250ms,transform 1500ms cubic-bezier(.16,1,.3,1) 250ms,filter 900ms ease 250ms,clip-path 1300ms cubic-bezier(.65,0,.35,1) 250ms}
.intro--play .intro-mark{opacity:1;transform:none;filter:blur(0);clip-path:inset(0 -10% 0 0);animation:introfloat 2.4s ease-in-out 1.2s infinite alternate}
@keyframes introfloat{to{transform:translateY(-4px) rotate(1.5deg)}}
.intro--out{clip-path:inset(0 0 100% 0)}
.intro--out .intro-in{transform:translateY(-40px) scale(.9);opacity:0}
@media (prefers-reduced-motion:reduce){.intro-mark{transition-duration:300ms;clip-path:none;transform:none;filter:none}.intro--play .intro-mark{animation:none}.intro{transition-duration:300ms}}
.panel--6{overflow:visible}
@media (min-width:1001px){.panel--6 .pf-dots{bottom:auto;top:calc(50% + min(223px,47%) + 16px)}}
.brand-img{display:block;height:19px;width:auto;image-rendering:auto}
@media (max-width:560px){.brand-img{height:15px}}
@media (max-width:440px){.brand-img{height:12px}}
@media (max-width:700px){
  .lp-l{display:inline-block;font-size:9px;padding:2px 7px}
  .lc{width:42%}
  .lc-in{padding:7px 9px 7px;border-radius:12px}
  .lc-tag{font-size:7px;margin-bottom:3px}
  .lc-txt b{font-size:11.5px}
  .lc-meta{font-size:9.5px}
  .lc-qr{width:26px;height:26px}.lc-qr canvas{width:21px;height:21px}
  .lc-foot{margin-top:5px;padding-top:5px;font-size:8.5px}
  .hmap .lc-av img{width:13px;height:13px}
  .lc--1{top:14%}.lc--2{top:34%}.lc--3{top:54%}.lc--4{bottom:16px}
}
@media (max-width:700px){.hmap-live{display:none}}

/* ── site nav: About lives in the header on desktop/tablet; phones hide header text links, so the same destination is a button at the bottom ── */
.foot-nav-btn{display:none}
@media (max-width:560px){
  .foot-nav-btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;width:100%;height:50px;margin-top:18px;border:1px solid var(--border);border-radius:999px;background:var(--surface);color:var(--ink);font-size:15px;font-weight:600;text-decoration:none}
  .foot-nav-btn .arrow{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
}

/* ── side link next to the brand (Take the tour); phones use the footer button ── */
.nav-side{margin-left:22px;margin-right:auto;display:inline-flex;align-items:center;gap:8px;font-size:15px;font-weight:500;color:var(--ink-2);transition:color var(--t-fast)}
.nav-side:hover{color:var(--ink)}
.nav-ico{width:16px;height:16px;flex:none;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
@media (max-width:560px){.nav-side{display:none}}
