/* Focused landing page: one film, real work, one primary action. */
.approach{padding:100px 0}.approach h2,.inquiry-guide h2{font-size:clamp(30px,3.8vw,54px);font-weight:400;letter-spacing:-.055em;line-height:1.45;margin:0 0 45px}.approach-list{display:grid;grid-template-columns:repeat(3,1fr);gap:40px}.approach article{border-top:1px solid #364854;padding-top:25px}.approach article>span{font-size:11px;color:var(--accent)}.approach h3,.work-notes h3{font-size:22px;font-weight:400;line-height:1.55;letter-spacing:-.04em}.approach article p{font-size:14px;color:var(--muted);line-height:1.95;word-break:keep-all}.work-notes{display:grid;grid-template-columns:1fr 1fr;gap:8%;margin-top:50px}.work-notes p{font-size:14px;line-height:2;color:#53646e;word-break:keep-all}.inquiry-guide{padding:90px 0 20px}.inquiry-guide details{border-bottom:1px solid #364854;padding:22px 0}.inquiry-guide summary{cursor:pointer;font-size:16px;line-height:1.6;min-height:32px}.inquiry-guide details p{color:var(--muted);font-size:14px;line-height:1.95;max-width:65ch}.inquiry-guide summary:focus-visible{outline:2px solid var(--accent);outline-offset:6px}
h1,h2{word-break:keep-all}
.scrub-mode .journey{height:360vh}
.stage{background:#080d12}
.hero-copy{left:8%;top:36%;width:47%;max-width:690px}
.hero-copy .eyebrow{margin-bottom:30px;font-size:9px;letter-spacing:2.2px}
.hero-desc{font-size:14px;line-height:1.9;margin-top:30px;color:#b5c0c8}
.hero-number{letter-spacing:2px}
.stage>.poster,.stage>#hero-video{inset:auto;top:17%;left:18%;width:82%;height:75%;object-fit:cover;mask-image:linear-gradient(to bottom,transparent,black 13%,black 85%,transparent),linear-gradient(to right,transparent,black 17%,black 89%,transparent);mask-composite:intersect;-webkit-mask-image:linear-gradient(to bottom,transparent,black 13%,black 85%,transparent),linear-gradient(to right,transparent,black 17%,black 89%,transparent);-webkit-mask-composite:source-in}
.stage .scrim{background:linear-gradient(90deg,#080d12b0,transparent 58%),linear-gradient(0deg,#080d12,transparent 14%)}
.proof{padding:115px 0 105px;background:#e8ece9;color:#1c2931}
.proof-heading{position:relative}.proof .eyebrow{color:#536974}
.proof h2{font-size:clamp(36px,4.5vw,70px);line-height:1.35;letter-spacing:-.055em;font-weight:400;margin:0}
.proof-intro{position:absolute;right:0;bottom:2px;font-size:14px;line-height:2;color:#53646e;margin:0}
.proof-photos{display:grid;grid-template-columns:1fr 1.2fr;gap:6%;align-items:start;margin-top:65px}
.proof figure{margin:0;min-width:0}.proof figure.detail-photo{margin-top:100px}
.proof figure img{width:100%;height:auto;aspect-ratio:1.25;object-fit:cover}
.proof figure.detail-photo img{aspect-ratio:1.35}
.proof figcaption{font-size:14px;letter-spacing:-.02em;margin-top:21px;display:flex;justify-content:space-between;gap:10px;align-items:center}
.proof figcaption span{font-size:8px;letter-spacing:1.3px;color:#53646e}
.proof-signature{font-size:23px;line-height:1.6;letter-spacing:-.04em;margin-top:60px}
.contact{padding:115px 0 100px;border:0}.contact h2{font-size:clamp(34px,4.7vw,72px);line-height:1.4;letter-spacing:-.06em}
.contact-intro{font-size:14px;line-height:2;color:var(--muted);margin:30px 0 0}
.contact-bottom{margin-top:45px;align-items:center;gap:35px}
.primary-cta{display:inline-flex;align-items:center;gap:70px;border-radius:2px;padding:23px 28px;background:#d8e9ef;color:#172b37;font-size:14px;transition:background .2s}
.primary-cta:hover{background:#b9e2f0}.primary-cta span{font-size:20px}
.contact-channels{gap:6px}.contact-channels a{font-size:12px;border:none;padding:5px 0;color:#bac7ce}.contact-channels a:hover{text-decoration:underline}.contact-channels span{font-size:10px;color:#8799a5}
.footer-brand{font-size:clamp(28px,5vw,75px)}footer{padding-top:35px;padding-bottom:30px}footer>div{margin-top:25px}
@media(max-width:1000px){.proof-intro{position:static;margin-top:25px}.proof figcaption{display:block}.proof figcaption span{display:block;margin-bottom:10px}}
@media(max-width:850px){
 .stage,.journey{height:max(760px,100svh);min-height:0}.hero-copy{top:155px;left:7%;width:86%;max-width:none}.hero-copy .eyebrow{font-size:8px;margin-bottom:23px}.hero-desc{font-size:12px;margin-top:23px}
 .stage>.poster{top:37%;left:0;width:100%;height:59%;object-position:70%;opacity:1;mask-image:linear-gradient(to bottom,transparent,black 22%,black 82%,transparent);-webkit-mask-image:linear-gradient(to bottom,transparent,black 22%,black 82%,transparent)}
 .stage .scrim{background:linear-gradient(180deg,#080d12 0%,#080d12 35%,transparent 57%,transparent 87%,#080d12)}
 .hero-foot{bottom:23px}.hero-number{font-size:7px;letter-spacing:1px}
 .proof{padding:75px 0}.proof h2{font-size:39px}.proof-intro{font-size:12px}.proof-photos{gap:6%;margin-top:40px}.proof figure.detail-photo{margin-top:60px}.proof-signature{font-size:20px;margin-top:40px}
 .contact{padding:75px 0}.contact h2{font-size:36px}.contact-bottom{display:flex;flex-wrap:wrap}.contact-intro{font-size:12px}.primary-cta{padding:20px 25px}.contact-channels a{font-size:12px}
}
@media(max-width:450px){.header{padding-top:25px}.brand{font-size:17px}.nav-contact{font-size:10px;padding:10px 12px}.nav-contact span{margin-left:10px}.hero-copy{top:145px}.hero-desc{font-size:11px}.proof h2{font-size:33px}.proof-photos{grid-template-columns:1fr;gap:35px}.proof figure.detail-photo{margin-top:0}.proof figure img,.proof figure.detail-photo img{aspect-ratio:1.35}.proof figcaption{display:flex;font-size:12px}.proof figcaption span{margin:0;font-size:7px}.proof-signature{font-size:19px}.contact h2{font-size:29px}.primary-cta{width:100%;justify-content:space-between}.contact-channels{margin-top:4px}.footer-brand{font-size:33px}}

/* Touch and desktop both scrub the same approved film. */
.stage>.poster,.stage>#hero-video{mask-image:linear-gradient(to bottom,transparent,black 4%,black 85%,transparent),linear-gradient(to right,transparent,black 17%,black 89%,transparent);-webkit-mask-image:linear-gradient(to bottom,transparent,black 4%,black 85%,transparent),linear-gradient(to right,transparent,black 17%,black 89%,transparent)}
@media(max-width:850px){
 .stage{height:100svh;min-height:0}.journey{height:100svh;min-height:0}.scrub-mode .journey{height:360svh}
 .hero-copy{top:clamp(112px,16svh,150px)}
 .stage>.poster,.stage>#hero-video{top:46%;left:0;width:100%;height:49%;object-fit:cover;object-position:70%;mask-image:linear-gradient(to bottom,transparent,black 5%,black 85%,transparent);-webkit-mask-image:linear-gradient(to bottom,transparent,black 5%,black 85%,transparent)}
 .stage .scrim{background:linear-gradient(0deg,#080d12,transparent 14%)}
 .hero-foot{font-size:8px;bottom:20px}.hero-copy .eyebrow{font-size:7px}.hero-desc{margin-top:18px}.contact h2{font-size:clamp(24px,6.5vw,34px)}
}
@media(max-width:850px) and (max-height:700px){h1,.ending{font-size:32px}.hero-copy .eyebrow{margin-bottom:16px}.hero-desc{font-size:10px;margin-top:16px}}

/* Freeze the actual stage size; mobile browser toolbar changes cannot remap progress. */
.scrub-mode .journey{height:var(--journey-height,300svh)}
.scrub-mode .stage{height:var(--stage-height,100svh);min-height:0}
@media(max-width:850px){.approach{padding:65px 0}.approach-list{grid-template-columns:1fr;gap:22px}.approach article{display:flex;gap:22px;padding-top:20px}.approach h3{margin:0 0 10px;font-size:20px}.approach article>span{padding-top:7px}.approach article p{font-size:13px;margin:0}.approach h2,.inquiry-guide h2{font-size:30px;margin-bottom:30px}.work-notes{grid-template-columns:1fr;gap:0;margin-top:35px}.work-notes h3{margin-bottom:5px}.work-notes p{font-size:13px}.inquiry-guide{padding-top:65px}.inquiry-guide summary{font-size:14px}.inquiry-guide details p{font-size:13px}}

.contact-actions{display:flex;flex-direction:column;gap:12px;max-width:100%}
.phone-cta{display:flex;align-items:center;justify-content:space-between;gap:24px;border:1px solid #8096a4;border-radius:2px;padding:22px 28px;font-size:14px;color:var(--fg);min-height:56px}
.phone-cta:hover{background:#182630}.phone-cta span{font-size:12px;white-space:nowrap}.phone-cta[hidden]{display:none}
@media(max-width:450px){.contact-actions{width:100%}.phone-cta{padding:20px 25px}}
/* Photo-led workshop content. Hero sizing and scroll mapping stay unchanged. */
.brand-intro{display:grid;grid-template-columns:1.2fr 1fr;gap:8%;align-items:center}
.brand-intro h2{margin:0}.brand-intro>p{font-size:16px;line-height:2.1;color:var(--muted);margin:0;word-break:keep-all}
.work-gallery{margin-top:60px}.work-gallery img{width:100%;object-fit:cover}
.work-gallery .work-feature{display:grid;grid-template-columns:1.65fr 1fr;gap:7%;align-items:end}
.work-gallery .work-feature img{aspect-ratio:1.5}.work-gallery figcaption{display:block;margin-top:20px}
.work-gallery figcaption span{display:block;font-size:10px;letter-spacing:1.3px;color:#53646e}
.work-gallery figcaption p{font-size:18px;line-height:1.7;letter-spacing:-.035em;margin:12px 0 0;word-break:keep-all}
.work-gallery .work-feature figcaption{padding-bottom:20px}.work-gallery .work-feature figcaption p{font-size:26px}
.work-pair{display:grid;grid-template-columns:1fr 1fr;gap:5%;margin-top:65px}.work-pair img{aspect-ratio:1.5}
.work-gallery .workspace-photo{margin-top:65px}.work-gallery .workspace-photo img{aspect-ratio:2.7;object-position:center 58%}.work-gallery .workspace-photo figcaption{display:flex;align-items:center;justify-content:space-between}.workspace-photo figcaption p{font-size:14px;margin:0}
.faq-email{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin:18px 0 8px;font-size:13px}.faq-email a{text-decoration:underline;text-underline-offset:4px;overflow-wrap:anywhere}.faq-email button{border:1px solid #647a88;background:transparent;color:var(--fg);padding:12px 16px;border-radius:3px;min-height:44px}.faq-email [role=status]{color:var(--accent);font-size:12px}
.inquiry-guide summary{padding-right:12px;word-break:keep-all}.inquiry-guide details p{word-break:keep-all}
@media(max-width:850px){.brand-intro{grid-template-columns:1fr;gap:22px}.brand-intro h2{margin:0}.brand-intro>p{font-size:14px}.work-gallery{margin-top:35px}.work-gallery .work-feature{display:block}.work-gallery .work-feature figcaption{padding:0}.work-gallery .work-feature figcaption p{font-size:20px}.work-pair{margin-top:38px;gap:25px}.work-gallery figcaption p{font-size:15px}.work-gallery .workspace-photo{margin-top:38px}.work-gallery .workspace-photo img{aspect-ratio:1.8}}
@media(max-width:600px){.work-pair{grid-template-columns:1fr;gap:35px}.work-gallery figcaption span{font-size:9px}.work-gallery .workspace-photo figcaption{display:block}.workspace-photo figcaption p{margin-top:10px}.work-gallery .work-feature img{aspect-ratio:1.2;object-position:55% center}.work-pair img{aspect-ratio:1.4}}
