/* Shared usability rules, loaded after the exported page styles. */
html { scroll-behavior: auto !important; scroll-padding-top: 88px; }
body { overflow-x: clip; }
body.booking-page .hero.booking-hero::before { inset-inline: 0 !important; width: auto !important; }
body.booking-page .hero.booking-hero::after { left: auto !important; right: 0 !important; }
[hidden] { display: none !important; }
:where(a,button,input,select,textarea,[tabindex]):focus-visible {
  outline: 3px solid #8ce9ff !important; outline-offset: 4px;
}
.skip-link { position: fixed; top: 10px; left: 16px; z-index: 2147483647;
  padding: 12px 20px; background: #eaf6ff; color: #06111e; transform: translateY(-180%); }
.skip-link:focus { transform: none; }
#typewriter::after { display: none !important; }
.hero .hero-title { overflow-wrap: normal; word-break: normal; }
.hero .hero-text, .hero .hero-content > p { color: #eef5ff !important; text-shadow: 0 2px 8px #030914; }
.hero .vignette { pointer-events: none !important; background: linear-gradient(90deg,rgba(3,9,20,.78),rgba(3,9,20,.32)) !important; }
canvas[aria-hidden="true"], .vignette { pointer-events: none !important; }
.scroll-fx { opacity: 1 !important; visibility: visible !important; }
.corner-clock { pointer-events: none; }
.corner-clock a, .corner-clock button, .corner-clock #a11yPanel { pointer-events: auto; }
.corner-clock .cc-card { max-width: min(310px, 85vw); }
.corner-clock .cc-val { font-size: 1.35rem !important; }
.corner-clock .logo__img { max-width: 48px; }
.footer .logo img, .corner-clock .logo img { height: auto; object-fit: contain; }
#a11yPanel { z-index: 2147483646 !important; }
#a11yBackdrop { z-index: 2147483645 !important; }
section.scn { scroll-snap-align: none !important; scroll-snap-stop: normal !important; }
.site-breadcrumbs { font: 400 .875rem/1.5 Inter, sans-serif; padding: 1rem 1.5rem; color: #b9cbe0; }
.site-breadcrumbs a { color: #8ce9ff; }
@media (max-width: 900px) {
  body { padding-left: 0 !important; padding-right: 0 !important; }
  .header-mobile { z-index: 2147483000 !important; }
  .header-mobile .navbar-mobile { background: #07111f !important; max-height: calc(100dvh - 85px); overscroll-behavior: contain; }
  .header-mobile .navbar-mobile a { display: block; padding: 12px 16px; min-height: 44px; }
  .header-mobile .nav-toggle-btn, .header-mobile .header-cta { min-width: 44px; min-height: 44px; }
  #features.dots3d-wrap > .container, .hero > .container { width: 100% !important; max-width: 100% !important; padding-inline: 0 !important; }
  .hero { width: 100% !important; margin-inline: 0 !important; padding: 32px 20px !important; }
  .hero::before { inset-inline: 0 !important; width: auto !important; }
  .hero::after { left: auto !important; right: 0 !important; }
  #features:not(.dots3d-wrap) > .container:has(> .hero) {
    width: 100% !important; max-width: 100% !important; padding: 100px 20px 24px !important;
  }
  #features:not(.dots3d-wrap) > .container > .hero { padding: 24px 0 !important; }
  .hero .hero-content { width: 100% !important; max-width: 100% !important; padding: 0 !important; }
  .hero .hero-title { font-size: clamp(1.75rem,7.5vw,3.3rem) !important; line-height: 1.15 !important; letter-spacing: .035em !important; }
  .hero .hero-text, .hero .hero-content > p { font-size: 1rem !important; line-height: 1.7 !important; }
  .hero .rvh, #features-fixed-layer { opacity: .28 !important; }
  .hero-actions { flex-wrap: wrap !important; gap: 14px !important; }
  .section-head { flex-wrap: wrap !important; align-items: flex-start !important; }
  .section-head > div { min-width: 0; flex: 1 1 100%; }
  .section-head .btn { max-width: 100%; white-space: normal !important; }
  .diapo-shell, .diapo-head, .diapo-grid, .diapo-left, .diapo-right {
    min-width: 0 !important; max-width: 100% !important; overflow-wrap: anywhere;
  }
  .diapo-grid { grid-template-columns: minmax(0,1fr) !important; }
  .hero strong { overflow-wrap: anywhere; }
  .how-grid { grid-template-columns: repeat(2,minmax(0,1fr)) !important; }
  .hero-actions .btn { min-height: 48px; white-space: normal; }
  .corner-clock .cc-card { display: none !important; }
  #ccTopBtn { position: fixed !important; right: 16px !important; bottom: 16px !important; width: 44px !important; height: 44px !important; }
  #textDock { display: none !important; }
  #scnScope section.scn { min-height: auto !important; height: auto !important; padding: 36px 20px !important; contain: none !important; }
  #scnScope section.scn > .content { display: block !important; visibility: visible !important; opacity: 1 !important;
    position: relative !important; inset: auto !important; transform: none !important; width: auto !important;
    max-width: 100% !important; clip-path: none !important; padding: 22px !important;
    background: rgba(5,12,24,.92); border: 1px solid #263c50; border-radius: 12px; }
  #scnScope .content [data-animate] { opacity: 1 !important; transform: none !important; }
  #scnScope .content p, #scnScope .content li { font-size: 1rem; line-height: 1.7; }
  #scnScope .content h2 { font-size: 1.7rem; line-height: 1.25; }
  .hero-menu-panel { max-width: calc(100vw - 32px) !important; max-height: 65dvh !important; overflow: auto !important; }
  input, select, textarea { font-size: max(16px, 1em); max-width: 100%; }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important;
    transition-duration: .01ms !important; scroll-behavior: auto !important; }
  canvas[aria-hidden="true"], #features-fixed-layer { display: none !important; }
  .scroll-fx, [data-animate] { opacity: 1 !important; transform: none !important; }
}
@media (max-width: 480px) {
  .how-grid { grid-template-columns: minmax(0,1fr) !important; }
}
