/* ============================================================
   ROOTS TO RUBIES — REBRAND
   sections.css
   ============================================================ */

/* ---------------- HERO : eye of the storm ---------------- */
.hero{
  position:relative; min-height:100svh; display:flex; align-items:flex-end;
  padding-top:clamp(7.5rem, 17vh, 11rem); padding-bottom:clamp(4.5rem, 11vh, 7.5rem);
  background:var(--feat-bg-2); color:var(--feat-ink); overflow:hidden;
}
.hero-media{ position:absolute; inset:0; z-index:0; }
.hero-media img{ width:100%; height:100%; object-fit:cover; opacity:.78; transform:scale(1.06); }
html.js .hero-media img{ animation:hero-ken 2.8s var(--ease-soft) both; }
@keyframes hero-ken{ from{ transform:scale(1.14); } to{ transform:scale(1.06); } }
.hero-veil{ position:absolute; inset:0; z-index:0; pointer-events:none;
  background:
    linear-gradient(100deg, color-mix(in oklab, var(--feat-bg-2) 68%, transparent) 16%, color-mix(in oklab, var(--feat-bg-2) 16%, transparent) 58%, color-mix(in oklab, var(--feat-bg-2) 30%, transparent)),
    linear-gradient(180deg, color-mix(in oklab, var(--feat-bg-2) 36%, transparent), transparent 34%, transparent 60%, color-mix(in oklab, var(--feat-bg) 76%, transparent));
}
#dust-canvas{ position:absolute; inset:0; width:100%; height:100%; pointer-events:none; z-index:1; }
.hero .container{ position:relative; z-index:2; }
.hero-copy{ max-width:56rem; }
.hero-copy .eyebrow{ margin-bottom:1.9rem; color:var(--feat-soft); }
.hero-copy .eyebrow::before{ background:var(--feat-gold); }
.hero-copy h1{ margin-bottom:1.7rem; color:var(--feat-ink); }
.hero-copy h1 em{ color:var(--feat-gold); }
.hero-copy h1 .line{ display:block; overflow:hidden; padding-bottom:.12em; margin-bottom:-.12em; }
.hero-copy h1 .line > span{ display:inline-block; }
.hero-copy .lede{ margin-bottom:2.6rem; color:var(--feat-soft); max-width:52ch; }
.hero-ctas{ display:flex; flex-wrap:wrap; gap:1rem 1.1rem; align-items:center; }

@media (max-width: 900px){
  .hero{ min-height:92svh; }
}

/* ---------------- NOISE → QUIET (signature) ---------------- */
.noise-section{
  background:
    radial-gradient(90% 70% at 50% 120%, color-mix(in oklab, var(--ruby) 30%, transparent), transparent 60%),
    var(--feat-bg);
  color:var(--feat-ink); position:relative; overflow-x:clip;
}
/* pinned crescendo: lines ACCUMULATE (they never politely leave), converge
   toward the centre and grow until the stage is claustrophobic — then one
   hard cut to silence. JS maps scroll progress onto entry / convergence /
   cut; each line's placement + temperament live on its data-* attrs.
   html[data-noise="legible"] is the restrained variant: storm-only lines
   hidden, convergence and scale damped, opacity floor raised. */
.noise-track{ position:relative; height:var(--noise-track, 560vh); }
.noise-stage{ position:sticky; top:0; height:100vh; height:100svh;
  display:flex; align-items:center; justify-content:center; overflow:hidden;
  padding-block:clamp(3.5rem, 7vh, 6rem); }
.noise-cloud{ position:absolute; inset:0; pointer-events:none; }
.noise-line{
  position:absolute; left:0; top:0; font-family:var(--font-ui); font-weight:500; color:var(--feat-soft);
  white-space:nowrap; letter-spacing:.01em; will-change:transform, opacity, filter;
  transform:translate(-50%,-50%);
  text-shadow:0 1px 20px color-mix(in oklab, var(--feat-bg-2) 55%, transparent);
}
html.js .noise-line{ opacity:0; }
.noise-line--voice{ font-family:var(--font-display); font-style:italic; font-weight:340; letter-spacing:-.01em; color:var(--feat-gold); }
[data-noise="legible"] .nl-storm{ display:none; }
.noise-quiet{ position:relative; z-index:2; text-align:center; max-width:min(860px, 92vw); padding-inline:var(--gutter); }
.noise-quiet .eyebrow{ margin-bottom:1.6rem; justify-content:center; }
.noise-quiet .big{
  color:var(--feat-ink); font-family:var(--font-display); font-weight:320;
  font-size:clamp(2.4rem, 1.6rem + 4.4vw, 5.5rem); line-height:1.04; letter-spacing:-.02em;
  font-variation-settings:"opsz" 144; margin-inline:auto; max-width:18ch;
}
.noise-quiet .big em{ color:var(--feat-gold); font-weight:280; }
.noise-quiet .noise-sub{
  margin-top:1.9rem; color:color-mix(in oklab, var(--feat-ink) 78%, var(--feat-soft)); max-width:46ch; margin-inline:auto;
  font-size:clamp(1.0625rem, 1rem + .3vw, 1.1875rem); line-height:1.6;
}
.noise-quiet .noise-coda{
  margin-top:1.1rem; color:color-mix(in oklab, var(--feat-ink) 78%, var(--feat-soft)); max-width:46ch; margin-inline:auto;
  font-size:clamp(1.0625rem, 1rem + .3vw, 1.1875rem); line-height:1.6;
}
.noise-quiet .noise-coda--turn{
  position:absolute; left:50%; top:50%; transform:translate(-50%,-50%); margin:0; width:100%;
  color:var(--feat-ink); font-family:var(--font-display); font-weight:320;
  font-variation-settings:"opsz" 144;
  font-size:clamp(1.7rem, 1.2rem + 2vw, 3rem); line-height:1.25; letter-spacing:-.02em; max-width:24ch;
}
.noise-coda--turn .turn-a{ display:block; }
.noise-coda--turn .turn-b{ display:block; margin-top:.35em; color:var(--feat-gold); font-style:italic; font-weight:280; font-size:clamp(2rem, 1.4rem + 2.2vw, 3.125rem); line-height:1.15; }
.noise-quiet .noise-coda--q{ margin-top:2rem; font-size:clamp(1.25rem, 1.05rem + 1vw, 1.875rem); }
html.js .turn-b{ opacity:0; }
html.js .noise-coda{ opacity:0; }
/* vignette that focuses the quiet as the noise clears */
.noise-veil{ position:absolute; inset:0; pointer-events:none; opacity:0; z-index:1;
  background:radial-gradient(58% 58% at 50% 50%, transparent 24%, color-mix(in oklab, var(--feat-bg-2) 90%, transparent) 100%); }

/* JS scrub writes opacity/transform/filter inline. These defaults are the
   readable base state so a no-JS or not-yet-painted page still has meaning. */
html.js .noise-quiet{ opacity:0; }
html.js .noise-quiet .big{ filter:blur(7px); }

/* mobile: fewer lines, less scroll distance, wrapping allowed */
@media (max-width: 760px){
  .noise-track{ height:var(--noise-track, 440vh); }
  .nl-m{ display:none; }
  .noise-line{ white-space:normal; max-width:70vw; text-align:center; }
}
@media (min-width:900px) and (max-height:840px){
  .noise-quiet .big{ font-size:clamp(2rem, 1rem + 3vw, 3.6rem); }
}
/* reduced motion: no pin, no scrub — show the quiet, dim the noise behind it */
@media (prefers-reduced-motion: reduce){
  .noise-track{ height:auto; }
  .noise-stage{ position:relative; height:auto; min-height:100svh; }
  html.js .noise-quiet{ opacity:1; }
  html.js .noise-quiet .big{ filter:none; }
  html.js .noise-coda{ opacity:1 !important; }
  html.js .turn-b{ opacity:1 !important; }
  .noise-quiet .noise-coda--turn{ position:static; transform:none; margin-top:2rem; font-size:clamp(1.3rem, 1rem + 1.2vw, 1.9rem); }
  .noise-line{ opacity:.16 !important; filter:blur(1px) !important; transform:translate(-50%,-50%) rotate(var(--r,0deg)) !important; }
}

/* ---------------- LETTER (window) ---------------- */
.letterc-section{ background:var(--paper); padding-block:0; }
.letterc-grid{ display:grid; grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr); min-height:min(88svh, 720px); }
.letterc-img{ position:relative; background:var(--paper-deep); isolation:isolate; overflow:hidden; }
.letterc-img img{
  position:absolute; inset:-11% 0; width:100%; height:122%; object-fit:cover;
  will-change:transform; backface-visibility:hidden;
  filter:grayscale(1) sepia(.22) saturate(1.05) hue-rotate(-14deg) contrast(.94) brightness(.97);
}
/* warm duotone wash — ruby in the shadows, gold in the light */
.letterc-img::before{
  content:""; position:absolute; inset:0; z-index:1; pointer-events:none;
  background:linear-gradient(158deg,
    color-mix(in oklab, var(--gold) 14%, transparent) 0%,
    transparent 46%,
    color-mix(in oklab, var(--ruby) 18%, transparent) 100%);
  mix-blend-mode:multiply;
}
.letterc-img::after{ content:""; position:absolute; inset:16px; z-index:2; border:1px solid color-mix(in oklab, var(--on-accent) 55%, transparent); pointer-events:none; }
.letterc-main{ padding:clamp(3.5rem, 7vw, 6rem) clamp(1.5rem, 6vw, 6rem); align-self:center; max-width:46rem; }
.letterc-main .eyebrow{ margin-bottom:1.6rem; }
.letterc-main h2{ margin-bottom:2rem; max-width:17ch; }
@media (max-width: 900px){
  .letterc-grid{ grid-template-columns:1fr; }
  .letterc-img{ aspect-ratio:16/10; }
}

/* ---------------- letter body (shared) ---------------- */
.letter-body p{ margin-bottom:1.45rem; color:var(--ink-soft); font-size:clamp(1.0625rem, 1rem + .3vw, 1.1875rem); line-height:1.66; }
.letter-body p strong{ color:var(--ink); font-weight:500; }

/* ---------------- PRACTICE ---------------- */
.practice-section{ background:linear-gradient(var(--paper), var(--paper-deep)); }
.practice-head{ max-width:54ch; margin-bottom:clamp(2.4rem, 5vw, 3.6rem); }
.practice-head .stack-line{ display:block; }
.practice-head .eyebrow{ margin-bottom:1.6rem; }
.practice-head h2{ margin-bottom:1.3rem; }
.practice-steps{
  list-style:none; margin:0 0 clamp(2rem, 4vw, 3rem); padding:0;
  border-top:1px solid var(--rule);
  display:grid; grid-template-columns:repeat(3, minmax(0,1fr)); gap:0 clamp(1.5rem, 4vw, 3.5rem);
}
.practice-steps .pstep{
  position:relative;
  display:grid; grid-template-rows:auto auto 1fr; justify-items:start; align-content:start;
  gap:.6rem 0;
  padding:clamp(1.7rem, 3.2vw, 2.7rem) clamp(.4rem, 1vw, 1rem);
  border-bottom:1px solid var(--rule);
  transition:background-color .45s var(--ease-soft);
}
.practice-steps .pstep:hover{ background:color-mix(in oklab, var(--surface) 55%, transparent); }
.practice-steps .pstep-num{
  font-family:var(--font-display); font-weight:300; font-variation-settings:"opsz" 144;
  font-size:clamp(2.4rem, 1.6rem + 3vw, 4.4rem); line-height:1;
  color:color-mix(in oklab, var(--ruby) 42%, var(--paper-deep));
  font-variant-numeric:tabular-nums;
  transition:color .45s var(--ease-soft);
}
.practice-steps .pstep:hover .pstep-num{ color:var(--ruby); }
.practice-steps .pstep-body{ display:contents; }
.practice-steps .pstep-body h3{ font-size:clamp(1.5rem, 1.2rem + 1.2vw, 2.2rem); font-weight:380; font-variation-settings:"opsz" 80; margin:0; }
.practice-steps .pstep-body p{ color:var(--ink-soft); font-size:1.0313rem; line-height:1.6; max-width:54ch; }
@media (max-width: 900px){
  .practice-steps{ grid-template-columns:1fr; }
}
/* oversized pale botanical watermark per step */
.practice-steps .pstep-mark{
  position:absolute; top:clamp(.9rem, 2.2vw, 1.9rem); right:clamp(.2rem, 1.2vw, 1.4rem);
  width:clamp(96px, 10vw, 146px); height:auto; overflow:visible;
  color:var(--sage, #6F7A64);
  opacity:0; transform:translateY(6px); pointer-events:none;
  transition:opacity .8s var(--ease-soft), transform .8s var(--ease-soft), color .6s var(--ease-soft);
}
.practice-steps .pstep-mark .ground{ stroke:var(--gold); }
.practice-steps .pstep-mark path, .practice-steps .pstep-mark circle{
  stroke-dasharray:1; stroke-dashoffset:1;
  transition:stroke-dashoffset 1.2s var(--ease-soft);
}
.practice-steps .pstep.is-in .pstep-mark{ opacity:.26; transform:none; }
.practice-steps .pstep:hover .pstep-mark{ opacity:.5; color:var(--ruby); }
.practice-steps .pstep.is-in .pstep-mark path,
.practice-steps .pstep.is-in .pstep-mark circle{ stroke-dashoffset:0; }
.practice-steps .pstep.is-in .pstep-mark > *:nth-child(2){ transition-delay:.16s; }
.practice-steps .pstep.is-in .pstep-mark > *:nth-child(3){ transition-delay:.32s; }
.practice-steps .pstep.is-in .pstep-mark > *:nth-child(4){ transition-delay:.48s; }
.practice-steps .pstep.is-in .pstep-mark > *:nth-child(5){ transition-delay:.64s; }
.practice-steps .pstep.is-in .pstep-mark > *:nth-child(6){ transition-delay:.8s; }
@media (prefers-reduced-motion: reduce){
  .practice-steps .pstep-mark path, .practice-steps .pstep-mark circle{ stroke-dasharray:none; stroke-dashoffset:0; transition:none; }
}
.practice-steps-cta{ margin:clamp(2rem, 4vw, 3rem) 0 0; }

/* ---------------- PATHS ---------------- */
.paths-section{ background:var(--paper-deep); }
.paths-head{ text-align:center; max-width:52ch; margin-inline:auto; margin-bottom:clamp(3rem,7vw,5rem); }
.paths-head .eyebrow{ margin-bottom:1.6rem; }
.paths-grid{ display:grid; grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr); gap:clamp(1.5rem, 3vw, 2.5rem); align-items:stretch; }
.path-card{ border-radius:calc(var(--radius-card) + 8px); padding:clamp(2.25rem, 4vw, 3.5rem); display:flex; flex-direction:column; position:relative; overflow:hidden;
  transition:transform .5s var(--ease-soft), box-shadow .5s var(--ease-soft); }
.path-card:hover{ transform:translateY(-6px); }
.path-card--ruby{
  background:radial-gradient(120% 120% at 100% 0%, color-mix(in oklab, var(--gold) 24%, transparent), transparent 55%),
    linear-gradient(160deg, var(--ruby), var(--ruby-deep));
  color:var(--on-accent); box-shadow:0 44px 80px -40px color-mix(in oklab, var(--ruby-deep) 75%, transparent);
}
.path-card--ruby .path-tag{ color:var(--gold); }
.path-card--ruby h3{ color:var(--on-accent); font-weight:400; font-size:clamp(1.7rem, 1.35rem + 1.4vw, 2.35rem); margin-bottom:1.15rem; max-width:16ch; }
.path-card--ruby p{ color:color-mix(in oklab, var(--on-accent) 85%, transparent); margin-bottom:1.15rem; }
.path-card--ruby .path-meta{ color:color-mix(in oklab, var(--on-accent) 62%, transparent); }
.path-card--paper{ background:var(--surface); border:1px solid color-mix(in oklab, var(--gold) 40%, transparent);
  box-shadow:0 30px 60px -36px color-mix(in oklab, var(--ink) 35%, transparent); }
.path-card--paper h3{ font-weight:400; font-size:clamp(1.55rem, 1.3rem + 1.1vw, 2.05rem); margin-bottom:1.15rem; max-width:16ch; }
.path-card--paper p{ color:var(--ink-soft); margin-bottom:1.15rem; }
.path-card--paper .path-tag{ color:var(--gold-text); }
.path-card--paper .path-meta{ color:var(--ink-soft); opacity:.78; }
.path-tag{ font-family:var(--font-ui); font-size:.6875rem; font-weight:600; letter-spacing:.26em; text-transform:uppercase; margin-bottom:1.5rem; display:block; }
.path-meta{ font-family:var(--font-ui); font-size:.8125rem; letter-spacing:.03em; margin-bottom:2rem; line-height:1.7; }
.path-card .btn{ align-self:flex-start; margin-top:auto; }
.path-bloom{ position:absolute; right:-40px; bottom:-50px; width:250px; height:250px; opacity:.16; pointer-events:none; color:var(--on-accent); transition:transform 1.4s var(--ease-soft); }
.path-card:hover .path-bloom{ transform:rotate(10deg) scale(1.06); }
.path-card--paper .path-bloom{ color:var(--ruby); opacity:.09; }
@media (max-width: 900px){ .paths-grid{ grid-template-columns:1fr; } }

/* small coaching teaser beneath the two blocks */
.paths-aside{
  margin-top:clamp(2rem, 4vw, 3rem); text-align:center;
  font-family:var(--font-ui); font-size:.9688rem; color:var(--ink-soft); letter-spacing:.005em;
}
.paths-aside a{
  color:var(--ruby); font-weight:600; text-decoration:none; white-space:nowrap;
  display:inline-flex; align-items:center; gap:.45rem;
  background-image:linear-gradient(var(--gold), var(--gold));
  background-size:0% 1px; background-position:0 100%; background-repeat:no-repeat;
  padding-bottom:3px; transition:background-size .35s var(--ease-soft);
}
.paths-aside a:hover{ background-size:100% 1px; }
.paths-aside a svg{ transition:transform .35s var(--ease-soft); }
.paths-aside a:hover svg{ transform:translateX(4px); }

/* --- three-tier variant (Sleep Reset · CCC · 1:1 Coaching) --- */
.paths-grid--three{ grid-template-columns:repeat(3, minmax(0,1fr)); }
.paths-grid--three .path-card{ padding:clamp(1.85rem, 2.6vw, 2.75rem); }
.paths-grid--three .path-card h3{
  font-size:clamp(1.45rem, 1.2rem + .9vw, 1.95rem); line-height:1.08; margin-bottom:1rem; max-width:18ch;
}
.paths-grid--three .path-meta{ margin-bottom:1.85rem; }
@media (max-width: 980px){ .paths-grid--three{ grid-template-columns:1fr; max-width:600px; margin-inline:auto; } }

/* premium / 1:1 — dark, gold-edged */
.path-card--ink{
  background:radial-gradient(125% 120% at 0% 0%, color-mix(in oklab, var(--feat-gold) 20%, transparent), transparent 55%),
    linear-gradient(160deg, var(--feat-bg), var(--feat-bg-2));
  color:var(--feat-ink);
  border:1px solid color-mix(in oklab, var(--feat-gold) 30%, transparent);
  box-shadow:0 40px 80px -44px color-mix(in oklab, #000 75%, transparent);
}
.path-card--ink h3{ color:var(--feat-ink); }
.path-card--ink p{ color:var(--feat-soft); margin-bottom:1.15rem; }
.path-card--ink .path-tag{ color:var(--feat-gold); }
.path-card--ink .path-meta{ color:color-mix(in oklab, var(--feat-soft) 78%, transparent); }
.path-card--ink .path-bloom{ color:var(--feat-gold); opacity:.16; }

/* gold CTA for the premium card */
.btn--gold{ background:var(--feat-gold); color:#1c1407; }
.btn--gold:hover{ background:color-mix(in oklab, var(--feat-gold) 85%, white); transform:translateY(-2px); }

/* "Most chosen" flag on the signature card */
.path-flag{
  position:absolute; top:1.5rem; right:1.5rem; z-index:2;
  font-family:var(--font-ui); font-size:.625rem; font-weight:700; letter-spacing:.16em; text-transform:uppercase;
  color:var(--ruby); background:var(--on-accent);
  padding:.42rem .75rem; border-radius:999px;
  box-shadow:0 6px 16px -8px color-mix(in oklab, var(--ruby-deep) 60%, transparent);
}

/* stacked actions (assessment + alt route) on the CCC card */
.path-actions{ margin-top:auto; display:flex; flex-direction:column; gap:1.1rem; align-items:flex-start; }
.path-actions .btn{ margin-top:0; }
.path-altlink{
  font-family:var(--font-ui); font-size:.8125rem; font-weight:600; letter-spacing:.01em;
  color:color-mix(in oklab, var(--on-accent) 82%, transparent); text-decoration:none;
  border-bottom:1px solid color-mix(in oklab, var(--on-accent) 38%, transparent); padding-bottom:2px;
  transition:color .3s var(--ease-soft), border-color .3s var(--ease-soft);
}
.path-altlink:hover{ color:var(--on-accent); border-color:var(--on-accent); }

/* ---------------- TURNING ---------------- */
.turning-section{ position:relative; overflow:hidden; color:var(--feat-ink); background:var(--feat-bg-2); }
.turning-media{ position:absolute; inset:-14% 0; z-index:0; }
.turning-media img{ width:100%; height:100%; object-fit:cover; opacity:.68; }
.turning-media::after{ content:""; position:absolute; inset:0;
  background:linear-gradient(180deg, color-mix(in oklab, var(--feat-bg-2) 62%, transparent), color-mix(in oklab, var(--feat-bg-2) 34%, transparent) 50%, color-mix(in oklab, var(--feat-bg-2) 68%, transparent)); }
.turning-inner{ position:relative; z-index:1; display:grid; grid-template-columns:1fr auto 1fr; align-items:center; gap:clamp(2rem, 5vw, 4.5rem); padding-block:clamp(2rem, 5vw, 3rem); }
.turning-state{ max-width:24ch; }
.turning-state .state-label{ font-family:var(--font-ui); font-size:.6875rem; font-weight:600; letter-spacing:.26em; text-transform:uppercase; color:var(--feat-soft); display:block; margin-bottom:1rem; }
.turning-state p{ font-family:var(--font-display); font-size:clamp(1.45rem, 1.1rem + 1.5vw, 2.15rem); line-height:1.22; color:color-mix(in oklab, var(--feat-ink) 94%, transparent); font-variation-settings:"opsz" 72; }
.turning-state--after p em{ color:var(--feat-gold); }
.turning-state--after{ text-align:right; justify-self:end; }
.turning-arrow{ color:var(--feat-gold); width:clamp(56px, 8vw, 100px); }
.turning-arrow svg{ width:100%; height:auto; overflow:visible; }
.turning-quiet{ position:relative; z-index:1; text-align:center; margin-top:clamp(2.5rem, 6vw, 4rem); }
.turning-quiet .hand{ color:var(--feat-gold); }
@media (max-width: 760px){
  .turning-inner{ grid-template-columns:1fr; text-align:left; }
  .turning-state--after{ text-align:left; justify-self:start; }
  .turning-arrow{ transform:rotate(90deg); justify-self:start; margin-block:-.5rem; }
}

/* ---------------- VOICES : spotlight quote ---------------- */
.voices-section{ background:var(--paper); }
.voices-head{ text-align:center; margin-bottom:clamp(2.75rem,6vw,4rem); }
.voices-head .eyebrow{ margin-bottom:1.6rem; max-width:none; }
.voices-spotlight{ max-width:900px; margin-inline:auto; text-align:center; }
.voices-stack{ display:grid; }
.voice-slide{
  grid-area:1/1; margin:0; display:flex; flex-direction:column; align-items:center;
  opacity:0; transform:translateY(18px); filter:blur(5px); pointer-events:none; visibility:hidden;
  transition:opacity .85s var(--ease-soft), transform .85s var(--ease-soft), filter .85s var(--ease-soft), visibility 0s .85s;
}
.voice-slide.is-active{ opacity:1; transform:none; filter:none; pointer-events:auto; visibility:visible; transition-delay:0s; }
.voice-slide .quote-mark{ font-family:var(--font-display); font-style:italic; font-size:4rem; line-height:.4; color:var(--gold); display:block; margin-bottom:2rem; margin-top:1rem; }
.voice-slide blockquote{ margin:0; }
.voice-slide blockquote p{
  font-family:var(--font-body); font-weight:400;
  font-size:clamp(1.15rem, 1rem + .8vw, 1.6rem); line-height:1.55; letter-spacing:0;
  color:var(--ink); max-width:52ch; margin-inline:auto; margin-bottom:2.2rem; text-wrap:pretty;
}
.voice-slide figcaption{ font-family:var(--font-ui); font-size:.8125rem; font-weight:600; letter-spacing:.22em; text-transform:uppercase; color:var(--ruby); }
.voice-slide figcaption span{ display:block; margin-top:.45rem; font-weight:500; letter-spacing:.06em; text-transform:none; color:var(--ink-soft); }
.voices-controls{ display:flex; align-items:center; justify-content:center; gap:1.6rem; margin-top:clamp(2.4rem, 5vw, 3.4rem); }
.voices-note{
  margin-top:clamp(2rem, 4vw, 2.8rem); max-width:52ch; margin-inline:auto;
  font-family:var(--font-ui); font-size:.8125rem; letter-spacing:.03em; line-height:1.7;
  color:color-mix(in oklab, var(--ink-soft) 75%, transparent);
}
.voices-arrow{ width:2.9rem; height:2.9rem; border-radius:50%; border:1px solid var(--rule); background:var(--surface);
  color:var(--ruby); display:flex; align-items:center; justify-content:center; cursor:pointer;
  transition:background .3s var(--ease-soft), color .3s var(--ease-soft), border-color .3s var(--ease-soft); }
.voices-arrow:hover{ background:var(--ruby); color:var(--paper); border-color:var(--ruby); }
.voices-count{ display:flex; align-items:center; gap:.9rem; font-family:var(--font-ui); font-size:.75rem; font-weight:600; letter-spacing:.14em; color:var(--ink-soft); font-variant-numeric:tabular-nums; }
.voices-count .n{ min-width:2ch; }
.voices-bar{ position:relative; width:clamp(70px, 12vw, 130px); height:1px; background:var(--rule-strong); display:block; overflow:hidden; }
.voices-bar i{ position:absolute; inset:0; display:block; transform-origin:0 50%; transform:scaleX(.1667); background:var(--ruby); transition:transform .6s var(--ease-soft); }

/* ---------------- FINAL CTA ---------------- */
.cta-section{
  background:radial-gradient(110% 130% at 50% -20%, color-mix(in oklab, var(--gold) 26%, transparent), transparent 55%),
    linear-gradient(170deg, var(--ruby), var(--ruby-deep));
  color:var(--on-accent); text-align:center; position:relative; overflow:hidden;
}
.cta-inner{ position:relative; z-index:1; max-width:56ch; margin-inline:auto; }
.cta-inner .eyebrow{ justify-content:center; color:color-mix(in oklab, var(--gold) 40%, var(--on-accent)); margin-bottom:1.8rem; }
.cta-inner .eyebrow .idx{ color:var(--gold); }
.cta-inner .eyebrow .idx::after{ background:color-mix(in oklab, var(--gold) 70%, transparent); }
.cta-inner h2{ color:var(--on-accent); margin-bottom:1.5rem; font-weight:330; font-variation-settings:"SOFT" 60, "WONK" 1, "opsz" 110, "wght" 330; }
.cta-inner h2 em{ color:color-mix(in oklab, var(--gold) 55%, var(--on-accent)); }
.cta-inner .lede{ color:color-mix(in oklab, var(--on-accent) 86%, transparent); margin-inline:auto; margin-bottom:2.6rem; }
.cta-inner .lede:has(+ .lede){ margin-bottom:1.15rem; }
.cta-ctas{ display:flex; flex-wrap:wrap; gap:1rem 1.1rem; justify-content:center; }
.cta-note{ margin-top:1.7rem; font-family:var(--font-ui); font-size:.8125rem; color:color-mix(in oklab, var(--on-accent) 66%, transparent); letter-spacing:.03em; }
/* eyebrow & note shrink to content (max-width:fit-content); center the shrunk box like the lede */
.cta-inner > .eyebrow,
.cta-inner > .cta-note{ margin-inline:auto; }
@media (min-width: 761px){
  .cta-inner .eyebrow{ white-space:nowrap; }
}

/* ---------------- shared refinements ---------------- */
/* light display weight, previously inline */
#truth-heading, #paths-heading, #voices-heading, .practice-head .stack-line:first-child{ font-weight:300; }

/* quiet inline CTA (gold underline sweep, arrow nudge) */
.quiet-cta{
  font-family:var(--font-ui); font-size:.9375rem; font-weight:600; letter-spacing:.01em;
  color:var(--ruby); text-decoration:none;
  display:inline-flex; align-items:center; gap:.45rem;
  background-image:linear-gradient(var(--gold), var(--gold));
  background-size:0% 1px; background-position:0 100%; background-repeat:no-repeat;
  padding-bottom:3px; transition:background-size .35s var(--ease-soft);
}
.quiet-cta:hover{ background-size:100% 1px; }
.quiet-cta svg{ transition:transform .35s var(--ease-soft); }
.quiet-cta:hover svg{ transform:translateX(4px); }
.letter-cta{ margin-top:2.2rem; }

/* ---------------- Sleep Reset email capture ---------------- */
.reset-form{ display:flex; flex-wrap:wrap; gap:.7rem; margin-top:auto; }
.reset-form input[type="email"]{
  flex:1 1 190px; min-width:0;
  font-family:var(--font-ui); font-size:.9063rem; color:var(--ink);
  background:var(--paper); border:1px solid var(--rule-strong); border-radius:999px;
  padding:.85rem 1.3rem; outline:none;
  transition:border-color .3s var(--ease-soft), box-shadow .3s var(--ease-soft);
}
.reset-form input[type="email"]::placeholder{ color:color-mix(in oklab, var(--ink-soft) 60%, transparent); }
.reset-form input[type="email"]:focus{ border-color:var(--ruby); box-shadow:0 0 0 3px color-mix(in oklab, var(--ruby) 14%, transparent); }
.reset-form.is-error input[type="email"]{ border-color:var(--ruby); }
.reset-form .btn{ margin:0; }
.reset-form-error{ margin-top:.8rem; font-family:var(--font-ui); font-size:.8125rem; letter-spacing:.02em; color:var(--ruby); }
.reset-form-note{ margin-top:.9rem; font-family:var(--font-ui); font-size:.78rem; letter-spacing:.03em; color:color-mix(in oklab, var(--ink-soft) 75%, transparent); }
.reset-form-done{ margin-top:auto; font-family:var(--font-body); font-size:1.0625rem; color:var(--ink); border-top:1px solid var(--rule); padding-top:1.2rem; }

/* ---------------- Voices : editorial grid beneath the spotlight ---------------- */
.voices-grid{
  display:grid; grid-template-columns:repeat(2, minmax(0,1fr));
  gap:clamp(2rem, 4vw, 3.25rem) clamp(2.5rem, 5vw, 4.5rem);
  max-width:1060px; margin:clamp(3rem, 6vw, 4.5rem) auto 0;
}
.voice-card{ margin:0; border-top:1px solid var(--rule); padding-top:1.6rem; text-align:left; }
.voice-card blockquote{ margin:0; }
.voice-card blockquote p{
  font-family:var(--font-body); font-weight:400; font-size:1.0625rem; line-height:1.66;
  color:var(--ink-soft); margin-bottom:1.4rem; text-wrap:pretty;
}
.voice-card figcaption{ font-family:var(--font-ui); font-size:.75rem; font-weight:600; letter-spacing:.22em; text-transform:uppercase; color:var(--ruby); }
.voice-card figcaption span{ margin-left:.7rem; font-weight:500; letter-spacing:.06em; text-transform:none; color:var(--ink-soft); }
@media (max-width: 760px){ .voices-grid{ grid-template-columns:1fr; } }
.voices-section .voices-note{ text-align:center; }

/* frames never ran (throttled/embedded contexts): readable static noise section */
html.noise-static .noise-track{ height:auto; }
html.noise-static .noise-stage{ position:relative; height:auto; min-height:100svh; }
html.noise-static .noise-quiet{ opacity:1 !important; transform:none !important; }
html.noise-static .noise-quiet .big{ filter:none !important; opacity:1 !important; }
html.noise-static .noise-sub{ opacity:1 !important; }
html.noise-static .noise-coda{ opacity:1 !important; transform:none !important; }
html.noise-static .turn-b{ opacity:1 !important; transform:none !important; }
html.noise-static .noise-coda--turn{ position:static; transform:none !important; margin-top:2rem; font-size:clamp(1.3rem, 1rem + 1.2vw, 1.9rem); }
html.noise-static .noise-line{ opacity:.16 !important; filter:blur(1px) !important; transform:translate(-50%,-50%) rotate(var(--r,0deg)) !important; }

html{ scroll-padding-top:96px; }
