/* =========================================================
   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 #2d4158; 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:#23344c; }
[id$="-estimate"], #estimate-form { scroll-margin-top:128px; }



/* V31.3 — Full-color emblem with readable, responsive sizing. */
.site-header .header-inner { min-height:148px; padding-block:8px; }
.site-header .site-branding .aarc-emblem {
  display:block; width:176px; height:auto; max-width:100%; max-height:none;
  object-fit:contain; filter:none; opacity:1;
}
.v6-footer-logo .aarc-emblem {
  display:block; width:228px; height:auto; max-width:100%; max-height:none;
  filter:none; opacity:1;
}
[id$="-estimate"], #estimate-form { scroll-margin-top:168px; }
@media (min-width:981px) and (max-width:1320px) {
  .site-header .header-inner { min-height:136px; }
  .site-header .site-branding .aarc-emblem { width:160px; }
}
@media (max-width:980px) {
  .site-header .header-inner { min-height:120px; }
  .site-header .site-branding .aarc-emblem { width:138.6667px; }
  [id$="-estimate"], #estimate-form { scroll-margin-top:140px; }
}
@media (max-width:380px) {
  .site-header .header-inner { min-height:112px; }
  .site-header .site-branding .aarc-emblem { width:128px; }
}

/* V31.4 — Emblem palette: navy foundation, silver surfaces, gold accents. */
:root {
 --aarc-brand-dark:#13263e; --aarc-brand:#304963;
 --aarc-brand-light:#cbd0d7; --aarc-brand-pale:#e5e7eb;
 --aarc-silver:#b9bfc8; --aarc-silver-dark:#606a77;
 --aarc-ink:#182536; --aarc-ink-2:#26384e; --aarc-gray:#586574;
 --aarc-line:#dce0e5; --aarc-soft:#f4f5f7; --aarc-brand-soft:#eceff3;
 --aarc-gold:#d5b566; --aarc-gold-light:#e4ca8a; --aarc-gold-ink:#79602b;
 --v6-navy:#13263e; --v6-navy-deep:#0b182b; --v6-blue:#304963;
 --v6-blue-2:#435d78; --v6-ice:#f1f3f6; --v6-sky:#e3e7ec;
 --v6-text:#182536; --v6-muted:#586574; --v6-border:#dce0e5;
}
.utility-bar { background:#0b182b; border-bottom:1px solid rgba(213,181,102,.38); }
.site-header { border-bottom:1px solid #dce0e5; }
.header-cta, .v6-btn-primary, .btn-primary {
 background:linear-gradient(135deg,#e4ca8a,#c9a653); color:#13263e;
 border-color:#d5b566; box-shadow:0 8px 22px rgba(19,38,62,.14);
}
.header-cta:hover, .v6-btn-primary:hover, .btn-primary:hover {
 background:linear-gradient(135deg,#eed9a5,#d5b566); color:#0b182b; border-color:#e4ca8a;
}
.primary-nav a:hover, .primary-nav .current-menu-item > a { color:#79602b; }
.v6-label:before, .eyebrow:before, .service-kicker:before { background:#d5b566; }
.v6-label.light, .service-kicker, .section-dark .section-label { color:#e4ca8a; }
.v6-hero h1 span { color:#d1d6de; }
.v6-estimate-card { background:linear-gradient(145deg,#1d334e,#101f33); border:1px solid rgba(213,181,102,.5); border-top:3px solid #d5b566; }
.v6-icon, .v8-service-icon, .v6-sign-grid span { color:#304963; background:#f1ede3; }
.v8-service-card { border-top-color:#d5b566; }
.v8-service-card:hover { border-top-color:#a78336; }
.v8-service-card:hover .v8-service-icon { background:#e9dec2; }
.v6-process-grid b, .v6-story-visual blockquote > span { color:#e4ca8a; }
.v6-stars { color:#a78336; }
.v6-weather { background:linear-gradient(135deg,#13263e,#283f59); }
.v8-final-cta { background:radial-gradient(circle at 85% 50%,rgba(213,181,102,.13),transparent 35%),linear-gradient(115deg,#0b182b,#13263e 62%,#2b3c51); border-top:2px solid #b7964e; }
.site-footer { background:#0b182b; border-top:1px solid rgba(213,181,102,.3); }
.site-footer a:hover { color:#e4ca8a; }
.footer-bottom { color:#b9c0ca; }
:focus-visible { outline:3px solid #a78336; outline-offset:4px; }
