/* Header font: Roboto (nav links, Get a Quote button, mobile menu) */
#site-header, #site-header a, #site-header button, #site-header nav, #mobileNav, #mobileNav a {
  font-family: 'Roboto', system-ui, -apple-system, 'Segoe UI', Arial, sans-serif;
}
#site-header nav.main-nav a, #mobileNav a { font-weight: 500; }
#site-header .cta-btn { font-weight: 700; }

/* Mobile menu: Services row with arrow that opens/closes the services list */
.mnav-row { display: flex; align-items: stretch; border-bottom: 1px solid color-mix(in oklch, var(--border) 40%, transparent); }
.mobile-nav .mnav-row > a { flex: 1; border-bottom: 0; }
.mnav-toggle {
  display: inline-grid; place-items: center; width: 3rem; flex: 0 0 3rem;
  background: none; border: 0; border-left: 1px solid color-mix(in oklch, var(--border) 40%, transparent);
  color: var(--gold); cursor: pointer; -webkit-tap-highlight-color: transparent;
}
.mnav-toggle svg { width: 20px; height: 20px; transition: transform .25s ease; }
.mnav-toggle[aria-expanded="true"] svg { transform: rotate(180deg); }
.mnav-toggle:focus-visible { outline: 2px solid var(--gold); outline-offset: -2px; }
.mnav-sub { display: flex; flex-direction: column; padding: .15rem 0 .35rem 1rem; border-left: 2px solid color-mix(in oklch, var(--gold) 45%, transparent); margin: .25rem 0 .35rem .25rem; }
.mnav-sub[hidden] { display: none; }
.mobile-nav .mnav-sub a { font-size: .74rem; letter-spacing: .12em; padding: .65rem .25rem; color: color-mix(in oklch, var(--foreground) 85%, transparent); }
.mobile-nav .mnav-sub a:last-child { border-bottom: 0; }
.mobile-nav .mnav-sub a:hover { color: var(--gold); }
