/* All layout overrides are scoped to compact screens or touch-only phone landscape.
   Desktop with a mouse above 760px keeps the existing styles. */
@media (max-width:760px), (max-width:1000px) and (pointer:coarse) and (hover:none){
 html{scroll-padding-top:84px}body{overflow-wrap:break-word}
 .wrap{width:calc(100% - 28px);margin-inline:auto}
 header{padding-top:env(safe-area-inset-top,0px)}header nav{height:66px;gap:6px;width:calc(100% - 24px)}
 header .brand{font-size:14px;letter-spacing:0;min-width:0;white-space:normal;line-height:1.2;margin-right:auto}
 header .lang{gap:1px;flex-shrink:0}header .lang button{min-width:32px;min-height:44px;padding:6px 3px;font-size:13px}
 .menu{display:block;flex:0 0 44px;min-height:44px;padding:5px;font-size:24px}
 .navlinks{display:none;position:absolute;top:100%;left:0;right:0;padding:12px max(18px,env(safe-area-inset-right)) 18px max(18px,env(safe-area-inset-left));background:var(--surface);border-bottom:1px solid var(--line);flex-direction:column;gap:4px;max-height:calc(100svh - 80px);overflow-y:auto;overscroll-behavior:contain}
 .navlinks.open{display:flex}.navlinks a{min-height:46px;padding:10px 12px;border-radius:4px;font-size:16px}.navlinks a:after{display:none}
 .hero{padding-top:36px}.hero-main{display:block}.hero h1{font-size:clamp(48px,11.5vw,78px);letter-spacing:-1px}.hero .intro{font-size:16px;line-height:1.7}
 .engine{flex-wrap:wrap;gap:6px;line-height:1.5}.engine-logo{flex-shrink:0}.hero-art{width:min(75%,350px);height:190px;min-height:0;margin:26px auto 0}.hero-art svg{height:190px}.art-note{right:0;font-size:10px}
 .hero-bottom{flex-wrap:wrap;gap:12px;justify-content:flex-start;margin-top:30px}.hero-bottom>span:last-child{display:none}
 .ctas{gap:10px}.ctas .btn{flex:1 1 145px;min-height:48px}.ctas .text-link{margin-left:0;min-height:44px;display:inline-flex;align-items:center}
 .section-head{display:block}.section-head h2{font-size:clamp(40px,10vw,56px)}.section-head p{font-size:16px;margin-top:18px;max-width:none}
 .category-nav{height:auto;grid-template-columns:1fr;gap:9px;margin-bottom:28px}.category-jump{padding:13px 16px;min-height:48px}
 .project-category{padding:20px 9px;margin-bottom:36px}.category-heading{display:block;padding:0 5px 22px;margin-bottom:22px}.category-heading h3{font-size:clamp(30px,8vw,40px)}.category-heading p{font-size:15px;line-height:1.7;margin-top:16px}.category-heading .eyebrow{font-size:11px;letter-spacing:.7px}
 .category-identity{gap:14px}.category-logo{width:54px;height:54px}.category-academy .category-logo{width:45px;height:45px}
 .project-category .project{padding:18px 11px;min-width:0}.project-category .project-top{gap:8px}.project-top .tag{font-size:11px;letter-spacing:.5px}
 .project-category .project-heading{display:block;margin-bottom:22px}.project-heading h4{font-size:clamp(30px,9vw,42px)}.project-category .project-heading .btn{margin-top:16px;max-width:100%;white-space:normal}
 .project-layout,.compact-project .project-layout,#threaded-memories .project-layout{display:flex;flex-direction:column;gap:24px}.project-layout>*{width:100%;min-width:0}
 .project-category .project-copy p,.study>p,.design-detail p,.study details p{font-size:16px;line-height:1.75}.project-category .project-copy{gap:24px}.project-category .meta{gap:18px 14px}.meta dd{font-size:15px;overflow-wrap:anywhere}
 .project-category .gallery-footer,.gallery-footer{display:flex;flex-direction:column;align-items:stretch;gap:10px;padding-block:12px}
 .project-category .caption,.caption,#threaded-memories .tm-stage .caption{font-size:13px;line-height:1.55}
 .project-category .gallery-controls,.gallery-controls{justify-content:flex-end;gap:12px}.project-category .gallery-controls button,.gallery-controls button{width:46px;height:46px;flex:0 0 46px}.count{font-size:13px;min-width:58px;text-align:center}
 .media-open{touch-action:pan-y pinch-zoom}.media-open img{-webkit-user-drag:none;user-select:none}.video-toggle{min-height:50px;padding:13px 12px;font-size:14px;gap:10px}.video-toggle>span:first-child{min-width:0}.video-external{display:inline-flex;align-items:center;min-height:44px;font-size:14px}
 .tm-frame{border-width:54px 13px 18px}.tm-reveal{padding:3px 4px 10px}.threaded-project .tm-title{flex-direction:column;align-items:center;gap:10px;margin-bottom:15px}.tm-word{width:100%;gap:2px}.tm-toggle{min-height:46px;font-size:14px}.tm-open{inset:36% 5% auto;font-size:14px;padding:12px}
 .xerox-switch{width:100%;min-height:84px}.xerox-icon{width:64px;height:64px}.xerox-switch-action{font-size:13px}.project-category .xerox-instructions{font-size:13px;min-height:0;margin-block:12px}.xerox-light-area{padding:15px;touch-action:pan-y pinch-zoom}
 .study-grid{grid-template-columns:1fr;gap:25px}.study{padding:22px 16px}.study h3{font-size:32px}.study summary,.design-detail summary{min-height:44px;padding-block:8px;font-size:15px}
 .freelance{display:block;padding:22px 18px}.freelance h3{font-size:19px;line-height:1.4}.freelance p{font-size:16px}.freelance .btn{margin-top:18px;min-height:48px}
 #about .about{display:block;padding:24px 19px}#about .intro{font-size:19px;margin-top:26px}.profile-portrait{max-width:340px;margin-inline:auto}#about .team{display:block;padding:20px}#about .team-logo{margin-bottom:15px}.team p{font-size:15px}
 .skills{grid-template-columns:1fr 1fr;gap:26px 16px}.skills>div+div{border:0;padding-left:0}.skills>div:last-child{grid-column:1/-1}.skills ul{font-size:15px}
 .contact{display:block;padding:60px 0}.contact h2{font-size:clamp(44px,11vw,64px)}.contact p{font-size:16px}.contact-links{margin-top:28px;gap:0 18px}.social{min-height:48px;overflow-wrap:anywhere}
 footer{padding-bottom:max(24px,env(safe-area-inset-bottom))}.footer-inner{flex-wrap:wrap;gap:18px}.footer-inner .lang button{min-width:40px;min-height:44px}
 dialog{width:calc(100vw - 16px);max-width:none;max-height:calc(100svh - 16px);padding:58px 8px 12px;margin:auto;border-radius:6px}dialog .close{width:48px;height:48px;top:4px;right:4px;display:grid;place-items:center;line-height:1}.lightbox-content{height:min(75svh,760px)}html:has(dialog[open]){overflow:hidden}
 #notice{bottom:calc(16px + env(safe-area-inset-bottom));font-size:14px;padding:12px 16px}
}
@media(max-width:360px){.wrap{width:calc(100% - 20px)}header .brand{font-size:13px}.project-category{padding-inline:6px}.project-category .project{padding-inline:9px}.meta{grid-template-columns:1fr}.contact-links{grid-template-columns:1fr}.skills{grid-template-columns:1fr}.skills>div:last-child{grid-column:auto}.tm-frame{border-inline-width:10px}}
@media(max-width:1000px) and (pointer:coarse) and (hover:none){.btn:hover,.category-jump:hover{transform:none}.media-open:hover img{filter:none}.tm-slot{touch-action:pan-y pinch-zoom}}
