:root { --ink:#06111f; --ink-2:#091a2e; --blue:#22b8f0; --blue-pale:#a8edff; --paper:#f2f8fb; --muted:#92a6b8; --line:rgba(190,234,249,.17); }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--ink); color:#f7fbfd; font-family:Manrope,Arial,sans-serif; overflow-x:hidden; }
a { color:inherit; text-decoration:none; }
.site-glow { position:fixed; pointer-events:none; z-index:-1; border-radius:50%; filter:blur(90px); opacity:.2; }
.glow-one { width:38rem; height:38rem; background:#0065ae; top:-17rem; right:-16rem; }
.glow-two { width:32rem; height:32rem; background:#008ec5; bottom:-22rem; left:-18rem; }
.topbar, .section-shell, footer { width:min(1160px, calc(100% - 3rem)); margin:auto; }
.topbar { height:5.5rem; display:flex; align-items:center; justify-content:space-between; border-bottom:1px solid var(--line); }
.brand { display:inline-flex; align-items:center; gap:.55rem; font-size:.83rem; font-weight:800; letter-spacing:.13em; white-space:nowrap; }
.brand b { color:var(--blue); font-weight:800; }
.brand-mark { width:1.75rem; height:1.75rem; display:grid; place-items:center; border:1px solid var(--blue); border-radius:6px; color:var(--blue); font-family:'DM Mono', monospace; font-size:1rem; letter-spacing:0; }
nav { display:flex; gap:2rem; color:#b5c7d4; font-size:.84rem; font-weight:600; }
nav a:hover, footer a:hover { color:var(--blue); }
.header-contact { color:var(--blue-pale); font-size:.82rem; font-weight:700; }
.header-contact span { color:var(--blue); margin-left:.2rem; }
.hero { width:min(1160px, calc(100% - 3rem)); min-height:calc(100vh - 5.5rem); margin:auto; display:grid; grid-template-columns:1fr 1fr; align-items:center; position:relative; padding:5.2rem 0 5.6rem; }
.eyebrow { color:var(--blue); font-family:'DM Mono',monospace; font-size:.7rem; letter-spacing:.12em; text-transform:uppercase; margin:0 0 1.35rem; }
.eyebrow i { width:.48rem; height:.48rem; display:inline-block; margin-right:.5rem; border-radius:50%; background:var(--blue); box-shadow:0 0 12px var(--blue); }
h1,h2,h3,p { margin-top:0; }
h1 { max-width:42rem; margin-bottom:1.45rem; font-size:clamp(3rem,5.5vw,5.65rem); line-height:.97; letter-spacing:-.07em; font-weight:800; }
h1 em { display:block; color:var(--blue); font-style:normal; }
.hero-text { max-width:30rem; color:#b4c5d1; font-size:1rem; line-height:1.75; }
.hero-actions { display:flex; align-items:center; gap:1.5rem; margin-top:2.2rem; }
.button { display:inline-flex; align-items:center; justify-content:center; gap:1.2rem; min-height:3.35rem; padding:.7rem 1.25rem; border-radius:3px; font-size:.83rem; font-weight:800; transition:transform .2s,box-shadow .2s; }
.button:hover { transform:translateY(-3px); box-shadow:0 12px 25px rgba(0,0,0,.2); }
.button span { font-size:1.15rem; }
.button-primary { background:var(--blue); color:#062037; }
.text-link { color:#d8e8ef; font-size:.82rem; font-weight:700; }
.text-link span { color:var(--blue); margin-left:.3rem; }
.hero-art { height:30rem; position:relative; display:grid; place-items:center; }
.grid-lines { position:absolute; inset:1rem; background-image:linear-gradient(rgba(72,186,225,.11) 1px,transparent 1px),linear-gradient(90deg,rgba(72,186,225,.11) 1px,transparent 1px); background-size:2.7rem 2.7rem; mask-image:radial-gradient(circle,black 20%,transparent 70%); }
.logo-frame { width:17.2rem; height:17.2rem; z-index:2; padding:.65rem; border:1px solid rgba(83,211,255,.38); background:rgba(7,29,49,.68); box-shadow:0 0 0 1.2rem rgba(17,142,190,.04),0 1.5rem 5rem rgba(0,0,0,.4); transform:rotate(-4deg); }
.logo-frame img { width:100%; height:100%; object-fit:cover; display:block; }
.orbital { position:absolute; border:1px solid rgba(43,192,239,.45); border-radius:50%; }
.orbital-a { width:24rem; height:13rem; transform:rotate(-28deg); }
.orbital-b { width:17rem; height:25rem; border-color:rgba(43,192,239,.18); transform:rotate(37deg); }
.art-label { position:absolute; z-index:3; color:#7fc9e4; font:500 .62rem/1.6 'DM Mono',monospace; letter-spacing:.08em; }
.label-top { top:2.7rem; right:.1rem; }.label-bottom { left:.3rem; bottom:2.3rem; color:#567f96; }
.art-dot { position:absolute; width:.45rem; height:.45rem; border-radius:50%; background:var(--blue); box-shadow:0 0 13px var(--blue); }.dot-a { top:5.5rem; left:4rem; }.dot-b { bottom:5rem; right:5rem; }
.hero-footer { position:absolute; bottom:1.45rem; left:0; right:0; display:flex; align-items:center; gap:1rem; color:#577084; font:400 .63rem 'DM Mono',monospace; letter-spacing:.07em; }.hero-line { flex:1; height:1px; background:var(--line); }
.statement { padding:7.8rem 0; border-top:1px solid var(--line); }.statement-grid { display:grid; grid-template-columns:1.2fr .55fr; gap:7rem; align-items:end; }.statement h2,.process h2,.contact h2 { font-size:clamp(2.25rem,4vw,4rem); line-height:1.05; letter-spacing:-.055em; margin:0; }.statement h2 span { color:var(--blue); }.statement-grid > p { color:#9db1bf; line-height:1.8; margin:0; }
.services { padding:1.1rem 0 7.5rem; }.section-head { display:flex; justify-content:space-between; align-items:flex-start; }.section-index { color:#517087; font:400 .67rem 'DM Mono',monospace; }.service-list { display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:rgba(101,193,226,.22); border:1px solid rgba(101,193,226,.22); }.service-card { position:relative; min-height:24rem; padding:2rem; background:#071728; overflow:hidden; transition:background .25s,transform .25s; }.service-card:hover { background:#0b253c; transform:translateY(-.4rem); }.service-card.featured { background:linear-gradient(145deg,#0c354f,#092139); }.service-number { color:#6293a9; font:400 .68rem 'DM Mono',monospace; }.service-icon { width:3.45rem; height:3.45rem; margin:4.5rem 0 2rem; color:var(--blue); border:1px solid rgba(33,184,240,.55); display:grid; place-items:center; font:500 1.25rem 'DM Mono',monospace; }.service-card h3 { margin-bottom:.65rem; font-size:1.4rem; letter-spacing:-.04em; }.service-card p { max-width:17rem; color:#9db1bf; font-size:.9rem; line-height:1.7; }.service-arrow { position:absolute; right:1.7rem; bottom:1.7rem; color:var(--blue); font-size:1.4rem; }.map-icon { position:relative; gap:0; border:none; }.map-icon span { position:absolute; width:1rem; height:2.3rem; border:1px solid var(--blue); transform:skewY(-29deg); }.map-icon span:nth-child(1){left:.7rem}.map-icon span:nth-child(2){left:1.45rem}.map-icon span:nth-child(3){left:2.2rem}.app-icon { border-radius:8px; }.app-icon span { width:1rem;height:1rem;border-radius:50%;background:var(--blue);box-shadow:0 0 13px var(--blue); }
.process { padding:7rem 0; border-top:1px solid var(--line); display:grid; grid-template-columns:.85fr 1.15fr; gap:5rem; }.process h2 { max-width:27rem; }.process ol { list-style:none; padding:0; margin:0; }.process li { display:grid; grid-template-columns:4rem 1fr; gap:1rem; padding:1.25rem 0; border-top:1px solid var(--line); }.process li:last-child { border-bottom:1px solid var(--line); }.process li>span { color:var(--blue); font:400 .68rem 'DM Mono',monospace; }.process h3 { margin:0 0:.3rem; font-size:1.05rem; }.process li p { color:#95aab8; font-size:.85rem; margin:0; }
.contact { padding:0 0 7.2rem; }.contact-grid { display:grid; grid-template-columns:1fr .8fr; gap:3rem; padding:4.4rem; background:var(--blue); color:#052039; position:relative; overflow:hidden; }.contact-grid:after { content:'S'; position:absolute; right:-.05em; bottom:-.55em; font:800 22rem/.75 Manrope,sans-serif; color:rgba(255,255,255,.1); }.contact .eyebrow { color:#075172; }.contact .eyebrow i { background:#075172; box-shadow:none; }.contact h2 { max-width:38rem; position:relative; z-index:1; }.contact-actions { display:flex; flex-direction:column; align-items:flex-start; justify-content:center; gap:1.35rem; position:relative; z-index:1; }.button-light { background:#06192a; color:#f7fbfd; }.contact-phone { border-bottom:1px solid rgba(5,32,57,.35); padding-bottom:.55rem; font-size:1rem; font-weight:800; }.contact-phone span { display:block; font:400 .65rem 'DM Mono',monospace; letter-spacing:.1em; text-transform:uppercase; margin-bottom:.3rem; }.contact-phone b { margin-left:.8rem; }
footer { border-top:1px solid var(--line); min-height:6rem; display:flex; align-items:center; justify-content:space-between; gap:1.5rem; color:#71899a; font-size:.72rem; }footer .brand { color:#d8e7ed; }footer p { margin:0; }footer>a:last-child { color:#a7c3d0; }
@media (max-width:760px) { .topbar, .section-shell, footer,.hero { width:min(100% - 2rem, 36rem); } nav { display:none; }.header-contact { font-size:.76rem; }.hero { display:block; min-height:auto; padding:5rem 0 5.5rem; }.hero-art { height:22rem; margin:2rem 0 0; }.logo-frame{width:12rem;height:12rem}.orbital-a{width:18rem;height:10rem}.orbital-b{width:12rem;height:19rem}.label-top{top:1rem}.label-bottom{bottom:1rem}.hero-footer { bottom:1.5rem; }.statement { padding:5rem 0; }.statement-grid,.process,.contact-grid { grid-template-columns:1fr; gap:2rem; }.services { padding-bottom:5rem; }.service-list { grid-template-columns:1fr; }.service-card { min-height:18rem; }.service-icon { margin:2.5rem 0 1.5rem; }.process { padding:5rem 0; }.contact { padding-bottom:4rem; }.contact-grid { padding:2.4rem 1.6rem; }.contact-grid:after { font-size:15rem; }footer { padding:1.6rem 0; align-items:flex-start; flex-direction:column; gap:.65rem; } footer p { order:3; }.hero-actions { align-items:flex-start; flex-direction:column; gap:1rem; } }
@media (max-width:390px) {.header-contact { display:none; }h1{font-size:2.8rem}.contact h2{font-size:2.15rem}}
