
:root { --ink:#2a1e14; --accent:#7a281c; --soft:#6d5a48; --paper:#f4ead2; --cream:#fff8e6; --gold:#c9a45c; --deep:#4a1610; }
* { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body { margin:0; font-family: Georgia, "Times New Roman", serif; color:var(--ink); background:var(--paper); line-height:1.6; font-size:18px; }
a { color:var(--accent); }
a:focus-visible, button:focus-visible, input:focus-visible { outline:3px solid var(--gold); outline-offset:2px; }
header.top { background:var(--deep); color:#faf0da; border-bottom:4px solid var(--gold); }
header.top .in { max-width:980px; margin:0 auto; padding:14px 20px; display:flex; flex-wrap:wrap; gap:12px 28px; align-items:center; justify-content:space-between; }
header.top a { color:#faf0da; text-decoration:none; }
header.top .brand { font-weight:bold; font-size:1.05rem; letter-spacing:.02em; }
header.top nav a { margin-left:18px; font-size:.95rem; }
header.top nav a:hover { text-decoration:underline; }
main { max-width:980px; margin:0 auto; padding:28px 20px 60px; }
h1 { font-size:2.2rem; line-height:1.15; margin:.2em 0 .3em; color:var(--deep); }
h2 { font-size:1.45rem; margin:1.6em 0 .4em; color:var(--accent); }
h3 { font-size:1.1rem; margin:1.2em 0 .3em; color:var(--accent); }
.lead { font-size:1.2rem; color:#3b2a1d; }
.kicker { text-transform:uppercase; letter-spacing:.12em; font-size:.8rem; color:var(--accent); font-weight:bold; margin:0; }
.hero { display:grid; grid-template-columns: 1fr 260px; gap:32px; align-items:center; }
.hero img { width:100%; height:auto; border:1px solid #8a6a3a; box-shadow:0 10px 24px rgba(40,20,10,.35); }
.btn { display:inline-block; background:var(--accent); color:#fff8e6 !important; padding:.8em 1.3em; border-radius:8px; text-decoration:none; font-weight:bold; margin:.3em .5em .3em 0; border:2px solid var(--accent); font-size:1rem; font-family:inherit; cursor:pointer; }
.btn:hover { background:#5d1d14; }
.btn.alt { background:transparent; color:var(--accent) !important; }
.btn.alt:hover { background:var(--cream); }
.card { background:var(--cream); border:2px solid var(--accent); border-radius:10px; padding:16px 22px; margin:20px 0; }
.card h2, .card h3 { margin-top:.3em; }
.grid { display:grid; grid-template-columns: repeat(auto-fit, minmax(270px, 1fr)); gap:20px; }
.steps { counter-reset:s; list-style:none; padding:0; }
.steps li { counter-increment:s; position:relative; padding-left:48px; margin:1em 0; }
.steps li::before { content:counter(s); position:absolute; left:0; top:0; width:32px; height:32px; border-radius:50%; background:var(--accent); color:#fff8e6; text-align:center; line-height:32px; font-weight:bold; }
form.signup label { display:block; font-weight:bold; margin:.6em 0 .2em; }
form.signup input[type=email] { width:100%; max-width:420px; padding:.7em .8em; font-size:1rem; border:2px solid #8a6a3a; border-radius:6px; font-family:inherit; }
form.signup .check { display:flex; gap:10px; align-items:flex-start; margin:.8em 0; font-size:.95rem; }
form.signup .check input { margin-top:.35em; transform:scale(1.3); }
.hp { position:absolute; left:-5000px; }
.note { font-size:.9rem; color:var(--soft); }
.flag { background:#fff0c2; border:2px dashed #b8892c; border-radius:8px; padding:10px 14px; font-size:.95rem; margin:14px 0; }
footer { border-top:2px solid var(--gold); background:#ecdfbf; }
footer .in { max-width:980px; margin:0 auto; padding:22px 20px 34px; font-size:.92rem; color:var(--soft); }
footer a { color:var(--soft); }
table.dl { border-collapse:collapse; width:100%; margin:12px 0; }
table.dl td, table.dl th { text-align:left; padding:10px 8px; border-bottom:1px solid #cdb98c; vertical-align:top; }
@media (max-width:720px) { .hero { grid-template-columns:1fr; } .hero img { max-width:240px; margin:0 auto; } h1 { font-size:1.8rem; } body { font-size:17px; } header.top nav a { margin:0 14px 0 0; } }
