/* Small functional and responsive corrections; the original design tokens remain unchanged. */
.navigation-wrapper.site-header {
  position: sticky;
  top: 0;
  z-index: 1000;
  display: block;
  width: 100%;
}
.site-header .navigation-section { position: relative; }
.site-header .navigation-rail { gap: 1.5rem; }
.site-header .navigation-brand-area { max-width: 100%; }
.site-header .navigation-links-area { min-width: 0; }
.site-header .navigation-link-group { gap: clamp(.8rem, 1.6vw, 2rem); }
.navigation-hamburger,
.navigation-close {
  appearance: none;
  background: none;
  border: 0;
  padding: 0;
  flex-shrink: 0;
  cursor: pointer;
  min-width: 44px;
  min-height: 44px;
}
.navigation-hamburger svg,
.navigation-close svg { width: 24px; height: 24px; }
.navigation-dropdown button.navigation-link {
  appearance: none;
  background: transparent;
  padding: 0;
  border: 0;
  font: inherit;
  color: var(--color-on-surface);
  font-family: var(--font-family-body);
  font-size: var(--font-size-xs);
  font-weight: var(--font-weight-medium);
  letter-spacing: .15em;
  line-height: 1.6;
  cursor: pointer;
}
.navigation-dropdown button.navigation-link:hover,
.navigation-dropdown button.navigation-link[aria-expanded="true"] { color: var(--color-primary); }
.navigation-dropdown-panel { list-style: none; margin: 0; }
.navigation-dropdown-panel > li { list-style: none; width: 100%; }
.navigation-dropdown-panel > li > a { display: block; width: 100%; }
.navigation-dropdown:hover .navigation-dropdown-panel,
.navigation-dropdown:focus-within .navigation-dropdown-panel,
.navigation-dropdown.is-open .navigation-dropdown-panel { display: flex; flex-direction: column; }
.navigation-dropdown-panel a.navigation-dropdown-item:hover,
.navigation-dropdown-panel a.navigation-dropdown-item:focus-visible { background: var(--color-surface-tint); }
.navigation-mobile-link { display: block; width: fit-content; max-width: 100%; }
.navigation-mobile-overlay { box-sizing: border-box; width: 100vw; max-width: 100%; height: 100dvh; overscroll-behavior: contain; }
.navigation-overlay-header { flex-shrink: 0; }
body.site-menu-open { overflow: hidden; }
.site-skip-link {
  position: fixed;
  top: .25rem;
  left: .5rem;
  z-index: 2000;
  padding: .65rem 1rem;
  color: var(--color-on-primary);
  background: var(--color-primary);
  transform: translateY(-200%);
  border-radius: var(--border-radius-sm);
}
.site-skip-link:focus { transform: translateY(0); }
#main-content:focus { outline: none; }
#about-us, #spa-relaxation, #facilities, #bathing-experiences, #main-content,
#contact-hero, #enquiry-form-section, #company-details-section, #privacy-data-use,
#contact-privacy, #getting-here-panel { scroll-margin-top: 6rem; }
.navigation-link, .navigation-dropdown-item, .navigation-mobile-link,
.liqua-footer-nav-link, .liqua-footer-legal-link { cursor: pointer; }
.liqua-footer-contact-item { cursor: default; }
.liqua-footer-legal-links { flex-wrap: wrap; justify-content: flex-start; }
.liqua-footer-contact-item [data-address] { overflow-wrap: anywhere; }
.site-form-hint { opacity: .72; font-size: .75rem; line-height: 1.5; margin: .6rem 0 0; }
.site-form-status { margin: .75rem 0 0; font-size: .85rem; line-height: 1.55; max-width: 45ch; }
.enquiry-input-custom, .enquiry-textarea-custom, .enquiry-select-custom,
.form-input, .form-select, .form-textarea { max-width: 100%; min-width: 0; }
main img { max-width: 100%; height: auto; }
main picture { max-width: 100%; }
main { display: block; min-width: 0; }
a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible {
  outline: 3px solid var(--color-accent);
  outline-offset: 3px;
}
@media (max-width: 1050px) {
  .navigation-links-area, .navigation-action-area .navigation-cta { display: none; }
  .navigation-hamburger { display: flex; }
  .navigation-section.is-open .navigation-mobile-overlay { display: flex; }
}
@media (max-width: 767px) {
  .navigation-rail { padding: var(--spacing-sm) var(--spacing-lg); }
  .navigation-overlay-header, .navigation-overlay-content { padding-left: var(--spacing-lg); padding-right: var(--spacing-lg); }
  .navigation-mobile-links { gap: clamp(1.1rem, 5vw, 1.7rem); }
  .navigation-mobile-link { font-size: clamp(1.4rem, 7vw, 1.85rem); line-height: 1.25; }
  .site-header .ivoranessa-logo-name { font-size: clamp(.95rem, 4.1vw, 1.2rem); }
  .liqua-footer-legal-links { gap: .7rem 1.25rem; }
  .iv-narrative a, .privacy-policy-btn, .privacy-summary-action-wrap a,
  .iv-narrative-cta, .story-cta-btn, .privacy-summary-policy-link,
  .homepage-btn, .contact-btn, .btn { max-width: 100%; min-width: 0; box-sizing: border-box; }
  .iv-narrative-cta, .privacy-summary-policy-link, .story-cta-btn,
  .privacy-policy-btn, .homepage-btn, .contact-btn, .btn { white-space: normal; overflow-wrap: anywhere; }
  .iv-narrative-cta *, .privacy-summary-policy-link *, .story-cta-btn * { white-space: normal; overflow-wrap: anywhere; }
  .privacy-summary-action-wrap, .story-cta-row, .privacy-contact-action-row { max-width: 100%; min-width: 0; }
  .privacy-summary-action-wrap a, .story-cta-row a { display: block; width: 100%; max-width: 100%; }
  .liqua-footer-newsletter-field { min-width: 0; max-width: 100%; }
  .liqua-footer-submit { padding-inline: .9rem; }
  .iv-hero-tile, .contact-hero-tile, .poster-tile-lead { min-width: 0; }
}
@media (max-width: 375px) {
  .navigation-rail, .navigation-overlay-header, .navigation-overlay-content { padding-left: .95rem; padding-right: .95rem; }
  .iv-hero-tile, .iv-narrative-card, .contact-hero-tile { padding-left: 1rem; padding-right: 1rem; }
  .liqua-footer-legal-links { justify-content: flex-start; }
  main a .btn, main a .homepage-btn, main a .contact-btn { max-width: 100%; }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; transition-duration: .01ms !important; }
}
.company-details-channel-row, .company-details-channel-info,
.company-details-active-link, .company-details-active-link span { min-width: 0; max-width: 100%; overflow-wrap: anywhere; }
.privacy-policy-btn, .privacy-policy-btn span {
  max-width: 100%; min-width: 0; box-sizing: border-box;
  white-space: normal; overflow-wrap: anywhere;
}
.poster-cta-wrapper, .story-action-wrapper { min-width: 0; max-width: 100%; }
.poster-cta-wrapper > a, .story-action-wrapper > a { display: inline-block; max-width: 100%; }
.navigation-dropdown-panel::before { pointer-events: none; }
