.projects-grid-module__57elaG__grid{grid-template-columns:repeat(2,1fr);gap:clamp(24px,3.4vw,56px) clamp(20px,2.6vw,40px);width:100%;display:grid}.projects-grid-module__57elaG__card{color:inherit;outline:none;text-decoration:none;display:block}.projects-grid-module__57elaG__shot{aspect-ratio:16/11;background:#0e1013;border:1px solid #ffffff14;border-radius:14px;position:relative;overflow:hidden}.projects-grid-module__57elaG__shot img{object-fit:cover;object-position:top center;filter:saturate(.96)brightness(.94);width:100%;height:100%;transition:transform .7s cubic-bezier(.2,.8,.2,1),filter .5s;display:block;transform:scale(1.001)}.projects-grid-module__57elaG__card:hover .projects-grid-module__57elaG__shot img,.projects-grid-module__57elaG__card:focus-visible .projects-grid-module__57elaG__shot img{filter:saturate(1.05)brightness();transform:scale(1.06)}.projects-grid-module__57elaG__num{z-index:2;letter-spacing:.1em;color:#f4f3f0db;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#08090a80;border-radius:20px;padding:4px 8px;font-family:IBM Plex Mono,ui-monospace,monospace;font-size:11px;position:absolute;top:14px;left:14px}.projects-grid-module__57elaG__open{z-index:2;color:#f4f3f0;opacity:0;background:#08090a80;border-radius:50%;justify-content:center;align-items:center;width:34px;height:34px;font-size:15px;transition:opacity .3s,transform .3s,background .2s;display:flex;position:absolute;top:12px;right:12px;transform:translateY(-4px)}.projects-grid-module__57elaG__card:hover .projects-grid-module__57elaG__open,.projects-grid-module__57elaG__card:focus-visible .projects-grid-module__57elaG__open{opacity:1;transform:translateY(0)}.projects-grid-module__57elaG__card:hover .projects-grid-module__57elaG__open{color:#08090a;background:#8dcbff}.projects-grid-module__57elaG__meta{border-bottom:1px solid #ffffff1a;justify-content:space-between;align-items:baseline;gap:16px;margin:16px 2px 0;padding-bottom:14px;display:flex}.projects-grid-module__57elaG__name{letter-spacing:-.02em;color:#f4f3f0;font-size:clamp(20px,2vw,27px);font-weight:500;line-height:1.05;transition:color .25s}.projects-grid-module__57elaG__card:hover .projects-grid-module__57elaG__name{color:#8dcbff}.projects-grid-module__57elaG__tags{letter-spacing:.04em;color:#8f8d87;text-align:right;white-space:nowrap;flex:none;font-family:IBM Plex Mono,ui-monospace,monospace;font-size:11px}.projects-grid-module__57elaG__year{color:#5f5e59;margin-left:10px}@media (max-width:720px){.projects-grid-module__57elaG__grid{grid-template-columns:1fr}.projects-grid-module__57elaG__meta{flex-direction:column;gap:6px}.projects-grid-module__57elaG__tags{text-align:left}}@media (prefers-reduced-motion:reduce){.projects-grid-module__57elaG__shot img,.projects-grid-module__57elaG__open,.projects-grid-module__57elaG__name{transition:none}.projects-grid-module__57elaG__card:hover .projects-grid-module__57elaG__shot img{transform:none}}
.projects-page{--p-space:#050607;--p-panel:#111419;--p-text:#f7f9fb;--p-muted:#aeb4bd;--p-ice:#8dcbff;--p-line:#ffffff29;z-index:2;color:var(--p-text);background:var(--p-space);position:relative}.projects-hero{align-items:flex-end;min-height:100svh;padding:120px clamp(20px,5vw,80px) 62px;display:flex;position:relative;overflow:hidden}.projects-hero__image,.projects-hero__shade{position:absolute;inset:0}.projects-hero__image img{object-fit:cover;object-position:82% center;filter:saturate()brightness(.5)blur(22px);width:100%;height:100%;animation:1.5s cubic-bezier(.32,.72,0,1) both projects-hero-in;transform:scale(1.22)}.projects-hero__shade{background:linear-gradient(#05060780 0%,#0506079e 45%,#050607 100%)}.projects-hero__copy{z-index:2;width:min(1280px,100%);margin:0 auto;position:relative}.projects-hero__copy>p,.projects-row__number,.projects-row__type,.projects-row__year{letter-spacing:.11em;text-transform:uppercase;color:var(--p-muted);font:10px/1.4 IBM Plex Mono,Consolas,monospace}.projects-hero h1{letter-spacing:-.065em;text-wrap:balance;max-width:1040px;margin:24px 0 48px;font-size:clamp(58px,9vw,142px);font-weight:300;line-height:.9}.projects-hero__copy>div{border-top:1px solid var(--p-line);grid-template-columns:190px 1fr;gap:30px;max-width:760px;margin-left:auto;padding-top:22px;display:grid}.projects-hero__copy>div span{color:var(--p-ice);text-transform:uppercase;letter-spacing:.1em;font:9px/1.5 IBM Plex Mono,Consolas,monospace}.projects-hero__copy>div p{color:var(--p-muted);font-size:17px;line-height:1.6}@keyframes projects-hero-in{0%{opacity:0;transform:scale(1.1)}to{opacity:1;transform:scale(1.03)}}.projects-index{padding:clamp(90px,12vw,170px) clamp(20px,5vw,80px)}.projects-filters{border:1px solid var(--p-line);border-radius:999px;gap:4px;width:fit-content;margin:0 auto 70px;padding:5px;display:flex}.projects-filters button{min-width:96px;min-height:42px;color:var(--p-muted);font:inherit;cursor:pointer;background:0 0;border:0;border-radius:999px;padding:0 17px;font-size:12px;transition:background .24s,color .24s}.projects-filters button.is-active{color:#050607;background:var(--p-ice)}.projects-list{border-top:1px solid var(--p-line);max-width:1280px;margin:0 auto}.projects-row{border-bottom:1px solid var(--p-line);min-height:184px;color:inherit;isolation:isolate;grid-template-columns:64px minmax(280px,1fr) minmax(220px,.6fr) 120px 36px;align-items:center;gap:24px;padding:28px 8px;text-decoration:none;display:grid;position:relative}.projects-row__main{z-index:2;flex-direction:column;gap:16px;display:flex;position:relative}.projects-row__main strong{letter-spacing:-.055em;font-size:clamp(38px,5vw,76px);font-weight:300;line-height:.96;transition:color .28s,transform .4s cubic-bezier(.32,.72,0,1)}.projects-row__main small{color:#7a818a;max-width:470px;font-size:12px;line-height:1.5}.projects-row__arrow{z-index:2;color:var(--p-muted);font-size:24px;transition:color .28s,transform .28s;position:relative}.projects-row__preview{z-index:1;aspect-ratio:16/10;background:var(--p-panel);opacity:0;pointer-events:none;border:1px solid #fff3;border-radius:15px;width:clamp(300px,34vw,500px);transition:opacity .26s,transform .45s cubic-bezier(.32,.72,0,1);position:absolute;top:50%;right:9%;overflow:hidden;transform:translateY(-50%)scale(.84)rotate(-2deg);box-shadow:0 34px 80px #00000085}.projects-row__preview img{object-fit:cover;object-position:top center;width:100%;height:100%}.projects-row:hover .projects-row__main strong,.projects-row:focus-visible .projects-row__main strong{color:var(--p-ice);transform:translate(10px)}.projects-row:hover .projects-row__arrow,.projects-row:focus-visible .projects-row__arrow{color:var(--p-ice);transform:translate(4px,-4px)}.projects-row:hover .projects-row__preview,.projects-row:focus-visible .projects-row__preview{opacity:1;transform:translateY(-50%)scale(1)rotate(-2deg)}.projects-coda{text-align:center;border-top:1px solid var(--p-line);background:radial-gradient(45vw 32vw at 50% 100%,#347fd133,#0000 72%);flex-direction:column;justify-content:center;align-items:center;gap:36px;min-height:70vh;padding:110px 5vw;display:flex}.projects-coda p{letter-spacing:-.05em;font-size:clamp(34px,5vw,74px);font-weight:300}.projects-coda a{background:var(--p-ice);color:#050607;border-radius:10px;align-items:center;gap:38px;min-height:52px;padding:0 20px;font-weight:600;text-decoration:none;display:inline-flex}@media (prefers-reduced-motion:reduce){.projects-hero__image img{animation:none}.projects-row__preview,.projects-row__main strong{transition:none}}@media (max-width:820px){.projects-hero__copy>div{grid-template-columns:1fr}.projects-row{grid-template-columns:44px 1fr 34px;gap:14px}.projects-row__type{grid-column:2}.projects-row__year{display:none}.projects-row__preview{opacity:1;grid-column:2/-1;width:100%;position:static;transform:none}.projects-row__main small{display:none}}@media (max-width:560px){.projects-hero{padding-left:16px;padding-right:16px}.projects-hero h1{font-size:54px}.projects-index{padding-left:16px;padding-right:16px}.projects-filters{justify-content:flex-start;width:100%;margin-bottom:46px;overflow:auto}.projects-filters button{min-width:max-content}.projects-row{padding:24px 0}.projects-row__main strong{font-size:32px}}
