:root {
    --bg: #030711;
    --bg-soft: #06101d;
    --panel: rgba(8, 19, 34, 0.76);
    --panel-solid: #081322;
    --text: #f2f7ff;
    --muted: #8b9aaf;
    --muted-light: #afbdd0;
    --cyan: #51e6ff;
    --cyan-soft: #a4f4ff;
    --blue: #3977ff;
    --violet: #8a5cff;
    --green: #5dffc2;
    --line: rgba(137, 181, 224, 0.14);
    --line-bright: rgba(81, 230, 255, 0.32);
    --container: 1320px;
    --radius: 24px;
    --mono: "DM Mono", monospace;
    --heading: "Space Grotesk", sans-serif;
    --body: "Manrope", sans-serif;
}

*, *::before, *::after { box-sizing: border-box; }

html {
    scroll-behavior: smooth;
    scroll-padding-top: 90px;
    background: var(--bg);
}

body {
    margin: 0;
    min-width: 320px;
    overflow-x: hidden;
    background:
        radial-gradient(circle at 75% 10%, rgba(36, 93, 255, 0.08), transparent 30%),
        var(--bg);
    color: var(--text);
    font-family: var(--body);
    -webkit-font-smoothing: antialiased;
}

body.menu-open { overflow: hidden; }

a { color: inherit; text-decoration: none; }
button, input, textarea { font: inherit; }
button { border: 0; }
img, canvas { display: block; max-width: 100%; }

::selection { background: var(--cyan); color: #001019; }

.skip-link {
    position: fixed;
    z-index: 1000;
    top: 12px;
    left: 12px;
    padding: 12px 18px;
    transform: translateY(-150%);
    border: 1px solid var(--cyan);
    border-radius: 8px;
    background: var(--bg);
    color: var(--cyan);
    font: 500 12px var(--mono);
}

.skip-link:focus { transform: translateY(0); }

:focus-visible {
    outline: 2px solid var(--cyan);
    outline-offset: 4px;
}

.container {
    width: min(var(--container), calc(100% - 64px));
    margin-inline: auto;
}

.page-noise {
    position: fixed;
    z-index: 80;
    inset: 0;
    pointer-events: none;
    opacity: 0.06;
    background-image:
        repeating-radial-gradient(circle at 17% 32%, transparent 0, rgba(255,255,255,.26) .4px, transparent .8px, transparent 4px),
        repeating-radial-gradient(circle at 71% 61%, transparent 0, rgba(255,255,255,.18) .45px, transparent .85px, transparent 5px);
    background-size: 7px 7px, 9px 9px;
    mix-blend-mode: soft-light;
}

.cursor-glow {
    position: fixed;
    z-index: 0;
    width: 520px;
    height: 520px;
    border-radius: 50%;
    pointer-events: none;
    transform: translate(-50%, -50%);
    background: radial-gradient(circle, rgba(45, 127, 255, 0.075), transparent 68%);
    transition: opacity .3s ease;
}

/* Navigation */
.site-header {
    position: fixed;
    z-index: 100;
    top: 0;
    left: 0;
    width: 100%;
    border-bottom: 1px solid transparent;
    transition: background .35s ease, border-color .35s ease, backdrop-filter .35s ease;
}

.site-header.scrolled,
.site-header.menu-active {
    border-color: var(--line);
    background: rgba(3, 7, 17, 0.82);
    backdrop-filter: blur(24px) saturate(140%);
}

.nav-shell {
    width: min(1480px, calc(100% - 56px));
    height: 88px;
    margin: auto;
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.brand { display: inline-flex; align-items: center; gap: 13px; }

.brand-mark {
    position: relative;
    width: 38px;
    height: 38px;
    display: grid;
    place-items: center;
    border: 1px solid rgba(81, 230, 255, .55);
    transform: rotate(45deg);
    box-shadow: inset 0 0 16px rgba(81, 230, 255, .12), 0 0 18px rgba(57,119,255,.08);
}

.brand-mark::before,
.brand-mark::after {
    content: "";
    position: absolute;
    inset: 6px;
    border: 1px solid rgba(81, 230, 255, .28);
}

.brand-mark::after { inset: 11px; background: rgba(81,230,255,.08); }

.brand-mark span {
    position: relative;
    z-index: 1;
    width: 3px;
    height: 20px;
    background: linear-gradient(var(--cyan), var(--blue));
    transform: rotate(-45deg) skew(-18deg);
    box-shadow: 7px 0 0 rgba(81,230,255,.6);
}

.brand-copy { display: grid; gap: 1px; }
.brand-copy strong { font: 700 18px/1 var(--heading); letter-spacing: .18em; }
.brand-copy small { color: var(--muted); font: 500 8px/1 var(--mono); letter-spacing: .34em; }

.desktop-nav { display: flex; align-items: center; gap: 42px; }

.desktop-nav a {
    position: relative;
    color: #c6d1df;
    font: 500 12px var(--mono);
    letter-spacing: .08em;
    text-transform: uppercase;
}

.desktop-nav a::before {
    content: "";
    position: absolute;
    left: 0;
    bottom: -10px;
    width: 100%;
    height: 1px;
    transform: scaleX(0);
    transform-origin: right;
    background: var(--cyan);
    transition: transform .3s ease;
}

.desktop-nav a:hover { color: white; }
.desktop-nav a:hover::before { transform: scaleX(1); transform-origin: left; }
.desktop-nav a[aria-current="location"] { color: var(--cyan); }

.nav-cta {
    min-width: 164px;
    height: 44px;
    padding: 0 8px 0 18px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    border: 1px solid rgba(81,230,255,.3);
    border-radius: 3px;
    background: rgba(81,230,255,.04);
    font: 500 11px var(--mono);
    letter-spacing: .05em;
    text-transform: uppercase;
    transition: border-color .3s, background .3s;
}

.nav-cta:hover { border-color: var(--cyan); background: rgba(81,230,255,.09); }
.nav-cta .arrow { width: 28px; height: 28px; display: grid; place-items: center; background: var(--cyan); color: #001018; font-size: 16px; }

.menu-toggle {
    width: 46px;
    height: 46px;
    display: none;
    place-items: center;
    background: transparent;
    cursor: pointer;
}

.menu-toggle span { position: absolute; width: 23px; height: 1px; background: white; transition: transform .3s, top .3s; }
.menu-toggle span:first-child { transform: translateY(-5px); }
.menu-toggle span:last-child { transform: translateY(5px); }
.menu-toggle[aria-expanded="true"] span:first-child { transform: rotate(45deg); }
.menu-toggle[aria-expanded="true"] span:last-child { transform: rotate(-45deg); }

.mobile-nav {
    height: calc(100svh - 88px);
    padding: 42px 28px;
    background: rgba(3, 7, 17, .98);
}

.mobile-nav:not([hidden]) { display: grid; align-content: start; }
.mobile-nav a { padding: 22px 4px; border-bottom: 1px solid var(--line); font: 500 clamp(25px, 7vw, 40px) var(--heading); }
.mobile-nav a span { margin-right: 18px; color: var(--cyan); font: 500 10px var(--mono); }

/* Hero */
.hero {
    position: relative;
    min-height: max(780px, 100svh);
    overflow: hidden;
    isolation: isolate;
    background:
        radial-gradient(ellipse at 74% 46%, rgba(32, 102, 255, .11), transparent 33%),
        radial-gradient(ellipse at 58% 18%, rgba(126, 68, 255, .06), transparent 24%),
        linear-gradient(180deg, #030711 0%, #040a15 80%, #030711 100%);
}

#globe-canvas { position: absolute; z-index: -2; inset: 0; width: 100%; height: 100%; }

.hero-vignette {
    position: absolute;
    z-index: -1;
    inset: 0;
    background:
        linear-gradient(90deg, rgba(3,7,17,.98) 0%, rgba(3,7,17,.86) 30%, rgba(3,7,17,.17) 61%, rgba(3,7,17,.38) 100%),
        linear-gradient(0deg, #030711 0%, transparent 20%, transparent 82%, rgba(3,7,17,.55) 100%);
}

.hero-grid {
    position: absolute;
    z-index: -1;
    inset: 0;
    opacity: .22;
    background-image:
        linear-gradient(rgba(81,230,255,.055) 1px, transparent 1px),
        linear-gradient(90deg, rgba(81,230,255,.055) 1px, transparent 1px);
    background-size: 80px 80px;
    mask-image: linear-gradient(to right, black, transparent 45%);
}

.hero-layout {
    position: relative;
    min-height: max(780px, 100svh);
    display: grid;
    grid-template-columns: minmax(0, 1.02fr) minmax(420px, .98fr);
    align-items: center;
    padding-top: 104px;
    padding-bottom: 76px;
}

.hero-copy { position: relative; z-index: 4; max-width: 790px; }

.system-status {
    width: fit-content;
    margin-bottom: 30px;
    padding: 9px 13px;
    display: flex;
    align-items: center;
    gap: 10px;
    border: 1px solid rgba(81,230,255,.2);
    background: rgba(4, 18, 31, .52);
    color: #b8c9da;
    font: 500 9px var(--mono);
    letter-spacing: .15em;
}

.system-status span:last-child { color: var(--green); }
.status-pulse { width: 6px; height: 6px; border-radius: 50%; background: var(--green); box-shadow: 0 0 0 4px rgba(93,255,194,.09), 0 0 12px var(--green); animation: statusPulse 2s ease infinite; }
.status-divider { width: 1px; height: 12px; background: var(--line-bright); }

@keyframes statusPulse { 50% { opacity: .45; box-shadow: 0 0 0 7px rgba(93,255,194,0); } }

.hero h1 {
    margin: 0;
    max-width: 780px;
    color: #f7fbff;
    font: 500 clamp(64px, 6.15vw, 112px)/.87 var(--heading);
    letter-spacing: -.065em;
}

.hero-highlight {
    display: block;
    color: transparent;
    background: linear-gradient(90deg, var(--cyan-soft) 0%, #59d4ff 45%, #8b91ff 100%);
    background-clip: text;
    -webkit-background-clip: text;
    filter: drop-shadow(0 0 32px rgba(81,230,255,.12));
}

.hero-line { display: block; color: #76859a; }

.hero-intro {
    max-width: 610px;
    margin: 30px 0 0;
    color: var(--muted-light);
    font-size: clamp(16px, 1.3vw, 19px);
    line-height: 1.75;
}

.hero-actions { margin-top: 39px; display: flex; align-items: center; gap: 13px; flex-wrap: wrap; }

.button {
    min-height: 56px;
    padding: 0 22px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 30px;
    border: 1px solid transparent;
    border-radius: 3px;
    cursor: pointer;
    font: 600 11px var(--mono);
    letter-spacing: .06em;
    text-transform: uppercase;
    transition: transform .25s ease, background .25s ease, border-color .25s ease, box-shadow .25s ease;
}

.button:hover { transform: translateY(-2px); }
.button-primary { background: var(--cyan); color: #001018; box-shadow: 0 0 0 rgba(81,230,255,0); }
.button-primary:hover { background: #8defff; box-shadow: 0 10px 36px rgba(81,230,255,.16); }
.button-ghost { border-color: var(--line-bright); background: rgba(8,19,34,.42); color: var(--text); }
.button-ghost:hover { border-color: rgba(81,230,255,.65); background: rgba(81,230,255,.07); }
.button-orb { width: 8px; height: 8px; border-radius: 50%; background: var(--green); box-shadow: 0 0 12px var(--green); }

.hero-proof { margin-top: 65px; display: flex; align-items: stretch; gap: 0; }
.hero-proof > div { min-width: 146px; padding-right: 26px; display: flex; align-items: center; gap: 13px; }
.hero-proof > div + div { padding-left: 26px; border-left: 1px solid var(--line); }
.hero-proof strong { font: 500 30px var(--heading); letter-spacing: -.04em; }
.hero-proof strong span { color: var(--cyan); }
.hero-proof small { color: var(--muted); font: 500 8px/1.6 var(--mono); letter-spacing: .11em; }

.orbital-ui { position: absolute; z-index: 3; top: 0; right: 0; width: 52%; height: 100%; pointer-events: none; }
.orbit-label { position: absolute; padding: 10px 13px; border-left: 1px solid var(--cyan); background: linear-gradient(90deg, rgba(6,17,31,.82), rgba(6,17,31,.15)); backdrop-filter: blur(5px); }
.orbit-label small { display: block; margin-bottom: 3px; color: var(--muted); font: 500 7px var(--mono); letter-spacing: .15em; }
.orbit-label strong { color: #dffaff; font: 500 10px var(--mono); letter-spacing: .1em; }
.orbit-label-a { top: 31%; right: 4%; }
.orbit-label-b { top: 63%; left: 21%; min-width: 145px; }
.orbit-label-c { right: 0; bottom: 22%; display: flex; align-items: center; gap: 9px; }
.orbit-dot { position: absolute; left: -4px; top: -4px; width: 7px; height: 7px; border-radius: 50%; background: var(--cyan); box-shadow: 0 0 12px var(--cyan); }
.signal-bars { height: 15px; margin-top: 7px; display: flex; align-items: end; gap: 2px; }
.signal-bars i { width: 2px; height: 7px; background: var(--cyan); }
.signal-bars i:nth-child(2) { height: 11px; }.signal-bars i:nth-child(3) { height: 5px; }.signal-bars i:nth-child(4) { height: 14px; }
.scan-icon { width: 24px; height: 24px; border: 1px solid var(--line-bright); border-radius: 50%; box-shadow: inset 0 0 10px rgba(81,230,255,.12); }
.scan-icon::before { content: ""; display: block; width: 4px; height: 4px; margin: 9px; border-radius: 50%; background: var(--green); box-shadow: 0 0 8px var(--green); }
.globe-caption { position: absolute; right: 8%; bottom: 13%; display: flex; gap: 26px; color: rgba(164,244,255,.55); font: 400 8px var(--mono); letter-spacing: .16em; }

.hero-rail { position: absolute; right: 22px; bottom: 105px; display: flex; align-items: center; gap: 13px; transform: rotate(90deg); transform-origin: right bottom; color: var(--muted); font: 500 7px var(--mono); letter-spacing: .2em; }
.hero-rail i { width: 54px; height: 1px; background: linear-gradient(90deg, var(--cyan), transparent); }

.signal-strip { overflow: hidden; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); background: #050c16; }
.signal-track { width: max-content; padding: 17px 0; display: flex; align-items: center; gap: 48px; animation: signalMove 34s linear infinite; }
.signal-track span { display: flex; align-items: center; gap: 12px; color: #8290a3; font: 500 8px var(--mono); letter-spacing: .16em; white-space: nowrap; }
.signal-track i { width: 4px; height: 4px; transform: rotate(45deg); background: var(--cyan); box-shadow: 0 0 8px rgba(81,230,255,.7); }
@keyframes signalMove { to { transform: translateX(calc(-50% - 24px)); } }

/* Shared sections */
.section { position: relative; padding: 150px 0; }
.eyebrow { margin: 0 0 25px; color: var(--cyan); font: 500 9px var(--mono); letter-spacing: .18em; }
.eyebrow span { margin-right: 14px; color: #627186; }

.section-heading { margin-bottom: 72px; display: grid; grid-template-columns: 1fr minmax(280px, 420px); gap: 60px; align-items: end; }
.section-heading h2, .about h2, .process h2, .contact h2 { margin: 0; font: 500 clamp(48px, 5vw, 82px)/.98 var(--heading); letter-spacing: -.055em; }
.section-heading h2 em, .about h2 em, .process h2 em, .contact h2 em { color: var(--cyan); font-style: normal; }
.section-heading > p { margin: 0 0 6px; color: var(--muted); font-size: 15px; line-height: 1.8; }

.reveal { opacity: 1; transform: none; }
.js .reveal { opacity: 0; transform: translateY(24px); transition: opacity .8s cubic-bezier(.2,.75,.25,1), transform .8s cubic-bezier(.2,.75,.25,1); }
.js .reveal.is-visible { opacity: 1; transform: translateY(0); }

/* Solutions */
.solutions { background: linear-gradient(180deg, #030711, #050b14 46%, #030711); }
.solutions::before { content: ""; position: absolute; inset: 0; opacity: .18; background-image: linear-gradient(rgba(81,230,255,.04) 1px, transparent 1px), linear-gradient(90deg, rgba(81,230,255,.04) 1px, transparent 1px); background-size: 90px 90px; mask-image: linear-gradient(transparent, black 15%, black 80%, transparent); }
.solutions .container { position: relative; }

.solutions-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }
.solution-card {
    position: relative;
    min-height: 465px;
    padding: 28px;
    overflow: hidden;
    border: 1px solid var(--line);
    border-radius: 5px;
    background: linear-gradient(145deg, rgba(11,25,43,.9), rgba(5,13,24,.78));
    transition: transform .35s ease, border-color .35s ease, background .35s ease;
}
.solution-card::after { content: ""; position: absolute; inset: auto -40% -65% 10%; height: 70%; background: radial-gradient(ellipse, rgba(50,119,255,.12), transparent 65%); pointer-events: none; }
.solution-card:hover { z-index: 2; transform: translateY(-6px); border-color: rgba(81,230,255,.38); background: linear-gradient(145deg, rgba(12,31,52,.98), rgba(5,15,28,.9)); }
.solution-featured { grid-column: span 2; min-height: 540px; background: radial-gradient(circle at 83% 50%, rgba(43,118,255,.2), transparent 32%), linear-gradient(145deg, #09192a, #050d18); }
.card-topline { position: relative; z-index: 2; display: flex; align-items: center; justify-content: space-between; }
.product-index { color: #66768a; font: 500 8px var(--mono); letter-spacing: .18em; }
.card-arrow { width: 31px; height: 31px; display: grid; place-items: center; border: 1px solid var(--line); color: #8ba0b8; transition: color .3s, border-color .3s, transform .3s; }
.solution-card:hover .card-arrow { color: var(--cyan); border-color: var(--line-bright); transform: rotate(7deg); }
.live-tag { display: flex; align-items: center; gap: 7px; color: var(--green); font: 500 7px var(--mono); letter-spacing: .14em; }
.live-tag i { width: 5px; height: 5px; border-radius: 50%; background: var(--green); box-shadow: 0 0 8px var(--green); }

.solution-icon { position: relative; z-index: 2; width: 54px; height: 54px; margin-top: 48px; display: grid; place-items: center; border: 1px solid rgba(81,230,255,.24); background: rgba(81,230,255,.04); color: var(--cyan); font: 500 12px var(--mono); box-shadow: inset 0 0 16px rgba(81,230,255,.06); }
.solution-icon::before { content: ""; position: absolute; inset: 8px; border: 1px solid rgba(81,230,255,.12); transform: rotate(45deg); }
.solution-icon span { position: relative; z-index: 1; }
.solution-type { margin: 29px 0 11px !important; color: #6d8097 !important; font: 500 8px var(--mono) !important; letter-spacing: .16em; }
.solution-card h3 { position: relative; z-index: 2; margin: 0; font: 500 35px/1 var(--heading); letter-spacing: -.045em; }
.solution-card > p, .solution-content > p:not(.solution-type) { position: relative; z-index: 2; max-width: 470px; margin: 20px 0 0; color: var(--muted); font-size: 13px; line-height: 1.75; }
.tag-row { position: absolute; z-index: 2; left: 28px; bottom: 25px; display: flex; gap: 7px; flex-wrap: wrap; }
.tag-row span { padding: 7px 9px; border: 1px solid var(--line); color: #8696aa; font: 500 7px var(--mono); letter-spacing: .1em; text-transform: uppercase; }
.solution-featured .solution-content { width: 55%; }
.solution-featured .solution-icon { margin-top: 72px; }
.solution-featured h3 { font-size: clamp(43px, 4vw, 64px); }

.card-orbit { position: absolute; right: -10px; top: 60px; width: 44%; aspect-ratio: 1; border: 1px solid rgba(81,230,255,.1); border-radius: 50%; }
.card-orbit::before, .card-orbit::after { content: ""; position: absolute; border-radius: 50%; border: 1px solid rgba(81,230,255,.12); }
.card-orbit::before { inset: 17%; }.card-orbit::after { inset: 34%; background: radial-gradient(circle, rgba(60,144,255,.18), transparent 68%); box-shadow: 0 0 50px rgba(57,119,255,.12); }
.card-orbit span { position: absolute; top: 49%; left: 0; width: 100%; height: 1px; background: linear-gradient(90deg, transparent, rgba(81,230,255,.25), transparent); transform: rotate(-24deg); }
.card-orbit span:nth-child(2) { transform: rotate(55deg); }
.card-orbit i { position: absolute; top: 20%; left: 15%; width: 7px; height: 7px; border-radius: 50%; background: var(--cyan); box-shadow: 0 0 13px var(--cyan); animation: orbitBlink 2.4s ease infinite; }
@keyframes orbitBlink { 50% { opacity: .35; transform: scale(.7); } }

.metric-visual { position: absolute; right: 35px; bottom: 42px; width: 37%; padding: 16px; border: 1px solid var(--line); background: rgba(3,10,20,.6); }
.metric-head { display: flex; justify-content: space-between; color: #728298; font: 500 7px var(--mono); letter-spacing: .13em; }
.metric-head strong { color: var(--green); font-weight: 500; }
.waveform { height: 52px; margin-top: 11px; display: flex; align-items: center; gap: 5px; }
.waveform i { flex: 1; height: 22%; background: linear-gradient(var(--cyan), var(--blue)); animation: waveform 1.8s ease-in-out infinite alternate; }
.waveform i:nth-child(2n) { height: 72%; animation-delay: -.4s; }.waveform i:nth-child(3n) { height: 42%; animation-delay: -.8s; }.waveform i:nth-child(5n) { height: 94%; animation-delay: -1.2s; }
@keyframes waveform { to { height: 85%; opacity: .45; } }

.mini-map { position: absolute; right: -15px; bottom: 62px; width: 150px; height: 86px; opacity: .45; transform: rotate(-8deg); border-top: 1px dashed var(--cyan); border-radius: 50%; }
.mini-map::before { content: ""; position: absolute; top: 25px; left: 8px; width: 130px; border-top: 1px dashed var(--blue); transform: rotate(21deg); }
.mini-map span, .mini-map i, .mini-map b { position: absolute; width: 6px; height: 6px; border-radius: 50%; background: var(--cyan); box-shadow: 0 0 9px var(--cyan); }
.mini-map span { left: 4px; top: -3px; }.mini-map i { right: 6px; top: 40px; }.mini-map b { left: 60px; top: 21px; }
.micro-stats { position: absolute; right: 25px; bottom: 64px; display: flex; gap: 6px; }
.micro-stats span { min-width: 65px; padding: 10px; border: 1px solid var(--line); color: var(--cyan); font: 500 9px var(--mono); }
.micro-stats small { display: block; margin-bottom: 5px; color: #68788c; font-size: 6px; }

/* About */
.about { overflow: hidden; background: #030711; }
.about-glow { position: absolute; width: 800px; height: 800px; right: -280px; top: 40px; border-radius: 50%; background: radial-gradient(circle, rgba(45,115,255,.11), transparent 67%); }
.about-grid { position: relative; display: grid; grid-template-columns: .9fr 1.1fr; gap: clamp(70px, 9vw, 150px); align-items: center; }
.about-copy { max-width: 510px; }
.about-lead { margin: 39px 0 18px !important; color: #c2cedd !important; font-size: 18px !important; line-height: 1.7 !important; }
.about-copy > p:not(.eyebrow) { margin: 0; color: var(--muted); font-size: 14px; line-height: 1.8; }
.text-link { width: fit-content; margin-top: 35px; padding-bottom: 7px; display: flex; gap: 25px; border-bottom: 1px solid var(--cyan); color: var(--cyan); font: 500 10px var(--mono); letter-spacing: .09em; text-transform: uppercase; }
.text-link span { transition: transform .25s; }.text-link:hover span { transform: translate(3px,-3px); }

.mission-console { position: relative; min-height: 680px; border: 1px solid var(--line); background: linear-gradient(145deg, rgba(8,23,40,.82), rgba(4,11,21,.7)); box-shadow: 0 30px 100px rgba(0,0,0,.25); }
.console-header { height: 51px; padding: 0 17px; display: flex; align-items: center; justify-content: space-between; border-bottom: 1px solid var(--line); }
.console-header > span { display: flex; gap: 5px; }.console-header > span i { width: 5px; height: 5px; border-radius: 50%; background: #31445b; }.console-header > span i:first-child { background: var(--cyan); box-shadow: 0 0 7px var(--cyan); }
.console-header small { color: #718298; font: 500 7px var(--mono); letter-spacing: .16em; }
.console-header b { color: var(--green); font: 500 7px var(--mono); letter-spacing: .12em; }
.console-core { position: relative; width: 300px; height: 300px; margin: 40px auto 25px; display: grid; place-items: center; }
.core-ring { position: absolute; border: 1px solid rgba(81,230,255,.16); border-radius: 50%; }
.ring-one { inset: 4%; animation: spin 18s linear infinite; border-style: dashed; }.ring-two { inset: 20%; animation: spinReverse 11s linear infinite; }.ring-three { inset: 34%; border-color: rgba(138,92,255,.35); box-shadow: 0 0 30px rgba(57,119,255,.12); }
.ring-one::before, .ring-two::before { content: ""; position: absolute; width: 7px; height: 7px; border-radius: 50%; top: 12%; left: 13%; background: var(--cyan); box-shadow: 0 0 10px var(--cyan); }
.ring-two::before { top: auto; left: auto; bottom: 7%; right: 20%; background: var(--violet); box-shadow: 0 0 10px var(--violet); }
@keyframes spin { to { transform: rotate(360deg); } } @keyframes spinReverse { to { transform: rotate(-360deg); } }
.core-center { width: 62px; height: 62px; display: grid; place-items: center; transform: rotate(45deg); border: 1px solid var(--cyan); background: rgba(81,230,255,.05); box-shadow: 0 0 35px rgba(81,230,255,.12), inset 0 0 20px rgba(81,230,255,.1); }
.core-center span { transform: rotate(-45deg); color: var(--cyan-soft); font: 600 24px var(--heading); }
.core-node { position: absolute; width: 4px; height: 4px; border-radius: 50%; background: var(--green); box-shadow: 0 0 8px var(--green); }.node-a { left: 4%; top: 50%; }.node-b { right: 6%; top: 30%; }.node-c { right: 23%; bottom: 2%; }

.principle-list { display: grid; grid-template-columns: 1fr 1fr; border-top: 1px solid var(--line); }
.principle-list > div { min-height: 112px; padding: 20px; display: grid; grid-template-columns: 23px 1fr 16px; gap: 9px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); align-items: start; }
.principle-list > div:nth-child(2n) { border-right: 0; }
.principle-list > div > span { color: var(--cyan); font: 500 8px var(--mono); }
.principle-list p { margin: 0; }.principle-list strong { display: block; font: 500 13px var(--heading); }.principle-list small { display: block; margin-top: 6px; color: var(--muted); font-size: 9px; line-height: 1.5; }
.principle-list i { color: #617187; font-style: normal; font-size: 11px; }

/* Industries */
.industries { background: #050b14; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.industry-grid { display: grid; grid-template-columns: repeat(3, 1fr); border-top: 1px solid var(--line); border-left: 1px solid var(--line); }
.industry-card { position: relative; min-height: 330px; padding: 32px; overflow: hidden; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); background: rgba(7,16,28,.35); transition: background .3s; }
.industry-card:hover { background: rgba(13,31,50,.72); }
.industry-card::after { content: ""; position: absolute; width: 180px; height: 180px; right: -90px; bottom: -90px; border: 1px solid rgba(81,230,255,.1); border-radius: 50%; box-shadow: 0 0 0 32px rgba(81,230,255,.018), 0 0 0 64px rgba(81,230,255,.01); transition: transform .5s ease; }
.industry-card:hover::after { transform: scale(1.18); }
.industry-code { color: #65768b; font: 500 8px var(--mono); letter-spacing: .18em; }
.industry-symbol { position: absolute; right: 28px; top: 25px; color: rgba(81,230,255,.12); font: 500 48px var(--heading); }
.industry-card h3 { margin: 90px 0 14px; font: 500 28px var(--heading); letter-spacing: -.04em; }
.industry-card p { max-width: 290px; margin: 0; color: var(--muted); font-size: 12px; line-height: 1.7; }
.industry-card small { position: absolute; z-index: 1; left: 32px; bottom: 28px; color: var(--cyan); font: 500 7px var(--mono); letter-spacing: .09em; }

/* Process */
.process { background: radial-gradient(circle at 50% 45%, rgba(40,96,220,.075), transparent 38%), var(--bg); }
.process-intro { max-width: 620px; margin-bottom: 85px; }
.process-line { position: relative; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(4, 1fr); list-style: none; }
.process-line::before { content: ""; position: absolute; top: 24px; left: 0; right: 0; height: 1px; background: linear-gradient(90deg, var(--cyan), var(--blue), var(--violet), rgba(138,92,255,.15)); }
.process-line li { position: relative; padding: 0 38px 0 0; }
.process-line li > span { width: 48px; height: 48px; display: grid; place-items: center; border: 1px solid var(--line-bright); border-radius: 50%; background: var(--bg); color: var(--cyan); font: 500 8px var(--mono); box-shadow: 0 0 0 8px var(--bg); }
.process-line li > div { margin-top: 37px; }
.process-line small { color: #66778b; font: 500 7px var(--mono); letter-spacing: .16em; }
.process-line h3 { margin: 11px 0 14px; font: 500 20px var(--heading); letter-spacing: -.025em; }
.process-line p { margin: 0; color: var(--muted); font-size: 12px; line-height: 1.7; }

/* Technology */
.technology { padding: 65px 0; overflow: hidden; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); background: #050c16; }
.tech-header { margin-bottom: 45px; display: flex; justify-content: space-between; align-items: center; }
.tech-header .eyebrow { margin: 0; }.tech-header > p:last-child { margin: 0; color: var(--muted); font-size: 12px; }
.tech-marquee { overflow: hidden; mask-image: linear-gradient(90deg, transparent, black 8%, black 92%, transparent); }
.tech-track { width: max-content; display: flex; gap: 12px; animation: techMove 38s linear infinite; }
.tech-track span { min-width: 178px; height: 74px; padding: 0 20px; display: flex; align-items: center; gap: 14px; border: 1px solid var(--line); background: rgba(9,21,36,.7); color: #c1ccda; font: 500 12px var(--heading); }
.tech-track b { width: 34px; height: 34px; display: grid; place-items: center; border: 1px solid rgba(81,230,255,.19); color: var(--cyan); font: 500 8px var(--mono); }
@keyframes techMove { to { transform: translateX(calc(-50% - 6px)); } }

/* Contact */
.contact { overflow: hidden; background: linear-gradient(180deg, #030711, #06101d); }
.contact::before { content: ""; position: absolute; inset: 0; opacity: .25; background-image: linear-gradient(rgba(81,230,255,.045) 1px, transparent 1px), linear-gradient(90deg, rgba(81,230,255,.045) 1px, transparent 1px); background-size: 72px 72px; mask-image: radial-gradient(circle at 18% 45%, black, transparent 60%); }
.contact-beam { position: absolute; width: 1px; height: 760px; left: 44%; top: -100px; transform: rotate(25deg); background: linear-gradient(transparent, rgba(81,230,255,.45), transparent); box-shadow: 0 0 35px rgba(81,230,255,.35); }
.contact-grid { position: relative; display: grid; grid-template-columns: .9fr 1.1fr; gap: clamp(70px, 10vw, 160px); align-items: start; }
.contact-copy > p:not(.eyebrow) { max-width: 500px; margin: 34px 0 0; color: var(--muted); font-size: 15px; line-height: 1.8; }
.contact-direct { margin-top: 48px; border-top: 1px solid var(--line); }
.contact-direct > * { min-height: 67px; display: grid; grid-template-columns: 60px 1fr 20px; align-items: center; border-bottom: 1px solid var(--line); }
.contact-direct small { color: #647489; font: 500 7px var(--mono); letter-spacing: .14em; }
.contact-direct span { color: #bfccdc; font-size: 12px; }
.contact-direct b { color: var(--cyan); font: 500 10px var(--mono); }
.contact-direct a:hover span { color: white; }

.contact-form { padding: 35px; border: 1px solid var(--line); border-radius: 5px; background: rgba(7,18,32,.84); box-shadow: 0 35px 110px rgba(0,0,0,.28); backdrop-filter: blur(15px); }
.form-status { margin-bottom: 35px; padding-bottom: 18px; display: flex; align-items: center; justify-content: space-between; border-bottom: 1px solid var(--line); }
.form-status span { display: flex; align-items: center; gap: 8px; color: #aebdce; font: 500 8px var(--mono); letter-spacing: .13em; }
.form-status i { width: 5px; height: 5px; border-radius: 50%; background: var(--green); box-shadow: 0 0 8px var(--green); }
.form-status small { color: #617187; font: 500 7px var(--mono); letter-spacing: .12em; }
.field-row { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.contact-form label { margin-bottom: 19px; display: block; }
.contact-form label > span { margin-bottom: 9px; display: block; color: #8190a4; font: 500 8px var(--mono); letter-spacing: .12em; text-transform: uppercase; }
.contact-form input, .contact-form textarea { width: 100%; border: 1px solid var(--line); border-radius: 2px; outline: 0; background: rgba(3,10,18,.65); color: white; transition: border-color .25s, box-shadow .25s; }
.contact-form input { height: 52px; padding: 0 15px; }.contact-form textarea { padding: 15px; resize: vertical; line-height: 1.6; }
.contact-form input::placeholder, .contact-form textarea::placeholder { color: #526175; }
.contact-form input:focus, .contact-form textarea:focus { border-color: rgba(81,230,255,.55); box-shadow: 0 0 0 3px rgba(81,230,255,.05); }
.form-submit { width: 100%; margin-top: 3px; justify-content: space-between; }
.form-submit b { font-size: 17px; font-weight: 400; }
.form-note { margin: 13px 0 0; color: #5e6e82; font: 400 8px/1.6 var(--mono); }

/* Footer */
.site-footer { position: relative; border-top: 1px solid var(--line); background: #02050c; }
.footer-top { min-height: 190px; display: grid; grid-template-columns: .9fr 1.1fr .8fr; align-items: center; gap: 60px; }
.footer-top > p { color: #75869a; font-size: 12px; line-height: 1.7; }
.footer-whatsapp { justify-self: end; display: flex; align-items: center; gap: 10px; color: #9badbf; font: 500 8px var(--mono); letter-spacing: .12em; }
.footer-whatsapp i { width: 6px; height: 6px; border-radius: 50%; background: var(--green); box-shadow: 0 0 9px var(--green); }
.footer-whatsapp span { margin-left: 10px; color: var(--cyan); font-size: 13px; }
.footer-bottom { min-height: 82px; display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 30px; border-top: 1px solid var(--line); color: #506075; font: 500 7px var(--mono); letter-spacing: .09em; }
.footer-bottom p span { color: #718096; }
.footer-bottom nav { display: flex; gap: 28px; }.footer-bottom nav a:hover { color: var(--cyan); }
.footer-bottom > a { justify-self: end; color: #718096; }

.floating-contact { position: fixed; z-index: 70; right: 24px; bottom: 22px; display: flex; align-items: center; gap: 9px; }
.floating-core { position: relative; z-index: 2; width: 48px; height: 48px; display: grid; place-items: center; border: 1px solid rgba(81,230,255,.65); border-radius: 50%; background: rgba(5,19,32,.86); color: var(--cyan); box-shadow: 0 0 24px rgba(81,230,255,.12); backdrop-filter: blur(8px); }
.floating-rings { position: absolute; left: 0; width: 48px; height: 48px; border: 1px solid rgba(81,230,255,.28); border-radius: 50%; animation: contactRing 2.5s ease-out infinite; }
@keyframes contactRing { to { transform: scale(1.6); opacity: 0; } }
.floating-contact small { color: #8d9db0; font: 500 7px/1.4 var(--mono); letter-spacing: .1em; }

/* Responsive */
@media (max-width: 1180px) {
    .container { width: min(var(--container), calc(100% - 44px)); }
    .hero-layout { grid-template-columns: minmax(0, 1.15fr) minmax(330px, .85fr); }
    .hero h1 { font-size: clamp(60px, 7vw, 88px); }
    .hero-vignette { background: linear-gradient(90deg, rgba(3,7,17,.98), rgba(3,7,17,.82) 42%, rgba(3,7,17,.13) 76%), linear-gradient(0deg, #030711, transparent 24%); }
    .solutions-grid { grid-template-columns: repeat(2, 1fr); }
    .solution-featured { grid-column: span 2; }
    .desktop-nav { gap: 25px; }
    .about-grid, .contact-grid { gap: 70px; }
}

@media (max-width: 920px) {
    .desktop-nav, .nav-cta { display: none; }
    .menu-toggle { display: grid; }
    .section { padding: 110px 0; }
    .hero-layout { grid-template-columns: 1fr; align-items: center; }
    .hero-copy { max-width: 690px; }
    .hero-vignette { background: linear-gradient(90deg, rgba(3,7,17,.96), rgba(3,7,17,.62) 60%, rgba(3,7,17,.25)), linear-gradient(0deg, #030711 0%, transparent 35%, rgba(3,7,17,.45)); }
    .orbital-ui { width: 62%; opacity: .68; }
    .orbit-label-b { left: 9%; }
    .section-heading { grid-template-columns: 1fr; gap: 28px; }
    .section-heading > p { max-width: 560px; }
    .about-grid, .contact-grid { grid-template-columns: 1fr; }
    .about-copy { max-width: 650px; }
    .mission-console { max-width: 720px; }
    .industry-grid { grid-template-columns: 1fr 1fr; }
    .process-line { grid-template-columns: 1fr 1fr; row-gap: 70px; }
    .process-line::before { display: none; }
    .process-line li > span { box-shadow: none; }
    .footer-top { grid-template-columns: 1fr 1fr; }
    .footer-top > p { display: none; }
    .footer-bottom { grid-template-columns: 1fr auto; }
    .footer-bottom nav { display: none; }
}

@media (max-width: 680px) {
    .container { width: calc(100% - 34px); }
    .nav-shell { width: calc(100% - 34px); height: 76px; }
    .brand-mark { width: 32px; height: 32px; }.brand-copy strong { font-size: 15px; }.brand-copy small { font-size: 7px; }
    .mobile-nav { height: calc(100svh - 76px); }
    .hero { min-height: 850px; }
    .hero-layout { min-height: 850px; padding-top: 122px; padding-bottom: 68px; align-items: start; }
    .hero-copy { max-width: 100%; }
    .hero h1 { font-size: clamp(50px, 16vw, 75px); line-height: .92; }
    .hero-intro { max-width: 520px; font-size: 15px; line-height: 1.7; }
    .system-status { margin-bottom: 25px; }
    .hero-actions { align-items: stretch; flex-direction: column; max-width: 340px; }
    .button { min-height: 54px; justify-content: space-between; }
    .hero-proof { margin-top: 45px; justify-content: space-between; }
    .hero-proof > div { min-width: 0; padding-right: 11px; display: block; }
    .hero-proof > div + div { padding-left: 13px; }
    .hero-proof strong { display: block; font-size: 24px; }.hero-proof small { display: block; margin-top: 5px; font-size: 6px; }
    .orbital-ui { width: 100%; opacity: .45; }
    .orbit-label-a { top: 56%; right: 3%; }.orbit-label-b { top: 72%; left: 52%; }.orbit-label-c, .globe-caption { display: none; }
    .hero-vignette { background: linear-gradient(180deg, rgba(3,7,17,.92) 0%, rgba(3,7,17,.72) 45%, rgba(3,7,17,.32) 70%, #030711 100%); }
    .hero-grid { mask-image: linear-gradient(black, transparent 68%); }
    .hero-rail { display: none; }
    .section { padding: 88px 0; }
    .section-heading { margin-bottom: 44px; }
    .section-heading h2, .about h2, .process h2, .contact h2 { font-size: clamp(43px, 13vw, 61px); }
    .solutions-grid { grid-template-columns: 1fr; }
    .solution-featured { grid-column: auto; }
    .solution-featured .solution-content { position: relative; z-index: 2; width: 100%; }
    .solution-featured .solution-icon { margin-top: 52px; }
    .card-orbit { width: 74%; right: -27%; top: 45px; opacity: .75; }
    .solution-card { min-height: 440px; }
    .solution-card.solution-featured { min-height: auto; }
    .solution-featured .tag-row { position: relative; left: auto; bottom: auto; margin-top: 20px; }
    .solution-featured .metric-visual { position: relative; z-index: 2; right: auto; bottom: auto; width: 100%; margin-top: 24px; }
    .mission-console { min-height: 640px; }
    .console-core { width: 250px; height: 250px; margin-top: 30px; }
    .principle-list { grid-template-columns: 1fr; }
    .principle-list > div { min-height: 88px; border-right: 0; }
    .industry-grid { grid-template-columns: 1fr; }
    .industry-card { min-height: 290px; }
    .process-line { grid-template-columns: 1fr; gap: 52px; }
    .process-line li { padding-right: 0; display: grid; grid-template-columns: 48px 1fr; gap: 23px; }
    .process-line li > div { margin-top: 2px; }
    .tech-header { align-items: flex-start; flex-direction: column; gap: 13px; }
    .field-row { grid-template-columns: 1fr; gap: 0; }
    .contact-form { padding: 24px 20px; }
    .footer-top { min-height: 170px; grid-template-columns: 1fr; gap: 26px; align-content: center; }
    .footer-whatsapp { justify-self: start; }
    .footer-bottom { min-height: 105px; grid-template-columns: 1fr; gap: 12px; align-content: center; }
    .footer-bottom > a { justify-self: start; }
    .floating-contact { right: 13px; bottom: 13px; }.floating-contact small { display: none; }
    .cursor-glow { display: none; }
}

@media (prefers-reduced-motion: reduce) {
    html { scroll-behavior: auto; }
    *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; scroll-behavior: auto !important; }
    .js .reveal { opacity: 1; transform: none; transition: none; }
    .cursor-glow { display: none; }
}
