/* =========================================
   🎨 GLOBAL COLOR THEME — Blue + Orange
   (Professional Investing Education Style)
========================================= */
:root {
    --primary-color: #1D2D50;     /* 深藍（文字主色） */
    --secondary-color: #FF8C00;   /* 橙色（品牌高亮） */
    --accent-soft: #E9EFF7;       /* 淺藍背景區塊 */
    --accent-highlight: #FFF4E3;  /* 淺橙背景提示區 */

    --text-dark: #111827;         /* 接近黑，對比強 */
    --text-light: #4B5563;        /* 正文次要色 */

    --white: #FFFFFF;
    --bg-body: #F6F8FC;           /* 柔和淺灰藍，比純白更舒服 */
    --bg-card: #FFFFFF;
    --border-soft: #D4DAE5;

    --gradient-primary: linear-gradient(90deg,#1D2D50,#FF8C00);
}

/* 🌓 自動 Dark Mode */
@media (prefers-color-scheme: dark){
    :root {
        --primary-color: #9CC9FF;
        --secondary-color: #FFB454;

        --bg-body: #0D1118;
        --bg-card: #1A1F29;
        --text-dark: #E5E7EB;
        --text-light: #9CA3AF;
        --border-soft: #2B3240;
        --accent-soft: #141A24;
        --accent-highlight: #2A2320;
    }
}

/* =========================================
   🧱 BASE LAYOUT
========================================= */

body {
    margin: 0;
    font-family: 'Noto Sans TC', sans-serif;
    background: var(--bg-body);
    color: var(--text-dark);
    line-height: 1.7;
}

.container {
    width: min(1100px, 92%);
    margin: auto;
}

img { max-width: 100%; border-radius: 10px; }

/* =========================================
   🏁 HERO SECTION
========================================= */

.hero {
    padding: 70px 0;
    background: var(--gradient-primary);
    color: var(--white);
}

.hero-container {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 32px;
    justify-content: space-between;
}

/* Title */
.hero-title {
    font-size: 32px;
    font-weight: 700;
    text-shadow: 0px 2px 12px rgba(0,0,0,0.25);
}

/* Badge */
.hero-badge {
    background: rgba(255,255,255,.18);
    padding: 6px 14px;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: 13px;
    border-radius: 50px;
}

.hero-content { flex:1; min-width:300px; }

/* CTA BUTTON */
.hero-cta,
.join-cta,
.fixed-cta-btn {
    background: var(--secondary-color);
    color: #fff;
    border: none;
    padding: 14p
