/* Shared readable type sizes, loaded after page-specific styles. */
body{font-size:16px}
.cta p{font-size:16px}
.hero-copy p,.hero-second p,.page-film-copy p,.service-panel p,.process p,.full p,.work-card p,.section-top>p,.service-row p,.service-hero p,.insight-article>p,.insight-article details p,.contact-direct p,.form-intro,#form-status,#email-fallback p,.policy-body p,.policy-body ul,.policy-body blockquote,.policy-status p,.policy-card p{font-size:16px;line-height:1.7}
.eyebrow,.hero-copy .eyebrow,.work-card .eyebrow,.insight-article .eyebrow,.audience span,.audience p,.image-caption,.index,.service-panel>div,.step-num,.full .step-num,.process p.credit,.insights-teaser a span,.cta .small,.small,.price,.inclusion-grid article>span,label,#enquiry-copy,.policy-toc nav a,.policy-back,.policy-date,.policy-table table,.policy-card span{font-size:14px}
.eyebrow,.hero-copy .eyebrow,.work-card .eyebrow,.insight-article .eyebrow{letter-spacing:.1em}
.button,.hero-copy .button,.booking-box .button,.text-link,.work-card .text-link,.insight-article summary{font-size:14px}
summary{font-size:16px}
input,textarea,select{font-size:16px}
.desktop-nav,.header-cta,.footer-nav{font-family:'Barlow Condensed','Arial Narrow',Arial,sans-serif;font-size:22px;font-weight:500;text-transform:uppercase;line-height:1.2;letter-spacing:.02em}
.desktop-nav{gap:22px}
.desktop-nav a,.header-cta{white-space:nowrap}
.footer-nav{flex-wrap:wrap;gap:20px 30px}
.footer-top p,.social a{font-size:16px;line-height:1.6}
.footer-bottom,.motion-toggle{font-size:14px;line-height:1.6}
.footer-bottom>div{flex-wrap:wrap;gap:14px 24px}
.footer-bottom{padding-bottom:60px}
.hero-bottom,.page-film-bottom{font-size:14px}
.hero-bottom button,.page-film-bottom>span{font-size:14px}
.hero-note,.page-film-bottom>span{max-width:calc(50% - 105px);line-height:1.35}
.back-to-top{position:fixed;right:max(20px,env(safe-area-inset-right));bottom:max(20px,env(safe-area-inset-bottom));z-index:28;display:grid;place-items:center;width:48px;height:48px;border:1px solid #8cb8d0;background:#101214;color:#fff;box-shadow:0 3px 14px #0003}
.back-to-top:hover{background:#286485}
.back-to-top svg{width:24px;height:24px}
@media(max-width:1150px) and (min-width:901px){.site-header{gap:16px}.desktop-nav{gap:16px}.header-cta{gap:8px}}
@media(max-width:900px){.footer-top{grid-template-columns:1fr 1fr}.footer-top .social{grid-column:1/-1}.social{flex-wrap:wrap}.service-panel>div{flex-wrap:wrap}.hero-note,.page-film-bottom>span{display:none}.page-film-copy{padding-bottom:110px}.page-film-sticky{min-height:700px}}
@media(max-width:600px){.header-cta{font-size:20px}.site-header{gap:10px}.brand{width:135px}.hero-copy .eyebrow{font-size:14px}.hero-copy p{margin:22px 0}.hero-sticky{min-height:650px}.hero-copy{top:35px}.hero-second p{font-size:16px}.page-film-sticky{min-height:730px}.reduce-motion .hero-sticky{min-height:650px}.reduce-motion .page-film-sticky,.film-fallback .page-film-sticky{min-height:730px}.service-panel>div{flex-direction:column;align-items:flex-start}.footer-nav{font-size:22px}.footer-bottom,.motion-toggle{font-size:14px}.footer-top p,.social a{font-size:16px}.image-caption{flex-wrap:wrap}.image-caption span:last-child{max-width:none;text-align:left}.back-to-top{right:max(16px,env(safe-area-inset-right));bottom:max(16px,env(safe-area-inset-bottom))}}
@media print{.back-to-top{display:none!important}}
