/* Mobile-only inner-page presentation polish. */
@media screen and (max-width: 768px) {
    html {
        width: 100%;
        max-width: 100%;
        overflow-x: hidden;
        background: #edf2ee;
    }

    body {
        width: 100%;
        min-width: 0;
        max-width: 100%;
        overflow-x: hidden;
        position: relative;
    }

    main,
    .hero,
    .section,
    .footer {
        width: 100%;
        max-width: 100%;
        overflow-x: hidden;
    }

    @supports (overflow: clip) {
        html,
        body,
        main,
        .hero,
        .section,
        .footer {
            overflow-x: clip;
        }
    }

    .section:not(.hero) {
        min-height: auto !important;
        padding-top: 72px !important;
        padding-bottom: 86px !important;
        overflow: hidden;
    }

    .section:not(.hero) .container,
    .footer .container {
        width: min(100% - 32px, 560px);
        padding-left: 0;
        padding-right: 0;
    }

    .section:not(.hero) .section-header {
        display: grid;
        grid-template-columns: 1fr;
        gap: 10px;
        margin-bottom: 28px !important;
        text-align: left;
    }

    .section:not(.hero) .section-tag {
        width: max-content;
        margin-bottom: 2px;
        padding: 6px 12px;
        border-radius: 999px;
        font-size: 0.78rem !important;
        letter-spacing: 0;
    }

    .section:not(.hero) .section-header h2 {
        margin: 0;
        font-size: clamp(2.05rem, 9.2vw, 2.72rem) !important;
        line-height: 1.06 !important;
        text-wrap: balance;
    }

    .section:not(.hero) .gradient-text {
        background: linear-gradient(90deg, #103428 0%, #2f6f55 52%, #a7541d 100%);
        -webkit-background-clip: text;
        background-clip: text;
        -webkit-text-fill-color: transparent;
    }

    .section:not(.hero) .section-desc {
        max-width: 100%;
        margin: 0;
        font-size: 0.98rem !important;
        line-height: 1.78;
        color: rgba(20,36,31,0.66) !important;
    }

    .about-b-layout {
        display: block;
        min-height: auto;
        padding-top: 0 !important;
    }

    .about .about-b-main {
        width: min(100% - 32px, 560px) !important;
        padding-top: 0 !important;
    }

    .about .about-b-main .section-desc {
        margin-top: 0 !important;
        padding-top: 0 !important;
    }

    .about-command-card {
        gap: 22px !important;
        padding: 22px !important;
        border-radius: 18px !important;
    }

    .about-company-copy h3 {
        font-size: 1.18rem;
        line-height: 1.35;
    }

    .about-company-copy p {
        font-size: 0.95rem !important;
        line-height: 1.86 !important;
    }

    .about-proof-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 10px !important;
    }

    .about-proof-grid .about-proof-card {
        grid-template-columns: 1fr !important;
        justify-items: start;
        min-height: 118px !important;
        padding: 15px 12px !important;
        text-align: left;
    }

    .about-proof-grid .about-proof-card i {
        width: 42px !important;
        height: 42px !important;
        grid-row: auto !important;
        font-size: 1rem !important;
    }

    .about-proof-grid .about-proof-card span {
        font-size: 0.76rem;
    }

    .about-proof-grid .about-proof-card h4 {
        font-size: 1.08rem;
        line-height: 1.24;
    }

    .section.qualifications .section-header {
        margin-bottom: 22px !important;
    }

    .section.qualifications .section-header h2 {
        font-size: clamp(1.9rem, 8vw, 2.42rem) !important;
    }

    .section.qualifications .section-desc {
        line-height: 1.62 !important;
    }

    .qualification-command {
        display: grid;
        grid-template-columns: 1fr !important;
        gap: 10px !important;
        margin-bottom: 14px !important;
    }

    .qualification-metrics {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        border-radius: 14px !important;
    }

    .qualification-metric {
        padding: 11px 12px !important;
    }

    .qualification-metric strong {
        font-size: 1.72rem !important;
    }

    .qualification-metric span {
        margin-top: 6px;
        font-size: 0.82rem !important;
    }

    .qualifications .cert-tabs {
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 7px !important;
        padding: 7px !important;
        border-radius: 14px !important;
    }

    .qualifications .cert-tab {
        width: 100%;
        min-height: 38px;
        padding: 7px 8px !important;
        border-radius: 10px !important;
        font-size: 0.8rem !important;
        line-height: 1.25;
        text-align: center;
    }

    .qualification-copy .cert-panels {
        min-height: 0 !important;
    }

    .qualification-copy .cert-panel.active {
        gap: 9px !important;
        margin-bottom: 10px !important;
    }

    .qualification-copy .cert-panel.active > .cert-grid {
        grid-template-columns: 1fr !important;
        gap: 9px !important;
    }

    .qualification-copy .cert-card {
        min-height: 0 !important;
        grid-template-columns: 36px minmax(0, 1fr) !important;
        grid-template-rows: auto auto auto !important;
        align-items: center !important;
        column-gap: 10px !important;
        row-gap: 10px !important;
        padding: 12px !important;
        border-radius: 14px !important;
    }

    .qualification-copy .cert-card .cert-icon {
        grid-row: 1 / span 2 !important;
        width: 36px !important;
        height: 36px !important;
        border-radius: 12px !important;
    }

    .qualification-copy .cert-card h4 {
        grid-column: 2;
        margin: 0 0 3px !important;
        font-size: 0.94rem !important;
        line-height: 1.28 !important;
        display: -webkit-box;
        overflow: hidden;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 2;
    }

    .qualification-copy .cert-card p {
        grid-column: 2;
        margin: 0 !important;
        font-size: 0.78rem !important;
        line-height: 1.28 !important;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    .qualification-copy .cert-card .cert-badge {
        grid-column: 1 / -1;
        grid-row: 3;
        width: 100%;
        min-height: 40px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        align-self: center;
        margin-top: 0;
        padding: 0 14px;
        border-radius: 13px;
        font-size: 0.82rem !important;
        font-weight: 900;
        letter-spacing: 0.02em;
        color: #173d2b;
        background:
            linear-gradient(135deg, rgba(255,255,255,0.46), rgba(255,255,255,0.06) 38%),
            linear-gradient(135deg, #d9f0e4 0%, #c9e8d8 58%, #f1dcc2 100%);
        border: 1px solid rgba(255,255,255,0.58);
        box-shadow:
            inset 0 1px 0 rgba(255,255,255,0.62),
            0 10px 22px rgba(74,122,93,0.16);
        text-shadow: none;
    }

    .qualification-copy .cert-card .cert-badge::after {
        content: "\f06e";
        width: 24px;
        height: 24px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        margin-left: 8px;
        border-radius: 999px;
        font-size: 0.72rem !important;
        color: #2f6f55;
        background: rgba(255,255,255,0.56);
    }

    .qualification-copy .cert-card:active .cert-badge {
        transform: translateY(1px) scale(0.99);
        box-shadow:
            inset 0 1px 0 rgba(255,255,255,0.48),
            0 6px 14px rgba(74,122,93,0.14);
    }

    .cert-pagination {
        flex-direction: column !important;
        align-items: stretch !important;
        gap: 8px !important;
        margin-top: 12px !important;
        padding: 9px !important;
        border-radius: 14px !important;
    }

    .cert-page-status {
        width: 100%;
        font-size: 0.78rem !important;
        text-align: center;
    }

    .cert-page-list {
        width: 100%;
        display: grid !important;
        grid-template-columns: 72px minmax(118px, 1fr) 72px;
        align-items: center;
        gap: 8px !important;
    }

    .cert-page-btn {
        min-width: 0 !important;
        width: 100%;
        min-height: 36px !important;
        padding: 7px 6px !important;
        border-radius: 10px !important;
        font-size: 0.78rem !important;
        white-space: nowrap;
    }

    .cert-page-nav {
        grid-column: auto;
    }

    .cert-page-select-wrap {
        position: relative;
        display: block;
        min-width: 0;
    }

    .cert-page-select-wrap::after {
        content: "";
        position: absolute;
        top: 50%;
        right: 12px;
        width: 7px;
        height: 7px;
        border-right: 2px solid rgba(20,36,31,0.52);
        border-bottom: 2px solid rgba(20,36,31,0.52);
        pointer-events: none;
        transform: translateY(-62%) rotate(45deg);
    }

    .cert-page-select {
        width: 100%;
        min-height: 36px;
        padding: 7px 30px 7px 12px;
        border-radius: 10px;
        border: 1px solid rgba(47,111,85,0.16);
        appearance: none;
        -webkit-appearance: none;
        background: rgba(255,255,255,0.68);
        color: rgba(20,36,31,0.76);
        font: inherit;
        font-size: 0.78rem;
        font-weight: 800;
        line-height: 1;
        text-align: center;
        text-align-last: center;
    }

    .cert-page-select:focus-visible {
        outline: 2px solid rgba(47,111,85,0.34);
        outline-offset: 2px;
    }

    .services-grid,
    .team-roles,
    .contact-grid {
        grid-template-columns: 1fr !important;
        gap: 12px !important;
    }

    .services-grid {
        grid-auto-rows: auto !important;
    }

    .service-card {
        min-height: 112px !important;
        padding: 18px 18px 18px 76px !important;
        border-radius: 16px !important;
        position: relative;
        display: block !important;
    }

    .service-icon {
        position: absolute;
        top: 18px;
        left: 18px;
        width: 44px !important;
        height: 44px !important;
        margin: 0 !important;
        border-radius: 13px !important;
    }

    .service-card h4 {
        margin: 0 0 6px !important;
        font-size: 1.1rem !important;
        line-height: 1.3;
    }

    .service-card p {
        margin: 0;
        font-size: 0.98rem !important;
        line-height: 1.66;
    }

    .service-solution-btn {
        width: auto !important;
        min-width: 132px;
        min-height: 40px;
        margin-top: 12px !important;
        padding: 9px 14px !important;
        border-radius: 11px !important;
        font-size: 0.88rem !important;
    }

    .role-card {
        min-height: 0 !important;
        display: grid !important;
        grid-template-columns: 46px minmax(0, 1fr);
        column-gap: 14px;
        row-gap: 4px;
        align-items: center;
        padding: 18px !important;
        border-radius: 16px !important;
        text-align: left !important;
    }

    .role-icon {
        grid-row: 1 / span 2;
        width: 46px !important;
        height: 46px !important;
        margin: 0 !important;
        border-radius: 13px !important;
    }

    .role-card h4 {
        margin: 0 !important;
        font-size: 1.1rem !important;
    }

    .role-card p {
        margin: 0;
        font-size: 0.96rem !important;
        line-height: 1.62;
    }

    .partner-logos {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 10px !important;
    }

    .partner-logo,
    .partner-logo:nth-child(n) {
        min-width: 0 !important;
        min-height: 116px !important;
        padding: 12px 8px !important;
        border-radius: 14px !important;
        justify-content: center;
    }

    .partner-logo-img {
        width: min(126px, 100%) !important;
        height: 42px !important;
        margin-bottom: 6px !important;
        padding: 7px 8px !important;
        border-radius: 9px !important;
    }

    .partner-logo span {
        max-width: 100%;
        font-size: 0.9rem !important;
        line-height: 1.2;
        text-align: center;
        overflow-wrap: anywhere;
    }

    .partner-logo small {
        font-size: 0.76rem !important;
        line-height: 1.2;
    }

    .partner-pagination {
        width: 100% !important;
        margin-top: 14px !important;
        display: grid !important;
        grid-template-columns: 76px minmax(0, 1fr) 76px !important;
        gap: 8px !important;
        padding: 8px !important;
        border-radius: 14px !important;
        background:
            linear-gradient(180deg, rgba(255,255,255,0.94), rgba(247,250,247,0.88)) !important;
        border: 1px solid rgba(26,71,52,0.14) !important;
        box-shadow:
            inset 0 1px 0 rgba(255,255,255,0.92),
            0 12px 28px rgba(26,71,52,0.10) !important;
    }

    .partner-page-prev {
        grid-column: 1;
        grid-row: 1;
    }

    .partner-page-next {
        grid-column: 3;
        grid-row: 1;
    }

    .partner-page-list {
        grid-column: 2;
        grid-row: 1;
        justify-content: center;
        gap: 6px !important;
    }

    .partner-page-status {
        grid-column: 1 / -1;
        grid-row: 2;
        min-width: 0;
        color: rgba(20,36,31,0.66) !important;
        font-size: 0.78rem !important;
    }

    .partner-page-btn {
        min-width: 0 !important;
        width: 100%;
        height: 36px !important;
        padding: 0 8px !important;
        border-radius: 10px !important;
        border-color: rgba(26,71,52,0.18) !important;
        background: rgba(255,255,255,0.84) !important;
        color: rgba(20,36,31,0.88) !important;
        font-size: 0.78rem !important;
        box-shadow: inset 0 1px 0 rgba(255,255,255,0.9);
    }

    .partner-page-number {
        width: 36px !important;
        padding: 0 !important;
    }

    .partner-page-btn:hover:not(:disabled),
    .partner-page-btn.active {
        color: #fff !important;
        background: linear-gradient(135deg, #1f6d4b 0%, #2f8b66 62%, #a65d28 100%) !important;
        border-color: rgba(166,93,40,0.34) !important;
        box-shadow:
            inset 0 1px 0 rgba(255,255,255,0.22),
            0 8px 18px rgba(31,109,75,0.20);
    }

    .partner-page-btn:disabled {
        color: rgba(20,36,31,0.58) !important;
        background: rgba(255,255,255,0.66) !important;
        border-color: rgba(26,71,52,0.18) !important;
        opacity: 1 !important;
    }

    .contact-info {
        gap: 10px !important;
    }

    .contact-item {
        align-items: flex-start !important;
        gap: 12px !important;
        padding: 16px !important;
        border-radius: 14px !important;
    }

    .contact-icon {
        width: 42px !important;
        height: 42px !important;
        border-radius: 12px !important;
    }

    .contact-item h4 {
        margin-bottom: 3px;
        font-size: 1rem !important;
    }

    .contact-item p,
    .contact-item a {
        font-size: 0.94rem !important;
        line-height: 1.62;
        overflow-wrap: anywhere;
    }

    .section.contact[data-contact-bg] .section-header,
    .section.contact[data-contact-bg] .contact-item {
        text-shadow: none !important;
    }

    .section.contact[data-contact-bg] .section-header h2 .gradient-text {
        background: none !important;
        color: #173d2b !important;
        -webkit-text-fill-color: currentColor !important;
    }

    .contact-map,
    .amap-panel.map-placeholder,
    .amap-container {
        min-height: 278px !important;
    }

    .amap-map-badge {
        width: calc(100% - 24px);
        margin: 12px;
        padding: 12px 13px;
        border-radius: 12px;
    }

    .amap-map-badge span {
        align-items: flex-start;
        font-size: 0.9rem;
        line-height: 1.35;
    }

    .amap-map-badge small {
        font-size: 0.78rem;
        line-height: 1.45;
    }

    .cert-modal {
        padding: 8px !important;
        align-items: center !important;
        justify-content: center !important;
    }

    .cert-modal-content {
        width: min(100%, 430px) !important;
        max-width: calc(100vw - 16px) !important;
        max-height: calc(100dvh - 16px) !important;
        display: grid !important;
        grid-template-rows: auto minmax(0, 1fr) !important;
        border-radius: 16px !important;
        overflow: hidden !important;
        background: linear-gradient(180deg, rgba(18,33,52,0.98), rgba(7,18,32,0.99)) !important;
        border: 1px solid rgba(48,65,87,0.74) !important;
    }

    .cert-modal-header {
        min-height: 48px !important;
        padding: 9px 9px 9px 13px !important;
        background: linear-gradient(180deg, rgba(255,255,255,0.08), rgba(255,255,255,0.025)) !important;
    }

    .cert-modal-title {
        padding-right: 8px !important;
        color: rgba(255,255,255,0.96) !important;
        font-size: 0.96rem !important;
        font-weight: 800 !important;
        line-height: 1.3 !important;
    }

    .cert-modal-close {
        width: 38px !important;
        height: 38px !important;
        border-radius: 12px !important;
        font-size: 1.15rem !important;
    }

    .cert-modal-body {
        min-height: 0 !important;
        padding: 8px !important;
        gap: 8px !important;
        overflow: hidden !important;
        grid-template-rows: auto minmax(0, 1fr) !important;
    }

    .cert-modal-intro {
        padding: 8px 10px !important;
        gap: 6px !important;
        border-radius: 12px !important;
        display: grid !important;
        grid-template-columns: auto minmax(0, 1fr) !important;
        align-items: center !important;
        background: rgba(255,255,255,0.055) !important;
        border: 1px solid rgba(48,66,89,0.72) !important;
    }

    .cert-modal-category {
        padding: 4px 8px !important;
        color: #9fefff !important;
        background: rgba(0,200,255,0.10) !important;
        border-color: rgba(0,200,255,0.22) !important;
        font-size: 0.72rem !important;
        margin: 0 !important;
    }

    .cert-modal-meta {
        display: none !important;
    }

    .cert-modal-preview {
        min-height: 0 !important;
        height: auto !important;
        max-height: none !important;
        overflow-x: hidden !important;
        overflow-y: auto !important;
        align-items: stretch !important;
        justify-items: stretch !important;
        border-radius: 12px !important;
        background:
            radial-gradient(circle at 50% 0%, rgba(255,255,255,0.96), rgba(255,255,255,0) 42%),
            linear-gradient(180deg, #eef4f8 0%, #dfe8ef 100%) !important;
        border: 1px solid rgba(54,70,88,0.24) !important;
        -webkit-overflow-scrolling: touch;
        overscroll-behavior: contain;
    }

    .cert-modal-pages {
        width: 100% !important;
        min-height: 100% !important;
        min-width: 0 !important;
        gap: 10px !important;
        padding: 9px !important;
        align-content: center !important;
        justify-items: center !important;
    }

    .cert-modal-page {
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 auto !important;
        border-radius: 10px !important;
        box-shadow: 0 8px 22px rgba(19,31,45,0.18) !important;
    }

    .cert-modal-page-image,
    .cert-modal-page-canvas {
        width: 100% !important;
        max-width: 100% !important;
        height: auto !important;
        max-height: none !important;
        object-fit: contain !important;
    }

    .cert-modal-page figcaption {
        padding: 7px 10px !important;
        font-size: 0.72rem !important;
    }

    .cert-modal-preview.is-multipage .cert-modal-pages {
        min-height: auto !important;
        height: max-content !important;
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        justify-content: flex-start !important;
    }

    .cert-modal-preview.is-multipage .cert-modal-page {
        flex: 0 0 auto !important;
        height: auto !important;
        min-height: 0 !important;
    }

    .cert-modal-original {
        width: 100% !important;
        min-height: 38px !important;
        justify-content: center !important;
        margin-top: 0 !important;
        border-radius: 12px !important;
        color: #082033 !important;
        background: linear-gradient(135deg, #b7f4ff, #8edfff) !important;
        border-color: rgba(255,255,255,0.44) !important;
        font-size: 0.78rem !important;
        font-weight: 900 !important;
    }

    .section.contact {
        padding-bottom: 44px !important;
    }

}

@media screen and (max-width: 360px) {
    .about-proof-grid,
    .partner-logos {
        grid-template-columns: 1fr !important;
    }

    .cert-page-list {
        grid-template-columns: 64px minmax(106px, 1fr) 64px;
        gap: 6px !important;
    }

    .cert-page-btn,
    .cert-page-select {
        font-size: 0.74rem !important;
    }
}

/* Keep the partner page footprint stable when the last page has fewer logos. */
.section.partners .partner-logos {
    grid-auto-rows: minmax(116px, auto) !important;
    min-height: 494px !important;
}

@media screen and (max-width: 360px) {
    .section.partners .partner-logos {
        min-height: 998px !important;
    }
}

/* Core business option B mobile lock: keep the selected horizontal-card model. */
@media screen and (max-width: 768px) {
    .section.services .services-grid {
        grid-template-columns: 1fr !important;
        gap: 10px !important;
    }

    .section.services .service-card {
        min-height: 0 !important;
        display: grid !important;
        grid-template-columns: 42px minmax(0, 1fr) !important;
        grid-template-rows: auto auto auto !important;
        column-gap: 12px !important;
        row-gap: 8px !important;
        align-items: center !important;
        align-content: center !important;
        padding: 14px 16px !important;
        border-radius: 16px !important;
    }

    .section.services .service-icon {
        position: static !important;
        grid-column: 1 !important;
        grid-row: 1 / span 2 !important;
        width: 42px !important;
        height: 42px !important;
        margin: 0 !important;
        border-radius: 13px !important;
    }

    .section.services .service-card h4 {
        grid-column: 2 !important;
        grid-row: 1 !important;
        margin: 0 !important;
        font-size: 1.06rem !important;
        line-height: 1.22 !important;
    }

    .section.services .service-card p {
        display: none !important;
    }

    .section.services .service-card-tags {
        grid-column: 2 !important;
        grid-row: 2 !important;
        gap: 5px !important;
        margin-top: 0 !important;
    }

    .section.services .service-card-tags span {
        padding: 4px 8px !important;
        font-size: 0.72rem !important;
        line-height: 1.12 !important;
    }

    .section.services .service-solution-btn {
        grid-column: 2 !important;
        grid-row: 3 !important;
        justify-self: start !important;
        width: auto !important;
        min-width: 96px !important;
        min-height: 34px !important;
        margin-top: 2px !important;
        padding: 0 14px !important;
        border-radius: 999px !important;
        color: #173d2b !important;
        background: rgba(255,255,255,0.68) !important;
        border: 1px solid rgba(47,111,85,0.18) !important;
        box-shadow: inset 0 1px 0 rgba(255,255,255,0.78) !important;
        text-shadow: none !important;
        font-size: 0.8rem !important;
    }
}

/* Standalone solution detail mobile tightening. */
@media screen and (max-width: 768px) {
    .solution-page-shell {
        width: min(100% - 28px, 560px) !important;
        margin-top: 16px !important;
        gap: 12px !important;
    }

    .solution-page-tabs {
        top: 76px !important;
        gap: 8px !important;
        padding: 10px !important;
        border-radius: 18px !important;
    }

    .solution-page-tab {
        min-height: 46px !important;
        gap: 9px !important;
        padding: 8px 14px !important;
        border-radius: 14px !important;
        font-size: 0.9rem !important;
        line-height: 1.15 !important;
    }

    .solution-page-tab i {
        width: 16px !important;
        font-size: 0.92rem !important;
    }

    .solution-page-content {
        gap: 12px !important;
    }

    .solution-slide-header {
        gap: 12px !important;
        padding: 16px 18px !important;
        border-radius: 18px !important;
    }

    .solution-page-kicker {
        margin-bottom: 8px !important;
        font-size: 0.82rem !important;
    }

    .solution-slide-header h1 {
        font-size: clamp(1.72rem, 7.8vw, 2.18rem) !important;
        line-height: 1.08 !important;
    }

    .solution-slide-count {
        min-height: 30px !important;
        padding: 5px 10px !important;
        border-radius: 10px !important;
        font-size: 0.78rem !important;
    }
}

@media screen and (max-width: 360px) {
    .solution-page-tab {
        min-height: 42px !important;
        padding: 7px 12px !important;
        font-size: 0.84rem !important;
    }

    .solution-slide-header {
        padding: 14px 16px !important;
    }

    .solution-slide-header h1 {
        font-size: 1.62rem !important;
    }
}

@media screen and (max-width: 768px) {
    html.mobile-compat,
    html.mobile-compat body {
        background-attachment: scroll !important;
        overscroll-behavior-y: auto;
    }

    html.mobile-compat body::before,
    html.mobile-compat .hero-orbs,
    html.mobile-compat .light-pillar-stage {
        display: none !important;
    }

    html.mobile-compat [data-aos] {
        opacity: 1 !important;
        transform: none !important;
        transition: none !important;
    }

    html.mobile-compat .section,
    html.mobile-compat .section::before,
    html.mobile-compat .section::after {
        background-attachment: scroll !important;
    }

    html.mobile-compat .section:not(.hero) {
        overflow: visible !important;
        transform: none !important;
    }

    html.mobile-compat .pill-nav,
    html.mobile-compat .mobile-menu,
    html.mobile-compat .about-command-card,
    html.mobile-compat .about-proof-card,
    html.mobile-compat .qualification-command,
    html.mobile-compat .qualification-metrics,
    html.mobile-compat .cert-tabs,
    html.mobile-compat .qualification-copy .cert-card,
    html.mobile-compat .cert-pagination,
    html.mobile-compat .service-card,
    html.mobile-compat .role-card,
    html.mobile-compat .partner-logo,
    html.mobile-compat .contact-item,
    html.mobile-compat .footer,
    html.mobile-compat .cert-modal-backdrop,
    html.mobile-compat .cert-modal-sidebar,
    html.mobile-compat .cert-modal-body {
        backdrop-filter: none !important;
        -webkit-backdrop-filter: none !important;
    }

    html.mobile-compat .qualification-copy .cert-card,
    html.mobile-compat .service-card,
    html.mobile-compat .role-card,
    html.mobile-compat .partner-logo,
    html.mobile-compat .contact-item {
        will-change: auto !important;
        touch-action: manipulation;
    }

    html.mobile-compat .qualification-copy .cert-card:hover,
    html.mobile-compat .qualification-copy .cert-card.is-previewed,
    html.mobile-compat .service-card:hover,
    html.mobile-compat .role-card:hover,
    html.mobile-compat .partner-logo:hover,
    html.mobile-compat .contact-item:hover {
        transform: none !important;
    }

    html.mobile-compat .cert-modal {
        height: calc(var(--app-vh, 1vh) * 100) !important;
        max-height: calc(var(--app-vh, 1vh) * 100) !important;
    }

    html.mobile-compat .cert-modal-content {
        height: calc((var(--app-vh, 1vh) * 100) - 16px) !important;
        max-height: calc((var(--app-vh, 1vh) * 100) - 16px) !important;
        transform: none !important;
        transition: opacity 0.18s ease !important;
        overflow: hidden !important;
    }

    html.mobile-compat .cert-modal.active .cert-modal-content {
        transform: none !important;
    }

    html.mobile-compat .cert-modal-preview {
        contain: content;
        transform: translateZ(0);
        -webkit-overflow-scrolling: touch;
    }

    html.mobile-compat .cert-modal-preview.has-error {
        display: grid !important;
        place-items: center !important;
        min-height: 220px !important;
    }

    html.mobile-compat .cert-modal-preview.has-error .cert-modal-loading {
        position: static !important;
        min-height: 180px !important;
        padding: 24px !important;
        text-align: center !important;
        line-height: 1.7 !important;
    }
}

/* Final mobile request overrides. */
.hero-bg,
.hero-bg *,
.hero-bg::before,
.hero-bg::after,
.light-pillar-stage,
.light-pillar-stage * {
    pointer-events: none !important;
}

.hero-content,
.hero-copy,
.hero-actions,
.hero .btn {
    position: relative !important;
    z-index: 10 !important;
}

.hero .btn {
    touch-action: manipulation;
}

.about-command-card {
    gap: 16px !important;
    padding: 18px !important;
}

.about-proof-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 8px !important;
}

.about-proof-grid .about-proof-card {
    min-height: 74px !important;
    grid-template-columns: 30px minmax(0, 1fr) !important;
    grid-template-rows: auto auto !important;
    column-gap: 8px !important;
    row-gap: 2px !important;
    align-items: center !important;
    justify-items: stretch !important;
    padding: 10px 9px !important;
    border-radius: 12px !important;
}

.about-proof-grid .about-proof-card i {
    grid-row: 1 / span 2 !important;
    width: 30px !important;
    height: 30px !important;
    font-size: 0.78rem !important;
}

.about-proof-grid .about-proof-card span {
    font-size: 0.68rem !important;
    line-height: 1.2 !important;
}

.about-proof-grid .about-proof-card h4 {
    margin: 0 !important;
    font-size: 0.88rem !important;
    line-height: 1.18 !important;
}

.about-proof-grid .about-proof-card small {
    display: none !important;
}

.partner-logos {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
}

.section.partners .partner-logos {
    grid-auto-rows: minmax(108px, auto) !important;
    min-height: 344px !important;
}

.partner-logo,
.partner-logo:nth-child(n) {
    min-height: 108px !important;
}

.partner-pagination {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 7px !important;
}

.partner-page-prev {
    grid-column: 1 !important;
    grid-row: 1 !important;
}

.partner-page-next {
    grid-column: 2 !important;
    grid-row: 1 !important;
}

.partner-page-list {
    grid-column: 1 / -1 !important;
    grid-row: 2 !important;
    min-width: 0;
    justify-content: center !important;
    gap: 5px !important;
}

.partner-page-status {
    grid-column: 1 / -1 !important;
    grid-row: 3 !important;
}

.partner-page-btn {
    height: 34px !important;
}

.partner-page-number {
    width: 34px !important;
}

.footer {
    min-height: auto !important;
    padding: 10px 0 14px !important;
}

.footer-grid {
    display: none !important;
    padding-bottom: 0 !important;
}

.footer-brand,
.footer-links {
    display: none !important;
}

.footer-contact {
    display: none !important;
}

.footer-contact h4 {
    margin-bottom: 10px !important;
}

.footer-contact p {
    margin: 7px 0 !important;
}

.footer-bottom {
    display: block !important;
    padding-top: 0 !important;
    text-align: center !important;
    border-top: 0 !important;
}

.footer-bottom > p {
    display: none !important;
}

.footer-icp {
    display: inline-flex !important;
    justify-content: center !important;
    max-width: min(76vw, 230px) !important;
    margin: 0 auto !important;
}

.footer-icp a {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: fit-content !important;
    max-width: 100% !important;
    padding: 3px 9px !important;
    border-radius: 999px !important;
    font-size: 0.72rem !important;
    line-height: 1.28 !important;
    white-space: nowrap !important;
}

.footer-icp span {
    display: none !important;
}

.amap-panel {
    cursor: default !important;
}

.amap-map-badge {
    display: grid !important;
    justify-items: center !important;
    gap: 8px !important;
    padding: 12px 14px !important;
}

.amap-location-text {
    margin: 0 !important;
    color: rgba(20,36,31,0.86) !important;
    font-size: 0.84rem !important;
    line-height: 1.36 !important;
    font-weight: 800 !important;
    text-align: center !important;
    -webkit-text-fill-color: currentColor !important;
}

.amap-nav-entry {
    width: min(100%, 230px) !important;
    min-height: 36px !important;
    padding: 0 12px !important;
    border-radius: 11px !important;
    font-size: 0.84rem !important;
    font-weight: 800 !important;
    color: #173d2b !important;
    background:
        linear-gradient(135deg, rgba(255,255,255,0.46), rgba(255,255,255,0.06) 38%),
        linear-gradient(135deg, #d9f0e4 0%, #c9e8d8 58%, #f1dcc2 100%) !important;
    border: 1px solid rgba(255,255,255,0.58) !important;
    box-shadow:
        inset 0 1px 0 rgba(255,255,255,0.62),
        0 8px 18px rgba(74,122,93,0.14) !important;
    -webkit-text-fill-color: currentColor !important;
}

.footer-records {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 7px !important;
    width: 100% !important;
    margin: 0 auto !important;
}

.footer-records .footer-icp,
.footer-records .footer-police {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex-wrap: wrap !important;
    gap: 2px 4px !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 auto !important;
    line-height: 1.35 !important;
    white-space: normal !important;
}

.footer-records .footer-icp a,
.footer-records .footer-police a,
.footer-records .footer-record-text {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 5px !important;
    width: fit-content !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
    padding: 2px 4px !important;
    border-radius: 999px !important;
    font-size: 0.68rem !important;
    line-height: 1.28 !important;
    white-space: nowrap !important;
}

.footer-records .footer-icp > span:not(.footer-record-text),
.footer-records .footer-police > span:not(.footer-record-text) {
    display: inline !important;
    flex: 0 0 auto !important;
    color: #111 !important;
    font-family: SimHei, "Microsoft YaHei", "PingFang SC", "Hiragino Sans GB", Arial, sans-serif !important;
    font-weight: 700 !important;
    font-size: 0.68rem !important;
    line-height: 1.28 !important;
}

.footer-records .footer-record-text {
    display: inline-flex !important;
    align-items: center !important;
    vertical-align: middle !important;
    color: #111 !important;
    font-family: SimHei, "Microsoft YaHei", "PingFang SC", "Hiragino Sans GB", Arial, sans-serif !important;
    font-weight: 700 !important;
    font-size: 0.68rem !important;
    line-height: 1.28 !important;
    -webkit-text-fill-color: currentColor !important;
}

.footer-police img {
    display: block !important;
    width: 16px !important;
    height: 16px !important;
    flex: 0 0 auto !important;
    object-fit: contain !important;
}
