﻿/* ============================================================
   index-v2.css — 首頁 ContentPlaceHolder1 新版套版專用
   - 全部 class 加 iv2- 前綴,scope 在 .iv2-root 內
   - 不動 reset/全域 typography/Bootstrap .container/.row,避免汙染其他頁
   - 2026-05-19 v2.4: 將 rem → em (fix: rem 仍以 html 16px 為準,不會跟著 .iv2-root font-size 放大)
   ============================================================ */

.iv2-root {
  --iv2-brand-navy: #0a1530;
  --iv2-brand-navy-deep: #070f24;
  --iv2-brand-navy-mid: #1a2a52;
  --iv2-primary: #5645d4;
  --iv2-primary-pressed: #4534b3;
  --iv2-primary-deep: #3a2a99;
  --iv2-primary-soft: #ece9fb;
  --iv2-accent-red: #ff385c;
  --iv2-accent-amber: #f5d75e;
  --iv2-success: #1aae39;
  --iv2-warning: #dd5b00;
  --iv2-error: #e03131;
  --iv2-canvas: #ffffff;
  --iv2-surface: #f6f5f4;
  --iv2-surface-soft: #fafaf9;
  --iv2-surface-dark: #121212;
  --iv2-hairline: #e5e3df;
  --iv2-hairline-soft: #ede9e4;
  --iv2-hairline-strong: #c8c4be;
  --iv2-ink: #1a1a1a;
  --iv2-charcoal: #37352f;
  --iv2-slate: #5d5b54;
  --iv2-steel: #787671;
  --iv2-muted: #bbb8b1;
  --iv2-tint-peach: #ffe8d4;
  --iv2-tint-mint: #d9f3e1;
  --iv2-tint-lavender: #e6e0f5;
  --iv2-tint-sky: #dcecfa;
  --iv2-tint-yellow: #fef7d6;
  /* v2.5: 字體統一為 Noto Sans Traditional Chinese (繁中為主,移除 Inter) */
  --iv2-font: 'Noto Sans TC', 'Noto Sans Traditional Chinese', 'Microsoft JhengHei', PingFangTC, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  /* v2.7: 大標題縮小一級 (h1: 40-60 → 32-46;h2: 32-48 → 26-38) */
  --iv2-fs-h1: clamp(32px, 22px + 2vw, 46px);
  --iv2-fs-h2: clamp(26px, 18px + 1.4vw, 38px);
  --iv2-r-sm: 10px;
  --iv2-r-md: 14px;
  --iv2-r-lg: 20px;
  --iv2-r-xl: 28px;
  --iv2-r-pill: 999px;
  --iv2-s-2: 8px;
  --iv2-s-3: 12px;
  --iv2-s-4: 16px;
  --iv2-s-5: 24px;
  --iv2-s-6: 32px;
  --iv2-s-7: 48px;
  --iv2-s-8: 64px;
  --iv2-s-9: 96px;
  /* v2.11: lg 陰影微提升,與全站公開頁一致(0.12→0.15、距離加大) */
  --iv2-shadow-lg: 0 16px 40px rgba(15,23,48,0.15), 0 4px 8px rgba(15,23,48,0.06);
  --iv2-shadow-dark: 0 8px 24px rgba(0,0,0,0.5);

  font-family: var(--iv2-font);
  /* v2.5 base: 17px (v2.4 22px 太大,縮回適中;em 系統會自動成比例縮放) */
  font-size: 17px;
  color: var(--iv2-ink);
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

.iv2-root * { box-sizing: border-box; }
.iv2-root img,
.iv2-root svg,
.iv2-root video { display: block; max-width: 100%; height: auto; }
.iv2-root a { color: inherit; text-decoration: none; }
.iv2-root ul { padding: 0; margin: 0; list-style: none; }
.iv2-root h1,
.iv2-root h2,
.iv2-root h3,
.iv2-root h4,
.iv2-root p { margin: 0; }

/* container */
/* 寬度占比:電腦 80% / 平板 90% / 手機 100% */
.iv2-wrap { width: 80%; max-width: none; margin-inline: auto; padding-inline: var(--iv2-s-5); }
@media (max-width: 1024px) { .iv2-wrap { width: 90%; } }
@media (max-width: 600px) { .iv2-wrap { width: 100%; padding-inline: 14px; } }
.iv2-sec { padding-block: var(--iv2-s-9); }
.iv2-sec-sm { padding-block: var(--iv2-s-8); }
@media (max-width: 600px) {
  .iv2-sec, .iv2-sec-sm { padding-block: var(--iv2-s-7); }
}

/* Typography (em 取代 rem,跟著 .iv2-root 22px 放大) */
.iv2-eyebrow { font-size: 0.95em; font-weight: 600; letter-spacing: 0.14em; text-transform: uppercase; color: var(--iv2-primary); }
.iv2-h1 { font-size: var(--iv2-fs-h1); font-weight: 600; line-height: 1.2; letter-spacing: -0.01em; color: var(--iv2-ink); }
.iv2-h2 { font-size: var(--iv2-fs-h2); font-weight: 600; line-height: 1.25; letter-spacing: -0.005em; color: var(--iv2-ink); }
.iv2-lead { font-size: 1.15em; line-height: 1.7; color: var(--iv2-slate); margin-top: 10px; }

/* 按鈕 */
.iv2-btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 10px;
  height: 52px; padding: 0 32px; border-radius: var(--iv2-r-pill);
  font-weight: 600; font-size: 1.05em; transition: all .15s ease;
  white-space: nowrap; border: none; cursor: pointer; font-family: inherit;
  text-decoration: none;
}
.iv2-btn:active { transform: translateY(1px); }
.iv2-btn-primary { background: var(--iv2-primary); color: #fff; box-shadow: 0 6px 18px rgba(86,69,212,0.35); }
.iv2-btn-primary:hover { background: var(--iv2-primary-pressed); color: #fff; }
.iv2-btn-ghost { background: transparent; color: var(--iv2-charcoal); border: 1px solid var(--iv2-hairline-strong); }
.iv2-btn-ghost:hover { background: var(--iv2-surface); color: var(--iv2-charcoal); }
.iv2-btn-on-dark { background: #fff; color: var(--iv2-ink); }
.iv2-btn-on-dark:hover { background: var(--iv2-surface); color: var(--iv2-ink); }
.iv2-btn-lg { height: 56px; padding: 0 36px; font-size: 1.15em; }

/* 區塊標題 */
.iv2-sec-head { display: flex; align-items: end; justify-content: space-between; gap: var(--iv2-s-5); margin-bottom: var(--iv2-s-6); flex-wrap: wrap; }
.iv2-sec-head .iv2-sh-left { max-width: 720px; }
.iv2-sec-head .iv2-h1 { margin-top: 10px; }

/* ============ 班型卡片 (v2.7 教育專業風格升級) ============ */
.iv2-plan-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: var(--iv2-s-5); }
@media (max-width: 900px) { .iv2-plan-grid { grid-template-columns: 1fr; } }
.iv2-plan {
  border-radius: var(--iv2-r-lg);
  padding: var(--iv2-s-7) var(--iv2-s-6) var(--iv2-s-6);
  position: relative; overflow: hidden;
  display: flex; flex-direction: column;
  transition: transform .3s cubic-bezier(.16,1,.3,1), box-shadow .3s;
  min-height: 420px;
  cursor: pointer;
  background: #ffffff;
  border: 1px solid var(--iv2-hairline);
  /* v2.11: 靜止態陰影提升,卡片有「浮起」實體感(原 0 2px 8px/0.04 過扁) */
  box-shadow: 0 6px 16px rgba(15,23,48,0.06), 0 2px 4px rgba(15,23,48,0.04);
}
/* v2.10 上方漸層 strip (取代左側 bar,更精緻) */
.iv2-plan::before {
  content: ""; position: absolute; top: 0; left: 0; right: 0; height: 5px;
  background: linear-gradient(90deg, var(--iv2-primary) 0%, var(--iv2-primary-deep) 100%);
  z-index: 1;
}
.iv2-plan-2::before {
  background: linear-gradient(90deg, var(--iv2-warning) 0%, #f5b41f 100%);
}
/* 右上角裝飾大圈 (subtle watermark) */
.iv2-plan::after {
  content: ""; position: absolute;
  right: -80px; top: -80px;
  width: 220px; height: 220px;
  border-radius: 50%;
  background: var(--iv2-primary-soft);
  opacity: 0.35;
  pointer-events: none;
}
.iv2-plan-2::after { background: var(--iv2-tint-peach); }

.iv2-plan:hover {
  transform: translateY(-6px);
  /* v2.11: hover 陰影收斂,與已提升的靜止態落差變小,過渡更順、不突兀 */
  box-shadow: 0 22px 44px rgba(15,23,48,0.13), 0 8px 16px rgba(15,23,48,0.06);
  border-color: rgba(86,69,212,0.28);
}
.iv2-plan:hover::after { opacity: 0.55; transition: opacity .3s; }

/* 確保所有內容浮在裝飾圈之上 */
.iv2-plan > * { position: relative; z-index: 2; }

/* 卡片頂部:章節徽章 + 學術圖示 */
.iv2-plan-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 14px; }
.iv2-plan .iv2-plan-num {
  display: inline-flex; align-items: center; gap: 6px;
  padding: 6px 12px;
  font-size: 0.78em; font-weight: 700; letter-spacing: 0.14em;
  color: var(--iv2-primary-deep);
  background: var(--iv2-primary-soft);
  border-radius: var(--iv2-r-sm);
  text-transform: uppercase;
}
.iv2-plan-2 .iv2-plan-num { color: #7a3f0e; background: var(--iv2-tint-peach); }
.iv2-plan .iv2-plan-icon {
  width: 40px; height: 40px;
  display: grid; place-items: center;
  color: var(--iv2-primary);
  opacity: 0.85;
}
.iv2-plan-2 .iv2-plan-icon { color: var(--iv2-warning); }
.iv2-plan .iv2-plan-icon svg { width: 100%; height: 100%; stroke: currentColor; fill: none; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }

/* 標題 + subtitle */
.iv2-plan h3 {
  font-size: 1.6em; color: var(--iv2-brand-navy);
  letter-spacing: -0.01em; font-weight: 700;
  line-height: 1.25;
}
.iv2-plan .iv2-plan-subtitle {
  font-size: 0.9em; color: var(--iv2-slate);
  font-weight: 500; margin-top: 4px;
}

/* 內文(加粗 + 紙感行距) */
.iv2-plan p {
  color: var(--iv2-charcoal);
  margin-top: 18px;
  font-size: 0.95em;
  line-height: 1.85;
  font-weight: 500;  /* v2.7 加粗 */
  flex: 1;
}

/* 重點 chip 列 (v2.8: 強制 3 等寬一排,nowrap 避免破版) */
.iv2-plan-highlights {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 8px;
  margin-top: 20px;
  padding-top: 18px;
  border-top: 1px dashed var(--iv2-hairline-strong);
}
.iv2-plan-chip {
  display: inline-flex; align-items: center; justify-content: center; gap: 6px;
  padding: 6px 10px;
  font-size: 0.8em; font-weight: 600;
  color: var(--iv2-brand-navy);
  background: var(--iv2-surface-soft);
  border: 1px solid var(--iv2-hairline);
  border-radius: var(--iv2-r-pill);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  min-width: 0;
}
.iv2-plan-chip svg { width: 12px; height: 12px; stroke: var(--iv2-success); fill: none; stroke-width: 3; stroke-linecap: round; stroke-linejoin: round; flex-shrink: 0; }

/* 手機:特色膠囊改自動換行(不再鎖 3 欄),讓文字完整顯示、不被截斷 */
@media (max-width: 600px) {
  .iv2-plan-highlights { display: flex; flex-wrap: wrap; gap: 8px; }
  .iv2-plan-chip { flex: 0 0 auto; padding: 6px 12px; font-size: 0.82em; }
}

/* 卡片底部行動列 */
.iv2-plan-cta {
  display: flex; align-items: center; justify-content: space-between;
  margin-top: 18px;
  padding-top: 16px;
  border-top: 1px solid var(--iv2-hairline-soft);
  color: var(--iv2-primary);
  font-weight: 600; font-size: 0.92em;
}
.iv2-plan-2 .iv2-plan-cta { color: var(--iv2-warning); }
.iv2-plan-cta .iv2-arrow-inline {
  display: inline-grid; place-items: center;
  width: 32px; height: 32px; border-radius: 50%;
  background: var(--iv2-primary); color: #fff;
  font-size: 0.95em; transition: transform .15s;
}
.iv2-plan-2 .iv2-plan-cta .iv2-arrow-inline { background: var(--iv2-warning); }
.iv2-plan:hover .iv2-arrow-inline { transform: translateX(3px); }

/* ============ 最新消息 (大日期 + SVG icon + 文字標籤) ============ */
.iv2-news-strip { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--iv2-s-5); }
@media (max-width: 900px) { .iv2-news-strip { grid-template-columns: 1fr; } }
.iv2-news-mini { background: var(--iv2-canvas); border: 1px solid var(--iv2-hairline); border-radius: var(--iv2-r-md); overflow: hidden; transition: transform .2s, box-shadow .2s, border-color .2s; display: flex; flex-direction: column; box-shadow: 0 4px 12px rgba(15,23,48,0.05), 0 1px 3px rgba(15,23,48,0.03); }
.iv2-news-mini:hover { transform: translateY(-4px); box-shadow: var(--iv2-shadow-lg); border-color: transparent; }

/* 封面 */
.iv2-news-cover { aspect-ratio: 16/9; position: relative; overflow: hidden; color: #fff; }
.iv2-news-cover::before { content: ""; position: absolute; inset: 0; background-image: linear-gradient(rgba(255,255,255,0.06) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,0.06) 1px, transparent 1px); background-size: 32px 32px; pointer-events: none; }
.iv2-news-cover::after { content: ""; position: absolute; right: -40px; top: -40px; width: 160px; height: 160px; border-radius: 50%; background: rgba(255,255,255,0.08); pointer-events: none; }
/* v2.3 封面右上角 pill 標籤 (SVG + 文字) */
.iv2-news-cover .iv2-news-cover-tag { position: absolute; top: 16px; right: 16px; display: inline-flex; align-items: center; gap: 8px; padding: 10px 18px 10px 14px; background: rgba(255,255,255,0.95); border-radius: var(--iv2-r-pill); backdrop-filter: blur(8px); -webkit-backdrop-filter: blur(8px); z-index: 2; box-shadow: 0 2px 8px rgba(0,0,0,0.18); }
.iv2-news-cover .iv2-news-cover-tag svg { width: 22px; height: 22px; stroke: var(--iv2-primary); fill: none; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; display: block; flex-shrink: 0; }
.iv2-news-cover .iv2-news-cover-tag span { font-size: 0.95em; font-weight: 700; color: var(--iv2-ink); letter-spacing: 0.02em; white-space: nowrap; }
.iv2-news-cover .iv2-news-date { position: absolute; left: 24px; bottom: 20px; z-index: 2; line-height: 1.1; }
/* v2.9: 3 行 stack 民國年 / M/D / 中文星期 (例 民國 115 / 5/14 / 週三) */
.iv2-news-cover .iv2-news-date .iv2-news-year { font-size: 0.78em; font-weight: 600; letter-spacing: 0.08em; color: rgba(255,255,255,0.85); display: block; margin-bottom: 4px; }
.iv2-news-cover .iv2-news-date .iv2-news-day { font-size: 2.2em; font-weight: 700; letter-spacing: -0.02em; color: #fff; display: block; font-variant-numeric: tabular-nums; }
.iv2-news-cover .iv2-news-date .iv2-news-month { font-size: 0.95em; font-weight: 600; letter-spacing: 0.06em; color: rgba(255,255,255,0.9); display: block; margin-top: 6px; }

.iv2-news-mini .iv2-news-body { padding: var(--iv2-s-5); flex: 1; display: flex; flex-direction: column; }
.iv2-news-mini .iv2-news-tag { font-size: 0.85em; font-weight: 600; padding: 6px 14px; border-radius: var(--iv2-r-pill); align-self: flex-start; background: var(--iv2-primary-soft); color: var(--iv2-primary-deep); letter-spacing: 0.05em; }
.iv2-news-mini h3 { font-size: 1.25em; font-weight: 600; color: var(--iv2-ink); margin-top: 16px; line-height: 1.55; flex: 1; letter-spacing: -0.005em; }
.iv2-news-mini .iv2-news-foot { margin-top: var(--iv2-s-4); padding-top: 14px; border-top: 1px solid var(--iv2-hairline-soft); font-size: 0.95em; color: var(--iv2-slate); display: flex; align-items: center; gap: 6px; }

/* ============ 推薦影片 ============ */
.iv2-video-sec { background: var(--iv2-surface-dark); color: #fff; padding-block: var(--iv2-s-9); position: relative; overflow: hidden; }
.iv2-video-sec::before { content: ""; position: absolute; inset: 0; background: radial-gradient(at 70% 30%, rgba(86,69,212,0.25) 0%, transparent 50%), radial-gradient(at 20% 80%, rgba(42,157,153,0.18) 0%, transparent 45%); pointer-events: none; }
/* v2.11: 暗區細網格紋理 — 增加材質感,避免大片純色顯空(同消息封面手法,更淡) */
.iv2-video-sec::after { content: ""; position: absolute; inset: 0; z-index: 0; pointer-events: none; background-image: linear-gradient(rgba(255,255,255,0.035) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,0.035) 1px, transparent 1px); background-size: 44px 44px; -webkit-mask-image: radial-gradient(120% 100% at 50% 0%, #000 35%, transparent 85%); mask-image: radial-gradient(120% 100% at 50% 0%, #000 35%, transparent 85%); }
.iv2-video-sec .iv2-sec-head { position: relative; z-index: 1; }
.iv2-video-sec .iv2-h1 { color: #fff; }
.iv2-video-sec .iv2-lead { color: rgba(255,255,255,0.65); }
.iv2-video-sec .iv2-eyebrow { color: var(--iv2-accent-amber); }
.iv2-video-grid { display: grid; grid-template-columns: 420px 1fr; gap: var(--iv2-s-6); position: relative; z-index: 1; }
@media (max-width: 900px) { .iv2-video-grid { grid-template-columns: 1fr; } }
.iv2-video-list { display: flex; flex-direction: column; gap: 10px; max-height: 560px; overflow-y: auto; padding-right: 6px; }
.iv2-video-list::-webkit-scrollbar { width: 6px; }
.iv2-video-list::-webkit-scrollbar-thumb { background: rgba(255,255,255,0.15); border-radius: 3px; }
.iv2-video-item { display: grid; grid-template-columns: 120px 1fr; gap: 14px; padding: 14px; background: rgba(255,255,255,0.04); border: 1px solid rgba(255,255,255,0.08); border-radius: var(--iv2-r-md); cursor: pointer; transition: all .15s; align-items: center; }
.iv2-video-item:hover { background: rgba(255,255,255,0.08); border-color: rgba(255,255,255,0.18); }
.iv2-video-item.is-active { background: rgba(86,69,212,0.22); border-color: var(--iv2-primary); }

/* 縮圖 */
.iv2-vi-thumb { aspect-ratio: 16/9; border-radius: 8px; position: relative; overflow: hidden; }
.iv2-vi-thumb::before { content: ""; position: absolute; inset: 0; background-image: linear-gradient(135deg, rgba(0,0,0,0.0) 50%, rgba(0,0,0,0.25) 100%); pointer-events: none; }
.iv2-vi-thumb .iv2-vi-play { position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); width: 36px; height: 36px; border-radius: 50%; background: rgba(255,255,255,0.9); color: var(--iv2-ink); display: grid; place-items: center; box-shadow: 0 4px 12px rgba(0,0,0,0.3); }
.iv2-vi-thumb .iv2-vi-play svg { width: 14px; height: 14px; fill: currentColor; margin-left: 1px; }
.iv2-vi-thumb .iv2-vi-num { position: absolute; left: 8px; bottom: 6px; font-size: 0.8em; font-weight: 700; color: rgba(255,255,255,0.95); letter-spacing: 0.06em; text-shadow: 0 1px 2px rgba(0,0,0,0.4); }
.iv2-video-item.is-active .iv2-vi-thumb .iv2-vi-play { background: var(--iv2-accent-amber); }

.iv2-video-item .iv2-vi-meta { min-width: 0; }
.iv2-video-item .iv2-vi-title { font-size: 1.05em; font-weight: 600; color: #fff; line-height: 1.5; word-break: break-word; }
.iv2-video-player-wrap { display: flex; flex-direction: column; }
.iv2-video-player { background: #000; border-radius: var(--iv2-r-md); aspect-ratio: 16/9; overflow: hidden; position: relative; box-shadow: var(--iv2-shadow-dark); }
.iv2-video-player iframe { width: 100%; height: 100%; border: 0; display: block; }

/* Banner / 隱藏停用區塊 */
.iv2-banner-wrap { position: relative; }
.iv2-hidden { display: none !important; }

/* ============================================================
   捲動進場動效 (AOS · 內斂精緻版)  2026-06-02
   - 進場前位移採「內斂幅度」覆寫 AOS 預設 100px (僅作用於尚未進場 :not(.aos-animate));
     進場後交回 AOS 自身控制 (transform:none)
   - 既有 .iv2-plan / .iv2-news-mini hover 維持不變,僅新增封面微推近
   - 失效/減動防呆:JS 端移除 data-aos;此處再以 CSS 保險,確保內容完整顯示
   ============================================================ */
.iv2-root [data-aos="fade-up"]:not(.aos-animate)   { transform: translate3d(0, 22px, 0); }
.iv2-root [data-aos="fade-left"]:not(.aos-animate) { transform: translate3d(28px, 0, 0); }
/* 手機/平板:fade-left 的 +28px 水平預備位移(如推薦影片播放器)會撐出右側暫時性溢出 → 改垂直進場 */
@media (max-width: 768px) {
  .iv2-root [data-aos="fade-left"]:not(.aos-animate) { transform: translate3d(0, 22px, 0); }
}
/* eyebrow 是 inline <span>,transform 對 inline 無效 → 帶進場時轉 inline-block(其後接 block h2,視覺不變) */
.iv2-root .iv2-eyebrow[data-aos] { display: inline-block; }

/* 最新消息封面 hover 微推近 (卡片本身已 overflow:hidden,放大會被裁切不溢出) */
.iv2-news-cover { transition: transform .5s cubic-bezier(.16,1,.3,1); }
.iv2-news-mini:hover .iv2-news-cover { transform: scale(1.03); }

/* C: 平滑捲動 (僅首頁載入此 CSS,不影響其他頁) */
html { scroll-behavior: smooth; }

/* E: Hero 輕量光感 — 載入時一道柔光掃過 Banner
   作法:在 .iv2-banner-wrap 外層疊一層 ::after 漸層(pointer-events:none,不碰 Revolution Slider 內部與點擊),
   僅動 background-position 不位移元素本身,故不需 overflow:hidden、不會裁切 slider 箭頭/分頁 */
.iv2-banner-wrap::after {
  content: ""; position: absolute; inset: 0; z-index: 5; pointer-events: none;
  /* v2.11: 亮帶拉寬(33→67%)、亮度提高(0.20→0.30),掃過更明顯 */
  background: linear-gradient(105deg, transparent 30%, rgba(255,255,255,0.30) 50%, transparent 70%);
  background-size: 300% 100%; background-position: 120% 0;
  opacity: 0;
  /* v2.11: 放慢 1.8s→2.4s 並延後亮度收尾,讓使用者實際看到掃光 */
  animation: iv2HeroSheen 2.4s cubic-bezier(.16,1,.3,1) 0.4s 1 forwards;
}
@keyframes iv2HeroSheen {
  0%   { opacity: 0;   background-position: 120% 0; }
  20%  { opacity: 1; }
  70%  { opacity: 1; }
  100% { opacity: 0;   background-position: -20% 0; }
}

/* 進階:推薦影片暗區光暈視差 (JS 設 --iv2-parallax;::before 加大 inset 留緩衝,
   .iv2-video-sec 已 overflow:hidden 會裁切,故位移不會露出硬邊) */
.iv2-video-sec::before { inset: -48px; transform: translate3d(0, var(--iv2-parallax, 0px), 0); will-change: transform; }

/* 進階:班型卡 3D 微傾斜由 index.js 以 inline transform 控制(限桌機游標);
   此處不設 will-change,僅 2 張卡,避免常駐合成層 */

@media (prefers-reduced-motion: reduce) {
  .iv2-root [data-aos] { opacity: 1 !important; transform: none !important; transition: none !important; }
  .iv2-news-cover { transition: none !important; }
  .iv2-news-mini:hover .iv2-news-cover { transform: none !important; }
  html { scroll-behavior: auto; }
  .iv2-banner-wrap::after { animation: none !important; opacity: 0 !important; }
  .iv2-video-sec::before { transform: none !important; }
}
