:root {
  /* Primitive brand tokens */
  --ci-primary-navy: #0f172a;
  --ci-secondary-navy: #1e293b;
  --ci-brand-gold: #d4af37;
  --ci-gold-dark: #927016;
  --ci-paper: #f8fafc;
  --ci-soft-gray: #e2e8f0;
  --ci-muted-text: #64748b;
  --ci-success: #16a34a;
  --ci-risk: #dc2626;

  /* Semantic tokens */
  --color-page: var(--ci-primary-navy);
  --color-section: var(--ci-secondary-navy);
  --color-surface: var(--ci-secondary-navy);
  --color-surface-raised: #243247;
  --color-text: var(--ci-paper);
  --color-text-muted: #94a3b8;
  --color-text-muted-light: var(--ci-muted-text);
  --color-accent: var(--ci-brand-gold);
  --color-accent-on-light: var(--ci-gold-dark);
  --color-border: rgb(226 232 240 / .16);
  --color-border-strong: rgb(226 232 240 / .28);
  --color-border-accent: rgb(212 175 55 / .42);
  --color-success: var(--ci-success);
  --color-risk: var(--ci-risk);

  /* Component tokens + backwards-compatible aliases */
  --bg: var(--color-page);
  --bg-2: var(--color-section);
  --panel: var(--color-surface);
  --gold: var(--color-accent);
  --gold-2: var(--color-accent);
  --blue: var(--color-accent-on-light);
  --cyan: var(--color-accent);
  --text: var(--color-text);
  --muted: var(--color-text-muted);
  --line: var(--color-border);
  --line-gold: var(--color-border-accent);
  --button-bg: var(--color-accent);
  --button-fg: var(--ci-primary-navy);
  --button-border: var(--color-border-accent);
  --card-bg: var(--color-surface);
  --card-border: var(--color-border);
  --focus-ring: #f6d975;
}

* { box-sizing: border-box; }
html { overflow-x: clip; scroll-behavior: smooth; scroll-padding-top: 86px; }
body {
  margin: 0;
  overflow-x: clip;
  color: var(--text);
  background: var(--bg);
  font-family: "Prompt", "Inter", system-ui, sans-serif;
}
body.menu-open { overflow: hidden; }
img { display: block; width: 100%; height: auto; }
a { color: inherit; }

.container {
  width: min(1160px, calc(100% - 40px));
  margin: 0 auto;
}

.nav {
  position: sticky;
  top: 0;
  z-index: 20;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  min-height: 76px;
  padding: 0 max(20px, calc((100vw - 1160px) / 2));
  border-bottom: 1px solid rgba(132, 166, 197, .14);
  background: rgba(5, 5, 5, .9);
  backdrop-filter: blur(16px);
}

.brand {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  text-decoration: none;
}

.brand-mark {
  display: grid;
  width: 39px;
  height: 39px;
  place-items: center;
  color: var(--gold-2);
  border: 1px solid var(--line-gold);
  border-radius: 6px;
  font-family: Georgia, serif;
  font-weight: 800;
}

.brand strong {
  display: block;
  font-family: Georgia, serif;
  font-size: .92rem;
  letter-spacing: .08em;
}
.brand strong span { color: var(--gold); }
.brand small {
  display: block;
  margin-top: 2px;
  color: #718497;
  font-size: .55rem;
  letter-spacing: .08em;
}

.desktop-links {
  display: flex;
  align-items: center;
  gap: 28px;
}

.desktop-links a {
  color: #aab8c5;
  font-size: .82rem;
  font-weight: 600;
  text-decoration: none;
}

.desktop-links a:hover { color: var(--gold-2); }

.menu-btn {
  display: none;
  width: 44px;
  height: 44px;
  color: var(--text);
  border: 1px solid var(--line);
  border-radius: 8px;
  background: transparent;
  font-size: 1.25rem;
}

.mobile-links {
  position: fixed;
  inset: 76px 14px auto;
  z-index: 19;
  display: none;
  padding: 12px;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: #07121e;
  box-shadow: 0 30px 80px rgba(0,0,0,.45);
}
.mobile-links.open { display: grid; }
.mobile-links a {
  padding: 14px;
  border-bottom: 1px solid rgba(132,166,197,.12);
  color: #dce7ef;
  text-decoration: none;
}
.mobile-links a:last-child { border-bottom: 0; color: var(--gold-2); }

.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 50px;
  padding: 13px 22px;
  border: 1px solid transparent;
  border-radius: 13px;
  font-weight: 800;
  text-align: center;
  text-decoration: none;
  gap: 16px;
  transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease, background .2s ease;
}
.btn-gold {
  color: #06111d;
  background: linear-gradient(135deg, var(--gold-2), #d7a72f);
  box-shadow: 0 14px 36px rgba(226,184,63,.18);
}
.btn-line {
  color: var(--gold-2);
  border-color: var(--line-gold);
  background: rgba(226,184,63,.06);
}
.btn-outline {
  color: var(--text);
  border-color: var(--line-gold);
  background: rgba(255,255,255,.02);
}
.btn:hover { transform: translateY(-2px); box-shadow: 0 18px 44px rgba(226,184,63,.24); }
.btn:focus-visible, .menu-btn:focus-visible, .text-btn:focus-visible, .answer-list button:focus-visible, .faq-list summary:focus-visible { outline: 3px solid #ffe49b; outline-offset: 3px; }

.hero {
  min-height: calc(100vh - 76px);
  padding: 72px 0 54px;
  background:
    radial-gradient(circle at 76% 28%, rgba(226,184,63,.10), transparent 30%),
    radial-gradient(circle at 18% 12%, rgba(226,184,63,.10), transparent 28%),
    var(--bg);
}

.hero-inner {
  display: grid;
  grid-template-columns: .92fr 1.08fr;
  align-items: center;
  gap: 58px;
}

.eyebrow {
  margin: 0 0 14px;
  color: var(--gold);
  font-size: .72rem;
  font-weight: 800;
  letter-spacing: .14em;
  text-transform: uppercase;
}

h1, h2, h3, p { margin-top: 0; }
h1 {
  max-width: 680px;
  margin-bottom: 22px;
  color: #fffaf0;
  font-size: clamp(2.7rem, 5.6vw, 5rem);
  line-height: 1.08;
}
h1 em, h2 em { color: var(--gold-2); font-style: normal; }
h2 {
  margin-bottom: 18px;
  color: #fffaf0;
  font-size: clamp(2rem, 4.2vw, 3.8rem);
  line-height: 1.15;
}
h3 { color: #f6f1e8; }

.lead, .band p {
  color: var(--muted);
  font-size: 1rem;
  line-height: 1.85;
}
.lead.small { font-size: .92rem; }

.actions {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
  margin-top: 30px;
}

.trust-row {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
  margin-top: 24px;
  color: #b7c3ce;
  font-size: .82rem;
}
.trust-statement { display: flex; align-items: center; gap: 42px; margin-top: 64px; padding-top: 26px; border-top: 1px solid var(--line); }
.trust-statement span { color: var(--gold-2); font-size: .65rem; font-weight: 800; letter-spacing: .15em; white-space: nowrap; }
.trust-statement p { margin: 0; color: #888; line-height: 1.7; }.trust-statement strong { color: #eee; font-weight: 500; }

.hero-media {
  position: relative;
  min-height: 520px;
  overflow: hidden;
  border: 1px solid rgba(226,184,63,.25);
  border-radius: 20px;
  box-shadow: 0 35px 100px rgba(0,0,0,.45);
}
.hero-media img {
  height: 100%;
  min-height: 520px;
  object-fit: cover;
}
.hero-media::after {
  position: absolute;
  inset: 0;
  content: "";
  background: linear-gradient(90deg, rgba(5,11,19,.75), transparent 55%),
              linear-gradient(0deg, rgba(5,11,19,.55), transparent 40%);
}

.media-badge {
  position: absolute;
  z-index: 2;
  padding: 11px 14px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: rgba(7,7,7,.88);
  color: var(--gold-2);
  font-size: .82rem;
  font-weight: 800;
}
.media-badge.top { top: 22px; left: 22px; }
.media-badge.bottom { right: 22px; bottom: 22px; color: var(--cyan); }

.band { padding: 92px 0; }
.problem, .program, .faq { background: var(--bg-2); }
.split, .program-grid, .faq-grid, .cta-inner {
  display: grid;
  grid-template-columns: 1fr 1fr;
  align-items: center;
  gap: 64px;
}

.pain-list {
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: 14px;
  background: var(--panel);
}
.pain-list p {
  display: grid;
  grid-template-columns: 48px 1fr;
  gap: 14px;
  align-items: center;
  margin: 0;
  padding: 18px 20px;
  border-bottom: 1px solid rgba(132,166,197,.14);
}
.pain-list p:last-child { border-bottom: 0; }
.pain-list p > span:first-child {
  color: var(--gold-2);
  font-family: ui-monospace, SFMono-Regular, Consolas, monospace;
  font-weight: 800;
}
.pain-copy { display: grid; gap: 7px; }
.pain-copy strong { color: #d8d3c9; font-size: .95rem; font-weight: 500; line-height: 1.5; }
.pain-copy small { color: #777; font-size: .75rem; line-height: 1.65; }
.pain-copy small b { color: var(--gold-2); font-weight: 700; }

.cards {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 14px;
  margin-top: 36px;
}
.cards article {
  min-height: 225px;
  padding: 24px;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: linear-gradient(145deg, #121212, #090909);
}
.cards span {
  color: var(--gold);
  font-family: ui-monospace, SFMono-Regular, Consolas, monospace;
  font-weight: 800;
}
.cards h3 { margin: 54px 0 10px; }
.cards p { font-size: .82rem; }

.photo-frame {
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: 16px;
  box-shadow: 0 35px 100px rgba(0,0,0,.35);
}
.photo-frame img {
  aspect-ratio: 4 / 3;
  object-fit: cover;
}

.tmc-photo-gallery {
  position: relative;
  isolation: isolate;
  background: var(--ci-primary-navy);
}

.tmc-photo-track {
  display: flex;
  width: 800%;
  will-change: transform;
  animation: tmc-photo-scroll 120s linear infinite;
}

.tmc-photo-track img {
  width: 12.5%;
  min-width: 0;
  flex: 0 0 12.5%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  object-position: center;
}

.tmc-photo-gallery:hover .tmc-photo-track,
.tmc-photo-gallery:focus .tmc-photo-track,
.tmc-photo-gallery:focus-within .tmc-photo-track {
  animation-play-state: running;
}

.tmc-photo-gallery:focus-visible {
  outline: 3px solid var(--focus-ring);
  outline-offset: 4px;
}

@keyframes tmc-photo-scroll {
  to { transform: translateX(-50%); }
}

.check-list {
  display: grid;
  gap: 12px;
  margin: 26px 0 0;
  padding: 0;
  list-style: none;
}

.program-title {
  max-width: 620px;
  margin-bottom: 22px;
  font-size: clamp(2.35rem, 3.4vw, 3.1rem);
  line-height: 1.14;
  letter-spacing: -.035em;
  text-wrap: balance;
}

.program-title em {
  display: inline-block;
  color: var(--color-accent);
  font-style: normal;
}

.program-title-line {
  display: inline-block;
  white-space: nowrap;
}
.check-list li {
  color: #d6e0e8;
  font-size: .92rem;
  line-height: 1.65;
}
.check-list li::before {
  content: "✓";
  margin-right: 10px;
  color: var(--gold-2);
  font-weight: 800;
}

.pricing-header {
  max-width: 780px;
  margin: 70px 0 28px;
}
.offer-tag { color: var(--gold-2); font-weight: 800; }
.tool-pricing {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 18px;
}
.tool-card {
  display: grid;
  gap: 24px;
  padding: 28px;
  border: 1px solid var(--line-gold);
  border-radius: 16px;
  background: radial-gradient(circle at 88% 0, rgba(226,184,63,.14), transparent 34%),
              linear-gradient(135deg, #14120d, #0b0b0b);
  box-shadow: 0 35px 100px rgba(0,0,0,.34);
}
.tool-card-head h3 {
  margin: 8px 0 12px;
  color: #fffaf0;
  font-size: clamp(1.7rem, 3vw, 2.55rem);
  line-height: 1.1;
}
.tool-card-head p:last-child {
  margin-bottom: 0;
}
.plan-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
}
.plan-card {
  min-height: 178px;
  padding: 18px;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: rgba(5, 11, 19, .34);
}
.plan-card.recommended {
  border-color: var(--line-gold);
  background: rgba(226, 184, 63, .08);
}
.plan-card span {
  display: inline-flex;
  margin-bottom: 14px;
  padding: 5px 9px;
  color: #06111d;
  border-radius: 999px;
  background: var(--gold-2);
  font-size: .7rem;
  font-weight: 800;
}
.plan-card small {
  display: block;
  color: #aebdca;
  font-size: .78rem;
}
.plan-card strong {
  display: block;
  margin: 6px 0 10px;
  color: var(--gold-2);
  font-size: 2.65rem;
  line-height: 1;
}
.plan-card p {
  margin: 0 0 4px;
  color: #c9d5df;
  font-size: .82rem;
  line-height: 1.45;
}
.pricing-note {
  display: grid;
  grid-template-columns: auto 1fr;
  align-items: center;
  gap: 18px;
  margin-top: 18px;
}
.note {
  margin: 0;
  color: #71879a;
  font-size: .75rem;
  line-height: 1.65;
}

.proof {
  overflow: hidden;
  padding-bottom: 0;
  background:
    radial-gradient(circle at 50% 18%, rgba(226,184,63,.08), transparent 30%),
    linear-gradient(180deg,#070707,#040404);
}
.review-heading { max-width: 880px; text-align: center; }
.review-heading .eyebrow { justify-content: center; }
.review-marquee-wrap {
  position: relative;
  display: grid;
  gap: 14px;
  width: 100%;
  margin-top: 40px;
  padding: 0 0 34px;
  border-top: 1px solid rgba(232,189,92,.2);
  border-bottom: 1px solid rgba(232,189,92,.2);
  background: linear-gradient(180deg,rgba(255,255,255,.02),rgba(255,255,255,.006));
}
.review-feed-topbar {
  display: flex;
  width: min(1160px,calc(100% - 40px));
  min-height: 52px;
  margin: 0 auto;
  align-items: center;
  justify-content: space-between;
  color: #777;
  font-family: ui-monospace, SFMono-Regular, Consolas, monospace;
  font-size: .66rem;
  letter-spacing: .12em;
}
.review-feed-topbar > div { display: flex; align-items: center; gap: 10px; }
.review-feed-topbar strong { color: #d7d1c4; }
.feed-live-dot { width: 7px; height: 7px; border-radius: 50%; background: var(--gold-2); box-shadow: 0 0 12px rgba(245,196,81,.7); }
.review-feed-topbar small { color: #62583e; }
.testimonial-marquee { overflow: hidden; padding: 2px 0; }
.testimonial-track { display: flex; width: max-content; gap: 12px; will-change: transform; }
.testimonial-forward .testimonial-track { animation: testimonial-scroll-left 180s linear infinite; }
.testimonial-reverse .testimonial-track { animation: testimonial-scroll-right 180s linear infinite; }
.testimonial-marquee:hover .testimonial-track { animation-play-state: running; }
.testimonial-card {
  display: flex;
  width: 380px;
  height: 250px;
  padding: 20px;
  flex: 0 0 auto;
  flex-direction: column;
  gap: 15px;
  color: #eee9dc;
  border: 1px solid rgba(255,255,255,.13);
  border-radius: 17px;
  background:
    radial-gradient(circle at 92% 8%,rgba(226,184,63,.10),transparent 30%),
    linear-gradient(145deg,#151515,#0c0c0c);
  box-shadow: 0 18px 50px rgba(0,0,0,.34);
  text-align: left;
  cursor: pointer;
  transition: transform .2s ease,border-color .2s ease,box-shadow .2s ease;
}
.testimonial-card:hover { transform: translateY(-3px); border-color: var(--line-gold); box-shadow: 0 20px 60px rgba(226,184,63,.12); }
.testimonial-card:focus-visible { outline: 3px solid #ffe49b; outline-offset: 3px; }
.testimonial-card-head { display: grid; grid-template-columns: 38px 1fr 22px; gap: 10px; align-items: center; }
.testimonial-avatar-photo { width: 40px; height: 40px; overflow: hidden; border: 1px solid rgba(232,189,92,.3); border-radius: 50%; background-repeat: no-repeat; background-position: -8px -8px; filter: blur(1.1px); opacity: .82; transform: scale(1.03); }
.testimonial-card-head strong,.testimonial-card-head small { display: block; }
.testimonial-card-head strong { font-size: .84rem; }
.testimonial-card-head small { margin-top: 2px; color: #676767; font-size: .63rem; }
.testimonial-private-name { width: max-content; max-width: 180px; color: #d7d2c8; filter: blur(1.35px); opacity: .72; user-select: none; }
.testimonial-private-handle { width: max-content; filter: blur(.75px); opacity: .7; user-select: none; }
.testimonial-card-head i { color: #655633; font-style: normal; }
.testimonial-body { display: block; overflow: hidden; color: #aaa; font-size: .79rem; line-height: 1.55; }
.testimonial-card-foot { display: flex; margin-top: auto; padding-top: 12px; align-items: center; justify-content: space-between; border-top: 1px solid #292929; }
.testimonial-card-foot b { color: var(--gold-2); font-size: .68rem; font-weight: 700; }
.testimonial-card-foot small { color: #606060; font-size: .6rem; }
.review-marquee { display: none; }
.review-marquee-wrap::before,.review-marquee-wrap::after { z-index: 4; }

@keyframes testimonial-scroll-left {
  from { transform: translateX(0); }
  to { transform: translateX(calc(-50% - 6px)); }
}
@keyframes testimonial-scroll-right {
  from { transform: translateX(calc(-50% - 6px)); }
  to { transform: translateX(0); }
}
.review-marquee {
  padding: 2px 0;
}
.review-marquee-wrap::before,
.review-marquee-wrap::after {
  position: absolute;
  top: 0;
  bottom: 0;
  z-index: 2;
  width: min(120px, 14vw);
  content: "";
  pointer-events: none;
}
.review-marquee-wrap::before {
  left: 0;
  background: linear-gradient(90deg, var(--bg), transparent);
}
.review-marquee-wrap::after {
  right: 0;
  background: linear-gradient(270deg, var(--bg), transparent);
}
.review-marquee {
  overflow: hidden;
}
.review-track {
  display: flex;
  width: max-content;
  gap: 12px;
  will-change: transform;
}
.marquee-left {
  transform: translateX(-42px);
}
.review-shot {
  position: relative;
  display: block;
  flex: 0 0 auto;
  margin: 0;
  padding: 6px;
  border: 1px solid rgba(255,255,255,.13);
  border-radius: 16px;
  background: linear-gradient(145deg,#171717,#0d0d0d);
  box-shadow: 0 18px 50px rgba(0,0,0,.38);
  cursor: zoom-in;
  overflow: hidden;
  appearance: none;
  transition: border-color .2s ease, transform .2s ease;
}
.review-shot:hover {
  border-color: var(--line-gold);
  transform: translateY(-3px) scale(1.012);
  box-shadow: 0 20px 60px rgba(226,184,63,.12);
}
.review-shot:focus-visible {
  outline: 3px solid var(--cyan);
  outline-offset: 4px;
}
.review-shot img,
.review-track > img {
  display: block;
  width: auto;
  height: clamp(175px, 18vw, 255px);
  max-width: none;
  object-fit: contain;
  border-radius: 11px;
}
.privacy-mask {
  position: absolute;
  top: 3%;
  left: 2%;
  width: min(260px, 34%);
  height: 18%;
  border-radius: 10px;
  background: rgba(9, 18, 30, .20);
  backdrop-filter: blur(7px);
  -webkit-backdrop-filter: blur(7px);
  pointer-events: none;
}
.marquee-right .review-track {
  animation: review-scroll-right 116s linear infinite;
}
.marquee-left .review-track {
  animation: review-scroll-left 116s linear infinite;
}
.review-marquee:hover .review-track {
  animation-play-state: paused;
}
.review-community-note {
  display: grid;
  grid-template-columns: 46px 1fr auto;
  gap: 18px;
  width: min(1160px,calc(100% - 40px));
  min-height: 110px;
  margin: 10px auto 0;
  padding: 22px 24px;
  align-items: center;
  border: 1px solid rgba(232,189,92,.28);
  border-radius: 16px;
  background: radial-gradient(circle at 85% 20%,rgba(226,184,63,.10),transparent 30%),#101010;
  box-shadow: 0 24px 70px rgba(0,0,0,.4);
}
.review-community-note .brand-mark { width: 42px; height: 42px; }
.review-community-note small { color: var(--gold-2); font-size: .62rem; font-weight: 800; letter-spacing: .13em; }
.review-community-note p { margin: 5px 0 0; color: #aaa; font-size: 1rem; line-height: 1.65; }
.review-community-note strong { color: #f3eee2; }
.note-status { color: #6e634a; font-family: ui-monospace, SFMono-Regular, Consolas, monospace; font-size: .63rem; font-weight: 800; letter-spacing: .1em; white-space: nowrap; }

@keyframes review-scroll-left {
  from { transform: translateX(0); }
  to { transform: translateX(calc(-50% - 8px)); }
}

@keyframes review-scroll-right {
  from { transform: translateX(calc(-50% - 8px)); }
  to { transform: translateX(0); }
}

.image-lightbox {
  position: fixed;
  inset: 0;
  z-index: 100;
  display: none;
  align-items: center;
  justify-content: center;
  padding: 24px;
  background: rgba(2, 7, 12, .88);
  backdrop-filter: blur(12px);
}
.image-lightbox.open {
  display: flex;
}
.lightbox-frame {
  position: relative;
  width: fit-content;
  max-width: min(94vw, 1100px);
  max-height: 88vh;
}
.lightbox-image {
  width: auto;
  max-width: 100%;
  max-height: 88vh;
  object-fit: contain;
  border: 1px solid var(--line-gold);
  border-radius: 12px;
  background: #101822;
  box-shadow: 0 35px 110px rgba(0,0,0,.55);
}
.lightbox-mask {
  top: 3%;
  left: 2%;
  width: min(320px, 34%);
  height: 15%;
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
}
.lightbox-close {
  position: fixed;
  top: 18px;
  right: 18px;
  display: grid;
  width: 46px;
  height: 46px;
  place-items: center;
  color: var(--text);
  border: 1px solid var(--line);
  border-radius: 999px;
  background: rgba(8, 19, 31, .86);
  cursor: pointer;
  font-size: 1.8rem;
  line-height: 1;
}
body.lightbox-open {
  overflow: hidden;
}

.tmc-difference {
  background:
    radial-gradient(circle at 88% 12%, rgba(226,184,63,.10), transparent 32%),
    radial-gradient(circle at 10% 88%, rgba(226,184,63,.05), transparent 26%),
    #060606;
}
.difference-heading { max-width: 820px; margin: 0 auto 42px; text-align: center; }
.difference-table {
  overflow: hidden;
  border: 1px solid rgba(232,189,92,.38);
  border-radius: 22px;
  background: rgba(9,9,9,.88);
  box-shadow: 0 32px 100px rgba(0,0,0,.45);
}
.difference-row {
  display: grid;
  grid-template-columns: .72fr 1.08fr 1.08fr;
  border-bottom: 1px solid var(--line);
}
.difference-row > div { min-height: 76px; padding: 18px 24px; }
.difference-row > div + div { border-left: 1px solid var(--line); }
.difference-head > div { min-height: 105px; }
.difference-topic { display: flex; flex-direction: column; justify-content: center; color: #989898; font-size: .85rem; font-weight: 600; }
.difference-topic small, .difference-basic small, .difference-tmc small { display: block; margin-bottom: 5px; color: #6e6e6e; font-size: .62rem; font-weight: 800; letter-spacing: .13em; text-transform: uppercase; }
.difference-basic, .difference-tmc { position: relative; display: grid; grid-template-columns: 30px 1fr; align-content: center; column-gap: 12px; }
.difference-basic { color: #767676; background: #0c0c0c; }
.difference-tmc { color: #f2eee4; background: linear-gradient(90deg,rgba(226,184,63,.07),rgba(226,184,63,.025)); }
.difference-basic > span, .difference-tmc > span { color: #5e6368; font-size: 1.15rem; }
.difference-tmc > span { color: var(--gold-2); }
.difference-basic p, .difference-tmc p { margin: 0; align-self: center; color: inherit; font-size: .9rem; line-height: 1.5; }
.difference-head small, .difference-head strong { grid-column: 2; }
.compare-icon { grid-row: 1 / 3; align-self: center; display: grid; width: 34px; height: 34px; place-items: center; border: 1px solid #34383b; border-radius: 10px; }
.compare-icon.check { color: var(--gold-2); border-color: rgba(232,189,92,.5); background: rgba(226,184,63,.08); }
.difference-footer { display: grid; grid-template-columns: .72fr 2.16fr; align-items: center; min-height: 62px; padding: 0 24px; color: #5e5e5e; font-size: .62rem; font-weight: 800; letter-spacing: .12em; }
.difference-footer strong { color: var(--gold-2); text-align: center; }
.difference-action { margin-top: 30px; text-align: center; }

.faq-list details {
  border-bottom: 1px solid var(--line);
}
.faq-list summary {
  display: grid;
  grid-template-columns: 38px 1fr 24px;
  align-items: center;
  min-height: 74px;
  padding: 18px 0;
  color: #eef5fa;
  cursor: pointer;
  font-weight: 700;
  list-style: none;
}
.faq-list summary::-webkit-details-marker { display: none; }
.faq-list summary span { color: #7c6839; font-family: ui-monospace, monospace; font-size: .72rem; }
.faq-list summary i { color: var(--gold-2); font-size: 1.35rem; transition: transform .2s ease; }
.faq-list details[open] summary i { transform: rotate(45deg); }
.faq-list p {
  margin: 0 0 24px 38px;
  font-size: .9rem;
}

.assessment {
  position: relative;
  background: radial-gradient(circle at 50% 8%, rgba(226,184,63,.12), transparent 28%), #050505;
}
.assessment-heading { max-width: 850px; margin: 0 auto 42px; text-align: center; }
.quiz-shell {
  max-width: 920px;
  min-height: 520px;
  margin: 0 auto;
  overflow: hidden;
  border: 1px solid rgba(232,189,92,.26);
  border-radius: 24px;
  background: rgba(11,11,11,.96);
  box-shadow: 0 35px 110px rgba(0,0,0,.55);
}
.quiz-intro {
  display: flex;
  min-height: 520px;
  padding: 48px;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
}
.quiz-intro > strong { color: var(--gold-2); font-family: Georgia, serif; font-size: 5.5rem; line-height: 1; }
.quiz-intro h3 { margin: 18px 0 10px; font-size: 1.9rem; }
.quiz-intro > p { max-width: 590px; color: var(--muted); line-height: 1.8; }
.saved-result-actions { margin-top: 16px; }
.saved-result-actions .btn, .saved-result-actions .text-btn { margin: 5px; }
.question-panel, .result-panel { padding: 40px 48px 46px; }
.progress-head { display: flex; justify-content: space-between; gap: 20px; color: #777; font-size: .78rem; }
.progress-head > span { color: var(--gold-2); }
.progress-track { height: 3px; margin-top: 12px; background: #2b2b2b; }
.progress-track i { display: block; width: 2.5%; height: 100%; background: linear-gradient(90deg,#a67927,var(--gold-2)); transition: width .3s ease; }
.question-kicker { margin: 44px 0 12px; color: #6f6f6f !important; font-size: .66rem !important; font-weight: 800; letter-spacing: .14em; }
.question-panel > h3 { min-height: 78px; margin-bottom: 28px; font-size: 1.65rem; line-height: 1.5; }
.answer-list { display: grid; gap: 10px; }
.answer-list button {
  display: grid;
  grid-template-columns: 34px 1fr 22px;
  align-items: center;
  min-height: 60px;
  padding: 10px 15px;
  color: #aaa;
  border: 1px solid #2b2b2b;
  border-radius: 12px;
  background: #111;
  text-align: left;
  cursor: pointer;
  transition: border-color .2s, background .2s, color .2s;
}
.answer-list button > span { display: grid; width: 27px; height: 27px; place-items: center; border: 1px solid #494949; border-radius: 7px; font-size: .75rem; }
.answer-list button b { font-weight: 500; }
.answer-list button i { opacity: 0; }
.answer-list button:hover { color: #fff; border-color: #806a39; background: #15130f; }
.answer-list button.selected { color: #171208; border-color: var(--gold-2); background: linear-gradient(120deg,#c99839,var(--gold-2)); }
.answer-list button.selected i { opacity: 1; }
.quiz-actions, .result-actions { display: flex; align-items: center; justify-content: space-between; gap: 18px; margin-top: 30px; }
.text-btn { min-height: 44px; padding: 8px 10px; color: #999; border: 0; background: transparent; cursor: pointer; }
.text-btn:hover { color: #fff; }
.text-btn:disabled { opacity: .25; cursor: not-allowed; }
.quiz-next:disabled { opacity: .38; cursor: not-allowed; transform: none; box-shadow: none; }
.result-summary { display: flex; align-items: center; justify-content: space-between; gap: 30px; padding-bottom: 28px; border-bottom: 1px solid #292929; }
.result-summary p { margin: 0 0 5px; color: #777; font-size: .68rem; font-weight: 800; letter-spacing: .15em; }
.total-score { color: var(--gold-2); font-family: Georgia, serif; font-size: 4.6rem; line-height: 1; }
.total-score small { color: #777; font-family: "Prompt", sans-serif; font-size: 1rem; }
.grade-box { text-align: right; }
.grade-box > span { display: block; color: #777; font-size: .65rem; letter-spacing: .15em; }
.grade-box b { display: block; font-family: Georgia, serif; font-size: 4.4rem; line-height: 1; }
.grade-box small { color: var(--gold-2); }
.grade-description, .result-bridge { margin: 26px 0; color: var(--muted); line-height: 1.8; }
.category-bars { display: grid; grid-template-columns: 1fr 1fr; gap: 15px 25px; margin: 30px 0; }
.category-bars > div { display: grid; grid-template-columns: 1fr auto; gap: 6px; color: #999; font-size: .78rem; }
.category-bars b { color: #ddd; }
.category-bars i { grid-column: 1 / -1; height: 4px; background: #292929; }
.category-bars em { display: block; height: 100%; background: var(--gold-2); }
.weakest-panel { padding: 26px; border: 1px solid var(--line-gold); border-radius: 18px; background: #131008; }
.weakest-panel > p { margin: 0; color: #777; font-size: .85rem; }
.weakest-panel h3 { margin: 4px 0 18px; }
.recommendations article { display: flex; gap: 16px; padding: 14px 0; border-top: 1px solid #342b19; }
.recommendations article > span { color: var(--gold-2); font-family: ui-monospace, monospace; font-size: .75rem; }
.recommendations p { margin: 3px 0 0; color: #999; font-size: .88rem; }
.result-bridge strong { color: #fff; }
[hidden] { display: none !important; }

.final-cta {
  padding: 82px 0;
  border-top: 1px solid var(--line-gold);
  background: radial-gradient(circle at 18% 20%, rgba(226,184,63,.12), transparent 28%), #07121e;
}
.cta-inner { grid-template-columns: 1fr auto; }

footer {
  padding: 30px 0 92px;
  background: #03080e;
}
.footer-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
}
.footer-inner span {
  color: var(--gold-2);
  font-family: Georgia, serif;
  font-weight: 800;
}
.footer-inner p {
  margin: 0;
  color: #718497;
  font-size: .78rem;
}

.sticky-cta {
  position: fixed;
  right: 14px;
  bottom: 14px;
  z-index: 30;
  display: none;
  padding: 15px 18px;
  border-radius: 10px;
  color: #06111d;
  background: linear-gradient(135deg, var(--gold-2), #d7a72f);
  font-weight: 800;
  text-decoration: none;
  box-shadow: 0 18px 50px rgba(0,0,0,.45);
}

@media (max-width: 920px) {
  .desktop-links, .nav-cta { display: none; }
  .menu-btn { display: block; }
  .hero-inner, .split, .program-grid, .faq-grid, .cta-inner { grid-template-columns: 1fr; }
  .hero { padding-top: 48px; }
  .hero-media { min-height: 420px; }
  .hero-media img { min-height: 420px; }
  .cards { grid-template-columns: repeat(2, 1fr); }
  .tool-pricing { grid-template-columns: 1fr; }
  .pricing-note { grid-template-columns: 1fr; }
  .review-shot img,
  .review-track > img {
    height: clamp(155px, 30vw, 220px);
  }
}

@media (max-width: 620px) {
  html { scroll-padding-top: 70px; }
  .container { width: min(100% - 28px, 1160px); }
  .nav { min-height: 66px; padding-inline: 14px; }
  .brand small { display: none; }
  .mobile-links { top: 66px; }
  .hero { min-height: auto; padding: 42px 0; }
  h1 { font-size: clamp(2.35rem, 12vw, 3.45rem); }
  h2 { font-size: clamp(1.9rem, 10vw, 2.8rem); }
  .actions { grid-template-columns: 1fr; display: grid; }
  .actions .btn, .tool-card .btn, .pricing-note .btn, .cta-inner .btn { width: 100%; }
  .cards { grid-template-columns: 1fr; }
  .cards article { min-height: 190px; }
  .band { padding: 70px 0; }
  .hero-media { min-height: 330px; border-radius: 12px; }
  .hero-media img { min-height: 330px; }
  .media-badge { font-size: .72rem; }
  .pricing-header { margin-top: 48px; }
  .tool-card { padding: 22px; }
  .plan-grid { grid-template-columns: 1fr; }
  .plan-card { min-height: auto; }
  .review-marquee-wrap { gap: 14px; }
  .review-feed-topbar { width: calc(100% - 28px); min-height: 48px; }
  .review-feed-topbar small { display: none; }
  .review-track { gap: 10px; }
  .testimonial-track { gap: 10px; }
  .testimonial-card { width: 310px; height: 270px; padding: 18px; }
  .testimonial-forward .testimonial-track,.testimonial-reverse .testimonial-track { animation-duration: 180s; }
  .marquee-left { transform: translateX(-24px); }
  .review-shot img,
  .review-track > img {
    height: 190px;
    border-radius: 9px;
  }
  .privacy-mask {
    width: min(210px, 44%);
    height: 20%;
  }
  .review-community-note { grid-template-columns: 40px 1fr; width: calc(100% - 28px); padding: 18px; }
  .review-community-note .brand-mark { width: 36px; height: 36px; }
  .review-community-note p { font-size: .88rem; }
  .note-status { display: none; }
  .footer-inner { display: grid; text-align: center; justify-items: center; }
  .sticky-cta { display: block; left: 14px; text-align: center; }
  .trust-statement { display: block; margin-top: 44px; }.trust-statement p { margin-top: 10px; }
  .quiz-shell { min-height: 0; border-radius: 18px; }
  .quiz-intro { min-height: 480px; padding: 30px 20px; }
  .quiz-intro h3 { font-size: 1.55rem; }
  .question-panel, .result-panel { padding: 28px 18px; }
  .question-panel > h3 { min-height: 110px; font-size: 1.3rem; }
  .answer-list button { min-height: 64px; line-height: 1.4; }
  .quiz-actions .btn { padding-inline: 14px; }
  .result-summary { align-items: flex-end; }
  .total-score, .grade-box b { font-size: 3.4rem; }
  .category-bars { grid-template-columns: 1fr; }
  .result-actions { align-items: stretch; flex-direction: column; }
  .result-actions .btn { width: 100%; }
  .difference-table { overflow: visible; border: 0; border-radius: 0; background: transparent; box-shadow: none; }
  .difference-row { display: grid; grid-template-columns: 1fr 1fr; margin-bottom: 12px; overflow: hidden; border: 1px solid var(--line); border-radius: 14px; }
  .difference-row > div { min-height: 76px; padding: 15px; }
  .difference-row .difference-topic { grid-column: 1 / -1; min-height: 48px; color: var(--gold-2); border-bottom: 1px solid var(--line); background: #0c0c0c; }
  .difference-row > div + div { border-left: 0; }
  .difference-basic { border-right: 1px solid var(--line); }
  .difference-basic, .difference-tmc { display: block; }
  .difference-basic > span, .difference-tmc > span { display: block; margin-bottom: 7px; }
  .difference-head { display: none; }
  .difference-footer { display: block; padding: 18px; text-align: center; border: 1px solid var(--line-gold); border-radius: 14px; }
  .difference-footer span { display: none; }
  .difference-footer strong { display: block; line-height: 1.6; }
  .difference-action .btn { width: 100%; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { transition-duration: .01ms !important; animation-duration: .01ms !important; }
  /* Keep the review loop slow instead of repeating every .01ms. */
  .testimonial-track { animation-duration: 180s !important; }
  .review-track {
    width: auto;
    overflow-x: auto;
    animation: none !important;
  }
}

/* =========================================================
   PERSONA CI THEME — Navy / Gold / Paper
   All component colors below resolve back to the tokens above.
   ========================================================= */

body {
  color: var(--color-text);
  background: var(--color-page);
}

h1,
h2,
h3,
.brand strong,
.eyebrow,
.btn,
.quiz-intro > strong,
.total-score,
.grade-box b,
.pain-list > p > span:first-child,
.cards article > span,
.tool-label,
.price-row strong,
.plan-card > span,
.difference-footer,
.sticky-cta {
  font-family: "Montserrat", "Prompt", "Inter", system-ui, sans-serif;
}

h1,
h2,
h3,
.review-community-note strong,
.result-bridge strong {
  color: var(--ci-paper);
}

.lead,
.band p,
.trust-row,
.desktop-links a,
.brand small,
.pain-copy small,
.cards article p,
.testimonial-body,
.review-community-note p,
.faq-list p,
.footer-inner p {
  color: var(--color-text-muted);
}

.eyebrow,
h1 em,
h2 em,
.pain-list > p > span:first-child,
.cards article > span,
.check-list li::before,
.tool-label,
.testimonial-card-foot b,
.difference-tmc > span,
.difference-footer strong,
.faq-list summary i,
.progress-head > span,
.question-kicker,
.footer-inner span {
  color: var(--color-accent);
}

.nav {
  border-color: var(--color-border);
  background: rgb(15 23 42 / .92);
  box-shadow: 0 10px 34px rgb(5 10 22 / .24);
}

.mobile-links {
  border-color: var(--color-border);
  background: var(--ci-secondary-navy);
  box-shadow: 0 30px 80px rgb(5 10 22 / .45);
  max-height: calc(100dvh - 90px);
  overflow-y: auto;
}

.menu-btn {
  background: var(--ci-primary-navy);
  border-color: var(--ci-brand-gold);
  color: #fff;
  cursor: pointer;
}

.menu-btn[aria-expanded="true"] {
  background: var(--ci-brand-gold);
  color: var(--ci-primary-navy);
}

.mobile-links a:hover,
.mobile-links a:focus-visible {
  background: #334155;
  border-radius: 6px;
}

.mobile-links a {
  color: var(--ci-paper);
  border-color: var(--color-border);
}

.hero {
  background:
    radial-gradient(circle at 76% 28%, rgb(212 175 55 / .13), transparent 30%),
    radial-gradient(circle at 18% 12%, rgb(212 175 55 / .08), transparent 28%),
    linear-gradient(145deg, var(--ci-primary-navy), #121d34 58%, var(--ci-primary-navy));
}

.hero-media,
.photo-frame {
  border-color: var(--color-border-accent);
  box-shadow: 0 35px 100px rgb(5 10 22 / .48);
}

.media-badge {
  color: var(--ci-paper);
  border-color: var(--color-border);
  background: rgb(15 23 42 / .88);
}

.problem,
.program,
.faq {
  background: var(--ci-primary-navy);
}

#system,
.proof,
.tmc-difference {
  background:
    radial-gradient(circle at 88% 8%, rgb(212 175 55 / .07), transparent 30%),
    var(--ci-secondary-navy);
}

.assessment {
  background:
    radial-gradient(circle at 50% 8%, rgb(212 175 55 / .12), transparent 28%),
    var(--ci-primary-navy);
}

.pain-list,
.cards article,
.quiz-shell,
.tool-card,
.plan-card,
.pricing-note,
.review-feed-topbar,
.testimonial-card,
.review-community-note,
.difference-table,
.faq-list details {
  border-color: var(--card-border);
  background: var(--card-bg);
  box-shadow: 0 24px 70px rgb(5 10 22 / .28);
}

.pain-list p,
.cards article + article,
.faq-list details,
.review-feed-topbar,
.testimonial-card-foot,
.difference-row,
.difference-row > div + div {
  border-color: var(--color-border);
}

.pain-copy strong,
.cards article h3,
.tool-card h3,
.plan-card h3,
.testimonial-card-head strong,
.difference-topic strong,
.difference-tmc strong,
.faq-list summary {
  color: var(--ci-paper);
}

.pain-copy small b,
.price-row strong,
.plan-card > span,
.testimonial-card-foot b {
  color: var(--color-accent);
}

.quiz-shell {
  border-color: var(--color-border-accent);
  background: var(--color-surface);
}

.beginner-contact {
  margin-top: 16px;
  color: var(--ci-paper);
  border-color: var(--color-border-accent);
  background: rgb(15 23 42 / .72);
}

.beginner-contact:hover {
  color: var(--color-accent);
  background: var(--ci-primary-navy);
}

.progress-track,
.category-bars i {
  background: var(--color-surface-raised);
}

.progress-track i,
.category-bars i span {
  background: linear-gradient(90deg, var(--ci-gold-dark), var(--color-accent));
}

.answer-list button {
  color: var(--color-text-muted);
  border-color: var(--color-border-strong);
  background: var(--color-secondary-navy);
}

.answer-list button:hover {
  color: var(--ci-paper);
  border-color: var(--color-border-accent);
  background: var(--color-surface-raised);
}

.answer-list button.selected {
  color: var(--ci-primary-navy);
  border-color: var(--color-accent);
  background: var(--color-accent);
}

.answer-list button > span {
  border-color: var(--color-border-strong);
}

.weakest-panel {
  border-color: var(--color-border-accent);
  background: rgb(212 175 55 / .08);
}

.recommendations article {
  border-color: var(--color-border-accent);
}

.testimonial-card {
  color: var(--ci-paper);
  background:
    radial-gradient(circle at 92% 8%, rgb(212 175 55 / .09), transparent 30%),
    var(--color-surface);
}

.testimonial-card-foot {
  border-color: var(--color-border);
}

.review-community-note {
  border-color: var(--color-border-accent);
  background:
    radial-gradient(circle at 85% 20%, rgb(212 175 55 / .08), transparent 30%),
    var(--color-surface);
}

.image-lightbox {
  background: rgb(15 23 42 / .92);
}

.image-lightbox img {
  border-color: var(--color-border);
  background: var(--color-secondary-navy);
}

.tmc-difference {
  border-color: var(--color-border-accent);
}

.difference-table {
  border-color: var(--color-border-accent);
  background: var(--color-surface);
}

.difference-basic {
  color: var(--color-text-muted);
  background: rgb(15 23 42 / .68);
}

.difference-tmc {
  color: var(--ci-paper);
  background: linear-gradient(90deg, rgb(212 175 55 / .11), rgb(212 175 55 / .035));
}

.compare-icon.cross {
  color: var(--color-text-muted);
  border-color: var(--color-border-strong);
}

.compare-icon.check {
  color: var(--color-accent);
  border-color: var(--color-border-accent);
  background: rgb(212 175 55 / .08);
}

.faq-list details[open] {
  border-color: var(--color-border-accent);
}

.final-cta {
  background:
    radial-gradient(circle at 18% 20%, rgb(212 175 55 / .13), transparent 28%),
    var(--ci-secondary-navy);
}

footer {
  border-color: var(--color-border);
  background: var(--ci-primary-navy);
}

.sticky-cta {
  color: var(--ci-primary-navy);
  border-color: var(--color-border-accent);
  background: var(--button-bg);
  box-shadow: 0 18px 50px rgb(5 10 22 / .45), 0 0 26px rgb(212 175 55 / .18);
}

/* Button hierarchy */
.btn-gold {
  color: var(--button-fg);
  background: var(--button-bg);
  box-shadow: 0 14px 36px rgb(212 175 55 / .22);
}

.btn-line,
.btn-outline {
  color: var(--color-accent);
  border-color: var(--button-border);
  background: rgb(212 175 55 / .055);
}

.text-btn {
  color: var(--color-text-muted);
  border: 1px solid var(--color-border);
  border-radius: 11px;
  background: rgb(30 41 59 / .56);
}

.btn:hover,
.sticky-cta:hover {
  box-shadow: 0 18px 48px rgb(212 175 55 / .32), 0 0 28px rgb(212 175 55 / .14);
}

.btn:focus-visible,
.menu-btn:focus-visible,
.text-btn:focus-visible,
.answer-list button:focus-visible,
.lightbox-close:focus-visible,
.faq-list summary:focus-visible {
  outline-color: var(--focus-ring);
}

/* Animated running light for every real button and button-style link */
@property --edge-light-angle {
  syntax: "<angle>";
  inherits: false;
  initial-value: 0deg;
}

@keyframes edge-light-run {
  to { --edge-light-angle: 360deg; }
}

:is(button, .btn, .sticky-cta, .tmc-package-price, .tmc-bonus-link, [role="button"]) {
  position: relative;
  isolation: isolate;
  overflow: hidden;
}

:is(button, .btn, .sticky-cta, .tmc-package-price, .tmc-bonus-link, [role="button"])::before {
  position: absolute;
  z-index: 4;
  inset: 0;
  padding: 1.5px;
  border-radius: inherit;
  background: conic-gradient(
    from var(--edge-light-angle),
    transparent 0 64%,
    rgb(212 175 55 / .12) 70%,
    var(--ci-brand-gold) 78%,
    #fff1a8 83%,
    var(--ci-brand-gold) 88%,
    transparent 96%
  );
  content: "";
  pointer-events: none;
  animation: edge-light-run 2.8s linear infinite;
  -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  -webkit-mask-composite: xor;
  mask-composite: exclude;
}

:is(button, .btn, .sticky-cta, .tmc-package-price, .tmc-bonus-link, [role="button"]):hover::before {
  filter: brightness(1.22);
  animation-duration: 1.65s;
}

:is(button, .btn, .sticky-cta, .tmc-package-price, .tmc-bonus-link, [role="button"]):disabled::before {
  opacity: .28;
  animation-play-state: paused;
}

@media (max-width: 620px) {
  .difference-row .difference-topic {
    color: var(--color-accent);
    border-color: var(--color-border);
    background: var(--ci-primary-navy);
  }
}

@media (prefers-reduced-motion: reduce) {
  :is(button, .btn, .sticky-cta, .tmc-package-price, .tmc-bonus-link, [role="button"])::before {
    background: var(--color-border-accent);
    animation: none !important;
  }
}

/* TMC package pricing */
.tmc-pricing-heading {
  max-width: 820px;
  margin: 84px auto 38px;
  text-align: center;
}

.tmc-pricing-heading h2 {
  margin-bottom: 16px;
}

.tmc-pricing-heading .lead {
  max-width: 700px;
  margin-inline: auto;
}

.tmc-package-label,
.tmc-package-badge,
.tmc-popular-badge {
  font-family: "Montserrat", "Prompt", "Inter", system-ui, sans-serif;
  font-weight: 800;
  letter-spacing: .08em;
}

.tmc-pricing-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 20px;
  align-items: stretch;
}

.tmc-package-card {
  position: relative;
  display: flex;
  min-width: 0;
  padding: clamp(24px, 3vw, 36px);
  flex-direction: column;
  border: 1px solid var(--color-border-strong);
  border-radius: 24px;
  background:
    radial-gradient(circle at 90% 4%, rgb(226 232 240 / .045), transparent 28%),
    var(--ci-secondary-navy);
  box-shadow: 0 28px 80px rgb(5 10 22 / .32);
}

.tmc-package-card.featured {
  border-color: var(--color-border-accent);
  background:
    radial-gradient(circle at 88% 4%, rgb(212 175 55 / .13), transparent 30%),
    linear-gradient(145deg, var(--ci-secondary-navy), var(--color-surface-raised));
  box-shadow: 0 30px 90px rgb(5 10 22 / .38), 0 0 44px rgb(212 175 55 / .08);
}

.tmc-popular-badge {
  position: absolute;
  top: -14px;
  right: 24px;
  padding: 8px 14px;
  color: var(--ci-primary-navy);
  border: 1px solid rgb(255 255 255 / .24);
  border-radius: 999px;
  background: var(--color-accent);
  box-shadow: 0 10px 28px rgb(212 175 55 / .22);
  font-size: .66rem;
  letter-spacing: .03em;
}

.tmc-package-head {
  display: flex;
  min-height: 190px;
  align-items: flex-start;
  justify-content: space-between;
  gap: 18px;
}

.tmc-package-label {
  display: block;
  margin-bottom: 10px;
  color: var(--color-accent);
  font-size: .65rem;
}

.tmc-package-head h3 {
  margin: 0 0 12px;
  font-size: clamp(2rem, 3.5vw, 3rem);
  line-height: 1.08;
}

.tmc-package-head p {
  max-width: 500px;
  margin: 0;
  color: var(--color-text-muted);
  font-size: .9rem;
  line-height: 1.75;
}

.tmc-package-badge {
  display: inline-flex;
  flex: 0 0 auto;
  padding: 7px 10px;
  color: var(--color-accent);
  border: 1px solid var(--color-border-accent);
  border-radius: 999px;
  background: rgb(212 175 55 / .08);
  font-size: .62rem;
  letter-spacing: 0;
}

.tmc-package-price {
  display: grid;
  margin: 28px 0;
  padding: 22px;
  border: 1px solid var(--color-border);
  border-radius: 16px;
  background: rgb(15 23 42 / .64);
  text-decoration: none;
  cursor: pointer;
  transition: transform .2s ease, border-color .2s ease, background .2s ease, box-shadow .2s ease;
}

.tmc-package-price:hover {
  transform: translateY(-2px);
  border-color: var(--color-border-accent);
  background: rgb(15 23 42 / .82);
  box-shadow: 0 16px 38px rgb(5 10 22 / .24);
}

.tmc-package-price:focus-visible,
.tmc-bonus-link:focus-visible {
  outline: 3px solid var(--focus-ring);
  outline-offset: 3px;
}

.featured .tmc-package-price {
  border-color: var(--color-border-accent);
  background: rgb(212 175 55 / .07);
}

.tmc-package-price small,
.tmc-package-price span {
  color: var(--color-text-muted);
}

.tmc-package-price small {
  font-size: .72rem;
}

.tmc-package-price strong {
  margin: 5px 0 8px;
  color: var(--color-accent);
  font-family: "Montserrat", "Prompt", "Inter", system-ui, sans-serif;
  font-size: clamp(2rem, 4vw, 3rem);
  line-height: 1;
}

.tmc-package-price span {
  font-size: .78rem;
}

.tmc-includes {
  margin-bottom: 28px;
  padding-top: 2px;
}

.tmc-includes > p {
  margin-bottom: 14px;
  color: var(--ci-paper);
  font-weight: 700;
}

.tmc-includes ul {
  display: grid;
  gap: 12px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.tmc-includes li {
  display: grid;
  grid-template-columns: 22px 1fr;
  gap: 9px;
  align-items: start;
  color: var(--color-text-muted);
  font-size: .86rem;
  line-height: 1.6;
}

.tmc-includes li > span {
  display: grid;
  width: 20px;
  height: 20px;
  place-items: center;
  color: var(--ci-primary-navy);
  border-radius: 50%;
  background: var(--color-accent);
  font-size: .7rem;
  font-weight: 900;
}

.tmc-includes li.bonus {
  margin-top: 3px;
  display: block;
  padding: 0;
  color: var(--ci-paper);
  border: 1px solid var(--color-border-accent);
  border-radius: 12px;
  background: rgb(212 175 55 / .075);
  font-weight: 700;
}

.tmc-bonus-link {
  display: grid;
  grid-template-columns: 22px 1fr;
  gap: 9px;
  width: 100%;
  min-height: 46px;
  padding: 12px;
  align-items: center;
  color: inherit;
  border-radius: inherit;
  text-decoration: none;
  cursor: pointer;
  transition: background .2s ease, color .2s ease, box-shadow .2s ease;
}

.tmc-bonus-link:hover {
  color: var(--color-accent);
  background: rgb(212 175 55 / .1);
  box-shadow: 0 12px 30px rgb(5 10 22 / .18);
}

.tmc-bonus-link > span {
  display: grid;
  width: 20px;
  height: 20px;
  place-items: center;
  color: var(--ci-primary-navy);
  border-radius: 50%;
  background: var(--color-accent);
  font-size: .7rem;
  font-weight: 900;
}

.tmc-bonus-link > strong {
  color: inherit;
  font-size: .86rem;
  line-height: 1.45;
}

.tmc-package-cta {
  width: 100%;
  margin-top: auto;
}

.tmc-pricing-note {
  display: flex;
  margin-top: 20px;
  padding: 16px 18px;
  align-items: flex-start;
  gap: 12px;
  border: 1px solid var(--color-border);
  border-radius: 14px;
  background: rgb(30 41 59 / .66);
}

.tmc-pricing-note > span {
  display: grid;
  width: 24px;
  height: 24px;
  flex: 0 0 auto;
  place-items: center;
  color: var(--ci-primary-navy);
  border-radius: 50%;
  background: var(--color-accent);
  font-family: "Montserrat", "Inter", sans-serif;
  font-size: .72rem;
  font-weight: 800;
}

.tmc-pricing-note p {
  margin: 0;
  color: var(--color-text-muted);
  font-size: .76rem;
  line-height: 1.7;
}

@media (max-width: 920px) {
  .tmc-pricing-grid {
    grid-template-columns: 1fr;
  }

  .tmc-package-head {
    min-height: auto;
  }
}

@media (max-width: 620px) {
  .tmc-pricing-heading {
    margin-top: 64px;
    text-align: left;
  }

  .tmc-pricing-heading .lead {
    margin-inline: 0;
  }

  .tmc-package-card {
    padding: 22px 18px;
    border-radius: 18px;
  }

  .tmc-package-head {
    display: block;
  }

  .tmc-package-badge {
    margin-top: 16px;
  }

  .tmc-popular-badge {
    right: 14px;
    max-width: calc(100% - 28px);
    font-size: .58rem;
    text-align: center;
  }

  .tmc-package-price {
    padding: 18px;
  }
}

/* Featured annual package — full Gold Card */
.tmc-package-card.featured {
  isolation: isolate;
  color: var(--ci-primary-navy);
  border-color: transparent;
  background:
    radial-gradient(circle at 86% 6%, rgb(248 250 252 / .32), transparent 27%),
    linear-gradient(145deg, var(--ci-brand-gold), var(--ci-gold-dark));
  box-shadow: 0 30px 90px rgb(5 10 22 / .42), 0 0 48px rgb(212 175 55 / .28);
  transition: transform .25s ease, box-shadow .25s ease;
}

.tmc-package-card.featured:hover {
  transform: translateY(-3px);
  box-shadow: 0 34px 100px rgb(5 10 22 / .48), 0 0 62px rgb(212 175 55 / .38);
}

.tmc-package-card.featured::before {
  position: absolute;
  z-index: 4;
  inset: 0;
  padding: 2px;
  border-radius: inherit;
  background: conic-gradient(
    from var(--edge-light-angle),
    rgb(146 112 22 / .28) 0 58%,
    var(--ci-brand-gold) 67%,
    var(--ci-paper) 77%,
    var(--ci-brand-gold) 86%,
    rgb(146 112 22 / .28) 96%
  );
  content: "";
  pointer-events: none;
  animation: edge-light-run 2.5s linear infinite;
  -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  -webkit-mask-composite: xor;
  mask-composite: exclude;
}

.tmc-package-card.featured:hover::before {
  filter: brightness(1.14);
  animation-duration: 1.6s;
}

.featured .tmc-package-label,
.featured .tmc-package-head h3,
.featured .tmc-package-head p,
.featured .tmc-includes > p,
.featured .tmc-includes li,
.featured .tmc-package-price small,
.featured .tmc-package-price span {
  color: var(--ci-primary-navy);
}

.featured .tmc-package-head p,
.featured .tmc-includes li,
.featured .tmc-package-price small,
.featured .tmc-package-price span {
  opacity: .82;
}

.featured .tmc-package-badge,
.featured .tmc-popular-badge {
  color: var(--ci-brand-gold);
  border-color: rgb(15 23 42 / .28);
  background: var(--ci-primary-navy);
  box-shadow: 0 10px 28px rgb(15 23 42 / .24);
}

.featured .tmc-package-price {
  border-color: rgb(15 23 42 / .32);
  background: rgb(248 250 252 / .72);
  box-shadow: inset 0 1px 0 rgb(248 250 252 / .52);
}

.featured .tmc-package-price strong {
  color: var(--ci-primary-navy);
}

.featured .tmc-includes li > span {
  color: var(--ci-brand-gold);
  background: var(--ci-primary-navy);
}

.featured .tmc-includes li.bonus {
  color: var(--ci-primary-navy);
  border-color: rgb(15 23 42 / .3);
  background: rgb(248 250 252 / .52);
}

.featured .tmc-bonus-link:hover {
  color: var(--ci-primary-navy);
  background: rgb(248 250 252 / .74);
}

.featured .tmc-bonus-link > span {
  color: var(--ci-brand-gold);
  background: var(--ci-primary-navy);
}

.featured .tmc-package-price:hover {
  border-color: rgb(15 23 42 / .48);
  background: rgb(248 250 252 / .88);
  box-shadow: 0 18px 42px rgb(15 23 42 / .2);
}

.featured .tmc-package-cta.btn-gold {
  color: var(--ci-brand-gold);
  border-color: var(--ci-primary-navy);
  background: var(--ci-primary-navy);
  box-shadow: 0 16px 38px rgb(15 23 42 / .3);
}

.featured .tmc-package-cta.btn-gold:hover {
  color: var(--ci-paper);
  box-shadow: 0 20px 46px rgb(15 23 42 / .42), 0 0 26px rgb(248 250 252 / .18);
}

@media (prefers-reduced-motion: reduce) {
  .tmc-package-card.featured::before {
    background: var(--ci-paper);
    animation: none !important;
  }
}

/* Assessment result sharing */
.result-utility-actions {
  display: flex;
  margin-left: auto;
  align-items: center;
  justify-content: flex-end;
  gap: 12px;
  flex-wrap: wrap;
}

.assessment-share {
  display: grid;
  min-width: 350px;
  padding: 14px;
  gap: 10px;
  border: 1px solid var(--color-border-accent);
  border-radius: 15px;
  background:
    radial-gradient(circle at 92% 6%, rgb(212 175 55 / .1), transparent 32%),
    var(--ci-secondary-navy);
  box-shadow: 0 16px 42px rgb(5 10 22 / .22);
}

.assessment-share > strong {
  color: var(--ci-paper);
  font-family: "Montserrat", "Prompt", "Inter", system-ui, sans-serif;
  font-size: .78rem;
}

.share-channel-list {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
}

.share-channel {
  display: inline-flex;
  min-height: 42px;
  padding: 7px 9px;
  align-items: center;
  justify-content: center;
  gap: 7px;
  color: var(--ci-paper);
  border: 1px solid var(--color-border);
  border-radius: 10px;
  background: var(--ci-primary-navy);
  font: 700 .68rem/1 "Prompt", "Inter", system-ui, sans-serif;
  cursor: pointer;
  transition: transform .2s ease, border-color .2s ease, background .2s ease, box-shadow .2s ease;
}

.share-channel:hover {
  transform: translateY(-2px);
  border-color: var(--color-border-accent);
  background: var(--color-surface-raised);
  box-shadow: 0 10px 24px rgb(5 10 22 / .25);
}

.share-channel:focus-visible {
  outline: 3px solid var(--focus-ring);
  outline-offset: 2px;
}

.share-channel > span {
  display: grid;
  width: 23px;
  height: 23px;
  flex: 0 0 auto;
  place-items: center;
  color: var(--ci-paper);
  border-radius: 7px;
  font-family: "Inter", system-ui, sans-serif;
  font-size: .75rem;
  font-weight: 900;
}

.share-channel.facebook > span { background: #1877f2; }
.share-channel.instagram > span { background: linear-gradient(135deg, #833ab4, #e1306c 54%, #fcb045); }
.share-channel.line > span { background: #06c755; }

.share-status {
  min-height: 1.25em;
  color: var(--color-accent);
  font-size: .66rem;
  line-height: 1.4;
}

@media (max-width: 920px) {
  .result-actions {
    align-items: stretch;
    flex-direction: column;
  }

  .result-utility-actions {
    width: 100%;
    margin-left: 0;
    align-items: stretch;
  }

  .assessment-share {
    min-width: 0;
    flex: 1 1 100%;
  }
}

@media (max-width: 620px) {
  .result-utility-actions {
    flex-direction: column;
  }

  .result-utility-actions > .text-btn,
  .assessment-share {
    width: 100%;
  }

  .assessment-share {
    padding: 12px;
  }

  .share-channel {
    padding-inline: 6px;
    flex-direction: column;
    min-height: 58px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .tmc-photo-gallery {
    overflow: hidden;
  }

  .tmc-photo-track {
    animation: tmc-photo-scroll 120s linear infinite !important;
  }

  .tmc-photo-track img {
    scroll-snap-align: start;
  }
}

@media (max-width: 620px) {
  .program-title {
    font-size: clamp(1.82rem, 8.7vw, 2.25rem);
    line-height: 1.17;
    letter-spacing: -.025em;
  }
}
