:root { --ink:#16242b; --green:#547a70; --green-dark:#35584f; --cream:#f7f3eb; --gold:#c89b58; --paper:#fffefb; --muted:#68757a; --line:#dbe2df; }
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin:0; color:var(--ink); background:var(--paper); font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; line-height:1.65; -webkit-font-smoothing:antialiased; }
a { color:var(--green-dark); }
.container { width:min(840px,calc(100% - 40px)); margin:0 auto; }
.wide { width:min(1160px,calc(100% - 40px)); }
.site-header { border-bottom:1px solid var(--line); background:rgba(255,254,251,.94); }
.nav { min-height:78px; display:flex; align-items:center; justify-content:space-between; gap:20px; }
.logo { display:inline-flex; align-items:center; gap:12px; color:var(--ink); text-decoration:none; font-weight:850; letter-spacing:-.025em; }
.logo-mark { width:42px; height:42px; display:block; flex:0 0 auto; filter:drop-shadow(0 5px 12px rgba(22,36,43,.16)); transition:transform .2s ease,filter .2s ease; }
.logo:hover .logo-mark { transform:translateY(-1px) rotate(-2deg); filter:drop-shadow(0 7px 16px rgba(22,36,43,.22)); }
.back { color:var(--ink); font-size:.88rem; font-weight:800; text-decoration:none; }
.hero { padding:82px 0 46px; background:radial-gradient(circle at 88% 10%,rgba(200,155,88,.18),transparent 30%),var(--cream); border-bottom:1px solid var(--line); }
.eyebrow { margin:0 0 14px; color:var(--green-dark); font-size:.75rem; font-weight:850; letter-spacing:.14em; text-transform:uppercase; }
h1,h2 { line-height:1.1; letter-spacing:-.035em; }
h1 { max-width:760px; margin:0 0 18px; font-size:clamp(2.7rem,7vw,5rem); }
h2 { margin:42px 0 12px; font-size:1.45rem; }
.intro { max-width:700px; margin:0; color:var(--muted); font-size:1.05rem; }
.legal { padding:58px 0 90px; }
.legal p,.legal li { color:#3e4d53; }
.legal ul { padding-left:22px; }
.notice { margin:28px 0; padding:18px 20px; border-left:4px solid var(--gold); border-radius:0 12px 12px 0; background:var(--cream); }
.notice p { margin:0; }
footer { padding:34px 0; border-top:1px solid var(--line); color:var(--muted); font-size:.82rem; }
.center-card { min-height:calc(100vh - 157px); display:grid; place-items:center; padding:70px 0; text-align:center; }
.card { max-width:650px; padding:44px; border:1px solid var(--line); border-radius:24px; background:white; box-shadow:0 20px 60px rgba(22,36,43,.08); }
.card .logo-mark { width:52px; height:52px; margin:0 auto 24px; }
.card h1 { font-size:clamp(2.4rem,7vw,4rem); }
.button { min-height:50px; display:inline-flex; align-items:center; justify-content:center; padding:0 21px; border-radius:13px; color:white; background:var(--ink); text-decoration:none; font-weight:800; }
@media (max-width:600px) { .container,.wide { width:min(100% - 28px,1160px); } .hero { padding-top:58px; } .card { padding:32px 22px; } }
