.poly-projects__title{font-family:var(--poly-font-display);font-size:var(--poly-title-size);font-weight:var(--poly-title-weight);line-height:var(--poly-title-leading);letter-spacing:var(--poly-title-tracking);text-wrap:balance}.poly-projects__head{grid-template-columns:minmax(0,7fr) minmax(0,5fr);align-items:end;gap:clamp(24px,4vw,72px);margin-bottom:clamp(40px,4.4vw,64px);display:grid}.poly-projects__title{max-width:16ch}.poly-projects__intro{font-size:1.0625rem;line-height:1.72}.poly-projects__grid{grid-template-columns:repeat(12,minmax(0,1fr));grid-auto-rows:clamp(96px,10.4vw,148px);gap:clamp(12px,1.3vw,20px);display:grid}.poly-project--large{grid-area:span 4/span 7}.poly-project--tall{grid-area:span 4/span 5}.poly-project--normal{grid-area:span 3/span 4}.poly-project--wide{grid-area:span 2/span 12}.poly-project{border-radius:var(--poly-radius-lg);background:var(--poly-mist-deep);position:relative;overflow:hidden}.poly-project__media{border-radius:inherit;position:absolute;inset:0}.poly .poly-project__media img{transition:transform 1.25s var(--poly-ease-out)}.poly-project:hover .poly-project__media img{transform:scale(1.055)}.poly-project__overlay{color:var(--poly-white);background:linear-gradient(#0b113000 0%,#0b1130d1 72%);padding:clamp(20px,1.9vw,30px);position:absolute;inset:auto 0 0}.poly-project__category{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);letter-spacing:.12em;text-transform:uppercase;background:#ffffff29;border-radius:100px;padding:.32em .8em;font-size:.6875rem;font-weight:600;display:inline-flex}.poly-project__name{font-family:var(--poly-font-display);letter-spacing:-.018em;color:var(--poly-white);opacity:.92;transition:transform .5s var(--poly-ease-out), opacity .5s var(--poly-ease);margin-top:.7rem;font-size:clamp(1.05rem,1.35vw,1.3rem);font-weight:600;line-height:1.25;transform:translateY(4px)}.poly-project:hover .poly-project__name{opacity:1;transform:none}@media (width<=900px){.poly-projects__head{grid-template-columns:1fr;align-items:start}.poly-projects__grid{grid-auto-rows:clamp(90px,13vw,130px)}.poly-project--large{grid-area:span 3/span 12}.poly-project--tall{grid-area:span 3/span 6}.poly-project--normal{grid-area:span 2/span 6}}@media (width<=560px){.poly-projects__grid{grid-auto-rows:clamp(80px,22vw,110px)}.poly-project--large,.poly-project--tall,.poly-project--normal,.poly-project--wide{grid-area:span 2/span 12}}
