/* Site navigation, accessible interactions and motion added to the original design. */
body{font-family:'Wix Madefor Text','PingFang HK','Microsoft JhengHei',sans-serif}
h1,h2,h3,h4{overflow-wrap:break-word}
section[id]{scroll-margin-top:104px}
.skip-link{position:fixed;top:8px;left:12px;z-index:100;color:#fff;background:var(--maroon);padding:12px 20px;border-radius:8px;transform:translateY(-150%)}
.skip-link:focus{transform:translateY(0)}
.site-header{position:sticky;top:0;z-index:50;background:rgba(255,253,252,.95);border-bottom:1px solid rgba(140,29,59,.1);backdrop-filter:blur(18px);transition:box-shadow .3s}
.site-header.scrolled{box-shadow:0 8px 30px -20px rgba(74,29,41,.28)}
.nav-wrap{width:min(1320px,calc(100% - 64px));margin:auto;min-height:88px;display:flex;align-items:center;justify-content:space-between;gap:28px}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--maroon-dark);font-weight:700;font-size:20px;line-height:1.4;flex-shrink:0}
.brand img{border-radius:10px;width:48px;height:48px}
.brand-sub{display:block;font-size:12px;letter-spacing:.06em;color:var(--ink-soft);font-weight:500}
#site-nav{display:flex;gap:24px;align-items:center}
#site-nav a{font-size:14px;text-decoration:none;color:var(--ink-soft);font-weight:600;position:relative;white-space:nowrap;padding:12px 0;transition:color .2s}
#site-nav a:hover,#site-nav a[aria-current]{color:var(--maroon)}
#site-nav a:not(.nav-app)::after{content:'';position:absolute;bottom:7px;left:0;right:0;height:2px;background:var(--maroon);transform:scaleX(0);transform-origin:left;transition:transform .2s}
#site-nav a:hover::after,#site-nav a[aria-current]::after{transform:scaleX(1)}
#site-nav .nav-app{padding:10px 16px;background:var(--maroon);color:white;border-radius:999px}
.reading-progress{height:2px;position:absolute;bottom:-1px;left:0;width:100%;background:linear-gradient(90deg,var(--maroon),var(--gold));transform:scaleX(0);transform-origin:left}
.menu-toggle{display:none;background:none;border:1px solid var(--line);border-radius:10px;width:46px;height:46px;padding:12px;cursor:pointer}
.menu-toggle span{display:block;height:2px;margin:4px 0;background:var(--maroon-dark);transition:transform .25s,opacity .25s}
.menu-toggle[aria-expanded=true] span:first-child{transform:translateY(6px) rotate(45deg)}
.menu-toggle[aria-expanded=true] span:nth-child(2){opacity:0}
.menu-toggle[aria-expanded=true] span:last-child{transform:translateY(-6px) rotate(-45deg)}
.hero-figure img{animation:equipment-float 7s ease-in-out infinite}
.hero{padding-bottom:0}
a.avatar[data-profile-label]::after{content:attr(data-profile-label)}
.hero-figure--b img{animation-delay:-3.5s}
@keyframes equipment-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-10px)}}
.hero-lead{animation:hero-enter .8s both}
@keyframes hero-enter{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}
.reveal-ready{opacity:0;transform:translateY(22px);transition:opacity .7s ease,transform .7s cubic-bezier(.2,.65,.3,1)}
.reveal-ready.is-visible{opacity:1;transform:none}
.person{transition:transform .25s,box-shadow .25s,border-color .25s}
.person:hover,.person:focus-within{transform:translateY(-5px);border-color:rgba(140,29,59,.3);box-shadow:0 18px 38px -26px rgba(74,29,41,.4)}
a.avatar{display:block;color:var(--maroon);text-decoration:none}
a.avatar img{transition:transform .5s}
a.avatar:hover img{transform:scale(1.035)}
a.avatar::after{content:'查看官方簡介 ↗';position:absolute;bottom:10px;right:10px;left:10px;padding:7px 9px;text-align:center;background:rgba(255,253,252,.96);border:1px solid var(--line);border-radius:8px;font-size:13px;opacity:0;transform:translateY(6px);transition:opacity .2s,transform .2s}
a.avatar:hover::after,a.avatar:focus-visible::after{opacity:1;transform:none}
.person .name a{color:inherit;text-decoration:none}
.person .name a:hover{text-decoration:underline}
.person .aff{font-size:14px}
.head::before{font-size:14px}
.compare .card p,.step p,.prep p,.cat-card li,.feature p,.bot-card,.impact-list li{font-size:16px}
.contact-card a{color:inherit;overflow-wrap:anywhere}
.app-launch{margin-top:12px;gap:12px}
.store-badges{margin-top:18px}
.example-label{display:inline-block;font-size:13px!important;padding:4px 10px;background:var(--maroon-soft);border-radius:5px;color:var(--maroon)!important;margin:24px 0 14px}
.text-link{color:var(--maroon);font-size:15px;font-weight:600;display:block}
.site-footer{padding:54px 0 26px;background:#f6ecef;border-top:1px solid var(--line);font-size:14px;color:var(--ink-soft)}
.footer-grid{display:grid;grid-template-columns:1fr auto 1fr;gap:46px;align-items:start}
.site-footer a{color:inherit;text-decoration:none}
.site-footer a:hover{text-decoration:underline;color:var(--maroon)}
.footer-brand{font-size:18px;font-weight:700;color:var(--maroon-dark)!important}
.footer-grid p{margin-top:8px}
.footer-grid nav{display:grid;grid-template-columns:1fr 1fr;gap:12px 24px}
.footer-bottom{display:flex;justify-content:space-between;gap:20px;padding-top:28px;margin-top:32px;border-top:1px solid var(--line);font-size:13px}
.back-top{position:fixed;right:24px;bottom:24px;z-index:40;display:grid;place-items:center;width:44px;height:44px;border-radius:50%;border:1px solid var(--line);background:rgba(255,253,252,.95);box-shadow:0 5px 20px #64132918;color:var(--maroon);text-decoration:none;font-size:22px;visibility:hidden;opacity:0;transition:opacity .2s}
.back-top.visible{visibility:visible;opacity:1}
.resources-hero{padding:72px 0 52px;background:linear-gradient(140deg,#FAEDF1,#FFFDFC 70%)}
.eyebrow{color:var(--maroon);font-size:14px;font-weight:700;letter-spacing:.12em;margin-bottom:12px}
.resources-hero h1{font-size:clamp(40px,6vw,68px);color:var(--maroon-dark);line-height:1.2}
.resources-hero p{color:var(--ink-soft);margin-top:16px}
.resources-list{padding:20px 0 88px}
.resource-card{display:grid;grid-template-columns:280px 1fr;gap:36px;padding:40px 0;border-bottom:1px solid var(--line)}
.resource-card img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;border-radius:16px;background:var(--bg-tint)}
.resource-card h2{font-size:26px;line-height:1.5;letter-spacing:0}
.resource-card h2 a{color:var(--ink);text-decoration:none}
.resource-card h2 a:hover{color:var(--maroon)}
.resource-meta{color:var(--ink-soft);font-size:14px;margin:12px 0}
.resource-card p{color:var(--ink-soft);font-size:16px;margin-bottom:18px}
.article-wrap{max-width:820px;padding-top:50px;padding-bottom:88px}
.article-wrap h1{font-size:clamp(30px,4vw,46px);line-height:1.5;color:var(--maroon-dark);margin:24px 0}
.article-body{font-size:18px;line-height:1.9;overflow-wrap:anywhere}
.article-body p{margin:22px 0}
.article-body h2{font-size:26px;margin:36px 0 16px}
.article-body a{color:var(--maroon)}
.article-body img{border-radius:14px;max-height:520px;object-fit:contain;margin:24px auto;display:block}
.article-body ul,.article-body ol{padding-left:1.5em}
.source-link{padding:20px;background:var(--maroon-soft);border-radius:12px;margin-top:36px}
@media(hover:none){a.avatar::after{opacity:1;transform:none;font-size:12px}}
@media(max-width:1150px){#site-nav{gap:15px}.nav-wrap{gap:16px;width:calc(100% - 40px)}.brand{font-size:18px}#site-nav a{font-size:13px}}
@media(max-width:1000px){.nav-wrap{min-height:76px}.menu-toggle{display:block}#site-nav{display:none;position:absolute;top:76px;left:0;right:0;background:var(--paper);padding:16px 24px 24px;border-bottom:1px solid var(--line);box-shadow:0 15px 25px -22px #64132955;max-height:calc(100dvh - 76px);overflow:auto}#site-nav.open{display:grid;grid-template-columns:1fr 1fr;gap:4px 24px}#site-nav a{font-size:16px;padding:12px}#site-nav .nav-app{text-align:center;margin-top:8px;grid-column:1/-1}.footer-grid{grid-template-columns:1fr 1fr}.footer-grid>div:last-child{grid-column:1/-1}section[id]{scroll-margin-top:90px}}
@media(max-width:680px){.hero-title{line-height:1.1}.hero-visual{width:100%;max-width:370px;margin:0 auto}.hero-inner{gap:42px}.hero-figure--a img{animation-duration:8s}.brand-sub{font-size:12px}.nav-wrap{width:calc(100% - 32px)}.brand img{width:42px;height:42px}.footer-grid{grid-template-columns:1fr;gap:28px}.footer-grid>div:last-child{grid-column:auto}.footer-grid nav{display:flex;flex-wrap:wrap;gap:24px}.footer-bottom{display:block;line-height:1.9}.footer-bottom p+p{margin-top:8px}.resource-card{grid-template-columns:1fr;gap:22px}.resource-card img{max-height:250px}.resource-card h2{font-size:23px}.resources-hero{padding:48px 0}.back-top{right:16px;bottom:16px}.person .aff{font-size:14px}.person .name{font-size:16px}.bot-card{min-width:0}.support{padding:40px 24px}.partner-logos{grid-template-columns:repeat(2,minmax(0,1fr))}.partner-logos>img{height:110px;padding:14px}.head h2{line-height:1.3}#about .head h2{font-size:clamp(34px,10vw,48px);line-height:1.2}}
@media(max-width:430px){.team-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.person{padding:9px 9px 16px}.person .name{font-size:15px}.person .aff{font-size:13px}.team-group:first-of-type .team-grid{grid-template-columns:1fr}.hero-title{font-size:clamp(38px,11.4vw,48px)}.hero-funders{gap:12px}.funder-wide{height:auto;width:min(220px,62vw)}.funder-divider{display:none}.funder-mark{height:40px}.app-title h2{font-size:30px}.app-header{gap:14px}.app-icon{width:68px;height:68px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}*,*::before,*::after{animation:none!important;transition:none!important}.reveal-ready{opacity:1;transform:none}.hero-figure img{transform:none}.person:hover{transform:none}}
@media print{.site-header,.back-top,.skip-link{display:none}.reveal-ready{opacity:1;transform:none}section{break-inside:avoid;padding:32px 0}a{color:inherit}.site-footer{background:none}}

/* Official partner introduction links — 2026-09-28. */
a.partner-logo{position:relative;padding:26px 20px;text-decoration:none;color:var(--maroon);transition:transform .2s,border-color .2s,box-shadow .2s}
a.partner-logo img{width:100%;height:100%;max-width:none}
a.partner-logo:first-child{padding:31px 25px}
a.partner-logo:hover,a.partner-logo:focus-visible{border-color:var(--maroon);box-shadow:0 10px 24px -18px rgba(100,19,41,.45);transform:translateY(-3px)}
a.partner-logo:focus-visible{outline:3px solid var(--maroon);outline-offset:4px}
@media(max-width:680px){a.partner-logo,a.partner-logo:first-child{height:110px;padding:14px}}
@media(prefers-reduced-motion:reduce){a.partner-logo:hover,a.partner-logo:focus-visible{transform:none}}
/* End official partner introduction links. */
