/* Shared site shell. Uses the existing indigo/violet brand and type families. */
.site-header {position:sticky;top:12px;z-index:70;padding:12px 16px 0;pointer-events:none}
.site-nav {pointer-events:auto;display:flex;align-items:center;gap:16px;max-width:1120px;margin:auto;padding:8px 10px 8px 18px;border-radius:32px;background:#191331;color:#e6e0f8;border:1px solid #403258;box-shadow:0 10px 34px #0a061e26;font-family:Inter,sans-serif;font-size:14px}
.site-brand {display:flex;align-items:center;gap:8px;color:#fff;font-weight:700;white-space:nowrap;text-decoration:none;min-height:44px}
.site-brand img {display:block;border-radius:6px;flex:none}
.site-links {display:flex;align-items:center;gap:4px;margin-left:auto}
.site-links a {padding:12px 10px;min-height:44px;color:#ded6ee;text-decoration:none;border-radius:12px;line-height:20px}
.site-links a:hover,.site-links a[aria-current="page"] {background:#302348;color:#fff}
.site-cta {display:inline-flex;align-items:center;justify-content:center;background:#fff;color:#191331;border-radius:24px;padding:12px 16px;font-weight:600;min-height:44px;text-decoration:none;white-space:nowrap}
.site-cta:hover {background:#eee7ff;color:#191331}
.site-toggle {display:none;align-items:center;justify-content:center;min-width:44px;min-height:44px;border:1px solid #73658a;border-radius:50%;background:#302348;color:#fff;font:inherit;cursor:pointer;padding:10px}
.site-header a:focus-visible,.site-toggle:focus-visible {outline:3px solid #dfb4ff;outline-offset:3px}
.site-footer {background:#120d2b;color:#c7c0ec;padding:48px 0 24px;font-family:Inter,sans-serif;font-size:14px;line-height:1.7}
.site-footer-grid {display:grid;grid-template-columns:1.4fr 1fr 1fr 1.2fr;gap:32px}
.site-footer-brand {font-size:21px;font-weight:700;color:#fff;text-decoration:none}
.site-footer p {margin:12px 0;max-width:32em}
.site-footer nav a {display:block;width:fit-content;max-width:100%;padding:6px 0;min-height:32px;color:#d8d0ec;text-decoration:none;overflow-wrap:anywhere}
.site-footer nav a:hover {color:#fff;text-decoration:underline}
.site-footer .footer-heading {font-weight:700;color:#fff;margin:0 0 10px}
.site-footer-bottom {margin-top:32px;padding-top:20px;border-top:1px solid #ffffff26;font-size:13px}
.site-footer :focus-visible {outline-color:#dfb4ff}
main .hero {padding-top:80px}
[id],input,textarea,select,summary {scroll-margin-top:120px}
:where(.prose,.section-link,.evidence-panel,main#main) a:not(.btn) {text-decoration:underline;text-underline-offset:3px}
@media(max-width:1000px){
 .site-nav {gap:8px;flex-wrap:wrap;padding:8px 12px;border-radius:26px}
 .site-links {order:4;flex-basis:100%;display:none;flex-wrap:wrap;gap:4px;margin:0;padding:8px}
 .site-cta {margin-left:auto;font-size:12px;padding:12px}
 .site-toggle {display:flex}
 .site-nav[data-enhanced]:not(.open) .site-links {display:none}
 .site-nav[data-enhanced].open .site-links {display:grid;grid-template-columns:1fr 1fr;max-height:60vh;overflow:auto}
 .site-footer-grid {grid-template-columns:1fr 1fr}
}
@media(max-width:560px){.site-header {padding:8px 10px 0;top:4px}.site-brand {font-size:14px}.site-cta {display:none}.site-toggle {margin-left:auto}.site-footer-grid {grid-template-columns:1fr}.site-nav[data-enhanced].open .site-links {grid-template-columns:1fr}main .hero {padding-top:60px}[id],input,textarea,select,summary {scroll-margin-top:96px}}

/* Native focus and form validation must settle immediately, including without JS. */
html {scroll-behavior:auto}
