/* ==========================================================================
   Responsive overrides
   ========================================================================== */

/* Tablets (<=1024px) */
@media (max-width: 1024px) {
    .about-grid, .about-grid-wide { grid-template-columns: 1fr; }
    .profile-card { max-width: 380px; }
    .project-detail-grid { grid-template-columns: 1fr; }
    .contact-grid { grid-template-columns: 1fr; }
    .hero-inner { grid-template-columns: 1fr; text-align: left; }
    .hero-visual { justify-content: flex-start; margin-top: 20px; }
    .footer-grid { grid-template-columns: 1fr 1fr; }
    .footer-about { grid-column: span 2; }
}

/* Small tablets / large phones (<=768px) */
@media (max-width: 768px) {
    .navbar-links { display: none; }
    .menu-toggle { display: flex; }

    .section { padding: 80px 0; }
    .page-hero { padding: 140px 0 40px; }

    .projects-grid { grid-template-columns: 1fr; }
    .skills-grid { grid-template-columns: repeat(2, 1fr); }

    .hero { min-height: auto; padding: 140px 0 100px; }
    .hero-heading { font-size: clamp(2.2rem, 9vw, 3rem); }
    .hero-actions { flex-direction: column; align-items: stretch; }
    .hero-actions .btn { justify-content: center; }

    .footer-grid { grid-template-columns: 1fr; }
    .footer-about { grid-column: span 1; }
    .footer-bottom { flex-direction: column; text-align: center; }

    .cursor-dot, .cursor-ring { display: none; }

    .contact-form-wrap { padding: 28px; }

    .scroll-indicator { display: none; }
}

/* Phones (<=480px) */
@media (max-width: 480px) {
    .container { padding: 0 18px; }
    .section-title { font-size: 1.6rem; }
    .skills-grid { grid-template-columns: 1fr; }
    .btn { width: 100%; justify-content: center; }
    .hero-actions .btn { width: 100%; }
    .profile-card { padding: 24px; }
    .footer-bg-text { font-size: 22vw; }
    .back-to-top { right: 16px; bottom: 16px; width: 42px; height: 42px; }
}
