/* ============================================
   PORTFOLIO — RESPONSIVE
   ============================================ */

@media (max-width: 1024px) {
    .hero-inner {
        flex-direction: column;
        text-align: center;
        gap: var(--space-3xl);
    }

    .hero-left { order: 1; }
    .hero-right { order: 2; max-width: 480px; width: 100%; }
    .hero-subtitle { max-width: 100%; margin-left: auto; margin-right: auto; }
    .hero-cta { justify-content: center; }

    .contact-layout { grid-template-columns: 1fr; }
    .grid-4 { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 868px) {
    .nav-links { display: none; }
    .nav-cta.desktop-only { display: none; }
    .nav-toggle { display: flex; }

    .skills-grid { grid-template-columns: 1fr; }
    .projects-grid { grid-template-columns: 1fr; }
}

@media (max-width: 640px) {
    :root {
        --space-section: 4.5rem;
    }

    h1 { font-size: 2rem; text-wrap: balance; }
    h2 { font-size: 1.5rem; }

    .container { padding: 0 var(--space-md); }

    .grid-4 { grid-template-columns: 1fr 1fr; gap: var(--space-md); }
    .grid-3 { grid-template-columns: 1fr; }

    .about-info-grid { grid-template-columns: 1fr; }
    .qualities-grid { grid-template-columns: 1fr 1fr; }
    .languages-grid { grid-template-columns: 1fr; }
    .interests-grid { grid-template-columns: 1fr 1fr; }

    .terminal-body { padding: 14px; font-size: 0.75rem; }

    .hero-photo {
        width: 70px;
        height: 70px;
        top: -16px;
        right: -10px;
    }

    .stat-icon { font-size: 1.1rem; }
    .stat-number { font-size: 1.6rem; }
    .stat-label { font-size: 0.75rem; }

    .back-to-top {
        bottom: 20px;
        right: 20px;
        width: 38px;
        height: 38px;
    }

    .certifications-grid { grid-template-columns: 1fr; }
    .cert-card { flex-direction: column; gap: var(--space-md); padding: var(--space-xl); }
    .cert-icon { width: 52px; height: 52px; font-size: 1.1rem; }

    .veille-grid { grid-template-columns: 1fr; }
    .veille-card { flex-direction: column; gap: var(--space-md); }

    .projects-personal-grid { grid-template-columns: 1fr 1fr; }

    .copy-btn { width: 32px; height: 32px; font-size: 0.75rem; }
}

@media (max-width: 380px) {
    .qualities-grid { grid-template-columns: 1fr; }
    .interests-grid { grid-template-columns: 1fr; }
    .hero-cta { flex-direction: column; align-items: stretch; }
    .grid-4 { grid-template-columns: 1fr; }
}

/* Reduced Motion */
@media (prefers-reduced-motion: reduce) {
    html { scroll-behavior: auto; }

    .reveal {
        opacity: 1;
        transform: none;
        transition: none;
    }

    .terminal-cursor { animation: none; }
    .badge-pulse::before { animation: none; }
    .hero-scroll-line { animation: none; }
    .custom-cursor { display: none !important; }
}
