/* Top projects: six image-led cards in a static grid, following the approved reference. */
.ntp { background:#0b0c0b; color:#f3f3ef; padding-block:clamp(56px,5vw,96px); }
.ntp .container,.project-showcase-page .main .ntp .container { width:93%; max-width:2400px; padding-inline:0; }
.ntp-eyebrow { display:flex; justify-content:space-between; align-items:center; gap:24px; margin-bottom:40px; font-size:14px; line-height:1.4; }
.ntp-eyebrow p { margin:0; color:#898b87; }
.ntp-eyebrow p:first-child { display:flex; align-items:center; gap:20px; color:#ff6a33; }
.ntp-eyebrow p:first-child span { width:88px; height:1px; background:#ff6a3326; }
.ntp-heading { display:flex; justify-content:space-between; align-items:center; gap:24px; margin-bottom:26px; }
.ntp .section-title { margin:0; font-size:clamp(40px,3.6vw,68px); font-weight:400; line-height:1.1; letter-spacing:normal; }
.ntp-heading > a { color:#aaa; font-size:14px; white-space:nowrap; text-decoration:none; }
.ntp-heading > a:hover { color:#ff6a33; }
.ntp-categories { display:flex; gap:clamp(24px,2.3vw,44px); overflow-x:auto; scrollbar-width:none; border-bottom:1px solid #ffffff12; margin-bottom:30px; }
.ntp-categories::-webkit-scrollbar { display:none; }
.ntp-category { position:relative; display:block; flex-shrink:0; padding:0 0 17px; color:#888b86; font-size:clamp(15px,1.14vw,21px); line-height:1.35; text-decoration:none; white-space:nowrap; transition:color .2s; }
.ntp-category.is-active { color:#f0f1ee; }
.ntp-category.is-active::after { content:''; position:absolute; inset:auto 0 -1px; height:2px; background:#ff6a33; }
.ntp-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:44px 22px; }
.ntp-card { min-width:0; display:flex; flex-direction:column; }
.ntp-card__media { position:relative; }
.ntp-card__image { position:relative; display:block; aspect-ratio:1.56; background:#171a15; overflow:hidden; }
.ntp-card__image img { display:block; width:100%; height:100%; object-fit:cover; user-select:none; -webkit-user-drag:none; }
.ntp-card__image .ntp-card__night { position:absolute; inset:0; opacity:0; transition:opacity .7s; }
.ntp-card__details { display:flex; flex-wrap:wrap; gap:6px 12px; align-items:baseline; justify-content:space-between; margin:15px 0 16px; min-height:0; }
.ntp-card h3 { margin:0; font-size:clamp(20px,1.48vw,29px); font-weight:400; line-height:1.3; color:#f3f3ef; letter-spacing:normal; }
.ntp-card h3 a { text-decoration:none; color:inherit; }
.ntp-card h3 span { color:#92958f; font-size:.8em; white-space:nowrap; }
.ntp-card__specs { margin:0; color:#8e918b; font-size:clamp(11px,.86vw,16px); line-height:1.4; white-space:nowrap; }
.ntp-card__actions { display:grid; grid-template-columns:1fr 1fr; gap:10px; margin-top:auto; }
.ntp .ntp-button { display:flex; justify-content:space-between; align-items:center; gap:14px; min-height:48px; padding:14px 18px; border:1px solid transparent; border-radius:0; font-size:clamp(13px,1.05vw,19px); line-height:1.3; text-decoration:none; transition:background .2s,border-color .2s,color .2s; }
.ntp-button svg { width:20px; height:20px; flex-shrink:0; transition:transform .2s; }
.ntp .ntp-button--outline { border-color:#ff6a3333; color:#ff6a33; background:transparent; }
.ntp .ntp-button--ghost { justify-content:center; border-color:#ffffff1f; color:#c9cac6; background:#ffffff05; }
.ntp-button--outline svg { color:#ff6a33; }
.ntp .ntp-catalog.ntp-button--outline { border-color:#ffffff4d; color:#f3f3ef; }
.ntp-bottom { display:flex; justify-content:space-between; align-items:center; gap:24px; margin-top:34px; }
.ntp-note { margin:0; max-width:620px; color:#898b87; font-size:16px; line-height:1.45; }
.ntp .ntp-catalog { width:280px; justify-content:space-between; min-height:56px; padding-inline:24px; font-size:17px; }
.ntp-estimate-selection { color:#ff6a33; font-size:18px; line-height:1.4; margin:0 0 18px; }
.ntp :is(button,a,[tabindex]):focus-visible { outline:2px solid #ff6a33; outline-offset:3px; }
@media(min-width:1600px) { .ntp-card__details { flex-wrap:nowrap; } }
@media(hover:hover) and (pointer:fine) {
 .ntp-card__image:hover .ntp-card__night { opacity:1; }
 .ntp-category:hover { color:#fff; }
  .ntp .ntp-button--outline:hover { background:#ff6a330f; border-color:#ff6a33; }
 .ntp .ntp-button--ghost:hover { color:#fff; border-color:#ffffff59; background:#ffffff0d; }
 .ntp-button:hover svg { transform:translate(2px,-2px); }
 }
@media(max-width:1100px) {
 .ntp-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:36px 18px; }
 .ntp-card__details { align-content:start; }
 .ntp .ntp-button { font-size:15px; padding-inline:15px; min-height:50px; }
}
@media(max-width:700px) {
 .ntp { padding-block:48px; }
 .ntp .container,.project-showcase-page .main .ntp .container { width:calc(100% - 40px); }
 .ntp-eyebrow { align-items:flex-start; margin-bottom:26px; gap:18px; font-size:12px; }
 .ntp-eyebrow p:first-child { gap:10px; }
 .ntp-eyebrow p:first-child span { width:32px; }
 .ntp-eyebrow p:last-child { max-width:170px; text-align:right; }
 .ntp-heading { margin-bottom:25px; gap:16px; }
 .ntp .section-title { font-size:36px; }
 .ntp-heading > a { font-size:12px; }
  .ntp-categories { gap:24px; margin-bottom:24px; }
 .ntp-category { padding-bottom:14px; font-size:15px; }
  .ntp-grid { grid-template-columns:1fr; gap:32px; }
 .ntp-card__image { aspect-ratio:1.35; }
 .ntp-card__details { margin:14px 0; gap:5px; flex-direction:column; align-items:flex-start; }
 .ntp-card h3 { font-size:24px; }
 .ntp-card__specs { font-size:12px; }
 .ntp .ntp-button { min-height:52px; padding:13px 12px; gap:8px; font-size:14px; }
 .ntp .ntp-button svg { width:17px; height:17px; }
  .ntp-bottom { margin-top:26px; flex-direction:column; align-items:flex-start; gap:16px; }
  .ntp-note { font-size:14px; }
  .ntp .ntp-catalog { width:100%; min-height:56px; font-size:17px; }
}
@media(prefers-reduced-motion:reduce) { .ntp * { transition:none!important; } }
