/* ════════════════════════════════════════════
   INTER-CENTER LINK — variant CSS (C2 stage · C6 narrative · B2.5 attorney_carrier)
   Phase 2 B2 · 2026-05-20 · B2.5·B2.6·B2.7 갱신 2026-05-20
   ────────────────────────────────────────────
   base architecture(.hw-rh-* 카드 7요소·옵션 α)는 hwaon_partials.css 참조.
   본 파일은 variant 분기 전용 — C2 stage cascade · C6 editorial narrative · B2.5 attorney carrier.
   C4 meta는 base 카드 grid + .hw-rh-grid.cols-4 (hwaon_partials.css) — 별도 CSS 불요.
   spec §3.2·§3.5 · 시각 SSOT: _audit/phase1_visual_spec/ Artifact 2
   prefix: production .hw-rh-* 단독 (prototype .icl-* 박탈)

   [B2.5 추가 — 2026-05-20]
   ceo_message·expertise·members 단순 텍스트 박스 결함 해소 base
   신규 variant — attorney_carrier (변호사 portrait 72×72px + cred carrier)

   [B2.6 보강 — 2026-05-20]
   stage marker 32×32 + 1.5px gold + weight 600 + bg white + box-shadow
   stage connecting line top 62→70 · width 5~95%→8~92% · opacity 강화

   [B2.7 보강 — 2026-05-20]
   파셜 max-width 1400px 강제 — 사이트 footer .ft-container 정합 (footer 1400px base)
   ════════════════════════════════════════════ */

/* ─────────────────────────────────────────────
   B2.7 — 파셜 wrap 폭 정합 의제
   [B2.7.3 정정] 본 컨설턴트의 강제 처치 3회(B2.7·B2.7.1·B2.7.2) 모두 박탈
   사유: hwaon_partials.css L2088~L2095 안 .hw-rh-wrap base CSS가 이미
        max-width:1200px + margin:64px auto + padding:72px 56px + background:cream 정의
        본 컨설턴트가 사전 검증 박탈 base SSOT 잘못된 추정 처치 누적 base 결함 인정.
   본 영역에서 .hw-rh-wrap override 박탈 — base CSS 그대로 작동 base.
   페이지 본문(carrier·lawyer carrier 영역)과 partial 폭 차이는 padding 56px 좌우
   = inner content 1088px (vs 페이지 본문 1200px = 112px 시각 갭).
   디자인 시그너처(cream 카드 영역 분리)는 의도된 base — Artifact 1 시각 시안 정합.

   [B2.7.4 처치] 분기 B 채택 — padding 좌우 56 → 24px 축소
   사유: 디자인 시그너처(cream 카드 영역) 보존 + 페이지 본문과 시각 갭 축소
   결과: inner content 1088 → 1152px (페이지 본문 1200px과 48px 갭 — 시각 미세 정합)
   카드 grid 영역도 더 넓어져 카드 architecture 풍부함 강화.
   ───────────────────────────────────────────── */
.hw-rh-wrap{
  padding-left:24px;
  padding-right:24px;
}
@media (max-width: 768px){
  .hw-rh-wrap{
    padding-left:20px;
    padding-right:20px;
  }
}
/* partial 안 top hairline(::before) 위치도 padding 정합 base 갱신 */
.hw-rh-wrap::before{
  left:24px;
  right:24px;
}
@media (max-width: 768px){
  .hw-rh-wrap::before{
    left:20px;
    right:20px;
  }
}

/* ─────────────────────────────────────────────
   C2 — Stage Cascade variant (spec §3.2 · B2.6 marker 강화 + line 정합)
   ───────────────────────────────────────────── */
.hw-rh-stage{
  display:grid;
  grid-template-columns:repeat(4, 1fr);
  gap:12px;
  position:relative;
}
.hw-rh-stage::before{
  content:'';
  position:absolute;top:70px;left:8%;right:8%;height:1px;
  background:linear-gradient(90deg, rgba(201,169,110,0.50) 0%, rgba(201,169,110,0.20) 100%);
  z-index:0;pointer-events:none;
}
.hw-rh-stage-card{
  position:relative;
  background:#fff;
  padding:40px 20px 22px;
  text-align:center;
  border:1px solid rgba(27,42,74,0.06);
  border-radius:2px;
  text-decoration:none;
  display:block;
  z-index:1;
  transition:transform 0.5s cubic-bezier(.22,1,.36,1),
             border-color 0.5s cubic-bezier(.22,1,.36,1),
             box-shadow 0.5s cubic-bezier(.22,1,.36,1);
}
.hw-rh-stage-card:hover{
  transform:translateY(-3px);
  border-color:rgba(201,169,110,0.30);
  box-shadow:0 12px 32px rgba(15,27,48,0.06);
}
.hw-rh-stage-marker{
  position:absolute;top:-16px;left:50%;transform:translateX(-50%);
  width:32px;height:32px;border-radius:50%;
  background:#fff;
  border:1.5px solid var(--hw-gold,#C9A96E);
  display:flex;align-items:center;justify-content:center;
  font-family:'Cormorant Garamond',serif;
  font-style:italic;font-size:13px;font-weight:600;
  color:var(--hw-gold,#C9A96E);
  box-shadow:0 2px 8px rgba(201,169,110,0.18);
}
.hw-rh-stage-eyebrow{
  font-family:'Cormorant Garamond',serif;
  font-style:italic;font-size:11px;font-weight:500;
  color:rgba(27,42,74,0.55);
  letter-spacing:0.20em;text-transform:uppercase;
  margin-bottom:8px;
}
.hw-rh-stage-title{
  font-family:'Noto Serif KR',serif;
  font-size:17px;font-weight:600;
  color:var(--hw-navy,#1B2A4A);
  letter-spacing:-0.02em;line-height:1.4;
  margin-bottom:10px;word-break:keep-all;
}
.hw-rh-stage-desc{
  font-size:12.5px;
  color:rgba(27,42,74,0.65);
  line-height:1.7;
  word-break:keep-all;
}
/* 현재 페이지 stage 카드 — 강조 (파셜 .is-current 출력) */
.hw-rh-stage-card.is-current{
  border-color:rgba(201,169,110,0.45);
  background:var(--hw-cream,#F5F0EB);
}
.hw-rh-stage-card.is-current .hw-rh-stage-marker{
  background:var(--hw-gold,#C9A96E);
  color:#fff;
  border-color:var(--hw-gold,#C9A96E);
  box-shadow:0 2px 10px rgba(201,169,110,0.35);
}

/* C2 extra-row — 비-stage 자료 link (수임료·변호사 시각 등) */
.hw-rh-extra-row{
  margin-top:32px;padding-top:24px;
  border-top:1px solid rgba(201,169,110,0.18);
  display:flex;gap:20px;flex-wrap:wrap;align-items:center;
}
.hw-rh-extra-label{
  font-family:'Cormorant Garamond',serif;
  font-style:italic;font-size:12px;
  color:rgba(201,169,110,0.85);
  letter-spacing:0.24em;text-transform:uppercase;
  margin-right:8px;
}
.hw-rh-extra-link{
  font-size:13.5px;
  color:var(--hw-navy,#1B2A4A);
  text-decoration:none;letter-spacing:0.02em;
  padding:4px 0;position:relative;
  transition:color 0.4s cubic-bezier(.22,1,.36,1);
}
.hw-rh-extra-link::before{
  content:'—';margin-right:8px;
  color:var(--hw-gold,#C9A96E);
}
.hw-rh-extra-link:hover{color:var(--hw-gold-dark,#A88550);}

/* ─────────────────────────────────────────────
   C6 — Editorial Narrative variant (spec §3.5)
   ───────────────────────────────────────────── */
.hw-rh-wrap.hw-rh-wrap--narrative{padding:80px 56px;}
.hw-rh-wrap--narrative .hw-rh-header{
  text-align:center;
  margin-bottom:60px;
}
.hw-rh-narrative-ornament{
  width:120px;height:1px;
  background:linear-gradient(90deg, transparent 0%, var(--hw-gold,#C9A96E) 50%, transparent 100%);
  margin:0 auto 28px;
  position:relative;
}
.hw-rh-narrative-ornament::after{
  content:'';
  position:absolute;left:50%;top:-3px;transform:translateX(-50%);
  width:7px;height:7px;border-radius:50%;
  background:var(--hw-gold,#C9A96E);
  box-shadow:0 0 10px rgba(201,169,110,0.5);
}
.hw-rh-narrative-eyebrow{
  font-family:'Cormorant Garamond',serif;
  font-style:italic;font-size:12px;font-weight:500;
  color:rgba(201,169,110,0.85);
  letter-spacing:0.32em;text-transform:uppercase;
  margin-bottom:18px;
}
.hw-rh-narrative-title{
  font-family:'Noto Serif KR',serif;
  font-size:30px;font-weight:600;
  color:var(--hw-navy,#1B2A4A);
  letter-spacing:-0.02em;line-height:1.4;
  margin-bottom:14px;word-break:keep-all;
}
.hw-rh-narrative-invitation{
  font-family:'Noto Serif KR',serif;
  font-style:italic;font-weight:400;
  font-size:15px;
  color:rgba(27,42,74,0.65);
  line-height:1.85;
  max-width:560px;margin:0 auto;
  word-break:keep-all;
}

/* narrative variant 안 cluster label 박탈 + grid 부드러운 흐름 (B2.5)
   사유: narrative tone base SSOT center + big ornament + invitation italic base
         흐름 안 cluster label "G1·G2·G3" base 노출 base visual noise base — 시각 박탈 base.
         3 cluster grid base SSOT 단일 흐름 base 시각 인지 base 회복 base. */
.hw-rh-wrap--narrative .hw-rh-cluster-label{display:none;}
.hw-rh-wrap--narrative .hw-rh-grid{margin-top:14px;}
.hw-rh-wrap--narrative .hw-rh-grid:first-of-type{margin-top:0;}

/* ─────────────────────────────────────────────
   B2.5 — Attorney Carrier variant (변호사 portrait + cred 캐리어 카드)
   ───────────────────────────────────────────── */
.hw-rh-wrap.hw-rh-wrap--carrier{
  padding:72px 56px;
}
.hw-rh-wrap--carrier .hw-rh-header{
  margin-bottom:48px;
  text-align:left;
}

/* carrier grid — 3 column 균형 layout */
.hw-rh-carrier-grid{
  display:grid;
  grid-template-columns:repeat(3, 1fr);
  gap:18px;
}

/* carrier card — 좌 portrait + 우 본문 (수평) */
.hw-rh-carrier-card{
  position:relative;
  background:#fff;
  padding:28px 26px 24px;
  border:1px solid rgba(27,42,74,0.06);
  border-radius:2px;
  text-decoration:none;
  display:grid;
  grid-template-columns:88px 1fr;
  gap:22px;
  align-items:start;
  overflow:hidden;
  transition:transform 0.5s cubic-bezier(.22,1,.36,1),
             border-color 0.5s cubic-bezier(.22,1,.36,1),
             box-shadow 0.5s cubic-bezier(.22,1,.36,1);
}
.hw-rh-carrier-card:hover{
  transform:translateY(-3px);
  border-color:rgba(201,169,110,0.30);
  box-shadow:0 14px 36px rgba(15,27,48,0.07);
}

/* portrait — 72px circle + gold ring */
.hw-rh-carrier-portrait{
  width:72px;
  height:72px;
  border-radius:50%;
  background:var(--hw-cream,#F5F0EB);
  border:2px solid var(--hw-gold,#C9A96E);
  padding:2px;
  flex-shrink:0;
  overflow:hidden;
  position:relative;
}
.hw-rh-carrier-portrait::after{
  /* 미세 inner highlight base — premium tier 정합 */
  content:'';
  position:absolute;
  inset:2px;
  border-radius:50%;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,0.6);
  pointer-events:none;
}
.hw-rh-carrier-portrait img{
  width:100%;
  height:100%;
  object-fit:cover;
  border-radius:50%;
  display:block;
  filter:saturate(0.94);
  transition:filter 0.5s cubic-bezier(.22,1,.36,1), transform 0.7s cubic-bezier(.22,1,.36,1);
}
.hw-rh-carrier-card:hover .hw-rh-carrier-portrait img{
  filter:saturate(1.05);
  transform:scale(1.04);
}

/* body */
.hw-rh-carrier-body{
  min-width:0; /* grid overflow guard */
}
.hw-rh-carrier-no{
  font-family:'Cormorant Garamond',serif;
  font-style:italic;font-weight:500;font-size:12.5px;
  color:var(--hw-gold,#C9A96E);
  letter-spacing:0.10em;
  margin-bottom:8px;
  display:inline-block;
}
.hw-rh-carrier-no::before{
  content:'—';margin-right:6px;font-style:normal;
}
.hw-rh-carrier-eyebrow{
  font-family:'Cormorant Garamond',serif;
  font-style:italic;font-size:11px;font-weight:500;
  color:rgba(201,169,110,0.88);
  letter-spacing:0.20em;text-transform:uppercase;
  margin-bottom:6px;
  /* eyebrow 2 줄 보호 base — long English·Korean dual */
  line-height:1.45;
}
.hw-rh-carrier-name{
  font-family:'Noto Serif KR',serif;
  font-size:19px;font-weight:600;
  color:var(--hw-navy,#1B2A4A);
  letter-spacing:-0.02em;line-height:1.35;
  margin:0 0 10px 0;
  word-break:keep-all;
  transition:color 0.4s cubic-bezier(.22,1,.36,1);
  display:flex;
  align-items:baseline;
  gap:8px;
  flex-wrap:wrap;
}
.hw-rh-carrier-card:hover .hw-rh-carrier-name{color:var(--hw-navy-deep,#0F1B30);}
.hw-rh-carrier-role{
  font-family:'Pretendard',sans-serif;
  font-size:12.5px;font-weight:500;
  color:rgba(27,42,74,0.55);
  letter-spacing:0.04em;
}
.hw-rh-carrier-ornament{
  width:42px;height:1px;
  background:linear-gradient(90deg, var(--hw-gold,#C9A96E) 0%, rgba(201,169,110,0.18) 100%);
  margin-bottom:12px;
  position:relative;
}
.hw-rh-carrier-ornament::after{
  content:'';position:absolute;left:0;top:-2px;
  width:4px;height:4px;border-radius:50%;
  background:var(--hw-gold,#C9A96E);
}
.hw-rh-carrier-cred{
  font-family:'Pretendard',sans-serif;
  font-size:13px;
  color:rgba(27,42,74,0.74);
  line-height:1.65;
  margin:0 0 18px 0;
  word-break:keep-all;
  letter-spacing:0.01em;
}
.hw-rh-carrier-foot{
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding-top:14px;
  border-top:1px solid rgba(27,42,74,0.06);
}
.hw-rh-carrier-cta{
  font-family:'Cormorant Garamond',serif;
  font-style:italic;font-weight:500;font-size:12.5px;
  color:rgba(27,42,74,0.62);
  letter-spacing:0.18em;text-transform:uppercase;
  transition:color 0.4s cubic-bezier(.22,1,.36,1);
}
.hw-rh-carrier-card:hover .hw-rh-carrier-cta{color:var(--hw-navy,#1B2A4A);}
.hw-rh-carrier-arrow{
  width:30px;height:1px;
  background:rgba(27,42,74,0.30);
  position:relative;
  transition:background 0.4s cubic-bezier(.22,1,.36,1),
             width 0.4s cubic-bezier(.22,1,.36,1);
}
.hw-rh-carrier-arrow::after{
  content:'';position:absolute;right:-1px;top:-3px;
  width:7px;height:7px;
  border-right:1px solid rgba(27,42,74,0.30);
  border-top:1px solid rgba(27,42,74,0.30);
  transform:rotate(45deg);
  transition:border-color 0.4s cubic-bezier(.22,1,.36,1);
}
.hw-rh-carrier-card:hover .hw-rh-carrier-arrow{
  background:var(--hw-gold,#C9A96E);
  width:38px;
}
.hw-rh-carrier-card:hover .hw-rh-carrier-arrow::after{
  border-color:var(--hw-gold,#C9A96E);
}

/* ─────────────────────────────────────────────
   responsive
   ───────────────────────────────────────────── */
@media (max-width: 980px){
  .hw-rh-stage{grid-template-columns:1fr;}
  .hw-rh-stage::before{display:none;}
  .hw-rh-wrap.hw-rh-wrap--narrative{padding:48px 24px;}
  .hw-rh-wrap.hw-rh-wrap--carrier{padding:48px 24px;}
  .hw-rh-carrier-grid{grid-template-columns:1fr;gap:14px;}
  .hw-rh-carrier-card{padding:24px 22px 22px;}
}