/* Homepage navigation shared across all pages. */
.site-header .menu-toggle{pointer-events:auto}
.menu-brand{filter:brightness(0) invert(1)}
.menu-toggle:focus-visible,.menu-close:focus-visible,.menu-item:focus-visible{outline:1px solid #fff;outline-offset:6px}
.menu-toggle,.menu-close{font:inherit;color:#fff;border:0;cursor:pointer;width:36px;height:36px;display:grid;place-items:center;background:rgba(255,255,255,.08);transition:background .25s}
.menu-toggle{position:fixed;top:12px;right:12px;border-radius:2px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}
.menu-toggle:hover{background:rgba(10,22,17,.55)}
.menu-lines{width:14px;display:grid;gap:3px}
.menu-lines i{height:1px;width:14px;background:currentColor;display:block;transition:transform .3s}
.menu-toggle:hover .menu-lines i:nth-child(2){transform:scaleX(.7)}
#site-menu{position:fixed;inset:0;margin:0;padding:0;border:0;width:100%;max-width:none;height:100%;max-height:none;background:transparent;color:#25372f;overflow:hidden}
#site-menu::backdrop{background:transparent}
.menu-reveal{position:absolute;right:0;top:0;bottom:0;width:clamp(480px,40vw,960px);overflow:hidden;border-radius:0;transform:translate3d(100%,0,0);transition:transform 1s cubic-bezier(.67,.31,.15,1)}
.menu-panel{position:absolute;inset:0;width:100%;height:100%;padding:11vh clamp(54px,4.5vw,110px) 9vh;display:flex;flex-direction:column;align-items:flex-start;overflow-y:auto;border-radius:inherit;background:rgba(255,255,255,.42);-webkit-backdrop-filter:blur(48px);backdrop-filter:blur(48px);transform:translate3d(-100%,0,0);transition:transform 1s cubic-bezier(.67,.31,.15,1)}
#site-menu.over-light-section .menu-panel{background:rgba(185,196,188,.65)}
#site-menu[open] .menu-reveal,#site-menu[open] .menu-panel{will-change:transform}
#site-menu.is-open .menu-reveal,#site-menu.is-open .menu-panel{transform:translate3d(0,0,0)}
.menu-close{position:fixed;right:12px;top:12px;z-index:2;background:transparent;color:#25372f}
.menu-close__lines,.menu-close__symbol{grid-area:1/1;pointer-events:none;transition:opacity .35s ease,transform .5s cubic-bezier(.22,.61,.36,1)}
.menu-close__lines{width:14px;display:grid;gap:3px;opacity:1;transform:rotate(0)}
.menu-close__lines i{height:1px;width:14px;background:currentColor}
.menu-close__symbol{width:26px;height:26px;opacity:0;transform:rotate(-45deg) scale(.5)}
#site-menu.is-open .menu-close__lines{opacity:0;transform:rotate(45deg) scale(.5)}
#site-menu.is-open .menu-close__symbol{opacity:1;transform:rotate(0) scale(1)}
body .menu-close{width:44px;height:44px}
.menu-close:hover{background:rgba(47,93,80,.06)}
.menu-close:focus-visible,.menu-item:focus-visible{outline-color:var(--green)}
#site-menu.opened-by-pointer .menu-close:focus-visible{outline:none}
.menu-brand{width:170px;max-width:76%;height:auto;flex-shrink:0;filter:none;margin:0 0 clamp(56px,9vh,100px)}
.menu-panel nav{width:100%;flex-shrink:0}
.menu-list{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:1fr 1fr;width:min(100%,440px);gap:clamp(28px,4.5vh,52px) clamp(40px,4vw,70px)}
.menu-list li{min-width:0}
.menu-item{position:relative;display:block;width:fit-content;padding:0;color:inherit;font-size:clamp(18px,1.55vw,23px);font-weight:300;line-height:1.7;letter-spacing:.14em}
.menu-number{position:absolute;left:-26px;top:.7em;font-size:9px;font-weight:400;line-height:1;letter-spacing:.04em;color:#747d77}
.menu-name{position:relative;display:block}
.menu-name small{display:block;font-size:10px;font-weight:400;line-height:1.6;letter-spacing:.12em;color:#606b64;margin-top:7px}
.menu-item[aria-disabled]{cursor:default}
.menu-item.current .menu-name:after{content:"";position:absolute;left:0;bottom:-12px;width:24px;height:1px;background:var(--green);opacity:.7;transition:width .3s ease}
.menu-item.current:hover .menu-name:after{width:100%}
.menu-item.current:hover{color:var(--green)}
.menu-motto{align-self:flex-start;flex-shrink:0;margin:auto 0 0;padding-top:54px;text-align:left;font-size:9px;font-weight:400;line-height:1.7;letter-spacing:.14em;color:#69746d}
.menu-motto span{display:block}
.menu-motto__zh{margin-bottom:10px;font-size:14px;letter-spacing:.12em;color:var(--green)}
#site-menu,.menu-panel{overscroll-behavior:contain}
@media(max-width:760px){.menu-toggle{top:4px;right:4px}
.menu-reveal{inset:0;width:auto;border-radius:0}
.menu-panel{padding:64px 40px 36px 54px}
.menu-close{right:4px;top:4px;width:44px;height:44px}
.menu-brand{width:174px;max-width:88%;margin-bottom:44px}
.menu-list{grid-template-columns:1fr;gap:23px}
.menu-item{font-size:19px;line-height:1.6;letter-spacing:.12em}
.menu-number{left:-22px;font-size:9px}
.menu-name small{font-size:9px;margin-top:4px;letter-spacing:.12em}
.menu-item.current .menu-name:after{bottom:-9px;width:20px}
.menu-motto{padding-top:44px;font-size:8px}}
@media(max-height:620px) and (min-width:761px){.menu-panel{padding-top:48px;padding-bottom:36px}
.menu-brand{margin-bottom:38px}
.menu-list{row-gap:20px}
.menu-motto{padding-top:36px}}
@media(prefers-reduced-motion:reduce){#site-menu,.menu-reveal,.menu-panel,.menu-toggle,.menu-close,.menu-name:after{transition:none}}
.site-header.on-light .menu-toggle{color:var(--black);background:rgba(255,255,255,.65)}
.site-header.on-footer .menu-toggle{color:var(--ivory);background:rgba(255,255,255,.08)}
body .menu-toggle,body .menu-close{ right: var(--page-edge); }
body.has-site-header .site-header{position:fixed;inset:0 0 auto;height:100px;padding:0 3%;display:flex;align-items:center;justify-content:space-between;gap:24px;background:transparent;color:#fff;z-index:10;pointer-events:none;font-family:"Noto Sans TC",sans-serif}
body.has-site-header .site-header .brand{display:block;width:285px;max-width:55%;padding:14px 0;opacity:1;visibility:visible;pointer-events:auto}
body.has-site-header .site-header .brand img{display:block;width:100%;height:auto;filter:brightness(0) invert(1);transition:filter .35s}
body.has-site-header .site-header.on-light .brand img{filter:brightness(0)}
body.has-site-header .site-header .menu-toggle{width:44px;height:44px;pointer-events:auto;color:#fff;background:rgba(255,255,255,.04);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}
body.has-site-header .site-header.on-light .menu-toggle{color:#040000;background:rgba(255,255,255,.18)}
body.has-site-header .site-header.on-footer .brand img{filter:brightness(0) invert(1)}
body.has-site-header .site-header.on-footer .menu-toggle{color:#fff;background:rgba(255,255,255,.04)}
body.has-site-header .site-header .menu-toggle:hover{background:rgba(255,255,255,.26)}
body.has-site-header .site-header .menu-toggle,body.has-site-header #site-menu .menu-close{right:3%;top:calc((100px - min(285px,55vw)*39/403 - 44px + 9px)/2);width:44px;height:44px}
body.has-site-header #site-menu .menu-close{color:#25372f}
body.has-site-header #site-menu{font-family:"Noto Sans TC",sans-serif}
body.has-site-header #site-menu .menu-close>span::before,body.has-site-header #site-menu .menu-close>span::after{content:none}
body.has-site-header .site-header a:focus-visible{outline-color:#fff}
body.has-site-header .site-header.on-light a:focus-visible{outline-color:var(--green)}
@media(max-width:760px){body.has-site-header .site-header{height:84px;padding:0 5%;gap:16px}body.has-site-header .site-header .brand{width:222px;max-width:68%}body.has-site-header .site-header .menu-toggle,body.has-site-header #site-menu .menu-close{right:5%;top:calc((84px - min(222px,68vw)*39/403 - 44px + 9px)/2)}}
@media(prefers-reduced-motion:reduce){body.has-site-header .site-header .brand img{transition:none}}

/* Match the homepage: keep scrollbar width stable while the dialog is open. */
body.menu-is-open{overflow:visible}
