:root{--purple:#362064;--purple-2:#523486;--pink:#c33b7b;--gold:#d7a94b;--cream:#fbf7f1;--ink:#272333;--muted:#6b6673;--white:#fff;--shadow:0 24px 80px rgba(42,24,76,.14)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:88px}body{margin:0;font-family:"Noto Sans TC",system-ui,sans-serif;color:var(--ink);background:var(--cream);line-height:1.75}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}.shell{width:min(1180px,calc(100% - 48px));margin:auto}.skip-link{position:fixed;left:12px;top:-80px;z-index:999;background:#fff;padding:10px 16px;border-radius:8px}.skip-link:focus{top:12px}.site-header{height:78px;position:fixed;inset:0 0 auto;z-index:100;background:rgba(251,247,241,.9);backdrop-filter:blur(16px);border-bottom:1px solid rgba(54,32,100,.08)}.nav-wrap{width:min(1240px,calc(100% - 40px));height:100%;margin:auto;display:flex;align-items:center;justify-content:space-between}.brand{display:flex;align-items:center;gap:12px}.brand-mark{width:40px;height:40px;display:grid;place-items:center;border-radius:50%;background:var(--purple);color:#fff;font-family:"Noto Serif TC";font-size:21px}.brand>span:last-child{display:flex;flex-direction:column;line-height:1.25}.brand strong{font-family:"Noto Serif TC";font-size:18px}.brand small{font-size:11px;letter-spacing:.12em;color:var(--muted)}nav{display:flex;gap:30px;font-size:14px;font-weight:700}nav a{position:relative}nav a:after{content:"";position:absolute;left:0;right:100%;bottom:-8px;height:2px;background:var(--pink);transition:.25s}nav a:hover:after,nav a:focus:after{right:0}.menu-button{display:none;border:0;background:transparent;padding:8px}.menu-button span{display:block;width:24px;height:2px;background:var(--purple);margin:5px}.hero{min-height:100svh;position:relative;overflow:hidden;padding:138px 0 80px;background:linear-gradient(135deg,#fbf7f1 0%,#f5edf3 52%,#eee8f7 100%)}.hero:before{content:"";position:absolute;width:720px;height:720px;border:1px solid rgba(54,32,100,.08);border-radius:50%;right:-260px;top:-220px}.hero-glow{position:absolute;border-radius:50%;filter:blur(1px)}.hero-glow-one{width:260px;height:260px;background:rgba(215,169,75,.17);left:-100px;top:35%}.hero-glow-two{width:180px;height:180px;background:rgba(195,59,123,.12);right:38%;bottom:-60px}.hero-grid{display:grid;grid-template-columns:1.08fr .92fr;align-items:center;gap:80px;position:relative;z-index:1}.eyebrow,.section-kicker{font-size:13px;font-weight:800;letter-spacing:.18em;color:var(--pink);text-transform:uppercase}.eyebrow{display:flex;align-items:center;gap:12px}.eyebrow span{width:32px;height:2px;background:var(--gold)}h1,h2,h3,p{margin-top:0}.hero h1{font-family:"Noto Serif TC";font-size:clamp(58px,7vw,102px);line-height:1.08;letter-spacing:-.04em;margin:24px 0}.hero h1 em{font-style:normal;color:var(--purple);position:relative}.hero h1 em:after{content:"";position:absolute;height:10px;left:0;right:-8px;bottom:2px;background:rgba(215,169,75,.38);z-index:-1}.hero-lead{font-size:20px;max-width:550px;color:#514b58}.hero-actions,.contact-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:32px}.button{min-height:52px;padding:0 22px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;gap:14px;font-weight:800;font-size:15px;transition:.25s}.button:hover{transform:translateY(-2px)}.button-primary{background:var(--purple);color:#fff;box-shadow:0 12px 28px rgba(54,32,100,.25)}.button-ghost{border:1px solid rgba(54,32,100,.22)}.hero-note{display:flex;align-items:center;gap:10px;margin-top:30px;font-size:13px;color:var(--muted)}.pulse-dot{width:8px;height:8px;border-radius:50%;background:var(--pink);box-shadow:0 0 0 6px rgba(195,59,123,.12)}.hero-portrait{position:relative;max-width:500px;justify-self:end}.portrait-frame{height:min(650px,68vh);min-height:520px;border-radius:220px 220px 30px 30px;overflow:hidden;box-shadow:var(--shadow);border:7px solid rgba(255,255,255,.75);background:var(--purple)}.portrait-frame img{width:100%;height:100%;object-fit:cover;object-position:center 23%}.portrait-tag{position:absolute;left:-65px;bottom:46px;background:#fff;border-radius:14px;padding:13px 24px;box-shadow:var(--shadow);display:flex;flex-direction:column;transform:rotate(-2deg)}.portrait-tag span{font-size:12px;color:var(--muted)}.portrait-tag strong{font-family:"Noto Serif TC";font-size:25px;color:var(--purple)}.number-badge{position:absolute;right:-24px;top:44px;width:98px;height:98px;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;background:var(--pink);color:#fff;border:5px solid #fff;box-shadow:0 12px 30px rgba(105,28,71,.24);transform:rotate(7deg)}.number-badge small{font-size:10px}.number-badge strong{font-size:23px}.scroll-cue{position:absolute;left:50%;bottom:20px;transform:translateX(-50%);font-size:11px;letter-spacing:.12em;color:var(--muted);display:flex;flex-direction:column;align-items:center}.scroll-cue span{height:28px;width:1px;background:var(--purple);margin-bottom:4px}.promise-strip{background:var(--purple);color:#fff}.promise-grid{min-height:84px;display:flex;justify-content:space-between;align-items:center;gap:20px}.promise-grid p{margin:0;font-family:"Noto Serif TC";font-weight:700}.promise-grid i{width:5px;height:5px;border-radius:50%;background:var(--gold)}.section{padding:120px 0}.about-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:90px;align-items:center}.about-media{position:relative}.about-media img{width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:12px;box-shadow:var(--shadow)}.media-caption{position:absolute;right:-40px;bottom:35px;background:#fff;padding:18px 22px;box-shadow:var(--shadow);display:flex;flex-direction:column;border-left:4px solid var(--pink)}.media-caption strong{color:var(--purple)}.media-caption span{font-size:12px;color:var(--muted)}.about-copy h2,.section-heading h2,.method-copy h2,.contact-copy h2{font-family:"Noto Serif TC";font-size:clamp(34px,4vw,57px);line-height:1.35;margin:18px 0 30px;color:var(--purple)}.about-copy>p{color:var(--muted);font-size:17px}.about-copy blockquote{margin:35px 0 0;padding:24px 0 24px 30px;border-left:4px solid var(--gold);font-family:"Noto Serif TC";font-size:20px;color:var(--purple)}.plans{background:var(--purple);color:#fff;position:relative;overflow:hidden}.plans:after{content:"樹興";position:absolute;right:-20px;bottom:-110px;font-family:"Noto Serif TC";font-size:280px;color:rgba(255,255,255,.025)}.section-heading{display:grid;grid-template-columns:1fr .72fr;gap:80px;align-items:end;margin-bottom:60px;position:relative;z-index:1}.section-heading h2{margin-bottom:0}.section-kicker.light,.plans .section-heading h2{color:#fff}.section-heading>p{color:rgba(255,255,255,.7);margin-bottom:10px}.plan-list{display:grid;grid-template-columns:1fr 1fr;gap:16px;position:relative;z-index:1}.plan-card{min-height:330px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.12);border-radius:18px;padding:34px;display:grid;grid-template-columns:48px 1fr;grid-template-rows:auto 1fr;column-gap:20px;transition:.3s}.plan-card:hover{background:rgba(255,255,255,.11);transform:translateY(-5px)}.plan-number{font-size:12px;color:rgba(255,255,255,.5);letter-spacing:.15em}.plan-icon{grid-row:2;width:48px;height:48px;border-radius:50%;display:grid;place-items:center;background:var(--pink);font-size:22px}.plan-card>div:last-child{grid-row:1/3;grid-column:2}.plan-label{font-size:13px;font-weight:800;letter-spacing:.15em;color:#e8b3ce}.plan-card h3{font-family:"Noto Serif TC";font-size:30px;margin:8px 0 22px}.plan-card p:last-child{color:rgba(255,255,255,.72)}.method{background:#fff}.method-wrap{display:grid;grid-template-columns:.8fr 1.2fr;gap:90px;align-items:start}.method-copy p:last-child{color:var(--muted)}.method-steps{list-style:none;padding:0;margin:0}.method-steps li{display:flex;gap:20px;padding:22px 0;border-bottom:1px solid #e7e0ec;align-items:center}.method-steps li>span{width:42px;height:42px;flex:none;display:grid;place-items:center;border-radius:50%;background:#f0eaf6;color:var(--purple);font-weight:900}.method-steps div{display:flex;flex-direction:column}.method-steps strong{font-size:18px;color:var(--purple)}.method-steps small{color:var(--muted)}.schedule{background:#ece7f1}.section-heading.dark h2{color:var(--purple)}.section-heading.dark>p{color:var(--muted)}.date-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.date-card{position:relative;background:#fff;border-radius:14px;padding:30px;min-height:230px;box-shadow:0 12px 35px rgba(42,24,76,.06);overflow:hidden}.date-card>p{font-family:"Noto Serif TC";font-size:42px;line-height:1;color:var(--purple);font-weight:900}.date-card>p span{font-family:"Noto Sans TC";font-size:12px;background:#eee8f5;padding:5px 7px;border-radius:50%}.date-card h3{margin-top:60px;margin-bottom:4px;font-size:20px}.date-card small{color:var(--muted)}.date-card.completed{opacity:.72}.date-card.completed:after{content:"✓";position:absolute;right:25px;top:25px;color:#66a06d;font-size:25px}.date-card.active{border-top:5px solid var(--pink)}.date-card.active:after{content:"NEXT";position:absolute;right:24px;top:24px;font-size:10px;font-weight:900;letter-spacing:.14em;color:var(--pink)}.date-card.vote{background:var(--purple);color:#fff}.date-card.vote>p,.date-card.vote small{color:#fff}.date-card.vote>p span{background:rgba(255,255,255,.12)}.countdown{position:absolute;right:24px;top:24px;text-align:right}.countdown strong{font-size:32px;color:#efbed4}.countdown span{display:block;font-size:10px;color:rgba(255,255,255,.65)}.contact{background:#fbf7f1}.contact-card{background:linear-gradient(135deg,var(--purple),#563082);color:#fff;border-radius:24px;padding:70px;display:grid;grid-template-columns:1.3fr .7fr;gap:60px;box-shadow:var(--shadow);position:relative;overflow:hidden}.contact-card:after{content:"";position:absolute;width:300px;height:300px;border:1px solid rgba(255,255,255,.12);border-radius:50%;right:-100px;bottom:-140px}.contact-copy h2{color:#fff}.contact-copy>p{color:rgba(255,255,255,.7);max-width:630px}.button-white{background:#fff;color:var(--purple)}.button-outline-white{border:1px solid rgba(255,255,255,.4)}.contact-location{align-self:center;padding:35px;border-left:1px solid rgba(255,255,255,.18);display:flex;flex-direction:column;position:relative;z-index:1}.contact-location .pin{color:#efbed4;font-size:28px}.contact-location small{color:rgba(255,255,255,.6);letter-spacing:.12em}.contact-location strong{font-size:21px;margin:8px 0}.contact-location p{font-size:12px;color:rgba(255,255,255,.6)}footer{background:#22133e;color:#fff;padding:48px 0}.footer-wrap{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:center}.footer-wrap>div{display:flex;gap:14px;align-items:baseline}.footer-wrap strong{font-family:"Noto Serif TC";font-size:24px}.footer-wrap span,.footer-wrap p,.footer-wrap small{color:rgba(255,255,255,.58)}.footer-wrap p{margin:0}.footer-wrap small{grid-column:1/-1;font-size:11px}.mobile-bar{display:none}.reveal{opacity:0;transform:translateY(22px);transition:opacity .75s ease,transform .75s ease}.reveal.visible{opacity:1;transform:none}
@media(max-width:900px){.shell{width:min(100% - 32px,720px)}.site-header{height:68px}.nav-wrap{width:calc(100% - 28px)}.menu-button{display:block}nav{position:absolute;left:14px;right:14px;top:62px;display:none;flex-direction:column;gap:0;background:#fff;border-radius:14px;padding:10px;box-shadow:var(--shadow)}nav.open{display:flex}nav a{padding:12px 14px}.hero{padding:105px 0 75px}.hero-grid{grid-template-columns:1fr;gap:50px}.hero-copy{text-align:center}.eyebrow{justify-content:center}.hero-lead{margin-left:auto;margin-right:auto}.hero-actions,.hero-note{justify-content:center}.hero-portrait{justify-self:center;width:min(430px,90%)}.portrait-frame{height:570px;min-height:0}.portrait-tag{left:-12px}.number-badge{right:-12px}.scroll-cue{display:none}.promise-grid{display:grid;grid-template-columns:1fr 1fr;text-align:center;padding:20px 0}.promise-grid i{display:none}.section{padding:84px 0}.about-grid,.method-wrap,.contact-card{grid-template-columns:1fr;gap:45px}.about-media{width:min(500px,92%)}.media-caption{right:-22px}.section-heading{grid-template-columns:1fr;gap:20px}.plan-list{grid-template-columns:1fr}.date-grid{grid-template-columns:1fr}.contact-card{padding:45px}.contact-location{border-left:0;border-top:1px solid rgba(255,255,255,.18);padding:30px 0 0}.footer-wrap{grid-template-columns:1fr}.footer-wrap small{grid-column:auto}}
@media(max-width:560px){body{padding-bottom:62px}.shell{width:calc(100% - 28px)}.brand small{display:none}.hero h1{font-size:52px}.hero-lead{font-size:17px}.portrait-frame{height:500px;border-radius:180px 180px 24px 24px}.portrait-tag{bottom:25px}.number-badge{top:22px;width:84px;height:84px}.promise-grid{font-size:14px}.about-grid{gap:55px}.about-media{width:94%}.media-caption{right:-18px;bottom:-26px}.about-copy h2,.section-heading h2,.method-copy h2,.contact-copy h2{font-size:34px}.about-copy blockquote{font-size:17px;padding-left:20px}.plan-card{grid-template-columns:40px 1fr;padding:24px;min-height:300px}.plan-icon{width:40px;height:40px}.plan-card h3{font-size:25px}.contact-card{width:calc(100% - 20px);padding:36px 24px}.contact-actions .button{width:100%}.footer-wrap{text-align:center}.footer-wrap>div{justify-content:center;flex-direction:column;gap:0}.mobile-bar{position:fixed;z-index:99;display:grid;grid-template-columns:1fr 1fr;left:0;right:0;bottom:0;height:62px;background:#fff;border-top:1px solid #e6dfea}.mobile-bar a{display:grid;place-items:center;font-weight:800;color:var(--purple)}.mobile-bar a:last-child{background:var(--purple);color:#fff}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}.button{transition:none}}

/* 里民回饋 Q&A */
.feedback{background:#f6f0f7}.feedback-heading{margin-bottom:44px}.feedback-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.92fr);gap:24px;align-items:start}.feedback-form-card,.qa-panel{background:#fff;border:1px solid rgba(54,32,100,.09);border-radius:20px;padding:34px;box-shadow:0 16px 50px rgba(42,24,76,.07)}.form-intro{margin-bottom:24px}.form-intro p,.qa-toolbar p{color:var(--muted);font-size:13px;margin:6px 0 0}.form-step{display:inline-flex;align-items:center;gap:8px;font-size:13px;font-weight:900;letter-spacing:.12em;color:var(--purple)}.form-step:before{content:"";width:18px;height:3px;border-radius:3px;background:var(--gold)}#feedback-form{display:grid;gap:17px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}#feedback-form label{display:grid;gap:7px;font-size:14px;font-weight:800;color:var(--purple);position:relative}#feedback-form label small{font-size:11px;font-weight:500;color:var(--muted)}#feedback-form input,#feedback-form select,#feedback-form textarea{width:100%;border:1px solid #dcd3e4;border-radius:10px;background:#fdfbfd;color:var(--ink);font:inherit;font-size:15px;padding:12px 14px;outline:none;transition:border-color .2s,box-shadow .2s}#feedback-form textarea{resize:vertical;min-height:140px;padding-bottom:32px}#feedback-form input:focus,#feedback-form select:focus,#feedback-form textarea:focus{border-color:var(--purple);box-shadow:0 0 0 3px rgba(54,32,100,.09)}.char-count{position:absolute;right:12px;bottom:8px;font-size:11px;font-weight:500;color:var(--muted)}.consent-row{grid-template-columns:20px 1fr!important;align-items:start;gap:10px!important;font-weight:500!important;color:var(--muted)!important;font-size:12px!important;line-height:1.6}.consent-row input{width:18px!important;height:18px;margin-top:2px;accent-color:var(--purple)}.honeypot{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;overflow:hidden}.submit-button{border:0;cursor:pointer;width:max-content;padding-inline:28px}.submit-button:disabled{opacity:.58;cursor:wait;transform:none}.form-status{min-height:24px;margin:0;font-size:13px;font-weight:700}.form-status.success{color:#397a48}.form-status.error{color:#a82f55}.qa-panel{position:sticky;top:98px}.qa-toolbar{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding-bottom:20px;border-bottom:1px solid #ece5f0}.qa-refresh{border:1px solid #d9cee1;background:#fff;border-radius:999px;padding:8px 12px;color:var(--purple);font-weight:800;cursor:pointer}.qa-list{display:grid}.qa-item{padding:22px 0;border-bottom:1px solid #ece5f0}.qa-item:last-child{border-bottom:0}.qa-meta{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-bottom:9px;font-size:11px;color:var(--muted)}.qa-category{background:#f0e9f5;color:var(--purple);border-radius:999px;padding:3px 9px;font-weight:800}.qa-item h3{font-size:17px;line-height:1.55;color:var(--purple);margin:0 0 12px}.qa-answer{background:#fbf7ee;border-left:3px solid var(--gold);padding:13px 15px;border-radius:0 9px 9px 0;font-size:14px;color:#4f4854}.qa-answer strong{display:block;color:var(--pink);font-size:11px;letter-spacing:.1em;margin-bottom:4px}.qa-empty,.qa-loading{color:var(--muted);font-size:14px;text-align:center;padding:42px 10px}.privacy-note{margin:18px 0 0;padding-top:16px;border-top:1px dashed #d9cee1;font-size:11px;color:var(--muted)}
@media(max-width:900px){.feedback-grid{grid-template-columns:1fr;gap:45px}.qa-panel{position:static}}
@media(max-width:560px){.feedback-form-card,.qa-panel{padding:24px 20px}.form-row{grid-template-columns:1fr}.submit-button{width:100%}}
