:root { --ink:#14213d; --ink-soft:#3d4a63; --muted:#6b7489; --bg:#fbfaf7; --card:#fff; --line:#e4e1d8; --accent:#9a3412; --accent-soft:#fdf1e9; --navy:#0f1f3d; --radius:12px;
  --serif:'Iowan Old Style','Palatino Linotype',Palatino,Georgia,serif; --sans:system-ui,-apple-system,'Segoe UI',Roboto,'Helvetica Neue',Arial,sans-serif; }
* { box-sizing: border-box; }
body { margin:0; font-family:var(--sans); color:var(--ink); background:var(--bg); line-height:1.6; font-size:17px; }
a { color:var(--accent); }
h1,h2,h3 { font-family:var(--serif); color:var(--navy); line-height:1.2; }
.container { max-width:1080px; margin:0 auto; padding:0 1.25rem; }
.skip { position:absolute; left:-999px; }
.skip:focus { left:1rem; top:1rem; background:#fff; padding:.5rem 1rem; }
.site-header { background:var(--navy); }
.site-header .container { display:flex; justify-content:space-between; align-items:center; min-height:64px; gap:1rem; flex-wrap:wrap; }
.brand { color:#fff; text-decoration:none; font-family:var(--serif); font-size:1.25rem; font-weight:600; display:flex; align-items:center; gap:.55rem; }
.brand-mark { display:inline-grid; place-items:center; width:30px; height:30px; border-radius:6px; background:var(--accent); font-family:var(--sans); font-size:.85rem; font-weight:700; }
.site-header nav a { color:#dfe5f2; text-decoration:none; margin-left:1.2rem; font-size:.95rem; }
.site-header nav a:hover { color:#fff; text-decoration:underline; }
.hero { padding:4.5rem 0 3rem; background:linear-gradient(180deg,#fff 0%,var(--bg) 100%); border-bottom:1px solid var(--line); }
.eyebrow { text-transform:uppercase; letter-spacing:.12em; font-size:.78rem; color:var(--accent); font-weight:700; margin:0 0 .6rem; }
h1 { font-size:clamp(2.4rem,6vw,3.8rem); margin:0 0 .8rem; letter-spacing:-.01em; }
.lede { font-size:1.2rem; color:var(--ink-soft); max-width:700px; margin:0; }
.sections { padding:2.5rem 1.25rem 1rem; }
.grid { display:grid; grid-template-columns:2fr 1fr 1fr; gap:1rem; }
@media (max-width:820px) { .grid { grid-template-columns:1fr; } }
.card { background:var(--card); border:1px solid var(--line); border-radius:var(--radius); padding:1.4rem; display:flex; flex-direction:column; gap:.4rem; }
.card h3 { margin:.3rem 0 0; font-size:1.5rem; }
.card p { margin:0; color:var(--ink-soft); }
.card-live { text-decoration:none; color:inherit; border:2px solid var(--navy); box-shadow:0 6px 24px rgba(15,31,61,.08); transition:transform .15s, box-shadow .15s; }
.card-live:hover { transform:translateY(-2px); box-shadow:0 10px 30px rgba(15,31,61,.14); }
.card-live h3 { font-size:2rem; }
.count { font-size:1.1rem; } .count strong { font-size:2.2rem; color:var(--accent); font-family:var(--serif); }
.cta { margin-top:auto; padding-top:.6rem; font-weight:700; color:var(--accent); }
.card-soon { opacity:.75; background:#f6f4ef; }
.pill { align-self:flex-start; font-size:.75rem; font-weight:700; text-transform:uppercase; letter-spacing:.08em; border-radius:999px; padding:.15rem .6rem; background:#e9e6de; color:var(--muted); }
.pill.live { background:var(--accent-soft); color:var(--accent); }
.newsletter { background:var(--navy); color:#e6ebf5; border-radius:var(--radius); padding:1.6rem; margin:2rem 0 3rem; }
.newsletter h2 { color:#fff; margin-top:0; }
.newsletter form { display:flex; gap:.6rem; flex-wrap:wrap; }
.newsletter input { flex:1 1 240px; font:inherit; padding:.6rem .75rem; border-radius:8px; border:1px solid #c9c5b9; }
.btn { background:var(--accent); color:#fff; border:0; border-radius:8px; padding:.65rem 1.1rem; font:inherit; font-weight:600; cursor:pointer; }
.btn:hover { background:#7c2d12; }
.hint { color:#b9c3d8; font-size:.88rem; }
input:focus, button:focus-visible, a:focus-visible { outline:3px solid #f4b183; outline-offset:1px; }
.site-footer { border-top:1px solid var(--line); background:#fff; color:var(--muted); font-size:.9rem; padding:1.5rem 0; }
.site-footer .container { display:flex; justify-content:space-between; flex-wrap:wrap; gap:1rem; }
.site-footer a { color:var(--ink-soft); }
