/* Mobile homepage trim: keep the conversion path shorter without changing image assets. */
@media (max-width: 1024px) {
    html.page-home #contact {
        overflow: hidden;
    }

    html.page-home #contact .cta-inner {
        grid-template-columns: minmax(0, 1fr) !important;
        gap: 32px;
        width: 100%;
        max-width: 720px;
        min-width: 0;
    }

    html.page-home #contact .cta-left,
    html.page-home #contact .contact-form {
        width: 100%;
        max-width: 100%;
        min-width: 0;
    }

    html.page-home #contact .cta-left > p {
        max-width: 620px;
    }

    html.page-home #contact .contact-form {
        box-sizing: border-box;
        justify-self: stretch;
    }

    html.page-home #contact .promise-box,
    html.page-home #contact .cta-map-item {
        display: none !important;
    }
}

@media (max-width: 768px) {
    html.page-home #rfq-service-paths,
    html.page-home #blog,
    html.page-home #testimonials,
    html.page-home #about,
    html.page-home #cases {
        display: none !important;
    }

    html.page-home #contact.cta-section {
        padding: 56px 16px 64px;
    }

    html.page-home #contact .cta-inner {
        gap: 22px;
        max-width: 430px;
    }

    html.page-home #contact .section-label {
        margin-bottom: 14px;
    }

    html.page-home #contact .cta-left h2 {
        font-size: clamp(32px, 9vw, 42px);
        line-height: 1.12;
        margin-bottom: 14px;
    }

    html.page-home #contact .cta-left > p {
        font-size: 16px;
        line-height: 1.72;
        margin-bottom: 22px;
    }

    html.page-home #contact .cta-info-list {
        margin-bottom: 0;
        gap: 12px;
    }

    html.page-home #contact .cta-info-item {
        align-items: center;
        gap: 12px;
    }

    html.page-home #contact .cta-info-icon {
        width: 44px;
        height: 44px;
        min-width: 44px;
        border-radius: 12px;
    }

    html.page-home #contact .contact-form {
        grid-template-columns: minmax(0, 1fr) !important;
        gap: 16px;
        padding: 22px 16px;
        border-radius: 18px;
    }

    html.page-home #contact .contact-form .form-group,
    html.page-home #contact .contact-form .form-group.full,
    html.page-home #contact .contact-form .form-submit,
    html.page-home #contact .contact-form .form-progress-wrap {
        grid-column: 1 / -1;
        min-width: 0;
    }

    html.page-home #contact .form-progress-wrap {
        display: grid;
        grid-template-columns: 1fr auto;
        gap: 8px 12px;
        align-items: center;
    }

    html.page-home #contact .form-progress-track {
        grid-column: 1 / -1;
        width: 100%;
    }

    html.page-home #contact .form-progress-label {
        white-space: normal;
    }

    html.page-home #contact .form-group input,
    html.page-home #contact .form-group select,
    html.page-home #contact .form-group textarea {
        max-width: 100%;
        min-width: 0;
        font-size: 16px;
    }

    html.page-home #contact .form-group input,
    html.page-home #contact .form-group select {
        height: 46px;
        line-height: 44px;
        padding-left: 14px;
        padding-right: 38px;
    }

    html.page-home #contact .upload-zone {
        padding: 16px 14px;
        border-radius: 14px;
    }

    html.page-home #contact .upload-zone-inner {
        gap: 12px;
        align-items: flex-start;
    }

    html.page-home #contact .upload-icon {
        width: 40px;
        height: 40px;
        min-width: 40px;
        border-radius: 12px;
    }

    html.page-home #contact .field-head {
        align-items: flex-start;
    }

    html.page-home #contact .captcha-row {
        display: grid;
        grid-template-columns: minmax(0, 1fr) auto;
        gap: 10px;
        align-items: center;
    }

    html.page-home #contact .captcha-img {
        margin-left: 0;
        max-width: 116px;
    }

    html.page-home #contact .form-submit .btn-primary {
        min-height: 50px;
        white-space: normal;
    }

    html.page-home .section,
    html.page-home .cta-section {
        padding-top: 64px;
        padding-bottom: 64px;
    }

    html.page-home .section-container {
        max-width: 430px;
    }

    html.page-home .section-label {
        margin-bottom: 10px !important;
        font-size: 11px !important;
        letter-spacing: 1.2px !important;
    }

    html.page-home .section-title {
        margin-bottom: 12px !important;
        font-size: clamp(28px, 8.8vw, 38px) !important;
        line-height: 1.12 !important;
    }

    html.page-home .section-desc,
    html.page-home .hero-desc,
    html.page-home #contact .cta-left > p {
        max-width: 34ch !important;
        margin-left: auto !important;
        margin-right: auto !important;
        font-size: 14px !important;
        line-height: 1.6 !important;
        display: -webkit-box !important;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 3;
        overflow: hidden !important;
    }

    html.page-home .section-desc {
        margin-bottom: 32px !important;
    }

    html.page-home .services-grid,
    html.page-home .industry-grid,
    html.page-home .why-grid,
    html.page-home .quality-grid,
    html.page-home .quality-flow,
    html.page-home .gallery-grid,
    html.page-home .case-grid,
    html.page-home .faq-grid {
        gap: 14px !important;
    }

    html.page-home #services .services-grid > .service-card:nth-child(n+5),
    html.page-home #industries .industry-grid > .industry-card:nth-child(n+5) {
        display: none !important;
    }

    html.page-home #capabilities .cap-right,
    html.page-home #capabilities .cap-tech-strip,
    html.page-home #capabilities .cap-item:nth-child(n+5) {
        display: none !important;
    }

    html.page-home .service-card-body,
    html.page-home .industry-card,
    html.page-home .why-card,
    html.page-home .quality-card,
    html.page-home .case-card,
    html.page-home .blog-content,
    html.page-home .testi-card {
        padding: 20px !important;
    }

    html.page-home .service-card-img,
    html.page-home .blog-img {
        height: 138px !important;
    }

    html.page-home .service-icon,
    html.page-home .industry-icon,
    html.page-home .quality-icon,
    html.page-home .cap-item-icon {
        width: 44px !important;
        height: 44px !important;
        min-width: 44px !important;
        border-radius: 12px !important;
    }

    html.page-home .service-card h3,
    html.page-home .industry-card h3,
    html.page-home .quality-card h3,
    html.page-home .case-card h3,
    html.page-home .blog-content h3 {
        margin-bottom: 8px !important;
        font-size: 16px !important;
        line-height: 1.35 !important;
        display: -webkit-box !important;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 2;
        overflow: hidden !important;
    }

    html.page-home .service-card p,
    html.page-home .industry-card p,
    html.page-home .why-card p,
    html.page-home .quality-card p,
    html.page-home .case-card p,
    html.page-home .blog-content p,
    html.page-home .cap-item p,
    html.page-home .process-step p,
    html.page-home .process-detail-content p,
    html.page-home .faq-answer p,
    html.page-home .testi-quote {
        font-size: 13px !important;
        line-height: 1.55 !important;
        display: -webkit-box !important;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 2;
        overflow: hidden !important;
    }

    html.page-home .service-list,
    html.page-home .quality-list,
    html.page-home .process-detail-list,
    html.page-home .industry-tags,
    html.page-home .case-kpis {
        margin-top: 12px !important;
        gap: 7px !important;
    }

    html.page-home .service-list li:nth-child(n+3),
    html.page-home .quality-list li:nth-child(n+3),
    html.page-home .process-detail-list li:nth-child(n+3),
    html.page-home .industry-tags span:nth-child(n+4),
    html.page-home .case-kpis span:nth-child(n+4),
    html.page-home #faq .faq-grid .faq-item:nth-child(n+5),
    html.page-home #gallery .gallery-grid .gallery-item:nth-child(n+5),
    html.page-home #cases .case-grid .case-card:nth-child(n+4) {
        display: none !important;
    }

    html.page-home .faq-question {
        padding: 18px !important;
    }

    html.page-home .faq-item.open .faq-answer {
        padding: 0 18px 18px !important;
    }
}

@media (max-width: 480px) {
    html.page-home .section,
    html.page-home .cta-section {
        padding-top: 52px !important;
        padding-bottom: 52px !important;
    }

    html.page-home .hero-desc,
    html.page-home .section-desc {
        -webkit-line-clamp: 2;
    }

    html.page-home .service-card-img,
    html.page-home .blog-img {
        height: 124px !important;
    }
}
