/* Mobile-first refinements; the established desktop composition stays intact. */
.brand-mobile-contact{display:none}
@media(max-width:700px){
 .header{padding-inline:max(16px,env(safe-area-inset-left)) max(16px,env(safe-area-inset-right));padding-top:env(safe-area-inset-top);height:calc(70px + env(safe-area-inset-top))}
 .header .wordmark{max-width:calc(100% - 64px)}
 .header .logo-image{max-width:100%;height:auto}
 .menu-toggle,.menu-close{flex-shrink:0;min-width:44px;min-height:44px}
 .menu{padding-inline:max(20px,env(safe-area-inset-left)) max(20px,env(safe-area-inset-right));padding-bottom:env(safe-area-inset-bottom)}
 .menu-top{height:calc(70px + env(safe-area-inset-top));padding-top:env(safe-area-inset-top)}
 .menu-body{padding-top:30px}
 .menu-service-links{column-gap:12px}
 .menu .menu-service-links a{font-size:14px;min-width:44px;min-height:44px}
 .brand-hero{padding-top:calc(98px + env(safe-area-inset-top))}
 .brand-kicker{font-size:10px;margin-bottom:28px}
 .brand-hero-grid{gap:28px}
 .brand-message .brand-statement{margin-top:24px;font-size:19px;line-height:1.55}
 .brand-message .brand-description{font-size:15px;line-height:1.85;margin-top:14px}
 .brand-message .brand-bottom{margin-top:26px;display:flex;align-items:center;gap:12px;flex-wrap:wrap}
 .brand-message .brand-bottom>p{display:none}
 .brand-scroll{min-height:44px;font-size:12px;gap:10px}
 .brand-scroll>span{width:36px;height:36px}
 .brand-mobile-contact{display:inline-flex;min-height:44px;font-size:12px;padding:10px 16px;gap:16px}
 .brand-art{width:min(66%,240px);padding:10px;margin-bottom:0}
 .brand-art .art-bottomline{font-size:clamp(24px,6vw,30px)}
 .brand-hero+.hero .portfolio-heading{padding-top:60px;padding-bottom:32px}
 .portfolio-heading .eyebrow{font-size:11px}
 .brand-hero+.hero .portfolio-heading>p{font-size:15px;line-height:1.85;margin-top:18px}
 .studio-intro p,.work-intro-bottom>p,.service-section .section-heading>p,.contact-cta p,.about-split>div>p,.contact-aside>p{font-size:15px;line-height:1.85}
 .service-row p{font-size:14px;line-height:1.75}
 .studio-parent p,.studio-team-branch p,.brand-example p,.film-editorial-note,.content-story-heading p,.coming-bottom p{font-size:15px;line-height:1.85}
 .brand-source-note,.channel-scope,.scope-note,.content-story-note,.case-scope-note{font-size:13px;line-height:1.8}
 .roller--detail .hero-panel-caption>span:first-child,.roller--detail .hero-panel-caption>span:first-child b{line-height:1.6}
 .roller--detail .hero-panel-caption>span:first-child{font-size:13px}
 .roller--detail .hero-panel-caption>span:last-child,.roller--more .card-meta{font-size:11px;line-height:1.7}
 .roller--more .card-caption h3>span{font-size:13px;line-height:1.7}
 .filters button,.svc-switcher a{min-height:44px;font-size:13px}
 .contact-page-intro{padding-top:calc(92px + env(safe-area-inset-top));padding-bottom:18px}
 .contact-page-intro h1{font-size:clamp(44px,12vw,58px);margin-top:12px}
 .form-heading{padding-top:18px;flex-wrap:wrap;gap:4px 12px}
 .form-heading>span:first-child{font-size:22px;line-height:1.3}
 .form-heading>span:last-child,.optional{font-size:12px}
 .form-note{font-size:13px;line-height:1.75}
 .contact-layout .field,.contact-layout legend{font-size:14px;line-height:1.6}
 .contact-layout .field input{font-size:16px;min-height:52px;line-height:1.5;scroll-margin-block:110px 90px}
 .contact-layout .field textarea{font-size:16px;min-height:170px;line-height:1.75;scroll-margin-block:110px 90px}
 .service-options span{font-size:14px;min-height:44px}
 .form-consent,.form-consent details{font-size:13px;line-height:1.8}
 .form-consent summary{min-height:44px;padding-top:5px}
 .form-consent input{width:22px;height:22px;margin-top:1px}
 .form-submit-row{display:flex;flex-direction:column;align-items:stretch;gap:12px}
 .submit-inquiry{width:100%;min-height:52px}
 .form-submit-row>span{font-size:12px;text-align:center}
 .form-status,.form-recovery{font-size:14px;line-height:1.8}
 .viewer-bar{padding-top:env(safe-area-inset-top);min-height:calc(64px + env(safe-area-inset-top));height:auto}
 .viewer-bar button{min-width:44px;min-height:44px;font-size:12px}
 .viewer-scroll{padding-bottom:calc(32px + env(safe-area-inset-bottom))}
 .quick-actions{bottom:calc(14px + env(safe-area-inset-bottom))}
 body.quick-actions-obstructed .quick-actions{opacity:0;visibility:hidden;pointer-events:none}
}
@media(max-width:360px){
 .brand-kicker{font-size:9px}
 .brand-mobile-contact{gap:10px;padding-inline:12px}
 .brand-message .brand-bottom{gap:10px}
 .brand-scroll{font-size:11px}
}
@media(max-width:1000px) and (orientation:landscape) and (pointer:coarse){
 .header,.brand-hero,.page-intro,.section-pad,.contact-cta,.footer,.portfolio-heading{padding-left:max(var(--gutter),env(safe-area-inset-left));padding-right:max(var(--gutter),env(safe-area-inset-right))}
}
