:root { color-scheme: light; --brand:#7c2638; --ink:#242126; --muted:#5e5960; --paper:#fff; --line:#e8dfe2; --wash:#f7f3f4; }
* { box-sizing:border-box; }
body { margin:0; background:var(--wash); color:var(--ink); font:16px/1.65 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; }
a { color:var(--brand); text-underline-offset:3px; }
a:hover { text-decoration-thickness:2px; }
a:focus-visible { outline:3px solid var(--brand); outline-offset:5px; }
.skip { position:absolute; left:12px; top:-100px; background:white; padding:12px; z-index:2; }
.skip:focus { top:12px; }
header,main,footer { max-width:1040px; margin:auto; padding-left:24px; padding-right:24px; }
header { display:flex; align-items:center; justify-content:space-between; gap:24px; padding-top:20px; padding-bottom:20px; border-bottom:1px solid var(--line); }
.brand { display:flex; align-items:center; gap:12px; text-decoration:none; color:var(--ink); font-weight:750; line-height:1.25; }
.brand img { width:60px; height:60px; border-radius:12px; }
nav { display:flex; gap:20px; flex-wrap:wrap; }
nav a[aria-current=page] { font-weight:750; }
main { padding-top:52px; padding-bottom:56px; }
h1 { font-size:clamp(2rem,5vw,3.5rem); line-height:1.12; max-width:850px; margin:12px 0 24px; letter-spacing:-.035em; }
h2 { font-size:1.35rem; line-height:1.3; margin-top:0; }
p { max-width:76ch; }
.kicker { color:var(--brand); font-weight:750; font-size:.8rem; text-transform:uppercase; letter-spacing:.12em; }
.lead { font-size:1.18rem; color:var(--muted); }
.actions { display:flex; flex-wrap:wrap; gap:12px; margin:26px 0; }
.button { display:inline-block; border:1px solid var(--brand); border-radius:10px; padding:12px 18px; font-weight:700; text-decoration:none; }
.primary { background:var(--brand); color:#fff; }
.grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; margin-top:40px; }
.card { background:var(--paper); border:1px solid var(--line); border-radius:16px; padding:24px; }
.card p:last-child { margin-bottom:0; }
.notice { border-left:4px solid var(--brand); padding:14px 20px; background:#eee5e8; border-radius:0 10px 10px 0; margin:28px 0; }
.sections { display:grid; gap:20px; margin-top:32px; }
li { margin-bottom:8px; }
footer { border-top:1px solid var(--line); padding-top:24px; padding-bottom:30px; font-size:.9rem; color:var(--muted); }
footer p { margin:4px 0; }
.email { overflow-wrap:anywhere; }
@media (max-width:620px) {
 header { align-items:flex-start; flex-direction:column; gap:16px; }
 header,main,footer { padding-left:20px; padding-right:20px; }
 main { padding-top:34px; }
 .grid { grid-template-columns:1fr; }
 .card { padding:20px; }
 .actions { flex-direction:column; }
 .button { text-align:center; }
}
