/* Nampa Concrete Works — inner pages (service + sub-city) and the Services menu. Loads after nampa-main.css. */
.nc-inner .nc-h2--in{font-size:clamp(1.75rem,3.6vw,2.6rem);margin-bottom:.55em;max-width:34ch}
.nc-isec{padding:clamp(40px,5.5vw,72px) 0}
.nc-isec p{max-width:72ch}

/* Services menu (header) */
.nc-svc{position:relative;flex:none}
.nc-svc summary{list-style:none;cursor:pointer;display:inline-flex;align-items:center;gap:4px;color:#E4E2DC;font-weight:600;font-size:.92rem;padding:8px 11px;border-radius:4px;white-space:nowrap}
.nc-svc summary::-webkit-details-marker{display:none}
.nc-svc summary:hover,.nc-svc[open] summary{color:#fff;background:var(--graphite2)}
.nc-svc-chev{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round;transition:transform .15s}
.nc-svc[open] .nc-svc-chev{transform:rotate(180deg)}
.nc-svc-panel{position:fixed;left:50%;transform:translateX(-50%);top:74px;z-index:70;width:min(860px,calc(100vw - 24px));max-height:calc(100vh - 140px);overflow:auto;background:#fff;border-radius:0 0 var(--r) var(--r);border-top:4px solid var(--rust);box-shadow:0 18px 40px rgba(0,0,0,.28);padding:18px 20px;display:grid;gap:14px 26px;grid-template-columns:repeat(3,1fr)}
.nc-svc-h{margin:0 0 6px;font-weight:600;font-size:.75rem;letter-spacing:.14em;text-transform:uppercase;color:var(--rust)}
.nc-nav .nc-svc-panel a{display:block;color:var(--ink);background:none;border:0;border-radius:4px;padding:7px 8px;font-size:.93rem;line-height:1.3;white-space:normal}
.nc-nav .nc-svc-panel a:hover{background:var(--concrete);color:var(--rust-d)}
@media (max-width:1079px){
 .nc-svc summary{font-size:.86rem;line-height:1.2;padding:7px 13px;border:1px solid #4A545A;border-radius:999px;background:var(--graphite)}
 .nc-svc[open] summary{background:var(--rust);border-color:var(--rust)}
 .nc-svc-panel{grid-template-columns:1fr 1fr;padding:14px 14px;max-height:calc(100vh - 150px)}
 .nc-svc-col:last-child{grid-column:1/-1}
}
@media (max-width:640px){.nc-svc-panel{grid-template-columns:1fr;gap:8px;padding:10px 12px}.nc-svc-h{margin-bottom:2px}.nc-nav .nc-svc-panel a{padding:6px 6px;font-size:.9rem}}

/* footer: service-area pages */
.nc-foot-areas{margin:10px 0 12px;font-size:.92rem;line-height:1.7}
.nc-foot-areas a{white-space:nowrap}

/* compact hero: copy + framed photo */
.nc-ihero{position:relative;background:var(--graphite);color:#E9E8E4;padding:18px 0 28px}
.nc-ihero::after{content:"";position:absolute;left:0;right:0;bottom:0;height:8px;background:repeating-linear-gradient(90deg,var(--sage) 0 120px,var(--graphite) 120px 124px)}
.nc-ihero-grid{display:grid;gap:16px;align-items:center}
.nc-ihero .nc-kicker{color:var(--sage-l);margin-bottom:8px}
.nc-ihero h1{color:#fff;font-size:clamp(1.62rem,6.6vw,2.6rem);margin-bottom:.45em;line-height:1}
.nc-ihero .nc-hero-lede{margin-bottom:0}
.nc-ihero-fig{margin:0}
.nc-ihero-img{width:100%;aspect-ratio:16/7;object-fit:cover;border-radius:var(--r);border:3px solid var(--slate)}
@media (min-width:960px){
 .nc-ihero{padding:52px 0 62px}
 .nc-ihero-grid{grid-template-columns:1.25fr 1fr;gap:48px}
 .nc-ihero h1{font-size:clamp(2.4rem,3.1vw,3.2rem);line-height:.96}
 .nc-ihero .nc-hero-lede{font-size:1.1rem}
 .nc-ihero-img{aspect-ratio:4/3;box-shadow:10px 10px 0 var(--rust);border:0}
}

/* first row: rest of the intro, form, call card, photo (no empty column next to the form) */
.nc-ifirst{background:var(--concrete);padding:18px 0 28px}
.nc-ifirst-row{display:grid;gap:16px}
.nc-ifirst-row>*{min-width:0}
.nc-ifirst-more p{font-size:1.02rem;color:var(--ink);margin-bottom:.6em}
.nc-ifirst-more p:last-child{margin-bottom:0}
.nc-ifirst-fig{display:none;margin:0}
@media (min-width:960px){
 .nc-ifirst{padding:44px 0 48px}
 .nc-ifirst-row{grid-template-columns:1.15fr 1fr;grid-template-rows:auto auto 1fr;gap:20px 32px;align-items:start}
 .nc-ifirst-form{grid-column:1;grid-row:1/span 3}
 .nc-ifirst-more,.nc-ifirst-call,.nc-ifirst-fig{grid-column:2}
 .nc-ifirst-more{grid-row:1;padding-top:38px}
 .nc-ifirst-call{grid-row:2}
 .nc-ifirst-fig{display:block;grid-row:3;align-self:stretch;min-height:180px;position:relative;overflow:hidden;border-radius:var(--r)}
 .nc-ifirst-fig img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
 .nc-ifirst-row:not(:has(.nc-ifirst-more)) .nc-ifirst-call{grid-row:1;margin-top:38px}
}

/* text + photo */
.nc-split{display:grid;gap:22px;align-items:center}
.nc-split-fig{margin:0}
.nc-split-fig img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:var(--r);box-shadow:8px 8px 0 var(--sage)}
.nc-sec--concrete .nc-split-fig img{box-shadow:8px 8px 0 var(--rust)}
@media (max-width:959px){.nc-split-fig{order:-1}.nc-split-fig img{aspect-ratio:16/9}}
@media (min-width:960px){.nc-split{grid-template-columns:1.2fr 1fr;gap:56px}.nc-split--flip .nc-split-fig{order:-1}.nc-split--flip{grid-template-columns:1fr 1.2fr}}

/* lists */
.nc-list-wrap{display:grid;gap:14px}
.nc-list-pre p,.nc-list-post p{font-size:1.04rem}
.nc-list-pre p:last-child,.nc-list-post p:last-child{margin-bottom:0}
.nc-numlist{list-style:none;margin:0;padding:0;display:grid;gap:10px;counter-reset:n}
.nc-numlist li{counter-increment:n;position:relative;background:var(--graphite2);border:1px solid var(--slate);border-radius:var(--r);padding:14px 16px 14px 58px;color:#E4E2DC;line-height:1.5}
.nc-numlist li::before{content:counter(n);position:absolute;left:0;top:0;bottom:0;width:44px;display:grid;place-items:center;background:var(--sage);color:#fff;font-family:var(--disp);font-weight:800;font-size:1.3rem;border-radius:var(--r) 0 0 var(--r)}
.nc-numlist strong{color:#fff}
@media (min-width:860px){.nc-numlist{grid-template-columns:1fr 1fr}.nc-numlist li:last-child:nth-child(odd){grid-column:span 2}}
.nc-checks{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.nc-checks li{position:relative;background:#fff;border:1px solid var(--rule);border-left:5px solid var(--sage);border-radius:var(--r);padding:13px 16px 13px 46px;line-height:1.5;color:var(--ink)}
.nc-checks li::before{content:"";position:absolute;left:17px;top:19px;width:12px;height:7px;border-left:3px solid var(--sage-d);border-bottom:3px solid var(--sage-d);transform:rotate(-45deg)}
@media (min-width:860px){.nc-checks{grid-template-columns:1fr 1fr}.nc-checks li:last-child:nth-child(odd){grid-column:span 2}}
.nc-isec .nc-price{margin-top:4px}

/* icon cards: each card carries its own H2 */
.nc-icards{display:grid;gap:16px}
.nc-icard{background:#fff;border:1px solid var(--rule);border-top:5px solid var(--sage);border-radius:var(--r);padding:20px 20px 8px}
.nc-sec--concrete .nc-icard{border-color:var(--concrete2);border-top-color:var(--rust)}
.nc-icard-top{display:flex;align-items:center;gap:12px;margin-bottom:10px}
.nc-icard-top .nc-ico{width:42px;height:42px;color:var(--sage-d);background:#E3EADF;border-radius:50%;padding:8px}
.nc-h2c{font-family:var(--disp);font-weight:800;text-transform:uppercase;font-size:1.35rem;line-height:1.05;margin:0;color:var(--ink)}
.nc-icard p{font-size:.98rem}
.nc-icard-fig{margin:0;border-radius:var(--r);overflow:hidden;min-height:200px;position:relative}
.nc-icard-fig img{width:100%;height:100%;object-fit:cover;aspect-ratio:16/10}
@media (min-width:760px){
 .nc-icards--2,.nc-icards--3,.nc-icards--4{grid-template-columns:1fr 1fr}
 .nc-icards--3>:last-child{grid-column:span 2}
 .nc-icard-fig img{position:absolute;inset:0;aspect-ratio:auto}
}
@media (min-width:1080px){
 .nc-icards--3{grid-template-columns:repeat(3,1fr)}.nc-icards--3>:last-child{grid-column:auto}
 .nc-icards--1{grid-template-columns:1fr}
}
@media (min-width:860px){
 .nc-icards--1 .nc-icard{display:grid;grid-template-columns:minmax(260px,1fr) 2fr;column-gap:36px;align-items:start;padding:24px 26px 12px}
 .nc-icards--1 .nc-icard-top{grid-column:1;grid-row:1/span 6}
 .nc-icards--1 .nc-icard p,.nc-icards--1 .nc-icard ul{grid-column:2;font-size:1.02rem}
}

/* long section without a photo: icon head + two text columns */
.nc-note-head{display:flex;align-items:center;gap:14px;margin-bottom:6px}
.nc-note-head .nc-h2--in{margin:0}
.nc-note-head .nc-ico{width:48px;height:48px;color:var(--rust);background:#fff;border-radius:50%;padding:9px;flex:none}
.nc-note-body{margin-top:14px;border-left:5px solid var(--rust);padding-left:clamp(14px,2.5vw,24px)}
@media (min-width:960px){.nc-note-body{columns:2;column-gap:40px}.nc-note-body p{max-width:none}}

.nc-ticks{margin:0 0 1em;padding-left:1.2em}.nc-ticks li{margin-bottom:.35em}
.nc-ba-grid--one{max-width:1040px;margin-inline:auto}

/* final quote */
.nc-sec--quote .nc-quote-copy a{color:#fff}
.nc-quote-btns{display:flex;flex-wrap:wrap;align-items:center;gap:10px 18px;margin:22px 0 0}
.nc-quote-email{font-size:.98rem;color:#D6D4CE}
.nc-quote-email a,.nc-back a{color:#fff;font-weight:600}
.nc-back{margin:14px 0 0;font-size:1rem;color:#D6D4CE}
