/* 知識專欄（/insights 與 /insights/*）專屬樣式。
   全部掛在 body.ins-page 底下、class 一律 ins- 開頭，不影響其他頁面。
   方角由 editorial.css 全站處理；這裡只用字級、字重與留白分層，不加新字體。
   準則：首頁是卡片牆（一張卡片一篇文章、依分類分區），不使用客戶畫面，版面乾淨好讀。 */
.ins-page {
  --ins-navy: #021526;
  --ins-deep: #0b2640;
  --ins-paper: #f7f8f2;
  --ins-ivory: #e2e2b6;
  --ins-link: #03346e;
  --ins-signal: #6eacda;
  --ins-muted: #4b5b67;
  --ins-tint: #eceee6;
  --ins-cool: #e5edf0;
  --ins-white: #ffffff;
  --ins-gutter: clamp(1.25rem, 4vw, 4rem);
  --ins-max: 80rem;
  --ins-read: 38rem;
  color: var(--ins-navy);
  background: var(--ins-paper);
}
.ins-page main { display: block; }
.ins-wrap { width: min(var(--ins-max), 100% - 2 * var(--ins-gutter)); margin-inline: auto; }
.ins-nb { white-space: nowrap; }

/* 頁首導覽：文章頁時「知識專欄」標成所在區段（aria-current="true"）。 */
.ins-page .page-nav > a[aria-current="true"] { color: #fff; background: transparent; text-decoration: underline; text-underline-offset: .45em; }

/* 深色區塊上的焦點框改用象牙色，否則深藍外框會看不見。 */
.ins-mast :focus-visible, .ins-head :focus-visible, .ins-cta :focus-visible, .ins-check :focus-visible { outline-color: var(--ins-ivory); }

/* ── 共用：分類行、狀態、按鈕 ── */
.ins-meta { display: flex; flex-wrap: wrap; align-items: center; gap: .2rem .6rem; margin: 0; font-size: .875rem; line-height: 1.6; font-weight: 650; color: var(--ins-muted); }
.ins-meta__cat { color: var(--ins-link); }
.ins-meta > * + *::before { content: "｜"; margin-right: .6rem; font-weight: 400; color: #9aa7ad; }
.ins-meta a { color: inherit; text-decoration: underline; text-decoration-thickness: .06em; text-underline-offset: .25em; }
.ins-status { display: inline-flex; align-items: center; gap: .5em; font-weight: 600; }
.ins-status::before { content: ""; flex: none; width: .5em; height: .5em; background: currentColor; }
.ins-btn { display: inline-flex; align-items: center; justify-content: space-between; gap: 1.25rem; min-height: 3.25rem; padding: .75rem 1.3rem; color: var(--ins-navy); background: var(--ins-ivory); font-size: 1.0625rem; font-weight: 650; line-height: 1.5; text-decoration: none; }
.ins-btn:hover { background: #fff; }
/* 分類色：開始與企劃＝象牙、拍攝與剪輯＝天藍、發布與成效＝深藍、AI＝海軍藍 */
.ins-dot { display: inline-block; flex: none; width: .7rem; height: .7rem; background: var(--ins-ivory); box-shadow: inset 0 0 0 .1rem rgb(2 21 38 / .25); }
.ins-dot--shoot { background: var(--ins-signal); }
.ins-dot--publish { background: var(--ins-link); }
.ins-dot--ai { background: var(--ins-navy); }

/* ── 專欄首頁：精簡的標題區 ── */
.ins-mast { background: var(--ins-navy); color: var(--ins-ivory); padding-block: clamp(2.5rem, 5vw, 4rem) clamp(2.75rem, 5.5vw, 4.25rem); }
.ins-mast h1 { margin: 0; color: var(--ins-paper); font-size: clamp(2.375rem, 1.6rem + 3.6vw, 4.5rem); line-height: 1.2; font-weight: 700; letter-spacing: -.035em; text-wrap: balance; }
.ins-mast__lede { max-width: 36em; margin: 1.25rem 0 0; font-size: 1rem; line-height: 1.8; }
.ins-mast__start { display: inline-flex; align-items: center; gap: .6rem; margin-top: 1.5rem; min-height: 2.75rem; color: var(--ins-paper); font-weight: 650; text-decoration: underline; text-decoration-color: var(--ins-signal); text-decoration-thickness: .12em; text-underline-offset: .35em; }
.ins-mast__start:hover { color: #fff; text-decoration-color: var(--ins-ivory); }

/* 分類導覽：一眼看到有哪些範疇、各有幾篇 */
.ins-cats { padding-block: 1.5rem 0; }
.ins-cats__inner { display: flex; flex-wrap: wrap; align-items: center; gap: .75rem 1.25rem; }
.ins-cats__label { margin: 0; font-size: .9375rem; font-weight: 700; color: var(--ins-muted); }
.ins-cats__list { display: flex; flex-wrap: wrap; gap: .5rem; margin: 0; padding: 0; list-style: none; }
.ins-cats__list a { display: inline-flex; align-items: center; gap: .55rem; min-height: 2.75rem; padding: .45rem 1rem; color: var(--ins-navy); background: var(--ins-white); font-size: 1rem; font-weight: 650; text-decoration: none; }
.ins-cats__list a:hover { background: var(--ins-ivory); }
.ins-cats__n { font-size: .875rem; font-weight: 500; color: var(--ins-muted); }

/* 分類區：標題＋一行說明＋卡片牆 */
.ins-group { padding-block: clamp(2.5rem, 5vw, 3.75rem) 0; scroll-margin-top: calc(var(--header-h) + 1rem); }
.ins-group__head { margin-bottom: clamp(1.25rem, 2.5vw, 1.75rem); }
.ins-group__parent { margin: 0 0 .25rem; font-size: .875rem; font-weight: 700; color: var(--ins-link); }
.ins-group__head h2 { margin: 0; font-size: clamp(1.875rem, 1.35rem + 1.6vw, 2.5rem); line-height: 1.3; font-weight: 700; letter-spacing: -.02em; }
.ins-group__desc { margin: .4rem 0 0; font-size: 1rem; line-height: 1.75; color: var(--ins-muted); }

/* 文章卡片：封面＋分類＋標題＋短摘要；整張卡片可點 */
.ins-cards { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 19.5rem), 1fr)); gap: clamp(1.25rem, 2.5vw, 2rem); margin: 0; padding: 0; list-style: none; }
.ins-cards > li { display: flex; min-width: 0; }
.ins-c { position: relative; display: flex; flex-direction: column; width: 100%; background: var(--ins-white); }
.ins-c__cover { position: relative; overflow: hidden; background: var(--ins-tint); }
.ins-c__cover svg, .ins-c__cover img { display: block; width: 100%; height: auto; aspect-ratio: 3 / 2; object-fit: cover; }
.ins-c__badge { position: absolute; left: 0; top: 0; padding: .3rem .75rem; font-size: .8125rem; font-weight: 700; line-height: 1.6; color: var(--ins-paper); background: var(--ins-navy); }
.ins-c__body { display: flex; flex: 1; flex-direction: column; gap: .55rem; padding: 1.15rem 1.3rem 1.3rem; }
.ins-c__title { margin: 0; font-size: clamp(1.5rem, 1.3rem + .6vw, 1.75rem); line-height: 1.4; font-weight: 700; letter-spacing: -.02em; text-wrap: balance; }
.ins-c__title a { color: var(--ins-navy); text-decoration: none; }
.ins-c__title a::after { content: ""; position: absolute; inset: 0; }
.ins-c__sum { display: -webkit-box; margin: 0; overflow: hidden; font-size: .9375rem; line-height: 1.75; color: var(--ins-muted); -webkit-box-orient: vertical; -webkit-line-clamp: 3; }
.ins-c__foot { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: .5rem 1rem; margin: auto 0 0; padding-top: .35rem; font-size: .875rem; color: var(--ins-link); }
.ins-c__more { font-weight: 700; }
.ins-c:hover .ins-c__title a { color: var(--ins-link); text-decoration: underline; text-decoration-thickness: .06em; text-underline-offset: .22em; }
.ins-c:focus-within { outline: .2rem solid var(--ins-link); outline-offset: .25rem; }
.ins-c:focus-within .ins-c__title a:focus-visible { outline: 0; }
@media (prefers-reduced-motion: no-preference) {
  .ins-c__cover svg, .ins-c__cover img { transition: transform .35s cubic-bezier(.16, 1, .3, 1); }
  .ins-c:hover .ins-c__cover svg, .ins-c:hover .ins-c__cover img { transform: scale(1.03); }
}

/* 「從這篇開始」：橫跨整列的寬卡片 */
.ins-c--feature { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr); margin-bottom: clamp(1.25rem, 2.5vw, 2rem); }
.ins-c--feature .ins-c__body { justify-content: center; gap: .75rem; padding: clamp(1.5rem, 3vw, 2.5rem); }
.ins-c--feature .ins-c__title { font-size: clamp(1.875rem, 1.4rem + 1.5vw, 2.5rem); line-height: 1.35; }
.ins-c--feature .ins-c__sum { font-size: 1rem; -webkit-line-clamp: 4; }
.ins-c--feature .ins-c__foot { margin-top: .75rem; font-size: .9375rem; }
@media (min-width: 48rem) {
  .ins-c--feature .ins-c__cover { min-height: 22rem; }
  .ins-c--feature .ins-c__cover img { position: absolute; inset: 0; width: 100%; height: 100%; aspect-ratio: auto; object-fit: cover; }
}
@media (max-width: 47.99rem) { .ins-c--feature { grid-template-columns: minmax(0, 1fr); } .ins-c--feature .ins-c__body { padding: 1.15rem 1.3rem 1.3rem; } }

/* ── 相關服務 ── */
.ins-next { padding-block: clamp(3.5rem, 7vw, 5rem) clamp(4rem, 8vw, 6.5rem); }
.ins-next h2 { margin: 0 0 .5rem; font-size: clamp(1.5rem, 1.15rem + 1.2vw, 2rem); line-height: 1.45; font-weight: 650; }
.ins-next__lede { margin: 0 0 1.75rem; max-width: 40em; font-size: 1.0625rem; line-height: 1.85; color: var(--ins-muted); }
.ins-next__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.25rem; }
.ins-next__item { display: grid; align-content: start; gap: .6rem; padding: clamp(1.5rem, 3vw, 2.25rem); color: var(--ins-navy); background: var(--ins-ivory); text-decoration: none; }
.ins-next__item--ai { background: var(--ins-cool); }
.ins-next__item strong { font-size: clamp(1.25rem, 1.1rem + .5vw, 1.5rem); line-height: 1.5; font-weight: 650; }
.ins-next__item span { font-size: 1.0625rem; line-height: 1.8; }
.ins-next__go { margin-top: .4rem; color: var(--ins-link); font-weight: 650; }
.ins-next__item:hover .ins-next__go { text-decoration: underline; text-underline-offset: .22em; }

/* ── 文章頁：深藍標題區，封面壓在交界上 ── */
.ins-head { background: var(--ins-navy); color: var(--ins-ivory); padding-block: clamp(2rem, 4.5vw, 3.5rem) clamp(5rem, 10vw, 7.5rem); }
.ins-head__inner { width: min(60rem, 100% - 2 * var(--ins-gutter)); margin-inline: auto; }
.ins-crumbs ol { display: flex; flex-wrap: wrap; gap: .2rem .55rem; margin: 0 0 1.5rem; padding: 0; list-style: none; font-size: .9375rem; line-height: 1.6; }
.ins-crumbs li + li::before { content: "/"; margin-right: .55rem; color: var(--ins-signal); }
.ins-crumbs a { color: var(--ins-ivory); text-decoration: none; }
.ins-crumbs a:hover { text-decoration: underline; text-underline-offset: .22em; }
.ins-head .ins-meta { color: var(--ins-ivory); font-size: .9375rem; }
.ins-head .ins-meta__cat { color: var(--ins-signal); }
.ins-head .ins-meta > * + *::before { color: rgb(226 226 182 / .5); }
.ins-head h1 { margin: .7rem 0 1.5rem; max-width: 18em; color: var(--ins-paper); font-size: clamp(2.25rem, 1.4rem + 3.2vw, 4rem); line-height: 1.25; font-weight: 700; letter-spacing: -.03em; text-wrap: balance; }
.ins-head__dek { max-width: 38em; margin: 0; font-size: clamp(1rem, .95rem + .2vw, 1.0625rem); line-height: 1.8; }
.ins-byline { display: flex; flex-wrap: wrap; align-items: center; gap: .4rem 1.5rem; margin: 1.5rem 0 0; font-size: .9375rem; line-height: 1.6; }
.ins-byline strong { color: var(--ins-paper); font-weight: 650; }
.ins-hero { width: min(60rem, 100% - 2 * var(--ins-gutter)); margin: calc(-1 * clamp(3.5rem, 8vw, 5.5rem)) auto 0; background: var(--ins-tint); }
.ins-hero svg, .ins-hero img { display: block; width: 100%; height: auto; aspect-ratio: 2 / 1; object-fit: cover; }
.ins-hero figcaption { padding: .65rem 1rem; font-size: .8125rem; line-height: 1.6; color: var(--ins-muted); background: var(--ins-paper); }
.ins-fig figcaption { margin-top: .9rem; max-width: 46em; font-size: .9375rem; line-height: 1.8; color: var(--ins-muted); }

/* 內文格線：桌機左側目錄、右側閱讀欄；窄螢幕改成正文前的展開目錄。 */
.ins-body { display: grid; grid-template-columns: minmax(0, var(--ins-read)); justify-content: center; width: min(var(--ins-max), 100% - 2 * var(--ins-gutter)); margin: clamp(2.5rem, 5vw, 4rem) auto 0; }
.ins-toc--side { display: none; }
.ins-toc__title { margin: 0 0 .6rem; font-size: .9375rem; font-weight: 700; color: var(--ins-muted); }
.ins-toc ol { display: grid; gap: .1rem; margin: 0; padding: 0; list-style: none; }
.ins-toc a { display: block; padding: .45rem 0 .45rem .9rem; border-left: .1875rem solid transparent; color: var(--ins-muted); font-size: .96875rem; line-height: 1.6; text-decoration: none; }
.ins-toc a:hover { color: var(--ins-link); text-decoration: underline; text-underline-offset: .22em; }
.ins-toc a[aria-current="true"] { border-left-color: var(--ins-link); color: var(--ins-navy); font-weight: 650; }
.ins-toc--inline { margin: 2.25rem 0 0; background: var(--ins-tint); }
.ins-toc--inline summary { display: flex; align-items: center; justify-content: space-between; gap: 1rem; min-height: 3.25rem; padding: .75rem 1.25rem; font-size: 1.0625rem; font-weight: 650; cursor: pointer; list-style: none; }
.ins-toc--inline summary::-webkit-details-marker { display: none; }
.ins-toc--inline summary::after { content: ""; flex: none; width: .55rem; height: .55rem; margin-top: -.3rem; border-right: .15rem solid currentColor; border-bottom: .15rem solid currentColor; transform: rotate(45deg); }
.ins-toc--inline[open] summary::after { margin-top: .3rem; transform: rotate(225deg); }
.ins-toc--inline ol { padding: 0 1.25rem 1rem; }
.ins-toc--inline a { min-height: 2.75rem; padding-block: .55rem; }
@media (min-width: 68.75rem) {
  .ins-body { grid-template-columns: 14.5rem minmax(0, var(--ins-read)); column-gap: clamp(3rem, 5vw, 5.5rem); }
  .ins-toc--side { display: block; position: sticky; top: calc(var(--header-h) + 2rem); align-self: start; max-height: calc(100vh - var(--header-h) - 4rem); overflow-y: auto; }
  .ins-toc--inline { display: none; }
}

/* 正文：安靜、易讀；桌機約 35 個中文字一行。 */
.ins-prose { min-width: 0; font-size: clamp(1rem, .95rem + .2vw, 1.0625rem); line-height: 1.85; color: var(--ins-navy); }
.ins-prose p { margin: 0 0 1.15em; }
.ins-prose a { color: var(--ins-link); }
.ins-prose h2 { margin: 0 0 1.25rem; font-size: clamp(1.75rem, 1.3rem + 1.3vw, 2.25rem); line-height: 1.35; font-weight: 700; letter-spacing: -.025em; text-wrap: balance; }
.ins-prose h3 { font-weight: 650; }
.ins-sec { margin-top: clamp(3.5rem, 7vw, 5.25rem); }
.ins-sec > :last-child { margin-bottom: 0; }
.ins-answer__lead { font-size: 1.1em; font-weight: 500; }
.ins-fit { margin: 1.5rem 0 0; padding: 1.25rem 1.5rem 1.35rem; background: var(--ins-white); }
.ins-fit__title { margin: 0 0 .35rem !important; font-size: .9375rem; font-weight: 700; color: var(--ins-muted); }
.ins-fit ul { margin: 0; padding-left: 1.2em; list-style: square; }
.ins-fit li + li { margin-top: .3rem; }
.ins-fit li::marker { color: var(--ins-signal); }
.ins-jump { display: inline-flex; align-items: center; gap: .5rem; margin-top: 1rem; font-weight: 650; }
.ins-note { margin: 1.5rem 0; padding: 1rem 1.25rem; font-size: .96875rem; line-height: 1.8; background: var(--ins-cool); }
.ins-note > :last-child { margin-bottom: 0; }
.ins-textlink { display: inline-flex; gap: .4rem; font-weight: 650; }
.ins-plain { margin: 0 0 1.15em; padding-left: 1.2em; list-style: square; }
.ins-plain li + li { margin-top: .45rem; }
.ins-plain li::marker { color: var(--ins-signal); }
.ins-links { display: grid; gap: .5rem; margin: 1.5rem 0 0; padding: 0; list-style: none; }
.ins-links a { display: flex; align-items: center; gap: 1rem; min-height: 3.25rem; padding: .8rem 1.1rem; color: var(--ins-link); background: var(--ins-white); font-size: 1rem; font-weight: 650; line-height: 1.6; text-decoration: none; }
.ins-links a::after { content: "→"; flex: none; margin-left: auto; }
.ins-links a:hover { text-decoration: underline; text-underline-offset: .22em; }

/* 五個步驟：可點的流程條 */
.ins-steps { margin: 2.25rem 0 0; }
.ins-steps ol { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: .5rem; margin: 0; padding: 0; list-style: none; }
.ins-steps a { display: grid; align-content: start; gap: .25rem; height: 100%; padding: .85rem .85rem 1rem; color: var(--ins-navy); background: var(--ins-white); border-top: .25rem solid var(--ins-ivory); text-decoration: none; }
.ins-steps b { font-size: .875rem; color: var(--ins-link); }
.ins-steps strong { font-size: 1.0625rem; line-height: 1.5; font-weight: 700; }
.ins-steps span { font-size: .875rem; line-height: 1.6; color: var(--ins-muted); }
.ins-steps a:hover strong { color: var(--ins-link); text-decoration: underline; text-underline-offset: .22em; }

/* 圖解：目的 → 影片內容 → 看完的下一步 */
.ins-flow { margin: 2rem 0 2.25rem; }
.ins-flow__head, .ins-flow__row { display: grid; grid-template-columns: 8.75rem minmax(0, 1.25fr) minmax(0, 1fr); column-gap: 1.6rem; }
.ins-flow__head { padding-bottom: .55rem; font-size: .875rem; font-weight: 700; color: var(--ins-muted); }
.ins-flow__rows { display: grid; gap: .5rem; margin: 0; padding: 0; list-style: none; }
.ins-flow__row > * { position: relative; padding: .85rem 1rem; font-size: .96875rem; line-height: 1.7; }
.ins-flow__goal { display: flex; align-items: center; color: var(--ins-paper); background: var(--ins-navy); font-weight: 650; }
.ins-flow__what { background: var(--ins-white); }
.ins-flow__next { background: var(--ins-ivory); }
.ins-flow__what::before, .ins-flow__next::before { content: ""; position: absolute; top: 50%; left: -1.2rem; width: .8rem; height: .9rem; margin-top: -.45rem; background: var(--ins-signal); clip-path: polygon(0 0, 100% 50%, 0 100%); }
.ins-flow__k { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.ins-flow figcaption { margin-top: .8rem; font-size: .9375rem; color: var(--ins-muted); }

/* 示例卡 */
.ins-card { margin: 2rem 0; padding: clamp(1.25rem, 3vw, 1.85rem); border-top: .375rem solid var(--ins-navy); background: var(--ins-white); }
.ins-card--plain { border-top: 0; background: var(--ins-tint); }
.ins-card__tag { display: flex; flex-wrap: wrap; align-items: baseline; gap: .25rem .75rem; margin: 0 0 .25rem !important; font-size: .9375rem; font-weight: 700; color: var(--ins-link); }
.ins-card__tag small { font-size: .875rem; font-weight: 500; color: var(--ins-muted); }
.ins-card h3 { margin: 0 0 1rem; font-size: 1.25rem; line-height: 1.5; }
.ins-card dl { display: grid; grid-template-columns: 8.5rem minmax(0, 1fr); gap: .85rem 1.25rem; margin: 0; }
.ins-card dt { font-size: .9375rem; font-weight: 700; line-height: 1.8; color: var(--ins-muted); }
.ins-card dd { margin: 0; font-size: 1rem; line-height: 1.8; }

/* 三欄清單 */
.ins-prep { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .6rem; margin: 2rem 0; }
.ins-prep__col { padding: 1.15rem 1.15rem 1.35rem; background: var(--ins-white); }
.ins-prep__col h3 { display: flex; align-items: center; gap: .6rem; margin: 0 0 .75rem; font-size: 1.0625rem; line-height: 1.5; }
.ins-prep__col h3::before { content: ""; flex: none; width: .8rem; height: .8rem; background: var(--ins-navy); }
.ins-prep__col--add h3::before { background: var(--ins-signal); }
.ins-prep__col--check h3::before { background: transparent; box-shadow: inset 0 0 0 .15rem var(--ins-navy); }
.ins-prep ul { display: grid; gap: .55rem; margin: 0; padding: 0; list-style: none; }
.ins-prep li { position: relative; padding-left: 1rem; font-size: .96875rem; line-height: 1.7; }
.ins-prep li::before { content: ""; position: absolute; left: 0; top: .72em; width: .35rem; height: .35rem; background: var(--ins-muted); }

/* 示意分鏡：框只是輔助，完整說明在圖說裡 */
.ins-fig { margin: 2rem 0; }
.ins-anno { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.25rem; max-width: 34rem; margin: 0; }
.ins-anno__frame { margin: 0; min-width: 0; }
.ins-anno__pic { position: relative; }
.ins-anno__pic svg { display: block; width: 100%; height: auto; }
.ins-mark { position: absolute; left: var(--x); top: var(--y); width: var(--w); height: var(--h); outline: .15rem solid var(--ins-signal); }
.ins-mark span { position: absolute; left: -.15rem; bottom: 100%; padding: .05rem .4rem; font-size: .8125rem; font-weight: 700; line-height: 1.6; white-space: nowrap; color: var(--ins-navy); background: var(--ins-signal); }
.ins-mark--below span { top: 100%; bottom: auto; }
.ins-mark--in-bl span { top: auto; bottom: 0; left: 0; }
.ins-mark--in-tl span { top: 0; bottom: auto; left: 0; }
.ins-mark--in-tr span { top: 0; bottom: auto; left: auto; right: 0; }
.ins-anno__frame figcaption { margin-top: .75rem; font-size: .9375rem; line-height: 1.75; color: var(--ins-navy); }
.ins-anno__frame figcaption b { color: var(--ins-link); }

/* 題目牆：不同行業的問題標題（示意） */
.ins-qwall { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 12.5rem), 1fr)); gap: .6rem; margin: 0; padding: 0; list-style: none; }
.ins-qwall li { display: grid; align-content: start; gap: .35rem; padding: 1rem 1.1rem 1.1rem; background: var(--ins-white); border-top: .25rem solid var(--ins-signal); }
.ins-qwall span { font-size: .8125rem; font-weight: 700; color: var(--ins-muted); }
.ins-qwall strong { font-size: 1.0625rem; line-height: 1.6; font-weight: 650; color: var(--ins-navy); }

/* 剪輯軌道（示意） */
.ins-tracks { position: relative; display: grid; gap: .5rem; padding: 1.25rem; background: var(--ins-white); }
.ins-tracks__row { display: grid; grid-template-columns: 3.25rem minmax(0, 1fr); align-items: center; gap: .75rem; }
.ins-tracks__row > span { font-size: .875rem; font-weight: 700; color: var(--ins-muted); }
.ins-tracks__lane { position: relative; height: 2.25rem; background: #eef2f4; }
.ins-tracks__lane i { position: absolute; top: .3rem; bottom: .3rem; left: calc(var(--s) * 1%); width: calc(var(--w) * 1%); }
.ins-tracks__v { background: var(--ins-navy); }
.ins-tracks__s { background: var(--ins-ivory); box-shadow: inset 0 0 0 .125rem var(--ins-link); }
.ins-tracks__c { background: var(--ins-signal); }
.ins-tracks__m { background: repeating-linear-gradient(90deg, var(--ins-link) 0 .2rem, transparent .2rem .5rem); }
.ins-tracks__head { position: absolute; top: .75rem; bottom: .75rem; left: calc(5.25rem + (100% - 6.5rem) * .42); width: .1875rem; background: var(--ins-navy); }

/* 系列版面（示意）與產品三種畫面（示意） */
.ins-series { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .75rem; max-width: 30rem; }
.ins-series svg { display: block; width: 100%; height: auto; }
.ins-shots { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .6rem; margin: 0; padding: 0; list-style: none; }
.ins-shots li { display: grid; gap: .5rem; }
.ins-shots svg { display: block; width: 100%; height: auto; }
.ins-shots span { font-size: .9375rem; font-weight: 700; text-align: center; }

/* 表格：桌機是表格，手機改成一列一張卡，不撐出橫向捲動 */
.ins-table-wrap { margin: 2rem 0; }
.ins-table { width: 100%; border-collapse: collapse; font-size: .96875rem; line-height: 1.7; background: var(--ins-white); }
.ins-table caption { padding: 0 0 .7rem; text-align: left; font-size: .9375rem; font-weight: 700; color: var(--ins-muted); }
.ins-table th, .ins-table td { padding: .85rem 1rem; text-align: left; vertical-align: top; }
.ins-table thead th { color: var(--ins-paper); background: var(--ins-navy); font-size: .9375rem; font-weight: 650; }
.ins-table tbody tr:nth-child(even) { background: #f0f2eb; }
.ins-table tbody th { font-weight: 700; white-space: nowrap; }
.ins-table .ins-blank { color: var(--ins-muted); }
.ins-table .ins-blank span { display: block; height: 1.7em; border-bottom: .1rem dotted #9aa7ad; }
.ins-table tr.ins-row-blank th { color: var(--ins-link); }

/* 可複製帶走的清單 */
.ins-check { margin-top: 1.5rem; padding: clamp(1.5rem, 4vw, 2.25rem); color: var(--ins-paper); background: var(--ins-navy); }
.ins-check__top { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: .75rem 1.5rem; margin-bottom: 1.5rem; }
.ins-check__top p { margin: 0 !important; color: var(--ins-ivory); font-size: .96875rem; }
.ins-copy { display: inline-flex; align-items: center; min-height: 2.75rem; padding: .5rem 1.1rem; border: 0; color: var(--ins-navy); background: var(--ins-ivory); font-size: 1rem; font-weight: 650; cursor: pointer; }
.ins-copy[hidden] { display: none; }
.ins-copy:hover { background: #fff; }
.ins-check__groups { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.5rem 2rem; }
.ins-check h3 { margin: 0 0 .5rem; color: var(--ins-signal); font-size: 1rem; letter-spacing: .04em; }
.ins-check ul { display: grid; gap: .5rem; margin: 0; padding: 0; list-style: none; }
.ins-check li { position: relative; padding-left: 1.75rem; font-size: 1rem; line-height: 1.7; }
.ins-check li::before { content: ""; position: absolute; left: 0; top: .3em; width: 1.05rem; height: 1.05rem; box-shadow: inset 0 0 0 .14rem var(--ins-ivory); }
.ins-copy-status { min-height: 1.6em; margin: 1.25rem 0 0 !important; font-size: .9375rem; color: var(--ins-ivory); }

/* 來源與說明 */
.ins-sources { font-size: .96875rem; line-height: 1.85; color: var(--ins-muted); }
.ins-sources h2 { font-size: 1.375rem; color: var(--ins-navy); }
.ins-sources ol { margin: 0; padding-left: 1.3em; }
.ins-sources li + li { margin-top: .65rem; }
.ins-sources a { overflow-wrap: anywhere; }

/* 延伸閱讀：沿用文章卡片 */
.ins-related { width: min(var(--ins-max), 100% - 2 * var(--ins-gutter)); margin: clamp(4rem, 8vw, 6rem) auto 0; }
.ins-related h2 { margin: 0 0 1.25rem; font-size: clamp(1.375rem, 1.1rem + .9vw, 1.75rem); font-weight: 650; }

/* 合作下一步 */
.ins-cta { margin-top: clamp(4rem, 8vw, 6rem); padding-block: clamp(3rem, 7vw, 5rem); color: var(--ins-ivory); background: var(--ins-navy); }
.ins-cta__inner { width: min(60rem, 100% - 2 * var(--ins-gutter)); margin-inline: auto; }
.ins-cta h2 { margin: 0 0 1rem; color: var(--ins-paper); font-size: clamp(1.625rem, 1.2rem + 1.6vw, 2.5rem); line-height: 1.45; font-weight: 650; letter-spacing: -.025em; }
.ins-cta p { max-width: 36em; margin: 0; font-size: 1.0625rem; line-height: 1.85; }
.ins-cta__actions { display: flex; flex-wrap: wrap; align-items: center; gap: 1rem 1.75rem; margin-top: 1.75rem; }
.ins-cta__line { color: var(--ins-ivory); font-weight: 650; }

/* ── 窄螢幕 ── */
@media (max-width: 47.99rem) {
  .ins-next__grid, .ins-check__groups, .ins-prep { grid-template-columns: minmax(0, 1fr); }
  .ins-steps ol { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .ins-hero { margin-top: calc(-1 * clamp(3rem, 13vw, 4rem)); }
  .ins-c__sum { -webkit-line-clamp: 2; }
  .ins-card dl { grid-template-columns: minmax(0, 1fr); gap: .1rem; }
  .ins-card dd + dt { margin-top: .7rem; }
  .ins-flow__head { display: none; }
  .ins-flow__row { grid-template-columns: minmax(0, 1fr); row-gap: 1.05rem; }
  .ins-flow__rows { gap: 1.25rem; }
  .ins-flow__what::before, .ins-flow__next::before { top: -.95rem; left: 1.1rem; width: .9rem; height: .75rem; margin-top: 0; clip-path: polygon(0 0, 100% 0, 50% 100%); }
  .ins-flow__k { position: static; display: block; width: auto; height: auto; overflow: visible; clip: auto; white-space: normal; font-size: .8125rem; font-weight: 700; color: var(--ins-muted); }
  .ins-anno { gap: .75rem; }
  .ins-mark span { font-size: .75rem; padding-inline: .3rem; }
  .ins-tracks { padding: 1rem; }
  .ins-tracks__row { grid-template-columns: 2.5rem minmax(0, 1fr); gap: .5rem; }
  .ins-tracks__head { left: calc(4rem + (100% - 5rem) * .42); }
  .ins-table, .ins-table tbody, .ins-table tr, .ins-table th, .ins-table td { display: block; }
  .ins-table { background: transparent; }
  .ins-table caption { display: block; }
  .ins-table thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
  .ins-table tbody { display: grid; gap: .6rem; }
  .ins-table tbody tr, .ins-table tbody tr:nth-child(even) { padding: 1rem 1.1rem; background: var(--ins-white); }
  .ins-table tbody th { padding: 0 0 .45rem; white-space: normal; font-size: 1.0625rem; }
  .ins-table td { padding: .3rem 0; }
  .ins-table td::before { content: attr(data-label); display: block; font-size: .8125rem; font-weight: 700; line-height: 1.6; color: var(--ins-muted); }
  .ins-check { margin-inline: calc(-1 * min(var(--ins-gutter), 1.25rem)); }
}
@media (prefers-reduced-motion: no-preference) {
  .ins-toc--inline summary::after { transition: transform .2s ease, margin-top .2s ease; }
}
@media print {
  .page-header, .site-footer, .fab-stack, .ins-toc, .ins-cta, .ins-related, .ins-copy, .skip-link { display: none !important; }
  .ins-head, .ins-check { color: #000; background: none; }
  .ins-head h1, .ins-check h3 { color: #000; }
  body { padding-top: 0 !important; }
}

/* ── 2026-10-18 第三版：首頁卡片圓角（使用者指定；全站其他元件維持方角） ── */
.ins-page .ins-c { border-radius: 1rem !important; overflow: hidden; }
.ins-page .ins-c:focus-within { outline-offset: .3rem; }
.ins-page .ins-cats__list a { border-radius: 999px !important; padding-inline: 1.1rem; }
.ins-page .ins-c__badge { left: .75rem; top: .75rem; padding: .25rem .8rem; border-radius: 999px !important; }

/* ── 雜誌式文章版面：重點先看、正文連續、清單放文末 ── */
.ins-keypoints { margin: 0 0 2.25rem; padding: 1.25rem 1.5rem 1.35rem; background: var(--ins-white); border-top: .25rem solid var(--ins-ivory); }
.ins-keypoints__title { margin: 0 0 .5rem !important; font-size: .9375rem; font-weight: 700; color: var(--ins-link); }
.ins-keypoints ul { display: grid; gap: .45rem; margin: 0; padding: 0; list-style: none; }
.ins-keypoints li { position: relative; padding-left: 1.15rem; font-size: 1rem; line-height: 1.75; }
.ins-keypoints li::before { content: ""; position: absolute; left: 0; top: .72em; width: .45rem; height: .45rem; background: var(--ins-signal); }
.ins-keypoints a { color: inherit; }
.ins-lede p { font-size: 1em; }
.ins-lede p:first-child { font-size: 1.0625em; line-height: 1.8; }
.ins-quote { margin: 2.5rem 0; padding: .1rem 0 .1rem 1.25rem; border-left: .3rem solid var(--ins-signal); }
.ins-quote p { margin: 0 !important; font-size: 1.3em; line-height: 1.6; font-weight: 650; color: var(--ins-link); text-wrap: balance; }
.ins-prose strong.ins-key { font-weight: 700; background: linear-gradient(transparent 62%, rgb(226 226 182 / .85) 62%); }
.ins-appendix { padding-top: 2.5rem; border-top: .0625rem solid #d5dcd9; }
.ins-appendix > p:first-of-type { color: var(--ins-muted); }
.ins-news__meaning { padding: .9rem 1.1rem; background: var(--ins-tint); }
.ins-news__meaning b { color: var(--ins-link); }
.ins-news__src { font-size: .9375rem; line-height: 1.75; color: var(--ins-muted); }
.ins-news__src a { overflow-wrap: anywhere; }
.ins-dot--news { background: var(--ins-navy); box-shadow: inset 0 0 0 .1rem var(--ins-signal); }
.ins-prose > .ins-toc--inline:first-child { margin: 0 0 1.75rem; }
/* 段落之間不要拉太開，讀起來才連續；清單與來源保留較大的間距 */
.ins-prose .ins-sec { margin-top: clamp(2.75rem, 5.5vw, 3.75rem); }
.ins-prose .ins-appendix, .ins-prose .ins-sources { margin-top: clamp(3.5rem, 7vw, 5rem); }
.ins-prose .ins-lede + .ins-steps, .ins-prose .ins-lede + .ins-sec { margin-top: 2rem; }
.ins-c--news .ins-c__badge { color: var(--ins-navy); background: var(--ins-ivory); }
