:root{--ink: #2a221c;--ink-deep: #1c1612;--clay: #b65c3a;--clay-bright: #d47852;--clay-soft: #f8ebe4;--sage: #4f7a6a;--sage-soft: #e6f0eb;--paper: #fffaf4;--cream: #f5efe6;--blush: #f0e4da;--muted: #6b6158;--line: color-mix(in srgb, var(--ink) 11%, transparent);--primary: var(--ink);--primary-dark: var(--ink-deep);--accent: var(--clay);--accent-soft: var(--clay-soft);--surface: var(--cream);--soft: var(--blush);--stone: #ebe3d7;--max: 1040px;--radius: 20px;--radius-sm: 12px;--font: "Noto Sans TC", "Noto Sans", "Segoe UI", system-ui, -apple-system, sans-serif;--display: "Noto Serif TC", "Noto Serif", "Songti TC", "PMingLiU", serif;--shadow-soft: 0 14px 42px rgba(42, 34, 28, .08);--shadow-card: 0 4px 20px rgba(42, 34, 28, .05)}*,*:before,*:after{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:var(--font);color:var(--ink);background:radial-gradient(ellipse 65% 42% at 100% -8%,color-mix(in srgb,var(--clay) 14%,transparent),transparent 55%),radial-gradient(ellipse 48% 36% at -8% 18%,color-mix(in srgb,var(--sage) 10%,transparent),transparent 50%),var(--surface);line-height:1.75;-webkit-font-smoothing:antialiased;min-height:100vh;font-size:1.04rem}a{color:color-mix(in srgb,var(--clay) 55%,var(--ink));text-underline-offset:3px}a:hover{color:var(--clay)}img{max-width:100%;height:auto;display:block}h1,h2,h3{line-height:1.22;color:var(--ink);font-weight:700;letter-spacing:-.02em}h1{font-family:var(--display);font-size:clamp(2.1rem,5.5vw,3.4rem);margin:0 0 .85rem;font-weight:700}h2{font-family:var(--display);font-size:clamp(1.35rem,2.6vw,1.75rem);margin:0 0 .75rem}h3{font-size:1.08rem;margin:0 0 .45rem}p{margin:0 0 1rem}ul{margin:0 0 1.1rem;padding-left:1.2rem}li{margin:.35rem 0}.container{width:min(100% - 2.2rem,var(--max));margin-inline:auto}.muted{color:var(--muted)}.eyebrow{display:inline-flex;align-items:center;gap:.55rem;font-size:.78rem;letter-spacing:.12em;font-weight:700;margin:0 0 .9rem;color:var(--sage);text-transform:uppercase}.eyebrow:before{content:"";width:1.4rem;height:2px;background:linear-gradient(90deg,var(--clay),var(--sage));border-radius:2px}.site-header{border-bottom:1px solid var(--line);background:color-mix(in srgb,var(--paper) 88%,transparent);backdrop-filter:blur(14px) saturate(1.15);position:sticky;top:0;z-index:30}.header-inner{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.95rem 0;position:relative}.brand{display:flex;align-items:center;gap:.75rem;text-decoration:none;color:var(--ink)}.brand-mark{width:2.4rem;height:2.4rem;flex-shrink:0;border-radius:40% 60% 55% 45%/45% 40% 60% 55%;background:radial-gradient(circle at 32% 32%,color-mix(in srgb,var(--clay-bright) 75%,#fff),transparent 55%),radial-gradient(circle at 72% 68%,color-mix(in srgb,var(--sage) 50%,transparent),transparent 52%),var(--ink);box-shadow:inset 0 0 0 2px color-mix(in srgb,var(--clay) 40%,transparent);position:relative}.brand-mark:after{content:"";position:absolute;inset:24%;border-radius:50%;border:1.5px solid color-mix(in srgb,#fff 40%,transparent)}.brand-text{display:flex;flex-direction:column;line-height:1.15}.brand-text strong{font-family:var(--display);font-size:1.22rem;font-weight:700;letter-spacing:.08em;color:var(--ink)}.brand-text small{font-size:.7rem;color:var(--muted);font-weight:600;letter-spacing:.02em;margin-top:.14rem}.nav-toggle{display:none;width:44px;height:44px;padding:0;margin:0;border:1px solid color-mix(in srgb,var(--ink) 18%,transparent);border-radius:12px;background:var(--paper);color:var(--ink);cursor:pointer}.nav-toggle:focus-visible{outline:2px solid var(--clay);outline-offset:2px}.nav-toggle-bars{display:block;width:1.1rem;height:.85rem;margin:auto;background:linear-gradient(var(--ink),var(--ink)) center / 100% 2px no-repeat;box-shadow:0 -5px 0 0 var(--ink),0 5px 0 0 var(--ink)}.nav{display:flex;align-items:center;gap:.2rem .35rem;flex-wrap:wrap}.nav a{text-decoration:none;color:var(--ink);font-size:.9rem;font-weight:650;padding:.4rem .65rem;border-radius:999px;transition:background .2s ease,color .2s ease}.nav a:hover{background:var(--blush);color:var(--ink)}.nav a[aria-current=page]{background:var(--clay-soft);color:color-mix(in srgb,var(--clay) 70%,var(--ink))}.lang-switch{border:1.5px solid color-mix(in srgb,var(--clay) 45%,transparent)!important;border-radius:999px!important;padding:.3rem .8rem!important;font-size:.78rem!important;background:var(--paper)!important;color:var(--ink)!important;font-weight:700!important}.lang-switch:hover{background:var(--clay-soft)!important}.hero{position:relative;padding:3.5rem 0 2.9rem;overflow:hidden}.hero-grid{display:grid;gap:2.2rem;align-items:center;grid-template-columns:1.15fr .85fr}.hero-copy .lede{font-size:1.12rem;color:var(--muted);max-width:34rem;line-height:1.7}.hero-tagline{font-family:var(--display);font-size:clamp(1.18rem,2.5vw,1.5rem);color:color-mix(in srgb,var(--clay) 55%,var(--ink));font-weight:600;margin:0 0 1rem;letter-spacing:.02em;line-height:1.45}.hero-wordmark{font-family:var(--display);font-size:clamp(2.7rem,7.2vw,4.4rem);line-height:1.05;margin:0 0 .65rem;color:var(--ink);letter-spacing:.1em;font-weight:700}.hero-wordmark span{background:linear-gradient(118deg,var(--ink) 35%,var(--clay) 100%);-webkit-background-clip:text;background-clip:text;color:transparent}.hero-meta{display:flex;flex-wrap:wrap;gap:.5rem;margin:1.1rem 0 .2rem}.chip{display:inline-flex;align-items:center;padding:.28rem .75rem;border-radius:999px;font-size:.78rem;font-weight:700;background:var(--paper);border:1px solid var(--line);color:var(--muted)}.chip-accent{background:var(--clay-soft);border-color:color-mix(in srgb,var(--clay) 32%,transparent);color:color-mix(in srgb,var(--clay) 75%,var(--ink))}.hero-art{position:relative;aspect-ratio:1;max-width:380px;margin-inline:auto;width:100%}.hero-art svg{width:100%;height:100%;display:block}.btn-row{display:flex;flex-wrap:wrap;gap:.7rem;margin-top:1.5rem}.btn{display:inline-flex;align-items:center;justify-content:center;padding:.72rem 1.35rem;border-radius:999px;font-weight:700;text-decoration:none;font-size:.94rem;border:1.5px solid transparent;transition:transform .2s ease,box-shadow .2s ease,background .2s ease}.btn:hover{transform:translateY(-1px)}.btn-primary{background:linear-gradient(135deg,var(--clay) 0%,var(--clay-bright) 100%);color:#fff;box-shadow:0 6px 20px #b65c3a47}.btn-primary:hover{color:#fff;box-shadow:0 8px 26px #b65c3a57}.btn-ghost{background:var(--paper);color:var(--ink);border-color:color-mix(in srgb,var(--ink) 18%,transparent)}.btn-ghost:hover{background:var(--blush);color:var(--ink-deep)}.btn-warm{background:linear-gradient(135deg,var(--sage) 0%,color-mix(in srgb,var(--sage) 70%,#2a5a4a) 100%);color:#fff}.trust-bar{background:var(--ink);padding:1rem 0;position:relative;overflow:hidden}.trust-bar:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 12% 50%,color-mix(in srgb,var(--clay) 30%,transparent),transparent 42%),radial-gradient(circle at 88% 50%,color-mix(in srgb,var(--sage) 22%,transparent),transparent 42%);pointer-events:none}.trust-bar-list{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:.55rem 1.8rem;font-size:.9rem;font-weight:650;color:#f7f1ea;position:relative}.trust-bar-list li{display:flex;align-items:center;gap:.5rem}.trust-bar-list li:before{content:"";width:.45rem;height:.45rem;border-radius:50%;background:var(--clay-bright);box-shadow:0 0 0 3px color-mix(in srgb,var(--clay) 28%,transparent);flex-shrink:0}.section{padding:2.6rem 0}.section-head{margin-bottom:1.4rem;max-width:40rem}.section-head h2{color:var(--ink)}.cards{display:grid;gap:1.15rem;grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.card{background:var(--paper);border-radius:var(--radius);padding:1.45rem 1.4rem 1.35rem;border:1px solid var(--line);box-shadow:var(--shadow-card);position:relative;overflow:hidden;transition:transform .25s ease,box-shadow .25s ease}.card:hover{transform:translateY(-3px);box-shadow:var(--shadow-soft)}.card .muted{margin-bottom:0}.card-human{font-family:var(--display);font-size:.98rem;color:color-mix(in srgb,var(--clay) 45%,var(--ink));margin:.55rem 0 .65rem;font-weight:600;line-height:1.4}.card-index{display:inline-flex;align-items:center;justify-content:center;width:2.1rem;height:2.1rem;border-radius:50%;font-size:.78rem;font-weight:800;margin-bottom:.75rem;letter-spacing:.02em}.card-shape{position:absolute;pointer-events:none;opacity:.55}.impact-cards .card:nth-child(1){border-top:3px solid var(--sage)}.impact-cards .card:nth-child(1) .card-index{background:var(--sage-soft);color:var(--sage)}.impact-cards .card:nth-child(1) .card-shape{width:90px;height:90px;right:-18px;top:-18px;border-radius:50%;background:radial-gradient(circle,color-mix(in srgb,var(--sage) 24%,transparent),transparent 70%)}.impact-cards .card:nth-child(2){border-top:3px solid var(--clay)}.impact-cards .card:nth-child(2) .card-index{background:var(--clay-soft);color:var(--clay)}.impact-cards .card:nth-child(2) .card-shape{width:0;height:0;right:12px;top:12px;border-left:42px solid transparent;border-right:42px solid transparent;border-bottom:72px solid color-mix(in srgb,var(--clay) 18%,transparent);opacity:.9}.impact-cards .card:nth-child(3){border-top:3px solid var(--ink)}.impact-cards .card:nth-child(3) .card-index{background:var(--blush);color:var(--ink)}.impact-cards .card:nth-child(3) .card-shape{width:70px;height:70px;right:-8px;bottom:-12px;background:color-mix(in srgb,var(--ink) 8%,transparent);border-radius:14px;transform:rotate(18deg)}.impact-cards .card h3{margin-top:.1rem;color:var(--ink)}.section-archive{padding-top:.6rem}.archive-band{display:grid;gap:1.4rem;align-items:center;grid-template-columns:1fr auto;background:linear-gradient(135deg,var(--paper) 0%,color-mix(in srgb,var(--sage-soft) 50%,var(--paper)) 100%);border:1px solid color-mix(in srgb,var(--sage) 20%,transparent);border-radius:calc(var(--radius) + 4px);padding:1.7rem 1.6rem;position:relative;overflow:hidden;box-shadow:var(--shadow-card)}.archive-band:before{content:"";position:absolute;left:0;top:0;bottom:0;width:5px;background:linear-gradient(180deg,var(--sage),var(--clay))}.archive-band h2{margin-bottom:.45rem;color:var(--ink)}.archive-band p{margin-bottom:.55rem;max-width:36rem}.archive-hint{margin-bottom:0!important;font-size:.92rem}.cta-band{background:radial-gradient(ellipse 60% 80% at 100% 0%,color-mix(in srgb,var(--clay) 35%,transparent),transparent 55%),linear-gradient(135deg,var(--ink) 0%,#3a2e26 50%,color-mix(in srgb,var(--sage) 35%,var(--ink)) 100%);color:#fff;border-radius:calc(var(--radius) + 6px);padding:2rem 1.75rem;margin:.5rem 0 1rem;box-shadow:var(--shadow-soft);position:relative;overflow:hidden}.cta-band:after{content:"";position:absolute;right:-40px;bottom:-40px;width:160px;height:160px;border-radius:50%;border:2px solid rgba(255,255,255,.1);pointer-events:none}.cta-band h2{color:#fff;margin-bottom:.45rem}.cta-band p{color:#ffffffe6;margin-bottom:1.1rem;max-width:36rem}.cta-band .btn-primary{background:linear-gradient(135deg,var(--clay-bright),var(--clay));color:#fff;box-shadow:0 4px 16px #0000002e}.cta-band .btn-ghost{background:transparent;color:#fff;border-color:#ffffff6b}.cta-band .btn-ghost:hover{background:#ffffff1a;color:#fff}.page-head{padding:2.6rem 0 1.5rem;position:relative;overflow:hidden}.page-head:before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse 50% 80% at 100% 0%,color-mix(in srgb,var(--clay) 14%,transparent),transparent 60%),linear-gradient(180deg,color-mix(in srgb,var(--stone) 55%,var(--paper)),transparent);pointer-events:none}.page-head .container{position:relative}.page-head .lede{color:var(--muted);max-width:40rem;font-size:1.08rem}.prose{max-width:42rem}.prose p:last-child{margin-bottom:0}.info-box{background:var(--paper);border-radius:var(--radius);border:1px solid var(--line);padding:1.4rem 1.45rem;margin:1.2rem 0;box-shadow:var(--shadow-card);position:relative}.info-box.paper-warm{background:linear-gradient(160deg,var(--paper) 0%,var(--clay-soft) 100%);border-color:color-mix(in srgb,var(--clay) 22%,transparent)}.info-box h2,.info-box h3{margin-top:0;color:var(--ink)}.note{background:var(--sage-soft);border-radius:var(--radius-sm);padding:1rem 1.2rem;color:var(--ink);margin:1.2rem 0;border-left:3px solid var(--sage)}.site-footer{margin-top:3.2rem;border-top:1px solid var(--line);background:linear-gradient(180deg,color-mix(in srgb,var(--blush) 55%,var(--paper)),var(--paper));padding:2.4rem 0 2.8rem}.footer-inner{display:grid;gap:.55rem}.footer-brand{font-family:var(--display);font-weight:700;text-decoration:none;color:var(--ink);font-size:1.2rem;letter-spacing:.08em}.footer-inner p{margin:0;font-size:.9rem;color:var(--muted)}.footer-links a{text-decoration:none;font-weight:650}.footer-sep{margin:0 .4rem;opacity:.5}.dl{display:grid;gap:.85rem}.dl-row{display:grid;gap:.2rem}.dl-row dt{font-size:.78rem;font-weight:750;color:var(--clay);text-transform:uppercase;letter-spacing:.06em}.dl-row dd{margin:0;font-size:1.05rem}.year-list{display:grid;gap:0;max-width:44rem;position:relative;padding-left:1.6rem}.year-list:before{content:"";position:absolute;left:.35rem;top:.4rem;bottom:.4rem;width:2px;background:linear-gradient(180deg,var(--clay),var(--sage) 45%,var(--blush));border-radius:2px}.year-block{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;margin-bottom:.85rem;position:relative;box-shadow:var(--shadow-card);transition:box-shadow .2s ease}.year-block:hover{box-shadow:var(--shadow-soft)}.year-block:before{content:"";position:absolute;left:-1.42rem;top:1.15rem;width:.72rem;height:.72rem;border-radius:50%;background:var(--paper);border:2.5px solid var(--clay);z-index:1;box-shadow:0 0 0 3px var(--cream)}.year-block[open]:before,.year-block:has(.activity-cards):before{background:var(--clay);border-color:var(--clay)}.year-block.empty-block:before{border-color:color-mix(in srgb,var(--muted) 40%,transparent);background:var(--paper)}.year-summary{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.95rem 1.25rem;cursor:pointer;list-style:none;font-weight:750;color:var(--ink)}.year-summary::-webkit-details-marker{display:none}.year-summary::marker{content:""}.year-summary:hover{background:color-mix(in srgb,var(--clay-soft) 55%,var(--paper))}.year-label{font-family:var(--display);font-size:1.35rem;letter-spacing:.03em}.year-count{font-size:.8rem;font-weight:650;padding:.2rem .65rem;border-radius:999px;background:var(--blush)}.year-block:not(.empty-block) .year-count{background:var(--clay-soft);color:color-mix(in srgb,var(--clay) 70%,var(--ink))}.year-body{padding:0 1.25rem 1.2rem;border-top:1px solid var(--line)}.empty-year{margin:1rem 0 .3rem;font-size:.95rem;display:flex;align-items:center;gap:.75rem}.empty-year-art{width:2.4rem;height:2.4rem;flex-shrink:0;border-radius:40% 60% 55% 45%/50% 40% 60% 50%;background:radial-gradient(circle at 40% 40%,color-mix(in srgb,var(--clay) 22%,transparent),transparent 60%),var(--blush);position:relative}.empty-year-art:after{content:"";position:absolute;inset:28%;border-radius:50%;border:1.5px dashed color-mix(in srgb,var(--muted) 40%,transparent)}.activity-cards{list-style:none;margin:.9rem 0 0;padding:0;display:grid;gap:.85rem}.activity-card{display:grid;gap:.75rem;grid-template-columns:1fr;padding:1rem 1.05rem;background:linear-gradient(135deg,var(--cream),var(--paper));border-radius:var(--radius-sm);border:1px solid color-mix(in srgb,var(--clay) 16%,transparent)}.activity-card:has(.activity-photo){grid-template-columns:minmax(0,140px) 1fr}.activity-photo{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:10px;background:var(--soft)}.activity-text h3{margin:0 0 .35rem;font-size:1.05rem;color:var(--ink)}.activity-text p{margin:0;font-size:.94rem}.simple-list{margin:0 0 1.2rem;padding-left:1.2rem}.simple-list li{margin:.35rem 0}.simple-list li::marker{color:var(--clay)}.focus-chips{display:flex;flex-wrap:wrap;gap:.55rem;list-style:none;margin:0 0 1.4rem;padding:0}.focus-chips li{margin:0;padding:.45rem .9rem;border-radius:999px;background:var(--paper);border:1px solid var(--line);font-weight:650;font-size:.9rem;color:var(--ink)}.focus-chips li:nth-child(1){border-color:color-mix(in srgb,var(--sage) 40%,transparent);background:var(--sage-soft)}.focus-chips li:nth-child(2){border-color:color-mix(in srgb,var(--clay) 40%,transparent);background:var(--clay-soft)}.focus-chips li:nth-child(3){border-color:color-mix(in srgb,var(--ink) 18%,transparent);background:var(--blush)}.focus-chips li:nth-child(4){border-color:color-mix(in srgb,var(--clay) 25%,transparent);background:color-mix(in srgb,var(--cream) 60%,var(--clay-soft))}.council{margin:1.6rem 0 1.2rem}.council-head{margin-bottom:.85rem}.council-head h2{margin:0 0 .35rem;color:var(--ink);font-family:var(--font-display)}.council-note{margin:0;color:var(--muted);font-size:.92rem}.council-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(10.5rem,1fr));gap:.75rem}.council-grid li{margin:0;padding:1rem 1.05rem;background:var(--paper);border:1px solid var(--line);border-radius:var(--radius-sm);box-shadow:var(--shadow-card);border-top:3px solid var(--clay);font-weight:700;font-size:1.05rem;color:var(--ink);font-family:var(--font-display);letter-spacing:.02em}.council-grid li:nth-child(2){border-top-color:var(--sage)}.council-grid li:nth-child(3){border-top-color:var(--ink)}.council-grid li:nth-child(4){border-top-color:color-mix(in srgb,var(--clay) 70%,var(--sage))}.reveal{opacity:0;transform:translateY(14px);transition:opacity .55s ease,transform .55s ease}.reveal.is-in{opacity:1;transform:none}@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}.btn:hover,.card:hover{transform:none}}@media (max-width: 860px){.hero-grid{grid-template-columns:1fr}.hero-art{max-width:280px;order:-1;margin-bottom:.5rem}}@media (max-width: 760px){.nav-toggle{display:inline-grid;place-items:center}.nav{display:none;position:absolute;left:0;right:0;top:calc(100% + .4rem);background:var(--paper);border:1px solid var(--line);border-radius:14px;padding:.65rem;flex-direction:column;align-items:stretch;box-shadow:var(--shadow-soft)}.nav.open{display:flex}.nav a{padding:.7rem .8rem}.archive-band{grid-template-columns:1fr}.year-list{padding-left:1.35rem}}@media (max-width: 560px){.activity-card:has(.activity-photo){grid-template-columns:1fr}.hero-wordmark{letter-spacing:.05em}}
