/* Capstone — Midnight V4 "Rail". Self-hosted fonts, design tokens, components.
   No external requests, no build step. Components reference var(--…) tokens only;
   raw hex appears in the :root token block and inside inline SVG attributes. */

/* ---------- fonts (self-hosted, ../assets/fonts) ---------- */
@font-face{font-family:'Inter';font-style:normal;font-weight:100 900;font-display:swap;src:url("../assets/fonts/Inter-latin-ext.woff2") format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Inter';font-style:normal;font-weight:100 900;font-display:swap;src:url("../assets/fonts/Inter-latin.woff2") format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Playfair Display';font-style:normal;font-weight:300 900;font-display:swap;src:url("../assets/fonts/PlayfairDisplay-VF.woff2") format('woff2')}
@font-face{font-family:'Playfair Display';font-style:italic;font-weight:300 900;font-display:swap;src:url("../assets/fonts/PlayfairDisplay-Italic-VF.woff2") format('woff2')}
@font-face{font-family:'JetBrains Mono';font-style:normal;font-weight:400;font-display:swap;src:url("../assets/fonts/JetBrainsMono-latin.woff2") format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}

/* ---------- tokens ---------- */
:root{
--color-obsidian:#08080a;--color-onyx:#040406;--color-carbon:#121317;--color-graphite:#1c1d22;--color-slate:#2e3038;--color-smoke:#464853;--color-ash:#5e616e;--color-steel:#777a88;--color-fog:#9194a1;--color-mist:#acafb9;--color-silver:#c7c9d1;--color-bone:#e2e3e9;--color-paper-white:#ffffff;--color-copper:#cc9166;--color-gilded-gradient:#ae9357;
--gradient-gilded-gradient:linear-gradient(103deg,rgb(174,147,87),rgb(255,240,204) 40%,rgb(174,147,87) 70%,rgba(189,157,79,0));
--font-display-serif:'Playfair Display',Georgia,serif;--font-inter:'Inter',ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;
--text-eyebrow:13px;--leading-eyebrow:1;--tracking-eyebrow:-0.26px;--text-body-xs:16px;--leading-body-xs:1.5;--text-body-sm:18px;--leading-body-sm:1.38;--tracking-body-sm:-0.36px;--text-body:20px;--leading-body:1.38;--tracking-body:-0.8px;--text-subheading:24px;--leading-subheading:1;--tracking-subheading:-0.31px;--text-heading-sm:44px;--leading-heading-sm:1.38;--tracking-heading-sm:0.44px;--text-heading:52px;--leading-heading:1.13;--tracking-heading:0.52px;--text-heading-lg:64px;--leading-heading-lg:1.13;--tracking-heading-lg:0.64px;--text-display:88px;--leading-display:1;--tracking-display:0.88px;
--font-weight-light:300;--font-weight-regular:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;
--spacing-4:4px;--spacing-6:6px;--spacing-8:8px;--spacing-9:9px;--spacing-10:10px;--spacing-12:12px;--spacing-14:14px;--spacing-16:16px;--spacing-20:20px;--spacing-22:22px;--spacing-24:24px;--spacing-32:32px;--spacing-40:40px;--spacing-48:48px;--spacing-105:105px;--spacing-224:224px;
--page-max-width:1216px;--section-gap:160px;--card-padding:24px;--element-gap:8px;
--radius-sm:2px;--radius-lg:10px;--radius-full:9999px;--radius-nav:2px;--radius-cards:10px;--radius-icons:9999px;
/* V4 renders 2px controls; the 9999px token values are not what V4 draws. */
--radius-tags:2px;--radius-inputs:2px;--radius-buttons:2px;
--shadow-subtle:rgba(255,255,255,0.2) 0px 0px 0px 1px;
--surface-void:#08080a;--surface-card:#040406;--surface-panel:#121317;--surface-floating:#1c1d22;
/* additions for the static build */
--rail-w:240px;--topbar-h:64px;
--font-mono:'JetBrains Mono',ui-monospace,monospace;
--color-ok:#8fb59a;--color-ok-border:#3e5a47;--color-ink:#000000;
--gutter:clamp(20px,3vw,32px);--gutter-wide:clamp(20px,3vw,48px);
--ease:cubic-bezier(.22,.9,.3,1);
}

/* ---------- base ---------- */
*,*::before,*::after{box-sizing:border-box}
[hidden]{display:none!important}
html{scroll-behavior:smooth;scroll-padding-top:calc(var(--topbar-h) + 16px)}
body{margin:0;background:var(--color-obsidian);color:var(--color-bone);font-family:var(--font-inter);font-size:16px;line-height:1.5;-webkit-font-smoothing:antialiased;overflow-x:hidden}
img,svg{display:block;max-width:100%}
a{color:var(--color-bone)}
a:hover{color:var(--color-paper-white)}
::selection{background:rgba(204,145,102,.3)}
:focus-visible{outline:2px solid var(--color-bone);outline-offset:2px}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0}
.sr-only--focusable:focus{position:fixed;top:8px;left:8px;width:auto;height:auto;margin:0;overflow:visible;clip:auto;clip-path:none;white-space:normal;z-index:100;background:var(--color-paper-white);color:var(--color-obsidian);padding:10px 16px;border-radius:var(--radius-sm)}

/* ---------- layout primitives ---------- */
.wrap{max-width:var(--page-max-width);margin:0 auto;padding:0 var(--gutter)}
.wrap--wide{max-width:1440px;padding:0 var(--gutter-wide)}
.wrap--narrow{max-width:800px}
.sec{padding:96px 0 0}
.sec.sec--hero{padding-top:56px}

/* ---------- type primitives ---------- */
.serif{font-family:var(--font-display-serif);font-weight:var(--font-weight-regular);font-size:var(--text-heading-sm);line-height:1.13;letter-spacing:.01em;color:var(--color-paper-white);margin:0}
.serif em{font-style:italic;color:var(--color-silver)}
.eyebrow{display:inline-block;margin:0;font-size:var(--text-eyebrow);font-weight:var(--font-weight-semibold);letter-spacing:-0.02em;line-height:var(--leading-eyebrow);color:var(--color-copper)}
.eyebrow--fog{color:var(--color-fog)}
.eyebrow--ruled{display:inline-flex;align-items:center;gap:12px}
.eyebrow--ruled::before,.eyebrow--ruled::after{content:"";width:40px;height:1px;background:var(--color-slate)}
.sec-head{max-width:720px;margin:0 auto;text-align:center}
.sec-head .eyebrow{margin-bottom:20px}
.sec-head .serif{font-size:clamp(32px,4vw,52px)}
.sec-head--sm .serif{font-size:clamp(30px,3.4vw,44px)}
.sec-head--left{margin:0;text-align:left;max-width:520px}
.hero-h1{font-size:clamp(40px,4.4vw,64px);line-height:1.05}
.sub{font-size:var(--text-body);line-height:var(--leading-body);letter-spacing:-0.04em;color:var(--color-fog);font-weight:var(--font-weight-regular);margin:16px 0 0;max-width:54ch}
.sec-head:not(.sec-head--left) .sub{margin-left:auto;margin-right:auto}
.body{font-size:var(--text-body-xs);line-height:var(--leading-body-xs);color:var(--color-bone);margin:0}

/* ---------- controls ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;font-family:inherit;font-size:14px;font-weight:var(--font-weight-medium);padding:11px 20px;border-radius:var(--radius-buttons);text-decoration:none;cursor:pointer;border:1px solid transparent;transition:background .2s,color .2s,border-color .2s;white-space:nowrap;line-height:1}
.btn-white{background:var(--color-paper-white);color:var(--color-ink)}
.btn-white:hover{background:var(--color-bone);color:var(--color-ink)}
.btn-ghost{background:transparent;color:var(--color-paper-white);border-color:var(--color-paper-white)}
.btn-ghost:hover{background:rgba(255,255,255,.06);color:var(--color-paper-white)}
.btn[disabled]{opacity:.6;cursor:default}
.tag{display:inline-flex;align-items:center;gap:6px;font-size:12px;padding:6px 10px;border-radius:var(--radius-tags);border:1px solid var(--color-steel);color:var(--color-paper-white);white-space:nowrap;line-height:1}
.tag--ok{color:var(--color-ok);border-color:var(--color-ok-border)}
.tag--muted{color:var(--color-steel);border-color:var(--color-slate)}
.input{flex:1;min-width:0;background:transparent;border:1px solid var(--color-paper-white);border-radius:var(--radius-inputs);color:var(--color-paper-white);font-family:inherit;font-size:14px;padding:11px 14px;outline:none}
.input::placeholder{color:var(--color-fog)}
.input:focus{box-shadow:0 0 0 3px rgba(255,255,255,.12)}

/* ---------- surfaces ---------- */
.card{background:var(--surface-card);border-radius:var(--radius-cards)}
.hair{border:1px solid var(--color-graphite)}
.icon-well{width:32px;height:32px;border-radius:var(--radius-icons);border:1px solid var(--color-slate);display:grid;place-items:center;flex:none;color:var(--color-steel)}
.icon-well--lg{width:36px;height:36px}
.icon-well--sm{width:28px;height:28px}
.keystone{display:inline-block;flex:none;width:10px;height:7px;background:var(--color-copper);clip-path:polygon(0 0,100% 0,76% 100%,24% 100%)}
.keystone--lg{width:16px;height:11px}
/* V4's Wordmark draws the name at mark size × .95 */
.wordmark{--mark:22px;display:inline-flex;align-items:center;gap:10px;color:var(--color-paper-white);text-decoration:none}
.wordmark__name{font-family:var(--font-display-serif);font-weight:var(--font-weight-regular);font-size:calc(var(--mark) * .95);letter-spacing:.01em;line-height:1}
.wordmark--sm{--mark:18px}
.footer__brand .wordmark{--mark:24px}

/* ---------- grids ---------- */
.g2,.g3,.svc{display:grid}
.g2{grid-template-columns:minmax(0,1fr);gap:48px}
.g3{grid-template-columns:minmax(0,1fr);gap:16px}
.svc{grid-template-columns:minmax(0,1fr)}

/* ---------- shell: rail ---------- */
.rail{display:none;position:fixed;left:0;top:0;bottom:0;width:var(--rail-w);border-right:1px solid var(--color-graphite);padding:24px;flex-direction:column;gap:4px;background:var(--surface-card);z-index:40;overflow-y:auto}
.rail__mark{margin-bottom:24px;text-decoration:none}
.rail__link{font-size:14px;padding:8px 10px;border-radius:var(--radius-nav);color:var(--color-fog);background:transparent;text-decoration:none;display:flex;gap:10px;align-items:center}
.rail__link::before{content:"";width:10px;height:10px;flex:none;border:1px solid var(--color-slate);border-radius:var(--radius-sm)}
.rail__link:hover{color:var(--color-paper-white)}
.rail__link[aria-current="true"]{color:var(--color-paper-white);background:var(--surface-panel)}
.rail__link[aria-current="true"]::before{border-color:var(--color-steel)}
.rail-main{margin-left:0}

/* ---------- shell: topbar + menu ---------- */
.topbar{position:sticky;top:0;z-index:50;height:var(--topbar-h);display:flex;align-items:center;justify-content:space-between;gap:16px;padding:0 var(--gutter);background:var(--color-obsidian);border-bottom:1px solid var(--color-graphite)}
.topbar__actions{display:flex;align-items:center;gap:8px}
.topbar__menu-btn{font-family:inherit;font-size:14px;font-weight:var(--font-weight-medium);color:var(--color-paper-white);background:transparent;border:1px solid var(--color-slate);border-radius:var(--radius-buttons);padding:11px 16px;cursor:pointer;line-height:1}
.menu{position:sticky;top:var(--topbar-h);z-index:45;display:grid;gap:2px;padding:12px var(--gutter) 20px;background:var(--surface-card);border-bottom:1px solid var(--color-graphite)}
.menu a{font-size:15px;color:var(--color-fog);text-decoration:none;padding:10px 4px;display:flex;align-items:center}
.menu a:hover{color:var(--color-paper-white)}
html.js .menu:not(.is-open){display:none}
html:not(.js) .topbar__menu-btn{display:none}

/* ---------- footer ---------- */
.footer{margin-top:96px;border-top:1px solid var(--color-graphite);padding:56px 0 40px}
@media (min-width:768px){.footer{margin-top:var(--section-gap)}}

/* ---------- hero ---------- */
.hero__head{display:grid;gap:32px;justify-items:start;animation:md-rise .9s var(--ease) both}
.hero__intro{max-width:760px}
.hero__intro .eyebrow{margin-bottom:20px}
.hero__stats{display:flex;flex-wrap:wrap;gap:24px;margin:0}
.stat{display:flex;flex-direction:column-reverse;gap:6px}
.stat__value{font-size:36px;line-height:1;margin:0}
.stat__label{font-size:13px;color:var(--color-fog);margin:0}
.hero__lede{font-size:20px;line-height:1.55;color:var(--color-mist);margin:0;max-width:65ch}
.hero__offer{display:grid;gap:24px;margin-top:28px;align-items:center}
.hero__benefits{list-style:none;padding:24px 0;margin:32px 0;display:grid;gap:20px;border-block:1px solid var(--color-slate)}
.hero__benefits li{display:grid;gap:6px}
.hero__benefits strong{font-size:15px;color:var(--color-copper);font-weight:500}
.hero__benefits span{font-size:14px;color:var(--color-mist);max-width:36ch}
.desktop-action{display:none}
.sample-preview{margin-top:32px}
.sample-preview__note{font-size:13px;color:var(--color-mist);margin:10px 0 20px}
.sample-preview ul{padding:0;margin:0;list-style:none;display:grid;gap:20px}
.sample-preview li{display:grid;gap:4px;font-size:14px;color:var(--color-mist)}
.sample-preview strong{color:var(--color-bone);font-size:17px}
.sample-details{margin-top:24px}
.sample-details summary,.more-insights summary,.audit-deliverables summary{cursor:pointer;color:var(--color-copper);padding:14px 0;font-size:14px;min-height:44px}
.when-open,details[open]>summary .when-closed{display:none}
details[open]>summary .when-open{display:inline}
.more-insights{margin-top:28px}
.more-insights .insights-grid{margin-top:24px}
.audit-deliverables ul{padding-left:20px;font-size:14px;color:var(--color-mist)}
.audit-deliverables li+li{margin-top:10px}
@media(min-width:768px){
  .hero__benefits{grid-template-columns:repeat(3,minmax(0,1fr));gap:32px}
  .sample-preview{display:none}
  .hero__stats{gap:56px}
}
@media(min-width:1100px){
  .desktop-action{position:sticky;top:0;z-index:30;display:flex;justify-content:flex-end;padding:16px var(--gutter);background:var(--color-obsidian);border-bottom:1px solid var(--color-graphite)}
  .hero__offer{grid-template-columns:minmax(0,1fr) auto;gap:48px}
}

/* ---------- dashboard ---------- */
.dash{margin:40px 0 0;display:grid;grid-template-columns:minmax(0,1fr);overflow:hidden;box-shadow:0 0 0 1px rgba(255,255,255,.06);animation:md-rise 1s var(--ease) .2s both}
.dash__rail{display:none;border-right:1px solid var(--color-graphite);padding:18px;flex-direction:column;gap:4px;background:var(--surface-card)}
.dash__brand{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}
.dash__dot{width:6px;height:6px;border-radius:var(--radius-full);background:var(--color-copper)}
.dash__link{display:flex;align-items:center;gap:10px;font-size:13px;padding:7px 10px;border-radius:var(--radius-nav);color:var(--color-fog);margin:0}
.dash__link--on{color:var(--color-paper-white);background:var(--surface-panel)}
.dash__sq{width:10px;height:10px;flex:none;border:1px solid var(--color-slate);border-radius:var(--radius-sm)}
.dash__link--on .dash__sq{border-color:var(--color-steel)}
.dash__group{font-size:11px;color:var(--color-fog);margin:16px 10px 4px;font-weight:var(--font-weight-semibold)}
.dash__sub{font-size:13px;padding:5px 10px;color:var(--color-fog);margin:0}
.dash__user{margin:auto 0 0;padding-top:16px;display:flex;gap:10px;align-items:center;font-size:13px;color:var(--color-mist)}
.dash__avatar{width:22px;height:22px;border-radius:var(--radius-sm);background:var(--surface-panel);display:grid;place-items:center;font-size:10px;color:var(--color-copper)}
.dash__main{padding:18px;display:grid;gap:16px;align-content:start;min-width:0}
.dash__head{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap}
.dash__title{font-size:28px;line-height:1.13}
.dash__tags{display:flex;gap:8px;flex-wrap:wrap}
.dash__export{padding:7px 12px;font-size:12px}
.kpi{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.kpi__tile{border:1px solid var(--color-graphite);border-radius:var(--radius-sm);padding:12px 14px}
.kpi__label{font-size:12px;color:var(--color-fog);margin:0}
.kpi__row{display:flex;flex-wrap:wrap;align-items:baseline;gap:8px;margin:4px 0 0}
.kpi__value{font-size:24px;font-weight:var(--font-weight-medium);letter-spacing:-0.03em;color:var(--color-paper-white)}
.kpi__delta{font-size:11px;color:var(--color-copper)}
.spark{width:100%;height:28px;margin-top:8px}
.dash__cols{display:grid;grid-template-columns:minmax(0,1fr);gap:12px}
.panel{border:1px solid var(--color-graphite);border-radius:var(--radius-sm);padding:16px}
.panel__head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:8px}
.panel__title{font-size:13px;color:var(--color-fog)}
.panel__meta{font-size:12px;color:var(--color-bone);white-space:nowrap}
.chart{width:100%;height:160px;overflow:visible}
.chart--sm{height:90px}
.chart__grid{stroke:var(--color-graphite);stroke-width:1}
.chart__stroke{stroke-dasharray:1;animation:md-draw 1.6s cubic-bezier(.22,.9,.3,1) .3s both}
.panel__axis{display:flex;justify-content:space-between;font-size:11px;color:var(--color-fog);margin:6px 0 0}
.ladder{display:flex;flex-direction:column}
.ladder__title{margin:0 0 10px}
.ladder__row{display:flex;align-items:center;gap:10px;padding:6px 0;margin:0;font-size:13px;border-bottom:1px solid var(--color-graphite)}
.ladder__row:last-child{border-bottom:0}
.ladder__n{width:22px;flex:none;font-family:var(--font-mono);font-size:12px;color:var(--color-fog)}
.ladder__track{flex:1;height:6px;background:var(--color-graphite);border-radius:1px;position:relative}
.ladder__bar{position:absolute;left:0;top:0;bottom:0;background:var(--color-slate)}
.ladder__bar--1{width:100%}
.ladder__bar--2{width:86%}
.ladder__bar--3{width:72%}
.ladder__bar--4{width:58%}
.ladder__bar--5{width:44%}
.ladder__name{width:84px;flex:none;text-align:right;color:var(--color-fog)}
.ladder__row--top .ladder__n{color:var(--color-copper)}
.ladder__row--top .ladder__bar{background:var(--gradient-gilded-gradient)}
.ladder__row--top .ladder__name{color:var(--color-paper-white)}
.findings{border:1px solid var(--color-graphite);border-radius:var(--radius-sm)}
.findings__row{display:grid;grid-template-columns:1fr auto;gap:4px 12px;padding:10px 14px;font-size:13px;border-bottom:1px solid var(--color-graphite)}
.findings__row:last-child{border-bottom:0}
.findings__row--head{display:none}
.findings__asin{grid-column:1;grid-row:1;font-family:var(--font-mono);font-size:12px;color:var(--color-mist)}
.findings__name{grid-column:1/-1;grid-row:2;color:var(--color-bone)}
.findings__detail{grid-column:1/-1;grid-row:3;color:var(--color-fog)}
.findings__status{grid-column:2;grid-row:1;text-align:right}
.findings .tag{padding:3px 8px;font-size:11px}
@media (min-width:1100px){
  .dash{grid-template-columns:200px minmax(0,1fr)}
  .dash__rail{display:flex}
  .dash__main{padding:24px}
  .kpi{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}
  .dash__cols{grid-template-columns:minmax(0,3fr) minmax(0,2fr)}
  .findings__row{grid-template-columns:90px 1.4fr 1.4fr 70px;gap:12px}
  .findings__row--head{display:grid;font-size:12px;color:var(--color-fog)}
  .findings__asin,.findings__name,.findings__detail,.findings__status{grid-column:auto;grid-row:auto}
}

/* ---------- responsive ---------- */
@media (max-width:1099.98px){
  .btn,.rail__link,.menu a,.topbar__menu-btn,.input{min-height:44px}
  a.wordmark{min-height:44px}
  .footer__col a,.founder-card__mail{min-height:44px;display:flex;align-items:center}
  .founder-card__mail{margin-top:2px}
}
@media (min-width:768px){
  .sec{padding-top:var(--section-gap)}
  .g3{grid-template-columns:repeat(2,minmax(0,1fr))}
  .svc{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (min-width:1100px){
  html{scroll-padding-top:96px}
  .rail{display:flex}
  .topbar,.menu{display:none}
  .rail-main{margin-left:var(--rail-w)}
  .g2{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
  .g3{grid-template-columns:repeat(3,minmax(0,1fr))}
  .svc{grid-template-columns:repeat(3,minmax(0,1fr))}
}

/* ---------- problem ---------- */
.problem-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px;margin-top:64px}
.problem-card{padding:24px}
.problem-card__head{display:flex;justify-content:space-between;align-items:center;margin-bottom:40px}
.problem-card__num{font-size:13px;color:var(--color-steel)}
.problem-card__title{font-size:18px;font-weight:var(--font-weight-medium);letter-spacing:-0.02em;color:var(--color-paper-white);line-height:1.38}
.problem-card__body{color:var(--color-fog);margin-top:8px;font-size:15px}

/* ---------- services ---------- */
.svc{margin-top:64px}
.svc__item{padding:20px;border-bottom:1px solid var(--color-graphite)}
.svc__item:last-child{border-bottom:0}
.svc__head{display:flex;align-items:center;gap:16px}
.svc__well{width:56px;height:56px;flex:none;border-radius:var(--radius-icons);border:1px solid color-mix(in srgb,var(--color-copper) 45%,transparent);background:transparent;display:grid;place-items:center;color:var(--color-copper)}
.svc__label{display:flex;flex-direction:column;gap:4px;min-width:0}
.svc__title{font-family:var(--font-display-serif);font-size:20px;font-weight:var(--font-weight-regular);letter-spacing:.01em;color:var(--color-paper-white);line-height:1.2}
.svc__body{color:var(--color-mist);margin-top:16px;font-size:15px;line-height:1.5;max-width:38ch}
.svc__item:nth-child(2){--ins-d:.06s}
.svc__item:nth-child(3){--ins-d:.12s}
.svc__item:nth-child(4){--ins-d:.18s}
.svc__item:nth-child(5){--ins-d:.24s}
.svc__item:nth-child(6){--ins-d:.3s}
html.js .svc__item{opacity:0;transform:translateY(16px);transition:opacity .6s var(--ease) var(--ins-d,0s),transform .6s var(--ease) var(--ins-d,0s)}
html.js .svc__item.is-visible{opacity:1;transform:none}
@media (min-width:768px){
  .svc__item{padding:28px;border-right:1px solid var(--color-graphite);border-bottom:1px solid var(--color-graphite)}
  .svc__item:nth-child(2n){border-right:0}
  .svc__item:nth-child(n+5){border-bottom:0}
  .svc__title{font-size:24px}
}
@media (min-width:1100px){
  .svc__item:nth-child(n){border-right:1px solid var(--color-graphite);border-bottom:0}
  .svc__item:nth-child(3n){border-right:0}
  .svc__item:nth-child(-n+3){border-bottom:1px solid var(--color-graphite)}
}

/* ---------- how it works ---------- */
.how-list{margin-top:64px;list-style:none;padding:0}
.step{padding:24px;display:flex;flex-direction:column;gap:16px;margin:0}
.step__num{color:var(--color-copper);font-size:44px;line-height:1}
.step__title{font-size:20px;font-weight:var(--font-weight-medium);letter-spacing:-0.04em;color:var(--color-paper-white)}
.step__body{color:var(--color-fog);font-size:15px}
.step__mock{margin-top:auto;padding-top:12px;border-top:1px solid var(--color-graphite)}
.term-list{font-size:14px;margin:0}
.term-list__row{display:flex;justify-content:space-between;padding:8px 0;border-bottom:1px solid var(--color-graphite)}
.term-list__row--last{border-bottom:none}
.term-list__row dt{color:var(--color-fog);font-weight:var(--font-weight-regular)}
.term-list__row dd{margin:0;color:var(--color-bone)}
.term-list__copper{color:var(--color-copper)!important}
.step__chart-cap{display:flex;justify-content:space-between;font-size:13px;color:var(--color-fog);margin:0 0 6px}
.step__chart-val{color:var(--color-bone)}

/* ---------- why capstone ---------- */
.g2--start{align-items:start}
.difference-layout{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:40px}
.proof{padding:28px;margin-top:32px;display:flex;gap:24px;align-items:center;background:var(--surface-panel)}
.proof__visual{width:86px;flex-shrink:0;text-align:center;color:var(--color-copper)}
.proof__one{display:block;font-size:72px;line-height:1}
.proof__unit{display:block;font:10px var(--font-mono);letter-spacing:2px;margin:12px 0 18px}
.proof__slots{display:flex;gap:5px;justify-content:center}
.proof__slots i{width:12px;height:12px;border:1px solid var(--color-slate)}
.proof__slots i:first-child{background:var(--color-copper);border-color:var(--color-copper)}
.proof .eyebrow{margin-bottom:8px;display:block}
.proof__title{font-size:18px;font-weight:var(--font-weight-medium);color:var(--color-paper-white);margin:0;line-height:1.4}
.proof__body{color:var(--color-fog);font-size:14px;margin-top:10px;line-height:1.65}
.compare{width:100%;table-layout:fixed;border-collapse:separate;border-spacing:0;font-size:14px;border:1px solid var(--color-slate);border-radius:var(--radius-cards);overflow:hidden}
.compare thead th{text-align:left;font-size:20px;font-weight:var(--font-weight-medium);color:var(--color-fog);padding:24px 20px;border-bottom:1px solid var(--color-slate)}
.compare__label{display:block;font:10px var(--font-mono);letter-spacing:1px;text-transform:uppercase;margin-bottom:10px;color:var(--color-fog)}
.compare thead th:first-child{color:var(--color-paper-white);border-top:3px solid var(--color-copper)}
.compare thead th:last-child{border-top:3px solid transparent}
.compare thead th:first-child,.compare__row td:first-child{background:var(--surface-panel)}
.compare__row td{padding:20px;vertical-align:top;border-bottom:1px solid var(--color-graphite);line-height:1.5}
.compare__cell{display:flex;gap:12px;align-items:flex-start}
.compare .tag{padding:0;border:0;background:none;font-size:14px;line-height:1.5;flex-shrink:0}
.compare .tag--ok{color:var(--color-copper)}
.compare__row td:first-child{color:var(--color-bone)}
.compare__row td:last-child{color:var(--color-fog)}
.compare tbody tr:last-child td{border-bottom:0}
@media (max-width:900px){.difference-layout{grid-template-columns:1fr}}
@media (max-width:767.98px){
  .proof{padding:22px;gap:18px}.proof__visual{width:56px}.proof__one{font-size:60px}.proof__slots{gap:3px}.proof__slots i{width:8px;height:8px}
  .compare thead th{font-size:16px;padding:18px 12px}.compare__label{font-size:9px;letter-spacing:0}
  .compare__row td{padding:16px 12px;font-size:13px}.compare__cell{gap:7px}
}

/* ---------- audit ---------- */
.audit{padding:clamp(28px,4vw,56px)}
.audit-list{list-style:none;margin:28px 0 0;padding:0}
.audit-list__item{display:flex;gap:14px;padding:12px 0;font-size:15px;color:var(--color-bone)}
.audit-list__item .keystone{margin-top:7px}
.audit__note{color:var(--color-fog);font-size:14px;margin-top:24px;max-width:54ch}
.audit__note--sm{color:var(--color-fog);font-size:13px;margin-top:10px}
.audit-panel{background:var(--surface-panel);border-radius:var(--radius-cards);padding:24px}
.audit-form{display:grid;gap:14px}
.audit-form label{display:grid;gap:8px;font-size:13px;color:var(--color-fog)}
.audit-form .input{border-color:var(--color-steel)}
.audit-form__submit{margin-top:6px;padding:12px}
.audit-form__note{margin:0;text-align:center;font-size:12px;color:var(--color-fog)}
.audit-form__error{margin:0;font-size:13px;color:var(--color-copper)}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.audit-sent{text-align:center;padding:40px 10px}
.audit-sent .keystone{margin:0 auto}
.audit-sent h3{font-size:28px;margin-top:16px}
.audit-sent p{color:var(--color-fog);margin-top:8px}

/* ---------- insights ---------- */
.md-card{background:var(--surface-card);border-radius:var(--radius-cards);overflow:hidden}
.md-card--gilded{border:1px solid var(--color-graphite)}
#insights .sec-head{max-width:880px}
.insights-grid{margin-top:64px;gap:32px 16px}
.insight{display:flex;flex-direction:column;transition:border-color .25s var(--ease)}
.insight:hover,.insight:focus-within{border-color:var(--color-slate)}
.insight__art{margin:0;aspect-ratio:3/2;overflow:hidden;background:var(--surface-panel);border-bottom:1px solid var(--color-slate);padding:8px}
.insight__meta{display:flex;gap:10px;align-items:center;margin:24px 0 0;padding:0 24px}
.insight__num{font-size:13px;color:var(--color-fog)}
.insight__title{font-size:20px;font-weight:var(--font-weight-medium);letter-spacing:-0.04em;line-height:1.38;color:var(--color-paper-white);margin:10px 0 0;padding:0 24px}
.insight__body{color:var(--color-mist);font-size:14px;line-height:1.65;margin-top:12px;padding:0 24px 24px}
.insights__note{margin:40px 0 0;text-align:center;font-size:14px;color:var(--color-fog)}
/* insight illustrations: shared parts, tokens only */
.ins{width:100%;height:100%}
.ins-panel{fill:var(--surface-card);stroke:var(--color-slate);stroke-width:1}
.ins-chip{fill:var(--color-graphite);stroke:var(--color-slate);stroke-width:1}
.ins-dot{fill:var(--color-steel)}
.ins-open{fill:none;stroke:var(--color-steel);stroke-width:1}
.ins-rule{fill:none;stroke:var(--color-slate);stroke-width:2;stroke-linecap:round}
.ins-dark-rule{fill:none;stroke:var(--color-obsidian);stroke-width:2;stroke-linecap:round}
.ins-label{font-family:var(--font-mono);font-size:10px;fill:var(--color-mist);letter-spacing:.2px}
.ins-text,.ins-ink,.ins-caption{font-family:var(--font-inter);font-size:11px;fill:var(--color-bone)}
.ins-ink{fill:var(--color-obsidian);font-weight:600}.ins-caption{fill:var(--color-mist)}
.ins-mid{text-anchor:middle}.ins-end{text-anchor:end}
.ins-cop{fill:var(--color-copper)}
.ins-cop-s{fill:none;stroke:var(--color-copper);stroke-width:1.5}
/* insight motion: hidden states only with JS, so the no-JS page is fully drawn */
.insight:nth-child(2){--ins-d:.08s}
.insight:nth-child(3){--ins-d:.16s}
.insight:nth-child(4){--ins-d:.24s}
.insight:nth-child(5){--ins-d:.32s}
.insight:nth-child(6){--ins-d:.4s}
html.js .insight{opacity:0;transform:translateY(16px);transition:opacity .6s var(--ease) var(--ins-d,0s),transform .6s var(--ease) var(--ins-d,0s),border-color .25s var(--ease)}
html.js .insight.is-visible{opacity:1;transform:none}
html.js .ins-draw{stroke-dasharray:1;stroke-dashoffset:1}
html.js .insight.is-visible .ins-draw{animation:md-draw 1.4s var(--ease) .3s both}

/* ---------- founders ---------- */
.g2--center{align-items:center}
.founders-list{list-style:none;margin:32px 0 0;padding-top:0;border-top:1px solid var(--color-graphite)}
.founders-list__item{display:flex;gap:14px;padding:14px 0;font-size:15px;color:var(--color-fog)}
.founders-list__item .keystone{margin-top:7px}
.founders-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.founder-card{position:relative;border-radius:var(--radius-cards);overflow:hidden;background:var(--surface-card)}
.founder-card__img{width:100%;height:auto;aspect-ratio:1;object-fit:cover;object-position:center 30%;filter:grayscale(1)}
.founder-card__overlay{padding:20px;background:var(--surface-panel)}
.founder-card__name{font-size:16px;font-weight:var(--font-weight-medium);color:var(--color-paper-white);margin:0}
.founder-card__role{font-size:14px;color:var(--color-mist);margin:2px 0 0}
.founder-card__mail{font-size:13px;color:var(--color-copper);text-decoration:none;display:block;margin-top:8px;overflow-wrap:anywhere}

/* ---------- faq ---------- */
.faq{margin-top:48px;border-top:1px solid var(--color-graphite)}
.faq__item{border-bottom:1px solid var(--color-graphite)}
.faq__q{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:24px;padding:20px 0;font-size:18px;font-weight:var(--font-weight-medium);letter-spacing:-0.02em;color:var(--color-paper-white)}
.faq__q::-webkit-details-marker{display:none}
.faq__toggle{font-size:14px;color:var(--color-steel);line-height:1;transition:transform .2s}
.faq__item[open] .faq__toggle{transform:rotate(45deg)}
.faq__a{color:var(--color-mist);padding:0 0 24px;max-width:68ch}

/* ---------- closing ---------- */
.closing{text-align:center;max-width:600px;margin:0 auto}
.closing__h{font-size:clamp(40px,5vw,64px)}
.closing__sub{margin:16px auto 0}
.closing__actions{display:flex;gap:8px;justify-content:center;margin-top:32px;flex-wrap:wrap}

/* ---------- footer ---------- */
.footer__grid{display:grid;gap:32px}
.footer__brand{max-width:280px}
.footer__tagline{color:var(--color-fog);font-size:14px;margin-top:16px;max-width:32ch}
.footer__nav{display:grid;gap:32px;grid-template-columns:repeat(2,minmax(0,1fr))}
.footer__col{display:grid;gap:10px;align-content:start}
.footer__heading{font-size:13px;font-weight:var(--font-weight-semibold);color:var(--color-paper-white)}
.footer__col a{font-size:14px;color:var(--color-fog);text-decoration:none;overflow-wrap:anywhere}
.footer__col a:hover{color:var(--color-paper-white)}
.footer__legal{margin-top:48px;padding-top:20px;border-top:1px solid var(--color-graphite);display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;font-size:13px;color:var(--color-fog)}
@media (min-width:768px){
  .footer__nav{grid-template-columns:repeat(3,minmax(0,160px)) minmax(0,max-content)}
}
@media (min-width:900px){
  .footer__grid{grid-template-columns:minmax(0,1fr) auto}
}

/* ---------- motion ---------- */
@keyframes md-rise{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}
@keyframes md-draw{from{stroke-dashoffset:1}to{stroke-dashoffset:0}}
@media (prefers-reduced-motion:reduce){
  *{animation:none!important;transition:none!important}
  html{scroll-behavior:auto}
  html.js .insight,html.js .svc__item{opacity:1;transform:none}
  html.js .ins-draw{stroke-dasharray:none;stroke-dashoffset:0}
}

@media(max-width:767px){
  .sec{padding-top:64px}.sec.sec--hero{padding-top:32px}
  .hero__lede{font-size:17px}.hero__action .text-link{white-space:normal}
  .hero__stats{gap:20px;justify-content:space-between}.stat__value{font-size:26px}.stat__label{font-size:11px;max-width:12ch}
  .audit{padding:0;background:transparent}.audit .g2{gap:24px}.audit-panel{padding:20px}
  .audit-list{margin-top:20px}.audit-list__item{padding:8px 0}.audit__note{margin-top:16px}
  .input{font-size:16px}.founders-grid{gap:12px}.founder-card__overlay{padding:14px}
  .insights-grid,.problem-grid{margin-top:32px}.insight__art{aspect-ratio:3/2}
  .footer{margin-top:64px}.footer__nav{gap:24px}
}
@media(max-width:359px){.topbar{gap:8px;padding-inline:12px}.topbar__actions .btn{padding-inline:12px}.topbar__menu-btn{padding-inline:10px}.wordmark{gap:6px;--mark:19px}}

.text-link{display:inline-flex;align-items:center;gap:10px;min-height:44px;color:var(--color-copper);font-size:15px;text-decoration:underline;text-underline-offset:5px;text-decoration-thickness:1px}
.text-link:hover{color:var(--color-paper-white)}

/* Report and transaction previews share the insight illustration language. */
.audit-preview{background:var(--surface-panel);border:1px solid var(--color-slate);padding:16px;border-radius:6px}
.audit-preview__head{display:flex;justify-content:space-between;gap:8px;margin:0;color:var(--color-mist);font-family:var(--font-mono);font-size:10px}
.audit-preview__head span:last-child{color:var(--color-copper)}
.audit-preview__title{font-size:23px;line-height:1.25;margin-top:18px}
.audit-preview ul{padding:0;margin:16px 0 0;list-style:none}
.audit-preview li{display:flex;gap:12px;padding:10px 0;border-top:1px solid var(--color-slate);font-size:12px;color:var(--color-bone)}
.audit-preview li span{color:var(--color-copper);font-family:var(--font-mono)}
.term-list__row{gap:12px}.term-list__row dd{text-align:right}

/* Partnership economics and practical next steps. */
.money-flow{list-style:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));padding:0;margin:40px 0 0;border-block:1px solid var(--color-slate)}
.money-flow li{padding:28px;position:relative}.money-flow li+li{border-left:1px solid var(--color-slate)}
.money-flow h3{font-size:20px;margin:14px 0 10px}.money-flow .body{font-size:15px;line-height:1.65}
.founder-card__focus{font-size:13px;line-height:1.6;margin-top:12px}
.audit-next{padding-bottom:20px;margin-bottom:24px;border-bottom:1px solid var(--color-slate)}
.audit-next ol{padding-left:20px;margin:12px 0 0;font-size:14px;color:var(--color-mist)}.audit-next li{padding:4px 0 4px 4px}
@media(max-width:767px){.hero__stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.money-flow{grid-template-columns:1fr}.money-flow li{padding:24px 0}.money-flow li+li{border-left:0;border-top:1px solid var(--color-slate)}}
