/* =========================================================================
   assets/page/141.css — [141] 이중턱 지방흡입   (slug: double-chin-lipo)

   전용 컴포넌트 6종
     .fs-double-chin-lipo-hero    우측 하단 카피 파노라마 히어로
     .fs-double-chin-lipo-quote   전폭 사진 + 겹친 질문 카피
     .fs-double-chin-lipo-poll    부위별 고민 비율 가로 막대 차트
     .fs-double-chin-lipo-target  좌 세로 인물 / 우 2×2 POINT 카드
     .fs-double-chin-lipo-combo   지방흡입 + 벨로디Ⅱ 2판 결합
     .fs-double-chin-lipo-tx      진피 콜라겐 밴드 캐러셀 (fs-nose-tx 확장)

   색은 전부 --fs-* 토큰. 새 hex 0개. 모든 셀렉터는 .fs-p-141 스코프.
   ========================================================================= */

/* --- A01 · 히어로 (우측 하단 카피) -------------------------------------- */
.fs-p-141 .fs-double-chin-lipo-hero { align-items: end; background: var(--fs-cream); }
.fs-p-141 .fs-double-chin-lipo-hero .fs-hero__bg picture { display: block; width: 100%; height: 100%; }
.fs-p-141 .fs-double-chin-lipo-hero .fs-hero__bg img { object-position: 50% 32%; }
.fs-p-141 .fs-double-chin-lipo-hero .fs-hero__inner { padding-block-end: clamp(24px, 18.2px + 1.603vw, 50px); }
.fs-p-141 .fs-double-chin-lipo-hero .fs-hero__copy {
  justify-items: start; text-align: start;
  gap: clamp(6px, 4.2px + 0.5vw, 14px);
}
/* 사진이 밝은 그레이라 흰 글자는 대비 미달 — 잉크로 내린다(57 방식) */
.fs-p-141 .fs-double-chin-lipo-hero .fs-hero__kicker { color: var(--fs-ink-soft); }
.fs-p-141 .fs-double-chin-lipo-hero .fs-hero__title  { color: var(--fs-ink); }
@media (min-width: 1024px) {
  .fs-p-141 .fs-double-chin-lipo-hero .fs-hero__copy { justify-items: end; text-align: end; }
  .fs-p-141 .fs-double-chin-lipo-hero .fs-hero__bg img { object-position: 50% 22%; }
}

/* --- A05 · 전폭 사진 + 겹친 질문 카피 ----------------------------------- */
.fs-p-141 .fs-double-chin-lipo-quote { position: relative; }
.fs-p-141 .fs-double-chin-lipo-quote__media img {
  display: block; width: 100%;
  aspect-ratio: 3 / 2; object-fit: cover; object-position: 24% 42%;
}
.fs-p-141 .fs-double-chin-lipo-quote__copy { padding-block-start: var(--fs-sp-6); }
.fs-p-141 .fs-double-chin-lipo-quote__lead { margin-block-start: var(--fs-sp-4); }
@media (min-width: 768px) {
  .fs-p-141 .fs-double-chin-lipo-quote__media img { aspect-ratio: 1600 / 554; object-position: center; }
  .fs-p-141 .fs-double-chin-lipo-quote__copy {
    position: absolute; inset-block-end: 11%; inset-inline-end: 5%;
    width: min(48%, 560px); padding-block-start: 0; text-align: end;
  }
}

/* --- A05 · 부위별 고민 비율 막대 차트 ----------------------------------- */
.fs-p-141 .fs-double-chin-lipo-poll {
  display: grid; gap: var(--fs-gap-card);
  grid-template-columns: minmax(0, 1fr);
  margin-block-start: var(--fs-gap-title);
}
.fs-p-141 .fs-double-chin-lipo-poll__item {
  display: grid;
  grid-template-columns: clamp(76px, 62.6px + 3.72vw, 134px) minmax(0, 1fr);
  gap: clamp(12px, 8.3px + 1.03vw, 28px);
  align-items: center;
}
.fs-p-141 .fs-double-chin-lipo-poll__fig { display: grid; }
.fs-p-141 .fs-double-chin-lipo-poll__fig img {
  display: block; width: 100%; height: auto; background: var(--fs-white);
}
.fs-p-141 .fs-double-chin-lipo-poll__fig .fs-labelbar {
  min-height: clamp(24px, 21.2px + 0.77vw, 36px);
  font-size: clamp(13px, 12.5px + 0.128vw, 15px);
}
.fs-p-141 .fs-double-chin-lipo-poll__track {
  position: relative; height: clamp(38px, 32.4px + 1.54vw, 63px);
  background: var(--fs-white);
}
.fs-p-141 .fs-double-chin-lipo-poll__fill {
  position: absolute; inset-block: 0; inset-inline-start: 0;
  width: var(--fs-dcl-pct, 0%); background: var(--fs-teal-text);
}
/* 숫자는 막대 안 오른쪽 끝에 놓인다(원본 판독). 트랙 오른쪽에 두면
   흰 바탕 위에 흰 글자가 되어 사라진다. 막대와 같은 폭을 주고 끝맞춤한다. */
.fs-p-141 .fs-double-chin-lipo-poll__pct {
  position: absolute; inset-block: 0; inset-inline-start: 0;
  width: var(--fs-dcl-pct, 0%);
  display: grid; align-items: center; justify-items: end;
  padding-inline-end: clamp(10px, 8.2px + 0.51vw, 18px);
  color: var(--fs-on-dark); font-weight: 700; font-size: var(--fs-t-lead);
  font-variant-numeric: tabular-nums;
}
@media (min-width: 768px) {
  .fs-p-141 .fs-double-chin-lipo-poll {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    column-gap: clamp(24px, 6.5px + 2.34vw, 56px);
  }
}

/* --- A06 · 좌 세로 인물 / 우 2×2 POINT 카드 ----------------------------- */
.fs-p-141 .fs-double-chin-lipo-target {
  display: grid; gap: var(--fs-gap-col);
  grid-template-columns: minmax(0, 1fr);
  margin-block-start: var(--fs-gap-title);
}
.fs-p-141 .fs-double-chin-lipo-target__photo { display: block; }
.fs-p-141 .fs-double-chin-lipo-target__photo img {
  display: block; width: 100%; height: 100%;
  aspect-ratio: 3 / 2; object-fit: cover; object-position: 50% 34%;
}
.fs-p-141 .fs-double-chin-lipo-target__cards {
  display: grid; gap: var(--fs-gap-card);
  grid-template-columns: minmax(0, 1fr);
}
@media (min-width: 600px) {
  .fs-p-141 .fs-double-chin-lipo-target__cards { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (min-width: 1024px) {
  .fs-p-141 .fs-double-chin-lipo-target { grid-template-columns: minmax(0, 520fr) minmax(0, 820fr); }
  .fs-p-141 .fs-double-chin-lipo-target__photo img { aspect-ratio: auto; object-position: 50% 30%; }
}
.fs-p-141 .fs-double-chin-lipo-target__cards .fs-card--point { height: 100%; }

/* --- A03 · 지방흡입 + 벨로디Ⅱ 결합 ------------------------------------- */
.fs-p-141 .fs-double-chin-lipo-combo {
  display: grid; gap: var(--fs-gap-col);
  grid-template-columns: minmax(0, 1fr);
  margin-block-start: var(--fs-gap-title);
}
.fs-p-141 .fs-double-chin-lipo-combo__panels {
  display: grid; gap: clamp(10px, 7.7px + 0.64vw, 20px);
  grid-template-columns: minmax(0, 1fr);
  justify-items: stretch; align-items: center;
}
.fs-p-141 .fs-double-chin-lipo-combo__plus { justify-self: center; }
.fs-p-141 .fs-double-chin-lipo-combo__panel { display: grid; }
.fs-p-141 .fs-double-chin-lipo-combo__box {
  display: grid; place-items: center;
  background: var(--fs-white); aspect-ratio: 600 / 440;
}
.fs-p-141 .fs-double-chin-lipo-combo__box img {
  width: 100%; height: 100%; object-fit: contain;
}
.fs-p-141 .fs-double-chin-lipo-combo__out {
  display: grid; gap: clamp(20px, 15.4px + 1.28vw, 40px); align-content: start;
}
.fs-p-141 .fs-double-chin-lipo-combo__row {
  display: grid; gap: clamp(14px, 10.3px + 1.03vw, 30px);
  grid-template-columns: clamp(84px, 66.2px + 4.94vw, 161px) minmax(0, 1fr);
  align-items: center;
}
.fs-p-141 .fs-double-chin-lipo-combo__ic { display: grid; }
.fs-p-141 .fs-double-chin-lipo-combo__ic img {
  display: block; width: 100%; height: auto; background: var(--fs-white);
}
.fs-p-141 .fs-double-chin-lipo-combo__ic .fs-labelbar {
  min-height: clamp(24px, 21.2px + 0.77vw, 36px);
  font-size: clamp(12px, 11.5px + 0.128vw, 14px);
}
.fs-p-141 .fs-double-chin-lipo-combo__title { margin-block-end: var(--fs-sp-3); }
@media (min-width: 600px) {
  .fs-p-141 .fs-double-chin-lipo-combo__panels {
    grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
  }
}
@media (min-width: 1024px) {
  .fs-p-141 .fs-double-chin-lipo-combo { grid-template-columns: minmax(0, 700fr) minmax(0, 640fr); }
}

/* --- A13 · 진피 콜라겐 밴드 캐러셀 (fs-nose-tx 확장) -------------------- */
/* 이 페이지는 다크 밴드가 없다(plans avoid). fs-nose-tx-sec 의 흰→크림
   그라데이션을 그대로 두면 cream2 → fade-cream → cream 이 이어져 따뜻한 밴드가
   3연속이 된다. 흰 배경으로 되돌려 흰/크림 교대 리듬을 지킨다. */
.fs-p-141 .fs-double-chin-lipo-tx-sec { background: var(--fs-white); }
/* 도해가 세로 185px 짜리 가로 밴드라 fs-nose-tx 의 정사각 박스(158/86·420/300)를
   그대로 쓰면 위아래가 크게 비어 리듬이 죽는다. 밴드 비율로 다시 잡는다. */
.fs-p-141 .fs-double-chin-lipo-tx .fs-nose-tx__box {
  aspect-ratio: 564 / 185; place-items: stretch; background: var(--fs-white);
}
.fs-p-141 .fs-double-chin-lipo-tx .fs-nose-tx__ill {
  width: 100%; height: 100%; max-width: none; object-fit: cover; margin-block-end: 0;
}
.fs-p-141 .fs-double-chin-lipo-tx .fs-nose-tx__card:last-of-type .fs-nose-tx__ill { height: 100%; }
.fs-p-141 .fs-double-chin-lipo-tx .fs-nose-tx__mid { inset-block-start: 33%; }
.fs-p-141 .fs-double-chin-lipo-tx .fs-nose-tx__slide { row-gap: clamp(24px, 18.2px + 1.6vw, 44px); }
@media (min-width: 1024px) {
  .fs-p-141 .fs-double-chin-lipo-tx .fs-nose-tx__box { aspect-ratio: 564 / 185; }
  .fs-p-141 .fs-double-chin-lipo-tx .fs-nose-tx__mid { inset-block-start: 36%; }
  .fs-p-141 .fs-double-chin-lipo-tx .fs-nose-tx__panel { padding-block-start: 0; }
}

/* --- A14 · 전후 사례 2건 ------------------------------------------------ */
/* fs.css 의 도트 규칙은 4사례(PC 2페이지) 기준이다. 사례가 2건이면 PC 는
   per-view 2 로 한 페이지에 다 들어오므로 도트·화살표가 할 일이 없다. */
.fs-p-141 .fs-double-chin-lipo-ba .fs-ba__item img { aspect-ratio: 700 / 468; }
@media (min-width: 1024px) {
  .fs-p-141 .fs-double-chin-lipo-ba [data-fs-carousel-dots] { display: none; }
}

/* --- 모션 무효화 (레이아웃은 모션과 무관하게 동일해야 한다) ------------- */
@media (prefers-reduced-motion: reduce) {
  .fs-p-141 .fs-double-chin-lipo-poll__fill { transform: none !important; transition: none !important; }
}


/* ==========================================================================
   ▼▼▼ 진단·수정 패스 — 2026-08-28
   근거는 _design/QA/141.md
   ========================================================================== */

/* --- F1 [LOCK 2] 모바일·태블릿에서 라벨바가 도해에서 떨어진다 -----------
   <1024 에서 .fs-nose-tx__slide 는 1열 그리드이고, flex 트랙이 세 슬라이드를
   가장 긴 슬라이드(1번) 높이로 맞춘다. 슬라이드의 auto 행이 align-content:normal
   (=stretch)로 남는 높이를 나눠 먹어 도해 행이 부풀고, 라벨바가 도해 아래에서
   떨어져 나온다. 실측 360px: 2번 슬라이드 14.3px · 3번 5.6px / 768px: 9.2px.
   (vibecheck L2 는 라벨바의 margin-top 만 재므로 이 형태를 못 잡는다)
   남는 높이를 행에 나눠주지 말고 슬라이드 아래에 그대로 두면 간격이 0 이 된다. */
@media (max-width: 1023px) {
  .fs-p-141 .fs-double-chin-lipo-tx .fs-nose-tx__slide { align-content: start; }
  .fs-p-141 .fs-double-chin-lipo-tx .fs-nose-tx__card  { align-content: start; }
}

/* --- F2 [접근성] 막대 안 숫자에 자기 배경을 준다 ------------------------
   흰 글자가 실제로 얹히는 면은 형제 .fs-double-chin-lipo-poll__fill 이라
   조상을 훑는 대비 계산기는 트랙의 흰 배경을 잡아 1:1 로 읽는다(qa.py 오탐).
   두 요소는 폭·위치가 완전히 같으므로 픽셀 변화 0 이고, 비율이 작아져
   숫자가 막대를 벗어나는 경우에도 글자 면이 유지된다. */
.fs-p-141 .fs-double-chin-lipo-poll__pct { background: var(--fs-teal-text); }

/* --- F3 [V70 E] 흰 카드 상자 → 헤어라인 2×2 ----------------------------
   #target 은 흰 섹션인데 .fs-card 배경도 흰색이라 상자가 애초에 보이지 않는다.
   (확정 시안 57 의 POINT 카드는 크림 밴드 위에 있다 — 흰 상자가 서는 조건이다)
   여기서는 밴드를 옮기는 대신 48 의 「상자 → 헤어라인 열」을 그대로 쓴다.
   가는 선만으로 사분면을 만들면 상자 없이도 구조가 읽힌다.
   선은 li(틸트 호스트)에 걸어 둔다 — 기울고 광택이 뜨는 것은 안쪽 .fs-card 이므로
   호버해도 칸의 경계는 제자리에 남는다(「프레임 고정」). */
.fs-p-141 .fs-double-chin-lipo-target__cards { gap: 0; }
.fs-p-141 .fs-double-chin-lipo-target__cards > li { position: relative; }
.fs-p-141 .fs-double-chin-lipo-target__cards > li + li::before {
  content: ""; position: absolute; z-index: 1;
  inset-inline: clamp(20px, 12.3px + 0.64vw, 30px); inset-block-start: 0;
  height: 1px; background: var(--fs-line-input);
}
@media (min-width: 600px) {
  /* 2열이 되면 2번 칸은 1행 오른쪽이라 위쪽 가로선이 필요 없다 */
  .fs-p-141 .fs-double-chin-lipo-target__cards > li:nth-child(2)::before { content: none; }
  .fs-p-141 .fs-double-chin-lipo-target__cards > li:nth-child(odd)::after {
    content: ""; position: absolute; z-index: 1;
    inset-block: clamp(20px, 12.3px + 0.64vw, 30px); inset-inline-end: 0;
    width: 1px; background: var(--fs-line-input);
  }
}

/* --- F4 [V70 D] 인접 3개 섹션이 전부 「좌 도해 / 우 글」이다 -------------
   #target · #combo · #velody 가 같은 축으로 이어져 스크롤 리듬이 단조롭다.
   #velody 를 뒤집으면 캐러셀의 흘림 슬라이드가 «잘린 글» 로 바뀌므로(LOCK 6)
   가운데의 #combo 만 PC 가로에서 축을 반전시킨다. */
@media (min-width: 1024px) {
  .fs-p-141 .fs-double-chin-lipo-combo { grid-template-columns: minmax(0, 640fr) minmax(0, 700fr); }
  .fs-p-141 .fs-double-chin-lipo-combo__out    { order: 1; }
  .fs-p-141 .fs-double-chin-lipo-combo__panels { order: 2; }
}

/* --- F5 섹션 제목 뒤 70px 틸 선 (48 에서 검증) --------------------------
   ★ 「.is-in 이면 보이기」로 짜면 첫 화면 제목의 선이 영원히 안 그어진다.
     fs.js 는 첫 화면 대상에 .fs-reveal 을 붙이지 않는다.
       기본을 「그어진 상태」로 두고 .fs-reveal:not(.is-in) 에만 초기 은닉을 건다.
   ★ 전환은 «is-in 쪽» 에만 건다. 기본 선언에 걸면 fs.js 가 .fs-reveal 을 붙이는
     순간 선이 «그어졌다 되감기는» 1.2초짜리 역모션이 한 번 보인다.
     은닉은 스냅으로, 그리기만 애니메이션으로. */
.fs-p-141 .fs-nose-head h2 { position: relative; }
.fs-p-141 .fs-nose-head h2::after {
  content: ""; display: block; width: 70px; height: 1px;
  margin-block-start: var(--fs-sp-4);
  background: var(--fs-teal);
  transform: scaleX(1); transform-origin: left center;
}
:root.fs-js .fs-p-141 :where(.fs-reveal:not(.is-in)) .fs-nose-head h2::after,
:root.fs-js .fs-p-141 :where(.fs-nose-head.fs-reveal:not(.is-in)) h2::after { transform: scaleX(0); }
:root.fs-js .fs-p-141 :where(.fs-reveal.is-in) .fs-nose-head h2::after,
:root.fs-js .fs-p-141 :where(.fs-nose-head.fs-reveal.is-in) h2::after {
  transition: transform var(--fs-dur-slow) var(--fs-ease-out) .5s;
}

/* --- F6 호버 — 프레임은 고정, 사진만 움직인다 (48 에서 검증) ------------
   그림자는 쓰지 않는다(2차 규칙). 임상 전후사진·의학 도해에는 걸지 않는다. */
.fs-p-141 .fs-double-chin-lipo-quote__media,
.fs-p-141 .fs-double-chin-lipo-target__photo { overflow: hidden; }
.fs-p-141 .fs-double-chin-lipo-quote__media img,
.fs-p-141 .fs-double-chin-lipo-target__photo img {
  transition: transform var(--fs-dur-slow) var(--fs-ease-out);
}
@media (hover: hover) and (pointer: fine) {
  .fs-p-141 .fs-double-chin-lipo-quote:hover .fs-double-chin-lipo-quote__media img,
  .fs-p-141 .fs-double-chin-lipo-target__photo:hover img { transform: scale(1.045); }
}

@media (prefers-reduced-motion: reduce) {
  .fs-p-141 .fs-nose-head h2::after { transition: none !important; transform: scaleX(1) !important; }
  .fs-p-141 .fs-double-chin-lipo-quote__media img,
  .fs-p-141 .fs-double-chin-lipo-target__photo img { transition: none !important; transform: none !important; }
}

/* ==========================================================================
   #concern 레이아웃 개편 (2026-08-28 승인자 지시 — 「이 세션 layout 자체가 마음에 안 들어」)
   전: 전폭 사진 배너 + 우하단에 제목이 얹히고, 그 아래 막대 4개가 2×2.
   실제 결함 —
     ① 사진이 «장식 배너» 가 되고 제목이 그 오른쪽 끝에 매달렸다
     ② 여론 비율(93·88·79·72)이 2×2 로 흩어져 «순위 비교» 가 안 된다. 막대 차트는 세로 한 줄이어야 읽힌다
     ③ 2×2 라 막대가 짧아져 93% 와 88% 의 길이 차가 안 보인다
   후: 좌 = 제목 + 사진(세로) / 우 = 막대 4개를 세로로 쌓아 순위로 읽힌다.
   ★ DOM 순서는 안 건드린다. .quote 안은 column-reverse 로, 바깥은 격자 배치로만 바꾼다.
   ========================================================================== */
@media (min-width: 1024px) {
  .fs-p-141 #concern > .fs-container {
    display: grid;
    grid-template-columns: minmax(0, 600fr) minmax(0, 760fr);
    column-gap: var(--fs-gap-col);
    align-items: start;
  }
  .fs-p-141 .fs-double-chin-lipo-quote {
    grid-column: 1;
    display: flex;
    flex-direction: column-reverse;   /* DOM 은 사진 → 제목. 화면은 제목 → 사진 */
    gap: var(--fs-gap-title);
  }
  .fs-p-141 .fs-double-chin-lipo-quote__media img {
    aspect-ratio: 4 / 5;
    object-position: 34% 34%;
  }
  .fs-p-141 .fs-double-chin-lipo-quote__copy {
    position: static;
    inset: auto;
    width: auto;
    text-align: start;
    padding-block-start: 0;
  }
  .fs-p-141 .fs-double-chin-lipo-poll {
    grid-column: 2;
    grid-template-columns: minmax(0, 1fr);
    margin-block-start: 0;
    gap: clamp(22px, 15px + 1.1vw, 40px);
    /* 좌측(제목+사진)이 훨씬 길다 — 막대를 위로 몰아 두면 우측 아래가 빈다.
       같은 높이로 늘려 사이를 고르게 벌린다. */
    align-self: stretch;
    align-content: space-between;
  }
  /* 한 열이 되어 막대가 길어진다 — 93% 와 88% 의 차이가 비로소 보인다 */
  .fs-p-141 .fs-double-chin-lipo-poll__item {
    grid-template-columns: clamp(96px, 76px + 2.6vw, 140px) minmax(0, 1fr);
    gap: clamp(18px, 12px + 0.9vw, 34px);
  }
}

/* ==========================================================================
   히어로 — 1mm 결 (2026-08-28 승인자 지시)
   전: 사진 밴드가 485px 원본이라 얕고, 카피가 오른쪽 아래 끝에 매달려 있었다.
   후: 풀블리드 인물(우) + 좌측에 카피 + 크림 스크림 + GNB 오버레이.
       110·114·134 와 같은 구조다.
   ★ alt(「회색 배경 앞에서 정면을 바라보는 여성 모델의 얼굴과 턱선」)을 지켜
     새 이미지도 회색 배경·정면·턱선이 드러나는 구도로 뽑았다. alt 변경 0건.
   ========================================================================== */
.fs-p-141 .fs-double-chin-lipo-hero {
  align-items: center;
  min-height: clamp(520px, 380px + 12vw, 720px);
  color: var(--fs-ink);
}
.fs-p-141 .fs-double-chin-lipo-hero .fs-hero__bg img { object-position: 72% 26%; }
/* 카피 뒤 크림 스크림 — 사진 노출은 그대로, 글자 뒤만 밝힌다 */
.fs-p-141 .fs-double-chin-lipo-hero .fs-hero__bg::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  background: linear-gradient(90deg,
    rgba(246,241,236,.92) 0%,
    rgba(246,241,236,.84) 26%,
    rgba(246,241,236,.58) 42%,
    rgba(246,241,236,.24) 58%,
    rgba(246,241,236,0)   78%);
}
.fs-p-141 .fs-double-chin-lipo-hero .fs-hero__inner { padding-block-end: 0; }
.fs-p-141 .fs-double-chin-lipo-hero .fs-hero__copy {
  position: relative;
  z-index: 2;
  justify-items: start;
  text-align: start;
  max-width: min(100%, 40ch);
}
.fs-p-141 .fs-double-chin-lipo-hero .fs-hero__kicker { color: var(--fs-teal-dk); font-weight: 700; }
.fs-p-141 .fs-double-chin-lipo-hero .fs-hero__title {
  color: var(--fs-ink);
  font-size: clamp(30px, 20px + 2.0vw, 56px);
  line-height: 1.08;
}
@media (max-width: 599px) {
  .fs-p-141 .fs-double-chin-lipo-hero { min-height: clamp(540px, 430px + 26vw, 660px); align-items: start; }
  .fs-p-141 .fs-double-chin-lipo-hero .fs-hero__bg img { object-position: center 28%; }
  /* 10-07 「모바일도 조금 위로 올려줘」(public-html-6d) — 모델 정수리가 화면 37%(202px)로 올라와 옛 스크림(0 지점 70%)이 머리를 반쯤 덮었다.
     카피는 누끼 바탕(아이보리) 위라 스크림이 필요 없다 → 헤더·카피 띠(위 20%)만 남기고 정수리 위(34%)에서 0 */
  .fs-p-141 .fs-double-chin-lipo-hero .fs-hero__bg::after {
    background: linear-gradient(180deg,
      rgba(246,241,236,.93) 0%,
      rgba(246,241,236,.80) 20%,
      rgba(246,241,236,0)   34%);
  }
  /* 같은 날 — 카피 위 여백 −10px(78 → 68 · 104 → 94): 리드 아래 끝 206 → 196, 올라온 머리(202)와 ~6px. 로고 아래 끝(≈48)과는 20px */
  .fs-p-141 .fs-double-chin-lipo-hero .fs-hero__inner { padding-block-start: clamp(68px, 52px + 4vw, 94px); }
}

/* GNB 를 사진 위로 — fs.css 의 --overlay 는 어두운 히어로 전제라 밝은 사진에서 대비가 뒤집힌다 */
.fs-p-141 .fs-header--overlay { color: var(--fs-ink); background: transparent; }
.fs-p-141 .fs-header--overlay::before {
  background: linear-gradient(180deg, rgba(246,241,236,.84) 0%, rgba(246,241,236,.46) 55%, rgba(246,241,236,0) 100%);
}
.fs-p-141 .fs-header--overlay .fs-gnb__link:hover,
.fs-p-141 .fs-header--overlay .fs-util__link:hover { color: var(--fs-teal-dk); opacity: 1; }

/* --- #target 모델컷 제거 + 카드 재배치 (2026-08-28 승인자 지시) -------------
   「이 세션에는 모델 이미지가 필요없을 듯. 빼고 가운데 정렬 다시 해줘」
   ★ DOM 에서 지우지 않는다 — alt 이 심의 문구라 삭제하면 R1 이 FAIL 이다.
   사진이 빠지면 2열 격자(520fr:820fr)의 왼쪽이 통째로 비므로 1열로 되돌리고,
   CASE 4장을 컨테이너 가운데에 폭을 잡아 세운다.
   ------------------------------------------------------------------------- */
.fs-p-141 .fs-double-chin-lipo-target__photo { display: none; }
.fs-p-141 .fs-double-chin-lipo-target {
  grid-template-columns: minmax(0, 1fr);
  justify-items: center;
}
.fs-p-141 .fs-double-chin-lipo-target__cards {
  width: min(100%, 1080px);
  margin-inline: auto;
}
/* 제목이 왼쪽에 남으면 섹션이 한쪽으로 읽힌다 — 축을 하나로 모은다 */
.fs-p-141 #target .fs-nose-head {
  justify-items: center;
  text-align: center;
}
.fs-p-141 #target .fs-nose-head h2::after { margin-inline: auto; }
@media (min-width: 1024px) {
  /* 112행의 2열 규칙을 되돌린다 */
  .fs-p-141 .fs-double-chin-lipo-target { grid-template-columns: minmax(0, 1fr); }
}


/* ==========================================================================
   [110] 이중턱 근육묶기 이관분 — 2026-09-10
   병원 요청 「141 이중턱 지방흡입 + 110 이중턱 근육묶기를 이중턱 하나로 합쳐줘」.
   110 의 8개 섹션(발생원인·자가진단·추천대상·수술과정·지방알갱이·B&A·특별함·주의사항)을
   141 로 옮기면서 CSS 도 이쪽으로 통합했다. 스코프 .fs-p-110 → .fs-p-141.
   110 전용 히어로(.fs-dcp-hero*) 규칙 19개는 141 히어로를 쓰게 되어 함께 걷어냈다.
   ========================================================================== */
/* ==========================================================================
   [110] 이중턱 근육묶기 — 페이지 전용 CSS
   모든 셀렉터는 .fs-p-141 스코프. 색은 --fs-* 토큰만 사용(새 hex 0개).
   전용 컴포넌트
     .fs-dcp-cause   A03  이중턱 발생원인 3분할 도해 카드
     .fs-dcp-check   A10  다크 밴드 자가진단 2군 사진 패널
     .fs-dcp-op      A12  수술과정 3스텝 도해 + 틸 커넥터
     .fs-dcp-grain   A05  ★시그니처 — 턱밑 단면 + 실사 지방알갱이 원형 인서트 + SVG 연결선
     .fs-dcp-merit   A07  포시즌만의 특별함 사진 룰 카드
     .fs-dcp-caution A23  수술 후 주의사항 좌 사진 / 우 번호 카드
   ========================================================================== */

.fs-p-141 { --fs-dcp-drop: clamp(48px, 24px + 2.5vw, 96px); }

/* --- A01 히어로 — 풀블리드 인물 (2026-08-28 개편) --------------------------
   전: 크림2 밴드 좌측 카피 + 우측 320px 세로 타일. 1440 실측에서 좌측 절반이
       빈 크림면이라 카피가 «떠 있고», 사진은 히어로가 아니라 삽화로 읽혔다.
   후: 확정 시안 메인과 같은 아키타입 — 사진이 화면 끝까지 깔리고 그 위에 카피.
       <figure> 를 그대로 배경으로 승격시켜 figcaption(라벨바)을 잃지 않는다.
       ★ 텍스트 노드·alt 는 하나도 건드리지 않았다. 이미지 «파일만» 교체했고
         alt 가 명시한 「그레이지 배경 · 고개를 돌려 턱선과 목선이 드러난」을 그대로 지켰다.
   --------------------------------------------------------------------------- */
/* ★ .fs-hero__inner 는 fs.css 에서 position:relative 다. 그대로 두면
   ① 타일의 inset:0 이 «컨테이너» 기준이 되어 풀블리드가 안 되고(1512px 에 갇힌다)
   ② 같은 스태킹 맥락에서 positioned 타일이 static 카피를 덮어 글자가 사라진다.
   → inner 를 static 으로 풀고, z 는 카피에 직접 준다. */
/* figure 를 히어로 배경으로 승격 */
/* 카피 뒤 크림 스크림 — 사진은 그대로 두고 «글자 뒤만» 밝힌다.
   실측: 스크림 없이는 그레이지(167,175,164) 위 --fs-teal-dk 가 3.07:1 로 AA 미달이었다.
   (킥커 «#두꺼비턱…» 과 리드 «지방은 쏙!빼고…» 가 틸이다)
   ::after 로 img 위·라벨바 아래에 깔아 사진의 노출 자체는 건드리지 않는다. */
@media (max-width: 599px) {
  /* 모바일은 카피가 위 — 스크림도 세로로 돌린다 */
}

/* 히어로 캡션 — 화면에서는 걷어낸다 (2026-08-28 승인자 지시).
   ★ DOM 에서 지우지 않는다. 「갸름한 얼굴과 슬림한 목라인」은 의료광고 심의를
     거친 문구라 삭제하면 R1 게이트가 FAIL 이다. fs.css 의 .fs-sr-only 와 같은
     방식으로 시각적으로만 숨기고 스크린리더·문서에는 그대로 남긴다.
     풀블리드 사진이 섹션 아래 끝까지 이어져 1mm 의 «끊김 없는 인물면» 이 된다. */

/* 헤더를 사진 위로 띄운다 — fs.css 의 --overlay 는 «어두운 히어로» 전제라
   흰 글자 + 검은 스크림이다. 이 히어로는 좌측이 밝은 그레이지라 그대로 쓰면
   회색 얼룩이 되고 대비도 뒤집힌다. 글자는 잉크로, 스크림은 흰색으로 되돌린다. */
.fs-p-141 .fs-header--overlay {
  color: var(--fs-ink);
  /* fs.css 의 --overlay 는 rgba(0,0,0,.14) 틴트를 깐다 — 어두운 히어로 전제다.
     밝은 그레이지 히어로에서는 그게 상단에 회색 띠로 보인다. 틴트는 걷고
     아래 크림 스크림만으로 글자 뒤를 받친다. */
  background: transparent;
}
.fs-p-141 .fs-header--overlay::before {
  background: linear-gradient(180deg, rgba(246,241,236,.82) 0%, rgba(246,241,236,.45) 55%, rgba(246,241,236,0) 100%);
}
.fs-p-141 .fs-header--overlay .fs-gnb__link:hover,
.fs-p-141 .fs-header--overlay .fs-util__link:hover { color: var(--fs-teal-dk); opacity: 1; }

@media (max-width: 599px) {
  /* 모바일은 세로컷 — 카피가 위, 인물이 아래 */
}

/* --- A03 발생원인 -------------------------------------------------------- */
.fs-p-141 .fs-dcp-cause__fig { display: grid; }
.fs-p-141 .fs-dcp-cause__fig img { display: block; width: 100%; height: auto; }
.fs-p-141 .fs-dcp-cause__col { display: grid; justify-items: start; gap: clamp(12px, 9.7px + 0.641vw, 22px); }
.fs-p-141 .fs-dcp-cause__col .fs-quote { margin-block-start: 2px; }
.fs-p-141 .fs-dcp-cause {
  display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--fs-gap-card);
  margin-block-start: var(--fs-gap-title);
}
.fs-p-141 .fs-dcp-cause > li { min-width: 0; }
@media (min-width: 600px) {
  .fs-p-141 .fs-dcp-cause { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
.fs-p-141 .fs-dcp-cause__card {
  display: grid; align-content: space-between; height: 100%;
  background: var(--fs-cream-2);
}
.fs-p-141 .fs-dcp-cause__top {
  display: grid; justify-items: center; gap: clamp(14px, 11.4px + 0.705vw, 25px);
  padding: clamp(18px, 14.5px + 0.962vw, 33px) var(--fs-sp-5);
}
.fs-p-141 .fs-dcp-cause__ill {
  display: block; width: clamp(88px, 63.7px + 6.7vw, 145px); height: auto;
}
.fs-p-141 .fs-dcp-cause__card .fs-labelbar { min-height: clamp(38px, 34px + 1.1vw, 52px); }

/* --- A10 자가진단 다크 밴드 ---------------------------------------------- */
.fs-p-141 .fs-dcp-check-sec { padding-block: var(--fs-sec-pb); }
.fs-p-141 .fs-dcp-check-sec .fs-section__bg img { opacity: .5; }
.fs-p-141 .fs-dcp-check__kicker { color: var(--fs-teal-neon); }
.fs-p-141 .fs-dcp-check-title { line-height: 1.19; margin-block-start: clamp(8px, 6px + 0.3vw, 14px); }
.fs-p-141 .fs-dcp-hl { color: var(--fs-ink); padding: 2px 10px; line-height: 1; }
.fs-p-141 .fs-dcp-check { margin-block-start: clamp(32px, 27.5px + 1.25vw, 51.5px); }
.fs-p-141 .fs-dcp-check__head { display: grid; gap: var(--fs-sp-6); align-items: end; }
.fs-p-141 .fs-dcp-check__head > * { min-width: 0; }
.fs-p-141 .fs-dcp-check__group { display: grid; justify-items: center; gap: var(--fs-sp-4); }
.fs-p-141 .fs-dcp-check__group > .fs-pill { margin-block-end: clamp(8px, 5px + 0.8vw, 17px); }
.fs-p-141 .fs-dcp-check__pair {
  display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 2px; width: 100%;
}
.fs-p-141 .fs-dcp-check__pair img {
  display: block; width: 100%; height: auto; aspect-ratio: 640 / 703; object-fit: cover;
}
.fs-p-141 .fs-dcp-check__group .fs-labelbar { width: 100%; }
.fs-p-141 .fs-dcp-check__note { margin-block-start: clamp(24px, 19.4px + 1.28vw, 44px); }
.fs-p-141 .fs-dcp-check .fs-compare__cell { min-height: clamp(56px, 48px + 2.2vw, 82px); }
.fs-p-141 .fs-dcp-check .fs-compare__cell--left,
.fs-p-141 .fs-dcp-check .fs-compare__cell--right { font-size: var(--fs-t-lead); line-height: 1.5; }
@media (min-width: 768px) {
  .fs-p-141 .fs-dcp-check__head { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--fs-gap-col); }
}
@media (min-width: 1024px) {
  .fs-p-141 .fs-dcp-check__head { grid-template-columns: minmax(0, 466fr) minmax(0, 554fr); }
}

/* --- A06 추천대상 -------------------------------------------------------- */
.fs-p-141 .fs-dcp-target { margin-block-start: var(--fs-gap-title); }
.fs-p-141 .fs-dcp-target__card { background: var(--fs-white); }
.fs-p-141 .fs-dcp-target__card .fs-card__icon img { width: 100%; height: 100%; object-fit: contain; }

/* --- A12 수술과정 -------------------------------------------------------- */
.fs-p-141 .fs-dcp-op {
  display: grid; grid-template-columns: minmax(0, 1fr);
  gap: clamp(28px, 22.5px + 1.5vw, 52px);
  margin-block-start: var(--fs-gap-title);
}
.fs-p-141 .fs-dcp-op__step {
  position: relative; display: grid; justify-items: center;
  gap: clamp(14px, 11.4px + 0.705vw, 25px); min-width: 0;
}
.fs-p-141 .fs-dcp-op__fig { display: grid; width: 100%; }
.fs-p-141 .fs-dcp-op__box {
  display: block; background: var(--fs-cream-2); padding: clamp(8px, 6px + 0.5vw, 16px);
}
.fs-p-141 .fs-dcp-op__box img { display: block; width: 100%; height: auto; }
.fs-p-141 .fs-dcp-op__text { text-align: center; }
/* 스텝 커넥터 — 틸 막대 (MO 세로 / PC 가로) */
.fs-p-141 .fs-dcp-op__step + .fs-dcp-op__step::before {
  content: ""; position: absolute; background: var(--fs-teal);
  inset-block-start: calc(-1 * clamp(20px, 16px + 1.1vw, 36px));
  inset-inline-start: 50%; width: 3px; height: clamp(14px, 11px + 0.8vw, 24px);
  transform: translateX(-50%);
}
@media (min-width: 768px) {
  .fs-p-141 .fs-dcp-op { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .fs-p-141 .fs-dcp-op__step + .fs-dcp-op__step::before {
    inset-block-start: clamp(60px, 40px + 2.6vw, 100px);
    inset-inline-start: calc(-1 * clamp(20px, 16px + 1.1vw, 36px));
    width: clamp(14px, 11px + 0.8vw, 24px); height: 3px; transform: none;
  }
}

/* --- A05 ★시그니처 : 지방알갱이 인서트 ----------------------------------- */
.fs-p-141 .fs-dcp-grain { padding-block-end: clamp(52px, 48px + 1.1vw, 66px); }
.fs-p-141 .fs-dcp-grain__stage { position: relative; width: 100%; }
.fs-p-141 .fs-dcp-grain__anat { display: block; width: 59.5%; height: auto; }
.fs-p-141 .fs-dcp-grain__lens {
  position: absolute; inset-block-start: 35.17%; inset-inline-start: 49.15%;
  width: 50.85%; margin: 0;
}
.fs-p-141 .fs-dcp-grain__lens img { display: block; width: 100%; height: auto; }
.fs-p-141 .fs-dcp-grain__lens .fs-labelbar { min-height: clamp(34px, 30px + 1.1vw, 48px); }
.fs-p-141 .fs-dcp-grain__link {
  position: absolute; inset-block-start: 0; inset-inline-start: 0;
  width: 59.5%; height: auto; aspect-ratio: 1; color: var(--fs-teal-dk); pointer-events: none;
}
.fs-p-141 .fs-dcp-grain__col { display: grid; justify-items: start; gap: clamp(12px, 9.7px + 0.641vw, 22px); }

/* --- A14 전후 사례 ------------------------------------------------------- */
.fs-p-141 .fs-dcp-ba-sec { padding-block: var(--fs-sec-pb); }
.fs-p-141 .fs-nose-ba .fs-ba__pair { gap: 2px; }

/* --- A07 포시즌만의 특별함 ----------------------------------------------- */
.fs-p-141 .fs-dcp-merit { margin-block-start: var(--fs-gap-title); }
.fs-p-141 .fs-dcp-merit__card { display: grid; align-content: start; gap: 0; min-width: 0; }
.fs-p-141 .fs-dcp-merit__fig { display: grid; }
.fs-p-141 .fs-dcp-merit__fig img { display: block; width: 100%; height: auto; }
.fs-p-141 .fs-dcp-merit__body {
  display: grid; gap: var(--fs-sp-3);
  border-inline-start: 2px solid var(--fs-teal);
  padding: var(--fs-sp-5) var(--fs-sp-5) 0;
}
.fs-p-141 .fs-dcp-merit__card .fs-labelbar { min-height: clamp(38px, 34px + 1.1vw, 52px); }

/* --- A23 수술 후 주의사항 ------------------------------------------------ */
.fs-p-141 .fs-dcp-caution__aside { display: grid; justify-items: start; gap: clamp(14px, 11.4px + 0.705vw, 25px); }
.fs-p-141 .fs-dcp-caution__fig { display: grid; width: 100%; margin-block-start: var(--fs-sp-3); }
.fs-p-141 .fs-dcp-caution__fig img { display: block; width: 100%; height: auto; }
.fs-p-141 .fs-dcp-caution__list { align-content: start; }
.fs-p-141 .fs-dcp-caution__list .fs-card--rule { background: var(--fs-white); }
@media (min-width: 1024px) {
  .fs-p-141 .fs-dcp-caution__list .fs-card--rule {
    grid-template-columns: auto minmax(0, 1fr); align-items: start;
  }
  .fs-p-141 .fs-dcp-caution__list .fs-card__num { padding-block-start: 2px; }
}

/* --- 모션 무효화 (새 모션 없음 — 레이아웃 동일 보장) --------------------- */
@media (prefers-reduced-motion: reduce) {
  .fs-p-141 .fs-dcp-grain__lens,
  .fs-p-141 .fs-dcp-cause__card { transform: none !important; opacity: 1 !important; }
}

/* --- A12 마무리 : 지방흡입 × 근육묶기 배지 ------------------------------- */
.fs-p-141 .fs-dcp-duo {
  display: grid; justify-content: center; align-items: stretch;
  grid-template-columns: minmax(0, 220px) auto minmax(0, 220px);
  gap: clamp(10px, 6px + 1.1vw, 26px);
  margin-block-start: clamp(34px, 27px + 1.9vw, 64px);
}
.fs-p-141 .fs-dcp-duo__item { display: grid; grid-template-rows: auto 1fr; justify-items: center; gap: var(--fs-sp-4); width: 100%; }
.fs-p-141 .fs-dcp-duo__disc {
  display: grid; place-items: center;
  width: clamp(112px, 78px + 9.4vw, 192px); aspect-ratio: 1;
  border: 2px solid var(--fs-teal);
  border-radius: var(--fs-radius-round);
  background: var(--fs-cream-2);
}
.fs-p-141 .fs-dcp-duo__ill { display: block; width: 58%; height: auto; }
.fs-p-141 .fs-dcp-duo__item .fs-labelbar { width: 100%; }
.fs-p-141 .fs-dcp-duo__x {
  display: grid; place-items: center; align-self: start; color: var(--fs-ink-soft);
  width: clamp(20px, 14px + 1.7vw, 34px); aspect-ratio: 1;
  margin-block-start: clamp(46px, 32px + 3.9vw, 79px);
}
.fs-p-141 .fs-dcp-duo__x svg { width: 100%; height: 100%; }
.fs-p-141 .fs-dcp-duo__note {
  margin-block-start: clamp(20px, 15px + 1.4vw, 40px); color: var(--fs-teal-dk); font-weight: 600;
}

/* --- 다크 밴드 고스트 (D6) ------------------------------------------------ */
.fs-p-141 .fs-dcp-check__ghost {
  display: none; position: absolute; z-index: -1; pointer-events: none;
  inset-block-start: 6%; inset-inline-end: 0;
  width: clamp(220px, 120px + 11vw, 330px); height: auto;
  opacity: .18;
}
@media (min-width: 1200px) { .fs-p-141 .fs-dcp-check__ghost { display: block; } }

/* --- 특별함 섹션 고스트 (D6) --------------------------------------------- */
.fs-p-141 .fs-dcp-merit-sec { overflow: hidden; }
.fs-p-141 .fs-dcp-merit__ghost {
  display: none; position: absolute; z-index: -1; pointer-events: none;
  inset-block-start: 4%; inset-inline-start: 0;
  width: clamp(180px, 90px + 9.4vw, 280px); height: auto;
  opacity: .10;
}
@media (min-width: 1200px) { .fs-p-141 .fs-dcp-merit__ghost { display: block; } }

/* ==========================================================================
   ▼▼▼ 진단·수정 패스 — 2026-08-27
   1920 / 1024 / 768 / 360 렌더 실측으로 잡은 결함만 고친다.
   마크업·문구 변경 0건(R1). 새 색 0개 — 기존 --fs-* 토큰만 쓴다.
   ========================================================================== */

/* --------------------------------------------------------------------------
   1. [LOCK 2 · 폭 조항] 「지방흡입 × 근육묶기」 배지 — 바가 도해보다 넓고 떠 있다
      실측(1920) 원 도해 192px · 라벨바 220px · 그 사이 13px.
      바가 도해보다 넓고 떨어져 있으면 «띠 위에 동그라미가 얹힌» 모양으로 읽힌다
      (vibecheck L2 는 margin-top·border-top 만 재므로 이건 안 잡힌다).
      이 페이지가 이미 쓰는 A03 원인 카드와 같은 형태로 맞춘다 —
      크림2 패널 안에 도해를 담고, 라벨바는 패널 폭 그대로 바닥에 붙인다.
   -------------------------------------------------------------------------- */
.fs-p-141 {
  --fs-dcp-duo-r:   clamp(112px, 78px + 9.4vw, 192px);   /* 원 도해 지름 = 기존 값 */
  --fs-dcp-duo-x:   clamp(20px, 14px + 1.7vw, 34px);     /* × 아이콘 크기 = 기존 값 */
  --fs-dcp-duo-pad: clamp(14px, 10.6px + 0.9vw, 28px);
}
.fs-p-141 .fs-dcp-duo__item {
  gap: var(--fs-dcp-duo-pad);
  padding-block-start: var(--fs-dcp-duo-pad);
  background: var(--fs-cream-2);
}
.fs-p-141 .fs-dcp-duo__disc { width: var(--fs-dcp-duo-r); }
/* × 는 패널이 생긴 뒤에도 원의 세로 중심에 온다 */
.fs-p-141 .fs-dcp-duo__x {
  margin-block-start: calc(var(--fs-dcp-duo-pad) + (var(--fs-dcp-duo-r) - var(--fs-dcp-duo-x)) / 2);
}

/* --------------------------------------------------------------------------
   2. [구조] 자가진단 2군 패널이 위로 어긋나고 아래 비교표와 열이 안 맞는다
      실측 1024 = 필 1635 vs 1679 (44px) · 1920 = 2117 vs 2163 (46px).
      원인: head 를 466fr : 554fr(=90+464) 로 잡아 놓고 그 사이에
      --fs-gap-col(40px) 을 넣어 실제 열이 447.7 : 532.3 이 됐다.
      바로 아래 .fs-compare__row 는 466px | 90px | 464px 이므로 열이 어긋난다.
      → head 를 비교표와 «같은» 3열로 잡고 가운데(90px) 를 비운다.
        두 군의 사진 폭이 466:464 로 같아져 필·사진·라벨바가 한 줄에 선다.
   -------------------------------------------------------------------------- */
@media (min-width: 1024px) {
  .fs-p-141 .fs-dcp-check__head {
    grid-template-columns: minmax(0, 466fr) 90px minmax(0, 464fr);
    column-gap: 0;
  }
  .fs-p-141 .fs-dcp-check__group:nth-child(1) { grid-column: 1; }
  .fs-p-141 .fs-dcp-check__group:nth-child(2) { grid-column: 3; }
}

/* --------------------------------------------------------------------------
   3. [V70 · E] 추천대상 — 크림 밴드 위 흰 카드 4장이 «상자의 나열» 로 읽힌다
      게다가 .fs-card--square 가 1920 에서 345px 정사각을 강제해 카드마다
      아래쪽 약 66px 가 빈다. 상자를 지우고 세로 헤어라인으로만 나눈다.
      ★ 배경을 지웠으면 틸트도 같이 꺼야 한다 — 담을 흰 상자가 없으면
        fs.js 가 주입하는 .fs-tilt__gloss 가 크림 밴드 위 «흰 얼룩» 이 되고
        3D 회전이 프레임 없는 글자를 통째로 기울인다.
        헤드리스는 FINE_POINTER 게이트에 걸려 스크린샷에 안 잡힌다.
   -------------------------------------------------------------------------- */
@media (min-width: 1024px) {
  .fs-p-141 .fs-dcp-target { gap: 0; }
  .fs-p-141 .fs-dcp-target > li { position: relative; }
  .fs-p-141 .fs-dcp-target > li + li::before {
    content: "";
    position: absolute;
    inset-block: clamp(10px, 0.8vw, 18px);
    inset-inline-start: 0;
    width: 1px;
    background: var(--fs-line-input);
  }
  .fs-p-141 .fs-dcp-target__card {
    background: transparent;
    aspect-ratio: auto;                 /* .fs-card--square 정사각 강제 해제 */
    padding-inline: clamp(24px, 1.8vw, 40px);
  }
  .fs-p-141 .fs-dcp-target .fs-tilt__inner { transform: none !important; }
  .fs-p-141 .fs-dcp-target .fs-tilt__gloss { opacity: 0 !important; }
}

/* --------------------------------------------------------------------------
   4. [반응형] 특별함 3장이 태블릿에서 마지막 줄에 1장만 남는다
      실측 768·900 — .fs-grid--3 이 2열이 되어 3번 카드가 왼쪽 아래 홀로 떨어진다.
      48 의 「3단은 태블릿에서도 3열을 유지한다」와 같은 처방 — 3 특별함은
      병렬 항목이라 한 장만 키우면 없던 위계가 생긴다. 사진은 재크롭하지 않는다.
   -------------------------------------------------------------------------- */
@media (min-width: 600px) and (max-width: 1023px) {
  .fs-p-141 .fs-dcp-merit { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

/* --------------------------------------------------------------------------
   5. [마이크로] 섹션 제목 뒤 70px 틸 선 (48 검증분)
      ★ «.is-in 이면 보이기» 로 짜면 첫 화면 제목의 선이 영원히 안 그어진다.
        fs.js 는 첫 화면 대상에 .fs-reveal 클래스 자체를 안 붙인다.
        → 기본을 「그어진 상태」로 두고 .fs-reveal:not(.is-in) 에만 초기 은닉.
      가운데정렬 제목(자가진단·추천대상·B&A·특별함)에는 걸지 않는다.
   -------------------------------------------------------------------------- */
.fs-p-141 .fs-dcp-cause__col h2,
.fs-p-141 .fs-dcp-op-sec .fs-nose-head h2,
.fs-p-141 .fs-dcp-grain__col h2,
.fs-p-141 .fs-dcp-caution__aside h2 { position: relative; }

.fs-p-141 .fs-dcp-cause__col h2::after,
.fs-p-141 .fs-dcp-op-sec .fs-nose-head h2::after,
.fs-p-141 .fs-dcp-grain__col h2::after,
.fs-p-141 .fs-dcp-caution__aside h2::after {
  content: "";
  display: block;
  width: 70px;
  height: 1px;
  margin-block-start: var(--fs-sp-4);
  background: var(--fs-teal);
  transform: scaleX(1);
  transform-origin: left center;
  transition: transform var(--fs-dur-slow) var(--fs-ease-out) .5s;
}
:root.fs-js .fs-p-141 h2.fs-reveal:not(.is-in)::after,
:root.fs-js .fs-p-141 .fs-reveal:not(.is-in) h2::after { transform: scaleX(0); }

/* --------------------------------------------------------------------------
   6. [마이크로] 호버 — 프레임은 고정, 사진만 scale(1.045). 그림자는 쓰지 않는다.
      해부도·수술기법 도해(원인 카드·수술과정 도해)에는 걸지 않는다.
   -------------------------------------------------------------------------- */
/* ★ 히어로는 뺐다 — 풀블리드 배경이 된 뒤로는 호버 확대가
   「첫 화면 전체가 움찔하는」 동작이 된다. */
.fs-p-141 .fs-dcp-merit__fig { overflow: hidden; }

.fs-p-141 .fs-dcp-merit__fig img,
.fs-p-141 .fs-dcp-caution__fig .fs-doctor__frame img {
  transition: transform var(--fs-dur-slow) var(--fs-ease-out);
}

@media (hover: hover) and (pointer: fine) {
  .fs-p-141 .fs-dcp-merit__card:hover .fs-dcp-merit__fig img,
  .fs-p-141 .fs-dcp-caution__fig:hover .fs-doctor__frame img { transform: scale(1.045); }

  /* 라벨바는 사진과 함께 커지면 안 된다 — 글자가 흔들린다. 색만 한 단계. */
  .fs-p-141 .fs-dcp-merit__card:hover .fs-labelbar,
  .fs-p-141 .fs-dcp-caution__fig:hover .fs-labelbar {
    background: var(--fs-teal-dk);
    transition: background var(--fs-dur) var(--fs-ease);
  }
}

/* --------------------------------------------------------------------------
   7. [구조] 특별함 섹션 고스트가 «회색 사각형» 으로 읽힌다
      merit-ghost.jpg 는 검은 배경 + 밝은 인물이다. 흰 밴드 위에 10% 로 얹으면
      정작 인물은 흰색에 묻혀 사라지고 검은 배경만 rgb(229,229,229) 회색 면으로
      남아 첫 카드 왼쪽 위로 삐져나온 하드엣지 사각형이 된다(실측).
      명암을 뒤집어 배경을 흰색(=밴드와 같은 색)으로, 인물만 옅은 회색으로 만든다.
      새 색은 없다 — grayscale 을 먼저 걸어 무채색 반전으로만 쓴다.
   -------------------------------------------------------------------------- */
.fs-p-141 .fs-dcp-merit__ghost {
  filter: grayscale(1) invert(1);
  opacity: .16;
}

/* --------------------------------------------------------------------------
   8. reduced-motion — 위에서 새로 얹은 모션을 전부 정지 상태로 확정
   -------------------------------------------------------------------------- */
@media (prefers-reduced-motion: reduce) {
  .fs-p-141 .fs-dcp-cause__col h2::after,
  .fs-p-141 .fs-dcp-op-sec .fs-nose-head h2::after,
  .fs-p-141 .fs-dcp-grain__col h2::after,
  .fs-p-141 .fs-dcp-caution__aside h2::after {
    transform: scaleX(1) !important;
    transition: none !important;
  }
  .fs-p-141 .fs-dcp-merit__fig img,
  .fs-p-141 .fs-dcp-caution__fig .fs-doctor__frame img {
    transition: none !important;
    transform: none !important;
  }
}

/* ==========================================================================
   ▼▼▼ 2026-09-14 · 카테고리 틴트 2단계 — 윤곽성형 = 아이보리 #F1EADC (fs.css «카테고리 틴트» 블록 + body.fs-cat-contour)
   공용 블록이 헤더 뒤 바탕·히어로 바탕·메뉴 안개(연한색 #FBF9F4)·글자 후광을 정한다. 여기서는 사진에 맞춘 «위치» 만.
   사진: i2i «인물·프레이밍 그대로, 왼쪽 #F1EADC → 모델 뒤 연한 민트 #DFF1E8 글로우(61 의 원래 배경 계열, 승인자 지시),
   gradually … wide feathered falloff, no split» → hero-duo(-mo).jpg (모바일은 데스크톱 결과의 크롭). 모델 x 56~86%. 이 장은 크림 스크림(246,241,236)이 이미 있다 — 같은 스톱으로 틴트로만. 모바일(≤599) 세로 스크림도 틴트.
   ========================================================================== */

.fs-p-141 .fs-double-chin-lipo-hero .fs-hero__bg::after {
  background: linear-gradient(90deg,
    rgba(var(--fs-cat), .92) 0%, rgba(var(--fs-cat), .84) 26%, rgba(var(--fs-cat), .58) 42%, rgba(var(--fs-cat), .24) 58%, rgba(var(--fs-cat), 0) 78%);
}
@media (max-width: 599px) {
  .fs-p-141 .fs-double-chin-lipo-hero .fs-hero__bg::after {
    background: linear-gradient(180deg,
      rgba(var(--fs-cat), .93) 0%, rgba(var(--fs-cat), .80) 30%, rgba(var(--fs-cat), .28) 52%, rgba(var(--fs-cat), 0) 70%);
  }
}

/* ==========================================================================
   ▼▼▼ 2026-09-17 · 승인자 「이 히어로도 규정(81 코재수술 포맷)에 맞게」 — 영문 시술명 킥커 → 한글 시술명 제목 → 줄 → 리드(기존 한국어 문구).
   값은 81.css 1절: 킥커 21/500/.02em · 제목 58/700/1.22 · 요소 간격 10px · 줄 아래 8px · 리드 20/1.5/#111. 사진·위치·스크림은 그대로.
   ========================================================================== */
.fs-p-141 .fs-double-chin-lipo-hero .fs-hero__copy { gap: var(--fs-sp-3); }
.fs-p-141 .fs-double-chin-lipo-hero .fs-hero__copy { max-width: min(100%, 40rem); }
.fs-p-141 .fs-double-chin-lipo-hero .fs-hero__kicker {
  font-family: inherit; font-size: clamp(15px, 13.5px + 0.42vw, 21px);
  letter-spacing: 0.02em; font-weight: 500; line-height: 1.25; color: var(--fs-teal-dk);
}
.fs-p-141 .fs-double-chin-lipo-hero .fs-hero__title {
  font-size: clamp(30px, 21.4px + 2.39vw, 58px);
  font-weight: 700; line-height: 1.22; color: var(--fs-ink);
}
.fs-p-141 .fs-double-chin-lipo-hero__rule { margin-block-end: var(--fs-sp-2); }
.fs-p-141 .fs-double-chin-lipo-hero .fs-double-chin-lipo-hero__lead { max-width: 34em; font-size: var(--fs-t-lead); font-weight: 400; line-height: 1.5; color: var(--fs-ink); }


/* ==========================================================================
   ▼▼▼ 2026-10-07 · 병원 「리뷰티 수정(이중턱).pptx」 16장 반영 — 계획 _design/PLAN-141-1007-pptx.md
   섹션 순서 = 슬라이드 순서(발생원인 → 지방알갱이 → 시술대상 → Solution 1 → 벨로디 → Solution 2 → 자가진단 → 수술과정 → 전후 → 특별함 → 주의사항).
   승인자 「전후 합치고 문구는 계속 써오던 전후 섹션 문구로 · 붙여써(이중턱지방흡입) · 배경 밝게 · 2 섹션 추가하고 비슷하게 · 우선 알아서」.
   마크업 _src/gen/141-pptx/restructure.py · 백업 _src/build/backup-141-1007-pptx/
   ========================================================================== */

/* --- 발생원인(슬 3) — 사진·제목(h2 는 sr-only)을 걷어 글 한 덩어리를 가운데로. 원인 카드는 아이콘 없이 글 상자를 키운다 */
.fs-p-141 .fs-dcp-cause__intro { display: grid; justify-items: center; text-align: center; }
.fs-p-141 .fs-dcp-cause__intro .fs-dcp-cause__col { justify-items: center; }
.fs-p-141 .fs-dcp-cause__top { padding-block: clamp(16px, 13px + .8vw, 26px) 0; }
.fs-p-141 .fs-dcp-cause__card .fs-labelbar {
  min-height: clamp(76px, 62px + 3.6vw, 120px);
  margin-block-start: clamp(14px, 11px + .8vw, 24px);
  padding-inline: var(--fs-sp-5);
  font-size: var(--fs-t-lead); font-weight: 700; line-height: 1.4;
  text-wrap: balance;
}

/* --- 시술대상(슬 6) — 「CASE 0N + 한 줄」 테두리 글줄 2열(144 시술대상과 같은 형식 · 참고 레이아웃에 사진이 없어 인물컷은 뺐다) */
.fs-p-141 .fs-dcl-targets {
  display: grid; grid-template-columns: minmax(0, 1fr);
  gap: clamp(10px, 8.2px + .51vw, 18px) var(--fs-gap-card);
  margin: var(--fs-gap-title) 0 0; padding: 0; list-style: none;
}
@media (min-width: 1024px) {
  .fs-p-141 .fs-dcl-targets { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
.fs-p-141 .fs-dcl-target {
  display: flex; align-items: baseline; gap: clamp(12px, 9.3px + .75vw, 24px);
  padding: clamp(16px, 13.3px + .75vw, 28px) clamp(18px, 13.5px + 1.25vw, 36px);
  border: 1px solid var(--fs-teal); background: var(--fs-white);
}
.fs-p-141 .fs-dcl-target__num {
  flex: none; min-inline-size: 4.6em;
  font-family: var(--fs-font-en); font-size: var(--fs-t-sm); font-weight: 700; color: var(--fs-teal-text);
}
.fs-p-141 .fs-dcl-target__text {
  font-size: var(--fs-t-body); font-weight: 500; line-height: var(--fs-lh-body); color: var(--fs-ink);
  word-break: keep-all; text-wrap: balance;
}
@media (max-width: 599px) {
  .fs-p-141 .fs-dcl-target { flex-direction: column; align-items: flex-start; gap: 2px; }
  .fs-p-141 .fs-dcl-target__num { min-inline-size: 0; }
}

/* --- Solution 1·2(슬 7·10) — 머리는 가운데. 사진 두 장을 가운데에 두고 설명은 각 사진 아래(왼쪽 아이콘 목록은 삭제).
       항목 상자를 display:contents 로 풀어 1행 = 사진·기호·사진, 2행 = 설명 — 기호가 사진 높이의 가운데에 선다. +·→ 는 채운 원으로 굵게 */
.fs-p-141 .fs-dcl-sol__head { justify-items: center; text-align: center; }
.fs-p-141 .fs-dcl-sol__head h2::after { margin-inline: auto; transform-origin: center; }
.fs-p-141 .fs-double-chin-lipo-combo.fs-dcl-sol { grid-template-columns: minmax(0, 1fr); }
.fs-p-141 .fs-dcl-sol .fs-double-chin-lipo-combo__panels {
  inline-size: min(100%, 1080px); margin-inline: auto; row-gap: var(--fs-sp-4);
}
.fs-p-141 .fs-dcl-sol__item { display: contents; }
.fs-p-141 .fs-dcl-sol__desc {
  font-size: var(--fs-t-lead); line-height: 1.6; text-align: center;
  word-break: keep-all; text-wrap: balance;
}
.fs-p-141 .fs-dcl-sol .fs-double-chin-lipo-combo__plus {
  inline-size: clamp(44px, 37px + 1.8vw, 64px); block-size: clamp(44px, 37px + 1.8vw, 64px);
  background: var(--fs-teal-text); border-color: var(--fs-teal-text); color: var(--fs-white);
}
.fs-p-141 .fs-dcl-sol .fs-double-chin-lipo-combo__plus svg { inline-size: 52%; block-size: 52%; }
@media (max-width: 599px) {
  .fs-p-141 .fs-dcl-sol__desc { margin-block-end: var(--fs-sp-4); }
}
@media (min-width: 600px) {
  .fs-p-141 .fs-dcl-sol__item:first-child > figure { grid-column: 1; grid-row: 1; }
  .fs-p-141 .fs-dcl-sol__item:first-child > .fs-dcl-sol__desc { grid-column: 1; grid-row: 2; }
  .fs-p-141 .fs-dcl-sol .fs-double-chin-lipo-combo__plus { grid-column: 2; grid-row: 1; }
  .fs-p-141 .fs-dcl-sol__item:last-child > figure { grid-column: 3; grid-row: 1; }
  .fs-p-141 .fs-dcl-sol__item:last-child > .fs-dcl-sol__desc { grid-column: 3; grid-row: 2; }
}
/* Solution 2 — 전후를 다시 나눠 앞이 흰 섹션(지방흡입 전후)이 되어 크림2 밴드로 바꿨다. 사진 상자는 Solution 1 처럼 흰색(기본값) */
.fs-p-141 .fs-dcl-sol2-sec .fs-double-chin-lipo-combo__box img { object-fit: cover; }

/* --- 벨로디Ⅱ(슬 8) — 옆으로 넘기는 캐러셀을 풀어 세 효과를 세로로 나란히. 필 삭제 */
.fs-p-141 .fs-dcl-velody__rows {
  display: grid; gap: 0;
  margin: var(--fs-gap-title) 0 0; padding: 0; list-style: none;
}
.fs-p-141 .fs-dcl-velody__row + .fs-dcl-velody__row {
  margin-block-start: clamp(28px, 21px + 1.9vw, 56px);
  padding-block-start: clamp(28px, 21px + 1.9vw, 56px);
  border-block-start: 1px solid var(--fs-line-input);
}

/* --- 자가진단(슬 12) — 배경을 한 단계 밝게(#3C3D3F → 웜 그레이, 흰 글자 4.5:1 이상 유지), 제목 상자 해제(흰 글자), 의료진 사진 삭제,
       「수술이 필요한 경우」 를 피치 강조색으로(필 · 사진 테두리 · 라벨바 · 비교 칸) — 「필요없는 경우」 는 그대로 두어 대비를 만든다 */
.fs-p-141 .fs-dcp-check-sec { background: #6E6762; }
.fs-p-141 .fs-dcp-check-sec .fs-section__bg img { opacity: .2; }
.fs-p-141 .fs-dcp-check__kicker { color: var(--fs-white); }
.fs-p-141 .fs-dcp-check-title__sub { color: var(--fs-white); }
.fs-p-141 .fs-dcp-check__pill--need { background: var(--fs-teal-neon); color: var(--fs-ink); font-weight: 700; }
.fs-p-141 .fs-dcp-check__group--need .fs-dcp-check__pair { outline: 3px solid var(--fs-teal-neon); }
.fs-p-141 .fs-dcp-check__group--need .fs-labelbar { background: var(--fs-teal-neon); color: var(--fs-ink); font-weight: 700; }
.fs-p-141 .fs-dcp-check .fs-compare__cell--left.fs-dcp-check__cell--need { background: var(--fs-teal-neon); color: var(--fs-ink); }
.fs-p-141 .fs-dcp-check .fs-compare__cell--right { background: rgba(255, 255, 255, .14); color: var(--fs-white); }

/* --- 전후사진(슬 9·14) — 두 섹션을 하나로(지방흡입 2 + 지방흡입&근육묶기 3). 머리글은 81·131 형식, 주의문은 사진 아래 */
.fs-p-141 .fs-dcl-ba__notes { display: grid; gap: 2px; margin-block-start: clamp(20px, 16px + 1vw, 32px); }

/* --- 히어로(슬 1·2) — 새 모델: 하늘색 원본을 오려 윤곽 톤(아이보리 + 모델 뒤 민트)에 얹었다(_src/gen/141-pptx/hero_build.py).
       ≥600 은 아래 정렬 — 목이 아래 변에 닿고 정수리는 1920 에서 헤더 바로 밑(110px). 600~1023 은 세로 모바일 사진 대신 가로 사진
       (<source> 경계 1023 → 599): 세로 사진은 그 폭에서 이마 띠만 보였다. <600 은 기존 위치(center 28%)로 카피 아래에 머리가 선다 */
@media (min-width: 600px) {
  .fs-p-141 .fs-double-chin-lipo-hero .fs-hero__bg img { object-position: 68% 100%; }
}
/* 10-07 오후(public-html-6d) — 승인자 「히어로, 피피티처럼 조정 · 피피티에서는 어깨 밑으로 더 있잖아」 → hero-1007b(_src/gen/141-pptx/hero_build_b.py):
   원본 바닥까지(끈 원피스·쇄골) 보이고, 캔버스를 4800x1200(4:1)로 넓혀 cover 가 늘 «높이 맞춤» — 모델 크기가 화면 폭이 아니라 히어로 높이를 따른다
   (2560x1440 이면 1024 에서 머리 93px 로 줄었다). 머리 가운데 = 캔버스 68% = object-position 68%.
   600~767 만 63% — 68% 면 600 에서 머리카락이 리드 문장 끝(x331)을 56px 덮는다. 63% 는 글 끝과 18px 띄우고 얼굴 오른쪽은 화면 안 16px.
   같은 날 후속 「이미지 자연스럽게 연장해서 해줘」(왼쪽 어깨가 바탕으로 녹아 보이던 것) → hero-1007c: 원본 왼쪽을 워커 아웃페인트(gen#669)로 900px 이어 그려
   어깨·위팔이 끊김 없이 내려온다(_src/gen/141-pptx/ext/extend.py · hero_build_c.py). 배치·크기는 b 와 같다.
   이어 「아직 밑에 연장 덜 된 부분이 있어」(오른쪽 아래 어깨가 프레임에서 녹아 끊김) → hero-1007d: 워커는 장면을 다시 그려 못 쓰고(gen 670·671),
   프레임 안 어깨 윤곽을 2차로 맞춰 프레임 밖 81px 까지 잇고 같은 행 피부색으로 채웠다(ext/extend_r_contour.py · hero_build_d.py). 양쪽 녹이기 없음.
   이어 「모델 조금 더 사이즈 크게. 위치는 고정하고」 → hero-1007e: 배율 ×1.15, 정수리(캔버스 19%)·머리 가운데(68%)를 같은 점에 묶고 키움(hero_build_e.py) —
   아래는 캔버스 밖으로 더 잘려 끈·어깨까지(PC 원본 ~4250 · 모바일 ~3850).
   이어 「모델위치는 조금 위로 올려줘」 → PC 만 hero-1007f: 정수리 캔버스 19% → 13%(1920 ≈37px · 1024 ≈31px 위, 메뉴 글자 아래 ~20px), 크기·가로 위치 그대로.
   모바일은 카피 바로 밑이라 e 판 그대로. og:image 도 첫 판(hero-1007.jpg)에서 이 판의 1200x630 크롭(og-1007f.jpg)으로.
   이어 「모바일도 조금 위로 올려줘」 → 모바일 hero-1007g-mo(정수리 화면 224 → 202px · hero_build_g.py) + 모바일 카피 위 여백 −10px · 스크림 0 지점 70% → 34%(390행 블록). */
@media (min-width: 600px) and (max-width: 767px) {
  .fs-p-141 .fs-double-chin-lipo-hero .fs-hero__bg img { object-position: 66.5% 100%; }   /* 10-07 h 판(×1.24·정수리 10.5%)에서 600 의 코끝이 화면 끝에 잘려 64.5 → 66.5 — 묶은 머리는 두 줄 리드 끝과 40px 이상 떨어진다 */
  /* 10-07 「모델 조금 더 크게 · 위치 고정」(hero-1007e, ×1.15) 뒤 — 600~639 에서 머리 폭(291px)이 리드 끝(x331)~화면 끝 사이에 안 들어가
     머리카락이 리드 끝을 28px 덮거나 얼굴이 18px 잘렸다 → 이 구간만 리드를 두 줄로(「두툼한 이중턱, / 이제는 확실하게 덜어낼 때」, 「이제는&nbsp;확실하게」 로 묶음) */
  /* 같은 특정성으로 써야 한다 — 900행 「.fs-p-141 .fs-double-chin-lipo-hero .fs-double-chin-lipo-hero__lead { max-width: 34em }」(0,3,0) 에 졌다 */
  .fs-p-141 .fs-double-chin-lipo-hero .fs-double-chin-lipo-hero__lead { max-width: 13em; text-wrap: balance; }
}

/* --- 후속 보정(10-07 렌더 확인) */
/* 전후 리드 두 문장 — 문장 블록(81·131 과 같은 유틸). 141 에는 정의가 없어 「…제공해드립니다.포시즌…」 으로 붙어 나왔다 */
.fs-p-141 .fs-lead__s { display: block; text-wrap: balance; }
/* (전후 두 섹션을 한때 합쳤을 때의 3:2 통일 크롭은 「나눠줘」 로 걷었다 — 근육묶기 사진은 원래 정사각) */
/* 자가진단 킥커 — fs.css 의 .fs-section--ink2 .fs-kicker:not()×3 (0,5,0) 이 피치를 다시 칠했다. 밝아진 배경에서 피치는 3.2:1 → 흰색 */
.fs-p-141 .fs-section--ink2.fs-dcp-check-sec .fs-kicker.fs-dcp-check__kicker { color: var(--fs-white); }
/* Solution 제목 — 390 에서 「리프팅」 한 낱말만 다음 줄로 떨어졌다(nbsp 로 묶고 balance) */
.fs-p-141 .fs-dcl-sol__head .fs-h2 { text-wrap: balance; }
/* 전후 제목 — 「나눠줘, 제목은 피피티처럼」: 지방흡입 「이중턱 지방흡입 Before & After」(PPT 9) · 근육묶기 「이중턱 지방흡입&근육묶기 Before & After」(PPT 14).
   한 페이지에 전후가 둘이라 시술명으로 가른다(사이트 공식 「Before & After」 단독은 전후가 하나인 페이지). 시술명·「Before & After」 는 nbsp·WJ 로 덩어리 묶음.
   「섹션 제목은 다른 곳이랑 통일」 — 다른 섹션처럼 70px 제목 선(.fs-nose-head)을 달고 가운데 정렬 */
.fs-p-141 :is(#ba-lipo, #ba-muscle) .fs-h2 { text-wrap: balance; }
.fs-p-141 :is(#ba-lipo, #ba-muscle) .fs-nose-head { justify-items: center; text-align: center; }
.fs-p-141 :is(#ba-lipo, #ba-muscle) .fs-nose-head h2::after { margin-inline: auto; transform-origin: center; }

/* --- 시술대상 이동(10-07 · PPT 6 「자가진단 위에 배치」 — 승인자 재지시) — 시술대상이 Solution 2 와 자가진단 사이로 가면서 배경 교대를 다시 맞춘다:
       발생원인 흰 · 지방알갱이 크림2 · Solution 1 흰(크림2 → 흰) · 벨로디 크림2(흰 → 크림2) · 지방흡입 전후 흰 · Solution 2 크림2 · 시술대상 흰 · 자가진단 다크 …
       Solution 1 은 흰 바탕이 되어 사진 상자를 크림으로 깐다(흰 상자가 흰 섹션에서 증발하지 않게) */
.fs-p-141 #combo .fs-double-chin-lipo-combo__box { background: var(--fs-cream-2); }
.fs-p-141 .fs-double-chin-lipo-tx-sec { background: var(--fs-cream-2); }
/* 시술대상 제목 가운데 — PPT 6 참고 레이아웃(「이렇게 배치 수정」)의 머리가 가운데이고, 옮긴 자리의 앞뒤(Solution 2 · 자가진단)도 가운데 제목이다 */
.fs-p-141 #target-lipo .fs-nose-head { justify-items: center; text-align: center; }
.fs-p-141 #target-lipo .fs-nose-head h2::after { margin-inline: auto; transform-origin: center; }
/* 타이포 점검(10-07 「위계·크기·행간·자간·정렬」) — 벨로디 세로 3행의 줄 제목(h3 .fs-nose-tx__title)이 섹션 제목(h2)과 같은 40/28px 라
   줄 제목이 섹션 제목보다 커 보였다(위계 역전). 캐러셀일 땐 한 장씩이라 문제가 없었다 → 카드 제목 토큰 --fs-t-h3(27/20) */
.fs-p-141 .fs-dcl-velody .fs-nose-tx__title { font-size: var(--fs-t-h3); line-height: var(--fs-lh-head); }

/* ==========================================================================
   ▼▼▼ 2026-10-07 · 승인자 캡처 6장(public-html-6d) — 백업 _src/build/backup-141-1007-six/
   ========================================================================== */
/* ① 원인 01~03 — 「원인은 박스 없이 그냥 동그라미만, 동그라미 사이즈 키워줘」: 크림 상자·라벨바 상자를 걷고
      카드 자체를 토프 원(지름 PC 최대 260)으로 — 원 안에 「원인 0N」(작은 글자) + 원인 문구(굵게, 흰). 원에 틸트는 어색해 HTML 에서 뺐다.
      <600 은 2 + 1(셋째 가운데), 지름 150. */
.fs-p-141 .fs-dcp-cause { justify-content: center; justify-items: stretch; }   /* center 면 칸이 글 폭으로 줄어 원 지름이 글 길이를 따라 갈렸다 */
@media (min-width: 600px) {
  .fs-p-141 .fs-dcp-cause { grid-template-columns: repeat(3, minmax(0, clamp(180px, 120px + 8.5vw, 280px))); column-gap: clamp(20px, 6px + 2.8vw, 56px); }
}
@media (max-width: 599px) {
  .fs-p-141 .fs-dcp-cause { grid-template-columns: repeat(2, 150px); gap: 14px; }
  .fs-p-141 .fs-dcp-cause > li:last-child { grid-column: 1 / -1; }
}
.fs-p-141 .fs-dcp-cause__card {
  width: 100%; max-width: 280px; height: auto; aspect-ratio: 1; justify-self: center;
  display: grid; align-content: center; justify-items: center; gap: clamp(6px, 4px + .5vw, 12px);
  padding: clamp(14px, 10px + 1vw, 28px);
  border-radius: 50%;
  background: var(--fs-teal-text); color: var(--fs-white);
  text-align: center;
}
@media (max-width: 599px) { .fs-p-141 .fs-dcp-cause__card { width: 150px; } }
.fs-p-141 .fs-dcp-cause__top { padding: 0; background: none; }
.fs-p-141 .fs-dcp-cause__card .fs-pill {
  min-height: 0; padding: 0; background: none; color: var(--fs-white);
  font-size: var(--fs-t-sm); font-weight: 600; letter-spacing: .02em; opacity: .9;
}
.fs-p-141 .fs-dcp-cause__card .fs-labelbar {
  min-height: 0; margin: 0; padding: 0; background: none; color: var(--fs-white);
  font-size: clamp(17px, 14.8px + .6vw, 25px); font-weight: 700; line-height: 1.35;
  word-break: keep-all; text-wrap: balance;
}
@media (max-width: 599px) { .fs-p-141 .fs-dcp-cause__card .fs-labelbar { font-size: 16px; } }

/* ② Solution 2 사진 아래 설명 — 「밑에 설명 텍스트에는 박스 추가」: 크림2 밴드 위 흰 상자(Solution 1 은 그대로라 #solution2 로 한정) */
.fs-p-141 #solution2 .fs-dcl-sol__desc {
  padding: clamp(16px, 12px + 1vw, 28px) clamp(16px, 11px + 1.3vw, 32px);
  background: var(--fs-white);
}

/* ③ 시술대상 CASE 글줄 — 「폰트 사이즈 키워줘」: 문장 본문(16→17) → 리드(19→21), 번호 15→16 → 17→18. 좁은 2열에서 접히면 balance 로 두 줄 */
.fs-p-141 .fs-dcl-target__text { font-size: var(--fs-t-lead); }
.fs-p-141 .fs-dcl-target__num { font-size: clamp(17px, 16.5px + .13vw, 18px); }

/* ④ 자가진단 비교표 — 「중앙 정렬하고, 수술이 필요한 경우쪽 사이즈를 조금 더 키우는거」:
      칸 글자 가운데. 「수술이 필요한 경우」 열을 넓힌다 — ≥1024 사진 두 군·비교표를 같은 3열(560 | 90 | 400)로(옛 466 | 90 | 464),
      768~1023 사진 두 군 1.2 : 1. 「필요한 경우」 칸 글자도 한 단 크게(리드 → h3). */
.fs-p-141 .fs-dcp-check .fs-compare__cell--left,
.fs-p-141 .fs-dcp-check .fs-compare__cell--right { justify-content: center; text-align: center; padding-inline: var(--fs-sp-5); }
.fs-p-141 .fs-dcp-check .fs-compare__cell--left.fs-dcp-check__cell--need { font-size: var(--fs-t-h3); }
@media (min-width: 768px) and (max-width: 1023px) {
  .fs-p-141 .fs-dcp-check__head { grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr); }
}
@media (min-width: 1024px) {
  .fs-p-141 .fs-dcp-check .fs-compare__row,
  .fs-p-141 .fs-compare.fs-dcp-check .fs-dcp-check__head { grid-template-columns: minmax(0, 560fr) 90px minmax(0, 400fr); }
}

/* ⑥ 특별함 01~03 — 「밑에도 테두리 줄」: 왼쪽 세로줄과 같은 2px 토프 선을 아래에도(ㄴ 자), 글과 선 사이 여백 */
.fs-p-141 .fs-dcp-merit__body { border-block-end: 2px solid var(--fs-teal); padding-block-end: var(--fs-sp-5); align-content: start; }
/* 설명 줄 수가 달라(01 두 줄 · 02·03 세 줄) 아래 선이 칸마다 높이가 갈렸다 — 본문이 남은 높이를 채워 아래 선을 한 줄에 */
.fs-p-141 .fs-dcp-merit__card { grid-template-rows: auto 1fr; align-content: stretch; }

/* ==========================================================================
   ▼▼▼ 2026-10-07 · 승인자 캡처 3장(public-html-6d) — 백업 _src/build/backup-141-1007-three/
   ========================================================================== */
/* Solution 1(#combo · 지방흡입 / 벨로디Ⅱ) 사진 아래 설명 — 「여기도 설명 텍스트에 박스」: Solution 2 와 같은 상자. 흰 섹션이라 흰 상자 대신 크림 */
.fs-p-141 #combo .fs-dcl-sol__desc {
  padding: clamp(16px, 12px + 1vw, 28px) clamp(16px, 11px + 1.3vw, 32px);
  background: var(--fs-cream);
}
/* 발생원인 소개 글 — 「텍스트 사이즈 키워줘」: 세 줄을 한 단씩(형광 인용 → 24→34 · 리드 19→21 → 인용 21→25 · 본문 16→17 → 리드 19→21) */
.fs-p-141 .fs-dcp-cause__col .fs-quote { font-size: clamp(24px, 20.8px + .85vw, 34px); text-wrap: balance; }   /* 360·390 「…아닐 수 / 있습니다.」 외톨이 — balance(형광 칸 안까지 상속) */
.fs-p-141 .fs-dcp-cause__col .fs-lead { font-size: var(--fs-t-quote); }
.fs-p-141 .fs-dcp-cause__col .fs-body { font-size: var(--fs-t-lead); line-height: 1.6; }

/* ==========================================================================
   ▼▼▼ 2026-10-07 · 자가진단 「수술이 필요한 경우」 색 — 승인자 「핑크가 최선일까?」 → 시안 4안(_review/141-1007-check-color-options.jpg) 중
   「B 크림으로 적용해줘」(public-html-6d). 피치 --fs-teal-neon(#E6B8A8)을 크림 #F3EBE1 로 — 필 · 사진 테두리 · 라벨바 · 비교 칸. 글자는 잉크 그대로.
   같은 선택자로 덮는다(위 「자가진단(슬 12)」 블록은 그대로 둔다).
   ========================================================================== */
.fs-p-141 .fs-dcp-check__pill--need { background: #F3EBE1; color: var(--fs-ink); }
.fs-p-141 .fs-dcp-check__group--need .fs-dcp-check__pair { outline-color: #F3EBE1; }
.fs-p-141 .fs-dcp-check__group--need .fs-labelbar { background: #F3EBE1; color: var(--fs-ink); }
.fs-p-141 .fs-dcp-check .fs-compare__cell--left.fs-dcp-check__cell--need { background: #F3EBE1; color: var(--fs-ink); }

/* ==========================================================================
   ▼▼▼ 2026-10-07 · 주의사항 글 크게 + 페이지 정보 위계 점검(public-html-6d) — 승인자 「텍스트 사이즈 조금 더 크게. 페이지 전반적으로 정보 위계 괜찮은지 확인」
   실측(1920/390): 제목 h1 58/30 · 밴드 제목 60/29 · h2 40/28 · 소제목 h3 27/20 · 강조문 25~34/21~24 · 라벨바 21/19(굵게) · 설명 21/19 · 필·번호·주석 16~18/15~16.
   설명 층이 대부분 리드(21/19)로 올라온 뒤 본문(17/16)에 남은 세 곳만 튀었다 — #caution 목록 · #merit 카드 설명 · #velody 행 본문 → 리드로 맞춘다.
   #velody 머리 부제(20·500)도 다른 섹션 리드(21·400)와 같게. B&A 라벨바(17/15)·※ 주석(16)은 공용 B&A 규격이라 그대로. 백업 _src/build/backup-141-1007-hier/
   ========================================================================== */
.fs-p-141 .fs-dcp-caution__list .fs-card__desc { font-size: var(--fs-t-lead); color: var(--fs-ink-soft); }
.fs-p-141 .fs-dcp-caution__list .fs-card--rule { align-items: center; }       /* 번호와 문장 세로 가운데(옛 start — 문장이 번호보다 위에 붙어 보였다) */
.fs-p-141 .fs-dcp-caution__list .fs-card__num { padding-block-start: 0; }
.fs-p-141 .fs-dcp-merit .fs-card__desc { font-size: var(--fs-t-lead); color: var(--fs-ink-soft); }
.fs-p-141 #velody .fs-body { font-size: var(--fs-t-lead); }
.fs-p-141 #velody .fs-sec-head__sub { font-size: var(--fs-t-lead); font-weight: 400; }
/* 크게 키운 설명 문단의 마지막 줄 외톨이(「중요합니다.」「위치합니다.」「해결합니다.」 등) — balance 전 폭(MOBILE_RULES §1-5) */
.fs-p-141 .fs-dcp-caution__list .fs-card__desc,
.fs-p-141 .fs-dcp-caution__aside .fs-lead,
.fs-p-141 .fs-dcp-merit .fs-card__desc,
.fs-p-141 #velody .fs-body,
.fs-p-141 .fs-dcp-merit-sec .fs-h2 { text-wrap: balance; }

/* --- 자가진단 비교표 시각 보정(10-07 승인자 캡처 「중앙으로 맞게 시각 보정」) — ≥1024
       560 | 90 | 400 비율을 1020px 가운데 정렬하면 숫자로는 가운데지만, 눈은 가운데 「턱·목 경계」 칸을 축으로 읽어 축이 제목보다 ~77px 오른쪽에 서 보였다.
       오른쪽 끝에 빈 160fr 열을 더해 축 좌우 폭을 같게(560 = 400 + 160) → 제목 · 「턱·목 경계」 칸 · 아래 설명문이 한 세로축.
       사진·칸 크기는 그대로(최대 폭 1020 → 1175, 160fr 몫만큼). 머리와 아래 비교표가 같은 열을 쓰므로 둘 다. 가로 구분선은 빈 열 앞에서 끊는다 */
@media (min-width: 1024px) {
  .fs-p-141 .fs-compare.fs-dcp-check { max-width: 1175px; }
  .fs-p-141 .fs-dcp-check .fs-compare__row,
  .fs-p-141 .fs-compare.fs-dcp-check .fs-dcp-check__head { grid-template-columns: minmax(0, 560fr) 90px minmax(0, 400fr) minmax(0, 160fr); }
  .fs-p-141 .fs-dcp-check .fs-compare__rule { margin-inline-end: calc((100% - 90px) * 160 / 1120); }
}

/* --- 원인 동그라미 색 — 승인자 캡처 「동그라미 색 정보 위계에 맞게」(10-07, public-html-4d)
       진한 토프 채움(#80665D)·흰 글자의 지름 280 원 셋이 섹션 머리인 토프 인용 상자(「단순히 지방만의 문제가 아닐 수 있습니다.」)와 같은 색에 면적은 더 커서
       보조 정보가 머리보다 세게 읽혔다 → 원은 한 단계 옅게: 크림 #F3EBE1(자가진단 「필요한 경우」 칸과 같은 승인 색) · 「원인 0N」 --fs-teal-dk(5.9:1) · 문구 잉크(16:1).
       위계 = 토프 인용 상자 › 소개 리드·본문 › 크림 원. 크기·배치는 그대로 */
.fs-p-141 .fs-dcp-cause__card { background: #F3EBE1; color: var(--fs-ink); }
.fs-p-141 .fs-dcp-cause__card .fs-pill { color: var(--fs-teal-dk); opacity: 1; }
.fs-p-141 .fs-dcp-cause__card .fs-labelbar { color: var(--fs-ink); }

/* ==========================================================================
   ▼▼▼ 2026-10-07 · 모바일 최적화(승인자 「모바일 최적화 진행」, public-html-4d) — 줄바꿈은 전 폭, 배치는 599/767/1023 이하만. PC 요소 위치 무변화(1024·1440·1920 실측).
   백업 _src/build/backup-141-1007-mo/ · 실측 _design/momeasure.py 360/390/540/768 + 1024/1440/1920
   고아 줄(before): 지방알갱이 리드 「완성합니다.」(390) · 전후 주의문 「세심한 주의가 필요합니다.」(390·540) · 벨로디 부제 「완성하는 리프팅」(540) ·
   포도송이 라벨바 「지방알갱이」(360·390) · 특별함 설명 「해결합니다.」「줍니다.」(768, 3열 230px 에 7줄).
   두 줄 제목(「왜 중요할까?」「Before & After」「가능여부 자가진단」 등)·주소는 의도된 줄바꿈이라 판정에서 뺐다.
   ========================================================================== */
/* --- 줄바꿈(전 폭, 줄 수 불변) */
.fs-p-141 #grain .fs-lead,
.fs-p-141 #velody .fs-sec-head__sub,
.fs-p-141 .fs-dcl-ba__notes .fs-nose-ba__note,
.fs-p-141 .fs-labelbar { text-wrap: balance; }

/* --- 수술과정 3단계(<768) — 세로 도해 3장이 폭 가득 쌓여 360 에서 1,796px. 구워진 글자가 없는 도해라
       MOBILE_RULES §2 B «도해+라벨바 좌 44% · 번호·설명 우» 행으로. 라벨바는 도해 바로 아래 같은 폭(figure 안 그대로), 단계 사이 세로 커넥터는 도해 열 가운데로. */
@media (max-width: 767px) {
  .fs-p-141 .fs-dcp-op { gap: clamp(22px, 18px + 1.2vw, 30px); }
  .fs-p-141 .fs-dcp-op__step {
    grid-template-columns: 44% minmax(0, 1fr); grid-template-rows: auto auto;
    column-gap: var(--fs-sp-5); row-gap: var(--fs-sp-2);
    justify-items: start; align-content: center;
  }
  .fs-p-141 .fs-dcp-op__fig { grid-column: 1; grid-row: 1 / span 2; align-self: center; }
  .fs-p-141 .fs-dcp-op__step > .fs-pill { grid-column: 2; grid-row: 1; align-self: end; }
  .fs-p-141 .fs-dcp-op__text { grid-column: 2; grid-row: 2; align-self: start; text-align: start; }
  .fs-p-141 .fs-dcp-op__step + .fs-dcp-op__step::before { inset-inline-start: 22%; }
}

/* 360 에서 글 칸이 159px — 리드(19px)는 단계마다 4줄로 쪼개졌다(「턱 / 길이」) → <600 은 본문 크기(§2 H). 「턱 길이」 는 nbsp 로 묶었다. */
@media (max-width: 599px) {
  .fs-p-141 .fs-dcp-op__text { font-size: var(--fs-t-body); }
}

/* --- Solution 2 화살표(<600) — 두 도해가 위아래로 쌓이는데 → 가 옆을 가리켰다 → ↓ */
@media (max-width: 599px) {
  .fs-p-141 #solution2 .fs-double-chin-lipo-combo__plus svg { transform: rotate(90deg); }
}

/* --- 특별함 설명(600~1023) — 3열 230px 에 리드(19~20px)가 7줄로 쪼개졌다 → 이 구간만 본문 크기(인물 사진이라 배치는 그대로 — §4-4) */
@media (min-width: 600px) and (max-width: 1023px) {
  .fs-p-141 .fs-dcp-merit .fs-card__desc { font-size: var(--fs-t-body); }
}

/* ==========================================================================
   ▼▼▼ 2026-10-07 · 모바일 후속 4건(승인자 캡처 · 「다 모바일 말하는거야」, public-html-4d) — 배치는 <1024 만. PC 1024·1440·1920 rect 0.
   백업 _src/build/backup-141-1007-mo2/
   ========================================================================== */

/* --- ① 지방알갱이(<1024) 「제목이 먼저 오게」 — 스플릿이 한 열로 쌓이면 도해가 제목 위에 섰다 → 글 열(킥커·제목·리드)을 앞으로 */
@media (max-width: 1023px) {
  .fs-p-141 .fs-dcp-grain__col { order: -1; }
}

/* --- ②④ 전후 두 캐러셀 「옆에 더 있다는 큐 확실하게」 — 모바일은 도트뿐이었다(사이트 공통 .fs-nose-ba__nav 는 <1024 숨김).
       per-view="auto" 로 바꿔 슬라이드 폭·간격을 CSS 가 정한다: ≥1024 는 옛 값 그대로(2장 · 40px), <1024 는 88% · 12px — 다음 사례가 옆에 걸쳐 보이고
       (보이는 장 외에는 흐리게), 도트 양옆에 이전·다음 화살표(ba-muscle 마크업 그대로, ba-lipo 에도 같은 마크업). 간격은 트랙에 직접 — 변수로 주면
       fs.js 가 호스트에 인라인으로 박아 창 크기를 바꿀 때 옛 값이 남는다. */
.fs-p-141 .fs-dcl-ba-peek { --fs-slide-w: calc((100% - 40px) / 2); }
.fs-p-141 .fs-dcl-ba-peek .fs-carousel__track { gap: 40px; }
@media (min-width: 1024px) {
  .fs-p-141 #ba-lipo .fs-nose-ba__nav { display: none; }          /* PC 는 두 장이 다 보여 넘길 것이 없다 — 옛 화면 그대로 */
}
@media (max-width: 1023px) {
  .fs-p-141 .fs-dcl-ba-peek { --fs-slide-w: 85%; }                 /* 390 에서 다음 사례 약 40px — 88% 의 30px 는 흐린 띠로만 읽혔다 */
  .fs-p-141 .fs-dcl-ba-peek .fs-carousel__track { gap: 12px; }
  .fs-p-141 .fs-dcl-ba-peek .fs-carousel__slide { transition: opacity var(--fs-dur-slow) var(--fs-ease-out); }
  .fs-p-141 .fs-dcl-ba-peek .fs-carousel__slide:not(.is-active) { opacity: .45; }
  .fs-p-141 .fs-dcl-ba-peek {
    display: grid; align-items: center;
    grid-template-columns: minmax(0, 1fr) auto auto auto minmax(0, 1fr);
    column-gap: 14px; row-gap: clamp(15px, 9.69px + 1.474vw, 38px);
  }
  .fs-p-141 .fs-dcl-ba-peek > .fs-nose-ba__viewport { grid-column: 1 / -1; }
  .fs-p-141 .fs-dcl-ba-peek > .fs-nose-ba__nav { display: contents; }
  .fs-p-141 .fs-dcl-ba-peek [data-fs-carousel-prev] { grid-row: 2; grid-column: 2; }
  .fs-p-141 .fs-dcl-ba-peek > .fs-carousel__dots { grid-row: 2; grid-column: 3; margin-block-start: 0; }
  .fs-p-141 .fs-dcl-ba-peek [data-fs-carousel-next] { grid-row: 2; grid-column: 4; }
}

/* --- ③ 자가진단(<1024) 「모바일로 보면 뭐라는지 모르겠어」 — 두 군이 위아래로 쌓이고, 비교표 행은 왼칸(필요한 경우)이 <1024 숨김이라
       「턱·목 경계 | 선명한 목선과 턱선」 만 둘째 군 밑에 매달려 그 군의 설명처럼 읽혔다(두 칸 다 바로 위 라벨바와 같은 글).
       → 기준 칸 「턱·목 경계」 를 두 군 위 머리띠로 올리고(오른칸은 라벨바와 같은 글이라 숨김) 두 군을 좌우 나란히 — «필요한 경우 | 필요없는 경우» 비교로 읽히게.
       <600 은 칸이 좁아 군마다 사진 두 장을 세로로(사진 크기는 전과 같다). */
@media (max-width: 1023px) {
  .fs-p-141 .fs-compare.fs-dcp-check { display: flex; flex-direction: column; gap: var(--fs-sp-6); }
  .fs-p-141 .fs-dcp-check .fs-compare__row { order: -1; grid-template-columns: minmax(0, 1fr); }
  .fs-p-141 .fs-dcp-check .fs-compare__rule,
  .fs-p-141 .fs-dcp-check .fs-compare__cell--right { display: none; }
  .fs-p-141 .fs-dcp-check .fs-compare__cell--label { min-height: 0; padding-block: var(--fs-sp-3); }
}
@media (max-width: 767px) {
  .fs-p-141 .fs-dcp-check__head { grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: var(--fs-sp-4); align-items: stretch; }
  .fs-p-141 .fs-dcp-check__group { grid-template-rows: auto auto 1fr; }   /* 라벨바 한 줄 · 두 줄이 갈려도 바 높이를 맞춘다 */
}
@media (max-width: 599px) {
  .fs-p-141 .fs-dcp-check__head { column-gap: 10px; }
  .fs-p-141 .fs-dcp-check__pair { grid-template-columns: minmax(0, 1fr); }
  .fs-p-141 .fs-dcp-check__group > .fs-pill { font-size: var(--fs-t-xs); padding-inline: 10px; white-space: nowrap; }
}

/* ==========================================================================
   ▼▼▼ 2026-10-07 · 모바일 3차(public-html-6d · 승인자 「141 모바일 최적화 진행」) — 4d 의 mo·mo2 패스 위 잔여 점검. 배치는 1023/767/599 이하만.
   백업 _src/build/backup-141-1007-mo3/ · 실측 momeasure 320·360·390·430·540·640·768 + 1024·1440·1920.
   잔여 고아: #cause 리드 「…원인으로 / 생깁니다.」(320) · 단계 1 「턱밑 최소 / 절개(2~3cm)」(320) · 특별함 설명 「…만들어 / 줍니다.」(640, 3열 190px 에 7~8줄).
   ========================================================================== */
.fs-p-141 .fs-dcp-cause__col .fs-lead { text-wrap: balance; }

/* 주의사항 01~07 <1024 — 번호가 문장 위 한 줄을 따로 먹어(7장 × ~40px) 길었다 → PC 처럼 번호 왼쪽 · 문장 오른쪽 */
@media (max-width: 1023px) {
  .fs-p-141 .fs-dcp-caution__list .fs-card--rule {
    grid-template-columns: auto minmax(0, 1fr); column-gap: clamp(14px, 10px + 1vw, 22px); align-items: center;
  }
}

/* 특별함 01~03 600~767 — 3열 190px 칸에서 라벨바가 두 줄로 접히고 설명이 7~8줄(9자/줄) → §2 B «사진+라벨바 좌 42% · 번호+설명 우» 행.
   라벨바는 figure 안이라 사진 폭 그대로(LOCK 2). 768 이상(3열 230px · 5줄)은 그대로. */
@media (min-width: 600px) and (max-width: 767px) {
  .fs-p-141 .fs-dcp-merit { grid-template-columns: minmax(0, 1fr); }
  .fs-p-141 .fs-dcp-merit__card {
    grid-template-columns: minmax(0, 42%) minmax(0, 1fr); grid-template-rows: auto;
    column-gap: var(--fs-sp-5); align-items: stretch;
  }
  .fs-p-141 .fs-dcp-merit__fig { align-self: center; }
  .fs-p-141 .fs-dcp-merit__body { align-content: center; }
}
