/* ============================================================
   BANDS, the Cakesmash site design system v3. Kyle picked it Sep 7 2026
   ("let's go with B bands"). Reference render: ../design-lab/runs/09b-bands.html
   Scoped to body.v3 so pages migrate one at a time. Loads AFTER site.css.
   Rules: Gloock display, DM Sans text. No black boxes, no white sections.
   Every ground is a brand gradient (ADR-0002 hero family + the navy family),
   crossfading in document order. Glass cards. Coral accent on dark. Pill buttons.
   ============================================================ */
body.v3{--v3-coral:#ee5a73;--v3-red:#e3405b;--v3-glass:rgba(255,255,255,.06);--v3-line:rgba(255,255,255,.14);--v3-text:rgba(232,237,244,.84);color:#fff}

/* type */
body.v3 h1,body.v3 h2,body.v3 h3{font-family:var(--font-display);font-weight:400;color:#fff}
body.v3 h2{font-size:clamp(34px,4.2vw,54px);line-height:1.05;letter-spacing:-.025em}
body.v3 .eyebrow{color:var(--v3-coral)!important;opacity:1!important;letter-spacing:.22em;font-size:.78rem}
body.v3 .divider{background:var(--v3-line)!important;height:1px;width:80px}
body.v3 .lead,body.v3 p{color:var(--v3-text)}
body.v3 p.lead{font-weight:300}

/* buttons: one shape everywhere */
body.v3 .btn{border-radius:999px;font-size:13px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;padding:16px 26px;border:1.5px solid transparent}
body.v3 .btn-outline-white{background:var(--v3-red);border-color:var(--v3-red);color:#fff}
body.v3 .btn-outline-white:hover{background:var(--v3-coral);border-color:var(--v3-coral);color:#fff}
body.v3 .btn-ghost{border-color:#fff;color:#fff;background:transparent}
body.v3 .btn-ghost:hover{background:rgba(255,255,255,.1)}

/* hero: the smoke is the one atmospheric moment; no breath animation, no defocus blur */
body.v3 .hero h1{animation:none;transform:none;font-size:clamp(54px,7.2vw,96px);line-height:.95;letter-spacing:-.025em;text-shadow:0 2px 40px rgba(0,0,0,.35)}
body.v3 .h1-defocus{filter:none;opacity:1;display:inline}
body.v3 .hero h1 i.rf{font-style:italic;color:var(--v3-coral)}
body.v3 .hero--home p.lead{font-size:1.28rem;max-width:34em}
body.v3 .hero .micro{color:rgba(232,237,244,.7)}

/* the band chain, in document order */
body.v3 .gb-reel{background:linear-gradient(180deg,#3B001A 0%,#4A2A7A 100%)}
body.v3 .wound-stage{background:linear-gradient(180deg,#4A2A7A 0%,#2A2060 100%)}
body.v3 .wound-stage::before,body.v3 .wound-stage::after{display:none}
body.v3 .gb-stagnate{background:transparent}
body.v3 .gb-pulse{background:linear-gradient(180deg,#2A2060 0%,#0e4382 100%)}
body.v3 .gb-proof{background:linear-gradient(180deg,#0e4382 0%,#1d5cc8 100%);color:#fff}
body.v3 .gb-ai-bridge{background:linear-gradient(180deg,#1d5cc8 0%,#2A3F7E 100%)}
body.v3 .gb-cta{background:linear-gradient(180deg,#2A3F7E 0%,#4A2A7A 100%)}
body.v3 #brief{background:linear-gradient(180deg,#4A2A7A 0%,#2A2060 100%)!important}
body.v3 .gb-footer{background:#0A0F1E}

/* cards: glass, one accent bar, white type; the old cyan is gone */
body.v3 .diagnosis-card{background:var(--v3-glass);border:1px solid var(--v3-line);border-radius:6px;padding:26px 26px 24px;position:relative;backdrop-filter:blur(6px)}
body.v3 .diagnosis-card::before{content:"";position:absolute;top:-1px;left:26px;width:44px;height:3px;background:var(--v3-coral)}
body.v3 .diagnosis-card h3{color:#fff;font-size:1.45rem;letter-spacing:-.015em}
body.v3 .diagnosis-card .label{color:var(--v3-coral);opacity:1}
body.v3 .diagnosis-card p{color:var(--v3-text)}
body.v3 .diagnosis-card .fix{border-top:1px solid var(--v3-line);color:var(--v3-text)}
body.v3 .diagnosis-card .fix strong{color:var(--v3-coral)}
body.v3 .gb-stagnate p[style*="22dde0"]{color:var(--v3-coral)!important}
body.v3 .gb-proof .diagnosis-card .label{color:var(--v3-coral);opacity:1}
body.v3 .gb-proof .diagnosis-card h3,body.v3 .gb-proof .diagnosis-card p[style*="font:800"]{font-family:var(--font-display)!important;font-weight:400!important;font-size:3.2rem!important;letter-spacing:-.03em!important;color:#fff}
body.v3 .gb-proof .diagnosis-card:first-child h3{color:var(--v3-coral)}
body.v3 .gb-proof a{color:#fff}

/* the four rungs and the six refusals */
body.v3 .pulse-rung{background:var(--v3-glass);border:1px solid var(--v3-line);border-radius:6px;padding:22px 24px}
body.v3 .pulse-rung-letter{color:var(--v3-coral);font-family:var(--font-body);font-weight:700;letter-spacing:.14em;font-size:12px}
body.v3 .pulse-rung h3{color:#fff}
body.v3 .refusal-image-stage{background:var(--v3-glass);border:1px solid var(--v3-line);border-radius:6px}
body.v3 .refusal-image-stage::before,body.v3 .refusal-image-stage::after{display:none}
body.v3 .values-row{border-bottom:1px solid var(--v3-line);padding:18px 0}
body.v3 .values-row h3{font-size:1.35rem;color:#fff}
body.v3 .director-close{border-top:1px solid var(--v3-line)}
body.v3 .director-close-line{font-family:var(--font-display);font-size:1.5rem;color:#fff}

/* AI stance, close, brief */
body.v3 .gb-ai-bridge .statement{color:#fff;font-family:var(--font-display);font-weight:400;font-size:clamp(26px,2.6vw,34px);line-height:1.25}
body.v3 .gb-ai-bridge a{color:var(--v3-coral)!important;border-bottom-color:var(--v3-coral)!important}
body.v3 .gb-cta .divider{background:var(--v3-line)!important}
body.v3 #brief h2{color:#fff!important}
body.v3 #brief p{color:var(--v3-text)!important}
body.v3 #brief select,body.v3 #brief input{background:var(--v3-glass)!important;border:1px solid var(--v3-line)!important;color:#fff!important;border-radius:6px!important}
body.v3 #brief select option{color:#1A1A1A}
body.v3 #brief button{background:var(--v3-red)!important;border-radius:999px!important;box-shadow:none!important;letter-spacing:.06em;text-transform:uppercase;font-size:13px!important;font-weight:700!important}
body.v3 #brief #nlNote{color:rgba(232,237,244,.6)!important}

/* footer */
body.v3 .site-footer{color:var(--v3-text)}
body.v3 .footer-tagline{color:#fff;font-family:var(--font-display);font-size:1.4rem}
body.v3 .footer-subline,body.v3 .footer-location{color:rgba(232,237,244,.6)}
body.v3 .footer-nav a{color:var(--v3-text)}

/* refusals: a two-column numbered grid, not a left column (Sep 7, after the first full render) */
body.v3 .refusal-image-stage{padding:44px 40px 40px}
body.v3 .refusal-image-stage .text-center{margin-bottom:8px}
body.v3 .values-list{max-width:none!important;margin:26px 0 0!important;display:grid;grid-template-columns:1fr 1fr;gap:6px 44px;perspective:none;counter-reset:rf}
body.v3 .values-row{padding:16px 0;border-bottom:1px solid var(--v3-line)!important;display:flex;gap:16px;align-items:baseline;counter-increment:rf;opacity:1!important;transform:none!important}
body.v3 .values-row::before{content:counter(rf,decimal-leading-zero);font:700 12px var(--font-body);letter-spacing:.14em;color:var(--v3-coral);flex:0 0 auto}
body.v3 .gb-pulse .values-row h3{border-bottom:0!important;padding-bottom:0!important;width:auto!important;font-size:1.25rem;line-height:1.3;margin:0}
@media (max-width:820px){body.v3 .values-list{grid-template-columns:1fr}}

/* ============ FOOTER v3: Giant Wordmark, contact strip (Kyle picked G1, Sep 7). No phone number, ever. ============ */
body.v3 .site-footer.f3v{background:#0A0F1E;color:var(--v3-text);padding:80px 0 0;overflow:hidden;position:relative}
body.v3 .f3v .container{max-width:1168px;padding:0 24px}
body.v3 .f3v .f-top{display:grid;grid-template-columns:1.2fr 1fr .9fr;gap:48px;align-items:start}
@media (max-width:820px){body.v3 .f3v .f-top{grid-template-columns:1fr;gap:34px}}
body.v3 .f3v .f-tag{font:400 26px/1.25 var(--font-display);color:#fff;max-width:22ch;margin:22px 0 0}
body.v3 .f3v .f-h4{font:700 11px/1 var(--font-body);letter-spacing:.2em;text-transform:uppercase;color:rgba(232,237,244,.5);margin:0 0 14px}
body.v3 .f3v .f-contact a,body.v3 .f3v .f-contact span{display:block;color:#fff;text-decoration:none;font:400 16px/1.9 var(--font-body)}
body.v3 .f3v .f-contact a.mail{font-weight:700;border-bottom:1.5px solid var(--v3-coral);display:inline-block;line-height:1.4;margin-bottom:10px}
body.v3 .f3v .f-contact a.book{color:var(--v3-coral);font-weight:700}
body.v3 .f3v .f-contact span{color:rgba(232,237,244,.5)}
body.v3 .f3v .f-links a{display:block;color:var(--v3-text);text-decoration:none;font:400 15px/2.1 var(--font-body)}
body.v3 .f3v .f-links a:hover{color:#fff}
body.v3 .f3v .footer-logo{height:40px;width:auto;display:block;margin:0}
body.v3 .f3v .f-big{font:400 13.4vw/0.86 var(--font-display);letter-spacing:-.04em;color:#fff;white-space:nowrap;opacity:.96;margin:60px 0 26px}
body.v3 .f3v .f-big i{font-style:normal;color:var(--v3-coral)}
body.v3 .f3v .f-legal{display:flex;justify-content:space-between;align-items:center;gap:24px;padding:22px 0 30px;border-top:1px solid var(--v3-line);font:400 12px/1.6 var(--font-body);color:rgba(232,237,244,.5)}
body.v3 .f3v .f-legal a{color:rgba(232,237,244,.5);text-decoration:none;margin-left:22px}
body.v3 .gb-footer.f3v::before{height:2px}

/* ============================================================
   STANDALONE PAGES, Sep 7 2026. The nine pages that carry their own <style> block and never
   loaded site.css: /recut, /proof, /ai-sprint, /apply, /resources (index only), /ai-concierge,
   /call-confirmed, /sprint-booked, /who-runs-this. migrate_v3.py skipped them (no site.css link,
   own footer markup). Each is scoped to body.v3.page-<name>, so nothing here can reach the
   homepage or the shared-stylesheet pages. Shared base first (the two font tokens site.css would
   have supplied, plus footer hygiene against each page's leftover footer{} rules), then one block
   per page. Band chain is the homepage's, in document order. Appended only.
   ============================================================ */
body.v3.page-recut,body.v3.page-proof,body.v3.page-ai-sprint,body.v3.page-apply,body.v3.page-resources,body.v3.page-ai-concierge,body.v3.page-call-confirmed,body.v3.page-sprint-booked,body.v3.page-who-runs-this{--font-display:'Gloock','Cormorant Garamond',Georgia,serif;--font-body:'DM Sans','Helvetica Neue',Arial,sans-serif;--cs-warmgray:#B0AAA8;font-family:var(--font-body)}
/* the G1 footer on a page whose own stylesheet still says footer{...} and footer a{display:block} */
body.v3.page-recut .site-footer.f3v,body.v3.page-proof .site-footer.f3v,body.v3.page-ai-sprint .site-footer.f3v,body.v3.page-apply .site-footer.f3v,body.v3.page-resources .site-footer.f3v,body.v3.page-ai-concierge .site-footer.f3v,body.v3.page-call-confirmed .site-footer.f3v,body.v3.page-sprint-booked .site-footer.f3v,body.v3.page-who-runs-this .site-footer.f3v{border-top:0;font-size:16px;font-weight:400;letter-spacing:normal;text-transform:none;text-align:left;line-height:1.6;margin-top:0}
body.v3.page-recut .f3v .container,body.v3.page-proof .f3v .container,body.v3.page-ai-sprint .f3v .container,body.v3.page-apply .f3v .container,body.v3.page-resources .f3v .container,body.v3.page-ai-concierge .f3v .container,body.v3.page-call-confirmed .f3v .container,body.v3.page-sprint-booked .f3v .container,body.v3.page-who-runs-this .f3v .container{margin:0 auto;width:100%;box-sizing:border-box}
body.v3.page-recut .f3v .f-legal a,body.v3.page-proof .f3v .f-legal a,body.v3.page-ai-sprint .f3v .f-legal a,body.v3.page-apply .f3v .f-legal a,body.v3.page-resources .f3v .f-legal a,body.v3.page-ai-concierge .f3v .f-legal a,body.v3.page-call-confirmed .f3v .f-legal a,body.v3.page-sprint-booked .f3v .f-legal a,body.v3.page-who-runs-this .f3v .f-legal a{display:inline;margin-top:0;padding:0;font-size:12px}
body.v3.page-recut .f3v .f-legal span,body.v3.page-proof .f3v .f-legal span,body.v3.page-ai-sprint .f3v .f-legal span,body.v3.page-apply .f3v .f-legal span,body.v3.page-resources .f3v .f-legal span,body.v3.page-ai-concierge .f3v .f-legal span,body.v3.page-call-confirmed .f3v .f-legal span,body.v3.page-sprint-booked .f3v .f-legal span,body.v3.page-who-runs-this .f3v .f-legal span{display:inline;color:rgba(232,237,244,.5);font-size:12px}
body.v3.page-recut .f3v p,body.v3.page-proof .f3v p,body.v3.page-ai-sprint .f3v p,body.v3.page-apply .f3v p,body.v3.page-resources .f3v p,body.v3.page-ai-concierge .f3v p,body.v3.page-call-confirmed .f3v p,body.v3.page-sprint-booked .f3v p,body.v3.page-who-runs-this .f3v p{margin-bottom:0}
body.v3.page-recut .f3v .footer-logo,body.v3.page-proof .f3v .footer-logo,body.v3.page-ai-sprint .f3v .footer-logo,body.v3.page-apply .f3v .footer-logo,body.v3.page-resources .f3v .footer-logo,body.v3.page-ai-concierge .f3v .footer-logo,body.v3.page-call-confirmed .f3v .footer-logo,body.v3.page-sprint-booked .f3v .footer-logo,body.v3.page-who-runs-this .f3v .footer-logo{opacity:1;filter:none;border-radius:0}
/* h1 on these pages is a page title, not the homepage's 96px smoke moment; h2 sits in a 760-820px reading column */
body.v3.page-proof .hero h1,body.v3.page-ai-concierge .hero h1,body.v3.page-call-confirmed .hero h1,body.v3.page-who-runs-this .hero h1{font-size:clamp(38px,5vw,60px);line-height:1.05;letter-spacing:-.02em;text-shadow:none}
body.v3.page-recut h2,body.v3.page-proof h2,body.v3.page-ai-sprint h2,body.v3.page-ai-concierge h2,body.v3.page-call-confirmed h2,body.v3.page-sprint-booked h2,body.v3.page-who-runs-this h2{font-size:clamp(30px,3.4vw,44px);line-height:1.1;letter-spacing:-.02em}

/* ---- /recut ---- Midnight hero (the photo bleeds into it, like the homepage smoke), then the chain. */
body.v3.page-recut{background:#0A0F1E}
body.v3.page-recut .mark,body.v3.page-recut .price,body.v3.page-recut .tier .amt,body.v3.page-recut ol.q li::before{font-family:var(--font-display)}
body.v3.page-recut ol.q li::before{color:var(--v3-coral)}
body.v3.page-recut .splitL{background:radial-gradient(120% 90% at 8% 0%,rgba(14,67,130,.55) 0%,rgba(10,15,30,0) 62%),#0A0F1E}
body.v3.page-recut .splitR{background-color:#0A0F1E}
body.v3.page-recut .site-nav-real .links a,body.v3.page-recut .sitelinks a{color:var(--v3-text)}
body.v3.page-recut .site-nav-real .loc,body.v3.page-recut .lab,body.v3.page-recut .creds,body.v3.page-recut table td:first-child{color:rgba(232,237,244,.6)}
body.v3.page-recut .lab.a{color:var(--v3-coral)}
body.v3.page-recut section{border-top:0}
body.v3.page-recut section:nth-of-type(1){background:linear-gradient(180deg,#0A0F1E 0%,#3B001A 14%,#4A2A7A 100%)}
body.v3.page-recut section:nth-of-type(2){background:linear-gradient(180deg,#4A2A7A 0%,#2A2060 100%)}
body.v3.page-recut section:nth-of-type(3){background:linear-gradient(180deg,#2A2060 0%,#0e4382 100%)}
body.v3.page-recut section:nth-of-type(4){background:linear-gradient(180deg,#0e4382 0%,#1d5cc8 100%)}
body.v3.page-recut section:nth-of-type(5){background:linear-gradient(180deg,#1d5cc8 0%,#2A3F7E 100%)}
body.v3.page-recut section:nth-of-type(6){background:linear-gradient(180deg,#2A3F7E 0%,#4A2A7A 100%)}
body.v3.page-recut section:nth-of-type(7){background:linear-gradient(180deg,#4A2A7A 0%,#2A2060 100%)}
body.v3.page-recut .offer,body.v3.page-recut .tier,body.v3.page-recut .fits{background:var(--v3-glass);border:1px solid var(--v3-line);border-radius:6px;backdrop-filter:blur(6px)}
body.v3.page-recut .offer::before{background:var(--v3-coral)}
body.v3.page-recut table td,body.v3.page-recut .notlist{border-color:var(--v3-line)}
body.v3.page-recut .underline-note{border-left-color:var(--v3-coral)}
body.v3.page-recut .btn.ghost{background:transparent;border-color:#fff;color:#fff}
body.v3.page-recut .btn.ghost:hover{background:rgba(255,255,255,.1);border-color:#fff}
body.v3.page-recut .tier .amt span{color:rgba(232,237,244,.6)!important}

/* ---- /proof ---- the page's own tokens are remapped, so every panel and rule follows without touching markup. */
body.v3.page-proof{background:#0A0F1E;font-weight:300;--bg:#0A0F1E;--panel:rgba(255,255,255,.06);--edge:rgba(255,255,255,.14);--faint:rgba(232,237,244,.62);--dim:rgba(232,237,244,.84);--line:rgba(255,255,255,.3)}
body.v3.page-proof .brand,body.v3.page-proof .serif,body.v3.page-proof .stat .n,body.v3.page-proof #offer table td.rate span{font-family:var(--font-display)}
body.v3.page-proof nav{background:#3B001A;border-bottom:1px solid rgba(255,255,255,.1)}
body.v3.page-proof nav a{color:#fff}
body.v3.page-proof .hero{background:linear-gradient(180deg,#3B001A 0%,#4A2A7A 100%)}
body.v3.page-proof section{border-top:0}
body.v3.page-proof section:nth-of-type(1){background:linear-gradient(180deg,#4A2A7A 0%,#2A2060 100%)}
body.v3.page-proof section:nth-of-type(2){background:linear-gradient(180deg,#2A2060 0%,#0e4382 100%)}
body.v3.page-proof section:nth-of-type(3){background:linear-gradient(180deg,#0e4382 0%,#1d5cc8 100%)}
body.v3.page-proof section:nth-of-type(4){background:linear-gradient(180deg,#1d5cc8 0%,#2A3F7E 100%)}
body.v3.page-proof section:nth-of-type(5){background:linear-gradient(180deg,#2A3F7E 0%,#4A2A7A 100%)}
body.v3.page-proof section:nth-of-type(6){background:linear-gradient(180deg,#4A2A7A 0%,#2A2060 100%)}
body.v3.page-proof section:nth-of-type(7){background:linear-gradient(180deg,#2A2060 0%,#0e4382 100%)}
body.v3.page-proof .stat,body.v3.page-proof .verify,body.v3.page-proof .slots{backdrop-filter:blur(6px)}
body.v3.page-proof .kicker{color:var(--v3-coral)}

/* ---- /ai-sprint ---- no site nav on this page (a wordmark only); left as found. Photo sections keep their image, the veil is the band. */
body.v3.page-ai-sprint{background:#0A0F1E;font-weight:300;--panel:rgba(255,255,255,.06);--panel2:rgba(255,255,255,.06)}
body.v3.page-ai-sprint .felt li,body.v3.page-ai-sprint .row .num,body.v3.page-ai-sprint .math .q,body.v3.page-ai-sprint .pg h4,body.v3.page-ai-sprint .pull,body.v3.page-ai-sprint .qa h4,body.v3.page-ai-sprint .price,body.v3.page-ai-sprint .noshill .big{font-family:var(--font-display)}
body.v3.page-ai-sprint .kicker,body.v3.page-ai-sprint .fld input,body.v3.page-ai-sprint .opt span{font-family:var(--font-body)}
body.v3.page-ai-sprint section:nth-of-type(1){background:linear-gradient(180deg,#3B001A 0%,#4A2A7A 100%)}
body.v3.page-ai-sprint section:nth-of-type(1)::after{background:linear-gradient(180deg,rgba(59,0,26,.93),rgba(74,42,122,.93))}
body.v3.page-ai-sprint section:nth-of-type(2){background:linear-gradient(180deg,#4A2A7A 0%,#2A2060 100%)}
body.v3.page-ai-sprint section:nth-of-type(3){background:linear-gradient(180deg,#2A2060 0%,#0e4382 100%)}
body.v3.page-ai-sprint section:nth-of-type(4){background:linear-gradient(180deg,#0e4382 0%,#1d5cc8 100%)}
body.v3.page-ai-sprint section:nth-of-type(4)::after{background:linear-gradient(180deg,rgba(14,67,130,.93),rgba(29,92,200,.93))}
body.v3.page-ai-sprint section:nth-of-type(5){background:linear-gradient(180deg,#1d5cc8 0%,#2A3F7E 100%)}
body.v3.page-ai-sprint section:nth-of-type(6){background:linear-gradient(180deg,#2A3F7E 0%,#4A2A7A 100%)}
body.v3.page-ai-sprint section:nth-of-type(7){background:linear-gradient(180deg,#4A2A7A 0%,#2A2060 100%)}
body.v3.page-ai-sprint section:nth-of-type(8){background:linear-gradient(180deg,#2A2060 0%,#0e4382 100%)}
body.v3.page-ai-sprint .faq{background:var(--v3-glass);border:1px solid var(--v3-line);border-radius:6px;box-shadow:none;backdrop-filter:blur(6px)}
body.v3.page-ai-sprint .faq:after{display:none}
body.v3.page-ai-sprint .faq:before{border-radius:6px 6px 0 0}
body.v3.page-ai-sprint .fwrap{border-radius:6px;border-color:var(--v3-line);backdrop-filter:blur(6px)}
body.v3.page-ai-sprint .lab,body.v3.page-ai-sprint .credit,body.v3.page-ai-sprint .fine,body.v3.page-ai-sprint .note{color:rgba(232,237,244,.6)}
body.v3.page-ai-sprint .lab.a{color:var(--v3-coral)}
body.v3.page-ai-sprint .no li{color:rgba(232,237,244,.5)}

/* ---- /apply ---- one-screen ladder: the whole page is one fixed band. No nav on this page (wordmark only); left as found. */
body.v3.page-apply{background:linear-gradient(165deg,#3B001A 0%,#4A2A7A 30%,#2A2060 62%,#0e4382 100%);background-attachment:fixed}
body.v3.page-apply input,body.v3.page-apply .opt,body.v3.page-apply .cta,body.v3.page-apply .back{font-family:var(--font-body)}
body.v3.page-apply .cta{background:var(--v3-red);border:1.5px solid var(--v3-red);border-radius:999px;box-shadow:none;font-size:13px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;padding:16px 26px}
body.v3.page-apply .cta:hover:not(:disabled){background:var(--v3-coral);border-color:var(--v3-coral)}
body.v3.page-apply .opt{border-radius:6px;background:var(--v3-glass);border-color:var(--v3-line)}
body.v3.page-apply .eyebrow{color:#fff!important;letter-spacing:.2em;font-size:12.5px}
body.v3.page-apply .capture{border-radius:6px}
body.v3.page-apply .topbar .help{color:rgba(232,237,244,.6)}

/* ---- /resources (index only; the 99 article pages are untouched) ---- */
body.v3.page-resources{color:#fff;background:linear-gradient(180deg,#1d5cc8 0,#1d5cc8 640px,#2A3F7E 2200px,#4A2A7A 4800px,#2A2060 100%)}
body.v3.page-resources > div:first-child a{font-family:var(--font-body)!important}
body.v3.page-resources .resources-hero{background:linear-gradient(180deg,#0e4382 0%,#1d5cc8 100%)}
body.v3.page-resources .resources-hero h1{font-weight:400;letter-spacing:-.025em}
body.v3.page-resources .resources-hero .stat,body.v3.page-resources .card__rt{font-family:var(--font-body);letter-spacing:.02em}
body.v3.page-resources .filter-bar{background:rgba(10,15,30,.86);backdrop-filter:blur(10px);border-bottom:1px solid var(--v3-line)}
body.v3.page-resources .filter__label{color:rgba(232,237,244,.55)}
body.v3.page-resources .chip{background:transparent;color:#fff;border:1px solid rgba(255,255,255,.35);font-family:var(--font-body)}
body.v3.page-resources .chip:hover{border-color:#fff}
body.v3.page-resources .chip--active{background:var(--v3-red);border-color:var(--v3-red);color:#fff}
body.v3.page-resources .section-heading{font-size:38px;color:#fff;letter-spacing:-.02em}
body.v3.page-resources .section-sub{color:rgba(232,237,244,.7)}
body.v3.page-resources .card{background:var(--v3-glass);border:1px solid var(--v3-line);border-radius:6px;backdrop-filter:blur(6px)}
body.v3.page-resources .card:hover{border-color:rgba(255,255,255,.4);box-shadow:none}
body.v3.page-resources .card--featured{background:rgba(255,255,255,.09);border:1px solid var(--v3-coral)}
body.v3.page-resources .card__title{font-size:22px;line-height:1.2;letter-spacing:-.01em}
body.v3.page-resources .card--featured .card__title{font-size:26px}
body.v3.page-resources .card__title a{color:#fff}
body.v3.page-resources .card__title a:hover{color:var(--v3-coral)}
body.v3.page-resources .card__teaser{color:var(--v3-text)}
body.v3.page-resources .card__foot{border-top:1px solid var(--v3-line);color:rgba(232,237,244,.55)}
body.v3.page-resources .card__meta{color:var(--v3-coral)}
body.v3.page-resources .card__rt{color:rgba(232,237,244,.55)}
body.v3.page-resources .badge--pending{background:rgba(255,255,255,.1);color:rgba(232,237,244,.7)}
body.v3.page-resources .empty,body.v3.page-resources #noresults{color:rgba(232,237,244,.6)}

/* ---- /ai-concierge ---- the page's amber is remapped to the system coral (ADR-0002 has no gold). No site nav (wordmark only); left as found. */
body.v3.page-ai-concierge{background:#0A0F1E;font-weight:300;--amber:#ee5a73;--field:#0A0F1E;--panel:rgba(255,255,255,.06);--panel2:rgba(255,255,255,.06)}
body.v3.page-ai-concierge .hstat b,body.v3.page-ai-concierge .row .num,body.v3.page-ai-concierge .cell h4,body.v3.page-ai-concierge td.p,body.v3.page-ai-concierge .qa h4{font-family:var(--font-display)}
body.v3.page-ai-concierge .hero{background:linear-gradient(180deg,#3B001A 0%,#4A2A7A 100%)}
body.v3.page-ai-concierge section:nth-of-type(1){background:linear-gradient(180deg,#4A2A7A 0%,#2A2060 100%)}
body.v3.page-ai-concierge section:nth-of-type(2){background:linear-gradient(180deg,#2A2060 0%,#0e4382 100%)}
body.v3.page-ai-concierge section:nth-of-type(3){background:linear-gradient(180deg,#0e4382 0%,#1d5cc8 100%)}
body.v3.page-ai-concierge section:nth-of-type(4){background:linear-gradient(180deg,#1d5cc8 0%,#2A3F7E 100%)}
body.v3.page-ai-concierge section:nth-of-type(5){background:linear-gradient(180deg,#2A3F7E 0%,#4A2A7A 100%)}
body.v3.page-ai-concierge section:nth-of-type(6){background:linear-gradient(180deg,#4A2A7A 0%,#2A2060 100%)}
body.v3.page-ai-concierge section:nth-of-type(7){background:linear-gradient(180deg,#2A2060 0%,#0e4382 100%)}
body.v3.page-ai-concierge section:nth-of-type(8){background:linear-gradient(180deg,#0e4382 0%,#1d5cc8 100%)}
body.v3.page-ai-concierge .box{background:var(--v3-glass);border-radius:0 6px 6px 0}
body.v3.page-ai-concierge tr.now td{background:rgba(238,90,115,.08)}
body.v3.page-ai-concierge .cta a.alt{border-bottom-color:rgba(238,90,115,.5)}
body.v3.page-ai-concierge .lab,body.v3.page-ai-concierge .hstat span,body.v3.page-ai-concierge .fine,body.v3.page-ai-concierge th{color:rgba(232,237,244,.6)}
body.v3.page-ai-concierge .lab.a{color:var(--v3-coral)}

/* ---- /call-confirmed ---- was an off-white page; the three sections have no wrapper, so the body carries the chain. */
html:has(body.v3.page-call-confirmed){background:#0A0F1E}
body.v3.page-call-confirmed{min-height:100vh;color:#fff;background:linear-gradient(180deg,#3B001A 0%,#4A2A7A 32%,#2A2060 64%,#0e4382 100%)}
body.v3.page-call-confirmed .hero{background:transparent}
body.v3.page-call-confirmed .step-card{background:var(--v3-glass);border:1px solid var(--v3-line);border-radius:6px;box-shadow:none;backdrop-filter:blur(6px)}
body.v3.page-call-confirmed .step-n{background:var(--v3-red)}
body.v3.page-call-confirmed .check-row{color:#fff}
body.v3.page-call-confirmed .vsl-eyebrow,body.v3.page-call-confirmed .steps-eyebrow{color:var(--v3-coral)}
body.v3.page-call-confirmed .hero h1{font-weight:400}
body.v3.page-call-confirmed .why-section{padding-bottom:88px}

/* ---- /sprint-booked ---- short page, no wrappers around the sections either: the body carries the chain. No site nav (wordmark only); left as found. The white calendar frame stays white because the booking widget inside it is white. */
body.v3.page-sprint-booked{min-height:100vh;font-weight:300;background:linear-gradient(180deg,#3B001A 0%,#4A2A7A 24%,#2A2060 58%,#0e4382 100%)}
body.v3.page-sprint-booked .r .n{font-family:var(--font-display)}
body.v3.page-sprint-booked .top{border-bottom:0}
body.v3.page-sprint-booked .after{border-top:0}
body.v3.page-sprint-booked .frame{border-radius:6px}
body.v3.page-sprint-booked .lab{color:var(--v3-coral)}
body.v3.page-sprint-booked .help{color:rgba(232,237,244,.6)}

/* ---- /who-runs-this ---- No site nav (wordmark only); left as found. */
body.v3.page-who-runs-this{background:#0A0F1E;font-weight:300;--panel:rgba(255,255,255,.06)}
body.v3.page-who-runs-this .top{background:#3B001A}
body.v3.page-who-runs-this .hero{background:linear-gradient(180deg,#3B001A 0%,#4A2A7A 100%);border-bottom:0}
body.v3.page-who-runs-this section{border-bottom:0}
body.v3.page-who-runs-this section:nth-of-type(1){background:linear-gradient(180deg,#4A2A7A 0%,#2A2060 100%)}
body.v3.page-who-runs-this section:nth-of-type(2){background:linear-gradient(180deg,#2A2060 0%,#0e4382 100%)}
body.v3.page-who-runs-this section:nth-of-type(3){background:linear-gradient(180deg,#0e4382 0%,#1d5cc8 100%)}
body.v3.page-who-runs-this section:nth-of-type(4){background:linear-gradient(180deg,#1d5cc8 0%,#2A3F7E 100%)}
body.v3.page-who-runs-this section:nth-of-type(5){background:linear-gradient(180deg,#2A3F7E 0%,#4A2A7A 100%)}
body.v3.page-who-runs-this section:nth-of-type(6){background:linear-gradient(180deg,#4A2A7A 0%,#2A2060 100%)}
body.v3.page-who-runs-this .card{border-radius:6px;border-color:var(--v3-line);backdrop-filter:blur(6px)}
body.v3.page-who-runs-this .row .k,body.v3.page-who-runs-this .lab{color:rgba(232,237,244,.6)}
body.v3.page-who-runs-this .lab.a{color:var(--v3-coral)}

/* ---- standalone pages, after the first full render (Sep 7): three fixes ---- */
/* /ai-sprint: its own .book{padding:20px 0 132px} (the booking section) landed on the footer's "Book a call" link, which shares the class name */
body.v3.page-ai-sprint .f3v .f-contact a.book{padding:0}
/* /apply: a fixed-attachment gradient paints one viewport only; scroll attachment covers the whole body, footer included */
body.v3.page-apply{background-attachment:scroll}
/* /ai-concierge: the "Read what the Sprint is" link sits outside .cta, had no colour rule, and rendered browser-default blue */
body.v3.page-ai-concierge a.alt{color:var(--v3-coral);text-decoration:none;border-bottom:1px solid rgba(238,90,115,.5)}

/* ============ Sep 7 12:5x, About page fixes (Kyle's three notes) ============ */
/* 1. the seam: the floating header was a hard-edged solid bar. Fade it instead. */
body.v3 .site-header.solid,body.v3 .site-header.is-floating{background:linear-gradient(180deg,rgba(10,15,30,.94) 0%,rgba(10,15,30,.72) 60%,rgba(10,15,30,0) 100%);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);box-shadow:none;border-bottom:0}
/* 2. the five disciplines: title on its own line, large, description below; one column */
body.v3 .gb-about-values .values-list{grid-template-columns:1fr!important;max-width:860px;margin-left:auto;margin-right:auto;perspective:none}
body.v3 .gb-about-values .values-row{display:block;padding:30px 0 28px;border-bottom:1px solid var(--v3-line);position:relative;opacity:1!important;transform:none!important}
body.v3 .gb-about-values .values-row h3{display:block;font:400 clamp(30px,3.4vw,46px)/1.05 var(--font-display);letter-spacing:-.025em;color:#fff;margin:0 0 12px;padding-left:0}
body.v3 .gb-about-values .values-row h3::before{content:counter(v3d,decimal-leading-zero) "  ";counter-increment:v3d;font:700 12px/1 var(--font-body);letter-spacing:.16em;color:var(--v3-coral);vertical-align:.7em;margin-right:6px}
body.v3 .gb-about-values .values-list{counter-reset:v3d}
body.v3 .gb-about-values .values-row p{font:300 17.5px/1.6 var(--font-body);color:var(--v3-text);max-width:62ch;margin:0}
/* the page's own about-values rules are more specific; win them outright */
body.v3 .gb-about-values .values-row{display:block!important;grid-template-columns:none!important;gap:0!important;padding:30px 0 28px!important}
body.v3 .gb-about-values .values-row h3{color:#fff!important;font-size:clamp(30px,3.4vw,46px)!important;line-height:1.05!important;margin:0 0 12px!important;width:auto!important;border:0!important;padding:0!important}
body.v3 .gb-about-values .values-row p{color:var(--v3-text)!important;font-size:17.5px!important;max-width:62ch!important;margin:0!important}
body.v3 .gb-about-values .values-row::before,body.v3 .gb-about-values .values-row .num{display:none!important}

/* Sep 7 2026: ADR-0002 has no teal or cyan. Under Bands the two site.css accent variables that carried them
   (--cs-teal #4AB8A0, --cs-text-highlight #22dde0) resolve to the coral accent, so every remaining eyebrow,
   highlight and callout strong on the permanent pages lands on palette without per-instance edits. */
body.v3{--cs-teal:#ee5a73;--cs-text-highlight:#ee5a73}
body.v3 .callout-teal strong{color:#ee5a73}
body.v3 .director-close::before,body.v3 .hero p.hero-callout::before{background:#ee5a73}
body.v3 .hero p.hero-callout{color:#ee5a73}
body.v3.page-recut .tier .amt .permo{font-family:var(--font-body);font-size:.95rem;font-weight:500;letter-spacing:.02em;color:rgba(232,237,244,.6)}
/* Sep 7 2026: the hero photo's top-left corner is a reflector moire (the brightest object on the page at 1440).
   Zoomed right crop keeps the RED, the monitor and the treatment-bed bokeh and pushes the corner out of frame. */
body.v3.page-recut .splitR{background-size:auto 125%;background-position:100% 45%}
