:root{--color-paper:lab(2.13437% -1.41563 -1.35026);--color-paper-2:lab(7.76728% -6.69413 -5.40948);--color-paper-3:lab(11.7148% -4.60941 -5.28071);--color-ink:lab(90.6941% .117004 5.40671);--color-ink-2:lab(79.2128% -.760645 4.90161);--color-muted:lab(67.519% -4.27303 -3.20109);--color-rule:lab(20.0714% -4.30676 -3.47794);--color-rule-2:lab(13.0972% -3.76102 -3.03937);--color-accent:lab(67.9145% -35.7287 -19.798);--color-accent-bright:lab(86.0298% -47.2619 -15.1004);--color-accent-ink:lab(2.13437% -1.41563 -1.35026);--color-focus:lab(86.0298% -47.2619 -15.1004);--color-metal:lab(65.3383% 14.2889 53.6242);--color-error:lab(56.4482% 56.6925 33.5542);--color-overlay:lab(2.13437% -1.41563 -1.35026/.88);--color-overlay-soft:lab(2.13437% -1.41563 -1.35026/.58);--font-display:"Oswald Variable", "Arial Narrow", sans-serif;--font-body:"Manrope Variable", sans-serif;--space-3xs:.125rem;--space-2xs:.25rem;--space-xs:.5rem;--space-sm:.75rem;--space-md:1rem;--space-lg:1.5rem;--space-xl:2.5rem;--space-2xl:4rem;--space-3xl:6rem;--space-4xl:9rem;--text-xs:.75rem;--text-sm:.875rem;--text-base:1rem;--text-md:1.25rem;--text-lg:1.5625rem;--text-xl:1.9531rem;--text-2xl:2.4414rem;--text-3xl:3.0518rem;--text-4xl:3.8147rem;--text-display-s:clamp(3.25rem, 8vw, 6.25rem);--text-display:clamp(4.5rem, 13vw, 11rem);--ease-out:cubic-bezier(.16, 1, .3, 1);--ease-in:cubic-bezier(.7, 0, .84, 0);--ease-in-out:cubic-bezier(.65, 0, .35, 1);--dur-micro:.12s;--dur-short:.22s;--dur-long:.42s;--rule-hair:1px;--rule-strong:3px;--radius-control:.125rem;--radius-media:.25rem;--page-gutter:clamp(1rem, 4vw, 4.5rem);--content-max:96rem;--z-base:1;--z-raised:10;--z-dropdown:100;--z-sticky:200;--z-modal:400;--z-toast:500;--z-tooltip:600}.gallery-site,.project-site{background:var(--color-paper);min-height:100svh;color:var(--color-ink);overflow-x:clip}.site-brand{align-items:center;gap:var(--space-sm);white-space:nowrap;display:inline-flex}.site-brand__mark{fill:none;width:2.625rem;height:3.125rem;stroke:var(--color-accent);stroke-width:1.6px}.site-brand__facet{opacity:.58;stroke-width:.9px}.site-brand__letter{fill:var(--color-ink);stroke:none}.site-brand__type{gap:var(--space-3xs);display:grid}.site-brand__type strong{font-family:var(--font-display);font-size:var(--text-md);letter-spacing:.04em;font-weight:700;line-height:.9}.site-brand__type small{color:var(--color-accent);letter-spacing:.54em;font-size:.625rem;font-weight:800;line-height:1}.site-brand--compact .site-brand__mark{width:2.4375rem;height:3rem}.site-brand--compact .site-brand__type strong{font-size:1.3125rem}.site-brand--compact .site-brand__type small{font-size:.75rem}.site-brand__custom-logo{object-fit:contain;object-position:left center;width:clamp(8rem,18vw,11rem);height:2.75rem;display:block}.site-brand--compact .site-brand__custom-logo{width:clamp(9.75rem,24vw,12.75rem);height:3rem}.gallery-nav{z-index:var(--z-sticky);inset:var(--space-md) auto auto 50%;width:max-content;max-width:calc(100% - (var(--page-gutter) * 2));align-items:center;gap:var(--space-lg);min-height:3.5rem;padding:var(--space-xs) var(--space-sm);border:var(--rule-hair) solid var(--color-rule);background:var(--color-overlay);color:var(--color-ink);-webkit-backdrop-filter:blur(14px)saturate(120%);backdrop-filter:blur(14px)saturate(120%);border-radius:2rem;display:inline-flex;position:fixed;transform:translate(-50%)}.gallery-nav__brand,.gallery-nav__links a,.gallery-nav__action,.gallery-nav__menu,.gallery-nav__sheet a{white-space:nowrap;min-height:2.75rem}.gallery-nav__brand,.gallery-nav__links,.gallery-nav__action{align-items:center;display:inline-flex}.gallery-nav__links{gap:var(--space-md)}.gallery-nav__links a{color:var(--color-muted);font-size:var(--text-sm);align-items:center;display:inline-flex;position:relative}.gallery-nav__links a:after{background:var(--color-accent-bright);content:"";transform-origin:0;height:1px;transition:transform .4s cubic-bezier(.65,0,.35,1);position:absolute;bottom:.375rem;left:0;right:0;transform:scaleX(0)}.gallery-nav__links a:hover:after{transform:scaleX(1)}.gallery-nav__links a:focus-visible:after{transform:scaleX(1)}.gallery-nav__links a[aria-current=page]{color:var(--color-ink)}.gallery-nav__action{isolation:isolate;gap:var(--space-xs);padding-inline:var(--space-md);color:var(--color-accent-ink);font-size:var(--text-sm);-webkit-backdrop-filter:blur(14px)saturate(145%);backdrop-filter:blur(14px)saturate(145%);transition:border-color var(--dur-short) var(--ease-out), box-shadow var(--dur-long) var(--ease-out), transform var(--dur-micro) var(--ease-out);background:radial-gradient(circle at 16% 8%,lab(93.5681% -16.2309 -5.30589/.66),#0000 32%),radial-gradient(circle at 84% 108%,lab(51.1435% -38.8992 -28.1161/.75),#0000 46%),lab(61.6473% -37.7506 -20.962/.78);border:1px solid lab(86.0298% -47.2619 -15.1004/.48);border-radius:1.5rem;font-weight:750;position:relative;overflow:hidden;box-shadow:inset 0 1px lab(97.7862% -3.24506 -1.07139/.6),0 .6rem 1.8rem lab(40.5883% -31.6532 -17.6401/.24)}.gallery-nav__action:before{z-index:-1;content:"";filter:blur(.6rem);background:radial-gradient(at 22% 30%,lab(91.6637% -27.1372 -3.90065/.85),#0000 31%),radial-gradient(at 78% 74%,lab(53.1137% -33.2636 -37.0923/.8),#0000 40%);transition:transform .72s cubic-bezier(.16,1,.3,1);position:absolute;inset:-80% -35%;transform:translate(-11%)rotate(-8deg)}.gallery-nav__action:after{z-index:0;content:"";opacity:.72;pointer-events:none;background:linear-gradient(90deg,#0000,lab(100% 0 0/.58),#0000);width:35%;height:320%;transition:transform .62s cubic-bezier(.16,1,.3,1);position:absolute;top:-110%;left:-62%;transform:skew(-24deg)translate(0)}.gallery-nav__action>span,.gallery-nav__action>svg{z-index:1;position:relative}:is(.gallery-nav__action:hover,.gallery-nav__action:focus-visible){border-color:lab(92.6174% -22.727 -7.39387/.84);box-shadow:inset 0 1px lab(100% 0 0/.82),0 .8rem 2.3rem lab(58.2393% -40.3677 -22.4768/.38)}.gallery-nav__action:hover:before{transform:translate(16%)rotate(7deg)}.gallery-nav__action:focus-visible:before{transform:translate(16%)rotate(7deg)}.gallery-nav__action:hover:after{transform:skew(-24deg)translate(460%)}.gallery-nav__action:focus-visible:after{transform:skew(-24deg)translate(460%)}.gallery-nav__action:active{transform:scale(.96)}.gallery-nav__menu{background:var(--color-paper-2);width:2.75rem;color:var(--color-ink);border:0;border-radius:50%;place-items:center;display:none}.gallery-nav__sheet{z-index:var(--z-dropdown);inset:5.25rem var(--page-gutter) auto;padding:var(--space-sm);border:var(--rule-hair) solid var(--color-rule);background:var(--color-paper-2);display:grid;position:fixed}.gallery-nav__sheet a{padding-inline:var(--space-md);border-bottom:var(--rule-hair) solid var(--color-rule);align-items:center;display:flex}.gallery-intro{max-width:var(--content-max);gap:var(--space-lg);padding:calc(var(--space-4xl) + var(--space-2xl)) var(--page-gutter) var(--space-3xl);margin-inline:auto;display:grid}.gallery-intro h1{max-width:13ch;font-size:var(--text-display-s);line-height:1}.gallery-intro>p:last-child{max-width:58ch;color:var(--color-ink-2);font-size:var(--text-md)}.gallery-register{max-width:var(--content-max);padding:0 var(--page-gutter) var(--space-4xl);margin-inline:auto}.gallery-register__head{justify-content:space-between;align-items:baseline;gap:var(--space-lg);padding-bottom:var(--space-lg);display:flex}.gallery-register__head h2{font-size:var(--text-2xl)}.gallery-register__head p{color:var(--color-muted);font-variant-numeric:tabular-nums}.gallery-filters{gap:var(--space-xs);margin-bottom:var(--space-2xl);flex-wrap:wrap;display:flex}.gallery-filters button,.gallery-empty button{min-height:2.75rem;padding-inline:var(--space-md);border:var(--rule-hair) solid var(--color-rule);border-radius:var(--radius-control);outline-offset:var(--space-3xs);background:var(--color-paper-2);color:var(--color-ink-2);cursor:pointer;white-space:nowrap;outline:2px solid #0000}.gallery-filters button[data-state=success]{border-color:var(--color-accent);color:var(--color-ink)}.gallery-filters button:active,.gallery-empty button:active,.gallery-nav__menu:active{border-color:var(--color-accent);background:var(--color-paper-3)}.gallery-filters button:disabled,.gallery-empty button:disabled,.gallery-nav__menu:disabled{cursor:not-allowed;opacity:.55}.gallery-grid{gap:var(--space-2xl) var(--space-lg);grid-template-columns:minmax(0,1fr);display:grid}.gallery-card{gap:var(--space-md);min-width:0;animation:gallery-card-enter var(--dur-long) var(--ease-out) both;animation-delay:calc(var(--card-index,0) * 60ms);display:grid}.gallery-card__media{aspect-ratio:4/3;background:var(--color-paper-2);place-items:center;display:grid;position:relative;overflow:hidden}.gallery-card__media img{object-fit:cover;width:100%;height:100%;transition:transform var(--dur-long) var(--ease-out);position:absolute;inset:0}.gallery-card__placeholder{color:var(--color-muted);font-size:var(--text-sm)}.gallery-card__meta{gap:var(--space-md);display:grid}.gallery-card__meta>div{gap:var(--space-xs);display:grid}.gallery-card h3{font-size:var(--text-xl);line-height:1.05}.gallery-card p{color:var(--color-metal);font-size:var(--text-sm)}.gallery-card__meta{grid-template-columns:minmax(0,1fr)}.work-estimate{gap:var(--space-sm) var(--space-lg);margin-top:var(--space-sm);padding-top:var(--space-md);border-top:var(--rule-hair) solid var(--color-rule);flex-wrap:wrap;display:flex}.work-estimate span{gap:var(--space-3xs);min-width:0;display:grid}.work-estimate small{color:var(--color-muted);font-size:var(--text-xs);letter-spacing:.06em;text-transform:uppercase}.work-estimate strong{color:var(--color-accent-bright);font-size:var(--text-base);overflow-wrap:anywhere;font-weight:760;line-height:1.35}.gallery-card__meta>a,.project-nav>a:last-child,.project-next a{align-items:center;gap:var(--space-xs);border-bottom:var(--rule-hair) solid var(--color-accent);min-height:2.75rem;font-size:var(--text-sm);white-space:nowrap;justify-self:start;font-weight:720;display:inline-flex}.gallery-empty{gap:var(--space-md);max-width:38rem;padding-block:var(--space-3xl);display:grid}.gallery-empty h3{font-size:var(--text-xl)}.gallery-empty p{color:var(--color-muted)}.gallery-empty button{justify-self:start}.gallery-footer{gap:var(--space-xl);padding:var(--space-3xl) var(--page-gutter) var(--space-xl);border-top:var(--rule-strong) solid var(--color-accent);background:var(--color-paper-2);color:var(--color-ink);display:grid}.gallery-footer>p{max-width:36ch;color:var(--color-ink-2);font-size:var(--text-lg)}.gallery-footer>div{gap:var(--space-lg);color:var(--color-muted);font-size:var(--text-sm);flex-wrap:wrap;display:flex}.gallery-footer a{white-space:nowrap;align-items:center;min-height:2.75rem;display:inline-flex}.project-context{max-width:var(--content-max);min-height:calc(var(--space-4xl) + var(--space-xl));padding:var(--space-2xl) var(--page-gutter) var(--space-xl);align-items:end;margin-inline:auto;display:flex}.project-context a{align-items:center;gap:var(--space-xs);min-height:2.75rem;color:var(--color-muted);font-size:var(--text-sm);display:inline-flex}:is(.project-context a:hover,.project-context a:focus-visible){color:var(--color-accent-bright)}.project-cover{width:min(calc(100% - (var(--page-gutter) * 2)), var(--content-max));aspect-ratio:4/3;background:var(--color-paper-2);place-items:center;margin-inline:auto;display:grid;position:relative;overflow:hidden}.project-cover img{object-fit:cover;width:100%;height:100%;min-height:0;display:block;position:absolute;inset:0}.project-cover figcaption{inset:auto var(--page-gutter) var(--space-lg);color:var(--color-ink);font-size:var(--text-xs);letter-spacing:.13em;font-weight:760;position:absolute}.project-story{max-width:var(--content-max);gap:var(--space-3xl);padding:var(--space-4xl) var(--page-gutter);margin-inline:auto;display:grid}.project-story>header{gap:var(--space-xl);display:grid}.project-story h1{max-width:13ch;font-size:var(--text-display-s);line-height:.98}.project-story>header p{max-width:56ch;color:var(--color-ink-2);font-size:var(--text-md)}.project-story dl{gap:var(--space-lg);padding-block:var(--space-lg);border-block:var(--rule-hair) solid var(--color-rule);display:grid}.project-story dl div{gap:var(--space-xs);display:grid}.project-story dt{color:var(--color-metal);font-size:var(--text-xs);letter-spacing:.1em;text-transform:uppercase;font-weight:760}.project-story dd{color:var(--color-ink-2)}.project-story__estimate dd{color:var(--color-accent-bright);font-weight:760}.project-story__copy{gap:var(--space-lg);max-width:65ch;color:var(--color-ink-2);display:grid}.project-gallery-section{max-width:var(--content-max);padding:0 var(--page-gutter) var(--space-4xl);margin-inline:auto}.project-gallery-section__head{justify-content:space-between;align-items:baseline;gap:var(--space-lg);padding-bottom:var(--space-lg);display:flex}.project-gallery-section__head h2{font-size:var(--text-2xl)}.project-gallery-section__head p{color:var(--color-muted);font-size:var(--text-sm)}.project-gallery{align-items:start;gap:var(--space-md);overscroll-behavior-inline:contain;padding-bottom:var(--space-md);scroll-padding-inline:var(--space-2xs);scroll-snap-type:inline mandatory;scrollbar-color:var(--color-rule) transparent;grid-auto-columns:minmax(18rem,min(68vw,44rem));grid-auto-flow:column;display:grid;overflow-x:auto}.project-gallery button{background:var(--color-paper-2);cursor:zoom-in;scroll-snap-align:start;scroll-snap-stop:always;border:0;min-width:0;padding:0}.project-gallery img{width:100%;height:auto;display:block}.project-viewer{z-index:calc(var(--z-sticky) + 10);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:lab(.473469% -.471756 -.660938/.94);place-items:center;padding:clamp(1rem,4vw,4rem);display:grid;position:fixed;inset:0}.project-viewer>img{object-fit:contain;max-width:min(92vw,110rem);max-height:88svh;display:block;box-shadow:0 1.5rem 5rem lab(0% 0 0/.45)}.project-viewer button{border:var(--rule-hair) solid lab(100% 0 0/.28);width:3rem;height:3rem;color:var(--color-ink);background:lab(2.02191% -1.58211 -2.0023/.78);border-radius:50%;place-items:center;padding:0;display:grid;position:absolute}.project-viewer__close{top:var(--space-lg);right:var(--space-lg)}.project-viewer__nav--prev{left:var(--space-lg)}.project-viewer__nav--next{right:var(--space-lg)}.project-next{gap:var(--space-xl);padding:var(--space-3xl) var(--page-gutter);border-top:var(--rule-strong) solid var(--color-accent);background:var(--color-paper-2);color:var(--color-ink);display:grid}.project-next p{max-width:22ch;font-family:var(--font-display);font-size:var(--text-3xl);font-weight:700;line-height:1}@keyframes gallery-card-enter{0%{opacity:0;transform:translateY(var(--space-sm))}to{opacity:1;transform:none}}@media (hover:hover) and (pointer:fine){:is(.gallery-card__media:hover img,.gallery-card__media:focus-visible img){transform:scale(1.02)}.gallery-filters button:hover,.gallery-empty button:hover{background:var(--color-paper-3)}}@media (min-width:40rem){.gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.gallery-card__meta{grid-template-columns:minmax(0,1fr);align-items:end}.gallery-footer{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:end}.gallery-footer>div{grid-column:2}.project-story dl{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (min-width:60rem){.gallery-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.gallery-intro{grid-template-columns:minmax(0,1.5fr) minmax(18rem,.5fr);align-items:end}.gallery-intro h1{grid-column:1}.gallery-intro>p:last-child{grid-area:1/2}.project-story{grid-template-columns:minmax(0,1.35fr) minmax(16rem,.65fr)}.project-story__copy{grid-column:1}.project-story dl{grid-area:1/2/3;grid-template-columns:minmax(0,1fr);align-content:start}.project-next{grid-template-columns:minmax(0,1fr) auto;align-items:end}}@media (max-width:39.999rem){.gallery-nav{width:calc(100% - (var(--page-gutter) * 2));border-radius:.25rem;justify-content:space-between}.gallery-nav__links,.gallery-nav__action{display:none}.gallery-nav__menu{display:grid}.gallery-register__head{align-items:flex-start}.project-cover{width:100%}.project-gallery-section__head{align-items:flex-start;gap:var(--space-2xs);flex-direction:column}.project-gallery{grid-auto-columns:minmax(16rem,84vw)}.project-viewer{padding:1rem}.project-viewer button{width:2.625rem;height:2.625rem}.project-viewer__nav--prev{left:.75rem}.project-viewer__nav--next{right:.75rem}}@media (prefers-reduced-motion:reduce){.gallery-card{animation-duration:.15s;animation-delay:0s;transform:none}.gallery-card__media img,.gallery-nav__links a:after,.gallery-nav__action,.gallery-nav__action:before,.gallery-nav__action:after{transition-duration:.15s}}.gallery-nav__sheet{inset:calc(100% + var(--space-xs)) 0 auto;z-index:var(--z-dropdown);border-radius:var(--radius-media);position:absolute}.gallery-footer{padding-inline:max(var(--page-gutter), calc((100vw - var(--content-max)) / 2 + var(--page-gutter)))}.gallery-card{animation:none}.gallery-card__media img{min-width:0}@media (min-width:40rem) and (max-width:79.999rem){.gallery-card__meta{grid-template-columns:minmax(0,1fr)}}@media (min-width:40rem){.gallery-nav__sheet{display:none}}@media (max-width:39.999rem){.gallery-intro{padding-top:var(--space-4xl);padding-bottom:var(--space-2xl)}.gallery-register__head{gap:var(--space-xs);flex-direction:column}.gallery-filters button{text-overflow:ellipsis;max-width:100%;overflow:hidden}.gallery-footer{padding-top:var(--space-2xl)}}@media (prefers-reduced-motion:reduce){:is(.gallery-card__media:hover img,.gallery-card__media:focus-visible img){transform:none}}
