/*
 * FINF home mobile layout.
 * Every rule is restricted to <= 860px; desktop rendering is untouched.
 */
@media (max-width: 860px) {
    html.page-home {
        scroll-snap-type: none !important;
        scroll-padding-top: 0 !important;
    }

    html body.page-home {
        --mobile-gutter: 20px;
        --mobile-section-space: clamp(68px, 18vw, 92px);
        overflow-x: hidden !important;
    }

    html body.page-home .home-panel {
        width: 100% !important;
        height: auto !important;
        min-height: 0 !important;
        max-height: none !important;
        scroll-snap-align: none !important;
        scroll-snap-stop: normal !important;
        overflow: hidden !important;
    }

    html body.page-home .home-panel:not(.panel-intro) > .home-panel__inner,
    html body.page-home #section-2 > .home-panel__inner,
    html body.page-home #section-core-services > .home-panel__inner,
    html body.page-home #section-4 > .home-panel__inner,
    html body.page-home #section-3 > .home-panel__inner,
    html body.page-home #section-5 > .home-panel__inner,
    html body.page-home #section-6 > .home-panel__inner,
    html body.page-home #section-7 > .home-panel__inner,
    html body.page-home #section-8 > .home-panel__inner {
        width: 100% !important;
        min-width: 0 !important;
        max-width: none !important;
        min-height: 0 !important;
        margin: 0 !important;
        padding: var(--mobile-section-space) var(--mobile-gutter) !important;
        box-sizing: border-box !important;
        overflow: visible !important;
    }

    /* Mobile header remains usable without changing desktop navigation. */
    html body.page-home .site-header,
    html body.page-home.home-after-hero .site-header {
        min-height: 60px !important;
        background: rgba(255, 255, 255, 0.96) !important;
        border-bottom: 1px solid #e6eaf0 !important;
        backdrop-filter: blur(12px) saturate(120%);
        -webkit-backdrop-filter: blur(12px) saturate(120%);
    }

    html body.page-home .site-header__inner,
    html body.page-home.home-after-hero .site-header__inner {
        min-height: 60px !important;
        padding: 4px 12px !important;
    }

    html body.page-home .site-logo__image,
    html body.page-home.home-after-hero .site-logo__image {
        width: 46px !important;
        height: 46px !important;
    }

    html body.page-home .site-nav,
    html body.page-home.home-after-hero .site-nav {
        gap: 0 !important;
    }

    html body.page-home .site-nav > a,
    html body.page-home .site-nav__link,
    html body.page-home.home-after-hero .site-nav > a,
    html body.page-home.home-after-hero .site-nav__link {
        font-size: 14px !important;
        line-height: 1.2 !important;
    }

    /* Reference-like mobile hero: centered copy and actions over the film. */
    html body.page-home #section-1 {
        position: relative !important;
        width: 100% !important;
        min-height: max(680px, 100svh) !important;
        padding: 0 !important;
        background: #eef3f9 !important;
    }

    html body.page-home #section-1 .panel-intro__video-stage {
        position: absolute !important;
        inset: 0 !important;
        width: 100% !important;
        height: 100% !important;
    }

    html body.page-home #section-1 .panel-intro__video {
        width: 100% !important;
        height: 100% !important;
        object-fit: cover !important;
        object-position: 40% center !important;
    }

    html body.page-home #section-1 .panel-intro__video[data-video-index="1"] {
        object-position: 38% center !important;
    }

    html body.page-home #section-1 > .home-panel__inner {
        position: relative !important;
        z-index: 2 !important;
        width: 100% !important;
        min-height: max(680px, 100svh) !important;
        margin: 0 !important;
        padding: clamp(132px, 18svh, 158px) var(--mobile-gutter) 52px !important;
        display: flex !important;
        align-items: flex-start !important;
        justify-content: center !important;
        box-sizing: border-box !important;
    }

    html body.page-home #section-1 .hero-text-block {
        width: min(100%, 390px) !important;
        max-width: 390px !important;
        margin: 0 auto !important;
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        text-align: center !important;
        color: #202733 !important;
        transform: none !important;
    }

    html body.page-home #section-1 .hero-brand {
        width: 100% !important;
        margin: 0 0 20px !important;
        display: flex !important;
        flex-direction: column !important;
        flex-wrap: nowrap !important;
        align-items: center !important;
        justify-content: center !important;
        gap: 2px !important;
        text-align: center !important;
    }

    html body.page-home #section-1 .hero-brand__main,
    html body.page-home #section-1 .hero-brand__sub {
        width: 100% !important;
        margin: 0 !important;
        color: #202733 !important;
        -webkit-text-fill-color: #202733 !important;
        line-height: 1.08 !important;
        font-weight: 900 !important;
        letter-spacing: -0.03em !important;
        text-align: center !important;
        white-space: normal !important;
        text-shadow: 0 1px 3px rgba(255, 255, 255, 0.82) !important;
        transform: none !important;
    }

    html body.page-home #section-1 .hero-brand__main {
        font-size: clamp(42px, 12vw, 54px) !important;
    }

    html body.page-home #section-1 .hero-brand__sub {
        font-size: clamp(31px, 8.8vw, 39px) !important;
    }

    html body.page-home #section-1 .hero-copy,
    html body.page-home #section-1 .hero-copy--tagline,
    html body.page-home #section-1 .hero-copy--lead,
    html body.page-home #section-1 .hero-copy--single-line {
        width: min(100%, 350px) !important;
        max-width: 350px !important;
        margin-left: auto !important;
        margin-right: auto !important;
        color: #303843 !important;
        -webkit-text-fill-color: #303843 !important;
        font-size: clamp(14px, 3.8vw, 16px) !important;
        line-height: 1.55 !important;
        font-weight: 600 !important;
        letter-spacing: -0.015em !important;
        text-align: center !important;
        white-space: normal !important;
        word-break: keep-all !important;
        text-shadow: 0 1px 3px rgba(255, 255, 255, 0.9) !important;
        transform: none !important;
    }

    html body.page-home #section-1 .hero-copy--tagline {
        margin-top: 0 !important;
        margin-bottom: 8px !important;
    }

    html body.page-home #section-1 .hero-copy--tagline span {
        display: inline !important;
    }

    html body.page-home.lang-ko #section-1 .hero-copy--tagline > span,
    html body.page-home.lang-ko #section-1 .hero-copy--lead > span {
        display: block !important;
        white-space: nowrap !important;
        word-break: keep-all !important;
        overflow-wrap: normal !important;
    }

    html body.page-home #section-1 .hero-copy--lead {
        margin-top: 0 !important;
        margin-bottom: 20px !important;
        font-size: clamp(13px, 3.5vw, 15px) !important;
    }

    html body.page-home #section-1 .hero-actions {
        width: 100% !important;
        margin: 0 !important;
        display: flex !important;
        flex-wrap: nowrap !important;
        justify-content: center !important;
        gap: 8px !important;
        transform: none !important;
    }

    html body.page-home #section-1 .hero-action {
        min-width: 112px !important;
        min-height: 44px !important;
        height: 44px !important;
        padding: 0 18px !important;
        border-radius: 8px !important;
        font-size: 14px !important;
        line-height: 1 !important;
        font-weight: 900 !important;
    }

    /* Shared mobile typography and spacing. */
    html body.page-home .company-overview__headline,
    html body.page-home .core-services__title,
    html body.page-home .ceo-message__title,
    html body.page-home .vision-copy__title,
    html body.page-home .vision-copy__title span,
    html body.page-home .vision-copy__title em,
    html body.page-home .vision-copy__line-break,
    html body.page-home .panel-business-services .business-services__title,
    html body.page-home .panel-business-safety .business-safety__title,
    html body.page-home .panel-products-showcase .products-showcase__title,
    html body.page-home .panel-contact-quote .quote-contact__title {
        font-size: clamp(28px, 8vw, 36px) !important;
        line-height: 1.22 !important;
        letter-spacing: -0.025em !important;
        word-break: keep-all !important;
    }

    html body.page-home :is(
        .company-overview__text,
        .ceo-message__body p,
        .vision-copy__body p,
        .vision-quote p,
        .business-service-card p,
        .business-safety__text,
        .products-showcase__lead,
        .product-card li,
        .product-card p
    ) {
        font-size: 15px !important;
        line-height: 1.7 !important;
        word-break: keep-all !important;
    }

    html body.page-home .company-overview,
    html body.page-home .core-services,
    html body.page-home .ceo-message,
    html body.page-home .vision-layout,
    html body.page-home .business-services,
    html body.page-home .business-safety,
    html body.page-home .products-showcase,
    html body.page-home .quote-contact {
        width: 100% !important;
        min-width: 0 !important;
        max-width: none !important;
        margin: 0 !important;
    }

    /* Company overview */
    html body.page-home #section-2 .company-overview {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) !important;
        justify-items: center !important;
        gap: 0 !important;
        text-align: center !important;
    }

    html body.page-home #section-2 .company-overview__globe,
    html body.page-home #section-2 .company-overview__earth {
        width: min(54vw, 220px) !important;
        height: min(54vw, 220px) !important;
    }

    html body.page-home #section-2 .company-overview__globe {
        margin: 0 auto 30px !important;
    }

    html body.page-home #section-2 .company-overview__title {
        margin: 0 0 16px !important;
        font-size: 14px !important;
    }

    html body.page-home #section-2 .company-overview__headline {
        margin: 0 0 24px !important;
        text-align: center !important;
    }

    html body.page-home #section-2 .company-overview__text {
        margin: 0 !important;
        text-align: center !important;
    }

    html body.page-home #section-2 .company-overview__text + .company-overview__text {
        margin-top: 18px !important;
    }

    /* Core, business, and product cards */
    html body.page-home .core-services__cards,
    html body.page-home .business-services__cards,
    html body.page-home .products-showcase__frame {
        width: 100% !important;
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) !important;
        gap: 14px !important;
        margin-top: 30px !important;
    }

    html body.page-home .core-services__title,
    html body.page-home .business-services__header,
    html body.page-home .products-showcase__header {
        margin-bottom: 0 !important;
    }

    html body.page-home .core-service-card {
        min-height: 0 !important;
        padding: 28px 22px !important;
        border-radius: 18px !important;
    }

    html body.page-home .core-service-card__icon {
        width: 62px !important;
        height: 62px !important;
        margin-bottom: 20px !important;
    }

    html body.page-home .core-service-card h3 {
        margin-bottom: 12px !important;
        font-size: 21px !important;
    }

    html body.page-home .business-service-card {
        min-height: 0 !important;
        padding: 28px 22px 24px !important;
        border-radius: 18px !important;
    }

    html body.page-home .business-service-card h3 {
        margin-bottom: 14px !important;
        font-size: 24px !important;
    }

    html body.page-home .business-service-card__footer {
        margin-top: 24px !important;
        grid-template-columns: minmax(0, 1fr) auto !important;
        gap: 10px !important;
    }

    html body.page-home .product-card.product-card--summary {
        min-height: 0 !important;
        padding: 26px 22px !important;
        border-radius: 18px !important;
    }

    html body.page-home .product-card h3 {
        font-size: 24px !important;
    }

    /* CEO and vision become clear single-column reading flows. */
    html body.page-home .ceo-message,
    html body.page-home .vision-layout {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) !important;
        gap: 34px !important;
    }

    html body.page-home .ceo-message__title,
    html body.page-home .vision-copy__title {
        margin-bottom: 30px !important;
    }

    html body.page-home .ceo-message__body,
    html body.page-home .vision-copy__body {
        gap: 18px !important;
    }

    html body.page-home .ceo-value-card,
    html body.page-home .vision-challenges:not(.vision-challenges--text) {
        width: 100% !important;
        min-height: 0 !important;
        margin: 0 !important;
        padding: 26px 20px !important;
        border-radius: 18px !important;
        justify-self: stretch !important;
    }

    html body.page-home .ceo-value-card__item,
    html body.page-home .vision-challenge-card {
        min-height: 58px !important;
        padding: 14px 16px !important;
    }

    /* Safety section */
    html body.page-home #section-6 .business-safety {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) !important;
        gap: 24px !important;
        justify-items: stretch !important;
    }

    html body.page-home #section-6 .business-safety__copy {
        text-align: center !important;
    }

    html body.page-home #section-6 .business-safety__rate {
        font-size: clamp(64px, 18vw, 82px) !important;
    }

    html body.page-home #section-6 .business-safety__label {
        font-size: 22px !important;
    }

    html body.page-home #section-6 .business-safety__badges {
        width: 100% !important;
        display: grid !important;
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
        gap: 8px !important;
        margin-top: 8px !important;
    }

    html body.page-home #section-6 .business-safety__trust {
        width: 100% !important;
        margin-top: 4px !important;
    }

    /* Contact form */
    html body.page-home #section-8 .quote-contact,
    html body.page-home #section-8 .quote-form {
        width: 100% !important;
        max-width: none !important;
    }

    html body.page-home #section-8 .quote-contact__header {
        margin-bottom: 26px !important;
        justify-items: start !important;
        text-align: left !important;
    }

    html body.page-home #section-8 .quote-form {
        padding: 20px 16px !important;
        border-radius: 18px !important;
    }

    html body.page-home #section-8 .quote-form__grid {
        gap: 14px !important;
    }

    html body.page-home #section-8 :is(input, select, textarea, button) {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
    }

    html body.page-home .site-footer__inner {
        padding: 26px var(--mobile-gutter) !important;
        gap: 14px !important;
    }

    html body.page-home .site-footer__info {
        justify-items: start !important;
        text-align: left !important;
        line-height: 1.5 !important;
    }
}

/* Mobile product cards: keep the active copy crisp and remove rear-card depth. */
@media (max-width: 860px) {
    html body.page-home #section-7 .product-coverflow.is-coverflow-ready .product-card.product-card--summary {
        left: max(27px, calc((100% - 390px) / 2)) !important;
        transform: none !important;
        filter: none !important;
        will-change: auto !important;
    }

    html body.page-home #section-7 .product-coverflow.is-coverflow-ready .product-card.is-coverflow-active {
        opacity: 1 !important;
        visibility: visible !important;
        transform: none !important;
        animation: none !important;
        background: #fff !important;
        border-color: #e5eaf1 !important;
        box-shadow: none !important;
        backdrop-filter: none !important;
        -webkit-backdrop-filter: none !important;
    }

    html body.page-home #section-7 .product-coverflow.is-coverflow-ready .product-card:not(.is-coverflow-active) {
        opacity: 0 !important;
        visibility: hidden !important;
        transform: none !important;
        filter: none !important;
        box-shadow: none !important;
    }

    html body.page-home #section-7 .product-card h3,
    html body.page-home #section-7 .product-card li,
    html body.page-home #section-7 .product-card strong,
    html body.page-home #section-7 .product-card__footer,
    html body.page-home #section-7 .product-card__footer span {
        color: #20252b !important;
        -webkit-text-fill-color: #20252b !important;
        text-shadow: none !important;
    }
}

@media (max-width: 390px) {
    html body.page-home {
        --mobile-gutter: 16px;
    }

    html body.page-home #section-1 > .home-panel__inner {
        padding-top: 126px !important;
    }

    html body.page-home #section-1 .hero-brand__main {
        font-size: 40px !important;
    }

    html body.page-home #section-1 .hero-brand__sub {
        font-size: 29px !important;
    }

    html body.page-home #section-1 .hero-action {
        min-width: 104px !important;
        padding-inline: 14px !important;
        font-size: 13px !important;
    }
}

/* Mobile compact single-screen section pass */
@media (max-width: 860px) {
    html body.page-home .home-panel:not(#section-1) {
        scroll-margin-top: 60px !important;
    }

    html body.page-home .home-panel:not(#section-1) > .home-panel__inner {
        min-height: calc(100svh - 60px) !important;
        padding: 38px var(--mobile-gutter) !important;
        display: grid !important;
        align-content: center !important;
    }

    /* Keep the company name on one line. */
    html body.page-home #section-1 .hero-brand {
        width: auto !important;
        max-width: 100% !important;
        flex-direction: row !important;
        align-items: baseline !important;
        gap: 8px !important;
        white-space: nowrap !important;
    }

    html body.page-home #section-1 .hero-brand__main,
    html body.page-home #section-1 .hero-brand__sub {
        width: auto !important;
        flex: 0 0 auto !important;
        white-space: nowrap !important;
    }

    html body.page-home #section-1 .hero-brand__main {
        font-size: clamp(34px, 10.5vw, 42px) !important;
    }

    html body.page-home #section-1 .hero-brand__sub {
        font-size: clamp(27px, 8.2vw, 33px) !important;
    }

    /* Company overview */
    html body.page-home #section-2 > .home-panel__inner {
        padding-top: 30px !important;
        padding-bottom: 30px !important;
    }

    html body.page-home #section-2 .company-overview__globe,
    html body.page-home #section-2 .company-overview__earth {
        width: min(40vw, 160px) !important;
        height: min(40vw, 160px) !important;
    }

    html body.page-home #section-2 .company-overview__globe {
        margin-bottom: 18px !important;
    }

    html body.page-home #section-2 .company-overview__headline {
        margin-bottom: 16px !important;
        font-size: clamp(26px, 7vw, 32px) !important;
    }

    html body.page-home #section-2 .company-overview__text {
        font-size: 13px !important;
        line-height: 1.55 !important;
    }

    html body.page-home #section-2 .company-overview__text + .company-overview__text {
        margin-top: 10px !important;
    }

    /* Core services: all four cards visible in a 2 x 2 grid. */
    html body.page-home #section-core-services > .home-panel__inner {
        padding: 32px 14px !important;
    }

    html body.page-home #section-core-services .core-services__title {
        margin: 0 0 22px !important;
        font-size: clamp(26px, 7vw, 32px) !important;
    }

    html body.page-home #section-core-services .core-services__cards {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 10px !important;
        margin: 0 !important;
    }

    html body.page-home #section-core-services .core-service-card {
        height: clamp(184px, 24svh, 210px) !important;
        min-height: 184px !important;
        padding: 18px 10px 14px !important;
        border-radius: 15px !important;
        align-content: start !important;
    }

    html body.page-home #section-core-services .core-service-card__icon {
        width: 44px !important;
        height: 44px !important;
        margin: 0 auto 12px !important;
    }

    html body.page-home #section-core-services .core-service-card h3 {
        min-height: 38px !important;
        margin: 0 0 8px !important;
        font-size: clamp(14px, 3.8vw, 17px) !important;
        line-height: 1.25 !important;
    }

    html body.page-home #section-core-services .core-service-card p {
        font-size: clamp(11px, 3vw, 13px) !important;
        line-height: 1.45 !important;
    }

    /* CEO: compact text rhythm and value list. */
    html body.page-home #section-4 > .home-panel__inner {
        padding-top: 30px !important;
        padding-bottom: 28px !important;
    }

    html body.page-home #section-4 .ceo-message {
        gap: 18px !important;
    }

    html body.page-home #section-4 .ceo-message__eyebrow {
        min-height: 24px !important;
        margin-bottom: 10px !important;
        font-size: 12px !important;
    }

    html body.page-home #section-4 .ceo-message__title {
        margin: 0 0 16px !important;
        font-size: clamp(27px, 7.4vw, 32px) !important;
        line-height: 1.2 !important;
    }

    html body.page-home #section-4 .ceo-message__body {
        gap: 9px !important;
    }

    html body.page-home #section-4 .ceo-message__body p,
    html body.page-home #section-4 .ceo-message__body p:not(.ceo-message__signature-inline) {
        margin: 0 !important;
        font-size: clamp(12px, 3.25vw, 13.5px) !important;
        line-height: 1.52 !important;
    }

    html body.page-home #section-4 .ceo-message__signature-inline {
        margin-top: 6px !important;
    }

    html body.page-home #section-4 .ceo-message__signature-inline strong {
        font-size: 20px !important;
    }

    html body.page-home #section-4 .ceo-message__signature-inline span {
        font-size: 13px !important;
    }

    html body.page-home #section-4 .ceo-value-card {
        padding: 16px !important;
        border-radius: 16px !important;
    }

    html body.page-home #section-4 .ceo-value-card__eyebrow {
        margin-bottom: 10px !important;
        font-size: 12px !important;
    }

    html body.page-home #section-4 .ceo-value-card__list {
        gap: 7px !important;
    }

    html body.page-home #section-4 .ceo-value-card__item {
        min-height: 40px !important;
        padding: 9px 13px !important;
        border-radius: 11px !important;
        font-size: 14px !important;
    }

    /* Vision: keep copy and all three challenge rows in one viewport. */
    html body.page-home #section-3 > .home-panel__inner {
        padding-top: 30px !important;
        padding-bottom: 28px !important;
    }

    html body.page-home #section-3 .vision-layout {
        gap: 18px !important;
    }

    html body.page-home #section-3 .vision-copy__eyebrow {
        min-height: 24px !important;
        margin-bottom: 10px !important;
        font-size: 12px !important;
    }

    html body.page-home #section-3 .vision-copy__title,
    html body.page-home #section-3 .vision-copy__title span,
    html body.page-home #section-3 .vision-copy__title em,
    html body.page-home #section-3 .vision-copy__line-break {
        font-size: clamp(27px, 7.3vw, 32px) !important;
        line-height: 1.16 !important;
    }

    html body.page-home #section-3 .vision-copy__title {
        margin: 0 0 18px !important;
    }

    html body.page-home #section-3 .vision-copy__body {
        gap: 9px !important;
    }

    html body.page-home #section-3 .vision-copy__body p,
    html body.page-home #section-3 .vision-quote p,
    html body.page-home #section-3 .vision-quote strong {
        font-size: clamp(12px, 3.2vw, 13.5px) !important;
        line-height: 1.5 !important;
    }

    html body.page-home #section-3 .vision-quote {
        margin-top: 12px !important;
        gap: 5px !important;
    }

    html body.page-home #section-3 .vision-challenges:not(.vision-challenges--text) {
        padding: 14px !important;
        border-radius: 16px !important;
        gap: 8px !important;
    }

    html body.page-home #section-3 .vision-challenges__title {
        margin: 0 0 4px !important;
        padding: 0 !important;
        font-size: 12px !important;
    }

    html body.page-home #section-3 .vision-challenge-list {
        gap: 7px !important;
    }

    html body.page-home #section-3 .vision-challenge-card {
        min-height: 42px !important;
        grid-template-columns: 24px minmax(0, 1fr) !important;
        gap: 9px !important;
        padding: 8px 11px !important;
        border-radius: 10px !important;
    }

    html body.page-home #section-3 .vision-challenge-card__icon {
        width: 24px !important;
        height: 24px !important;
    }

    html body.page-home #section-3 .vision-challenge-card h4 {
        font-size: 13px !important;
    }

    /* Business area: retain readable stacked cards within one viewport. */
    html body.page-home #section-5 > .home-panel__inner {
        padding-top: 30px !important;
        padding-bottom: 28px !important;
    }

    html body.page-home #section-5 .business-services__title {
        font-size: clamp(27px, 7.5vw, 32px) !important;
    }

    html body.page-home #section-5 .business-services__cards {
        gap: 10px !important;
        margin-top: 18px !important;
    }

    html body.page-home #section-5 .business-service-card {
        min-height: 0 !important;
        padding: 18px 16px 15px !important;
        border-radius: 15px !important;
    }

    html body.page-home #section-5 .business-service-card__icon,
    html body.page-home #section-5 .business-service-card__icon img {
        width: 25px !important;
        height: 25px !important;
        margin-bottom: 8px !important;
    }

    html body.page-home #section-5 .business-service-card h3 {
        margin-bottom: 8px !important;
        font-size: 18px !important;
    }

    html body.page-home #section-5 .business-service-card p {
        font-size: 12px !important;
        line-height: 1.48 !important;
    }

    html body.page-home #section-5 .business-service-card__footer {
        margin-top: 12px !important;
        font-size: 11px !important;
    }

    html body.page-home #section-5 .business-service-card__detail {
        min-height: 32px !important;
        padding: 7px 11px !important;
        font-size: 11px !important;
    }

    /* Safety */
    html body.page-home #section-6 > .home-panel__inner {
        padding-top: 28px !important;
        padding-bottom: 26px !important;
    }

    html body.page-home #section-6 .business-safety {
        gap: 14px !important;
    }

    html body.page-home #section-6 .business-safety__rate {
        font-size: clamp(52px, 14vw, 68px) !important;
    }

    html body.page-home #section-6 .business-safety__label {
        font-size: 18px !important;
    }

    html body.page-home #section-6 .business-safety__title {
        margin-top: 16px !important;
        font-size: clamp(24px, 6.8vw, 29px) !important;
    }

    html body.page-home #section-6 .business-safety__text {
        margin-top: 12px !important;
        font-size: 12.5px !important;
        line-height: 1.5 !important;
    }

    html body.page-home #section-6 .business-safety__badges {
        margin-top: 0 !important;
        padding-top: 10px !important;
    }

    html body.page-home #section-6 .safety-trust-card {
        min-height: 142px !important;
        padding: 18px !important;
    }

    /* Product list stays within the viewport and scrolls horizontally. */
    html body.page-home #section-7 > .home-panel__inner {
        padding: 30px 16px 26px !important;
    }

    html body.page-home #section-7 .products-showcase__eyebrow {
        min-height: 24px !important;
        margin-bottom: 9px !important;
        font-size: 11px !important;
    }

    html body.page-home #section-7 .products-showcase__title {
        margin-bottom: 8px !important;
        font-size: clamp(27px, 7.5vw, 32px) !important;
    }

    html body.page-home #section-7 .products-showcase__lead {
        font-size: 12.5px !important;
        line-height: 1.45 !important;
    }

    html body.page-home #section-7 .products-showcase__frame {
        grid-template-columns: repeat(3, minmax(78vw, 1fr)) !important;
        grid-auto-flow: column !important;
        gap: 12px !important;
        margin-top: 18px !important;
        padding: 0 2px 8px !important;
        overflow-x: auto !important;
        overflow-y: hidden !important;
        scroll-snap-type: x mandatory;
        scrollbar-width: thin;
    }

    html body.page-home #section-7 .product-card.product-card--summary {
        width: 78vw !important;
        height: clamp(310px, 46svh, 360px) !important;
        min-height: 310px !important;
        padding: 18px !important;
        scroll-snap-align: start;
        overflow: hidden !important;
    }

    html body.page-home #section-7 .product-card__availability {
        margin-bottom: 8px !important;
        font-size: 10px !important;
    }

    html body.page-home #section-7 .product-card__icon {
        width: 38px !important;
        height: 38px !important;
        margin-bottom: 10px !important;
    }

    html body.page-home #section-7 .product-card h3 {
        margin-bottom: 10px !important;
        font-size: 19px !important;
    }

    html body.page-home #section-7 .product-card li,
    html body.page-home #section-7 .product-card p {
        font-size: 11.5px !important;
        line-height: 1.45 !important;
    }

    html body.page-home #section-7 .product-card__footer {
        padding-top: 10px !important;
        font-size: 10.5px !important;
    }

    /* Contact form */
    html body.page-home #section-8 > .home-panel__inner {
        padding-top: 28px !important;
        padding-bottom: 26px !important;
    }

    html body.page-home #section-8 .quote-contact__header {
        margin-bottom: 16px !important;
    }

    html body.page-home #section-8 .quote-contact__eyebrow {
        min-height: 24px !important;
        margin-bottom: 8px !important;
        font-size: 11px !important;
    }

    html body.page-home #section-8 .quote-contact__title {
        font-size: clamp(25px, 7vw, 30px) !important;
    }

    html body.page-home #section-8 .quote-form {
        padding: 14px !important;
        border-radius: 15px !important;
    }

    html body.page-home #section-8 .quote-form__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 8px !important;
    }

    html body.page-home #section-8 .quote-field--wide {
        grid-column: 1 / -1 !important;
    }

    html body.page-home #section-8 .quote-field {
        gap: 4px !important;
    }

    html body.page-home #section-8 .quote-field > span {
        font-size: 10.5px !important;
    }

    html body.page-home #section-8 .quote-field input,
    html body.page-home #section-8 .quote-field select {
        min-height: 36px !important;
        padding: 8px 10px !important;
        font-size: 12px !important;
    }

    html body.page-home #section-8 .quote-field textarea {
        min-height: 68px !important;
        padding: 9px 10px !important;
        font-size: 12px !important;
    }

    html body.page-home #section-8 .quote-form__actions {
        margin-top: 10px !important;
    }

    html body.page-home #section-8 .quote-form__submit {
        min-height: 38px !important;
        font-size: 13px !important;
    }
}

@media (max-width: 390px), (max-height: 720px) and (max-width: 860px) {
    html body.page-home .home-panel:not(#section-1) > .home-panel__inner {
        padding-top: 24px !important;
        padding-bottom: 22px !important;
    }

    html body.page-home #section-core-services .core-service-card {
        height: 178px !important;
        min-height: 178px !important;
    }

    html body.page-home #section-4 .ceo-message__body p,
    html body.page-home #section-3 .vision-copy__body p,
    html body.page-home #section-3 .vision-quote p,
    html body.page-home #section-3 .vision-quote strong {
        font-size: 11.5px !important;
    }
}


/* Mobile readability rebalance: preserve compact sections without undersized copy. */
@media (max-width: 860px) {
    html body.page-home #section-1 .hero-brand__main {
        font-size: clamp(37px, 11vw, 44px) !important;
    }

    html body.page-home #section-1 .hero-brand__sub {
        font-size: clamp(29px, 8.5vw, 35px) !important;
    }

    html body.page-home #section-2 .company-overview__globe,
    html body.page-home #section-2 .company-overview__earth {
        width: min(44vw, 176px) !important;
        height: min(44vw, 176px) !important;
    }

    html body.page-home #section-2 .company-overview__headline {
        font-size: clamp(29px, 7.8vw, 35px) !important;
    }

    html body.page-home #section-2 .company-overview__text {
        font-size: clamp(14px, 3.75vw, 15px) !important;
        line-height: 1.62 !important;
    }

    html body.page-home #section-core-services .core-services__title {
        font-size: clamp(29px, 7.8vw, 35px) !important;
    }

    html body.page-home #section-core-services .core-service-card {
        padding: 18px 12px 15px !important;
    }

    html body.page-home #section-core-services .core-service-card__icon {
        width: 48px !important;
        height: 48px !important;
    }

    html body.page-home #section-core-services .core-service-card h3 {
        font-size: clamp(15px, 4.1vw, 18px) !important;
    }

    html body.page-home #section-core-services .core-service-card p {
        font-size: clamp(12.5px, 3.35vw, 14px) !important;
        line-height: 1.48 !important;
    }

    html body.page-home #section-4 .ceo-message__title,
    html body.page-home #section-3 .vision-copy__title,
    html body.page-home #section-3 .vision-copy__title span,
    html body.page-home #section-3 .vision-copy__title em,
    html body.page-home #section-3 .vision-copy__line-break {
        font-size: clamp(30px, 8vw, 35px) !important;
    }

    html body.page-home #section-4 .ceo-message__body p,
    html body.page-home #section-4 .ceo-message__body p:not(.ceo-message__signature-inline),
    html body.page-home #section-3 .vision-copy__body p,
    html body.page-home #section-3 .vision-quote p,
    html body.page-home #section-3 .vision-quote strong {
        font-size: clamp(13.5px, 3.6vw, 14.5px) !important;
        line-height: 1.55 !important;
    }

    html body.page-home #section-4 .ceo-message__signature-inline strong {
        font-size: 22px !important;
    }

    html body.page-home #section-4 .ceo-message__signature-inline span,
    html body.page-home #section-4 .ceo-value-card__item,
    html body.page-home #section-3 .vision-challenge-card h4 {
        font-size: 14.5px !important;
    }

    html body.page-home #section-5 .business-services__title,
    html body.page-home #section-6 .business-safety__title,
    html body.page-home #section-7 .products-showcase__title,
    html body.page-home #section-8 .quote-contact__title {
        font-size: clamp(29px, 7.8vw, 35px) !important;
    }

    html body.page-home #section-5 .business-service-card h3 {
        font-size: 20px !important;
    }

    html body.page-home #section-5 .business-service-card p,
    html body.page-home #section-6 .business-safety__text,
    html body.page-home #section-7 .products-showcase__lead {
        font-size: clamp(13.5px, 3.6vw, 14.5px) !important;
        line-height: 1.55 !important;
    }

    html body.page-home #section-5 .business-service-card__footer,
    html body.page-home #section-5 .business-service-card__detail {
        font-size: 12.5px !important;
    }

    html body.page-home #section-7 .product-card h3 {
        font-size: 21px !important;
    }

    html body.page-home #section-7 .product-card li,
    html body.page-home #section-7 .product-card p {
        font-size: 13px !important;
        line-height: 1.5 !important;
    }

    html body.page-home #section-7 .product-card__footer,
    html body.page-home #section-8 .quote-field > span {
        font-size: 12px !important;
    }

    html body.page-home #section-8 .quote-field input,
    html body.page-home #section-8 .quote-field select,
    html body.page-home #section-8 .quote-field textarea {
        font-size: 13.5px !important;
    }

    html body.page-home #section-8 .quote-form__submit {
        font-size: 14px !important;
    }
}


/* Mobile section geometry correction: remove inherited desktop heights. */
@media (max-width: 860px) {
    html body.page-home #section-2 .company-overview {
        transform: translateY(-28px) !important;
    }

    html body.page-home #section-2 .company-overview__globe,
    html body.page-home #section-2 .company-overview__earth {
        width: min(55vw, 210px) !important;
        height: min(55vw, 210px) !important;
    }

    html body.page-home #section-4 .ceo-message,
    html body.page-home #section-3 .vision-layout {
        min-height: 0 !important;
        height: auto !important;
    }

    html body.page-home #section-4 .ceo-message {
        gap: 12px !important;
    }

    html body.page-home #section-4 .ceo-value-card {
        padding: 14px !important;
    }

    html body.page-home #section-4 .ceo-value-card__eyebrow {
        margin-bottom: 9px !important;
        padding-bottom: 8px !important;
    }

    html body.page-home #section-4 .ceo-value-card__list {
        width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
        list-style: none !important;
        gap: 7px !important;
    }

    html body.page-home #section-4 .ceo-value-card__item {
        width: 100% !important;
        min-height: 42px !important;
        margin: 0 !important;
        padding: 9px 11px !important;
        display: flex !important;
        align-items: center !important;
        justify-content: flex-start !important;
        box-sizing: border-box !important;
        text-align: left !important;
    }

    html body.page-home #section-3 > .home-panel__inner {
        padding-top: 22px !important;
        padding-bottom: 18px !important;
        align-content: start !important;
    }

    html body.page-home #section-3 .vision-layout {
        gap: 13px !important;
        align-content: start !important;
        align-items: start !important;
    }

    html body.page-home #section-3 .vision-copy {
        margin: 0 !important;
        padding: 0 !important;
        transform: none !important;
    }

    html body.page-home #section-3 .vision-copy__gap {
        display: none !important;
        height: 0 !important;
    }

    html body.page-home #section-3 .vision-copy__eyebrow {
        transform: none !important;
    }

    html body.page-home #section-3 .vision-copy__title {
        margin-bottom: 14px !important;
    }

    html body.page-home #section-3 .vision-copy__body {
        padding-top: 0 !important;
        gap: 7px !important;
    }

    html body.page-home #section-3 .vision-quote {
        margin-top: 9px !important;
    }

    html body.page-home #section-3 .vision-challenges:not(.vision-challenges--text) {
        margin-top: 0 !important;
        padding: 12px !important;
        gap: 6px !important;
    }

    html body.page-home #section-3 .vision-challenge-list {
        gap: 6px !important;
    }

    html body.page-home #section-3 .vision-challenge-card {
        min-height: 40px !important;
        padding: 7px 10px !important;
    }
}


/* Mobile visual spacing and card sizing pass. */
@media (max-width: 860px) {
    html body.page-home #section-2 .company-overview {
        transform: translateY(-40px) !important;
    }

    html body.page-home #section-2 .company-overview__globe,
    html body.page-home #section-2 .company-overview__earth {
        width: min(62vw, 235px) !important;
        height: min(62vw, 235px) !important;
    }

    html body.page-home #section-4 .ceo-message__title,
    html body.page-home #section-3 .vision-copy__title {
        margin-bottom: 20px !important;
    }

    html body.page-home #section-4 .ceo-message__body,
    html body.page-home #section-3 .vision-copy__body {
        gap: 10px !important;
    }

    html body.page-home #section-4 .ceo-message {
        gap: 18px !important;
    }

    html body.page-home #section-3 .vision-quote {
        margin-top: 12px !important;
    }

    html body.page-home #section-3 .vision-layout {
        gap: 18px !important;
    }

    html body.page-home #section-6 .business-safety__title {
        width: 100% !important;
        max-width: 100% !important;
        margin-right: auto !important;
        margin-left: auto !important;
        text-align: center !important;
    }

    html body.page-home #section-6 .business-safety__badges {
        width: 100% !important;
        grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
        gap: 4px !important;
        padding-top: 8px !important;
    }

    html body.page-home #section-6 .safety-badge,
    html body.page-home #section-6 .safety-badge--ccc,
    html body.page-home #section-6 .safety-badge--rohs,
    html body.page-home #section-6 .safety-badge--kc,
    html body.page-home #section-6 .safety-badge--ce,
    html body.page-home #section-6 .safety-badge--fcc {
        position: relative !important;
        inset: auto !important;
        width: 100% !important;
        min-width: 0 !important;
        max-width: none !important;
        height: 36px !important;
        margin: 0 !important;
        padding: 4px !important;
        display: grid !important;
        place-items: center !important;
        transform: none !important;
    }

    html body.page-home #section-6 .safety-badge img {
        position: static !important;
        inset: auto !important;
        width: auto !important;
        height: auto !important;
        max-width: 42px !important;
        max-height: 26px !important;
        margin: 0 !important;
        object-fit: contain !important;
        transform: none !important;
    }

    html body.page-home #section-6 .business-safety__trust {
        --safety-carousel-gap: 10px;
        --safety-carousel-viewport: 100vw;
        --safety-carousel-card: min(62vw, 236px);
        width: 100vw !important;
        max-width: none !important;
        margin-left: calc(50% - 50vw) !important;
    }

    html body.page-home #section-6 .business-safety__trust .safety-trust-card {
        flex: 0 0 var(--safety-carousel-card) !important;
        width: var(--safety-carousel-card) !important;
        min-height: 156px !important;
        padding: 14px !important;
    }

    html body.page-home #section-6 .safety-trust-card img {
        width: 52px !important;
        height: 52px !important;
        margin-bottom: 10px !important;
    }

    html body.page-home #section-6 .safety-trust-card h3 {
        font-size: 20px !important;
    }

    html body.page-home #section-6 .safety-trust-card p {
        margin-top: 8px !important;
        font-size: 13px !important;
        line-height: 1.4 !important;
    }

    html body.page-home #section-7 .products-showcase__frame {
        padding: 6px 8px 30px !important;
    }

    html body.page-home #section-7 .product-card.product-card--summary {
        height: clamp(370px, 52svh, 420px) !important;
        min-height: 370px !important;
    }

    html body.page-home #section-7 .product-card__availability {
        display: inline-flex !important;
        width: max-content !important;
        max-width: 100% !important;
        justify-self: start !important;
        align-self: start !important;
        padding: 5px 9px !important;
        font-size: 11.5px !important;
    }

    html body.page-home #section-7 .product-card__icon,
    html body.page-home #section-7 .product-card.product-card--locked .product-card__icon {
        width: 44px !important;
        min-width: 44px !important;
        max-width: 44px !important;
        height: 44px !important;
        justify-self: start !important;
        align-self: start !important;
        margin-bottom: 12px !important;
        padding: 0 !important;
        border-radius: 12px !important;
    }

    html body.page-home #section-7 .product-card__icon img {
        width: 30px !important;
        height: 30px !important;
        object-fit: contain !important;
    }
}


/* Mobile heading rhythm and product chip width correction. */
@media (max-width: 860px) {
    html body.page-home #section-7 .products-showcase {
        gap: 0 !important;
    }

    html body.page-home #section-7 .products-showcase__header,
    html body.page-home #section-8 .quote-contact__header {
        width: 100% !important;
        gap: 10px !important;
        justify-items: center !important;
        text-align: center !important;
    }

    html body.page-home #section-7 .products-showcase__header {
        margin: 0 !important;
    }

    html body.page-home #section-7 .products-showcase__eyebrow,
    html body.page-home #section-7 .products-showcase__title,
    html body.page-home #section-7 .products-showcase__lead,
    html body.page-home #section-8 .quote-contact__eyebrow,
    html body.page-home #section-8 .quote-contact__title {
        margin: 0 !important;
        text-align: center !important;
    }

    html body.page-home #section-7 .products-showcase__frame {
        margin-top: 16px !important;
    }

    html body.page-home #section-8 .quote-contact__header {
        margin-bottom: 14px !important;
    }

    html body.page-home #section-core-services .core-services__title,
    html body.page-home #section-5 .business-services__header,
    html body.page-home #section-5 .business-services__title,
    html body.page-home #section-6 .business-safety__title,
    html body.page-home #section-7 .products-showcase__header,
    html body.page-home #section-7 .products-showcase__eyebrow,
    html body.page-home #section-7 .products-showcase__title,
    html body.page-home #section-8 .quote-contact__header,
    html body.page-home #section-8 .quote-contact__eyebrow,
    html body.page-home #section-8 .quote-contact__title {
        width: 100% !important;
        justify-self: center !important;
        text-align: center !important;
    }

    html body.page-home #section-7 .product-card.product-card--summary > .product-card__availability {
        box-sizing: border-box !important;
        display: flex !important;
        flex: 0 0 96px !important;
        inline-size: 96px !important;
        width: 96px !important;
        min-width: 96px !important;
        max-width: 96px !important;
        place-self: start !important;
        align-items: center !important;
        justify-content: center !important;
        margin-right: auto !important;
        white-space: nowrap !important;
    }

    html body.page-home #section-7 .product-card.product-card--summary > .product-card__icon,
    html body.page-home #section-7 .product-card.product-card--summary.product-card--locked > .product-card__icon {
        box-sizing: border-box !important;
        display: inline-grid !important;
        flex: 0 0 46px !important;
        inline-size: 46px !important;
        width: 46px !important;
        min-width: 46px !important;
        max-width: 46px !important;
        block-size: 46px !important;
        height: 46px !important;
        place-self: start !important;
        margin-right: auto !important;
        place-items: center !important;
        overflow: hidden !important;
    }
}


/* Desktop-only copy line breaks. */
.home-copy-desktop-break,
.quote-contact__mobile-break {
    display: none;
}

@media (min-width: 861px) {
    html body.page-home .home-copy-desktop-break {
        display: block !important;
    }

    html body.page-home #section-5 .business-service-card__copy--nicotine > span {
        display: block;
        white-space: nowrap;
        word-break: keep-all;
        overflow-wrap: normal;
    }
}

@media (max-width: 860px) {
    html body.page-home #section-8 .quote-contact__mobile-break {
        display: block !important;
    }
}


/* Mobile hover motion for interactive cards and CTAs. */
@media (max-width: 860px) {
    html body.page-home #section-core-services .core-service-card,
    html body.page-home #section-4 .ceo-value-card__item,
    html body.page-home #section-3 .vision-challenge-card,
    html body.page-home #section-5 .business-service-card {
        transform-origin: center !important;
        transition:
            transform 220ms cubic-bezier(0.22, 1, 0.36, 1),
            border-color 200ms ease,
            background-color 200ms ease,
            box-shadow 220ms ease !important;
    }

    html body.page-home #section-core-services .core-service-card__icon,
    html body.page-home #section-5 .business-service-card__icon {
        transition: transform 220ms cubic-bezier(0.22, 1, 0.36, 1) !important;
    }

    html body.page-home #section-5 .business-service-card__detail,
    html body.page-home #section-8 .quote-form__submit {
        transition:
            transform 200ms cubic-bezier(0.22, 1, 0.36, 1),
            background-color 180ms ease,
            border-color 180ms ease,
            box-shadow 200ms ease !important;
    }
}

@media (max-width: 860px) and (hover: hover) and (pointer: fine) {
    html body.page-home #section-core-services .core-service-card:hover,
    html body.page-home #section-core-services .core-service-card:focus-within,
    html body.page-home #section-4 .ceo-value-card__item:hover,
    html body.page-home #section-3 .vision-challenge-card:hover,
    html body.page-home #section-5 .business-service-card:hover,
    html body.page-home #section-5 .business-service-card:focus-within {
        transform: translateY(-2px) !important;
        border-color: rgba(30, 94, 255, 0.30) !important;
        box-shadow: 0 9px 20px rgba(30, 94, 255, 0.13) !important;
    }

    html body.page-home #section-4 .ceo-value-card__item:hover,
    html body.page-home #section-3 .vision-challenge-card:hover {
        background: #f7faff !important;
    }

    html body.page-home #section-core-services .core-service-card:hover .core-service-card__icon,
    html body.page-home #section-5 .business-service-card:hover .business-service-card__icon {
        transform: translateY(-1px) scale(1.04) !important;
    }

    html body.page-home #section-5 .business-service-card__detail:hover,
    html body.page-home #section-5 .business-service-card__detail:focus-visible,
    html body.page-home #section-8 .quote-form__submit:hover,
    html body.page-home #section-8 .quote-form__submit:focus-visible {
        transform: translateY(-1px) scale(1.006) !important;
        background-color: #1557e8 !important;
        box-shadow: 0 7px 16px rgba(30, 94, 255, 0.20) !important;
    }
}

@media (max-width: 860px) and (prefers-reduced-motion: reduce) {
    html body.page-home #section-core-services .core-service-card,
    html body.page-home #section-4 .ceo-value-card__item,
    html body.page-home #section-3 .vision-challenge-card,
    html body.page-home #section-5 .business-service-card,
    html body.page-home #section-5 .business-service-card__detail,
    html body.page-home #section-8 .quote-form__submit {
        transition: none !important;
    }
}


/* Mobile hero CTA hover motion. */
@media (max-width: 860px) {
    html body.page-home #section-1 .hero-action {
        transform-origin: center !important;
        transition:
            transform 200ms cubic-bezier(0.22, 1, 0.36, 1),
            background-color 180ms ease,
            border-color 180ms ease,
            color 180ms ease,
            box-shadow 200ms ease !important;
    }
}

@media (max-width: 860px) and (hover: hover) and (pointer: fine) {
    html body.page-home #section-1 .hero-action:hover,
    html body.page-home #section-1 .hero-action:focus-visible {
        transform: translateY(-1px) scale(1.006) !important;
        box-shadow: 0 7px 16px rgba(30, 94, 255, 0.20) !important;
    }

    html body.page-home #section-1 .hero-action--primary:hover,
    html body.page-home #section-1 .hero-action--primary:focus-visible {
        background-color: #1557e8 !important;
    }

    html body.page-home #section-1 .hero-action--secondary:hover,
    html body.page-home #section-1 .hero-action--secondary:focus-visible {
        border-color: rgba(30, 94, 255, 0.42) !important;
        background-color: #ffffff !important;
        color: #1557e8 !important;
    }
}

@media (max-width: 860px) and (prefers-reduced-motion: reduce) {
    html body.page-home #section-1 .hero-action {
        transition: none !important;
    }
}


/* Site-wide mouse hover motion; layout dimensions remain unchanged. */
html body.page-home #section-core-services .core-service-card,
html body.page-home #section-4 .ceo-value-card__item,
html body.page-home #section-3 .vision-challenge-card,
html body.page-home #section-5 .business-service-card {
    transform-origin: center !important;
    transition:
        transform 240ms cubic-bezier(0.22, 1, 0.36, 1),
        border-color 200ms ease,
        background-color 200ms ease,
        box-shadow 240ms ease !important;
}

html body.page-home #section-core-services .core-service-card__icon,
html body.page-home #section-5 .business-service-card__icon {
    transition: transform 240ms cubic-bezier(0.22, 1, 0.36, 1) !important;
}

html body.page-home #section-1 .hero-action,
html body.page-home #section-5 .business-service-card__detail,
html body.page-home #section-8 .quote-form__submit {
    transform-origin: center !important;
    transition:
        transform 210ms cubic-bezier(0.22, 1, 0.36, 1),
        background-color 180ms ease,
        border-color 180ms ease,
        color 180ms ease,
        box-shadow 210ms ease !important;
}

@media (hover: hover) and (pointer: fine) {
    html body.page-home #section-core-services .core-service-card:hover,
    html body.page-home #section-core-services .core-service-card:focus-within,
    html body.page-home #section-4 .ceo-value-card__item:hover,
    html body.page-home #section-3 .vision-challenge-card:hover,
    html body.page-home #section-5 .business-service-card:hover,
    html body.page-home #section-5 .business-service-card:focus-within {
        transform: translateY(-3px) scale(1.008) !important;
        border-color: rgba(30, 94, 255, 0.34) !important;
        box-shadow: 0 12px 26px rgba(30, 94, 255, 0.16) !important;
    }

    html body.page-home #section-4 .ceo-value-card__item:hover,
    html body.page-home #section-3 .vision-challenge-card:hover {
        background: #f4f8ff !important;
    }

    html body.page-home #section-core-services .core-service-card:hover .core-service-card__icon,
    html body.page-home #section-5 .business-service-card:hover .business-service-card__icon {
        transform: translateY(-2px) scale(1.06) !important;
    }

    html body.page-home #section-1 .hero-action:hover,
    html body.page-home #section-1 .hero-action:focus-visible,
    html body.page-home #section-5 .business-service-card__detail:hover,
    html body.page-home #section-5 .business-service-card__detail:focus-visible,
    html body.page-home #section-8 .quote-form__submit:hover,
    html body.page-home #section-8 .quote-form__submit:focus-visible {
        transform: translateY(-2px) scale(1.01) !important;
        box-shadow: 0 9px 20px rgba(30, 94, 255, 0.22) !important;
    }

    html body.page-home #section-1 .hero-action--primary:hover,
    html body.page-home #section-1 .hero-action--primary:focus-visible,
    html body.page-home #section-5 .business-service-card__detail:hover,
    html body.page-home #section-5 .business-service-card__detail:focus-visible,
    html body.page-home #section-8 .quote-form__submit:hover,
    html body.page-home #section-8 .quote-form__submit:focus-visible {
        background-color: #1557e8 !important;
    }

    html body.page-home #section-1 .hero-action--secondary:hover,
    html body.page-home #section-1 .hero-action--secondary:focus-visible {
        border-color: rgba(30, 94, 255, 0.48) !important;
        background-color: #ffffff !important;
        color: #1557e8 !important;
    }
}

@media (prefers-reduced-motion: reduce) {
    html body.page-home #section-core-services .core-service-card,
    html body.page-home #section-4 .ceo-value-card__item,
    html body.page-home #section-3 .vision-challenge-card,
    html body.page-home #section-5 .business-service-card,
    html body.page-home #section-1 .hero-action,
    html body.page-home #section-5 .business-service-card__detail,
    html body.page-home #section-8 .quote-form__submit {
        transition: none !important;
    }
}


/* Restore the rear cloud layer on the mobile globe. */
@media (max-width: 860px) {
    html body.page-home #section-2 .company-overview__globe {
        overflow: visible !important;
    }

    html body.page-home #section-2 .company-overview__cloud--one {
        display: block !important;
        visibility: visible !important;
        z-index: 0 !important;
        top: -10% !important;
        right: auto !important;
        bottom: auto !important;
        left: -35% !important;
        width: 100% !important;
        height: auto !important;
        opacity: 1 !important;
    }

    html body.page-home #section-2 .company-overview__earth {
        position: relative !important;
        z-index: 1 !important;
    }

    html body.page-home #section-2 .company-overview__cloud--two {
        z-index: 2 !important;
    }
}


/* Rear cloud geometry based on the PNG alpha bounds. */
@media (max-width: 860px) {
    html body.page-home #section-2 .company-overview__cloud--one {
        top: -62% !important;
        right: auto !important;
        bottom: auto !important;
        left: -85% !important;
        width: 140% !important;
        max-width: none !important;
        opacity: 1 !important;
        clip-path: none !important;
    }
}


/* Stable mobile rear cloud across language DOM morphs. */
@media (max-width: 860px) {
    html body.page-home #section-2 .company-overview__globe {
        position: relative !important;
        inset: auto !important;
    }

    html body.page-home #section-2 .company-overview__globe::before {
        content: "" !important;
        position: absolute !important;
        z-index: 0 !important;
        top: 23% !important;
        right: auto !important;
        bottom: auto !important;
        left: 0 !important;
        display: block !important;
        width: 42% !important;
        height: 28% !important;
        background-image: url("/img/company/claude.png") !important;
        background-position: 77% 75% !important;
        background-repeat: no-repeat !important;
        background-size: 396% auto !important;
        opacity: 1 !important;
        filter: drop-shadow(0 7px 10px rgba(47, 52, 58, 0.11)) !important;
        animation: finf-mobile-cloud-back-soft 13s ease-in-out infinite !important;
        will-change: transform !important;
        pointer-events: none !important;
    }

    html body.page-home #section-2 .company-overview__globe::after {
        content: "" !important;
        position: absolute !important;
        z-index: 2 !important;
        top: 51% !important;
        left: 43% !important;
        display: block !important;
        width: 42% !important;
        height: 30% !important;
        background-image: url("/img/company/claude2.png") !important;
        background-position: 74% 70% !important;
        background-repeat: no-repeat !important;
        background-size: 290% auto !important;
        opacity: 1 !important;
        filter: drop-shadow(0 8px 12px rgba(47, 52, 58, 0.13)) !important;
        animation: finf-mobile-cloud-front-soft 15s ease-in-out infinite !important;
        will-change: transform !important;
        pointer-events: none !important;
    }

    html body.page-home #section-2 .company-overview__cloud--one,
    html body.page-home #section-2 .company-overview__cloud--two {
        display: none !important;
    }
}

@keyframes finf-mobile-cloud-back-soft {
    0%, 100% { transform: translate3d(-2px, 1px, 0); }
    45% { transform: translate3d(4px, -3px, 0); }
    75% { transform: translate3d(2px, 2px, 0); }
}

@keyframes finf-mobile-cloud-front-soft {
    0%, 100% { transform: translate3d(2px, 1px, 0); }
    45% { transform: translate3d(-4px, -3px, 0); }
    75% { transform: translate3d(-2px, 2px, 0); }
}

@media (max-width: 860px) and (prefers-reduced-motion: reduce) {
    html body.page-home #section-2 .company-overview__globe::before,
    html body.page-home #section-2 .company-overview__globe::after {
        animation: none !important;
    }
}

/* Natural Korean word wrapping on narrow mobile cards and copy. */
.home-copy-mobile-only-break {
    display: none;
}

.home-copy-mobile-only {
    display: none;
}

@media (max-width: 860px) {
    html body.page-home.lang-ko .home-copy-mobile-only-break {
        display: block !important;
    }

    html body.page-home.lang-ko .home-copy-desktop-only {
        display: none !important;
    }

    html body.page-home.lang-ko .home-copy-mobile-only {
        display: inline !important;
    }

    html body.page-home.lang-ko #section-2 .company-overview__text,
    html body.page-home.lang-ko #section-core-services .core-service-card h3,
    html body.page-home.lang-ko #section-core-services .core-service-card p,
    html body.page-home.lang-ko #section-5 .business-service-card__footer > span {
        white-space: normal !important;
        word-break: keep-all !important;
        overflow-wrap: normal !important;
    }
}

/* Keep taller EN/ID desktop product cards clear of the snap viewport edge. */
@media (min-width: 861px) {
    html body.page-home.lang-en #section-6 .business-safety {
        position: relative !important;
        top: -55px !important;
    }

    html body.page-home.lang-id #section-6 .business-safety {
        position: relative !important;
        top: -45px !important;
    }

    html body.page-home.lang-en #section-5 .business-services {
        position: relative !important;
        top: -20px !important;
    }

    html.page-home.lang-en #section-7,
    html.page-home.lang-id #section-7 {
        scroll-margin-top: 70px !important;
    }

    html body.page-home.lang-en #section-7 .products-showcase,
    html body.page-home.lang-id #section-7 .products-showcase {
        position: relative !important;
        top: -50px !important;
        transform: translateY(-34px) !important;
    }
}


.home-context-mobile-break { display: none; }

/* Final mobile overflow guard.
 * Keep this block last: section-specific styles are intentionally normalized
 * here without changing the desktop layout. */
@media (max-width: 860px) {
    html body.page-home .home-panel *,
    html body.page-home .home-panel *::before,
    html body.page-home .home-panel *::after {
        box-sizing: border-box;
    }

    html body.page-home :is(
        .home-panel__inner,
        .trust-metrics-section,
        .trust-metrics-section__inner,
        .company-overview,
        .core-services,
        .core-services__cards,
        .core-service-card,
        .ceo-message,
        .ceo-message__content,
        .ceo-value-card,
        .ceo-value-card__list,
        .vision-layout,
        .vision-copy,
        .vision-challenges,
        .business-services,
        .business-services__cards,
        .business-service-card,
        .business-safety,
        .products-showcase,
        .products-showcase__frame,
        .product-card,
        .trade-process,
        .trade-process__track,
        .trade-process-card,
        .quote-contact,
        .quote-form,
        .faq-section,
        .faq-content
    ) {
        min-width: 0 !important;
        max-width: 100% !important;
    }

    html body.page-home :is(
        .trust-metrics-section__heading h2,
        .trust-metrics-section__heading p,
        .company-overview__headline,
        .company-overview__text,
        .core-service-card h3,
        .core-service-card p,
        .ceo-message__title,
        .ceo-message__body p,
        .ceo-value-card__item,
        .vision-copy__title,
        .vision-copy__body p,
        .vision-quote p,
        .vision-challenge-card h4,
        .business-services__title,
        .business-service-card h3,
        .business-service-card p,
        .business-service-card__footer > span,
        .business-safety__title,
        .business-safety__text,
        .safety-trust-card h3,
        .safety-trust-card p,
        .products-showcase__title,
        .products-showcase__lead,
        .product-card h3,
        .product-card li,
        .product-card p,
        .product-card__footer,
        .trade-process-card h3,
        .trade-process-card p,
        .quote-contact__title,
        .faq-item__question,
        .faq-item__answer
    ) {
        max-width: 100% !important;
        white-space: normal !important;
        overflow-wrap: break-word !important;
        hyphens: none !important;
    }

    html body.page-home.lang-ko :is(
        .trust-metrics-section__heading h2,
        .trust-metrics-section__heading p,
        .company-overview__headline,
        .company-overview__text,
        .core-service-card h3,
        .core-service-card p,
        .ceo-message__title,
        .ceo-message__body p,
        .ceo-value-card__item,
        .vision-copy__title,
        .vision-copy__body p,
        .vision-quote p,
        .vision-challenge-card h4,
        .business-services__title,
        .business-service-card h3,
        .business-service-card p,
        .business-service-card__footer > span,
        .business-safety__title,
        .business-safety__text,
        .products-showcase__title,
        .products-showcase__lead,
        .product-card h3,
        .product-card li,
        .product-card p,
        .quote-contact__title,
        .faq-item__question,
        .faq-item__answer
    ) {
        word-break: keep-all !important;
    }

    /* Prefer complete phrases over short orphaned final lines. */
    html body.page-home :is(
        .trust-metrics-section__heading h2,
        .company-overview__headline,
        .core-services__title,
        .core-service-card h3,
        .ceo-message__title,
        .vision-copy__title,
        .business-services__title,
        .business-service-card h3,
        .business-safety__title,
        .products-showcase__title,
        .quote-contact__title,
        .faq-section h2,
        .company-history__title
    ) {
        text-wrap: balance !important;
    }

    html body.page-home :is(
        .trust-metrics-section__heading p,
        .company-overview__text,
        .core-service-card p,
        .ceo-message__body p,
        .vision-copy__body p,
        .business-service-card p,
        .business-safety__text,
        .products-showcase__lead,
        .product-card p,
        .quote-contact p,
        .faq-item__question,
        .faq-item__answer,
        .company-history__lead,
        .company-history__content p
    ) {
        text-wrap: pretty !important;
    }

    html body.page-home .home-context-mobile-break {
        display: block !important;
    }

    html body.page-home .home-mobile-keep-phrase {
        white-space: nowrap !important;
        word-break: keep-all !important;
    }

    html body.page-home #section-trust-metrics .trust-metrics-section__heading {
        width: 100% !important;
        padding-inline: 14px !important;
    }

    html body.page-home #section-trust-metrics .trust-metrics-section__heading h2 {
        font-size: clamp(27px, 8vw, 34px) !important;
        line-height: 1.2 !important;
    }

    html body.page-home #section-trust-metrics .trust-metrics-section__heading p {
        width: min(100%, 340px) !important;
        margin-inline: auto !important;
        font-size: clamp(13px, 3.55vw, 15px) !important;
        line-height: 1.55 !important;
    }

    html body.page-home #section-core-services .core-services__cards {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        align-items: stretch !important;
    }

    html body.page-home #section-core-services .core-service-card {
        width: 100% !important;
        height: auto !important;
        min-height: clamp(206px, 55vw, 228px) !important;
        padding: 16px 10px 14px !important;
        display: grid !important;
        grid-template-rows: auto minmax(42px, auto) 1fr !important;
        align-content: start !important;
        overflow: hidden !important;
    }

    html body.page-home #section-core-services .core-service-card h3 {
        min-height: 42px !important;
        margin: 0 0 8px !important;
        font-size: clamp(16px, 4.1vw, 19px) !important;
        line-height: 1.28 !important;
    }

    html body.page-home #section-core-services .core-services__cards .core-service-card p:not(.finf-description-size-exempt) {
        margin: 0 !important;
        font-size: 15px !important;
        line-height: 1.45 !important;
    }

    html body.page-home #section-4 .ceo-value-card {
        padding: 14px !important;
        overflow: hidden !important;
    }

    html body.page-home #section-4 .ceo-value-card__list {
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 0 10px !important;
    }

    html body.page-home #section-4 .ceo-value-card__list::before {
        display: none !important;
    }

    html body.page-home #section-4 .ceo-value-card__item {
        position: relative !important;
        width: 100% !important;
        min-width: 0 !important;
        min-height: 46px !important;
        padding: 8px 4px 8px 38px !important;
        display: flex !important;
        align-items: center !important;
        border-bottom: 1px solid #e2e9f4 !important;
        border-radius: 0 !important;
        font-size: clamp(12px, 3.45vw, 14px) !important;
        line-height: 1.3 !important;
        overflow: hidden !important;
    }

    html body.page-home #section-4 .ceo-value-card__item::before {
        top: 50% !important;
        left: 0 !important;
        width: 28px !important;
        height: 28px !important;
        font-size: 9px !important;
        transform: translateY(-50%) !important;
    }

    html body.page-home #section-5 .business-service-card,
    html body.page-home #section-7 .product-card {
        width: 100% !important;
        overflow: hidden !important;
    }

    html body.page-home #section-5 .business-service-card__footer {
        width: 100% !important;
        min-width: 0 !important;
        gap: 8px !important;
    }

    html body.page-home #section-5 .business-service-card__footer > span {
        flex: 1 1 auto !important;
        min-width: 0 !important;
    }

    html body.page-home #section-5 .business-service-card__detail {
        flex: 0 0 auto !important;
    }

    html body.page-home #section-8 .quote-form__grid {
        min-width: 0 !important;
    }

    html body.page-home #section-8 :is(input, select, textarea, button) {
        width: 100% !important;
        min-width: 0 !important;
        max-width: 100% !important;
    }
}

@media (max-width: 360px) {
    html body.page-home #section-core-services > .home-panel__inner,
    html body.page-home #section-4 > .home-panel__inner,
    html body.page-home #section-5 > .home-panel__inner {
        padding-inline: 12px !important;
    }

    html body.page-home #section-core-services .core-services__cards {
        gap: 8px !important;
    }

    html body.page-home #section-core-services .core-service-card {
        min-height: 216px !important;
        padding-inline: 8px !important;
    }

    html body.page-home #section-4 .ceo-value-card__list {
        column-gap: 6px !important;
    }

    html body.page-home #section-4 .ceo-value-card__item {
        padding-left: 34px !important;
        font-size: 12px !important;
    }
}
/* Mobile history: keep the complete timeline inside one viewport at every phone height. */
@media (max-width: 860px) {
    html body.page-home #section-history {
        height: calc(100vh - var(--home-header-height, 60px)) !important;
        height: calc(100svh - var(--home-header-height, 60px)) !important;
        height: calc(100dvh - var(--home-header-height, 60px)) !important;
        min-height: calc(100vh - var(--home-header-height, 60px)) !important;
        min-height: calc(100svh - var(--home-header-height, 60px)) !important;
        min-height: calc(100dvh - var(--home-header-height, 60px)) !important;
        max-height: calc(100vh - var(--home-header-height, 60px)) !important;
        max-height: calc(100svh - var(--home-header-height, 60px)) !important;
        max-height: calc(100dvh - var(--home-header-height, 60px)) !important;
        overflow: hidden !important;
    }

    html body.page-home #section-history > .home-panel__inner {
        width: min(calc(100% - 24px), 620px) !important;
        height: 100% !important;
        min-height: 0 !important;
        max-height: 100% !important;
        padding: clamp(10px, 2dvh, 20px) 0 !important;
        display: grid !important;
        align-content: center !important;
        overflow: hidden !important;
    }

    html body.page-home #section-history .company-history {
        min-height: 0 !important;
        transform: none !important;
    }

    html body.page-home #section-history .company-history__header {
        margin-bottom: clamp(8px, 1.8dvh, 18px) !important;
    }

    html body.page-home #section-history .company-history__title {
        margin-bottom: clamp(4px, .9dvh, 9px) !important;
        font-size: clamp(25px, 4.2dvh, 32px) !important;
        line-height: 1.08 !important;
    }

    html body.page-home #section-history .company-history__lead {
        font-size: clamp(11px, 1.8dvh, 14px) !important;
        line-height: 1.35 !important;
    }

    html body.page-home #section-history .company-history__timeline {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) !important;
        grid-auto-rows: auto !important;
        gap: clamp(3px, .75dvh, 8px) !important;
        width: 100% !important;
        padding-left: 22px !important;
    }

    html body.page-home #section-history .company-history__timeline::before {
        top: 5px !important;
        bottom: 5px !important;
        left: 5px !important;
    }

    html body.page-home #section-history .company-history__event,
    html body.page-home #section-history .company-history__event:nth-child(odd),
    html body.page-home #section-history .company-history__event:nth-child(even) {
        grid-column: 1 !important;
        min-height: 0 !important;
        margin: 0 !important;
        padding: 0 0 0 9px !important;
        text-align: left !important;
        transform: none !important;
    }

    html body.page-home #section-history .company-history__event:nth-child(odd) .company-history__marker,
    html body.page-home #section-history .company-history__event:nth-child(even) .company-history__marker {
        top: 3px !important;
        left: -22px !important;
        right: auto !important;
        width: 9px !important;
        height: 9px !important;
        border-width: 3px !important;
    }

    html body.page-home #section-history .company-history__date {
        margin-bottom: 1px !important;
        font-size: clamp(11px, 1.7dvh, 13px) !important;
        line-height: 1.15 !important;
    }

    html body.page-home #section-history .company-history__content p {
        font-size: clamp(11px, 1.8dvh, 14px) !important;
        line-height: 1.25 !important;
    }
}


/* Mobile long panels: keep every item reachable without affecting desktop. */
@media (max-width: 860px) {
    html body.page-home .home-panel:not(#section-1):not(#section-trust-metrics):not(#section-history) {
        height: auto !important;
        min-height: calc(100vh - var(--home-header-height, 60px)) !important;
        min-height: calc(100svh - var(--home-header-height, 60px)) !important;
        min-height: calc(100dvh - var(--home-header-height, 60px)) !important;
        max-height: none !important;
        overflow: visible !important;
    }

    html body.page-home .home-panel:not(#section-1):not(#section-trust-metrics):not(#section-history) > .home-panel__inner {
        height: auto !important;
        min-height: calc(100vh - var(--home-header-height, 60px)) !important;
        min-height: calc(100svh - var(--home-header-height, 60px)) !important;
        min-height: calc(100dvh - var(--home-header-height, 60px)) !important;
        max-height: none !important;
        overflow: visible !important;
    }

    html body.page-home #section-3,
    html body.page-home #section-3 > .home-panel__inner,
    html body.page-home #section-3 .vision-layout,
    html body.page-home #section-trade-process,
    html body.page-home #section-trade-process > .home-panel__inner,
    html body.page-home #section-faq,
    html body.page-home #section-faq > .home-panel__inner {
        height: auto !important;
        max-height: none !important;
        overflow: visible !important;
    }

    html body.page-home #section-faq > .home-panel__inner {
        width: min(calc(100% - 24px), 620px) !important;
        margin-inline: auto !important;
        padding-inline: 0 !important;
    }

    html body.page-home #section-faq .faq,
    html body.page-home #section-faq .faq__header,
    html body.page-home #section-faq .faq__tabs,
    html body.page-home #section-faq .faq__categories,
    html body.page-home #section-faq .faq-category,
    html body.page-home #section-faq .faq-category__items,
    html body.page-home #section-faq .faq-item {
        width: 100% !important;
        min-width: 0 !important;
        max-width: 100% !important;
        margin-inline: 0 !important;
    }

    html body.page-home #section-faq .faq {
        display: block !important;
        transform: none !important;
    }

    html body.page-home #section-faq .faq__tabs {
        display: flex !important;
        overflow-x: auto !important;
        overflow-y: hidden !important;
        overscroll-behavior-inline: contain;
        scroll-padding-inline: 0;
    }

    html body.page-home #section-faq .faq-category {
        overflow: visible !important;
    }

    html body.page-home #section-faq .faq-item__question,
    html body.page-home #section-faq .faq-item__answer {
        min-width: 0 !important;
        overflow-wrap: break-word !important;
        word-break: keep-all !important;
    }
}


/* Mobile uses native continuous scrolling; section snap remains desktop-only. */
@media (max-width: 860px) {
    html.page-home,
    html.page-home body.page-home {
        scroll-snap-type: none !important;
    }

    html body.page-home .home-panel,
    html body.page-home #section-trust-metrics,
    html body.page-home .site-footer {
        scroll-snap-align: none !important;
        scroll-snap-stop: normal !important;
    }
}


/* Mobile business category tabs v1. */
.business-services__tabs {
    display: none;
}

@media (max-width: 860px) {
    html body.page-home #section-5 .business-services__tabs {
        display: grid;
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 6px;
        width: 100%;
        margin: 20px 0 16px;
    }

    html body.page-home #section-5 .business-services__tab {
        min-width: 0;
        min-height: 42px;
        padding: 8px 4px;
        border: 1px solid #d7e1f1;
        border-radius: 11px;
        background: #fff;
        color: #2f343a;
        font: inherit;
        font-size: 12px;
        font-weight: 700;
        line-height: 1.3;
        word-break: keep-all;
        overflow-wrap: normal;
        cursor: pointer;
        transition: background-color .2s ease, border-color .2s ease, color .2s ease;
    }

    html body.page-home #section-5 .business-services__tab.is-active {
        border-color: #1e5eff;
        background: #1e5eff;
        color: #fff;
    }

    html body.page-home #section-5 .business-service-card[hidden] {
        display: none !important;
    }

    html body.page-home #section-5 .business-service-card.is-business-tab-entering {
        animation: businessMobileTabEnter .38s cubic-bezier(.22, 1, .36, 1) both;
    }

    html body.page-home #section-5 .business-services__cards {
        margin-top: 0 !important;
    }
}

@keyframes businessMobileTabEnter {
    from {
        opacity: 0;
        transform: translateY(12px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}


/* Mobile business section: keep the category block visually centered. */
@media (max-width: 860px) {
    html body.page-home #section-5 > .home-panel__inner {
        display: grid !important;
        place-items: center !important;
        align-content: center !important;
        padding-top: 28px !important;
        padding-bottom: 28px !important;
    }

    html body.page-home #section-5 .business-services {
        width: 100% !important;
        margin-block: auto !important;
        position: relative !important;
        top: -6px !important;
    }
}


/* Mobile trade process: compact swipeable step rail. */
@media (max-width: 860px) {
    html body.page-home #section-trade-process,
    html body.page-home #section-trade-process > .home-panel__inner {
        width: 100% !important;
        height: auto !important;
        min-height: 0 !important;
        max-height: none !important;
        overflow: visible !important;
    }

    html body.page-home #section-trade-process > .home-panel__inner {
        padding: 34px 0 38px !important;
    }

    html body.page-home #section-trade-process .trade-process {
        width: 100% !important;
        gap: 20px !important;
    }

    html body.page-home #section-trade-process .trade-process__header {
        width: min(calc(100% - 36px), 420px) !important;
        margin-inline: auto !important;
        gap: 10px !important;
        padding-inline: 0 !important;
    }

    html body.page-home #section-trade-process .trade-process__title {
        font-size: clamp(29px, 8vw, 34px) !important;
        line-height: 1.12 !important;
    }

    html body.page-home #section-trade-process .trade-process__lead {
        font-size: 14px !important;
        line-height: 1.55 !important;
    }

    html body.page-home #section-trade-process .trade-process__steps {
        display: grid !important;
        grid-template-columns: none !important;
        grid-auto-flow: column !important;
        grid-auto-columns: min(82vw, 316px) !important;
        align-items: stretch !important;
        gap: 12px !important;
        width: 100% !important;
        margin: 0 !important;
        padding: 4px 18px 14px !important;
        overflow-x: auto !important;
        overflow-y: hidden !important;
        scroll-snap-type: x mandatory !important;
        scroll-padding-inline: 18px !important;
        overscroll-behavior-inline: contain !important;
        scrollbar-width: none !important;
    }

    html body.page-home #section-trade-process .trade-process__steps::-webkit-scrollbar {
        display: none !important;
    }

    html body.page-home #section-trade-process .trade-process__steps::before,
    html body.page-home #section-trade-process .trade-process-card::after {
        display: none !important;
    }

    html body.page-home #section-trade-process .trade-process-card {
        box-sizing: border-box !important;
        display: grid !important;
        grid-template-columns: 40px minmax(0, 1fr) !important;
        grid-template-rows: auto 1fr !important;
        column-gap: 12px !important;
        align-content: start !important;
        min-height: 218px !important;
        padding: 16px !important;
        border-radius: 14px !important;
        box-shadow: 0 7px 16px rgba(30, 67, 128, .1) !important;
        scroll-snap-align: center !important;
        overflow: hidden !important;
    }

    html body.page-home #section-trade-process .trade-process-card__number {
        position: static !important;
        width: 40px !important;
        height: 40px !important;
        font-size: 16px !important;
        transform: none !important;
    }

    html body.page-home #section-trade-process .trade-process-card__main {
        grid-column: 2 !important;
        align-self: center !important;
        justify-items: start !important;
        gap: 2px !important;
        text-align: left !important;
    }

    html body.page-home #section-trade-process .trade-process-card h3 {
        min-height: 0 !important;
        font-size: 16px !important;
        line-height: 1.35 !important;
    }

    html body.page-home #section-trade-process .trade-process-card__en {
        font-size: 11.5px !important;
        line-height: 1.3 !important;
    }

    html body.page-home #section-trade-process .trade-process-card__detail {
        grid-column: 1 / -1 !important;
        gap: 7px !important;
        margin-top: 12px !important;
        padding-top: 11px !important;
        opacity: 1 !important;
        visibility: visible !important;
        transform: none !important;
    }

    html body.page-home #section-trade-process .trade-process-card__detail p {
        font-size: 13.5px !important;
        line-height: 1.5 !important;
    }

    html body.page-home #section-trade-process .trade-process-card__detail small {
        font-size: 11.5px !important;
        line-height: 1.35 !important;
    }
}

/* Mobile product coverflow spacing and control direction. */
@media (max-width: 860px) {
    html body.page-home #section-7 .products-showcase__header {
        gap: 16px !important;
    }

    html body.page-home #section-7 .product-coverflow.is-coverflow-ready .products-showcase__frame {
        margin-top: 24px !important;
        padding: 0 !important;
    }

    html body.page-home #section-7 .product-coverflow.is-coverflow-ready .product-coverflow__button--prev span {
        transform: rotate(-135deg) !important;
        translate: 2px 0 !important;
    }
}

/* Mobile FAQ categories: show all five tabs without horizontal clipping. */
@media (max-width: 860px) {
    html body.page-home #section-faq .faq__tabs {
        display: flex !important;
        flex-wrap: wrap !important;
        gap: 8px !important;
        margin: 0 0 22px !important;
        padding: 2px 0 0 !important;
        overflow: visible !important;
    }

    html body.page-home #section-faq .faq__tab {
        flex: 1 1 calc(33.333% - 6px) !important;
        min-width: calc(33.333% - 6px) !important;
        max-width: none !important;
        min-height: 44px !important;
        padding: 8px 6px !important;
        font-size: 12px !important;
        line-height: 1.3 !important;
        white-space: normal !important;
    }
}

/* Mobile product controls: keep arrows outside the unchanged card bounds. */
@media (max-width: 860px) {
    html body.page-home #section-7 .product-coverflow.is-coverflow-ready .product-coverflow__button {
        top: calc((var(--product-coverflow-height) - 40px) / 2) !important;
        width: 40px !important;
        height: 40px !important;
    }

    html body.page-home #section-7 .product-coverflow__button--prev {
        left: -13px !important;
    }

    html body.page-home #section-7 .product-coverflow__button--next {
        right: -13px !important;
    }
}

/* Mobile certification note: keep the closing phrase on one line. */
@media (max-width: 860px) {
    html body.page-home.lang-ko #section-6 .business-safety__certification-keep {
        display: inline-block !important;
        white-space: nowrap !important;
    }
}

/* Mobile FAQ copy: wrap at word boundaries and avoid short orphaned lines. */
@media (max-width: 860px) {
    html body.page-home #section-faq .faq-item__question,
    html body.page-home #section-faq .faq-item p {
        white-space: normal !important;
        word-break: keep-all !important;
        overflow-wrap: normal !important;
        text-wrap: pretty !important;
        hyphens: none !important;
    }

    html body.page-home.lang-ko #section-faq .faq-item__keep-phrase {
        display: inline-block !important;
        white-space: nowrap !important;
    }
}

/* Mobile Korean CEO and vision descriptions: 0.1px below the shared 16px copy size. */
@media (max-width: 860px) {
    html body.page-home.lang-ko #section-4 .ceo-message__lead:not(.finf-description-size-exempt),
    html body.page-home.lang-ko #section-4 .ceo-message__body p:not(.ceo-message__signature-inline):not(.finf-description-size-exempt) {
        font-size: 15.9px !important;
    }

    html body.page-home.lang-ko #section-3 .vision-copy__body p:not(.finf-description-size-exempt),
    html body.page-home.lang-ko #section-3 .vision-quote p:not(.finf-description-size-exempt),
    html body.page-home.lang-ko #section-3 .vision-quote strong:not(.finf-description-size-exempt) {
        font-size: 15.9px !important;
    }

    html body.page-home #section-3 .vision-layout {
        padding-right: 0 !important;
        padding-left: 0 !important;
    }
}
