/* Mobile corrections only. Navigation and audio retain their existing rules. */
@media (max-width: 768px), (max-width: 960px) and (max-height: 540px) {
  #hero.section, #about.section {
    min-height: var(--nh-showcase-height, 100svh) !important;
    height: auto;
    padding: 100px 6vw 112px !important;
    margin-top: 0 !important;
    overflow: visible;
  }
  #horizontal-section, #horizontal-wrapper, #horizontal-wrapper .slide,
  #horizontal-section .panorama-mask, #museum-section {
    height: var(--nh-showcase-height, 100svh) !important;
  }
  #horizontal-section { margin-top: 0 !important; }
  #horizontal-wrapper .slide { padding: 96px 6vw 132px !important; }
  #horizontal-wrapper .content-grid { width: 100%; max-width: 100%; min-width: 0; }
  #horizontal-wrapper .content-col { grid-column: 1 !important; min-width: 0; }
  #horizontal-wrapper h2 { overflow-wrap: anywhere; }
  #slider-prog { bottom: 100px !important; font-size: .85rem; }
  #museum-section { padding-top: 110px !important; }
  #museum-title-container { top: 100px; padding-inline: 20px; max-width: 100%; }
  #museum-title-container h2 { font-size: clamp(1.8rem, 8vw, 3.2rem); }
  .vignette { opacity: .45; }
  #holo-text-panel {
    max-height: calc(var(--nh-showcase-height, 100svh) - 180px);
    overflow-y: auto;
    overscroll-behavior: contain;
    bottom: calc(80px + env(safe-area-inset-bottom, 0px)) !important;
    padding: 52px 20px 20px !important;
    left: 4vw !important; right: 4vw !important; width: auto !important;
  }
  #holo-close { position: absolute; top: 8px; right: 8px; }
  #contact-card {
    max-height: calc(var(--nh-showcase-height, 100svh) - 180px);
    overflow-y: auto;
    overscroll-behavior: contain;
    padding: 1.4rem !important;
  }
  #contact-card .card-title { font-size: clamp(1.6rem, 7vw, 2.2rem); }
  #contact-card .hairline { margin: 1rem 0; }
  #main-footer { margin-top: 0; padding: 72px 6vw 100px; }
  #main-footer .footer-content { grid-template-columns: minmax(0, 1fr); gap: 32px; margin-bottom: 40px; }
  #main-footer a { overflow-wrap: anywhere; }
  #dome-hud .hud-top { padding: 90px 20px 0; font-size: .7rem; line-height: 1.5; letter-spacing: .1em; }
  #dome-hud #btn-continue { position: absolute; bottom: calc(80px + env(safe-area-inset-bottom, 0px)); margin: 0; max-width: calc(100% - 32px); }
  #dome-hud .nh-dome-information {
    position: absolute; bottom: calc(140px + env(safe-area-inset-bottom, 0px));
    left: 16px; right: 16px; border: 1px solid rgba(230,168,215,.35);
    border-radius: 12px; background: rgba(4,6,14,.88); color: white;
    max-height: calc(var(--nh-showcase-height, 100svh) - 270px);
    overflow-y: auto; overscroll-behavior: contain; pointer-events: auto; padding-top: 12px;
  }
  #dome-hud .nh-dome-information .marker {
    position: relative !important; top: auto; left: auto;
    transform: none !important; opacity: 1 !important; pointer-events: auto;
  }
  #dome-hud .nh-dome-information .marker-line,
  #dome-hud .nh-dome-information .marker-dot { display: none; }
  #dome-hud .nh-dome-information .marker-text {
    position: static !important; width: auto; margin: 0 12px 12px;
    padding: 12px; text-align: left; border: 0; border-top: 1px solid rgba(255,255,255,.14);
    border-radius: 0; background: transparent; box-shadow: none; backdrop-filter: none;
    -webkit-backdrop-filter: none;
  }
  #dome-hud #btn-toggle-gaming { min-width: 0; width: 100%; }
}
body.nh-showcase-footer-visible #contact-card,
body.nh-showcase-footer-visible #cyber-hud,
body.nh-showcase-footer-visible #dome-hud,
body.nh-showcase-footer-visible #holo-text-panel {
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
}
@media (max-width: 768px) and (max-height: 620px), (max-width: 960px) and (max-height: 540px) {
  #horizontal-wrapper .slide { padding-top: 72px !important; padding-bottom: 92px !important; }
  #horizontal-wrapper .hairline { margin-block: 0.65rem; }
  #horizontal-wrapper p { font-size: .86rem; line-height: 1.45; }
  #horizontal-wrapper h2 { font-size: clamp(1.75rem, 5vw, 2.2rem); margin-bottom: 0.45rem; }
  #slider-prog { bottom: 68px !important; font-size: .75rem; }
  #contact-card { max-height: calc(var(--nh-showcase-height, 100svh) - 132px); }
  #dome-hud .hud-top { padding-top: 70px; }
}

@media (max-width: 768px), (max-width: 960px) and (max-height: 540px) {
  #dome-hud #btn-continue { left: 50%; transform: translateX(-50%); white-space: nowrap; }
}
