        /* 與 files11 / faq11 同語彙：僅作用 #contact */
        #contact {
            --ct11-bg: var(--theme11-bg);
            --ct11-paper: var(--theme11-paper);
            --ct11-line: var(--theme11-line);
            --ct11-text: var(--theme11-text);
            --ct11-soft: var(--theme11-soft);
            --ct11-main: var(--theme11-main);
            --ct11-section-gap: clamp(28px, 5vw, 56px);
            --ct11-input-bg: var(--theme11-muted-bg);
            --ct11-card-elev:
                0 1px 0 color-mix(in srgb, var(--theme11-paper) 75%, transparent) inset,
                0 20px 48px var(--theme11-shadow),
                0 2px 8px var(--theme11-shadow);
            -webkit-font-smoothing: antialiased;
            text-rendering: optimizeLegibility;
            background: var(--theme11-page-bg);
            color: var(--ct11-text);
            display: flow-root;
            padding-top: var(--height-nav-xs);
            padding-bottom: 50px;
        }

        @media (min-width: 740px) {
            #contact {
                padding-top: max(var(--height-nav-md), var(--height-nav-mini-md));
            }
        }

        @media (min-width: 1100px) {
            body:has(.header-v11) #contact {
                padding-top: var(--height-nav-md) !important;
            }

            body.mini-header:has(.header-v11) #contact {
                padding-top: var(--height-nav-mini-md) !important;
            }
        }

        @media (min-width: 980px) {
            body.countdown_show #contact {
                padding-top: calc(max(var(--height-nav-md), var(--height-nav-mini-md)) + var(--height-countdown-lg)) !important;
            }

            body.countdown_show.mini-header:has(.header-v11) #contact {
                padding-top: calc(var(--height-nav-mini-md) + var(--height-countdown-lg)) !important;
            }
        }

        /*
         * 有圖 banner 時主容器已預留導覽高度，banner 不再額外下推。
         * 勿用 :has(.banner)（隱藏區塊仍含 .banner 會誤判）。
         */
        #contact > section.inpage:first-of-type:not([style*="display:none"]):not([style*="display: none"]) > .banner,
        #contact > section.inpage:first-of-type:not([style*="display:none"]):not([style*="display: none"]) .banner {
            margin-top: 0 !important;
        }

        #contact > section.banner:first-of-type:not([style*="display:none"]):not([style*="display: none"]) {
            margin-top: 0 !important;
        }

        #contact > section.page_header,
        #contact section.inpage.container.page_header,
        #contact section.inpage.container_inside.page_header {
            margin-top: 0 !important;
        }

        #contact > section.inpage,
        #contact > section.page_header {
            background: transparent !important;
            background-color: transparent !important;
        }

        #contact > section.inpage.page_header,
        #contact > section.inpage.container_inside.page_header {
            color: var(--ct11-text);
        }

        #contact *,
        #contact *::before,
        #contact *::after {
            box-sizing: border-box;
        }

        /* 版心同 article11（1320）；排除 page_header，避免覆蓋 banner.html 的預設縮進 */
        #contact > .container_inside:not(.page_header) {
            width: min(1320px, 100% - 40px);
            max-width: 100%;
            margin-left: auto;
            margin-right: auto;
            padding-left: 0 !important;
            padding-right: 0 !important;
        }

        @media (max-width: 1024px) {
            #contact > .container_inside:not(.page_header) {
                width: min(1320px, 100% - 22px);
                padding-left: 0 !important;
                padding-right: 0 !important;
            }
        }

        @media (max-width: 640px) {
            #contact > .container_inside:not(.page_header) {
                width: min(1320px, 100% - 14px);
                padding-left: 0 !important;
                padding-right: 0 !important;
            }
        }

        /* 麵包屑與 #contact 版心同寬（覆寫 inpage_v2 全站 56/26/18） */
        #contact > section.page_header {
            width: min(1320px, 100% - 40px);
            max-width: 100%;
            margin-left: auto;
            margin-right: auto;
            padding-left: 0 !important;
            padding-right: 0 !important;
            box-sizing: border-box;
        }

        @media (max-width: 1024px) {
            #contact > section.page_header {
                width: min(1320px, 100% - 22px);
            }
        }

        @media (max-width: 640px) {
            #contact > section.page_header {
                width: min(1320px, 100% - 14px);
            }
        }

        /* 對齊 news11：只統一 page_header 下緣間距，避免限定 v3 造成位置不一致 */
        @media (min-width: 740px) {
            #contact section.inpage.container.page_header,
            #contact section.inpage.container_inside.page_header {
                padding-bottom: 2vw !important;
            }
        }

        #contact .ct11-section-gutter {
            width: min(1320px, 100% - 40px);
            max-width: 100%;
            margin-left: auto;
            margin-right: auto;
            padding-left: 0;
            padding-right: 0;
        }

        @media (max-width: 1024px) {
            #contact .ct11-section-gutter {
                width: min(1320px, 100% - 22px);
            }
        }

        @media (max-width: 640px) {
            #contact .ct11-section-gutter {
                width: min(1320px, 100% - 14px);
            }
        }

        #contact .contact_list_container_v3,
        #contact .contact-form.v3,
        #contact #b2b_block {
            border: 1px solid var(--ct11-line);
            border-radius: var(--radius-11);
            background: linear-gradient(180deg, color-mix(in srgb, var(--theme11-paper) 90%, transparent) 0%, var(--theme11-panel-bg) 100%);
            box-shadow: var(--ct11-card-elev);
        }

        #contact .contact_list_container_v3 {
            margin-bottom: var(--ct11-section-gap);
            overflow: hidden;
        }

        /* 聯絡資訊卡：內距與 article／表單區一致，避免標題、欄位、分隔線貼齊白卡邊 */
        #contact .contact_list_container_v3 .contact_list_v3 {
            padding: clamp(24px, 3.6vw, 40px) clamp(26px, 4.2vw, 52px) clamp(28px, 3.8vw, 44px);
            box-sizing: border-box;
        }

        /* Tab 切換列與下方聯絡內容：底線 + 上下留白（僅本頁 #contact） */
        #contact .contact_list_container_v3 .swiper_cl_v3 {
            margin-bottom: 0;
            padding-bottom: clamp(14px, 2.2vw, 24px);
            border-bottom: 1px solid var(--ct11-line);
        }

        #contact .contact_list_container_v3 .swiper_cl_content_v3 {
            margin-top: clamp(18px, 2.8vw, 32px);
        }

        @media (min-width: 740px) {
            #contact .contact_list_container_v3 .swiper_cl_content_v3 {
                margin-top: clamp(20px, 2.5vw, 36px);
            }
        }

        #contact .item_cl_content_v3 .cl_right {
            padding-left: clamp(4px, 0.8vw, 10px);
            padding-right: clamp(4px, 0.8vw, 10px);
        }

        /* 本頁專用：隱藏聯絡資訊列表項目底線（覆寫 contact.css，不改該檔） */
        #contact .item_cl_content_v3 .cl_right li {
            border-bottom: none !important;
        }

        @media (max-width: 739px) {
            #contact .item_cl_content_v3 .cl_right li {
                padding-left: clamp(8px, 2.2vw, 14px) !important;
                padding-right: clamp(8px, 2.2vw, 14px) !important;
            }
        }

        @media (min-width: 740px) {
            #contact .item_cl_content_v3 .cl_right li {
                padding-left: clamp(10px, 1.4vw, 18px) !important;
                padding-right: clamp(10px, 1.4vw, 18px) !important;
            }
        }

        /* 徵才區：與上下卡片同風格，修正 30vw 圖+百分比文字造成的右偏、左側空洞 */
        #contact .contact_careers {
            height: auto !important;
            min-height: 0 !important;
            background-attachment: scroll !important;
        }

        #contact .contact_careers.v3 {
            margin-bottom: clamp(24px, 4vw, 48px);
            border-radius: var(--radius-11);
            overflow: hidden;
            border: 1px solid var(--ct11-line);
            box-shadow: var(--ct11-card-elev);
            background: var(--theme11-panel-bg);
        }

        #contact .contact_careers.v3 .img_container {
            display: block !important;
            position: relative;
            overflow: hidden;
            align-self: stretch;
            min-height: clamp(220px, 28vw, 360px);
        }

        #contact .contact_careers.v3 .img_container .img_holder {
            display: block;
            width: 100%;
            min-height: clamp(220px, 28vw, 360px);
            background-size: contain !important;
            background-repeat: no-repeat !important;
            background-position: left center !important;
        }

        #contact .contact_careers.v3 .img_container .img_holder::after {
            content: "";
            display: block;
            width: 100%;
            padding-bottom: 62%;
        }

        #contact .contact_careers.v3 .container_inside {
            width: auto !important;
            max-width: none !important;
            margin-left: 0 !important;
            margin-right: 0 !important;
            background:
                linear-gradient(135deg, color-mix(in srgb, var(--theme11-paper) 90%, transparent) 0%, var(--theme11-panel-bg) 100%) !important;
        }

        #contact .contact_careers.v3 .container_inside .item {
            display: flex !important;
            flex-direction: column !important;
            justify-content: center !important;
            align-items: stretch !important;
            gap: clamp(14px, 1.8vw, 22px);
            height: auto !important;
        }

        #contact .contact_careers.v3 .item .title {
            color: var(--ct11-soft) !important;
            font-size: clamp(13px, 0.95vw, 15px);
            line-height: 1.4 !important;
            letter-spacing: 0.12em;
            text-transform: uppercase;
        }

        #contact .contact_careers.v3 .item .box {
            align-items: flex-start;
            display: grid !important;
            grid-template-columns: 1fr;
            gap: clamp(14px, 2vw, 24px);
        }

        #contact .contact_careers.v3 .item .content h3 {
            color: var(--ct11-text) !important;
            margin: 0;
            padding-bottom: 0 !important;
            max-width: 11em;
            line-height: 1.16 !important;
            letter-spacing: -0.025em;
        }

        #contact .contact_careers .item .content:nth-of-type(1) {
            padding-bottom: 0 !important;
        }

        #contact .contact_careers.v3 .item .content p {
            color: var(--ct11-soft) !important;
            margin: 0;
            max-width: 42em;
            line-height: 1.9;
            -webkit-line-clamp: unset;
        }

        #contact .contact_careers.v3 .btn_careers {
            position: static !important;
            right: auto !important;
            bottom: auto !important;
            align-self: flex-end;
            margin-top: clamp(4px, 1vw, 12px);
            margin-bottom: clamp(4px, 0.8vw, 10px);
            border-radius: var(--radius-11);
            box-shadow: 0 10px 24px var(--theme11-shadow);
            transition:
                transform 0.22s ease,
                box-shadow 0.22s ease,
                background-color 0.22s ease;
        }

        #contact .contact_careers.v3 .btn_careers:hover {
            transform: translateY(-2px);
            box-shadow: 0 14px 30px var(--theme11-shadow);
        }

        @media (min-width: 980px) {
            #contact .contact_careers.v3 {
                display: flex !important;
                flex-direction: row !important;
                align-items: stretch !important;
                min-height: 300px;
            }

            #contact .contact_careers.v3 .img_container {
                width: min(34%, 420px) !important;
                min-width: 220px !important;
                max-width: none !important;
                min-height: 280px !important;
                flex-shrink: 0;
                display: flex !important;
                flex-direction: column !important;
            }

            #contact .contact_careers.v3 .img_container .img_holder {
                flex: 1 1 auto;
                min-height: 280px;
                height: 100%;
            }

            #contact .contact_careers.v3 .img_container .img_holder::after {
                display: none;
            }

            #contact .contact_careers.v3 .container_inside {
                flex: 1 1 0 !important;
                min-width: 0 !important;
                display: flex !important;
                align-items: center !important;
                padding: clamp(28px, 3.5vw, 44px) clamp(22px, 3vw, 36px) clamp(28px, 3.5vw, 44px) clamp(14px, 2vw, 24px) !important;
            }

            #contact .contact_careers.v3 .container_inside .item {
                padding-top: 0 !important;
                padding-bottom: 0 !important;
                width: 100% !important;
                min-height: 220px;
            }

            #contact .contact_careers .item .box {
                width: 100% !important;
                grid-template-columns: minmax(220px, 0.82fr) minmax(320px, 1.18fr);
                align-items: center;
                gap: clamp(24px, 4vw, 56px);
            }

            #contact .contact_careers .item .title {
                width: 100% !important;
                padding-bottom: 0 !important;
            }

            #contact .contact_careers .item .content {
                width: auto !important;
                max-width: none !important;
            }

            #contact .contact_careers .item .content + .content {
                margin-left: 0 !important;
                padding-left: 0 !important;
                border-left: 0 !important;
            }

            #contact .contact_careers .item .content:nth-of-type(1)::before {
                display: none !important;
            }
        }

        @media (max-width: 979px) {
            #contact .contact_careers.v3 {
                flex-direction: column !important;
            }

            #contact .contact_careers.v3 .img_container {
                width: 100% !important;
                min-width: 0 !important;
                min-height: 220px !important;
            }

            #contact .contact_careers.v3 .container_inside {
                padding: clamp(22px, 4vw, 32px) clamp(18px, 3vw, 24px) !important;
            }

            #contact .contact_careers.v3 .container_inside .item {
                padding-top: 0 !important;
                padding-bottom: 0 !important;
            }

            #contact .contact_careers.v3 .item .box {
                gap: 14px;
            }

            #contact .contact_careers .item .content {
                width: 100% !important;
            }

            #contact .contact_careers .item .content + .content {
                padding-top: 14px;
                border-top: 1px solid var(--ct11-line);
            }

            #contact .contact_careers.v3 .btn_careers {
                width: 100%;
                margin-top: 6px;
                margin-bottom: 2px;
            }
        }

        /*
         * contact.css 原版為橫幅重疊：padding-left:30vw、margin-top:-14.2vw。
         * 在卡片／內容區會把文字擠到右側，改為平衡內距並取消上移。
         */
        @media (min-width: 980px) {
            #contact .contact_list_v3 {
                padding-left: clamp(22px, 3.2vw, 44px) !important;
                padding-right: clamp(22px, 3.2vw, 44px) !important;
                margin-top: 0 !important;
            }

            #contact .contact_list_v3 .text_container {
                padding: clamp(28px, 3.5vw, 48px) clamp(20px, 2.8vw, 36px) clamp(32px, 3.8vw, 52px) !important;
            }

            /* 舊版分隔線依 viewport 定位，在此版型易错位，改由卡片與留白區分 */
            #contact .contact_list_container_v3:after {
                display: none;
            }

            #contact .swiper_cl_content_v3 {
                margin-top: clamp(12px, 2vw, 24px) !important;
            }
        }

        @media (min-width: 1100px) {
            #contact .contact_list_v3 .text_container {
                padding: clamp(30px, 3.8vw, 52px) clamp(22px, 3vw, 40px) clamp(34px, 4vw, 56px) !important;
            }
        }

        #contact .item_cl_v3:before {
            border-left-color: color-mix(in srgb, var(--ct11-line) 85%, transparent);
        }

        #contact .swiper-slide-thumb-active .item_cl_v3 strong {
            color: var(--ct11-main);
        }

        #contact .item_cl_content_v3 .cl_right .field {
            color: var(--ct11-text);
            font-weight: 600;
            font-size: clamp(13px, 0.88vw, 14px);
            letter-spacing: 0.03em;
            margin-bottom: 0.35rem;
        }

        #contact .item_cl_content_v3 .cl_right .value,
        #contact .item_cl_content_v3 .cl_right .value p {
            color: var(--ct11-soft);
            font-size: clamp(15px, 1.05vw, 16px);
            line-height: 1.55;
        }

        #contact .item_cl_v3 strong {
            font-weight: 600;
            font-size: clamp(1.05rem, 2.1vw, 1.28rem);
            letter-spacing: 0.02em;
            line-height: 1.35;
        }

        #contact .item_cl_content_v3 .cl_right a {
            text-decoration: none;
            border-bottom: 1px solid var(--theme11-shadow);
            transition: color 0.2s ease, border-color 0.2s ease;
        }

        #contact .item_cl_content_v3 .cl_right a:hover {
            color: var(--ct11-text);
            border-bottom-color: var(--theme11-shadow);
        }

        /* 表單區大標：與下方 .form_container 左右內距對齊，避免標題較欄位偏左 */
        #contact .contact-form.v3 > h3.fz-A {
            position: relative;
            margin-top: 0;
            margin-bottom: clamp(1.15rem, 2.2vw, 1.65rem);
            padding-bottom: 0.55rem;
            padding-left: clamp(16px, 2.4vw, 32px);
            padding-right: clamp(16px, 2.4vw, 32px);
            border-bottom: 0;
        }

        #contact .contact-form.v3 > h3.fz-A:after {
            content: none !important;
        }

        #contact .contact-form.v3 > h3.fz-A:before {
            content: "";
            position: absolute;
            left: clamp(16px, 2.4vw, 32px);
            bottom: 0;
            width: 64px;
            max-width: 28%;
            height: 0;
            border-bottom: 2px solid color-mix(in srgb, var(--ct11-text) 35%, transparent);
        }

        #contact #b2b_block {
            margin-bottom: clamp(24px, 4vw, 48px);
            padding: clamp(20px, 3vw, 36px) clamp(14px, 2.2vw, 28px) clamp(24px, 3.5vw, 40px);
            box-sizing: border-box;
        }

        #contact .query-list .col-layout {
            padding-top: clamp(8px, 2vw, 28px);
        }

        #contact #b2b_block .query-list .left-area h3.fz-A {
            margin-top: 0;
            margin-bottom: clamp(12px, 2vw, 20px);
        }

        @media (min-width: 740px) {
            #contact .query-list-item.head {
                border-bottom-color: color-mix(in srgb, var(--theme11-text) 22%, transparent) !important;
            }
        }

        /* 錨點 #form（schema）捲動時保留頂部導覽空間 */
        #contact #form {
            scroll-margin-top: clamp(64px, 10vh, 100px);
        }

        /* 僅表單白卡「內部」留白：標題、input-box 與卡片邊緣留出距離 */
        #contact .contact-form.v3 {
            padding: clamp(36px, 5.5vw, 64px) clamp(28px, 7.5vw, 104px) clamp(32px, 4.8vw, 56px);
            margin-bottom: var(--ct11-section-gap);
            box-sizing: border-box;
        }

        #contact .contact-form.v3 .form_container {
            padding-top: clamp(12px, 2vw, 22px) !important;
            padding-bottom: clamp(18px, 2.6vw, 36px) !important;
            padding-left: clamp(16px, 2.4vw, 32px) !important;
            padding-right: clamp(16px, 2.4vw, 32px) !important;
        }

        #contact .form_container .item .box {
            margin-bottom: clamp(20px, 2.8vw, 28px);
        }

        #contact .form_container .item .box .fz-C {
            display: block;
            padding-bottom: 0.45rem;
            color: var(--ct11-text);
            font-weight: 600;
            font-size: clamp(13px, 0.9vw, 14px);
            letter-spacing: 0.02em;
        }

        #contact .form_container .item .box textarea,
        #contact .form_container .item .content.cell.input-box textarea {
            min-height: 7.5rem;
            padding-top: 0.65rem !important;
            padding-bottom: 0.65rem !important;
        }

        #contact .form_container .btn_box {
            flex-wrap: wrap;
            gap: 14px 20px;
            align-items: flex-start;
            justify-content: flex-end;
            margin-top: clamp(8px, 1.5vw, 16px);
        }

        #contact .form_container .item .box input:not([type="checkbox"]):not([type="radio"]),
        #contact .form_container .item .box select,
        #contact .form_container .item .box textarea,
        #contact .form_container .item .content.cell.input-box textarea {
            border-radius: var(--radius-11) !important;
            border: 1px solid color-mix(in srgb, var(--ct11-line) 85%, transparent) !important;
            background-color: var(--ct11-input-bg) !important;
            color: var(--ct11-text) !important;
            transition:
                border-color 0.2s ease,
                box-shadow 0.2s ease,
                background-color 0.2s ease;
        }

        #contact .form_container .item .box input:focus,
        #contact .form_container .item .box select:focus,
        #contact .form_container .item .box textarea:focus,
        #contact .form_container .item .content.cell.input-box textarea:focus {
            border-color: color-mix(in srgb, var(--ct11-text) 45%, transparent) !important;
            outline: none !important;
            box-shadow: 0 0 0 3px var(--ct11-focus-ring) !important;
            background-color: var(--theme11-paper) !important;
        }

        #contact .form_container .item .content.cell.input-box textarea:hover {
            border-color: color-mix(in srgb, var(--ct11-line) 95%, transparent) !important;
        }

        #contact .form_container .item .box input:hover,
        #contact .form_container .item .box select:hover,
        #contact .form_container .item .box textarea:hover {
            border-color: color-mix(in srgb, var(--ct11-line) 95%, transparent) !important;
        }

        @media (min-width: 1100px) {
            #contact .form_container .item .box:nth-of-type(3n + 1) {
                padding-right: clamp(12px, 1.8vw, 22px) !important;
            }

            #contact .form_container .item .box:nth-of-type(3n + 2) {
                padding-right: clamp(12px, 1.8vw, 22px) !important;
                padding-left: clamp(6px, 1vw, 14px) !important;
            }

            #contact .form_container .item .box:nth-of-type(3n) {
                padding-left: clamp(6px, 1vw, 14px) !important;
            }
        }

        #contact .map_container.v3 {
            margin-top: clamp(16px, 2.5vw, 28px);
            margin-bottom: 0 !important;
            padding-bottom: 0 !important;
            overflow: hidden;
            border: 1px solid var(--ct11-line);
            box-shadow: var(--ct11-card-elev);
        }

        #contact:has(> .map_container.v3) {
            padding-bottom: 0 !important;
        }

        #contact .map_container.v3 iframe {
            display: block;
        }

        #contact .form_container .btn-submit {
            border-radius: var(--radius-11);
            transition:
                transform 0.2s ease,
                box-shadow 0.2s ease,
                background-color 0.2s ease;
            box-shadow: 0 6px 18px var(--theme11-shadow);
        }

        #contact .form_container .btn-submit:hover {
            transform: translateY(-2px);
            box-shadow: 0 10px 26px var(--theme11-shadow);
        }

        #contact .form_container .btn-submit:active {
            transform: translateY(0);
            box-shadow: 0 4px 12px var(--theme11-shadow);
        }

        #contact .thanksWrap .thanks {
            background: var(--ct11-paper);
            border: 1px solid var(--ct11-line);
            border-radius: var(--radius-11);
            box-shadow: var(--ct11-card-elev);
        }

        @media (prefers-reduced-motion: reduce) {
            #contact .form_container .btn-submit,
            #contact .form_container .btn-submit:hover,
            #contact .form_container .btn-submit:active {
                transform: none;
            }
        }

        #contact .fz-A,
        #contact .fz-B,
        #contact .fz-C,
        #contact .fz-D {
            line-height: 1.5em !important;
        }

        @media (max-width: 767px) {
            #contact .form_container .btn-submit {
                margin-left: 0;
                width: 100%;
            }
        }
