/* =========================================================
   V21 — WIDE DESKTOP HEADER / SINGLE-LINE NAVIGATION
   ========================================================= */
@media (min-width: 981px) {
  /* Let the navigation use more of the viewport without widening page content. */
  .site-header .header-inner {
    width: min(calc(100% - 48px), 1500px);
    gap: 20px;
    flex-wrap: nowrap;
  }

  .site-branding {
    flex: 0 0 auto;
  }

  .primary-nav {
    margin-left: auto;
    min-width: 0;
  }

  .primary-nav > ul {
    flex-wrap: nowrap;
    gap: clamp(14px, 1.15vw, 22px);
  }

  .primary-nav > ul > li {
    flex: 0 0 auto;
  }

  .primary-nav > ul > li > a {
    white-space: nowrap;
    line-height: 1.2;
  }

  .header-cta {
    flex: 0 0 auto;
  }
}

/* Compress slightly on smaller desktop/laptop widths before the mobile nav takes over. */
@media (min-width: 981px) and (max-width: 1320px) {
  .site-header .header-inner {
    width: min(calc(100% - 28px), 1280px);
    gap: 13px;
  }

  .primary-nav > ul {
    gap: 12px;
  }

  .primary-nav > ul > li > a {
    font-size: .84rem;
  }

  .custom-logo {
    max-height: 64px;
    max-width: 205px;
  }

  .header-cta {
    min-height: 46px;
    padding-inline: 16px;
    font-size: .88rem;
  }
}


/* =========================================================
   V22 — DESKTOP HEADER CTA CLEARANCE
   Keep the full navigation on one line while guaranteeing
   visible separation between Contact and the estimate CTA.
   ========================================================= */
@media (min-width: 981px) {
  .site-header .header-inner {
    width: min(calc(100% - 24px), 1600px);
    column-gap: 16px;
  }

  .primary-nav > ul {
    gap: clamp(11px, .9vw, 18px);
  }

  .primary-nav > ul > li > a {
    font-size: clamp(.82rem, .72vw, .91rem);
  }

  .header-cta {
    margin-left: 10px;
    position: relative;
    z-index: 2;
  }
}

@media (min-width: 981px) and (max-width: 1320px) {
  .site-header .header-inner {
    width: min(calc(100% - 20px), 1300px);
    column-gap: 10px;
  }

  .primary-nav > ul {
    gap: 9px;
  }

  .primary-nav > ul > li > a {
    font-size: .80rem;
  }

  .header-cta {
    margin-left: 6px;
    padding-inline: 14px;
    font-size: .85rem;
  }
}

.v6-map-dot[href] { text-decoration:none; }
.v6-map-dot[href]:hover { color:var(--aarc-brand); }
.v29-footer-spacer { display:none; }
.v6-footer-grid { grid-template-columns:1.2fr .63fr .76fr .72fr .72fr; gap:36px; }
@media (max-width:1180px) { .v6-footer-grid { grid-template-columns:1.2fr 1fr 1fr; } .v6-footer-grid .footer-brand { grid-row:span 2; } }
@media (max-width:900px) { .v29-local-fact-grid { grid-template-columns:1fr; } .v29-location-links { grid-template-columns:1fr 1fr; } .v6-footer-grid { grid-template-columns:1fr 1fr; } .v6-footer-grid .footer-brand { grid-column:1 / -1; grid-row:auto; } }
@media (max-width:680px) { .v29-location-page .location-hero-visual { min-height:350px; padding:18px; } .v29-location-panel { min-height:315px; padding:24px 20px; } .v29-route { height:110px; } .v29-route-point.start { left:4%; } .v29-route-point.end { right:4%; } .v29-location-links { grid-template-columns:1fr; } .v6-footer-grid { grid-template-columns:1fr; } .v6-footer-grid .footer-brand { grid-column:auto; } }


/* V31 accessibility and form feedback. */
.submenu-toggle { display:none; }
.aarc-form-privacy { display:block; margin-top:12px; font-size:.8rem; line-height:1.5; }
.aarc-form-privacy a { color:inherit; text-decoration:underline; text-underline-offset:3px; }
.v6-estimate-form [type="submit"]:disabled { opacity:.65; cursor:wait; }
:focus-visible { outline:3px solid #2585b7; outline-offset:4px; }
.v31-review-link { text-align:center; padding:24px; background:var(--aarc-soft); }
.article-byline a { color:inherit; text-decoration:underline; }
@media (max-width:980px) {
 .primary-nav.has-submenu-controls .menu-item-has-children { position:relative; }
 .primary-nav.has-submenu-controls .menu-item-has-children > a { padding-right:54px; }
 .primary-nav .submenu-toggle { display:block; position:absolute; right:0; top:0; width:44px; height:44px; border:1px solid var(--aarc-line); border-radius:8px; background:#fff; color:var(--aarc-brand); font-size:1.3rem; font-weight:700; }
 .primary-nav.has-submenu-controls .menu-item-has-children > .sub-menu { display:none; }
 .primary-nav.has-submenu-controls .menu-item-has-children.is-expanded > .sub-menu { display:block; }
}
@media (prefers-reduced-motion:reduce) {
 html { scroll-behavior:auto!important; }
 *, *::before, *::after { transition-duration:.01ms!important; animation-duration:.01ms!important; animation-iteration-count:1!important; }
}

/* V31.0.1 browser-verified contact form corrections. */
.v6-honeypot { position:absolute!important; left:-99999px!important; width:1px; height:1px; overflow:hidden; }
.v6-estimate-form .aarc-form-privacy { color:inherit; opacity:1; }
.contact-estimate-form .aarc-form-privacy { color:#455f6c; }
[id$="-estimate"], #estimate-form { scroll-margin-top:128px; }
