/* ============================================================
   brand.css — 原味藍圖 共用 Design Tokens 與視覺基礎
   ------------------------------------------------------------
   Phase: 前端整合 第一階段 (2026-07-19)
   來源: mockups/home-attractor.html 定稿 + mockups/CLAUDE_IMPLEMENTATION_HANDOFF.md

   用途:
   - 提供跨頁一致的品牌色彩變數、字體 helper、focus 可見性
     與 prefers-reduced-motion 降級。
   - 各頁的 tailwind.config 仍依專案慣例 per-page inline;
     此檔只承載「非 Tailwind」的共通層,兩者色值必須一致。

   使用方式:
   - 根目錄頁: <link rel="stylesheet" href="brand.css">
   - tools/ 子目錄頁: <link rel="stylesheet" href="../brand.css">
   - 搭配字體(頁面自行載入):
     Noto Sans TC (內文) + Noto Serif TC (標題襯線)

   注意:
   - 不放任何秘密、不含 JS。
   - 既有正式頁 (dashboard/tools/report...) 尚未掛此檔,
     掛入前需逐頁驗證 focus 樣式不與其自訂樣式衝突。
   ============================================================ */

:root {
  /* 新視覺系統 (吸引子定稿) */
  --brand-paper:   #FBF8F2;  /* 暖紙白:主背景 */
  --brand-paper-2: #F3EDE2;  /* 紙白次階:面板底 */
  --brand-ink:     #142033;  /* 深墨藍:標題/主要文字/深色區塊 */
  --brand-teal:    #1E9188;  /* 沉靜青綠:重點/連結/路徑 */
  --brand-mist:    #DCECEF;  /* 淡霧藍:次要層次 */
  --brand-clay:    #E88A55;  /* 暖陶橘:轉折/行動提示(少量) */
  --brand-sand:    #EFE6D5;  /* 暖砂:區塊底色 */
  --brand-line:    rgba(20, 32, 51, .12);  /* 分隔線 */

  /* 既有品牌色(現行正式頁仍在使用,過渡期並存) */
  --brand-primary:   #0d9488;
  --brand-secondary: #0f172a;
}

/* 襯線標題 helper (需頁面已載入 Noto Serif TC) */
.serif { font-family: "Noto Serif TC", serif; }

/* 首頁 Hero 仍由 index.html 保存 canonical 文字；這裡只收斂排版。 */
.home-hero-title {
  max-width: 39rem !important;
  font-size: clamp(2rem, 4vw, 2.85rem) !important;
  line-height: 1.4 !important;
}

.home-hero-copy {
  font-size: 1rem !important;
  line-height: 1.92 !important;
}

/* 鍵盤操作 focus 可見性 */
a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
summary:focus-visible,
[tabindex]:focus-visible {
  outline: 3px solid var(--brand-teal);
  outline-offset: 3px;
  border-radius: 4px;
}

/* 動效降級:所有動畫/轉場停用,由各頁自行補「動畫終止狀態」 */
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto !important; }
  *, *::before, *::after {
    animation: none !important;
    transition: none !important;
  }
}

/* ============================================================
   公開網站骨架 v1（WEB-SHELL-001）
   所有 class 均以 site- 開頭，避免影響既有評測與後臺頁面。
   ============================================================ */

.site-page {
  margin: 0;
  min-height: 100vh;
  background: var(--brand-paper);
  color: var(--brand-ink);
  font-family: "Noto Sans TC", "PingFang TC", "Microsoft JhengHei", system-ui, sans-serif;
  line-height: 1.8;
  letter-spacing: .006em;
  -webkit-font-smoothing: antialiased;
}

.site-page *,
.site-page *::before,
.site-page *::after { box-sizing: border-box; }

.site-page a { color: inherit; }
.site-page img { max-width: 100%; }
.site-page p { text-wrap: pretty; }
.site-page h1,
.site-page h2,
.site-page h3 { text-wrap: balance; }

.site-skip-link {
  position: fixed;
  top: .75rem;
  left: .75rem;
  z-index: 100;
  padding: .7rem 1rem;
  border-radius: .7rem;
  background: var(--brand-ink);
  color: white !important;
  transform: translateY(-160%);
}

.site-skip-link:focus { transform: translateY(0); }

.site-container {
  width: min(100% - 2.5rem, 72rem);
  margin-inline: auto;
}

.site-container--wide { width: min(100% - 2.5rem, 85rem); }
.site-container--narrow { width: min(100% - 2.5rem, 48rem); }

.site-header {
  position: sticky;
  top: 0;
  z-index: 50;
  border-bottom: 1px solid var(--brand-line);
  background: rgba(251, 248, 242, .94);
  backdrop-filter: blur(14px);
}

.site-header__inner {
  min-height: 4.25rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1.5rem;
}

.site-brand {
  display: inline-flex;
  align-items: center;
  gap: .7rem;
  flex: 0 0 auto;
  font-weight: 900;
  text-decoration: none;
  letter-spacing: -.02em;
}

.site-brand img { width: 2rem; height: 2rem; object-fit: contain; }
.site-brand small { display: block; color: rgba(20, 32, 51, .52); font-size: .68rem; letter-spacing: .08em; }

.site-nav {
  display: flex;
  align-items: center;
  gap: clamp(.7rem, 1.35vw, 1.15rem);
  color: rgba(20, 32, 51, .68);
  font-size: .84rem;
  font-weight: 700;
}

.site-nav a { text-decoration: none; }
.site-nav a:hover,
.site-nav a[aria-current="page"] { color: var(--brand-teal); }

.site-nav__account {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 2.6rem;
  padding: .55rem 1rem;
  border-radius: 999px;
  background: var(--brand-ink);
  color: white !important;
}

.site-nav__account:hover { background: var(--brand-teal); }

.site-mobile-nav { display: none; position: relative; }
.site-mobile-nav summary {
  cursor: pointer;
  list-style: none;
  border: 1px solid var(--brand-line);
  border-radius: 999px;
  padding: .55rem .9rem;
  font-size: .85rem;
  font-weight: 800;
}
.site-mobile-nav summary::-webkit-details-marker { display: none; }
.site-mobile-nav__panel {
  position: absolute;
  right: 0;
  top: calc(100% + .7rem);
  width: min(19rem, calc(100vw - 2.5rem));
  padding: .75rem;
  border: 1px solid var(--brand-line);
  border-radius: 1rem;
  background: var(--brand-paper);
  box-shadow: 0 18px 48px rgba(20, 32, 51, .16);
}
.site-mobile-nav__panel a {
  display: block;
  padding: .7rem .75rem;
  border-radius: .65rem;
  font-size: .9rem;
  font-weight: 700;
  text-decoration: none;
}
.site-mobile-nav__panel a:hover,
.site-mobile-nav__panel a[aria-current="page"] { background: var(--brand-mist); color: var(--brand-teal); }

.site-breadcrumb {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: .45rem;
  margin-bottom: 2rem;
  color: rgba(20, 32, 51, .52);
  font-size: .82rem;
}
.site-breadcrumb a { text-decoration: none; }
.site-breadcrumb a:hover { color: var(--brand-teal); }

.site-page-hero {
  position: relative;
  overflow: hidden;
  padding: clamp(4.5rem, 9vw, 7.5rem) 0 clamp(3.5rem, 7vw, 6rem);
  border-bottom: 1px solid var(--brand-line);
}
.site-page-hero::after {
  content: "";
  position: absolute;
  width: 34rem;
  height: 34rem;
  top: -23rem;
  right: -12rem;
  border: 1px solid rgba(30, 145, 136, .18);
  border-radius: 50%;
  box-shadow: 0 0 0 5rem rgba(220, 236, 239, .22), 0 0 0 10rem rgba(232, 138, 85, .05);
  pointer-events: none;
}

.site-eyebrow {
  margin: 0 0 1rem;
  color: var(--brand-teal);
  font-size: .76rem;
  font-weight: 900;
  letter-spacing: .18em;
  text-transform: uppercase;
}

.site-title {
  max-width: 46rem;
  margin: 0;
  font-family: "Noto Serif TC", serif;
  font-size: clamp(2.1rem, 5vw, 3.75rem);
  line-height: 1.34;
  letter-spacing: -.018em;
}

.site-lead {
  max-width: 40rem;
  margin: 1.5rem 0 0;
  color: rgba(20, 32, 51, .68);
  font-size: clamp(1rem, 2vw, 1.16rem);
  line-height: 1.88;
}

.site-actions { display: flex; flex-wrap: wrap; gap: .8rem; margin-top: 2rem; }
.site-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: .55rem;
  min-height: 3rem;
  padding: .75rem 1.2rem;
  border: 1px solid var(--brand-ink);
  border-radius: 999px;
  background: var(--brand-ink);
  color: white !important;
  font-weight: 800;
  text-decoration: none;
}
.site-button:hover { border-color: var(--brand-teal); background: var(--brand-teal); }
.site-button--secondary { background: transparent; color: var(--brand-ink) !important; }
.site-button--secondary:hover { color: white !important; }

.site-section { padding: clamp(4rem, 8vw, 6.5rem) 0; }
.site-section--tint { background: rgba(220, 236, 239, .34); }
.site-section--sand { background: rgba(239, 230, 213, .54); }
.site-section--dark { background: var(--brand-ink); color: white; }

.site-section__head { max-width: 44rem; margin-bottom: 2.25rem; }
.site-section__head h2 {
  margin: 0;
  font-family: "Noto Sans TC", "PingFang TC", "Microsoft JhengHei", system-ui, sans-serif;
  font-size: clamp(1.8rem, 4vw, 2.65rem);
  font-weight: 800;
  line-height: 1.42;
  letter-spacing: -.018em;
}
.site-section__head p:last-child { max-width: 42rem; margin: 1rem 0 0; color: rgba(20, 32, 51, .62); line-height: 1.88; }
.site-section--dark .site-section__head p:last-child { color: rgba(255, 255, 255, .62); }

.site-grid { display: grid; gap: 1.25rem; }
.site-grid--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.site-grid--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.site-grid--4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.site-grid--5 { grid-template-columns: repeat(5, minmax(0, 1fr)); }

.site-card {
  display: flex;
  flex-direction: column;
  min-height: 100%;
  padding: clamp(1.5rem, 3vw, 2.15rem);
  border: 1px solid var(--brand-line);
  border-radius: 1.25rem;
  background: rgba(255, 255, 255, .64);
}
.site-card--link { text-decoration: none; transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease; }
.site-card--link:hover { transform: translateY(-3px); border-color: rgba(30, 145, 136, .5); box-shadow: 0 18px 44px -30px rgba(20, 32, 51, .5); }
.site-card--muted { border-style: dashed; background: rgba(255, 255, 255, .34); }
.site-card__number { color: var(--brand-teal); font-size: .72rem; font-weight: 900; letter-spacing: .16em; }
.site-card h2,
.site-card h3 {
  margin: .65rem 0 .65rem;
  font-family: "Noto Sans TC", "PingFang TC", "Microsoft JhengHei", system-ui, sans-serif;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: -.01em;
}
.site-card p { margin: 0; color: rgba(20, 32, 51, .62); line-height: 1.84; }
.site-card__meta { margin-top: auto !important; padding-top: 1.5rem; color: var(--brand-teal) !important; font-size: .84rem; font-weight: 800; }
.site-card__labels { display: flex; flex-wrap: wrap; align-items: center; gap: .55rem; }

.site-tag {
  display: inline-flex;
  align-items: center;
  align-self: flex-start;
  padding: .3rem .65rem;
  border: 1px solid rgba(30, 145, 136, .22);
  border-radius: 999px;
  background: rgba(220, 236, 239, .48);
  color: #126e68;
  font-size: .7rem;
  font-weight: 900;
  letter-spacing: .06em;
}

.site-status {
  display: inline-flex;
  align-items: center;
  align-self: flex-start;
  margin-bottom: .7rem;
  padding: .3rem .65rem;
  border-radius: 999px;
  background: var(--brand-mist);
  color: var(--brand-ink);
  font-size: .7rem;
  font-weight: 900;
  letter-spacing: .06em;
}
.site-status--live { background: rgba(30, 145, 136, .12); color: #126e68; }
.site-status--build { background: rgba(232, 138, 85, .14); color: #9f4b1f; }
.site-status--plan { background: rgba(20, 32, 51, .08); color: rgba(20, 32, 51, .62); }
.site-status--support { background: rgba(232, 138, 85, .14); color: #8d451f; }
.site-status-legend { display: flex; flex-wrap: wrap; gap: .55rem; margin-top: 1.75rem; }
.site-status-legend .site-status,
.site-card__labels .site-status { margin-bottom: 0; }

.site-flow { counter-reset: flow; display: grid; gap: 1rem; }
.site-flow__item {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 1rem;
  padding: 1.25rem 0;
  border-bottom: 1px solid var(--brand-line);
}
.site-flow__item::before {
  counter-increment: flow;
  content: counter(flow, decimal-leading-zero);
  color: var(--brand-teal);
  font-size: .78rem;
  font-weight: 900;
  letter-spacing: .12em;
}
.site-flow__item h3 { margin: 0 0 .35rem; }
.site-flow__item p { margin: 0; color: rgba(20, 32, 51, .62); }

.site-note {
  padding: 1rem 1.1rem;
  border-left: 3px solid var(--brand-clay);
  background: rgba(232, 138, 85, .08);
  color: rgba(20, 32, 51, .7);
  font-size: .9rem;
}

/* 公開評測介紹頁（ASSESSMENT-INTRO-001） */
.site-tool-hero__grid {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(17rem, .65fr);
  align-items: end;
  gap: clamp(2rem, 6vw, 5rem);
}

.site-tool-summary {
  padding: clamp(1.35rem, 3vw, 2rem);
  border: 1px solid var(--brand-line);
  border-radius: 1.5rem;
  background: rgba(255, 255, 255, .62);
  box-shadow: 0 24px 60px -48px rgba(20, 32, 51, .6);
}

.site-tool-summary dl { margin: 0; }
.site-tool-summary div {
  display: grid;
  grid-template-columns: 5.25rem 1fr;
  gap: 1rem;
  padding: .8rem 0;
  border-bottom: 1px solid var(--brand-line);
}
.site-tool-summary div:last-child { border-bottom: 0; }
.site-tool-summary dt { color: rgba(20, 32, 51, .48); font-size: .76rem; font-weight: 800; }
.site-tool-summary dd { margin: 0; font-size: .88rem; font-weight: 700; }

.site-tool-path {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1rem;
}

.site-tool-path__item {
  position: relative;
  padding: 1.5rem;
  border-top: 2px solid var(--brand-teal);
  background: rgba(255, 255, 255, .56);
}
.site-tool-path__item span { color: var(--brand-teal); font-size: .72rem; font-weight: 900; letter-spacing: .14em; }
.site-tool-path__item h3 { margin: .6rem 0 .5rem; font-family: "Noto Serif TC", serif; }
.site-tool-path__item p { margin: 0; color: rgba(20, 32, 51, .62); }

.site-tool-quote {
  margin: 0;
  padding: clamp(1.5rem, 4vw, 2.5rem);
  border-left: 4px solid var(--brand-teal);
  background: rgba(220, 236, 239, .35);
  font-family: "Noto Serif TC", serif;
  font-size: clamp(1.15rem, 2.5vw, 1.55rem);
  font-weight: 700;
  line-height: 1.8;
}

.site-check-list {
  display: grid;
  gap: .85rem;
  margin: 0;
  padding: 0;
  list-style: none;
}
.site-check-list li {
  position: relative;
  padding-left: 1.65rem;
  color: rgba(20, 32, 51, .7);
}
.site-check-list li::before {
  content: "";
  position: absolute;
  top: .72em;
  left: 0;
  width: .55rem;
  height: .55rem;
  border: 2px solid var(--brand-teal);
  border-radius: 50%;
}

.site-tool-cta {
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: center;
  gap: 2rem;
  padding: clamp(2rem, 5vw, 3.5rem);
  border-radius: 1.5rem;
  background: var(--brand-ink);
  color: white;
}
.site-tool-cta h2 { margin: 0; font-family: "Noto Serif TC", serif; line-height: 1.5; }
.site-tool-cta p { margin: .7rem 0 0; color: rgba(255, 255, 255, .65); }
.site-tool-cta .site-button { border-color: white; background: white; color: var(--brand-ink) !important; }
.site-tool-cta .site-button:hover { border-color: var(--brand-teal); background: var(--brand-teal); color: white !important; }

.site-footer { padding: 3.5rem 0; background: var(--brand-ink); color: rgba(255, 255, 255, .6); }
.site-footer__grid { display: grid; grid-template-columns: minmax(14rem, 1.3fr) repeat(3, minmax(8rem, 1fr)); gap: 2rem; }
.site-footer h2,
.site-footer h3 { margin: 0 0 .7rem; color: white; font-size: .92rem; }
.site-footer p { margin: 0; font-size: .84rem; }
.site-footer nav { display: grid; gap: .45rem; }
.site-footer a { font-size: .84rem; text-decoration: none; }
.site-footer a:hover { color: white; }
.site-footer__legal { margin-top: 2.5rem; padding-top: 1.5rem; border-top: 1px solid rgba(255, 255, 255, .12); font-size: .74rem; }

@media (max-width: 960px) {
  .site-nav { display: none; }
  .site-mobile-nav { display: block; }
  .site-grid--4 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .site-grid--5 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .site-grid--3 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .site-footer__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .site-tool-hero__grid { grid-template-columns: 1fr; }
}

@media (max-width: 640px) {
  .home-hero-title { font-size: 2rem !important; line-height: 1.45 !important; }
  .home-hero-copy { font-size: .9375rem !important; line-height: 1.92 !important; }
  .site-container,
  .site-container--wide,
  .site-container--narrow { width: min(100% - 2rem, 72rem); }
  .site-brand small { display: none; }
  .site-grid--2,
  .site-grid--3,
  .site-grid--4 { grid-template-columns: 1fr; }
  .site-grid--5 { grid-template-columns: 1fr; }
  .site-title { font-size: clamp(2rem, 9.5vw, 2.35rem); line-height: 1.42; }
  .site-lead { line-height: 1.82; }
  .site-actions { align-items: stretch; flex-direction: column; }
  .site-button { width: 100%; }
  .site-footer__grid { grid-template-columns: 1fr; }
  .site-tool-path { grid-template-columns: 1fr; }
  .site-tool-cta { grid-template-columns: 1fr; }
}

/* ============================================================
   生涯與職涯諮詢／關於團隊（M7-CAREER-CONSULTING-ABOUT-0805）
   僅限兩個公開頁 body class，避免影響評測與後臺。
   ============================================================ */

.career-hero__grid,
.about-team-hero__grid {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(18rem, .85fr);
  align-items: center;
  gap: clamp(2.5rem, 7vw, 6rem);
}

.career-price-card {
  padding: clamp(1.6rem, 4vw, 2.4rem);
  border: 1px solid var(--brand-line);
  border-radius: 1.6rem;
  background: rgba(255, 255, 255, .7);
  box-shadow: 0 30px 70px -52px rgba(20, 32, 51, .7);
}
.career-price-card__label { margin: 0; color: rgba(20, 32, 51, .55); font-size: .82rem; font-weight: 800; }
.career-price-card__price { margin: .35rem 0 1rem; color: var(--brand-teal); font-family: "Noto Serif TC", serif; font-size: clamp(2rem, 4vw, 2.8rem); font-weight: 800; line-height: 1.25; }
.career-price-card__price small { font-family: "Noto Sans TC", sans-serif; font-size: .9rem; }
.career-price-card > p:not(.career-price-card__label, .career-price-card__price) { color: rgba(20, 32, 51, .64); }
.career-price-card .site-check-list { margin-top: 1.35rem; }

.career-situation-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 2rem; }
.career-situation-grid article { position: relative; padding: 1.6rem 0 1.6rem 3rem; border-top: 1px solid var(--brand-line); }
.career-situation-grid span { position: absolute; left: 0; top: 1.85rem; color: var(--brand-clay); font-size: .72rem; font-weight: 900; letter-spacing: .12em; }
.career-situation-grid h3 { margin: 0 0 .45rem; font-size: 1.08rem; }
.career-situation-grid p { margin: 0; color: rgba(20, 32, 51, .64); }

.career-lens-card,
.career-method-card { border-top: 3px solid var(--brand-teal); }
.career-lens-card:nth-child(2),
.career-method-card:nth-child(3) { border-top-color: var(--brand-clay); }

.career-principles__grid { display: grid; grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr); gap: clamp(2.5rem, 7vw, 6rem); }
.career-principles h2 { margin: 0; font-family: "Noto Serif TC", serif; font-size: clamp(2rem, 4vw, 3.15rem); line-height: 1.4; }
.career-principles p { color: rgba(255, 255, 255, .68); }
.career-principles__list { display: grid; gap: 1.25rem; }
.career-principles__list article { padding-bottom: 1.25rem; border-bottom: 1px solid rgba(255, 255, 255, .16); }
.career-principles__list h3 { margin: 0 0 .35rem; }
.career-principles__list p { margin: 0; }

.career-process-list { counter-reset: career-process; display: grid; margin: 0; padding: 0; list-style: none; }
.career-process-list li { counter-increment: career-process; display: grid; grid-template-columns: 4rem 1fr; gap: 1.25rem; padding: 1.5rem 0; border-top: 1px solid var(--brand-line); }
.career-process-list li::before { content: counter(career-process, decimal-leading-zero); color: var(--brand-teal); font-size: .78rem; font-weight: 900; letter-spacing: .14em; }
.career-process-list h3 { margin: 0 0 .4rem; }
.career-process-list p { margin: 0; color: rgba(20, 32, 51, .64); }
.career-rhythm { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; margin-top: 2rem; }
.career-rhythm > div { padding: 1.4rem; border-radius: 1rem; background: rgba(220, 236, 239, .45); }
.career-rhythm strong { color: var(--brand-teal); }
.career-rhythm p { margin: .45rem 0 0; color: rgba(20, 32, 51, .64); }

.career-card-note { margin-top: 1.4rem !important; padding-top: 1rem; border-top: 1px solid var(--brand-line); font-size: .85rem; }
.career-tools { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1px; overflow: hidden; border: 1px solid var(--brand-line); border-radius: 1.25rem; background: var(--brand-line); }
.career-tools article { padding: 1.5rem; background: rgba(255, 255, 255, .72); }
.career-tools h3 { margin: 0 0 .55rem; font-size: 1rem; }
.career-tools p { margin: 0; color: rgba(20, 32, 51, .62); font-size: .9rem; }
.career-tool-status { margin-top: 1.25rem; }
.career-boundary { padding: clamp(1.5rem, 4vw, 2.25rem); border: 1px solid var(--brand-line); border-radius: 1.25rem; background: rgba(255, 255, 255, .6); }
.career-boundary h3 { margin: 0 0 1rem; }
.career-boundary > p { margin: 1.4rem 0 0; color: rgba(20, 32, 51, .65); }
.career-consultant { display: grid; grid-template-columns: minmax(17rem, .7fr) minmax(0, 1.3fr); align-items: center; gap: clamp(2.5rem, 7vw, 5rem); }
.career-consultant img { width: 100%; aspect-ratio: 4 / 3; border-radius: 1.5rem; object-fit: cover; object-position: 56% 38%; }
.career-consultant h2 { margin: 0 0 1rem; font-family: "Noto Serif TC", serif; font-size: clamp(1.8rem, 4vw, 2.7rem); }
.career-consultant p { color: rgba(20, 32, 51, .65); }
.career-text-link { display: inline-flex; gap: .5rem; margin-top: .7rem; color: var(--brand-teal) !important; font-weight: 900; text-decoration: none; }
.career-text-link:hover { text-decoration: underline; text-underline-offset: .22em; }
.career-final,
.about-final { padding-top: 0; }

.about-team-hero__photo,
.about-kunyang__photo { margin: 0; overflow: hidden; border: 1px solid var(--brand-line); border-radius: 1.6rem; background: var(--brand-paper-2); }
.about-team-hero__photo { aspect-ratio: 4 / 3; }
.about-team-hero__photo img,
.about-kunyang__photo img { width: 100%; height: 100%; display: block; object-fit: cover; }
.about-team-hero__photo img { object-position: 56% 40%; }
.about-principle-card { border-top: 3px solid var(--brand-teal); }
.about-principle-card:nth-child(2) { border-top-color: var(--brand-clay); }
.about-team-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.25rem; }
.about-jyun-card { background: rgba(239, 230, 213, .7); }
.about-kunyang { display: grid; grid-template-columns: minmax(17rem, .7fr) minmax(0, 1.3fr); align-items: start; gap: clamp(2.5rem, 7vw, 5rem); }
.about-kunyang__photo { aspect-ratio: 4 / 5; }
.about-kunyang__photo img { object-position: 55% center; }
.about-kunyang h2,
.about-columns h2 { margin: 0 0 1.25rem; font-family: "Noto Serif TC", serif; font-size: clamp(1.8rem, 4vw, 2.7rem); line-height: 1.45; }
.about-kunyang p { color: rgba(20, 32, 51, .66); }
.about-traits { display: flex; flex-wrap: wrap; gap: .6rem; margin-top: 1.5rem; }
.about-traits span { padding: .4rem .75rem; border-radius: 999px; background: rgba(220, 236, 239, .65); color: #126e68; font-size: .78rem; font-weight: 800; }
.about-story { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(18rem, .8fr); gap: clamp(2rem, 6vw, 5rem); }
.about-story p { margin-top: 0; color: rgba(20, 32, 51, .66); }
.about-story blockquote { margin: 0; padding: 1.5rem; border-left: 4px solid var(--brand-clay); background: rgba(255, 255, 255, .55); font-family: "Noto Serif TC", serif; font-size: 1.15rem; font-weight: 700; line-height: 1.85; }
.about-experience-grid article { padding: 1.5rem 0; border-top: 2px solid var(--brand-teal); }
.about-experience-grid h3 { margin: 0 0 .55rem; }
.about-experience-grid p { margin: 0; color: rgba(20, 32, 51, .64); }
.about-columns { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: clamp(2.5rem, 7vw, 6rem); }
.about-columns > div > p { color: rgba(20, 32, 51, .66); }
.about-learning-note { margin-top: 1.5rem; padding: 1rem; border-left: 3px solid var(--brand-clay); background: rgba(232, 138, 85, .08); font-size: .88rem; }
.about-values-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0 1.5rem; }
.about-values-grid article { padding: 1.4rem 0; border-top: 1px solid var(--brand-line); }
.about-values-grid h3 { margin: 0 0 .4rem; }
.about-values-grid p { margin: 0; color: rgba(20, 32, 51, .64); }
.about-final__actions { display: flex; flex-direction: column; gap: .75rem; min-width: 15rem; }
.about-final__external { border-color: rgba(255, 255, 255, .4) !important; background: transparent !important; color: white !important; }
.about-final__external:hover { border-color: var(--brand-teal) !important; background: var(--brand-teal) !important; }

@media (max-width: 960px) {
  .career-hero__grid,
  .about-team-hero__grid,
  .career-principles__grid,
  .career-consultant,
  .about-kunyang,
  .about-story { grid-template-columns: 1fr; }
  .career-tools { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .about-team-hero__photo { max-width: 44rem; }
  .about-kunyang__photo { max-width: 28rem; }
  .about-values-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 640px) {
  .career-situation-grid,
  .career-rhythm,
  .career-tools,
  .about-team-grid,
  .about-columns,
  .about-values-grid { grid-template-columns: 1fr; }
  .career-process-list li { grid-template-columns: 2.25rem 1fr; gap: .7rem; }
  .career-principles h2 { font-size: 2rem; }
  .career-consultant img { aspect-ratio: 4 / 5; object-position: 55% center; }
  .about-team-hero__photo { aspect-ratio: 4 / 5; }
  .about-team-hero__photo img { object-position: 55% center; }
  .about-final__actions { width: 100%; min-width: 0; }
}

/* M7 V2｜一對一諮詢總入口與生涯職涯完整服務頁 */
.consulting-hub-hero__grid,
.career-service-hero__grid { display: grid; grid-template-columns: minmax(0, 1.02fr) minmax(24rem, .98fr); align-items: center; gap: clamp(2.5rem, 6vw, 5rem); }
.consulting-hub-hero__figure,
.career-service-hero__figure { margin: 0; overflow: hidden; border: 1px solid var(--brand-line); border-radius: 1.6rem; background: rgba(255, 255, 255, .74); box-shadow: 0 24px 60px rgba(20, 32, 51, .08); }
.consulting-hub-hero__figure img,
.career-service-hero__figure img { display: block; width: 100%; height: auto; }
.consulting-hub-hero__figure figcaption,
.career-service-hero__figure figcaption { padding: 1rem 1.2rem; color: rgba(20, 32, 51, .7); font-size: .82rem; line-height: 1.7; }
.consulting-hub-intro { padding-bottom: 2rem; }
.consulting-hub-signals { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); margin-top: 2.5rem; border-block: 1px solid var(--brand-line); }
.consulting-hub-signals span { display: flex; gap: .8rem; align-items: baseline; padding: 1.25rem .9rem; color: #26364b; font-weight: 700; }
.consulting-hub-signals b { color: var(--brand-clay); font-size: .7rem; letter-spacing: .08em; }
.consulting-hub-service-grid { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: 1.25rem; }
.consulting-hub-service { grid-column: span 6; padding: clamp(1.6rem, 4vw, 2.2rem); border: 1px solid var(--brand-line); border-radius: 1.5rem; background: rgba(255, 255, 255, .66); }
.consulting-hub-service--featured { grid-column: span 12; display: grid; grid-template-columns: auto minmax(0, 1fr); column-gap: 1.4rem; background: rgba(220, 236, 239, .5); }
.consulting-hub-service--featured > :not(.consulting-hub-service__icon) { grid-column: 2; }
.consulting-hub-service__icon { display: grid; place-items: center; width: 3.25rem; height: 3.25rem; border-radius: 50%; background: var(--brand-teal); color: white; font-family: "Noto Serif TC", serif; font-size: 1.35rem; font-weight: 900; }
.consulting-hub-service h3 { margin: .45rem 0 .7rem; font-family: "Noto Serif TC", serif; font-size: clamp(1.35rem, 3vw, 1.8rem); }
.consulting-hub-service > p:not(.site-tag, .consulting-hub-service__status) { color: rgba(20, 32, 51, .72); }
.consulting-hub-service ul { margin: 1.1rem 0 1.5rem; padding-left: 1.2rem; color: rgba(20, 32, 51, .7); }
.consulting-hub-service li + li { margin-top: .35rem; }
.consulting-hub-service__status { margin: 1.35rem 0 0; padding-top: 1rem; border-top: 1px solid var(--brand-line); color: rgba(20, 32, 51, .58); font-size: .82rem; }
.consulting-hub-partner { display: flex; align-items: end; justify-content: space-between; gap: 2rem; padding: clamp(1.6rem, 4vw, 2.5rem); border-left: 4px solid var(--brand-clay); border-radius: 0 1.25rem 1.25rem 0; background: rgba(239, 230, 213, .58); }
.consulting-hub-partner h3 { margin: .6rem 0; font-family: "Noto Serif TC", serif; font-size: clamp(1.3rem, 3vw, 1.8rem); }
.consulting-hub-partner p:not(.site-tag) { margin-bottom: 0; color: rgba(20, 32, 51, .62); }
.consulting-hub-steps { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1px; margin: 2rem 0 0; padding: 0; border: 1px solid var(--brand-line); border-radius: 1.35rem; overflow: hidden; background: var(--brand-line); list-style: none; }
.consulting-hub-steps li { padding: 1.5rem; background: rgba(255, 255, 255, .76); }
.consulting-hub-steps span { color: var(--brand-teal); font-size: .7rem; font-weight: 900; letter-spacing: .12em; }
.consulting-hub-steps h3 { margin: .65rem 0 .45rem; font-size: 1rem; }
.consulting-hub-steps p { margin: 0; color: rgba(20, 32, 51, .6); font-size: .86rem; }
.consulting-hub-final,
.career-service-final { padding-top: 0; }

.career-service-hero__note { max-width: 44rem; margin-top: 1.25rem; padding-left: 1rem; border-left: 3px solid var(--brand-clay); color: rgba(20, 32, 51, .62); font-size: .9rem; }
.career-service-index { position: sticky; z-index: 10; top: 0; overflow-x: auto; border-block: 1px solid var(--brand-line); background: rgba(249, 247, 241, .94); backdrop-filter: blur(12px); }
.career-service-index .site-container { display: flex; gap: .4rem; min-width: max-content; padding-block: .55rem; }
.career-service-index a { padding: .55rem .75rem; border-radius: 999px; color: rgba(20, 32, 51, .68); font-size: .78rem; font-weight: 700; text-decoration: none; }
.career-service-index a:hover,
.career-service-index a:focus-visible { background: rgba(220, 236, 239, .72); color: #0f6661; }
.career-service-situation-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; }
.career-service-situation-grid details,
.career-service-expand,
.career-service-tool-details details,
.career-service-principles__details details,
.career-service-contract__chapters details { border: 1px solid var(--brand-line); border-radius: 1rem; background: rgba(255, 255, 255, .66); }
.career-service-situation-grid summary,
.career-service-expand summary,
.career-service-tool-details summary,
.career-service-principles__details summary,
.career-service-contract__chapters summary { position: relative; padding: 1.2rem 3.15rem 1.2rem 1.25rem; cursor: pointer; color: #16263b; font-weight: 800; list-style: none; }
.career-service-situation-grid summary::-webkit-details-marker,
.career-service-expand summary::-webkit-details-marker,
.career-service-tool-details summary::-webkit-details-marker,
.career-service-principles__details summary::-webkit-details-marker,
.career-service-contract__chapters summary::-webkit-details-marker { display: none; }
.career-service-situation-grid summary::after,
.career-service-expand summary::after,
.career-service-tool-details summary::after,
.career-service-principles__details summary::after,
.career-service-contract__chapters summary::after { content: "+"; position: absolute; right: 1.25rem; top: 50%; translate: 0 -50%; color: var(--brand-teal); font-size: 1.35rem; font-weight: 500; }
.career-service-situation-grid details[open] summary::after,
.career-service-expand[open] summary::after,
.career-service-tool-details details[open] summary::after,
.career-service-principles__details details[open] summary::after,
.career-service-contract__chapters details[open] summary::after { content: "−"; }
.career-service-situation-grid summary span { display: inline-grid; place-items: center; width: 2rem; height: 2rem; margin-right: .6rem; border-radius: 50%; background: rgba(220, 236, 239, .74); color: var(--brand-teal); }
.career-service-situation-grid details > div,
.career-service-expand > div,
.career-service-tool-details details > div,
.career-service-principles__details details > div,
.career-service-contract__chapters details > div { padding: 0 1.25rem 1.25rem; color: rgba(20, 32, 51, .7); }
.career-service-situation-grid ul,
.career-service-contract ul { margin: 0; padding-left: 1.2rem; }
.career-service-situation-grid li + li,
.career-service-contract li + li { margin-top: .35rem; }
.career-service-small-note { color: rgba(20, 32, 51, .58); font-size: .82rem; line-height: 1.75; }
.career-service-situations + .career-service-small-note,
#service-situations > .site-container > .career-service-small-note { margin-top: 1.2rem; }
.career-service-lenses { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.25rem; }
.career-service-lenses article { padding: clamp(1.5rem, 4vw, 2.2rem); border-top: 4px solid var(--brand-teal); border-radius: 0 0 1.25rem 1.25rem; background: rgba(255, 255, 255, .66); }
.career-service-lenses article:nth-child(2) { border-top-color: var(--brand-clay); }
.career-service-lenses h3 { margin: .6rem 0 .8rem; font-family: "Noto Serif TC", serif; font-size: 1.45rem; }
.career-service-lenses p:not(.site-tag) { color: rgba(20, 32, 51, .68); }
.career-service-concept { display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(15rem, .65fr); gap: 1.5rem; align-items: center; margin: 2.5rem 0 0; padding: 1rem; border: 1px solid var(--brand-line); border-radius: 1.4rem; background: rgba(255, 255, 255, .62); }
.career-service-concept img { display: block; width: 100%; height: auto; border-radius: .8rem; }
.career-service-concept figcaption { display: grid; gap: .7rem; padding: 1rem; }
.career-service-concept figcaption strong { font-family: "Noto Serif TC", serif; font-size: 1.2rem; line-height: 1.6; }
.career-service-concept figcaption span { color: rgba(20, 32, 51, .62); font-size: .86rem; }
.career-service-concept--wide { grid-template-columns: minmax(0, 1.2fr) minmax(17rem, .8fr); }
.career-service-pillars { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; }
.career-service-pillars article { padding: 1.6rem; border: 1px solid var(--brand-line); border-radius: 1.25rem; background: rgba(255, 255, 255, .64); }
.career-service-pillars span { color: var(--brand-clay); font-size: .72rem; font-weight: 900; letter-spacing: .14em; }
.career-service-pillars h3 { margin: .7rem 0; font-family: "Noto Serif TC", serif; font-size: 1.35rem; }
.career-service-pillars p { margin: 0; color: rgba(20, 32, 51, .66); }
.career-service-principles > .site-container { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); gap: clamp(2.5rem, 7vw, 6rem); }
.career-service-principles__lead h2 { margin: 0; font-family: "Noto Serif TC", serif; font-size: clamp(2rem, 4vw, 3.2rem); line-height: 1.42; }
.career-service-principles__lead p { color: rgba(255, 255, 255, .7); }
.career-service-principles__details { display: grid; gap: .8rem; }
.career-service-principles__details details { border-color: rgba(255, 255, 255, .16); background: rgba(255, 255, 255, .07); }
.career-service-principles__details summary { color: white; }
.career-service-principles__details details > div { color: rgba(255, 255, 255, .72); }
.career-service-principles__details p { margin-bottom: 0; }
.career-service-process { display: grid; margin: 2.5rem 0 0; padding: 0; list-style: none; }
.career-service-process li { display: grid; grid-template-columns: 3.3rem minmax(0, 1fr); gap: 1.2rem; padding: 1.45rem 0; border-top: 1px solid var(--brand-line); }
.career-service-process span { color: var(--brand-teal); font-size: .75rem; font-weight: 900; letter-spacing: .12em; }
.career-service-process h3 { margin: 0 0 .4rem; }
.career-service-process p { margin: 0; color: rgba(20, 32, 51, .64); }
.career-service-expand { margin-top: 1.5rem; }
.career-service-tool-details { display: grid; gap: .8rem; }
.career-service-delivery-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.25rem; }
.career-service-delivery-grid article { padding: clamp(1.5rem, 4vw, 2.2rem); border: 1px solid var(--brand-line); border-radius: 1.3rem; background: rgba(255, 255, 255, .66); }
.career-service-delivery-grid h3 { margin: .55rem 0 1rem; font-family: "Noto Serif TC", serif; font-size: 1.45rem; }
.career-service-line { display: flex; align-items: center; justify-content: space-between; gap: 2rem; margin-top: 1.5rem; padding: clamp(1.5rem, 4vw, 2.2rem); border-left: 4px solid #43b54a; border-radius: 0 1.25rem 1.25rem 0; background: rgba(67, 181, 74, .08); }
.career-service-line h3 { margin: .25rem 0 .6rem; font-family: "Noto Serif TC", serif; font-size: 1.5rem; }
.career-service-line p { max-width: 48rem; }
.career-service-consultant { display: grid; grid-template-columns: minmax(17rem, .68fr) minmax(0, 1.32fr); gap: clamp(2.5rem, 7vw, 5rem); align-items: center; }
.career-service-consultant img { display: block; width: 100%; max-height: 46rem; aspect-ratio: 2 / 3; border-radius: 1.6rem; object-fit: cover; object-position: 50% 57%; }
.career-service-consultant h2 { margin: 0 0 1rem; font-family: "Noto Serif TC", serif; font-size: clamp(1.8rem, 4vw, 2.8rem); }
.career-service-consultant p { color: rgba(20, 32, 51, .68); }
.career-service-decision { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); gap: clamp(2.5rem, 7vw, 6rem); padding: clamp(1.8rem, 5vw, 3rem); border: 1px solid var(--brand-line); border-radius: 1.5rem; background: rgba(255, 255, 255, .7); }
.career-service-decision h2 { margin: .35rem 0 1rem; color: var(--brand-teal); font-family: "Noto Serif TC", serif; font-size: clamp(2.3rem, 5vw, 4rem); }
.career-service-decision h2 small { font-family: "Noto Sans TC", sans-serif; font-size: 1rem; }
.career-service-decision p { color: rgba(20, 32, 51, .66); }
.career-service-boundary { margin-top: 1.25rem; padding: 1.4rem; border-left: 3px solid var(--brand-clay); background: rgba(232, 138, 85, .07); }
.career-service-boundary h3 { margin: 0 0 .5rem; }
.career-service-boundary p { margin: 0; color: rgba(20, 32, 51, .64); }
.career-service-contract__notice { padding: 1.4rem; border-left: 4px solid var(--brand-teal); background: rgba(220, 236, 239, .48); }
.career-service-contract__notice p { margin-bottom: 0; color: rgba(20, 32, 51, .65); }
.career-service-contract__chapters { display: grid; gap: .65rem; margin-top: 1.25rem; }
.career-service-contract__chapters details { scroll-margin-top: 5rem; }
.career-service-contract__chapters details > div p:first-child { margin-top: 0; }
.career-service-contract__chapters details > div p:last-child { margin-bottom: 0; }
.career-service-privacy { scroll-margin-top: 5rem; margin-top: 2.5rem; padding-top: 2.5rem; border-top: 2px solid var(--brand-teal); }
.career-service-privacy > h3 { margin: 0 0 1.5rem; font-family: "Noto Serif TC", serif; font-size: clamp(1.5rem, 3vw, 2rem); }
.career-service-privacy__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1px; border: 1px solid var(--brand-line); background: var(--brand-line); }
.career-service-privacy__grid article { padding: 1.4rem; background: rgba(255, 255, 255, .72); }
.career-service-privacy__grid h4 { margin: 0 0 .6rem; }
.career-service-privacy__grid p,
.career-service-privacy__grid ul { color: rgba(20, 32, 51, .64); font-size: .86rem; }
.career-service-read-next { margin-top: 1.5rem; padding: 1.2rem 1.4rem; border: 1px solid var(--brand-line); border-radius: 1rem; background: rgba(255, 255, 255, .7); }
.career-service-read-next p { margin: 0; color: rgba(20, 32, 51, .66); font-size: .88rem; }
.career-service-final__actions { display: flex; flex-direction: column; gap: .75rem; min-width: 18rem; }
.career-service-final__actions .site-button--secondary { border-color: rgba(255, 255, 255, .45); background: transparent; color: white; }

/* M7 R3｜服務者／個人分層與平等入口 */
.consulting-hub-hero__center,
.about-team-hero__shared { max-width: 52rem; margin-inline: auto; text-align: center; }
.consulting-hub-hero__center .site-lead,
.about-team-hero__shared .site-lead { margin-inline: auto; }
.consulting-hub-hero__center .site-button { margin-top: 1rem; }
.about-team-hero__shared .site-actions { justify-content: center; }
.consulting-hub-heading { max-width: 48rem; }
.consulting-provider-grid,
.about-member-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: clamp(1.2rem, 3vw, 2rem); }
.consulting-provider-card,
.about-member-card { display: flex; min-height: 29rem; flex-direction: column; align-items: flex-start; padding: clamp(1.7rem, 4vw, 2.6rem); border: 1px solid var(--brand-line); border-radius: 1.6rem; background: rgba(255, 255, 255, .72); box-shadow: 0 24px 60px rgba(20, 32, 51, .06); }
.consulting-provider-card:nth-child(2),
.about-member-card:nth-child(2) { background: rgba(239, 230, 213, .46); }
.consulting-provider-card__mark,
.about-member-card__mark,
.about-person-placeholder__mark { display: grid; place-items: center; width: 4.25rem; height: 4.25rem; margin-bottom: 1.5rem; border-radius: 50%; background: var(--brand-teal); color: #fff; font-family: "Noto Serif TC", serif; font-size: 1.65rem; font-weight: 900; }
.consulting-provider-card:nth-child(2) .consulting-provider-card__mark,
.about-member-card:nth-child(2) .about-member-card__mark,
.about-person-placeholder__mark { background: var(--brand-clay); }
.consulting-provider-card h2,
.about-member-card h2 { margin: .55rem 0 .8rem; font-family: "Noto Serif TC", serif; font-size: clamp(1.8rem, 4vw, 2.5rem); }
.consulting-provider-card > p:not(.site-tag),
.about-member-card > p:not(.site-tag) { color: rgba(20, 32, 51, .67); }
.consulting-provider-card .site-button,
.about-member-card .site-button { margin-top: auto; }
.consulting-provider-card .career-text-link,
.about-member-card .career-text-link { margin-top: 1rem; }
.provider-service-hero__grid { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(16rem, .55fr); align-items: center; gap: clamp(2.5rem, 7vw, 6rem); }
.provider-service-hero__grid > img { display: block; width: 100%; max-height: 37rem; aspect-ratio: 2 / 3; border-radius: 1.6rem; object-fit: cover; object-position: 50% 57%; }
.provider-service-hero--placeholder .site-container { max-width: 58rem; }
.provider-service-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.25rem; }
.provider-service-card { padding: clamp(1.6rem, 4vw, 2.4rem); border: 1px solid var(--brand-line); border-radius: 1.4rem; background: rgba(255, 255, 255, .7); }
.provider-service-card--ready { grid-column: 1 / -1; border-top: 5px solid var(--brand-teal); }
.provider-service-card h2 { margin: .55rem 0 .9rem; font-family: "Noto Serif TC", serif; font-size: clamp(1.45rem, 3vw, 2rem); }
.provider-service-card > p:not(.site-tag, .provider-service-card__status) { color: rgba(20, 32, 51, .68); }
.provider-service-card__status { margin: 1.3rem 0 0; padding-top: 1rem; border-top: 1px solid var(--brand-line); color: rgba(20, 32, 51, .56); font-size: .82rem; }
.provider-direction-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.25rem; }
.provider-direction-grid article { padding: 2.2rem 1.6rem; border: 1px solid var(--brand-line); border-radius: 1.35rem; background: rgba(255, 255, 255, .7); text-align: center; }
.provider-direction-grid span { color: var(--brand-teal); font-size: .72rem; font-weight: 900; letter-spacing: .14em; }
.provider-direction-grid h2 { margin: .8rem 0 0; font-family: "Noto Serif TC", serif; font-size: 1.7rem; }
.provider-page-links { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 1rem 2rem; margin-top: 2.5rem; padding-top: 1.5rem; border-top: 1px solid var(--brand-line); }
.about-person-hero__grid { display: grid; grid-template-columns: minmax(18rem, .72fr) minmax(0, 1.28fr); align-items: center; gap: clamp(2.5rem, 7vw, 5rem); }
.about-person-hero__grid figure { margin: 0; overflow: hidden; border-radius: 1.6rem; }
.about-person-hero__grid img { display: block; width: 100%; aspect-ratio: 4 / 5; object-fit: cover; object-position: 55% center; }
.about-person-hero__grid > div > p:not(.site-eyebrow, .site-lead) { color: rgba(20, 32, 51, .68); }
.about-person-hero--placeholder .site-container { max-width: 58rem; }
.career-service-tools-note { margin: 1.2rem 0 0; padding: 1.2rem 1.4rem; border-left: 3px solid var(--brand-clay); background: rgba(255, 255, 255, .56); color: rgba(20, 32, 51, .66); font-size: .88rem; }

@media (max-width: 960px) {
  .consulting-hub-hero__grid,
  .career-service-hero__grid,
  .career-service-principles > .site-container,
  .career-service-consultant,
  .career-service-decision,
  .provider-service-hero__grid,
  .about-person-hero__grid { grid-template-columns: 1fr; }
  .consulting-hub-signals,
  .consulting-hub-steps { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .career-service-concept,
  .career-service-concept--wide { grid-template-columns: 1fr; }
  .career-service-concept img { max-height: 32rem; object-fit: contain; }
  .career-service-consultant img { max-width: 30rem; }
  .provider-service-hero__grid > img,
  .about-person-hero__grid figure { max-width: 30rem; }
}

@media (max-width: 640px) {
  .consulting-hub-hero__grid,
  .career-service-hero__grid { gap: 2rem; }
  .consulting-hub-signals,
  .consulting-hub-steps,
  .career-service-situation-grid,
  .career-service-lenses,
  .career-service-pillars,
  .career-service-delivery-grid,
  .career-service-privacy__grid { grid-template-columns: 1fr; }
  .consulting-provider-grid,
  .about-member-grid,
  .provider-service-grid,
  .provider-direction-grid { grid-template-columns: 1fr; }
  .consulting-provider-card,
  .about-member-card { min-height: 0; }
  .provider-service-card--ready { grid-column: auto; }
  .consulting-hub-service,
  .consulting-hub-service--featured { grid-column: span 12; display: block; }
  .consulting-hub-service--featured > :not(.consulting-hub-service__icon) { grid-column: auto; }
  .consulting-hub-service__icon { margin-bottom: 1rem; }
  .consulting-hub-partner,
  .career-service-line { align-items: stretch; flex-direction: column; }
  .career-service-index { top: 0; }
  .career-service-concept { padding: .65rem; }
  .career-service-concept figcaption { padding: .7rem; }
  .career-service-process li { grid-template-columns: 2rem minmax(0, 1fr); gap: .7rem; }
  .career-service-consultant img { max-height: 38rem; object-position: 50% 56%; }
  .career-service-final__actions { width: 100%; min-width: 0; }
}

@media (prefers-reduced-motion: reduce) {
  .consulting-hub-page *,
  .career-service-page *,
  .provider-service-page *,
  .ormap-about-page *,
  .about-person-page * { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; }
}
