@import "https://fonts.googleapis.com/css2?family=Noto+Sans+TC:wght@400;500;700;900&family=Inter:wght@400;600;800&family=DM+Sans:wght@700&display=swap";
:root{--color-primary:#104e8b;--color-primary-dark:#0a3d6b;--color-primary-light:#1565a0;--color-primary-xlight:#e8f1fa;--color-accent:#c9a227;--color-accent-hover:#e0b830;--color-bg:#fafbfd;--color-bg-alt:#f0f5fa;--color-bg-dark:#0d1b2a;--color-text-primary:#1a2438;--color-text-secondary:#5a6577;--color-text-muted:#8a95a3;--color-text-white:#fff;--color-border:#e2e8f0;--color-border-strong:#c5d0dc;--color-success:#2e7d32;--color-warning:#e07b39;--font-sans:"Noto Sans TC", "Microsoft JhengHei", sans-serif;--font-latin:"Inter", Arial, sans-serif;--font-display:"DM Sans", "Inter", sans-serif;--text-xs:.75rem;--text-sm:.875rem;--text-base:1rem;--text-lg:1.125rem;--text-xl:1.25rem;--text-2xl:1.5rem;--text-3xl:2rem;--text-4xl:2.5rem;--text-5xl:3.5rem;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-8:2rem;--space-10:2.5rem;--space-12:3rem;--space-16:4rem;--space-20:5rem;--space-24:6rem;--radius-sm:.25rem;--radius-md:.5rem;--radius-lg:.75rem;--radius-xl:1rem;--radius-2xl:1.5rem;--shadow-sm:0 1px 3px #00000014;--shadow-md:0 4px 16px #104e8b1a;--shadow-lg:0 8px 32px #104e8b26;--shadow-xl:0 16px 48px #104e8b33;--transition-fast:.15s ease;--transition-base:.25s ease;--transition-slow:.4s ease;--container-max:1200px;--section-py:5rem;--section-py-sm:3rem}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:16px}body{font-family:var(--font-sans);font-size:var(--text-base);color:var(--color-text-primary);background-color:var(--color-bg);line-height:1.7}img,video{max-width:100%;height:auto;display:block}a{color:inherit;text-decoration:none}button{cursor:pointer;background:0 0;border:none;font-family:inherit}ul,ol{list-style:none}.container{width:100%;max-width:var(--container-max);padding-left:var(--space-6);padding-right:var(--space-6);margin-left:auto;margin-right:auto}.section{padding-top:var(--section-py);padding-bottom:var(--section-py)}.section-alt{background-color:var(--color-bg-alt)}.text-display{font-family:var(--font-display);font-size:var(--text-5xl);letter-spacing:-.02em;font-weight:800;line-height:1.15}.text-h1{font-size:var(--text-4xl);font-weight:700;line-height:1.2}.text-h2{font-size:var(--text-3xl);font-weight:700;line-height:1.3}.text-h3{font-size:var(--text-2xl);font-weight:700;line-height:1.4}.section-tag{align-items:center;gap:var(--space-2);font-size:var(--text-sm);text-transform:uppercase;letter-spacing:.12em;color:var(--color-primary);margin-bottom:var(--space-4);font-weight:700;display:inline-flex}.section-tag:before{content:"";background-color:var(--color-accent);border-radius:2px;width:24px;height:3px;display:block}.section-title{font-size:var(--text-3xl);color:var(--color-text-primary);margin-bottom:var(--space-4);font-weight:700}.section-subtitle{font-size:var(--text-lg);color:var(--color-text-secondary);max-width:560px}.btn{justify-content:center;align-items:center;gap:var(--space-2);font-size:var(--text-base);font-weight:600;font-family:var(--font-sans);border-radius:var(--radius-md);transition:all var(--transition-base);white-space:nowrap;padding:.875rem 2rem;display:inline-flex}.btn-primary{background-color:var(--color-accent);color:var(--color-text-white);box-shadow:0 4px 12px #c9a2274d}.btn-primary:hover{background-color:var(--color-accent-hover);transform:translateY(-2px);box-shadow:0 6px 20px #c9a22766}.btn-outline{color:var(--color-text-white);border:2px solid #ffffffb3}.btn-outline:hover{background-color:#ffffff26;border-color:#fff}.btn-ghost{color:var(--color-primary);gap:var(--space-1)}.btn-ghost:hover{gap:var(--space-3);color:var(--color-primary-dark)}.btn-ghost .arrow{transition:transform var(--transition-base)}.btn-ghost:hover .arrow{transform:translate(4px)}.card{border-radius:var(--radius-xl);box-shadow:var(--shadow-sm);border:1px solid var(--color-border);transition:transform var(--transition-base), box-shadow var(--transition-base);background:#fff;overflow:hidden}.card:hover{box-shadow:var(--shadow-lg);transform:translateY(-4px)}.tag{font-size:var(--text-xs);border-radius:999px;align-items:center;padding:.2rem .75rem;font-weight:600;display:inline-flex}.tag-completed{color:var(--color-success);background:#e8f5e9}.tag-progress{color:var(--color-warning);background:#fff3e0}.tag-planning{background:var(--color-primary-xlight);color:var(--color-primary)}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes countUp{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}.animate-fade-up{animation:.7s ease-out both fadeInUp}.animate-fade-in{animation:.7s ease-out both fadeIn}.reveal{opacity:0;transition:opacity .7s ease-out,transform .7s ease-out;transform:translateY(30px)}.reveal.visible{opacity:1;transform:translateY(0)}.reveal-delay-1{transition-delay:.1s}.reveal-delay-2{transition-delay:.2s}.reveal-delay-3{transition-delay:.3s}.reveal-delay-4{transition-delay:.4s}.divider{background:linear-gradient(90deg, var(--color-accent), var(--color-accent-hover));width:48px;height:4px;margin-bottom:var(--space-6);border-radius:2px}@media (max-width:1024px){:root{--text-5xl:2.5rem;--text-4xl:2rem;--text-3xl:1.75rem;--section-py:3.5rem}}@media (max-width:768px){:root{--text-5xl:2rem;--text-4xl:1.75rem;--text-3xl:1.5rem;--section-py:3rem}.container{padding-left:var(--space-4);padding-right:var(--space-4)}.section-subtitle{font-size:var(--text-base)}.btn{padding:.75rem 1.5rem}}
