/* Codex-only hero: a video-led introduction with one location for review excerpts. */
.codex-hero-preview .hero { padding-block:32px 40px; }
.codex-hero-preview .hero::before { display:none; }
.codex-hero-preview .hero-layout { display:block; }
.codex-hero-preview .hero-video {
  display:block;width:100%;margin:0;min-height:0;aspect-ratio:auto;
  border-radius:var(--r);overflow:hidden;box-shadow:var(--shadow);
  background:var(--forest-3);
}
.codex-hero-preview .hero-film-stage { position:relative;aspect-ratio:16/9; }
.codex-hero-preview .hero-video video {
  display:block;width:100%;height:100%;position:absolute;inset:0;object-fit:cover;
}
.codex-hero-preview .hero-overlay {
  padding:clamp(24px,3.5vw,48px);
  background:radial-gradient(ellipse 82% 80% at 0 0,rgba(12,26,17,.88) 0%,rgba(12,26,17,.62) 38%,rgba(12,26,17,.15) 72%,transparent 100%);
}
.codex-hero-preview .hero-quote { margin:0;max-width:54%; }
.codex-hero-preview .hero-quote h1 {
  font-size:clamp(34px,3.65vw,52px);line-height:1.1;max-width:13ch;
  margin:0;color:white;letter-spacing:-.025em;text-wrap:pretty;
}
.codex-hero-preview .hero-quote cite { margin-top:16px;gap:12px; }
.codex-hero-preview .hero-quote .cite-name,
.codex-hero-preview .hero-quote .cite-meta { color:white; }
.codex-hero-preview .hero-quote .tick { fill:var(--gold-on-dark); }
.codex-hero-preview .hero-captions {
  position:relative;margin:0;padding:20px 32px;
  background:linear-gradient(180deg,#1b3623,#122418);
  border-top:1px solid rgba(255,255,255,.12);color:white;
}
.codex-hero-preview .hero-review-lines {
  display:grid;gap:12px;list-style:none;margin:0;padding:0;
  font-family:var(--sans);font-size:18px;font-weight:600;line-height:1.5;
  text-align:center;
}
.codex-hero-preview .hero-review-lines li { margin:0;padding:0; }
/* Default content stays visible without JS. Sequencing starts only after setup. */
.codex-hero-preview .hero-captions.is-sequenced .hero-review-lines { gap:0; }
.codex-hero-preview .hero-captions.is-sequenced li {
  grid-area:1/1;align-self:center;opacity:0;
  transition:none;
}
.codex-hero-preview .hero-captions.is-sequenced li.is-active { opacity:1;transition:opacity 180ms ease-out; }
.codex-hero-preview .hero-copy-below {
  display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr);
  align-items:center;column-gap:64px;row-gap:16px;margin-top:28px;
}
.codex-hero-preview .hero-summary { min-width:0; }
.codex-hero-preview .hero-copy-below .eyebrow-rating {
  display:inline-flex;align-items:center;min-height:32px;padding:0;margin:0 0 12px;
  border:0;border-radius:0;background:transparent;box-shadow:none;
  flex-wrap:wrap;gap:4px 8px;font-size:15px;
}
.codex-hero-preview .eyebrow-rating:hover { transform:none; }
.codex-hero-preview .hero-copy .lead {
  margin:0;max-width:100%;font:400 17px/1.65 var(--sans);color:var(--ink-2);
}
.codex-hero-preview .hero-purchase { display:flex;flex-direction:column;gap:12px; }
.codex-hero-preview .hero-copy-below .cta-row {
  display:flex;align-items:stretch;margin:0;width:100%;
}
.codex-hero-preview .hero-copy-below .cta-row .btn {
  width:100%;min-width:0;min-height:62px;padding:16px 24px;font-size:18px;
  box-shadow:0 4px 12px rgba(138,46,28,.15);
}
.codex-hero-preview .hero-copy-below .risk-strip {
  display:flex;justify-content:center;flex-wrap:wrap;gap:6px 16px;margin:0;
  font-size:13px;line-height:1.5;font-weight:400;
}
.codex-hero-preview .risk-strip svg { width:18px;height:18px; }
.codex-hero-preview .hero-copy-below .hero-shift-fine {
  grid-column:1/-1;grid-row:auto;max-width:none;margin:0;
  font-size:13px;line-height:1.5;
}
@media (max-width:1000px) {
  .codex-hero-preview .hero-copy-below { column-gap:32px; }
  .codex-hero-preview .hero-copy-below .hero-summary { grid-column:1!important;grid-row:1!important; }
  .codex-hero-preview .hero-copy-below .hero-purchase { grid-column:2!important;grid-row:1!important; }
}
@media (max-width:760px) {
  .codex-hero-preview .hero.hero-has-video { padding-block:0 32px; }
  .codex-hero-preview .hero-video { width:calc(100% + 48px);margin-inline:-24px;border-radius:0;box-shadow:none; }
  .codex-hero-preview .hero-film-stage { display:flex;flex-direction:column;aspect-ratio:auto; }
  .codex-hero-preview .hero-video video {
    position:relative;inset:auto;order:2;height:auto;aspect-ratio:3/2;
    object-fit:cover;object-position:center;
  }
  .codex-hero-preview .hero-overlay {
    position:relative;inset:auto;order:1;padding:24px;
    background:var(--bone);
  }
  .codex-hero-preview .hero-quote { max-width:100%; }
  .codex-hero-preview .hero-quote h1 { max-width:22ch;font-size:clamp(29px,7.9vw,38px);line-height:1.15;color:var(--ink);text-shadow:none;text-wrap:balance; }
  .codex-hero-preview .hero-quote cite { margin-top:12px;gap:8px; }
  .codex-hero-preview .hero-quote .cite-name { font-size:15px;color:var(--ink); }
  .codex-hero-preview .hero-quote .cite-meta { font-size:13px;color:var(--ink-2); }
  .codex-hero-preview .hero-quote .tick { fill:var(--forest); }
  .codex-hero-preview .hero-captions { padding:16px 24px; }
  .codex-hero-preview .hero-review-lines { font-size:16px;line-height:1.5; }
  .codex-hero-preview .hero-captions.is-sequenced .hero-review-lines { min-height:48px; }
  .codex-hero-preview .hero-copy-below { display:flex;flex-direction:column;align-items:stretch;gap:20px;margin-top:20px; }
  .codex-hero-preview .hero-copy .lead { font-size:17px;line-height:1.6; }
  .codex-hero-preview .hero-purchase { gap:12px; }
  .codex-hero-preview .hero-copy-below .risk-strip { justify-content:flex-start; }
  .codex-hero-preview .hero-copy-below .hero-shift-fine { margin-top:-4px; }
}
@media (max-width:640px) {
  .codex-hero-preview .hero-video { width:calc(100% + 40px);margin-inline:-20px; }
  .codex-hero-preview .hero-overlay { padding-inline:20px; }
}
@media (prefers-reduced-motion:reduce) {
  .codex-hero-preview .hero-captions.is-sequenced .hero-review-lines { gap:12px; }
  .codex-hero-preview .hero-captions.is-sequenced li { grid-area:auto;opacity:1;transition:none; }
}
