:root{--teal:#168b7a;--teal-dark:#126d64;--aqua:#dff4f3;--blue:#eaf7fc;--lime:#bfdc4a;--lime-soft:#f2f7d9;--ink:#16413e;--muted:#5f7c78;--paper:#fbfdf9;--line:#cfe7e1;--header:78px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang TC","Noto Sans TC",sans-serif;line-height:1.75;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}.skip-link{position:fixed;left:1rem;top:-5rem;z-index:99;padding:.7rem 1rem;background:#fff}.skip-link:focus{top:1rem}.site-header{position:fixed;inset:0 0 auto;z-index:30;height:var(--header);display:flex;align-items:center;justify-content:space-between;padding:0 clamp(24px,5vw,74px);border-bottom:1px solid rgba(22,109,100,.12);background:rgba(251,253,249,.68);backdrop-filter:blur(15px);transition:.3s}.site-header.scrolled{height:66px;background:rgba(251,253,249,.94);box-shadow:0 8px 32px rgba(18,109,100,.06)}.brand{display:flex;align-items:center;gap:13px;z-index:2}.brand strong{font-size:.96rem;letter-spacing:.12em}.brand-mark{position:relative;width:34px;height:34px;border:1px solid rgba(22,139,122,.28);border-radius:50%;display:block;background:#fff}.brand-mark i{position:absolute;height:1px;background:var(--teal);transform-origin:left}.brand-mark i:nth-child(1){width:19px;left:7px;top:17px;transform:rotate(-25deg)}.brand-mark i:nth-child(2){width:9px;left:14px;top:14px;transform:rotate(-66deg)}.brand-mark i:nth-child(3){width:7px;left:14px;top:18px;transform:rotate(48deg)}.site-nav{display:flex;align-items:center;gap:clamp(18px,2.6vw,40px);font-size:.84rem;color:var(--teal-dark)}.site-nav a{border-bottom:1px solid transparent;transition:.2s}.site-nav a:hover{color:var(--teal);border-color:var(--lime)}.menu-toggle{display:none;border:0;background:transparent;color:var(--teal-dark);font:inherit}
.hero{position:relative;min-height:820px;height:100svh;overflow:hidden;background:#eaf7f6}.hero-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center}.hero-wash{position:absolute;inset:0;background:linear-gradient(90deg,rgba(252,254,251,.97) 0%,rgba(249,253,250,.88) 28%,rgba(246,253,250,.3) 53%,rgba(239,250,250,.05) 100%)}.energy-canvas{position:absolute;inset:0;width:100%;height:100%;z-index:2;pointer-events:none}.falling-drop{position:absolute;z-index:3;width:17px;height:23px;left:74.1%;top:24%;opacity:0;border-radius:50% 50% 54% 46%/62% 62% 38% 38%;background:linear-gradient(145deg,rgba(255,255,255,.95),rgba(133,216,217,.58));border:1px solid rgba(31,141,146,.28);box-shadow:inset 4px 3px 5px rgba(255,255,255,.8),0 6px 13px rgba(26,135,137,.22);transform:rotate(45deg) scale(.7);transform-origin:center}.falling-drop.fall{animation:dropFall 1.6s cubic-bezier(.3,.02,.65,1) forwards}@keyframes dropFall{0%{opacity:0;transform:translate(0,-4px) rotate(45deg) scale(.35)}15%{opacity:1;transform:translate(1px,2px) rotate(45deg) scale(.75)}35%{opacity:1;transform:translate(3px,15px) rotate(45deg) scale(1)}88%{opacity:1;transform:translate(8px,95px) rotate(45deg) scale(.82)}100%{opacity:0;transform:translate(8px,108px) rotate(45deg) scale(.35)}}.hero-content{position:absolute;z-index:4;left:clamp(24px,7vw,110px);top:50%;transform:translateY(-43%);width:min(650px,44vw)}.hero-label{margin:0 0 1.4rem;color:var(--teal);font-size:.78rem;font-weight:700;letter-spacing:.18em}.hero h1{margin:0;font-size:clamp(2.8rem,4.5vw,5.2rem);font-weight:420;line-height:1.23;letter-spacing:-.045em;color:#155952}.hero-copy{margin-top:2rem;max-width:590px;color:var(--muted);font-size:.97rem}.hero-copy p{margin:.35rem 0}.hero-copy p:nth-child(n+2){color:var(--teal-dark);font-weight:650}
.section-pad{padding:clamp(85px,10vw,145px) clamp(24px,8vw,130px)}.statement{text-align:center;background:#fff}.statement p{margin:.45rem auto;font-size:clamp(1.22rem,2vw,1.75rem);font-weight:400;line-height:1.75;max-width:1050px}.statement p:nth-child(2){color:var(--teal);font-weight:600}.audiences{background:linear-gradient(180deg,var(--blue),#fff)}.audience-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:22px;max-width:1240px;margin:auto}.audience-card{position:relative;min-height:440px;padding:48px;border:1px solid rgba(22,139,122,.14);border-radius:28px;background:rgba(255,255,255,.82);box-shadow:0 18px 60px rgba(31,135,126,.07);overflow:hidden;transition:.35s}.audience-card:before{content:"";position:absolute;inset:auto -80px -110px auto;width:230px;height:230px;border-radius:50%;background:radial-gradient(circle,var(--lime-soft),transparent 70%);transition:.4s}.audience-card:hover{transform:translateY(-6px);border-color:rgba(22,139,122,.38);box-shadow:0 26px 70px rgba(31,135,126,.12)}.card-index{position:absolute;right:38px;top:30px;color:#85aaa4;font-size:.7rem;letter-spacing:.16em}.audience-card h2{margin:40px 0 22px;font-size:clamp(1.75rem,2.2vw,2.35rem);font-weight:520;color:var(--teal-dark)}.audience-card p{color:var(--muted);font-size:.9rem}.audience-card ul{padding-left:1.25rem;margin:22px 0 62px;color:#365e5a;font-size:.93rem}.audience-card li{margin:.7rem 0}.audience-card li::marker{color:var(--lime)}.card-link{position:absolute;left:48px;bottom:40px;color:var(--teal);font-size:.85rem;font-weight:650;letter-spacing:.08em}.guide{position:relative;text-align:center;background:linear-gradient(135deg,#f5f9d9,#def4ef 55%,#e8f7fc);overflow:hidden}.guide:before,.guide:after{content:"";position:absolute;border:1px solid rgba(22,139,122,.16);border-radius:50%;width:420px;height:420px}.guide:before{left:-260px;top:-250px}.guide:after{right:-240px;bottom:-270px}.guide p{position:relative;margin:0 auto 26px;max-width:1020px;font-size:clamp(1.25rem,2.1vw,2rem);line-height:1.65}.guide p:nth-child(2){font-size:1rem;color:var(--muted)}.guide-link{position:relative;display:inline-block;padding:14px 25px;border-radius:999px;background:#fff;color:var(--teal-dark);border:1px solid rgba(22,139,122,.2);font-weight:650;box-shadow:0 10px 32px rgba(22,109,100,.08)}.contact{display:grid;grid-template-columns:.8fr 1.2fr;gap:80px;align-items:end;background:#fff}.contact h2{margin:0 0 22px;font-size:clamp(3rem,6vw,6.5rem);font-weight:350;letter-spacing:-.06em;color:var(--teal-dark)}.contact-main>a{color:var(--teal);font-size:1.08rem;border-bottom:1px solid var(--lime)}.contact-address{padding:34px 0 8px 38px;border-left:1px solid var(--line);color:var(--muted);font-size:.9rem}.contact-address p{margin:.4rem 0}.footer{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:35px clamp(24px,5vw,74px);background:#edf8f6;color:var(--teal-dark)}.footer strong{font-size:.85rem;letter-spacing:.1em}.footer p{font-size:.82rem;letter-spacing:.12em}.footer small{justify-self:end;color:#74908c;font-size:.67rem}.reveal{opacity:0;transform:translateY(22px);transition:opacity .8s,transform .8s}.reveal.visible{opacity:1;transform:none}
@media(max-width:960px){.site-header{padding:0 24px}.menu-toggle{display:block;z-index:2;max-width:120px;white-space:nowrap;overflow:hidden}.site-nav{position:fixed;inset:0;display:flex;flex-direction:column;justify-content:center;gap:28px;background:rgba(247,252,249,.98);font-size:1.12rem;opacity:0;visibility:hidden;transition:.25s}.site-nav.open{opacity:1;visibility:visible}.hero{height:auto;min-height:920px}.hero-image{object-position:62% center}.hero-wash{background:linear-gradient(180deg,rgba(251,254,251,.93) 0%,rgba(251,254,251,.83) 54%,rgba(239,250,250,.1) 78%)}.hero-content{left:24px;top:45%;width:calc(100% - 48px);max-width:680px}.hero h1{font-size:clamp(2.8rem,8vw,4.7rem)}.falling-drop{left:73%;top:23%}.audience-card{padding:38px;min-height:455px}.card-link{left:38px}.contact{grid-template-columns:1fr;gap:45px}.contact-address{max-width:700px}.footer{grid-template-columns:1fr;text-align:center;gap:12px}.footer small{justify-self:center}.footer p{margin:0}}
@media(max-width:660px){.brand strong{font-size:.82rem}.menu-toggle{width:28px;color:transparent;position:relative}.menu-toggle:before,.menu-toggle:after{content:"";position:absolute;left:0;width:26px;height:1px;background:var(--teal-dark)}.menu-toggle:before{top:8px}.menu-toggle:after{top:18px}.hero{min-height:840px}.hero-image{height:56%;top:44%;object-position:70% center}.hero-wash{background:linear-gradient(180deg,#fbfdf9 0%,rgba(251,253,249,.98) 48%,rgba(251,253,249,.08) 78%)}.falling-drop{left:72%;top:56%}.hero-content{top:34%;transform:translateY(-40%)}.hero h1{font-size:clamp(1.75rem,8.5vw,2.45rem);text-wrap:balance;letter-spacing:-.035em}.hero-label{font-size:.68rem}.hero-copy{font-size:.88rem}.section-pad{padding:82px 24px}.statement{text-align:left}.statement p{font-size:1.25rem}.audience-grid{grid-template-columns:1fr}.audience-card{min-height:440px;padding:32px 28px}.card-link{left:28px}.guide{text-align:left}.guide-link{border-radius:20px}.contact-address{padding:25px 0 0;border-left:0;border-top:1px solid var(--line)}.contact h2{font-size:3.8rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}.falling-drop,.energy-canvas{display:none}}
.card-index{display:none!important}
/* Body copy is justified across the site; headings and interface labels retain their alignment. */
:where(p,li){text-align:justify;text-justify:inter-ideograph}
:where(.hero-copy p,.statement p,.audience-card p,.audience-card li,.guide p,.contact-address p){text-wrap:pretty}
.nav-group{position:relative;display:flex;align-items:center;gap:5px}.nav-caret{display:grid;place-items:center;width:18px;height:24px;padding:0;border:0;background:transparent;color:var(--teal-dark);cursor:pointer}.nav-caret span{width:6px;height:6px;border-right:1px solid currentColor;border-bottom:1px solid currentColor;transform:rotate(45deg) translateY(-2px);transition:transform .2s}.nav-submenu{position:absolute;top:calc(100% + 15px);left:50%;display:grid;min-width:220px;padding:10px;border:1px solid rgba(22,139,122,.14);border-radius:16px;background:rgba(251,253,249,.98);box-shadow:0 20px 50px rgba(18,109,100,.12);opacity:0;visibility:hidden;transform:translate(-50%,-6px);transition:.2s}.nav-submenu a{padding:9px 12px;border-radius:9px;white-space:nowrap}.nav-submenu a:hover{background:#eef8f4;border-color:transparent}.nav-group.section-current>a,.site-nav>a[aria-current=page],.nav-submenu a[aria-current=page]{color:var(--teal);font-weight:700}.nav-group.expanded .nav-caret span{transform:rotate(225deg) translate(-1px,-1px)}
@media(min-width:961px){.nav-group:hover .nav-submenu,.nav-group:focus-within .nav-submenu,.nav-group.expanded .nav-submenu{opacity:1;visibility:visible;transform:translate(-50%,0)}}
@media(max-width:960px){.site-nav{justify-content:flex-start;align-items:stretch;gap:12px;padding:100px max(28px,10vw) 50px;overflow-y:auto}.site-nav>a,.nav-group>a{font-size:1.04rem;padding:7px 0}.nav-group{display:grid;grid-template-columns:1fr auto;width:100%;max-width:520px;margin:0 auto}.nav-caret{width:38px;height:38px}.nav-submenu{position:static;grid-column:1/-1;display:none;min-width:0;margin:5px 0 8px;padding:5px 0 5px 18px;border:0;border-left:1px solid #cfe7e1;border-radius:0;background:transparent;box-shadow:none;opacity:1;visibility:visible;transform:none}.nav-group.expanded .nav-submenu{display:grid}.nav-submenu a{padding:7px 10px;font-size:.9rem}}
.nav-group{z-index:2}.nav-caret{width:24px;height:32px}.nav-submenu{z-index:40;top:calc(100% - 2px);padding:18px 10px 10px;background:rgba(251,253,249,.99);pointer-events:none}.nav-group:hover .nav-submenu,.nav-group:focus-within .nav-submenu,.nav-group.expanded .nav-submenu{pointer-events:auto}
@media(max-width:960px){.nav-group{grid-template-columns:1fr}.nav-caret{display:none}.nav-submenu{display:grid;pointer-events:auto}}
@media(max-width:960px){.menu-toggle{position:relative;display:flex;align-items:center;width:auto;max-width:none;min-height:42px;padding:0 16px 0 43px;border:1px solid rgba(22,139,122,.25);border-radius:999px;background:rgba(255,255,255,.82);color:var(--teal-dark);font-size:.86rem;font-weight:700;letter-spacing:.06em;overflow:visible}.menu-toggle:before,.menu-toggle:after{content:"";position:absolute;left:16px;width:17px;height:1px;background:var(--teal-dark);transition:top .2s,transform .2s}.menu-toggle:before{top:15px}.menu-toggle:after{top:25px}.menu-toggle[aria-expanded=true]:before{top:20px;transform:rotate(45deg)}.menu-toggle[aria-expanded=true]:after{top:20px;transform:rotate(-45deg)}}
.mobile-navigation{display:none}
@media(max-width:960px){.menu-toggle,.site-header>.site-nav{display:none!important}.mobile-navigation{display:block;position:relative;z-index:60}.mobile-navigation summary{position:relative;display:flex;align-items:center;min-height:42px;padding:0 16px 0 43px;border:1px solid rgba(22,139,122,.28);border-radius:999px;background:rgba(255,255,255,.9);color:var(--teal-dark);font-size:.86rem;font-weight:700;letter-spacing:.06em;cursor:pointer;list-style:none}.mobile-navigation summary::-webkit-details-marker{display:none}.mobile-navigation summary:before,.mobile-navigation summary:after{content:"";position:absolute;left:16px;width:17px;height:1px;background:var(--teal-dark);transition:.2s}.mobile-navigation summary:before{top:15px}.mobile-navigation summary:after{top:25px}.mobile-navigation[open] summary:before{top:20px;transform:rotate(45deg)}.mobile-navigation[open] summary:after{top:20px;transform:rotate(-45deg)}.mobile-nav-list{position:fixed;inset:78px 0 0;z-index:55;display:flex;flex-direction:column;gap:12px;padding:30px max(28px,10vw) 55px;background:rgba(247,252,249,.99);overflow-y:auto}.site-header.scrolled .mobile-nav-list{inset:66px 0 0}.mobile-nav-list>a,.mobile-nav-list>.nav-group{width:100%;max-width:520px;margin:0 auto}.mobile-nav-list>a,.mobile-nav-list>.nav-group>a{padding:8px 0;color:var(--teal-dark);font-size:1.05rem}.mobile-nav-list .nav-group{display:grid;grid-template-columns:1fr}.mobile-nav-list .nav-submenu{position:static;display:grid;min-width:0;margin:4px 0 7px;padding:5px 0 5px 18px;border:0;border-left:1px solid #cfe7e1;border-radius:0;background:transparent;box-shadow:none;opacity:1;visibility:visible;pointer-events:auto;transform:none}.mobile-nav-list .nav-submenu a{padding:7px 10px;font-size:.92rem;white-space:normal}}
@media(max-width:960px){.mobile-navigation:not([open])>.mobile-nav-list{display:none}}
@media(max-width:960px){.mobile-navigation{position:static}.mobile-navigation summary{position:fixed;z-index:70;top:18px;right:24px}.mobile-nav-list{position:fixed;z-index:65;inset:78px 0 0}.site-header.scrolled~.mobile-navigation .mobile-nav-list{inset:66px 0 0}.site-header.scrolled~.mobile-navigation summary{top:12px}}
