@media (max-width: 1100px) {
  .hero-inner { grid-template-columns: 1fr; gap: 48px; }
  .analysis-card.big, .featured-hero { grid-column: span 1; grid-template-columns: 1fr; }
  .featured-hero .analysis-body { padding: 32px; }
  .newsletter-card { grid-template-columns: 1fr; padding: 40px; gap: 32px; }
  .team-profile-body, .player-profile-body { grid-template-columns: 1fr; }
  .contact-grid { grid-template-columns: 1fr; gap: 40px; }
  .footer-inner { grid-template-columns: 1fr 1fr; gap: 40px; }
}

@media (max-width: 900px) {
  :root { --space-section: 80px; }
  .container { padding: 0 24px; }
  .header-inner { padding: 16px 24px; }
  .main-nav, .header-cta { display: none; }
  .menu-toggle { display: flex; }
  .section-head { flex-direction: column; align-items: flex-start; }
  .hero { padding: 60px 0 80px; }
  .hero-stats { gap: 24px; }
  .hero-stats strong { font-size: 1.3rem; }
  .formation-diagram { padding: 28px; }
  .pitch-row { gap: 10px; }
  .player-dot { width: 34px; height: 34px; font-size: 0.78rem; }
  .team-profile, .player-profile { padding: 28px; }
  .fixture { grid-template-columns: 80px 1fr; }
  .fx-meta { grid-column: 2; justify-content: flex-start; }
  .page-hero { padding: 60px 0 40px; }
}

@media (max-width: 600px) {
  :root { --space-section: 60px; }
  .container { padding: 0 16px; }
  .header-inner { padding: 14px 16px; }
  h1 { font-size: 2rem; }
  h2 { font-size: 1.6rem; }
  .hero-ctas .btn { width: 100%; }
  .hero-ctas { flex-direction: column; }
  .footer-inner { grid-template-columns: 1fr; gap: 32px; padding: 60px 16px 40px; }
  .footer-bottom .container { flex-direction: column; text-align: center; }
  .match-grid, .analysis-grid, .insight-grid, .ency-grid { grid-template-columns: 1fr; }
  .newsletter-card { padding: 28px; }
  .featured-hero .analysis-body, .analysis-card.big .analysis-body { padding: 24px; }
  .formation-diagram { padding: 20px; }
  .pitch-visual { padding: 20px 10px; gap: 20px; }
  .player-dot { width: 30px; height: 30px; font-size: 0.72rem; }
  .stats-table th, .stats-table td { padding: 10px 12px; font-size: 0.85rem; }
  .form-row > span:first-child { flex: 0 0 90px; font-size: 0.8rem; }
  .contact-form { padding: 24px; }
  .fixture { grid-template-columns: 70px 1fr; padding: 14px 18px; }
  .fx-teams { font-size: 0.9rem; }
}