@import url("https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=Playfair+Display:ital,wght@0,600;0,700;1,600&display=swap");
/* Shared with the app's Midnight Architecture direction. */
:root, :root[data-theme="light"], :root[data-theme="dark"] {
  color-scheme: light;
  --ink:#172b3b; --paper:#f6f3ed; --paper-2:#eeeae2; --white:#fffdfa;
  --mauve:#2853c1; --mauve-soft:#c4d5ff; --rose:#dec38f;
  --wine:#2853c1; --muted:#556372; --stone:#556372; --line:#d2cec6;
  --display:"Playfair Display",Georgia,serif; --body:Inter,Arial,sans-serif;
  --band:#112538; --band-ink:#f6f3ed; --band-muted:#c0cbd5; --dark-line:#435466;
}
body { font-family:Inter,Figtree,Arial,sans-serif; }
header.top, .site-header { background:var(--band); color:var(--band-ink); border-color:var(--dark-line); backdrop-filter:none; }
.top .wrap, .nav { min-height:80px; }
.logo, .brand { font-family:Inter,Figtree,Arial,sans-serif; font-weight:600; letter-spacing:-.04em; }
.logo i, .site-header .brand-mark { color:var(--rose); }
nav.links a:hover, .site-header .nav nav>a:not(.button):hover { color:var(--rose); }
.btn, .button { border-radius:8px; min-height:48px; background:var(--mauve); color:#fff; border-color:var(--mauve); }
.btn:hover, .button:hover { background:#21449d; border-color:#21449d; color:#fff; }
.btn.ghost, .button.outline { color:var(--ink); background:transparent; box-shadow:inset 0 0 0 1px var(--line); }
header .btn, .site-header .button { background:var(--band-ink); border-color:var(--band-ink); color:var(--band); }
.hero { padding-block:64px 72px; }
.hero h1 { font-family:Inter,Figtree,Arial,sans-serif; font-size:clamp(46px,5.5vw,76px); font-weight:700; letter-spacing:-.055em; line-height:1.06; }
.hero h1 em { font-family:Inter,Figtree,Arial,sans-serif; font-style:normal; font-weight:700; color:var(--mauve); }
.quote blockquote em, .closing h2 em, .price h3 em, h2 em, h3 em { font-family:inherit; font-style:normal; font-weight:inherit; }
.hero .lede { font-size:18px; max-width:43ch; }
.hero-preview { min-width:0; background:var(--white); border:1px solid var(--line); border-radius:12px; overflow:hidden; box-shadow:0 18px 42px #11253812; }
.preview-heading { background:var(--band); color:var(--band-ink); display:flex; justify-content:space-between; gap:12px; flex-wrap:wrap; font-size:10px; letter-spacing:.08em; padding:16px 20px; border-bottom:2px solid var(--rose); }
.preview-status { color:var(--rose); letter-spacing:0; font-size:12px; }
.hero-preview img { width:100%; height:290px; display:block; object-fit:cover; }
.preview-copy { padding:24px; }
.preview-copy h2 { font-family:Inter,Figtree,Arial,sans-serif; font-size:26px; line-height:1.2; letter-spacing:-.04em; margin-block:10px 5px; }
.preview-copy>p:not(.eyebrow) { color:var(--stone); font-size:14px; }
.preview-channels { margin-top:20px; padding-top:16px; border-top:1px solid var(--line); font-size:12px; font-weight:600; line-height:1.8; }
.preview-copy .preview-fine { font-size:11px!important; margin-top:12px; line-height:1.5; }
.band .wrap { padding-block:64px; }
.quote blockquote { font-size:clamp(32px,4.4vw,54px); }
section.block { padding-block:72px; }
.head h2 { font-family:Inter,Figtree,Arial,sans-serif; font-size:clamp(32px,3.8vw,46px); letter-spacing:-.045em; font-weight:600; line-height:1.12; }
.head p { font-size:17px; }
.opts button, .opts.words button, .platform-grid label { border-radius:8px; min-height:44px; }
.opts button[aria-pressed="true"], .platform-grid label:has(input:checked) { background:#e8eefb; }
.dna-out { background:var(--band); color:var(--band-ink); border-radius:12px; border-top:3px solid var(--rose); padding:28px; }
.dna-out .dna-desc, .dna-out .disclaim { color:var(--band-muted); }
.dna-out .dna-post { background:#21364a; border-radius:8px; }
.dna-out .dna-post .eyebrow { color:var(--band-muted)!important; }
.dna-out .voice-copy { background:var(--band-ink); color:var(--band); justify-content:center; }
.voice-takeaway { border-top:1px solid var(--dark-line); padding-top:18px; font-size:14px; line-height:1.6; }
.voice-takeaway .eyebrow { margin-bottom:8px; }
.voice-brief { color:var(--ink); background:var(--white); width:100%; font:14px/1.6 Inter,Arial,sans-serif; padding:12px; border-radius:8px; }
#voice-copy-status { font-size:13px; color:var(--band-ink); }
.page-hero h1, .plan-heading h2 { font-family:Inter,Figtree,Arial,sans-serif; font-weight:600; letter-spacing:-.045em; }
.plan-card { border-radius:10px; border-top:2px solid var(--line); box-shadow:none; }
.plan-card:hover { border-top-color:var(--wine); }
.plan-card h3 { font-size:23px; line-height:1.2; }
.plan-card .week-label { color:var(--wine); }
.site-footer { background:var(--band); color:var(--band-ink); }
.site-header .menu-toggle { color:var(--band-ink); }
.closing .cta-row .btn { border:1px solid var(--band-ink); }
@media(max-width:1000px) {
  .site-header .nav nav { background:var(--band); color:var(--band-ink); border-color:var(--dark-line); }
}
@media(max-width:820px) {
  .hero .wrap { gap:32px; }
  .top .wrap { flex-wrap:wrap; gap:10px; }
  nav.links { gap:16px; font-size:14px; }
  .hero { padding-block:36px 48px; }
  .hero-preview img { height:260px; }
  .band .wrap, section.block { padding-block:48px; }
  .dna-out { padding:23px; }
}
@media(max-width:450px) {
  header.top .wrap { display:block; padding-block:14px; }
  header.top .logo { display:inline-block; margin-bottom:12px; }
  nav.links { justify-content:space-between; flex-wrap:wrap; }
  .hero h1 { font-size:46px; }
  .hero .lede { font-size:17px; }
  .cta-row .btn { width:100%; justify-content:center; }
  .preview-copy { padding:20px; }
}
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } *,*::before,*::after { animation:none!important; transition:none!important; } }
@media print { header.top,.site-header,.site-footer,.voice-copy,#voice-copy-status { display:none; } body,.dna-out { background:#fff; color:#000; } .plan-grid { grid-template-columns:1fr 1fr; } }

/* Keep the landing page focused; optional examples stay available. */
.band[aria-label="From Christine"] .wrap { padding-block:32px; }
.quote { display:block; }
.quote .mark { display:none; }
.quote blockquote { font-size:clamp(26px,3vw,36px); }
.quote blockquote br { display:none; }
.quote .who { margin-top:12px; font-size:13px; }
.quote .who strong { font-size:14px; }
.sample-disclosure { padding-block:0 64px; }
.sample-disclosure>summary { padding-block:18px; border-block:1px solid var(--line); cursor:pointer; font-weight:600; min-height:48px; }
.sample-disclosure>.block { padding-block:36px!important; }
.sample-disclosure .wrap { padding:0; }
@media(max-width:820px) { .sample-disclosure { padding-bottom:48px; } }
