/* SOVRA AI v5 — scientific motion, canonical branding and navigation stability. */
:root{
  --sv5-cyan:#62e4ff;
  --sv5-blue:#4f8cff;
  --sv5-violet:#9a70ff;
  --sv5-magenta:#ec5aff;
  --sv5-green:#50efb3;
  --sv5-ink:#03060b;
  --sv5-panel:rgba(7,15,27,.78);
  --sv5-line:rgba(128,184,255,.17);
}

/* The v5 stylesheet is only injected on cinematic public pages. Keep first paint dark
   before JavaScript converts the legacy shell into v4/v5, eliminating white flashes. */
html{background:#03060b!important;color-scheme:dark}
body{background:#03060b!important;color:#eef7ff}
body:not(.sv4-ready)>main{background:#03060b!important}

/* Never allow the legacy pre-v4 header to flash as a white bar. */
body:not(.sv4-ready)>header,
body:not(.sv4-ready)>header.header-scrolled,
body.sv4-ready>.sv4-header,
body.sv4-ready>.sv4-header.is-scrolled{
  color:#eef7ff!important;
  background:rgba(3,6,11,.9)!important;
  border-bottom:1px solid rgba(128,184,255,.13)!important;
  box-shadow:0 10px 50px rgba(0,0,0,.2)!important;
  -webkit-backdrop-filter:blur(22px) saturate(145%)!important;
  backdrop-filter:blur(22px) saturate(145%)!important;
}
body:not(.sv4-ready)>header .brand,
body:not(.sv4-ready)>header .nav-links,
body:not(.sv4-ready)>header .nav-links a{color:#c8d7ea!important}
body:not(.sv4-ready)>header .nav-links a:hover,
body:not(.sv4-ready)>header .nav-links a.active{color:#fff!important;background:rgba(255,255,255,.055)!important}
body:not(.sv4-ready)>header .language-select,
body:not(.sv4-ready)>header .mobile-toggle{background:#08111e!important;color:#e9f3ff!important;border-color:rgba(128,184,255,.2)!important}
body:not(.sv4-ready)>header .mobile-toggle span{background:#edf7ff!important}
body:not(.sv4-ready)>.mobile-menu{background:rgba(3,6,11,.97)!important;border-color:rgba(128,184,255,.13)!important}
body:not(.sv4-ready)>.mobile-menu a,
body:not(.sv4-ready)>.mobile-menu label{background:#08111e!important;color:#d7e6f8!important;border-color:rgba(128,184,255,.16)!important}

/* Canonical checked-in brand mark replaces CSS placeholder geometry. The same SVG is
   a CSS fallback so branding remains visible before/degraded-without JavaScript. */
.sv4-brand-mark,
body:not(.sv4-ready)>header .mark{
  background:transparent url("/assets/brand/sovra-neural-mark.svg") center/contain no-repeat!important;
  border-radius:0!important;
  box-shadow:none!important;
}
.sv4-brand-mark:has(.sv5-brand-img),
body:not(.sv4-ready)>header .mark:has(.sv5-brand-img){background-image:none!important}
.sv4-brand-mark:before,.sv4-brand-mark:after,
body:not(.sv4-ready)>header .mark:before,body:not(.sv4-ready)>header .mark:after{display:none!important}
.sv5-brand-img{display:block;width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 0 12px rgba(98,228,255,.18)) drop-shadow(0 0 18px rgba(229,87,255,.09));transform:translateZ(0)}
.sv4-brand:hover .sv5-brand-img{filter:drop-shadow(0 0 15px rgba(98,228,255,.34)) drop-shadow(0 0 24px rgba(229,87,255,.17))}

/* Scientific world field. The v4 main shell becomes transparent enough for the field
   to remain spatially present instead of being hidden by an opaque page rectangle. */
.sv5-field{position:fixed;inset:0;width:100%;height:100%;z-index:0;pointer-events:none;opacity:.72;mix-blend-mode:screen}
body.sv4-ready .sv4-main{background:transparent!important}
body.sv4-ready .sv4-main:before{opacity:.82}
.sv4-main,.sv4-footer{position:relative;z-index:1}
.sv4-header{position:fixed!important;z-index:900!important;isolation:isolate}
.sv4-header .sv4-nav,.sv4-header .sv4-nav-actions,.sv4-header .sv4-menu-btn,.sv4-header .sv4-mobile{position:relative;z-index:1}
.sv5-field-vignette{position:fixed;inset:0;z-index:0;pointer-events:none;background:radial-gradient(circle at var(--sv5-x,50%) var(--sv5-y,30%),rgba(71,132,255,.075),transparent 31%),linear-gradient(180deg,rgba(3,6,11,0),rgba(3,6,11,.14));transition:background .12s linear}

/* Hero instrumentation — explicitly synthetic visualization, never presented as live telemetry. */
.sv5-instrument-panel{position:absolute;left:22px;right:22px;top:22px;z-index:4;display:grid;grid-template-columns:minmax(200px,1.2fr) repeat(3,minmax(92px,.55fr));gap:8px;pointer-events:none}
.sv5-instrument-main,.sv5-instrument-cell{border:1px solid rgba(116,176,255,.16);border-radius:13px;background:rgba(3,9,17,.58);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);box-shadow:inset 0 0 24px rgba(80,220,255,.025)}
.sv5-instrument-main{position:relative;min-height:74px;padding:12px 13px;overflow:hidden}
.sv5-instrument-main:after{content:"";position:absolute;left:-20%;right:-20%;top:50%;height:1px;background:linear-gradient(90deg,transparent,rgba(98,228,255,.3),transparent);animation:sv5Scan 4.8s linear infinite}
.sv5-instrument-label{display:flex;align-items:center;justify-content:space-between;gap:10px;color:#6f89a8;font-size:8px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}
.sv5-instrument-label b{color:#8cecff;font-weight:800}
.sv5-wave{display:block;width:100%;height:35px;margin-top:7px}
.sv5-instrument-cell{display:flex;flex-direction:column;justify-content:center;padding:11px 12px;min-width:0}
.sv5-instrument-cell small{color:#6f86a3;font-size:8px;letter-spacing:.08em;text-transform:uppercase;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sv5-instrument-cell strong{margin-top:5px;color:#f3f8ff;font-family:var(--sv4-display);font-size:18px;font-weight:580;letter-spacing:-.03em}
.sv5-instrument-cell em{margin-top:2px;color:#60dcae;font-style:normal;font-size:8px;letter-spacing:.08em}

/* Scientific depth accents. */
.sv4-hero-visual{isolation:isolate}
.sv4-hero-visual:after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(90deg,transparent 0 49.8%,rgba(98,228,255,.07) 50%,transparent 50.2%),linear-gradient(transparent 0 49.8%,rgba(98,228,255,.055) 50%,transparent 50.2%);background-size:100% 100%;mask-image:radial-gradient(circle at center,#000 0 52%,transparent 78%)}
.sv5-orbit-label{position:absolute;z-index:4;color:#637d9f;font:700 8px/1.2 var(--sv4-body);letter-spacing:.11em;text-transform:uppercase;pointer-events:none}
.sv5-orbit-label:before{content:"";display:inline-block;width:14px;height:1px;margin-right:7px;vertical-align:middle;background:linear-gradient(90deg,var(--sv5-cyan),transparent)}
.sv5-orbit-label.one{left:7%;top:47%}.sv5-orbit-label.two{right:7%;top:61%}.sv5-orbit-label.three{left:12%;bottom:17%}

/* Pointer-driven physical depth for selected surfaces. */
.sv5-tilt{transform:perspective(1100px) rotateX(var(--sv5-rx,0deg)) rotateY(var(--sv5-ry,0deg)) translateY(var(--sv5-lift,0));transform-style:preserve-3d;transition:transform .22s cubic-bezier(.2,.75,.2,1),border-color .22s,box-shadow .22s;will-change:transform}
.sv5-tilt:hover{border-color:rgba(116,176,255,.26)!important;box-shadow:0 28px 90px rgba(0,0,0,.32),inset 0 0 48px rgba(78,136,255,.035)}
.sv5-tilt>*{transform:translateZ(0)}

/* Section horizon and scanning signals. */
.sv4-section{overflow:clip}
.sv4-section:after{content:"";position:absolute;left:7%;right:7%;bottom:0;height:1px;background:linear-gradient(90deg,transparent,rgba(100,166,255,.11),rgba(154,112,255,.12),transparent);pointer-events:none}
.sv5-scroll-progress{position:fixed;left:0;top:0;z-index:1200;width:100%;height:2px;pointer-events:none;background:rgba(255,255,255,.02)}
.sv5-scroll-progress>i{display:block;width:100%;height:100%;transform-origin:left center;transform:scaleX(var(--sv5-progress,0));background:linear-gradient(90deg,var(--sv5-cyan),var(--sv5-blue),var(--sv5-violet),var(--sv5-magenta));box-shadow:0 0 16px rgba(98,228,255,.35)}

/* Footer/brand clarity. */
.sv4-footer .sv4-brand-mark{width:48px;height:48px}
.sv4-brand-name{letter-spacing:.13em}

@keyframes sv5Scan{0%{transform:translateX(-30%);opacity:0}15%{opacity:1}85%{opacity:1}100%{transform:translateX(30%);opacity:0}}
@keyframes sv5Pulse{0%,100%{opacity:.45;transform:scale(.96)}50%{opacity:1;transform:scale(1.04)}}

@media(max-width:980px){
  .sv5-instrument-panel{grid-template-columns:1fr 1fr;top:16px;left:16px;right:16px}.sv5-instrument-main{grid-column:1/-1}.sv5-instrument-cell strong{font-size:16px}
}
@media(max-width:720px){
  .sv5-instrument-panel{display:none}.sv5-field{opacity:.5}.sv5-orbit-label{display:none}
}
@media(prefers-reduced-motion:reduce){
  .sv5-field{display:none!important}.sv5-instrument-main:after{animation:none!important}.sv5-tilt{transform:none!important;transition:none!important}.sv5-scroll-progress>i{transition:none!important}
}