/* ============================================
   RESPONSIVE BREAKPOINTS
   Mobile-first: base styles are mobile
   ============================================ */

/* Tablet (768px+) */
@media (min-width: 768px) {
  .card-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .speaking-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .highlights-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .hero-avatar,
  .hero-avatar-placeholder {
    width: 150px;
    height: 150px;
    font-size: 3rem;
  }

  .hero h1 {
    font-size: 3.5rem;
  }

  .hero .typed-wrap {
    font-size: 1.3rem;
  }

  .page-header h1 {
    font-size: 2.5rem;
  }

  .contact-grid {
    grid-template-columns: 1fr 1fr;
  }

  .stats-bar {
    gap: 3rem;
  }

  .stat-number {
    font-size: 2.2rem;
  }
}

/* Desktop (1024px+) */
@media (min-width: 1024px) {
  .nav-links {
    display: flex;
  }

  .hamburger {
    display: none;
  }

  .mobile-menu {
    display: none !important;
  }

  .menu-overlay {
    display: none !important;
  }

  .card-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .card-grid.cols-3 {
    grid-template-columns: repeat(3, 1fr);
  }

  .highlights-grid {
    grid-template-columns: repeat(3, 1fr);
  }

  .hero h1 {
    font-size: 4rem;
  }

  .container {
    padding: 0 2rem;
  }

  .timeline {
    padding-left: 3rem;
  }
}

/* Large Desktop (1200px+) */
@media (min-width: 1200px) {
  .highlights-grid {
    grid-template-columns: repeat(4, 1fr);
  }
}

/* Small phone adjustments */
@media (max-width: 380px) {
  .hero h1 {
    font-size: 2rem;
  }

  .stat-number {
    font-size: 1.5rem;
  }

  .stats-bar {
    gap: 1rem;
  }

  .nav-brand {
    font-size: 0.95rem;
  }
}

/* Print styles */
@media print {
  .navbar, .theme-switcher, .mobile-menu, .menu-overlay {
    display: none !important;
  }
  .main-content {
    padding-top: 0;
  }
  body {
    background: #fff;
    color: #000;
  }
  .card {
    border: 1px solid #ccc;
    box-shadow: none;
  }
}
