.capability-slides{background:#20272b}
.capability-slide{position:absolute;inset:0;display:block;opacity:0;overflow:hidden;transition:opacity .8s ease}
.capability-slide.active{opacity:1}
.capability-slide>img{width:100%;height:100%;display:block;object-fit:cover;transform:scale(1.025);transition:transform 5.5s ease}
.capability-slide.active>img{transform:scale(1)}
.capability-slide:after{content:"";position:absolute;inset:25% 0 0;background:linear-gradient(180deg,transparent,rgba(10,14,16,.92))}
.capability-project-caption{position:absolute;z-index:2;left:22px;right:20px;bottom:18px;color:#fff;display:grid;gap:3px}
.capability-project-caption b{font-size:15px;line-height:1.25}
.capability-project-caption span{color:#d5dadd;font-size:11px;line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.capability-slides .category-number{z-index:3;top:0;bottom:auto}
.portfolio{background:#fff}
.project-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}
.project-card{position:relative;display:block;width:100%;height:auto;aspect-ratio:3/2;padding:0;overflow:hidden;border:0;background:#20272b;color:#fff;text-align:left;cursor:pointer}
.project-card>img,.project-card>.project-no-photo{display:block;width:100%;height:100%;object-fit:cover;transition:transform .45s ease}
.project-card:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 30%,rgba(11,14,16,.88) 100%);pointer-events:none}
.project-card:hover>img,.project-card:focus-visible>img{transform:scale(1.035)}
.project-overlay{position:absolute;z-index:2;left:0;right:0;bottom:0;padding:30px;display:grid;gap:5px}
.project-type{font-size:10px;font-weight:800;letter-spacing:.15em;text-transform:uppercase;color:#f0bd3e}
.project-overlay h3{font-size:clamp(21px,2.2vw,30px);line-height:1.15;letter-spacing:-.025em;margin:0;color:#fff}
.view-gallery{display:flex;align-items:center;gap:8px;margin-top:8px;font-size:11px;font-weight:800;letter-spacing:.09em;text-transform:uppercase}
.project-card.no-image:after{background:linear-gradient(180deg,transparent,rgba(11,14,16,.8))}
.gallery-open{overflow:hidden}
.lightbox[hidden],.lightbox-stage[hidden]{display:none}
.lightbox{position:fixed;z-index:1000;inset:0;background:rgba(10,13,15,.97);display:grid;place-items:center;padding:40px;color:#fff}
.lightbox-shell{width:min(1380px,100%);height:min(820px,calc(100vh - 80px));display:grid;grid-template-columns:minmax(0,1.65fr) minmax(320px,.7fr);background:#171c1f;box-shadow:0 24px 90px #000}
.lightbox-stage{position:relative;min-width:0;display:grid;place-items:center;background:#090c0e;overflow:hidden}
.lightbox-stage>img{max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain}
.project-detail{overflow-y:auto;padding:58px 44px;background:#f4f2ed;color:#171c1f}
.project-detail-type{margin:0 0 16px;color:#ad1f25;font-size:11px;font-weight:800;letter-spacing:.15em;text-transform:uppercase}
.project-detail h2{margin:0 0 26px;font-size:clamp(28px,3vw,43px);line-height:1.05;letter-spacing:-.035em}
.project-description{white-space:pre-line;color:#4f595e;font-size:14px;line-height:1.72}
.project-page-link{display:inline-block;margin-top:28px;color:#ad1f25;font-size:14px;font-weight:800}
.lightbox-close,.lightbox-arrow{border:1px solid rgba(255,255,255,.4);background:rgba(0,0,0,.38);color:#fff;cursor:pointer}
.lightbox-close{position:absolute;z-index:3;top:18px;right:20px;width:46px;height:46px;font-size:30px;line-height:1}
.lightbox-arrow{position:absolute;z-index:2;top:50%;width:50px;height:68px;font-size:43px;line-height:1;transform:translateY(-50%)}
.lightbox-arrow.previous{left:18px}.lightbox-arrow.next{right:18px}
.lightbox button:hover,.lightbox button:focus-visible{background:#ad1f25;border-color:#ad1f25}
@media screen and (max-width:850px){.project-grid{grid-template-columns:1fr}.project-overlay{padding:24px}.lightbox{padding:0}.lightbox-shell{width:100%;height:100vh;grid-template-columns:1fr;grid-template-rows:minmax(300px,56vh) minmax(0,1fr)}.lightbox-stage{min-height:0}.project-detail{padding:30px 26px 45px}.project-detail h2{font-size:30px;margin-bottom:18px}.lightbox-close{top:12px;right:12px}.lightbox-arrow{width:42px;height:58px;font-size:38px}.lightbox-arrow.previous{left:10px}.lightbox-arrow.next{right:10px}}
@media (prefers-reduced-motion:reduce){.capability-slide,.capability-slide>img,.project-card>img{transition:none}}

/* Keep galleries aligned with the refined industrial card system. */
.capability-project-caption{left:24px;right:24px;bottom:21px;gap:5px}
.capability-project-caption b{font-size:16px;font-weight:720;line-height:1.3;letter-spacing:-.01em}
.capability-project-caption span{font-size:12px;font-weight:500;line-height:1.48}
.project-grid{gap:28px}
.project-card{border:1px solid var(--line);border-radius:var(--card-radius);box-shadow:var(--card-shadow)}
.project-overlay{padding:31px}
.project-type{font-size:11px;font-weight:750;letter-spacing:.14em}
.project-overlay h3{font-weight:720;letter-spacing:-.025em;line-height:1.18}
.view-gallery{font-size:12px;font-weight:750;letter-spacing:.08em;margin-top:4px}
.project-detail{padding:60px 46px}
.project-detail-type{font-size:12px;font-weight:750}
.project-detail h2{font-weight:720;line-height:1.08;letter-spacing:-.03em}
.project-description{font-size:15px;line-height:1.75}
.project-page-link{font-size:14px;font-weight:750}
@media screen and (max-width:850px){.project-overlay{padding:26px}.project-detail{padding:34px 28px 46px}}
