/* Shared type sizes replace the earlier per-section overrides. */
:root{--title-size:42px;--card-title-size:19px;--hover-ease:cubic-bezier(.22,1,.36,1)}
body h1,body h2,.film-copy h1,.process-heading h2,.contact h2{font-family:Inter,Arial,sans-serif;font-weight:700;font-size:var(--title-size);line-height:1.16;letter-spacing:-1.3px}
body h3,.pink-section .services h3,.stage-summary h3,.stage h3,.studio-card h3,.benefits h3{font-family:Inter,Arial,sans-serif;font-weight:700;font-size:var(--card-title-size);line-height:1.3;letter-spacing:-.45px}
.roll-window{position:relative;display:inline-grid;overflow:hidden;vertical-align:middle;line-height:1.4}.roll-copy{grid-area:1/1;display:block;transition:transform .45s var(--hover-ease);will-change:transform}.roll-incoming{transform:translateY(-115%)}
.header .nav a::after{display:none}.header .nav a{transition:color .25s ease}.header .nav a:hover,.header .nav a:focus-visible{color:#4c1233}
@media(hover:hover){a:hover>.roll-window>.roll-copy,button:hover:not(:disabled)>.roll-window>.roll-copy{transform:translateY(115%)}a:hover>.roll-window>.roll-incoming,button:hover:not(:disabled)>.roll-window>.roll-incoming{transform:translateY(0)}}
a:focus-visible>.roll-window>.roll-copy,button:focus-visible>.roll-window>.roll-copy{transform:translateY(115%)}a:focus-visible>.roll-window>.roll-incoming,button:focus-visible>.roll-window>.roll-incoming{transform:translateY(0)}
.nav-contact,.request-bar>button,.stage-run,.pane-label button,.api-tabs button{transition:background .25s,color .25s}
@media(hover:hover){.stage-run:hover:not(:disabled){background:#21131d}.pane-label button:hover{color:var(--pink)}}

.header.persistent-header{position:fixed;z-index:40;top:14px;left:24px;width:calc(100% - 48px);margin:0;padding:0;min-height:0;opacity:0;visibility:hidden;transform:translateY(calc(-100% - 24px));transition:transform .55s var(--hover-ease),opacity .3s,visibility .55s;box-shadow:0 8px 32px #0003}
.header.persistent-header.is-visible{opacity:1;visibility:visible;transform:translateY(0)}.persistent-header .header-inner{width:min(1200px,100%)}.persistent-header .brand img{width:106px}
#capabilities,#process,#studio,#contact{scroll-margin-top:112px}
@media(max-width:700px){:root{--title-size:30px;--card-title-size:18px}.film-copy{padding-top:125px}.film-copy h1{letter-spacing:-.9px}.header .nav{display:none!important}.film-stage .header-inner,.persistent-header .header-inner{display:flex;padding:10px 16px;min-height:64px;gap:20px}.film-stage .header .nav-contact,.persistent-header .nav-contact{min-height:44px;padding:12px 18px;font-size:12px}.film-stage .brand img,.persistent-header .brand img{width:79.5px}.header.persistent-header{left:12px;top:10px;width:calc(100% - 24px)}#capabilities,#process,#studio,#contact{scroll-margin-top:94px}}
@media(max-width:380px){:root{--title-size:27px}}
@media(prefers-reduced-motion:reduce){.roll-copy,.persistent-header,.nav-contact,.request-bar>button,.stage-run{transition:none!important}.roll-copy{transform:none!important}.roll-incoming{display:none}}
.mobile-actions[hidden]{display:none}
@media(max-width:700px){.request-bar.mobile-actions{padding:16px;border-top:1px solid var(--line)}.mobile-actions>button{width:100%;margin:0;display:flex;align-items:center;justify-content:space-between;min-height:46px}.mobile-actions>button>.roll-window{margin-left:0}}
.footer,.footer-bottom{border:0}.footer-wordmark{display:block;width:calc(100% - 80px);margin:48px auto 0}.footer-wordmark img{display:block;width:100%;height:auto}.footer{padding-bottom:0}.footer-main>p{margin:0}.footer-main{justify-content:space-between}
@media(max-width:700px){.footer-wordmark{width:calc(100% - 32px);margin-top:30px}}
/* A compact studio signature above the full-width typographic finish. */
.footer{padding:64px 0 24px;min-height:0}.footer>.container{width:min(1200px,calc(100% - 80px))}.footer-main{display:grid;grid-template-columns:1fr auto;gap:48px;align-items:start}.footer-intro{display:flex;flex-direction:column;align-items:flex-start;gap:22px}.footer .footer-brand img{width:109px;height:38px}.footer-intro p{font:400 24px/1.35 Inter,Arial,sans-serif;letter-spacing:-.65px}.footer nav{grid-column:auto;grid-row:auto;padding-top:4px;margin:0;width:auto;gap:10px;justify-self:end}.footer nav a{min-height:32px}.footer-bottom{border:0;margin-top:44px;padding:0;align-items:center;font-size:11px}.footer-wordmark{width:calc(100% - 80px);margin:56px auto 0}.footer-wordmark img{width:100%;height:auto}
@media(max-width:700px){.footer{padding:36px 0 16px}.footer>.container{width:calc(100% - 40px)}.footer-main{gap:24px;grid-template-columns:1fr auto}.footer-intro{gap:18px}.footer-intro p{font-size:18px;letter-spacing:-.4px}.footer nav{gap:4px;font-size:11px}.footer .footer-brand img{width:98px;height:auto}.footer-bottom{display:grid;grid-template-columns:1fr auto;gap:10px 16px;margin-top:30px;font-size:10px}.footer-bottom>span:nth-child(2){grid-column:1;grid-row:2}.footer-bottom>a{grid-column:2;grid-row:1 / 3;margin:0}.footer-wordmark{width:calc(100% - 40px);margin-top:34px}}
