 :root {
            --brand-color: #a17f4f;        /* 指定品牌色 */
            --brand-dark: #2d2a26;         /* 深色對比 */
            --bg-white: #ffffff;
            --text-muted: #8e8e8e;
            --transition-curve: cubic-bezier(0.65, 0, 0.35, 1);
        }

        /* 移除拉霸關鍵設定 */
        html.loadingOverflow, 
        body.loadingOverflow {
            overflow: hidden !important;
            height: 100% !important;
            width: 100% !important;
            position: fixed !important; 
        }

        /* 基礎容器 */
        #loading.loading-travel {
            position: fixed;
            inset: 0;
            z-index: 9999;
            pointer-events: all;
            background: transparent;
            display: none; 
            touch-action: none; 
            user-select: none;
        }

        #loading.loading-travel.active {
            display: block;
        }

        #loading.loading-travel article {
            position: relative;
            width: 100vw;
            height: 100vh;
            display: flex;
            align-items: center;
            justify-content: center;
            overflow: hidden; 
        }

        /* ===== 旅遊意象：全景開展退場 (Panoramic Expansion) ===== */
        .block-bg-wrapper {
            position: absolute;
            inset: 0;
            display: flex;
            z-index: -1;
            width: 100%;
            height: 100%;
        }

        .block-box {
            flex: 1;
            background: var(--bg-white);
            height: 100%;
            transform: translateX(0);
            opacity: 1;
            transition: transform 0.9s var(--transition-curve), opacity 0.8s ease;
        }

        /* 退場動畫：左右滑開，中間淡出 */
        #loading.loading-travel article.hide .block-box.left { 
            transform: translateX(-100%); 
        }
        
        #loading.loading-travel article.hide .block-box.center { 
            transform: scale(1.1);
            opacity: 0;
            transition-duration: 0.7s;
        }

        #loading.loading-travel article.hide .block-box.right { 
            transform: translateX(100%); 
        }
        
        #loading.loading-travel article.hide {
            pointer-events: none;
            visibility: hidden;
            transition: visibility 0.9s;
        }

        /* 中央內容區 */
        .loading-center {
            position: relative;
            text-align: center;
            z-index: 10;
            display: flex;
            flex-direction: column;
            align-items: center;
            gap: 30px;
            transition: opacity 0.6s ease, transform 0.6s var(--transition-curve);
        }

        /* 退場時整體淡出 */
        #loading.loading-travel article.hide .loading-center {
            opacity: 0;
            transform: translateY(-20px) scale(0.95);
        }

        /* ===== 品牌 LOGO 與對齊環圈的飛機 ===== */
        .logo-container {
            position: relative;
            width: 260px; 
            height: 260px;
            display: flex;
            align-items: center;
            justify-content: center;
            opacity: 0;
            transition: opacity 0.8s ease;
        }

        #loading.loading-travel.show .logo-container { opacity: 1; }

        .logo-box {
            position: relative;
            width: 140px;
            z-index: 5;
            animation: logoFloat 4s infinite ease-in-out;
        }

        .logo-box img {
            width: 100%;
            height: auto;
            display: block;
            filter: drop-shadow(0 8px 25px rgba(161, 127, 79, 0.2));
        }

        .path-visual {
            position: absolute;
            width: 220px;
            height: 80px;
            top: 58%;
            left: 50%;
            transform: translate(-50%, -50%) rotate(-6deg);
            z-index: 2;
        }

        .orbit-line {
            fill: none;
            stroke: var(--brand-color);
            stroke-width: 1;
            stroke-dasharray: 3 5;
            opacity: 0.2;
            stroke-linecap: round;
        }

        .plane-orbit {
            position: absolute;
            width: 220px;
            height: 80px;
            top: 58%;
            left: 50%;
            transform: translate(-50%, -50%) rotate(-6deg);
            z-index: 6;
        }

        .orbit-plane {
            position: absolute;
            width: 20px;
            height: 20px;
            offset-path: ellipse(110px 40px at 50% 50%);
            animation: followOrbit 4s infinite linear;
        }

        .plane-svg {
            width: 100%;
            height: 100%;
            fill: var(--brand-color);
            filter: drop-shadow(0 2px 4px rgba(0,0,0,0.1));
        }

        /* ===== 文字區塊 ===== */
        .text-box {
            display: flex;
            flex-direction: column;
            gap: 12px;
            overflow: hidden; 
            padding: 10px;
        }

        .loading-text {
            font-family: "PingFang TC", "Microsoft JhengHei", serif;
            color: var(--brand-color);
            font-size: 1.1rem;
            letter-spacing: 0.5em; 
            font-weight: 400;
            font-style: italic;
            opacity: 0;
            transform: translateX(-30px); 
            filter: blur(8px);
        }

        .sub-text {
            font-size: 0.7rem;
            color: var(--text-muted);
            letter-spacing: 0.6em; 
            text-transform: uppercase;
            opacity: 0;
            transform: translateX(30px); 
            filter: blur(8px);
        }

        #loading.loading-travel.show .loading-text {
            animation: textExploreLeft 1.2s var(--transition-curve) forwards 0.3s;
        }

        #loading.loading-travel.show .sub-text {
            animation: textExploreRight 1.2s var(--transition-curve) forwards 0.5s;
        }

        /* ===== Keyframes ===== */
        @keyframes textExploreLeft {
            0% { opacity: 0; transform: translateX(-30px); filter: blur(8px); letter-spacing: 0.5em; }
            100% { opacity: 1; transform: translateX(0); filter: blur(0); letter-spacing: 0.25em; }
        }

        @keyframes textExploreRight {
            0% { opacity: 0; transform: translateX(30px); filter: blur(8px); letter-spacing: 0.6em; }
            100% { opacity: 0.8; transform: translateX(0); filter: blur(0); letter-spacing: 0.4em; }
        }

        @keyframes followOrbit {
            0% { offset-distance: 0%; transform: scale(0.8) rotate(90deg); opacity: 0.3; z-index: 1; }
            50% { offset-distance: 50%; transform: scale(1.05) rotate(90deg); opacity: 1; z-index: 10; }
            100% { offset-distance: 100%; transform: scale(0.8) rotate(90deg); opacity: 0.3; z-index: 1; }
        }

        @keyframes logoFloat {
            0%, 100% { transform: translateY(0); }
            50% { transform: translateY(-8px); }
        }

        @media (max-width: 480px) {
            .logo-container { width: 200px; height: 200px; }
            .logo-box { width: 110px; }
            .path-visual, .plane-orbit { width: 180px; height: 60px; }
        }