@media screen and (max-width: 1280px) {
    .ul-listb1,
    .ul-listb2,
    .ul-about03 {
        margin-left: 0;
        margin-right: 0;
    }

    .ul-listb1 li,
    .ul-listb2 li,
    .ul-about03 li {
        padding-left: 0;
        padding-right: 0;
    }

    .row-about03 {
        padding-left: 0;
        padding-right: 0;
    }
}

/* 2026-08-10: desktop English layout refinements */
.home-ai-head .home-section-title-left {
    max-width: 100%;
    white-space: normal;
    overflow-wrap: normal;
    text-wrap: balance;
}

.home-choice .home-section-title::before {
    display: inline-block;
    width: 1em;
    height: 1em;
    margin-right: -1em;
    position: relative;
    left: -10px;
    top: .02em;
    vertical-align: top;
}

@media screen and (min-width: 801px) {
    .header .wp3 {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
        align-items: center;
        position: relative;
    }

    .header .logo {
        grid-column: 1;
        grid-row: 1;
        justify-self: start;
        float: none !important;
    }

    .header .hdr {
        grid-column: 2;
        grid-row: 1;
        justify-self: center;
        min-width: 0;
        text-align: center;
    }

    .header .hd-right {
        grid-column: 3;
        grid-row: 1;
        justify-self: end;
        float: none !important;
    }
}

@media screen and (min-width: 1320px) {
    .footer .fd-t {
        display: flex;
        align-items: flex-start;
        justify-content: space-between;
        gap: 32px;
        overflow: visible;
    }

    .footer .fd-t .left,
    .footer .fd-t .right {
        float: none;
    }

    .footer .fd-t .left {
        flex: 1 1 auto;
        min-width: 0;
    }

    .footer .fd-t .left > .fd-nav {
        display: grid;
        grid-template-columns: repeat(5, minmax(0, 1fr));
        column-gap: 38px;
        align-items: start;
    }

    .footer .fd-t .left > .fd-nav > li,
    .footer .fd-t .left > .fd-nav > li:first-child {
        float: none;
        width: auto;
        min-width: 0;
        margin-left: 0;
    }

    .footer .fd-t .right {
        flex: 0 0 312px;
        width: 312px;
    }

    html[data-jvds-lang="en"] .footer .fd-t .left > .fd-nav > li:nth-child(4) .sub.nowrap dd:first-child {
        white-space: normal;
        overflow-wrap: break-word;
        line-height: 1.55;
    }
}

@media screen and (min-width: 801px) and (max-width: 1280px) {
    html,
    body,
    .header {
        min-width: 0;
    }

    body {
        overflow-x: hidden;
    }

    .wp1,
    .wp2,
    .wp3 {
        max-width: none;
        padding-left: 32px;
        padding-right: 32px;
    }

    .row-news-page .news-category-wrap {
        padding-left: 0;
        padding-right: 0;
    }

    .row-news-page .news-category-wrap > .list {
        position: relative;
        border-top: 0;
    }

    .row-news-page .news-category-wrap > .list::before {
        content: "";
        position: absolute;
        top: 0;
        left: 32px;
        right: 32px;
        height: 1px;
        background: #e8e8e8;
        pointer-events: none;
    }

    .row-news-page .news-category-wrap .slick-service-1 {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        column-gap: 28px;
        row-gap: 56px;
        margin-left: 0;
        margin-right: 0;
        padding-left: 40px;
        padding-right: 40px;
    }

    .row-news-page .news-category-wrap .slick-service-1 .item {
        float: none;
        width: auto;
        padding-left: 0;
        padding-right: 0;
        margin-bottom: 0;
    }

    .header .wp3 {
        display: block;
        max-width: 1920px;
        padding-left: clamp(32px, 4.6875vw, 60px);
        padding-right: clamp(32px, 4.6875vw, 60px);
    }

    .header .logo {
        float: left;
    }

    .header .hd-right {
        float: right;
    }

    .header .hdr {
        display: block;
        text-align: center;
    }

    .header .nav {
        display: inline-block;
        white-space: nowrap;
    }

    .header .nav li {
        margin-left: clamp(18px, 2.5vw, 32px);
        margin-right: clamp(18px, 2.5vw, 32px);
    }

    .header .nav .v1 {
        padding: 0;
    }

    .page-service,
    .service-main {
        min-width: 0;
        overflow-x: hidden;
    }

    .row-inner {
        padding-top: 72px;
        padding-bottom: 108px;
    }

    .m-products .top .info .left,
    .m-products .top .info .right,
    .fd-t .left,
    .fd-t .right {
        float: none;
    }

    .g-tab-con .top {
        padding-bottom: 44px;
    }

    .row-work-page .m-work .top .wp2.fix,
    .row-news-page .m-work .top .wp2.fix {
        display: flex;
        flex-wrap: wrap;
        align-items: flex-end;
        justify-content: space-between;
        gap: 28px;
    }

    .row-work-page .m-work .top .g-tit01,
    .row-news-page .m-work .top .g-tit01,
    .row-work-page .m-work .top .right,
    .row-news-page .m-work .top .right {
        float: none;
    }

    .row-work-page .m-work .top .right,
    .row-news-page .m-work .top .right {
        min-width: max-content;
        flex: 0 1 auto;
        display: flex;
        justify-content: flex-end;
    }

    .row-work-page .m-work .top .ul-list5,
    .row-news-page .m-work .top .ul-list5 {
        padding-top: 0;
        display: flex;
        align-items: flex-end;
        justify-content: flex-end;
        gap: clamp(24px, 4vw, 56px);
        white-space: nowrap;
    }

    .row-work-page .m-work .top .ul-list5 a,
    .row-news-page .m-work .top .ul-list5 a {
        margin-left: 0;
    }

    .row-work-page .m-work .top .g-tit01,
    .row-news-page .m-work .top .g-tit01 {
        flex: 0 1 auto;
    }

    .service-title-row.wp3 {
        max-width: none;
        padding: 72px 32px 44px;
        display: flex;
        flex-wrap: wrap;
        align-items: flex-end;
        justify-content: space-between;
        gap: 28px;
    }

    .service-title-copy {
        line-height: 0;
    }

    .service-title-cn {
        font-size: 70px;
        line-height: .95;
    }

    .service-title-en {
        margin-top: 10px;
        font-size: 48px;
        line-height: .9;
    }

    .service-tabs {
        min-width: max-content;
        margin: 0;
        padding-bottom: 0;
        flex: 0 1 auto;
        display: flex;
        align-items: flex-end;
        justify-content: flex-end;
        gap: 20px;
        overflow: visible;
        white-space: nowrap;
    }

    .service-tabs a {
        height: auto;
        min-height: 48px;
        padding: 0 20px;
        line-height: 48px;
    }

    .service-tabs a.on {
        padding: 0 20px;
    }

	.anli_index .ban.in1 {
	    position: relative;
	    top: auto;
	    left: 0;
	    right: 0;
	    width: 100%;
	    max-width: none;
	    height: 700px;
	    min-height: 700px;
	    margin: 0;
	    overflow: hidden;
	    background: none;
	}

	.anli_index .ban.in1 img {
	    width: 100%;
	    height: 100%;
	    min-height: 700px;
	    display: block;
	    object-fit: cover;
	    object-position: center center;
	}

    .anli_index .ban-placeholder {
        display: none;
        height: 0;
    }

    .products-list-1 {
        column-gap: 28px;
        row-gap: 56px;
    }

    .row-a1 .products-list {
        column-gap: var(--home-work-gap-x);
        row-gap: var(--home-work-gap-y);
    }

    .m-products .top {
        margin-bottom: 72px;
    }

    .m-products .top .info {
        display: grid;
        gap: 22px;
    }

    .g-tip-f01,
    .g-tip-f02 {
        display: flex;
        flex-wrap: wrap;
        gap: 12px 20px;
    }

    .g-tip-f02 {
        margin-top: 40px;
    }

    .g-tip-f01 .item,
    .g-tip-f02 .item {
        margin-right: 0;
    }

    .m-serve::after {
        width: 46vw;
        height: 46vw;
        right: -6vw;
        opacity: .45;
    }

    .m-serve {
        overflow: hidden;
    }

    .m-serve .inner {
        height: auto;
        min-height: 520px;
    }

    .m-news .slick-service,
    .slick-service-1 {
        width: auto;
        margin-left: 0;
        margin-right: 0;
    }

    .m-news .slick-service {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 34px;
        overflow: visible;
    }

    .m-news .slick-service .item {
        flex: none;
        width: auto;
    }

    .page-index .m-news .slick-service {
        display: inline-flex;
        flex-wrap: nowrap;
        align-items: flex-start;
        gap: 0;
        width: max-content;
        max-width: none;
        margin: 0 -300px 116px -30px;
        overflow: visible;
        cursor: grab;
        user-select: none;
        -webkit-user-select: none;
        touch-action: pan-y;
    }

    .page-index .m-news .slick-service .item {
        flex: 0 0 clamp(645px, 52.5vw, 750px);
        width: clamp(645px, 52.5vw, 750px);
        max-width: none;
    }

    .news-all-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 34px;
    }

    .news-all-card-large {
        grid-column: span 1;
    }

    .news-detail-wrap {
        grid-template-columns: minmax(0, 1fr);
        gap: 58px;
        margin-bottom: 108px;
    }

    .news-detail-side {
        position: static;
    }

    .service-card-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .service-process-list {
        grid-template-columns: 1fr;
        gap: 0;
    }

    .service-process-item {
        display: grid;
        grid-template-columns: 1fr;
        gap: 0;
    }

    .service-process-item .service-process-card,
    .service-process-item:nth-child(even) .service-process-card {
        order: 1;
    }

    .service-process-item .service-process-pic,
    .service-process-item:nth-child(even) .service-process-pic {
        order: 2;
    }

    .service-process-card {
        min-height: 0;
    }

    .ul-listb1 {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 36px 28px;
        margin: 0 0 72px;
        overflow: visible;
    }

    .ul-listb1 li {
        float: none;
        width: auto;
    }

    .ul-listb1 .con {
        margin: 0;
    }

    .ul-listb2 {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 36px;
        margin: 0;
        overflow: visible;
    }

    .ul-listb2 li {
        float: none;
        width: auto;
        padding: 0;
    }

    .ul-about03 {
        margin: 0;
        display: grid;
        grid-template-columns: repeat(4, minmax(0, 1fr));
        align-items: center;
    }

    .ul-about03 li {
        width: auto;
        padding: 0 18px;
    }

    .m-about03 {
        display: flex;
        align-items: center;
        line-height: 1;
    }

    .m-about03 > .wp2 {
        width: 100%;
    }

    .ul-about03 .con {
        display: flex;
        min-height: 132px;
        flex-direction: column;
        align-items: center;
        justify-content: center;
    }

    .ul-iconb2 {
        display: grid;
        grid-template-columns: repeat(5, minmax(0, 1fr));
        gap: 18px;
        margin: 0;
        overflow: visible;
    }

    .ul-iconb2 li {
        float: none;
        width: auto;
        margin-bottom: 0;
        padding: 0;
    }

    .ul-iconb1 {
        display: flex;
        flex-wrap: nowrap;
        gap: 0;
        margin: 0 calc(clamp(12px, 1.5625vw, 20px) * -1) 72px;
    }

    .ul-iconb1 li {
        float: none;
        flex: 0 0 33.33333333333%;
        width: 33.33333333333%;
        padding-left: clamp(12px, 1.5625vw, 20px);
        padding-right: clamp(12px, 1.5625vw, 20px);
    }

    .m-contact .wp2 {
        display: flex;
        flex-direction: column;
        align-items: stretch;
    }

    .m-contact .g-tit01 {
        margin-bottom: 50px;
    }

    .m-infob2 {
        display: block;
        overflow: hidden;
    }

    .m-infob2 .right {
        float: right;
        width: clamp(360px, 37.5vw, 480px);
        margin-left: clamp(56px, 7.8125vw, 100px);
        overflow: visible;
    }

    .m-infob2 .left {
        float: none;
        width: auto;
        margin: 0;
        overflow: hidden;
    }

    .row-contact {
        max-width: none;
        padding: 0 32px;
    }

    .m-contact-map {
        height: auto;
        min-height: 640px;
        margin-bottom: 96px;
        padding: 56px 0 80px;
        background-size: cover;
    }

    .g-btn-contact.g-btn-contact-sumaart,
    .g-btn-contact.g-btn-contact-sumaart.is-expanded,
    .g-btn-contact.g-btn-contact-sumaart.is-collapsed {
        width: min(100%, 640px);
        height: 132px;
        padding: 0 44px;
        font-size: 48px;
        gap: 30px;
        border-width: 5px;
    }

    .footer > .wp3 {
        padding-left: 32px;
        padding-right: 32px;
    }

    .fd-logo {
        margin-bottom: 54px;
    }

    .fd-t {
        display: block;
        overflow: visible;
    }

    .fd-t .left,
    .fd-t .right {
        float: none;
        width: 100%;
    }

    .fd-t .right {
        margin-top: clamp(42px, 5.2vw, 68px);
    }

	.fd-t .left > .fd-nav {
	    display: grid;
	    grid-template-columns: minmax(86px, .7fr) minmax(92px, .76fr) minmax(92px, .76fr) minmax(240px, 1.32fr) minmax(86px, .7fr);
	    column-gap: clamp(18px, 3.2vw, 52px);
	    row-gap: 0;
	    align-items: start;
	}

    .fd-t .right > .fd-nav {
        display: block;
    }

    .fd-t .left > .fd-nav > li,
    .fd-t .left > .fd-nav > li:first-child,
    .fd-t .right > .fd-nav > li {
        float: none;
        width: auto;
        min-width: 0;
        margin-left: 0;
    }

	.fd-t .left > .fd-nav > li:nth-child(4) .sub.nowrap dd {
	    white-space: normal;
	    overflow-wrap: anywhere;
	}

    .fd-big-word {
        overflow: hidden;
    }

    .fd-big-word-text {
        font-size: 96px;
        letter-spacing: 0;
        transform: none;
        -webkit-transform: none;
    }
}

@media screen and (min-width: 801px) and (max-width: 980px) {
    .row-work-page .m-work .top .wp2.fix,
    .row-news-page .m-work .top .wp2.fix,
    .service-title-row.wp3 {
        align-items: flex-start;
        gap: 24px;
    }

    .row-work-page .m-work .top .g-tit01,
    .row-news-page .m-work .top .g-tit01,
    .row-work-page .m-work .top .right,
    .row-news-page .m-work .top .right,
    .service-title-copy,
    .service-tabs {
        flex: 0 0 100%;
    }

    .row-work-page .m-work .top .right,
    .row-news-page .m-work .top .right,
    .service-tabs {
        min-width: 0;
        justify-content: flex-start;
    }

    .row-work-page .m-work .top .ul-list5,
    .row-news-page .m-work .top .ul-list5,
    .service-tabs {
        justify-content: flex-start;
    }

    .page-service .service-tabs {
        margin-top: 10px;
        margin-left: 8px;
    }
}

@media screen and (max-width: 800px) {
	.pt {
	    padding-top: 64px;
	}

	.g-load-page .jvds-loader-logo-stage {
	    width: min(72vw, 320px);
	    height: auto;
	}

	.wp1,
	.wp2,
	.wp3,
    .footer > .wp3 {
        padding-left: 18px;
        padding-right: 18px;
    }

    .g-tit01 h1,
    .g-tit01 h2 {
        margin-left: 0;
    }

    .g-tit01 .g-home-title {
        padding-left: 10px;
        font-size: 34px;
        line-height: 1.24;
    }

    .g-tit01 .g-home-title::before {
        width: 78px;
        height: 78px;
        left: -6px;
        top: -6px;
    }

    .g-tit01 .g-home-title span,
    .g-tit01 .g-code-title span {
        white-space: normal;
    }

    .g-tit01 .g-code-title {
        padding-left: 10px;
    }

    /* Page titles share the content gutter; the decorative circle may extend left. */
    .g-tit01 h1.g-code-title {
        padding-left: 0;
    }

    .g-tit01 .g-code-title-line {
        font-size: 38px;
        line-height: 1.08;
    }

    .g-tit01 .g-code-title-line::before {
        width: 44px;
        height: 44px;
        left: -4px;
        top: -4px;
    }

    .g-tit01 .g-code-title-stack::before {
        width: 72px;
        height: 72px;
        left: -5px;
        top: -5px;
    }

    .g-tit01 .g-code-title-stack .g-code-cn {
        font-size: 52px;
        line-height: 1;
    }

    .g-tit01 .g-code-title-stack .g-code-en {
        margin-top: 6px;
        font-size: 34px;
        line-height: 1;
    }

    .g-more,
    .row-a1 .g-more {
        width: 100%;
        max-width: 260px;
        height: 56px;
        line-height: 54px;
    }

    .g-more span,
    .row-a1 .g-more span {
        font-size: 17px;
        line-height: 54px;
    }

    .jvds-action-btn.g-contact-btn {
        height: 48px;
        padding: 0 58px 0 20px;
        font-size: 14px;
        line-height: 1;
    }

    .jvds-action-btn .g-contact-btn-fill,
    .jvds-action-btn .g-contact-btn-icon {
        width: 38px;
        height: 38px;
        right: 5px;
        top: 5px;
    }

    .jvds-hero {
        min-height: 620px;
        height: 100svh;
        z-index: 3;
    }

    .jvds-hero:after {
        inset: 64px 0 44px;
    }

    .jvds-hero-inner {
        inset: 0;
    }

    .jvds-hero-stage {
        inset: 64px 0 44px;
    }

    .jvds-hero-ambient {
        inset: 64px 0 44px;
    }

    .jvds-hero-orbit-a {
        width: 132vw;
    }

    .jvds-hero-orbit-b {
        width: 92vw;
    }

    .jvds-hero-interaction-hint {
        display: none;
    }

    .jvds-hero-canvas {
        cursor: default;
    }

    .jvds-hero-actions {
        left: 18px;
        right: 18px;
        bottom: 74px;
        align-items: center;
    }

    .jvds-hero-quote {
        flex: 1 1 auto;
        min-width: 0;
        padding: 0 18px;
    }

    .jvds-hero-proof {
        display: none;
    }

    .jvds-hero-proof-text span {
        display: none;
    }

    .jvds-hero-down {
        display: none;
    }

    .row-a1 {
        padding: 82px 0 96px;
    }

    #home-second-screen {
        padding-bottom: 60px;
    }

    #home-second-screen .g-home-title span {
        display: inline;
    }

    .m-products .top {
        margin-bottom: 52px;
    }

    .row-a1 .g-tip-f02 {
        margin-top: 40px;
    }

    .row-a1 .products-list {
        display: flex;
        flex-direction: column;
        gap: 56px;
        padding-bottom: 44px;
    }

    .row-a1 .products-list .jvds-work-card {
        flex-basis: auto !important;
        width: 100%;
        margin: 0 !important;
    }

    .row-a1 .products-list .jvds-work-meta {
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        gap: 10px;
    }

    .row-a1 .products-list .tit {
        max-width: none;
        font-size: 20px;
        line-height: 1.25;
        letter-spacing: 0;
    }

    .row-a1 .products-list .desc {
        max-width: none;
        margin-top: 0;
        text-align: left;
        font-size: 12px;
        line-height: 1.35;
    }

    .row-serve {
        margin-bottom: 92px;
    }

    .m-serve .bg {
        display: none;
    }

    .m-serve::after {
        display: none;
    }

    .m-serve .inner {
        height: auto;
        min-height: 0;
        padding: 42px 24px 30px;
    }

    .m-serve .txt {
        max-width: none;
        display: flex;
        flex-direction: column;
    }

    .m-serve .txt::after {
        content: "";
        display: block;
        order: 3;
        width: min(82vw, 360px);
        aspect-ratio: 778 / 704;
        margin: 24px auto 26px;
        background: url(../images/serve/f2-bg01.png) center center / contain no-repeat;
        pointer-events: none;
    }

    .m-serve h2.g-dark-title {
        margin-bottom: 18px;
        font-size: 32px;
    }

    .m-serve .item {
        line-height: 1.35;
        padding: 20px 0;
    }

    .m-serve .item .icon {
        width: 38px;
        margin-right: 16px;
    }

    .m-serve .item .icon img {
        width: 38px;
        height: 38px;
    }

    .m-serve .item h3 {
        font-size: 18px;
        line-height: 1.35;
    }

    .row-news {
        padding-bottom: 60px;
    }

    .m-news .top {
        margin-bottom: 34px;
    }

    .page-index .home-news-heading .g-code-title {
        margin-bottom: 4px;
    }

    .page-index .home-news-intro {
        font-size: 16px;
    }

    .m-news .slick-service {
        display: grid;
        grid-template-columns: 1fr;
        gap: 30px;
        width: auto;
        margin: 0 0 64px;
        overflow: visible;
    }

    .m-news .slick-service .item {
        width: auto;
        flex: none;
    }

    .slick-service .con {
        margin: 0;
    }

    .slick-service .pic {
        margin-bottom: 16px;
    }

    .slick-service .txt {
        height: auto;
    }

    .slick-service .tit {
        margin-bottom: 12px;
        font-size: 18px;
        line-height: 1.45;
    }

    .page-index .m-news .slick-service {
        display: inline-flex;
        flex-wrap: nowrap;
        align-items: flex-start;
        gap: 0;
        width: max-content;
        max-width: none;
        margin: 0 -160px 0 0;
        overflow: visible;
        cursor: grab;
        user-select: none;
        -webkit-user-select: none;
        touch-action: pan-y;
    }

    .page-index .m-news .slick-service .item {
        flex: 0 0 min(82vw, 340px);
        width: min(82vw, 340px);
        max-width: none;
    }

    .page-index .m-news .slick-service .con {
        margin: 0 16px 0 0;
    }

    .g-tab-con .list {
        padding-top: 38px;
    }

    .g-tab-con .g-tit01,
    .g-tab-con .right {
        float: none;
    }

    .g-tab-con .right {
        margin-top: 34px;
    }

    .row-work-page .m-work .top,
    .row-news-page .m-work .top {
        padding-bottom: 35px;
    }

    .row-work-page .m-work .top .right,
    .row-news-page .m-work .top .right {
        flex: 0 0 100%;
        width: 100%;
        min-width: 0;
        margin-top: 23px;
        overflow: hidden;
        justify-content: flex-start;
    }

    .row-work-page .m-work .top .ul-list5,
    .row-news-page .m-work .top .ul-list5 {
        display: flex;
        grid-template-columns: none;
        align-items: flex-start;
        justify-content: flex-start;
        gap: 14px;
        width: 100%;
        max-width: 100%;
        margin-top: 16px;
        padding: 0 10px 10px 0;
        overflow-x: auto;
        overflow-y: hidden;
        text-align: left;
        white-space: nowrap;
        scroll-snap-type: x proximity;
        scroll-padding-inline: 0;
        scrollbar-width: none;
        -webkit-overflow-scrolling: touch;
        overscroll-behavior-x: contain;
        touch-action: pan-x;
    }

    .row-work-page .ul-list5::-webkit-scrollbar,
    .row-news-page .ul-list5::-webkit-scrollbar {
        display: none;
    }

    .row-work-page .ul-list5 a,
    .row-news-page .ul-list5 a {
        display: block;
        flex: 0 0 auto;
        min-width: 88px;
        margin-left: 0;
        padding: 0 6px;
        text-align: center;
        scroll-snap-align: start;
    }

    .row-work-page .ul-list5 li,
    .row-news-page .ul-list5 li {
        width: auto;
        text-align: center;
    }

    .row-work-page .ul-list5 .icon,
    .row-news-page .ul-list5 .icon {
        margin-left: auto;
        margin-right: auto;
    }

    .row-work-page .ul-list5 .tit,
    .row-news-page .ul-list5 .tit {
        display: block;
        text-align: center;
        white-space: nowrap;
    }

    .row-work-page .ul-list5 a,
    .row-news-page .ul-list5 a {
        touch-action: manipulation;
        -webkit-tap-highlight-color: transparent;
    }

    .row-work-page .ul-list5 li:not(.on):hover .icon .img1,
    .row-news-page .ul-list5 li:not(.on):hover .icon .img1 {
        display: block;
    }

    .row-work-page .ul-list5 li:not(.on):hover .icon .img2,
    .row-news-page .ul-list5 li:not(.on):hover .icon .img2 {
        display: none;
    }

    .row-work-page .ul-list5 li:not(.on):hover .tit,
    .row-news-page .ul-list5 li:not(.on):hover .tit {
        color: #666;
    }

    .row-work-page {
        padding-bottom: 60px;
    }

    .row-news-page {
        padding-bottom: 40px;
    }

    .products-list-1 {
        grid-template-columns: 1fr;
        row-gap: 44px;
        margin-bottom: 54px;
    }

    .products-list-1 .con .pic {
        margin-bottom: 16px;
    }

    .products-list-1 .tit {
        margin-bottom: 8px;
        font-size: 18px;
        line-height: 1.35;
        white-space: normal;
    }

    .m-work .js-loading {
        margin-top: 54px;
        margin-bottom: 40px;
    }

    .m-work .jvds-works-load-more {
        width: 220px;
        height: 48px;
        padding: 0 58px;
    }

    .m-work .jvds-works-load-more .g-contact-btn-fill,
    .m-work .jvds-works-load-more .g-contact-btn-icon {
        width: 38px;
        height: 38px;
        right: 5px;
        top: 5px;
    }

    .ban {
        position: relative;
        height: auto;
        min-height: 0;
    }

    .ban img {
        position: relative;
        width: 100%;
        height: auto;
        min-height: 0;
        display: block;
        object-fit: contain;
    }

    .anli_index .ban.in1 {
        height: 600px;
        min-height: 600px;
        overflow: hidden;
    }

    .anli_index .ban.in1 img {
        width: 100%;
        height: 100%;
        min-height: 600px;
        object-fit: cover;
        object-position: center center;
    }

    .ban-placeholder {
        display: none;
        height: 0;
    }

    .ban .g-ban-top {
        width: 44px;
        height: 44px;
        margin-left: -22px;
        bottom: 12px;
        z-index: 3;
    }

    .m-work-detail {
        padding-top: 62px;
        margin-bottom: 92px;
    }

    .m-work-detail h1 {
        margin-bottom: 28px;
        font-size: 34px;
        line-height: 1.2;
    }

    .m-work-detail .desc {
        margin-bottom: 30px;
        font-size: 15px;
        line-height: 1.8;
    }

    .m-work-detail .info .left,
    .m-work-detail .info .right {
        float: none;
    }

    .m-work-detail .info .right {
        margin-top: 8px;
    }

    .m-work-detail .detail img {
        width: 100% !important;
        max-width: 100%;
        height: auto !important;
    }

    .ul-list7 {
        display: grid;
        grid-template-columns: minmax(0, 1fr);
        gap: 12px;
        margin: 0;
        overflow: visible;
    }

    .ul-list7 li {
        float: none;
        width: auto;
        min-width: 0;
        padding: 0;
    }

    .ul-list7 li a {
        height: auto;
        min-height: 52px;
        padding: 14px 16px;
        line-height: 1.35;
        white-space: normal;
    }

    .ul-list7 li a.jvds-case-nav-btn {
        max-width: 100%;
        height: 52px;
        min-height: 52px;
        padding: 0 58px 0 16px;
        line-height: 1;
        white-space: nowrap;
    }

    .ul-list7 li a.jvds-case-nav-btn-prev {
        padding-left: 58px !important;
        padding-right: 16px !important;
    }

    .jvds-case-nav-btn .g-contact-btn-fill,
    .jvds-case-nav-btn .g-contact-btn-icon {
        width: 42px;
        height: 42px;
        top: 5px;
    }

    .row-work-more {
        padding-bottom: 96px;
    }

    .row-work-more .g-tit01 {
        margin-bottom: 54px;
    }

    .row-work-more .products-list-1 {
        margin-bottom: 72px;
    }

    .page-service .service-title-row.wp3 {
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        padding-top: 64px;
        padding-left: 18px;
        padding-right: 18px;
        gap: 24px;
    }

    .page-service .service-title-copy,
    .page-service .service-tabs {
        width: 100%;
        flex: 0 0 auto;
    }

    .page-service .service-breadcrumb {
        margin-left: 0;
        margin-bottom: 18px;
    }

    .page-service .service-title-heading {
        padding-left: 0;
    }

    .page-service .service-hero {
        padding-left: 18px;
        padding-right: 18px;
    }

    .page-service .service-title-heading::before {
        width: 72px;
        height: 72px;
        left: -5px;
        top: -5px;
    }

    .page-service .service-title-cn {
        font-size: 46px;
        line-height: 1;
    }

    .page-service .service-title-en {
        margin-top: 6px;
        font-size: 30px;
        line-height: 1;
    }

    .page-service .service-tabs {
        margin-top: 8px;
        padding-bottom: 0;
        flex-direction: row;
        flex-wrap: nowrap;
        align-items: center;
        justify-content: flex-start;
        gap: 20px;
        overflow-x: auto;
        overflow-y: hidden;
        white-space: nowrap;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: none;
    }

    .page-service .service-tabs::-webkit-scrollbar {
        display: none;
    }

    .page-service .service-tabs a {
        height: 48px;
        min-height: 48px;
        padding: 0 18px;
        display: inline-flex;
        flex: 0 0 auto;
        align-items: center;
        justify-content: center;
        font-size: 15px;
        line-height: 48px;
    }

    .page-service .service-tabs a.on {
        padding: 0 18px;
    }

    .page-service .service-hero-desc {
        position: relative;
        width: 100%;
        max-width: none;
        left: auto;
        right: auto;
        top: auto;
        text-align: center;
    }

    .page-service .service-hero-heading {
        margin-top: -20px;
        font-size: 24px;
    }

    .page-service.page-service-web .service-hero-heading {
        font-size: 20px;
    }

    .page-service .service-section-head {
        margin-top: -24px;
    }

    .page-service,
    .service-main {
        overflow-x: hidden;
    }

    .service-card-grid,
    .service-process-list {
        grid-template-columns: 1fr;
    }

    .service-process-item {
        display: grid;
        grid-template-columns: 1fr;
        gap: 0;
    }

    .service-process-item .service-process-card,
    .service-process-item:nth-child(even) .service-process-card {
        order: 1;
    }

    .service-process-item .service-process-pic,
    .service-process-item:nth-child(even) .service-process-pic {
        order: 2;
    }

    .page-service .service-process-card {
        padding-left: 0;
        align-items: flex-start;
        text-align: left;
    }

    .page-service .service-process-card h3,
    .page-service .service-process-card p {
        text-align: left;
    }

    .service-card {
        min-height: 0;
    }

    .service-cta-inner p {
        white-space: normal;
    }

    .m-about01 {
        margin-bottom: 78px;
    }

    .m-about01 > .g-tit01 {
        text-align: left;
    }

    .m-about01 > .desc {
        margin-bottom: 30px;
    }

    .m-about01 > .desc,
    .m-about01 > .desc p {
        text-align-last: auto;
        font-size: 15px;
        line-height: 1.8;
    }

    .m-about01 > .pic {
        min-height: 320px;
        overflow: hidden;
    }

    .m-about01 > .pic img {
        width: 100%;
        min-height: 320px;
        object-fit: cover;
    }

    .m-about02 {
        margin-bottom: 82px;
    }

    .m-about02 .g-tit01 {
        margin-bottom: 46px;
    }

    .ul-listb1,
    .ul-listb2 {
        display: grid;
        grid-template-columns: 1fr;
        margin: 0;
        overflow: visible;
    }

    .ul-listb1 {
        gap: 40px;
        margin-bottom: 60px;
    }

    .ul-listb2 {
        gap: 60px;
    }

    .ul-listb1 li,
    .ul-listb2 li {
        float: none;
        width: auto;
        padding: 0;
    }

    .ul-listb1 .con {
        margin: 0;
    }

    .ul-listb2 .pic {
        height: auto;
        aspect-ratio: 16 / 10;
    }

    .row-about03 {
        margin: 0 18px 78px;
        padding: 0;
    }

    .m-about03 {
        height: auto;
        line-height: 1;
        padding: 42px 0;
        background-size: cover;
    }

    .ul-about03 {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 34px 0;
        margin: 0;
        overflow: visible;
    }

    .ul-about03 li {
        width: auto;
        padding: 0 12px;
        display: block;
    }

    .ul-about03 .num {
        font-size: 48px;
    }

    .row-about04 {
        padding-bottom: 90px;
    }

    .row-about04 .g-tit01 {
        margin-bottom: 44px;
    }

    .m-par {
        margin-bottom: 0;
    }

    .ul-iconb2 {
        display: grid;
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 24px 14px;
        margin: 0;
        overflow: visible;
    }

    .m-par .ul-iconb2 > .ul-iconb2 + .ul-iconb2 {
        margin-top: 28px;
    }

    .ul-iconb2 li {
        float: none;
        width: auto;
        padding: 0;
        margin-bottom: 0;
    }

    .row-about-faq {
        padding: 88px 18px;
    }

    .row-about-faq .wp2 {
        width: auto;
        max-width: none;
        padding: 0;
        display: block;
    }

    .row-about-faq .g-tit01 {
        margin-bottom: 0;
        padding-bottom: 44px;
    }

    .about-faq-list {
        width: 100%;
        display: block;
        margin-top: 0;
        max-width: none;
        padding: 0;
    }

    .about-faq-question {
        min-height: 0;
        height: 100%;
        padding: 16px;
    }

    .about-faq-index {
        font-size: 12px;
    }

    .about-faq-question-text {
        font-size: 16px;
        line-height: 1.4;
    }

    .about-faq-action {
        width: 33px;
        height: 33px;
    }

    .about-faq-action-label {
        display: none !important;
    }

    .about-faq-answer-inner {
        padding: 0;
    }

    .about-faq-answer p {
        margin: 0;
        max-width: none;
        font-size: 14px;
        line-height: 1.4;
    }

    .news-all-list {
        padding-top: 30px;
    }

    .news-featured {
        margin: 0 0 42px;
        padding-top: 34px;
    }

    .news-featured-slider {
        height: auto;
        aspect-ratio: auto;
        overflow: hidden;
        background: transparent;
    }

    .news-featured-track {
        align-items: stretch;
        gap: 14px;
        height: auto;
    }

    .news-featured-slide,
    .news-featured-marquee-clone {
        position: relative;
        inset: auto;
        display: flex;
        flex-direction: column;
        flex: 0 0 83.333333%;
        width: 83.333333%;
        height: auto;
        opacity: 1;
        visibility: visible;
    }

    .news-featured-slide img,
    .news-featured-marquee-clone img {
        flex: 0 0 auto;
        width: 100%;
        height: auto;
        aspect-ratio: 16 / 8;
        border-radius: 24px 24px 0 0;
    }

    .news-featured-card {
        position: relative;
        left: auto;
        right: auto;
        bottom: auto;
        width: auto;
        min-height: 0;
        margin: 0;
        padding: 24px 24px 22px;
        flex: 1 1 auto;
        z-index: 3;
        border-radius: 0 0 24px 24px;
        box-shadow: inset 0 0 0 1px #f8f8f8;
    }

    .news-featured-title {
        font-size: 20px;
        line-height: 1.4;
    }

    .news-featured-desc {
        margin-top: 12px;
        font-size: 14px;
        line-height: 1.7;
        max-height: 4.9em;
    }

    .news-featured-type {
        margin-top: 20px;
        padding: 8px 12px;
        font-size: 14px;
    }

    .news-all-section {
        margin-bottom: 78px;
    }

    .news-all-more.g-contact-btn {
        width: 240px;
        min-width: 240px;
        height: 60px;
        padding: 0 70px;
    }

    .news-all-more.g-contact-btn .g-contact-btn-fill,
    .news-all-more.g-contact-btn .g-contact-btn-icon {
        width: 50px;
        height: 50px;
        right: 5px;
        top: 5px;
    }

    .news-all-grid,
    .news-related-grid {
        grid-template-columns: 1fr;
        gap: 60px;
    }

    .slick-service-1 {
        display: grid;
        grid-template-columns: 1fr;
        gap: 40px;
        padding-bottom: 0;
        overflow: visible;
    }

    .news-related-card .txt {
        padding-top: 8px;
    }

    .news-related-card .txt > p:not(.news-related-card-title) {
        margin-top: 0;
    }

    .news-related-card .news-related-card-title {
        font-weight: 700;
    }

    .slick-service-1 .item {
        float: none;
        width: auto;
        padding: 0;
        margin-bottom: 0;
    }

    .slick-service-1 .item .pic {
        margin-bottom: 13px;
    }

    .pages ul {
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
        gap: 8px;
    }

    .pages ul li {
        float: none;
        margin: 0;
    }

    .pages ul li a,
    .pages ul li.next a,
    .pages ul li.prev a {
        width: auto;
        min-width: 44px;
        height: 44px;
        padding: 0 14px;
        line-height: 42px;
        font-size: 14px;
    }

    .row-news-page .news-category-wrap .pages {
        margin-top: 40px;
    }

    .row-news-page .news-category-wrap .pages ul li.prev a,
    .row-news-page .news-category-wrap .pages ul li.next a {
        width: 120px;
        min-width: 120px;
        height: 60px;
        padding: 0;
        line-height: 58px;
    }

    .row-news-page .news-category-wrap .pages ul li:not(.prev):not(.next) {
        display: none;
    }

    .news-detail-hero {
        height: 280px;
        min-height: 280px;
        margin-bottom: 62px;
    }

    .news-detail-wrap {
        gap: 50px;
        margin-bottom: 86px;
    }

    .news-detail-head h1 {
        font-size: 34px;
        line-height: 1.22;
    }

    .article-share {
        align-items: flex-start;
        gap: 12px;
        margin-top: 40px;
    }

    .article-share-label {
        flex-basis: 100%;
    }

    .article-share-actions {
        gap: 8px;
    }

    .article-share-actions .article-share-button {
        width: 40px;
        height: 40px;
        background: #e0f94c;
        color: #000;
    }

    .article-share-actions .article-share-button img {
        filter: brightness(0);
    }

    .article-stats {
        width: 100%;
        margin-top: 30px;
        margin-left: 0;
        justify-content: flex-start;
    }

    .article-stat {
        min-height: 40px;
    }

    .article-view-stat {
        margin-top: -20px;
        margin-bottom: -20px;
    }

    .article-ai-heading-row {
        gap: 10px;
        flex-wrap: nowrap;
    }

    .article-ai-actions {
        gap: 6px;
        flex-wrap: nowrap;
    }

    .article-ai-actions .article-ai-button {
        width: 44px;
        height: 44px;
    }

    .news-detail-content {
        font-size: 15px;
        line-height: 1.82;
    }

    .news-detail-content h2 {
        font-size: 26px;
    }

    .news-detail-content h3 {
        font-size: 20px;
    }

    .news-detail-switch {
        grid-template-columns: 1fr;
        gap: 20px;
    }

    .news-detail-switch a,
    .news-detail-switch span {
        width: 100%;
        min-width: 0;
        max-width: 100%;
    }

    .news-detail-switch a.next {
        text-align: left;
    }

    .news-related-title {
        margin-top: -60px;
        margin-bottom: 28px;
        font-size: 36px;
    }

    .news-detail-side > h2 {
        margin-top: 10px;
    }

    .news-related,
    .news-detail-contact {
        margin-bottom: 96px;
        padding-bottom: 0;
    }

    .ul-iconb1 {
        display: grid;
        grid-template-columns: 1fr;
        gap: 16px;
        margin: 0 0 12px;
        overflow: visible;
    }

    .ul-iconb1 li {
        float: none;
        width: auto;
        padding: 0;
    }

    .ul-iconb1 .con {
        height: auto;
        min-height: 134px;
        padding: 24px 16px;
    }

    .ul-iconb1 .icon {
        height: 56px;
        line-height: 56px;
        margin-bottom: 14px;
    }

    .m-infob2 {
        display: flex;
        flex-direction: column;
        gap: 30px;
        margin-bottom: 72px;
    }

    .m-infob2 .right,
    .m-infob2 .left {
        float: none;
        width: 100%;
        margin-left: 0;
        margin-right: 0;
    }

    .m-infob2 .right {
        display: flex;
        justify-content: center;
    }

    .m-infob2 .right .img {
        width: min(78vw, 280px);
        margin-left: auto;
        margin-right: auto;
    }

    .m-infob2 .right .img img {
        width: 100%;
        height: auto;
    }

    .m-infob2 .g-more {
        width: 100%;
        max-width: none;
        margin-top: 18px;
    }

    .m-infob2 .jvds-contact-submit {
        width: 100%;
        max-width: none;
        height: 56px;
        margin-top: 18px;
        padding: 0 66px;
    }

    .m-infob2 .jvds-contact-submit .g-contact-btn-fill,
    .m-infob2 .jvds-contact-submit .g-contact-btn-icon {
        width: 46px;
        height: 46px;
        right: 5px;
        top: 5px;
    }

    .row-contact {
        padding: 0 18px;
    }

    .m-contact {
        padding-bottom: 0;
    }

    .m-contact + .row-x2 + .row-contact {
        margin-bottom: 0;
    }

    .row-contact-page {
        padding-bottom: 0;
    }

    .m-contact-map {
        height: auto;
        min-height: 0;
        margin-bottom: 60px;
        padding: 60px 0;
    }

    .m-contact-map .g-tit01 {
        margin-bottom: 18px;
    }

    .m-contact-map .g-tit01 h1.g-dark-title,
    .m-contact-map .g-tit01 h2.g-dark-title {
        font-size: 30px;
        line-height: 1.2;
    }

    .m-contact-map .g-tit01 .desc {
        font-size: 14px;
        line-height: 1.7;
    }

    .m-contact-map .map {
        overflow: hidden;
    }

    .m-contact-map .map img {
        width: 100%;
        min-width: 0;
        max-width: 100%;
        height: auto;
    }

    .g-btn-contact.g-btn-contact-sumaart,
    .g-btn-contact.g-btn-contact-sumaart.is-expanded,
    .g-btn-contact.g-btn-contact-sumaart.is-collapsed {
        width: 100%;
        max-width: 360px;
        height: 96px;
        padding: 0 24px;
        font-size: 30px;
        gap: 18px;
        border-width: 4px;
    }

    .service-cta.site-cta .g-btn-contact-sumaart,
    .service-cta.site-cta .g-btn-contact-sumaart.is-expanded,
    .service-cta.site-cta .g-btn-contact-sumaart.is-collapsed {
        height: 72px;
    }

    .service-cta.site-cta .g-btn-contact-sumaart {
        width: calc(100% - 36px);
        max-width: none;
        margin-left: auto;
        margin-right: auto;
        color: #fff;
        background: #000;
        background-color: #000;
        border-color: #000;
    }

    .service-cta.site-cta .g-btn-contact-sumaart:hover {
        color: #fff;
        background: #000;
        background-color: #000;
        border-color: #000;
    }

    .service-cta.site-cta .g-btn-contact-sumaart .g-btn-contact-text span,
    .service-cta.site-cta .g-btn-contact-sumaart:hover .g-btn-contact-text span,
    .service-cta.site-cta .g-btn-contact-sumaart .stroke,
    .service-cta.site-cta .g-btn-contact-sumaart:hover .stroke {
        color: inherit;
        -webkit-text-fill-color: currentColor;
        text-stroke: 0 currentColor;
        -webkit-text-stroke: 0 currentColor;
        text-stroke-color: currentColor;
        -webkit-text-stroke-color: currentColor;
        text-stroke-width: 0;
        -webkit-text-stroke-width: 0;
        font-weight: inherit;
        paint-order: normal;
        text-shadow: none;
    }

    .service-cta.site-cta .g-btn-contact-sumaart .g-btn-contact-arrow,
    .service-cta.site-cta .g-btn-contact-sumaart:hover .g-btn-contact-arrow {
        transform: none;
        -webkit-transform: none;
    }

    .service-cta.site-cta .service-cta-inner h2,
    .service-cta.site-cta .service-cta-inner p {
        width: 100%;
        box-sizing: border-box;
        padding-left: 20px;
        padding-right: 20px;
    }

    .service-cta.site-cta .g-btn-contact-sumaart .g-btn-contact-text {
        min-width: 0;
        font-size: 20px;
        line-height: 1.05;
        white-space: nowrap;
    }

    .service-cta.site-cta .g-btn-contact-sumaart .g-btn-contact-arrow {
        width: 28px;
        height: 28px;
        margin-left: 12px;
    }

    .fd-top {
        padding-top: 70px;
    }

    .fd-logo {
        margin-bottom: 44px;
    }

    .fd-t {
        margin-bottom: 38px;
    }

    .fd-nav {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 30px 13.5px;
    }

    .fd-t .left > .fd-nav {
        grid-template-columns: minmax(70px, clamp(120px, 37.5vw, 164px)) minmax(0, 1fr);
    }

    .fd-t .right > .fd-nav {
        display: grid;
        grid-template-columns: minmax(0, 1fr);
        gap: 0;
    }

    .fd-t .right > .fd-nav > li {
        width: 100%;
    }

    .fd-t .right .fd-nav .sub dd {
        width: 100%;
        max-width: none;
    }

    .fd-nav .v1 {
        margin-bottom: 14px;
        font-size: 15px;
    }

    .fd-nav .sub dd {
        font-size: 13px;
        line-height: 1.75;
    }

    .fd-nav .sub.nowrap dd {
        white-space: normal;
        overflow-wrap: anywhere;
    }

    .fd-big-word {
        width: 100%;
        display: flex;
        align-items: center;
        justify-content: flex-start;
        --fd-big-word-gap: clamp(16px, 3vw, 20px);
        gap: var(--fd-big-word-gap);
        overflow: visible;
    }

    .fd-copy {
        display: flex;
        flex-direction: row;
        flex-wrap: wrap;
        justify-content: flex-start;
        gap: 8px 16px;
        padding-bottom: 42px;
        line-height: 1.7;
    }

    .fd-copy > span {
        flex: 0 0 100%;
    }

    .fd-copy > a,
    .fd-copy > button,
    .fd-copy > span + * {
        flex: 0 0 auto;
        margin-left: 0;
        white-space: nowrap;
    }

    .fd-big-word .g-top {
        position: relative;
        flex: 0 0 auto;
        top: auto;
        right: auto;
        bottom: auto;
        margin: 0 0 0 auto;
        --g-top-size: 72px;
        --g-top-radius: 29px;
        --g-top-font-size: 8px;
        transform: none;
        -webkit-transform: none;
    }

    .fd-big-word .g-top .g-top-arrow {
        width: 32px;
        height: 32px;
    }

    .fd-big-word-text {
        display: block;
        flex: 0 1 auto;
        min-width: 0;
        max-width: none;
        font-size: clamp(32px, 10.1vw, 78px);
        line-height: .96;
        letter-spacing: -.07em;
        white-space: nowrap;
        overflow-wrap: normal;
        word-break: normal;
        transform: none;
        -webkit-transform: none;
    }
}

@media screen and (max-width: 390px) {
    .wp1,
    .wp2,
    .wp3,
    .footer > .wp3 {
        padding-left: 16px;
        padding-right: 16px;
    }

    .g-tit01 .g-home-title {
        font-size: 30px;
    }

    .g-tit01 .g-code-title-stack .g-code-cn {
        font-size: 46px;
    }

    .g-tit01 .g-code-title-stack .g-code-en {
        font-size: 30px;
    }

    .jvds-hero-proof {
        display: none;
    }

    .jvds-hero-actions {
        gap: 10px;
    }

    .jvds-hero-icon-btn,
    .jvds-hero-quote {
        height: 54px;
    }

    .jvds-hero-icon-btn {
        width: 54px;
    }

    .row-a1 .products-list .jvds-work-meta {
        display: flex;
    }

    .row-a1 .products-list .tit,
    .row-a1 .products-list .desc {
        max-width: none;
        text-align: left;
    }

    .row-a1 .products-list .desc {
        margin-top: 0;
    }

    .service-hero-stats {
        display: grid;
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .service-stat {
        width: auto;
        padding-left: 6px;
        padding-right: 6px;
    }

    .ul-about03 {
        grid-template-columns: 1fr;
    }

    .ul-iconb2 {
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 22px 10px;
    }

    .m-par .ul-iconb2 > .ul-iconb2 + .ul-iconb2 {
        margin-top: 26px;
    }

    .g-btn-contact.g-btn-contact-sumaart,
    .g-btn-contact.g-btn-contact-sumaart.is-expanded,
    .g-btn-contact.g-btn-contact-sumaart.is-collapsed {
        max-width: none;
        height: 86px;
        padding: 0 20px;
        font-size: 24px;
    }

    .service-cta.site-cta .g-btn-contact.g-btn-contact-sumaart,
    .service-cta.site-cta .g-btn-contact.g-btn-contact-sumaart.is-expanded,
    .service-cta.site-cta .g-btn-contact.g-btn-contact-sumaart.is-collapsed {
        height: 72px;
    }

    .g-btn-contact-sumaart .g-btn-contact-arrow {
        width: 34px;
        height: 34px;
    }

    .service-cta.site-cta .g-btn-contact-sumaart .g-btn-contact-arrow,
    .service-cta.site-cta .g-btn-contact-sumaart:hover .g-btn-contact-arrow {
        width: 23px;
        height: 23px;
    }

	.fd-nav {
	    grid-template-columns: 1fr;
	}

	.fd-t .left > .fd-nav {
	    grid-template-columns: minmax(70px, .5fr) minmax(0, 1.5fr);
	    gap: 34px clamp(4.5px, 1.6875vw, 8.25px);
	}

	.fd-t .left > .fd-nav > li:nth-child(4) .sub.nowrap dd {
	    font-size: clamp(11px, 3.6vw, 13px);
	    line-height: 1.9;
	    white-space: nowrap;
	    overflow-wrap: normal;
	}

}

@media screen and (min-width: 801px) and (max-width: 1280px) {
    .jvds-testimonial-hanger__head {
        min-height: 48px;
    }

    .jvds-testimonial-hanger__head h2 {
        font-size: 44px;
        letter-spacing: -1.4px;
    }

    .home-client-needs {
        padding: 90px 0 100px;
    }

    .home-client-needs-head {
        margin-bottom: 42px;
        gap: 36px;
    }

    .home-client-needs-title {
        max-width: 58%;
        font-size: 42px;
    }

    .home-client-needs-head p {
        width: 38%;
        font-size: 16px;
    }

    .home-client-needs-track {
        gap: 18px;
    }

    .home-client-needs-card {
        flex-basis: 44vw;
        width: 44vw;
        min-height: 420px;
        padding: 28px;
    }

    .home-client-needs-card-head {
        min-height: 242px;
    }

    .home-client-needs-card h3,
    html[data-jvds-lang="en"] .home-client-needs-card h3 {
        font-size: 29px;
    }

    .home-choice {
        padding: 90px 0 105px;
    }

    .home-section-title {
        font-size: 38px;
    }

    .home-choice-grid {
        gap: 18px;
    }

    .home-choice-card {
        min-height: 176px;
        padding: 34px 20px;
    }

    .home-choice-card strong {
        font-size: 112px;
    }

    .home-choice-card h3 {
        font-size: 20px;
    }

    .home-ai {
        padding: 0;
    }

    .home-ai > .wp3 {
        padding-top: 56px;
        padding-bottom: 56px;
    }

    .home-ai-stats {
        gap: 12px;
    }

    .home-ai-mosaic-pair {
        gap: 12px;
    }

    .home-ai-mosaic-card {
        height: 300px;
    }

    .home-section-title-left {
        font-size: 36px;
    }

    .home-ai-stat {
        padding: 24px 20px;
    }

    .home-ai-stat-label {
        font-size: 18px;
        line-height: 1.45;
    }

    .home-ai-stat strong {
        font-size: 58px;
    }

    .m-serve .inner {
        height: auto;
        min-height: 740px;
        padding: 46px 46px 78px;
    }

    .m-serve .txt {
        max-width: 56%;
    }

    .home-service-toggle {
        grid-template-columns: 44px minmax(0,1fr) 34px;
        gap: 16px;
    }

    .home-service-toggle .icon,
    .m-serve .item .icon img {
        width: 42px;
        height: 42px;
    }

    .home-service-copy strong {
        font-size: 18px;
    }

    .m-serve .home-service-item {
        --home-service-text-inset: 60px;
    }

    .home-service-more.g-contact-btn {
        margin: 0;
        right: 60px;
        top: 46px;
        bottom: auto;
    }

    .home-partners .home-section-head {
        margin-top: 50px;
    }

    .home-partner-grid {
        grid-template-columns: repeat(5,minmax(0,1fr));
        gap: 20px;
    }

    .home-partner-logo {
        height: clamp(132px,14.13vw,180.83px);
        aspect-ratio: auto;
        border-radius: 24px;
    }

    .home-partner-logo img {
        width: 100%;
        height: 100%;
        max-width: none;
        max-height: none;
        object-fit: contain;
    }

    .home-site-cta-wrap .service-cta.site-cta {
        padding-top: 220px;
    }
}

@media screen and (max-width: 800px) {
    .jvds-testimonial-hanger__head {
        min-height: 38px;
        margin-bottom: 24px;
        row-gap: 4px;
    }

    .jvds-testimonial-hanger__intro {
        font-size: 16px;
    }

    .jvds-testimonial-hanger__head h2 {
        font-size: 34px;
        letter-spacing: -1px;
    }

    .home-client-needs {
        padding: 72px 0;
    }

    .home-client-needs-head {
        margin-bottom: 32px;
        display: block;
    }

    .home-client-needs-title {
        max-width: none;
        font-size: 33px;
        line-height: 1.08;
        letter-spacing: -1px;
    }

    .home-client-needs-head p {
        width: auto;
        max-width: 420px;
        margin-top: 18px;
        font-size: 16px;
        line-height: 1.6;
    }

    .home-client-needs-viewport {
        scroll-padding-left: 0;
    }

    .home-client-needs-track {
        gap: 12px;
    }

    .home-client-needs-card {
        flex-basis: 82vw;
        width: 82vw;
        min-height: 390px;
        max-width: 360px;
        padding: 24px;
        border-radius: 16px;
    }

    .home-client-needs-card-head {
        min-height: 220px;
        gap: 16px;
    }

    .home-client-needs-card h3,
    html[data-jvds-lang="en"] .home-client-needs-card h3 {
        font-size: 28px;
        line-height: 1.1;
    }

    .home-client-needs-dot {
        width: 20px;
        height: 20px;
        flex-basis: 20px;
    }

    .home-client-needs-tags {
        gap: 8px;
    }

    .home-client-needs-tags span {
        padding: 10px 13px;
        font-size: 13px;
        line-height: 19px;
    }

    .home-section-head {
        margin-bottom: 38px;
    }

    .home-section-title {
        font-size: 38px;
        line-height: 1.08;
    }

    .home-section-head p {
        max-width: 300px;
        font-size: 16px;
        line-height: 22px;
    }

    .home-choice {
        padding: 72px 18px 78px;
    }

    .home-choice-grid {
        grid-template-columns: 1fr;
        gap: 14px;
    }

    .home-choice-card {
        min-height: 138px;
        padding: 28px 22px;
        transform: none !important;
        -webkit-transform: none !important;
    }

    .home-choice-card strong {
        right: 18px;
        bottom: -4px;
        font-size: 96px;
    }

    .home-choice-card h3 {
        font-size: 20px;
    }

    .home-choice-card p {
        font-size: 13px;
    }

    .home-ai {
        padding: 0;
    }

    .home-ai > .wp3 {
        padding-top: 24px;
        padding-bottom: 24px;
    }

    .home-ai-head {
        margin-bottom: 34px;
    }

    .home-section-title-left {
        max-width: none;
        text-align: left;
        font-size: 38px;
        line-height: 1.08;
        white-space: normal;
    }

    .home-ai-head p {
        margin-top: 16px;
        font-size: 16px;
        line-height: 24px;
        white-space: normal;
    }

    .home-ai-stats {
        display: flex;
        flex-direction: column;
        gap: 16px;
        border-bottom: 0;
    }

    .home-ai-mosaic-pair {
        width: 100%;
        display: grid;
        grid-template-columns: minmax(0,1fr);
        align-items: stretch;
        gap: 16px;
    }

    .home-ai-mosaic-pair.is-stat-first {
        grid-template-columns: minmax(0,1fr);
    }

    .home-ai-mosaic-card {
        width: 100%;
        height: 300px;
        min-width: 0;
        flex: none;
    }

    .home-ai-mosaic-media {
        order: 0;
    }

    .home-ai-stat {
        order: 1;
        padding: 20px 16px;
    }

    .home-stat-icon {
        margin-bottom: 22px;
        transform: scale(.82);
        -webkit-transform: scale(.82);
        transform-origin: left top;
        -webkit-transform-origin: left top;
    }

    .home-ai-stat strong {
        font-size: clamp(44px,14vw,64px);
        line-height: 1.08;
        letter-spacing: -1.5px;
    }

    .home-ai-stat-label {
        max-width: none;
        margin: 0;
        font-size: clamp(16px,5vw,20px);
        line-height: 1.4;
    }

    .m-serve .txt > .g-dark-title {
        margin-bottom: 10px;
        order: 1;
    }

    .home-service-intro {
        margin-bottom: 12px;
        font-size: 16px;
        line-height: 24px;
        order: 2;
    }

    .m-serve .home-service-list {
        order: 4;
    }

    .m-serve .home-service-item {
        --home-service-text-inset: 52px;
        --home-service-text-end: 0px;
        padding: 0;
    }

    .home-service-toggle {
        grid-template-columns: 38px minmax(0,1fr) 32px;
        gap: 14px;
        padding: 18px 0;
    }

    .home-service-toggle .icon,
    .home-service-toggle .icon img {
        width: 38px;
        height: 38px;
    }

    .home-service-copy strong {
        font-size: 17px;
    }

    .home-service-copy em {
        margin-top: 6px;
        font-size: 12px;
        line-height: 18px;
    }

    .home-service-plus {
        width: 30px;
        height: 30px;
    }

    .home-service-answer p {
        margin: 0 var(--home-service-text-end) 18px var(--home-service-text-inset);
        font-size: 13px;
        line-height: 22px;
    }

    .row-a1 .home-works-more.g-contact-btn {
        width: 220px;
        height: 48px;
        padding: 0 58px;
    }

    .row-a1 .home-works-more .g-contact-btn-fill,
    .row-a1 .home-works-more .g-contact-btn-icon {
        width: 38px;
        height: 38px;
        right: 5px;
        top: 5px;
    }

    .home-service-more.g-contact-btn {
        width: 220px;
        height: 48px;
        padding: 0 58px;
        margin: 0;
        left: 50%;
        right: auto;
        top: auto;
        bottom: 26px;
        transform: translateX(-50%);
        -webkit-transform: translateX(-50%);
    }

    .home-service-more.g-contact-btn:active {
        transform: translateX(-50%) scale(.98);
        -webkit-transform: translateX(-50%) scale(.98);
    }

    .home-service-more.g-contact-btn .g-contact-btn-fill,
    .home-service-more.g-contact-btn .g-contact-btn-icon {
        width: 38px;
        height: 38px;
        right: 5px;
        top: 5px;
    }

    .home-partners {
        padding: 0 18px 88px;
    }

    .home-partners > .wp3 {
        padding-top: 36px;
        margin-bottom: 24px;
    }

    .home-partners .home-section-head {
        margin-top: 36px;
    }

    .home-partner-grid {
        grid-template-columns: repeat(2,minmax(0,1fr));
        gap: 20px;
        margin-top: 38px;
    }

    .home-partner-logo {
        height: clamp(112px,32vw,148px);
        aspect-ratio: auto;
        border-radius: 24px;
    }

    .home-partner-logo:nth-child(4n+1),
    .home-partner-logo:nth-child(4n+4) {
        background-color: #fff;
    }

    .home-partner-logo:nth-child(4n+2),
    .home-partner-logo:nth-child(4n+3) {
        background-color: #f7f7f7;
    }

    .home-partner-logo:nth-child(n+11) {
        display: none;
    }

    .about-partners .home-partner-logo:nth-child(n+9) {
        display: none;
    }

    .home-partner-logo img {
        width: 100%;
        height: 100%;
        max-width: none;
        max-height: none;
        object-fit: contain;
    }

    .home-partner-more.g-contact-btn {
        width: 220px;
        height: 48px;
        padding: 0 58px;
        margin-top: 28px;
    }

    .home-partner-more.g-contact-btn .g-contact-btn-fill,
    .home-partner-more.g-contact-btn .g-contact-btn-icon {
        width: 38px;
        height: 38px;
        right: 5px;
        top: 5px;
    }

    .home-faq {
        padding: 82px 18px 110px;
    }

    .row-about-faq.home-faq {
        padding-top: 36px;
        padding-bottom: 30px;
    }

    .home-faq-head {
        margin-top: 40px;
        margin-bottom: 24px;
    }

    .page-service .row-about-faq.home-faq.service-faq {
        padding-top: 0;
    }

    .page-service .service-faq .home-faq-head {
        margin-top: 0;
        margin-bottom: 40px;
    }

    .home-site-cta-wrap .service-cta.site-cta {
        padding-top: 120px;
    }
}

@media screen and (min-width:801px) and (max-width:1279px){
    .home-ai-stats{
        display:flex;
        flex-direction:column;
        gap:16px;
        border-bottom:0;
    }

    .home-ai-mosaic-pair{
        width:100%;
        display:grid;
        grid-template-columns:minmax(0,2fr) minmax(0,3fr);
        align-items:stretch;
        gap:16px;
    }

    .home-ai-mosaic-pair.is-stat-first{
        grid-template-columns:minmax(0,3fr) minmax(0,2fr);
    }

    .home-ai-mosaic-card{
        width:100%;
        height:300px;
        min-width:0;
        flex:none;
    }

    .home-ai-mosaic-media,
    .home-ai-stat{
        order:initial;
    }

    .home-ai-stat{
        padding:24px 20px;
    }
}

/* 2026-08-10: keep long English service headings and category tabs in separate rows. */
@media screen and (min-width: 801px) {
    html[data-jvds-lang="en"] .page-service .service-title-row.wp3 {
        display: grid;
        grid-template-columns: minmax(0, 1fr);
        align-items: start;
        justify-content: stretch;
        gap: 32px;
    }

    html[data-jvds-lang="en"] .page-service .service-title-copy,
    html[data-jvds-lang="en"] .page-service .service-title-heading {
        width: 100%;
        max-width: 100%;
        min-width: 0;
    }

    html[data-jvds-lang="en"] .page-service .service-title-copy {
        line-height: normal;
    }

    html[data-jvds-lang="en"] .page-service .service-title-cn,
    html[data-jvds-lang="en"] .page-service .service-title-en {
        white-space: normal;
        overflow-wrap: normal;
    }

    html[data-jvds-lang="en"] .page-service .service-tabs {
        width: 100%;
        min-width: 0;
        margin: 30px 0 0;
        padding: 0;
        justify-content: flex-start;
        flex-wrap: wrap;
        gap: 20px;
        overflow: visible;
        white-space: normal;
    }
}

/* 2026-08-10: mobile English text must wrap instead of being clipped. */
@media screen and (max-width: 800px) {
    .header .jvds-mobile-preferences .jvds-mobile-lang-pair {
        font-weight: 400;
        letter-spacing: .08em;
    }

    html[data-jvds-lang="en"] .service-cta.site-cta .g-btn-contact-sumaart .g-btn-contact-text {
        flex: 1 1 auto;
        max-width: calc(100% - 52px);
        white-space: normal;
        overflow: visible;
        text-overflow: clip;
        text-align: center;
        line-height: 1.15;
    }

    html[data-jvds-lang="en"] .service-cta.site-cta .g-btn-contact-sumaart .g-btn-contact-text span {
        white-space: normal;
        overflow-wrap: break-word;
    }

    .m-about02 .ul-listb2,
    .m-about02 .ul-listb2 li,
    .m-about02 .ul-listb2 .con,
    .m-about02 .ul-listb2 .txt,
    .m-about02 .ul-listb2 .dib {
        width: 100%;
        max-width: 100%;
        min-width: 0;
    }

    .m-about02 .ul-listb2 .con,
    .m-about02 .ul-listb2 .txt,
    .m-about02 .ul-listb2 .dib {
        overflow: visible;
    }

    .m-about02 .ul-listb2 .txt {
        padding-left: 12px;
        padding-right: 12px;
    }

    .m-about02 .ul-listb2 .txt .dib h3 {
        height: auto;
        line-height: 1.25;
        white-space: normal;
        overflow: visible;
        text-overflow: clip;
        overflow-wrap: anywhere;
    }

    .m-about02 .ul-listb2 .txt .dib .desc {
        text-align: left;
        overflow-wrap: anywhere;
        word-break: normal;
    }
}
@media screen and (max-width:1000px){
    .privacy-hero{padding:150px 0 80px}
    .privacy-hero-grid{margin-top:0}
    .privacy-layout{grid-template-columns:1fr;gap:36px}
    .privacy-nav{position:relative;top:auto;padding:20px}
    .privacy-nav ol{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px 18px}
    .privacy-nav li+li{margin-top:0}
}

@media screen and (max-width:700px){
    .fd-copy>a,
    .fd-copy>button,
    .fd-copy>span+*{
        margin-left:0;
    }

    .privacy-hero{padding:120px 0 58px}
    .privacy-hero-grid{grid-template-columns:1fr;gap:34px}
    .privacy-kicker{margin-bottom:24px}
    .privacy-title{font-size:54px}
    .privacy-lead{margin-top:26px;font-size:15px;line-height:1.7}
    .privacy-meta{align-items:flex-start;padding:0}
    .privacy-layout-section{padding:42px 0 90px}
    .privacy-nav ol{grid-template-columns:1fr 1fr}
    .privacy-card{grid-template-columns:1fr;gap:18px;padding:38px 0}
    .privacy-card h2{font-size:26px;margin-bottom:17px}
    .privacy-card p,.privacy-card li{font-size:15px;line-height:1.8}
    .privacy-card--accent,.privacy-card--contact{padding:28px 22px;border-radius:18px}
    .privacy-email{font-size:22px;overflow-wrap:anywhere}
}

:root{--jvds-section-title-desktop:60px}
@media screen and (min-width:801px){
    .g-tit01 .g-home-title,
    .g-tit01 .g-code-title-line,
    .home-section-title,
    .home-client-needs-title,
    .news-related-title,
    .jvds-testimonial-hanger__head h2,
    .m-contact-map .g-tit01 h1.g-dark-title,
    .m-contact-map .g-tit01 h2.g-dark-title,
    .service-section-head h2,
    .service-process-head h2,
    .service-cta-inner h2{
        font-size:var(--jvds-section-title-desktop);
    }

    .g-tit01 .g-home-title{
        line-height:1.05;
    }

    .home-client-needs-title{
        width:min(558px,50vw);
        max-width:558px;
        flex:0 1 558px;
    }

    .home-ai-head .home-section-title-left{
        width:min(620px,calc(100vw - 120px));
        max-width:620px;
        white-space:normal;
        overflow-wrap:normal;
        text-wrap:wrap;
    }

    .row-serve#services > .wp3{
        padding-top:60px;
    }

    .m-serve .inner{
        min-height:0;
        padding:60px 60px 80px;
    }

    .m-serve .bg{
        bottom:80px;
    }

    .m-serve h2.g-dark-title{
        font-size:40px;
        line-height:1.06;
    }

    .home-service-more.g-contact-btn{
        width:220px;
        padding-right:58px;
        padding-left:58px;
    }
}

/* Mobile global CTA: clearer headline, compact centered action */
@media screen and (max-width:800px){
    .service-cta.site-cta .service-cta-inner h2{
        font-size:40px;
    }

    .service-cta.site-cta .service-cta-inner p{
        margin-bottom:40px;
    }

    .service-cta.site-cta .g-btn-contact-sumaart,
    .service-cta.site-cta .g-btn-contact-sumaart.is-expanded,
    .service-cta.site-cta .g-btn-contact-sumaart.is-collapsed{
        justify-content:center;
        gap:12px;
    }

    .service-cta.site-cta .g-btn-contact-sumaart .g-btn-contact-arrow,
    .service-cta.site-cta .g-btn-contact-sumaart:hover .g-btn-contact-arrow{
        width:18px;
        height:18px;
        margin-left:0;
    }

    /* Keep the globe animated, but let mobile swipes scroll the page. */
    .jvds-atomic-globe,
    .jvds-atomic-globe__canvas,
    .jvds-atomic-globe__canvas canvas{
        pointer-events:none;
        touch-action:pan-y;
        cursor:default;
    }
}

/* 2026-08-30: mobile layout alignment and static touch states. */
@media screen and (max-width:800px){
    #home-second-screen .g-tit01 .g-home-title{
        padding-left:0;
    }

    #home-second-screen .g-tit01 .g-home-title::before{
        left:-10px;
    }

    .jvds-testimonial-hanger > .wp3{
        padding-right:20px;
        padding-left:20px;
    }

    .jvds-testimonial-hanger__head{
        width:100%;
    }

    .home-partners{
        padding-right:0;
        padding-left:0;
    }

    .home-partners > .wp3{
        width:100%;
        padding-right:20px;
        padding-left:20px;
    }

    .home-partner-grid{
        width:100%;
        gap:20px;
    }

    .home-partner-logo{
        width:100%;
        overflow:hidden;
    }

    .home-partner-logo img,
    .home-partner-logo:hover img{
        transform:scale(.6667);
        -webkit-transform:scale(.6667);
        filter:grayscale(1);
    }

    .page-service .service-tabs{
        gap:12px;
    }

    .page-service .service-tabs a:hover:not(.on){
        background-color:#fafafa;
        color:#999;
    }

    .page-service .service-tabs a.on,
    .page-service .service-tabs a.on:hover{
        background-color:#000;
        color:#fff;
    }

    .service-hero-action{
        height:52px;
        line-height:52px;
        transition:none;
        -webkit-transition:none;
    }

    .service-hero-action-primary .service-hero-action-arrow,
    .service-hero-action-primary .service-hero-action-text{
        height:52px;
    }

    .service-hero-action-primary .service-hero-action-arrow{
        width:52px;
    }

    .service-hero-action-primary .service-hero-action-arrow svg{
        width:24px;
        height:24px;
    }

    .service-hero-action-secondary{
        height:52px;
        line-height:50px;
    }

    .service-hero-action-primary .service-hero-action-arrow,
    .service-hero-action-primary:hover .service-hero-action-arrow{
        border-radius:999px 999px 999px 0;
    }

    .service-hero-action-primary .service-hero-action-arrow svg,
    .service-hero-action-primary:hover .service-hero-action-arrow svg{
        transform:rotate(-45deg);
        -webkit-transform:rotate(-45deg);
    }

    .service-hero-action-secondary,
    .service-hero-action-secondary:hover{
        border-color:#e0f94c;
        background:#e0f94c;
        color:#000;
    }

    .ul-listb1 .con{
        display:flex;
        flex-direction:column;
        align-items:center;
        box-sizing:border-box;
        padding-right:32px;
        padding-left:32px;
        text-align:center;
    }

    .ul-listb1 .icon{
        margin-right:auto;
        margin-left:auto;
    }

    .ul-listb1 .txt,
    .ul-listb1 .txt h3,
    .ul-listb1 .desc{
        width:100%;
        text-align:center;
    }

    .m-about01 > .desc p{
        padding:0;
    }

    body.page-news-detail .main.is-jvds-news-detail-mobile-light{
        --jvds-news-detail-bg:#fff !important;
        --jvds-news-detail-text:#121212 !important;
        --jvds-news-detail-muted:rgba(18,18,18,.62) !important;
        --jvds-news-detail-line:rgba(18,18,18,.14) !important;
        --jvds-news-detail-surface:#f7f7f7 !important;
        --jvds-news-detail-contrast:#fff !important;
        --jvds-news-detail-title-circle-opacity:1 !important;
        --jvds-news-side-title-hover:rgba(18,18,18,.7) !important;
    }

    .news-all-grid{
        width:100%;
    }

    .news-all-grid > .news-all-card,
    .news-all-grid > .news-all-card-large,
    .news-all-grid > .news-all-card:nth-child(-n+2){
        width:100%;
        max-width:none;
        grid-column:1 / -1;
    }

    .m-contact-map{
        padding-bottom:30px;
    }

    .g-contact-btn.jvds-action-btn,
    .g-contact-btn.jvds-action-btn:hover{
        background:#e0f94c !important;
        background-color:#e0f94c !important;
        color:#000 !important;
        animation:none !important;
        -webkit-animation:none !important;
        transition:none;
        -webkit-transition:none;
    }

    .g-contact-btn.jvds-action-btn::after,
    .g-contact-btn.jvds-action-btn:hover::after{
        box-shadow:inset 0 0 0 2px #e0f94c;
        transition:none;
        -webkit-transition:none;
    }

    .g-contact-btn.jvds-action-btn .g-contact-btn-fill,
    .g-contact-btn.jvds-action-btn:hover .g-contact-btn-fill{
        background:transparent;
        transform:none !important;
        -webkit-transform:none !important;
        transition:none;
        -webkit-transition:none;
    }

    .g-contact-btn.jvds-action-btn .g-contact-btn-text,
    .g-contact-btn.jvds-action-btn .g-contact-btn-icon,
    .g-contact-btn.jvds-action-btn:hover .g-contact-btn-text,
    .g-contact-btn.jvds-action-btn:hover .g-contact-btn-icon{
        color:#000 !important;
        transition:none;
        -webkit-transition:none;
    }

    .ul-list7 li a.jvds-case-nav-btn,
    .ul-list7 li a.jvds-case-nav-btn:hover{
        background:#e0f94c;
        color:#000 !important;
    }

    .ul-list7 li a.jvds-case-nav-btn .g-contact-btn-text,
    .ul-list7 li a.jvds-case-nav-btn .g-contact-btn-icon{
        color:#000 !important;
    }

    .home-works-more:active,
    .jvds-works-load-more:active,
    .jvds-case-nav-btn:active,
    .news-all-more:active,
    .jvds-contact-submit:active{
        transform:none !important;
        -webkit-transform:none !important;
    }

    .service-cta.site-cta .g-btn-contact.g-btn-contact-sumaart.jvds-pixel-button,
    .service-cta.site-cta .g-btn-contact.g-btn-contact-sumaart.jvds-pixel-button:hover,
    .service-cta.site-cta .g-btn-contact.g-btn-contact-sumaart.jvds-pixel-button.is-expanded,
    .service-cta.site-cta .g-btn-contact.g-btn-contact-sumaart.jvds-pixel-button.is-collapsed{
        background:#000 !important;
        background-color:#000 !important;
        border-color:#000 !important;
        color:#fff !important;
        box-shadow:none !important;
        transform:none !important;
        -webkit-transform:none !important;
        transition:none;
        -webkit-transition:none;
    }

    .service-cta.site-cta .jvds-pixel-button .g-btn-contact-text,
    .service-cta.site-cta .jvds-pixel-button .g-btn-contact-text span,
    .service-cta.site-cta .jvds-pixel-button .g-btn-contact-arrow,
    .service-cta.site-cta .jvds-pixel-button:hover .g-btn-contact-text,
    .service-cta.site-cta .jvds-pixel-button:hover .g-btn-contact-text span,
    .service-cta.site-cta .jvds-pixel-button:hover .g-btn-contact-arrow{
        color:#fff !important;
        -webkit-text-fill-color:currentColor;
        transform:none !important;
        -webkit-transform:none !important;
        transition:none;
        -webkit-transition:none;
    }

    .service-cta.site-cta .jvds-pixel-button-bg,
    .service-cta.site-cta .jvds-cta-trail-medias,
    .service-cta.site-cta .jvds-cta-trail-image{
        display:none !important;
    }

    .ul-iconb1 .contact-copy-card,
    .ul-iconb1 .contact-copy-card:hover,
    .ul-iconb1 .contact-copy-card:focus,
    .ul-iconb1 .contact-copy-card:focus-visible{
        border-color:#e5e5e5;
        background:#fff;
        box-shadow:none;
        transition:none;
        -webkit-transition:none;
    }
}

/* 2026-08-31: shared mobile section headings, CTA and footer spacing. */
@media screen and (max-width:800px){
    h2.home-section-title{
        font-size:36px;
    }

    h2.home-section-title::before,
    .home-choice h2.home-section-title::before{
        width:34.67px;
        height:34.67px;
    }

    .page-about .m-about01 > .pic,
    .page-about .m-about01 > .pic > img{
        height:240px;
        min-height:240px;
    }

    .page-about .row-about-faq{
        padding-top:0;
        padding-bottom:0;
    }

    .page-service.page-service-web .service-title-row.wp3{
        padding-bottom:20px;
    }

    .page-service.page-service-web .service-hero-heading{
        line-height:32px;
    }

    .page-service.page-service-web .service-process-head p{
        padding-right:24px;
        padding-left:24px;
    }

    .service-cta.site-cta .g-btn-contact.g-btn-contact-sumaart,
    .service-cta.site-cta .g-btn-contact.g-btn-contact-sumaart:hover,
    .service-cta.site-cta .g-btn-contact.g-btn-contact-sumaart.is-expanded,
    .service-cta.site-cta .g-btn-contact.g-btn-contact-sumaart.is-collapsed{
        height:auto;
        min-height:72px;
        padding-top:16px;
        padding-bottom:16px;
        gap:0;
    }

    .home-site-cta-wrap .service-cta.site-cta .g-btn-contact.g-btn-contact-sumaart,
    .home-site-cta-wrap .service-cta.site-cta .g-btn-contact.g-btn-contact-sumaart:hover,
    .home-site-cta-wrap .service-cta.site-cta .g-btn-contact.g-btn-contact-sumaart.is-expanded,
    .home-site-cta-wrap .service-cta.site-cta .g-btn-contact.g-btn-contact-sumaart.is-collapsed{
        padding-top:20px;
        padding-bottom:20px;
    }

    .service-cta.site-cta .g-btn-contact-sumaart .g-btn-contact-text,
    html[data-jvds-lang="en"] .service-cta.site-cta .g-btn-contact-sumaart .g-btn-contact-text{
        width:100%;
        max-width:100%;
        flex:1 1 100%;
        justify-content:center;
        text-align:center;
    }

    .service-cta.site-cta .g-btn-contact-sumaart .g-btn-contact-arrow,
    .service-cta.site-cta .g-btn-contact-sumaart:hover .g-btn-contact-arrow{
        display:none;
    }

    .footer .fd-t .left > .fd-nav{
        grid-template-columns:max-content minmax(0,1fr);
        column-gap:40px;
    }

    html[data-jvds-lang="en"] .footer .fd-t .left > .fd-nav > li:nth-child(4) .sub.nowrap dd{
        white-space:normal;
        overflow-wrap:anywhere;
        word-break:normal;
    }

    .privacy-nav,
    .ul-iconb1 .con,
    .m-infob2 .inp-box,
    .m-infob2 .inp,
    .m-infob2 .label,
    .products-list .pic,
    .service-hero-card,
    .service-process-pic,
    .m-about01 > .pic,
    .ul-listb2 .pic,
    .news-all-card .pic,
    .slick-service .pic,
    .products-list .pic > img,
    .service-process-pic > img,
    .m-about01 > .pic > img,
    .news-all-card .pic > img,
    .slick-service .pic > img,
    .row-a1 .products-list .jvds-work-card .pic,
    .row-a1 .products-list .jvds-work-card .pic > img,
    .row-news-page .news-featured-slide.jvds-pixel-reveal-frame,
    .row-news-page .news-featured-marquee-clone.jvds-pixel-reveal-frame,
    .m-serve .inner,
    .home-ai-mosaic-card,
    .jvds-testimonial-hanger__card,
    .home-partner-logo,
    .news-related-card .pic,
    .news-related-card .pic img,
    .ul-listb2 .con,
    .m-about03,
    .about-faq-item,
    .about-faq-surface,
    .about-faq-question,
    .service-hero-media,
    .m-contact-map,
    .m-contact-map .atomic-globe-map,
    .jvds-atomic-globe{
        border-radius:8px;
    }

    .news-featured-slide img,
    .news-featured-marquee-clone img{
        border-radius:8px 8px 0 0;
    }

    .news-featured-card{
        border-radius:0 0 8px 8px;
    }

    .service-stat{
        border-radius:8px 8px 8px 0;
    }

    .service-card.service-card:first-child{
        border-radius:8px 8px 0 0;
    }

    .service-card.service-card:last-child{
        border-radius:0 0 8px 8px;
    }

    .service-card.service-card:first-child:last-child{
        border-radius:8px;
    }
}

@media screen and (max-width:386px){
    html[data-jvds-lang="en"] .home-faq-head h2.home-section-title::before{
        left:calc(50% - 84px);
    }
}

/* Touch devices keep a stable visual state; taps remain available for navigation. */
@media (hover:none), (pointer:coarse){
    a,
    button{
        -webkit-tap-highlight-color:transparent;
    }

    a:hover{
        color:inherit;
    }

    .header .nav .v1:hover{
        color:#000 !important;
        opacity:1;
    }

    .header .nav .v1:hover::before{
        opacity:0;
    }

    .header .nav .service-subnav dd:not(.ok) a:hover{
        background:transparent;
        color:#666;
    }

    .products-list .con:hover .pic img,
    .products-list-1 .con:hover .pic img,
    .jvds-works-page .products-list-1 .con:hover .pic img,
    .row-a1 .products-list .con:hover .pic img,
    .slick-service .con:hover .pic img,
    .news-all-card:hover .pic img,
    .news-side-list a:hover .pic img,
    .news-related-card:hover .pic img,
    .row-work-more .products-list-1 .con:hover .pic img,
    .service-process-pic:hover img{
        opacity:1;
        transform:none;
        -webkit-transform:none;
    }

    .products-list .con .tit:hover,
    .row-a1 .products-list .con:hover .tit{
        opacity:1;
    }

    .home-client-needs-card:hover{
        background:#f4f5f7;
    }

    .home-client-needs-card:hover .home-client-needs-dot{
        transform:none;
        -webkit-transform:none;
    }

    .home-client-needs-card:hover .home-client-needs-tags span{
        background:#fff;
        color:#111;
    }

    .home-choice-card-blue:hover{background:#edfaff}
    .home-choice-card-green:hover{background:#fbfce9}
    .home-choice-card-cyan:hover{background:#eefbff}
    .home-choice-card-pink:hover{background:#fff0ef}

    .home-service-toggle:hover .home-service-plus{
        border-color:rgba(255,255,255,.22);
        background:transparent;
    }

    .home-service-toggle:hover .home-service-plus::before,
    .home-service-toggle:hover .home-service-plus::after{
        background:#fff;
    }

    .home-service-item.is-open .home-service-plus{
        border-color:#e0f94c;
        background:#e0f94c;
    }

    .home-service-item.is-open .home-service-plus::before,
    .home-service-item.is-open .home-service-plus::after{
        background:#000;
    }

    .home-partner-logo:hover img{
        filter:grayscale(1);
    }

    .jvds-testimonial-hanger__controls button:hover{
        background:transparent;
        color:#8e8e86;
    }

    .service-card:hover{
        border-color:#e8e8e8;
        background:#fff;
    }

    .service-card:hover p{
        color:#666;
    }

    .article-share-button:hover{
        transform:none;
        -webkit-transform:none;
    }

    .fd-logo:hover a img:first-child{
        opacity:1;
    }

    .fd-logo:hover a .img2{
        opacity:0;
    }

    .fd-logo:hover .tit,
    .fd-nav a.v1:hover,
    .fd-nav .sub dd a:hover{
        color:#fff;
    }

    .fd-variable-letter:hover{
        --jvds-letter-color:#fff !important;
        --jvds-letter-scale-y:1 !important;
    }

    .fd-big-word:hover .fd-big-word-text{
        color:#fff;
    }

    .fd-copy-btn:hover{
        border-color:rgba(255,255,255,.18);
        color:rgba(255,255,255,.72);
    }

    .fd-copy a:hover,
    .fd-copy-cookie:hover{
        color:rgba(255,255,255,.34);
    }

    .g-top:hover .g-top-ring{
        transform:none;
        -webkit-transform:none;
    }

    .g-top:hover .g-top-orbit > span,
    .g-top:hover .g-top-arrow{
        color:#fff;
    }
}

/* SEO 20260909: preserve article card layout with native links. */
.page-index .home-news-image-link{display:block;width:100%;height:100%;color:inherit}
.page-index .row-news .tit a,.page-index .row-news .more a{display:block;color:inherit;font:inherit;line-height:inherit}
.page-index .home-service-detail-link{display:inline-block;justify-self:start;margin:12px var(--home-service-text-end) 20px var(--home-service-text-inset);color:#fff;text-decoration:underline;text-underline-offset:4px}
.page-index .home-service-detail-link:hover{color:#e0f94c}
.page-index .home-service-detail-link:focus-visible,.page-index .row-news a:focus-visible{outline:2px solid currentColor;outline-offset:4px}
