:root{--ink:#151614;--paper:#ecece5;--white:#f5f5ef;--muted:#a6a8a0;--line:#353730;--accent:#e53935;--page:clamp(22px,5vw,88px)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:95px}body{margin:0;background:var(--ink);color:var(--white);font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased}body.modal-open{overflow:hidden}a{color:inherit;text-decoration:none}button{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}img{display:block;max-width:100%;height:auto}figure,p,h1,h2,h3{margin:0}a:focus-visible,button:focus-visible{outline:2px solid var(--accent);outline-offset:7px}.photography a:focus-visible,.contact a:focus-visible{outline-color:var(--ink)}::selection{background:var(--accent);color:var(--ink)}.page-width{width:calc(100% - var(--page)*2);max-width:1600px;margin-inline:auto}.section-pad{padding-block:120px}.eyebrow,.micro{font-size:10px;line-height:1.55;letter-spacing:1.35px;font-weight:500}.eyebrow{font-size:11px}.muted{color:var(--muted)}.skip-link{position:fixed;z-index:100;top:-80px;left:20px;padding:16px;background:var(--paper);color:var(--ink)}.skip-link:focus{top:15px}.site-header{height:105px;padding-inline:var(--page);display:flex;align-items:center;justify-content:space-between;position:absolute;z-index:5;width:100%;top:0}.wordmark{font-size:18px;font-weight:700;letter-spacing:-.65px;line-height:1.1}.wordmark span{display:block;font-size:8px;letter-spacing:2.2px;font-weight:400;margin-top:8px}.site-header nav{display:flex;align-items:center;gap:40px;font-size:13px}.site-header nav a{padding-block:14px}.site-header nav a:hover{color:var(--accent)}.nav-contact{border-bottom:1px solid #ffffff60}.nav-contact span{margin-left:25px;font-size:18px}
.hero{position:relative;isolation:isolate;min-height:740px;height:100svh;max-height:1120px;display:flex;align-items:center;overflow:hidden}.hero-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:65% 59%;z-index:-3}.hero-shade{position:absolute;inset:0;z-index:-2;background:linear-gradient(90deg,rgba(8,13,13,.68),rgba(8,13,13,.1) 85%),linear-gradient(0deg,rgba(8,13,13,.78),transparent 45%,rgba(8,13,13,.24))}.hero-copy{padding-block:150px 130px}.hero-copy .eyebrow{display:flex;align-items:center;gap:12px;color:#f5f5ef}.signal-dot{width:6px;height:6px;border-radius:50%;display:inline-block;background:var(--accent);flex-shrink:0}.hero h1{font-weight:500;font-size:clamp(84px,10.2vw,158px);line-height:.93;letter-spacing:-.067em;margin-top:32px;margin-left:-.055em}.hero-description{font-size:15px;line-height:1.7;color:#e4e5df;margin-top:28px}.text-link{display:inline-flex;align-items:center;justify-content:space-between;gap:60px;font-size:13px;font-weight:500;padding-block:15px 13px;border-bottom:1px solid currentColor;transition:color .2s,gap .2s}.hero-copy .text-link{margin-top:17px}.text-link span{font-size:22px;line-height:1}.text-link:hover{color:var(--accent);gap:72px}.hero-bottom{position:absolute;left:0;right:0;bottom:36px;display:flex;justify-content:space-between;align-items:flex-end}.location{font-size:9px;line-height:1.7;letter-spacing:1.3px;color:#d8dad3}.hero-film{display:flex;align-items:center;gap:18px}.play-circle,.large-play,.small-play{display:grid;place-items:center;border-radius:50%;transition:background .25s,color .25s,transform .25s}.play-circle{width:60px;height:60px;border:1px solid #ffffff7a}.play-circle svg,.large-play svg,.small-play svg{width:20px;height:20px;fill:currentColor;transform:translateX(-1px)}.hero-film .micro{font-size:8px;display:block;letter-spacing:1.1px;color:#caccbf}.hero-film strong{display:block;font-size:16px;font-weight:400;margin-top:7px}.hero-film strong span{margin-left:24px}.hero-film:hover .play-circle{background:var(--accent);color:var(--ink);border-color:var(--accent)}
.clients{padding-block:44px;display:flex;align-items:center;gap:50px;border-bottom:1px solid var(--line)}.clients>p{color:var(--muted);font-size:9px;flex:0 0 160px}.clients ul{padding:0;margin:0;list-style:none;display:flex;justify-content:space-between;align-items:center;flex:1;gap:35px}.clients li{font-size:24px;font-weight:600;letter-spacing:-.9px;color:#d9dcd0}.clients li:first-child{font-family:Georgia,serif;font-weight:700;font-size:29px;letter-spacing:-1.5px}.clients li:nth-child(3){letter-spacing:3px;font-size:22px}.clients li:nth-child(4){font-size:18px;letter-spacing:3px}.clients li:last-child{font-size:25px;letter-spacing:2px;font-weight:400}
h2{font-weight:400;font-size:clamp(42px,4.65vw,76px);line-height:1.06;letter-spacing:-.052em}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:40px;margin-bottom:52px}.section-heading .eyebrow{margin-bottom:24px}.section-intro{font-size:13px;line-height:1.8;color:var(--muted);padding-bottom:3px}.film-image{position:relative;display:block;overflow:hidden;background:#272b25;aspect-ratio:16/9}.film-image img{width:100%;height:100%;object-fit:cover;transition:transform .7s cubic-bezier(.2,.7,.2,1),filter .5s}.film-image:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,#0007,transparent 40%);pointer-events:none}.film-image:hover img{transform:scale(1.025);filter:brightness(.88)}.image-tag{position:absolute;left:28px;top:26px;font-size:10px;letter-spacing:1.3px;text-shadow:0 1px 12px #000;z-index:1}.image-action{position:absolute;bottom:28px;right:28px;font-size:9px;letter-spacing:1.2px;z-index:1;display:flex;gap:25px;align-items:center}.image-action span{font-size:22px}.large-play{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:82px;height:82px;background:#f5f5efed;color:var(--ink);z-index:1}.large-play svg{width:24px;height:24px}.film-image:hover .large-play{background:var(--accent)}.small-play{position:absolute;width:47px;height:47px;left:22px;bottom:22px;border:1px solid #fff9;z-index:1;backdrop-filter:blur(4px)}.small-play svg{width:15px}.film-image:hover .small-play{background:var(--accent);border-color:var(--accent);color:var(--ink)}.film-caption{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:21px}.film-caption h3{font-weight:400;font-size:24px;letter-spacing:-.7px}.film-caption p{color:var(--muted);font-size:12px;line-height:1.6;margin-top:7px}.film-caption .role{font-size:10px;margin-top:0;letter-spacing:.3px}.film-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px;margin-top:55px}.film-grid h3{font-size:21px}.project-no{font-size:10px;color:var(--muted)}.mini-image img{height:133.333%;max-height:none;position:absolute;top:-16.666%}
.photography{background:var(--paper);color:var(--ink)}.photography .muted,.photography .section-intro{color:#666a61}.photo-grid{display:grid;grid-template-columns:1fr 1fr;gap:35px 28px}.photo-main{grid-column:1/-1}.photo-link{display:block;position:relative;overflow:hidden;background:#d2d5ca;aspect-ratio:3/2}.photo-main .photo-link{aspect-ratio:2.1/1}.photo-link img{width:100%;height:100%;object-fit:cover;transition:transform .8s cubic-bezier(.2,.7,.2,1)}.photo-link:hover img{transform:scale(1.025)}.expand-icon{position:absolute;right:20px;bottom:20px;font-size:25px;line-height:1;color:white;text-shadow:0 2px 8px #0007}.photo-grid figcaption{display:flex;justify-content:space-between;margin-top:14px;font-size:11px}.photo-grid figcaption span:last-child{color:#73776d;font-size:9px;letter-spacing:1px}
.about{display:grid;grid-template-columns: .85fr 1.15fr;gap:clamp(45px,9vw,160px);align-items:center;padding-block:140px}.portrait-wrap img{width:100%;aspect-ratio:4/5;object-fit:cover;filter:grayscale(1)}.portrait-note{font-size:8px;letter-spacing:1.4px;color:var(--muted);margin-top:17px}.about-copy .eyebrow{margin-bottom:25px}.about-copy h2{font-size:clamp(38px,3.8vw,60px);margin-bottom:32px}.about-copy p:not(.eyebrow){font-size:13px;line-height:1.85;color:var(--muted);margin-top:16px;max-width:510px}.about-copy .about-lead{color:var(--white)!important;font-size:17px!important;line-height:1.65!important}.services{margin:28px 0 17px;padding:0}.services div{display:flex;gap:23px;align-items:center;border-top:1px solid var(--line);padding:14px 0}.services dt{font-size:9px;color:var(--muted)}.services dd{font-size:12px;margin:0}.about-copy .text-link{margin-top:6px}
.contact{background:var(--paper);color:var(--ink);padding-block:95px 85px}.contact .muted{color:#62675b}.contact-heading{display:flex;align-items:center;justify-content:space-between;gap:35px;margin-top:33px}.contact-heading h2{font-size:clamp(48px,7.65vw,118px);line-height:1.1}.contact-arrow{font-size:90px;font-weight:300;line-height:1;transition:transform .2s}.contact-arrow:hover{transform:translate(5px,-5px)}.contact-bottom{border-top:1px solid #c8cdc0;margin-top:42px;padding-top:35px;display:flex;justify-content:space-between;align-items:flex-end;gap:30px}.contact-bottom p{font-size:13px;line-height:1.8;color:#656a60}.email-link{font-size:clamp(18px,2.2vw,33px);letter-spacing:-.7px;border-bottom:1px solid currentColor;padding-bottom:7px}.email-link:hover{color:#5b6446}footer{display:flex;justify-content:space-between;align-items:center;gap:30px;padding-block:32px;font-size:10px;color:var(--muted)}footer>div{display:flex;gap:25px}footer a:hover{color:var(--white)}
.media-dialog{max-width:1200px;width:calc(100% - 64px);max-height:95svh;padding:20px 24px;border:1px solid #3c4035;color:var(--white);background:var(--ink);overflow:auto}.media-dialog::backdrop{background:rgba(0,0,0,.88);backdrop-filter:blur(7px)}.dialog-header,.dialog-footer{display:flex;align-items:center;justify-content:space-between;gap:20px}.dialog-header{margin-bottom:18px}.dialog-header h2{font-size:20px;letter-spacing:-.3px}.dialog-close{border:0;background:transparent;color:inherit;display:flex;align-items:center;gap:15px;font-size:12px;padding:8px}.dialog-close span{font-size:28px;font-weight:300}.dialog-content.video{aspect-ratio:16/9;background:#080908}.dialog-content iframe{width:100%;height:100%;border:0;display:block}.dialog-content.photo img{max-height:70svh;width:100%;object-fit:contain}.dialog-footer{margin-top:15px;font-size:11px;line-height:1.5;color:var(--muted)}.dialog-footer a{border-bottom:1px solid currentColor;padding-block:5px;white-space:nowrap}.dialog-footer [hidden]{display:none}
@media(min-width:1800px){.hero h1{font-size:175px}}
@media(max-width:1000px){.section-pad{padding-block:85px}.clients{gap:25px}.clients>p{flex-basis:120px}.clients ul{gap:20px}.clients li{font-size:21px}.clients li:nth-child(4){font-size:13px;letter-spacing:2px}.section-heading{gap:25px}.section-intro{max-width:250px}.section-intro br{display:none}.about{gap:50px}.about-copy h2{font-size:39px}.hero h1{font-size:110px}.hero-copy{padding-top:150px}.hero{min-height:730px}.film-caption .role{max-width:160px;text-align:right}.contact-heading h2{font-size:8vw}.contact-arrow{font-size:65px}}
@media(max-width:700px){:root{--page:22px}html{scroll-padding-top:24px}.site-header{height:88px;align-items:center}.wordmark{font-size:14px;letter-spacing:-.4px}.wordmark span{font-size:6px;letter-spacing:1.55px;margin-top:6px}.site-header nav{gap:22px;font-size:11px}.site-header nav a:nth-child(2){display:none}.nav-contact span{margin-left:8px;font-size:15px}.hero{height:92svh;min-height:690px;max-height:900px}.hero-image{object-position:61% 50%}.hero-shade{background:linear-gradient(90deg,#080d0da6,#080d0d15),linear-gradient(0deg,#080d0dd9,transparent 55%,#080d0d40)}.hero-copy{padding-top:120px;padding-bottom:170px}.hero-copy .eyebrow{font-size:8px;letter-spacing:1px;gap:8px}.hero h1{font-size:clamp(74px,18vw,115px);margin-top:26px;line-height:.96}.hero-description{font-size:13px;line-height:1.65;max-width:300px;margin-top:23px}.desktop-break{display:none}.hero-copy .text-link{margin-top:12px;font-size:12px;gap:45px}.hero-bottom{bottom:27px;align-items:center}.location{font-size:6px;letter-spacing:.7px;max-width:142px}.hero-film{gap:10px}.play-circle{width:43px;height:43px}.play-circle svg{width:17px}.hero-film .micro{font-size:5.5px;letter-spacing:.5px}.hero-film strong{font-size:12px;margin-top:5px}.hero-film strong span{margin-left:8px}.clients{display:block;padding-block:28px}.clients>p{font-size:8px}.clients>p br{display:none}.clients ul{margin-top:24px;gap:14px;flex-wrap:wrap;justify-content:space-between}.clients li{font-size:19px}.clients li:first-child{font-size:23px}.clients li:nth-child(3){font-size:17px;letter-spacing:2px}.clients li:nth-child(4){font-size:11px;letter-spacing:1px}.clients li:last-child{font-size:19px}.section-pad{padding-block:65px}.section-heading{display:block;margin-bottom:30px}.section-heading .eyebrow{font-size:9px;margin-bottom:18px}h2{font-size:41px}.section-intro{font-size:12px;max-width:320px;margin-top:22px}.film-feature .film-image{aspect-ratio:1.5}.image-tag{left:16px;top:17px;font-size:8px}.large-play{width:58px;height:58px}.large-play svg{width:19px}.image-action{font-size:7px;right:16px;bottom:16px;gap:12px}.image-action span{font-size:17px}.film-caption{margin-top:16px;gap:12px}.film-caption h3{font-size:20px}.film-caption p{font-size:11px}.film-caption .role{font-size:8px;max-width:123px;line-height:1.8}.film-grid{grid-template-columns:1fr;gap:32px;margin-top:35px}.film-grid h3{font-size:20px}.small-play{width:40px;height:40px;left:16px;bottom:16px}.photo-grid{grid-template-columns:1fr;gap:29px}.photo-main{grid-column:auto}.photo-main .photo-link{aspect-ratio:3/2}.photo-heading h2{font-size:46px}.photo-grid figcaption{font-size:10px}.about{grid-template-columns:1fr;gap:36px}.portrait-wrap{max-width:410px;width:100%}.portrait-wrap img{aspect-ratio:1/1;object-position:50% 30%}.about-copy .eyebrow{font-size:9px;margin-bottom:20px}.about-copy h2{font-size:42px;margin-bottom:24px}.about-copy .about-lead{font-size:17px!important}.about-copy p:not(.eyebrow){font-size:13px}.about-copy .text-link{font-size:12px}.contact{padding-block:60px}.contact-heading{margin-top:25px;align-items:flex-start;gap:8px}.contact-heading h2{font-size:53px;max-width:270px}.contact-arrow{font-size:49px;margin-top:5px}.contact-bottom{display:block;margin-top:30px;padding-top:24px}.contact-bottom p{font-size:12px}.email-link{display:inline-block;margin-top:25px;font-size:23px;letter-spacing:-.5px}footer{display:grid;grid-template-columns:1fr auto;gap:24px 12px;font-size:9px;padding-block:26px}footer>div{grid-row:2;grid-column:1/-1;gap:25px}footer .back-top{grid-column:2;grid-row:1}.media-dialog{width:calc(100% - 20px);padding:12px;max-height:95svh}.dialog-header h2{font-size:17px}.dialog-header{gap:10px;margin-bottom:10px}.dialog-footer{font-size:9px;align-items:flex-start}.dialog-footer p{max-width:160px}.dialog-close{font-size:10px;padding:5px}.dialog-content.photo img{max-height:72svh}}
@media(max-width:360px){.site-header nav{gap:13px}.hero h1{font-size:71px}.hero-bottom .location{max-width:118px}.clients ul{gap:12px}.clients li:nth-child(4){font-size:9px}.contact-heading h2{font-size:46px}.email-link{font-size:21px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}

.skip-link:not(:focus){clip-path:inset(50%);width:1px;height:1px;overflow:hidden;white-space:nowrap;padding:0}
/* Selected client identities: a quiet, fully visible grid. */
.clients{display:grid;grid-template-columns:150px minmax(0,1fr);gap:45px;padding-block:48px;align-items:center}
.clients>p{align-self:start;padding-top:12px}
.clients .brand-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:26px 24px;width:100%;list-style:none}
.clients .brand{height:90px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;min-width:0}
.brand img{display:block;object-fit:contain;max-width:100%;max-height:62px;filter:brightness(0) invert(1);opacity:.82;width:auto}
.brand-canon img{width:122px;height:42px}.brand-bmw img{width:57px;height:57px}.brand-mini img{width:100px;height:57px}.brand-porsche img{width:48px;height:59px}.brand-nio img{width:56px;height:57px}.brand-ferrari img{width:41px;height:59px}.brand-range-rover img{width:155px;height:30px}.brand-genesis img{width:129px;height:43px}.brand-volkswagen img{width:53px;height:53px}.brand-stellantis img{width:140px;height:40px}
.clients .brand span{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:8px;font-weight:500;line-height:1;letter-spacing:1.4px;color:#d8dcd0}
.about{align-items:start}.portrait-wrap img{aspect-ratio:1/1;object-fit:contain;filter:none}.portrait-wrap .experience-note{font-size:clamp(24px,2.5vw,36px);line-height:1.18;letter-spacing:-1px;color:var(--white);margin-top:31px}.about-copy h2{font-size:clamp(36px,3.5vw,55px)}
.service-details{margin-block:26px 20px}.service-details div{align-items:baseline;padding-block:17px}.service-details dd{flex:1}.service-details strong{font-weight:500;font-size:14px;color:var(--white)}.about-copy .service-details p{font-size:12px;line-height:1.75;margin-top:7px}.about-copy>.text-link{margin-top:22px}
@media(max-width:1000px){.clients{grid-template-columns:1fr;gap:24px}.clients>p{padding:0}.clients>p br{display:none}.clients .brand-grid{margin:0;gap:20px}.clients .brand{height:86px}.about{gap:45px}.about-copy h2{font-size:38px}}
@media(max-width:700px){.clients{padding-block:34px;gap:23px}.clients .brand-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:15px 24px}.clients .brand{height:90px}.clients .brand span{font-size:8px}.brand img{max-width:135px}.about{gap:38px}.portrait-wrap{max-width:none}.portrait-wrap .experience-note{font-size:29px;margin-top:25px}.about-copy h2{font-size:38px}.about-copy .service-details p{font-size:13px}.service-details strong{font-size:15px}.service-details div{padding-block:18px}}

/* Refined positioning and production approach. */
.wordmark span{font-size:7px;letter-spacing:1.15px;line-height:1.5}
.hero h1{margin-top:0}
.equipment-note{margin-top:22px;max-width:430px;color:var(--muted);font-size:13px;line-height:1.85}
.equipment-note p+p{margin-top:15px}
@media(max-width:700px){.wordmark span{font-size:6px;letter-spacing:.55px;max-width:170px}.hero h1{margin-top:0}.equipment-note{font-size:13px;margin-top:20px}}

.contact-details{display:flex;flex-direction:column;align-items:flex-end;text-align:right}
.contact-bottom .phone-intro{font-size:12px;line-height:1.6;margin-top:22px;color:#62665d}
.phone-link{display:inline-flex;align-items:center;gap:18px;font-size:21px;letter-spacing:-.4px;margin-top:8px;padding-bottom:5px;border-bottom:1px solid #92968b}
.phone-link:hover{color:#555b46}.phone-link span{font-size:19px}
@media(max-width:700px){.contact-details{align-items:flex-start;text-align:left}.contact-bottom .phone-intro{margin-top:22px;max-width:280px}.phone-link{font-size:21px}}

.contact-socials{display:flex;gap:25px;align-items:center;margin-top:25px;font-size:12px;color:#555b50}
.contact-socials a{padding-block:6px;border-bottom:1px solid transparent}
.contact-socials a:hover{color:var(--ink);border-bottom-color:currentColor}
.contact-socials span{margin-left:6px}

/* Red interaction accents and an optional extended portfolio. */
.photography,.contact{--accent:#c92c34}
.wordmark:hover,.contact-arrow:hover,.email-link:hover,.phone-link:hover,.contact-socials a:hover,footer a:hover,.dialog-close:hover,.dialog-footer a:hover{color:var(--accent)}
.contact-socials a:hover{border-bottom-color:var(--accent)}
.hero-film:hover .play-circle,.film-image:hover .large-play,.film-image:hover .small-play{color:#fff}
.photo-link:hover .expand-icon{color:#ff6668}
.photography a:focus-visible,.contact a:focus-visible{outline-color:var(--accent)}
.gallery-controls{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:35px;border-top:1px solid #c8cdc0;padding-top:12px}
.gallery-toggle,.gallery-close{background:none;color:inherit;border:0;border-bottom:1px solid currentColor;text-align:left}
.gallery-toggle[hidden],.gallery-panel[hidden]{display:none}
.gallery-toggle .gallery-toggle-label{font-size:13px;line-height:1.5}
.gallery-toggle .gallery-toggle-icon{font-size:24px;line-height:1}
.gallery-count{font-size:10px;letter-spacing:.4px;color:#666a61}
.gallery-panel{overflow:hidden}
.gallery-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:22px 16px;padding-top:28px}
.gallery-grid .photo-link{aspect-ratio:3/2}
.gallery-grid figcaption{display:flex;justify-content:space-between;gap:10px;font-size:11px;line-height:1.5;margin-top:11px}
.gallery-grid figcaption span:last-child{font-size:9px;letter-spacing:.6px;color:#73776d;white-space:nowrap}
.gallery-close{margin-top:32px;margin-bottom:3px}
.gallery-fallback{margin-top:20px;font-size:13px}
@media(max-width:1200px){.gallery-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:850px){.gallery-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:700px){.gallery-controls{gap:12px;align-items:flex-start}.gallery-toggle{gap:20px}.gallery-toggle:hover{gap:24px}.gallery-count{font-size:9px;padding-top:19px;white-space:nowrap}.gallery-grid{gap:18px 10px;padding-top:22px}.gallery-grid figcaption{font-size:10px}.gallery-grid figcaption span:last-child{display:none}.gallery-grid .expand-icon{font-size:20px;right:10px;bottom:10px}}
@media(max-width:370px){.gallery-controls{flex-wrap:wrap;gap:4px}.gallery-count{padding-top:6px}.gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 10px}}

/* Readable type, quiet navigation and consistent controls. */
html{scroll-padding-top:104px}
.site-header{position:fixed;height:100px;z-index:20;transition:transform .25s ease,background .25s ease,height .25s ease}
.site-header.is-scrolled{height:84px;background:rgba(21,22,20,.96);border-bottom:1px solid var(--line);backdrop-filter:blur(12px)}
.site-header.is-hidden{transform:translateY(-100%)}
.site-header:focus-within{transform:none}
.wordmark span{font-size:10px;letter-spacing:1.05px;line-height:1.45;margin-top:7px}
.site-header nav{font-size:14px;gap:32px}
.site-header nav a{min-height:44px;display:flex;align-items:center}
.menu-toggle{display:none;background:none;color:inherit;border:0;min-height:44px;align-items:center;gap:15px;padding:8px 0;font-size:14px}
.menu-toggle span{font-size:24px;font-weight:300}
.eyebrow,.section-heading .eyebrow,.about-copy .eyebrow{font-size:12px;letter-spacing:1.2px}
.clients>p{font-size:11px;line-height:1.65}
.hero-description{font-size:16px}.location{font-size:10px;letter-spacing:.8px}
.hero-film .micro{font-size:10px;letter-spacing:.7px}
.section-intro{font-size:15px;line-height:1.75}
.text-link,.gallery-toggle .gallery-toggle-label{font-size:14px;line-height:1.5}
.text-link{min-height:48px;gap:28px;transition:color .2s,border-color .2s}
.text-link:hover,.hero-copy .text-link:hover,.gallery-toggle:hover{gap:28px}
.hero-copy .text-link{gap:28px}
.film-caption p{font-size:14px}.film-caption .role,.project-no{font-size:12px}
.image-tag,.image-action{font-size:11px}.image-action{gap:0}
.photo-grid figcaption,.gallery-grid figcaption{font-size:13px;line-height:1.5}
.photo-grid figcaption span:last-child,.gallery-grid figcaption span:last-child{font-size:11px}
.expand-icon{width:32px;height:32px;display:grid;place-items:center;border:1px solid #ffffff90;border-radius:50%;font-size:24px;background:#15161440}
.gallery-count{font-size:12px;line-height:1.5}
.gallery-panel{overflow:visible}
.about-copy{grid-column:2;grid-row:1}
.about-visual{grid-column:1;grid-row:1}
.about-copy p:not(.eyebrow),.about-copy .service-details p,.equipment-note{font-size:15px;line-height:1.8;max-width:none}
.about-copy .about-lead{font-size:18px!important;line-height:1.7!important}
.service-details strong{font-size:16px}.service-details dt{font-size:11px}
.service-details div{padding-block:20px}
.portrait-note{font-size:10px;letter-spacing:.9px;line-height:1.6}
.about-services>.text-link{margin-top:24px}
.contact-bottom p,.contact-bottom .phone-intro{font-size:15px}
.contact-socials{font-size:14px;gap:28px}.contact-socials a{min-height:44px;display:flex;align-items:center}
footer{font-size:12px}footer a{min-height:44px;display:flex;align-items:center}
a,button{transition:color .2s,border-color .2s,background-color .2s}
.media-dialog{padding:20px 24px}
.dialog-close{font-size:14px;min-height:44px;min-width:80px}
.dialog-header h2{font-size:20px;line-height:1.35}
.dialog-header{flex-shrink:0}
.dialog-footer{font-size:12px}
.photo-navigation{display:flex;align-items:center;justify-content:center;gap:28px;padding-top:12px}
.photo-navigation[hidden]{display:none}
.photo-navigation button{width:48px;height:48px;border:1px solid var(--line);background:transparent;color:var(--white);border-radius:50%;font-size:32px;line-height:1}
.photo-navigation button:hover{border-color:var(--accent);color:var(--accent)}
#photo-counter{min-width:75px;text-align:center;font-size:13px;font-variant-numeric:tabular-nums;color:var(--muted)}
.media-dialog.is-photo[open]{display:flex;flex-direction:column;height:90svh;max-height:900px;overflow:hidden}
.is-photo .dialog-content{flex:1;min-height:0;display:flex;justify-content:center;align-items:center;touch-action:pan-y pinch-zoom}
.is-photo .dialog-content img{height:100%;max-height:100%;width:100%;object-fit:contain}
.is-photo .dialog-footer{flex-shrink:0;justify-content:center;margin-top:12px}
.is-photo .dialog-footer p{max-width:none}
@media(max-width:1000px){.site-header nav{gap:22px}.about{gap:38px}.about-copy h2{font-size:38px}.section-intro{max-width:290px}}
@media(max-width:700px){
 html{scroll-padding-top:100px}
 .site-header,.site-header.is-scrolled{height:90px}
 .wordmark{font-size:16px}.wordmark span{font-size:9px;letter-spacing:.65px;max-width:none;line-height:1.45;margin-top:6px}
 .site-header.has-menu .menu-toggle{display:flex}
 .site-header nav a:nth-child(2){display:flex}
 .site-header.has-menu nav{display:none;position:absolute;top:89px;left:0;right:0;padding:16px var(--page) 24px;background:var(--ink);border-bottom:1px solid var(--line)}
 .site-header.menu-open{background:var(--ink);transform:none}
 .site-header.menu-open nav{display:flex;flex-direction:column;align-items:stretch;gap:0}
 .site-header.menu-open nav a{padding:15px 0;font-size:20px;border-bottom:1px solid var(--line)}
 .site-header:not(.has-menu){position:absolute;flex-wrap:wrap;height:auto;padding-block:18px;gap:12px}
 .site-header:not(.has-menu) nav{gap:18px;flex-wrap:wrap;font-size:13px}
 .hero-description{font-size:15px;max-width:320px}
 .hero-copy .text-link{font-size:14px;gap:28px}
 .hero-bottom{align-items:flex-start;gap:18px;flex-direction:column}
 .hero-film{gap:12px}.hero-film strong{font-size:14px}.hero-film .micro{font-size:9px;letter-spacing:.5px}
 .location{font-size:9px;line-height:1.6;max-width:none!important}
 .hero-copy{padding-bottom:205px}
 .clients{padding-block:32px;gap:18px}.clients>p{font-size:11px}
 .clients .brand-grid{gap:10px 24px}.clients .brand{height:74px;gap:8px}
 .brand img{max-height:46px;max-width:130px}.clients .brand span{font-size:9px;letter-spacing:1px}
 .section-intro{font-size:15px;margin-top:20px}.section-heading .eyebrow{font-size:11px}
 .film-caption .role{font-size:11px;max-width:140px}.film-caption p{font-size:13px}
 .image-tag{font-size:10px}.image-action{font-size:10px}
 .photo-grid figcaption{font-size:13px}.gallery-grid figcaption{font-size:12px}
 .gallery-count{font-size:11px;padding-top:17px}.gallery-toggle{gap:28px}
 .gallery-grid .expand-icon{width:26px;height:26px;font-size:22px}
 .about{display:flex;flex-direction:column;gap:32px}
 .about-copy,.about-visual{display:contents}
 .about-intro{order:1}.portrait-wrap{order:2}.about-services{order:3}.equipment-note{order:4;margin-top:0;max-width:none;border-top:1px solid var(--line);padding-top:26px}
 .about-copy h2{font-size:38px}.about-copy .eyebrow{font-size:11px}
 .about-copy .about-lead{font-size:17px!important}
 .about-copy p:not(.eyebrow),.about-copy .service-details p,.equipment-note{font-size:15px}
 .service-details{margin-top:0}.portrait-note{font-size:10px}.about-copy .text-link{font-size:14px}
 .contact-heading h2{max-width:none;font-size:53px}
 .contact-bottom p,.contact-bottom .phone-intro{font-size:14px}
 footer{font-size:11px}
 .media-dialog{padding:12px;width:calc(100% - 20px)}
 .media-dialog.is-photo[open]{height:94svh;max-height:94svh}
 .dialog-header h2{font-size:17px}.dialog-close{font-size:13px}.dialog-footer{font-size:11px}
 .photo-navigation{gap:22px}.dialog-header{margin-bottom:12px}
}
@media(max-height:500px){.media-dialog.is-photo[open]{height:96svh;max-height:96svh;padding:8px 16px}.is-photo .dialog-header{margin-bottom:4px}.is-photo .dialog-footer{display:none}.photo-navigation{padding-top:4px}.photo-navigation button{height:44px;width:44px}}

/* Compact contact sheet; the three lead photographs retain their layout. */
.gallery-grid figcaption{font-size:12px;gap:8px;margin-top:8px}
.gallery-grid figcaption span:last-child{font-size:10px}
.gallery-grid .expand-icon{width:26px;height:26px;font-size:22px;right:10px;bottom:10px}
@media(max-width:700px){.gallery-grid figcaption{font-size:11px;line-height:1.4}.gallery-grid .expand-icon{width:22px;height:22px;font-size:19px;right:7px;bottom:7px}}

/* Expanded photography becomes one quiet, edge-to-edge overview. */
.gallery-expanded>.page-width{width:100%;max-width:none;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:2px;align-items:start}
.gallery-expanded .section-heading,.gallery-expanded .gallery-controls{grid-column:1/-1;width:calc(100% - var(--page)*2);max-width:1600px;margin-inline:auto}
.gallery-expanded .section-heading{order:0}
.gallery-expanded .gallery-controls{order:1;margin-top:0;margin-bottom:26px}
.gallery-expanded .gallery-count{display:none}
.gallery-expanded .photo-grid,.gallery-expanded .gallery-panel,.gallery-expanded .gallery-grid{display:contents}
.gallery-expanded figure{order:2;min-width:0;grid-column:auto}
.gallery-expanded .photo-link{aspect-ratio:3/2}
.gallery-expanded figcaption{display:none}
.gallery-expanded .expand-icon{opacity:0;transition:opacity .2s,color .2s}
.gallery-expanded .photo-link:hover .expand-icon,.gallery-expanded .photo-link:focus-visible .expand-icon{opacity:1}
.gallery-expanded .photo-link:focus-visible{outline-offset:-4px;z-index:1}
.gallery-expanded .gallery-close{order:3;grid-column:1/-1;justify-self:start;margin:28px var(--page) 0}
@media(max-width:1000px){.gallery-expanded>.page-width{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:700px){.gallery-expanded>.page-width{grid-template-columns:repeat(2,minmax(0,1fr))}.gallery-expanded .gallery-controls{margin-bottom:20px}}

/* Eight-image preview uses the same quiet overview as the full collection. */
.wordmark span{white-space:nowrap}
.photography>.page-width{width:100%;max-width:none}
.photography .section-heading,.photography .gallery-controls{width:calc(100% - var(--page)*2);max-width:1600px;margin-inline:auto}
.photo-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:2px}
.photo-grid .photo-link{aspect-ratio:3/2}
.photography .expand-icon{opacity:0;transition:opacity .2s,color .2s}
.photography .photo-link:hover .expand-icon,.photography .photo-link:focus-visible .expand-icon{opacity:1}
.photography .photo-link:focus-visible{outline-offset:-4px;z-index:1}
.about-cta{grid-column:1/-1;display:flex;align-items:center;justify-content:center;gap:26px;width:100%;margin-top:8px}
.about-cta:before,.about-cta:after{content:"";height:1px;width:clamp(35px,9vw,130px);background:var(--accent);opacity:.7}
.about-cta .text-link{margin:0;padding:18px 30px;justify-content:center;text-align:center;border:1px solid #85877c;background:#ffffff06;font-size:17px;font-weight:500;letter-spacing:-.2px}
.about-cta .text-link:hover{border-color:var(--accent);background:var(--accent);color:#fff}
@media(max-width:1000px){.gallery-expanded>.page-width{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.photo-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.about-cta{order:5;gap:14px;margin-top:12px}.about-cta:before,.about-cta:after{flex:1;width:auto;min-width:15px}.about-cta .text-link{padding:17px 20px;font-size:16px}}

/* Photography categories belong to section 02, with a persistent local selector. */
.category-tabs{position:sticky;top:0;z-index:12;display:flex;align-items:center;justify-content:center;gap:clamp(24px,5vw,72px);padding:14px var(--page);background:rgba(236,236,229,.97);backdrop-filter:blur(12px);border-bottom:1px solid #c8cdc0;margin-bottom:24px;transition:top .25s ease}
.category-tabs[hidden],.category-panel[hidden]{display:none!important}
.category-tabs button{position:relative;min-height:48px;padding:10px 0;background:transparent;border:0;color:#676b62;font-size:16px;font-weight:500}
.category-tabs button:after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;background:transparent;transition:background .2s}
.category-tabs button:hover{color:var(--accent)}
.category-tabs button[aria-selected="true"]{color:var(--ink)}
.category-tabs button[aria-selected="true"]:after{background:var(--accent)}
.site-header.is-scrolled:not(.is-hidden)~main .category-tabs{top:84px}
.category-panel{scroll-margin-top:100px}
.category-panel.gallery-expanded{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:2px;align-items:start}
.category-panel .category-note{grid-column:1/-1;order:0;width:calc(100% - var(--page)*2);max-width:1600px;margin:0 auto 24px;color:#656a60;font-size:14px;line-height:1.6;text-align:center}
.photo-placeholder{aspect-ratio:3/2;display:grid;place-items:center;background:#dcded5}
.photo-placeholder:nth-child(3n+2){background:#d3d7cd}.photo-placeholder:nth-child(3n){background:#e1e3db}
.placeholder-frame{width:32px;height:24px;border:1px solid #949b8b;border-radius:2px;opacity:.55;position:relative}
.placeholder-frame:after{content:"";position:absolute;width:6px;height:6px;border:1px solid #949b8b;border-radius:50%;top:4px;right:5px}
.category-panel.gallery-expanded .photo-placeholder:nth-last-child(-n+2){aspect-ratio:3/2}
@media(max-width:1000px){.category-panel.gallery-expanded{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.category-tabs{gap:30px;padding:10px 22px;margin-bottom:18px}.category-tabs button{font-size:14px}.site-header.is-scrolled:not(.is-hidden)~main .category-tabs{top:90px}.category-panel .category-note{font-size:13px;margin-bottom:20px}}
@media(max-width:360px){.category-tabs{gap:24px}.category-tabs button{font-size:13px}}

/* Film tiles share the photography rhythm, with text placed on the image. */
.work.page-width{width:100%;max-width:none}
.work .section-heading{width:calc(100% - var(--page)*2);max-width:1600px;margin-inline:auto}
.film-grid{gap:2px;margin-top:2px}
.film-overlay{position:absolute;inset:auto 0 0;z-index:2;display:flex;align-items:flex-end;justify-content:space-between;gap:24px;padding:clamp(22px,3vw,44px);color:var(--white);pointer-events:none}
.film-overlay h3{font-size:clamp(24px,2.6vw,38px);font-weight:400;line-height:1.15;letter-spacing:-.7px;text-shadow:0 1px 8px #0006}
.film-overlay p{font-size:14px;line-height:1.6;margin-top:8px;color:#eeeee7}
.film-overlay .role{font-size:12px;margin:0;text-align:right}
.film-image:after{background:linear-gradient(0deg,rgba(0,0,0,.8),rgba(0,0,0,.2) 35%,transparent 65%)}
.film-grid .small-play{left:auto;right:clamp(22px,3vw,44px);bottom:clamp(22px,3vw,44px);z-index:3;background:#15161433}
.film-grid .film-overlay{padding-right:100px}
.film-feature .image-tag{left:clamp(22px,3vw,44px);top:clamp(22px,3vw,44px)}
.film-image:focus-visible{outline-offset:-5px;z-index:3}
@media(max-width:700px){.film-grid{grid-template-columns:1fr;gap:2px;margin-top:2px}.film-feature .film-image{aspect-ratio:3/2}.film-overlay{padding:22px;gap:14px}.film-overlay h3,.film-grid h3{font-size:24px}.film-overlay p{font-size:13px;margin-top:5px}.film-overlay .role{font-size:10px;max-width:120px;line-height:1.5}.film-grid .film-overlay{padding-right:80px}.film-grid .small-play{right:22px;bottom:22px}.film-feature .large-play{width:54px;height:54px}}

/* Finish incomplete rows without empty cells as each category's selection changes. */
@media(min-width:1001px){
 .category-panel.gallery-expanded{grid-template-columns:repeat(12,minmax(0,1fr))}
 .category-panel.gallery-expanded figure{grid-column:span 3}
 .category-panel.gallery-expanded[data-remainder="2"] .gallery-grid figure:nth-last-child(-n+2){grid-column:span 6}
 .category-panel.gallery-expanded[data-remainder="3"] .gallery-grid figure:nth-last-child(-n+3){grid-column:span 4}
 .category-panel.gallery-expanded[data-remainder="1"] .gallery-grid figure:last-child{grid-column:1/-1}
}
@media(max-width:1000px){.category-panel.gallery-expanded.has-odd-count .gallery-grid figure:last-child{grid-column:1/-1}}

/* Additional films use the same tiles and disclosure as photography. */
.film-controls{width:calc(100% - var(--page)*2);max-width:1600px;margin:28px auto 0;border-color:#45483f}
.film-more[hidden]{display:none}
.film-more>.film-grid{margin-top:2px}

/* Eight-film overview: four columns on desktop, matching the photography grid spacing. */
.film-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
.film-grid article{min-width:0}
.film-grid .film-overlay{padding:16px;gap:0}
.film-grid .film-overlay h3{font-size:clamp(18px,1.65vw,28px);line-height:1.12;letter-spacing:-.45px}
.film-grid .film-overlay p{font-size:clamp(10px,.85vw,13px);line-height:1.4;margin-top:6px}
.film-grid .small-play{width:32px;height:32px;left:auto;right:14px;top:14px;bottom:auto}
.film-controls[hidden]{display:none}
@media(max-width:1000px) and (min-width:701px){
 .film-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .film-grid .film-overlay h3{font-size:24px}
 .film-grid .film-overlay p{font-size:12px}
}
@media(max-width:700px){
 .film-grid{grid-template-columns:1fr}
 .film-grid .film-overlay{padding:22px}
 .film-grid .film-overlay h3{font-size:24px}
 .film-grid .film-overlay p{font-size:12px}
 .film-grid .small-play{width:36px;height:36px;right:18px;top:18px}
}

/* Crop the baked-in 108px letterbox bars from the 720px Audi poster. */
.audi-image img{position:absolute;top:-21.429%;height:142.858%;max-height:none}

/* Unified collection controls, contrast and measured spacing. */
.category-panel.gallery-expanded .gallery-controls{order:3;grid-column:1/-1;margin:28px auto 0}
.category-panel.gallery-expanded .gallery-count{display:block}
.film-controls .gallery-count{color:#b4b7ae}
.site-header:not(.is-scrolled){background:linear-gradient(180deg,rgba(10,13,12,.72),rgba(10,13,12,.32) 70%,transparent)}
.site-header.menu-open{background:var(--ink)}
.about{padding-block:110px;row-gap:clamp(36px,7vw,120px)}
.contact-bottom{align-items:flex-start}
@media(max-width:700px){
 .about{padding-block:56px;gap:28px}
 .clients{padding-block:24px;gap:16px}
 .clients .brand-grid{gap:8px 24px}
 .clients .brand{height:56px;gap:5px}
 .brand img{max-height:36px;max-width:122px}
 .clients .brand span{font-size:9px;line-height:1.2}
 .category-panel.gallery-expanded .gallery-controls{margin-top:24px}
}

/* Privacy stays available without interrupting a portfolio visit. */
.privacy-links{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:10px 24px;margin-top:14px}
.privacy-links button,.privacy-inline{border:0;background:transparent;padding:10px 0;color:inherit;font-size:12px;line-height:1.5;text-decoration:underline;text-underline-offset:4px;min-height:44px}
.privacy-links{color:#62665d}.privacy-links button:hover,.privacy-inline:hover{color:var(--accent)}
.privacy-dialog{width:calc(100% - 44px);max-width:720px;max-height:88svh;padding:28px;border:1px solid #45483f;background:var(--ink);color:var(--white);overflow:auto}
.privacy-dialog::backdrop{background:#000a;backdrop-filter:blur(5px)}
.privacy-dialog .dialog-header{position:sticky;top:-28px;margin:-28px -28px 24px;padding:18px 28px;background:var(--ink);border-bottom:1px solid var(--line);z-index:1}
.privacy-dialog p{font-size:14px;line-height:1.75;color:#bfc2b8;margin-top:14px}
.privacy-dialog .privacy-summary{font-size:21px;color:var(--white);line-height:1.4}
.privacy-dialog h3{font-size:19px;font-weight:500}
.privacy-dialog a{text-decoration:underline;text-underline-offset:3px}
.privacy-dialog a:hover{color:var(--accent)}
.privacy-video-info{padding:22px 0;margin-top:20px;border-block:1px solid var(--line)}
.privacy-dialog details{border-bottom:1px solid var(--line);padding:18px 0}
.privacy-dialog summary{cursor:pointer;font-size:15px;line-height:1.5}
.privacy-dialog summary:focus-visible{outline:2px solid var(--accent);outline-offset:5px}
.privacy-dialog code{overflow-wrap:anywhere;font-size:12px}
.privacy-small,.privacy-dialog .privacy-small{font-size:12px;line-height:1.65;color:#aeb2a7}
.privacy-updated{border-top:1px solid var(--line);padding-top:18px}

@media(max-width:700px){
 .privacy-links{justify-content:flex-start}
 .privacy-dialog{width:calc(100% - 20px);padding:20px;max-height:92svh}
 .privacy-dialog .dialog-header{top:-20px;margin:-20px -20px 20px;padding:12px 20px}
 .privacy-dialog .dialog-header h2{font-size:18px}
}
