/* Replit development preview helper. The component itself is hostname-gated
   and never renders on production domains. */
.lj-dev-preview-bar {
  min-height: 30px;
  padding: 4px 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  background: #26231f;
  color: #f6f4ed;
  font: 600 11px/1.2 "Google Sans Flex", "Helvetica Neue", Arial, sans-serif;
  letter-spacing: .02em;
}

.lj-dev-preview-bar a {
  padding: 3px 9px;
  border: 1px solid rgba(255, 255, 255, .42);
  border-radius: 999px;
  color: inherit;
  text-decoration: none;
  white-space: nowrap;
}

.lj-dev-preview-bar a:hover {
  background: rgba(255, 255, 255, .12);
}

.lj-dev-preview-bar button {
  width: 22px;
  height: 22px;
  padding: 0;
  border: 0;
  background: transparent;
  color: inherit;
  font: 400 19px/1 Arial, sans-serif;
  cursor: pointer;
  opacity: .72;
}

.lj-dev-preview-bar button:hover {
  opacity: 1;
}

@media (max-width: 520px) {
  .lj-dev-preview-bar {
    justify-content: space-between;
    gap: 8px;
    padding-inline: 10px;
  }
}

/* The Power Couple — Magazine Concept
   Tony-Robbins-inspired typography. Google Sans Flex only, NO italic/slant.
   Clean sentence-case headlines; emphasis = accent-color ALL CAPS;
   poster card titles use the width axis (condensed). Editorial rhythm. */

:root {
  --cream: #F6F4ED;
  --cream-2: #E5DEC9;
  --ink: #0B0B0A;
  --ink-2: #16150F;
  --ink-3: #24221B;
  --paper: #F5F0E1;
  --muted: #8C8676;
  --muted-2: #A19A87;
  --line: rgba(11,11,10,0.12);
  --line-dark: rgba(246,244,237,0.14);
  --accent: #C8102E;       /* crimson default — tweakable */
  --accent-ink: #FFFFFF;

  /* One expressive variable typeface, three roles driven by its axes. */
  --display: "Google Sans Flex", "Helvetica Neue", Helvetica, Arial, sans-serif;
  --body:    "Google Sans Flex", "Helvetica Neue", system-ui, sans-serif;
  --mono:    "Google Sans Flex", "Helvetica Neue", system-ui, sans-serif; /* label role */
}

* { box-sizing: border-box; }
html, body { margin: 0; padding: 0; }
html { -webkit-text-size-adjust: 100%; }
body {
  background: var(--cream);
  color: var(--ink);
  font-family: var(--body);
  font-weight: 400;
  font-size: 16px;
  line-height: 1.5;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
  font-optical-sizing: auto;
}
img { max-width: 100%; display: block; }
em, i { font-style: normal; } /* no italics anywhere — TR clean look */
a { color: inherit; text-decoration: none; }
button { font: inherit; cursor: pointer; border: 0; background: none; color: inherit; }
button, a { -webkit-tap-highlight-color: rgba(200,16,46,.18); }
:focus-visible { outline: 3px solid var(--accent); outline-offset: 3px; }

/* ---------- Typography utilities ---------- */

/* Impact display — all-caps, tight. For brand moments / numbers. */
.display {
  font-family: var(--display);
  font-weight: 950;
  letter-spacing: -0.05em;
  line-height: 0.86;
  text-transform: uppercase;
}

/* Editorial headline — TONY ROBBINS signature: sentence case, bold, tight. */
.headline {
  font-family: var(--display);
  font-weight: 600;
  letter-spacing: -0.028em;
  line-height: 0.96;
  text-transform: none;
}

/* Emphasis — clean, NO italic. ALL CAPS + accent colour, matched weight. */
.em {
  font-style: normal;
  text-transform: uppercase;
  letter-spacing: -0.01em;
  color: var(--accent);
}

.eyebrow {
  font-family: var(--mono);
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--muted);
}
.eyebrow-light { color: var(--muted-2); }
/* Kicker with short accent rules on both sides ("— LAS VEGAS, NV —"), matching
   the Love & Money hero. Shared by the other page heroes. */
.eyebrow-rules { display: inline-flex; align-items: center; gap: 12px; }
.eyebrow-rules .ln { width: 26px; height: 1px; background: var(--accent); display: inline-block; }
.dot { display:inline-block; width:7px; height:7px; border-radius:50%; background: var(--accent); vertical-align: middle; margin: 0 8px 2px 0;}

/* ---------- Layout ---------- */
.wrap { max-width: 1480px; margin: 0 auto; padding: 0 56px; }
.section { padding: 104px 0; border-top: 1px solid var(--line); }
.section.dark { background: var(--ink); color: var(--cream); border-top-color: var(--line-dark);}
.section.accent { background: var(--accent); color: var(--accent-ink); border-top-color: transparent;}
.section.tight { padding: 64px 0; }

/* ---------- Buttons ---------- */
.btn {
  display: inline-flex; align-items: center; gap: 10px;
  min-height: 44px;
  padding: 15px 24px;
  font-family: var(--mono);
  font-size: 14px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  border: 1px solid var(--ink);
  background: var(--ink);
  color: var(--cream);
  border-radius: 999px;
  transition: transform .15s ease, background .2s ease, color .2s ease, border-color .2s ease;
}
.btn:hover { transform: translateY(-1px); }
.btn { white-space: nowrap; }
.btn.ghost { background: transparent; color: var(--ink); }
.btn.ghost:hover { background: var(--ink); color: var(--cream); }
.btn.accent { background: var(--accent); border-color: var(--accent); color: var(--accent-ink);}
.btn.accent:hover { background: var(--ink); border-color: var(--ink); color: var(--cream); }
.btn.lg { padding: 18px 30px; font-size: 14px; }
.btn .arrow { display:inline-block; transform: translateY(-1px); }
.section.dark .btn.ghost { color: var(--cream); border-color: rgba(246,244,237,0.4); }
.section.dark .btn.ghost:hover { background: var(--cream); color: var(--ink); border-color: var(--cream); }

/* ---------- Masthead / Nav ---------- */
.masthead-bar {
  background: var(--accent); color: #fff;
  font-family: var(--mono); font-size: 10px; letter-spacing: 0.2em; text-transform: uppercase;
  display: flex; align-items: center; justify-content: center; gap: 16px;
  padding: 8px 56px; flex-wrap: wrap; text-decoration: none;
}
.masthead-bar .mh-tag { font-weight: 700; }
.masthead-bar .mh-msg { opacity: 0.92; }
.masthead-bar .mh-cta {
  font-weight: 700; display: inline-flex; align-items: center; gap: 6px;
  border: 1px solid rgba(255,255,255,0.55); border-radius: 999px; padding: 3px 12px;
  transition: background .2s ease, color .2s ease, border-color .2s ease;
}
.masthead-bar:hover .mh-cta { background: #fff; color: var(--accent); border-color: #fff; }

.nav {
  position: -webkit-sticky;
  position: sticky; top: 0; z-index: 50;
  background: rgba(246,244,237,0.94);
  -webkit-backdrop-filter: saturate(140%) blur(8px);
  backdrop-filter: saturate(140%) blur(8px);
  border-bottom: 1px solid var(--line);
}
.nav-inner { display: flex; align-items: center; height: 84px; padding: 0 56px; gap: clamp(24px, 3vw, 52px);}
.nav-logo { font-family: var(--display); font-weight: 900; letter-spacing: -0.045em; font-size: clamp(17px, 2.2vw, 29px); line-height: 1; white-space: nowrap; }
.logo-link { display: inline-flex; min-height: 44px; align-items: center; }
.tpc-logo { display: block; width: auto; object-fit: contain; }
.tpc-logo-nav { width: 190px; height: auto; max-height: 76px; max-width: 190px; }
.tpc-logo-footer { height: 82px; max-width: 330px; }
/* Wedge the J of JAAM into the e of Love — locked, em-based so it's identical at any size */
.nav-logo em { font-style: normal; color: var(--accent); margin-left: -0.08em; }
.nav-links { display: flex; flex: 1; align-items: center; justify-content: flex-end; gap: clamp(14px, 1.55vw, 28px); font-family: var(--mono); font-size: 10px; letter-spacing: 0.11em; text-transform: uppercase; }
.nav-links { font-size: 14px; font-weight: 650; letter-spacing: 0.11em; }
.nav-links a { display: inline-flex; min-height: 44px; align-items: center; white-space: nowrap; transition: color .15s ease, background .2s ease, border-color .2s ease, transform .15s ease; }
.nav-links a:hover { color: var(--accent); }
.nav-links .nav-programs { position: relative; }
.nav-links .nav-programs summary { display: inline-flex; min-height: 44px; align-items: center; gap: 7px; list-style: none; cursor: pointer; white-space: nowrap; }
.nav-links .nav-programs summary::-webkit-details-marker, .nav-mobile .nav-programs-mobile summary::-webkit-details-marker { display: none; }
.nav-links .nav-programs summary:hover, .nav-links .nav-programs[open] summary { color: var(--accent); }
.nav-programs-chevron { display: inline-block; font-size: 18px; line-height: 1; transform: translateY(-3px); }
.nav-programs[open] .nav-programs-chevron, .nav-programs-mobile[open] .nav-programs-chevron { transform: rotate(180deg) translateY(3px); }
.nav-links .nav-programs-menu { position: absolute; z-index: 60; top: calc(100% + 14px); left: -16px; min-width: 238px; padding: 8px; border: 1px solid var(--line); background: var(--cream); box-shadow: 0 16px 35px rgba(17,17,15,.14); }
.nav-links .nav-programs-menu a { display: flex; min-height: 44px; padding: 10px 12px; font-size: 13px; letter-spacing: .02em; text-transform: none; white-space: normal; }
.nav-links .nav-programs-menu a:hover { background: rgba(200,16,46,.07); }
.nav-links .nav-primary-cta {
  padding: 11px 18px;
  border: 1px solid var(--accent);
  border-radius: 999px;
  background: var(--accent);
  color: #fff;
  font-weight: 700;
}
.nav-links .nav-primary-cta:hover {
  background: var(--ink);
  border-color: var(--ink);
  color: var(--cream);
  transform: translateY(-1px);
}
.nav-cta { display: flex; gap: 10px; align-items: center;}

/* Mobile nav (hamburger + dropdown) */
.nav-toggle { display: none; flex-direction: column; justify-content: center; align-items: center; gap: 5px; width: 44px; height: 44px; padding: 0; margin: -8px 0; background: transparent; border: 0; cursor: pointer; }
.nav-toggle span { display: block; width: 24px; height: 2px; background: var(--ink); border-radius: 2px; transition: transform .25s ease, opacity .2s ease; }
.nav-toggle.open span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
.nav-toggle.open span:nth-child(2) { opacity: 0; }
.nav-toggle.open span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }
.nav-mobile { display: none; }
.nav-mobile.open { flex-direction: column; max-height: calc(100vh - 72px); max-height: calc(100dvh - 72px); overflow-y: auto; overscroll-behavior: contain; padding: 8px 24px calc(22px + env(safe-area-inset-bottom)); border-top: 1px solid var(--line); background: rgba(246,244,237,0.98); }
.nav-mobile a:not(.btn) { font-family: var(--mono); font-size: 14px; font-weight: 650; letter-spacing: 0.12em; text-transform: uppercase; padding: 15px 2px; border-bottom: 1px solid var(--line); }
.nav-mobile a:not(.btn):active { color: var(--accent); }
.nav-mobile .nav-programs-mobile summary { display: flex; align-items: center; justify-content: space-between; padding: 15px 2px; border-bottom: 1px solid var(--line); font-family: var(--mono); font-size: 14px; font-weight: 650; letter-spacing: .12em; text-transform: uppercase; cursor: pointer; list-style: none; }
.nav-mobile .nav-programs-mobile-links { display: flex; flex-direction: column; padding-left: 16px; }
.nav-mobile .nav-programs-mobile-links a:not(.btn) { font-size: 13px; letter-spacing: .03em; text-transform: none; }
.nav-mobile .btn { justify-content: center; margin-top: 14px; }
.nav-mobile .btn + .btn { margin-top: 10px; }

/* Readability floor for functional magazine chrome and metadata. Display
   numerals remain intentionally expressive; supporting labels do not. */
.lj-dev-preview-bar,
.masthead-bar,
.strip-meta,
.hero-meta .lbl,
.hero-photo .photo-tag,
.hero-photo .photo-counter,
.hero-cta-card .lbl,
.hero-cta-card .lnk,
.hero-stat .lbl,
.sec-num,
.mm-kicker,
.tier-tag,
.tier-price-note,
.tier .tier-cta,
.tier .badge,
.principle .num,
.countdown-title,
.cd-features li,
.countdown-tile .lbl,
.countdown-foot .note,
.cd-price .cd-pricesub,
.cd-act .cd-scarcity,
.cd-foot-note,
.car-card .car-kicker {
  font-size: 13px;
  line-height: 1.35;
}
.principle .desc { font-size: 14px; line-height: 1.5; }
.car-card .car-cta, .carousel-link { font-size: 14px; }
.closing-form input, .closing-form select, .closing-form button,
.closing-note, .closing-field-err, .closing-partner-toggle,
.footer h4, .footer-bottom, .footer-contact, .trust .item {
  font-size: 14px;
  line-height: 1.4;
}

/* ---------- Marquee strip ---------- */
.strip {
  background: var(--cream);
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
  padding: 20px 56px;
  display: flex; align-items: baseline; justify-content: space-between; gap: 24px;
  flex-wrap: wrap;
}
.strip-headline { font-family: var(--display); font-weight: 800; letter-spacing: -0.03em; font-size: 22px; line-height: 1; }
.strip-headline .em { color: var(--accent); }
.strip-meta { font-family: var(--mono); font-size: 11px; letter-spacing: 0.14em; text-transform: uppercase; color: var(--muted); }

/* ---------- HERO (magazine cover) ---------- */
.hero { padding: 64px 0 0 0; }
.hero-inner { padding: 0 56px 0 56px; }
.hero-grid {
  display: grid;
  grid-template-columns: 1.05fr 0.95fr;
  gap: 56px;
  align-items: stretch;
}
.hero-left { padding: 8px 0 64px; display:flex; flex-direction: column; }
.hero-kicker { display:flex; align-items:center; gap: 14px; flex-wrap: wrap; }
.hero-kicker .rule { flex: 1; height: 1px; background: var(--line); min-width: 30px; }
.hero-headline {
  font-size: clamp(52px, 7.2vw, 116px);
  margin-top: 28px;
}
.hero-headline .line { display:block; }
.hero-sub {
  margin-top: 34px;
  max-width: 480px;
  font-size: 18px;
  line-height: 1.5;
  color: var(--ink-3);
}
.hero-actions { margin-top: 32px; display:flex; gap: 12px; flex-wrap: wrap;}
.hero-meta {
  margin-top: auto;
  display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px;
  border-top: 1px solid var(--line);
  padding-top: 26px;
}
.hero-meta .num { font-family: var(--display); font-weight: 900; font-size: 44px; letter-spacing: -0.04em; line-height: 1;}
.hero-meta .num .em { font-size: 0.42em; font-weight: 800; }
.hero-meta .lbl { font-family: var(--mono); font-size: 10px; letter-spacing: 0.14em; text-transform: uppercase; color: var(--muted); margin-top: 8px;}

.hero-right { position: relative; display: grid; grid-template-rows: 1fr auto; gap: 1px; margin-top: -64px; margin-right: -56px;}
.hero-photo { background: var(--ink-2); position: relative; overflow: hidden; min-height: 560px; color: var(--cream);}
.hero-photo::after { content:""; position:absolute; inset:0; background: linear-gradient(180deg, rgba(11,11,10,0.05) 0%, rgba(11,11,10,0) 35%, rgba(11,11,10,0.55) 100%); pointer-events: none;}
.hero-photo .photo-tag { position: absolute; top: 20px; left: 20px; z-index: 2; font-family: var(--mono); font-size: 10px; letter-spacing: 0.14em; text-transform: uppercase; color: var(--cream); opacity: .85;}
.hero-photo .photo-counter { position: absolute; top: 20px; right: 20px; z-index: 2; font-family: var(--mono); font-size: 10px; letter-spacing: 0.14em; text-transform: uppercase; color: var(--cream); opacity: .85;}
.hero-cta-card { position: absolute; z-index: 3; bottom: 24px; left: 24px; background: var(--accent); color: var(--accent-ink); padding: 18px 20px; max-width: 290px; border-radius: 12px;}
.hero-cta-card .lbl { font-family: var(--mono); font-size: 10px; letter-spacing: 0.14em; text-transform: uppercase; opacity: .85;}
.hero-cta-card .ttl { font-family: var(--display); font-weight: 800; letter-spacing: -0.02em; font-size: 24px; margin-top: 5px; }
.hero-cta-card .lnk { margin-top: 12px; font-family: var(--mono); font-size: 11px; letter-spacing: 0.14em; text-transform: uppercase; display:inline-flex; gap: 6px;}
.hero-stat-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; background: var(--line-dark);}
.hero-stat { background: var(--ink); color: var(--cream); padding: 20px 18px;}
.hero-stat .num { font-family: var(--display); font-weight: 900; font-size: 24px; letter-spacing: -0.03em; }
.hero-stat .num .em { font-weight: 800; }
.hero-stat .lbl { font-family: var(--mono); font-size: 10px; letter-spacing: 0.12em; text-transform: uppercase; color: var(--muted-2); margin-top: 6px;}

/* ---------- Section heads (magazine) ---------- */
.sec-head { display: flex; justify-content: space-between; align-items: flex-end; gap: 32px; margin-bottom: 52px; flex-wrap: wrap;}
.sec-head-left { max-width: 760px; }
.sec-num { font-family: var(--mono); font-size: 11px; letter-spacing: 0.18em; text-transform: uppercase; color: var(--accent); display:block; margin-bottom: 8px;}
.sec-title { font-size: clamp(40px, 5.4vw, 84px); margin: 0; }
.sec-title .em { color: var(--accent); }
.section.dark .sec-num { color: var(--accent); }
.sec-sub { max-width: 380px; font-size: 16px; line-height: 1.5; color: var(--muted); }
.section.dark .sec-sub { color: var(--muted-2); }
.hosts-cta { margin-top: 44px; }

/* ---------- NETFLIX CAROUSEL (Programs that liberate) ---------- */
.carousel-sec { background: var(--ink); color: var(--cream); padding: 96px 0 88px; border-top: 1px solid var(--line-dark);}
.carousel-head { display: flex; align-items: flex-end; justify-content: space-between; gap: 24px; padding: 0 56px; margin-bottom: 36px; flex-wrap: wrap;}
.carousel-head .ch-left { display:flex; align-items: baseline; gap: 22px; flex-wrap: wrap;}
.carousel-title { font-family: var(--display); font-weight: 600; letter-spacing: -0.028em; font-size: clamp(34px, 4vw, 60px); line-height: 0.96; }
.carousel-link { font-family: var(--mono); font-size: 12px; letter-spacing: 0.14em; text-transform: uppercase; display:inline-flex; gap: 8px; align-items: center; color: var(--cream); padding-bottom: 6px;}
.carousel-link:hover { color: var(--accent); }
.carousel-nav { display: flex; gap: 10px; }
.car-btn { width: 52px; height: 52px; border-radius: 50%; border: 1px solid rgba(246,244,237,0.3); display: inline-flex; align-items: center; justify-content: center; font-size: 20px; color: var(--cream); background: transparent; transition: background .2s ease, color .2s ease, border-color .2s ease;}
.car-btn:hover { background: var(--cream); color: var(--ink); border-color: var(--cream);}
.car-btn:disabled { opacity: 0.3; cursor: default; }
.car-btn:disabled:hover { background: transparent; color: var(--cream); border-color: rgba(246,244,237,0.3); }

.carousel-viewport { overflow: hidden; padding-bottom: 8px; }
.carousel-track {
  display: flex; gap: 16px;
  will-change: transform;
  transition: transform .6s cubic-bezier(.4,0,.2,1);
}
.car-card {
  flex: 0 0 auto;
  position: relative;
  border-radius: 16px;
  overflow: hidden;
  background: var(--ink-2);
  cursor: pointer;
  transition: width .6s cubic-bezier(.4,0,.2,1), height .6s cubic-bezier(.4,0,.2,1);
}
.car-card.expanded { cursor: default; }
.car-card .car-img { position: absolute; inset: 0; width: 100%; height: 100%; }
.car-card .car-overlay { position: absolute; inset: 0; background: linear-gradient(180deg, rgba(11,11,10,0.55) 0%, rgba(11,11,10,0.12) 26%, rgba(11,11,10,0.44) 56%, rgba(11,11,10,0.94) 100%); pointer-events: none; }
.car-card .car-kicker { position: absolute; top: 20px; left: 20px; right: 20px; z-index: 2; font-family: var(--mono); font-size: 10px; letter-spacing: 0.22em; text-transform: uppercase; color: var(--cream); opacity: 0.92; }
.car-card .car-body { position: absolute; left: 22px; right: 22px; bottom: 22px; z-index: 2; }
.car-card .car-name { font-family: var(--display); color: var(--cream); }
.car-card .cn-lead { display:block; font-weight: 500; font-stretch: 60%; text-transform: uppercase; font-size: clamp(20px, 1.7vw, 28px); letter-spacing: 0.015em; line-height: 0.96; opacity: 0.96; }
.car-card .cn-lead .cn-em { font-weight: 500; font-stretch: 82%; padding: 0 .03em; }
/* Condensed poster cut — the real TR card signature (width axis). */
.car-card .cn-main { display:block; font-weight: 800; font-stretch: 78%; text-transform: uppercase; letter-spacing: 0.01em; line-height: 0.86; font-size: clamp(36px, 3.2vw, 54px); margin-top: 2px; }
.car-card .car-sub { font-family: var(--body); font-size: 14px; color: rgba(246,244,237,0.82); margin-top: 14px; }
.car-card .car-body { text-shadow: 0 1px 2px rgba(11,11,10,0.6), 0 2px 20px rgba(11,11,10,0.7); transition: transform .5s cubic-bezier(.2,.7,.2,1); }
.car-card .car-extra { max-height: 0; opacity: 0; transform: translateY(12px); overflow: hidden; transition: max-height .55s cubic-bezier(.2,.7,.2,1), opacity .4s ease, transform .5s cubic-bezier(.2,.7,.2,1), margin-top .55s cubic-bezier(.2,.7,.2,1); margin-top: 0; }
.car-card.expanded .car-extra { max-height: 280px; opacity: 1; transform: translateY(0); margin-top: 16px; }
.car-card .car-desc { margin: 0; font-family: var(--body); font-size: 13.5px; line-height: 1.5; color: rgba(246,244,237,0.86); }
.car-card .car-cta { display: inline-flex; align-items: center; gap: 8px; margin-top: 16px; font-family: var(--mono); font-size: 11px; font-weight: 600; letter-spacing: 0.14em; text-transform: uppercase; color: var(--cream); border: 1px solid rgba(246,244,237,0.45); padding: 11px 18px; border-radius: 999px; transition: background .2s ease, color .2s ease, border-color .2s ease; }
.car-card .car-cta:hover { background: var(--accent); border-color: var(--accent); color: var(--accent-ink); }
.car-card.expanded .car-overlay { opacity: 1; }
.car-card:not(.expanded) .car-overlay { opacity: 0.92; }
.carousel-dots { display:flex; gap: 8px; justify-content: center; margin-top: 30px; }
.carousel-dots .cd { width: 7px; height: 7px; border-radius: 50%; background: rgba(246,244,237,0.25); transition: background .2s, width .2s; }
.carousel-dots .cd.active { background: var(--accent); width: 22px; border-radius: 12px; }

/* ---------- FEATURE: The Method (interactive scrolly) ---------- */
.feature-expand { border-top: 0 !important; overflow: hidden; will-change: margin, border-radius; }

.method-section { background: var(--cream); border-top: 1px solid var(--line); }
.method-scroller { position: relative; height: 467vh; }
.method-pin { position: -webkit-sticky; position: sticky; top: 0; height: 100vh; display: flex; align-items: center; overflow: hidden; }
.method-pin-inner { width: 100%; }
.method-head { max-width: 760px; margin-bottom: clamp(24px, 4vh, 48px); }
.method-intro { font-family: var(--display); font-weight: 600; letter-spacing: -0.02em; line-height: 1.16; font-size: clamp(20px, 2.3vw, 30px); margin: 10px 0 0; color: var(--ink); }
.method-intro .em { color: var(--accent); }

.method-grid { display: grid; grid-template-columns: 1.1fr 0.9fr; gap: 64px; align-items: start; }
.method-list { list-style: none; margin: 0; padding: 6px 0 6px 34px; position: relative; display: flex; flex-direction: column; gap: clamp(10px, 1.8vh, 22px); }
.method-list::before { content: ""; position: absolute; left: 0; top: 8px; bottom: 8px; width: 2px; border-radius: 2px; background: rgba(11,11,10,0.12); }
.method-list::after { content: ""; position: absolute; left: 0; top: 8px; width: 2px; height: calc((100% - 16px) * var(--mp, 0)); border-radius: 2px; background: var(--accent); transition: height .4s ease; }
.method-item {
  font-family: var(--display); font-weight: 800; letter-spacing: -0.035em;
  font-size: clamp(30px, 3.6vw, 54px); line-height: 1.1;
  color: rgba(11,11,10,0.22); cursor: pointer; position: relative;
  transition: color .3s ease;
}
.method-item:hover { color: rgba(11,11,10,0.5); }
.method-item.active { color: var(--ink); }
.method-item .idx { font-family: var(--mono); font-size: 13px; font-weight: 600; letter-spacing: 0.1em; color: rgba(11,11,10,0.28); vertical-align: super; margin-right: 14px; }
.method-item.active .idx { color: var(--accent); }
.method-item-head { display: block; width: 100%; font: inherit; color: inherit; letter-spacing: inherit; line-height: inherit; background: none; border: 0; margin: 0; padding: 0; text-align: left; cursor: pointer; -webkit-appearance: none; appearance: none; }
.method-item-panel { display: none; }

.method-media { position: relative; }
.method-media .mm-photo { height: 56vh; max-height: 560px; }
.method-active { margin-top: clamp(20px, 3vh, 40px); padding-left: 34px; max-width: 460px; animation: mmfade .4s ease; }
.mm-card { animation: mmfade .5s ease; }
@keyframes mmfade { from { opacity: 0; transform: translateY(14px); } to { opacity: 1; transform: none; } }
.mm-photo { width: 100%; height: 44vh; max-height: 480px; border-radius: 16px; overflow: hidden; background: var(--ink-2); }
.mm-body { padding-top: 22px; }
.mm-kicker { font-family: var(--mono); font-size: 11px; font-weight: 600; letter-spacing: 0.16em; text-transform: uppercase; color: var(--accent); }
.mm-lead { font-family: var(--display); font-weight: 600; letter-spacing: -0.01em; font-size: clamp(17px, 1.7vw, 21px); line-height: 1.3; color: var(--ink); margin: 14px 0 0; max-width: 460px; }
.mm-desc { font-size: clamp(15px, 1.5vw, 17px); line-height: 1.5; color: var(--ink-3); margin: 12px 0 0; max-width: 460px; }

/* ---------- PROGRAM TIERS (Pick your path) ---------- */
.tiers { display: grid; grid-template-columns: repeat(4, 1fr); gap: 0; border: 1px solid var(--line); border-radius: 16px; overflow: hidden; }
.tier { padding: 30px 26px; border-right: 1px solid var(--line); background: var(--cream-2); color: var(--ink); min-height: 380px; display: flex; flex-direction: column; position: relative; transition: background-color .25s ease, color .25s ease;}
.tier:last-child { border-right: 0; }
.tier.featured { background: var(--accent); color: var(--accent-ink); }
.tier-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; min-height: 22px; }
.tier-tag { font-family: var(--mono); font-size: 10px; letter-spacing: 0.14em; text-transform: uppercase; opacity: .65;}
.tier-name { font-family: var(--display); font-weight: 800; letter-spacing: -0.025em; font-size: 23px; margin-top: 12px;}
.tier-price { font-family: var(--display); font-weight: 900; letter-spacing: -0.04em; font-size: 58px; line-height: 1; margin-top: 18px; }
.tier-price small { font-size: 14px; font-family: var(--mono); font-weight: 500; letter-spacing: 0.08em; text-transform: uppercase; opacity: .75; vertical-align: super; margin-left: 8px; }
.tier-price-note { font-family: var(--mono); font-size: 12px; font-weight: 500; letter-spacing: 0.06em; text-transform: uppercase; opacity: .65; margin-top: 8px; }
.tier-line { height: 0; background: transparent; margin: 22px 0; }
.tier.featured .tier-line { background: rgba(255,255,255,0.3);}
.tier ul { list-style: none; padding: 0; margin: 0; font-size: 14px; line-height: 1.5; flex: 1;}
.tier ul li { padding: 7px 0; border-bottom: 1px dashed rgba(11,11,10,0.12);}
.tier.featured ul li { border-bottom-color: rgba(255,255,255,0.22);}
.tier .tier-cta { margin-top: 20px; font-family: var(--mono); font-size: 11px; letter-spacing: 0.14em; text-transform: uppercase; display:inline-flex; gap: 6px; align-items: center;}
.tier .badge { font-family: var(--mono); font-size: 10px; letter-spacing: 0.14em; text-transform: uppercase; padding: 4px 8px; background: var(--ink); color: var(--cream); border-radius: 11px; white-space: nowrap; }

/* ---------- THE LOVE OS (modules grid) ---------- */
.principles { display: grid; grid-template-columns: 1.4fr 1fr 1fr; gap: 1px; background: var(--line-dark); border: 1px solid var(--line-dark); border-radius: 16px; overflow: hidden;}
.principle { background: var(--ink-2); color: var(--cream); padding: 30px 26px; min-height: 140px; display: flex; flex-direction: column; justify-content: space-between; position: relative; transition: background .2s ease;}
.principle.big { grid-row: span 2; min-height: 280px;}
.principle .num { font-family: var(--mono); font-size: 11px; letter-spacing: 0.14em; color: var(--muted-2);}
.principle .name { font-family: var(--display); font-weight: 800; letter-spacing: -0.025em; font-size: 23px; margin-top: auto;}
.principle .desc { font-size: 12.5px; color: var(--muted-2); margin-top: 8px; line-height: 1.5;}
.principle.big .name { font-size: 38px; }
.principle.big .desc { font-size: 14px; max-width: 320px;}
.principle:hover { background: var(--ink-3); }

/* ---------- COUNTDOWN ---------- */
.countdown-wrap { position: relative; padding: 96px 0; }
.countdown-bg { position: absolute; inset: 0; background: var(--ink); color: var(--cream); overflow: hidden;}
.countdown-bg::after {
  content:""; position:absolute; inset:0;
  background: linear-gradient(90deg, rgba(11,11,10,0.85) 0%, rgba(11,11,10,0.4) 100%);
  background:
    radial-gradient(135% 118% at 110% 114%,
      color-mix(in srgb, var(--accent) 52%, transparent) 0%,
      color-mix(in srgb, var(--accent) 30%, transparent) 24%,
      color-mix(in srgb, var(--accent) 11%, transparent) 45%,
      transparent 66%),
    linear-gradient(90deg, rgba(11,11,10,0.85) 0%, rgba(11,11,10,0.4) 100%);
}
.countdown-inner { position: relative; z-index: 2; }
.countdown-headline { color: var(--cream); font-size: clamp(48px, 7.5vw, 116px); margin-top: 0;}
.countdown-headline .em { color: var(--accent); }
.countdown-when { color: var(--cream); font-family: var(--display); font-weight: 800; letter-spacing: -0.03em; font-size: clamp(24px, 3.4vw, 48px); margin-top: 12px; line-height: 1;}
.countdown-when .em { color: var(--accent); }
.countdown-title { display: inline-flex; align-items: center; margin-top: 22px; font-family: var(--mono); font-weight: 600; font-size: 13px; letter-spacing: 0.16em; text-transform: uppercase; color: var(--cream); }
.countdown-title .dot { margin: 0 12px; }
.countdown-lede { max-width: 600px; margin-top: 20px; font-size: 17px; line-height: 1.5; color: rgba(246,244,237,0.82); }
.cd-features { list-style: none; padding: 0; margin: 28px 0 0; display: flex; flex-wrap: wrap; gap: 12px 0; }
.cd-features li { font-family: var(--mono); font-size: 11px; font-weight: 600; letter-spacing: 0.1em; text-transform: uppercase; color: var(--cream); padding: 0 18px; border-left: 1px solid rgba(246,244,237,0.22); line-height: 1.1; }
.cd-features li:first-child { padding-left: 0; border-left: 0; }
.countdown-tiles { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1px; background: rgba(255,255,255,0.16); margin-top: 40px; border-top: 1px solid var(--accent); border-radius: 14px; overflow: hidden;}
.countdown-tile { background: rgba(11,11,10,0.72); padding: 30px 28px 26px; }
.countdown-tile .num { font-family: var(--display); font-weight: 900; font-size: clamp(52px, 8vw, 112px); letter-spacing: -0.04em; line-height: 1; color: var(--cream);}
.countdown-tile .lbl { font-family: var(--mono); font-size: 11px; letter-spacing: 0.16em; text-transform: uppercase; color: var(--muted-2); margin-top: 8px;}
.countdown-foot { margin-top: 30px; display: flex; align-items: center; justify-content: space-between; gap: 24px; flex-wrap: wrap; color: var(--cream);}
.countdown-foot .note { font-family: var(--mono); font-size: 11px; letter-spacing: 0.14em; text-transform: uppercase; color: var(--muted-2);}
.cd-price .cd-amount { font-family: var(--display); font-weight: 900; font-size: clamp(40px, 5vw, 64px); letter-spacing: -0.04em; line-height: 1; color: var(--cream); }
.cd-price .cd-amount span { font-family: var(--mono); font-size: 13px; font-weight: 500; letter-spacing: 0.06em; text-transform: uppercase; opacity: 0.7; margin-left: 10px; }
.cd-price .cd-pricesub { font-family: var(--mono); font-size: 11px; font-weight: 600; letter-spacing: 0.12em; text-transform: uppercase; color: var(--muted-2); margin-top: 12px; }
.cd-act { display: flex; flex-direction: column; align-items: flex-end; gap: 12px; }
.cd-act .cd-scarcity { font-family: var(--mono); font-size: 11px; font-weight: 600; letter-spacing: 0.14em; text-transform: uppercase; color: var(--accent); }
.cd-foot-note { font-family: var(--mono); font-size: 11px; font-weight: 600; letter-spacing: 0.14em; text-transform: uppercase; color: var(--muted-2); margin-top: 30px; padding-top: 24px; border-top: 1px solid rgba(246,244,237,0.14); }
.cd-foot-note .em { color: var(--accent); }

/* ---------- TESTIMONIALS (magazine pull-quotes) ---------- */
/* Quote wall: multi-column masonry that scales to any number of testimonials */
.tts-sub, .install-sub, .faq-sub { max-width: 720px; }
.inline-link { color: inherit; font-weight: 700; text-decoration: none; transition: color 0.15s ease; }
.inline-link:hover { color: var(--accent); }
.tts-wall { column-count: 3; column-gap: 24px; }
.tts-quote { break-inside: avoid; -webkit-column-break-inside: avoid; margin: 0 0 24px; padding: 30px 32px; background: var(--ink-2); border: 1px solid rgba(255,255,255,0.10); border-radius: 16px; transition: border-color 0.2s ease, transform 0.2s ease;}
.tts-quote:hover { border-color: rgba(255,255,255,0.22); transform: translateY(-2px); }
.tts-quote .quote { margin: 0; font-family: var(--display); font-weight: 500; font-size: 21px; line-height: 1.4; letter-spacing: -0.01em; color: var(--cream); }
.tts-quote .quote .em { color: var(--accent); }
.tts-quote .who { display: block; margin-top: 20px; font-family: var(--mono); font-size: 11px; letter-spacing: 0.14em; text-transform: uppercase; color: var(--accent); }
.tts-cta { margin-top: 56px; padding-top: 44px; border-top: 1px solid rgba(255,255,255,0.12); text-align: center; }
.tts-cta-title { margin: 0; font-family: var(--display); font-weight: 800; font-size: clamp(28px, 3.4vw, 44px); letter-spacing: -0.03em; line-height: 1.05; color: var(--cream); }
.tts-cta-actions { margin-top: 28px; display: flex; flex-wrap: wrap; gap: 16px; justify-content: center; }

/* ---------- INSIDE THE SYSTEM (12 weeks) ---------- */
.inside-grid { display: grid; grid-template-columns: 1fr 1.2fr; gap: 36px;}
.inside-photo { border-radius: 16px; overflow: hidden; min-height: 480px; }
.weeks-list { background: var(--ink-2); color: var(--cream); border-radius: 16px; overflow: hidden;}
.week { display: grid; grid-template-columns: 64px 1fr auto; gap: 16px; align-items: baseline; padding: 19px 24px; border-bottom: 1px solid rgba(255,255,255,0.1);}
.week:last-child { border-bottom: 0;}
.week .w { font-family: var(--mono); font-size: 11px; letter-spacing: 0.14em; color: var(--muted-2);}
.week .t { font-family: var(--display); font-weight: 800; letter-spacing: -0.025em; font-size: 21px;}
.week .d { font-family: var(--mono); font-size: 10px; letter-spacing: 0.14em; text-transform: uppercase; color: var(--accent);}

/* ---------- CONTENT CAROUSEL (The Power Couple Files) ---------- */
.files-track { display: flex; gap: 20px; overflow-x: auto; scroll-snap-type: x mandatory; scroll-behavior: smooth; padding: 4px 56px 10px; scrollbar-width: none; }
.files-track::-webkit-scrollbar { display: none; }
.file-card { flex: 0 0 clamp(300px, 30vw, 420px); scroll-snap-align: start; cursor: pointer; }
.file-card .fc-img { width: 100%; aspect-ratio: 16/10; border-radius: 16px; overflow: hidden; position: relative; background: var(--ink-2);}
.file-card .fc-img .fc-play { position: absolute; left: 16px; bottom: 16px; z-index: 2; width: 44px; height: 44px; border-radius: 50%; background: rgba(246,244,237,0.92); color: var(--ink); display:flex; align-items:center; justify-content:center; font-size: 15px; }
.file-card .fc-cat { font-family: var(--mono); font-size: 10px; letter-spacing: 0.16em; text-transform: uppercase; color: var(--accent); margin-top: 18px;}
.file-card .fc-title { font-family: var(--display); font-weight: 800; letter-spacing: -0.025em; font-size: 25px; line-height: 1.05; margin-top: 10px;}
.file-card .fc-meta { font-family: var(--mono); font-size: 10px; letter-spacing: 0.12em; text-transform: uppercase; color: var(--muted); margin-top: 12px;}
.section.dark .file-card .fc-meta { color: var(--muted-2); }
.file-card .fc-cta { display: inline-flex; align-items: center; gap: 8px; margin-top: 16px; padding: 10px 18px; border: none; border-radius: 999px; background: var(--accent); color: var(--accent-ink, #fff); font-family: var(--mono); font-size: 11px; letter-spacing: 0.12em; text-transform: uppercase; font-weight: 600; cursor: pointer; transition: transform .15s ease, opacity .15s ease; }
.file-card .fc-cta:hover { transform: translateY(-1px); opacity: .92; }
.file-card .fc-cta .arrow { transition: transform .15s ease; }
.file-card .fc-cta:hover .arrow { transform: translateX(3px); }

/* ---------- HOSTS ---------- */
.founders-photo { max-width: 880px; margin: 0 auto 30px; aspect-ratio: 16/10; min-height: 320px; border-radius: 16px; overflow: hidden; border: 1px solid var(--line); background: var(--cream-2); }
.hosts-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 1px; background: var(--line); border-radius: 16px; overflow: hidden;}
.host { background: var(--cream-2); padding: 34px 30px; }
.host .name { font-family: var(--display); font-weight: 800; letter-spacing: -0.025em; font-size: 38px; }
.host .name .em { color: var(--accent); }
.host .role { font-family: var(--mono); font-size: 11px; letter-spacing: 0.14em; text-transform: uppercase; color: var(--accent); margin-top: 8px;}
.host .bio { font-size: 14.5px; color: var(--ink-3); margin-top: 16px; line-height: 1.55; max-width: 460px;}
.host .creds { display: flex; gap: 18px; flex-wrap: wrap; margin-top: 20px; font-family: var(--mono); font-size: 10px; letter-spacing: 0.14em; text-transform: uppercase; color: var(--muted);}


/* ---------- FAQ ---------- */
.faq-list { border: 1px solid var(--line); border-radius: 16px; overflow: hidden;}
.faq-cta { display: flex; align-items: center; justify-content: space-between; gap: 28px; flex-wrap: wrap; margin-top: 28px; padding: 28px 32px; background: var(--cream-2); border: 1px solid var(--line); border-radius: 16px;}
.faq-item { padding: 26px 30px; border-bottom: 1px solid var(--line); cursor: pointer; transition: background .2s; background: var(--cream-2);}
.faq-item:last-child { border-bottom: 0; }
.faq-item:hover, .faq-item.open { background: var(--cream);}
.faq-item .q { display:flex; justify-content: space-between; gap: 24px; align-items: baseline; }
.faq-item .q-text { font-family: var(--display); font-weight: 800; letter-spacing: -0.025em; font-size: 22px;}
.faq-item .q-icon { font-family: var(--mono); font-size: 18px; color: var(--accent); }
.faq-item .a { font-size: 15px; line-height: 1.55; color: var(--ink-3); margin-top: 14px; max-width: 720px; display: none;}
.faq-item.open .a { display: block; }

/* ---------- CLOSING CTA ---------- */
.closing { padding: 104px 0 116px;}
.closing-headline { font-size: clamp(72px, 16vw, 240px); line-height: 0.86; color: var(--accent-ink); }
.closing-headline .em { color: var(--accent-ink); }
.closing-form { display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 0; max-width: 820px; margin-top: 56px; border: 1px solid rgba(255,255,255,0.5); border-radius: 14px; overflow: hidden; background: rgba(0,0,0,0.06);}
.closing-form input, .closing-form select, .closing-form button { min-width: 0; background: transparent; border: 0; border-right: 1px solid rgba(255,255,255,0.5); padding: 19px 18px; font-family: var(--mono); font-size: 12px; letter-spacing: 0.12em; text-transform: uppercase; color: var(--cream); outline: none;}
.closing-form .lj-phone { min-width: 0; }
.closing-form input::placeholder { color: rgba(255,255,255,0.7);}
.closing-form button { background: var(--ink); color: var(--cream); border-right: 0; cursor: pointer; white-space: nowrap; padding-left: 28px; padding-right: 28px;}
.closing-form button:hover { background: var(--cream); color: var(--ink);}
/* Strip the native <select> chrome so the dropdowns render the same flat,
   transparent cell as the text inputs (consistent dark red over the section),
   and draw our own chevron tucked in from the right edge with room to breathe. */
.closing-form select { -webkit-appearance: none; -moz-appearance: none; appearance: none; cursor: pointer; padding-right: 44px; background-image: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20width='12'%20height='8'%20viewBox='0%200%2012%208'%20fill='none'%3E%3Cpath%20d='M1%201.5L6%206.5L11%201.5'%20stroke='%23F6F4ED'%20stroke-width='1.6'%20stroke-linecap='round'%20stroke-linejoin='round'/%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: right 18px center; }
.closing-form select option { color: var(--ink); }
/* Selects render their chosen value at full-opacity cream, which reads brighter
   (and so "bolder") than the 0.7-opacity input placeholders beside them. Match
   the placeholder opacity so every field in the row looks the same weight. */
.closing-form select { color: rgba(255,255,255,0.7); }
/* Desktop two-row layout: First name | Last name | Email  /  Phone | Where you |
   Submit. Row 1 cells (children 1-3) get a bottom divider; the right edge of each
   row (children 3 & 6) drops its right divider so it never doubles the container
   border. Scoped above the 1024px single-column breakpoint so mobile is untouched. */
@media (min-width: 1025px) {
  .closing-form > input, .closing-form > select, .closing-form > button, .closing-form > .lj-phone { border-bottom: 1px solid rgba(255,255,255,0.5); }
  .closing-form > *:nth-child(3n) { border-right: 0; }
  .closing-form > *:nth-child(n+4) { border-bottom: 0; }
  /* The partner toggle gets its own full-width row beneath the contact fields.
     Row-2 cells drop their bottom border (rule above), so the toggle's own top
     border (from the base rule) supplies the single divider line above it. */
  .closing-form > .closing-partner-toggle { grid-column: 1 / -1; white-space: nowrap; }
}
.closing-cta-wrap { margin-top: 36px; }
.closing-cta { background: var(--ink); border-color: var(--ink); color: var(--cream); font-size: 13px; padding: 18px 30px; }
.closing-cta:hover { background: var(--cream); border-color: var(--cream); color: var(--ink); }
.closing-note { margin-top: 24px; font-family: var(--mono); font-size: 11px; letter-spacing: 0.14em; text-transform: uppercase; color: rgba(255,255,255,0.85);}
.closing-form input.lj-field-invalid { background: rgba(0,0,0,0.18); }
.closing-errors { margin-top: 24px; display: flex; flex-direction: column; gap: 6px; }
.closing-field-err { font-family: var(--mono); font-size: 11px; letter-spacing: 0.14em; text-transform: uppercase; color: #fff; }

/* Optional "partner is attending" block. The toggle, the partner fields and the
   submit button each span the full grid width so the partner inputs sit in their
   own rows below the primary contact fields without breaking the 3-up layout. */
.closing-partner-toggle { grid-column: 1 / -1; display: flex; align-items: center; gap: 10px; padding: 16px 18px; border-top: 1px solid rgba(255,255,255,0.5); font-family: var(--mono); font-size: 11px; letter-spacing: 0.12em; text-transform: uppercase; color: var(--cream); cursor: pointer; }
.closing-partner-toggle input { width: 16px; height: 16px; min-width: 0; padding: 0; margin: 0; border: 0; accent-color: var(--cream); cursor: pointer; }
.closing-partner-fields { grid-column: 1 / -1; display: grid; grid-template-columns: 1fr 1fr; gap: 0; border-top: 1px solid rgba(255,255,255,0.5); }
.closing-partner-fields > input, .closing-partner-fields > .lj-phone { border-right: 1px solid rgba(255,255,255,0.5); border-bottom: 1px solid rgba(255,255,255,0.5); }
.closing-partner-fields > *:nth-child(2n) { border-right: 0; }
.closing-form .closing-partner-fields { background: rgba(0,0,0,0.04); }
.closing-form > button { grid-column: 1 / -1; border-top: 1px solid rgba(255,255,255,0.5); }
@media (max-width: 1024px) {
  .closing-partner-fields { grid-template-columns: 1fr; }
  .closing-partner-fields > *:nth-child(2n) { border-right: 1px solid rgba(255,255,255,0.5); }
}

/* ---------- FOOTER ---------- */
.footer { background: var(--ink); color: var(--cream); padding: 72px 0 36px;}
.footer-grid { display: grid; grid-template-columns: minmax(300px, .9fr) minmax(460px, 1.1fr); align-items: start; gap: clamp(56px, 8vw, 128px); }
.footer-nav { display: grid; grid-template-columns: max-content max-content; justify-content: start; gap: clamp(44px, 5vw, 68px); }
.footer-link-list { display: flex; flex-direction: column; }
.footer-column { min-width: 0; }
.footer h4 { font-family: var(--mono); font-size: 11px; letter-spacing: 0.14em; text-transform: uppercase; color: var(--muted-2); margin: 0 0 18px;}
.footer ul { list-style: none; padding: 0; margin: 0;}
.footer ul li { font-size: 14px;}
.footer ul li a { display: inline-flex; align-items: center; min-height: 44px; }
.footer ul li a:hover { color: var(--accent);}
.footer-mark { font-family: var(--display); font-weight: 900; letter-spacing: -0.045em; font-size: 84px; line-height: 0.86; font-optical-sizing: none; font-variation-settings: 'opsz' 24; }
.footer-mark em { font-style: normal; color: var(--accent); margin-left: -0.08em; }
.footer-bottom { display: flex; justify-content: space-between; align-items: center; gap: 24px; margin-top: 56px; padding-top: 24px; border-top: 1px solid rgba(255,255,255,0.12); font-family: var(--mono); font-size: 11px; letter-spacing: 0.14em; text-transform: uppercase; color: var(--muted-2); flex-wrap: wrap;}
.footer-tagline { font-family: var(--display); font-style: italic; font-size: 22px; line-height: 1.2; color: var(--cream); margin-top: 20px; }
.footer-contact { display: inline-flex; align-items: center; min-height: 44px; gap: 8px; margin-top: 22px; padding: 11px 20px; border: 1px solid rgba(255,255,255,0.28); border-radius: 999px; font-family: var(--mono); font-size: 11px; letter-spacing: 0.14em; text-transform: uppercase; color: var(--cream); transition: border-color 0.2s, color 0.2s; }
.footer-contact:hover { border-color: var(--accent); color: var(--accent); }
.footer-contact .arrow { transition: transform 0.2s; }
.footer-contact:hover .arrow { transform: translateX(3px); }

/* ---------- Trust strip ---------- */
.trust { display: grid; grid-template-columns: repeat(5, 1fr); gap: 24px; align-items: center; padding: 32px 0 0;}
.trust .item { display:flex; align-items: center; gap: 10px; font-family: var(--mono); font-size: 10px; letter-spacing: 0.14em; text-transform: uppercase; color: var(--muted); border-left: 1px solid var(--line); padding-left: 16px;}
.trust .item:first-child { border-left: 0; padding-left: 0;}
.trust .item .ic { width: 20px; height: 20px; border: 1px solid currentColor; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; font-family: var(--display); font-size: 10px;}

/* ---------- PROOF marquee ---------- */
.proof-marquee { background: var(--accent); color: var(--accent-ink); padding: 26px 0; overflow: hidden; }
.proof-track { display: flex; gap: 48px; align-items: center; white-space: nowrap; animation: scroll 38s linear infinite; font-family: var(--display); font-weight: 800; letter-spacing: -0.02em; font-size: 34px; text-transform: uppercase;}
.proof-track em { padding: 0 4px; opacity: 0.7;}
@keyframes scroll { from { transform: translateX(0); } to { transform: translateX(-50%);} }

/* ---------- Responsive ---------- */
/* Drop the secondary nav button before the row can overflow. */
@media (max-width: 1180px) {
  .nav-cta .btn.ghost { display: none; }
}
@media (max-width: 1024px) {
  .wrap { padding: 0 24px; }
  .hero-inner { padding: 0 24px; }
  .section { padding: 72px 0; }
  .section.tight { padding: 48px 0; }
  .nav-inner { padding: 14px 24px; }
  .nav-links { display: none; }
  .nav-cta { display: none; }
  .nav-toggle { display: flex; margin-left: auto; }
  .nav-mobile.open { display: flex; }
  .masthead-bar { gap: 18px; padding: 8px 24px; }
  .strip { padding: 18px 24px; }
  .carousel-head, .files-track { padding-left: 24px; padding-right: 24px; }
  .hero-grid { grid-template-columns: 1fr; }
  .hero-photo { min-height: 380px; }
  .hero-right { margin-top: 0; margin-right: -24px; }
  .method-scroller { height: auto; }
  .method-pin { position: static; height: auto; padding: 56px 0; }
  .method-grid { grid-template-columns: 1fr; gap: 0; }
  .mm-photo { height: 56vw; max-height: 420px; }
  /* Accordion: each heading expands its own content beneath it */
  .method-media { display: none; min-height: 0; }
  .method-active { display: none; }
  .method-list { display: block; min-height: 0; padding-left: 0; }
  .method-list::before, .method-list::after { display: none; }
  .method-item { font-size: clamp(26px, 7.5vw, 40px); padding: 20px 0; border-bottom: 1px solid var(--line); }
  .method-item.active { padding-left: 0; }
  .method-item-head { display: flex; align-items: baseline; }
  .method-item-panel { margin-top: 4px; }
  .method-item.active .method-item-panel { display: block; animation: mmfade .4s ease; }
  .method-item-panel .mm-card { padding-bottom: 8px; }
  .method-item-panel .mm-photo { height: 52vw; max-height: 320px; }
  .method-item-panel .mm-body { padding-top: 16px; }
  .tiers { grid-template-columns: 1fr 1fr; }
  .tier:nth-child(2) { border-right: 0; }
  .tier { border-bottom: 1px solid var(--line);}
  .principles { grid-template-columns: 1fr 1fr; }
  .principle.big { grid-row: span 1; min-height: 200px;}
  .inside-grid, .closing-form, .hosts-grid { grid-template-columns: 1fr; }
  .footer-grid { grid-template-columns: 1fr; gap: 56px; }
  .footer-nav { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .tts-wall { column-count: 2; }
  .countdown-tiles { grid-template-columns: 1fr 1fr; }
  .trust { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 640px) {
  .tpc-logo-nav { height: 84px; max-width: 420px; }
  .tpc-logo-footer { height: 66px; max-width: 270px; }
  .section { padding: 56px 0; }
  .section.tight { padding: 40px 0; }
  .wrap { padding: 0 18px; }
  .nav-inner { padding: 10px 18px; min-height: 64px; }
  .nav-mobile.open { padding-inline: 18px; }
  .masthead-bar { padding-inline: 18px; }
  .masthead-bar .mh-msg { flex-basis: 100%; text-align: center; order: 3; }
  .hero-inner { padding: 0 18px; }
  .hero-right { margin-right: -18px; }
  .carousel-head, .files-track { padding-left: 18px; padding-right: 18px; }
  .tiers { grid-template-columns: 1fr;}
  .tier { border-right: 0;}
  .principles { grid-template-columns: 1fr; }
  .hero-meta { grid-template-columns: 1fr 1fr 1fr;}
  .nav-links { display: none; }
  .nav-logo { font-size: clamp(15px, 4.5vw, 22px); }
  /* Tame oversized clamp() headlines on small portrait so they don't overflow */
  .hero-headline { font-size: clamp(40px, 12vw, 64px); }
  .sec-title { font-size: clamp(32px, 9vw, 48px); }
  .countdown-headline { font-size: clamp(38px, 11vw, 64px); }
  .closing-headline { font-size: clamp(56px, 18vw, 120px); }
  /* Testimonials wall collapses to a single column */
  .tts-wall { column-count: 1; }
  /* Footer wordmark scales with viewport instead of overflowing */
  .footer-mark { font-size: clamp(40px, 14vw, 64px); }
  .footer-nav { grid-template-columns: 1fr 1fr; gap: 36px 28px; }
  .footer-nav { grid-template-columns: 1fr 1fr; gap: 36px 28px; }
  /* Programs carousel: tall centred card, shorter neighbours centred vertically */
  .carousel-sec { padding: 56px 0 52px; }
  .carousel-track { align-items: center; }
  /* Keep signup-bar fields at 16px on mobile so iOS Safari doesn't auto-zoom on focus */
  .closing-form input, .closing-form select { font-size: 16px; }
}
/* Guard against incidental horizontal overflow on small screens (keeps sticky nav) */
body { overflow-x: hidden; }
@supports (overflow: clip) {
  body { overflow-x: clip; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto !important; }
  *, *::before, *::after {
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .01ms !important;
    scroll-behavior: auto !important;
  }
}

/* ---------- Label role weight (Google Sans Flex, tracked caps) ---------- */
.masthead-bar, .nav-links, .btn, .strip-meta, .sec-num, .eyebrow,
.car-kicker, .car-price, .carousel-link, .tier-tag, .tier-cta, .badge,
.week .w, .week .d, .fc-cat, .fc-meta, .host .role, .host .creds,
.tts-quote .who, .countdown-foot .note, .countdown-tile .lbl,
.hero-meta .lbl, .hero-stat .lbl, .photo-tag, .photo-counter,
.hero-cta-card .lbl, .hero-cta-card .lnk, .footer h4, .footer-bottom,
.trust .item, .closing-note, .fm-cap, .feature-list li .idx,
.closing-form input, .closing-form select, .closing-form button {
  font-weight: 600;
}
/* Prices / tags read better a touch heavier */
.car-price, .badge, .tier-tag { font-weight: 600; }

/* KPI suffixes (WKS, /WK, CTRY, DAYS) — match the program title's first line:
   narrower (width axis) + lighter weight. Headline emphasis stays untouched. */
.hero-meta .num .em, .hero-stat .num .em {
  font-weight: 500;
  font-stretch: 60%;
  letter-spacing: 0.015em;
}

/* Arbitrary-value margin utilities (visual editor) */
.ml-\[3px\] { margin-left: 3px; }
.ml-\[0px\] { margin-left: 0px; }

/* Logo click-through to home */
.logo-link { text-decoration: none; color: inherit; display: inline-flex; align-items: center; cursor: pointer; }
