:root {
    color-scheme: light dark;
    --bg: #070b24; --bg-elevated: #0d1433; --surface: rgba(13,20,51,.74); --surface-solid: #10183d;
    --text: #f7f9ff; --muted: #adb9d8; --line: rgba(174,185,216,.2); --line-strong: rgba(174,185,216,.36);
    --accent: #8fe8ff; --accent-strong: #16d9e8; --blue: #316bff; --button-text: #04102c;
    --shadow: 0 18px 55px rgba(0,0,0,.28); --header-height: 70px;
    font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    font-synthesis: none;
}

html[data-theme="light"] { color-scheme: light; --bg:#e9eef8; --bg-elevated:#f4f7fc; --surface:rgba(244,247,252,.82); --surface-solid:#f7f9fd; --text:#07102c; --muted:#4b5878; --line:rgba(18,40,91,.16); --line-strong:rgba(18,40,91,.3); --accent:#006c80; --accent-strong:#007f95; --blue:#145cff; --button-text:#fff; --shadow:0 18px 55px rgba(23,42,84,.15); }
@media (prefers-color-scheme: light) { html[data-theme="system"] { color-scheme:light; --bg:#e9eef8; --bg-elevated:#f4f7fc; --surface:rgba(244,247,252,.82); --surface-solid:#f7f9fd; --text:#07102c; --muted:#4b5878; --line:rgba(18,40,91,.16); --line-strong:rgba(18,40,91,.3); --accent:#006c80; --accent-strong:#007f95; --blue:#145cff; --button-text:#fff; --shadow:0 18px 55px rgba(23,42,84,.15); } }

* { box-sizing:border-box; }
html { scroll-behavior:smooth; scroll-padding-top:110px; }
body { margin:0; color:var(--text); background:var(--bg); line-height:1.6; transition:background .25s,color .25s; }
body.menu-open { overflow:hidden; }
body::before { content:""; position:fixed; inset:0; z-index:-1; background:radial-gradient(circle at 84% 4%, color-mix(in srgb,var(--blue) 18%,transparent), transparent 34rem), linear-gradient(135deg,transparent 0 48%,color-mix(in srgb,var(--line) 30%,transparent) 48% 48.1%,transparent 48.1%); pointer-events:none; }
a { color:inherit; }
.skip-link { position:fixed; left:1rem; top:-5rem; z-index:200; background:var(--accent); color:var(--button-text); padding:.65rem 1rem; }
.skip-link:focus { top:1rem; }
.floating-header, main, footer { width:min(1220px,calc(100% - 2rem)); margin-inline:auto; }
.floating-header { position:fixed; z-index:100; top:18px; left:50%; transform:translateX(-50%); height:var(--header-height); display:flex; align-items:center; gap:1.2rem; padding:.55rem .65rem .55rem 26px; background:var(--surface); border:1px solid var(--line); border-radius:18px; box-shadow:var(--shadow); backdrop-filter:blur(18px) saturate(140%); transition:height .2s,top .2s; }
.floating-header.compact { height:58px; top:8px; }
.brand { display:flex; align-items:center; align-self:stretch; flex:0 0 224px; padding-right:10px; }
.brand img { display:block; width:224px; height:40px; object-fit:contain; object-position:left center; }
.desktop-nav { display:flex; align-items:center; justify-content:center; gap:clamp(.6rem,1.3vw,1.2rem); flex:1; }
.desktop-nav a { color:var(--muted); text-decoration:none; font-size:.82rem; font-weight:650; white-space:nowrap; }
.desktop-nav a:hover { color:var(--text); }
.header-tools { display:flex; align-items:center; gap:.55rem; }
.segmented { display:flex; gap:.35rem; align-items:center; color:var(--muted); font-size:.72rem; }
.segmented a { text-decoration:none; } .segmented a.active { color:var(--text); font-weight:800; }
.theme-control { display:flex; gap:2px; padding:3px; border:1px solid var(--line); border-radius:999px; }
.theme-control button { min-width:25px; height:25px; padding:0 .35rem; border:0; border-radius:999px; color:var(--muted); background:transparent; cursor:pointer; font:inherit; font-size:.65rem; }
.theme-control button.active { color:var(--text); background:var(--line); }
.button { display:inline-flex; min-height:46px; align-items:center; justify-content:center; padding:.7rem 1.05rem; border:1px solid var(--line-strong); border-radius:8px; text-decoration:none; font-weight:750; }
.button-primary { color:var(--button-text); background:var(--accent); border-color:var(--accent); }
html[data-theme="light"] .button-primary { background:var(--blue); border-color:var(--blue); }
.button-secondary { background:color-mix(in srgb,var(--surface-solid) 70%,transparent); }
.header-cta { min-height:40px; font-size:.78rem; padding:.55rem .8rem; }
.menu-trigger { display:none; align-items:center; gap:.6rem; min-height:40px; padding:.45rem .8rem; border:1px solid var(--line-strong); border-radius:999px; color:var(--text); background:transparent; font:inherit; font-size:.8rem; font-weight:750; }

.hero { position:relative; min-height:calc(100svh - 110px); display:grid; grid-template-columns:minmax(0,1.25fr) minmax(320px,.75fr); align-items:center; gap:2rem; margin-top:110px; padding:5rem 0 6rem; }
.hero-copy { position:relative; z-index:2; }
.eyebrow { margin:0 0 1.1rem; color:var(--accent); font-size:.76rem; font-weight:800; letter-spacing:.17em; text-transform:uppercase; }
h1,h2,h3 { line-height:1.08; letter-spacing:-.035em; margin:0; }
h1 { font-size:clamp(3rem,5.8vw,5.65rem); max-width:14ch; text-wrap:balance; }
h2 { font-size:clamp(2.15rem,4.2vw,3.8rem); max-width:17ch; text-wrap:balance; }
h3 { font-size:1.35rem; }
.lead { max-width:720px; margin:1.8rem 0 2.1rem; color:var(--muted); font-size:clamp(1.05rem,1.7vw,1.3rem); line-height:1.65; }
.actions { display:flex; flex-wrap:wrap; gap:.75rem; }
.technical-visual { position:relative; width:100%; color:var(--accent-strong); opacity:.78; }
.technical-visual svg { width:100%; display:block; filter:drop-shadow(0 0 30px color-mix(in srgb,var(--accent) 13%,transparent)); }
.technical-visual>span { position:absolute; color:var(--muted); font:650 .65rem/1 monospace; letter-spacing:.08em; }
.technical-visual>span:first-of-type { left:5%; bottom:13%; } .technical-visual>span:last-of-type { right:4%; top:15%; }
.diagram { stroke:var(--muted); opacity:.45; }
.flight-path { stroke-width:2; }

.section { padding:7.5rem 0; border-top:1px solid var(--line); }
.section-heading { margin-bottom:3rem; } .section-heading.split { display:flex; justify-content:space-between; gap:2rem; align-items:flex-end; }
.section-code { color:var(--muted); font:600 .7rem monospace; letter-spacing:.12em; }
.approach-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:1px; background:var(--line); border:1px solid var(--line); }
.approach-grid article { min-height:250px; padding:1.6rem; background:var(--bg-elevated); }
.approach-grid article>span,.capability-list article>span { display:block; margin-bottom:4rem; color:var(--accent); font:700 .7rem monospace; }
.approach-grid p,.capability-list p,.collaboration-grid p,.product-panel p,.about-panel p,.contact-panel p { color:var(--muted); }
.capability-list { border-top:1px solid var(--line-strong); }
.capability-list article { display:grid; grid-template-columns:60px minmax(240px,.7fr) 1fr; gap:2rem; align-items:start; padding:1.7rem 0; border-bottom:1px solid var(--line); }
.capability-list article>span { margin:0; }
.capability-list p { margin:0; max-width:58ch; }
.regulatory-panel { margin:0 auto; padding:3rem clamp(1.5rem,4vw,3.5rem); border:1px solid var(--line); background:color-mix(in srgb,var(--bg-elevated) 78%,transparent); }
.regulatory-content { display:grid; grid-template-columns:minmax(250px,.8fr) minmax(320px,1.2fr); gap:clamp(2rem,6vw,6rem); align-items:start; }
.regulatory-content h2 { font-size:clamp(1.8rem,3vw,2.8rem); }
.regulatory-content p { margin:0; color:var(--muted); }
.regulatory-disclaimer { margin-top:1.25rem!important; padding-top:1.1rem; border-top:1px solid var(--line); font-size:.78rem; line-height:1.6; }
.collaboration-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1rem; }
.collaboration-grid article { padding:2rem; min-height:290px; border:1px solid var(--line); background:linear-gradient(145deg,var(--surface-solid),transparent); }
.model-mark { width:38px; height:38px; margin-bottom:5rem; border:1px solid var(--accent); border-radius:50%; position:relative; }
.model-mark::after { content:""; position:absolute; inset:8px; border-top:1px solid var(--accent); transform:rotate(-35deg); }
.product-panel { display:flex; align-items:end; justify-content:space-between; gap:3rem; padding:6rem clamp(1.5rem,5vw,5rem); background:linear-gradient(115deg,color-mix(in srgb,var(--blue) 18%,var(--bg-elevated)),var(--bg-elevated)); border:1px solid var(--line); }
.product-panel p { max-width:66ch; }
.about-panel { display:grid; grid-template-columns:.65fr 1.35fr; gap:3rem; }
.about-panel>div p { max-width:720px; font-size:1.15rem; }
.contact-panel { display:grid; grid-template-columns:1.2fr .8fr; gap:4rem; align-items:center; }
.inquiry-placeholder { padding:2rem; border:1px dashed var(--line-strong); background:var(--surface); }
.inquiry-placeholder span { color:var(--accent); font:700 .68rem monospace; letter-spacing:.12em; }
.contact-section { display:grid; grid-template-columns:.72fr 1.28fr; gap:clamp(2rem,7vw,7rem); align-items:start; }
.contact-intro { position:sticky; top:100px; }
.contact-intro>p:last-child { color:var(--muted); }
.contact-form-column { min-width:0; display:grid; gap:1rem; }
.inquiry-form { padding:clamp(1.3rem,3vw,2.2rem); border:1px solid var(--line); background:var(--bg-elevated); }
.required-note { margin:0 0 1.2rem; color:var(--muted); font-size:.72rem; }
.required { color:var(--accent); }
.form-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1.2rem; }
.form-grid label { display:grid; gap:.45rem; color:var(--muted); font-size:.78rem; font-weight:700; }
.field-label { display:inline; }
.field-label .required { white-space:nowrap; }
.form-grid input,.form-grid select,.form-grid textarea { width:100%; padding:.78rem .85rem; border:1px solid var(--line-strong); border-radius:6px; color:var(--text); background:var(--bg); font:inherit; }
.form-grid input:focus,.form-grid select:focus,.form-grid textarea:focus { outline:2px solid var(--accent); outline-offset:2px; }
.form-grid [aria-invalid="true"] { border-color:#ff7f7f; }
.field-error { display:block; color:#ffb9b9; font-size:.72rem; font-weight:600; line-height:1.45; }
.client-field-error { margin-top:-.1rem; }
.form-wide { grid-column:1/-1; }
.privacy-check { display:flex!important; grid-column:1/-1; grid-template-columns:none!important; align-items:flex-start; gap:.7rem!important; font-weight:500!important; }
.privacy-check input { width:18px; flex:0 0 18px; margin-top:.2rem; }
.privacy-notice { margin:0; padding:1rem; border:1px solid var(--line); color:var(--muted); font-size:.76rem; line-height:1.6; }
.privacy-notice a { color:var(--text); }
.form-submit { display:flex; align-items:center; justify-content:space-between; gap:1.5rem; margin-top:1.5rem; padding-top:1.3rem; border-top:1px solid var(--line); }
.form-submit p { max-width:46ch; margin:0; color:var(--muted); font-size:.74rem; }
.form-submit button:disabled { cursor:wait; opacity:.72; }
.form-errors,.form-success { padding:1rem; border:1px solid var(--line); }
.form-errors p,.form-success p { margin:0; }
.form-errors { color:#ffb9b9; border-color:rgba(255,100,100,.4); }.form-success { color:var(--accent); }
.form-errors { scroll-margin-top:90px; }
.form-errors:focus { outline:2px solid var(--accent); outline-offset:3px; }
.honeypot { position:absolute!important; left:-10000px!important; width:1px!important; height:1px!important; overflow:hidden!important; }
footer { display:flex; align-items:center; justify-content:space-between; padding:2.5rem 0; border-top:1px solid var(--line); color:var(--muted); font-size:.85rem; }
footer p { margin:0; }
footer div { display:flex; align-items:center; gap:1.5rem; } footer a { text-decoration:none; }

.mobile-sheet { width:100%; height:100%; max-width:none; max-height:none; margin:0; padding:0; color:var(--text); background:var(--bg); border:0; }
.mobile-sheet::backdrop { background:rgba(2,5,18,.75); }
.mobile-sheet[open] { display:flex; flex-direction:column; padding:1.2rem; }
.sheet-top { display:flex; align-items:center; justify-content:space-between; padding-bottom:1.5rem; border-bottom:1px solid var(--line); }
.sheet-top img { width:min(270px,65vw); height:auto; display:block; } .sheet-top button { color:var(--text); background:transparent; border:1px solid var(--line); border-radius:999px; padding:.6rem .85rem; }
.mobile-sheet nav { display:flex; flex-direction:column; flex:1; justify-content:center; }
.mobile-sheet nav a { display:grid; grid-template-columns:50px 1fr; align-items:center; padding:.6rem 0; text-decoration:none; font-size:clamp(2rem,9vw,4rem); font-weight:750; line-height:1.1; }
.mobile-sheet nav a span { color:var(--accent); font:700 .65rem monospace; }
.sheet-controls { display:flex; justify-content:space-between; gap:1rem; padding:1.2rem 0; }

@media (max-width:1080px) { .desktop-nav,.header-tools>.language,.header-tools>.theme-control,.header-cta { display:none; } .menu-trigger{display:inline-flex} .floating-header{justify-content:space-between} .hero{grid-template-columns:1fr .55fr} .approach-grid{grid-template-columns:repeat(2,1fr)} }
@media (max-width:720px) { .floating-header{width:calc(100% - 1rem);top:8px;height:64px;padding-left:20px;border-radius:15px}.brand{width:190px;flex-basis:190px}.brand img{width:190px;height:34px}.hero{min-height:calc(100svh - 84px);margin-top:84px;grid-template-columns:1fr;padding:4.5rem 0 6rem;overflow:hidden}.technical-visual{position:absolute;width:440px;right:-190px;bottom:-40px;opacity:.35}.lead{max-width:34ch}.section{padding:5rem 0}.approach-grid,.collaboration-grid,.regulatory-content{grid-template-columns:1fr}.approach-grid article{min-height:auto}.approach-grid article>span{margin-bottom:2rem}.capability-list article{grid-template-columns:40px 1fr;gap:1rem}.capability-list article p{grid-column:2}.regulatory-panel{padding:2rem 1.4rem}.product-panel,.about-panel,.contact-panel{display:flex;align-items:flex-start;flex-direction:column;gap:2rem}.contact-section{grid-template-columns:1fr}.contact-intro{position:static}.form-grid{grid-template-columns:1fr}.form-wide{grid-column:auto}.privacy-check{grid-column:auto}.form-submit{align-items:flex-start;flex-direction:column}.product-panel{padding:4rem 1.4rem}footer{flex-direction:column;gap:1rem}.section-heading.split{align-items:flex-start;flex-direction:column}.model-mark{margin-bottom:3rem} }
@media (max-width:360px) { .brand{width:42px;flex-basis:42px;padding:0}.brand img{width:34px;height:34px}.floating-header.compact{height:58px} }
@media (prefers-reduced-motion:reduce) { html{scroll-behavior:auto} *,*::before,*::after{transition:none!important;animation:none!important} }
