.projects-showcase{padding:105px 0 125px;background:#f7f6f2}
.projects-heading{margin-bottom:58px;text-align:center}
.projects-heading h2{max-width:none;margin:0;font:400 clamp(38px,3.8vw,64px)/1.05 var(--heading);letter-spacing:-1.7px;white-space:nowrap}
.projects-heading h2 span{color:var(--gold)}
.project-tabs{display:flex;gap:10px;overflow-x:auto;margin:0 0 42px;padding:0 0 10px;scrollbar-width:thin}
.project-tab{flex:none;padding:12px 19px;border:1px solid #d8d6cf;border-radius:999px;background:transparent;color:#29282b;font:600 13px/1 var(--body);cursor:pointer;transition:background .3s,color .3s,border-color .3s,transform .3s}
.project-tab:hover{transform:translateY(-2px);border-color:#cfa354}
.project-tab.is-active{border-color:#1f1f20;background:#1f1f20;color:#fff}
.projects-grid{columns:3;column-gap:22px}
.projects-grid.is-filtered{columns:1}
.project-card{position:relative;display:inline-block;width:100%;min-height:410px;margin:0 0 22px;overflow:hidden;border-radius:20px;background:#252525;isolation:isolate;vertical-align:top;break-inside:avoid;opacity:1;transform:translateY(0);transition:opacity .4s ease,transform .55s cubic-bezier(.22,1,.36,1),filter .45s ease}
.project-card--wide{min-height:410px}
.project-card--tall{min-height:630px}
.project-card>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:saturate(.72) brightness(.82);transform:scale(1.01);transition:transform 1.05s cubic-bezier(.22,1,.36,1),filter .6s ease}
.project-card-shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(10,10,10,.12) 15%,rgba(10,10,10,.2) 42%,rgba(10,10,10,.88) 100%);transition:opacity .45s ease}
.project-card-content{position:absolute;inset:0;display:flex;flex-direction:column;align-items:flex-start;padding:28px;color:#fff}
.project-card-link{position:absolute;inset:0;z-index:5}
.project-type{padding:8px 12px;border:1px solid rgba(255,255,255,.7);border-radius:999px;font:700 11px/1 var(--body);text-transform:uppercase;letter-spacing:.35px;opacity:0;transform:translateY(-12px);transition:opacity .35s ease,transform .45s cubic-bezier(.22,1,.36,1)}
.project-card-copy{margin-top:auto;transform:translateY(37px);transition:transform .5s cubic-bezier(.22,1,.36,1)}
.project-card h3{margin:0;font:500 clamp(25px,2.2vw,36px)/1.08 var(--heading);letter-spacing:-.6px}
.project-card p{margin:13px 0 0;font-size:15px;line-height:1.55;opacity:0;transform:translateY(13px);transition:opacity .35s ease,transform .45s cubic-bezier(.22,1,.36,1)}
.project-arrow{position:absolute;right:25px;bottom:25px;display:grid;width:42px;height:42px;place-items:center;border-radius:50%;background:#fff;color:#1f1f20;font-size:19px;transform:rotate(0);transition:transform .45s cubic-bezier(.22,1,.36,1),background .3s}
.project-card:hover{z-index:2;transform:translateY(-7px);filter:drop-shadow(0 24px 30px rgba(27,25,21,.18))}
.project-card:hover>img{filter:saturate(1.12) brightness(1.02);transform:scale(1.075)}
.project-card:hover .project-card-shade{opacity:.88}
.project-card:hover .project-type,.project-card:hover p{opacity:1;transform:translateY(0)}
.project-card:hover .project-card-copy{transform:translateY(0)}
.project-card:hover .project-arrow{transform:rotate(45deg);background:#d5a856}
.project-card.is-hiding{opacity:0;transform:scale(.96);pointer-events:none}
.project-card[hidden]{display:none}
.project-card.is-single{min-height:620px;margin-top:0}
@media(max-width:991px){.projects-heading h2{font-size:clamp(30px,5vw,46px)}.projects-grid{columns:2}.projects-grid.is-filtered{columns:1}.project-card--tall{min-height:570px}}
@media(max-width:600px){.projects-showcase{padding:70px 0 80px}.projects-heading{margin-bottom:40px}.projects-heading h2{font-size:clamp(25px,7.2vw,36px);letter-spacing:-.8px}.project-tabs{margin-bottom:28px}.projects-grid,.projects-grid.is-filtered{columns:1}.project-card,.project-card--wide,.project-card.is-single{min-height:420px}.project-card--tall{min-height:500px}.project-card-content{padding:22px}.project-type,.project-card p{opacity:1;transform:none}.project-card-copy{transform:none}.project-arrow{right:20px;bottom:20px}}
@media(prefers-reduced-motion:reduce){.project-card,.project-card *{transition:none!important}}
