/* ============================ TABLET ============================ */
@media(max-width:1024px){
  .header{padding:1rem 1.5rem}
  .header.scrolled{padding:.7rem 1.5rem}
  .header-right .btn-reserve{display:none}
  .room-grid{grid-template-columns:1fr 1fr;gap:1rem}
  .footer-inner{gap:2rem}
  .section{padding:5rem 1.5rem}
  .event-swiper-container,.cast-swiper-container{padding:0 1.5rem 2rem}
  .cast-grid{grid-template-columns:repeat(3,1fr);gap:1rem;padding:0 1.5rem 2rem}
  .access-inner{grid-template-columns:1fr;gap:2rem}
  .access-map{height:300px}
}

/* ============================ MOBILE ============================ */
@media(max-width:768px){
  .header{padding:.8rem 1rem}
  .header-info{display:none}
  .header-right .btn-reserve{display:none}
  .hero{padding-top:54px}
  .section-title{font-size:2.2rem}
  .room-grid{grid-template-columns:1fr}
  .room-card{height:260px}
  .footer-inner{flex-direction:column;align-items:flex-start;gap:1.5rem}
  .footer-col ul{gap:1.2rem}
  .footer-brand h3{font-size:2rem}
  .footer-brand .tagline{font-size:1rem;color:var(--gold)}
  .footer-col h4{font-size:1.05rem;color:var(--gold)}
  .footer-col ul li a{font-size:1.05rem;color:var(--white)}
  .footer-bottom{padding-top:2.5rem}
  .footer-bottom p{font-size:.95rem;color:var(--text-light)}
  .event-swiper-container{padding:0 0 2rem}
  .event-swiper .swiper-button-prev,.event-swiper .swiper-button-next{width:40px;height:40px}
  .event-swiper .swiper-button-prev{left:.5rem}
  .event-swiper .swiper-button-next{right:.5rem}
  .news-item{flex-direction:column;gap:.5rem;padding:1.5rem 0}
  .news-list{max-height:560px}
  .news-date{font-size:.9rem}
  .news-body h3{font-size:1rem}
  .footer{padding-bottom:7rem}
  .section{padding:4rem 1rem}
  .cast-swiper .swiper-slide{width:280px}
  .cast-grid{grid-template-columns:repeat(2,1fr);gap:1rem;padding:0 1rem 2rem}
  .cast-grid .cast-card-body{padding:1rem}
  .cast-grid .cast-name-jp{font-size:1rem}
  .back-to-top{width:46px;height:72px;bottom:1.2rem;right:1.2rem}
  .mobile-call{display:flex;padding:.9rem 1.8rem;font-size:1.1rem}
  .mobile-call svg{width:22px;height:22px}
  .mobile-call .call-text small{font-size:.75rem}
  .mobile-call .call-text span{font-size:1.15rem}
  .recruit-title{font-size:1.8rem}
  .recruit-inner{padding:2rem 1.5rem}
  .recruit-table th{width:90px;font-size:.8rem}
  .recruit-table td{font-size:.8rem}
  .mobile-nav{width:80%}

  /* ===== MOBILE DECO ===== */
  .deco-orb{filter:blur(30px);opacity:.3}
  .deco-hex{width:35px;height:30px;border-width:1px;opacity:.3}
  .deco-sparkle{width:4px;height:4px}
  .deco-ring{border-width:1px}
  .deco-diamond{width:10px;height:10px;opacity:.4}

  .hero-deco .orb-1{width:150px;height:150px}
  .hero-deco .orb-2{width:120px;height:120px}
  .hero-deco .orb-3{width:90px;height:90px}
  .hero-deco .hex-1{width:40px;height:35px}
  .hero-deco .hex-2{width:25px;height:22px}
  .hero-deco .sparkle-2{width:5px;height:5px}
  .hero-deco .sparkle-3{width:3px;height:3px}

  .event-deco .orb-gold-1{width:100px;height:100px}
  .event-deco .orb-purple-1{width:80px;height:80px}
  .event-deco .ring-1{width:60px;height:60px}
  .event-deco .ring-2{width:40px;height:40px}
  .event-deco .diamond-1{width:10px;height:10px}
  .event-deco .diamond-2{width:8px;height:8px}
  .event-deco .sparkle-gold-2{width:5px;height:5px}
  .event-deco .sparkle-gold-3{width:3px;height:3px}

  .pickup-deco .orb-purple-2{width:120px;height:120px}
  .pickup-deco .orb-purple-3{width:90px;height:90px}
  .pickup-deco .hex-purple-1{width:35px;height:30px}
  .pickup-deco .hex-purple-2{width:22px;height:19px}
  .pickup-deco .hex-purple-3{width:28px;height:24px}
  .pickup-deco .ring-purple-1{width:50px;height:50px}

  .room-deco .orb-room-1{width:90px;height:90px}
  .room-deco .orb-room-2{width:70px;height:70px}
  .room-deco .diamond-room-1{width:10px;height:10px}
  .room-deco .diamond-room-2{width:8px;height:8px}
  .room-deco .diamond-room-3{width:6px;height:6px}

  .news-deco .orb-news-1{width:80px;height:80px}
  .news-deco .orb-news-2{width:60px;height:60px}
  .news-deco .hex-news-1{width:25px;height:22px}
  .news-deco .hex-news-2{width:20px;height:17px}
  .news-deco .ring-news-1{width:45px;height:45px}

  .system-deco .orb-system-1{width:130px;height:130px}
  .system-deco .orb-system-2{width:100px;height:100px}
  .system-deco .orb-system-3{width:70px;height:70px}
  .system-deco .ring-system-1{width:70px;height:70px}
  .system-deco .ring-system-2{width:50px;height:50px}
  .system-deco .diamond-system-1{width:9px;height:9px}
  .system-deco .diamond-system-2{width:7px;height:7px}

  .access-deco .orb-access-1{width:90px;height:90px}
  .access-deco .orb-access-2{width:70px;height:70px}
  .access-deco .hex-access-1{width:30px;height:26px}
  .access-deco .hex-access-2{width:20px;height:17px}
  .access-deco .hex-access-3{width:25px;height:22px}
  .access-deco .diamond-access-1{width:8px;height:8px}
  .access-deco .diamond-access-2{width:6px;height:6px}

  .recruit-deco .orb-recruit-1{width:100px;height:100px}
  .recruit-deco .orb-recruit-2{width:80px;height:80px}
  .recruit-deco .orb-recruit-3{width:65px;height:65px}
  .recruit-deco .ring-recruit-1{width:55px;height:55px}
  .recruit-deco .ring-recruit-2{width:35px;height:35px}
  .recruit-deco .hex-recruit-1{width:28px;height:24px}
  .recruit-deco .hex-recruit-2{width:20px;height:17px}
  .recruit-deco .diamond-recruit-1{width:9px;height:9px}
  .recruit-deco .diamond-recruit-2{width:7px;height:7px}

  .footer-deco .orb-footer-1{width:120px;height:120px}
  .footer-deco .orb-footer-2{width:100px;height:100px}
  .footer-deco .orb-footer-3{width:70px;height:70px}
  .footer-deco .ring-footer-1{width:60px;height:60px}
  .footer-deco .ring-footer-2{width:40px;height:40px}
  .footer-deco .hex-footer-1{width:25px;height:22px}
  .footer-deco .hex-footer-2{width:20px;height:17px}
  .footer-deco .diamond-footer-1{width:8px;height:8px}
  .footer-deco .diamond-footer-2{width:6px;height:6px}
}

/* ============================ SMALL MOBILE ============================ */
@media(max-width:480px){
  .cast-grid{grid-template-columns:1fr 1fr;gap:.8rem;padding:0 .8rem 2rem}
  .cast-grid .cast-card-img{height:200px}
  .cast-grid .cast-card-body{padding:.8rem}
  .cast-grid .cast-name-jp{font-size:.95rem;margin-bottom:.3rem}
  .cast-grid .cast-specs{font-size:.7rem;margin-bottom:.6rem;padding-bottom:.6rem}
  .cast-grid .cast-desc{display:none}
}
