/* ==========================================
   B&G JUGGERNAUT OS – MOBILE STYLES
   ========================================== */

/* Base adjustments for small screens */
@media (max-width: 768px) {
    /* ---------- General ---------- */
    body {
        font-size: 14px;
    }

    @media (max-width: 768px) {
    .credentials {
        font-size: 0.7rem;
        letter-spacing: 2px;
        word-spacing: 3px;
    }
}
    /* Navigation */
    nav {
        flex-direction: column;
        padding: 15px;
        text-align: center;
    }
    .nav-links {
        margin-top: 10px;
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
        gap: 10px;
    }
    .nav-links a {
        margin: 0 5px;
        font-size: 0.65rem;
    }

    /* Containers */
    .container, .contact-container {
        padding: 0 15px;
        margin: 20px auto;
    }

    /* Headers */
    .page-header {
        flex-direction: column;
        align-items: flex-start;
        gap: 10px;
    }
    .page-header h1 {
        font-size: 1.8rem;
    }

    /* ---------- Index Page ---------- */
    .hero h1 {
        font-size: 2.5rem;
    }
    .services-grid {
        grid-template-columns: 1fr;
        gap: 15px;
    }
    .tile {
        padding: 30px;
    }
    .ai-container {
        padding: 20px;
    }
    .ai-window {
        height: 200px;
    }

    /* ---------- Tools Page ---------- */
    .tool-section {
        padding: 30px;
    }
    .tool-section h1 {
        font-size: 1.5rem;
    }
    .form-row {
        flex-direction: column;
        gap: 0;
    }
    .btn, .btn-small {
        width: 100%;
        margin: 5px 0;
    }

    /* ---------- Contact Page ---------- */
    .contact-container {
        flex-direction: column;
        gap: 30px;
    }
    .intel-panel h1 {
        font-size: 2rem;
    }
    .director-grid {
        grid-template-columns: 1fr;
    }
    .form-panel {
        padding: 25px;
    }
    .map-container {
        height: 250px;
    }
    .location-side {
        padding: 25px;
    }

    /* ---------- Admin Dashboard ---------- */
    .metrics-row {
        grid-template-columns: 1fr 1fr;
        gap: 10px;
    }
    .stat-card {
        padding: 20px;
    }
    .stat-value {
        font-size: 2rem;
    }
    .main-grid {
        grid-template-columns: 1fr;
    }
    .chart-box {
        position: static;
        margin-bottom: 20px;
    }
    .feed-item {
        padding: 20px;
    }
    .client-name {
        font-size: 1.2rem;
    }

    /* ---------- Filing System (files.html) ---------- */
    .clients-grid {
        grid-template-columns: 1fr;
    }
    .clients-panel {
        max-height: 400px;
    }
    .matter-tabs {
        flex-wrap: wrap;
    }
    .tab-btn {
        flex: 1 1 auto;
        padding: 8px 5px;
        font-size: 0.7rem;
    }
    .matter-card {
        padding: 15px;
    }
    .doc-list {
        font-size: 0.7rem;
    }

    /* ---------- Portfolio Page ---------- */
    .split-grid, .triple-grid {
        grid-template-columns: 1fr;
        gap: 20px;
    }
    .panel {
        padding: 20px;
    }
    .math-box {
        font-size: 1rem;
    }
    .schema-block {
        font-size: 0.65rem;
    }

    /* ---------- Modal ---------- */
    .modal-content {
        width: 90%;
        padding: 20px;
    }
    .modal-actions {
        flex-direction: column;
        gap: 10px;
    }
    .modal-actions button {
        width: 100%;
    }

    /* ---------- Footer ---------- */
    footer {
        padding: 40px 15px;
    }
}

/* Extra small devices (phones below 480px) */
@media (max-width: 480px) {
    .hero h1 {
        font-size: 1.8rem;
    }
    .metrics-row {
        grid-template-columns: 1fr;
    }
    .stat-card {
        padding: 15px;
    }
    .stat-value {
        font-size: 1.8rem;
    }
    .client-name {
        font-size: 1rem;
    }
    .ai-brief {
        font-size: 0.8rem;
        padding: 10px;
    }
}