.elementor-614 .elementor-element.elementor-element-533ac53{--display:flex;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--margin-top:-40px;--margin-bottom:0px;--margin-left:25px;--margin-right:0px;}.elementor-614 .elementor-element.elementor-element-56f9581 .elementor-repeater-item-c67e541 .swiper-slide-bg{background-color:#833CA300;background-image:url(https://jgcore.shop/wp-content/uploads/2026/09/ChatGPT-Image-2026年10月1日-上午02_25_16.webp);background-size:cover;}.elementor-614 .elementor-element.elementor-element-56f9581 .swiper-slide{transition-duration:calc(3000ms*1.2);height:100vh;}.elementor-614 .elementor-element.elementor-element-56f9581{width:var( --container-widget-width, 98.016% );max-width:98.016%;margin:-60px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;--container-widget-width:98.016%;--container-widget-flex-grow:0;}.elementor-614 .elementor-element.elementor-element-56f9581.elementor-element{--flex-grow:0;--flex-shrink:0;}.elementor-614 .elementor-element.elementor-element-56f9581 .swiper-slide-contents{max-width:66%;}.elementor-614 .elementor-element.elementor-element-56f9581 .swiper-slide-inner{text-align:center;}.elementor-614 .elementor-element.elementor-element-23b9079{--display:flex;}.elementor-614 .elementor-element.elementor-element-75e9ba4{--display:flex;}.elementor-614 .elementor-element.elementor-element-6a72ccf{--display:flex;--margin-top:20px;--margin-bottom:20px;--margin-left:0px;--margin-right:0px;}.elementor-614 .elementor-element.elementor-element-57dc290{--display:flex;}.elementor-614 .elementor-element.elementor-element-6906280.elementor-wc-products ul.products li.product{--button-align-display:flex;--button-align-direction:column;--button-align-justify:space-between;}.elementor-614 .elementor-element.elementor-element-6906280.elementor-wc-products  ul.products{grid-column-gap:20px;grid-row-gap:40px;}.elementor-614 .elementor-element.elementor-element-6906280.elementor-wc-products ul.products li.product span.onsale{display:block;}.elementor-614 .elementor-element.elementor-element-1465e8b{--display:flex;--margin-top:20px;--margin-bottom:20px;--margin-left:0px;--margin-right:0px;}.elementor-614 .elementor-element.elementor-element-843192b{--display:flex;}.elementor-614 .elementor-element.elementor-element-f6656ef{--display:flex;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;}.elementor-614 .elementor-element.elementor-element-97e34ea.elementor-wc-products  ul.products{grid-column-gap:20px;grid-row-gap:40px;}.elementor-614 .elementor-element.elementor-element-97e34ea.elementor-wc-products ul.products li.product span.onsale{display:block;}.elementor-614 .elementor-element.elementor-element-dd72c17{--display:flex;--margin-top:20px;--margin-bottom:20px;--margin-left:0px;--margin-right:0px;}.elementor-614 .elementor-element.elementor-element-5846a83{--display:flex;}@media(max-width:1024px){.elementor-614 .elementor-element.elementor-element-6906280.elementor-wc-products  ul.products{grid-column-gap:20px;grid-row-gap:40px;}.elementor-614 .elementor-element.elementor-element-97e34ea.elementor-wc-products  ul.products{grid-column-gap:20px;grid-row-gap:40px;}}@media(min-width:768px){.elementor-614 .elementor-element.elementor-element-533ac53{--width:100%;}.elementor-614 .elementor-element.elementor-element-23b9079{--content-width:1700px;}.elementor-614 .elementor-element.elementor-element-75e9ba4{--content-width:1700px;}.elementor-614 .elementor-element.elementor-element-57dc290{--content-width:1700px;}.elementor-614 .elementor-element.elementor-element-f6656ef{--content-width:1700px;}.elementor-614 .elementor-element.elementor-element-5846a83{--content-width:1700px;}}@media(max-width:767px){.elementor-614 .elementor-element.elementor-element-533ac53{--margin-top:-90px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;}.elementor-614 .elementor-element.elementor-element-56f9581{width:100%;max-width:100%;margin:45px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;}.elementor-614 .elementor-element.elementor-element-56f9581 .swiper-slide{height:25vh;}.elementor-614 .elementor-element.elementor-element-6906280.elementor-wc-products  ul.products{grid-column-gap:20px;grid-row-gap:40px;}.elementor-614 .elementor-element.elementor-element-97e34ea.elementor-wc-products  ul.products{grid-column-gap:20px;grid-row-gap:40px;}}/* Start custom CSS for html, class: .elementor-element-e253b8a *//* =========================================================
   AOD｜獨立標題＋詳情敘述模塊
   ========================================================= */

.aod-feature-heading {

    --aod-heading-dark: #1A2332;
    --aod-heading-muted: #5A6A7A;

    --aod-heading-primary: #5B8DEF;
    --aod-heading-purple: #7B6CF0;
    --aod-heading-teal: #4ECDC4;

    --aod-heading-soft: #E8F0F8;

    width: 100%;

    box-sizing: border-box;

    font-family:
        "Noto Sans TC",
        "PingFang TC",
        "Microsoft JhengHei",
        sans-serif;

}


/* =========================================================
   主要容器
   ========================================================= */

.aod-feature-heading__inner {

    display: flex;

    align-items: flex-end;

    justify-content: space-between;

    gap: 60px;

    width: 100%;

    box-sizing: border-box;

}


/* =========================================================
   左側內容
   ========================================================= */

.aod-feature-heading__content {

    max-width: 850px;

}


/* =========================================================
   小標
   ========================================================= */

.aod-feature-heading__eyebrow {

    display: flex;

    align-items: center;

    gap: 10px;

    margin-bottom: 18px;

    color: var(--aod-heading-primary);

    font-size: 13px;

    font-weight: 600;

    letter-spacing: 0.08em;

    line-height: 1.5;

}


/* 小圓點 */

.aod-feature-heading__dot {

    position: relative;

    width: 7px;
    height: 7px;

    flex: 0 0 7px;

    border-radius: 50%;

    background: var(--aod-heading-primary);

}


/* 圓點呼吸 */

.aod-feature-heading__dot::after {

    content: "";

    position: absolute;

    inset: -4px;

    border-radius: 50%;

    background: rgba(91, 141, 239, 0.18);

    animation:
        aod-heading-pulse
        2.8s ease-in-out infinite;

}


@keyframes aod-heading-pulse {

    0%,
    100% {

        transform: scale(0.7);

        opacity: 0.3;

    }

    50% {

        transform: scale(1.15);

        opacity: 1;

    }

}


/* =========================================================
   小標裝飾線
   ========================================================= */

.aod-feature-heading__line {

    display: block;

    width: 45px;

    height: 1px;

    margin-left: 2px;

    background:
        linear-gradient(
            90deg,
            rgba(91, 141, 239, 0.8),
            rgba(91, 141, 239, 0)
        );

    transform-origin: left center;

    transition:
        width 0.55s
        cubic-bezier(0.22, 1, 0.36, 1);

}


/* 滑過整個標題區 */

.aod-feature-heading:hover
.aod-feature-heading__line {

    width: 75px;

}


/* =========================================================
   主標題
   ========================================================= */

.aod-feature-heading__title {

    position: relative;

    display: inline-block;

    margin: 0;

    padding: 0;

    color: var(--aod-heading-dark);

    font-size: clamp(36px, 3.3vw, 58px);

    font-weight: 650;

    letter-spacing: -0.04em;

    line-height: 1.18;

}


/* 「好物」 */

.aod-feature-heading__title span {

    position: relative;

    display: inline-block;

    z-index: 1;

    margin-left: 4px;

}


/* 「好物」底部柔和色帶 */

.aod-feature-heading__title span::after {

    content: "";

    position: absolute;

    z-index: -1;

    left: 0;

    right: -5px;

    bottom: 2px;

    height: 9px;

    border-radius: 999px;

    background:
        linear-gradient(
            90deg,
            rgba(91, 141, 239, 0.17),
            rgba(123, 108, 240, 0.14),
            rgba(78, 205, 196, 0.12)
        );

    transform-origin: left center;

    transform: scaleX(0.2);

    transition:
        transform 0.65s
        cubic-bezier(0.22, 1, 0.36, 1);

}


.aod-feature-heading:hover
.aod-feature-heading__title span::after {

    transform: scaleX(1);

}


/* =========================================================
   詳情敘述
   ========================================================= */

.aod-feature-heading__description {

    max-width: 690px;

    margin: 20px 0 0;

    padding: 0;

    color: var(--aod-heading-muted);

    font-size: 16px;

    font-weight: 400;

    letter-spacing: 0.015em;

    line-height: 1.9;

}


/* =========================================================
   右側裝飾
   ========================================================= */

.aod-feature-heading__side {

    display: flex;

    flex-direction: column;

    align-items: flex-end;

    justify-content: flex-end;

    flex: 0 0 auto;

    padding-bottom: 5px;

    user-select: none;

}


/* TRENDING PICKS */

.aod-feature-heading__side-label {

    margin-bottom: 9px;

    color: rgba(90, 106, 122, 0.62);

    font-family: Arial, sans-serif;

    font-size: 10px;

    font-weight: 600;

    letter-spacing: 0.2em;

}


/* 01 / CURATED */

.aod-feature-heading__side-number {

    color: var(--aod-heading-dark);

    font-family: Arial, sans-serif;

    font-size: 12px;

    font-weight: 500;

    letter-spacing: 0.12em;

}


.aod-feature-heading__side-number span {

    margin: 0 5px;

    color: rgba(90, 106, 122, 0.35);

}


/* =========================================================
   滑鼠互動
   ========================================================= */

@media (hover: hover) {

    .aod-feature-heading__title {

        transition:
            transform 0.45s
            cubic-bezier(0.22, 1, 0.36, 1);

    }


    .aod-feature-heading:hover
    .aod-feature-heading__title {

        transform: translateX(3px);

    }


    .aod-feature-heading__description {

        transition:
            color 0.35s ease;

    }


    .aod-feature-heading:hover
    .aod-feature-heading__description {

        color: #4F6072;

    }

}


/* =========================================================
   Tablet
   ========================================================= */

@media (max-width: 1024px) {

    .aod-feature-heading__inner {

        gap: 35px;

    }


    .aod-feature-heading__content {

        max-width: 720px;

    }


    .aod-feature-heading__title {

        font-size: clamp(34px, 4.5vw, 48px);

    }


    .aod-feature-heading__description {

        max-width: 600px;

        font-size: 15px;

        line-height: 1.8;

    }

}


/* =========================================================
   Mobile
   ========================================================= */

@media (max-width: 767px) {

    .aod-feature-heading__inner {

        display: block;

    }


    .aod-feature-heading__content {

        max-width: none;

    }


    .aod-feature-heading__eyebrow {

        margin-bottom: 13px;

        font-size: 12px;

    }


    .aod-feature-heading__line {

        width: 30px;

    }


    .aod-feature-heading__title {

        font-size: clamp(30px, 8.5vw, 38px);

        line-height: 1.22;

        letter-spacing: -0.035em;

    }


    .aod-feature-heading__description {

        max-width: none;

        margin-top: 14px;

        font-size: 14px;

        line-height: 1.75;

        letter-spacing: 0;

    }


    /*
     * 手機版隱藏右側英文資訊
     * 減少高度，讓商品更快出現
     */

    .aod-feature-heading__side {

        display: none;

    }

}


/* =========================================================
   小手機
   ========================================================= */

@media (max-width: 480px) {

    .aod-feature-heading__title {

        font-size: 29px;

    }


    .aod-feature-heading__description {

        font-size: 13.5px;

        line-height: 1.72;

    }

}


/* =========================================================
   使用者偏好「減少動畫」
   ========================================================= */

@media (prefers-reduced-motion: reduce) {

    .aod-feature-heading__dot::after {

        animation: none;

    }


    .aod-feature-heading__line,
    .aod-feature-heading__title,
    .aod-feature-heading__title span::after,
    .aod-feature-heading__description {

        transition: none;

    }

}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-3913fc3 *//* =========================================================
   AOD PRODUCT SHOWCASE
   商品展示模塊專用 CSS
   所有樣式均限制在 .aod-product-showcase 之內
   ========================================================= */

.aod-product-showcase {
    --aod-primary: #5B8DEF;
    --aod-secondary: #7B6CF0;
    --aod-accent: #4ECDC4;

    --aod-dark: #1A2332;
    --aod-muted: #5A6A7A;

    --aod-page-bg: #F7F9FC;
    --aod-card-bg: #FFFFFF;
    --aod-soft-bg: #EEF2F7;

    --aod-radius: 20px;
    --aod-gap: 22px;

    width: 100%;
    max-width: 1700px;
    margin-left: auto;
    margin-right: auto;

    box-sizing: border-box;
}


/* =========================================================
   Grid
   Desktop：
   第一排 2 欄
   第二排 3 欄
   第三排 1 欄
   ========================================================= */

.aod-product-showcase .aod-product-grid {
    display: grid;

    grid-template-columns:
        repeat(6, minmax(0, 1fr));

    gap: var(--aod-gap);

    width: 100%;
}


/* =========================================================
   商品卡片
   ========================================================= */

.aod-product-showcase .aod-product-card {
    grid-column: span 2;

    min-width: 0;

    background: var(--aod-card-bg);

    border: 1px solid rgba(26, 35, 50, 0.055);

    border-radius: var(--aod-radius);

    overflow: hidden;

    box-shadow:
        0 8px 28px rgba(30, 50, 80, 0.045);

    transform: translate3d(0, 0, 0);

    transition:
        transform 0.42s cubic-bezier(0.22, 1, 0.36, 1),
        box-shadow 0.42s cubic-bezier(0.22, 1, 0.36, 1),
        border-color 0.42s ease;

    will-change: transform;
}


/* =========================================================
   第一排：
   兩個商品，各佔 3 欄
   ========================================================= */

.aod-product-showcase .aod-product-card:nth-child(1),
.aod-product-showcase .aod-product-card:nth-child(2) {
    grid-column: span 3;
}


/* =========================================================
   第三排：
   商品 06 全寬
   ========================================================= */

.aod-product-showcase .aod-product-card--featured {
    grid-column: 1 / -1;
}


/* =========================================================
   Hover / Focus
   輕微上浮
   ========================================================= */

@media (hover: hover) {

    .aod-product-showcase .aod-product-card:hover,
    .aod-product-showcase .aod-product-card--active {
        transform: translate3d(0, -7px, 0);

        border-color: rgba(91, 141, 239, 0.12);

        box-shadow:
            0 18px 42px rgba(30, 50, 80, 0.095);
    }

}


/* =========================================================
   商品圖片區
   保持真正 1:1
   ========================================================= */

.aod-product-showcase .aod-product-image-link {
    display: block;

    width: 100%;

    text-decoration: none;

    color: inherit;
}


.aod-product-showcase .aod-product-image-wrap {
    position: relative;

    width: 100%;

    aspect-ratio: 1 / 1;

    overflow: hidden;

    background:
        linear-gradient(
            145deg,
            #F7F9FC 0%,
            #EEF2F7 100%
        );
}


/* =========================================================
   商品圖片
   ========================================================= */

.aod-product-showcase .aod-product-image-wrap img {
    display: block;

    width: 100%;
    height: 100%;

    object-fit: cover;

    transform: scale(1);

    transition:
        transform 0.58s cubic-bezier(0.22, 1, 0.36, 1);

    will-change: transform;
}


/* =========================================================
   Hover 圖片輕微放大
   ========================================================= */

@media (hover: hover) {

    .aod-product-showcase .aod-product-card:hover
    .aod-product-image-wrap img,

    .aod-product-showcase .aod-product-card--active
    .aod-product-image-wrap img {

        transform: scale(1.025);

    }

}


/* =========================================================
   商品資訊
   ========================================================= */

.aod-product-showcase .aod-product-info {
    display: flex;

    align-items: center;
    justify-content: space-between;

    gap: 20px;

    padding: 20px 21px 21px;
}


/* =========================================================
   商品名稱 + 價格
   ========================================================= */

.aod-product-showcase .aod-product-text {
    min-width: 0;

    flex: 1;
}


.aod-product-showcase .aod-product-name {
    margin: 0 0 7px;

    padding: 0;

    color: var(--aod-dark);

    font-family:
        "Noto Sans TC",
        "PingFang TC",
        "Microsoft JhengHei",
        sans-serif;

    font-size: 17px;

    font-weight: 600;

    line-height: 1.55;

    letter-spacing: 0.01em;

    overflow: hidden;

    text-overflow: ellipsis;

    display: -webkit-box;

    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
}


.aod-product-showcase .aod-product-price {
    color: var(--aod-muted);

    font-family:
        "Noto Sans TC",
        "PingFang TC",
        "Microsoft JhengHei",
        sans-serif;

    font-size: 15px;

    font-weight: 500;

    line-height: 1.4;

    letter-spacing: 0.01em;
}


/* =========================================================
   查看商品按鈕
   ========================================================= */

.aod-product-showcase .aod-product-button {
    position: relative;

    flex: 0 0 auto;

    display: inline-flex;

    align-items: center;
    justify-content: center;

    gap: 7px;

    min-height: 42px;

    padding: 0 16px;

    border-radius: 12px;

    background: var(--aod-primary);

    color: #FFFFFF;

    font-family:
        "Noto Sans TC",
        "PingFang TC",
        "Microsoft JhengHei",
        sans-serif;

    font-size: 14px;

    font-weight: 600;

    line-height: 1;

    letter-spacing: 0.01em;

    text-decoration: none;

    overflow: hidden;

    box-shadow:
        0 7px 18px rgba(91, 141, 239, 0.20);

    transition:
        transform 0.32s cubic-bezier(0.22, 1, 0.36, 1),
        background-color 0.32s ease,
        box-shadow 0.32s ease;
}


/* =========================================================
   按鈕內的光澤
   ========================================================= */

.aod-product-showcase .aod-product-button::before {
    content: "";

    position: absolute;

    top: 0;
    left: -120%;

    width: 75%;
    height: 100%;

    background:
        linear-gradient(
            100deg,
            transparent 0%,
            rgba(255, 255, 255, 0.28) 50%,
            transparent 100%
        );

    transform: skewX(-18deg);

    transition:
        left 0.65s cubic-bezier(0.22, 1, 0.36, 1);
}


@media (hover: hover) {

    .aod-product-showcase .aod-product-button:hover {

        background: #4D80E0;

        transform: translateY(-2px);

        box-shadow:
            0 10px 22px rgba(91, 141, 239, 0.28);

    }


    .aod-product-showcase .aod-product-button:hover::before {

        left: 135%;

    }

}


/* =========================================================
   按鈕箭頭
   ========================================================= */

.aod-product-showcase .aod-product-button svg {

    width: 17px;
    height: 17px;

    fill: none;

    stroke: currentColor;

    stroke-width: 1.7;

    stroke-linecap: round;
    stroke-linejoin: round;

    transition:
        transform 0.32s cubic-bezier(0.22, 1, 0.36, 1);
}


@media (hover: hover) {

    .aod-product-showcase .aod-product-button:hover svg {

        transform: translateX(3px);

    }

}


/* =========================================================
   Featured 商品
   第六個商品在 Desktop 使用橫向展示
   仍然維持商品圖片 1:1
   ========================================================= */

@media (min-width: 1101px) {

    .aod-product-showcase .aod-product-card--featured {

        display: grid;

        grid-template-columns:
            minmax(0, 0.9fr)
            minmax(300px, 1.1fr);

        align-items: center;

    }


    .aod-product-showcase
    .aod-product-card--featured
    .aod-product-image-wrap {

        max-width: 560px;

        margin: 0 auto;

    }


    .aod-product-showcase
    .aod-product-card--featured
    .aod-product-info {

        padding: 36px 55px 36px 35px;

    }


    .aod-product-showcase
    .aod-product-card--featured
    .aod-product-name {

        font-size: 21px;

    }


    .aod-product-showcase
    .aod-product-card--featured
    .aod-product-price {

        font-size: 17px;

    }

}


/* =========================================================
   Tablet
   2 欄
   ========================================================= */

@media (max-width: 1100px) {

    .aod-product-showcase {
        padding-left: 20px;
        padding-right: 20px;
    }


    .aod-product-showcase .aod-product-grid {

        grid-template-columns:
            repeat(2, minmax(0, 1fr));

        gap: 18px;

    }


    .aod-product-showcase .aod-product-card,
    .aod-product-showcase .aod-product-card:nth-child(1),
    .aod-product-showcase .aod-product-card:nth-child(2),
    .aod-product-showcase .aod-product-card--featured {

        grid-column: span 1;

    }


    .aod-product-showcase
    .aod-product-card--featured {

        display: block;

    }


    .aod-product-showcase
    .aod-product-card--featured
    .aod-product-image-wrap {

        max-width: none;

    }


    .aod-product-showcase
    .aod-product-card--featured
    .aod-product-info {

        padding: 18px;

    }


    .aod-product-showcase
    .aod-product-card--featured
    .aod-product-name {

        font-size: 17px;

    }

}


/* =========================================================
   Mobile
   2 / 2 / 2
   ========================================================= */

@media (max-width: 767px) {

    .aod-product-showcase {

        padding-left: 12px;
        padding-right: 12px;

    }


    .aod-product-showcase .aod-product-grid {

        grid-template-columns:
            repeat(2, minmax(0, 1fr));

        gap: 12px;

    }


    .aod-product-showcase .aod-product-card,
    .aod-product-showcase .aod-product-card:nth-child(1),
    .aod-product-showcase .aod-product-card:nth-child(2),
    .aod-product-showcase .aod-product-card--featured {

        grid-column: span 1;

    }


    .aod-product-showcase .aod-product-card {

        border-radius: 15px;

        box-shadow:
            0 5px 18px rgba(30, 50, 80, 0.045);

    }


    /*
     * 手機不要上浮太多
     */
    @media (hover: hover) {

        .aod-product-showcase .aod-product-card:hover,
        .aod-product-showcase .aod-product-card--active {

            transform: translate3d(0, -4px, 0);

            box-shadow:
                0 12px 25px rgba(30, 50, 80, 0.08);

        }

    }


    .aod-product-showcase .aod-product-info {

        display: block;

        padding: 13px 13px 14px;

    }


    .aod-product-showcase .aod-product-name {

        margin-bottom: 5px;

        font-size: 14px;

        line-height: 1.45;

    }


    .aod-product-showcase .aod-product-price {

        margin-bottom: 11px;

        font-size: 13px;

    }


    .aod-product-showcase .aod-product-button {

        width: 100%;

        min-height: 36px;

        padding: 0 10px;

        border-radius: 10px;

        font-size: 13px;

        box-shadow:
            0 5px 14px rgba(91, 141, 239, 0.16);

    }


    .aod-product-showcase .aod-product-button svg {

        width: 15px;
        height: 15px;

    }

}


/* =========================================================
   更小的手機
   ========================================================= */

@media (max-width: 390px) {

    .aod-product-showcase {

        padding-left: 9px;
        padding-right: 9px;

    }


    .aod-product-showcase .aod-product-grid {

        gap: 9px;

    }


    .aod-product-showcase .aod-product-info {

        padding: 11px 11px 12px;

    }


    .aod-product-showcase .aod-product-name {

        font-size: 13px;

    }


    .aod-product-showcase .aod-product-price {

        font-size: 12px;

    }


    .aod-product-showcase .aod-product-button {

        min-height: 34px;

        font-size: 12px;

    }

}


/* =========================================================
   無障礙：使用鍵盤操作時
   ========================================================= */

.aod-product-showcase
.aod-product-button:focus-visible,
.aod-product-showcase
.aod-product-image-link:focus-visible {

    outline: 3px solid rgba(91, 141, 239, 0.28);

    outline-offset: 3px;

}


/* =========================================================
   使用者系統設定為「減少動畫」
   時，降低動畫
   ========================================================= */

@media (prefers-reduced-motion: reduce) {

    .aod-product-showcase *,
    .aod-product-showcase *::before,
    .aod-product-showcase *::after {

        transition-duration: 0.01ms !important;

        animation-duration: 0.01ms !important;

        animation-iteration-count: 1 !important;

        scroll-behavior: auto !important;

    }

}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-44b3844 *//* =========================================================
   AOD｜產品分割線＋查看所有產品按鈕
   ========================================================= */

.aod-product-divider {

    --aod-divider-primary: #5B8DEF;
    --aod-divider-dark: #1A2332;
    --aod-divider-muted: #5A6A7A;

    width: 100%;

    display: flex;

    align-items: center;

    gap: 22px;

    box-sizing: border-box;

    font-family:
        "Noto Sans TC",
        "PingFang TC",
        "Microsoft JhengHei",
        sans-serif;

}


/* =========================================================
   左右分割線
   ========================================================= */

.aod-product-divider__line {

    flex: 1 1 auto;

    height: 1px;

    min-width: 30px;

    background:
        linear-gradient(
            90deg,
            rgba(90, 106, 122, 0),
            rgba(90, 106, 122, 0.14)
        );

}


/* 右側線反轉漸層 */

.aod-product-divider__line:last-child {

    background:
        linear-gradient(
            90deg,
            rgba(90, 106, 122, 0.14),
            rgba(90, 106, 122, 0)
        );

}


/* =========================================================
   中間按鈕
   ========================================================= */

.aod-product-divider__button {

    position: relative;

    display: inline-flex;

    align-items: center;

    justify-content: center;

    gap: 11px;

    flex: 0 0 auto;

    min-height: 46px;

    padding: 0 18px 0 21px;

    border: 1px solid rgba(90, 106, 122, 0.14);

    border-radius: 999px;

    background: rgba(255, 255, 255, 0.72);

    color: var(--aod-divider-dark);

    text-decoration: none;

    font-size: 13px;

    font-weight: 500;

    letter-spacing: 0.025em;

    line-height: 1;

    box-shadow:
        0 4px 16px rgba(30, 50, 80, 0.035);

    transition:
        color 0.35s ease,
        background 0.35s ease,
        border-color 0.35s ease,
        box-shadow 0.4s ease,
        transform 0.4s cubic-bezier(0.22, 1, 0.36, 1);

}


/* =========================================================
   按鈕文字
   ========================================================= */

.aod-product-divider__button-text {

    white-space: nowrap;

}


/* =========================================================
   箭頭容器
   ========================================================= */

.aod-product-divider__button-arrow {

    display: flex;

    align-items: center;

    justify-content: center;

    width: 25px;

    height: 25px;

    border-radius: 50%;

    background: rgba(91, 141, 239, 0.09);

    color: var(--aod-divider-primary);

    transition:
        background 0.35s ease,
        color 0.35s ease,
        transform 0.45s cubic-bezier(0.22, 1, 0.36, 1);

}


/* SVG */

.aod-product-divider__button-arrow svg {

    display: block;

    width: 14px;

    height: 14px;

    fill: none;

    stroke: currentColor;

    stroke-width: 1.6;

    stroke-linecap: round;

    stroke-linejoin: round;

}


/* =========================================================
   Hover
   ========================================================= */

@media (hover: hover) {

    .aod-product-divider__button:hover {

        color: #FFFFFF;

        background: var(--aod-divider-primary);

        border-color: var(--aod-divider-primary);

        box-shadow:
            0 10px 26px rgba(91, 141, 239, 0.18);

        transform: translateY(-2px);

    }


    .aod-product-divider__button:hover
    .aod-product-divider__button-arrow {

        background: rgba(255, 255, 255, 0.18);

        color: #FFFFFF;

        transform: translateX(3px);

    }


    .aod-product-divider__button:active {

        transform: translateY(0);

    }

}


/* =========================================================
   Focus
   ========================================================= */

.aod-product-divider__button:focus-visible {

    outline: none;

    border-color: var(--aod-divider-primary);

    box-shadow:
        0 0 0 4px rgba(91, 141, 239, 0.14);

}


/* =========================================================
   Tablet
   ========================================================= */

@media (max-width: 1024px) {

    .aod-product-divider {

        gap: 18px;

    }


    .aod-product-divider__button {

        min-height: 44px;

        padding-left: 18px;

        padding-right: 16px;

    }

}


/* =========================================================
   Mobile
   ========================================================= */

@media (max-width: 767px) {

    .aod-product-divider {

        gap: 12px;

    }


    .aod-product-divider__button {

        min-height: 42px;

        padding:
            0 14px
            0 17px;

        font-size: 12px;

    }


    .aod-product-divider__button-arrow {

        width: 23px;

        height: 23px;

    }


    .aod-product-divider__button-arrow svg {

        width: 13px;

        height: 13px;

    }


    .aod-product-divider__line {

        min-width: 15px;

    }

}


/* =========================================================
   小手機
   ========================================================= */

@media (max-width: 480px) {

    .aod-product-divider {

        gap: 9px;

    }


    .aod-product-divider__button {

        padding-left: 15px;

        padding-right: 13px;

    }


    .aod-product-divider__line {

        min-width: 10px;

    }

}


/* =========================================================
   減少動畫
   ========================================================= */

@media (prefers-reduced-motion: reduce) {

    .aod-product-divider__button,
    .aod-product-divider__button-arrow {

        transition: none;

    }

}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-9f39da0 *//* =========================================================
   PRODUCT COLLECTION
   Namespace: ecx-product-collection
   ========================================================= */

.ecx-product-collection {
  --ecx-blue: #5B8DEF;
  --ecx-purple: #7B6CF0;
  --ecx-mint: #4ECDC4;

  --ecx-dark: #1A2332;
  --ecx-text: #5A6A7A;

  --ecx-border: #E8F0F8;
  --ecx-soft: #EEF2F7;
  --ecx-bg: #F7F9FC;

  --ecx-white: rgba(255,255,255,.78);

  width: 100%;
  padding: 90px 24px;
  background: var(--ecx-bg);
  box-sizing: border-box;
  overflow: hidden;
}

.ecx-product-collection *,
.ecx-product-collection *::before,
.ecx-product-collection *::after {
  box-sizing: border-box;
}


/* =========================================================
   SHELL
   ========================================================= */

.ecx-pc-shell {
  width: min(1700px, 100%);
  margin: 0 auto;
  position: relative;
}


/* =========================================================
   HEADER
   ========================================================= */

.ecx-pc-header {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 40px;

  margin-bottom: 42px;
  position: relative;
  z-index: 2;
}

.ecx-pc-heading {
  max-width: 760px;
}

.ecx-pc-eyebrow {
  display: flex;
  align-items: center;
  gap: 11px;

  margin-bottom: 15px;

  font-family: Arial, Helvetica, sans-serif;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .19em;
  color: var(--ecx-blue);
}

.ecx-pc-eyebrow-line {
  width: 28px;
  height: 1px;
  background: var(--ecx-blue);
  display: inline-block;
}

.ecx-pc-title {
  margin: 0;
  color: var(--ecx-dark);

  font-size: clamp(32px, 3vw, 52px);
  line-height: 1.15;
  letter-spacing: -.035em;
  font-weight: 700;
}

.ecx-pc-intro {
  margin: 16px 0 0;
  max-width: 600px;

  color: var(--ecx-text);
  font-size: 15px;
  line-height: 1.8;
}

.ecx-pc-header-mark {
  width: 94px;
  height: 94px;

  border-radius: 50%;

  border: 1px solid rgba(91,141,239,.18);

  display: flex;
  align-items: center;
  justify-content: center;

  position: relative;

  color: var(--ecx-blue);

  font-family: Arial, Helvetica, sans-serif;
  font-size: 13px;
  letter-spacing: .08em;

  flex-shrink: 0;
}

.ecx-pc-header-mark::before {
  content: "";
  position: absolute;
  inset: 9px;

  border-radius: 50%;

  border: 1px dashed rgba(123,108,240,.22);
}

.ecx-pc-header-mark i {
  position: absolute;
  width: 5px;
  height: 5px;

  border-radius: 50%;

  background: var(--ecx-mint);

  top: 17px;
  right: 20px;
}


/* =========================================================
   MAIN LAYOUT
   ========================================================= */

.ecx-pc-layout {
  display: grid;

  grid-template-columns:
    minmax(0, 1.55fr)
    minmax(300px, .92fr);

  grid-template-rows:
    auto
    auto;

  gap: 20px;

  position: relative;
}


/* =========================================================
   ALL CLICKABLE ITEMS
   ========================================================= */

.ecx-pc-card,
.ecx-pc-independent {
  position: relative;

  display: block;

  text-decoration: none;

  color: inherit;

  overflow: hidden;

  transition:
    transform .38s cubic-bezier(.22,.61,.36,1),
    box-shadow .38s ease,
    border-color .38s ease,
    background .38s ease;
}


/* =========================================================
   CORE CARD
   ========================================================= */

.ecx-pc-core {

  min-height: 470px;

  padding: 42px;

  border-radius: 30px;

  border: 1px solid rgba(255,255,255,.9);

  background:
    linear-gradient(
      145deg,
      rgba(255,255,255,.92),
      rgba(255,255,255,.66)
    );

  box-shadow:
    0 20px 55px rgba(31,56,88,.07),
    inset 0 1px 0 rgba(255,255,255,.95);

  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);

  grid-row: 1 / 3;
}

.ecx-pc-core::before {
  content: "";

  position: absolute;

  width: 360px;
  height: 360px;

  right: -110px;
  bottom: -140px;

  border-radius: 50%;

  background:
    radial-gradient(
      circle,
      rgba(91,141,239,.13) 0%,
      rgba(91,141,239,0) 70%
    );

  pointer-events: none;
}

.ecx-pc-card-glow {
  position: absolute;

  width: 260px;
  height: 260px;

  left: -100px;
  top: -100px;

  border-radius: 50%;

  background:
    radial-gradient(
      circle,
      rgba(78,205,196,.08),
      transparent 68%
    );

  pointer-events: none;

  transition:
    transform .65s cubic-bezier(.22,.61,.36,1);
}


/* =========================================================
   CARD TOP
   ========================================================= */

.ecx-pc-card-top {
  display: flex;
  align-items: center;
  justify-content: space-between;

  position: relative;
  z-index: 2;
}

.ecx-pc-number {
  font-family: Arial, Helvetica, sans-serif;

  font-size: 12px;
  font-weight: 700;

  letter-spacing: .16em;

  color: var(--ecx-blue);
}

.ecx-pc-label {
  font-family: Arial, Helvetica, sans-serif;

  font-size: 10px;
  font-weight: 700;

  letter-spacing: .18em;

  color: #8996A6;
}


/* =========================================================
   CORE ICON
   ========================================================= */

.ecx-pc-core-icon {

  position: absolute;

  right: 42px;
  top: 82px;

  width: 72px;
  height: 72px;

  display: flex;
  align-items: center;
  justify-content: center;

  color: var(--ecx-blue);

  opacity: .88;

  transition:
    transform .5s cubic-bezier(.22,.61,.36,1);
}

.ecx-pc-core-icon svg {
  width: 100%;
  height: 100%;
}

.ecx-pc-core-icon circle,
.ecx-pc-core-icon path {
  stroke: currentColor;
  stroke-width: 1.2;
  vector-effect: non-scaling-stroke;
}


/* =========================================================
   CORE CONTENT
   ========================================================= */

.ecx-pc-card-content {

  position: absolute;

  left: 42px;
  right: 42px;
  bottom: 42px;

  z-index: 2;
}

.ecx-pc-card-content h3 {

  margin: 0;

  color: var(--ecx-dark);

  font-size: clamp(28px, 2.4vw, 42px);
  line-height: 1.15;

  letter-spacing: -.035em;

  font-weight: 700;
}

.ecx-pc-card-content p {

  margin: 15px 0 0;

  max-width: 440px;

  color: var(--ecx-text);

  font-size: 14px;
  line-height: 1.8;
}


/* =========================================================
   RELATED AREA
   ========================================================= */

.ecx-pc-related {

  display: grid;

  grid-template-columns: repeat(2, minmax(0, 1fr));

  gap: 20px;

  position: relative;
}

.ecx-pc-related-heading {

  grid-column: 1 / -1;

  display: flex;
  align-items: center;

  gap: 10px;

  height: 18px;

  color: #8A96A5;

  font-family: Arial, Helvetica, sans-serif;

  font-size: 10px;
  font-weight: 700;

  letter-spacing: .18em;
}

.ecx-pc-related-line {

  width: 24px;
  height: 1px;

  background: rgba(91,141,239,.5);
}


/* =========================================================
   SMALL CARDS
   ========================================================= */

.ecx-pc-small {

  min-height: 200px;

  padding: 27px;

  border-radius: 24px;

  border: 1px solid rgba(255,255,255,.92);

  background:
    linear-gradient(
      145deg,
      rgba(255,255,255,.86),
      rgba(255,255,255,.60)
    );

  box-shadow:
    0 14px 38px rgba(31,56,88,.055),
    inset 0 1px 0 rgba(255,255,255,.95);

  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
}

.ecx-pc-small::after {

  content: "";

  position: absolute;

  width: 100px;
  height: 100px;

  right: -45px;
  bottom: -45px;

  border-radius: 50%;

  background:
    radial-gradient(
      circle,
      rgba(91,141,239,.08),
      transparent 70%
    );

  pointer-events: none;
}


/* =========================================================
   SMALL ICON
   ========================================================= */

.ecx-pc-mini-icon {

  width: 36px;
  height: 36px;

  display: flex;
  align-items: center;
  justify-content: center;

  color: var(--ecx-purple);

  transition:
    transform .4s cubic-bezier(.22,.61,.36,1);
}

.ecx-pc-mini-icon svg {

  width: 100%;
  height: 100%;
}

.ecx-pc-mini-icon svg * {

  stroke: currentColor;
  stroke-width: 1.1;
  vector-effect: non-scaling-stroke;
}


/* =========================================================
   SMALL CONTENT
   ========================================================= */

.ecx-pc-small-content {

  position: absolute;

  left: 27px;
  bottom: 27px;
  right: 27px;
}

.ecx-pc-small-content h3 {

  margin: 0;

  color: var(--ecx-dark);

  font-size: 19px;
  line-height: 1.35;

  letter-spacing: -.02em;
}

.ecx-pc-small-content p {

  margin: 5px 0 0;

  color: var(--ecx-text);

  font-size: 12px;
  line-height: 1.5;
}


/* =========================================================
   ARROW
   ========================================================= */

.ecx-pc-arrow {

  position: absolute;

  right: 26px;
  top: 25px;

  width: 34px;
  height: 34px;

  border-radius: 50%;

  display: flex;
  align-items: center;
  justify-content: center;

  color: var(--ecx-blue);

  background: rgba(91,141,239,.07);

  transition:
    transform .4s cubic-bezier(.22,.61,.36,1),
    background .35s ease;
}

.ecx-pc-arrow svg {

  width: 16px;
  height: 16px;
}

.ecx-pc-arrow path {

  stroke: currentColor;

  stroke-width: 1.5;

  stroke-linecap: round;
  stroke-linejoin: round;
}


/* =========================================================
   INDEPENDENT CATEGORY
   ========================================================= */

.ecx-pc-independent {

  grid-column: 2;

  min-height: 190px;

  border-radius: 28px;

  padding: 2px;

  background:
    linear-gradient(
      125deg,
      rgba(91,141,239,.75),
      rgba(123,108,240,.42),
      rgba(78,205,196,.32)
    );

  box-shadow:
    0 18px 45px rgba(91,141,239,.09);

  overflow: hidden;
}

.ecx-pc-independent::before {

  content: "";

  position: absolute;

  inset: 1px;

  border-radius: 27px;

  background:
    linear-gradient(
      135deg,
      rgba(255,255,255,.94),
      rgba(238,242,247,.82)
    );

  z-index: 0;
}

.ecx-pc-independent-inner {

  min-height: 186px;

  position: relative;

  z-index: 2;

  padding: 28px;

  overflow: hidden;

  border-radius: 27px;
}

.ecx-pc-independent-orb {

  position: absolute;

  width: 240px;
  height: 240px;

  right: -85px;
  top: -100px;

  border-radius: 50%;

  background:
    radial-gradient(
      circle,
      rgba(123,108,240,.14),
      rgba(91,141,239,.05) 45%,
      transparent 70%
    );

  transition:
    transform .65s cubic-bezier(.22,.61,.36,1);
}

.ecx-pc-independent-meta {

  display: flex;
  align-items: center;

  gap: 10px;

  position: relative;
  z-index: 2;

  color: var(--ecx-blue);

  font-family: Arial, Helvetica, sans-serif;

  font-size: 10px;
  font-weight: 700;

  letter-spacing: .17em;
}

.ecx-pc-independent-meta span:last-child {

  color: #8794A5;
}

.ecx-pc-independent-icon {

  position: absolute;

  right: 30px;
  top: 54px;

  width: 62px;
  height: 62px;

  color: var(--ecx-purple);

  transition:
    transform .5s cubic-bezier(.22,.61,.36,1);
}

.ecx-pc-independent-icon svg {

  width: 100%;
  height: 100%;
}

.ecx-pc-independent-icon svg * {

  stroke: currentColor;

  stroke-width: 1.15;

  vector-effect: non-scaling-stroke;
}

.ecx-pc-independent-content {

  position: absolute;

  left: 28px;
  bottom: 26px;

  max-width: 65%;

  z-index: 2;
}

.ecx-pc-independent-content h3 {

  margin: 0;

  color: var(--ecx-dark);

  font-size: 22px;
  line-height: 1.3;

  letter-spacing: -.025em;
}

.ecx-pc-independent-content p {

  margin: 6px 0 0;

  color: var(--ecx-text);

  font-size: 12px;

  line-height: 1.65;
}

.ecx-pc-independent-arrow {

  position: absolute;

  right: 28px;
  bottom: 25px;

  width: 38px;
  height: 38px;

  display: flex;
  align-items: center;
  justify-content: center;

  border-radius: 50%;

  background: rgba(91,141,239,.08);

  color: var(--ecx-blue);

  transition:
    transform .4s cubic-bezier(.22,.61,.36,1),
    background .35s ease;
}

.ecx-pc-independent-arrow svg {

  width: 17px;
  height: 17px;
}

.ecx-pc-independent-arrow path {

  stroke: currentColor;

  stroke-width: 1.5;

  stroke-linecap: round;
  stroke-linejoin: round;
}


/* =========================================================
   DESKTOP HOVER
   ========================================================= */

@media (hover: hover) {

  .ecx-pc-card:hover {

    transform: translateY(-5px);

    border-color: rgba(91,141,239,.22);

    box-shadow:
      0 24px 60px rgba(31,56,88,.10),
      inset 0 1px 0 rgba(255,255,255,1);
  }

  .ecx-pc-card:hover .ecx-pc-card-glow {

    transform: translate(35px, 35px) scale(1.15);
  }

  .ecx-pc-card:hover .ecx-pc-core-icon {

    transform:
      rotate(5deg)
      scale(1.06);
  }

  .ecx-pc-card:hover .ecx-pc-mini-icon {

    transform:
      translateY(-2px)
      rotate(4deg);
  }

  .ecx-pc-card:hover .ecx-pc-arrow {

    transform:
      translate(3px, -3px);

    background:
      rgba(91,141,239,.13);
  }

  .ecx-pc-independent:hover {

    transform: translateY(-5px);

    box-shadow:
      0 26px 65px rgba(91,141,239,.14);
  }

  .ecx-pc-independent:hover .ecx-pc-independent-orb {

    transform:
      translate(-20px, 18px)
      scale(1.12);
  }

  .ecx-pc-independent:hover .ecx-pc-independent-icon {

    transform:
      translate(3px, -3px)
      rotate(5deg);
  }

  .ecx-pc-independent:hover .ecx-pc-independent-arrow {

    transform:
      translate(3px, -3px);

    background:
      rgba(91,141,239,.14);
  }

}


/* =========================================================
   PRESSED STATE
   ========================================================= */

.ecx-pc-card.ecx-pc-pressed,
.ecx-pc-independent.ecx-pc-pressed {

  transform: scale(.985);
  transition-duration: .12s;
}


/* =========================================================
   TABLET
   ========================================================= */

@media (max-width: 1100px) {

  .ecx-product-collection {

    padding: 70px 22px;

  }

  .ecx-pc-layout {

    grid-template-columns:
      minmax(0, 1.2fr)
      minmax(280px, .9fr);

  }

  .ecx-pc-core {

    min-height: 430px;

    padding: 34px;

  }

  .ecx-pc-card-content {

    left: 34px;
    right: 34px;
    bottom: 34px;

  }

  .ecx-pc-card-content h3 {

    font-size: 32px;

  }

  .ecx-pc-small {

    min-height: 180px;

    padding: 23px;

  }

  .ecx-pc-small-content {

    left: 23px;
    right: 23px;
    bottom: 23px;

  }

}


/* =========================================================
   TABLET / SMALL LAPTOP
   ========================================================= */

@media (max-width: 820px) {

  .ecx-pc-header {

    align-items: flex-start;

  }

  .ecx-pc-header-mark {

    width: 76px;
    height: 76px;

  }

  .ecx-pc-layout {

    grid-template-columns: 1fr;

  }

  .ecx-pc-core {

    grid-row: auto;

    min-height: 390px;

  }

  .ecx-pc-related {

    grid-column: auto;

  }

  .ecx-pc-independent {

    grid-column: auto;

  }

}


/* =========================================================
   MOBILE
   ========================================================= */

@media (max-width: 600px) {

  .ecx-product-collection {

    padding:
      52px
      16px;

  }

  .ecx-pc-header {

    margin-bottom: 27px;

    gap: 20px;

  }

  .ecx-pc-eyebrow {

    margin-bottom: 11px;

    font-size: 9px;

    letter-spacing: .15em;

  }

  .ecx-pc-eyebrow-line {

    width: 20px;

  }

  .ecx-pc-title {

    font-size: 28px;

    line-height: 1.25;

    letter-spacing: -.03em;

  }

  .ecx-pc-intro {

    margin-top: 10px;

    font-size: 13px;

    line-height: 1.65;

  }

  .ecx-pc-header-mark {

    display: none;

  }


  /* CORE */

  .ecx-pc-core {

    min-height: 260px;

    padding: 22px;

    border-radius: 23px;

  }

  .ecx-pc-core-icon {

    width: 52px;
    height: 52px;

    right: 22px;
    top: 58px;

  }

  .ecx-pc-card-content {

    left: 22px;
    right: 22px;
    bottom: 22px;

  }

  .ecx-pc-card-content h3 {

    font-size: 25px;

  }

  .ecx-pc-card-content p {

    margin-top: 8px;

    font-size: 12px;

    line-height: 1.65;

    max-width: 250px;

  }


  /* RELATED */

  .ecx-pc-related {

    grid-template-columns:
      repeat(2, minmax(0, 1fr));

    gap: 10px;

  }

  .ecx-pc-related-heading {

    margin-bottom: 1px;

    height: 15px;

    font-size: 8px;

  }

  .ecx-pc-small {

    min-height: 132px;

    padding: 18px;

    border-radius: 18px;

  }

  .ecx-pc-small:nth-of-type(4) {

    grid-column: 1 / -1;

    min-height: 102px;

  }

  .ecx-pc-small .ecx-pc-card-top {

    align-items: flex-start;

  }

  .ecx-pc-mini-icon {

    width: 28px;
    height: 28px;

  }

  .ecx-pc-small-content {

    left: 18px;
    right: 18px;
    bottom: 17px;

  }

  .ecx-pc-small-content h3 {

    font-size: 15px;

  }

  .ecx-pc-small-content p {

    display: none;

  }

  .ecx-pc-arrow {

    width: 27px;
    height: 27px;

    right: 16px;
    top: 16px;

  }

  .ecx-pc-arrow svg {

    width: 13px;
    height: 13px;

  }


  /* INDEPENDENT */

  .ecx-pc-independent {

    min-height: 130px;

    border-radius: 20px;

  }

  .ecx-pc-independent-inner {

    min-height: 126px;

    padding: 19px;

    border-radius: 19px;

  }

  .ecx-pc-independent-meta {

    font-size: 8px;

  }

  .ecx-pc-independent-icon {

    width: 46px;
    height: 46px;

    right: 19px;
    top: 42px;

  }

  .ecx-pc-independent-content {

    left: 19px;
    bottom: 18px;

    max-width: 67%;

  }

  .ecx-pc-independent-content h3 {

    font-size: 17px;

  }

  .ecx-pc-independent-content p {

    display: none;

  }

  .ecx-pc-independent-arrow {

    width: 30px;
    height: 30px;

    right: 18px;
    bottom: 17px;

  }

  .ecx-pc-independent-arrow svg {

    width: 14px;
    height: 14px;

  }

}


/* =========================================================
   VERY SMALL MOBILE
   ========================================================= */

@media (max-width: 380px) {

  .ecx-product-collection {

    padding-left: 13px;
    padding-right: 13px;

  }

  .ecx-pc-title {

    font-size: 25px;

  }

  .ecx-pc-core {

    min-height: 245px;

  }

  .ecx-pc-card-content h3 {

    font-size: 23px;

  }

  .ecx-pc-small {

    min-height: 124px;

  }

}


/* =========================================================
   ACCESSIBILITY / REDUCED MOTION
   ========================================================= */

@media (prefers-reduced-motion: reduce) {

  .ecx-product-collection *,
  .ecx-product-collection *::before,
  .ecx-product-collection *::after {

    transition: none !important;

    animation: none !important;

  }

}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-ab7ae32 *//* =========================================================
   AOD｜產品分割線＋查看所有產品按鈕
   ========================================================= */

.aod-product-divider {

    --aod-divider-primary: #5B8DEF;
    --aod-divider-dark: #1A2332;
    --aod-divider-muted: #5A6A7A;

    width: 100%;

    display: flex;

    align-items: center;

    gap: 22px;

    box-sizing: border-box;

    font-family:
        "Noto Sans TC",
        "PingFang TC",
        "Microsoft JhengHei",
        sans-serif;

}


/* =========================================================
   左右分割線
   ========================================================= */

.aod-product-divider__line {

    flex: 1 1 auto;

    height: 1px;

    min-width: 30px;

    background:
        linear-gradient(
            90deg,
            rgba(90, 106, 122, 0),
            rgba(90, 106, 122, 0.14)
        );

}


/* 右側線反轉漸層 */

.aod-product-divider__line:last-child {

    background:
        linear-gradient(
            90deg,
            rgba(90, 106, 122, 0.14),
            rgba(90, 106, 122, 0)
        );

}


/* =========================================================
   中間按鈕
   ========================================================= */

.aod-product-divider__button {

    position: relative;

    display: inline-flex;

    align-items: center;

    justify-content: center;

    gap: 11px;

    flex: 0 0 auto;

    min-height: 46px;

    padding: 0 18px 0 21px;

    border: 1px solid rgba(90, 106, 122, 0.14);

    border-radius: 999px;

    background: rgba(255, 255, 255, 0.72);

    color: var(--aod-divider-dark);

    text-decoration: none;

    font-size: 13px;

    font-weight: 500;

    letter-spacing: 0.025em;

    line-height: 1;

    box-shadow:
        0 4px 16px rgba(30, 50, 80, 0.035);

    transition:
        color 0.35s ease,
        background 0.35s ease,
        border-color 0.35s ease,
        box-shadow 0.4s ease,
        transform 0.4s cubic-bezier(0.22, 1, 0.36, 1);

}


/* =========================================================
   按鈕文字
   ========================================================= */

.aod-product-divider__button-text {

    white-space: nowrap;

}


/* =========================================================
   箭頭容器
   ========================================================= */

.aod-product-divider__button-arrow {

    display: flex;

    align-items: center;

    justify-content: center;

    width: 25px;

    height: 25px;

    border-radius: 50%;

    background: rgba(91, 141, 239, 0.09);

    color: var(--aod-divider-primary);

    transition:
        background 0.35s ease,
        color 0.35s ease,
        transform 0.45s cubic-bezier(0.22, 1, 0.36, 1);

}


/* SVG */

.aod-product-divider__button-arrow svg {

    display: block;

    width: 14px;

    height: 14px;

    fill: none;

    stroke: currentColor;

    stroke-width: 1.6;

    stroke-linecap: round;

    stroke-linejoin: round;

}


/* =========================================================
   Hover
   ========================================================= */

@media (hover: hover) {

    .aod-product-divider__button:hover {

        color: #FFFFFF;

        background: var(--aod-divider-primary);

        border-color: var(--aod-divider-primary);

        box-shadow:
            0 10px 26px rgba(91, 141, 239, 0.18);

        transform: translateY(-2px);

    }


    .aod-product-divider__button:hover
    .aod-product-divider__button-arrow {

        background: rgba(255, 255, 255, 0.18);

        color: #FFFFFF;

        transform: translateX(3px);

    }


    .aod-product-divider__button:active {

        transform: translateY(0);

    }

}


/* =========================================================
   Focus
   ========================================================= */

.aod-product-divider__button:focus-visible {

    outline: none;

    border-color: var(--aod-divider-primary);

    box-shadow:
        0 0 0 4px rgba(91, 141, 239, 0.14);

}


/* =========================================================
   Tablet
   ========================================================= */

@media (max-width: 1024px) {

    .aod-product-divider {

        gap: 18px;

    }


    .aod-product-divider__button {

        min-height: 44px;

        padding-left: 18px;

        padding-right: 16px;

    }

}


/* =========================================================
   Mobile
   ========================================================= */

@media (max-width: 767px) {

    .aod-product-divider {

        gap: 12px;

    }


    .aod-product-divider__button {

        min-height: 42px;

        padding:
            0 14px
            0 17px;

        font-size: 12px;

    }


    .aod-product-divider__button-arrow {

        width: 23px;

        height: 23px;

    }


    .aod-product-divider__button-arrow svg {

        width: 13px;

        height: 13px;

    }


    .aod-product-divider__line {

        min-width: 15px;

    }

}


/* =========================================================
   小手機
   ========================================================= */

@media (max-width: 480px) {

    .aod-product-divider {

        gap: 9px;

    }


    .aod-product-divider__button {

        padding-left: 15px;

        padding-right: 13px;

    }


    .aod-product-divider__line {

        min-width: 10px;

    }

}


/* =========================================================
   減少動畫
   ========================================================= */

@media (prefers-reduced-motion: reduce) {

    .aod-product-divider__button,
    .aod-product-divider__button-arrow {

        transition: none;

    }

}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-cdf3f0e *//* =========================================================
   AODEX PREMIUM BRAND MARQUEE
   完整隔離版本
   ========================================================= */

.aodex-brand-marquee {

    --aodex-bg: #F7F9FC;
    --aodex-white: rgba(255, 255, 255, 0.78);

    --aodex-blue: #5B8DEF;
    --aodex-purple: #7B6CF0;
    --aodex-teal: #4ECDC4;

    --aodex-dark: #1A2332;
    --aodex-muted: #5A6A7A;

    --aodex-height: 86px;
    --aodex-logo-width: 126px;
    --aodex-gap: 42px;

    --aodex-speed: 40s;

    position: relative;

    width: 100%;
    max-width: 1700px;

    height: var(--aodex-height);

    margin: 0 auto;

    background: var(--aodex-bg);

    overflow: hidden;

    isolation: isolate;

    -webkit-tap-highlight-color: transparent;
}


/* =========================================================
   主視窗
   ========================================================= */

.aodex-brand-marquee__viewport {

    position: relative;

    width: 100%;
    height: 100%;

    overflow: hidden;
}


/* =========================================================
   左右柔和遮罩
   ========================================================= */

.aodex-brand-marquee__viewport::before,
.aodex-brand-marquee__viewport::after {

    content: "";

    position: absolute;

    top: 0;
    bottom: 0;

    width: 13%;

    z-index: 20;

    pointer-events: none;

}


/* 左側 */

.aodex-brand-marquee__viewport::before {

    left: 0;

    background:
        linear-gradient(
            90deg,
            #F7F9FC 0%,
            rgba(247,249,252,0.92) 25%,
            rgba(247,249,252,0.42) 65%,
            rgba(247,249,252,0) 100%
        );
}


/* 右側 */

.aodex-brand-marquee__viewport::after {

    right: 0;

    background:
        linear-gradient(
            270deg,
            #F7F9FC 0%,
            rgba(247,249,252,0.92) 25%,
            rgba(247,249,252,0.42) 65%,
            rgba(247,249,252,0) 100%
        );
}


/* =========================================================
   跑馬燈軌道
   ========================================================= */

.aodex-brand-marquee__track {

    display: flex;

    align-items: center;

    width: max-content;
    height: 100%;

    animation:
        aodexBrandMarqueeMove
        var(--aodex-speed)
        linear
        infinite;

    will-change: transform;

    transform: translate3d(0, 0, 0);

}


/* =========================================================
   每一組品牌
   ========================================================= */

.aodex-brand-marquee__group {

    display: flex;

    align-items: center;

    flex-shrink: 0;

    gap: var(--aodex-gap);

    padding-right: var(--aodex-gap);

}


/* =========================================================
   品牌卡片
   ========================================================= */

.aodex-brand-marquee__item {

    position: relative;

    display: flex;

    align-items: center;
    justify-content: center;

    flex: 0 0 auto;

    width: var(--aodex-logo-width);
    height: 54px;

    padding: 9px 14px;

    border-radius: 15px;

    background:
        linear-gradient(
            145deg,
            rgba(255,255,255,0.92),
            rgba(255,255,255,0.58)
        );

    border: 1px solid rgba(91,141,239,0.11);

    box-shadow:
        0 3px 10px rgba(26,35,50,0.025),
        0 10px 28px rgba(91,141,239,0.035);

    text-decoration: none;

    opacity: 0.78;

    transform:
        translate3d(0,0,0)
        scale(1);

    transition:
        transform 0.48s cubic-bezier(.22,.61,.36,1),
        opacity 0.38s ease,
        box-shadow 0.48s ease,
        border-color 0.48s ease,
        background 0.48s ease;

    overflow: hidden;

    cursor: pointer;

    -webkit-backdrop-filter: blur(10px);
    backdrop-filter: blur(10px);

}


/* =========================================================
   品牌 Logo
   ========================================================= */

.aodex-brand-marquee__item img {

    display: block;

    width: 100%;
    max-width: var(--aodex-logo-width);

    height: 100%;

    max-height: 36px;

    object-fit: contain;

    object-position: center;

    /*
     * 將不同來源的 Logo 視覺統一到
     * 深藍灰系，不改變原圖片網址。
     */

    filter:
        brightness(0)
        saturate(100%)
        invert(15%)
        sepia(12%)
        saturate(850%)
        hue-rotate(182deg)
        brightness(82%)
        contrast(88%);

    opacity: 0.72;

    transform: scale(1);

    transition:
        transform 0.48s cubic-bezier(.22,.61,.36,1),
        opacity 0.38s ease,
        filter 0.48s ease;

}


/* =========================================================
   Logo 卡片內的柔光
   ========================================================= */

.aodex-brand-marquee__item::before {

    content: "";

    position: absolute;

    left: 12%;
    right: 12%;

    bottom: -18px;

    height: 22px;

    border-radius: 50%;

    background:
        radial-gradient(
            ellipse,
            rgba(91,141,239,0.16) 0%,
            rgba(123,108,240,0.08) 40%,
            rgba(78,205,196,0) 75%
        );

    filter: blur(8px);

    opacity: 0;

    transform: scaleX(0.72);

    transition:
        opacity 0.5s ease,
        transform 0.55s cubic-bezier(.22,.61,.36,1);

    pointer-events: none;

}


/* =========================================================
   卡片上方滑過的細微光線
   ========================================================= */

.aodex-brand-marquee__shine {

    position: absolute;

    top: 0;
    left: -65%;

    width: 45%;
    height: 100%;

    background:
        linear-gradient(
            100deg,
            transparent,
            rgba(255,255,255,0.55),
            transparent
        );

    transform: skewX(-18deg);

    opacity: 0;

    pointer-events: none;

}


/* =========================================================
   單一 Logo Hover
   ========================================================= */

.aodex-brand-marquee__item.is-active {

    z-index: 10;

    opacity: 1;

    transform:
        translate3d(0,-4px,0)
        scale(1.035);

    background:
        linear-gradient(
            145deg,
            rgba(255,255,255,0.98),
            rgba(248,251,255,0.82)
        );

    border-color:
        rgba(91,141,239,0.23);

    box-shadow:
        0 7px 18px rgba(26,35,50,0.045),
        0 15px 35px rgba(91,141,239,0.10);

}


/* Hover Logo */

.aodex-brand-marquee__item.is-active img {

    opacity: 1;

    transform: scale(1.045);

    filter:
        brightness(0)
        saturate(100%)
        invert(51%)
        sepia(54%)
        saturate(1050%)
        hue-rotate(190deg)
        brightness(91%)
        contrast(91%);

}


/* Hover 光暈 */

.aodex-brand-marquee__item.is-active::before {

    opacity: 1;

    transform: scaleX(1);

}


/* Hover 光線 */

.aodex-brand-marquee__item.is-active .aodex-brand-marquee__shine {

    opacity: 1;

    animation:
        aodexBrandShine
        0.9s
        cubic-bezier(.22,.61,.36,1)
        forwards;

}


/* =========================================================
   整個模組互動時
   跑馬燈柔和減速
   ========================================================= */

.aodex-brand-marquee.is-interacting
.aodex-brand-marquee__track {

    animation-duration: 56s;

}


/* =========================================================
   按壓效果
   ========================================================= */

.aodex-brand-marquee__item.is-pressed {

    transform:
        translate3d(0,-1px,0)
        scale(0.985);

    box-shadow:
        0 3px 9px rgba(26,35,50,0.045);

}


/* =========================================================
   無限循環
   ========================================================= */

@keyframes aodexBrandMarqueeMove {

    from {

        transform:
            translate3d(0,0,0);

    }

    to {

        transform:
            translate3d(-50%,0,0);

    }

}


/* =========================================================
   Logo 光線
   ========================================================= */

@keyframes aodexBrandShine {

    0% {

        left: -65%;

    }

    100% {

        left: 130%;

    }

}


/* =========================================================
   平板
   ========================================================= */

@media (max-width: 1024px) {

    .aodex-brand-marquee {

        --aodex-height: 72px;
        --aodex-logo-width: 108px;
        --aodex-gap: 30px;

        --aodex-speed: 42s;

    }


    .aodex-brand-marquee__item {

        height: 48px;

        padding:
            7px 11px;

        border-radius: 13px;

    }


    .aodex-brand-marquee__item img {

        max-height: 31px;

    }


    .aodex-brand-marquee__viewport::before,
    .aodex-brand-marquee__viewport::after {

        width: 11%;

    }

}


/* =========================================================
   手機
   特別控制高度，避免模組過度佔版面
   ========================================================= */

@media (max-width: 767px) {

    .aodex-brand-marquee {

        --aodex-height: 58px;
        --aodex-logo-width: 82px;
        --aodex-gap: 20px;

        --aodex-speed: 32s;

    }


    .aodex-brand-marquee__group {

        padding-right: var(--aodex-gap);

    }


    .aodex-brand-marquee__item {

        height: 40px;

        padding:
            6px 9px;

        border-radius: 11px;

        opacity: 0.68;

        box-shadow:
            0 3px 10px rgba(26,35,50,0.025);

    }


    .aodex-brand-marquee__item img {

        max-height: 26px;

        opacity: 0.76;

    }


    /*
     * 手機不使用大幅 Hover 位移
     */

    .aodex-brand-marquee__item.is-active {

        transform:
            translate3d(0,-2px,0)
            scale(1.018);

    }


    .aodex-brand-marquee__item.is-active img {

        transform:
            scale(1.025);

    }


    /*
     * 手機隱藏過強的光線動畫
     */

    .aodex-brand-marquee__shine {

        display: none;

    }


    /*
     * 手機縮小左右淡出
     */

    .aodex-brand-marquee__viewport::before,
    .aodex-brand-marquee__viewport::after {

        width: 8%;

    }


    /*
     * 手機不要增加額外高度
     */

    .aodex-brand-marquee__item::before {

        bottom: -13px;

        height: 16px;

    }

}


/* =========================================================
   減少動畫模式
   ========================================================= */

@media (prefers-reduced-motion: reduce) {

    .aodex-brand-marquee__track {

        animation-play-state: paused;

    }


    .aodex-brand-marquee__item,
    .aodex-brand-marquee__item img,
    .aodex-brand-marquee__item::before {

        transition: none;

    }

}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-5b105b3 *//* =========================================================
   AOD｜產品分割線＋查看所有產品按鈕
   ========================================================= */

.aod-product-divider {

    --aod-divider-primary: #5B8DEF;
    --aod-divider-dark: #1A2332;
    --aod-divider-muted: #5A6A7A;

    width: 100%;

    display: flex;

    align-items: center;

    gap: 22px;

    box-sizing: border-box;

    font-family:
        "Noto Sans TC",
        "PingFang TC",
        "Microsoft JhengHei",
        sans-serif;

}


/* =========================================================
   左右分割線
   ========================================================= */

.aod-product-divider__line {

    flex: 1 1 auto;

    height: 1px;

    min-width: 30px;

    background:
        linear-gradient(
            90deg,
            rgba(90, 106, 122, 0),
            rgba(90, 106, 122, 0.14)
        );

}


/* 右側線反轉漸層 */

.aod-product-divider__line:last-child {

    background:
        linear-gradient(
            90deg,
            rgba(90, 106, 122, 0.14),
            rgba(90, 106, 122, 0)
        );

}


/* =========================================================
   中間按鈕
   ========================================================= */

.aod-product-divider__button {

    position: relative;

    display: inline-flex;

    align-items: center;

    justify-content: center;

    gap: 11px;

    flex: 0 0 auto;

    min-height: 46px;

    padding: 0 18px 0 21px;

    border: 1px solid rgba(90, 106, 122, 0.14);

    border-radius: 999px;

    background: rgba(255, 255, 255, 0.72);

    color: var(--aod-divider-dark);

    text-decoration: none;

    font-size: 13px;

    font-weight: 500;

    letter-spacing: 0.025em;

    line-height: 1;

    box-shadow:
        0 4px 16px rgba(30, 50, 80, 0.035);

    transition:
        color 0.35s ease,
        background 0.35s ease,
        border-color 0.35s ease,
        box-shadow 0.4s ease,
        transform 0.4s cubic-bezier(0.22, 1, 0.36, 1);

}


/* =========================================================
   按鈕文字
   ========================================================= */

.aod-product-divider__button-text {

    white-space: nowrap;

}


/* =========================================================
   箭頭容器
   ========================================================= */

.aod-product-divider__button-arrow {

    display: flex;

    align-items: center;

    justify-content: center;

    width: 25px;

    height: 25px;

    border-radius: 50%;

    background: rgba(91, 141, 239, 0.09);

    color: var(--aod-divider-primary);

    transition:
        background 0.35s ease,
        color 0.35s ease,
        transform 0.45s cubic-bezier(0.22, 1, 0.36, 1);

}


/* SVG */

.aod-product-divider__button-arrow svg {

    display: block;

    width: 14px;

    height: 14px;

    fill: none;

    stroke: currentColor;

    stroke-width: 1.6;

    stroke-linecap: round;

    stroke-linejoin: round;

}


/* =========================================================
   Hover
   ========================================================= */

@media (hover: hover) {

    .aod-product-divider__button:hover {

        color: #FFFFFF;

        background: var(--aod-divider-primary);

        border-color: var(--aod-divider-primary);

        box-shadow:
            0 10px 26px rgba(91, 141, 239, 0.18);

        transform: translateY(-2px);

    }


    .aod-product-divider__button:hover
    .aod-product-divider__button-arrow {

        background: rgba(255, 255, 255, 0.18);

        color: #FFFFFF;

        transform: translateX(3px);

    }


    .aod-product-divider__button:active {

        transform: translateY(0);

    }

}


/* =========================================================
   Focus
   ========================================================= */

.aod-product-divider__button:focus-visible {

    outline: none;

    border-color: var(--aod-divider-primary);

    box-shadow:
        0 0 0 4px rgba(91, 141, 239, 0.14);

}


/* =========================================================
   Tablet
   ========================================================= */

@media (max-width: 1024px) {

    .aod-product-divider {

        gap: 18px;

    }


    .aod-product-divider__button {

        min-height: 44px;

        padding-left: 18px;

        padding-right: 16px;

    }

}


/* =========================================================
   Mobile
   ========================================================= */

@media (max-width: 767px) {

    .aod-product-divider {

        gap: 12px;

    }


    .aod-product-divider__button {

        min-height: 42px;

        padding:
            0 14px
            0 17px;

        font-size: 12px;

    }


    .aod-product-divider__button-arrow {

        width: 23px;

        height: 23px;

    }


    .aod-product-divider__button-arrow svg {

        width: 13px;

        height: 13px;

    }


    .aod-product-divider__line {

        min-width: 15px;

    }

}


/* =========================================================
   小手機
   ========================================================= */

@media (max-width: 480px) {

    .aod-product-divider {

        gap: 9px;

    }


    .aod-product-divider__button {

        padding-left: 15px;

        padding-right: 13px;

    }


    .aod-product-divider__line {

        min-width: 10px;

    }

}


/* =========================================================
   減少動畫
   ========================================================= */

@media (prefers-reduced-motion: reduce) {

    .aod-product-divider__button,
    .aod-product-divider__button-arrow {

        transition: none;

    }

}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-74b81cd *//* =========================================================
   霧境極光｜Shopping Guide
   Premium Version
   CSS 完整隔離
========================================================= */

.mj-shopping-guide {

  --mj-blue: #5B8DEF;
  --mj-purple: #7B6CF0;
  --mj-mint: #4ECDC4;

  --mj-dark: #1A2332;
  --mj-text: #5A6A7A;

  --mj-bg: #F7F9FC;
  --mj-soft: #EEF2F7;
  --mj-soft-blue: #E8F0F8;

  --mj-white: #FFFFFF;

  width: 100%;
  max-width: 1700px;

  margin: 0 auto;

  padding:
    100px 40px
    110px;

  color: var(--mj-dark);

  font-family:
    "Noto Sans TC",
    "PingFang TC",
    "Microsoft JhengHei",
    sans-serif;

  position: relative;

  isolation: isolate;

}


.mj-shopping-guide *,
.mj-shopping-guide *::before,
.mj-shopping-guide *::after {

  box-sizing: border-box;

}


/* =========================================================
   HEADER
========================================================= */

.mj-guide-heading {

  max-width: 800px;

  margin:
    0 auto 70px;

  text-align: center;

}


.mj-guide-eyebrow {

  display: inline-flex;

  align-items: center;

  gap: 8px;

  padding:
    8px 13px;

  border:
    1px solid
    rgba(26,35,50,.08);

  border-radius: 999px;

  background:
    rgba(255,255,255,.72);

  box-shadow:
    0 8px 25px
    rgba(35,55,85,.045);

  color:
    var(--mj-text);

  font-size: 12px;

  font-weight: 700;

  letter-spacing: .05em;

}


.mj-guide-eyebrow-icon {

  width: 18px;
  height: 18px;

  display: flex;

  align-items: center;

  justify-content: center;

}


.mj-guide-eyebrow-icon svg {

  width: 100%;
  height: 100%;

  fill: none;

  stroke:
    currentColor;

  stroke-width: 1.5;

  stroke-linecap: round;

  stroke-linejoin: round;

}


.mj-guide-heading h2 {

  margin:
    20px 0 17px;

  color:
    var(--mj-dark);

  font-size:
    clamp(42px,4.3vw,68px);

  line-height: 1.08;

  font-weight: 750;

  letter-spacing:
    -.055em;

}


.mj-guide-heading h2 em {

  display: inline-block;

  color:
    var(--mj-blue);

  font-style: normal;

  background:
    linear-gradient(
      110deg,
      var(--mj-blue),
      var(--mj-purple)
    );

  -webkit-background-clip: text;

  background-clip: text;

  -webkit-text-fill-color:
    transparent;

}


.mj-guide-heading p {

  max-width: 650px;

  margin:
    0 auto;

  color:
    var(--mj-text);

  font-size: 15px;

  line-height: 1.9;

}


/* =========================================================
   LAYOUT
========================================================= */

.mj-guide-layout {

  display: grid;

  grid-template-columns:
    minmax(360px,.72fr)
    minmax(620px,1.48fr);

  gap: 42px;

  align-items: start;

}


/* =========================================================
   LEFT
========================================================= */

.mj-guide-left {

  min-width: 0;

  position: relative;

}


/* =========================================================
   CONTACT CARD
========================================================= */

.mj-contact-card {

  position: relative;

  min-height: 365px;

  overflow: hidden;

  padding:
    34px 36px 31px;

  display: flex;

  flex-direction: column;

  border:
    1px solid
    rgba(26,35,50,.075);

  border-radius: 28px;

  background:

    linear-gradient(
      145deg,
      rgba(255,255,255,.97),
      rgba(238,242,247,.72)
    );

  box-shadow:

    0 22px 70px
    rgba(36,54,82,.075),

    inset
    0 1px 0
    rgba(255,255,255,.95);

  transition:

    transform .45s
    cubic-bezier(.2,.8,.2,1),

    box-shadow .45s ease,

    border-color .45s ease;

}


.mj-contact-card::before {

  content: "";

  position: absolute;

  width: 280px;
  height: 280px;

  top: -150px;
  right: -110px;

  border-radius: 50%;

  background:

    radial-gradient(
      circle,
      rgba(91,141,239,.16),
      transparent 68%
    );

  pointer-events: none;

}


.mj-contact-card::after {

  content: "";

  position: absolute;

  width: 220px;
  height: 220px;

  left: -130px;
  bottom: -130px;

  border-radius: 50%;

  background:

    radial-gradient(
      circle,
      rgba(78,205,196,.10),
      transparent 68%
    );

  pointer-events: none;

}


.mj-contact-card:hover {

  transform:
    translateY(-4px);

  border-color:
    rgba(91,141,239,.16);

  box-shadow:

    0 30px 85px
    rgba(36,54,82,.105),

    inset
    0 1px 0
    rgba(255,255,255,1);

}


/* =========================================================
   CARD TOP
========================================================= */

.mj-card-top {

  display: flex;

  align-items: center;

  justify-content: space-between;

  position: relative;

  z-index: 2;

}


.mj-line-mark {

  width: 52px;
  height: 52px;

  display: flex;

  align-items: center;

  justify-content: center;

  border-radius: 16px;

  background:

    linear-gradient(
      135deg,
      var(--mj-blue),
      var(--mj-purple)
    );

  box-shadow:

    0 12px 28px
    rgba(91,141,239,.21);

  transition:
    transform .4s
    cubic-bezier(.2,.8,.2,1);

}


.mj-contact-card:hover
.mj-line-mark {

  transform:
    translateY(-2px)
    rotate(-3deg);

}


.mj-line-mark svg {

  width: 33px;
  height: 33px;

  fill: #fff;

}


.mj-line-detail {

  fill: none;

  stroke: #fff;

  stroke-width: 1.2;

  stroke-linecap: round;

  stroke-linejoin: round;

}


.mj-card-status {

  padding:
    7px 10px;

  border:
    1px solid
    rgba(91,141,239,.11);

  border-radius: 999px;

  background:
    rgba(91,141,239,.055);

  color:
    var(--mj-blue);

  font-size: 9px;

  font-weight: 800;

  letter-spacing: .13em;

}


/* =========================================================
   CONTACT TEXT
========================================================= */

.mj-contact-copy {

  position: relative;

  z-index: 2;

  margin-top: 27px;

}


.mj-small-label {

  display: block;

  margin-bottom: 10px;

  color:
    var(--mj-blue);

  font-size: 12px;

  font-weight: 800;

  letter-spacing: .08em;

}


.mj-contact-copy h3 {

  margin: 0;

  color:
    var(--mj-dark);

  font-size:
    clamp(28px,2.5vw,39px);

  line-height: 1.25;

  font-weight: 750;

  letter-spacing:
    -.045em;

}


.mj-contact-copy p {

  max-width: 420px;

  margin:
    14px 0 0;

  color:
    var(--mj-text);

  font-size: 13px;

  line-height: 1.8;

}


/* =========================================================
   LINE BUTTON
========================================================= */

.mj-line-button {

  position: relative;

  z-index: 4;

  width: 100%;

  max-width: 220px;

  min-height: 50px;

  margin-top: auto;

  padding:
    7px 8px 7px 18px;

  display: flex;

  align-items: center;

  justify-content: space-between;

  overflow: hidden;

  border-radius: 999px;

  background:
    var(--mj-blue);

  color: #fff !important;

  text-decoration: none !important;

  font-size: 13px;

  font-weight: 750;

  box-shadow:

    0 11px 28px
    rgba(91,141,239,.20);

  transition:

    transform .35s
    cubic-bezier(.2,.8,.2,1),

    box-shadow .35s ease;

}


.mj-line-button::before {

  content: "";

  position: absolute;

  top: 0;

  left: -80%;

  width: 48%;

  height: 100%;

  background:
    linear-gradient(
      90deg,
      transparent,
      rgba(255,255,255,.25),
      transparent
    );

  transform:
    skewX(-20deg);

  transition:
    left .7s ease;

}


.mj-line-button:hover {

  transform:
    translateY(-3px);

  background:

    linear-gradient(
      135deg,
      var(--mj-blue),
      var(--mj-purple)
    );

  box-shadow:

    0 16px 36px
    rgba(91,141,239,.28);

}


.mj-line-button:hover::before {

  left: 135%;

}


.mj-line-button:active {

  transform:
    translateY(0)
    scale(.985);

}


.mj-button-arrow {

  width: 36px;
  height: 36px;

  display: flex;

  align-items: center;

  justify-content: center;

  border-radius: 50%;

  background:
    rgba(255,255,255,.15);

  transition:
    transform .35s ease;

}


.mj-line-button:hover
.mj-button-arrow {

  transform:
    translateX(3px);

}


.mj-button-arrow svg {

  width: 17px;
  height: 17px;

  fill: none;

  stroke: #fff;

  stroke-width: 1.7;

  stroke-linecap: round;

  stroke-linejoin: round;

}


/* =========================================================
   STATS
========================================================= */

.mj-stats {

  display: grid;

  grid-template-columns:
    repeat(3,1fr);

  gap: 1px;

  margin-top: 18px;

  overflow: hidden;

  border:
    1px solid
    rgba(26,35,50,.065);

  border-radius: 20px;

  background:
    rgba(26,35,50,.06);

  box-shadow:
    0 12px 35px
    rgba(36,54,82,.035);

}


.mj-stat {

  padding:
    21px 10px;

  text-align: center;

  background:
    rgba(255,255,255,.76);

  transition:
    background .3s ease;

}


.mj-stat:hover {

  background:
    rgba(255,255,255,.98);

}


.mj-stat strong {

  display: block;

  color:
    var(--mj-dark);

  font-size:
    clamp(20px,2vw,27px);

  line-height: 1;

  font-weight: 800;

  letter-spacing:
    -.05em;

}


.mj-stat span {

  display: block;

  margin-top: 8px;

  color:
    var(--mj-text);

  font-size: 10px;

  white-space: nowrap;

}


/* =========================================================
   CURVE
========================================================= */

.mj-curve-area {

  position: relative;

  height: 170px;

  margin-top: 18px;

  overflow: hidden;

  border:
    1px solid
    rgba(26,35,50,.045);

  border-radius: 22px;

  background:

    linear-gradient(
      180deg,
      rgba(255,255,255,.52),
      rgba(232,240,248,.18)
    );

}


.mj-curve-glow {

  position: absolute;

  width: 220px;
  height: 220px;

  right: 4%;
  bottom: -145px;

  border-radius: 50%;

  background:

    radial-gradient(
      circle,
      rgba(91,141,239,.14),
      transparent 70%
    );

  filter:
    blur(7px);

}


.mj-curve-svg {

  position: absolute;

  inset: 0;

  width: 100%;
  height: 100%;

}


.mj-curve-area-fill {

  fill:
    url(#mjAreaGradient);

  opacity: 0;

  transition:
    opacity 1.2s ease;

}


.mj-guide-ready
.mj-curve-area-fill {

  opacity: 1;

}


.mj-curve-line {

  fill: none;

  stroke:
    url(#mjCurveGradient);

  stroke-width: 3;

  stroke-linecap: round;

  stroke-linejoin: round;

  stroke-dasharray: 1;

  stroke-dashoffset: 1;

  transition:
    stroke-dashoffset
    1.8s
    cubic-bezier(.2,.7,.2,1);

}


.mj-guide-ready
.mj-curve-line {

  stroke-dashoffset: 0;

}


.mj-curve-dot {

  fill: #fff;

  stroke:
    var(--mj-blue);

  stroke-width: 3;

  opacity: 0;

  filter:
    drop-shadow(
      0 4px 9px
      rgba(91,141,239,.3)
    );

}


.mj-guide-ready
.mj-curve-dot {

  opacity: 1;

  animation:
    mjCurvePulse 2.8s
    ease-in-out
    infinite;

}


@keyframes mjCurvePulse {

  0%,
  100% {

    transform:
      scale(1);

  }

  50% {

    transform:
      scale(1.25);

  }

}


.mj-curve-caption {

  position: absolute;

  left: 17px;
  right: 17px;

  bottom: 13px;

  display: flex;

  align-items: center;

  justify-content: space-between;

  color:
    rgba(90,106,122,.62);

  font-size: 8px;

  font-weight: 800;

  letter-spacing: .13em;

}


/* =========================================================
   RIGHT FAQ
========================================================= */

.mj-guide-right {

  display: flex;

  flex-direction: column;

  gap: 10px;

  min-width: 0;

}


/* =========================================================
   FAQ CARD
========================================================= */

.mj-faq-item {

  position: relative;

  overflow: hidden;

  border:
    1px solid
    rgba(26,35,50,.075);

  border-radius: 21px;

  background:

    linear-gradient(
      135deg,
      rgba(255,255,255,.92),
      rgba(248,250,252,.76)
    );

  box-shadow:

    0 9px 28px
    rgba(36,54,82,.035),

    inset
    0 1px 0
    rgba(255,255,255,.9);

  transition:

    transform .4s
    cubic-bezier(.2,.8,.2,1),

    border-color .4s ease,

    box-shadow .4s ease,

    background .4s ease;

}


/*
   左側細微的品牌色線
*/

.mj-faq-item::before {

  content: "";

  position: absolute;

  top: 20px;
  bottom: 20px;
  left: 0;

  width: 2px;

  border-radius: 999px;

  background:

    linear-gradient(
      180deg,
      var(--mj-blue),
      var(--mj-purple),
      var(--mj-mint)
    );

  opacity: 0;

  transform:
    scaleY(.35);

  transform-origin:
    center;

  transition:

    opacity .4s ease,

    transform .45s
    cubic-bezier(.2,.8,.2,1);

}


.mj-faq-item:hover {

  transform:
    translateY(-2px);

  border-color:
    rgba(91,141,239,.14);

  box-shadow:

    0 17px 42px
    rgba(36,54,82,.065);

}


.mj-faq-item.is-open {

  border-color:
    rgba(91,141,239,.22);

  background:

    linear-gradient(
      135deg,
      rgba(255,255,255,.98),
      rgba(242,246,252,.92)
    );

  box-shadow:

    0 20px 50px
    rgba(36,54,82,.075);

}


.mj-faq-item.is-open::before {

  opacity: 1;

  transform:
    scaleY(1);

}


/* =========================================================
   FAQ TRIGGER
========================================================= */

.mj-faq-trigger {

  position: relative;

  z-index: 2;

  width: 100%;

  min-height: 91px;

  padding:
    17px 18px 17px 24px;

  display: grid;

  grid-template-columns:
    38px
    minmax(0,1fr)
    45px;

  align-items: center;

  gap: 12px;

  border: 0;

  background: transparent;

  color:
    var(--mj-dark);

  font-family: inherit;

  text-align: left;

  cursor: pointer;

  outline: none;

  -webkit-tap-highlight-color:
    transparent;

}


.mj-faq-trigger:focus-visible {

  box-shadow:
    inset
    0 0 0 2px
    rgba(91,141,239,.35);

}


/* =========================================================
   NUMBER
========================================================= */

.mj-faq-number {

  align-self: start;

  padding-top: 7px;

  color:
    rgba(90,106,122,.52);

  font-size: 10px;

  font-weight: 800;

  letter-spacing: .08em;

}


/* =========================================================
   CONTENT
========================================================= */

.mj-faq-content {

  min-width: 0;

  display: flex;

  flex-direction: column;

  gap: 5px;

}


.mj-faq-category {

  color:
    var(--mj-blue);

  font-size: 9px;

  font-weight: 800;

  letter-spacing: .12em;

  text-transform: uppercase;

  opacity: .85;

}


.mj-faq-title {

  display: block;

  color:
    var(--mj-dark);

  font-size:
    clamp(16px,1.45vw,19px);

  line-height: 1.4;

  font-weight: 720;

  letter-spacing:
    -.02em;

  transition:
    color .3s ease;

}


.mj-faq-item:hover
.mj-faq-title {

  color:
    #15243A;

}


/* =========================================================
   ICON
========================================================= */

.mj-faq-icon {

  width: 45px;
  height: 45px;

  display: flex;

  align-items: center;

  justify-content: center;

  justify-self: end;

  border:
    1px solid
    rgba(26,35,50,.08);

  border-radius: 50%;

  background:
    #fff;

  box-shadow:
    0 5px 15px
    rgba(36,54,82,.055);

  transition:

    transform .45s
    cubic-bezier(.2,.8,.2,1),

    background .35s ease,

    border-color .35s ease,

    box-shadow .35s ease;

}


.mj-faq-icon svg {

  width: 17px;
  height: 17px;

  fill: none;

  stroke:
    var(--mj-dark);

  stroke-width: 1.6;

  stroke-linecap: round;

  transition:
    transform .45s
    cubic-bezier(.2,.8,.2,1),

    stroke .3s ease;

}


.mj-faq-item:hover
.mj-faq-icon {

  border-color:
    rgba(91,141,239,.18);

  box-shadow:
    0 7px 19px
    rgba(91,141,239,.10);

}


.mj-faq-item.is-open
.mj-faq-icon {

  transform:
    rotate(45deg);

  background:

    linear-gradient(
      135deg,
      var(--mj-blue),
      var(--mj-purple)
    );

  border-color:
    transparent;

  box-shadow:

    0 8px 22px
    rgba(91,141,239,.22);

}


.mj-faq-item.is-open
.mj-faq-icon svg {

  stroke: #fff;

}


/* =========================================================
   ANSWER DRAWER
========================================================= */

.mj-faq-answer {

  max-height: 0;

  overflow: hidden;

  transition:

    max-height
    .48s
    cubic-bezier(.2,.75,.2,1);

}


.mj-faq-answer-inner {

  position: relative;

  display: flex;

  gap: 17px;

  padding:
    0 70px 0 74px;

  opacity: 0;

  transform:
    translateY(-8px);

  transition:

    opacity .3s ease,

    transform .45s
    cubic-bezier(.2,.8,.2,1),

    padding .45s
    cubic-bezier(.2,.8,.2,1);

}


.mj-faq-item.is-open
.mj-faq-answer-inner {

  padding:
    0 70px 28px 74px;

  opacity: 1;

  transform:
    translateY(0);

}


.mj-answer-line {

  flex:
    0 0 2px;

  min-height: 40px;

  margin-top: 3px;

  border-radius: 999px;

  background:

    linear-gradient(
      180deg,
      var(--mj-blue),
      var(--mj-purple)
    );

}


.mj-faq-answer-inner p {

  margin: 0;

  color:
    var(--mj-text);

  font-size: 13px;

  line-height: 1.9;

}


/* =========================================================
   TABLET
========================================================= */

@media (max-width:1100px) {

  .mj-shopping-guide {

    padding:
      80px 28px
      90px;

  }


  .mj-guide-layout {

    grid-template-columns:
      minmax(300px,.76fr)
      minmax(0,1.24fr);

    gap: 25px;

  }


  .mj-contact-card {

    padding:
      30px;

  }


  .mj-faq-trigger {

    min-height: 82px;

    padding-left: 20px;

  }


  .mj-faq-answer-inner {

    padding-left: 62px;
    padding-right: 45px;

  }


  .mj-faq-item.is-open
  .mj-faq-answer-inner {

    padding-left: 62px;
    padding-right: 45px;

  }

}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width:767px) {

  .mj-shopping-guide {

    padding:
      58px 16px
      62px;

  }


  .mj-guide-heading {

    margin-bottom:
      35px;

  }


  .mj-guide-heading h2 {

    margin-top: 16px;

    font-size:
      clamp(32px,9vw,43px);

    line-height: 1.12;

  }


  .mj-guide-heading p {

    padding:
      0 7px;

    font-size: 12px;

    line-height: 1.75;

  }


  .mj-guide-layout {

    display: flex;

    flex-direction: column;

    gap: 17px;

  }


  /* LINE */

  .mj-contact-card {

    min-height: 0;

    padding:
      23px 21px 21px;

    border-radius: 21px;

  }


  .mj-line-mark {

    width: 45px;
    height: 45px;

    border-radius: 14px;

  }


  .mj-line-mark svg {

    width: 29px;
    height: 29px;

  }


  .mj-card-status {

    font-size: 7px;

  }


  .mj-contact-copy {

    margin-top: 20px;

  }


  .mj-contact-copy h3 {

    font-size: 24px;

  }


  .mj-contact-copy p {

    margin-top: 9px;

    font-size: 12px;

  }


  .mj-line-button {

    max-width: 190px;

    min-height: 44px;

    margin-top: 20px;

    font-size: 12px;

  }


  .mj-button-arrow {

    width: 31px;
    height: 31px;

  }


  /* STATS */

  .mj-stats {

    margin-top: 11px;

    border-radius: 16px;

  }


  .mj-stat {

    padding:
      16px 6px;

  }


  .mj-stat strong {

    font-size: 18px;

  }


  .mj-stat span {

    margin-top: 7px;

    font-size: 8px;

  }


  /* CURVE */

  .mj-curve-area {

    height: 95px;

    margin-top: 9px;

    border-radius: 16px;

  }


  .mj-curve-line {

    stroke-width: 2.2;

  }


  .mj-curve-caption {

    left: 11px;
    right: 11px;

    bottom: 9px;

    font-size: 6px;

  }


  /* FAQ */

  .mj-guide-right {

    gap: 7px;

  }


  .mj-faq-item {

    border-radius: 16px;

  }


  .mj-faq-trigger {

    min-height: 68px;

    padding:
      13px 11px 13px 15px;

    grid-template-columns:
      25px
      minmax(0,1fr)
      35px;

    gap: 6px;

  }


  .mj-faq-number {

    padding-top: 5px;

    font-size: 8px;

  }


  .mj-faq-content {

    gap: 3px;

  }


  .mj-faq-category {

    font-size: 7px;

  }


  .mj-faq-title {

    font-size: 13px;

    line-height: 1.45;

  }


  .mj-faq-icon {

    width: 35px;
    height: 35px;

  }


  .mj-faq-icon svg {

    width: 14px;
    height: 14px;

  }


  .mj-faq-answer-inner {

    gap: 12px;

    padding:
      0 18px 0 46px;

  }


  .mj-faq-item.is-open
  .mj-faq-answer-inner {

    padding:
      0 18px 17px 46px;

  }


  .mj-faq-answer-inner p {

    font-size: 11px;

    line-height: 1.8;

  }

}


/* =========================================================
   SMALL MOBILE
========================================================= */

@media (max-width:390px) {

  .mj-shopping-guide {

    padding-left: 12px;
    padding-right: 12px;

  }


  .mj-guide-heading h2 {

    font-size: 31px;

  }


  .mj-stat strong {

    font-size: 16px;

  }


  .mj-faq-title {

    font-size: 12px;

  }

}


/* =========================================================
   REDUCED MOTION
========================================================= */

@media (prefers-reduced-motion:reduce) {

  .mj-shopping-guide *,
  .mj-shopping-guide *::before,
  .mj-shopping-guide *::after {

    animation-duration:
      .01ms !important;

    animation-iteration-count:
      1 !important;

    transition-duration:
      .01ms !important;

  }

  .mj-curve-line {

    stroke-dashoffset:
      0 !important;

  }

  .mj-curve-area-fill {

    opacity: 1 !important;

  }

}/* End custom CSS */