:root {
  --navy: #153f5b;
  --teal: #2f7f7a;
  --teal-dark: #235f5c;
  --gold: #a67c21;
  --ink: #1e2a32;
  --muted: #5f6b73;
  --line: #d9e3e4;
  --paper: #ffffff;
  --mist: #f3f8f7;
  --warm: #fbf7ed;
  --max: 1160px;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; color: var(--ink); background: var(--paper); line-height: 1.65; }
a { color: var(--teal-dark); }
a:hover { color: var(--navy); }
a:focus-visible, button:focus-visible { outline: 3px solid #f1c75b; outline-offset: 3px; }
img { max-width: 100%; height: auto; }
.container { width: min(var(--max), calc(100% - 2.2rem)); margin: 0 auto; }
.skip-link { position:absolute; left:-999px; top:0; background:#fff; padding:.8rem; z-index:1000; }
.skip-link:focus { left:1rem; top:1rem; }
header { position: sticky; top: 0; z-index: 100; background: rgba(255,255,255,.96); border-bottom: 1px solid var(--line); backdrop-filter: blur(10px); }
.nav { min-height: 72px; display:flex; align-items:center; justify-content:space-between; gap:1rem; }
.brand { font-weight:800; font-size:1.35rem; letter-spacing:-.02em; color:var(--navy); text-decoration:none; }
.brand span { color:var(--gold); }
.nav-links { display:flex; gap:1.1rem; align-items:center; flex-wrap:wrap; }
.nav-links a { color:var(--ink); text-decoration:none; font-weight:650; font-size:.95rem; }
.nav-links a:hover { color:var(--teal-dark); }
.btn { display:inline-flex; align-items:center; justify-content:center; min-height:46px; padding:.72rem 1.15rem; border-radius:9px; text-decoration:none; font-weight:750; border:1px solid transparent; cursor:pointer; }
.btn-primary { background:var(--navy); color:#fff; }
.btn-primary:hover { background:#0d3047; color:#fff; }
.btn-secondary { background:#fff; color:var(--navy); border-color:var(--navy); }
.btn-secondary:hover { background:var(--mist); }
.btn-small { min-height:38px; padding:.45rem .85rem; }
.hero { background:linear-gradient(135deg,#eff7f5 0%,#fff 55%,#fbf6e9 100%); padding:5.3rem 0 4.6rem; border-bottom:1px solid var(--line); }
.hero-grid { display:grid; grid-template-columns:1.05fr .95fr; gap:3.5rem; align-items:center; }
.eyebrow { text-transform:uppercase; letter-spacing:.14em; font-size:.76rem; font-weight:800; color:var(--teal-dark); }
h1,h2,h3 { color:var(--navy); line-height:1.18; letter-spacing:-.025em; }
h1 { font-size:clamp(2.5rem,6vw,4.8rem); margin:.55rem 0 1rem; }
h2 { font-size:clamp(1.9rem,4vw,3rem); margin:0 0 1rem; }
h3 { font-size:1.25rem; margin:.2rem 0 .6rem; }
.lead { font-size:1.18rem; color:#36454f; max-width:67ch; }
.hero-actions { display:flex; gap:.8rem; flex-wrap:wrap; margin:1.7rem 0; }
.micro { color:var(--muted); font-size:.9rem; }
.hero-card { background:#fff; border:1px solid var(--line); border-radius:22px; padding:1.1rem; box-shadow:0 24px 60px rgba(18,53,67,.12); }
.hero-card img { border-radius:15px; display:block; }
.stats { display:grid; grid-template-columns:repeat(4,1fr); gap:1rem; padding:1.4rem 0; }
.stat { padding:1rem; text-align:center; border-right:1px solid var(--line); }
.stat:last-child { border-right:0; }
.stat strong { display:block; font-size:1.55rem; color:var(--navy); }
.stat span { color:var(--muted); font-size:.88rem; }
section { padding:4.7rem 0; }
.section-intro { max-width:760px; margin-bottom:2rem; }
.grid-3 { display:grid; grid-template-columns:repeat(3,1fr); gap:1.25rem; }
.card { border:1px solid var(--line); border-radius:16px; background:#fff; overflow:hidden; box-shadow:0 8px 25px rgba(16,48,64,.06); }
.card-body { padding:1.25rem; }
.cover-wrap { background:var(--mist); padding:1.2rem; display:flex; justify-content:center; min-height:410px; }
.cover-wrap img { width:auto; max-height:390px; border:1px solid #d8d8d8; box-shadow:0 10px 25px rgba(0,0,0,.12); }
.price { font-size:1.45rem; font-weight:850; color:var(--navy); }
.price small { color:var(--muted); font-weight:500; font-size:.8rem; }
.card ul, .check-list { padding-left:1.15rem; }
.card-actions { display:flex; gap:.55rem; flex-wrap:wrap; margin-top:1rem; }
.bundle { display:grid; grid-template-columns:1fr 1fr; gap:2.5rem; align-items:center; background:var(--navy); color:#fff; border-radius:24px; padding:2rem; }
.bundle h2,.bundle h3 { color:#fff; }
.bundle .price { color:#fff; }
.bundle a.btn-secondary { background:#fff; }
.steps { counter-reset:step; display:grid; grid-template-columns:repeat(3,1fr); gap:1.2rem; }
.step { background:var(--mist); border-radius:16px; padding:1.3rem; border:1px solid var(--line); }
.step:before { counter-increment:step; content:counter(step); display:inline-grid; place-items:center; width:34px; height:34px; border-radius:50%; background:var(--teal); color:#fff; font-weight:800; margin-bottom:.7rem; }
.faq details { border-top:1px solid var(--line); padding:1rem 0; }
.faq details:last-child { border-bottom:1px solid var(--line); }
.faq summary { font-weight:760; color:var(--navy); cursor:pointer; }
.notice { border-left:5px solid var(--gold); background:var(--warm); padding:1rem 1.1rem; border-radius:6px; }
.legal { max-width:850px; }
.legal h1 { font-size:2.7rem; }
.legal h2 { font-size:1.55rem; margin-top:2.2rem; }
.legal li { margin:.35rem 0; }
footer { background:#102f43; color:#dce9ee; padding:3rem 0 2rem; }
footer a { color:#dce9ee; }
.footer-grid { display:grid; grid-template-columns:1.2fr 1fr 1fr; gap:2rem; }
.footer-title { color:#fff; font-weight:800; font-size:1.25rem; }
.footer-links { display:grid; gap:.45rem; }
.disclosure { border-top:1px solid rgba(255,255,255,.18); margin-top:2rem; padding-top:1.3rem; font-size:.82rem; color:#bdd0d8; }
.status-note { margin-top:1rem; padding:.7rem .85rem; border:1px dashed var(--gold); border-radius:8px; background:var(--warm); color:#5a4514; font-size:.9rem; }
@media (max-width: 900px) { .hero-grid,.bundle { grid-template-columns:1fr; } .grid-3,.steps { grid-template-columns:1fr 1fr; } .stats { grid-template-columns:repeat(2,1fr); } .stat:nth-child(2) { border-right:0; } .footer-grid { grid-template-columns:1fr 1fr; } }
@media (max-width: 640px) { .nav { align-items:flex-start; padding:.8rem 0; } .nav-links { justify-content:flex-end; gap:.7rem; } .nav-links .hide-mobile { display:none; } .hero { padding:3.7rem 0 3rem; } .grid-3,.steps,.footer-grid { grid-template-columns:1fr; } .stats { grid-template-columns:1fr 1fr; } .cover-wrap { min-height:0; } section { padding:3.5rem 0; } }

.checkout-pending { opacity:.72; cursor:not-allowed; user-select:none; }
.card:not(:has(.cover-wrap)) { display:flex; }
.card:not(:has(.cover-wrap)) .card-body { width:100%; }
.hero-card ul { padding-left:1.2rem; }
