:root { color-scheme: light dark; --bg:#fafbfc; --paper:#fff; --ink:#17242d; --muted:#52616b; --line:#dce3e8; --gold:#826014; --link:#006eaa; }
* { box-sizing:border-box; }
body { margin:0; background:var(--bg); color:var(--ink); font:1rem/1.7 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; }
a { color:var(--link); text-underline-offset:.2em; overflow-wrap:anywhere; }
a:hover { text-decoration-thickness:2px; }
a:focus-visible,summary:focus-visible { outline:3px solid var(--link); outline-offset:5px; }
.skip { position:absolute; left:1rem; top:-6rem; padding:.5rem; background:var(--paper); z-index:5; }
.skip:focus { top:1rem; }
header, main, footer { width:min(100% - 3rem, 70rem); margin-inline:auto; }
header { padding:1.4rem 0; display:flex; align-items:center; justify-content:space-between; gap:1.5rem; border-bottom:1px solid var(--line); }
.brand { font-size:1.35rem; font-weight:750; color:var(--ink); text-decoration:none; display:flex; align-items:center; gap:.7rem; }
.brand img { width:2.5rem; height:2.5rem; border-radius:.6rem; }
nav { display:flex; flex-wrap:wrap; gap:1.4rem; }
nav a { font-size:.95rem; color:var(--muted); text-decoration:none; }
nav a[aria-current=page] { color:var(--ink); text-decoration:underline; text-decoration-color:var(--gold); text-decoration-thickness:2px; text-underline-offset:.5rem; }
main { padding-block:3.5rem 4rem; }
.eyebrow { text-transform:uppercase; letter-spacing:.13em; font-size:.8rem; font-weight:750; color:var(--gold); margin:0 0 .7rem; }
h1 { font-size:clamp(2.2rem,6vw,3.6rem); line-height:1.12; letter-spacing:-.035em; margin:0 0 1rem; }
h2 { font-size:1.4rem; line-height:1.35; letter-spacing:-.015em; margin:2.4rem 0 .7rem; }
h3 { font-size:1.05rem; margin:1.5rem 0 .3rem; }
p, ul { margin:.7rem 0 1rem; }
ul { padding-left:1.4rem; }
li { margin:.4rem 0; }
.lead { font-size:1.15rem; color:var(--muted); max-width:43rem; }
.date { color:var(--muted); font-size:.9rem; }
.support-grid { display:grid; grid-template-columns:1fr 1.55fr; gap:4rem; margin-top:2.5rem; align-items:start; }
.contact { background:var(--paper); border:1px solid var(--line); border-top:3px solid var(--gold); border-radius:.7rem; padding:1.5rem; }
.contact h2 { margin-top:0; }
.contact a { font-weight:650; }
.small { font-size:.9rem; color:var(--muted); }
.faq h2 { margin-top:0; }
details { border-bottom:1px solid var(--line); padding:1.1rem 0; }
summary { cursor:pointer; font-weight:650; line-height:1.5; }
details p { color:var(--muted); margin-bottom:.3rem; }
.policy-layout { display:grid; grid-template-columns:13rem minmax(0,44rem); gap:3rem; margin-top:2.6rem; align-items:start; }
.contents { display:grid; gap:.65rem; padding:1.2rem 0; border-top:2px solid var(--gold); }
.contents a { font-size:.9rem; text-decoration:none; }
.policy h2:first-child { margin-top:0; }
.policy section { scroll-margin-top:1rem; }
.notice { background:var(--paper); border-left:3px solid var(--gold); padding:1rem 1.2rem; margin:1.5rem 0; }
footer { padding:1.5rem 0 2rem; border-top:1px solid var(--line); font-size:.85rem; color:var(--muted); display:flex; justify-content:space-between; flex-wrap:wrap; gap:.6rem 2rem; }
@media(max-width:760px) { header,main,footer { width:calc(100% - 2rem); } header { flex-wrap:wrap; padding-block:1rem; } main { padding-top:2.4rem; } .support-grid,.policy-layout { grid-template-columns:1fr; gap:2rem; } .contents { grid-template-columns:1fr 1fr; } nav { gap:1rem; } }
@media(prefers-color-scheme:dark) { :root { --bg:#11191e; --paper:#18232a; --ink:#eef2f4; --muted:#afbec7; --line:#34434d; --gold:#dfb954; --link:#7dcaff; } }
@media print { :root { --bg:#fff; --paper:#fff; --ink:#000; --muted:#333; --line:#ccc; --gold:#333; --link:#000; } nav,.contents,.skip { display:none; } main { padding-top:1rem; } .policy-layout { display:block; } h2,h3 { break-after:avoid; } }
