:root { color-scheme: dark; font-family: Inter, "Hiragino Kaku Gothic ProN", "Yu Gothic", sans-serif; background: #0d1117; color: #f5f3ee; }
* { box-sizing: border-box; }
body { margin: 0; min-width: 320px; background: radial-gradient(circle at 82% 3%, #304a5f 0, transparent 30rem), #0d1117; }
a { color: inherit; }
.site-header, .site-footer, main { width: min(100% - 3rem, 68rem); margin-inline: auto; }
.site-header { min-height: 5rem; display: flex; align-items: center; justify-content: space-between; gap: 1rem; border-bottom: 1px solid #ffffff24; }
.brand { color: #fff; font-size: 1.12rem; font-weight: 700; text-decoration: none; letter-spacing: .04em; }
.status, .eyebrow { color: #b6c5ca; font-size: .75rem; letter-spacing: .12em; text-transform: uppercase; }
.hero { padding: clamp(6rem, 15vw, 12rem) 0 7rem; }
h1, h2, p { margin-top: 0; }
h1 { max-width: 16ch; font-size: clamp(2.7rem, 8vw, 6.2rem); line-height: 1.05; letter-spacing: -.045em; margin-bottom: 2rem; }
h2 { font-size: clamp(1.65rem, 4vw, 2.5rem); letter-spacing: -.03em; }
.lead { max-width: 36rem; color: #d2dddf; font-size: clamp(1.05rem, 2vw, 1.25rem); line-height: 1.9; }
.about, .notice { padding: 3rem 0; border-top: 1px solid #ffffff24; }
.about > p:last-child, .notice p, .legal-page > p { max-width: 44rem; color: #d2dddf; line-height: 1.9; }
.notice { padding-bottom: 4.5rem; }
.notice h2 { margin-bottom: .75rem; }
.site-footer { padding: 2rem 0 3rem; border-top: 1px solid #ffffff24; color: #b6c5ca; font-size: .9rem; }
.site-footer nav { display: flex; flex-wrap: wrap; gap: 1.25rem; }
.site-footer a, .back { text-underline-offset: .24em; }
.site-footer p { margin: 1.5rem 0 0; }
.legal-page { min-height: calc(100vh - 5rem); padding: clamp(4rem, 12vw, 9rem) 0; }
.legal-page h1 { font-size: clamp(2.4rem, 6vw, 4.5rem); }
.legal-copy { max-width: 52rem; margin: 0 0 3rem; white-space: pre-wrap; overflow-wrap: anywhere; font: inherit; font-size: .96rem; line-height: 1.9; color: #d2dddf; }
@media (max-width: 480px) { .site-header, .site-footer, main { width: min(100% - 2rem, 68rem); } .site-header { align-items: flex-start; flex-direction: column; justify-content: center; padding: 1rem 0; } .status { font-size: .68rem; } .hero { padding-top: 5rem; } }
