:root { color-scheme:light; --green:#21734d; --mint:#e8f4eb; --paper:#fff; --ink:#142019; --muted:#68736d; --line:#dce3de; }
* { box-sizing:border-box; }
body { margin:0; font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; background:var(--paper); color:var(--ink); line-height:1.58; }
.shell { width:min(760px,calc(100% - 40px)); margin:0 auto; min-height:calc(100vh - 100px); }
.brand { display:flex; align-items:center; gap:10px; padding:28px 0; font-size:22px; font-weight:750; }
.brand a { color:var(--ink); text-decoration:none; }
.leaf { color:var(--green); font-size:18px; }
.hero { padding:70px 0 52px; }
.eyebrow { color:var(--green); font-size:13px; font-weight:750; letter-spacing:.12em; }
h1 { font-size:clamp(44px,9vw,72px); line-height:1.02; letter-spacing:-.045em; margin:10px 0 24px; }
h2 { font-size:28px; margin-top:44px; }
p,li { font-size:17px; }
.hero>p:last-child,.lede { color:var(--muted); max-width:620px; font-size:20px; }
.cards { display:grid; grid-template-columns:repeat(3,1fr); gap:14px; padding-bottom:72px; }
.cards a { display:flex; min-height:140px; flex-direction:column; justify-content:space-between; padding:20px; color:var(--ink); text-decoration:none; border:1px solid var(--line); border-radius:20px; }
.cards a:hover { border-color:var(--green); }
.cards span { color:var(--green); font-size:14px; }
.document { padding:48px 0 80px; }
.document h1 { font-size:clamp(40px,8vw,60px); }
.meta { color:var(--muted); }
.notice { padding:18px 20px; border-radius:16px; background:var(--mint); }
.auth-shell { min-height:100vh; display:flex; flex-direction:column; justify-content:center; align-items:flex-start; max-width:560px; }
.auth-shell .meta { margin-top:28px; max-width:520px; }
.button { display:inline-block; margin-top:12px; padding:14px 22px; color:white; background:var(--green); border-radius:14px; font-weight:700; text-decoration:none; }
a { color:var(--green); }
footer { width:min(760px,calc(100% - 40px)); margin:0 auto; padding:26px 0 40px; color:var(--muted); font-size:14px; border-top:1px solid var(--line); }
@media (max-width:620px) { .hero { padding-top:40px; } .cards { grid-template-columns:1fr; } .cards a { min-height:110px; } }
