.ncb{padding:clamp(4.2rem,6vw,7.2rem) 0;color:var(--ncb-text);background:var(--ncb-bg)}
.ncb[hidden]{display:none!important}
.ncb__head{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,430px);align-items:end;gap:3rem;margin-bottom:2.6rem}
.ncb__eyebrow{margin:0 0 .8rem;font-size:1rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase}
.ncb__head h2{margin:0;font-size:clamp(3.2rem,4.5vw,5.5rem);line-height:1;letter-spacing:-.05em}
.ncb__text{color:rgba(17,17,15,.65);font-size:1.25rem;line-height:1.55}
.ncb__text p{margin:0}
.ncb__grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.85rem}
.ncb__card{position:relative;aspect-ratio:1/1;display:grid;place-items:center;overflow:hidden;color:#fff;text-align:center;text-decoration:none;background:#d4cec5;isolation:isolate}
.ncb__media,.ncb__media img,.ncb__placeholder{position:absolute;inset:0;width:100%;height:100%;display:block;object-fit:cover}
.ncb__media img{transition:transform .8s cubic-bezier(.22,.7,.2,1),filter .45s ease}
.ncb__shade{position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,rgba(0,0,0,.04) 10%,rgba(0,0,0,calc(var(--ncb-overlay,.38) * .55)) 52%,rgba(0,0,0,var(--ncb-overlay,.38)) 100%)}
.ncb__content{position:relative;z-index:2;display:grid;gap:.6rem;padding:1.6rem;transform:translateY(.2rem);transition:transform .35s ease}
.ncb__content small{font-size:.82rem;font-weight:800;letter-spacing:.15em;text-transform:uppercase;opacity:.88}
.ncb__content strong{font-size:clamp(2rem,2.2vw,3rem);font-weight:600;line-height:1.05;letter-spacing:-.035em;text-wrap:balance}
.ncb__card:hover .ncb__media img{transform:scale(1.055);filter:saturate(1.05)}
.ncb__card:hover .ncb__content{transform:translateY(-.15rem)}
.ncb__card:focus-visible{outline:2px solid currentColor;outline-offset:3px}
@media(max-width:989px){
 .ncb__head{grid-template-columns:1fr;gap:1.4rem}
 .ncb__grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:749px){
 .ncb{padding:3.4rem 0 4.2rem}
 .ncb__head{display:block;margin-bottom:1.9rem}
 .ncb__text{margin-top:1rem;font-size:1.08rem}
 .ncb__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem}
 .ncb__content{padding:1rem}
 .ncb__content small{font-size:.68rem}
 .ncb__content strong{font-size:1.72rem}
}
