:root { --ink:#111827; --muted:#64748b; --faint:#94a3b8; --line:#e5e7eb; --surface:#fff; --soft:#f8fafc; --radius:12px; font-family:"Geist",Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; color:var(--ink); background:#fff; font-synthesis:none; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; overflow-x:clip; }
body { margin:0; min-width:320px; overflow-x:hidden; background:var(--surface); }
a { color:inherit; }
.svg-sprite { position:absolute; width:0; height:0; overflow:hidden; }
.container { width:min(100% - 48px, 1360px); margin-inline:auto; }
.site-header { border-bottom:1px solid var(--line); background:rgba(255,255,255,.94); }
.header-inner,.footer-inner { min-height:68px; display:flex; align-items:center; justify-content:space-between; gap:20px; }
.brand { font-size:16px; font-weight:700; letter-spacing:-.03em; text-decoration:none; white-space:nowrap; }
.button { min-height:44px; display:inline-flex; align-items:center; justify-content:center; gap:9px; padding:10px 16px; border:1px solid transparent; border-radius:9px; font-size:14px; font-weight:600; line-height:1; text-decoration:none; cursor:pointer; transition:background-color .16s ease,border-color .16s ease,color .16s ease,transform .16s ease,box-shadow .16s ease; }
.button svg { width:16px; height:16px; fill:none; stroke:currentColor; stroke-width:1.9; stroke-linecap:round; stroke-linejoin:round; }
.button-primary { color:#fff; background:#111827; border-color:#111827; }
.button-primary:hover { background:#273449; border-color:#273449; }
.button-secondary { color:#334155; background:#fff; border-color:#cbd5e1; }
.button-secondary:hover { color:#111827; border-color:#94a3b8; background:#f8fafc; }
.button:active { transform:translateY(1px); }
.button:focus-visible,.brand:focus-visible,.footer-social:focus-visible,.nav-card:focus-visible { outline:3px solid #93c5fd; outline-offset:3px; }
.button-small { min-height:38px; padding:8px 13px; font-size:13px; }
.eyebrow { display:inline-flex; margin:0 0 19px; padding:5px 10px; border-radius:999px; background:#f1f5f9; color:#475569; font-size:12px; font-weight:500; line-height:1; }
h1,h2,h3,p { margin-top:0; }
.site-footer { border-top:1px solid var(--line); }
.footer-inner { min-height:75px; justify-content:flex-start; }
.footer-inner p { margin:0; color:#64748b; font-size:13px; }
.footer-social { width:38px; height:38px; margin-left:auto; display:grid; place-items:center; border-radius:8px; color:#64748b; transition:background-color .16s ease,color .16s ease; }
.footer-social:hover { color:#111827; background:#f1f5f9; }
.footer-social svg { width:18px; height:18px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
@media (max-width:800px) { .container { width:min(100% - 32px,1360px); } }
@media (max-width:520px) { .header-inner { min-height:62px; } .button-small { min-height:38px; } .footer-inner { min-height:96px; flex-wrap:wrap; align-content:center; gap:7px 14px; } .footer-inner p { font-size:12px; } .footer-social { margin-left:auto; } }
@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } *,*::before,*::after { transition-duration:.01ms!important; animation-duration:.01ms!important; animation-iteration-count:1!important; } }
