/* --- RESPONSIVE STYLINGS --- */

/* Desktop & Large Screen Adjustments */
@media (min-width: 1440px) {
    .container {
        max-width: 1360px;
    }
}

/* Medium Desktop & Laptop Spacing Adjustment */
@media (max-width: 1280px) and (min-width: 1101px) {
    .nav-menu {
        gap: 1.1rem;
    }
    .header-nav .container {
        gap: 1rem;
    }
}

@media (max-width: 1200px) {
    .footer-grid {
        gap: 2.5rem;
    }
}

/* Tablets & Mobile Navigation Breakpoint */
@media (max-width: 1100px) {
    .nav-menu, .nav-cta {
        display: none !important; /* Hide desktop nav and show hamburger drawer */
    }
    
    .hamburger {
        display: flex !important;
    }
    
    .grid-4 {
        grid-template-columns: repeat(2, 1fr);
        gap: 1.5rem;
    }
    
    .grid-3 {
        grid-template-columns: repeat(2, 1fr);
        gap: 1.5rem;
    }

    .ai-business-section {
        background-position: 62% center;
    }

    .capability-paper-grid {
        grid-template-columns: repeat(3, 1fr);
    }

    .service-showcase-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 2rem;
    }
    
    .footer-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 3rem;
    }
    }

/* Small Tablets & Mobile Landscape */
@media (max-width: 768px) {
    .section {
        padding-block: clamp(3rem, 6vw, 5rem);
    }
    
    .grid-2 {
        grid-template-columns: 1fr;
        gap: 2.5rem;
    }
    
    .grid-3 {
        grid-template-columns: 1fr;
        gap: 1.5rem;
    }

    .design-image-frame {
        border-radius: var(--radius-md);
    }

    .capability-paper-grid,
    .service-showcase-grid {
        grid-template-columns: 1fr;
        max-width: 420px;
        margin-inline: auto;
    }

    .paper-card-sheet {
        min-height: 245px;
    }

    .ai-business-section {
        min-height: auto;
        background-image:
            linear-gradient(180deg, rgba(255, 255, 255, 0.98) 0%, rgba(255, 255, 255, 0.94) 58%, rgba(255, 255, 255, 0.62) 100%),
            url('../assets/images/business-intelligence-forward.png');
        background-position: 70% center;
        padding-block: clamp(4rem, 12vw, 6rem);
    }

    .ai-business-section .grid-2 {
        grid-template-columns: 1fr;
    }

    .ai-business-section [style*="grid-template-columns: repeat(2, 1fr)"] {
        grid-template-columns: 1fr !important;
    }
    
    .announcement-links {
        display: none; /* Hide announcement social links on mobile to save space */
    }
    
    .announcement-bar .container {
        justify-content: center;
        text-align: center;
    }
    
    /* Global Mobile Overflow Fix */
    html, body {
        overflow-x: hidden !important;
    }

    /* Hero Section Mobile Background & Layout Adjustments */
    .hero-section {
        background: linear-gradient(180deg, rgba(10, 13, 38, 0.92) 0%, rgba(10, 13, 38, 0.82) 60%, rgba(10, 13, 38, 0.68) 100%), 
                    url('../assets/images/hero-bg.png') 75% center/cover no-repeat !important;
        padding-top: clamp(4.5rem, 14vw, 6.5rem) !important;
        padding-bottom: clamp(3.5rem, 10vw, 5rem) !important;
        text-align: center;
    }
    
    .hero-section .hero-content-wrapper {
        margin-inline: auto;
    }
    
    .hero-section .hero-content {
        display: flex;
        flex-direction: column;
        align-items: center;
    }
    
    .hero-section .hero-title {
        font-size: clamp(2rem, 8.5vw, 3.2rem) !important;
        margin-bottom: 1.25rem !important;
    }
    
    .hero-section .hero-desc {
        margin-inline: auto;
        font-size: 1.02rem !important;
        line-height: 1.55 !important;
        margin-bottom: 2rem !important;
        color: #b0c4de !important;
    }
    
    .hero-section [style*="display: flex; gap: 1.25rem"] {
        justify-content: center;
        width: 100%;
        gap: 0.85rem !important;
    }

    /* Solutions Section 3-column rows stacked for mobile */
    div[style*="grid-template-columns: 1fr 3fr 1.5fr"] {
        grid-template-columns: 1fr !important;
        gap: 1.25rem !important;
        padding: 1.5rem !important;
        text-align: left;
    }
    
    div[style*="grid-template-columns: 1fr 3fr 1.5fr"] div[style*="text-align: right"] {
        text-align: left !important;
    }

    .footer-grid {
        grid-template-columns: 1fr;
        gap: 2.5rem;
    }
    
    .footer-bottom {
        flex-direction: column;
        gap: 1.5rem;
        text-align: center;
    }
    
    .footer-bottom-links {
        flex-wrap: wrap;
        justify-content: center;
        gap: 1rem;
    }
}

/* Small Mobile Screen Adjustments */
@media (max-width: 480px) {
    .container {
        width: 92%;
    }
    
    .logo {
        max-width: calc(100% - 44px);
        gap: 0.5rem;
    }
    
    .logo-icon {
        width: 34px !important;
        height: 34px !important;
    }
    
    .logo-text {
        font-size: 1.15rem;
    }
    
    .logo-sub {
        font-size: 0.5rem;
        letter-spacing: 0.15em;
    }

    .header-nav .container {
        padding-block: 0.75rem;
    }
    
    .grid-4 {
        grid-template-columns: 1fr;
        gap: 1.5rem;
    }
    
    .btn {
        width: 100%;
        padding-block: 0.85rem;
    }

    .capabilities-design-section .section-header {
        margin-bottom: 1.75rem;
    }
    
    .inner-hero {
        padding-top: 5rem;
        padding-bottom: 3.5rem;
    }
    
    .breadcrumb {
        flex-wrap: wrap;
        gap: 0.3rem;
    }
        
    .back-to-top {
        left: 0.75rem;
        bottom: 0.75rem;
        width: 40px;
        height: 40px;
    }
}

/* Specific viewports requested in criteria */
@media (min-width: 1920px) {
    .container {
        max-width: 1600px;
    }
    
    body {
        font-size: 18px;
    }
}

/* Accessibility: Reduced Motion Support */
@media (prefers-reduced-motion: reduce) {
    *, ::before, ::after {
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
        scroll-behavior: auto !important;
    }
}

