/* ==========================================================================
   Responsive breakpoints
   ========================================================================== */

@media (max-width: 1080px) {
  .consultant-grid { grid-template-columns: repeat(2, 1fr); }
  .visa-conditions,
  .key-points-grid,
  .key-points-grid.key-points-grid-3 { grid-template-columns: repeat(2, 1fr); }
  .news-preview-list,
  .project-grid { grid-template-columns: repeat(2, 1fr); }
  .detail-tab-nav { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 960px) {
  .gnb, .header-cta, .top-bar .quick .btn { display: none; }
  .gnb-toggle { display: flex; }
  .chapter-nav { display: none; }

  .hero { height: 620px; }
  .hero .slide-content h1 { font-size: 32px; }

  .promo-layout { gap: 16px; }
  .promo-badges { gap: 14px; }
  .promo-image { width: 150px; }
  .hero .slide-content.project-promo-slide h1 { font-size: 24px; }
  .repayment-frame,
  .two-track-photo { width: 280px; }

  .hero .slide-content.award-slide {
    flex-direction: column;
    text-align: center;
    gap: 24px;
  }
  .award-slide .award-photo { width: 190px; }
  .award-slide h1 { font-size: 24px; }
  .award-slide .slide-actions { justify-content: center; }

  .about-intro { flex-direction: column; }
  .project-hero { grid-template-columns: 1fr; }
  .consultation-layout { grid-template-columns: 1fr; }
  .detail-content-row { flex-direction: column; }
  .investment-compare { grid-template-columns: 1fr; }

  .stats-strip .container { flex-wrap: wrap; gap: 24px; }
  .stats-strip .stat { flex: 1 1 40%; }
}

@media (max-width: 720px) {
  .section { padding: 64px 0; }
  .section-title h2 { font-size: 26px; }

  /* Shrink the floating quick-menu so it stops covering page text
     (e.g. the address line on consultation.html) on narrow screens */
  .floating-menu { right: 14px; bottom: 16px; gap: 8px; }
  .floating-menu a { width: 50px; height: 50px; font-size: 0; }
  .floating-menu a i { font-size: 18px; }

  .consultant-grid,
  .news-preview-list,
  .project-grid { grid-template-columns: repeat(2, 1fr); gap: 16px; }
  .detail-tab-nav { grid-template-columns: 1fr; }
  .visa-conditions,
  .key-points-grid,
  .key-points-grid.key-points-grid-3 { grid-template-columns: 1fr; }

  .process-step { padding-left: 56px; }
  .process-step .num { width: 40px; height: 40px; font-size: 15px; }
  .process-timeline::before { left: 19px; }

  .news-row { flex-direction: column; align-items: stretch; }
  .news-row .thumb { width: 100%; }

  .progress-rings { gap: 28px; }
  .progress-ring { width: 130px; height: 130px; }
  .progress-ring .ring-inner { width: 104px; height: 104px; }
  .progress-ring .ring-inner b { font-size: 24px; }

  .footer-top { flex-direction: column; gap: 28px; }
  .footer-bottom { flex-direction: column; gap: 10px; text-align: center; }

  .consultation-form { padding: 24px; }
}

@media (max-width: 520px) {
  .consultant-grid,
  .news-preview-list,
  .project-grid { grid-template-columns: 1fr; }

  .page-header h1 { font-size: 24px; }
  .hero .slide-content h1 { font-size: 26px; }
  .hero .slide-actions { flex-direction: column; }
  .hero .slide-actions .btn { width: 100%; }

  .stats-strip .stat b { font-size: 34px; }
  .stats-strip .stat span { font-size: 14px; }
}
