/* =========================================================================
   assets/page/71.css — 복부성형술 전용
   모든 셀렉터는 .fs-p-71 스코프. 색은 --fs-* 토큰만 쓴다(새 hex 0).

   전용 컴포넌트
     .fs-abd-hero    모델 풀블리드 히어로 + 투명 오버레이 헤더 (좌 카피 / 우 모델)
     .fs-abd-eq      복부성형술 정의 방정식 (박스 + 연산기호)
     .fs-abd-target  좌 인물 / 우 6항목 아이콘 카드 (수술대상)
     .fs-abd-steps   해부 도해 4단계 스트립 (커넥터 셰브런)
     .fs-abd-spec    수술범위 도해를 머리에 세운 미니 vs 전체 스펙 매트릭스  ★ 시그니처
     .fs-abd-points  번호 + 아이콘 + 문장 룰 카드
     .fs-abd-cta     닫는 상담 밴드 (좌 카피·버튼 / 우 인물)
   ========================================================================= */

/* ---------- A01 · 모델 풀블리드 히어로 + 투명 오버레이 헤더 ---------------
   승인자가 1mmpsglobal.com 헤더를 지목했다 — 투명 헤더 + 전면 사진 + 좌측 카피.
   53·81·51·143·46·47·About·121 과 같은 계열이다. 71 만 옛 베이지 밴드로 남아 있었다.
   ------------------------------------------------------------------------- */

/* fs.css 의 .fs-header--overlay 는 «흰 글자» 전제다. 이 히어로는 밝은 샌드 베이지라
   다섯 곳을 같이 뒤집는다(로고는 원본 금색+먹 그대로 쓴다). */
/* ★ 이 선언을 빠뜨리면 fs.css:139 의 --fs-header-overlay-bg 기본값 rgba(0,0,0,.14) 가
   살아나 밝은 히어로 위 헤더 100px 에만 검은 틴트가 깔린다(가로 이음매로 찍힌다).
   형제 오버레이 페이지 전부가 이 변수를 덮고 있다. */
.fs-p-71 {
  --fs-header-overlay-bg: transparent;
}
.fs-p-71 .fs-header--overlay { color: var(--fs-ink); }
/* 2026-09-11 승인자 지시 「56 처럼 메뉴바 그라디에이션」 — fs.css:468 기본 ::before(검정 스크림)를
   content:none 으로 껐던 것을 되살리고 배경만 밝은 안개로 바꾼다. 56 은 크림(246,241,236)인데
   이 계열 19장은 히어로 틴트가 제각각(세이지·라벤더·블루그레이…)이라 크림을 얹으면 색이 물든다 —
   흰색 알파는 어느 틴트 위에서도 «빛 번짐» 으로 읽힌다(47·64·67·48 비교 렌더로 확인).
   위치·높이(헤더 1.6배)·pointer-events 는 fs.css 기본값 그대로다. */
.fs-p-71 .fs-header--overlay::before { background: linear-gradient(180deg, rgba(255,255,255,.72) 0%, rgba(255,255,255,.38) 55%, rgba(255,255,255,0) 100%); }
.fs-p-71 .fs-gnb__link { font-weight: 400; }
.fs-p-71 .fs-header--overlay .fs-gnb__link:hover,
.fs-p-71 .fs-header--overlay .fs-gnb__link:focus-visible { color: var(--fs-teal-dk); opacity: 1; }
/* --fs-muted-2(#7D7D7D)는 밝은 배경에서 3.6:1 이라 AA 미달이다 */
.fs-p-71 .fs-header--overlay .fs-util__link { color: var(--fs-ink-soft); }
.fs-p-71 .fs-header--overlay .fs-util__link:hover { color: var(--fs-teal-dk); opacity: 1; }
.fs-p-71 .fs-util__sep { opacity: .35; }
/* fs.css:3052 의 «호버 시 흰 글자» 도 다크 전제 — 밝은 헤더에선 사라진다 */
.fs-p-71 .fs-header--overlay .fs-allmenu:hover { color: var(--fs-teal-dk); opacity: 1; }
/* qa.py 는 오버레이 헤더 «뒤» 를 못 봐서 흰 GNB 1:1 오탐을 낸다 — 래퍼에 색을 선언해 둔다 */
.fs-p-71 .fs-page--overlay { background: #D6BFAA; }

.fs-p-71 .fs-abd-hero { color: var(--fs-ink); }
/* fs.css 의 .fs-hero__bg img 규칙은 <picture> 를 건너뛴다(121·143 과 같은 처방) */
.fs-p-71 .fs-abd-hero .fs-hero__bg picture { display: block; width: 100%; height: 100%; }
/* 2026-09-11 승인자 지시 「히어로 속 모델 위치를 56 처럼」 — 56 은 머리 꼭대기가 히어로 위에서 41px(1838 창).
   이 사진은 크라운이 원본 y=187 라 0% 로는 아래 에 떠 있었다. 통일 높이 601 · cover 배율 1838/1920 로 역산한 값.
   모바일(<1024) 스택 배치의 object-position 은 별개라 그대로 둔다. */
.fs-p-71 .fs-abd-hero .fs-hero__bg img { object-position: 50% 36%; }

/* 카피가 앉는 좌측은 실측 #D6BFAA 라 --fs-teal-dk 킥커가 3.96:1 로 AA 미달이다.
   왼쪽에만 크림 스크림을 깔아 5.6:1 로 올린다. 인물은 x 61% 부터라 스크림이 안 닿는다. */
.fs-p-71 .fs-abd-hero .fs-hero__bg::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(255,255,255,.60) 0, rgba(255,255,255,.60) 45%, rgba(255,255,255,0) 60%);
}

.fs-p-71 .fs-abd-hero .fs-hero__copy { max-width: min(100%, 50vw); gap: var(--fs-sp-5); }
.fs-p-71 .fs-abd-hero .fs-hero__kicker {
  font-size: clamp(15px, 13.5px + 0.42vw, 21px);
  letter-spacing: 0.02em; font-weight: 500; color: var(--fs-teal-dk);
}
.fs-p-71 .fs-abd-hero .fs-hero__title {
  font-size: clamp(30px, 21.4px + 2.39vw, 58px);
  font-weight: 700; color: var(--fs-ink); line-height: var(--fs-lh-head);
}

/* <1024px — 히어로 상자가 가로로 길어져 오버레이로는 카피와 모델이 겹친다.
   카피를 크림 밴드로 «위» 에 쌓고 세로 크롭 사진을 아래에 붙인다(121 과 같은 방식).
   밴드색은 세로 에셋 상단 40행 실측값(#F0E6DD). */
@media (max-width: 1023px) {
  .fs-p-71 .fs-abd-hero { min-height: 0; background: #F0E6DD; }
  .fs-p-71 .fs-abd-hero .fs-hero__bg {
    position: static; inset: auto; z-index: 0; grid-row: 2;
  }
  .fs-p-71 .fs-abd-hero .fs-hero__bg::after { content: none; }
  .fs-p-71 .fs-abd-hero .fs-hero__bg img {
    height: auto; aspect-ratio: 3 / 4; object-position: 50% 100%;
    -webkit-mask-image: linear-gradient(180deg, transparent 0, #000 60px);   /* 2026-10-22 모바일 §1-8 96 → 60 */
            mask-image: linear-gradient(180deg, transparent 0, #000 60px);
  }
  .fs-p-71 .fs-abd-hero .fs-hero__inner {
    grid-row: 1; background: #F0E6DD;
    padding-block: calc(var(--fs-header-h) + var(--fs-sp-5)) var(--fs-sp-7);   /* 2026-10-22 모바일 §1-8 40/56 → 20/30 */
  }
  .fs-p-71 .fs-abd-hero .fs-hero__copy { max-width: 100%; }
}

/* ---------- A04 · 복부성형술이란 --------------------------------------- */
.fs-p-71 .fs-abd-define__fig { margin-block-start: var(--fs-gap-title); }
.fs-p-71 .fs-abd-define__frame { display: block; overflow: hidden; }
.fs-p-71 .fs-abd-define__frame img { display: block; width: 100%; height: auto; }
/* 승인자 지시 — 좌 라벨과 우 본문을 위아래 가운데로 맞춘다.
   fs.css:346 의 --fs-split-align 기본값이 start 라, 2줄짜리 라벨이 두 문단짜리
   본문 열 «맨 위» 에 붙어 두 열의 시각 중심이 어긋나 있었다. */
.fs-p-71 .fs-abd-define__split { margin-block-start: var(--fs-gap-title); --fs-split-align: center; }
.fs-p-71 .fs-abd-define__label { color: var(--fs-teal-dk); font-weight: 700; }
.fs-p-71 .fs-abd-define__body { display: grid; gap: var(--fs-sp-5); }

/* 정의 방정식 — 원본의 둥근 박스를 시안 직각 박스로 옮긴다 */
.fs-p-71 .fs-abd-eq {
  display: grid; gap: var(--fs-sp-4); justify-items: center; align-items: stretch;
  grid-template-columns: minmax(0, 1fr);
  margin-block-start: var(--fs-gap-title);
}
.fs-p-71 .fs-abd-eq__box {
  display: flex; align-items: center; justify-content: center;
  width: 100%; min-height: clamp(84px, 76.4px + 2.1vw, 112px);
  padding: var(--fs-sp-4) var(--fs-sp-5);
  border: 1px solid var(--fs-teal);
  text-align: center;
  font-size: var(--fs-t-lead); font-weight: 700; line-height: var(--fs-lh-head);
  color: var(--fs-ink);
}
.fs-p-71 .fs-abd-eq__box--result {
  border-color: var(--fs-teal-text);
  background: var(--fs-teal-text);
  color: var(--fs-on-dark);
}
.fs-p-71 .fs-abd-eq__op {
  display: flex; align-items: center; justify-content: center;
  font-size: var(--fs-t-h3); font-weight: 700; color: var(--fs-teal-dk);
  line-height: 1;
}

@media (min-width: 768px) {
  .fs-p-71 .fs-abd-eq {
    grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr) auto minmax(0, 1fr);
    gap: var(--fs-sp-5);
  }
}

/* ---------- A23 · 수술대상 --------------------------------------------- */
.fs-p-71 .fs-abd-target__grid { display: grid; gap: var(--fs-gap-col); align-items: start; }
.fs-p-71 .fs-abd-target__fig { display: grid; }
.fs-p-71 .fs-abd-target__frame { display: block; overflow: hidden; }
.fs-p-71 .fs-abd-target__frame img { display: block; width: 100%; height: auto; }
.fs-p-71 .fs-abd-target__col { display: grid; align-content: start; }
.fs-p-71 .fs-abd-target__head { display: grid; gap: var(--fs-sp-3); }
.fs-p-71 .fs-abd-target__list { margin-block-start: var(--fs-sp-8); align-items: stretch; }
.fs-p-71 .fs-abd-target__item { display: grid; }
.fs-p-71 .fs-abd-target__card {
  display: grid; gap: var(--fs-sp-3); align-content: center;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: center;
  background: var(--fs-white);
  border-block-start: 2px solid var(--fs-teal);
  padding: var(--fs-sp-5);
  height: 100%;
}
.fs-p-71 .fs-abd-target__icon { display: block; width: clamp(46px, 41.5px + 1.25vw, 64px); }
.fs-p-71 .fs-abd-target__icon img { display: block; width: 100%; height: auto; }
.fs-p-71 .fs-abd-target__txt { display: grid; gap: var(--fs-sp-1); }
.fs-p-71 .fs-abd-target__no { font-size: var(--fs-t-pill); font-weight: 700; color: var(--fs-teal-dk); letter-spacing: var(--fs-ls-wide); }
.fs-p-71 .fs-abd-target__line { font-size: var(--fs-t-body); line-height: var(--fs-lh-body); color: var(--fs-ink); }

@media (min-width: 600px) and (max-width: 1023px) {
  /* 태블릿 — 좌 인물 / 우 6항목 1열, 카드는 가로형 유지 */
  .fs-p-71 .fs-abd-target__grid { grid-template-columns: minmax(0, 320fr) minmax(0, 680fr); align-items: stretch; }
  .fs-p-71 .fs-abd-target__col { grid-template-rows: auto minmax(0, 1fr); }
  .fs-p-71 .fs-abd-target__fig { grid-template-rows: minmax(0, 1fr) auto; }
  .fs-p-71 .fs-abd-target__frame img { height: 100%; object-fit: cover; object-position: 50% 16%; }
}
@media (min-width: 1024px) {
  .fs-p-71 .fs-abd-target__grid { grid-template-columns: minmax(0, 420fr) minmax(0, 980fr); align-items: stretch; }
  .fs-p-71 .fs-abd-target__col { grid-template-rows: auto minmax(0, 1fr); }
  .fs-p-71 .fs-abd-target__list {
    margin-block-start: var(--fs-gap-title);
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-template-rows: repeat(3, minmax(0, 1fr));
  }
  /* 아이콘을 위로 세워 카드에 높이를 준다 — 사진 컬럼과 키를 맞춘다 */
  .fs-p-71 .fs-abd-target__card {
    grid-template-columns: minmax(0, 1fr);
    justify-items: start; align-content: start;
    gap: var(--fs-sp-4); padding: var(--fs-sp-6) var(--fs-sp-5);
  }
  .fs-p-71 .fs-abd-target__icon { width: clamp(54px, 45px + 1.5vw, 72px); }
  .fs-p-71 .fs-abd-target__fig { grid-template-rows: minmax(0, 1fr) auto; }
  .fs-p-71 .fs-abd-target__frame img { height: 100%; object-fit: cover; object-position: 50% 18%; }
}

/* ---------- A12 · 복부절제술 방법 4단계 -------------------------------- */
.fs-p-71 .fs-abd-steps { display: grid; gap: var(--fs-gap-card); margin-block-start: var(--fs-gap-title); }
.fs-p-71 .fs-abd-steps__item { position: relative; display: grid; gap: var(--fs-sp-4); justify-items: center; }
.fs-p-71 .fs-abd-steps__fig { display: grid; width: 100%; }
.fs-p-71 .fs-abd-steps__box { display: block; overflow: hidden; background: var(--fs-white); }
.fs-p-71 .fs-abd-steps__box img { display: block; width: 100%; height: auto; }
.fs-p-71 .fs-abd-steps__text {
  font-size: var(--fs-t-body); line-height: var(--fs-lh-body);
  color: var(--fs-ink-soft); text-align: center;
}
/* 커넥터 셰브런 — 카드 사이 여백 안에만 놓는다 */
.fs-p-71 .fs-abd-steps__item::after {
  content: ""; position: absolute; z-index: 1;
  width: 11px; height: 11px;
  border-inline-end: 2px solid var(--fs-teal);
  border-block-end: 2px solid var(--fs-teal);
  inset-block-end: -17px; inset-inline-start: calc(50% - 6px);
  transform: rotate(45deg);
}
.fs-p-71 .fs-abd-steps__item:last-child::after { content: none; }

@media (min-width: 600px) {
  .fs-p-71 .fs-abd-steps { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .fs-p-71 .fs-abd-steps__item::after {
    inset-block-end: auto; inset-inline-start: auto;
    inset-inline-end: -16px; inset-block-start: 27%;
    transform: rotate(-45deg);
  }
  .fs-p-71 .fs-abd-steps__item:nth-child(2n)::after { content: none; }
}
@media (min-width: 1024px) {
  .fs-p-71 .fs-abd-steps { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .fs-p-71 .fs-abd-steps__item:nth-child(2n)::after { content: ""; }
  .fs-p-71 .fs-abd-steps__item:last-child::after { content: none; }
}

/* ---------- A21 · 수술정보 스펙 매트릭스 ★ 시그니처 -------------------- */
.fs-p-71 .fs-abd-spec { --fs-abd-mid: clamp(92px, 63.2px + 8vw, 200px); }
.fs-p-71 .fs-abd-spec__head {
  display: grid; gap: var(--fs-gap-card); align-items: end;
  grid-template-columns: minmax(0, 1fr);
  margin-block-start: var(--fs-gap-title);
}
.fs-p-71 .fs-abd-spec__group { display: grid; gap: var(--fs-sp-4); justify-items: center; }
.fs-p-71 .fs-abd-spec__figs {
  display: grid; gap: var(--fs-sp-3); width: 100%;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.fs-p-71 .fs-abd-spec__fig { display: grid; }
.fs-p-71 .fs-abd-spec__box {
  display: flex; align-items: flex-end; justify-content: center;
  background: var(--fs-white); padding: var(--fs-sp-3);
  min-height: clamp(150px, 118px + 8.9vw, 280px);
}
.fs-p-71 .fs-abd-spec__box img { display: block; width: auto; max-width: 100%; height: clamp(130px, 100px + 8.3vw, 250px); }
.fs-p-71 .fs-abd-spec__note {
  font-size: var(--fs-t-body); line-height: var(--fs-lh-body);
  color: var(--fs-ink-soft); text-align: center;
}
.fs-p-71 .fs-abd-spec__note strong { color: var(--fs-ink); font-weight: 700; }
.fs-p-71 .fs-abd-spec__mid {
  display: grid; gap: var(--fs-sp-2); justify-items: center; align-content: center;
  background: var(--fs-teal-text); color: var(--fs-on-dark);
  padding: var(--fs-sp-3) var(--fs-sp-2); min-height: clamp(44px, 40.6px + 0.96vw, 60px);
}
.fs-p-71 .fs-abd-spec__mid span {
  font-size: var(--fs-t-quote); font-weight: 700; line-height: 1.2; text-align: center;
}
.fs-p-71 .fs-abd-spec__table { table-layout: fixed; }
.fs-p-71 .fs-abd-spec__table th,
.fs-p-71 .fs-abd-spec__table td { text-align: center; }
.fs-p-71 .fs-abd-spec__table tbody td { background: var(--fs-white); }
.fs-p-71 .fs-abd-spec__table tbody th {
  background: var(--fs-cream); color: var(--fs-teal-dk);
  font-weight: 700; padding-inline: var(--fs-sp-2);
}
.fs-p-71 .fs-abd-spec__label { display: grid; gap: var(--fs-sp-1); justify-items: center; }
.fs-p-71 .fs-abd-spec__label img { display: block; width: clamp(26px, 22.6px + 0.96vw, 40px); height: auto; }
.fs-p-71 .fs-abd-spec__colmid { width: var(--fs-abd-mid); }

@media (min-width: 768px) {
  .fs-p-71 .fs-abd-spec__head { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .fs-p-71 .fs-abd-spec__mid { grid-column: 1 / -1; order: -1; }
}
@media (min-width: 1024px) {
  .fs-p-71 .fs-abd-spec__head {
    grid-template-columns: minmax(0, 1fr) var(--fs-abd-mid) minmax(0, 1fr);
    gap: 0; align-items: end;
  }
  .fs-p-71 .fs-abd-spec__group { padding-inline: var(--fs-sp-5); }
  .fs-p-71 .fs-abd-spec__mid { grid-column: auto; order: 0; align-self: stretch; }
}

/* ---------- A07 · 포시즌성형외과 복부절제술 ---------------------------- */
.fs-p-71 .fs-abd-points__fig { display: grid; width: min(100%, 1020px); margin-inline: auto; margin-block-start: var(--fs-gap-title); }
.fs-p-71 .fs-abd-points__frame { display: block; overflow: hidden; }
.fs-p-71 .fs-abd-points__frame img { display: block; width: 100%; height: auto; }
.fs-p-71 .fs-abd-points__list { margin-block-start: var(--fs-sp-8); align-items: stretch; }
.fs-p-71 .fs-abd-points__card {
  display: grid; gap: var(--fs-sp-3); align-items: center; align-content: center;
  grid-template-columns: auto auto minmax(0, 1fr);
  border-block-start: 2px solid var(--fs-teal);
  padding: var(--fs-sp-5);
  background: var(--fs-white);
  height: 100%;
}
.fs-p-71 .fs-abd-points__num {
  font-family: var(--fs-font-en); font-size: var(--fs-t-num); font-weight: 700;
  color: var(--fs-teal-dk); line-height: 1;
}
.fs-p-71 .fs-abd-points__icon { display: block; width: clamp(52px, 45.2px + 1.9vw, 78px); }
.fs-p-71 .fs-abd-points__icon img { display: block; width: 100%; height: auto; }
.fs-p-71 .fs-abd-points__desc {
  font-size: var(--fs-t-lead); line-height: var(--fs-lh-body); color: var(--fs-ink);
}
.fs-p-71 .fs-abd-points__desc strong { font-weight: 700; color: var(--fs-teal-dk); }

@media (min-width: 600px) {
  .fs-p-71 .fs-abd-points__list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (min-width: 1024px) {
  .fs-p-71 .fs-abd-points__card {
    border-block-start: 0; border-inline-start: 2px solid var(--fs-teal);
    column-gap: var(--fs-sp-6);
  }
}

/* ---------- A24 · 닫는 상담 밴드 --------------------------------------- */
.fs-p-71 .fs-abd-cta__grid { align-items: center; }
.fs-p-71 .fs-abd-cta__copy { display: grid; gap: var(--fs-sp-5); }
.fs-p-71 .fs-abd-cta__frame { display: block; overflow: hidden; }
.fs-p-71 .fs-abd-cta__frame img { display: block; width: 100%; height: auto; }
.fs-p-71 .fs-abd-cta .fs-btnbar { margin-block-start: var(--fs-sp-2); }

/* ---------- 모션 무효화 (새 모션 없음 — 정적 상태 고정) ---------------- */
@media (prefers-reduced-motion: reduce) {
  .fs-p-71 .fs-abd-steps__item::after,
  .fs-p-71 .fs-abd-eq__box { transition: none !important; }
}

/* ==========================================================================
   ▼▼▼ 진단·수정 패스 — 2026-08-28
   ========================================================================== */

/* --------------------------------------------------------------------------
   F1. A12 4단계 — STEP 02 라벨바만 6px 내려앉는 결함  [LOCK 2 (d)]

   `.fs-abd-steps` 는 4열 그리드라 네 항목의 «행 높이»가 가장 긴 것(3줄 캡션)에
   맞춰 늘어난다. `.fs-abd-steps__item` 은 auto 행 두 개(도해 / 캡션)를 가진
   그리드이고 `align-content` 기본값이 stretch 라서, 캡션이 2줄뿐인 STEP 02 만
   남는 12px 가 도해 행으로 흘러들어간다. 그 결과
     · 흰 `__box` 바닥과 틸 라벨바 사이에 6px 흰 띠가 생기고 (간격 0 위반)
     · 바 자신이 6px 두꺼워져 네 개의 색면 띠 줄이 어긋난다.
   1920 · 1440 · 1280 · 1024 · 768 · 600 여섯 폭 전부에서 재현했다(360 은 1열이라 0).
   `vibecheck` 의 L2 는 라벨바의 margin-top·border-top 만 재므로 통과시킨다.

   → 늘림을 끄고 위에서부터 쌓는다. 항목 상자 자체의 높이는 그대로라
     커넥터 셰브런(::after, inset-block-start 27%)의 위치는 변하지 않는다.
   -------------------------------------------------------------------------- */
.fs-p-71 .fs-abd-steps__item,
.fs-p-71 .fs-abd-steps__fig { align-content: start; }

/* --------------------------------------------------------------------------
   F2. A24 상담 밴드 — 베이지 위 `.fs-muted` 대비 4.02:1 (AA 4.5 미달)
   `--fs-muted`(fs.css:2716 보정 후 #6E6E6E)는 흰·크림 기준으로 잡힌 값이라
   `--fs-beige #F0E2D5` 위에서만 미달한다. 이 페이지의 본문-소프트 계열이
   이미 쓰는 `--fs-ink-soft` 로 한 단계 내린다(새 색 0).
   -------------------------------------------------------------------------- */
.fs-p-71 .fs-abd-cta__copy .fs-muted { color: var(--fs-ink-soft); }

/* --------------------------------------------------------------------------
   F3. 섹션 제목 뒤 70px 틸 선 — 48 에서 검증된 처방을 그대로 옮긴다.

   ★ 「.is-in 이면 보이기」로 짜면 첫 화면 제목의 선이 영원히 안 그어진다.
     fs.js:220~222 는 첫 화면에 이미 들어와 있는 대상에는 `.fs-reveal` 클래스
     자체를 붙이지 않는다. → 기본을 「그어진 상태」로 두고, 실제로 리빌 대상이 된
     `.fs-reveal` 에만 초기 은닉을 건다.
   -------------------------------------------------------------------------- */
.fs-p-71 .fs-nose-head h2 { position: relative; }
.fs-p-71 .fs-nose-head h2::after {
  content: "";
  display: block;
  width: 70px;
  height: 1px;
  margin-block-start: var(--fs-sp-4);
  background: var(--fs-teal);
  transform-origin: left center;
  transform: scaleX(1);
  transition: transform var(--fs-dur-slow) var(--fs-ease-out) .5s;
}
:root.fs-js .fs-p-71 h2.fs-reveal:not(.is-in)::after,
:root.fs-js .fs-p-71 .fs-reveal:not(.is-in) h2::after { transform: scaleX(0); }

/* --------------------------------------------------------------------------
   F4. 호버 — 프레임은 고정, 사진만 scale(1.045). 그림자는 쓰지 않는다(2차 규칙).
   해부 도해(`.fs-abd-steps__box` · `.fs-abd-spec__box`)는 대상에서 뺀다 — R4.
   라벨바는 사진과 함께 커지면 글자가 흔들리므로 색만 한 단계 내린다
   (`--fs-teal-dk #00646B` = LOCK 2 가 허용하는 `--deep` 값).
   -------------------------------------------------------------------------- */
.fs-p-71 .fs-abd-define__frame img,
.fs-p-71 .fs-abd-target__frame img,
.fs-p-71 .fs-abd-points__frame img,
.fs-p-71 .fs-abd-cta__frame img { transition: transform var(--fs-dur-slow) var(--fs-ease-out); }

.fs-p-71 .fs-abd-define__fig .fs-labelbar,
.fs-p-71 .fs-abd-target__fig .fs-labelbar,
.fs-p-71 .fs-abd-points__fig .fs-labelbar { transition: background var(--fs-dur) var(--fs-ease); }

@media (hover: hover) and (pointer: fine) {
  .fs-p-71 .fs-abd-define__fig:hover .fs-abd-define__frame img,
  .fs-p-71 .fs-abd-target__fig:hover .fs-abd-target__frame img,
  .fs-p-71 .fs-abd-points__fig:hover .fs-abd-points__frame img,
  .fs-p-71 .fs-abd-cta__fig:hover   .fs-abd-cta__frame img { transform: scale(1.045); }

  .fs-p-71 .fs-abd-define__fig:hover .fs-labelbar,
  .fs-p-71 .fs-abd-target__fig:hover .fs-labelbar,
  .fs-p-71 .fs-abd-points__fig:hover .fs-labelbar { background: var(--fs-teal-dk); }
}

/* --------------------------------------------------------------------------
   F5. reduced-motion — 위에서 더한 것을 전부 정지 상태로 확정한다.
   -------------------------------------------------------------------------- */
@media (prefers-reduced-motion: reduce) {
  .fs-p-71 .fs-nose-head h2::after { transform: scaleX(1) !important; transition: none !important; }

  .fs-p-71 .fs-abd-define__frame img,
  .fs-p-71 .fs-abd-target__frame img,
  .fs-p-71 .fs-abd-points__frame img,
  .fs-p-71 .fs-abd-cta__frame img { transition: none !important; transform: none !important; }

  .fs-p-71 .fs-abd-define__fig .fs-labelbar,
  .fs-p-71 .fs-abd-target__fig .fs-labelbar,
  .fs-p-71 .fs-abd-points__fig .fs-labelbar { transition: none !important; }
}

/* ==========================================================================
   ▼▼▼ 2026-09-14 · 카테고리 틴트 파일럿 (바디성형 = 베이지, fs.css «카테고리 틴트» 블록 + body.fs-cat-body)
   공용 블록이 헤더 안개·바탕·히어로 바탕을 정한다. 여기서는 «위치» 만 남기고 색을 틴트로 (121 과 동일 처방).
   ========================================================================== */
.fs-p-71 .fs-abd-hero .fs-hero__bg::after {
  background: linear-gradient(90deg, rgba(var(--fs-cat), .92) 0%, rgba(var(--fs-cat), .90) 30%, rgba(var(--fs-cat), .50) 48%, rgba(var(--fs-cat), 0) 62%);
}
@media (max-width: 1023px) {
  .fs-p-71 .fs-abd-hero .fs-hero__inner { background: var(--fs-cat-hex); }
}

/* 3차 (2026-09-14) — 헤더 안개(위→아래)는 fs.css 에서 껐다. 좌→우 스크림 한 장이 «베이지 틴트(카피) → 연한 크림(모델 글로우)» 를
   히어로 전 높이에 걸쳐 만든다. 스톱 0/30/48/62% — 62% 에서 0 이라 인물(x 61%~)은 안 건드린다. */
/* 4차(모델 내리기 · 글로우 반대편) 는 승인자 지시로 5차에서 롤백 — object-position 은 위 원래 값(09-11)으로 돌아간다.
   「모델을 내리는 게 아니라 사진이 상단 메뉴로 연장되는 느낌」 → 안개 처방은 fs.css 카테고리 블록(5차) 참조. */


/* ==========================================================================
   ▼▼▼ 2026-09-21 · 승인자 「코성형·포유리프팅·윤곽성형·바디성형 히어로 통일」 — 규정 = 81 코재수술 포맷.
   영문 시술명 킥커 → 한글 제목 → 줄 → 리드(기존 한국어 문구). 값은 81.css 1절:
   킥커 21/500/.02em(틸) · 제목 58/700/1.22 · 요소 간격 10px · 줄 아래 8px · 리드 --fs-t-lead/1.5/#111.
   사진·카피 상자 위치·스크림은 그대로 둔다(33 선례 「모델 위치는 그대로 텍스트 부분만」).
   줄 요소의 폭(48~72)·두께·색은 fs.css:3485 정본 규칙이 정한다 — 여기서는 아래 여백만 준다.
   ========================================================================== */
.fs-p-71 .fs-abd-hero .fs-hero__copy { gap: var(--fs-sp-3); }
.fs-p-71 .fs-abd-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-71 .fs-abd-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-71 .fs-abd-hero__rule { margin-block-end: var(--fs-sp-2); }
.fs-p-71 .fs-abd-hero .fs-abd-hero__lead {
  max-width: 34em; font-size: var(--fs-t-lead); font-weight: 400; line-height: 1.5; color: var(--fs-ink);
}

/* ==========================================================================
   ▼▼▼ 2026-10-22 · 모바일 최적화(승인자 「홈페이지 전체적인 모바일 최적화 진행」) — 줄바꿈은 전 폭, 배치는 599px/1023px 이하만.
   PC 요소 위치 무변화(1024·1440·1920 실측). 백업 _src/build/backup-71-1022-mo · 실측 _design/momeasure.py 360/390/540/768/1024/1440/1920.
   · 히어로 §1-8 20/30/60 — <1024 스택 블록 제자리 수정(페이드 96 → 60).
   · balance(전 폭): 정의 본문 · 수술대상 CHECK 문장 · 특징 4줄 설명 · 주소 — 360 외톨이 「것은 불가능합니다.」「수술입니다.」「경우」×4 「완성」, 1440 「복부라인 교정」.
   ========================================================================== */
.fs-p-71 .fs-body,
.fs-p-71 .fs-abd-target__line,
.fs-p-71 .fs-abd-points__desc,
.fs-p-71 .fs-address { text-wrap: balance; }
