@keyframes nav-drop{0%{opacity:0;transform:translateY(-12px)}to{opacity:1;transform:translateY(0)}}@keyframes hero-rise{0%{opacity:0;transform:translateY(36px)}to{opacity:1;transform:translateY(0)}}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0;-webkit-tap-highlight-color:transparent}html.lenis,html.lenis body{height:auto}.lenis.lenis-smooth{scroll-behavior:auto!important}.lenis.lenis-smooth [data-lenis-prevent]{overscroll-behavior:contain}.lenis.lenis-stopped{overflow:hidden}.lenis.lenis-smooth iframe{pointer-events:none}:root{--color-dark: oklch(20% .055 128);--color-lime: oklch(87% .22 122);--color-lime-2: oklch(72% .16 125);--color-lime-dim: oklch(58% .12 126);--color-dark-ink: oklch(14% .05 128);--color-dark-mid: oklch(28% .07 128);--font-display: "Fraunces", Georgia, "Times New Roman", serif;--font-body: "Jost", system-ui, sans-serif;--space-xs: 4px;--space-sm: 8px;--space-md: 16px;--space-lg: 24px;--space-xl: 48px;--space-2xl: 96px;--page-x: clamp(32px, 6vw, 104px);--nav-h: 64px;--ease-expo: cubic-bezier(.16, 1, .3, 1)}html{font-family:var(--font-body);background-color:var(--color-dark);color:var(--color-lime);scroll-behavior:smooth;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}.nav{animation:nav-drop .7s var(--ease-expo) 60ms both;position:fixed;top:var(--space-lg);left:50%;translate:-50% 0;z-index:100;height:60px;width:min(620px,calc(100% - var(--space-xl)));display:flex;align-items:center;justify-content:space-between;padding:0 var(--space-xl);background:oklch(16% .05 128 / .82);border-radius:100px;border:1px solid oklch(87% .22 122 / .22)}.nav-logo{font-family:var(--font-body);font-weight:400;font-size:clamp(.72rem,1vw,.85rem);letter-spacing:.1em;text-transform:uppercase;color:var(--color-lime);position:relative;height:1.2em;overflow:hidden}.logo-full,.logo-abbr{display:block;white-space:nowrap;line-height:1.2;transition:opacity .4s var(--ease-expo),transform .4s var(--ease-expo)}.logo-abbr{position:absolute;top:0;left:0;opacity:0;transform:translateY(110%)}.nav--collapsed .logo-full{opacity:0;transform:translateY(-110%)}.nav--collapsed .logo-abbr{opacity:1;transform:translateY(0)}.nav-links{list-style:none;display:flex;gap:var(--space-lg);font-family:var(--font-body);font-size:clamp(.62rem,.8vw,.74rem);font-weight:400;letter-spacing:.12em;text-transform:uppercase}.nav-links a{color:var(--color-lime-2);text-decoration:none;padding-bottom:2px;border-bottom:1px solid transparent;transition:color .2s,border-color .2s}.nav-links a:hover,.nav-links a:focus-visible{color:var(--color-lime);border-bottom-color:var(--color-lime);outline:none}.hero{min-height:100dvh;display:flex;padding:calc(60px + var(--space-lg) + var(--space-lg)) var(--page-x) clamp(var(--space-xl),5vh,var(--space-2xl));background:var(--color-lime);overflow:hidden;position:sticky;top:0;z-index:0}.hero-inner{flex:1;width:100%;display:grid;grid-template-rows:1fr auto;will-change:transform,opacity}.hero-center{align-self:center;display:flex;flex-direction:column;align-items:center;text-align:center}.hero-eyebrow{overflow:hidden;margin-bottom:clamp(var(--space-md),2.5vh,var(--space-xl))}.hero-eyebrow-inner{display:block;font-family:var(--font-body);font-size:clamp(.72rem,.9vw,.85rem);font-weight:400;letter-spacing:.24em;text-transform:uppercase;color:var(--color-dark-mid);animation:hero-rise .8s var(--ease-expo) both}.hero-headline{font-family:var(--font-display);font-size:clamp(3rem,7.4vw,9rem);font-weight:450;font-variation-settings:"opsz" 60,"wght" 450;line-height:.94;letter-spacing:-.005em;text-transform:uppercase;color:var(--color-dark-ink)}.hero-line{display:block;overflow:hidden;padding-bottom:.12em}.hero-line-inner{display:block;animation:hero-rise 1s var(--ease-expo) both}.hero-line:nth-child(2) .hero-line-inner{animation-delay:.12s}.hero-foot{display:flex;justify-content:space-between;align-items:center;gap:var(--space-xl);margin-bottom:clamp(var(--space-md),3vh,var(--space-xl));margin-inline:0}.hero-intro{max-width:26ch;animation:hero-rise .9s var(--ease-expo) .32s both}.hero-intro-rule{display:block;width:100%;height:1px;background:oklch(14% .05 128 / .4);margin-bottom:var(--space-md)}.hero-intro-text{font-family:var(--font-body);font-size:clamp(1.1rem,1.55vw,1.6rem);text-wrap:pretty;font-weight:400;line-height:1.35;letter-spacing:-.005em;color:var(--color-dark-mid)}.hero-tile{position:relative;flex:none;width:clamp(200px,18vw,320px);aspect-ratio:3 / 2;overflow:hidden;background:radial-gradient(120% 130% at 78% 18%,oklch(100% 0 0 / .08),transparent 55%),var(--color-dark);border:1px solid oklch(14% .05 128 / .5);text-decoration:none;animation:hero-rise .9s var(--ease-expo) .4s both;transition:transform .36s var(--ease-expo)}.hero-tile:hover,.hero-tile:focus-visible{transform:translateY(-4px);outline:none}.hero-reel{position:absolute;inset:0;z-index:0}.hero-reel-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;--reel-step: .4s;animation:hero-reel 3.2s linear infinite;animation-delay:calc(var(--i, 0) * var(--reel-step))}.hero-tile:after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(to bottom left,oklch(14% .05 128 / .5) 0%,transparent 38%),linear-gradient(to top right,oklch(14% .05 128 / .82) 0%,oklch(14% .05 128 / .3) 26%,transparent 50%)}@keyframes hero-reel{0%{opacity:0}1%{opacity:1}12.5%{opacity:1}13.5%{opacity:0}to{opacity:0}}@keyframes hero-reel-slow{0%{opacity:0}12.5%{opacity:1}25%{opacity:0}to{opacity:0}}.hero-tile-arrow{position:absolute;z-index:2;top:var(--space-md);right:var(--space-md);font-size:1.2rem;line-height:1;color:var(--color-lime);transition:transform .36s var(--ease-expo)}.hero-tile:hover .hero-tile-arrow,.hero-tile:focus-visible .hero-tile-arrow{transform:translate(3px,-3px)}.hero-tile-caption{position:absolute;z-index:2;left:var(--space-md);bottom:var(--space-md);font-family:var(--font-body);font-size:clamp(.72rem,.85vw,.84rem);font-weight:400;text-transform:uppercase;letter-spacing:.16em;color:var(--color-lime)}.reveal-word{display:inline;opacity:.12}.about{padding:var(--space-2xl) var(--page-x) 50vh;background:var(--color-dark);border-top:1px solid oklch(87% .22 122 / .12);position:relative;z-index:1}.about-inner{width:100%;display:grid;grid-template-columns:minmax(140px,240px) minmax(0,1fr);column-gap:clamp(var(--space-xl),8vw,160px);align-items:start;opacity:0;transform:translateY(28px);transition:opacity .75s var(--ease-expo),transform .75s var(--ease-expo)}.about-inner.is-visible{opacity:1;transform:translateY(0)}.about-rail{position:sticky;top:45vh;display:flex;flex-direction:column;gap:var(--space-md)}.about-rule{display:block;width:56px;height:1px;background:var(--color-lime-2)}.about-label{font-family:var(--font-body);font-size:clamp(1.05rem,1.6vw,1.5rem);text-wrap:balance;font-weight:400;line-height:1.4;letter-spacing:.12em;text-transform:uppercase;color:var(--color-lime)}.about-body{max-width:20ch;font-family:var(--font-display);font-size:clamp(1.9rem,3.85vw,3.4375rem);font-weight:350;line-height:1.18;letter-spacing:0;word-spacing:.06em;text-transform:uppercase;color:var(--color-lime);overflow-wrap:break-word;text-wrap:pretty;display:flex;flex-direction:column;gap:clamp(var(--space-md),1.8vw,var(--space-xl))}.work{position:relative;z-index:1;background:var(--color-dark);padding:var(--space-2xl) var(--page-x);border-top:1px solid oklch(87% .22 122 / .12)}.work-head{display:flex;align-items:baseline;gap:var(--space-lg);padding:0 var(--space-lg) var(--space-xl)}.work-rule{align-self:center;width:56px;height:1px;background:var(--color-lime-2)}.work-label{font-family:var(--font-body);font-size:clamp(.85rem,1.1vw,1rem);font-weight:400;letter-spacing:.14em;text-transform:uppercase;color:var(--color-lime)}.work-count{margin-left:auto;font-family:var(--font-body);font-size:clamp(.72rem,.85vw,.82rem);font-weight:300;letter-spacing:.14em;text-transform:uppercase;color:var(--color-lime-dim)}.work-list{list-style:none;border-top:1px solid oklch(87% .22 122 / .14)}.work-row{border-bottom:1px solid oklch(87% .22 122 / .14)}.work-link{position:relative;display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;column-gap:clamp(var(--space-md),3vw,var(--space-2xl));padding:clamp(var(--space-lg),3.4vh,44px) var(--space-lg);text-decoration:none;color:var(--color-lime-2);background:transparent;transition:background-color .32s var(--ease-expo),color .32s var(--ease-expo)}.work-index{font-family:var(--font-body);font-size:clamp(.72rem,.9vw,.85rem);font-weight:400;letter-spacing:.1em;color:var(--color-lime-dim);transition:color .32s var(--ease-expo)}.work-name{display:flex;flex-direction:column;gap:.15em;min-width:0}.work-title{font-family:var(--font-display);font-size:clamp(1.6rem,3.6vw,3.25rem);text-wrap:balance;font-weight:400;line-height:1.02;letter-spacing:-.01em;color:var(--color-lime);transition:color .32s var(--ease-expo)}.work-desc{font-family:var(--font-body);font-size:clamp(1.1rem,1.5vw,1.35rem);text-wrap:pretty;font-weight:300;letter-spacing:.01em;color:var(--color-lime-dim);transition:color .32s var(--ease-expo)}.work-tag{display:inline-flex;align-items:center;gap:var(--space-sm);font-family:var(--font-body);font-size:clamp(.66rem,.85vw,.8rem);font-weight:400;letter-spacing:.12em;text-transform:uppercase;white-space:nowrap;color:var(--color-lime-2);transition:color .32s var(--ease-expo)}.work-tag:before{content:"";width:7px;height:7px;background:currentColor}.work-arrow{font-size:clamp(1.1rem,1.7vw,1.5rem);line-height:1;color:var(--color-lime-2);transition:color .32s var(--ease-expo),transform .32s var(--ease-expo)}.work-link:hover,.work-link:focus-visible{background:var(--color-lime);outline:none}.work-link:hover .work-title,.work-link:focus-visible .work-title,.work-link:hover .work-tag,.work-link:focus-visible .work-tag,.work-link:hover .work-arrow,.work-link:focus-visible .work-arrow{color:var(--color-dark-ink)}.work-link:hover .work-index,.work-link:focus-visible .work-index,.work-link:hover .work-desc,.work-link:focus-visible .work-desc{color:var(--color-dark-mid)}.work-link:hover .work-arrow,.work-link:focus-visible .work-arrow{transform:translate(4px,-4px)}.work-peek{display:none}.work-media{position:fixed;top:0;left:0;width:clamp(300px,30vw,540px);aspect-ratio:3 / 2;pointer-events:none;z-index:60;opacity:0;will-change:transform}.work-media.is-active{opacity:1}.work-media__inner{position:relative;width:100%;height:100%;transform:translate(-50%,-50%) rotate(var(--media-rot, -6deg)) scale(var(--media-scale, .88));opacity:0;transition:opacity .36s var(--ease-expo),transform .42s var(--ease-expo)}.work-media.is-active .work-media__inner{--media-scale: 1;opacity:1}.work-media__panel{position:absolute;inset:0;background:radial-gradient(120% 130% at 25% 15%,oklch(100% 0 0 / .14),transparent 55%),var(--media-tone, oklch(40% .09 126))}.work-media__panel img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}.work-media__caption{position:absolute;left:var(--space-md);bottom:var(--space-md);right:var(--space-md);font-family:var(--font-display);font-size:clamp(1.1rem,1.5vw,1.5rem);font-weight:400;line-height:1.1;color:var(--color-lime);text-shadow:0 1px 18px oklch(14% .05 128 / .6)}.contact{position:relative;z-index:0;margin-top:-100vh;min-height:200vh;background:var(--color-lime)}.contact-inner{position:sticky;top:0;min-height:100vh;display:grid;grid-template-rows:1fr auto;padding:calc(60px + var(--space-lg) + var(--space-lg)) var(--page-x) var(--space-xl);overflow:hidden}.contact-center{align-self:center;display:flex;flex-direction:column;align-items:center;text-align:center;gap:clamp(var(--space-lg),4vh,var(--space-2xl))}.contact-eyebrow{font-family:var(--font-body);font-size:clamp(.72rem,.9vw,.85rem);font-weight:400;letter-spacing:.24em;text-transform:uppercase;color:var(--color-dark-mid)}.contact-headline{font-family:var(--font-display);font-size:clamp(2.2rem,5.2vw,5.5rem);text-wrap:balance;font-weight:400;line-height:1;letter-spacing:-.005em;text-transform:uppercase;color:var(--color-dark-ink);max-width:16ch}.contact-email{display:inline-flex;align-items:center;gap:clamp(var(--space-sm),1.5vw,var(--space-lg));font-family:var(--font-body);font-size:clamp(1.3rem,3.2vw,2.6rem);font-weight:400;color:var(--color-dark-ink);text-decoration:none;border-bottom:2px solid oklch(14% .05 128 / .28);padding-bottom:.08em;transition:border-color .3s var(--ease-expo)}.contact-email:hover,.contact-email:focus-visible{border-bottom-color:var(--color-dark-ink);outline:none}.contact-email-arrow{transition:transform .3s var(--ease-expo)}.contact-email:hover .contact-email-arrow,.contact-email:focus-visible .contact-email-arrow{transform:translate(6px)}.footer{display:flex;justify-content:space-between;align-items:center;gap:var(--space-lg);padding-top:var(--space-lg);border-top:1px solid oklch(14% .05 128 / .2);font-family:var(--font-body);font-size:clamp(.7rem,.85vw,.8rem);font-weight:400;letter-spacing:.12em;text-transform:uppercase;color:var(--color-dark-mid)}@media (max-width: 900px){.about-inner{grid-template-columns:1fr;row-gap:var(--space-xl)}.about-rail{position:static;top:auto}.about-body{max-width:40ch}}@media (max-width: 640px){.nav{padding:0 var(--space-lg);width:min(480px,calc(100% - var(--space-md) * 2))}.nav-links{gap:var(--space-md)}.logo-full{display:none}.logo-abbr{position:static;opacity:1;transform:none}.nav--collapsed .logo-full{display:none}.nav--collapsed .logo-abbr{opacity:1;transform:none}.hero-inner{display:flex;flex-direction:column;justify-content:center;align-items:center}.hero-foot{flex-direction:column;align-items:center;gap:clamp(var(--space-lg),7vh,var(--space-2xl));margin-top:clamp(var(--space-md),4vh,var(--space-xl));margin-bottom:0;margin-inline:0}.hero-intro{max-width:19rem;text-align:center}.hero-intro-rule{display:none}.hero-intro-text{font-size:clamp(1.5rem,5.6vw,2rem);line-height:1.25}.hero-tile{width:min(440px,88%)}.about{padding:var(--space-xl) var(--page-x)}.about-body{font-size:clamp(1.85rem,8.4vw,2.25rem);line-height:1.14}.work{padding:var(--space-xl) 0}.work-head{padding-inline:var(--page-x)}.work-link{grid-template-columns:auto 1fr auto;column-gap:var(--space-md);padding-inline:var(--page-x)}.work-tag{display:none}.work-link:before{content:"";position:absolute;inset:0;z-index:0;background:var(--color-lime);opacity:0;pointer-events:none;transition:opacity .32s var(--ease-expo)}.work-link:hover:before,.work-link:focus-visible:before,.work-link:active:before{opacity:1}.work-index,.work-name,.work-tag,.work-arrow{position:relative;z-index:1}.work-peek{display:block;position:absolute;top:0;right:clamp(var(--space-lg),12vw,96px);width:clamp(210px,62vw,320px);aspect-ratio:3 / 2;object-fit:cover;z-index:-1;pointer-events:none;opacity:0;transform:translateY(-72%) rotate(-6deg)}.work-link:hover .work-peek,.work-link:focus-visible .work-peek,.work-link:active .work-peek{opacity:1}.work-link:hover,.work-link:focus-visible,.work-link:active{z-index:5}}@media (max-width: 640px){.work-peek{transform:translateY(-60%) rotate(-6deg) scale(.9);transition:opacity .3s var(--ease-expo),transform .46s var(--ease-expo)}.work-link:hover .work-peek,.work-link:focus-visible .work-peek,.work-link:active .work-peek{transform:translateY(-72%) rotate(-6deg) scale(1)}}[data-motion=partial] .hero-reel-img{--reel-step: 3s;animation-name:hero-reel-slow;animation-duration:24s}[data-motion=off] .hero-reel-img{animation:none;opacity:0}[data-motion=off] .hero-reel-img:first-child{opacity:1}[data-motion=off] .nav,[data-motion=off] .hero-eyebrow-inner,[data-motion=off] .hero-line-inner,[data-motion=off] .hero-intro,[data-motion=off] .hero-tile{animation:none}[data-motion=off] .about-inner{opacity:1;transform:none;transition:none}[data-motion=off] .reveal-word{opacity:1}[data-motion=off] .work-media{display:none}[data-motion=off] .work-peek{transition:none;transform:translateY(-72%) rotate(-6deg)}
