.projects-showcase{padding:105px 0 125px;background:#f6f6f7}
.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(--brand-accent)}
.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 18px/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{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-flow:row dense;grid-auto-rows:clamp(125px,12vw,190px);gap:22px}

.project-card{position:relative;display:block;width:100%;min-width:0;height:100%;min-height:0;grid-row:span 2;margin:0;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}
.projects-grid .project-card.is-layout-tall{grid-row:span 3}
.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 18px/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{width:100%;margin-top:auto;padding-right:52px;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:18px;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:#c81920}
.project-card.is-hiding{opacity:0;transform:scale(.96);pointer-events:none}
.project-card[hidden]{display:none}

.projects-empty{position:relative;display:flex;min-height:360px;flex-direction:column;align-items:center;justify-content:center;overflow:hidden;padding:56px 28px;border:1px solid #e5e3df;border-radius:24px;background:radial-gradient(ellipse at 50% 0%,rgba(200,25,32,.07),transparent 48%),#fff;text-align:center}
.projects-empty[hidden]{display:none}
.projects-empty.is-visible{animation:projects-empty-arrive .65s cubic-bezier(.22,1,.36,1) both}
.projects-empty:before,.projects-empty:after{position:absolute;z-index:0;width:230px;height:230px;border:1px solid rgba(200,25,32,.08);border-radius:50%;content:"";pointer-events:none;animation:projects-empty-orbit 8s ease-in-out infinite}
.projects-empty:before{top:-154px;left:calc(50% - 115px)}
.projects-empty:after{top:-136px;left:calc(50% - 115px);width:194px;height:194px;animation-delay:-2s}
.projects-empty>*{position:relative;z-index:1}
.projects-empty-mark{display:grid;width:66px;height:66px;place-items:center;margin-bottom:22px;border:1px solid rgba(200,25,32,.2);border-radius:50%;background:#fff;color:#c81920;font-size:26px;animation:projects-empty-float 3.8s ease-in-out infinite}
.projects-empty h2{margin:0;color:#242326;font:500 clamp(27px,3vw,40px)/1.12 var(--heading);letter-spacing:-.6px}
.projects-empty p{max-width:560px;margin:14px 0 24px;color:#6d6b70;font-size:18px;line-height:1.6}
.projects-empty-cta{display:inline-flex;align-items:center;gap:12px;color:#29282b;font-size:17px;font-weight:700;text-decoration:none;transition:color .25s ease}
.projects-empty-cta span{display:grid;width:38px;height:38px;place-items:center;border-radius:50%;background:#c81920;color:#fff;transition:transform .3s cubic-bezier(.22,1,.36,1)}
.projects-empty-cta:hover,.projects-empty-cta:focus-visible{color:#c81920}
.projects-empty-cta:hover span,.projects-empty-cta:focus-visible span{transform:translateX(4px)}
@keyframes projects-empty-arrive{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}
@keyframes projects-empty-orbit{0%,100%{transform:translateY(0) scale(1);opacity:.65}50%{transform:translateY(12px) scale(1.04);opacity:1}}
@keyframes projects-empty-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-6px)}}
@media(max-width:991px){.projects-heading h2{font-size:clamp(30px,5vw,46px)}.projects-grid{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:145px}}
@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,.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}.projects-empty{min-height:320px;padding:42px 22px}.projects-empty p{font-size:16px}}
@media(prefers-reduced-motion:reduce){.project-card,.project-card *, .projects-empty, .projects-empty:before, .projects-empty:after, .projects-empty-mark{transition:none!important;animation:none!important}}
