:root{--obsidian:#080909;--charcoal:#111212;--ivory:#eee9e1;--bronze:#c6a77b;--muted:#a7a29a;--border:#292927;--ivory-soft:#eee9e1c7;--line:#eee9e124;--font-serif:"Cormorant Garamond", "Times New Roman", Georgia, serif;--font-sans:"DM Sans", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--ease:cubic-bezier(.22, 1, .36, 1);--gutter:clamp(1.25rem, 4vw, 3.5rem);--max-width:1440px;--nav-h:76px;--section-y:clamp(5.5rem, 11vw, 10rem)}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%}body{background:var(--obsidian);min-height:100vh;color:var(--ivory);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0;font-size:1rem;line-height:1.65;overflow-x:clip}body:after{content:"";z-index:90;pointer-events:none;opacity:.045;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");position:fixed;inset:0}img,video,svg{max-width:100%;display:block}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:0;padding:0}h1,h2,h3,p,ul,ol,dl,dd,blockquote,figure{margin:0}ul,ol{padding:0;list-style:none}main:focus{outline:none}::selection{background:var(--bronze);color:var(--obsidian)}:focus-visible{outline:1px solid var(--bronze);outline-offset:4px}.skip-link{z-index:200;background:var(--ivory);color:var(--obsidian);transition:transform .4s var(--ease);padding:.75rem 1.25rem;font-size:.85rem;position:fixed;top:.75rem;left:.75rem;transform:translateY(-200%)}.skip-link:focus{transform:none}.container{width:100%;max-width:var(--max-width);padding-inline:var(--gutter);margin-inline:auto}.section{padding-block:var(--section-y);position:relative}.cinematic{isolation:isolate;position:relative;overflow:hidden}.cinematic__media{z-index:-2;position:absolute;inset:-10% 0}.cinematic__media img,.cinematic__media video{object-fit:cover;width:100%;height:100%}.cinematic__overlay{z-index:-1;pointer-events:none;position:absolute;inset:0}.is-mirrored{transform:scaleX(-1)}.eyebrow{letter-spacing:.28em;text-transform:uppercase;color:var(--muted);align-items:center;gap:.9rem;margin-bottom:1.75rem;font-size:.7rem;font-weight:500;display:inline-flex}.eyebrow:before{content:"";background:var(--bronze);width:2rem;height:1px}.display{font-family:var(--font-serif);letter-spacing:-.015em;font-size:clamp(2.6rem,1.4rem + 4.6vw,5.75rem);font-weight:300;line-height:1}.display>span{display:block}.display em,.display__em{font-style:italic}.display--xl{font-size:clamp(3rem,1.2rem + 7vw,8.5rem);line-height:.96}.lead{max-width:34rem;color:var(--muted);font-size:clamp(1rem,.95rem + .3vw,1.15rem);line-height:1.75}.section-heading{max-width:48rem}.btn{letter-spacing:.2em;text-transform:uppercase;white-space:nowrap;min-height:52px;transition:background-color .6s var(--ease), color .6s var(--ease), border-color .6s var(--ease);border:1px solid #0000;justify-content:center;align-items:center;gap:.85rem;padding:0 1.75rem;font-size:.74rem;font-weight:500;display:inline-flex}.btn svg{transition:transform .6s var(--ease);flex-shrink:0}.btn:hover svg{transform:translate(3px)}.btn--primary{background:var(--ivory);color:var(--obsidian)}.btn--primary:hover{background:var(--bronze)}.btn--ghost{border-color:#eee9e159}.btn--ghost:hover{border-color:var(--ivory);background:#eee9e10f}.monogram{width:42px;height:42px;font-family:var(--font-serif);letter-spacing:.06em;transition:border-color .6s var(--ease);border:1px solid #eee9e166;border-radius:50%;flex-shrink:0;place-items:center;font-size:1.05rem;display:grid}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.nav{z-index:50;border-bottom:1px solid var(--line);transition:background-color .7s var(--ease), border-color .7s var(--ease);position:fixed;inset:0 0 auto}.nav--solid{border-color:var(--border);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#080909d6}.nav__inner{height:var(--nav-h);justify-content:space-between;align-items:center;gap:2rem;display:flex}.nav__brand{align-items:center;gap:.9rem;min-width:0;display:flex}.nav__brand:hover .monogram{border-color:var(--bronze)}.nav__name{font-family:var(--font-serif);white-space:nowrap;font-size:1.3rem;line-height:1.1;display:block}.nav__role{letter-spacing:.3em;text-transform:uppercase;color:var(--muted);white-space:nowrap;margin-top:3px;font-size:.6rem;display:block}.nav__links{display:none}.nav__link{letter-spacing:.18em;text-transform:uppercase;color:var(--ivory-soft);transition:color .5s var(--ease);padding-block:.5rem;font-size:.74rem;position:relative}.nav__link:after{content:"";transform-origin:100%;height:1px;transition:transform .6s var(--ease), opacity .6s var(--ease);background:currentColor;position:absolute;bottom:0;left:0;right:0;transform:scaleX(0)}.nav__link:hover{color:var(--ivory)}.nav__link:hover:after{transform-origin:0;transform:scaleX(1)}.nav__link--cta{color:var(--bronze)}.nav__link--cta:after{opacity:.45;transform:scaleX(1)}.nav__link--cta:hover{color:var(--bronze)}.nav__link--cta:hover:after{opacity:1}.nav__toggle{place-items:center;width:44px;height:44px;margin-right:-10px;display:grid}.mobile-menu{z-index:40;padding:calc(var(--nav-h) + 2rem) var(--gutter) 2.5rem;background:var(--obsidian);flex-direction:column;justify-content:space-between;gap:2.5rem;display:flex;position:fixed;inset:0;overflow-y:auto}.mobile-menu li{border-bottom:1px solid var(--border);overflow:hidden}.mobile-menu__link{font-family:var(--font-serif);align-items:baseline;gap:1.25rem;padding-block:.85rem;font-size:clamp(2.1rem,9vw,3.25rem);font-weight:300;line-height:1.1;display:flex}.mobile-menu__link--cta{color:var(--bronze);font-style:italic}.mobile-menu__index{min-width:1.5rem;font-family:var(--font-sans);font-variant-numeric:tabular-nums;letter-spacing:.2em;color:var(--muted);font-size:.7rem;font-style:normal}.mobile-menu__email{letter-spacing:.06em;color:var(--muted);font-size:.85rem}@media (width>=900px){.nav__links{align-items:center;gap:clamp(1.75rem,3vw,2.75rem);display:flex}.nav__toggle,.mobile-menu{display:none}}.footer{border-top:1px solid var(--border);padding-block:2.5rem}.footer__inner{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1.5rem 2.5rem;display:flex}.footer__brand{font-family:var(--font-serif);align-items:center;gap:.9rem;font-size:1.25rem;display:flex}.footer__brand:hover .monogram{border-color:var(--bronze)}.footer__copy{letter-spacing:.04em;color:var(--muted);font-size:.78rem}.footer__end{flex-wrap:wrap;align-items:center;gap:1rem 2rem;display:flex}.footer__social{gap:1.5rem;display:flex}.footer__social a,.footer__top{letter-spacing:.22em;text-transform:uppercase;color:var(--ivory-soft);transition:color .5s var(--ease);font-size:.7rem}.footer__social a:hover,.footer__top:hover{color:var(--bronze)}.footer__top{align-items:center;gap:.6rem;min-height:44px;display:inline-flex}.footer__top svg{transition:transform .6s var(--ease)}.footer__top:hover svg{transform:translateY(-3px)}.hero{min-height:90svh;padding-top:calc(var(--nav-h) + 3rem);align-items:flex-end;padding-bottom:clamp(4.5rem,11vh,8rem);display:flex}.hero__media{inset:0}.hero__media img,.hero__media video{object-position:42% 45%;filter:saturate(.6)contrast(1.06)brightness(.8)}.hero__overlay{background:linear-gradient(0deg, var(--obsidian) 0%, #080909b8 40%, #0809094d 100%), linear-gradient(180deg, #08090999 0%, #08090900 22%)}.hero__content{position:relative}.hero__title{font-family:var(--font-serif);letter-spacing:-.025em;margin-bottom:clamp(1.75rem,3vw,2.5rem);font-size:clamp(3rem,.9rem + 9vw,9.5rem);font-weight:300;line-height:.94}.hero__line{margin-bottom:-.1em;padding-bottom:.1em;display:block;overflow:hidden}.hero__line>span{display:inline-block}.hero__accent{color:var(--bronze);font-style:italic}.hero__text{max-width:30rem;color:var(--ivory-soft);margin-bottom:2.5rem;font-size:clamp(1rem,.94rem + .35vw,1.2rem);line-height:1.7}.hero__actions{flex-wrap:wrap;gap:.9rem;display:flex}.hero__scroll{display:none}@media (width>=640px){.hero__scroll{right:var(--gutter);letter-spacing:.32em;text-transform:uppercase;color:var(--muted);flex-direction:column;align-items:center;gap:1rem;font-size:.62rem;display:flex;position:absolute;bottom:2rem}.hero__scroll>span:first-child{writing-mode:vertical-rl}.hero__scroll-line{background:#eee9e133;width:1px;height:56px;position:relative;overflow:hidden}.hero__scroll-line:after{content:"";background:var(--ivory);animation:hero-scroll 2.8s var(--ease) infinite;position:absolute;inset:0;transform:translateY(-100%)}}@media (width>=900px){.hero__overlay{background:linear-gradient(90deg, #080909e0 0%, #0809098c 45%, #0809091f 100%), linear-gradient(0deg, var(--obsidian) 0%, #08090900 38%), linear-gradient(180deg, #0809098c 0%, #08090900 22%)}}@keyframes hero-scroll{0%{transform:translateY(-100%)}60%,to{transform:translateY(100%)}}@media (prefers-reduced-motion:reduce){.hero__scroll-line:after{opacity:.5;animation:none;transform:none}}.showreel{min-height:clamp(580px,92vh,960px);padding-block:var(--section-y);align-items:center;display:flex}.showreel__media img{object-position:35% center;filter:saturate(.55)contrast(1.08)brightness(.72)}.showreel__overlay{background:linear-gradient(0deg, #080909d9 0%, #0809098c 60%, #08090959 100%), linear-gradient(180deg, var(--obsidian) 0%, #08090900 22%, #08090900 78%, var(--obsidian) 100%)}.showreel__inner{align-items:center;gap:3.5rem;display:grid}.showreel__lead{max-width:26rem;margin-top:2rem}.showreel__play{align-items:center;gap:1.75rem;display:flex}.play-button{aspect-ratio:1;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);width:clamp(92px,11vw,136px);transition:background-color .7s var(--ease), color .7s var(--ease), border-color .7s var(--ease);background:#08090940;border:1px solid #eee9e18c;border-radius:50%;flex-shrink:0;place-items:center;display:grid;position:relative}.play-button svg{margin-left:4px}.play-button:before{content:"";transition:inset .9s var(--ease), border-color .9s var(--ease);border:1px solid #eee9e124;border-radius:50%;position:absolute;inset:-14px}.play-button:hover{background:var(--ivory);border-color:var(--ivory);color:var(--obsidian)}.play-button:hover:before{border-color:#c6a77b80;inset:-24px}.showreel__meta{letter-spacing:.28em;text-transform:uppercase;color:var(--muted);font-size:.7rem}.showreel__meta span{font-family:var(--font-serif);font-variant-numeric:lining-nums;letter-spacing:.04em;color:var(--ivory);margin-top:.4rem;font-size:1.6rem;display:block}@media (width>=900px){.showreel__overlay{background:linear-gradient(270deg, #080909eb 0%, #08090999 45%, #08090933 100%), linear-gradient(180deg, var(--obsidian) 0%, #08090900 22%, #08090900 78%, var(--obsidian) 100%)}.showreel__inner{grid-template-columns:.9fr 1.1fr}.showreel__play{text-align:center;flex-direction:column;order:-1;justify-self:center}}.project-card{display:block}.project-card__media{aspect-ratio:16/11;background:var(--charcoal);position:relative;overflow:hidden}.project-card__media img{object-fit:cover;filter:saturate(.5)contrast(1.06)brightness(.8);width:100%;height:100%;transition:transform 1.6s var(--ease), filter 1.2s var(--ease);transform:scale(1.02)}.project-card__media:after{content:"";pointer-events:none;background:linear-gradient(#08090959 0%,#08090900 30% 60%,#08090999 100%);position:absolute;inset:0}.project-card__index,.project-card__duration{z-index:1;letter-spacing:.22em;color:var(--ivory-soft);font-size:.68rem;position:absolute}.project-card__index{top:1rem;left:1rem}.project-card__duration{bottom:1rem;right:1rem}.project-card__body{justify-content:space-between;align-items:flex-start;gap:1rem;padding-top:1.35rem;display:flex}.project-card__category{letter-spacing:.24em;text-transform:uppercase;color:var(--muted);margin-bottom:.45rem;font-size:.66rem}.project-card__title{font-family:var(--font-serif);transition:color .6s var(--ease);font-size:clamp(1.5rem,1.25rem + .8vw,1.85rem);font-weight:400;line-height:1.15}.project-card__arrow{color:var(--muted);transition:transform .7s var(--ease), color .7s var(--ease);flex-shrink:0;margin-top:.2rem}.project-card:hover .project-card__media img,.project-card:focus-visible .project-card__media img{filter:saturate(.85)contrast(1.04)brightness(.92);transform:scale(1.07)}.project-card:hover .project-card__arrow,.project-card:focus-visible .project-card__arrow{color:var(--bronze);transform:translate(3px,-3px)}@media (width>=640px){.project-card__media{aspect-ratio:4/5}}@media (width>=1100px){.project-card__media{aspect-ratio:3/4}}.work__header{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:1.5rem 4rem;margin-bottom:clamp(3rem,6vw,5rem);display:flex}.work__intro{max-width:22rem}.work__grid{grid-template-columns:1fr;gap:3.25rem 1.5rem;display:grid}@media (width>=640px){.work__grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width>=1100px){.work__grid{grid-template-columns:repeat(4,minmax(0,1fr))}}.philosophy{min-height:clamp(600px,100vh,1000px);padding-block:var(--section-y);align-items:center;display:flex}.philosophy .cinematic__media img{filter:saturate(.45)contrast(1.08)brightness(.62)}.philosophy__overlay{background:linear-gradient(180deg, var(--obsidian) 0%, #08090959 25%, #08090973 70%, var(--obsidian) 100%), radial-gradient(ellipse at 30% 50%, #0809098c 0%, #08090900 70%)}.philosophy__inner{gap:2.75rem;display:grid}.philosophy__quote{max-width:16ch;font-family:var(--font-serif);letter-spacing:-.015em;font-size:clamp(2.3rem,1rem + 5vw,6.25rem);font-weight:300;line-height:1.04}.philosophy__quote em{font-style:italic}.philosophy__text{align-items:flex-start;gap:1.5rem;display:flex}.philosophy__rule{background:var(--bronze);flex-shrink:0;width:2.5rem;height:1px;margin-top:.9rem}.philosophy__text .lead{color:var(--ivory-soft);max-width:26rem}@media (width>=900px){.philosophy__inner{grid-template-columns:repeat(12,minmax(0,1fr))}.philosophy__quote-wrap{grid-column:1/span 10}.philosophy__text{grid-column:7/span 6}}.process__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:3rem 1.25rem;margin-top:clamp(3.5rem,7vw,6rem);display:grid}.process__step{border-top:1px solid var(--border);padding-top:1.75rem;position:relative}.process__step:before{content:"";background:var(--bronze);width:2.5rem;height:1px;position:absolute;top:-1px;left:0}.process__meta{color:var(--muted);justify-content:space-between;align-items:center;margin-bottom:clamp(1.75rem,4vw,3rem);display:flex}.process__number{font-family:var(--font-serif);font-variant-numeric:lining-nums;letter-spacing:.08em;font-size:1.05rem}.process__title{font-family:var(--font-serif);margin-bottom:.75rem;font-size:clamp(1.55rem,1.25rem + 1vw,2.15rem);font-weight:400;line-height:1.1}.process__text{max-width:19rem;color:var(--muted);font-size:.94rem;line-height:1.7}@media (width>=1100px){.process__grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:2.5rem}}.about{border-top:1px solid var(--border)}.about__grid{align-items:center;gap:clamp(3rem,6vw,7rem);display:grid}.about__portrait{aspect-ratio:4/5;background:var(--charcoal);width:100%;max-width:540px;position:relative;overflow:hidden}.about__portrait img{object-fit:cover;filter:grayscale()contrast(1.08)brightness(.88);width:100%;height:100%}.about__portrait:after{content:"";pointer-events:none;border:1px solid #eee9e114;position:absolute;inset:0}.about__body{max-width:34rem;margin-top:2.25rem}.about__intro{color:var(--ivory-soft);margin-bottom:1.25rem;font-size:clamp(1.05rem,.98rem + .35vw,1.25rem);line-height:1.7}.about__tools{border-top:1px solid var(--border);margin-top:3rem;padding-top:2rem}.about__tools .eyebrow{margin-bottom:1.25rem}.about__tool-list{flex-wrap:wrap;gap:.9rem 1.75rem;display:flex}.about__tool{color:var(--ivory-soft);align-items:center;gap:.65rem;font-size:.88rem;display:flex}.about__tool-abbr{border:1px solid var(--border);letter-spacing:.04em;width:32px;height:32px;color:var(--bronze);place-items:center;font-size:.7rem;display:grid}@media (width>=900px){.about__grid{grid-template-columns:minmax(0,5fr) minmax(0,6fr)}}.contact{min-height:clamp(620px,100vh,1000px);padding-block:var(--section-y);text-align:center;align-items:center;display:flex}.contact .cinematic__media img{object-position:center 60%;filter:saturate(.75)contrast(1.05)brightness(.85)}.contact__overlay{background:linear-gradient(180deg, var(--obsidian) 0%, #08090940 30%, #08090973 70%, var(--obsidian) 100%), radial-gradient(ellipse at center, #08090973 0%, #08090900 65%)}.contact__inner{flex-direction:column;align-items:center;display:flex}.contact__text{color:var(--ivory-soft);margin:2rem auto 3rem}.contact__actions{flex-direction:column;align-items:center;gap:1.75rem;display:flex}.contact__email{letter-spacing:.08em;color:var(--muted);transition:color .6s var(--ease), border-color .6s var(--ease);border-bottom:1px solid #0000;padding-bottom:2px;font-size:.85rem}.contact__email:hover{color:var(--ivory);border-color:var(--bronze)}.video-player{aspect-ratio:16/9;background:#000;width:100%;position:relative;overflow:hidden}.video-player iframe,.video-player video{border:0;width:100%;height:100%;position:absolute;inset:0}.video-modal{z-index:100;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#050606f2;place-items:center;padding:clamp(4.5rem,6vw,5rem) clamp(1rem,4vw,3rem);display:grid;position:fixed;inset:0}.video-modal__frame{width:min(1280px,100%,177.778svh - 19.5556rem)}.video-modal__caption{letter-spacing:.26em;text-transform:uppercase;color:var(--muted);justify-content:space-between;gap:1rem;margin-top:1rem;font-size:.7rem;display:flex}.video-modal__close{width:48px;height:48px;transition:border-color .6s var(--ease), transform .6s var(--ease);border:1px solid #eee9e14d;border-radius:50%;place-items:center;display:grid;position:absolute;top:1rem;right:1rem}.video-modal__close:hover{border-color:var(--ivory);transform:rotate(90deg)}.not-found{min-height:85svh;padding:calc(var(--nav-h) + 3rem) 0 4rem;align-items:center;display:flex}.not-found__text{margin:2rem 0 3rem}.project-hero{min-height:80svh;padding:calc(var(--nav-h) + 3rem) 0 clamp(3rem, 7vw, 5.5rem);align-items:flex-end;display:flex}.project-hero__media{inset:0}.project-hero__media img{filter:saturate(.55)contrast(1.06)brightness(.7)}.project-hero__overlay{background:linear-gradient(0deg, var(--obsidian) 0%, #0809098c 45%, #08090959 100%), linear-gradient(180deg, #08090999 0%, #08090900 25%)}.project-hero__back{letter-spacing:.24em;text-transform:uppercase;width:fit-content;min-height:44px;color:var(--ivory-soft);transition:color .5s var(--ease);align-items:center;gap:.6rem;margin-bottom:2rem;font-size:.7rem;display:flex}.project-hero__back svg{transition:transform .6s var(--ease)}.project-hero__back:hover{color:var(--ivory)}.project-hero__back:hover svg{transform:translate(-3px)}.project-hero__title{max-width:14ch}.project-hero__meta{flex-wrap:wrap;gap:1.25rem 3.5rem;margin:2.5rem 0 0;display:flex}.project-hero__meta dt{letter-spacing:.26em;text-transform:uppercase;color:var(--muted);margin-bottom:.35rem;font-size:.66rem}.project-hero__meta dd{font-family:var(--font-serif);font-variant-numeric:lining-nums;font-size:1.35rem}.project-film{padding-bottom:0}.project-film__pending{aspect-ratio:16/9;background:var(--charcoal);place-items:center;display:grid;position:relative;overflow:hidden}.project-film__pending img{object-fit:cover;filter:grayscale(.7)brightness(.32)blur(2px);width:100%;height:100%;position:absolute;inset:0;transform:scale(1.04)}.project-film__pending p{border:1px solid var(--line);letter-spacing:.28em;text-transform:uppercase;color:var(--ivory-soft);padding:.85rem 1.5rem;font-size:.7rem;position:relative}.project-film__note{color:var(--muted);margin-top:1rem;font-size:.8rem}.project-details__summary{max-width:30ch;font-family:var(--font-serif);margin-bottom:clamp(3rem,7vw,6rem);font-size:clamp(1.75rem,1.2rem + 2vw,3rem);font-weight:300;line-height:1.25}.project-details__row{border-top:1px solid var(--border);gap:1.25rem;padding-block:clamp(2rem,4vw,3rem);display:grid}.project-details__label{letter-spacing:.26em;text-transform:uppercase;color:var(--ivory-soft);gap:1.25rem;font-size:.72rem;font-weight:500;display:flex}.project-details__label span{color:var(--bronze)}.project-details__text,.project-details__list{max-width:40rem;color:var(--muted);font-size:clamp(1rem,.95rem + .3vw,1.15rem);line-height:1.75}.project-details__list li{padding-left:1.75rem;position:relative}.project-details__list li+li{margin-top:.75rem}.project-details__list li:before{content:"";background:var(--bronze);width:.9rem;height:1px;position:absolute;top:.85em;left:0}.project-related{border-top:1px solid var(--border)}.project-related__grid{grid-template-columns:1fr;gap:3.25rem 1.5rem;margin-top:clamp(3rem,6vw,5rem);display:grid}@media (width>=640px){.project-related__grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width>=900px){.project-details__row{grid-template-columns:minmax(0,4fr) minmax(0,8fr)}}@media (width>=1100px){.project-related__grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
