html{scroll-behavior:smooth} .preview-tag{position:fixed;bottom:18px;left:22px;z-index:110;background:#f5f3eee8;padding:9px 14px;font-size:11px;letter-spacing:2px;border:1px solid #d8d3c8;border-radius:30px}.motion-menu{position:fixed;right:25px;top:110px;z-index:121;border:0;background:#253c3b;color:#fff;padding:15px 20px;border-radius:28px;cursor:pointer;font-size:11px;letter-spacing:2px}.motion-menu span{display:inline-block;margin-left:18px;font-size:20px;transition:transform .6s}.menu-shown .motion-menu span{transform:rotate(45deg)}.motion-veil{position:fixed;inset:0;background:#264c48;z-index:118;transform:translateX(100%);transition:transform .7s cubic-bezier(.76,0,.24,1);pointer-events:none;opacity:.96}#motion-panel{position:fixed;inset:0 0 0 auto;width:min(570px,100%);padding:150px 65px 45px;background:#eeece3;z-index:120;transform:translateX(105%);transition:transform .8s cubic-bezier(.76,0,.24,1);visibility:hidden;overflow:auto}#motion-panel small{font-size:10px;letter-spacing:3px;color:#b44b2a}#motion-panel a{display:flex;justify-content:space-between;align-items:center;padding:16px 0;font-family:serif;font-size:35px;border-bottom:1px solid #c9c8bd;text-decoration:none;color:#252521;transform:translateY(30px);opacity:0;transition:transform .55s,opacity .55s,color .2s}#motion-panel a:hover{color:#da542b;transform:translateX(9px)}#motion-panel em{font:11px sans-serif;color:#b44b2a}#motion-panel p{font-size:12px;line-height:2.2;margin-top:26px}.menu-shown .motion-veil{transform:translateX(30%)}.menu-shown #motion-panel{transform:translateX(0);visibility:visible}.menu-shown #motion-panel a{transform:translateY(0);opacity:1;transition-delay:calc(var(--n)*.055s + .2s)}.scroll-meter{position:fixed;top:200px;bottom:65px;right:24px;width:2px;background:#6662;z-index:90}.scroll-meter i{display:block;background:#e45d30;width:100%;height:100%;transform:scaleY(var(--progress,0));transform-origin:top}.motion-reveal{opacity:0;transform:translateY(42px);transition:opacity .85s ease,transform 1s cubic-bezier(.22,1,.36,1);transition-delay:var(--delay,0ms)}.motion-reveal.entered{opacity:1;transform:translateY(0)}.section-label:after{content:'';display:block;width:55px;height:2px;background:#d85b34;transform-origin:left;animation:none}.section-label.entered:after{animation:stroke 1s ease both}@keyframes stroke{from{transform:scaleX(0)}to{transform:scaleX(1)}}@media(max-width:760px){.motion-menu{top:90px;right:15px}#motion-panel{padding:145px 30px 30px}#motion-panel a{font-size:28px}.scroll-meter{right:8px}.preview-tag{font-size:9px;left:10px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before{animation:none!important;transition:none!important}.motion-reveal{opacity:1;transform:none}}
/* High-contrast accents over the fluid hero artwork. */
.ticker{overflow:hidden;white-space:nowrap;background:#eeece3;color:#252521;padding:18px 0;position:relative;border-block:1px solid rgba(37,37,33,.15)}
.ticker-track{display:inline-flex;align-items:center;gap:30px;min-width:max-content;animation:ticker-run 28s linear infinite}
.ticker-word{font:600 clamp(18px,2.2vw,34px)/1 Arial,'Noto Sans TC',sans-serif;letter-spacing:1px}
.ticker-word.accent{color:#237f82}.ticker-dot{color:#e45d30;font-size:16px}.ticker-arrow{font-size:24px;color:#237f82;margin-right:30px}
@keyframes ticker-run{from{transform:translateX(0)}to{transform:translateX(-50%)}}
.ticker:hover .ticker-track{animation-play-state:paused}
.hero .motion-rule{height:2px;background:rgba(15,58,58,.28)}
.hero .motion-rule::before{background:#103d3d}
.hero .motion-point{width:9px;height:9px;top:-3.5px;background:#103d3d}
.hero .motion-rule>span{color:#183b3b;font-weight:600}
.hero .art-type::after{height:3px;background:#103d3d;animation-name:impact-line-visible}
@keyframes impact-line-visible{0%,25%,100%{transform:scaleX(.18);opacity:.85}50%,70%{transform:scaleX(1);opacity:1}}
/* Keep the hero copy directly on the artwork. */
body button.motion-menu{display:inline-flex;align-items:center;justify-content:center;gap:15px;min-width:108px;height:50px;padding:0 18px;line-height:1}
body button.motion-menu span{display:inline-flex;align-items:center;justify-content:center;margin:0;line-height:1;width:18px;height:18px}
/* Refined hero balance, shared by both languages. */
@media(min-width:761px){
.hero .editorial-art{top:80px;bottom:195px;justify-content:center}
.hero .art-type{font-size:clamp(62px,6.65vw,110px)}
.hero .art-kicker{margin-bottom:22px}
.hero .hero-copy .intro{position:absolute;left:35px;bottom:83px;margin:0;font-size:15px;line-height:2;letter-spacing:.5px;color:#222c29;padding:0}
.hero .hero-copy .text-link{position:absolute;left:35px;bottom:23px;margin:0;font-size:14px;padding:12px 0;gap:65px}
}
.hero.hero::before{opacity:.94}
body .motion-menu{padding:12px 17px;font-size:10px;letter-spacing:1.5px}
body .motion-menu span{font-size:18px;margin-left:13px}
body .motion-menu{top:auto;bottom:90px;right:25px}
@media(max-width:760px){body .motion-menu{top:auto;bottom:82px;right:15px}}
header .brand-symbol-only .header-wordmark{color:#d95a2b}
header{isolation:isolate}
header>.section-particles{position:absolute;inset:0;width:100%;height:100%;z-index:-1;pointer-events:none;opacity:.65}
header:has(.brand-symbol-only){min-height:92px;padding:12px 4%;gap:30px;flex-wrap:nowrap}
header .brand-symbol-only{gap:12px}
header .brand-symbol-only .brand-logo{width:66px;height:66px}
header .header-wordmark{font-size:23px;letter-spacing:4px}
header nav{margin-left:auto;gap:28px}
header nav a{font-size:13px;white-space:nowrap}
header .language-switch{margin-left:12px;padding-left:24px;border-left:1px solid var(--line)}
header .nav-contact{padding-block:9px}
@media(min-width:761px) and (max-width:1050px){header:has(.brand-symbol-only){gap:16px;padding-inline:3%}header .brand-symbol-only .brand-logo{width:54px;height:54px}header .header-wordmark{font-size:19px;letter-spacing:2px}header nav{gap:16px}header nav a{font-size:11px}header .language-switch{padding-left:12px;margin-left:0}header .nav-contact span{width:28px;height:28px}}
@media(max-width:760px){header:has(.brand-symbol-only){min-height:80px;gap:10px;padding:10px 5%}header .brand-symbol-only .brand-logo{width:50px;height:50px}header .header-wordmark{font-size:18px;letter-spacing:2px}header .brand-symbol-only{gap:8px}header .language-switch{margin-left:auto;padding-left:0;border:0}header:has(.brand-symbol-only) nav{top:79px;margin-left:0}header nav a{font-size:13px}}
.hero.hero::before{inset:-5%;transform-origin:50% 50%;animation:fluid-breathe 22s ease-in-out infinite;will-change:transform}
@keyframes fluid-breathe{0%,100%{transform:scale(1.04) translate(-1%,-.5%) rotate(-1deg)}35%{transform:scale(1.1,1.06) translate(1%,1%) rotate(1deg)}70%{transform:scale(1.06,1.12) translate(-.5%,1.2%) rotate(-.5deg)}}
.hero.hero.motion-paused::before,.hero.hero.motion-offscreen::before{animation-play-state:paused}
@media(prefers-reduced-motion:reduce){.hero.hero::before{animation:none;transform:none;will-change:auto}}
.about>.section-particles,.recruitment-details>.section-particles{position:absolute;inset:0;width:100%;height:100%;z-index:0;pointer-events:none}
.ticker{display:none}
.about::before,.recruitment-details::before,.contact::before{display:none!important}
.hero .intro,.hero .text-link{background:transparent}
