/* Canonical Beacon header layout: brand left, text navigation flush right, appointment CTA on its own lower row. */
@media (min-width: 901px) {
  .site-header { border-bottom: 0; }

  .nav-wrap.container {
    width: min(calc(100% - 28px), 1480px);
  }

  .nav-wrap {
    display: grid;
    grid-template-columns: minmax(205px, 255px) minmax(0, 1fr);
    grid-template-rows: auto auto;
    column-gap: 16px;
    row-gap: 0;
    align-items: center;
  }

  .brand {
    grid-column: 1;
    grid-row: 1;
    min-width: 0;
    padding: 10px 0 8px;
  }
  .brand img { flex: 0 0 auto; }
  .brand-text { min-width: 0; }

  .desktop-nav {
    grid-column: 2;
    grid-row: 1;
    display: grid;
    grid-auto-flow: column;
    grid-auto-columns: max-content;
    justify-content: end;
    justify-self: end;
    align-items: center;
    width: max-content;
    max-width: 100%;
    gap: clamp(12px, 1.35vw, 22px);
    min-width: 0;
    white-space: nowrap;
    border: 0;
    border-radius: 0;
    padding: 9px 0;
  }
  .desktop-nav a {
    display: block;
    min-width: max-content;
    text-decoration: none;
    font-weight: 750;
    font-size: .88rem;
    line-height: 1.2;
    white-space: nowrap !important;
    word-break: keep-all !important;
    overflow-wrap: normal !important;
  }
  .desktop-nav a:hover { color: var(--coral); }

  .nav-toggle { display: none; }
  .site-nav {
    grid-column: 1 / -1;
    grid-row: 2;
    display: flex;
    justify-content: flex-end;
    align-items: center;
    min-height: 46px;
    padding: 0 0 9px;
    border: 0 !important;
    box-shadow: none !important;
    background-image: none !important;
    gap: 0;
  }
  .site-nav::before,
  .site-nav::after { display: none !important; content: none !important; }
  .site-nav .mobile-only { display: none; }
  .site-nav .btn-small {
    margin-left: 0;
    min-height: 38px;
    padding: 7px 14px;
  }
}

@media (min-width: 901px) and (max-width: 1120px) {
  .nav-wrap.container { width: min(calc(100% - 18px), 1480px); }
  .nav-wrap { grid-template-columns: 190px minmax(0, 1fr); column-gap: 8px; }
  .desktop-nav { gap: 7px; padding: 8px 0; }
  .desktop-nav a { font-size: .79rem; }
  .brand-text strong { font-size: .86rem; }
  .brand-text span { font-size: .69rem; }
}

@media (max-width: 900px) {
  .desktop-nav { display: none; }
  .site-header { border-bottom: 1px solid var(--line); }
  .site-nav .mobile-only { display: block; }
}
