/* responsive.css — mobile, tablet, desktop fine-tuning */

@media (max-width: 900px) {
    .hero-grid {
      grid-template-columns: 1fr;
      gap: 2rem;
    }
    .hero-content {
      order: 1;
    }
    .hero-visual {
      order: 0;
      max-width: 420px;
      min-height: 300px;
    }
    .hero-description {
      max-width: 100%;
    }
    .exp-grid {
      flex-direction: column;
    }
    .exp-visual {
      width: 100%;
    }
    .nav-list {
      gap: 1.5rem;
    }
  }
  
  @media (max-width: 700px) {
    .mobile-toggle {
      display: block;
    }
    .main-nav {
      position: fixed;
      top: var(--header-height);
      left: 0;
      right: 0;
      background: var(--bg-secondary);
      padding: 1.5rem;
      border-bottom: 1px solid var(--border-light);
      transform: translateY(-150%);
      transition: transform 0.3s ease;
      box-shadow: 0 20px 30px -10px rgba(0,0,0,0.05);
    }
    .main-nav.nav-open {
      transform: translateY(0);
    }
    .nav-list {
      flex-direction: column;
      align-items: center;
      gap: 1.8rem;
    }
    .hamburger {
      display: block;
      width: 24px;
      height: 2px;
      background: var(--text-primary);
      position: relative;
    }
    .hamburger::before,
    .hamburger::after {
      content: '';
      position: absolute;
      width: 24px;
      height: 2px;
      background: var(--text-primary);
      left: 0;
      transition: 0.2s;
    }
    .hamburger::before { top: -7px; }
    .hamburger::after { top: 7px; }
    .mobile-toggle[aria-expanded="true"] .hamburger { background: transparent; }
    .mobile-toggle[aria-expanded="true"] .hamburger::before { transform: rotate(45deg); top: 0; }
    .mobile-toggle[aria-expanded="true"] .hamburger::after { transform: rotate(-45deg); top: 0; }
  
    section {
      padding-block: 3.5rem;
    }
    .hero-title {
      font-size: 2.2rem;
    }
    .proof-stats {
      gap: 1.5rem;
    }
    .hero-portrait {
      width: min(86vw, 300px);
      max-height: 360px;
    }
    .contact-card {
      padding: 2.2rem 1.5rem;
    }
  }
  
  @media (max-width: 480px) {
    .container {
      padding-inline: 1.2rem;
    }
    .hero-actions .btn {
      width: 100%;
    }
    .proof-stats {
      display: grid;
      grid-template-columns: repeat(3, minmax(0, 1fr));
      gap: 1rem;
    }
    .hero-visual {
      min-height: 260px;
    }
    .hero-portrait {
      width: min(82vw, 260px);
      max-height: 320px;
    }
    .project-body {
      padding: 1.2rem;
    }
    .client-highlight {
      flex-wrap: wrap;
    }
    .footer-inner {
      flex-direction: column;
      gap: 1rem;
    }
    .skills-grid {
      grid-template-columns: repeat(2, 1fr);
    }
  }
