/* Touch artwork browsing is a native scroll area, independent of desktop transforms. */
.mobile-showcase-track{position:relative;display:flex;gap:14px;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scroll-padding-inline:0;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain;scrollbar-width:none;padding:12px 0 18px;touch-action:auto}
.mobile-showcase-track::-webkit-scrollbar{display:none}
#project-preview .mobile-artwork{position:relative;flex:0 0 88%;min-width:0;scroll-snap-align:start;scroll-snap-stop:always;margin:0!important;padding:0!important;background:transparent!important;border:1px solid var(--line)!important;border-radius:14px!important;overflow:hidden;line-height:0;color:var(--ink)}
.mobile-artwork img{width:100%;height:clamp(280px,55svh,480px);object-fit:contain;display:block;user-select:none;-webkit-user-drag:none}
.mobile-showcase-controls{display:flex;align-items:center;justify-content:center;gap:24px;margin-top:8px}
#project-preview .mobile-showcase-controls button{min-width:48px;min-height:48px;margin:0;padding:8px;border:1px solid var(--line);border-radius:50%;background:transparent;color:var(--rose);font-size:22px;touch-action:manipulation}
.mobile-showcase-controls button:disabled,.zoom-controls button:disabled{opacity:.25;cursor:default}
.mobile-showcase-count{font-size:13px;letter-spacing:2px;font-variant-numeric:tabular-nums;min-width:70px}
.mobile-showcase-progress{height:2px;background:var(--line);max-width:220px;margin:18px auto}
.mobile-showcase-progress span{display:block;height:100%;background:var(--rose);transition:width .2s}
.role-reading-nav{position:sticky;top:0;z-index:8;display:flex;gap:8px;overflow-x:auto;flex-wrap:nowrap;background:var(--paper);padding:10px 48px 10px 0;margin:0 0 20px;border-bottom:1px solid var(--line);scrollbar-width:none}
.role-reading-nav a{flex:none;display:flex;align-items:center;min-height:44px;padding:7px 12px;border:1px solid var(--line);border-radius:24px;font-size:12px;color:var(--rose);white-space:nowrap}
.role-reading-nav a:hover{border-color:var(--rose)}
#project-preview section{scroll-margin-top:78px}
#zoom .zoom-controls{position:sticky;bottom:0;display:flex;align-items:center;justify-content:center;gap:28px;background:rgba(255,255,255,.96);padding:12px 18px max(12px,env(safe-area-inset-bottom));z-index:10}
.zoom-controls button{min-width:48px;min-height:44px;border:1px solid var(--line);border-radius:24px;background:transparent;color:var(--rose);font-size:22px}
.zoom-count{font-size:13px;min-width:65px;text-align:center}
#zoom>img{max-height:calc(85dvh - 110px)}
@media(max-width:1050px){.growth-card{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.growth-copy{min-width:0}.team-workflow{grid-template-columns:repeat(2,minmax(0,1fr))}.case-jumps{gap:10px}}
@media(max-width:750px){
 html{scroll-padding-top:80px}body{overflow-wrap:break-word}main,section,article,figure{min-width:0}body>header{padding:12px 16px;margin:10px 12px 0;gap:12px}.logo{font-size:23px}body>header nav{gap:12px}body>header nav a{font-size:11px;min-height:32px;display:flex;align-items:center}
 .home{padding:40px 22px 70px;gap:24px}h1{font-size:clamp(32px,8.5vw,46px);letter-spacing:-1px}.home .portrait{margin:0;max-width:100%}.section-heading h2{font-size:28px;line-height:1.5}.selected .section-heading{padding-inline:20px}
 .growth-timeline{gap:6px;padding-inline:12px}.growth-timeline button{min-width:0;padding-inline:6px}.growth-timeline strong{font-size:13px}.growth-timeline small{font-size:10px}.growth-card{grid-template-columns:1fr!important;border-radius:18px;margin-inline:12px}.growth-copy{padding:28px 24px}.growth-copy h3{font-size:25px;line-height:1.5}.growth-copy h4{font-size:21px}.growth-visual{min-height:0}.growth-visual img{width:100%;height:auto;max-height:380px;object-fit:contain}.growth-actions{display:flex;flex-wrap:wrap;gap:10px}.growth-actions button{min-height:44px}.growth-edge{top:60%;min-width:34px;min-height:50px}
 dialog{box-sizing:border-box;width:calc(100vw - 12px);max-width:none;max-height:calc(100dvh - 16px);margin:auto;border-radius:16px;overscroll-behavior:contain;scrollbar-width:thin}dialog .close{width:44px;height:44px;top:8px;right:8px;margin:8px;font-size:28px;touch-action:manipulation}
 #role-header{padding:24px 18px 0}#role-header h2{font-size:25px;line-height:1.45;margin-right:30px}#role-header>p{font-size:14px;line-height:1.8}.dialog-role-nav{flex-wrap:nowrap;overflow-x:auto;gap:8px;padding-bottom:8px}.dialog-role-nav button{flex:none;min-height:44px;padding:8px 12px}
 #project-preview{padding:0 16px 32px!important}#project-preview h3{font-size:25px;line-height:1.5}.inline-visuals,.inline-planning,.inline-materials{padding:26px 0}.role-reading-nav{margin-inline:-4px;padding-left:4px}
 #role-dialog .lip-trio{grid-template-columns:1fr;gap:24px}#role-dialog .lip-trio .lip-entry-copy{padding:22px}.lip-role-chain{line-height:2!important}.inline-commercial .commercial{grid-template-columns:1fr;gap:20px}
 #detail-content .lip-case{padding:16px 18px 32px}.lip-case-head{position:static;display:block;margin:0;padding:18px 0;border-radius:0;box-shadow:none;background:transparent;border:0}.lip-case-head h2{font-size:28px;line-height:1.4;overflow-wrap:anywhere}.lip-case-head>p{font-size:15px;line-height:1.85}
 .case-jumps{display:flex;overflow-x:auto;flex-wrap:nowrap;gap:8px;padding:12px 0;margin-top:22px;scrollbar-width:none}.case-jumps a{flex:none;min-height:44px;display:flex;align-items:center;padding:6px 10px;border:1px solid var(--line);border-radius:22px;font-size:12px}
 .case-block,.featured-case .case-block{padding-block:30px;scroll-margin-top:16px}.case-block>h3{font-size:25px;line-height:1.5}.strategy-steps article{grid-template-columns:28px minmax(0,1fr);gap:12px;padding:22px 0}.strategy-steps h4{font-size:18px}.strategy-steps p,.case-block>p{font-size:15px;line-height:1.85}
 .gallery{grid-template-columns:minmax(0,1fr);gap:18px}.gallery button{min-width:0;touch-action:manipulation}.gallery img,.featured-case .gallery img{height:auto;max-height:70svh;object-fit:contain}.case-metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.case-metrics strong{font-size:30px}.result-evidence{grid-template-columns:1fr}.result-evidence figure{margin-inline:0}
 .team-workflow,.team-local,.team-markets,.featured-role-grid{grid-template-columns:1fr;gap:24px}.team-workflow>article{display:block}.team-workflow>article>.gallery{height:auto!important;grid-auto-rows:auto;grid-template-columns:repeat(2,minmax(0,1fr));margin-top:18px}.team-workflow>article>.gallery button{height:auto;min-height:0}.team-workflow>article>.gallery img{height:auto;max-height:300px}.team-local .gallery,.team-markets .gallery{grid-template-columns:repeat(2,minmax(0,1fr))}.team-local p{min-height:0}.featured-process{gap:12px;grid-template-columns:repeat(2,minmax(0,1fr))}.featured-process>div{padding:18px}.featured-video-grid{grid-template-columns:1fr}.featured-video-grid .team-video video,.team-video video{width:100%;height:auto;max-height:65svh;object-fit:contain}
 #brand-fa-postcard .gallery button{height:230px;max-height:none}#brand-fa-postcard .gallery img{height:100%;max-height:230px}.brand-project-grid{grid-template-columns:1fr;gap:20px;margin:14px}.brand-project-grid>button{padding:10px!important;border-radius:18px!important}.brand-card-copy h3{font-size:24px}
 #zoom{width:calc(100vw - 8px);max-height:calc(100dvh - 8px)}#zoom>img{width:100%;height:calc(100dvh - 150px);max-height:calc(100dvh - 150px);object-fit:contain}#zoom .close{position:sticky;float:right;right:8px;top:8px}
 details>summary{min-height:44px;line-height:1.7;padding:10px 0;cursor:pointer}footer{padding:36px 22px;gap:18px}.offline-tools{max-width:100%}.offline-tools button{min-height:44px}
}
@media(max-width:390px){body>header nav{gap:8px}body>header nav a{font-size:10px}#role-header h2{font-size:23px}.featured-process{grid-template-columns:1fr}.mobile-artwork img{height:46svh}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation:none!important;transition:none!important}}

@media(max-width:900px){#coverflow .visual-five-spread{scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain}#coverflow .visual-spread-card{scroll-snap-align:start;scroll-snap-stop:always}}
@media(max-width:750px){.brand-cover{height:auto;aspect-ratio:4/5;max-height:380px}#role-dialog .lip-trio article{min-width:0}}
