@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600&display=swap');
:root{--paper:#f4f0e8;--ink:#2b2d26;--muted:#67685e;--olive:#484d3c;--clay:#9b573b;--line:#d6d2c7;--serif:Georgia,'Times New Roman',serif;--sans:'DM Sans',Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.65 var(--sans)}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #b86c46;outline-offset:5px}img{max-width:100%;display:block}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:var(--serif);font-weight:400;line-height:1.06}h1{font-size:clamp(52px,6.4vw,100px);letter-spacing:-.055em}h2{font-size:clamp(40px,4.4vw,66px);letter-spacing:-.045em}h3{font-size:30px;letter-spacing:-.025em}em{font-weight:400;color:var(--clay)}p+p{margin-top:20px}.wrap{max-width:1400px;margin:auto;padding:0 6vw}.eyebrow{font-size:11px;letter-spacing:.19em;text-transform:uppercase;font-weight:600;line-height:1.7}.section{padding:110px 0}.small{font-size:13px}.muted{color:var(--muted)}.skip{position:absolute;top:-70px;left:15px;z-index:99;background:var(--paper);padding:12px}.skip:focus{top:5px}.site-header{display:flex;align-items:center;justify-content:space-between;gap:30px;height:110px;max-width:1600px;margin:auto;padding:0 5vw;border-bottom:1px solid var(--line)}.brand{width:174px;flex-shrink:0}.brand img{width:100%;mix-blend-mode:multiply}.nav{display:flex;align-items:center;gap:30px;font-size:13px}.nav>a:not(.button){padding:8px 0;border-bottom:1px solid transparent}.nav>a:hover,.nav>a[aria-current=page]{border-color:var(--ink)}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:30px;background:var(--ink);color:var(--paper);font-size:13px;padding:16px 24px;line-height:1.5;border:1px solid var(--ink);transition:background .2s}.button:hover{background:var(--clay);border-color:var(--clay)}.button.light{background:var(--paper);color:var(--ink);border-color:var(--paper)}.button.outline{background:transparent;color:var(--ink)}.button.outline:hover{background:#e8e1d6}.text-link{display:inline-flex;align-items:center;gap:22px;font-size:13px;border-bottom:1px solid;padding:9px 0}.text-link:hover{color:var(--clay)}.menu-toggle{display:none;background:transparent;border:1px solid var(--line);padding:8px 14px}.hero{display:grid;grid-template-columns:1.02fr 1fr;gap:5vw;padding-top:54px;padding-bottom:60px;align-items:center;min-height:690px}.hero h1{margin:28px 0}.hero .intro{max-width:380px;font-size:15px;color:var(--muted);margin:26px 0 30px}.hero-media{position:relative;align-self:stretch;min-height:560px}.hero-media>img{height:100%;width:100%;object-fit:cover;object-position:50% 38%}.hero-note{position:absolute;bottom:22px;right:24px;background:var(--paper);padding:13px 19px;font-size:10px;letter-spacing:.16em;text-transform:uppercase}.hero-foot{display:flex;align-items:center;gap:16px;margin-top:40px;font-size:10px;text-transform:uppercase;letter-spacing:.13em}.hero-foot:before{content:'';width:34px;height:1px;background:var(--clay)}.ticker{background:var(--olive);color:#edeade;display:flex;justify-content:center;flex-wrap:wrap;gap:12px 44px;padding:22px 6vw;font-size:10px;letter-spacing:.17em;text-transform:uppercase}.ticker span+span:before{content:'✦';margin-right:42px;color:#b9b697}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:45px}.section-heading .eyebrow{margin-bottom:16px}.work-grid{display:grid;grid-template-columns:1fr 1.22fr 1fr;gap:24px;align-items:start}.work-grid a:nth-child(2){padding-top:65px}.work-grid img{height:390px;width:100%;object-fit:cover;transition:transform .45s}.work-grid a:nth-child(2) img{height:300px}.image-frame{overflow:hidden}.work-grid a:hover img{transform:scale(1.025)}.work-caption{display:flex;justify-content:space-between;align-items:center;margin-top:18px;gap:10px}.work-caption h3{font-size:23px}.work-caption span{font-size:11px;color:var(--muted)}.belief{background:#e7e2d7;text-align:center;padding:90px 10vw}.belief h2{max-width:940px;margin:24px auto}.belief p:last-child{max-width:570px;margin:25px auto 0;font-size:15px;color:var(--muted)}.services{display:grid;grid-template-columns:.9fr 1.1fr;gap:8vw}.services .lead{max-width:360px;margin-top:22px;color:var(--muted)}.service-row{padding:27px 0;border-top:1px solid var(--line)}.service-row:last-child{border-bottom:1px solid var(--line)}.service-row .top{display:flex;gap:20px;align-items:baseline}.service-row .num{color:var(--clay);font-size:11px}.service-row h3{font-size:34px}.service-row p{margin:16px 0 12px 35px;max-width:470px;font-size:14px;color:var(--muted)}.service-row .text-link{margin-left:35px}.about-split{display:grid;grid-template-columns:1fr 1fr;gap:8vw;align-items:center}.about-split .photo{width:100%;height:590px;object-fit:cover}.about-split .eyebrow{margin-bottom:20px}.about-split h2{margin-bottom:25px}.about-split .copy{font-size:15px;color:var(--muted)}.about-split .text-link{margin-top:24px}.location-band{background:var(--olive);color:var(--paper);padding:72px 0}.location-band .wrap{display:flex;justify-content:space-between;align-items:center;gap:50px}.location-band h2{font-size:clamp(35px,3.5vw,50px);max-width:550px}.location-band p{max-width:390px;font-size:14px;color:#d3d4c8;margin:17px 0}.location-links{display:flex;flex-wrap:wrap;gap:22px}.location-links a:hover{color:#e2b194}.cta{padding:105px 6vw;text-align:center}.cta .eyebrow{margin-bottom:22px}.cta h2{margin:0 auto 30px;max-width:800px}.site-footer{padding:48px 6vw 22px;border-top:1px solid var(--line)}.footer-top{display:flex;justify-content:space-between;gap:30px;max-width:1400px;margin:0 auto 42px}.footer-brand{max-width:300px}.footer-brand img{width:180px;mix-blend-mode:multiply;margin-bottom:18px}.footer-links{display:flex;gap:55px;font-size:13px}.footer-links div{display:flex;flex-direction:column;gap:8px}.footer-links a:hover{text-decoration:underline}.footer-bottom{border-top:1px solid var(--line);padding-top:20px;display:flex;justify-content:space-between;gap:20px;font-size:10px;letter-spacing:.07em;color:var(--muted);max-width:1400px;margin:auto}.page-head{padding:85px 0 55px}.page-head .eyebrow{margin-bottom:25px}.page-head h1{max-width:1000px}.page-head .lead{font-size:17px;color:var(--muted);max-width:620px;margin-top:28px}.wide-image{height:520px;width:100%;object-fit:cover}.page-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:45px 65px}.offering{border-top:1px solid var(--line);padding-top:27px}.offering p{font-size:15px;color:var(--muted);margin-top:17px}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:40px;margin-top:45px}.steps .eyebrow{color:var(--clay);margin-bottom:20px}.steps h3{font-size:27px;margin-bottom:16px}.steps p{font-size:14px;color:var(--muted)}.faq{max-width:800px;margin:auto}.faq h2{margin-bottom:35px}details{border-top:1px solid var(--line);padding:22px 0}details:last-child{border-bottom:1px solid var(--line)}summary{cursor:pointer;font-size:16px}details p{padding-top:15px;color:var(--muted);font-size:14px}.filters{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:35px}.filter{padding:11px 22px;background:transparent;border:1px solid var(--line);color:var(--ink);font-size:12px}.filter[aria-pressed=true]{background:var(--olive);border-color:var(--olive);color:var(--paper)}.gallery{columns:3;column-gap:25px}.gallery-item{display:block;break-inside:avoid;margin:0 0 27px;width:100%;padding:0;text-align:left;border:0;background:transparent;color:var(--ink)}.gallery-item[hidden]{display:none}.gallery-item img{width:100%;transition:opacity .2s}.gallery-item:hover img{opacity:.85}.gallery-item .small{display:block;margin-top:10px;font-size:11px}.gallery-status{font-size:12px;color:var(--muted);margin-bottom:20px}dialog{border:0;padding:28px;background:#21231e;color:var(--paper);max-width:96vw;width:1100px;max-height:95vh}dialog::backdrop{background:#10120fef}.lightbox-img{height:72vh;max-width:100%;object-fit:contain;margin:auto}.dialog-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px}.dialog-top button,.dialog-controls button{background:transparent;border:1px solid #77796d;color:var(--paper);padding:8px 15px}.dialog-controls{display:flex;justify-content:space-between;align-items:center;margin-top:15px;gap:16px;font-size:12px}.bio-text p{color:var(--muted);font-size:15px}.bio-text h1{margin:20px 0 28px}.bio-text .signature{font-family:var(--serif);font-style:italic;font-size:35px;color:var(--clay);margin-top:27px}.bio-photo{height:760px;width:100%;object-fit:cover}.film-banner{position:relative;background:var(--olive);color:var(--paper);padding:90px 8vw;overflow:hidden}.film-banner .film-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.25}.film-banner .content{position:relative;max-width:650px}.film-banner h2{font-size:clamp(48px,6vw,85px);margin:20px 0 30px}.contact-layout{display:grid;grid-template-columns:.9fr 1.1fr;gap:8vw;padding:80px 0 100px}.contact-layout h1{font-size:clamp(55px,6vw,88px);margin:25px 0}.contact-layout .lead{max-width:390px;color:var(--muted);font-size:15px}.contact-email{margin:30px 0;overflow-wrap:anywhere}.contact-email a{font-size:15px;border-bottom:1px solid}.contact-meta{border-top:1px solid var(--line);padding-top:25px;margin-top:35px;font-size:13px}.contact-meta p+p{margin-top:9px}.contact-form{background:#e9e4d9;padding:38px}.contact-form label{display:block;font-size:12px;margin-bottom:8px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:20px}.field{margin-bottom:22px}input,select,textarea{width:100%;background:transparent;border:0;border-bottom:1px solid #aaa99c;border-radius:0;padding:9px 0 12px;color:var(--ink);font-size:14px}textarea{resize:vertical;min-height:115px}select{cursor:pointer}.form-note{font-size:11px;color:var(--muted);margin:18px 0 0;line-height:1.7}.form-status{font-size:13px;margin-top:18px}.contact-form .button{width:100%}.location-intro{display:grid;grid-template-columns:1.2fr 1fr;gap:6vw;align-items:center}.location-intro img{width:100%;height:520px;object-fit:cover}.location-intro .lead{max-width:550px}.location-note{font-size:11px;color:var(--muted);margin-top:12px}.preview-label{position:fixed;bottom:12px;left:12px;background:var(--ink);color:var(--paper);padding:7px 12px;font-size:10px;letter-spacing:.08em;z-index:12;box-shadow:0 2px 10px #0002}.preview-label span{opacity:.7}.empty{padding:20px 0}body:has(dialog[open]){overflow:hidden}
@media(min-width:1600px){.hero{min-height:780px}.hero-media{min-height:650px}}
@media(max-width:1000px){.nav{gap:18px}.site-header{padding:0 4vw}.brand{width:145px}.wrap{padding:0 5vw}.hero{gap:4vw}.hero h1{font-size:70px}.hero-media{min-height:520px}.section{padding:80px 0}.work-grid img{height:300px}.work-grid a:nth-child(2) img{height:240px}.about-split,.services{gap:5vw}.about-split .photo{height:520px}.footer-links{gap:30px}.bio-photo{height:660px}.contact-form{padding:26px}.contact-layout{gap:4vw}}
@media(max-width:760px){.site-header{height:85px}.brand{width:145px}.menu-toggle{display:block}.nav{display:none;position:absolute;top:85px;left:0;right:0;background:var(--paper);z-index:30;padding:25px 6vw;border-bottom:1px solid var(--line);align-items:stretch}.nav.is-open{display:flex;flex-direction:column;gap:14px}.nav>a:not(.button){font-size:16px;padding:10px 0}.nav .button{margin-top:8px}.wrap{padding:0 6vw}.hero{grid-template-columns:1fr;padding-top:40px;gap:35px}.hero h1{font-size:clamp(60px,12vw,88px);margin:20px 0}.hero .intro{max-width:460px;margin:20px 0 25px}.hero-foot{margin-top:25px}.hero-media{height:500px;min-height:0}.hero-note{right:15px;bottom:15px}.ticker{gap:10px 20px;font-size:9px;line-height:2}.ticker span+span:before{display:none}.section{padding:65px 0}.section-heading{align-items:start;flex-direction:column;gap:20px;margin-bottom:30px}.work-grid{grid-template-columns:1fr;gap:32px}.work-grid a:nth-child(2){padding-top:0}.work-grid img{height:auto;max-height:570px;object-fit:cover}.work-grid a:nth-child(2) img{height:auto}.belief{padding:60px 6vw}.belief h2{font-size:37px}.services,.about-split,.contact-layout,.location-intro{grid-template-columns:1fr;gap:38px}.services .lead{max-width:none}.about-split .photo{height:500px}.location-band{padding:55px 0}.location-band .wrap{flex-direction:column;gap:20px;align-items:start}.cta{padding:70px 6vw}.footer-top{flex-direction:column;gap:35px}.footer-links{gap:45px;flex-wrap:wrap}.footer-bottom{flex-direction:column;gap:8px}.page-head{padding:55px 0 40px}h1{font-size:60px}.page-head .lead{font-size:15px}.page-grid{grid-template-columns:1fr;gap:35px}.steps{grid-template-columns:1fr;gap:35px}.wide-image{height:370px}.gallery{columns:2;column-gap:14px}.gallery-item{margin-bottom:20px}.filters{gap:8px}.filter{padding:9px 13px}.bio-photo{height:550px}.film-banner{padding:60px 6vw}.contact-layout{padding:45px 0 60px}.contact-form{padding:25px 20px}.form-row{grid-template-columns:1fr;gap:0}.location-intro img{height:390px}dialog{padding:18px}.lightbox-img{height:64vh}.dialog-controls{font-size:10px}.dialog-controls button{padding:8px}.preview-label{bottom:7px;left:7px;font-size:9px}.section h2{font-size:42px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

/* Immersive opening, followed immediately by client photography. */
.brand .brand-light{display:none}
body:has(.hero-cinematic) .site-header{position:absolute;inset:0 0 auto;max-width:none;width:100%;z-index:20;border-bottom:1px solid #ffffff30;color:#fff;background:linear-gradient(#15202255,transparent)}
body:has(.hero-cinematic) .brand-dark{display:none}
body:has(.hero-cinematic) .brand .brand-light{display:block;mix-blend-mode:normal}
body:has(.hero-cinematic) .nav>a:hover,body:has(.hero-cinematic) .nav>a[aria-current=page]{border-color:#fff}
body:has(.hero-cinematic) .nav .button{background:#f4f0e8;color:#252b29;border-color:#f4f0e8}
body:has(.hero-cinematic) .nav .button:hover{background:#e4d8c6;border-color:#e4d8c6}
.hero-cinematic{height:100vh;height:100svh;min-height:690px;position:relative;isolation:isolate;overflow:hidden;background:#1c3039;color:#fff;display:flex;align-items:center;justify-content:center;padding:160px 6vw 140px}
.hero-poster,.hero-video,.hero-shade{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;z-index:-3}
.hero-video{z-index:-2;opacity:0;transition:opacity .6s}
.hero-video.is-playing{opacity:1}
.hero-shade{z-index:-1;background:linear-gradient(180deg,rgba(8,18,24,.18) 0%,rgba(8,18,24,.12) 25%,rgba(8,18,24,.38) 57%,rgba(8,18,24,.6) 100%)}
.cinematic-copy{text-align:center;max-width:1300px;margin-top:60px;text-shadow:0 2px 24px #0005}
.cinematic-copy .eyebrow{font-size:11px;letter-spacing:.24em;margin-bottom:26px;color:#f4f0e8}
.cinematic-copy h1{font-size:clamp(66px,7.8vw,124px);line-height:1.04;letter-spacing:-.045em;color:#fff}
.cinematic-copy h1 em{color:#fff}
.cinematic-intro{font-size:15px;letter-spacing:.015em;margin:27px auto 0;max-width:580px;color:#f6f3ed}
.hero-work-link{display:inline-flex;gap:30px;align-items:center;border-bottom:1px solid #ffffff90;padding:12px 0;margin-top:23px;font-size:12px;letter-spacing:.07em;text-shadow:none}
.hero-work-link:hover{border-color:white}
.hero-bottom{position:absolute;left:5vw;right:5vw;bottom:28px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:30px}
.hero-bottom p{font-size:9px;letter-spacing:.11em;text-transform:uppercase;max-width:300px;line-height:1.8}
.scroll-cue{display:flex;flex-direction:column;align-items:center;gap:12px;font-size:9px;letter-spacing:.15em;text-transform:uppercase}
.scroll-cue span{font-size:22px;font-weight:400}
.video-toggle{justify-self:end;display:flex;align-items:center;gap:10px;border:1px solid #ffffff65;border-radius:0;background:#0e1c2455;color:white;padding:10px 14px;font-size:11px;min-height:42px}
.video-toggle:hover{background:#0e1c2499}
.selected-work{scroll-margin-top:25px;outline:none}
.client-work-grid{grid-template-columns:1fr 1.2fr;gap:40px;align-items:start}
.client-work-grid a:nth-child(2){padding-top:0}
.client-work-grid img{height:500px}
.client-work-grid a:nth-child(2) img{height:410px}
@media(max-width:1000px){.hero-bottom{gap:18px}.hero-bottom p{font-size:8px;max-width:220px}.client-work-grid img{height:430px}.client-work-grid a:nth-child(2) img{height:350px}}
@media(max-width:760px){
 body:has(.hero-cinematic) .menu-toggle{color:white;border-color:#ffffff70;background:#1a29293d}
 body:has(.hero-cinematic) .nav{background:var(--paper);color:var(--ink)}
 body:has(.hero-cinematic) .nav>a:hover{border-color:var(--ink)}
 body:has(.hero-cinematic) .nav .button{background:var(--ink);color:var(--paper);border-color:var(--ink)}
 .hero-cinematic{min-height:640px;padding:135px 6vw 160px}
 .hero-poster,.hero-video{object-position:51% center}
 .cinematic-copy{margin-top:15px}
 .cinematic-copy h1{font-size:clamp(51px,10.3vw,78px);line-height:1.1}
 .cinematic-copy .eyebrow{font-size:9px;letter-spacing:.15em;margin-bottom:23px}
 .cinematic-intro{font-size:13px;max-width:290px;line-height:1.7;margin-top:23px}
 .hero-work-link{margin-top:19px;font-size:11px}
 .hero-bottom{bottom:30px;left:6vw;right:6vw;grid-template-columns:1fr auto;gap:18px}
 .hero-bottom p{grid-column:1/-1;max-width:none;font-size:8px;text-align:center}
 .scroll-cue{align-items:start;gap:7px;font-size:8px;max-width:190px}
 .video-toggle{padding:8px 10px;font-size:10px}
 .client-work-grid{grid-template-columns:1fr;gap:32px}
 .client-work-grid img,.client-work-grid a:nth-child(2) img{height:auto;max-height:580px}
}
@media(prefers-reduced-motion:reduce){.hero-video{transition:none}}

/* Client film and new portrait collection. */
.featured-film{padding-bottom:65px}.film-heading{display:flex;align-items:center;justify-content:space-between;gap:25px;margin:5px 0 28px}.film-heading h2{font-size:48px;margin:10px 0}.sound-toggle{background:var(--olive);border:1px solid var(--olive);color:var(--paper);padding:15px 22px;font-size:13px;min-height:48px}.sound-toggle[aria-pressed=true]{background:var(--paper);color:var(--ink)}.film-player{background:#141713}.client-film{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:contain}.film-under{display:flex;justify-content:space-between;align-items:start;gap:25px;margin-top:17px}.film-restart{background:transparent;border:0;border-bottom:1px solid var(--ink);padding:0 0 5px;font-size:12px;white-space:nowrap;color:var(--ink)}.film-status{font-size:12px}.client-work-grid{grid-template-columns:1fr 1fr 1fr;gap:25px}.client-work-grid img,.client-work-grid a:nth-child(2) img{height:340px}.client-work-grid .work-caption{align-items:start;flex-direction:column;gap:6px}.film-work-card .image-frame{position:relative}.film-work-card .image-frame img{object-position:50% 30%}.film-card-play{position:absolute;bottom:20px;left:20px;background:var(--paper);color:var(--ink);padding:9px 15px;font-size:11px}.portrait-opening{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;align-items:start}.portrait-opening img{width:100%;object-fit:cover}.portrait-lead img,.portrait-secondary img{display:block;height:auto;aspect-ratio:4/5;object-fit:cover;object-position:50% 50%}.portrait-secondary{padding-top:0}.portrait-secondary img{object-position:50% 70%}.portrait-opening>.eyebrow{grid-column:1/-1;margin:0;text-align:center}.portrait-atmosphere{min-height:480px;display:flex;align-items:center;position:relative;isolation:isolate;overflow:hidden;background:var(--ink);color:var(--paper);padding:60px 0}.portrait-atmosphere>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:70% 50%;z-index:-2}.portrait-atmosphere:before{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#18201bf0 0%,#18201b90 48%,#18201b15 100%);z-index:-1}.portrait-atmosphere .wrap{width:100%}.portrait-atmosphere h2{font-size:75px;margin:20px 0}.portrait-atmosphere em{color:#e0c09a}.portrait-atmosphere p:last-child{max-width:360px;font-size:15px}.portrait-story{display:grid;grid-template-columns:1fr 1fr 1fr;gap:25px}.portrait-story img{width:100%;height:450px;object-fit:cover}.portrait-story>div:nth-child(2){padding-top:55px}
@media(max-width:1000px){.client-work-grid img,.client-work-grid a:nth-child(2) img{height:280px}.portrait-lead img{height:570px}.portrait-secondary img{height:390px}.portrait-story img{height:380px}}
@media(max-width:760px){.film-heading{align-items:start;flex-direction:column;gap:18px}.film-heading h2{font-size:40px}.sound-toggle{width:100%}.film-under{flex-direction:column;gap:13px}.featured-film{padding-bottom:30px}.client-work-grid{grid-template-columns:1fr;gap:35px}.client-work-grid img,.client-work-grid a:nth-child(2) img{height:auto;max-height:580px}.client-work-grid .film-work-card img{aspect-ratio:16/9;object-fit:cover}.client-work-grid .work-caption{flex-direction:row;align-items:center}.portrait-opening{gap:24px;grid-template-columns:1fr}.portrait-lead img,.portrait-secondary img{height:auto;max-height:none;aspect-ratio:4/5}.portrait-secondary{padding-top:0}.portrait-opening>.eyebrow{font-size:10px}.portrait-atmosphere{min-height:430px}.portrait-atmosphere h2{font-size:60px}.portrait-atmosphere>img{object-position:70% 50%}.portrait-atmosphere:before{background:linear-gradient(90deg,#18201bcc,#18201b66)}.portrait-story{grid-template-columns:1fr;gap:25px}.portrait-story img{height:auto;max-height:650px}.portrait-story>div:nth-child(2){padding-top:0}}

/* Keep the complete closing title visible in the homepage film card. */
.client-work-grid .film-work-card .image-frame img{object-fit:contain;object-position:center;background:#000}

.contact-embed{min-width:0;width:100%}.contact-embed iframe{display:block;max-width:100%;background:#fffaf1;border-radius:12px}.contact-embed .form-note{padding:18px 8px}.contact-embed .form-note a{text-decoration:underline;text-underline-offset:3px}

/* Mobile launch pass: gutters, touch controls, short screens and stable media. */
img{height:auto}
.wrap.section,.wrap.page-head,.wrap.contact-layout{padding-left:6vw;padding-right:6vw}
.portrait-lead img,.portrait-secondary img{height:auto;aspect-ratio:4/5}
.menu-toggle,.filter,.video-toggle,.film-restart,.dialog-top button,.dialog-controls button{min-height:44px}
.footer-links a{display:inline-flex;align-items:center;min-height:44px}
.contact-embed .form-note{font-size:13px;overflow-wrap:anywhere}
@media(max-width:1000px){.contact-layout{grid-template-columns:1fr;gap:35px}.contact-layout .lead{max-width:620px}.contact-embed{max-width:800px;margin:auto}}
@media(max-width:760px){
 .site-header{gap:16px}.nav{max-height:calc(100svh - 85px);overflow-y:auto;overscroll-behavior:contain}
 .cinematic-copy h1{font-size:clamp(40px,10vw,72px)}
 .hero-cinematic{min-height:620px;padding-bottom:170px}
 .hero-bottom{bottom:max(20px,env(safe-area-inset-bottom))}
 .page-head h1,.bio-text h1,.contact-layout h1{font-size:clamp(42px,11vw,60px)}
 .section h2,.belief h2{font-size:clamp(33px,9vw,42px)}
 .portrait-atmosphere h2{font-size:clamp(40px,11vw,60px)}
 .about-split .photo,.bio-photo{height:auto;aspect-ratio:4/5;object-fit:cover}
 .client-work-grid .work-caption{align-items:start;flex-direction:column}
 .gallery{column-gap:12px}.gallery-item .small{line-height:1.5}
 dialog{width:94vw;max-height:94svh;padding:16px}
 .lightbox-img{height:58svh;width:100%;object-fit:contain}
 .dialog-controls{display:grid;grid-template-columns:1fr auto 1fr;gap:10px}
 #image-caption{grid-column:1/-1;grid-row:2;font-size:12px;line-height:1.5}
 .dialog-controls button{padding:8px;font-size:12px}
 .dialog-top .eyebrow{font-size:9px}
 .film-restart{white-space:normal;text-align:left}.film-heading h2{font-size:36px}
 .footer-links{gap:20px 32px}.footer-links>div{min-width:0}
 .contact-layout{padding-top:35px}.contact-meta{margin-top:24px}.contact-embed iframe{border-radius:8px}
}
@media(max-width:360px){.gallery{columns:1}.hero-cinematic{padding-left:5vw;padding-right:5vw}.cinematic-copy .eyebrow{font-size:8px}.service-row h3{font-size:29px}}
@media(max-width:960px) and (max-height:600px) and (orientation:landscape){.hero-cinematic{height:auto;min-height:680px}.lightbox-img{height:45svh}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important}}

/* Consistent vector arrows and a balanced hero footer. */
.arrow-icon{display:inline-block;width:1.1em;height:1.1em;min-width:1.1em;vertical-align:-.16em;flex-shrink:0}
.hero-work-link .arrow-icon,.scroll-cue .arrow-icon{width:22px;height:22px;min-width:22px}
.hero-bottom>p{grid-column:1/-1;max-width:none;white-space:nowrap;text-align:center}
.hero-bottom .scroll-cue{grid-column:2}
.hero-bottom .video-toggle{grid-column:3}
@media(max-width:760px){
 .hero-bottom{grid-template-columns:minmax(0,1fr);gap:18px}
 .hero-bottom>p{font-size:clamp(7.5px,2.15vw,10px);letter-spacing:0;text-transform:none;line-height:1.5;white-space:nowrap}
 .hero-bottom .video-toggle{display:none}
 .hero-bottom .scroll-cue{grid-column:1;justify-self:center;align-items:center;max-width:none;text-align:center;font-size:9px;letter-spacing:.09em;gap:9px}
}

/* Logo opening: hold 1.5 seconds, then gently reveal the homepage. */
.hero-logo-intro{position:absolute;inset:0;z-index:1;display:flex;align-items:center;justify-content:center;padding:6vw;pointer-events:none;animation:intro-logo-away 1.4s ease-in-out 1.5s both}
.hero-logo-intro img{width:min(660px,76vw);height:auto;filter:drop-shadow(0 3px 18px #0004)}
.hero-cinematic .hero-poster,.hero-cinematic .hero-video{animation:intro-mountains-clear 1.4s ease-in-out 1.5s both}
.hero-cinematic .cinematic-copy,.hero-cinematic .hero-bottom,body:has(.hero-cinematic) .site-header{animation:intro-copy-arrive 1.4s ease-in-out 2.9s both}
.hero-cinematic .cinematic-copy:focus-within,.hero-cinematic .hero-bottom:focus-within,body:has(.hero-cinematic) .site-header:focus-within{animation:none}
@keyframes intro-logo-away{from{opacity:1;visibility:visible}to{opacity:0;visibility:hidden}}
@keyframes intro-mountains-clear{from{filter:blur(12px);transform:scale(1.06)}to{filter:blur(0);transform:scale(1)}}
@keyframes intro-copy-arrive{from{opacity:0;visibility:hidden;transform:translateY(8px)}to{opacity:1;visibility:visible;transform:translateY(0)}}
@media(max-width:760px){.hero-logo-intro img{width:82vw}.hero-cinematic .hero-poster,.hero-cinematic .hero-video{animation-name:intro-mountains-clear-mobile}}
@keyframes intro-mountains-clear-mobile{from{filter:blur(7px);transform:scale(1.05)}to{filter:blur(0);transform:scale(1)}}
@media(prefers-reduced-motion:reduce){
 .hero-logo-intro{display:none;animation:none}
 .hero-cinematic .hero-poster,.hero-cinematic .hero-video,.hero-cinematic .cinematic-copy,.hero-cinematic .hero-bottom,body:has(.hero-cinematic) .site-header{animation:none;filter:none;transform:none}
}

/* The opening timeline begins only after a decoded video frame is playing. */
.hero-logo-intro,.hero-cinematic .hero-poster,.hero-cinematic .hero-video,.hero-cinematic .cinematic-copy,.hero-cinematic .hero-bottom,body:has(.hero-cinematic) .site-header{animation-play-state:paused}
.hero-cinematic.intro-playing .hero-logo-intro,.hero-cinematic.intro-playing .hero-poster,.hero-cinematic.intro-playing .hero-video,.hero-cinematic.intro-playing .cinematic-copy,.hero-cinematic.intro-playing .hero-bottom,body:has(.hero-cinematic.intro-playing) .site-header{animation-play-state:running}
.hero-cinematic .hero-video{transition:none}
.hero-cinematic.intro-complete .hero-logo-intro{display:none;animation:none}
.hero-cinematic.intro-complete .hero-poster,.hero-cinematic.intro-complete .hero-video,.hero-cinematic.intro-complete .cinematic-copy,.hero-cinematic.intro-complete .hero-bottom,body:has(.hero-cinematic.intro-complete) .site-header{animation:none;filter:none;transform:none}
.hero-play-fallback{position:absolute;z-index:2;top:calc(50% + clamp(85px,15vw,170px));left:50%;transform:translateX(-50%);padding:12px 20px;background:#f4f0e8;color:#2b2d26;border:0;font-size:14px;min-height:44px}
.hero-play-fallback[hidden]{display:none}

.hero-bottom{grid-template-columns:1fr}.hero-bottom .scroll-cue{grid-column:1;justify-self:center}

/* Mobile hero uses a 3:5 width-to-height frame with room for its content. */
@media(max-width:760px){
 .hero-cinematic{width:100%;height:auto;min-height:0;aspect-ratio:3 / 5;padding:100px 6vw 110px}
 .cinematic-copy{margin-top:0}
 .cinematic-copy h1{font-size:clamp(34px,9.2vw,68px);line-height:1.08}
 .cinematic-copy .eyebrow{margin-bottom:14px}
 .cinematic-intro{margin-top:14px;font-size:12px;line-height:1.6}
 .hero-work-link{margin-top:12px;padding:8px 0}
 .hero-bottom{bottom:18px;gap:12px}
}

/* Avoid flashing the logo when returning home during the same tab session. */
html.dtv-intro-seen .hero-logo-intro{display:none;animation:none}
html.dtv-intro-seen .hero-cinematic .hero-poster,html.dtv-intro-seen .hero-cinematic .hero-video,html.dtv-intro-seen .hero-cinematic .cinematic-copy,html.dtv-intro-seen .hero-cinematic .hero-bottom,html.dtv-intro-seen body:has(.hero-cinematic) .site-header{animation:none;filter:none;transform:none}
.hero-cinematic.intro-complete .hero-play-fallback{top:auto;bottom:100px}

/* Slow forward logo movement follows the playback-gated opening timeline. */
.hero-logo-intro img{transform-origin:center;animation:intro-logo-approach 2.9s linear both;animation-play-state:paused}
.hero-cinematic.intro-playing .hero-logo-intro img{animation-play-state:running}
@keyframes intro-logo-approach{from{transform:scale(1)}to{transform:scale(1.053)}}
@media(prefers-reduced-motion:reduce){.hero-logo-intro img{animation:none;transform:none}}

/* Preserve the complete homepage portrait at every screen width. */
.about-split .photo.home-portrait{width:100%;height:auto;aspect-ratio:auto;object-fit:contain;max-height:none}
