/* assets/css/responsive.css */
@media (max-width: 1400px) {
    .container { padding: 0 6%; }
    .hero-title { font-size: clamp(3rem, 6vw, 5rem) !important; }
}

@media (max-width: 1024px) {
    .social-dock {
        top: auto;
        bottom: 20px;
        left: 50%;
        right: auto;
        transform: translateX(-50%);
        flex-direction: row;
        width: 90%;
        max-width: 400px;
        overflow-x: auto;
        padding: 15px 20px;
        border-radius: 50px;
        gap: 15px;
        box-shadow: 0 0 20px rgba(0, 240, 255, 0.2);
        animation: none;
        -ms-overflow-style: none; /* IE and Edge */
        scrollbar-width: none; /* Firefox */
        border: 1px solid rgba(0, 240, 255, 0.5);
        justify-content: flex-start;
        align-items: center;
    }
    .social-dock::-webkit-scrollbar {
        display: none; /* Chrome, Safari, Opera */
    }
    .social-dock.hidden-dock {
        transform: translate(-50%, 150%);
        opacity: 0;
    }
    .social-dock-item {
        flex: 0 0 auto;
    }
    .social-dock-item:hover {
        transform: translateY(-5px);
    }
    .social-dock-item::before {
        right: auto;
        bottom: 60px;
        left: 50%;
        transform: translateX(-50%) translateY(10px);
    }
    .social-dock-item:hover::before {
        transform: translateX(-50%) translateY(0);
    }
    .grid-2, .grid-3, .grid-4 { grid-template-columns: 1fr; gap: 40px; }
    .hero-split { grid-template-columns: 1fr !important; text-align: center; gap: 60px !important; }
    .hero-text { align-items: center; text-align: center; }
    .hero-text p { margin-inline: auto; }
    .hero-img-box { margin: 0 auto; width: 350px !important; height: 350px !important; }
    .section-title { font-size: 3.5rem; }
    .glass-card { padding: 40px; }
}

@media (max-width: 768px) {
    .navbar { padding: 15px 0; }
    .nav-links { position: fixed; top: 0; right: -100%; width: 100vw; height: 100vh; background: rgba(3, 3, 5, 0.98); flex-direction: column; justify-content: center; align-items: center; gap: 30px; transition: 0.5s cubic-bezier(0.77, 0.2, 0.05, 1); z-index: 1000; }
    .nav-links.active { right: 0; }
    .menu-btn { display: flex; z-index: 1001;}
    
    .cursor-dot, .cursor-ring { display: none; }
    * { cursor: auto !important; }
    
    .section { padding: 100px 0; }
    .section-title { font-size: 2.8rem; margin-bottom: 50px; }
    .glass-card { padding: 30px; border-radius: 20px; }
    .footer-bottom { flex-direction: column; text-align: center; gap: 15px; }
    .footer-links { margin-top: 15px; display: flex; flex-wrap: wrap; justify-content: center; gap: 15px; }
    .footer-links a { margin: 0; }
    
    .hero-title { font-size: 2.5rem !important; }
    .hero-img-box { width: 280px !important; height: 280px !important; }
    .btn { padding: 15px 30px; font-size: 1rem; }
    .btn-group { flex-direction: column; width: 100%; gap: 15px; }
    .btn-group .btn { width: 100%; }
    
    /* Who is Tajeem Ansari Responsive */
    .timeline-container { padding-left: 20px !important; }
    .timeline-dot { left: -31px !important; width: 20px !important; height: 20px !important; }
    .neural-graph-container > div { flex-direction: column !important; gap: 20px; padding: 0 10px !important; }
    .floating-profile { width: 150px !important; height: 150px !important; }
    .identity-badge { grid-column: span 2 !important; }
}

@media (max-width: 480px) {
    .section-title { font-size: 2.2rem; }
    .hero-img-box { width: 220px !important; height: 220px !important; }
    .hero-title { font-size: 2rem !important; }
    .container { padding: 0 5%; }
    .footer-logo { font-size: 2rem; }
    .role-scroller { font-size: 1.2rem !important; }
}
