*{box-sizing:border-box;margin:0;padding:0}
:root{
  --paper:#faf9f6; --ink:#262624; --body:#4a4a46; --dim:#66655f; --panel:#eeede8; --panel2:#e4e2db;
  --line:#d6d4cc; --felt:#173a2e; --green:#1d5c47; --mint:#8fd3b6; --cream:#f3f1ea;
}
html{-webkit-text-size-adjust:100%}
body{background:var(--paper);color:var(--body);
  font-family:"Kumbh Sans","Noto Sans TC",system-ui,sans-serif;font-weight:400;
  font-size:16px;line-height:1.9;overflow-x:hidden}
img,svg{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
.nb{white-space:nowrap}
.wrap{max-width:1296px;margin:0 auto;padding:0 40px}

/* 頂欄：右上工具列＋主列 */
.masthead{background:#fff;border-bottom:1px solid var(--line);position:relative;z-index:5}
.utility{display:flex;justify-content:flex-end;gap:26px;padding:10px 40px 0;font-size:13px;color:var(--dim)}
.utility a:hover{color:var(--green)}
.mainrow{display:flex;align-items:center;gap:34px;padding:4px 40px 16px}
.wordmark{font-size:27px;font-weight:700;color:var(--ink);letter-spacing:-.02em;line-height:1;white-space:nowrap}
.wordmark i{font-style:normal;color:var(--green)}
.menu{display:flex;gap:26px;flex-wrap:wrap}
.menu a{font-size:16.5px;color:var(--ink);white-space:nowrap;padding:4px 0;border-bottom:1px solid transparent}
.menu a:hover{border-color:var(--ink)}
.menu a.on{border-color:var(--green);color:var(--green)}
.mainrow .aside{margin-left:auto;font-size:14px;color:var(--dim);white-space:nowrap}

/* 首屏：全幅插畫＋置中標題 */
.hero{position:relative;height:640px;overflow:hidden;background:var(--felt)}
.hero.short{height:520px}
.hero .art{position:absolute;inset:0}
.hero .art svg{width:100%;height:100%}
.hero .art.mid{bottom:auto;height:62%;display:flex;justify-content:center;padding-top:26px}
.hero .art.mid svg{width:auto;height:100%;aspect-ratio:16/10}
.hero.short .veil{background:linear-gradient(180deg,rgba(15,36,28,0) 0%,rgba(15,36,28,0) 52%,rgba(15,36,28,.9) 74%)}
.hero .veil{position:absolute;inset:0;
  background:linear-gradient(180deg,rgba(15,36,28,.05) 0%,rgba(15,36,28,.35) 45%,rgba(15,36,28,.86) 100%)}
.hero .copy{position:absolute;left:0;right:0;bottom:58px;text-align:center;padding:0 24px;color:#fff}
h1{font-weight:400;font-size:clamp(32px,4.2vw,52px);line-height:1.25;letter-spacing:-.01em;color:#fff}
.lede{font-size:18px;color:#e6efe9;max-width:36em;margin:14px auto 0;line-height:1.75}
.ruled{display:inline-block;margin-top:26px;padding:10px 40px;border-top:1px solid currentColor;
  border-bottom:1px solid currentColor;font-size:15px;letter-spacing:.02em}
.ruled:hover{color:var(--green)}
.hero .ruled{color:#fff}
.hero .ruled:hover{color:var(--mint)}

/* 首段 */
.opening{padding:70px 0 10px;text-align:center}
.opening .twin{max-width:40em;margin:0 auto;font-size:18px;color:var(--body);line-height:1.95}

/* 2×2 大圖格 */
.quad{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:48px 24px;padding:60px 0 90px}
.quad figure{display:block}
.quad .pic{aspect-ratio:16/10;overflow:hidden;background:var(--felt)}
.quad .pic svg{width:100%;height:100%}
.quad figcaption{text-align:center;padding:14px 12px 0}
.quad figcaption b{display:block;font-weight:500;color:var(--ink);font-size:17px;line-height:1.6}
.quad figcaption span{display:block;color:var(--dim);font-size:14.5px;line-height:1.75;max-width:34em;margin:4px auto 0}
.quad a:hover b{color:var(--green)}

/* 淺灰帶 */
.band{background:var(--panel);padding:84px 0;text-align:center}
h2{font-weight:400;font-size:clamp(26px,3vw,40px);line-height:1.35;color:var(--ink);letter-spacing:-.005em}
.band p{max-width:38em;margin:16px auto 0;color:var(--body)}
.band .ruled{color:var(--ink)}

/* 直長圖塊橫排 */
.railrow{padding:90px 0 80px}
.railrow h2{text-align:center;margin-bottom:34px}
.tiles{display:flex;gap:14px;overflow-x:auto;padding:0 40px 8px;scrollbar-width:thin}
.tile{flex:0 0 244px;height:330px;position:relative;background:var(--felt);color:#fff;overflow:hidden}
.tile svg{width:100%;height:100%}
.tile .tag{position:absolute;left:16px;bottom:14px;right:14px;color:#fff;font-size:16.5px;line-height:1.5}
.tile .tag small{display:block;font-size:13px;color:#cfe3d8;line-height:1.55}
a.tile:hover .tag{color:var(--mint)}

/* 內文欄 */
.prose{padding:90px 0 40px}
.prose .col{max-width:760px;margin:0 auto}
.prose h2{text-align:center}
.prose p{margin-top:16px}
.prose .kick{text-align:center;color:var(--dim);font-size:14.5px;margin-top:10px}
h3{font-weight:500;font-size:18px;color:var(--ink);line-height:1.6;margin-top:30px}
.sheet{overflow-x:auto;margin-top:30px;border-top:1px solid var(--ink)}
table{border-collapse:collapse;width:100%;min-width:560px;font-size:15px}
th,td{text-align:left;padding:14px 14px;border-bottom:1px solid var(--line);vertical-align:top}
th{font-weight:500;color:var(--ink);font-size:14px}
td{color:var(--body)}
td b{font-weight:500;color:var(--ink)}
td.n{font-variant-numeric:tabular-nums;color:var(--green);white-space:nowrap}

/* 左圖右灰底分欄 */
.split{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);margin:70px 0 0}
.split .pic{min-height:460px;background:var(--felt);overflow:hidden}
.split .pic svg,.split .pic img{width:100%;height:100%;object-fit:cover}
.split .panel{background:var(--panel);padding:60px 48px;display:flex;flex-direction:column;justify-content:center}
.split .panel h2{font-size:clamp(24px,2.4vw,32px)}
.split .panel p{margin-top:14px;font-size:15.5px}
.split .panel .ruled{align-self:flex-start;color:var(--ink)}

/* 淺灰通知列 */
.notice{background:var(--cream);padding:40px 0;margin-top:90px}
.notice .wrap{display:flex;align-items:center;gap:36px;flex-wrap:wrap}
.notice .say b{display:block;font-weight:500;color:var(--ink);font-size:17px}
.notice .say span{font-size:14.5px;color:var(--dim)}
.notice .pair{margin-left:auto;display:flex;gap:26px;flex-wrap:wrap}
.notice .pair a{display:flex;align-items:center;gap:10px;font-size:14.5px;color:var(--ink)}
.notice .pair i{width:34px;height:34px;border-radius:50%;background:var(--ink);color:#fff;font-style:normal;
  display:flex;align-items:center;justify-content:center;font-size:14px;flex:none}
.notice .pair a:hover{color:var(--green)}

/* 頁尾 */
footer{background:var(--panel2);padding:56px 0 30px;color:var(--body)}
.cols{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:34px;text-align:center}
.cols h4{font-weight:500;color:var(--ink);font-size:15px;padding-bottom:10px;border-bottom:1px solid var(--ink);margin-bottom:14px}
.cols a{display:block;font-size:14px;line-height:2.1}
.cols a:hover{color:var(--green)}
.cols p{font-size:14px;line-height:1.9}
.legal{text-align:center;font-size:13px;color:var(--dim);margin-top:40px}

@media(max-width:900px){
  .wrap{padding:0 24px}
  .utility{padding:8px 24px 0}
  .mainrow{flex-wrap:wrap;gap:12px 24px;padding:4px 24px 14px}
  .mainrow .aside{display:none}
  .menu{order:3;width:100%;gap:18px}
  .menu a{font-size:15px}
  .hero{height:540px}
  .hero.short{height:470px}
  .hero .art.mid{height:52%}
  .split{grid-template-columns:minmax(0,1fr)}
  .split .pic{min-height:300px}
  .split .panel{padding:44px 24px}
  .tiles{padding:0 24px 8px}
  .cols{grid-template-columns:minmax(0,1fr)}
  .notice .pair{margin-left:0}
}
@media(max-width:620px){
  .quad{grid-template-columns:minmax(0,1fr);gap:40px}
  .hero .copy{bottom:40px}
  .lede{font-size:16px}
  .opening{padding:52px 0 0}
  .opening .twin{font-size:16.5px;text-align:left}
  .band,.prose,.railrow{padding-top:60px;padding-bottom:56px}
  .tile{flex-basis:200px;height:280px}
}
