/* Responsive Styles */
@media (max-width: 1024px) {
    .industries-list-top,
    .industries-list-bottom {
        grid-template-columns: repeat(2, 1fr);
        max-width: 100%;
    }
}

@media (max-width: 768px) {
    .nav-links {
        display: none;
    }

    .mobile-menu-btn {
        display: block;
    }

    .logo-placeholder {
        width: 32px;
        height: 32px;
        font-size: 20px;
    }

    .logo span {
        font-size: 20px;
    }

    .logo {
        gap: 8px;
    }

    .container {
        padding: 0 20px;
    }

    .hero {
        padding: 80px 0 60px;
    }

    .hero h1 {
        font-size: 32px;
        line-height: 1.3;
    }

    .hero-subtitle {
        font-size: 22px;
        margin-bottom: 24px;
    }

    .hero-description {
        font-size: 16px;
    }

    .cta-buttons {
        flex-direction: column;
    }

    .btn-primary,
    .btn-secondary {
        width: 100%;
        text-align: center;
    }

    h2 {
        font-size: 34px;
        text-align: center;
        padding-left: 0;
        margin-bottom: 24px;
    }

    .section-intro {
        font-size: 13px;
        text-align: center;
        padding-left: 0;
        text-decoration: none;
        line-height: 1.3;
        margin-bottom: 20px;
    }

    .logos {
        gap: 20px;
    }

    .logo-text {
        font-size: 15px;
    }

    .trust-note {
        font-size: 8px;
    }

    section {
        padding: 60px 0;
    }

    .services-grid {
        grid-template-columns: 1fr;
        gap: 12px;
        margin-top: 0;
    }

    .service-arrow {
        display: none;
    }

    .industries-list-top,
    .industries-list-bottom,
    .case-studies,
    .packages {
        grid-template-columns: 1fr;
        gap: 24px;
    }

    .service-icon {
        width: 150px;
        height: 173px;
        background: none;
        margin-bottom: 8px;
    }

    .service-icon img {
        width: 90px;
        height: 90px;
    }

    .service-card:last-child .service-icon {
        width: 173px;
        height: 173px;
        background: none;
    }

    .service-card:last-child .service-icon img {
        width: 111px;
        height: 111px;
    }

    .industry-icon {
        width: 136px;
        height: 136px;
        font-size: 28px;
        background-size: 100% 100%;
    }

    .industry-icon img {
        width: 92px;
        height: 92px;
    }

    .service-card,
    .industry-item,
    .case-card,
    .package {
        padding: 16px 12px;
    }

    .process-steps {
        grid-template-columns: 1fr;
        gap: 8px;
        margin-top: 50px;
    }

    /* Reset all desktop grid placements so items flow in DOM order */
    #process .process-steps .step:nth-child(1),
    #process .process-steps .step:nth-child(3),
    #process .process-steps .step:nth-child(5),
    #process .process-steps .step:nth-child(7) {
        grid-column: unset;
        grid-row: unset;
    }

    .step-arrow:nth-child(2),
    .step-arrow:nth-child(4),
    .step-arrow:nth-child(6),
    .step-arrow:nth-child(8) {
        grid-column: unset;
        grid-row: unset;
        transform: rotate(90deg);
        margin: 0 auto;
        align-self: auto;
        margin-bottom: 12px;
    }

    .step {
        max-width: 280px;
        margin-left: auto;
        margin-right: auto;
    }

    /* Repurpose arrow-4 as the leading arrow before Diagnose */
    .step-arrow.arrow-4 {
        order: -1;
    }

    .step-number {
        width: 50px;
        height: 50px;
        font-size: 20px;
    }

    .outcomes-grid {
        grid-template-columns: 1fr;
        gap: 16px;
    }

    .outcome-item {
        padding: 12px 0 12px 24px;
    }

    .testimonial {
        padding: 40px 24px;
        margin-top: 60px;
    }

    .testimonial::before,
    .testimonial::after {
        font-size: 80px;
    }

    .testimonial p {
        font-size: 16px;
    }

    .contact-form {
        padding: 32px 24px;
    }

    footer > div > div {
        flex-direction: column;
        text-align: center;
    }

    footer > div > div > div:first-child {
        flex-direction: column;
        gap: 16px;
    }

    /* Section content padding-top overrides */
    .hero + .section-light {
        padding-bottom: 220px;
    }

    #industries.section-wave-bg {
        padding-top: 120px;
        padding-bottom: 220px;
    }

    #industries + .section-light {
        padding-top: 120px;
    }

    /* Plain-top sections: reduce top padding on mobile */
    #process.section-wave-bg {
        padding-top: 120px;
    }

    #process.section-wave-bg .container {
        padding-top: 0;
    }

    #services.section-wave-bg {
        padding-top: 120px;
    }

    #services.section-wave-bg .container {
        padding-top: 0;
    }

    .contact-section .section-intro {
        font-size: 20px;
        text-align: justify;
        hyphens: auto;
        -webkit-hyphens: auto;
        -ms-hyphens: auto;
    }
}

@media (max-width: 480px) {
    .hero h1 {
        font-size: 28px;
    }

    .hero-subtitle {
        font-size: 20px;
        margin-bottom: 20px;
    }

    .hero-description {
        font-size: 15px;
    }

    h2 {
        font-size: 28px;
        text-align: center;
        padding-left: 0;
    }

    .trust-strip {
        padding: 32px 0;
    }

    .logos {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 20px;
        column-gap: 20px;
        align-items: center;
        justify-items: stretch;
    }

    /* Click Software - Line 1 */
    .logos .logo-item:nth-child(4) {
        grid-column: 1 / 3;
        grid-row: 1;
        justify-self: center;
    }

    /* Columbia - Line 2 left - shifted right */
    .logos .logo-item:nth-child(2) {
        grid-column: 1;
        grid-row: 2;
        justify-self: end;
        margin-right: 10px;
        transform: translateX(20px);
    }

    .logos .logo-item:nth-child(2) img {
        height: 60px !important;
    }

    /* Salesforce - Line 2 right - shifted right */
    .logos .logo-item:nth-child(1) {
        grid-column: 2;
        grid-row: 2;
        justify-self: start;
        margin-left: 10px;
        transform: translateX(20px);
    }

    .logos .logo-item:nth-child(1) img {
        height: 65px !important;
    }

    /* Bar Illan - Line 3 */
    .logos .logo-item:nth-child(3) {
        grid-column: 1 / 3;
        grid-row: 3;
        justify-self: center;
    }

    /* Merrill Lynch - Line 4 left - shifted left */
    .logos .logo-item:nth-child(5) {
        grid-column: 1;
        grid-row: 4;
        justify-self: end;
        margin-right: 5px;
        transform: translateX(-10px);
    }

    /* MSU - Line 4 right - shifted left */
    .logos .logo-item:nth-child(6) {
        grid-column: 2;
        grid-row: 4;
        justify-self: start;
        margin-left: 5px;
        transform: translateX(-10px);
    }

    /* York University - Line 5 */
    .logos .logo-item:nth-child(7) {
        grid-column: 1 / 3;
        grid-row: 5;
        justify-self: center;
    }

    .logo-text {
        font-size: 16px;
    }

    .service-card h3,
    .industry-item h3 {
        font-size: 20px;
    }

    .testimonial p {
        font-size: 15px;
    }

    .btn-primary,
    .btn-secondary {
        padding: 14px 24px;
        font-size: 15px;
    }
}