/* Integration fixes; original page styles remain in their own files. */
*, *::before, *::after { box-sizing: border-box; }
:where(body) { margin: 0; background: #05060a; color: #fff; font-family: 'Exo 2', sans-serif; }
a { color: inherit; }
:focus-visible { outline: 2px solid var(--hud-primary, #00e5ff); outline-offset: 5px; }
html { --hud-clearance: 110px; scroll-padding-bottom: var(--hud-clearance); }
:where(a, button, input, select, textarea, summary) { scroll-margin-bottom: var(--hud-clearance); }
picture { display: contents; }
:where(img[width][height]) { max-width: 100%; height: auto; }
.qh-nav-link { min-height: 44px; }
.qh-nav-link[aria-current] { color: #fff; border-color: var(--header-color); }
body.modal-open .qh-global-header-wrapper { visibility: hidden; }
.skip-link { position: fixed; left: 16px; top: -100px; z-index: 100001; background: #00e5ff; color: #05060a; padding: 12px; }
.skip-link:focus { top: 12px; }
.hud-bar { z-index: 60; }
body.modal-open .hud-bar { visibility: hidden; }
.modal-overlay { padding: 20px; overflow-y: auto; }
.modal-content { max-height: calc(100dvh - 40px); overflow-y: auto; margin: auto; }
.char-modal-content { max-height: calc(100dvh - 40px); overflow-y: auto; }
:where(button.nav-arrow, button.close-modal) { font: inherit; padding: 0; background: transparent; color: inherit; border: 0; }
.close-modal { min-width: 44px; min-height: 44px; cursor: pointer; }
.t-radio { display: block; position: absolute; opacity: 0; width: 1px; height: 1px; }
.t-radio:focus-visible + .t-radio-label { outline: 2px solid #00e5ff; outline-offset: 4px; }
.switch input { position: absolute; inset: 0; width: 100%; height: 100%; z-index: 1; cursor: pointer; }
.switch input:focus-visible + .slider-toggle { outline: 2px solid #00e5ff; outline-offset: 4px; }
.hud-soc-btn { min-width: 44px; min-height: 44px; }
.hud-link { min-height: 44px; }
.fu-time, .fu-title, .fu-copy, .fu-legal a { color: #a5b1bd; }
.recovery-page { position: relative; z-index: 5; width: min(1120px, calc(100% - 40px)); margin: 60px auto 80px; }
.recovery-eyebrow { color: var(--hud-primary, #00e5ff); font-family: 'Share Tech Mono', monospace; letter-spacing: 2px; margin: 0 0 16px; }
.recovery-page h1 { font-family: 'Russo One', 'Exo 2', sans-serif; font-size: clamp(30px, 5vw, 56px); line-height: 1.15; margin: 0 0 28px; }
.recovery-page p { font-size: 18px; color: #a5b1bd; line-height: 1.7; max-width: 700px; }
.recovery-layout { display: grid; grid-template-columns: 1fr 1fr; gap: 48px; align-items: center; }
.recovery-image { width: 100%; border-radius: 12px; }
.recovery-tags { display: flex; gap: 10px; flex-wrap: wrap; margin: 24px 0; }
.recovery-tags span { border: 1px solid #ffffff30; border-radius: 4px; padding: 8px 12px; font-size: 14px; }
.recovery-actions { display: flex; flex-wrap: wrap; gap: 12px; margin: 28px 0; }
.recovery-button { display: inline-flex; align-items: center; justify-content: center; min-height: 48px; padding: 12px 24px; border-radius: 6px; border: 1px solid var(--hud-primary, #00e5ff); color: #fff; text-decoration: none; background: #00e5ff0c; font-family: 'Exo 2', sans-serif; font-size: 16px; cursor: pointer; }
.recovery-button:hover { background: #00e5ff20; }
.contact-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; }
.contact-panel { padding: 32px; border: 1px solid #ffffff20; background: #0a0e14; border-radius: 12px; }
.contact-panel h2 { font-size: 22px; margin: 0 0 16px; }
.contact-phone { display: inline-flex; align-items: center; min-height: 48px; color: #fff; font-size: clamp(20px, 3vw, 30px); text-decoration: none; }
.booking-draft { margin-top: 20px; }
.booking-draft label { display: block; margin-bottom: 8px; }
.booking-draft textarea { width: 100%; padding: 14px; border: 1px solid #ffffff40; border-radius: 6px; background: #05060a; color: #fff; font: 16px/1.5 'Exo 2', sans-serif; resize: vertical; }
.booking-draft[hidden] { display: none; }
@media (max-width: 768px) {
  html { --hud-clearance: calc(82px + env(safe-area-inset-bottom)); }
  .recovery-page { margin-top: 36px; }
  .recovery-layout, .contact-grid { grid-template-columns: 1fr; gap: 28px; }
  .contact-panel { padding: 22px; }
  .hud-bar { gap: 8px; }
  .hud-right { gap: 10px; }
  .hud-socials { gap: 8px; }
  .hud-logo { font-size: 12px; }
  .hud-link .phone-text { display: none; }
  .hud-link .hud-icon { font-size: 16px; }
  .fu-contact-link { font-size: clamp(16px, 5vw, 22px); }
}
@media (max-width: 360px) {
  .hud-bar { padding-inline: 10px; }
  .hud-logo { font-size: 10px; letter-spacing: .5px; }
  .hud-right { gap: 8px; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto !important; }
  *, *::before, *::after { animation: none !important; transition: none !important; }
  .reveal { opacity: 1 !important; transform: none !important; }
}
