@media (max-width: 900px) {
  .section {
    padding: 72px 0;
  }

  .section-header {
    margin-bottom: 48px;
  }

  .hero {
    padding: 130px 0 80px;
  }

  .hero h1 {
    font-size: clamp(2rem, 8vw, 3.2rem);
  }

  .hero-portrait {
    max-width: 320px;
  }
}

@media (max-width: 600px) {
  .container {
    padding: 0 16px;
  }

  .section {
    padding: 60px 0;
  }

  .hero {
    padding: 110px 0 60px;
  }

  .hero-cta .btn-primary,
  .hero-cta .btn-outline {
    width: 100%;
    justify-content: center;
  }

  .hero-portrait {
    max-width: 280px;
  }

  .timeline-item:nth-child(odd) .timeline-content,
  .timeline-item:nth-child(even) .timeline-content {
    padding-left: 68px;
    padding-right: 16px;
    max-width: 100%;
  }

  .contact-grid {
    gap: 32px;
  }

  .note-card {
    padding: 36px 24px;
  }

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