:root { --red:#c8102e; --red-dark:#a30d25; --ink:#1c2430; --ink-2:#3b4753; --muted:#6b7682; --line:#d5dbe1; --bg:#f1f3f5; --panel:#fff; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; font-family:-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif; color:var(--ink); background:var(--panel); line-height:1.55; overflow-x:clip; overflow-wrap:anywhere; }
.wrap { max-width:1080px; margin:0 auto; padding:0 24px; }
a { color:var(--ink); }

.top { border-top:4px solid var(--red); border-bottom:1px solid var(--line); background:var(--panel); position:sticky; top:0; z-index:5; }
.bar { height:58px; display:flex; align-items:center; gap:28px; }
.brand { display:inline-flex; align-items:center; gap:9px; font-weight:700; font-size:17px; text-decoration:none; }
.brand svg { width:24px; height:24px; fill:none; stroke:var(--red); stroke-width:1.8; stroke-linejoin:round; stroke-linecap:round; }
.top nav { margin-left:auto; display:flex; gap:4px; align-items:center; }
.top nav a { text-decoration:none; padding:8px 12px; font-size:14px; color:var(--ink-2); border-radius:3px; }
.top nav a:hover { background:var(--bg); color:var(--ink); }
.top nav a.cta { background:var(--red); color:#fff; font-weight:600; margin-left:8px; }
.top nav a.cta:hover { background:var(--red-dark); }

.hero { padding:72px 0 56px; border-bottom:1px solid var(--line); }
.kicker { margin:0 0 10px; font-size:13px; font-weight:700; letter-spacing:.5px; text-transform:uppercase; color:var(--red); }
h1 { font-size:40px; line-height:1.15; margin:0 0 18px; max-width:860px; letter-spacing:-.3px; }
.lead { font-size:18px; color:var(--ink-2); max-width:760px; margin:0 0 26px; }
.actions { display:flex; gap:12px; flex-wrap:wrap; margin-bottom:28px; }
.btn { display:inline-block; padding:11px 18px; border:1px solid var(--line); border-radius:3px; text-decoration:none; font-weight:600; background:var(--panel); }
.btn:hover { background:var(--bg); }
.btn.primary { background:var(--red); border-color:var(--red); color:#fff; }
.btn.primary:hover { background:var(--red-dark); border-color:var(--red-dark); }
.facts { list-style:none; padding:0; margin:0; display:grid; gap:8px; max-width:760px; }
.facts li { padding-left:22px; position:relative; color:var(--ink-2); }
.facts li::before { content:""; position:absolute; left:0; top:.62em; width:10px; height:10px; border:2px solid var(--red); border-radius:1px; }

.section { padding:56px 0; }
.section.alt { background:var(--bg); border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
h2 { font-size:26px; margin:0 0 22px; letter-spacing:-.2px; }
h3 { font-size:17px; margin:0 0 8px; }
.grid { display:grid; grid-template-columns:repeat(2,1fr); gap:16px; }
.grid.three { grid-template-columns:repeat(3,1fr); }
.card { background:var(--panel); border:1px solid var(--line); border-radius:3px; padding:20px 22px; }
.card p { margin:0; color:var(--ink-2); }
.steps { list-style:none; padding:0; margin:0; display:grid; gap:14px; }
.steps li { display:flex; gap:16px; align-items:flex-start; background:var(--panel); border:1px solid var(--line); border-radius:3px; padding:16px 18px; }
.steps span { flex:0 0 32px; height:32px; border-radius:50%; background:var(--ink); color:#fff; display:flex; align-items:center; justify-content:center; font-weight:700; }
.note { margin:18px 0 0; color:var(--ink-2); border:1px solid var(--line); background:var(--panel); padding:12px 14px; border-radius:3px; }
.note::before { content:"Not · "; font-weight:700; color:var(--red); }
.two { display:grid; grid-template-columns:1.2fr 1fr; gap:36px; align-items:start; }
.two p { color:var(--ink-2); }
.periods { width:100%; border-collapse:collapse; border:1px solid var(--line); }
.periods th, .periods td { text-align:left; padding:9px 12px; border-bottom:1px solid var(--line); }
.periods th { font-size:12px; text-transform:uppercase; letter-spacing:.4px; color:var(--ink-2); background:var(--bg); }
.periods tr:last-child td { border-bottom:0; }
.contact { text-align:center; max-width:720px; }
.contact p { color:var(--ink-2); font-size:17px; }
.foot { border-top:1px solid var(--line); padding:18px 0; font-size:12.5px; color:var(--muted); }
.foot .wrap { display:flex; justify-content:space-between; gap:12px; flex-wrap:wrap; }

@media (max-width:820px) {
  .grid, .grid.three, .two { grid-template-columns:1fr; }
  h1 { font-size:30px; }
  .top nav a:not(.cta) { display:none; }
  .hero { padding:44px 0 36px; }
}
