:root { --text:#1b2737; --muted:#667386; --line:#dce4ec; --brand:#3e6278; --surface:#fff; --bg:#f6f8fb; font-family: Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; }
* { box-sizing: border-box; }
body { margin:0; color:var(--text); background:var(--bg); line-height:1.7; }
a { color:var(--brand); }
.site-header { min-height:74px; padding:0 max(24px,calc((100vw - 1180px)/2)); background:#fff; border-bottom:1px solid var(--line); display:flex; align-items:center; justify-content:space-between; gap:28px; position:sticky; top:0; z-index:10; }
.site-name { color:var(--text); text-decoration:none; font-weight:850; letter-spacing:-.03em; }
.site-nav > ul { margin:0; padding:0; display:flex; gap:18px; list-style:none; }
.site-nav li { position:relative; list-style:none; }
.site-nav a { color:#425066; text-decoration:none; font-weight:650; }
.site-nav li ul { display:none; position:absolute; top:100%; left:0; min-width:210px; background:#fff; border:1px solid var(--line); border-radius:12px; padding:10px; box-shadow:0 18px 40px rgba(30,50,70,.12); }
.site-nav li:hover > ul, .site-nav li:focus-within > ul { display:grid; gap:7px; }
.site-content { width:min(100% - 40px,980px); margin:60px auto 90px; }
.prose { background:#fff; border:1px solid var(--line); border-radius:20px; padding:clamp(24px,5vw,58px); box-shadow:0 18px 50px rgba(30,50,70,.06); }
.prose h1 { font-size:clamp(2rem,5vw,3.5rem); line-height:1.05; letter-spacing:-.05em; margin-top:0; }
.prose h2 { margin-top:2em; letter-spacing:-.025em; }
.prose p, .prose li { color:#46546a; }
.prose a { overflow-wrap:anywhere; }
.empty-site { text-align:center; padding:90px 20px; }
.empty-site h1 { font-size:clamp(2rem,5vw,4rem); letter-spacing:-.05em; margin:0 0 12px; }
.error-code { display:block; color:var(--brand); font-size:1rem; font-weight:850; letter-spacing:.14em; }
.site-footer { padding:34px max(24px,calc((100vw - 1180px)/2)); border-top:1px solid var(--line); background:#fff; display:flex; justify-content:space-between; gap:24px; flex-wrap:wrap; font-size:.88rem; }
.site-footer nav { display:flex; flex-wrap:wrap; gap:14px; }
.site-footer a { color:#5c6a7e; text-decoration:none; }
@media (max-width:760px) { .site-header { align-items:flex-start; flex-direction:column; padding-top:18px; padding-bottom:18px; position:static; }.site-nav > ul { flex-direction:column; gap:8px; }.site-nav li ul { display:grid; position:static; box-shadow:none; border:0; padding:6px 0 0 16px; }.site-content { margin-top:30px; } }
