/* =============================================================
   Real Deal Healers — shared design system
   One stylesheet for all pages (sales root + landing variants).
   Brief: replicate the gold-medallion, photo-driven RDH brand;
   refine the execution (type, spacing, buttons, pull-quotes,
   image framing, motion, responsive).
   ============================================================= */

/* ---- Tokens ------------------------------------------------ */
:root{
  /* color — drawn from the medallion (gold) + poster (sea-indigo) + black */
  --ink:        #15121f;   /* near-black, faintly violet — softer than pure #000 */
  --ink-2:      #211b30;
  --ink-3:      #2c2540;
  --gold:       #c49a45;   /* refined medallion gold for type + UI */
  --gold-bright:#e8c879;   /* highlight / hover */
  --gold-deep:  #9c7a2e;
  --cream:      #f6f1e6;   /* warm off-white */
  --cream-dim:  #cdc6b8;   /* muted cream — secondary text on dark */
  --indigo:     #22366b;   /* poster sea-blue */
  --indigo-deep:#0c1730;
  --line:       rgba(196,154,69,.34);   /* gold hairline */
  --line-soft:  rgba(246,241,230,.14);

  /* ---- light theme (DOMINANT) — white / airy / uplifting ---- */
  --paper:      #ffffff;   /* dominant white background */
  --paper-2:    #faf6ee;   /* faint warm white for alternating light sections */
  --ink-text:   #201b15;   /* warm near-black — headings on white (NOT plum) */
  --body-text:  #4d463c;   /* body copy on white */
  --muted:      #837a6c;   /* secondary text on white */
  --line-ink:   rgba(32,27,21,.12);  /* hairline on white */

  /* type */
  --ff-display: "Cormorant Garamond", Georgia, "Times New Roman", serif;
  --ff-caps:    "Cinzel", Georgia, serif;        /* echoes engraved medallion caps */
  --ff-body:    "Hanken Grotesk", system-ui, -apple-system, "Segoe UI", sans-serif;

  --fs-eyebrow: clamp(.72rem, .68rem + .18vw, .82rem);
  --fs-body:    clamp(1.02rem, .99rem + .2vw, 1.18rem);
  --fs-lead:    clamp(1.2rem, 1.12rem + .5vw, 1.5rem);
  --fs-h3:      clamp(1.5rem, 1.3rem + 1vw, 2rem);
  --fs-h2:      clamp(2.05rem, 1.55rem + 2.4vw, 3.4rem);
  --fs-display: clamp(2.7rem, 1.8rem + 4.6vw, 6rem);
  --fs-quote:   clamp(1.75rem, 1.25rem + 2.6vw, 3.35rem);

  /* spacing + layout */
  --sp-1:.5rem; --sp-2:1rem; --sp-3:1.5rem; --sp-4:2rem;
  --sp-5:3rem;  --sp-6:4.5rem; --sp-7:7rem;
  --section: clamp(4rem, 8vw, 9rem);
  --w: 1180px;
  --reading: 66ch;

  --r-sm:6px; --r:14px; --r-lg:26px; --r-pill:999px;
  --sh: 0 22px 60px -26px rgba(8,6,16,.62);
  --sh-soft: 0 10px 30px -16px rgba(8,6,16,.5);
  --t: .42s cubic-bezier(.2,.7,.2,1);
  --header-h: 76px;
}

/* ---- Reset / base ----------------------------------------- */
*,*::before,*::after{ box-sizing:border-box; }
html{ -webkit-text-size-adjust:100%; scroll-behavior:smooth; }
@media (prefers-reduced-motion: reduce){ html{ scroll-behavior:auto; } }
body{
  margin:0;
  font-family:var(--ff-body);
  font-size:var(--fs-body);
  line-height:1.7;
  color:var(--body-text);
  background:var(--paper);
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
img,picture,video,svg{ display:block; max-width:100%; }
a{ color:inherit; text-decoration:none; }
button{ font:inherit; color:inherit; cursor:pointer; }
::selection{ background:var(--gold); color:var(--ink); }

/* ---- Type --------------------------------------------------- */
.eyebrow{
  font-family:var(--ff-caps);
  font-size:var(--fs-eyebrow);
  letter-spacing:.34em;
  text-transform:uppercase;
  color:var(--gold-deep);
  margin:0 0 var(--sp-2);
}
.display{
  font-family:var(--ff-display);
  font-weight:500;
  font-size:var(--fs-display);
  line-height:1.02;
  letter-spacing:-.012em;
  margin:0;
}
h1,h2,h3{ font-family:var(--ff-display); font-weight:600; line-height:1.08; letter-spacing:-.01em; margin:0 0 var(--sp-3); color:var(--ink-text); }
h2{ font-size:var(--fs-h2); }
h3{ font-size:var(--fs-h3); font-weight:600; }
.lead{ font-size:var(--fs-lead); color:var(--muted); font-weight:400; }
p{ margin:0 0 var(--sp-3); }
strong{ color:var(--ink-text); font-weight:700; }
em{ font-style:italic; }
.gold{ color:var(--gold); }

/* ---- Layout ------------------------------------------------- */
.container{ width:min(var(--w), 100% - 2.4rem); margin-inline:auto; }
.reading{ max-width:var(--reading); }
.section{ padding-block:var(--section); }

/* light sections (DOMINANT white theme) */
.section--light{ background:var(--paper); color:var(--body-text); }
.section--light2{ background:var(--paper-2); color:var(--body-text); }

/* deep-plum sections — used ONLY in the named feature sections
   (curriculum, schedule, value/pricing, bonus, FAQ). Text forced to cream. */
.section--ink{ background:var(--ink); color:var(--cream); }
.section--ink2{ background:var(--ink-2); color:var(--cream); }
.section--ink .eyebrow,  .section--ink2 .eyebrow,
.section--ink .kicker,   .section--ink2 .kicker{ color:var(--gold); }
.section--ink h1,.section--ink h2,.section--ink h3,
.section--ink2 h1,.section--ink2 h2,.section--ink2 h3{ color:var(--cream); }
.section--ink .lead,  .section--ink2 .lead{ color:var(--cream-dim); }
.section--ink strong, .section--ink2 strong{ color:var(--cream); }
.section--ink .prose p,        .section--ink2 .prose p{ color:var(--cream); }
.section--ink .prose--body p,  .section--ink2 .prose--body p{ color:var(--cream-dim); }
.section--ink .feature li,     .section--ink2 .feature li{ color:var(--cream); }

/* legacy alias */
.section--cream{ background:var(--paper-2); color:var(--body-text); }
.section--cream .eyebrow{ color:var(--gold-deep); }
.section--cream .lead{ color:var(--muted); }
.section--cream h2, .section--cream h3{ color:var(--ink-text); }
.center{ text-align:center; }
.stack > * + *{ margin-top:var(--sp-3); }
.divider{ height:1px; border:0; background:var(--line); margin-block:var(--sp-5); }

/* ---- Header ------------------------------------------------- */
.site-header{
  position:fixed; inset:0 0 auto 0; z-index:50;
  height:var(--header-h);
  display:flex; align-items:center;
  transition:background var(--t), backdrop-filter var(--t), box-shadow var(--t);
  background:linear-gradient(to bottom, rgba(12,12,24,.55), rgba(12,12,24,0));
}
.site-header.is-scrolled{
  background:rgba(18,15,28,.86);
  backdrop-filter:blur(10px);
  box-shadow:0 1px 0 var(--line-soft);
}
.site-header .container{ display:flex; align-items:center; justify-content:space-between; gap:var(--sp-3); width:min(var(--w),100% - 2.4rem); }
.brand{ display:flex; align-items:center; gap:.7rem; }
.brand img{ height:48px; width:auto; filter:drop-shadow(0 2px 8px rgba(0,0,0,.45)); }
.header-cta{
  font-family:var(--ff-caps); font-size:.72rem; letter-spacing:.2em; text-transform:uppercase;
  color:var(--cream); padding:.6rem .95rem; border:1px solid var(--line);
  border-radius:var(--r-pill); transition:color var(--t), background var(--t), border-color var(--t);
}
.header-cta:hover{ background:var(--gold); color:var(--ink); border-color:var(--gold); }
@media (max-width:640px){ .header-cta{ display:none; } .brand img{ height:42px; } }

/* ---- Buttons ------------------------------------------------ */
.btn{
  display:inline-flex; align-items:center; justify-content:center; gap:.6rem;
  font-family:var(--ff-caps); font-size:.8rem; letter-spacing:.16em; text-transform:uppercase;
  padding:1.05rem 1.9rem; border-radius:var(--r-pill); border:1px solid transparent;
  transition:transform var(--t), box-shadow var(--t), background var(--t), color var(--t), border-color var(--t);
  will-change:transform;
}
.btn--primary{
  color:var(--ink);
  background:linear-gradient(135deg, var(--gold-bright), var(--gold) 55%, var(--gold-deep));
  box-shadow:0 14px 30px -14px rgba(196,154,69,.7);
}
.btn--primary:hover{ transform:translateY(-2px); box-shadow:0 20px 40px -14px rgba(196,154,69,.85); }
.btn--ghost{ color:var(--gold); border-color:var(--line); background:transparent; }
.btn--ghost:hover{ background:var(--gold); color:var(--ink); border-color:var(--gold); transform:translateY(-2px); }
.btn--block{ width:100%; }
.btn:focus-visible{ outline:3px solid var(--gold-bright); outline-offset:3px; }

/* ---- Hero --------------------------------------------------- */
/* Show Iana's FULL figure — ground beneath her feet to the top of her head,
   with foreground and background depth intact. The photo displays at its
   natural frame (no vertical cover-crop); the headline overlays it. */
.hero{ position:relative; display:grid; overflow:hidden; background:var(--ink); }
.hero__bg{ position:relative; }
.hero__bg img{ width:100%; height:auto; display:block; }
.hero__scrim{ position:absolute; inset:0;
  background:
    radial-gradient(120% 78% at 50% 54%, rgba(8,10,22,.5), rgba(8,10,22,0) 58%),
    linear-gradient(to top, rgba(8,10,22,.74) 0%, rgba(8,10,22,.05) 40%, rgba(8,10,22,.3) 100%); }
.hero__inner{ position:absolute; inset:0; z-index:2; display:flex; flex-direction:column;
  justify-content:center; align-items:center; gap:.15rem; text-align:center; padding:2rem 1.2rem; }
.hero__inner > *{ width:min(60rem,100%); }
.hero .eyebrow{ text-shadow:0 1px 14px rgba(0,0,0,.65); }
.hero .display{ color:var(--cream); text-shadow:0 2px 34px rgba(0,0,0,.5); }
.hero .lead{ color:var(--cream); margin-top:var(--sp-3); text-shadow:0 1px 16px rgba(0,0,0,.55); }
.hero__cta{ margin-top:var(--sp-4); display:flex; gap:var(--sp-2); justify-content:center; flex-wrap:wrap; }
.hero .btn--ghost{ background:rgba(12,14,26,.32); backdrop-filter:blur(2px); color:var(--cream); border-color:rgba(246,241,230,.5); }
.hero .btn--ghost:hover{ background:var(--gold); color:var(--ink); border-color:var(--gold); }

/* ---- Video facade (custom poster + play -> Stream iframe) --- */
.video{ position:relative; aspect-ratio:2048/1076; border-radius:var(--r); overflow:hidden; background:var(--ink-2); box-shadow:var(--sh); }
.video__poster{ position:absolute; inset:0; }
.video__poster img{ width:100%; height:100%; object-fit:cover; }
.video__veil{ position:absolute; inset:0; background:rgba(10,12,24,.18); transition:background var(--t); }
.video:hover .video__veil{ background:rgba(10,12,24,.05); }
.video__play{
  position:absolute; inset:0; margin:auto; width:92px; height:92px; border-radius:50%;
  display:grid; place-items:center; border:1px solid rgba(246,241,230,.7);
  background:rgba(20,16,28,.4); backdrop-filter:blur(3px);
  transition:transform var(--t), background var(--t), border-color var(--t);
}
.video__play svg{ width:30px; height:30px; margin-left:4px; fill:var(--cream); transition:fill var(--t); }
.video:hover .video__play{ transform:scale(1.08); background:var(--gold); border-color:var(--gold); }
.video:hover .video__play svg{ fill:var(--ink); }
.video__play::after{ content:""; position:absolute; inset:-10px; border-radius:50%;
  border:1px solid rgba(246,241,230,.25); animation:pulse 3.2s ease-out infinite; }
@keyframes pulse{ 0%{ transform:scale(.85); opacity:.7 } 100%{ transform:scale(1.35); opacity:0 } }
.video iframe{ position:absolute; inset:0; width:100%; height:100%; border:0; }
.video.is-playing .video__poster,
.video.is-playing .video__veil,
.video.is-playing .video__play{ opacity:0; pointer-events:none; transition:opacity .3s; }
@media (prefers-reduced-motion: reduce){ .video__play::after{ animation:none; } }

/* ---- Signature: pull-quote layered over a photograph -------- */
/* The photograph shows Iana's FULL figure at its natural frame — no crop —
   so the ground beneath her feet, her whole body, and the background depth
   are all visible. (Quote-overlay placement is refined in the next pass.) */
.pq{ position:relative; margin:0; overflow:hidden; }
.pq__bg{ position:relative; }
.pq__bg img{ width:100%; height:auto; display:block; }
.pq__scrim{ position:absolute; inset:0;
  background:linear-gradient(to top, rgba(8,10,22,.74) 0%, rgba(8,10,22,.12) 30%, rgba(8,10,22,0) 52%); }
.pq__body{ position:absolute; left:0; right:0; bottom:0; z-index:2;
  padding:clamp(1.4rem,4vw,3.4rem); max-width:52rem; }
.pq__mark{ font-family:var(--ff-display); font-size:5rem; line-height:.5; color:var(--gold); opacity:.7; }
.pq__quote{ font-family:var(--ff-display); font-style:italic; font-weight:500;
  font-size:var(--fs-quote); line-height:1.18; color:var(--cream); margin:.4rem 0 1.4rem; }
.pq__rule{ width:48px; height:2px; background:var(--gold); border:0; margin:0 0 1rem; }
.pq__by{ font-family:var(--ff-caps); letter-spacing:.18em; text-transform:uppercase; font-size:.74rem; color:var(--gold-bright); }
.pq__by span{ color:var(--cream); }

/* ---- Cards / pricing (used later) -------------------------- */
.price-grid{ display:grid; gap:var(--sp-3); grid-template-columns:repeat(auto-fit,minmax(240px,1fr)); }
.price-card{ background:var(--ink-2); border:1px solid var(--line-soft); border-radius:var(--r-lg);
  padding:var(--sp-4); display:flex; flex-direction:column; gap:var(--sp-2); box-shadow:var(--sh-soft); }
.price-card--feature{ border-color:var(--line); background:linear-gradient(180deg, var(--ink-3), var(--ink-2)); }
.price-card .tier{ font-family:var(--ff-caps); letter-spacing:.16em; text-transform:uppercase; font-size:.74rem; color:var(--gold); }
.price-card .amount{ font-family:var(--ff-display); font-size:clamp(2.4rem,5vw,3.2rem); line-height:1; color:var(--cream); }
.price-card .terms{ color:var(--cream-dim); font-size:.95rem; margin-bottom:var(--sp-2); }

/* ---- Footer ------------------------------------------------- */
.site-footer{ background:var(--indigo-deep); color:var(--cream-dim); padding-block:var(--sp-5); }
.site-footer .container{ display:flex; flex-wrap:wrap; gap:var(--sp-4); align-items:center; justify-content:space-between; }
.site-footer img{ height:54px; opacity:.95; }
.footer-links{ display:flex; flex-wrap:wrap; gap:var(--sp-3); font-size:.82rem; letter-spacing:.04em; }
.footer-links a:hover{ color:var(--gold-bright); }
.footer-fine{ width:100%; border-top:1px solid var(--line-soft); padding-top:var(--sp-3); font-size:.76rem; color:#7d768c; display:flex; flex-wrap:wrap; gap:.4rem 1.2rem; justify-content:space-between; }
.no-ai{ font-family:var(--ff-caps); letter-spacing:.18em; text-transform:uppercase; font-size:.7rem; color:var(--gold); }

/* ---- Scroll reveal (only when JS present; no-JS shows content) -- */
.js .reveal{ opacity:0; transform:translateY(16px); transition:opacity .8s var(--t), transform .8s var(--t); }
.js .reveal.is-in{ opacity:1; transform:none; }
@media (prefers-reduced-motion: reduce){ .js .reveal{ opacity:1; transform:none; transition:none; } }

/* ---- Consent banner (used later) --------------------------- */
.consent{ position:fixed; left:1rem; right:1rem; bottom:1rem; z-index:80; max-width:680px; margin-inline:auto;
  background:rgba(22,18,34,.96); backdrop-filter:blur(8px); border:1px solid var(--line);
  border-radius:var(--r); padding:1.1rem 1.3rem; box-shadow:var(--sh);
  display:flex; gap:1rem; align-items:center; flex-wrap:wrap; font-size:.9rem; }
.consent p{ margin:0; flex:1 1 260px; color:var(--cream-dim); }
.consent .btn{ padding:.7rem 1.2rem; }

/* ---- Styleguide-only helpers ------------------------------- */
.sg-swatch{ height:84px; border-radius:var(--r-sm); border:1px solid var(--line-soft); }
.sg-grid{ display:grid; gap:var(--sp-2); grid-template-columns:repeat(auto-fit,minmax(150px,1fr)); }
.sg-note{ font-size:.82rem; color:var(--cream-dim); }

/* =============================================================
   Sales page components (Pass 1)
   ============================================================= */

/* hero with no fixed header — reclaim the top padding */
.hero--nohead .hero__inner{ padding-top:clamp(3rem,8vh,6rem); }
.hero__medallion{ width:clamp(78px,11vw,124px); height:auto; margin:0 auto var(--sp-3);
  filter:drop-shadow(0 4px 18px rgba(0,0,0,.5)); }
.hero__byline{ font-family:var(--ff-caps); letter-spacing:.22em; text-transform:uppercase;
  font-size:.8rem; color:var(--gold-bright); margin-top:var(--sp-3); text-shadow:0 1px 12px rgba(0,0,0,.6); }

/* section heading cluster */
.head{ max-width:54rem; }
.head--center{ margin-inline:auto; text-align:center; }
.kicker{ font-family:var(--ff-caps); letter-spacing:.28em; text-transform:uppercase;
  font-size:var(--fs-eyebrow); color:var(--gold-deep); margin:0 0 var(--sp-2); }

/* lead prose blocks (the "BE trained in…" run-on lists read as flowing copy) */
.prose{ max-width:54rem; }
.prose p{ font-size:var(--fs-lead); color:var(--ink-text); line-height:1.5; font-family:var(--ff-display); font-weight:400; }
.prose--body p{ font-family:var(--ff-body); font-size:var(--fs-body); color:var(--body-text); line-height:1.75; }
.section--cream .prose p{ color:var(--ink-text); }
.section--cream .prose--body p{ color:var(--body-text); }

/* feature / skill lists (gold tick) */
.feature{ list-style:none; margin:var(--sp-3) 0 0; padding:0; display:grid; gap:.85rem; max-width:52rem; }
.feature.cols-2{ grid-template-columns:repeat(2,minmax(0,1fr)); gap:.85rem 2.2rem; }
.feature li{ position:relative; padding-left:2rem; line-height:1.5; }
.feature li::before{ content:""; position:absolute; left:0; top:.5em; width:13px; height:13px;
  border-radius:50%; background:radial-gradient(circle at 35% 30%, var(--gold-bright), var(--gold-deep));
  box-shadow:0 0 0 4px rgba(196,154,69,.14); }
.section--cream .feature li::before{ box-shadow:0 0 0 4px rgba(196,154,69,.18); }
@media (max-width:620px){ .feature.cols-2{ grid-template-columns:1fr; } }

/* two-column media + copy row */
.split{ display:grid; grid-template-columns:1fr 1fr; gap:clamp(1.5rem,4vw,4rem); align-items:center; }
.split--rev .split__media{ order:2; }
.split__media{ border-radius:var(--r); overflow:hidden; box-shadow:var(--sh); aspect-ratio:4/5; }
.split__media img{ width:100%; height:100%; object-fit:cover; }
@media (max-width:820px){ .split{ grid-template-columns:1fr; } .split--rev .split__media{ order:0; }
  .split__media{ aspect-ratio:16/10; } }

/* curriculum / portals */
.portals{ list-style:none; margin:var(--sp-4) 0 0; padding:0; display:grid; gap:.55rem; counter-reset:p; max-width:60rem; }
.portal{ display:grid; grid-template-columns:auto 1fr; gap:1.1rem; align-items:baseline;
  padding:1rem 1.2rem; border:1px solid var(--line-soft); border-radius:var(--r);
  background:linear-gradient(180deg, rgba(44,37,64,.5), rgba(33,27,48,.5)); transition:border-color var(--t), transform var(--t); }
.portal:hover{ border-color:var(--line); transform:translateX(4px); }
.portal__wk{ font-family:var(--ff-caps); font-size:.68rem; letter-spacing:.14em; text-transform:uppercase;
  color:var(--gold); white-space:nowrap; padding-top:.2em; }
.portal__name{ font-family:var(--ff-display); font-size:1.32rem; color:var(--cream); }
.portal--intro{ background:linear-gradient(180deg, rgba(196,154,69,.16), rgba(33,27,48,.4)); border-color:var(--line); }

/* pricing — value stack + offer blocks */
.valuestack{ list-style:none; margin:0; padding:0; max-width:46rem; }
.valuestack li{ display:flex; justify-content:space-between; gap:1rem; padding:.85rem 0;
  border-bottom:1px solid var(--line-soft); }
.valuestack li span:first-child{ color:var(--cream); }
.valuestack li span:last-child{ color:var(--gold-bright); font-family:var(--ff-caps); font-size:.82rem; letter-spacing:.06em; white-space:nowrap; padding-top:.2em; }
.valuestack .vs-total{ border-bottom:0; padding-top:1.1rem; font-size:1.15rem; }
.valuestack .vs-total span:last-child{ font-size:1.05rem; color:var(--gold-bright); }

.offer{ text-align:center; max-width:54rem; margin-inline:auto; }
.offer__price{ font-family:var(--ff-display); font-weight:600; line-height:.95;
  font-size:clamp(3.4rem,8vw,6rem); color:var(--cream); }
.offer__disc{ font-family:var(--ff-caps); letter-spacing:.2em; text-transform:uppercase;
  color:var(--gold); font-size:1rem; margin-top:.4rem; }
.offer__window{ color:var(--cream-dim); margin-top:.6rem; }
.offer__buttons{ display:grid; gap:var(--sp-2); grid-template-columns:repeat(3,1fr); margin-top:var(--sp-4); }
.offer__buttons .btn{ padding:1.15rem 1rem; font-size:.72rem; letter-spacing:.1em; }
@media (max-width:760px){ .offer__buttons{ grid-template-columns:1fr; } }

/* countdown */
.countdown{ display:inline-flex; gap:.7rem; margin-top:var(--sp-3); }
.countdown span{ display:flex; flex-direction:column; align-items:center; min-width:62px;
  font-family:var(--ff-display); font-size:2.2rem; line-height:1; color:var(--cream);
  background:rgba(196,154,69,.1); border:1px solid var(--line); border-radius:var(--r-sm); padding:.6rem .4rem; }
.countdown small{ font-family:var(--ff-caps); font-size:.56rem; letter-spacing:.14em; text-transform:uppercase;
  color:var(--gold); margin-top:.35rem; }

/* schedule block */
.schedule{ display:grid; gap:.6rem; max-width:50rem; margin:var(--sp-4) auto 0; }
.schedule__row{ display:grid; grid-template-columns:1fr auto; gap:1rem; padding:.9rem 1.2rem;
  border:1px solid var(--line-soft); border-radius:var(--r); background:rgba(33,27,48,.4); }
.schedule__zone{ color:var(--cream); }
.schedule__time{ color:var(--gold-bright); font-family:var(--ff-caps); font-size:.78rem; letter-spacing:.04em; text-align:right; }
.dates{ text-align:center; color:var(--cream-dim); margin-top:var(--sp-3); }
.dates strong{ color:var(--gold-bright); font-weight:600; }
@media (max-width:560px){ .schedule__row{ grid-template-columns:1fr; } .schedule__time{ text-align:left; } }

/* bonus */
.bonus{ border:1px solid var(--line); border-radius:var(--r-lg); padding:clamp(1.6rem,4vw,3rem);
  background:linear-gradient(180deg, rgba(196,154,69,.1), rgba(33,27,48,.5)); max-width:54rem; margin-inline:auto; text-align:center; }
.bonus__value{ font-family:var(--ff-caps); letter-spacing:.18em; text-transform:uppercase; color:var(--gold); margin-top:var(--sp-2); }

/* FAQ */
.faq{ max-width:54rem; margin-inline:auto; }
.faq details{ border-bottom:1px solid var(--line-soft); }
.faq summary{ list-style:none; cursor:pointer; padding:1.3rem 2.4rem 1.3rem 0; position:relative;
  font-family:var(--ff-display); font-size:clamp(1.25rem,2.4vw,1.6rem); color:var(--cream); transition:color var(--t); }
.faq summary::-webkit-details-marker{ display:none; }
.faq summary::after{ content:"+"; position:absolute; right:0; top:1.15rem; font-family:var(--ff-body);
  font-size:1.7rem; color:var(--gold); transition:transform var(--t); }
.faq details[open] summary::after{ transform:rotate(45deg); }
.faq summary:hover{ color:var(--gold-bright); }
.faq__a{ padding:0 0 1.5rem; color:var(--cream-dim); }
.faq__a p{ margin-bottom:1rem; }

/* testimonial wall */
.wall{ columns:3; column-gap:var(--sp-3); max-width:var(--w); }
.wall .t{ break-inside:avoid; margin:0 0 var(--sp-3); padding:var(--sp-4);
  border:1px solid var(--line-ink); border-radius:var(--r); background:#fffdf8;
  box-shadow:0 14px 34px -22px rgba(32,27,21,.22); }
.wall .t p{ font-family:var(--ff-display); font-style:italic; font-size:1.18rem; line-height:1.45; color:var(--ink-text); margin-bottom:1rem; }
.wall .t cite{ font-style:normal; font-family:var(--ff-caps); letter-spacing:.1em; text-transform:uppercase;
  font-size:.68rem; color:var(--gold-deep); line-height:1.6; display:block; }
.wall .t cite span{ color:var(--muted); letter-spacing:.04em; }
@media (max-width:900px){ .wall{ columns:2; } }
@media (max-width:600px){ .wall{ columns:1; } }

/* big closing CTA band */
.cta-band{ text-align:center; max-width:50rem; margin-inline:auto; }
.cta-band h2{ margin-bottom:var(--sp-4); }

/* minimal closing legal block (NOT site chrome) */
.closing{ background:var(--paper-2); color:var(--muted); padding-block:var(--sp-5); text-align:center; border-top:1px solid var(--line-ink); }
.closing .socials{ display:flex; gap:1.1rem; justify-content:center; margin:var(--sp-3) 0; }
.closing .socials a{ width:40px; height:40px; display:grid; place-items:center; border-radius:50%;
  border:1px solid var(--line-ink); transition:border-color var(--t), background var(--t); }
.closing .socials a:hover{ border-color:var(--gold); background:rgba(196,154,69,.12); }
.closing .socials svg{ width:18px; height:18px; fill:var(--muted); }
.closing .socials a:hover svg{ fill:var(--gold-deep); }
.closing__links{ display:flex; gap:1.2rem; justify-content:center; flex-wrap:wrap; font-size:.8rem; margin:var(--sp-2) 0; }
.closing__links a{ color:var(--muted); }
.closing__links a:hover{ color:var(--gold-deep); }
.closing__fine{ font-size:.76rem; color:var(--muted); max-width:48rem; margin:var(--sp-2) auto 0; line-height:1.7; }
.closing .no-ai{ display:block; margin-top:var(--sp-3); color:var(--gold-deep); }
.closing .privacy{ color:var(--muted); font-size:.82rem; }
.closing .copyline{ font-family:var(--ff-display); font-size:1.2rem; color:var(--ink-text); margin:0; }

/* pricing visibility (date auto-switch toggles these) */
[data-when="regular"]{ display:none; }
.is-regular [data-when="early"]{ display:none; }
.is-regular [data-when="regular"]{ display:block; }
