/*
 * Color-only preview for the exact Vercel production build from August 21, 2026.
 * This stylesheet deliberately leaves layout, typography, content, imagery,
 * component structure, responsive behavior, and navigation untouched.
 */

:root {
  --ink: #203025;
  --ink-soft: #3f5143;
  --forest: #4f7839;
  --forest-dark: #31583b;
  --leaf: #6d9650;
  --leaf-light: #dcebcf;
  --chalk: #f7f5ee;
  --paper: #fffef9;
  --stone: #dce4d8;
  --sand: #a58d61;
  --sage: #e9efe5;
  --slate: #5b6b5e;
  --night: #edf2e9;
  --surface-sheen: linear-gradient(155deg, #ffffffd9 0%, #ffffff8f 42%, #d9e3d56e 100%);
  --surface-dark: linear-gradient(155deg, #ffffffde 0%, #f4f7f1bd 48%, #dce6d89e 100%);
  --button-sheen: linear-gradient(180deg, #ffffff4d, transparent 48%, #24402a1f);
  --bevel-light: inset 0 1px 0 #ffffff, inset 0 -1px 0 #b6c6b7;
  --bevel-dark: inset 0 1px 0 #ffffff80, inset 0 -2px 0 #173a2540;
  --shadow-sm: 0 8px 20px #29442f12, 0 1px 3px #29442f14;
  --shadow-md: 0 20px 46px #29442f18, 0 4px 12px #29442f12;
  --shadow-lg: 0 34px 76px #29442f20, 0 10px 26px #29442f16;
}

/* Keep the About hero inside narrow phone viewports. */
@media (max-width: 760px) {
  ._page_172ic_1,
  ._page_172ic_1 * {
    box-sizing: border-box;
  }

  ._page_172ic_1 {
    overflow-x: clip;
  }

  ._hero_172ic_2 h1 {
    font-size: clamp(3rem, 16vw, 4.5rem);
    overflow-wrap: anywhere;
  }

  ._teamCard_172ic_17 {
    width: 100%;
  }
}

body {
  background: #f7f5ee;
  color: #203025;
}

.utility-bar,
[class^="_utilityBar_"],
[class*=" _utilityBar_"],
[class^="_utility_"],
[class*=" _utility_"] {
  background: #31583b;
  border-color: #ffffff2e;
  color: #f8fbf5;
}

.site-header,
[class^="_header_"],
[class*=" _header_"] {
  background: #fffdf7f2;
  border-color: #cbd8c8;
  box-shadow: 0 12px 30px #29442f14, inset 0 -1px #ffffff;
}

.desktop-nav a,
.desktop-services-menu > summary,
.nav-phone,
[class*="_desktopNav_"] a,
[class*="_servicesMenu_"] > summary,
[class*="_phone_"] {
  color: #35483a;
}

header .first-choice-client-portal {
  min-height: 44px;
  display: inline-flex;
  align-items: center;
  color: #31583b !important;
  font-size: 14px;
  font-weight: 800;
  white-space: nowrap;
}

header .nav-actions,
header [class*="_headerActions_"] {
  gap: 18px;
}

.desktop-services-panel,
[class*="_servicesPanel_"] {
  background: linear-gradient(145deg, #fffefb, #edf3e9);
  border-color: #bdcfb9;
  box-shadow: 0 28px 60px #29442f1f, inset 0 1px #ffffff;
}

.desktop-services-panel strong,
[class*="_servicesPanel_"] strong {
  color: #203025;
}

.desktop-services-panel small,
[class*="_servicesPanel_"] small {
  color: #607064;
}

.mobile-menu-panel,
[class*="_mobileMenu_"] nav {
  background: #fffdf8f7;
  color: #203025;
}

.hero-scrim {
  background:
    linear-gradient(90deg, #f6f3e8e3 0%, #f6f3e8b8 38%, #f6f3e829 72%),
    linear-gradient(#ffffff00 64%, #e7ede287);
}

.hero h1,
[class^="_hero_"] h1,
[class*=" _hero_"] h1 {
  background: linear-gradient(
    180deg,
    #ffffff 0%,
    #fbfcf8 18%,
    #eef3e9 45%,
    #d7e3d0 72%,
    #b9cbb1 100%
  );
  -webkit-background-clip: text;
  background-clip: text;
}

.hero-lead,
.hero-note,
[class*="_heroLead_"],
[class*="_heroCopy_"] > p:not([class*="_eyebrow_"]) {
  color: #35483a;
}

.button-ghost {
  background: #fffdf7d9;
  border-color: #31583b;
  color: #203025;
  box-shadow: 0 12px 28px #29442f1a, var(--bevel-light);
}

.button-ghost:hover {
  background: #31583b;
  border-color: #31583b;
  color: #ffffff;
}

.evidence,
.faq-section,
.story-section,
.services-section,
[class^="_page_"],
[class*=" _page_"] {
  background-color: #f7f5ee;
  color: #203025;
}

.evidence {
  background: linear-gradient(#fffef9, #f1f4ed);
  border-color: #cdd9ca;
  box-shadow: 0 16px 36px #29442f12, inset 0 1px #ffffff;
}

.evidence p {
  background: #ffffff99;
  border-color: #d6e0d2;
  box-shadow: none;
}

.evidence strong,
h2,
h3,
[class^="_page_"] h2,
[class^="_page_"] h3,
[class*=" _page_"] h2,
[class*=" _page_"] h3 {
  color: #203025;
}

.section-intro > p:last-child,
.service-body > p:not(.field-label),
.story-copy p,
.faq-intro > p:not(.eyebrow),
.faq-list details > p,
[class^="_page_"] p,
[class*=" _page_"] p {
  color: #5b6b5e;
}

.services-section {
  background: radial-gradient(circle at 86% 12%, #9bb78a2e, transparent 24%), #f7f5ee;
}

.services-section > .shell > #services-title {
  margin: 0 0 clamp(28px, 4vw, 46px);
}

.revision-service-groups {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: clamp(18px, 2.5vw, 30px);
}

#services, .revision-service-group { scroll-margin-top: 110px; }

.revision-service-group {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr);
  align-items: center;
  gap: clamp(24px, 3.5vw, 48px);
  padding: clamp(24px, 3vw, 38px);
  border: 1px solid #c5d3c2;
  border-radius: 22px;
  background: linear-gradient(145deg, #fffefb, #edf2e9);
  box-shadow: 0 18px 42px #29442f14, inset 0 1px #ffffff;
}

.revision-service-group > .revision-service-photo {
  min-width: 0;
  aspect-ratio: 4 / 3;
  margin: 0;
  overflow: hidden;
  border-radius: 14px;
}

.revision-service-photo > img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.revision-service-group > .revision-service-content {
  min-width: 0;
}

.revision-service-group h3 {
  margin: 0 0 20px;
  padding: 0 0 20px;
  border-bottom: 2px solid #9db49a;
  color: #203025;
}

.revision-service-group h3 a:hover,
.revision-service-group h3 a:focus-visible {
  color: #31583b;
}

.revision-service-list {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  margin: 0;
  padding: 0;
  list-style: none;
}

.revision-service-list li + li {
  border-top: 1px solid #d5dfd2;
}

.revision-service-list a {
  min-height: 58px;
  display: flex;
  align-items: center;
  color: #203025;
  font-size: clamp(1rem, 1.6vw, 1.15rem);
  font-weight: 700;
  transition: color 180ms ease, padding 180ms ease;
}

.revision-service-list a:hover,
.revision-service-list a:focus-visible {
  padding-left: 8px;
  color: #31583b;
}

@media (max-width: 760px) {
  .revision-service-group {
    grid-template-columns: minmax(0, 1fr);
  }

  .revision-service-list a {
    min-height: 54px;
  }
}

.process-section {
  background: linear-gradient(180deg, #edf2e9, #f7f5ee);
  box-shadow: inset 0 1px #ffffff, inset 0 -1px #cbd8c8;
}

.process-grid {
  background: linear-gradient(145deg, #dfe8db, #f5f7f2);
  border-color: #c5d3c2;
  box-shadow: inset 0 3px 10px #29442f12, inset 0 1px #ffffff;
}

.process-grid li {
  background: var(--surface-sheen), linear-gradient(145deg, #fffefb, #eaf0e6);
  border-color: #cbd8c8;
  box-shadow: var(--shadow-sm), var(--bevel-light);
}

.projects-section {
  background: linear-gradient(180deg, #f7f5ee, #edf2e9);
}

.project-standard-dark {
  background: var(--surface-sheen), linear-gradient(145deg, #fffefb, #eaf0e6);
  border-color: #cbd8c8;
  color: #203025;
  box-shadow: var(--shadow-lg), var(--bevel-light);
}

.project-standard-dark h3 {
  color: #203025;
  text-shadow: var(--type-card);
}

.project-standard-dark .field-label {
  color: var(--forest) !important;
}

.project-standard-dark > p:last-child {
  color: var(--slate);
}

.service-card,
.story-copy,
.faq-list details,
.project-standard,
[class*="_fitCard_"],
[class*="_galleryCard_"],
[class*="_scopeCard_"],
[class*="_archiveCard_"],
[class*="_proofCard_"],
[class*="_approachCard_"],
[class*="_card_"] {
  background: linear-gradient(145deg, #fffefb, #edf2e9);
  border-color: #cbd8c8;
  color: #203025;
  box-shadow: 0 18px 42px #29442f14, inset 0 1px #ffffff;
}

.service-media,
.treatment-photo,
[class*="_heroMedia_"],
[class*="_galleryMedia_"],
[class*="_projectMedia_"] {
  background: #e4eadf;
  box-shadow: inset 0 0 0 1px #ffffff, 0 14px 28px #29442f14;
}

.water-band,
.service-area,
.commercial-section,
.estimate-section,
[class*="_ctaSection_"],
[class*="_localSection_"],
[class*="_proofBar_"],
[class*="_cta_"] {
  background: radial-gradient(circle at 78% 28%, #ffffff4a, transparent 30%), #31583b;
  color: #f8fbf5;
  box-shadow: inset 0 1px #ffffff2e;
}

.water-band h2,
.service-area h2,
.commercial-section h2,
.estimate-section h2,
.commercial-section h3,
.estimate-section h3,
[class*="_ctaSection_"] h2,
[class*="_localSection_"] h2,
[class*="_proofBar_"] strong,
[class*="_cta_"] h2 {
  color: #f8fbf5;
}

.water-band p,
.service-area p,
.commercial-section p,
.estimate-section p,
[class*="_ctaSection_"] p,
[class*="_localSection_"] p,
[class*="_cta_"] p {
  color: #e4eee4;
}

.commercial-copy {
  background: #31583b;
}

.commercial-media {
  background: #dfe8db;
}

.commercial-media p {
  background: #fffdf7e8;
  border-color: #ffffff;
  color: #35483a;
  box-shadow: 0 18px 40px #29442f1a;
}

.story-copy {
  background: #fffef9;
}

.faq-section {
  background: linear-gradient(#f7f5ee, #edf2e9);
}

.faq-list summary b {
  background: #e3ebdf;
  color: #4f7839;
  box-shadow: inset 0 1px #ffffff;
}

.estimate-form,
.estimate-complete {
  background: linear-gradient(145deg, #fffefb, #eaf0e6);
  border-color: #cbd8c8;
  color: #203025;
  box-shadow: 0 30px 68px #172d201f, inset 0 1px #ffffff;
}

.estimate-form label,
.estimate-form legend,
.estimate-complete h3 {
  color: #203025;
}

.estimate-form input,
.estimate-form select,
.estimate-form textarea {
  background: #ffffff;
  border-color: #bdcdbc;
  color: #203025;
  box-shadow: inset 0 2px 6px #29442f0d;
  color-scheme: light;
}

.estimate-form input::placeholder,
.estimate-form textarea::placeholder {
  color: #7b8a7d;
}

.first-choice-contact-options {
  min-height: 360px;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
}

.first-choice-contact-options h3 {
  color: #203025 !important;
}

.first-choice-contact-options > p {
  max-width: 34rem;
  margin: 18px 0 26px;
  color: #5b6b5e !important;
  line-height: 1.65;
}

.first-choice-contact-links {
  display: flex;
  flex-wrap: wrap;
  gap: 12px 24px;
  margin-top: 26px;
}

.first-choice-contact-links a {
  color: #31583b !important;
  font-weight: 800;
  text-decoration: underline;
  text-underline-offset: 4px;
}

.estimate-contact .first-choice-contact-email {
  overflow-wrap: anywhere;
  color: #dce9d8 !important;
  font: 700 14px/1.45 var(--body, sans-serif);
  text-decoration: underline;
  text-underline-offset: 4px;
}

.site-footer,
[class^="_footer_"],
[class*=" _footer_"] {
  background: #233f2d;
  color: #f8fbf5;
}

.site-footer h2,
.site-footer h3,
[class^="_footer_"] h2,
[class*=" _footer_"] h2 {
  color: #f8fbf5;
}

.site-footer p,
.site-footer a,
[class^="_footer_"] p,
[class^="_footer_"] a,
[class*=" _footer_"] p,
[class*=" _footer_"] a {
  color: #e3ede3 !important;
}

/* Captions sit on dark photo overlays and need light text for legibility. */
[class*="_heroMedia_"] figcaption,
[class*="_heroFigure_"] figcaption {
  background: #203025e8 !important;
}

[class*="_heroMedia_"] figcaption small,
[class*="_heroMedia_"] figcaption p,
[class*="_heroMedia_"] figcaption strong,
[class*="_heroFigure_"] figcaption small,
[class*="_heroFigure_"] figcaption p,
[class*="_heroFigure_"] figcaption strong {
  color: #f8fbf5 !important;
}

[class^="_hero_"],
[class*=" _hero_"] {
  background-color: #edf2e9;
}

[class*="_breadcrumbs_"] a,
[class*="_breadcrumbs_"] span,
[class*="_microcopy_"] {
  color: #607064;
}

[class*="_sectionHead_"] > p,
[class*="_galleryHead_"] > p,
[class*="_planIntro_"] > p,
[class*="_faqIntro_"] > p,
[class*="_content_"] p,
[class*="_content_"] li {
  color: #5b6b5e;
}

[class*="_fitNote_"],
[class*="_planSection_"],
[class*="_faqSection_"],
[class*="_relatedSection_"] {
  background-color: #eef3e9;
  color: #203025;
}

[class*="_relatedGrid_"] > a,
[class*="_stepList_"] li,
[class*="_faqList_"] details,
[class*="_bodyGrid_"] aside,
[class*="_content_"] section {
  background: #fffef9;
  border-color: #cbd8c8;
  color: #203025;
  box-shadow: 0 14px 34px #29442f12;
}

@media (max-width: 720px) {
  .hero-scrim {
    background:
      radial-gradient(106% 78% at 20% 34%, #f6f3e8e8 0%, #f6f3e8c7 46%, #f6f3e85c 74%, #f6f3e814 94%, #0000 100%),
      linear-gradient(#ffffff12 0%, #0000 50%, #e7ede22e 100%);
  }

  .mobile-action-bar {
    background: #fffdf7ed;
    box-shadow: 0 -12px 30px #29442f17, inset 0 1px #ffffff;
  }

  .mobile-action-bar a:first-child {
    background: #e2e9df;
    color: #203025;
  }
}

/* Internal-page templates: color-only normalization. */
[class^="_page_"],
[class*=" _page_"] {
  background: #f7f5ee;
  color: #203025;
}

[class^="_hero_"],
[class*=" _hero_"] {
  background: radial-gradient(circle at 82% 24%, #b7cbaa52, transparent 28rem), #edf2e9;
  border-color: #cbd8c8;
  color: #203025;
}

[class*="_heroShade_"] {
  background:
    linear-gradient(90deg, #f7f5eef0 0%, #f7f5eec7 43%, #f7f5ee3d 78%),
    linear-gradient(#ffffff00 48%, #e7ede2b8 100%);
}

[class*="_heroCopy_"] > p:not([class*="_eyebrow_"]),
[class*="_heroLead_"],
[class*="_microcopy_"],
[class*="_breadcrumbs_"] {
  color: #4f6154;
}

[class*="_nav_"] a,
[class*="_nav_"] summary,
[class*="_servicesMenu_"] > summary {
  color: #35483a;
}

[class*="_secondaryButton_"],
[class*="_phoneButton_"],
[class*="_buttonGhost_"] {
  background: #fffdf7dc;
  border-color: #31583b;
  color: #203025;
  box-shadow: 0 12px 28px #29442f1a, var(--bevel-light);
}

[class*="_heroFigure_"],
[class*="_teamCard_"],
[class*="_archiveNote_"] {
  background: linear-gradient(145deg, #fffefb, #eaf0e6);
  border-color: #c5d3c2;
  color: #203025;
  box-shadow: 0 26px 62px #29442f1c, inset 0 1px #ffffff;
}

[class*="_teamCard_"] figcaption,
[class*="_archiveNote_"] p,
[class*="_archiveNote_"] strong {
  color: #35483a;
}

[class*="_quickRail_"],
[class*="_proofBar_"],
[class*="_facts_"] {
  background: linear-gradient(180deg, #fffef9, #edf2e9);
  border-color: #cbd8c8;
  color: #203025;
  box-shadow: inset 0 1px #ffffff, 0 16px 36px #29442f10;
}

[class*="_sectionMuted_"],
[class*="_sectionAccent_"],
[class*="_intake_"],
[class*="_scope_"],
[class*="_siteWalk_"],
[class*="_story_"],
[class*="_approachSection_"],
[class*="_known_"],
[class*="_archive_"],
[class*="_proofStandard_"],
[class*="_gallerySection_"],
[class*="_planSection_"],
[class*="_faqSection_"],
[class*="_relatedSection_"],
[class*="_bodyGrid_"] {
  background: radial-gradient(circle at 12% 20%, #b7cbaa2b, transparent 24rem), #f7f5ee;
  border-color: #cbd8c8;
  color: #203025;
  box-shadow: none;
}

[class*="_fitGrid_"] {
  background: linear-gradient(145deg, #dfe8db, #f5f7f2);
  border-color: #c5d3c2;
  box-shadow: inset 0 3px 10px #29442f12, inset 0 1px #ffffff;
}

[class*="_fitCard_"],
[class*="_galleryCard_"],
[class*="_relatedGrid_"] > a,
[class*="_card_"],
[class*="_journey_"],
[class*="_decision_"] article,
[class*="_intakeGrid_"] li,
[class*="_approachGrid_"] li,
[class*="_knownCards_"] article,
[class*="_projectCard_"],
[class*="_faqList_"] details,
[class*="_siteWalkGrid_"] li,
[class*="_content_"] section,
[class*="_bodyGrid_"] aside,
[class*="_notice_"] {
  background: linear-gradient(145deg, #fffefb, #eaf0e6);
  border-color: #cbd8c8;
  color: #203025;
  box-shadow: 0 16px 38px #29442f12, inset 0 1px #ffffff;
}

[class*="_fitCard_"] h3,
[class*="_galleryCard_"] h3,
[class*="_relatedGrid_"] h3,
[class*="_card_"] h3,
[class*="_journey_"] h3,
[class*="_decision_"] h3,
[class*="_intakeGrid_"] h3,
[class*="_approachGrid_"] h3,
[class*="_knownCards_"] h3,
[class*="_projectCard_"] h3,
[class*="_faqList_"] summary,
[class*="_content_"] h2,
[class*="_content_"] h3 {
  color: #203025;
}

[class*="_fitCard_"] p,
[class*="_galleryCard_"] p,
[class*="_relatedGrid_"] p,
[class*="_card_"] p,
[class*="_journey_"] p,
[class*="_decision_"] p,
[class*="_intakeGrid_"] p,
[class*="_approachGrid_"] p,
[class*="_knownCards_"] p,
[class*="_projectCard_"] p,
[class*="_faqList_"] p,
[class*="_siteWalkGrid_"] li,
[class*="_content_"] p,
[class*="_content_"] li,
[class*="_bodyGrid_"] aside {
  color: #5b6b5e;
}

[class*="_cardNumber_"],
[class*="_fitCard_"] > span,
[class*="_approachGrid_"] li > span,
[class*="_intakeGrid_"] li > span,
[class*="_faqList_"] summary b {
  background: linear-gradient(145deg, #e5eddf, #c8d8c3);
  color: #31583b;
  box-shadow: inset 0 2px 7px #29442f14, inset 0 1px #ffffff;
}

[class*="_localSection_"],
[class*="_location_"],
[class*="_ctaSection_"],
[class*="_cta_"] {
  background: radial-gradient(circle at 82% 28%, #ffffff38, transparent 28rem), #31583b;
  border-color: #ffffff2e;
  color: #f8fbf5;
}

[class*="_localSection_"] h2,
[class*="_location_"] h2,
[class*="_ctaSection_"] h2,
[class*="_cta_"] h2 {
  color: #f8fbf5;
}

[class*="_localSection_"] p,
[class*="_location_"] p,
[class*="_ctaSection_"] p,
[class*="_cta_"] p {
  color: #e3ede3;
}

[class*="_localGrid_"] ul {
  background: #ffffff12;
  border-color: #ffffff2e;
  box-shadow: inset 0 1px #ffffff1f;
}

[class*="_footer_"] {
  background: #233f2d;
  border-color: #ffffff1f;
}

[class*="_mobilePanel_"],
[class*="_mobileMenu_"] nav {
  background: #fffdf8f8;
  border-color: #cbd8c8;
  color: #203025;
  box-shadow: 0 22px 50px #29442f1f;
}

[class*="_mobileBar_"] {
  background: #fffdf7ed;
  border-color: #cbd8c8;
  box-shadow: 0 -12px 28px #29442f17, inset 0 1px #ffffff;
}

[class*="_mobileBar_"] a:first-child {
  background: #e2e9df;
  color: #203025;
}

/* Light-surface contrast corrections found during the full internal-page QA. */
[class*="_heroInner_"] > div p,
[class*="_notice_"] p:first-of-type,
[class*="_storyCopy_"] p,
[class*="_scopeLead_"] > p:not([class*="_eyebrow_"]),
[class*="_siteWalkGrid_"] > div:last-child > p:not([class*="_eyebrow_"]) {
  color: #4f6154;
}

[class*="_bodyGrid_"] aside > span,
[class*="_bodyGrid_"] aside a,
[class*="_content_"] strong,
[class*="_knownCards_"] li,
[class*="_scopeList_"] p,
[class*="_proofStandard_"] li p {
  color: #4f6154;
}

[class*="_bodyGrid_"] aside a:last-child,
[class*="_textLink_"] {
  color: #31583b;
}

[class*="_content_"] section {
  background: transparent;
  box-shadow: none;
}

[class*="_content_"] h2,
[class*="_content_"] h3,
[class*="_fitCard_"] h3,
[class*="_galleryCard_"] h3,
[class*="_projectCard_"] h3,
[class*="_knownCards_"] h3,
[class*="_approachGrid_"] h3,
[class*="_intakeGrid_"] h3 {
  text-shadow:
    0 1px 0 #ffffff,
    0 2px 0 #b7c6b6,
    0 6px 12px #29442f1c;
}

[class*="_primaryButton_"],
[class*="_headerCta_"],
[class*="_mobileEstimate_"] {
  color: #ffffff;
}

[class*="_nav_"] a[class*="_button_"],
[class*="_nav_"] a[class*="_navAction_"],
[class*="_nav_"] a[class*="_headerCta_"] {
  color: #ffffff;
}

[class*="_sectionMuted_"] [class*="_splitCopy_"] > p:not([class*="_eyebrow_"]),
[class*="_sectionAccent_"] [class*="_sectionIntro_"] > p:last-child,
[class*="_galleryHead_"] > p:last-child,
[class*="_storyCopy_"] [class*="_lead_"] {
  color: #4f6154;
}

[class*="_fitNote_"] a,
[class*="_journey_"] a,
[class*="_decision_"] a,
[class*="_relatedGrid_"] a,
[class*="_projectBody_"] > p:first-child {
  color: #4f7839;
}

[class*="_projectBody_"] > p:last-child {
  color: #5b6b5e;
}

/* Route CSS can load after the preview palette, so critical color swaps win explicitly. */
[class*="_headerCta_"],
[class*="_mobileEstimate_"],
[class*="_primaryButton_"],
[class*="_button_"] {
  color: #ffffff !important;
}

[class*="_proofBar_"] strong,
[class*="_facts_"] strong,
[class*="_quickRail_"] strong,
[class*="_relatedGrid_"] strong,
[class*="_relatedGrid_"] h3 {
  color: #203025 !important;
}

[class*="_proofBar_"] small,
[class*="_facts_"] small,
[class*="_heroMedia_"] figcaption small,
[class*="_heroMedia_"] figcaption p,
[class*="_heroFigure_"] figcaption small,
[class*="_heroFigure_"] figcaption p,
[class*="_relatedGrid_"] p {
  color: #5b6b5e !important;
}

[class*="_section_"] p:not([class*="_eyebrow_"]),
[class*="_section_"] li,
[class*="_sectionMuted_"] p:not([class*="_eyebrow_"]),
[class*="_sectionMuted_"] li,
[class*="_sectionAccent_"] p:not([class*="_eyebrow_"]),
[class*="_sectionAccent_"] li,
[class*="_sectionHead_"] > p,
[class*="_galleryHead_"] p:not([class*="_eyebrow_"]),
[class*="_faqList_"] details > p,
[class*="_storyCopy_"] p,
[class*="_scopeList_"] p,
[class*="_proofStandard_"] li p,
[class*="_siteWalkGrid_"] li,
[class*="_knownCards_"] li,
[class*="_projectBody_"] > p:last-child {
  color: #5b6b5e !important;
}

[class*="_storyCopy_"] [class*="_lead_"],
[class*="_heroInner_"] > div p,
[class*="_notice_"] p:first-of-type {
  color: #35483a !important;
}

[class*="_fitNote_"] a,
[class*="_journey_"] a,
[class*="_decision_"] a,
[class*="_projectBody_"] > p:first-child,
[class*="_bodyGrid_"] aside a:last-child,
[class*="_textLink_"] {
  color: #4f7839 !important;
}

[class*="_localSection_"] h2,
[class*="_location_"] h2,
[class*="_ctaSection_"] h2,
[class*="_cta_"] h2 {
  color: #f8fbf5 !important;
}

[class*="_localSection_"] p,
[class*="_location_"] p,
[class*="_ctaSection_"] p,
[class*="_cta_"] p {
  color: #e3ede3 !important;
}

[class*="_mobileNav_"] > summary span,
.menu-trigger span {
  background: #31583b !important;
}

[class*="_mobileBar_"] a:last-child,
.mobile-action-bar a:last-child {
  color: #ffffff !important;
  place-items: center;
  padding-inline: 8px;
  font-size: 11px;
  line-height: 1.2;
  text-align: center;
}

/* Accessibility pass: dimensional type is reserved for the large hero headline. */
:root {
  --type-raised-light: none;
  --type-card: none;
}

main h2,
main h3,
main h4,
main strong,
main p,
main a,
header a,
header summary,
footer a,
footer strong {
  text-shadow: none !important;
}

main h2,
main h3,
main h4 {
  filter: none !important;
}

.irrigation-rail {
  background: #31583b !important;
  border-block: 1px solid #ffffff42;
  color: #ffffff !important;
  box-shadow: 0 -10px 28px #29442f24, inset 0 1px #ffffff2e !important;
}

.irrigation-rail .rail-kicker {
  color: #e2efd9 !important;
}

.irrigation-rail strong,
.irrigation-rail a {
  color: #ffffff !important;
  text-shadow: none !important;
}

.irrigation-rail a {
  background: #ffffff12;
  border-color: #ffffffc7 !important;
}

.evidence strong,
.evidence h3,
.evidence p {
  color: #203025 !important;
  text-shadow: none !important;
}

.evidence small {
  color: #4f6154 !important;
}

a[aria-current="page"] {
  color: #31583b !important;
  text-decoration: underline;
  text-decoration-color: #6d9650;
  text-decoration-thickness: 2px;
  text-underline-offset: 4px;
}

input::placeholder,
textarea::placeholder,
.estimate-form input::placeholder,
.estimate-form textarea::placeholder {
  color: #5b6b5e !important;
  opacity: 1;
}

:is(a, summary, button, input, select, textarea):focus-visible {
  outline: 3px solid #31583b !important;
  outline-offset: 4px !important;
}

:is(
  .irrigation-rail,
  .water-band,
  .commercial-section,
  .service-area,
  .estimate-section,
  .site-footer,
  [class*="_localSection_"],
  [class*="_location_"],
  [class*="_ctaSection_"],
  [class*="_cta_"]
) :is(a, summary, button, input, select, textarea):focus-visible {
  outline-color: #ffffff !important;
}

/* Preserve room for lowercase descenders in the large water headline. */
.water-band h2 {
  line-height: 1.08 !important;
  padding-bottom: 0.08em;
}

/* Keep every line in dark photo captions readable after route styles load. */
[class*="_heroMedia_"] figcaption p,
[class*="_heroMedia_"] figcaption small,
[class*="_heroMedia_"] figcaption strong,
[class*="_heroFigure_"] figcaption p,
[class*="_heroFigure_"] figcaption small,
[class*="_heroFigure_"] figcaption strong {
  color: #f8fbf5 !important;
}

/* Present services as a conventional vertical dropdown beneath the nav tab. */
.desktop-services-panel,
[class*="_servicesPanel_"] {
  grid-template-columns: 1fr !important;
  width: min(380px, calc(100vw - 32px)) !important;
  max-height: min(72vh, 640px);
  overflow-y: auto;
  top: calc(100% + 18px) !important;
  right: auto !important;
  left: 0 !important;
}

.desktop-services-panel > a,
[class*="_servicesPanel_"] > a {
  min-height: 64px !important;
}

/* Keep the service list tucked into an accessible accordion in mobile menus. */
@media (max-width: 1100px) {
  .mobile-services-menu {
    border-bottom: 1px solid #d6ded3;
  }

  .mobile-services-menu > summary {
    width: 100% !important;
    inline-size: 100% !important;
    min-width: 100% !important;
    min-height: 56px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    cursor: pointer;
    list-style: none;
    color: #203025;
    font-family: var(--display, inherit);
    font-size: clamp(17px, 5vw, 22px);
    font-weight: 700;
    line-height: 1;
  }

  .mobile-services-menu > summary::-webkit-details-marker {
    display: none;
  }

  .mobile-services-menu > summary span {
    color: #31583b;
    font-size: 1.15em;
    transition: transform 180ms ease;
  }

  .mobile-services-menu[open] > summary span {
    transform: rotate(180deg);
  }

  .mobile-services-list {
    width: 100%;
    display: grid;
    padding: 0 0 10px 14px;
    border-left: 2px solid #bdcfb9;
  }

  .mobile-menu-panel .mobile-services-list a:not(.button),
  [class*="_mobileMenu_"] .mobile-services-list a,
  [class*="_mobilePanel_"] .mobile-services-list a {
    min-height: 48px !important;
    padding-inline: 10px !important;
    font-size: clamp(15px, 4.4vw, 18px) !important;
  }
}

/* Enforce light surfaces after route-level styles finish loading. */
.service-card,
.story-copy,
.faq-list details,
.project-standard,
.project-standard-dark,
.estimate-form,
.estimate-complete,
[class*="_heroFigure_"],
[class*="_heroMedia_"],
[class*="_teamCard_"],
[class*="_archiveNote_"],
[class*="_storyCopy_"],
[class*="_fitNote_"],
[class*="_fitCard_"],
[class*="_galleryCard_"],
[class*="_relatedGrid_"] > a,
[class*="_journey_"],
[class*="_decision_"] article,
[class*="_intakeGrid_"] li,
[class*="_approachGrid_"] li,
[class*="_knownCards_"] article,
[class*="_projectCard_"],
[class*="_faqList_"] details,
[class*="_siteWalkGrid_"] li,
[class*="_bodyGrid_"] aside,
[class*="_notice_"] {
  background: linear-gradient(145deg, #fffefb, #eaf0e6) !important;
  border-color: #cbd8c8 !important;
  color: #203025 !important;
}

.services-section,
.story-section,
.faq-section,
[class*="_section_"],
[class*="_sectionMuted_"],
[class*="_sectionAccent_"],
[class*="_intake_"],
[class*="_scope_"],
[class*="_siteWalk_"],
[class*="_story_"],
[class*="_approachSection_"],
[class*="_known_"],
[class*="_archive_"],
[class*="_proofStandard_"],
[class*="_gallerySection_"],
[class*="_planSection_"],
[class*="_faqSection_"],
[class*="_faq_"],
[class*="_relatedSection_"],
[class*="_bodyGrid_"] {
  background: radial-gradient(circle at 12% 20%, #b7cbaa2b, transparent 24rem), #f7f5ee !important;
  border-color: #cbd8c8 !important;
  color: #203025 !important;
}

[class*="_content_"] section {
  background: transparent !important;
  box-shadow: none !important;
}

/* Dark-on-light supporting labels, captions, and card metadata. */
.hero .eyebrow,
.hero .eyebrow-light,
.desktop-services-menu > summary span,
.commercial-media p span,
[class*="_servicesMenu_"] > summary span,
[class*="_heroFacts_"] span,
[class*="_heroMedia_"] figcaption span,
[class*="_teamCard_"] figcaption span,
[class*="_archiveNote_"] span,
[class*="_facts_"] span,
[class*="_scopeList_"] article > span,
[class*="_proofStandard_"] li > span,
[class*="_knownCards_"] article > span,
[class*="_quickRail_"] span,
[class*="_journey_"] > span,
[class*="_decision_"] article > span,
[class*="_fitCard_"] > span,
[class*="_stepList_"] li > span,
[class*="_faqList_"] summary span,
[class*="_bodyGrid_"] aside a,
[class*="_heroInner_"] > div span {
  color: #31583b !important;
}

[class*="_fitNote_"] strong,
[class*="_galleryCard_"] figcaption strong,
[class*="_galleryCard_"] h3,
[class*="_relatedGrid_"] strong,
[class*="_relatedGrid_"] h3,
[class*="_storyCopy_"] strong,
[class*="_faqList_"] summary {
  color: #203025 !important;
}

[class*="_galleryCard_"] figcaption small,
[class*="_galleryCard_"] figcaption p,
[class*="_fitNote_"] p,
[class*="_relatedGrid_"] small,
[class*="_relatedGrid_"] p,
[class*="_formProgress_"] small,
.form-progress small {
  color: #4f6154 !important;
}

/* Text that remains on photos or dark accent panels stays light. */
[class*="_walkPhoto_"] figcaption strong,
[class*="_walkPhoto_"] figcaption small,
[class*="_photoFrame_"] > span,
[class*="_projectMedia_"] > span,
[class*="_galleryMedia_"] > span,
[class*="_mediaBadge_"] {
  color: #ffffff !important;
}

.estimate-contact span,
.estimate-contact small,
[class*="_footerBottom_"] span,
.footer-bottom span {
  color: #d7e3d7 !important;
}

[class*="_proofGrid_"] p > span,
[class*="_cardNumber_"],
[class*="_card_"] > span,
[class*="_approachGrid_"] li > span,
[class*="_intakeGrid_"] li > span,
[class*="_stepList_"] li > span,
[class*="_checkList_"] li b,
[class*="_relatedGrid_"] a > span,
[class*="_faqList_"] summary span,
[class*="_faqList_"] summary b {
  color: #31583b !important;
}

[class*="_content_"] a {
  color: #31583b !important;
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 3px;
}

/* Final contrast guard for copy placed over hero photography. */
[class*="_heroMedia_"] figcaption > *,
[class*="_heroFigure_"] figcaption > * {
  color: #f8fbf5 !important;
}
