:root{
  --bg:#000;
  --panel:#050505;
  --panel-2:#080706;
  --gold:#e0bd70;
  --gold-soft:#c49c52;
  --ivory:#f0ebe2;
  --text:#c8c0b4;
  --muted:#8a8175;
  --line:rgba(229,205,152,.20);
  --line-soft:rgba(255,255,255,.065);
  --page-pad:clamp(28px,3.8vw,72px);
}
*{box-sizing:border-box}
html{background:#000;scroll-behavior:smooth;overflow-x:hidden}
body{margin:0;background:#000;color:var(--text);font-family:"PingFang TC","PingFang SC","Microsoft JhengHei","Microsoft YaHei","Noto Sans TC","Noto Sans SC",sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;overflow-x:hidden}
a{color:inherit}
img,svg{display:block;max-width:100%}
button,input{font:inherit}
.page-wrap{width:100%;max-width:2000px;margin:0 auto;padding-inline:var(--page-pad)}
.serif{font-family:"Songti TC","STSong","PMingLiU","MingLiU","Noto Serif TC",serif}

/* Header */
.site-header{height:clamp(76px,5vw,92px);background:#000;border-bottom:1px solid rgba(255,255,255,.055);position:relative;z-index:50}
.header-inner{height:100%;display:grid;grid-template-columns:clamp(205px,18vw,315px) 1fr clamp(132px,13vw,220px);align-items:center;gap:18px}
.brand{display:inline-block;text-decoration:none;width:max-content}
.brand-cn{font-family:"DFKai-SB","BiauKai","KaiTi","STKaiti","Songti TC",serif;color:#efcf83;font-size:clamp(27px,1.7vw,34px);font-weight:400;line-height:1;letter-spacing:.16em;white-space:nowrap}
.brand-en{margin-top:8px;color:#80796e;font-family:Georgia,"Times New Roman",serif;font-size:clamp(7px,.46vw,9px);letter-spacing:.105em;text-transform:uppercase;white-space:nowrap}
.desktop-nav{display:flex;align-items:center;justify-content:center;gap:clamp(18px,1.65vw,34px);height:100%;white-space:nowrap}
.desktop-nav a{position:relative;height:100%;display:flex;align-items:center;text-decoration:none;color:#eee9df;font-size:clamp(12px,.78vw,15px);font-weight:400;letter-spacing:.07em}
.desktop-nav a::after{content:"";position:absolute;left:0;bottom:20px;width:0;height:1px;background:var(--gold);transition:width .22s ease}
.desktop-nav a:hover,.desktop-nav a.active{color:var(--gold)}
.desktop-nav a:hover::after,.desktop-nav a.active::after{width:100%}
.utility{justify-self:end;display:flex;align-items:center;gap:9px;color:#9a9184;font-family:Georgia,"Times New Roman",serif;font-size:11px;letter-spacing:.08em}
.utility a{text-decoration:none;color:#9a9184;transition:color .2s ease}
.utility a:hover,.utility a[aria-current="page"]{color:#e1be72}
.utility-sep{opacity:.55}
.search-toggle{margin-left:8px;width:34px;height:34px;border:0;border-left:1px solid rgba(255,255,255,.12);background:transparent;position:relative;cursor:pointer}
.search-toggle::before{content:"";position:absolute;left:13px;top:7px;width:10px;height:10px;border:1px solid #d3af64;border-radius:50%}
.search-toggle::after{content:"";position:absolute;left:23px;top:18px;width:7px;height:1px;background:#d3af64;transform:rotate(45deg);transform-origin:left center}
.mobile-menu{display:none}

/* Search panel */
.search-panel{position:absolute;right:var(--page-pad);top:calc(100% + 1px);width:min(430px,calc(100vw - 34px));padding:14px;background:#080808;border:1px solid rgba(224,189,112,.25);box-shadow:0 18px 45px rgba(0,0,0,.55);display:none}
.search-panel.open{display:block}
.search-form{display:grid;grid-template-columns:1fr auto;gap:8px}
.search-form input{width:100%;height:44px;border:1px solid rgba(255,255,255,.12);background:#020202;color:#eee;padding:0 13px;outline:none}
.search-form input:focus{border-color:rgba(224,189,112,.6)}
.search-form button{height:44px;padding:0 17px;border:1px solid rgba(224,189,112,.7);background:#0a0906;color:#e9c87a;cursor:pointer}

/* Hero */
.hero{position:relative;isolation:isolate;overflow:hidden;background:#000}
.hero::before{content:"";position:absolute;z-index:-3;inset:0;background:radial-gradient(ellipse at 73% 38%,rgba(194,154,77,.055),transparent 34%)}
.hero-raster{position:absolute;z-index:-2;right:0;top:clamp(50px,5vw,90px);width:clamp(260px,28vw,520px);height:auto;opacity:.52;mix-blend-mode:screen;pointer-events:none}
.hero-mountains{position:absolute;z-index:-2;right:-1.5vw;top:clamp(50px,5vw,90px);width:clamp(430px,46vw,880px);height:auto;opacity:.32;pointer-events:none}
.hero-trees{position:absolute;z-index:-2;right:-1vw;bottom:10px;width:clamp(170px,19vw,360px);height:45%;opacity:.27;pointer-events:none}
.hero-inner{min-height:clamp(500px,49vw,720px);display:grid;grid-template-columns:47% 53%;align-items:center;position:relative}
.hero-art{height:100%;min-height:clamp(500px,49vw,720px);position:relative;display:flex;align-items:center;justify-content:flex-end}
.hero-calligraphy{position:absolute;left:clamp(24px,4.1vw,76px);top:clamp(70px,8vw,120px);writing-mode:vertical-rl;text-orientation:upright;font-family:"DFKai-SB","BiauKai","KaiTi","STKaiti",serif;font-size:clamp(90px,9.7vw,150px);line-height:.9;color:rgba(207,193,169,.14);letter-spacing:.01em;user-select:none}
.hero-seal{position:absolute;left:clamp(70px,8.7vw,160px);bottom:clamp(52px,6vw,90px);width:31px;height:45px;border:1px solid rgba(143,32,22,.78);color:#a92b1d;background:rgba(79,9,6,.13);display:grid;place-items:center;text-align:center;font-family:"DFKai-SB","KaiTi",serif;font-size:11px;line-height:1.05;padding:3px}
.hero-statue{width:clamp(275px,27vw,520px);height:auto;max-height:clamp(470px,49vw,700px);object-fit:contain;margin-right:clamp(-4px,.6vw,14px);filter:drop-shadow(0 20px 36px rgba(0,0,0,.62))}
.hero-copy{padding-left:clamp(20px,2.6vw,50px);padding-right:clamp(8px,2vw,38px);position:relative;z-index:2;transform:translateY(-2px)}
.hero-title{margin:0;color:#efcd82;font-family:"Songti TC","STSong","PMingLiU","MingLiU",serif;font-size:clamp(48px,5vw,86px);line-height:1.45;font-weight:400;letter-spacing:.075em}
.hero-subtitle{margin:clamp(14px,1.5vw,24px) 0 0;color:#f1ece4;font-family:"Songti TC","STSong","PMingLiU","MingLiU",serif;font-size:clamp(18px,1.65vw,27px);line-height:1.72;font-weight:400;letter-spacing:.07em}
.hero-en{margin-top:clamp(13px,1.3vw,21px);color:#9d9487;font-family:Georgia,"Times New Roman",serif;font-size:clamp(10px,.9vw,15px);line-height:1.75;letter-spacing:.18em;text-transform:uppercase}
.gold-rule{width:clamp(110px,12vw,185px);height:1px;margin:clamp(19px,2vw,31px) 0 clamp(17px,1.8vw,27px);background:linear-gradient(90deg,rgba(224,189,112,.82),rgba(224,189,112,0))}
.hero-intro{margin:0;max-width:760px;color:#cbc3b8;font-size:clamp(13px,.95vw,17px);line-height:1.95;letter-spacing:.045em;font-weight:400}

/* Primary cards */
.action-area{position:relative;z-index:8;margin-top:clamp(-18px,-1vw,-8px);padding-bottom:clamp(30px,2.8vw,52px)}
.action-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(14px,1.5vw,28px)}
.action-card{min-height:clamp(220px,16vw,310px);border:1px solid var(--line);background:linear-gradient(180deg,rgba(8,8,8,.985),rgba(3,3,3,.99));padding:clamp(22px,2vw,35px) clamp(14px,1.7vw,28px) 20px;text-align:center;text-decoration:none;position:relative;transition:.22s ease}
.action-card:hover{border-color:rgba(224,189,112,.47);transform:translateY(-3px);background:linear-gradient(180deg,#0c0b08,#030303)}
.action-icon{width:clamp(38px,3.2vw,52px);height:clamp(38px,3.2vw,52px);color:#e1bf6e;margin:0 auto clamp(13px,1.2vw,18px)}
.action-card h2{margin:0;color:#edca7b;font-family:"Songti TC","STSong","PMingLiU",serif;font-size:clamp(21px,1.7vw,29px);line-height:1.35;font-weight:400;letter-spacing:.07em}
.action-en{margin-top:8px;color:#8f877b;font-family:Georgia,"Times New Roman",serif;font-size:clamp(8px,.58vw,11px);letter-spacing:.17em;text-transform:uppercase}
.action-card p{margin:clamp(12px,1.2vw,20px) auto 0;color:#c7c0b6;font-size:clamp(12px,.83vw,15px);line-height:1.82;letter-spacing:.035em;font-weight:400}
.action-arrow{display:block;color:#d9b667;font-family:Georgia,serif;font-size:18px;margin-top:clamp(9px,1vw,16px)}

/* Mission */
.mission{min-height:clamp(235px,18.5vw,350px);position:relative;display:grid;align-items:center;overflow:hidden;border-top:1px solid rgba(255,255,255,.035);border-bottom:1px solid rgba(255,255,255,.045);background:#020202}
.mission::after{content:"";position:absolute;inset:0;z-index:0;background:linear-gradient(90deg,rgba(0,0,0,.04) 0%,rgba(0,0,0,.62) 28%,rgba(0,0,0,.9) 47%,rgba(0,0,0,.94) 70%,rgba(0,0,0,.78) 100%)}
.wall-image{position:absolute;z-index:0;left:0;bottom:0;width:clamp(310px,34vw,650px);height:100%;object-fit:cover;object-position:left center;opacity:.72;filter:saturate(.72) contrast(1.04)}
.vertical-motto{position:absolute;z-index:2;right:clamp(45px,7.2vw,138px);top:50%;transform:translateY(-50%);display:flex;flex-direction:column;align-items:center;color:rgba(203,166,87,.43);font-family:"DFKai-SB","BiauKai","KaiTi","STKaiti",serif;font-size:clamp(29px,2.7vw,48px);letter-spacing:0;line-height:1.05;white-space:nowrap}.vertical-motto span{display:block}
.mission-seal{position:absolute;z-index:2;right:clamp(103px,11vw,210px);bottom:clamp(25px,3vw,54px);width:28px;height:40px;border:1px solid rgba(138,27,17,.68);color:#a4271b;display:grid;place-items:center;font-family:"DFKai-SB","KaiTi",serif;font-size:10px;line-height:1.05;text-align:center}
.mission-inner{position:relative;z-index:3;text-align:center;width:min(78%,1450px);margin:0 auto;padding:clamp(30px,3.4vw,62px) clamp(80px,10vw,190px)}
.section-title{margin:0;color:#e6c173;font-family:"Songti TC","STSong","PMingLiU",serif;font-size:clamp(28px,2.15vw,38px);line-height:1.45;font-weight:400;letter-spacing:.055em}
.mission p{margin:clamp(12px,1.3vw,20px) auto 0;color:#c8c1b6;font-size:clamp(12.5px,.9vw,16px);line-height:1.95;letter-spacing:.03em;font-weight:400}
.outline-btn{display:inline-flex;align-items:center;gap:18px;margin-top:clamp(18px,1.8vw,28px);min-height:46px;padding:0 24px;border:1px solid rgba(224,189,112,.78);text-decoration:none;color:#efd18a;font-size:13px;letter-spacing:.08em;transition:.2s ease}
.outline-btn:hover{background:#d3ae60;color:#090909}

/* Resources */
.resources{padding:clamp(36px,3.8vw,64px) 0 clamp(42px,4.3vw,72px);background:#000}
.section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:22px;margin-bottom:clamp(18px,2vw,28px)}
.section-head-left{display:flex;align-items:baseline;gap:14px}
.section-head h2{margin:0;color:#e9c477;font-family:"Songti TC","STSong","PMingLiU",serif;font-size:clamp(25px,2vw,34px);line-height:1.2;font-weight:400;letter-spacing:.07em}
.section-kicker{color:#8b8274;font-family:Georgia,"Times New Roman",serif;font-size:clamp(8px,.58vw,11px);letter-spacing:.2em;text-transform:uppercase}
.more-link{text-decoration:none;color:#d5b366;font-size:clamp(11px,.75vw,14px);letter-spacing:.05em}
.news-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(22px,2.2vw,40px)}
.news-card{min-height:clamp(270px,22vw,410px);border:1px solid var(--line-soft);background:#050505;text-decoration:none;overflow:hidden;transition:.22s ease;display:flex;flex-direction:column}
.news-card:hover{border-color:rgba(224,189,112,.35);transform:translateY(-3px)}
.news-visual{width:100%;height:clamp(112px,10.5vw,190px);object-fit:cover;border-bottom:1px solid rgba(255,255,255,.055);filter:saturate(.84) brightness(.92)}
.news-body{padding:clamp(16px,1.7vw,26px) clamp(18px,1.8vw,28px) 22px;display:flex;flex-direction:column;flex:1}
.news-meta{color:#9c8c72;font-family:Georgia,"Times New Roman",serif;font-size:clamp(8px,.55vw,10px);letter-spacing:.16em;text-transform:uppercase}
.news-card h3{margin:10px 0 0;color:#eee8df;font-family:"Songti TC","STSong","PMingLiU",serif;font-size:clamp(18px,1.45vw,25px);line-height:1.48;font-weight:400;letter-spacing:.04em}
.news-card p{margin:9px 0 0;color:#9f978c;font-size:clamp(11px,.78vw,14px);line-height:1.78;letter-spacing:.02em;font-weight:400}
.news-go{display:block;color:#d1ad61;margin-top:auto;padding-top:13px;font-size:17px}

/* Footer */
.site-footer{border-top:1px solid rgba(255,255,255,.05);padding:clamp(34px,3.2vw,52px) 0 34px;background:#000}
.footer-inner{display:grid;grid-template-columns:1fr auto;align-items:end;gap:34px}
.footer-brand .brand-cn{font-size:clamp(26px,1.7vw,32px);color:#f1ece4}.footer-brand .brand-en{color:#777168}
.footer-copy{margin-top:13px;color:#706a61;font-size:clamp(9px,.6vw,11px);line-height:1.8}
.footer-links{display:flex;gap:0 clamp(18px,1.5vw,30px);flex-wrap:wrap;justify-content:flex-end;color:#918a80;font-size:clamp(10px,.65vw,12px)}
.footer-links a{text-decoration:none}
.footer-links a:hover{color:var(--gold)}
.to-top{position:fixed;right:22px;bottom:22px;width:43px;height:43px;display:grid;place-items:center;text-decoration:none;background:rgba(5,5,5,.92);border:1px solid rgba(224,189,112,.45);color:#d7b66d;font-size:18px;z-index:30}

/* Tablet */
@media(max-width:1050px){
  :root{--page-pad:clamp(24px,3.6vw,38px)}
  .header-inner{grid-template-columns:205px 1fr 128px}.desktop-nav{gap:18px}.desktop-nav a{font-size:12px}
  .hero-inner{min-height:500px}.hero-art{min-height:500px}.hero-statue{width:285px}.hero-calligraphy{font-size:96px}.hero-title{font-size:50px}.hero-subtitle{font-size:18px}.hero-intro{font-size:13px}
  .action-card{min-height:215px}.mission-inner{width:80%;padding-inline:105px}.wall-image{width:35vw}.news-card{min-height:280px}.news-visual{height:120px}
}

/* Mobile */
@media(max-width:860px){
  :root{--page-pad:17px}
  .site-header{height:72px}.header-inner{grid-template-columns:1fr auto}.desktop-nav,.utility{display:none}.brand-cn{font-size:25px}.brand-en{font-size:7px}
  .mobile-menu{display:block;position:relative}
  .mobile-menu summary{list-style:none;width:42px;height:42px;display:grid;place-items:center;border:1px solid rgba(224,189,112,.38);color:#d8b66d;font-size:20px;cursor:pointer}.mobile-menu summary::-webkit-details-marker{display:none}
  .mobile-menu nav{position:absolute;right:0;top:49px;width:min(82vw,310px);padding:9px;background:#070707;border:1px solid rgba(224,189,112,.27);box-shadow:0 15px 45px rgba(0,0,0,.7);z-index:80}
  .mobile-menu nav a{display:block;padding:12px;text-decoration:none;border-bottom:1px solid rgba(255,255,255,.06);font-size:14px}.mobile-menu nav a:last-of-type{border-bottom:0}
  .mobile-langs{display:flex!important;gap:11px;padding:11px 12px 4px;color:#9d9588;font-family:Georgia,"Times New Roman",serif;font-size:12px}.mobile-langs a{text-decoration:none!important;border:0!important;padding:0!important}.mobile-langs a[aria-current="page"]{color:#e2bd70}
  .hero-raster{width:78vw;right:-28vw;top:170px;opacity:.22}.hero-mountains{width:110vw;right:-58vw;top:210px;opacity:.18}.hero-trees{display:none}
  .hero-inner{min-height:auto;grid-template-columns:1fr;padding:16px 0 34px}.hero-art{min-height:390px;height:390px;justify-content:center}.hero-statue{width:min(300px,76vw);max-height:370px;margin:0}.hero-calligraphy{left:7vw;top:28px;font-size:73px}.hero-seal{left:17vw;bottom:24px}
  .hero-copy{text-align:center;padding:0 8px}.hero-title{font-size:clamp(36px,9.8vw,50px);line-height:1.38}.hero-subtitle{font-size:16px}.hero-en{font-size:9.5px}.gold-rule{margin:18px auto}.hero-intro{max-width:620px;margin-inline:auto;font-size:12.5px}
  .action-area{margin-top:0;padding-bottom:34px}.action-grid{grid-template-columns:1fr 1fr;gap:11px}.action-card{min-height:205px;padding:22px 12px}.action-card h2{font-size:20px}.action-card p{font-size:12px}
  .mission{min-height:335px}.mission-inner{width:100%;padding:48px 44px}.wall-image{width:55vw;opacity:.37}.vertical-motto{right:17px;font-size:27px}.mission-seal{display:none}.mission::after{background:linear-gradient(90deg,rgba(0,0,0,.32),rgba(0,0,0,.86) 35%,rgba(0,0,0,.92))}.section-title{font-size:25px}.mission p{font-size:13px}
  .news-grid{grid-template-columns:1fr}.news-card{min-height:0;display:grid;grid-template-columns:40% 60%}.news-visual{height:100%;min-height:190px;border-right:1px solid rgba(255,255,255,.055);border-bottom:0}.news-card h3{font-size:18px}.news-card p{font-size:12px}
  .footer-inner{grid-template-columns:1fr}.footer-links{justify-content:flex-start}.search-panel{right:17px}
}
@media(max-width:560px){
  .hero-art{height:365px;min-height:365px}.hero-statue{width:min(285px,80vw)}.hero-calligraphy{font-size:66px}.hero-title{font-size:35px}.hero-subtitle{font-size:15px}.hero-intro br{display:none}
  .action-grid{grid-template-columns:1fr}.action-card{min-height:185px}.mission-inner{padding:44px 24px}.vertical-motto{display:none}.wall-image{width:78vw;opacity:.24}.section-kicker{display:none}
  .news-card{display:block}.news-visual{height:170px;min-height:0;border-right:0;border-bottom:1px solid rgba(255,255,255,.055)}.site-footer{padding-bottom:72px}.to-top{right:14px;bottom:14px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

@media(max-width:1180px){body.lang-en .desktop-nav{display:none}body.lang-en .utility{display:flex}body.lang-en .header-inner{grid-template-columns:1fr auto}body.lang-en .mobile-menu{display:block;position:relative}body.lang-en .mobile-menu summary{list-style:none;width:42px;height:42px;display:grid;place-items:center;border:1px solid rgba(224,189,112,.38);color:#d8b66d;font-size:20px;cursor:pointer}body.lang-en .mobile-menu summary::-webkit-details-marker{display:none}body.lang-en .mobile-menu nav{position:absolute;right:0;top:49px;width:min(82vw,310px);padding:9px;background:#070707;border:1px solid rgba(224,189,112,.27);box-shadow:0 15px 45px rgba(0,0,0,.7);z-index:80}body.lang-en .mobile-menu nav a{display:block;padding:12px;text-decoration:none;border-bottom:1px solid rgba(255,255,255,.06);font-size:14px}body.lang-en .mobile-langs{display:flex!important;gap:11px;padding:11px 12px 4px;color:#9d9588;font-family:Georgia,"Times New Roman",serif;font-size:12px}}
