/* Original film and editorial image treatment. */
.brand-film{background:var(--deep);color:white}
.film-stage{height:clamp(580px,53vw,940px);position:relative;overflow:hidden}
.film-stage video{display:block;width:100%;height:100%;object-fit:cover}
.film-stage:after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,#07182d7a,transparent 70%),linear-gradient(0deg,#07182dba,transparent 60%)}
.film-copy{position:absolute;z-index:1;bottom:110px;left:max(52px,calc((100% - 1440px)/2));max-width:650px}
.film-copy h2{font-size:clamp(42px,5vw,76px);margin:22px 0 20px;line-height:1.16}
.film-copy p{color:#e4eaf1;font-size:17px}.film-copy .text-link{margin-top:25px;font-size:15px}
.film-controls{position:absolute;z-index:2;left:max(52px,calc((100% - 1440px)/2));right:max(52px,calc((100% - 1440px)/2));bottom:30px;display:flex;align-items:center;justify-content:space-between;border-top:1px solid #ffffff65;padding-top:20px;gap:20px}
.film-controls>span{font-size:11px;letter-spacing:.16em}.film-controls button{display:flex;align-items:center;gap:10px;color:white;min-height:44px;padding:6px 16px;border:1px solid #ffffff7f;border-radius:25px;font-size:12px}
.film-controls svg{width:18px;height:18px}.film-error{position:absolute;top:20px;left:20px;right:20px;z-index:3;padding:15px;background:var(--navy);font-size:14px}
.film-controls{right:max(96px,calc((100% - 1440px)/2))}
.contact-dock svg{display:block;width:27px;height:27px;flex-shrink:0}.contact-dock .chat svg{width:30px;height:30px}.contact-dock [aria-busy=true]{animation:contact-pulse 1s ease-in-out infinite alternate}
@keyframes contact-pulse{to{opacity:.45}}
body[data-route="/portfolio/"] .news-card .image-box{height:auto;aspect-ratio:9/16;overflow:hidden}
body[data-route="/portfolio/"] .news-card img{object-fit:contain;object-position:center;width:100%;height:100%;transform:none}
body[data-route="/portfolio/"] .news-card:hover h3{text-decoration:underline;text-underline-offset:5px}
body[data-route="/"] .business-card .image-box{height:auto;aspect-ratio:4/5}
body[data-route="/"] .business-card img{object-position:center 20%}
body[data-route="/"] .business-card[href="/global/"] img{object-fit:contain;background:white}
body[data-route="/"] .studio-wide{height:auto;aspect-ratio:16/10}
body[data-route="/"] .studio-wide img{width:100%;height:100%;object-position:center 32%}
.service-tile h3{font-size:clamp(30px,3.4vw,49px);word-break:keep-all}
@media(min-width:1150px){body[data-route="/portfolio/"] .news-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:38px 24px}}
@media(max-width:800px){.film-stage{height:680px;max-height:85svh;min-height:540px}.film-copy{left:24px;right:24px;bottom:112px}.film-copy h2{font-size:45px}.film-copy p{font-size:14px}.film-copy .eyebrow{font-size:11px}.film-controls{left:24px;right:24px;bottom:25px}.film-controls>span{font-size:9px}.film-stage video{object-position:54% center}.contact-dock .chat svg,.contact-dock .phone svg{height:26px;width:26px}body[data-route="/"] .studio-wide{aspect-ratio:4/5}body[data-route="/"] .studio-wide img{object-position:57% center}.studio-caption h3{font-size:27px}.service-tile h3{font-size:35px}}
@media(prefers-reduced-motion:reduce){.contact-dock [aria-busy=true]{animation:none}}
@media(max-width:800px){.film-controls{bottom:80px}.film-copy{bottom:168px}}
