.astro-route-announcer{position:absolute;left:0;top:0;clip:rect(0 0 0 0);clip-path:inset(50%);overflow:hidden;white-space:nowrap;width:1px;height:1px}:root{--bg: #000000;--text-main: #f2f2f2;--text-contrast: #ffffff;--text-muted: #9c9c9f;--line: #2b2b2f;--vt-duration: .28s;--radius-1: 8px;--font-main: "Futura PT", "Avenir Next", "Segoe UI", sans-serif;--content-max: 1560px;--space-1: .45rem;--space-2: .75rem;--space-3: 1rem;--space-4: 1.5rem;--space-5: 2.5rem;--space-6: 4rem;--topbar-height: 0px}@font-face{font-family:Futura PT;src:url(/fonts/FUTURA%20PT/FuturaPT-LightObl.woff2) format("woff2");font-weight:300;font-style:oblique;font-display:swap}@font-face{font-family:Futura PT;src:url(/fonts/FUTURA%20PT/FuturaPT-BookObl.woff2) format("woff2");font-weight:400;font-style:oblique;font-display:swap}@font-face{font-family:Futura PT;src:url(/fonts/FUTURA%20PT/FuturaPT-MediumObl.woff2) format("woff2");font-weight:500;font-style:oblique;font-display:swap}@font-face{font-family:Futura PT;src:url(/fonts/FUTURA%20PT/FuturaPT-DemiObl.woff2) format("woff2");font-weight:600;font-style:oblique;font-display:swap}@font-face{font-family:Futura PT;src:url(/fonts/FUTURA%20PT/FuturaPT-BoldObl.woff2) format("woff2");font-weight:700;font-style:oblique;font-display:swap}@font-face{font-family:Futura PT;src:url(/fonts/FUTURA%20PT/FuturaPT-HeavyObl.woff2) format("woff2");font-weight:800;font-style:oblique;font-display:swap}@font-face{font-family:Futura PT;src:url(/fonts/FUTURA%20PT/FuturaPT-ExtraBoldObl.woff2) format("woff2");font-weight:900;font-style:oblique;font-display:swap}@font-face{font-family:Futura PT Condensed;src:url(/fonts/FUTURA%20PT/FuturaPTCond-MediumObl.woff2) format("woff2");font-weight:500;font-style:oblique;font-display:swap}@font-face{font-family:Futura PT Condensed;src:url(/fonts/FUTURA%20PT/FuturaPTCond-BoldObl.woff2) format("woff2");font-weight:700;font-style:oblique;font-display:swap}@font-face{font-family:Futura PT Condensed;src:url(/fonts/FUTURA%20PT/FuturaPTCond-ExtraBoldObl.woff2) format("woff2");font-weight:900;font-style:oblique;font-display:swap}*{box-sizing:border-box}html,body{margin:0;min-height:100%;background:var(--bg)}body{font-family:var(--font-main);font-style:oblique;background:var(--bg);color:var(--text-main);line-height:1.35;scrollbar-gutter:stable}::view-transition-group(page-content){z-index:0}::view-transition-group(.project-card){z-index:1;animation-duration:.42s;animation-timing-function:cubic-bezier(.4,0,.2,1)}::view-transition-old(.project-card),::view-transition-new(.project-card){animation-duration:.42s;animation-timing-function:cubic-bezier(.4,0,.2,1);mix-blend-mode:normal}::view-transition-old(*),::view-transition-new(*){width:100%;height:100%;object-fit:cover}::view-transition-old(page-content),::view-transition-new(page-content){animation-duration:var(--vt-duration);animation-timing-function:cubic-bezier(.2,.8,.2,1)}::view-transition-old(page-content){animation-name:page-out}::view-transition-new(page-content){animation-name:page-in}html[data-nav-transition=menu-right]::view-transition-old(page-content){animation-name:page-slide-out-left;animation-duration:.62s;animation-timing-function:cubic-bezier(.22,.78,.08,1)}html[data-nav-transition=menu-right]::view-transition-new(page-content){animation-name:page-slide-in-right;animation-duration:.62s;animation-timing-function:cubic-bezier(.22,.78,.08,1)}html[data-nav-transition=menu-left]::view-transition-old(page-content){animation-name:page-slide-out-right;animation-duration:.62s;animation-timing-function:cubic-bezier(.22,.78,.08,1)}html[data-nav-transition=menu-left]::view-transition-new(page-content){animation-name:page-slide-in-left;animation-duration:.62s;animation-timing-function:cubic-bezier(.22,.78,.08,1)}@keyframes page-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes page-out{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-8px)}}@keyframes page-slide-in-right{0%{opacity:.4;transform:translate(7vw)}to{opacity:1;transform:translate(0)}}@keyframes page-slide-out-left{0%{opacity:1;transform:translate(0)}to{opacity:.35;transform:translate(-7vw)}}@keyframes page-slide-in-left{0%{opacity:.4;transform:translate(-7vw)}to{opacity:1;transform:translate(0)}}@keyframes page-slide-out-right{0%{opacity:1;transform:translate(0)}to{opacity:.35;transform:translate(7vw)}}a{color:inherit;text-decoration:none}.site-shell{--shell-gap: 1.7rem;--shell-padding-top: 1.75rem;max-width:none;width:100%;margin:0;padding:1.75rem 2.2rem 2.2rem;display:grid;grid-template-rows:auto 1fr auto;gap:var(--shell-gap);min-height:100vh}.topbar{display:flex;justify-content:space-between;align-items:center;gap:var(--space-3);padding-bottom:.65rem;padding-top:.25rem;position:sticky;top:0;background:var(--bg);z-index:100}.nav-toggle{display:none;appearance:none;border:0;background:transparent;padding:0;margin:0;inline-size:3rem;block-size:3rem;flex-direction:column;align-items:center;justify-content:center;gap:.34rem;cursor:pointer;color:var(--text-main);z-index:12}.nav-toggle-line{display:block;inline-size:1.5rem;block-size:2px;border-radius:999px;background:currentColor;transition:transform .22s ease,opacity .22s ease;transform-origin:center}.brand-link{display:inline-flex;flex-direction:column;align-items:flex-start;gap:4px;letter-spacing:normal;text-transform:uppercase;white-space:nowrap}.brand-title{font-size:64px;line-height:.92;font-weight:800;font-style:oblique;color:#fff;letter-spacing:-.005em}.brand-role-strip{display:flex;align-items:center;gap:10px;margin-top:6px}.brand-role-rule{width:28px;height:1px;background:#6d6d6d;flex-shrink:0}.brand-subtitle{font-size:13px;line-height:1;font-weight:600;font-style:oblique;color:#9c9c9f;letter-spacing:.32em;text-transform:uppercase}.brand-link:hover{opacity:.86}.site-nav{display:flex;align-items:center;gap:.85rem}.nav-preview-bg{display:none}.nav-link{font-size:.84rem;letter-spacing:.08em;text-transform:uppercase;padding:.15rem 0;transition:opacity .18s ease}.nav-link:hover,.nav-link:focus-visible{opacity:.74;outline:none}body.nav-open{overflow:hidden}.site-footer{display:flex;flex-direction:column;align-items:flex-start;gap:.2rem;padding-top:var(--space-3);color:var(--text-muted);font-size:.78rem;letter-spacing:.03em}.site-footer p,.site-footer a{margin:0}.site-footer a:hover{text-decoration:underline}.text-meta{font-size:.78rem;letter-spacing:.03em;text-transform:uppercase;color:var(--text-muted)}.media-frame{view-transition-class:project-card;position:relative;--media-ratio: 16 / 9;--media-max-height: max(220px, calc(100svh - var(--topbar-height, 0px) - var(--shell-padding-top, 1.75rem) - var(--shell-gap, 1.7rem) * 2));width:min(100%,calc(var(--media-max-height) * (var(--media-ratio))));max-height:var(--media-max-height);margin-inline:auto;background-color:#000;overflow:hidden;border-radius:0}.media-frame iframe{display:block;position:absolute;inset:0;width:100%;height:100%;border:none;margin:0;padding:0;min-width:100%;min-height:100%;max-width:100%;max-height:100%;object-fit:cover;background-color:#000}.media-frame>div,.media-frame>[style]{width:100%;height:100%}.media-poster{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:1;background-color:#000;transition:opacity .45s ease}.media-poster--hidden{opacity:0;pointer-events:none}.about{max-width:42rem;display:grid;gap:.4rem}.about .name,.about .role,.about p:not(.text-meta){margin:0;font-size:.95rem;letter-spacing:.02em}.about .name{font-weight:600;text-transform:uppercase;letter-spacing:.08em;margin-bottom:.4rem}.about .role,.about a{text-decoration:underline}.about .copyright{margin-top:1rem}.project{--project-section-gap: 1rem;display:grid;gap:var(--project-section-gap)}.project--video-bound{--project-video-ratio: 16 / 9;--project-video-max-height: max(220px, calc(100svh - var(--topbar-height, 0px) - var(--shell-padding-top, 1.75rem) - var(--shell-gap, 1.7rem) * 2));width:min(100%,calc(var(--project-video-max-height) * (var(--project-video-ratio))));max-width:100%;margin-inline:auto}.project-header{display:grid;gap:.2rem}.project h1,.project p{margin:0}.project h1{font-size:1rem;letter-spacing:.05em;text-transform:none;font-weight:600}.project-header p:not(.text-meta){font-size:.9rem;letter-spacing:.02em}.project-credits{display:grid;gap:14px;justify-items:start;text-align:left;margin-bottom:3rem;padding-top:max(0px,calc(var(--shell-gap, 1.7rem) - var(--project-section-gap, 1rem)));max-width:560px}.project-credits-head{display:grid;gap:6px;padding-bottom:14px;width:100%}.project-credits-head h1{margin:0;font-size:1.6rem;line-height:1.15;letter-spacing:.06em;text-transform:uppercase;font-weight:700;color:#fff}.project-credits-type{font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;color:var(--text-muted)}.project-credits-roll{display:grid;grid-template-columns:9rem 1fr;row-gap:10px;column-gap:18px;width:100%}.project-credits-role{font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;color:var(--text-muted);align-self:baseline;font-weight:500}.project-credits-name{font-size:1rem;line-height:1.3;letter-spacing:.015em;color:var(--text-main);font-weight:500;margin:0}.project-credits-production{grid-column:1 / -1;font-size:1rem;line-height:1.3;letter-spacing:.015em;color:var(--text-main);font-weight:500}.project-still-wrapper{position:relative;overflow:hidden;aspect-ratio:var(--still-ratio, 16 / 9);background:var(--lqip, transparent) center / cover no-repeat}.project-still{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;opacity:0;transition:opacity .35s ease}.project-still.is-loaded{opacity:1}.project-extra-stills{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.25rem;width:100%}.project-nav{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:.6rem;border-top:1px solid var(--line);padding-top:.8rem;font-size:.8rem;letter-spacing:.03em;text-transform:uppercase}.project-nav a:last-child{text-align:right}.project-nav a:hover{opacity:.62}.gallery-grid{--gallery-gap: 8px;position:relative;padding:0;opacity:0}.gallery-grid[data-ready]{opacity:1}.gallery-card{display:block}.gallery-card:hover,.gallery-card:focus-visible{z-index:1}.gallery-media-frame{view-transition-class:project-card;border-radius:var(--radius-1);display:block;overflow:hidden;position:relative;width:100%;background:#111;isolation:isolate}.gallery-media-frame:before{content:"";position:absolute;inset:0;z-index:0;background:linear-gradient(90deg,transparent 0%,rgb(255 255 255 / .05) 50%,transparent 100%);transform:translate(-100%);animation:gallery-shimmer 1.8s ease-in-out infinite;will-change:transform;pointer-events:none}.gallery-media-frame:after{content:"";position:absolute;inset:0;z-index:1;background:var(--lqip, transparent) center / cover no-repeat;pointer-events:none}.gallery-media-image{display:block;height:100%;left:0;object-fit:cover;position:absolute;top:0;width:100%;z-index:2;opacity:0;transition:opacity .22s ease-out}.gallery-media-image.is-loaded{opacity:1}.gallery-media-frame:has(.gallery-media-image.is-loaded):before{animation-play-state:paused;opacity:0;will-change:auto}.gallery-media-frame:not(:has(img)):before{animation:none}@keyframes gallery-shimmer{0%{transform:translate(-100%)}60%,to{transform:translate(100%)}}@media(prefers-reduced-motion:reduce){.gallery-media-frame:before{animation:none;transform:none;background:#ffffff08}}.gallery-overlay{inset:0;opacity:0;position:absolute;z-index:3;transition:opacity .15s ease}.gallery-card:hover .gallery-overlay,.gallery-card:focus-visible .gallery-overlay{opacity:1}.gallery-overlay-surface{background:#0000;border-radius:var(--radius-1);display:flex;flex-direction:column;justify-content:flex-end;height:100%;position:relative;width:100%}.gallery-overlay-content{overflow:hidden;padding:5% 0;width:100%;filter:drop-shadow(0 0 40px rgb(0 0 0 / 1)) drop-shadow(0 0 80px rgb(0 0 0 / .9)) drop-shadow(0 0 140px rgb(0 0 0 / .75))}.gallery-title{color:var(--text-contrast);font-size:28px;font-style:oblique;font-weight:500;letter-spacing:.04em;line-height:1.05;padding:5px 5%;text-align:left;text-transform:uppercase;text-wrap:balance;width:100%}.gallery-meta-row{display:flex;align-items:center;gap:12px;margin-top:14px;color:#ffffffc7;font-size:11px;line-height:1;letter-spacing:.22em;text-transform:uppercase;font-weight:500;padding:0 5% 5px}.gallery-meta-rule{width:22px;height:1px;background:#ffffff73;flex-shrink:0}.gallery-meta-year{color:#fff9;letter-spacing:.14em}@media(min-width:640px){.project-extra-stills{gap:.7rem}}@media(min-width:960px){.project-extra-stills{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(min-width:1400px){.project-extra-stills{grid-template-columns:repeat(4,minmax(0,1fr))}}@media(max-width:932px){.gallery-title{font-size:22px}}@media(max-width:780px){.project-nav{grid-template-columns:1fr}.project-nav a:last-child{text-align:left}}@media(max-width:540px){.gallery-title{font-size:19px}}@media(prefers-reduced-motion:reduce){::view-transition-old(page-content),::view-transition-new(page-content){animation:none}html[data-nav-transition=menu-right]::view-transition-old(page-content),html[data-nav-transition=menu-right]::view-transition-new(page-content),html[data-nav-transition=menu-left]::view-transition-old(page-content),html[data-nav-transition=menu-left]::view-transition-new(page-content){animation:none}}@media(max-width:880px){.site-shell{padding:1rem 1rem 1.5rem;--shell-gap: var(--space-4);--shell-padding-top: 1rem;gap:var(--shell-gap)}.topbar{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;column-gap:1rem;min-height:4rem;padding-right:0;position:sticky;top:0;background:var(--bg);z-index:100}.brand-link{min-width:0;overflow:hidden}.brand-title{font-size:clamp(26px,7vw,40px)}.nav-toggle{display:inline-flex;position:relative;justify-self:end;align-self:center}html[data-mobile-nav-open=true] .nav-toggle-line:nth-child(1){transform:translateY(.47rem) rotate(45deg)}html[data-mobile-nav-open=true] .nav-toggle-line:nth-child(2){opacity:0}html[data-mobile-nav-open=true] .nav-toggle-line:nth-child(3){transform:translateY(-.47rem) rotate(-45deg)}.site-nav{position:fixed;inset:0;z-index:11;display:grid;align-content:start;justify-items:center;gap:1.85rem;padding:6.5rem 1rem 2rem;overflow:hidden;background:#0f0f0ffa;pointer-events:none;visibility:hidden;opacity:0;transition:opacity .28s ease,visibility 0s .28s}@supports ((backdrop-filter: blur(12px)) or (-webkit-backdrop-filter: blur(12px))){.site-nav{background:#0000008c;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}}.site-nav[data-open=true]{opacity:1;pointer-events:auto;visibility:visible;transition:opacity .28s ease,visibility 0s 0s}.site-nav .nav-link{font-size:clamp(1.35rem,5.2vw,1.95rem);font-weight:700;letter-spacing:.12em;line-height:1.32;position:relative;z-index:1;padding:.15rem .2rem;text-shadow:0 10px 24px rgb(0 0 0 / .62),0 2px 7px rgb(0 0 0 / .5);transition:opacity .18s ease,text-shadow .18s ease}.nav-toggle{filter:drop-shadow(0 10px 16px rgb(0 0 0 / .6));transition:filter 2.6s ease}html[data-mobile-nav-open=true] .nav-toggle{filter:drop-shadow(0 12px 20px rgb(0 0 0 / .68))}.nav-preview-bg{display:block;position:absolute;inset:0;z-index:0;pointer-events:none;overflow:hidden;opacity:0;transition:opacity .28s ease}.nav-preview-bg[data-visible=true]{opacity:1}.nav-preview-overlay{position:absolute;inset:0;z-index:2;pointer-events:none;background:#00000059}.nav-preview-layer{position:absolute;inset:-56px;background-size:cover;background-position:center;background-repeat:no-repeat;filter:url(#nav-bg-blur);opacity:0;transition:opacity .6s ease}.site-footer{position:relative;z-index:1}}@keyframes astroFadeInOut{0%{opacity:1}to{opacity:0}}@keyframes astroFadeIn{0%{opacity:0;mix-blend-mode:plus-lighter}to{opacity:1;mix-blend-mode:plus-lighter}}@keyframes astroFadeOut{0%{opacity:1;mix-blend-mode:plus-lighter}to{opacity:0;mix-blend-mode:plus-lighter}}@keyframes astroSlideFromRight{0%{transform:translate(100%)}}@keyframes astroSlideFromLeft{0%{transform:translate(-100%)}}@keyframes astroSlideToRight{to{transform:translate(100%)}}@keyframes astroSlideToLeft{to{transform:translate(-100%)}}@media(prefers-reduced-motion){::view-transition-group(*),::view-transition-old(*),::view-transition-new(*){animation:none!important}[data-astro-transition-scope]{animation:none!important}}
