/* PC 端服务介绍 — 原版左右分栏（仅 ≥769px） */
@media (min-width: 769px) {
    .service-marvis__head--mobile {
        display: none !important;
    }

    .service-marvis__grid {
        display: none !important;
    }

    .service-marvis__card--desktop {
        display: flex;
    }

    .service {
        min-height: 100vh;
        min-height: 100dvh;
        display: flex;
        align-items: center;
        overflow: hidden;
        padding: 98px 0;
        background: #fff;
    }

    body.page-home .service {
        padding: 0;
    }

    body.page-home .service-marvis__card--desktop {
        min-height: 0;
        max-height: min(720px, calc(100dvh - 100px));
    }

    .service-marvis {
        width: 100%;
    }

    .service-marvis__padding {
        padding: 0 var(--page-gutter);
    }

    .service-marvis__card--desktop {
        position: relative;
        align-items: center;
        justify-content: space-between;
        width: 100%;
        max-width: 1440px;
        min-height: 720px;
        margin: 0 auto;
        padding: 80px 50px;
        border-radius: 24px;
        overflow: hidden;
    }

    .service-marvis__bg {
        position: absolute;
        inset: 0;
        width: 100%;
        height: 100%;
        object-fit: cover;
        pointer-events: none;
    }

    .service-marvis__tags {
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        gap: 34px;
        position: relative;
        z-index: 2;
        width: 380px;
        max-width: 100%;
        flex-shrink: 0;
    }

    .service-marvis__tag {
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        position: relative;
        padding: 16px 24px;
        cursor: pointer;
        overflow: hidden;
        transform-origin: top left;
        backdrop-filter: blur(30px);
        -webkit-backdrop-filter: blur(30px);
        background-color: rgba(255, 255, 255, 0.7);
        border-radius: 38px;
        box-sizing: border-box;
    }

    .service-marvis__tag-label {
        font-size: 16px;
        font-weight: 500;
        color: #000;
        white-space: nowrap;
        pointer-events: none;
        line-height: 1.5;
        flex-shrink: 0;
    }

    .service-marvis__tag-desc {
        font-size: 14px;
        line-height: 22px;
        font-weight: 400;
        color: #333;
        margin: 0;
        max-width: 332px;
        white-space: pre-line;
        overflow: hidden;
        opacity: 0;
        pointer-events: none;
    }

    .service-marvis__tag.is-active .service-marvis__tag-desc {
        pointer-events: auto;
    }

    .service-marvis__media {
        flex: 1 1 auto;
        min-width: 0;
        margin-left: 50px;
        align-self: stretch;
        display: flex;
        align-items: center;
        justify-content: center;
        position: relative;
        z-index: 2;
        max-width: calc(100% - 430px);
    }

    .service-marvis__media-box {
        width: 100%;
        position: relative;
        border-radius: 24px;
        overflow: hidden;
        background: linear-gradient(180deg, #f4fbfb 0%, #eaf6f6 100%);
        isolation: isolate;
    }

    .service-marvis__media-box::before {
        content: "";
        display: block;
        width: 100%;
        padding-bottom: 61%;
    }

    .service-marvis__media-layer {
        position: absolute;
        inset: 0;
        border-radius: 24px;
        overflow: hidden;
        opacity: 0;
        visibility: hidden;
        transform: none;
        pointer-events: none;
        z-index: 0;
        background: linear-gradient(180deg, #f4fbfb 0%, #eaf6f6 100%);
        transition:
            opacity 420ms cubic-bezier(0.16, 1, 0.3, 1),
            visibility 0s linear 420ms;
    }

    .service-marvis__media-layer img {
        width: 100%;
        height: 100%;
        object-fit: contain;
        display: block;
        pointer-events: none;
    }

    .service-marvis__media-layer[data-index="2"],
    .service-marvis__media-layer[data-index="4"] {
        display: flex;
        align-items: center;
        justify-content: center;
    }

    .service-marvis__patient-showcase {
        position: relative;
        width: 100%;
        height: 100%;
        margin-left: 0;
    }

    .service-marvis__patient-desktop {
        position: absolute;
        right: 0;
        top: 51%;
        height: auto !important;
        transform: translateY(-50%);
        z-index: 1;
    }

    .service-marvis__phone-shell {
        position: absolute;
        left: 8%;
        top: 60%;
        width: min(32%, 260px);
        max-width: 120px;
        transform: translateY(-50%);
        z-index: 2;
        overflow: hidden;
        border-radius: 20px;
    }

    .service-marvis__phone-shell > img:first-child {
        position: relative;
        z-index: 3;
        width: 100%;
        height: auto;
        display: block;
    }

    .service-marvis__phone-screen {
        position: absolute;
        left: 0;
        top: 0;
        width: 51%;
        height: 55.2%;
        z-index: 2;
        object-fit: cover;
        object-position: top center;
        overflow: hidden;
        border-radius: 14px;
        background: #fff;
        opacity: 0;
        transition: opacity 0.6s ease;
    }

    .service-marvis__phone-screen.is-active {
        opacity: 1;
    }

    .service-marvis__supply-showcase {
        position: absolute;
        inset: 0;
        width: 100%;
        height: 100%;
        margin: 0;
        background: #fff;
        overflow: hidden;
    }

    .service-marvis__supply-base {
        position: absolute;
        inset: 0;
        z-index: 1;
        width: 100%;
        height: 100%;
        object-fit: cover;
        object-position: 50% 42%;
    }

    .service-marvis__supply-screen {
        position: absolute;
        left: 31%;
        top: 20.8%;
        width: 53.6%;
        height: 58.4%;
        z-index: 2;
        overflow: hidden;
        border-radius: 14px;
        background: #fff;
        opacity: 0;
        transform: translateY(18px);
    }

    .service-marvis__media-layer.is-active .service-marvis__supply-screen,
    .service-marvis__media-layer.is-entering .service-marvis__supply-screen {
        opacity: 1;
        transform: translateY(0);
        transition: opacity 0.7s ease 0.2s, transform 0.7s ease 0.2s;
    }

    .service-marvis__supply-screen img {
        width: 100%;
        height: auto;
        min-height: 100%;
        object-fit: cover;
        object-position: top center;
        animation: supply-long-scroll-desktop 16s ease-in-out infinite alternate;
    }

    @keyframes supply-long-scroll-desktop {
        from { transform: translateY(0); }
        to { transform: translateY(calc(-100% + 100% / 3.2)); }
    }

    .service-marvis__denture-showcase {
        position: relative;
        width: 100%;
        height: 100%;
    }

    .service-marvis__denture-desktop {
        position: absolute;
        left: -2%;
        top: 50%;
        width: 78%;
        transform: translateY(-50%);
        z-index: 1;
    }

    .service-marvis__denture-desktop-viewport {
        position: absolute;
        left: 0.9%;
        top: 6.4%;
        width: 101.6%;
        height: 82%;
        z-index: 1;
        overflow: hidden;
    }

    .service-marvis__denture-desktop-shell {
        position: relative;
        z-index: 3;
        width: 100%;
        height: auto;
    }

    .service-marvis__denture-desktop-screen {
        position: absolute;
        left: -1.5%;
        top: -1.5%;
        width: 103%;
        height: 103%;
        z-index: 1;
        object-fit: cover;
        object-position: top center;
        opacity: 0;
        transition: opacity 0.7s ease;
    }

    .service-marvis__denture-phone {
        position: absolute;
        right: 2%;
        top: 53%;
        width: min(22%, 150px);
        transform: translateY(-50%);
        z-index: 4;
        overflow: hidden;
        border-radius: 22px;
    }

    .service-marvis__denture-phone-shell {
        position: relative;
        z-index: 3;
        width: 100%;
        height: auto;
    }

    .service-marvis__denture-phone-screen {
        position: absolute;
        left: 0;
        top: 2.5%;
        width: 91%;
        height: 95.5%;
        z-index: 2;
        object-fit: cover;
        object-position: top center;
        border-radius: 16px;
        opacity: 0;
        transition: opacity 0.7s ease;
        clip-path: inset(0 round 16px);
    }

    .service-marvis__denture-desktop-screen.is-active,
    .service-marvis__denture-phone-screen.is-active {
        opacity: 1;
    }

    .service-marvis__tab-stack {
        position: absolute;
        inset: 0;
        border-radius: 24px;
        overflow: hidden;
        background: #fff;
    }

    .service-marvis__tab-stack img {
        position: absolute;
        inset: 0;
        width: 100%;
        height: 100%;
        object-fit: contain;
    }

    .service-marvis__tab-base {
        z-index: 1;
    }

    .service-marvis__tab-overlay {
        z-index: 2;
        opacity: 1;
        transition: opacity 2.4s ease;
    }

    .service-marvis__tab-overlay--unfold {
        opacity: 1;
        clip-path: inset(0 0 0 100%);
        transition: clip-path 2.4s cubic-bezier(0.33, 0, 0.2, 1);
        will-change: clip-path;
    }

    .service-marvis__tab-stack.is-revealed .service-marvis__tab-overlay {
        opacity: 0;
    }

    .service-marvis__tab-stack.is-revealed .service-marvis__tab-overlay--unfold {
        opacity: 1;
        clip-path: inset(0 0 0 0);
    }

    .service-marvis__media-layer.is-active {
        opacity: 1;
        visibility: visible;
        transform: none;
        pointer-events: auto;
        z-index: 1;
        transition:
            opacity 420ms cubic-bezier(0.16, 1, 0.3, 1),
            visibility 0s linear 0s;
    }

    .service-marvis__media-layer.is-exiting {
        opacity: 0;
        visibility: hidden;
        transform: none;
        pointer-events: none;
        z-index: 0;
        transition:
            opacity 0s linear 0s,
            visibility 0s linear 0s;
    }

    .service-marvis__media-layer.is-entering {
        opacity: 1;
        visibility: visible;
        transform: none;
        pointer-events: auto;
        z-index: 2;
        transition:
            opacity 420ms cubic-bezier(0.16, 1, 0.3, 1),
            visibility 0s linear 0s;
    }
}

@media (min-width: 769px) and (max-width: 1280px) {
    .service-marvis__card--desktop {
        min-height: 600px;
        padding: 60px 40px;
    }

    .service-marvis__tags {
        width: 340px;
    }

    .service-marvis__media {
        margin-left: 32px;
        max-width: calc(100% - 372px);
    }
}
