/* Homepage: gateway header tweaks and the full site footer. */
#header3d-root .render-status,
#header3d-root .discipline-number,
#header3d-root .explore > span,
#header3d-root .discipline-tab > span { display: none; }
@media (min-width: 701px) { #header3d-root .kicker-rest::before { content: "\00a0·\00a0"; } }
#header3d-root .explore { border-bottom: 1px solid transparent; padding-bottom: 2px; width: fit-content; }
#header3d-root .discipline:hover .explore, #header3d-root .discipline:focus-visible .explore { border-bottom-color: currentColor; }
.home-static #header3d-root .scene-controls { display: none; }

/* Header light modes (Dani, 15/09): scrims and white labels over the brighter posters. */
#header3d-root .gateway:is([data-atmosphere^='day'], [data-atmosphere='dawn']) .discipline { text-shadow: 0 2px 20px #03071090; }
#header3d-root .gateway:is([data-atmosphere^='day'], [data-atmosphere='dawn']) .vignette {
  background: linear-gradient(180deg, #0307101f 0%, #03071038 24%, #03071094 37%, #03071094 64%, #03071038 85%, #03071026 100%);
}
#header3d-root .gateway:is([data-atmosphere^='day'], [data-atmosphere='dawn'], [data-atmosphere='dusk']) :is(.kicker, .explore) { color: #fff; text-shadow: 0 1px 3px #000c, 0 2px 12px #0009; }
#header3d-root .gateway[data-atmosphere='dusk'] .vignette {
  background: linear-gradient(180deg, #03071012 0%, #03071020 24%, #03071048 37%, #03071048 64%, #03071020 85%, #03071018 100%);
}

/* One screen: nav, the two scenes, and the footer, with the scenes taking the rest. */
body.theme-home { display: flex; flex-direction: column; min-height: 100svh; }
body.theme-home > .nav, body.theme-home > .home-footer { flex: 0 0 auto; }
#header3d-root { flex: 1 1 auto; display: flex; min-height: 0; }
#header3d-root .header3d-gateway { flex: 1 1 auto; height: auto; min-height: 260px; }
@media (max-width: 700px) {
  #header3d-root .header3d-gateway { height: auto; min-height: 260px; }
  body.theme-home .home-footer { flex-direction: row; flex-wrap: nowrap; align-items: center; justify-content: space-between; gap: 12px; padding: 6px 20px; }
  body.theme-home .home-footer-mail { font-size: 12px; min-height: 36px; }
  body.theme-home .home-footer-meta { flex-direction: row; align-items: center; gap: 0 12px; font-size: 12px; }
  body.theme-home .home-footer-meta > span { display: none; }
  body.theme-home .home-footer-meta nav { gap: 12px; }
  body.theme-home .home-footer-meta a { min-height: 36px; }
}
