:root { --ink:#090d29; --blue:#10068f; --electric:#3e52ff; --paper:#f5f6fa; --muted:#667085; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:#fff; color:var(--ink); font-family:Arial, Helvetica, sans-serif; }
a { color:inherit; text-decoration:none; }
.nav-wrap { min-height:96px; padding:8px 5vw; display:flex; align-items:center; justify-content:space-between; background:#fff; position:sticky; top:0; z-index:50; border-bottom:1px solid #e7e9f2; }
.brand { width:170px; height:76px; overflow:hidden; display:block; flex:0 0 auto; border-radius:3px; background:#10068f; }
.brand img { width:100%; height:100%; display:block; object-fit:contain; }
nav { display:flex; gap:36px; font-size:13px; font-weight:700; }
nav a { position:relative; }
nav a:after { content:""; position:absolute; left:0; bottom:-8px; width:0; height:2px; background:var(--electric); transition:.2s; }
nav a:hover:after { width:100%; }
.nav-cta { background:var(--ink); color:white; padding:14px 20px; font-size:12px; font-weight:800; letter-spacing:.04em; }
.nav-cta span,.button span { margin-left:15px; }
.hero { min-height:calc(100vh - 82px); padding:9vh 7vw 4vh; position:relative; overflow:hidden; color:white; background:linear-gradient(115deg,#080441 0%,#10068f 52%,#2026c4 100%); display:grid; grid-template-columns:1.12fr .88fr; align-items:center; }
.grid-glow { position:absolute; inset:0; opacity:.13; background-image:linear-gradient(rgba(255,255,255,.17) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.17) 1px,transparent 1px); background-size:64px 64px; mask-image:linear-gradient(90deg,black,transparent 72%); }
.hero:after { content:""; position:absolute; width:550px; height:550px; border:1px solid rgba(255,255,255,.12); border-radius:50%; right:-170px; top:-170px; }
.hero-copy { position:relative; z-index:2; max-width:750px; }
.eyebrow,.kicker { display:flex; align-items:center; gap:12px; letter-spacing:.18em; font-size:11px; font-weight:800; color:#5865ff; }
.eyebrow { color:#aab2ff; }
.eyebrow i { width:32px; height:2px; background:#6e78ff; }
.hero h1 { font-size:clamp(52px,6.6vw,102px); line-height:.91; letter-spacing:-.062em; margin:32px 0; font-weight:800; }
.hero h1 em { font-family:Georgia,serif; font-weight:400; color:#a9b1ff; }
.hero-copy>p { color:#d7daf4; font-size:18px; line-height:1.75; max-width:610px; }
.hero-actions { display:flex; gap:14px; margin-top:40px; }
.button { display:inline-flex; align-items:center; justify-content:center; padding:17px 21px; font-size:12px; font-weight:800; letter-spacing:.04em; border:1px solid transparent; transition:.2s; }
.button.primary { background:white; color:var(--blue); }
.button.ghost { border-color:rgba(255,255,255,.35); color:white; }
.button:hover { transform:translateY(-2px); }
.hero-visual { width:min(40vw,540px); aspect-ratio:1; justify-self:end; position:relative; z-index:2; display:grid; place-items:center; }
.orbit { position:absolute; border:1px solid rgba(255,255,255,.22); border-radius:50%; animation:spin 20s linear infinite; }
.orbit-one { inset:8%; }.orbit-two { inset:22%; animation-direction:reverse; animation-duration:14s; }
.orbit span { display:block; width:8px; height:8px; border-radius:50%; background:white; margin:18%; box-shadow:0 0 18px white; }
.core { width:155px; height:155px; border:1px solid rgba(255,255,255,.35); background:rgba(255,255,255,.09); backdrop-filter:blur(12px); display:flex; flex-direction:column; justify-content:center; align-items:center; transform:rotate(45deg); }
.core>* { transform:rotate(-45deg); }.core b { font-size:45px; letter-spacing:-.08em; }.core small { font-size:8px; letter-spacing:.22em; color:#bcc2ff; margin-top:8px; }
.signal { position:absolute; border:1px solid rgba(255,255,255,.3); padding:7px 10px; font:9px monospace; letter-spacing:.15em; background:rgba(9,7,74,.5); }.signal-a{left:4%;top:31%}.signal-b{right:5%;top:45%}.signal-c{left:18%;bottom:13%}
@keyframes spin { to { transform:rotate(360deg); } }
.hero-foot { position:absolute; bottom:28px; left:7vw; right:7vw; z-index:2; display:flex; align-items:center; gap:18px; font-size:9px; font-weight:800; letter-spacing:.18em; color:#aab0dd; }.hero-foot .line { height:1px; background:rgba(255,255,255,.2); flex:1; }
.section { padding:110px 7vw; }
.section-head { display:grid; grid-template-columns:1.1fr .9fr; gap:8vw; align-items:end; margin-bottom:60px; }
.section-head h2,.about h2,.contact h2 { margin:15px 0 0; font-size:clamp(40px,4.4vw,66px); line-height:1.02; letter-spacing:-.05em; }
.section-head>p { color:var(--muted); line-height:1.8; max-width:540px; }
.service-grid { display:grid; grid-template-columns:repeat(4,1fr); border-top:1px solid #dfe2eb; border-left:1px solid #dfe2eb; }
.service-card { min-height:350px; padding:28px; border-right:1px solid #dfe2eb; border-bottom:1px solid #dfe2eb; display:flex; flex-direction:column; transition:.25s; }
.service-card:hover { background:var(--blue); color:white; transform:translateY(-6px); }
.service-top { display:flex; align-items:center; justify-content:space-between; color:#9298a9; font:11px monospace; }.service-top b { font-size:22px; color:var(--electric); }
.service-card h3 { margin-top:82px; font-size:22px; }.service-card p { color:#747b8f; line-height:1.7; font-size:14px; }.service-card:hover p { color:#d7daf4; }
.service-card a { margin-top:auto; font-size:11px; font-weight:800; letter-spacing:.06em; }.service-card a span { float:right; }
.about { margin:0 3vw; background:var(--blue); color:white; min-height:590px; display:grid; grid-template-columns:1.1fr .9fr; overflow:hidden; }
.about-panel { padding:90px 7vw; position:relative; z-index:2; }.kicker.light { color:#aab2ff; }.about-panel>p { color:#c8cae9; max-width:630px; line-height:1.8; font-size:17px; }
.metrics { display:grid; grid-template-columns:repeat(3,1fr); gap:25px; margin-top:65px; border-top:1px solid rgba(255,255,255,.2); padding-top:28px; }.metrics div{display:flex;flex-direction:column;gap:8px}.metrics strong{font-size:30px}.metrics span{font-size:10px;letter-spacing:.1em;color:#aeb2d7;text-transform:uppercase}
.about-art { position:relative; background:linear-gradient(135deg,#1710a5,#080441); display:grid; place-items:center; overflow:hidden; }.about-art:before,.about-art:after{content:"";position:absolute;border:1px solid rgba(255,255,255,.14);border-radius:50%}.about-art:before{width:430px;height:430px}.about-art:after{width:620px;height:620px}.a-mark{font-size:240px;font-weight:900;color:transparent;-webkit-text-stroke:1px rgba(255,255,255,.45);font-style:italic}.code-lines{position:absolute;left:10%;top:10%;font:11px/2 monospace;color:#6c70dd;letter-spacing:1em}
.section-head.compact { grid-template-columns:1fr; }.steps { display:grid; grid-template-columns:repeat(4,1fr); }.steps article { position:relative; padding-right:35px; }.steps b { color:#7b8194;font:11px monospace}.steps i { display:block; height:1px; background:#d9dce6; margin:18px 0 35px; position:relative}.steps i:before{content:"";position:absolute;width:9px;height:9px;border-radius:50%;background:var(--electric);top:-4px}.steps h3{font-size:20px}.steps p{font-size:13px;color:var(--muted);line-height:1.7}
.policies { background:var(--paper); }
.policies-head { align-items:center; }
.policy-list { border-top:1px solid #d9dce6; }
.policy-list details { border-bottom:1px solid #d9dce6; background:#fff; }
.policy-list summary { list-style:none; cursor:pointer; min-height:92px; padding:24px 28px; display:grid; grid-template-columns:48px 1fr 30px; gap:18px; align-items:center; transition:.2s; }
.policy-list summary::-webkit-details-marker { display:none; }
.policy-list summary:hover { background:#f0f1ff; }
.policy-list summary span { color:#7b8194; font:11px monospace; }
.policy-list summary h3 { margin:0; font-size:20px; line-height:1.3; }
.policy-list summary b { color:var(--electric); font-size:24px; font-weight:400; text-align:right; transition:.2s; }
.policy-list details[open] summary { background:var(--blue); color:white; }
.policy-list details[open] summary span { color:#aab2ff; }
.policy-list details[open] summary b { color:white; transform:rotate(45deg); }
.policy-content { padding:30px 76px 38px 94px; }
.policy-content p { margin:0; max-width:1100px; color:#555d72; font-size:15px; line-height:1.9; }
.policy-commitment { margin-top:34px; padding:32px; border-left:4px solid var(--electric); background:#0b0b30; color:white; display:grid; grid-template-columns:220px 1fr; gap:30px; align-items:start; }
.policy-commitment span { color:#aab2ff; font-size:10px; font-weight:800; letter-spacing:.15em; }
.policy-commitment p { margin:0; color:#d4d6e8; font-size:14px; line-height:1.8; }
.contact { background:#0b0b30;color:white;margin:0 3vw 3vw;padding:80px 7vw;display:flex;align-items:center;justify-content:space-between;gap:40px}.contact p{color:#b6bad4}.button.white{background:white;color:var(--blue);white-space:nowrap}
footer { background:#05051c;color:white;padding:55px 7vw 25px;display:grid;grid-template-columns:1fr 1fr;gap:28px;align-items:center}.footer-brand{width:150px;height:68px}.footer-brand img{object-fit:contain}footer p{color:#8d91ad;text-align:right;font-size:13px}footer div{display:flex;gap:28px;font-size:12px}footer small{text-align:right;color:#646881;font-size:10px}
@media(max-width:900px){.nav-wrap nav{display:none}.hero{grid-template-columns:1fr;padding-top:80px}.hero-visual{position:absolute;opacity:.35;right:-20%;width:70vw}.hero-copy>p{max-width:520px}.section-head,.about{grid-template-columns:1fr}.service-grid{grid-template-columns:repeat(2,1fr)}.about-art{display:none}.steps{grid-template-columns:repeat(2,1fr);gap:45px}.contact{align-items:flex-start;flex-direction:column}}
@media(max-width:600px){.nav-wrap{min-height:82px;padding:7px 20px}.brand{width:138px;height:62px}.nav-cta{padding:12px;font-size:10px}.hero{padding:70px 24px 60px;min-height:720px}.hero h1{font-size:54px}.hero-copy>p{font-size:15px}.hero-actions{flex-direction:column;align-items:flex-start}.hero-foot{left:24px;right:24px}.hero-foot span:last-child{display:none}.section{padding:78px 24px}.section-head{margin-bottom:42px}.section-head h2,.about h2,.contact h2{font-size:39px}.service-grid{grid-template-columns:1fr}.service-card{min-height:285px}.service-card h3{margin-top:48px}.about{margin:0}.about-panel{padding:75px 24px}.metrics{grid-template-columns:1fr;gap:20px}.metrics div{flex-direction:row;align-items:center;justify-content:space-between}.steps{grid-template-columns:1fr}.policy-list summary{padding:20px 16px;grid-template-columns:30px 1fr 22px;gap:10px}.policy-list summary h3{font-size:16px}.policy-content{padding:24px 18px}.policy-content p{font-size:14px;line-height:1.75}.policy-commitment{grid-template-columns:1fr;padding:25px;gap:15px}.contact{margin:0;padding:70px 24px}footer{grid-template-columns:1fr}footer p,footer small{text-align:left}}
