/* Helotes local refresh: light, editorial and corn-forward; intentionally no dark-green section backgrounds. */

/* Helotes conversion-area spacing: compact the CTA and pull the contact form closer to its introduction. */
.ngcity:has(.nght-hero) .nght-cta-grid {
  width:calc(100% - 80px);
  max-width:990px;
  margin-inline:auto;
  display:grid;
  grid-template-columns:minmax(0,1fr) max-content;
  gap:clamp(24px,3.6vw,48px);
  align-items:center;
  justify-content:initial;
}
.ngcity:has(.nght-hero) .nght-cta-grid>div {min-width:0;max-width:640px}
.ngcity:has(.nght-hero) .nght-cta-grid>a {
  display:inline-flex;
  justify-content:center;
  align-items:center;
  white-space:normal;
  text-align:center;
  max-width:100%;
  margin:0;
}
.ngcity:has(.nght-hero) .ngcity-contact .ngcity-contact-grid {
  width:calc(100% - 80px);
  max-width:1080px;
  margin-inline:auto;
  display:grid;
  grid-template-columns:minmax(0,360px) minmax(0,1fr);
  gap:clamp(26px,3.2vw,42px);
  align-items:start;
}
.ngcity:has(.nght-hero) .ngcity-contact .ngcity-contact-grid>div {min-width:0}
.ngcity:has(.nght-hero) .ngcity-contact .ngcity-contact-form {width:100%;min-width:0}
@media(max-width:850px){
  .ngcity:has(.nght-hero) .nght-cta-grid,
  .ngcity:has(.nght-hero) .ngcity-contact .ngcity-contact-grid {width:calc(100% - 56px)}
  .ngcity:has(.nght-hero) .ngcity-contact .ngcity-contact-grid {
    grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);
    gap:24px;
  }
}
@media(max-width:700px){
  .ngcity:has(.nght-hero) .nght-cta-grid {
    width:calc(100% - 40px);
    grid-template-columns:minmax(0,1fr);
    gap:22px;
  }
  .ngcity:has(.nght-hero) .nght-cta-grid>a {justify-self:start}
  .ngcity:has(.nght-hero) .ngcity-contact .ngcity-contact-grid {
    width:calc(100% - 40px);
    grid-template-columns:minmax(0,1fr);
    gap:28px;
  }
}

.ngcity:has(.nght-hero){--nght-ink:#252a25;--nght-muted:#525b52;--nght-accent:#85b54f;--nght-cream:#fbf9f3;--nght-line:#dee2d8;}
.ngcity .nght-hero{background:#fbf9f3;color:var(--nght-ink);padding-top:118px;padding-bottom:58px}
.ngcity .nght-hero h1{color:#222723;font-size:clamp(49px,6.4vw,94px)}
.ngcity .nght-hero h1 em{color:#78a93c}
.ngcity .nght-hero-copy>p:not(.nght-kicker){color:#465044}
.ngcity .nght-hero .nght-hero-visual{display:block;min-height:0;margin:0;padding:0;overflow:hidden;border:1px solid #e5e2d5;border-radius:14px;background:#f7f4e9;box-shadow:16px 16px 0 #e8e7dc}
.ngcity .nght-hero-visual .nght-corn-art{display:block;width:100%;height:auto;aspect-ratio:900/760;object-fit:cover}
.ngcity .nght-hero-visual figcaption{display:block;position:relative;padding:13px 20px;background:#f0f0e5;color:#52614c;font-size:12px;line-height:1.4;border-top:1px solid #e0e1d4}
.ngcity .nght-hero-trust{color:#4b5847}
.ngcity .nght-intro{background:#fff;padding:90px 0}
.ngcity .nght-services{background:#fbfaf7;padding:86px 0 96px}
.ngcity .nght-heading{border-bottom:1px solid #d8ded1;padding-bottom:26px;margin-bottom:0;gap:32px}
.ngcity .nght-heading>p{max-width:350px;color:#515951}
.ngcity .nght-service-rows{display:block}
.ngcity .nght-service-rows article{display:grid;grid-template-columns:minmax(130px,.48fr) minmax(0,1.25fr) minmax(0,.85fr);grid-template-areas:"number heading heading" "visual body bullets" "visual link link";gap:14px 34px;align-items:start;border-bottom:1px solid #dce1d5;padding:46px 0 50px;margin:0;background:transparent;min-height:0}
.ngcity .nght-service-rows article:nth-child(2){background:linear-gradient(90deg,transparent,#f2f5ec 48%,transparent);padding-left:18px;padding-right:18px}
.ngcity .nght-service-rows .nght-num{grid-area:number;align-self:center;color:#78954f;font-size:13px;letter-spacing:.12em;margin:8px 0}
.ngcity .nght-service-rows .nght-service-symbol{grid-area:visual;display:grid;place-items:center;min-height:175px;font-size:clamp(84px,10vw,142px);font-weight:300;line-height:1;color:#7dae50;background:#ebf1e3;margin:0;border-radius:12px}
.ngcity .nght-service-rows article:nth-child(2) .nght-service-symbol{color:#9a9364;background:#f3efde}
.ngcity .nght-service-rows article:nth-child(3) .nght-service-symbol{color:#7a8a81;background:#e9eeed}
.ngcity .nght-service-rows h3{grid-area:heading;font-size:clamp(29px,3vw,43px);line-height:1.12;letter-spacing:-.026em;max-width:760px;margin:0}
.ngcity .nght-service-rows p{grid-area:body;color:#414a42;font-size:17px;line-height:1.72;margin:0;max-width:550px}
.ngcity .nght-service-rows ul{grid-area:bullets;list-style:disc;margin:2px 0 0;padding-left:20px;color:#475349}
.ngcity .nght-service-rows li{font-size:15px;line-height:1.55;margin:0 0 9px}
.ngcity .nght-service-rows a{grid-area:link;justify-self:start;display:inline-block;margin-top:6px;border-bottom:2px solid #7cb147;padding-bottom:5px;color:#304728;font-size:15px;font-weight:750;text-decoration:none}
.ngcity .nght-service-rows a:hover{color:#6b913e}
.ngcity .nght-proof{background:#f1f2ec;padding:85px 0;color:var(--nght-ink)}
.ngcity .nght-proof .nght-label{color:#617f4e}
.ngcity .nght-proof h2{color:#252b27}
.ngcity .nght-proof p:not(.nght-label){color:#586058}
.ngcity .nght-proof a{color:#376126}
.ngcity .nght-proof-feature{display:flex;flex-direction:column;gap:16px;padding:42px 38px;border-radius:12px;background:#fff;border:1px solid #dedfd4;position:relative;overflow:hidden}
.ngcity .nght-proof-feature:before{content:"";position:absolute;right:-64px;top:-84px;width:260px;height:260px;border:2px solid #e3eacb;border-radius:50%;box-shadow:0 0 0 28px #f4f7e9,0 0 0 65px #f8faef;pointer-events:none}
.ngcity .nght-feature-eyebrow{font-size:11px;font-weight:800;letter-spacing:.14em;color:#7f975e;position:relative}
.ngcity .nght-proof-feature strong{font-size:clamp(34px,3vw,52px);line-height:1.05;letter-spacing:-.045em;color:#252a25;position:relative}
.ngcity .nght-proof-feature p{font-size:17px;line-height:1.65;position:relative;margin:0}
.ngcity .nght-proof-feature a{font-size:15px;font-weight:700;text-decoration:underline;text-underline-offset:4px;margin:0;position:relative}
.ngcity .nght-local-seo{background:#fff}
.ngcity .nght-local-grid>div:last-child{background:#f6f5ed;border:1px solid #e4e4d9;border-radius:9px}
.ngcity .nght-cta{background:#e4edcf;color:#222822}
.ngcity .nght-cta h2{color:#252b26}
.ngcity .nght-cta-grid>a{background:#272b27;color:#fff;border-radius:4px}
.ngcity .nght-cta-grid>a:hover{background:#46523d}
.ngcity .nght-hero .ngcity-button-outline{border-color:#787f6d;color:#252b27;background:#fff}
.ngcity .nght-hero .ngcity-button:not(.ngcity-button-outline){background:#85bc4b;color:#1c2a1b}
.ngcity .nght-hero .ngcity-button:not(.ngcity-button-outline):hover{background:#a1d36d}
.ngcity:has(.nght-hero) #city-community{background:#fbfaf7}
@media(max-width:1080px){.ngcity .nght-service-rows article{grid-template-columns:130px 1fr;grid-template-areas:"number heading" "visual body" "visual bullets" "visual link";column-gap:28px}.ngcity .nght-service-rows .nght-service-symbol{min-height:160px}.ngcity .nght-service-rows p{max-width:none}}
@media(max-width:850px){.ngcity .nght-hero-grid{gap:30px}.ngcity .nght-proof-grid{gap:35px}.ngcity .nght-services{padding:65px 0}}
@media(max-width:600px){.ngcity .nght-hero{padding-top:96px}.ngcity .nght-hero-visual{box-shadow:8px 8px 0 #e8e7dc!important}.ngcity .nght-service-rows article,.ngcity .nght-service-rows article:nth-child(2){grid-template-columns:88px minmax(0,1fr);grid-template-areas:"number number" "visual heading" "body body" "bullets bullets" "link link";gap:14px 17px;padding:29px 0 35px}.ngcity .nght-service-rows .nght-service-symbol{min-height:96px;font-size:65px}.ngcity .nght-service-rows h3{font-size:clamp(23px,6vw,33px)}.ngcity .nght-service-rows p{font-size:16px}.ngcity .nght-service-rows ul{margin:0}.ngcity .nght-proof-feature{padding:29px 25px}.ngcity .nght-cta{padding:50px 0}}
@media(prefers-reduced-motion:no-preference){.ngcity .nght-hero-visual .nght-corn-art{transition:transform .6s ease}.ngcity .nght-hero-visual:hover .nght-corn-art{transform:scale(1.025)}}
@media(prefers-reduced-motion:reduce){.ngcity .nght-hero-visual .nght-corn-art{transition:none}}
