/* ===== The Don System — Black & Gold "Dark Knight" Luxury Design System ===== */

:root {
  --black: #000000;
  --d1: #08070a;
  --d2: #0f0d11;
  --d3: #16131a;
  --hairline: rgba(212,175,55,0.10);
  --hairline-strong: rgba(212,175,55,0.22);
  --ink: #f5f1e6;
  --muted: #a9a39a;
  --muted-soft: #6e6a63;
  --gold: #c9a23e;
  --gold-bright: #e8c468;
  --gold-deep: #8a6d22;
  --gold-glow: rgba(212,175,55,0.45);
  --radius-pill: 999px;
  --radius-lg: 20px;
  --ease-out: cubic-bezier(0.16, 1, 0.3, 1);
  --ease-hover: cubic-bezier(0.65, 0, 0.35, 1);

  /* ---- Type scale (denser, editorial) ---- */
  --fs-2xs: 10px;
  --fs-xs: 11px;
  --fs-sm: 12.5px;
  --fs-base: 14px;
  --fs-md: 15px;
  --fs-lg: 17px;
  --fs-xl: 20px;
  --fs-2xl: 25px;
  --fs-3xl: 31px;
  --fs-4xl: 38px;
  --fs-5xl: 47px;
  --fs-hero: clamp(30px, 4vw, 48px);
  --fs-section-title: clamp(23px, 2.9vw, 35px);
}

* { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; }
body {
  background: var(--black);
  color: var(--ink);
  font-family: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif;
  line-height: 1.55;
  -webkit-font-smoothing: antialiased;
  overflow-x: clip; /* 'hidden' would break position:sticky for the hero sequence */
}
a { color: inherit; text-decoration: none; }
a, button, summary, .btn-pill, [data-edit-image] { cursor: pointer; }

/* Visible focus states for keyboard navigation */
a:focus-visible, button:focus-visible, summary:focus-visible, .btn-pill:focus-visible {
  outline: 2px solid var(--gold-bright);
  outline-offset: 3px;
  border-radius: 4px;
}

/* Reduced motion: calm the decorative effects but keep the page alive */
@media (prefers-reduced-motion: reduce) {
  body::after { animation: none !important; }
  .hero-scroll-cue span, .cd-dot { animation: none !important; }
  .reveal { transition: none !important; }
}

.wrap { max-width: 1080px; margin: 0 auto; padding: 0 28px; }
.wrap.narrow { max-width: 720px; }
.section { padding: 84px 28px; position: relative; }
.section-tight { padding: 56px 28px; }
.section-emphasis { padding: 100px 28px; }
.section-dark { background: var(--d1); }
.center { text-align: center; margin-left: auto; margin-right: auto; }

/* ---------- Depth & texture layers ---------- */
/* Film grain over everything — the "printed" feel */
body::after {
  content: '';
  position: fixed; inset: -50%;
  width: 200%; height: 200%;
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 250 250' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.7' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
  opacity: 0.035;
  pointer-events: none;
  z-index: 2000;
  animation: grainShift 0.9s steps(2) infinite;
}
@keyframes grainShift {
  0% { transform: translate(0, 0); }
  50% { transform: translate(-1.5%, 1%); }
  100% { transform: translate(1%, -1.5%); }
}
@media (prefers-reduced-motion: reduce) { body::after { animation: none; } }

/* Gold atmosphere behind alternating sections */
.section-dark {
  background:
    radial-gradient(ellipse 70% 55% at 15% 0%, rgba(212,175,55,0.05), transparent 60%),
    radial-gradient(ellipse 60% 50% at 90% 100%, rgba(212,175,55,0.04), transparent 55%),
    var(--d1);
}

/* Giant serif watermark for select sections */
.wm { position: relative; overflow: hidden; }
.wm::before {
  content: attr(data-wm);
  position: absolute; top: 50%; left: 50%;
  transform: translate(-50%, -50%);
  font-family: 'Cormorant Garamond', serif;
  font-style: italic; font-weight: 700;
  font-size: clamp(180px, 30vw, 420px);
  color: rgba(212,175,55,0.028);
  white-space: nowrap;
  pointer-events: none;
  z-index: 0;
  letter-spacing: -0.02em;
}
.wm > .wrap, .wm > .prize-split { position: relative; z-index: 1; }

/* Scroll progress bar */
.scroll-progress {
  position: fixed; top: 0; left: 0; height: 2px; width: 0%;
  background: linear-gradient(90deg, var(--gold-deep), var(--gold-bright));
  z-index: 300;
  box-shadow: 0 0 12px var(--gold-glow);
  transition: width .1s linear;
}

/* Gold hairline flourish under centered section titles */
.section-title.center::after {
  content: '';
  display: block;
  width: 56px; height: 1px;
  margin: 26px auto 0;
  background: linear-gradient(90deg, transparent, var(--gold-bright), transparent);
}

/* ---------- Lead magnet modal ---------- */
.lead-overlay {
  position: fixed; inset: 0; z-index: 500;
  background: rgba(0,0,0,0.78);
  backdrop-filter: blur(8px);
  display: none;
  align-items: center; justify-content: center;
  padding: 20px;
}
.lead-overlay.open { display: flex; animation: leadFade .35s var(--ease-out); }
@keyframes leadFade { from { opacity: 0; } to { opacity: 1; } }
.lead-modal {
  position: relative;
  width: 100%; max-width: 460px;
  max-height: 92vh; overflow-y: auto;
  background:
    radial-gradient(ellipse 80% 40% at 50% 0%, rgba(212,175,55,0.12), transparent 60%),
    var(--d2);
  border: 1px solid var(--gold-bright);
  border-radius: var(--radius-lg);
  padding: 40px 36px 34px;
  box-shadow: 0 40px 120px rgba(0,0,0,0.8), 0 0 60px rgba(212,175,55,0.15);
  animation: leadRise .45s var(--ease-out);
}
@keyframes leadRise { from { opacity: 0; transform: translateY(26px) scale(0.97); } to { opacity: 1; transform: none; } }
.lead-close {
  position: absolute; top: 14px; right: 16px;
  background: none; border: none;
  color: var(--muted-soft); font-size: 22px; line-height: 1;
  cursor: pointer; padding: 6px;
  transition: color .2s;
}
.lead-close:hover { color: var(--gold-bright); }
.lead-kicker {
  font-size: var(--fs-2xs); font-weight: 700; letter-spacing: 0.2em; text-transform: uppercase;
  color: var(--gold-bright); margin-bottom: 12px; text-align: center;
}
.lead-title {
  font-family: 'Cormorant Garamond', serif; font-weight: 700;
  font-size: var(--fs-2xl); color: var(--ink); text-align: center;
  line-height: 1.2; margin-bottom: 10px;
}
.lead-title em { color: var(--gold-bright); font-style: italic; }
.lead-sub {
  font-size: var(--fs-sm); color: var(--muted); text-align: center;
  margin-bottom: 24px; line-height: 1.6;
}
.lead-form { display: flex; flex-direction: column; gap: 12px; }
.lead-form input, .lead-form select {
  width: 100%;
  background: rgba(255,255,255,0.04);
  border: 1px solid var(--hairline-strong);
  border-radius: 10px;
  padding: 13px 16px;
  font-family: 'Inter', sans-serif;
  font-size: var(--fs-sm); color: var(--ink);
  outline: none;
  transition: border-color .2s, background .2s;
}
.lead-form input::placeholder { color: var(--muted-soft); }
.lead-form input:focus { border-color: var(--gold-bright); background: rgba(212,175,55,0.05); }
.lead-row-2 { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.lead-submit { margin-top: 6px; width: 100%; justify-content: center; }
.lead-privacy {
  font-size: 10px; color: var(--muted-soft); text-align: center; margin-top: 14px;
  letter-spacing: 0.02em;
}
.lead-success { text-align: center; padding: 30px 0 14px; display: none; }
.lead-success .ls-mark {
  width: 54px; height: 54px; border-radius: 50%;
  background: rgba(212,175,55,0.14); border: 1px solid var(--gold-bright);
  color: var(--gold-bright); font-size: 24px;
  display: flex; align-items: center; justify-content: center;
  margin: 0 auto 18px;
}
.lead-success h4 { font-family: 'Cormorant Garamond', serif; font-size: var(--fs-xl); color: var(--ink); margin-bottom: 8px; }
.lead-success p { font-size: var(--fs-sm); color: var(--muted); }

/* ---------- Hero scroll sequence (mirror → Aston) ---------- */
.hero-seq { height: 220vh; position: relative; }
.hero.hero-sticky {
  position: sticky; top: 0;
  height: 100vh; min-height: 0;
  overflow: hidden;
}
.hero-bg-img.hero-layer-a, .hero-bg-img.hero-layer-b {
  transition: none;
  will-change: transform, opacity;
  animation: none; /* JS drives these layers; specificity must beat .hero-bg-img's heroZoom */
  transform: scale(1.04);
}
@media (prefers-reduced-motion: reduce) {
  .hero-seq { height: auto; }
  .hero-layer-b { display: none !important; }
}
.hero-layer-b {
  opacity: 0;
  animation: none;
  object-position: center 40%;
}
.hero-line2 {
  position: absolute; inset: 0; z-index: 1;
  display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 14px;
  text-align: center;
  opacity: 0;
  pointer-events: none;
  padding: 0 28px;
}
.hl2-kicker {
  font-size: var(--fs-2xs); font-weight: 700; letter-spacing: 0.34em;
  color: var(--gold-bright); text-transform: uppercase;
}
.hl2-main {
  font-family: 'Cormorant Garamond', serif;
  font-size: clamp(38px, 5.4vw, 68px);
  font-weight: 600; line-height: 1.1;
  color: var(--ink);
  text-transform: uppercase;
  letter-spacing: 0.05em;
  text-shadow: 0 2px 30px rgba(0,0,0,0.9);
}
.hl2-main em { font-style: italic; color: var(--gold-bright); text-transform: none; letter-spacing: 0.01em; }
.hl2-sub {
  font-family: 'Cormorant Garamond', serif; font-style: italic;
  font-size: var(--fs-lg); color: var(--muted);
}
.hero-layer-b { filter: brightness(1.25) contrast(1.02); }

.hero-scroll-cue {
  position: absolute; bottom: 26px; left: 50%; transform: translateX(-50%);
  z-index: 2;
  width: 22px; height: 36px;
  border: 1px solid rgba(232,196,104,0.5);
  border-radius: 12px;
  display: flex; justify-content: center;
}
.hero-scroll-cue span {
  width: 3px; height: 8px; border-radius: 2px;
  background: var(--gold-bright);
  margin-top: 6px;
  animation: cueDrop 1.8s ease-in-out infinite;
}
@keyframes cueDrop {
  0% { transform: translateY(0); opacity: 1; }
  70% { transform: translateY(12px); opacity: 0; }
  100% { transform: translateY(0); opacity: 0; }
}

/* ---------- Client results carousel ---------- */
.ba-section {
  padding: 54px 0 60px;
  background:
    radial-gradient(ellipse 55% 60% at 50% 100%, rgba(212,175,55,0.06), transparent 60%),
    var(--d1);
  overflow: hidden;
}
.ba-head {
  display: flex; align-items: center; justify-content: center; gap: 22px;
  margin-bottom: 34px; padding: 0 28px;
}
.ba-rule { flex: 0 1 160px; height: 1px; background: linear-gradient(90deg, transparent, var(--hairline-strong)); }
.ba-rule:last-child { background: linear-gradient(90deg, var(--hairline-strong), transparent); }
.ba-title {
  font-size: var(--fs-xs); font-weight: 700; letter-spacing: 0.24em;
  color: var(--gold-bright); white-space: nowrap;
}
.ba-carousel { width: 100%; overflow: hidden; }
.ba-track {
  display: flex; gap: 18px;
  width: max-content;
  animation: baScroll 36s linear infinite;
}
.ba-carousel:hover .ba-track { animation-play-state: paused; }
@keyframes baScroll { 0% { transform: translateX(0); } 100% { transform: translateX(-50%); } }
.ba-card {
  position: relative;
  width: 420px; height: 300px;
  flex: none;
  border-radius: 10px;
  overflow: hidden;
  border: 1px solid var(--hairline);
  background: var(--d2);
}
.ba-card img { width: 100%; height: 100%; object-fit: cover; display: block; }
.ba-tag {
  position: absolute; bottom: 12px; left: 12px;
  background: rgba(0,0,0,0.72);
  backdrop-filter: blur(8px);
  border: 1px solid var(--hairline-strong);
  color: var(--gold-bright);
  font-size: var(--fs-2xs); font-weight: 700; letter-spacing: 0.14em;
  padding: 6px 12px;
}
.ba-reserved { border: 1px solid var(--hairline-strong); }
.ba-res-inner {
  height: 100%;
  display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 8px;
  background:
    radial-gradient(ellipse 70% 60% at 50% 30%, rgba(212,175,55,0.08), transparent 65%),
    var(--d2);
}
.ba-res-num { font-family: 'Cormorant Garamond', serif; font-size: 44px; font-weight: 600; color: var(--gold-bright); font-style: italic; }
.ba-res-txt { font-family: 'Cormorant Garamond', serif; font-size: var(--fs-lg); color: var(--ink); }
.ba-res-sub { font-size: var(--fs-2xs); letter-spacing: 0.18em; text-transform: uppercase; color: var(--muted-soft); }

/* ---------- Video testimonials ---------- */
.vt-grid {
  display: grid; grid-template-columns: repeat(2, minmax(0, 280px));
  gap: 26px; justify-content: center;
  margin: 10px 0 56px;
}
.vt-grid-single { grid-template-columns: minmax(0, 300px); }
.vt-card { display: flex; flex-direction: column; gap: 12px; }
.vt-frame {
  position: relative;
  aspect-ratio: 9 / 16;
  border-radius: 12px;
  overflow: hidden;
  border: 1px solid var(--hairline-strong);
  background:
    radial-gradient(ellipse 80% 50% at 50% 20%, rgba(212,175,55,0.07), transparent 60%),
    var(--d2);
  box-shadow: 0 24px 60px rgba(0,0,0,0.55);
}
.vt-frame video {
  position: absolute; inset: 0;
  width: 100%; height: 100%;
  object-fit: cover;
  z-index: 1;
}
.vt-empty {
  position: absolute; inset: 0;
  display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 10px;
  color: var(--muted-soft);
  font-size: var(--fs-xs); letter-spacing: 0.16em; text-transform: uppercase;
  z-index: 0;
}
.vt-roman { font-family: 'Cormorant Garamond', serif; font-style: italic; font-size: 40px; color: var(--gold-bright); }
.vt-caption {
  text-align: center;
  font-family: 'Cormorant Garamond', serif; font-style: italic;
  font-size: var(--fs-md); color: var(--muted);
}

/* ---------- Photographic section backgrounds ---------- */
.photo-section { position: relative; overflow: hidden; }
.ps-bg { position: absolute; inset: 0; z-index: 0; }
.ps-bg img {
  width: 100%; height: 100%;
  object-fit: cover; object-position: center;
  display: block;
}
.ps-overlay {
  position: absolute; inset: 0;
  background: linear-gradient(180deg, rgba(5,4,4,0.62) 0%, rgba(5,4,4,0.5) 45%, rgba(5,4,4,0.8) 100%);
}
.ps-overlay-left {
  background: linear-gradient(90deg, rgba(5,4,4,0.9) 0%, rgba(5,4,4,0.72) 55%, rgba(5,4,4,0.4) 100%);
}
.photo-section > .wrap { position: relative; z-index: 1; }
/* Overlay lightened to let the photo read — compensate with shadow so text stays legible */
.photo-section .section-title,
.photo-section .countdown-date,
.photo-section .countdown-chip,
.photo-section .section-eyebrow,
.photo-section .sub,
.photo-section .after-card p,
.photo-section .after-card h3 {
  text-shadow: 0 2px 20px rgba(0,0,0,0.75), 0 1px 3px rgba(0,0,0,0.6);
}
.photo-section .cd-block {
  background: rgba(15,13,17,0.72);
  backdrop-filter: blur(6px);
}
.photo-section .after-card {
  background: rgba(15,13,17,0.6);
  backdrop-filter: blur(10px);
}

/* ---------- Nav ---------- */
.utility-bar {
  position: fixed; top: 0; left: 0; right: 0; z-index: 101;
  height: 36px;
  display: flex; align-items: center; justify-content: space-between;
  padding: 0 32px;
  background: var(--black);
  border-bottom: 1px solid var(--hairline);
  font-size: var(--fs-2xs); color: var(--muted);
  letter-spacing: 0.03em;
}
.utility-bar a { color: var(--gold-bright); font-weight: 700; letter-spacing: 0.08em; }
.utility-bar a:hover { color: var(--ink); }

.site-nav {
  position: fixed; top: 36px; left: 0; right: 0; z-index: 100;
  display: flex; align-items: center; justify-content: space-between;
  padding: 20px 32px;
  background: rgba(0,0,0,0);
  backdrop-filter: blur(0px);
  border-bottom: 1px solid rgba(212,175,55,0);
  transition: background .3s var(--ease-hover), backdrop-filter .3s var(--ease-hover), border-color .3s var(--ease-hover);
}
.site-nav.scrolled {
  background: rgba(0,0,0,0.88);
  backdrop-filter: blur(18px);
  border-bottom: 1px solid var(--hairline-strong);
}
.nav-logo {
  font-weight: 900; font-size: 17px; letter-spacing: 1px;
  text-transform: uppercase;
  display: flex; align-items: center; gap: 10px;
}
.nav-logo .brand-mark { width: 32px; height: 32px; object-fit: contain; }
.nav-logo .brand-wordmark { color: var(--ink); }
.nav-logo .crown { color: var(--gold-bright); font-size: var(--fs-base); }
.nav-logo span { color: var(--gold-bright); }
.nav-links { display: flex; gap: 28px; }
.nav-links a { font-size: var(--fs-sm); font-weight: 500; color: var(--muted); transition: color .2s; }
.nav-links a:hover { color: var(--gold-bright); }

/* ---------- Buttons ---------- */
.btn-pill {
  display: inline-flex; align-items: center; gap: 8px;
  font-size: var(--fs-sm); font-weight: 700;
  text-transform: uppercase; letter-spacing: 0.5px;
  padding: 12px 24px;
  border-radius: var(--radius-pill);
  cursor: pointer; border: none;
  transition: transform .2s var(--ease-hover), box-shadow .2s var(--ease-hover);
}
.btn-pill:hover { transform: scale(1.03); }
.btn-gold {
  background: linear-gradient(135deg, var(--gold-deep), var(--gold-bright));
  color: #0a0a0a;
  box-shadow: 0 10px 30px var(--gold-glow);
}
.btn-gold:hover { box-shadow: 0 14px 40px var(--gold-glow); }
.btn-lg { font-size: var(--fs-base); padding: 17px 34px; }
.btn-sm { font-size: var(--fs-xs); padding: 9px 18px; }

/* ---------- Sticky bar ---------- */
.sticky-bar {
  position: fixed; top: 0; left: 0; right: 0; z-index: 99;
  display: flex; align-items: center; justify-content: center; gap: 20px;
  padding: 12px 16px;
  background: rgba(8,7,10,0.96);
  border-bottom: 1px solid var(--hairline-strong);
  font-size: var(--fs-sm);
  transform: translateY(-100%);
  transition: transform .25s ease;
}
.sticky-bar.show { transform: translateY(0); }
.sticky-bar strong { color: var(--gold-bright); }

/* ---------- Hero (bat-signal spotlight) ---------- */
.hero {
  position: relative;
  min-height: 100vh;
  display: flex; align-items: center; justify-content: center;
  padding: 96px 28px 48px;
  overflow: hidden;
  text-align: center;
}
.hero-bg {
  position: absolute; inset: 0; z-index: 0;
  background:
    radial-gradient(ellipse 55% 60% at 50% 0%, rgba(212,175,55,0.16), transparent 62%),
    radial-gradient(ellipse 70% 45% at 85% 90%, rgba(212,175,55,0.07), transparent 60%),
    linear-gradient(180deg, #050405 0%, #000000 65%);
}
.hero-bg-img {
  position: absolute; inset: 0; width: 100%; height: 100%;
  object-fit: cover; object-position: center 22%;
  opacity: 0.85;
  display: none;
  transform-origin: center 30%;
  animation: heroZoom 22s ease-in-out infinite alternate;
  will-change: transform;
}
@keyframes heroZoom {
  0%   { transform: scale(1.02) translateY(0); }
  100% { transform: scale(1.14) translateY(-14px); }
}
.hero-bg-img[src]:not([src=""]) { display: block; }
.hero-bg-overlay {
  position: absolute; inset: 0;
  background:
    linear-gradient(180deg, rgba(0,0,0,0.35) 0%, rgba(0,0,0,0.62) 55%, rgba(0,0,0,0.94) 100%),
    radial-gradient(ellipse 90% 70% at 50% 45%, transparent 30%, rgba(0,0,0,0.55) 100%);
}
.hero-pif-note {
  font-size: var(--fs-sm); color: var(--muted);
  margin-top: 2px;
}
.hero-pif-note strong { color: var(--gold-bright); }

/* ---------- Hero prize teaser — above-the-fold Bali + $10K hook ---------- */
.hero-prize-teaser {
  display: inline-flex; flex-wrap: wrap; align-items: center; justify-content: center;
  gap: 8px 16px;
  margin: 26px auto 6px;
  padding: 13px 26px;
  border: 1px solid rgba(232,196,104,0.4);
  border-radius: var(--radius-pill);
  background: linear-gradient(120deg, rgba(232,196,104,0.05), rgba(232,196,104,0.16), rgba(232,196,104,0.05));
  background-size: 220% 100%;
  animation: prizeShimmer 7s ease-in-out infinite;
  color: var(--ink);
  font-size: var(--fs-sm);
  text-decoration: none;
  cursor: pointer;
  transition: border-color .25s, transform .25s var(--ease-hover), box-shadow .25s var(--ease-hover);
  backdrop-filter: blur(6px);
}
.hero-prize-teaser:hover {
  border-color: var(--gold-bright);
  transform: translateY(-2px);
  box-shadow: 0 16px 44px rgba(212,175,55,0.28);
}
.hero-prize-teaser strong { color: var(--gold-bright); font-weight: 700; }
.hpt-sep { color: var(--muted-soft); }
.hpt-cta {
  font-weight: 700; letter-spacing: 0.05em; text-transform: uppercase;
  color: var(--gold-bright); font-size: var(--fs-xs);
}
@keyframes prizeShimmer { 0%, 100% { background-position: 0% 50%; } 50% { background-position: 100% 50%; } }
@media (prefers-reduced-motion: reduce) { .hero-prize-teaser { animation: none; } }
@media (max-width: 900px) {
  .hero-prize-teaser { font-size: var(--fs-xs); padding: 11px 18px; gap: 6px 10px; }
  .hpt-sep { display: none; }
}

/* Anchor targets should clear the fixed utility bar + nav */
section[id] { scroll-margin-top: 108px; }
.bat-signal {
  position: absolute; top: -120px; left: 50%; transform: translateX(-50%);
  width: 640px; height: 640px; z-index: 0;
  background: radial-gradient(circle, rgba(232,196,104,0.16) 0%, rgba(232,196,104,0.05) 35%, transparent 70%);
  filter: blur(2px);
  pointer-events: none;
}
.hero-vignette {
  position: absolute; inset: 0; z-index: 0;
  background: radial-gradient(ellipse 80% 60% at 50% 40%, transparent 35%, rgba(0,0,0,0.7) 100%);
}
.hero-content { position: relative; z-index: 1; max-width: 760px; margin: 0 auto; }

.eyebrow-pill {
  display: inline-flex; align-items: center; gap: 7px;
  background: rgba(212,175,55,0.08);
  border: 1px solid var(--hairline-strong);
  color: var(--gold-bright);
  font-size: var(--fs-xs); font-weight: 700; letter-spacing: 1px;
  padding: 7px 18px; border-radius: var(--radius-pill);
  margin-bottom: 30px;
  text-transform: uppercase;
}

.hero h1 {
  font-family: 'Cormorant Garamond', serif;
  font-size: var(--fs-hero);
  font-weight: 600;
  letter-spacing: 0.06em;
  line-height: 1.14;
  text-transform: uppercase;
  margin-bottom: 14px;
  color: var(--ink);
  text-shadow: 0 2px 24px rgba(0,0,0,0.85), 0 1px 4px rgba(0,0,0,0.6);
}
.hero .sub { text-shadow: 0 1px 12px rgba(0,0,0,0.9); }
.hero h1 .gold-line {
  background: linear-gradient(135deg, var(--gold-deep), var(--gold-bright));
  -webkit-background-clip: text; background-clip: text;
  -webkit-text-fill-color: transparent;
}

.sub {
  color: var(--muted);
  font-size: var(--fs-md);
  max-width: 600px;
  margin: 0 auto 36px;
}
.sub.center { text-align: center; }

.price-block {
  display: flex; align-items: baseline; justify-content: center; gap: 16px;
  margin-bottom: 10px;
}
.price-strike { font-size: var(--fs-xl); color: var(--muted-soft); text-decoration: line-through; }
.price-now { font-size: var(--fs-5xl); font-weight: 900; color: var(--gold-bright); }
.spots-note { font-size: var(--fs-sm); color: var(--muted); margin-top: 28px; }
.spots-note span { color: var(--gold-bright); font-weight: 700; }

.hero .btn-pill { margin: 14px 0 12px; }
.hero-content .eyebrow-pill { margin-bottom: 16px; }
.hero-content .sub { margin-bottom: 20px; }
.hero-content .hero-prize-teaser { margin: 12px auto 4px; }
.hero-content .spots-note { margin-top: 14px; }

/* Short desktop viewports (common laptop screens with browser chrome, e.g. 1366x768) —
   the hero is pinned at a fixed 100vh with overflow:hidden, so content taller than the
   viewport gets silently clipped top and bottom. Compress further below ~820px tall. */
@media (min-width: 901px) and (max-height: 820px) {
  .hero { padding: 56px 28px 28px; }
  .hero h1 { font-size: clamp(24px, 3.2vw, 38px); margin-bottom: 10px; }
  .hero-content .eyebrow-pill { margin-bottom: 10px; }
  .hero-content .sub { font-size: var(--fs-sm); margin-bottom: 12px; }
  .price-now { font-size: var(--fs-4xl); }
  .hero-content .hero-prize-teaser { margin: 8px auto 2px; padding: 9px 18px; }
  .hero .btn-pill { margin: 10px 0 8px; }
  .hero-trust { display: none; }
  .hero-content .spots-note { margin-top: 8px; }
}
@media (min-width: 901px) and (max-height: 680px) {
  .hero-content .hero-prize-teaser { display: none; }
  .hero-content .spots-note { display: none; }
}

.google-reviews {
  display: flex; align-items: center; justify-content: center; gap: 14px;
  margin-bottom: 4px;
}
.gr-avatars { display: flex; }
.gr-avatar {
  width: 32px; height: 32px; border-radius: 50%;
  border: 2px solid var(--black);
  margin-left: -10px;
  position: relative;
  overflow: hidden;
}
.gr-avatar .ph { position: absolute; inset: 0; background: linear-gradient(135deg, #3a3a3a, #1c1c1c); }
.gr-avatar img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; display: none; }
.gr-avatar img[src]:not([src=""]) { display: block; }
.gr-avatars .gr-avatar:first-child { margin-left: 0; }
.gr-info { text-align: left; }
.gr-stars { color: var(--gold-bright); font-size: var(--fs-sm); letter-spacing: 1px; }
.gr-text { font-size: var(--fs-xs); color: var(--muted); }
.gr-text strong { color: var(--ink); }

.hero-trust {
  display: flex; align-items: center; justify-content: center; gap: 18px;
  font-size: var(--fs-2xs); font-weight: 700; letter-spacing: 0.22em;
  color: var(--muted);
}
.ht-rule { width: 44px; height: 1px; background: linear-gradient(90deg, transparent, var(--hairline-strong)); }
.ht-rule:last-child { background: linear-gradient(90deg, var(--hairline-strong), transparent); }

.hero-cta-row { display: flex; flex-direction: column; align-items: center; gap: 16px; }
.secondary-cta { font-size: var(--fs-sm); color: var(--muted-soft); }
.secondary-cta a { color: var(--muted); text-decoration: underline; }
.secondary-cta a:hover { color: var(--gold-bright); }

/* ---------- Reveal animation ---------- */
.reveal { opacity: 0; transform: translateY(22px); transition: opacity .7s var(--ease-out), transform .7s var(--ease-out); }
.reveal.in-view { opacity: 1; transform: translateY(0); }

/* ---------- Section headings ---------- */
.section-eyebrow {
  font-size: var(--fs-xs); font-weight: 700; letter-spacing: 0.2em; text-transform: uppercase;
  color: var(--gold-bright); margin-bottom: 16px;
}
.section-title {
  font-family: 'Cormorant Garamond', 'Inter', serif;
  font-size: var(--fs-section-title);
  font-weight: 600;
  letter-spacing: -0.01em;
  line-height: 1.25;
  max-width: 720px;
  margin: 0 auto 48px;
  color: var(--ink);
}

/* ---------- Gap / problem rows ---------- */
/* ---------- True iOS-grade glass (Liquid Glass) ----------
   Real frosted glass reads through three things at once: a strong blur+
   saturation boost on what's behind it, a bright hairline catching light
   on the top edge, and a soft specular sheen drifting across the surface.
   One layer of blur alone just looks like "dim panel" — this stacks all three. */
.glass-field { position: relative; overflow: hidden; }
.glass-field::before, .glass-field::after {
  content: ''; position: absolute; border-radius: 50%;
  filter: blur(64px); z-index: 0; pointer-events: none;
}
.glass-field::before {
  width: 480px; height: 480px;
  background: radial-gradient(circle, rgba(232,196,104,0.4), transparent 68%);
  top: -160px; left: 4%;
}
.glass-field::after {
  width: 420px; height: 420px;
  background: radial-gradient(circle, rgba(110,150,220,0.24), transparent 68%);
  bottom: -180px; right: 2%;
}
.glass-field > .wrap { position: relative; z-index: 1; }

.gap-list {
  display: flex; flex-direction: column; gap: 1px;
  max-width: 620px; margin: 0 auto;
  position: relative;
  background: linear-gradient(155deg, rgba(255,255,255,0.1), rgba(255,255,255,0.02) 40%, rgba(255,255,255,0.05));
  border: 1px solid rgba(255,255,255,0.14);
  border-radius: 26px;
  backdrop-filter: blur(38px) saturate(190%);
  -webkit-backdrop-filter: blur(38px) saturate(190%);
  box-shadow:
    0 40px 100px rgba(0,0,0,0.55),
    inset 0 1px 1px rgba(255,255,255,0.5),
    inset 0 0 0 1px rgba(255,255,255,0.04),
    inset 0 -20px 40px rgba(0,0,0,0.18);
  padding: 6px 8px;
  overflow: hidden;
  isolation: isolate;
}
.gap-list::before {
  /* diagonal specular sheen — the thing that makes glass read as glass */
  content: '';
  position: absolute; inset: 0; z-index: 1;
  background: linear-gradient(115deg, rgba(255,255,255,0.14) 0%, transparent 22%, transparent 78%, rgba(255,255,255,0.06) 100%);
  pointer-events: none;
  mix-blend-mode: overlay;
}
.gap-row {
  font-size: var(--fs-md); color: var(--muted);
  padding: 20px 30px 20px 44px; position: relative; z-index: 2;
  border-bottom: 1px solid rgba(255,255,255,0.08);
}
.gap-row:last-child { border-bottom: none; }
.gap-row::before { content: '—'; position: absolute; left: 16px; color: var(--gold-bright); }
.gap-sub { text-align: center; margin-top: 36px; color: var(--muted-soft); font-size: var(--fs-base); font-style: italic; }

/* ---------- VSL texture + animated gold glow ---------- */
.vsl-tex { position: relative; overflow: hidden; }
.vsl-tex::before {
  content: ''; position: absolute; inset: 0; z-index: 0;
  background-image: radial-gradient(rgba(232,196,104,0.14) 0.6px, transparent 0.6px);
  background-size: 18px 18px;
  opacity: 0.7;
  pointer-events: none;
}
.vsl-tex > .wrap { position: relative; z-index: 1; }

.vsl-frame { max-width: 720px; margin: 0 auto; position: relative; }
/* Layered glow: a soft wide bloom (depth) + a tighter crisp ring (the "sharp 4K" edge)
   spinning at different speeds so it reads as light, not a smudge. */
.vsl-glow {
  position: absolute; inset: -14%;
  z-index: 0;
  background: conic-gradient(from 0deg,
    transparent, rgba(232,196,104,0.32) 12%, transparent 30%,
    rgba(232,196,104,0.22) 52%, transparent 74%, rgba(232,196,104,0.3) 90%, transparent);
  filter: blur(70px);
  opacity: 0.7;
  animation: vslSpin 22s linear infinite;
  pointer-events: none;
}
.vsl-glow-ring {
  position: absolute; inset: -3%;
  z-index: 0;
  border-radius: 14px;
  background: conic-gradient(from 90deg,
    transparent, rgba(255,224,160,0.9) 8%, transparent 20%,
    transparent 48%, rgba(255,224,160,0.7) 58%, transparent 72%);
  filter: blur(6px) saturate(160%);
  opacity: 0.9;
  animation: vslSpin 22s linear infinite reverse;
  pointer-events: none;
  mix-blend-mode: screen;
}
@keyframes vslSpin { to { transform: rotate(360deg); } }
@media (prefers-reduced-motion: reduce) { .vsl-glow, .vsl-glow-ring { animation: none; } }
.vsl-inner {
  position: relative; z-index: 1;
  border-radius: 10px; overflow: hidden;
  isolation: isolate;
  box-shadow: 0 0 0 1px rgba(255,229,168,0.5), 0 0 40px rgba(232,196,104,0.18);
}
.vsl-spotlight {
  position: absolute; inset: 0;
  background: radial-gradient(circle at var(--mx, 50%) var(--my, 18%), rgba(255,236,190,0.4), transparent 50%);
  mix-blend-mode: screen;
  opacity: 0;
  transition: opacity .35s ease;
  pointer-events: none;
  z-index: 2;
}
.vsl-inner:hover .vsl-spotlight, .vsl-inner.glow-active .vsl-spotlight { opacity: 1; }
/* Crisp inner edge highlight — mimics a bright HDR bezel so the frame itself reads sharper */
.vsl-inner::after {
  content: '';
  position: absolute; inset: 0; z-index: 3;
  border-radius: inherit;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,0.14), inset 0 1px 0 rgba(255,255,255,0.28);
  pointer-events: none;
}
.vsl-placeholder {
  position: relative;
  aspect-ratio: 16/9;
  border: 1px solid var(--hairline-strong);
  border-radius: var(--radius-lg);
  overflow: hidden;
}
.vsl-placeholder .ph {
  position: absolute; inset: 0;
  background: linear-gradient(135deg, #1c1a14, #0c0b08);
  display: flex; flex-direction: column; align-items: center; justify-content: center;
  gap: 18px;
  color: var(--muted-soft);
  font-size: var(--fs-sm);
  text-align: center;
  padding: 24px;
}
.vsl-placeholder img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; display: none; }
.vsl-play {
  position: relative; z-index: 1;
  width: 64px; height: 64px; border-radius: 50%;
  background: linear-gradient(135deg, var(--gold-deep), var(--gold-bright));
  color: #0a0a0a;
  display: flex; align-items: center; justify-content: center;
  font-size: var(--fs-xl);
  box-shadow: 0 10px 30px var(--gold-glow);
  transition: transform .2s var(--ease-hover);
}
.vsl-placeholder:hover .vsl-play { transform: scale(1.08); }
.vsl-ph-label { position: relative; z-index: 1; max-width: 420px; }
.vsl-overlay-text {
  position: relative; z-index: 1;
  display: flex; flex-direction: column; gap: 4px;
  text-align: center; margin-bottom: 6px;
}
.vsl-overlay-text span {
  font-family: 'Cormorant Garamond', serif; font-weight: 700;
  font-size: clamp(18px, 3vw, 26px); color: var(--ink);
  text-transform: uppercase; letter-spacing: 0.01em;
}
.vsl-overlay-text span:last-child { color: var(--gold-bright); }
.vsl-chip {
  position: absolute; left: 50%; bottom: 0; transform: translate(-50%, 50%);
  z-index: 2;
  background: linear-gradient(135deg, var(--gold-deep), var(--gold-bright));
  color: #0a0a0a; font-weight: 800; font-size: var(--fs-xs); letter-spacing: 0.08em;
  text-transform: uppercase;
  padding: 11px 28px; border-radius: var(--radius-pill);
  box-shadow: 0 10px 28px var(--gold-glow);
  white-space: nowrap;
}

/* ---------- Photo grid (asymmetric mosaic) ---------- */
.trust-strip-section { padding: 0; }
.photo-grid {
  display: grid;
  grid-template-columns: 2fr 1.4fr 1fr;
  grid-template-rows: 520px;
  width: 100%;
  gap: 3px;
  background: var(--black);
}
.pg-col-right { display: grid; grid-template-rows: 1fr auto; gap: 3px; }
.pg-col-far   { display: grid; grid-template-rows: auto 1fr; gap: 3px; }
.pg-row-bottom { display: grid; grid-template-columns: 1fr 1fr; gap: 3px; }
.pg-cell {
  position: relative; overflow: hidden;
  background: var(--d2);
}
.pg-cell .ph {
  position: absolute; inset: 0;
  background: linear-gradient(160deg, #1a1510, #0a0807);
}
.pg-cell img {
  position: absolute; inset: 0; width: 100%; height: 100%;
  object-fit: cover; object-position: center top;
  display: none;
  transition: transform .6s var(--ease-hover);
}
.pg-cell img[src]:not([src=""]) { display: block; }
.pg-cell:hover img { transform: scale(1.04); }
.pg-large { }
.pg-tall { }
.pg-tall-bottom { }
.pg-label {
  position: absolute; bottom: 16px; left: 16px; z-index: 2;
  font-size: var(--fs-2xs); font-weight: 700; letter-spacing: 0.12em;
  color: var(--gold-bright);
  background: rgba(0,0,0,0.55);
  padding: 5px 10px;
  border: 1px solid var(--hairline);
  backdrop-filter: blur(6px);
}
.pg-label-bottom { bottom: 16px; left: 16px; }

/* keep old trust-photo class working if referenced anywhere */
.trust-photo { position: relative; aspect-ratio: 3/4; overflow: hidden; }
.trust-photo .ph { position: absolute; inset: 0; background: linear-gradient(160deg, #211d16, #0c0a07); }
.trust-photo img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; display: none; }

/* ---------- Standalone Button CTA section ---------- */
.btn-cta-section { padding: 70px 28px; }
.btn-cta-section .secondary-cta { margin-top: 18px; }

/* ---------- Countdown timer ---------- */
.countdown-section { padding-top: 90px; }
.countdown-chip {
  display: inline-flex; align-items: center; gap: 8px;
  border: 1px solid var(--hairline-strong); border-radius: var(--radius-pill);
  padding: 7px 16px; font-size: var(--fs-2xs); font-weight: 700; letter-spacing: 0.1em;
  color: var(--muted); margin-bottom: 22px;
}
.cd-dot { width: 6px; height: 6px; border-radius: 50%; background: var(--gold-bright); animation: cdPulse 2s ease-in-out infinite; }
@keyframes cdPulse { 0%, 100% { opacity: 1; } 50% { opacity: 0.35; } }
.countdown-date {
  font-family: 'Cormorant Garamond', serif; font-weight: 700;
  font-size: clamp(34px, 5vw, 52px); color: var(--gold-bright);
  margin: 6px 0 36px;
}
.countdown-grid { display: flex; justify-content: center; gap: 14px; margin-bottom: 36px; flex-wrap: wrap; }
.cd-block {
  background: var(--d2); border: 1px solid var(--hairline-strong); border-radius: var(--radius-lg);
  padding: 22px 26px; min-width: 88px; text-align: center;
}
.cd-num { font-family: 'Cormorant Garamond', serif; font-size: var(--fs-4xl); font-weight: 700; color: var(--ink); font-variant-numeric: tabular-nums; }
.cd-label { font-size: var(--fs-2xs); color: var(--muted-soft); text-transform: uppercase; letter-spacing: 0.08em; margin-top: 4px; }
.cd-live { font-family: 'Cormorant Garamond', serif; font-size: var(--fs-2xl); color: var(--gold-bright); padding: 20px 0; }
.countdown-disclaimer { font-size: var(--fs-xs); color: var(--muted-soft); margin-top: 18px; font-style: italic; }

/* ---------- Value stack ---------- */
.stack { max-width: 600px; margin: 0 auto; border: 1px solid var(--hairline-strong); border-radius: var(--radius-lg); overflow: hidden; }
.stack-row { display: flex; justify-content: space-between; padding: 16px 24px; border-bottom: 1px solid var(--hairline); font-size: var(--fs-base); transition: background .2s var(--ease-hover); }
.stack-row:not(.total):hover { background: rgba(212,175,55,0.04); }
.stack-row:last-child { border-bottom: none; }
.stack-row .val { color: var(--muted-soft); }
.stack-row.total { background: var(--d2); font-weight: 800; font-size: 17px; }
.stack-row.total .val { color: var(--gold-bright); }

.price-recap { text-align: center; margin: 32px auto 0; font-size: var(--fs-base); color: var(--muted); }
.price-recap strong { color: var(--gold-bright); font-size: var(--fs-lg); }
.price-recap .strike { text-decoration: line-through; color: var(--muted-soft); }
.center-cta { text-align: center; margin-top: 40px; }

/* ---------- Process steps ---------- */
.process-row { display: flex; align-items: flex-start; justify-content: space-between; margin-top: 16px; position: relative; gap: 14px; }
.process-step { flex: 1; text-align: center; position: relative; padding: 0 14px; }
.process-node {
  width: 56px; height: 56px; border-radius: 50%;
  background: var(--d2); border: 1px solid var(--hairline-strong);
  display: flex; align-items: center; justify-content: center;
  font-weight: 800; font-size: var(--fs-md); color: var(--gold-bright);
  margin: 0 auto 20px; position: relative; z-index: 2;
}
.process-connector { position: absolute; top: 28px; left: 0; right: 0; height: 0; border-top: 2px dashed var(--hairline-strong); z-index: 1; }
.process-step h4 { font-size: var(--fs-md); font-weight: 700; margin-bottom: 10px; color: var(--ink); }
.process-step p { font-size: var(--fs-sm); color: var(--muted); max-width: 240px; margin: 0 auto; }

/* ---------- Who for ---------- */
.whofor-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; max-width: 820px; margin: 0 auto; position: relative; z-index: 1; }
.whofor-col {
  position: relative; overflow: hidden; isolation: isolate;
  border: 1px solid rgba(255,255,255,0.16);
  border-radius: 28px; padding: 34px;
  background: linear-gradient(155deg, rgba(255,255,255,0.11), rgba(255,255,255,0.02) 45%, rgba(255,255,255,0.05));
  backdrop-filter: blur(36px) saturate(190%);
  -webkit-backdrop-filter: blur(36px) saturate(190%);
  box-shadow:
    0 30px 70px rgba(0,0,0,0.5),
    inset 0 1px 1px rgba(255,255,255,0.55),
    inset 0 0 0 1px rgba(255,255,255,0.04),
    inset 0 -18px 36px rgba(0,0,0,0.2);
}
.whofor-col::before {
  content: ''; position: absolute; inset: 0; z-index: 0;
  border-radius: inherit; pointer-events: none;
}
.whofor-col::after {
  /* specular sheen */
  content: ''; position: absolute; inset: 0; z-index: 1;
  background: linear-gradient(120deg, rgba(255,255,255,0.16) 0%, transparent 26%, transparent 76%, rgba(255,255,255,0.05) 100%);
  mix-blend-mode: overlay;
  pointer-events: none;
}
.whofor-col.yes { border-color: rgba(232,196,104,0.45); }
.whofor-col.yes::before { background: radial-gradient(circle at 25% 0%, rgba(232,196,104,0.26), transparent 62%); }
.whofor-col.no::before { background: radial-gradient(circle at 75% 0%, rgba(110,150,220,0.16), transparent 62%); }
.whofor-col h3, .whofor-col ul { position: relative; z-index: 2; }
.whofor-col li::before { z-index: 1; }
.whofor-col h3 { font-size: var(--fs-md); margin-bottom: 18px; }
.whofor-col.yes h4 { color: var(--gold-bright); }
.whofor-col.no h4 { color: var(--muted-soft); }
.whofor-col ul { list-style: none; display: flex; flex-direction: column; gap: 14px; }
.whofor-col li { font-size: var(--fs-base); color: var(--muted); padding-left: 28px; position: relative; }
.whofor-col li::before {
  position: absolute; left: 0; top: 1px;
  width: 18px; height: 18px; border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  font-size: var(--fs-2xs); font-weight: 800; line-height: 1;
}
.whofor-col.yes li::before { content: '✓'; background: rgba(212,175,55,0.18); color: var(--gold-bright); }
.whofor-col.no li::before { content: '✕'; background: rgba(110,106,99,0.18); color: var(--muted-soft); }

/* ---------- Testimonials / stats ---------- */
.testimonials { display: grid; grid-template-columns: repeat(2, 1fr); max-width: 780px; margin: 0 auto 56px; gap: 20px; }
.t-card { background: var(--d2); border: 1px solid var(--hairline-strong); border-radius: var(--radius-lg); padding: 0; overflow: hidden; transition: transform .25s var(--ease-hover), border-color .25s var(--ease-hover); }
.t-card:hover { transform: translateY(-4px); border-color: var(--hairline-strong); }
.t-photo-placeholder {
  position: relative;
  width: 100%; aspect-ratio: 4/3;
  border-bottom: 1px solid var(--hairline-strong);
  overflow: hidden;
}
.t-photo-placeholder .ph {
  position: absolute; inset: 0;
  background: linear-gradient(135deg, #2a2a2a, #1a1a1a);
  display: flex; align-items: center; justify-content: center;
  text-align: center; padding: 12px;
  color: var(--muted-soft); font-size: var(--fs-2xs); text-transform: uppercase; letter-spacing: 0.08em;
}
.t-photo-placeholder img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; display: none; }
.t-photo-placeholder img[src]:not([src=""]) { display: block; }
.t-card-body { padding: 24px; }
.t-card p { font-size: var(--fs-base); color: var(--muted); margin-bottom: 18px; }
.t-name { font-size: var(--fs-sm); font-weight: 700; color: var(--ink); }
.t-name span { display: block; font-weight: 400; color: var(--muted-soft); font-size: var(--fs-xs); margin-top: 2px; }

.stat-row { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; border-top: 1px solid var(--hairline-strong); padding-top: 40px; text-align: center; }
.stat-card .num { font-size: var(--fs-4xl); font-weight: 900; color: var(--gold-bright); }
.stat-card .label { font-size: var(--fs-xs); color: var(--muted-soft); text-transform: uppercase; letter-spacing: 0.06em; margin-top: 6px; }
.placeholder-note { text-align: center; font-size: var(--fs-2xs); color: var(--muted-soft); margin-top: 18px; font-style: italic; }

/* ---------- Offer pills ---------- */
.price-unit { font-size: var(--fs-xl); font-weight: 700; color: var(--muted); margin-left: 2px; }
.offer-sub { color: var(--muted); font-size: var(--fs-base); margin-top: -28px; margin-bottom: 36px; }
.offer-graphic-wrap { text-align: center; margin: 0 auto 48px; max-width: 680px; }
.offer-graphic-img { width: 100%; height: auto; border-radius: 12px; }
.included-pills { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px; max-width: 760px; margin: 0 auto 40px; }
.pill {
  display: inline-flex; align-items: center; gap: 8px;
  background: var(--d3); border: 1px solid var(--hairline-strong);
  border-radius: var(--radius-pill);
  padding: 9px 18px; font-size: var(--fs-sm); color: var(--ink);
}
.pill::before { content: ''; width: 6px; height: 6px; border-radius: 50%; background: var(--gold-bright); }

/* ---------- 8-Week interactive build ---------- */
.weeks-section .section-title { margin-bottom: 36px; }
.phase-tabs { display: flex; justify-content: center; gap: 0; max-width: 700px; margin: 0 auto; border-bottom: 1px solid var(--hairline-strong); }
.phase-tab {
  flex: 1; text-align: center; padding: 0 0 12px;
  font-size: var(--fs-xs); font-weight: 700; letter-spacing: 0.15em; text-transform: uppercase;
  color: var(--muted-soft); cursor: pointer;
  border-bottom: 2px solid transparent; margin-bottom: -1px;
  transition: color .2s, border-color .2s;
}
.phase-tab.active { color: var(--gold-bright); border-bottom-color: var(--gold-bright); }
.phase-tab:hover { color: var(--ink); }

.week-tabs { display: grid; grid-template-columns: repeat(8, 1fr); gap: 8px; max-width: 900px; margin: 24px auto 0; }
.week-tab {
  background: var(--d2); border: 1px solid var(--hairline-strong); border-radius: 10px;
  padding: 16px 4px; text-align: center; cursor: pointer;
  font-family: inherit; color: var(--muted);
  display: flex; flex-direction: column; gap: 4px;
  transition: border-color .2s, background .2s, box-shadow .25s var(--ease-hover), transform .2s var(--ease-hover);
}
.week-tab .wk-num { font-family: 'Cormorant Garamond', serif; font-size: var(--fs-2xl); font-weight: 700; color: var(--ink); transition: color .2s; }
.week-tab .wk-lbl { font-size: 9px; letter-spacing: 0.1em; color: var(--muted-soft); }
.week-tab:hover { border-color: var(--hairline-strong); background: var(--d3); transform: translateY(-2px); }
.week-tab.active { background: #1a1610; border-color: var(--gold-bright); box-shadow: 0 0 0 1px var(--gold-bright) inset, 0 8px 20px var(--gold-glow); transform: translateY(-2px); }
.week-tab.active .wk-num { color: var(--gold-bright); }

.week-panel-frame { max-width: 900px; margin: 24px auto 0; background: var(--d2); border: 1px solid var(--hairline-strong); border-radius: var(--radius-lg); padding: 40px; }
.week-panel { display: none; }
.week-panel.active { display: block; animation: weekFadeIn .35s var(--ease-out); }
@keyframes weekFadeIn { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: translateY(0); } }
.wp-meta { font-size: var(--fs-xs); font-weight: 700; letter-spacing: 0.15em; color: var(--gold-bright); margin-bottom: 14px; }
.week-panel h3 { font-family: 'Cormorant Garamond', serif; font-size: var(--fs-3xl); font-weight: 700; color: var(--ink); margin-bottom: 24px; }
.wp-points { list-style: none; display: flex; flex-direction: column; gap: 14px; margin-bottom: 28px; }
.wp-points li { font-size: var(--fs-base); color: var(--ink); padding-left: 24px; position: relative; }
.wp-points li::before { content: '✦'; position: absolute; left: 0; top: 1px; color: var(--gold-bright); font-size: var(--fs-xs); }
.wp-row { display: grid; grid-template-columns: 130px 1fr; gap: 16px; padding: 16px 0; border-top: 1px solid var(--hairline); }
.wp-row-label { font-size: var(--fs-2xs); font-weight: 700; letter-spacing: 0.1em; color: var(--muted-soft); text-transform: uppercase; }
.wp-row span:last-child { font-size: var(--fs-base); color: var(--muted); }

/* ---------- Four Pillars ---------- */
.pillars-list { display: flex; flex-direction: column; gap: 0; }
.pillar-item { border-bottom: 1px solid var(--hairline-strong); padding: 22px 0; }
.pillar-item summary {
  cursor: pointer; list-style: none;
  display: flex; align-items: center; gap: 16px;
}
.pillar-item summary::-webkit-details-marker { display: none; }
.pillar-num { font-family: 'Cormorant Garamond', serif; font-size: var(--fs-lg); color: var(--gold-bright); width: 24px; }
.pillar-name { flex: 1; font-family: 'Cormorant Garamond', serif; font-size: var(--fs-xl); font-weight: 600; color: var(--ink); }
.pillar-item .chev { color: var(--gold-bright); font-size: var(--fs-xl); font-weight: 400; display: inline-block; transition: transform .25s var(--ease-hover); }
.pillar-item[open] .chev { transform: rotate(45deg); }
.pillar-item p { margin-top: 16px; margin-left: 40px; font-size: var(--fs-base); color: var(--muted); animation: faqFadeIn .3s var(--ease-out); }

/* ---------- After The Eight Weeks ---------- */
.after-section .section-eyebrow { text-align: left; }
.after-section .section-title { text-align: left; margin-left: 0; margin-right: 0; max-width: 100%; }
.after-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; margin-top: 44px; }
.after-card {
  border: 1px solid var(--hairline-strong); border-radius: var(--radius-lg);
  padding: 34px 30px; background: var(--d2);
}
.after-card.highlight { border-color: var(--gold-bright); background: rgba(212,175,55,0.05); }
.after-tag { font-size: var(--fs-2xs); font-weight: 700; letter-spacing: 0.15em; text-transform: uppercase; color: var(--gold-bright); margin-bottom: 14px; }
.after-card h3 { font-family: 'Cormorant Garamond', serif; font-size: var(--fs-2xl); font-weight: 700; color: var(--ink); margin-bottom: 18px; }
.after-card p { font-size: var(--fs-base); color: var(--muted); margin-bottom: 16px; line-height: 1.65; }
.after-card p strong { color: var(--ink); }
.after-closing { font-family: 'Cormorant Garamond', serif; font-style: italic; color: var(--gold-bright); font-size: var(--fs-lg); margin-top: 24px; margin-bottom: 0; }

/* ---------- The Prize (split layout) ---------- */
.prize-section {
  background: var(--d1);
  overflow: hidden;
}
.prize-split {
  display: grid;
  grid-template-columns: 1fr 420px;
  min-height: 700px;
}
.prize-content {
  padding: 100px 60px 100px 60px;
  display: flex; flex-direction: column; justify-content: center;
  max-width: 620px;
}
.prize-content .section-eyebrow { margin-bottom: 20px; }
.prize-content .section-title { margin-bottom: 24px; }
.prize-image-col {
  position: relative;
  overflow: hidden;
  background: var(--d2);
}
.prize-ph {
  position: absolute; inset: 0;
  background: linear-gradient(135deg, #1a1208, #0a0905);
}
.prize-image-col img {
  position: absolute; inset: 0; width: 100%; height: 100%;
  object-fit: cover; object-position: 28% 32%; /* keep Charlie's face in frame — center crop landed on the dark suit/shadow gap */
  display: none;
  transition: transform .6s var(--ease-hover);
}
.prize-image-col img[src]:not([src=""]) { display: block; }
.prize-image-col:hover img { transform: scale(1.03); }
.prize-image-overlay {
  position: absolute; inset: 0;
  /* Thin feather at the seam only — the photo should read clean, not sit behind a dark panel */
  background: linear-gradient(90deg, rgba(8,7,10,0.32) 0%, transparent 10%);
  pointer-events: none;
}
.prize-image-badge {
  position: absolute; bottom: 40px; left: 50%; transform: translateX(-50%);
  display: flex; flex-direction: column; align-items: center;
  background: rgba(0,0,0,0.7);
  border: 1px solid var(--hairline-strong);
  backdrop-filter: blur(12px);
  padding: 18px 28px;
  text-align: center;
  white-space: nowrap;
}
.pib-amount {
  font-family: 'Cormorant Garamond', serif;
  font-size: var(--fs-4xl); font-style: italic;
  color: var(--gold-bright);
  line-height: 1;
}
.pib-label {
  font-size: var(--fs-2xs); letter-spacing: 0.14em;
  color: var(--muted); margin-top: 4px; font-weight: 700;
}
.prize-sub { color: var(--muted); margin-bottom: 36px; }
.prize-list { display: flex; flex-direction: column; gap: 20px; margin-bottom: 36px; }
/* Glow frame: the "border" is a soft gradient of light, not a flat stroke —
   a 1.5px gradient ring wrapping a dark glass card, per the reference aesthetic. */
.prize-row-glow {
  position: relative;
  padding: 1.5px;
  border-radius: 27px;
  background: linear-gradient(180deg, rgba(232,196,104,0.5), rgba(232,196,104,0.06) 45%, rgba(232,196,104,0.4));
}
.prize-row-glow::after {
  /* ambient bloom beneath the card, like the reference's glow bleeding out from behind */
  content: '';
  position: absolute; left: 12%; right: 12%; bottom: -26px; height: 60%;
  background: radial-gradient(ellipse 60% 100% at 50% 100%, rgba(232,196,104,0.35), transparent 75%);
  filter: blur(22px);
  pointer-events: none;
  z-index: -1;
}
.prize-row-glow.first {
  background: linear-gradient(180deg, rgba(255,224,160,0.75), rgba(232,196,104,0.1) 45%, rgba(255,224,160,0.7));
}
.prize-row-glow.first::after {
  background: radial-gradient(ellipse 65% 100% at 50% 100%, rgba(255,224,160,0.5), transparent 75%);
}
.prize-row {
  display: grid; grid-template-columns: 140px 1fr; gap: 24px; align-items: center;
  border-radius: 25.5px; padding: 26px 28px;
  background:
    radial-gradient(ellipse 100% 80% at 50% 130%, rgba(232,196,104,0.14), transparent 65%),
    linear-gradient(155deg, rgba(255,255,255,0.06), rgba(255,255,255,0.015) 50%, rgba(0,0,0,0.12)),
    var(--d2);
  backdrop-filter: blur(24px) saturate(170%);
  -webkit-backdrop-filter: blur(24px) saturate(170%);
}
.prize-row-glow.first .prize-row {
  background:
    radial-gradient(ellipse 100% 85% at 50% 135%, rgba(232,196,104,0.22), transparent 65%),
    linear-gradient(155deg, rgba(255,255,255,0.08), rgba(255,255,255,0.02) 50%, rgba(0,0,0,0.1)),
    var(--d2);
}
.prize-rank { display: flex; flex-direction: column; gap: 4px; }
.prize-rank > span:first-child { font-family: 'Cormorant Garamond', serif; font-size: var(--fs-3xl); font-style: italic; color: var(--gold-bright); }
.prize-rank-lbl { font-size: 10px; letter-spacing: 0.1em; color: var(--muted-soft); text-transform: uppercase; }
.prize-desc { font-size: var(--fs-base); color: var(--muted); line-height: 1.6; }
.prize-desc strong { color: var(--ink); }
.prize-desc-list { list-style: none; display: flex; flex-direction: column; gap: 6px; }
.prize-desc-list li { padding-left: 18px; position: relative; }
.prize-desc-list li::before { content: '—'; position: absolute; left: 0; color: var(--gold-bright); }
.prize-closing { font-family: 'Cormorant Garamond', serif; font-style: italic; color: var(--muted); font-size: 17px; max-width: 560px; margin: 0 auto; }

/* ---------- FAQ ---------- */
.faq-item { border-bottom: 1px solid var(--hairline-strong); padding: 18px 0; transition: background .2s var(--ease-hover); }
.faq-item:hover { background: rgba(212,175,55,0.03); }
.faq-item summary {
  cursor: pointer; font-size: var(--fs-md); font-weight: 600; color: var(--ink);
  display: flex; justify-content: space-between; align-items: center;
  list-style: none;
}
.faq-item summary::-webkit-details-marker { display: none; }
.faq-item .chev { color: var(--gold-bright); font-size: var(--fs-xl); font-weight: 400; display: inline-block; transition: transform .25s var(--ease-hover); }
.faq-item[open] .chev { transform: rotate(45deg); }
.faq-item p {
  margin-top: 12px; font-size: var(--fs-base); color: var(--muted);
  animation: faqFadeIn .3s var(--ease-out);
}
@keyframes faqFadeIn { from { opacity: 0; transform: translateY(-4px); } to { opacity: 1; transform: translateY(0); } }

/* ---------- Final CTA ---------- */
.final-cta {
  text-align: center;
  background: radial-gradient(ellipse 70% 60% at 50% 0%, rgba(212,175,55,0.14), transparent 65%);
}
.final-cta .section-title { margin: 0 auto 18px; }
.final-cta .btn-pill { margin: 30px 0 18px; }

/* ---------- Footer ---------- */
.site-footer {
  border-top: 1px solid var(--hairline);
  padding: 40px 28px;
  display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 16px;
  font-size: var(--fs-sm); color: var(--muted-soft);
  max-width: 1080px; margin: 0 auto;
}
.f-links { display: flex; gap: 22px; }
.f-links a:hover { color: var(--gold-bright); }

/* ---------- Full footer ---------- */
.site-footer-full {
  border-top: 1px solid var(--hairline);
  background: var(--d1);
  padding: 70px 28px 36px;
}
.footer-grid {
  max-width: 1080px; margin: 0 auto;
  display: grid; grid-template-columns: 1.6fr 1fr 1fr; gap: 48px;
  padding-bottom: 48px;
  border-bottom: 1px solid var(--hairline);
}
.footer-brand .nav-logo { margin-bottom: 18px; }
.footer-tag { font-size: var(--fs-sm); color: var(--muted-soft); max-width: 320px; line-height: 1.7; }
.footer-col { display: flex; flex-direction: column; gap: 12px; }
.footer-col h4 {
  font-size: var(--fs-2xs); font-weight: 700; letter-spacing: 0.18em; text-transform: uppercase;
  color: var(--gold-bright); margin-bottom: 6px;
}
.footer-col a { font-size: var(--fs-sm); color: var(--muted); transition: color .2s; }
.footer-col a:hover { color: var(--gold-bright); }
.footer-legal {
  max-width: 1080px; margin: 0 auto; padding-top: 28px;
  display: flex; flex-direction: column; gap: 10px;
  font-size: var(--fs-xs); color: var(--muted-soft);
}
.footer-disclaimer { font-size: var(--fs-2xs); line-height: 1.7; max-width: 720px; }

/* ---------- Pricing section ---------- */
.pricing-section {
  background:
    radial-gradient(ellipse 60% 50% at 50% 0%, rgba(212,175,55,0.10), transparent 60%),
    var(--black);
}
.pricing-sub { color: var(--muted); font-size: var(--fs-base); margin: -28px auto 52px; max-width: 560px; }
.pricing-grid {
  display: grid; grid-template-columns: 1fr 1fr; gap: 26px;
  max-width: 880px; margin: 0 auto;
  align-items: stretch;
}
.price-card {
  position: relative;
  border: 1px solid var(--hairline-strong);
  border-radius: var(--radius-lg);
  background: var(--d2);
  padding: 42px 36px 36px;
  display: flex; flex-direction: column;
  transition: transform .3s var(--ease-hover), box-shadow .3s var(--ease-hover), border-color .3s var(--ease-hover);
}
.price-card:hover { transform: translateY(-6px); }
.price-card.featured {
  border-color: var(--gold-bright);
  background: linear-gradient(180deg, rgba(212,175,55,0.09), rgba(212,175,55,0.02)), var(--d2);
  box-shadow: 0 24px 70px rgba(212,175,55,0.16);
}
.price-card.featured:hover { box-shadow: 0 30px 90px rgba(212,175,55,0.24); }
.pc-badge {
  position: absolute; top: 0; left: 50%; transform: translate(-50%, -50%);
  background: linear-gradient(135deg, var(--gold-deep), var(--gold-bright));
  color: #0a0a0a; font-size: var(--fs-2xs); font-weight: 800; letter-spacing: 0.1em;
  padding: 7px 18px; border-radius: var(--radius-pill);
  white-space: nowrap;
  box-shadow: 0 8px 24px var(--gold-glow);
}
.pc-tag {
  font-size: var(--fs-xs); font-weight: 700; letter-spacing: 0.16em; text-transform: uppercase;
  color: var(--gold-bright); margin-bottom: 18px;
}
.pc-price { display: flex; align-items: baseline; gap: 10px; margin-bottom: 10px; flex-wrap: wrap; }
.pc-strike { font-size: var(--fs-lg); color: var(--muted-soft); text-decoration: line-through; }
.pc-amount { font-family: 'Cormorant Garamond', serif; font-size: var(--fs-5xl); font-weight: 700; color: var(--ink); line-height: 1; }
.price-card.featured .pc-amount { color: var(--gold-bright); }
.pc-unit { font-size: var(--fs-base); color: var(--muted); font-weight: 600; }
.pc-note { font-size: var(--fs-sm); color: var(--muted); margin-bottom: 26px; font-style: italic; }
.pc-features {
  list-style: none; display: flex; flex-direction: column; gap: 13px;
  margin-bottom: 32px; flex: 1;
}
.pc-features li { font-size: var(--fs-sm); color: var(--muted); padding-left: 26px; position: relative; }
.pc-features li::before {
  content: '✓'; position: absolute; left: 0; top: 0;
  width: 17px; height: 17px; border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  font-size: 10px; font-weight: 800;
  background: rgba(212,175,55,0.16); color: var(--gold-bright);
}
.pc-features li.pc-bonus { color: var(--ink); }
.pc-features li.pc-bonus::before { content: '★'; background: rgba(212,175,55,0.3); }
.pc-features li strong { color: var(--gold-bright); }
.pc-cta { width: 100%; justify-content: center; text-align: center; }
.btn-outline {
  background: transparent;
  border: 1px solid var(--gold-bright) !important;
  color: var(--gold-bright);
}
.btn-outline:hover { background: rgba(212,175,55,0.08); }
.pricing-close {
  text-align: center; margin: 44px auto 0;
  font-family: 'Cormorant Garamond', serif; font-style: italic;
  color: var(--muted); font-size: 17px;
}

/* ---------- Responsive ---------- */
@media (max-width: 900px) {
  .nav-links { display: none; }
  .hero h1 { font-size: var(--fs-4xl); }
  .process-row { flex-direction: column; gap: 36px; }
  .process-connector { display: none; }
  .whofor-grid, .testimonials, .stat-row { grid-template-columns: 1fr; }
  .sticky-bar { font-size: var(--fs-2xs); flex-wrap: wrap; }
  .site-footer { flex-direction: column; text-align: center; }
  .week-tabs { grid-template-columns: repeat(4, 1fr); }
  .week-panel-frame { padding: 28px 20px; }
  .wp-row { grid-template-columns: 1fr; gap: 6px; }
  .prize-row { grid-template-columns: 1fr; gap: 12px; text-align: left; }
  .pillar-item p { margin-left: 0; margin-top: 12px; }
  .after-grid { grid-template-columns: 1fr; }
  .photo-grid { grid-template-columns: 1fr 1fr; grid-template-rows: 300px; }
  .pg-col-far { display: none; }
  .pg-large { min-height: 300px; }
  .pg-col-right { grid-template-rows: 1fr 140px; min-height: 300px; }
  .pg-row-bottom { min-height: 140px; }
  .pg-row-bottom .pg-cell { min-height: 140px; }
  .prize-split { grid-template-columns: 1fr; }
  .prize-image-col { min-height: 320px; }
  .prize-content { padding: 60px 28px; max-width: 100%; }
  .trust-strip { grid-template-columns: none; grid-auto-flow: column; grid-auto-columns: 42%; overflow-x: auto; -webkit-overflow-scrolling: touch; scroll-snap-type: x mandatory; }
  .trust-photo { scroll-snap-align: start; }
  .countdown-grid { gap: 10px; }
  .cd-block { padding: 16px 14px; min-width: 70px; }
  .cd-num { font-size: var(--fs-2xl); }
  .pricing-grid { grid-template-columns: 1fr; max-width: 480px; }
  .footer-grid { grid-template-columns: 1fr; gap: 32px; }
  .hero-seq { height: 180vh; }
  .ba-card { width: 300px; height: 215px; }
  .ba-res-num { font-size: 32px; }
  .vt-grid { grid-template-columns: minmax(0, 300px); }

  /* --- Top bars: single compact line each --- */
  .utility-bar { height: auto; padding: 5px 12px; font-size: 9px; gap: 8px; line-height: 1.4; }
  .utility-bar a { white-space: nowrap; font-size: 9px; }
  .site-nav { padding: 10px 12px; top: 24px; }
  .nav-logo { font-size: 11px; gap: 7px; }
  .nav-logo .brand-mark { width: 24px; height: 24px; }
  .site-nav .btn-pill { font-size: 10px; padding: 9px 14px; white-space: nowrap; }

  /* --- Hero: everything must fit one phone screen under the fixed bars --- */
  .hero { padding: 108px 20px 56px; }
  .hero-content { max-width: 100%; }
  .eyebrow-pill { font-size: 9px; padding: 6px 13px; margin-bottom: 16px; letter-spacing: 0.08em; }
  .hero h1 { font-size: 26px; line-height: 1.2; letter-spacing: 0.05em; margin-bottom: 14px; }
  .hero .sub { font-size: 12.5px; line-height: 1.55; margin-bottom: 18px; }
  .price-block { margin-bottom: 6px; gap: 10px; }
  .price-now { font-size: 36px; }
  .price-strike { font-size: 14px; }
  .price-unit { font-size: 14px; }
  .hero-pif-note { font-size: 11px; }
  .hero-prize-teaser { margin: 16px auto 4px; }
  .hero .btn-pill { margin: 16px 0 14px; }
  .hero .btn-lg { font-size: 13px; padding: 14px 26px; }
  .hero-trust { font-size: 8.5px; gap: 10px; letter-spacing: 0.16em; }
  .ht-rule { width: 26px; }
  .spots-note { font-size: 10px; margin-top: 12px; }
  .hero-scroll-cue { display: none; }
  .hl2-main { font-size: 30px; }

  /* --- Density: tighter section rhythm on phones --- */
  .section { padding: 56px 20px; }
  .section-tight { padding: 44px 20px; }
  .section-emphasis { padding: 64px 20px; }
  .gap-row { padding: 15px 18px 15px 38px; font-size: 13px; }
  .gap-row::before { left: 12px; }
}

@media (prefers-reduced-motion: reduce) {
  .reveal { transition: none !important; opacity: 1; transform: none; }
}

/* ── TICKER STRIP ─────────────────────────────────────────────── */
.ticker-wrap {
  background: var(--gold);
  overflow: hidden;
  padding: 11px 0;
  width: 100%;
}
.ticker-track {
  display: inline-flex;
  gap: 0;
  white-space: nowrap;
  animation: ticker 28s linear infinite;
}
.ticker-track span {
  font-family: var(--font-ui);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--black);
  padding: 0 18px;
}
.ticker-dot {
  color: var(--black) !important;
  opacity: 0.45;
  padding: 0 !important;
}
@keyframes ticker {
  0%   { transform: translateX(0); }
  100% { transform: translateX(-50%); }
}

/* ── VSL VIDEO ────────────────────────────────────────────────── */
.vsl-video {
  width: 100%;
  display: block;
  border-radius: 4px;
  background: #000;
  max-height: 600px;
  object-fit: cover;
}
.vsl-frame { position: relative; }

/* ── TESTIMONIAL PHOTO FIT ────────────────────────────────────── */
.t-photo-placeholder img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  display: block;
}
.t-ph-empty {
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(201,162,62,0.08);
  border: 1px solid rgba(201,162,62,0.2);
  height: 100%;
}
.t-ph-text {
  font-size: 13px;
  color: var(--gold);
  text-align: center;
  padding: 20px;
  font-style: italic;
}

/* ============================================================
   V9 ADDITIONS — 3-tier pricing, prize hero, quotes wall
   ============================================================ */

/* --- Three-tier pricing --- */
.pricing-grid-3 { grid-template-columns: 1fr 1.15fr 1fr; align-items: start; }
.pricing-grid-3 .price-card.featured { transform: scale(1.03); z-index: 1; }
.pricing-grid-3 .price-card.featured:hover { transform: scale(1.03) translateY(-6px); }
.pc-math {
  margin-top: 12px;
  font-size: var(--fs-xs);
  color: var(--gold-bright);
  text-align: center;
  letter-spacing: 0.04em;
}

/* --- Prize hero — the stakes, oversized --- */
.prize-hero {
  position: relative;
  text-align: center;
  padding: 96px 24px 40px;
  overflow: hidden;
}
.prize-hero-rays {
  position: absolute; inset: -20% -10%;
  background:
    radial-gradient(ellipse 60% 45% at 50% 38%, rgba(212,175,55,0.16), transparent 65%),
    conic-gradient(from 180deg at 50% 40%,
      transparent 0deg, rgba(212,175,55,0.05) 8deg, transparent 16deg,
      transparent 40deg, rgba(212,175,55,0.06) 48deg, transparent 56deg,
      transparent 90deg, rgba(212,175,55,0.05) 98deg, transparent 106deg,
      transparent 150deg, rgba(212,175,55,0.06) 158deg, transparent 166deg,
      transparent 210deg, rgba(212,175,55,0.05) 218deg, transparent 226deg,
      transparent 260deg, rgba(212,175,55,0.06) 268deg, transparent 276deg,
      transparent 310deg, rgba(212,175,55,0.05) 318deg, transparent 326deg, transparent 360deg);
  pointer-events: none;
  animation: prizeRays 40s linear infinite;
}
@keyframes prizeRays { to { transform: rotate(360deg); } }
@media (prefers-reduced-motion: reduce) { .prize-hero-rays { animation: none; } }
.prize-hero-graphic {
  display: block;
  width: min(420px, 78vw);
  margin: 26px auto 8px;
  filter: drop-shadow(0 18px 60px rgba(212,175,55,0.35));
}
.prize-hero-title {
  font-family: 'Cormorant Garamond', serif;
  font-weight: 600;
  font-size: clamp(38px, 6vw, 74px);
  line-height: 1.04;
  color: var(--ink, #f4efe4);
  margin: 18px 0 14px;
}
.prize-hero-title em { font-style: italic; color: var(--gold-bright); }
.prize-hero-sub {
  max-width: 620px;
  margin: 0 auto;
  color: var(--muted);
  font-size: var(--fs-md);
  line-height: 1.65;
}
.prize-row-grand .prize-rank span:first-child { font-size: 44px; color: var(--gold-bright); }
.prize-section .prize-split { padding-top: 20px; }

/* --- Written testimonials / quotes wall --- */
.quotes-wall {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: 18px;
  margin: 14px 0 56px;
}
.q-card {
  border: 1px solid var(--hairline-strong);
  border-radius: 14px;
  padding: 26px 24px 22px;
  background:
    linear-gradient(160deg, rgba(255,255,255,0.03), transparent 45%),
    var(--d2);
  box-shadow: 0 18px 44px rgba(0,0,0,0.4);
  display: flex; flex-direction: column; gap: 12px;
}
.q-stars { color: var(--gold-bright); font-size: 13px; letter-spacing: 0.3em; }
.q-card p {
  font-family: 'Cormorant Garamond', serif;
  font-size: 19px; line-height: 1.5; font-style: italic;
  color: var(--ink, #efe9db);
  margin: 0;
}
.q-name { font-size: var(--fs-xs); letter-spacing: 0.12em; text-transform: uppercase; color: var(--gold); }
.q-name span { color: var(--muted-soft); text-transform: none; letter-spacing: 0.02em; }

/* --- Mobile --- */
@media (max-width: 900px) {
  .pricing-grid-3 { grid-template-columns: 1fr; max-width: 480px; margin-left: auto; margin-right: auto; }
  .pricing-grid-3 .price-card.featured { transform: none; order: -1; }
  .pricing-grid-3 .price-card.featured:hover { transform: translateY(-6px); }
  .prize-hero { padding: 64px 18px 28px; }
  .quotes-wall { grid-template-columns: 1fr; }
}

/* --- Whop embedded checkout modal --- */
.wc-overlay {
  position: fixed; inset: 0; z-index: 300;
  display: flex; align-items: center; justify-content: center;
  background: rgba(5,4,8,0.88);
  backdrop-filter: blur(10px);
  opacity: 0; pointer-events: none;
  transition: opacity 0.25s ease;
  padding: 18px;
}
.wc-overlay.open { opacity: 1; pointer-events: auto; }
.wc-modal {
  position: relative;
  width: min(520px, 100%);
  max-height: 92vh;
  display: flex; flex-direction: column;
  background: #000;
  border: 1px solid rgba(212,175,55,0.4);
  border-radius: 18px;
  box-shadow: 0 40px 120px rgba(0,0,0,0.8), 0 0 80px rgba(212,175,55,0.12);
  overflow: hidden;
}
.wc-head {
  padding: 18px 54px 14px 22px;
  font-size: 12px; letter-spacing: 0.22em; text-transform: uppercase;
  color: var(--gold-bright);
  border-bottom: 1px solid rgba(212,175,55,0.2);
}
.wc-close {
  position: absolute; top: 10px; right: 12px; z-index: 2;
  background: none; border: none; color: var(--muted);
  font-size: 20px; cursor: pointer; padding: 8px;
}
.wc-close:hover { color: var(--ink, #fff); }
.wc-embed { flex: 1; overflow-y: auto; min-height: 420px; max-height: calc(92vh - 110px); }
.wc-embed > div { min-height: 420px; }
.wc-fallback {
  padding: 12px 20px 16px;
  text-align: center;
  font-size: var(--fs-xs); color: var(--muted-soft);
  border-top: 1px solid rgba(255,255,255,0.06);
}
.wc-fallback a { color: var(--gold-bright); }
@media (max-width: 600px) {
  .wc-overlay { padding: 0; align-items: stretch; }
  .wc-modal { width: 100%; max-height: 100dvh; border-radius: 0; border: none; }
  .wc-embed { max-height: none; }
}

/* --- Identity manifesto strip --- */
.identity-line-section { padding: 30px 24px 50px; }
.identity-line {
  font-family: 'Cormorant Garamond', serif;
  font-weight: 600; font-style: italic;
  font-size: clamp(26px, 4vw, 42px);
  color: var(--ink, #efe9db);
  margin: 0 0 10px;
}
.identity-line em { color: var(--gold-bright); font-style: italic; }
.identity-subline {
  font-size: var(--fs-sm);
  letter-spacing: 0.04em;
  color: var(--muted);
}
