/* 陸 人才招募（單 3；單 3u 重排；award_build/p_careers.py）：導言巨字、翻頁圖、公告單張、引線參照數字、落印。
   規則同 base.css 檔頭：色只用 token、字重只用已載入樣式（Serif 600／其餘 400）；例外就地註明。
   裝飾 SVG 一律 pointer-events:none。實線＝主張、虛線＝不主張。 */

/* ── 首屏圖版（寬幅、slice 裁切；矮版開場 base.css .aw-hero--low）：公告單張一角（1px 線；內框與條號用強調色、內文行虛線） ───────────────────────── */
.p-car__plate svg * { vector-effect: non-scaling-stroke; }
.p-car__plate svg { stroke: var(--fg-2); }
.p-car__fin, .p-car__fno, .p-car__fseal { stroke: var(--accent); }
.p-car__frow { stroke-dasharray: 6 6; }

/* --car-l／--car-r＝單張左右讓出的欄（左放直排條名、右放引線）；無直排條名＝置中，兩個都是 auto */
.p-car { --car-l: auto; --car-r: auto; isolation: isolate; overflow-x: clip; }     /* clip＝裁掉翻頁圖出血、不建捲動容器（條名才能 sticky） */
@media (min-width: 1024px) { .p-car--side { --car-l: 17vw; --car-r: 0px; } }
@media (min-width: 1240px) { .p-car--side { --car-r: 8vw; } }
@media (min-width: 1412px) { .p-car--side { --car-l: 240px; --car-r: 113px; } }

/* ── 導言：第一條離開紙面（巨字字級＝一行放得下半句：寬／12.4（半句 12 字：放得下 12 字、放不下 13 字）；窄螢幕一行一句：寬／6.8（每句 6 字：放得下 6 字、放不下 7 字）。比值算到標點後的下一字放不下：WebKit 的 keep-all 對中文不生效，只靠寬度才換在標點後） ─────────────── */
.p-car__lead { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: 24px; }
.p-car__lead .p-car__h { grid-column: 1 / -1; }
.p-car__lead .p-car__name {
  font-size: min(calc((100vw - 2 * var(--aw-margin)) / 12.4), 98px); line-height: 1.34; letter-spacing: 0;
  word-break: keep-all; overflow-wrap: break-word;   /* 只在標點後換行；放不下才強斷 */
}
.p-car__lead--hang .p-car__name { text-indent: -.46em; }   /* 開頭括號懸掛，第二行字才與左緣齊 */
.p-car__lead--long .p-car__name { font-size: var(--fs-h1); letter-spacing: .04em; }
/* 桌機首屏下緣不切巨字（單 3m2 A11；橫向 ≥1024；字級上限當初依原品牌頁開場（較高）算，單 3ui 開場改矮版後上限偏保守、照留，內容段間距不變）：開場下留給內容的高度是定值（原品牌頁開場的 200px），
   兩行巨字要整段進第一屏——內容段上留白收一級、行高收到 1.2、字級另加依視窗高的上限：
   矮視窗（開場圖依視窗高縮）上限 72px＝兩行字框剛好落在留給內容的高度內；高視窗（開場圖依寬度封頂）每多 2.5px 高放大 1px。
   字級仍不小於 72px：一行仍是半句（換行點不變）。不用固定高度；高視窗照原寬度字級（上限 98px） */
@media (min-width: 1024px) and (orientation: landscape) {
  .p-car__hero + .p-car { padding-top: var(--s4); }
  .p-car__lead:not(.p-car__lead--long) .p-car__name {
    font-size: min(calc((100vw - 2 * var(--aw-margin)) / 12.4), 98px, max(72px, (100svh - 690px) / 2.5));
    line-height: 1.2; max-width: 12.4em;   /* 字級被視窗高壓小時行寬跟著收回 12.4em：WebKit 不認中文 keep-all，換行點仍落在標點後（同上方字級比值） */
  }
}
/* 兩段等寬、同一頂線：左段左緣＝標題左緣（第 1 欄），右段內文起點＝第 8 欄；直排小標佔第 7 欄、靠右貼內文 */
.p-car__lead .p-car__sub { grid-column: 1 / 6; margin-top: var(--s5); font: 600 var(--fs-lead)/1.9 var(--f-serif); letter-spacing: .04em; color: var(--fg); }
.p-car__lead .p-car__secs { grid-column: 8 / -1; margin-top: var(--s5); }
.p-car__lead--vl .p-car__secs { grid-column: 7 / -1; }
.p-car__lead--vl .p-car__sec { display: grid; grid-template-columns: calc((100% - 120px) / 6) minmax(0, 1fr); column-gap: 24px; align-items: start; }   /* 120px＝五條 24px 溝 */
.p-car__lead--vl .p-car__lab { justify-self: end; margin-top: calc(var(--fs-lead) * .45); writing-mode: vertical-rl; white-space: nowrap; font-size: var(--fs-h3); line-height: 1.3; letter-spacing: .14em; }   /* .45＝內文行高 1.9 的上半行距：直排首字與內文首行字頂齊；nowrap＝WebKit 會拿列高折成兩行、疊到內文 */
/* 應徵說明：這頁唯一的應徵途徑，字級、行高、對比都與左欄說明同級 */
.p-car__lead .p-car__sec > .p-car__ct { color: var(--fg); font-size: var(--fs-lead); line-height: 1.9; }
/* 信箱連同括號獨立成一行（全形開括號懸掛半字，括號筆畫才與段落左緣齊）；行高 1＝不撐高該行，整段行距才勻 */
.p-car__mailw { display: block; text-indent: 0; overflow-wrap: anywhere; }
.p-car__mailw--h { margin-left: -.5em; }
.p-car__mail { font: 600 1.06em/1 var(--f-serif); color: var(--accent); }
.p-car__lead:not(.p-car__lead--vl) .p-car__sec { display: block; }
.p-car__lead:not(.p-car__lead--vl) .p-car__lab { margin-bottom: var(--s1); }

/* ── 翻頁圖（圖號 p_careers.py FIG_NEW）：盒寬＝單張寬，SVG 寬＝盒寬 × 1320／760，底邊正好接在單張上緣 ─────────────────── */
.p-car__fanbox {
  position: relative; max-width: 960px; margin: var(--s5) var(--car-r) 0 var(--car-l); aspect-ratio: 760 / 225;   /* 225＝p_careers.py FAN_H */
  pointer-events: none; view-timeline-name: --car-fan;
}
.p-car__fan {
  position: absolute; left: 50%; bottom: -1px; width: 173.7%; max-width: none; height: 100%;
  transform: translateX(-50%); fill: none; stroke: var(--line-claim); stroke-width: 1px; overflow: visible;
}
.p-car__fan * { vector-effect: non-scaling-stroke; }
.p-car__leaf { stroke-dasharray: 3 7; }
.p-car__claim { stroke: var(--accent); }
.p-car__fanref { stroke: var(--fg-2); }
.p-car__fannum, .p-car__ref text, .p-car__figno text { font: 400 14px var(--f-mono); letter-spacing: .1em; stroke: none; fill: var(--fg-2); }
.p-car__figno { position: absolute; left: calc(50% - 32px); top: -24px; width: 64px; height: 18px; }   /* 圖號水平置中於翻頁圖（翻頁圖以盒心左右對稱；32px＝圖號框寬 64 的一半）；各寬都放圖框上方（置中後原 top:4% 會壓到翻頁圖線條） */
.p-car:not(.p-car--side) .p-car__fannum, .p-car:not(.p-car--side) .p-car__fanref { display: none; }   /* 置中版圖較大、參照數字會出血，不出 */
@supports not (overflow: clip) { .p-car__fan { display: none; } }
/* 捲動時頁面翻開（只壓扁，不隱藏）；不支援或減動態＝定格在翻開狀態 */
@media (prefers-reduced-motion: no-preference) {
  @supports (animation-timeline: view()) {
    .p-car__fan {
      transform-origin: 50% 100%;
      animation: p-car-open linear forwards; animation-timeline: --car-fan; animation-range: entry 0% cover 55%;   /* 不填 backwards：圖進視窗前就是完整翻開（整頁截圖、列印都完整） */
    }
    @keyframes p-car-open { from { transform: translateX(-50%) scaleY(.6); } to { transform: translateX(-50%); } }
  }
}

/* ── 公告單張 ─────────────────────────────────────────────────────── */
.p-car__sheet {
  position: relative; max-width: 960px; margin-inline: var(--car-l) var(--car-r); padding: var(--s5) var(--s5) var(--s4);
  border: 1px solid var(--gold);
}
@media (min-width: 768px) { .p-car:not(.p-car--side) .p-car__sheet, .p-car:not(.p-car--side) .p-car__fanbox { margin-inline: auto; } }
.p-car--side .p-car__sheet, .p-car--side .p-car__fanbox { max-width: none; }
.p-car__sheet::before {                /* 金框內線（雙線框；裝飾） */
  content: ""; position: absolute; inset: var(--s1); border: 1px solid color-mix(in srgb, var(--gold-ink) 55%, transparent);
  pointer-events: none;
}
.p-car__sheet::after {                 /* 底下還有一張（虛線＝不主張；只露右與下） */
  content: ""; position: absolute; inset: var(--s3) calc(-1 * var(--s3)) calc(-1 * var(--s3)) var(--s3); z-index: -1;
  border: 1px dashed var(--cream-2); pointer-events: none;
}
.p-car__sheet--empty { min-height: 320px; display: flex; flex-direction: column; justify-content: space-between; }   /* 0 項：一行說明＋落印 */
.p-car__empty { font: 400 var(--fs-body)/1.8 var(--f-sans); letter-spacing: .04em; color: var(--fg-2); }
.p-car__foot { display: flex; justify-content: flex-end; margin-top: var(--s4); }
.p-car__sheet--empty .p-car__foot { margin-top: 0; }
.p-car__foot .aw-logo { color: #B08A3A; }   /* 落印改亮金（業主 11/08 22:09:11：落印要像金印，原紙底金色 --seal-paper 太暗、像土色）；只限招募落印，--seal-paper 不動 */

/* 條：名稱；條與條之間一條細線 */
.p-car__item { position: relative; }
.p-car__sheet .p-car__item + .p-car__item { margin-top: var(--s5); padding-top: var(--s5); border-top: 1px solid var(--line); }
.p-car__h { display: flex; flex-direction: column; font: 600 var(--fs-h2)/1.4 var(--f-serif); letter-spacing: .06em; }
/* 條目標題與標籤欄：平衡換行（最後一行不落單 1～2 字、標籤兩行約略等長；文字不變） */
.p-car__name, .p-car__lab { text-wrap: balance; }
.p-car__name { word-break: keep-all; overflow-wrap: break-word; }   /* 不在詞中間斷；放不下才強斷 */
.p-car__sub { margin-top: var(--s3); font: 600 var(--fs-lead)/1.8 var(--f-serif); letter-spacing: .04em; color: var(--fg); }
/* 導言原 balance 已拿掉：兩端對齊（base.css）時 balance 會留短行再被撐出大空隙；改用 base.css 的 pretty */
.p-car__sl { display: block; }

/* 標籤欄寬＝全單共用一個值：--car-lab＝建置時估算的「全單可見條目最長標籤一行寬」（p_careers.py _lab_em，
   設在 .p-car 的 style），夾在 8em～14em（本處 clamp 是上下限正本）；超過上限才換行、以 balance 平衡行長。
   全單每一列同欄寬＝所有條目的內容欄起點對齊。em＝正文字級（標籤與小標列同為 --fs-body）。 */
.p-car__secs { display: grid; row-gap: var(--s3); margin-top: var(--s4); }
.p-car__sec { position: relative; display: grid; grid-template-columns: clamp(8em, var(--car-lab, 8em), 14em) minmax(0, 1fr); column-gap: var(--s3); align-items: baseline; }
.p-car__lab { font: 600 var(--fs-body)/1.6 var(--f-serif); letter-spacing: .12em; color: var(--accent); }
.p-car__sec > .p-car__ct { grid-column: 2; line-height: 1.8; }
.p-car__p + .p-car__p, .p-car__p + .p-car__ul, .p-car__ul + .p-car__p, .p-car__ul + .p-car__ul { margin-top: var(--s2); }
.p-car__p { max-width: 38em; }
.p-car__ul { list-style: none; }
.p-car__li { padding-bottom: var(--s1); break-inside: avoid; }   /* 原 balance 已拿掉：一般中文換行＋兩端對齊（base.css；業主 11/08 20:26:24 選定） */
.p-car__nb { white-space: nowrap; }   /* 不換行的一小段：破折號和前一個字（p_careers.py _nb）、信箱前幾個字（_mail） */
.p-car__li:last-child { padding-bottom: 0; }
.p-car__li--n { padding-left: 1.06em; text-indent: -1.06em; }   /* 原文編號懸掛：字不拆，只靠縮排；1.06em＝單位數編號「3. 」的實測寬 */
@media (min-width: 1200px) { .p-car__ul--2 { columns: 2; column-gap: var(--s4); } .p-car__ul--2 .p-car__li:last-child { padding-bottom: var(--s1); } }

/* 單張內每段一條頂線；小標直排窄欄（字數條件見 p_careers.py _sheet_vl） */
.p-car__sheet .p-car__secs { row-gap: 0; }
.p-car__sheet .p-car__sec { padding-block: var(--s3) var(--s4); border-top: 1px solid var(--line); }
.p-car__sheet--vl .p-car__sec { grid-template-columns: auto minmax(0, 1fr); column-gap: var(--s4); align-items: start; }
.p-car__sheet--vl .p-car__lab { writing-mode: vertical-rl; font-size: var(--fs-h3); line-height: 1.2; letter-spacing: .16em; }

/* 引線參照數字（1240 起）：從紙內右緣出紙 */
.p-car__ref { display: none; position: absolute; top: -13px; left: 100%; max-width: none; overflow: visible; fill: none; stroke: var(--gold); stroke-width: 1px; pointer-events: none; }
.p-car__ref text { fill: var(--cream-2); }
@media (min-width: 1240px) { .p-car--side .p-car__ref { display: block; } }

/* 條名直排大字（1024 起跨出紙面、貼在左側墨底並隨捲動停靠；窄於 1024 橫排，福利內容才早出現） */
@media (min-width: 1024px) {
  .p-car__item--v .p-car__name { writing-mode: vertical-rl; line-height: 1.1; letter-spacing: .08em; }
  .p-car__item--v .p-car__h { writing-mode: vertical-rl; align-items: flex-start; }
}
@media (min-width: 1024px) {
  .p-car__item--v { display: grid; grid-template-columns: 0 minmax(0, 1fr); --car-vfs: min(clamp(72px, 7.2vw, 104px), calc((100vh - 140px) / 6.4)); }   /* --car-vfs＝條名直排字級（font-size 與標題寬度共用，免兩處式子不同步） */
  .p-car__item--v > .p-car__h {
    grid-column: 1; grid-row: 1 / span 2; justify-self: end; align-self: start;
    /* 標題寬明寫：條名欄（--car-vfs×行高1.1）；業主 iPhone 把直排 max-content 算成約 0（11/08 19:09:18 實機確認明寫寬度有效） */
    width: calc(var(--car-vfs) * 1.1);
    position: sticky; top: calc(var(--aw-bar-h) + var(--s3)); margin-right: calc(var(--s5) + var(--s4));
  }
  .p-car__item--v > .p-car__sub, .p-car__item--v > .p-car__secs { grid-column: 2; }
  .p-car__item--v > .p-car__sub { margin-top: 0; }
  .p-car__item--v .p-car__name {
    font-size: var(--car-vfs);
    color: var(--cream); background: var(--ink);   /* 字在墨底上（DOM 在紙內）：底色寫明，與所在色相同 */
  }
}

/* 全部收合（超過展開上限）：每項一個 <details>（條與條之間由 details 自己的細線分隔） */
.p-car__sheet .p-car__items--d .p-car__item + .p-car__item { margin-top: 0; padding-top: 0; }
.p-car__items--d .p-car__d { border-top: 1px solid var(--line); }
.p-car__items--d .p-car__d:last-child { border-bottom: 1px solid var(--line); }
.p-car__sum .p-car__h { flex: 1 1 auto; min-width: 0; font-size: var(--fs-h3); }
.p-car__d .aw-details__body { padding-top: 0; }
.p-car__d .p-car__sub { margin-top: 0; }

/* ── 窄於 1024：翻頁圖整張入框的小圖（寬＝版心、底邊中段落在單張上緣），不做捲動動畫 ───────────── */
@media (max-width: 1023.98px) {
  .p-car__fannum, .p-car__fanref { display: none; }
  .p-car__figno { top: -24px; }
  .p-car__fanbox { height: clamp(88px, 17vw, 150px); aspect-ratio: auto; max-width: none; }
  .p-car__fan { left: 0; width: 100%; height: 100%; transform: none; animation: none; }
  .p-car__lead .p-car__sub, .p-car__lead .p-car__secs { margin-top: var(--s4); }
  .p-car__lead .p-car__secs { grid-column: 7 / -1; }   /* 這段欄窄：右段多讓一欄，信箱那行才放得下 */
  .p-car__lead--vl .p-car__secs { grid-column: 6 / -1; }
  .p-car__lead--vl .p-car__sec { grid-template-columns: calc((100% - 144px) / 7) minmax(0, 1fr); }   /* 144px＝六條 24px 溝 */
  .p-car__sheet .p-car__secs { margin-top: var(--s3); }
}

/* ── 手機：巨字一行一句；單張滿版出血；直排小標改橫排小標（閱讀方向不切換，桌機照舊直排） ─────────────────────── */
@media (max-width: 767.98px) {
  .p-car__lead { display: block; }
  /* 手機首屏（單 3m2 A5）：應徵說明（人資信箱段）往上——段上留白、導言與說明的上距各收一級、巨字行高 1.34→1.24（字級、換行點不變） */
  .p-car.aw-section { padding-top: var(--s4); }
  .p-car__lead .p-car__name { line-height: 1.24; }
  .p-car__lead .p-car__sub { margin-top: var(--s2); }
  .p-car__lead .p-car__secs { margin-top: var(--s2); }
  .p-car__lead--vl .p-car__sec { display: block; }
  .p-car__lead--vl .p-car__lab { justify-self: auto; margin: 0 0 var(--s1); writing-mode: horizontal-tb; white-space: normal; font-size: var(--fs-lead); letter-spacing: .08em; }
  .p-car__fanbox { margin-top: var(--s4); }
  .p-car__g:nth-child(2n) { display: none; }   /* 手機圖小：只留一半的頁，線才不糊 */
  .p-car__g:nth-child(4) { display: inline; }   /* 實線頁（FAN 角度排序第 4）永遠留 */
  .p-car .p-car__sheet { margin-inline: calc(-1 * var(--aw-margin)); max-width: none; padding: var(--s4) var(--aw-margin) var(--s3); }
  .p-car__sheet::after { display: none; }
  .p-car__sec, .p-car__sheet--vl .p-car__sec { display: block; }
  .p-car__sheet .p-car__sec { padding-block: var(--s2) var(--s3); }
  .p-car__lab { margin-bottom: var(--s1); }
  .p-car__sheet--vl .p-car__lab { writing-mode: horizontal-tb; font-size: var(--fs-body); line-height: 1.6; letter-spacing: .12em; }
  .p-car__sheet .p-car__item + .p-car__item { margin-top: var(--s4); padding-top: var(--s4); }
}
@media (max-width: 599.98px) {
  .p-car__lead .p-car__name { font-size: calc((100vw - 2 * var(--aw-margin)) / 6.8); }
  .p-car__lead--long .p-car__name { font-size: var(--fs-h1); }
}
