:root{--gallery-white:oklch(100% 0 0);--surface:oklch(97% .003 75);--ink:oklch(18% .01 75);--muted:oklch(43% .008 75);--line:oklch(88% .005 75);--honey:oklch(69.1% .146 74.6);--honey-strong:oklch(52% .135 74.6);--page-gutter:clamp(1.25rem, 4vw, 4.5rem);--section-space:clamp(6rem, 12vw, 11rem);--content-max:100rem;--text-max:67ch;--radius-media:.875rem;--ease-out:cubic-bezier(.16, 1, .3, 1);--ease-focus:cubic-bezier(.22, .74, .3, 1);--z-sticky:20}@font-face{font-family:Figtree;src:url(/assets/figtree-400-C-bIRX8Q.woff2)format("woff2");font-style:normal;font-weight:400;font-display:swap}@font-face{font-family:Figtree;src:url(/assets/figtree-600-TBah2t9g.woff2)format("woff2");font-style:normal;font-weight:600;font-display:swap}@font-face{font-family:Figtree;src:url(/assets/figtree-700-Cj_JTKzE.woff2)format("woff2");font-style:normal;font-weight:700;font-display:swap}*,:before,:after{box-sizing:border-box}html{background:var(--gallery-white);color:var(--ink);font-synthesis:none;font-kerning:normal;text-rendering:optimizelegibility;scroll-padding-top:6.5rem;font-family:Figtree,system-ui,sans-serif}body{background:var(--gallery-white);min-width:20rem;color:var(--ink);margin:0;font-size:1rem;line-height:1.6;overflow-x:hidden}img,iframe{width:100%;display:block}img{height:auto}iframe{border:0}a{color:inherit}button,a{-webkit-tap-highlight-color:transparent}:focus-visible{outline:.1875rem solid var(--honey-strong);outline-offset:.25rem}.skip-link{z-index:calc(var(--z-sticky) + 1);background:var(--ink);color:var(--gallery-white);transition:transform .18s var(--ease-out);padding:.75rem 1rem;font-weight:600;position:fixed;top:.75rem;left:.75rem;transform:translateY(-180%)}.skip-link:focus{transform:translateY(0)}.site-header,.section-inner,.hero-copy,.hero-media,.intro,.work-heading,.work-list,.references,.about-inner,.contact-inner,.site-footer{width:min(calc(100% - 2 * var(--page-gutter)), var(--content-max));margin-inline:auto}.site-header{z-index:var(--z-sticky);isolation:isolate;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem 2rem;min-height:5.5rem;padding-block:1rem;display:flex;position:sticky;top:0}.site-header:before{z-index:0;border-bottom:.0625rem solid color-mix(in oklch, var(--line) 72%, transparent);background:#ffffffad;background:color-mix(in oklch, var(--gallery-white) 68%, transparent);-webkit-backdrop-filter:blur(8px);content:"";width:100vw;position:absolute;top:0;bottom:0;left:50%;transform:translate(-50%)}.wordmark,.nav-toggle,.site-nav{z-index:1;position:relative}.wordmark{letter-spacing:-.025em;white-space:nowrap;align-items:center;min-height:2.75rem;font-size:1.0625rem;font-weight:700;text-decoration:none;display:inline-flex}.nav-toggle{width:2.75rem;height:2.75rem;color:var(--ink);cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;padding:0;display:none}.nav-toggle-icon{flex-direction:column;justify-content:space-between;width:1.375rem;height:.75rem;display:flex}.nav-toggle-line{transform-origin:50%;width:100%;height:.09375rem;transition:transform .18s var(--ease-out);background:currentColor}.nav-toggle[aria-expanded=true] .nav-toggle-line:first-child{transform:translateY(.328125rem)rotate(45deg)}.nav-toggle[aria-expanded=true] .nav-toggle-line:last-child{transform:translateY(-.328125rem)rotate(-45deg)}.site-nav ul{flex-wrap:wrap;gap:.25rem clamp(1.125rem,3vw,2.75rem);margin:0;padding:0;list-style:none;display:flex}.site-nav a{min-height:2.75rem;color:var(--ink);letter-spacing:-.01em;transition:color .18s var(--ease-out);align-items:center;font-size:1.0625rem;font-weight:600;text-decoration:none;display:inline-flex}.site-nav a:hover,.site-nav a:focus-visible{color:var(--honey-strong)}main{overflow:clip}.hero{padding-top:clamp(3rem,6vw,5.5rem)}.hero-copy{text-align:center;max-width:70rem}.hero-context{color:var(--muted);margin:0 0 1rem;font-size:clamp(1rem,1.4vw,1.25rem)}h1,h2,h3,p{margin-top:0}h1,h2,h3{text-wrap:balance}p{text-wrap:pretty}h1{letter-spacing:-.035em;max-width:18ch;margin:0 auto;font-size:clamp(3rem,7.5vw,5.75rem);font-weight:700;line-height:.98}.hero-subtitle{max-width:58ch;color:var(--muted);margin:1.5rem auto 0;font-size:clamp(1.0625rem,1.7vw,1.375rem);line-height:1.5}.hero-media{margin-top:clamp(3.5rem,7vw,6.5rem)}.video-shell{aspect-ratio:16/9;border-radius:var(--radius-media);background:var(--surface);isolation:isolate;position:relative;overflow:hidden}.video-shell img,.video-shell iframe{object-fit:cover;width:100%;height:100%}.video-shell iframe{border:0;display:block;position:absolute;inset:0}.video-trigger{cursor:pointer;place-items:center;text-decoration:none;display:grid;position:absolute;inset:0}.video-trigger:after{content:"";transition:background .28s var(--ease-out);background:oklch(8% 0 0/.03);position:absolute;inset:0}.video-trigger img{transition:transform .7s var(--ease-out), filter .36s var(--ease-out);position:absolute;inset:0}.play-control{z-index:1;aspect-ratio:1;background:var(--honey);width:clamp(4rem,7vw,5.5rem);color:var(--ink);transition:transform .24s var(--ease-out), background .24s var(--ease-out);border-radius:50%;place-items:center;display:grid;position:relative}.play-control svg{fill:currentColor;width:29%;margin-left:.2em}@media (hover:hover){.video-trigger:hover img{filter:saturate(.94)contrast(1.02);transform:scale(1.012)}.video-trigger:hover:after{background:oklch(8% 0 0/.09)}.video-trigger:hover .play-control{transform:scale(1.055)}}.intro{place-items:center;padding-block:clamp(5.5rem,10vw,9rem);display:grid}.intro p{text-align:center;letter-spacing:-.02em;max-width:58ch;margin:0;font-size:clamp(1.375rem,2.6vw,2rem);line-height:1.35}.work{padding-bottom:var(--section-space);scroll-margin-top:2rem}.work-heading{text-align:center;margin-bottom:clamp(3rem,6vw,5rem)}.work-heading h2,.references h2,.about h2,.contact h2{letter-spacing:-.035em;margin-bottom:0;font-size:clamp(2.5rem,5.5vw,4.75rem);font-weight:700;line-height:1.02}.work-list{flex-direction:column;gap:clamp(6rem,12vw,11rem);display:flex}.work-item{margin:0}.work-item.is-staged{isolation:isolate;background:0 0;width:auto;margin-left:0;padding:clamp(1.25rem,4vw,4rem) 0 clamp(2rem,5vw,4.5rem);position:relative}.work-item.is-staged:before{z-index:-1;inset-block:0;background:var(--surface);content:"";width:100vw;position:absolute;left:50%;transform:translate(-50%)}.work-item .video-shell{width:100%}.work-caption{flex-direction:column;gap:.5rem;max-width:61rem;padding-top:clamp(1.25rem,2.5vw,2rem);display:flex}.work-caption h3{letter-spacing:-.02em;margin:0;font-size:clamp(1.375rem,2.6vw,2rem);font-weight:600;line-height:1.2}.work-caption p{max-width:var(--text-max);color:var(--muted);margin:0;font-size:clamp(1rem,1.35vw,1.125rem)}.references{padding-block:var(--section-space);text-align:center;scroll-margin-top:2rem;position:relative}.references h2{font-size:clamp(2rem,4vw,3.5rem)}.reference-intro{max-width:47ch;color:var(--muted);margin:1.25rem auto 0;font-size:1.0625rem}.logo-list{color:var(--muted);flex-wrap:wrap;justify-content:center;align-items:center;gap:2rem clamp(2.25rem,6vw,6rem);margin:clamp(3.5rem,7vw,6rem) 0 0;padding:0;list-style:none;display:flex}.logo-list li{letter-spacing:-.02em;font-size:clamp(1.125rem,2vw,1.625rem);font-weight:600}.about{padding-block:var(--section-space);background:var(--surface);scroll-margin-top:2rem}.about-inner{gap:2.5rem clamp(3rem,9vw,9rem);display:grid}.about h2{max-width:8ch}.about-copy{letter-spacing:-.015em;align-self:end;max-width:41rem;font-size:clamp(1.25rem,2vw,1.625rem);line-height:1.45}.about-copy p:last-child{margin-bottom:0}.about-person{align-items:center;gap:1rem;margin:2.25rem 0 0;display:flex}.about-person img{object-fit:cover;border-radius:50%;width:4.5rem;height:4.5rem}.about-person figcaption{letter-spacing:-.015em;font-size:1.125rem;font-weight:600}.contact{padding-block:clamp(7rem,15vw,14rem);scroll-margin-top:2rem}.contact-inner{text-align:center;max-width:78rem}.contact h2{max-width:16ch;margin-inline:auto}.contact p{max-width:52ch;color:var(--muted);margin:1.75rem auto 0;font-size:clamp(1.125rem,1.8vw,1.375rem)}.contact-link{border-bottom:.18rem solid var(--honey);min-height:3.25rem;transition:border-color .18s var(--ease-out), color .18s var(--ease-out);align-items:center;gap:.75rem;margin-top:2.5rem;padding-bottom:.2rem;font-size:clamp(1.125rem,2vw,1.5rem);font-weight:600;text-decoration:none;display:inline-flex}.contact-link:hover{border-color:var(--honey-strong);color:var(--muted)}.contact-link svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.75px;width:1.15em}.contact .contact-email{color:var(--muted);letter-spacing:.01em;margin-top:1.25rem;font-size:.9375rem}.contact-email a{-webkit-text-decoration-color:color-mix(in srgb, currentColor 45%, transparent);text-decoration-color:color-mix(in srgb, currentColor 45%, transparent);text-underline-offset:.2em;transition:color .18s var(--ease-out), text-decoration-color .18s var(--ease-out);text-decoration-thickness:.0625rem}.contact-email a:hover{color:var(--ink);-webkit-text-decoration-color:var(--honey-strong);text-decoration-color:var(--honey-strong)}.site-footer{padding-block:2rem max(2rem, env(safe-area-inset-bottom));color:var(--muted);flex-wrap:wrap;justify-content:space-between;gap:1rem 2rem;font-size:.9375rem;display:flex;position:relative}.references:before,.site-footer:before{background:var(--line);content:"";width:100vw;height:.0625rem;position:absolute;top:0;left:50%;transform:translate(-50%)}.site-footer p{margin:0}.legal-links{flex-wrap:wrap;gap:.5rem 1.25rem;display:flex}.legal-links a{text-underline-offset:.2em}.legal-page .site-header{position:relative}.legal-main{min-height:70vh;padding-block:clamp(4rem,9vw,8rem)}.legal-content{width:min(calc(100% - 2 * var(--page-gutter)), 54rem);margin-inline:auto}.legal-content h1{text-align:left;max-width:none;margin:0 0 clamp(3rem,6vw,5rem);font-size:clamp(2.75rem,6vw,5rem)}.legal-content h2{letter-spacing:-.02em;margin:3rem 0 .75rem;font-size:clamp(1.35rem,2.8vw,1.8rem);line-height:1.2}.legal-content h3{margin:2rem 0 .5rem;font-size:1.125rem}.legal-content p,.legal-content li,.legal-content address{max-width:72ch}.legal-content address{font-style:normal}.legal-content a{text-underline-offset:.2em}.legal-content .back-link{margin-top:4rem;font-weight:600;display:inline-flex}.legal-placeholder{border-left:.25rem solid var(--honey-strong);background:var(--surface);padding:1rem 1.25rem}@media (width>=48rem){.about-inner{grid-template-columns:minmax(16rem,.8fr) minmax(25rem,1.2fr)}}@media (width<=40rem){html{scroll-padding-top:5rem}.site-header{align-items:center;gap:0 1rem;min-height:4.5rem;padding-block:.75rem}.js .nav-toggle{display:inline-flex}.site-nav{flex-basis:100%}.js .site-nav{display:none}.js .site-nav.is-open{display:block}.site-nav ul{flex-direction:column;align-items:flex-start;gap:0;padding-block:.5rem .75rem}.site-nav a{width:100%;min-height:3rem;font-size:1.0625rem}.hero{padding-top:3.25rem}h1{max-width:11ch}.hero-media{width:100%}.hero-media .video-shell,.work-item.is-staged{border-radius:0}.site-footer{flex-direction:column}}@media (prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}.motion-ready .hero-copy:not(.is-motion-revealed),.motion-ready .intro p:not(.is-motion-revealed),.motion-ready .work-heading h2:not(.is-motion-revealed),.motion-ready .work-caption:not(.is-motion-revealed),.motion-ready .references h2:not(.is-motion-revealed),.motion-ready .reference-intro:not(.is-motion-revealed),.motion-ready .logo-list li:not(.is-motion-revealed),.motion-ready .about h2:not(.is-motion-revealed),.motion-ready .about-copy>p:not(.is-motion-revealed),.motion-ready .about-person figcaption:not(.is-motion-revealed),.motion-ready .contact h2:not(.is-motion-revealed),.motion-ready .contact p:not(.contact-email,.is-motion-revealed),.motion-ready .contact-link:not(.is-motion-revealed){visibility:hidden;filter:blur(12px)}.motion-ready .hero-media .video-shell:not(.is-motion-revealed),.motion-ready .work-item .video-shell:not(.is-motion-revealed){opacity:0}.motion-ready .about-person img:not(.is-motion-revealed){opacity:0;transform:translateY(.5rem)}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
