:root {
  --bg: #ffffff;
  --wash: #f2f5f8;
  --ink: #334155;
  --muted: #64748b;
  --line: #d7e0e8;
  --brand: #002a4a;
  --brand-2: #002a4a;
  --accent: #002a4a;
  --accent-dk: #002a4a;
  --gold: #002a4a;
  --font: 'Montserrat', system-ui, sans-serif;
}

* { box-sizing: border-box; }
body {
  margin: 0;
  background: var(--bg);
  color: var(--ink);
  font-family: var(--font);
  font-size: 17px;
  line-height: 1.6;
  text-align: left;
  -webkit-font-smoothing: antialiased;
}
.wrap { width: min(100% - 40px, 640px); margin-inline: auto; padding: 0; }
header { padding: 16px 0; border-bottom: 1px solid var(--line); }
header .brand { color: var(--brand); font-size: 17px; font-weight: 700; }
header .brand span { color: var(--brand); }
main { padding: 40px 0 64px; }
.pre { display: none !important; }
h1 { color: var(--brand); font-size: clamp(30px, 6vw, 40px); line-height: 1.15; margin: 0 0 16px; }
h2 { color: var(--brand); font-size: 26px; line-height: 1.25; margin: 40px 0 16px; }
h3, .card h3 { color: var(--brand); font-size: 20px; line-height: 1.35; }
p, li { font-size: 17px; line-height: 1.6; }
.sub { max-width: 42em; color: var(--muted); font-size: 17px; line-height: 1.6; }
.wrap a:not(.btn):not(.btn-primary):not(.upgrade-button) { color: var(--brand); }
.small, footer, .reslbl { color: var(--muted); font-size: 13px; line-height: 1.5; }
.form-description { margin: 0 0 16px; color: var(--ink); font-size: 17px; line-height: 1.6; }
.wrap > .card, .wrap > .optin, .wrap > .guar { margin-block: 24px; padding: 24px; border-radius: 12px; }
.card, .optin { background: var(--wash); }
.card h3 { margin: 0 0 12px; }
.hero { margin: 24px 0; }
.hero img { display: block; width: 100%; height: auto; border-radius: 10px; }
.kit-heading { margin: 0 0 12px; color: var(--brand); font-size: 20px; }
.video { position: relative; aspect-ratio: 16 / 9; margin: 24px 0; overflow: hidden; border-radius: 10px; background: var(--brand); }
.video iframe, .video .slot { position: absolute; inset: 0; width: 100%; height: 100%; margin: 0; border: 0; border-radius: 0; }
.video .slot { display: flex; flex-direction: column; align-items: flex-start; justify-content: center; padding: 24px; background: var(--brand); color: #fff; text-align: left; }
.video .slot b { color: #fff; }
.slot { margin: 20px 0; border: 1px dashed var(--brand); border-radius: 10px; padding: 20px; color: var(--brand); }
.list { list-style: none; margin: 12px 0; padding: 0; }
.list li { position: relative; padding: 6px 0 6px 26px; }
.list li::before { position: absolute; left: 0; top: 6px; color: var(--brand); content: "✓"; font-weight: 700; }
.guar { background: var(--brand); color: #fff; }
.guar h3 { color: #fff; font-size: 20px; letter-spacing: 0; text-transform: none; }
.guar p, .guar p + p { color: #fff; font-size: 17px; line-height: 1.6; }
.proof { margin: 18px 0; border-left: 3px solid var(--brand); padding: 6px 0 6px 16px; color: var(--ink); }
.proof b { display: block; margin-bottom: 4px; color: var(--brand); font-size: 22px; }
.proof .small { display: block; margin-top: 4px; }
.wall { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; margin-top: 14px; }
.wall .proof { margin: 0; }
.price { color: var(--brand); font-size: 32px; font-weight: 800; line-height: 1.2; }
.price small { display: block; margin: 4px 0 0; color: var(--muted); font-size: 13px; }
.price-line { margin: 12px 0; }
.cta-line { margin: 20px 0; }
.math-link { margin-bottom: 10px; }
.card h3.math-subheading { clear: both; display: block; margin: 30px 0 14px; padding-top: 4px; }
.field-note { display: block; margin-top: 4px; font-weight: 500; }
.math-source { margin-top: 12px; }
.math-results { background: var(--brand); color: #fff; }
.math-results h3, .math-result-heading { color: #fff; }
.math-result-heading { margin-top: 26px; }
.math-disclaimer { margin-top: 18px; color: #d8e2eb; }
.math-cta { margin-top: 8px; }
.booking-reminder { margin-top: 14px; }
.tracking-pixel { display: none; }
.calendly-inline-widget { min-width: 320px; height: 760px; }
.private-booking { display: none; }
.private-booking.is-visible { display: block; }
.upgrade-offer { text-align: left; }
.upgrade-price { margin: 0 0 12px; color: #334155; font-size: 17px; line-height: 1.5; }
.upgrade-note { margin: 0 0 12px; color: var(--ink); font-size: 17px; }
.upgrade-was { opacity: .6; text-decoration: line-through; }
.upgrade-today { color: var(--brand); }
.upgrade-button {
  display: block;
  width: 100%;
  border-radius: 8px;
  background: #ff9311;
  color: #fff;
  padding: 16px 24px;
  text-align: center;
  text-decoration: none;
  font: 700 17px/1.4 var(--font);
}
.wrap a.upgrade-button { color: #fff; }
.upgrade-trust { margin: 10px 0 0; color: var(--muted); font-size: 13px; text-align: left; }
.skip-link { margin: 8px 0; }
.btn, .btn-primary {
  display: block;
  width: 100%;
  border: 0;
  border-radius: 8px;
  background: #ff9311;
  color: #fff;
  padding: 16px 24px;
  text-align: center;
  text-decoration: none;
  font: 700 17px/1.4 var(--font);
  cursor: pointer;
}
.btn:hover, .btn-primary:hover { background: #e07b00; }
.btn.ghost { width: auto; background: transparent; color: var(--muted); padding: 8px 0; text-align: left; font: 500 17px/1.5 var(--font); }
.btn.ghost:hover { color: var(--brand); }
.price { color: var(--brand); font-size: 32px; line-height: 1.2; }
.price small { display: block; margin: 4px 0 0; color: var(--muted); font-size: 13px; }
.slot, .video .slot { border-color: var(--brand); background: var(--brand); color: #fff; }
.slot b, .video .slot b { color: #fff; font-size: 15px; }
.optin label, label.num, .grid2 label { color: var(--brand); font-size: 17px; }
.optin label { display: block; margin: 12px 0 6px; font-weight: 600; }
.optin input, .grid2 input { display: block; width: 100%; margin-top: 6px; border: 1px solid var(--line); border-radius: 8px; padding: 12px; background: #fff; color: var(--ink); font: inherit; }
.optin .btn { margin-top: 16px; }
.grid2 { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.grid3 { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.res { color: #fff; font-size: 24px; font-weight: 700; line-height: 1.2; }
.card[style*="background:var(--brand)"] .res { color: #fff !important; }
.reslbl { margin-top: 4px; color: #d8e2eb; font-size: 15px; }
footer { padding: 24px 0; }
@media (max-width: 640px) {
  .wrap { width: calc(100% - 40px); }
  main { padding: 32px 0 48px; }
  .wall, .grid2, .grid3 { grid-template-columns: 1fr; }
  .btn, .btn-primary { width: 100%; }
  .upgrade-button { max-width: 100%; }
}
