@font-face{font-family:Anton;src:url(../fonts/Anton-400-latin.woff2) format('woff2');font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:Inter;src:url(../fonts/Inter-400-latin.woff2) format('woff2');font-style:normal;font-weight:300 500;font-display:swap}
@font-face{font-family:'JetBrains Mono';src:url(../fonts/JetBrainsMono-400-latin.woff2) format('woff2');font-style:normal;font-weight:400;font-display:swap}
:root{--ink:#0a0a0a;--paper:#f0efeb;--red:#c41e1e;--red-on-dark:#ed504b;--line:#292929;--muted:#aaa9a4;--gutter:clamp(1.25rem,5.5vw,6rem);--display:Anton,Impact,'Arial Narrow',sans-serif;--body:Inter,Arial,sans-serif;--mono:'JetBrains Mono',Consolas,monospace}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:6rem}
body{margin:0;background:var(--ink);color:var(--paper);font-family:var(--body);font-size:1rem;line-height:1.5;-webkit-font-smoothing:antialiased}
img{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
a:focus-visible,summary:focus-visible{outline:2px solid var(--red-on-dark);outline-offset:5px}
button{font:inherit}
.shell{width:100%;max-width:1700px;margin-inline:auto;padding-inline:var(--gutter)}
.skip-link{position:fixed;z-index:100;top:-100px;left:1rem;background:var(--paper);color:var(--ink);padding:.7rem 1rem}
.skip-link:focus{top:1rem}
.site-header{position:absolute;z-index:20;inset:0 0 auto;border-bottom:1px solid rgba(240,239,235,.18)}
.header-inner{height:88px;display:flex;align-items:center;gap:clamp(1.5rem,5vw,5rem)}
.brand{display:flex;align-items:center;gap:1rem;line-height:.9;flex-shrink:0}
.brand-name{font-family:var(--display);font-size:1.43rem;letter-spacing:.015em}
.brand-period{color:var(--red-on-dark)}
.brand-caption{border-left:1px solid rgba(240,239,235,.4);padding-left:1rem;font-family:var(--mono);font-size:.53rem;line-height:1.45;letter-spacing:.09em;color:#b3b2af}
.header-nav{display:flex;gap:clamp(1.25rem,2.6vw,3rem);margin-left:auto}
.header-nav a,.header-cta{font-family:var(--mono);font-size:.7rem;letter-spacing:.08em;text-transform:uppercase;white-space:nowrap}
.header-nav a{color:#c7c6c3;transition:color .2s}
.header-nav a:hover{color:#fff}
.header-cta{padding:.75rem 1rem;border:1px solid rgba(240,239,235,.48);transition:background .2s,color .2s,border-color .2s}
.header-cta:hover{background:var(--paper);color:var(--ink);border-color:var(--paper)}
.header-cta span,.button span{padding-left:1.4rem;font-size:1rem}
.hero{position:relative;isolation:isolate;min-height:min(860px,100svh);min-height:max(750px,100svh);overflow:hidden;background:#080808}
.hero::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(7,7,7,.98) 0%,rgba(7,7,7,.96) 32%,rgba(7,7,7,.56) 60%,rgba(7,7,7,.15) 100%),linear-gradient(0deg,rgba(7,7,7,.8),transparent 28%);pointer-events:none}
.hero-portrait{position:absolute;z-index:-2;inset:0 0 0 34%;overflow:hidden}
.hero-portrait img{width:100%;height:100%;object-fit:cover;object-position:55% center;filter:contrast(1.06)}
.hero-grid{min-height:inherit;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;padding-top:104px;padding-bottom:94px}
.hero-copy{position:relative;z-index:1;max-width:900px;padding-top:1.3rem}
.eyebrow,.section-kicker,.hero-foot,.hero-side,.experience-group>p,.work-category,.option-num,.scope-note,.contact-email,.site-footer,.play-chip{font-family:var(--mono);font-size:.68rem;letter-spacing:.12em;text-transform:uppercase}
.eyebrow{display:flex;align-items:center;gap:.7rem;color:#b5b4b1;margin:0 0 2rem;white-space:nowrap}
.eyebrow-mark{display:inline-block;width:1.6rem;height:2px;background:var(--red)}
.eyebrow-city{color:var(--red-on-dark)}
h1,h2,h3,p{margin-top:0}
h1,h2{font-family:var(--display);font-weight:400;line-height:.94;letter-spacing:.005em}
h1{font-size:clamp(6.7rem,10.4vw,10rem);margin-bottom:2rem}
h1 em,h2 em{font-style:normal;color:var(--red-on-dark)}
.hero-lede{max-width:580px;font-size:clamp(1.1rem,1.55vw,1.45rem);line-height:1.45;color:#dbdad6;margin-bottom:2.2rem}
.hero-actions{display:flex;align-items:center;gap:2.4rem;flex-wrap:wrap}
.button{display:inline-flex;justify-content:space-between;align-items:center;min-height:56px;padding:1rem 1.25rem;font-family:var(--mono);font-size:.7rem;font-weight:400;letter-spacing:.09em;text-transform:uppercase;transition:background .2s,transform .2s}
.button:hover{transform:translateY(-2px)}
.button-primary{background:var(--red);color:#fff}
.button-primary:hover{background:#a91818}
.button-primary:focus-visible{outline-color:#fff}
.text-link{display:inline-flex;align-items:center;gap:1.5rem;min-height:44px;border-bottom:1px solid currentColor;font-family:var(--mono);font-size:.7rem;letter-spacing:.08em;text-transform:uppercase;transition:color .2s}
.text-link:hover{color:var(--red-on-dark)}
.text-link span{font-size:1rem}
.hero-side{height:100%;display:flex;align-items:center;justify-content:flex-end;gap:1.3rem;writing-mode:vertical-rl;color:#b2b0ab}
.hero-side-line{display:block;width:1px;height:105px;background:var(--red)}
.hero-foot{position:absolute;bottom:0;left:0;right:0;display:flex;justify-content:space-between;align-items:center;padding-bottom:1.4rem;color:#a8a7a3}
.hero-foot span:last-child span{color:var(--red-on-dark);font-size:.9rem}
.experience-band{border-block:1px solid var(--line);background:#101010}
.experience-grid{display:grid;grid-template-columns:1fr 1fr 1.2fr;gap:clamp(1.5rem,3.5vw,4rem);min-height:183px;align-items:center}
.experience-intro,.experience-group{height:100%;padding-block:2rem}
.experience-intro{padding-right:2rem;border-right:1px solid var(--line)}
.section-kicker{color:var(--red-on-dark);margin-bottom:1.5rem}
.experience-intro .section-kicker{margin-bottom:.5rem}
.experience-intro>p:last-child{font-size:1.05rem;max-width:17rem;line-height:1.35;margin:0}
.experience-group>p{color:#9d9d9a;margin-bottom:1rem}
.experience-marks{display:flex;align-items:center;gap:1.1rem;flex-wrap:wrap}
.experience-marks img{width:clamp(82px,8.8vw,135px);height:46px;object-fit:contain;filter:brightness(0) invert(.92)}
.section-light{background:var(--paper);color:var(--ink)}
.section-light .section-kicker{color:#a01818}
.statement{padding-block:clamp(5rem,9vw,10rem)}
.statement-grid{display:grid;grid-template-columns:23% 1fr;gap:2rem}
.statement-aside{display:flex;flex-direction:column;justify-content:space-between}
.red-rule{display:block;width:1px;height:72px;background:var(--red)}
.statement h2{font-size:clamp(3.4rem,6.25vw,7.5rem);margin-bottom:clamp(2.5rem,5vw,5.5rem)}
.statement h2 em,.service-head h2 em{color:#a81919}
.statement-bottom{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,7vw,8rem);border-top:1px solid #c6c4be;padding-top:1.5rem}
.statement-bottom p{font-size:clamp(1.05rem,1.4vw,1.3rem);line-height:1.48;max-width:24rem;margin:0}
.statement-bottom p+ p{color:#4f4d49}
.work-section{padding-block:clamp(5rem,8vw,9rem)}
.section-heading{display:flex;justify-content:space-between;align-items:end;gap:3rem;margin-bottom:3rem}
.section-heading h2,.service-head h2,.process-head h2,.about-copy h2,.faq-section h2,.closing-section h2{font-size:clamp(4.4rem,7.5vw,9rem);margin:0}
.section-heading>p{max-width:24rem;color:#c8c6c1;line-height:1.5;margin:0 0 .5rem}
.work-grid{display:grid;grid-template-columns:1fr 1fr;gap:3rem 1.25rem}
.work-card-featured{grid-column:1/-1}
.film-link{position:relative;display:block;overflow:hidden;background:#171717;aspect-ratio:16/9}
.film-link img{width:100%;height:100%;object-fit:cover;transition:transform .5s cubic-bezier(.16,1,.3,1),filter .4s;filter:brightness(.82)}
.film-link:hover img,.film-link:focus-visible img{transform:scale(1.03);filter:brightness(1)}
.film-link::after{content:"";position:absolute;inset:40% 0 0;background:linear-gradient(transparent,rgba(0,0,0,.45));pointer-events:none}
.play-chip{position:absolute;z-index:1;bottom:1.5rem;left:1.5rem;display:inline-flex;align-items:center;gap:1.2rem;padding:.7rem .9rem;color:#fff;background:rgba(10,10,10,.82);border:1px solid rgba(255,255,255,.6)}
.play-chip span{font-size:1rem}
.work-info{display:flex;justify-content:space-between;gap:2rem;padding-top:1.2rem;border-top:2px solid var(--red);margin-top:1rem}
.work-category{color:var(--red-on-dark);margin-bottom:.35rem}
.work-info h3{font-family:var(--display);font-weight:400;font-size:clamp(1.75rem,2.3vw,2.7rem);line-height:1.05;margin:0}
.work-info>p{max-width:19rem;color:#bab8b3;font-size:.85rem;line-height:1.5;margin:0}
.work-card:not(.work-card-featured) .work-info{display:block}
.work-card:not(.work-card-featured) .work-info>p{margin-top:.8rem}
.work-footer{display:flex;align-items:center;justify-content:space-between;gap:2rem;margin-top:4rem;padding-top:1.5rem;border-top:1px solid var(--line)}
.work-footer p{color:#aaa9a4;font-size:.8rem;max-width:37rem;margin:0}
.service-section{padding-block:clamp(5rem,9vw,10rem)}
.service-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(3rem,7vw,8rem)}
.service-head h2{font-size:clamp(4rem,6vw,7rem);margin-bottom:2rem}
.service-head>p:last-child{max-width:30rem;font-size:1.12rem;line-height:1.45}
.service-options{padding-top:2rem}
.service-option{display:grid;grid-template-columns:3rem 1fr;gap:1rem;padding-block:2rem;border-top:1px solid #bfbcb6}
.service-option:last-of-type{border-bottom:1px solid #bfbcb6}
.option-num{color:#a01818;margin-top:.25rem}
.service-option h3{font-family:var(--display);font-size:clamp(2rem,2.7vw,3rem);font-weight:400;line-height:1.1;margin-bottom:.8rem}
.service-option p{font-size:.98rem;max-width:30rem;color:#4c4a46;line-height:1.5;margin:0}
.scope-note{color:#575550;line-height:1.5;margin:1.5rem 0 0;font-size:.62rem;letter-spacing:.04em;text-transform:none}
.process-section{padding-block:clamp(5rem,8vw,9rem)}
.process-head{display:flex;justify-content:space-between;align-items:start;gap:2rem;margin-bottom:3rem}
.process-head h2{font-size:clamp(4rem,6.6vw,8rem)}
.process-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid #4b4b4b}
.process-list li{display:flex;flex-direction:column;gap:3rem;min-height:265px;padding:1.4rem 1.5rem 1.4rem 0;border-right:1px solid #4b4b4b}
.process-list li+li{padding-left:1.5rem}
.process-list li:last-child{border-right:0}
.process-list li>span{font-family:var(--display);font-size:3.2rem;line-height:1;color:var(--red-on-dark)}
.process-list h3{font-size:1.18rem;font-weight:600;line-height:1.2;margin-bottom:.7rem}
.process-list p{color:#bab8b3;font-size:.9rem;line-height:1.5;margin:0}
.about-section{border-top:1px solid var(--line);background:#121212}
.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(3rem,7vw,8rem);align-items:center;padding-block:clamp(5rem,8vw,8rem)}
.about-image{height:clamp(380px,45vw,690px);overflow:hidden;background:#060606}
.about-image img{width:100%;height:100%;object-fit:cover;object-position:58% center}
.about-copy h2{font-size:clamp(4.2rem,6vw,7rem);margin-bottom:2rem}
.about-copy p:not(.section-kicker){font-size:1.08rem;line-height:1.55;max-width:32rem;color:#d1cfca}
.about-copy .text-link{margin-top:1.5rem}
.faq-section{padding-block:clamp(5rem,8vw,9rem)}
.faq-grid{display:grid;grid-template-columns:42% 1fr;gap:clamp(3rem,7vw,8rem)}
.faq-list{border-top:1px solid #bfbcb6}
.faq-list details{border-bottom:1px solid #bfbcb6}
.faq-list summary{display:flex;justify-content:space-between;align-items:center;gap:1.5rem;cursor:pointer;list-style:none;padding:1.4rem 0;font-weight:600;font-size:1.05rem}
.faq-list summary::-webkit-details-marker{display:none}
.faq-list summary span{font-family:var(--mono);font-weight:400;font-size:1.3rem;color:#a01818}
.faq-list details[open] summary span{transform:rotate(45deg)}
.faq-list details p{max-width:35rem;padding:0 2rem 1.5rem 0;color:#514e49;line-height:1.5;margin:0}
.closing-section{padding-block:clamp(5rem,9vw,10rem);border-top:5px solid var(--red)}
.closing-grid{display:grid;grid-template-columns:1.45fr .55fr;align-items:end;gap:clamp(3rem,7vw,8rem)}
.closing-section h2{font-size:clamp(4.5rem,7.7vw,9.5rem)}
.closing-action{padding-bottom:.5rem}
.closing-action p{font-size:1.13rem;line-height:1.5;color:#d1cfca;margin-bottom:1.8rem}
.contact-email{display:block;width:max-content;max-width:100%;margin-top:1.2rem;border-bottom:1px solid #aaa9a4;padding-bottom:.25rem;color:#c8c6c1;font-size:.61rem;letter-spacing:.04em;text-transform:none;overflow-wrap:anywhere}
.contact-email:hover{color:#fff}
.site-footer{border-top:1px solid var(--line);color:#aaa9a4;font-size:.61rem}
.footer-inner{display:flex;justify-content:space-between;align-items:center;gap:2rem;min-height:80px}
.site-footer a:hover{color:#fff}
@media(max-width:1100px){.header-nav{display:none}.header-cta{margin-left:auto}.hero{min-height:760px}.hero-portrait{left:28%}h1{font-size:clamp(6rem,13vw,9rem)}.experience-grid{grid-template-columns:.8fr 1fr 1.2fr}.experience-marks img{width:88px}.service-grid{gap:3rem}.closing-grid{grid-template-columns:1.2fr .8fr}}
@media(max-width:760px){html{scroll-padding-top:1rem}.header-inner{height:72px}.brand-name{font-size:1.15rem}.brand-caption{display:none}.header-cta{font-size:.58rem;padding:.6rem .7rem}.header-cta span{padding-left:.55rem}.hero{min-height:740px;min-height:100svh}.hero-portrait{inset:70px 0 0 0}.hero-portrait img{object-position:49% center}.hero::after{background:linear-gradient(0deg,rgba(7,7,7,.99) 0%,rgba(7,7,7,.87) 31%,rgba(7,7,7,.32) 74%,rgba(7,7,7,.1) 100%)}.hero-grid{display:block;padding-top:clamp(245px,36vh,390px);padding-bottom:7rem}.hero-copy{padding:0}.eyebrow{font-size:.55rem;white-space:normal;line-height:1.4;margin-bottom:1.1rem}h1{font-size:clamp(4.6rem,16vw,8rem);margin-bottom:1rem}.hero-lede{font-size:1rem;max-width:34rem;margin-bottom:1.35rem}.hero-actions{gap:.8rem 1.3rem}.hero-actions .button{min-height:52px}.hero-side{display:none}.hero-foot{font-size:.55rem}.experience-grid{display:block;padding-block:2rem}.experience-intro,.experience-group{height:auto;padding:0;border:0}.experience-intro{margin-bottom:2rem}.experience-intro>p:last-child{max-width:none}.experience-group+.experience-group{margin-top:1.8rem}.experience-marks img{width:clamp(90px,21vw,125px);height:45px}.statement-grid,.service-grid,.about-grid,.faq-grid,.closing-grid{display:block}.statement-aside{margin-bottom:2rem}.red-rule{display:none}.statement h2{font-size:clamp(3.15rem,9vw,5.8rem)}.statement-bottom{grid-template-columns:1fr;gap:1.4rem}.section-heading{display:block}.section-heading>p{margin-top:1.5rem}.work-grid{display:block}.work-card+.work-card{margin-top:3rem}.work-info{display:block}.work-info>p{margin-top:.8rem}.work-footer{display:block}.work-footer .text-link{margin-top:1.5rem}.service-options{padding-top:2rem}.process-head{display:block}.process-list{grid-template-columns:1fr 1fr}.process-list li{min-height:220px;border-bottom:1px solid #4b4b4b;padding:1.3rem 1rem 1.3rem 0;gap:1.8rem}.process-list li+li{padding-left:1rem}.process-list li:nth-child(2){border-right:0}.process-list li:nth-child(3),.process-list li:nth-child(4){border-bottom:0}.about-image{height:430px;margin-bottom:3rem}.about-copy h2{font-size:clamp(4rem,10vw,6rem)}.faq-list{margin-top:2rem}.closing-action{margin-top:2rem}.footer-inner{flex-wrap:wrap;justify-content:space-between;padding-block:1.5rem;min-height:0}}
@media(max-width:480px){.hero{min-height:840px;min-height:100svh}.hero-grid{padding-top:clamp(265px,38vh,370px)}h1{font-size:clamp(3.4rem,17vw,5.6rem);line-height:.94}.hero-lede{font-size:.94rem}.hero-actions{display:block}.hero-actions .button{width:100%;max-width:340px}.hero-actions .text-link{margin-top:.6rem}.hero-foot{padding-bottom:1rem}.hero-foot span:first-child{display:none}.experience-marks img{width:93px}.statement h2{font-size:clamp(2.85rem,11.5vw,4.2rem)}.section-heading h2,.service-head h2,.process-head h2,.faq-section h2,.closing-section h2{font-size:clamp(3.8rem,14vw,5.6rem)}.work-info h3{font-size:1.85rem}.play-chip{left:.8rem;bottom:.8rem;font-size:.6rem}.process-list{display:block}.process-list li,.process-list li+li{display:grid;grid-template-columns:3rem 1fr;gap:1rem;min-height:0;padding:1.4rem 0;border-right:0;border-bottom:1px solid #4b4b4b}.process-list li:nth-child(3){border-bottom:1px solid #4b4b4b}.process-list li>span{font-size:2.4rem}.about-image{height:350px}.about-copy h2{font-size:clamp(3.8rem,13vw,5rem)}.faq-list summary{font-size:.95rem}.footer-inner{display:block}.footer-inner>*{display:block;margin:.5rem 0}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition-duration:.01ms!important;animation-duration:.01ms!important}}

/* V2: centered editorial hero, full brand wall and a distinct director portrait. */
.hero{min-height:820px;min-height:max(780px,100svh)}
.hero-grid{display:flex;justify-content:center;text-align:center;padding-block:170px 130px}
.hero-copy{width:100%;max-width:1000px;padding:0}
.hero h1{font-size:clamp(5rem,8.7vw,9rem);line-height:1.02;margin-bottom:1.6rem}
.hero .eyebrow{justify-content:center;margin-bottom:2rem}
.hero-lede{font-size:clamp(1rem,1.35vw,1.3rem);max-width:610px;margin:0 auto 2rem}
.hero-actions{justify-content:center;gap:1.8rem}
.hero-portrait{inset:100px -38% 0 54%;opacity:.85}
.hero-portrait img{object-position:50% center}
.hero::after{background:linear-gradient(90deg,#080808 0%,rgba(8,8,8,.94) 42%,rgba(8,8,8,.15) 80%),linear-gradient(0deg,#080808,transparent 25%)}
.experience-band{padding-block:3.5rem 4rem}
.experience-heading{display:flex;justify-content:space-between;gap:3rem;align-items:center;margin-bottom:2.5rem}
.experience-heading h2{font-size:2.6rem;margin:0;flex-shrink:0}
.experience-heading p{max-width:540px;font-size:.9rem;line-height:1.55;color:var(--muted);margin:0}
.brand-wall{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));list-style:none;padding:0;margin:0;border-left:1px solid var(--line);border-top:1px solid var(--line)}
.brand-wall li{height:115px;display:flex;align-items:center;justify-content:center;padding:1.7rem;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}
.brand-wall img{max-width:120px;max-height:44px;width:auto;height:auto;object-fit:contain;filter:brightness(0) invert(.9)}
.statement{padding-block:6rem}
.statement-grid{grid-template-columns:18% 1fr}
.statement h2{font-size:clamp(3.4rem,5.5vw,6rem);margin-bottom:2.8rem}
.work-section{padding-block:6rem}
.work-card-featured .film-link{aspect-ratio:2/1}
.service-option{grid-template-columns:1fr}
.service-section{padding-block:6rem}
.process-section{padding-block:4.5rem}
.process-head{align-items:center}
.process-head h2{font-size:clamp(3rem,4.4vw,5rem)}
.process-list li{min-height:220px;gap:2rem}
.about-grid{grid-template-columns:1fr 1.05fr;padding-block:6rem;gap:6vw}
.about-image{height:auto;aspect-ratio:1/1}
.about-image img{object-position:center}
.about-copy h2{font-size:clamp(3rem,4.5vw,5.2rem);line-height:1.04}
.about-copy p:not(.section-kicker){font-size:1rem}
.faq-section{padding-block:5rem}
.closing-grid{grid-template-columns:1fr 1fr}
.closing-section{padding-block:6rem}
@media(max-width:1100px){.hero-portrait{inset:100px -52% 0 54%}.hero h1{font-size:9vw}.hero-copy{max-width:760px}.brand-wall li{padding:1rem;height:95px}.brand-wall img{max-width:100%;max-height:38px}.about-copy h2{font-size:3.3rem}}
@media(max-width:760px){.hero{min-height:860px}.hero-grid{padding-top:390px;padding-bottom:90px}.hero-portrait{inset:60px -30% 42% 0;opacity:1}.hero-portrait img{object-position:50% 30%}.hero::after{background:linear-gradient(0deg,#080808 8%,rgba(8,8,8,.97) 44%,transparent 72%)}.hero h1{font-size:clamp(3.2rem,10.8vw,5rem)}.hero .eyebrow{font-size:.5rem;gap:.4rem;margin-bottom:1.3rem}.hero-lede{font-size:1rem}.hero-lede br{display:none}.hero-actions{display:flex;flex-direction:column;gap:.65rem}.hero-actions .button{width:auto;max-width:100%}.hero-actions .text-link{margin:0}.experience-band{padding-block:2.6rem}.experience-heading{display:block;margin-bottom:1.5rem}.experience-heading h2{font-size:2.3rem;margin-bottom:.8rem}.experience-heading p{font-size:.8rem}.brand-wall{grid-template-columns:repeat(4,minmax(0,1fr))}.brand-wall li{height:92px;padding:1rem}.brand-wall li:nth-last-child(-n+2){grid-column:span 2}.brand-wall img{max-width:95%;max-height:36px}.statement-grid,.about-grid,.closing-grid{display:block}.statement,.work-section,.service-section{padding-block:4rem}.work-card-featured .film-link{aspect-ratio:16/9}.about-grid{padding-block:4rem}.about-image{height:auto;margin-bottom:2.5rem}.about-copy h2{font-size:clamp(2.9rem,8.4vw,4.6rem)}.process-head h2{font-size:clamp(2.6rem,8.5vw,4rem)}.process-list li{min-height:0}.closing-section{padding-block:4rem}.hero-foot{font-size:.5rem}}
@media(max-width:480px){.hero{min-height:820px}.hero-grid{padding-top:360px;padding-bottom:75px}.hero h1{font-size:10.8vw}.hero .eyebrow-mark{display:none}.hero .eyebrow-city{display:none}.hero .eyebrow{font-size:.54rem;letter-spacing:.07em}.hero-portrait{inset:55px -52% 43% -10%}.brand-wall{grid-template-columns:repeat(2,minmax(0,1fr))}.brand-wall li:nth-last-child(-n+2){grid-column:auto}.brand-wall li{height:95px;padding:1.3rem}.brand-wall img{max-width:110px;max-height:42px}.hero-lede{font-size:.95rem;max-width:330px}}

/* V3 reference typography, navigation, project snapshots and full-page themes. */
@font-face{font-family:Syne;src:url(../fonts/Syne-800.ttf) format('truetype');font-weight:800;font-style:normal;font-display:swap}
:root{--surface:#101010;--text:var(--paper);--subtle:#bbb9b4;--nav-bg:rgba(8,8,8,.88);--ease-out:cubic-bezier(.23,1,.32,1)}
[hidden]{display:none!important}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.site-header{inset:25px 4% auto;border:0;z-index:20}
.header-inner{max-width:1500px;height:76px;border:1px solid #ffffff20;border-radius:60px;background:var(--nav-bg);backdrop-filter:blur(16px);padding:12px 20px;gap:24px}
.brand{gap:12px}.brand-avatar{width:44px;height:44px;border-radius:50%;object-fit:cover;border:2px solid #ffffff25;transition:border-color .2s ease}.brand-name{font-size:1.2rem}
.header-nav{gap:30px;margin-inline:auto}.header-nav a{position:relative;font-family:var(--body);font-size:.8rem;letter-spacing:.02em;padding-block:12px}.header-nav a::after{content:"";position:absolute;left:0;right:0;bottom:5px;height:2px;background:var(--red-on-dark);transform:scaleX(0);transform-origin:left;transition:transform .2s var(--ease-out)}
.header-cta{border:0;background:var(--red);color:white;border-radius:40px;padding:14px 24px;font-family:var(--body);font-weight:500;letter-spacing:0;transition:transform .2s var(--ease-out),background .2s ease,color .2s ease,box-shadow .2s ease}.header-cta span{display:none}
.theme-toggle{width:44px;height:44px;flex-shrink:0;padding:12px;border:0;border-radius:50%;background:#ffffff12;color:var(--text);cursor:pointer;transition:transform .2s var(--ease-out),background .2s ease}.theme-toggle svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.moon-icon{display:none}
button:focus-visible{outline:2px solid var(--red-on-dark);outline-offset:5px}
.hero{min-height:900px;min-height:max(850px,100svh)}
.hero-grid{padding-top:205px;padding-bottom:150px;position:relative;z-index:3;pointer-events:none}
.hero-copy{max-width:1000px}.hero-copy a,.hero-copy button{pointer-events:auto}
.hero h1{font-family:Syne,Arial,sans-serif;font-weight:800;font-size:clamp(3rem,5.7vw,6rem);letter-spacing:-.045em;line-height:1.05;margin-bottom:26px}
.hero-fixed{display:block;background:linear-gradient(#fff 25%,#fff 50%,#8f8f8f);background-clip:text;-webkit-background-clip:text;color:transparent}
.typing-line{display:block;min-height:1.2em;white-space:nowrap;margin-top:8px;position:relative}.typing-line em{color:var(--red-on-dark)}
.typing-caret{display:inline-block;width:3px;height:.75em;background:var(--red-on-dark);margin-left:8px;vertical-align:baseline;animation:caret-blink 1s step-end infinite}
@keyframes caret-blink{50%{opacity:0}}
.hero-lede{max-width:590px;font-size:1.05rem;line-height:1.65;margin-bottom:14px}
.hero .eyebrow{font-size:.6rem;letter-spacing:.1em;margin-bottom:28px}
.motion-toggle span{margin-left:5px}
.hero-actions{gap:26px}.button-primary{border-radius:40px}.hero-actions .button{padding-inline:24px}
.hero-portrait{inset:135px -34% 0 50%;opacity:.87;z-index:1;pointer-events:none;mask-image:linear-gradient(90deg,transparent 0%,#000 35%),linear-gradient(0deg,transparent,#000 25%);mask-composite:intersect}
.hero::after{z-index:2;background:linear-gradient(90deg,#080808 0%,rgba(8,8,8,.97) 41%,rgba(8,8,8,.2) 83%),linear-gradient(0deg,#080808,transparent 25%);pointer-events:none}
.hero-foot{z-index:4;pointer-events:none}
.project-snapshot{position:absolute;z-index:3;width:190px;padding:10px 10px 12px;background:#171717;border:1px solid #ffffff20;border-radius:13px;box-shadow:0 18px 50px #0005;transform:rotate(-8deg);transition:transform .25s var(--ease-out),box-shadow .25s ease;isolation:isolate}
.project-snapshot img{height:145px;width:100%;object-fit:cover;border-radius:6px}.project-snapshot span{display:flex;align-items:center;justify-content:space-between;font-family:var(--mono);font-size:.55rem;letter-spacing:.025em;line-height:1.4;padding-top:10px;gap:8px}.project-snapshot i{font-style:normal;color:var(--red-on-dark)}
.snapshot-left{left:3.8%;top:33%}.snapshot-right{right:7%;top:17%;z-index:0;transform:rotate(9deg);background:#e9e7e2;color:#151515}.snapshot-right img{filter:grayscale(1)}
.pointer-orb{position:fixed;z-index:100;top:0;left:0;pointer-events:none;mix-blend-mode:difference;opacity:0;display:none}.pointer-orb span{display:block;width:32px;height:32px;border-radius:50%;background:#fff;transition:transform .2s var(--ease-out)}.pointer-orb.over-link span{transform:scale(2.5)}
@media(hover:hover) and (pointer:fine){.brand:hover .brand-avatar{border-color:var(--red-on-dark)}.header-nav a:hover{color:var(--red-on-dark)}.header-nav a:hover::after{transform:scaleX(1)}.header-cta:hover,.button-primary:hover{background:var(--paper);color:var(--ink);transform:translateY(-2px);box-shadow:0 5px 20px #c41e1e40}.theme-toggle:hover{background:var(--red);color:#fff;transform:scale(1.1)}.project-snapshot:hover{transform:rotate(0) translateY(-5px) scale(1.06);box-shadow:0 20px 55px #0008}.pointer-orb{display:block}html.custom-pointer,html.custom-pointer a,html.custom-pointer button,html.custom-pointer summary{cursor:none}}
html[data-theme=light]{color-scheme:light;--text:#161616;--muted:#575550;--subtle:#575550;--surface:#eeede9;--line:#d4d1ca;--nav-bg:rgba(255,255,255,.9);--red-on-dark:#b51c1c}
html[data-theme=light] body{background:#f7f6f2;color:var(--text)}
html[data-theme=light] .header-inner{border-color:#0002}html[data-theme=light] .header-nav a{color:#555}html[data-theme=light] .theme-toggle{background:#0001}html[data-theme=light] .sun-icon{display:none}html[data-theme=light] .moon-icon{display:block}
html[data-theme=light] .hero{background:#f7f6f2}html[data-theme=light] .hero::after{background:linear-gradient(90deg,#f7f6f2 0%,#f7f6f2 43%,rgba(247,246,242,.7) 64%,rgba(247,246,242,0) 90%),linear-gradient(0deg,#f7f6f2,transparent 23%)}html[data-theme=light] .hero-fixed{background-image:linear-gradient(#101010 25%,#101010 55%,#6e6e6e)}html[data-theme=light] .hero-lede,html[data-theme=light] .eyebrow,html[data-theme=light] .hero-foot{color:#514f4b}
html[data-theme=light] .experience-band,html[data-theme=light] .about-section{background:#eeede9}html[data-theme=light] .brand-wall img{filter:brightness(0) opacity(.86)}
html[data-theme=light] .section-heading>p,html[data-theme=light] .work-info>p,html[data-theme=light] .work-footer p,html[data-theme=light] .process-list p,html[data-theme=light] .about-copy p:not(.section-kicker),html[data-theme=light] .closing-action p,html[data-theme=light] .contact-email,html[data-theme=light] .site-footer{color:#514f4b}
html[data-theme=light] .section-light{background:#e6e3dc}html[data-theme=light] .project-snapshot{background:#fff;color:#161616;border-color:#0002}html[data-theme=light] .process-list,html[data-theme=light] .process-list li{border-color:#bbb8b2}
@media(max-width:1200px){.header-nav{gap:19px}.hero h1{font-size:6vw}.project-snapshot{width:145px}.project-snapshot img{height:110px}.snapshot-left{left:2%;top:26%}.snapshot-right{right:5%;top:15%}.hero-portrait{left:48%;right:-45%}.hero-lede{max-width:510px}.hero-actions{gap:18px}.hero-copy{max-width:85%}}
@media(max-width:900px){.header-nav{display:none}.theme-toggle{margin-left:auto}.header-cta{margin-left:0}.hero h1{font-size:6.2vw}.snapshot-left{top:19%;left:5%}.snapshot-right{top:17%}.hero-grid{padding-top:290px}.hero-portrait{left:43%;right:-62%}.hero-lede{max-width:460px}.hero-actions{flex-direction:column}.hero-actions .text-link{background:var(--ink);padding-inline:10px}html[data-theme=light] .hero-actions .text-link{background:#f7f6f2}.hero::after{background:linear-gradient(90deg,#080808 10%,rgba(8,8,8,.96) 48%,rgba(8,8,8,.1))}}
@media(max-width:760px){.site-header{inset:16px 4% auto}.header-inner{height:68px;padding:10px 13px;gap:12px}.brand{gap:8px}.brand-avatar{width:36px;height:36px}.brand-name{font-size:1rem}.header-cta{font-size:.65rem;padding:12px 16px}.theme-toggle{width:38px;height:38px;padding:10px}.theme-toggle svg{width:18px;height:18px}.hero{min-height:900px}.hero-grid{padding-top:420px;padding-bottom:100px}.hero-copy{max-width:100%}.hero h1{font-size:6.5vw;line-height:1.14}.hero-fixed{font-size:1.2em}.hero .eyebrow{font-size:.48rem;letter-spacing:.04em;margin-bottom:19px}.typing-line{margin-top:7px}.typing-caret{width:2px;margin-left:3px}.hero-lede{font-size:.94rem;max-width:370px;line-height:1.55}.hero-lede br{display:none}.hero-actions{gap:12px}.hero-actions .button{font-size:.62rem;padding-inline:19px}.hero-portrait{inset:95px -28% 44% -6%;mask-image:linear-gradient(0deg,transparent,#000 35%);opacity:1}.hero::after{background:linear-gradient(0deg,#080808 10%,rgba(8,8,8,.97) 48%,transparent 78%)}.project-snapshot{width:125px;padding:7px;border-radius:9px}.project-snapshot img{height:100px}.project-snapshot span{font-size:.45rem;padding-top:6px}.snapshot-left{top:160px;left:5%}.snapshot-right{top:112px;right:5%;width:110px}.snapshot-right img{height:80px}html[data-theme=light] .hero::after{background:linear-gradient(0deg,#f7f6f2 8%,rgba(247,246,242,.99) 49%,rgba(247,246,242,0) 80%)}html[data-theme=light] .hero-portrait{mask-image:linear-gradient(0deg,transparent,#000 40%)}.pointer-orb{display:none!important}}
@media(max-width:380px){.brand-avatar{width:30px;height:30px}.brand-name{font-size:.9rem}.header-inner{gap:8px;padding-inline:10px}.header-cta{padding:12px;font-size:.6rem}.theme-toggle{width:34px;height:34px;padding:8px}.hero-grid{padding-top:400px}.hero h1{font-size:6.3vw}.snapshot-left{width:108px;left:4%;top:165px}.snapshot-left img{height:83px}.snapshot-right{right:4%;width:95px}.snapshot-right img{height:70px}}
@media(prefers-reduced-motion:reduce){.typing-caret{animation:none}.pointer-orb{display:none!important}html.custom-pointer,html.custom-pointer a,html.custom-pointer button,html.custom-pointer summary{cursor:auto}.project-snapshot:hover{transform:none}}
/* Keep the second project visible above the portrait's silhouette. */
.snapshot-right{z-index:3;top:14%;right:8%;width:155px}.snapshot-right img{height:100px}
html[data-theme=light] .brand{color:#161616}html[data-theme=light] .theme-toggle{color:#161616}html[data-theme=light] .hero-actions .text-link span{color:#161616}
html[data-theme=light] .hero-portrait{mask-image:linear-gradient(90deg,transparent,#000 35%),linear-gradient(0deg,transparent,#000 25%,#000 80%,transparent);mask-composite:intersect}
@media(max-width:760px){.snapshot-right{top:109px;right:2%;width:92px}.snapshot-right img{height:70px}.project-snapshot.snapshot-left{left:3%;width:110px}.snapshot-left img{height:94px}html[data-theme=light] .hero-portrait{mask-image:linear-gradient(0deg,transparent,#000 40%,#000 80%,transparent)}}
@media(min-width:761px) and (max-width:1100px){.hero{min-height:1040px}.hero-grid{padding-top:530px;padding-bottom:100px;align-items:flex-start}.hero-copy{max-width:100%}.hero h1{font-size:5.6vw}.hero-portrait{inset:100px -12% 42% 8%;mask-image:linear-gradient(0deg,transparent,#000 35%);opacity:1}.hero::after{background:linear-gradient(0deg,#080808 15%,rgba(8,8,8,.98) 48%,transparent 78%)}.hero-actions{flex-direction:row}.snapshot-left{top:200px;left:7%;width:160px}.snapshot-left img{height:125px}.snapshot-right{top:125px;right:8%;width:145px}.snapshot-right img{height:100px}html[data-theme=light] .hero::after{background:linear-gradient(0deg,#f7f6f2 15%,rgba(247,246,242,.98) 48%,transparent 78%)}html[data-theme=light] .hero-portrait{mask-image:linear-gradient(0deg,transparent,#000 35%,#000 80%,transparent)}}


/* V5: one background composition; the portrait never occupies a content row. */
.hero-scene{display:contents}
.hero{min-height:740px}
.hero-grid{min-height:740px;padding:150px var(--gutter) 80px;display:flex;align-items:center;justify-content:center}
.hero-copy{max-width:1000px}
.hero .eyebrow{margin-bottom:20px}.hero h1{margin-bottom:20px}
.hero-lede{margin-bottom:26px}
.hero-portrait{inset:125px -34% 0 50%;opacity:1;mask-image:linear-gradient(90deg,transparent,#000 32%);border-radius:0;background:none;transform:none}
.hero-portrait img{object-fit:cover;object-position:50% center;filter:none}
.portrait-light{display:none}
html[data-theme=light] .portrait-dark{display:none}
html[data-theme=light] .portrait-light{display:block}
html[data-theme=light] .hero-portrait{inset:125px -34% 0 50%;mask-image:none;opacity:1}
html[data-theme=light] .hero::after{display:none}
.snapshot-right,html[data-theme=light] .snapshot-right{top:112px;right:18%;width:122px;transform:rotate(7deg)}.snapshot-right img{height:77px}
.snapshot-left{top:185px;width:155px}.snapshot-left img{height:115px}
.experience-heading h2{font-size:clamp(1.8rem,3vw,2.7rem);flex-shrink:1;max-width:580px}
html[data-theme=light] .project-snapshot{box-shadow:0 8px 24px #0002}
@media(min-width:761px) and (max-width:1100px){
.hero,.hero-grid{min-height:740px}.hero-grid{padding-top:210px;padding-bottom:100px;align-items:center}.hero-copy{max-width:100%}.hero h1{font-size:5.6vw}
.hero-portrait,html[data-theme=light] .hero-portrait{inset:110px -45% 0 30%;mask-image:none}
.hero::after{background:linear-gradient(90deg,#080808,rgba(8,8,8,.75) 45%,transparent)}
.snapshot-left{top:125px;left:5%;width:125px}.snapshot-left img{height:90px}.snapshot-right,html[data-theme=light] .snapshot-right{top:112px;right:22%;width:110px}.snapshot-right img{height:75px}
.hero-actions{flex-direction:row}.experience-heading{display:block}.experience-heading h2{margin-bottom:14px}
}
@media(max-width:760px){
.site-header{inset:12px 4% auto}.header-inner{height:62px}
.hero{min-height:660px}
.hero-grid{min-height:660px;display:flex;align-items:flex-start;padding:245px var(--gutter) 30px}
.hero-copy{max-width:100%;padding:0}
.hero .eyebrow{font-size:.46rem;letter-spacing:.04em;margin:0 0 14px;line-height:1.5}
.hero h1{font-size:6.5vw;line-height:1.13;margin-bottom:22px}.hero-fixed{font-size:1.2em}
.hero-lede{font-size:.86rem;line-height:1.55;max-width:350px;margin:0 auto 24px}.hero-lede br{display:none}
.hero-portrait,html[data-theme=light] .hero-portrait{inset:74px -65% 0 -50%;width:auto;height:auto;mask-image:none;opacity:1;border-radius:0;transform:none;background:none}
.hero-portrait img,html[data-theme=light] .hero-portrait img{object-fit:cover;object-position:51% top;filter:none}
.hero::after{display:block;background:linear-gradient(0deg,#080808 0%,rgba(8,8,8,.93) 23%,rgba(8,8,8,.42) 65%,transparent 90%)}
html[data-theme=light] .hero::after{display:block;background:linear-gradient(0deg,#f7f6f2 0%,rgba(247,246,242,.94) 24%,rgba(247,246,242,.35) 65%,transparent 90%)}
.project-snapshot.snapshot-left{top:112px;left:5%;width:105px;padding:6px;transform:rotate(-8deg)}.snapshot-left img{height:78px}
.project-snapshot.snapshot-right,html[data-theme=light] .snapshot-right{top:112px;right:5%;left:auto;width:83px;padding:5px;transform:rotate(8deg)}.snapshot-right img{height:57px}
.project-snapshot span{font-size:.39rem;line-height:1.4;padding-top:5px}
.hero-actions{display:flex;flex-direction:column;gap:8px}.hero-actions .button{width:100%;max-width:340px;min-height:50px;font-size:.62rem;padding-inline:16px}.hero-actions .text-link,html[data-theme=light] .hero-actions .text-link{min-height:36px;font-size:.6rem;background:transparent}
.hero-foot{display:none}.experience-band{padding-block:30px}.experience-heading h2{font-size:1.95rem;max-width:320px;line-height:1.05}.experience-heading p{font-size:.78rem}
}
@media(max-width:380px){.hero,.hero-grid{min-height:630px}.hero-grid{padding-top:230px}.hero .eyebrow{font-size:.41rem}.hero h1{font-size:6.3vw}.hero-lede{font-size:.8rem}.project-snapshot.snapshot-left{width:95px}.snapshot-left img{height:68px}.project-snapshot.snapshot-right,html[data-theme=light] .snapshot-right{width:76px}.snapshot-right img{height:50px}.hero-actions .button{font-size:.55rem}}

/* V6: more prominent phone headline and project identity on every film. */
.work-logos{position:absolute;z-index:2;right:1.5rem;bottom:1.5rem;display:flex;align-items:center;justify-content:flex-end;gap:12px;pointer-events:none}
.film-link .work-logos img{width:88px;height:40px;max-width:none;object-fit:contain;filter:brightness(0) invert(1) drop-shadow(0 2px 5px #0009);transform:none;transition:none}
.work-card-featured .work-logos img{width:120px;height:48px}
.film-link::after{background:linear-gradient(transparent,rgba(0,0,0,.7))}
@media(max-width:760px){
.hero h1{font-size:8.1vw;letter-spacing:-.045em;margin-bottom:22px}.hero-fixed{font-size:1.08em}
.work-logos{right:.8rem;bottom:.8rem;gap:8px}.film-link .work-logos img,.work-card-featured .work-logos img{width:66px;height:32px}
.play-chip{left:.8rem;bottom:.8rem;font-size:.6rem}
}
@media(max-width:380px){.hero h1{font-size:8vw}.film-link .work-logos img{width:54px;height:28px}.work-logos{gap:6px}}

/* V7: mobile portrait scaled independently of the content height. */
@media(max-width:760px){
.hero-grid{padding-top:325px;padding-bottom:30px}
.hero-portrait,html[data-theme=light] .hero-portrait{inset:95px auto auto 50%;width:180%;height:auto;aspect-ratio:1800/1010;transform:translateX(-50%);mask-image:linear-gradient(#000 65%,transparent 100%)}
.hero-portrait img,html[data-theme=light] .hero-portrait img{object-fit:contain;object-position:center top}
.hero::after{background:linear-gradient(0deg,#080808 0%,rgba(8,8,8,.92) 30%,rgba(8,8,8,.18) 62%,transparent 80%)}
html[data-theme=light] .hero::after{background:linear-gradient(0deg,#f7f6f2 0%,rgba(247,246,242,.94) 30%,rgba(247,246,242,.12) 62%,transparent 80%)}
}
@media(min-width:481px) and (max-width:760px){.hero-grid{padding-top:430px}.hero-portrait,html[data-theme=light] .hero-portrait{width:145%}}
@media(max-width:380px){.hero-grid{padding-top:305px}.hero-portrait,html[data-theme=light] .hero-portrait{top:105px;width:185%}}
@media(max-width:480px){.hero-portrait,html[data-theme=light] .hero-portrait{max-width:760px}}

/* V10: the embedded player occupies the original thumbnail. */
button.film-link{width:100%;padding:0;border:0;color:inherit;text-align:left;cursor:pointer}
.film-stage{position:relative;aspect-ratio:16/9;background:#000;overflow:hidden}
.work-card-featured .film-stage{aspect-ratio:2/1}
.film-stage .film-link{width:100%;height:100%;aspect-ratio:auto}
.film-stage iframe{display:block;width:100%;height:100%;border:0;background:#000}
@media(max-width:760px){.work-card-featured .film-stage{aspect-ratio:16/9}}
