@font-face{font-family:Big Caslon;src:url('BigCaslon.ttf') format('truetype');font-display:swap}
@font-face{font-family:Poppins;src:url('Poppins-Regular.ttf') format('truetype');font-weight:400;font-display:swap}
@font-face{font-family:Poppins;src:url('Poppins-Medium.ttf') format('truetype');font-weight:500;font-display:swap}
@font-face{font-family:Poppins;src:url('Poppins-Bold.ttf') format('truetype');font-weight:700;font-display:swap}
:root{--dark:#1a1a1a;--paper:#fff;--blue:#344f9f;--red:#ae0000;--serif:'Big Caslon',Georgia,serif;--sans:Poppins,Arial,sans-serif;--ease:cubic-bezier(.22,.7,.1,1)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--dark);color:#fff;font:400 16px/1.3 var(--sans);-webkit-font-smoothing:antialiased}body.menu-open{overflow:hidden}a{color:inherit;text-decoration:none}button,input{font:inherit}button{cursor:pointer}button,a,input{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid #6d8ceb;outline-offset:5px}button:disabled{cursor:default}h1,h2,h3,p,figure{margin:0}h1,h2{font:400 clamp(44px,5.27vw,78px)/.91 var(--serif);letter-spacing:-.035em}img{display:block;max-width:100%}button{color:inherit}button[hidden],a[hidden],[hidden]{display:none!important}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:fixed;z-index:200;top:10px;left:10px;padding:12px 18px;background:#fff;color:#111;transform:translateY(-180%)}.skip-link:focus{transform:none}.light{background:#fff;color:#080808}.dark{background:var(--dark);color:#fff}.element-icon{width:28px;height:28px;object-fit:contain;flex:none}.button{width:min(440px,100%);min-height:57px;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:3px 12px;background:#747474;color:white;border:0;border-radius:3px;font:500 clamp(19px,2.6vw,36px)/1.2 var(--sans);text-align:left;transition:background .25s,transform .3s var(--ease)}.button .element-icon{filter:brightness(0) invert(1);width:36px;height:36px;transition:transform .3s var(--ease)}.button:hover{background:#8a8a8a}.button:hover .element-icon{transform:translate(2px,-2px)}.light .button,dialog .button{background:#ececec;color:#080808}.light .button .element-icon,dialog .button .element-icon{filter:none}.light .button:hover,dialog .button:hover{background:#d9d9d9}.section-action{display:flex;justify-content:center;padding:46px 20px 64px}.section-heading{position:relative;min-height:133px;display:grid;place-items:center;padding:13px 110px 18px;border-bottom:1px solid #686868;text-align:center}.section-heading h2{font-size:clamp(42px,5.27vw,76px)}.section-heading p{margin-top:13px;font-size:14px}.section-number{position:absolute;left:8%;top:0;color:#454545;font:300 clamp(70px,8.8vw,128px)/1.12 Arial,sans-serif;letter-spacing:-.06em}.light .section-heading{border-color:#b2b2b2}.light .section-number{color:#858585}.eyebrow{font-size:14px}.direction-line{position:absolute;z-index:2;left:6.3%;top:0;bottom:70px;width:1px;background:rgba(255,255,255,.7)}.direction-line .element-icon{position:absolute;bottom:-32px;width:37px;height:37px;max-width:none;left:50%;transform:translateX(-50%);filter:brightness(0) invert(1)}.direction-line.upward{left:auto;right:6%;top:50%;bottom:0}.direction-line.upward .element-icon{bottom:auto;top:-32px}.light .direction-line{background:#aaa}.light .direction-line .element-icon{filter:none}
/* Compact navigation retains the expand / collapse choreography. */
.site-header{position:fixed;z-index:50;top:9px;left:50%;width:min(580px,calc(100% - 36px));transform:translateX(-50%);pointer-events:none}.header-info{display:flex;justify-content:space-between;gap:25px;padding:0 4px 8px;margin-bottom:8px;border-bottom:1px solid #ffffff70;color:white;font-size:9px;line-height:1.35;pointer-events:auto;text-shadow:0 1px 8px #0007}.header-info>div{display:grid;grid-template-columns:auto auto;gap:0 13px}.header-info>div span:nth-child(odd){font-weight:700}.light-page .header-info{color:#111;border-color:#999;text-shadow:none}.nav-shell{position:relative;z-index:3;display:flex;align-items:center;justify-content:space-between;gap:30px;width:100%;min-height:45px;padding:8px 10px;border-radius:3px;background:rgba(244,244,244,.97);color:#080808;pointer-events:auto;box-shadow:0 2px 12px #0000000d;transition:width .45s var(--ease),border-radius .45s var(--ease),padding .45s var(--ease),gap .45s var(--ease);margin:auto}.brand{display:block;width:154px;flex:none}.brand img{width:100%;height:29px;object-fit:contain}.desktop-nav{display:flex;align-items:center;gap:13px}.desktop-nav a{position:relative;font-size:11px;font-weight:700;white-space:nowrap;padding:8px 0}.desktop-nav a::after{position:absolute;content:'';height:1px;bottom:3px;left:0;width:0;background:currentColor;transition:width .3s}.desktop-nav a:hover::after{width:100%}.menu-toggle{display:none;align-items:center;justify-content:center;gap:8px;padding:0;border:0;background:none;font-size:11px;font-weight:700;min-height:28px;white-space:nowrap}.menu-toggle-mark{width:37px;height:27px;object-fit:contain}.menu-toggle-icon{width:13px;height:13px;transition:transform .45s var(--ease)}.menu-toggle[aria-expanded=true] .menu-toggle-icon{transform:rotate(-90deg)}.desktop-mega{pointer-events:none;position:absolute;left:0;right:0;top:calc(100% - 2px);display:grid;grid-template-columns:1fr 1.5fr;gap:18px;padding:0 16px;max-height:0;overflow:hidden;background:#efefeffa;color:#111;opacity:0;clip-path:inset(0 0 100%);transform:translateY(-6px);border-radius:0 0 10px 10px;transition:max-height .42s var(--ease),padding .42s var(--ease),opacity .3s,transform .42s var(--ease),clip-path .42s var(--ease)}.desktop-mega.is-open{max-height:130px;padding:20px 16px;opacity:1;clip-path:inset(0);transform:none;pointer-events:auto}.mega-intro{font-size:11px}.mega-details{display:flex;flex-direction:column;gap:4px;font-size:10px}.mega-details>div{display:grid;grid-template-columns:50px 1fr}.mega-details a:hover{text-decoration:underline}.site-header.menu-expanded .nav-shell{border-radius:10px 10px 0 0}.site-header.is-scrolled .header-info{display:none}.mobile-nav{display:none}.site-header.is-scrolled:not(.menu-expanded) .nav-shell{width:132px;border-radius:35px;gap:0;justify-content:center}.site-header.is-scrolled:not(.menu-expanded) .brand,.site-header.is-scrolled:not(.menu-expanded) .desktop-nav{display:none}.site-header.is-scrolled .menu-toggle{display:flex}.site-header.is-scrolled.menu-expanded .brand{width:112px}.site-header.is-scrolled.menu-expanded .desktop-nav{gap:10px}.site-header.is-scrolled.menu-expanded .menu-toggle-mark{display:none}.site-header.is-scrolled.menu-expanded .menu-toggle{font-size:10px;gap:4px}.site-header.is-scrolled.menu-expanded .nav-shell{gap:12px}
/* Home page: the supplied film occupies the complete first media area. */
.hero{position:relative;width:100%;height:auto;aspect-ratio:1920 / 1080;min-height:0;overflow:hidden;background:#000}.hero-slides{position:absolute;inset:0;overflow:hidden;container-type:size}.hero-slide{position:absolute;inset:0}.hero-slide-media{width:100%;height:100%;object-fit:cover}.hero-vimeo{position:absolute;top:50%;left:50%;width:max(100cqw,177.777778cqh);height:max(100cqh,56.25cqw);transform:translate(-50%,-50%);border:0;pointer-events:none;opacity:0;transition:opacity .5s}.hero-vimeo.is-ready{opacity:1}.hero-shade{position:absolute;inset:0;background:linear-gradient(#0004,transparent 25%,transparent 70%,#0005);pointer-events:none}.hero .direction-line{top:0;bottom:90px}.hero-bottom{position:absolute;bottom:20px;right:2%;left:10%;display:flex;justify-content:flex-end;align-items:center;gap:15px}.hero-bottom .button{margin-left:auto;background:#707070d9}.video-toggle{display:flex;align-items:center;gap:8px;min-height:38px;padding:5px 13px;border:1px solid #ffffff75;border-radius:40px;background:#1119;color:white;font-size:11px}.video-toggle:hover{background:#fff;color:#111}.video-toggle:disabled{opacity:.5}.hero-video-fallback{font-size:13px;text-decoration:underline}.intro-band{padding:66px 20px 38px;background:#fff;color:#000;text-align:center}.intro-logo{width:125px;margin:0 auto 23px}.intro-band h1{font-size:clamp(46px,5.27vw,78px)}.showreel{position:relative;min-height:480px;padding:38px 24px 28px;display:flex;justify-content:center}.showreel .section-number{top:10px}.showreel .direction-line{left:5.3%;bottom:156px}.showreel-frame{position:relative;width:56%;aspect-ratio:16/9;border:0;border-radius:20px;background:var(--red);color:#fff;display:grid;place-items:center;overflow:hidden;font:400 clamp(40px,5.27vw,76px)/1 var(--serif);transition:background .4s}.showreel-frame:hover{background:#c00808}.reel-action{position:absolute;bottom:22px;right:22px;display:flex;align-items:center;gap:12px;font:500 13px var(--sans);opacity:0;transform:translateY(10px);transition:opacity .3s,transform .3s}.reel-action img{filter:brightness(0) invert(1)}.showreel-frame:hover .reel-action,.showreel-frame:focus-visible .reel-action{opacity:1;transform:none}
/* Blue case-study panels, matching the reference's three-column grid. */
.work-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:40px 24px;padding:22px 40px 0}.work-card-button{width:100%;padding:0;border:0;display:block;background:none;text-align:left;color:#fff}.work-image{position:relative;display:block;aspect-ratio:1.1;border-radius:11px;overflow:hidden;background:var(--blue)}.work-image>img{position:absolute;top:50%;left:50%;width:48%;max-height:50%;object-fit:contain;transform:translate(-50%,-50%) scale(.95);opacity:0;transition:opacity .5s,transform .65s var(--ease)}.work-card-button:hover .work-image>img,.work-card-button:focus-visible .work-image>img{opacity:.7;transform:translate(-50%,-50%) scale(1)}.work-card-hover{position:absolute;inset:auto 18px 17px;display:flex;justify-content:space-between;align-items:center;font-size:13px;opacity:0;transform:translateY(8px);transition:opacity .3s,transform .3s}.work-card-hover .element-icon{filter:brightness(0) invert(1);width:23px;height:23px}.work-card-button:hover .work-card-hover,.work-card-button:focus-visible .work-card-hover{opacity:1;transform:none}.work-meta{display:flex;justify-content:space-between;gap:10px;padding:23px 0 0;font-size:12px;line-height:1.25}.work-meta>span:last-child{color:#939393;font-style:italic}.work-card.is-hidden{display:none}.featured .section-action{padding-top:62px}.why-copy{max-width:930px;margin:auto;padding:36px 25px 90px;text-align:center}.why-copy>p{font-size:clamp(21px,2.34vw,34px);font-weight:700;line-height:1.2}.why-copy .button{margin:34px auto 0}.services-teaser .section-heading{min-height:160px}.teaser-content{position:relative;min-height:770px;overflow:hidden;padding:36px 25px 110px;text-align:center}.ampersand{position:absolute;z-index:0;pointer-events:none;max-width:none}.teaser-content>.ampersand{width:64%;height:100%;left:-7%;top:0;object-fit:contain;object-position:left top}.teaser-content>p,.teaser-content>h2,.teaser-content>.button{position:relative;z-index:1}.teaser-content>p{max-width:885px;margin:0 auto 64px;font-size:clamp(20px,2.34vw,34px);line-height:1.2}.teaser-content>.button{margin:65px auto 0}.team-section{border-top:10px solid #121212}.team-lede{max-width:1190px;margin:26px auto 44px;padding:0 32px;text-align:center;font-size:clamp(20px,2.34vw,34px);line-height:1.18}.team-strip{display:flex;align-items:center;gap:22px;overflow:hidden;height:335px;position:relative}.studio-tile{display:flex;align-items:center;justify-content:center;flex:0 0 25%;height:92%;background:#000;border-radius:16px}.studio-tile:first-child{margin-left:-3%}.studio-tile:nth-child(2),.studio-tile:nth-child(4){flex-basis:18%;height:68%;align-self:flex-end}.studio-tile:nth-child(3){flex-basis:27%;height:100%}.studio-tile>img{width:45%;max-height:40%;object-fit:contain;opacity:0;transition:opacity .5s,transform .6s var(--ease);transform:scale(.95)}.studio-tile:hover>img{opacity:.8;transform:scale(1)}.studio-tile:nth-child(even)>img{filter:brightness(0) invert(1)}.team-section .section-action{padding:38px 20px 35px}.stories-section .section-heading{padding-top:10px}.story-feature{display:grid;grid-template-columns:.85fr 1fr;align-items:start;gap:70px;max-width:1250px;margin:45px auto 0;padding:0 32px}.story-media{position:relative;aspect-ratio:1.75;background:#b5b5b5;border-radius:30px;display:grid;place-items:center}.story-media img{width:45%;opacity:0;transition:opacity .5s}.story-media:hover img{opacity:.2}.story-feature>p{font-size:clamp(20px,2.3vw,32px);line-height:1.2}.stories-section .section-action{padding-top:45px;padding-bottom:22px}
/* Work inside page. */
.work-page{padding:170px 0 66px;min-height:100svh}.work-toolbar{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:0 40px}.work-filters{display:flex;gap:8px;flex-wrap:wrap}.filter-button,.view-all{border:0;border-radius:3px;background:#2b2b2b;color:#ddd;padding:7px 22px;font-size:20px;transition:background .25s,color .25s}.filter-button.is-active,.filter-button:hover,.view-all:hover{background:#f2f2f2;color:#080808}.work-page .work-grid{row-gap:25px}.work-page .work-meta{padding-top:14px}.work-page .work-image{aspect-ratio:1.43}
/* Services inside page. */
.services-hero{position:relative;height:100svh;min-height:760px;overflow:hidden;display:flex;align-items:center;flex-direction:column;padding:138px 20px 25px;text-align:center}.services-hero>.ampersand{width:58%;left:-18%;top:75px;height:95%;object-fit:contain;opacity:.1}.services-hero .eyebrow,.services-hero h1,.display-logo,.page-index{position:relative;z-index:1}.services-hero h1{margin:13px 0 20px}.display-logo{width:min(50%,680px);max-height:46vh;object-fit:contain;flex:1;min-height:0}.page-index{margin-top:auto;padding-top:20px;font-size:11px;font-weight:700}.page-index p{margin-bottom:10px;color:#777;font-size:10px;font-weight:400}.page-index a{display:inline-block;padding:5px 9px;background:#e2e2e2;margin:0 2px}.page-index a:hover{background:#ccc}.services-hero .direction-line{top:170px;bottom:0}.services-hero .direction-line img{transform:translateX(-50%) rotate(180deg)}.services-overview{min-height:750px;padding:44px 30px 100px;text-align:center}.red-media{position:relative;background:var(--red);border-radius:24px;overflow:hidden}.service-overview-media{display:block;width:60%;aspect-ratio:1.77;margin:0 auto 35px;border:0;color:#fff}.media-play{position:absolute;right:25px;bottom:20px;display:flex;align-items:center;gap:12px;font-size:14px;opacity:0;transition:opacity .3s}.media-play .element-icon{filter:brightness(0) invert(1)}.service-overview-media:hover .media-play,.service-overview-media:focus-visible .media-play{opacity:1}.services-overview>p{max-width:1160px;margin:auto;font-size:clamp(21px,2.34vw,34px);line-height:1.2}.service-list .section-heading{min-height:157px}.service-card{min-height:720px;padding:42px 8% 125px}.service-card+ .service-card{padding-top:155px}.service-card h3{font-weight:700;font-size:clamp(26px,3vw,42px);margin-bottom:14px}.service-card-grid{display:grid;grid-template-columns:2.1fr 1fr;gap:20px}.service-card .red-media{aspect-ratio:1.77;display:grid;place-items:center}.service-card .red-media>img{width:58%;filter:brightness(0) invert(1);opacity:0;transform:scale(.95);transition:opacity .5s,transform .6s}.service-card .red-media:hover>img{opacity:.6;transform:none}.service-description{display:flex;flex-direction:column;justify-content:space-between;padding:2px 0 14px}.service-description>p{font-size:clamp(21px,2.34vw,34px);line-height:1.2}.service-description ul{list-style:none;margin:40px 0 0;padding:0;font-size:16px;line-height:1.28}.culture .team-lede{max-width:1000px;margin-bottom:18px}.culture .team-strip{height:330px}.red-strip .studio-tile{background:var(--red)}.culture .section-action{padding-top:36px}.clients .section-heading{min-height:190px}.client-wall{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:50px 60px;padding:20px 4% 70px}.client-wall>img{width:100%;height:142px;object-fit:contain;filter:brightness(0) invert(1);opacity:.66}.contact-section{position:relative;min-height:768px;overflow:hidden;border-top:1px solid #555;display:grid;place-items:center}.contact-amps{position:absolute;inset:0;pointer-events:none}.contact-amps>img{position:absolute;max-width:none;width:38%;height:58%;object-fit:contain;filter:invert(1);opacity:.055;left:-6%;top:0}.contact-amps>img:nth-child(2){left:4%;top:27%;opacity:.09}.contact-amps>img:nth-child(3){left:15%;top:55%;opacity:.14}.contact-inner{position:relative;text-align:center;display:flex;align-items:center;flex-direction:column;width:100%;padding:50px 24px}.contact-inner h2{margin-bottom:65px}.contact-inner .button{margin-bottom:52px;background:#474747}.contact-inner>a:not(.button){font-size:20px;color:#bbb}.contact-inner>a:not(.button):hover{color:white}.contact-section .direction-line{top:50%;right:3%}.service-dock{position:fixed;bottom:18px;left:50%;transform:translateX(-50%);z-index:20;display:flex;gap:3px;font-size:10px;font-weight:700;color:#111;filter:drop-shadow(0 2px 3px #0002)}.service-dock>a{padding:6px 10px;background:#ddd;display:grid;place-items:center}.service-dock>a:hover{background:#fff}
/* The footer follows the four columns and oversized wordmark in the PDF. */
.site-footer{position:relative;min-height:690px;padding:95px 32px 0;background:#171717;overflow:hidden;color:#fff}.footer-grid{display:grid;grid-template-columns:1.1fr .8fr 1.2fr .8fr;gap:55px;position:relative;z-index:1}.footer-top{position:absolute;top:24px;right:25px}.footer-top img{filter:brightness(0) invert(1);width:32px;height:32px}.email-input{display:flex;align-items:center;border-bottom:1px solid #999}.email-input input{width:100%;min-width:0;padding:8px 0;border:0;color:#fff;background:none;font-size:20px;border-radius:0}.email-input input::placeholder{color:#fff;opacity:1}.email-input>button{border:0;background:none;color:#fff;padding:7px}.email-input>button img{width:20px;height:20px;filter:brightness(0) invert(1)}.form-note{font-size:11px;line-height:1.5;margin-top:12px;color:#ccc}.footer-nav{display:flex;flex-direction:column;gap:10px}.footer-nav a,.footer-nav button,.social-label{display:flex;align-items:center;justify-content:space-between;gap:15px;background:#242424;border:0;border-radius:2px;padding:4px 8px;color:#fff;font:400 20px var(--sans);text-align:left}.footer-nav .element-icon,.social-label .element-icon{width:16px;height:16px;filter:brightness(0) invert(1);opacity:.45}.footer-nav a:hover,.footer-nav button:hover{background:#363636}.footer-social{display:flex;flex-direction:column;gap:10px;min-width:0}.social-label{width:78%}.footer-social>a{font-size:17px;line-height:1.2;overflow-wrap:anywhere}.footer-social>a:nth-last-child(2){margin-top:9px}.footer-social>a:last-child{margin-top:-6px}.footer-grid address{font-size:19px;line-height:1.1;font-style:italic}.footer-grid address img{width:195px;margin-top:25px}.footer-wordmark{display:block;margin:68px -42px -6px;opacity:.25}.footer-wordmark>img{width:100%;max-width:none}.light-page .site-footer{padding-bottom:30px}
/* Dialogs and motion. */
dialog{border:0;background:#f5f5f5;color:#111;width:min(790px,calc(100% - 32px));max-height:90svh;padding:55px 42px 40px;overflow:auto;border-radius:8px;box-shadow:0 25px 100px #0005}dialog::backdrop{background:#000b;backdrop-filter:blur(7px)}dialog h2{font-size:clamp(38px,5vw,65px);margin:14px 0 24px}dialog p{font-size:17px;line-height:1.55;margin-bottom:25px}dialog .eyebrow{font-size:12px;margin-bottom:12px}dialog .button{font-size:19px;min-height:46px;width:auto}dialog .button img{width:26px;height:26px}.dialog-close{position:absolute;top:10px;right:15px;display:grid;place-items:center;width:40px;height:40px;border:0;border-radius:50%;background:#ddd;color:#111;font-size:28px;line-height:1}.dialog-close:hover{background:#ccc}.dialog-image{width:100%;max-height:330px;object-fit:contain;background:var(--blue);padding:35px;margin:20px 0 28px}.film-dialog{width:min(1200px,calc(100% - 30px));background:#111;color:#fff;padding:58px 20px 25px}.film-frame{aspect-ratio:16/9}.film-frame iframe{width:100%;height:100%;border:0}.film-dialog p{margin:18px 0 5px;font-size:13px}.film-dialog>a{font-size:12px;text-decoration:underline}.reveal{opacity:0;transform:translateY(24px);transition:opacity .7s ease,transform .7s var(--ease)}.reveal.is-visible{opacity:1;transform:none}
@media(min-width:1600px){.section-heading{min-height:160px}.showreel{padding:55px 24px}.work-grid{padding-left:4%;padding-right:4%}.why-copy{padding-top:50px}.teaser-content{padding-top:55px}}
@media(max-width:1000px){.section-heading{min-height:120px;padding-left:100px;padding-right:100px}.section-number{left:5%}.showreel{min-height:380px}.showreel-frame{width:68%}.work-grid{padding-left:24px;padding-right:24px;gap:30px 18px}.work-meta{font-size:10px;padding-top:14px}.work-toolbar{margin:0 24px}.filter-button,.view-all{font-size:16px;padding:7px 14px}.teaser-content{min-height:650px}.teaser-content>p{max-width:700px}.team-strip{height:270px}.story-feature{gap:35px}.service-card{padding-left:6%;padding-right:6%;min-height:600px}.service-card+ .service-card{padding-top:100px}.service-overview-media{width:74%}.services-overview{min-height:600px}.client-wall{gap:35px;padding-left:4%;padding-right:4%}.client-wall>img{height:100px}.footer-grid{gap:26px;grid-template-columns:1fr .9fr 1.25fr .9fr}.footer-nav a,.footer-nav button,.social-label,.email-input input{font-size:15px}.footer-social>a{font-size:12px}.footer-grid address{font-size:14px}.site-footer{min-height:510px;padding-top:80px}.footer-wordmark{margin-top:70px}}
@media(max-width:760px){html{scroll-padding-top:85px}.site-header{width:calc(100% - 28px);top:9px}.header-info{font-size:8px;gap:15px;padding-bottom:6px;margin-bottom:6px}.header-info>div{gap:0 6px}.nav-shell{width:100%;min-height:44px;padding:7px 12px;border-radius:3px}.brand{width:125px}.brand img{height:25px}.desktop-nav,.desktop-mega{display:none!important}.menu-toggle{display:flex;gap:9px;min-height:30px;font-size:12px}.menu-toggle-mark{display:none}.site-header.is-scrolled:not(.menu-expanded) .nav-shell{width:100%;border-radius:3px;justify-content:space-between}.site-header.is-scrolled:not(.menu-expanded) .brand{display:block}.site-header.is-scrolled .header-info{display:none}.mobile-nav{position:fixed;inset:-9px -14px auto;display:block;height:100svh;overflow:auto;color:#111;background:#f0f0ef;pointer-events:auto;padding:115px 27px 30px;clip-path:inset(0 0 100%);opacity:0;transform:translateY(-10px);transition:clip-path .55s var(--ease),transform .45s var(--ease),opacity .3s;z-index:1}.mobile-nav.is-open{clip-path:inset(0);opacity:1;transform:none}.mobile-nav.is-closing{clip-path:inset(0 0 100%);opacity:0;transform:translateY(-10px)}.mobile-nav-inner{max-width:600px;margin:auto}.mobile-menu-label{font-size:11px;margin:10px 0 20px;color:#777}.mobile-nav-inner>a{display:flex;align-items:center;gap:20px;border-top:1px solid #b9b9b9;padding:15px 0;transform:translateY(-14px);opacity:0;transition:transform .5s var(--ease),opacity .5s}.mobile-nav.is-open .mobile-nav-inner>a{opacity:1;transform:none}.mobile-nav-inner>a:nth-of-type(2){transition-delay:.03s}.mobile-nav-inner>a:nth-of-type(3){transition-delay:.06s}.mobile-nav-inner>a:nth-of-type(4){transition-delay:.09s}.mobile-nav-inner>a:nth-of-type(5){transition-delay:.12s}.mobile-nav-inner>a>span{font:400 clamp(38px,8vw,60px)/1 var(--serif);flex:1}.mobile-nav-inner>a>small{font-size:10px}.mobile-nav-inner>a>.element-icon{width:25px;height:25px}.mobile-menu-bottom{display:flex;flex-direction:column;gap:12px;margin-top:30px;font-size:12px}.mobile-menu-bottom>span{font-size:10px;color:#777}.menu-open .nav-shell{background:#f0f0ef}.menu-open .header-info{visibility:hidden}.hero{height:83svh;min-height:570px}.hero .direction-line{left:26px;top:120px;bottom:100px}.hero-bottom{left:55px;right:18px;bottom:24px;gap:8px;flex-wrap:wrap}.hero-bottom .button{width:240px;font-size:21px;min-height:44px}.hero-bottom .button img{width:26px;height:26px}.video-toggle{min-height:34px;padding:6px 10px}.hero-video-fallback{width:100%;font-size:11px}.intro-band{padding:52px 20px 35px}.intro-logo{width:100px}.showreel{min-height:0;padding:30px 20px 30px 60px}.showreel-frame{width:100%;border-radius:12px}.showreel .section-number{font-size:44px;left:10px;top:15px}.showreel .direction-line{left:25px;top:72px;bottom:65px}.showreel .direction-line img{width:25px;height:25px;bottom:-23px}.reel-action{opacity:1;transform:none;bottom:15px;right:15px;font-size:10px}.reel-action img{width:20px;height:20px}.section-heading{min-height:120px;padding:25px 22px 20px 62px}.section-heading h2{font-size:clamp(36px,6.7vw,49px)}.section-heading p{font-size:11px;margin-top:10px}.section-number{left:18px;top:25px;font-size:45px;line-height:1}.button{width:min(340px,100%);font-size:23px;min-height:46px;padding:5px 10px}.button .element-icon{width:28px;height:28px}.section-action{padding:30px 22px 42px}.featured .section-action{padding-top:35px}.work-grid{grid-template-columns:repeat(2,minmax(0,1fr));padding:22px 18px 0;gap:28px 14px}.featured .work-grid{grid-template-columns:1fr}.featured .work-card{margin:0 2px}.featured .work-image{aspect-ratio:1.35}.work-meta{font-size:11px;padding-top:13px}.work-card-hover{font-size:10px;inset:auto 12px 12px}.work-image{border-radius:8px}.why-copy{padding:28px 25px 58px}.why-copy>p{font-size:22px;line-height:1.25}.why-copy .button{margin-top:28px}.services-teaser .section-heading{min-height:125px}.teaser-content{min-height:640px;padding:30px 30px 80px}.teaser-content>p{font-size:21px;line-height:1.25;margin-bottom:55px}.teaser-content>h2{font-size:45px}.teaser-content>.button{margin-top:38px}.teaser-content>.ampersand{width:105%;left:-28%;top:100px}.teaser-content .direction-line{right:17px;top:60%}.teaser-content .direction-line img{width:27px;height:27px;top:-25px}.team-section{border-top-width:5px}.team-lede{font-size:21px;line-height:1.25;margin:26px auto;padding:0 25px}.team-strip,.culture .team-strip{height:225px;gap:13px}.studio-tile{flex-basis:43%;border-radius:10px}.studio-tile:first-child{margin-left:-30%}.studio-tile:nth-child(2),.studio-tile:nth-child(4){flex-basis:30%}.studio-tile:nth-child(3){flex-basis:42%}.story-feature{grid-template-columns:1fr;gap:25px;margin-top:28px;padding:0 25px}.story-media{aspect-ratio:1.75;border-radius:20px}.story-feature>p{font-size:21px;line-height:1.25}.stories-section .section-action{padding:32px 25px}.work-page{padding-top:145px}.work-toolbar{margin:0 18px;gap:10px;align-items:flex-start}.work-filters{gap:6px}.filter-button,.view-all{font-size:11px;padding:8px 9px;min-height:32px}.view-all{white-space:nowrap}.work-page .work-image{aspect-ratio:1.08}.work-page .work-meta{font-size:9px;flex-direction:column;gap:5px}.work-page .work-meta>span:last-child{font-size:8px}.services-hero{height:95svh;min-height:690px;padding-top:145px;padding-bottom:35px}.services-hero h1{font-size:48px;margin:16px 0 40px}.services-hero>.ampersand{width:100%;left:-46%;top:200px;height:60%}.display-logo{width:85%;max-height:245px}.services-hero .direction-line{right:16px;top:175px;bottom:60px}.services-hero .direction-line img{width:25px;height:25px;top:-24px}.page-index{padding-top:45px}.services-overview{padding:36px 24px 70px;min-height:0}.service-overview-media{width:100%;border-radius:14px;margin-bottom:28px}.services-overview>p{font-size:22px}.media-play{opacity:1;font-size:10px;bottom:15px;right:15px}.media-play .element-icon{width:22px;height:22px}.service-list .section-heading{min-height:125px;padding-left:22px}.service-card{padding:32px 24px 75px;min-height:0}.service-card+ .service-card{padding-top:35px}.service-card h3{font-size:27px;margin-bottom:15px}.service-card-grid{grid-template-columns:1fr;gap:22px}.service-card .red-media{border-radius:15px}.service-description{display:grid;grid-template-columns:1fr 1fr;gap:25px;padding:0}.service-description>p{font-size:21px}.service-description ul{font-size:12px;margin:0;line-height:1.45}.culture .section-heading,.clients .section-heading{padding-left:22px;min-height:130px}.client-wall{grid-template-columns:repeat(3,minmax(0,1fr));gap:30px 24px;padding:30px 24px 55px}.client-wall>img{height:70px}.contact-section{min-height:620px}.contact-inner h2{font-size:48px;margin-bottom:40px}.contact-inner .button{margin-bottom:36px}.contact-inner>a:not(.button){font-size:15px}.contact-amps>img{width:62%;left:-25%;height:50%}.contact-amps>img:nth-child(2){left:-4%;top:29%}.contact-amps>img:nth-child(3){left:17%;top:55%}.contact-section .direction-line{right:18px;top:65%}.contact-section .direction-line img{width:26px;height:26px;top:-24px}.site-footer{padding:65px 25px 0;min-height:640px}.footer-grid{grid-template-columns:1fr 1fr;gap:30px 24px}.contact-form{grid-column:1/-1;max-width:none}.footer-nav a,.footer-nav button,.social-label{font-size:14px;min-height:31px}.social-label{width:100%}.footer-social>a{font-size:11px}.footer-grid address{grid-column:1/-1;font-size:13px;line-height:1.25;position:relative;padding-right:130px}.footer-grid address img{position:absolute;top:0;right:0;margin:0;width:115px;height:82px;object-fit:contain}.footer-wordmark{margin:40px -35px -3px;opacity:.27}.footer-top{top:20px;right:20px}.footer-top img{width:26px;height:26px}dialog{padding:55px 25px 30px}dialog p{font-size:15px}.film-dialog{padding:55px 12px 20px}.film-dialog p{font-size:11px}.service-dock{bottom:12px}.service-dock>a{padding:8px 13px}}
@media(max-width:380px){.header-info{font-size:7px}.brand{width:110px}.hero-bottom .button{width:205px;font-size:19px}.video-toggle-label{display:none}.hero-bottom{left:46px}.section-heading h2{font-size:34px}.services-hero h1{font-size:43px}.work-toolbar{gap:5px}.filter-button,.view-all{padding:7px;font-size:10px}.service-description{gap:18px}.service-description>p{font-size:19px}.footer-grid{gap:25px 16px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.reveal{opacity:1;transform:none}}

/* Contact and footer form one continuous, viewport-sized contact surface. */
.contact-footer{min-height:100svh;display:flex;flex-direction:column;justify-content:space-between;gap:clamp(24px,3.4vh,38px);padding:clamp(84px,12vh,120px) clamp(22px,3vw,48px) 0;background:#000;border:0}
.contact-heading{text-align:center;position:relative;z-index:1;flex:none}
.contact-heading h1,.contact-heading h2{font-size:clamp(42px,4.5vw,64px);line-height:1}
.contact-heading .button{width:min(320px,100%);min-height:44px;margin:18px auto 0;padding:6px 10px;font-size:23px;background:#474747}
.contact-heading .button:hover{background:#626262}
.contact-heading .button .element-icon{width:28px;height:28px}
.contact-footer .footer-grid{gap:clamp(22px,3.2vw,50px);width:100%;flex:none}
.contact-footer .footer-nav{gap:7px}
.contact-footer .footer-nav a,.contact-footer .footer-nav button,.contact-footer .social-label{font-size:15px;padding:4px 8px;line-height:1.3}
.contact-footer .footer-social{gap:7px}
.contact-footer .footer-social>a{font-size:14px;line-height:1.35}
.contact-footer .email-input input{font-size:17px}
.contact-footer .footer-grid address{font-size:14px;line-height:1.2}
.contact-footer .footer-grid address img{width:clamp(110px,11vw,155px);height:82px;object-fit:contain;object-position:left center;margin-top:14px}
.contact-footer .footer-wordmark{width:calc(100% + 32px);margin:0 -16px -3px;opacity:.25;flex:none}
.contact-footer .footer-wordmark>img{width:100%;height:clamp(120px,25svh,270px);object-fit:contain;object-position:center bottom}
.light-page .contact-footer{padding-bottom:0}
.contact-page #main{min-height:100svh}
.contact-page .contact-footer{padding-top:max(110px,12svh)}
@media(max-width:1000px) and (min-width:761px){.contact-footer .footer-grid{grid-template-columns:1fr .9fr 1.25fr .9fr;gap:22px}.contact-footer .footer-nav a,.contact-footer .footer-nav button,.contact-footer .social-label{font-size:13px}.contact-footer .footer-social>a{font-size:12px}.contact-footer .footer-grid address{font-size:12px}}
@media(max-width:760px){.contact-footer{min-height:100svh;padding:70px 24px 0;gap:34px}.contact-page .contact-footer{padding-top:125px}.contact-heading h1,.contact-heading h2{font-size:48px}.contact-heading .button{width:min(300px,100%);font-size:22px}.contact-footer .footer-grid{grid-template-columns:1fr 1fr;gap:28px 22px}.contact-footer .footer-nav a,.contact-footer .footer-nav button,.contact-footer .social-label{font-size:14px;min-height:31px}.contact-footer .footer-social>a{font-size:11px}.contact-footer .footer-grid address{font-size:13px;line-height:1.25}.contact-footer .footer-grid address img{width:115px;height:82px;margin:0;object-position:right center}.contact-footer .footer-wordmark{width:calc(100% + 36px);margin:0 -18px -2px}.contact-footer .footer-wordmark>img{height:clamp(75px,16svh,120px)}}

/* Let the actual logo artwork fill the page width and meet its bottom edge. */
.contact-footer{--contact-gutter:clamp(22px,3vw,48px)}
.contact-footer .footer-wordmark{width:calc(100% + var(--contact-gutter) * 2);margin:0 calc(var(--contact-gutter) * -1);line-height:0}
.contact-footer .footer-wordmark>img{display:block;width:100%;height:auto;max-width:none;object-fit:initial}
.inquiry-dialog{width:min(760px,calc(100% - 32px));padding:50px 38px 34px}
.inquiry-dialog h2{margin:8px 0 16px;font-size:clamp(42px,5vw,64px)}
.inquiry-dialog #inquiry-intro{margin-bottom:24px;font-size:16px}
.inquiry-form{display:grid;gap:18px}
.inquiry-fields{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.inquiry-form label{display:flex;flex-wrap:wrap;gap:7px;align-content:start;font-size:12px;font-weight:500}
.inquiry-form label>span{font-weight:400;color:#666}
.inquiry-form input,.inquiry-form textarea{display:block;width:100%;min-width:0;border:1px solid #b9b9b9;border-radius:3px;background:#fff;color:#111;padding:11px 12px;font:400 16px/1.4 var(--sans)}
.inquiry-form textarea{min-height:120px;resize:vertical}
.inquiry-form input:focus-visible,.inquiry-form textarea:focus-visible{outline:2px solid #344f9f;outline-offset:2px;border-color:#344f9f}
.inquiry-dialog .inquiry-note,.inquiry-dialog .inquiry-status{margin:0;font-size:12px;line-height:1.5;color:#555}
.inquiry-dialog .inquiry-status:empty{display:none}
.inquiry-dialog .inquiry-submit{width:100%;font-size:20px;min-height:46px}
@media(max-width:760px){.contact-footer{--contact-gutter:24px}.inquiry-dialog{padding:50px 24px 26px}.inquiry-fields{grid-template-columns:1fr}.inquiry-form{gap:16px}.inquiry-dialog h2{font-size:44px}}

/* Motion: short transitions, small distances, and no continuous decorative loops. */
@keyframes gm-page-out { to { opacity:0; } }
@keyframes gm-page-in { from { opacity:0; } to { opacity:1; } }
@keyframes gm-lift-in { from { opacity:0; transform:translateY(12px); } to { opacity:1; transform:none; } }
@keyframes gm-menu-item-in { from { opacity:0; translate:0 6px; } to { opacity:1; translate:0 0; } }

@media(prefers-reduced-motion:no-preference) {
  /* Native cross-document transitions keep links, history, and the video lifecycle intact. */
  @view-transition { navigation:auto; }
  .site-header { view-transition-name:site-header; }
  ::view-transition-old(root) { animation:gm-page-out 180ms ease-out both; }
  ::view-transition-new(root) { animation:gm-page-in 360ms var(--ease) both; }
  ::view-transition-group(site-header) { animation-duration:360ms; animation-timing-function:var(--ease); }
  ::view-transition-old(site-header), ::view-transition-new(site-header) { animation-duration:180ms; }
  @supports not (view-transition-name: none) {
    main { animation:gm-page-in 360ms ease-out; }
  }
  /* Used by the downloadable HTML's frame-based navigation. */
  html[data-standalone] main { animation:gm-page-in 360ms ease-out; }

  .reveal { transform:translateY(16px); transition:opacity .5s ease,transform .5s var(--ease); }
  .reveal.is-visible { transform:none; }
  .work-card.reveal:nth-child(3n + 2) { transition-delay:45ms; }
  .work-card.reveal:nth-child(3n + 3) { transition-delay:90ms; }
  dialog[open] { animation:gm-lift-in 280ms var(--ease) both; }
  dialog[open]::backdrop { animation:gm-page-in 220ms ease-out both; }

  .desktop-nav a::after { width:100%; transform:scaleX(0); transform-origin:left; transition:transform .25s var(--ease); }
  .desktop-nav a:hover::after, .desktop-nav a:focus-visible::after { transform:scaleX(1); }
  .desktop-mega .mega-intro, .desktop-mega .mega-details>div { opacity:0; translate:0 8px; transition:opacity .22s ease,translate .3s var(--ease); }
  .desktop-mega.is-open .mega-intro, .desktop-mega.is-open .mega-details>div { opacity:1; translate:0 0; transition-delay:70ms; }
  .desktop-mega.is-open .mega-details>div:first-child { transition-delay:105ms; }
  .desktop-mega.is-open .mega-details>div:last-child { transition-delay:140ms; }
  .site-header.is-scrolled.menu-expanded .desktop-nav>a { animation:gm-menu-item-in 300ms var(--ease) both; }
  .site-header.is-scrolled.menu-expanded .desktop-nav>a:nth-child(2) { animation-delay:25ms; }
  .site-header.is-scrolled.menu-expanded .desktop-nav>a:nth-child(3) { animation-delay:50ms; }
  .site-header.is-scrolled.menu-expanded .desktop-nav>a:nth-child(4) { animation-delay:75ms; }
  .site-header.is-scrolled.menu-expanded .desktop-nav>a:nth-child(5) { animation-delay:100ms; }
  .menu-toggle-icon { transition:transform .38s var(--ease),translate .25s var(--ease); }
  .menu-toggle:hover .menu-toggle-icon, .menu-toggle:focus-visible .menu-toggle-icon { translate:2px 0; }

  .button, .filter-button, .view-all, .video-toggle, .dialog-close, .page-index a, .service-dock a {
    transition:background .25s ease,color .25s ease,scale .16s ease,translate .3s var(--ease);
  }
  .button:active, .filter-button:active, .view-all:active, .video-toggle:active, .dialog-close:active { scale:.98; }
  .button .element-icon, .footer-nav .element-icon, .email-input .element-icon,
  .footer-top .element-icon, .mobile-nav-inner>a .element-icon, .work-card-hover .element-icon,
  .reel-action .element-icon, .media-play .element-icon { transition:transform .3s var(--ease),opacity .25s ease; }
  .button:hover .element-icon, .button:focus-visible .element-icon,
  .footer-nav :is(a,button):hover .element-icon, .footer-nav :is(a,button):focus-visible .element-icon,
  .email-input>button:hover .element-icon, .email-input>button:focus-visible .element-icon {
    transform:translate(3px,-3px) rotate(6deg); opacity:1;
  }
  .mobile-nav-inner>a:hover .element-icon, .mobile-nav-inner>a:focus-visible .element-icon,
  .work-card-button:hover .work-card-hover .element-icon, .work-card-button:focus-visible .work-card-hover .element-icon,
  .showreel-frame:hover .element-icon, .showreel-frame:focus-visible .element-icon,
  .service-overview-media:hover .element-icon, .service-overview-media:focus-visible .element-icon { transform:translate(2px,-2px); }
  .footer-top:hover .element-icon, .footer-top:focus-visible .element-icon { transform:translateY(-4px); }
  .footer-nav a, .footer-nav button { transition:background .2s ease; }
  .email-input { transition:border-color .25s ease; }
  .email-input:focus-within { border-color:#fff; }

  @media(hover:hover) and (pointer:fine) {
    .motion-tilt { transform:perspective(1200px) rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg)); transition:transform .45s var(--ease); }
    .motion-tilt.is-pointer-active { transition-duration:.16s; }
    .motion-magnetic { translate:var(--motion-x,0px) var(--motion-y,0px); }
    .motion-magnetic.is-pointer-active { transition-duration:.2s; }
  }
  @media(max-width:760px) {
    .mobile-nav-inner>a { transform:translateY(12px); transition-duration:.36s; }
    .mobile-nav.is-open .mobile-nav-inner>a { transform:none; }
    .mobile-nav.is-open .mobile-nav-inner>a:nth-of-type(1) { transition-delay:50ms; }
    .mobile-nav.is-open .mobile-nav-inner>a:nth-of-type(2) { transition-delay:85ms; }
    .mobile-nav.is-open .mobile-nav-inner>a:nth-of-type(3) { transition-delay:120ms; }
    .mobile-nav.is-open .mobile-nav-inner>a:nth-of-type(4) { transition-delay:155ms; }
    .mobile-nav.is-open .mobile-nav-inner>a:nth-of-type(5) { transition-delay:190ms; }
    .mobile-menu-label, .mobile-menu-bottom { opacity:0; translate:0 6px; transition:opacity .25s ease,translate .3s var(--ease); }
    .mobile-nav.is-open .mobile-menu-label, .mobile-nav.is-open .mobile-menu-bottom { opacity:1; translate:0 0; transition-delay:180ms; }
    .mobile-nav.is-closing { transition-duration:.3s; }
    .mobile-nav.is-closing .mobile-nav-inner>a { transition-delay:0s; transition-duration:.18s; }
    .work-card.reveal:nth-child(n) { transition-delay:0s; }
  }
}
@media(prefers-reduced-motion:reduce) {
  @view-transition { navigation:none; }
  ::view-transition-old(*), ::view-transition-new(*), ::view-transition-group(*) { animation:none!important; }
  .motion-tilt { transform:none!important; }
  .motion-magnetic { translate:none!important; }
  .reveal { opacity:1; transform:none; }
}

/* Editorial copy over the film; the centre remains open for the showcase. */
.hero {
  --hero-edge:clamp(24px,4vw,76px);
  --hero-copy-left:clamp(80px,11vw,212px);
  --hero-lift:clamp(76px,7.5vw,144px);
}
.hero .hero-shade {
  background:linear-gradient(0deg,#0009,transparent 56%),linear-gradient(90deg,#0005,transparent 42%),radial-gradient(ellipse at top right,#0009,transparent 65%);
}
.hero-studio-copy, .hero-services { position:absolute;z-index:2;color:#f5f5f2;text-shadow:0 1px 14px #0008; }
.hero-studio-copy { top:clamp(96px,7.4vw,142px);right:var(--hero-edge);width:clamp(240px,22vw,390px); }
.hero-copy-label { margin:0 0 14px;font-size:clamp(9px,.67vw,12px);line-height:1.5;letter-spacing:.09em;text-transform:uppercase; }
.hero-studio-copy h2, .hero-services h2 { font:400 clamp(26px,2vw,38px)/1.06 var(--serif);letter-spacing:-.025em; }
.hero-studio-copy h2 { margin-bottom:18px; }
.hero-studio-description { font-size:clamp(11px,.83vw,16px);line-height:1.5;text-transform:uppercase; }
.hero-services { left:var(--hero-copy-left);bottom:var(--hero-lift);width:clamp(230px,20vw,380px); }
.hero-services h2 { margin-bottom:22px; }
.hero-services-label { display:flex;justify-content:space-between;align-items:center;padding-bottom:13px;font-size:clamp(11px,.8vw,15px);line-height:1.3; }
.hero-services-label>span { font-size:17px; }
.hero-service-list { margin:0;padding:0;list-style:none;border-top:1px solid #ffffff65; }
.hero-service-list li { border-bottom:1px solid #ffffff65; }
.hero-service-list a { display:flex;align-items:center;justify-content:space-between;gap:14px;min-height:37px;padding:9px 0;font-size:clamp(10px,.8vw,15px);line-height:1.35;text-transform:uppercase; }
.hero-service-number { font-size:.86em;opacity:.7; }
.hero-service-list a:hover, .hero-service-list a:focus-visible { color:#fff;background:#ffffff0d; }
.hero .hero-bottom { z-index:3;left:auto;right:var(--hero-edge);bottom:var(--hero-lift);gap:0; }
.hero .hero-bottom .button { width:clamp(280px,24vw,440px);margin:0;background:#707070bf; }
.hero .hero-bottom .button:hover { background:#858585e6; }
.hero-playback { position:absolute;z-index:3;left:var(--hero-copy-left);bottom:28px;display:flex;align-items:center;gap:14px; }
.hero-playback .hero-video-fallback { max-width:260px;line-height:1.4; }

@media(prefers-reduced-motion:no-preference) {
  .hero-service-list a { transition:color .2s ease,background .2s ease; }
  .hero-service-number { transition:translate .25s var(--ease),opacity .25s ease; }
  .hero-service-list a:hover .hero-service-number, .hero-service-list a:focus-visible .hero-service-number { translate:-3px 0;opacity:1; }
}
@media(max-width:1000px) and (min-width:761px) {
  .hero-services h2 { margin-bottom:14px; }
  .hero-service-list a { min-height:30px;padding:7px 0; }
  .hero-studio-copy h2 { margin-bottom:12px; }
  .hero-copy-label { margin-bottom:10px; }
}
@media(max-width:760px) {
  .hero { --hero-copy-left:68px;--hero-edge:24px;--hero-lift:80px;height:100svh;min-height:780px; }
  .hero-studio-copy { top:132px;right:var(--hero-edge);width:min(350px,calc(100% - 92px)); }
  .hero-copy-label { font-size:9px;letter-spacing:.06em;margin-bottom:12px; }
  .hero-studio-copy h2 { font-size:30px;margin-bottom:14px; }
  .hero-studio-description { font-size:11px;line-height:1.5; }
  .hero-services { width:min(310px,calc(100% - 92px));bottom:164px; }
  .hero-services h2 { font-size:28px;margin-bottom:17px; }
  .hero-services-label { font-size:11px;padding-bottom:9px; }
  .hero-service-list a { font-size:10px;min-height:31px;padding:7px 0; }
  .hero .hero-bottom { left:var(--hero-copy-left);right:var(--hero-edge);bottom:80px; }
  .hero .hero-bottom .button { width:min(310px,100%);margin-right:auto;font-size:22px;min-height:46px; }
  .hero-playback { bottom:23px;right:var(--hero-edge);gap:8px; }
  .hero-playback .video-toggle-label { display:inline; }
  .hero-playback .hero-video-fallback { width:auto;font-size:10px; }
}
@media(max-width:380px) {
  .hero { --hero-copy-left:60px;--hero-edge:20px; }
  .hero-studio-copy, .hero-services { width:calc(100% - 80px); }
  .hero-studio-copy { top:122px; }
  .hero-studio-copy h2, .hero-services h2 { font-size:26px; }
  .hero-studio-description { font-size:10px; }
}

/* A single scroll guide: identical geometry and transparency on every route. */
:root { --scroll-rail-inset:clamp(24px,5.3vw,102px);--scroll-rail-gutter:clamp(52px,7.5vw,144px);--scroll-rail-stroke:.75px;--scroll-rail-opacity:.4; }
.scroll-rail { position:fixed;z-index:35;top:0;bottom:clamp(118px,12.6vw,188px);left:calc(var(--scroll-rail-inset) - 22px);width:44px;color:#9d9d9d;mix-blend-mode:difference; }
.scroll-rail-visual { position:absolute;inset:0;opacity:var(--scroll-rail-opacity);pointer-events:none; }
.scroll-rail-track { position:absolute;inset:0; }
.scroll-rail-line { position:absolute;top:0;left:50%;width:var(--scroll-rail-stroke);height:calc(100% - 32px);background:currentColor;transform-origin:top;transform:scaleY(var(--rail-progress,.55)); }
.scroll-rail-arrow { position:absolute;left:50%;top:var(--rail-tip,calc(55% - 17.6px));width:28px;height:32px;overflow:visible;transform:translateX(-50%); }
.scroll-rail-coordinates { position:absolute;top:24%;left:calc(50% + 13px);writing-mode:vertical-rl;transform:rotate(180deg);white-space:nowrap;font-size:11px;line-height:1;letter-spacing:.12em; }
.scroll-rail-base { display:none;position:absolute;bottom:0;right:22px;width:calc(100vw - var(--scroll-rail-inset) * 2);height:var(--scroll-rail-stroke);background:currentColor; }
.scroll-rail[data-direction="up"] { left:auto;right:calc(var(--scroll-rail-inset) - 22px);top:clamp(94px,11vh,132px);bottom:24px; }
.scroll-rail[data-direction="up"] .scroll-rail-track { transform:rotate(180deg); }
.scroll-rail[data-direction="up"] .scroll-rail-coordinates { top:auto;bottom:24%;left:auto;right:calc(50% + 13px);transform:none; }
.scroll-rail[data-direction="up"] .scroll-rail-base { display:block; }
.scroll-rail:focus-visible { outline:2px solid currentColor;outline-offset:3px;border-radius:2px; }
body.menu-open .scroll-rail { visibility:hidden; }
#page-end { height:0;scroll-margin:0; }
@media(prefers-reduced-motion:no-preference) {
  .scroll-rail-line { transition:transform 100ms linear; }
  .scroll-rail-arrow { transition:top 100ms linear; }
}

/* Content stays inside the rails; full-width film and footer artwork remain full width. */
.hero { --hero-edge:max(clamp(24px,4vw,76px),var(--scroll-rail-gutter)); }
.work-grid, .client-wall { padding-inline:var(--scroll-rail-gutter); }
.work-toolbar { margin-inline:var(--scroll-rail-gutter); }
.teaser-content, .intro-band, .why-copy, .team-lede, .story-feature { padding-inline:max(25px,var(--scroll-rail-gutter)); }
.service-card { padding-inline:max(8%,var(--scroll-rail-gutter)); }
.contact-footer { --contact-gutter:max(clamp(22px,3vw,48px),var(--scroll-rail-gutter));padding-inline:var(--contact-gutter); }
@media(max-width:760px) {
  :root { --scroll-rail-inset:24px;--scroll-rail-gutter:48px; }
  .scroll-rail { top:110px;bottom:138px; }
  .scroll-rail[data-direction="up"] { top:110px;bottom:24px; }
  .scroll-rail-coordinates { font-size:9px;left:calc(50% + 11px); }
  .scroll-rail[data-direction="up"] .scroll-rail-coordinates { right:calc(50% + 11px); }
  .hero-studio-copy, .hero-services { width:min(310px,calc(100% - var(--hero-copy-left) - var(--hero-edge))); }
  .showreel { padding-left:calc(var(--scroll-rail-gutter) + 44px);padding-right:var(--scroll-rail-gutter); }
  .showreel .section-number, .section-number { left:var(--scroll-rail-gutter); }
  .section-heading { padding-left:calc(var(--scroll-rail-gutter) + 52px);padding-right:var(--scroll-rail-gutter); }
  .section-heading:not(:has(.section-number)) { padding-left:var(--scroll-rail-gutter); }
  .services-overview { padding-inline:var(--scroll-rail-gutter); }
}
@media(max-height:540px) {
  .scroll-rail { bottom:70px; }
  .scroll-rail-coordinates { display:none; }
}

/* Contact section 07: a quiet address mark and a solid, full-width wordmark. */
.contact-footer .contact-section-number { left:var(--contact-gutter);top:clamp(40px,5svh,64px);color:#454545;font-size:clamp(70px,8.8vw,128px);line-height:1;pointer-events:none; }
.contact-footer .footer-grid address img { filter:brightness(0) invert(27%);opacity:1; }
.contact-footer .footer-wordmark { opacity:1;border-top:var(--scroll-rail-stroke) solid rgb(157 157 157 / 40%);padding-top:clamp(24px,2.5vw,48px);background:#000;background-clip:padding-box; }
/* Show the top 75% of the original artwork, cropped flush with the page bottom. */
.contact-footer .footer-wordmark>img { filter:brightness(0) invert(1);opacity:1;aspect-ratio:auto;object-fit:initial;object-position:initial; }
.scroll-rail[data-direction="up"] { bottom:var(--rail-contact-bottom,24px); }
.scroll-rail.is-at-contact-wordmark .scroll-rail-base { display:none; }
@media(max-width:760px) {
  .contact-footer { padding-top:88px; }
  .contact-page .contact-footer { padding-top:165px; }
  .contact-footer .contact-section-number { top:22px;font-size:44px; }
  .contact-page .contact-footer .contact-section-number { top:105px; }
}

body.contact-page { background:#000; }

/* Full-bleed showreel: the film runs from the left edge to the right edge. */
.showreel { min-height:100svh; height:100svh; padding:0;display:block;overflow:hidden; }
.showreel-frame { position:absolute;inset:0;width:100%;height:100%;min-height:100svh;aspect-ratio:auto;border:0;border-radius:0;background:#000;display:block;padding:0;overflow:hidden;color:#fff; }
.showreel-youtube { position:absolute;top:50%;left:50%;width:max(100vw,177.777778vh);height:max(100vh,56.25vw);min-width:100%;min-height:100%;transform:translate(-50%,-50%);border:0;pointer-events:none; }
.showreel-overlay { position:absolute;inset:0;background:linear-gradient(180deg,#0004,transparent 28%,transparent 70%,#0007);pointer-events:none; }
.showreel-label { position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);font:400 clamp(40px,5.27vw,76px)/1 var(--serif);opacity:.95;pointer-events:none;text-shadow:0 2px 24px #0008; }
.showreel .section-number { z-index:2;top:clamp(22px,5vw,70px);left:var(--scroll-rail-gutter); }
.showreel .direction-line { display:none; }
.showreel .reel-action { z-index:2;opacity:1;transform:none;right:var(--scroll-rail-gutter);bottom:clamp(26px,5vw,70px);pointer-events:none; }
@media(max-width:760px) {
 .showreel { min-height:78svh;height:78svh; }
 .showreel-frame { min-height:78svh; }
 .showreel-youtube { width:max(100vw,138.666667vh);height:max(78vh,72.115385vw); }
 .showreel .section-number { top:30px;left:var(--scroll-rail-gutter); }
 .showreel .reel-action { right:var(--scroll-rail-gutter);bottom:30px; }
 .showreel-label { font-size:42px; }
}

/* Featured Vimeo films */
.work-video{position:absolute;top:50%;left:50%;width:max(100%,177.777778%);height:max(100%,56.25%);border:0;pointer-events:none;background:#141414;transform:translate(-50%,-50%);}
.work-card-button:focus-visible{outline:2px solid currentColor;outline-offset:5px;border-radius:12px;}

/* Reference-style link label motion: a smooth vertical text handoff on hover. */
.button,.filter-button,.view-all{position:relative;overflow:hidden;}
.button>span,.filter-button>span,.view-all>span{position:relative;display:inline-block;overflow:hidden;height:1.2em;line-height:1.2;vertical-align:middle;will-change:transform;}
.label-track{display:flex;flex-direction:column;transform:translateY(0);will-change:transform;transition:transform .64s cubic-bezier(.22,.61,.36,1);}
.label-track>span{display:block;height:1.2em;line-height:1.2;white-space:nowrap;}
.button:hover>span .label-track,.button:focus-visible>span .label-track,.filter-button:hover>span .label-track,.filter-button:focus-visible>span .label-track,.view-all:hover>span .label-track,.view-all:focus-visible>span .label-track{transform:translateY(-50%);}
.button:not(:hover):not(:focus-visible)>span .label-track,.filter-button:not(:hover):not(:focus-visible)>span .label-track,.view-all:not(:hover):not(:focus-visible)>span .label-track{transition-timing-function:cubic-bezier(.65,0,.35,1);}
.button .element-icon{transition:transform .52s cubic-bezier(.22,.61,.36,1);}
.button:not(:hover):not(:focus-visible) .element-icon{transition-timing-function:cubic-bezier(.65,0,.35,1);}

/* Equal-height HD, Story, Post sequence with identical groups for a seamless loop. */
.team-section .team-strip,.culture .team-strip{--film-height:max(180px,18vw);--film-gap:clamp(10px,1.1vw,22px);display:block;height:var(--film-height);overflow:hidden;position:relative;isolation:isolate;}
.team-track{display:flex;align-items:center;gap:0;width:max-content;height:100%;animation:team-carousel 48s linear infinite;will-change:transform;}
.team-group{display:flex;flex:0 0 auto;align-items:center;gap:var(--film-gap);padding-right:var(--film-gap);}
.team-strip:hover .team-track,.team-strip:focus-within .team-track{animation-play-state:paused;}
.team-track .studio-tile:nth-child(n){position:relative;display:block;flex:0 0 auto;width:calc(var(--film-height) * 16 / 9);height:var(--film-height);margin:0;align-self:center;overflow:hidden;background:#000;border-radius:11px;color:#fff;}
.team-track .studio-tile:nth-child(3n + 2){width:calc(var(--film-height) * 9 / 16);}
.team-track .studio-tile:nth-child(3n){width:var(--film-height);}
.studio-video{position:absolute;top:50%;left:50%;width:calc(var(--film-height) * 16 / 9);height:100%;max-width:none;border:0;pointer-events:none;transform:translate(-50%,-50%);}
.studio-tile::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 65%,#0008);pointer-events:none;}
.studio-tile-caption{position:absolute;z-index:1;left:12px;right:12px;bottom:12px;display:flex;justify-content:space-between;font-size:clamp(10px,.75vw,12px);opacity:.9;}
@keyframes team-carousel{from{transform:translate3d(0,0,0)}to{transform:translate3d(-50%,0,0)}}
@media(prefers-reduced-motion:reduce){
 .team-track{animation:none;transform:none;will-change:auto;}
 .team-section .team-strip,.culture .team-strip{overflow-x:auto;}
 .team-group[aria-hidden="true"]{display:none;}
}

/* What We Do Vimeo media */
.service-card .service-video{position:relative;display:block;overflow:hidden;isolation:isolate;}
.service-video-frame{position:absolute;top:50%;left:50%;width:max(100%,177.777778%);height:max(100%,56.25%);border:0;pointer-events:none;transform:translate(-50%,-50%);}
.service-video::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 48%,#0008);pointer-events:none;}
.service-video-label{position:absolute;z-index:1;left:22px;bottom:18px;color:#fff;font-size:13px;}
.service-video:focus-visible{outline:3px solid #6d8ceb;outline-offset:5px;}
@media(max-width:760px){.service-video-label{left:15px;bottom:13px;font-size:10px;}}

/* Remaining story and overview media holders */
.service-overview-media.service-video,.story-media.story-video{position:relative;overflow:hidden;display:block;isolation:isolate;}
/* These holders stay still; iframe centering and video playback remain independent. */
.service-video,.story-media.story-video{animation:none;transition:none;transform:none;translate:none;rotate:none;scale:none;}
.story-video-frame{position:absolute;top:50%;left:50%;width:max(100%,177.777778%);height:max(100%,56.25%);border:0;pointer-events:none;transform:translate(-50%,-50%);}
.story-video::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 48%,#0008);pointer-events:none;}
.story-video-label{position:absolute;z-index:1;left:24px;bottom:20px;color:#fff;font-size:13px;}
.story-video:focus-visible{outline:3px solid #6d8ceb;outline-offset:5px;}
@media(max-width:760px){.story-video-label{left:15px;bottom:13px;font-size:10px;}}

/* Centered editorial introduction, following the three-line reference. */
.intro-band{padding:clamp(52px,4vw,76px) 24px clamp(42px,3vw,58px);text-align:center;}
.intro-band .intro-logo{margin:0 auto clamp(24px,1.8vw,34px);}
.intro-band h1{display:block;width:100%;max-width:1100px;margin:0 auto;font-family:var(--serif);font-size:clamp(32px,calc(6.2vw + 12px),112px);font-weight:400;line-height:.94;letter-spacing:-.035em;text-align:center;}
.intro-band h1>span{display:block;white-space:nowrap;}
@media(max-width:480px){.intro-band{padding-inline:20px;}}

/* Featured work stays on one rail at every screen size. */
.featured .work-grid{grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:auto;}
.featured .work-grid:focus-visible{outline:2px solid #fff;outline-offset:-2px;}
@media(max-width:760px){
  .featured .work-grid{grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:86%;overflow-x:auto;scroll-snap-type:x proximity;scroll-padding-inline:var(--scroll-rail-gutter);padding-bottom:12px;}
  .featured .work-card{min-width:0;margin:0;scroll-snap-align:start;}
}

@media(max-width:760px){.team-track .studio-tile:nth-child(n){border-radius:8px;}}

/* Hero reference: expanded services left, studio message and work CTA lower right. */
.hero-callout{position:absolute;z-index:3;right:var(--hero-edge);bottom:var(--hero-lift);width:clamp(280px,24vw,440px);display:flex;flex-direction:column;gap:30px;}
.hero-callout .hero-studio-copy{position:static;width:100%;}
.hero .hero-callout .hero-bottom{position:static;display:block;}
.hero .hero-callout .hero-bottom .button{width:100%;}
.hero .hero-shade{background:linear-gradient(0deg,#000b,transparent 75%),linear-gradient(90deg,#0007,transparent 40%,transparent 62%,#0007);}
@media(min-width:761px) and (max-width:1200px){
 .hero{min-height:680px;}
 .hero-services{width:clamp(230px,25vw,300px);}
}
@media(max-width:760px){
 .hero{height:auto;min-height:100svh;aspect-ratio:auto;display:flex;flex-direction:column;gap:34px;padding:150px var(--hero-edge) 104px var(--hero-copy-left);}
 .hero-services{position:relative;left:auto;bottom:auto;width:100%;max-width:440px;}
 .hero-callout{position:relative;right:auto;bottom:auto;width:100%;max-width:440px;gap:22px;}
 .hero-callout .hero-studio-copy{width:100%;}
 .hero .hero-callout .hero-bottom{margin:0;}
 .hero-service-list a{min-height:34px;}
 .hero-playback{bottom:28px;}
}

/* The supplied g&m corner-arrow artwork replaces generic text arrows site-wide. */
.brand-inline-arrow{display:inline-block;flex:0 0 auto;width:1.3em;height:1.3em;min-width:15px;min-height:15px;vertical-align:-.2em;background:currentColor;-webkit-mask:url('elements/corner-north-east.svg') center/contain no-repeat;mask:url('elements/corner-north-east.svg') center/contain no-repeat;}
.brand-inline-arrow-down{rotate:90deg;}
.work-card-hover .brand-inline-arrow{width:23px;height:23px;}
.studio-tile-caption{align-items:center;gap:8px;}
.hero-services-label .brand-inline-arrow{width:22px;height:22px;}
/* Annotated hero: bold italic service title and a quiet downward arrow cue. */
.hero .hero-services-label{margin:0;padding-bottom:14px;font:italic 700 clamp(17px,1.15vw,22px)/1.25 var(--sans);letter-spacing:-.025em;}
.hero-services-label>span{display:flex;align-items:center;flex:none;}
.hero-service-list a>span:first-child{min-width:0;}
.hero-service-number{flex-shrink:0;}
@media(prefers-reduced-motion:no-preference){
 .hero-services-label .brand-inline-arrow{animation:hero-service-arrow-drift 4s cubic-bezier(.45,0,.25,1) infinite;}
 @keyframes hero-service-arrow-drift{0%,65%,100%{translate:0 0;opacity:1;}30%{translate:0 4px;opacity:.75;}45%{translate:0 0;opacity:1;}}
 .hero-services-label>span{transition:translate .45s var(--ease);}
 .hero-services-label:hover>span{translate:0 2px;}
}
@media(prefers-reduced-motion:no-preference){
 .brand-inline-arrow{transition:translate .52s cubic-bezier(.22,.61,.36,1);}
 a:hover .brand-inline-arrow,a:focus-visible .brand-inline-arrow{translate:2px -2px;}
}

/* Larger navigation, left-aligned contextual panels, and rolling labels. */
.desktop-nav a{font-size:13.75px;}
.desktop-mega{display:block;text-align:left;padding:0 20px 0 var(--menu-content-left,48%);}
.desktop-mega.is-open{max-height:390px;padding:24px 20px 26px var(--menu-content-left,48%);}
.menu-panel-content{text-align:left;}
.menu-panel-title{font-size:12px;font-weight:700;line-height:1.3;margin-bottom:10px;}
.menu-panel-copy{font-size:12px;line-height:1.55;margin:0 0 18px;max-width:34ch;}
.menu-panel-links{display:flex;flex-direction:column;gap:0;}
.menu-panel-links>a{display:flex;align-items:center;justify-content:space-between;gap:14px;min-height:36px;padding:8px 0;border-top:1px solid #1112;font-size:11px;font-weight:500;line-height:1.3;}
.menu-panel-links>a:hover{color:#555;}
.nav-label{display:block;height:1.16em;overflow:hidden;line-height:1.16;}
.nav-label-track{display:flex;flex-direction:column;transition:transform .6s cubic-bezier(.22,.61,.36,1);}
.nav-label-track>span{display:block;flex:none;line-height:1.16;}
.desktop-nav a:is(:hover,:focus-visible,[aria-expanded="true"]) .nav-label-track,.mobile-nav-inner>a:is(:hover,:focus-visible,[aria-expanded="true"]) .nav-label-track{transform:translateY(-50%);}
.desktop-nav a[aria-expanded="true"]::after{width:100%;transform:scaleX(1);}
@media(max-width:760px){
 .mobile-nav-inner>a{gap:14px;}
 .mobile-nav-inner>a>.nav-label{font-size:clamp(47.5px,10vw,75px);line-height:1.16;min-width:0;}
 .mobile-menu-panel{padding:8px 0 24px;color:#111;}
 .mobile-menu-panel .menu-panel-copy{font-size:14px;max-width:36ch;}
 .mobile-menu-panel .menu-panel-links>a{font-size:13px;min-height:44px;}
 .mobile-nav-inner>a[aria-expanded="true"]>.element-icon{transform:rotate(90deg);}
}
@media(prefers-reduced-motion:reduce){.nav-label-track{transition:none;}.desktop-mega,.desktop-mega.is-open{transition:none;}}

/* Section and utility numbers remain present but visually recessive. */
.section-number,.contact-section-number,.mobile-nav-inner>a>small,.hero-service-number{opacity:.3!important;}

/* Compact menu control: keep the wordmark, remove the trailing icon, enlarge Menu by 15%. */
.menu-toggle-icon{display:none!important;}
.menu-toggle{font-size:12.65px;gap:4px;}
.site-header.is-scrolled.menu-expanded .menu-toggle{font-size:11.5px;}
@media(max-width:760px){.menu-toggle{font-size:13.8px;gap:4px;}}

/* Give the compact desktop menu wordmark 15% more size and room to breathe. */
@media(min-width:761px){
 .site-header.is-scrolled:not(.menu-expanded) .menu-toggle{gap:12px;}
 .site-header.is-scrolled:not(.menu-expanded) .menu-toggle-mark{width:42.55px;height:31.05px;flex-shrink:0;}
}

/* One left-aligned ampersand spans chapters 03 and 04 without adding layout space. */
.brand-chapters{position:relative;isolation:isolate;overflow:hidden;background:var(--dark);}
.shared-chapter-ampersand{position:absolute;z-index:0;left:0;top:0;height:100%;width:auto;max-width:none;transform:translateX(-25%);pointer-events:none;}
.brand-chapters>#studio,.brand-chapters>#services{position:relative;z-index:1;background:transparent;}
#studio .why-copy,#services .teaser-content{position:relative;isolation:isolate;overflow:hidden;min-height:0;padding-block:clamp(24px,3vw,40px) 48px;}
#studio .why-copy>p,#services .teaser-content>p{position:relative;z-index:1;margin-bottom:0;}
#studio .why-copy>.button,#services .teaser-content>.button{position:relative;z-index:1;margin:32px auto 0;}
@media(max-width:760px){
 #studio .why-copy,#services .teaser-content{padding-block:24px 36px;}
 #studio .why-copy>.button,#services .teaser-content>.button{margin-top:26px;}
}

/* Original client artwork remains in full colour on consistent white tiles. */
.clients{background:#fff;color:#080808;}
.clients .section-heading{border-color:#b2b2b2;}
.clients .section-number{color:#858585;}
.client-wall.client-logo-wall{display:flex;flex-wrap:wrap;justify-content:center;gap:24px;}
.client-wall.client-logo-wall>img{flex:0 0 calc((100% - 96px)/5);width:calc((100% - 96px)/5);min-width:0;height:160px;padding:20px;background:#fff;border-radius:11px;object-fit:contain;filter:none;opacity:1;}
@media(max-width:1000px){.client-wall.client-logo-wall>img{flex-basis:calc((100% - 48px)/3);width:calc((100% - 48px)/3);height:140px;padding:16px;}}
@media(max-width:760px){.client-wall.client-logo-wall{gap:16px;}.client-wall.client-logo-wall>img{flex-basis:calc((100% - 16px)/2);width:calc((100% - 16px)/2);height:120px;padding:12px;border-radius:8px;}}

/* Studio contact details beneath the logo, alongside every desktop menu panel. */
.desktop-mega{display:grid;grid-template-columns:calc(var(--menu-content-left,280px) - 40px) minmax(0,1fr);column-gap:24px;align-items:start;padding:0 16px;}
.desktop-mega.is-open{max-height:460px;min-height:334px;padding:24px 16px 26px;}
.menu-contact{display:flex;flex-direction:column;gap:14px;min-width:0;color:#151515;text-align:left;font-size:12.5px;line-height:1.5;}
.menu-contact-label{margin:0 0 3px;font-size:10px;line-height:1.4;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#555;}
.menu-contact address{font:inherit;font-style:normal;}
.menu-contact address>span{display:block;}
.menu-contact a{font-weight:500;overflow-wrap:anywhere;text-decoration-thickness:1px;text-underline-offset:3px;}
.menu-contact a:hover,.menu-contact a:focus-visible{text-decoration:underline;}
@media(max-width:760px){
 .mobile-menu-bottom .menu-contact{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 18px;font-size:14px;padding:20px 0;border-top:1px solid #1113;width:100%;}
 .mobile-menu-bottom .menu-contact>div:first-child,.mobile-menu-bottom .menu-contact>div:last-child{grid-column:1/-1;}
 .mobile-menu-bottom .menu-contact-label{font-size:11px;}
 .mobile-menu-bottom .menu-contact a{display:inline-block;padding:4px 0;}
}

/* Showreel label follows the reference: small, bold Poppins at the lower-left, sharing the Open film baseline. */
.showreel-label{
  left:var(--scroll-rail-gutter);
  top:auto;
  bottom:clamp(26px,5vw,70px);
  transform:none;
  font:700 clamp(13px,1.15vw,20px)/1.1 var(--sans);
  letter-spacing:.04em;
  text-transform:lowercase;
  opacity:.98;
  text-shadow:0 2px 12px #0009;
}
.showreel .reel-action{bottom:clamp(26px,5vw,70px);}
@media(max-width:760px){
  .showreel-label{left:var(--scroll-rail-gutter);bottom:30px;font-size:14px;}
  .showreel .reel-action{bottom:30px;}
}

/* WordPress integration */
body.admin-bar .site-header{top:41px;}@media(max-width:782px){body.admin-bar .site-header{top:55px;}}
.film-frame video{display:block;width:100%;height:100%;object-fit:contain;}
video.hero-vimeo,video.work-video,video.studio-video,video.service-video-frame,video.story-video-frame,video.showreel-youtube{object-fit:cover;}
.gm-standard-page{max-width:900px;margin:auto;padding:90px 24px;}.gm-standard-page h1{margin:40px 0;}

/* Hero WhatsApp contact, above the studio callout. */
.hero-whatsapp{display:flex;align-items:center;gap:12px;align-self:flex-start;min-height:48px;color:#fff;text-decoration:none;font-family:Poppins,Arial,sans-serif;line-height:1.35;}
.hero-whatsapp svg{width:32px;height:32px;flex:none;}
.hero-whatsapp span{display:flex;flex-direction:column;gap:3px;}
.hero-whatsapp small{font-size:11px;font-weight:500;letter-spacing:.08em;text-transform:uppercase;}
.hero-whatsapp strong{font-size:clamp(16px,1.1vw,21px);font-weight:600;white-space:nowrap;}
.hero-whatsapp:hover strong{text-decoration:underline;text-underline-offset:5px;}
.hero-whatsapp:focus-visible{outline:2px solid currentColor;outline-offset:6px;border-radius:3px;}
