/* Last-layer control fixes shared by both versions, including the SOYGEN page. */
[hidden] { display:none !important; }
:root { --navigation-height:90px; }
html { scroll-padding-top:calc(var(--navigation-height) + 20px); }
a,button,summary { touch-action:manipulation; }
button { font-family:inherit; cursor:pointer; }
:where(a,button,summary,input,select,textarea):focus-visible { outline:3px solid #6699f4; outline-offset:4px; }
.btn,.ghost { display:inline-flex; align-items:center; justify-content:center; min-height:44px; max-width:100%; line-height:1.4; }
.btn { white-space:normal; text-align:left; }
.btn .action-icon { align-self:stretch; flex-shrink:0; min-height:44px; height:auto; }
.btn--sm { min-height:44px; }.btn--sm .action-icon { width:42px; min-height:42px; }
.btn:active,.ghost:active { transform:translateY(0); }
.btn:disabled { opacity:.55; cursor:wait; transform:none; }
.ghost .action-icon { flex:none; }
.nav__brand,.wordmark { flex-shrink:0; white-space:nowrap; }
.nav__brand { min-height:44px; }
.nav__links a:focus-visible,.header-nav a:focus-visible { outline-offset:-3px; }
.scene__actions .ghost:hover { background:#a8caff25; color:#fff; }
.story-card:focus-visible { border-color:#9ec5ff; outline-offset:-4px; }
.opportunities-editorial .role:target,.opportunities-editorial .role6:target { outline:2px solid #3974eb; outline-offset:5px; }
.contact-experience__form { min-width:0; }
.contact-experience .form__foot .btn,.contact-experience .form6__foot .btn { align-self:stretch; justify-content:space-between; }
.contact-experience .form__foot .btn:hover,.contact-experience .form6__foot .btn:hover { background:#214977; color:#fff; }
.contact-handoff { border-top:1px solid #7994b24a; padding-top:22px; margin-top:24px; font-size:14px; line-height:1.65; }
.contact-handoff__actions { display:flex; flex-wrap:wrap; gap:10px; margin-top:15px; }
.contact-handoff__actions a,.contact-handoff__actions button { display:inline-flex; align-items:center; min-height:44px; padding:10px 14px; background:#fff; color:#183b69; border:1px solid #7794b9; font-size:13px; }
.contact-handoff [data-copy-status] { margin-top:12px; }
.contact-handoff textarea { margin-top:12px; min-height:180px; }
@media(max-width:1000px) {
  html.navigation-open { overflow:hidden; }
  .nav.menu-open,body[data-layout="stage"] .nav.menu-open { background:#0a1424; }
  .nav.menu-open .nav__links { top:var(--navigation-height); max-height:calc(100dvh - var(--navigation-height)); overscroll-behavior:contain; padding-bottom:max(24px,env(safe-area-inset-bottom)); }
  .site-header.navigation-ready .header-inner { flex-wrap:nowrap; }
  .site-header.navigation-ready .header-nav { display:none; }
  .site-header.navigation-ready .nav-toggle { display:inline-flex; align-items:center; justify-content:center; width:44px; height:44px; margin-left:auto; background:transparent; color:#fff; border:1px solid #ffffff50; }
  .site-header .nav-toggle span { width:18px; height:1px; background:currentColor; position:relative; }
  .site-header .nav-toggle span::before,.site-header .nav-toggle span::after { content:""; position:absolute; left:0; width:18px; height:1px; background:currentColor; top:-6px; }
  .site-header .nav-toggle span::after { top:6px; }
  .site-header.menu-open .nav-toggle span { background:none; }
  .site-header.menu-open .nav-toggle span::before { top:0; transform:rotate(45deg); }
  .site-header.menu-open .nav-toggle span::after { top:0; transform:rotate(-45deg); }
  .site-header.menu-open .header-nav { display:flex; flex-direction:column; position:absolute; inset:100% 0 auto; background:#0a1424; padding:18px 24px 24px; max-height:calc(100dvh - 90px); overflow:auto; }
  .site-header.menu-open .header-nav a { padding:15px; min-height:44px; font-size:14px; }
}
@media(min-width:1001px) { .site-header .nav-toggle { display:none; } }
@media(max-width:600px) {
  :root { --navigation-height:74px; }
  .scene__actions .btn,.scene__actions .ghost { font-size:11px; }
  .signal-ticker__pause,.ambient-toggle { min-width:44px; }
  .signal-ticker__label { padding-inline:9px; }
  .contact-experience__form { padding:26px 20px; position:static; }
}
@media(max-width:360px) { .signal-ticker__label { display:none; } }
@media(prefers-reduced-motion:reduce) {
  html { scroll-behavior:auto; }
  *,*::before,*::after { animation:none !important; transition:none !important; }
}
