      /* =====================================================
           FAQ SECTION
        ===================================================== */

        .geo-faq {
            width: 100%;
            padding: 28px 30px 38px;
            position: relative;
            overflow: hidden;
            background:
                radial-gradient(
                    circle at 12% 15%,
                    rgba(255, 224, 214, .30),
                    transparent 25%
                ),
                radial-gradient(
                    circle at 88% 76%,
                    rgba(226, 241, 222, .22),
                    transparent 24%
                ),
                linear-gradient(
                    180deg,
                    #fffdf9 0%,
                    #fff8f3 100%
                );
        }

 

        /* 紙張紋理 */
        .geo-faq::before {
            content: "";
            position: absolute;
            inset: 0;
            pointer-events: none;
            opacity: .15;
            background-image:
                repeating-linear-gradient(
                    0deg,
                    rgba(120, 90, 70, .05) 0,
                    rgba(120, 90, 70, .05) 1px,
                    transparent 1px,
                    transparent 5px
                );
        }
        .geo-faq-container {
            width: min(1180px, 100%);
            margin: 0 auto;
            position: relative;
            z-index: 2;
        }


        /* =====================================================
           TITLE
        ===================================================== */

        .geo-faq-header {
            margin-bottom: 22px;
            text-align: center;
            position: relative;
        }
        .geo-title-wrap {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            gap: 12px;
            position: relative;
        }
        .geo-title {
            margin: 0;
            color: #ed4165;
            font-size: clamp(28px, 4vw, 46px);
            font-weight: 900;
            letter-spacing: 3px;
            line-height: 1.1;
            text-shadow:
                0 2px 0 rgba(255, 255, 255, .8);
        }


        /* 左側黃色線條 */
        .geo-sun-lines {
            width: 35px;
            height: 35px;
            position: relative;
            flex: 0 0 35px;
        }
        .geo-sun-lines span {
            position: absolute;
            width: 18px;
            height: 4px;
            border-radius: 999px;
            background: #ffb51d;
        }
        .geo-sun-lines span:nth-child(1) {
            left: 4px;
            top: 5px;
            transform: rotate(30deg);
        }
        .geo-sun-lines span:nth-child(2) {
            left: 0;
            top: 17px;
        }
        .geo-sun-lines span:nth-child(3) {
            left: 7px;
            top: 28px;
            transform: rotate(-28deg);
        }


        /* 紙飛機 */
        .paper-plane {
            width: 55px;
            height: 42px;
            flex: 0 0 55px;
        }
        .paper-plane svg {
            width: 100%;
            height: 100%;
            fill: none;
            stroke: #238db5;
            stroke-width: 2.2;
            stroke-linecap: round;
            stroke-linejoin: round;
        }
        .geo-subtitle {
            margin: 7px 0 0;
            color: #565e68;
            font-size: clamp(13px, 1.5vw, 17px);
            font-weight: 800;
            letter-spacing: 1px;
        }


        /* =====================================================
           FAQ GRID
        ===================================================== */

        .faq-grid {
            display: grid;
            grid-template-columns:
                repeat(2, minmax(0, 1fr));
            gap: 12px 18px;
        }


        /* =====================================================
           FAQ ITEM
        ===================================================== */

        .faq-item {
            overflow: hidden;
            background: rgba(255, 255, 255, .96);
            border:
                1px solid
                rgba(219, 212, 205, .9);
            border-radius: 12px;
            box-shadow:
                0 3px 8px
                rgba(98, 79, 67, .10);
            transition:
                box-shadow .25s ease,
                transform .25s ease;
        }


        .faq-item:hover {
            box-shadow:
                0 7px 16px
                rgba(98, 79, 67, .14);
            transform: translateY(-1px);
        }


        /* =====================================================
           QUESTION BUTTON
        ===================================================== */

        .faq-question {
            width: 100%;
            min-height: 58px;
            padding: 13px 18px;
            display: grid;
            grid-template-columns:
                auto 1fr auto;
            align-items: center;
            gap: 12px;
            border: 0;
            background: transparent;
            color: #313744;
            text-align: left;
            cursor: pointer;
        }


        .faq-number {
            color: #33425a;
            font-size: 16px;
            font-weight: 900;
            white-space: nowrap;
        }


        .faq-question-text {
            font-size: 16px;
            font-weight: 800;
            letter-spacing: .5px;
            line-height: 1.5;
        }


        /* =====================================================
           PLUS / MINUS
        ===================================================== */

        .faq-toggle-icon {
            width: 28px;
            height: 28px;
            position: relative;
            flex: 0 0 28px;
        }


        .faq-toggle-icon::before,
        .faq-toggle-icon::after {
            content: "";
            position: absolute;
            left: 50%;
            top: 50%;
            background: #4b3e3b;
            border-radius: 999px;
            transform:
                translate(-50%, -50%);
            transition:
                transform .25s ease,
                opacity .25s ease;
        }


        /* 橫線 */
        .faq-toggle-icon::before {
            width: 16px;
            height: 2px;
        }

        /* 直線 */
        .faq-toggle-icon::after {
            width: 2px;
            height: 16px;
        }
        .faq-item.active
        .faq-toggle-icon::after {
            opacity: 0;
            transform:
                translate(-50%, -50%)
                rotate(90deg);
        }


        /* =====================================================
           ANSWER
        ===================================================== */

        .faq-answer {
            max-height: 0;
            overflow: hidden;
            opacity: 0;
            transition:
                max-height .38s ease,
                opacity .28s ease;
        }
        .faq-answer-inner {
            padding:
                0
                20px
                18px
                56px;
            color: #676d75;
            font-size: 14px;
            line-height: 1.8;
        }
        .faq-answer-inner p {
            margin: 0;
        }
        .faq-item.active
        .faq-answer {
            opacity: 1;
        }


        /* =====================================================
           ACTIVE STYLE
        ===================================================== */
        .faq-item.active {
            border-color:
                rgba(241, 125, 142, .55);
            box-shadow:
                0 8px 18px
                rgba(237, 90, 112, .12);
        }
        .faq-item.active
        .faq-question-text {
            color: #e94c69;
        }
        .faq-item.active
        .faq-number {
            color: #e94c69;
        }


        /* =====================================================
           TABLET
        ===================================================== */

        @media (max-width: 900px) {
            .geo-faq {
                padding:
                    26px
                    22px
                    34px;
            }
            .faq-grid {
                gap:
                    11px
                    14px;
            }
            .faq-question {
                padding:
                    12px
                    15px;
            }
            .faq-question-text {
                font-size: 15px;
            }
        }


        /* =====================================================
           MOBILE 768
        ===================================================== */

        @media (max-width: 768px) {
            .geo-faq {
                padding:
                    24px
                    18px
                    30px;
            }
            .geo-faq-header {
                margin-bottom: 18px;
            }
            .faq-grid {
                grid-template-columns: 1fr;
                gap: 10px;
            }
            .faq-question {
                min-height: 56px;
                padding:
                    12px
                    15px;
                gap: 9px;
            }
            .faq-number {
                font-size: 15px;
            }
            .faq-question-text {
                font-size: 15px;
            }
            .faq-answer-inner {
                padding:
                    0
                    16px
                    16px
                    48px;
            }
        }


        /* =====================================================
           SMALL MOBILE
        ===================================================== */

        @media (max-width: 480px) {
            .geo-faq {
                padding:
                    21px
                    13px
                    26px;
            }
            .geo-title-wrap {
                gap: 7px;
            }
            .geo-title {
                font-size: 28px;
                letter-spacing: 2px;
            }
            .geo-sun-lines {
                width: 27px;
                height: 30px;
                flex-basis: 27px;
            }
            .paper-plane {
                width: 43px;
                height: 34px;
                flex-basis: 43px;
            }
            .geo-subtitle {
                font-size: 12px;
            }
            .faq-question {
                grid-template-columns:
                    auto
                    minmax(0, 1fr)
                    auto;
                padding:
                    11px
                    12px;
            }
            .faq-number {
                font-size: 14px;
            }
            .faq-question-text {
                font-size: 14px;
            }
            .faq-answer-inner {
                padding:
                    0
                    14px
                    15px
                    42px;
                font-size: 13px;
            }
        }


        /* =====================================================
           REDUCED MOTION
        ===================================================== */

        @media
        (prefers-reduced-motion: reduce) {
            *,
            *::before,
            *::after {
                transition: none !important;
            }
        }