/* ==========================================================================
   Responsive Styles (Light Theme)
   ========================================================================== */

/* --------------------------------------------------------------------------
   Tablet - 1024px and below
   -------------------------------------------------------------------------- */

@media (max-width: 1024px) {

    /* Hero */
    .hero-container {
        grid-template-columns: 1fr;
        text-align: center;
        gap: var(--space-12);
    }

    .hero-content {
        max-width: 700px;
        margin-inline: auto;
    }

    .hero-subtitle {
        margin-inline: auto;
    }

    .hero-ctas {
        justify-content: center;
    }

    .hero-visual {
        order: 2;
        padding-inline: var(--space-8);
        overflow: hidden;
    }

    .hero-visual-container {
        max-width: 500px;
        margin-inline: auto;
    }

    .hero-dashboard {
        max-width: 100%;
    }

    .hero-float-card {
        display: none;
    }

    /* Stats */
    .stats-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    /* Problem */
    .problem-container {
        grid-template-columns: 1fr;
    }

    .problem-stat {
        position: static;
        max-width: 300px;
        margin-inline: auto;
    }

    /* Why Fail */
    .why-fail-grid {
        grid-template-columns: 1fr;
        max-width: 600px;
        margin-inline: auto;
    }

    /* About */
    .about-container {
        grid-template-columns: 1fr;
    }

    .about-sidebar {
        position: static;
        order: -1;
        max-width: 350px;
        margin-inline: auto;
        margin-bottom: var(--space-10);
    }

    /* How I Work */
    .how-work-grid {
        grid-template-columns: 1fr;
        max-width: 600px;
        margin-inline: auto;
    }

    /* Healthcare */
    .healthcare-container {
        grid-template-columns: 1fr;
    }

    .healthcare-stats {
        max-width: 500px;
        margin-inline: auto;
    }

    /* Nymbl */
    .nymbl-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .nymbl-stats {
        grid-template-columns: repeat(3, 1fr);
    }

    /* Platform */
    .platform-container {
        grid-template-columns: 1fr;
    }

    .platform-visual {
        order: -1;
        max-width: 500px;
        margin-inline: auto;
        margin-bottom: var(--space-10);
        aspect-ratio: 16/10;
    }

    .platform-steps {
        grid-template-columns: 1fr;
        max-width: 500px;
        margin-inline: auto;
    }

    /* Services */
    .services-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    /* Results */
    .results-metrics {
        grid-template-columns: repeat(2, 1fr);
    }

    .featured-case-content {
        grid-template-columns: 1fr;
    }

    .results-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    /* Contact */
    .contact-grid {
        grid-template-columns: 1fr;
    }

    .contact-calendly {
        min-height: 400px;
    }

    /* Footer */
    .footer-grid {
        grid-template-columns: 1fr 1fr;
        gap: var(--space-8);
    }

    .footer-brand {
        grid-column: span 2;
        max-width: none;
    }
}

/* --------------------------------------------------------------------------
   Mobile - 768px and below
   -------------------------------------------------------------------------- */

@media (max-width: 768px) {

    /* Navigation */
    .nav-links {
        position: fixed;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        background: rgba(255, 255, 255, 0.98);
        backdrop-filter: blur(12px);
        -webkit-backdrop-filter: blur(12px);
        flex-direction: column;
        justify-content: center;
        align-items: center;
        gap: var(--space-6);
        opacity: 0;
        visibility: hidden;
        transition: opacity var(--transition-base), visibility var(--transition-base);
        z-index: var(--z-modal);
    }

    .nav-links.active {
        opacity: 1;
        visibility: visible;
    }

    .nav-link {
        font-size: var(--text-xl);
        color: var(--color-text-primary);
    }

    .nav-toggle {
        display: flex;
        z-index: var(--z-overlay);
    }

    .nav-toggle.active .nav-toggle-bar:nth-child(1) {
        transform: rotate(45deg) translate(5px, 5px);
    }

    .nav-toggle.active .nav-toggle-bar:nth-child(2) {
        opacity: 0;
    }

    .nav-toggle.active .nav-toggle-bar:nth-child(3) {
        transform: rotate(-45deg) translate(5px, -5px);
    }

    /* Hide "Powered by" on mobile */
    .nav-brand-divider,
    .nav-brand-powered {
        display: none;
    }

    .nav-brand-logo {
        height: 18px;
    }

    /* Hero */
    .hero {
        padding-top: calc(var(--space-16) + 80px);
    }

    .hero-title {
        font-size: var(--text-3xl);
    }

    .hero-subtitle {
        font-size: var(--text-sm);
    }

    .hero-ctas {
        flex-direction: column;
        width: 100%;
    }

    .hero-ctas .btn {
        width: 100%;
        justify-content: center;
        font-size: var(--text-sm);
        padding: var(--space-3) var(--space-4);
        white-space: normal;
        line-height: 1.4;
        text-align: center;
    }

    .hero-visual {
        padding-inline: 0;
        overflow: hidden;
        margin-bottom: var(--space-6);
    }

    .hero-visual-container {
        max-width: 100%;
    }

    .stats-bar {
        padding-top: var(--space-8);
    }

    .hero-dashboard {
        padding: var(--space-3);
        border-radius: var(--radius-xl);
        box-sizing: border-box;
        width: 100%;
    }

    .hero-dashboard-header {
        padding-bottom: var(--space-2);
        margin-bottom: var(--space-2);
    }

    .hero-dashboard-title {
        font-size: 10px;
    }

    .hero-metric-row {
        grid-template-columns: 1fr 1fr;
        gap: var(--space-2);
    }

    .hero-metric {
        padding: var(--space-2);
    }

    .hero-metric-value {
        font-size: var(--text-lg);
    }

    .hero-metric-label {
        font-size: 9px;
    }

    .hero-metric-change {
        font-size: 9px;
    }

    /* Spark CTA */
    .spark-cta-card {
        padding: var(--space-6);
        border-radius: var(--radius-xl);
    }

    .spark-cta-title {
        font-size: var(--text-xl);
    }

    .spark-cta-text {
        font-size: var(--text-sm);
    }

    .spark-cta .btn-primary {
        max-width: 100%;
        white-space: normal;
        word-wrap: break-word;
        padding: var(--space-3) var(--space-5);
        font-size: var(--text-sm);
        line-height: 1.4;
    }

    /* Stats */
    .stats-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: var(--space-6);
    }

    .stat-number {
        font-size: var(--text-3xl);
    }

    /* Nymbl */
    .nymbl-grid {
        grid-template-columns: 1fr;
    }

    .nymbl-stats {
        grid-template-columns: repeat(2, 1fr);
    }

    /* Services */
    .services-grid {
        grid-template-columns: 1fr;
    }

    /* Results */
    .results-metrics {
        grid-template-columns: 1fr 1fr;
        padding: var(--space-6);
    }

    .results-grid {
        grid-template-columns: 1fr;
    }

    .featured-case {
        padding: var(--space-6);
    }

    .featured-case-results {
        justify-content: center;
    }

    /* Footer */
    .footer-grid {
        grid-template-columns: 1fr;
        gap: var(--space-8);
        text-align: center;
    }

    .footer-brand {
        grid-column: span 1;
        max-width: none;
    }

    .footer-links {
        align-items: center;
    }

    .footer-bottom {
        flex-direction: column;
        gap: var(--space-4);
        text-align: center;
    }

    .footer-social {
        justify-content: center;
    }

    /* Logo Grid */
    .logo-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: var(--space-4);
    }

    /* Contact */
    .contact-form-row {
        grid-template-columns: 1fr;
    }
}

/* --------------------------------------------------------------------------
   Small Mobile - 480px and below
   -------------------------------------------------------------------------- */

@media (max-width: 480px) {
    :root {
        --section-padding: clamp(3rem, 6vw, 5rem);
        --container-padding: 1rem;
    }

    /* Hero */
    .hero-title {
        font-size: var(--text-2xl);
    }

    /* Stats */
    .stats-grid {
        grid-template-columns: 1fr;
        gap: var(--space-6);
    }

    /* Nymbl Stats */
    .nymbl-stats {
        grid-template-columns: 1fr;
        gap: var(--space-4);
    }

    /* Results */
    .results-metrics {
        grid-template-columns: 1fr;
    }

    /* Healthcare Stats */
    .healthcare-stats {
        grid-template-columns: 1fr;
    }

    /* CTA */
    .cta-title {
        font-size: var(--text-2xl);
    }

    /* Cards */
    .card {
        padding: var(--space-6);
    }

    /* Featured Case */
    .featured-result-item {
        flex: 1 1 100%;
    }

    /* Platform Steps */
    .platform-step {
        padding-inline: var(--space-4);
    }
}

/* --------------------------------------------------------------------------
   High-resolution / Large Screens
   -------------------------------------------------------------------------- */

@media (min-width: 1400px) {
    :root {
        --container-max: 1360px;
    }

    .hero-container {
        gap: var(--space-20);
    }

    .hero-visual-container {
        max-width: 800px;
    }
}

/* --------------------------------------------------------------------------
   Utility for reduced motion
   -------------------------------------------------------------------------- */

@media (prefers-reduced-motion: reduce) {

    .hero-dashboard,
    .hero-float-card {
        animation: none;
    }
}