/* Space 93: midnight foundation, lapis learning, cyan connection. */
:root {
  --void:#071426; --void-soft:#0c1d35; --lapis-deep:#102d54;
  --lapis:#2864df; --lapis-light:#8dbaff;
  --bone:#edf4ff; --bone-soft:#d0def0; --silver:#abbdd5;
  --ink:#10233f; --pyrite:#d7b97c; --signal:#74e0eb;
  --line-dark:rgba(178,208,247,.2); --line-light:rgba(16,35,63,.17);
}
body { background:var(--void); overflow-x:clip; }
.dark-section { background:linear-gradient(135deg,#0a1b33,var(--void) 72%); }
.paper-section { background:#e7effb; }
.site-header,.site-header.is-scrolled { background:rgba(7,20,38,.93); border-color:rgba(141,186,255,.27); }
.primary-nav { background-color:transparent; }
.hero { background:radial-gradient(ellipse at 76% 35%,rgba(40,100,223,.42),transparent 55%),var(--void); }
.hero::before { background:linear-gradient(90deg,rgba(7,20,38,.96),rgba(7,20,38,.8) 42%,rgba(7,20,38,.08) 78%),url('../../assets/images/space93-hero-960.webp') center right/cover no-repeat; opacity:.48; }
.hero::after { background:linear-gradient(180deg,rgba(7,20,38,.08),rgba(7,20,38,.04) 65%,var(--void)); }
.hero-map { filter:drop-shadow(0 0 60px rgba(116,224,235,.22)); }
.eyebrow,.team-jump,.team-header [aria-current],.team-member h3 span { color:var(--signal); }
.eyebrow--dark { color:#2052ab; }
.button--lapis { color:var(--bone); background:var(--lapis); box-shadow:0 10px 38px rgba(40,100,223,.22); }
.button--lapis:hover { background:#2459c9; }
.header-action { background:#dceaff; color:var(--void); }
.atlas { background:radial-gradient(ellipse at 30% 48%,rgba(40,100,223,.26),transparent 65%),var(--void); }
.atlas-node:hover::before,.atlas-node:focus-visible::before,.atlas-node.is-active::before { background:var(--signal); box-shadow:0 0 0 9px rgba(116,224,235,.12),0 0 32px rgba(116,224,235,.65); }
.partnership { background:linear-gradient(125deg,#102d54,#091b33 75%); }
.contact { background:radial-gradient(ellipse at 10% 50%,rgba(40,100,223,.2),transparent 55%),var(--void); }
.contact-form { background:rgba(16,45,84,.3); border-color:rgba(141,186,255,.25); }
.site-footer { background:#040c19; }
.media-kit-page { background:radial-gradient(ellipse at 85% 10%,rgba(40,100,223,.26),transparent 65%),var(--void); }
.media-kit-hero { border-left-color:var(--signal); }
.team-page { background:radial-gradient(ellipse at 95% 5%,rgba(40,100,223,.2),transparent 45%),var(--void); }
.team-intro h1 em,.team-outro em { color:var(--lapis-light); }
.team-orbit { border-color:rgba(116,224,235,.2); background:radial-gradient(circle,rgba(40,100,223,.23),transparent 70%); }
.team-orbit span { color:rgba(141,186,255,.24); }
.team-orbit i { background:var(--signal); box-shadow:0 0 20px rgba(116,224,235,.5); }
.team-header nav [aria-current] { box-shadow:inset 0 -1px var(--signal); }
.team-expertise li { border-color:rgba(141,186,255,.32); background:rgba(40,100,223,.1); }
.team-qualifications li { border-left-color:var(--signal); }
.team-member { scroll-margin-top:24px; }
.button,.header-action,.media-kit-page .btn { border-radius:4px; }
.site-footer nav a { min-height:44px; }
.contact-form label,.pathway div p,.site-footer nav h2 { font-size:.75rem; }
.pathway:focus-within { outline:2px solid var(--signal); outline-offset:6px; }
.team-header nav a:hover,.team-footer a:hover { color:var(--signal); }
.team-portrait { border-radius:6px; }
@media(hover:hover) and (pointer:fine) {
  .team-portrait img { transition:transform 450ms var(--ease); }
  .team-portrait:hover img { transform:scale(1.015); }
}

/* Chapters slide over the preceding sheet. Tall chapters remain fully scrollable. */
.chapter-stack > section { position:sticky; top:var(--chapter-top,0px); z-index:var(--chapter-layer,1); }
.chapter-stack > section + section { margin-top:-24px; border-radius:24px 24px 0 0; box-shadow:0 -14px 44px rgba(2,8,19,.3),0 -1px rgba(141,186,255,.22); }
.chapter-stack > section + section::after { pointer-events:none; }
.chapter-stack { isolation:isolate; }
.team-member + .team-member { border-top-color:rgba(141,186,255,.3); }

/* Native cross-document page turns; ordinary links still work without JS. */
@view-transition { navigation:auto; }
::view-transition-old(root) { animation:leaf-close 480ms cubic-bezier(.2,.7,.2,1) both; transform-origin:left center; }
::view-transition-new(root) { animation:leaf-open 480ms cubic-bezier(.2,.7,.2,1) both; transform-origin:right center; }
@keyframes leaf-close { to { opacity:0; transform:perspective(1600px) rotateY(-9deg) translateX(-7%) scale(.96); } }
@keyframes leaf-open { from { opacity:0; transform:perspective(1600px) rotateY(9deg) translateX(7%) scale(.96); } to { opacity:1; transform:none; } }
.page-turn-cover { position:fixed; inset:0; z-index:3000; pointer-events:none; background:linear-gradient(100deg,#071426,#173f77 65%,#74e0eb); transform:scaleX(0); transform-origin:left; transition:transform 320ms cubic-bezier(.2,.7,.2,1); }
.is-page-leaving .page-turn-cover { transform:scaleX(1); }
@media(max-width:980px) { .primary-nav { background:rgba(7,20,38,.98); } }
@media(max-width:760px) { .chapter-stack > section + section { margin-top:-14px; border-radius:18px 18px 0 0; } ::view-transition-old(root),::view-transition-new(root) { animation-duration:300ms; } }
@media(prefers-reduced-motion:reduce) {
  @view-transition { navigation:none; }
  ::view-transition-old(root),::view-transition-new(root) { animation:none; }
  .chapter-stack > section { position:relative; top:auto; }
  .chapter-stack > section + section { margin-top:0; }
  .page-turn-cover { display:none; }
}
