@media (max-width: 700px) {
  .header.mobile-menu-open {
    background: #fff;
    color: #242a2c;
    border-bottom-color: transparent;
  }
  .header.mobile-menu-open .brand-teal { opacity: 1; }
  .header.mobile-menu-open .brand-white { opacity: 0; }
  .header.mobile-menu-open .icon-btn { color: #343a3c; }
  .header.mobile-menu-open .icon-btn:hover { background: #f4f4f3; }
  .header.mobile-menu-open :focus-visible { outline-color: #737d80; }
  .header .mobile-nav {
    width: 100%;
    height: calc(100vh - 58px);
    height: calc(100dvh - 58px);
    max-height: none;
    padding: 0;
    top: 58px;
    right: 0;
    left: 0;
    display: block;
    overflow: hidden;
    background: #fff;
    color: #242a2c;
    border: 0;
    border-radius: 0;
    box-shadow: none;
  }
  .header .mobile-nav.animated-panel {
    transform: none;
    transition: opacity .22s ease, visibility 0s .22s;
  }
  .header .mobile-nav.is-open { transition-delay: 0s; }
  .mobile-nav-scroll {
    width: 100%;
    max-width: 640px;
    height: 100%;
    margin-inline: auto;
    padding: 32px 28px max(26px, env(safe-area-inset-bottom));
    overflow-y: auto;
    overscroll-behavior: contain;
    -webkit-overflow-scrolling: touch;
  }
  .mobile-nav-view {
    display: flex;
    flex-direction: column;
    min-height: 100%;
    animation: mobile-nav-enter .22s ease-out both;
  }
  .mobile-nav-primary { display: grid; gap: 6px; }
  .mobile-nav-main-link,
  .mobile-nav-section-link {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    width: 100%;
    padding: 12px 0;
    background: transparent;
    border: 0;
    border-radius: 0;
    color: inherit;
    text-align: left;
    font: inherit;
    font-size: 34px;
    font-weight: 500;
    line-height: 1.2;
    letter-spacing: -.035em;
  }
  .mobile-nav-main-link { min-height: 64px; }
  .mobile-nav-main-link[data-current="true"],
  .mobile-nav-main-link[aria-current="page"],
  .mobile-nav-section-link[aria-current="page"] { font-weight: 650; }
  .mobile-nav-main-link svg,
  .mobile-nav-section-link svg { flex-shrink: 0; color: #899092; }
  .mobile-nav-main-link:hover,
  .mobile-nav-section-link:hover { color: #687173; }
  .mobile-nav-back {
    display: inline-flex;
    align-items: center;
    align-self: flex-start;
    gap: 7px;
    min-height: 44px;
    margin: -12px 0 26px -5px;
    padding: 0 5px;
    color: #6d7577;
    background: transparent;
    border: 0;
    font: inherit;
    font-size: 14px;
  }
  .mobile-nav-back svg { width: 15px; height: 15px; }
  .mobile-nav-title {
    margin: 0;
    color: inherit;
    font-size: 36px;
    font-weight: 600;
    line-height: 1.15;
    letter-spacing: -.04em;
  }
  .mobile-nav-title:focus { outline: none; }
  .mobile-nav-description {
    max-width: 340px;
    margin: 14px 0 26px;
    color: #727a7c;
    font-size: 14px;
    line-height: 1.6;
  }
  .mobile-nav-section-links { display: grid; gap: 3px; }
  .mobile-nav-section-link { min-height: 52px; font-size: 27px; }
  .mobile-nav-footer { flex-shrink: 0; margin-top: auto; padding-top: 42px; }
  .mobile-nav-location {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 12px;
    min-height: 44px;
    padding-top: 16px;
    border-top: 1px solid #eceeed;
    color: #41494b;
    font-size: 15px;
  }
  .mobile-nav-location svg { width: 16px; height: 16px; color: #899092; }
  .mobile-nav-footer p { margin: 7px 0 20px; color: #7b8284; font-size: 12px; }
  .mobile-nav-inquiry {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    width: 100%;
    min-height: 48px;
    padding: 12px 16px;
    background: #f4f4f3;
    color: #41494b;
    border: 1px solid #eeefed;
    border-radius: 8px;
    font: inherit;
    font-size: 14px;
    font-weight: 500;
  }
  .mobile-nav-inquiry:hover { background: #eaecea; }
  .mobile-nav-inquiry svg { width: 16px; height: 16px; }
}
@keyframes mobile-nav-enter {
  from { opacity: 0; transform: translateX(10px); }
  to { opacity: 1; transform: translateX(0); }
}
@media (max-width: 350px) {
  .mobile-nav-scroll { padding-inline: 24px; }
  .mobile-nav-main-link { font-size: 32px; }
  .mobile-nav-section-link { font-size: 24px; }
}
@media (prefers-reduced-motion: reduce) {
  .mobile-nav-view { animation: none; }
}
:root[data-reduce-motion="true"] .mobile-nav-view { animation: none; }
