/* ==========================================================================
   LONGEVITY LIFE ACADEMY, LIGHT PREMIUM LAYER V2
   Apple daylight editorial system. Loaded last, overrides the dark layer.
   Grounds: white + ice blue. Ink: deep navy. Accent: #006EFF / #5EB6FF.
   Bespoke graphics: blueprint line-art, layered plaques, editorial numerals,
   paper grain, glowing rules, designed curriculum timeline, custom icon set.
   ========================================================================== */

:root {
  --lp-white: #FFFFFF;
  --lp-ice: #F2F7FF;
  --lp-ice-2: #EAF2FF;
  --lp-ink: #0A1428;
  --lp-ink-2: #29385A;
  --lp-ink-3: #465878;
  --lp-blue: #006EFF;
  --lp-blue-deep: #0047B3;
  --lp-blue-lt: #5EB6FF;
  --lp-navy: #0A1F44;
  --lp-gold: #E7C98C;
  --lp-hair: rgba(10, 60, 140, .14);
  --lp-hair-2: rgba(10, 60, 140, .08);
  --lp-shadow-1: 0 1px 2px rgba(10, 40, 100, .06), 0 10px 24px -12px rgba(10, 50, 120, .16);
  --lp-shadow-2: 0 2px 4px rgba(10, 40, 100, .07), 0 18px 44px -16px rgba(10, 60, 150, .22), 0 60px 90px -70px rgba(0, 110, 255, .35);
  --lp-shadow-3: 0 3px 8px rgba(10, 40, 100, .09), 0 30px 70px -22px rgba(10, 60, 150, .28), 0 80px 120px -80px rgba(0, 110, 255, .45), 0 0 0 1px rgba(10, 60, 140, .07);
  --lp-cta-glow: 0 1px 0 rgba(255, 255, 255, .5) inset, 0 -14px 24px -12px rgba(0, 40, 110, .55) inset,
                 0 10px 22px -8px rgba(0, 90, 220, .45), 0 26px 60px -22px rgba(0, 110, 255, .55);
}

/* ============================ 0. GROUND RESET ============================= */

html, body { background: var(--lp-white) !important; }
body {
  color: var(--lp-ink-2) !important;
  font-size: 18px !important;
  -webkit-font-smoothing: antialiased;
}
body::before {
  background:
    radial-gradient(1100px 700px at 8% -8%, rgba(0, 110, 255, .10), transparent 70%),
    radial-gradient(900px 620px at 96% 4%, rgba(94, 182, 255, .12), transparent 72%) !important;
  opacity: 1 !important;
}

/* Paper grain, so light surfaces read as printed stock */
.lp-defs { position: absolute; width: 0; height: 0; overflow: hidden; }
.lp-grain {
  position: fixed; inset: 0; z-index: 9990; pointer-events: none;
  opacity: .045; mix-blend-mode: multiply;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='240' height='240'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='4' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='240' height='240' filter='url(%23n)' opacity='0.55'/%3E%3C/svg%3E");
}
@media print { .lp-grain { display: none; } }

/* ============================ 1. TYPE ==================================== */

h1, h2, h3, h4, .fn-h2, .section-title, .value-title, .topic-v2-title,
.cgm-fold-title, .lead-gen-v2-headline, .teacher-card-live-name,
.fn-gcard h2, #enrollModal h2, .phase-block-name, .curriculum-trigger-text h3 {
  color: var(--lp-ink) !important;
  text-shadow: none !important;
}
.fn-hero h1 { color: var(--lp-ink) !important; text-shadow: none !important; font-size: clamp(52px, 7.1vw, 96px) !important; }
h1 em, h2 em, .fn-h2 em, .section-title em, .fn-hero h1 em {
  color: var(--lp-blue) !important;
  text-shadow: none !important;
}
p, li, td, th, .fn-lead, .section-subtitle, .fn-hero-sub, .value-desc,
.curriculum-flow, .curriculum-work, .quote-text, .faq-a-inner {
  color: var(--lp-ink-2) !important;
}
p, li { font-size: 18px; }
.fn-lead, .section-subtitle, .fn-hero-sub { color: var(--lp-ink-2) !important; }
b, strong { color: var(--lp-ink) !important; }
s { color: var(--lp-ink-3) !important; }
small, .fn-anchor, .fn-microtrust, .quote-meta, .em-refund,
.fn-stack-val, .curriculum-tab-meta, .phase-block-label { font-size: 15.5px !important; }
a { color: var(--lp-blue-deep); }

/* ============================ 2. GROUNDS ================================= */

section.lp-white, section.lp-white.pr-dark, section.lp-white.pr-light,
.fn-trustbar.lp-white, .testimonials.lp-white {
  background: var(--lp-white) !important;
  background-image: none !important;
  color: var(--lp-ink-2) !important;
  position: relative;
  overflow: hidden;
}
section.lp-ice, section.lp-ice.pr-dark, section.lp-ice.pr-light, section.value.lp-ice {
  background: linear-gradient(180deg, #FFFFFF 0%, var(--lp-ice) 22%, var(--lp-ice-2) 62%, var(--lp-ice) 100%) !important;
  background-image: linear-gradient(180deg, #FFFFFF 0%, var(--lp-ice) 22%, var(--lp-ice-2) 62%, var(--lp-ice) 100%) !important;
  color: var(--lp-ink-2) !important;
  position: relative;
  overflow: hidden;
}
/* measurement grid + light pools on ice grounds */
section.lp-ice::before {
  content: ""; position: absolute; inset: 0; z-index: 0; pointer-events: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='48' height='48'%3E%3Cpath d='M48 0H0v48' fill='none' stroke='%23006EFF' stroke-width='0.7'/%3E%3Cpath d='M24 0v48M0 24h48' fill='none' stroke='%23006EFF' stroke-width='0.35'/%3E%3C/svg%3E");
  opacity: .16;
  -webkit-mask-image: radial-gradient(120% 90% at 50% 40%, #000 30%, transparent 78%);
  mask-image: radial-gradient(120% 90% at 50% 40%, #000 30%, transparent 78%);
}
section.lp-ice::after {
  content: ""; position: absolute; inset: 0; z-index: 0; pointer-events: none;
  background:
    radial-gradient(760px 420px at 82% 12%, rgba(0, 110, 255, .13), transparent 72%),
    radial-gradient(620px 380px at 6% 88%, rgba(94, 182, 255, .16), transparent 74%);
  display: block !important;
}
section.lp-white::after {
  content: ""; position: absolute; inset: 0; z-index: 0; pointer-events: none;
  background: radial-gradient(720px 400px at 92% 6%, rgba(0, 110, 255, .07), transparent 72%);
  display: block !important;
}
section.lp-ice > *, section.lp-white > * { position: relative; z-index: 1; }

/* text colour correction inside former dark sections */
.pr-dark.lp-ice h1, .pr-dark.lp-ice h2, .pr-dark.lp-ice h3, .pr-dark.lp-ice h4,
.pr-dark.lp-ice .fn-h2, .pr-dark.lp-ice .section-title,
.pr-dark.lp-white h1, .pr-dark.lp-white h2, .pr-dark.lp-white h3, .pr-dark.lp-white h4,
.pr-dark.lp-white .fn-h2, .pr-dark.lp-white .section-title { color: var(--lp-ink) !important; }
.pr-dark.lp-ice p, .pr-dark.lp-ice li, .pr-dark.lp-ice .fn-lead, .pr-dark.lp-ice .section-subtitle,
.pr-dark.lp-white p, .pr-dark.lp-white li, .pr-dark.lp-white .fn-lead, .pr-dark.lp-white .section-subtitle { color: var(--lp-ink-2) !important; }
.pr-dark.lp-ice b, .pr-dark.lp-white b, .pr-dark.lp-ice strong, .pr-dark.lp-white strong { color: var(--lp-ink) !important; }
.pr-dark.lp-ice::before, .pr-dark.lp-white::before { background-image: none; }

/* ============================ 3. EDITORIAL NUMERALS ====================== */

.lp-numbered { position: relative; }
.lp-numbered > .fn-container, .lp-numbered > .container { position: relative; z-index: 2; }
.lp-numbered::before {
  content: attr(data-lp-num);
  position: absolute;
  top: clamp(-28px, -1.4vw, 0px);
  left: -0.06em;
  z-index: 0;
  font-family: 'Codec Pro','Inter',sans-serif;
  font-weight: 600;
  font-size: clamp(180px, 22vw, 330px);
  line-height: .78;
  letter-spacing: -0.05em;
  color: rgba(0, 110, 255, .085);
  pointer-events: none;
}
.lp-numbered:nth-of-type(even)::before { left: auto; right: -0.05em; }
.lp-kicker {
  font-family: 'Codec Pro','Inter',sans-serif;
  font-style: italic;
  font-size: 21px;
  color: var(--lp-blue-deep);
  margin: 0 0 14px;
}

/* ============================ 4. HERO ==================================== */

.fn-hero {
  background: linear-gradient(180deg, #FFFFFF 0%, #F7FAFF 46%, var(--lp-ice) 100%) !important;
  overflow: hidden;
}
.pr-hero-video { opacity: .30 !important; filter: saturate(1.05) brightness(1.16) !important; }
.pr-hero-scrim {
  background:
    linear-gradient(100deg, #FFFFFF 0%, rgba(255, 255, 255, .94) 42%, rgba(242, 247, 255, .70) 74%, rgba(234, 242, 255, .55) 100%) !important;
}
.fn-hero::after {
  content: ""; position: absolute; inset: auto 0 0 0; height: 220px; z-index: 1; pointer-events: none;
  background: linear-gradient(180deg, transparent, rgba(234, 242, 255, .9));
}
.fn-hero-in { position: relative; z-index: 2; align-items: center; }
.fn-hero-sub b { color: var(--lp-ink) !important; }

.fn-trustpill {
  background: #fff !important;
  border: 1px solid var(--lp-hair) !important;
  color: var(--lp-ink) !important;
  box-shadow: var(--lp-shadow-1);
}
.fn-trustpill .stars svg { color: #F5A623 !important; fill: #F5A623 !important; }

.fn-pricebar { border-color: var(--lp-hair) !important; }
.fn-price-now, .fn-pricecard-price b { color: var(--lp-ink) !important; }
.fn-price-unit, .fn-price-anchor { color: var(--lp-ink-2) !important; }
.fn-price-anchor b { color: var(--lp-blue-deep) !important; }
.fn-microtrust, .fn-microtrust span { color: var(--lp-ink-3) !important; }
.fn-chip {
  background: #fff !important;
  border: 1px solid var(--lp-hair) !important;
  color: var(--lp-ink) !important;
  box-shadow: var(--lp-shadow-1);
  font-size: 15.5px !important;
}

/* dimensional media composition */
.fn-hero-media { position: relative; }
.lp-hero-curve {
  position: absolute;
  z-index: 0;
  top: -6%; left: -16%;
  width: 128%; height: 108%;
  opacity: .55;
  pointer-events: none;
}
.lp-hero-figure {
  position: absolute;
  z-index: 3;
  right: -3%; top: -10%;
  font-family: 'Codec Pro','Inter',sans-serif;
  font-weight: 600;
  font-size: clamp(160px, 17vw, 280px);
  line-height: .8;
  letter-spacing: -0.06em;
  color: rgba(0, 110, 255, .16);
  pointer-events: none;
}
.fn-hero-frame {
  position: relative; z-index: 2;
  background: #fff !important;
  border: 1px solid var(--lp-hair) !important;
  border-radius: 22px;
  box-shadow: var(--lp-shadow-3) !important;
  overflow: hidden;
  transform: rotate(-1.1deg);
}
.fn-hero-frame img { display: block; width: 100%; height: auto; }
.fn-hero-frame::after {
  content: ""; position: absolute; inset: 0; pointer-events: none;
  background: linear-gradient(180deg, rgba(0, 60, 160, .04), rgba(0, 40, 120, .22));
}
.fn-hero-frame-cap {
  position: relative; z-index: 2;
  background: #fff !important;
  color: var(--lp-ink-2) !important;
  border-top: 1px solid var(--lp-hair);
  font-size: 15.5px !important;
}
.fn-hero-frame-cap b { color: var(--lp-ink) !important; display: block; font-size: 17px; }
.pr-hero-float {
  position: absolute; z-index: 4;
  left: -6%; bottom: 6%;
  width: 40%;
  background: #fff !important;
  border: 1px solid var(--lp-hair) !important;
  border-radius: 16px;
  padding: 10px 10px 12px !important;
  box-shadow: var(--lp-shadow-3) !important;
  transform: rotate(2deg);
}
.pr-hero-float img { border-radius: 10px; width: 100%; height: auto; display: block; }
.pr-hero-float span { color: var(--lp-ink) !important; font-size: 15px !important; font-weight: 600; display: block; padding-top: 8px; }

.fn-hero-badge, .lp-plaque {
  position: absolute; z-index: 5;
  background: rgba(255, 255, 255, .93) !important;
  backdrop-filter: blur(14px) saturate(1.4);
  border: 1px solid var(--lp-hair) !important;
  border-radius: 16px;
  padding: 14px 18px !important;
  color: var(--lp-ink) !important;
  box-shadow: var(--lp-shadow-2), 0 0 0 6px rgba(255, 255, 255, .45);
  min-width: 178px;
}
.fn-hero-badge { right: -4%; top: 6%; }
.lp-plaque--a { left: -12%; top: 26%; }
.lp-plaque--b { right: -6%; bottom: 2%; }
.fn-hero-badge b, .lp-plaque b {
  display: block;
  font-family: 'Codec Pro','Inter',sans-serif;
  font-size: 24px; line-height: 1.1;
  color: var(--lp-ink) !important;
}
.fn-hero-badge span, .lp-plaque span { display: block; font-size: 15px !important; color: var(--lp-ink-3) !important; }
.lp-ico { color: var(--lp-blue); display: block; margin-bottom: 8px; }

@media (max-width: 1100px) {
  .lp-plaque--a, .lp-plaque--b { position: relative; left: auto; right: auto; top: auto; bottom: auto; display: inline-flex; flex-direction: column; margin: 12px 12px 0 0; }
  .fn-hero-badge { position: relative; right: auto; top: auto; display: inline-flex; flex-direction: column; margin-top: 12px; }
  .lp-hero-figure { font-size: 140px; right: 0; top: -4%; }
  .pr-hero-float { width: 46%; left: 0; }
}

/* ============================ 5. BUTTONS (machined) ====================== */

.fn-btn--primary, .em-go, .section-cta-btn, .fn-nav-pill, .lead-gen-v2-submit {
  background: linear-gradient(180deg, #2B8CFF 0%, var(--lp-blue) 52%, #0057D6 100%) !important;
  color: #fff !important;
  border: 0 !important;
  border-radius: 999px !important;
  box-shadow: var(--lp-cta-glow) !important;
  position: relative;
  overflow: hidden;
  font-weight: 600 !important;
}
.fn-btn--primary::after, .em-go::after, .section-cta-btn::after, .lead-gen-v2-submit::after {
  content: ""; position: absolute; inset: 1px 1px auto 1px; height: 46%;
  border-radius: 999px;
  background: linear-gradient(180deg, rgba(255, 255, 255, .42), rgba(255, 255, 255, 0));
  pointer-events: none;
}
.fn-btn--primary:hover, .em-go:hover, .section-cta-btn:hover, .lead-gen-v2-submit:hover {
  transform: translateY(-2px);
  box-shadow: 0 1px 0 rgba(255, 255, 255, .55) inset, 0 -14px 24px -12px rgba(0, 40, 110, .6) inset,
              0 16px 30px -10px rgba(0, 90, 220, .5), 0 40px 80px -26px rgba(0, 110, 255, .65) !important;
}
.fn-btn--primary svg, .section-cta-btn svg { color: #fff !important; stroke: #fff; }
.fn-btn--lg { font-size: 19px !important; padding: 20px 34px !important; }
.fn-btn--ghost {
  background: #fff !important;
  color: var(--lp-ink) !important;
  border: 1px solid var(--lp-hair) !important;
  box-shadow: var(--lp-shadow-1) !important;
  border-radius: 999px !important;
}
.fn-btn--ghost:hover { color: var(--lp-blue-deep) !important; border-color: rgba(0, 110, 255, .4) !important; }
.fn-btn--onblue { background: #fff !important; color: var(--lp-blue-deep) !important; box-shadow: 0 18px 44px -14px rgba(0, 20, 60, .5) !important; }
.fn-btn--onblue svg { color: var(--lp-blue-deep) !important; stroke: var(--lp-blue-deep); }
.fn-btn--onblue::after { background: linear-gradient(180deg, rgba(255, 255, 255, .9), rgba(255, 255, 255, 0)); }

/* ============================ 6. NAV, ANNOUNCE, BUYBAR ================== */

.fn-announce {
  background: #04122B !important;
  color: #FFFFFF !important;
  border-bottom: 1px solid rgba(94, 182, 255, .18);
}
.fn-announce-in { color: #FFFFFF !important; font-size: 15px !important; gap: 16px; }
.fn-announce-in b { color: #FFFFFF !important; }
.fn-announce-b { color: rgba(255, 255, 255, .82) !important; }
.fn-announce-rule {
  display: inline-block; width: 74px; height: 1px;
  background: linear-gradient(90deg, transparent, rgba(94, 182, 255, .9), transparent);
  box-shadow: 0 0 12px 1px rgba(0, 110, 255, .45);
}
@media (max-width: 640px) {
  :root { --fn-announce-h: 56px; }
  .fn-announce-in { justify-content: center; gap: 0; overflow: visible; flex-wrap: wrap; }
  .fn-announce-rule, .fn-announce-b { display: none !important; }
  .fn-announce-a { font-size: 15px; text-align: center; white-space: normal; }
  .fn-announce { height: auto; min-height: var(--fn-announce-h); padding: 8px 12px; }
}
.fn-nav, .fn-nav.is-stuck {
  background: rgba(7, 26, 58, .92) !important;
  backdrop-filter: blur(18px) saturate(1.4);
  border-bottom: 1px solid rgba(94, 182, 255, .22) !important;
  box-shadow: 0 12px 30px -20px rgba(0, 0, 0, .55);
}
.fn-nav-links a, .fn-nav-sec { color: #EAF2FF !important; font-size: 16px !important; font-weight: 500; }
.fn-nav-links a:hover, .fn-nav-sec:hover { color: #9CCBFF !important; }
.fn-navtoggle { color: #FFFFFF !important; }
.fn-drawer { background: #071A3A !important; }
.fn-drawer-link { color: #FFFFFF !important; border-bottom: 1px solid rgba(94, 182, 255, .22) !important; }
.fn-drawer-close { color: #FFFFFF !important; }

.fn-buybar {
  background: rgba(255, 255, 255, .94) !important;
  backdrop-filter: blur(18px) saturate(1.4);
  border-top: 1px solid var(--lp-hair) !important;
  box-shadow: 0 -18px 50px -30px rgba(10, 40, 100, .45) !important;
}
.fn-buybar-txt b, .fn-buybar-mid span { color: var(--lp-ink) !important; }
.fn-buybar-txt span, .fn-buybar-note { color: var(--lp-ink-3) !important; }
.fn-buybar-rule { display: inline-block; width: 46px; height: 1px; background: linear-gradient(90deg, transparent, rgba(0, 110, 255, .9), transparent); }
.fn-buybar-mid { font-size: 15.5px !important; }

/* ============================ 7. DIVIDERS + LINE ART ==================== */

.lp-divider {
  display: flex; align-items: center; gap: 22px;
  max-width: 1180px; margin: 0 auto; padding: 6px 24px;
  background: transparent;
}
.lp-divider-rule {
  flex: 1; height: 1px;
  background: linear-gradient(90deg, transparent, rgba(0, 110, 255, .55), transparent);
  box-shadow: 0 0 18px 1px rgba(0, 110, 255, .32);
}
.lp-divider-mark { color: var(--lp-blue); opacity: .75; }
.pr-rule { background: linear-gradient(90deg, transparent, rgba(0, 110, 255, .6), transparent) !important; box-shadow: 0 0 20px 1px rgba(0, 110, 255, .28) !important; }

.lp-cellart {
  position: absolute; z-index: 0; pointer-events: none;
  right: -160px; top: -80px; width: 620px; height: 620px;
  opacity: .22;
}
@media (max-width: 900px) { .lp-cellart { width: 420px; height: 420px; right: -170px; opacity: .16; } }

/* ============================ 8. CARDS + SURFACES ======================= */

.fn-loop-step, .value-card, .fn-stack, .fn-pricecard, .quote-card, .faq-item,
.teacher-card-live, .fn-gcard, .fn-tp-card, .curriculum-item, .fn-col,
.lead-gen-v2-form, .fn-exit-card, .fn-state {
  background: #fff !important;
  border: 1px solid var(--lp-hair) !important;
  box-shadow: var(--lp-shadow-2) !important;
  color: var(--lp-ink-2) !important;
}
.fn-loop-step b { color: var(--lp-blue-deep) !important; font-family: 'Codec Pro','Inter',sans-serif; font-size: 19px; }
.fn-loop-step h4, .value-title, .quote-text b { color: var(--lp-ink) !important; }
.fn-stack-head { background: linear-gradient(90deg, #F2F7FF, #FFFFFF) !important; border-bottom: 1px solid var(--lp-hair) !important; }
.fn-stack-head b, .fn-stack-head span { color: var(--lp-ink) !important; }
.fn-stack-row { border-color: var(--lp-hair-2) !important; }
.fn-stack-row h4 { color: var(--lp-ink) !important; }
.fn-stack-val { color: var(--lp-blue-deep) !important; }
.fn-stack-thumb { background: var(--lp-ice) !important; border: 1px solid var(--lp-hair-2) !important; color: var(--lp-blue) !important; }
.fn-stack-total { background: linear-gradient(180deg, #EAF2FF, #FFFFFF) !important; border-top: 1px solid var(--lp-hair) !important; }
.fn-stack-total b, .fn-stack-total span { color: var(--lp-ink) !important; }
.fn-stack-total small { color: var(--lp-ink-2) !important; }
.fn-pricecard { box-shadow: var(--lp-shadow-3) !important; }
.fn-pricecard-tag {
  background: linear-gradient(90deg, rgba(0, 110, 255, .1), rgba(94, 182, 255, .12)) !important;
  color: var(--lp-blue-deep) !important;
  border: 1px solid rgba(0, 110, 255, .18) !important;
  font-size: 15px !important;
}
.fn-pricecard-sub, .fn-pricecard-anchor, .fn-pricecard-list span { color: var(--lp-ink-2) !important; }
.fn-pricecard-list svg { color: var(--lp-blue) !important; }
.fn-pricecard-sec { color: var(--lp-blue-deep) !important; }
.fn-seatmeter-top span, .fn-seatmeter-top b { color: var(--lp-ink) !important; }
.fn-seatmeter-track { background: rgba(10, 60, 140, .1) !important; }
.fn-seatmeter-fill { background: linear-gradient(90deg, var(--lp-blue), var(--lp-blue-lt)) !important; box-shadow: 0 0 18px rgba(0, 110, 255, .5); }

.fn-stat b, .fn-stats b { color: var(--lp-ink) !important; }
.fn-stat span { color: var(--lp-ink-3) !important; font-size: 15.5px !important; }
.fn-trustbar { background: #fff !important; border-top: 1px solid var(--lp-hair-2) !important; border-bottom: 1px solid var(--lp-hair-2) !important; }
.trust-logo-img { filter: none !important; opacity: .9; }

/* topic cards keep photography, light frames */
.topic-v2 { border: 1px solid var(--lp-hair) !important; box-shadow: var(--lp-shadow-2) !important; background: #fff !important; }
.topic-v2-overlay { background: linear-gradient(180deg, rgba(6, 20, 50, 0) 24%, rgba(6, 20, 50, .78) 100%) !important; }
.topic-v2-title, .topic-v2-desc, .topic-v2-num { color: #fff !important; }
.topic-v2-desc { color: rgba(255, 255, 255, .92) !important; }
.topic-v2-arrow { background: #fff !important; color: var(--lp-ink) !important; }

/* faculty */
.teacher-card-live-role { color: var(--lp-blue-deep) !important; }
.teacher-card-live-bio { color: var(--lp-ink-2) !important; }
.teacher-card-live--julie .teacher-card-live-role,
.teacher-card-live-role.gold, .gold { color: #A9812F !important; }
.teacher-card-live--julie { box-shadow: var(--lp-shadow-3), 0 0 0 1px rgba(231, 201, 140, .8) !important; }

/* comparison */
.fn-col { background: #fff !important; }
.fn-col--us { background: linear-gradient(180deg, #FFFFFF, #F2F7FF) !important; box-shadow: var(--lp-shadow-3) !important; }
.fn-col th, .fn-col td, .fn-compare td, .fn-compare th { color: var(--lp-ink-2) !important; border-color: var(--lp-hair-2) !important; }
.fn-compare b { color: var(--lp-ink) !important; }

/* guarantee */
.fn-gcard { box-shadow: var(--lp-shadow-3) !important; }
.fn-gseal {
  background: radial-gradient(120% 120% at 30% 20%, #FFFFFF, #EAF2FF) !important;
  border: 1px solid rgba(0, 110, 255, .25) !important;
  color: var(--lp-blue-deep) !important;
  box-shadow: 0 20px 44px -20px rgba(0, 110, 255, .45), inset 0 1px 0 #fff;
}
.fn-gseal b { color: var(--lp-blue-deep) !important; }
.fn-gseal span { color: var(--lp-ink-2) !important; }

/* FAQ */
.faq-q { color: var(--lp-ink) !important; font-size: 20px !important; }
.faq-num { color: var(--lp-blue) !important; font-family: 'Codec Pro','Inter',sans-serif; }
.faq-icon { background: var(--lp-ice) !important; color: var(--lp-blue-deep) !important; border: 1px solid var(--lp-hair) !important; }

/* ============================ 9. PULL QUOTE BAND ======================== */

.lp-pull {
  position: relative;
  background: linear-gradient(180deg, #FFFFFF 0%, var(--lp-ice) 100%);
  padding: clamp(80px, 9vw, 140px) 0;
  overflow: hidden;
  border-top: 1px solid var(--lp-hair-2);
  border-bottom: 1px solid var(--lp-hair-2);
}
.lp-pull::before {
  content: ""; position: absolute; inset: 0;
  background: radial-gradient(700px 380px at 20% 20%, rgba(0, 110, 255, .12), transparent 70%);
}
.lp-pull-in { position: relative; display: grid; grid-template-columns: 150px 1fr; gap: 10px; align-items: start; }
.lp-pull-mark {
  font-family: 'Codec Pro','Inter',sans-serif;
  font-size: clamp(150px, 15vw, 240px);
  line-height: .72;
  color: rgba(0, 110, 255, .22);
  display: block;
}
.lp-pull-q {
  margin: 0;
  font-family: 'Codec Pro','Inter',sans-serif;
  font-weight: 500;
  font-size: clamp(30px, 3.9vw, 56px);
  line-height: 1.08;
  letter-spacing: -0.025em;
  color: var(--lp-ink);
  max-width: 20ch;
}
.lp-pull-q { max-width: 30ch; }
.lp-pull-meta { grid-column: 2; display: flex; align-items: center; gap: 12px; margin-top: 26px; color: var(--lp-ink-2); font-size: 17px; }
.lp-pull-meta .lp-ico { margin: 0; }
@media (max-width: 820px) {
  .lp-pull-in { grid-template-columns: 1fr; }
  .lp-pull-meta { grid-column: 1; }
}

/* ============================ 10. CURRICULUM TIMELINE =================== */

.curriculum-tabs { gap: 12px; }
.curriculum-tab {
  background: #fff !important;
  border: 1px solid var(--lp-hair) !important;
  border-radius: 14px !important;
  box-shadow: var(--lp-shadow-1) !important;
  color: var(--lp-ink-2) !important;
}
.curriculum-tab-num { font-family: 'Codec Pro','Inter',sans-serif; font-size: 22px !important; color: var(--lp-blue) !important; }
.curriculum-tab-name { color: var(--lp-ink) !important; font-size: 17px !important; font-weight: 600; }
.curriculum-tab-meta { color: var(--lp-ink-3) !important; }
.curriculum-tab.is-active {
  background: linear-gradient(180deg, #FFFFFF, #EAF2FF) !important;
  border-color: rgba(0, 110, 255, .35) !important;
  box-shadow: var(--lp-shadow-2), 0 0 0 3px rgba(0, 110, 255, .1) !important;
}

.phase-block { position: relative; }
.phase-block-header { border: 0 !important; display: flex; align-items: baseline; gap: 16px; }
.phase-block-label { color: var(--lp-blue-deep) !important; }
.phase-block-name { font-family: 'Codec Pro','Inter',sans-serif; font-size: 30px !important; color: var(--lp-ink) !important; }
.phase-block-sessions { position: relative; padding-left: 46px !important; }
.phase-block-sessions::before {
  content: ""; position: absolute; left: 17px; top: 12px; bottom: 12px; width: 2px;
  background: linear-gradient(180deg, rgba(0, 110, 255, .5), rgba(94, 182, 255, .3));
  border-radius: 2px;
}
.phase-block-sessions .curriculum-item { position: relative; border-radius: 16px !important; }
.phase-block-sessions .curriculum-item::before {
  content: ""; position: absolute; left: -37px; top: 26px;
  width: 14px; height: 14px; border-radius: 50%;
  background: #fff;
  border: 2.5px solid var(--lp-blue);
  box-shadow: 0 0 0 5px rgba(0, 110, 255, .12), 0 6px 14px -6px rgba(0, 110, 255, .6);
}
[data-phase="1"] .phase-block-sessions::before { background: linear-gradient(180deg, #6FA8FF, rgba(111, 168, 255, .3)); }
[data-phase="2"] .phase-block-sessions::before { background: linear-gradient(180deg, #C98A2E, rgba(201, 138, 46, .3)); }
[data-phase="2"] .phase-block-sessions .curriculum-item::before { border-color: #C98A2E; box-shadow: 0 0 0 5px rgba(201, 138, 46, .12); }
[data-phase="3"] .phase-block-sessions::before { background: linear-gradient(180deg, #2E8C86, rgba(46, 140, 134, .3)); }
[data-phase="3"] .phase-block-sessions .curriculum-item::before { border-color: #2E8C86; box-shadow: 0 0 0 5px rgba(46, 140, 134, .12); }
[data-phase="4"] .phase-block-sessions::before { background: linear-gradient(180deg, #3B3F91, rgba(59, 63, 145, .3)); }
[data-phase="4"] .phase-block-sessions .curriculum-item::before { border-color: #3B3F91; box-shadow: 0 0 0 5px rgba(59, 63, 145, .12); }
.curriculum-num { color: var(--lp-blue) !important; font-family: 'Codec Pro','Inter',sans-serif; font-size: 21px !important; }
.curriculum-trigger-text h3 { font-size: 20px !important; }
.curriculum-section-label { color: var(--lp-blue-deep) !important; font-size: 15.5px !important; letter-spacing: 0 !important; text-transform: none !important; font-weight: 600; }
.curriculum-goals li, .curriculum-flow, .curriculum-work { font-size: 17px !important; color: var(--lp-ink-2) !important; }
.curriculum-goals li::before { background: var(--lp-blue) !important; color: var(--lp-blue) !important; }
@media (max-width: 700px) { .phase-block-sessions { padding-left: 30px !important; } .phase-block-sessions::before { left: 9px; } .phase-block-sessions .curriculum-item::before { left: -28px; } }

/* ============================ 11. QUOTES ================================ */

.quote-card { border-radius: 18px !important; }
.quote-mark { color: rgba(0, 110, 255, .18) !important; font-family: 'Codec Pro','Inter',sans-serif; }
.quote-stars svg { color: #F5A623 !important; fill: #F5A623 !important; }
.quote-text { font-size: 18px !important; }
.quote-meta { color: var(--lp-ink-3) !important; }
.fn-tp-card b, .fn-tp-card span { color: var(--lp-ink) !important; }
.fn-tp-card .stars svg { color: #F5A623 !important; fill: #F5A623 !important; }

/* ============================ 12. CLOSE + FOOTER ======================== */

.fn-close.lp-navy {
  background: linear-gradient(160deg, #0A1F44 0%, #0B3FA8 58%, #0A1F44 100%) !important;
  position: relative; overflow: hidden;
}
.fn-close.lp-navy::before {
  content: ""; position: absolute; inset: 0;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='48' height='48'%3E%3Cpath d='M48 0H0v48' fill='none' stroke='%23FFFFFF' stroke-width='0.6'/%3E%3C/svg%3E");
  opacity: .10;
}
.fn-close-video { opacity: .18 !important; }
.fn-close h2, .fn-close p, .fn-close .fn-close-price b, .fn-close .fn-close-price span { color: #fff !important; }
.fn-close h2 em { color: #9CCBFF !important; }
.fn-close p { color: rgba(232, 240, 255, .92) !important; }
.fn-close .fn-microtrust span { color: rgba(232, 240, 255, .9) !important; }
.fn-closefacts {
  display: grid; grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 16px; margin: 34px auto 30px; max-width: 900px;
}
.fn-closefact {
  background: rgba(255, 255, 255, .10);
  border: 1px solid rgba(255, 255, 255, .22);
  border-radius: 16px; padding: 18px 16px;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .28), 0 24px 50px -30px rgba(0, 0, 0, .6);
  text-align: left;
}
.fn-closefact .lp-ico { color: #9CCBFF; }
.fn-closefact b { display: block; font-family: 'Codec Pro','Inter',sans-serif; font-size: 32px; line-height: 1.05; color: #fff !important; }
.fn-closefact span { display: block; font-size: 15.5px; color: rgba(232, 240, 255, .88); }
@media (max-width: 780px) { .fn-closefacts { grid-template-columns: repeat(2, minmax(0, 1fr)); } }

.footer { background: var(--lp-navy) !important; color: rgba(232, 240, 255, .88) !important; border-top: 0 !important; }
.footer h4 { color: #fff !important; font-size: 17px !important; }
.footer p, .footer li, .footer a, .footer-bottom, .footer-bottom div { color: rgba(232, 240, 255, .86) !important; font-size: 16px !important; }
.footer a:hover { color: #9CCBFF !important; }
.footer .brand-name-codec { color: #fff !important; }

/* ============================ 13. SECONDARY + LEAD GEN ================== */

.fn-secondary.lp-white { background: #fff !important; position: relative; overflow: hidden; }
.fn-secondary h2, .fn-secondary p { color: var(--lp-ink) !important; }
.fn-secondary .fn-lead { color: var(--lp-ink-2) !important; }
.fn-secondary .fn-apply-head { position: relative; z-index: 1; }
.fn-secondary::after {
  content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 220px; z-index: 0;
  background: linear-gradient(0deg, rgba(0,110,255,.06) 0%, rgba(255,255,255,0) 100%);
}
.lead-gen.lp-ice .lead-gen-v2-bg {
  display: block !important; opacity: 1 !important;
  position: absolute; inset: 0; z-index: 0;
  background: url('img-supplements.jpg') center right / cover no-repeat;
}
.lead-gen.lp-ice .lead-gen-v2-bg::after {
  content: ""; position: absolute; inset: 0;
  background: linear-gradient(100deg, #EAF2FF 0%, #EAF2FF 46%, rgba(234,242,255,.55) 68%, rgba(234,242,255,.25) 100%);
}
.lead-gen.lp-ice .lead-gen-v2-grid, .lead-gen.lp-ice .container { position: relative; z-index: 1; }
.lead-gen-v2-headline, .lead-gen-v2-sub, .lead-gen-v2-list li { color: var(--lp-ink) !important; }
.lead-gen-v2-sub, .lead-gen-v2-list li { color: var(--lp-ink-2) !important; }
.lead-gen-v2-form { border-radius: 20px !important; }
.lead-gen-v2-form label, .lead-gen-v2-form .lg-label { color: var(--lp-ink) !important; font-size: 15.5px !important; }
.lead-gen-v2-form input, .lead-gen-v2-form select, .lead-gen-v2-form textarea {
  background: #fff !important; color: var(--lp-ink) !important;
  border: 1px solid var(--lp-hair) !important; font-size: 17px !important;
}

/* ============================ 14. MODAL ================================= */

#enrollModal .em-dialog { background: #fff !important; box-shadow: var(--lp-shadow-3) !important; }
#enrollModal h2, #enrollModal .em-lb, #enrollModal .em-cname { color: var(--lp-ink) !important; }
#enrollModal h2 em { color: var(--lp-blue) !important; }
#enrollModal .em-in { background: #fff !important; color: var(--lp-ink) !important; border: 1px solid var(--lp-hair) !important; font-size: 17px !important; }
#enrollModal .em-lbl, #enrollModal .em-cl, #enrollModal .em-consent label { color: var(--lp-ink-2) !important; }
#enrollModal .em-card { background: var(--lp-ice) !important; border: 1px solid var(--lp-hair) !important; }
#enrollModal .em-band { background: linear-gradient(90deg, #0A1F44, #0B3FA8) !important; }
#enrollModal .em-band .b-l, #enrollModal .em-band .b-v { color: #fff !important; }
#enrollModal .em-st.active .em-dot, #enrollModal .em-st.done .em-dot { background: var(--lp-blue) !important; color: #fff !important; }
#enrollModal .em-backdrop { background: rgba(10, 25, 60, .48) !important; backdrop-filter: blur(6px); }

/* ============================ 15. EXIT + MISC =========================== */

.fn-exit-card { background: #fff !important; }
.fn-exit-card h3, .fn-exit-list span { color: var(--lp-ink) !important; }
.fn-exit-card p, .fn-exit-list .val { color: var(--lp-ink-2) !important; }
.fn-exit-sec { color: var(--lp-ink-3) !important; }
.fn-exit-list svg { color: var(--lp-blue) !important; }

/* consistent hand tuned icon stroke weight */
svg[stroke]:not(.trust-logo-img) { stroke-linecap: round; stroke-linejoin: round; }
.fn-loop-step svg, .value-card svg, .fn-stack-thumb svg, .fn-exit-list svg, .fn-pricecard-list svg { stroke-width: 1.6; }

/* nothing under 15px */
.fn-microtrust, .fn-microtrust span, .quote-meta, small, .em-refund, figcaption { font-size: 15.5px !important; }

/* accessibility, motion */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration: .001ms !important; transition-duration: .001ms !important; }
}

/* ==========================================================================
   16. ROOT-SCOPED HARD OVERRIDES (beat legacy dark rules)
   ========================================================================== */

#lpRoot section.lp-white, #lpRoot .testimonials.lp-white, #lpRoot .fn-trustbar.lp-white {
  background: var(--lp-white) !important;
  background-image: none !important;
}
#lpRoot section.lp-ice {
  background-color: var(--lp-ice) !important;
  background-image: linear-gradient(180deg, #FFFFFF 0%, var(--lp-ice) 22%, var(--lp-ice-2) 62%, var(--lp-ice) 100%) !important;
}
#lpRoot section.lp-white::before, #lpRoot section.lp-ice.pr-dark::before { background-image: none !important; }
#lpRoot .cgm-fold::before, #lpRoot .cgm-fold::after,
#lpRoot .instructors::before, #lpRoot .instructors::after,
#lpRoot .testimonials::before, #lpRoot .testimonials::after,
#lpRoot .topics::before, #lpRoot .fn-proof::before, #lpRoot .fn-guarantee::before,
#lpRoot .fn-offer::before, #lpRoot .lead-gen::before { background-image: none !important; opacity: .0001 !important; }

/* headings + copy on light grounds */
#lpRoot .lp-white h1, #lpRoot .lp-white h2, #lpRoot .lp-white h3, #lpRoot .lp-white h4,
#lpRoot .lp-white .fn-h2, #lpRoot .lp-white .section-title, #lpRoot .lp-white .cgm-fold-title,
#lpRoot .lp-ice h1, #lpRoot .lp-ice h2, #lpRoot .lp-ice h3, #lpRoot .lp-ice h4,
#lpRoot .lp-ice .fn-h2, #lpRoot .lp-ice .section-title { color: var(--lp-ink) !important; text-shadow: none !important; }
#lpRoot .lp-white h1 em, #lpRoot .lp-white h2 em, #lpRoot .lp-white .section-title em, #lpRoot .lp-white .cgm-fold-title em,
#lpRoot .lp-ice h1 em, #lpRoot .lp-ice h2 em, #lpRoot .lp-ice .section-title em { color: var(--lp-blue) !important; text-shadow: none !important; }
#lpRoot .lp-white p, #lpRoot .lp-white li, #lpRoot .lp-white .fn-lead, #lpRoot .lp-white .section-subtitle, #lpRoot .lp-white .cgm-fold-sub,
#lpRoot .lp-ice p, #lpRoot .lp-ice li, #lpRoot .lp-ice .fn-lead, #lpRoot .lp-ice .section-subtitle { color: var(--lp-ink-2) !important; }
#lpRoot .lp-white b, #lpRoot .lp-white strong, #lpRoot .lp-ice b, #lpRoot .lp-ice strong { color: var(--lp-ink) !important; }
#lpRoot .lp-white s, #lpRoot .lp-ice s { color: var(--lp-ink-3) !important; }

/* cards on light grounds */
#lpRoot .fn-loop-step, #lpRoot .value-card, #lpRoot .fn-stack, #lpRoot .fn-pricecard,
#lpRoot .quote-card, #lpRoot .faq-item, #lpRoot .teacher-card-live, #lpRoot .fn-gcard,
#lpRoot .fn-tp-card, #lpRoot .curriculum-item, #lpRoot .fn-col, #lpRoot .lead-gen-v2-form,
#lpRoot .fn-exit-card, #lpRoot .curriculum-tab, #lpRoot .cgm-card, #lpRoot .cgm-fold-card,
#lpRoot .fn-state, #lpRoot .fn-chip, #lpRoot .fn-trustpill {
  background-color: #fff !important;
  background-image: none !important;
  border-color: var(--lp-hair) !important;
  color: var(--lp-ink-2) !important;
}
#lpRoot .fn-loop-step h4, #lpRoot .value-title, #lpRoot .teacher-card-live-name,
#lpRoot .curriculum-trigger-text h3, #lpRoot .quote-text, #lpRoot .faq-q,
#lpRoot .fn-stack-row h4, #lpRoot .fn-state h3 { color: var(--lp-ink) !important; }
#lpRoot .fn-loop-step p, #lpRoot .value-desc, #lpRoot .teacher-card-live-bio,
#lpRoot .quote-text, #lpRoot .faq-a-inner, #lpRoot .fn-state li, #lpRoot .fn-state span { color: var(--lp-ink-2) !important; }
#lpRoot .teacher-card-live-role { color: var(--lp-blue-deep) !important; }
#lpRoot .quote-mark { color: rgba(0, 110, 255, .18) !important; }
#lpRoot .curriculum-num, #lpRoot .faq-num, #lpRoot .curriculum-tab-num { color: var(--lp-blue) !important; }
#lpRoot .fn-loop-step b { color: var(--lp-blue-deep) !important; }
#lpRoot .curriculum-chevron, #lpRoot .faq-icon svg { color: var(--lp-blue-deep) !important; }

/* mechanism loop step video thumbnails */
#lpRoot .fn-loop-step { overflow: hidden; padding: 0 0 24px 0 !important; }
#lpRoot .fn-loop-media {
  position: relative; width: 100%; margin: 0 0 20px 0;
  aspect-ratio: 16 / 10; overflow: hidden; border-radius: 19px 19px 0 0;
  background: #04122B;
}
#lpRoot .fn-loop-media video { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
@media (prefers-reduced-motion: reduce) {
  #lpRoot .fn-loop-media video { display: none; }
}
#lpRoot .fn-loop-step b, #lpRoot .fn-loop-step h4, #lpRoot .fn-loop-step p { padding-left: 24px; padding-right: 24px; }

/* the "after" comparison state stays a brand-blue plaque, never black */
#lpRoot .fn-state--after {
  background-image: linear-gradient(155deg, #0B57D0 0%, #0A2F72 100%) !important;
  border-color: rgba(255, 255, 255, .22) !important;
}
#lpRoot .fn-state--after h3, #lpRoot .fn-state--after b { color: #fff !important; }
#lpRoot .fn-state--after li, #lpRoot .fn-state--after span, #lpRoot .fn-state--after p { color: rgba(232, 240, 255, .94) !important; }
#lpRoot .fn-state--after svg { color: #9CCBFF !important; }
#lpRoot .fn-state-tag { font-size: 15px !important; }

/* CGM fold, glucose line-art ground */
#lpRoot .cgm-fold {
  background-color: var(--lp-white) !important;
  background-image:
    radial-gradient(820px 460px at 88% 8%, rgba(0, 110, 255, .10), transparent 72%),
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='1200' height='420' viewBox='0 0 1200 420'%3E%3Cpath d='M0 300C120 300 176 120 296 120c122 0 130 190 232 190 112 0 142-260 258-260 92 0 126 172 218 172 74 0 118-88 196-88' fill='none' stroke='%23006EFF' stroke-opacity='0.18' stroke-width='2'/%3E%3Cpath d='M0 360C124 360 188 250 308 250c120 0 138 100 234 100 104 0 148-200 258-200 88 0 132 96 220 96 70 0 112-46 180-46' fill='none' stroke='%235EB6FF' stroke-opacity='0.24' stroke-width='1.2' stroke-dasharray='8 10'/%3E%3C/svg%3E") !important;
  background-position: center, center bottom !important;
  background-repeat: no-repeat, no-repeat !important;
  background-size: auto, 100% auto !important;
}
#lpRoot .cgm-fold-title, #lpRoot .cgm-fold-sub, #lpRoot .cgm-fold li, #lpRoot .cgm-fold p { color: var(--lp-ink-2) !important; }
#lpRoot .cgm-fold-title { color: var(--lp-ink) !important; }
#lpRoot .cgm-fold svg { color: var(--lp-blue) !important; }
#lpRoot .cgm-shot, #lpRoot .cgm-fold figure, #lpRoot .cgm-fold-media > * {
  background: #fff !important;
  border: 1px solid var(--lp-hair) !important;
  box-shadow: var(--lp-shadow-2) !important;
}

/* legibility floor */
#lpRoot th, #lpRoot td, #lpRoot .fn-col-h, #lpRoot .fn-col-lbl { font-size: 16px !important; letter-spacing: 0 !important; }
#lpRoot .fn-compare th:first-child, #lpRoot .fn-col-us b { font-size: 16px !important; }

/* Julie stays gold */
#lpRoot .teacher-card-live--julie .teacher-card-live-role,
#lpRoot .gold, #lpRoot em.gold { color: #8C6A1F !important; }
#lpRoot .teacher-card-live--julie {
  box-shadow: var(--lp-shadow-3), inset 0 0 0 1.5px rgba(197, 158, 79, .85) !important;
  background-image: linear-gradient(180deg, #FFFDF7, #FFFFFF) !important;
}

/* ============================ 17. HERO COMPOSITION TUNE ================== */

#lpRoot .fn-hero-media { padding: 34px 6% 60px 8%; }
#lpRoot .fn-hero-frame { transform: rotate(-1deg) translateX(2%); }
#lpRoot .pr-hero-float { width: 34%; left: -7%; bottom: -6%; transform: rotate(2.4deg); }
#lpRoot .fn-hero-badge { right: -6%; top: -4%; }
#lpRoot .lp-plaque--a { left: -11%; top: 34%; }
#lpRoot .lp-plaque--b { right: -7%; bottom: 4%; }
#lpRoot .lp-hero-figure { right: 2%; top: -14%; }
#lpRoot .fn-hero-frame-cap { padding: 18px 20px 20px !important; }
@media (max-width: 1100px) {
  #lpRoot .fn-hero-media { padding: 24px 0 20px; }
  #lpRoot .pr-hero-float { position: relative; width: 52%; left: 0; bottom: auto; transform: none; margin-top: 16px; }
  #lpRoot .fn-hero-frame { transform: none; }
}

/* faculty cards: cinematic full-bleed portrait, duotone navy, name over image */
#lpRoot .teachers-grid-live {
  display: grid !important;
  grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
  gap: clamp(16px, 1.6vw, 22px) !important;
  max-width: none !important;
  margin: 0 auto !important;
  align-items: stretch !important;
}
#lpRoot .teacher-card-live {
  position: relative !important;
  display: block !important;
  border-radius: 22px !important;
  overflow: hidden !important;
  isolation: isolate;
  width: 100% !important; max-width: none !important;
  aspect-ratio: 3 / 4.3;
  padding: 0 !important;
  background: #071A3A !important;
  border: 0 !important;
  box-shadow: var(--lp-shadow-2) !important;
  transform: translateY(0) scale(1) !important;
  transition: transform .5s cubic-bezier(.2,.7,.2,1), box-shadow .5s cubic-bezier(.2,.7,.2,1) !important;
}
#lpRoot .teacher-card-live:hover {
  transform: translateY(-8px) scale(1) !important;
  box-shadow: var(--lp-shadow-3), 0 0 50px -18px rgba(0, 110, 255, .65) !important;
}
#lpRoot .teacher-card-live.is-founding {
  transform: translateY(0) scale(1) !important;
}
#lpRoot .teacher-card-live.is-founding:hover { transform: translateY(-8px) scale(1) !important; }
#lpRoot .teacher-card-live-photo,
#lpRoot .teacher-card-live-photo--square {
  position: absolute !important; inset: 0 !important;
  width: 100% !important; height: 100% !important;
  aspect-ratio: auto !important; border-radius: 0 !important; margin: 0 !important;
  background: #071A3A !important;
}
#lpRoot .teacher-card-live-photo img {
  width: 100% !important; height: 100% !important; object-fit: cover !important;
  filter: grayscale(.35) contrast(1.08) brightness(.92) saturate(1.05) !important;
  mix-blend-mode: normal;
}
#lpRoot .teacher-card-live-photo::after {
  content: ""; position: absolute; inset: 0; z-index: 1; pointer-events: none;
  background:
    linear-gradient(180deg, rgba(7,26,58,.05) 0%, rgba(7,20,48,.20) 42%, rgba(5,14,36,.88) 82%, rgba(4,10,26,.97) 100%),
    linear-gradient(200deg, rgba(0,60,160,.30) 0%, rgba(4,10,26,0) 55%);
  mix-blend-mode: multiply;
}
#lpRoot .teacher-card-live-photo::before {
  content: ""; position: absolute; inset: 0; z-index: 1; pointer-events: none;
  background: linear-gradient(180deg, transparent 55%, rgba(3,10,26,.55) 100%);
}
#lpRoot .teacher-card-live-body {
  position: absolute !important; left: 0; right: 0; bottom: 0; z-index: 2;
  background: transparent !important;
  padding: 0 clamp(18px, 2vw, 26px) clamp(22px, 2.4vw, 30px) !important;
  display: flex; flex-direction: column;
}
#lpRoot .teacher-card-live-name {
  font-family: 'Codec Pro','Inter',sans-serif !important; font-weight: 560 !important;
  font-size: clamp(24px, 2vw, 30px) !important; line-height: 1.08 !important; letter-spacing: -0.01em !important;
  color: #FFFFFF !important; margin: 0 0 6px !important; text-shadow: 0 2px 16px rgba(0,0,0,.4);
}
#lpRoot .teacher-card-live-role {
  display: block !important; font-size: 14.5px !important; font-weight: 600 !important;
  letter-spacing: .01em !important; text-transform: none !important;
  color: #9CCBFF !important; margin: 0 0 10px !important;
}
#lpRoot .teacher-card-live-bio {
  font-size: 15px !important; line-height: 1.48 !important;
  color: rgba(255, 255, 255, .9) !important; margin: 0 !important;
  max-height: 0; opacity: 0; overflow: hidden;
  transition: max-height .45s ease, opacity .4s ease, margin-top .45s ease;
}
#lpRoot .teacher-card-live:hover .teacher-card-live-bio,
#lpRoot .teacher-card-live:focus-within .teacher-card-live-bio {
  max-height: 160px; opacity: 1; margin-top: 4px !important;
}
#lpRoot .teacher-card-live.is-founding .teacher-card-live-role {
  font-family: 'Codec Pro','Inter',sans-serif !important; font-style: italic !important;
  font-size: 16.5px !important; color: #E7C98C !important;
  text-shadow: 0 0 24px rgba(231, 201, 140, .4);
}
#lpRoot .teacher-card-live.is-founding {
  box-shadow: var(--lp-shadow-2), 0 0 0 1.5px rgba(231, 201, 140, .55) !important;
}
#lpRoot .teacher-card-live.is-founding:hover {
  box-shadow: var(--lp-shadow-3), 0 0 0 1.5px rgba(231, 201, 140, .75), 0 0 60px -18px rgba(231, 201, 140, .5) !important;
}
#lpRoot .teacher-founding-badge { display: none !important; }
@media (max-width: 1080px) {
  #lpRoot .teachers-grid-live { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; }
}
@media (max-width: 720px) {
  #lpRoot .teachers-grid-live { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
  #lpRoot .teacher-card-live { aspect-ratio: 3 / 4; }
  #lpRoot .teacher-card-live-bio { max-height: 200px !important; opacity: 1 !important; margin-top: 4px !important; }
  #lpRoot .teacher-card-live-name { font-size: 21px !important; }
}
@media (max-width: 480px) {
  #lpRoot .teachers-grid-live { grid-template-columns: 1fr !important; }
  #lpRoot .teacher-card-live { aspect-ratio: 4 / 3.6; }
}

/* trust strip on white */
#lpRoot .trust-strip, #lpRoot .trust-strip-track-wrap { background: transparent !important; }

/* ensure reveal animations never leave content invisible in print/QA */
#lpRoot .reveal, #lpRoot .fn-reveal { will-change: opacity, transform; }

/* ============================ 18. HERO FINAL COMPOSITION ================= */

#lpRoot .fn-trustpill b, #lpRoot .fn-trustpill span { color: var(--lp-ink) !important; }
#lpRoot .fn-price-anchor s, #lpRoot .fn-pricecard-anchor s, #lpRoot .fn-buybar-txt s,
#lpRoot .fn-nav-pill s, #lpRoot .fn-close-price s { color: #6E7C96 !important; text-decoration-color: #A9B6CC; }
#lpRoot .fn-nav-pill s { color: rgba(255, 255, 255, .74) !important; }
#lpRoot .fn-close-price s { color: rgba(232, 240, 255, .72) !important; }

#lpRoot .fn-hero { padding-bottom: clamp(60px, 6vw, 110px) !important; }
#lpRoot .fn-hero-media { padding: 60px 8% 90px 10%; }
#lpRoot .fn-hero-frame { max-width: 560px; margin-left: auto; transform: rotate(-1.2deg); }
#lpRoot .fn-hero-frame::after { background: linear-gradient(180deg, rgba(0, 60, 160, .02), rgba(0, 40, 120, .10)) !important; }
#lpRoot .fn-hero-badge { right: -4%; top: -6%; }
#lpRoot .lp-plaque--a { left: -13%; top: 22%; }
#lpRoot .lp-plaque--b { right: -8%; top: 54%; bottom: auto; }
#lpRoot .pr-hero-float { width: 29%; left: -9%; bottom: -8%; transform: rotate(2.6deg); }
#lpRoot .pr-hero-float span {
  background: #fff !important; color: var(--lp-ink) !important;
  padding: 8px 2px 0 !important; margin: 0 !important;
  position: static !important; inset: auto !important; border-radius: 0 !important;
  text-shadow: none !important; line-height: 1.3;
}
#lpRoot .lp-hero-figure {
  left: -12%; right: auto; top: -12%;
  font-size: clamp(180px, 19vw, 300px);
  color: rgba(0, 110, 255, .13);
  z-index: 1;
}
#lpRoot .lp-hero-curve { opacity: .8; top: -12%; left: -22%; width: 140%; height: 120%; }
#lpRoot .fn-hero-frame-cap b { font-size: 18px; margin-bottom: 4px; }
@media (max-width: 1100px) {
  #lpRoot .fn-hero-media { padding: 20px 0 24px; }
  #lpRoot .fn-hero-frame { max-width: 100%; transform: none; }
  #lpRoot .lp-hero-figure { left: auto; right: 0; top: -6%; font-size: 130px; }
  #lpRoot .pr-hero-float { position: relative; width: 56%; left: 0; bottom: auto; transform: none; margin-top: 18px; }
}

/* ============================ 19. HERO BUG FIXES ========================= */

/* legible price anchors */
#lpRoot .fn-price-anchor, #lpRoot .fn-pricecard-anchor { color: var(--lp-ink-2) !important; font-size: 16.5px !important; }
#lpRoot .fn-price-anchor s, #lpRoot .fn-pricecard-anchor s, #lpRoot .fn-stack-total s, #lpRoot .fn-exit-card s {
  color: var(--lp-ink) !important;
  opacity: 1 !important;
  text-decoration: line-through !important;
  text-decoration-thickness: 2px !important;
  text-decoration-color: rgba(0, 110, 255, .85) !important;
  font-weight: 600;
}
/* logo lockup: white knockout treatment on the deep navy nav/drawer bars */
#lpRoot .fn-nav-logo img, #lpRoot .fn-drawer-top img {
  filter: brightness(0) invert(1) !important; opacity: 1 !important; mix-blend-mode: normal !important;
}
#lpRoot .fn-nav-logo img { width: 150px !important; height: auto !important; }
#lpRoot .fn-drawer-top img { width: 150px !important; height: auto !important; }
#lpRoot .pr-footer-lockup img { height: 58px !important; width: auto !important; filter: brightness(0) invert(1) !important; }
/* Trustpilot rating text */
#lpRoot .fn-trustpill { padding: 10px 18px !important; }
#lpRoot .fn-trustpill span, #lpRoot .fn-trustpill b {
  color: var(--lp-ink) !important; opacity: 1 !important; display: inline !important; font-size: 16px !important;
}
#lpRoot .fn-trustpill b { font-weight: 700 !important; }
/* photo card: scrim only over the image, never over the caption */
#lpRoot .fn-hero-frame::after { display: none !important; }
#lpRoot .fn-hero-frame img.fn-hero-video {
  display: block; width: 100%; height: auto; aspect-ratio: 3 / 2; object-fit: cover;
}
#lpRoot .fn-hero-frame-cap { background: #fff !important; box-shadow: none !important; }
/* Lingo card caption, light only */
#lpRoot .pr-hero-float { padding: 10px 10px 12px !important; }
#lpRoot .pr-hero-float span, #lpRoot .pr-hero-float figcaption {
  background: #fff !important; color: var(--lp-ink) !important; text-shadow: none !important;
  position: static !important; display: block; padding: 8px 2px 0 !important; font-size: 15px !important;
}
#lpRoot .pr-hero-float::after, #lpRoot .pr-hero-float::before { display: none !important; }
/* inline icons inside chips */
#lpRoot .lp-ico--inline { display: inline-block; margin: 0 8px 0 0; vertical-align: -5px; }
#lpRoot .fn-chip { display: inline-flex; align-items: center; gap: 2px; }
/* class fact plaque in the price card */
#lpRoot .lp-classfact {
  background: linear-gradient(180deg, #FFFFFF, #F2F7FF);
  border: 1px solid var(--lp-hair);
  border-radius: 14px; padding: 14px 16px; margin: 18px 0;
  box-shadow: inset 0 1px 0 #fff, var(--lp-shadow-1);
}
#lpRoot .lp-classfact b { display: block; font-size: 17px; color: var(--lp-ink) !important; }
#lpRoot .lp-classfact span { display: block; font-size: 15.5px; color: var(--lp-ink-2) !important; }

/* ============================ 20. HERO LAYERING, FINAL =================== */
#lpRoot .fn-hero-media { padding: 74px 4% 96px 12%; }
#lpRoot .fn-hero-frame { max-width: 505px; }
#lpRoot .fn-hero-frame-cap { font-size: 15.5px !important; line-height: 1.45; }
#lpRoot .fn-hero-badge { top: -7%; right: -11%; min-width: 172px; }
#lpRoot .lp-plaque--b { right: -13%; bottom: -7%; top: auto; min-width: 172px; }
#lpRoot .pr-hero-float {
  width: 25%; left: -8%; bottom: 4%;
  height: auto !important; min-height: 0 !important; max-height: none !important;
  display: block !important;
}
#lpRoot .pr-hero-float img { aspect-ratio: 4 / 3; object-fit: cover; height: auto !important; }
@media (max-width: 1240px) {
  #lpRoot .fn-hero-media { padding: 60px 2% 84px 8%; }
  #lpRoot .fn-hero-badge { right: -4%; }
  #lpRoot .lp-plaque--b { right: -5%; }
}

/* ============================ 21. HERO CARD SIZING ====================== */
#lpRoot .fn-hero-frame, #lpRoot .pr-hero-float {
  height: auto !important; min-height: 0 !important; max-height: none !important; aspect-ratio: auto !important;
}
#lpRoot .pr-hero-float { z-index: 6 !important; left: -11%; bottom: 2%; width: 26%; }
#lpRoot .pr-hero-float img { display: block !important; opacity: 1 !important; }
#lpRoot .fn-nav-logo img { width: 150px !important; height: auto !important; }
#lpRoot .fn-hero-frame > img.fn-hero-video { margin-bottom: 0 !important; }
#lpRoot .pr-hero-float { top: auto !important; right: auto !important; inset: auto auto 2% -11% !important; width: 26% !important; }
/* Logo knockout: white wordmark on the deep navy nav/drawer, crisp at ~150px */
#lpRoot .fn-nav-logo img, #lpRoot .fn-drawer-top img { filter: brightness(0) invert(1) !important; }

/* ==========================================================================
   ECOMMERCE RESTRUCTURE, DEEP NAVY + NEON GROUNDS (v3)
   Alternating rhythm: white / ice light sections vs rich blue navy sections.
   ========================================================================== */

#lpRoot {
  --lp-deep: #071A3A;
  --lp-deep-2: #0A2450;
  --lp-neon: #006EFF;
  --lp-neon-2: #5EB6FF;
  --lp-onDeep: #EAF2FF;
}

#lpRoot section.lp-deep,
#lpRoot section.lp-deep.pr-dark,
#lpRoot section.lp-deep.pr-light {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  background-color: var(--lp-deep) !important;
  background-image:
    radial-gradient(58% 46% at 16% 8%, rgba(0, 110, 255, .38), transparent 70%),
    radial-gradient(46% 40% at 86% 88%, rgba(94, 182, 255, .22), transparent 72%),
    linear-gradient(180deg, #05132C 0%, var(--lp-deep) 34%, var(--lp-deep-2) 76%, #061635 100%) !important;
  border-top: 1px solid rgba(94, 182, 255, .22) !important;
  border-bottom: 1px solid rgba(94, 182, 255, .22) !important;
}
#lpRoot section.lp-deep::before {
  content: "";
  position: absolute; inset: 0; z-index: 0; pointer-events: none;
  background-image:
    radial-gradient(30% 24% at 50% 0%, rgba(94, 182, 255, .30), transparent 72%) !important;
  opacity: 1 !important;
}
#lpRoot section.lp-deep::after {
  content: "";
  position: absolute; left: 8%; right: 8%; top: 0; height: 2px; z-index: 1;
  background: linear-gradient(90deg, transparent, rgba(94, 182, 255, .95), transparent);
  box-shadow: 0 0 26px 4px rgba(0, 110, 255, .55);
  pointer-events: none;
  background-image: linear-gradient(90deg, transparent, rgba(94, 182, 255, .95), transparent) !important;
  opacity: 1 !important;
}
#lpRoot section.lp-deep > .fn-container,
#lpRoot section.lp-deep > .container { position: relative; z-index: 2; }

/* text on deep, AA+ */
#lpRoot .lp-deep h1, #lpRoot .lp-deep h2, #lpRoot .lp-deep h3, #lpRoot .lp-deep h4,
#lpRoot .lp-deep .fn-h2, #lpRoot .lp-deep .section-title, #lpRoot .lp-deep b,
#lpRoot .lp-deep strong, #lpRoot .lp-deep blockquote { color: #FFFFFF !important; }
#lpRoot .lp-deep p, #lpRoot .lp-deep li, #lpRoot .lp-deep span,
#lpRoot .lp-deep .fn-lead, #lpRoot .lp-deep .section-subtitle,
#lpRoot .lp-deep .quote-text, #lpRoot .lp-deep .quote-meta { color: var(--lp-onDeep) !important; }
#lpRoot .lp-deep em, #lpRoot .lp-deep h2 em, #lpRoot .lp-deep .lp-pull-mark { color: #9CCBFF !important; }
#lpRoot .lp-deep .lp-kicker { color: #9CCBFF !important; }
#lpRoot .lp-deep.lp-numbered::before { color: rgba(94, 182, 255, .15) !important; }
#lpRoot .lp-deep .stars svg { color: #5EB6FF !important; fill: #5EB6FF !important; }
#lpRoot .lp-deep .lp-ico { color: #9CCBFF !important; }

/* cards on deep */
#lpRoot .lp-deep .quote-card, #lpRoot .lp-deep .fn-tp-card, #lpRoot .lp-deep .lp-proofcard {
  background: rgba(255, 255, 255, .055) !important;
  border: 1px solid rgba(94, 182, 255, .30) !important;
  box-shadow: 0 22px 60px -34px rgba(0, 0, 0, .85), inset 0 1px 0 rgba(255, 255, 255, .14),
              0 0 44px -22px rgba(0, 110, 255, .70) !important;
  backdrop-filter: blur(6px);
}
#lpRoot .lp-deep .quote-mark { color: rgba(94, 182, 255, .45) !important; }

/* proof grid */
#lpRoot .lp-proofgrid {
  display: grid; gap: 24px; margin-top: 44px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
#lpRoot .lp-proofcard { border-radius: 20px; padding: 28px 26px 30px; }
#lpRoot .lp-proofcard img {
  width: 92px; height: 92px; border-radius: 50%; object-fit: cover; display: block; margin-bottom: 18px;
  border: 2px solid rgba(214, 184, 122, .85);
  box-shadow: 0 0 30px -8px rgba(214, 184, 122, .55);
}
#lpRoot .lp-proofcard b {
  display: block; font-family: 'Codec Pro','Inter',sans-serif; font-size: clamp(23px, 2vw, 28px);
  line-height: 1.12; margin: 12px 0 10px;
}
#lpRoot .lp-proofcard span { display: block; font-size: 17px; line-height: 1.5; }
#lpRoot .lp-proofcard .stars { display: inline-flex; gap: 4px; }
#lpRoot .lp-proofcard .stars svg { width: 20px; height: 20px; }
#lpRoot .lp-proofcard--gold { border-color: rgba(214, 184, 122, .55) !important; }
#lpRoot .lp-proofcard--gold b { color: #E7CE9C !important; }
@media (max-width: 900px) { #lpRoot .lp-proofgrid { grid-template-columns: 1fr; } }

/* ---------------- WHAT YOU WILL LEARN ---------------- */
#lpRoot .lp-learn { padding: clamp(84px, 9vw, 136px) 0 clamp(80px, 8vw, 124px); }
#lpRoot .lp-learn-grid {
  position: absolute; inset: 0; width: 100%; height: 100%; z-index: 0; opacity: .5; pointer-events: none;
}
#lpRoot .lp-learn-head { max-width: 880px; }
#lpRoot .lp-learn-title {
  font-family: 'Codec Pro','Inter',sans-serif; font-weight: 600;
  font-size: clamp(46px, 7vw, 92px); line-height: 1.02; letter-spacing: -0.025em;
  margin: 0 0 18px;
}
#lpRoot .lp-learn-lead { font-size: clamp(18px, 1.5vw, 21px); line-height: 1.5; margin: 0; max-width: 640px; }
#lpRoot .lp-learn-list {
  list-style: none; margin: clamp(44px, 5vw, 70px) 0 0; padding: 0;
  display: grid; gap: 0; border-top: 1px solid rgba(94, 182, 255, .22);
}
#lpRoot .lp-learn-list li {
  display: grid; grid-template-columns: 92px 1fr; align-items: start; gap: 22px;
  padding: clamp(28px, 3vw, 44px) 0;
  border-bottom: 1px solid rgba(94, 182, 255, .22);
}
#lpRoot .lp-learn-num {
  font-family: 'Codec Pro','Inter',sans-serif; font-size: 26px; line-height: 1;
  color: #9CCBFF !important; position: relative; padding-left: 30px;
}
#lpRoot .lp-learn-num::before {
  content: ""; position: absolute; left: 0; top: 50%; transform: translateY(-50%);
  width: 11px; height: 11px; border-radius: 50%; background: #5EB6FF;
  box-shadow: 0 0 0 4px rgba(0, 110, 255, .22), 0 0 22px 5px rgba(0, 110, 255, .85);
}
#lpRoot .lp-learn-txt {
  font-family: 'Codec Pro','Inter',sans-serif; font-weight: 560;
  font-size: clamp(27px, 3.6vw, 54px); line-height: 1.08; color: #FFFFFF !important;
  letter-spacing: -0.018em; display: block;
}
#lpRoot .lp-learn-pay {
  display: block; font-family: 'Inter Tight', sans-serif; font-weight: 500;
  font-size: clamp(17px, 1.5vw, 21px); line-height: 1.45; color: #9CCBFF !important;
  letter-spacing: 0; margin-top: 10px;
}
#lpRoot .lp-learn-num { margin-top: clamp(8px, 1.2vw, 18px); }
#lpRoot .lp-learn-cta {
  margin-top: clamp(40px, 4vw, 60px); display: flex; flex-wrap: wrap; align-items: center; gap: 22px 28px;
}
#lpRoot .lp-learn-note { font-size: 17px; margin: 0; max-width: 420px; }
@media (max-width: 720px) {
  #lpRoot .lp-learn-list li { grid-template-columns: 66px 1fr; gap: 14px; }
  #lpRoot .lp-learn-num { font-size: 20px; padding-left: 24px; }
}

/* editorial numbered rows: two-column grid, text block + media block on one baseline, alternating */
#lpRoot .lp-learn-rows {
  display: flex; flex-direction: column;
  gap: clamp(56px, 6vw, 84px);
  margin-top: clamp(56px, 6vw, 88px);
}
#lpRoot .lp-lrow {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  align-items: stretch;
  gap: clamp(32px, 4.5vw, 68px);
}
#lpRoot .lp-lrow-body {
  position: relative; z-index: 2; order: 1;
  display: flex; flex-direction: column; justify-content: center;
  min-height: clamp(420px, 42vw, 480px);
}
#lpRoot .lp-lrow-media { order: 2; }
#lpRoot .lp-lrow--flip .lp-lrow-body { order: 2; }
#lpRoot .lp-lrow--flip .lp-lrow-media { order: 1; }
#lpRoot .lp-lrow-num {
  display: block;
  font-family: 'Codec Pro','Inter',sans-serif; font-weight: 300;
  font-size: clamp(72px, 8vw, 128px); line-height: .82;
  color: transparent;
  -webkit-text-stroke: 1.5px rgba(94, 182, 255, .5);
  letter-spacing: -0.03em;
  margin: 0 0 14px;
  pointer-events: none;
  user-select: none;
}
#lpRoot .lp-lrow-title {
  font-family: 'Codec Pro','Inter',sans-serif; font-weight: 560;
  font-size: clamp(34px, 3.8vw, 50px); line-height: 1.06; letter-spacing: -0.018em;
  color: #FFFFFF !important; margin: 0 0 18px; max-width: 18ch;
}
#lpRoot .lp-lrow-pay {
  font-family: 'Inter Tight', sans-serif; font-weight: 500;
  font-size: 18px; line-height: 1.55; color: rgba(255, 255, 255, .92) !important; margin: 0; max-width: 36ch;
}
#lpRoot .lp-lrow-media {
  position: relative; width: 100%; height: clamp(420px, 42vw, 480px); overflow: hidden;
  background: #04122B; border-radius: 24px;
  box-shadow: var(--lp-shadow-3), inset 0 0 0 1px rgba(94, 182, 255, .22);
}
#lpRoot .lp-lrow-media video, #lpRoot .lp-lrow-fallback {
  position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover;
}
#lpRoot .lp-lrow-fallback { z-index: 0; }
#lpRoot .lp-lrow-media video { z-index: 1; }
@media (prefers-reduced-motion: reduce) {
  #lpRoot .lp-lrow-media video { display: none; }
}
#lpRoot .lp-lrow-scrim {
  position: absolute; inset: 0; z-index: 2;
  background:
    linear-gradient(180deg, rgba(3,10,26,.12) 0%, rgba(3,10,26,.42) 55%, rgba(3,10,26,.88) 100%),
    linear-gradient(120deg, rgba(3,10,26,.30) 0%, rgba(3,10,26,0) 48%);
}
@media (max-width: 900px) {
  #lpRoot .lp-lrow, #lpRoot .lp-lrow--flip { grid-template-columns: 1fr; }
  #lpRoot .lp-lrow-body, #lpRoot .lp-lrow--flip .lp-lrow-body { order: 1; min-height: 0; }
  #lpRoot .lp-lrow-media, #lpRoot .lp-lrow--flip .lp-lrow-media { order: 2; height: 340px; }
  #lpRoot .lp-lrow-num { font-size: clamp(56px, 18vw, 84px); margin-bottom: 8px; }
  #lpRoot .lp-lrow-title { font-size: clamp(28px, 7.5vw, 36px); max-width: none; }
}

/* ---------------- HERO: trust chips, outcome card, guarantee line ---------------- */
#lpRoot .lp-trustchips { gap: 10px 12px; flex-wrap: wrap; }
#lpRoot .lp-trustchips .fn-chip {
  font-size: 15.5px; padding: 9px 15px; background: #fff !important;
  border: 1px solid rgba(0, 110, 255, .22) !important; color: #22314C !important;
  box-shadow: 0 10px 26px -22px rgba(10, 31, 68, .45);
}
#lpRoot .lp-trustchips .fn-chip b { color: #05204A !important; }
#lpRoot .lp-guaranteeline {
  margin: 16px 0 22px; font-size: 17.5px; font-weight: 600; color: #0C3C86 !important;
}
#lpRoot .lp-outcomecard {
  background: #fff !important; border: 1px solid rgba(0, 110, 255, .26) !important;
  box-shadow: 0 40px 90px -46px rgba(6, 32, 74, .55), 0 0 60px -30px rgba(0, 110, 255, .55) !important;
}
#lpRoot .lp-outcomecard b {
  font-family: 'Codec Pro','Inter',sans-serif; font-size: clamp(21px, 1.8vw, 26px) !important;
  line-height: 1.1; color: #05204A !important;
}
#lpRoot .lp-outcomecard span { font-size: 16px !important; color: #33425E !important; }

/* ---------------- FINAL CTA BAND on deep ---------------- */
#lpRoot .fn-close.lp-deep { background-attachment: fixed; }
#lpRoot .fn-close.lp-deep .fn-close-video { opacity: .12 !important; }
#lpRoot .fn-close.lp-deep .fn-closefact {
  background: rgba(255, 255, 255, .06) !important;
  border: 1px solid rgba(94, 182, 255, .28) !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .12), 0 0 40px -24px rgba(0, 110, 255, .8) !important;
}
#lpRoot .fn-close.lp-deep .fn-close-price s { color: rgba(214, 228, 255, .72) !important; }
#lpRoot .lp-deep .fn-btn--onblue {
  background: linear-gradient(180deg, #2E8CFF 0%, var(--lp-neon) 100%) !important;
  color: #fff !important; border: 0 !important;
  box-shadow: 0 20px 50px -22px rgba(0, 110, 255, .95), inset 0 1px 0 rgba(255, 255, 255, .34) !important;
}
#lpRoot .lp-deep .fn-btn--onblue:hover { filter: brightness(1.07); }

/* pull quote on deep */
#lpRoot .lp-pull.lp-deep { padding: clamp(64px, 6vw, 96px) 0; }
#lpRoot .lp-pull.lp-deep .lp-pull-q { color: #fff !important; }

/* proof band pacing and card alignment */
#lpRoot .fn-section.fn-proof.lp-deep { padding-bottom: clamp(56px, 5vw, 84px) !important; }
#lpRoot .lp-proofgrid { align-items: stretch; }
#lpRoot .lp-proofcard { display: flex; flex-direction: column; }
#lpRoot .lp-proofcard span:last-child { margin-top: 0; }
#lpRoot .lp-proofcard b { margin-top: 0; }
#lpRoot .lp-learn-grid { opacity: .26 !important; }
#lpRoot .lp-learn-lead { max-width: 720px; }

/* ============================================================
   PDP CREDIBILITY REBUILD — editorial navy hero + white buy-box
   ============================================================ */
#lpRoot .pdp-hero {
  position: relative;
  background: #071A3A;
  overflow: hidden;
  padding: clamp(160px, 15vw, 196px) 0 0;
  isolation: isolate;
}
#lpRoot .pdp-hero-media {
  position: absolute; inset: 0; z-index: 0; overflow: hidden;
}
#lpRoot .pdp-hero-video, #lpRoot .pdp-hero-video-fallback {
  position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover;
}
#lpRoot .pdp-hero-video-fallback { z-index: 0; }
#lpRoot .pdp-hero-video { z-index: 1; }
@media (prefers-reduced-motion: reduce) {
  #lpRoot .pdp-hero-video { display: none; }
}
#lpRoot .pdp-hero-scrim {
  position: absolute; inset: 0; z-index: 1; pointer-events: none;
  background:
    linear-gradient(100deg, rgba(7,26,58,0.94) 0%, rgba(7,26,58,0.86) 42%, rgba(7,26,58,0.45) 72%, rgba(7,26,58,0.30) 100%),
    linear-gradient(0deg, rgba(4, 12, 30, .95) 0%, rgba(4, 12, 30, .25) 30%, rgba(4, 12, 30, 0) 55%);
}
#lpRoot .pdp-hero-orb {
  position: absolute; top: -220px; right: -160px; width: 620px; height: 620px; z-index: 1;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(0,110,255,.30) 0%, rgba(0,110,255,0) 70%);
  filter: blur(4px); pointer-events: none;
}
#lpRoot .pdp-school-lockup {
  position: relative; z-index: 3;
  padding: 0 0 30px;
  display: flex; align-items: center;
}
#lpRoot .pdp-school-lockup span {
  font-size: 17px; color: #FFFFFF; font-weight: 500; letter-spacing: .04em;
}
#lpRoot .pdp-hero-container { position: relative; z-index: 2; }
#lpRoot .pdp-hero-grid-cols {
  display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(340px, 0.85fr);
  gap: clamp(32px, 5vw, 72px);
  align-items: start;
  padding-bottom: clamp(64px, 6vw, 96px);
}
#lpRoot .pdp-kicker {
  font-family: var(--font-body); font-size: 15px; font-weight: 600;
  color: #9FC4FF; letter-spacing: .01em; margin-bottom: 22px;
}
#lpRoot .pdp-h1 {
  font-family: 'Codec Pro','Inter',sans-serif; font-weight: 500; font-style: normal;
  font-size: clamp(52px, 6.4vw, 92px); line-height: 1.02; letter-spacing: -0.01em;
  color: #FFFFFF; margin-bottom: 26px;
}
#lpRoot .pdp-hero-lede {
  font-family: var(--font-body); font-size: 19px; line-height: 1.55;
  color: #D6E4FF; max-width: 620px; margin-bottom: 30px;
}
#lpRoot .pdp-meta-row {
  display: flex; flex-wrap: wrap; align-items: center; gap: 10px;
  font-size: 15px; color: #AFC7EC; margin-bottom: 34px;
}
#lpRoot .pdp-meta-sep { width: 4px; height: 4px; border-radius: 50%; background: #3E5C8A; flex: none; }
#lpRoot .pdp-instructor-line {
  display: flex; align-items: center; gap: 16px;
  padding-top: 28px; border-top: 1px solid rgba(94,182,255,.22);
  max-width: 560px;
}
#lpRoot .pdp-instructor-line img {
  width: 56px; height: 56px; border-radius: 50%; object-fit: cover;
  border: 2px solid rgba(94,182,255,.5); flex: none;
}
#lpRoot .pdp-instructor-line p { font-size: 16px; line-height: 1.5; color: #E7EFFF; }
#lpRoot .pdp-instructor-line b { color: #fff; }

/* Trustpilot trust badge, designed element not micro-text */
#lpRoot .pdp-trustpilot-badge {
  display: inline-flex; align-items: center; gap: 14px; flex-wrap: wrap;
  background: rgba(255, 255, 255, .10);
  border: 1px solid rgba(255, 255, 255, .22);
  border-radius: 14px; padding: 14px 20px;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .10);
  margin-top: 6px;
}
#lpRoot .pdp-tp-stars { display: inline-flex; gap: 3px; }
#lpRoot .pdp-tp-stars svg { fill: #00B67A !important; color: #00B67A !important; }
#lpRoot .pdp-tp-text { font-size: 15.5px; color: rgba(255, 255, 255, .80) !important; line-height: 1.4; }
#lpRoot .pdp-tp-text b { color: #FFFFFF !important; font-size: 19px; font-weight: 700; }

/* Buy box */
#lpRoot .pdp-buybox {
  background: #FFFFFF; border-radius: 20px; padding: 34px 32px;
  box-shadow: 0 40px 80px -32px rgba(2, 10, 26, .55), 0 1px 0 rgba(255,255,255,.06) inset;
  position: relative; top: clamp(0px, 1vw, 12px);
}
#lpRoot .pdp-buybox-title {
  font-family: var(--font-body); font-size: 15px; font-weight: 700; text-transform: uppercase;
  letter-spacing: .06em; color: #5A6472; margin-bottom: 18px;
}
#lpRoot .pdp-buybox-list { display: flex; flex-direction: column; gap: 14px; margin-bottom: 22px; }
#lpRoot .pdp-buybox-list li {
  display: flex; align-items: center; gap: 12px; font-size: 16px; color: #111111; line-height: 1.4;
}
#lpRoot .pdp-buybox-list li svg { color: #006EFF; flex: none; }
#lpRoot .pdp-buybox-tuition {
  font-size: 15px; color: #5A6472; padding-top: 18px; border-top: 1px solid #EEF1F6; margin-bottom: 18px;
}
#lpRoot .pdp-buybox-cta {
  display: block; width: 100%; text-align: center;
  background: #006EFF; color: #fff; font-size: 17px; font-weight: 700;
  padding: 17px 20px; border-radius: 12px; margin-bottom: 14px;
  box-shadow: 0 16px 32px -14px rgba(0,110,255,.55);
  transition: filter .2s ease;
}
#lpRoot .pdp-buybox-cta:hover { filter: brightness(1.06); }
#lpRoot .pdp-buybox-guarantee { font-size: 15px; color: #5A6472; text-align: center; margin-bottom: 10px; }
#lpRoot .pdp-buybox-link {
  display: block; text-align: center; font-size: 15px; font-weight: 600; color: #006EFF;
  text-decoration: underline; text-underline-offset: 3px;
}

/* Press band */
#lpRoot .pdp-press { background: #F2F7FF; padding: 30px 0; border-bottom: 1px solid #E4ECF9; }
#lpRoot .pdp-press-in {
  display: flex; align-items: center; justify-content: center; flex-wrap: wrap; gap: 28px;
}
#lpRoot .pdp-press-label {
  font-size: 15px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: #8892A0;
}
#lpRoot .pdp-press-marks { display: flex; align-items: center; flex-wrap: wrap; gap: 34px; }
#lpRoot .pdp-mark {
  font-family: 'Inter Tight', sans-serif; font-weight: 700; font-size: 19px; letter-spacing: -.01em;
  color: #33425E;
}
#lpRoot .pdp-mark-usatoday { font-weight: 800; letter-spacing: -.02em; }

@media (max-width: 980px) {
  #lpRoot .pdp-hero-grid-cols { grid-template-columns: 1fr; }
  #lpRoot .pdp-buybox { top: 0; }
  #lpRoot .pdp-h1 { font-size: clamp(40px, 11vw, 60px); }
}

/* Force-correct text colors inside the navy PDP hero: global heading/body
   rules elsewhere in this file set dark ink with !important, which reads as
   invisible text on the navy ground. Re-assert white/ice here with matching
   specificity, scoped strictly to .pdp-hero. */
#lpRoot .pdp-hero h1.pdp-h1,
#lpRoot section.pdp-hero h1.pdp-h1 {
  color: #FFFFFF !important;
  text-shadow: none !important;
}
#lpRoot .pdp-hero .pdp-kicker { color: #9FC4FF !important; }
#lpRoot .pdp-hero .pdp-hero-lede,
#lpRoot .pdp-hero .pdp-hero-lede b,
#lpRoot .pdp-hero .pdp-hero-lede strong { color: #DCE9FF !important; }
#lpRoot .pdp-hero .pdp-meta-row,
#lpRoot .pdp-hero .pdp-meta-item { color: #AFC7EC !important; }
#lpRoot .pdp-hero .pdp-instructor-line p { color: #E7EFFF !important; }
#lpRoot .pdp-hero .pdp-instructor-line p b,
#lpRoot .pdp-hero .pdp-instructor-line p strong { color: #FFFFFF !important; }
/* Buy box sits on white, so re-assert dark ink there explicitly regardless of ancestor rules */
#lpRoot .pdp-hero .pdp-buybox-title { color: #5A6472 !important; }
#lpRoot .pdp-hero .pdp-buybox-list li { color: #111111 !important; }
#lpRoot .pdp-hero .pdp-buybox-tuition { color: #5A6472 !important; }
#lpRoot .pdp-hero .pdp-buybox-guarantee { color: #5A6472 !important; }
#lpRoot .pdp-hero .pdp-buybox-cta { color: #FFFFFF !important; }

/* ============================================================
   WHAT THIS COURSE IS — full-bleed 2x2 editorial panels, white ground
   ============================================================ */
#lpRoot .pdp-whatitis { padding: clamp(88px, 8.5vw, 132px) 0; background: #FFFFFF; position: relative; }
#lpRoot .pdp-whatitis-head { max-width: 700px; margin-bottom: clamp(44px, 5vw, 64px); }
#lpRoot .pdp-whatitis-h2 {
  font-family: 'Codec Pro','Inter',sans-serif; font-weight: 560; font-size: clamp(44px, 5.6vw, 72px);
  line-height: 1.03; letter-spacing: -0.02em; color: #0A1428 !important; margin-bottom: 16px;
}
#lpRoot .pdp-whatitis-lede { font-size: 19px; color: #5A6472 !important; }
#lpRoot .pdp-whatitis-grid {
  display: grid; grid-template-columns: repeat(2, 1fr); grid-auto-rows: 1fr;
  gap: clamp(18px, 2vw, 26px);
}
#lpRoot .pdp-whatitis-card {
  position: relative; display: block; overflow: hidden; border-radius: 22px;
  height: 460px; margin: 0; isolation: isolate;
  box-shadow: var(--lp-shadow-2);
  transform: translateZ(0);
  transition: transform .6s cubic-bezier(.2,.7,.2,1), box-shadow .6s cubic-bezier(.2,.7,.2,1);
}
#lpRoot .pdp-whatitis-card:hover { transform: translateY(-6px); box-shadow: var(--lp-shadow-3); }
#lpRoot .pdp-whatitis-card img {
  position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; z-index: 0;
  transition: transform .8s cubic-bezier(.2,.7,.2,1);
}
#lpRoot .pdp-whatitis-card:hover img { transform: scale(1.045); }
#lpRoot .pdp-whatitis-scrim {
  position: absolute; inset: 0; z-index: 1; pointer-events: none;
  background: linear-gradient(180deg, rgba(7,20,45,0) 32%, rgba(6,16,38,.62) 68%, rgba(4,10,26,.94) 100%);
}
#lpRoot .pdp-whatitis-card figcaption {
  position: relative; z-index: 2; display: flex; flex-direction: column; gap: 10px;
  padding: clamp(26px, 3vw, 40px); margin-top: auto;
}
#lpRoot .pdp-whatitis-card b {
  font-family: 'Codec Pro','Inter',sans-serif; font-weight: 560; font-size: clamp(24px, 2.4vw, 32px);
  line-height: 1.12; letter-spacing: -0.01em; color: #FFFFFF !important; text-shadow: 0 2px 18px rgba(0,0,0,.35);
}
#lpRoot .pdp-whatitis-card span {
  font-size: 16.5px; line-height: 1.5; color: #DCE8FF !important; max-width: 34ch;
}
@media (max-width: 980px) {
  #lpRoot .pdp-whatitis-grid { grid-template-columns: 1fr 1fr; }
  #lpRoot .pdp-whatitis-card { height: 380px; }
}
@media (max-width: 620px) {
  #lpRoot .pdp-whatitis-grid { grid-template-columns: 1fr; }
  #lpRoot .pdp-whatitis-card { height: 320px; }
  #lpRoot .pdp-whatitis-card b { font-size: 23px; }
}

/* ============================================================
   WHO IT'S FROM — eTeacher institutional block, navy ground
   ============================================================ */
#lpRoot .pdp-institution {
  background: linear-gradient(160deg, #071A3A 0%, #0A2450 100%);
  padding: clamp(72px, 7vw, 112px) 0;
}
#lpRoot .pdp-institution-head { max-width: 720px; margin-bottom: 44px; }
#lpRoot .pdp-institution-h2 {
  font-family: 'Codec Pro','Inter',sans-serif; font-weight: 500; font-size: clamp(36px, 4vw, 54px);
  line-height: 1.06; color: #FFFFFF !important; margin-bottom: 16px;
}
#lpRoot .pdp-institution-lede { font-size: 18px; color: #D6E4FF !important; line-height: 1.55; }
#lpRoot .pdp-institution-stats {
  display: flex; flex-wrap: wrap; gap: 40px; margin-bottom: 52px;
  padding-bottom: 44px; border-bottom: 1px solid rgba(94,182,255,.22);
}
#lpRoot .pdp-institution-stat b {
  display: block; font-family: 'Codec Pro','Inter',sans-serif; font-weight: 500; font-size: 42px; color: #FFFFFF !important;
}
#lpRoot .pdp-institution-stat span { font-size: 15px; color: #AFC7EC !important; }
#lpRoot .pdp-institution-logos {
  display: flex; align-items: center; flex-wrap: wrap; gap: 20px;
}
#lpRoot .pdp-institution-logos .pdp-logo-card {
  display: flex; align-items: center; justify-content: center;
  background: #FFFFFF; border-radius: 10px; padding: 14px 22px; height: 56px;
}
#lpRoot .pdp-institution-logos img { height: 26px; width: auto; display: block; }
#lpRoot .pdp-institution-logos img.pdp-logo-natgeo,
#lpRoot .pdp-institution-logos img.pdp-logo-intel { height: 30px; }
#lpRoot .pdp-institution-logos img.pdp-logo-eteacher { height: 22px; }

/* Final band tuition line (replaces big price) */
#lpRoot .fn-close-tuition {
  font-size: 17px; color: #C9DCF8 !important; margin: 26px auto 6px; max-width: 560px;
}
/* Lead-gen select matches inputs */
#lpRoot #lead-gen select, #lpRoot .fn-apply select {
  background: #FFFFFF !important; color: #22314C !important;
  border: 1px solid rgba(0,110,255,.25) !important;
}
#lpRoot .pdp-institution-logos img.pdp-logo-eteacher { height: 30px !important; filter: saturate(1.4) contrast(1.5) brightness(0.7); }

/* ============ v6 QA corrections ============ */
/* 1. Course panels: text was unreadable on light photography. Full-height scrim. */
#lpRoot .pdp-whatitis-scrim {
  background:
    linear-gradient(180deg, rgba(6,18,42,.20) 0%, rgba(6,18,42,.38) 38%, rgba(5,14,36,.84) 74%, rgba(3,9,24,.97) 100%),
    linear-gradient(210deg, rgba(0,52,140,.34) 0%, rgba(3,9,24,0) 62%) !important;
}
#lpRoot .pdp-whatitis-card span { color: #E8F1FF !important; text-shadow: 0 1px 12px rgba(0,0,0,.55); }
#lpRoot .pdp-whatitis-card b { text-shadow: 0 2px 22px rgba(0,0,0,.62) !important; }

/* 2. Faculty: 5 across was too narrow, names clipped. 3 across, taller, larger type. */
#lpRoot .teachers-grid-live {
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: clamp(20px, 2vw, 30px) !important;
  max-width: 1180px !important;
}
#lpRoot .teacher-card-live { aspect-ratio: 3 / 3.85 !important; }
#lpRoot .teacher-card-live-name { font-size: clamp(28px, 2.3vw, 34px) !important; }
#lpRoot .teacher-card-live-photo::after {
  background:
    linear-gradient(180deg, rgba(7,26,58,.04) 0%, rgba(7,20,48,.18) 40%, rgba(5,14,36,.90) 78%, rgba(3,9,24,.98) 100%),
    linear-gradient(200deg, rgba(0,60,160,.28) 0%, rgba(4,10,26,0) 58%) !important;
}
@media (max-width: 1080px) {
  #lpRoot .teachers-grid-live { grid-template-columns: repeat(2, minmax(0,1fr)) !important; }
}
@media (max-width: 640px) {
  #lpRoot .teachers-grid-live { grid-template-columns: 1fr !important; }
  #lpRoot .teacher-card-live { aspect-ratio: 3 / 3.3 !important; }
}

/* 3. Section headings on white were rendering pale grey. Make them ink. */
#lpRoot .section-title { color: #071A3A !important; }
#lpRoot .section-title em { color: #0057CC !important; }
#lpRoot .section-subtitle { color: #46536B !important; }

/* 4. Learn rows: ghost numerals were too faint to register as a design element. */
#lpRoot .lp-lrow-num { color: rgba(255,255,255,.22) !important; -webkit-text-stroke: 1px rgba(255,255,255,.30); }
#lpRoot .lp-lrow-pay { color: rgba(255,255,255,.93) !important; }

/* ============ v6 QA pass 2 ============ */
/* Faculty names rendered dark navy over dark photography. Force white, and
   centre the final row so five cards never leave two orphans hanging left. */
#lpRoot .teachers-grid-live {
  display: flex !important; flex-wrap: wrap !important;
  justify-content: center !important; align-items: stretch !important;
}
#lpRoot .teacher-card-live {
  flex: 0 1 calc(33.333% - 22px) !important;
  min-width: 280px !important;
}
#lpRoot .teacher-card-live-name,
#lpRoot .teacher-card-live-name * {
  color: #FFFFFF !important;
  text-shadow: 0 2px 20px rgba(0,0,0,.72), 0 1px 3px rgba(0,0,0,.6) !important;
}
#lpRoot .teacher-card-live-body p,
#lpRoot .teacher-card-live-role,
#lpRoot .teacher-card-live-cred {
  color: #CFE0FF !important; text-shadow: 0 1px 10px rgba(0,0,0,.6) !important;
}
#lpRoot .teacher-card-live-photo::after {
  background:
    linear-gradient(180deg, rgba(7,26,58,.02) 0%, rgba(7,20,48,.14) 34%, rgba(4,12,32,.86) 70%, rgba(2,7,20,.99) 100%),
    linear-gradient(200deg, rgba(0,60,160,.26) 0%, rgba(4,10,26,0) 58%) !important;
}
@media (max-width: 1080px) { #lpRoot .teacher-card-live { flex: 0 1 calc(50% - 20px) !important; } }
@media (max-width: 640px)  { #lpRoot .teacher-card-live { flex: 0 1 100% !important; } }

/* Section headings on white were pale. Force ink on the heading and its parts. */
#lpRoot .section-title, #lpRoot .section-title *,
#lpRoot h2.section-title, #lpRoot h2.section-title br + em {
  color: #071A3A !important; -webkit-text-fill-color: #071A3A !important;
  background: none !important; -webkit-background-clip: border-box !important;
}
#lpRoot .section-title em, #lpRoot h2.section-title em {
  color: #0057CC !important; -webkit-text-fill-color: #0057CC !important;
}
#lpRoot .section-subtitle, #lpRoot .section-subtitle * { color: #46536B !important; -webkit-text-fill-color: #46536B !important; }

/* v6 QA pass 3: faculty names sat over bright portrait areas. Solid plate behind the name block. */
#lpRoot .teacher-card-live-body {
  background: linear-gradient(180deg, rgba(2,7,20,0) 0%, rgba(2,7,20,.72) 26%, rgba(2,7,20,.94) 62%, rgba(1,5,14,.98) 100%) !important;
  padding-top: 84px !important;
}

/* ============ v7: cinematic hero ported from longevitylifeacademy.com ============ */
#lpRoot .pdp-hero--cine {
  position: relative; min-height: 92vh; display: flex; align-items: center;
  background: #060D1F; overflow: hidden; padding: clamp(120px, 12vh, 170px) 0 clamp(72px, 8vh, 110px);
}
#lpRoot .pdp-cine-img {
  position: absolute; inset: 0; width: 100%; height: 100%;
  object-fit: cover; object-position: 72% 40%; z-index: 0;
}
#lpRoot .pdp-cine-overlay {
  position: absolute; inset: 0; z-index: 1;
  background:
    linear-gradient(90deg, rgba(5,11,26,.94) 0%, rgba(5,11,26,.82) 30%, rgba(5,11,26,.45) 58%, rgba(5,11,26,.18) 100%),
    linear-gradient(180deg, rgba(5,11,26,.62) 0%, rgba(5,11,26,0) 26%, rgba(5,11,26,0) 62%, rgba(4,9,22,.72) 100%);
}
#lpRoot .pdp-cine-inner {
  position: relative; z-index: 2; width: min(1280px, calc(100% - 48px));
  margin: 0 auto; max-width: 720px; margin-left: max(24px, calc((100vw - 1280px) / 2));
}
#lpRoot .pdp-tp-pill {
  display: inline-flex; align-items: center; gap: 12px;
  background: rgba(10,20,44,.66); border: 1px solid rgba(255,255,255,.14);
  backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px);
  border-radius: 999px; padding: 10px 20px; margin-bottom: 26px;
}
#lpRoot .pdp-tp-pill-stars { display: inline-flex; gap: 3px; }
#lpRoot .pdp-tp-pill-stars i {
  width: 19px; height: 19px; display: inline-block; background: #00B67A;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2l3.09 6.26L22 9.27l-5 4.87 1.18 6.88L12 17.77l-6.18 3.25L7 14.14 2 9.27l6.91-1.01L12 2z'/%3E%3C/svg%3E") center/contain no-repeat;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2l3.09 6.26L22 9.27l-5 4.87 1.18 6.88L12 17.77l-6.18 3.25L7 14.14 2 9.27l6.91-1.01L12 2z'/%3E%3C/svg%3E") center/contain no-repeat;
}
#lpRoot .pdp-tp-pill-text { font-size: 15.5px; color: #E9F1FF !important; letter-spacing: .01em; }
#lpRoot .pdp-tp-pill-text b { color: #FFFFFF !important; font-weight: 800; }
#lpRoot .pdp-cine-wordmark {
  display: block; width: clamp(210px, 22vw, 300px); height: auto; margin: 0 0 10px -6px;
}
#lpRoot .pdp-cine-h1 {
  font-family: 'Inter Tight', 'Inter', sans-serif !important; font-weight: 800 !important;
  font-size: clamp(46px, 6.2vw, 84px) !important; line-height: 1.04 !important;
  letter-spacing: -0.025em !important; color: #FFFFFF !important;
  -webkit-text-fill-color: #FFFFFF; margin: 0 0 22px !important;
  text-shadow: 0 4px 40px rgba(0,0,0,.45);
}
#lpRoot .pdp-cine-h1 .pdp-cine-blue {
  font-family: 'Codec Pro','Inter',sans-serif !important; font-style: normal; font-weight: 800;
  color: #7EC8FF !important; -webkit-text-fill-color: #7EC8FF; letter-spacing: -0.015em;
}
#lpRoot .pdp-cine-sub {
  font-size: clamp(17px, 1.4vw, 19.5px); line-height: 1.62; color: #DFE9FA !important;
  max-width: 56ch; margin: 0 0 20px; text-shadow: 0 2px 18px rgba(0,0,0,.5);
}
#lpRoot .pdp-cine-sub strong { color: #FFFFFF !important; font-weight: 750; }
#lpRoot .pdp-cine-meta { display: flex; flex-wrap: wrap; gap: 10px 22px; margin: 0 0 30px; }
#lpRoot .pdp-cine-meta span {
  font-size: 15.5px; font-weight: 600; color: #BBD2F5 !important; position: relative; padding-left: 16px;
}
#lpRoot .pdp-cine-meta span::before {
  content: ""; position: absolute; left: 0; top: 50%; transform: translateY(-50%);
  width: 7px; height: 7px; border-radius: 50%; background: #006EFF; box-shadow: 0 0 10px rgba(0,110,255,.9);
}
#lpRoot .pdp-cine-ctas { display: flex; flex-wrap: wrap; gap: 16px; align-items: center; }
#lpRoot .pdp-cine-cta {
  display: inline-flex; align-items: center; gap: 10px;
  background: linear-gradient(180deg, #1E86FF 0%, #006EFF 100%);
  color: #FFFFFF !important; font-weight: 750; font-size: 18px; text-decoration: none;
  padding: 18px 38px; border-radius: 999px;
  box-shadow: 0 10px 34px -8px rgba(0,110,255,.75), 0 0 0 1px rgba(255,255,255,.12) inset;
  transition: transform .25s ease, box-shadow .25s ease;
}
#lpRoot .pdp-cine-cta:hover { transform: translateY(-2px); box-shadow: 0 16px 44px -8px rgba(0,110,255,.85), 0 0 0 1px rgba(255,255,255,.16) inset; }
#lpRoot .pdp-cine-ghost {
  display: inline-flex; align-items: center; gap: 9px;
  color: #EAF2FF !important; font-weight: 640; font-size: 17px; text-decoration: none;
  padding: 17px 30px; border-radius: 999px; border: 1px solid rgba(255,255,255,.28);
  background: rgba(255,255,255,.06); backdrop-filter: blur(8px); -webkit-backdrop-filter: blur(8px);
  transition: background .25s ease, border-color .25s ease;
}
#lpRoot .pdp-cine-ghost:hover { background: rgba(255,255,255,.12); border-color: rgba(255,255,255,.44); }
#lpRoot .pdp-cine-guarantee { margin: 26px 0 0; font-size: 15px; color: #9FB6DC !important; }
@media (max-width: 900px) {
  #lpRoot .pdp-hero--cine { min-height: 100svh; padding: 120px 0 64px; text-align: center; }
  #lpRoot .pdp-cine-img { object-position: 66% 30%; }
  #lpRoot .pdp-cine-overlay {
    background:
      linear-gradient(180deg, rgba(5,11,26,.88) 0%, rgba(5,11,26,.55) 34%, rgba(5,11,26,.55) 60%, rgba(4,9,22,.92) 100%);
  }
  #lpRoot .pdp-cine-inner { margin: 0 auto; max-width: none; width: calc(100% - 40px); }
  #lpRoot .pdp-tp-pill { padding: 9px 16px; gap: 9px; }
  #lpRoot .pdp-tp-pill-text { font-size: 14.5px; }
  #lpRoot .pdp-tp-pill-stars i { width: 16px; height: 16px; }
  #lpRoot .pdp-cine-wordmark { margin: 0 auto 8px; width: clamp(180px, 48vw, 230px); }
  #lpRoot .pdp-cine-h1 { font-size: clamp(38px, 10.5vw, 48px) !important; }
  #lpRoot .pdp-cine-sub { margin-left: auto; margin-right: auto; }
  #lpRoot .pdp-cine-meta { justify-content: center; gap: 8px 18px; }
  #lpRoot .pdp-cine-ctas { flex-direction: column; }
  #lpRoot .pdp-cine-cta, #lpRoot .pdp-cine-ghost { width: 100%; justify-content: center; }
}
#lpRoot .pdp-hero--cine { padding-top: clamp(150px, 16vh, 200px); }
@media (max-width: 900px) { #lpRoot .pdp-hero--cine { padding-top: 140px; } }

/* ============ v8: mobile perfection pass ============ */
/* Nav logo was squashing at small widths. Lock aspect, raise resolution rendering. */
#lpRoot .fn-nav-logo img, .fn-nav-logo img {
  height: 46px !important; width: auto !important; max-width: none !important;
  object-fit: contain !important; image-rendering: -webkit-optimize-contrast;
}
@media (max-width: 900px) {
  #lpRoot .fn-nav-logo img, .fn-nav-logo img { height: 40px !important; }
}
@media (max-width: 420px) {
  #lpRoot .fn-nav-logo img, .fn-nav-logo img { height: 34px !important; }
}

/* Learn-row media: baked-in overlay text was doubling the headline and reading muddy.
   Lighten the scrim so the footage itself is the visual, no competing text. */
#lpRoot .lp-lrow-scrim {
  background: linear-gradient(180deg, rgba(4,12,30,.10) 0%, rgba(4,12,30,.18) 60%, rgba(3,9,24,.42) 100%) !important;
}
#lpRoot .lp-lrow-media video, #lpRoot .lp-lrow-fallback { filter: saturate(1.06) contrast(1.04) brightness(1.06); }

/* Sticky bar on phones: no truncated sentences, generous tap target. */
@media (max-width: 720px) {
  #lpRoot .fn-sticky-sub { display: none !important; }
  #lpRoot .fn-sticky, #lpRoot .fn-sticky-bar { padding: 10px 14px !important; }
  #lpRoot .fn-sticky a, #lpRoot .fn-sticky-bar a { min-height: 48px !important; display: inline-flex !important; align-items: center !important; }
}

/* Trustpilot pill: official green, tighter, never wraps awkwardly on a phone. */
@media (max-width: 420px) {
  #lpRoot .pdp-tp-pill { padding: 8px 14px; gap: 8px; }
  #lpRoot .pdp-tp-pill-text { font-size: 13.5px; line-height: 1.35; }
  #lpRoot .pdp-tp-pill-stars i { width: 15px; height: 15px; }
}

/* Global mobile safety: nothing may exceed the viewport, ever. */
@media (max-width: 900px) {
  #lpRoot img, #lpRoot video, #lpRoot svg, #lpRoot iframe { max-width: 100% !important; height: auto; }
  #lpRoot .pdp-hero-orb, #lpRoot .lla-neon-glow { display: none !important; }
  html, body { overflow-x: hidden !important; }
}
@media (max-width: 900px) { #lpRoot .fn-nav-logo img, .fn-nav-logo img { height: 46px !important; } }
@media (max-width: 420px) { #lpRoot .fn-nav-logo img, .fn-nav-logo img { height: 44px !important; } }

/* ============ v9: floating enroll CTA, ported from longevitylifeacademy.com ============ */
.lla-float-cta{
  position:fixed;top:104px;right:32px;z-index:9998;
  display:inline-flex;align-items:stretch;cursor:pointer;text-decoration:none;
  font-family:'Inter Tight','Inter',sans-serif;
  border-radius:18px;overflow:hidden;
  background:linear-gradient(180deg,#0F2D52 0%,#0A2240 100%);
  border:1px solid rgba(255,255,255,.10);
  box-shadow:0 0 0 1px rgba(120,180,255,.18), 0 14px 36px rgba(8,30,60,.28), 0 0 28px rgba(120,190,255,.18);
  opacity:0;transform:translateY(-12px);pointer-events:none;
  transition:opacity .45s ease, transform .45s cubic-bezier(.2,.7,.2,1), box-shadow .25s ease;
}
.lla-float-cta.is-visible{opacity:1;transform:translateY(0);pointer-events:auto}
.lla-float-cta:hover{transform:translateY(-2px);box-shadow:0 0 0 1px rgba(140,200,255,.35), 0 18px 44px rgba(8,30,60,.34), 0 0 44px rgba(120,190,255,.42)}
.lla-float-cta .lla-cta-text{display:flex;flex-direction:column;justify-content:center;padding:14px 18px 14px 20px;gap:4px}
.lla-float-cta .lla-cta-eyebrow{display:flex;align-items:center;gap:8px;font-size:11px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:#8FB9F0}
.lla-float-cta .lla-cta-eyebrow::before{content:"";width:6px;height:6px;border-radius:50%;background:#5EB6FF;box-shadow:0 0 8px #5EB6FF,0 0 14px rgba(94,182,255,.7)}
.lla-float-cta .lla-cta-title{font-size:16px;font-weight:750;color:#fff;line-height:1.1}
.lla-float-cta .lla-cta-pill{display:flex;align-items:center;gap:8px;padding:0 22px;margin:8px 8px 8px 6px;border-radius:12px;background:linear-gradient(180deg,#5EB6FF 0%,#2E8BE6 100%);color:#06243F;font-weight:800;font-size:15px;box-shadow:0 1px 0 rgba(255,255,255,.55) inset, 0 8px 20px rgba(46,139,230,.32)}
.lla-float-cta .lla-cta-pill .price{font-size:16px;font-weight:900}
.lla-float-cta .lla-cta-pill .mo{font-size:11.5px;font-weight:700;color:#0A2240;opacity:.8;letter-spacing:.05em}
.lla-float-cta .lla-cta-arrow{width:16px;height:16px;color:#06243F;transition:transform .25s ease}
.lla-float-cta:hover .lla-cta-arrow{transform:translateX(3px)}
@media (max-width:900px){
  /* mobile already carries the sticky price bar, avoid a double CTA stack */
  .lla-float-cta{display:none !important}
}
@media (prefers-reduced-motion: reduce){ .lla-float-cta{transition:none} }
/* learn rows now use clean stills, no baked-in captions */
#lpRoot .lp-lrow-fallback { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; z-index:0; }

/* ============ v10: nav logo restored to brand lockup, matching longevitylifeacademy.com ============ */
#lpRoot .fn-nav-logo img,
.fn-nav-logo img,
.nav-logo-img {
  display:block !important;
  height:60px !important;
  width:auto !important;
  max-width:260px !important;
  filter:none !important;                 /* no white-out, keep the real lockup colours */
  -webkit-filter:none !important;
  image-rendering:auto !important;
  object-fit:contain !important;
  opacity:1 !important;
}
@media (max-width:900px){
  #lpRoot .fn-nav-logo img, .fn-nav-logo img, .nav-logo-img { height:48px !important; max-width:190px !important; }
}
@media (max-width:420px){
  #lpRoot .fn-nav-logo img, .fn-nav-logo img, .nav-logo-img { height:44px !important; max-width:168px !important; }
}
#lpRoot .fn-nav-logo{display:flex !important;align-items:center !important;flex:0 0 auto !important;min-width:0}

/* learn-row + loop media: cinematic, no muddy scrim over real footage */
#lpRoot .lp-lrow-media video,
#lpRoot .lp-lrow-fallback { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
#lpRoot .lp-lrow-media video { z-index:1; }
#lpRoot .lp-lrow-fallback { z-index:0; }
#lpRoot .lp-lrow-scrim { z-index:2; background:linear-gradient(180deg, rgba(7,26,58,.10) 0%, rgba(7,26,58,.28) 100%) !important; }

/* ============ v11: eTeacher lockup at real scale, matching longevitylifeacademy.com ============ */
#lpRoot .lla-powered{display:flex;flex-direction:column;align-items:center;gap:14px;margin:0 0 34px}
#lpRoot .lla-powered-label{font-family:'Inter Tight',sans-serif;font-size:16px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:rgba(255,255,255,.62)}
#lpRoot .lla-powered-logo{display:block;height:clamp(58px,5.4vw,82px);width:auto;max-width:min(420px,86vw);filter:drop-shadow(0 2px 10px rgba(0,110,255,.22))}
#lpRoot .lla-powered-strip{margin:44px auto 40px;max-width:1120px;border-radius:20px;background:linear-gradient(180deg,rgba(255,255,255,.07),rgba(255,255,255,.03));border:1px solid rgba(255,255,255,.12);box-shadow:0 18px 46px rgba(3,14,32,.34)}
#lpRoot .lla-powered-strip ul{display:grid;grid-template-columns:repeat(5,1fr);list-style:none;margin:0;padding:26px 18px}
#lpRoot .lla-powered-strip li{display:flex;flex-direction:column;align-items:center;gap:8px;padding:6px 10px;border-right:1px solid rgba(255,255,255,.10)}
#lpRoot .lla-powered-strip li:last-child{border-right:0}
#lpRoot .lla-powered-strip li span{font-family:'Inter Tight',sans-serif;font-size:15px;font-weight:500;color:rgba(255,255,255,.66)}
#lpRoot .lla-powered-strip li strong{display:flex;align-items:center;gap:9px;font-family:'Codec Pro','Inter',sans-serif;font-size:clamp(26px,2.4vw,34px);font-weight:600;color:#fff;line-height:1}
#lpRoot .lla-powered-strip li strong em{font-style:normal;font-size:.52em;font-weight:700;color:#5EB6FF;font-family:'Inter Tight',sans-serif}
#lpRoot .lla-live-dot{width:10px;height:10px;border-radius:50%;background:#5EB6FF;box-shadow:0 0 10px #5EB6FF,0 0 20px rgba(94,182,255,.7)}
@media (max-width:900px){
  #lpRoot .lla-powered-strip ul{grid-template-columns:repeat(2,1fr);padding:18px 12px;gap:6px}
  #lpRoot .lla-powered-strip li{border-right:0;border-bottom:1px solid rgba(255,255,255,.10);padding:14px 8px}
  #lpRoot .lla-powered-strip li:nth-last-child(-n+1){border-bottom:0}
}

/* partner logos: real scale, not postage stamps */
#lpRoot .pdp-institution-logos{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:clamp(20px,3vw,44px)}
#lpRoot .pdp-logo-card{display:flex;align-items:center;justify-content:center;min-height:96px;padding:20px 30px;border-radius:18px;background:rgba(255,255,255,.96);box-shadow:0 14px 34px rgba(3,14,32,.30)}
#lpRoot .pdp-logo-card img{height:clamp(38px,3.4vw,52px) !important;width:auto !important;max-width:230px !important;object-fit:contain}

/* method loop: site typography, no footage, even boxes, tight CTA rhythm */
#lpRoot .fn-loop{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
#lpRoot .fn-loop-step{display:flex;flex-direction:column;gap:12px;padding:34px 28px 32px;border-radius:20px;background:#fff;border:1px solid rgba(7,26,58,.10);box-shadow:0 16px 40px rgba(7,26,58,.09)}
#lpRoot .fn-loop-step b{font-family:'Inter Tight',sans-serif;font-size:15px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:#006EFF}
#lpRoot .fn-loop-step h4{font-family:'Codec Pro','Inter',sans-serif;font-size:clamp(25px,2.1vw,32px);font-weight:600;line-height:1.08;color:#071A3A;margin:0}
#lpRoot .fn-loop-step p{font-family:'Inter Tight',sans-serif;font-size:17px;line-height:1.5;color:#3C4C68;margin:0}
@media (max-width:1000px){ #lpRoot .fn-loop{grid-template-columns:repeat(2,1fr)} }
@media (max-width:620px){ #lpRoot .fn-loop{grid-template-columns:1fr} }

/* pillar rows: site typography */
#lpRoot .lp-lrow-title{font-family:'Codec Pro','Inter',sans-serif !important;font-weight:600 !important}
#lpRoot .lp-lrow-pay{font-family:'Inter Tight',sans-serif !important;font-size:18px !important;line-height:1.55 !important}

/* kill the dead space above the enroll CTA */
#lpRoot .lp-learn-cta{margin-top:clamp(38px,3.4vw,56px) !important}
#lpRoot .fn-loop + *{margin-top:clamp(32px,3vw,48px) !important}

/* press band: bigger marks, real presence, subtle continuous drift so it is not flat */
#lpRoot .pdp-press{padding:clamp(30px,3vw,44px) 0 !important;overflow:hidden}
#lpRoot .pdp-press-label{font-family:'Inter Tight',sans-serif !important;font-size:16px !important;font-weight:700 !important;letter-spacing:.2em !important;text-transform:uppercase !important}
#lpRoot .pdp-press-marks{gap:clamp(28px,4vw,62px) !important}
#lpRoot .pdp-mark{font-size:clamp(20px,1.9vw,27px) !important;font-weight:800 !important;letter-spacing:.02em !important;opacity:1 !important}
@media (prefers-reduced-motion:no-preference){
  #lpRoot .pdp-press-marks .pdp-mark{animation:llaMarkIn .9s cubic-bezier(.2,.7,.2,1) both}
  #lpRoot .pdp-press-marks .pdp-mark:nth-child(2){animation-delay:.09s}
  #lpRoot .pdp-press-marks .pdp-mark:nth-child(3){animation-delay:.18s}
  #lpRoot .pdp-press-marks .pdp-mark:nth-child(4){animation-delay:.27s}
}
@keyframes llaMarkIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}

/* ============ v11b: enrollment stack rebuilt without thumbnails ============ */
#lpRoot .fn-offer-grid{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(320px,.95fr);gap:clamp(22px,2.4vw,40px);align-items:start}
#lpRoot .fn-stack{display:block;border-radius:22px;overflow:hidden;background:#fff;border:1px solid rgba(7,26,58,.12);box-shadow:0 20px 52px rgba(7,26,58,.10)}
#lpRoot .fn-stack-head{display:flex !important;align-items:center;justify-content:space-between;gap:16px;padding:24px 30px;background:#071A3A;border:0 !important}
#lpRoot .fn-stack-head b{font-family:'Codec Pro','Inter',sans-serif;font-size:clamp(21px,1.7vw,26px);font-weight:600;color:#fff}
#lpRoot .fn-stack-head span{font-family:'Inter Tight',sans-serif;font-size:15px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:#5EB6FF;white-space:nowrap}
#lpRoot .fn-stack-row{display:grid !important;grid-template-columns:minmax(0,1fr) auto !important;gap:10px 26px !important;align-items:start !important;padding:26px 30px !important;border-top:1px solid rgba(7,26,58,.10) !important;background:#fff !important}
#lpRoot .fn-stack-txt{min-width:0}
#lpRoot .fn-stack-row h4{font-family:'Codec Pro','Inter',sans-serif !important;font-size:clamp(20px,1.6vw,25px) !important;font-weight:600 !important;line-height:1.14 !important;margin:0 0 8px !important;color:#071A3A !important}
#lpRoot .fn-stack-row p{font-family:'Inter Tight',sans-serif !important;font-size:17px !important;line-height:1.5 !important;color:#3C4C68 !important;margin:0 !important}
#lpRoot .fn-stack-val{align-self:center;justify-self:end;white-space:nowrap;font-family:'Inter Tight',sans-serif !important;font-size:15px !important;font-weight:700 !important;letter-spacing:.06em;text-transform:uppercase;color:#006EFF !important;background:rgba(0,110,255,.08) !important;border-radius:999px;padding:9px 16px !important;width:auto !important;max-width:none !important}
#lpRoot .fn-stack-total{display:flex;flex-direction:column;gap:8px;padding:26px 30px 30px;background:linear-gradient(180deg,#F3F7FF,#E9F1FF);border-top:1px solid rgba(7,26,58,.12)}
#lpRoot .fn-stack-total span{font-family:'Inter Tight',sans-serif;font-size:16px;font-weight:600;color:#3C4C68}
#lpRoot .fn-stack-total b{font-family:'Codec Pro','Inter',sans-serif;font-size:clamp(34px,3.2vw,46px);font-weight:600;color:#071A3A;line-height:1}
#lpRoot .fn-stack-total small{font-family:'Inter Tight',sans-serif;font-size:15px;color:#4A5B78}
#lpRoot .fn-pricecard h3{font-family:'Codec Pro','Inter',sans-serif;font-size:clamp(26px,2.2vw,33px);line-height:1.08;margin:0 0 6px}
#lpRoot .fn-pricecard-price{display:flex !important;align-items:baseline !important;gap:8px !important;flex-wrap:nowrap !important}
#lpRoot .fn-pricecard-price b{font-family:'Codec Pro','Inter',sans-serif;font-size:clamp(52px,4.6vw,68px) !important;line-height:1 !important;white-space:nowrap}
#lpRoot .fn-pricecard-price b sup{font-size:.42em;top:-.55em;position:relative}
#lpRoot .fn-pricecard-price span{font-family:'Inter Tight',sans-serif;font-size:18px;font-weight:600;white-space:nowrap}
@media (max-width:1000px){
  #lpRoot .fn-offer-grid{grid-template-columns:1fr}
  #lpRoot .fn-stack-row{grid-template-columns:1fr !important;padding:22px 20px !important}
  #lpRoot .fn-stack-val{justify-self:start}
  #lpRoot .fn-stack-head{padding:20px 20px}
}

/* v11c: eTeacher lockup at real presence, partner cards on dark so the marks read */
#lpRoot .lla-powered-logo{height:clamp(46px,4.2vw,64px) !important;max-width:min(460px,88vw) !important}
#lpRoot .pdp-institution-head{text-align:center !important}
#lpRoot .pdp-institution-h2{text-align:center !important}
#lpRoot .pdp-institution-lede{margin-left:auto !important;margin-right:auto !important;text-align:center !important;max-width:820px !important}
#lpRoot .pdp-logo-card{background:#0B1A33 !important;border:1px solid rgba(255,255,255,.14) !important;box-shadow:0 16px 40px rgba(2,10,24,.42) !important;min-height:104px !important;padding:22px 34px !important}
#lpRoot .pdp-logo-card img{height:clamp(40px,3.6vw,56px) !important;max-width:250px !important;mix-blend-mode:screen}

/* ============ v12: readability pass, no text on photography, real contrast ============ */

/* WHY THIS IS DIFFERENT: photo on top, copy on solid white below. no scrims, no text over imagery */
#lpRoot .pdp-whatitis-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(18px,1.8vw,26px)}
#lpRoot .pdp-whatitis-card{display:flex !important;flex-direction:column;margin:0;border-radius:20px;overflow:hidden;background:#fff !important;border:1px solid rgba(7,26,58,.12);box-shadow:0 18px 44px rgba(7,26,58,.10);min-height:0 !important;height:auto !important}
#lpRoot .pdp-wi-media{position:relative;width:100%;aspect-ratio:16/10;overflow:hidden;background:#0B1A33}
#lpRoot .pdp-wi-media img{width:100%;height:100%;object-fit:cover;display:block;position:static !important}
#lpRoot .pdp-whatitis-card figcaption{position:static !important;display:flex;flex-direction:column;gap:10px;padding:26px 26px 30px;background:#fff !important;text-shadow:none !important}
#lpRoot .pdp-whatitis-card figcaption b{font-family:'Codec Pro','Inter',sans-serif !important;font-size:clamp(21px,1.7vw,26px) !important;font-weight:600 !important;line-height:1.1 !important;color:#071A3A !important}
#lpRoot .pdp-whatitis-card figcaption span{font-family:'Inter Tight',sans-serif !important;font-size:17px !important;line-height:1.52 !important;color:#3C4C68 !important}
#lpRoot .pdp-whatitis-scrim{display:none !important}
@media (max-width:1080px){ #lpRoot .pdp-whatitis-grid{grid-template-columns:repeat(2,1fr)} }
@media (max-width:620px){ #lpRoot .pdp-whatitis-grid{grid-template-columns:1fr} }

/* SIX PROCESS STEPS */
#lpRoot .fn-loop--six{grid-template-columns:repeat(3,1fr) !important}
#lpRoot .fn-loop-note{margin-top:auto;padding-top:14px;font-family:'Inter Tight',sans-serif;font-size:15px;font-weight:700;letter-spacing:.02em;color:#006EFF}
@media (max-width:1000px){ #lpRoot .fn-loop--six{grid-template-columns:repeat(2,1fr) !important} }
@media (max-width:620px){ #lpRoot .fn-loop--six{grid-template-columns:1fr !important} }

/* TESTIMONIALS on deep navy: header and quote text must read white */
#lpRoot .testimonials.lp-deep .section-title,
#lpRoot .testimonials.lp-deep .section-title *{color:#fff !important;-webkit-text-fill-color:#fff !important;background:none !important}
#lpRoot .testimonials.lp-deep .section-title em{color:#5EB6FF !important;-webkit-text-fill-color:#5EB6FF !important}
#lpRoot .testimonials.lp-deep .quote-card{background:linear-gradient(180deg,rgba(255,255,255,.075),rgba(255,255,255,.035)) !important;border:1px solid rgba(255,255,255,.14) !important;box-shadow:0 20px 50px rgba(2,10,24,.4) !important}
#lpRoot .testimonials.lp-deep .quote-text{color:rgba(255,255,255,.92) !important;font-size:17px !important;line-height:1.6 !important}
#lpRoot .testimonials.lp-deep .quote-meta{color:rgba(255,255,255,.66) !important;font-size:15px !important}
#lpRoot .testimonials.lp-deep .quote-stars svg{color:#5EB6FF !important}
#lpRoot .testimonials.lp-deep .quote-mark{color:rgba(94,182,255,.34) !important}

/* CGM fold on deep navy: every bullet, check and the CTA must be visible */
#lpRoot .cgm-fold.lp-deep{background:linear-gradient(180deg,#071A3A 0%,#0A2450 100%) !important}
#lpRoot .cgm-fold.lp-deep .cgm-fold-title,#lpRoot .cgm-fold.lp-deep .cgm-fold-title em{color:#fff !important;-webkit-text-fill-color:#fff !important}
#lpRoot .cgm-fold.lp-deep .cgm-fold-title em{color:#5EB6FF !important;-webkit-text-fill-color:#5EB6FF !important;font-style:italic}
#lpRoot .cgm-fold.lp-deep .cgm-fold-sub{color:rgba(255,255,255,.82) !important;font-size:18px !important}
#lpRoot .cgm-fold.lp-deep .cgm-fold-bullet{color:#fff !important;font-size:17px !important;line-height:1.5 !important}
#lpRoot .cgm-fold.lp-deep .cgm-fold-bullet svg{color:#5EB6FF !important}
#lpRoot .cgm-fold.lp-deep .cgm-fold-cta{background:linear-gradient(180deg,#2A8CFF,#006EFF) !important;border:0 !important;color:#fff !important;font-size:17px !important;padding:17px 34px !important;box-shadow:0 16px 38px rgba(0,110,255,.42) !important}

/* CURRICULUM: colour-coded phases so it is not one flat white block */
#lpRoot .curriculum .section-title{color:#071A3A !important}
#lpRoot .phase-nav-item,#lpRoot .phase-tab,#lpRoot .curriculum-phase-label{font-family:'Inter Tight',sans-serif !important}
#lpRoot .curriculum [data-phase="1"] .phase-label,#lpRoot .phase-1 .phase-label{color:#006EFF !important}

/* v12b: curriculum gets real colour per phase, tabs read as a designed control */
#lpRoot .curriculum-tabs{display:grid !important;grid-template-columns:repeat(4,1fr) !important;gap:14px !important;margin:0 auto clamp(30px,3vw,44px) !important;max-width:1120px}
#lpRoot .curriculum-tab{display:flex !important;flex-direction:column;align-items:flex-start;gap:6px;padding:22px 22px 20px !important;border-radius:18px !important;border:1px solid rgba(7,26,58,.14) !important;background:#fff !important;text-align:left !important;cursor:pointer;transition:transform .22s ease,box-shadow .22s ease,background .22s ease;box-shadow:0 10px 26px rgba(7,26,58,.07)}
#lpRoot .curriculum-tab:hover{transform:translateY(-3px);box-shadow:0 18px 40px rgba(7,26,58,.13)}
#lpRoot .curriculum-tab-num{font-family:'Codec Pro','Inter',sans-serif !important;font-size:30px !important;font-weight:600 !important;line-height:1 !important;color:#9FB6D6 !important}
#lpRoot .curriculum-tab-name{font-family:'Inter Tight',sans-serif !important;font-size:19px !important;font-weight:700 !important;color:#071A3A !important;line-height:1.15 !important}
#lpRoot .curriculum-tab-meta{font-family:'Inter Tight',sans-serif !important;font-size:15px !important;font-weight:600 !important;color:#5A6C8A !important}
#lpRoot .curriculum-tab[data-phase-tab="1"].is-active{background:linear-gradient(160deg,#071A3A,#0A2450) !important;border-color:transparent !important;box-shadow:0 20px 46px rgba(7,26,58,.34) !important}
#lpRoot .curriculum-tab[data-phase-tab="2"].is-active{background:linear-gradient(160deg,#00398F,#006EFF) !important;border-color:transparent !important;box-shadow:0 20px 46px rgba(0,110,255,.36) !important}
#lpRoot .curriculum-tab[data-phase-tab="3"].is-active{background:linear-gradient(160deg,#006EFF,#2A8CFF) !important;border-color:transparent !important;box-shadow:0 20px 46px rgba(0,110,255,.36) !important}
#lpRoot .curriculum-tab[data-phase-tab="4"].is-active{background:linear-gradient(160deg,#2A8CFF,#5EB6FF) !important;border-color:transparent !important;box-shadow:0 20px 46px rgba(94,182,255,.4) !important}
#lpRoot .curriculum-tab.is-active .curriculum-tab-num{color:rgba(255,255,255,.5) !important}
#lpRoot .curriculum-tab.is-active .curriculum-tab-name{color:#fff !important}
#lpRoot .curriculum-tab.is-active .curriculum-tab-meta{color:rgba(255,255,255,.8) !important}
#lpRoot .phase-block-header{display:flex !important;align-items:center;gap:16px;flex-wrap:wrap;padding:20px 26px !important;border-radius:16px;margin-bottom:20px !important;background:linear-gradient(120deg,#071A3A,#0A2450) !important;border:0 !important}
#lpRoot .phase-block[data-phase="2"] .phase-block-header{background:linear-gradient(120deg,#00398F,#006EFF) !important}
#lpRoot .phase-block[data-phase="3"] .phase-block-header{background:linear-gradient(120deg,#006EFF,#2A8CFF) !important}
#lpRoot .phase-block[data-phase="4"] .phase-block-header{background:linear-gradient(120deg,#2A8CFF,#5EB6FF) !important}
#lpRoot .phase-block-label{font-family:'Inter Tight',sans-serif !important;font-size:15px !important;font-weight:700 !important;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.82) !important}
#lpRoot .phase-block-name{font-family:'Codec Pro','Inter',sans-serif !important;font-size:clamp(22px,1.9vw,28px) !important;font-weight:600 !important;color:#fff !important}
#lpRoot .curriculum-item{border-radius:16px !important;border:1px solid rgba(7,26,58,.11) !important;background:#fff !important;margin-bottom:12px !important;box-shadow:0 8px 22px rgba(7,26,58,.06)}
#lpRoot .curriculum-num{font-family:'Codec Pro','Inter',sans-serif !important;font-size:26px !important;font-weight:600 !important;color:#006EFF !important}
#lpRoot .curriculum-trigger-text h3{font-family:'Codec Pro','Inter',sans-serif !important;font-size:clamp(19px,1.5vw,24px) !important;font-weight:600 !important;line-height:1.16 !important;color:#071A3A !important}
@media (max-width:1000px){ #lpRoot .curriculum-tabs{grid-template-columns:repeat(2,1fr) !important} }
@media (max-width:560px){ #lpRoot .curriculum-tabs{grid-template-columns:1fr !important} }

/* v12c: typographic card replaces mismatched footage */
#lpRoot .pdp-wi-type{display:flex !important;flex-direction:column;align-items:flex-start;justify-content:center;gap:6px;padding:26px 26px;background:linear-gradient(150deg,#071A3A 0%,#0A2450 55%,#00398F 100%) !important;position:relative;overflow:hidden}
#lpRoot .pdp-wi-type::after{content:"";position:absolute;right:-70px;top:-70px;width:230px;height:230px;border-radius:50%;background:radial-gradient(circle,rgba(0,110,255,.55),transparent 68%);filter:blur(6px)}
#lpRoot .pdp-wi-big{position:relative;font-family:'Codec Pro','Inter',sans-serif;font-size:clamp(76px,7vw,108px);font-weight:600;line-height:.92;color:#fff;letter-spacing:-.02em}
#lpRoot .pdp-wi-small{position:relative;font-family:'Inter Tight',sans-serif;font-size:17px;font-weight:600;line-height:1.35;color:#9CCBFF;max-width:210px}
#lpRoot .pdp-whatitis-card .pdp-wi-big{font-size:clamp(76px,7vw,108px) !important;line-height:.92 !important;font-weight:600 !important;color:#fff !important;font-family:'Codec Pro','Inter',sans-serif !important;letter-spacing:-.02em !important}
#lpRoot .pdp-whatitis-card .pdp-wi-small{font-size:18px !important;font-weight:600 !important;color:#9CCBFF !important;line-height:1.32 !important;font-family:'Inter Tight',sans-serif !important}
#lpRoot .pdp-whatitis-card .pdp-wi-type{aspect-ratio:16/10 !important;align-items:flex-start !important;justify-content:flex-end !important;padding:0 26px 24px !important}
#lpRoot .cgm-fold .cgm-fold-images{grid-template-columns:repeat(2,1fr) !important;max-width:820px !important}

/* =========================================================
   v13 · SITE-EXACT PASS
   Fonts, nav, eTeacher fold, value fold, how-it-works,
   CGM compression, closing fold, pricing clarity.
   ========================================================= */

/* --- FONTS: match longevitylifeacademy.com exactly (Codec Pro + Inter) --- */
#lpRoot, #lpRoot h1, #lpRoot h2, #lpRoot h3, #lpRoot h4, #lpRoot h5,
#lpRoot .fn-h2, #lpRoot .fn-h1, #lpRoot .section-title, #lpRoot .fn-btn,
#lpRoot .pdp-value-h2, #lpRoot .cgm-fold-title {
  font-family: 'Codec Pro', 'Inter', sans-serif !important;
}
#lpRoot p, #lpRoot li, #lpRoot span, #lpRoot a, #lpRoot div, #lpRoot label, #lpRoot input {
  font-family: 'Inter', sans-serif;
}
#lpRoot h1 em, #lpRoot h2 em, #lpRoot h3 em, #lpRoot .fn-h2 em, #lpRoot .pdp-value-h2 em {
  font-family: 'Codec Pro', 'Inter', sans-serif !important;
  font-style: normal !important;
  color: #2E8CFF !important;
}

/* --- NAV: announcement strip removed, reclaim its offset --- */
#lpRoot { --fn-announce-h: 0px !important; }
.fn-announce { display: none !important; }
.fn-nav { top: 0 !important; }
.fn-nav-links a {
  font-family: 'Codec Pro', 'Inter', sans-serif !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  color: rgba(255,255,255,0.94) !important;
  letter-spacing: 0.01em !important;
}
.fn-nav-links a:hover { color: #7EC8FF !important; }
.fn-nav-pricing { color: #fff !important; }

/* --- WHY THIS COURSE IS DIFFERENT: site-exact dark card set --- */
#lpRoot .pdp-value {
  background: linear-gradient(180deg, #061634 0%, #0A2450 55%, #071A3A 100%) !important;
  padding: clamp(88px, 9vw, 132px) 0 !important;
  position: relative;
  overflow: hidden;
}
#lpRoot .pdp-value::before {
  content: ''; position: absolute; inset: -30% -10% auto -10%; height: 70%;
  background: radial-gradient(60% 60% at 50% 0%, rgba(0,110,255,0.28), transparent 70%);
  pointer-events: none;
}
#lpRoot .pdp-value-head { position: relative; margin-bottom: clamp(40px, 4.5vw, 64px); }
#lpRoot .pdp-value-h2 {
  font-size: clamp(46px, 6vw, 84px) !important;
  line-height: 0.98 !important;
  letter-spacing: -0.03em !important;
  font-weight: 800 !important;
  color: #fff !important;
  margin: 0 !important;
}
#lpRoot .pdp-value-grid {
  position: relative;
  display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px;
}
#lpRoot .pdp-value-card {
  position: relative;
  padding: 34px 30px 36px;
  border-radius: 22px;
  background: rgba(255,255,255,0.055);
  border: 1px solid rgba(140,190,255,0.20);
  backdrop-filter: blur(14px);
  box-shadow: 0 24px 60px rgba(0,0,0,0.34), inset 0 1px 0 rgba(255,255,255,0.10);
  overflow: hidden;
  transition: transform .4s cubic-bezier(.22,1,.36,1), box-shadow .4s;
}
#lpRoot .pdp-value-card::before {
  content: ''; position: absolute; top: 0; left: 0; right: 0; height: 3px;
  background: var(--vc, #006EFF);
  box-shadow: 0 0 22px var(--vc, #006EFF);
}
#lpRoot .pdp-value-card[data-vc="1"] { --vc: #006EFF; }
#lpRoot .pdp-value-card[data-vc="2"] { --vc: #5EB6FF; }
#lpRoot .pdp-value-card[data-vc="3"] { --vc: #7BE3FF; }
#lpRoot .pdp-value-card[data-vc="4"] { --vc: #2E8CFF; }
#lpRoot .pdp-value-card:hover { transform: translateY(-6px); box-shadow: 0 34px 78px rgba(0,0,0,0.44); }
#lpRoot .pdp-value-card h3 {
  font-family: 'Codec Pro','Inter',sans-serif !important;
  font-size: clamp(21px, 1.7vw, 26px) !important;
  font-weight: 800 !important;
  line-height: 1.12 !important;
  letter-spacing: -0.01em;
  color: #fff !important;
  margin: 0 0 14px !important;
}
#lpRoot .pdp-value-card p {
  font-size: 16.5px !important;
  line-height: 1.62 !important;
  color: rgba(255,255,255,0.80) !important;
  margin: 0 !important;
}
@media (max-width: 1100px) { #lpRoot .pdp-value-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 640px)  { #lpRoot .pdp-value-grid { grid-template-columns: 1fr; } }

/* --- eTEACHER GROUP FOLD: centered, site-exact, white type on navy --- */
#lpRoot .pdp-institution {
  background: linear-gradient(180deg, #071A3A 0%, #0A2450 100%) !important;
  padding: clamp(72px, 7vw, 108px) 0 0 !important;
}
#lpRoot .about-powered {
  position: relative;
  max-width: 1040px; margin: 0 auto;
  padding: 44px 40px 40px;
  border-radius: 26px;
  background: linear-gradient(135deg, rgba(255,255,255,0.07) 0%, rgba(0,110,255,0.13) 100%);
  border: 1px solid rgba(150,195,255,0.20);
  backdrop-filter: blur(12px);
  box-shadow: 0 30px 80px rgba(0,0,0,0.38);
  text-align: center;
}
#lpRoot .about-powered-label {
  font-family: 'Codec Pro','Inter',sans-serif !important;
  font-size: 15px !important; letter-spacing: 0.28em; text-transform: uppercase;
  color: rgba(255,255,255,0.72) !important; font-weight: 600; margin: 0 0 16px;
}
#lpRoot .about-powered-brand { display: flex; justify-content: center; margin: 0 0 24px; }
#lpRoot .about-powered-logo-img {
  height: clamp(46px, 4.4vw, 66px) !important; width: auto !important;
  filter: none !important; opacity: 1 !important;
}
#lpRoot .about-powered-desc {
  font-size: 17.5px !important; line-height: 1.66 !important;
  color: rgba(255,255,255,0.84) !important;
  max-width: 780px; margin: 0 auto 32px !important; text-align: center;
}
#lpRoot .hero-powered-stats {
  display: flex; justify-content: center; align-items: stretch;
  list-style: none; margin: 0; padding: 0; flex-wrap: wrap;
  border-top: 1px solid rgba(150,195,255,0.20);
  padding-top: 26px;
}
#lpRoot .hero-powered-stats li {
  flex: 1 1 0; min-width: 132px; padding: 0 18px; text-align: center;
  border-left: 1px solid rgba(150,195,255,0.16);
}
#lpRoot .hero-powered-stats li:first-child { border-left: 0; }
#lpRoot .hero-powered-stats li span {
  display: block; font-size: 15px; color: rgba(255,255,255,0.62);
  margin-bottom: 8px; letter-spacing: 0.01em;
}
#lpRoot .hero-powered-stats li strong {
  font-family: 'Codec Pro','Inter',sans-serif !important;
  display: block; font-size: clamp(26px, 2.6vw, 38px); font-weight: 800;
  color: #fff; line-height: 1;
}
#lpRoot .hero-powered-stats li strong .unit {
  font-size: 0.5em; color: #5EB6FF; margin-left: 3px; font-weight: 700;
}
#lpRoot .hero-powered-live-dot {
  display: inline-block; width: 10px; height: 10px; border-radius: 50%;
  background: #35E08A; margin-right: 9px; vertical-align: middle;
  box-shadow: 0 0 0 0 rgba(53,224,138,0.6); animation: lpLiveDot 2s infinite;
}
@keyframes lpLiveDot { 70% { box-shadow: 0 0 0 12px rgba(53,224,138,0); } 100% { box-shadow: 0 0 0 0 rgba(53,224,138,0); } }
@media (max-width: 760px) {
  #lpRoot .hero-powered-stats li { flex: 0 0 50%; min-width: 0; border-left: 0; padding: 14px 8px; }
  #lpRoot .about-powered { padding: 32px 20px; }
}

/* trust marquee, site-exact */
#lpRoot .trust-strip {
  position: relative; overflow: hidden;
  margin-top: clamp(48px, 5vw, 72px);
  padding: 30px 0 34px;
  background: transparent;
  border-top: 1px solid rgba(150,195,255,0.14);
}
#lpRoot .trust-strip-track-wrap { overflow: hidden; }
#lpRoot .trust-strip-track {
  display: flex; align-items: center; gap: 76px; width: max-content;
  animation: lpTrustMarquee 38s linear infinite;
}
#lpRoot .trust-strip:hover .trust-strip-track { animation-play-state: paused; }
@keyframes lpTrustMarquee { from { transform: translateX(0); } to { transform: translateX(-33.333%); } }
#lpRoot .trust-logo {
  display: flex; align-items: center; justify-content: center;
  background: #FFFFFF; border-radius: 14px; padding: 16px 30px;
  box-shadow: 0 14px 34px rgba(0,0,0,0.30);
  flex: 0 0 auto;
}
#lpRoot .trust-logo-img { height: 42px !important; width: auto !important; display: block; filter: none !important; }
#lpRoot .trust-logo--microsoft .trust-logo-img { height: 34px !important; }
@media (prefers-reduced-motion: reduce) { #lpRoot .trust-strip-track { animation: none; } }

/* --- HOW IT WORKS: 5 real steps, no smearing --- */
#lpRoot .fn-loop--five {
  display: grid; grid-template-columns: repeat(5, 1fr); gap: 18px;
}
#lpRoot .fn-loop--five .fn-loop-step {
  display: flex; flex-direction: column;
  padding: 30px 26px 32px;
  border-radius: 20px;
  background: #FFFFFF;
  border: 1px solid rgba(10,40,90,0.10);
  box-shadow: 0 18px 44px rgba(8,32,74,0.10);
  min-height: 0;
}
#lpRoot .fn-loop--five .fn-loop-step b {
  font-family: 'Codec Pro','Inter',sans-serif !important;
  display: inline-flex; align-items: center; justify-content: center;
  width: 46px; height: 46px; border-radius: 13px;
  background: linear-gradient(135deg, #006EFF, #2E8CFF);
  color: #fff !important; font-size: 18px !important; font-weight: 800;
  margin: 0 0 18px; box-shadow: 0 10px 24px rgba(0,110,255,0.34);
}
#lpRoot .fn-loop--five .fn-loop-step h4 {
  font-family: 'Codec Pro','Inter',sans-serif !important;
  font-size: 21px !important; font-weight: 800 !important;
  line-height: 1.16 !important; letter-spacing: -0.01em;
  color: #0A2450 !important; margin: 0 0 12px !important;
}
#lpRoot .fn-loop--five .fn-loop-step p {
  font-size: 16px !important; line-height: 1.58 !important;
  color: #44536B !important; margin: 0 !important;
}
@media (max-width: 1100px) { #lpRoot .fn-loop--five { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 620px)  { #lpRoot .fn-loop--five { grid-template-columns: 1fr; } }

/* --- CGM FOLD: compressed, one image, side by side --- */
#lpRoot .cgm-fold { padding: clamp(64px, 6vw, 88px) 0 !important; }
#lpRoot .cgm-fold .container {
  display: grid; grid-template-columns: 0.9fr 1.1fr;
  gap: clamp(32px, 4vw, 60px); align-items: center;
  max-width: 1180px; margin: 0 auto; padding: 0 32px;
}
#lpRoot .cgm-fold-header { text-align: left !important; max-width: none !important; margin: 0 !important; grid-column: 2; grid-row: 1; }
#lpRoot .cgm-fold-title { font-size: clamp(34px, 3.6vw, 52px) !important; text-align: left; }
#lpRoot .cgm-fold-sub { font-size: 17px !important; }
#lpRoot .cgm-fold-images {
  grid-column: 1; grid-row: 1 / span 3;
  display: block !important; margin: 0 !important; max-width: none !important;
}
#lpRoot .cgm-fold-img { aspect-ratio: 4 / 5 !important; border-radius: 22px !important; }
#lpRoot .cgm-fold-bullets {
  grid-column: 2; grid-row: 2;
  grid-template-columns: 1fr !important; gap: 12px !important;
  max-width: none !important; margin: 0 !important;
}
#lpRoot .cgm-fold-bullet { font-size: 16.5px !important; color: rgba(255,255,255,0.88) !important; }
#lpRoot .cgm-fold-cta-wrap { grid-column: 2; grid-row: 3; text-align: left !important; margin-top: 8px; }
#lpRoot .cgm-fold-cta {
  background: linear-gradient(135deg, #006EFF, #2E8CFF) !important;
  color: #fff !important; border-color: transparent !important;
  padding: 16px 32px !important; font-size: 16px !important;
  box-shadow: 0 16px 40px rgba(0,110,255,0.42) !important;
}
@media (max-width: 900px) {
  #lpRoot .cgm-fold .container { grid-template-columns: 1fr; }
  #lpRoot .cgm-fold-header, #lpRoot .cgm-fold-images,
  #lpRoot .cgm-fold-bullets, #lpRoot .cgm-fold-cta-wrap { grid-column: 1; grid-row: auto; }
  #lpRoot .cgm-fold-img { aspect-ratio: 4 / 3 !important; }
}

/* --- CLOSING FOLD: kill the white sameness, fix CTA collision --- */
#lpRoot .fn-closefacts {
  display: grid; grid-template-columns: repeat(4, 1fr);
  gap: 16px; margin: 36px auto 30px; max-width: 900px;
}
#lpRoot .fn-closefact {
  display: flex; flex-direction: column; align-items: flex-start; gap: 6px;
  padding: 24px 22px; border-radius: 18px;
  background: rgba(255,255,255,0.07);
  border: 1px solid rgba(150,195,255,0.22);
  border-left: 3px solid var(--cf, #5EB6FF);
  backdrop-filter: blur(10px);
  text-align: left;
}
#lpRoot .fn-closefact:nth-child(1) { --cf: #006EFF; }
#lpRoot .fn-closefact:nth-child(2) { --cf: #2E8CFF; }
#lpRoot .fn-closefact:nth-child(3) { --cf: #5EB6FF; }
#lpRoot .fn-closefact:nth-child(4) { --cf: #7BE3FF; }
#lpRoot .fn-closefact .lp-ico { color: var(--cf); margin-bottom: 4px; }
#lpRoot .fn-closefact b {
  font-family: 'Codec Pro','Inter',sans-serif !important;
  font-size: 40px !important; font-weight: 800; color: #fff; line-height: 1;
}
#lpRoot .fn-closefact span {
  font-size: 15.5px !important; color: rgba(255,255,255,0.78); line-height: 1.4;
}
#lpRoot .fn-microtrust--center {
  display: flex; flex-wrap: wrap; justify-content: center;
  gap: 10px 26px; margin-top: 22px !important; position: static !important;
}
#lpRoot .fn-microtrust--center span {
  display: inline-flex; align-items: center; gap: 7px;
  font-size: 15px !important; color: rgba(255,255,255,0.80) !important;
}
#lpRoot .fn-cta-row--center { margin-top: 8px; }
@media (max-width: 860px) { #lpRoot .fn-closefacts { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 460px) { #lpRoot .fn-closefacts { grid-template-columns: 1fr; } }

/* --- PRICING: one price, one included list, no ambiguity --- */
#lpRoot .fn-stack-head b {
  font-family: 'Codec Pro','Inter',sans-serif !important;
  font-size: 20px !important; font-weight: 800 !important; color: #fff !important;
}
#lpRoot .fn-stack-head span {
  font-size: 14px !important; letter-spacing: 0.14em; text-transform: uppercase;
  color: rgba(255,255,255,0.72) !important;
}
#lpRoot .fn-stack-txt h4 {
  font-family: 'Codec Pro','Inter',sans-serif !important;
  font-size: 19px !important; font-weight: 800 !important; color: #0A2450 !important;
}
#lpRoot .fn-stack-txt p { font-size: 16px !important; line-height: 1.55 !important; color: #44536B !important; }
#lpRoot .fn-stack-val {
  font-family: 'Codec Pro','Inter',sans-serif !important;
  font-size: 15px !important; font-weight: 700 !important;
}
#lpRoot .fn-stack-total b {
  font-family: 'Codec Pro','Inter',sans-serif !important;
  font-size: clamp(38px, 4vw, 54px) !important;
}
#lpRoot .fn-stack-total small { font-size: 16px !important; font-weight: 700; color: #0A2450 !important; }
#lpRoot .fn-pricecard h3 {
  font-family: 'Codec Pro','Inter',sans-serif !important;
  font-size: clamp(28px, 2.4vw, 36px) !important; font-weight: 800 !important;
}
#lpRoot .fn-pricecard-price b {
  font-family: 'Codec Pro','Inter',sans-serif !important;
  font-size: clamp(64px, 6.4vw, 92px) !important; font-weight: 800 !important; letter-spacing: -0.04em;
}
#lpRoot .fn-pricecard-anchor { font-size: 16.5px !important; line-height: 1.55 !important; }
#lpRoot .fn-pricecard-anchor s { color: #8A97AA; }
#lpRoot .fn-pricecard-anchor b { color: #0A2450; font-size: 18px; }
#lpRoot .fn-pricecard .fn-microtrust { margin-top: 14px !important; }
#lpRoot .fn-pricecard-list li span { font-size: 16px !important; }

/* v13b: eTeacher stat strip, keep units inline and labels sentence case */
#lpRoot .hero-powered-stats li span {
  text-transform: none !important; letter-spacing: 0 !important;
  font-weight: 500 !important; white-space: nowrap;
}
#lpRoot .hero-powered-stats li strong {
  display: flex !important; align-items: baseline; justify-content: center;
  gap: 4px; white-space: nowrap;
}
#lpRoot .hero-powered-stats li strong .unit { margin-left: 0 !important; }
#lpRoot .hero-powered-stats li.is-live strong { align-items: center; }
#lpRoot .hero-powered-live-dot { margin-right: 0 !important; }
#lpRoot .hero-powered-stats li { padding: 0 14px; }

/* v13c: how-it-works step badge, beat the earlier padding + colour overrides */
#lpRoot .fn-loop--five .fn-loop-step { padding: 30px 26px 32px !important; overflow: visible !important; }
#lpRoot .fn-loop--five .fn-loop-step b,
#lpRoot .fn-loop--five .fn-loop-step h4,
#lpRoot .fn-loop--five .fn-loop-step p { padding-left: 0 !important; padding-right: 0 !important; }
#lpRoot .fn-loop--five .fn-loop-step b {
  color: #FFFFFF !important;
  letter-spacing: 0.02em !important;
  text-transform: none !important;
  font-size: 19px !important;
}
#lpRoot .fn-loop--five .fn-loop-step::before,
#lpRoot .fn-loop--five .fn-loop-step::after { content: none !important; }

/* v13d: force the step badge chip */
#lpRoot .fn-loop--five .fn-loop-step b {
  background: linear-gradient(135deg, #006EFF, #2E8CFF) !important;
  background-color: #006EFF !important;
  border-radius: 13px !important;
  width: 48px !important; height: 48px !important;
  min-width: 48px !important;
  display: inline-flex !important;
  align-items: center !important; justify-content: center !important;
  line-height: 1 !important;
  box-shadow: 0 10px 24px rgba(0,110,255,0.34) !important;
  margin: 0 0 18px !important;
  overflow: visible !important;
  -webkit-text-fill-color: #fff !important;
}

/* v13e: closing fold facts, one divided strip instead of four blank squares */
#lpRoot .fn-closefacts {
  display: flex !important; flex-wrap: wrap; justify-content: center;
  gap: 0 !important; max-width: 1000px; margin: 40px auto 34px !important;
  background: rgba(255,255,255,0.055);
  border: 1px solid rgba(150,195,255,0.22);
  border-radius: 20px; overflow: hidden;
  backdrop-filter: blur(10px);
}
#lpRoot .fn-closefact {
  flex: 1 1 0; min-width: 180px;
  display: flex !important; flex-direction: column; align-items: center !important;
  gap: 8px; padding: 30px 22px !important;
  background: transparent !important; border: 0 !important;
  border-left: 1px solid rgba(150,195,255,0.18) !important;
  border-radius: 0 !important; text-align: center !important;
}
#lpRoot .fn-closefact:first-child { border-left: 0 !important; }
#lpRoot .fn-closefact .lp-ico { color: var(--cf) !important; }
#lpRoot .fn-closefact b { font-size: 46px !important; color: var(--cf) !important; }
#lpRoot .fn-closefact span { font-size: 16px !important; color: rgba(255,255,255,0.82) !important; }
#lpRoot .fn-close-tuition { font-size: 17px !important; color: rgba(255,255,255,0.82) !important; }
@media (max-width: 760px) {
  #lpRoot .fn-closefact { flex: 0 0 50%; min-width: 0; }
  #lpRoot .fn-closefact:nth-child(3) { border-left: 0 !important; }
  #lpRoot .fn-closefact:nth-child(n+3) { border-top: 1px solid rgba(150,195,255,0.18) !important; }
}

/* v13f: pricing list header bar, navy so the white type reads */
#lpRoot .fn-stack-head {
  display: flex !important; align-items: center; justify-content: space-between;
  gap: 16px; padding: 22px 28px !important;
  background: linear-gradient(135deg, #071A3A 0%, #0A2450 100%) !important;
  border-radius: 20px 20px 0 0 !important;
}
#lpRoot .fn-stack-head span {
  display: inline-block !important; white-space: nowrap;
  color: rgba(255,255,255,0.74) !important;
}
#lpRoot .fn-pricecard-list li { align-items: flex-start; }

/* v14: kill the leftover numbered kickers and ghost numerals */
#lpRoot .lp-numbered::before,
#lpRoot .lp-numbered::after,
#lpRoot [data-lp-num]::before,
#lpRoot [data-lp-num]::after,
#lpRoot [data-lp-kicker]::before,
#lpRoot [data-lp-kicker]::after { content: none !important; display: none !important; }

/* v14b: admissions link, no orphaned arrow */
#lpRoot .fn-pricecard-sec { display: block !important; text-align: center; line-height: 1.5 !important; }

/* v16: one type system, no serif anywhere, larger reading sizes, mobile carousels */
html #lpRoot *,
html #lpRoot *::before,
html #lpRoot *::after {
  font-family: 'Codec Pro', 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif !important;
}
html #lpRoot em,
html #lpRoot .pdp-hero em,
html #lpRoot i { font-style: normal !important; }

/* reading sizes */
html #lpRoot .pdp-hero-lede,
html #lpRoot .pdp-hero p { font-size: 19px !important; line-height: 1.55 !important; }
html #lpRoot .pdp-hero-chips span,
html #lpRoot .pdp-hero-chip { font-size: 15px !important; }
html #lpRoot .lp-lrow p,
html #lpRoot .lp-lrow-copy p { font-size: 18px !important; line-height: 1.6 !important; }
html #lpRoot .fn-stack-item p,
html #lpRoot .fn-stack-item .fn-stack-sub { font-size: 16.5px !important; line-height: 1.55 !important; }
html #lpRoot .fn-pricecard-list li,
html #lpRoot .fn-pricecard-sub { font-size: 16.5px !important; }
html #lpRoot .quote-card p { font-size: 18px !important; line-height: 1.6 !important; color: #EAF3FF !important; }
html #lpRoot .quote-card .quote-src,
html #lpRoot .quote-card small { font-size: 15px !important; color: rgba(226,240,255,0.78) !important; }
html #lpRoot .faq-q { font-size: 19px !important; }
html #lpRoot .instructor-card p { font-size: 16px !important; line-height: 1.55 !important; }

/* hero uses the full canvas */
@media (min-width: 1100px) {
  html #lpRoot .pdp-hero-in,
  html #lpRoot .pdp-hero .fn-container { max-width: 1320px !important; }
  html #lpRoot .pdp-hero-copy { max-width: 720px !important; }
  html #lpRoot .pdp-hero h1 { font-size: clamp(58px, 5.2vw, 84px) !important; line-height: 1.03 !important; }
}
/* drop the duplicate wordmark in the hero, the nav already carries it */
html #lpRoot .hero-wordmark,
html #lpRoot .hero-wordmark-img { display: none !important; }

/* mobile carousels for testimonials and faculty */
@media (max-width: 760px) {
  html #lpRoot .testimonials-grid,
  html #lpRoot .instructors-grid {
    display: grid !important;
    grid-auto-flow: column !important;
    grid-auto-columns: 82% !important;
    grid-template-columns: none !important;
    overflow-x: auto !important;
    scroll-snap-type: x mandatory;
    gap: 14px !important;
    padding: 4px 16px 18px !important;
    margin-inline: -16px !important;
    scrollbar-width: none;
  }
  html #lpRoot .testimonials-grid::-webkit-scrollbar,
  html #lpRoot .instructors-grid::-webkit-scrollbar { display: none; }
  html #lpRoot .testimonials-grid > *,
  html #lpRoot .instructors-grid > * { scroll-snap-align: center; }
}

/* v18: mobile fixes */
@media (max-width: 760px) {
  /* pricing rows stack, no narrow squeezed column */
  html #lpRoot .fn-stack-row {
    display: block !important; padding: 22px 20px !important;
  }
  html #lpRoot .fn-stack-txt { display: block !important; width: 100% !important; }
  html #lpRoot .fn-stack-txt b, html #lpRoot .fn-stack-txt strong { font-size: 18px !important; display: block; margin-bottom: 6px; }
  html #lpRoot .fn-stack-txt p, html #lpRoot .fn-stack-txt span { font-size: 16.5px !important; line-height: 1.55 !important; }
  html #lpRoot .fn-stack-val {
    display: inline-block !important; margin-top: 12px !important; width: auto !important;
    text-align: left !important;
  }
  /* sticky bar must never sit on content */
  html #lpRoot { padding-bottom: 108px !important; }
  /* hero photo readable, lighter scrim */
  html #lpRoot .pdp-hero-scrim, html #lpRoot .pdp-cine-scrim {
    background: linear-gradient(180deg, rgba(4,10,24,0.55) 0%, rgba(4,10,24,0.72) 55%, rgba(4,10,24,0.92) 100%) !important;
  }
  html #lpRoot .pdp-cine-img { opacity: 1 !important; filter: none !important; }
  /* tiny caps label out */
  html #lpRoot .pdp-press-label { font-size: 15px !important; letter-spacing: 0 !important; text-transform: none !important; }
}

/* v18b: microtrust inside the white price card was white on white */
html #lpRoot .fn-pricecard .fn-microtrust,
html #lpRoot .fn-pricecard .fn-microtrust span,
html #lpRoot .fn-pricecard .fn-microtrust svg {
  color: #16324F !important; -webkit-text-fill-color: #16324F !important; opacity: 1 !important;
}
html #lpRoot .fn-pricecard .fn-microtrust { font-size: 15px !important; gap: 18px !important; }

/* 2026-08-10 fix: remove top-floating enroll strip everywhere; keep buybar CTA on one line */
.lla-float-cta,#llaFloatCta{display:none !important}
.fn-buybar .fn-btn{white-space:nowrap}
.fn-buybar-txt > span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;max-width:340px}
.fn-buybar-in{padding:10px 24px}
