/* Purpose: Shared reset, tokens, typography, and accessible site primitives. */
@import url('https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=Manrope:wght@400;500;600;700;800&display=swap');
:root { --ink_950:#07111f; --navy_900:#0f172a; --navy_800:#142238; --navy_700:#1e3a5f; --cyan_400:#22d3ee; --cyan_300:#67e8f9; --text_100:#f1f5f9; --muted_400:#94a3b8; --muted_500:#718198; --line_color:rgba(148,163,184,.18); --max_width:1180px; --display_font:'Manrope',Arial,sans-serif; --mono_font:'DM Mono',monospace; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--navy_900); color:var(--text_100); font-family:var(--display_font); font-size:16px; line-height:1.65; text-rendering:optimizeLegibility; }
body::before { position:fixed; inset:0; z-index:-2; content:""; background:radial-gradient(circle at 80% 0%,rgba(30,58,95,.4),transparent 38%),radial-gradient(circle at 10% 45%,rgba(10,37,64,.45),transparent 34%); pointer-events:none; }
body::after { position:fixed; inset:0; z-index:-1; content:""; opacity:.16; background-image:linear-gradient(rgba(103,232,249,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(103,232,249,.045) 1px,transparent 1px); background-size:56px 56px; mask-image:linear-gradient(to bottom,black,transparent 84%); pointer-events:none; }
a { color:inherit; text-decoration:none; }
img { max-width:100%; }
button { color:inherit; font:inherit; }
.skip_link { position:fixed; top:-60px; left:20px; z-index:100; padding:10px 16px; border-radius:8px; background:var(--cyan_400); color:var(--ink_950); font-weight:800; transition:top .2s ease; }
.skip_link:focus { top:20px; }
.site_shell { width:min(100% - 48px,var(--max_width)); margin:0 auto; }
.content_section { padding:128px 0; border-top:1px solid var(--line_color); }
.eyebrow_label { margin:0 0 24px; color:var(--cyan_400); font-family:var(--mono_font); font-size:11px; letter-spacing:.13em; line-height:1.4; text-transform:uppercase; }
.status_dot { display:inline-block; width:7px; height:7px; margin:0 9px 1px 0; border-radius:50%; background:var(--cyan_400); box-shadow:0 0 0 4px rgba(34,211,238,.12); }
h1,h2,h3,p { margin-top:0; }
h1,h2,h3 { line-height:1.1; }
h2 { margin-bottom:28px; font-size:clamp(38px,5vw,64px); letter-spacing:-.055em; }
h2 span, h1 span { color:var(--cyan_400); }
.action_button { display:inline-flex; min-height:48px; align-items:center; justify-content:center; gap:10px; padding:12px 18px; border:1px solid transparent; border-radius:10px; font-size:13px; font-weight:800; transition:transform .2s ease,background .2s ease,border-color .2s ease; }
.action_button:hover,.action_button:focus-visible { transform:translateY(-2px); }
.action_button_primary { background:var(--cyan_400); color:var(--ink_950); }
.action_button_primary:hover,.action_button_primary:focus-visible { background:var(--cyan_300); }
.action_button_secondary { border-color:rgba(103,232,249,.3); background:rgba(15,23,42,.55); color:var(--text_100); }
.action_button_secondary:hover,.action_button_secondary:focus-visible { border-color:var(--cyan_400); background:rgba(34,211,238,.1); }
.action_button img { flex:none; }
:focus-visible { outline:3px solid var(--cyan_400); outline-offset:4px; }
@media (max-width:700px) { .site_shell { width:min(100% - 32px,var(--max_width)); } .content_section { padding:88px 0; } }
@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } *,*::before,*::after { animation-duration:.01ms !important; animation-iteration-count:1 !important; scroll-behavior:auto !important; transition-duration:.01ms !important; } }
