:root{--primary:#2563eb;--primary-strong:#1d4ed8;--primary-700:#1e40af;--primary-300:#93b4f5;--primary-soft:#dce7fe;--primary-tint:#eff4fe;--sage:#16a34a;--sage-strong:#15803d;--sage-soft:#d6f0de;--bg:#f4f7fc;--surface:#fff;--surface-alt:#eaf0fb;--ink:#1c2a46;--ink-2:#46516b;--muted:#64708c;--line:#e2e8f5;--placeholder:#a7b0c6;--gold:#f2b84b;--gold-soft:#fbecc9;--success:#15803d;--warning:#e0a020;--error:#c23a29;--grad-hero:radial-gradient(120% 120% at 80% 0%,#dce7fe 0%,#f4f7fc 45%,#e4f2ea 100%);--grad-warm:linear-gradient(135deg,#eff4fe,#eaf0fb 55%,#dce7fe);--serif:"Noto Serif TC","Songti TC",serif;--fraunces:"Fraunces","Noto Serif TC",serif;--sans:"Nunito Sans","Noto Sans TC","PingFang TC","Microsoft JhengHei",sans-serif;--r-sm:10px;--r-input:12px;--r-card:16px;--r-lg:22px;--r-xl:30px;--pill:999px;--shadow-sm:0 1px 2px rgba(28,42,70,.06);--shadow:0 6px 24px -10px rgba(28,42,70,.14);--shadow-lg:0 24px 60px -28px rgba(37,99,235,.3);--container:1180px}*,:after,:before{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--bg);color:var(--ink);font-family:var(--sans);font-size:17px;line-height:1.75;margin:0;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}button{font-family:inherit}h1,h2,h3{color:var(--ink);font-family:var(--serif);font-weight:700;line-height:1.25;margin:0}h1{font-size:clamp(30px,4.6vw,56px);letter-spacing:-.01em;line-height:1.22}h2{font-size:clamp(26px,3.2vw,38px);line-height:1.3}h3{font-size:20px}p{margin:0}.serif{font-family:var(--serif)}.fraunces{font-family:var(--fraunces)}.text-primary{color:var(--primary-strong)}.muted{color:var(--muted)}.ink-2{color:var(--ink-2)}.container{margin:0 auto;max-width:var(--container);padding-left:24px;padding-right:24px}.section{padding-bottom:clamp(56px,7vw,96px);padding-top:clamp(56px,7vw,96px)}.section-alt{background:var(--surface-alt)}.eyebrow{color:var(--sage-strong);font-size:13px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.head-center{margin:0 auto 40px;max-width:720px;text-align:center}.head-center .lede{color:var(--ink-2);font-size:17px;margin-top:12px}.btn{align-items:center;border:none;border-radius:var(--pill);cursor:pointer;display:inline-flex;font-size:16px;font-weight:700;gap:8px;justify-content:center;line-height:1;padding:13px 26px;text-align:center;transition:transform .14s cubic-bezier(.2,0,0,1),background .14s ease,box-shadow .14s ease;white-space:nowrap}.btn-primary{background:var(--primary-strong);box-shadow:var(--shadow-lg);color:#fff}.btn-primary:hover{background:var(--primary-700);transform:translateY(-2px)}.btn-secondary{background:transparent;border:1.5px solid var(--primary-300);color:var(--primary-strong)}.btn-secondary:hover{background:var(--primary-tint);border-color:var(--primary-strong)}.btn-lg{font-size:17px;padding:16px 32px}.btn-block{width:100%}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow)}.badge{align-items:center;border-radius:var(--pill);display:inline-flex;font-size:12.5px;font-weight:700;gap:6px;padding:5px 13px}.badge-gold{background:var(--gold);color:#7a5a1e}.badge-sage{background:var(--sage-soft);color:var(--sage-strong)}.badge-soft{background:var(--surface);border:1px solid var(--line);color:var(--ink-2)}.blob{border-radius:46% 54% 60% 40%/52% 44% 56% 48%;opacity:.6;pointer-events:none;position:absolute}.blob-2{border-radius:50% 50% 42% 58%/55% 45%}@keyframes floaty{0%,to{transform:translateY(0)}50%{transform:translateY(-14px)}}@keyframes floaty2{0%,to{transform:translateY(0)}50%{transform:translateY(10px)}}.field{margin-bottom:16px}.field label{display:block;font-size:14px;font-weight:600;margin-bottom:7px}.field input,.field select,.field textarea{background:var(--surface);border:1.5px solid var(--line);border-radius:var(--r-input);color:var(--ink);font-family:inherit;font-size:15.5px;padding:13px 15px;transition:border-color .14s ease,box-shadow .14s ease;width:100%}.field input::-moz-placeholder,.field textarea::-moz-placeholder{color:var(--placeholder)}.field input::placeholder,.field textarea::placeholder{color:var(--placeholder)}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--primary-300);box-shadow:0 0 0 4px var(--primary-tint);outline:none}@media(prefers-reduced-motion:reduce){*{animation:none!important;scroll-behavior:auto!important}.btn-primary:hover{transform:none}}
