/* ==========================================================================
   Responsive Styles — Premium Responsive Behavior
   ========================================================================== */

/* Large Desktop */
@media (max-width: 1440px) {
    /* Adjustments for large screens if necessary */
}

/* Desktop */
@media (max-width: 1024px) {
    .section {
        padding: var(--spacing-lg) 0;
    }
    .services-grid,
    .features-grid,
    .process-grid {
        grid-template-columns: repeat(3, 1fr);
    }
    .process-line {
        display: none;
    }
    .hero-title {
        font-size: 3rem;
    }
    .section-title {
        font-size: 2.25rem;
    }
    .cta-title {
        font-size: 2.5rem;
    }
}

/* Tablet */
@media (max-width: 768px) {
    .section {
        padding: var(--spacing-md) 0;
    }

    /* Header / Nav */
    .navbar,
    .header-cta {
        display: none;
    }
    .mobile-toggle {
        display: block;
    }
    .mobile-nav.open {
        display: block;
    }

    /* Hamburger Animation */
    .mobile-toggle.active .bar:nth-child(1) {
        transform: translateY(8px) rotate(45deg);
    }
    .mobile-toggle.active .bar:nth-child(2) {
        opacity: 0;
    }
    .mobile-toggle.active .bar:nth-child(3) {
        transform: translateY(-8px) rotate(-45deg);
    }

    /* Hero */
    .hero-container {
        text-align: center;
    }
    .hero-content {
        margin: 0 auto;
    }
    .hero-title {
        font-size: 2.5rem;
    }
    .hero-description {
        font-size: 1.05rem;
    }
    .hero-buttons {
        justify-content: center;
    }
    .hero-scroll-indicator {
        display: none;
    }

    /* Stats */
    .stats-container {
        grid-template-columns: 1fr;
        gap: var(--spacing-sm);
    }

    /* Grids */
    .services-grid,
    .features-grid,
    .process-grid {
        grid-template-columns: repeat(2, 1fr);
    }
    .tab-grid {
        grid-template-columns: 1fr;
        padding: var(--spacing-md);
    }
    .tabs-buttons {
        max-width: 100%;
    }
    .contact-grid {
        grid-template-columns: 1fr;
        padding: var(--spacing-sm);
        gap: var(--spacing-md);
    }
    .contact-form-wrapper {
        padding: var(--spacing-sm);
    }
    .footer-grid {
        grid-template-columns: repeat(2, 1fr);
    }
    .footer-bottom {
        flex-direction: column;
        gap: var(--spacing-sm);
        text-align: center;
    }

    /* Disable 3D tilt on touch */
    .service-card,
    .feature-card {
        transform: none !important;
    }

    /* CTA */
    .cta-title {
        font-size: 2rem;
    }
    .cta-text {
        font-size: 1.05rem;
    }

    /* Floating orbs — reduce on mobile */
    .hero::before,
    .hero::after,
    .cta-banner::before,
    .cta-banner::after,
    .why-choose::before {
        display: none;
    }
}

/* Mobile Landscape & Below */
@media (max-width: 768px) {
    /* Center cards on mobile */
    .service-card,
    .feature-card {
        align-items: center;
        text-align: center;
    }
    
    .service-icon,
    .feature-icon {
        margin-left: auto;
        margin-right: auto;
    }

    /* Clean contact info layout for mobile */
    .contact-info {
        align-items: flex-start;
        text-align: left;
    }
    .info-item {
        flex-direction: row;
        align-items: flex-start;
        justify-content: flex-start;
        width: 100%;
    }
    .info-icon {
        margin-bottom: 0;
        margin-right: var(--spacing-sm);
    }
    
    /* Footer centering */
    .footer-col {
        text-align: center;
        display: flex;
        flex-direction: column;
        align-items: center;
    }
    .footer-desc {
        text-align: center;
    }
}

@media (max-width: 425px) {
    .services-grid,
    .features-grid,
    .process-grid {
        grid-template-columns: 1fr;
    }
    .cta-buttons {
        flex-direction: column;
    }
    .footer-grid {
        grid-template-columns: 1fr;
        gap: var(--spacing-md);
    }
    .hero-title {
        font-size: 2rem;
    }
    .hero-buttons {
        flex-direction: column;
        width: 100%;
    }
    .hero-buttons .btn {
        width: 100%;
    }
    .tabs-buttons {
        flex-wrap: wrap;
        justify-content: center;
        border-radius: 20px;
    }
    .tab-btn {
        width: 100%;
        text-align: center;
        margin-bottom: 2px;
    }
    .section-title {
        font-size: 1.75rem;
    }
    .stat-number {
        font-size: 2rem;
    }
}

/* Mobile Portrait */
@media (max-width: 375px) {
    /* Adjustments for standard mobile screens */
    .hero {
        min-height: auto;
        padding: var(--spacing-lg) 0;
    }
}

/* Small Mobile */
@media (max-width: 320px) {
    /* Adjustments for small mobile screens */
}
