/**
 * 「關於群英」三頁版面樣式
 *   #3104 創辦理念      .ch-ab-*   敘事：引言 → 章節（章名欄＋內文欄）→ 署名 → 認證
 *   #2992 安心醫療保障   .ch-as-*   條列：開場 → 經驗兩欄 → 深色 2×2 保障項目 → 全方位兩欄
 *   #6060 集團歷程      .ch-tl-*   年表：日期欄＋事件欄，單一時間線
 *
 * post_content 由 tools/about-layout.php 產生（短碼），本檔只負責外觀。
 *
 * 【務必先讀】
 * 1. [vc_custom_heading] 的 el_class 落在「標題元素本身」，所以一律寫
 *    `h2.vc_custom_heading.ch-as-h2`，不可寫成 `.ch-as-h2 .vc_custom_heading`（選不到，且不報錯）。
 * 2. [vc_column el_class] 落在欄位容器 `.wpb_column.vc_column_container`。
 * 3. [vc_single_image el_class] 落在 `.wpb_single_image` 包裹層，<img> 在
 *    `.vc_single_image-wrapper` 之下。
 * 4. [vc_btn el_class] 落在「外層」`.vc_btn3-container`，<a> 自帶 inline background，
 *    顏色由短碼參數給（style="custom" custom_background="#6f2a28"），這裡只補陰影與上浮。
 * 5. 把 .vc_row 當 grid 容器用之前，必須先歸零 js_composer 柵格與 clearfix 偽元素
 *    —— ::before/::after 在 grid 裡會各佔一個儲存格（見本檔第一段）。
 *
 * 寬度一律用 content-premium.css :root 的 --chic-page-max / --chic-reading /
 * --chic-gutter / --chic-block-y，不要再寫死像素。
 */

/* ===================================================================
 * 一、WPBakery 柵格歸零（只針對本檔當成 grid 用的那幾列）
 * =================================================================== */
body:not(.home).chic-inner .vc_row.ch-ab-chapter,
body:not(.home).chic-inner .vc_row.ch-ab-certs,
body:not(.home).chic-inner .vc_row.ch-as-split,
body:not(.home).chic-inner .vc_row.ch-as-sec,
body:not(.home).chic-inner .vc_row.ch-as-grid,
body:not(.home).chic-inner .vc_row.ch-tl-item {
  display: grid;
  margin-left: 0;
  margin-right: 0;
}
body:not(.home).chic-inner .vc_row.ch-ab-chapter > .vc_column_container,
body:not(.home).chic-inner .vc_row.ch-ab-certs > .vc_column_container,
body:not(.home).chic-inner .vc_row.ch-as-split > .vc_column_container,
body:not(.home).chic-inner .vc_row.ch-as-sec > .vc_column_container,
body:not(.home).chic-inner .vc_row.ch-as-grid > .vc_column_container,
body:not(.home).chic-inner .vc_row.ch-tl-item > .vc_column_container {
  float: none;
  width: auto;
  padding: 0;
  min-width: 0;
}
body:not(.home).chic-inner .vc_row.ch-ab-chapter > .vc_column_container > .vc_column-inner,
body:not(.home).chic-inner .vc_row.ch-ab-certs > .vc_column_container > .vc_column-inner,
body:not(.home).chic-inner .vc_row.ch-as-split > .vc_column_container > .vc_column-inner,
body:not(.home).chic-inner .vc_row.ch-as-sec > .vc_column_container > .vc_column-inner,
body:not(.home).chic-inner .vc_row.ch-as-grid > .vc_column_container > .vc_column-inner,
body:not(.home).chic-inner .vc_row.ch-tl-item > .vc_column_container > .vc_column-inner {
  padding: 0;
}
/* ⚠ 最容易漏掉的一條：clearfix 偽元素在 grid 容器裡會各佔一個儲存格 */
body:not(.home).chic-inner .vc_row.ch-ab-chapter::before,
body:not(.home).chic-inner .vc_row.ch-ab-chapter::after,
body:not(.home).chic-inner .vc_row.ch-ab-certs::before,
body:not(.home).chic-inner .vc_row.ch-ab-certs::after,
body:not(.home).chic-inner .vc_row.ch-as-split::before,
body:not(.home).chic-inner .vc_row.ch-as-split::after,
body:not(.home).chic-inner .vc_row.ch-as-sec::before,
body:not(.home).chic-inner .vc_row.ch-as-sec::after,
body:not(.home).chic-inner .vc_row.ch-as-grid::before,
body:not(.home).chic-inner .vc_row.ch-as-grid::after,
body:not(.home).chic-inner .vc_row.ch-tl-item::before,
body:not(.home).chic-inner .vc_row.ch-tl-item::after,
body:not(.home).chic-inner .ch-ab-chapter .vc_column-inner::before,
body:not(.home).chic-inner .ch-ab-chapter .vc_column-inner::after,
body:not(.home).chic-inner .ch-ab-certs .vc_column-inner::before,
body:not(.home).chic-inner .ch-ab-certs .vc_column-inner::after,
body:not(.home).chic-inner .ch-as-split .vc_column-inner::before,
body:not(.home).chic-inner .ch-as-split .vc_column-inner::after,
body:not(.home).chic-inner .ch-as-sec .vc_column-inner::before,
body:not(.home).chic-inner .ch-as-sec .vc_column-inner::after,
body:not(.home).chic-inner .ch-tl-item .vc_column-inner::before,
body:not(.home).chic-inner .ch-tl-item .vc_column-inner::after {
  content: none;
}

/* 兩欄／格線區段裡的文字欄不要再套 content-premium 的置中閱讀欄
   （max-width:1080 + margin:auto 會讓窄欄內容莫名縮排） */
body:not(.home).chic-inner .ch-ab-quote,
body:not(.home).chic-inner .ch-ab-prose,
body:not(.home).chic-inner .ch-ab-signature,
body:not(.home).chic-inner .ch-ab-cert-cap,
body:not(.home).chic-inner .ch-as-lead,
body:not(.home).chic-inner .ch-as-stat,
body:not(.home).chic-inner .ch-as-prose,
body:not(.home).chic-inner .ch-as-item-b,
body:not(.home).chic-inner .ch-as-row-b,
body:not(.home).chic-inner .ch-tl-range,
body:not(.home).chic-inner .ch-tl-date-t {
  max-width: none;
  margin-left: 0;
  margin-right: 0;
}

/* 共用：英文 kicker */
body:not(.home).chic-inner p.vc_custom_heading.ch-ab-kicker {
  margin: 0 0 14px;
  font-family: var(--display);
  font-size: 12.5px;
  font-weight: 700;
  letter-spacing: .28em;
  text-transform: uppercase;
  color: var(--rose-ink);
}

/* ===================================================================
 * 二、#3104 創辦理念
 * =================================================================== */

/* ---- 開場引言 ---- */
body:not(.home).chic-inner .vc_row.ch-ab-lede { margin-bottom: clamp(30px, 5vw, 62px); }
body:not(.home).chic-inner .ch-ab-quote {
  position: relative;
  max-width: 62ch;
  padding-left: clamp(26px, 4vw, 48px);
}
/* 引號用字型的字元，不用圖片也不用 emoji */
body:not(.home).chic-inner .ch-ab-quote::before {
  content: "\201C";
  position: absolute;
  left: -6px;
  top: -.18em;
  font-family: var(--display);
  font-size: clamp(76px, 10vw, 128px);
  line-height: 1;
  color: rgba(111, 42, 40, .12);
  pointer-events: none;
}
body:not(.home).chic-inner .ch-ab-quote p {
  font-family: var(--soft);
  font-size: clamp(20px, 2.7vw, 31px);
  line-height: 1.74;
  letter-spacing: .02em;
  color: var(--brand-deep);
  margin: 0;
}
body:not(.home).chic-inner .ch-ab-quote p + p { color: var(--brand); }

/* ---- 章節：左欄章名（桌機黏著捲動）／右欄內文 ---- */
body:not(.home).chic-inner .vc_row.ch-ab-chapter {
  grid-template-columns: minmax(0, 300px) minmax(0, 1fr);
  gap: clamp(18px, 3.4vw, 56px);
  padding-top: clamp(26px, 4vw, 48px);
  margin-bottom: clamp(26px, 4vw, 48px);
  border-top: 1px solid var(--line);
}
body:not(.home).chic-inner .vc_row.ch-ab-chapter > .ch-ab-chapter-head > .vc_column-inner { position: sticky; top: 118px; }
body:not(.home).chic-inner p.vc_custom_heading.ch-ab-num {
  margin: 0 0 6px;
  font-family: var(--display);
  font-size: clamp(38px, 5vw, 58px);
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0;
  color: rgba(111, 42, 40, .2);
}
/* content-premium 的 h2 有一條 rose 直線＋padding-left，章節這裡改用序號當標記 */
body:not(.home).chic-inner h2.vc_custom_heading.ch-ab-h2 {
  margin: 0;
  padding-left: 0;
  font-size: clamp(21px, 2.5vw, 29px);
  line-height: 1.45;
  color: var(--brand-deep);
}
body:not(.home).chic-inner h2.vc_custom_heading.ch-ab-h2::before { content: none; }
body:not(.home).chic-inner .ch-ab-prose p {
  font-size: 16.5px;
  line-height: 2.05;
  color: #4a4039;
  margin: 0 0 1.35em;
}
body:not(.home).chic-inner .ch-ab-prose p:last-child { margin-bottom: 0; }

/* ---- 署名 ---- */
body:not(.home).chic-inner .vc_row.ch-ab-sign { margin-bottom: clamp(40px, 6vw, 84px); }
body:not(.home).chic-inner .ch-ab-signature p {
  margin: 0;
  text-align: right;
  font-family: var(--soft);
  font-size: clamp(16px, 1.9vw, 20px);
  letter-spacing: .06em;
  color: var(--brand);
}
body:not(.home).chic-inner .ch-ab-signature p::before {
  content: "";
  display: inline-block;
  width: clamp(40px, 8vw, 88px);
  height: 1px;
  margin: 0 14px 6px 0;
  background: var(--clay);
  vertical-align: middle;
}

/* ---- 認證 ---- */
body:not(.home).chic-inner .vc_row.ch-ab-certs-head { margin-bottom: 18px; }
body:not(.home).chic-inner .vc_row.ch-ab-certs {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(16px, 2.4vw, 28px);
}
body:not(.home).chic-inner .vc_row.ch-ab-certs > .ch-ab-cert > .vc_column-inner {
  height: 100%;
  display: flex;
  flex-direction: column;
  padding: clamp(16px, 2.2vw, 26px);
  background: rgba(255, 255, 255, .72);
  border: 1px solid rgba(231, 221, 210, .9);
  border-radius: 20px;
  transition: transform .6s cubic-bezier(0.16, 1, 0.3, 1), box-shadow .6s cubic-bezier(0.16, 1, 0.3, 1);
}
body:not(.home).chic-inner .vc_row.ch-ab-certs > .ch-ab-cert > .vc_column-inner:hover {
  transform: translateY(-4px);
  box-shadow: 0 22px 52px rgba(32, 24, 22, .12);
}
/* 兩張證書長寬比差很多（709×337 與 1080×763）。固定方框 + contain 才會對齊；
   用 cover 會把證書上的字裁掉。 */
body:not(.home).chic-inner .ch-ab-cert-img .vc_single_image-wrapper {
  display: block;
  aspect-ratio: 16 / 10;
  background: #fff;
  border-radius: 14px;
  overflow: hidden;
}
body:not(.home).chic-inner .ch-ab-cert-img img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  border-radius: 0;
  box-shadow: none;
}
body:not(.home).chic-inner .ch-ab-cert-cap {
  margin-top: auto;
  padding-top: 14px;
}
body:not(.home).chic-inner .ch-ab-cert-cap p {
  margin: 0;
  text-align: center;
  font-size: 14px;
  line-height: 1.75;
  color: var(--muted);
}

/* ===================================================================
 * 三、#2992 安心醫療保障
 * =================================================================== */

/* ---- 開場 ---- */
body:not(.home).chic-inner .vc_row.ch-as-hero { margin-bottom: clamp(34px, 5.5vw, 74px); }
body:not(.home).chic-inner h2.vc_custom_heading.ch-as-title {
  margin: 0 0 12px;
  padding-left: 0;
  max-width: 20ch;
  font-size: clamp(29px, 4.4vw, 52px);
  line-height: 1.3;
  color: var(--brand);
}
body:not(.home).chic-inner h2.vc_custom_heading.ch-as-title::before { content: none; }
body:not(.home).chic-inner p.vc_custom_heading.ch-as-sub {
  margin: 0 0 20px;
  font-family: var(--soft);
  font-size: clamp(17px, 2.1vw, 22px);
  font-weight: 400;
  letter-spacing: .04em;
  color: var(--rose-ink);
}
body:not(.home).chic-inner .ch-as-lead {
  max-width: 58ch;
  padding-left: 18px;
  border-left: 2px solid var(--clay);
}
body:not(.home).chic-inner .ch-as-lead p { margin: 0; font-size: 16.5px; line-height: 2; }
/* ⚠ 顏色由短碼參數給（<a> 是 inline background），這裡只補 WPBakery 沒有的東西。
   也不要對 .vc_btn3-container 下 display:flex —— 會讓 align 參數失效。 */
body:not(.home).chic-inner .ch-as-btn { margin-top: 24px; }
body:not(.home).chic-inner .ch-as-btn .vc_btn3 {
  min-height: 46px;
  display: inline-flex;
  align-items: center;
  letter-spacing: .1em;
  box-shadow: 0 12px 30px rgba(111, 42, 40, .22);
  transition: transform .5s cubic-bezier(0.16, 1, 0.3, 1), box-shadow .5s cubic-bezier(0.16, 1, 0.3, 1);
}
body:not(.home).chic-inner .ch-as-btn .vc_btn3:hover {
  transform: translateY(-2px);
  box-shadow: 0 18px 40px rgba(111, 42, 40, .3);
}

/* ---- 兩欄區段（圖／文） ---- */
body:not(.home).chic-inner .vc_row.ch-as-split {
  grid-template-columns: 5fr 7fr;
  gap: clamp(22px, 3.6vw, 56px);
  align-items: stretch;
  margin-bottom: clamp(38px, 6vw, 80px);
  scroll-margin-top: 110px;
}
/* 文字欄在圖片較高時垂直置中，兩欄才不會一高一低 */
body:not(.home).chic-inner .vc_row.ch-as-split > .ch-as-split-body > .vc_column-inner {
  display: flex;
  flex-direction: column;
  justify-content: center;
}
body:not(.home).chic-inner .vc_row.ch-as-split--rev { grid-template-columns: 7fr 5fr; }
/* 圖欄要跟文字欄一樣高（不然兩欄一高一矮，下方留一塊空）。
   高度得一層層傳下去：欄位容器 → .vc_column-inner → .wpb_wrapper → 圖片包裹層。
   :has() 用來挑出「裝圖的那一欄」，免得再為它多加一個 el_class。 */
body:not(.home).chic-inner .vc_row.ch-as-split > .vc_column_container:has(> .vc_column-inner > .wpb_wrapper > .ch-as-figure),
body:not(.home).chic-inner .vc_row.ch-as-split > .vc_column_container:has(> .vc_column-inner > .wpb_wrapper > .ch-as-figure) > .vc_column-inner,
body:not(.home).chic-inner .vc_row.ch-as-split > .vc_column_container:has(> .vc_column-inner > .wpb_wrapper > .ch-as-figure) > .vc_column-inner > .wpb_wrapper,
body:not(.home).chic-inner .ch-as-sec-aside > .vc_column-inner,
body:not(.home).chic-inner .ch-as-sec-aside > .vc_column-inner > .wpb_wrapper {
  height: 100%;
}
body:not(.home).chic-inner .ch-as-figure { margin-bottom: 0; height: 100%; }
body:not(.home).chic-inner .ch-as-figure .vc_figure,
body:not(.home).chic-inner .ch-as-figure .vc_single_image-wrapper {
  display: block;
  height: 100%;
  border-radius: 20px;
  overflow: hidden;
}
body:not(.home).chic-inner .ch-as-figure img {
  width: 100%;
  height: 100%;
  min-height: 300px;
  object-fit: cover;
  border-radius: 0;
  box-shadow: none;
}
body:not(.home).chic-inner h2.vc_custom_heading.ch-as-h2 {
  margin: 0 0 14px;
  padding-left: 0;
  font-size: clamp(23px, 3vw, 33px);
  line-height: 1.4;
  color: var(--brand-deep);
}
/* content-premium 的直線改成標題上方的短橫線，兩欄區段看起來才不會左邊多一條 */
body:not(.home).chic-inner h2.vc_custom_heading.ch-as-h2::before {
  content: "";
  position: static;
  display: block;
  width: 42px;
  height: 2px;
  margin: 0 0 16px;
  border-radius: 2px;
  background: linear-gradient(90deg, var(--brand), var(--clay));
}
body:not(.home).chic-inner .ch-as-stat {
  margin-bottom: 20px;
  padding: 12px 18px;
  background: rgba(242, 232, 223, .7);
  border-left: 3px solid var(--brand);
  border-radius: 0 12px 12px 0;
}
body:not(.home).chic-inner .ch-as-stat p {
  margin: 0;
  font-family: var(--soft);
  font-size: clamp(15.5px, 1.8vw, 18px);
  letter-spacing: .03em;
  color: var(--brand);
}
body:not(.home).chic-inner .ch-as-prose p {
  font-size: 15.5px;
  line-height: 2;
  color: #4a4039;
  margin: 0 0 1.15em;
}
body:not(.home).chic-inner .ch-as-prose p:last-child { margin-bottom: 0; }

/* ---- 深色區段：左圖＋右 2×2 保障項目 ---- */
body:not(.home).chic-inner .vc_row.ch-as-sec--dark {
  grid-template-columns: 4fr 8fr;
  gap: clamp(22px, 3.4vw, 50px);
  align-items: stretch;
  margin-bottom: clamp(38px, 6vw, 80px);
  padding: clamp(24px, 3.6vw, 52px);
  border-radius: 26px;
  background-color: #4a1c1b;
  background-image: var(--dark-weave), var(--dark-surface);
  color: var(--on-dark);
  overflow: hidden;
}
body:not(.home).chic-inner .ch-as-sec-figure { margin-bottom: 0; height: 100%; }
body:not(.home).chic-inner .ch-as-sec-figure .vc_figure,
body:not(.home).chic-inner .ch-as-sec-figure .vc_single_image-wrapper {
  display: block;
  height: 100%;
  border-radius: 18px;
  overflow: hidden;
}
body:not(.home).chic-inner .ch-as-sec-figure img {
  width: 100%;
  height: 100%;
  min-height: 260px;
  object-fit: cover;
  border-radius: 0;
  box-shadow: none;
}
body:not(.home).chic-inner p.vc_custom_heading.ch-as-kicker--dark { color: var(--on-dark-soft); }
body:not(.home).chic-inner h2.vc_custom_heading.ch-as-h2--dark { color: var(--on-dark); }
body:not(.home).chic-inner h2.vc_custom_heading.ch-as-h2--dark::before {
  background: linear-gradient(90deg, var(--clay), rgba(216, 185, 170, .2));
}
body:not(.home).chic-inner .vc_row.ch-as-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(18px, 2.6vw, 34px);
  margin-top: clamp(16px, 2.4vw, 28px);
}
body:not(.home).chic-inner .vc_row.ch-as-grid > .ch-as-item > .vc_column-inner {
  padding-top: 40px;
  border-top: 1px solid rgba(246, 231, 226, .2);
  position: relative;
}
/* icon：手寫 inline SVG（stroke-width 1.25、fill:none），不用 emoji、不用 icon font */
body:not(.home).chic-inner .vc_row.ch-as-grid > .ch-as-item > .vc_column-inner::before {
  content: "";
  position: absolute;
  left: 0;
  top: 12px;
  width: 24px;
  height: 24px;
  background-repeat: no-repeat;
  background-size: contain;
  opacity: .9;
}
body:not(.home).chic-inner .vc_row.ch-as-grid > .ch-as-item--1 > .vc_column-inner::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23d9b9aa' stroke-width='1.25' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 21 9.5 14.5'/%3E%3Cpath d='M9.5 14.5 17.5 3.5 20.5 6 12.5 17.5Z'/%3E%3C/svg%3E");
}
body:not(.home).chic-inner .vc_row.ch-as-grid > .ch-as-item--2 > .vc_column-inner::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23d9b9aa' stroke-width='1.25' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='2.5' y='5' width='19' height='13' rx='2'/%3E%3Cpath d='M6 12h2.6l1.6-3 2.2 6 1.6-3H18'/%3E%3C/svg%3E");
}
body:not(.home).chic-inner .vc_row.ch-as-grid > .ch-as-item--3 > .vc_column-inner::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23d9b9aa' stroke-width='1.25' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 20.5S4.5 16 4.5 10.8A3.9 3.9 0 0 1 12 8.6a3.9 3.9 0 0 1 7.5 2.2c0 5.2-7.5 9.7-7.5 9.7z'/%3E%3C/svg%3E");
}
body:not(.home).chic-inner .vc_row.ch-as-grid > .ch-as-item--4 > .vc_column-inner::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23d9b9aa' stroke-width='1.25' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='4.6'/%3E%3Cpath d='M12 2.2v2.4M12 19.4v2.4M2.2 12h2.4M19.4 12h2.4M5.1 5.1l1.7 1.7M17.2 17.2l1.7 1.7M18.9 5.1l-1.7 1.7M6.8 17.2l-1.7 1.7'/%3E%3C/svg%3E");
}
body:not(.home).chic-inner h3.vc_custom_heading.ch-as-item-h {
  margin: 0 0 10px;
  font-size: clamp(16px, 1.9vw, 19px);
  line-height: 1.55;
  color: var(--on-dark);
}
body:not(.home).chic-inner .ch-as-item-b { margin-bottom: 0; }
body:not(.home).chic-inner .ch-as-item-b p {
  margin: 0;
  font-size: 14.5px;
  line-height: 1.95;
  color: var(--on-dark-soft);
}

/* ---- 全方位：文左圖右，條列以細線分隔 ---- */
body:not(.home).chic-inner h3.vc_custom_heading.ch-as-row-h {
  margin: 26px 0 8px;
  padding-top: 20px;
  border-top: 1px solid var(--line);
  font-size: clamp(16.5px, 2vw, 20px);
  line-height: 1.5;
  color: var(--brand-deep);
}
body:not(.home).chic-inner .ch-as-row-b { margin-bottom: 0; }
body:not(.home).chic-inner .ch-as-row-b p {
  margin: 0;
  font-size: 15px;
  line-height: 1.95;
  color: #4a4039;
}

/* ===================================================================
 * 四、#6060 集團歷程
 * =================================================================== */
body:not(.home).chic-inner .vc_row.ch-tl-head { margin-bottom: clamp(24px, 4vw, 46px); }
body:not(.home).chic-inner .ch-tl-range p {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 16px;
  margin: 0;
}
body:not(.home).chic-inner .ch-tl-range span:first-child {
  font-family: var(--display);
  font-size: clamp(28px, 4vw, 44px);
  font-weight: 400;
  letter-spacing: .04em;
  color: var(--brand);
}
body:not(.home).chic-inner .ch-tl-range span + span {
  position: relative;
  padding-left: 18px;
  font-size: 14px;
  letter-spacing: .08em;
  color: var(--muted);
}
body:not(.home).chic-inner .ch-tl-range span + span::before {
  content: "";
  position: absolute;
  left: 0;
  top: .1em;
  bottom: .1em;
  width: 1px;
  background: var(--line);
}

/* 事件標題都很短，整條年表拉到 1320 寬會在右側留下一大片空白、看起來像沒排完。
   收到 980 之後右邊的留白就成了刻意的邊欄。 */
body:not(.home).chic-inner .vc_row.ch-tl > .vc_column_container > .vc_column-inner { max-width: 980px; margin-inline: auto; }
body:not(.home).chic-inner .vc_row.ch-tl-item {
  grid-template-columns: minmax(0, 148px) minmax(0, 1fr);
  margin: 0;
}
body:not(.home).chic-inner .vc_row.ch-tl-item > .ch-tl-date > .vc_column-inner { padding-right: clamp(14px, 2vw, 26px); }
body:not(.home).chic-inner .ch-tl-date-t { margin-bottom: 0; }
body:not(.home).chic-inner .ch-tl-date-t p { margin: 0; text-align: right; }
body:not(.home).chic-inner .ch-tl-y {
  display: block;
  font-family: var(--display);
  font-size: clamp(21px, 2.4vw, 27px);
  font-weight: 400;
  line-height: 1.15;
  color: var(--brand);
}
body:not(.home).chic-inner .ch-tl-md {
  display: block;
  font-family: var(--display);
  font-size: 12.5px;
  letter-spacing: .14em;
  color: var(--muted);
}
/* 時間線：畫在事件欄的左緣，各列相接就連成一條 */
body:not(.home).chic-inner .vc_row.ch-tl-item > .ch-tl-body > .vc_column-inner {
  position: relative;
  padding-left: clamp(22px, 3vw, 40px);
  padding-bottom: clamp(26px, 3.6vw, 46px);
  border-left: 1px solid var(--line);
}
body:not(.home).chic-inner .vc_row.ch-tl-item > .ch-tl-body > .vc_column-inner::before {
  content: "";
  position: absolute;
  left: -5px;
  top: .5em;
  width: 9px;
  height: 9px;
  border-radius: 50%;
  background: var(--paper);
  border: 2px solid var(--rose);
  transition: background .5s cubic-bezier(0.16, 1, 0.3, 1), border-color .5s cubic-bezier(0.16, 1, 0.3, 1);
}
body:not(.home).chic-inner .vc_row.ch-tl-item:first-child > .ch-tl-body > .vc_column-inner::before,
body:not(.home).chic-inner .vc_row.ch-tl-item:hover > .ch-tl-body > .vc_column-inner::before {
  background: var(--brand);
  border-color: var(--brand);
}
body:not(.home).chic-inner .vc_row.ch-tl-item:last-child > .ch-tl-body > .vc_column-inner {
  padding-bottom: 0;
  border-left-color: transparent;
}
/* 最後一列的線改用漸層收尾，不要硬生生斷掉 */
body:not(.home).chic-inner .vc_row.ch-tl-item:last-child > .ch-tl-body > .vc_column-inner::after {
  content: "";
  position: absolute;
  left: -1px;
  top: 0;
  width: 1px;
  height: 2.2em;
  background: linear-gradient(180deg, var(--line), transparent);
}
body:not(.home).chic-inner h3.vc_custom_heading.ch-tl-h {
  margin: 0;
  font-size: clamp(16.5px, 1.9vw, 20px);
  line-height: 1.6;
  color: var(--brand-deep);
}
body:not(.home).chic-inner .ch-tl-img {
  margin: 14px 0 0;
  max-width: 520px;
}
body:not(.home).chic-inner .ch-tl-img .vc_single_image-wrapper {
  display: block;
  border-radius: 14px;
  overflow: hidden;
}
body:not(.home).chic-inner .ch-tl-img img {
  width: 100%;
  height: auto;
  border-radius: 0;
  box-shadow: 0 14px 34px rgba(32, 24, 22, .1);
  transition: transform .7s cubic-bezier(0.16, 1, 0.3, 1);
}
body:not(.home).chic-inner .ch-tl-img:hover img { transform: scale(1.03); }

/* ===================================================================
 * 五、窄螢幕
 * =================================================================== */
@media (max-width: 900px) {
  body:not(.home).chic-inner .vc_row.ch-ab-chapter,
  body:not(.home).chic-inner .vc_row.ch-as-split,
  body:not(.home).chic-inner .vc_row.ch-as-split--rev,
  body:not(.home).chic-inner .vc_row.ch-as-sec--dark,
  body:not(.home).chic-inner .vc_row.ch-as-grid {
    grid-template-columns: minmax(0, 1fr);
  }
  body:not(.home).chic-inner .vc_row.ch-ab-chapter > .ch-ab-chapter-head > .vc_column-inner { position: static; }
  /* 圖在下、文在上會斷掉閱讀節奏，圖一律排到文字前面 */
  body:not(.home).chic-inner .ch-as-split--rev .ch-as-split-body { order: 2; }
  /* 單欄之後不需要（也撐不起）等高的 height:100% 鏈 —— 留著的話圖片會塌成 0 高，
     整張照片就這樣安靜消失。一律改回自然高度＋固定比例。 */
  body:not(.home).chic-inner .vc_row.ch-as-split > .vc_column_container:has(> .vc_column-inner > .wpb_wrapper > .ch-as-figure),
  body:not(.home).chic-inner .vc_row.ch-as-split > .vc_column_container:has(> .vc_column-inner > .wpb_wrapper > .ch-as-figure) > .vc_column-inner,
  body:not(.home).chic-inner .vc_row.ch-as-split > .vc_column_container:has(> .vc_column-inner > .wpb_wrapper > .ch-as-figure) > .vc_column-inner > .wpb_wrapper,
  body:not(.home).chic-inner .ch-as-sec-aside > .vc_column-inner,
  body:not(.home).chic-inner .ch-as-sec-aside > .vc_column-inner > .wpb_wrapper,
  body:not(.home).chic-inner .ch-as-figure,
  body:not(.home).chic-inner .ch-as-figure .vc_figure,
  body:not(.home).chic-inner .ch-as-figure .vc_single_image-wrapper,
  body:not(.home).chic-inner .ch-as-sec-figure,
  body:not(.home).chic-inner .ch-as-sec-figure .vc_figure,
  body:not(.home).chic-inner .ch-as-sec-figure .vc_single_image-wrapper {
    height: auto;
  }
  body:not(.home).chic-inner .ch-as-figure img,
  body:not(.home).chic-inner .ch-as-sec-figure img {
    height: auto;
    min-height: 0;
    aspect-ratio: 16 / 9;
  }
  body:not(.home).chic-inner .vc_row.ch-as-split > .ch-as-split-body > .vc_column-inner { display: block; }
}

@media (max-width: 680px) {
  body:not(.home).chic-inner .vc_row.ch-ab-certs { grid-template-columns: minmax(0, 1fr); }
  body:not(.home).chic-inner .ch-ab-quote { padding-left: 0; }
  body:not(.home).chic-inner .ch-ab-quote::before { font-size: 64px; left: -4px; top: -.34em; }

  /* 年表改單欄：線移到整列左側，日期與事件上下排 */
  body:not(.home).chic-inner .vc_row.ch-tl-item { grid-template-columns: minmax(0, 1fr); }
  body:not(.home).chic-inner .vc_row.ch-tl-item > .ch-tl-date > .vc_column-inner {
    position: relative;
    padding-right: 0;
    padding-left: 22px;
    border-left: 1px solid var(--line);
  }
  body:not(.home).chic-inner .vc_row.ch-tl-item > .ch-tl-date > .vc_column-inner::before {
    content: "";
    position: absolute;
    left: -5px;
    top: .45em;
    width: 9px;
    height: 9px;
    border-radius: 50%;
    background: var(--paper);
    border: 2px solid var(--rose);
  }
  body:not(.home).chic-inner .vc_row.ch-tl-item:first-child > .ch-tl-date > .vc_column-inner::before {
    background: var(--brand);
    border-color: var(--brand);
  }
  body:not(.home).chic-inner .ch-tl-date-t p { text-align: left; }
  body:not(.home).chic-inner .ch-tl-y { display: inline; }
  body:not(.home).chic-inner .ch-tl-md { display: inline; margin-left: 10px; }
  body:not(.home).chic-inner .vc_row.ch-tl-item > .ch-tl-body > .vc_column-inner { padding-left: 22px; padding-top: 6px; }
  body:not(.home).chic-inner .vc_row.ch-tl-item > .ch-tl-body > .vc_column-inner::before { content: none; }
  body:not(.home).chic-inner .ch-tl-img { max-width: 100%; }
}

@media (prefers-reduced-motion: reduce) {
  body:not(.home).chic-inner .vc_row.ch-ab-certs > .ch-ab-cert > .vc_column-inner,
  body:not(.home).chic-inner .ch-as-btn .vc_btn3,
  body:not(.home).chic-inner .ch-tl-img img { transition: none; }
  body:not(.home).chic-inner .vc_row.ch-ab-certs > .ch-ab-cert > .vc_column-inner:hover,
  body:not(.home).chic-inner .ch-as-btn .vc_btn3:hover,
  body:not(.home).chic-inner .ch-tl-img:hover img { transform: none; }
}
