/* Mobile navigation only. Desktop navigation is deliberately untouched. */
@media (max-width:1099px) {
  body .site-header .header-inner { margin-inline: auto; }
  body .site-header .menu-toggle { display: grid; place-items: center; width: 44px; height: 44px; padding: 0; border: 1px solid #eadfd1; border-radius: 15px; background: #fcf6ec; color: #b62025; cursor: pointer; }
  body .site-header .menu-toggle::before,body .site-header .menu-toggle::after { display: none; }
  body .site-header .menu-toggle .sr-only { background: transparent; margin: -1px; }
  .menu-courtyard { width: 25px; height: 25px; overflow: visible; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
  .menu-staggered-lines { stroke-width: 3.2; }
  .menu-courtyard-tiles { transform-origin: center; transition: transform .22s ease,opacity .18s ease; }
  .menu-courtyard-close { opacity: 0; transform: rotate(-45deg); transform-origin: center; transition: transform .22s ease,opacity .18s ease; }
  .menu-toggle[aria-expanded="true"] .menu-courtyard-tiles { opacity: 0; transform: scale(.5) rotate(45deg); }
  .menu-toggle[aria-expanded="true"] .menu-courtyard-close { opacity: 1; transform: rotate(0); }
  body.mobile-menu-open { overflow: hidden; }
  body.mobile-menu-open .site-header { position: fixed; inset: 0 0 auto; height: 76px; z-index: 2147483647; background: #fcf6ec; border: 0; }
  body.mobile-menu-open .site-header .header-inner { height: 76px; }
  body.mobile-menu-open #nzoka-widget-root { visibility: hidden; }
  body .site-header .mobile-nav[hidden] { display: none; }
  body .site-header .mobile-nav:not([hidden]) { position: fixed; inset: 76px 0 0; height: calc(100dvh - 76px); display: flex; flex-direction: column; gap: 24px; padding: 12px 24px max(20px,env(safe-area-inset-bottom)); border: 0; background: #fcf6ec; box-shadow: none; overflow-y: auto; overscroll-behavior: contain; animation: mobileNavEnter .22s ease-out; }
  body .site-header .mobile-nav-links { flex: 0 0 auto; width: min(100%,680px); margin-inline: auto; }
  body .site-header .mobile-nav-links :is(a,button) { display: flex; align-items: center; min-height: 56px; padding: 10px 0; border: 0; border-bottom: 1px solid #eadfd1; background: transparent; color: #303336; font-family: 'Plus Jakarta Sans',sans-serif; font-size: clamp(25px,6.5vw,36px); font-weight: 700; line-height: 1.2; letter-spacing: -.045em; text-decoration: none; }
  body .site-header .mobile-nav-links [hidden] { display: none; }
  body .site-header .mobile-nav-links a[aria-current="page"] { color: #b62025; }
  body .site-header .mobile-nav-links a[aria-current="page"]::after { content: ''; width: 8px; height: 8px; border-radius: 50%; background: currentColor; margin-left: auto; margin-right: 4px; }
  body .site-header .mobile-nav-links a:hover { color: #b62025; }
  body .site-header .mobile-nav-footer { position: relative; flex: 0 0 170px; width: min(100%,680px); margin: auto auto 0; padding: 22px; display: flex; align-items: flex-end; overflow: hidden; border-radius: 60px 14px 14px 14px; background: #eadfd1 url('/assets/hero/coastal-landscape-1280.webp') center 78% / cover no-repeat; }
  body .site-header .mobile-nav .mobile-nav-hosting { display: inline-flex; align-items: center; justify-content: space-between; gap: 28px; width: auto; min-height: 48px; padding: 12px 20px; border: 0; border-radius: 28px; background: #fff; color: #b62025; font-family: 'Plus Jakarta Sans',sans-serif; font-size: 14px; font-weight: 700; line-height: 1.3; text-decoration: none; }
  body .site-header .mobile-nav-hosting span { font-size: 21px; line-height: 1; }
  body .site-header :is(.menu-toggle,.mobile-nav a,.mobile-nav button):focus-visible { outline: 2px solid #b62025; outline-offset: 4px; }
  @keyframes mobileNavEnter { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: translateY(0); } }
}
@media (max-width:1099px) and (max-height:650px) {
  body .site-header .mobile-nav:not([hidden]) { padding: 6px 20px 14px; gap: 18px; }
  body .site-header .mobile-nav-links :is(a,button) { min-height: 44px; padding: 8px 0; font-size: 25px; }
  body .site-header .mobile-nav-footer { flex-basis: 118px; padding: 16px; border-top-left-radius: 44px; }
}
@media (prefers-reduced-motion:reduce) {
  .menu-courtyard-tiles,.menu-courtyard-close { transition: none; }
  body .site-header .mobile-nav:not([hidden]) { animation: none; }
}
