/* Touch-first refinements, native scroll choreography and compact chrome. */
@media(max-width:700px){
 .identity-orbit:after{mask-image:url('assets/flicurr-symbol-480.webp');-webkit-mask-image:url('assets/flicurr-symbol-480.webp')}
 :root{--mobile-nav:calc(78px + env(safe-area-inset-top,0px))}
 html{scroll-padding-top:var(--mobile-nav)}
 .navigation{height:var(--mobile-nav);padding-top:env(safe-area-inset-top,0px);padding-inline:5vw;grid-template-columns:minmax(0,1fr) 48px minmax(0,1fr);column-gap:10px}
 .navigation nav>a[href="#studio"]{display:none}.navigation nav{font-size:13px;gap:0}.navigation nav>a{min-height:44px}
 .navigation .motion-control{font-size:12px;line-height:1.2;max-width:70px;min-height:44px;padding:8px 10px}.nav-end{gap:4px;justify-self:end}.menu-button{padding:8px;min-width:40px}.signature,.signature img{width:48px;height:48px}
 .menu-panel{top:var(--mobile-nav);right:5vw;left:5vw;width:auto;max-height:calc(100dvh - var(--mobile-nav) - 20px);padding:15px 24px}.menu-panel a{min-height:48px;font-size:16px}
 .identity-opening{height:100svh;min-height:620px}.identity-centre{inset:16% 0 28%}.identity-symbol{width:min(76vw,340px)}.identity-centre h1{font-size:clamp(27px,8vw,38px)}
 .opening-baseline{bottom:max(5%,env(safe-area-inset-bottom,0px));gap:22px}.opening-baseline>p{font-size:15px}.opening-actions a{min-height:48px;font-size:14px;padding:13px 18px;gap:24px}
 .selected-work{scroll-margin-top:0}.selected-work-heading h2{font-size:clamp(42px,13vw,62px)}.selected-work-heading .micro{font-size:12px}.selected-work-heading>a{font-size:14px}
 .portfolio-view-bar{gap:10px}.portfolio-view-bar>span{font-size:12px;max-width:105px}.portfolio-view-bar button{font-size:12px;padding-inline:12px;min-height:44px}.featured-spiral .portfolio-view-bar .grid-mode{min-width:96px}
 .portfolio-experience.mobile-scroll .portfolio-spiral-track{height:calc((var(--portfolio-count,7) - 1)*clamp(220px,32svh,300px) + 100svh - var(--mobile-nav))}
 .portfolio-experience.mobile-scroll .portfolio-spiral-stage{position:sticky;top:var(--mobile-nav);height:calc(100svh - var(--mobile-nav));min-height:0;max-height:none}
 .portfolio-experience.mobile-scroll .portfolio-orbit{inset:42px 0 235px;perspective:1000px}
 .portfolio-experience.mobile-scroll .portfolio-orbit-film{width:min(68vw,calc((100svh - 370px)*.8),310px);top:50%;transition:none;box-shadow:0 12px 35px #0009}
 .mobile-scroll .spiral-instruction{font-size:12px}.mobile-scroll .spiral-instruction:after{display:none}
 .spiral-grid-shortcut{font-size:12px;min-height:44px;margin-top:-8px}.spiral-stage-note{top:16px;font-size:12px}.spiral-stage-note .spiral-instruction{letter-spacing:0}
 .spiral-caption{bottom:68px;padding-top:18px}.featured-spiral .spiral-caption{bottom:68px}.spiral-caption>div:first-child{padding-bottom:49px}.spiral-film-title,.featured-spiral .spiral-film-title{font-size:clamp(23px,6.5vw,30px);line-height:1.08}.spiral-campaign{font-size:12px;margin-bottom:7px}.spiral-film-meta,.featured-spiral .spiral-film-meta{font-size:12px;line-height:1.4;margin-top:8px}.spiral-category-link{font-size:12px;min-height:44px;margin-top:0}
 .spiral-step-controls{bottom:-5px;gap:12px}.spiral-step-controls button{width:44px;height:44px}.spiral-counter{font-size:12px;min-width:48px}.spiral-scrubber{bottom:13px;height:36px}.spiral-scrubber input{height:36px}.orbit-play{min-height:42px;padding:10px 16px}
 .practice{padding-top:35px;--stack-tail:0px}.practice-heading{position:relative;top:auto;height:105px;margin-bottom:20px}.practice-heading h2{font-size:48px!important;transform:none!important}.practice-heading>.micro{opacity:1;font-size:12px;top:22px}
 .practice-row{position:relative;top:auto;margin:0 0 52px!important;padding:22px 0 15px;gap:25px;box-shadow:none}.practice-copy h3{font-size:25px;margin-bottom:16px}.practice-copy p{font-size:16px}.practice-tags a{min-height:44px;font-size:12px;display:inline-flex;align-items:center}.practice-film{max-width:340px;clip-path:inset(var(--eco-mask,0%) 0 0);border-radius:2px!important}
 .motion-on .practice-copy{transition:opacity .6s,transform .7s cubic-bezier(.2,.8,.2,1)}.motion-on .practice-row:not(.seen) .practice-copy{opacity:.25;transform:translateY(22px)}.motion-on .practice-row.seen .practice-copy{opacity:1;transform:none}
 .about-house{padding:65px 6vw 55px}.about-symbol{width:180px;max-width:60vw}.about-copy h2{font-size:clamp(34px,10vw,46px)}.about-copy p{font-size:16px}
 .portfolio-filters{overflow-x:auto;flex-wrap:nowrap!important;scrollbar-width:none;padding:0 6vw 24px;scroll-padding-inline:6vw}.portfolio-filters::-webkit-scrollbar{display:none}.portfolio-filters a{white-space:nowrap;flex:0 0 auto;min-height:44px;font-size:13px}
 .collection-spiral .collection-heading h1{font-size:clamp(42px,13vw,64px)}.collection-spiral .collection-heading p{font-size:16px}.collection-projects{gap:40px!important}.project-caption h2{font-size:20px!important}.project-card>p{font-size:15px!important}
 #film-viewer{width:100%;max-width:100%;max-height:100dvh;margin:auto 0;padding:0;border-radius:14px 14px 0 0}.viewer-header{padding:18px 5vw;gap:15px}.viewer-header h2{font-size:20px;line-height:1.25}.viewer-header p{font-size:12px}.close-film{flex-shrink:0;min-width:60px;min-height:44px;font-size:14px}.viewer-stage>.film-poster{height:min(50svh,430px)}.viewer-stage iframe{width:100%;height:55svh}.viewer-bottom{padding:18px 5vw;display:flex;flex-direction:column;align-items:flex-start;gap:14px}.viewer-bottom p{font-size:15px}#viewer-original{min-height:44px;display:flex;align-items:center;font-size:14px}.viewer-help{font-size:12px;padding:0 5vw max(20px,env(safe-area-inset-bottom,0px))}
 footer.contact-film{scroll-margin-top:0}.contact-intro>.micro{font-size:12px}.contact-motion{font-size:12px;min-height:44px}.contact-channel{font-size:12px}.contact-details>a{min-height:98px}.contact-end>span{font-size:12px}.contact-end{padding-bottom:max(26px,env(safe-area-inset-bottom,0px))}
 .brand-heading h2,.brand-pause{font-size:13px}.brand-pause{min-height:44px}
}
@media(max-width:700px) and (max-height:619px){.identity-opening{min-height:610px}.portfolio-spiral-stage{height:640px;max-height:none}.portfolio-orbit{inset:40px 0 240px}.portfolio-orbit-film{width:230px}.featured-spiral .portfolio-orbit-film{width:230px}}
@media(max-width:360px){.navigation{padding-inline:4vw;column-gap:5px}.navigation .motion-control{max-width:62px;padding-inline:8px}.opening-actions{gap:12px}.opening-actions a{gap:17px;padding-inline:15px}.portfolio-view-bar button{min-width:65px;padding-inline:10px}.featured-spiral .portfolio-view-bar .grid-mode{min-width:88px}.practice-heading h2{font-size:40px!important}.practice-heading>.micro{font-size:11px}.contact-end nav{gap:12px}}
@media(prefers-reduced-motion:reduce){.practice-copy{transition:none!important;transform:none!important;opacity:1!important}}
.motion-off .practice-copy{transition:none!important;transform:none!important;opacity:1!important}

.portfolio-orbit-film[data-offscreen=true]{will-change:auto}

/* The phone ecosystem follows native scrolling: cards meet, then pass over one another. */
@media(max-width:700px){
 .practice{padding:38px 6vw 80px;--stack-top:calc(var(--mobile-nav,78px) + 72px);--stack-step:0px}
 .practice-heading{min-height:0;height:106px;margin:0 0 18px;z-index:1}
 .practice-heading h2{font-size:clamp(39px,11.8vw,64px)!important;transform:scale(var(--ecosystem-mobile-scale,1))!important;top:13px;line-height:1.05}
 .practice-heading>.micro{position:relative;display:block;top:73px;right:auto;font-size:12px;opacity:1}
 .practice-row{display:grid;grid-template-columns:1fr;min-height:0;gap:22px;padding:20px 0 24px;margin-bottom:64px!important;transform-origin:center top}
 .practice-copy{grid-template-columns:25px minmax(0,1fr);gap:12px}
 .practice-copy h3{font-size:24px;line-height:1.18;margin:1px 0 13px}.practice-copy p{font-size:16px;line-height:1.45}
 .practice-tags{margin-top:14px;gap:8px}.practice-tags a{font-size:13px;padding:8px 12px;min-height:44px}
 .practice-film{width:min(64vw,240px,calc((100svh - 410px)*.8));min-width:140px;max-width:none;aspect-ratio:4/5!important;justify-self:end;align-self:start;clip-path:inset(var(--eco-mask,0%) 0 0 round 12px);border-radius:12px!important}
 .motion-on .practice-row .practice-copy{transition:none;transform:translateY(var(--eco-copy-lift,0px));opacity:var(--eco-copy-opacity,1)}
 .practice.mobile-stack .practice-heading{position:sticky;top:var(--mobile-nav,78px);height:86px;margin-bottom:26px;background:#030304}
 .practice.mobile-stack .practice-heading>.micro{display:none}
 .practice.mobile-stack .practice-row{position:sticky;top:var(--stack-top);margin-bottom:calc(76px + var(--stack-tail,0px))!important;background:#030304;border-top:1px solid #504556;border-radius:16px 16px 0 0;box-shadow:0 -18px 30px #0009;transform:translateY(var(--eco-card-lift,0px)) scale(var(--eco-card-scale,1));will-change:transform}
 .practice.mobile-stack .practice-row:last-child{margin-bottom:80px!important}
 .practice.mobile-stack .practice-row:focus-within{transform:none}
 .technology-row .technology-list{margin-left:37px}.technology-list article{min-height:0;padding:14px 0}.technology-list h4{font-size:22px}.technology-list p{font-size:14px;line-height:1.4}.technology-row .developing{margin-top:10px}
 .motion-off .practice-heading h2{transform:none!important}.motion-off .practice-row{transform:none!important;position:relative;top:auto}.motion-off .practice-row .practice-copy{opacity:1;transform:none}
}
@media(max-width:700px) and (prefers-reduced-motion:reduce){.practice-heading h2,.practice-row,.practice-row .practice-copy{transform:none!important}.practice-row{position:relative!important;top:auto!important}.practice-heading{position:relative!important;top:auto!important}.practice-row .practice-copy{opacity:1!important}}
