/* Shared, focused improvements for small screens and touch interaction. */
.mobile-ready :where(a,button,summary){touch-action:manipulation}
.mobile-ready :where(h1,h2,h3){overflow-wrap:break-word}
.mobile-ready :where(.hero-grid,.program-layout,.intro,.context-grid,.journey-head,.contact-grid,.contact-intents,.hero-grid>*,.program-layout>*,.intro>*,.context-grid>*){min-width:0}
@media(max-width:700px){
 .mobile-ready{overflow-wrap:break-word}
 .mobile-ready h1{font-size:clamp(2.35rem,10.5vw,3.4rem);line-height:1.1;letter-spacing:-.035em;text-wrap:balance}
 .mobile-ready h2{font-size:clamp(1.85rem,8vw,2.5rem);line-height:1.15;text-wrap:balance}
 .mobile-ready .intro p{font-size:1rem;line-height:1.7}
 .mobile-ready :where(.back,.text-link,.more,.action,.button,.contents a,.work-list a,.work-texts a,.join-guide,.instagram-link,.event-link,.news-card>a){min-height:44px;display:inline-flex;align-items:center;padding-block:10px}
 .mobile-ready :where(.footer-links,.foot,.links){display:flex;flex-wrap:wrap;gap:4px 20px}
 .mobile-ready :where(.footer-links,.foot,.links) a{min-height:44px;display:inline-flex;align-items:center}
 .mobile-ready .nav{gap:16px}
 .mobile-ready .back{font-size:.68rem;letter-spacing:.08em;max-width:56%;text-align:right;justify-content:flex-end}
 .mobile-ready .nav-links{max-height:calc(100dvh - 88px);overflow-y:auto;overscroll-behavior:contain;align-items:stretch}
 .mobile-ready .nav-links a{min-height:44px;display:flex;align-items:center}
 .mobile-ready .work .title{font-size:clamp(2.4rem,12vw,4rem);overflow-wrap:break-word}
 .mobile-ready .work{min-height:300px;padding:28px 24px}
 .mobile-ready .meta{gap:8px}
 .mobile-ready .meta span{font-size:.67rem;letter-spacing:.08em;padding:9px 11px}
 .mobile-ready .journey,.mobile-ready .context{padding-block:46px}
 .mobile-ready .journey-head{gap:20px;margin-bottom:28px}
 .mobile-ready .contents{gap:8px;padding-block:20px}
 .mobile-ready .moment:hover img,.mobile-ready .rep-card:hover{transform:none}
 .mobile-ready .archive-dialog{width:calc(100% - 20px);max-width:none;max-height:calc(100vh - 24px);max-height:calc(100dvh - 24px);overflow:hidden;margin:auto}
 .mobile-ready .archive-grid{display:block;max-height:calc(100vh - 24px);max-height:calc(100dvh - 24px);overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}
 .mobile-ready .archive-copy{overflow:visible;padding:30px 24px 34px}
 .mobile-ready .archive-copy h3{font-size:clamp(2rem,10vw,3rem);margin-right:0;line-height:1.1}
 .mobile-ready .archive-visual{min-height:0;max-height:56vh;max-height:56svh}
 .mobile-ready .archive-poster{width:100%;height:auto;max-height:56vh;max-height:56svh;object-fit:contain}
 .mobile-ready .archive-poster-missing{min-height:280px;padding:35px 28px}
 .mobile-ready .archive-meta{grid-template-columns:1fr;gap:5px}
 .mobile-ready .archive-meta dd{margin-bottom:14px}
 .mobile-ready .archive-note{overflow-wrap:anywhere}
}
.mobile-ready .archive-close{position:absolute;z-index:3;right:12px;top:12px;width:48px;height:48px;box-shadow:0 3px 12px #02285225;background:#fff}
@media(prefers-reduced-motion:reduce){.mobile-ready{scroll-behavior:auto}.mobile-ready *,.mobile-ready *::before,.mobile-ready *::after{scroll-behavior:auto!important;transition:none!important;animation:none!important}.mobile-ready .moment:hover img,.mobile-ready .rep-card:hover{transform:none}}
