/* SEO/accessibility foundations. Existing visual theme is retained. */
.faq-section.scene { padding: 28px 0; overflow-y: auto; }
.faq-list { width: min(880px, 100%); margin: 0 auto; }
.faq-list details { background: rgba(3, 15, 24, .94); border: 1px solid var(--line); border-radius: 12px; padding: 16px 20px; margin: 10px 0; }
.faq-list summary { cursor: pointer; font-weight: 750; }
.faq-list p { line-height: 1.6; margin-bottom: 0; }
/* Without JavaScript, content must remain visible and normal anchor links work. */
html:not(.enhanced-scenes) body { overflow: auto; }
html:not(.enhanced-scenes) .scene-stage { height: auto; overflow: visible; perspective: none; }
html:not(.enhanced-scenes) .scene { position: relative; inset: auto; opacity: 1; transform: none !important; filter: none; pointer-events: auto; overflow: visible; }
html:not(.enhanced-scenes) .site-footer { display: flex; }
html:not(.enhanced-scenes) .scene-controls { display: none; }
html:not(.enhanced-scenes) .contact-section.scene { min-height: 0; }
@media (min-width: 1081px) and (prefers-reduced-motion: no-preference) { .scene.is-active { overflow-y: auto; overscroll-behavior: contain; } }

@media (max-width: 1080px) {
  .hero-section.scene { display: block; grid-template-columns: minmax(0, 1fr); }
  .command-panel { width: 100%; min-width: 0; max-width: 100%; }
  .scene { min-width: 0; }
  .service-list article, .booking-step { min-width: 0; overflow-wrap: anywhere; }
  .faq-section.scene { padding: 28px 0; }
}

.service-step label { position: relative; }
.service-step input[type="radio"] { width: 1px; height: 1px; padding: 0; }
.info-step select { min-width: 0; width: 100%; padding: 8px; color: var(--text); background: #10232f; border: 1px solid var(--line); }
[data-calendar-grid] { grid-template-columns: repeat(2, minmax(0, 1fr)); }
[data-calendar-grid] button { font-size: 12px; }
@media (max-width: 1080px) {
  .booking-section.scene .booking-console { display: grid; grid-template-columns: minmax(0, 1fr); }
  .services-video-backdrop { inset: 0; width: 100%; }
  .booking-section.scene .booking-step { width: 100%; max-height: none; }
}

html:not(.enhanced-scenes) .scene-stage::before, html:not(.enhanced-scenes) .scene-stage::after { display: none; }
@media (max-width: 1080px), (prefers-reduced-motion: reduce) {
  .scene-stage::before, .scene-stage::after { display: none; }
  html, body { overflow-x: clip; }
}

html:not(.enhanced-scenes) .booking-section.scene .booking-console { max-height: none; }
@media (max-width: 1080px), (prefers-reduced-motion: reduce) {
  .booking-section.scene .booking-console { max-height: none; height: auto; }
  .booking-section.scene .booking-step { max-height: none; }
}
