.projects-hero { padding: 102px 0 62px; background:#fff; }
.projects-kicker { margin:0 0 18px; color:var(--blue); font-size:12px; font-weight:800; letter-spacing:.15em; text-transform:uppercase; }
.projects-hero h1 { max-width:900px; margin:0; font-size:clamp(52px,7vw,82px); line-height:.96; letter-spacing:-.058em; }
.projects-lead { max-width:650px; margin:28px 0 0; color:var(--gray); font-size:18px; }
.projects-list { padding:0 0 106px; }
.projects-filters { padding-bottom:38px; display:flex; flex-wrap:wrap; gap:9px; }
.projects-filters button { min-height:44px; padding:10px 17px; border:1px solid var(--line); border-radius:999px; color:#515762; background:#fff; font:700 13px Manrope,sans-serif; cursor:pointer; }
.projects-filters button:hover { color:var(--black); border-color:#afb6c2; }
.projects-filters button.is-active { color:#fff; border-color:var(--blue); background:var(--blue); }
.projects-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:48px 24px; }
.projects-card[hidden] { display:none; }
.projects-card-cover { position:relative; aspect-ratio:16/9; overflow:hidden; border-radius:16px; background:var(--bg); }
.projects-card-cover img { width:100%; height:100%; object-fit:cover; transition:transform .45s ease; }
.projects-card-cover span { position:absolute; right:18px; top:18px; width:46px; height:46px; display:grid; place-items:center; border-radius:50%; color:#fff; background:var(--blue); font-size:20px; opacity:0; transform:translateY(7px); transition:.2s ease; }
.projects-card:hover .projects-card-cover img { transform:scale(1.025); }
.projects-card:hover .projects-card-cover span { opacity:1; transform:translateY(0); }
.projects-card-copy { padding:21px 2px 0; }
.projects-card-copy p { margin:0 0 10px; color:var(--blue); font-size:12px; font-weight:800; letter-spacing:.04em; text-transform:uppercase; }
.projects-card-copy h2 { margin:0; height:60px; font-size:26px; line-height:1.15; letter-spacing:-.035em; overflow:hidden; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; }
.projects-card-copy div { margin:13px 0 0; color:var(--gray); font-size:14px; }
.projects-more { padding-top:52px; display:flex; justify-content:center; }
.projects-more[hidden] { display:none; }
.projects-empty { min-height:250px; display:grid; place-items:center; border:1px solid var(--line); border-radius:16px; color:var(--gray); background:var(--bg); }
.projects-cta { padding:72px 0; color:#fff; background:var(--black); }
.projects-cta .wrap { display:flex; justify-content:space-between; align-items:center; gap:42px; }
.projects-cta h2 { max-width:760px; margin:0; font-size:clamp(36px,4.8vw,58px); line-height:1.02; letter-spacing:-.05em; }
.projects-cta .btn { flex:0 0 auto; }
@media(max-width:640px){.projects-hero{padding:66px 0 46px}.projects-hero h1{font-size:clamp(44px,14vw,60px)}.projects-lead{font-size:15px}.projects-list{padding-bottom:72px}.projects-filters{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none}.projects-filters::-webkit-scrollbar{display:none}.projects-filters button{flex:0 0 auto}.projects-grid{grid-template-columns:1fr;gap:38px}.projects-card-copy h2{height:53px;font-size:23px}.projects-cta .wrap{align-items:flex-start;flex-direction:column}.projects-cta .btn{width:100%;justify-content:center}}
