@font-face{font-family:Inter Tight;src:url(/fonts/inter-tight-latin-v2.woff2) format("woff2");font-style:normal;font-weight:400 500;font-display:swap}@font-face{font-family:Cormorant Garamond;src:url(/fonts/cormorant-garamond-latin-v2.woff2) format("woff2");font-style:normal;font-weight:400 500;font-display:swap}:root{--black: #000;--white: #f4f4f4;--muted: #b9b9b9;--sans: "Inter Tight", Arial, sans-serif;--serif: "Cormorant Garamond", Georgia, serif;--ease-cinematic: cubic-bezier(.22,1,.36,1);--ease-smooth: cubic-bezier(.4,0,.2,1);--content-max: 1240px;color:var(--white);background:var(--black);font-family:var(--sans);font-synthesis:none}*{box-sizing:border-box}html{min-width:320px;min-height:100%;background:var(--black);scroll-behavior:smooth;-webkit-text-size-adjust:100%}body{min-width:320px;min-height:100dvh;margin:0;overflow-x:hidden;overscroll-behavior-y:none;background:var(--black);color:var(--white);-webkit-font-smoothing:antialiased}body.menu-open{overflow:hidden;touch-action:none}a{color:inherit;text-decoration:none}button,a{-webkit-tap-highlight-color:transparent;touch-action:manipulation}button{margin:0;border:0;background:none;color:inherit;font:inherit;cursor:pointer}img{display:block;width:100%}figure,h1,h2,h3,p,dl,dd{margin:0}button:focus-visible,a:focus-visible{outline:2px solid #fff;outline-offset:4px}.app,#root{min-height:100dvh;background:var(--black)}.page-transition{min-height:inherit;animation:page-enter .65s var(--ease-cinematic) both}@keyframes page-enter{0%{transform:translate3d(0,10px,0)}to{transform:none}}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.skip-link{position:fixed;z-index:1000;top:8px;left:8px;padding:10px 14px;transform:translateY(-150%);background:#fff;color:#000}.skip-link:focus{transform:translateY(0)}.site-header{position:absolute;z-index:100;top:0;right:0;left:0;width:100%;max-width:1316px;display:flex;height:138px;align-items:center;padding:20px 38px;margin:0 auto;animation:header-enter 1s .08s var(--ease-cinematic) both}@keyframes header-enter{0%{opacity:0;transform:translate3d(0,-20px,0)}to{opacity:1;transform:none}}.brand{display:grid;width:110px;height:72px;place-items:center}.brand img{width:100%;height:100%;object-fit:contain}.site-nav{display:flex;align-items:center;gap:32px;margin-left:auto;text-transform:uppercase;font-size:15px;letter-spacing:.075em}.portfolio-link{display:inline-flex;min-height:48px;align-items:center;padding:0 10px}.talk-link{display:inline-flex;min-width:138px;min-height:48px;align-items:center;justify-content:center;border-radius:999px;background:#f4f4f4eb;color:#171717;transition:transform .25s ease,background .25s ease}.talk-link:hover{transform:scale(1.035);background:#fff}.talk-link:active,.hero-button:active{transform:scale(.975)}.mobile-menu-button,.mobile-panel{display:none}.home-hero{position:relative;isolation:isolate;height:100dvh;min-height:max(660px,100svh);overflow:hidden;background:#000}.home-slides,.home-slide{position:absolute;inset:0;width:100vw;height:100%}.home-slides{z-index:0;contain:layout paint size}.home-slide{overflow:hidden;opacity:1;background:#000;transition:opacity .42s var(--ease-smooth)}.home-slide img{height:100%;object-fit:cover;transform:scale(1.025);will-change:transform}.home-slide.is-switching{opacity:0}.home-slide.is-active img{animation:ken-burns 7s linear both}@keyframes ken-burns{0%{transform:scale(1.025)}to{transform:scale(1.095)}}.hero-overlay{position:absolute;z-index:1;inset:0;background:linear-gradient(180deg,#00000063,#0000004d 45%,#00000087)}.hero-copy{position:absolute;z-index:2;top:49%;left:50%;width:min(760px,86vw);transform:translate(-50%,-44%);text-align:center;text-shadow:0 2px 22px rgba(0,0,0,.36)}.hero-copy h1{font-size:clamp(50px,4.7vw,67px);line-height:.95;letter-spacing:-.045em}.hero-copy h2{margin-top:16px;font:400 clamp(26px,2.25vw,34px)/1.05 var(--serif)}.hero-copy p{margin-top:17px;font-size:clamp(15px,1.4vw,20px);line-height:1.35}.hero-button{display:inline-flex;min-width:178px;min-height:58px;align-items:center;justify-content:center;margin-top:48px;border:1px solid rgba(255,255,255,.82);border-radius:999px;background:#00000038;font-size:16px;letter-spacing:.055em;transition:background .3s ease,color .3s ease}.hero-button:hover{background:#fff;color:#111}.slide-caption{position:absolute;z-index:2;right:24px;bottom:42px;left:24px;text-align:center;text-transform:uppercase;font-size:12px;letter-spacing:.09em;animation:hero-copy-enter .9s .95s var(--ease-cinematic) both}@keyframes hero-copy-enter{0%{opacity:0;transform:translate3d(0,24px,0)}to{opacity:1;transform:none}}.hero-copy>*{animation:hero-copy-enter .9s var(--ease-cinematic) both}.hero-copy h1{animation-delay:.25s}.hero-copy h2{animation-delay:.38s}.hero-copy p{animation-delay:.5s}.hero-copy .hero-button{animation-delay:.64s}.portfolio-page{min-height:100vh;padding-bottom:110px;background:#000}.portfolio-heading{--heading-scale: 1.18;padding:230px 20px 54px;overflow:hidden}.portfolio-heading h1{width:86%;margin-left:-1.1vw;transform:scaleX(var(--heading-scale));transform-origin:left center;font-size:clamp(170px,26.5vw,415px);font-weight:600;line-height:.73;letter-spacing:-.075em}.portfolio-filters{display:flex;justify-content:center;gap:34px;padding:18px 20px 50px}.portfolio-filters button{min-height:40px;color:#777;font-size:15px;font-weight:500;transition:color .2s ease}.portfolio-filters button:hover,.portfolio-filters button.is-active{color:#eee}.portfolio-grid{display:grid;width:100%;max-width:calc(var(--content-max) + 40px);grid-template-columns:repeat(2,minmax(0,1fr));gap:30px;margin:0 auto;padding:0 20px}.portfolio-card{min-width:0}.portfolio-card a{position:relative;display:block;overflow:hidden;aspect-ratio:1.55;background:#111}.portfolio-card img{height:100%;object-fit:cover;transition:transform .7s cubic-bezier(.22,1,.36,1)}.portfolio-card .card-shade{position:absolute;inset:0;background:#00000047;transition:background .35s ease}.portfolio-card h2{position:absolute;z-index:2;top:50%;right:24px;left:24px;transform:translateY(-50%);text-align:center;font:400 clamp(25px,2.35vw,36px)/1 var(--serif);text-shadow:0 2px 18px rgba(0,0,0,.45)}.portfolio-card a:hover img{transform:scale(1.045)}.portfolio-card a:hover .card-shade{background:#0000001f}@media(prefers-reduced-motion:no-preference){[data-reveal=heading] h1{opacity:0;transform:translate3d(0,46px,0) scaleX(var(--heading-scale));transition:opacity 1s var(--ease-cinematic),transform 1.15s var(--ease-cinematic)}[data-reveal=heading].is-visible h1{opacity:1;transform:translateZ(0) scaleX(var(--heading-scale))}[data-reveal=card]{opacity:0;transform:translate3d(0,50px,0) scale(.985);transition:opacity .85s var(--ease-cinematic),transform 1s var(--ease-cinematic);transition-delay:var(--reveal-delay,0ms)}[data-reveal=card].is-visible{opacity:1;transform:translateZ(0) scale(1)}[data-reveal=details]>*{opacity:0;transform:translate3d(0,28px,0);transition:opacity .75s var(--ease-cinematic),transform .9s var(--ease-cinematic)}[data-reveal=details].is-visible>*{opacity:1;transform:none}[data-reveal=details] dl{transition-delay:.1s}[data-reveal=details] .project-description{transition-delay:.19s}[data-reveal=media]{opacity:0;clip-path:inset(0 0 12% 0 round 18px);transform:translate3d(0,58px,0) scale(.985);transition:opacity .85s var(--ease-cinematic),clip-path 1.15s var(--ease-cinematic),transform 1.15s var(--ease-cinematic);transition-delay:var(--reveal-delay,0ms)}[data-reveal=media].is-visible{opacity:1;clip-path:inset(0 0 0 0 round 18px);transform:translateZ(0) scale(1)}}.project-page{min-height:100vh;padding-top:159px;background:#000}.project-layout{display:grid;width:calc(100% - 40px);max-width:var(--content-max);grid-template-columns:minmax(300px,33%) minmax(0,1fr);gap:28px;align-items:start;margin:0 auto}.project-details{position:sticky;top:34px;padding:42px 8px 40px 0}.project-details h1{max-width:430px;font-size:clamp(36px,3.45vw,54px);font-weight:600;line-height:1.02;letter-spacing:-.035em}.project-lambrusco .project-details h1{font:400 clamp(35px,2.75vw,44px)/1 var(--serif);letter-spacing:-.025em}.project-details dl{display:grid;max-width:360px;grid-template-columns:1fr 1fr;gap:28px;margin-top:38px}.project-details dt,.project-description h2{text-transform:uppercase;font-size:13px;font-weight:500;letter-spacing:.075em}.project-details dd{margin-top:11px;color:#ddd;font-size:17px;line-height:1.35}.project-description{max-width:410px;margin-top:36px}.project-description p{margin-top:16px;color:#d0d0d0;font-size:17px;line-height:1.5}.project-gallery{display:grid;gap:18px}.project-gallery figure{overflow:hidden;border-radius:18px;background:#101010}.project-gallery figure:nth-child(n+3),.explore-more{content-visibility:auto;contain-intrinsic-size:auto 1100px}.project-gallery img{height:auto}.project-gallery .single-image img{width:100%;aspect-ratio:1.5;object-fit:cover}.explore-more{padding:60px 20px 0;overflow:hidden}.marquee{display:flex;width:max-content;gap:72px;transform:translate(-8vw);white-space:nowrap;font-size:clamp(80px,8.2vw,132px);font-weight:600;line-height:.9;letter-spacing:-.055em;animation:marquee-drift 18s linear infinite alternate;will-change:transform}@keyframes marquee-drift{0%{transform:translate3d(-8vw,0,0)}to{transform:translate3d(-24vw,0,0)}}.explore-grid{display:grid;max-width:var(--content-max);grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;margin:70px auto 0;padding-bottom:110px}.explore-grid article a{position:relative;display:block;overflow:hidden;border-radius:20px}.explore-grid figure{aspect-ratio:1;background:#111}.explore-grid img{height:100%;object-fit:cover;transition:transform .65s cubic-bezier(.22,1,.36,1)}.explore-grid article span{position:absolute;z-index:2;top:34px;left:34px;padding:8px 14px;border-radius:999px;background:#00000059;text-transform:uppercase;font-size:12px;letter-spacing:.08em;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.explore-grid h3{position:absolute;z-index:2;right:34px;bottom:34px;left:34px;font:400 clamp(32px,3.5vw,55px)/.95 var(--serif);text-shadow:0 2px 18px #000}.explore-grid article a:after{position:absolute;inset:0;content:"";background:linear-gradient(180deg,transparent 45%,rgba(0,0,0,.52))}.explore-grid article a:hover img{transform:scale(1.04)}@media(max-width:900px){.site-header{position:absolute;height:calc(138px + env(safe-area-inset-top));padding:calc(18px + env(safe-area-inset-top)) max(24px,env(safe-area-inset-right)) 18px max(30px,env(safe-area-inset-left))}.brand{width:105px;height:68px}.site-nav{gap:16px}.portfolio-link{display:none}.talk-link{min-width:112px;min-height:46px;padding:0 16px;font-size:13px;white-space:nowrap}.mobile-menu-button{display:grid;width:42px;height:42px;place-content:center;gap:4px;border-radius:50%;background:#171717}.mobile-menu-button i{display:block;width:17px;height:1px;background:#fff;transition:transform .25s ease,opacity .25s ease}.mobile-menu-button[aria-expanded=true] i:first-child{transform:translateY(5px) rotate(45deg)}.mobile-menu-button[aria-expanded=true] i:nth-child(2){opacity:0}.mobile-menu-button[aria-expanded=true] i:last-child{transform:translateY(-5px) rotate(-45deg)}.mobile-panel{position:fixed;z-index:90;inset:0;display:grid;visibility:hidden;place-items:center;padding:max(28px,env(safe-area-inset-top)) max(24px,env(safe-area-inset-right)) max(28px,env(safe-area-inset-bottom)) max(24px,env(safe-area-inset-left));background:#000;opacity:0;transition:opacity .45s var(--ease-smooth),visibility .45s}.mobile-panel.is-open{visibility:visible;opacity:1}.mobile-panel nav{display:flex;flex-direction:column;align-items:center;gap:28px;font:400 15vw/1 var(--serif)}.mobile-panel nav a{opacity:0;transform:translate3d(0,28px,0);transition:opacity .55s var(--ease-cinematic),transform .7s var(--ease-cinematic)}.mobile-panel.is-open nav a{opacity:1;transform:none}.mobile-panel.is-open nav a:nth-child(2){transition-delay:70ms}.mobile-panel.is-open nav a:nth-child(3){transition-delay:.14s}.home-hero{height:100dvh;min-height:100svh}.hero-copy{top:44%;width:calc(100% - max(38px,env(safe-area-inset-left) + env(safe-area-inset-right)));transform:translate(-50%,-28%)}.hero-copy h1{font-size:clamp(34px,9.4vw,42px);white-space:nowrap}.hero-copy h2{margin-top:12px;font-size:clamp(17px,4.6vw,21px)}.hero-copy p{max-width:290px;margin:13px auto 0;font-size:15px}.hero-button{min-width:164px;min-height:54px;margin-top:46px;font-size:15px}.slide-caption{right:max(20px,env(safe-area-inset-right));bottom:calc(22px + env(safe-area-inset-bottom));left:max(20px,env(safe-area-inset-left));font-size:10px}.portfolio-heading{--heading-scale: 1.08;padding:calc(190px + env(safe-area-inset-top)) 14px 38px}.portfolio-heading h1{width:94%;margin-left:-3vw;font-size:27vw;line-height:.78}.portfolio-filters{gap:0;justify-content:space-between;overflow-x:auto;padding:20px 20px 34px}.portfolio-filters button{flex:0 0 auto;min-height:42px;padding:0 8px;font-size:12px}.portfolio-grid{grid-template-columns:1fr;gap:18px;padding:0 14px}.portfolio-card a{aspect-ratio:1.38}.portfolio-card h2{font-size:clamp(30px,9vw,44px)}.project-page{padding-top:calc(166px + env(safe-area-inset-top))}.project-layout{display:block;width:auto;max-width:none;margin-left:0;padding:0 24px}.project-details{position:static;padding:24px 0 28px}.project-details h1{max-width:none;font-size:clamp(34px,9.7vw,48px)}.project-lambrusco .project-details h1{max-width:none;font-size:clamp(30px,8.2vw,36px)}.project-details dl{gap:24px;margin-top:32px}.project-details dt,.project-description h2{font-size:12px}.project-details dd{font-size:17px}.project-description{max-width:none;margin-top:34px;overflow:hidden}.project-description p{font-size:17px;line-height:1.52}.project-gallery{gap:18px}.project-gallery figure{border-radius:16px}.project-gallery .single-image img{aspect-ratio:auto}.explore-more{padding:64px 14px 0}.marquee{gap:42px;font-size:24vw}.explore-grid{grid-template-columns:1fr;gap:18px;margin-top:48px;padding-bottom:70px}.explore-grid article span{top:18px;left:18px}.explore-grid h3{right:20px;bottom:20px;left:20px;font-size:11vw}}@media(max-width:430px){.site-header{padding-right:max(18px,env(safe-area-inset-right));padding-left:max(24px,env(safe-area-inset-left))}.site-nav{gap:12px}.talk-link{min-width:112px;padding:0 14px;font-size:13px}.project-layout{padding:0 24px}.project-details h1{font-size:9.2vw}.project-lambrusco .project-details h1{font-size:8.2vw}}@media(max-width:370px){.site-header{height:calc(102px + env(safe-area-inset-top));padding-right:max(12px,env(safe-area-inset-right));padding-left:max(18px,env(safe-area-inset-left))}.brand{width:88px;height:58px}.site-nav{gap:8px}.talk-link{min-width:96px;min-height:42px;padding:0 11px;font-size:12px}.mobile-menu-button{width:40px;height:40px}.hero-copy{top:45%;width:calc(100% - 28px)}.hero-copy h1{font-size:34px}.hero-copy h2{font-size:17px}.hero-copy p{margin-top:10px;font-size:14px}.hero-button{min-width:154px;min-height:50px;margin-top:30px;font-size:14px}.slide-caption{bottom:calc(16px + env(safe-area-inset-bottom));font-size:9px}.portfolio-heading{padding-top:calc(138px + env(safe-area-inset-top))}.portfolio-filters{padding-right:12px;padding-left:12px}.project-page{padding-top:calc(118px + env(safe-area-inset-top))}.project-layout{padding:0 18px}}@media(max-height:700px)and (max-width:900px){.hero-copy{top:45%;transform:translate(-50%,-22%)}.hero-copy h2{margin-top:8px}.hero-copy p{margin-top:9px}.hero-button{margin-top:26px}.slide-caption{bottom:calc(14px + env(safe-area-inset-bottom))}}@media(orientation:landscape)and (max-height:500px){.site-header{height:calc(88px + env(safe-area-inset-top));padding-top:max(8px,env(safe-area-inset-top));padding-bottom:8px}.brand{width:84px;height:52px}.hero-copy{top:52%;width:72vw;transform:translate(-50%,-40%)}.hero-copy h1{font-size:34px}.hero-copy h2{margin-top:7px;font-size:18px}.hero-copy p{margin-top:7px;font-size:13px}.hero-button{min-height:44px;margin-top:18px}.slide-caption{right:max(18px,env(safe-area-inset-right));bottom:max(10px,env(safe-area-inset-bottom));left:auto;text-align:right}.project-page{padding-top:calc(100px + env(safe-area-inset-top))}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}[data-reveal],[data-reveal]>*,[data-reveal=heading] h1{opacity:1!important;transform:none;clip-path:none}[data-reveal=heading] h1{transform:scaleX(var(--heading-scale))}}
