/* ── TABLET ── */
@media screen and (max-width: 1100px) {
  .skills-grid      { grid-template-columns: 1fr; }
  .projects-grid    { grid-template-columns: 1fr; }

  .timeline-item {
    grid-template-columns: 1fr;
    gap: 0.5rem;
  }
  .timeline-meta {
    flex-direction: row;
    align-items: center;
    justify-content: flex-start;
    text-align: left;
    padding-top: 0;
    gap: 12px;
  }

  .about-grid { grid-template-columns: 1fr; }
  .about-img-wrap { max-width: 260px; margin: 0 auto 1rem; }
}

/* ── MOBILE NAV BREAKPOINT ── */
@media screen and (max-width: 900px) {
  #desktop-nav  { display: none; }
  #hamburger-nav { display: flex; }

  .hero-visual { display: none; }

  #profile {
    min-height: auto;
    padding-top: 90px;
    padding-bottom: 60px;
    justify-content: center;
  }
  .hero-content { max-width: 100%; text-align: center; }
  .hero-sub     { margin: 0 auto 1.5rem; }
  .hero-tags,
  .btn-container,
  .socials-row  { justify-content: center; }
}

/* ── MOBILE ── */
@media screen and (max-width: 600px) {
  section {
    padding-left: 5%;
    padding-right: 5%;
    padding-top: 80px;
    padding-bottom: 60px;
  }

  .hero-name  { font-size: 2.1rem; }
  .hero-role  { font-size: 0.9rem; }
  .hero-sub   { font-size: 0.88rem; }

  .btn-container { flex-direction: column; align-items: center; }
  .btn { width: 100%; max-width: 230px; justify-content: center; }

  .about-stats { grid-template-columns: repeat(2, 1fr); gap: 10px; }
  .stat-num    { font-size: 1.6rem; }

  .skills-grid  { gap: 1rem; }
  .skill-group  { padding: 18px; }

  .tl-header { flex-direction: column; gap: 8px; }
  .tl-logo-wrap { display: none; }
  .timeline-card { padding: 20px; }
  .tl-bullets li { font-size: 0.82rem; }

  .projects-grid { gap: 1rem; }
  .project-body  { padding: 18px; }
  .project-name  { font-size: 1rem; }

  .contact-links-row  { flex-direction: column; align-items: center; }
  .contact-pill { width: 100%; max-width: 290px; justify-content: center; }

  .footer-inner {
    flex-direction: column;
    text-align: center;
    gap: 1rem;
  }
  .footer-nav {
    gap: 1rem;
    flex-wrap: wrap;
    justify-content: center;
  }

  .float-card  { display: none; }
  .menu-links a { padding: 14px 20px; }

  .section-title { font-size: 1.7rem; }
}

/* ── VERY SMALL ── */
@media screen and (max-width: 380px) {
  .about-stats { grid-template-columns: 1fr 1fr; gap: 8px; }
  .hero-name   { font-size: 1.85rem; }
  .section-title { font-size: 1.55rem; }
  .hero-tags   { justify-content: center; }
}
