:root{--primary:#e07a5f;--primary-strong:#c65f43;--primary-700:#a84a31;--primary-300:#e7a890;--primary-soft:#f6e1d7;--primary-tint:#fbf3ef;--sage:#81b29a;--sage-strong:#5f8f78;--sage-soft:#dde8e1;--bg:#faf6f0;--surface:#fffdfb;--surface-alt:#f5ede2;--ink:#3d3530;--ink-2:#5c5149;--muted:#8a7d72;--line:#ece3d8;--placeholder:#b6a99c;--gold:#f2cc8f;--gold-soft:#f7e2bd;--success:#5f8f78;--warning:#e9b949;--error:#c0563f;--grad-hero:radial-gradient(120% 120% at 80% 0%,#f7e2bd 0%,#faf6f0 45%,#f1f5f2 100%);--grad-warm:linear-gradient(135deg,#fbf3ef,#f5ede2 55%,#f6e1d7);--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(61,53,48,.06);--shadow:0 6px 24px -10px rgba(61,53,48,.16);--shadow-lg:0 24px 60px -28px rgba(198,95,67,.34);--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}}
