/* ══════════════════════════════════════════════════════════════
   2025 年終報告 · 本期專用零件
   ──────────────────────────────────────────────────────────────
   視覺主體沿用 ../assets/deck.css（2026 年中報告視覺）。
   這裡只補「年終報告才有、年中沒有」的版型零件：
   四季象限、照片馬賽克、六宮甜甜圈、折線圖、100% 堆疊條、
   雙圓交集、循環圖、心智圖、樹狀圖、KPI 卡、語言切換。
   一律沿用 deck.css 的色票變數與圓角／陰影規格，不另立一套。
   ══════════════════════════════════════════════════════════════ */

/* ── 語言切換（三語簡報唯一新增的控制項）──────────────────── */
#ctl .lang{display:inline-flex;gap:2px;background:rgba(255,255,255,.10);border-radius:980px;
  padding:3px;margin-right:6px;}
#ctl .lang button{padding:6px 12px;font-size:12.5px;background:transparent;}
#ctl .lang button.on{background:#fff;color:#0B2233;}
#ctl button.ppt{background:var(--yellow);color:#0B2233;}
#ctl button.ppt:hover{background:#FFE873;}

/* 日文版換成日文字形（漢字字形與中文不同，混用會露餡）。
   英文版讓拉丁字走 Inter，行距略收，避免英文比中文長一截撐破版面。 */
#frame[data-lang="ja"]{
  --font-body:'Noto Sans JP','Hiragino Sans','Yu Gothic',-apple-system,sans-serif;
  --font-display:'Noto Sans JP','Hiragino Sans','Yu Gothic',-apple-system,sans-serif;}
#frame[data-lang="en"]{
  --font-body:'Inter',-apple-system,'Helvetica Neue',sans-serif;
  --font-display:'Inter',-apple-system,'Helvetica Neue',sans-serif;}
#frame[data-lang="en"] .slide p{line-height:1.62;}
#frame[data-lang="en"] .slide h1,#frame[data-lang="en"] .slide h2{letter-spacing:-.02em;}
#frame[data-lang="en"] .slide h2{font-size:41px;}
#frame[data-lang="en"] .slide .ul li{line-height:1.6;}
#frame[data-lang="ja"] .slide h2{font-size:40px;}
#frame[data-lang="ja"] .slide h1{font-size:56px;}
#frame[data-lang="ja"] .slide.divider h1{font-size:52px;}

/* ── 四季象限（p4 全年課程地圖）─────────────────────────────
   兩軸四格，中央十字線。每格＝一季，格內是該季的活動膠囊。 */
.quad{position:relative;display:grid;grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr;
  gap:14px;margin-top:14px;flex:1;min-height:0;}
.quad .q{position:relative;border-radius:20px;padding:16px 20px 14px;display:flex;flex-direction:column;
  border:1px solid var(--line);box-shadow:0 8px 22px rgba(3,38,57,.05);}
.quad .q .sn{font-family:var(--font-en);font-size:11.5px;font-weight:800;letter-spacing:.16em;
  text-transform:uppercase;opacity:.7;}
.quad .q h3{font-size:21px;margin-top:1px;}
.quad .q .sub{font-size:13px;color:var(--ink-3);line-height:1.5;margin-top:2px;}
.quad .q .caps{display:flex;flex-wrap:wrap;gap:7px;margin-top:10px;}
.quad .q .caps span{background:rgba(255,255,255,.86);border-radius:980px;padding:5px 13px;
  font-size:13.5px;font-weight:700;color:var(--ink);line-height:1.35;}
.quad .q1{background:#F1F9EC;} .quad .q1 h3,.quad .q1 .sn{color:#3E9114;}
.quad .q2{background:#FFF6EE;} .quad .q2 h3,.quad .q2 .sn{color:#E8690B;}
.quad .q3{background:#FFFCEA;} .quad .q3 h3,.quad .q3 .sn{color:#B08600;}
.quad .q4{background:#F1F6FF;} .quad .q4 h3,.quad .q4 .sn{color:#2F6BD8;}

/* ── 照片馬賽克（p5–p8、p53 花絮）───────────────────────────
   deck.css 的 .ph 是四格等寬；花絮頁照片數量與比例不一，
   改用可指定跨欄跨列的 12 欄格線，讓一張主照＋數張輔照有主次。 */
.phm{display:grid;grid-template-columns:repeat(12,1fr);grid-auto-rows:1fr;gap:11px;
  margin-top:14px;flex:1;min-height:0;}
.phm .f{border-radius:16px;overflow:hidden;position:relative;background:var(--bg-soft);
  box-shadow:0 8px 22px rgba(3,38,57,.07);}
.phm .f img{width:100%;height:100%;object-fit:cover;display:block;}
.phm .f .cap{position:absolute;left:0;right:0;bottom:0;padding:22px 12px 9px;color:#fff;
  font-size:13px;font-weight:700;line-height:1.35;text-shadow:0 1px 3px rgba(3,38,57,.55);
  background:linear-gradient(transparent,rgba(3,38,57,.8));}

/* ── 甜甜圈九宮格（p19 各企業壓力分佈）──────────────────── */
.dgrid{display:grid;grid-template-columns:repeat(6,1fr);gap:12px;margin-top:14px;}
.dgrid .d{text-align:center;}
.dgrid .d svg{width:100%;max-width:132px;height:auto;display:block;margin:0 auto;}
.dgrid .d .ct{font-family:var(--font-en);font-size:30px;font-weight:800;fill:var(--orange-dark);}
.dgrid .d .cs{font-size:11px;fill:var(--ink-4);font-family:var(--font-body);}
.dgrid .d .cap{font-size:15px;font-weight:700;color:var(--blue-dark);margin-top:8px;line-height:1.35;}
.dgrid .d .sub{font-size:11.5px;color:var(--ink-4);margin-top:2px;}
.dgrid .d.all .cap{color:var(--orange-dark);}

/* ── 折線圖（p21 幸福感／p22 優勢力／p24 職級）─────────────
   純 SVG，資料點與圖例都在 HTML 裡，字仍可被 PPT 匯出抓成文字。 */
.lchart{margin-top:10px;position:relative;}
.lchart svg{width:100%;height:auto;display:block;}
.lchart .gl{stroke:rgba(20,34,56,.09);stroke-width:1;}
.lchart .ax{font-family:var(--font-en);font-size:11px;fill:var(--ink-4);}
.lchart .xl{font-size:12.5px;fill:var(--blue-dark);font-weight:700;font-family:var(--font-body);}
.lchart .dot{stroke:#fff;stroke-width:1.6;}
.lchart .ln{fill:none;stroke-width:2.4;stroke-linejoin:round;stroke-linecap:round;}

/* ── 100% 堆疊條（p32 五集團特質分佈）─────────────────────── */
.stk{margin-top:16px;}
.stk .r{display:grid;grid-template-columns:118px 1fr;align-items:center;gap:14px;margin-bottom:10px;}
.stk .r .k{font-size:16px;font-weight:700;color:var(--blue-dark);text-align:right;line-height:1.3;}
.stk .r .k em{display:block;font-style:normal;font-size:11.5px;font-weight:600;color:var(--ink-4);}
.stk .tr{display:flex;height:36px;border-radius:3px;overflow:hidden;background:var(--bg-soft);}
.stk .tr i{display:block;position:relative;animation:grow 1s var(--ease-out) both;}
.stk .tr i span{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;
  font-family:var(--font-en);font-size:13.5px;font-weight:800;font-style:normal;color:#fff;}
.stk .tr i.k1{background:#2F6BD8;} .stk .tr i.k2{background:#E8690B;}
.stk .tr i.k3{background:#4CAF19;} .stk .tr i.k4{background:#7A6FF0;}
.stk .tr i.k5{background:#9AA3B0;}
.stk .r.mark .tr{outline:2.5px solid #E0453C;outline-offset:2px;border-radius:3px;}

/* ── 雙圓交集（p40–p42 賦能與餘裕）────────────────────────── */
.venn{display:flex;align-items:center;justify-content:center;gap:0;margin-top:6px;flex:1;min-height:0;}
.venn .c{width:290px;height:290px;border-radius:50%;display:flex;flex-direction:column;
  align-items:center;justify-content:center;text-align:center;padding:34px;color:#fff;}
.venn .c .t{font-family:var(--font-en);font-size:12px;font-weight:800;letter-spacing:.16em;
  text-transform:uppercase;opacity:.78;}
.venn .c h3{font-size:27px;color:#fff;margin-top:5px;line-height:1.35;}
.venn .c p{font-size:15px;color:rgba(255,255,255,.9);line-height:1.6;margin-top:7px;}
.venn .c.b{background:#2F6BD8;} .venn .c.y{background:#E8A400;}
.venn .c.g{background:#4CAF19;} .venn .c.p{background:#6C63E0;}
.venn .c.n{background:#fff;color:var(--ink);border:2px solid var(--line-2,rgba(20,34,56,.13));}
.venn .c.n h3{color:var(--blue-dark);} .venn .c.n p{color:var(--ink-2);}
.venn .c + .c{margin-left:-46px;mix-blend-mode:multiply;}
.venn .plus{font-family:var(--font-en);font-size:34px;font-weight:800;color:var(--ink-4);
  margin:0 22px;flex:none;}

/* ── 循環圖（p51 由上而下的支持循環）──────────────────────── */
.cyc{display:flex;align-items:center;justify-content:center;gap:16px;margin-top:14px;flex:1;min-height:0;}
.cyc .n{flex:1;max-width:250px;background:#fff;border:1px solid var(--line);border-radius:22px;
  padding:22px 20px;text-align:center;box-shadow:0 10px 26px rgba(3,38,57,.07);position:relative;}
.cyc .n::before{content:'';position:absolute;left:20px;right:20px;top:0;height:4px;background:var(--blue);}
.cyc .n.o::before{background:var(--orange);} .cyc .n.g::before{background:var(--green);}
.cyc .n .i{font-family:var(--font-en);font-size:12px;font-weight:800;letter-spacing:.15em;
  color:var(--ink-4);text-transform:uppercase;}
.cyc .n h3{font-size:23px;margin-top:5px;}
.cyc .n p{font-size:14.5px;line-height:1.65;margin-top:7px;}
.cyc .ar{font-family:var(--font-en);font-size:27px;font-weight:800;color:var(--blue-soft);flex:none;}

/* ── 心智圖（p55 點狀→網狀覆蓋）───────────────────────────── */
.mind{display:flex;align-items:center;gap:26px;margin-top:14px;flex:1;min-height:0;}
.mind .hub{flex:none;width:196px;background:var(--dark);color:#fff;border-radius:24px;
  padding:26px 20px;text-align:center;box-shadow:0 16px 38px rgba(3,38,57,.25);}
.mind .hub .t{font-family:var(--font-en);font-size:11.5px;font-weight:800;letter-spacing:.16em;
  color:var(--yellow);text-transform:uppercase;}
.mind .hub h3{font-size:24px;color:#fff;margin-top:6px;line-height:1.35;}
.mind .hub p{font-size:13.5px;color:rgba(255,255,255,.76);margin-top:8px;line-height:1.6;}
.mind .br{flex:1;display:grid;grid-template-columns:1fr 1fr;gap:12px;}
.mind .br .b{background:#fff;border:1px solid var(--line);border-radius:18px;padding:14px 18px 13px;
  box-shadow:0 8px 22px rgba(3,38,57,.06);position:relative;}
.mind .br .b::before{content:'';position:absolute;left:18px;right:18px;top:0;height:3px;background:var(--sec,var(--blue));}
.mind .br .b h4{font-family:var(--font-display);font-size:18px;font-weight:700;color:var(--blue-dark);line-height:1.35;}
.mind .br .b p{font-size:13.5px;line-height:1.6;margin-top:5px;}

/* ── 樹狀分佈（p38 員工關注議題與收穫）────────────────────── */
.tmap{display:flex;gap:14px;margin-top:14px;flex:1;min-height:0;}
.tmap .col{flex:1;display:flex;flex-direction:column;}
.tmap .col .h{font-size:17px;font-weight:700;color:var(--blue-dark);margin-bottom:8px;line-height:1.35;}
.tmap .col .h em{display:block;font-style:normal;font-size:12px;font-weight:600;color:var(--ink-4);margin-top:2px;}
.tmap .col .bx{flex:1;display:flex;flex-direction:column;gap:5px;}
.tmap .col .bx i{display:flex;align-items:center;justify-content:space-between;gap:8px;
  border-radius:9px;padding:0 13px;font-style:normal;font-size:14.5px;font-weight:700;color:#fff;
  line-height:1.3;overflow:hidden;}
.tmap .col .bx i b{font-family:var(--font-en);font-size:14px;font-weight:800;opacity:.85;flex:none;}
.tmap .c1 .bx i{background:#2F6BD8;} .tmap .c1 .bx i:nth-child(2){background:#4A82E0;}
.tmap .c1 .bx i:nth-child(3){background:#7CA6EA;} .tmap .c1 .bx i:nth-child(4){background:#A6C4F1;color:#1A3A66;}
.tmap .c1 .bx i:nth-child(5){background:#C6D9F6;color:#1A3A66;}
.tmap .c2 .bx i{background:#E8690B;} .tmap .c2 .bx i:nth-child(2){background:#F0863A;}
.tmap .c2 .bx i:nth-child(3){background:#F6A76B;} .tmap .c2 .bx i:nth-child(4){background:#FBC79E;color:#7A3800;}
.tmap .c2 .bx i:nth-child(5){background:#FDE0C8;color:#7A3800;}
.tmap .c3 .bx i{background:#3E9114;} .tmap .c3 .bx i:nth-child(2){background:#63AC38;}
.tmap .c3 .bx i:nth-child(3){background:#8CC468;} .tmap .c3 .bx i:nth-child(4){background:#B4DA9B;color:#2A5E0C;}
.tmap .c3 .bx i:nth-child(5){background:#D6ECC7;color:#2A5E0C;}

/* ── KPI 卡（p48 離職率與好感度）──────────────────────────── */
.kpi{display:grid;grid-template-columns:repeat(4,1fr);gap:13px;margin-top:16px;}
.kpi .k{background:#fff;border:1px solid var(--line);border-radius:18px;padding:18px 16px 16px;
  box-shadow:0 10px 26px rgba(3,38,57,.06);position:relative;}
.kpi .k::before{content:'';position:absolute;left:16px;right:16px;top:0;height:4px;background:var(--green);}
.kpi .k.w::before{background:var(--orange);}
.kpi .k .l{font-size:14.5px;font-weight:700;color:var(--ink);line-height:1.4;min-height:40px;}
.kpi .k .n{font-family:var(--font-en);font-size:40px;font-weight:800;color:var(--green);
  line-height:1;margin-top:6px;letter-spacing:-.02em;}
.kpi .k .n em{font-style:normal;font-size:19px;margin-left:2px;}
.kpi .k .fromto{font-size:13px;color:var(--ink-4);margin-top:8px;font-family:var(--font-en);font-weight:700;}
.kpi .k .fromto s{text-decoration:none;color:var(--ink-3);}
.kpi .k .fromto b{color:var(--blue-dark);}

/* ── 大數字對照（p49 人資價值）────────────────────────────── */
.calc{display:flex;align-items:center;gap:14px;margin-top:18px;flex-wrap:wrap;}
.calc .u{background:#fff;border:1px solid var(--line);border-radius:16px;padding:13px 20px;text-align:center;
  box-shadow:0 8px 20px rgba(3,38,57,.05);}
.calc .u .n{font-family:var(--font-en);font-size:26px;font-weight:800;color:var(--blue-dark);line-height:1;}
.calc .u .l{font-size:12.5px;color:var(--ink-4);margin-top:5px;line-height:1.4;}
.calc .op{font-family:var(--font-en);font-size:22px;font-weight:800;color:var(--ink-4);}
.calc .u.res{background:var(--dark);border-color:var(--dark);}
.calc .u.res .n{color:var(--yellow);font-size:32px;} .calc .u.res .l{color:rgba(255,255,255,.72);}

/* ── 公司膠囊（p34/p36 各子集團）──────────────────────────── */
.co{display:inline-block;border-radius:8px;padding:3px 11px;font-family:var(--font-en);
  font-size:13px;font-weight:800;letter-spacing:.03em;line-height:1.5;white-space:nowrap;}
.co.mdcg{background:#EAF1FC;color:#1F4E9E;} .co.ucg{background:#FFF1E0;color:#B45C00;}
.co.htm{background:#EDF8FB;color:#0E7490;} .co.pilot{background:#F1EFFE;color:#4E45B8;}
.co.kypo{background:#F1F9EC;color:#2F7A0F;}

/* ── 排行清單（p10 活動期待）──────────────────────────────── */
.rank{margin-top:14px;}
.rank .r{display:grid;grid-template-columns:26px 1fr auto;align-items:center;gap:11px;
  padding:9px 0;border-bottom:1px solid var(--line);}
.rank .r:last-child{border-bottom:none;}
.rank .r .i{font-family:var(--font-en);font-size:14px;font-weight:800;color:var(--orange);}
.rank .r .k{font-size:16.5px;font-weight:700;color:var(--blue-dark);line-height:1.35;}
.rank .r .k em{display:block;font-style:normal;font-size:11.5px;font-weight:600;color:var(--ink-4);}
.rank .r .v{font-family:var(--font-en);font-size:20px;font-weight:800;color:var(--blue-dark);}

/* ── 引言小卡（p11 HR 訪談）──────────────────────────────── */
.qs{display:flex;gap:12px;margin-top:14px;}
.qs .q{flex:1;background:var(--bg-soft);border-radius:16px;padding:15px 18px;position:relative;}
.qs .q::before{content:'“';position:absolute;left:13px;top:-2px;font-family:var(--font-en);
  font-size:38px;font-weight:800;color:var(--blue-soft);line-height:1;}
.qs .q p{font-size:15px;line-height:1.65;color:var(--ink-2);padding-left:16px;}
.qs .q .who{font-size:12px;color:var(--ink-4);margin-top:7px;padding-left:16px;font-weight:700;}

/* ── 報告書樣張標註（p15）─────────────────────────────────── */
.spec{display:flex;gap:20px;margin-top:14px;flex:1;min-height:0;align-items:stretch;}
.spec .pv{flex:none;width:300px;border-radius:18px;background:var(--bg-soft);
  border:1px solid var(--line);display:flex;flex-direction:column;padding:20px 22px;gap:9px;}
.spec .pv .ln{height:9px;border-radius:3px;background:var(--blue-soft);}
.spec .pv .ln.s{width:56%;} .spec .pv .ln.m{width:78%;}
.spec .pv .blk{flex:1;border-radius:10px;background:#fff;border:1px solid var(--line);}
.spec .an{flex:1;display:grid;grid-template-columns:1fr 1fr;gap:12px;}
.spec .an .a{background:#fff;border:1px solid var(--line);border-radius:16px;padding:14px 16px;
  box-shadow:0 8px 20px rgba(3,38,57,.05);position:relative;padding-left:48px;}
.spec .an .a .n{position:absolute;left:15px;top:14px;width:23px;height:23px;border-radius:50%;
  background:var(--blue);color:#fff;font-family:var(--font-en);font-size:12.5px;font-weight:800;
  display:flex;align-items:center;justify-content:center;}
.spec .an .a h4{font-family:var(--font-display);font-size:17.5px;font-weight:700;color:var(--blue-dark);line-height:1.35;}
.spec .an .a p{font-size:13.5px;line-height:1.6;margin-top:4px;}

/* ── 兩欄主體（左圖右文）──────────────────────────────────── */
.two{display:flex;gap:26px;margin-top:16px;flex:1;min-height:0;align-items:stretch;}
.two>.l{flex:1.15;min-width:0;display:flex;flex-direction:column;justify-content:center;}
.two>.r{flex:1;min-width:0;display:flex;flex-direction:column;justify-content:center;}
.two.w6>.l{flex:1;} .two.w6>.r{flex:1;}

/* 章節內小標尺（取代大量色塊，維持白底規範）*/
.rule2{width:74px;height:5px;background:var(--sec,var(--blue));margin:2px 0 14px;}

/* 密集頁再收一階：年終報告資訊量比年中大，個別頁需要 */
.slide.tight{padding:44px 66px;}
.slide.tight h2{font-size:36px;margin-bottom:6px;}
.slide.tight .eyebrow{margin-bottom:11px;}
.slide.tight p{font-size:17px;line-height:1.7;}
.slide.tight .box p{font-size:14.5px;line-height:1.65;}
.slide.tight .box h3{font-size:19px;}
.slide.tight .note{font-size:12.5px;margin-top:11px;}
.slide.tight .tb.xs{font-size:13px;}

/* ── 小標籤群（量表題項、分析切面）───────────────────────── */
.chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:9px;}
.chips span{background:var(--bg-soft);border-radius:980px;padding:4px 11px;
  font-size:13px;font-weight:600;color:var(--ink-2);white-space:nowrap;}
.chips.o span{background:#FFF1E0;color:#B45C00;}
.chips.g span{background:#EFF8E8;color:#2F7A0F;}
.chips.b span{background:var(--blue-pale);color:var(--blue-dark);}

/* ── 排序表（性別／職級差異：M>U>H 這種序列）──────────────── */
.tb.ord td{font-family:var(--font-en);font-size:14.5px;letter-spacing:.03em;}
.tb.ord td:first-child{font-family:var(--font-body);font-size:14px;}
.tb .hi{color:#C1352A;font-weight:800;}
.tb tr td.ns{background:#FFF8CE;}
.tb.num-r td{font-family:var(--font-en);font-variant-numeric:tabular-nums;text-align:right;}
.tb.num-r td:first-child{font-family:var(--font-body);text-align:left;}

/* 折線圖旁的資料標籤（優勢力九條線需要）*/
.lchart .vl{font-family:var(--font-en);font-size:10px;font-weight:700;fill:var(--ink-3);}
/* 圖上圈註（原稿用紅圈標示重點）*/
.lchart .mk{fill:none;stroke:#E0453C;stroke-width:2;}

/* ── 已交代過的區塊淡出（p29 章節中段回顧）───────────────── */
.box.dim{opacity:.4;box-shadow:none;background:var(--bg-soft);}

/* ── 類群對照表：左類群、右特質標籤（p31）─────────────────── */
.tb td .chips{margin-top:0;}
.tb.map td:first-child{width:126px;font-weight:700;color:var(--blue-dark);
  font-size:16px;vertical-align:middle;}
.tb.map td{padding-top:11px;padding-bottom:11px;vertical-align:middle;}

/* ── 共同核心特質（p33）───────────────────────────────────── */
.core{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:14px;}
.core .c{background:#F1F9EC;border-radius:18px;padding:22px 20px;text-align:center;}
.core .c h3{font-size:25px;color:#2F7A0F;line-height:1.3;}
.core .c p{font-size:13px;color:var(--ink-3);margin-top:6px;line-height:1.5;}

/* ── 議題清單（p36 各子集團需關注議題）────────────────────── */
.issue{margin-top:16px;}
.issue .r{display:grid;grid-template-columns:172px 1fr;align-items:center;gap:20px;
  padding:15px 0;border-bottom:1px solid var(--line);}
.issue .r:last-child{border-bottom:none;}
.issue .r .k{text-align:right;}
.issue .r .v{font-size:19.5px;font-weight:700;color:var(--blue-dark);line-height:1.45;}
.issue .r .v em{display:block;font-style:normal;font-size:13.5px;font-weight:600;
  color:var(--ink-4);margin-top:3px;}

/* ── 主張大卡（p41 / p45）─────────────────────────────────── */
.stmt{display:flex;gap:18px;margin-top:18px;flex:1;min-height:0;align-items:stretch;}
.stmt .c{flex:1;background:#fff;border:1px solid var(--line);border-radius:24px;
  padding:30px 34px;display:flex;flex-direction:column;justify-content:center;
  box-shadow:0 14px 34px rgba(3,38,57,.07);position:relative;}
.stmt .c::before{content:'';position:absolute;left:34px;right:34px;top:0;height:5px;
  background:var(--sec,var(--blue));}
.stmt .c .t{font-family:var(--font-en);font-size:12px;font-weight:800;letter-spacing:.16em;
  color:var(--ink-4);text-transform:uppercase;}
.stmt .c h3{font-size:29px;line-height:1.45;margin-top:10px;text-wrap:balance;}
.stmt .c p{font-size:16px;line-height:1.7;margin-top:10px;}
.stmt .c.dark{background:var(--dark);border-color:var(--dark);}
.stmt .c.dark h3{color:#fff;} .stmt .c.dark p{color:rgba(255,255,255,.8);}
.stmt .c.dark .t{color:var(--yellow);}

/* ── 研究引用卡（p43 / p44）───────────────────────────────── */
.rc{margin-top:auto;padding-top:14px;}
.rc .cite{display:flex;gap:12px;align-items:flex-start;padding:8px 0;border-top:1px solid var(--line);}
.rc .cite .y{font-family:var(--font-en);font-size:13px;font-weight:800;color:var(--ink-4);
  flex:none;min-width:40px;}
.rc .cite .t{font-size:13.5px;line-height:1.6;color:var(--ink-3);}

/* ── KPI 卡的補件（p48）：徽章、雙欄小指標、前後對調 ─────────── */
.kpi .k .bdg{display:inline-block;margin-top:9px;padding:4px 10px;border-radius:999px;
  background:#EDF7E7;color:#2F7A0F;font-size:12px;font-weight:700;line-height:1.4;}
.kpi .k.w .bdg{background:#FDF0E2;color:#B85A05;}
.kpi .k .duo{margin-top:10px;display:grid;gap:11px;}
.kpi .k .duo .d .lb{font-size:12.5px;color:var(--ink-4);font-weight:700;line-height:1.4;}
.kpi .k .duo .d .v{font-family:var(--font-en);font-size:27px;font-weight:800;color:var(--orange);
  line-height:1.1;margin-top:2px;}
.kpi .k .duo .d .v em{font-style:normal;font-size:14px;margin-left:2px;}
.kpi .k .duo .d .bar{height:6px;border-radius:4px;background:var(--bg-soft);margin-top:5px;overflow:hidden;}
.kpi .k .duo .d .bar i{display:block;height:100%;border-radius:4px;background:var(--orange);}
.kpi .k .swap{margin-top:12px;display:flex;align-items:center;gap:9px;}
.kpi .k .swap .s1,.kpi .k .swap .s2{flex:1;text-align:center;border-radius:12px;padding:11px 6px;}
.kpi .k .swap .s1{background:var(--bg-soft);}
.kpi .k .swap .s2{background:#EDF7E7;}
.kpi .k .swap .yr{font-family:var(--font-en);font-size:11.5px;font-weight:800;color:var(--ink-4);letter-spacing:.06em;}
.kpi .k .swap .w{font-size:17px;font-weight:700;color:var(--ink-3);margin-top:3px;line-height:1.3;}
.kpi .k .swap .s2 .w{color:#2F7A0F;}
.kpi .k .swap .ar{font-family:var(--font-en);font-size:18px;font-weight:800;color:var(--blue-soft);flex:none;}

/* ── 由上而下的支持結構（p51）──────────────────────────────── */
.flow3{flex:1;min-height:0;display:flex;flex-direction:column;align-items:center;
  justify-content:center;gap:12px;margin-top:8px;}
.flow3 .cap{width:210px;text-align:center;padding:16px 12px;border-radius:999px;
  background:var(--dark);color:#fff;}
.flow3 .cap .t{font-family:var(--font-en);font-size:10.5px;font-weight:800;letter-spacing:.16em;
  color:var(--yellow);text-transform:uppercase;}
.flow3 .cap h3{font-size:20px;color:#fff;margin-top:2px;line-height:1.3;}
.flow3 .cap.out{background:linear-gradient(135deg,#1E9CC0,#3E9114);}
.flow3 .cap.out .t{color:rgba(255,255,255,.85);}
.flow3 .mid{display:grid;grid-template-columns:1fr 168px 1fr;align-items:center;gap:14px;width:100%;}
.flow3 .lane{display:flex;align-items:center;gap:12px;}
.flow3 .lane.r{flex-direction:row-reverse;}
.flow3 .lane .step{flex:none;text-align:center;}
.flow3 .lane .step .a{font-size:12.5px;font-weight:700;color:var(--ink-4);line-height:1.4;}
.flow3 .lane .step .b{font-family:var(--font-display);font-size:24px;font-weight:800;
  color:var(--blue-dark);line-height:1.2;margin-top:2px;}
.flow3 .lane .step .b.g{color:#2F7A0F;}
.flow3 .lane .bx{flex:1;border:2px solid var(--blue-dark);border-radius:18px;padding:14px 14px;text-align:center;background:#fff;}
.flow3 .lane .bx.y{border-color:var(--yellow);}
.flow3 .lane .bx h4{font-size:19px;color:var(--blue-dark);line-height:1.3;}
.flow3 .lane .bx .en{font-family:var(--font-en);font-size:11.5px;font-weight:800;letter-spacing:.09em;
  color:var(--ink-4);margin-top:3px;}
.flow3 .tri{text-align:center;}
.flow3 .tri .s{font-size:12.5px;font-weight:700;color:var(--ink-4);line-height:1.4;}
.flow3 .tri .l{font-family:var(--font-display);font-size:26px;font-weight:800;color:var(--blue-dark);
  line-height:1.2;margin-top:3px;}

/* ── 標籤式大字（p54 品牌視覺）────────────────────────────── */
.hash{flex:1;min-height:0;display:flex;align-items:center;justify-content:center;gap:22px;flex-wrap:wrap;}
.hash .h{padding:26px 34px;border-radius:26px;background:#fff;border:1px solid var(--line);
  box-shadow:0 14px 34px rgba(3,38,57,.07);text-align:center;min-width:212px;}
.hash .h .t{font-family:var(--font-en);font-size:38px;font-weight:800;color:var(--sec,var(--blue));line-height:1;}
.hash .h h3{font-size:29px;margin-top:8px;}
.hash .h p{font-size:14px;line-height:1.6;margin-top:7px;}

/* ── 點狀 → 網狀（p55 服務量能）──────────────────────────── */
.evo{display:grid;grid-template-columns:1fr 40px 1.15fr;align-items:stretch;gap:10px;margin-top:0;}
.evo .ar{align-self:center;font-family:var(--font-en);font-size:26px;font-weight:800;color:var(--blue-soft);text-align:center;}
.evo .col{background:#fff;border:1px solid var(--line);border-radius:20px;padding:16px 18px;
  display:flex;flex-direction:column;gap:10px;}
.evo .col.now{background:var(--bg-soft);}
.evo .col .hd{display:flex;align-items:baseline;gap:9px;}
.evo .col .hd .y{font-family:var(--font-en);font-size:21px;font-weight:800;color:var(--blue-dark);}
.evo .col .hd .m{font-size:15px;font-weight:700;color:var(--ink-3);}
.evo .col .g .k{font-family:var(--font-en);font-size:11px;font-weight:800;letter-spacing:.14em;
  color:var(--ink-4);text-transform:uppercase;}
.evo .col .g .v{font-size:13.5px;line-height:1.72;color:var(--ink-3);margin-top:3px;}
.evo .col .g .v b{color:var(--blue-dark);font-weight:700;}
.evo .col .g .v u{text-decoration:none;color:#2F7A0F;font-weight:700;}

/* ── 三年計畫的收尾對圈（p57）──────────────────────────── */
.pair2{display:flex;align-items:center;}
.pair2 .c{width:126px;height:126px;border-radius:50%;display:flex;flex-direction:column;
  align-items:center;justify-content:center;color:#fff;font-weight:800;font-size:21px;line-height:1.25;}
.pair2 .c.b{background:#4C6BE0;}
.pair2 .c.y{background:var(--yellow);margin-left:-26px;}

/* ── 匯出 PPT 的等待遮罩 ──────────────────────────────────── */
#pptMask{position:fixed;inset:0;z-index:99999;background:rgba(3,38,57,.86);
  display:flex;align-items:center;justify-content:center;backdrop-filter:blur(6px);}
#pptMask .bx{width:min(420px,86vw);background:#fff;border-radius:22px;padding:30px 32px 26px;
  text-align:center;box-shadow:0 30px 80px rgba(0,0,0,.4);}
#pptMask .sp{width:34px;height:34px;margin:0 auto 14px;border-radius:50%;
  border:3px solid var(--blue-soft);border-top-color:var(--blue);animation:pptSpin .9s linear infinite;}
@keyframes pptSpin{to{transform:rotate(360deg);}}
#pptMask .ti{font-family:var(--font-display);font-size:19px;font-weight:700;color:var(--blue-dark);}
#pptMask .su{font-size:14px;color:var(--ink-3);margin-top:6px;}
#pptMask .ba{height:6px;border-radius:4px;background:var(--bg-soft);margin-top:14px;overflow:hidden;}
#pptMask .ba i{display:block;height:100%;width:0;border-radius:4px;background:var(--blue);
  transition:width .25s ease;}
#pptMask .tp{font-size:12.5px;color:var(--ink-4);margin-top:12px;line-height:1.6;}

/* ── 讓標題固定在頁首、內容在剩下的空間裡置中 ─────────────────
   .slide 本身是 justify-content:center，整組會一起浮到中間；
   內容區包一層 .grow 就能把標題釘在上緣、內容自己置中，全份保持一致。 */
.grow{flex:1;min-height:0;display:flex;flex-direction:column;justify-content:center;}

/* ── 換算式（p49）：五個單元排成一列，不換行 ──────────────── */
.calc.row5{gap:10px;flex-wrap:nowrap;align-items:stretch;}
.calc.row5 .u{flex:1;min-width:0;padding:14px 12px;display:flex;flex-direction:column;justify-content:center;}
.calc.row5 .op{flex:none;align-self:center;}
.calc .u .n i{font-style:normal;font-size:16px;margin-left:1px;}
.calc .u .l em{display:block;font-style:normal;font-size:11.5px;line-height:1.45;
  color:var(--ink-4);opacity:.86;margin-top:3px;}
.calc .u.res .l em{color:rgba(255,255,255,.6);}
/* 深色引言塊裡的字要是白的：.slide p 的權重比 .quote 高，所以指定到 p */
.quote > p{color:#fff;}

/* ── 由上而下（p51）：把三層之間的縫補成一條線 ─────────────── */
.flow3 .cap{position:relative;}
.flow3 .cap::after{content:'';position:absolute;left:50%;top:100%;width:2px;height:12px;
  margin-left:-1px;background:var(--blue-soft);}
.flow3 .cap.out::after{display:none;}
.flow3 .cap.out::before{content:'';position:absolute;left:50%;bottom:100%;width:2px;height:12px;
  margin-left:-1px;background:var(--blue-soft);}

/* ── 服務量能（p55）：卡片內容置中，不要沉在上緣留一大片空 ──── */
.evo .col{justify-content:center;}

/* ── 三年計畫（p57）：對圈改置中收尾，避開右下角的裝飾 ───────── */
.pair2{margin-top:38px;justify-content:center;}

/* ══ 2026-08-24 版面微調（依大寶逐頁指示）══════════════════ */

/* 中文避免孤字：讓瀏覽器把最後一行拉滿，不要只剩一兩個字 */
.slide p, .slide .note, .slide .ul li, .slide .box p{text-wrap:pretty;}

/* p19：六個甜甜圈改成上下各三個，中央 % 縮一階不壓到橘圈 */
.dgrid.g3{grid-template-columns:repeat(3,1fr);gap:18px 34px;margin-top:0;
  align-content:center;flex:1;min-height:0;}
.dgrid.g3 .d svg{max-width:132px;}
.dgrid.g3 .d .ct{font-size:21px;}
.dgrid.g3 .d .cs{font-size:9.5px;}
.dgrid.g3 .d .cap{font-size:15.5px;margin-top:6px;}
.dgrid.g3 .d .sub{font-size:11.5px;}

/* 圓餅圖的顏色圖例（p17）：直接列在圖下方，一行一家 */
.pielg{display:flex;flex-direction:column;gap:5px;margin:11px auto 0;
  align-items:flex-start;width:fit-content;}
.pielg span{display:inline-flex;align-items:center;gap:8px;
  font-size:13px;font-weight:700;color:var(--ink-2);line-height:1.3;}
.pielg i{width:11px;height:11px;border-radius:3px;flex:none;}
.pielg span b{font-family:var(--font-en);font-weight:800;color:var(--blue-dark);margin-left:2px;}

/* 原始報告截圖（p15 / p34 / p55 / p56）：白底卡片包住，維持簡報質感 */
.shot{border-radius:16px;overflow:hidden;background:#fff;border:1px solid var(--line);
  box-shadow:0 12px 30px rgba(3,38,57,.08);display:flex;align-items:center;justify-content:center;}
.shot img{width:100%;height:100%;object-fit:contain;display:block;}
.shot.plain{border:none;box-shadow:none;background:transparent;}


/* p57：品牌目標重點置頂，時間軸在下 */
.goal2{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:12px;}
.goal2 .g{border-radius:20px;padding:18px 22px;display:flex;flex-direction:column;
  justify-content:center;}
.goal2 .g.a{background:var(--blue-pale);}
.goal2 .g.b{background:#FFF1E0;}
.goal2 .g .k{font-family:var(--font-en);font-size:11px;font-weight:800;letter-spacing:.16em;
  text-transform:uppercase;color:var(--ink-4);}
.goal2 .g h3{font-family:var(--font-display);font-size:26px;font-weight:700;line-height:1.3;
  margin-top:4px;}
.goal2 .g.a h3{color:var(--blue-dark);}
.goal2 .g.b h3{color:#B45C00;}
.goal2 .g p{font-size:13.5px;line-height:1.65;color:var(--ink-3);margin-top:6px;}

/* p34：各家 logo 取代色塊標籤 */
.logobar{height:40px;display:flex;align-items:center;}
.logobar img{max-height:40px;max-width:100%;width:auto;height:auto;object-fit:contain;display:block;}
.logorule{width:38px;height:3px;border-radius:2px;margin-top:12px;}
.tchip{display:block;text-align:center;border:1.5px solid var(--blue);border-radius:999px;
  padding:9px 6px;font-size:18px;font-weight:700;color:var(--blue-dark);line-height:1.3;}

/* p54：官網頁面截圖（瀏覽器視窗樣式）＋左側三個關鍵字 */
.wk{border-radius:18px;background:#fff;border:1px solid var(--line);padding:14px 18px;
  box-shadow:0 8px 22px rgba(3,38,57,.05);}
.wk .t{font-family:var(--font-en);font-size:22px;font-weight:800;color:var(--blue);line-height:1;}
.wk h3{font-size:23px;margin-top:5px;color:var(--blue-dark);}
.wk p{font-size:12.5px;line-height:1.6;margin-top:5px;color:var(--ink-3);}
.win{border-radius:11px;overflow:hidden;background:#fff;border:1px solid var(--line);
  box-shadow:0 10px 26px rgba(3,38,57,.10);}
.win .bar{height:15px;background:#E9EEF3;display:flex;align-items:center;gap:4px;padding-left:8px;}
.win .bar i{width:5px;height:5px;border-radius:50%;background:#C3CDD7;flex:none;}
.win img{display:block;width:100%;height:auto;}
.winrow{display:flex;gap:11px;}
.winrow .win{flex:1;min-width:0;}
.wcap{font-size:11.5px;color:var(--ink-4);text-align:right;margin-top:2px;}

/* p56：原簡報附圖（HRV 圖解＋腦波耳機） */
.figb{flex:1;min-height:0;margin-top:14px;display:flex;align-items:flex-end;justify-content:center;}
.figb img{max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;
  border-radius:12px;display:block;}

/* p57：品牌目標置頂、時間軸在下 */
.tlwrap{flex:1;min-height:0;display:flex;align-items:center;}
.tl2{margin-top:0;width:100%;}
.goal2 .g{padding:20px 24px;}
