html{scroll-snap-type:y proximity}@media (prefers-reduced-motion:reduce){html{scroll-snap-type:none}}.open{height:100svh;min-height:30rem;padding:0 var(--gut) clamp(5rem, 12vh, 9rem);scroll-snap-align:start;align-content:end;display:grid}.open .k{color:var(--salmon);margin:0 0 1.4rem}.open h1{font-family:var(--f-display);letter-spacing:-.03em;text-wrap:balance;max-width:12ch;margin:0;font-size:clamp(2.8rem,8vw,7.5rem);font-weight:200;line-height:.95}.open p{max-width:44ch;color:var(--dim);margin:1.8rem 0 0;font-size:clamp(1rem,1.3vw,1.2rem);font-weight:300}.proj{background:var(--stage);scroll-snap-align:start;height:100svh;min-height:34rem;position:relative;overflow:hidden}.proj .media{transition:transform 2.4s var(--ease);position:absolute;inset:0;transform:scale(1.06)}.proj.in .media{transform:none}.proj .shade{background:linear-gradient(#15151f26 0%,#15151f80 60%,#15151ff7 100%)}.proj .meta{left:var(--gut);right:var(--gut);z-index:3;grid-template-columns:1fr;align-items:end;gap:1rem 3rem;max-width:none;display:grid;position:absolute;bottom:clamp(3.5rem,9vh,6rem)}@media (width>=56rem){.proj .meta{grid-template-columns:1fr 22rem}}.proj .k{color:var(--salmon);margin:0 0 .8rem}.proj h2{font-family:var(--f-display);font-weight:200;font-size:var(--t-title);letter-spacing:-.035em;margin:0;line-height:.9}.proj .one{font-family:var(--f-display);font-weight:300;font-size:var(--t-lead);max-width:30ch;margin:1rem 0 0;line-height:1.3}.proj .side p{color:var(--dim);max-width:36ch;margin:0;font-weight:300}.proj .side a{border-bottom:1px solid var(--salmon);align-items:center;gap:.7rem;margin-top:1.3rem;padding-bottom:.2rem;display:inline-flex}.proj .side .facts{flex-wrap:wrap;gap:.3rem .9rem;margin:1.1rem 0 0;padding:0;list-style:none;display:flex}.proj .side .facts li{font-family:var(--f-mono);font-size:var(--t-mono-sm);letter-spacing:.12em;text-transform:uppercase;color:var(--slate)}.proj .meta>*{opacity:0;transition:opacity 1s var(--ease) .2s, transform 1.3s var(--ease) .2s;transform:translateY(14px)}.proj .meta>:nth-child(2){transition-delay:.26s}.proj.in .meta>*{opacity:1;transform:none}@media (prefers-reduced-motion:reduce){.proj .media{transition:none;transform:none}.proj .meta>*{opacity:1;transition:opacity .2s var(--ease);transform:none}}
