@media (max-width:1000px) {
    .grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
    .hero h2 { font-size:29px; }
    .hero-copy { padding:26px 24px 65px; }
    .header-note { display:none; }
    .topbar { justify-content:space-between; }
    .nav { justify-content:flex-start; }
}
@media (max-width:640px) {
    .wrap { padding-left:16px; padding-right:16px; }
    .topbar { min-height:74px; gap:10px; }
    .brand h1, .brand-name { font-size:22px; }
    .logo { width:34px; height:34px; }
    .topbar .button { font-size:12px; padding:7px 10px; }
    .nav { gap:4px; }
    .nav a { font-size:13px; padding:5px 8px; }
    .hero { margin-top:20px; }
    .slide { grid-template-columns:1fr; }
    .hero-image { grid-row:1; height:auto; aspect-ratio:16/9; }
    .hero-copy { padding:24px 20px 70px; }
    .hero h2 { font-size:28px; }
    .hero-desc { -webkit-line-clamp:2; }
    .slider-controls { left:20px; }
    .grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
    .card-body { padding:10px; }
    .card h3 { font-size:16px; min-height:48px; }
    .section { margin:30px 0; }
    .section-heading h2 { font-size:21px; }
    .section-heading > a { font-size:12px; }
    .tinted { padding:14px; }
    .ribbon { flex-wrap:wrap; gap:4px 10px; }
    .ribbon span { flex-basis:100%; font-size:12px; }
    .rank-list { grid-template-columns:1fr; }
    .about-panel { padding:20px; }
    .mobile-panel { padding:24px; gap:20px; flex-direction:column; align-items:flex-start; }
    .app-code { width:80px; }
    .mobile-panel h2 { font-size:26px; }
    .footer-grid { grid-template-columns:1fr; gap:20px; }
    .feature { grid-template-columns:1fr; }
    .feature-image { max-height:230px; }
    .detail-top { grid-template-columns:1fr; padding:20px; gap:22px; }
    .detail-cover { width:170px; }
    .facts { grid-template-columns:1fr; }
    .chapter-grid { grid-template-columns:1fr; }
    h1 { font-size:28px; overflow-wrap:anywhere; }
}
