/* ============================================================
   CLAIRE MADISON — "Get Her Back" Quiz Funnel
   style.css  —  warm, trustworthy, editorial
   ============================================================ */

:root {
  /* palette */
  --cream:        #FAF7F2;
  --cream-deep:   #F1EADF;
  --terracotta:   #C96F5B;
  --terracotta-d: #B25A47;
  --gold:         #D9A441;
  --ink:          #2C2C2C;
  --ink-soft:     #5A5550;
  --line:         #E4DBCD;
  --white:        #FFFFFF;

  /* score tiers */
  --tier-green:   #6FA86F;
  --tier-blue:    #6F9BC9;
  --tier-amber:   #D9A441;
  --tier-red:     #C96F5B;

  /* type */
  --serif: 'Playfair Display', Georgia, serif;
  --sans:  'Source Sans 3', -apple-system, sans-serif;

  --shadow-sm: 0 2px 10px rgba(44,44,44,.06);
  --shadow-md: 0 10px 34px rgba(44,44,44,.10);
  --shadow-lg: 0 22px 60px rgba(44,44,44,.16);
}

* { margin: 0; padding: 0; box-sizing: border-box; }

html, body { height: 100%; }

body {
  font-family: var(--sans);
  background: var(--cream);
  color: var(--ink);
  -webkit-font-smoothing: antialiased;
  line-height: 1.6;
}

/* soft atmospheric background */
body::before {
  content: "";
  position: fixed; inset: 0;
  background:
    radial-gradient(circle at 12% 8%, rgba(201,111,91,.07), transparent 42%),
    radial-gradient(circle at 88% 92%, rgba(217,164,65,.07), transparent 42%);
  pointer-events: none; z-index: 0;
}

/* ---------- screen system ---------- */
.screen { display: none; position: relative; z-index: 1; min-height: 100vh; }
.screen--active { display: block; animation: fadeUp .5s ease both; }

@keyframes fadeUp {
  from { opacity: 0; transform: translateY(14px); }
  to   { opacity: 1; transform: translateY(0); }
}

/* ============================================================
   HOME
   ============================================================ */
.home-wrap {
  max-width: 620px;
  margin: 0 auto;
  padding: 46px 24px 30px;
  text-align: center;
}

.home-badge {
  display: inline-block;
  font-size: 12.5px;
  font-weight: 700;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--terracotta-d);
  background: var(--white);
  border: 1px solid var(--line);
  padding: 7px 16px;
  border-radius: 100px;
  box-shadow: var(--shadow-sm);
  margin-bottom: 30px;
}

.home-photo {
  width: 188px; height: 188px;
  margin: 0 auto 16px;
  border-radius: 50%;
  overflow: hidden;
  box-shadow: var(--shadow-md);
  animation: floaty 6s ease-in-out infinite;
}
.home-photo img { width: 100%; height: 100%; object-fit: cover; display: block; }

@keyframes floaty {
  0%,100% { transform: translateY(0); }
  50%     { transform: translateY(-7px); }
}

.home-photo-caption { display: flex; flex-direction: column; margin-bottom: 26px; }
.caption-name {
  font-family: var(--serif);
  font-size: 19px; font-weight: 600; color: var(--ink);
}
.caption-role {
  font-size: 12.5px; letter-spacing: .04em;
  color: var(--ink-soft); text-transform: uppercase;
}

.home-headline {
  font-family: var(--serif);
  font-size: clamp(33px, 7.4vw, 52px);
  font-weight: 600;
  line-height: 1.12;
  margin-bottom: 18px;
}
.home-headline em {
  font-style: italic;
  color: var(--terracotta);
}

.home-sub {
  font-size: 17px;
  color: var(--ink-soft);
  max-width: 480px;
  margin: 0 auto 30px;
}

/* ---------- buttons ---------- */
.btn-primary {
  font-family: var(--sans);
  font-size: 17px; font-weight: 700;
  color: var(--white);
  background: var(--terracotta);
  border: none;
  padding: 17px 40px;
  border-radius: 100px;
  cursor: pointer;
  display: inline-flex; align-items: center; gap: 10px;
  box-shadow: 0 10px 26px rgba(201,111,91,.34);
  transition: transform .18s ease, box-shadow .18s ease, background .18s ease;
}
.btn-primary:hover {
  background: var(--terracotta-d);
  transform: translateY(-2px);
  box-shadow: 0 14px 32px rgba(201,111,91,.42);
}
.btn-primary:active { transform: translateY(0); }
.btn-arrow { transition: transform .18s ease; }
.btn-primary:hover .btn-arrow { transform: translateX(4px); }

.home-reassure {
  font-size: 13.5px;
  color: var(--ink-soft);
  margin-top: 16px;
}

.home-trust {
  display: flex; align-items: center; justify-content: center;
  gap: 22px;
  margin-top: 34px;
  padding-top: 26px;
  border-top: 1px solid var(--line);
}
.trust-item { display: flex; flex-direction: column; }
.trust-item strong {
  font-family: var(--serif);
  font-size: 21px; color: var(--terracotta);
}
.trust-item span {
  font-size: 12px; text-transform: uppercase;
  letter-spacing: .07em; color: var(--ink-soft);
}
.trust-divider { width: 1px; height: 30px; background: var(--line); }

.home-footer {
  max-width: 560px;
  margin: 30px auto 0;
  padding: 24px;
  text-align: center;
  font-size: 12px;
  color: var(--ink-soft);
}
.home-footer p { margin-bottom: 6px; }
.footer-brand { font-weight: 600; }

/* ============================================================
   QUIZ
   ============================================================ */
.quiz-progress-bar {
  position: sticky; top: 0;
  height: 6px; width: 100%;
  background: var(--cream-deep);
  z-index: 5;
}
.quiz-progress-fill {
  height: 100%; width: 0%;
  background: linear-gradient(90deg, var(--gold), var(--terracotta));
  border-radius: 0 4px 4px 0;
  transition: width .45s cubic-bezier(.4,0,.2,1);
}

.quiz-stage {
  max-width: 600px;
  margin: 0 auto;
  padding: 34px 24px 60px;
}

.q-step { animation: fadeUp .4s ease both; }

.q-count {
  font-size: 13px; font-weight: 700;
  letter-spacing: .12em; text-transform: uppercase;
  color: var(--terracotta-d);
  margin-bottom: 12px;
}
.q-title {
  font-family: var(--serif);
  font-size: clamp(23px, 4.6vw, 30px);
  font-weight: 600; line-height: 1.28;
  margin-bottom: 8px;
}
.q-hint {
  font-size: 14px; color: var(--ink-soft);
  margin-bottom: 22px;
}

/* option buttons */
.q-options { display: flex; flex-direction: column; gap: 11px; }
.q-option {
  font-family: var(--sans);
  font-size: 16px; font-weight: 500;
  text-align: left;
  color: var(--ink);
  background: var(--white);
  border: 1.5px solid var(--line);
  border-radius: 14px;
  padding: 16px 18px;
  cursor: pointer;
  display: flex; align-items: center; gap: 13px;
  transition: border-color .15s, background .15s, transform .12s;
}
.q-option:hover { border-color: var(--terracotta); transform: translateX(3px); }
.q-mark {
  flex: none;
  width: 22px; height: 22px;
  border: 2px solid var(--line);
  border-radius: 50%;
  display: grid; place-items: center;
  transition: border-color .15s, background .15s;
}
.q-option.is-multi .q-mark { border-radius: 6px; }
.q-mark svg { width: 12px; height: 12px; opacity: 0; transform: scale(.4); transition: .15s; }
.q-option.selected { border-color: var(--terracotta); background: #FCF1ED; }
.q-option.selected .q-mark { background: var(--terracotta); border-color: var(--terracotta); }
.q-option.selected .q-mark svg { opacity: 1; transform: scale(1); stroke: #fff; }

/* multi-select continue button */
.q-continue {
  margin-top: 22px;
  width: 100%;
  font-family: var(--sans);
  font-size: 16px; font-weight: 700;
  color: var(--white);
  background: var(--terracotta);
  border: none; border-radius: 100px;
  padding: 16px; cursor: pointer;
  transition: background .15s, opacity .15s;
}
.q-continue:disabled { opacity: .4; cursor: not-allowed; }
.q-continue:not(:disabled):hover { background: var(--terracotta-d); }

/* name / email capture pages */
.capture { text-align: center; padding-top: 14px; }
.capture-icon { font-size: 40px; margin-bottom: 14px; }
.capture-title {
  font-family: var(--serif);
  font-size: clamp(25px, 5vw, 33px);
  font-weight: 600; margin-bottom: 10px;
}
.capture-sub {
  font-size: 15.5px; color: var(--ink-soft);
  max-width: 400px; margin: 0 auto 24px;
}
.capture-input {
  width: 100%;
  font-family: var(--sans); font-size: 17px;
  text-align: center;
  color: var(--ink);
  background: var(--white);
  border: 1.5px solid var(--line);
  border-radius: 14px;
  padding: 16px;
  margin-bottom: 8px;
  transition: border-color .15s;
}
.capture-input:focus { outline: none; border-color: var(--terracotta); }
.capture-error {
  font-size: 13px; color: var(--terracotta-d);
  min-height: 18px; margin-bottom: 8px;
}
.capture-note {
  font-size: 12.5px; color: var(--ink-soft);
  margin-top: 14px;
}

.q-back {
  display: inline-block;
  margin-top: 20px;
  font-size: 13.5px; font-weight: 600;
  color: var(--ink-soft);
  background: none; border: none; cursor: pointer;
}
.q-back:hover { color: var(--terracotta); }

/* confirm screen */
.confirm-wrap { text-align: center; padding-top: 10px; }
.confirm-title {
  font-family: var(--serif);
  font-size: clamp(25px, 5vw, 33px);
  font-weight: 600; margin-bottom: 8px;
}
.confirm-sub { font-size: 15px; color: var(--ink-soft); margin-bottom: 26px; }

/* ============================================================
   ANALYZING
   ============================================================ */
.analyzing-wrap {
  min-height: 100vh;
  display: flex; flex-direction: column;
  align-items: center; justify-content: center;
  text-align: center; padding: 24px;
}
.analyzing-spinner {
  position: relative; width: 80px; height: 80px;
  margin-bottom: 30px;
}
.spinner-ring {
  position: absolute; inset: 0;
  border: 3px solid transparent;
  border-top-color: var(--terracotta);
  border-radius: 50%;
  animation: spin 1.1s linear infinite;
}
.spinner-ring:nth-child(2) { inset: 11px; border-top-color: var(--gold); animation-duration: 1.5s; }
.spinner-ring:nth-child(3) { inset: 22px; border-top-color: var(--terracotta-d); animation-duration: .9s; }
@keyframes spin { to { transform: rotate(360deg); } }

.analyzing-title {
  font-family: var(--serif);
  font-size: clamp(24px, 5vw, 32px);
  font-weight: 600; margin-bottom: 8px;
}
.analyzing-text { font-size: 15px; color: var(--ink-soft); }

/* ============================================================
   RESULTS
   ============================================================ */
.results-stage {
  max-width: 940px;
  margin: 0 auto;
  padding: 40px 24px 70px;
}
.results-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 26px;
  align-items: start;
}

/* --- left: score card --- */
.score-card {
  background: var(--white);
  border: 1px solid var(--line);
  border-radius: 22px;
  padding: 34px 30px;
  box-shadow: var(--shadow-md);
}
.score-eyebrow {
  font-size: 12.5px; font-weight: 700;
  letter-spacing: .13em; text-transform: uppercase;
  color: var(--terracotta-d);
  text-align: center; margin-bottom: 18px;
}
.score-dial {
  position: relative;
  width: 200px; height: 200px;
  margin: 0 auto 10px;
}
.score-dial svg { width: 100%; height: 100%; transform: rotate(-90deg); }
.score-dial-track { fill: none; stroke: var(--cream-deep); stroke-width: 16; }
.score-dial-fill {
  fill: none; stroke-width: 16; stroke-linecap: round;
  transition: stroke-dashoffset 1.6s cubic-bezier(.34,1.2,.4,1);
}
.score-dial-center {
  position: absolute; inset: 0;
  display: flex; flex-direction: column;
  align-items: center; justify-content: center;
}
.score-number {
  font-family: var(--serif);
  font-size: 58px; font-weight: 700; line-height: 1;
}
.score-outof { font-size: 13px; color: var(--ink-soft); letter-spacing: .05em; }

.score-tier-label {
  text-align: center;
  font-family: var(--serif);
  font-size: 24px; font-weight: 700;
  margin: 6px 0 14px;
}
.score-verdict {
  font-size: 15px; color: var(--ink-soft);
  text-align: center; margin-bottom: 24px;
}

/* breakdown bars */
.breakdown { display: flex; flex-direction: column; gap: 16px; }
.bd-row {}
.bd-head {
  display: flex; justify-content: space-between;
  font-size: 13.5px; font-weight: 600; margin-bottom: 5px;
}
.bd-score { font-variant-numeric: tabular-nums; }
.bd-track {
  height: 9px; background: var(--cream-deep);
  border-radius: 6px; overflow: hidden;
}
.bd-fill {
  height: 100%; width: 0%;
  border-radius: 6px;
  transition: width 1.3s cubic-bezier(.4,0,.2,1);
}
.bd-desc { font-size: 12.5px; color: var(--ink-soft); margin-top: 5px; }

/* tier legend */
.tier-legend {
  display: grid; grid-template-columns: repeat(4,1fr);
  gap: 7px; margin-top: 24px;
}
.tl-cell {
  text-align: center;
  border-radius: 10px;
  padding: 9px 4px;
  border: 1px solid transparent;
}
.tl-range { font-family: var(--serif); font-size: 16px; font-weight: 700; }
.tl-name  { font-size: 9.5px; font-weight: 700; letter-spacing: .05em; text-transform: uppercase; }
.tl-cell.dim { opacity: .34; }

/* --- right: unlock card --- */
.unlock-card {
  background: linear-gradient(170deg, #2C2C2C, #413a36);
  color: var(--cream);
  border-radius: 22px;
  padding: 34px 30px;
  box-shadow: var(--shadow-lg);
  position: relative;
  overflow: hidden;
}
.unlock-card::after {
  content: ""; position: absolute;
  top: -60px; right: -60px;
  width: 200px; height: 200px;
  background: radial-gradient(circle, rgba(217,164,65,.22), transparent 70%);
}
.unlock-tag {
  display: inline-flex; align-items: center; gap: 7px;
  font-size: 11.5px; font-weight: 700;
  letter-spacing: .12em; text-transform: uppercase;
  color: var(--gold);
  border: 1px solid rgba(217,164,65,.4);
  padding: 6px 13px; border-radius: 100px;
  margin-bottom: 18px;
}
.unlock-title {
  font-family: var(--serif);
  font-size: 30px; font-weight: 700;
  line-height: 1.18; margin-bottom: 6px;
}
.unlock-title em { color: var(--gold); font-style: italic; }
.unlock-sub {
  font-size: 14.5px;
  color: rgba(250,247,242,.74);
  margin-bottom: 22px;
}
.unlock-list { list-style: none; margin-bottom: 24px; }
.unlock-list li {
  display: flex; gap: 11px;
  font-size: 14.5px;
  padding: 9px 0;
  border-bottom: 1px solid rgba(255,255,255,.08);
}
.unlock-list li:last-child { border-bottom: none; }
.unlock-check {
  flex: none; width: 20px; height: 20px;
  background: rgba(217,164,65,.18);
  border-radius: 50%;
  display: grid; place-items: center;
  color: var(--gold); font-size: 12px; font-weight: 700;
}
.unlock-price {
  display: flex; align-items: baseline; gap: 10px;
  margin-bottom: 4px;
}
.price-now {
  font-family: var(--serif);
  font-size: 42px; font-weight: 700; color: var(--cream);
}
.price-was {
  font-size: 19px; color: rgba(250,247,242,.5);
  text-decoration: line-through;
}
.price-save {
  font-size: 12px; font-weight: 700;
  color: #2C2C2C; background: var(--gold);
  padding: 3px 9px; border-radius: 6px;
}
.unlock-price-note {
  font-size: 12.5px; color: rgba(250,247,242,.6);
  margin-bottom: 20px;
}
.btn-unlock {
  width: 100%;
  font-family: var(--sans);
  font-size: 17px; font-weight: 700;
  color: #2C2C2C;
  background: var(--gold);
  border: none; border-radius: 100px;
  padding: 18px; cursor: pointer;
  transition: transform .16s, box-shadow .16s;
  box-shadow: 0 10px 26px rgba(217,164,65,.3);
}
.btn-unlock:hover { transform: translateY(-2px); box-shadow: 0 14px 32px rgba(217,164,65,.42); }
.unlock-guarantee {
  text-align: center;
  font-size: 12.5px;
  color: rgba(250,247,242,.6);
  margin-top: 14px;
}

.results-disclaimer {
  max-width: 620px;
  margin: 34px auto 0;
  text-align: center;
  font-size: 12px;
  color: var(--ink-soft);
}

/* ============================================================
   RESPONSIVE
   ============================================================ */
@media (max-width: 800px) {
  .results-grid { grid-template-columns: 1fr; }
  .unlock-card { order: -1; }   /* offer first on mobile */
}
@media (max-width: 480px) {
  .home-wrap { padding-top: 34px; }
  .home-photo { width: 158px; height: 158px; }
  .home-trust { gap: 14px; }
  .score-card, .unlock-card { padding: 28px 22px; }
  .score-dial { width: 180px; height: 180px; }
}

/* ============================================================
   POLISH UPDATE — glow, premium motion, cleaner mobile order
   ============================================================ */

/* Claire photo: remove baked-border feeling, add soft premium glow */
.home-photo {
  position: relative;
  overflow: visible;
  background: transparent;
  box-shadow: none;
  isolation: isolate;
  animation: floaty 6s ease-in-out infinite;
}
.home-photo::before {
  content: "";
  position: absolute;
  inset: -20px;
  border-radius: 50%;
  background:
    radial-gradient(circle, rgba(201,111,91,.32), transparent 58%),
    radial-gradient(circle, rgba(217,164,65,.20), transparent 72%);
  filter: blur(8px);
  opacity: .88;
  z-index: -2;
  animation: portraitGlow 4.5s ease-in-out infinite;
}
.home-photo::after {
  content: "";
  position: absolute;
  inset: -9px;
  border-radius: 50%;
  border: 1px solid rgba(201,111,91,.38);
  box-shadow:
    0 0 0 8px rgba(255,255,255,.35),
    0 0 34px rgba(201,111,91,.24),
    inset 0 0 18px rgba(217,164,65,.18);
  z-index: -1;
  animation: portraitRing 5.8s ease-in-out infinite;
}
.home-photo img {
  position: relative;
  z-index: 1;
  border-radius: 50%;
  object-fit: cover;
  object-position: center 48%;
  border: 3px solid rgba(250,247,242,.95);
  box-shadow: 0 18px 46px rgba(44,44,44,.16);
}

@keyframes portraitGlow {
  0%,100% { transform: scale(.96); opacity: .62; }
  50%     { transform: scale(1.06); opacity: .95; }
}
@keyframes portraitRing {
  0%,100% { transform: scale(1); opacity: .72; }
  50%     { transform: scale(1.04); opacity: 1; }
}

/* Matching premium title highlight on home + offer card */
.home-headline,
.unlock-title {
  letter-spacing: -.025em;
}
.home-headline em,
.unlock-title em {
  display: inline-block;
  color: transparent;
  background: linear-gradient(135deg, var(--terracotta) 0%, #D88675 45%, var(--gold) 100%);
  -webkit-background-clip: text;
  background-clip: text;
  text-shadow: 0 12px 34px rgba(201,111,91,.18);
}
.unlock-title em {
  filter: drop-shadow(0 8px 22px rgba(217,164,65,.16));
}

/* Button glow + subtle shine */
.btn-primary,
.q-continue,
.btn-unlock {
  position: relative;
  overflow: hidden;
  isolation: isolate;
}
.btn-primary::before,
.q-continue::before,
.btn-unlock::before {
  content: "";
  position: absolute;
  top: 0;
  left: -90%;
  width: 58%;
  height: 100%;
  background: linear-gradient(90deg, transparent, rgba(255,255,255,.38), transparent);
  transform: skewX(-18deg);
  animation: buttonShine 4.2s ease-in-out infinite;
  pointer-events: none;
  z-index: 0;
}
.btn-primary,
.q-continue:not(:disabled) {
  box-shadow: 0 12px 30px rgba(201,111,91,.34), 0 0 0 0 rgba(201,111,91,.28);
  animation: buttonPulse 3.4s ease-in-out infinite;
}
.btn-unlock {
  box-shadow: 0 14px 34px rgba(217,164,65,.34), 0 0 0 0 rgba(217,164,65,.28);
  animation: goldButtonPulse 3.4s ease-in-out infinite;
}
.q-continue:disabled::before { display: none; }
.q-option:hover {
  box-shadow: 0 10px 24px rgba(201,111,91,.10);
}

@keyframes buttonShine {
  0%, 52% { left: -90%; }
  76%, 100% { left: 132%; }
}
@keyframes buttonPulse {
  0%,100% { box-shadow: 0 12px 30px rgba(201,111,91,.32), 0 0 0 0 rgba(201,111,91,.22); }
  50%     { box-shadow: 0 16px 40px rgba(201,111,91,.42), 0 0 0 8px rgba(201,111,91,.06); }
}
@keyframes goldButtonPulse {
  0%,100% { box-shadow: 0 14px 34px rgba(217,164,65,.32), 0 0 0 0 rgba(217,164,65,.22); }
  50%     { box-shadow: 0 18px 44px rgba(217,164,65,.44), 0 0 0 8px rgba(217,164,65,.07); }
}

/* Footer contact */
.footer-contact a {
  color: var(--terracotta-d);
  font-weight: 700;
  text-decoration: none;
}
.footer-contact a:hover { text-decoration: underline; }

/* Premium analyzing screen */
.analyzing-wrap {
  background:
    radial-gradient(circle at 50% 30%, rgba(201,111,91,.12), transparent 34%),
    radial-gradient(circle at 42% 70%, rgba(217,164,65,.12), transparent 38%);
}
.analyzing-panel {
  width: min(540px, 100%);
  background: rgba(255,255,255,.74);
  border: 1px solid rgba(228,219,205,.85);
  border-radius: 28px;
  padding: 42px 34px 34px;
  box-shadow: 0 26px 80px rgba(44,44,44,.13);
  backdrop-filter: blur(14px);
  position: relative;
  overflow: hidden;
}
.analyzing-panel::before {
  content: "";
  position: absolute;
  inset: -80px;
  background: conic-gradient(from 180deg, transparent, rgba(201,111,91,.14), transparent, rgba(217,164,65,.14), transparent);
  animation: panelSweep 8s linear infinite;
  pointer-events: none;
}
.analyzing-panel > * { position: relative; z-index: 1; }
.analyzing-spinner { margin-left: auto; margin-right: auto; }
.analyzing-kicker {
  display: inline-block;
  font-size: 11.5px;
  font-weight: 800;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--terracotta-d);
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 100px;
  padding: 7px 14px;
  margin-bottom: 14px;
}
.analyzing-text {
  min-height: 24px;
  transition: opacity .18s ease;
}
.analysis-progress {
  width: 100%;
  height: 10px;
  background: var(--cream-deep);
  border-radius: 999px;
  overflow: hidden;
  margin: 26px 0 8px;
  box-shadow: inset 0 1px 3px rgba(44,44,44,.08);
}
.analysis-progress-fill {
  width: 0%;
  height: 100%;
  border-radius: 999px;
  background: linear-gradient(90deg, var(--terracotta), var(--gold));
  box-shadow: 0 0 18px rgba(201,111,91,.34);
  transition: width .18s linear;
}
.analysis-percent {
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .08em;
  color: var(--ink-soft);
  margin-bottom: 20px;
}
.analysis-checklist {
  display: grid;
  gap: 9px;
  text-align: left;
}
.analysis-step {
  font-size: 13.5px;
  color: rgba(90,85,80,.62);
  background: rgba(250,247,242,.78);
  border: 1px solid rgba(228,219,205,.8);
  border-radius: 12px;
  padding: 10px 12px 10px 34px;
  position: relative;
  transition: .28s ease;
}
.analysis-step::before {
  content: "";
  position: absolute;
  left: 13px;
  top: 50%;
  width: 9px;
  height: 9px;
  border-radius: 50%;
  background: var(--line);
  transform: translateY(-50%);
  transition: .28s ease;
}
.analysis-step.active {
  color: var(--ink);
  background: #fff;
  border-color: rgba(201,111,91,.34);
  box-shadow: 0 8px 20px rgba(44,44,44,.06);
}
.analysis-step.active::before {
  background: var(--terracotta);
  box-shadow: 0 0 0 5px rgba(201,111,91,.12);
}
@keyframes panelSweep { to { transform: rotate(360deg); } }

/* Mobile results: score first, blueprint second */
@media (max-width: 800px) {
  .score-card { order: 1; }
  .unlock-card { order: 2; }
}

@media (max-width: 480px) {
  .analyzing-panel { padding: 34px 22px 26px; border-radius: 22px; }
}

@media (prefers-reduced-motion: reduce) {
  .home-photo,
  .home-photo::before,
  .home-photo::after,
  .btn-primary,
  .q-continue,
  .btn-unlock,
  .btn-primary::before,
  .q-continue::before,
  .btn-unlock::before,
  .analyzing-panel::before {
    animation: none !important;
  }
}


/* ============================================================
   UPDATE 2 — clean fonts, fixed title crop, stronger CTA glow,
   offer/add-on page
   ============================================================ */
:root {
  --serif: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  --sans: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
}

body { font-family: var(--sans); }

.home-wrap { padding-top: 42px; }
.home-headline,
.unlock-title,
.offer-title {
  font-family: var(--sans);
  font-weight: 800;
  letter-spacing: -.055em;
  line-height: 1.18;
  overflow: visible;
}
.home-headline {
  font-size: clamp(38px, 7vw, 56px);
  padding-bottom: .12em;
  margin-bottom: 14px;
}
.home-headline em,
.unlock-title em,
.offer-title em {
  display: inline-block;
  font-family: var(--sans);
  font-style: italic;
  font-weight: 800;
  line-height: 1.22;
  padding: 0 .04em .12em;
  margin-bottom: -.10em;
  color: transparent;
  background: linear-gradient(135deg, var(--terracotta) 0%, #D78673 45%, var(--gold) 100%);
  -webkit-background-clip: text;
  background-clip: text;
  text-shadow: none;
}
.unlock-title { font-size: clamp(28px, 4vw, 36px); }
.unlock-title em { filter: none; }
.caption-name,
.trust-item strong,
.price-now,
.score-number,
.score-tier-label,
.tl-range { font-family: var(--sans); }

.btn-primary,
.q-continue:not(:disabled),
.btn-unlock {
  animation: ctaGlowOnOff 2.15s ease-in-out infinite !important;
}
.btn-primary::after,
.q-continue::after,
.btn-unlock::after {
  content: "";
  position: absolute;
  inset: -2px;
  border-radius: inherit;
  background: radial-gradient(circle at 50% 50%, rgba(255,255,255,.28), transparent 58%);
  opacity: 0;
  animation: ctaSoftFlash 2.15s ease-in-out infinite;
  pointer-events: none;
  z-index: -1;
}
@keyframes ctaGlowOnOff {
  0%, 100% { transform: translateY(0); box-shadow: 0 10px 24px rgba(201,111,91,.28), 0 0 0 0 rgba(201,111,91,0); }
  50% { transform: translateY(-1px); box-shadow: 0 16px 38px rgba(201,111,91,.48), 0 0 0 9px rgba(201,111,91,.10); }
}
@keyframes ctaSoftFlash {
  0%, 100% { opacity: 0; }
  50% { opacity: 1; }
}
.btn-unlock {
  animation-name: goldCtaGlowOnOff !important;
}
@keyframes goldCtaGlowOnOff {
  0%, 100% { transform: translateY(0); box-shadow: 0 12px 28px rgba(217,164,65,.30), 0 0 0 0 rgba(217,164,65,0); }
  50% { transform: translateY(-1px); box-shadow: 0 18px 44px rgba(217,164,65,.52), 0 0 0 9px rgba(217,164,65,.11); }
}

/* Analyzing: no blueprint step before payment */
.analysis-checklist { grid-template-columns: 1fr; }

/* Result price cleanup */
.unlock-price { margin-top: 2px; }
.price-now { font-size: 44px; letter-spacing: -.04em; }
.price-was,
.price-save { display: none !important; }

/* Offer/add-on page */
.offer-page {
  max-width: 760px;
  margin: 0 auto;
  animation: fadeUp .45s ease both;
}
.offer-back {
  border: none;
  background: transparent;
  color: var(--ink-soft);
  font-weight: 700;
  cursor: pointer;
  margin-bottom: 18px;
}
.offer-back:hover { color: var(--terracotta-d); }
.offer-head {
  text-align: center;
  background: rgba(255,255,255,.72);
  border: 1px solid var(--line);
  border-radius: 24px;
  padding: 30px 26px;
  box-shadow: var(--shadow-md);
  margin-bottom: 18px;
}
.offer-kicker {
  display: inline-block;
  font-size: 11.5px;
  font-weight: 800;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--terracotta-d);
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 999px;
  padding: 7px 14px;
  margin-bottom: 12px;
}
.offer-title {
  font-size: clamp(32px, 5vw, 48px);
  margin-bottom: 10px;
}
.offer-sub {
  max-width: 560px;
  margin: 0 auto;
  color: var(--ink-soft);
  font-size: 15.5px;
}
.offer-stack {
  display: grid;
  gap: 12px;
  margin-bottom: 16px;
}
.offer-item {
  display: grid;
  grid-template-columns: 42px 1fr auto;
  gap: 14px;
  align-items: center;
  background: rgba(255,255,255,.86);
  border: 1.5px solid var(--line);
  border-radius: 20px;
  padding: 18px;
  box-shadow: var(--shadow-sm);
  transition: .18s ease;
}
.offer-item.addon { cursor: pointer; }
.offer-item.addon:hover {
  transform: translateY(-2px);
  border-color: rgba(201,111,91,.42);
  box-shadow: 0 16px 36px rgba(44,44,44,.09);
}
.offer-item.selected {
  border-color: rgba(201,111,91,.62);
  background: #FFF8F3;
  box-shadow: 0 14px 34px rgba(201,111,91,.10);
}
.offer-check,
.offer-toggle {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  font-weight: 900;
  color: #fff;
  background: var(--terracotta);
  box-shadow: 0 8px 20px rgba(201,111,91,.24);
}
.offer-toggle {
  color: var(--terracotta-d);
  background: #fff;
  border: 1.5px solid rgba(201,111,91,.35);
}
.offer-item.selected .offer-toggle {
  color: #fff;
  background: var(--terracotta);
}
.offer-copy h3 {
  font-size: 18px;
  line-height: 1.2;
  margin-bottom: 4px;
  letter-spacing: -.025em;
}
.offer-copy p {
  font-size: 14px;
  color: var(--ink-soft);
  line-height: 1.45;
}
.offer-label {
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: .12em;
  color: var(--terracotta-d);
  font-weight: 800;
  margin-bottom: 5px;
}
.offer-price {
  font-size: 24px;
  font-weight: 800;
  color: var(--ink);
  letter-spacing: -.04em;
}
.offer-actions {
  display: grid;
  gap: 11px;
}
.btn-secondary-checkout {
  width: 100%;
  font-family: var(--sans);
  font-size: 16px;
  font-weight: 800;
  color: var(--terracotta-d);
  background: #fff;
  border: 1.5px solid rgba(201,111,91,.32);
  border-radius: 999px;
  padding: 17px 18px;
  cursor: pointer;
  box-shadow: var(--shadow-sm);
  transition: .16s ease;
}
.btn-secondary-checkout:hover {
  transform: translateY(-1px);
  border-color: var(--terracotta);
  box-shadow: 0 12px 28px rgba(201,111,91,.12);
}

@media (max-width: 800px) {
  .unlock-card { order: 2 !important; }
  .score-card { order: 1 !important; }
}
@media (max-width: 520px) {
  .home-wrap { padding-top: 34px; }
  .home-headline { font-size: clamp(36px, 10vw, 48px); line-height: 1.22; }
  .home-headline em { padding-bottom: .16em; }
  .offer-head { padding: 26px 20px; }
  .offer-item { grid-template-columns: 36px 1fr; }
  .offer-price { grid-column: 2; font-size: 22px; }
}


/* ============================================================
   UPDATE 4 — animated quiz badge + unclipped Claire portrait
   ============================================================ */
.home-badge {
  position: relative;
  overflow: hidden;
  isolation: isolate;
  background: rgba(255,255,255,.96);
  border-color: rgba(201,111,91,.18);
  box-shadow: 0 8px 24px rgba(44,44,44,.05);
  animation: badgeToneShift 4.8s ease-in-out infinite;
}
.home-badge::before {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: inherit;
  background: linear-gradient(135deg, var(--terracotta) 0%, #D78673 45%, var(--gold) 100%);
  transform: scaleX(0);
  transform-origin: left center;
  opacity: 0;
  z-index: -1;
  animation: badgeFillSweep 4.8s ease-in-out infinite;
}
@keyframes badgeFillSweep {
  0%, 18%, 100% { transform: scaleX(0); opacity: 0; }
  34%, 68%      { transform: scaleX(1); opacity: 1; }
  84%           { transform: scaleX(0); opacity: 0; }
}
@keyframes badgeToneShift {
  0%, 18%, 100% {
    color: var(--terracotta-d);
    box-shadow: 0 8px 24px rgba(44,44,44,.05);
  }
  34%, 68% {
    color: #fff;
    box-shadow: 0 14px 34px rgba(201,111,91,.24), 0 0 0 7px rgba(201,111,91,.06);
  }
}

.home-photo {
  display: flex;
  align-items: center;
  justify-content: center;
}
.home-photo img {
  width: calc(100% - 14px);
  height: calc(100% - 14px);
  object-fit: cover;
  object-position: center 34%;
}

@media (max-width: 520px) {
  .home-photo img {
    width: calc(100% - 10px);
    height: calc(100% - 10px);
  }
}

@media (prefers-reduced-motion: reduce) {
  .home-badge,
  .home-badge::before {
    animation: none !important;
  }
}


/* ============================================================
   UPDATE 5 — global corner logo + favicon support
   ============================================================ */
.site-logo {
  position: fixed;
  top: 18px;
  left: 20px;
  z-index: 20;
  width: 96px;
  padding: 8px 10px;
  border-radius: 14px;
  background: rgba(255,255,255,.74);
  border: 1px solid rgba(228,219,205,.88);
  box-shadow: 0 10px 28px rgba(44,44,44,.07);
  backdrop-filter: blur(8px);
  pointer-events: none;
}
.site-logo img {
  display: block;
  width: 100%;
  height: auto;
}

#home .home-wrap { padding-top: 78px; }
#quiz .quiz-stage,
#results .results-stage,
#analyzing .analyzing-wrap {
  position: relative;
}

@media (max-width: 700px) {
  .site-logo {
    width: 74px;
    top: 14px;
    left: 14px;
    padding: 6px 8px;
    border-radius: 12px;
  }
  #home .home-wrap { padding-top: 92px; }
}


/* ============================================================
   UPDATE 6 — transparent logo, mobile no-overlap, slower badge,
   full Claire portrait
   ============================================================ */
.site-logo {
  top: 16px;
  right: 18px;
  left: auto;
  width: 72px;
  padding: 0;
  border: none;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  backdrop-filter: none;
}
.site-logo img {
  width: 100%;
  border-radius: 50%;
  filter: drop-shadow(0 6px 16px rgba(44,44,44,.08));
}
#home .home-wrap { padding-top: 84px; }

.home-badge {
  animation-duration: 9.6s;
}
.home-badge::before {
  animation-duration: 9.6s;
}

.home-photo {
  overflow: visible;
}
.home-photo img {
  width: 100% !important;
  height: 100% !important;
  object-fit: contain !important;
  object-position: center center !important;
  border: none !important;
  box-shadow: none !important;
  transform: scale(.98);
}

@media (max-width: 700px) {
  .site-logo {
    width: 52px;
    top: 12px;
    right: 12px;
    left: auto;
  }
  #home .home-wrap { padding-top: 78px; }
}

/* ============================================================
   PDF SUCCESS PAGE
   ============================================================ */
.success-screen {
  min-height: 100vh;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 84px 24px 48px;
}
.success-card {
  width: min(680px, 100%);
  background: rgba(255,255,255,.82);
  border: 1px solid var(--line);
  border-radius: 28px;
  padding: 38px 30px;
  text-align: center;
  box-shadow: var(--shadow-lg);
}
.success-kicker {
  display: inline-block;
  font-size: 11.5px;
  font-weight: 800;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--terracotta-d);
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 999px;
  padding: 7px 14px;
  margin-bottom: 16px;
}
.success-card h1 {
  font-size: clamp(30px, 6vw, 44px);
  line-height: 1.12;
  letter-spacing: -.05em;
  margin-bottom: 12px;
}
.success-sub {
  max-width: 500px;
  margin: 0 auto 24px;
  color: var(--ink-soft);
  font-size: 16px;
}
.success-summary {
  background: var(--cream);
  border: 1px solid var(--line);
  border-radius: 18px;
  padding: 18px;
  text-align: left;
  max-width: 460px;
  margin: 0 auto 24px;
  color: var(--ink);
}
.success-summary div { margin: 4px 0; }
.success-download { width: min(420px, 100%); justify-content: center; }
.success-download:disabled { opacity: .5; cursor: not-allowed; }
.success-note {
  margin-top: 16px;
  font-size: 12.5px;
  color: var(--ink-soft);
}


/* ============================================================
   TEST PDF DELIVERY PAGE — checkout skipped for testing
   ============================================================ */
.pdf-delivery-page {
  max-width: 780px;
  margin: 0 auto;
  animation: fadeUp .45s ease both;
}
.pdf-ready-card {
  text-align: center;
  background: rgba(255,255,255,.76);
  border: 1px solid var(--line);
  border-radius: 24px;
  padding: 30px 24px;
  box-shadow: var(--shadow-md);
  margin-bottom: 16px;
}
.pdf-test-total {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  margin-top: 14px;
  padding: 8px 14px;
  border-radius: 999px;
  background: #FFF8F3;
  border: 1px solid rgba(201,111,91,.22);
  color: var(--ink-soft);
  font-size: 14px;
}
.pdf-test-total strong { color: var(--terracotta-d); }
.pdf-actions {
  display: grid;
  gap: 11px;
  margin-bottom: 16px;
}
.pdf-preview-wrap {
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 20px;
  box-shadow: var(--shadow-md);
  overflow: hidden;
  min-height: 720px;
}
.pdf-preview-wrap iframe {
  width: 100%;
  height: 720px;
  border: 0;
  display: block;
}
@media (max-width: 520px) {
  .pdf-ready-card { padding: 24px 18px; }
  .pdf-preview-wrap,
  .pdf-preview-wrap iframe { min-height: 560px; height: 560px; }
}

/* ============================================================
   PRODUCT UPDATE — fixed eBook + locked product buttons
   ============================================================ */
.product-offer-page .offer-sub {
  max-width: 610px;
}
.product-stack .offer-item {
  align-items: stretch;
}
.product-item .offer-copy {
  display: flex;
  flex-direction: column;
  gap: 5px;
}
.product-item .offer-copy p {
  margin-bottom: 8px;
}
.locked-product-btn,
.locked-checkout-btn {
  font-family: var(--sans);
}
.locked-product-btn {
  width: fit-content;
  border: 1.5px solid rgba(201,111,91,.34);
  background: #fff;
  color: var(--terracotta-d);
  border-radius: 999px;
  padding: 9px 14px;
  font-size: 12.5px;
  font-weight: 800;
  cursor: pointer;
  box-shadow: var(--shadow-sm);
  transition: .16s ease;
}
.locked-product-btn:hover {
  transform: translateY(-1px);
  border-color: var(--terracotta);
  box-shadow: 0 10px 22px rgba(201,111,91,.12);
}
.locked-checkout-btn {
  cursor: pointer;
}
.delivery-card {
  max-width: 740px;
}
.delivery-products {
  display: grid;
  gap: 12px;
  max-width: 560px;
  margin: 0 auto 22px;
}
.delivery-product-card {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  text-align: left;
  background: var(--cream);
  border: 1px solid var(--line);
  border-radius: 18px;
  padding: 16px 18px;
}
.delivery-product-card span {
  display: block;
  color: var(--terracotta-d);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .12em;
  text-transform: uppercase;
  margin-bottom: 4px;
}
.delivery-product-card h3 {
  font-size: 17px;
  line-height: 1.2;
  margin-bottom: 3px;
}
.delivery-product-card p {
  color: var(--ink-soft);
  font-size: 14px;
  font-weight: 800;
}
@media (max-width: 520px) {
  .product-item .locked-product-btn {
    width: 100%;
    justify-content: center;
  }
  .delivery-product-card {
    align-items: flex-start;
    flex-direction: column;
  }
  .delivery-product-card .locked-product-btn {
    width: 100%;
  }
}


   ============================================================ */
.site-logo {
  top: 14px !important;
  right: 16px !important;
  left: auto !important;
  width: 64px !important;
  height: 64px !important;
  padding: 0 !important;
  border: none !important;
  border-radius: 50% !important;
  background: transparent !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
  overflow: visible !important;
  pointer-events: none;
}
.site-logo img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: contain !important;
  border-radius: 50% !important;
  filter: drop-shadow(0 8px 18px rgba(44,44,44,.12)) !important;
}
@media (max-width: 700px) {
  .site-logo {
    width: 52px !important;
    height: 52px !important;
    top: 10px !important;
    right: 10px !important;
  }
}


/* ============================================================
   FINAL LOGO UPDATE — close-up Claire logo + transparent favicon
   ============================================================ */
.site-logo {
  top: 14px !important;
  right: 16px !important;
  left: auto !important;
  width: 60px !important;
  height: 60px !important;
  padding: 0 !important;
  border: none !important;
  border-radius: 50% !important;
  background: transparent !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
  overflow: hidden !important;
  pointer-events: none;
}
.site-logo img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  border-radius: 50% !important;
  filter: drop-shadow(0 8px 18px rgba(44,44,44,.12)) !important;
}
@media (max-width: 700px) {
  .site-logo {
    width: 50px !important;
    height: 50px !important;
    top: 10px !important;
    right: 10px !important;
  }
}

/* ============================================================
   CHANCE METER — cart progress bar
   ============================================================ */
.chance-meter {
  background: linear-gradient(145deg, rgba(255,255,255,.96), rgba(255,248,243,.96));
  border: 1px solid rgba(201,111,91,.22);
  border-radius: 26px;
  padding: 24px 24px 20px;
  margin: 20px 0 18px;
  box-shadow: 0 20px 54px rgba(44,44,44,.09);
  position: relative;
  overflow: hidden;
}
.chance-meter::before {
  content: "";
  position: absolute;
  inset: -90px;
  background:
    radial-gradient(circle at 16% 20%, rgba(201,111,91,.15), transparent 34%),
    radial-gradient(circle at 88% 72%, rgba(217,164,65,.16), transparent 38%);
  pointer-events: none;
}
.chance-meter > * { position: relative; z-index: 1; }
.chance-meter-top {
  display: flex;
  justify-content: space-between;
  gap: 18px;
  align-items: flex-end;
  margin-bottom: 10px;
}
.chance-score-wrap {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 16px;
  width: 100%;
}
.chance-meter h2 {
  margin: 0;
  font-size: clamp(22px, 3.5vw, 34px);
  line-height: .95;
  letter-spacing: -.06em;
  color: transparent;
  background: linear-gradient(135deg, var(--terracotta) 0%, #D78673 45%, var(--gold) 100%);
  -webkit-background-clip: text;
  background-clip: text;
}
.chance-kicker {
  font-size: 14px;
  font-weight: 900;
  letter-spacing: .16em;
  text-transform: uppercase;
  color: var(--terracotta-d);
  margin-bottom: 10px;
  display: block;
}
.chance-context {
  margin: 0;
  color: var(--ink-soft);
  font-size: 14px;
  font-weight: 800;
  text-align: right;
}
.chance-track {
  height: 20px;
  background: rgba(241,234,223,.9);
  border: 1px solid rgba(228,219,205,.9);
  border-radius: 999px;
  overflow: hidden;
  box-shadow: inset 0 2px 8px rgba(44,44,44,.08);
}
.chance-fill {
  height: 100%;
  width: 0%;
  border-radius: inherit;
  background: linear-gradient(90deg, var(--terracotta), #D78673, var(--gold));
  box-shadow: 0 0 22px rgba(201,111,91,.34);
  position: relative;
  transition: width 1.35s cubic-bezier(.18,.9,.22,1);
}
.chance-fill::after {
  content: "";
  position: absolute;
  top: 0;
  left: -30%;
  width: 32%;
  height: 100%;
  background: linear-gradient(90deg, transparent, rgba(255,255,255,.58), transparent);
  transform: skewX(-18deg);
  animation: chanceShine 2.4s ease-in-out infinite;
}
@keyframes chanceShine {
  0% { left: -35%; }
  55% { left: -35%; }
  100% { left: 115%; }
}
.chance-steps {
  position: relative;
  height: 22px;
  margin-top: 12px;
}
.chance-step {
  position: absolute;
  top: 0;
  font-size: 13px;
  line-height: 1.2;
  color: var(--ink-soft);
  font-weight: 700;
  white-space: nowrap;
}
.chance-step-main { left: 0; }
.chance-step-texting { left: calc(var(--chance-score, 70) * 1%); transform: translateX(-15%); }
.chance-step-full { right: 0; text-align: right; }
.product-legal-note {
  max-width: 690px;
  margin-top: 22px !important;
  color: var(--ink-soft);
  font-weight: 600;
}
.policy-links {
  text-align: center;
  margin: 10px 0 0;
  font-size: 13px;
  color: var(--ink-soft);
}
.policy-links a,
.footer-links a {
  color: var(--terracotta-d);
  font-weight: 800;
  text-decoration: none;
}
.policy-links a:hover,
.footer-links a:hover {
  text-decoration: underline;
}
@media (max-width: 520px) {
  .chance-meter { padding: 21px 18px 18px; border-radius: 22px; }
  .chance-meter-top { margin-bottom: 8px; }
  .chance-score-wrap { flex-direction: row; align-items: flex-end; }
  .chance-kicker { font-size: 12px; margin-bottom: 8px; }
  .chance-context { font-size: 12px; max-width: 44%; }
  .chance-track { height: 18px; }
  .chance-steps { height: 36px; margin-top: 10px; }
  .chance-step { font-size: 11px; white-space: normal; max-width: 92px; }
  .chance-step-main { left: 0; }
  .chance-step-texting { left: calc(var(--chance-score, 70) * 1%); transform: translateX(-28%); text-align: center; }
  .chance-step-full { right: 0; max-width: 70px; }
  .policy-screen { padding-top: 84px; }
}

/* ============================================================
   POLICY / FAQ PAGES
   ============================================================ */
.policy-screen {
  min-height: 100vh;
  padding: 96px 24px 54px;
}
.policy-card {
  max-width: 860px;
  margin: 0 auto;
  background: rgba(255,255,255,.86);
  border: 1px solid var(--line);
  border-radius: 28px;
  padding: clamp(26px, 5vw, 46px);
  box-shadow: var(--shadow-lg);
}
.policy-card h1 {
  font-size: clamp(34px, 6vw, 54px);
  line-height: 1.05;
  letter-spacing: -.06em;
  margin-bottom: 12px;
}
.policy-card h2 {
  font-size: 22px;
  letter-spacing: -.025em;
  margin: 28px 0 8px;
}
.policy-card p,
.policy-card li {
  color: var(--ink-soft);
  font-size: 16px;
  line-height: 1.65;
}
.policy-card ul {
  padding-left: 20px;
}
.policy-back {
  display: inline-block;
  margin-bottom: 22px;
  color: var(--terracotta-d);
  text-decoration: none;
  font-weight: 800;
}
.policy-updated {
  color: var(--ink-soft);
  font-size: 13px;
  margin-bottom: 26px;
}
.faq-item {
  background: var(--cream);
  border: 1px solid var(--line);
  border-radius: 18px;
  padding: 18px 20px;
  margin-top: 12px;
}
.faq-item h2 {
  margin-top: 0;
}
@media (max-width: 520px) {
  .chance-meter { padding: 21px 18px 20px; border-radius: 22px; }
  .chance-meter-top { align-items: flex-start; flex-direction: column; gap: 8px; }
  #chanceScoreLabel { text-align: left; }
  .chance-track { height: 20px; }
  .chance-steps { gap: 6px; }
  .chance-steps span { font-size: 10px; }
  .policy-screen { padding-top: 84px; }
}

/* ============================================================
   FINAL CART COMPACT UPDATE — mobile one-page product layout
   ============================================================ */
.product-offer-page {
  max-width: 760px;
  margin: 0 auto;
}
.product-offer-page .offer-back {
  margin-bottom: 12px;
}
.product-offer-page .chance-meter {
  margin-top: 8px;
  margin-bottom: 14px;
}
.product-offer-page .product-stack {
  gap: 10px;
}
.product-offer-page .offer-actions {
  margin-top: 12px;
}
.product-offer-page .product-legal-note {
  margin-top: 14px !important;
  margin-bottom: 0;
}
.product-offer-page .policy-links {
  margin-top: 8px;
}

/* make desktop tighter too */
.product-offer-page .product-item {
  padding-top: 15px;
  padding-bottom: 15px;
}
.product-offer-page .offer-copy h3 {
  margin-bottom: 2px;
}

@media (max-width: 520px) {
  .results-stage {
    padding: 18px 14px 22px !important;
  }

  .product-offer-page .offer-back {
    margin-bottom: 10px;
    font-size: 13px;
  }

  .product-offer-page .chance-meter {
    padding: 13px 14px 12px !important;
    margin: 6px 0 12px !important;
    border-radius: 18px !important;
  }

  .product-offer-page .chance-meter-top {
    margin-bottom: 6px !important;
  }

  .product-offer-page .chance-score-wrap {
    align-items: center !important;
    gap: 8px !important;
  }

  .product-offer-page .chance-meter h2 {
    font-size: 24px !important;
    line-height: .95 !important;
  }

  .product-offer-page .chance-context {
    font-size: 11px !important;
    line-height: 1.25 !important;
    max-width: 46% !important;
  }

  .product-offer-page .chance-kicker {
    font-size: 10px !important;
    letter-spacing: .14em !important;
    margin-bottom: 7px !important;
  }

  .product-offer-page .chance-track {
    height: 13px !important;
  }

  .product-offer-page .chance-steps {
    height: 24px !important;
    margin-top: 7px !important;
  }

  .product-offer-page .chance-step {
    font-size: 9px !important;
    line-height: 1.1 !important;
    max-width: 72px !important;
  }

  .product-offer-page .chance-step-texting {
    transform: translateX(-32%) !important;
  }

  .product-offer-page .product-stack {
    gap: 8px !important;
  }

  .product-offer-page .product-item {
    grid-template-columns: 30px 1fr auto !important;
    gap: 10px !important;
    padding: 11px 12px !important;
    border-radius: 15px !important;
    min-height: 0 !important;
  }

  .product-offer-page .offer-check,
  .product-offer-page .offer-toggle {
    width: 30px !important;
    height: 30px !important;
    font-size: 15px !important;
  }

  .product-offer-page .offer-label {
    font-size: 9px !important;
    margin-bottom: 2px !important;
  }

  .product-offer-page .offer-copy h3 {
    font-size: 15px !important;
    line-height: 1.15 !important;
    margin: 0 !important;
  }

  .product-offer-page .offer-copy p {
    display: none !important;
  }

  .product-offer-page .locked-product-btn {
    display: none !important;
  }

  .product-offer-page .offer-price {
    font-size: 19px !important;
    align-self: center !important;
  }

  .product-offer-page .offer-actions {
    margin-top: 10px !important;
    gap: 8px !important;
  }

  .product-offer-page .locked-checkout-btn {
    min-height: 46px !important;
    padding: 14px 16px !important;
    font-size: 14px !important;
  }

  .product-offer-page .product-legal-note {
    margin-top: 12px !important;
    font-size: 10.5px !important;
    line-height: 1.4 !important;
  }

  .product-offer-page .policy-links {
    margin-top: 6px !important;
    font-size: 11px !important;
  }
}

@media (max-width: 380px) {
  .product-offer-page .chance-context {
    font-size: 10px !important;
  }
  .product-offer-page .chance-step {
    font-size: 8.5px !important;
  }
  .product-offer-page .offer-copy h3 {
    font-size: 14px !important;
  }
  .product-offer-page .offer-price {
    font-size: 18px !important;
  }
}

/* ============================================================
   FINAL HOMEPAGE COPY + TRUST UPDATE
   ============================================================ */
.site-logo {
  display: none !important;
}
#home .home-wrap {
  padding-top: 54px !important;
}
.home-sub {
  max-width: 560px;
}
.home-reassure {
  margin-top: 16px;
}
.home-microtrust {
  max-width: 520px;
  margin: 22px auto 0;
  color: #5A5550;
  font-size: 14.5px;
  font-weight: 400;
  line-height: 1.45;
  text-align: center;
}
.home-trust {
  margin-top: 30px !important;
}
@media (max-width: 520px) {
  #home .home-wrap {
    padding-top: 38px !important;
  }
  .home-microtrust {
    font-size: 14px;
    max-width: 330px;
    margin-top: 20px;
  }
  .home-trust {
    margin-top: 28px !important;
  }
}


/* FINAL MICRO-TRUST COLOR FIX */
.home-microtrust {
  color: #5A5550 !important;
}


/* FINAL HOMEPAGE TITLE + COPY UPDATE */
.home-headline {
  margin-bottom: 18px;
}
.home-headline .headline-line {
  display: block;
}
.home-headline .headline-line-1,
.home-headline .headline-line-3 {
  color: var(--ink) !important;
  font-style: normal;
}
.home-headline .headline-line-2 {
  font-style: italic;
  color: transparent !important;
  background: linear-gradient(135deg, var(--terracotta) 0%, #D78673 45%, var(--gold) 100%);
  -webkit-background-clip: text;
  background-clip: text;
}
.home-sub {
  max-width: 600px !important;
}
.home-microtrust {
  color: #5A5550 !important;
}
@media (max-width: 520px) {
  .home-headline {
    font-size: clamp(30px, 10vw, 48px) !important;
    line-height: 1.14 !important;
  }
  .home-headline .headline-line-3 {
    margin-top: 2px;
  }
  .home-sub {
    max-width: 340px !important;
  }
}


/* FINAL LOADING PAGE UPDATE */
.site-logo { display: none !important; }


/* ============================================================
   RESULT PAGE OFFER UPGRADE — book image + stronger bridge copy
   ============================================================ */
.why-matters-box {
  margin-top: 22px;
  padding: 16px 18px;
  border: 1px solid rgba(201,111,91,.22);
  border-radius: 16px;
  background: linear-gradient(180deg, rgba(255,249,245,.92), rgba(255,255,255,.95));
}
.why-matters-title {
  font-size: 14px;
  font-weight: 800;
  color: var(--terracotta-d);
  margin-bottom: 8px;
}
.why-matters-box p {
  font-size: 13px;
  color: var(--ink-soft);
  margin: 0;
  line-height: 1.55;
}
.unlock-card {
  background: linear-gradient(180deg, #262421 0%, #171614 100%);
}
.unlock-card::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    radial-gradient(circle at 28% 24%, rgba(255,255,255,.05), transparent 38%),
    radial-gradient(circle at 84% 18%, rgba(217,164,65,.18), transparent 24%),
    radial-gradient(circle at 88% 64%, rgba(217,164,65,.12), transparent 26%);
  pointer-events: none;
}
.unlock-book-wrap {
  display: flex;
  justify-content: center;
  margin: 2px 0 14px;
}
.unlock-book-image {
  width: min(100%, 240px);
  height: auto;
  display: block;
  filter: drop-shadow(0 16px 32px rgba(0,0,0,.35));
}
.unlock-bridge {
  font-size: 17px;
  line-height: 1.25;
  font-weight: 700;
  color: var(--gold);
  text-align: center;
  margin-bottom: 2px;
}
.unlock-plan-title {
  font-family: var(--serif);
  font-size: clamp(24px, 3vw, 42px);
  font-weight: 600;
  line-height: 1.1;
  color: var(--cream);
  text-align: center;
  margin: 0 0 6px;
}
.unlock-title {
  text-align: center;
  margin-bottom: 12px;
}
.unlock-sub {
  font-size: 16px;
  line-height: 1.5;
  color: rgba(250,247,242,.9);
  margin-bottom: 12px;
}
.unlock-sub--secondary {
  color: rgba(250,247,242,.82);
  margin-bottom: 18px;
}
.unlock-list {
  margin-bottom: 22px;
}
.unlock-list li {
  border-bottom-color: rgba(255,255,255,.12);
}
.unlock-price {
  margin-top: 10px;
}
.unlock-price-note {
  font-size: 13px;
  color: rgba(250,247,242,.72);
  margin-bottom: 20px;
}
.btn-unlock {
  font-size: 16px;
}
@media (max-width: 800px) {
  .unlock-book-image {
    width: min(100%, 200px);
  }
}
@media (max-width: 480px) {
  .why-matters-box { padding: 15px 16px; }
  .unlock-card { padding: 26px 20px; }
  .unlock-tag { margin-bottom: 14px; }
  .unlock-book-wrap { margin-bottom: 12px; }
  .unlock-book-image { width: min(100%, 175px); }
  .unlock-bridge { font-size: 16px; }
  .unlock-plan-title { font-size: 20px; }
  .unlock-title { font-size: 28px; }
  .unlock-sub { font-size: 14.5px; }
  .unlock-list li { font-size: 14px; }
}


/* ============================================================
   RESULT OFFER CARD — premium book visual + mobile-friendly heading
   ============================================================ */
.unlock-card {
  background: linear-gradient(160deg, #201f20 0%, #2c2b2b 48%, #181716 100%);
}
.unlock-card::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    radial-gradient(circle at 20% 16%, rgba(255,255,255,.035), transparent 28%),
    radial-gradient(circle at 86% 8%, rgba(217,164,65,.24), transparent 22%),
    radial-gradient(circle at 84% 62%, rgba(217,164,65,.12), transparent 25%);
  pointer-events: none;
}
.unlock-book-wrap {
  position: relative;
  display: grid;
  place-items: center;
  min-height: 280px;
  margin: 0 0 14px;
  isolation: isolate;
  overflow: visible;
}
.unlock-book-glow {
  position: absolute;
  inset: auto;
  width: 300px;
  height: 250px;
  border-radius: 50%;
  background:
    radial-gradient(circle at 50% 45%, rgba(255,223,145,.26) 0%, rgba(217,164,65,.22) 32%, rgba(217,164,65,.10) 56%, transparent 76%);
  filter: blur(14px);
  z-index: 0;
}
.unlock-book-image {
  position: relative;
  z-index: 2;
  width: min(100%, 300px);
  height: auto;
  display: block;
  background: transparent !important;
  mix-blend-mode: screen;
  filter: drop-shadow(0 22px 40px rgba(0,0,0,.42)) drop-shadow(0 0 22px rgba(217,164,65,.10));
}
.unlock-heading {
  text-align: center;
  margin: 4px auto 16px;
  max-width: 450px;
}
.unlock-bridge,
.unlock-plan-title,
.unlock-title {
  font-family: "Playfair Display", var(--serif);
  letter-spacing: -.02em;
  text-wrap: balance;
}
.unlock-bridge {
  font-size: clamp(15px, 1.8vw, 22px);
  line-height: 1.14;
  font-weight: 700;
  color: #D4B35E;
  text-align: center;
  margin: 0 0 6px;
}
.unlock-plan-title {
  font-size: clamp(29px, 3.4vw, 44px);
  font-weight: 600;
  line-height: 1.06;
  color: #F4F1EC;
  text-align: center;
  margin: 0 auto 6px;
  max-width: 13ch;
}
.unlock-title {
  font-size: clamp(34px, 4.1vw, 54px);
  font-weight: 700;
  line-height: 1.02;
  color: #D1856A;
  text-align: center;
  margin: 0 auto 2px;
  max-width: 11.5ch;
  text-shadow: 0 10px 28px rgba(201,111,91,.14);
}
.unlock-sub {
  font-size: 15.5px;
  line-height: 1.47;
  color: rgba(244,241,236,.92);
  margin-bottom: 12px;
}
.unlock-sub--secondary {
  color: rgba(244,241,236,.84);
  margin-bottom: 18px;
}
.unlock-list li {
  font-size: 15px;
  line-height: 1.42;
}
.unlock-price { margin-top: 8px; }
.unlock-price-note {
  font-size: 13px;
  color: rgba(244,241,236,.76);
}
.btn-unlock {
  font-size: 15px;
}
@media (max-width: 900px) {
  .unlock-book-wrap {
    min-height: 248px;
    margin-bottom: 8px;
  }
  .unlock-book-glow {
    width: 220px;
    height: 190px;
  }
    .unlock-book-image {
    width: min(100%, 215px);
  }
}
@media (max-width: 800px) {
  .unlock-card {
    padding: 26px 20px;
  }
  .unlock-book-wrap {
    min-height: 232px;
  }
  .unlock-heading {
    margin-bottom: 12px;
  }
  .unlock-bridge {
    font-size: 15px;
    margin-bottom: 5px;
  }
  .unlock-plan-title {
    font-size: 28px;
    max-width: 13ch;
    margin-bottom: 5px;
  }
  .unlock-title {
    font-size: 32px;
    max-width: 11.5ch;
    margin-bottom: 4px;
  }
  .unlock-sub,
  .unlock-sub--secondary {
    font-size: 14.5px;
  }
  .unlock-list li {
    font-size: 14.2px;
    gap: 10px;
  }
}
@media (max-width: 480px) {
  .unlock-card {
    padding: 24px 18px;
  }
  .unlock-tag {
    margin-bottom: 12px;
  }
  .unlock-book-wrap {
    min-height: 214px;
    margin-bottom: 10px;
  }
  .unlock-book-glow {
    width: 205px;
    height: 170px;
    filter: blur(10px);
  }
  .unlock-book-image {
    width: 192px;
  }
  .unlock-heading {
    max-width: 100%;
    margin-bottom: 10px;
  }
  .unlock-bridge {
    font-size: 13px;
    line-height: 1.18;
    margin-bottom: 5px;
  }
  .unlock-plan-title {
    font-size: 24px;
    max-width: 13ch;
    margin-bottom: 4px;
  }
  .unlock-title {
    font-size: 29px;
    max-width: 11.5ch;
    margin-bottom: 4px;
  }
  .unlock-sub,
  .unlock-sub--secondary {
    font-size: 13.8px;
    line-height: 1.45;
  }
  .unlock-list {
    margin-bottom: 16px;
  }
  .unlock-list li {
    font-size: 13.5px;
    padding: 8px 0;
  }
  .price-now {
    font-size: 34px;
  }
  .unlock-price-note,
  .unlock-guarantee {
    font-size: 12px;
  }
  .btn-unlock {
    font-size: 14.5px;
    padding: 16px;
  }
}

/* ============================================================
   FINAL EXACT RESULT TITLE FORMAT
   Matches reference: 3 single lines, Playfair, no forced wrapping.
   ============================================================ */
.unlock-heading {
  width: 100% !important;
  max-width: 100% !important;
  margin: 6px auto 16px !important;
  text-align: center !important;
}

.unlock-bridge,
.unlock-plan-title,
.unlock-title {
  font-family: "Playfair Display", Georgia, serif !important;
  text-align: center !important;
  white-space: nowrap !important;
  text-wrap: nowrap !important;
  max-width: none !important;
  letter-spacing: -0.015em !important;
}

.unlock-bridge {
  color: #D4B35E !important;
  font-size: clamp(15px, 1.45vw, 20px) !important;
  font-weight: 700 !important;
  line-height: 1.12 !important;
  margin: 0 0 5px !important;
}

.unlock-plan-title {
  color: #F4F1EC !important;
  font-size: clamp(28px, 3vw, 40px) !important;
  font-weight: 500 !important;
  line-height: 1.04 !important;
  margin: 0 0 5px !important;
}

.unlock-title {
  color: #D1856A !important;
  font-size: clamp(34px, 3.55vw, 48px) !important;
  font-weight: 500 !important;
  font-style: normal !important;
  line-height: 1.04 !important;
  margin: 0 !important;
  text-shadow: 0 10px 28px rgba(201,111,91,.14) !important;
}

@media (max-width: 800px) {
  .unlock-heading {
    margin: 4px auto 14px !important;
  }
  .unlock-bridge {
    font-size: 14px !important;
  }
  .unlock-plan-title {
    font-size: 25px !important;
  }
  .unlock-title {
    font-size: 30px !important;
  }
}

@media (max-width: 480px) {
  .unlock-heading {
    margin: 4px auto 12px !important;
  }
  .unlock-bridge {
    font-size: 11.5px !important;
    margin-bottom: 4px !important;
  }
  .unlock-plan-title {
    font-size: 20px !important;
    margin-bottom: 3px !important;
  }
  .unlock-title {
    font-size: 23px !important;
  }
}

@media (max-width: 380px) {
  .unlock-bridge {
    font-size: 10.8px !important;
  }
  .unlock-plan-title {
    font-size: 18px !important;
  }
  .unlock-title {
    font-size: 21px !important;
  }
}


/* ============================================================
   FINAL RESULT TITLE DESKTOP CROP FIX + BIGGER FIRST LINE
   ============================================================ */
@media (min-width: 801px) {
  .unlock-heading {
    width: 100% !important;
    max-width: 100% !important;
    overflow: visible !important;
  }

  .unlock-bridge {
    font-size: clamp(17px, 1.65vw, 22px) !important;
  }

  .unlock-plan-title {
    font-size: clamp(25px, 2.45vw, 34px) !important;
  }

  .unlock-title {
    font-size: clamp(27px, 2.65vw, 37px) !important;
  }
}


/* ============================================================
   FINAL RESULT OFFER TITLE — EXACT 3-LINE FORMAT, NO DESKTOP CROP
   ============================================================ */
.unlock-card {
  container-type: inline-size;
}

.unlock-heading {
  width: 100% !important;
  max-width: 100% !important;
  margin: 8px auto 18px !important;
  padding: 0 !important;
  text-align: center !important;
  overflow: visible !important;
}

.unlock-bridge,
.unlock-plan-title,
.unlock-title {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  font-family: "Playfair Display", Georgia, serif !important;
  text-align: center !important;
  white-space: nowrap !important;
  text-wrap: nowrap !important;
  overflow: visible !important;
  letter-spacing: -0.015em !important;
}

/* Line 1: small */
.unlock-bridge {
  color: #D4B35E !important;
  font-size: clamp(16px, 4.1cqw, 21px) !important;
  font-weight: 700 !important;
  line-height: 1.12 !important;
  margin: 0 0 6px !important;
}

/* Line 2: bigger */
.unlock-plan-title {
  color: #F4F1EC !important;
  font-size: clamp(24px, 6.2cqw, 31px) !important;
  font-weight: 500 !important;
  line-height: 1.04 !important;
  margin: 0 0 5px !important;
}

/* Line 3: biggest */
.unlock-title {
  color: #D1856A !important;
  font-size: clamp(28px, 7.3cqw, 37px) !important;
  font-weight: 500 !important;
  font-style: normal !important;
  line-height: 1.04 !important;
  margin: 0 !important;
  text-shadow: 0 10px 28px rgba(201,111,91,.14) !important;
}

/* Fallback for browsers without cqw support */
@supports not (font-size: 1cqw) {
  .unlock-bridge { font-size: 17px !important; }
  .unlock-plan-title { font-size: 26px !important; }
  .unlock-title { font-size: 30px !important; }
}

@media (max-width: 480px) {
  .unlock-heading {
    margin: 6px auto 14px !important;
  }
  .unlock-bridge {
    font-size: clamp(13px, 4.1cqw, 16px) !important;
  }
  .unlock-plan-title {
    font-size: clamp(22px, 6.2cqw, 27px) !important;
  }
  .unlock-title {
    font-size: clamp(26px, 7.1cqw, 32px) !important;
  }
}


/* ============================================================
   FINAL REQUEST UPDATE — bigger book + cleaner result/footer
   ============================================================ */
.unlock-book-image {
  width: min(100%, 375px) !important;
}

.unlock-guarantee {
  text-align: center !important;
}

.results-disclaimer {
  display: none !important;
}

@media (max-width: 900px) {
  .unlock-book-image {
    width: min(100%, 288px) !important;
  }
}

@media (max-width: 480px) {
  .unlock-book-image {
    width: min(100%, 240px) !important;
  }
}

/* ============================================================
   CHECKOUT PAGE REDESIGN — reference-style cart page
   ============================================================ */
.checkout-page {
  max-width: 1040px;
  margin: 0 auto;
  padding: 34px 22px 52px;
}

.checkout-summary-card {
  background: rgba(255,255,255,.86);
  border: 1px solid rgba(228,219,205,.95);
  border-radius: 22px;
  padding: 22px 30px 18px;
  box-shadow: 0 12px 34px rgba(44,44,44,.06);
  margin-bottom: 16px;
}
.checkout-summary-top {
  display: grid;
  grid-template-columns: minmax(240px, 1.15fr) minmax(280px, 1fr);
  gap: 28px;
  align-items: start;
}
.checkout-percent {
  font-family: var(--serif);
  font-size: clamp(54px, 8vw, 78px);
  font-weight: 800;
  line-height: .9;
  color: #C65333;
  letter-spacing: -.04em;
}
.checkout-percent-label {
  margin-top: 6px;
  font-size: 12px;
  line-height: 1.2;
  letter-spacing: .18em;
  font-weight: 800;
  color: var(--terracotta-d);
}
.checkout-summary-right h2 {
  font-family: var(--serif);
  font-size: clamp(27px, 3vw, 36px);
  line-height: 1.05;
  margin-bottom: 6px;
  color: var(--ink);
}
.checkout-summary-right p {
  color: var(--ink-soft);
  font-size: 16px;
  line-height: 1.45;
  max-width: 430px;
}
.checkout-meter {
  position: relative;
  height: 10px;
  border-radius: 999px;
  background: #F3EADF;
  overflow: visible;
  margin-top: 16px;
}
.checkout-meter-fill {
  width: 70%;
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, #C75537 0%, #E18B46 55%, #E6A930 100%);
  box-shadow: 0 8px 16px rgba(201,111,91,.18);
  transition: width .22s ease;
}
.checkout-marker-row {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 10px;
  margin-top: 12px;
}
.checkout-marker {
  position: relative;
  text-align: center;
  font-size: 13px;
  color: var(--ink-soft);
}
.checkout-marker-dot {
  width: 12px;
  height: 12px;
  border-radius: 50%;
  display: block;
  margin: -18px auto 10px;
  background: #fff;
  border: 2px solid #E5D9C9;
  box-shadow: 0 0 0 4px rgba(250,247,242,.96);
  transition: .18s ease;
}
.checkout-marker.active .checkout-marker-dot {
  background: #D0613F;
  border-color: #D0613F;
}
.checkout-marker-label {
  display: block;
  font-size: 13px;
  color: var(--ink);
}

.checkout-product-stack {
  display: grid;
  gap: 12px;
}
.checkout-product-card {
  position: relative;
  display: grid;
  grid-template-columns: 210px minmax(0, 1fr);
  gap: 22px;
  align-items: center;
  background: rgba(255,255,255,.92);
  border: 1.5px solid rgba(228,219,205,.98);
  border-radius: 22px;
  padding: 18px 20px;
  box-shadow: 0 10px 30px rgba(44,44,44,.05);
  overflow: hidden;
}
.checkout-product-card.main-product-card {
  border-color: rgba(201,111,91,.76);
}
.checkout-product-card.selected {
  box-shadow: 0 16px 36px rgba(201,111,91,.09);
}
.checkout-product-media {
  display: flex;
  align-items: center;
  justify-content: center;
}
.checkout-product-media img {
  max-width: 100%;
  height: auto;
  display: block;
  max-height: 190px;
  object-fit: contain;
}
.checkout-product-media.is-small img { max-height: 170px; }
.checkout-product-body {
  position: relative;
  z-index: 1;
}
.checkout-product-topline {
  display: grid;
  grid-template-columns: 50px auto 1fr auto;
  align-items: center;
  gap: 12px;
  margin-bottom: 8px;
}
.checkout-status-icon {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  border: 1.5px solid rgba(201,111,91,.42);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 22px;
  font-weight: 800;
  color: var(--terracotta);
  background: #fff;
  box-shadow: 0 8px 18px rgba(44,44,44,.04);
}
.checkout-status-icon.is-selected {
  background: linear-gradient(180deg, #D76A49, #C75537);
  color: #fff;
  border-color: transparent;
}
button.checkout-status-icon {
  cursor: pointer;
}
.checkout-top-label {
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .26em;
  color: var(--terracotta-d);
}
.checkout-product-price {
  margin-left: auto;
  font-family: var(--serif);
  font-size: clamp(34px, 4vw, 48px);
  font-weight: 700;
  color: #1F1B18;
  line-height: 1;
  letter-spacing: -.04em;
}
.checkout-product-content h3 {
  font-family: var(--serif);
  font-size: clamp(34px, 4vw, 52px);
  line-height: 1;
  color: #231F1B;
  margin-bottom: 8px;
}
.checkout-product-content p {
  max-width: 640px;
  color: var(--ink-soft);
  font-size: 17px;
  line-height: 1.45;
}
.checkout-feature-list {
  display: flex;
  flex-wrap: wrap;
  gap: 12px 24px;
  margin: 16px 0;
}
.checkout-feature-list span {
  position: relative;
  padding-left: 28px;
  color: var(--ink);
  font-size: 14px;
  font-weight: 600;
}
.checkout-feature-list span::before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 18px;
  height: 18px;
  border-radius: 50%;
  border: 1px solid rgba(201,111,91,.34);
  background: linear-gradient(180deg, #fff, #FFF9F2);
  box-shadow: inset 0 0 0 5px rgba(217,164,65,.06);
}
.checkout-inline-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  border: 1.5px solid rgba(201,111,91,.42);
  background: #fff;
  color: var(--terracotta-d);
  font-family: var(--sans);
  font-size: 16px;
  font-weight: 800;
  padding: 11px 20px;
}
.checkout-inline-btn.included {
  background: linear-gradient(180deg, #E66345, #D05B3B);
  color: #fff;
  border-color: transparent;
  box-shadow: 0 10px 22px rgba(201,111,91,.18);
}
.checkout-action-row {
  display: flex;
  flex-wrap: wrap;
  gap: 12px 18px;
  align-items: center;
}
.checkout-inline-btn.add-btn {
  cursor: pointer;
  transition: .16s ease;
}
.checkout-inline-btn.add-btn:hover {
  transform: translateY(-1px);
  box-shadow: 0 10px 18px rgba(201,111,91,.10);
}
.checkout-product-card.selected .checkout-inline-btn.add-btn {
  background: linear-gradient(180deg, #E66345, #D05B3B);
  color: #fff;
  border-color: transparent;
}
.checkout-action-note {
  font-size: 14px;
  color: var(--ink-soft);
}
.checkout-card-leaf {
  position: absolute;
  right: 10px;
  bottom: 2px;
  width: 145px;
  height: 170px;
  background: url('assets/decor-leaf.svg') no-repeat center/contain;
  opacity: .46;
  pointer-events: none;
}

.checkout-main-btn {
  width: 100%;
  margin-top: 14px;
  border: none;
  border-radius: 18px;
  background: linear-gradient(180deg, #F0AF25 0%, #D79B21 100%);
  color: #382913;
  font-family: var(--serif);
  font-size: clamp(21px, 3vw, 26px);
  font-weight: 700;
  padding: 22px 28px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  box-shadow: 0 12px 0 #C88816, 0 18px 28px rgba(201,111,91,.18);
  cursor: pointer;
}
.checkout-main-btn strong { font-weight: 800; }
.checkout-main-btn-lock,
.checkout-main-btn-arrow {
  font-size: 32px;
  line-height: 1;
}
.checkout-main-btn-arrow {
  font-family: var(--sans);
}
.checkout-review-note {
  text-align: center;
  font-size: 14px;
  color: var(--ink-soft);
  margin: 16px 0 14px;
}
.checkout-review-note::before {
  content: "🛡️";
  margin-right: 8px;
}

.checkout-faq-wrap {
  background: rgba(255,255,255,.82);
  border: 1px solid rgba(228,219,205,.95);
  border-radius: 22px;
  padding: 22px 24px 18px;
  box-shadow: 0 12px 34px rgba(44,44,44,.05);
}
.checkout-faq-head {
  text-align: center;
  margin-bottom: 14px;
}
.checkout-faq-head h2 {
  font-family: var(--serif);
  font-size: clamp(32px, 4vw, 44px);
  line-height: 1.08;
  color: #231F1B;
}
.checkout-faq-head p {
  color: var(--ink-soft);
  font-size: 16px;
}
.checkout-faq-list {
  display: grid;
  gap: 10px;
}
.checkout-faq-item {
  border: 1px solid rgba(228,219,205,.98);
  border-radius: 14px;
  background: #fff;
  overflow: hidden;
}
.checkout-faq-trigger {
  width: 100%;
  padding: 16px 18px;
  border: 0;
  background: #fff;
  display: grid;
  grid-template-columns: 44px 1fr auto;
  gap: 12px;
  align-items: center;
  text-align: left;
  cursor: pointer;
}
.checkout-faq-number {
  width: 30px;
  height: 30px;
  border-radius: 50%;
  border: 1px solid rgba(201,111,91,.3);
  color: var(--terracotta-d);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-weight: 700;
}
.checkout-faq-question {
  font-family: var(--serif);
  font-size: 22px;
  color: #231F1B;
  line-height: 1.1;
}
.checkout-faq-icon {
  font-size: 22px;
  color: var(--terracotta-d);
  transition: transform .18s ease;
}
.checkout-faq-trigger[aria-expanded="true"] .checkout-faq-icon {
  transform: rotate(180deg);
}
.checkout-faq-panel {
  padding: 0 18px 16px 74px;
}
.checkout-faq-panel p {
  color: var(--ink-soft);
  font-size: 16px;
  line-height: 1.5;
}
.checkout-footer-links {
  margin-top: 18px;
  text-align: center;
}

@media (max-width: 960px) {
  .checkout-page { padding: 28px 18px 44px; }
  .checkout-product-card { grid-template-columns: 170px minmax(0, 1fr); gap: 18px; }
  .checkout-product-content h3 { font-size: 28px; }
  .checkout-product-price { font-size: 34px; }
  .checkout-faq-question { font-size: 18px; }
}

@media (max-width: 720px) {
  .checkout-summary-card { padding: 20px 18px 18px; }
  .checkout-summary-top { grid-template-columns: 1fr; gap: 16px; }
  .checkout-summary-right p { max-width: none; }
  .checkout-product-card { grid-template-columns: 1fr; gap: 16px; padding: 18px; }
  .checkout-product-media { justify-content: flex-start; }
  .checkout-product-media img { max-height: 180px; }
  .checkout-product-topline { grid-template-columns: 44px 1fr auto; }
  .checkout-product-content p { font-size: 16px; }
  .checkout-card-leaf { width: 110px; right: -6px; bottom: -6px; opacity: .38; }
  .checkout-main-btn { font-size: 20px; padding: 18px 20px; box-shadow: 0 10px 0 #C88816, 0 16px 24px rgba(201,111,91,.18); }
}

@media (max-width: 520px) {
  .checkout-page { padding: 22px 14px 36px; }
  .checkout-percent { font-size: 52px; }
  .checkout-percent-label { font-size: 11px; letter-spacing: .14em; }
  .checkout-summary-right h2 { font-size: 26px; }
  .checkout-summary-right p { font-size: 15px; }
  .checkout-marker-label { font-size: 11px; }
  .checkout-product-card { border-radius: 18px; }
  .checkout-product-media { justify-content: center; }
  .checkout-product-media img { max-height: 150px; }
  .checkout-product-topline { grid-template-columns: 40px 1fr auto; gap: 10px; }
  .checkout-top-label { grid-column: 2 / 3; }
  .checkout-product-price { font-size: 30px; }
  .checkout-product-content h3 { font-size: 22px; }
  .checkout-product-content p { font-size: 15px; }
  .checkout-feature-list { gap: 10px 14px; margin: 14px 0; }
  .checkout-feature-list span { width: calc(50% - 8px); font-size: 13px; }
  .checkout-feature-list.three-up span { width: calc(50% - 8px); }
  .checkout-action-row { gap: 10px; }
  .checkout-inline-btn { width: 100%; font-size: 15px; }
  .checkout-action-note { font-size: 13px; }
  .checkout-main-btn {
    font-size: 18px;
    line-height: 1.2;
    padding: 16px 16px;
    border-radius: 16px;
    align-items: center;
  }
  .checkout-main-btn-lock,
  .checkout-main-btn-arrow { font-size: 24px; }
  .checkout-faq-wrap { padding: 18px 14px 14px; }
  .checkout-faq-head h2 { font-size: 26px; }
  .checkout-faq-head p { font-size: 14px; }
  .checkout-faq-trigger { grid-template-columns: 38px 1fr auto; padding: 14px 14px; }
  .checkout-faq-number { width: 26px; height: 26px; font-size: 12px; }
  .checkout-faq-question { font-size: 16px; }
  .checkout-faq-panel { padding: 0 14px 14px 52px; }
}


/* ============================================================
   COMPACT CHECKOUT UPDATE — desktop + mobile
   bigger images, shorter cards, Playfair titles, fewer extras
   ============================================================ */

/* Top headline + product titles in Playfair */
.checkout-summary-right h2,
.checkout-product-content h3,
.checkout-faq-head h2 {
  font-family: "Playfair Display", Georgia, serif !important;
}

/* Slightly tighter full checkout page */
.checkout-page {
  max-width: 1040px !important;
  padding-top: 22px !important;
  padding-bottom: 34px !important;
}

/* Top meter more compact */
.checkout-summary-card {
  padding: 16px 26px 14px !important;
  margin-bottom: 12px !important;
}
.checkout-percent {
  font-size: clamp(50px, 6.6vw, 68px) !important;
}
.checkout-summary-right h2 {
  font-size: clamp(25px, 2.55vw, 32px) !important;
}
.checkout-summary-right p {
  font-size: 14.5px !important;
  line-height: 1.35 !important;
}
.checkout-meter {
  margin-top: 12px !important;
}
.checkout-marker-row {
  margin-top: 9px !important;
}

/* Compact product cards */
.checkout-product-stack {
  gap: 9px !important;
}
.checkout-product-card {
  grid-template-columns: 235px minmax(0, 1fr) !important;
  gap: 18px !important;
  padding: 14px 18px !important;
  min-height: 0 !important;
}
.checkout-product-media img {
  max-height: 220px !important;
  width: 92% !important;
  object-fit: contain !important;
}
.checkout-product-media.is-small img {
  max-height: 200px !important;
  width: 94% !important;
}
.checkout-product-topline {
  margin-bottom: 4px !important;
}
.checkout-status-icon {
  width: 34px !important;
  height: 34px !important;
  font-size: 19px !important;
}
.checkout-top-label {
  font-size: 10px !important;
}
.checkout-product-price {
  font-size: clamp(30px, 3vw, 40px) !important;
}
.checkout-product-content h3 {
  font-size: clamp(27px, 3.1vw, 42px) !important;
  line-height: 1.02 !important;
  margin-bottom: 4px !important;
}
.checkout-product-content p {
  font-size: 14px !important;
  line-height: 1.34 !important;
  max-width: 650px !important;
}

/* Remove feature bullet rows to keep design minimal */
.checkout-feature-list {
  display: none !important;
}

/* Keep buttons compact */
.checkout-inline-btn {
  padding: 8px 16px !important;
  font-size: 14px !important;
}
.checkout-action-row {
  margin-top: 8px !important;
}
.checkout-action-note {
  font-size: 13px !important;
}
.checkout-card-leaf {
  opacity: .28 !important;
  width: 115px !important;
  height: 140px !important;
}

/* Checkout CTA + FAQ compact */
.checkout-main-btn {
  margin-top: 10px !important;
  padding: 18px 24px !important;
  font-size: clamp(20px, 2.4vw, 25px) !important;
}
.checkout-review-note {
  margin: 12px 0 10px !important;
}
.checkout-faq-wrap {
  padding: 16px 22px 14px !important;
}
.checkout-faq-head {
  margin-bottom: 10px !important;
}
.checkout-faq-head h2 {
  font-size: clamp(28px, 3.2vw, 38px) !important;
}
.checkout-faq-list {
  gap: 7px !important;
}
.checkout-faq-trigger {
  padding: 12px 16px !important;
}
.checkout-faq-question {
  font-size: 18px !important;
}
.checkout-faq-panel {
  padding-bottom: 12px !important;
}
.checkout-footer-links {
  margin-top: 12px !important;
}

/* Tablet */
@media (max-width: 960px) {
  .checkout-product-card {
    grid-template-columns: 195px minmax(0, 1fr) !important;
    gap: 14px !important;
  }
  .checkout-product-media img {
    max-height: 190px !important;
  }
  .checkout-product-media.is-small img {
    max-height: 175px !important;
  }
  .checkout-product-content h3 {
    font-size: 28px !important;
  }
}

/* Phone: keep desktop-style compact 2-column card, not long stacked cards */
@media (max-width: 720px) {
  .checkout-page {
    padding: 16px 10px 28px !important;
  }

  .checkout-summary-card {
    padding: 14px 14px 13px !important;
    border-radius: 18px !important;
  }

  .checkout-summary-top {
    grid-template-columns: .82fr 1.18fr !important;
    gap: 12px !important;
    align-items: center !important;
  }

  .checkout-percent {
    font-size: 42px !important;
  }

  .checkout-percent-label {
    font-size: 8.5px !important;
    letter-spacing: .12em !important;
  }

  .checkout-summary-right h2 {
    font-size: 20px !important;
    line-height: 1.05 !important;
    margin-bottom: 3px !important;
  }

  .checkout-summary-right p {
    font-size: 11px !important;
    line-height: 1.22 !important;
  }

  .checkout-meter {
    height: 8px !important;
    margin-top: 9px !important;
  }

  .checkout-marker-label {
    font-size: 9px !important;
  }

  .checkout-marker-dot {
    width: 10px !important;
    height: 10px !important;
    margin-top: -16px !important;
    margin-bottom: 7px !important;
  }

  .checkout-product-stack {
    gap: 8px !important;
  }

  .checkout-product-card {
    grid-template-columns: 38% 1fr !important;
    gap: 10px !important;
    padding: 12px !important;
    border-radius: 16px !important;
    align-items: center !important;
  }

  .checkout-product-media {
    justify-content: center !important;
    min-height: 116px !important;
  }

  .checkout-product-media img {
    max-height: 132px !important;
    width: 96% !important;
  }

  .checkout-product-media.is-small img {
    max-height: 122px !important;
    width: 98% !important;
  }

  .checkout-product-topline {
    grid-template-columns: 28px 1fr auto !important;
    gap: 7px !important;
    margin-bottom: 3px !important;
  }

  .checkout-status-icon {
    width: 27px !important;
    height: 27px !important;
    font-size: 16px !important;
  }

  .checkout-top-label {
    font-size: 8px !important;
    letter-spacing: .17em !important;
  }

  .checkout-product-price {
    font-size: 25px !important;
  }

  .checkout-product-content h3 {
    font-size: 18px !important;
    line-height: 1.02 !important;
    margin-bottom: 4px !important;
  }

  .checkout-product-content p {
    font-size: 11px !important;
    line-height: 1.25 !important;
  }

  .checkout-action-row {
    margin-top: 7px !important;
    gap: 6px !important;
  }

  .checkout-inline-btn {
    width: auto !important;
    padding: 7px 11px !important;
    font-size: 10.5px !important;
  }

  .checkout-action-note {
    display: none !important;
  }

  .checkout-card-leaf {
    width: 78px !important;
    height: 96px !important;
    opacity: .22 !important;
  }

  .checkout-main-btn {
    margin-top: 9px !important;
    padding: 13px 13px !important;
    border-radius: 13px !important;
    font-size: 14.5px !important;
    line-height: 1.1 !important;
    box-shadow: 0 7px 0 #C88816, 0 13px 20px rgba(201,111,91,.16) !important;
  }

  .checkout-main-btn-lock,
  .checkout-main-btn-arrow {
    font-size: 18px !important;
  }

  .checkout-review-note {
    font-size: 10px !important;
    margin: 9px 0 8px !important;
  }

  .checkout-faq-wrap {
    padding: 12px 12px 10px !important;
    border-radius: 16px !important;
  }

  .checkout-faq-head h2 {
    font-size: 22px !important;
  }

  .checkout-faq-head p {
    font-size: 11px !important;
  }

  .checkout-faq-trigger {
    grid-template-columns: 28px 1fr auto !important;
    gap: 8px !important;
    padding: 10px 10px !important;
  }

  .checkout-faq-number {
    width: 21px !important;
    height: 21px !important;
    font-size: 10px !important;
  }

  .checkout-faq-question {
    font-size: 13px !important;
  }

  .checkout-faq-panel {
    padding: 0 10px 10px 46px !important;
  }

  .checkout-faq-panel p {
    font-size: 11px !important;
    line-height: 1.35 !important;
  }

  .checkout-footer-links {
    font-size: 10px !important;
  }
}

/* Very narrow phones */
@media (max-width: 390px) {
  .checkout-product-card {
    grid-template-columns: 35% 1fr !important;
    gap: 8px !important;
  }

  .checkout-product-media img {
    max-height: 118px !important;
  }

  .checkout-product-media.is-small img {
    max-height: 110px !important;
  }

  .checkout-product-content h3 {
    font-size: 16.5px !important;
  }

  .checkout-product-content p {
    font-size: 10.5px !important;
  }

  .checkout-product-price {
    font-size: 22px !important;
  }
}


/* ===== checkout image sizing refinement ===== */
/* use refreshed decor leaf asset */
.checkout-card-leaf {
  background-image: url('assets/decor-leaf.svg') !important;
}

/* stronger product-image presence on desktop */
.checkout-product-media {
  min-height: 210px !important;
}
.checkout-product-media img {
  width: 100% !important;
  max-width: 100% !important;
  max-height: 240px !important;
  object-fit: contain !important;
}
.checkout-product-media.is-small img {
  width: 100% !important;
  max-width: 100% !important;
  max-height: 228px !important;
}

/* audiobook image specifically larger */
.checkout-product-card[data-addon="audio"] .checkout-product-media {
  min-height: 225px !important;
}
.checkout-product-card[data-addon="audio"] .checkout-product-media img {
  width: 108% !important;
  max-width: 108% !important;
  max-height: 248px !important;
  transform: translateX(-4px);
}

/* texting card also gets a lift */
.checkout-product-card[data-addon="texting"] .checkout-product-media img {
  width: 102% !important;
  max-height: 220px !important;
}

@media (max-width: 960px) {
  .checkout-product-media {
    min-height: 185px !important;
  }
  .checkout-product-media img {
    max-height: 205px !important;
  }
  .checkout-product-media.is-small img {
    max-height: 195px !important;
  }
  .checkout-product-card[data-addon="audio"] .checkout-product-media {
    min-height: 200px !important;
  }
  .checkout-product-card[data-addon="audio"] .checkout-product-media img {
    max-height: 214px !important;
    width: 108% !important;
  }
}

@media (max-width: 720px) {
  .checkout-product-card {
    grid-template-columns: 40% 1fr !important;
  }
  .checkout-product-media {
    min-height: 142px !important;
    align-items: center !important;
    justify-content: center !important;
  }
  .checkout-product-media img {
    width: 100% !important;
    max-width: 100% !important;
    max-height: 150px !important;
  }
  .checkout-product-media.is-small img {
    width: 100% !important;
    max-width: 100% !important;
    max-height: 145px !important;
  }
  .checkout-product-card[data-addon="audio"] .checkout-product-media {
    min-height: 156px !important;
  }
  .checkout-product-card[data-addon="audio"] .checkout-product-media img {
    width: 112% !important;
    max-width: 112% !important;
    max-height: 165px !important;
    transform: translateX(-6px);
  }
  .checkout-product-card[data-addon="texting"] .checkout-product-media img {
    width: 104% !important;
    max-height: 142px !important;
  }
}

@media (max-width: 390px) {
  .checkout-product-card {
    grid-template-columns: 39% 1fr !important;
  }
  .checkout-product-media {
    min-height: 132px !important;
  }
  .checkout-product-media img {
    max-height: 138px !important;
  }
  .checkout-product-media.is-small img {
    max-height: 136px !important;
  }
  .checkout-product-card[data-addon="audio"] .checkout-product-media {
    min-height: 145px !important;
  }
  .checkout-product-card[data-addon="audio"] .checkout-product-media img {
    max-height: 154px !important;
    width: 114% !important;
    max-width: 114% !important;
  }
}


/* ============================================================
   FINAL CHECKOUT FIT PASS
   Goal: reference-like one-screen desktop, compact mobile, large images.
   ============================================================ */

/* overall tighter */
.results-stage {
  padding-top: 0 !important;
}

.checkout-page {
  max-width: 1040px !important;
  padding: 10px 18px 18px !important;
}

/* top meter compact */
.checkout-summary-card {
  padding: 13px 26px 12px !important;
  margin-bottom: 10px !important;
  border-radius: 18px !important;
}
.checkout-summary-top {
  grid-template-columns: 1fr 1fr !important;
  gap: 20px !important;
  align-items: center !important;
}
.checkout-percent {
  font-size: 58px !important;
  line-height: .86 !important;
}
.checkout-percent-label {
  font-size: 10px !important;
  letter-spacing: .2em !important;
}
.checkout-summary-right h2 {
  font-family: "Playfair Display", Georgia, serif !important;
  font-size: 29px !important;
  line-height: .98 !important;
  margin-bottom: 4px !important;
}
.checkout-summary-right p {
  font-size: 13px !important;
  line-height: 1.22 !important;
}
.checkout-meter {
  height: 8px !important;
  margin-top: 10px !important;
}
.checkout-marker-row {
  margin-top: 7px !important;
}
.checkout-marker-label {
  font-size: 11px !important;
}
.checkout-marker-dot {
  width: 10px !important;
  height: 10px !important;
  margin-top: -15px !important;
  margin-bottom: 7px !important;
}

/* product cards: shorter, reference-like */
.checkout-product-stack {
  gap: 8px !important;
}
.checkout-product-card {
  grid-template-columns: 270px minmax(0, 1fr) !important;
  gap: 16px !important;
  min-height: 158px !important;
  padding: 10px 20px !important;
  border-radius: 18px !important;
  align-items: center !important;
}
.checkout-product-card.main-product-card {
  min-height: 168px !important;
}

/* make image column actually filled */
.checkout-product-media {
  height: 145px !important;
  min-height: 145px !important;
  width: 100% !important;
  align-items: center !important;
  justify-content: center !important;
}
.checkout-product-card.main-product-card .checkout-product-media {
  height: 155px !important;
  min-height: 155px !important;
}
.checkout-product-media img {
  max-width: 98% !important;
  max-height: 98% !important;
  width: auto !important;
  height: 98% !important;
  object-fit: contain !important;
}
.checkout-product-media.is-small img {
  max-width: 98% !important;
  max-height: 98% !important;
  width: auto !important;
  height: 98% !important;
}
/* audio is wide; let it use more width */
.checkout-product-card[data-addon="audio"] .checkout-product-media img {
  width: 98% !important;
  height: auto !important;
  max-height: 98% !important;
  max-width: 108% !important;
}

/* text area compact */
.checkout-product-topline {
  grid-template-columns: 34px auto 1fr auto !important;
  gap: 10px !important;
  margin-bottom: 3px !important;
}
.checkout-status-icon {
  width: 32px !important;
  height: 32px !important;
  font-size: 18px !important;
}
.checkout-top-label {
  font-size: 9px !important;
  letter-spacing: .24em !important;
}
.checkout-product-price {
  font-size: 36px !important;
  line-height: .95 !important;
}
.checkout-product-content h3 {
  font-family: "Playfair Display", Georgia, serif !important;
  font-size: 31px !important;
  line-height: .98 !important;
  margin: 0 0 3px !important;
  white-space: normal !important;
}
.checkout-product-content p {
  font-size: 13.5px !important;
  line-height: 1.24 !important;
  max-width: 630px !important;
}
.checkout-feature-list {
  display: none !important;
}
.checkout-inline-btn {
  padding: 8px 17px !important;
  font-size: 13px !important;
  line-height: 1 !important;
}
.checkout-action-row {
  margin-top: 7px !important;
  gap: 10px !important;
}
.checkout-action-note {
  font-size: 12px !important;
  line-height: 1.2 !important;
}

/* leaf subtle and behind content */
.checkout-card-leaf {
  width: 105px !important;
  height: 130px !important;
  opacity: .24 !important;
  right: 18px !important;
  bottom: 8px !important;
}

/* CTA compact */
.checkout-main-btn {
  margin-top: 10px !important;
  padding: 16px 24px !important;
  border-radius: 15px !important;
  font-size: 23px !important;
  line-height: 1 !important;
  box-shadow: 0 8px 0 #C88816, 0 14px 22px rgba(201,111,91,.16) !important;
}
.checkout-main-btn-lock,
.checkout-main-btn-arrow {
  font-size: 25px !important;
}
.checkout-review-note {
  font-size: 12px !important;
  margin: 9px 0 8px !important;
}

/* FAQ compact and collapsed */
.checkout-faq-wrap {
  padding: 12px 20px 12px !important;
  border-radius: 17px !important;
}
.checkout-faq-head {
  margin-bottom: 8px !important;
}
.checkout-faq-head h2 {
  font-family: "Playfair Display", Georgia, serif !important;
  font-size: 32px !important;
  line-height: 1 !important;
}
.checkout-faq-head p {
  font-size: 13px !important;
  line-height: 1.2 !important;
}
.checkout-faq-list {
  gap: 6px !important;
}
.checkout-faq-trigger {
  padding: 9px 14px !important;
  grid-template-columns: 34px 1fr auto !important;
}
.checkout-faq-number {
  width: 24px !important;
  height: 24px !important;
  font-size: 10px !important;
}
.checkout-faq-question {
  font-size: 15px !important;
}
.checkout-faq-panel {
  padding: 0 14px 10px 58px !important;
}
.checkout-faq-panel p {
  font-size: 12px !important;
  line-height: 1.3 !important;
}
.checkout-footer-links {
  margin-top: 10px !important;
  font-size: 11px !important;
}

/* Desktop height optimization */
@media (min-width: 900px) and (max-height: 900px) {
  .checkout-page {
    transform: scale(.94);
    transform-origin: top center;
    padding-top: 8px !important;
  }
}
@media (min-width: 900px) and (max-height: 780px) {
  .checkout-page {
    transform: scale(.88);
  }
}

/* Mobile: same visual structure, sticky top meter, compact scroll */
@media (max-width: 720px) {
  .checkout-page {
    padding: 8px 8px 18px !important;
  }

  .checkout-summary-card {
    position: sticky !important;
    top: calc(env(safe-area-inset-top, 0px) + 6px) !important;
    z-index: 50 !important;
    padding: 10px 11px 10px !important;
    margin-bottom: 8px !important;
    border-radius: 16px !important;
    background: rgba(255, 251, 246, .97) !important;
    backdrop-filter: blur(10px) !important;
    -webkit-backdrop-filter: blur(10px) !important;
  }

  .checkout-summary-top {
    grid-template-columns: .8fr 1.2fr !important;
    gap: 9px !important;
  }
  .checkout-percent {
    font-size: 34px !important;
  }
  .checkout-percent-label {
    font-size: 7px !important;
    letter-spacing: .14em !important;
  }
  .checkout-summary-right h2 {
    font-size: 16px !important;
    line-height: 1 !important;
    margin-bottom: 2px !important;
  }
  .checkout-summary-right p {
    font-size: 9px !important;
    line-height: 1.15 !important;
  }
  .checkout-meter {
    height: 7px !important;
    margin-top: 8px !important;
  }
  .checkout-marker-label {
    font-size: 8px !important;
  }
  .checkout-marker-dot {
    width: 9px !important;
    height: 9px !important;
    margin-top: -14px !important;
    margin-bottom: 5px !important;
  }

  .checkout-product-stack {
    gap: 7px !important;
  }
  .checkout-product-card {
    grid-template-columns: 42% 1fr !important;
    min-height: 128px !important;
    padding: 9px !important;
    gap: 8px !important;
    border-radius: 15px !important;
  }
  .checkout-product-card.main-product-card {
    min-height: 134px !important;
  }
  .checkout-product-media,
  .checkout-product-card.main-product-card .checkout-product-media {
    height: 116px !important;
    min-height: 116px !important;
  }
  .checkout-product-media img,
  .checkout-product-media.is-small img {
    height: 98% !important;
    max-height: 98% !important;
    max-width: 98% !important;
  }
  .checkout-product-card[data-addon="audio"] .checkout-product-media img {
    width: 110% !important;
    max-width: 110% !important;
    height: auto !important;
    max-height: 98% !important;
  }

  .checkout-product-topline {
    grid-template-columns: 24px 1fr auto !important;
    gap: 6px !important;
    margin-bottom: 2px !important;
  }
  .checkout-status-icon {
    width: 23px !important;
    height: 23px !important;
    font-size: 13px !important;
  }
  .checkout-top-label {
    font-size: 7px !important;
    letter-spacing: .16em !important;
  }
  .checkout-product-price {
    font-size: 21px !important;
  }
  .checkout-product-content h3 {
    font-size: 17px !important;
    line-height: 1 !important;
    margin-bottom: 2px !important;
  }
  .checkout-product-content p {
    font-size: 9.5px !important;
    line-height: 1.17 !important;
  }
  .checkout-inline-btn {
    padding: 6px 10px !important;
    font-size: 9.5px !important;
  }
  .checkout-action-row {
    margin-top: 5px !important;
  }
  .checkout-action-note {
    display: none !important;
  }
  .checkout-card-leaf {
    width: 62px !important;
    height: 76px !important;
    opacity: .18 !important;
    right: 4px !important;
    bottom: 3px !important;
  }

  .checkout-main-btn {
    position: sticky !important;
    bottom: calc(env(safe-area-inset-bottom, 0px) + 8px) !important;
    z-index: 45 !important;
    padding: 12px 12px !important;
    margin-top: 8px !important;
    border-radius: 13px !important;
    font-size: 13.5px !important;
    line-height: 1.08 !important;
    box-shadow: 0 6px 0 #C88816, 0 12px 20px rgba(201,111,91,.16) !important;
  }
  .checkout-main-btn-lock,
  .checkout-main-btn-arrow {
    font-size: 17px !important;
  }
  .checkout-review-note {
    font-size: 9px !important;
    margin: 8px 0 7px !important;
  }
  .checkout-faq-wrap {
    padding: 11px 10px 10px !important;
  }
  .checkout-faq-head h2 {
    font-size: 21px !important;
  }
  .checkout-faq-head p {
    font-size: 10px !important;
  }
  .checkout-faq-trigger {
    grid-template-columns: 26px 1fr auto !important;
    padding: 8px 9px !important;
  }
  .checkout-faq-number {
    width: 19px !important;
    height: 19px !important;
  }
  .checkout-faq-question {
    font-size: 12px !important;
  }
  .checkout-faq-panel {
    padding: 0 9px 9px 38px !important;
  }
  .checkout-faq-panel p {
    font-size: 10px !important;
  }
}

@media (max-width: 390px) {
  .checkout-product-card {
    grid-template-columns: 41% 1fr !important;
    min-height: 118px !important;
  }
  .checkout-product-media,
  .checkout-product-card.main-product-card .checkout-product-media {
    height: 108px !important;
    min-height: 108px !important;
  }
  .checkout-product-content h3 {
    font-size: 15.5px !important;
  }
  .checkout-product-content p {
    font-size: 8.8px !important;
  }
  .checkout-product-price {
    font-size: 19px !important;
  }
}


/* ===== user revision: targeted desktop/mobile refinements ===== */
@media (min-width: 721px) {
  /* top progress/percentage card about 20% shorter */
  .checkout-summary-card {
    padding: 10px 24px 9px !important;
    margin-bottom: 8px !important;
  }
  .checkout-summary-top {
    gap: 16px !important;
  }
  .checkout-percent {
    font-size: 54px !important;
  }
  .checkout-summary-right h2 {
    font-size: 27px !important;
    line-height: .96 !important;
    margin-bottom: 2px !important;
  }
  .checkout-summary-right p {
    font-size: 12.5px !important;
    line-height: 1.16 !important;
  }
  .checkout-meter {
    margin-top: 8px !important;
  }
  .checkout-marker-row {
    margin-top: 5px !important;
  }

  /* first two product images should fill about 99% without touching edges */
  .checkout-product-card.main-product-card .checkout-product-media,
  .checkout-product-card[data-addon="texting"] .checkout-product-media {
    height: 152px !important;
    min-height: 152px !important;
  }
  .checkout-product-card.main-product-card .checkout-product-media img,
  .checkout-product-card[data-addon="texting"] .checkout-product-media img {
    height: 99% !important;
    max-height: 99% !important;
    max-width: 99% !important;
    width: auto !important;
    object-fit: contain !important;
  }

  /* FAQ bars 30% less tall */
  .checkout-faq-list {
    gap: 5px !important;
  }
  .checkout-faq-trigger {
    min-height: 38px !important;
    padding: 6px 12px !important;
    grid-template-columns: 30px 1fr auto !important;
  }
  .checkout-faq-number {
    width: 20px !important;
    height: 20px !important;
    font-size: 9px !important;
  }
  .checkout-faq-question {
    font-size: 14px !important;
    line-height: 1.15 !important;
  }
  .checkout-faq-panel {
    padding: 0 12px 8px 48px !important;
  }
  .checkout-faq-panel p {
    font-size: 11px !important;
    line-height: 1.24 !important;
  }
}

@media (max-width: 720px) {
  /* mobile product description/subtext 15% bigger */
  .checkout-product-content p {
    font-size: 11px !important;
    line-height: 1.24 !important;
  }
}


/* ===== audio preview button ===== */
.audio-action-row {
  align-items: center !important;
}

.audio-preview-btn {
  border-color: rgba(201,111,91,.62) !important;
  color: var(--terracotta-d) !important;
  background: rgba(255,255,255,.92) !important;
  white-space: nowrap !important;
}

.audio-preview-btn.is-playing {
  background: linear-gradient(180deg, #E66345, #D05B3B) !important;
  color: #fff !important;
  border-color: transparent !important;
}

@media (max-width: 720px) {
  .audio-action-row {
    gap: 5px !important;
  }

  .audio-preview-btn {
    padding: 6px 9px !important;
    font-size: 9.5px !important;
  }
}

@media (max-width: 390px) {
  .audio-preview-btn {
    font-size: 8.5px !important;
    padding: 5px 7px !important;
  }
}


/* ============================================================
   HOME CTA COPY UPDATE
   ============================================================ */
.home-support-line {
  margin-top: 11px !important;
  margin-bottom: 7px !important;
  text-align: center !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  line-height: 1.35 !important;
  color: #5A5550 !important;
}
.home-reassure {
  margin-top: 0 !important;
  margin-bottom: 18px !important;
  text-align: center !important;
  font-size: 13.5px !important;
  line-height: 1.35 !important;
  color: #5A5550 !important;
}
.home-microtrust {
  margin-top: 0 !important;
  text-align: center !important;
  font-size: 14.5px !important;
  font-weight: 400 !important;
  line-height: 1.45 !important;
  color: #5A5550 !important;
}
@media (max-width: 520px) {
  .home-support-line { font-size: 14.5px !important; }
  .home-reassure { font-size: 13px !important; }
  .home-microtrust { font-size: 14px !important; }
}

/* ============================================================
   INLINE QUIZ QUESTION PROGRESS BAR
   ============================================================ */
.q-inline-progress {
  width: 100%;
  height: 6px;
  border-radius: 999px;
  background: #E4DDD3;
  overflow: hidden;
  margin: 10px 0 20px;
}
.q-inline-progress-fill {
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, #C96F5B 0%, #D9A441 100%);
  transition: width .35s ease;
}
@media (max-width: 520px) {
  .q-inline-progress {
    margin: 9px 0 18px;
  }
}


/* ============================================================
   PRIVACY / TRUST COPY UPDATES
   ============================================================ */
.home-reassure--simple {
  margin-top: 13px !important;
  margin-bottom: 0 !important;
  text-align: center !important;
  font-size: 16px !important;
  font-weight: 600 !important;
  line-height: 1.35 !important;
  color: #5A5550 !important;
}

.capture-privacy,
.capture-note a,
.capture-privacy a {
  color: #9F5A4A;
}

.capture-privacy {
  margin-top: 12px;
  text-align: center;
  font-size: 13px;
  line-height: 1.45;
  color: #5A5550;
}

.capture-note a,
.capture-privacy a {
  text-decoration: underline;
  text-underline-offset: 2px;
  font-weight: 600;
}

.results-policy-links {
  margin-top: 12px !important;
  text-align: center !important;
  font-size: 13px !important;
}

@media (max-width: 520px) {
  .home-reassure--simple {
    font-size: 15.5px !important;
  }
}


/* ============================================================
   CHECKOUT MAIN BUTTON TWO-LINE LAYOUT
   ============================================================ */
.checkout-main-btn {
  position: relative !important;
  display: grid !important;
  grid-template-columns: 28px 1fr 28px !important;
  align-items: center !important;
  column-gap: 8px !important;
  text-align: center !important;
}

.checkout-main-btn-copy {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  line-height: 1.12 !important;
  min-width: 0 !important;
}

.checkout-main-btn-title {
  display: block !important;
  font-weight: 800 !important;
}

.checkout-main-btn-total {
  display: block !important;
  font-weight: 700 !important;
}

.checkout-main-btn-arrow {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: 18px !important;
  font-weight: 900 !important;
  line-height: 1 !important;
}

@media (max-width: 520px) {
  .checkout-main-btn {
    grid-template-columns: 24px 1fr 24px !important;
    column-gap: 6px !important;
  }

  .checkout-main-btn-title,
  .checkout-main-btn-total {
    font-size: 13.5px !important;
  }

  .checkout-main-btn-arrow {
    font-size: 17px !important;
  }
}


/* ============================================================
   FINAL HOME / QUIZ / MOBILE CHECKOUT FIXES
   ============================================================ */
.quiz-progress-bar {
  display: none !important;
}

.home-headline,
.home-headline .headline-line,
.headline-line-1,
.headline-line-2,
.headline-line-3 {
  font-family: var(--serif) !important;
  font-style: normal !important;
  font-weight: 800 !important;
}

.home-reassure--simple {
  text-align: center !important;
  display: block !important;
  width: 100% !important;
  font-size: 16px !important;
}

@media (max-width: 720px) {
  .checkout-main-btn {
    position: sticky !important;
    bottom: calc(12px + env(safe-area-inset-bottom)) !important;
    z-index: 80 !important;
    box-shadow: 0 14px 28px rgba(128, 78, 16, .28) !important;
  }

  .checkout-wrap {
    padding-bottom: calc(24px + env(safe-area-inset-bottom)) !important;
  }
}


/* ============================================================
   HARD FIX: HOMEPAGE HEADLINE PLAYFAIR + NO ITALIC
   ============================================================ */
#home .home-headline,
#home .home-headline span,
#home .headline-line,
#home .headline-line-1,
#home .headline-line-2,
#home .headline-line-3 {
  font-family: "Playfair Display", Georgia, "Times New Roman", serif !important;
  font-style: normal !important;
  font-synthesis: none !important;
  font-weight: 800 !important;
  letter-spacing: -0.045em !important;
  transform: none !important;
}

#home .headline-line-2 {
  font-style: normal !important;
  font-family: "Playfair Display", Georgia, "Times New Roman", serif !important;
}

/* ============================================================
   HARD FIX: MOBILE CHECKOUT BUTTON FIXED AT BOTTOM
   ============================================================ */
@media (max-width: 720px) {
  body:has(.checkout-wrap) .checkout-main-btn,
  .checkout-wrap .checkout-main-btn {
    position: fixed !important;
    left: 16px !important;
    right: 16px !important;
    bottom: calc(12px + env(safe-area-inset-bottom)) !important;
    width: auto !important;
    max-width: none !important;
    z-index: 9999 !important;
    margin: 0 !important;
    box-shadow: 0 14px 30px rgba(128, 78, 16, .32) !important;
  }

  .checkout-wrap {
    padding-bottom: calc(118px + env(safe-area-inset-bottom)) !important;
  }

  .checkout-review-note {
    margin-bottom: 18px !important;
  }
}


/* ============================================================
   TRUE MOBILE FIXED CHECKOUT BUTTON
   Appended directly to body so transformed screen parents cannot break it.
   ============================================================ */
.mobile-fixed-checkout-btn {
  display: none;
}

@media (max-width: 720px) {
  body.is-checkout-mode .checkout-main-btn {
    display: none !important;
  }

  body.is-checkout-mode .mobile-fixed-checkout-btn {
    display: grid !important;
    position: fixed !important;
    left: 14px !important;
    right: 14px !important;
    bottom: calc(12px + env(safe-area-inset-bottom)) !important;
    width: auto !important;
    grid-template-columns: 24px 1fr 24px !important;
    align-items: center !important;
    column-gap: 6px !important;
    min-height: 58px !important;
    padding: 10px 13px !important;
    border: 0 !important;
    border-radius: 999px !important;
    z-index: 2147483647 !important;
    background: linear-gradient(180deg, #E9BF5B 0%, #D7A132 100%) !important;
    color: #2B1B16 !important;
    box-shadow: 0 16px 34px rgba(128, 78, 16, .35) !important;
    font-family: var(--sans) !important;
    cursor: pointer !important;
  }

  body.is-checkout-mode .mobile-fixed-checkout-btn .checkout-main-btn-copy {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    line-height: 1.1 !important;
    text-align: center !important;
  }

  body.is-checkout-mode .mobile-fixed-checkout-btn .checkout-main-btn-title,
  body.is-checkout-mode .mobile-fixed-checkout-btn .checkout-main-btn-total {
    font-size: 13.5px !important;
  }

  body.is-checkout-mode .mobile-fixed-checkout-btn .checkout-main-btn-title {
    font-weight: 800 !important;
  }

  body.is-checkout-mode .mobile-fixed-checkout-btn .checkout-main-btn-total {
    font-weight: 700 !important;
  }

  body.is-checkout-mode .mobile-fixed-checkout-btn .checkout-main-btn-arrow {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-size: 18px !important;
    font-weight: 900 !important;
  }

  body.is-checkout-mode .checkout-wrap {
    padding-bottom: calc(130px + env(safe-area-inset-bottom)) !important;
  }
}


/* ============================================================
   TEST BYPASS SUCCESS PAGE
   ============================================================ */
.success-test-note {
  background: rgba(217, 164, 65, .14) !important;
  border: 1px solid rgba(217, 164, 65, .35) !important;
  border-radius: 16px !important;
  padding: 14px 16px !important;
}

.delivery-product-card.is-unlocked {
  border-color: rgba(201,111,91,.35) !important;
  background: rgba(255,255,255,.92) !important;
}

.unlocked-product-btn {
  background: linear-gradient(180deg, #E9BF5B 0%, #D7A132 100%) !important;
  color: #2B1B16 !important;
  border: 0 !important;
}


/* ============================================================
   LIVE STRIPE DELIVERY SUCCESS PAGE
   ============================================================ */
.delivery-product-card.is-unlocked {
  border-color: rgba(201,111,91,.35) !important;
  background: rgba(255,255,255,.92) !important;
}

.unlocked-product-btn {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  background: linear-gradient(180deg, #E9BF5B 0%, #D7A132 100%) !important;
  color: #2B1B16 !important;
  border: 0 !important;
  text-decoration: none !important;
  border-radius: 999px !important;
  padding: 10px 16px !important;
  font-weight: 800 !important;
  text-align: center !important;
}

.success-test-note {
  background: rgba(217, 164, 65, .14) !important;
  border: 1px solid rgba(217, 164, 65, .35) !important;
  border-radius: 16px !important;
  padding: 14px 16px !important;
}


/* ============================================================
   DELIVERY BYPASS TEST SUCCESS PAGE
   ============================================================ */
.delivery-product-card.is-unlocked {
  border-color: rgba(201,111,91,.35) !important;
  background: rgba(255,255,255,.94) !important;
}

.unlocked-product-btn {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  background: linear-gradient(180deg, #E9BF5B 0%, #D7A132 100%) !important;
  color: #2B1B16 !important;
  border: 0 !important;
  text-decoration: none !important;
  border-radius: 999px !important;
  padding: 10px 16px !important;
  font-weight: 800 !important;
  text-align: center !important;
}

.success-test-note {
  background: rgba(217, 164, 65, .14) !important;
  border: 1px solid rgba(217, 164, 65, .35) !important;
  border-radius: 16px !important;
  padding: 14px 16px !important;
}


/* ============================================================
   THANK YOU / DELIVERY PAGE REFINEMENT
   ============================================================ */
.thankyou-screen {
  padding-top: 60px;
  padding-bottom: 40px;
}
.thankyou-card {
  width: min(760px, 100%);
  padding: 42px 30px 30px;
  background: rgba(255,255,255,.88);
}
.thankyou-hero {
  margin-bottom: 24px;
}
.thankyou-portrait-wrap {
  position: relative;
  width: 132px;
  height: 132px;
  margin: 0 auto 18px;
}
.thankyou-portrait-glow {
  position: absolute;
  inset: 8px;
  border-radius: 50%;
  background: radial-gradient(circle at 50% 35%, rgba(217,164,65,.32), rgba(201,111,91,.16) 55%, rgba(201,111,91,0) 75%);
  filter: blur(6px);
}
.thankyou-portrait {
  position: relative;
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 50%;
  border: 4px solid rgba(255,255,255,.95);
  box-shadow: 0 18px 36px rgba(43,27,22,.12);
}
.thankyou-card h1 {
  font-family: var(--serif);
  font-size: clamp(40px, 5vw, 56px);
  line-height: 1;
  letter-spacing: -.04em;
  margin-bottom: 12px;
}
.thankyou-sub {
  max-width: 620px;
  font-size: 20px;
  line-height: 1.45;
  margin-bottom: 18px;
}
.thankyou-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  justify-content: center;
  margin: 0 auto 6px;
}
.thankyou-chip {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 10px 16px;
  border-radius: 999px;
  background: rgba(255,248,243,.95);
  border: 1px solid rgba(201,111,91,.22);
  color: var(--terracotta-d);
  font-size: 13px;
  font-weight: 700;
}
.thankyou-product-card {
  background: rgba(255,255,255,.96) !important;
  border-radius: 22px;
  padding: 18px 20px;
}
.thankyou-product-card h3 {
  font-size: 20px;
  font-family: var(--serif);
  line-height: 1.15;
}
.thankyou-product-card p {
  font-size: 15px;
}
.thankyou-support-note {
  margin-top: 20px;
  font-size: 14px;
}
@media (max-width: 640px) {
  .thankyou-card {
    padding: 34px 18px 24px;
    border-radius: 24px;
  }
  .thankyou-portrait-wrap {
    width: 110px;
    height: 110px;
    margin-bottom: 16px;
  }
  .thankyou-card h1 {
    font-size: 38px;
  }
  .thankyou-sub {
    font-size: 17px;
    margin-bottom: 16px;
  }
  .thankyou-chip {
    width: 100%;
    font-size: 12.5px;
  }
}


/* ============================================================
   CHECKOUT PAGE REQUESTED CHANGES — 10 POINT UPDATE
   ============================================================ */
.checkout-percent {
  line-height: .9 !important;
}
.checkout-percent-label {
  letter-spacing: .18em !important;
}
.checkout-social-proof {
  text-align: center;
  color: #5A5550;
  font-size: 13px;
  font-weight: 700;
  margin: 9px 0 0;
}
.checkout-social-proof strong {
  color: #C96F5B;
  font-weight: 900;
}
.addon-card .checkout-product-price {
  display: none !important;
}
.product-spec {
  display: inline-flex;
  align-items: center;
  margin-left: 8px;
  transform: translateY(-3px);
  padding: 4px 9px;
  border-radius: 999px;
  background: rgba(255,248,243,.94);
  border: 1px solid rgba(201,111,91,.22);
  color: #B55242;
  font-family: var(--sans);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .03em;
  white-space: nowrap;
}
.checkout-inline-btn.add-btn {
  background: linear-gradient(180deg, #D97862 0%, #C96F5B 100%) !important;
  color: #fff !important;
  border-color: transparent !important;
  box-shadow: 0 12px 24px rgba(201,111,91,.18) !important;
}
.checkout-inline-btn.add-btn:hover {
  transform: translateY(-1px);
  box-shadow: 0 15px 28px rgba(201,111,91,.25) !important;
}
.addon-card.selected .checkout-inline-btn.add-btn {
  background: linear-gradient(180deg, #A94737 0%, #8F382B 100%) !important;
  color: #fff !important;
}
.checkout-payment-icons {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  margin: 9px 0 18px;
}
.checkout-payment-icons span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 58px;
  height: 26px;
  padding: 0 10px;
  border-radius: 7px;
  background: #fff;
  border: 1px solid rgba(43,27,22,.13);
  color: #3F3935;
  font-size: 11px;
  font-weight: 900;
  box-shadow: 0 6px 14px rgba(43,27,22,.06);
}
.checkout-main-btn-lock {
  color: #2B1B16 !important;
}
.checkout-main-btn-lock svg {
  display: block;
}
.checkout-review-note {
  font-weight: 700 !important;
  color: #6B625C !important;
}
.checkout-faq-item.is-open .checkout-faq-icon,
.checkout-faq-trigger[aria-expanded="true"] .checkout-faq-icon {
  transform: rotate(180deg);
}
@media (max-width: 720px) {
  .product-spec {
    display: flex;
    width: fit-content;
    margin: 6px 0 0;
    transform: none;
  }
  .checkout-payment-icons span {
    min-width: 52px;
  }
}


/* ============================================================
   CHECKOUT SOCIAL PROOF + PAYMENT ICON REFINEMENT
   ============================================================ */
.checkout-summary-card .checkout-social-proof {
  text-align: center !important;
  margin: 8px auto 8px !important;
  color: #5A5550 !important;
  font-size: 14px !important;
  font-weight: 800 !important;
  line-height: 1.1 !important;
  position: relative !important;
  z-index: 3 !important;
}
.checkout-summary-card .checkout-social-proof strong {
  color: #C96F5B !important;
  font-weight: 950 !important;
}
.checkout-payment-icons {
  gap: 7px !important;
  flex-wrap: wrap !important;
  margin: 10px 0 18px !important;
}
.checkout-payment-icons .pay-icon {
  height: 28px !important;
  min-width: 54px !important;
  padding: 0 9px !important;
  border-radius: 6px !important;
  background: #fff !important;
  border: 1px solid rgba(43,27,22,.14) !important;
  color: #1f2933 !important;
  font-size: 11px !important;
  font-weight: 900 !important;
  letter-spacing: .02em !important;
  box-shadow: 0 6px 14px rgba(43,27,22,.07) !important;
  position: relative !important;
  overflow: hidden !important;
}
.pay-visa {
  color: #1A1F71 !important;
  font-style: italic !important;
  font-size: 13px !important;
}
.pay-mastercard {
  min-width: 58px !important;
}
.pay-mastercard i,
.pay-mastercard b {
  width: 17px;
  height: 17px;
  border-radius: 50%;
  display: inline-block;
  position: absolute;
  top: 5px;
}
.pay-mastercard i {
  left: 10px;
  background: #EB001B;
}
.pay-mastercard b {
  left: 22px;
  background: #F79E1B;
  opacity: .9;
}
.pay-mastercard em {
  position: relative;
  z-index: 2;
  margin-left: 22px;
  font-style: normal;
  font-size: 10px;
  color: #111;
}
.pay-amex {
  background: #2E77BC !important;
  color: #fff !important;
  font-size: 11px !important;
}
.pay-apple {
  font-size: 12px !important;
  letter-spacing: 0 !important;
}
.pay-google strong {
  color: #4285F4;
  font-size: 14px;
  margin-right: 2px;
}
.pay-amazon {
  min-width: 78px !important;
  text-transform: lowercase !important;
  letter-spacing: 0 !important;
}
.pay-amazon::after {
  content: "";
  position: absolute;
  left: 34px;
  right: 9px;
  bottom: 5px;
  height: 2px;
  border-bottom: 2px solid #FF9900;
  border-radius: 50%;
}
@media (max-width: 720px) {
  .checkout-summary-card .checkout-social-proof {
    margin: 7px auto 8px !important;
    font-size: 13px !important;
  }
  .checkout-payment-icons .pay-icon {
    min-width: 50px !important;
    height: 26px !important;
    font-size: 10px !important;
  }
}

/* ============================================================
   CHECKOUT FINAL POLISH — remove score, full-width headline,
   real SVG payment badges, larger mobile covers
   ============================================================ */
.checkout-summary-card {
  padding: 18px 28px 16px !important;
  border-radius: 22px !important;
  background: linear-gradient(180deg, rgba(255,255,255,.96), rgba(255,248,242,.92)) !important;
  border: 1px solid rgba(228,219,205,.98) !important;
}
.checkout-summary-top {
  display: block !important;
  width: 100% !important;
}
.checkout-summary-left,
.checkout-percent,
.checkout-percent-label {
  display: none !important;
}
.checkout-summary-headline {
  width: 100% !important;
  max-width: 820px !important;
  margin: 0 auto !important;
  text-align: center !important;
}
.checkout-summary-headline h2 {
  font-family: "Playfair Display", Georgia, serif !important;
  font-size: clamp(32px, 3.8vw, 45px) !important;
  line-height: .98 !important;
  letter-spacing: -.025em !important;
  color: #241812 !important;
  margin: 0 0 7px !important;
}
.checkout-summary-headline p {
  max-width: 720px !important;
  margin: 0 auto !important;
  color: #5F514B !important;
  font-size: 16px !important;
  line-height: 1.34 !important;
  font-weight: 600 !important;
}
.checkout-summary-card .checkout-social-proof {
  display: block !important;
  width: fit-content !important;
  min-width: 190px !important;
  text-align: center !important;
  margin: 13px auto 12px !important;
  padding: 7px 16px !important;
  border-radius: 999px !important;
  background: rgba(255,255,255,.84) !important;
  border: 1px solid rgba(201,111,91,.16) !important;
  color: #5A5550 !important;
  font-size: 14px !important;
  font-weight: 800 !important;
  line-height: 1 !important;
  box-shadow: 0 8px 18px rgba(43,27,22,.045) !important;
}
.checkout-summary-card .checkout-social-proof strong {
  color: #C96F5B !important;
  font-weight: 950 !important;
}
.checkout-meter {
  height: 9px !important;
  margin-top: 0 !important;
  overflow: visible !important;
}
.checkout-marker-row {
  margin-top: 13px !important;
}
.checkout-marker-dot {
  margin-top: -20px !important;
  margin-bottom: 9px !important;
  box-shadow: 0 0 0 5px rgba(255,248,242,.98) !important;
}
.checkout-product-card {
  background: linear-gradient(180deg, rgba(255,255,255,.98), rgba(255,250,245,.93)) !important;
  border: 1.5px solid rgba(224,211,196,.95) !important;
  box-shadow: 0 12px 30px rgba(43,27,22,.055) !important;
}
.checkout-product-card.selected {
  border-color: rgba(201,111,91,.62) !important;
  box-shadow: 0 16px 38px rgba(201,111,91,.12) !important;
}
.checkout-product-topline {
  grid-template-columns: 34px 1fr auto !important;
  align-items: center !important;
}
.addon-card .checkout-product-price {
  display: block !important;
}
.checkout-product-price {
  justify-self: end !important;
  margin-left: 12px !important;
}
.checkout-payment-icons {
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  margin: 10px auto 18px !important;
  padding: 0 !important;
}
.checkout-payment-icons img {
  display: block !important;
  width: min(432px, 96%) !important;
  height: auto !important;
  max-height: 48px !important;
  filter: drop-shadow(0 8px 14px rgba(43,27,22,.06)) !important;
}
.checkout-inline-btn.add-btn {
  background: linear-gradient(180deg, #D97862 0%, #C96F5B 100%) !important;
  color: #fff !important;
  border-color: transparent !important;
  box-shadow: 0 12px 24px rgba(201,111,91,.2) !important;
}
.addon-card.selected .checkout-inline-btn.add-btn,
.checkout-product-card.selected .checkout-inline-btn.add-btn {
  background: linear-gradient(180deg, #A94737 0%, #8F382B 100%) !important;
  color: #fff !important;
}

@media (min-width: 721px) {
  .checkout-product-card {
    grid-template-columns: 285px minmax(0, 1fr) !important;
    padding: 12px 22px !important;
    gap: 18px !important;
  }
  .checkout-product-card.main-product-card .checkout-product-media,
  .checkout-product-card[data-addon="texting"] .checkout-product-media {
    height: 168px !important;
    min-height: 168px !important;
  }
  .checkout-product-card[data-addon="audio"] .checkout-product-media {
    height: 174px !important;
    min-height: 174px !important;
  }
}

@media (max-width: 720px) {
  .checkout-page {
    padding: 10px 9px 92px !important;
  }
  .checkout-summary-card {
    padding: 13px 13px 12px !important;
    border-radius: 17px !important;
  }
  .checkout-summary-headline h2 {
    font-size: 24px !important;
    line-height: 1.02 !important;
    margin-bottom: 5px !important;
  }
  .checkout-summary-headline p {
    font-size: 12.5px !important;
    line-height: 1.25 !important;
  }
  .checkout-summary-card .checkout-social-proof {
    min-width: 168px !important;
    margin: 10px auto 11px !important;
    padding: 6px 13px !important;
    font-size: 12px !important;
  }
  .checkout-meter {
    height: 7px !important;
  }
  .checkout-marker-row {
    margin-top: 11px !important;
    gap: 4px !important;
  }
  .checkout-marker-dot {
    margin-top: -17px !important;
    margin-bottom: 6px !important;
  }
  .checkout-marker-label {
    font-size: 8.2px !important;
    line-height: 1.1 !important;
  }
  .checkout-product-card {
    grid-template-columns: 47% 1fr !important;
    min-height: 156px !important;
    padding: 10px !important;
    gap: 9px !important;
  }
  .checkout-product-card.main-product-card {
    min-height: 164px !important;
  }
  .checkout-product-media,
  .checkout-product-card.main-product-card .checkout-product-media,
  .checkout-product-card[data-addon="texting"] .checkout-product-media {
    height: 148px !important;
    min-height: 148px !important;
  }
  .checkout-product-card.main-product-card .checkout-product-media img,
  .checkout-product-card[data-addon="texting"] .checkout-product-media img {
    width: 104% !important;
    max-width: 104% !important;
    height: auto !important;
    max-height: 148px !important;
  }
  .checkout-product-card[data-addon="audio"] .checkout-product-media {
    height: 150px !important;
    min-height: 150px !important;
  }
  .checkout-product-card[data-addon="audio"] .checkout-product-media img {
    width: 112% !important;
    max-width: 112% !important;
    height: auto !important;
    max-height: 150px !important;
  }
  .checkout-product-topline {
    grid-template-columns: 24px 1fr auto !important;
    gap: 6px !important;
  }
  .checkout-top-label {
    font-size: 7px !important;
    letter-spacing: .13em !important;
  }
  .checkout-product-price {
    font-size: 21px !important;
    margin-left: 5px !important;
  }
  .checkout-product-content h3 {
    font-size: 17px !important;
    line-height: 1.02 !important;
  }
  .checkout-product-content p {
    font-size: 10.8px !important;
    line-height: 1.23 !important;
  }
  .checkout-payment-icons {
    margin: 9px auto 14px !important;
  }
  .checkout-payment-icons img {
    width: min(360px, 98%) !important;
    max-height: 40px !important;
  }
}

@media (max-width: 390px) {
  .checkout-product-card {
    grid-template-columns: 45% 1fr !important;
    min-height: 148px !important;
  }
  .checkout-product-media,
  .checkout-product-card.main-product-card .checkout-product-media,
  .checkout-product-card[data-addon="texting"] .checkout-product-media {
    height: 138px !important;
    min-height: 138px !important;
  }
  .checkout-product-card.main-product-card .checkout-product-media img,
  .checkout-product-card[data-addon="texting"] .checkout-product-media img {
    max-height: 138px !important;
  }
  .checkout-product-content h3 {
    font-size: 15.5px !important;
  }
  .checkout-product-content p {
    font-size: 9.8px !important;
  }
  .checkout-product-price {
    font-size: 19px !important;
  }
}

/* ============================================================
   CHECKOUT REVISION — score readout, Stripe note, thicker bar
   ============================================================ */
.checkout-summary-card {
  padding: 16px 28px 15px !important;
}
.checkout-summary-top {
  display: block !important;
  width: 100% !important;
}
.checkout-summary-headline {
  width: 100% !important;
  max-width: 840px !important;
  margin: 0 auto !important;
  text-align: center !important;
}
.checkout-summary-headline h2 {
  font-size: clamp(31px, 3.5vw, 43px) !important;
  line-height: 1 !important;
  margin-bottom: 6px !important;
}
.checkout-summary-headline p {
  max-width: 760px !important;
  margin: 0 auto !important;
  font-size: 15.5px !important;
  line-height: 1.32 !important;
}
.checkout-summary-card .checkout-social-proof {
  margin: 12px auto 9px !important;
}
.checkout-score-readout {
  text-align: center !important;
  margin: 4px auto 10px !important;
  position: relative !important;
  z-index: 3 !important;
}
.checkout-score-number {
  font-family: "Playfair Display", Georgia, serif !important;
  font-size: clamp(38px, 4.6vw, 58px) !important;
  font-weight: 800 !important;
  line-height: .9 !important;
  letter-spacing: -.045em !important;
  color: #C96F5B !important;
}
.checkout-score-label {
  margin-top: 4px !important;
  font-size: 12px !important;
  font-weight: 900 !important;
  letter-spacing: .13em !important;
  text-transform: uppercase !important;
  color: #7A554C !important;
}
.checkout-meter {
  height: 12px !important;
  margin-top: 2px !important;
  border-radius: 999px !important;
}
.checkout-meter-fill {
  border-radius: 999px !important;
}
.checkout-marker-dot {
  margin-top: -21px !important;
}
.checkout-stripe-note {
  text-align: center !important;
  font-size: 12px !important;
  line-height: 1.25 !important;
  color: #7A716A !important;
  font-weight: 800 !important;
  margin: -5px 0 10px !important;
}

@media (max-width: 720px) {
  .checkout-summary-card {
    padding: 12px 12px 11px !important;
  }
  .checkout-summary-headline h2 {
    font-size: 23px !important;
    line-height: 1.02 !important;
  }
  .checkout-summary-headline p {
    font-size: 12px !important;
    line-height: 1.22 !important;
  }
  .checkout-summary-card .checkout-social-proof {
    margin: 9px auto 8px !important;
  }
  .checkout-score-readout {
    margin: 3px auto 8px !important;
  }
  .checkout-score-number {
    font-size: 34px !important;
  }
  .checkout-score-label {
    margin-top: 3px !important;
    font-size: 8.5px !important;
    letter-spacing: .09em !important;
  }
  .checkout-meter {
    height: 9px !important;
  }
  .checkout-marker-dot {
    margin-top: -18px !important;
  }
  .checkout-stripe-note {
    font-size: 10px !important;
    margin: -3px 0 8px !important;
  }
}

/* ============================================================
   MOBILE/DESKTOP CHECKOUT CARD FIT FIX — no right-side cropping
   ============================================================ */
.checkout-product-card,
.checkout-product-body,
.checkout-product-content,
.checkout-product-topline,
.checkout-product-content h3,
.checkout-product-content p,
.checkout-action-row {
  min-width: 0 !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
}

.checkout-product-card {
  width: 100% !important;
  overflow: hidden !important;
}

.checkout-product-body {
  overflow: hidden !important;
}

.checkout-product-topline {
  grid-template-columns: 34px minmax(0, 1fr) auto !important;
}

.checkout-top-label {
  min-width: 0 !important;
  overflow-wrap: anywhere !important;
}

.checkout-product-price {
  white-space: nowrap !important;
  flex-shrink: 0 !important;
}

.product-spec {
  max-width: 100% !important;
  white-space: normal !important;
  overflow-wrap: anywhere !important;
}

@media (max-width: 720px) {
  .checkout-page {
    width: 100% !important;
    max-width: 100vw !important;
    overflow-x: hidden !important;
    padding-left: 10px !important;
    padding-right: 10px !important;
  }

  .checkout-product-card {
    grid-template-columns: 39% minmax(0, 1fr) !important;
    gap: 9px !important;
    padding: 10px 9px !important;
    border-radius: 16px !important;
  }

  .checkout-product-media,
  .checkout-product-card.main-product-card .checkout-product-media,
  .checkout-product-card[data-addon="texting"] .checkout-product-media,
  .checkout-product-card[data-addon="audio"] .checkout-product-media {
    height: 138px !important;
    min-height: 138px !important;
  }

  .checkout-product-card.main-product-card .checkout-product-media img,
  .checkout-product-card[data-addon="texting"] .checkout-product-media img,
  .checkout-product-media img,
  .checkout-product-media.is-small img {
    width: auto !important;
    max-width: 100% !important;
    height: auto !important;
    max-height: 138px !important;
    object-fit: contain !important;
  }

  .checkout-product-card[data-addon="audio"] .checkout-product-media img {
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    max-height: 138px !important;
    transform: none !important;
  }

  .checkout-product-topline {
    grid-template-columns: 24px minmax(0, 1fr) auto !important;
    gap: 5px !important;
    align-items: center !important;
  }

  .checkout-top-label {
    font-size: 6.5px !important;
    letter-spacing: .11em !important;
    line-height: 1.15 !important;
  }

  .checkout-product-price {
    font-size: 18px !important;
    line-height: 1 !important;
    margin-left: 2px !important;
  }

  .checkout-product-content h3 {
    font-size: 16px !important;
    line-height: 1.04 !important;
    margin-bottom: 4px !important;
    overflow-wrap: anywhere !important;
  }

  .product-spec {
    display: inline-flex !important;
    width: auto !important;
    max-width: 100% !important;
    margin: 5px 0 0 !important;
    padding: 3px 7px !important;
    font-size: 8.2px !important;
    line-height: 1.15 !important;
    letter-spacing: .01em !important;
    transform: none !important;
  }

  .checkout-product-content p {
    font-size: 10px !important;
    line-height: 1.2 !important;
    overflow-wrap: break-word !important;
  }

  .checkout-inline-btn {
    max-width: 100% !important;
    padding: 6px 9px !important;
    font-size: 9px !important;
    white-space: normal !important;
    line-height: 1.1 !important;
  }
}

@media (max-width: 390px) {
  .checkout-page {
    padding-left: 8px !important;
    padding-right: 8px !important;
  }

  .checkout-product-card {
    grid-template-columns: 37% minmax(0, 1fr) !important;
    gap: 8px !important;
    padding: 9px 8px !important;
  }

  .checkout-product-media,
  .checkout-product-card.main-product-card .checkout-product-media,
  .checkout-product-card[data-addon="texting"] .checkout-product-media,
  .checkout-product-card[data-addon="audio"] .checkout-product-media {
    height: 126px !important;
    min-height: 126px !important;
  }

  .checkout-product-card.main-product-card .checkout-product-media img,
  .checkout-product-card[data-addon="texting"] .checkout-product-media img,
  .checkout-product-media img,
  .checkout-product-media.is-small img,
  .checkout-product-card[data-addon="audio"] .checkout-product-media img {
    max-height: 126px !important;
  }

  .checkout-status-icon {
    width: 21px !important;
    height: 21px !important;
    font-size: 12px !important;
  }

  .checkout-product-topline {
    grid-template-columns: 22px minmax(0, 1fr) auto !important;
    gap: 4px !important;
  }

  .checkout-top-label {
    font-size: 6px !important;
    letter-spacing: .08em !important;
  }

  .checkout-product-price {
    font-size: 16.5px !important;
  }

  .checkout-product-content h3 {
    font-size: 14.5px !important;
  }

  .product-spec {
    font-size: 7.4px !important;
    padding: 3px 6px !important;
  }

  .checkout-product-content p {
    font-size: 9.2px !important;
    line-height: 1.18 !important;
  }

  .checkout-inline-btn {
    font-size: 8.5px !important;
    padding: 5px 8px !important;
  }
}

@media (min-width: 721px) {
  .checkout-product-card {
    grid-template-columns: minmax(240px, 285px) minmax(0, 1fr) !important;
  }
  .checkout-product-body {
    padding-right: 2px !important;
  }
  .checkout-product-content h3 {
    overflow-wrap: normal !important;
  }
}
