
    /* 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: 'Noto Sans TC', 'PingFang TC', 'Microsoft JhengHei', sans-serif;
    }
    /* 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 #ff2d2d;
        /* amber-400 */
        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: #ff2d2d !important;
        color: white !important;
        border: none;
    }

    /* Main */

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

    .section {
        padding: 72px 0
    }

    .section-title {
        font-size: 3rem;
        letter-spacing: .08em;
        margin: 0 0 20px;
        color: #fe3535ff
    }

    .section-inner {
        width: 70%;
        margin: auto;
        p{
            font-weight: bold;
        }
    }

    .btn-apply {
        font-size: 1.2rem;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        padding: .3rem 3rem;
        border-radius: 999px;
        background: linear-gradient(90deg, #f74e3bff, #fe3835ff);
        color: #fff;
        font-weight: 700;
        text-decoration: none;
        border: 2px solid #fe3535ff;
        box-shadow: 0 10px 24px rgba(0, 0, 0, .12);
        border: none;
        margin: 1rem;
    }

    .btn-apply:hover {
        transform: translateY(-1px);
        box-shadow: 0 14px 34px rgba(255, 106, 33, .38);
    }

    .grid {
        display: grid;
        gap: 24px
    }

    /* HERO */
    .hero {
        position: relative;
        min-height: 700px;
    }

    .hero__inner {
        z-index: 2;
        padding: 100px 0;
        position: relative;
    }

    .hero__copy {
        width: 50%;
        display: flex;
        align-items: center;
        justify-content: center;
        flex-direction: column;
        margin-top: 4rem;
        h1 {
            color: #fff;
            font-weight: 900;
            font-size: 6.5rem;
            text-shadow:2px 2px 0 #d81f26,                
            10px 30px 500px rgba(0,0,0,.25);
        }
        .btn-apply{
            padding: .8rem 3.5rem;
        }
    }

    .hero__title {
        font-size: 5rem;
        line-height: 1.1;
        font-weight: 900;
        letter-spacing: .06em;
        margin: 0 0 14px
    }

    .hero__subtitle {
        font-size: 4rem;
        margin: 0 0 20px
    }


    .hero__figure {
        width: 30%;
        height: auto;
        position: absolute;
        bottom: 0;
        right: 0;
        filter: drop-shadow(0 10px 24px rgba(0, 0, 0, .35))
    }

    .features .grid {
        grid-template-columns: repeat(3, 1fr)
    }

    .card {
        border-radius: 14px;
        overflow: hidden;
        box-shadow: 0 6px 18px rgba(0, 0, 0, .08)
    }

    .card__media {
        aspect-ratio: 3/3;
        background: center/cover no-repeat;
    }

    .card__body {
        position: absolute;
        bottom: 0;
        width: 100%;
        text-align: center;
        color: #000;
        font-size: 1.3rem;
        padding: 14px 16px;
        background: linear-gradient(90deg, #fb9a01d9, #ec0880);
        opacity: 0.8;
    }

    .card__title {
        font-weight: 800;
        margin: 0;
        color: #fff;
        font-weight: bolder;
    }

    .benefits {
        background: #ff2d2d;
    }

    .benefits__list {
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 60px;
        margin-top: 24px
    }

    .benefit {
        border-radius: 16px;
        padding: 22px;
        text-align: center;

    }

    .benefit__icon img {
        width: 150px;
        height: 150px;
    }

    .benefit__title {
        color: #fff;
        margin-top: 20px;
        font-weight: bold;
        font-size: 2rem;
    }

    .highlight {
        background: #ff2d2d;
        display: flex;
        align-items: center;
    }

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

    .highlight__desc {
        padding: 0 4rem;
        text-align: right;
        color: #fff;
        width: 50%;
    }

    .highlight__img {
        width: 50%;
    }

    .highlight__img img {
        background-position: center;
        background-size: cover;
        width: 100%;
        max-height: 350px;
    }

    .highlight__title {
        font-size: 3rem;
        font-weight: 900;
        margin: 0 0 8px
    }

    .highlight p {
        margin: 0 0 14px
    }

    .step__list {
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 4rem;
        flex-wrap: wrap;
    }

    .step {
        text-align: center
    }

    .step__icon img {
        max-width: 200px;
        max-height: 200px;
        margin: 0 auto 12px;
        border-radius: 50%;
    }

    .step__no {
        font-weight: 900;

    }
    .step__text {
        font-weight: 600;
        margin-top: 6px;
    }

    .apply {
        background: #fff;
    }

    .apply__card {
        display: flex;
        gap: 28px;
        border-radius: 18px;
        background: linear-gradient(150deg, #ff2d2d 0%, #ff2d2d 40%, #ff4a2f 70%, #ff8a2f 100%);
        padding: 28px;
        color: #fff;
        box-shadow: 0 10px 24px rgba(0, 0, 0, .12);
        position: relative;
        form {
            width: 50%;
        }
    }

    .apply__title {
        font-size: 3rem;
        text-align: center;
        font-weight: 700;
    }

    .apply__subtitle {
        font-size: 1.5rem;
        text-align: center;
    }

    .apply__form .field {
        margin-bottom: 12px
    }

    .apply__form input {
        width: 100%;
        height: 44px;
        border-radius: 8px;
        border: none;
        padding: 0 14px
    }

    .apply__person {
        width: 35%;
        position: absolute;
        bottom: 0;
        right: 10%;
    }
    @media (max-width: 768px) {
        .features .grid {
            grid-template-columns: repeat(2, 1fr)
        }

        .card__body {
            padding: 10px;
        }

        .benefit {
            padding: 0;
        }

        .benefits__list {
            flex-wrap: wrap;
            gap: 35px;
        }

        .benefit__icon img {
            width: 100px;
            height: 100px;
        }


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

        .highlight {
            padding: 1rem 0;
            background: none;
            .container {
                --bs-gutter-x: 0;
                width: 100%;
            }
            .section-title {
                font-weight: 900;
            }
            .highlight__desc {
                padding: 0 1rem
            }   

            .btn-apply {
                background: #fff;
                color: #ff2d2d;
                font-weight: 900;
                padding: .5rem 1.3rem;
            }
        }

        .highlight__card {
            display: flex;
            flex-direction: column;
            align-items: center;
            background: #ff2d2d;

            .highlight__title {
                margin: 2rem 0;
            }

            .highlight__desc,
            .highlight__img {
                width: 100%;
            }
     
        }
        .highlights .section-inner {
            margin-top: -2rem;
            width: 80%;
        }
        .highlight .container>.highlight__card:first-child {
            flex-direction: column-reverse;
        }

        .container {
            width: 95%;
        }
        .hero {
            position: relative;
            height: 600px;
        }

        .hero__copy {
            width: 70%;
            position: absolute;
            top: 50%;
            left: 50%;
            z-index: 3;
            transform: translate(-50%, -50%);
            display: flex;
            align-items: center;
            flex-direction: column;

            img {
                width: 110%;
            }
            h1 {
                font-size: 4rem;
            }
                .btn-apply {
            padding: .5rem 1.5rem;
            }
        }

        .hero__inner {
            position: static;
        }

        .hero__figure {
            bottom: 25%;
            right: 50%;
            transform: translateX(50%);
            width: 38%;
        }

       .features, .steps{
            padding-top: 0;
            padding-bottom: 3rem;
            margin-top: -4rem;
        }

        .step__icon img {
            max-width: 100px;
            max-height: 100px;
        }

        .apply__card {
            padding-bottom: 15rem;

            .btn-apply {
                background: #fff;
                color: #ff2d2d;
                padding: .3rem 2rem;
            }
            form {
                width: 100%;
            }
        }

        .apply__person {
            width: min(63vw, 360px);
            right: -30px;
        }

        .apply__title {
            font-size: 1.5rem;
        }

        .apply__subtitle {
            font-size: 1rem;
            text-align: center;
        }

    @media (max-width: 555px) {
        .hero__figure {
            bottom: 45%;
        }
    }
    @media (max-width: 425px) {
        .hero__figure {
            width: 50%;
        }
    }
    @media (max-width: 330px) {
        .benefits__list {
            gap: 20px;
        }
        .section-title, .highlight__title{
            font-size: 2rem;
        }
    }
    
}