@media (max-width: 1024px) {
  .side-dots { display: none; }
  .projects-grid { grid-template-columns: repeat(2, 1fr); }
  .p-card--large { grid-column: span 2; }
  .about-grid { gap: 48px; }
  .contact-grid { gap: 48px; }
  .exp-grid { gap: 40px; }
  #hero { padding: calc(var(--nav-h) + 14px) 0 76px; }
  .hero-h1 { font-size: clamp(3rem, 8vw, 5.6rem); }
  .hero-p { max-width: 540px; }
  .hero-meta { width: min(100%, 680px); gap: 20px; margin-top: 22px; }
  .hero-stats { max-width: 440px; }
}
@media (max-width: 768px) {
  :root { --nav-h: 64px; }
  .container { padding: 0 20px; }
  .section { padding: 80px 0; }
  #about { scroll-margin-top: calc(var(--nav-h) + 12px); }
  #projects { scroll-margin-top: calc(var(--nav-h) + 12px); }
  #experience {
    scroll-margin-top: calc(var(--nav-h) + 12px);
    min-height: auto;
    display: block;
  }
  .nav-links { display: none; }
  .theme-btn { display: none; }
  .nav-burger { display: flex; }
  .hero-h1 { font-size: clamp(2.8rem, 9vw, 4.2rem); }
  .about-grid { grid-template-columns: 1fr; }
  .about-visual { max-width: 300px; margin: 0 auto; }
  .about-deco-box, .about-emoji { display: none; }
  .projects-grid { grid-template-columns: 1fr; }
  .p-card--large { grid-column: span 1; }
  .exp-grid { grid-template-columns: 1fr; gap: 48px; }
  .contact-grid { grid-template-columns: 1fr; }
  #hero { padding: calc(var(--nav-h) + 12px) 0 68px; }
  .hero-p { line-height: 1.55; margin-bottom: 20px; }
  .hero-socials { margin-top: 14px; }
  .hero-meta { width: 100%; gap: 16px; margin-top: 20px; }
  .hero-stats { max-width: 100%; }
  .hero-stat { padding: 15px 10px; }
  .stat-n { font-size: 24px; }
  .stat-l { font-size: 8px; }
  .scroll-cue { gap: 6px; font-size: 10px; }
  .scroll-pill { width: 20px; height: 32px; }
  .skills-top { flex-direction: column; align-items: flex-start; }
  .projects-top { flex-direction: column; align-items: flex-start; }
  .f-row { grid-template-columns: 1fr; }
  .footer-inner { justify-content: center; text-align: center; }
  .custom-cursor, .custom-cursor * { cursor: auto; }
  .cursor-dot, .cursor-ring { display: none; }
  .nav-wrap { padding: 0 20px; }
  #scroll-top { bottom: 20px; right: 20px; width: 42px; height: 42px; font-size: 16px; }
}
@media (max-width: 480px) {
  #hero { padding: calc(var(--nav-h) + 8px) 0 48px; }
  .hero-badge { margin-bottom: 14px; padding: 7px 16px; font-size: 12px; }
  .hero-h1 { font-size: clamp(2.2rem, 10vw, 3rem); }
  .hero-h1 .mark::after { bottom: 2px; height: 6px; }
  .hero-p { font-size: 15px; line-height: 1.42; margin-bottom: 16px; }
  .skills-grid { grid-template-columns: repeat(3, 1fr); }
  .hero-actions { flex-direction: column; }
  .hero-actions .btn { padding: 11px 20px; font-size: 14px; }
  .hero-actions .btn { justify-content: center; }
  .hero-socials { justify-content: center; margin-top: 10px; }
  .hero-meta {
    width: 100%;
    flex-direction: column;
    align-items: stretch;
    gap: 10px;
    margin-top: 14px;
  }
  .hero-stats {
    flex: none;
    width: 100%;
    max-width: none;
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  .hero-stat { padding: 10px 5px; }
  .stat-n { font-size: 18px; }
  .stat-l { font-size: 6px; letter-spacing: .3px; }
  .scroll-cue {
    min-width: 0;
    align-self: center;
    gap: 4px;
    font-size: 8px;
  }
  .scroll-pill { width: 16px; height: 24px; }
}
@media (max-width: 400px) {
  .skills-grid { grid-template-columns: repeat(2, 1fr); }
}
@media print {
  .cursor-dot, .cursor-ring, #progress, #scroll-top, #nav { display: none; }
  body { cursor: auto; }
}
