/* 光明洲實修中心網站。淺色系（業主不用深色）。配色：僧袍深紅＋經幡金；內文明體、介面黑體。 */
:root{
  --bg:#fbfaf8; --paper:#fff; --ink:#2a2420; --muted:#7a716a; --line:#ebe5dc;
  --robe:#7b2330; --robe-dark:#5e1a25; --gold:#a8771c; --gold-ink:#8a6214; --gold-soft:#f5ecd9; --ok:#2f6b4f; --ok-soft:#e6f1ea;
  --serif:"Noto Serif TC","Songti TC","PMingLiU",serif;
  --sans:"Noto Sans TC","PingFang TC","Heiti TC",system-ui,sans-serif;
  color-scheme:light;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--ink);font:16px/1.8 var(--sans)}
img{max-width:100%;height:auto;display:block}
a{color:var(--robe)}
.wrap{max-width:1120px;margin:0 auto;padding-left:max(20px,env(safe-area-inset-left,0px));padding-right:max(20px,env(safe-area-inset-right,0px))}
.narrow{max-width:760px}
h1,h2,h3{font-family:var(--serif);text-wrap:balance;line-height:1.35;margin:0}
.nb{display:inline-block;max-width:100%}   /* 標題只在標點後換行 */
/* 標題、目錄、卡片標題只在標點或空格處換行，詞不拆開；真的太長才強制斷 */
h1,h2,h3,.toc a,.card b,.hero .tag{word-break:keep-all;overflow-wrap:anywhere}
.en{font-size:12px;letter-spacing:.18em;color:var(--gold-ink);font-weight:600;margin:4px 0 22px}

/* 頂欄 */
.top{position:sticky;top:0;z-index:20;background:rgba(255,255,255,.94);backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}
.top .in{display:flex;align-items:center;justify-content:space-between;gap:16px;max-width:1120px;margin:0 auto;padding:10px max(20px,env(safe-area-inset-right,0px)) 10px max(20px,env(safe-area-inset-left,0px))}
.logo{font-family:var(--serif);font-weight:600;font-size:19px;color:var(--robe);text-decoration:none;line-height:1.2}
.logo small{display:block;font:500 10.5px/1.4 var(--sans);letter-spacing:.16em;color:var(--muted)}
nav{display:flex;gap:22px;margin-left:auto;order:1}
nav a{color:var(--ink);text-decoration:none;font-size:15px;line-height:1.2;text-align:center;white-space:nowrap}
nav a small{display:block;font-size:10.5px;letter-spacing:.08em;color:var(--muted)}
nav a:hover{color:var(--robe)}
/* 語言切換（中文／EN）與手機選單按鈕 */
.tools{display:flex;align-items:center;gap:10px;flex-shrink:0;order:2}
.lang{display:inline-flex;border:1.5px solid var(--robe);border-radius:99px;overflow:hidden;font:600 13px/1 var(--sans);white-space:nowrap}
.lang>*{padding:6px 11px;min-width:34px;text-align:center}
.lang .on{background:var(--robe);color:#fff}
.lang a{color:var(--robe);text-decoration:none}
.lang a:hover{background:var(--gold-soft)}
.lang a:focus-visible{outline:3px solid var(--gold);outline-offset:-3px}
.menu-btn{display:none;background:var(--robe);color:#fff;border:0;border-radius:99px;padding:6px 14px;font:600 14px var(--sans);white-space:nowrap}
@media (max-width:860px){
  .menu-btn{display:block}
  nav{display:none;position:absolute;top:100%;left:0;right:0;background:#fff;border-bottom:1px solid var(--line);flex-direction:column;gap:0;padding:6px 20px 14px}
  nav.open{display:flex}
  nav a{text-align:left;padding:10px 0;border-bottom:1px solid var(--line)}
}

/* 按鈕與標籤 */
.btn{display:inline-block;background:var(--robe);color:#fff;text-decoration:none;border-radius:99px;padding:9px 22px;font-weight:600;font-size:15px;border:2px solid var(--robe)}
.btn:hover{background:var(--robe-dark);border-color:var(--robe-dark)}
.btn.ghost{background:transparent;color:var(--robe)}
.btn.ghost:hover{background:var(--robe);color:#fff}
.btn:focus-visible,.card:focus-visible,.chip:focus-visible,nav a:focus-visible,.menu-btn:focus-visible,summary:focus-visible{outline:3px solid var(--gold);outline-offset:2px}
.pill{display:inline-block;font-size:12px;font-weight:600;border-radius:99px;padding:1px 10px;margin-top:8px}
.pill.open{background:var(--ok-soft);color:var(--ok)} .pill.done{background:#efece7;color:#665e57}   /* 小字對比要 ≥ 4.5 */

/* 首頁主視覺：照片照原比例，不裁切 */
.hero{padding:48px 0 40px}
.hero-in{display:grid;grid-template-columns:1fr 1.05fr;gap:44px;align-items:center}
.hero h1{font-size:clamp(34px,5vw,52px);color:var(--ink)}
.hero .sub{font-family:var(--serif);font-size:20px;color:var(--muted);margin:6px 0 18px}
.hero .tag{font-family:var(--serif);font-size:clamp(20px,2.4vw,26px);line-height:1.6;color:var(--robe);font-weight:600;margin:0 0 14px}
.hero p{font-family:var(--serif);font-size:18px;line-height:1.9;max-width:30em}
.btns{display:flex;gap:12px;flex-wrap:wrap;margin-top:22px}
.hero .ph{margin:0;border-radius:6px;overflow:hidden;box-shadow:0 14px 40px rgba(60,30,20,.14)}
@media (max-width:860px){.hero-in{grid-template-columns:1fr}.hero .ph{order:-1}}

/* 區段 */
.sec{padding:56px 0}
.sec.alt{background:#f4f0ea}
.sec h1,.sec h2{font-size:clamp(26px,3.4vw,34px)}
.head{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;flex-wrap:wrap}
.more{color:var(--robe);font-weight:600;text-decoration:none;margin-bottom:22px}
.sec p{max-width:40em}

/* 卡片：圖框固定比例，圖片整張放進去（contain），不裁到臉、頭或海報文字 */
.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:22px}
.card{display:flex;flex-direction:column;background:var(--paper);border:1px solid var(--line);border-radius:8px;overflow:hidden;text-decoration:none;color:var(--ink);height:100%;transition:transform .25s ease,box-shadow .25s ease}
.card:hover{transform:translateY(-3px);box-shadow:0 10px 26px rgba(60,30,20,.10)}
.card .im{aspect-ratio:4/3;background:#efe9e0;display:flex;align-items:center;justify-content:center;overflow:hidden}
.card .im img{width:100%;height:100%;max-height:100%;object-fit:contain}
.card .im.empty{background:linear-gradient(135deg,#efe6d6,#e9dccb)}
.card .bd{padding:14px 16px 18px}
.card b{display:block;font-family:var(--serif);font-size:17px;line-height:1.5}
.card small{display:block;color:var(--muted);font-size:14px;line-height:1.6;margin-top:6px}
.cw[hidden]{display:none}
.chips{display:flex;flex-wrap:wrap;gap:8px;margin:-6px 0 24px}
.chip{border:1.5px solid var(--line);background:#fff;border-radius:99px;padding:4px 14px;font:500 14px var(--sans);color:var(--ink);cursor:pointer}
.chip.on{background:var(--robe);border-color:var(--robe);color:#fff}

/* 過去活動：小三角形收起來 */
details.past{margin-top:40px;border-top:1px solid var(--line);padding-top:18px}
details.past summary{cursor:pointer;font-family:var(--serif);font-size:20px;font-weight:600;color:var(--muted);list-style:none;display:flex;align-items:center;gap:10px}
details.past summary::-webkit-details-marker{display:none}
details.past summary::before{content:"";border:7px solid transparent;border-left-color:var(--robe);border-right:0;transition:transform .2s}
details.past[open] summary::before{transform:rotate(90deg)}
details.past summary small{font:600 12px var(--sans);letter-spacing:.16em;color:var(--gold-ink)}
details.past .cards{margin-top:22px}

/* 指導上師：直幅照片照原比例 */
.two{display:grid;grid-template-columns:minmax(0,340px) 1fr;gap:48px;align-items:center}
.portrait{margin:0;border-radius:6px;overflow:hidden}
.two.line-oa{grid-template-columns:1fr minmax(0,500px)}
.two.sup-intro{grid-template-columns:1fr minmax(0,300px)}
.callig{margin:0}.callig img{border-radius:4px;box-shadow:0 10px 30px rgba(60,30,20,.10)}
/* 護持方案：兩張卡片並排，手機一欄 */
.plans{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:22px;margin-top:28px}
.todo{list-style:none;padding-left:0}
.todo .box{display:inline-block;width:1.4em;color:var(--robe)}
.drive{margin:0 0 1.2em}
.drive iframe{display:block;width:100%;height:180px;border:0;border-radius:8px;background:#2a2a2a}
.share-list{list-style:none;padding:0;margin:24px 0 0;display:grid;gap:12px}
.share-list a{display:block;background:var(--paper);border:1px solid var(--line);border-left:4px solid var(--robe);border-radius:8px;padding:14px 18px;color:inherit;text-decoration:none}
.share-list a:hover{border-color:var(--robe)}
.share-list b{display:block;font-size:18px;color:var(--robe)}
.share-list small{display:block;margin-top:4px;color:var(--muted,#666);font-size:14px}
.plan{background:var(--paper);border:1px solid var(--line);border-top:4px solid var(--gold);border-radius:8px;padding:22px 24px 24px;display:flex;flex-direction:column}
.plan h3{font-size:22px;color:var(--robe);margin-bottom:10px}
.plan ul{margin:0 0 20px;padding-left:1.2em;line-height:1.9;flex:1}
.plan .btn{align-self:flex-start}
/* 每月供燈：單次報名，和長期護持分開，不做成第三張卡片 */
.grp{font-size:20px;color:var(--robe);margin-top:36px}
.grp+.plans{margin-top:16px}
.lamp{margin-top:36px;padding:22px 24px;border:1px solid var(--line);border-left:4px solid var(--gold);border-radius:8px;background:var(--paper)}
.lamp h3{font-size:20px;color:var(--robe);margin-bottom:8px}
.lamp p{margin:0 0 8px;line-height:1.9}
.lamp p:last-child{margin:14px 0 0;display:flex;flex-wrap:wrap;gap:12px 20px;align-items:center}
.lamp .more{margin:0}
.line-oa .oa{border-radius:6px;box-shadow:0 10px 30px rgba(60,30,20,.10);margin-bottom:16px}
@media (max-width:760px){.two,.two.line-oa,.two.sup-intro{grid-template-columns:1fr}.callig{max-width:320px}.portrait{max-width:360px}}

/* 文章頁 */
.article{padding:40px 0 70px}
.art{display:grid;grid-template-columns:220px minmax(0,1fr);gap:48px}
.toc{position:sticky;top:90px;align-self:start;font-size:14px;border-right:1px solid var(--line);padding-right:18px}
.toc b{display:block;font-size:12.5px;letter-spacing:.08em;margin-bottom:8px}
.toc a{display:block;color:var(--muted);text-decoration:none;padding:5px 0;line-height:1.5}
.toc a:hover,.toc a.on{color:var(--robe)}
.toc:empty{display:none}
.art:has(.toc:empty){grid-template-columns:minmax(0,1fr)}
.art:has(.toc:empty) .body{margin:0 auto}
.body{max-width:40em}
.crumb{font-size:14px;color:var(--muted)} .crumb a{color:var(--muted)}
.article h1{font-size:clamp(28px,4vw,38px);margin:10px 0 8px}
.by{color:var(--muted);font-size:15px;margin-bottom:28px}
.by .pill{margin:0 0 0 10px;vertical-align:middle}
.ev-sum{font-family:var(--serif);font-size:18px;margin:-14px 0 16px}
.ev-btns{margin:0 0 30px}
.body p{font-family:var(--serif);font-size:18px;line-height:2;margin:0 0 16px}
.body h2.sess{font-size:23px;border-left:5px solid var(--gold);padding-left:14px;margin:44px 0 14px;scroll-margin-top:90px}
.body h3.label{font-size:15px;font-family:var(--sans);letter-spacing:.06em;color:var(--muted);margin:52px 0 4px}
.body h3.sub{font-size:19px;color:var(--robe);margin:30px 0 8px}
.body p.q{font-family:var(--sans);font-style:italic;color:var(--muted);border-left:2px solid var(--line);padding-left:14px}
.body figure{margin:24px 0}
.body figcaption{font-size:14px;color:var(--muted);margin-top:6px}
/* 活動花絮：連續照片排兩欄，每張照原比例（不裁切） */
.gallery{columns:2;column-gap:12px;margin:24px 0}   /* 瀑布流：直幅橫幅混排不留空洞 */
.gallery figure{margin:0 0 12px;break-inside:avoid}
.gallery img{border-radius:4px}
@media (max-width:520px){.gallery{columns:1}}
.tbl{overflow-x:auto;margin:20px 0}
.tbl table{border-collapse:collapse;width:100%;font-size:16px;line-height:1.7}
.tbl th,.tbl td{border:1px solid var(--line);padding:8px 12px;text-align:left;vertical-align:top}
.tbl th{background:var(--gold-soft);font-weight:600;white-space:nowrap}
.body hr{border:0;border-top:1px solid var(--line);margin:40px 0}
.body blockquote,.body .callout{margin:20px 0;padding:14px 18px;background:var(--gold-soft);border-radius:6px}
.body ul,.body ol{font-family:var(--serif);font-size:17px;line-height:1.9}
@media (max-width:860px){.art{grid-template-columns:1fr}.toc{position:static;border-right:0;border-bottom:1px solid var(--line);padding:0 0 12px}.toc:has(b){display:block}}

/* 頁尾 */
.foot{background:#efe9e0;color:var(--ink);border-top:1px solid var(--line);padding:34px 0;font-size:14px;line-height:1.9}
.foot .wrap{display:flex;justify-content:space-between;gap:24px;flex-wrap:wrap}
.foot a{color:var(--robe)}
.foot .links{display:flex;flex-direction:column;gap:10px;align-items:flex-start}
.foot .links .btn{color:#fff;font-size:14px;padding:6px 18px}
.social{display:flex;gap:10px}
.si{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:50%;background:#fff;border:1px solid var(--line);color:var(--robe)}
.si svg{width:18px;height:18px}
.si:hover{background:var(--robe);color:#fff;border-color:var(--robe)}
.si:focus-visible{outline:3px solid var(--gold);outline-offset:2px}

/* 滑動時的小轉場：只有 JS 開起來才先隱藏，JS 失敗時內容照常顯示 */
/* 捲動進場（和瑪南網站一樣）：文字上浮 40px、1.1 秒；圖片等載好才淡入、上浮、由略小放大 */
.js .rv{opacity:0;transform:translateY(40px);transition:opacity 1.1s cubic-bezier(.22,.61,.36,1),transform 1.1s cubic-bezier(.22,.61,.36,1);transition-delay:var(--d,0s)}
.js .rv.in{opacity:1;transform:none}
.js .rvi{opacity:0;transform:translateY(36px) scale(.94);transition:opacity 1.2s cubic-bezier(.22,.61,.36,1),transform 1.4s cubic-bezier(.22,.61,.36,1)}
.js .rvi.in{opacity:1;transform:none}
@media print{.js .rv,.js .rvi{opacity:1;transform:none}.top,.toc,.foot .links{display:none}}
@media (prefers-reduced-motion:reduce){.js .rv,.js .rvi{opacity:1;transform:none;transition:none}.card,.card:hover{transition:none;transform:none}html{scroll-behavior:auto}}
.btns .more{margin:0;align-self:center}   /* 主按鈕旁的次要文字連結 */
@media (max-width:860px){ html[lang="en"] .logo{font-size:16px} }   /* 英文站名較長，手機上不要擠成三行 */

/* 活動頁資訊卡：日期、時間、地點、狀態與報名按鈕 */
.evinfo{background:var(--paper);border:1px solid var(--line);border-left:4px solid var(--robe);border-radius:8px;padding:16px 20px;margin:0 0 30px}
.evinfo dl{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px 24px;margin:0}
.evinfo dt{font-size:12px;letter-spacing:.12em;color:var(--gold-ink);font-weight:600}
.evinfo dd{margin:2px 0 0;font-size:16px}
.evinfo dd .pill{margin:0}
.evinfo .btns{margin-top:14px}
/* 文字連結的鍵盤焦點也要看得見 */
a:focus-visible{outline:3px solid var(--gold);outline-offset:2px;border-radius:2px}
@media (max-width:760px){
  /* 類別標籤：手機上排成一行橫向捲動，類別變多也不會越疊越高 */
  .chips{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;margin-right:-16px;padding:2px 16px 4px 2px}
  .chips::-webkit-scrollbar{display:none}
  .chip{flex:0 0 auto}
  /* 手機內文：17px、行高 1.85 */
  .body p{font-size:17px;line-height:1.85}
  /* 頁尾：加入 LINE 放最上面當主要動作 */
  .foot .links{order:-1}
}

/* ---------- 首頁三區：滿版色帶、編號色條、三種卡片 ---------- */
.band{padding:96px 0}
.band-ev{background:#fbf8f4;--acc:#8f2838;--acc-ink:#8f2838}
.band-rc{background:#f3ebdd;--acc:#956a2c;--acc-ink:#7d5820}
.band-te{background:#eef1ec;--acc:#506257;--acc-ink:#506257}
.band h2{display:flex;align-items:center;gap:12px}
.band h2::before{content:"";width:5px;height:1.1em;border-radius:3px;background:var(--acc)}
.band h2 .no{font:600 14px var(--sans);letter-spacing:.08em;color:var(--acc-ink)}
.band .en,.band .more{color:var(--acc-ink)}
.kind{display:inline-block;font:600 12px/1 var(--sans);letter-spacing:.06em;color:#fff;background:var(--acc-ink);border-radius:4px;padding:5px 8px}
.tags{display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.tags .pill{margin:0}
.go{display:inline-block;margin-top:10px;font-weight:600;font-size:14px;color:var(--acc-ink)}
/* 近期活動：日期導向的橫向卡 */
.hevs{display:grid;gap:18px}
.hev{display:grid;grid-template-columns:120px 1fr 200px;gap:22px;align-items:center;background:#fff;border:1px solid var(--line);border-left:5px solid var(--acc);border-radius:10px;padding:20px 22px;text-decoration:none;color:var(--ink)}
.hev:hover{box-shadow:0 10px 26px rgba(60,30,20,.10)}
.hev .dt{text-align:center;border-right:1px solid var(--line);padding-right:18px}
.hev .dt .yr{display:block;font:500 12px/1.4 var(--sans);letter-spacing:.08em;color:var(--muted);margin-bottom:2px}   /* 日期上方的小年份 */
.hev .dt b{display:block;font:600 26px/1.2 var(--serif);color:var(--acc-ink)}
.hev .dt small{display:block;color:#665e57;font-size:14px;margin-top:4px}
.hev .tx b{display:block;font:600 20px/1.45 var(--serif);margin:10px 0 4px}
.hev .tx small{display:block;color:#665e57;font-size:15px;line-height:1.6}
.hev .th{aspect-ratio:4/3;background:#efe9e0;border-radius:6px;overflow:hidden;display:flex;align-items:center;justify-content:center}
.hev .th img{width:100%;height:100%;object-fit:contain}
/* 活動回顧：照片圖庫，不用白色卡殼 */
.hrcs{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.hrcs>.hrc:nth-child(n+4){display:none}   /* 桌機一排 3 張；手機橫滑時全部顯示 */
.hrc{text-decoration:none;color:var(--ink)}
.hrc .im{position:relative;aspect-ratio:4/3;background:#e9dfcd;border-radius:6px;overflow:hidden;display:flex;align-items:center;justify-content:center}
.hrc .im img{width:100%;height:100%;object-fit:contain;transition:transform .3s ease}
.hrc:hover .im img{transform:scale(1.02)}
.hrc .kind{position:absolute;left:10px;top:10px}
.hrc b{display:block;font:600 17px/1.5 var(--serif);margin-top:10px}
.hrc small{display:block;color:#665e57;font-size:14px;margin-top:2px}
/* 法語選集：文字導向的文章清單 */
.htes{display:grid;gap:14px}
.hte{display:grid;grid-template-columns:120px 1fr;gap:18px;align-items:start;background:#fff;border:1px solid #dfe5dc;border-radius:8px;padding:14px;text-decoration:none;color:var(--ink)}
.hte:hover{border-color:var(--acc)}
.hte .th{aspect-ratio:1;background:#e3e8e1;border-radius:6px;overflow:hidden;display:flex;align-items:center;justify-content:center}
.hte .th img{width:100%;height:100%;object-fit:contain}
.hte .topic{font-size:12px;color:var(--acc-ink);border:1px solid #c9d2c6;border-radius:99px;padding:2px 8px}
.hte b{display:block;font:600 18px/1.5 var(--serif);margin:8px 0 2px}
.hte small{display:block;color:#5f5a54;font-size:15px;line-height:1.6}
.hte .go{margin-top:6px}
.hev:focus-visible,.hrc:focus-visible,.hte:focus-visible{outline:3px solid var(--gold);outline-offset:3px}
@media (max-width:760px){
  .band{padding:60px 0}
  .hev{grid-template-columns:84px 1fr;padding:16px}
  .hev .dt{padding-right:12px}
  .hev .dt b{font-size:20px}
  .hev .th{grid-column:1/-1;order:-1}
  .hev .tx b{font-size:18px}
  /* 回顧：橫向滑動的照片列，每張約畫面 76% 寬 */
  .hrcs{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:14px;margin-right:-16px;padding-right:16px;scrollbar-width:none}
  .hrcs::-webkit-scrollbar{display:none}
  .hrc{flex:0 0 76%;scroll-snap-align:start}
  .hrcs>.hrc:nth-child(n+4){display:block}
  .hte{grid-template-columns:96px 1fr;gap:14px;padding:12px}
  .hte b{font-size:17px}
}
.hev .dt b{white-space:nowrap;font-size:24px}
@media (max-width:760px){ .hev{grid-template-columns:78px 1fr} .hev .dt b{font-size:17px} }

/* ======================================================================
   編輯式排版（GPT 排版建議第三輪，業主 2026-10-24 轉來）
   中文：Noto Serif TC（標題、長文）＋ Noto Sans TC（導覽、日期、標籤、摘要）
   英文：Source Serif 4 ＋ Source Sans 3。字重只用 400／500／600，不用 700。
   ====================================================================== */
:root{
  --serif:"Source Serif 4","Noto Serif Tibetan","Noto Serif TC","Songti TC",serif;
  --sans:"Source Sans 3","Noto Serif Tibetan","Noto Sans TC","PingFang TC",system-ui,sans-serif;
}
body{font:400 16px/1.75 var(--sans)}
h1,h2,h3{font-weight:600}
.wrap{padding-left:max(24px,env(safe-area-inset-left,0px));padding-right:max(24px,env(safe-area-inset-right,0px))}
/* 粗體 700 一律降成 600 或 500 */
.logo{font-weight:600}
.en{font-weight:500;font-size:13px;letter-spacing:.14em}
.lang,.menu-btn,.btn,.more,.go,.pill,.kind,.tbl th,details.past summary,details.past summary small,.evinfo dt{font-weight:500}
nav a{font:500 15px/24px var(--sans)}
.btn{font-size:15px;padding:9px 22px}
/* 陰影減到幾乎看不見，改用細線；圓角統一 8px */
.card,.hev,.hte,.plan,.lamp,.evinfo{border-radius:8px}
.card:hover,.hev:hover{box-shadow:none;transform:none;border-color:#d9d0c3}
.hero .ph,.callig img,.line-oa .oa{box-shadow:none}

/* 首頁主視覺：一個主標題、一句導言、一段說明、一個主按鈕 */
.eyebrow{font:500 14px/1.5 var(--sans);letter-spacing:.06em;color:var(--gold-ink);margin-bottom:14px}
.hero h1{font:600 48px/62px var(--serif)}
.hero .tag{font:400 22px/1.6 var(--serif);color:var(--robe);margin:14px 0 12px}
.hero p{font:400 17px/30px var(--sans);color:#4a433d}
.hero .ph{max-width:520px;justify-self:end}

/* 區塊標題與卡片 */
.sec h1,.sec h2{font:600 30px/42px var(--serif)}
.article h1{font:600 40px/54px var(--serif)}
.hev .tx b,.hte b,.card b{font:600 20px/30px var(--serif)}
.hrc b{font:600 18px/28px var(--serif)}
.hev .tx small,.hte small,.card small,.hrc small{font:400 15px/26px var(--sans)}
.hev .dt b{font:600 24px/1.2 var(--serif)}
.hev .dt small,.kind,.pill,.topic,.go,.crumb,.by{font-size:13px;line-height:21px}

/* 長文：中文每行約 36 字，英文 64–68 字元 */
.body{max-width:38em}
.body p{font:400 18px/34px var(--serif);margin:0 0 1.1em}
.body h2.sess{font:600 25px/36px var(--serif)}
.body h3.sub{font:600 18px/28px var(--sans)}
.body h3.label{font:500 14px/21px var(--sans)}
.toc{font:500 14px/21px var(--sans)}
.body ul,.body ol{font:400 17px/32px var(--serif)}

/* 英文：較緊的行高與較寬的字元欄 */
html[lang="en"] .hero h1{font-size:52px;line-height:58px}
html[lang="en"] .article h1{font-size:44px;line-height:52px}
html[lang="en"] .sec h1,html[lang="en"] .sec h2{font-size:32px;line-height:40px}
html[lang="en"] .hev .tx b,html[lang="en"] .hte b,html[lang="en"] .card b{font-size:21px;line-height:28px}
html[lang="en"] .hev .tx small,html[lang="en"] .hte small,html[lang="en"] .card small{line-height:24px}
html[lang="en"] .body{max-width:66ch}
html[lang="en"] .body p{font-size:18px;line-height:31px}
html[lang="en"] .body h2.sess{font-size:25px;line-height:34px}
html[lang="en"] .body h3.sub{font-size:17px;line-height:25px}
html[lang="en"] .eyebrow{letter-spacing:.02em}

@media (max-width:760px){
  .wrap{padding-left:22px;padding-right:22px}
  .hero h1{font-size:34px;line-height:46px}
  html[lang="en"] .hero h1{font-size:36px;line-height:42px}
  .hero .tag{font-size:19px}
  .article h1{font-size:30px;line-height:42px}
  html[lang="en"] .article h1{font-size:32px;line-height:40px}
  .sec h1,.sec h2{font-size:26px;line-height:36px}
  .body p{font-size:17px;line-height:32px}
  html[lang="en"] .body p{font-size:17px;line-height:29px}
  .hev .tx b,.hte b,.card b{font-size:18px;line-height:27px}
}
b,strong{font-weight:600}

/* ---- 審查修正（2026-10-24）：放在最後，才不會被前面同名規則蓋掉 ---- */
.btn{font-family:var(--sans);line-height:1.5}            /* 內文裡的按鈕不要繼承襯線字 */
html[lang="en"] .body{max-width:38em}                   /* 18px 襯線字下約 66 字元 */
.body h3.label{font:600 16px/24px var(--sans);color:var(--ink);letter-spacing:.04em}
.hrc b{font-size:20px;line-height:30px}
@media (max-width:860px){ .hero .ph{max-width:none;justify-self:stretch} }
@media (max-width:760px){
  /* 日期欄：寬度跟著日期走，最少 88px，不壓到分隔線 */
  .hev{grid-template-columns:auto minmax(0,1fr);column-gap:14px}
  .hev .dt{min-width:88px;padding-right:12px}
  .hev .dt b{font-size:17px;line-height:1.3}
  .hrc b{font-size:18px;line-height:27px}
  html[lang="en"] .sec h1,html[lang="en"] .sec h2{font-size:26px;line-height:34px}
  html[lang="en"] .hev .tx b,html[lang="en"] .hte b,html[lang="en"] .card b{font-size:19px;line-height:26px}
  .logo small{font-size:10px;letter-spacing:.08em}
}
.logo{white-space:nowrap}
@media (max-width:760px){
  .logo{font-size:18px}
  html[lang="en"] .logo{font-size:15px;white-space:normal;max-width:170px}
}
@media (max-width:760px){ .logo small{display:none} }   /* 手機頂欄只放站名，第二語言副標拿掉才放得下語言切換與選單 */
/* 回顧照片列（手機橫向滑動）：只能左右動，不做上移的淡入動畫，免得上下滑頁面時卡片跟著晃 */
.hrcs .rv{transform:none !important;transition:opacity .5s ease}
@media (max-width:760px){
  .hrcs{overflow-y:hidden;overscroll-behavior-x:contain;touch-action:pan-x pan-y;align-items:flex-start}
}

/* 回到最上面（site.js 產生）：右下角小圓鈕，往下捲超過一個畫面才出現 */
.to-top{position:fixed;right:18px;bottom:22px;z-index:50;width:44px;height:44px;border-radius:50%;border:1px solid var(--line);
  background:#fff;color:var(--robe);font:600 20px/1 var(--sans);cursor:pointer;box-shadow:0 4px 14px rgba(60,30,20,.14);
  opacity:0;visibility:hidden;transform:translateY(10px);transition:opacity .3s ease,transform .3s ease,visibility .3s}
.to-top.show{opacity:1;visibility:visible;transform:none}
.to-top:hover{background:var(--robe);color:#fff}
.to-top:focus-visible{outline:3px solid var(--gold);outline-offset:3px}
@media print{.to-top{display:none}}
