/* Mobile layout refinements, loaded after the main theme. */
@media (max-width:760px){
  html{scroll-padding-top:90px}
  body{padding-bottom:0}
  .notice{font-size:9px;line-height:1.6;padding:7px 16px}
  header{height:72px;padding:0 5%;gap:12px}
  .brand{min-width:0;gap:8px}
  .tokyo-wordmark{font-size:16px;white-space:nowrap}
  .brand-sub{font-size:6px}
  .official-logo{width:40px;height:40px}
  .menu-toggle{flex-shrink:0;min-height:44px;padding:10px 12px}
  nav{top:72px;padding:12px 5% 20px;gap:0;max-height:calc(100dvh - 155px);overflow-y:auto;overscroll-behavior:contain;box-shadow:0 15px 25px #101e3733}
  nav>a{display:flex;align-items:center;min-height:46px;padding:12px 8px;border-bottom:1px solid #ffffff14;font-size:13px}
  nav>a.button{margin-top:12px;justify-content:center;border:0}
  .hero{padding:32px 5% 36px;gap:28px}
  .hero h1{font-size:clamp(36px,10.7vw,49px);letter-spacing:-1.8px;line-height:1.16}
  .hero .eyebrow{font-size:8px;letter-spacing:1.5px;margin-bottom:20px}
  .hero-copy>p{font-size:13px;line-height:1.8;margin:22px 0}
  .actions{gap:14px;flex-wrap:wrap}
  .actions .button{min-height:48px;font-size:12px;padding:16px 18px}
  .actions .text-link{min-height:44px;display:inline-flex;align-items:center;font-size:11px}
  .hero-foot{margin-top:22px;gap:10px}
  .vertical-text{font-size:9px;letter-spacing:2px}
  .photo-hero{min-height:0;height:530px;border-radius:16px}
  .photo-slides{bottom:190px}
  .photo-slide{overflow:visible}
  .photo-slide img{height:100%;object-fit:contain;object-position:center;background:#101e37;animation:none}
  .photo-slide:after{background:linear-gradient(180deg,#101e3733,transparent 35%,#101e3710)}
  .photo-slide figcaption{top:100%;bottom:auto;left:22px;right:22px;padding-top:17px;z-index:2}
  .photo-slide figcaption .tag{font-size:8px;letter-spacing:1.1px}
  .photo-slide figcaption strong,.poster-slide figcaption strong{font-size:22px;line-height:1.2;margin:9px 0}
  .photo-slide figcaption a{font-size:10px;padding:5px 0;min-height:29px}
  .photo-topline{top:14px;left:14px;right:14px;font-size:7px;letter-spacing:1px}
  .photo-topline span:first-child{padding:7px;background:#101e37cc}
  .photo-topline span:last-child{background:#101e37cc;padding:7px}
  .slider-controls{left:20px;right:20px;bottom:13px;padding-top:10px;gap:12px}
  .slide-actions{gap:6px}
  .slide-actions button{width:40px;height:40px;font-size:17px}
  .slide-dots{gap:14px;align-items:center;min-height:40px}
  .slide-dots button{width:7px;height:7px}
  .slide-dots button[aria-current=true]{width:20px}
  #slide-count{font-size:9px;letter-spacing:1px}
  .floating-wa{position:static;border:0;border-block:1px solid #d6b66a77;border-radius:0;min-height:64px;padding:20px;display:flex;justify-content:center;align-items:center;gap:10px;font-size:14px;box-shadow:none;background:#101e37}
  footer{padding-bottom:30px!important}
  input,select,textarea{font-size:16px;min-height:46px}
  .checkbox input{min-height:0}
  .section{padding-inline:5%}
  .section h2{font-size:clamp(28px,8vw,36px)}
  .official-gallery img{max-height:none}
  dialog{padding:32px 24px;max-height:calc(100dvh - 120px)}
}
@media(max-width:370px){
  .tokyo-wordmark{font-size:14px}.brand-sub{font-size:5px}.menu-toggle{padding:8px}
  .photo-hero{height:505px}.photo-slides{bottom:190px}
  .slider-controls{left:16px;right:16px;gap:8px}.slide-actions{gap:4px}.slide-actions button{width:36px;height:40px}
}
