
    /* Regular 400 */
    @font-face {
    font-family: 'Noto Sans TC';
    src: url('/assets/fonts/NotoSansTC-Regular.woff2') format('woff2');
    font-weight: 400;
    font-style: normal;
    font-display: swap;
    }

    /* ExtraBold 800 */
    @font-face {
    font-family: 'Noto Sans TC';
    src: url('/assets/fonts/NotoSansTC-ExtraBold.woff2') format('woff2');
    font-weight: 800;
    font-style: normal;
    font-display: swap;
    }

    body {
    font-family: 'Outfit', 'Noto Sans TC', 'PingFang TC', 'Microsoft JhengHei', sans-serif;
    }

    ul {
        list-style-type: none;
        padding: 0;
        margin: 0;
    }

    a {
        text-decoration: none !important;
        color: inherit;
        background: none;
        padding: 0;
        margin: 0;
    }

    /* Loading */
    .loading-overlay {
        position: fixed;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background: rgba(255, 255, 255, 0.7);
        display: flex;
        justify-content: center;
        align-items: center;
        z-index: 9999;
        display: none;
    }
    .loading-spinner {
        border: 6px solid #f3f3f3;
        border-top: 6px solid #E6A525;
        border-radius: 50%;
        width: 48px;
        height: 48px;
        animation: spin 0.8s linear infinite;
    }

    @keyframes spin {
        0% {
            transform: rotate(0deg);
        }

        100% {
            transform: rotate(360deg);
        }
    }

    .swal2-confirm.custom-ok-btn {
        background-color: #E6A525 !important;
        color: #000 !important;
        border: none;
    }

    /* Main */

    .container {
        width: min(1200px, 92%);
        margin: 0 auto
    }

    .section {
        padding: 120px 0
    }

    .section-title {
        font-size: 2.6rem;
        font-weight: 700;
        margin: 0 0 40px;
        color: #000;
        text-align: center;
    }

    .section-subtitle {
        font-size: 1.05rem;
        color: #666;
        text-align: center;
        margin: -24px 0 40px;
    }

    .btn-apply {
        font-size: 1.1rem;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        padding: .6rem 3rem;
        border-radius: 999px;
        background-color: #ffcd38;
        color: #000;
        font-weight: 700;
        text-decoration: none;
        border: none;
        margin: 1rem 0;
        cursor: pointer;
        transition: background-color .2s ease, transform .05s ease;
    }

    .btn-apply:hover {
        background-color: #E6A525;
    }

    /* 佔位區塊：素材到位前先用色塊標示位置 */
    .placeholder-block {
        display: flex;
        align-items: center;
        justify-content: center;
        background: repeating-linear-gradient(45deg, #f2f2f2, #f2f2f2 10px, #e8e8e8 10px, #e8e8e8 20px);
        border: 1px dashed #ccc;
        color: #999;
        font-size: .9rem;
    }

    /* HERO：全螢幕背景影片 */
    .hero {
        position: relative;
        z-index: 2;
        height: 45.75rem;
        overflow: hidden;
    }

    .hero__bg {
        position: absolute;
        inset: 0;
        z-index: 0;
        clip-path: polygon(0 0, 100% 0, 100% 74%, 0 100%);
    }

    .hero__video {
        width: 100%;
        height: 100%;
        object-fit: cover;
    }

    .hero__inner {
        position: relative;
        z-index: 1;
        width: 100%;
        max-width: 80rem;
        margin: 0 auto;
        padding: 0 1rem;
        color: #fff;
    }

    .hero__title {
        margin: 17.5rem 0 .375rem;
        font-size: 3rem;
        font-weight: 500;
        line-height: 3.625rem;
    }

    .hero__desc {
        margin: 0 0 .9375rem;
        font-size: 1.25rem;
        font-weight: 400;
        line-height: 1.75rem;
    }

    .hero__btn {
        margin-bottom: 3rem;
    }

    .hero__btn .btn-apply {
        display: inline-block;
        box-sizing: border-box;
        width: 7rem;
        margin: 0;
        padding: 0 .75rem;
        text-align: center;
        border: .0625rem solid transparent;
        font-size: 1rem;
        font-weight: 400;
        line-height: 2.5rem;
        border-radius: 1.25rem;
    }

    .hero__btn .btn-apply:hover {
        background-color: #fff;
    }

    .hero__note {
        max-width: 300px;
        margin: 0 0 1.25rem;
        font-size: 1rem;
        line-height: 1.5rem;
        color: #fff;
        text-shadow: rgba(0, 0, 0, .25) 3px 3px 5px;
    }

    /* 你有無試過 / 你有無諗過 */
    .pitch {
        position: relative;
        z-index: 1;
        margin-top: -11.9375rem;
        padding: 140px 0;
        background-position: center;
        background-size: cover;
        overflow: hidden;
    }

    .pitch__deco {
        position: absolute;
        top: 50%;
        left: 16%;
        transform: translateY(-50%);
        width: 500px;
        height: auto;
        opacity: .5;
        pointer-events: none;
    }

    .pitch__wrapper {
        position: relative;
        z-index: 1;
        display: flex;
        flex-direction: column;
        gap: 44px;
        color: #fff;
        text-shadow: 1px 1px 1px #000;
    }

    .pitch__slogan--2 {
        margin-left: 12%;
    }

    .pitch__slogan__title {
        font-size: 3rem;
        line-height: 3.625rem;
        font-weight: 700;
    }

    .pitch__slogan__title span {
        display: inline-block;
        margin-left: .75rem;
        padding: .3125rem 1.25rem .3125rem 1rem;
        font-weight: 500;
        color: #000;
        background: #ffcd38;
        text-shadow: none;
        transform: translateY(-.3125rem);
    }

    .pitch__slogan__text {
        max-width: 20.625rem;
        margin-top: .75rem;
        font-size: 1.25rem;
        line-height: 1.75rem;
        font-weight: 400;
    }

    .pitch__tagline {
        align-self: flex-end;
        max-width: 23.75rem;
        text-align: center;
        font-size: 2rem;
        line-height: 2.5rem;
        font-weight: 200;
    }

    @media (min-width: 769px) {
        .pitch {
            height: 47.4375rem;
            padding: 0;
        }

        .pitch__wrapper {
            display: block;
            height: 100%;
            max-width: 80rem;
        }

        .pitch__slogan,
        .pitch__tagline {
            position: absolute;
        }

        .pitch__slogan--1 {
            top: 12.5625rem;
            left: 2.7875rem;
        }

        .pitch__slogan--2 {
            top: 24.4375rem;
            left: 25.975rem;
            margin-left: 0;
        }

        .pitch__slogan__text {
            margin-left: -1.0625rem;
        }

        .pitch__tagline {
            top: 18.6875rem;
            left: 48.0375rem;
            margin-top: 0;
        }
    }

    /* 貸款方案：案例卡片 */
    .cases {
        position: relative;
        overflow: hidden;
        background: #000;
        color: #fff;
        padding: 0;
    }

    .cases__title {
        position: absolute;
        z-index: 192;
        top: 3.875rem;
        width: 100%;
        margin: 0;
        font-size: 3rem;
        line-height: 3.625rem;
        font-weight: 300;
        text-align: center;
        color: #fff;
    }

    .cases__title strong {
        text-shadow: 1px 1px 1px #000;
    }

    .cases__title span {
        display: inline-block;
        padding: .3125rem 1.25rem .3125rem 1rem;
        font-weight: 500;
        color: #000;
        background: #ffcd38;
    }

    .cases__items {
        display: flex;
        align-items: center;
        justify-content: center;
    }

    .cases__item {
        position: relative;
        flex: 0 0 15%;
        width: 15%;
        height: 51.375rem;
        padding-top: 30.6875rem;
        padding-left: 0;
        text-align: center;
        color: #fff;
        background-position: center center;
        background-size: cover;
        cursor: pointer;
        transition: all 500ms ease;
    }

    .cases__item::after {
        content: '';
        position: absolute;
        z-index: 1;
        inset: 0;
        width: 100%;
        height: 100%;
        background: linear-gradient(to bottom, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0) 28%, #000 100%);
    }

    .cases__item::before {
        content: '';
        position: absolute;
        z-index: 2;
        top: 35.25rem;
        left: 4.25rem;
        display: block;
        width: 3.0625rem;
        height: 2.5rem;
        opacity: 0;
        background: url('/assets/images/moneymatcher/product_casestudy_quote_white.png') 0 0 no-repeat;
        background-size: cover;
    }

    .cases__item.is-active {
        flex: 0 0 55%;
        width: 55%;
        padding-left: 8.3125rem;
        text-align: left;
    }

    .cases__item.is-active::before {
        opacity: 1;
    }

    .cases__item__title,
    .cases__item__text,
    .cases__item__stats {
        position: relative;
        z-index: 2;
    }

    .cases__item__title {
        font-size: 2rem;
        line-height: 2.5rem;
        font-weight: 600;
        margin-bottom: 2.1875rem;
    }

    .cases__item__text {
        margin-bottom: 1.6875rem;
        padding-right: 2.8125rem;
        font-size: 1rem;
        line-height: 1.5rem;
        opacity: 0;
    }

    .cases__item__stats {
        display: flex;
        opacity: 0;
    }

    .cases__item.is-active .cases__item__text,
    .cases__item.is-active .cases__item__stats {
        opacity: 1;
    }

    .cases__item__stat {
        margin-right: 1.6875rem;
        text-align: center;
    }

    .cases__item__stat:first-child {
        text-align: left;
    }

    .cases__item__stat__label {
        font-size: .875rem;
        line-height: 1.375rem;
    }

    .cases__item__stat__value {
        font-size: 1rem;
        line-height: 1.5rem;
        white-space: nowrap;
    }

    .cases__item__stat__value span {
        font-size: 2rem;
        line-height: 2.5rem;
        color: #ffcd38;
    }

    @media (max-width: 993px) {
        .cases__title {
            position: relative;
            top: 0;
            margin: 1rem 0;
            font-size: 2rem;
            line-height: 3.625rem;
        }

        .cases__title span {
            margin-left: 12px;
        }

        .cases__items {
            flex-direction: column;
        }

        .cases__item {
            flex: 0 0 100%;
            width: 100%;
            height: auto;
            padding-top: 5rem;
            padding-bottom: 2rem;
            padding-left: 4.3125rem;
            text-align: left;
            background-repeat: no-repeat;
            background-position: left top;
            background-size: 100% auto;
        }

        .cases__item.is-active {
            flex: 0 0 100%;
            width: 100%;
            height: 5rem;
            padding-top: 30rem;
            padding-left: 4.3125rem;
        }

        .cases__item::before {
            top: 5rem;
            left: .5rem;
            opacity: 1;
        }

        .cases__item.is-active::before {
            top: 30.05rem;
        }

        .cases__item__text,
        .cases__item__stats {
            display: none;
            opacity: 1;
        }

        .cases__item.is-active .cases__item__text {
            display: block;
        }

        .cases__item.is-active .cases__item__stats {
            display: flex;
        }

        .cases__item__stats {
            flex-wrap: wrap;
        }

        .cases__item__stat {
            flex: 0 0 33.3333%;
            width: 33.3333%;
            margin-bottom: 1rem;
            text-align: left;
        }
    }

    /* 貸款計算機 */
    .calculator {
        position: relative;
        overflow: hidden;
        background: #fff;
        color: #000;
    }

    .calculator__wrapper {
        position: relative;
        overflow: hidden;
        width: 100%;
        max-width: 80rem;
        margin: 0 auto;
        padding: 0 1rem;
    }

    .calculator__img {
        position: absolute;
        top: 12.075rem;
        left: .9375rem;
        width: 51.375rem;
        clip-path: polygon(0 0, 100% 25%, 100% 100%, 0 74.3%);
    }

    .calculator__title {
        position: absolute;
        top: 19.275rem;
        left: 7.5625rem;
        font-size: 2.5rem;
        line-height: 3.625rem;
        font-weight: 200;
        color: #fff;
    }

    .calculator__title span {
        display: inline-block;
        margin-right: .625rem;
        padding: .3125rem 1.25rem .3125rem 1rem;
        font-weight: 500;
        color: #000;
        background: #ffcd38;
    }

    .calculator__txt {
        position: absolute;
        top: 25.075rem;
        left: 7.6875rem;
        width: 30rem;
        font-size: 1.25rem;
        line-height: 1.75rem;
        color: #fff;
    }

    .calculator__tool {
        position: relative;
        z-index: 10;
        width: 38.125rem;
        height: 26.9375rem;
        margin: 7.0625rem 0 10.3125rem 40rem;
        background: #fff;
    }

    .calculator__tool__items {
        padding: 1.625rem 2rem .1875rem;
    }

    .calculator__item {
        margin-bottom: 1.6875rem;
    }

    .calculator__item__top,
    .calculator__item__btm {
        display: flex;
        justify-content: space-between;
    }

    .calculator__item__btm {
        font-size: .75rem;
        line-height: 1.125rem;
    }

    .calculator__item__top__input {
        border-bottom: .0625rem solid #000;
    }

    .calculator__item__top__input__input,
    .calculator__item__top__input__txt {
        display: inline-block;
        background: transparent;
    }

    .calculator__item__top__input__input {
        padding-bottom: .4375rem;
        text-align: right;
        color: #E0650E;
        border: none;
        border-radius: 0;
        font: inherit;
        outline: none;
    }

    .calculator__item__top__input__input--tenor {
        width: 2.5rem;
    }

    .calculator__item__range__wrapper {
        position: relative;
        margin-top: .875rem;
        margin-bottom: .4375rem;
    }

    .calculator__item__range__wrapper__fill {
        position: absolute;
        top: .5625rem;
        left: 0;
        display: inline-block;
        width: 100%;
        height: .5625rem;
        pointer-events: none;
        border-radius: .3125rem;
        background-color: #ffcd38;
    }

    .calculator__item__range {
        width: 100%;
        height: .5625rem;
        margin: 0 0 .4375rem;
        transition: opacity .2s;
        border-radius: .3125rem;
        outline: none;
        background: #d3d3d3;
        -webkit-appearance: none;
    }

    .calculator__item__range::-webkit-slider-thumb {
        width: 1.5625rem;
        height: 1.5625rem;
        cursor: pointer;
        border-radius: .78125rem;
        background: #ffcd38;
        -webkit-appearance: none;
        appearance: none;
    }

    .calculator__item__range::-moz-range-thumb {
        width: 1.5625rem;
        height: 1.5625rem;
        cursor: pointer;
        border-radius: .78125rem;
        background: #ffcd38;
    }

    .calculator__result {
        display: flex;
        align-items: center;
        justify-content: space-between;
        padding: 1.625rem 2rem 1.875rem;
        background: #fff8e3;
    }

    .calculator__result__label {
        margin: 0 0 -.0625rem;
        font-size: 1.25rem;
        line-height: 1.75rem;
    }

    .calculator__result__amount {
        margin: 0 0 .625rem;
        font-size: 1rem;
        line-height: 1.5rem;
    }

    .calculator__result__amount span {
        margin-left: .25rem;
        font-size: 3rem;
        line-height: 3.625rem;
        font-weight: 500;
        color: #ffcd38;
    }

    .calculator__result__disclaimer {
        margin: 0;
        font-size: .75rem;
        line-height: 1.125rem;
    }

    .calculator__result .btn-apply {
        display: inline-block;
        flex-shrink: 0;
        box-sizing: border-box;
        width: 7rem;
        margin: 0;
        padding: 0 .75rem;
        border: .0625rem solid transparent;
        font-size: 1rem;
        line-height: 2.5rem;
        font-weight: 400;
        text-align: center;
        border-radius: 1.25rem;
    }

    .calculator__result .btn-apply:hover {
        background-color: #fff;
    }

    @media (max-width: 993px) {
        .calculator__img {
            top: .875rem;
        }

        .calculator__title {
            top: 3.875rem;
            left: 2.5625rem;
        }

        .calculator__txt {
            top: 8.875rem;
            left: 2.6875rem;
            width: 20rem;
        }

        .calculator__tool {
            width: 90vw;
            height: auto;
            margin: 17.0625rem 0 2.5rem 5vw;
        }
    }

    /* 收尾 CTA */
    .closing {
        position: relative;
        z-index: 2;
        height: auto;
        margin-top: 0;
        background-position: center 0;
        background-size: cover;
        text-align: center;
        color: #fff;
    }

    .closing__inner {
        position: relative;
        z-index: 2;
        max-width: 60rem;
        margin: 0 auto;
        padding: 7rem 1rem 3rem;
    }

    .closing__title {
        margin: 0 0 2rem;
        font-size: 3rem;
        line-height: 3.625rem;
        font-weight: 100;
        color: #fff;
    }

    .closing__text {
        display: block;
        margin: 0 0 2rem;
        padding: 0 1.5625rem;
        font-size: 1.25rem;
        line-height: 1.75rem;
        font-weight: 100;
        color: #fff;
    }

    .closing__highlight {
        display: inline-block;
        margin-right: 1rem;
        margin-left: 1rem;
        padding: 0 1.5rem;
        color: #000;
        background: #ffcd38;
    }

    /* 線上申請表：彈窗 */
    .apply-modal {
        position: fixed;
        inset: 0;
        z-index: 1055;
        display: none;
        align-items: flex-start;
        justify-content: center;
        padding: 1.75rem .5rem;
        overflow-y: auto;
    }

    .apply-modal.is-open {
        display: flex;
    }

    .apply-modal__backdrop {
        position: fixed;
        inset: 0;
        background: #000;
        opacity: .5;
    }

    .apply-modal__close {
        box-sizing: content-box;
        width: 1em;
        height: 1em;
        margin: -.5rem -.5rem -.5rem auto;
        padding: .5rem;
        border: 0;
        border-radius: .25rem;
        color: #000;
        background: transparent url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23000'%3e%3cpath d='M.293.293a1 1 0 011.414 0L8 6.586 14.293.293a1 1 0 111.414 1.414L9.414 8l6.293 6.293a1 1 0 01-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 01-1.414-1.414L6.586 8 .293 1.707a1 1 0 010-1.414z'/%3e%3c/svg%3e") center / 1em auto no-repeat;
        opacity: .5;
        cursor: pointer;
    }

    .apply-modal__close:hover {
        opacity: .75;
    }

    .apply-modal .apply__card {
        position: relative;
        width: 100%;
        max-width: 500px;
    }

    .apply__card {
        border: 1px solid rgba(0, 0, 0, .2);
        border-radius: .3rem;
        background: #fff;
        color: #212529;
        overflow: hidden;
    }

    .apply__header {
        display: flex;
        align-items: center;
        justify-content: space-between;
        padding: 1rem;
        border-bottom: 1px solid #dee2e6;
        background: #ffcd38;
    }

    .apply__title {
        margin: 0;
        font-size: 1.25rem;
        line-height: 1.5;
        font-weight: 500;
    }

    .apply__form {
        padding: 1rem;
    }

    .apply__grid {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 1rem;
        margin-bottom: 1rem;
    }

    .apply__captcha {
        grid-column: 1 / -1;
    }

    .apply__form .field label {
        display: inline-block;
        margin-bottom: .5rem;
        font-size: 1rem;
        font-weight: 400;
    }

    .apply__form input,
    .apply__form select {
        display: block;
        width: 100%;
        padding: .375rem .75rem;
        border: 1px solid #ced4da;
        border-radius: .25rem;
        font-size: 1rem;
        line-height: 1.5;
        color: #212529;
        background-color: #fff;
    }

    .apply__form input:focus,
    .apply__form select:focus {
        border-color: #86b7fe;
        outline: 0;
        box-shadow: 0 0 0 .25rem rgba(13, 110, 253, .25);
    }

    .apply__captcha__row {
        display: flex;
        align-items: center;
        gap: .75rem;
    }

    .apply__captcha__row input {
        flex: 1;
    }

    .apply__submit-row {
        display: flex;
        justify-content: flex-end;
    }

    .apply__submit {
        box-sizing: border-box;
        width: 7rem;
        padding: 0 .75rem;
        border: .0625rem solid #0d6efd;
        border-radius: 1.25rem;
        background: #ffcd38;
        color: #000;
        font-size: 1rem;
        line-height: 2.5rem;
        font-weight: 400;
        text-align: center;
        cursor: pointer;
    }

    .apply__submit:hover {
        background: #fff;
    }

    .apply__footer {
        padding: .75rem;
        border-top: 1px solid #dee2e6;
    }

    .apply__legal {
        margin: 0;
        font-size: 1rem;
        line-height: 1.5;
        color: #212529;
    }

    .apply__legal a {
        color: #212529;
        text-decoration: underline !important;
    }

    @media (max-width: 768px) {
        .hero {
            height: auto;
            min-height: 620px;
        }

        .hero__bg {
            clip-path: polygon(0 0, 100% 0, 100% calc(100% - 6rem), 0 100%);
        }

        .hero__inner {
            padding-bottom: 8rem;
        }

        .hero__title {
            margin-top: 9rem;
            font-size: 2.1rem;
            line-height: 2.6rem;
        }

        .hero__desc {
            font-size: 1rem;
        }

        .hero__note {
            max-width: 100%;
        }

        .btn-apply {
            padding: .5rem 1.5rem;
            font-size: 1rem;
        }

        .pitch {
            margin-top: -6rem;
            padding: 170px 0 80px;
        }

        .pitch__deco {
            width: 220px;
            right: -80px;
        }

        .pitch__slogan--2 {
            margin-left: 0;
        }

        .pitch__slogan__title {
            font-size: 1.6rem;
            line-height: 2.2rem;
        }

        .pitch__slogan__text {
            max-width: 100%;
            font-size: 1.05rem;
            line-height: 1.8;
        }

        .pitch__tagline {
            align-self: auto;
            max-width: 100%;
            font-size: 1.05rem;
            line-height: 1.6;
        }

        .closing__title {
            font-size: 1.5rem;
            line-height: 2rem;
        }

        .section-title {
            font-size: 1.8rem;
        }

        .section {
            padding: 80px 0
        }
    }

    /* 條款及細則等純文字頁面 */
    .legal-page {
        padding: 160px 0 80px;
    }

    .legal-page__content {
        max-width: 860px;
        margin: 0 auto;
        font-size: .95rem;
        line-height: 1.9;
        color: #444;
    }

    .legal-page__content p {
        margin: 0 0 1.4em;
    }

    .legal-page__content h3 {
        font-size: 1.2rem;
        font-weight: 700;
        color: #000;
        margin: 2.2em 0 .8em;
    }

    .legal-page__content h4 {
        font-size: 1.02rem;
        font-weight: 600;
        color: #000;
        margin: 1.6em 0 .6em;
    }

    .legal-page__content ul {
        list-style: disc;
        padding-left: 1.4em;
        margin: 0 0 1.4em;
    }

    .legal-page__content ol {
        padding-left: 1.4em;
        margin: 0 0 1em;
    }

    .legal-page__content ol ol {
        list-style-type: lower-roman;
        margin-top: .6em;
    }

    .legal-page__content ol ol ol {
        list-style-type: decimal;
    }

    .legal-page__content li {
        margin-bottom: .5em;
    }

    .legal-page__content h5 {
        font-size: 1.1rem;
        font-weight: 700;
        color: #000;
        margin: 2em 0 .8em;
    }
