/* ==========================================================================
   MACH7XPERTS (MACH7X) — site stylesheet
   Brand: Black/White carry the layout; gradient #7903EB → #C70B8F → #FF114F
   is an accent only (top bar segment, one emphasis element per section).
   Font: Plus Jakarta Sans (self-hosted, SIL OFL).
   ========================================================================== */

@font-face{
  font-family:"Plus Jakarta Sans";
  src:url("/assets/fonts/plus-jakarta-sans-latin.woff2") format("woff2");
  font-weight:200 800;font-style:normal;font-display:swap;
}

/* ---------- Tokens ---------- */
:root{
  --black:#000;
  --white:#fff;
  --violet:#7903EB;
  --magenta:#C70B8F;
  --red:#FF114F;
  --grad:linear-gradient(135deg,var(--violet) 0%,var(--magenta) 57%,var(--red) 100%);

  /* neutrals (tints of black/white) */
  --ink-900:#000;
  --ink-850:#08080a;
  --ink-800:#0e0e11;
  --ink-700:#17171b;
  --line-d:rgba(255,255,255,.14);
  --line-d-strong:rgba(255,255,255,.28);
  --mute-d:#a6a6b0;        /* 8.3:1 on black */
  --line-l:rgba(0,0,0,.14);
  --line-l-strong:rgba(0,0,0,.32);
  --mute-l:#55555e;        /* 7.4:1 on white */
  --paper:#fff;

  --font:"Plus Jakarta Sans",ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;

  --fs-display:clamp(2.9rem,1.2rem + 7.6vw,8.4rem);
  --fs-h1:clamp(2.5rem,1.3rem + 5vw,5.6rem);
  --fs-h2:clamp(2rem,1.25rem + 3.1vw,3.9rem);
  --fs-h3:clamp(1.2rem,1.05rem + .5vw,1.5rem);
  --fs-lead:clamp(1.1rem,1rem + .45vw,1.38rem);
  --fs-body:1.0625rem;
  --fs-small:.9375rem;
  --fs-label:.75rem;

  --wrap:1320px;
  --gutter:clamp(20px,4vw,48px);
  --sec:clamp(80px,4rem + 7vw,168px);
  --radius:4px;
  --ease:cubic-bezier(.2,.7,.2,1);
  --header-h:76px;
}

/* ---------- Reset / base ---------- */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-padding-top:calc(var(--header-h) + 16px)}
@media (prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}
body{margin:0;background:var(--black);color:var(--white);font-family:var(--font);font-size:var(--fs-body);line-height:1.65;font-weight:400;font-variant-ligatures:no-contextual;font-feature-settings:"calt" 0;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden}
img,svg{display:block;max-width:100%;height:auto}
a{color:inherit}
button,input,select,textarea{font:inherit;color:inherit}
h1,h2,h3,h4,p,ul,ol,dl,figure{margin:0}
ul,ol{padding:0;list-style:none}
::selection{background:var(--magenta);color:#fff}
:focus-visible{outline:2px solid currentColor;outline-offset:3px}
.paper :focus-visible{outline-color:#000}
[hidden]{display:none!important}

.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.skip-link{position:absolute;left:12px;top:-60px;z-index:200;background:#fff;color:#000;padding:10px 16px;font-weight:700;border-radius:var(--radius);text-decoration:none}
.skip-link:focus{top:12px}

.wrap{width:100%;max-width:calc(var(--wrap) + var(--gutter)*2);margin-inline:auto;padding-inline:var(--gutter)}

/* ---------- Typography ---------- */
.display,.h1,.h2{font-weight:800;text-transform:uppercase;letter-spacing:-.035em;line-height:.92}
.display{font-size:var(--fs-display);letter-spacing:-.045em;line-height:.88}
.h1{font-size:var(--fs-h1)}
.h2{font-size:var(--fs-h2);line-height:.96}
.h3{font-size:var(--fs-h3);font-weight:700;letter-spacing:-.015em;line-height:1.2}
.lead{font-size:var(--fs-lead);font-weight:300;line-height:1.5;letter-spacing:-.01em;max-width:60ch}
.lead strong{font-weight:600}
.body{max-width:62ch}
.body p+p{margin-top:1em}
.muted{color:var(--mute-d)}
.paper .muted{color:var(--mute-l)}
.small{font-size:var(--fs-small)}
.label{display:inline-flex;align-items:center;gap:10px;font-size:var(--fs-label);font-weight:700;letter-spacing:.14em;text-transform:uppercase;line-height:1.3}
.label::before{content:"";width:18px;height:1px;background:currentColor;opacity:.7}
.label--plain::before{display:none}
.dot{display:inline-block;width:.22em;height:.22em;background:var(--grad);margin-left:.04em;vertical-align:baseline}
.nowrap{white-space:nowrap}
.tnum{font-variant-numeric:tabular-nums}

/* ---------- Top bar (brand social system: white bar, gradient segment marks position) ---------- */
.topbar{position:fixed;inset:0 0 auto 0;height:4px;background:#fff;z-index:120}
.topbar span{position:absolute;top:0;bottom:0;width:calc(100%/6);left:calc(var(--seg,0) * 100%/6);background:var(--grad)}

/* ---------- Header ---------- */
.site-header{position:sticky;top:4px;z-index:100;background:rgba(0,0,0,.92);border-bottom:1px solid transparent;transition:border-color .3s var(--ease)}
@supports (backdrop-filter:blur(10px)){.site-header{background:rgba(0,0,0,.8);backdrop-filter:saturate(140%) blur(12px)}}
.site-header.is-scrolled{border-bottom-color:var(--line-d)}
.header-inner{height:var(--header-h);display:flex;align-items:center;justify-content:space-between;gap:24px}
.brand{display:block;flex:none;width:clamp(118px,10vw,140px)}
.brand img{width:100%;height:auto}
.nav{display:flex;align-items:center;gap:clamp(18px,2.2vw,34px)}
.nav a{position:relative;font-size:.875rem;font-weight:500;text-decoration:none;color:#d9d9de;padding:6px 0;transition:color .2s}
.nav a:hover,.nav a[aria-current="page"]{color:#fff}
.nav a[aria-current="page"]::after{content:"";position:absolute;left:0;right:0;bottom:-2px;height:2px;background:#fff}
.header-cta{flex:none}
.menu-toggle{display:none;align-items:center;gap:10px;background:none;border:1px solid var(--line-d-strong);border-radius:var(--radius);padding:9px 12px;font-size:.8125rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;cursor:pointer}
.menu-toggle .bars{position:relative;width:18px;height:10px}
.menu-toggle .bars::before,.menu-toggle .bars::after{content:"";position:absolute;left:0;right:0;height:2px;background:#fff;transition:transform .3s var(--ease),top .3s var(--ease)}
.menu-toggle .bars::before{top:0}.menu-toggle .bars::after{top:8px}
.menu-open .menu-toggle .bars::before{top:4px;transform:rotate(45deg)}
.menu-open .menu-toggle .bars::after{top:4px;transform:rotate(-45deg)}

.mobile-nav{display:none}
@media (max-width:1023px){
  .nav,.btn.header-cta{display:none}
  .menu-toggle{display:inline-flex}
  .mobile-nav{display:block;position:fixed;inset:calc(var(--header-h) + 4px) 0 0 0;background:#000;z-index:99;padding:28px var(--gutter) 40px;overflow-y:auto;visibility:hidden;opacity:0;transform:translateY(-8px);transition:opacity .25s var(--ease),transform .25s var(--ease),visibility 0s linear .25s}
  .menu-open .mobile-nav{visibility:visible;opacity:1;transform:none;transition:opacity .25s var(--ease),transform .25s var(--ease)}
  .mobile-nav ol{counter-reset:m}
  .mobile-nav li{border-bottom:1px solid var(--line-d)}
  .mobile-nav li a{counter-increment:m;display:flex;align-items:baseline;gap:16px;padding:16px 0;font-size:clamp(1.6rem,7vw,2.4rem);font-weight:800;text-transform:uppercase;letter-spacing:-.03em;text-decoration:none;line-height:1.05}
  .mobile-nav li a::before{content:"0" counter(m);font-size:.75rem;font-weight:700;letter-spacing:.1em;color:var(--mute-d);transform:translateY(-.9em)}
  .mobile-nav li a[aria-current="page"]{color:#fff;text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:6px}
  .mobile-nav .btn{margin-top:28px;width:100%}
  .mobile-nav .mobile-meta{margin-top:28px;font-size:var(--fs-small);color:var(--mute-d)}
  .mobile-nav .mobile-meta a{text-decoration:none}
  body.menu-open{overflow:hidden}
}

/* ---------- Buttons & links ---------- */
.btn{--bg:#fff;--fg:#000;--bd:#fff;display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:50px;padding:13px 22px;border:1px solid var(--bd);border-radius:var(--radius);background:var(--bg);color:var(--fg);font-size:.9375rem;font-weight:700;letter-spacing:-.005em;line-height:1.2;text-decoration:none;cursor:pointer;transition:background .2s,color .2s,border-color .2s,transform .2s var(--ease)}
.btn .ico{width:16px;height:16px;flex:none;transition:transform .25s var(--ease)}
.btn:hover .ico{transform:translateX(3px)}
.btn:hover .ico--ne{transform:translate(2px,-2px)}
.btn:hover{--bg:#e9e9ec}
.btn--ghost{--bg:transparent;--fg:#fff;--bd:var(--line-d-strong)}
.btn--ghost:hover{--bg:transparent;--bd:#fff}
.btn--sm{min-height:42px;padding:9px 16px;font-size:.875rem}
.paper .btn{--bg:#000;--fg:#fff;--bd:#000}
.paper .btn:hover{--bg:#26262b;--bd:#26262b}
.paper .btn--ghost{--bg:transparent;--fg:#000;--bd:var(--line-l-strong)}
.paper .btn--ghost:hover{--bg:transparent;--bd:#000}
.btn-row{display:flex;flex-wrap:wrap;gap:12px}

.link{display:inline-flex;align-items:center;gap:10px;font-weight:700;font-size:.9375rem;text-decoration:none;border-bottom:1px solid currentColor;padding-bottom:3px}
.link .ico{width:14px;height:14px;transition:transform .25s var(--ease)}
.link:hover .ico{transform:translateX(3px)}
.prose-link,.body a,.legal-body a,.footnote a{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}

/* ---------- Pills / tags ---------- */
.pill{display:inline-flex;align-items:center;gap:8px;padding:6px 12px;border:1px solid var(--line-d-strong);border-radius:999px;font-size:.75rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;line-height:1.2}
.paper .pill{border-color:var(--line-l-strong)}
.pill--grad{border:0;background:var(--grad);color:#fff;padding:7px 13px}
.tags{display:flex;flex-wrap:wrap;gap:8px}

/* ---------- Sections ---------- */
.section{position:relative;padding-block:var(--sec)}
.section--tight{padding-block:calc(var(--sec)*.6)}
.section + .section:not(.paper):not(.no-rule)::before{content:"";position:absolute;top:0;left:var(--gutter);right:var(--gutter);max-width:var(--wrap);margin-inline:auto;height:1px;background:var(--line-d)}
.paper{background:var(--paper);color:#000}
.sec-head{display:grid;grid-template-columns:1fr;gap:24px;margin-bottom:clamp(40px,5vw,72px)}
.sec-head .label{color:var(--mute-d)}
.paper .sec-head .label{color:var(--mute-l)}
@media (min-width:900px){
  .sec-head--split{grid-template-columns:minmax(0,7fr) minmax(0,5fr);align-items:end;gap:48px}
  .sec-head--split .lead{justify-self:end}
}

/* ---------- Grid helpers ---------- */
.grid{display:grid;gap:clamp(24px,3vw,40px)}
@media (min-width:720px){.grid--2{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (min-width:900px){
  .grid--3{grid-template-columns:repeat(3,minmax(0,1fr))}
  .grid--4{grid-template-columns:repeat(4,minmax(0,1fr))}
  .grid--5-7{grid-template-columns:minmax(0,5fr) minmax(0,7fr)}
  .grid--7-5{grid-template-columns:minmax(0,7fr) minmax(0,5fr)}
  .grid--6-6{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (min-width:720px) and (max-width:899px){.grid--4{grid-template-columns:repeat(2,minmax(0,1fr))}.grid--3{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* ---------- Motif ---------- */
.motif{position:absolute;pointer-events:none;user-select:none;z-index:0}
.motif img{width:100%;height:100%;object-fit:contain}
.has-motif{position:relative;overflow:hidden;isolation:isolate}
.has-motif > .wrap{position:relative;z-index:1}

/* ---------- Hero ---------- */
.hero{padding-top:clamp(56px,7vw,112px);padding-bottom:clamp(56px,6vw,96px)}
.hero .label{color:var(--mute-d)}
.hero-title{margin-top:clamp(24px,3vw,40px)}
.hero-title > span{display:block}
.hero-grid{display:grid;gap:40px;margin-top:clamp(36px,5vw,72px)}
@media (min-width:1000px){.hero-grid{grid-template-columns:minmax(0,6fr) minmax(0,5fr);gap:clamp(48px,7vw,120px);align-items:end}}
.hero-grid .btn-row{margin-top:32px}
.hero .motif{right:-22vw;top:-14vw;width:min(74vw,1000px);aspect-ratio:1;opacity:.6}
.hero .spec{background:#000}
@media (max-width:899px){.hero .motif{right:-46vw;top:-10vw;width:130vw;opacity:.45}}

.page-hero{padding-top:clamp(56px,7vw,112px);padding-bottom:clamp(56px,6vw,96px)}
.page-hero .label{color:var(--mute-d)}
.page-hero .h1,.page-hero .display{margin-top:clamp(20px,2.5vw,32px)}
.page-hero .lead{margin-top:clamp(24px,3vw,36px)}
.page-hero .btn-row{margin-top:32px}
.page-hero .motif{right:-22vw;top:-8vw;width:min(70vw,900px);aspect-ratio:1;opacity:.5}
@media (max-width:899px){.page-hero .motif{right:-60vw;width:120vw;opacity:.35}}

/* spec sheet (key/value hairline list) */
.spec{border-top:1px solid var(--line-d-strong)}
.spec div{display:grid;grid-template-columns:8.5rem 1fr;gap:16px;padding:14px 0;border-bottom:1px solid var(--line-d)}
.spec dt{font-size:var(--fs-label);font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--mute-d);padding-top:.2em}
.spec dd{margin:0;font-weight:500}
.paper .spec{border-top-color:var(--line-l-strong)}
.paper .spec div{border-bottom-color:var(--line-l)}
.paper .spec dt{color:var(--mute-l)}
@media (max-width:420px){.spec div{grid-template-columns:1fr;gap:4px}}

/* ---------- Statement ---------- */
.statement{font-size:clamp(1.6rem,1rem + 2.6vw,3.2rem);font-weight:700;letter-spacing:-.03em;line-height:1.12;max-width:22ch}
.statement em{font-style:normal;color:var(--mute-d)}
.paper .statement em{color:var(--mute-l)}

/* ---------- Steps (Diagnose/Build/Staff/Run) ---------- */
.steps{display:grid;gap:0;border-top:1px solid var(--line-d-strong)}
@media (min-width:900px){.steps{grid-template-columns:repeat(4,minmax(0,1fr))}}
.step{position:relative;padding:28px 28px 36px 0}
@media (min-width:900px){.step{padding:32px 28px 8px 0}.step + .step{padding-left:28px;border-left:1px solid var(--line-d)}}
@media (max-width:899px){.step{border-bottom:1px solid var(--line-d)}}
.step-num{font-size:var(--fs-label);font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--mute-d)}
.step-title{margin-top:18px;font-size:clamp(1.7rem,1.2rem + 1.6vw,2.6rem);font-weight:800;text-transform:uppercase;letter-spacing:-.035em;line-height:1}
.step p{margin-top:14px;color:#d4d4da;max-width:34ch}
.paper .step p{color:#2c2c31}
.paper .steps{border-top-color:var(--line-l-strong)}
.paper .step + .step{border-left-color:var(--line-l)}
@media (max-width:899px){.paper .step{border-bottom-color:var(--line-l)}}
.paper .step-num{color:var(--mute-l)}

/* inline arrow */
.to{display:inline-block;width:.85em;height:.45em;margin:0 .22em;vertical-align:.12em}

/* chevron marks */
.chev{display:inline-block;width:.42em;height:.42em;border-top:.09em solid currentColor;border-right:.09em solid currentColor;transform:rotate(45deg);margin:0 .32em .08em .18em;opacity:.55;vertical-align:middle}

/* ---------- Offers (home preview) ---------- */
.offers{display:grid;border-top:1px solid var(--line-l-strong)}
@media (min-width:900px){.offers{grid-template-columns:repeat(3,minmax(0,1fr))}}
.offer{display:flex;flex-direction:column;padding:32px 0 36px}
@media (min-width:900px){.offer{padding:36px 32px 8px 0}.offer + .offer{padding-left:32px;border-left:1px solid var(--line-l)}}
@media (max-width:899px){.offer{border-bottom:1px solid var(--line-l)}}
.offer .label{color:var(--mute-l)}
.offer h3{margin-top:18px}
.offer .desc{margin-top:10px;color:var(--mute-l);max-width:38ch}
.price{margin-top:28px;display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 8px}
.price .qual{width:100%;font-size:var(--fs-label);font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--mute-l)}
.price .amt{font-size:clamp(2.2rem,1.6rem + 1.8vw,3.3rem);font-weight:800;letter-spacing:-.04em;line-height:1}
.price .per{font-weight:600;color:var(--mute-l)}
.ticks{margin-top:24px;display:grid;gap:10px}
.ticks li{position:relative;padding-left:22px;font-size:var(--fs-small);line-height:1.5}
.ticks li::before{content:"";position:absolute;left:0;top:.62em;width:10px;height:2px;background:currentColor}
.offer .link{margin-top:auto;padding-top:28px;align-self:flex-start;border-bottom:0}
.offer .link span{border-bottom:1px solid currentColor;padding-bottom:3px}

/* pilot band */
.pilot{margin-top:clamp(40px,5vw,64px);display:grid;gap:24px;align-items:center;background:#000;color:#fff;padding:clamp(28px,4vw,48px);border-radius:var(--radius)}
@media (min-width:900px){.pilot{grid-template-columns:minmax(0,1.3fr) auto auto;gap:40px}}
.pilot .label{color:var(--mute-d)}
.pilot h3{margin-top:12px;font-size:clamp(1.5rem,1.1rem + 1.4vw,2.3rem);font-weight:800;text-transform:uppercase;letter-spacing:-.03em;line-height:1}
.pilot p{margin-top:12px;color:#cfcfd6;max-width:52ch}
.pilot .price{margin-top:0}
.pilot .price .amt{color:#fff}
.pilot .price .qual,.pilot .price .per{color:var(--mute-d)}
.pilot .btn{--bg:#fff;--fg:#000;--bd:#fff}
.pilot .btn:hover{--bg:#e9e9ec}

/* ---------- Frameworks ---------- */
.frameworks{display:grid;border-top:1px solid var(--line-d-strong)}
@media (min-width:900px){.frameworks{grid-template-columns:repeat(2,minmax(0,1fr))}}
.fw{padding:32px 0 36px;border-bottom:1px solid var(--line-d)}
@media (min-width:900px){.fw{padding:40px 40px 44px 0}.fw:nth-child(even){padding-left:40px;border-left:1px solid var(--line-d)}}
.fw .step-num{display:block}
.fw-name{margin-top:16px;font-size:clamp(1.35rem,1rem + 1.3vw,2.1rem);font-weight:800;text-transform:uppercase;letter-spacing:-.03em;line-height:1.08}
.fw p{margin-top:12px;color:#cfcfd6;max-width:46ch}

/* ---------- Proof / metrics ---------- */
.metrics{display:grid;gap:40px;border-top:1px solid var(--line-l-strong);padding-top:32px}
@media (min-width:900px){.metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:56px}}
.metric .val{color:inherit;font-size:clamp(4rem,2rem + 8vw,9.5rem);font-weight:800;letter-spacing:-.06em;line-height:.85}
.metric .val sup{font-size:.35em;letter-spacing:-.02em;vertical-align:.95em;margin-left:.04em;font-weight:700}
.metric .rule{display:block;width:72px;height:4px;margin:22px 0 18px;background:#000}
.metric .rule--grad{background:var(--grad)}
.metric h3{font-size:var(--fs-h3);font-weight:700;letter-spacing:-.015em}
.metric p:not(.val){margin-top:8px;color:var(--mute-l);max-width:44ch}
.section:not(.paper) .metric .rule{background:#fff}
.section:not(.paper) .metric .rule--grad{background:var(--grad)}
.section:not(.paper) .metric p:not(.val){color:var(--mute-d)}
.section:not(.paper) .metrics{border-top-color:var(--line-d-strong)}

.ledger{margin-top:clamp(48px,6vw,80px);border-top:1px solid var(--line-l-strong)}
.ledger-row{display:grid;gap:8px 32px;padding:24px 0;border-bottom:1px solid var(--line-l)}
@media (min-width:900px){.ledger-row{grid-template-columns:minmax(0,3fr) minmax(0,3fr) minmax(0,4fr);align-items:baseline}}
.ledger-row .client{font-size:clamp(1.3rem,1.05rem + .9vw,1.9rem);font-weight:800;letter-spacing:-.03em;text-transform:uppercase;line-height:1.1}
.ledger-row .sector{color:var(--mute-l);font-size:var(--fs-small)}
.ledger-row .delta{font-size:clamp(1.3rem,1.05rem + .9vw,1.9rem);font-weight:700;letter-spacing:-.03em;line-height:1.15}
.ledger-row .delta small{display:block;font-size:var(--fs-small);font-weight:500;letter-spacing:0;color:var(--mute-l);margin-top:6px;line-height:1.45}
.footnote{margin-top:28px;font-size:.8125rem;line-height:1.55;color:var(--mute-l);max-width:80ch}
.section:not(.paper) .footnote{color:var(--mute-d)}

/* ---------- Founder ---------- */
.founder{display:grid;gap:40px}
@media (min-width:900px){.founder{grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(48px,7vw,120px);align-items:start}}
.founder-card{position:relative;border:1px solid var(--line-d-strong);padding:clamp(24px,3vw,36px);overflow:hidden;min-height:clamp(220px,30vw,380px);display:flex;flex-direction:column;justify-content:space-between}
.founder-card .mono{font-size:clamp(5rem,3rem + 7vw,9rem);font-weight:800;letter-spacing:-.07em;line-height:.8;color:#1c1c21}
.founder-card .motif{right:-30%;top:-20%;width:100%;aspect-ratio:1;opacity:.22}
.founder-card > span{position:relative;z-index:1}
.founder-name{font-size:clamp(1.8rem,1.3rem + 1.8vw,2.8rem);font-weight:800;text-transform:uppercase;letter-spacing:-.035em;line-height:1}
.founder-role{margin-top:8px;font-weight:600;color:var(--mute-d)}
.founder .tags{margin-top:28px}

/* ---------- Ventures ---------- */
.ventures{display:grid;gap:16px}
@media (min-width:640px){.ventures{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (min-width:1100px){.ventures{grid-template-columns:repeat(4,minmax(0,1fr))}}
.venture{display:flex;flex-direction:column;border:1px solid var(--line-l);border-radius:var(--radius);background:#fff;transition:border-color .2s}
.venture:hover{border-color:#000}
.venture-logo{height:150px;display:flex;align-items:center;justify-content:center;padding:28px;border-bottom:1px solid var(--line-l)}
.venture-logo img{max-height:84px;width:auto;max-width:100%;object-fit:contain}
.venture--core .venture-logo{background:#000}
.venture--core .venture-logo img{max-height:64px}
.venture-body{padding:20px 22px 24px}
.venture-body .label{color:var(--mute-l)}
.venture-body h3{margin-top:10px;font-size:1.125rem;font-weight:800;letter-spacing:-.02em;line-height:1.25}
.venture-body p{margin-top:8px;font-size:var(--fs-small);color:var(--mute-l);line-height:1.55}

/* ---------- CTA ---------- */
.cta{text-align:left}
.cta .display{max-width:13ch}
.cta .lead{margin-top:28px}
.cta .btn-row{margin-top:36px}
.cta .motif{right:-18vw;bottom:-30vw;width:min(80vw,1000px);aspect-ratio:1;opacity:.28}

/* ---------- Pricing (What We Do) ---------- */
.plan{display:grid;gap:28px;padding:clamp(36px,4vw,56px) 0;border-top:1px solid var(--line-l-strong)}
.plan:last-of-type{border-bottom:1px solid var(--line-l-strong)}
@media (min-width:960px){.plan{grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(40px,6vw,96px)}}
.plan-head .label{color:var(--mute-l)}
.plan-head h3{margin-top:14px;font-size:clamp(1.9rem,1.3rem + 2vw,3rem);font-weight:800;text-transform:uppercase;letter-spacing:-.035em;line-height:.98}
.plan-head .desc{margin-top:14px;color:#2c2c31;max-width:40ch}
.plan-head .price{margin-top:24px}
.plan-head .btn{margin-top:28px}
.plan-cols{display:grid;gap:28px}
@media (min-width:640px){.plan-cols{grid-template-columns:repeat(2,minmax(0,1fr))}}
.plan-cols h4{font-size:var(--fs-label);font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--mute-l);padding-bottom:12px;border-bottom:1px solid var(--line-l)}
.plan-cols .ticks{margin-top:16px}
.plan-note{margin-top:20px;font-size:var(--fs-small);color:var(--mute-l);max-width:62ch}
.plan-note strong{color:#000;font-weight:700}

.list-cols{display:grid;border-top:1px solid var(--line-d-strong)}
@media (min-width:720px){.list-cols{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:40px}}
@media (min-width:1100px){.list-cols--4{grid-template-columns:repeat(4,minmax(0,1fr))}}
.list-cols li{display:flex;gap:16px;align-items:baseline;padding:20px 0;border-bottom:1px solid var(--line-d)}
.list-cols li .n{font-size:var(--fs-label);font-weight:700;letter-spacing:.12em;color:var(--mute-d);flex:none;width:2.2em}
.list-cols li strong{display:block;font-weight:700;font-size:1.0625rem;letter-spacing:-.01em}
.list-cols li span.d{display:block;margin-top:4px;color:var(--mute-d);font-size:var(--fs-small);line-height:1.5}
.paper .list-cols{border-top-color:var(--line-l-strong)}
.paper .list-cols li{border-bottom-color:var(--line-l)}
.paper .list-cols li .n,.paper .list-cols li span.d{color:var(--mute-l)}

.caps{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:24px;border-top:1px solid var(--line-d-strong)}
@media (min-width:900px){.caps{grid-template-columns:repeat(4,minmax(0,1fr))}}
.caps li{padding:22px 24px 22px 0;border-bottom:1px solid var(--line-d);font-size:clamp(1.2rem,1rem + .8vw,1.7rem);font-weight:800;text-transform:uppercase;letter-spacing:-.03em;line-height:1.1}

.notes{display:grid;gap:32px}
@media (min-width:900px){.notes{grid-template-columns:repeat(2,minmax(0,1fr));gap:56px}}
.note-block h3{font-size:1.125rem;font-weight:800;letter-spacing:-.015em}
.note-block .ticks{margin-top:16px}
.note-block p{margin-top:12px;color:var(--mute-d);font-size:var(--fs-small)}

/* ---------- Selected Work ---------- */
.case{display:grid;gap:28px;padding:clamp(40px,5vw,72px) 0;border-top:1px solid var(--line-l-strong)}
.case:last-of-type{border-bottom:1px solid var(--line-l-strong)}
@media (min-width:960px){.case{grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(40px,6vw,96px);align-items:end}}
.case-name{margin-top:14px;font-size:clamp(2.4rem,1.5rem + 3.4vw,4.6rem);font-weight:800;text-transform:uppercase;letter-spacing:-.045em;line-height:.9}
.case .label{color:var(--mute-l)}
.case-meta{margin-top:20px}
.case-result .qual{font-size:var(--fs-label);font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--mute-l)}
.case-figs{margin-top:14px;display:flex;flex-wrap:wrap;align-items:center;gap:8px 20px}
.case-figs .fig{font-size:clamp(2.6rem,1.6rem + 4vw,5.6rem);font-weight:800;letter-spacing:-.05em;line-height:.9}
.case-figs .fig small{font-size:.32em;letter-spacing:-.01em;font-weight:700;color:var(--mute-l);margin-left:.08em}
.case-figs .from{color:#6e6e78}
.case-figs .arrow{width:clamp(28px,3vw,48px);height:auto;flex:none}
.case-result p{margin-top:18px;color:#2c2c31;max-width:52ch}

.logo-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-top:1px solid var(--line-d);border-left:1px solid var(--line-d)}
@media (min-width:640px){.logo-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (min-width:1000px){.logo-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
.logo-cell{position:relative;display:flex;flex-direction:column;justify-content:space-between;gap:16px;min-height:168px;padding:20px;border-right:1px solid var(--line-d);border-bottom:1px solid var(--line-d)}
.logo-cell .mark{flex:1;display:flex;align-items:center;justify-content:center;min-height:72px}
.logo-cell .mark img{max-height:52px;max-width:78%;width:auto;object-fit:contain;opacity:.88;transition:opacity .2s}
.logo-cell .mark img.tall{max-height:78px}
.logo-cell:hover .mark img{opacity:1}
.logo-cell .wordmark{font-size:clamp(1.05rem,.9rem + .6vw,1.4rem);font-weight:800;letter-spacing:-.025em;text-transform:uppercase;text-align:center;line-height:1.1}
.logo-cell .cap{font-size:.75rem;letter-spacing:.06em;color:var(--mute-d);text-transform:uppercase;font-weight:600}
.logo-cell--note{justify-content:center;background:var(--ink-850)}
.logo-cell--note p{font-size:var(--fs-small);color:var(--mute-d);line-height:1.5}

/* ---------- Timeline ---------- */
.timeline{display:grid;border-top:1px solid var(--line-d-strong)}
@media (min-width:900px){.timeline{grid-template-columns:repeat(5,minmax(0,1fr))}}
.tl{position:relative;padding:28px 24px 28px 0;border-bottom:1px solid var(--line-d)}
@media (min-width:900px){.tl{border-bottom:0;padding:32px 24px 8px 0}.tl + .tl{padding-left:24px;border-left:1px solid var(--line-d)}}
.tl::before{content:"";position:absolute;top:-5px;left:0;width:9px;height:9px;background:#fff}
@media (min-width:900px){.tl + .tl::before{left:24px}}
.tl--now::before{background:var(--grad)}
.tl time,.tl .when{font-size:var(--fs-label);font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--mute-d)}
.tl h3{margin-top:12px;font-size:1.25rem;font-weight:800;letter-spacing:-.02em;line-height:1.2}
.tl p{margin-top:8px;font-size:var(--fs-small);color:var(--mute-d);line-height:1.55}

/* ---------- Contact ---------- */
.paths{display:grid;gap:16px;margin-top:40px}
@media (min-width:720px){.paths{grid-template-columns:repeat(2,minmax(0,1fr));max-width:860px}}
.path{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;padding:22px 24px;border:1px solid var(--line-d-strong);border-radius:var(--radius);text-decoration:none;transition:border-color .2s,background .2s}
.path:hover{border-color:#fff;background:var(--ink-800)}
.path .k{font-size:var(--fs-label);font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--mute-d)}
.path .t{display:block;margin-top:8px;font-size:1.35rem;font-weight:800;letter-spacing:-.025em;line-height:1.15}
.path .ico{width:22px;height:22px;flex:none}

.contact-grid{display:grid;gap:56px}
@media (min-width:1000px){.contact-grid{grid-template-columns:minmax(0,7fr) minmax(0,4fr);gap:clamp(56px,7vw,112px)}}

.form{display:grid;gap:22px}
.form-row{display:grid;gap:22px}
@media (min-width:640px){.form-row{grid-template-columns:repeat(2,minmax(0,1fr))}}
.field{display:grid;gap:8px}
.field label{font-size:.875rem;font-weight:700;letter-spacing:-.005em}
.field label .opt{font-weight:500;color:var(--mute-l)}
.field input,.field select,.field textarea{width:100%;min-height:52px;padding:13px 14px;border:1px solid var(--line-l-strong);border-radius:var(--radius);background:#fff;color:#000;font-size:1rem;line-height:1.4;transition:border-color .15s,box-shadow .15s;appearance:none;-webkit-appearance:none}
.field textarea{min-height:168px;resize:vertical}
.field select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%23000' stroke-width='2'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;padding-right:40px}
.field input:hover,.field select:hover,.field textarea:hover{border-color:#000}
.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:#000;box-shadow:0 0 0 3px rgba(0,0,0,.18)}
.field .err{display:none;font-size:.8125rem;font-weight:600;color:#b00034}
.field.invalid input,.field.invalid select,.field.invalid textarea{border-color:#b00034;box-shadow:0 0 0 1px #b00034}
.field.invalid .err{display:flex;gap:6px;align-items:center}
.field.invalid .err::before{content:"!";display:inline-grid;place-items:center;width:16px;height:16px;border-radius:50%;background:#b00034;color:#fff;font-size:.6875rem;font-weight:800}
.hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}
.form-foot{display:flex;flex-wrap:wrap;align-items:center;gap:16px 24px}
.form-foot p{font-size:.8125rem;color:var(--mute-l);max-width:46ch;line-height:1.5}
.form-status{padding:16px 18px;border-radius:var(--radius);font-size:var(--fs-small);font-weight:500;line-height:1.5}
.form-status.is-error{background:#fff0f4;border:1px solid #b00034;color:#5c0019}
.form-status.is-ok{background:#f2f2f4;border:1px solid #000;color:#000}
.btn[aria-busy="true"]{opacity:.7;cursor:progress}

.direct{display:grid;gap:0;border-top:1px solid var(--line-l-strong)}
.direct > div{padding:18px 0;border-bottom:1px solid var(--line-l)}
.direct .k{font-size:var(--fs-label);font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--mute-l)}
.direct .v{margin-top:6px;font-weight:600;line-height:1.5;word-break:break-word}
.direct .v a{text-decoration:none;border-bottom:1px solid var(--line-l-strong)}
.direct .v a:hover{border-bottom-color:#000}

/* booking */
.events{display:grid;gap:12px}
@media (min-width:640px){.events{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (min-width:1100px){.events{grid-template-columns:repeat(4,minmax(0,1fr))}}
.event{position:relative;display:flex;flex-direction:column;gap:10px;text-align:left;padding:22px 22px 20px;border:1px solid var(--line-d-strong);border-radius:var(--radius);background:transparent;cursor:pointer;transition:border-color .2s,background .2s}
.event:hover{border-color:#fff}
.event[aria-pressed="true"]{background:#fff;color:#000;border-color:#fff}
.event .k{font-size:var(--fs-label);font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--mute-d)}
.event[aria-pressed="true"] .k{color:var(--mute-l)}
.event .t{font-size:1.3rem;font-weight:800;letter-spacing:-.025em;line-height:1.15}
.event .d{font-size:var(--fs-small);color:#cfcfd6;line-height:1.5}
.event[aria-pressed="true"] .d{color:#2c2c31}
.event .sel{position:absolute;top:20px;right:20px;width:18px;height:18px;border:1.5px solid currentColor;border-radius:50%;opacity:.6}
.event[aria-pressed="true"] .sel{opacity:1;border-color:#000;background:radial-gradient(circle,#000 0 4px,transparent 4.5px)}
.event-links{margin-top:14px;display:flex;flex-wrap:wrap;gap:8px 24px;font-size:var(--fs-small)}
.event-links a{color:var(--mute-d);text-decoration:underline;text-underline-offset:3px}
.event-links a:hover{color:#fff}

.scheduler{margin-top:24px;background:#fff;color:#000;border-radius:var(--radius);overflow:hidden}
.scheduler-bar{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:16px 20px;border-bottom:1px solid var(--line-l)}
.scheduler-bar .now{font-weight:700}
.scheduler-bar .now span{color:var(--mute-l);font-weight:600}
.scheduler-bar a{font-size:var(--fs-small);font-weight:700;text-decoration:underline;text-underline-offset:3px}
.scheduler-frame{position:relative;height:720px;transition:height .3s var(--ease)}
@media (max-width:719px){.scheduler-frame{height:1060px}}
.scheduler-frame iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.scheduler-wait{position:absolute;inset:0;display:grid;place-items:center;text-align:center;padding:24px;color:var(--mute-l)}
.scheduler-wait .spin{width:28px;height:28px;border-radius:50%;border:2px solid #ddd;border-top-color:#000;margin:0 auto 14px;animation:spin 1s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}
@media (prefers-reduced-motion:reduce){.scheduler-wait .spin{animation:none}}

/* ---------- Legal ---------- */
.legal-wrap{display:grid;gap:48px}
@media (min-width:1000px){.legal-wrap{grid-template-columns:240px minmax(0,1fr);gap:80px}}
.toc{font-size:var(--fs-small)}
@media (min-width:1000px){.toc{position:sticky;top:calc(var(--header-h) + 36px);align-self:start}}
.toc .label{color:var(--mute-l)}
.toc ol{margin-top:16px;display:grid;gap:2px;border-left:1px solid var(--line-l)}
.toc a{display:block;padding:6px 0 6px 14px;margin-left:-1px;border-left:1px solid transparent;text-decoration:none;color:var(--mute-l);line-height:1.35}
.toc a:hover{color:#000;border-left-color:#000}
.legal-body{max-width:72ch}
.legal-meta{display:grid;gap:4px;padding:18px 0;margin-bottom:12px;border-top:1px solid var(--line-l-strong);border-bottom:1px solid var(--line-l);font-size:var(--fs-small)}
.legal-meta b{font-weight:700}
.legal-body h2{margin-top:48px;padding-top:4px;font-size:1.375rem;font-weight:800;letter-spacing:-.02em;line-height:1.25}
.legal-body h3{margin-top:24px;font-size:1.0625rem;font-weight:700}
.legal-body p{margin-top:14px}
.legal-body ul{margin-top:14px;display:grid;gap:8px}
.legal-body ul li{position:relative;padding-left:22px}
.legal-body ul li::before{content:"";position:absolute;left:0;top:.75em;width:10px;height:2px;background:#000}
.legal-note{margin-top:14px;padding:14px 16px;border-left:3px solid #000;background:#f4f4f6;font-size:var(--fs-small)}

/* ---------- Simple pages (404/thanks) ---------- */
.simple{min-height:calc(100svh - var(--header-h) - 4px);display:flex;align-items:center}

/* ---------- Footer ---------- */
.site-footer{position:relative;background:#000;border-top:1px solid var(--line-d);padding-top:clamp(64px,8vw,112px);padding-bottom:40px;overflow:hidden}
.footer-top{display:grid;gap:48px}
@media (min-width:1000px){.footer-top{grid-template-columns:minmax(0,4fr) minmax(0,2fr) minmax(0,3fr) minmax(0,3fr);gap:40px}}
.footer-brand img{width:150px}
.footer-brand p{margin-top:22px;font-size:1.25rem;font-weight:800;text-transform:uppercase;letter-spacing:-.025em;line-height:1.1}
.footer-brand .small{margin-top:12px;color:var(--mute-d);font-weight:400;text-transform:none;letter-spacing:0;font-size:var(--fs-small);line-height:1.55;max-width:34ch}
.footer-col h2{font-size:var(--fs-label);font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--mute-d)}
.footer-col ul{margin-top:16px;display:grid;gap:10px}
.footer-col a{text-decoration:none;font-size:var(--fs-small);color:#e4e4e8}
.footer-col a:hover{color:#fff;text-decoration:underline;text-underline-offset:3px}
.footer-col li span{display:block;font-size:.75rem;color:var(--mute-d);letter-spacing:.04em}
.footer-col address{font-style:normal;font-size:var(--fs-small);color:#e4e4e8;line-height:1.7}
.footer-legal{margin-top:clamp(48px,6vw,80px);padding-top:28px;border-top:1px solid var(--line-d);display:grid;gap:18px;font-size:.8125rem;color:var(--mute-d);line-height:1.6}
@media (min-width:1000px){.footer-legal{grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:40px}}
.footer-legal nav{display:flex;flex-wrap:wrap;gap:8px 20px}
@media (min-width:1000px){.footer-legal nav{justify-content:flex-end}}
.footer-legal nav a{color:#e4e4e8;text-decoration:none}
.footer-legal nav a:hover{text-decoration:underline}
.footer-legal p + p{margin-top:8px}
.footer-word{margin-top:clamp(48px,6vw,80px);font-size:min(12.6rem,12.4vw);font-weight:800;letter-spacing:-.06em;line-height:.8;text-transform:uppercase;color:#111114;white-space:nowrap;user-select:none}
.footer-word::before{content:attr(data-word)}

/* ---------- Reveal motion ---------- */
@media (prefers-reduced-motion:no-preference){
  .js .reveal{opacity:0;transform:translateY(18px);transition:opacity .8s var(--ease),transform .8s var(--ease)}
  .js .reveal.in{opacity:1;transform:none}
  .js .reveal-d1{transition-delay:.08s}.js .reveal-d2{transition-delay:.16s}.js .reveal-d3{transition-delay:.24s}
  .hero .motif img{animation:motif-in 1.6s var(--ease) both}
  @keyframes motif-in{from{opacity:0;transform:translateX(-24px)}to{opacity:1;transform:none}}
}

/* ---------- Print ---------- */
@media print{
  .topbar,.site-header,.mobile-nav,.motif,.footer-word,.scheduler{display:none!important}
  body{background:#fff;color:#000}
  .section,.paper{padding-block:24px}
}
.founder-card .mono::before{content:attr(data-word)}

/* ==========================================================================
   v2.1 UI/UX enhancements (see docs/DESIGN_V2.md)
   ========================================================================== */

/* 1. Top bar = reading progress */
.topbar span{left:0;width:calc(var(--p,0) * 100%);min-width:48px;transition:width .1s linear}

/* 2. Visible editorial grid on black sections (desktop, decorative) */
@media (min-width:1000px){
  .gridlines{position:relative}
  .gridlines::after{content:"";position:absolute;inset:0;pointer-events:none;z-index:0;
    --col:calc((min(100vw, calc(var(--wrap) + var(--gutter)*2)) - var(--gutter)*2) / 12);
    background-image:linear-gradient(to right,rgba(255,255,255,.045) 1px,transparent 1px);
    background-size:var(--col) 100%;
    background-position:calc((100vw - min(100vw, calc(var(--wrap) + var(--gutter)*2)))/2 + var(--gutter)) 0;
    -webkit-mask-image:linear-gradient(to bottom,transparent,#000 12%,#000 88%,transparent);mask-image:linear-gradient(to bottom,transparent,#000 12%,#000 88%,transparent)}
  .gridlines > .wrap{position:relative;z-index:1}
}

/* 3a. Hero masked line reveal */
.hero-title > span{overflow:hidden;padding-bottom:.04em}
.hero-title > span > b{display:block;font-weight:inherit}
@media (prefers-reduced-motion:no-preference){
  .js .hero-title > span > b{transform:translateY(105%);animation:line-up .9s var(--ease) forwards}
  .js .hero-title > span:nth-child(2) > b{animation-delay:.12s}
  @keyframes line-up{to{transform:none}}
  .js .hero-title.reveal{opacity:1;transform:none}
}

/* 3b. Capability ticker */
.ticker{border-top:1px solid var(--line-d);border-bottom:1px solid var(--line-d);overflow:hidden;background:#000}
.ticker-track{display:flex;width:max-content}
.ticker ul{display:flex;align-items:center;flex:none}
.ticker li{display:flex;align-items:center;gap:28px;padding:22px 28px 22px 0;font-size:clamp(1rem,.85rem + .6vw,1.35rem);font-weight:800;text-transform:uppercase;letter-spacing:-.02em;white-space:nowrap}
.ticker li::after{content:"";width:8px;height:8px;border-top:2px solid var(--mute-d);border-right:2px solid var(--mute-d);transform:rotate(45deg)}
.ticker li.em{color:#7a7a84}
@media (prefers-reduced-motion:no-preference){
  .ticker-track{animation:ticker 48s linear infinite}
  .ticker:hover .ticker-track,.ticker:focus-within .ticker-track,.ticker.paused .ticker-track{animation-play-state:paused}
  @keyframes ticker{to{transform:translateX(-50%)}}
}
@media (prefers-reduced-motion:reduce){.ticker-track > ul[aria-hidden]{display:none}.ticker ul{flex-wrap:wrap}}

/* 9. Chapter markers */
.chapter{font-variant-numeric:tabular-nums}
.chapter b{font-weight:800;color:#fff;margin-right:2px}
.paper .chapter b{color:#000}

/* 4. Sticky story: operating model */
@media (min-width:1000px){
  .story{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(48px,6vw,112px);align-items:start}
  .story-head{position:sticky;top:calc(var(--header-h) + 56px)}
  .story .steps{grid-template-columns:1fr;border-top:0}
  .story .step{display:grid;grid-template-columns:88px 1fr;gap:0 24px;padding:36px 0;border-left:0!important;border-top:1px solid var(--line-d)}
  .story .step + .step{padding-left:0}
  .story .step:last-child{border-bottom:1px solid var(--line-d)}
  .story .step p{grid-column:2;max-width:46ch}
  .story .step-title{margin-top:0;grid-column:2;font-size:clamp(2.2rem,1.4rem + 2.4vw,3.6rem)}
  .story .step-num{grid-row:1/span 2;font-size:clamp(2.2rem,1.4rem + 2.4vw,3.6rem);font-weight:800;letter-spacing:-.04em;color:#2a2a30;line-height:1;transition:color .4s var(--ease)}
  .story .step.active .step-num{color:transparent;background:var(--grad);-webkit-background-clip:text;background-clip:text}
  .story .step .step-title,.story .step p{transition:opacity .4s var(--ease)}
  .js .story .step:not(.active) .step-title,.js .story .step:not(.active) p{opacity:.55}
}
.story-head .lead{margin-top:24px}
.story-progress{display:none}
@media (min-width:1000px){
  .story-progress{display:flex;gap:6px;margin-top:36px}
  .story-progress i{height:3px;flex:1;background:#2a2a30;transition:background .4s}
  .story-progress i.on{background:#fff}
}

/* 5. Offer cards: clickable, index, hover */
.offer{position:relative;transition:background .25s var(--ease)}
.offer::before{content:"";position:absolute;left:0;right:0;top:-1px;height:3px;background:#000;transform:scaleX(0);transform-origin:left;transition:transform .35s var(--ease)}
.offer:hover::before,.offer:focus-within::before{transform:scaleX(1)}
@media (min-width:900px){.offer + .offer::before{left:32px}}
.offer .idx{position:absolute;top:30px;right:24px;font-size:.8125rem;font-weight:700;letter-spacing:.1em;color:var(--mute-l)}
.offer .link::after{content:"";position:absolute;inset:0}
.offer h3{transition:transform .3s var(--ease)}
.offer:hover h3{transform:translateX(4px)}

/* 8. Animated text-link underline */
.link{border-bottom:0;background:linear-gradient(currentColor,currentColor) 0 100%/100% 1px no-repeat;transition:background-size .3s var(--ease)}
.link:hover{background-size:0 1px;background-position:100% 100%}
.offer .link{background:none}
.offer .link span{border-bottom:0;background:linear-gradient(currentColor,currentColor) 0 100%/100% 1px no-repeat;transition:background-size .3s var(--ease)}
.offer:hover .link span{background-size:0 1px;background-position:100% 100%}

/* 6. Proportional bars */
.bars{display:grid;gap:6px;margin-top:14px;max-width:520px}
.bars .bar{display:grid;grid-template-columns:3.6rem 1fr;align-items:center;gap:12px;font-size:.75rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--mute-l)}
.bars .bar span{display:block;height:10px;background:#d6d6db;width:calc(var(--v) * 100%);transform-origin:left}
.bars .bar.after span{background:#000}
.bars .bar.after.grad span{background:var(--grad)}
@media (prefers-reduced-motion:no-preference){
  .js .reveal .bars .bar span{transform:scaleX(0);transition:transform 1.1s var(--ease) .25s}
  .js .reveal.in .bars .bar span{transform:none}
}
.case-result .bars{margin-top:22px;max-width:none}
.case-result .bars .bar span{height:14px}

/* 7. Work index (Selected Work) */
.work-index{display:grid;gap:48px}
@media (min-width:1000px){.work-index{grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:clamp(48px,6vw,96px);align-items:start}}
.windex{border-top:1px solid var(--line-d-strong);counter-reset:w}
.windex li{border-bottom:1px solid var(--line-d)}
.windex .row{display:grid;grid-template-columns:3rem 1fr auto;align-items:center;gap:16px;padding:20px 4px;outline-offset:-2px;cursor:default;transition:padding .3s var(--ease),background .3s}
.windex .row:hover,.windex .row:focus,.windex .row.is-on{padding-left:16px;background:var(--ink-800)}
.windex .n{font-size:.8125rem;font-weight:700;letter-spacing:.1em;color:var(--mute-d);font-variant-numeric:tabular-nums}
.windex .name{font-size:clamp(1.3rem,1rem + 1.4vw,2.2rem);font-weight:800;text-transform:uppercase;letter-spacing:-.035em;line-height:1.05}
.windex .meta{font-size:.8125rem;color:var(--mute-d);text-align:right}
.windex .row .thumb{display:none}
@media (max-width:999px){
  .windex .row{grid-template-columns:2.4rem 1fr}
  .windex .meta{grid-column:2;text-align:left;margin-top:-10px}
  .windex .row .thumb{display:block;grid-column:2;max-height:26px;width:auto;max-width:120px;opacity:.85}
}
.wpreview{display:none}
@media (min-width:1000px){
  .wpreview{display:flex;flex-direction:column;justify-content:space-between;position:sticky;top:calc(var(--header-h) + 48px);aspect-ratio:4/3;border:1px solid var(--line-d-strong);padding:28px;overflow:hidden}
  .wpreview .motif{right:-30%;bottom:-45%;width:110%;aspect-ratio:1;opacity:.22}
  .wpreview .stage{position:relative;z-index:1;flex:1;display:flex;align-items:center;justify-content:center}
  .wpreview .stage img{max-height:120px;max-width:70%;width:auto;object-fit:contain;transition:opacity .25s var(--ease),transform .35s var(--ease)}
  .wpreview .stage .word{font-size:clamp(2rem,1.2rem + 2vw,3.2rem);font-weight:800;text-transform:uppercase;letter-spacing:-.04em;line-height:1;text-align:center}
  .wpreview .stage.swap img,.wpreview .stage.swap .word{opacity:0;transform:translateY(8px)}
  .wpreview .cap{position:relative;z-index:1;display:flex;justify-content:space-between;gap:16px;font-size:.8125rem;color:var(--mute-d)}
  .wpreview .cap b{color:#fff;font-weight:700}
}
.work-notes{margin-top:32px;display:grid;gap:12px;font-size:var(--fs-small);color:var(--mute-d);max-width:62ch}
.bars em{font-style:normal}

/* ==========================================================================
   v3 RESPONSIVE REVAMP (mobile-first overrides; see docs/DESIGN_V3.md)
   Breakpoints: 375 · 640 · 1000 · 1440
   ========================================================================== */

/* ---------- Fluid rhythm ---------- */
:root{
  --sec:clamp(56px,3rem + 6vw,152px);
  --gutter:clamp(18px,5vw,48px);
  --header-h:64px;
  --fs-display:clamp(2.45rem,1.05rem + 6.6vw,8.2rem);
  --fs-h1:clamp(2.2rem,1.2rem + 4.6vw,5.4rem);
  --fs-h2:clamp(1.8rem,1.2rem + 2.9vw,3.8rem);
  --fs-lead:clamp(1.0625rem,.98rem + .4vw,1.35rem);
}
@media (min-width:1000px){:root{--header-h:76px}}
h1,h2,h3,.statement,.display,.h1,.h2{text-wrap:balance}
p,.lead{text-wrap:pretty}
.sec-head{margin-bottom:clamp(28px,2rem + 3vw,72px);gap:16px}
.section + .section:not(.paper):not(.no-rule)::before{left:var(--gutter);right:var(--gutter)}
.lead{max-width:58ch}

/* ---------- Header ---------- */
.brand{width:clamp(108px,9vw,140px)}
.menu-toggle{min-height:44px;padding:10px 14px}
.mobile-nav{padding-bottom:calc(40px + env(safe-area-inset-bottom))}

/* ---------- Buttons: full-width stacks on phones ---------- */
@media (max-width:639px){
  .btn-row{flex-direction:column;align-items:stretch}
  .btn-row .btn{width:100%;justify-content:space-between;min-height:52px;padding-inline:20px}
  .btn-row .link{align-self:flex-start}
  .pilot .btn,.plan-head .btn,.form-foot .btn{width:100%;justify-content:space-between;min-height:52px}
}

/* ---------- Hero ---------- */
.hero{padding-top:clamp(36px,5vw,112px);padding-bottom:clamp(40px,5vw,96px)}
.page-hero{padding-top:clamp(36px,5vw,112px);padding-bottom:clamp(44px,5vw,96px)}
.hero-grid{gap:28px;margin-top:clamp(24px,4vw,72px)}
.hero-grid .btn-row{margin-top:24px}
@media (max-width:639px){
  .hero .label,.page-hero .label{font-size:.6875rem;letter-spacing:.12em}
  .hero .spec{display:grid;grid-template-columns:1fr 1fr;border-top:0;gap:0;border:1px solid var(--line-d)}
  .hero .spec div{grid-template-columns:1fr;gap:4px;padding:14px;border-bottom:1px solid var(--line-d)}
  .hero .spec div:nth-child(odd){border-right:1px solid var(--line-d)}
  .hero .spec div:nth-last-child(-n+2){border-bottom:0}
  .hero .spec dd{font-size:.875rem;line-height:1.4}
  .hero .motif{right:-70vw;top:-24vw;width:150vw;opacity:.35}
  .page-hero .motif{opacity:.25}
}

/* ---------- Ticker ---------- */
@media (max-width:639px){.ticker li{padding:16px 22px 16px 0;gap:22px}}

/* ---------- Statement ---------- */
.statement{font-size:clamp(1.5rem,1.05rem + 2.4vw,3.1rem);max-width:24ch}
.body{font-size:1rem}
@media (min-width:640px){.body{font-size:1.0625rem}}

/* ---------- Steps (generic) compact on phones ---------- */
@media (max-width:899px){
  .steps{border-top:1px solid var(--line-d-strong)}
  .step{display:grid;grid-template-columns:2.6rem 1fr;gap:4px 12px;padding:20px 0}
  .step-num{grid-row:1/span 2;padding-top:.45em}
  .step-title{margin-top:0;font-size:clamp(1.35rem,1rem + 2vw,1.8rem)}
  .step p{margin-top:0;grid-column:2;max-width:none;font-size:.9375rem}
}
@media (max-width:999px){.story-head{margin-bottom:28px}}

/* ---------- Horizontal snap rails (phones/tablets only) ---------- */
.rail-hint{display:none}
@media (max-width:899px){
  .rail-hint{display:flex;align-items:center;gap:10px;margin:-8px 0 14px;font-size:.75rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--mute-l)}
  .section:not(.paper) .rail-hint{color:var(--mute-d)}
  .rail-hint::after{content:"";width:28px;height:1px;background:currentColor}
  .rail{display:grid;grid-auto-flow:column;grid-auto-columns:min(84%,360px);grid-template-columns:none!important;gap:12px;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scroll-padding-inline:var(--gutter);margin-inline:calc(var(--gutter)*-1);padding:2px var(--gutter) 14px;scrollbar-width:none;-webkit-overflow-scrolling:touch}
  .rail::-webkit-scrollbar{display:none}
  .rail > *{scroll-snap-align:start}
  .rail:focus-visible{outline:2px solid #000;outline-offset:-2px}
  /* offers as cards inside rail */
  .offers.rail{border-top:0}
  .offers.rail .offer{border:1px solid var(--line-l-strong);border-radius:var(--radius);padding:22px 20px 22px;border-left:1px solid var(--line-l-strong)!important;background:#fff}
  .offers.rail .offer::before{display:none}
  .offers.rail .offer .idx{top:22px;right:20px}
  .offers.rail .offer .price{margin-top:20px}
  .offers.rail .offer .price .amt{font-size:2.1rem}
  .offers.rail .offer .link{padding-top:20px}
  .ventures.rail .venture{min-width:0}
}
@media (prefers-reduced-motion:no-preference){.rail{scroll-behavior:smooth}}

/* ---------- Pilot ---------- */
@media (max-width:639px){.pilot{padding:24px 20px;gap:18px}.pilot h3{font-size:1.5rem}}

/* ---------- Frameworks ---------- */
@media (max-width:899px){
  .fw{padding:22px 0 24px}
  .fw-name{font-size:clamp(1.2rem,1rem + 1.6vw,1.6rem);margin-top:10px}
  .fw p{font-size:.9375rem}
}

/* ---------- Metrics: side by side on phones ---------- */
.metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 24px;padding-top:24px}
.metric .val{font-size:clamp(2.7rem,1rem + 8.6vw,9.5rem)}
.metric .rule{margin:16px 0 12px;width:48px}
@media (min-width:900px){.metric .rule{margin:22px 0 18px;width:72px}}
@media (max-width:639px){.metric h3{font-size:1rem}.metric p:not(.val){font-size:.875rem}}

/* ---------- Ledger ---------- */
@media (max-width:899px){
  .ledger{margin-top:36px}
  .ledger-row{grid-template-columns:1fr auto;gap:4px 16px;padding:20px 0}
  .ledger-row .client{font-size:1.25rem}
  .ledger-row .sector{grid-column:2;grid-row:1;text-align:right;align-self:center;font-size:.8125rem}
  .ledger-row .delta{grid-column:1/-1;font-size:1.35rem;margin-top:6px}
}

/* ---------- Founder (spec sheet replaces empty monogram card) ---------- */
.founder-spec .label{color:var(--mute-d)}
.founder-spec .spec{margin-top:20px}
.founder-spec .spec div{grid-template-columns:6rem 1fr}
@media (min-width:900px){.founder-spec{padding:clamp(24px,3vw,36px);border:1px solid var(--line-d-strong);align-self:start}}
@media (max-width:899px){.founder{display:flex;flex-direction:column-reverse;gap:32px}}

/* ---------- Ventures ---------- */
@media (max-width:639px){.venture-logo{height:120px;padding:22px}.venture-logo img{max-height:68px}}

/* ---------- Timeline: vertical rail on phones ---------- */
@media (max-width:899px){
  .timeline{border-top:0;border-left:1px solid var(--line-d-strong);margin-left:4px}
  .tl{padding:0 0 28px 24px;border-bottom:0}
  .tl::before{top:4px;left:-5px}
  .tl h3{margin-top:6px;font-size:1.125rem}
}

/* ---------- Lists ---------- */
@media (max-width:639px){.list-cols li{padding:16px 0}.caps li{padding:16px 12px 16px 0;font-size:1.15rem}}

/* ---------- What We Do plans ---------- */
@media (max-width:959px){
  .plan{padding:32px 0;gap:22px}
  .plan-head h3{font-size:clamp(1.7rem,1.2rem + 2.4vw,2.4rem)}
  .plan-head .price{margin-top:18px}
  .plan-cols{gap:20px}
}
@media (min-width:420px) and (max-width:639px){.plan-cols{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:16px}.plan-cols .ticks li{font-size:.875rem}}

/* ---------- Selected Work cases ---------- */
@media (max-width:959px){.case{padding:32px 0;gap:18px}.case-name{font-size:clamp(2rem,1.3rem + 3.5vw,3.4rem)}.case-figs .fig{font-size:clamp(2.2rem,1.3rem + 4.6vw,4rem)}}

/* ---------- Contact ---------- */
@media (max-width:639px){
  .paths{grid-template-columns:1fr 1fr;gap:10px;margin-top:28px}
  .path{padding:16px;flex-direction:column;align-items:flex-start;gap:10px}
  .path .t{font-size:1.05rem}
  .events{grid-template-columns:1fr 1fr;gap:10px}
  .event{padding:16px 14px;gap:6px}
  .event .t{font-size:1.02rem;padding-right:20px}
  .event .d{font-size:.8125rem;line-height:1.45}
  .event .sel{top:16px;right:12px;width:16px;height:16px}
  .scheduler-bar{padding:12px 16px}
  .event-links{flex-direction:column;gap:10px}
}
@media (max-width:999px){
  .contact-grid{gap:36px}
  .direct{display:grid;grid-template-columns:1fr;column-gap:16px}
}
.field input,.field select,.field textarea{font-size:16px} /* prevents iOS zoom */

/* ---------- Legal TOC: collapsible on phones ---------- */
.toc-d summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between}
.toc-d summary::-webkit-details-marker{display:none}
@media (max-width:999px){
  .toc{border:1px solid var(--line-l-strong);border-radius:var(--radius);padding:0}
  .toc-d summary{padding:16px 18px;min-height:52px}
  .toc-d summary::after{content:"";width:9px;height:9px;border-right:2px solid #000;border-bottom:2px solid #000;transform:rotate(45deg) translateY(-3px);transition:transform .2s}
  .toc-d[open] summary::after{transform:rotate(-135deg)}
  .toc-d ol{margin:0;padding:0 18px 14px}
  .legal-body h2{margin-top:36px;font-size:1.2rem}
  .legal-body{font-size:1rem}
}
@media (min-width:1000px){.toc-d summary{pointer-events:none}}

/* ---------- Footer ---------- */
@media (max-width:999px){
  .footer-top{grid-template-columns:1fr 1fr;gap:36px 20px}
  .footer-brand{grid-column:1/-1}
  .footer-col:last-child{grid-column:1/-1}
  .footer-col:last-child ul{display:flex;flex-wrap:wrap;gap:10px 24px}
}
@media (max-width:420px){.footer-col a{font-size:.875rem;word-break:break-word}}
.footer-legal nav a{display:inline-flex;min-height:32px;align-items:center}

/* ---------- Sticky mobile CTA ---------- */
.mcta{display:none}
@media (max-width:899px){
  .mcta{display:grid;grid-template-columns:1.4fr 1fr;gap:8px;position:fixed;left:0;right:0;bottom:0;z-index:95;padding:10px var(--gutter) calc(10px + env(safe-area-inset-bottom));background:rgba(0,0,0,.92);border-top:1px solid var(--line-d);transform:translateY(110%);transition:transform .3s var(--ease)}
  @supports (backdrop-filter:blur(8px)){.mcta{background:rgba(0,0,0,.78);backdrop-filter:blur(12px)}}
  .mcta[hidden]{display:grid!important;visibility:hidden}
  .mcta.show{transform:none;visibility:visible}
  .mcta .btn{min-height:48px;padding:10px 14px;font-size:.9375rem}
  body.has-mcta .site-footer{padding-bottom:calc(96px + env(safe-area-inset-bottom))}
  body.menu-open .mcta{transform:translateY(110%)}
}

/* ---------- Landscape phones ---------- */
@media (max-height:500px) and (orientation:landscape){
  .mobile-nav li a{padding:10px 0;font-size:1.4rem}
  .hero{padding-top:28px}
}

/* ---------- Footer word ---------- */
.footer-word{margin-top:clamp(32px,6vw,80px)}
:root{--fs-display:clamp(2.35rem,.85rem + 6.6vw,8.2rem)}
@media (max-width:899px){.offers.rail .offer .idx{display:none}}
@media (max-width:999px){
  .footer-col:nth-child(3){grid-column:1/-1;order:3}
  .footer-col:last-child{grid-column:auto;order:2}
  .footer-col:last-child ul{display:grid;gap:10px}
}
@media (max-width:420px){.footer-col a{word-break:normal}}

@media (min-width:640px) and (max-width:999px){.direct{grid-template-columns:1fr 1fr}.direct > div:nth-child(5){grid-column:1/-1}}
@media (max-width:639px){.windex .row .thumb{display:none}.windex .row{padding:16px 4px}}

.hero-title .nowrap{display:inline}

/* ==========================================================================
   v4.1 — Site-wide "7" mark
   .bg7  : monochrome concentric hairlines (all sections, dims on white)
   .bg7m : gradient neon outline + travelling light + hero fill; clipped by JS
           to the dark sections so no gradient ever sits on a white section.
   ========================================================================== */
.hero > .motif,.page-hero > .motif,.cta > .motif{display:none}
.bg7,.bg7m{position:fixed;inset:0;z-index:50;pointer-events:none;overflow:hidden;contain:strict}
.bg7{color:#d8d8e0}
.bg7-svg{position:absolute;top:55%;right:-4vw;height:min(88vh,900px);width:auto;aspect-ratio:644/680;
  transform:translate3d(0,calc(-50% + var(--py,0px)),0) rotate(var(--rot,0deg)) scale(var(--sc,1));transform-origin:62% 50%;will-change:transform}
.bg7 .r{stroke-width:1px;vector-effect:non-scaling-stroke}
.bg7 .r1{opacity:.8}.bg7 .r2{opacity:.58}.bg7 .r3{opacity:.4}.bg7 .r4{opacity:.26}
.bg7-rings{opacity:.5;transition:opacity .8s var(--ease),color .8s var(--ease)}
.bg7.is-hero .bg7-rings{opacity:.7}
.bg7.is-paper{color:#55555e}
.bg7.is-paper .bg7-rings{opacity:.22}

/* neon tube: wide soft glows + gradient tube + white-hot core (no filters: cheap to paint) */
.bg7-neon path{vector-effect:non-scaling-stroke}
.n-glow3{stroke-width:14px;opacity:.07}
.n-glow2{stroke-width:6px;opacity:.22}
.n-tube{stroke-width:2.2px;opacity:1}
.n-core{stroke-width:.8px;opacity:.55}
.bg7-mark{opacity:0;transition:opacity 1s var(--ease)}
.bg7m.is-hero .bg7-mark{opacity:.1}
.bg7 .t,.bg7m .t{stroke-width:2.4px;vector-effect:non-scaling-stroke;stroke-dasharray:.07 .93}
.bg7m .t3{stroke-width:1.4px;stroke-dasharray:.035 .965}
.bg7-trace{opacity:.9}
@media (max-width:899px){
  .bg7-svg{height:min(78vh,620px);right:-34vw;top:52%}
  .bg7-rings{opacity:.36}
  .bg7.is-hero .bg7-rings{opacity:.5}
  .bg7.is-paper .bg7-rings{opacity:.16}
  .bg7m.is-hero .bg7-mark{opacity:0}
  .bg7-neon{opacity:.75}
}
@media (prefers-reduced-motion:no-preference){
  .js .bg7 .r{stroke-dasharray:1 1;stroke-dashoffset:1;animation:bg7-draw 1.9s var(--ease) forwards,bg7-wave 7s ease-in-out infinite;animation-delay:calc(var(--i) * .13s),calc(2.4s + var(--i) * .45s)}
  .js .bg7-svg{animation:bg7-in 1.6s var(--ease) both}
  .js .bg7-neon{animation:neon-on 1.3s linear 1.1s both,neon-hum 4.5s ease-in-out 2.6s infinite}
  .js .bg7m .t{animation:bg7-trace 9s linear infinite}
  .js .bg7m .t3{animation-duration:15s;animation-direction:reverse}
  .js .bg7m:not(.ready) .bg7-trace{opacity:0}
  @keyframes bg7-draw{to{stroke-dashoffset:0}}
  @keyframes bg7-wave{0%,100%{stroke-opacity:1}50%{stroke-opacity:.35}}
  @keyframes bg7-trace{to{stroke-dashoffset:-1}}
  @keyframes bg7-in{from{opacity:0;translate:-24px 0}to{opacity:1;translate:0 0}}
  /* neon tube striking on: a few flickers, then steady */
  @keyframes neon-on{0%{opacity:0}8%{opacity:.9}12%{opacity:.1}22%{opacity:1}26%{opacity:.25}34%{opacity:.25}40%{opacity:1}52%{opacity:.6}58%,100%{opacity:1}}
  @keyframes neon-hum{0%,100%{opacity:1}50%{opacity:.72}}
}
@media (prefers-reduced-motion:reduce){.bg7-trace{display:none}}
@media print{.bg7,.bg7m{display:none!important}}

/* ==========================================================================
   v4 — Home page visuals (restrained, line-based, mono first)
   ========================================================================== */
/* Bottleneck: pipeline diagram */
.pipe{margin-top:clamp(40px,5vw,72px);border-top:1px solid var(--line-d-strong)}
.pipe-row{display:grid;grid-template-columns:12rem minmax(0,1fr) 10rem;align-items:end;gap:28px;padding:26px 0}
.pipe-row + .pipe-row{border-top:1px solid var(--line-d)}
.pipe-k,.pipe-end{font-size:var(--fs-label);font-weight:700;letter-spacing:.14em;text-transform:uppercase;line-height:1.35;padding-bottom:2px}
.pipe-k{color:var(--mute-d)}
.pipe-end{display:flex;align-items:center;gap:10px}
.pipe-line{display:grid;grid-template-columns:repeat(4,minmax(0,1fr))}
.pipe-line li{position:relative;display:flex;flex-direction:column;align-items:center;gap:14px;font-size:.8125rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}
.pipe-line li::before{content:"";position:absolute;left:0;right:0;bottom:6px;height:2px;transform-origin:left}
.pipe-line li::after{content:"";position:relative;z-index:1;width:14px;height:14px}
.is-broken .pipe-line li{color:var(--mute-d)}
.is-broken .pipe-line li::before{background:repeating-linear-gradient(90deg,#3a3a42 0 6px,transparent 6px 12px);clip-path:polygon(0 0,38% 0,38% 100%,62% 100%,62% 0,100% 0,100% 100%,0 100%)}
.is-broken .pipe-line li::after{border:1.5px solid #6e6e78;background:linear-gradient(45deg,transparent 45%,#6e6e78 45% 55%,transparent 55%),linear-gradient(-45deg,transparent 45%,#6e6e78 45% 55%,transparent 55%);background-color:#000}
.is-broken .pipe-end{color:var(--mute-d)}
.is-broken .pipe-end::before{content:"";width:14px;height:2px;background:#6e6e78}
.is-run .pipe-k{color:#fff}
.is-run .pipe-line li::before{background:#fff}
.is-run .pipe-line li:first-child::before{left:50%}
.is-run .pipe-line li::after{background:#fff}
.is-run .pipe-end::before{content:"";width:14px;height:14px;background:var(--grad)}
.pipe-line{position:relative}
.is-run .pipe-line::after{content:"";position:absolute;left:12.5%;bottom:4px;width:24px;height:6px;background:#fff;box-shadow:0 0 12px rgba(255,255,255,.6);opacity:0}
.pipe figcaption{margin-top:20px;max-width:62ch;color:var(--mute-d);font-size:var(--fs-small)}
@media (prefers-reduced-motion:no-preference){
  .js .pipe .is-run .pipe-line li::before{transform:scaleX(0);transition:transform .7s var(--ease)}
  .js .pipe.in .is-run .pipe-line li::before{transform:none}
  .js .pipe.in .is-run .pipe-line li:nth-child(2)::before{transition-delay:.25s}
  .js .pipe.in .is-run .pipe-line li:nth-child(3)::before{transition-delay:.5s}
  .js .pipe.in .is-run .pipe-line li:nth-child(4)::before{transition-delay:.75s}
  .js .pipe.in .is-run .pipe-line::after{animation:pipe-run 3.6s var(--ease) 1.4s infinite}
  @keyframes pipe-run{0%{left:12.5%;opacity:0}12%{opacity:1}80%{opacity:1}100%{left:calc(100% - 24px);opacity:0}}
}
@media (max-width:899px){
  .pipe-row{grid-template-columns:1fr auto;gap:18px 12px;padding:22px 0}
  .pipe-line{grid-column:1/-1;grid-row:2}
  .pipe-end{grid-column:2;grid-row:1}
  .pipe-line li{font-size:.6875rem;letter-spacing:.04em;gap:10px}
}

/* Operating model: step glyphs */
.step-glyph{position:absolute;top:30px;right:0;width:34px;height:34px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:square;color:#4a4a52;transition:color .4s var(--ease),transform .4s var(--ease)}
@media (max-width:899px){.step-glyph{top:20px;width:28px;height:28px}.step-title{padding-right:40px}}
@media (min-width:900px) and (max-width:999px){.step-glyph{top:32px;right:24px}}
@media (min-width:1000px){
  .story .step{grid-template-columns:88px 1fr 64px}
  .story .step-glyph{position:static;grid-column:3;grid-row:1/span 2;align-self:center;justify-self:end;width:52px;height:52px;color:#2e2e34}
  .story .step.active .step-glyph{color:#fff;transform:scale(1.06)}
  .story .step.active .step-glyph .g-dot{stroke:url(#bg7g)}
}

/* Offers: package visuals */
.pkg{position:relative;height:84px;margin:26px 0 0;color:#000}
.pkg--pipe{display:flex;align-items:center;justify-content:space-between}
.pkg--pipe::before{content:"";position:absolute;left:0;right:0;top:50%;height:1px;background:#000}
.pkg--pipe span{position:relative;z-index:1;padding:7px 8px;border:1px solid #000;background:#fff;font-size:.625rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;line-height:1}
.pkg--pipe span:last-of-type{background:#000;color:#fff}
.pkg-run{position:absolute;z-index:0;top:calc(50% - 3px);left:0;width:6px;height:6px;background:#000;border-radius:50%;opacity:0}
.pkg--seat{display:grid;grid-template-columns:96px 1fr;grid-template-rows:repeat(3,1fr);align-items:center;column-gap:20px}
.pkg-orbit,.pkg-core{grid-column:1;grid-row:1/-1;justify-self:center;border-radius:50%}
.pkg-orbit{width:84px;height:84px;border:1px dashed #000;opacity:.5}
.pkg-core{width:56px;height:56px;display:grid;place-items:center;border:1.5px solid #000;font-size:1.25rem;font-weight:800;letter-spacing:-.03em}
.pkg-tag{grid-column:2;display:flex;align-items:center;gap:10px;font-size:.6875rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--mute-l)}
.pkg-tag::before{content:"";width:16px;height:1px;background:currentColor}
.pkg-tag.t3{color:#000}
.pkg--pod{display:grid;grid-template-columns:118px minmax(0,1fr);grid-template-rows:repeat(3,1fr);column-gap:28px;row-gap:4px;align-items:center}
.pkg--pod::before{content:"";position:absolute;left:132px;top:14px;bottom:14px;width:1px;background:#000}
.pkg-p{position:relative;grid-column:1;padding:4px 10px;border:1px solid #000;border-radius:999px;background:#fff;font-size:.625rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;line-height:1.2;text-align:center;white-space:nowrap}
.pkg-p::after{content:"";position:absolute;left:100%;top:50%;width:14px;height:1px;background:#000}
.pkg-hub{position:relative;grid-column:2;grid-row:1/-1;padding:12px;background:#000;color:#fff;font-size:.625rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;line-height:1.3;text-align:center}
.pkg-hub::before{content:"";position:absolute;right:100%;top:50%;width:14px;height:1px;background:#000}
@media (prefers-reduced-motion:no-preference){
  .js .offer.in .pkg-run{animation:pkg-run 4.2s var(--ease) 1s infinite}
  @keyframes pkg-run{0%{left:0;opacity:0}10%{opacity:1}85%{opacity:1}100%{left:calc(100% - 6px);opacity:0}}
  .js .pkg-orbit{animation:spin 30s linear infinite}
  .offer:hover .pkg-core{transform:scale(1.05)}
  .pkg-core,.pkg-p{transition:transform .3s var(--ease)}
  .offer:hover .pkg-p{transform:translateY(-2px)}
}
@media (max-width:899px){.pkg{height:76px;margin-top:20px}}

/* Frameworks: mini diagrams */
.fw-vis{display:block;width:180px;height:64px;margin:20px 0 4px;fill:none;stroke:#6e6e78;stroke-width:1.5;stroke-linecap:square;overflow:visible}
.fw-vis circle{fill:#000}
.fw-vis .fw-hl{stroke:#fff}
.fw-vis circle.fw-hl{fill:#fff}
.fw-vis .fw-a{stroke:#fff}
.fw-vis .fw-zone{stroke:#fff;stroke-width:1;stroke-dasharray:3 4}
.fw-vis .fw-t{fill:#a6a6b0;stroke:none;font-size:11px;font-weight:700;letter-spacing:.08em;font-family:var(--font)}
.fw-vis .fw-run{fill:#fff;stroke:none;offset-path:path("M30 12H150A20 20 0 0 1 150 52H30A20 20 0 0 1 30 12Z");offset-distance:12%}
@media (prefers-reduced-motion:no-preference){.js .fw.in .fw-run{animation:fw-run 6s linear infinite}@keyframes fw-run{from{offset-distance:0%}to{offset-distance:100%}}}
@media (max-width:899px){.fw-vis{width:140px;height:50px;margin-top:14px}}

/* Proof: 13 engagement ticks + count-up */
.ticks13{display:flex;gap:4px;margin:16px 0 12px}
.ticks13 i{width:7px;height:14px;background:#000;transform-origin:bottom}
@media (min-width:900px){.ticks13{gap:6px;margin:22px 0 18px}.ticks13 i{width:9px;height:18px}}
@media (prefers-reduced-motion:no-preference){
  .js .reveal .ticks13 i{transform:scaleY(0);transition:transform .45s var(--ease)}
  .js .reveal.in .ticks13 i{transform:none}
  .ticks13 i:nth-child(1){transition-delay:0.200s}.ticks13 i:nth-child(2){transition-delay:0.245s}.ticks13 i:nth-child(3){transition-delay:0.290s}.ticks13 i:nth-child(4){transition-delay:0.335s}.ticks13 i:nth-child(5){transition-delay:0.380s}.ticks13 i:nth-child(6){transition-delay:0.425s}.ticks13 i:nth-child(7){transition-delay:0.470s}.ticks13 i:nth-child(8){transition-delay:0.515s}.ticks13 i:nth-child(9){transition-delay:0.560s}.ticks13 i:nth-child(10){transition-delay:0.605s}.ticks13 i:nth-child(11){transition-delay:0.650s}.ticks13 i:nth-child(12){transition-delay:0.695s}.ticks13 i:nth-child(13){transition-delay:0.740s}
}

/* Header: keep the bar solid over white sections */
.site-header,.site-header.is-scrolled{background:#000}

/* ==========================================================================
   v4.1 — Six packages (Ways to engage)
   ========================================================================== */
@media (min-width:900px){
  .offers--6{grid-template-columns:repeat(3,minmax(0,1fr))}
  .offers--6 .offer{padding:36px 32px 40px 32px;border-left:1px solid var(--line-l)}
  .offers--6 .offer:nth-child(3n+1){padding-left:0;border-left:0}
  .offers--6 .offer:nth-child(-n+3){border-bottom:1px solid var(--line-l)}
  .offers--6 .offer::before{left:32px}
  .offers--6 .offer:nth-child(3n+1)::before{left:0}
  .offers--6 .offer .idx{right:32px}
  .offers--6 .offer:nth-child(3n) .idx,.offers--6 .offer:nth-child(3n) .pop{right:0}
}
.offers--6 .offer .desc{max-width:36ch}
.offer .pop{position:absolute;top:30px;right:24px;font-size:.625rem;padding:5px 10px}
@media (min-width:900px){.offers--6 .offer .pop{right:32px}}
@media (max-width:899px){.offers.rail .offer .pop{top:20px;right:16px}}
.offer--pop::before{background:var(--grad)!important}
.offers--6 .offer .price{margin-top:22px}

/* inclusions (collapsed to keep the cards light) */
.incl{position:relative;z-index:2;margin-top:18px;border-top:1px solid var(--line-l)}
.incl summary{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:44px;padding:10px 0;font-size:.8125rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;cursor:pointer;list-style:none}
.incl summary::-webkit-details-marker{display:none}
.incl summary .n{margin-left:8px;color:var(--mute-l);font-variant-numeric:tabular-nums}
.incl summary::after{content:"";width:12px;height:12px;flex:none;margin-left:auto;background:linear-gradient(#000,#000) center/12px 1.5px no-repeat,linear-gradient(#000,#000) center/1.5px 12px no-repeat;transition:transform .25s var(--ease)}
.incl[open] summary::after{transform:rotate(45deg)}
.incl .ticks{margin-top:4px;gap:8px}
.incl .ticks li{font-size:.875rem}
.incl .ideal{margin-top:14px;font-size:.8125rem;line-height:1.5;color:var(--mute-l)}
.incl .ideal b{display:block;margin-bottom:2px;font-size:.6875rem;letter-spacing:.12em;text-transform:uppercase;color:#000}
@media (prefers-reduced-motion:no-preference){.incl[open] .ticks,.incl[open] .ideal{animation:incl-in .35s var(--ease) both}@keyframes incl-in{from{opacity:0;transform:translateY(-4px)}}}
.offers--6 .offer .link{padding-top:20px}

/* 02 funnel */
.pkg--funnel{display:grid;align-content:center;gap:4px}
.pkg--funnel span{display:flex;align-items:center;height:16px;width:calc(var(--w) * 100%);padding:0 8px;border:1px solid #000;font-size:.5625rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;line-height:1;transform-origin:left}
.pkg--funnel span:last-child{background:#000;color:#fff}
/* 04 rising bars */
.pkg--bars{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;align-items:end}
.pkg--bars span{display:flex;flex-direction:column;justify-content:flex-end;gap:6px;height:100%;font-size:.5625rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;text-align:center}
.pkg--bars i{display:block;height:calc(var(--h) * 54px);border:1px solid #000;border-bottom-width:2px;transform-origin:bottom}
.pkg--bars span:last-child i{background:#000}
/* 05 AI loop (svg) */
svg.pkg--loop{display:block;width:100%;height:84px;fill:none;stroke:#000;stroke-width:1;overflow:visible}
.pkg--loop .lp-n circle{fill:#fff;stroke:#000;stroke-width:1.2}
.pkg--loop text{fill:#000;stroke:none;font-family:var(--font);font-size:8px;font-weight:700;letter-spacing:.08em}
.pkg--loop .lp-ai{fill:#000;stroke:none}
.pkg--loop .lp-ai-t{fill:#fff;font-size:10px}
.pkg--loop .lp-run{fill:#000;stroke:none;offset-path:path("M68 14H232A28 28 0 0 1 232 70H68A28 28 0 0 1 68 14Z");offset-distance:0%}
/* 06 org */
.pkg--org{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px}
.org-top{position:relative;padding:7px 16px;background:#000;color:#fff;font-size:.625rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;line-height:1}
.org-top::after{content:"";position:absolute;left:50%;top:100%;width:1px;height:9px;background:#000}
.org-row{position:relative;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;width:100%}
.org-row::before{content:"";position:absolute;left:16.6%;right:16.6%;top:-9px;height:1px;background:#000}
.org-row span{position:relative;padding:7px 4px;border:1px solid #000;font-size:.5625rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;text-align:center;line-height:1}
.org-row span::before{content:"";position:absolute;left:50%;bottom:100%;width:1px;height:9px;background:#000}
@media (prefers-reduced-motion:no-preference){
  .js .reveal .pkg--funnel span{transform:scaleX(0);transition:transform .7s var(--ease)}
  .js .reveal.in .pkg--funnel span{transform:none}
  .js .reveal .pkg--bars i{transform:scaleY(0);transition:transform .7s var(--ease)}
  .js .reveal.in .pkg--bars i{transform:none}
  .js .reveal.in .pkg--funnel span:nth-child(2),.js .reveal.in .pkg--bars span:nth-child(2) i{transition-delay:.1s}
  .js .reveal.in .pkg--funnel span:nth-child(3),.js .reveal.in .pkg--bars span:nth-child(3) i{transition-delay:.2s}
  .js .reveal.in .pkg--funnel span:nth-child(4),.js .reveal.in .pkg--bars span:nth-child(4) i{transition-delay:.3s}
  .js .reveal.in .pkg--bars span:nth-child(5) i{transition-delay:.4s}
  .js .offer.in .lp-run{animation:lp-run 6s linear infinite}
  @keyframes lp-run{to{offset-distance:100%}}
  .org-row span,.org-top{transition:transform .3s var(--ease)}
  .offer:hover .org-row span{transform:translateY(-2px)}
}
@media (min-width:900px){.offers--6 .offer .desc{min-height:calc(1.65em * 3)}}

/* ==========================================================================
   v5.1 — Ventures (five cards) + Selected client work grid
   ========================================================================== */
/* Partner logos supplied light-on-dark get a black logo panel (never recoloured) */
.venture--dark .venture-logo{background:#000}
@media (min-width:900px) and (max-width:1099px){.ventures--5{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (min-width:1100px){.ventures--5{grid-template-columns:repeat(5,minmax(0,1fr))}.ventures--5 .venture-logo{padding:24px}}

/* Selected client work: hairline grid of logo tiles, dark sections only */
.clientwork{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;background:var(--line-d);border:1px solid var(--line-d);list-style:none;margin:0;padding:0}
@media (min-width:900px){.clientwork{grid-template-columns:repeat(4,minmax(0,1fr))}}
.cw{position:relative;display:flex;flex-direction:column;background:#000;min-width:0}
.cw::before{content:"";position:absolute;left:0;top:0;width:0;height:2px;background:var(--grad);transition:width .4s var(--ease)}
.cw:hover::before{width:100%}
.cw-logo{height:168px;display:flex;align-items:center;justify-content:center;padding:28px 24px;border-bottom:1px solid var(--line-d)}
.cw-logo img{display:block;width:auto;height:auto;object-fit:contain;transition:transform .35s var(--ease)}
.cw-logo img.w{max-width:82%;max-height:54px}
.cw-logo img.sq{max-width:70%;max-height:96px}
.cw:hover .cw-logo img{transform:scale(1.04)}
.cw-word{font-size:1.375rem;font-weight:800;letter-spacing:-.02em;text-transform:uppercase;line-height:1;text-align:center;color:#fff}
.cw-body{display:flex;flex-direction:column;align-items:flex-start;gap:12px;padding:18px 20px 22px}
.cw-body h3{font-size:1.0625rem;font-weight:800;letter-spacing:-.02em;line-height:1.25}
.cw-body .pill{font-size:.625rem;padding:5px 10px;color:var(--mute-d)}
@media (max-width:639px){
  .cw-logo{height:116px;padding:18px 14px}
  .cw-logo img.w{max-height:36px;max-width:88%}
  .cw-logo img.sq{max-height:64px}
  .cw-word{font-size:1rem}
  .cw-body{padding:14px 14px 18px;gap:10px}
  .cw-body h3{font-size:.9375rem}
  .cw-body .pill{font-size:.5625rem;padding:4px 8px;letter-spacing:.06em}
  .cw-long{display:none}
}
@media (prefers-reduced-motion:reduce){.cw::before,.cw-logo img{transition:none}}

/* ---------- v7: fixes ---------- */
/* Menu icon: the chart .bars rule leaked into the toggle (grid + margin-top) */
.menu-toggle .bars{display:block;margin:0;max-width:none;gap:0;flex:none}
.menu-toggle .bars::before,.menu-toggle .bars::after{border-radius:1px}
.menu-toggle{line-height:1}
/* Dim the background 7 while the Calendly scheduler is on screen */
.bg7,.bg7m{transition:opacity .6s var(--ease)}
html.bg7-dim .bg7,html.bg7-dim .bg7m{opacity:.12}
/* Footer: brighter text, aligned columns, animated wordmark */
.footer-top{align-items:start}
.footer-col h2{color:#b4b4bd;line-height:1.2;min-height:1.2em}
.footer-col ul,.footer-col address{margin-top:16px}
.footer-col address{color:#f2f2f5}
.footer-col a,.footer-legal nav a{color:#f2f2f5}
.footer-col li span{color:#a6a6b0}
.footer-brand .small,.footer-legal{color:#a6a6b0}
.footer-brand p{color:#fff}
.footer-word{font-weight:900;color:transparent;-webkit-text-stroke:1px #3a3a44;background:linear-gradient(100deg,#2c2c34 0 40%,#7903EB 46%,#C70B8F 50%,#FF114F 54%,#2c2c34 60% 100%);background-size:250% 100%;background-position:100% 0;-webkit-background-clip:text;background-clip:text;text-align:center}
@media (prefers-reduced-motion:no-preference){
  .footer-word{animation:fw-sweep 7s cubic-bezier(.6,0,.4,1) infinite}
  @keyframes fw-sweep{0%,15%{background-position:100% 0}65%,100%{background-position:0 0}}
}
.footer-legal{align-items:start}
.footer-legal nav{align-items:flex-start}
.footer-col:nth-child(4) ul{margin-top:20px}

.display,.h1,.h2,.h3,.founder-name,.step-title,.pilot h3,.fw-name,
.plan-head h3,.case-name,.ledger-row .client,.caps li,.windex .name,
.mobile-nav li a,.footer-brand p,.ticker li,.wpreview .stage .word {
  word-spacing: .12em;
}
