/* Keep page progress above fixed navigation and visible on every surface. */
.progress{position:fixed;top:0;left:0;right:0;height:4px;z-index:1000;pointer-events:none;background:#ff6339;box-shadow:0 0 7px #ff4b2477;transform-origin:left center;will-change:transform}
html.intro-active .progress{visibility:hidden}
@media(max-width:700px){
 .hero{height:120svh}
 .hero-stage{height:100svh;min-height:620px;padding-top:80px;padding-bottom:100px}
 .hero-stage .hero-content{padding:20px 6%}
 .hero h1,.hero h1 span{-webkit-text-stroke:1.75px #ff754c}
 .hero h1{filter:drop-shadow(0 0 3px #ff4b2466) drop-shadow(0 1px 2px #000)}
 .hero-stage .motion-art:after{background:linear-gradient(90deg,#000b,transparent 95%),linear-gradient(0deg,#000a,transparent 65%)}
 .hero .eyebrow{font-size:10px;line-height:1.6;letter-spacing:.07em;max-width:300px;margin-bottom:20px}
 .hero-baseline{margin-top:20px}.hero-baseline p{font-size:15px;line-height:1.65}
 .hero .arrow-link{min-height:48px;font-size:11px;margin-top:18px}
 .scribble-link{font-size:13px;line-height:1.6;min-height:44px;display:inline-flex;align-items:center}
 .hero-foot{font-size:10px;letter-spacing:0;gap:12px;align-items:center;bottom:18px;padding-top:14px}
 .hero-foot a{min-height:44px;display:flex;align-items:center;gap:6px;text-align:right}
 .motion-toggle{min-height:44px;font-size:10px;bottom:88px;padding:10px 13px}
 .hero-stage:after{bottom:142px;font-size:30px}
 .intro-copy p,.client-heading p,.board-heading>p,.board-beat>p,.service-body p,.steps p,.hq-description,.lab-ad-intro,.play-copy>p:not(.mini-stamp),.copy>p,.note>p,.brief-intro{font-size:15px;line-height:1.75}
 .intro-copy .lead{font-size:22px;line-height:1.45}
 .section-label,.studio-stats p,.stat-manifesto,.board-keywords,.board-slug,.board-topline,.board-bottomline,.board-mobile-art .board-topline,.board-mobile-art .board-bottomline,.board-capabilities-label,.hq-kicker,.hq-coordinates,.hq-globe-bottom,.hq-address-label,.hq-address a,.reel-state,.reel-time,.lab-ad-tag,.lab-teaser .section-label{font-size:10px;line-height:1.65;letter-spacing:.04em}
 .board-mobile-art .board-scene figcaption{font-size:10px}
 .motion-lab-door>small{font-size:10px;line-height:1.5;letter-spacing:0;max-width:145px}
 .footer>div{font-size:10px;line-height:1.7;gap:15px}
 button,.filters button,.hq-globe-bottom button,.board-scene .inside-trigger,.dialog-close,.footer>div a{min-height:44px}
 .menu-toggle{font-size:11px}.header .nav-lab{min-height:48px}
 .filters{gap:12px}.filters button{font-size:10px}
 .service-list summary{min-height:56px}
 .section-shell{padding-top:60px;padding-bottom:60px}
 .board-beat{padding-bottom:50px}.board-mobile-art{margin-bottom:24px}
 .lab-teaser{padding-top:32px;padding-bottom:35px}
 .lab-ad{grid-template-columns:minmax(0,1fr) 105px;gap:15px;align-items:center}
 .lab-ad-copy{min-width:0}.lab-ad-tag{font-size:10px;margin-bottom:14px}
 .lab-ad h2{font-size:48px;margin-bottom:18px}
 .lab-ad h2>span:nth-child(2){margin-left:14px}.lab-ad h2>span:nth-child(3){margin-left:28px}
 .lab-ad-intro{font-size:15px;line-height:1.6}
 .lab-ad-art{width:105px;aspect-ratio:1/1.4;align-self:start;margin-top:58px;justify-self:end}
 .lab-ad-art .chrome-teaser{width:160%;height:auto;aspect-ratio:1}.lab-ad-numbers,.lab-ad-plus{display:none}.lab-ad-art:before,.lab-ad-art:after{width:12px;height:12px;inset:8px auto auto 8px}.lab-ad-art:after{inset:auto 8px 8px auto}
 .lab-ad-cta{width:100%;min-height:48px;font-size:10px;letter-spacing:.3px;gap:8px}
 .lab-ad-cta .ui-icon{width:20px;height:20px}
 /* Lab controls stay comfortably tappable at narrow widths. */
 .controls{padding:9px 5vw}.swatches button{min-height:44px;font-size:10px;letter-spacing:0;padding:9px 7px}#motion{font-size:10px;gap:4px;padding:9px 6px}
 header .back-to-site{min-height:44px;font-size:10px;letter-spacing:0;gap:5px}
 header .identity{font-size:10px}header .identity small{font-size:7px;letter-spacing:0}
 .eyebrow{font-size:10px;line-height:1.6;letter-spacing:.04em}
 .index,.label,.next-experiment,.control-label,.lab-playground .section-label,.mini-stamp,.poster-caption,.play-hint{font-size:10px!important;line-height:1.65!important;letter-spacing:0}
 .play-actions .quiet-button{font-size:10px;min-height:44px}.play-actions{gap:16px}
 .poster-caption{align-items:start;flex-wrap:wrap}.next-experiment{min-height:44px;display:inline-flex;align-items:center;gap:8px}
 .label{bottom:-30px}.sculpture{margin-bottom:48px}
 .lab-playground{padding-top:40px;padding-bottom:45px}
}
@media(max-width:360px){.lab-ad{grid-template-columns:minmax(0,1fr) 85px;gap:10px}.lab-ad-art{width:85px}.lab-ad h2{font-size:43px}.swatches{gap:4px}.swatches button,#motion{font-size:9px;padding:9px 5px}header .identity{font-size:9px}header .identity small{font-size:6px}header .back-to-site{font-size:9px}}
@media(prefers-reduced-motion:reduce){.hero{height:auto}.hero-stage{position:relative;height:auto;min-height:620px}.progress{will-change:auto}}

/* The studio ribbons keep their original reserved space on mobile. */
@media(max-width:700px){.intro.section-shell{padding-top:140px;padding-bottom:95px}}

/* Keep copy endings together without forced desktop line breaks. */
p{text-wrap:pretty}
