.page-hero.projects-hero{background:var(--grad-navy);padding:170px 0 80px;color:#fff}.projects-hero h1{color:#fff;max-width:18ch;font-size:clamp(2.2rem,5vw,3.4rem)}.projects-hero .lead{color:rgba(255,255,255,.8);max-width:56ch}.filter-bar{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:32px}.filter-btn{border:1px solid var(--silver);background:#fff;color:var(--navy);padding:10px 20px;border-radius:999px;cursor:pointer;font-weight:600;font-size:.85rem;transition:background .2s ease,color .2s ease}.filter-btn.is-active,.filter-btn:hover{background:var(--navy);color:#fff;border-color:var(--navy)}.project-list{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.proj{margin:0;border-radius:var(--radius-md);overflow:hidden;box-shadow:var(--shadow-soft);background:#fff}.proj img{width:100%;aspect-ratio:4/3;object-fit:cover}.proj figcaption{padding:16px 18px}.proj h4{font-size:.98rem;margin-bottom:4px}.proj span{font-size:.8rem;color:var(--steel);font-weight:600}.proj.is-hidden{display:none}.before-after{margin-top:64px}.ba-slider{position:relative;max-width:760px;margin:24px auto 0;border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-strong);aspect-ratio:16/10}.ba-slider img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.ba-slider .ba-after{clip-path:inset(0 0 0 50%)}.ba-slider input[type=range]{position:absolute;inset:auto 0 16px 0;width:90%;margin:0 5%;z-index:2}@media (max-width:960px){.project-list{grid-template-columns:1fr 1fr}}@media (max-width:600px){.project-list{grid-template-columns:1fr}}