/* Narrow, non-invasive layout and accessibility corrections. */
@supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))) {
  .navigation-bar { background: var(--color-scrim); }
}
:where(img,picture,video,canvas) { min-width: 0; max-width: 100%; }
:where(h1,h2,h3,h4,h5,h6,p) { overflow-wrap: break-word; }
:where(main,section,article) { min-width: 0; }
html { scroll-padding-top: 6rem; }
body { min-width: 0; }
.site-skip-link {position:fixed;top:-100px;left:8px;z-index:5000;padding:10px 16px;background:var(--color-primary);color:white;border-radius:0 0 6px 6px;text-decoration:none;font:600 14px/1.3 system-ui,sans-serif;}
.site-skip-link:focus {top:0;}
.navigation-hamburger,.navigation-close {border:0;line-height:0;}
.navigation-cta {display:inline-flex;align-items:center;justify-content:center;text-decoration:none;transition:background-color .2s ease,transform .2s ease;}
.navigation-cta:hover {background:var(--color-secondary);transform:translateY(-1px);}
.navigation-cta:focus-visible,.navigation-close:focus-visible,.navigation-hamburger:focus-visible {outline:2px solid var(--color-accent);outline-offset:3px;}
.navigation-close {min-width:44px;min-height:44px;display:flex;align-items:center;justify-content:center;}
.navigation-hamburger {min-width:44px;min-height:44px;}
.navigation-mobile-overlay {overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;}
.navigation-mobile-overlay[aria-hidden="true"] {display:none!important;}
.navigation-overlay-content {min-height:0;}
.navigation-mobile-link {display:block;overflow-wrap:anywhere;}
.site-menu-open {overflow:hidden;}
.ivoral-footer-legal-text [data-address] {overflow-wrap:anywhere;}
.ivoral-footer-links {flex-wrap:wrap;row-gap:.6rem;}
.ivoral-footer-links a:hover .ivoral-footer-link {color:#fff;text-decoration:underline;text-underline-offset:.3em;}
.ivoral-footer-links a:focus-visible {outline:2px solid var(--color-accent);outline-offset:4px;}
.iq-atmosphere-details .iq-detail-val {overflow-wrap:anywhere;}
@media (max-width: 991px) {
  .navigation-bar {min-width:0;}
  .navigation-brand-wrapper {min-width:0;}
}
@media (min-width:768px) and (max-width:1020px) {
  .navigation-group {gap:clamp(.55rem,1.6vw,1.5rem);}
  .navigation-brand-wrapper {padding-inline:clamp(.2rem,1.5vw,2rem);}
  .navigation-link,.navigation-cta {font-size:.8rem;}
}
@media (max-width:767px) {
  .navigation-bar {grid-template-columns:minmax(0,1fr) auto;}
  .navigation-brand-wrapper {justify-content:flex-start;padding:0;}
  .navigation-hamburger {justify-self:end;position:relative;z-index:1;}
  .navigation-overlay-header {gap:.5rem;}
  .navigation-overlay-header .navigation-logo-link {min-width:0;}
  .navigation-overlay-header .company-logo-wordmark {min-width:0;}
  .navigation-overlay-content {padding-bottom:calc(var(--spacing-xl) + env(safe-area-inset-bottom));}
  .navigation-mobile-overlay {padding:var(--spacing-lg);}
  .ivoral-footer-utility {min-width:0;}
}
@media (max-width:360px) {
  .navigation-section {padding:.5rem .6rem;}
  .navigation-bar {padding:.25rem .55rem;}
  .navigation-logo-link {height:auto;}
  .company-logo-name {font-size:clamp(.72rem,3.5vw,.95rem);}
  .company-logo-tagline {font-size:.5rem;letter-spacing:.12em;}
  .company-logo-glyph {max-height:29px;}
  .navigation-mobile-overlay {padding:1rem;}
  .navigation-mobile-link {font-size:clamp(1.45rem,7vw,1.8rem);}
  .iq-hero-headline,.about-hero-headline {font-size:clamp(2rem,9vw,2.55rem);}
  .menu-intro-title,.patisserie-hero-title {font-size:clamp(2rem,9vw,2.65rem);}
}
@media (prefers-reduced-motion:reduce) {
  html {scroll-behavior:auto;}
  .navigation-cta,.navigation-link {transition:none;}
}

/* Opaque dark navigation maintains readable white links over pale sections. */
.navigation-bar { background:rgba(28,25,23,.87); }
/* Tablet breakpoint: keep all navigation on one row instead of wrapping the last link. */
@media (min-width:768px) and (max-width:900px) {
  .navigation-section {padding:var(--spacing-sm) var(--spacing-lg);}
  .navigation-bar {grid-template-columns:minmax(0,1fr) auto;padding:var(--spacing-xs) var(--spacing-lg);}
  .navigation-group-left,.navigation-group-right {display:none;}
  .navigation-brand-wrapper {padding:0;justify-content:flex-start;}
  .navigation-hamburger {display:flex;align-items:center;justify-content:center;justify-self:end;}
  .navigation-mobile-overlay.is-open {display:flex;}
}
