/* One opaque surface covers the pinned intro through every lower homepage section. */
.home-content{position:relative;z-index:2;isolation:isolate;display:flow-root;background:#fff}
.home-content>.home-work,.home-content>.home-testimonials,.home-content>.home-clients,.home-content>.cta{position:relative;background:#fff}
.home-content .home-testimonials{padding-top:clamp(64px,6vw,96px);padding-bottom:clamp(64px,6vw,96px)}
.home-content .home-testimonials{padding-top:64px}
:is(.home-page,.film-page,.services-page):has(.mobile-nav:not([hidden])) .header:not(.scrolled){background:transparent!important}
:is(.home-page,.film-page,.services-page):has(.mobile-nav:not([hidden])) .header:not(.scrolled) .brand-normal{display:none!important}
:is(.home-page,.film-page,.services-page):has(.mobile-nav:not([hidden])) .header:not(.scrolled) .brand-light{display:block!important}
.showcase-tabs{align-items:center;height:86px;gap:10px}
.showcase-tab{height:66px;border:0!important;border-radius:10px;box-shadow:0 4px 18px #00000015;transition:flex .65s var(--ease-out),height .65s var(--ease-out),transform .5s var(--ease-out),box-shadow .5s;transform:translateY(0)}
.showcase-tab.is-current{flex:2.8;height:82px;transform:translateY(-3px);box-shadow:0 8px 26px #00000025}
.showcase-tab:hover{transform:translateY(-4px)}.showcase-tab:focus-visible{outline:2px solid #fff;outline-offset:4px}
.showcase-tab span{font-size:13px;letter-spacing:.035em;bottom:12px}
.sector-has-media:before{display:none}.sector-has-media>.sector-image{position:absolute;inset:0;z-index:-2;width:100%;height:100%;object-fit:cover;opacity:.3;transition:transform 1.1s var(--ease-out),opacity .6s}
.sector-has-media:is(:hover,:focus-visible)>.sector-image{opacity:1;transform:scale(1.07)}
.client-gallery{background:var(--red);overflow:hidden;padding:32px var(--gutter) 40px}
.client-gallery .client-track{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:18px}
.client-gallery .client-logo{min-width:0;width:100%;height:104px;padding:16px;position:relative;border-radius:8px;transition:background .45s,transform .55s var(--ease-out)}
.client-gallery .client-logo img{max-width:100%;max-height:68px;width:auto;height:auto;object-fit:contain;transition:transform .65s var(--ease-out),opacity .45s}
.client-gallery .client-logo:hover{background:#ffffff12;transform:translateY(-4px)}
.client-gallery .client-logo:hover img{transform:scale(1.065);opacity:1}
.client-gallery .client-logo:after{content:'';position:absolute;bottom:8px;left:35%;right:35%;height:2px;background:#fff;transform:scaleX(0);transition:transform .5s var(--ease-out)}
.client-gallery .client-logo:hover:after{transform:scaleX(1)}
/* An undecided notice remains visible above navigation until a deliberate choice. */
.cookie-banner{z-index:250}.menu-open .cookie-banner{visibility:visible;pointer-events:auto}
/* Prose links use one fine underline rather than stacked border and decoration. */
.project-copy a,.prose a,.policy a,.text-link{border-bottom:0;text-decoration-line:underline;text-decoration-thickness:1px;text-underline-offset:.18em;text-decoration-skip-ink:auto}
.link-button,.cookie-banner a,.cookie-dialog a,.consent-customise,.consent-withdraw{ text-decoration-thickness:1px }
.project-copy .inline-quote-open{margin-inline-end:-.035em}.project-copy .inline-quote-close{margin-inline-start:-.025em}
.card-preview-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;z-index:0;pointer-events:none;transition:opacity .5s ease,transform 1s var(--ease-out);transform:scale(1.01)}
.project-card.preview-playing .card-preview-video{opacity:1;transform:scale(1.045)}
.local-project-motion>.project-preview-video{width:100%;height:100%;object-fit:cover;transform:translate3d(0,var(--project-drift,0px),0) scale(var(--project-scale,1.04));pointer-events:none}
.showcase-preview-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .6s;pointer-events:none;transform:translate3d(0,var(--hero-drift,0px),0) scale(1.06)}.slide-preview-playing .showcase-preview-video{opacity:1}.slide-motion{width:44px;height:44px;border:1px solid #ffffff60;border-radius:50%;color:#fff;background:#00000016;vertical-align:middle;margin-left:16px;font:18px var(--sans)}.slide-motion:hover{background:#ffffff20}.slide-motion:focus-visible{outline:2px solid #fff;outline-offset:4px}
.hero-mobile-heading{position:absolute!important;width:1px!important;height:1px!important;margin:-1px!important;padding:0!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important}
@media(max-width:1100px),(pointer:coarse){#showcase-0 .hero-film-actions{left:var(--gutter);right:var(--gutter);bottom:clamp(150px,22svh,230px)}.hero-mobile-heading{position:relative!important;width:auto!important;height:auto!important;margin:0 0 24px!important;overflow:visible!important;clip:auto!important;white-space:normal!important;font-size:clamp(48px,8vw,94px);line-height:1.02;max-width:850px;color:#fff;text-shadow:0 2px 24px #00000038}.hero-mobile-heading .motion-word>span{transform:none!important;opacity:1!important;animation:none!important}.hero-mobile-heading em{font-style:italic}.home-page #showcase-0:after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,#00000014 12%,#00000000 40%,#00000052 80%);pointer-events:none}.home-page #showcase-0 .hero-film-actions{z-index:3}}
.media-shell{display:block;position:relative;overflow:hidden;aspect-ratio:var(--media-ratio);background:var(--red)}
.media-shell>img[data-media-image]{display:block;width:100%;height:100%;object-fit:cover}
.team-grid .media-shell{aspect-ratio:4/5}.team-grid .media-shell>img{object-position:center top}
.media-shell-ready{isolation:isolate}
.media-skeleton{display:flex;align-items:center;justify-content:center;position:absolute;inset:0;z-index:2;background:var(--red);opacity:0;visibility:hidden;pointer-events:none;transition:opacity .45s ease,visibility .45s;overflow:hidden}
.media-skeleton .skeleton-mark{width:clamp(100px,32%,220px);height:auto;max-height:90px;object-fit:contain;transform:none!important;filter:none!important;opacity:1!important}
.media-skeleton:after{content:'';position:absolute;inset:0;background:linear-gradient(110deg,transparent 25%,#ffffff10 45%,#ffffff16 50%,transparent 70%);transform:translateX(-100%);animation:media-shimmer 1.9s ease-in-out infinite}
.media-is-loading>.media-skeleton,.media-has-error>.media-skeleton{opacity:1;visibility:visible;transition:none}
.media-is-loading>.media-skeleton .skeleton-mark{animation:media-breathe 1.9s ease-in-out infinite}
.media-is-loaded>.media-skeleton:after{animation:none}
.media-has-error>.media-skeleton{flex-direction:column;gap:16px}
.media-error-label{font-size:14px;color:#fff}.media-has-error>.media-skeleton:after{animation:none;background:none}
.video-stage{position:relative}.video-stage>.media-skeleton{z-index:1}.video-stage>iframe,.video-stage>video{position:relative;z-index:2}
.video-stage.media-is-loading>iframe{opacity:0}.video-stage>iframe{transition:opacity .35s}
@keyframes media-shimmer{to{transform:translateX(100%)}}
@keyframes media-breathe{50%{opacity:.5}}
.text-motion.scroll-text .motion-word>span{animation:none!important;transition:none;transform:translate3d(0,var(--word-rise,0px),0);opacity:var(--word-opacity,1)}
.scroll-copy{transform:translate3d(0,var(--copy-rise,0px),0);opacity:var(--copy-opacity,1);animation:none!important}
.header{view-transition-name:studio-header}
::view-transition-old(root){animation:studio-out .22s ease both}
::view-transition-new(root){animation:studio-in .44s cubic-bezier(.16,1,.3,1) both}
::view-transition-old(studio-header),::view-transition-new(studio-header){animation:none;mix-blend-mode:normal}
@keyframes studio-out{to{opacity:0;transform:translate3d(0,-6px,0)}}
@keyframes studio-in{from{opacity:0;transform:translate3d(0,16px,0)}to{opacity:1;transform:none}}
.article-hero.media-shell{width:100%;max-height:75svh;aspect-ratio:var(--media-ratio)}
@media(max-width:700px){.media-skeleton .skeleton-mark{max-width:170px}.home-content .home-testimonials{padding-top:64px;padding-bottom:64px}.article-hero.media-shell{max-height:55svh}.text-motion.scroll-text .motion-word{padding-bottom:.09em;margin-bottom:-.09em}}
@media(max-width:1000px){.client-gallery .client-track{grid-template-columns:repeat(4,minmax(0,1fr))}.showcase-tabs{gap:7px;height:76px}.showcase-tab{height:58px}.showcase-tab.is-current{height:70px}}
@media(max-width:600px){.client-gallery{padding:24px 16px}.client-gallery .client-track{gap:4px}.client-gallery .client-logo{height:78px;padding:10px}.client-gallery .client-logo img{max-height:48px}.showcase-tabs{height:66px;gap:6px}.showcase-tab{height:49px;border-radius:7px}.showcase-tab.is-current{height:62px;flex:3.2}.showcase-tab span{font-size:10px;bottom:9px;left:8px;right:8px}.home-content .home-testimonials{padding-top:40px}}
@media(prefers-reduced-motion:reduce){.media-skeleton:after,.media-is-loading>.media-skeleton .skeleton-mark{animation:none}.text-motion.scroll-text .motion-word>span,.scroll-copy{opacity:1!important;transform:none!important}.header{view-transition-name:none}::view-transition-old(root),::view-transition-new(root){animation:none}}
@media(max-width:600px){.showcase-tabs{display:flex;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x proximity;scrollbar-width:none;height:80px;padding:6px 2px;align-items:center}.showcase-tabs::-webkit-scrollbar{display:none}.showcase-tab{flex:0 0 96px;min-width:96px;height:58px;scroll-snap-align:center}.showcase-tab.is-current{flex:0 0 138px;height:68px}.showcase-tab span{opacity:1!important;font-size:10px;line-height:1.2}.showcase-controls .motion-button{top:18px}}
