/* ==========================================================================
   Responsive Design
   ========================================================================== */

/* Large Desktop */
@media (max-width: 1200px) {
    .container { padding: 0 5%; }
    .hero-title { font-size: 3.5rem; }
    .page-title { font-size: 3rem; }
}

/* Tablet Landscape */
@media (max-width: 992px) {
    .section { padding: 4rem 0; }
    .hero-container { grid-template-columns: 1fr; text-align: center; gap: 2rem; }
    .hero-title { font-size: 3rem; }
    .hero-label, .hero-actions { justify-content: center; }
    .hero-main-statement { border-left: none; border-bottom: 2px solid var(--neon-cyan); padding-left: 0; padding-bottom: 10px; display: inline-block; }
    
    .home-photo-section { grid-template-columns: 1fr; text-align: center; }
    .profile-photo-wrapper { max-width: 400px; margin: 0 auto; }
    .stats-grid { grid-template-columns: repeat(2, 1fr); }
    
    .services-grid, .certs-grid { grid-template-columns: repeat(2, 1fr); }
    .skills-container { grid-template-columns: 1fr; }
    
    .timeline::before { left: 40px; transform: none; }
    .timeline-item { width: 100%; padding-left: 80px !important; padding-right: 0 !important; left: 0 !important; }
    .timeline-item:nth-child(odd) .timeline-dot, .timeline-item:nth-child(even) .timeline-dot { left: 26px !important; right: auto !important; }
    
    .contact-wrapper { grid-template-columns: 1fr; }
}

/* Tablet Portrait & Mobile */
@media (max-width: 768px) {
    .hamburger { display: flex; z-index: 1001; }
    .nav-links {
        position: fixed; top: 0; right: -100%; width: 100%; height: 100vh;
        background: var(--bg-primary); flex-direction: column; justify-content: center;
        transition: right 0.4s ease; z-index: 1000;
    }
    .nav-links.active { right: 0; }
    .hamburger.active .bar:nth-child(1) { transform: translateY(8px) rotate(45deg); background-color: var(--neon-cyan); }
    .hamburger.active .bar:nth-child(2) { opacity: 0; }
    .hamburger.active .bar:nth-child(3) { transform: translateY(-8px) rotate(-45deg); background-color: var(--neon-cyan); }
    
    .hero-title { font-size: 2.2rem; }
    .page-title { font-size: 2.2rem; }
    .section-title { font-size: 1.2rem; text-align: center; }
    
    .services-grid, .certs-grid, .projects-grid { grid-template-columns: 1fr; }
    .card-body { flex-direction: column; align-items: center; text-align: center; }
    
    .timeline { padding-left: 0; }
    .timeline::before { left: 20px; }
    .timeline-item { padding-left: 50px !important; }
    .timeline-item:nth-child(odd) .timeline-dot, .timeline-item:nth-child(even) .timeline-dot { left: 6px !important; }
    
    .osint-network-visual { flex-direction: column; }
    .osint-arrow { transform: rotate(90deg); margin: 5px 0; }
    
    .offgrid-grid { grid-template-columns: 1fr; gap: 2rem; }
    .footer-content { flex-direction: column; text-align: center; }
}

/* Small Mobile */
@media (max-width: 480px) {
    .stats-grid { grid-template-columns: 1fr; }
    .hero-actions { flex-direction: column; }
    .btn { width: 100%; text-align: center; }
}
