/* One-page experience for all additional city and neighborhood locations.
   Based on the approved Helotes / Alamo Ranch 7-swatch editorial system.
   Every page receives local imagery, content and local FAQ data. */

/* Accessible contrast for small labels and explanatory text. */
.ngcity.ngcp .nght-label,
.ngcity.ngcp .ngcity-eyebrow,
.ngcity.ngcp .ngcp-map-overline{color:#374137}
.ngcity.ngcp .ngcp-proof .nght-label,
.ngcity.ngcp .ngcp-process .ngcity-eyebrow{color:#bce59a!important}
.ngcity.ngcp .ngcp-cta .nght-label{color:#202124}
.ngcity.ngcp .ngar2-mock-label,
.ngcity.ngcp .ngar2-art-caption{color:#3b523b}
.ngcity.ngcp .ngar2-result-tiny,
.ngcity.ngcp .ngar2-ads-footnote,
.ngcity.ngcp .ngar2-browser-bar span,
.ngcity.ngcp .ngar2-browser-menu span{color:#515151}
.ngcity.ngcp .ngar2-ads-axis,
.ngcity.ngcp .ngar2-search-panel p{color:#505950!important}

.ngcity.ngcp{--ngcp-green:#84C041;--ngcp-green-two:#B5E66A;--ngcp-green-light:#C9F2A3;--ngcp-gray:#F7F8F9;--ngcp-charcoal:#202124;--ngcp-line:#ECEEF0;}
.ngcity.ngcp .ngcp-hero{background:#fff;border-bottom:1px solid #ECEEF0}
.ngcity.ngcp .ngcp-hero .nght-hero-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(25px,3.5vw,48px);align-items:center}
.ngcity.ngcp .ngcp-hero h1{color:#202124;font-size:clamp(41px,5vw,76px);line-height:1.08;letter-spacing:-.055em;overflow-wrap:anywhere}
.ngcity.ngcp .ngcp-hero h1 span{display:block;font-size:1em;letter-spacing:-.05em;margin-top:0;line-height:1.06}
.ngcity.ngcp .ngcp-hero h1 em{display:block;font-size:.62em;line-height:1.17;margin-top:12px;letter-spacing:-.025em;color:#447328;font-style:normal;text-decoration:none}
.ngcity.ngcp .ngcp-hero .nght-kicker{color:#394039;font-size:11px;line-height:1.5}
.ngcity.ngcp .ngcp-hero .nght-hero-copy>p:not(.nght-kicker){font-size:18px;line-height:1.62;max-width:590px}
.ngcity.ngcp .ngcp-hero .ngcity-button:not(.ngcity-button-outline){background:#84C041;border-color:#84C041;color:#202124}
.ngcity.ngcp .ngcp-hero .ngcity-button-outline{background:#202124;border-color:#202124;color:#fff}
.ngcity.ngcp .ngcp-hero .ngcity-button-outline:hover{background:#000;color:#fff}
.ngcity.ngcp .ngcp-hero .nght-hero-visual{margin:0;min-width:0;border:1px solid #ECEEF0;border-radius:15px;background:#F7F8F9;box-shadow:11px 11px 0 #C9F2A3;overflow:hidden;position:relative;display:flex;flex-direction:column;justify-content:flex-end;min-height:0}
.ngcity.ngcp .ngcp-hero .ngcp-hero-photo{display:block;width:100%;height:auto;aspect-ratio:900/690;object-fit:cover;min-height:0}
.ngcity.ngcp .ngcp-scene{width:100%;height:auto;aspect-ratio:900/740;display:block;background:#F7F8F9}
.ngcity.ngcp .ngcp-signature-art{display:block;width:100%;height:auto;aspect-ratio:900/760;object-fit:cover;background:#C9F2A3}
.ngcity.ngcp .ngcp-signature-scene{display:block;width:100%;height:auto;aspect-ratio:900/760;background:#F7F8F9;overflow:hidden;}
.ngcity.ngcp .ngcp-photo-label{position:absolute;bottom:40px;left:0;right:0;padding:44px 24px 17px;background:linear-gradient(transparent,rgba(18,23,18,.83));color:#fff;display:flex;flex-direction:column;gap:3px}
.ngcity.ngcp .ngcp-photo-label span{font-size:11px;font-weight:800;letter-spacing:.12em;color:#b6e987}
.ngcity.ngcp .ngcp-photo-label strong{font-size:clamp(22px,2.6vw,36px);line-height:1.1;color:#fff;overflow-wrap:anywhere}
.ngcity.ngcp .ngcp-hero .nght-hero-visual figcaption{position:relative;z-index:2;background:#fff;color:#505650;padding:13px 20px;font-size:11px;line-height:1.45;border-top:1px solid #ECEEF0;min-height:42px}
.ngcity.ngcp .ngcp-hero figcaption a{color:#40652b;text-decoration:underline;text-underline-offset:3px}
.ngcity.ngcp .ngcp-intro{background:#F7F8F9;padding:60px 0 62px}
.ngcity.ngcp .ngcp-intro .nght-intro-grid{display:grid;grid-template-columns:minmax(0,.79fr) minmax(0,1.21fr);gap:clamp(25px,3vw,48px);align-items:start}
.ngcity.ngcp .ngcp-intro h2{font-size:clamp(36px,3.7vw,57px);line-height:1.1;letter-spacing:-.04em;overflow-wrap:anywhere}
.ngcity.ngcp .ngcp-intro h2 em{color:#447328;font-style:normal}
.ngcity.ngcp .ngcp-intro .nght-intro-grid>div:last-child p{font-size:16px;line-height:1.67;color:#484848;margin:0 0 14px}
.ngcity.ngcp .ngcp-local-audiences{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px;margin-top:29px}
.ngcity.ngcp .ngcp-audience{border:1px solid #ddd;background:#fff;padding:22px;min-width:0;border-top:4px solid #84C041}
.ngcity.ngcp .ngcp-audience:nth-child(2){border-top-color:#B5E66A}
.ngcity.ngcp .ngcp-audience:nth-child(3){border-top-color:#515151}
.ngcity.ngcp .ngcp-audience>span{display:inline-block;font-size:12px;color:#5c774b;font-weight:800;letter-spacing:.08em;margin-bottom:11px}
.ngcity.ngcp .ngcp-audience h3{font-size:20px;line-height:1.2;margin-bottom:12px;color:#292929;overflow-wrap:anywhere}
.ngcity.ngcp .ngcp-audience p{font-size:14px;line-height:1.6;color:#555}
.ngcity.ngcp .ngcp-services{background:#fff;padding:63px 0 67px}
.ngcity.ngcp .ngcp-services .nght-heading{grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:30px}
.ngcity.ngcp .ngcp-services .nght-heading>p{font-size:16px;line-height:1.6}
.ngcity.ngcp .ngcp-services .nght-service-rows article:nth-child(2){background:transparent}
.ngcity.ngcp .ngcp-proof{background:#202124;padding:55px 0;color:#fff}
.ngcity.ngcp .ngcp-proof h2{color:#fff}
.ngcity.ngcp .ngcp-proof .nght-label{color:#bce59a}
.ngcity.ngcp .ngcp-proof p:not(.nght-label){color:#ECEEF0}
.ngcity.ngcp .ngcp-proof a{color:#b7e88d}
.ngcity.ngcp .ngcp-proof .nght-proof-feature{background:#fff;border:0;border-top:5px solid #84C041;padding:30px}
.ngcity.ngcp .ngcp-proof .nght-proof-feature strong{color:#252525}
.ngcity.ngcp .ngcp-proof .nght-proof-feature p{color:#4b4b4b}
.ngcity.ngcp .ngcp-proof .nght-proof-feature a{color:#406b25}
.ngcity.ngcp .ngcp-local-seo{background:#fff;padding:60px 0}
.ngcity.ngcp .ngcp-local-seo .nght-local-grid{grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:30px}
.ngcity.ngcp .ngcp-local-seo .nght-local-grid>div:last-child{background:#F7F8F9;border-left:5px solid #84C041;border-radius:8px;padding:25px;align-self:start}
.ngcity.ngcp .ngcp-local-seo h2{font-size:clamp(35px,3.7vw,53px)}
.ngcity.ngcp .ngcp-local-seo p{font-size:16px;line-height:1.7;color:#454545}
.ngcity.ngcp .ngcp-local-map{padding:56px 0;background:#F7F8F9;border-top:1px solid #ddd;border-bottom:1px solid #ddd}
.ngcity.ngcp .ngcp-map-heading{margin-bottom:22px}
.ngcity.ngcp .ngcp-map-heading h2{font-size:clamp(33px,3.7vw,52px);line-height:1.1;margin:10px 0 12px;overflow-wrap:anywhere}
.ngcity.ngcp .ngcp-map-heading>p:last-child{max-width:960px;font-size:16px;line-height:1.65}
.ngcity.ngcp .ngcp-map-grid{display:grid;grid-template-columns:minmax(0,.94fr) minmax(0,1.06fr);gap:20px;align-items:stretch}
.ngcity.ngcp .ngcp-map-story{min-width:0;background:#fff;padding:30px;border:1px solid #ECEEF0;display:flex;flex-direction:column;justify-content:center;border-radius:9px}
.ngcity.ngcp .ngcp-map-overline{font-size:11px;font-weight:800;letter-spacing:.11em;color:#4f7536;margin-bottom:9px}
.ngcity.ngcp .ngcp-map-story h3{font-size:clamp(25px,2.7vw,36px);line-height:1.13;margin-bottom:15px;overflow-wrap:anywhere}
.ngcity.ngcp .ngcp-map-story p{font-size:16px;line-height:1.66;color:#4d534d;margin-bottom:14px}
.ngcity.ngcp .ngcp-map-story a{font-size:14px;font-weight:800;color:#365d24;text-decoration:underline;text-underline-offset:4px;margin-top:7px;align-self:flex-start}
.ngcity.ngcp .ngcp-map-wrap{display:flex;flex-direction:column;background:#fff;padding:9px 9px 14px;border:1px solid #ECEEF0;border-radius:9px;min-width:0}
.ngcity.ngcp .ngcp-map-wrap iframe{width:100%;height:auto;aspect-ratio:600/400;min-height:310px;border:0;display:block;flex:1}
.ngcity.ngcp .ngcp-map-wrap p{font-size:12px;line-height:1.45;margin:11px 10px 0;color:#626262}
.ngcity.ngcp .ngcp-work{padding:52px 0}
.ngcity.ngcp .ngcp-process{padding:55px 0;background:#202124}
.ngcity.ngcp .ngcp-process h2,.ngcity.ngcp .ngcp-process h3{color:#fff}
.ngcity.ngcp .ngcp-process .ngcity-section-head>p,.ngcity.ngcp .ngcp-process .ngcity-steps p{color:#ECEEF0}
.ngcity.ngcp .ngcp-process .ngcity-eyebrow{color:#bce59a!important}
.ngcity.ngcp .ngcp-process .ngcity-steps li{border-top-color:#666}
.ngcity.ngcp .ngcp-faq{padding:55px 0}
.ngcity.ngcp .ngcp-cta{background:#B5E66A;padding:47px 0}
.ngcity.ngcp .ngcp-cta h2{color:#222}
.ngcity.ngcp .ngcp-cta .nght-cta-grid>a{background:#202124;color:#fff}
.ngcity.ngcp .ngcp-contact{padding:52px 0;background:#F7F8F9}
.ngcity.ngcp .ngcp-contact .ngcity-contact-grid{grid-template-columns:minmax(0,.94fr) minmax(0,1.06fr);gap:28px;max-width:1120px;margin:auto}
.ngcity.ngcp .ngcp-contact .ngcity-contact-form{border-top:5px solid #84C041;min-width:0}
.ngcity.ngcp .ngcp-nearby{background:#fff}
@media(max-width:1000px){
 .ngcity.ngcp .ngcp-hero h1{font-size:clamp(38px,5.7vw,69px)}
 .ngcity.ngcp .ngcp-local-audiences{grid-template-columns:1fr 1fr}
 .ngcity.ngcp .ngcp-audience:last-child{grid-column:1/-1}
}
@media(max-width:850px){
 .ngcity.ngcp .ngcp-hero .nght-hero-grid{grid-template-columns:1fr;gap:27px}
 .ngcity.ngcp .ngcp-hero .nght-hero-visual{max-width:640px;box-shadow:8px 8px 0 #C9F2A3}
 .ngcity.ngcp .ngcp-intro .nght-intro-grid{grid-template-columns:1fr;gap:22px}
 .ngcity.ngcp .ngcp-map-grid{grid-template-columns:1fr}
 .ngcity.ngcp .ngcp-map-wrap iframe{min-height:270px;flex:auto}
 .ngcity.ngcp .ngcp-services .nght-heading{grid-template-columns:1fr;gap:14px}
 .ngcity.ngcp .ngcp-contact .ngcity-contact-grid{grid-template-columns:1fr;max-width:650px}
 .ngcity.ngcp .ngcp-proof .nght-proof-grid{grid-template-columns:1fr}
 .ngcity.ngcp .ngcp-local-seo .nght-local-grid{grid-template-columns:1fr;gap:23px}
}
@media(max-width:650px){
 .ngcity.ngcp .ngcp-hero{padding-top:95px;padding-bottom:36px}
 .ngcity.ngcp .ngcp-hero h1{font-size:clamp(36px,9vw,55px)}
 .ngcity.ngcp .ngcp-hero .nght-hero-visual{max-width:100%;box-shadow:6px 6px 0 #C9F2A3}
 .ngcity.ngcp .ngcp-intro{padding:43px 0}
 .ngcity.ngcp .ngcp-local-audiences{grid-template-columns:1fr;gap:10px;margin-top:24px}
 .ngcity.ngcp .ngcp-audience:last-child{grid-column:auto}
 .ngcity.ngcp .ngcp-audience{padding:20px}
 .ngcity.ngcp .ngcp-services{padding:48px 0}
 .ngcity.ngcp .ngcp-local-seo{padding:45px 0}
 .ngcity.ngcp .ngcp-local-map{padding:45px 0}
 .ngcity.ngcp .ngcp-map-story{padding:23px}
 .ngcity.ngcp .ngcp-map-wrap iframe{min-height:230px}
 .ngcity.ngcp .ngcp-process{padding:45px 0}
 .ngcity.ngcp .ngcp-contact{padding:43px 0}
}
@media(prefers-reduced-motion:reduce){.ngcity.ngcp *{transition:none!important;animation:none!important}}
