
html, body { width: 100%; max-width: 100%; }
body { overflow-wrap: break-word; }
main { width: 100%; min-width: 0; display: block; }
img, svg, video { max-width: 100%; }
img { height: auto; }
.navigation-wrapper, .footer-wrapper, [class*="logo-wrapper"] { display: contents; }
.navigation-navlink1, .navigation-navlink2, .navigation-navlink3, .navigation-navlink4,
.navigation-navlink5, .navigation-navlink6, .navigation-navlink7, .navigation-navlink8, .navigation-navlink9,
.footer-navlink2, .footer-navlink3, .footer-navlink4, .footer-navlink5 { display: contents; }
.navigation-hamburger, .navigation-close { cursor: pointer; }
.navigation-hamburger:focus-visible, .navigation-close:focus-visible,
a:focus-visible, button:focus-visible { outline: 2px solid var(--color-accent); outline-offset: 4px; }
body.menu-open { overflow: hidden; }
.skip-link { position: fixed; left: 1rem; top: 1rem; z-index: 2000; padding: .65rem 1rem; background: var(--color-primary); color: #fff; transform: translateY(-200%); transition: transform .2s ease; border-radius: .35rem; }
.skip-link:focus { transform: translateY(0); }
.footer-rail { min-width: 0; }
.footer-brand-zone, .footer-nav-zone { min-width: 0; }
.footer-company-details { overflow-wrap: anywhere; }
.legal-main { padding: clamp(2.5rem, 7vw, 5rem) clamp(1rem, 4vw, 2rem); background: var(--color-surface); color: var(--color-on-surface); }
.legal-content { width: min(100%, 860px); margin: 0 auto; display: flex; flex-direction: column; gap: 1rem; }
.legal-content h1 { font-family: var(--font-family-heading); font-size: clamp(2.3rem, 7vw, 4rem); line-height: 1.08; margin: 0 0 .5rem; }
.legal-content h2 { font-family: var(--font-family-heading); font-size: clamp(1.5rem, 4vw, 2rem); line-height: 1.2; margin: 1.35rem 0 .15rem; }
.legal-content h3 { font-family: var(--font-family-heading); font-size: clamp(1.15rem, 3vw, 1.4rem); margin: .9rem 0 0; }
.legal-content p, .legal-content li { color: var(--color-on-surface-secondary); line-height: 1.75; }
.legal-content ul { padding-left: 1.25rem; display: grid; gap: .45rem; }
.legal-meta { font-size: .92rem; color: var(--color-on-surface-secondary); }
.legal-contact { margin-top: 1rem; padding: 1.25rem; background: var(--color-surface-tint); border-radius: var(--border-radius-card); }
.not-found-container3 { max-width: calc(100vw - 2rem); }
@media (max-width: 767px) {
  .navigation-mobile-overlay { padding-left: clamp(1rem, 6vw, 2rem); padding-right: clamp(1rem, 6vw, 2rem); }
  .navigation-overlay-header { margin-bottom: 2rem; }
  .navigation-mobile-link { overflow-wrap: anywhere; }
  .footer-rail { gap: 2rem; }
  .footer-nav-zone { width: 100%; }
  .legal-main { padding-top: 2.25rem; }
}
@media (max-width: 360px) {
  .navigation-section-bar { padding-left: 1rem; padding-right: 1rem; }
  .navigation-section-brand { padding-left: .35rem; padding-right: .35rem; }
  .company-logo-name { font-size: .9rem; }
  .company-logo-tagline { font-size: .5rem; letter-spacing: .22em; }
  .btn { white-space: normal; width: 100%; }
  .spaces-gallery-item, .gallery-item, .gallery-tile { max-width: calc(100vw - 2rem); }
}

.navigation-hamburger svg { stroke: currentColor; }
.navigation-close svg { stroke: currentColor; }
@media (max-width: 767px) {
  main > *, main section, main article { min-width: 0; max-width: 100%; }
  [class*="-inner"], [class*="-container"], [class*="-grid"] { min-width: 0; }
  input, select, textarea { max-width: 100%; }
}
