/* manrope 400 latin-ext */
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/fonts/manrope-400-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;
}
/* manrope 400 latin */
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/fonts/manrope-400-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;
}
/* manrope 600 latin-ext */
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/fonts/manrope-600-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;
}
/* manrope 600 latin */
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/fonts/manrope-600-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;
}
/* manrope 700 latin-ext */
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(/fonts/manrope-700-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;
}
/* manrope 700 latin */
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(/fonts/manrope-700-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;
}
/* onest 600 latin-ext */
@font-face {
  font-family: 'Onest';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/fonts/onest-600-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;
}
/* onest 600 latin */
@font-face {
  font-family: 'Onest';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/fonts/onest-600-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;
}
/* onest 700 latin-ext */
@font-face {
  font-family: 'Onest';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(/fonts/onest-700-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;
}
/* onest 700 latin */
@font-face {
  font-family: 'Onest';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(/fonts/onest-700-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;
}
/* onest 800 latin-ext */
@font-face {
  font-family: 'Onest';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url(/fonts/onest-800-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;
}
/* onest 800 latin */
@font-face {
  font-family: 'Onest';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url(/fonts/onest-800-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;
}
/* kathrynkellner.com — main stylesheet · "Verdict" identity (ADR-0005)
   Near-black + ivory + gold, with parchment light bands for conversion sections.
   Brand tokens and laws: docs/BRAND.md. Do not add colors or fonts outside :root. */

:root{
  /* dark register */
  --canvas:#0A0A0C; --panel:#131210; --panel-2:#1A1815;
  --ink:#EFE9DC; --ink-2:#CFC8B6; --ink-3:#8F897B;
  /* the accent: gold. Kathryn's only accent; kin to Entend amber #E8A13C */
  --gold:#E8A317; --gold-deep:#B5790C;
  /* light register (parchment bands) */
  --paper:#F4EEE1; --paper-2:#FBF7EC; --paper-ink:#1A1712; --paper-ink-2:#57503F; --paper-line:#E3DAC5;
  --hairline:rgba(239,233,220,.10);
  /* type — Onest is Kathryn's voice; Manrope is the family body (ADR-0002) */
  --serif:"Onest","Manrope",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  --sans:"Manrope",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{background:var(--canvas);color:var(--ink);font-family:var(--sans);line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:hidden}
img{max-width:100%;display:block}
a{color:inherit}
.wrap{max-width:1180px;margin:0 auto;padding:0 24px}
.eyebrow{font-size:11px;letter-spacing:.24em;text-transform:uppercase;color:var(--ink-3);font-weight:600}
h1,h2,h3{font-family:var(--serif);font-weight:800;line-height:1.06;letter-spacing:-.03em}
h2{font-size:clamp(28px,4vw,44px);margin:14px 0 18px}
section{padding:clamp(64px,9vw,110px) 0;position:relative}
/* Reveal animation is opt-in via the html.js class: without JS the page is
   fully visible (progressive enhancement, ARCHITECTURE.md §4). */
.js .fade{opacity:0;transform:translateY(18px);transition:opacity .7s ease,transform .7s ease}
.js .fade.in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.js .fade{opacity:1;transform:none;transition:none}}

/* NAV */
nav{position:fixed;top:0;left:0;right:0;z-index:50;background:rgba(10,10,12,.74);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid transparent;transition:border-color .3s}
nav.scrolled{border-bottom-color:var(--hairline)}
.nav-inner{display:flex;align-items:center;justify-content:space-between;height:68px}
.brand{font-family:var(--serif);font-size:18px;font-weight:800;letter-spacing:-.01em;text-decoration:none}
.brand span{color:var(--ink-3)}
.nav-links{display:flex;gap:28px;align-items:center}
.nav-links a{text-decoration:none;font-size:14px;color:var(--ink-2);padding:12px 2px}
.nav-links a:hover{color:var(--ink)}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:12px 26px;border-radius:10px;font-size:15px;font-weight:700;text-decoration:none;cursor:pointer;border:0;transition:transform .15s ease,background .2s,box-shadow .2s}
.btn:active{transform:scale(.985)}
.btn-primary{background:var(--gold);color:#0A0A0C}
.btn-primary:hover{background:#F5B231;box-shadow:0 6px 30px rgba(232,163,23,.25)}
.btn-ghost{background:transparent;color:var(--ink);border:1px solid rgba(239,233,220,.25)}
.btn-ghost:hover{border-color:var(--gold)}
.nav-cta{min-height:42px;padding:9px 20px}
.hamburger{display:none;background:none;border:0;color:var(--ink);font-size:26px;min-width:48px;min-height:48px;cursor:pointer}

/* HERO
   LAW 1 (RESPONSIVE_LAWS.md): type never touches the face at any viewport.
   Enforcement is geometric, not cosmetic: the photo is confined to a right-side
   panel starting at --photo-left, so the face's screen position is a function of
   a known box instead of the full viewport. The text column can therefore never
   reach it. Verify with scripts/check-face-gap.sh after ANY hero change. */
header{position:relative;min-height:92vh;display:flex;align-items:center;padding:120px 0 60px;overflow:hidden;--photo-left:38%}
/* header is a flex container, so .wrap is a flex item and would shrink to its
   content and drift toward centre (this is what put type on her face). Force it
   to behave like the block wrapper it is on every other section. */
header > .wrap{width:100%;flex:1 1 auto}
.hero-photo{position:absolute;top:0;right:0;bottom:0;left:var(--photo-left);z-index:0}
/* <picture> wrappers must pass sizing through, or the img's height:100% collapses */
.hero-photo picture,.figure picture,.serve-photo picture{display:block;width:100%;height:100%}
.hero-photo img{width:100%;height:100%;object-fit:cover;object-position:55% 22%}
/* Opaque canvas at the panel's left edge hides the seam and keeps the full-bleed look */
.hero-photo::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#0A0A0C 0%,rgba(10,10,12,.9) 16%,rgba(10,10,12,.5) 46%,rgba(10,10,12,.22) 100%),linear-gradient(0deg,rgba(10,10,12,.92) 0%,rgba(10,10,12,0) 34%)}
.hero-inner{position:relative;z-index:1;max-width:640px}
.hero-inner h1{font-size:clamp(36px,5.6vw,62px);margin:18px 0 0}
/* The gold hairline: Kathryn's mark. One per page (BRAND.md §3). */
.triband{height:3px;width:132px;margin:26px 0;background:linear-gradient(90deg,var(--gold-deep),var(--gold));border-radius:2px}
.hero-sub{font-size:clamp(16px,2vw,19px);color:var(--ink-2);max-width:54ch}
.hero-ctas{display:flex;gap:14px;margin-top:34px;flex-wrap:wrap}
.hero-proof{margin-top:30px;font-size:13px;color:var(--ink-3);letter-spacing:.02em}
.hero-proof b{color:var(--ink-2);font-weight:600}

/* TRUST BAR */
.trust{border-top:1px solid var(--hairline);border-bottom:1px solid var(--hairline);padding:26px 0;background:var(--panel)}
.trust .wrap{display:flex;flex-wrap:wrap;gap:10px 34px;align-items:center;justify-content:center}
.trust p{width:100%;text-align:center;margin-bottom:8px}
.trust span{font-family:var(--serif);font-weight:600;font-size:14px;letter-spacing:-.01em;color:var(--ink-3);white-space:nowrap}
.trust-note{width:100%;text-align:center;margin-top:12px;font-size:12px;color:var(--ink-3);letter-spacing:.04em}

/* OUTCOMES (dark) */
.outcomes h2{max-width:20ch}
.served{font-family:var(--serif);font-weight:600;font-size:clamp(19px,2.6vw,25px);line-height:1.5;letter-spacing:-.015em;color:var(--ink);max-width:36ch}
.served em{font-style:normal;color:var(--gold)}
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:52px}
.stat{background:var(--panel);border:1px solid var(--hairline);border-radius:14px;padding:26px 22px}
.stat b{font-family:var(--serif);font-weight:800;font-size:34px;letter-spacing:-.02em;display:block;line-height:1;margin-bottom:8px}
.stat:nth-child(odd) b{color:var(--gold)}
.stat:nth-child(even) b{color:var(--ink)}
.stat span{font-size:13.5px;color:var(--ink-3)}

/* KEYNOTES (parchment band) */
.keynotes{background:var(--paper);color:var(--paper-ink)}
.keynotes h2,.keynotes h3{color:var(--paper-ink)}
.keynotes .eyebrow{color:var(--gold-deep)}
.split{display:grid;grid-template-columns:1.05fr .95fr;gap:56px;align-items:center}
.figure{border-radius:16px;overflow:hidden;border:1px solid var(--paper-line);box-shadow:0 30px 80px rgba(26,23,18,.18)}
.figure img{width:100%;height:100%;object-fit:cover}
.talk{border-top:1px solid var(--paper-line);padding:26px 0}
.talk:last-of-type{border-bottom:1px solid var(--paper-line)}
.talk h3{font-size:22px;margin-bottom:8px}
.talk h3 i{font-style:normal;font-size:13px;font-family:var(--sans);font-weight:700;letter-spacing:.14em;text-transform:uppercase;display:block;margin-bottom:8px;color:var(--gold-deep)}
.talk p{color:var(--paper-ink-2);font-size:15.5px}
.talk .for{margin-top:10px;font-size:13px;color:#8B8471}
.cle-note{margin-top:26px;font-size:14px;color:var(--paper-ink-2);border-left:2px solid var(--gold);padding-left:14px}

/* SERVE (dark) */
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:44px}
.card{background:var(--panel);border:1px solid var(--hairline);border-radius:16px;padding:30px 26px;display:flex;flex-direction:column;gap:12px}
.card h3{font-size:20px}
.card .pain{font-size:13.5px;color:var(--ink-3);font-style:italic}
.card p{font-size:15px;color:var(--ink-2);flex:1}
.card a{font-size:14px;font-weight:700;text-decoration:none;color:var(--gold)}
.serve-photo{margin-top:56px;border-radius:16px;overflow:hidden;border:1px solid var(--hairline)}
.serve-photo img{width:100%;max-height:420px;object-fit:cover;object-position:50% 28%}
.caption{font-size:12.5px;color:var(--ink-3);margin-top:10px;text-align:right}

/* METHOD (parchment band) */
.method{background:var(--paper);color:var(--paper-ink)}
.method h2{color:var(--paper-ink)}
.method .eyebrow{color:var(--gold-deep)}
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:44px}
.step{border:1px solid var(--paper-line);border-radius:16px;padding:28px 24px;background:var(--paper-2)}
.step b{font-family:var(--serif);font-weight:700;font-size:19px;letter-spacing:-.015em;display:block;margin-bottom:10px;color:var(--paper-ink)}
.step p{font-size:14.5px;color:var(--paper-ink-2)}
.limits{margin-top:38px;font-family:var(--serif);font-weight:600;font-size:17px;letter-spacing:-.01em;color:var(--paper-ink-2);border:1px solid var(--paper-line);border-left:3px solid var(--gold);border-radius:14px;padding:22px 26px;background:var(--paper-2)}
.limits b{color:var(--paper-ink)}
/* Video: the method section's one emphasized element (BRAND.md §3) */
.video-block{margin-top:52px}
.video-eyebrow{color:var(--gold-deep);margin-bottom:14px}
.video-frame{position:relative;aspect-ratio:16/9;border-radius:16px;overflow:hidden;border:1px solid var(--paper-line);box-shadow:0 30px 80px rgba(26,23,18,.20);background:var(--canvas)}
.video-frame iframe{position:absolute;inset:0;width:100%;height:100%;border:0;display:block}
.video-caption{margin-top:12px;font-size:13px;color:var(--paper-ink-2)}

/* ABOUT (dark) */
.about .split{align-items:start}
.about .figure{border-color:var(--hairline);box-shadow:0 30px 80px rgba(0,0,0,.5)}
.about p{color:var(--ink-2);margin-bottom:16px;font-size:16px}
.creds{margin-top:22px;display:grid;gap:8px;font-size:14px;color:var(--ink-3)}
.creds li{list-style:none;padding-left:18px;position:relative}
.creds li::before{content:"·";position:absolute;left:0;color:var(--gold)}

/* GALLERY QUOTES (dark) */
.gallery blockquote{font-family:var(--serif);font-weight:600;font-size:clamp(19px,2.4vw,24px);line-height:1.5;letter-spacing:-.015em;max-width:44ch;margin:0 0 18px}
.gallery cite{display:block;font-style:normal;font-family:var(--sans);font-size:13.5px;color:var(--ink-3);margin-bottom:44px}
.refs{font-size:14.5px;color:var(--ink-2);border-top:1px solid var(--hairline);padding-top:24px;max-width:60ch}

/* ENTEND (dark panel; the Related Company link) */
.entend{background:var(--panel)}
.entend .split{align-items:center}
.entend .figure{border-color:var(--hairline);box-shadow:0 30px 80px rgba(0,0,0,.5)}
.entend p{color:var(--ink-2);margin-bottom:16px}
.entend .tag{display:inline-block;font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--gold);border:1px solid rgba(232,163,23,.4);padding:6px 12px;border-radius:99px;margin-bottom:16px}

/* FAQ (parchment band) */
.faq{background:var(--paper);color:var(--paper-ink)}
.faq h2{color:var(--paper-ink)}
.faq .eyebrow{color:var(--gold-deep)}
.faq details{border-top:1px solid var(--paper-line)}
.faq details:last-of-type{border-bottom:1px solid var(--paper-line)}
.faq summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:20px;padding:22px 4px;font-family:var(--serif);font-weight:700;font-size:17px;letter-spacing:-.015em;min-height:48px;color:var(--paper-ink)}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";font-size:24px;color:var(--gold-deep);transition:transform .2s}
.faq details[open] summary::after{transform:rotate(45deg)}
.faq details p{padding:0 4px 22px;color:var(--paper-ink-2);font-size:15.5px;max-width:70ch}

/* BOOK (dark) */
.book{background:var(--canvas)}
.book .split{gap:64px;align-items:start}
.book h2{max-width:16ch}
.book .lead{color:var(--ink-2);max-width:46ch}
.contact{margin-top:26px;font-size:15px;color:var(--ink-2);display:grid;gap:6px}
.contact a{color:var(--ink);text-decoration:none;border-bottom:1px solid rgba(232,163,23,.5)}
form{display:grid;gap:14px}
.row2{display:grid;grid-template-columns:1fr 1fr;gap:14px}
label{font-size:12.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3);display:grid;gap:7px}
input,select,textarea{width:100%;min-height:48px;background:var(--panel);border:1px solid rgba(239,233,220,.16);border-radius:10px;color:var(--ink);padding:12px 14px;font-size:15px;font-family:var(--sans)}
textarea{min-height:110px;resize:vertical}
input:focus,select:focus,textarea:focus{outline:none;border-color:var(--gold)}
.form-ok{display:none;background:rgba(232,163,23,.1);border:1px solid rgba(232,163,23,.45);color:var(--ink);border-radius:10px;padding:16px;font-size:15px}
.hp{position:absolute;left:-9999px;top:-9999px} /* honeypot field, invisible to humans */

footer{padding:44px 0 60px;border-top:1px solid var(--hairline)}
footer .wrap{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;font-size:13.5px;color:var(--ink-3)}
footer a{color:var(--ink-2);text-decoration:none}

/* ===== RESPONSIVE MODES (docs/RESPONSIVE_LAWS.md) =====
   Overlay mode ≥901px: text left third, face right third, 8vw gap (LAW 1).
   Stacked mode ≤900px: photo band + text on canvas; overlay forbidden. */

/* The awkward middle: keep the face gap by stepping type down first (LAW 1) */
@media (min-width:901px) and (max-width:1240px){
  .hero-inner{max-width:520px}
  .hero-inner h1{font-size:clamp(34px,4.4vw,48px)}
  .hero-sub{font-size:16px}
}

/* Sticky thumb CTA (LAW 4) — exists only in stacked mode */
.thumb-cta{display:none}

/* STACKED MODE */
@media (max-width:900px){
  .split,.book .split{grid-template-columns:1fr;gap:36px}
  .stats{grid-template-columns:1fr 1fr;gap:14px}
  .cards,.steps{grid-template-columns:1fr}
  .nav-links{position:fixed;top:68px;right:0;left:0;background:rgba(10,10,12,.97);flex-direction:column;gap:0;padding:10px 24px 26px;display:none;border-bottom:1px solid var(--hairline)}
  .nav-links.open{display:flex}
  .nav-links a{width:100%;padding:16px 0;font-size:17px;border-bottom:1px solid var(--hairline)}
  .nav-cta{width:100%;margin-top:14px}
  .hamburger{display:block}

  /* Hero becomes photo band + text on solid canvas (LAW 1 stacked mode) */
  header{min-height:auto;padding:68px 0 0;display:block}
  .hero-photo{position:relative;inset:auto;height:52vh;min-height:340px;max-height:520px}
  .hero-photo img{object-position:78% 12%} /* stacked focal: face centered, headroom kept (LAW 2) */
  .hero-photo::after{background:linear-gradient(0deg,#0A0A0C 0%,rgba(10,10,12,.42) 16%,rgba(10,10,12,0) 34%)} /* bottom melt only; never above the chin line */
  .hero-inner{max-width:100%;padding:10px 24px 44px}
  .hero-inner h1{font-size:clamp(34px,9vw,42px)}
  .triband{margin:22px 0}
  .hero-ctas .btn{width:100%}
  .hero-proof{font-size:12.5px}
  .row2{grid-template-columns:1fr}
  .figure{order:-1}
  section{padding:56px 0}
  input,select,textarea{font-size:16px} /* iOS zoom-jump guard (LAW 4) */

  .thumb-cta{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:60;padding:10px 16px calc(10px + env(safe-area-inset-bottom));background:rgba(10,10,12,.92);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-top:1px solid var(--hairline);transform:translateY(110%);transition:transform .3s ease}
  .thumb-cta.show{transform:none}
  .thumb-cta .btn{width:100%;min-height:50px}
  @media (prefers-reduced-motion:reduce){.thumb-cta{transition:none}}
}

/* ===== SUBPAGES (ADR-0007: multi-page expansion) =====
   Sessions: dark page-hero + parchment body band (mirrors the homepage rhythm).
   Notes: dark register throughout. One gold jewel per page: the booking CTA. */
.page-hero{padding:150px 0 64px;border-bottom:1px solid var(--hairline)}
.page-hero h1{font-size:clamp(32px,4.6vw,52px);max-width:22ch;margin:14px 0 0}
.page-hero .lead{margin-top:20px;font-size:clamp(16px,2vw,19px);color:var(--ink-2);max-width:56ch}
.crumbs{font-size:12.5px;color:var(--ink-3);letter-spacing:.02em;margin-bottom:20px}
.crumbs a{color:var(--ink-3);text-decoration:none}
.crumbs a:hover{color:var(--ink)}
.page-band{background:var(--paper);color:var(--paper-ink)}
.page-band h2{color:var(--paper-ink);font-size:clamp(22px,2.8vw,30px)}
.page-band .eyebrow{color:var(--gold-deep)}
.prose{max-width:70ch}
.prose p{color:var(--paper-ink-2);font-size:16px;margin-bottom:18px}
.prose b{color:var(--paper-ink)}
.prose ol{margin:0 0 18px 20px;color:var(--paper-ink-2);font-size:16px;display:grid;gap:10px}
.prose .eyebrow{margin:30px 0 12px}
.page-meta{display:grid;gap:10px;margin-top:34px;font-size:14.5px;color:var(--paper-ink-2);border-top:1px solid var(--paper-line);padding-top:24px}
.page-meta b{color:var(--paper-ink)}
.page-cta{margin-top:40px}
.talk a{display:inline-block;margin-top:10px;font-size:14px;font-weight:700;color:var(--gold-deep);text-decoration:none}
/* Notes (dark register) */
.article{max-width:70ch}
.article p{color:var(--ink-2);font-size:16.5px;margin-bottom:20px}
.article h2{font-size:clamp(22px,2.8vw,30px);margin-top:44px}
.article ul,.article ol{margin:0 0 20px 20px;color:var(--ink-2);display:grid;gap:10px}
.article .aside{border-left:3px solid var(--gold);padding:18px 22px;background:var(--panel);border-radius:12px;margin:26px 0;font-size:15.5px;color:var(--ink-2)}
.article-meta{font-size:13px;color:var(--ink-3);margin-top:16px}
.note-list{display:grid;gap:20px;margin-top:44px;max-width:70ch}
.note-card{background:var(--panel);border:1px solid var(--hairline);border-radius:16px;padding:28px 26px;text-decoration:none;display:block}
.note-card:hover{border-color:rgba(232,163,23,.4)}
.note-card h3{font-size:20px;margin-bottom:8px}
.note-card p{font-size:14.5px;color:var(--ink-2)}
.note-card span{display:inline-block;margin-top:12px;font-size:13.5px;font-weight:700;color:var(--gold)}
.pending-tag{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--gold-deep)}
/* Forms on parchment bands (webinar registration) */
.page-band label{color:var(--paper-ink-2)}
.page-band input,.page-band select{background:var(--paper-2);border-color:var(--paper-line);color:var(--paper-ink)}
.page-band input:focus,.page-band select:focus{border-color:var(--gold-deep)}
.page-band .form-ok{background:var(--paper-2);border-color:var(--gold-deep);color:var(--paper-ink)}
