/* ==========================================================================
   Be Leaded: design system
   Single committed light theme. Lime means pass, booked, go.
   ========================================================================== */
:root{
  color-scheme:light;
  --paper:#FBFCF8;
  --paper-2:#F2F5EB;
  --card:#FFFFFF;
  --ink:#111204;
  --ink-2:#474C3C;
  --ink-3:#6B7160;
  --line:#DDE2D2;
  --line-2:#C9CFBC;
  --lime:#C7FB6D;
  --lime-2:#B8F24F;
  --lime-3:#A6E23A;
  --on-lime:#111204;
  --signal:#3F6B00;
  --night:#111204;
  --night-2:#1A1D0C;
  --night-3:#23270F;
  --night-ink:#EEF2E4;
  --night-ink-2:#A7AE97;
  --night-line:#2D3119;
  --shadow-sm:0 1px 2px rgba(17,18,4,.06);
  --shadow:0 1px 0 rgba(17,18,4,.04),0 18px 40px -22px rgba(17,18,4,.30);
  --shadow-lg:0 2px 0 rgba(17,18,4,.03),0 44px 90px -44px rgba(17,18,4,.42);
  --display:"Bricolage Grotesque","Outfit",system-ui,-apple-system,"Segoe UI",sans-serif;
  --text:"Outfit",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  --mono:"JetBrains Mono",ui-monospace,"SFMono-Regular",Menlo,Consolas,monospace;
  --r-sm:12px;
  --r:18px;
  --r-lg:28px;
  --gutter:clamp(16px,4vw,40px);
  --ease:cubic-bezier(.2,.7,.2,1);
  --check:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Ccircle cx='8' cy='8' r='7' fill='none' stroke='black' stroke-width='1.5'/%3E%3Cpath d='M4.8 8.3l2.2 2.2 4.2-4.8' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  --plus:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14 14'%3E%3Cpath d='M7 1.5v11M1.5 7h11' stroke='black' stroke-width='1.8' stroke-linecap='round'/%3E%3C/svg%3E");
  --chev:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M3 4.5l3 3 3-3' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  --x:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Ccircle cx='8' cy='8' r='7' fill='none' stroke='black' stroke-width='1.5'/%3E%3Cpath d='M5.6 5.6l4.8 4.8M10.4 5.6l-4.8 4.8' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round'/%3E%3C/svg%3E");
}

/* ---------- Base ---------- */
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--text);font-size:17px;line-height:1.6;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overflow-x:clip}
body::after{content:"";position:fixed;inset:0;pointer-events:none;z-index:90;opacity:.04;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}
img,svg,video{max-width:100%}
img{height:auto;display:block}
a{color:inherit}
h1,h2,h3,h4{margin:0;text-wrap:balance}
p{margin:0;text-wrap:pretty}
ul,ol{margin:0;padding:0;list-style:none}
button{font:inherit}
[id]{scroll-margin-top:96px}
[hidden]{display:none!important}
.wrap{max-width:1200px;margin-inline:auto;padding-inline:var(--gutter)}
.wrap-narrow{max-width:820px;margin-inline:auto;padding-inline:var(--gutter)}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.skip{position:absolute;left:12px;top:-64px;z-index:200;background:var(--ink);color:var(--paper);padding:10px 14px;border-radius:10px;text-decoration:none;font-weight:600}
.skip:focus{top:12px}
:focus-visible{outline:3px solid var(--signal);outline-offset:3px;border-radius:6px}
.on-night :focus-visible,.on-lime :focus-visible{outline-color:currentColor}

/* ---------- Type ---------- */
.h1,.page-hero h1,.hero h1{font-family:var(--display);font-weight:650;letter-spacing:-.04em;line-height:.96}
h2,.h2{font-family:var(--display);font-weight:630;font-size:clamp(2.05rem,1.25rem + 2.8vw,3.6rem);line-height:1.02;letter-spacing:-.035em}
h3{font-family:var(--text);font-weight:600;font-size:1.2rem;line-height:1.3;letter-spacing:-.01em}
.kicker{font-size:14px;font-weight:600;color:var(--signal);letter-spacing:.01em}
.lead{font-size:clamp(1.1rem,1rem + .45vw,1.32rem);line-height:1.5;color:var(--ink-2)}
.muted{color:var(--ink-3)}
.section{padding-block:clamp(72px,9vw,128px);position:relative}
.section-head{display:grid;gap:18px;max-width:760px}
.section-head .lead{max-width:56ch}
.center{text-align:center;margin-inline:auto}
.section-head.center{justify-items:center}

/* ---------- Buttons & links ---------- */
.btn{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:10px;background:var(--lime);color:var(--on-lime);font-family:var(--text);font-weight:600;font-size:16px;line-height:1;padding:16px 24px;border-radius:999px;text-decoration:none;border:1px solid color-mix(in srgb,var(--on-lime) 14%,var(--lime));transition:background-color .2s ease,transform .14s ease-out,box-shadow .25s ease;white-space:nowrap;cursor:pointer;will-change:transform}
.btn:hover{background:var(--lime-2);box-shadow:0 10px 30px -12px color-mix(in srgb,var(--lime-3) 80%,transparent)}
.btn:active{transform:translateY(1px)}
.btn-dark{background:var(--ink);color:var(--paper);border-color:var(--ink)}
.btn-dark:hover{background:#26290F;box-shadow:0 10px 30px -14px rgba(17,18,4,.6)}
.btn-ghost{background:transparent;color:var(--ink);border:1px solid var(--line-2)}
.btn-ghost:hover{background:var(--card);border-color:var(--ink);box-shadow:none}
.btn-sm{padding:10px 16px;font-size:15px}
.btn-lg{padding:20px 32px;font-size:17px}
.link{font-weight:600;color:var(--signal);text-decoration:underline;text-decoration-thickness:1.5px;text-underline-offset:4px;transition:text-decoration-thickness .15s}
.link:hover{text-decoration-thickness:2.5px}
.on-night .link{color:var(--lime)}

/* ---------- Progress + header ---------- */
.progress{position:fixed;top:0;left:0;right:0;height:3px;z-index:120;pointer-events:none}
.progress span{display:block;height:100%;background:var(--lime-3);transform-origin:0 50%;transform:scaleX(0)}
.site-header{position:sticky;top:env(safe-area-inset-top,0px);z-index:100;background:color-mix(in srgb,var(--paper) 82%,transparent);-webkit-backdrop-filter:saturate(1.5) blur(14px);backdrop-filter:saturate(1.5) blur(14px);border-bottom:1px solid transparent;transition:border-color .25s ease,box-shadow .25s ease}
.site-header.scrolled{border-bottom-color:color-mix(in srgb,var(--line) 85%,transparent);box-shadow:0 10px 30px -24px rgba(17,18,4,.35)}
.nav{display:flex;align-items:center;gap:20px;min-height:70px}
.brand{display:inline-flex;align-items:center;color:var(--ink);flex:none;text-decoration:none}
.logo{height:22px;width:auto;display:block;aspect-ratio:193/24}
.nav-primary{margin-left:auto}
.nav-list{display:flex;gap:4px;align-items:center}
.nav-list>li{position:relative}
.nav-link,.nav-drop>button{display:inline-flex;align-items:center;gap:6px;text-decoration:none;font-size:15px;font-weight:500;color:var(--ink-2);padding:9px 12px;border-radius:999px;background:transparent;border:0;cursor:pointer;transition:background-color .15s,color .15s}
.nav-link:hover,.nav-drop>button:hover,.nav-drop>button[aria-expanded="true"]{color:var(--ink);background:color-mix(in srgb,var(--ink) 6%,transparent)}
.nav-link[aria-current="page"]{color:var(--ink);font-weight:600}
.nav-drop>button::after{content:"";width:11px;height:11px;background:currentColor;-webkit-mask:var(--chev) center/contain no-repeat;mask:var(--chev) center/contain no-repeat;transition:transform .2s}
.nav-drop>button[aria-expanded="true"]::after{transform:rotate(180deg)}
.drop{position:absolute;top:calc(100% + 10px);left:-8px;min-width:300px;background:var(--card);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow-lg);padding:8px;display:none}
.drop[data-open="true"]{display:grid;animation:dropIn .22s var(--ease)}
@keyframes dropIn{from{opacity:0;transform:translateY(-6px)}}
.drop a{display:grid;gap:2px;padding:12px 14px;border-radius:12px;text-decoration:none;color:var(--ink)}
.drop a:hover{background:var(--paper-2)}
.drop a strong{font-weight:600;font-size:15px}
.drop a span{font-size:13.5px;color:var(--ink-3);line-height:1.4}
.nav-cta{display:flex;align-items:center;gap:10px}
.nav-toggle{display:none}
@media (max-width:1020px){
  .nav{gap:10px}
  .nav-primary{margin-left:auto}
  .nav-toggle{display:inline-flex;align-items:center;gap:8px;font-size:15px;font-weight:500;color:var(--ink);background:transparent;border:1px solid var(--line-2);border-radius:999px;padding:8px 14px;cursor:pointer}
  .nav-list{position:absolute;left:0;right:0;top:100%;display:none;flex-direction:column;align-items:stretch;gap:0;background:var(--paper);border-bottom:1px solid var(--line);padding:6px var(--gutter) 18px;box-shadow:var(--shadow);max-height:calc(100dvh - 70px);overflow:auto}
  .nav-list[data-open="true"]{display:flex}
  .nav-link,.nav-drop>button{width:100%;justify-content:space-between;font-size:17px;color:var(--ink);padding:14px 2px;border-radius:0;border-bottom:1px solid var(--line)}
  .nav-link:hover,.nav-drop>button:hover{background:transparent}
  .drop{position:static;min-width:0;border:0;box-shadow:none;padding:4px 0 10px;background:transparent}
  .drop a{padding:10px 2px}
  .nav-cta .btn{padding:10px 14px}
}
@media (max-width:420px){
  .logo{height:17px}
  .nav-toggle{padding:7px 11px;font-size:14px}
  .nav-cta .btn{padding:9px 12px;font-size:14px}
}

/* ---------- Reveal system (only below the fold, only with motion) ---------- */
.motion [data-reveal]{transition:opacity .9s var(--ease),translate .9s var(--ease),scale .9s var(--ease);transition-delay:calc(var(--d,0) * 90ms)}
.motion [data-reveal].pre{opacity:0;translate:0 36px}
.motion [data-reveal].pre.in{opacity:1;translate:0 0}
.motion [data-reveal="scale"].pre{translate:0 24px;scale:.97}
.motion [data-reveal="scale"].pre.in{translate:0 0;scale:1}
.motion [data-reveal].fade.pre{translate:0 0;scale:1}
/* Scroll-linked reveals in browsers that support them (no script needed) */
@supports (animation-timeline: view()){
  html:not(.reduce):not(.jsreveal) [data-reveal]{animation:sdIn linear both;animation-timeline:view();animation-range:entry 0% entry 42%}
  html:not(.reduce):not(.jsreveal) [data-reveal="scale"]{animation-name:sdScale}
}
@keyframes sdIn{from{opacity:0;translate:0 40px}to{opacity:1;translate:0 0}}
@keyframes sdScale{from{opacity:0;translate:0 24px;scale:.96}to{opacity:1;translate:0 0;scale:1}}
.split .w{display:inline-block;overflow:hidden;vertical-align:top;padding-bottom:.14em;margin-bottom:-.14em}
.split .w>span{display:inline-block}
.motion .split.pre .w>span{transform:translateY(108%)}
.motion .split .w>span{transition:transform .9s var(--ease);transition-delay:calc(var(--i,0) * 45ms)}
.motion .split.pre.in .w>span{transform:none}

/* ---------- Hero ---------- */
.hero{position:relative;padding-block:clamp(40px,7vw,96px) clamp(40px,6vw,80px);overflow:clip}
.hero-grid{display:grid;grid-template-columns:minmax(0,1.02fr) minmax(0,.98fr);gap:clamp(40px,6vw,88px);align-items:center}
.hero h1{font-size:clamp(2.75rem,1.1rem + 5.2vw,5.6rem)}
.hero .lead{margin-top:24px;max-width:40ch}
.cta-row{margin-top:36px;display:flex;flex-wrap:wrap;align-items:center;gap:14px 16px}
.live{margin-top:30px;display:inline-flex;flex-wrap:wrap;align-items:center;gap:8px 14px;font-size:14px;color:var(--ink-2);padding:8px 14px 8px 12px;border:1px solid var(--line);border-radius:999px;background:color-mix(in srgb,var(--card) 70%,transparent)}
.live-dot{position:relative;width:9px;height:9px;border-radius:50%;background:var(--ink-3);flex:none}
.live.open .live-dot{background:#4E9A06}
.live.open .live-dot::after{content:"";position:absolute;inset:-5px;border-radius:50%;border:2px solid #4E9A06;animation:ping 1.8s var(--ease) infinite}
@keyframes ping{from{transform:scale(.4);opacity:.9}to{transform:scale(1.6);opacity:0}}
.live [data-time]{font-weight:600;color:var(--ink);font-variant-numeric:tabular-nums}
@media (max-width:960px){.hero-grid{grid-template-columns:1fr}}

.aura{position:absolute;z-index:-1;pointer-events:none;border-radius:50%;opacity:.75}
.aura-a{width:640px;height:640px;right:-180px;top:-140px;background:radial-gradient(circle,color-mix(in srgb,var(--lime) 60%,transparent) 0%,color-mix(in srgb,var(--lime) 22%,transparent) 32%,transparent 68%)}
.aura-b{width:520px;height:520px;right:170px;top:210px;background:radial-gradient(circle,color-mix(in srgb,#E8FFB8 75%,transparent) 0%,color-mix(in srgb,#E8FFB8 30%,transparent) 30%,transparent 68%)}
.aura-a{animation:driftA 18s ease-in-out infinite alternate}
.aura-b{animation:driftB 22s ease-in-out infinite alternate}
@keyframes driftA{to{transform:translate(-80px,60px) scale(1.08)}}
@keyframes driftB{to{transform:translate(90px,-50px) scale(.92)}}
@media (max-width:960px){.aura-a{right:-220px;top:360px}.aura-b{display:none}}

/* Rotator */
.rotator{position:relative}
.rot-tabs{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:14px}
.rot-tab{position:relative;overflow:hidden;font-size:13.5px;font-weight:600;color:var(--ink-2);background:color-mix(in srgb,var(--card) 80%,transparent);border:1px solid var(--line);border-radius:999px;padding:8px 14px;cursor:pointer;transition:color .2s,border-color .2s,background-color .2s}
.rot-tab[aria-selected="true"]{color:var(--ink);border-color:var(--ink);background:var(--card)}
.rot-tab .bar{position:absolute;left:0;bottom:0;height:2px;width:100%;background:var(--lime-3);transform:scaleX(0);transform-origin:0 50%}
.motion .rot-tab.run .bar{animation:fillBar 8s linear forwards}
.motion .rotator:hover .rot-tab.run .bar,.motion .rotator:focus-within .rot-tab.run .bar{animation-play-state:paused}
@keyframes fillBar{to{transform:scaleX(1)}}
.slides{display:grid}
.slide{grid-area:1/1;display:grid;gap:14px;align-content:start;transition:opacity .6s var(--ease),transform .6s var(--ease),visibility 0s linear .6s}
.slide:not(.active){opacity:0;transform:translateY(10px);visibility:hidden}
.slide.active{opacity:1;transform:none;visibility:visible;transition-delay:0s}
.mail{background:var(--card);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow-lg);overflow:hidden}
.mail-head{margin:0;padding:18px 22px 14px;display:grid;gap:6px;border-bottom:1px solid var(--line);font-family:var(--mono);font-size:12.5px;line-height:1.45}
.mail-head div{display:grid;grid-template-columns:64px minmax(0,1fr);gap:12px}
.mail-head dt{color:var(--ink-3)}
.mail-head dd{margin:0;overflow-wrap:anywhere}
.auth{display:flex;flex-wrap:wrap;gap:8px;padding:12px 22px;border-bottom:1px solid var(--line);background:var(--paper-2)}
.pill{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;font-weight:600;line-height:1;padding:6px 10px;border-radius:999px;background:var(--lime);color:var(--on-lime)}
.pill .k{font-family:var(--mono);font-weight:500}
.pill-place{background:var(--ink);color:var(--paper)}
.mail-body{padding:20px 22px 22px;display:grid;gap:11px;font-size:15.5px;line-height:1.55}
.reply{display:grid;grid-template-columns:40px minmax(0,1fr);gap:14px;background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:16px 18px;box-shadow:var(--shadow);margin-left:clamp(0px,9%,56px)}
.avatar{width:40px;height:40px;border-radius:50%;background:var(--paper-2);border:1px solid var(--line);display:grid;place-items:center;font-size:13px;font-weight:600;color:var(--ink-2)}
.reply-meta{display:flex;justify-content:space-between;align-items:baseline;gap:12px;font-size:14.5px}
.reply-meta span{color:var(--ink-3);font-size:13px;font-variant-numeric:tabular-nums}
.reply-subj{font-size:13px;color:var(--ink-3);margin-top:1px}
.reply-text{margin-top:6px;font-size:15.5px}
.booked{justify-self:start;display:inline-flex;align-items:center;gap:10px;background:var(--lime);color:var(--on-lime);border-radius:999px;padding:10px 18px 10px 13px;font-size:14px;line-height:1.3;margin-left:clamp(0px,18%,120px);box-shadow:0 14px 30px -16px color-mix(in srgb,var(--lime-3) 90%,transparent)}
.booked svg{width:18px;height:18px;flex:none}
.booked span{display:flex;flex-wrap:wrap;gap:0 8px}
.rot-cap{margin-top:14px;font-size:13px;color:var(--ink-3)}
.motion .slide.active .pill{animation:tick .45s var(--ease) both}
.motion .slide.active .pill:nth-child(1){animation-delay:.45s}
.motion .slide.active .pill:nth-child(2){animation-delay:.75s}
.motion .slide.active .pill:nth-child(3){animation-delay:1.05s}
.motion .slide.active .pill:nth-child(4){animation-delay:1.45s}
.motion .slide.active .reply{animation:rise .7s var(--ease) 2s both}
.motion .slide.active .booked{animation:land .8s cubic-bezier(.2,.9,.25,1.15) 3.1s both}
@keyframes tick{from{background:transparent;color:var(--ink-3);box-shadow:inset 0 0 0 1px var(--line-2)}}
@keyframes rise{from{transform:translateY(14px);opacity:.35}}
@keyframes land{from{transform:translateY(8px) scale(.96);opacity:.4}55%{box-shadow:0 0 0 12px color-mix(in srgb,var(--lime) 40%,transparent)}}

/* ---------- Marquee ---------- */
.marquee{border-block:1px solid var(--line);background:var(--paper-2);overflow:hidden;position:relative}
.marquee::before,.marquee::after{content:"";position:absolute;top:0;bottom:0;width:80px;z-index:2;pointer-events:none}
.marquee::before{left:0;background:linear-gradient(90deg,var(--paper-2),transparent)}
.marquee::after{right:0;background:linear-gradient(-90deg,var(--paper-2),transparent)}
.marquee-inner{display:flex;align-items:center;gap:22px;padding-block:18px}
.marquee-label{flex:none;font-size:14px;font-weight:600;color:var(--ink);padding-left:var(--gutter);position:relative;z-index:3;background:var(--paper-2);padding-right:18px}
.marquee-track{display:flex;gap:40px;width:max-content;align-items:center}
.marquee-track li{display:inline-flex;align-items:center;gap:40px;font-size:15.5px;color:var(--ink-2);white-space:nowrap}
.marquee-track li::after{content:"";width:6px;height:6px;border-radius:50%;background:var(--lime-3)}
.marquee-track{animation:marq 48s linear infinite}
.marquee:hover .marquee-track{animation-play-state:paused}
@keyframes marq{to{transform:translateX(-50%)}}
@media (prefers-reduced-motion: reduce){.marquee-track{flex-wrap:wrap;width:auto;row-gap:10px}.marquee-track [aria-hidden="true"]{display:none}}

/* ---------- Night bands (stats, infra, footer) ---------- */
.on-night{background:var(--night);color:var(--night-ink)}
.on-night .lead,.on-night .muted{color:var(--night-ink-2)}
.on-night .kicker{color:var(--lime)}
.stats{padding-block:clamp(56px,7vw,96px)}
.stats-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;border-top:1px solid var(--night-line)}
.stat{padding:28px 24px 4px 0;display:grid;gap:10px;align-content:start;border-right:1px solid var(--night-line);padding-left:24px}
.stat:first-child{padding-left:0}
.stat:last-child{border-right:0}
.stat-n{font-family:var(--display);font-weight:600;font-size:clamp(2.8rem,1.8rem + 3vw,4.6rem);line-height:.95;letter-spacing:-.045em;color:var(--lime);font-variant-numeric:tabular-nums}
.stat-l{font-size:15px;line-height:1.45;color:var(--night-ink-2);max-width:26ch}
.stat-l strong{color:var(--night-ink);font-weight:600}
.stats-note{margin-top:28px;font-size:13px;color:var(--night-ink-2)}
@media (max-width:900px){
  .stats-grid{grid-template-columns:1fr 1fr}
  .stat{border-right:0;padding-left:0;border-bottom:1px solid var(--night-line);padding-bottom:24px}
  .stat:nth-child(odd){padding-right:16px;border-right:1px solid var(--night-line)}
  .stat:nth-child(even){padding-left:20px}
}
@media (max-width:480px){.stats-grid{grid-template-columns:1fr}.stat:nth-child(odd){border-right:0;padding-right:0}.stat:nth-child(even){padding-left:0}}

/* ---------- Compare (where outbound breaks) ---------- */
.compare{margin-top:56px;border-top:1px solid var(--ink)}
.compare-head,.compare-row{display:grid;grid-template-columns:190px minmax(0,1fr) minmax(0,1fr);gap:36px}
.compare-head{padding-block:14px;font-size:13.5px;font-weight:600;color:var(--ink-3);border-bottom:1px solid var(--line)}
.compare-row{padding-block:30px;border-bottom:1px solid var(--line);align-items:start}
.compare-row h3{font-family:var(--display);font-size:1.7rem;font-weight:620;letter-spacing:-.025em;line-height:1.1}
.cell p{font-size:16.5px}
.usual p{color:var(--ink-3);position:relative;padding-left:28px}
.usual p::before,.ours p::before{content:"";position:absolute;left:0;top:.28em;width:17px;height:17px}
.usual p::before{background:var(--ink-3);-webkit-mask:var(--x) center/contain no-repeat;mask:var(--x) center/contain no-repeat;opacity:.7}
.ours p{color:var(--ink);position:relative;padding-left:28px}
.ours p::before{background:var(--signal);-webkit-mask:var(--check) center/contain no-repeat;mask:var(--check) center/contain no-repeat}
.cell-label{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
@media (max-width:820px){
  .compare-head{display:none}
  .compare-row{grid-template-columns:1fr;gap:14px;padding-block:26px}
  .cell-label{position:static;width:auto;height:auto;overflow:visible;clip:auto;white-space:normal;display:block;font-size:13px;font-weight:600;color:var(--ink-3);margin-bottom:6px}
}

/* ---------- Service cards ---------- */
.svc-cards{margin-top:56px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.svc-card{position:relative;isolation:isolate;display:flex;flex-direction:column;gap:18px;padding:28px;border-radius:var(--r-lg);background:var(--card);border:1px solid var(--line);text-decoration:none;color:var(--ink);overflow:hidden;transition:transform .45s var(--ease),box-shadow .45s var(--ease),border-color .3s}
.svc-card:hover{transform:translateY(-6px);box-shadow:var(--shadow-lg);border-color:var(--line-2)}
.spot::before{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(380px circle at var(--mx,50%) var(--my,0%),color-mix(in srgb,var(--lime) 55%,transparent),transparent 62%);opacity:0;transition:opacity .35s}
.spot:hover::before{opacity:1}
.svc-card .tag{font-size:13px;font-weight:600;color:var(--signal)}
.svc-card h3{font-family:var(--display);font-size:1.7rem;font-weight:620;letter-spacing:-.03em;line-height:1.05}
.svc-card p{color:var(--ink-2);font-size:16px}
.svc-card .go{margin-top:auto;font-weight:600;font-size:15px;color:var(--ink);display:inline-flex;align-items:center;gap:8px}
.svc-card .go::after{content:"";width:28px;height:1.5px;background:currentColor;transition:width .35s var(--ease)}
.svc-card:hover .go::after{width:44px}
.mini{border:1px solid var(--line);border-radius:14px;background:var(--paper-2);padding:14px;min-height:132px;display:grid;align-content:center}
.mini-seq{display:grid;grid-template-columns:repeat(4,1fr);position:relative;gap:6px}
.mini-seq::before{content:"";position:absolute;left:8%;right:8%;top:8px;height:2px;background:var(--line-2)}
.mini-seq li{position:relative;display:grid;justify-items:center;gap:6px;font-size:12px;color:var(--ink-2);text-align:center;line-height:1.25}
.mini-seq li::before{content:"";width:18px;height:18px;border-radius:50%;background:var(--card);border:2px solid var(--ink);position:relative;z-index:1}
.mini-seq li:last-child::before{background:var(--lime)}
.mini-seq b{font-weight:600;color:var(--ink);font-size:12px}
.mini-rows{display:grid;gap:6px;font-size:12.5px}
.mini-rows div{display:grid;grid-template-columns:1fr auto;gap:10px;padding:7px 10px;background:var(--card);border:1px solid var(--line);border-radius:8px}
.mini-rows span:last-child{color:var(--signal);font-weight:600}
.mini-news{display:grid;grid-template-columns:auto 1fr;gap:14px;align-items:center}
.mini-news .thumb{width:74px;height:98px;border-radius:8px;background:linear-gradient(180deg,var(--ink) 0 34%,var(--card) 34% 100%);border:1px solid var(--line);position:relative;overflow:hidden}
.mini-news .thumb::after{content:"";position:absolute;left:10px;right:10px;top:46px;height:36px;background:repeating-linear-gradient(180deg,var(--line) 0 3px,transparent 3px 8px)}
.mini-news .thumb::before{content:"";position:absolute;left:10px;top:12px;width:34px;height:8px;border-radius:4px;background:var(--lime)}
.mini-news dl{margin:0;display:grid;gap:8px}
.mini-news dt{font-size:12px;color:var(--ink-3)}
.mini-news dd{margin:0;font-family:var(--display);font-size:1.6rem;font-weight:600;letter-spacing:-.03em;line-height:1}
@media (max-width:980px){.svc-cards{grid-template-columns:1fr}}

/* ---------- Flow (sticky scroll story) ---------- */
.flow-grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(40px,6vw,96px);align-items:start}
.flow-sticky{position:sticky;top:130px;display:grid;gap:22px}
.meter{height:4px;border-radius:999px;background:var(--line);overflow:hidden;max-width:360px}
.meter span{display:block;height:100%;background:var(--ink);transform-origin:0 50%;transform:scaleX(var(--p,0));transition:transform .2s linear}
.meter-label{font-size:14px;color:var(--ink-3);font-variant-numeric:tabular-nums}
.flow-steps{display:grid;gap:20px;counter-reset:step}
.flow-step{position:relative;padding:30px 30px 30px 84px;border-radius:var(--r-lg);background:var(--card);border:1px solid var(--line);transition:opacity .5s var(--ease),transform .5s var(--ease),box-shadow .5s var(--ease),border-color .4s}
.flow-step::before{counter-increment:step;content:counter(step);position:absolute;left:28px;top:30px;width:36px;height:36px;border-radius:50%;display:grid;place-items:center;font-weight:600;font-size:15px;background:var(--paper-2);border:1px solid var(--line-2);transition:background-color .4s,border-color .4s}
.flow-step .when{display:block;font-size:13.5px;font-weight:600;color:var(--signal);margin-bottom:6px}
.flow-step h3{font-family:var(--display);font-size:1.6rem;font-weight:620;letter-spacing:-.025em;margin-bottom:10px}
.flow-step p{color:var(--ink-2)}
.flow-step ul{margin-top:14px}
.motion .flow-steps.live .flow-step{opacity:.45}
.motion .flow-steps.live .flow-step.current{opacity:1;transform:translateX(-6px);box-shadow:var(--shadow-lg);border-color:var(--line-2)}
.motion .flow-steps.live .flow-step.passed{opacity:.8}
.flow-step.current::before,.flow-step.passed::before{background:var(--lime);border-color:var(--ink)}
@media (max-width:900px){
  .flow-grid{grid-template-columns:1fr}
  .flow-sticky{position:static}
  .motion .flow-steps.live .flow-step{opacity:1;transform:none}
  .flow-step{padding:26px 22px 26px 72px}
  .flow-step::before{left:20px;top:26px}
}

/* ---------- Infra / machine ---------- */
.machine{background:var(--night);color:var(--night-ink);border:1px solid var(--night-line);border-radius:36px;padding:clamp(28px,5.5vw,80px);display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:clamp(36px,5vw,72px);align-items:center;position:relative;overflow:hidden;isolation:isolate}
.machine::before{content:"";position:absolute;z-index:-1;width:620px;height:620px;right:-200px;bottom:-280px;border-radius:50%;background:radial-gradient(circle,color-mix(in srgb,var(--lime) 22%,transparent),transparent 65%);filter:blur(10px)}
.machine h2{color:var(--night-ink);max-width:17ch}
.machine .lead{margin-top:20px;max-width:44ch}
.ticks{display:grid;gap:11px}
.ticks li{position:relative;padding-left:29px;line-height:1.45}
.ticks li::before{content:"";position:absolute;left:0;top:.2em;width:17px;height:17px;background:var(--signal);-webkit-mask:var(--check) center/contain no-repeat;mask:var(--check) center/contain no-repeat}
.on-night .ticks li::before,.machine .ticks li::before{background:var(--lime)}
.machine .ticks{margin-top:28px}
.report{margin:0;background:var(--night-2);border:1px solid var(--night-line);border-radius:22px;overflow:hidden;position:relative}
.report-head{display:flex;justify-content:space-between;align-items:baseline;gap:6px 16px;flex-wrap:wrap;padding:16px 20px;border-bottom:1px solid var(--night-line);font-size:13px;color:var(--night-ink-2)}
.report-head .domain{font-family:var(--mono);font-size:13px;color:var(--night-ink)}
.records{margin:0;position:relative}
.records>div{display:grid;grid-template-columns:112px minmax(0,1fr) auto;gap:14px;align-items:center;padding:12px 20px;border-bottom:1px solid var(--night-line);transition:background-color .4s}
.records>div:last-child{border-bottom:0}
.records dt{font-size:13.5px;font-weight:600;color:var(--night-ink)}
.records dd{margin:0}
.records .val{font-family:var(--mono);font-size:12.5px;color:var(--night-ink-2);overflow-wrap:anywhere}
.st{font-size:12.5px;font-weight:600;line-height:1;border-radius:999px;padding:5px 10px;white-space:nowrap}
.st-ok{color:var(--on-lime);background:var(--lime)}
.st-wait{display:none;color:var(--night-ink-2);box-shadow:inset 0 0 0 1px var(--night-line)}
.records .pending .st-ok{display:none}
.records .pending .st-wait{display:inline-block}
.records .done{animation:flash .9s var(--ease)}
@keyframes flash{from{background:color-mix(in srgb,var(--lime) 16%,transparent)}}
.scan-line{position:absolute;left:0;right:0;height:46px;top:-46px;pointer-events:none;background:linear-gradient(180deg,transparent,color-mix(in srgb,var(--lime) 18%,transparent),transparent);opacity:0}
.scanning .scan-line{opacity:1;animation:scan 3.1s linear forwards}
@keyframes scan{to{top:100%}}
.report figcaption{padding:12px 20px;font-size:12.5px;color:var(--night-ink-2);border-top:1px solid var(--night-line)}
@media (max-width:920px){.machine{grid-template-columns:1fr}}
@media (max-width:480px){.records>div{grid-template-columns:minmax(0,1fr) auto;row-gap:4px}.records .val{grid-column:1/-1;grid-row:2}}

/* ---------- Work cards ---------- */
.work-grid{margin-top:52px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.work-card{position:relative;isolation:isolate;overflow:hidden;display:flex;flex-direction:column;gap:14px;padding:26px;border-radius:var(--r-lg);background:var(--card);border:1px solid var(--line);transition:transform .45s var(--ease),box-shadow .45s var(--ease)}
.work-card:hover{transform:translateY(-5px);box-shadow:var(--shadow-lg)}
.work-card .ind{font-size:13px;font-weight:600;color:var(--ink-3)}
.work-card h3{font-family:var(--display);font-size:1.45rem;font-weight:620;letter-spacing:-.025em;line-height:1.12}
.work-card p{color:var(--ink-2);font-size:15.5px}
.chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:auto;padding-top:6px}
.chip{font-size:12.5px;font-weight:600;padding:6px 10px;border-radius:999px;background:var(--paper-2);border:1px solid var(--line);color:var(--ink-2)}
@media (max-width:980px){.work-grid{grid-template-columns:1fr 1fr}}
@media (max-width:640px){.work-grid{grid-template-columns:1fr}}

/* ---------- Newsletter stack & gallery ---------- */
.news-split{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(40px,6vw,96px);align-items:center}
.stack{position:relative;height:clamp(380px,42vw,520px)}
.stack figure{position:absolute;margin:0;width:min(62%,340px);border-radius:16px;overflow:hidden;background:var(--card);border:1px solid var(--line);box-shadow:var(--shadow-lg);transition:transform .6s var(--ease)}
.stack figure img{width:100%}
.stack figure:nth-child(1){left:0;top:12%;transform:rotate(-7deg)}
.stack figure:nth-child(2){left:20%;top:0;z-index:2;transform:rotate(1.5deg)}
.stack figure:nth-child(3){right:0;top:16%;z-index:1;transform:rotate(8deg)}
.stack:hover figure:nth-child(1){transform:rotate(-10deg) translateX(-16px)}
.stack:hover figure:nth-child(3){transform:rotate(11deg) translateX(16px)}
@media (max-width:900px){.news-split{grid-template-columns:1fr}.stack{height:clamp(320px,90vw,480px)}}
.gallery{margin-top:48px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}
.nl{margin:0;display:grid;gap:0;border-radius:var(--r-lg);background:var(--card);border:1px solid var(--line);overflow:hidden;transition:transform .45s var(--ease),box-shadow .45s var(--ease)}
.nl:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg)}
.nl-img{background:var(--paper-2);border-bottom:1px solid var(--line);padding:26px 26px 0;height:440px;overflow:hidden;position:relative}
.nl-img img{border-radius:10px 10px 0 0;box-shadow:var(--shadow);transition:transform 6s linear}
.nl:hover .nl-img img{transform:translateY(calc(-100% + 414px))}
@media (prefers-reduced-motion: reduce){.nl:hover .nl-img img{transform:none}}
.nl figcaption{padding:20px 24px 24px;display:grid;gap:6px}
.nl .badge{justify-self:start;font-size:12.5px;font-weight:600;padding:5px 10px;border-radius:999px}
.badge-real{background:var(--lime);color:var(--on-lime)}
.badge-concept{background:var(--paper-2);color:var(--ink-2);border:1px solid var(--line)}
.nl h3{font-family:var(--display);font-size:1.35rem;font-weight:620;letter-spacing:-.02em}
.nl p{font-size:15px;color:var(--ink-2)}
@media (max-width:760px){.gallery{grid-template-columns:1fr}.nl-img{height:380px}}

/* ---------- Pricing ---------- */
.price-block{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(32px,6vw,96px);align-items:end}
.price{font-family:var(--display);font-weight:630;letter-spacing:-.05em;line-height:.92;font-size:clamp(3.8rem,2rem + 7vw,8rem);font-variant-numeric:tabular-nums}
.price small{display:block;font-family:var(--text);letter-spacing:0;font-weight:500;color:var(--ink-2);font-size:max(15px,.18em);margin-bottom:14px;line-height:1.3}
.price .per{font-family:var(--text);letter-spacing:0;font-weight:500;color:var(--ink-2);font-size:max(17px,.22em)}
.terms{display:grid;gap:28px;justify-items:start}
@media (max-width:820px){.price-block{grid-template-columns:1fr;align-items:start}}

/* ---------- Tables ---------- */
.table-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:var(--r);background:var(--card);margin-top:32px}
.table{width:100%;border-collapse:collapse;font-size:15px;min-width:640px}
.table caption{text-align:left;padding:16px 20px;font-weight:600;border-bottom:1px solid var(--line)}
.table th,.table td{text-align:left;padding:14px 18px;border-bottom:1px solid var(--line);vertical-align:top}
.table thead th{font-size:13px;font-weight:600;color:var(--ink-3);background:var(--paper-2)}
.table tbody th{font-weight:600;width:24%}
.table tr:last-child td,.table tr:last-child th{border-bottom:0}
.table .hl{background:color-mix(in srgb,var(--lime) 22%,var(--card))}
.table .num{font-variant-numeric:tabular-nums}

/* ---------- FAQ ---------- */
.faq-grid{display:grid;grid-template-columns:minmax(0,.75fr) minmax(0,1.25fr);gap:clamp(32px,6vw,96px);align-items:start}
.faq-list{border-top:1px solid var(--ink)}
.faq-list details{border-bottom:1px solid var(--line)}
.faq-list summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:20px;padding:22px 0;font-size:1.1rem;font-weight:600;line-height:1.35}
.faq-list summary::-webkit-details-marker{display:none}
.faq-list summary::after{content:"";flex:none;width:14px;height:14px;background:var(--ink);-webkit-mask:var(--plus) center/contain no-repeat;mask:var(--plus) center/contain no-repeat;transition:transform .25s var(--ease)}
.faq-list details[open] summary::after{transform:rotate(45deg)}
.faq-list details p{padding:0 40px 24px 0;color:var(--ink-2);max-width:64ch}
.faq-list details[open] p{animation:fadeDown .35s var(--ease)}
@keyframes fadeDown{from{opacity:0;transform:translateY(-6px)}}
@media (max-width:860px){.faq-grid{grid-template-columns:1fr}.faq-list details p{padding-right:0}}

/* ---------- Lime CTA band ---------- */
.cta-band{padding-block:clamp(24px,4vw,48px) clamp(64px,8vw,112px)}
.cta-card{position:relative;overflow:hidden;isolation:isolate;background:var(--lime);color:var(--on-lime);border-radius:40px;padding:clamp(36px,7vw,104px) clamp(28px,6vw,88px);display:grid;gap:26px;justify-items:start}
.cta-card h2{font-size:clamp(2.6rem,1.2rem + 5vw,5.8rem);line-height:.95;letter-spacing:-.045em;max-width:13ch}
.cta-card p{font-size:clamp(1.05rem,1rem + .35vw,1.25rem);max-width:46ch;color:#2A330F}
.cta-card .email-line{color:#2A330F}
.cta-mark{position:absolute;z-index:-1;right:-6%;bottom:-18%;width:min(62%,640px);color:var(--lime-3);opacity:.9;pointer-events:none}
.motion .cta-mark{transform:translateY(var(--py,0px))}
.email-line{display:flex;flex-wrap:wrap;align-items:center;gap:8px 10px;font-size:15.5px}
.email-line a{font-weight:600;text-underline-offset:3px;color:inherit}
.copy{font-size:13px;font-weight:600;color:inherit;background:transparent;border:1px solid currentColor;border-radius:999px;padding:5px 12px;cursor:pointer;opacity:.85}
.copy:hover{opacity:1}

/* ---------- Page hero (inner pages) ---------- */
.page-hero{position:relative;padding-block:clamp(36px,6vw,80px) clamp(48px,6vw,88px);overflow:clip}
.crumbs{display:flex;flex-wrap:wrap;gap:6px 10px;font-size:14px;color:var(--ink-3);margin-bottom:26px}
.crumbs a{color:var(--ink-2);text-decoration:none}
.crumbs a:hover{color:var(--ink);text-decoration:underline;text-underline-offset:3px}
.crumbs li+li::before{content:"/";margin-right:10px;color:var(--line-2)}
.page-hero h1{font-size:clamp(2.5rem,1.2rem + 4.4vw,5rem);max-width:17ch}
.page-hero .lead{margin-top:26px;max-width:58ch}
.page-hero-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:clamp(40px,6vw,88px);align-items:center}
@media (max-width:960px){.page-hero-grid{grid-template-columns:1fr}}
.answer{margin-top:28px;padding:20px 22px;border-radius:var(--r);background:var(--card);border:1px solid var(--line);font-size:16px;color:var(--ink-2);max-width:62ch}
.answer strong{color:var(--ink)}
.updated{margin-top:18px;font-size:14px;color:var(--ink-3)}

/* ---------- Feature grid ---------- */
.features{margin-top:52px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.feature{padding:26px;border-radius:var(--r-lg);background:var(--card);border:1px solid var(--line);display:grid;gap:10px;align-content:start}
.feature h3{font-size:1.15rem}
.feature p{color:var(--ink-2);font-size:15.5px}
.feature .fi{width:44px;height:44px;border-radius:12px;background:var(--paper-2);border:1px solid var(--line);display:grid;place-items:center;margin-bottom:6px}
.feature .fi svg{width:22px;height:22px}
@media (max-width:980px){.features{grid-template-columns:1fr 1fr}}
@media (max-width:620px){.features{grid-template-columns:1fr}}

/* ---------- Two-col helpers ---------- */
.split-2{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(32px,6vw,88px);align-items:start}
@media (max-width:900px){.split-2{grid-template-columns:1fr}}
.panel{padding:clamp(24px,3.5vw,40px);border-radius:var(--r-lg);background:var(--paper-2);border:1px solid var(--line)}
.panel h3{font-family:var(--display);font-size:1.5rem;font-weight:620;letter-spacing:-.025em;margin-bottom:14px}

/* ---------- Steps (inner pages) ---------- */
.steps{margin-top:48px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:28px;position:relative}
.steps::before{content:"";position:absolute;left:0;right:0;top:7px;height:1px;background:var(--line-2)}
.steps li{position:relative;padding-top:34px;display:grid;gap:10px;align-content:start}
.steps li::before{content:"";position:absolute;top:0;left:0;width:15px;height:15px;border-radius:50%;background:var(--paper);border:2px solid var(--ink)}
.steps li:last-child::before{background:var(--lime)}
.steps .when{font-size:13.5px;font-weight:600;color:var(--signal)}
.steps p{color:var(--ink-2);font-size:16px}
.steps-3{grid-template-columns:repeat(3,minmax(0,1fr))}
@media (max-width:860px){
  .steps{grid-template-columns:1fr;gap:28px}
  .steps::before{left:7px;right:auto;top:10px;bottom:10px;width:1px;height:auto}
  .steps li{padding-top:0;padding-left:38px}
  .steps li::before{top:4px}
}

/* ---------- Owners table (M&A) ---------- */
.owners{margin:0;background:var(--card);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow-lg);overflow:hidden}
.owners-scroll{overflow-x:auto}
.owners table{width:100%;border-collapse:collapse;font-size:14px;min-width:520px}
.owners caption{text-align:left;padding:16px 20px;font-weight:600;font-size:14.5px;border-bottom:1px solid var(--line)}
.owners th{text-align:left;font-weight:500;color:var(--ink-3);font-size:12.5px;padding:10px 14px;border-bottom:1px solid var(--line);white-space:nowrap}
.owners td{padding:13px 14px;border-bottom:1px solid var(--line);white-space:nowrap;font-variant-numeric:tabular-nums;vertical-align:top}
.owners th:first-child,.owners td:first-child{padding-left:20px}
.owners th:last-child,.owners td:last-child{padding-right:20px}
.owners td:first-child{white-space:normal;min-width:150px;font-weight:500}
.owners td:last-child{color:var(--ink-2);white-space:normal;min-width:140px}
.owners tbody tr:last-child td{border-bottom:0}
.owners figcaption{padding:12px 20px;font-size:13px;color:var(--ink-3);border-top:1px solid var(--line);background:var(--paper-2)}
.owners td:last-child{color:inherit;min-width:0;white-space:nowrap}
.owners td .sub{display:block;font-size:12.5px;font-weight:400;color:var(--ink-3);margin-top:2px}
.owners td.sig{white-space:normal;color:var(--ink-2);min-width:150px}
.st-soft{background:var(--paper-2);color:var(--ink-2);box-shadow:inset 0 0 0 1px var(--line-2)}
.owners .st-wait{color:var(--ink-3);box-shadow:inset 0 0 0 1px var(--line-2)}
.owners .pending .st-final{display:none}
.owners .pending .st-wait{display:inline-block}
.owners .done td{animation:flash .9s var(--ease)}

/* ---------- Prose (guides, legal) ---------- */
.prose{font-size:18px;line-height:1.7;color:var(--ink)}
.prose>*+*{margin-top:1.1em}
.prose h2{font-size:clamp(1.8rem,1.3rem + 1.6vw,2.5rem);margin-top:2em;scroll-margin-top:100px}
.prose h3{font-size:1.3rem;margin-top:1.6em}
.prose p,.prose li{color:var(--ink-2)}
.prose strong{color:var(--ink)}
.prose ul,.prose ol{padding-left:1.3em}
.prose ul{list-style:disc}
.prose ol{list-style:decimal}
.prose li+li{margin-top:.45em}
.prose li::marker{color:var(--ink-3)}
.prose a{color:var(--signal);font-weight:600;text-underline-offset:3px}
.prose code{font-family:var(--mono);font-size:.84em;background:var(--paper-2);border:1px solid var(--line);border-radius:6px;padding:.12em .4em;overflow-wrap:anywhere}
.prose .table-wrap{margin-top:1.4em}
.prose .table{font-size:15px}
.prose .table td,.prose .table th{color:var(--ink-2)}
.prose .table tbody th{color:var(--ink)}
.callout{padding:20px 22px;border-radius:var(--r);background:var(--paper-2);border:1px solid var(--line)}
.callout p{color:var(--ink)}
.toc{padding:20px 22px;border-radius:var(--r);background:var(--card);border:1px solid var(--line);font-size:15.5px}
.toc strong{display:block;margin-bottom:8px}
.toc ol{list-style:none;padding-left:0;display:grid;gap:6px}
.toc li{padding-left:14px;position:relative}
.toc li::before{content:"";position:absolute;left:0;top:.62em;width:6px;height:6px;border-radius:50%;background:var(--lime-3)}
.toc a{color:var(--ink-2);text-decoration:none;font-weight:500}
.toc a:hover{color:var(--ink);text-decoration:underline;text-underline-offset:3px}
.sources{font-size:15px}
.sources li{color:var(--ink-3)}
.qa{padding:22px 0;border-bottom:1px solid var(--line)}
.qa h3{margin-top:0;font-size:1.2rem}
.qa p{margin-top:10px}
.qa .good{margin-top:10px;padding-left:16px;border-left:3px solid var(--lime-3);color:var(--ink)}

/* ---------- Engagement detail ---------- */
.eng{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(28px,5vw,72px);padding-block:48px;border-top:1px solid var(--line)}
.eng:first-of-type{border-top:1px solid var(--ink)}
.eng-meta{display:grid;gap:14px;align-content:start;position:sticky;top:110px}
.eng-meta .ind{font-size:14px;font-weight:600;color:var(--signal)}
.eng-meta h3{font-family:var(--display);font-size:clamp(1.6rem,1.2rem + 1.2vw,2.2rem);font-weight:630;letter-spacing:-.03em;line-height:1.05}
.eng-body{display:grid;gap:22px}
.eng-body h4{font-size:14px;font-weight:600;color:var(--ink-3);margin-bottom:6px}
.eng-body p{color:var(--ink-2)}
@media (max-width:880px){.eng{grid-template-columns:1fr}.eng-meta{position:static}}

/* ---------- Founder ---------- */
.founder{display:grid;grid-template-columns:auto minmax(0,1fr);gap:28px;align-items:start}
.monogram{width:112px;height:112px;border-radius:28px;background:var(--night);color:var(--lime);display:grid;place-items:center;font-family:var(--display);font-weight:650;font-size:2.4rem;letter-spacing:-.04em}
@media (max-width:620px){.founder{grid-template-columns:1fr}}

/* ---------- Footer ---------- */
.site-footer{background:var(--night);color:var(--night-ink);position:relative;overflow:hidden}
.foot-top{display:grid;grid-template-columns:minmax(0,1.4fr) repeat(4,minmax(0,1fr));gap:32px;padding-block:72px 48px}
.foot-brand{display:grid;gap:18px;align-content:start}
.foot-brand .logo{height:24px;color:var(--night-ink)}
.foot-brand p{font-size:15px;line-height:1.55;color:var(--night-ink-2);max-width:40ch}
.foot-h{font-size:14px;font-weight:600;color:var(--night-ink);margin-bottom:14px}
.foot-col ul{display:grid;gap:10px}
.foot-col a{font-size:15px;color:var(--night-ink-2);text-decoration:none}
.foot-col a:hover{color:var(--lime)}
.foot-bottom{display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px 24px;padding-block:22px 30px;border-top:1px solid var(--night-line);font-size:13.5px;color:var(--night-ink-2)}
.foot-bottom a{color:var(--night-ink-2)}
.foot-word{font-family:var(--display);font-weight:650;letter-spacing:-.06em;line-height:.8;font-size:clamp(4rem,2rem + 13vw,15rem);color:var(--night-2);white-space:nowrap;margin-top:8px;margin-bottom:-.12em;user-select:none;pointer-events:none}
@media (max-width:1000px){.foot-top{grid-template-columns:1fr 1fr}.foot-brand{grid-column:1/-1}}
@media (max-width:480px){.foot-top{grid-template-columns:1fr}}

/* ---------- SPA preview only ---------- */
[data-route][hidden]{display:none!important}

/* ---------- Send report card (newsletter hero) ---------- */
.report-card{margin:0;background:var(--card);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow-lg);overflow:hidden}
.rc-head{display:flex;justify-content:space-between;align-items:baseline;flex-wrap:wrap;gap:6px 16px;padding:18px 22px;border-bottom:1px solid var(--line)}
.rc-title{font-family:var(--display);font-weight:620;font-size:1.3rem;letter-spacing:-.02em}
.rc-sent{font-size:13px;color:var(--ink-3)}
.bars{margin:0;padding:8px 22px 14px}
.bars>div{display:grid;grid-template-columns:132px minmax(0,1fr);gap:16px;align-items:center;padding:14px 0;border-bottom:1px solid var(--line)}
.bars>div:last-child{border-bottom:0}
.bars dt{font-size:14.5px;font-weight:500;color:var(--ink-2)}
.bars dd{margin:0;display:grid;grid-template-columns:62px minmax(0,1fr);gap:12px;align-items:center}
.bar-v{font-weight:600;font-variant-numeric:tabular-nums;font-size:15px}
.bar-t{height:10px;border-radius:999px;background:var(--paper-2);border:1px solid var(--line);overflow:hidden}
.bar-t i{display:block;height:100%;width:calc(var(--w,0) * 100%);background:var(--lime-3);border-radius:inherit;transform-origin:0 50%}
.bars>div:first-child .bar-t i{background:var(--ink)}
.bar-t i{animation:grow 1.6s var(--ease) both}
.bars>div:nth-child(2) .bar-t i{animation-delay:.25s}
.bars>div:nth-child(3) .bar-t i{animation-delay:.5s}
@keyframes grow{from{transform:scaleX(0)}}
.report-card figcaption{padding:12px 22px;font-size:13px;color:var(--ink-3);border-top:1px solid var(--line);background:var(--paper-2)}
@media (max-width:420px){.bars>div{grid-template-columns:104px minmax(0,1fr);gap:10px}.bars dd{grid-template-columns:54px minmax(0,1fr)}}

/* ---------- Phone thread (SMS) ---------- */
.phone{margin:0 auto;width:min(100%,380px);background:var(--card);border:1px solid var(--line);border-radius:38px;box-shadow:var(--shadow-lg);padding:12px}
.phone-top{display:grid;justify-items:center;gap:2px;padding:16px 12px 12px;border-bottom:1px solid var(--line)}
.phone-top::before{content:"";width:40px;height:40px;border-radius:50%;background:var(--night);margin-bottom:6px;box-shadow:inset 0 0 0 3px var(--lime)}
.phone-name{font-weight:600;font-size:15px}
.phone-sub{font-size:12.5px;color:var(--ink-3)}
.thread{display:grid;gap:10px;padding:18px 8px 14px;align-content:start}
.bubble{max-width:84%;padding:11px 14px;border-radius:20px;font-size:15px;line-height:1.42}
.bubble.out{justify-self:end;background:var(--ink);color:var(--paper);border-bottom-right-radius:6px}
.bubble.in{justify-self:start;background:var(--paper-2);border:1px solid var(--line);border-bottom-left-radius:6px}
.typing{justify-self:start;display:inline-flex;gap:5px;padding:13px 16px;border-radius:20px;background:var(--paper-2);border:1px solid var(--line)}
.typing span{width:7px;height:7px;border-radius:50%;background:var(--ink-3);opacity:.5}
.typing span{animation:blink 1.2s infinite}
.typing span:nth-child(2){animation-delay:.2s}
.typing span:nth-child(3){animation-delay:.4s}
@keyframes blink{0%,60%,100%{opacity:.35;transform:none}30%{opacity:1;transform:translateY(-3px)}}
.phone figcaption{padding:12px 12px 6px;font-size:12.5px;color:var(--ink-3);text-align:center;border-top:1px solid var(--line)}

/* ---------- Work list + filters ---------- */
.work-top{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:end;gap:18px 24px;padding-bottom:22px;border-bottom:1px solid var(--ink)}
.filters{display:flex;flex-wrap:wrap;gap:8px}
.filter{font-size:14px;font-weight:600;color:var(--ink-2);background:var(--card);border:1px solid var(--line-2);border-radius:999px;padding:8px 14px;cursor:pointer;transition:background-color .2s,color .2s,border-color .2s}
.filter:hover{border-color:var(--ink);color:var(--ink)}
.filter[aria-pressed="true"]{background:var(--ink);color:var(--paper);border-color:var(--ink)}
.eng{border-top:0;border-bottom:1px solid var(--line)}
.eng:first-of-type{border-top:0}
.motion .eng.flash-in{animation:rise .55s var(--ease)}
.eng-stats{margin:4px 0 0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.eng-stats div{padding:16px 18px;border-radius:var(--r-sm);background:var(--paper-2);border:1px solid var(--line)}
.eng-stats dt{font-size:13px;color:var(--ink-3)}
.eng-stats dd{margin:6px 0 0;font-family:var(--display);font-weight:620;font-size:clamp(1.6rem,1.2rem + 1.2vw,2.2rem);letter-spacing:-.03em;line-height:1;font-variant-numeric:tabular-nums}
.filter-empty{padding:40px 0;color:var(--ink-3)}
@media (max-width:560px){.eng-stats{grid-template-columns:1fr 1fr}}
a.nl-img{display:block;text-decoration:none}
.stack figure{aspect-ratio:2/3}
.stack figure img{width:100%;height:100%;object-fit:cover;object-position:top}

/* ---------- Article layout ---------- */
.byline{margin-top:22px;font-size:15px;color:var(--ink-3)}
.byline a{color:var(--ink);font-weight:600;text-underline-offset:3px}
.article-grid{display:grid;grid-template-columns:250px minmax(0,1fr);gap:clamp(32px,5vw,72px);align-items:start}
.article-grid .toc{position:sticky;top:100px}
.article-grid .prose{max-width:780px}
.prose>h2:first-child{margin-top:0}
.prose pre.rec{margin-top:1em;padding:16px 18px;border-radius:var(--r-sm);background:var(--night);color:var(--lime);font-family:var(--mono);font-size:14px;line-height:1.5;overflow-x:auto;white-space:pre-wrap;overflow-wrap:anywhere}
.prose pre.rec code{background:none;border:0;padding:0;color:inherit;font-size:inherit}
.prose .ticks.plain{list-style:none;padding-left:0}
.prose .ticks.plain li{color:var(--ink)}
.prose .faq-list{margin-top:1.2em}
.prose .faq-list details p{margin-top:0}
.prose .faq-list summary{font-size:1.05rem}
.prose .callout{margin-top:1.4em}
.prose .qa .good{color:var(--ink)}
@media (max-width:980px){.article-grid{grid-template-columns:1fr}.article-grid .toc{position:static}}

/* ---------- Plans (pricing) ---------- */
.plans{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:18px;align-items:stretch}
.plan{display:flex;flex-direction:column;gap:22px;align-items:flex-start;padding:clamp(28px,4vw,48px);border-radius:var(--r-lg);background:var(--card);border:1px solid var(--line)}
.plan-main{background:var(--lime);border-color:color-mix(in srgb,var(--on-lime) 14%,var(--lime))}
.plan-main .ticks li::before{background:var(--on-lime)}
.plan-main .price small,.plan-main .price .per{color:#2A330F}
.plan-tag{font-size:14px;font-weight:600;color:var(--signal)}
.plan-main .plan-tag{color:var(--on-lime)}
.plan-lede{font-size:17px;color:var(--ink-2);max-width:44ch}
.plan-main .plan-lede{color:#2A330F}
.plan .btn{margin-top:auto}
.price-sm{font-size:clamp(2.2rem,1.4rem + 2.6vw,3.4rem);line-height:1}
.note{margin-top:16px;font-size:14px;color:var(--ink-3);max-width:80ch}
@media (max-width:900px){.plans{grid-template-columns:1fr}}

/* ---------- About ---------- */
.facts{background:var(--card);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow-lg);padding:22px 26px 12px}
.facts h2{font-family:var(--text);font-size:15px;font-weight:600;letter-spacing:0;line-height:1.3;color:var(--ink-3);margin-bottom:6px}
.facts dl{margin:0;display:grid}
.facts dl>div{display:grid;grid-template-columns:118px minmax(0,1fr);gap:14px;padding:12px 0;border-bottom:1px solid var(--line)}
.facts dl>div:last-child{border-bottom:0}
.facts dt{font-size:14px;color:var(--ink-3)}
.facts dd{margin:0;font-size:15.5px;font-weight:500}
.facts a{color:var(--signal);text-underline-offset:3px}
.founder-copy{display:grid;gap:14px;max-width:70ch}
.founder-copy h2{margin-bottom:4px}
.founder-copy p:not(.kicker){color:var(--ink-2)}
.tool-list{display:grid;border-top:1px solid var(--night-line)}
.tool-list li{display:grid;grid-template-columns:170px minmax(0,1fr);gap:16px;padding:15px 0;border-bottom:1px solid var(--night-line)}
.tool-list strong{font-weight:600;color:var(--night-ink)}
.tool-list span{color:var(--night-ink-2)}
.ticks.nots{gap:16px}
.ticks.nots li{font-size:18px;color:var(--ink)}
.ticks.nots li::before{background:var(--ink-3);-webkit-mask-image:var(--x);mask-image:var(--x);top:.25em}
@media (max-width:520px){.facts dl>div,.tool-list li{grid-template-columns:1fr;gap:2px}}
.hero-kicker{margin-bottom:22px}
.drop a.drop-all{border-top:1px solid var(--line);border-radius:0 0 12px 12px;margin-top:4px;padding-top:14px}

/* ---------- Fixes after review ---------- */
.machine .kicker{color:var(--lime)}
.machine .lead{color:var(--night-ink-2)}
.machine .link{color:var(--lime)}
.features.four{grid-template-columns:repeat(4,minmax(0,1fr))}
@media (max-width:980px){.features.four{grid-template-columns:1fr 1fr}}
@media (max-width:620px){.features.four{grid-template-columns:1fr}}
.plans{align-items:start}
@media (max-width:900px){.stack{margin-inline:24px}}
.article-grid>*{min-width:0}
@media (max-width:980px){.article-grid{grid-template-columns:minmax(0,1fr)}}
.owners table{min-width:420px}
@media (prefers-reduced-motion: reduce){
  .marquee-inner{flex-direction:column;align-items:flex-start;gap:12px;padding-inline:var(--gutter)}
  .marquee-label{padding-left:0;padding-right:0}
  .marquee-track{gap:10px 26px}
  .marquee-track li{gap:26px}
  .marquee::before,.marquee::after{display:none}
}
@media print{.motion [data-reveal].pre,.motion .split.pre .w>span{opacity:1!important;transform:none!important}}

/* ==========================================================================
   v2.1: hero, live compose, switchboard, centered CTA
   ========================================================================== */
.hero{padding-block:clamp(32px,5vw,64px) clamp(48px,6vw,88px)}
.hero-bg{position:absolute;inset:0;z-index:-1;pointer-events:none;overflow:hidden}
.hero-bg .aura{z-index:auto}

.hero-mark{position:absolute;right:-6%;top:-12%;width:min(58vw,760px);color:var(--lime);opacity:.16;transform:rotate(-8deg)}
.hero-mark{animation:markDrift 26s ease-in-out infinite alternate}
@keyframes markDrift{to{transform:rotate(-4deg) translate(-30px,40px)}}
.hero h1{font-size:clamp(2.8rem,1rem + 5.1vw,5.3rem);isolation:isolate}
.hero-kicker{display:inline-flex;align-items:center;gap:10px;margin-bottom:20px}
.hero-kicker::before{content:"";width:22px;height:2px;background:var(--lime-3);border-radius:2px}
.hl{position:relative;white-space:nowrap;z-index:0}
.hl::before{content:"";position:absolute;z-index:-1;left:-.03em;right:-.04em;bottom:.03em;height:.3em;background:var(--lime);border-radius:.1em;transform-origin:0 50%;transform:skewX(-6deg)}
.hl::before{transform:skewX(-6deg) scaleX(0);animation:hlIn .7s var(--ease) .55s forwards}
.hl-2::before{animation-delay:.95s}
@keyframes hlIn{to{transform:skewX(-6deg) scaleX(1)}}
.hero-copy>*{animation:heroUp .8s var(--ease) both}
.hero-copy>*:nth-child(2){animation-delay:.08s}
.hero-copy>*:nth-child(3){animation-delay:.18s}
.hero-copy>*:nth-child(4){animation-delay:.26s}
.hero-copy>*:nth-child(5){animation-delay:.34s}
@keyframes heroUp{from{opacity:0;transform:translateY(18px)}}
.rotator{animation:heroUp .9s var(--ease) .2s both}
.hero .lead{max-width:44ch}
@media (max-width:960px){
  .hero-copy{text-align:center}
  .hero-copy .lead,.hero-copy .cta-row{margin-inline:auto;justify-content:center}
  .hero-kicker{justify-content:center}
  .hero-mark{right:-30%;top:auto;bottom:-10%;width:90vw}
}

/* Live compose card */
.slides{perspective:1400px}
.mail{transform-style:preserve-3d;transition:transform .5s var(--ease),box-shadow .5s var(--ease);will-change:transform}
.mail-top{padding:16px 20px 14px;border-bottom:1px solid var(--line);display:grid;gap:12px}
.to{display:flex;align-items:center;gap:12px}
.to .avatar{width:38px;height:38px;font-size:12.5px}
.to-txt{display:grid;line-height:1.25}
.to-name{font-weight:600;font-size:15px}
.to-role{font-size:13px;color:var(--ink-3)}
.subj{display:flex;align-items:baseline;gap:10px;font-size:14px}
.subj span{color:var(--ink-3);font-size:12.5px;font-weight:500;letter-spacing:.02em}
.subj b{font-weight:600}
.mail-body{min-height:168px}
.mail-body p:empty{min-height:1.2em}
.caret{display:inline-block;width:2px;height:1.05em;background:var(--ink);vertical-align:-.18em;margin-left:1px;animation:caret 1s steps(1) infinite}
@keyframes caret{50%{opacity:0}}
.typing-row{display:none;margin-left:clamp(0px,9%,56px)}
.motion .slide.active.is-typing .typing-row{display:block;animation:rise .5s var(--ease) both}
.typing-row .typing{margin:0}
.motion .slide .reply,.motion .slide .booked{opacity:0}
.motion .slide.active .reply{animation:none}
.motion .slide.active .booked{animation:none}
.motion .slide.active.typed .reply{animation:rise .7s var(--ease) both;opacity:1}
.motion .slide.active.typed .booked{animation:land .8s cubic-bezier(.2,.9,.25,1.15) .9s both;opacity:1}
.motion .slide.active .pill{animation-delay:.2s}
.motion .slide.active .pill:nth-child(2){animation-delay:.45s}
.motion .slide.active .pill:nth-child(3){animation-delay:.7s}
.motion .slide.active .pill:nth-child(4){animation-delay:1s}
.motion .rot-tab.run .bar{animation-duration:13s}
.rot-cap{text-align:center}
@media (max-width:960px){.rot-tabs{justify-content:center}}

/* Switchboard */
.board{background:var(--night-2);border:1px solid var(--night-line);border-radius:22px;overflow:hidden}
.board-head{display:flex;justify-content:space-between;align-items:baseline;gap:6px 16px;flex-wrap:wrap;padding:16px 20px;border-bottom:1px solid var(--night-line);font-size:13px;color:var(--night-ink-2)}
.board-head .domain{font-family:var(--mono);font-size:13px;color:var(--night-ink)}
.switches{display:grid}
.switches li{border-bottom:1px solid var(--night-line)}
.sw{display:grid;grid-template-columns:auto minmax(0,1fr);gap:14px;align-items:center;padding:12px 20px;cursor:pointer;-webkit-user-select:none;user-select:none;transition:background-color .2s}
.sw:hover{background:color-mix(in srgb,var(--lime) 6%,transparent)}
.sw input{position:absolute;opacity:0;width:1px;height:1px}
.knob{position:relative;width:44px;height:26px;border-radius:999px;background:var(--night-3);box-shadow:inset 0 0 0 1px var(--night-line);transition:background-color .25s}
.knob::after{content:"";position:absolute;top:3px;left:3px;width:20px;height:20px;border-radius:50%;background:var(--night-ink-2);transition:transform .3s var(--ease),background-color .25s}
.sw input:checked+.knob{background:var(--lime)}
.sw input:checked+.knob::after{transform:translateX(18px);background:var(--night)}
.sw input:focus-visible+.knob{outline:3px solid var(--lime);outline-offset:3px}
.sw-l{display:grid;line-height:1.3}
.sw-l b{font-size:14px;font-weight:600;color:var(--night-ink)}
.sw-l small{font-size:12.5px;color:var(--night-ink-2)}
.sw input:not(:checked)~.sw-l b{color:var(--night-ink-2);text-decoration:line-through;text-decoration-color:color-mix(in srgb,var(--night-ink-2) 60%,transparent)}
.outcome{padding:18px 20px 18px}
.folders{position:relative;display:grid;grid-template-columns:repeat(3,1fr);gap:8px;padding-top:44px}
.folder{position:relative;text-align:center;font-size:13px;font-weight:600;padding:12px 8px 11px;border-radius:12px;background:var(--night-3);color:var(--night-ink-2);box-shadow:inset 0 0 0 1px var(--night-line);transition:background-color .35s,color .35s,box-shadow .35s}
.folder::before{content:"";position:absolute;left:14px;right:14px;top:0;height:3px;border-radius:0 0 3px 3px;background:transparent;transition:background-color .35s}
.env{position:absolute;top:0;left:calc(var(--slot,0) * 33.333% + 16.666%);width:34px;height:34px;margin-left:-17px;color:var(--lime);transition:left .55s cubic-bezier(.2,.8,.2,1.15),color .35s;filter:drop-shadow(0 8px 14px rgba(0,0,0,.4))}
.env{animation:envDrop .6s var(--ease)}
@keyframes envDrop{from{transform:translateY(-14px);opacity:.3}}
[data-outcome="inbox"] .folder[data-folder="inbox"]{background:var(--lime);color:var(--on-lime);box-shadow:none}
[data-outcome="spam"] .folder[data-folder="spam"]{background:#E8B2A6;color:#3B0F08;box-shadow:none}
[data-outcome="bounce"] .folder[data-folder="bounce"]{background:#E8B2A6;color:#3B0F08;box-shadow:none}
[data-outcome="spam"] .env,[data-outcome="bounce"] .env{color:#E8B2A6}
[data-outcome="inbox"] .env{--slot:0}
[data-outcome="spam"] .env{--slot:1}
[data-outcome="bounce"] .env{--slot:2}
.verdict{margin-top:14px;font-size:14px;line-height:1.5;color:var(--night-ink);min-height:2.9em}
.motion .verdict.swap{animation:fadeDown .35s var(--ease)}

/* Centered CTA card */
.cta-card{justify-items:center;text-align:center}
.cta-card h2{max-width:16ch}
.cta-card .cta-row{justify-content:center}
.cta-mark{right:auto;left:50%;bottom:-38%;width:min(70%,720px);transform:translateX(-50%);opacity:.55}
.motion .cta-mark{transform:translate(-50%,var(--py,0px))}

/* Newsletter stack interactivity */
.stack figure a{display:block;height:100%}
.stack figure:hover{z-index:5;box-shadow:0 2px 0 rgba(17,18,4,.03),0 60px 120px -40px rgba(17,18,4,.5)}
.stack:hover figure:nth-child(1):hover{transform:rotate(-2deg) translate(-16px,-14px) scale(1.05)}
.stack:hover figure:nth-child(2):hover{transform:rotate(0deg) translateY(-14px) scale(1.05)}
.stack:hover figure:nth-child(3):hover{transform:rotate(3deg) translate(16px,-14px) scale(1.05)}
.stack figure a:focus-visible{outline:3px solid var(--signal);outline-offset:2px}

/* ==========================================================================
   v2.2: six programs, picker, LinkedIn / funnel / call figures, blog
   ========================================================================== */
@view-transition{navigation:auto}
.svc-cards.six{grid-template-columns:repeat(3,minmax(0,1fr))}
@media (max-width:980px){.svc-cards.six{grid-template-columns:1fr 1fr}}
@media (max-width:640px){.svc-cards.six{grid-template-columns:1fr}}
.svc-card.lit{border-color:var(--ink);box-shadow:0 0 0 3px var(--lime),var(--shadow-lg);transform:translateY(-6px)}
.svc-cards.picking .svc-card:not(.lit){opacity:.45}
.svc-card{transition:transform .45s var(--ease),box-shadow .45s var(--ease),border-color .3s,opacity .35s}
.picker{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:8px;margin-top:34px}
.picker-l{font-size:14px;font-weight:600;color:var(--ink-3);margin-right:4px}
.chip-btn{font-size:14.5px;font-weight:600;color:var(--ink);background:var(--card);border:1px solid var(--line-2);border-radius:999px;padding:9px 16px;cursor:pointer;transition:background-color .2s,border-color .2s,color .2s,transform .2s}
.chip-btn:hover{border-color:var(--ink);transform:translateY(-1px)}
.chip-btn[aria-pressed="true"]{background:var(--ink);color:var(--paper);border-color:var(--ink)}
.drop-wide{min-width:340px}
@media (min-width:1021px){.drop-wide{min-width:640px;grid-template-columns:1fr 1fr}.drop-wide .drop-all{grid-column:1/-1}}

/* Card minis */
.mini-li{display:flex;align-items:flex-end;gap:8px;margin-bottom:8px}
.mini-li.r{justify-content:flex-end;margin-bottom:0}
.mini-av{width:26px;height:26px;border-radius:50%;background:var(--card);border:1px solid var(--line-2);display:grid;place-items:center;font-size:10px;font-weight:600;color:var(--ink-2);flex:none}
.mini-bub{font-size:12.5px;line-height:1.35;padding:8px 11px;border-radius:14px;background:var(--card);border:1px solid var(--line);color:var(--ink);max-width:78%}
.mini-bub.out{background:var(--ink);color:var(--paper);border-color:var(--ink)}
.mini-fun{display:flex;align-items:center;justify-content:space-between;gap:4px;font-size:12px;font-weight:600;color:var(--ink-2)}
.mini-fun i{flex:1;height:2px;background:var(--line-2);min-width:8px}
.mini-fun b{color:var(--on-lime);background:var(--lime);padding:5px 9px;border-radius:999px;font-size:12px}
.mini-fun span{white-space:nowrap}
.mini-call{display:grid;gap:10px;justify-items:center}
.mini-wave{display:flex;align-items:center;gap:4px;height:34px}
.mini-wave i{width:4px;border-radius:2px;background:var(--ink);height:calc(8px + var(--h,10) * 1px)}
.mini-wave i:nth-child(1){--h:6}.mini-wave i:nth-child(2){--h:14}.mini-wave i:nth-child(3){--h:22}.mini-wave i:nth-child(4){--h:10}.mini-wave i:nth-child(5){--h:26}.mini-wave i:nth-child(6){--h:16}.mini-wave i:nth-child(7){--h:24}.mini-wave i:nth-child(8){--h:8}.mini-wave i:nth-child(9){--h:18}.mini-wave i:nth-child(10){--h:12}
.svc-card:hover .mini-wave i{animation:wave .9s ease-in-out infinite alternate}
.svc-card:hover .mini-wave i:nth-child(odd){animation-delay:.15s}
@keyframes wave{to{transform:scaleY(.4)}}
.mini-ct{font-size:12.5px;font-weight:600;color:var(--signal)}

/* LinkedIn figure */
.li-card{margin:0;background:var(--card);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow-lg);overflow:hidden}
.li-head{display:flex;align-items:center;gap:12px;padding:16px 20px;border-bottom:1px solid var(--line)}
.li-av{width:42px;height:42px;border-radius:50%;background:var(--paper-2);border:1px solid var(--line);display:grid;place-items:center;font-size:13px;font-weight:600;color:var(--ink-2);flex:none}
.li-who{display:grid;line-height:1.25}
.li-who b{font-weight:600;font-size:15px}
.li-who small{font-size:12.5px;color:var(--ink-3)}
.li-state{margin-left:auto;font-size:12.5px;font-weight:600;color:var(--on-lime);background:var(--lime);padding:5px 10px;border-radius:999px}
.li-thread{display:grid;gap:10px;padding:18px 20px}
.li-msg{position:relative;max-width:86%;padding:11px 14px;border-radius:16px;font-size:14.5px;line-height:1.45}
.li-msg.out{justify-self:end;background:var(--ink);color:var(--paper);border-bottom-right-radius:5px}
.li-msg.in{justify-self:start;background:var(--paper-2);border:1px solid var(--line);border-bottom-left-radius:5px}
.li-tag{display:block;font-size:11px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--lime);margin-bottom:4px}
.li-card figcaption{padding:12px 20px;font-size:12.5px;color:var(--ink-3);border-top:1px solid var(--line);background:var(--paper-2)}

/* Paid social funnel figure */
.funnel{margin:0;display:grid;gap:14px}
.ad{background:var(--card);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow-lg);overflow:hidden}
.ad-top{display:flex;align-items:center;gap:10px;padding:14px 16px}
.ad-av{width:36px;height:36px;border-radius:50%;background:#0E7C7B;flex:none;box-shadow:inset 0 0 0 3px #F5B301}
.ad-brand{display:grid;line-height:1.2}
.ad-brand b{font-size:14px;font-weight:600}
.ad-brand small{font-size:12px;color:var(--ink-3)}
.ad-copy{padding:0 16px 12px;font-size:14.5px;line-height:1.45}
.ad-img{height:150px;background:linear-gradient(135deg,#0E7C7B,#1DA3A0);display:grid;place-items:center;color:#fff;font-family:var(--display);font-weight:650;font-size:1.5rem;letter-spacing:-.02em}
.ad-cta{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;background:var(--paper-2);font-size:13.5px;color:var(--ink-2)}
.ad-cta b{font-size:13px;font-weight:600;color:var(--ink);background:var(--card);border:1px solid var(--line-2);padding:7px 12px;border-radius:8px}
.chain{display:grid;gap:8px}
.chain li{display:grid;grid-template-columns:52px minmax(0,1fr);gap:12px;align-items:center;padding:11px 14px;border-radius:12px;background:var(--card);border:1px solid var(--line);font-size:14px;line-height:1.4}
.chain-t{font-family:var(--mono);font-size:12.5px;color:var(--ink-3)}
.chain li.chain-win{background:var(--lime);border-color:var(--lime-3);font-weight:600}
.chain li.chain-win .chain-t{color:var(--on-lime)}
.funnel figcaption{font-size:12.5px;color:var(--ink-3)}

/* Voice call figure */
.call{margin:0;background:var(--night);color:var(--night-ink);border:1px solid var(--night-line);border-radius:var(--r);box-shadow:var(--shadow-lg);overflow:hidden}
.call-head{display:flex;align-items:center;gap:10px;padding:14px 20px;border-bottom:1px solid var(--night-line);font-size:13px;color:var(--night-ink-2)}
.call-dot{width:9px;height:9px;border-radius:50%;background:var(--lime);box-shadow:0 0 0 4px color-mix(in srgb,var(--lime) 25%,transparent)}
.call-dot{animation:ping2 1.6s ease-out infinite}
@keyframes ping2{0%{box-shadow:0 0 0 0 color-mix(in srgb,var(--lime) 45%,transparent)}100%{box-shadow:0 0 0 9px transparent}}
.call-len{margin-left:auto;font-family:var(--mono);color:var(--night-ink)}
.wave{display:flex;align-items:center;justify-content:center;gap:5px;height:56px;padding:0 20px;border-bottom:1px solid var(--night-line)}
.wave i{width:4px;border-radius:2px;background:var(--lime);height:calc(6px + var(--h,10) * 1px);opacity:.9}
.wave i:nth-child(3n){--h:26}.wave i:nth-child(3n+1){--h:12}.wave i:nth-child(3n+2){--h:20}.wave i:nth-child(5n){--h:32}.wave i:nth-child(7n){--h:8}
.wave i{animation:wave 1.1s ease-in-out infinite alternate}
.wave i:nth-child(2n){animation-delay:.2s}.wave i:nth-child(3n){animation-delay:.4s}
.transcript{display:grid;gap:10px;padding:18px 20px}
.transcript li{font-size:14.5px;line-height:1.45;padding:10px 14px;border-radius:14px;max-width:88%}
.transcript li b{display:block;font-size:11px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;margin-bottom:3px}
.t-agent{justify-self:start;background:var(--night-2);border:1px solid var(--night-line)}
.t-agent b{color:var(--lime)}
.t-lead{justify-self:end;background:var(--night-ink);color:var(--night)}
.t-lead b{color:var(--ink-3)}
.call-out{display:flex;align-items:center;gap:10px;padding:0 20px 18px;font-size:14px;color:var(--night-ink-2)}
.call figcaption{padding:12px 20px;font-size:12.5px;color:var(--night-ink-2);border-top:1px solid var(--night-line)}

/* Templates in guides */
.prose .tpl{margin-top:1.1em;padding:20px 22px;border-radius:var(--r);background:var(--card);border:1px solid var(--line);box-shadow:var(--shadow);font-size:16px}
.prose .tpl p{color:var(--ink);margin-top:.7em}
.prose .tpl p:first-child{margin-top:0}
.prose .tpl-s{font-family:var(--mono);font-size:13px;color:var(--ink-3);padding-bottom:10px;border-bottom:1px solid var(--line)}

/* Blog cards */
.posts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.post{display:flex;flex-direction:column;gap:10px;padding:26px;border-radius:var(--r-lg);background:var(--card);border:1px solid var(--line);text-decoration:none;color:var(--ink);transition:transform .45s var(--ease),box-shadow .45s var(--ease),border-color .3s}
.post:hover{transform:translateY(-5px);box-shadow:var(--shadow-lg);border-color:var(--line-2)}
.post-cat{font-size:12.5px;font-weight:600;color:var(--signal)}
.post h3{font-family:var(--display);font-size:1.35rem;font-weight:620;letter-spacing:-.025em;line-height:1.12}
.post p{font-size:14.5px;color:var(--ink-2);line-height:1.5}
.post-meta{margin-top:auto;padding-top:8px;font-size:12.5px;color:var(--ink-3)}
.blog-index{display:grid;gap:18px}
.blog-cat{font-size:clamp(1.5rem,1.2rem + 1vw,2rem);margin-top:40px;padding-bottom:14px;border-bottom:1px solid var(--ink)}
.blog-cat:first-child{margin-top:0}
@media (max-width:980px){.posts{grid-template-columns:1fr 1fr}}
@media (max-width:640px){.posts{grid-template-columns:1fr}}

/* Author box */
.author{margin-top:2.4em;display:grid;grid-template-columns:auto minmax(0,1fr);gap:18px;align-items:start;padding:22px 24px;border-radius:var(--r);background:var(--paper-2);border:1px solid var(--line)}
.monogram-sm{width:64px;height:64px;border-radius:18px;font-size:1.4rem}
.author-name{font-weight:600;color:var(--ink)}
.author-name a{color:inherit;text-decoration:none}
.author-bio{margin-top:6px;font-size:15px;color:var(--ink-2)}
.author-cta{margin-top:10px;font-size:15px}
@media (max-width:520px){.author{grid-template-columns:1fr}}
.prose .kicker{margin:0}
.motion [data-route].route-in{animation:routeIn .45s var(--ease)}
@keyframes routeIn{from{opacity:0;transform:translateY(8px)}}

.blog-index .post-cat{display:none}

/* ==========================================================================
   v2.3: interactive hero, reduced-motion policy
   ========================================================================== */
.hero{overflow:visible}
.hero-bg{overflow:hidden}
.hero-dots{position:absolute;inset:0;width:100%;height:100%;display:block}
.hero-glow{position:absolute;left:0;top:0;width:560px;height:560px;margin:-280px 0 0 -280px;border-radius:50%;pointer-events:none;background:radial-gradient(circle,color-mix(in srgb,var(--lime) 55%,transparent) 0%,color-mix(in srgb,var(--lime) 22%,transparent) 28%,transparent 66%);opacity:0;transform:translate(var(--gx,-1000px),var(--gy,-1000px));transition:opacity .6s ease;will-change:transform}
.hero.pointer .hero-glow{opacity:.75}
.hw{display:inline-block;transition:transform .45s var(--ease)}
.hw:hover{transform:translateY(-.06em) rotate(-1.4deg)}
.hl .hw:hover{transform:translateY(-.06em) rotate(1.2deg)}
.live-row{margin-top:30px;display:flex;flex-wrap:wrap;gap:10px}
.live-row .live{margin-top:0}
.live-cap b{font-weight:600;color:var(--ink);font-variant-numeric:tabular-nums}
.cap-ic{position:relative;width:12px;height:12px;flex:none}
.cap-ic::before,.cap-ic::after{content:"";position:absolute;left:0;right:0;height:2px;background:var(--lime-3);border-radius:2px}
.cap-ic::before{top:2px}.cap-ic::after{top:8px}
.slides{--px:0;--py:0}
.slide .reply{translate:calc(var(--px) * -10px) calc(var(--py) * -8px);transition:translate .5s var(--ease)}
.slide .booked{translate:calc(var(--px) * 14px) calc(var(--py) * 10px);transition:translate .5s var(--ease)}
.rot-tabs{translate:calc(var(--px) * -4px) 0}
.rot-tab .bar{height:3px}
.rot-tab[aria-selected="true"]::after{content:"";position:absolute;right:10px;top:50%;width:6px;height:6px;margin-top:-3px;border-radius:50%;background:var(--lime-3)}
.rot-tab{padding-right:24px}
.rot-tab:not([aria-selected="true"]){padding-right:14px}

/* Reduced motion: keep fades and content, drop the big movements */
.reduce .aura-a,.reduce .aura-b,.reduce .hero-mark,.reduce .marquee-track,.reduce .wave i,.reduce .mini-wave i,.reduce .call-dot,.reduce .live-dot::after,.reduce .hero-glow{animation:none!important}
.reduce .hero-glow,.reduce .hero-dots{display:none}
.reduce .hero-copy>*,.reduce .rotator{animation-duration:.4s}
.reduce .hl::before{animation:none;transform:skewX(-6deg) scaleX(1)}
.reduce .marquee-track{flex-wrap:wrap;width:auto;row-gap:10px}
.reduce .marquee-track [aria-hidden="true"]{display:none}
.reduce .marquee::before,.reduce .marquee::after{display:none}
.reduce .slide.active.typed .reply,.reduce .slide.active.typed .booked{animation-name:fadeOnly}
.reduce .slide .reply,.reduce .slide .booked{translate:0 0}
.reduce .hw:hover{transform:none}
.reduce .stack figure{transition:none}
.reduce .svc-card:hover,.reduce .work-card:hover,.reduce .post:hover,.reduce .nl:hover{transform:none}
.reduce .nl:hover .nl-img img{transform:none}
@keyframes fadeOnly{from{opacity:0}}
@media (prefers-reduced-motion: reduce){
  .aura-a,.aura-b,.hero-mark,.marquee-track,.wave i,.call-dot{animation:none!important}
  .hero-dots,.hero-glow{display:none}
}

/* ==========================================================================
   v2.4: cursor, lights, graphics, calculator, industries, glossary
   ========================================================================== */
/* Custom cursor (fine pointers only) */
html.has-cursor.cur-on,html.has-cursor.cur-on *{cursor:none!important}
html.has-cursor input[type="text"],html.has-cursor textarea,html.has-cursor select{cursor:auto!important}
.cur,.cur-ring{position:fixed;left:0;top:0;pointer-events:none;z-index:9999;border-radius:50%;translate:-50% -50%;opacity:0;transition:opacity .3s}
html.cur-on .cur,html.cur-on .cur-ring{opacity:1}
.cur{width:8px;height:8px;background:var(--ink)}
.cur.dark{background:var(--lime)}
.cur-ring{width:36px;height:36px;border:1.5px solid color-mix(in srgb,var(--ink) 55%,transparent);display:grid;place-items:center;transition:width .28s var(--ease),height .28s var(--ease),background-color .28s,border-color .28s,opacity .3s}
.cur-ring.dark{border-color:color-mix(in srgb,var(--lime) 70%,transparent)}
.cur-ring.on{width:58px;height:58px;background:color-mix(in srgb,var(--lime) 38%,transparent);border-color:var(--lime-3)}
.cur-ring.on.dark{background:color-mix(in srgb,var(--lime) 22%,transparent)}
.cur-ring.lbl{width:76px;height:76px;background:var(--lime);border-color:var(--lime)}
.cur-ring.down{scale:.82}
.cur-label{font-size:12.5px;font-weight:600;color:var(--on-lime);opacity:0;transition:opacity .2s;white-space:nowrap}
.cur-ring.lbl .cur-label{opacity:1}

/* Cursor light on dark and lime surfaces */
[data-light]{position:relative}
.stats.on-night{position:relative;overflow:hidden}
[data-light]::after{content:"";position:absolute;inset:0;pointer-events:none;z-index:0;opacity:0;transition:opacity .4s;background:radial-gradient(340px circle at var(--sx,50%) var(--sy,50%),color-mix(in srgb,var(--lime) 16%,transparent),transparent 70%)}
.cta-card[data-light]::after,.plan-main[data-light]::after{background:radial-gradient(300px circle at var(--sx,50%) var(--sy,50%),rgba(255,255,255,.55),transparent 70%);mix-blend-mode:soft-light}
.li-card[data-light]::after,.report[data-light]::after{background:radial-gradient(260px circle at var(--sx,50%) var(--sy,50%),color-mix(in srgb,var(--lime) 22%,transparent),transparent 70%)}
[data-light].lit-on::after{opacity:1}
.machine[data-light]::after{z-index:-1}
.stats.on-night>.wrap,.site-footer>.wrap,.machine>*,.call>*,.board>*,.cta-card>*,.plan-main>*,.li-card>*,.report>*{position:relative;z-index:1}
.cta-card .cta-mark{z-index:0}
.foot-word{background:radial-gradient(circle at var(--fx,-999px) var(--fy,-999px),var(--lime) 0,var(--lime-3) 110px,var(--night-2) 300px);-webkit-background-clip:text;background-clip:text;color:transparent;transition:none}
.site-footer .foot-word{position:relative;z-index:1}

/* Marquee driven by script when available */
.marquee-track.js-marq{animation:none;will-change:transform}

/* Compare rows and flow steps react */
.compare-row{transition:background-color .3s;border-radius:14px;margin-inline:-16px;padding-inline:16px}
.compare-row:hover{background:color-mix(in srgb,var(--lime) 10%,transparent)}
.compare-row:hover h3{color:var(--signal)}
.compare-row .ours p::before{transition:transform .3s var(--ease)}
.compare-row:hover .ours p::before{transform:scale(1.25)}
.flow-step:hover{border-color:var(--line-2);box-shadow:var(--shadow-lg)}
.flow-step:hover::before{background:var(--lime);border-color:var(--ink)}
.split.in .w>span{transition-duration:.35s}
.split.in .w>span:hover{transform:translateY(-.08em) rotate(-1deg)}
.stack{transform-style:preserve-3d;transition:transform .5s var(--ease)}
.stack.tilting{transition:none}
.stack figure{will-change:transform}
.news-split{perspective:1200px}
.feature,.post,.plan,.panel,.ind-card,.calc-out{position:relative;isolation:isolate;overflow:hidden}
.feature.spot:hover,.plan.spot:hover,.panel.spot:hover{border-color:var(--line-2)}
.glossary dt.spot{overflow:visible}

/* Service icons */
.svc-ic{width:44px;height:44px;border-radius:13px;background:var(--paper-2);border:1px solid var(--line);display:grid;place-items:center;color:var(--ink);transition:background-color .3s,color .3s,transform .4s var(--ease)}
.svc-ic svg{width:24px;height:24px}
.svc-card:hover .svc-ic{background:var(--ink);color:var(--lime);transform:rotate(-6deg) scale(1.06)}
.svc-card .tag{display:flex;align-items:center;gap:12px}

/* Infrastructure graphic */
.infra{margin-top:48px;background:var(--night);border:1px solid var(--night-line);border-radius:36px;padding:clamp(20px,3vw,36px);position:relative;overflow:hidden}
.infra svg{width:100%;height:auto;display:block}
.infra text{font-family:var(--text);font-size:13px;fill:var(--night-ink-2)}
.infra .lbl{font-size:12px;font-weight:600;fill:var(--night-ink);letter-spacing:.06em;text-transform:uppercase}
.infra .node{cursor:pointer}
.infra .node rect,.infra .node circle{fill:var(--night-2);stroke:var(--night-line);stroke-width:1.2;transition:stroke .3s,fill .3s}
.infra .node text{fill:var(--night-ink);font-weight:500}
.infra .node .sub{fill:var(--night-ink-2);font-size:11.5px;font-weight:400}
.infra .node.hot rect,.infra .node.hot circle,.infra .node:hover rect,.infra .node:hover circle{stroke:var(--lime);fill:var(--night-3)}
.infra .route{fill:none;stroke:var(--night-line);stroke-width:1.4;transition:stroke .3s,opacity .3s}
.infra .route.hot{stroke:var(--lime);stroke-width:2}
.infra.tracing .route:not(.hot){opacity:.35}
.infra .pkt{fill:var(--lime)}
.infra.tracing .pkt{opacity:.35}
.infra .pill{fill:var(--night-3);stroke:var(--night-line)}
.infra .pill-t{font-family:var(--mono);font-size:10.5px;fill:var(--lime)}
.infra .pros rect{fill:var(--night-ink-2);opacity:.35;transition:opacity .3s,fill .3s}
.infra .pros rect.on{fill:var(--lime);opacity:1}
.infra .cap{position:absolute;right:28px;bottom:22px;font-size:12.5px;color:var(--night-ink-2)}
@media (max-width:700px){.infra{border-radius:22px}.infra .cap{position:static;margin-top:10px}}

/* Industries */
.ind-grid{margin-top:48px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.ind-card{display:flex;flex-direction:column;gap:12px;padding:24px;border-radius:var(--r-lg);background:var(--card);border:1px solid var(--line);text-decoration:none;color:var(--ink);transition:transform .45s var(--ease),box-shadow .45s var(--ease),border-color .3s}
.ind-card:hover{transform:translateY(-5px);box-shadow:var(--shadow-lg);border-color:var(--line-2)}
.ind-ic{width:46px;height:46px;border-radius:14px;background:var(--paper-2);border:1px solid var(--line);display:grid;place-items:center;color:var(--ink);transition:background-color .3s,color .3s,transform .4s var(--ease)}
.ind-ic svg{width:24px;height:24px}
.ind-card:hover .ind-ic{background:var(--lime);transform:rotate(-6deg)}
.ind-card h3{font-family:var(--display);font-size:1.3rem;font-weight:620;letter-spacing:-.02em;line-height:1.1}
.ind-card p{font-size:14.5px;color:var(--ink-2)}
.ind-card .go{margin-top:auto;font-size:14px;font-weight:600}
@media (max-width:980px){.ind-grid{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.ind-grid{grid-template-columns:1fr}}
.ind-strip{margin-top:36px;display:flex;flex-wrap:wrap;justify-content:center;gap:8px}
.ind-strip a{font-size:14.5px;font-weight:600;color:var(--ink);background:var(--card);border:1px solid var(--line-2);border-radius:999px;padding:9px 16px;text-decoration:none;transition:background-color .2s,border-color .2s,transform .2s}
.ind-strip a:hover{border-color:var(--ink);transform:translateY(-1px)}

/* Calculator */
.calc{display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);gap:clamp(24px,4vw,56px);align-items:start;margin-top:40px}
.calc-in{display:grid;gap:18px;padding:clamp(22px,3vw,32px);border-radius:var(--r-lg);background:var(--card);border:1px solid var(--line)}
.calc-in h3{font-size:1.05rem}
.fld{display:grid;gap:8px}
.fld-l{display:flex;justify-content:space-between;align-items:baseline;font-size:14.5px;font-weight:500}
.fld-l b{font-weight:600;font-variant-numeric:tabular-nums;color:var(--ink)}
.fld small{font-size:12.5px;color:var(--ink-3)}
input[type="range"].rng{-webkit-appearance:none;appearance:none;width:100%;height:24px;background:transparent;margin:0}
input[type="range"].rng::-webkit-slider-runnable-track{height:6px;border-radius:999px;background:linear-gradient(90deg,var(--lime-3) var(--p,50%),var(--line) var(--p,50%))}
input[type="range"].rng::-moz-range-track{height:6px;border-radius:999px;background:var(--line)}
input[type="range"].rng::-moz-range-progress{height:6px;border-radius:999px;background:var(--lime-3)}
input[type="range"].rng::-webkit-slider-thumb{-webkit-appearance:none;width:22px;height:22px;margin-top:-8px;border-radius:50%;background:var(--ink);border:3px solid var(--paper);box-shadow:0 0 0 1px var(--ink);transition:transform .2s}
input[type="range"].rng::-moz-range-thumb{width:16px;height:16px;border-radius:50%;background:var(--ink);border:3px solid var(--paper)}
input[type="range"].rng:hover::-webkit-slider-thumb{transform:scale(1.15)}
input[type="range"].rng:focus-visible{outline:3px solid var(--signal);outline-offset:4px;border-radius:999px}
.calc-outs{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.calc-out{padding:20px 22px;border-radius:var(--r);background:var(--card);border:1px solid var(--line);display:grid;gap:4px;align-content:start}
.calc-out.big{grid-column:1/-1;background:var(--night);color:var(--night-ink);border-color:var(--night-line)}
.calc-out small{font-size:13px;color:var(--ink-3)}
.calc-out.big small{color:var(--night-ink-2)}
.calc-out b{font-family:var(--display);font-weight:630;font-size:clamp(1.8rem,1.3rem + 1.4vw,2.6rem);letter-spacing:-.035em;line-height:1;font-variant-numeric:tabular-nums}
.calc-out.big b{color:var(--lime);font-size:clamp(3rem,2rem + 3vw,4.6rem)}
.calc-note{grid-column:1/-1;font-size:13.5px;color:var(--ink-3)}
.inbox-grid{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:8px;padding:18px;border-radius:var(--r);background:var(--paper-2);border:1px solid var(--line)}
.inbox-grid .dom{display:inline-flex;gap:3px;padding:5px;border-radius:8px;background:var(--card);border:1px solid var(--line)}
.inbox-grid .dom i{width:10px;height:14px;border-radius:3px;background:var(--lime-3)}
.inbox-grid .dom-more{align-self:center;font-size:13px;color:var(--ink-3);padding-left:6px}
.inbox-legend{grid-column:1/-1;font-size:13px;color:var(--ink-3);margin-top:-4px}
@media (max-width:900px){.calc{grid-template-columns:1fr}}

/* Glossary */
.glossary{display:grid;gap:0;margin-top:40px;border-top:1px solid var(--ink)}
.glossary>div{display:grid;grid-template-columns:260px minmax(0,1fr);gap:24px;padding:22px 0;border-bottom:1px solid var(--line)}
.glossary dt{font-family:var(--display);font-weight:620;font-size:1.25rem;letter-spacing:-.02em;scroll-margin-top:110px}
.glossary dd{margin:0;color:var(--ink-2);font-size:16px;line-height:1.6;max-width:70ch}
.glossary dd a{color:var(--signal);font-weight:600;text-underline-offset:3px}
.az{display:flex;flex-wrap:wrap;gap:6px;margin-top:28px}
.az a{font-size:13px;font-weight:600;color:var(--ink-2);background:var(--card);border:1px solid var(--line);border-radius:8px;padding:6px 10px;text-decoration:none}
.az a:hover{border-color:var(--ink);color:var(--ink)}
@media (max-width:700px){.glossary>div{grid-template-columns:1fr;gap:8px}}

/* FAQ page groups */
.faq-groups{display:grid;gap:56px;margin-top:40px}
.faq-group h2{font-size:clamp(1.5rem,1.2rem + 1vw,2rem);margin-bottom:16px}

/* Contact */
.contact-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(28px,5vw,72px);margin-top:40px;align-items:start}
.contact-card{padding:clamp(24px,3.5vw,40px);border-radius:var(--r-lg);background:var(--night);color:var(--night-ink);border:1px solid var(--night-line);display:grid;gap:18px}
.contact-card h2{color:var(--night-ink);font-size:clamp(1.8rem,1.3rem + 1.6vw,2.6rem)}
.contact-card .email-line{color:var(--night-ink-2)}
.contact-card .email-line a{color:var(--lime)}
.contact-card .copy{color:var(--night-ink)}
@media (max-width:860px){.contact-grid{grid-template-columns:1fr}}

/* Nav spacing at mid widths */
@media (min-width:1021px) and (max-width:1200px){.nav-link,.nav-drop>button{padding:9px 9px;font-size:14.5px}.nav-cta .btn{padding:10px 16px}}
.reduce .cur,.reduce .cur-ring{display:none}
.h3-look{font-family:var(--text);font-size:1.05rem;font-weight:600;letter-spacing:-.01em;line-height:1.3}

/* ==========================================================================
   v2.5: the journey hero, sequence section, match
   ========================================================================== */
.hero-art{padding-block:clamp(28px,4vw,52px) clamp(40px,5vw,72px)}
.hero-top{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:clamp(24px,5vw,72px);align-items:end}
.hero-art h1{font-size:clamp(3rem,1.2rem + 6vw,6.4rem);line-height:.94;margin-top:0}
.hero-side .lead{max-width:46ch;margin-top:0}
.hero-side .cta-row{margin-top:26px}
.live-center{justify-content:center;margin-top:26px}
@media (max-width:960px){
  .hero-top{grid-template-columns:1fr;align-items:start}
  .hero-side{text-align:center}
  .hero-side .lead{margin-inline:auto}
  .hero-side .cta-row{justify-content:center}
}

/* Journey */
.journey{position:relative;margin-top:clamp(28px,4vw,52px);aspect-ratio:1200/360;max-width:100%}
.jpath{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.jp-base{fill:none;stroke:url(#jg);stroke-width:2.2;stroke-linecap:round}
.jp-glow{fill:none;stroke:var(--lime);stroke-width:10;stroke-linecap:round;opacity:.18;filter:blur(8px)}
.jp-ref{fill:none;stroke:none}
.jcanvas{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.jnodes{position:absolute;inset:0}
.jn{position:absolute;left:var(--x);top:var(--y);translate:-50% -50%;display:grid;justify-items:center;gap:10px;width:190px}
.jn-dot{width:58px;height:58px;border-radius:50%;background:var(--card);border:1.5px solid var(--ink);color:var(--ink);display:grid;place-items:center;cursor:pointer;padding:0;box-shadow:0 10px 30px -14px rgba(17,18,4,.45);transition:transform .35s var(--ease),background-color .3s,color .3s,box-shadow .3s;position:relative;z-index:2}
.jn-dot svg{width:26px;height:26px}
.jn-dot::after{content:"";position:absolute;inset:-6px;border-radius:50%;border:1.5px solid var(--lime-3);opacity:0;transition:opacity .3s,transform .3s;transform:scale(.9)}
.jn:hover .jn-dot,.jn.open .jn-dot{background:var(--ink);color:var(--lime);transform:scale(1.08)}
.jn:hover .jn-dot::after,.jn.open .jn-dot::after{opacity:1;transform:none}
.jn-end .jn-dot{background:var(--lime);border-color:var(--lime-3);box-shadow:0 12px 34px -12px color-mix(in srgb,var(--lime-3) 90%,transparent)}
.jn-end .jn-dot::after{opacity:1;animation:ping 2.4s var(--ease) infinite}
.jn-lab{display:grid;justify-items:center;text-align:center;gap:2px;pointer-events:none}
.jn-t{font-size:12.5px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3)}
.jn-stat{font-size:13.5px;color:var(--ink-2);line-height:1.3}
.jn-stat b{display:block;font-family:var(--display);font-weight:630;font-size:1.7rem;letter-spacing:-.035em;line-height:1;color:var(--ink);font-variant-numeric:tabular-nums}
.jn-end .jn-stat b{color:var(--signal)}
.jn-up{flex-direction:column-reverse}
.jn-up .jn-lab{order:-1}
.jn-card{position:absolute;top:calc(100% + 10px);left:50%;translate:-50% 0;width:250px;padding:14px 16px;border-radius:14px;background:var(--night);color:var(--night-ink);font-size:14px;line-height:1.45;box-shadow:var(--shadow-lg);opacity:0;pointer-events:none;transition:opacity .25s,transform .3s var(--ease);transform:translateY(6px);z-index:5}
.jn-card b{display:block;color:var(--lime);font-size:12.5px;letter-spacing:.06em;text-transform:uppercase;margin-bottom:6px}
.jn-card p{color:var(--night-ink);margin:0}
.jn-up .jn-card{top:auto;bottom:calc(100% + 10px);transform:translateY(-6px)}
.jn:hover .jn-card,.jn.open .jn-card{opacity:1;transform:none}
.jcap{position:absolute;left:0;bottom:-8px;font-size:12.5px;color:var(--ink-3)}
@media (max-width:900px){
  .journey{aspect-ratio:auto;margin-top:32px}
  .jpath,.jcanvas{display:none}
  .jnodes{position:static;display:grid;gap:10px}
  .jn{position:static;translate:0;width:auto;grid-template-columns:58px minmax(0,1fr);justify-items:start;align-items:center;gap:14px;padding:12px 14px;border-radius:16px;background:var(--card);border:1px solid var(--line)}
  .jn-up{flex-direction:column}
  .jn-up .jn-lab{order:0}
  .jn-lab{justify-items:start;text-align:left}
  .jn-card{position:static;translate:0;transform:none;width:auto;grid-column:1/-1;opacity:1;pointer-events:auto;display:none;margin-top:4px}
  .jn.open .jn-card{display:block}
  .jcap{position:static;margin-top:12px}
}
.reduce .jn-end .jn-dot::after{animation:none}

/* Sequence section */
.seq-grid{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:clamp(32px,6vw,88px);align-items:start}
.seq-grid .rotator{animation:none}
@media (max-width:960px){.seq-grid{grid-template-columns:1fr}}

/* Match */
.match-split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:18px;margin-top:44px}
.match-card{padding:clamp(26px,4vw,44px);border-radius:var(--r-lg);display:grid;gap:18px;align-content:start;position:relative;isolation:isolate;overflow:hidden}
.match-buy{background:var(--lime);color:var(--on-lime);border:1px solid color-mix(in srgb,var(--on-lime) 14%,var(--lime))}
.match-buy .kicker,.match-buy .lead{color:#2A330F}
.match-buy .ticks li::before{background:var(--on-lime)}
.match-part{background:var(--night);color:var(--night-ink);border:1px solid var(--night-line)}
.match-part .kicker{color:var(--lime)}
.match-part .lead{color:var(--night-ink-2)}
.match-card h3{font-family:var(--display);font-size:clamp(1.7rem,1.3rem + 1.4vw,2.4rem);font-weight:630;letter-spacing:-.03em;line-height:1.05}
.match-card .cta-row{margin-top:6px}
@media (max-width:860px){.match-split{grid-template-columns:1fr}}
.mp{display:grid;gap:20px;margin-top:40px}
.mp-q{display:grid;gap:12px}
.mp-q h3{font-size:1.05rem}
.mp-opts{display:flex;flex-wrap:wrap;gap:8px}
.mp-sum{padding:clamp(22px,3vw,30px);border-radius:var(--r-lg);background:var(--night);color:var(--night-ink);display:grid;gap:14px}
.mp-sum h3{color:var(--lime);font-size:14px;letter-spacing:.06em;text-transform:uppercase}
.mp-sum p{font-size:16px;line-height:1.55}
.mp-sum .cta-row{margin-top:4px}
.mp-sum textarea{width:100%;min-height:120px;padding:12px 14px;border-radius:12px;border:1px solid var(--night-line);background:var(--night-2);color:var(--night-ink);font:inherit;font-size:14.5px;line-height:1.5;resize:vertical}
.mp-sum .btn-ghost{color:var(--night-ink);border-color:var(--night-line)}
.mp-sum .btn-ghost:hover{background:var(--night-2);border-color:var(--night-ink-2)}

/* ==========================================================================
   v2.6: the system hero (wireframe operating view)
   ========================================================================== */
.hero-sys{position:relative;padding:0;min-height:clamp(760px,calc(100svh - 68px),880px);display:flex;flex-direction:column;overflow:clip}
.hero-sys .hero-bg{z-index:0}
.hero-sys-top{position:relative;z-index:3;padding-top:clamp(28px,4vw,44px);pointer-events:none;width:100%}
.hero-sys-top .hero-copy{pointer-events:auto;max-width:min(680px,58%)}
.hero-sys h1{font-size:clamp(2.8rem,1.1rem + 4.6vw,4.9rem);line-height:.94;margin-top:0}
.hero-sys .lead{margin-top:18px;max-width:52ch;font-size:clamp(1.05rem,1rem + .3vw,1.2rem)}
.hero-sys .cta-row{margin-top:22px}
.hero-sys .hero-kicker{margin-bottom:16px}
.hero-sys-live{position:relative;z-index:3;margin-top:auto;pointer-events:none}
.hero-sys .live-row{margin:0 0 44px;justify-content:center}
.hero-sys .live-row .live{pointer-events:auto;font-size:13.5px;padding:7px 12px 7px 10px}
.sys{position:absolute;inset:0;z-index:1}
.sys-stage{position:absolute;inset:0;touch-action:pan-y;user-select:none;-webkit-user-select:none}
.sys-stage.is-inspect{cursor:pointer}
.sys-canvas{position:absolute;inset:0;width:100%;height:100%;display:block}
.sys-corner{position:absolute;width:18px;height:18px;border:1.5px solid var(--line-2);pointer-events:none;z-index:2;opacity:.9}
.sys-c1{left:var(--gutter);top:14px;border-right:0;border-bottom:0}
.sys-c2{right:var(--gutter);top:14px;border-left:0;border-bottom:0}
.sys-c3{left:var(--gutter);bottom:14px;border-right:0;border-top:0}
.sys-c4{right:var(--gutter);bottom:14px;border-left:0;border-top:0}
.sys-labels{position:absolute;inset:0;margin:0;padding:0;list-style:none;pointer-events:none;z-index:4}
.sm{position:absolute;left:0;top:0;translate:-50% -100%;transform-origin:50% 100%;width:156px;display:grid;justify-items:center;gap:3px;text-align:center;pointer-events:auto;opacity:0;transition:opacity .5s ease}
.sm.on,.sm-term{opacity:1}
.sm-head{display:inline-flex;align-items:center;gap:8px;padding:6px 10px 6px 8px;border-radius:999px;background:color-mix(in srgb,var(--card) 88%,transparent);border:1px solid var(--line-2);color:var(--ink);font:inherit;cursor:pointer;transition:background-color .25s,border-color .25s,color .25s,box-shadow .25s}
.sm-n{font-family:var(--mono);font-size:11px;font-weight:600;letter-spacing:.06em;color:var(--signal);padding:2px 5px;border-radius:6px;background:color-mix(in srgb,var(--lime) 45%,transparent)}
.sm-name{font-size:13px;font-weight:600;letter-spacing:.01em}
.sm-led{width:7px;height:7px;border-radius:50%;background:var(--line-2);flex:none;transition:background-color .3s,box-shadow .3s}
.sm.on .sm-led{background:var(--lime-3);box-shadow:0 0 0 3px color-mix(in srgb,var(--lime) 45%,transparent);animation:ping2 2.2s ease-out infinite}
.sm:hover .sm-head,.sm.is-hot .sm-head,.sm.open .sm-head{background:var(--ink);color:var(--paper);border-color:var(--ink);box-shadow:0 10px 26px -12px rgba(17,18,4,.5)}
.sm:hover .sm-n,.sm.is-hot .sm-n,.sm.open .sm-n{color:var(--ink);background:var(--lime)}
.sm-stat{margin:0;font-family:var(--mono);font-size:11px;letter-spacing:0;color:var(--ink-2);font-variant-numeric:tabular-nums;white-space:nowrap;background:color-mix(in srgb,var(--paper) 92%,transparent);padding:1px 6px;border-radius:6px}
.sm-card{position:absolute;top:calc(100% + 10px);left:50%;translate:-50% 0;width:250px;padding:14px 16px;border-radius:14px;background:var(--night);color:var(--night-ink);font-size:13.5px;line-height:1.45;text-align:left;box-shadow:var(--shadow-lg);opacity:0;pointer-events:none;transform:translateY(6px);transition:opacity .22s,transform .3s var(--ease);z-index:6}
.sm-card::before{content:"";position:absolute;left:50%;top:-6px;width:10px;height:10px;background:var(--night);translate:-50% 0;rotate:45deg}
.sm-card p{margin:0}
.sm:hover .sm-card,.sm.is-hot .sm-card,.sm.open .sm-card{opacity:1;transform:none;pointer-events:auto}
.sm-last .sm-card{left:auto;right:0;translate:0 0}
.sm-last .sm-card::before{left:auto;right:76px}
.sm-term{width:150px;translate:-50% 30px;gap:1px}
.sm-tn{font-family:var(--mono);font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3)}
.sm-tt{font-size:13.5px;font-weight:600;color:var(--ink)}
.sm-term-out .sm-tt{color:var(--signal)}
.sm-term-out.on .sm-tt{color:var(--ink)}
.sys-hud{position:absolute;left:var(--gutter);right:var(--gutter);bottom:12px;display:flex;flex-wrap:wrap;gap:6px 18px;font-family:var(--mono);font-size:10.5px;letter-spacing:.02em;color:var(--ink-3);pointer-events:none;z-index:2;font-variant-numeric:tabular-nums}
.sys-hud-cam{min-width:150px}.sys-hud-cur{min-width:190px}
.sys-hud-r{margin-left:auto;text-align:right}
.sys-log{position:absolute;z-index:5;top:clamp(28px,4vw,44px);right:max(var(--gutter),calc((100% - 1200px)/2 + var(--gutter)));width:min(430px,38%);background:var(--night);color:var(--night-ink);border-radius:16px;padding:12px 14px 10px;box-shadow:var(--shadow-lg);font-family:var(--mono);font-size:11.5px;line-height:1.5;border:1px solid var(--night-line)}
.sys-hint{margin:8px 0 0;padding-top:8px;border-top:1px solid var(--night-line);font-family:var(--text);font-size:12.5px;color:var(--night-ink-2)}
.sys-log-head{display:flex;align-items:center;gap:8px;font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--night-ink-2);padding-bottom:8px;border-bottom:1px solid var(--night-line);margin-bottom:8px}
.sys-log-title{color:var(--night-ink)}
.sys-log-state{margin-left:auto;color:var(--lime)}
.sys-led{width:8px;height:8px;border-radius:50%;background:var(--lime-3);box-shadow:0 0 0 3px color-mix(in srgb,var(--lime) 30%,transparent);animation:ping2 2s ease-out infinite}
.sys-lines{list-style:none;margin:0;padding:0;display:grid;gap:2px;min-height:8.2em}
.sys-lines li{display:grid;grid-template-columns:auto 1fr;gap:10px;color:var(--night-ink);animation:heroUp .35s var(--ease) both}
.sys-lines .sys-ts{color:var(--night-ink-2)}
.sys-lines .sys-sys .sys-tx{color:var(--night-ink-2)}
.sys-lines .sys-done .sys-tx{color:var(--lime)}
.sys-lines .sys-done .sys-tx::after{content:"";display:inline-block;width:.55em;height:1em;vertical-align:-.15em;margin-left:2px;background:var(--lime);animation:blink 1s steps(1) infinite}
@keyframes blink{50%{opacity:0}}
@media (min-width:1101px) and (max-height:840px){
  .hero-sys-top{padding-top:22px}
  .hero-sys .hero-kicker{margin-bottom:10px}
  .hero-sys h1{font-size:clamp(2.6rem,1rem + 3.6vw,3.9rem)}
  .hero-sys .lead{margin-top:12px;font-size:1.02rem;max-width:50ch}
  .hero-sys .cta-row{margin-top:16px}
  .hero-sys .cta-row .btn-lg{padding:13px 20px;font-size:15px}
  .sys-log{top:22px;font-size:11px}
  .sys-lines{min-height:0}
}
@media (max-width:1100px){
  .hero-sys-top .hero-copy{max-width:min(640px,100%)}
  .sys-log{position:relative;top:auto;right:auto;width:auto;margin:0 var(--gutter) 0;border-radius:14px}
  .sys{position:relative;inset:auto;display:grid;gap:14px;padding-bottom:18px;order:2}
  .hero-sys-top{order:1}
  .hero-sys-live{order:3}
  .sys-stage{position:relative;inset:auto;height:clamp(420px,58vw,560px)}
  .hero-sys{min-height:0}
  .hero-sys .live-row{margin:10px auto 26px}
}
@media (max-width:700px){
  .sys-stage{height:720px}
  .sm{width:140px}
  .sm-head{padding:5px 8px 5px 6px}
  .sm-name{font-size:12.5px}
  .sm-stat{font-size:10.5px}
  .sm-card{width:220px}
  .sm-term{translate:-50% calc(-100% - 24px);width:130px}
  .sys-hud{bottom:10px;gap:4px 12px;font-size:10px}
  .sys-hud-r{margin-left:0;text-align:left;flex-basis:100%}
  .sys-hud-cam,.sys-hud-cur{display:none}
}
.reduce .sm.on .sm-led,.reduce .sys-led,.reduce .sys-lines .sys-done .sys-tx::after{animation:none}
.sys-stage[data-mode="d"] [data-term="in"]{translate:-22% 30px}
.sys-stage[data-mode="d"] [data-term="out"]{translate:-78% 30px}
html:not(.js) .sys-canvas,html:not(.js) .sys-hud,html:not(.js) .sys-corner,html:not(.js) .sys-log{display:none}
html:not(.js) .sys{position:relative;inset:auto;order:2}
html:not(.js) .hero-sys-top{order:1}
html:not(.js) .hero-sys-live{order:3}
html:not(.js) .sm-card{background:transparent;color:var(--ink-2);box-shadow:none;padding:0;font-size:14px}
html:not(.js) .sys-stage{position:relative;inset:auto;height:auto}
html:not(.js) .sys-labels{position:relative;inset:auto;display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px;padding:20px var(--gutter)}
html:not(.js) .sm{position:static;translate:0;width:auto;opacity:1;justify-items:start;text-align:left;padding:12px;border:1px solid var(--line);border-radius:14px;background:var(--card)}
html:not(.js) .sm-card{position:static;translate:0;transform:none;opacity:1;width:auto;margin-top:6px;pointer-events:auto}
html:not(.js) .sm-card::before{display:none}
html:not(.js) .sys-log{position:relative;top:auto;right:auto;width:auto;margin:0 var(--gutter)}
.only-touch{display:none}
@media (hover:none),(pointer:coarse){.only-fine{display:none}.only-touch{display:inline}}

/* ==========================================================================
   v2.7: the map hero (30,000 ft) and the system section
   ========================================================================== */
.hero-map{position:relative;padding:0;min-height:clamp(760px,calc(100svh - 68px),880px);display:flex;flex-direction:column;overflow:clip}
.hero-map .hero-bg{z-index:0}
.hero-map .hero-sys-top{position:relative;z-index:3;padding-top:clamp(28px,4vw,44px);pointer-events:none;width:100%}
.hero-map .hero-sys-top .hero-copy{pointer-events:auto;max-width:min(640px,56%)}
.hero-map h1{font-size:clamp(2.8rem,1.1rem + 4.3vw,4.6rem);line-height:.94;margin-top:0}
.hero-map .lead{margin-top:18px;max-width:50ch;font-size:clamp(1.05rem,1rem + .3vw,1.2rem)}
.hero-map .cta-row{margin-top:22px}
.hero-map .hero-kicker{margin-bottom:16px}
.map{position:absolute;inset:0;z-index:1}
.map-stage{position:absolute;inset:0;touch-action:pan-y;user-select:none;-webkit-user-select:none}
.map-stage.is-focus{cursor:pointer}
.map-plane{position:absolute;inset:0;transform-origin:var(--ox,50%) var(--oy,50%);transform:perspective(1800px) rotateX(calc(var(--ty,0) * 1deg)) rotateY(calc(var(--tx,0) * 1deg)) scale(var(--z,1));transition:transform 1.1s var(--ease),transform-origin 1.1s var(--ease);transform-style:preserve-3d}
.map-canvas{position:absolute;inset:0;width:100%;height:100%;display:block}
.map-hub{position:absolute;left:0;top:0;width:calc(var(--r,192px) * .36);height:calc(var(--r,192px) * .36);translate:-50% -50%;display:grid;place-items:center;color:var(--ink);pointer-events:none;opacity:0;transition:opacity .8s ease .9s}
.map-hub svg{width:70%;height:70%;fill:currentColor}
.map-stage.booted .map-hub,.map-hub.on{opacity:1}
.map-chips{position:absolute;inset:0;margin:0;padding:0;list-style:none;pointer-events:none}
.mc{position:absolute;left:0;top:0;translate:-50% -50%;display:grid;justify-items:center;gap:3px;text-align:center;pointer-events:auto;opacity:0;transition:opacity .5s ease;width:max-content;max-width:210px}
.mc.on{opacity:1}
.mc-head{display:inline-flex;align-items:center;gap:8px;padding:6px 11px 6px 12px;border-radius:999px;background:color-mix(in srgb,var(--card) 90%,transparent);border:1px solid var(--line-2);color:var(--ink);font:inherit;font-size:13px;font-weight:600;letter-spacing:.01em;cursor:pointer;transition:background-color .25s,border-color .25s,color .25s,box-shadow .25s}
.mc-led{width:7px;height:7px;border-radius:50%;background:var(--line-2);flex:none;transition:background-color .3s,box-shadow .3s}
.mc.on .mc-led{background:var(--lime-3);box-shadow:0 0 0 3px color-mix(in srgb,var(--lime) 45%,transparent)}
.mc:hover .mc-head,.mc.open .mc-head{background:var(--ink);color:var(--paper);border-color:var(--ink);box-shadow:0 10px 26px -12px rgba(17,18,4,.5)}
.mc.is-focus .mc-head{background:var(--ink);color:var(--paper);border-color:var(--ink);box-shadow:0 10px 26px -12px rgba(17,18,4,.5)}
.mc.is-focus .mc-led{background:var(--lime);box-shadow:0 0 0 3px color-mix(in srgb,var(--lime) 55%,transparent)}
.mc-hub .mc-head{background:var(--ink);color:var(--paper);border-color:var(--ink)}
.mc-hub:hover .mc-head,.mc-hub.open .mc-head{background:var(--lime);color:var(--on-lime);border-color:var(--lime-3)}
.mc-s{font-family:var(--mono);font-size:11px;color:var(--ink-2);font-variant-numeric:tabular-nums;white-space:nowrap;background:color-mix(in srgb,var(--paper) 92%,transparent);padding:1px 6px;border-radius:6px}
.mc-card{position:absolute;top:calc(100% + 10px);left:50%;translate:-50% 0;width:250px;padding:14px 16px;border-radius:14px;background:var(--night);color:var(--night-ink);font-size:13.5px;line-height:1.45;text-align:left;box-shadow:var(--shadow-lg);opacity:0;pointer-events:none;transform:translateY(6px);transition:opacity .22s,transform .3s var(--ease);z-index:6}
.mc-card::before{content:"";position:absolute;left:50%;top:-6px;width:10px;height:10px;background:var(--night);translate:-50% 0;rotate:45deg}
.mc-card p{margin:0}
.mc:hover .mc-card,.mc.open .mc-card{opacity:1;transform:none;pointer-events:auto}
.mc-out .mc-card{left:auto;right:0;translate:0 0}
.mc-out .mc-card::before{left:auto;right:40px}
.map-tip{position:absolute;left:0;top:0;translate:0 -50%;z-index:7;pointer-events:none;width:max-content;max-width:240px;padding:9px 12px;border-radius:12px;background:var(--night);color:var(--night-ink);font-size:12.5px;line-height:1.4;box-shadow:var(--shadow-lg)}
.map-tip.flip{translate:-100% -50%}
.map-tip b{display:block;font-family:var(--mono);font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--lime);margin-bottom:3px}
.map-tip[hidden]{display:none}
.map-hud{position:absolute;left:var(--gutter);right:var(--gutter);bottom:12px;display:flex;flex-wrap:wrap;gap:6px 18px;font-family:var(--mono);font-size:10.5px;letter-spacing:.02em;color:var(--ink-3);pointer-events:none;z-index:2;font-variant-numeric:tabular-nums}
.map-hud-r{margin-left:auto;text-align:right}
.hero-map .hero-sys-live{position:relative;z-index:3;margin-top:auto;pointer-events:none}
.hero-map .live-row{margin:0 0 44px;justify-content:center}
.hero-map .live-row .live{pointer-events:auto;font-size:13.5px;padding:7px 12px 7px 10px}
@media (min-width:1101px) and (max-height:840px){
  .hero-map .hero-sys-top{padding-top:22px}
  .hero-map .hero-kicker{margin-bottom:10px}
  .hero-map h1{font-size:clamp(2.6rem,1rem + 3.6vw,3.9rem)}
  .hero-map .lead{margin-top:12px;font-size:1.02rem;max-width:50ch}
  .hero-map .cta-row{margin-top:16px}
  .hero-map .cta-row .btn-lg{padding:13px 20px;font-size:15px}
}
@media (max-width:1100px){
  .hero-map{min-height:0}
  .hero-map .hero-sys-top .hero-copy{max-width:min(640px,100%)}
  .map{position:relative;inset:auto;order:2}
  .hero-map .hero-sys-top{order:1}
  .hero-map .hero-sys-live{order:3;margin:10px auto 26px}
  .map-stage{position:relative;inset:auto;height:clamp(480px,62vw,620px)}
}
@media (max-width:700px){
  .map-stage{height:720px}
  .mc{max-width:170px}
  .mc-head{padding:5px 9px 5px 10px;font-size:12.5px}
  .mc-s{font-size:10.5px}
  .mc-card{width:220px}
  .map-hud{bottom:10px;font-size:10px}
  .map-hud-r{margin-left:0;text-align:left;flex-basis:100%}
  .map-hud [data-map-hud]{display:none}
}
.reduce .map-plane{transform:none;transition:none}
.reduce .map-hub{transition:none;opacity:1}
html:not(.js) .map-canvas,html:not(.js) .map-hud,html:not(.js) .map-hub,html:not(.js) .map .sys-corner,html:not(.js) .map-tip{display:none}
html:not(.js) .map{position:relative;inset:auto;order:2}
html:not(.js) .hero-map .hero-sys-top{order:1}
html:not(.js) .hero-map .hero-sys-live{order:3}
html:not(.js) .map-stage{position:relative;inset:auto;height:auto}
html:not(.js) .map-plane{position:relative;inset:auto;transform:none}
html:not(.js) .map-chips{position:relative;inset:auto;display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px;padding:20px var(--gutter)}
html:not(.js) .mc{position:static;translate:0;transform:none!important;width:auto;max-width:none;opacity:1;justify-items:start;text-align:left;padding:12px;border:1px solid var(--line);border-radius:14px;background:var(--card)}
html:not(.js) .mc-card{position:static;translate:0;transform:none;opacity:1;width:auto;margin-top:6px;pointer-events:auto;background:transparent;color:var(--ink-2);box-shadow:none;padding:0;font-size:14px}
html:not(.js) .mc-card::before{display:none}

/* The system, as a section further down the page */
.sys-section{background:linear-gradient(180deg,var(--paper) 0%,var(--paper-2) 100%);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.sys-section .hero-sys-top{padding-top:clamp(40px,5vw,64px)}
.sys-section .hero-copy h2{font-size:clamp(2.2rem,1rem + 3.2vw,3.6rem);line-height:1.02;margin-top:0}
.sys-section .hero-sys-top .hero-copy{max-width:min(600px,52%)}
.sys-section .sys-after{position:relative;z-index:3;margin-top:auto;padding-bottom:40px;text-align:center;pointer-events:none;display:grid;justify-items:center;gap:6px}
.sys-section .sys-after .btn{pointer-events:auto}
.sys-section .sys-after .live-row{margin:0 0 10px}
.sys-section .sys-after .live{pointer-events:auto}
@media (max-width:1100px){
  .sys-section .hero-sys-top .hero-copy{max-width:min(640px,100%)}
  .sys-section .sys-after{order:3;margin-top:8px;padding-bottom:28px}
}

/* Static SVG map: shown only where scripts don't run (preview panes, Quick Look) */
.map-svg{display:none;width:100%;height:auto;max-width:1240px;margin:0 auto}
html:not(.js) .map-svg-d{display:block}
.js .map-stage:not(.has-canvas) .map-svg-d{display:block}
.js .map-stage:not(.has-canvas) .map-plane{display:none}
html:not(.js) .map-stage{display:flex;flex-direction:column;padding:8px 0 0}
html:not(.js) .map-svg{order:1}
html:not(.js) .map-plane{order:2}
@media (max-width:700px){html:not(.js) .map-svg-d{display:none}html:not(.js) .map-svg-m{display:block}}
.ms-grid{fill:rgba(17,18,4,.09)}
.ms-sweep{fill:none;stroke:#A6E23A;stroke-width:1.5}
.ms-field{fill:none;stroke:rgba(17,18,4,.22);stroke-dasharray:3 6}
.ms-brk{fill:none;stroke:rgba(17,18,4,.45);stroke-width:1.2}
.ms-fd{fill:rgba(17,18,4,.28)}
.ms-fd-t{fill:rgba(17,18,4,.75)}
.ms-fd-r{fill:#A6E23A}
.ms-fd-m{fill:#3F6B00}
.ms-fd-ring{fill:none;stroke:#A6E23A;stroke-width:1.2}
.ms-gather{fill:none;stroke:rgba(17,18,4,.22);stroke-width:1}
.ms-edge{fill:none;stroke:rgba(17,18,4,.5);stroke-width:1.2}
.ms-spoke{fill:none;stroke:rgba(17,18,4,.42);stroke-width:1.2}
.ms-loop{fill:none;stroke:rgba(17,18,4,.3);stroke-width:1;stroke-dasharray:4 6}
.ms-arrow{fill:none;stroke:rgba(17,18,4,.6);stroke-width:1.2}
.ms-trace{fill:none;stroke:rgba(17,18,4,.3);stroke-width:1}
.ms-reply{fill:none;stroke:rgba(166,226,58,.85);stroke-width:1.5}
.ms-pk{fill:rgba(17,18,4,.85)}
.ms-pk-lime{fill:#3F6B00;stroke:rgba(199,251,109,.6);stroke-width:3}
.ms-ring{fill:none;stroke:rgba(17,18,4,.5);stroke-width:1.1}
.ms-ring-dash{stroke:rgba(17,18,4,.35);stroke-dasharray:3 5}
.ms-tick{stroke:rgba(17,18,4,.28);stroke-width:1}
.ms-tick-b{stroke:rgba(17,18,4,.55)}
.ms-orbit{fill:none;stroke:rgba(17,18,4,.14);stroke-dasharray:2 7}
.ms-arc{fill:none;stroke:#A6E23A;stroke-width:2.2;stroke-linecap:round}
.ms-arc2{fill:none;stroke:#3F6B00;stroke-width:1.6;stroke-linecap:round}
.ms-sat{fill:#A6E23A}
.ms-glow{fill:#C7FB6D;opacity:.35}
.ms-mark{fill:#111204;overflow:visible}
.ms-halo{fill:#FBFCF8}
.ms-node{fill:rgba(17,18,4,.35);stroke:rgba(17,18,4,.7);stroke-width:1.2}
.ms-node-dash{fill:none;stroke:rgba(17,18,4,.22);stroke-dasharray:2 4}
.ms-lab{font-family:var(--mono);font-size:11px;fill:#6B7160}
.map-svg-m .ms-lab{font-size:10px}
.ms-chip rect{fill:#FFFFFF;stroke:#C9CFBC}
.ms-chip text{font-family:var(--text);font-size:13px;font-weight:600;fill:#111204}
.ms-chip circle{fill:#A6E23A}
.ms-chip-hub rect{fill:#111204;stroke:#111204}
.ms-chip-hub text{fill:#FBFCF8}
.ms-chip .ms-stat{font-family:var(--mono);font-size:11px;font-weight:400;fill:#474C3C}
.map-svg-m .ms-chip text{font-size:12px}
.map-svg-m .ms-chip .ms-stat{font-size:10px}

/* Guided tour panel */
.map-tour{position:relative;z-index:5;background:color-mix(in srgb,var(--card) 92%,transparent);border:1px solid var(--line);border-radius:16px;padding:14px 16px;margin:0 var(--gutter);pointer-events:auto;opacity:0;translate:0 10px;transition:opacity .6s ease .2s,translate .6s var(--ease) .2s}
.js .map-tour{opacity:1;translate:0 0}
.hero-copy .map-tour{background:transparent;border:0;border-radius:0;padding:0;margin:18px 0 0;max-width:540px}
.hero-map.has-tour .hero-copy>.lead{display:none}
.mt-tabs{display:flex;flex-wrap:wrap;gap:5px;margin:0 0 12px}
.mt-tab{font:inherit;font-family:var(--mono);font-size:10.5px;letter-spacing:.04em;text-transform:uppercase;color:var(--ink-3);background:color-mix(in srgb,var(--card) 80%,transparent);border:1px solid var(--line-2);border-radius:999px;padding:4px 9px 4px 7px;cursor:pointer;display:inline-flex;align-items:center;gap:6px;transition:color .2s,border-color .2s,background-color .2s,transform .2s}
.mt-tab b{font-weight:600;color:var(--ink-3);transition:color .2s}
.mt-tab.done{color:var(--ink-2);border-color:var(--ink-3)}
.mt-tab.done b{color:var(--signal)}
.mt-tab:hover{color:var(--ink);border-color:var(--ink);transform:translateY(-1px)}
.mt-tab[aria-selected="true"]{background:var(--ink);color:var(--paper);border-color:var(--ink)}
.mt-tab[aria-selected="true"] b{color:var(--lime)}
.mt-live{margin-left:auto}
.mt-cap{min-height:64px}
.mt-t{margin:0;font-family:var(--display);font-weight:630;font-size:clamp(1.15rem,1rem + .5vw,1.4rem);letter-spacing:-.02em;line-height:1.1;color:var(--ink)}
.mt-d{margin:6px 0 0;font-size:15px;line-height:1.5;color:var(--ink-2);max-width:52ch}
.mt-ctl{display:flex;align-items:center;gap:12px;margin-top:12px}
.mt-play{font:inherit;font-size:12.5px;font-weight:600;color:var(--ink);background:var(--card);border:1px solid var(--line-2);border-radius:999px;padding:6px 12px;cursor:pointer;min-width:74px;transition:border-color .2s,background-color .2s}
.mt-play:hover{border-color:var(--ink)}
.mt-play-go,.mt-play-again{display:none}
.is-paused .mt-play-pause{display:none}
.is-paused:not(.is-live) .mt-play-go{display:inline}
.is-paused.is-live .mt-play-again{display:inline}
.is-live:not(.is-paused) .mt-play-pause{display:none}
.is-live:not(.is-paused) .mt-play-again{display:inline}
.mt-prog{flex:1;max-width:260px;height:3px;border-radius:2px;background:var(--line);overflow:hidden}
.mt-prog i{display:block;height:100%;background:var(--lime-3);transform-origin:0 50%;transform:scaleX(0)}
.map-hud [data-map-hud]{display:none}
@media (min-width:1101px) and (max-height:840px){
  .hero-copy .map-tour{margin-top:12px}
  .mt-cap{min-height:60px}
  .mt-d{font-size:14px}
}
@media (max-width:1100px){
  .map{display:grid;gap:12px;padding-bottom:16px}
}
@media (max-width:700px){
  .mt-tab{font-size:10px;padding:4px 8px 4px 6px;gap:4px}
  .mt-cap{min-height:0}
  .mt-live{margin-left:0}
}
html:not(.js) .map-tour{display:none}

/* v2.8 polish */
h1,h2,h3,.h1,.h2{text-wrap:balance}
p,li,dd,.lead{text-wrap:pretty}
.page-hero{background-image:radial-gradient(rgba(17,18,4,.085) .9px,transparent 1px);background-size:26px 26px;background-position:13px 13px}
.page-hero .aura{z-index:0}
.page-hero .wrap{position:relative;z-index:1}
.hero-map .map-stage{cursor:crosshair}
.hero-map .map-stage.is-focus{cursor:pointer}

/* Machine: explore mode (orbit, zoom, step inside) */
.sys-tools{position:absolute;z-index:6;left:var(--gutter);top:14px;display:flex;flex-wrap:wrap;align-items:center;gap:6px;pointer-events:auto}
.sys-section .sys-tools{top:auto;bottom:44px;left:auto;right:var(--gutter)}
.sys-tool{font:inherit;font-size:12.5px;font-weight:600;color:var(--ink);background:color-mix(in srgb,var(--card) 92%,transparent);border:1px solid var(--line-2);border-radius:999px;padding:7px 13px;cursor:pointer;transition:background-color .2s,border-color .2s,color .2s,transform .2s;line-height:1}
.sys-tool:hover{border-color:var(--ink);transform:translateY(-1px)}
.sys-tool-explore[aria-pressed="true"]{background:var(--ink);color:var(--paper);border-color:var(--ink)}
.sys-tool-off{display:none}
.sys-tool-explore[aria-pressed="true"] .sys-tool-on{display:none}
.sys-tool-explore[aria-pressed="true"] .sys-tool-off{display:inline}
.sys-tool-group{display:none;gap:6px}
.is-explore .sys-tool-group{display:inline-flex}
.sys-tool-group [data-sys-back]{display:none}
.is-inside .sys-tool-group [data-sys-back]{display:inline-block}
.sys-tool-group [data-sys-zoom-in],.sys-tool-group [data-sys-zoom-out]{width:34px;padding:7px 0;text-align:center;font-family:var(--mono);font-size:14px}
.sys-stage.is-explore{cursor:grab;touch-action:none}
.sys-stage.is-explore.is-drag{cursor:grabbing}
.sys-stage.is-explore.is-inspect{cursor:pointer}
.sys-stage:focus-visible{outline:2px solid var(--signal);outline-offset:-2px}
.is-explore .sys-hud-cam{color:var(--signal)}
@media (max-width:1100px){
  .sys-section .sys-tools{position:relative;bottom:auto;right:auto;margin:0 var(--gutter);justify-content:center}
  .sys-tools{position:relative;left:auto;top:auto;margin:10px var(--gutter) 0}
}
.hero-sys.is-explore .hero-sys-top,.hero-sys.is-explore .sys-after .live-row,.hero-sys.is-explore .sys-log{opacity:.18;transition:opacity .5s ease}
.hero-sys.is-explore .sys-log:hover{opacity:1}
