:root { --ink:#17211b; --muted:#5f6d64; --line:#d8e0da; --paper:#fbfcfb; --green:#49684f; --gold:#b89143; }
* { box-sizing:border-box; }
html, body { margin:0; background:var(--paper); color:var(--ink); font-family:Arial,Helvetica,sans-serif; line-height:1.65; }
a { color:inherit; }
main { min-height:100vh; }
.site-header { border-bottom:1px solid var(--line); background:#fff; }
.site-header,.intro,.legal-links,.legal-page,footer { padding-left:max(24px,calc((100vw - 880px)/2)); padding-right:max(24px,calc((100vw - 880px)/2)); }
.site-header { padding-top:18px; padding-bottom:18px; }
.brand { display:flex; align-items:center; gap:14px; }
.brand img { width:54px; height:54px; border-radius:50%; }
.brand strong,.brand span { display:block; }
.brand strong { font-size:18px; }
.brand span,.updated { color:var(--muted); font-size:14px; }
.intro { padding-top:72px; padding-bottom:54px; }
.eyebrow { color:var(--green); font-weight:700; margin:0 0 10px; }
h1 { font-size:clamp(36px,6vw,64px); line-height:1.08; margin:0 0 24px; max-width:760px; overflow-wrap:anywhere; }
.intro>p:last-child { max-width:680px; font-size:20px; color:var(--muted); }
.legal-links { display:grid; grid-template-columns:1fr 1fr; gap:1px; background:var(--line); padding-top:1px; padding-bottom:1px; }
.legal-links a { background:#fff; padding:28px; text-decoration:none; min-height:140px; }
.legal-links a:hover { background:#f4f7f4; }
.legal-links span { display:block; font-size:22px; font-weight:700; margin-bottom:8px; }
.legal-links small { color:var(--muted); font-size:15px; }
.legal-page { padding-top:56px; padding-bottom:72px; max-width:1120px; }
.legal-page h1 { font-size:clamp(34px,5vw,52px); }
.legal-page h2 { font-size:24px; margin-top:44px; margin-bottom:12px; }
.legal-page p,.legal-page li { max-width:760px; }
.back-link { display:inline-block; margin-bottom:34px; color:var(--green); font-weight:700; }
.notice { border-left:4px solid var(--gold); padding:14px 18px; background:#fffaf0; }
footer { display:flex; justify-content:space-between; gap:24px; border-top:1px solid var(--line); padding-top:24px; padding-bottom:32px; color:var(--muted); font-size:14px; }
@media (max-width:680px) { .intro{padding-top:48px}.legal-links{grid-template-columns:1fr}footer{flex-direction:column} }
