/* ============================================================================
   全站彙整頁（專業課程／最新活動／美業成功方程式）
   ----------------------------------------------------------------------------
   乙線第 3 件，2026-10-05 建立。搭配 im-academy/archive-parts.php 與三個 archive-*.php。
   設計稿：13_新視覺改版/01_設計稿/04_全站彙整頁/（桌機＋手機）。
   命名 .im-sarch-*（site archive）。刻意不用舊的 .im-site-archive--* class，
   因為設計系統尾端有舊版補丁掛在那些 class 上（含 !important），會互相打架。
   註解裡的「目標」＝設計稿比例 × 1440（桌機）。
   ============================================================================ */

/* ── 底色與變數 ─────────────────────────────────────────────────────────────── */
body:has(.im-sarch) { background: #000000; }
@media (min-width: 1001px) { body:has(.im-sarch) { padding-right: 0; } }
body:has(.im-sarch) .im-footer--site { margin-top: 0; }

.im-academy.im-sarch {
  --im-brand-ink: #EB6DA5;          /* 全站頁沒有單一學院：用集團粉（業主 10/05：全站用品牌色） */
  --im-on-brand: #14100A;
  --im-accent: #EB6DA5;             /* 集團粉：深底 */
  background: var(--im-bg);
  color: var(--im-text);
  font-family: var(--im-font-sans);
  overflow-x: visible; /* 第112件：clip 祖先會讓 Safari 的 sticky 錨點列失效。 */
}
.im-sarch h1, .im-sarch h2, .im-sarch h3 { margin: 0; font-family: var(--im-font-serif); font-weight: var(--im-fw-medium); color: var(--im-text-strong); }
.im-sarch p { margin: 0; }
.im-sarch img { display: block; width: 100%; height: 100%; object-fit: cover; }
.im-sarch .screen-reader-text { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.im-sarch-main { display: block; }

/* 頁首以下的米色區（活動、文章兩頁）：改用淺色版變數（值同設計系統 .is-light） */
.im-academy.is-dark .im-sarch-light {
  --im-bg: #F3EEE8; --im-surface: #FBF8F4; --im-surface-2: #EFE9E1; --im-surface-3: #E7DED3;
  --im-text: #2E2A26; --im-text-strong: #1C1917; --im-text-muted: #5F5952; --im-text-faint: #736C64;
  --im-line: #DED5CA; --im-line-strong: #C6B9A8;
  --im-brand-ink: #7A5426; --im-on-brand: #FFFFFF; --im-accent: #A7456F;
  display: flow-root; padding-block-end: clamp(2.5rem, 4vw, 4rem); background: var(--im-bg); color: var(--im-text); color-scheme: light;
}

/* 內容寬度：直接用設計系統的 .im-wrap（--im-container／--im-gutter），跟首頁同一條線（總控 10/05） */

/* ── 頁首 ───────────────────────────────────────────────────────────────────── */
.im-sarch-hero { position: relative; display: flex; align-items: center; min-height: clamp(260px, 21vw, 340px); overflow: hidden; background: #000; border-block-end: 1px solid #241C13; }
.im-sarch-hero__inner { position: relative; z-index: 1; padding-block: var(--im-s-7); }
.im-sarch-hero .im-crumb { margin-block-end: var(--im-s-4); }
.im-sarch-hero .im-crumb, .im-sarch-hero .im-crumb a { color: #CFC6BA; }
.im-sarch-hero .im-crumb [aria-current] { color: #FFFFFF; }
.im-sarch-hero__title { font-size: clamp(2.25rem, 1.4rem + 2.6vw, 4rem); letter-spacing: .1em; line-height: 1.2; color: #FFFFFF; }
.im-sarch-hero__en { margin-block-start: var(--im-s-2); font-family: var(--im-font-serif); font-size: clamp(1rem, .8rem + .8vw, 1.5rem); letter-spacing: .28em; text-transform: uppercase; color: #EB6DA5; }
.im-sarch-hero__lede { max-width: 26em; margin-block-start: var(--im-s-4); font-size: var(--im-fs-base); line-height: 1.9; color: #F2EEE8; }
.im-sarch-hero__rule { display: block; width: 3rem; height: 2px; margin-block-start: var(--im-s-5); background: #EB6DA5; }
.im-sarch-hero__media { position: absolute; inset: 0 0 0 auto; width: 58%; }
.im-sarch-hero__media::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, #000 0%, rgba(0,0,0,.55) 30%, transparent 65%); pointer-events: none; }
.im-sarch-hero__img { position: absolute; inset: 0; overflow: hidden; }

/* 課程：直條拼貼，目標 0.21（≈300px） */
.im-sarch-hero--strips .im-sarch-hero__media { display: flex; gap: 2px; width: 60%; }
.im-sarch-hero--strips .im-sarch-hero__img { position: relative; inset: auto; flex: 1; }
.im-sarch-hero--strips .im-sarch-hero__media::after { background: linear-gradient(90deg, #000 0%, rgba(0,0,0,.4) 18%, transparent 40%); }

/* 活動：單張大圖，標題放大成雜誌感，目標 0.315（≈455px） */
.im-sarch--event .im-sarch-hero,
.im-sarch--insight .im-sarch-hero { min-height: clamp(320px, 31vw, 480px); }
.im-sarch--event .im-sarch-hero__en,
.im-sarch--insight .im-sarch-hero__en { font-size: clamp(2.25rem, 1rem + 4vw, 4.75rem); line-height: 1.08; letter-spacing: .04em; max-width: 7.6em; }
/* 文章：主圖＋兩塊局部方框（照稿），目標 0.40（≈575px） */
.im-sarch--insight .im-sarch-hero { min-height: clamp(360px, 38vw, 580px); }
.im-sarch-hero--crops .im-sarch-hero__img--1,
.im-sarch-hero--crops .im-sarch-hero__img--2 { inset: auto; z-index: 1; width: 22%; aspect-ratio: 1; border: 1px solid rgba(235,109,165,.5); box-shadow: 0 18px 40px -18px #000; }
.im-sarch-hero--crops .im-sarch-hero__img--1 { top: 12%; right: 8%; }
.im-sarch-hero--crops .im-sarch-hero__img--2 { bottom: 12%; right: 18%; }

/* ── 搜尋 ───────────────────────────────────────────────────────────────────── */
.im-sarch-search { position: relative; display: flex; align-items: center; max-width: 100%; margin-block: var(--im-s-6) 0; }
.im-sarch--event .im-sarch-search, .im-sarch--insight .im-sarch-search { max-width: 40rem; margin-inline: auto; }
.im-sarch-search svg { position: absolute; left: var(--im-s-5); width: 1.25rem; height: 1.25rem; color: var(--im-text-muted); pointer-events: none; }
.im-sarch-search input { width: 100%; min-height: 3.25rem; padding: 0 var(--im-s-5) 0 3.25rem; border: 1px solid var(--im-line-strong); border-radius: 8px; background: var(--im-surface); color: var(--im-text); font-size: var(--im-fs-base); }
.im-sarch-search input::placeholder { color: var(--im-text-faint); opacity: 1; }

/* ── 區段標題（照稿：標題後一小段金線，右側說明） ───────────────────────────── */
.im-sarch-sec { padding-block-start: clamp(1.75rem, 3vw, 2.75rem); }
.im-sarch-shead { display: flex; align-items: center; gap: var(--im-s-5); margin-block-end: var(--im-s-5); }
.im-sarch-shead h2 { display: flex; align-items: center; gap: var(--im-s-4); font-size: var(--im-fs-xl); letter-spacing: .18em; }
.im-sarch-shead h2::after { content: ""; width: 2.5rem; height: 1px; background: var(--im-brand-ink); }
.im-sarch-shead p { font-size: 14px; letter-spacing: .1em; color: var(--im-text-muted); }
.im-sarch--event .im-sarch-shead p { margin-inline-start: auto; }
.im-sarch--event .im-sarch-shead { gap: var(--im-s-5); }
.im-sarch--event .im-sarch-shead::after { content: ""; order: 1; flex: 1; height: 1px; background: var(--im-line-strong); }
.im-sarch--event .im-sarch-shead p { order: 2; }
.im-sarch--event .im-sarch-shead h2::after { display: none; }

/* ── 卡片共用 ───────────────────────────────────────────────────────────────── */
.im-sarch .im-list { margin: 0; padding: 0; list-style: none; }
.im-sarch .im-card { position: relative; min-width: 0; }
.im-sarch .im-card__link { display: block; height: 100%; color: inherit; text-decoration: none; }
.im-sarch .im-card__thumb { display: block; overflow: hidden; background: var(--im-surface-3); }
.im-sarch .im-card__thumb img { transition: transform .6s var(--im-ease); }
.im-sarch .im-card:hover .im-card__thumb img { transform: scale(1.04); }
.im-sarch .im-card__body { display: flex; flex-direction: column; align-items: flex-start; gap: var(--im-s-2); }
.im-sarch .im-card__tag { display: inline-block; padding: 1px var(--im-s-3); border: 1px solid currentColor; font-size: 14px; letter-spacing: .08em; color: var(--im-accent); }
.im-sarch .im-card__title { font-family: var(--im-font-serif); font-size: var(--im-fs-md); line-height: 1.45; letter-spacing: .05em; color: var(--im-text-strong); }
.im-sarch .im-card__excerpt { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; font-size: 14px; line-height: 1.75; color: var(--im-text-muted); }
.im-sarch-more { display: inline-flex; align-items: center; font-size: 14px; letter-spacing: .1em; color: var(--im-brand-ink); }
.im-sarch .im-empty { padding: var(--im-s-8) 0; font-size: var(--im-fs-base); color: var(--im-text-muted); }
.im-sarch .im-pager { margin-block-start: var(--im-s-7); }

/* 疊字卡（課程精選、文章焦點／趨勢）：圖滿版、字壓在下方漸層上 */
.im-sarch-featured .im-card { overflow: hidden; border: 1px solid #3A2A31; background: #0F0D0A; }
.im-sarch-featured .im-card__thumb { position: absolute; inset: 0; }
.im-sarch-featured .im-card__thumb::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(8,7,6,.94) 0%, rgba(8,7,6,.75) 45%, rgba(8,7,6,.15) 100%); }
.im-sarch-featured .im-card__body { position: relative; z-index: 1; justify-content: center; height: 100%; max-width: 30rem; padding: clamp(1.25rem, 2.5vw, 2.25rem); }
.im-sarch-featured .im-card__title { color: #FFFFFF; font-size: var(--im-fs-lg); }
.im-sarch-featured .im-card__excerpt { color: #E4DDD3; }
.im-sarch-featured .im-card__tag { color: #F49AC1; }

/* ═════════════════════════ 專業課程 ═════════════════════════ */
/* 本期精選：一大兩小，目標 0.305（≈440px） */
.im-sarch-featured { display: grid; grid-template-columns: minmax(0, 1.65fr) minmax(0, 1fr); grid-auto-rows: clamp(9.5rem, 14.5vw, 13.5rem); gap: var(--im-s-4); }
.im-sarch-featured .im-card:first-child { grid-row: span 2; }
.im-sarch-featured .im-card:first-child .im-card__title { font-size: var(--im-fs-2xl); }
.im-sarch-featured .im-card:first-child .im-card__excerpt { font-size: var(--im-fs-base); -webkit-line-clamp: 3; }
.im-sarch-featured .im-card:not(:first-child) .im-card__excerpt { -webkit-line-clamp: 1; }

/* 依學院分類：每院一列＝學院介紹＋三張課程，目標每列 0.158（≈228px） */
.im-sarch-groups { display: flex; flex-direction: column; gap: var(--im-s-4); }
.im-sarch-groups .im-list-group { display: grid; grid-template-columns: minmax(12rem, 1fr) minmax(0, 3.3fr); gap: var(--im-s-3); }
.im-sarch-group__intro { display: flex; flex-direction: column; justify-content: center; gap: var(--im-s-2); padding: var(--im-s-5); border: 1px solid #3A2A31; background: var(--im-surface); }
.im-sarch-group__code { font-family: var(--im-font-en); font-size: 14px; letter-spacing: .22em; color: var(--im-brand-ink); }
.im-sarch-groups .im-list-group__title { font-size: var(--im-fs-lg); letter-spacing: .1em; }
.im-sarch-groups .im-list-group__title a { color: var(--im-text-strong); }
.im-sarch-group__desc { display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; font-size: 14px; line-height: 1.75; color: var(--im-text-muted); }
.im-sarch-groups .im-list { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--im-s-3); }
.im-sarch-groups .im-card { border: 1px solid #2E2518; background: var(--im-surface); }
.im-sarch-groups .im-card__thumb { height: clamp(7rem, 9.5vw, 9rem); }
.im-sarch-groups .im-card__body { padding: var(--im-s-3) var(--im-s-4) var(--im-s-4); }
.im-sarch-groups .im-card__excerpt { -webkit-line-clamp: 1; }

/* ═════════════════════════ 最新活動 ═════════════════════════ */
/* 主打：深色橫幅，左圖右文，目標 0.279（≈400px） */
.im-sarch-banner .im-card { overflow: hidden; background: #0F0D0A; }
.im-sarch-banner .im-card__link { display: grid; grid-template-columns: minmax(0, .95fr) minmax(0, 1.05fr); min-height: clamp(17rem, 26vw, 25rem); }
.im-sarch-banner .im-card__thumb { position: relative; }
.im-sarch-banner .im-card__thumb img { position: absolute; inset: 0; }
.im-sarch-banner .im-card__body { justify-content: center; gap: var(--im-s-4); padding: clamp(1.5rem, 3.5vw, 3.5rem); }
.im-sarch-banner .im-card__tag { color: #F49AC1; }
.im-sarch-banner .im-card__title { font-size: var(--im-fs-2xl); color: #FFFFFF; }
.im-sarch-banner .im-card__excerpt { -webkit-line-clamp: 3; font-size: var(--im-fs-base); color: #E4DDD3; }
.im-sarch-banner .im-card__body::after { content: "了解活動　→"; margin-block-start: var(--im-s-3); padding: var(--im-s-3) var(--im-s-6); border: 1px solid #EB6DA5; font-family: var(--im-font-serif); font-size: var(--im-fs-base); letter-spacing: .12em; color: #EB6DA5; }

/* 活動現場：中線時間軸、左右交錯，目標每場 0.193（≈278px） */
.im-sarch-timeline { position: relative; counter-reset: im-tl; }
.im-sarch-timeline::before { content: ""; position: absolute; top: 0; bottom: 0; left: 50%; width: 1px; background: #D9A3BC; }
.im-sarch-timeline .im-card { background: none; border-inline: 0; border-block-start: 0; counter-increment: im-tl; padding-block: var(--im-s-5); border-block-end: 1px solid var(--im-line); }
.im-sarch-timeline .im-card::after { content: counter(im-tl, decimal-leading-zero); position: absolute; top: 50%; left: 50%; display: grid; place-items: center; width: 2.25rem; height: 2.25rem; border-radius: 50%; background: #14100A; color: #FFFFFF; font-family: var(--im-font-serif); font-size: 14px; transform: translate(-50%, -50%); }
.im-sarch-timeline .im-card__link { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(3rem, 7vw, 6rem); align-items: center; }
.im-sarch-timeline .im-card__thumb { height: clamp(11rem, 15vw, 14.5rem); }
.im-sarch-timeline .im-card:nth-child(even) .im-card__thumb { order: 2; }
.im-sarch-timeline .im-card__body { gap: var(--im-s-3); }
.im-sarch-timeline .im-card__title { font-size: var(--im-fs-xl); letter-spacing: .1em; }
.im-sarch-timeline .im-card__body::after { content: "了解更多　→"; font-size: var(--im-fs-sm); letter-spacing: .1em; color: var(--im-text-strong); }

/* ═════════════════════════ 美業成功方程式 ═════════════════════════ */
/* 本期焦點：目標 0.31（≈445px） */

/* 趨勢觀察：左兩張、右一張高，目標 0.42（≈605px） */

/* 專業專欄：兩欄文字列（不放圖），目標 0.23 */

/* 最新文章：縮圖列，目標每列 0.069（≈100px） */

/* ── 收尾橫條 ───────────────────────────────────────────────────────────────── */
.im-sarch-band-wrap { padding-block-start: clamp(2rem, 3.5vw, 3rem); }
.im-sarch-band { display: flex; align-items: center; justify-content: center; gap: clamp(1.5rem, 4vw, 3rem); min-height: clamp(6rem, 8vw, 7.5rem); padding: var(--im-s-5) var(--im-s-6); }
.im-sarch-band h2 { font-size: var(--im-fs-xl); letter-spacing: .14em; }
.im-sarch-band__btn { display: inline-flex; align-items: center; padding: var(--im-s-3) var(--im-s-7); font-family: var(--im-font-serif); font-size: var(--im-fs-base); letter-spacing: .14em; white-space: nowrap; }
.im-sarch-band--pink { background: linear-gradient(90deg, #F2C9D6 0%, #E9A9BF 100%); }
.im-sarch-band--pink h2 { color: #2A1520; }
.im-sarch-band--pink .im-sarch-band__btn { background: #14100A; color: #FFFFFF; }
.im-sarch-band--dark { min-height: clamp(8rem, 13vw, 12.5rem); justify-content: flex-start; background: #0F0D0A; padding-inline: clamp(1.5rem, 4vw, 3.5rem); }
.im-sarch-band--dark h2 { color: #FFFFFF; }
.im-sarch-band--dark .im-sarch-band__btn { background: #C8466F; color: #FFFFFF; }

/* ── 表單（照稿：置中標題、三欄欄位、粉色按鈕；課程頁目標 0.33） ─────────────── */
.im-sarch-form { --im-text-strong: #1C1917; margin-block-start: clamp(2rem, 4vw, 3.5rem); padding-block: clamp(1.75rem, 2.5vw, 2.25rem); background: #F3EEE8; color: #2E2A26; }
.im-sarch-form__title { text-align: center; font-size: var(--im-fs-xl); letter-spacing: .14em; }
.im-sarch .im-sarch-form__desc { margin-block: var(--im-s-2) var(--im-s-4); text-align: center; font-size: 14px; color: #5F5952; }
.im-sarch-form__body { max-width: 62rem; margin-inline: auto; }
.im-sarch-form fieldset { margin: 0; padding: 0; border: 0; min-width: 0; }
.im-sarch-form label { display: block; font-size: 14px; color: #2E2A26; }
.im-sarch-form input, .im-sarch-form select, .im-sarch-form textarea { display: block; width: 100%; min-height: 2.75rem; margin-block-start: var(--im-s-2); padding: var(--im-s-2) var(--im-s-4); border: 1px solid #C6B9A8; border-radius: 2px; background: #FBF8F4; color: #2E2A26; font-size: var(--im-fs-base); opacity: 1; }
.im-sarch-form textarea { min-height: 3.5rem; }
.im-sarch-form input::placeholder, .im-sarch-form textarea::placeholder { color: #736C64; opacity: 1; }
.im-sarch-form button, .im-sarch-form .im-tf__submit { width: 100%; min-height: 3.25rem; margin-block-start: var(--im-s-5); border: 0; border-radius: 2px; background: #B83A64; color: #FFFFFF; font-family: var(--im-font-serif); font-size: var(--im-fs-md); letter-spacing: .3em; cursor: pointer; }
.im-sarch-form .im-tf__row { display: flex; flex-direction: column; gap: var(--im-s-2); margin-block: 0 var(--im-s-4); }
.im-sarch-form .im-tf__note { margin-block-end: var(--im-s-4); font-size: 14px; color: #5F5952; }
.im-sarch-form .im-tf__hp { position: absolute; left: -9999px; }

/* ═════════════════════════ 平板 ═════════════════════════ */
@media (max-width: 1000px) {
  .im-sarch-groups .im-list-group { grid-template-columns: 1fr; }
}

/* ═════════════════════════ 手機（對手機稿） ═════════════════════════ */
@media (max-width: 750px) {
  .im-sarch-hero { display: block; min-height: 0 !important; }
  .im-sarch-hero__inner { padding-block: var(--im-s-6); }
  .im-sarch-hero__media { width: 48%; }
  .im-sarch-hero__media::after { background: linear-gradient(90deg, #000 0%, rgba(0,0,0,.35) 40%, transparent 80%); }
  .im-sarch-hero__title { font-size: 2rem; }
  .im-sarch-hero__en { font-size: 1rem; letter-spacing: .2em; }
  .im-sarch--event .im-sarch-hero__en, .im-sarch--insight .im-sarch-hero__en { font-size: 1.75rem; }
  .im-sarch-hero__lede { max-width: 15em; font-size: 15px; }
  .im-sarch-hero--strips .im-sarch-hero__img:nth-child(n+4) { display: none; }
  .im-sarch-hero--crops .im-sarch-hero__img--1, .im-sarch-hero--crops .im-sarch-hero__img--2 { width: 30%; }
  .im-sarch-shead p { display: none; }

  /* 課程：精選三張直排橫幅；每院＝標題列＋兩張橫向滑動 */
  .im-sarch-featured { grid-template-columns: 1fr; grid-auto-rows: 8.5rem; }
  .im-sarch-featured .im-card:first-child { grid-row: auto; }
  .im-sarch-featured .im-card:first-child .im-card__title { font-size: var(--im-fs-lg); }
  .im-sarch-featured .im-card .im-card__excerpt { -webkit-line-clamp: 1; font-size: 14px; }
  .im-sarch-featured .im-card__body { padding: var(--im-s-4) var(--im-s-5); }
  .im-sarch-groups { gap: var(--im-s-5); padding: var(--im-s-4) var(--im-s-3); border: 1px solid #3A2A31; }
  .im-sarch-groups .im-list-group { gap: var(--im-s-3); }
  .im-sarch-group__intro { flex-direction: row; flex-wrap: wrap; align-items: center; justify-content: space-between; padding: 0; border: 0; background: none; }
  .im-sarch-group__code, .im-sarch-group__desc { display: none; }
  .im-sarch-groups .im-list { display: flex; gap: var(--im-s-3); overflow-x: auto; scroll-snap-type: x mandatory; padding-block-end: var(--im-s-2); }
  .im-sarch-groups .im-card { flex: 0 0 82%; scroll-snap-align: start; }
  .im-sarch-groups .im-card__link { display: grid; grid-template-columns: 40% minmax(0, 1fr); }
  .im-sarch-groups .im-card__thumb { height: 6.5rem; }
  .im-sarch-groups .im-card__body { justify-content: center; padding: var(--im-s-3); }
  .im-sarch-groups .im-card__excerpt { display: none; }

  /* 活動：主打上圖下文；時間軸線移到左側 */
  .im-sarch-banner .im-card__link { grid-template-columns: 1fr; min-height: 0; }
  .im-sarch-banner .im-card__thumb { height: 11rem; }
  .im-sarch-banner .im-card__title { font-size: var(--im-fs-xl); }
  .im-sarch .im-sarch-timeline { padding-inline-start: 2.25rem; }
  .im-sarch-timeline::before { left: 1rem; }
  .im-sarch-timeline .im-card::after { left: -1.25rem; top: 4.5rem; }
  .im-sarch-timeline .im-card__link { grid-template-columns: 1fr; gap: var(--im-s-4); }
  .im-sarch-timeline .im-card__thumb, .im-sarch-timeline .im-card:nth-child(even) .im-card__thumb { order: 0; height: 9.5rem; }
  .im-sarch-timeline .im-card__title { font-size: var(--im-fs-lg); }

  /* 文章：焦點上圖下文；趨勢改成左圖右文三列；兩種列表收成一欄 */

  .im-sarch-band { flex-direction: column; text-align: center; gap: var(--im-s-4); }
  .im-sarch-band--dark { align-items: flex-start; text-align: left; }
  .im-sarch-band h2 { font-size: var(--im-fs-lg); }
}

/* ═════════════════════════ 第 6、7 件（2026-10-05） ═════════════════════════ */
/* 表單區在米色底上：換成淺色版變數（表單元件 .im-formstub 的樣式在 im-course.css） */
.im-sarch-form { --im-bg: #FBF8F4; --im-text: #2E2A26; --im-text-muted: #5F5952; --im-text-faint: #736C64; --im-line-strong: #C6B9A8; --im-brand-ink: #B83A64; --im-on-brand: #FFFFFF; }
.im-sarch-form .im-formstub { max-width: 62rem; margin-inline: auto; }

/* 卡片日期／地點 */
.im-sarch .im-card__meta { display: flex; flex-wrap: wrap; gap: var(--im-s-1) var(--im-s-3); font-size: 14px; letter-spacing: .04em; color: var(--im-accent); }
.im-sarch .im-card__date + .im-card__place::before { content: "｜"; margin-inline-end: var(--im-s-1); color: var(--im-text-faint); }
.im-sarch-featured .im-card__meta, .im-sarch-banner .im-card__meta { color: #F49AC1; }

/* 沒有縮圖的卡片：版面收好，不留空欄 */
.im-sarch-banner .im-card__link:not(:has(.im-card__thumb)), .im-sarch-timeline .im-card__link:not(:has(.im-card__thumb)) { grid-template-columns: 1fr; }
.im-sarch-featured .im-card:not(:has(.im-card__thumb)) { background: linear-gradient(135deg, #1A1612, #0F0D0A); }


.im-sarch-light > .im-wrap:first-child:empty { display: none; }

/* ═════════ 業主 10/05：區塊內留白、區塊之間的間距都放大一點（同首頁的回饋） ═════════ */
.im-sarch { --im-gap-section: clamp(3rem, 5.5vw, 5rem); --im-gap-block: clamp(1.25rem, 2.2vw, 2rem); }
.im-sarch-sec { padding-block-start: var(--im-gap-section); }
.im-sarch-shead { margin-block-end: var(--im-gap-block); }
.im-sarch-featured { gap: var(--im-gap-block); }
.im-sarch-groups { gap: var(--im-gap-block); }
.im-sarch-groups .im-list-group { gap: var(--im-s-4); }
.im-sarch-groups .im-card__body { padding: var(--im-s-4) var(--im-s-5) var(--im-s-5); }
.im-sarch-timeline .im-card { padding-block: var(--im-gap-block); }
.im-sarch-band-wrap { padding-block-start: var(--im-gap-section); }
.im-sarch-form { margin-block-start: var(--im-gap-section); padding-block: clamp(2rem, 3vw, 2.75rem); }
.im-sarch-light { padding-block-end: var(--im-gap-section); }
@media (max-width: 750px) { .im-sarch { --im-gap-section: 2.75rem; --im-gap-block: 1.25rem; } }

/* 第86件：六個全站彙整頁與首頁共用首圖高度、區塊節奏。 */
.im-sarch { --im-gap-section: var(--im-page-flow-gap); --im-gap-block: var(--im-head-gap); }
.im-sarch .im-sarch-hero { min-height: var(--im-hero-media-h); }
.im-sarch .im-sarch-sec { padding-block-start: var(--im-page-flow-gap); }
.im-sarch .im-sarch-band-wrap { padding-block-start: var(--im-page-flow-gap); }
.im-sarch .im-sarch-form { margin-block-start: var(--im-page-flow-gap); padding-block: calc(var(--im-page-flow-gap) * .5); }
.im-sarch .im-sarch-light { padding-block-end: var(--im-page-flow-gap); }
@media (max-width: 750px) {
  .im-sarch .im-sarch-hero { min-height: var(--im-hero-media-h-mobile); }
}

/* ═════════ 從 im-design-system.css 搬來（丙線第 3 件審查建議修 #15，乙線 10/05 原樣搬移，未改內容） ═════════
   這些是舊版全站彙整頁（im-site/archive-frame.php：成果、師資、優勢）用的規則；新版三頁用 .im-sarch-*，不吃這些。 */
.im-site-archive .im-sitehead__collage{gap:0}
.im-site-archive .im-sitehead__collage .im-media{height:100%;min-height:300px}
.im-site-archive .im-sitehead__collage img{width:100%;height:100%;object-fit:cover}
.im-directory-search{padding-block:24px}.im-directory-search label{display:block;font-size:14px;margin-bottom:8px}
.im-directory-search input{width:100%;padding:14px 20px;background:#161616;border:1px solid #ac906b;color:#fff;font-size:16px}
.im-archive-featured{padding-block:24px}.im-archive-featured h2{font-size:28px;margin-bottom:20px}
.im-archive-featured .im-list{display:grid;grid-template-columns:1.5fr 1fr;grid-template-rows:1fr 1fr;gap:16px}
.im-archive-featured .im-card:first-child{grid-row:span 2}.im-archive-featured .im-card__thumb img{height:240px;object-fit:cover;width:100%}
.im-archive-featured .im-card:first-child .im-card__thumb img{height:420px}
.im-site-archive--im_event,.im-site-archive--insight{background:#f3eee8;color:#211b18;--im-text:#211b18;--im-text-strong:#211b18;--im-text-muted:#51473f;--im-bg:#f3eee8;--im-surface:#f3eee8;--im-brand-ink:#68352c}
.im-site-archive--im_event .im-sitehead,.im-site-archive--insight .im-sitehead{background:#080808;color:#fff;--im-text:#fff;--im-text-strong:#fff;--im-text-muted:#ddd;--im-brand-ink:#EB6DA5}
.im-site-archive--im_event #im-list .im-list{display:block}.im-site-archive--im_event #im-list .im-card{margin-block:24px}
.im-site-archive--im_event #im-list .im-card__link{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:32px}
.im-site-archive--im_event #im-list .im-card:nth-child(even) .im-card__thumb{order:2}
.im-site-archive--insight #im-list .im-list{grid-template-columns:repeat(2,minmax(0,1fr))}
.im-site-archive .im-missing-media{font-size:16px;padding:20px;background:none;color:inherit}
@media(max-width:750px){.im-archive-featured .im-list,.im-site-archive--insight #im-list .im-list{grid-template-columns:minmax(0,1fr)}.im-archive-featured .im-card:first-child{grid-row:auto}.im-site-archive--im_event #im-list .im-card__link{grid-template-columns:minmax(0,1fr)}.im-site-archive--im_event #im-list .im-card:nth-child(even) .im-card__thumb{order:0}.im-sitehead__collage{min-width:0}.im-site-archive .im-sitehead__collage .im-media{min-height:150px}}
.im-academy .im-directory-search input::placeholder{color:#bbb;opacity:1}
.im-site-archive--course .im-list-group{display:grid;grid-template-columns:minmax(0,.7fr) minmax(0,3fr);gap:20px;margin-block:20px}
.im-site-archive--course .im-list-group__title{font-size:24px;align-self:center;color:#EB6DA5}
.im-site-archive .im-btn--group{background:#eb6da5;color:#120b0f}
.im-site-archive--im_event .im-sitehead__collage,.im-site-archive--case_study .im-sitehead__collage,.im-site-archive--instructor .im-sitehead__collage,.im-site-archive--advantage .im-sitehead__collage{grid-template-columns:minmax(0,1fr)}
.im-site-archive--insight .im-sitehead__collage{position:relative;display:block;overflow:hidden}.im-site-archive--insight .im-sitehead__collage>.im-media{position:absolute;inset:0}.im-site-archive--insight .im-sitehead__collage>.im-media:nth-child(2){inset:24px 24px auto auto;width:30%;min-height:0;height:120px;border:1px solid #EB6DA5}.im-site-archive--insight .im-sitehead__collage>.im-media:nth-child(3){inset:auto 10px 20px auto;width:35%;min-height:0;height:140px;border:1px solid #EB6DA5}

/* ═════════ 第 8 件（10/05）：中間寬度——懸浮鈕不壓內容（同 im-course.css） ═════════ */
@media (min-width: 751px) and (max-width: 1100px) {
  .im-sarch-hero__media { width: 50%; }
  .im-sarch-hero__title, .im-sarch-hero__en, .im-sarch-hero__lede { max-width: 48%; }
}
@media (min-width: 751px) and (max-width: 1100px) { .im-sarch-hero--strips .im-sarch-hero__en { font-size: 1rem; letter-spacing: .18em; } }
@media (min-width: 751px) and (max-width: 1100px) { .im-sarch-hero--strips .im-sarch-hero__lede { max-width: 40%; } }

/* 內容寬度回到設計系統版心後：時間軸左右欄距收一點，文字欄不要太窄 */
.im-sarch-timeline .im-card__link { gap: clamp(2.5rem, 5vw, 4.5rem); }
.im-sarch-timeline .im-card__excerpt { -webkit-line-clamp: 2; }
.im-sarch-timeline .im-card { padding-block: var(--im-s-5); }
.im-sarch-timeline .im-card__title { font-size: var(--im-fs-lg); }
.im-sarch-timeline .im-card__body { gap: var(--im-s-2); }

/* 第 72 件 10/13：全站成果 A 案——左院別資訊、右案例與作品。 */
.im-sres + .im-sres { border-block-start: 1px solid var(--im-sres-brand, var(--im-line)); }
.im-sres__grid { display: grid; grid-template-columns: minmax(14rem, 1fr) minmax(0, 2.4fr); gap: clamp(2rem, 4.5vw, 4rem); }
.im-sres__intro { align-self: start; }
.im-sres__code { margin: 0 0 var(--im-s-2); font-family: var(--im-font-en); font-size: 14px; letter-spacing: .18em; color: color-mix(in srgb, var(--im-sres-brand) 45%, #1c1917); }   /* 乙線驗收：13→14px；學院色太淺（金、杏粉）在米色底對比不足，字改用學院色混深色 */
.im-sres__intro h2 { margin: 0; font-family: var(--im-font-serif); font-size: clamp(24px, 2.2vw, 32px); letter-spacing: .12em; color: var(--im-text-strong); }
.im-sres__desc { margin: var(--im-s-3) 0 0; font-size: 14px; line-height: 1.85; color: var(--im-text-muted); }
.im-sres__more { display: inline-block; margin-block-start: var(--im-s-4); padding-block-end: 5px; font-size: 15px; letter-spacing: .08em; color: var(--im-text-strong); text-decoration: none; border-block-end: 1px solid var(--im-sres-brand); }
.im-sres__content { min-width: 0; }
.im-sres__content > * + .im-sres__label { margin-block-start: var(--im-s-5); }
.im-sres__label { margin: 0 0 var(--im-s-3); font-family: var(--im-font-serif); font-size: 18px; font-weight: 600; letter-spacing: .12em; color: var(--im-text-strong); }
.im-sres__label small { display: inline-block; margin-right: 12px; font-family: var(--im-font-en); font-size: 14px; font-weight: 500; letter-spacing: .28em; color: color-mix(in srgb, var(--im-sres-brand) 45%, #1c1917); }   /* 乙線驗收：同上，線條仍用純學院色 */
.im-academy.im-site.im-site .im-sres__cases.im-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.im-academy.im-site.im-site .im-sres__cases .im-card { min-width: 0; border: 1px solid var(--im-line-strong); background: var(--im-surface); }
.im-academy.im-site.im-site .im-sres__cases .im-card__link { display: grid; grid-template-columns: minmax(105px, 34%) minmax(0, 1fr); min-height: 170px; }
.im-academy.im-site.im-site .im-sres__cases .im-card__thumb { display: block; min-height: 100%; }
.im-academy.im-site.im-site .im-sres__cases .im-card__body { display: flex; justify-content: center; gap: var(--im-s-1); min-width: 0; padding: var(--im-s-3); }
.im-academy.im-site.im-site .im-sres__cases .im-card__tag { display: none; }
.im-academy.im-site.im-site .im-sres__cases .im-card__title { font-size: 17px; line-height: 1.5; }
.im-academy.im-site.im-site .im-sres__cases .im-card__excerpt { -webkit-line-clamp: 2; }
.im-sres__works { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 8px; margin: 0; padding: 0; list-style: none; }
.im-sres__work { display: block; width: 100%; padding: 0; overflow: hidden; border: 1px solid var(--im-line-strong); border-radius: var(--im-media-radius, 4px); background: var(--im-surface-3); aspect-ratio: 1 / 1; cursor: zoom-in; }
.im-sres__work img { width: 100%; height: 100%; object-fit: cover; transition: transform .7s cubic-bezier(.2,.7,.2,1); }
.im-sres__work:hover img { transform: scale(1.05); }
.im-sres__box { max-width: min(92vw, 1200px); max-height: 92vh; padding: 0; border: 1px solid var(--im-line-strong); background: #080808; }
.im-sres__box::backdrop { background: rgba(0,0,0,.82); }
.im-sres__box img { display: block; max-width: min(92vw, 1200px); max-height: 88vh; width: auto; height: auto; }
.im-sres__box button { position: absolute; z-index: 1; top: 8px; right: 8px; width: 44px; height: 44px; border: 1px solid #fff; border-radius: 50%; background: rgba(0,0,0,.65); color: #fff; font-size: 24px; cursor: pointer; }

@media (max-width: 750px) {
  .im-sres__grid { grid-template-columns: minmax(0, 1fr); gap: var(--im-s-4); }
  .im-sres__desc { font-size: 14px; }
  .im-academy.im-site.im-site .im-sres__cases.im-list { grid-template-columns: minmax(0, 1fr); }
  .im-sres__works { display: flex; overflow-x: auto; overscroll-behavior-x: contain; padding-block-end: 4px; scroll-snap-type: x proximity; }
  .im-sres__works li { flex: 0 0 68%; scroll-snap-align: start; }
}

/* ═════════ 10/12 業主定案（寬度 1440）：六個全站彙整頁頁首統一（archive-parts.php im_sarch_unify 加上 .im-sarch-hero--u）═════════
   高度同「美業成功方程式」（1440≈576、上限 580）。照片區左緣＝內容左緣＋文字欄 520px，右緣＝視窗右緣（任何寬度都滿版、不硬切）。
   A（.im-sarch-hero--ten）十院直式照片條：十條、底部對齊、高低錯落、不放學院名。B（--crops）大圖＋兩塊方形局部。手機：照片當背景、文字在下，高 440；A 用 2×5。 */
.im-sarch-hero.im-sarch-hero--u { min-height: clamp(480px, 40vw, 580px); }
.im-sarch-hero--u .im-sarch-hero__inner { z-index: 4; padding-block: var(--im-s-8); }
.im-sarch-hero--u .im-sarch-hero__title, .im-sarch-hero--u .im-sarch-hero__en, .im-sarch-hero--u .im-sarch-hero__lede { max-width: 500px; }
.im-sarch-hero.im-sarch-hero--u .im-sarch-hero__en { font-size: clamp(1rem, .8rem + .8vw, 1.5rem); line-height: 1.4; letter-spacing: .28em; }
.im-sarch-hero--u .im-sarch-hero__media { left: calc(max(var(--im-gutter), (100% - var(--im-container)) / 2 + var(--im-gutter)) + 520px); right: 0; width: auto; max-width: none; }
.im-sarch-hero--u .im-sarch-hero__img img { width: 100%; height: 100%; object-fit: cover; }
.im-sarch-hero--ten .im-sarch-hero__media { display: flex; align-items: flex-end; gap: 3px; }
.im-sarch-hero--ten .im-sarch-hero__img { position: relative; inset: auto; flex: 1 1 0; height: 100%; overflow: hidden; }
.im-sarch-hero--ten .im-sarch-hero__img:nth-child(3n+2) { height: 86%; }
.im-sarch-hero--ten .im-sarch-hero__img:nth-child(3n) { height: 93%; }
.im-sarch-hero--ten .im-sarch-hero__media::after { z-index: 3; background: linear-gradient(90deg, #000 0%, rgba(0,0,0,.35) 14%, transparent 34%); }
.im-sarch-hero--u.im-sarch-hero--crops .im-sarch-hero__img--0 { inset: 0; }
@media (max-width: 750px) {
  .im-sarch-hero.im-sarch-hero--u { display: flex; flex-direction: column; justify-content: flex-end; min-height: var(--im-hero-media-h-mobile) !important; }   /* 第86件乙線驗收：原 440px，改讀共用高度 */
  .im-sarch-hero--u .im-sarch-hero__media { inset: 0; left: 0; width: 100%; }
  .im-sarch-hero--u .im-sarch-hero__media::after { background: linear-gradient(to top, #000 0%, rgba(0,0,0,.75) 45%, rgba(0,0,0,.15) 100%); }
  .im-sarch-hero--u .im-sarch-hero__title, .im-sarch-hero--u .im-sarch-hero__en, .im-sarch-hero--u .im-sarch-hero__lede { max-width: none; }
  .im-sarch-hero--ten .im-sarch-hero__media { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); grid-template-rows: 1fr 1fr; gap: 2px; }
  .im-sarch-hero--ten .im-sarch-hero__img, .im-sarch-hero--ten .im-sarch-hero__img:nth-child(3n+2), .im-sarch-hero--ten .im-sarch-hero__img:nth-child(3n) { height: 100%; }
  .im-sarch-hero--ten .im-sarch-hero__img:nth-child(n+4) { display: block; }
  .im-sarch-hero--u.im-sarch-hero--crops .im-sarch-hero__img--1, .im-sarch-hero--u.im-sarch-hero--crops .im-sarch-hero__img--2 { display: none; }
}

/* ═════════ 10/13 業主看線上 /courses/ 後改 ═════════
   ① A 十院照片條＝首頁十院入口的做法：十條等寬、等高（不再高低錯落）、條與條之間無縫只用 1px 暖灰細線分隔、滿版到視窗右緣。 */
.im-sarch-hero--ten .im-sarch-hero__media { gap: 0; align-items: stretch; }
.im-sarch-hero--ten .im-sarch-hero__img, .im-sarch-hero--ten .im-sarch-hero__img:nth-child(3n+2), .im-sarch-hero--ten .im-sarch-hero__img:nth-child(3n) { height: 100%; border-inline-end: 1px solid rgba(187, 164, 140, .33); }
.im-sarch-hero--ten .im-sarch-hero__img:last-child { border-inline-end: 0; }
@media (max-width: 750px) { .im-sarch-hero--ten .im-sarch-hero__media { gap: 0; } }

/* ③ 課程總覽每院一列：左＝學院卡（學院色深底＋大字英文代號，固定）；右＝課程卡一排（可拖曳／箭頭滑動，不含學院卡）。 */
.im-cdir { display: flex; flex-direction: column; gap: var(--im-s-6); }
.im-cdir-row { display: grid; grid-template-columns: minmax(15rem, 1fr) minmax(0, 3.4fr); gap: var(--im-s-4); align-items: stretch; }
.im-cdir-academy { position: relative; display: flex; flex-direction: column; justify-content: flex-end; gap: var(--im-s-2); min-height: 100%; padding: var(--im-s-5); overflow: hidden; border-radius: 2px;
  background: linear-gradient(160deg, color-mix(in srgb, var(--im-brand) 55%, #0b0908) 0%, color-mix(in srgb, var(--im-brand) 22%, #0b0908) 100%); border-block-start: 4px solid var(--im-brand); color: #fff; }
.im-cdir-academy__code { position: absolute; top: var(--im-s-3); left: var(--im-s-4); right: var(--im-s-3); margin: 0; font-family: var(--im-font-en); font-size: min(44px, calc(15rem / (var(--k, 6) * .68))); font-weight: 500; line-height: 1; letter-spacing: .02em; color: rgba(255, 255, 255, .2); white-space: nowrap; }   /* 依代號字數縮放，完整顯示 */
.im-sarch .im-cdir-academy__name { margin: 0; font-family: var(--im-font-serif); font-size: clamp(22px, 1.8vw, 28px); letter-spacing: .12em; color: #fff; }
.im-cdir-academy__desc { display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; margin: 0; font-size: 14px; line-height: 1.75; color: #F2EEE8; }
.im-cdir-academy__more { align-self: flex-start; margin-block-start: var(--im-s-2); padding-block-end: 2px; border-block-end: 1px solid currentColor; font-size: 15px; letter-spacing: .1em; color: #fff; text-decoration: none; }
.im-cdir-scroll { position: relative; min-width: 0; }
.im-cdir-cards.im-list { display: flex; gap: var(--im-s-3); margin: 0; padding: 0 0 4px; list-style: none; overflow-x: auto; overscroll-behavior-x: contain; scroll-snap-type: x proximity; scrollbar-width: none; cursor: grab; }
.im-cdir-cards::-webkit-scrollbar { display: none; }
.im-cdir-cards.is-drag { cursor: grabbing; scroll-snap-type: none; user-select: none; }
.im-cdir-cards .im-card { flex: 0 0 calc((100% - 2 * var(--im-s-3)) / 3); min-width: 0; scroll-snap-align: start; border: 1px solid #2E2518; background: var(--im-surface); }
.im-cdir-cards .im-card__link { display: flex; flex-direction: column; height: 100%; color: inherit; text-decoration: none; }
.im-cdir-cards .im-card__thumb { position: relative; display: block; aspect-ratio: 16 / 10; overflow: hidden; background: var(--im-surface-3, #1b1714); }
.im-cdir-cards .im-card__thumb img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; pointer-events: none; }
.im-cdir-cards .im-card__body { display: flex; flex-direction: column; gap: var(--im-s-2); flex: 1; padding: var(--im-s-4); }
.im-cdir-cards .im-card__tag { display: none; }
.im-cdir-cards .im-card__title { font-family: var(--im-font-serif); font-size: 18px; line-height: 1.5; letter-spacing: .06em; color: var(--im-text-strong); }
.im-cdir-cards .im-card__excerpt { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; font-size: 14px; line-height: 1.75; color: var(--im-text-muted); }
.im-cdir-cards .im-card__body::after { content: "了解更多　→"; margin-block-start: auto; padding-block-start: var(--im-s-2); font-size: 15px; letter-spacing: .1em; color: var(--im-text-strong); }
.im-cdir-nav { position: absolute; z-index: 2; top: calc(50% - 22px); display: grid; place-items: center; width: 44px; height: 44px; padding: 0; border: 1px solid rgba(255, 255, 255, .6); border-radius: 999px; background: rgba(20, 18, 16, .55); -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px); color: #fff; font-size: 24px; line-height: 1; cursor: pointer; transition: opacity .25s; }
.im-cdir-nav--prev { left: 8px; }
.im-cdir-nav--next { right: 8px; }
.im-cdir-nav:disabled { opacity: 0; pointer-events: none; }
@media (max-width: 1100px) { .im-cdir-cards .im-card { flex-basis: calc((100% - var(--im-s-3)) / 2); } }
@media (max-width: 750px) {
  .im-cdir { gap: var(--im-s-6); }
  .im-cdir-row { grid-template-columns: minmax(0, 1fr); gap: var(--im-s-3); }
  .im-cdir-academy { min-height: 0; padding: var(--im-s-4); }
  .im-cdir-academy__code { font-size: min(28px, calc(18rem / (var(--k, 6) * .68))); }
  .im-cdir-academy__name { padding-block-start: 30px; }
  .im-cdir-cards .im-card { flex-basis: 78%; }
  .im-cdir-nav { display: none; }   /* 手機用手指滑 */
}

/* 10/13 業主（第 76 件第 6 點，乙線補改）：全站成果「成功案例」卡——圖片固定 4:5 比例填滿；標題平常與滑過都用深字（米色底），滑過加底線。 */
.im-academy.im-site.im-site .im-sres__cases .im-card__link { align-items: start; min-height: 0; }
.im-academy.im-site.im-site .im-sres__cases .im-card__thumb { position: relative; aspect-ratio: 4 / 5; min-height: 0; overflow: hidden; }
.im-academy.im-site.im-site .im-sres__cases .im-card__thumb img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.im-academy.im-site.im-site .im-sres__cases .im-card__title, .im-academy.im-site.im-site .im-sres__cases .im-card:hover .im-card__title { color: #1c1917; }
.im-academy.im-site.im-site .im-sres__cases .im-card:hover .im-card__title { text-decoration: underline; text-underline-offset: .25em; text-decoration-thickness: 1px; }

/* 第94件：/courses/、/results/ 橫向半列卡統一為 290px 高、264px 滿高圖欄。 */
.im-academy.im-site.im-site .im-sres__cases .im-card{height:var(--im-r94-row-card-h)}
.im-academy.im-site.im-site .im-sres__cases .im-card__link{display:grid;grid-template-columns:var(--im-r94-row-card-media-w) minmax(0,1fr);height:100%;min-height:0;align-items:stretch}
.im-academy.im-site.im-site .im-sres__cases .im-card__thumb{height:100%;min-height:0;aspect-ratio:auto}
.im-academy.im-site.im-site .im-sres__cases .im-card__thumb img{width:100%;height:100%;object-fit:cover}
@media(max-width:750px){.im-academy.im-site.im-site .im-sres__cases .im-card{height:var(--im-r94-row-card-h)}.im-academy.im-site.im-site .im-sres__cases .im-card__link{grid-template-columns:var(--im-r94-row-card-media-w) minmax(0,1fr)}}

/* 第94件：全站課程列表 44px 導航換成統一 36px 外側箭頭。 */
@media(min-width:751px){.im-cdir-scroll{position:relative}.im-cdir-nav{position:absolute;z-index:2;top:50%;width:36px;height:36px;padding:0;border:1px solid rgba(36,28,19,.45);border-radius:50%;background:transparent;color:rgba(36,28,19,.45);transform:translateY(-50%)}.im-cdir-nav--prev{left:-52px}.im-cdir-nav--next{right:-52px}.im-cdir-nav:hover{border-color:#241c13;color:#241c13;background:transparent}}

/* 10/13 業主第 80 件：六個彙整頁均用 B 型拼貼；1024px 以下收為第一張焦點大圖。 */
.im-sarch-hero--u.im-sarch-hero--crops .im-sarch-hero__media { width: auto; }   /* 乙線驗收第 80 件：原為 width: 58%，會蓋掉 right: 0，1920 時照片右緣停在 1874（右側留黑 46px）；改回由 left＋right:0 決定，滿版到視窗右緣 */
.im-sres__stories-lede { margin: -4px 0 var(--im-s-3); font-size: 14px; line-height: 1.75; color: var(--im-text-muted); }
@media (max-width: 1024px) {
  .im-sarch-hero--u.im-sarch-hero--crops .im-sarch-hero__media { inset: 0; width: 100%; }
  .im-sarch-hero--u.im-sarch-hero--crops .im-sarch-hero__img--1,
  .im-sarch-hero--u.im-sarch-hero--crops .im-sarch-hero__img--2 { display: none; }
  .im-sarch-hero--u.im-sarch-hero--crops .im-sarch-hero__media::after { background: linear-gradient(90deg, #000 0%, rgba(0,0,0,.78) 42%, rgba(0,0,0,.28) 100%); }
}

/* 第86件收斂：放在檔案末端，蓋過不同全站彙整頁原有的個別頁首頁高度。 */
.im-sarch .im-sarch-hero { min-height: var(--im-hero-media-h); }
@media (max-width:750px) { .im-sarch .im-sarch-hero { min-height: var(--im-hero-media-h-mobile); } }

/* 第86件補充（10/13）：/results/ 每院節奏對齊首頁的大區段留白。 */
.im-sres + .im-sres { margin-block-start: var(--im-page-flow-gap); }
.im-sres__content { --im-sres-label-gap: clamp(2rem, 3vw, 3rem); }
.im-sres__content > * + .im-sres__label { margin-block-start: var(--im-page-flow-gap); }
.im-sres__label { margin-block-end: var(--im-sres-label-gap); }
.im-sres__stories-lede { margin-block-end: var(--im-sres-label-gap); }
.im-sarch--results .im-sres__content > .im-sres__label { margin-block-end: var(--im-sres-label-gap); }
.im-sarch--results .im-sres__stories-lede { margin-block-end: var(--im-sres-label-gap); }

/* 第86件補充：全站成果的小標與卡片留白；沿用首頁區段級距。 */
.im-sarch--results .im-sres__content > .im-sres__label { margin-block-end: var(--im-head-gap, 2rem); }
.im-sarch--results .im-sres__stories-lede { margin-block: 0 var(--im-head-gap, 2rem); }

/* 第86件補充：全站成果的小標與卡片留白；沿用首頁區段級距。 */
.im-sarch--results .im-sres__content > .im-sres__label { margin-block-end: var(--im-sres-label-gap); }
.im-sarch--results .im-sres__stories-lede { margin-block-end: var(--im-sres-label-gap); }

/* 2026-10-15 甲線（驗收第 94 件修正）：
   ① /courses/ 是「學院一列、卡片橫向滑動」的直式卡（寬約 338），不是半列卡；套 264px 橫向圖欄會讓文字欄只剩約 60px（「微刺青基礎班」三字一行）。
      這頁的卡片維持第 94 件之前的直式排法（上面已把 .im-cdir-cards 從半列卡規則拿掉），只統一箭頭。
   ② /courses/ 箭頭外推距離改成「最多 44px、但留在畫面內」（原本 -52px 右鈕超出視窗）。
   ③ /results/ 半列卡圖欄寬「最多 264px、最多卡寬 60%」，圖片蓋滿卡高（平板 3 欄卡寬只有 268，原本圖欄 264 幾乎沒有文字欄）。 */
@media(min-width:751px){
  .im-cdir-nav--prev{left:calc(-1 * min(44px, calc(max(var(--im-gutter,40px), calc((100vw - var(--im-content,1440px)) / 2)) - 2px)))!important}
  .im-cdir-nav--next{right:calc(-1 * min(44px, calc(max(var(--im-gutter,40px), calc((100vw - var(--im-content,1440px)) / 2)) - 2px)))!important}
}
.im-academy.im-site.im-site .im-sres__cases .im-card__link{grid-template-columns:min(var(--im-r94-row-card-media-w,264px),60%) minmax(0,1fr)!important}
.im-academy.im-site.im-site .im-sres__cases .im-card__thumb{position:relative!important;height:auto!important;min-height:0!important;max-height:none!important;aspect-ratio:auto!important;align-self:stretch!important;overflow:hidden}
.im-academy.im-site.im-site .im-sres__cases .im-card__thumb img{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;object-fit:cover}

/* 甲線 10/15（驗收第 94 件修正 二）：卡片內容（三行標題＋摘要）會把格線撐到 324px，圖片超出 290 卡高被切；
   格線列高固定為卡高，1100 以下標題、摘要各最多 2 行，文字不再撐高。 */
.im-academy.im-site.im-site .im-sres__cases .im-card__link{grid-template-rows:minmax(0,1fr)!important;height:100%!important}
.im-academy.im-site.im-site .im-sres__cases .im-card__body{min-height:0;overflow:hidden}
@media(max-width:1100px){
  .im-academy.im-site.im-site .im-sres__cases .im-card__title{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}
  .im-academy.im-site.im-site .im-sres__cases .im-card__excerpt{-webkit-line-clamp:2!important}
}

/* ── 2026-10-15 甲線（總控決定：箭頭不可被懸浮鈕蓋住）──
   視窗 1699 以下，列表右外側會撞到右下懸浮鈕那一欄（1599 以下鈕在離右 4～48px，1600 以上在 24～72px；
   要等到約 1688px 寬，外側箭頭才放得下又不碰到懸浮鈕），所以 1699 以下兩顆箭頭都改貼在列表內緣 8px、加 45% 半透明底；
   1700 以上照第 94 件放在列表左右外側。箭頭層級低於懸浮鈕。手機（750 以下）本來就沒有箭頭。 */
@media(min-width:751px) and (max-width:1699px){
  .im-cdir-nav{z-index:2;background:rgba(255,255,255,.45)!important}
  .im-cdir-nav--prev{left:8px!important}
  .im-cdir-nav--next{right:8px!important}
}

/* 第95件：B 型頁首拼貼下移至下一區黑底，彼此僅交疊約四分之一。乙線 10/15：36%／58% 只超出底圖 14px；改從下緣定位，第二張固定超出 48px（小於下一區上留白 72px，不壓到標題列；下一區是米色區的活動／文章／成果上留白較小，超出 24px），第一張高半張（7.3vw≈半張圖高）。 */
@media (min-width: 1025px) {
  .im-sarch-hero--u.im-sarch-hero--crops { overflow: visible; z-index: 3; }
  .im-sarch-hero--u.im-sarch-hero--crops .im-sarch-hero__media { overflow: visible; }
  .im-sarch-hero--u.im-sarch-hero--crops .im-sarch-hero__img--1,
  .im-sarch-hero--u.im-sarch-hero--crops .im-sarch-hero__img--2 { width: 24%; aspect-ratio: 1; }
  .im-sarch-hero--u.im-sarch-hero--crops .im-sarch-hero__img--1 { top: auto; bottom: calc(7.3vw - var(--im-sarch-crop-out, 48px)); right: 7%; }
  .im-sarch-hero--u.im-sarch-hero--crops .im-sarch-hero__img--2 { top: auto; bottom: calc(-1 * var(--im-sarch-crop-out, 48px)); right: 22%; }
  .im-sarch-hero--u.im-sarch-hero--crops:has(+ .im-sarch-light) { --im-sarch-crop-out: 24px; }
}

/* 卡片標題 hover 保持原對比：深底白字、淺底深字。 */
.im-sarch .im-card:hover .im-card__title,
.im-sarch .im-card__link:focus-visible .im-card__title { color: var(--im-text-strong); }
.im-sarch .im-sarch-featured .im-card:hover .im-card__title, .im-sarch .im-sarch-banner .im-card:hover .im-card__title { color: #fff; }

/* /events/ 總覽固定為直列；共用 im-evt 的日期四種寫法與首頁橫向軸不變。 */
.im-sarch--event .im-evt__list { display: block; overflow: visible; padding: 0; }
.im-sarch--event .im-evt__list::before { left: 250px; top: 8px; bottom: 8px; width: 1px; height: auto; min-width: 0; }
.im-sarch--event .im-evt__item,.im-sarch--event .im-evt__item:not(:has(.im-evt__ph)) { display: grid; flex: none; grid-template-columns: 220px 60px minmax(0,1fr) 280px; grid-template-areas: "date dot body ph"; padding: 28px 0; border-top: 1px solid var(--evt-l); }
.im-sarch--event .im-evt__item:not(:has(.im-evt__ph)) { grid-template-columns: 220px 60px minmax(0,1fr); }
.im-sarch--event .im-evt__item:last-child { border-bottom: 1px solid var(--evt-l); }
.im-sarch--event .im-evt__date { order: initial; text-align: right; height: auto; display: block; padding-right: 6px; }
.im-sarch--event .im-evt__date time,.im-sarch--event .im-evt__date .im-evt__when { display: block; }
.im-sarch--event .im-evt__wk { flex-direction: row; justify-content: flex-end; align-items: baseline; gap: 10px; margin-top: 12px; }
.im-sarch--event .im-evt__dot { order: initial; height: auto; }
.im-sarch--event .im-evt__dot::before { left: 24px; top: 30px; }
.im-sarch--event .im-evt__ph { order: initial; height: 180px; }
.im-sarch--event .im-evt__body { order: initial; padding: 14px 32px 0 0; }
@media (max-width:1100px) {
  .im-sarch--event .im-evt__list::before { left: 180px; }
  .im-sarch--event .im-evt__item,.im-sarch--event .im-evt__item:not(:has(.im-evt__ph)) { grid-template-columns: 150px 60px minmax(0,1fr) 220px; }
  .im-sarch--event .im-evt__item:not(:has(.im-evt__ph)) { grid-template-columns: 150px 60px minmax(0,1fr); }
  .im-sarch--event .im-evt__md { font-size: 64px; }.im-sarch--event .im-evt__ph { height: 150px; }
}
@media (max-width:750px) {
  .im-sarch--event .im-evt__list::before { left: 20px; top: 14px; bottom: 14px; }
  .im-sarch--event .im-evt__item,.im-sarch--event .im-evt__item:not(:has(.im-evt__ph)) { grid-template-columns: 40px minmax(0,1fr); grid-template-areas: "dot date" "dot ph" "dot body"; gap: 0; padding: 24px 0; }
  .im-sarch--event .im-evt__date { text-align: left; padding: 0 0 12px; }
  .im-sarch--event .im-evt__date time,.im-sarch--event .im-evt__date .im-evt__when { display: flex; align-items: flex-end; gap: 12px; }
  .im-sarch--event .im-evt__md { font-size: clamp(56px,18vw,72px); }
  .im-sarch--event .im-evt__wk { align-items: flex-start; flex-direction: column; gap: 5px; margin: 0 0 6px; }
  .im-sarch--event .im-evt__dot::before { left: 14px; top: 18px; }
  .im-sarch--event .im-evt__ph { height: 200px; margin-bottom: 16px; }.im-sarch--event .im-evt__body { padding: 0; }
}

/* 2026-10-15 第 98 件：文章單一列表。 */
/* 乙線 10/15：外掛 proto.css 的 .im-list（auto-fill 260px）比主題晚載入，會蓋成一排 4；以下選擇器都加 .im-sarch 提高權重。 */
.im-sarch .im-sarch-insight-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--im-s-5); }
.im-sarch .im-sarch-insight-list .im-card { height: 290px; overflow: hidden; border: 1px solid var(--im-line-strong); background: var(--im-surface); }
.im-sarch .im-sarch-insight-list .im-card__link { display: grid; grid-template-columns: min(42%, 264px) minmax(0, 1fr); height: 100%; }
.im-sarch .im-sarch-insight-list .im-card__thumb { position: relative; height: 100%; }
.im-sarch .im-sarch-insight-list .im-card__thumb img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.im-sarch .im-sarch-insight-list .im-card__body { min-width: 0; padding: var(--im-s-5); }
.im-sarch .im-sarch-insight-list .im-card__tag { display: none; }
.im-sarch .im-sarch-insight-list .im-card__title { font-size: var(--im-fs-lg); }
.im-sarch .im-sarch-insight-list .im-card__excerpt { -webkit-line-clamp: 3; }
.im-sarch .im-sarch-insight-list .im-card__body::after { content: "閱讀全文　→"; margin-block-start: auto; font-size: var(--im-fs-sm); letter-spacing: .1em; color: var(--im-brand-ink); }
@media (max-width: 1024px) {
  .im-sarch .im-sarch-insight-list .im-card { height: auto; }
  .im-sarch .im-sarch-insight-list .im-card__link { grid-template-columns: 1fr; }
  .im-sarch .im-sarch-insight-list .im-card__thumb { height: auto; aspect-ratio: 16 / 10; }
}
/* 乙線 10/15：1024 寬一欄卡片 944 寬、圖只有 208 高太扁；750～1024 維持一排 2 張直式，圖 16:10。 */
@media (max-width: 750px) { .im-sarch .im-sarch-insight-list { grid-template-columns: 1fr; } }

/* 乙線 10/15 驗收第107件：錨點、眉標、代號、摘要、卡尾、WORKS 小字原本 10～13px，全站規定至少 14px，統一改 14px；代號色加深到對比 4.5 以上。 */
/* 第 107 件：全站四個彙整頁共用「學院標頭列 A＋半列卡 B」。 */
.im-aar-anchor { position: sticky; z-index: 20; top: var(--im-header-height, 72px); background: #f3eee8; border-block-end: 1px solid #c6b083; }
.im-aar-anchor__scroll { display: flex; min-width: max-content; }
.im-aar-anchor a { padding: 15px 18px 12px; border-block-end: 2px solid transparent; color: #34291d; font-size: 14px; letter-spacing: .12em; text-decoration: none; white-space: nowrap; }
.im-aar-anchor a:hover, .im-aar-anchor a:focus-visible { border-color: #a77b38; }
.im-aar { position: relative; isolation: isolate; padding-block: clamp(2.5rem, 5vw, 5.5rem); overflow: hidden; background: #f3eee8; color: #2e2a26; }
.im-aar__ghost { position: absolute; z-index: -1; top: 1rem; left: 50%; margin: 0; transform: translateX(-50%); color: rgba(122,84,38,.055); font-family: var(--im-font-serif); font-size: clamp(5.5rem, 17vw, 17rem); letter-spacing: -.06em; line-height: .8; white-space: nowrap; }
.im-aar-row { display: grid; grid-template-columns: minmax(15rem, 38fr) minmax(0, 62fr); gap: clamp(2rem, 4vw, 5rem); padding-block: clamp(2.5rem, 5vw, 5rem); border-block-start: 1px solid #c6b083; scroll-margin-top: calc(var(--im-header-height, 72px) + var(--im-aar-anchor-height, 54px) + 8px); }
.im-aar-row:last-child { border-block-end: 1px solid #c6b083; }
.im-aar-a { display: flex; flex-direction: column; align-items: flex-start; }
.im-aar-a__eyebrow { color: #7a5426; font-size: 14px; letter-spacing: .18em; }
.im-sarch .im-aar-a h2 { margin-block: .45rem .6rem; color: #211a13; font-size: clamp(3rem, 5vw, 5.8rem); letter-spacing: .04em; line-height: 1.05; }
.im-aar-a__code { color: #6b5a47; font-family: var(--im-font-en, sans-serif); font-size: 14px; letter-spacing: .16em; }
.im-aar-a__desc { max-width: 25em; margin-block: 1.5rem; color: #5f5952; line-height: 1.85; }
.im-aar-a > a, .im-aar-all, .im-aar-works__head a { color: #5f431f; font-size: 14px; letter-spacing: .08em; text-decoration: none; }
.im-aar-a > a { margin-top: auto; padding-block-end: 4px; border-block-end: 1px solid #a77b38; }
.im-aar-b { min-width: 0; }
.im-sarch .im-aar-cards { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.im-sarch .im-aar-cards .im-card { height: 290px; overflow: hidden; border: 1px solid #d5c6b1; background: #fbf8f4; }
.im-sarch .im-aar-cards .im-card__link { display: grid; grid-template-columns: min(42%, 264px) minmax(0, 1fr); }
.im-sarch .im-aar-cards .im-card__thumb { position: relative; height: 100%; overflow: hidden; background: #e7ded3; }
.im-sarch .im-aar-cards .im-card__thumb img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.im-sarch .im-aar-cards .im-card__body { display: flex; flex-direction: column; min-width: 0; padding: 22px 18px; }
.im-sarch .im-aar-cards .im-card__tag { display: none; }
.im-sarch .im-aar-cards .im-card__title { font-size: 20px; line-height: 1.45; color: #211a13; }
.im-sarch .im-aar-cards .im-card__excerpt { display: -webkit-box; overflow: hidden; -webkit-box-orient: vertical; -webkit-line-clamp: 3; margin-top: 10px; color: #655d54; font-size: 14px; line-height: 1.7; }
.im-sarch .im-aar-cards .im-card__body::after { content: "查看內容 →"; margin-top: auto; color: #7a5426; font-size: 14px; letter-spacing: .1em; }
.im-aar-all { display: inline-block; margin-top: 18px; padding-block-end: 3px; border-block-end: 1px solid #a77b38; }
.im-aar-works { margin-top: 2rem; padding: 20px; border: 1px solid rgba(198,176,131,.65); background: rgba(251,248,244,.64); -webkit-backdrop-filter: blur(12px); backdrop-filter: blur(12px); }
.im-aar-works__head { display: flex; justify-content: space-between; gap: 1rem; align-items: baseline; margin-bottom: 14px; }
.im-aar-works__head p { color: #2e2419; font-family: var(--im-font-serif); font-size: 19px; }
.im-aar-works__head small { margin-right: 8px; color: #7a5426; font-family: var(--im-font-en, sans-serif); font-size: 14px; letter-spacing: .16em; }
.im-aar-works__viewport { position: relative; }
.im-aar-works ul { display: flex; gap: 12px; margin: 0; padding: 0; overflow-x: auto; list-style: none; scroll-snap-type: x mandatory; scrollbar-width: none; }
.im-aar-works ul::-webkit-scrollbar { display: none; }
.im-aar-works li { flex: 0 0 min(31%, 180px); aspect-ratio: 4 / 5; overflow: hidden; scroll-snap-align: start; }
.im-aar-works img { width: 100%; height: 100%; object-fit: cover; }
.im-aar-works__nav { position: absolute; z-index: 1; top: 50%; width: 34px; height: 34px; border: 1px solid #a77b38; border-radius: 50%; background: rgba(251,248,244,.9); color: #5f431f; transform: translateY(-50%); }
.im-aar-works__nav--prev { left: 8px; }.im-aar-works__nav--next { right: 8px; }.im-aar-works__nav:disabled { display: none; }
@media (max-width: 1024px) { .im-aar-row { grid-template-columns: 1fr; gap: 1.5rem; }.im-aar-a > a { margin-top: 1.25rem; }.im-sarch .im-aar-cards .im-card { height: auto; }.im-sarch .im-aar-cards .im-card__link { grid-template-columns: 1fr; }.im-sarch .im-aar-cards .im-card__thumb { height: auto; aspect-ratio: 16 / 10; } }
@media (max-width: 750px) { .im-aar-anchor__scroll { overflow-x: auto; scrollbar-width: none; }.im-aar-anchor__scroll::-webkit-scrollbar { display: none; }.im-aar-anchor a { padding-inline: 14px; }.im-aar { padding-block: 2.25rem; }.im-aar__ghost { top: 1.5rem; font-size: 5rem; }.im-aar-row { padding-block: 2.5rem; }.im-sarch .im-aar-a h2 { font-size: clamp(3.25rem, 15vw, 4.5rem); }.im-sarch .im-aar-cards { grid-template-columns: 1fr; }.im-aar-works { padding: 14px; }.im-aar-works li { flex-basis: 68%; }.im-aar-works__nav { display: none; } }
/* 乙線 10/15 驗收第107件：
   ① 錨點列在 751～1100 寬放不下十院（1024 寬右緣到 1095），原本只有手機能橫滑 → 各寬度都可橫滑。
   ② B 型頁首拼貼超出底圖的那段，會被緊接著的 sticky 錨點列蓋住 → 總控 10/15：拼貼維持超出 48px，錨點列往下留出同樣的空間（1025 以上；以下只剩一張圖不超出）。
   ③ 作品牆補回燈箱（作品鈕樣式）。 */
.im-aar-anchor__scroll { overflow-x: auto; scrollbar-width: none; min-width: 0; }
.im-aar-anchor__scroll::-webkit-scrollbar { display: none; }
.im-aar-works__item { display: block; width: 100%; height: 100%; padding: 0; border: 0; background: none; cursor: zoom-in; }
.im-aar-works__item img { transition: transform .7s cubic-bezier(.2,.7,.2,1); }
.im-aar-works__item:hover img { transform: scale(1.05); }
@media (min-width: 1025px) { .im-sarch-hero--u.im-sarch-hero--crops + .im-aar-anchor { margin-top: var(--im-sarch-crop-out, 48px); } }

/* 2026-10-15 甲線（驗收第 111 件，業主：全站卡片 hover 一致）：
   淺色區的卡片（.im-aar-cards，/courses/、/results/）標題平常是 #211a13，上面「hover 用 var(--im-text-strong)」那條權重較高，
   而全站頁這個變數是白色 → hover 時標題變白、在淺底上幾乎看不到。改成 hover 標題不變色；
   行動字（「查看內容 →」等）跟學院課程頁一樣：往右移 4px＋金色底線。 */
.im-sarch .im-aar-cards .im-card:hover .im-card__title,
.im-sarch .im-aar-cards .im-card:focus-within .im-card__title,
.im-sarch .im-aar-cards .im-card__link:focus-visible .im-card__title { color: #211a13; }
.im-sarch .im-aar-cards .im-card__body::after { transition: transform .2s ease, text-decoration-color .2s ease; text-decoration: underline transparent; text-underline-offset: .3em; }
.im-sarch .im-aar-cards .im-card:hover .im-card__body::after,
.im-sarch .im-aar-cards .im-card:focus-within .im-card__body::after { transform: translateX(4px); text-decoration-color: #d7b17b; }
@media (prefers-reduced-motion: reduce) { .im-sarch .im-aar-cards .im-card__body::after { transition: none; } }

/* 2026-10-16 甲線（驗收第 112 件④：手機導覽列與頁首之間的黑色空白）：
   來源是 style.css 舊規則「#im-main { padding-top: 50px !important }」（8 月導覽列還是固定浮在上方時留的讓位），
   現在全站彙整頁的導覽列在正常版面裡，這 50px 就成了導覽列下方一條黑帶。手機拿掉；桌機照業主「1440 不變」先不動。
   範圍只到用 .im-sarch-main 的全站彙整頁（課程、成果、師資、優勢、活動、文章）。 */
@media (max-width: 750px) { #im-main.im-sarch-main { padding-top: 0 !important; } }

/* 2026-10-16 甲線（第三十三之二，總控）：/instructors/ 師資照片焦點偏上 50% 15%（直式人像的臉在上半部，原本從正中裁會切到臉）。
   1024 以下原本是上圖下文的 16:10 橫框（348×218、462×289）：改成左圖右文、圖框直式 3:4，卡片高度隨內容。 */
.im-sarch .im-list--instructor .im-card__thumb img { object-fit: cover; object-position: 50% 15% !important; }
@media (max-width: 1024px) {
  .im-sarch .im-aar-cards.im-list--instructor .im-card { height: auto !important; }
  .im-sarch .im-aar-cards.im-list--instructor .im-card__link { display: grid !important; grid-template-columns: minmax(0, 40%) minmax(0, 1fr) !important; height: auto !important; align-items: stretch; }
  .im-sarch .im-aar-cards.im-list--instructor .im-card__thumb { position: relative; height: auto !important; aspect-ratio: 3 / 4 !important; align-self: stretch; width: 100% !important; min-height: 100% !important; }/* 至少 3:4；文字較長、卡片比較高時圖框跟著撐滿，不留空白 */
  .im-sarch .im-aar-cards.im-list--instructor .im-card__thumb img { position: absolute; inset: 0; width: 100%; height: 100%; }
}

/* ═══ 決議 180（業主 10/20）全站列表元件統一：全站彙整頁的卡片 ═══
   標題 hover 不變色、不加底線；動作按鈕 hover 右移 4px＋金色底線（同學院課程頁）；按鈕字「動詞＋名詞」。 */
.im-sarch .im-card:hover .im-card__title, .im-sarch .im-card:focus-within .im-card__title { text-decoration: none; }
.im-sarch--course .im-aar-cards .im-card__body::after { content: "了解課程 →"; }
.im-sarch--results .im-aar-cards .im-card__body::after { content: "閱讀案例 →"; }
.im-sarch--instructor .im-aar-cards .im-card__body::after { content: "認識老師 →"; }
.im-sarch--advantage .im-aar-cards .im-card__body::after { content: "了解優勢 →"; }
.im-sarch .im-sarch-insight-list .im-card .im-card__body::after { content: "閱讀文章　→"; text-decoration: underline transparent; text-underline-offset: 5px; transition: transform .2s ease, text-decoration-color .2s ease; }
.im-sarch .im-sarch-insight-list .im-card:hover .im-card__body::after,
.im-sarch .im-sarch-insight-list .im-card:focus-within .im-card__body::after { transform: translateX(4px); text-decoration-color: #d7b17b; }
@media (prefers-reduced-motion: reduce) { .im-sarch .im-sarch-insight-list .im-card .im-card__body::after { transition: none; } }
