/* EMDATE V15 — Unified visual system / public surfaces
   High-contrast, textured, restrained-neon design layer. Loaded LAST. */
:root{
  --v15-cyan:#21d4ff;--v15-cyan2:#0aa6d8;--v15-red:#ff3654;--v15-red2:#c8192e;--v15-gold:#e3b45f;
  --v15-violet:#796cff;--v15-ink:#eef6ff;--v15-deep:#050b14;--v15-deep2:#081321;
  --v15-radius:18px;--v15-radius-lg:28px;--v15-shadow:0 24px 70px rgba(2,8,20,.20);
  --v15-neon-shadow:0 0 0 1px rgba(33,212,255,.10),0 12px 34px rgba(33,212,255,.10);
  --v15-ease:cubic-bezier(.22,1,.36,1);
}
*{scrollbar-color:rgba(132,157,190,.48) transparent}
body{font-kerning:normal;font-feature-settings:"kern" 1,"liga" 1;letter-spacing:-.003em}
body.platform-body,body.em-shell-page{
  position:relative;
  background:
    radial-gradient(circle at 10% 4%,rgba(33,212,255,.08),transparent 27%),
    radial-gradient(circle at 91% 12%,rgba(255,54,84,.075),transparent 26%),
    radial-gradient(circle at 72% 88%,rgba(121,108,255,.055),transparent 31%),
    var(--bg,var(--navy,#07101f))!important;
}
body.platform-body::before,body.em-shell-page::after{
  content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;opacity:.32;
  background-image:
    radial-gradient(circle at 1px 1px,rgba(255,255,255,.10) .65px,transparent .7px),
    linear-gradient(115deg,rgba(255,255,255,.018),transparent 38%,rgba(33,212,255,.025) 60%,transparent 76%);
  background-size:18px 18px,100% 100%;
  mask-image:linear-gradient(180deg,#000,rgba(0,0,0,.7) 70%,transparent 100%);
}
html[data-theme="light"] body.platform-body,html[data-theme="light"] body.em-shell-page{
  background:
    radial-gradient(circle at 8% 0%,rgba(15,157,204,.08),transparent 25%),
    radial-gradient(circle at 94% 8%,rgba(200,25,46,.065),transparent 27%),
    linear-gradient(180deg,#f7f9fc 0%,#edf3f8 100%)!important;
}
html[data-theme="light"] body.platform-body::before,html[data-theme="light"] body.em-shell-page::after{background-image:radial-gradient(circle at 1px 1px,rgba(20,32,51,.12) .55px,transparent .6px),linear-gradient(115deg,rgba(15,34,60,.018),transparent 40%,rgba(11,143,211,.025) 65%,transparent 80%);opacity:.24}

/* Header: one stable, high-contrast bar in every theme. */
.site-header{
  min-height:76px!important;background:rgba(5,11,20,.91)!important;border-bottom:1px solid rgba(255,255,255,.09)!important;
  box-shadow:0 14px 40px rgba(0,0,0,.16)!important;backdrop-filter:blur(22px) saturate(135%)!important;
}
.site-header::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:1px;background:linear-gradient(90deg,transparent,rgba(33,212,255,.52),rgba(255,54,84,.50),transparent);opacity:.55;pointer-events:none}
.site-header .header-inner{height:76px!important;gap:24px!important;max-width:1280px!important}
.site-header .brand-word{color:#f4f8ff!important;font-size:1.18rem!important;letter-spacing:.16em!important}.site-header .brand-mark{color:var(--v15-red)!important;text-shadow:0 0 18px rgba(255,54,84,.58)}
.site-header .brand-sub{color:#8597b1!important;font-size:.52rem!important;letter-spacing:.09em!important}
.site-header .desktop-nav{gap:8px!important}.site-header .desktop-nav a{color:#aab7ca!important;padding:12px 11px!important;border-radius:10px!important;font-size:.73rem!important;transition:color .18s var(--v15-ease),background .18s var(--v15-ease),box-shadow .18s var(--v15-ease)!important}
.site-header .desktop-nav a:after{display:none!important}.site-header .desktop-nav a:hover{color:#fff!important;background:rgba(255,255,255,.055)!important}.site-header .desktop-nav a.active{color:#fff!important;background:rgba(33,212,255,.075)!important;box-shadow:inset 0 -2px 0 var(--v15-cyan)!important}
.site-header .header-login{color:#d7e3f3!important;border:1px solid rgba(255,255,255,.10)!important;background:rgba(255,255,255,.035)!important;border-radius:11px!important;padding:9px 12px!important}.site-header .header-login:hover,.site-header .header-login.active{color:#fff!important;border-color:rgba(33,212,255,.32)!important;background:rgba(33,212,255,.08)!important}
.site-header .event-button{border-radius:12px!important;background:linear-gradient(135deg,#f9fbff,#eaf1fb)!important;color:#101827!important;border:1px solid rgba(255,255,255,.55)!important;box-shadow:0 10px 28px rgba(0,0,0,.18)!important}.site-header .event-button small{color:#617087!important}.site-header .live-dot{background:var(--v15-red)!important;box-shadow:0 0 0 5px rgba(255,54,84,.12),0 0 20px rgba(255,54,84,.52)!important}
.site-header .platform-theme-switch{background:rgba(255,255,255,.035)!important;border-color:rgba(255,255,255,.10)!important}.site-header .platform-theme-btn{color:#8fa0b8!important}.site-header .platform-theme-btn.active{background:#f4f8ff!important;color:#07101f!important}
.site-header .menu-button{background:rgba(255,255,255,.055)!important;border-color:rgba(255,255,255,.12)!important;color:#fff!important;border-radius:11px!important}
.mobile-menu{background:rgba(6,14,26,.98)!important;border-color:rgba(255,255,255,.11)!important;box-shadow:0 28px 70px rgba(0,0,0,.30)!important}.mobile-menu a{color:#d8e3f2!important}.mobile-menu a:hover,.mobile-menu a.active{background:rgba(33,212,255,.08)!important;color:#fff!important}

/* Typography rhythm */
h1,h2,h3,h4,.page-title,.brand,.footer-brand{font-family:'Manrope','DM Sans',system-ui,sans-serif!important}
.section-head h2,.current-copy h2,.closing-main h2,.page-hero h1,.home-hero h1{letter-spacing:-.052em!important;text-wrap:balance}
p,.page-sub,.section-head p,.content-card p,.story-grid p{line-height:1.7;text-wrap:pretty}
.eyebrow,.hero-kicker,.sec-label{letter-spacing:.13em!important}

/* Surface family */
:is(.platform-module,.content-card,.history-card,.timeline-intro,.event-launch-main,.story-grid article,.gallery-auth,.gallery-item,.legacy-box,.stack-item,body.em-shell-page .card,body.em-shell-page .status-card,body.em-shell-page .side-card,body.em-shell-page .login-box,body.em-shell-page .choice-card,body.em-shell-page .reg-card){
  border-radius:var(--v15-radius)!important;border:1px solid var(--line,var(--border))!important;box-shadow:0 12px 34px rgba(7,16,31,.055)!important;
}
html[data-theme="dark"] :is(.platform-module,.content-card,.history-card,.timeline-intro,.event-launch-main,.story-grid article,.gallery-auth,.legacy-box,.stack-item,body.em-shell-page .card,body.em-shell-page .status-card,body.em-shell-page .side-card,body.em-shell-page .login-box,body.em-shell-page .choice-card,body.em-shell-page .reg-card){background:linear-gradient(145deg,rgba(18,32,55,.90),rgba(8,19,34,.94))!important;border-color:rgba(255,255,255,.09)!important;box-shadow:0 20px 54px rgba(0,0,0,.15)!important}
html[data-theme="light"] :is(.platform-module,.content-card,.history-card,.timeline-intro,.event-launch-main,.story-grid article,.gallery-auth,.legacy-box,.stack-item,body.em-shell-page .card,body.em-shell-page .status-card,body.em-shell-page .side-card,body.em-shell-page .login-box,body.em-shell-page .choice-card,body.em-shell-page .reg-card){background:linear-gradient(145deg,#ffffff,#f8fbfe)!important;color:#111827!important;border-color:#d8e2ec!important}
html[data-theme="light"] :is(.platform-module,.content-card,.history-card,.timeline-intro,.event-launch-main,.story-grid article,.gallery-auth,.legacy-box,.stack-item,body.em-shell-page .card,body.em-shell-page .status-card,body.em-shell-page .side-card,body.em-shell-page .login-box,body.em-shell-page .choice-card,body.em-shell-page .reg-card) :is(h1,h2,h3,h4,strong,b,label){color:#111827!important}
html[data-theme="light"] :is(.platform-module,.content-card,.history-card,.timeline-intro,.event-launch-main,.story-grid article,.gallery-auth,.legacy-box,.stack-item,body.em-shell-page .card,body.em-shell-page .status-card,body.em-shell-page .side-card,body.em-shell-page .login-box,body.em-shell-page .choice-card,body.em-shell-page .reg-card) :is(p,small,.muted,.small-muted){color:#5d6d83!important}
html[data-theme="clinical"] :is(.platform-module,.content-card,.history-card,.timeline-intro,.event-launch-main,.story-grid article,.gallery-auth,.legacy-box,.stack-item,body.em-shell-page .card,body.em-shell-page .status-card,body.em-shell-page .side-card,body.em-shell-page .login-box,body.em-shell-page .choice-card,body.em-shell-page .reg-card){background:linear-gradient(145deg,#ffffff,#eefbf9)!important;color:#06333d!important;border-color:#b9dcd8!important}

/* Interactive cards — subtle neon, never toy-like. */
:is(.platform-module,.content-card,.history-card,.stack-item,.story-grid article){transition:transform .24s var(--v15-ease),border-color .24s var(--v15-ease),box-shadow .24s var(--v15-ease)!important}
:is(.platform-module,.content-card,.history-card,.stack-item,.story-grid article):hover{transform:translateY(-3px)!important;border-color:rgba(33,212,255,.34)!important;box-shadow:var(--v15-neon-shadow)!important}

/* Buttons: one family. */
:is(.btn,.event-button,.header-login,body.em-shell-page .open-btn,body.em-shell-page button.open-btn){border-radius:11px!important;min-height:42px;font-weight:800!important;letter-spacing:0!important;text-transform:none!important;transition:transform .18s var(--v15-ease),box-shadow .18s var(--v15-ease),filter .18s var(--v15-ease)!important}
:is(.btn-primary,.btn-red,body.em-shell-page .btn.primary){background:linear-gradient(135deg,var(--v15-red2),var(--v15-red))!important;color:#fff!important;border-color:transparent!important;box-shadow:0 12px 30px rgba(200,25,46,.20)!important}
:is(.btn-primary,.btn-red,body.em-shell-page .btn.primary):hover{filter:brightness(1.06);box-shadow:0 14px 34px rgba(255,54,84,.26)!important}
.btn-dark{background:linear-gradient(135deg,#081321,#10233e)!important;color:#fff!important;border:1px solid rgba(255,255,255,.08)!important}
.btn-white{background:#fff!important;color:#101827!important;border:1px solid #dbe3ec!important}

/* Hero / footer carry the dark identity irrespective of light content theme. */
.page-hero,.home-hero,.closing-section,.date-monolith,.ops-board{position:relative;background:radial-gradient(circle at 84% 15%,rgba(33,212,255,.12),transparent 30%),radial-gradient(circle at 14% 85%,rgba(255,54,84,.12),transparent 31%),linear-gradient(145deg,#050b14,#09172a 58%,#06101f)!important;color:#fff!important}
.page-hero::before,.closing-section::before{content:"";position:absolute;inset:0;pointer-events:none;background-image:radial-gradient(circle at 1px 1px,rgba(255,255,255,.095) .6px,transparent .65px);background-size:20px 20px;opacity:.16}
.page-hero :is(h1,h2,h3,strong),.home-hero :is(h1,h2,h3,strong),.closing-section :is(h1,h2,h3,strong){color:#fff!important}.page-hero p,.home-hero p,.closing-section p{color:#aebdd1!important}
.page-hero-badge{background:rgba(255,255,255,.045)!important;border-color:rgba(255,255,255,.11)!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.04)!important}
.site-footer{background:radial-gradient(circle at 10% 0%,rgba(33,212,255,.06),transparent 30%),linear-gradient(180deg,#050b14,#03070d)!important;color:#fff!important;border-top:1px solid rgba(255,255,255,.08)!important}.site-footer :is(h4,.footer-brand){color:#fff!important}.site-footer a{color:#cad6e6!important}.site-footer a:hover{color:var(--v15-cyan)!important}

/* Form contrast — specifically fixes white-on-light regressions. */
html[data-theme="light"] body:not(.em-shell-page) :is(input,select,textarea),html[data-theme="light"] body.em-shell-page :is(input,select,textarea){background:#fff!important;color:#111827!important;border-color:#cfd9e5!important}
html[data-theme="light"] :is(input,textarea)::placeholder{color:#8492a6!important}
html[data-theme="light"] :is(label,.field label){color:#40516a!important}
html[data-theme="dark"] :is(input,select,textarea){background:rgba(5,13,25,.62)!important;color:#eff6ff!important;border-color:rgba(255,255,255,.12)!important}
:is(input,select,textarea):focus{outline:none!important;border-color:rgba(33,212,255,.62)!important;box-shadow:0 0 0 3px rgba(33,212,255,.10)!important}

/* High-contrast status and tags */
.status-pill,.content-card .tag,.full-access-badge{border:1px solid var(--line,var(--border))!important}.eyebrow,.page-badge-kicker{color:var(--v15-red)!important}.module-line{background:linear-gradient(90deg,var(--v15-red),var(--v15-cyan))!important}

/* Motion */
@media(prefers-reduced-motion:no-preference){.v15-reveal{opacity:0;transform:translateY(14px);transition:opacity .55s var(--v15-ease),transform .55s var(--v15-ease)}.v15-reveal.v15-visible{opacity:1;transform:none}}
@media(max-width:980px){.site-header .header-inner{gap:12px!important}.site-header .header-actions{gap:7px!important}}
@media(max-width:720px){.site-header{min-height:70px!important}.site-header .header-inner{height:70px!important}.section{padding-top:64px!important;padding-bottom:64px!important}}
@media(prefers-reduced-motion:reduce){*{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
