        /* --- 1. 核心設定 --- */
        :root {
            --brand-blue: #1736F5;
            --brand-dark: #0b1a7a;
            --accent-yellow: #FFC709;
            --text-dark: #333333;
        }

        * { box-sizing: border-box; margin: 0; padding: 0; }

        body {
            background-color: var(--brand-blue);
            background-image: radial-gradient(circle at 50% 10%, #4c6aff 0%, var(--brand-blue) 40%, var(--brand-dark) 100%);
            font-family: 'PingFang TC', 'Microsoft JhengHei', sans-serif;
            min-height: 100vh;
            padding: 40px 20px 120px 20px;
            display: flex;
            justify-content: center;
            color: #fff;
            overflow-x: hidden; /* 防止漂浮圖片超出邊界 */
        }

        .container {
            width: 100%;
            max-width: 1100px;
            display: grid;
            grid-template-columns: repeat(3, 1fr);
            gap: 20px;
        }

        /* --- 2. 標題區 (透明度 0.8) --- */
        .header-card {
            grid-column: span 3;
            background: rgba(255, 255, 255, 1);
            backdrop-filter: blur(15px);
            -webkit-backdrop-filter: blur(15px);
            border: 1px solid rgba(255, 255, 255, 0.6);
            border-radius: 30px;
            padding: 40px;
            text-align: left;
            position: relative;
            /* overflow: hidden; [修改] 移除 hidden 讓圖片可以超出 */
            box-shadow: 0 15px 35px rgba(0,0,0,0.15);
            display: flex;
            justify-content: space-between;
            align-items: center;
            /* [新增] 提高層級，避免被下方卡片遮住漂浮圖片 */
            z-index: 20; 
        }

        /* [修改] 大標題加粗 */
        .header-content h1 { 
            /* 指定特粗黑體 */
            font-family: 'Noto Sans TC', sans-serif;
            font-weight: 900;
            
            font-size: 3rem; 
            margin-bottom: 10px; 
            color: var(--brand-blue); 
            line-height: 1.1;
        }
        
        .header-content p { 
            font-size: 1.2rem; 
            color: #333; 
            font-weight: 600;
        }

        .header-tag {
            background: var(--accent-yellow);
            color: var(--brand-blue);
            font-weight: 900;
            padding: 6px 12px;
            border-radius: 8px;
            font-size: 0.85rem;
            display: inline-block;
            margin-bottom: 15px;
        }
        
        /* [新增] 漂浮圖片樣式與動畫 */
        @keyframes float {
            0%, 100% { transform: translateY(0px) rotate(0deg); }
            50% { transform: translateY(-20px) rotate(2deg); }
        }

        .floating-mascot {
            position: absolute;
            right: 0px; /* 調整位置讓它超出邊框 */
            top: -50px;  /* 調整位置讓它超出邊框 */
            width: 350px; /* 調整圖片大小 */
            height: auto;
            z-index: 10;
            animation: float 6s ease-in-out infinite; 
            pointer-events: none; 
        }


        /* --- 3. 聯絡資訊小卡 (透明度 0.5) --- */
        .info-card {
            grid-column: span 1;
            background: rgba(255, 255, 255, 0.85);
            backdrop-filter: blur(15px);
            -webkit-backdrop-filter: blur(15px);
            border-radius: 30px;
            padding: 30px;
            border: 1px solid rgba(255, 255, 255, 0.4);
            box-shadow: 0 10px 30px rgba(0,0,0,0.15);
            transition: all 0.3s ease;
            display: flex;
            flex-direction: column;
            justify-content: center;
            align-items: center;
            text-align: center;
            text-decoration: none; 
            color: #333;
            min-height: 200px;
        }

        .info-card:hover {
            background: rgba(255, 255, 255, 1);
            transform: translateY(-10px);
            box-shadow: 0 20px 40px rgba(0,0,0,0.2);
        }

        .info-icon {
            width: 60px; height: 60px;
            background: #fff;
            border-radius: 50%;
            display: flex; align-items: center; justify-content: center;
            font-size: 1.8rem;
            color: var(--brand-blue);
            margin-bottom: 15px;
            box-shadow: 0 5px 15px rgba(0,0,0,0.1);
            transition: 0.3s;
        }
        .info-card:hover .info-icon { background: var(--brand-blue); color: #fff; transform: scale(1.1); }

        /* [修改] 聯絡小卡標題加粗 */
        .info-card h3 { 
            /* 指定特粗黑體 */
            font-family: 'Noto Sans TC', sans-serif;
            font-weight: 900;
            
            margin-bottom: 5px; 
            font-size: 1.2rem; 
            color: var(--brand-blue); 
        }
        
        .info-card p { font-size: 0.95rem; font-weight: 600; line-height: 1.4; word-break: break-all; }


        /* --- 4. 社群聚落 (黃色強調區) --- */
        .social-card {
            grid-column: span 3;
            background: var(--accent-yellow);
            color: var(--brand-blue);
            border-radius: 30px;
            padding: 40px;
            display: flex;
            flex-direction: column;
            align-items: center;
            text-align: center;
            box-shadow: 0 10px 30px rgba(0,0,0,0.2);
            position: relative;
            overflow: hidden;
        }

        .social-card::before {
            content: ''; position: absolute; top: 0; left: 0; width: 100%; height: 100%;
            background-image: radial-gradient(rgba(23, 54, 245, 0.1) 1px, transparent 1px);
            background-size: 20px 20px; opacity: 0.5;
        }

        .social-content { position: relative; z-index: 2; width: 100%; }
        
        /* [修改] 社群標題加粗 */
        .social-content h2 { 
            /* 指定特粗黑體 */
            font-family: 'Noto Sans TC', sans-serif;
            font-weight: 900;
            
            font-size: 2rem; 
            margin-bottom: 30px; 
        }

        .social-grid {
            display: flex;
            justify-content: center;
            gap: 40px;
            flex-wrap: wrap;
        }

        .social-btn {
            display: flex;
            flex-direction: column;
            align-items: center;
            text-decoration: none;
            color: var(--brand-blue);
            transition: 0.3s;
        }
        
        .social-icon-box {
            width: 80px; height: 80px;
            background: #fff;
            border-radius: 25px;
            display: flex; align-items: center; justify-content: center;
            font-size: 2.5rem;
            margin-bottom: 10px;
            box-shadow: 0 5px 15px rgba(0,0,0,0.1);
            transition: 0.3s;
        }

        /* 個別品牌色 Hover */
        .social-btn:hover .social-icon-box { transform: translateY(-10px) rotate(-5deg); color: #fff; }
        .social-btn:hover span { font-weight: 900; }
        
        .social-btn.fb:hover .social-icon-box { background: #1877F2; }
        .social-btn.ig:hover .social-icon-box { background: #E4405F; }
        .social-btn.line:hover .social-icon-box { background: #00C300; }


        /* --- 5. 地圖卡片 (視覺化) --- */
        .map-card {
            grid-column: span 3;
            height: 300px;
            border-radius: 30px;
            overflow: hidden;
            border: 1px solid rgba(255, 255, 255, 0.4);
            box-shadow: 0 10px 30px rgba(0,0,0,0.15);
            position: relative;
        }
        
        .map-frame {
            width: 100%;
            height: 100%;
            border: 0;
            filter: grayscale(0.2) contrast(1.1); /* 讓地圖風格稍微冷一點配合網頁 */
        }

        /* --- 導覽列 --- */
        .dock-nav {
            position: fixed;
            bottom: 30px;
            left: 50%;
            transform: translateX(-50%);
            background: rgba(255,255,255,0.25);
            backdrop-filter: blur(20px);
            padding: 15px 30px;
            border-radius: 50px;
            display: flex;
            gap: 20px;
            border: 1px solid rgba(255,255,255,0.4);
            z-index: 100;
        }
        .dock-nav a { text-decoration: none; color: #fff; font-weight: bold; transition: 0.2s; }
        .dock-nav a:hover { color: var(--accent-yellow); transform: translateY(-3px); }

        /* RWD */
        @media (max-width: 900px) {
            .container { grid-template-columns: 1fr; }
            .header-card, .info-card, .social-card, .map-card { 
                grid-column: span 1; 
                overflow: hidden;
            }
            .social-grid { 
                gap: 20px; 
            }
            .dock-nav { 
                width: 90%; 
                justify-content: space-between; 
                padding: 12px 20px; 
                gap: 10px;
                bottom: 20px;
            }
            .dock-nav a { font-size: 0.85rem; }
            
            /* 手機版調整漂浮圖片位置 */
            .floating-mascot {
                width: 250px;
                right: -50px;
                top: -30px;
                z-index: -1;
                filter: blur(2px);
                opacity: 0.5;
            }
        }

        @media (max-width: 560px) {
            .header-card {
                flex-direction: column;
            }
            .floating-mascot {
                /* display: none; */
            }
        }