:root {
  --aqg-gold: #fac300;
  --aqg-gold-bright: #ffd200;
  --aqg-gold-deep: #a66a00;
  --aqg-gold-ink: #2b2100;
  --aqg-graphite: #101512;
  --aqg-graphite-soft: #1b231f;
  --aqg-cream: #fbfaf5;
  --aqg-sand: #f4ecd6;
  --aqg-line: #e6d9b6;
  --aqg-bronze: #d89d00;
  --aqg-bronze-deep: #a66a00;
  --aqg-bronze-soft: #fff5d2;
  --aqg-bronze-line: #ecc65d;

  /* Map legacy tokens to the new restrained gold system. */
  --ink: var(--aqg-graphite);
  --soft-ink: #364039;
  --muted: #6d7168;
  --accent: var(--aqg-gold);
  --accent-dark: var(--aqg-gold-deep);
  --accent-light: #fff7dd;
  --accent-ink: var(--aqg-gold-ink);
  --gold: var(--aqg-gold);
  --sand-icon: #b67b00;
  --cream: var(--aqg-cream);
  --line: var(--aqg-line);
}

html {
  background: var(--aqg-cream);
  color-scheme: light;
}

body {
  background: var(--aqg-cream);
  color: var(--aqg-graphite);
}

::selection {
  background: var(--aqg-gold);
  color: var(--aqg-gold-ink);
}

/* Primary action: warm gold is used purposefully, never as a full-page fill. */
.btn--primary,
.estimate-price-preview__cta,
.footer-cta__btn,
.seamless-hero__actions .btn--primary,
.seamless-final-cta__actions .btn--primary,
.seamless-inline-cta .btn--primary {
  background: linear-gradient(135deg, #fac300 0%, #e8ae00 100%) !important;
  background-color: #fac300 !important;
  border-color: #d89d00 !important;
  color: var(--aqg-gold-ink);
  box-shadow: 0 10px 24px rgba(166, 106, 0, 0.2);
}

.btn--primary:hover,
.btn--primary:focus-visible,
.estimate-price-preview__cta:hover,
.estimate-price-preview__cta:focus-visible,
.footer-cta__btn:hover,
.footer-cta__btn:focus-visible {
  background: linear-gradient(135deg, #ffd200 0%, #f1ba00 100%) !important;
  background-color: #ffd200 !important;
  border-color: #c88f00 !important;
  color: #1f1900;
  box-shadow: 0 14px 28px rgba(166, 106, 0, 0.28);
}

.btn--outline,
.hero__actions .btn--outline,
.bottom-cta__actions .btn--outline,
.seamless-hero__actions .btn--outline,
.seamless-final-cta__actions .btn--outline {
  border-color: rgba(250, 195, 0, 0.8);
  color: #fff9e6;
  background: rgba(16, 21, 18, 0.34);
}

.btn--outline:hover,
.btn--outline:focus-visible,
.hero__actions .btn--outline:hover,
.hero__actions .btn--outline:focus-visible {
  border-color: var(--aqg-gold-bright);
  background: rgba(250, 195, 0, 0.14);
  color: #fff;
}

/* Dark surfaces stay graphite; gold appears as a refined accent. */
.topbar,
.trust-bar,
.site-footer,
.footer,
.footer-cta,
.estimate-modal__header,
.seamless-hero,
.seamless-final-cta,
.seamless-inline-cta {
  background-color: var(--aqg-graphite);
}

.topbar,
.trust-bar,
.footer,
.site-footer,
.estimate-modal__header,
.seamless-hero,
.seamless-final-cta,
.seamless-inline-cta {
  border-color: rgba(250, 195, 0, 0.25);
}

.eyebrow,
.section-kicker,
.seamless-eyebrow,
.estimate-modal__eyebrow,
.footer-cta__call-text small,
.trust-bar strong,
.site-header .nav-link.is-active,
.site-header .nav-link:hover,
.site-header .nav-link:focus-visible,
.site-header .nav-link[aria-current="page"] {
  color: var(--aqg-gold-deep) !important;
}

.header-dropdown__all,
.header-dropdown a:hover,
.header-dropdown a:focus-visible,
.header-dropdown__item:hover,
.header-dropdown__item:focus-visible {
  color: var(--aqg-gold-deep) !important;
}

.hero .eyebrow,
.hero h1 span,
.seamless-hero .seamless-eyebrow,
.estimate-modal__eyebrow,
.seamless-final-cta .seamless-eyebrow,
.seamless-inline-cta .seamless-eyebrow {
  color: var(--aqg-gold-bright) !important;
}

a:not(.btn) {
  color: #986000;
}

a:not(.btn):hover,
a:not(.btn):focus-visible {
  color: #704700;
}

/* Premium, quiet form surfaces with an unmistakable gold focus state. */
input,
select,
textarea,
.custom-select__button,
.estimate-choice-cards label,
.photo-upload,
.drop-zone {
  border-color: var(--aqg-line) !important;
  background-color: #fffef9;
  color: var(--aqg-graphite);
}

input:focus,
select:focus,
textarea:focus,
.custom-select__button:focus,
.custom-select.is-open .custom-select__button,
.estimate-choice-cards label:has(input:checked) {
  border-color: var(--aqg-gold) !important;
  box-shadow: 0 0 0 4px rgba(250, 195, 0, 0.18) !important;
  outline: 0;
}

input[type="checkbox"],
input[type="radio"] {
  accent-color: #d89d00;
}

.custom-select__option.is-selected,
.custom-select__option:hover,
.custom-select__option:focus-visible,
.estimate-choice-cards label:hover {
  background: #fff5d2;
  color: var(--aqg-gold-ink);
}

.form-status[data-type="success"] {
  background: #fff5d2;
  color: #654200;
  border-color: #e0ac1d;
}

.has-field-error input,
.has-field-error select,
.has-field-error textarea {
  border-color: #b64232 !important;
}

/* Shift only chromatic green pixels in the supplied artwork to #fac300.
   White, silver and black pixels have no hue, so they retain their source color. */
.logo__image--new,
.logo__image--footer-new,
.logo__image {
  filter: hue-rotate(312deg) saturate(1.2) brightness(0.98) !important;
}

/* Convert monochrome service glyphs to a unified gold accent; preserve social and Google marks. */
img[src*="assets/img/icons/"]:not([src*="google"]):not([src*="facebook"]):not([src*="instagram"]),
.seamless-cta-icon img,
.footer-cta__call-icon svg {
  filter: brightness(0) saturate(100%) invert(72%) sepia(83%) saturate(828%) hue-rotate(358deg) brightness(101%) contrast(101%) !important;
}

.site-header,
.site-header__inner,
.header-navigation__panel {
  border-color: #eee2c7;
}

.nav-item__pill,
.site-header .nav-link:hover,
.site-header .nav-link:focus-visible {
  background: #fff7dd;
}

.card,
.service-card,
.estimate-card,
.faq-item,
.testimonial-card,
.custom-select__list {
  border-color: var(--aqg-line);
}

.bottom-cta::after,
.seamless-final-cta::after {
  background: linear-gradient(90deg, rgba(16, 21, 18, 0.94) 0%, rgba(16, 21, 18, 0.76) 56%, rgba(16, 21, 18, 0.45) 100%);
}

.progress-bar,
.estimate-progress__bar,
.service-card__accent,
.faq-item[open] summary::after {
  background: linear-gradient(90deg, var(--aqg-gold-deep), var(--aqg-gold));
}

@media (prefers-reduced-motion: no-preference) {
  .btn--primary,
  .estimate-price-preview__cta,
  .footer-cta__btn {
    transition: background-color 160ms ease, box-shadow 160ms ease, transform 160ms ease;
  }
}

/* Quiet bronze replaces the remaining green in the instructional and FAQ areas. */
.how {
  background: linear-gradient(180deg, #faf9f6 0%, #f5f2ed 100%);
}

.how .step {
  border-color: #e6ddd2;
  box-shadow: 0 14px 30px rgba(43, 33, 21, 0.07);
}

.how .step__num {
  background: var(--aqg-bronze);
  color: #fffaf4;
}

.how .step__icon {
  border-color: var(--aqg-bronze-line);
  background: #fff;
}

.how .step__icon img,
.home-faq__trust img {
  filter: brightness(0) saturate(100%) invert(43%) sepia(36%) saturate(1050%) hue-rotate(348deg) brightness(95%) contrast(88%) !important;
}

.how .step:not(:last-child)::after {
  top: 52px;
  right: -54px;
  width: 58px;
  height: 2px;
  border-radius: 999px;
  background: linear-gradient(90deg, rgba(216, 157, 0, 0.52), var(--aqg-gold)) !important;
}

.how .step:not(:last-child)::before {
  top: 47px;
  right: -57px;
  width: 10px;
  height: 10px;
  border-color: var(--aqg-gold) !important;
  border-width: 2px;
}

.home-faq {
  background: radial-gradient(circle at 78% 18%, rgba(250, 195, 0, 0.08), transparent 34%), #fffdf9;
}

.home-faq__eyebrow,
.home-faq__contact strong,
.home-faq__toggle {
  color: var(--aqg-bronze-deep) !important;
}

.home-faq__rule {
  background: var(--aqg-bronze);
}

.home-faq__phone-icon {
  border-color: var(--aqg-bronze);
  color: var(--aqg-bronze);
}

.home-faq .seo-faq__list details {
  border-color: #eadfd2;
  box-shadow: 0 14px 30px rgba(43, 33, 21, 0.07);
}

.home-faq .seo-faq__list details[open] {
  border-color: var(--aqg-bronze);
}

.home-faq__arrow {
  background: var(--aqg-bronze-soft);
  color: var(--aqg-bronze-deep);
}

.home-faq .seo-faq__list details[open] .home-faq__arrow {
  background: var(--aqg-bronze-deep);
  color: #fff;
}

/* Footer: a deep graphite surface with a restrained warm glow. */
.footer {
  --footer-accent: var(--aqg-bronze) !important;
  border-top: 1px solid rgba(250, 195, 0, 0.34) !important;
  background:
    radial-gradient(90% 110% at -8% 0%, rgba(250, 195, 0, 0.11) 0%, transparent 57%),
    radial-gradient(68% 80% at 105% 100%, rgba(216, 157, 0, 0.08) 0%, transparent 62%),
    linear-gradient(135deg, #202a24 0%, #121914 48%, #090c0b 100%) !important;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.05),
    inset 0 -1px 0 rgba(0, 0, 0, 0.38);
}

.footer-brand,
.footer-col,
.footer__grid > .footer-col:nth-child(n + 3) {
  border-color: rgba(250, 195, 0, 0.16) !important;
}

.footer h3 {
  color: #fffdf8 !important;
}

.footer-brand__tagline,
.footer .copyright,
.footer-contact__text small {
  color: rgba(246, 234, 219, 0.68) !important;
}

.footer a:not(.btn),
.footer-col > a,
.footer-bottom__links a {
  color: rgba(255, 253, 248, 0.84) !important;
}

.footer a:not(.btn):hover,
.footer a:not(.btn):focus-visible,
.footer-col > a:hover,
.footer-col > a:focus,
.footer-bottom__links a:hover,
.footer-bottom__links a:focus {
  color: var(--aqg-gold-bright) !important;
}

.footer-bottom {
  border-top-color: rgba(250, 195, 0, 0.18) !important;
}

.footer-contact__icon {
  border-color: rgba(250, 195, 0, 0.5) !important;
  background: rgba(250, 195, 0, 0.13) !important;
  color: var(--aqg-bronze) !important;
}

.footer-social--brand a:hover,
.footer-social--brand a:focus {
  border-color: var(--aqg-bronze) !important;
  background: rgba(250, 195, 0, 0.16) !important;
}

.footer-social--brand a {
  border-color: rgba(250, 195, 0, 0.48) !important;
  color: var(--aqg-gold) !important;
}

.footer .logo__image--footer {
  filter: hue-rotate(312deg) saturate(1.2) brightness(0.98) !important;
}

/* All six service templates share this local premium accent system. */
.seamless-page {
  --accent: var(--aqg-bronze);
  --accent-dark: var(--aqg-bronze-deep);
  --accent-light: var(--aqg-bronze-soft);
}

.seamless-page .seamless-kicker,
.seamless-page .seamless-eyebrow,
.seamless-page .text-green,
.seamless-page .seamless-hero h1 span,
.seamless-page .seamless-check-dot,
.seamless-page .seamless-feature__icon,
.seamless-page .seamless-stat__icon,
.seamless-page .seamless-area-pills span,
.seamless-page .sf-heading__eyebrow {
  color: var(--aqg-bronze) !important;
}

.seamless-page .seamless-check-dot,
.seamless-page .seamless-feature__icon,
.seamless-page .seamless-stat__icon,
.seamless-page .seamless-area-pills span {
  border-color: var(--aqg-bronze) !important;
}

.seamless-page .seamless-feature__icon,
.seamless-page .seamless-stat__icon,
.seamless-page .seamless-area-pills span {
  background-color: var(--aqg-bronze-soft);
}

.seamless-page .seamless-faq details[open],
.seamless-page .gutter-guards-faq-card .seamless-faq-grid details[open],
.seamless-page .sf-faq details[open] {
  border-color: var(--aqg-bronze) !important;
}

.seamless-page .seamless-faq summary::after,
.seamless-page .gutter-guards-faq-card .seamless-faq-grid summary::after,
.seamless-page .sf-faq summary::after {
  color: var(--aqg-bronze-deep) !important;
}

.seamless-page .seamless-faq details[open] summary,
.seamless-page .gutter-guards-faq-card .seamless-faq-grid details[open] summary {
  color: var(--aqg-bronze-deep);
}

/* The service-page component stylesheet is intentionally very specific.  Keep
   these selectors at the same level so every service gets the bronze system,
   including price, process and local-coverage components. */
main.seamless-page .seamless-price-card--featured {
  border-color: var(--aqg-bronze) !important;
  box-shadow: 0 26px 70px rgba(166, 106, 0, 0.15) !important;
}

main.seamless-page .seamless-price-card__badge,
main.seamless-page .seamless-process__num {
  border-color: var(--aqg-bronze) !important;
  background-color: var(--aqg-bronze) !important;
  color: #fffaf4 !important;
}

main.seamless-page .seamless-price-card__line,
main.seamless-page .seamless-formula span,
main.seamless-page .seamless-process-step:not(:last-child)::after,
main.seamless-page .seamless-check-list li::before {
  background-color: var(--aqg-bronze) !important;
  color: var(--aqg-bronze) !important;
}

main.seamless-page .seamless-process__num {
  color: var(--aqg-graphite) !important;
}

main.seamless-page .seamless-process__num,
main.seamless-page .seamless-cta-icon,
main.seamless-page .seamless-stat__icon,
main.seamless-page .seamless-feature__icon,
main.seamless-page .seamless-factor__icon {
  border-color: var(--aqg-bronze-line) !important;
}

main.seamless-page .seamless-cta-icon,
main.seamless-page .seamless-stat__icon,
main.seamless-page .seamless-feature__icon,
main.seamless-page .seamless-factor__icon {
  background-color: var(--aqg-bronze-soft) !important;
  color: var(--aqg-bronze) !important;
}

main.seamless-page .seamless-stat__icon img,
main.seamless-page .seamless-feature__icon img,
main.seamless-page .seamless-factor__icon img,
main.seamless-page .seamless-cta-icon img,
main.seamless-page .seamless-process-step img {
  filter: brightness(0) saturate(100%) invert(43%) sepia(36%) saturate(1050%) hue-rotate(348deg) brightness(95%) contrast(88%) !important;
}

main.seamless-page .seamless-area-pills a:hover,
main.seamless-page .seamless-area-pills a:focus {
  border-color: var(--aqg-bronze) !important;
  background-color: var(--aqg-bronze-soft) !important;
  color: var(--aqg-bronze-deep) !important;
}

/*
 * Site-wide palette reinforcement
 *
 * A few older page templates declared green values directly instead of using
 * the shared tokens above.  These rules keep every template in the same
 * graphite, warm-gold, bronze, and cream system without changing its layout.
 */
:root {
  --aqg-surface: #fffdf8;
  --aqg-surface-muted: #f7f1e5;
  --aqg-copy: #364039;
  --aqg-copy-muted: #687068;
}

/* The main navigation uses the same graphite surface on home, service, and
   SEO pages.  Cream dropdowns preserve a clear light/dark hierarchy. */
.site-header,
.seo-header {
  background: linear-gradient(90deg, #101512 0%, #1b231f 52%, #101512 100%) !important;
  border-bottom: 1px solid rgba(250, 195, 0, 0.24) !important;
  color: #f6eadb;
}

.site-header .header-nav__link,
.site-header .header-nav__trigger,
.site-header .header-phone,
.seo-header nav a,
.seo-header .header-phone {
  color: #f6eadb !important;
}

.site-header .header-nav__link:hover,
.site-header .header-nav__link:focus-visible,
.site-header .header-nav__item.is-open > .header-nav__trigger,
.seo-header nav a:hover,
.seo-header nav a:focus-visible,
.seo-header .header-phone:hover,
.seo-header .header-phone:focus-visible {
  color: var(--aqg-gold-bright) !important;
}

.site-header .header-phone img,
.site-header .header-nav__chevron {
  filter: brightness(0) saturate(100%) invert(72%) sepia(83%) saturate(828%) hue-rotate(358deg) brightness(101%) contrast(101%) !important;
  opacity: 1;
}

.site-header .header-estimate,
.seo-header .btn--primary {
  color: var(--aqg-gold-ink) !important;
}

.header-dropdown {
  border-color: var(--aqg-line) !important;
  background: var(--aqg-surface) !important;
  box-shadow: 0 20px 48px rgba(43, 33, 21, 0.18) !important;
}

.header-dropdown a,
.header-dropdown__all {
  color: var(--aqg-graphite) !important;
}

.header-dropdown a:hover,
.header-dropdown a:focus-visible,
.header-dropdown__all:hover,
.header-dropdown__all:focus-visible {
  background: #fff5d2 !important;
  color: var(--aqg-bronze-deep) !important;
}

.header-dropdown__column p {
  color: var(--aqg-bronze) !important;
}

@media (max-width: 980px) {
  .site-header .header-menu-toggle {
    border-color: rgba(250, 195, 0, 0.56) !important;
    background: rgba(255, 253, 248, 0.08) !important;
    color: #fff9e6 !important;
  }

  .site-header .header-nav {
    background: var(--aqg-surface) !important;
    border-color: var(--aqg-line) !important;
  }

  .site-header .header-nav__link,
  .site-header .header-nav__trigger,
  .site-header .header-nav .header-phone {
    color: var(--aqg-graphite) !important;
  }
}

/* SEO and service-area templates: replace the remaining direct green values. */
.seo-eyebrow,
.service-price-hero__badges span::before,
.service-price-hero__quote-card span {
  color: var(--aqg-gold) !important;
}

.seo-cta-card > a:last-child,
.seo-sidebar__links a,
.seo-area-links a,
.service-area-pill-list a {
  color: var(--aqg-bronze-deep) !important;
}

.seo-pricing,
.service-price-page {
  border-color: rgba(250, 195, 0, 0.28) !important;
  background:
    radial-gradient(circle at 12% 4%, rgba(250, 195, 0, 0.1), transparent 28%),
    linear-gradient(180deg, var(--aqg-surface-muted) 0%, var(--aqg-surface) 36%, var(--aqg-surface-muted) 100%) !important;
}

.seo-price-card,
.seo-process li,
.seo-problem-list li,
.seo-service-links a,
.service-area-pill-list a {
  border-color: var(--aqg-line) !important;
  background: var(--aqg-surface) !important;
}

.service-area-pill-list a:hover,
.service-area-pill-list a:focus {
  border-color: var(--aqg-gold) !important;
  background: #fff5d2 !important;
}

.seo-request-cta,
.seo-cta-card,
.service-sidebar-card {
  background:
    radial-gradient(circle at 85% 10%, rgba(250, 195, 0, 0.2), transparent 36%),
    var(--aqg-graphite) !important;
}

/* Specialty service components inherit the same accent family. */
.sf-page {
  --sf-green: var(--aqg-gold);
  --sf-green-dark: var(--aqg-bronze-deep);
}

.seamless-page img[src*="/service-green/"],
.seamless-page img[src*="/provided-v2-green/"],
.sf-page img[src*="/service-green/"],
.sf-page img[src*="/provided-v2-green/"] {
  filter: brightness(0) saturate(100%) invert(72%) sepia(83%) saturate(828%) hue-rotate(358deg) brightness(101%) contrast(101%) !important;
}

.seamless-page .seamless-location-icon,
.seamless-page .seamless-example-icon {
  filter: brightness(0) saturate(100%) invert(72%) sepia(83%) saturate(828%) hue-rotate(358deg) brightness(101%) contrast(101%) !important;
}

/* One warm-white canvas for every light page and component surface.
   Text on dark sections deliberately remains pure white for accessibility. */
:root {
  --aqg-cream: rgb(250, 249, 246);
  --aqg-surface: rgb(250, 249, 246);
  --cream: rgb(250, 249, 246);
}

body,
body.sf-service-body,
.section,
.metrics,
.services,
.how,
.why,
.projects,
.reviews,
.service-area,
.popular-areas,
.seo-section,
.seo-layout,
.accessory-page #prices {
  background-color: var(--aqg-surface) !important;
}

.how {
  background: var(--aqg-surface) !important;
}

.card,
.metric-card,
.service-card,
.step,
.why-card,
.project-card,
.google-card,
.review-card,
.map-card,
.service-icon,
.step__icon,
.custom-select__list,
.custom-select__button,
.date-picker,
.date-picker__days button,
.estimate-calculator-toggle,
.estimate-calculator-section,
.estimate-calculator-section__header,
.estimate-choice-cards label,
.estimate-service-cards label,
.estimate-compact-inputs .field,
.estimate-price-preview,
.estimate-home-details__fields .field,
.seo-faq details,
.area-directory details,
.seo-service-links a,
.seo-price-card,
.seo-process li,
.seo-problem-list li,
.service-area-pill-list a,
.seo-pricing__formula,
.service-info-card,
.service-process li,
.seamless-photo-card,
.seamless-formula-card,
.seamless-map-card,
.seamless-faq details,
.seamless-area-pills a,
.seamless-feature__icon,
.seamless-factor__icon,
.gutter-guards-faq-card .seamless-faq-grid details,
.sf-info-card,
.sf-factor-grid article,
.sf-faq details {
  background-color: var(--aqg-surface) !important;
}

input,
select,
textarea,
.photo-upload,
.drop-zone {
  background-color: var(--aqg-surface) !important;
}

/* Homepage process: clear cards and quieter connectors give the four steps a
   deliberate reading order without adding visual noise. */
.how {
  padding: 76px 0 84px;
  background:
    radial-gradient(circle at 50% 0%, rgba(250, 195, 0, 0.08), transparent 38%),
    var(--aqg-surface) !important;
}

.how h2 {
  margin-bottom: 40px;
  color: var(--aqg-graphite);
  font-size: clamp(30px, 3vw, 38px);
  letter-spacing: -0.03em;
}

.how .steps {
  gap: 32px;
}

.how .step {
  min-height: 300px;
  padding: 32px 20px 24px;
  border: 1px solid rgba(216, 157, 0, 0.34);
  border-radius: 18px;
  background: linear-gradient(180deg, #faf9f6 0%, #f4ecd6 100%) !important;
  box-shadow: 0 16px 34px rgba(43, 33, 21, 0.09);
}

.how .step__num {
  top: 18px;
  left: 18px;
  width: 32px;
  height: 32px;
  line-height: 32px;
  box-shadow: 0 7px 16px rgba(166, 106, 0, 0.22);
}

.how .step__icon {
  width: 94px;
  height: 94px;
  margin-bottom: 20px;
  background: var(--aqg-surface) !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.55), 0 10px 22px rgba(43, 33, 21, 0.08);
}

.how .step__icon img {
  width: 50px;
  height: 50px;
}

.how .step h3 {
  margin-bottom: 10px;
  color: var(--aqg-graphite);
  font-size: 18px;
}

.how .step p {
  color: #596159;
  font-size: 14px;
  line-height: 1.42;
}

.how .step:not(:last-child)::after,
.how .step:not(:last-child)::before {
  content: none;
}

/* Benefit icons are deliberately larger and sit closer to the card's visual
   center, so the heading no longer feels heavier than the symbol. */
.why-card {
  min-height: 154px;
  padding: 16px 12px 14px;
}

.why-card > span {
  width: 56px;
  height: 56px;
  flex-basis: 56px;
  transform: translateY(-8px);
}

.why-card span img {
  width: 56px;
  height: 56px;
}

/* The footer uses the same warm graphite-and-gold family as the header and
   actions, rather than the previous cool green-black surface. */
.footer {
  border-top-color: rgba(250, 195, 0, 0.48) !important;
  background:
    radial-gradient(78% 105% at 0% 0%, rgba(250, 195, 0, 0.15) 0%, transparent 58%),
    radial-gradient(54% 78% at 100% 100%, rgba(216, 157, 0, 0.08) 0%, transparent 66%),
    linear-gradient(135deg, #2a2922 0%, #1a1b16 52%, #10110f 100%) !important;
}

.footer-brand,
.footer-col,
.footer__grid > .footer-col:nth-child(n + 3),
.footer-bottom {
  border-color: rgba(250, 195, 0, 0.24) !important;
}

.footer h3,
.footer a:not(.btn),
.footer-col > a,
.footer-bottom__links a,
.footer-contact__text strong {
  color: rgb(250, 249, 246) !important;
}

.footer-brand__tagline,
.footer .copyright,
.footer-contact__text small {
  color: rgba(250, 249, 246, 0.7) !important;
}

.footer-brand__licenses {
  margin: 14px 0 0;
  color: rgba(250, 249, 246, 0.78);
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.02em;
  line-height: 1.45;
}

.footer-brand__profile {
  margin: 8px 0 0;
  font-size: 13px;
}

.footer-contact__icon {
  border-color: rgba(250, 195, 0, 0.58) !important;
  background: rgba(250, 195, 0, 0.12) !important;
  color: var(--aqg-gold) !important;
}

@media (max-width: 1040px) {
  .how .steps {
    gap: 24px;
  }

  .how .step {
    min-height: 270px;
  }
}

@media (max-width: 720px) {
  .how {
    padding: 56px 0 60px;
  }

  .how .step {
    min-height: 0;
  }
}

/* Cross-template finish: service, guide, SEO and specialty pages now inherit
   the homepage's restrained cream, graphite, and gold language. */
.seo-layout {
  gap: clamp(28px, 4vw, 56px);
  padding-top: clamp(48px, 6vw, 80px);
  padding-bottom: clamp(58px, 7vw, 96px);
}

.seo-section {
  padding-bottom: 42px;
}

.seo-section + .seo-section {
  padding-top: 42px;
  border-top: 1px solid rgba(216, 157, 0, 0.22);
}

.seo-section h2,
.seo-directory-intro h2,
.seo-directory-cta h2,
.seo-sidebar h2 {
  color: var(--aqg-graphite) !important;
  letter-spacing: -0.03em;
}

.seo-section p,
.seo-directory-intro p,
.seo-process span,
.seo-service-links span,
.seo-problem-list p,
.seo-location-list li {
  color: var(--aqg-copy-muted) !important;
}

.seo-checks li::before,
.seo-process li::before,
.seo-location-list li::before,
.seo-faq summary::after {
  color: var(--aqg-gold) !important;
}

.seo-service-links a,
.seo-problem-list li,
.seo-process li,
.seo-faq details,
.area-directory details,
.seo-sidebar__links {
  border-color: rgba(216, 157, 0, 0.28) !important;
  box-shadow: 0 14px 30px rgba(43, 33, 21, 0.07);
}

.seo-service-links a:hover,
.seo-service-links a:focus-visible,
.seo-sidebar__links a:hover,
.seo-sidebar__links a:focus-visible {
  border-color: var(--aqg-gold) !important;
  background-color: #f4ecd6 !important;
}

.seamless-page,
.sf-page {
  background: var(--aqg-surface) !important;
  color: var(--aqg-graphite) !important;
}

.seamless-page .seamless-section-head h2,
.seamless-page .seamless-inline-cta h2,
.seamless-page .seamless-final-cta h2,
.sf-page .sf-heading h2,
.sf-page .sf-benefit-grid h3,
.sf-page .sf-factor-grid h3,
.sf-page .sf-price-card h3 {
  color: var(--aqg-graphite) !important;
}

.seamless-page .seamless-section-head p:not(.seamless-eyebrow),
.seamless-page .seamless-inline-cta p,
.seamless-page .seamless-final-cta p,
.seamless-page .seamless-price-card p,
.seamless-page .seamless-feature p,
.seamless-page .seamless-note,
.sf-page .sf-heading p,
.sf-page .sf-price-card > p:last-child,
.sf-page .sf-benefit-grid p,
.sf-page .sf-factor-grid p {
  color: var(--aqg-copy-muted) !important;
}

.seamless-page .seamless-kicker,
.seamless-page .seamless-eyebrow,
.seamless-page .text-green,
.seamless-page .seamless-check-dot,
.seamless-page .seamless-example-box--green strong,
.sf-page .sf-kicker,
.sf-page .sf-heading h2 span,
.sf-page .sf-hero__lead {
  color: var(--aqg-gold) !important;
}

.seamless-page .seamless-check-dot {
  border-color: var(--aqg-gold) !important;
}

.seamless-page .seamless-stats,
.sf-page .sf-proof__grid {
  border-color: rgba(250, 195, 0, 0.26) !important;
  background:
    radial-gradient(circle at 10% 0%, rgba(250, 195, 0, 0.12), transparent 42%),
    linear-gradient(135deg, #28271f 0%, #171914 58%, #10110f 100%) !important;
  box-shadow: 0 24px 58px rgba(26, 22, 13, 0.25);
}

.seamless-page .seamless-stat,
.sf-page .sf-proof article + article {
  border-color: rgba(250, 195, 0, 0.2) !important;
}

.seamless-page .seamless-stat__icon,
.seamless-page .seamless-feature__icon,
.seamless-page .seamless-factor__icon,
.seamless-page .seamless-process__num,
.seamless-page .seamless-cta-icon {
  border-color: rgba(250, 195, 0, 0.42) !important;
  background: rgba(250, 195, 0, 0.12) !important;
  color: var(--aqg-gold) !important;
}

.seamless-page .seamless-price-card,
.seamless-page .seamless-feature,
.seamless-page .seamless-formula-card,
.seamless-page .seamless-example-box,
.seamless-page .seamless-process-step,
.seamless-page .seamless-faq details,
.seamless-page .seamless-area-pills a,
.sf-page .sf-price-card,
.sf-page .sf-benefit-grid article,
.sf-page .sf-factor-grid article,
.sf-page .sf-calculator__grid,
.sf-page .sf-faq details,
.sf-page .sf-area-links a {
  border-color: rgba(216, 157, 0, 0.3) !important;
  background-color: var(--aqg-surface) !important;
  box-shadow: 0 14px 30px rgba(43, 33, 21, 0.07);
}

.seamless-page .seamless-price-card--featured,
.sf-page .sf-price-card--featured {
  border-color: var(--aqg-gold) !important;
  box-shadow: 0 18px 42px rgba(166, 106, 0, 0.16);
}

.seamless-page .seamless-price-card__badge,
.sf-page .sf-price-card__tag {
  background: var(--aqg-gold) !important;
  color: var(--aqg-gold-ink) !important;
}

.seamless-page .seamless-price-card__line,
.seamless-page .seamless-formula,
.sf-page .sf-price-card__price::before {
  background: var(--aqg-gold) !important;
}

.sf-page {
  --sf-green: var(--aqg-gold);
  --sf-green-dark: var(--aqg-bronze-deep);
  --sf-ink: var(--aqg-graphite);
  --sf-copy: var(--aqg-copy-muted);
  --sf-line: var(--aqg-line);
}

.sf-page .sf-hero::after {
  background:
    radial-gradient(circle at 10% 15%, rgba(250, 195, 0, 0.14), transparent 30%),
    linear-gradient(90deg, rgba(16, 21, 18, 0.98) 0%, rgba(16, 21, 18, 0.9) 42%, rgba(16, 21, 18, 0.42) 72%, rgba(16, 21, 18, 0.12) 100%) !important;
}

.sf-page .sf-bottom-cta,
.sf-page .sf-included {
  background-color: var(--aqg-graphite) !important;
}

@media (max-width: 720px) {
  .seo-layout {
    padding-top: 42px;
    padding-bottom: 56px;
  }

  .seo-section {
    padding-bottom: 30px;
  }

  .seo-section + .seo-section {
    padding-top: 30px;
  }
}

/* Lead and estimate controls appear on every route, so their selected and
   success states use the same gold language as the rest of the site. */
.estimate-calculator-toggle,
.estimate-calculator-section,
.estimate-compact-inputs .field,
.estimate-home-details__fields .field,
.estimate-choice-cards label,
.estimate-service-cards label,
.estimate-price-preview {
  border-color: rgba(216, 157, 0, 0.42) !important;
  color: var(--aqg-graphite) !important;
}

.estimate-calculator-toggle,
.estimate-calculator-section__header,
.estimate-choice-cards label,
.estimate-service-cards label,
.estimate-compact-inputs .field,
.estimate-home-details__fields .field,
.estimate-price-preview {
  background-color: var(--aqg-surface) !important;
}

.estimate-calculator-section__header > span,
.estimate-price-preview__eyebrow,
.estimate-optional-details summary,
.estimate-required-note,
.estimate-photo-handoff strong {
  color: var(--aqg-bronze-deep) !important;
}

.estimate-modal__form .field label,
.estimate-home-details h4,
.estimate-home-details__fields .field > label,
.estimate-choice-group legend,
.estimate-service-cards label > span:last-child,
.sms-consent__copy strong {
  color: var(--aqg-graphite) !important;
}

.estimate-choice-cards label input,
.estimate-service-cards label input {
  border-color: var(--aqg-bronze) !important;
  background-color: var(--aqg-surface) !important;
}

.estimate-choice-cards label input:checked,
.estimate-service-cards label input:checked,
.estimate-choice-cards label:has(input:checked)::after {
  border-color: var(--aqg-gold) !important;
  background-color: var(--aqg-gold) !important;
  color: var(--aqg-gold-ink) !important;
}

.estimate-choice-cards label:has(input:checked),
.estimate-service-cards label:has(input:checked) {
  border-color: var(--aqg-gold) !important;
  background: #fff5d2 !important;
  color: var(--aqg-graphite) !important;
  box-shadow: inset 0 0 0 1px rgba(250, 195, 0, 0.28) !important;
}

.estimate-price-preview strong,
.estimate-price-preview .estimate-price-preview__total,
.estimate-price-preview summary {
  color: var(--aqg-bronze-deep) !important;
}

/* Seamless installation page: keep the product, rather than decorative tiles,
   at the center of the page.  This is deliberately scoped to this long-form
   service template so the other service page compositions stay intact. */
main.seamless-page.seamless-install-page .seamless-stat__icon,
main.seamless-page.seamless-install-page .seamless-feature__icon,
main.seamless-page.seamless-install-page .seamless-factor__icon,
main.seamless-page.seamless-install-page .seamless-cta-icon {
  width: 48px;
  height: 48px;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

.seamless-install-page .seamless-stat__icon img,
.seamless-install-page .seamless-feature__icon img,
.seamless-install-page .seamless-factor__icon img,
.seamless-install-page .seamless-cta-icon img {
  width: 34px;
  height: 34px;
}

.seamless-install-page .seamless-stat {
  gap: 14px;
  padding: 18px 24px;
}

/* The source product images have a pale raster canvas.  Multiply lets the
   cream surface show through without altering the gutter finish itself. */
.seamless-install-page .seamless-price-card__image,
.seamless-install-page .seamless-compare-card > img {
  background: transparent !important;
  mix-blend-mode: multiply;
  filter: brightness(1.08) contrast(0.96);
}

.seamless-install-page .seamless-price-card__image {
  height: 118px;
  margin: 16px 0 22px;
  object-fit: contain;
}

.seamless-install-page .seamless-compare-card > img {
  object-fit: contain;
}

/* The value proposition is a compact two-by-two card group: every item has
   equal visual weight, no orphaned card, and space for its copy at all sizes. */
.seamless-install-page .seamless-why-grid {
  gap: clamp(28px, 5vw, 68px);
  align-items: stretch;
}

.seamless-install-page .seamless-photo-card {
  min-height: 100%;
  border: 1px solid rgba(216, 157, 0, 0.3);
  box-shadow: 0 22px 52px rgba(43, 33, 21, 0.1);
}

.seamless-install-page .seamless-why-grid > div:last-child {
  padding: clamp(28px, 3vw, 42px);
  border: 1px solid rgba(216, 157, 0, 0.3);
  border-radius: 24px;
  background: linear-gradient(145deg, #fffdf8 0%, #f7f0df 100%);
  box-shadow: 0 22px 52px rgba(43, 33, 21, 0.08);
}

.seamless-install-page .seamless-feature-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
  margin-top: 30px;
}

.seamless-install-page .seamless-feature {
  grid-template-columns: 48px minmax(0, 1fr);
  gap: 14px;
  min-height: 144px;
  padding: 20px;
  border: 1px solid rgba(216, 157, 0, 0.26) !important;
  border-radius: 18px;
  background: rgba(250, 249, 246, 0.8) !important;
  box-shadow: none !important;
}

.seamless-install-page .seamless-feature h3 {
  margin-bottom: 6px;
  color: var(--aqg-graphite) !important;
  font-size: 17px;
  line-height: 1.2;
}

.seamless-install-page .seamless-feature p {
  font-size: 14px;
  line-height: 1.5;
}

/* The quick-estimate prompt is light and legible, matching the cards on the
   homepage while retaining one unmistakable gold action. */
.seamless-install-page .seamless-inline-cta {
  grid-template-columns: 48px minmax(0, 1fr) auto;
  gap: 22px;
  padding: 30px 34px;
  border: 1px solid rgba(216, 157, 0, 0.5) !important;
  border-radius: 22px;
  color: var(--aqg-graphite) !important;
  background: linear-gradient(135deg, #f7f0df 0%, #fffdf8 58%, #f4ecd6 100%) !important;
  box-shadow: 0 18px 42px rgba(43, 33, 21, 0.1) !important;
}

.seamless-install-page .seamless-inline-cta h2 {
  color: var(--aqg-graphite) !important;
  font-size: clamp(24px, 2.4vw, 34px);
}

.seamless-install-page .seamless-inline-cta p {
  color: var(--aqg-copy-muted) !important;
}

@media (max-width: 860px) {
  .seamless-install-page .seamless-why-grid > div:last-child {
    padding: 26px;
  }

  .seamless-install-page .seamless-feature-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 640px) {
  .seamless-install-page .seamless-stat {
    padding: 16px;
  }

  .seamless-install-page .seamless-feature-grid {
    grid-template-columns: 1fr;
  }

  .seamless-install-page .seamless-feature {
    min-height: 0;
    padding: 18px;
  }

  .seamless-install-page .seamless-inline-cta {
    grid-template-columns: 44px minmax(0, 1fr);
    gap: 16px;
    padding: 24px;
  }

  .seamless-install-page .seamless-inline-cta .btn {
    grid-column: 1 / -1;
    width: 100%;
  }
}

/* Keep the two dark conclusion blocks readable and structurally stable. */
main.seamless-page.seamless-install-page .seamless-final-cta__inner {
  grid-template-columns: minmax(0, 1.35fr) minmax(300px, 0.65fr);
  gap: clamp(28px, 4vw, 52px);
  padding: clamp(36px, 4vw, 52px);
}

main.seamless-page.seamless-install-page .seamless-final-cta h2 {
  max-width: 680px;
  color: #fffaf4 !important;
  font-size: clamp(36px, 3.55vw, 50px);
  line-height: 1.06;
}

main.seamless-page.seamless-install-page .seamless-final-cta h2 .text-green {
  color: var(--aqg-gold) !important;
  white-space: nowrap;
}

main.seamless-page.seamless-install-page .seamless-final-cta p:not(.seamless-eyebrow) {
  color: rgba(250, 249, 246, 0.82) !important;
}

main.seamless-page.seamless-install-page .seamless-final-cta .seamless-eyebrow {
  color: var(--aqg-gold-bright) !important;
}

main.seamless-page.seamless-install-page .seamless-process {
  overflow: visible;
  border: 1px solid rgba(250, 195, 0, 0.32);
  background:
    radial-gradient(circle at 8% 0%, rgba(250, 195, 0, 0.11), transparent 42%),
    linear-gradient(135deg, #1b1d18 0%, #101512 100%) !important;
}

main.seamless-page.seamless-install-page .seamless-process__inner {
  grid-template-columns: 230px minmax(0, 1fr);
  gap: 26px;
  padding: 30px;
}

main.seamless-page.seamless-install-page .seamless-process h2 {
  color: #fffaf4 !important;
  font-size: clamp(27px, 2.55vw, 38px);
}

main.seamless-page.seamless-install-page .seamless-process-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
  align-items: stretch;
}

main.seamless-page.seamless-install-page .seamless-process-step {
  position: relative;
  display: grid;
  grid-template-columns: 1fr;
  grid-template-areas:
    "icon"
    "title"
    "text";
  justify-items: center;
  align-content: start;
  gap: 10px;
  min-height: 188px;
  padding: 34px 24px 24px;
  border: 1px solid rgba(216, 157, 0, 0.28) !important;
  border-radius: 16px;
  background: #fffdf8 !important;
  text-align: center;
}

main.seamless-page.seamless-install-page .seamless-process__num {
  position: absolute;
  top: 18px;
  left: 18px;
  width: 26px;
  height: 26px;
  border: 0 !important;
  border-radius: 999px;
  background: var(--aqg-gold) !important;
  color: var(--aqg-gold-ink) !important;
  font-size: 11px;
}

main.seamless-page.seamless-install-page .seamless-process-step img {
  grid-area: icon;
  width: 62px;
  height: 62px;
}

main.seamless-page.seamless-install-page .seamless-process-step h3 {
  grid-area: title;
  color: var(--aqg-graphite) !important;
  font-size: 15px;
  line-height: 1.2;
}

main.seamless-page.seamless-install-page .seamless-process-step p {
  grid-area: text;
  color: var(--aqg-copy-muted) !important;
  font-size: 13px;
  line-height: 1.45;
}

@media (max-width: 1180px) {
  main.seamless-page.seamless-install-page .seamless-process__inner,
  main.seamless-page.seamless-install-page .seamless-final-cta__inner {
    grid-template-columns: 1fr;
  }

  main.seamless-page.seamless-install-page .seamless-process-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 640px) {
  main.seamless-page.seamless-install-page .seamless-process__inner,
  main.seamless-page.seamless-install-page .seamless-final-cta__inner {
    padding: 24px;
  }

  main.seamless-page.seamless-install-page .seamless-process-grid {
    grid-template-columns: 1fr;
  }

  main.seamless-page.seamless-install-page .seamless-process-step {
    min-height: 0;
  }

  main.seamless-page.seamless-install-page .seamless-final-cta h2 .text-green {
    white-space: normal;
  }

  main.seamless-page.seamless-install-page .seamless-final-cta__actions {
    display: grid;
  }
}

/* A single, generous icon scale makes the long page scannable at a glance. */
main.seamless-page.seamless-install-page .seamless-feature {
  grid-template-columns: 62px minmax(0, 1fr);
  gap: 16px;
  min-height: 158px;
}

main.seamless-page.seamless-install-page .seamless-feature__icon {
  width: 62px;
  height: 62px;
}

main.seamless-page.seamless-install-page .seamless-feature__icon img {
  width: 48px;
  height: 48px;
}

main.seamless-page.seamless-install-page .seamless-cta-icon {
  width: 60px;
  height: 60px;
}

main.seamless-page.seamless-install-page .seamless-cta-icon img {
  width: 48px;
  height: 48px;
}

main.seamless-page.seamless-install-page .seamless-stat__icon {
  width: 56px;
  height: 56px;
}

main.seamless-page.seamless-install-page .seamless-stat__icon img {
  width: 42px;
  height: 42px;
}

/* The included list uses roomy cards instead of a compressed ticker row. */
main.seamless-page.seamless-install-page .seamless-included__inner {
  grid-template-columns: minmax(230px, 0.42fr) minmax(0, 1.58fr);
  gap: clamp(24px, 3vw, 42px);
  padding: clamp(28px, 3vw, 40px);
}

main.seamless-page.seamless-install-page .seamless-included-list {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0;
  align-content: center;
}

main.seamless-page.seamless-install-page .seamless-included-list li {
  grid-template-columns: 56px minmax(0, 1fr);
  gap: 14px;
  min-height: 116px;
  padding: 16px 18px;
  align-items: center;
  border: 0 !important;
  border-color: rgba(250, 195, 0, 0.42) !important;
  font-size: 14px;
}

main.seamless-page.seamless-install-page .seamless-included-list li:nth-child(3n + 1),
main.seamless-page.seamless-install-page .seamless-included-list li:nth-child(3n + 2) {
  border-right: 1px solid rgba(250, 195, 0, 0.35) !important;
}

main.seamless-page.seamless-install-page .seamless-included-list li:nth-child(-n + 3) {
  border-bottom: 1px solid rgba(250, 195, 0, 0.35) !important;
}

main.seamless-page.seamless-install-page .seamless-included-list img {
  width: 56px;
  height: 56px;
}

main.seamless-page.seamless-install-page .seamless-factors-layout {
  grid-template-columns: minmax(250px, 0.42fr) minmax(0, 1fr);
  gap: 36px;
}

main.seamless-page.seamless-install-page .seamless-factors-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
}

main.seamless-page.seamless-install-page .seamless-factor {
  grid-template-columns: 60px minmax(0, 1fr);
  gap: 14px;
  min-height: 142px;
  padding: 18px;
  border-radius: 16px;
}

main.seamless-page.seamless-install-page .seamless-factor__icon {
  width: 60px;
  height: 60px;
}

main.seamless-page.seamless-install-page .seamless-factor__icon img {
  width: 48px;
  height: 48px;
}

main.seamless-page.seamless-install-page .seamless-factor h3 {
  margin-bottom: 6px;
  font-size: 15px;
}

main.seamless-page.seamless-install-page .seamless-factor p {
  font-size: 13px;
  line-height: 1.42;
}

/* Use a quiet gold dot in comparison lists instead of a literal check mark. */
main.seamless-page.seamless-install-page .seamless-check-list {
  gap: 10px;
}

main.seamless-page.seamless-install-page .seamless-check-list li {
  min-height: 20px;
  padding-left: 24px;
  color: var(--aqg-copy-muted);
}

main.seamless-page.seamless-install-page .seamless-check-list li::before {
  content: "";
  top: 6px;
  display: block;
  width: 10px;
  height: 10px;
  border: 2px solid var(--aqg-gold) !important;
  border-radius: 999px;
  background: transparent !important;
}

/* The formula becomes a calm information chip instead of a highlighter bar. */
main.seamless-page.seamless-install-page .seamless-formula-card {
  padding: clamp(30px, 3vw, 42px);
}

main.seamless-page.seamless-install-page .seamless-formula {
  min-height: 58px;
  margin: 14px 0 28px;
  padding: 12px 16px;
  border: 1px solid rgba(216, 157, 0, 0.48);
  border-radius: 14px;
  background: #fff5d2 !important;
  color: var(--aqg-graphite);
  font-size: clamp(16px, 1.55vw, 21px);
}

main.seamless-page.seamless-install-page .seamless-formula span {
  display: inline;
  width: auto;
  height: auto;
  margin: 0 6px;
  background: transparent !important;
  color: var(--aqg-bronze-deep) !important;
}

main.seamless-page.seamless-install-page .seamless-area-pills a {
  border-color: rgba(250, 195, 0, 0.52) !important;
  background: rgba(250, 195, 0, 0.08) !important;
  color: var(--aqg-graphite) !important;
}

main.seamless-page.seamless-install-page .seamless-area-pills a::before {
  width: 18px;
  height: 18px;
  background: var(--aqg-gold) !important;
  -webkit-mask: url("/assets/img/icons/premium-line-green/map-pin.svg?v=6b1ccf761397") center / contain no-repeat;
  mask: url("/assets/img/icons/premium-line-green/map-pin.svg?v=6b1ccf761397") center / contain no-repeat;
}

main.seamless-page.seamless-install-page .seamless-process__num {
  width: 30px;
  height: 30px;
  font-size: 12px;
}

main.seamless-page.seamless-install-page .seamless-process-step img {
  width: 62px;
  height: 62px;
}

@media (max-width: 1180px) {
  main.seamless-page.seamless-install-page .seamless-factors-layout {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 760px) {
  main.seamless-page.seamless-install-page .seamless-factors-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  main.seamless-page.seamless-install-page .seamless-included__inner {
    grid-template-columns: 1fr;
  }

  main.seamless-page.seamless-install-page .seamless-included-list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  main.seamless-page.seamless-install-page .seamless-included-list li:nth-child(n) {
    border: 0 !important;
    border-bottom: 1px solid rgba(250, 195, 0, 0.3) !important;
  }

  main.seamless-page.seamless-install-page .seamless-included-list li:nth-child(odd) {
    border-right: 1px solid rgba(250, 195, 0, 0.3) !important;
  }

  main.seamless-page.seamless-install-page .seamless-included-list li:last-child {
    border-bottom: 0 !important;
  }

  main.seamless-page.seamless-install-page .seamless-included-list img {
    width: 48px;
    height: 48px;
  }
}

@media (max-width: 540px) {
  main.seamless-page.seamless-install-page .seamless-factors-grid {
    grid-template-columns: 1fr;
  }

  main.seamless-page.seamless-install-page .seamless-included-list {
    grid-template-columns: 1fr;
  }

  main.seamless-page.seamless-install-page .seamless-included-list li:nth-child(n) {
    border-right: 0 !important;
  }

  main.seamless-page.seamless-install-page .seamless-feature {
    grid-template-columns: 56px minmax(0, 1fr);
    min-height: 0;
  }
}

/* The streamlined request form currently collects only the core contact
   details.  The optional controls remain in the markup and JavaScript so they
   can be re-enabled without changing the submission flow. */
.estimate-modal .estimate-optional-details,
.estimate-modal .photo-upload,
.estimate-modal .estimate-calculator-toggle,
.estimate-modal .estimate-calculator-hint {
  display: none !important;
}

/* Keep the form header within the site's warm cream, graphite and gold system
   instead of the former green-black treatment. */
.estimate-modal__header {
  background:
    radial-gradient(circle at 92% 8%, rgba(250, 195, 0, 0.22), transparent 34%),
    linear-gradient(135deg, #fffdf6 0%, #f4ecd6 100%) !important;
  border-bottom-color: rgba(216, 157, 0, 0.42) !important;
}

.estimate-modal__header .estimate-modal__eyebrow {
  color: var(--aqg-gold-deep) !important;
}

.estimate-modal__header h2 {
  color: var(--aqg-graphite) !important;
}

.estimate-modal__header p {
  color: var(--muted) !important;
}

.estimate-modal__close {
  border-color: rgba(166, 106, 0, 0.26) !important;
  background: rgba(255, 253, 246, 0.86) !important;
  color: var(--aqg-graphite) !important;
}

.estimate-modal__close:hover,
.estimate-modal__close:focus-visible {
  border-color: var(--aqg-gold-deep) !important;
  background: var(--aqg-gold) !important;
  color: var(--aqg-gold-ink) !important;
}

/* Shared trust strip: the same restrained graphite-and-gold surface on every page. */
.trust-bar {
  background: linear-gradient(90deg, #111714 0%, #242014 50%, #111714 100%) !important;
  border-top: 1px solid rgba(250, 195, 0, 0.22) !important;
  border-bottom: 1px solid rgba(250, 195, 0, 0.22) !important;
  color: rgb(250, 249, 246) !important;
}

.trust-bar__inner {
  color: inherit;
}

/* Directory calls-to-action retain the homepage's light-on-graphite contrast. */
.seo-directory-cta {
  background:
    radial-gradient(circle at 72% 22%, rgba(250, 195, 0, 0.16), transparent 32%),
    linear-gradient(135deg, #101512 0%, #1b231f 100%) !important;
}

.seo-directory-cta h2 {
  color: rgb(250, 249, 246) !important;
}

.seo-directory-cta p {
  color: rgba(250, 249, 246, 0.78) !important;
}

@media (min-width: 1300px) {
  main.seamless-page.seamless-install-page .seamless-included-list {
    grid-template-columns: repeat(5, minmax(0, 1fr));
  }

  main.seamless-page.seamless-install-page .seamless-included-list li {
    grid-template-columns: 1fr;
    gap: 12px;
    min-height: 166px;
    padding: 18px 14px;
    justify-items: center;
    text-align: center;
  }

  main.seamless-page.seamless-install-page .seamless-included-list li:nth-child(n) {
    border-bottom: 0 !important;
  }

  main.seamless-page.seamless-install-page .seamless-included-list li:not(:last-child) {
    border-right: 1px solid rgba(250, 195, 0, 0.35) !important;
  }
}

/* Services & Prices: the five remaining detail pages share the relaxed,
   legible composition introduced on the seamless-gutter page. */
main.seamless-page:is(.gutter-guards-page, .gutter-replacement-page, .soffit-page, .downspout-page, .accessory-page) .seamless-stat__icon,
main.seamless-page:is(.gutter-guards-page, .gutter-replacement-page, .soffit-page, .downspout-page, .accessory-page) .seamless-feature__icon,
main.seamless-page:is(.gutter-guards-page, .gutter-replacement-page, .soffit-page, .downspout-page, .accessory-page) .seamless-factor__icon,
main.seamless-page:is(.gutter-guards-page, .gutter-replacement-page, .soffit-page, .downspout-page, .accessory-page) .seamless-cta-icon {
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

main.seamless-page:is(.gutter-guards-page, .gutter-replacement-page, .soffit-page, .downspout-page, .accessory-page) .seamless-stat__icon {
  width: 56px;
  height: 56px;
}

main.seamless-page:is(.gutter-guards-page, .gutter-replacement-page, .soffit-page, .downspout-page, .accessory-page) .seamless-stat__icon img {
  width: 42px;
  height: 42px;
}

main.seamless-page:is(.gutter-guards-page, .gutter-replacement-page, .soffit-page, .downspout-page, .accessory-page) .seamless-why-grid {
  gap: clamp(28px, 4vw, 54px);
  align-items: center;
}

main.seamless-page:is(.gutter-guards-page, .gutter-replacement-page, .soffit-page, .downspout-page, .accessory-page) .seamless-feature-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
}

main.seamless-page:is(.gutter-guards-page, .gutter-replacement-page, .soffit-page, .downspout-page, .accessory-page) .seamless-feature {
  grid-template-columns: 62px minmax(0, 1fr);
  gap: 16px;
  min-height: 150px;
  padding: 20px;
  border: 1px solid rgba(250, 195, 0, 0.34) !important;
  border-radius: 16px;
  background: #fffdf8 !important;
}

main.seamless-page:is(.gutter-guards-page, .gutter-replacement-page, .soffit-page, .downspout-page, .accessory-page) .seamless-feature__icon {
  width: 62px;
  height: 62px;
}

main.seamless-page:is(.gutter-guards-page, .gutter-replacement-page, .soffit-page, .downspout-page, .accessory-page) .seamless-feature__icon img {
  width: 48px;
  height: 48px;
}

/* The estimate formula remains an information chip, never a highlighter bar. */
main.seamless-page:is(.gutter-guards-page, .gutter-replacement-page, .soffit-page, .downspout-page, .accessory-page) .seamless-formula-card {
  padding: clamp(30px, 3vw, 42px);
}

main.seamless-page:is(.gutter-guards-page, .gutter-replacement-page, .soffit-page, .downspout-page, .accessory-page) .seamless-formula {
  min-height: 58px;
  margin: 14px 0 28px;
  padding: 12px 16px;
  border: 1px solid rgba(216, 157, 0, 0.48);
  border-radius: 14px;
  background: #fff5d2 !important;
  color: var(--aqg-graphite) !important;
  font-size: clamp(16px, 1.55vw, 21px);
}

main.seamless-page:is(.gutter-guards-page, .gutter-replacement-page, .soffit-page, .downspout-page, .accessory-page) .seamless-formula span {
  display: inline;
  width: auto;
  height: auto;
  margin: 0 6px;
  border: 0 !important;
  background: transparent !important;
  color: var(--aqg-bronze-deep) !important;
}

/* Installation scope is a full-size grid, with enough room for both icon and copy. */
main.seamless-page:is(.gutter-guards-page, .gutter-replacement-page, .soffit-page, .downspout-page, .accessory-page) .seamless-included__inner {
  grid-template-columns: minmax(230px, 0.42fr) minmax(0, 1.58fr);
  gap: clamp(24px, 3vw, 42px);
  padding: clamp(28px, 3vw, 40px);
}

main.seamless-page:is(.gutter-guards-page, .gutter-replacement-page, .soffit-page, .downspout-page, .accessory-page) .seamless-included h2 {
  margin: 0;
}

main.seamless-page:is(.gutter-guards-page, .gutter-replacement-page, .soffit-page, .downspout-page, .accessory-page) .seamless-included-list {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0;
  align-content: center;
}

main.seamless-page:is(.gutter-guards-page, .gutter-replacement-page, .soffit-page, .downspout-page, .accessory-page) .seamless-included-list li {
  grid-template-columns: 56px minmax(0, 1fr);
  gap: 14px;
  min-height: 116px;
  padding: 16px 18px;
  align-items: center;
  border: 0 !important;
  color: rgba(255, 255, 255, 0.86) !important;
  font-size: 14px;
}

main.seamless-page:is(.gutter-guards-page, .gutter-replacement-page, .soffit-page, .downspout-page, .accessory-page) .seamless-included-list li:nth-child(3n + 1),
main.seamless-page:is(.gutter-guards-page, .gutter-replacement-page, .soffit-page, .downspout-page, .accessory-page) .seamless-included-list li:nth-child(3n + 2) {
  border-right: 1px solid rgba(250, 195, 0, 0.35) !important;
}

main.seamless-page:is(.gutter-guards-page, .gutter-replacement-page, .soffit-page, .downspout-page, .accessory-page) .seamless-included-list li:nth-child(-n + 3) {
  border-bottom: 1px solid rgba(250, 195, 0, 0.35) !important;
}

main.seamless-page:is(.gutter-replacement-page) .seamless-included-list li:last-child {
  grid-column: 2;
}

main.seamless-page.gutter-replacement-page .seamless-included-list li:nth-child(n) {
  border: 0 !important;
}

main.seamless-page:is(.gutter-guards-page, .gutter-replacement-page, .soffit-page, .downspout-page, .accessory-page) .seamless-included-list img {
  width: 56px;
  height: 56px;
}

/* Price factors use the same three-column reading rhythm across services. */
main.seamless-page:is(.gutter-guards-page, .gutter-replacement-page, .soffit-page, .downspout-page, .accessory-page) .seamless-factors-layout {
  grid-template-columns: minmax(250px, 0.42fr) minmax(0, 1fr);
  gap: 36px;
}

main.seamless-page:is(.gutter-guards-page, .gutter-replacement-page, .soffit-page, .downspout-page, .accessory-page) .seamless-factors-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
}

main.seamless-page:is(.gutter-guards-page, .gutter-replacement-page, .soffit-page, .downspout-page, .accessory-page) .seamless-factor {
  grid-template-columns: 60px minmax(0, 1fr);
  gap: 14px;
  min-height: 142px;
  padding: 18px;
  border-radius: 16px;
}

main.seamless-page:is(.gutter-guards-page, .gutter-replacement-page, .soffit-page, .downspout-page, .accessory-page) .seamless-factor__icon {
  width: 60px;
  height: 60px;
}

main.seamless-page:is(.gutter-guards-page, .gutter-replacement-page, .soffit-page, .downspout-page, .accessory-page) .seamless-factor__icon img {
  width: 48px;
  height: 48px;
}

main.seamless-page:is(.gutter-guards-page, .gutter-replacement-page, .soffit-page, .downspout-page, .accessory-page) .seamless-factor h3 {
  margin-bottom: 6px;
  font-size: 15px;
}

main.seamless-page:is(.gutter-guards-page, .gutter-replacement-page, .soffit-page, .downspout-page, .accessory-page) .seamless-factor p {
  font-size: 13px;
  line-height: 1.42;
}

/* Clear, centered process cards keep all service workflows consistent. */
main.seamless-page:is(.gutter-guards-page, .gutter-replacement-page, .soffit-page, .downspout-page, .accessory-page) .seamless-process__inner {
  grid-template-columns: 1fr;
  gap: 26px;
  padding: 30px;
}

main.seamless-page:is(.gutter-guards-page, .gutter-replacement-page, .soffit-page, .downspout-page, .accessory-page) .seamless-process h2 {
  color: #fffaf4 !important;
  font-size: clamp(27px, 2.55vw, 38px);
}

main.seamless-page:is(.gutter-guards-page, .gutter-replacement-page, .soffit-page, .downspout-page, .accessory-page) .seamless-process-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  align-items: stretch;
}

main.seamless-page.gutter-guards-page .seamless-process-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

main.seamless-page.downspout-page:not(.accessory-page) .seamless-process-step:last-child {
  grid-column: 2;
}

main.seamless-page:is(.gutter-guards-page, .gutter-replacement-page, .soffit-page, .downspout-page, .accessory-page) .seamless-process-step {
  position: relative;
  display: grid;
  grid-template-columns: 1fr;
  grid-template-areas: "icon" "title" "text";
  justify-items: center;
  align-content: start;
  gap: 10px;
  min-height: 196px;
  padding: 34px 24px 24px;
  border: 1px solid rgba(216, 157, 0, 0.28) !important;
  border-radius: 16px;
  background: #fffdf8 !important;
  text-align: center;
}

main.seamless-page:is(.gutter-guards-page, .gutter-replacement-page, .soffit-page, .downspout-page, .accessory-page) .seamless-process__num {
  position: absolute;
  top: 18px;
  left: 18px;
  width: 30px;
  height: 30px;
  border: 0 !important;
  border-radius: 999px;
  background: var(--aqg-gold) !important;
  color: var(--aqg-gold-ink) !important;
  font-size: 12px;
}

main.seamless-page:is(.gutter-guards-page, .gutter-replacement-page, .soffit-page, .downspout-page, .accessory-page) .seamless-process-step img {
  grid-area: icon;
  width: 62px;
  height: 62px;
}

main.seamless-page:is(.gutter-guards-page, .gutter-replacement-page, .soffit-page, .downspout-page, .accessory-page) .seamless-process-step h3 {
  grid-area: title;
  color: var(--aqg-graphite) !important;
  font-size: 15px;
  line-height: 1.2;
}

main.seamless-page:is(.gutter-guards-page, .gutter-replacement-page, .soffit-page, .downspout-page, .accessory-page) .seamless-process-step p {
  grid-area: text;
  color: var(--aqg-copy-muted) !important;
  font-size: 13px;
  line-height: 1.45;
}

main.seamless-page:is(.gutter-guards-page, .gutter-replacement-page, .soffit-page, .downspout-page, .accessory-page) .seamless-area-pills a {
  border-color: rgba(250, 195, 0, 0.52) !important;
  background: rgba(250, 195, 0, 0.08) !important;
  color: var(--aqg-graphite) !important;
}

main.seamless-page:is(.gutter-guards-page, .gutter-replacement-page, .soffit-page, .downspout-page, .accessory-page) .seamless-area-pills a::before {
  width: 18px;
  height: 18px;
  background: var(--aqg-gold) !important;
  -webkit-mask: url("/assets/img/icons/premium-line-green/map-pin.svg?v=6b1ccf761397") center / contain no-repeat;
  mask: url("/assets/img/icons/premium-line-green/map-pin.svg?v=6b1ccf761397") center / contain no-repeat;
}

main.seamless-page:is(.gutter-guards-page, .gutter-replacement-page, .soffit-page, .downspout-page, .accessory-page) .seamless-final-cta__inner {
  grid-template-columns: minmax(0, 1.35fr) minmax(300px, 0.65fr);
  gap: 34px;
}

main.seamless-page:is(.gutter-guards-page, .gutter-replacement-page, .soffit-page, .downspout-page, .accessory-page) .seamless-final-cta h2 {
  color: #fffaf4 !important;
}

main.seamless-page:is(.gutter-guards-page, .gutter-replacement-page, .soffit-page, .downspout-page, .accessory-page) .seamless-final-cta p {
  color: rgba(255, 250, 244, 0.78) !important;
}

@media (max-width: 1180px) {
  main.seamless-page:is(.gutter-guards-page, .gutter-replacement-page, .soffit-page, .downspout-page, .accessory-page) .seamless-factors-layout,
  main.seamless-page:is(.gutter-guards-page, .gutter-replacement-page, .soffit-page, .downspout-page, .accessory-page) .seamless-final-cta__inner {
    grid-template-columns: 1fr;
  }

  main.seamless-page.gutter-guards-page .seamless-process-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 760px) {
  main.seamless-page:is(.gutter-guards-page, .gutter-replacement-page, .soffit-page, .downspout-page, .accessory-page) .seamless-feature-grid,
  main.seamless-page:is(.gutter-guards-page, .gutter-replacement-page, .soffit-page, .downspout-page, .accessory-page) .seamless-factors-grid,
  main.seamless-page:is(.gutter-guards-page, .gutter-replacement-page, .soffit-page, .downspout-page, .accessory-page) .seamless-process-grid,
  main.seamless-page:is(.gutter-guards-page, .gutter-replacement-page, .soffit-page, .downspout-page, .accessory-page) .seamless-included-list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  main.seamless-page:is(.gutter-guards-page, .gutter-replacement-page, .soffit-page, .downspout-page, .accessory-page) .seamless-included__inner {
    grid-template-columns: 1fr;
  }

  main.seamless-page:is(.gutter-guards-page, .gutter-replacement-page, .soffit-page, .downspout-page, .accessory-page) .seamless-included-list li:nth-child(n) {
    border: 0 !important;
    border-bottom: 1px solid rgba(250, 195, 0, 0.3) !important;
  }

  main.seamless-page:is(.gutter-guards-page, .gutter-replacement-page, .soffit-page, .downspout-page, .accessory-page) .seamless-included-list li:nth-child(odd) {
    border-right: 1px solid rgba(250, 195, 0, 0.3) !important;
  }

  main.seamless-page.gutter-replacement-page .seamless-included-list li:last-child,
  main.seamless-page.downspout-page:not(.accessory-page) .seamless-process-step:last-child {
    grid-column: auto;
  }
}

@media (max-width: 540px) {
  main.seamless-page:is(.gutter-guards-page, .gutter-replacement-page, .soffit-page, .downspout-page, .accessory-page) .seamless-feature-grid,
  main.seamless-page:is(.gutter-guards-page, .gutter-replacement-page, .soffit-page, .downspout-page, .accessory-page) .seamless-factors-grid,
  main.seamless-page:is(.gutter-guards-page, .gutter-replacement-page, .soffit-page, .downspout-page, .accessory-page) .seamless-process-grid,
  main.seamless-page:is(.gutter-guards-page, .gutter-replacement-page, .soffit-page, .downspout-page, .accessory-page) .seamless-included-list {
    grid-template-columns: 1fr;
  }

  main.seamless-page:is(.gutter-guards-page, .gutter-replacement-page, .soffit-page, .downspout-page, .accessory-page) .seamless-included-list li:nth-child(n) {
    border-right: 0 !important;
  }

  main.seamless-page:is(.gutter-guards-page, .gutter-replacement-page, .soffit-page, .downspout-page, .accessory-page) .seamless-feature {
    grid-template-columns: 56px minmax(0, 1fr);
    min-height: 0;
  }
}

/* Shared 404 page: concise, accessible and visually aligned with the site shell. */
.not-found-page {
  display: grid;
  place-items: center;
  min-height: clamp(31rem, 62vh, 45rem);
  padding: clamp(4.5rem, 9vw, 8rem) 0;
  background:
    radial-gradient(circle at 78% 18%, rgba(250, 195, 0, 0.18), transparent 30rem),
    linear-gradient(135deg, #fffdf8 0%, var(--aqg-cream) 100%);
}

.not-found-page__inner {
  max-width: 770px;
  text-align: center;
}

.not-found-page__eyebrow {
  margin: 0 0 0.7rem;
  color: var(--aqg-gold-deep);
  font-size: 0.82rem;
  font-weight: 800;
  letter-spacing: 0.18em;
}

.not-found-page h1 {
  max-width: 18ch;
  margin: 0 auto;
  color: var(--aqg-graphite);
  font-size: clamp(2rem, 4.6vw, 4.25rem);
  line-height: 1.05;
}

.not-found-page h1 + p {
  max-width: 42rem;
  margin: 1.25rem auto 0;
  color: var(--muted);
  font-size: clamp(1rem, 2vw, 1.18rem);
}

.not-found-page__actions,
.not-found-page__links {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 0.8rem;
}

.not-found-page__actions { margin-top: 2rem; }

.not-found-page__links { margin-top: 1.45rem; }

.not-found-page__links a {
  color: var(--aqg-graphite);
  font-size: 0.92rem;
  font-weight: 700;
  text-decoration-color: rgba(216, 157, 0, 0.55);
  text-underline-offset: 0.22em;
}

.not-found-page__links a:hover,
.not-found-page__links a:focus-visible { color: var(--aqg-gold-deep); }

@media (max-width: 560px) {
  .not-found-page { min-height: 29rem; }

  .not-found-page__actions .btn { width: min(100%, 21rem); }
}

/*
 * One icon color across the site.
 *
 * Decorative SVGs are authored in #f6bf00, so we deliberately remove the
 * legacy CSS color filters here. Social and Google marks remain untouched.
 */
:root {
  --aqg-icon-gold: #f6bf00;
}

img[src*="assets/img/icons/"][src*=".svg"]:not([src*="google"]):not([src*="facebook"]):not([src*="instagram"]),
.footer-cta__call-icon svg {
  filter: none !important;
}

.footer-contact__icon,
.footer-cta__call-icon,
.estimate-service-card__icon {
  color: var(--aqg-icon-gold) !important;
}
