*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; font: 400 16px/1.5 system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; }
img, svg { max-width: 100%; }
a { color: inherit; }
a:focus-visible, button:focus-visible, summary:focus-visible { outline: 3px solid #d68c52; outline-offset: 3px; }
.skip-link { position: absolute; top: -100px; left: 12px; z-index: 2000; padding: 10px 16px; background: #fff; color: #1d1a17; }
.skip-link:focus { top: 12px; }
.site-header .inside-header { width: min(1180px, calc(100% - 40px)); margin: auto; display: flex; align-items: center; justify-content: space-between; gap: 24px; }
.site-branding .main-title { margin: 0; }
.main-navigation .main-nav > ul { display: flex; align-items: center; margin: 0; padding: 0; list-style: none; }
.main-navigation li { position: relative; }
.main-navigation a { display: block; text-decoration: none; }
.main-navigation .menu-item-has-children > details > summary { display: inline-flex; align-items: center; min-height: 52px; margin: 0 3px; padding: 18px 15px; cursor: pointer; list-style: none; color: #1d1a17; font-size: 13px; font-weight: 800; line-height: 1; text-transform: uppercase; }
.main-navigation .menu-item-has-children > details > summary::-webkit-details-marker { display: none; }
.main-navigation .menu-item-has-children > details > summary::after { content: ""; flex: none; width: 7px; height: 7px; margin: -3px 0 0 8px; border-right: 1.5px solid currentColor; border-bottom: 1.5px solid currentColor; transform: rotate(45deg); }
.main-navigation ul ul { position: absolute; top: 100%; left: 0; z-index: 5; display: none; margin: 0; list-style: none; }
.main-navigation details[open] ul, .main-navigation .menu-item-has-children:hover ul, .main-navigation .menu-item-has-children:focus-within ul { display: block; }
.main-navigation .main-nav ul ul li a { color: #1d1a17; }
.mobile-navigation { display: none; }
.mb-site-footer .mb-wrap { width: min(1180px, calc(100% - 40px)); }
.mb-hero__media img { content-visibility: auto; }
.mb-map-fallback { display: grid; place-content: center; min-height: 360px; padding: 24px; text-align: center; }
.mb-map-fallback p { margin: 0 0 14px; }
.mb-page .mb-map { display: block; height: 450px; border: 0; }
.mb-page .mb-map__box { min-height: 450px; }
@media (max-width: 860px) {
  .site-header .inside-header { width: min(1180px, calc(100% - 28px)); }
  .main-navigation { display: none; }
  .mobile-navigation { display: block; margin-left: auto; }
  .mobile-navigation > details > summary { display: inline-flex; align-items: center; min-height: 48px; padding: 10px 16px; border: 1px solid #d0d2cc; border-radius: 4px; cursor: pointer; font-weight: 800; list-style: none; }
  .mobile-navigation > details > summary::-webkit-details-marker { display: none; }
  .mobile-navigation nav { position: fixed; top: 86px; left: 0; right: 0; max-height: calc(100vh - 86px); overflow: auto; padding: 14px; border-bottom: 1px solid #d0d2cc; background: #f6f4ef; box-shadow: 0 18px 36px #1d1a1726; }
  .mobile-navigation nav a { display: block; padding: 12px; text-decoration: none; font-weight: 700; }
  .mobile-navigation nav details { padding: 10px 12px; }
  .mobile-navigation nav details summary { cursor: pointer; font-weight: 800; }
  .mobile-navigation nav details a { padding-left: 18px; }
  .mb-page { padding-bottom: 72px; }
}
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } *, *::before, *::after { transition-duration: .01ms !important; animation-duration: .01ms !important; } }
