:root { --ink:#133f42; --ink-soft:#45666a; --paper:#f8f3e9; --surface:#fffdf8; --line:#d8d1c1; --green:#2e765e; --amber:#a85c00; --focus:#1b5d64; --radius:14px; }
* { box-sizing:border-box; }
html { color:var(--ink); background:var(--paper); font-family:Inter, Aptos, Arial, sans-serif; line-height:1.55; }
body { margin:0; }
a { color:var(--ink); text-underline-offset:3px; }
a:focus-visible { outline:3px solid var(--focus); outline-offset:3px; border-radius:3px; }
.site-header, .site-footer, main { width:min(100% - 32px, 1040px); margin-inline:auto; }
.site-header { display:flex; align-items:center; justify-content:space-between; gap:20px; padding:22px 0; }
.brand { color:var(--ink); font-weight:800; font-size:1.25rem; text-decoration:none; letter-spacing:.02em; }
.brand::first-letter { color:var(--amber); }
nav { display:flex; align-items:center; gap:20px; flex-wrap:wrap; }
nav a { font-weight:650; }
.button { display:inline-block; background:var(--green); color:#fff; border:2px solid var(--green); border-radius:8px; padding:10px 15px; font-weight:700; text-decoration:none; }
.button--quiet { color:var(--ink); background:transparent; }
main { padding:54px 0 70px; }
.hero { max-width:760px; }
h1 { font-size:clamp(2.1rem, 5vw, 4.4rem); line-height:1.05; margin:0 0 20px; letter-spacing:-.04em; }
h2 { margin-top:42px; line-height:1.15; }
h3 { margin-top:0; }
p, li { max-width:74ch; }
.eyebrow { color:var(--green); text-transform:uppercase; letter-spacing:.1em; font-size:.82rem; font-weight:800; }
.actions { display:flex; gap:12px; flex-wrap:wrap; margin-top:26px; }
.notice { margin-top:38px; padding:18px 20px; border-left:5px solid var(--amber); background:#fff8e9; }
.cards { display:grid; grid-template-columns:repeat(3, 1fr); gap:18px; margin-top:24px; }
.card { display:flex; flex-direction:column; padding:24px; border:1px solid var(--line); border-radius:var(--radius); background:var(--surface); }
.card p { margin-top:0; }
.card .button { margin-top:auto; text-align:center; }
.price { font-size:2rem; font-weight:800; margin:0 0 4px; }
.policy { max-width:790px; }
.policy h2 { scroll-margin-top:20px; }
.site-footer { border-top:1px solid var(--line); padding:28px 0 38px; color:var(--ink-soft); font-size:.94rem; }
.footer-links { display:flex; gap:16px; flex-wrap:wrap; margin-bottom:16px; }
.site-footer p { margin:5px 0; }
@media (max-width:680px) { .site-header { align-items:flex-start; flex-direction:column; } main { padding-top:34px; } .cards { grid-template-columns:1fr; } }
