/*! 快企务原创，请尊重产权。抄袭必究 · Copyright © 快企务 www.kuaiqiwu.com */
/* 个人客户页（/personal/，10-30 重组）专用样式。只在本页加载（inc/personal.php）。
   视觉沿用 2026 品牌层：Logo 藏青 #212773 做标题与深色区，品牌蓝做链接与选中，琥珀只出现在关键按钮与少量标记；
   造型统一用右上切角，不用圆角。手机端单列，关键信息不隐藏。 */

.p2-page-personal { --ph-cut: 14px; --ph-warm: var(--warm, #E9A23B); }
.p2-ph-sr { position: absolute !important; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }

/* ---------- 首屏：两个服务方向 ---------- */
.p2-page-personal .p2-hero.has-aside .p2-hero-grid { grid-template-columns: minmax(0, 1.25fr) minmax(320px, .75fr); align-items: center; }
.p2-ph-dirs { display: grid; gap: 14px; }
.p2-ph-dir {
  position: relative; display: grid; gap: 6px; padding: 20px 22px 18px 24px;
  background: #fff; color: var(--text); text-decoration: none;
  box-shadow: inset 0 0 0 1px var(--line);
  clip-path: polygon(0 0, calc(100% - var(--ph-cut)) 0, 100% var(--ph-cut), 100% 100%, 0 100%);
  transition: box-shadow var(--fast, .2s) ease, transform var(--fast, .2s) ease;
}
.p2-ph-dir::before { content: ""; position: absolute; left: 0; top: 0; bottom: 0; width: 3px; background: var(--ink, #212773); }
.p2-ph-dir + .p2-ph-dir::before { background: var(--blue, #092EB8); }
.p2-ph-dir-tag { color: var(--muted); font: 700 12px/1.2 var(--numeric); letter-spacing: .08em; }
.p2-ph-dir strong { color: var(--ink, #212773); font-size: clamp(18px, 1.5vw, 21px); line-height: 1.35; }
.p2-ph-dir-items { color: var(--text); font-size: 14.5px; line-height: 1.7; }
.p2-ph-dir-more { color: var(--accent); font-size: 13.5px; font-weight: 700; }
.p2-ph-dir-more i { font-style: normal; display: inline-block; transition: transform var(--fast, .2s) ease; }
.p2-ph-dir:hover, .p2-ph-dir:focus-visible { box-shadow: inset 0 0 0 1px rgba(9, 46, 184, .45); transform: translateY(-2px); }
.p2-ph-dir:hover .p2-ph-dir-more i, .p2-ph-dir:focus-visible .p2-ph-dir-more i { transform: translateX(4px); }
.p2-ph-dir:focus-visible { outline: 2px solid var(--blue, #092EB8); outline-offset: 2px; }

/* ---------- 需求入口：6 类 ---------- */
.p2-ph-needs { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
.p2-ph-need {
  display: flex; flex-direction: column; min-width: 0; padding: 24px 24px 20px;
  background: #fff; box-shadow: inset 0 0 0 1px var(--line);
  clip-path: polygon(0 0, calc(100% - var(--ph-cut)) 0, 100% var(--ph-cut), 100% 100%, 0 100%);
}
.p2-ph-need header { display: flex; align-items: baseline; gap: 12px; margin-bottom: 10px; }
.p2-ph-need header b { color: var(--accent); font: 800 13px/1 var(--numeric); letter-spacing: .06em; }
.p2-ph-need h3 { margin: 0; color: var(--ink); font-size: clamp(19px, 1.5vw, 22px); line-height: 1.35; }
.p2-ph-need > p { margin: 0; color: var(--text); font-size: 14.5px; line-height: 1.8; }
.p2-ph-need .p2-ph-need-label { margin: 16px 0 4px; color: var(--muted); font-size: 12.5px; font-weight: 700; letter-spacing: .06em; }
.p2-ph-need ul { margin: 0 0 14px; padding: 0; list-style: none; }
.p2-ph-need li { border-top: 1px solid var(--line); }
.p2-ph-need li a { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 11px 0; color: var(--ink); text-decoration: none; }
.p2-ph-need li a span { min-width: 0; }
.p2-ph-need li a strong { display: block; font-size: 15px; font-weight: 700; line-height: 1.45; }
.p2-ph-need li a small { display: block; margin-top: 2px; color: var(--muted); font-size: 12.5px; line-height: 1.55; }
.p2-ph-need li a i { flex: none; color: var(--accent); font-style: normal; transition: transform var(--fast, .2s) ease; }
.p2-ph-need li a:hover, .p2-ph-need li a:focus-visible { color: var(--blue); }
.p2-ph-need li a:hover i, .p2-ph-need li a:focus-visible i { transform: translateX(4px); }
.p2-ph-ask {
  align-self: flex-start; margin-top: auto; padding: 8px 14px 8px 12px;
  color: var(--ink); font-size: 13.5px; font-weight: 700; text-decoration: none;
  background: var(--pale); box-shadow: inset 2px 0 0 var(--ph-warm);
  clip-path: polygon(0 0, calc(100% - 8px) 0, 100% 8px, 100% 100%, 0 100%);
}
.p2-ph-ask i { font-style: normal; }
.p2-ph-ask:hover, .p2-ph-ask:focus-visible { background: #E7EBFA; color: var(--blue); }

/* ---------- 办理情形：4 种 ---------- */
.p2-ph-paths { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0; margin: 0; padding: 0; list-style: none; border-top: 2px solid var(--ink); }
.p2-ph-path { display: flex; flex-direction: column; min-width: 0; padding: 24px 24px 22px; border-right: 1px solid var(--line); background: #fff; }
.p2-ph-path:last-child { border-right: 0; }
.p2-ph-path-no { color: var(--muted); font: 700 12px/1 var(--numeric); letter-spacing: .08em; }
.p2-ph-path h3 { margin: 10px 0 14px; color: var(--ink); font-size: 19px; line-height: 1.4; }
.p2-ph-path dl { margin: 0 0 16px; }
.p2-ph-path dl div + div { margin-top: 12px; }
.p2-ph-path dt { margin: 0 0 4px; color: var(--accent); font-size: 12.5px; font-weight: 800; }
.p2-ph-path dd { margin: 0; color: var(--text); font-size: 14px; line-height: 1.75; }
.p2-ph-path-next { margin-top: auto; color: var(--ink); font-size: 14px; font-weight: 700; text-decoration: none; border-bottom: 1px solid rgba(33, 39, 115, .25); align-self: flex-start; padding-bottom: 2px; }
.p2-ph-path-next:hover, .p2-ph-path-next:focus-visible { color: var(--blue); border-color: var(--blue); }

/* ---------- 文件办理前需确认：5 步 ---------- */
.p2-ph-flow { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 0; margin: 0; padding: 0; list-style: none; counter-reset: none; }
.p2-ph-flow li { position: relative; min-width: 0; padding: 22px 22px 22px 0; border-top: 1px solid var(--line); }
.p2-ph-flow li + li { padding-left: 22px; }
.p2-ph-flow li::before { content: ""; position: absolute; left: 0; top: -1px; width: 36px; height: 3px; background: var(--ink); }
.p2-ph-flow li + li::before { left: 22px; }
.p2-ph-flow li:last-child::before { background: var(--ph-warm); }
.p2-ph-flow b { display: block; color: var(--accent); font: 800 13px/1 var(--numeric); letter-spacing: .06em; }
.p2-ph-flow h3 { margin: 10px 0 8px; color: var(--ink); font-size: 18px; line-height: 1.4; }
.p2-ph-flow p { margin: 0; color: var(--text); font-size: 14px; line-height: 1.8; }
.p2-ph-hague { margin-top: 28px; padding: 22px 26px; background: #fff; box-shadow: inset 0 0 0 1px var(--line), inset 3px 0 0 var(--ink); clip-path: polygon(0 0, calc(100% - var(--ph-cut)) 0, 100% var(--ph-cut), 100% 100%, 0 100%); }
.p2-ph-hague-title { margin: 0 0 14px; color: var(--ink); font-size: 16px; font-weight: 800; }
.p2-ph-hague-title small { display: block; margin-top: 4px; color: var(--muted); font-size: 13px; font-weight: 500; }
.p2-ph-hague dl { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0 28px; margin: 0; }
.p2-ph-hague dt { margin: 0 0 6px; color: var(--ink); font-size: 14.5px; font-weight: 700; }
.p2-ph-hague dd { margin: 0; color: var(--text); font-size: 14px; line-height: 1.8; }
.p2-ph-hague dd a { display: inline-block; margin-left: 4px; color: var(--accent); font-weight: 700; text-decoration: none; }
.p2-ph-hague dd a:hover, .p2-ph-hague dd a:focus-visible { text-decoration: underline; }
.p2-ph-scope { margin: 18px 0 0; color: var(--muted); font-size: 14px; line-height: 1.8; }
.p2-ph-scope a { color: var(--accent); font-weight: 700; }

/* ---------- 香港身份评估 ----------
   内页“深色”区块在 2026 品牌层统一为浅底，这里不依赖区块底色：计划卡用白底 + 藏青顶线，协助说明用浅灰蓝底。 */
.p2-ph-hk { display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(300px, .65fr); gap: 28px; align-items: start; }
.p2-ph-hk-plans { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.p2-ph-plan {
  display: flex; flex-direction: column; min-width: 0; padding: 24px 24px 22px;
  background: #fff; box-shadow: inset 0 0 0 1px var(--line), inset 0 3px 0 var(--ink);
  clip-path: polygon(0 0, calc(100% - var(--ph-cut)) 0, 100% var(--ph-cut), 100% 100%, 0 100%);
}
.p2-ph-plan + .p2-ph-plan { box-shadow: inset 0 0 0 1px var(--line), inset 0 3px 0 var(--blue, #092EB8); }
.p2-ph-plan-tag { align-self: flex-start; margin: 0 0 12px; padding: 4px 10px; color: var(--ink); font-size: 12.5px; font-weight: 700; background: var(--pale); box-shadow: inset 2px 0 0 var(--ph-warm); }
.p2-ph-plan h3 { margin: 0 0 12px; color: var(--ink); font-size: 20px; line-height: 1.4; }
.p2-ph-plan h3 small { display: block; margin-top: 2px; color: var(--muted); font-size: 13px; font-weight: 500; }
.p2-ph-plan-fit { margin: 0 0 12px; padding-bottom: 12px; color: var(--text); font-size: 14px; line-height: 1.75; border-bottom: 1px solid var(--line); }
.p2-ph-plan ul { margin: 0 0 16px; padding: 0; list-style: none; }
.p2-ph-plan li { position: relative; padding-left: 16px; color: var(--text); font-size: 14px; line-height: 1.8; }
.p2-ph-plan li + li { margin-top: 6px; }
.p2-ph-plan li::before { content: ""; position: absolute; left: 0; top: .82em; width: 7px; height: 2px; background: var(--ink); }
.p2-ph-plan a { margin-top: auto; align-self: flex-start; color: var(--ink); font-size: 14px; font-weight: 700; text-decoration: none; border-bottom: 1px solid rgba(33, 39, 115, .25); padding-bottom: 2px; }
.p2-ph-plan a:hover, .p2-ph-plan a:focus-visible { color: var(--blue); border-color: var(--blue); }
.p2-ph-hk-side { padding: 24px; background: var(--pale); color: var(--text); clip-path: polygon(0 0, calc(100% - var(--ph-cut)) 0, 100% var(--ph-cut), 100% 100%, 0 100%); }
.p2-ph-hk-label { margin: 0 0 12px; color: var(--ink); font-size: 16px; font-weight: 800; }
.p2-ph-hk-steps { margin: 0 0 16px; padding: 0; list-style: none; }
.p2-ph-hk-steps li { display: grid; grid-template-columns: 76px minmax(0, 1fr); gap: 10px; padding: 10px 0; border-top: 1px solid rgba(33, 39, 115, .12); }
.p2-ph-hk-steps b { color: var(--ink); font-size: 14.5px; }
.p2-ph-hk-steps span { color: var(--text); font-size: 13.5px; line-height: 1.75; }
.p2-ph-hk-note { margin: 0 0 16px; color: var(--muted); font-size: 13px; line-height: 1.75; }
.p2-ph-hk-note a { color: var(--accent); font-weight: 700; }
.p2-ph-hk-side .button { width: 100%; justify-content: center; }

/* ---------- 办理说明：事项 × 两个方向 ---------- */
.p2-ph-guide { border-top: 2px solid var(--ink); background: #fff; }
.p2-ph-guide-row { display: grid; grid-template-columns: 140px minmax(0, 1fr) minmax(0, 1fr); gap: 0 28px; padding: 16px 22px; border-bottom: 1px solid var(--line); }
.p2-ph-guide-row.is-head { padding-top: 12px; padding-bottom: 12px; background: var(--pale); }
.p2-ph-guide-row.is-head span { color: var(--ink); font-size: 13px; font-weight: 800; letter-spacing: .04em; }
.p2-ph-guide-row b { color: var(--ink); font-size: 15px; }
.p2-ph-guide-row p { margin: 0; color: var(--text); font-size: 14px; line-height: 1.8; }
.p2-ph-guide-row p em { display: none; }

/* ---------- 分类问答 ---------- */
.p2-ph-faq-group { margin: 0 0 6px; padding: 0 0 8px; color: var(--ink); font-size: 15px; font-weight: 800; letter-spacing: .04em; border-bottom: 2px solid var(--ink); }
.p2-faq-item + .p2-ph-faq-group { margin-top: 30px; }

/* ---------- 咨询区：分流 ---------- */
.p2-lead.has-intake .p2-intake { margin: 0 0 14px; padding: 0; border: 0; min-width: 0; }
.p2-intake-legend { margin: 0 0 8px; padding: 0; color: var(--ink); font-size: 14px; font-weight: 700; }
.p2-intake-legend em { margin-left: 6px; color: var(--accent); font-size: 12px; font-style: normal; font-weight: 600; }
.p2-intake-kinds { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
.p2-intake-kind { position: relative; display: block; cursor: pointer; }
.p2-intake-kind input { position: absolute; inset: 0; width: 100%; height: 100%; margin: 0; opacity: 0; cursor: pointer; }
.p2-intake-kind span {
  display: grid; gap: 3px; min-height: 100%; box-sizing: border-box; padding: 11px 14px 11px 34px;
  background: #FAFBFF; box-shadow: inset 0 0 0 1px rgba(33, 39, 115, .2);
  clip-path: polygon(0 0, calc(100% - 10px) 0, 100% 10px, 100% 100%, 0 100%);
  transition: background var(--fast, .2s) ease, box-shadow var(--fast, .2s) ease;
}
/* 单选标记用菱形（区别于方形复选框，呼应品牌斜切语言） */
.p2-intake-kind span::before { content: ""; position: absolute; left: 14px; top: 16px; width: 11px; height: 11px; box-sizing: border-box; border: 1.5px solid rgba(33, 39, 115, .45); background: #fff; transform: rotate(45deg); }
.p2-intake-kind b { color: var(--ink); font-size: 14.5px; line-height: 1.35; }
.p2-intake-kind small { color: var(--muted); font-size: 12px; line-height: 1.5; }
.p2-intake-kind:hover span { box-shadow: inset 0 0 0 1px rgba(9, 46, 184, .5); }
.p2-intake-kind input:checked + span { background: #EEF2FF; box-shadow: inset 0 0 0 2px var(--blue, #092EB8); }
.p2-intake-kind input:checked + span::before { border-color: var(--blue, #092EB8); background: var(--blue, #092EB8); box-shadow: inset 0 0 0 2px #fff; }
.p2-intake-kind input:focus-visible + span { outline: 2px solid var(--blue, #092EB8); outline-offset: 2px; }
.p2-intake.is-invalid .p2-intake-kind span { box-shadow: inset 0 0 0 1px #C2410C; }
.p2-intake .p2-field-hint { display: block; margin-top: 6px; }
.p2-intake-q { margin: 0 0 4px; padding: 14px 14px 0; border: 0; min-width: 0; background: var(--pale); }
.p2-intake-q[hidden] { display: none; }
.p2-intake-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 14px; }
.p2-intake-grid .p2-field { margin-bottom: 14px; }
/* 题目数为奇数时最后一题占满整行，避免示例文字被截断 */
.p2-intake-grid > .p2-field:last-child:nth-child(odd) { grid-column: 1 / -1; }
.p2-intake-grid .p2-field label { font-size: 13.5px; }
.p2-intake-q select, .p2-intake-q input {
  width: 100%; box-sizing: border-box; min-height: 46px; padding: 10px 12px;
  border: 1px solid rgba(33, 39, 115, .2); border-radius: var(--radius); background: #fff;
  color: var(--text); font: inherit; font-size: 14.5px;
}
.p2-intake-q select { appearance: none; padding-right: 34px; background-image: linear-gradient(45deg, transparent 50%, #626875 50%), linear-gradient(135deg, #626875 50%, transparent 50%); background-position: calc(100% - 18px) 50%, calc(100% - 13px) 50%; background-size: 5px 5px; background-repeat: no-repeat; }
.p2-intake-q select:focus, .p2-intake-q input:focus { outline: none; border-color: var(--blue); box-shadow: 0 0 0 3px rgba(9, 46, 184, .12); }
.p2-lead.has-intake .p2-field + .p2-intake { margin-top: 2px; }

/* ---------- 响应式 ---------- */
@media (max-width: 1180px) {
  .p2-ph-needs { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .p2-ph-paths { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .p2-ph-path:nth-child(2) { border-right: 0; }
  .p2-ph-path:nth-child(n + 3) { border-top: 1px solid var(--line); }
  .p2-ph-flow { grid-template-columns: repeat(3, minmax(0, 1fr)); row-gap: 8px; }
  .p2-ph-flow li:nth-child(4) { padding-left: 0; }
  .p2-ph-flow li:nth-child(4)::before { left: 0; }
  .p2-ph-hk { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 980px) {
  .p2-page-personal .p2-hero.has-aside .p2-hero-grid { grid-template-columns: minmax(0, 1fr); }
  .p2-ph-dirs { grid-template-columns: repeat(2, minmax(0, 1fr)); max-width: none; }
  .p2-ph-hague dl { grid-template-columns: minmax(0, 1fr); gap: 14px; }
}
@media (max-width: 700px) {
  .p2-page-personal { --ph-cut: 10px; }
  .p2-ph-dirs { grid-template-columns: minmax(0, 1fr); gap: 10px; }
  .p2-ph-dir { padding: 14px 16px 13px 18px; gap: 4px; }
  .p2-ph-dir-items { font-size: 13.5px; }
  .p2-ph-needs { grid-template-columns: minmax(0, 1fr); gap: 12px; }
  .p2-ph-need { padding: 18px 18px 16px; }
  .p2-ph-need > p { font-size: 14px; line-height: 1.75; }
  .p2-ph-need .p2-ph-need-label { margin-top: 12px; }
  /* 手机端办理方式改为两列短链接，减少纵向长度，备注照常显示 */
  .p2-ph-need ul { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 12px; }
  .p2-ph-need li a { align-items: flex-start; padding: 9px 0; }
  .p2-ph-need li a strong { font-size: 14px; }
  .p2-ph-need li a small { font-size: 12px; }
  .p2-ph-need li a i { display: none; }
  .p2-ph-paths { grid-template-columns: minmax(0, 1fr); }
  .p2-ph-path { padding: 18px 0; border-right: 0; border-top: 1px solid var(--line); background: transparent; }
  .p2-ph-path:first-child { border-top: 0; }
  .p2-ph-path h3 { margin: 6px 0 10px; font-size: 18px; }
  .p2-ph-flow { grid-template-columns: minmax(0, 1fr); row-gap: 0; }
  .p2-ph-flow li, .p2-ph-flow li + li, .p2-ph-flow li:nth-child(4) { display: grid; grid-template-columns: 34px minmax(0, 1fr); column-gap: 10px; padding: 14px 0; }
  .p2-ph-flow li::before, .p2-ph-flow li + li::before, .p2-ph-flow li:nth-child(4)::before { left: 0; width: 24px; }
  .p2-ph-flow b { grid-row: span 2; padding-top: 4px; }
  .p2-ph-flow h3 { margin: 0 0 4px; font-size: 16.5px; }
  .p2-ph-hague { padding: 18px; }
  .p2-ph-hk-plans { grid-template-columns: minmax(0, 1fr); gap: 12px; }
  .p2-ph-plan { padding: 18px; }
  .p2-ph-hk-side { padding: 18px; }
  .p2-ph-hk-steps li { grid-template-columns: 68px minmax(0, 1fr); }
  .p2-ph-guide-row.is-head { display: none; }
  .p2-ph-guide-row { grid-template-columns: minmax(0, 1fr); gap: 8px; padding: 14px 0; background: transparent; }
  .p2-ph-guide { background: transparent; }
  .p2-ph-guide-row b { font-size: 15.5px; }
  .p2-ph-guide-row p { padding-left: 12px; border-left: 2px solid var(--line); font-size: 13.5px; }
  .p2-ph-guide-row p em { display: block; margin-bottom: 2px; color: var(--accent); font-size: 12px; font-style: normal; font-weight: 800; }
  .p2-intake-grid { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 360px) {
  .p2-intake-kinds { grid-template-columns: minmax(0, 1fr); }
  .p2-ph-need ul { grid-template-columns: minmax(0, 1fr); }
}
@media (prefers-reduced-motion: reduce) {
  .p2-ph-dir, .p2-ph-dir-more i, .p2-ph-need li a i, .p2-intake-kind span { transition: none; }
  .p2-ph-dir:hover, .p2-ph-dir:focus-visible { transform: none; }
}

/* 三份个人资料：简明入口，不在主页面堆叠领取表单。 */
.p2-ph-resources { scroll-margin-top: 86px; padding: 40px 0; background: #F3F5FB; color: #2F333D; }
.p2-ph-resources h2 { margin: 0 0 10px; color: #212773; font-size: clamp(22px, 2vw, 28px); }
.p2-ph-resources > .p2-shell > p { margin: 0 0 24px; color: #5B6170; line-height: 1.75; }
.p2-ph-resource-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
.p2-ph-resource { display: flex; gap: 16px; padding: 22px 18px; background: #fff; border: 1px solid #DADFEA; clip-path: polygon(0 0, calc(100% - 12px) 0, 100% 12px, 100% 100%, 0 100%); }
.p2-ph-resource img { flex: 0 0 64px; width: 64px; height: auto; align-self: flex-start; }
.p2-ph-resource > div { min-width: 0; }
.p2-ph-resource h3 { margin: 0 0 8px; color: #212773; font-size: 17px; line-height: 1.5; }
.p2-ph-resource p { margin: 0 0 8px; font-size: 13.5px; line-height: 1.75; }
.p2-ph-resource small { display: block; color: #5B6170; font-size: 12px; }
.p2-ph-resource a { display: inline-flex; gap: 8px; margin-top: 12px; color: #3558F0; font-size: 14px; font-weight: 600; }
.p2-ph-resource a:focus-visible { outline: 2px solid #3558F0; outline-offset: 4px; }
@media (max-width: 1099px) { .p2-ph-resource-grid { grid-template-columns: 1fr; } }
@media (max-width: 599px) { .p2-ph-resources { padding: 30px 0; } .p2-ph-resource { padding: 18px 16px; } }

/* 文件服务为主营；香港人才仅作辅助条件咨询，不使用并列主营视觉。 */
.p2-ph-dirs { grid-template-columns: minmax(0,1fr); }
.p2-ph-talent-link { padding: 3px 0; color: #626875; font-size: 13px; text-decoration: none; }
.p2-ph-talent-link:hover, .p2-ph-talent-link:focus-visible { color: #3558F0; text-decoration: underline; }
.p2-ph-need .p2-ph-need-stage { margin: 12px 0 0; padding: 10px 12px; background: #F3F5FB; color: #5B6170; font-size: 13px; line-height: 1.75; border-left: 2px solid #DADFEA; }
.p2-ph-need.is-auxiliary { background: #FAFBFE; box-shadow: inset 0 0 0 1px #DADFEA; }
.p2-ph-paths { grid-template-columns: repeat(3,minmax(0,1fr)); }
.p2-ph-talent-teaser { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 16px; margin-top: 18px; padding: 12px 16px; border: 1px solid #DADFEA; background: #FAFBFE; }
.p2-ph-talent-teaser span { color: #626875; font-size: 12px; }
.p2-ph-talent-teaser p { flex: 1 1 280px; margin: 0; font-size: 13px; line-height: 1.7; color: #5B6170; }
.p2-ph-talent-teaser a { color: #3558F0; font-size: 13px; text-decoration: none; }
.p2-ph-guide-row { grid-template-columns: 140px minmax(0,1fr); }
#personal-hk { padding-top: 30px; padding-bottom: 30px; }
#personal-hk .p2-section-head { margin-bottom: 18px; }
#personal-hk h2 { font-size: clamp(23px,2vw,29px); }
.p2-ph-talent-summary { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 24px; padding: 16px 20px; border: 1px solid #DADFEA; background: #FAFBFE; }
.p2-ph-talent-summary p { flex: 1 1 480px; margin: 0; color: #5B6170; font-size: 14px; line-height: 1.75; }
.p2-ph-talent-summary a { color: #3558F0; font-size: 14px; font-weight: 600; text-decoration: none; }
.p2-ph-talent-details { margin-top: 12px; }
.p2-ph-talent-details > summary { display: flex; justify-content: space-between; align-items: center; padding: 12px 0; color: #212773; font-size: 14px; cursor: pointer; border-bottom: 1px solid #DADFEA; list-style: none; }
.p2-ph-talent-details > summary::-webkit-details-marker { display: none; }
.p2-ph-talent-details > summary i { font-style: normal; }
.p2-ph-talent-details[open] > summary i { transform: rotate(45deg); }
.p2-ph-talent-details .p2-ph-hk { margin-top: 18px; }
.p2-intake-q[hidden] { display: none !important; }
@media (min-width:701px) and (max-width:1180px) { .p2-ph-paths { grid-template-columns: repeat(2,minmax(0,1fr)); } .p2-ph-path:nth-child(3) { grid-column: 1/-1; border-right: 0; } }
@media (max-width:700px) { .p2-ph-paths,.p2-ph-guide-row { grid-template-columns: minmax(0,1fr); } .p2-ph-talent-summary { padding: 14px 16px; } .p2-ph-need .p2-ph-need-stage { font-size: 12.5px; } }
