:root { color-scheme: dark; --bg:#0a0a0a; --surface:#161616; --line:#2c2c2c; --text:#f5f5f5; --muted:#a8a8a8; }
* { box-sizing:border-box; }
html { background:var(--bg); }
body { margin:0; min-width:320px; background:radial-gradient(circle at 85% 5%, #202020 0, transparent 30rem), var(--bg); color:var(--text); font-family:ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; line-height:1.65; }
a { color:inherit; }
.shell { width:min(100% - 40px, 820px); margin:0 auto; padding:72px 0; }
.home { min-height:calc(100vh - 70px); display:flex; flex-direction:column; justify-content:center; }
.eyebrow { margin:0 0 12px; color:var(--muted); font-size:.75rem; font-weight:750; letter-spacing:.16em; }
h1 { margin:0; max-width:700px; font-size:clamp(2.8rem, 9vw, 5.5rem); letter-spacing:-.065em; line-height:.93; }
h2 { margin:42px 0 14px; font-size:1.4rem; letter-spacing:-.025em; }
h3 { margin:30px 0 8px; font-size:1.05rem; }
p, li { font-size:1rem; }
.lead { max-width:590px; margin:30px 0 44px; color:var(--muted); font-size:1.15rem; }
.card-grid { display:grid; grid-template-columns:repeat(2, minmax(0, 1fr)); gap:12px; }
.card { min-height:150px; padding:22px; border:1px solid var(--line); border-radius:18px; background:rgba(22,22,22,.78); font-size:1.1rem; font-weight:700; text-decoration:none; transition:border-color .15s ease, transform .15s ease; }
.card:hover { border-color:#858585; transform:translateY(-2px); }
.card span { display:block; margin-top:8px; color:var(--muted); font-size:.88rem; font-weight:400; line-height:1.45; }
.legal-header { padding-bottom:32px; border-bottom:1px solid var(--line); }
.legal-header h1 { font-size:clamp(2.25rem, 7vw, 4rem); }
.legal-header p { color:var(--muted); }
.legal-nav { display:flex; flex-wrap:wrap; gap:16px; margin-top:24px; color:var(--muted); font-size:.9rem; }
.legal-nav a:hover { color:var(--text); }
.note { margin:24px 0; padding:18px 20px; border-left:2px solid #f5f5f5; background:#151515; color:var(--muted); }
ul { padding-left:22px; }
footer { width:min(100% - 40px, 820px); margin:0 auto; padding:24px 0 36px; display:flex; justify-content:space-between; gap:12px; border-top:1px solid var(--line); color:var(--muted); font-size:.86rem; }
@media (max-width:560px) { .shell { width:min(100% - 32px, 820px); padding:48px 0; } .card-grid { grid-template-columns:1fr; } footer { width:min(100% - 32px, 820px); flex-direction:column; } }
