@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:#eaf4ff; --muted:#95a9bd; --line:rgba(178,212,238,.18); --cyan:#77f6ff; --blue:#6c8bff; --night:#06101d; --panel:#0a1a2b; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; overflow-x:hidden; background:var(--night); color:var(--ink); font-family:Manrope,Arial,sans-serif; font-size:16px; line-height:1.6; }
body::before { content:""; position:fixed; inset:0; pointer-events:none; opacity:.16; background-image:linear-gradient(rgba(150,214,255,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(150,214,255,.04) 1px,transparent 1px); background-size:72px 72px; mask-image:linear-gradient(#000,transparent 82%); }
.atmosphere { position:absolute; top:-21rem; right:-25rem; width:72rem; height:72rem; border-radius:50%; background:radial-gradient(circle,rgba(55,154,255,.20),rgba(10,87,155,.07) 36%,transparent 69%); filter:blur(6px); pointer-events:none; }
.skip-link { position:absolute; left:-999px; top:0; z-index:10; background:var(--cyan); color:#001222; padding:.6rem 1rem; }
.skip-link:focus { left:1rem; top:1rem; }
.site-header { max-width:1240px; margin:auto; padding:1.35rem 2rem; display:flex; align-items:center; justify-content:space-between; position:relative; z-index:2; }
.brand { display:inline-flex; gap:.7rem; align-items:center; color:var(--ink); text-decoration:none; font-family:'DM Mono',monospace; font-size:.76rem; letter-spacing:.12em; font-weight:500; }
.brand-mark { width:2rem; height:2rem; display:grid; place-items:center; border:1px solid rgba(119,246,255,.65); border-radius:50%; color:var(--cyan); font-size:.65rem; letter-spacing:0; }
nav { display:flex; gap:1.8rem; }
nav a,.menu-button { color:var(--muted); text-decoration:none; font:500 .76rem 'DM Mono',monospace; letter-spacing:.08em; text-transform:uppercase; transition:color .2s; }
nav a:hover,nav a:focus { color:var(--cyan); }
.menu-button { display:none; background:none; border:1px solid var(--line); padding:.5rem .7rem; }
.hero,.section,.contact-section { max-width:1240px; margin:auto; padding-left:2rem; padding-right:2rem; }
.hero { min-height:calc(100vh - 72px); padding-top:8rem; padding-bottom:3rem; position:relative; }
.eyebrow,.kicker,.section-number,.panel-header,.scroll-cue { color:var(--cyan); font:500 .72rem 'DM Mono',monospace; letter-spacing:.1em; }
.eyebrow { display:flex; align-items:center; gap:.55rem; color:#b9d5e9; }
.eyebrow span { width:6px; height:6px; border-radius:50%; background:var(--cyan); box-shadow:0 0 14px var(--cyan); }
.hero-grid { display:grid; grid-template-columns:minmax(0,1.18fr) minmax(320px,.82fr); gap:5rem; align-items:center; margin-top:5rem; }
.kicker { margin:0 0 1.15rem; color:var(--cyan); }
h1,h2,h3,p { margin-top:0; }
h1 { max-width:790px; margin-bottom:1.5rem; font-size:clamp(3rem,6vw,6.45rem); letter-spacing:-.075em; line-height:.98; font-weight:700; }
.hero-copy { max-width:600px; color:#bbcada; font-size:1.08rem; line-height:1.75; }
.hero-actions { display:flex; flex-wrap:wrap; gap:.85rem; margin-top:2.2rem; }
.button { min-height:3rem; display:inline-flex; align-items:center; gap:1.25rem; padding:.7rem 1.1rem; text-decoration:none; font-weight:700; font-size:.86rem; border:1px solid var(--line); color:var(--ink); transition:transform .2s,border .2s; }
.button:hover { transform:translateY(-2px); border-color:var(--cyan); }
.primary { color:#04111e; background:var(--cyan); border-color:var(--cyan); }
.signal-panel { position:relative; overflow:hidden; min-height:440px; padding:1.1rem 1.2rem; background:linear-gradient(145deg,rgba(18,46,70,.85),rgba(5,20,35,.9)); border:1px solid rgba(146,220,255,.3); box-shadow:0 24px 90px rgba(0,0,0,.25), inset 0 1px 0 rgba(255,255,255,.06); }
.signal-panel::after { content:""; position:absolute; width:130%; height:1px; left:-15%; top:57%; background:linear-gradient(90deg,transparent,var(--cyan),transparent); opacity:.4; transform:rotate(-24deg); }
.panel-header { display:flex; justify-content:space-between; color:#a6c2d5; font-size:.62rem; }
.orbital { width:235px; height:235px; border:1px solid rgba(119,246,255,.35); border-radius:50%; margin:3.5rem auto 2.4rem; display:grid; place-items:center; position:relative; box-shadow:0 0 0 25px rgba(85,194,255,.025),0 0 70px rgba(63,179,255,.14); }
.orbital::before,.orbital::after { content:""; position:absolute; inset:27px; border:1px dashed rgba(119,246,255,.25); border-radius:50%; animation:spin 18s linear infinite; }
.orbital::after { inset:-16px; border-style:solid; border-color:transparent rgba(119,246,255,.28) transparent rgba(119,246,255,.12); animation-direction:reverse; animation-duration:11s; }
.orbital i { position:absolute; width:7px; height:7px; border-radius:50%; background:var(--cyan); box-shadow:0 0 11px var(--cyan); }
.orbital i:nth-child(1){ top:27px; left:31px; }.orbital i:nth-child(2){ bottom:26px; right:33px; }.orbital i:nth-child(3){ top:50%; right:-4px; }
.orbital b { color:var(--cyan); font:500 1.55rem 'DM Mono',monospace; letter-spacing:.12em; }
@keyframes spin { to { transform:rotate(360deg); } }
.signal-row { display:flex; justify-content:space-between; padding:.65rem 0; border-top:1px solid var(--line); font-size:.8rem; color:#b9cbda; }.signal-row strong { color:var(--cyan); font:500 .69rem 'DM Mono',monospace; text-transform:uppercase; }
.scroll-cue { position:absolute; bottom:2.4rem; right:2rem; color:#87a3b8; font-size:.61rem; display:flex; align-items:center; gap:.8rem; }.scroll-cue span { width:44px; height:1px; background:var(--cyan); }
.section { padding-top:9rem; padding-bottom:2rem; }.focus-section { padding-bottom:8rem; }.section-intro { display:grid; grid-template-columns:.7fr 1.2fr 1fr; gap:2rem; margin-bottom:4rem; }.section-intro h2,.system-heading h2,.principles-copy h2 { margin:0; font-size:clamp(2rem,3.4vw,3.7rem); letter-spacing:-.055em; line-height:1.08; }.section-intro > p:last-child,.principles-copy > p:last-child { color:var(--muted); max-width:350px; }
.section-number { color:#7f9db1; margin:0; font-size:.68rem; }
.capability-grid { display:grid; grid-template-columns:repeat(4,1fr); border-top:1px solid var(--line); border-left:1px solid var(--line); }.capability-card { min-height:292px; position:relative; padding:1.5rem; border-right:1px solid var(--line); border-bottom:1px solid var(--line); background:rgba(10,29,47,.28); transition:background .25s,transform .25s; }.capability-card:hover { background:rgba(26,65,90,.34); transform:translateY(-4px); }.accent-card { background:linear-gradient(145deg,rgba(33,77,106,.56),rgba(10,29,47,.42)); }.card-index { color:var(--cyan); font:500 .7rem 'DM Mono',monospace; }.capability-card h3 { max-width:190px; font-size:1.2rem; line-height:1.25; letter-spacing:-.03em; margin:4.1rem 0 .8rem; }.capability-card p { color:var(--muted); font-size:.87rem; line-height:1.6; }.card-symbol { position:absolute; right:1.4rem; bottom:1rem; color:#8aebf6; font-size:1.75rem; }
.systems-section { background:linear-gradient(180deg,transparent,rgba(12,43,68,.31),transparent); max-width:none; padding-left:max(2rem,calc((100% - 1240px)/2 + 2rem)); padding-right:max(2rem,calc((100% - 1240px)/2 + 2rem)); padding-bottom:9rem; }.system-heading { display:flex; justify-content:space-between; align-items:flex-start; gap:2rem; margin-bottom:4rem; }.system-heading h2 { width:min(620px,100%); }.system-layout { display:grid; grid-template-columns:1fr 1fr; gap:7rem; align-items:center; }.system-map { position:relative; aspect-ratio:1; max-width:520px; margin:auto; display:grid; place-items:center; color:#b8e5f3; font:500 .65rem 'DM Mono',monospace; letter-spacing:.08em; }.system-map svg { position:absolute; inset:0; width:100%; height:100%; stroke:rgba(119,246,255,.23); stroke-width:1; fill:none; }.map-core,.map-node { position:absolute; z-index:1; display:grid; place-items:center; border-radius:50%; background:#0a2135; border:1px solid rgba(119,246,255,.55); }.map-core { width:102px;height:102px;color:var(--cyan); box-shadow:0 0 45px rgba(92,236,255,.12); }.map-node { width:74px;height:74px; font-size:.58rem; }.node-one{top:8%;left:calc(50% - 37px)}.node-two{right:8%;top:calc(50% - 37px)}.node-three{bottom:8%;left:calc(50% - 37px)}.node-four{left:8%;top:calc(50% - 37px)}
.system-copy > p { color:#bfceda; font-size:1.14rem; line-height:1.7; max-width:535px; }.system-copy ol { padding:0; margin:2.6rem 0 0; list-style:none; border-top:1px solid var(--line); }.system-copy li { display:flex; gap:1.2rem; padding:1.05rem 0; border-bottom:1px solid var(--line); }.system-copy li>span { color:var(--cyan); font:500 .67rem 'DM Mono',monospace; padding-top:.25rem; }.system-copy strong,.system-copy small { display:block; }.system-copy strong { font-size:.92rem; }.system-copy small { color:var(--muted); font-size:.8rem; margin-top:.2rem; }
.principles-section { display:grid; grid-template-columns:.83fr 1.17fr; gap:7rem; padding-bottom:9rem; }.principles-copy > p:last-child { margin-top:1.8rem; }.principles-list { border-top:1px solid var(--line); }.principles-list details { border-bottom:1px solid var(--line); }.principles-list summary { list-style:none; cursor:pointer; display:flex; align-items:center; gap:1.35rem; padding:1.25rem .15rem; font-weight:600; }.principles-list summary::-webkit-details-marker { display:none; }.principles-list summary span { font:500 .67rem 'DM Mono',monospace; color:var(--cyan); }.principles-list summary b { margin-left:auto; font-weight:400; color:var(--cyan); transition:transform .2s; }.principles-list details[open] summary b { transform:rotate(45deg); }.principles-list details p { max-width:500px; margin:0 2.3rem 1.25rem; color:var(--muted); font-size:.9rem; }
.contact-section { padding-top:8rem; padding-bottom:9rem; border-top:1px solid var(--line); }.contact-section h2 { margin:.9rem 0 1.3rem; max-width:880px; font-size:clamp(2.7rem,6vw,6rem); letter-spacing:-.075em; line-height:1; }.contact-section>p:not(.section-number) { color:var(--muted); max-width:510px; }.contact-link { display:inline-flex; gap:1rem; margin-top:1.8rem; color:var(--cyan); font:500 clamp(1rem,2vw,1.35rem) 'DM Mono',monospace; text-decoration:none; border-bottom:1px solid rgba(119,246,255,.45); padding-bottom:.35rem; }.contact-link:hover { color:white; }
footer { max-width:1240px; padding:1.7rem 2rem 2.5rem; margin:auto; display:grid; grid-template-columns:1fr 1fr 1fr; gap:1rem; border-top:1px solid var(--line); color:#7891a3; font-size:.72rem; }footer p { margin:0; }footer p:last-child{text-align:right;}
@media (max-width:800px) { .site-header { padding:1rem 1.2rem; }.menu-button{display:block} nav{display:none; position:absolute; right:1.2rem; top:4rem; width:160px; padding:1rem; background:#0b1e31; border:1px solid var(--line); flex-direction:column; gap:1rem; }nav.open{display:flex}.hero,.section,.contact-section{padding-left:1.2rem;padding-right:1.2rem}.hero{padding-top:5rem}.hero-grid,.system-layout,.principles-section{grid-template-columns:1fr;gap:3rem}.hero-grid{margin-top:3.5rem}.signal-panel{min-height:400px}.scroll-cue{display:none}.section{padding-top:6rem}.section-intro{grid-template-columns:1fr;gap:1rem;margin-bottom:2.5rem}.capability-grid{grid-template-columns:1fr 1fr}.system-heading{display:block}.system-heading h2{margin-top:1rem}.systems-section{padding-left:1.2rem;padding-right:1.2rem;padding-bottom:6rem}.principles-section{padding-bottom:6rem}.contact-section{padding-top:5.5rem;padding-bottom:6rem}footer{padding:1.5rem 1.2rem;grid-template-columns:1fr;gap:.7rem}footer p:last-child{text-align:left} }
@media (max-width:480px) { h1{font-size:3.2rem}.capability-grid{grid-template-columns:1fr}.capability-card{min-height:235px}.hero-actions{flex-direction:column;align-items:stretch}.button{justify-content:space-between}.orbital{width:205px;height:205px}.contact-section h2 br{display:none} }

/* Motion layer */
body::after { content:""; position:fixed; inset:0; pointer-events:none; z-index:6; opacity:.10; background:repeating-linear-gradient(0deg,transparent 0 2px,rgba(160,235,255,.11) 3px,transparent 4px); mix-blend-mode:soft-light; }
.atmosphere { animation:drift 11s ease-in-out infinite alternate; background:radial-gradient(circle,rgba(55,154,255,.25),rgba(10,87,155,.08) 36%,transparent 69%); }
.cursor-glow { position:fixed; z-index:0; left:0; top:0; width:24rem; height:24rem; pointer-events:none; opacity:.42; border-radius:50%; transform:translate(-50%,-50%); background:radial-gradient(circle,rgba(77,235,255,.14),transparent 65%); transition:left .14s linear,top .14s linear; }
@keyframes drift { to { transform:translate(-10rem,7rem) scale(1.13); } }
.eyebrow em { margin-left:.4rem; color:var(--cyan); font-size:.58rem; font-style:normal; animation:pulse 1.8s ease-in-out infinite; }
@keyframes pulse { 50% { opacity:.3; } }
h1 span { color:transparent; background:linear-gradient(90deg,#b6faff 8%,#77f6ff 43%,#849bff 62%,#d4f6ff 87%); background-size:220% auto; background-clip:text; -webkit-background-clip:text; animation:shimmer 7s linear infinite; }
@keyframes shimmer { to { background-position:220% center; } }
.signal-panel { transition:transform .2s ease,box-shadow .2s ease; transform:perspective(800px) rotateX(var(--panel-rx,0deg)) rotateY(var(--panel-ry,0deg)); }
.panel-scan { position:absolute; z-index:0; left:0; right:0; height:22%; background:linear-gradient(180deg,transparent,rgba(104,244,255,.13),transparent); animation:scan 5.5s linear infinite; pointer-events:none; }.panel-scan::after{content:"";position:absolute;bottom:0;left:0;width:100%;height:1px;background:var(--cyan);box-shadow:0 0 18px var(--cyan)}
@keyframes scan { from{top:-25%} to{top:110%} }
.ticker { overflow:hidden; white-space:nowrap; border-block:1px solid rgba(119,246,255,.23); background:rgba(67,181,226,.06); color:#a6f8ff; font:500 .78rem 'DM Mono',monospace; letter-spacing:.12em; padding:.8rem 0; transform:rotate(-1.2deg) scale(1.04); position:relative; z-index:1; }.ticker div { display:inline-block; animation:ticker 28s linear infinite; }.ticker b{color:var(--cyan);margin:0 .8rem;}.ticker:hover div{animation-play-state:paused}@keyframes ticker{to{transform:translateX(-50%)}}
.capability-card { overflow:hidden; }.capability-card::before{content:"";position:absolute;inset:-70% -10%;background:linear-gradient(110deg,transparent 43%,rgba(153,246,255,.1) 49%,transparent 56%);transform:translateX(-75%);transition:transform .8s ease;}.capability-card:hover::before{transform:translateX(75%)}.capability-card:hover { transform:translateY(-7px); }.card-symbol { animation:float 3.5s ease-in-out infinite; }.capability-card:nth-child(2) .card-symbol{animation-delay:-.8s}.capability-card:nth-child(3) .card-symbol{animation-delay:-1.7s}.capability-card:nth-child(4) .card-symbol{animation-delay:-2.4s}@keyframes float{50%{transform:translateY(-8px) rotate(9deg)}}
.contact-link.disabled{color:#90d5dd;cursor:default;letter-spacing:.04em;font-size:.85rem;animation:pulse 2s ease-in-out infinite;}
@media (prefers-reduced-motion:reduce) { *,*::before,*::after { animation-duration:.01ms!important; animation-iteration-count:1!important; scroll-behavior:auto!important; transition-duration:.01ms!important; } .cursor-glow{display:none} }
