/* =========================================================
   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; }


/* Construction foundation prepared October 3 2026. */
.construction-home-section { background:#f3f5f8; }
.construction-home-grid { display:grid; grid-template-columns:1.4fr 1fr; gap:48px; align-items:start; }
.construction-scope { padding:12px 0 12px 28px; border-left:2px solid #b7964e; }
.construction-scope h3 { margin-top:0; color:#13263e; }
.aarc-construction-page .construction-hero { background:linear-gradient(120deg,#0b182b,#20374f); color:#fff; padding:48px 0 64px; }
.aarc-construction-page .construction-hero h1 { color:#fff; font-size:clamp(2.3rem,5vw,4rem); line-height:1.08; max-width:900px; margin:20px 0; }
.aarc-construction-page .construction-hero p { max-width:720px; font-size:1.2rem; color:#e4e8ed; }
.aarc-construction-page .construction-breadcrumb { color:#e4e8ed; font-size:.9rem; }
.aarc-construction-page .construction-breadcrumb a { color:#e2ca8d; }
.aarc-construction-page .construction-body { max-width:900px; margin:0 auto; padding:64px 24px; font-size:1.05rem; line-height:1.75; }
.aarc-construction-page .construction-body h2 { margin:42px 0 16px; font-size:1.9rem; }
.aarc-construction-page .construction-body h3 { margin:24px 0 10px; font-size:1.25rem; }
@media(max-width:980px) { .construction-home-grid { grid-template-columns:1fr; gap:24px; } .construction-scope { padding:0 0 0 20px; } }

/* Confirmed general contracting services. */
.construction-home-links { list-style:none; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px 20px; padding:0; margin:24px 0; }
.construction-home-links a { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:12px 0; color:#13263e; border-bottom:1px solid #dce1e7; font-weight:700; text-decoration:none; }
.construction-home-links a:hover { color:#79602b; }
.construction-home-links a span { color:#9b7830; }
.construction-service-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; margin:28px 0 42px; }
.construction-service-card { display:block; padding:24px; border:1px solid #dce1e7; border-top:3px solid #b7964e; border-radius:12px; background:#f7f8fa; color:#13263e; text-decoration:none; }
.aarc-construction-page .construction-service-card h3 { margin:0 0 12px; font-size:1.2rem; }
.construction-service-card p { font-size:.96rem; line-height:1.55; color:#3c4a5c; }
.construction-service-card span { font-size:.88rem; font-weight:700; color:#79602b; }
.construction-service-card:hover { background:#f0ede5; }
.aarc-construction-hub .construction-body { max-width:1160px; }
.construction-inquiry-link { display:inline-block; font-weight:700; }
@media(max-width:980px) { .construction-service-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:600px) { .construction-home-links,.construction-service-grid { grid-template-columns:1fr; } .construction-service-card { padding:22px; } }

/* V32.0.1 keep the desktop dropdown indicator alongside its label. */
.primary-nav .menu-item-has-children > a::after { position:static; display:inline-block; width:auto; height:auto; background:none; margin-left:6px; line-height:1; transition:none; }
@media (max-width:980px) { .primary-nav.has-submenu-controls .menu-item-has-children > a::after { display:none; } }
