/* Helotes seven-swatch preview, based on the supplied NXT GEN WEB palette.
   The only colors added to the page are logo green, second green, pale green,
   white, light gray, charcoal, and black. Corn artwork retains its own colors.
   Loaded after the earlier Helotes palette, scoped so other cities are unchanged. */
.ngcity:has(.nght-hero) {
  --helotes-logo-green:#86C442;
  --helotes-second-green:#A7D775;
  --helotes-light-green:#E5EEDF;
  --helotes-white:#FFFFFF;
  --helotes-light-gray:#F3F3F3;
  --helotes-charcoal:#262626;
  --helotes-black:#000000;
  --helotes-line:#D9D9D9;
  --ngh-green:var(--helotes-logo-green);
  --ngh-green-bright:var(--helotes-second-green);
  --ngh-green-soft:var(--helotes-light-green);
  --ngh-ink:var(--helotes-charcoal);
  --ngh-gray:var(--helotes-light-gray);
  --ngh-border:var(--helotes-line);
}
/* Clean white hero; strong text and single brand accent. */
.ngcity:has(.nght-hero) .nght-hero {
  background:var(--helotes-white);
  border-bottom:1px solid var(--helotes-line);
}
.ngcity:has(.nght-hero) .nght-hero h1 {color:var(--helotes-black);}
.ngcity:has(.nght-hero) .nght-hero h1 em {color:var(--helotes-black);text-decoration:underline;text-decoration-color:var(--helotes-logo-green);text-decoration-thickness:.10em;text-underline-offset:.1em;}
.ngcity:has(.nght-hero) .nght-kicker {color:var(--helotes-charcoal);}
.ngcity:has(.nght-hero) .nght-hero-trust {color:#4B4B4B;}
.ngcity:has(.nght-hero) .nght-hero-trust span {color:var(--helotes-logo-green);}
.ngcity:has(.nght-hero) .nght-hero-copy>p:not(.nght-kicker) {color:#444;}
.ngcity:has(.nght-hero) .nght-hero .ngcity-button:not(.ngcity-button-outline) {
  background:var(--helotes-logo-green);
  border-color:var(--helotes-logo-green);
  color:var(--helotes-black);
}
.ngcity:has(.nght-hero) .nght-hero .ngcity-button:not(.ngcity-button-outline):hover {
  background:var(--helotes-second-green);
  border-color:var(--helotes-second-green);
  color:var(--helotes-black);
}
.ngcity:has(.nght-hero) .nght-hero .ngcity-button-outline {
  background:var(--helotes-charcoal);
  border-color:var(--helotes-charcoal);
  color:var(--helotes-white);
}
.ngcity:has(.nght-hero) .nght-hero .ngcity-button-outline:hover {
  background:var(--helotes-black);
  border-color:var(--helotes-black);
  color:var(--helotes-white);
}
.ngcity:has(.nght-hero) .nght-hero .nght-hero-visual {
  background:var(--helotes-white);
  border:1px solid var(--helotes-line);
  box-shadow:13px 13px 0 var(--helotes-light-green);
}
.ngcity:has(.nght-hero) .nght-hero-visual figcaption {
  background:var(--helotes-white);
  color:var(--helotes-charcoal);
  border-color:var(--helotes-line);
}
/* Lighter gray intro and white primary-service section; preserves original flow. */
.ngcity:has(.nght-hero) .nght-intro {
  background:var(--helotes-light-gray);
}
.ngcity:has(.nght-hero) .nght-intro h2 {color:var(--helotes-charcoal);}
.ngcity:has(.nght-hero) .nght-intro h2 em {color:var(--helotes-charcoal);text-decoration:underline;text-decoration-color:var(--helotes-second-green);text-decoration-thickness:.1em;text-underline-offset:.1em;}
.ngcity:has(.nght-hero) .nght-services {
  background:var(--helotes-white);
}
.ngcity:has(.nght-hero) .nght-heading {
  border-bottom:2px solid var(--helotes-charcoal);
}
.ngcity:has(.nght-hero) .nght-service-rows article {
  border-bottom:1px solid var(--helotes-line);
}
.ngcity:has(.nght-hero) .nght-service-rows article:nth-child(2) {
  background:linear-gradient(90deg,transparent,var(--helotes-light-gray) 50%,transparent);
}
.ngcity:has(.nght-hero) .nght-service-rows .nght-num {color:#4B4B4B;}
.ngcity:has(.nght-hero) .nght-service-rows h3 {color:var(--helotes-charcoal);}
.ngcity:has(.nght-hero) .nght-service-rows p,
.ngcity:has(.nght-hero) .nght-service-rows ul {color:#4B4B4B;}
.ngcity:has(.nght-hero) .nght-service-rows .nght-service-symbol {
  background:var(--helotes-second-green);
  border:1px solid var(--helotes-second-green);
  color:var(--helotes-charcoal);
}
.ngcity:has(.nght-hero) .nght-service-rows article:nth-child(2) .nght-service-symbol {
  background:var(--helotes-light-gray);
  border:1px solid var(--helotes-line);
  color:var(--helotes-charcoal);
}
.ngcity:has(.nght-hero) .nght-service-rows article:nth-child(3) .nght-service-symbol {
  background:var(--helotes-light-green);
  border:1px solid #D5DFCF;
  color:var(--helotes-charcoal);
}
.ngcity:has(.nght-hero) .nght-service-rows a {
  border-bottom:3px solid var(--helotes-logo-green);
  color:var(--helotes-black);
}
.ngcity:has(.nght-hero) .nght-service-rows a:hover {color:var(--helotes-charcoal);}

/* Strong charcoal proof strip, not dark green. */
.ngcity:has(.nght-hero) .nght-proof {
  background:var(--helotes-charcoal);
  color:var(--helotes-white);
  border-top:0;
}
.ngcity:has(.nght-hero) .nght-proof h2 {color:var(--helotes-white);}
.ngcity:has(.nght-hero) .nght-proof .nght-label {color:var(--helotes-second-green);}
.ngcity:has(.nght-hero) .nght-proof p:not(.nght-label) {color:#E5E5E5;}
.ngcity:has(.nght-hero) .nght-proof a {color:var(--helotes-second-green);}
.ngcity:has(.nght-hero) .nght-proof-feature {
  background:var(--helotes-white);
  border:0;
  border-top:6px solid var(--helotes-logo-green);
  border-radius:12px;
  box-shadow:none;
}
.ngcity:has(.nght-hero) .nght-proof-feature:before {
  border-color:#DBE7D0;
  box-shadow:0 0 0 28px #F2F6EF,0 0 0 64px #F7F9F5;
}
.ngcity:has(.nght-hero) .nght-feature-eyebrow {color:var(--helotes-charcoal);}
.ngcity:has(.nght-hero) .nght-proof-feature strong {color:var(--helotes-charcoal);}
.ngcity:has(.nght-hero) .nght-proof-feature p:not(.nght-label) {color:#4C4C4C;}
.ngcity:has(.nght-hero) .nght-proof-feature a {color:var(--helotes-charcoal);text-decoration-color:var(--helotes-logo-green);}

/* Quiet gray strategy section; brand green is a precise detail. */
.ngcity:has(.nght-hero) .nght-local-seo {background:var(--helotes-light-gray);}
.ngcity:has(.nght-hero) .nght-local-grid>div:last-child {
  background:var(--helotes-white);
  border:1px solid var(--helotes-line);
  border-left:5px solid var(--helotes-logo-green);
}
.ngcity:has(.nght-hero) .nght-local-grid h3 {color:var(--helotes-charcoal);}
.ngcity:has(.nght-hero) .nght-local-grid a {color:#416B21;}
.ngcity:has(.nght-hero) .nght-cta {
  background:var(--helotes-second-green);
  border-top:1px solid #94C664;
  color:var(--helotes-charcoal);
}
.ngcity:has(.nght-hero) .nght-cta .nght-label,
.ngcity:has(.nght-hero) .nght-cta h2 {color:var(--helotes-black);}
.ngcity:has(.nght-hero) .nght-cta-grid>a {
  background:var(--helotes-charcoal);
  border:1px solid var(--helotes-charcoal);
  color:var(--helotes-white);
}
.ngcity:has(.nght-hero) .nght-cta-grid>a:hover {
  background:var(--helotes-black);
  border-color:var(--helotes-black);
  color:var(--helotes-white);
}
/* Local map / contact information remains clearly legible. */
.ngcity:has(.nght-hero) #city-community {background:var(--helotes-white);}
.ngcity:has(.nght-hero) .ngcity-contact {background:var(--helotes-light-gray);}
.ngcity:has(.nght-hero) .ngcity-contact-form {
  background:var(--helotes-white);
  border-top-color:var(--helotes-logo-green);
}
.ngcity:has(.nght-hero) .ngcity-contact-form input[type=submit] {
  background:var(--helotes-logo-green);
  border-color:var(--helotes-logo-green);
  color:var(--helotes-black);
}

/* Six-tile services: only seven reference colors, with high-contrast type. */
.ngcity:has(.nght-hero) .ngcity-more-services {
  background:var(--helotes-white);
  border-color:var(--helotes-line);
}
.ngcity:has(.nght-hero) .ngcity-more-head-main h2 {color:var(--helotes-charcoal);}
.ngcity:has(.nght-hero) .ngcity-more-head-main h2 em {color:#446F21;}
.ngcity:has(.nght-hero) .ngcity-more-head-side {border-left-color:var(--helotes-logo-green);}
.ngcity:has(.nght-hero) .ngcity-more-deco {color:var(--helotes-logo-green);}
.ngcity:has(.nght-hero) .ngcity-more-link {
  background:var(--helotes-white);
  border:1px solid var(--helotes-line);
  box-shadow:none;
}
.ngcity:has(.nght-hero) .ngcity-more-link:nth-child(1) {
  background:var(--helotes-second-green);
  border-color:#99C86B;
}
.ngcity:has(.nght-hero) .ngcity-more-link:nth-child(2) {
  background:var(--helotes-light-gray);
  border-color:#E3E3E3;
}
.ngcity:has(.nght-hero) .ngcity-more-link:nth-child(3) {
  background:var(--helotes-white);
  border-color:var(--helotes-line);
}
.ngcity:has(.nght-hero) .ngcity-more-link:nth-child(4) {
  background:var(--helotes-light-green);
  border-color:#D4DED0;
}
.ngcity:has(.nght-hero) .ngcity-more-link:nth-child(5) {
  background:var(--helotes-charcoal);
  border-color:var(--helotes-charcoal);
}
.ngcity:has(.nght-hero) .ngcity-more-link:nth-child(6) {
  background:var(--helotes-light-gray);
  border-color:var(--helotes-line);
}
.ngcity:has(.nght-hero) .ngcity-more-link:hover {
  border-color:var(--helotes-logo-green);
  box-shadow:0 14px 31px rgba(0,0,0,.11);
}
.ngcity:has(.nght-hero) .ngcity-more-copy strong {color:var(--helotes-black);}
.ngcity:has(.nght-hero) .ngcity-more-copy>span {color:#424242;}
.ngcity:has(.nght-hero) .ngcity-more-index {color:#394D31;}
.ngcity:has(.nght-hero) .ngcity-more-action {color:#3F662A;}
.ngcity:has(.nght-hero) .ngcity-more-link:nth-child(5) .ngcity-more-copy strong {color:var(--helotes-white);}
.ngcity:has(.nght-hero) .ngcity-more-link:nth-child(5) .ngcity-more-copy>span {color:#E1E1E1;}
.ngcity:has(.nght-hero) .ngcity-more-link:nth-child(5) .ngcity-more-index,
.ngcity:has(.nght-hero) .ngcity-more-link:nth-child(5) .ngcity-more-action {color:var(--helotes-second-green);}
.ngcity:has(.nght-hero) .ngcity-more-link:nth-child(n) .ngcity-more-icon {
  background:var(--helotes-white);
  color:#426C24;
  border:1px solid var(--helotes-line);
}
.ngcity:has(.nght-hero) .ngcity-more-link:nth-child(1) .ngcity-more-icon {
  background:var(--helotes-charcoal);
  color:var(--helotes-second-green);
  border-color:var(--helotes-charcoal);
}
.ngcity:has(.nght-hero) .ngcity-more-link:nth-child(5) .ngcity-more-icon {
  background:var(--helotes-white);
  color:var(--helotes-charcoal);
  border-color:var(--helotes-white);
}
.ngcity:has(.nght-hero) .ngcity-more-link:nth-child(6) .ngcity-more-icon {
  background:var(--helotes-logo-green);
  color:var(--helotes-black);
  border-color:var(--helotes-logo-green);
}
.ngcity:has(.nght-hero) .ngcity-more-arrow {
  background:var(--helotes-white);
  border:1px solid #C6D1BD;
  color:#3B5F27;
}
.ngcity:has(.nght-hero) .ngcity-more-link:nth-child(5) .ngcity-more-arrow {
  background:var(--helotes-logo-green);
  color:var(--helotes-black);
  border-color:var(--helotes-logo-green);
}
.ngcity:has(.nght-hero) .ngcity-more-link:focus-visible {
  outline:3px solid var(--helotes-black);
  outline-offset:3px;
}
@media(max-width:600px) {
  .ngcity:has(.nght-hero) .nght-hero .nght-hero-visual {box-shadow:6px 6px 0 var(--helotes-light-green)!important;}
}
@media(prefers-reduced-motion:reduce) {
  .ngcity:has(.nght-hero) .ngcity-more-link:hover {transform:none;}
}
