.round3-seven-plus { --round3-site-header-height: 5rem; scroll-padding-top: calc(var(--round3-sticky-offset, var(--round3-site-header-height)) + 1rem); }
.round3-site-header { position: sticky; top: 0; z-index: 100; border-bottom: 1px solid var(--m12-line); background: var(--paper); box-shadow: 0 0.25rem 1rem rgb(32 33 36 / 6%); }
.round3-site-header-inner { display: grid; grid-template-columns: minmax(8rem, 11rem) minmax(0, 1fr) auto; align-items: center; gap: 1rem; max-width: 100%; min-height: var(--round3-site-header-height); padding: 0.5rem 2rem; }
.round3-site-header .logo { width: 100%; max-width: 11rem; }
.round3-site-header .logo img { max-height: 3.5rem; }
.round3-site-nav { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 0.25rem; min-width: 0; }
.round3-nav-group { position: relative; min-width: 0; }
.round3-nav-group > summary,
.round3-nav-link { display: inline-flex; min-height: 3rem; align-items: center; justify-content: center; gap: 0.5rem; padding: 0.5rem 0.75rem; border-radius: 0.5rem; color: var(--ink); cursor: pointer; font-weight: 600; list-style: none; white-space: nowrap; }
.round3-nav-group > summary::-webkit-details-marker { display: none; }
.round3-nav-group > summary::after { content: ""; width: 0.5rem; height: 0.5rem; margin-top: -0.25rem; border-right: 0.125rem solid currentColor; border-bottom: 0.125rem solid currentColor; transform: rotate(45deg); }
.round3-nav-group:hover > summary,
.round3-nav-group[open] > summary,
.round3-nav-group.is-current > summary,
.round3-nav-link:hover,
.round3-nav-link.is-current { background: var(--accent); color: var(--brand); }
.round3-nav-menu { position: absolute; top: calc(100% + 0.25rem); left: 0; z-index: 2; display: grid; min-width: 15rem; gap: 0.25rem; padding: 0.5rem; border: 1px solid var(--m12-line); border-radius: 0.75rem; background: var(--surface); box-shadow: var(--shadow-panel); }
.round3-nav-menu a { display: flex; min-height: 3rem; align-items: center; padding: 0.5rem 0.75rem; border-radius: 0.5rem; color: var(--ink); font-weight: 500; text-decoration: none; }
.round3-nav-menu a:hover,
.round3-nav-menu a:focus-visible,
.round3-nav-menu a[aria-current="page"] { background: var(--accent); color: var(--brand); }
.round3-header-phone { display: inline-flex; min-height: 3rem; align-items: center; gap: 0.5rem; color: var(--ink); font-weight: 700; white-space: nowrap; }
.round3-header-phone svg { width: 1.5rem; height: 1.5rem; color: var(--brand); }
.round3-mobile-nav { display: none; }

@media (max-width: 1100px) {
  .round3-seven-plus { --round3-site-header-height: 4rem; }
  .round3-site-header-inner { grid-template-columns: 3rem minmax(0, 1fr) 3rem; gap: 0.5rem; padding: 0.25rem 1rem; }
  .round3-site-header .logo { grid-column: 2; grid-row: 1; justify-self: center; width: min(11rem, 100%); max-width: 100%; }
  .round3-site-header .logo img { max-height: 3rem; object-position: center; }
  .round3-site-nav { display: none; }
  .round3-mobile-nav { display: block; grid-column: 1; grid-row: 1; }
  .round3-mobile-nav > summary { display: flex; width: 3rem; height: 3rem; flex-direction: column; align-items: center; justify-content: center; gap: 0.3rem; border-radius: 0.5rem; cursor: pointer; list-style: none; }
  .round3-mobile-nav > summary::-webkit-details-marker { display: none; }
  .round3-mobile-nav > summary span { display: block; width: 1.5rem; height: 0.125rem; border-radius: 1rem; background: currentColor; }
  .round3-header-phone { grid-column: 3; grid-row: 1; justify-self: end; width: 3rem; min-height: 3rem; justify-content: center; }
  .round3-header-phone span { display: none; }
  body.round3-seven-plus .round3-mobile-nav.mobile-menu[open] > .mobile-menu-panel { position: fixed !important; inset: 0 !important; z-index: 110; display: block; overflow-y: auto; overscroll-behavior: contain; padding: calc(4.5rem + env(safe-area-inset-top)) 1rem 1rem; border: 0; border-radius: 0 !important; background: #fff; }
  body.round3-seven-plus .round3-mobile-nav .mobile-menu-close { position: absolute; top: max(0.5rem, env(safe-area-inset-top)); right: 0.75rem; display: grid; width: 3rem; height: 3rem; place-items: center; margin: 0; padding: 0; border: 1px solid var(--m12-line); border-radius: 50%; background: #fff; color: var(--ink); }
  body.round3-seven-plus .round3-mobile-nav .mobile-menu-close svg { width: 1.5rem; height: 1.5rem; }
  .round3-mobile-nav-panel nav { display: grid; gap: 0.5rem; margin: 0; }
  .round3-mobile-nav-panel nav > .round3-nav-link,
  .round3-mobile-nav-panel nav > .round3-nav-group > summary { display: flex; width: 100%; min-height: 3.5rem; justify-content: space-between; padding: 0.75rem 1rem; border: 1px solid var(--m12-line); border-radius: 0.5rem; background: var(--surface); }
  .round3-mobile-nav-panel nav > .round3-nav-group { position: static; }
  .round3-mobile-nav-panel .round3-nav-menu { position: static; min-width: 0; margin: 0.5rem 0 0; border: 0; border-left: 0.1875rem solid var(--brand); border-radius: 0; background: transparent; box-shadow: none; }
  .round3-mobile-nav-panel .round3-nav-menu a { min-height: 3rem; padding: 0.5rem 1rem; }
  body.round3-seven-plus.menu-open { overflow: hidden; }
}
