.gal{padding:calc(var(--nav-h) + clamp(36px, 8vh, 96px)) var(--gutter) clamp(90px, 16vh, 200px);position:relative}.gal__title{font:600 clamp(3.2rem, min(15vw, 26vh), 15rem)/.86 var(--sans);letter-spacing:-.05em;text-transform:uppercase}.gal__bar{background:var(--amber);transform-origin:0;height:clamp(8px,1.1vw,18px);transition:transform 1.1s var(--ease-in-out) .25s;margin-top:clamp(14px,2vw,30px);display:block;transform:scaleX(0)}.is-in .gal__bar{transform:none}.gal__lead{max-width:46ch;color:var(--muted);margin-top:clamp(18px,3vh,34px);font-size:clamp(1rem,1.2vw,1.175rem)}.gal__filters{top:var(--nav-h);z-index:30;margin:clamp(26px, 5vh, 54px) calc(var(--gutter) * -1) clamp(22px, 4vh, 44px);padding:12px var(--gutter);background:linear-gradient(#1b1d1af5,#1b1d1ae6);flex-wrap:wrap;gap:8px;display:flex;position:sticky}.chip{border:1px solid var(--line);color:var(--muted);font:500 .8125rem/1 var(--sans);letter-spacing:.06em;text-transform:uppercase;white-space:nowrap;transition:background-color .25s var(--ease-out), color .25s var(--ease-out), border-color .25s var(--ease-out), transform .16s var(--ease-out);align-items:baseline;gap:.7em;padding:.75em 1em;display:inline-flex}.chip small{font:500 .6875rem/1 var(--mono);letter-spacing:.04em;color:var(--faint);transition:color .25s}.chip:active{transform:scale(.97)}.chip.is-on{background:var(--amber);border-color:var(--amber);color:var(--carbon)}.chip.is-on small{color:var(--carbon)}@media (hover:hover) and (pointer:fine){.chip:not(.is-on):hover{color:var(--text);border-color:#fff8ef66}}.gal__grid{--gap:3px;position:relative}.tile{contain:strict;background:var(--carbon-2);text-align:left;color:inherit;cursor:zoom-in;transition:opacity .28s var(--ease-out);display:block;position:absolute;top:0;left:0;overflow:hidden}.tile[hidden]{display:none}.tile.is-out{opacity:0;pointer-events:none}.tile:focus-visible{outline:none}.tile:focus-visible:after{content:"";border:3px solid var(--amber);pointer-events:none;position:absolute;inset:0}.tile__media{clip-path:inset(0 0 100%);transition:clip-path 1s var(--ease-out) calc(var(--d,0) * 70ms), transform .16s var(--ease-out);display:block;position:absolute;inset:0}.tile.is-in .tile__media{clip-path:inset(0)}.tile__media img,.tile__media video{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.tile__media video{opacity:0;transition:opacity .35s var(--ease-out)}.tile__media video.is-on{opacity:1}.tile:active .tile__media{transform:scale(.97)}.tile__cap{width:var(--hw,100%);opacity:0;pointer-events:none;transition:opacity .18s var(--ease-out);background:linear-gradient(#0f100e00,#0f100ee0);flex-direction:column;gap:3px;padding:44px 13px 11px;display:flex;position:absolute;bottom:0;left:0}.tile--video .tile__cap{padding-right:54px}.tile.is-hot .tile__cap{opacity:1;transition-duration:.3s;transition-delay:.16s}.tile__name{-webkit-line-clamp:2;font:500 .9375rem/1.22 var(--sans);letter-spacing:-.01em;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.tile__proj{white-space:nowrap;text-overflow:ellipsis;font:500 .625rem/1.3 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--amber);overflow:hidden}.tile__dur{font:500 .625rem/1 var(--mono);letter-spacing:.04em;color:#fff;text-shadow:0 1px 3px #000000bf;opacity:0;transition:opacity .6s var(--ease-out) calc(var(--d,0) * 70ms + .35s);position:absolute;bottom:7px;right:8px}.tile.is-in .tile__dur{opacity:1}.tile__dur svg{width:.8em;height:.8em;display:block}.tile--head{cursor:default;border-top:2px solid var(--amber)}.tile__headin{width:var(--s);padding:calc(var(--s) * .068) calc(var(--s) * .07);opacity:0;transition:opacity .5s var(--ease-out);position:absolute;top:0;left:0}.tile--head.is-in .tile__headin{opacity:1}.tile--head.is-in.is-tight .tile__headin{opacity:.3;transition-duration:.25s}.tile--head p{font:500 max(9px, calc(var(--s) * .046))/1.4 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--amber)}.tile--head h2{margin-top:calc(var(--s) * .05);font:600 calc(var(--s) * .108)/1.04 var(--sans);letter-spacing:-.035em}.tile--head span{margin-top:calc(var(--s) * .045);font:400 max(9px, calc(var(--s) * .05))/1.4 var(--mono);color:var(--faint);display:block}.viewer{width:100vw;max-width:none;height:100dvh;max-height:none;color:var(--text);background:#0f100ef7;border:0;margin:0;padding:0;overflow:hidden}.viewer::backdrop{background:#0f100e99}.viewer[open]{animation:viewer-in .45s var(--ease-out);grid-template-rows:minmax(0,1fr) auto;display:grid}@keyframes viewer-in{0%{opacity:0}}.viewer__stage{min-height:0;padding:clamp(56px, 8vh, 84px) var(--gutter) 12px;cursor:zoom-out;place-items:center;display:grid;position:relative}.viewer__stage img,.viewer__stage video{object-fit:contain;cursor:default;width:auto;max-width:100%;height:auto;max-height:calc(100dvh - 236px);transition:opacity .22s var(--ease-out), transform .5s var(--ease-out)}.viewer.is-swapping .viewer__stage img,.viewer.is-swapping .viewer__stage video{opacity:0;transform:scale(.985)}.viewer__bar{padding:14px var(--gutter) clamp(18px, 3.4vh, 34px);flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:20px 40px;display:flex}.viewer__title{font:600 clamp(1.3rem, 2.6vw, 2.4rem)/1.05 var(--sans);letter-spacing:-.03em;margin-top:6px}.viewer__nav{align-items:center;gap:10px;display:flex}.viewer__btn{border:1px solid var(--line);width:52px;height:52px;transition:background-color .25s var(--ease-out), color .25s, border-color .25s, transform .16s var(--ease-out);place-items:center;display:inline-grid}.viewer__btn svg{width:18px;height:18px}.viewer__btn:active{transform:scale(.95)}@media (hover:hover) and (pointer:fine){.viewer__btn:hover{background:var(--amber);border-color:var(--amber);color:var(--carbon)}}.viewer__close{right:var(--gutter);z-index:2;position:absolute;top:18px}.page-gallery .nav:before{background:var(--carbon);inset:0}.page-gallery .contact__inner{min-height:0;padding-top:clamp(60px,12vh,140px)}.page-gallery .contact__logo{width:min(46vw,640px)}[data-motion=soft] .tile__media{clip-path:none;opacity:0;transition:opacity .5s}[data-motion=soft] .tile.is-in .tile__media{opacity:1}@media (max-width:899px){.gal__grid{--gap:2px;margin-inline:calc(var(--gutter) * -1)}.gal__filters{scrollbar-width:none;flex-wrap:nowrap;overflow-x:auto}.gal__filters::-webkit-scrollbar{display:none}.tile__dur{bottom:5px;right:5px}.viewer__btn{width:46px;height:46px}.page-gallery .contact__logo{width:100%}}
