/* ══════════════════════════════════
   ≤ 1024px — tablet
   ══════════════════════════════════ */
@media (max-width: 1024px) {
  .hero-inner { grid-template-columns: minmax(0, 1fr) minmax(0, 0.7fr); }
  .code-card { left: -40px; }

  .impact-list { grid-template-columns: repeat(2, 1fr); }
  .impact-item { padding: 28px 24px; }
  .impact-item:nth-child(odd) { border-left: none; padding-left: 0; }
  .impact-item:nth-child(n + 3) { border-top: 1px solid var(--line); }
}

/* ══════════════════════════════════
   ≤ 900px — mobile nav + stacked layouts
   ══════════════════════════════════ */
@media (max-width: 900px) {
  :root { --nav-height: 64px; }

  .burger { display: inline-grid; }
  .nav-cta { display: none; }

  .nav-menu {
    position: fixed;
    inset: var(--nav-height) 0 auto;
    padding: 12px var(--gutter) 24px;
    background: var(--bg);
    border-bottom: 1px solid var(--line);
    box-shadow: 0 24px 40px -24px rgba(0, 0, 0, 0.5);
    opacity: 0;
    visibility: hidden;
    transform: translateY(-8px);
    transition: opacity 0.25s ease, transform 0.3s var(--ease-out), visibility 0.25s;
  }

  .nav-menu.is-open { opacity: 1; visibility: visible; transform: none; }

  .nav-menu ul { flex-direction: column; gap: 2px; }

  .nav-menu a {
    display: flex;
    min-height: 52px;
    align-items: center;
    padding: 0 8px;
    border-radius: var(--radius-sm);
    font-family: var(--font-display);
    font-size: 1.35rem;
    color: var(--text);
  }

  .nav-menu a.is-active::after { left: auto; right: 12px; bottom: 50%; transform: translateY(50%); width: 6px; height: 6px; }

  .nav.menu-open { background: var(--bg); border-bottom-color: var(--line); }

  /* Hero */
  .hero { min-height: auto; padding: calc(var(--nav-height) + 40px) 0 64px; }

  .hero-inner { grid-template-columns: 1fr; gap: 56px; }

  .hero-visual {
    justify-self: start;
    max-width: 100%;
    display: grid;
    grid-template-columns: 120px minmax(0, 1fr);
    align-items: center;
    gap: 16px;
    order: -1;
  }

  .portrait { transform: none; aspect-ratio: 1; border-radius: 50%; width: 120px; }
  .portrait::after { display: none; }

  .code-card { position: static; width: 100%; max-width: 360px; }

  /* Work */
  .feature, .feature-flip { grid-template-columns: 1fr; gap: 24px; }
  .feature-flip .feature-media { order: 0; }
  .feature-media::after { opacity: 1; transform: none; }

  /* Expertise */
  .skills { grid-template-columns: 1fr; }
  .skill { padding: 26px; }

  /* Experience */
  .tl-item { grid-template-columns: 1fr; gap: 14px; padding: 32px 0; }
  .tl-when { flex-direction: row; align-items: center; }

  /* About */
  .about { grid-template-columns: 1fr; }
  .about-photo { max-width: 360px; aspect-ratio: 1; }
}

/* ══════════════════════════════════
   ≤ 600px — phones
   ══════════════════════════════════ */
@media (max-width: 600px) {
  .nav-logo span { display: none; }

  .hero { padding: calc(var(--nav-height) + 20px) 0 56px; }
  .hero-inner { gap: 20px; }
  .hero-visual { grid-template-columns: 1fr; }
  .code-card { display: none; }
  .portrait { width: 64px; }
  .status-pill { margin-bottom: 20px; font-size: 0.8rem; }
  .hero-hello { margin-bottom: 10px; }
  .hero-lead { margin-top: 18px; font-size: 1rem; }
  .hero-actions { margin-top: 26px; }

  .hero-actions { flex-direction: column; align-items: stretch; }
  .hero-actions .btn { width: 100%; }
  .hero-actions .btn-ghost { white-space: normal; text-align: center; }

  .impact-item strong { font-size: 2rem; }
  .impact-item span { font-size: 0.85rem; }

  .more-head { flex-direction: column; align-items: flex-start; }
  .filters { width: 100%; justify-content: space-between; }
  .filter { flex: 1 1 auto; padding: 0 10px; }

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

  .inline-cta { padding: 24px; }
  .inline-cta .btn { width: 100%; }

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

  .contact-card { padding: 48px 22px; text-align: left; }
  .contact-card .eyebrow { justify-content: flex-start; }
  .email-row { justify-content: flex-start; }
  .contact-links { flex-direction: column; align-items: stretch; }
  .contact-links .btn { width: 100%; }
}

/* ══════════════════════════════════
   Touch devices — no hover-only content
   ══════════════════════════════════ */
@media (hover: none) {
  .feature-media::after { opacity: 1; transform: none; }
  .hero-glow { transition: none; }
}

/* Content additions */
@media (max-width: 1024px) {
  .skills { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .cases { grid-template-columns: 1fr; }
}

@media (max-width: 600px) {
  .skills { grid-template-columns: 1fr; }
  .case { padding: 22px; }
}
