/*
 * 바른라운지 상세페이지 (폭 860px) — 피그마 DETAIL2 · 이용권 3타입 · 안내 3종 기준
 * 색은 .ld-page / 섹션의 CSS 변수로 받는다 (template.js tokens()).
 *  --ld-primary        대표색 (영문 서브타이틀 · 강조)
 *  --ld-primary-tint   대표색 12% (이용 방법 아이콘 원)
 *  --ld-primary-soft   대표색 22% (프로그램 요약 배경 기본값)
 *  --ld-primary-dark   대표색 70% + 검정 (프로그램 뱃지 기본값)
 *  --ld-primary-light  대표색 75% (후기 그라데이션 기본값)
 *  --ld-box-bg         이용권 서비스 박스 배경
 * 글꼴: Pretendard(OFL) · Barlow(OFL) — 숫자(가격 · 번호 · 할인율)는 모두 Barlow 'LD Din' (피그마 Kai · Klei · DIN 대체),
 *       아이폰 스냅 갤러리의 영문 포인트(피그마 Futura PT, 상용 글꼴)는 Pretendard (Book → 400, Demi → 600)
 *       @font-face 는 template.fonts.css 에 따로 둔다 (바른손카드는 이 파일을 그대로 복사하고 글꼴만 사이트 파일로 받는다)
 * 크기 단위: 길이는 모두 860 폭 기준 값 N 을 calc(N * var(--u)) 로 쓴다. --u = 페이지 폭 / 860.
 *  - 편집기 · JPEG 는 페이지 폭이 860px 이라 1u = 1px (예전 px 값 그대로)
 *  - HTML 결과물(.ld-page.is-fluid)은 감싸는 상자 폭에 맞춰 같이 줄어든다 (바른손카드 모바일)
 *  - 바른손카드 wwwroot/assets/lounge-detail/v{N}/template.css 는 이 파일의 복사본이다. 고치면 복사본도 같이 고친다.
 *    HTML 마크업이 바뀌어 예전 HTML 과 맞지 않게 될 때만 새 버전 폴더를 만든다 (template.js HTML_VERSION)
 */

/* ---------- 바탕 ---------- */
.ld-page {
  --u: calc(100cqw / 860);
  container-type: inline-size;
  --ld-primary: #64a793;
  --ld-primary-tint: #e5f0ed;
  --ld-primary-soft: #dcece8;
  --ld-primary-dark: #46756a;
  --ld-primary-light: #8fc3b3;
  --ld-box-bg: #f6f8f7;
  --ld-title: #3f2a34;
  position: relative;
  width: 860px;
  overflow: hidden;
  background: #fff;
  color: #2b2622;
  font-family: 'LD Pretendard', 'Pretendard Variable', Pretendard, -apple-system, 'Apple SD Gothic Neo', 'Malgun Gothic', sans-serif;
  font-size: 16px;
  font-weight: 400;
  line-height: normal;
  letter-spacing: 0;
  text-align: left;
  word-break: keep-all;
  overflow-wrap: break-word;
  -webkit-font-smoothing: antialiased;
  font-synthesis: none;
}
/* 바른손카드 reset.css 가 모든 요소(*)에 글꼴 · flex-shrink: 0 을, 바른손몰 PC common.css 가 모든 요소(*)에 글자 크기 12px 를 준다
   — HTML 결과물이 그 사이트 안에서도 편집기와 같게 그려지도록 기본값으로 되돌린다
   (편집기 · JPEG 에서는 원래 기본값이라 바뀌는 것이 없다. 클래스 규칙의 글꼴 · 크기 · flex 는 뒤에 있어 그대로 이긴다) */
.ld-page *, .ld-page *::before, .ld-page *::after { box-sizing: border-box; margin: 0; padding: 0; border: 0; font-family: inherit; font-size: inherit; flex-shrink: 1; }
.ld-page img { display: block; max-width: none; border: 0; }
.ld-page b { font-weight: 700; }
.ld-page a { color: inherit; text-decoration: none; }
/* 페이지 자신은 --u 를 쓰지 못한다(단위의 기준 상자가 페이지라서) — 기본 글자 크기는 섹션에서 정한다 */
.ld-sec { position: relative; width: calc(860 * var(--u)); font-size: calc(16 * var(--u)); }
/* HTML 결과물 — 감싸는 상자 폭(최대 860)에 맞춘다 */
.ld-page.is-fluid { width: 100%; max-width: 860px; margin: 0 auto; }
/* 상자 단위(cqw)를 모르는 옛 브라우저 — 편집기 860 은 1px, HTML 결과물은 화면 폭 기준 */
@supports not (container-type: inline-size) {
  .ld-page { --u: 1px; }
  .ld-page.is-fluid { --u: calc(min(100vw, 860px) / 860); }
}

/* 공통 머리말 */
.ld-head { position: relative; display: flex; flex-direction: column; align-items: center; text-align: center; }
.ld-head__top { display: flex; flex-direction: column; align-items: center; gap: calc(21 * var(--u)); }
.ld-label {
  font-weight: 700; font-size: calc(17 * var(--u)); line-height: calc(20 * var(--u)); letter-spacing: calc(5.44 * var(--u));
  color: var(--ld-primary); white-space: nowrap;
}
.ld-title { font-weight: 600; font-size: calc(55 * var(--u)); line-height: normal; letter-spacing: calc(-0.55 * var(--u)); color: var(--ld-title); }

/* 사진 틀 (위치 · 크기 조절) */
.ld-img { position: relative; overflow: hidden; background: #e9e9e9; flex: none; }
.ld-img__el { position: absolute; max-width: none; user-select: none; -webkit-user-drag: none; }
/* HTML 결과물의 사진 조각 — 틀에 보이는 부분만 잘라 둔 그림이라 틀을 그대로 채운다 */
.ld-img__el.is-fill { left: 0; top: 0; width: 100%; height: 100%; }
.ld-img__ph {
  position: absolute; inset: 0;
  background: linear-gradient(135deg, #ececec 0%, #dcdcdc 100%);
  display: flex; align-items: center; justify-content: center;
}

/* ---------- 0. 인트로 이미지 — 사진만, 폭 860 · 높이는 사진 비율 그대로 (사진 사이 띄움 없음) ---------- */
.ld-intro { background: #fff; }

/* ---------- 1. 히어로 (860 x 995) ---------- */
.ld-hero { height: calc(995 * var(--u)); overflow: hidden; background: #141011; }
.ld-hero__img { position: absolute !important; left: 0; top: 0; background: #2a2627; }
.ld-hero__grad {
  position: absolute; inset: 0; pointer-events: none;
  background-image: linear-gradient(180deg, rgba(20, 15, 17, 0.1) 0%, rgba(20, 15, 17, 0.1) 38%, rgba(20, 15, 17, 0.72) 78%, rgba(20, 15, 17, 0.92) 100%);
}
.ld-hero__body { position: absolute; left: 0; right: 0; bottom: calc(80 * var(--u)); display: flex; flex-direction: column; align-items: center; }
.ld-hero__logos { display: flex; align-items: center; justify-content: center; gap: calc(12 * var(--u)); height: calc(56 * var(--u)); margin-bottom: calc(6 * var(--u)); }
.ld-hero__bc { position: relative; display: block; width: calc(157 * var(--u)); height: calc(12 * var(--u)); overflow: hidden; flex: none; }
/* 그림(img) 크기 규칙은 .ld-page 를 앞에 붙인다 — 바른손몰 MO 의 .prd_view_detail img { width: 100% } 같은 사이트 규칙보다 앞서도록 */
.ld-page .ld-hero__bc-a { position: absolute; left: 0; top: calc(0.034 * var(--u)); width: calc(100.891 * var(--u)); height: calc(11.967 * var(--u)); }
.ld-page .ld-hero__bc-b { position: absolute; left: calc(109.146 * var(--u)); top: calc(0.004 * var(--u)); width: calc(47.851 * var(--u)); height: calc(12 * var(--u)); }
.ld-page .ld-hero__x { width: calc(9 * var(--u)); height: calc(10 * var(--u)); flex: none; }
.ld-page .ld-hero__logo { height: calc(56 * var(--u)); width: auto; max-width: calc(320 * var(--u)); object-fit: contain; flex: none; }
.ld-hero__logo.is-white { filter: brightness(0) invert(1); }
/* 업체 로고가 없을 때 대신 쓰는 브랜드명 (로고 높이 56 줄에 맞춤). 글자 크기 20 — 편집 시험 의견(2026-10-28, 34 는 BARUNSON CARD 로고보다 너무 큼) */
.ld-hero__logotext { max-width: calc(560 * var(--u)); overflow: hidden; text-overflow: ellipsis; font-weight: 700; font-size: calc(20 * var(--u)); line-height: calc(56 * var(--u)); letter-spacing: calc(-0.2 * var(--u)); color: #fff; white-space: nowrap; flex: none; }
.ld-hero__title {
  max-width: calc(820 * var(--u)); font-weight: 700; font-size: calc(55 * var(--u)); line-height: calc(70 * var(--u)); letter-spacing: calc(-0.6186 * var(--u));
  color: #fff; text-align: center;
}
.ld-hero__tags { display: flex; align-items: center; justify-content: center; gap: calc(13 * var(--u)); margin-top: calc(25 * var(--u)); font-size: calc(25 * var(--u)); line-height: normal; white-space: nowrap; }
.ld-hero__tag1 { font-weight: 700; }
.ld-hero__tag2 { font-weight: 400; }
.ld-page .ld-hero__dot { width: calc(3.143 * var(--u)); height: calc(3.142 * var(--u)); flex: none; }

/* ---------- 2. 프로그램 요약 ---------- */
.ld-program { background: var(--prog-bg, var(--ld-primary-soft)); padding: calc(140 * var(--u)) 0; display: flex; flex-direction: column; align-items: center; gap: calc(60 * var(--u)); }
.ld-program__head { gap: calc(19 * var(--u)); }
.ld-program__title { line-height: calc(60 * var(--u)); color: #000; }
.ld-pcards { width: calc(710 * var(--u)); display: flex; flex-direction: column; gap: calc(20 * var(--u)); }
.ld-pcard {
  display: flex; align-items: center; justify-content: space-between; gap: calc(12 * var(--u)); overflow: hidden;
  padding: calc(32 * var(--u)) calc(32 * var(--u)) calc(38 * var(--u)); border-radius: calc(10 * var(--u)); background: var(--card-bg, var(--ld-primary)); color: var(--card-fg, #fff);
}
.ld-pcard__text { display: flex; gap: calc(6 * var(--u)); align-items: flex-start; width: calc(400 * var(--u)); max-width: calc(400 * var(--u)); flex: none; }
.ld-pcard__no { position: relative; flex: none; width: calc(46 * var(--u)); min-width: calc(46 * var(--u)); height: calc(40 * var(--u)); overflow: hidden; }
.ld-pcard__no span {
  position: absolute; left: calc(-3 * var(--u)); top: 0; white-space: nowrap;
  font-family: 'LD Din', 'LD Pretendard', sans-serif; font-style: italic; font-weight: 500; font-size: calc(35 * var(--u)); line-height: calc(40 * var(--u)); letter-spacing: calc(0.5 * var(--u));
}
.ld-pcard__body { flex: 1 0 0; min-width: calc(1 * var(--u)); padding-top: calc(5 * var(--u)); display: flex; flex-direction: column; gap: calc(14 * var(--u)); align-items: flex-start; }
.ld-pcard__tb { width: 100%; display: flex; flex-direction: column; gap: calc(7 * var(--u)); }
.ld-pcard__name { font-weight: 500; font-size: calc(30 * var(--u)); line-height: normal; letter-spacing: calc(-1.5 * var(--u)); }
.ld-pcard__desc { font-weight: 400; font-size: calc(21 * var(--u)); line-height: calc(30 * var(--u)); letter-spacing: calc(-1.05 * var(--u)); opacity: 0.8; }
.ld-pcard__badges { display: flex; flex-direction: column; gap: calc(6 * var(--u)); align-items: flex-start; }
.ld-pcard__badge {
  padding: calc(2 * var(--u)) calc(8 * var(--u)); background: var(--badge-bg, var(--ld-primary-dark)); color: var(--badge-fg, #fff);
  font-weight: 500; font-size: calc(21 * var(--u)); line-height: calc(32 * var(--u)); letter-spacing: calc(-0.42 * var(--u)); white-space: nowrap;
}
.ld-pcard__price { display: flex; flex-direction: column; gap: calc(3 * var(--u)); align-items: flex-end; flex: none; }
.ld-pcard__normal { position: relative; display: flex; align-items: center; gap: calc(2 * var(--u)); padding: 0 calc(8 * var(--u)); opacity: 0.6; white-space: nowrap; }
.ld-pcard__normal::after { content: ''; position: absolute; left: 0; right: 0; top: 50%; height: calc(1 * var(--u)); margin-top: calc(-1 * var(--u)); background: currentColor; }
.ld-pcard__sale { display: flex; align-items: center; justify-content: flex-end; gap: calc(2 * var(--u)); padding-right: calc(7 * var(--u)); white-space: nowrap; }
.ld-pgrp { display: flex; align-items: center; }
/* 가격 숫자는 Barlow(피그마 Kai 대체) — Kai 보다 숫자가 굵고 넓어 자간을 덜 줄인다. 단위(만 · 천원)는 Pretendard */
.ld-num-s { font-family: 'LD Din', 'LD Pretendard', sans-serif; font-weight: 500; font-size: calc(24 * var(--u)); letter-spacing: calc(-0.2 * var(--u)); }
.ld-unit-s { font-weight: 700; font-size: calc(16.917 * var(--u)); letter-spacing: calc(-0.3383 * var(--u)); }
.ld-num-l { font-family: 'LD Din', 'LD Pretendard', sans-serif; font-weight: 500; font-size: calc(44.755 * var(--u)); letter-spacing: calc(-0.4 * var(--u)); margin-right: calc(3 * var(--u)); }
.ld-pgrp + .ld-pgrp { margin-left: calc(5 * var(--u)); }
.ld-unit-l { font-weight: 700; font-size: calc(25.063 * var(--u)); letter-spacing: calc(-1.2531 * var(--u)); }

/* ---------- 3. 고객 후기 ---------- */
.ld-review { position: relative; overflow: hidden; background: #f7fbff; padding: calc(140 * var(--u)) 0 calc(160 * var(--u)); }
.ld-review__bg { position: absolute; inset: 0; opacity: 0.6; background-image: linear-gradient(180deg, var(--g1, #fff) 0%, var(--g2, var(--ld-primary-light)) 100%); }
.ld-review__head { gap: calc(17 * var(--u)); }
.ld-review__desc { font-weight: 300; font-size: calc(34 * var(--u)); line-height: calc(48 * var(--u)); letter-spacing: calc(-0.34 * var(--u)); color: #272727; }
.ld-review__list { position: relative; margin-top: calc(72.5 * var(--u)); display: flex; flex-direction: column; gap: calc(40 * var(--u)); }
.ld-rwrap { position: relative; width: calc(638.489 * var(--u)); }
.ld-rwrap.is-left { margin-left: calc(70 * var(--u)); }
.ld-rwrap.is-right { margin-left: calc(151.511 * var(--u)); }
.ld-rcard {
  position: relative; z-index: 1; width: 100%;
  display: flex; flex-direction: column; gap: calc(12 * var(--u)); padding: calc(50 * var(--u)) calc(38 * var(--u));
  border-radius: calc(40 * var(--u)); background: #fff; box-shadow: calc(4 * var(--u)) calc(4 * var(--u)) calc(11.5 * var(--u)) rgba(0, 0, 0, 0.04);
}
.ld-rcard--ghost { position: absolute; z-index: 0; left: calc(-85 * var(--u)); top: calc(-104 * var(--u)); width: calc(635 * var(--u)); opacity: 0.2; }
.ld-rdeco { position: absolute; z-index: 0; left: calc(172.78 * var(--u)); top: calc(-46 * var(--u)); width: calc(635 * var(--u)); height: calc(317 * var(--u)); border-radius: calc(40 * var(--u)); background: #fff; opacity: 0.4; box-shadow: calc(4 * var(--u)) calc(4 * var(--u)) calc(11.5 * var(--u)) rgba(0, 0, 0, 0.04); }
.ld-rcard__top { display: flex; align-items: center; justify-content: space-between; }
.ld-rcard__id { font-weight: 600; font-size: calc(23 * var(--u)); line-height: calc(45 * var(--u)); letter-spacing: calc(-0.46 * var(--u)); color: #a5a5a5; white-space: nowrap; }
.ld-rcard__id.is-empty { opacity: 0.5; }
.ld-rcard__top > .ld-stars:only-child { margin-left: auto; }
.ld-rcard__body { font-weight: 300; font-size: calc(29 * var(--u)); line-height: calc(40 * var(--u)); letter-spacing: calc(-0.58 * var(--u)); color: #323232; }
.ld-rcard__body b { font-weight: 600; }
.ld-stars { position: relative; display: block; flex: none; width: calc(140 * var(--u)); height: calc(26.869 * var(--u)); }
.ld-stars img { position: absolute; left: 0; top: 0; width: calc(140 * var(--u)); height: calc(26.869 * var(--u)); }
.ld-stars__off { filter: grayscale(1); opacity: 0.25; }
.ld-stars__on { position: absolute; left: 0; top: 0; height: 100%; overflow: hidden; }

/* ---------- 4. 브랜드 소개 ---------- */
.ld-brand { background: var(--brand-bg, #f7f8f9); padding: calc(160 * var(--u)) calc(46 * var(--u)); display: flex; flex-direction: column; align-items: center; gap: calc(62 * var(--u)); }
.ld-brand__top { width: 100%; display: flex; flex-direction: column; align-items: center; gap: calc(30 * var(--u)); }
.ld-brand__namewrap { display: flex; flex-direction: column; align-items: center; gap: var(--logo-gap, calc(12 * var(--u))); }
.ld-page .ld-brand__logo { height: calc(94.991 * var(--u)); width: auto; max-width: calc(420 * var(--u)); object-fit: contain; }
.ld-brand__logo.is-black { filter: brightness(0); }
.ld-brand__name { font-weight: 600; font-size: calc(65 * var(--u)); line-height: normal; color: #2b2622; text-align: center; }
.ld-brand__intro { font-weight: 400; font-size: calc(34 * var(--u)); line-height: calc(55 * var(--u)); letter-spacing: calc(-1.02 * var(--u)); color: #5c5449; text-align: center; }
.ld-brand__box { width: calc(720 * var(--u)); display: flex; flex-direction: column; align-items: center; gap: calc(15 * var(--u)); padding: calc(49 * var(--u)) calc(45 * var(--u)); border-radius: calc(10 * var(--u)); background: #fff; text-align: center; overflow: hidden; }
.ld-brand__sub { font-weight: 600; font-size: calc(34 * var(--u)); line-height: normal; color: #292929; }
.ld-brand__subbody { font-weight: 400; font-size: calc(31 * var(--u)); line-height: calc(50 * var(--u)); letter-spacing: calc(-0.31 * var(--u)); color: #5c5349; }

/* ---------- 5. 서브 이미지 (860 x 1075) ---------- */
.ld-subImage { height: calc(1075 * var(--u)); overflow: hidden; background: #000; }

/* ---------- 6. 서비스 이용권 ---------- */
.ld-tickets { padding: calc(185 * var(--u)) calc(37 * var(--u)) 0; display: flex; flex-direction: column; align-items: center; gap: calc(60 * var(--u)); background: #fff; }
.ld-tickets.is-last { padding-bottom: calc(170 * var(--u)); }
.ld-tickets__head { gap: calc(17 * var(--u)); }
.ld-tickets__head .ld-title { letter-spacing: calc(-0.55 * var(--u)); }
.ld-tickets__desc { font-weight: 400; font-size: calc(32 * var(--u)); line-height: calc(44 * var(--u)); color: #5c5349; }
.ld-tk-list { width: calc(786 * var(--u)); display: flex; flex-direction: column; gap: calc(60 * var(--u)); }
.ld-tk {
  position: relative; width: calc(786 * var(--u)); overflow: hidden; background: #fff;
  border: calc(1.091 * var(--u)) solid rgba(43, 38, 34, 0.14); border-radius: calc(10 * var(--u));
  box-shadow: 0 calc(4.365 * var(--u)) calc(19.641 * var(--u)) rgba(43, 38, 34, 0.08); padding-bottom: calc(60 * var(--u));
}
.ld-tk__media { position: relative; width: calc(786 * var(--u)); margin: calc(-1.091 * var(--u)) calc(-1.091 * var(--u)) 0; background: #000; }
.ld-tk__badge {
  position: absolute; left: calc(40 * var(--u)); bottom: calc(40 * var(--u)); width: calc(129.615 * var(--u)); height: calc(129.615 * var(--u)); border-radius: 50%;
  display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; color: #fff; white-space: nowrap;
}
.ld-tk__b1 { font-weight: 500; font-size: calc(22 * var(--u)); line-height: normal; color: #dedede; }
.ld-tk__b2 { font-weight: 700; font-size: calc(36.894 * var(--u)); line-height: normal; letter-spacing: calc(-0.8408 * var(--u)); color: #fff; margin-top: calc(-2 * var(--u)); }
.ld-tk__info { display: flex; flex-direction: column; margin: 0 calc(39.9 * var(--u)); }
.ld-tk__titlerow { display: flex; align-items: flex-end; justify-content: space-between; gap: calc(16 * var(--u)); }
.ld-tk__titles { display: flex; flex-direction: column; align-items: flex-start; gap: calc(11 * var(--u)); min-width: 0; }
.ld-tk__opt { font-weight: 700; font-size: calc(20 * var(--u)); line-height: normal; letter-spacing: calc(2 * var(--u)); color: var(--ld-primary); white-space: nowrap; }
.ld-tk__title { font-weight: 600; font-size: calc(41 * var(--u)); line-height: normal; letter-spacing: calc(-0.41 * var(--u)); color: #2b2622; }
.ld-tk__dur { display: flex; align-items: center; gap: calc(3.443 * var(--u)); flex: none; font-weight: 400; font-size: calc(22 * var(--u)); line-height: normal; letter-spacing: calc(-0.22 * var(--u)); color: #686868; white-space: nowrap; }
.ld-tk__dur img { width: calc(21.808 * var(--u)); height: calc(21.808 * var(--u)); }
.ld-tk__titlerow > .ld-tk__dur { margin-bottom: calc(12 * var(--u)); }
.ld-tk__price { display: flex; flex-direction: column; align-items: flex-start; margin-top: calc(16 * var(--u)); }
.ld-tk__normal {
  position: relative; padding: calc(1 * var(--u)) calc(4 * var(--u)); margin-bottom: calc(-3 * var(--u)); overflow: hidden; white-space: nowrap;
  font-family: 'LD Din', 'LD Pretendard', sans-serif; font-weight: 400; color: #9e9e9e; font-size: calc(26.49 * var(--u)); line-height: normal;
}
.ld-tk__normal::after { content: ''; position: absolute; left: calc(4 * var(--u)); right: calc(4 * var(--u)); top: 50%; height: calc(1.309 * var(--u)); margin-top: calc(-1.309 * var(--u)); background: #9e9e9e; }
.ld-tk__nl { font-family: 'LD Pretendard', sans-serif; font-size: calc(24.663 * var(--u)); letter-spacing: calc(-0.9865 * var(--u)); }
.ld-tk__nn { letter-spacing: calc(-1.0596 * var(--u)); }
.ld-tk__salerow { display: flex; align-items: center; gap: calc(10 * var(--u)); }
.ld-tk__rate {
  display: block; margin-top: calc(4 * var(--u)); width: calc(74.902 * var(--u)); height: calc(31.971 * var(--u)); background: #2b2622; color: #fff; text-align: center;
  font-family: 'LD Din', 'LD Pretendard', sans-serif; font-weight: 600; font-size: calc(27.403 * var(--u)); line-height: calc(31.971 * var(--u)); letter-spacing: calc(-0.8221 * var(--u)); white-space: nowrap;
}
.ld-tk__sale {
  font-family: 'LD Din', 'LD Pretendard', sans-serif; font-weight: 600; font-size: calc(45.672 * var(--u)); line-height: normal; letter-spacing: calc(-0.4567 * var(--u));
  color: var(--ld-primary); white-space: nowrap;
}
.ld-tk__won { font-family: 'LD Pretendard', sans-serif; font-weight: 600; }

/* 서비스 박스 (B · C 기본) */
.ld-tk__box {
  margin: 0 calc(39.9 * var(--u)); display: flex; flex-direction: column; gap: calc(3 * var(--u)); overflow: hidden;
  padding: calc(35 * var(--u)) calc(38 * var(--u)); border: calc(1.091 * var(--u)) solid #e6e6e6; border-radius: calc(10 * var(--u)); background: var(--ld-box-bg);
}
.ld-tk__bhead { display: flex; align-items: center; justify-content: space-between; gap: calc(12 * var(--u)); height: calc(51 * var(--u)); border-bottom: calc(1 * var(--u)) solid var(--ld-primary); overflow: hidden; }
.ld-tk__btitle { font-weight: 700; font-size: calc(22.914 * var(--u)); line-height: normal; letter-spacing: calc(1.0911 * var(--u)); color: var(--ld-primary); white-space: nowrap; }
.ld-tk__bdesc { padding: calc(20 * var(--u)) 0; font-weight: 400; font-size: calc(25.576 * var(--u)); line-height: calc(43.973 * var(--u)); letter-spacing: calc(-0.5115 * var(--u)); color: #686868; }
.ld-tk__groups { display: flex; flex-direction: column; gap: calc(20 * var(--u)); padding-top: calc(20 * var(--u)); }
.ld-tk__grp { display: flex; flex-direction: column; gap: calc(3 * var(--u)); padding-top: calc(20 * var(--u)); }
.ld-tk__ghead { display: flex; align-items: center; gap: calc(12 * var(--u)); }
.ld-tk__dot { display: block; width: calc(5.456 * var(--u)); height: calc(5.456 * var(--u)); border-radius: calc(2.728 * var(--u)); background: var(--ld-primary); flex: none; }
.ld-tk__gtitle { font-weight: 600; font-size: calc(29.461 * var(--u)); line-height: normal; letter-spacing: calc(-0.2946 * var(--u)); color: #2b2622; }
.ld-tk__list { display: flex; flex-direction: column; gap: calc(6 * var(--u)); padding: calc(13 * var(--u)) 0 calc(13 * var(--u)) calc(15 * var(--u)); }
.ld-tk__item { display: flex; gap: calc(14 * var(--u)); align-items: flex-start; }
.ld-tk__itext { font-weight: 400; font-size: calc(25.576 * var(--u)); line-height: calc(43.973 * var(--u)); letter-spacing: calc(-0.5115 * var(--u)); color: #686868; }
.ld-chk { display: flex; align-items: center; padding: calc(12 * var(--u)) 0; flex: none; }
.ld-chk i { position: relative; display: block; width: calc(21.823 * var(--u)); height: calc(21.823 * var(--u)); border-radius: 50%; background: var(--ld-primary); }
.ld-chk img { position: absolute; left: 50%; top: 50%; width: calc(15.276 * var(--u)); height: calc(15.276 * var(--u)); transform: translate(-50%, -50%); }
.ld-flow__a { color: var(--ld-primary); }
.ld-tk__div { height: calc(1 * var(--u)); background-image: linear-gradient(90deg, var(--ld-primary) 50%, rgba(255, 255, 255, 0) 50%); background-size: calc(5.981 * var(--u)) calc(1 * var(--u)); background-repeat: repeat-x; }

/* TYPE A 기본형(좌측) */
.ld-tk--A .ld-tk__info { padding-top: calc(47 * var(--u)); }
.ld-tk--A .ld-tk__box { margin-top: calc(40 * var(--u)); padding: calc(27.91 * var(--u)) calc(36.91 * var(--u)) calc(36 * var(--u)); gap: 0; background: var(--ld-box-bg); }
.ld-tk--A .ld-tk__bhead { height: calc(51 * var(--u)); }
.ld-tk__alist { display: flex; flex-direction: column; gap: calc(22 * var(--u)); margin-top: calc(20 * var(--u)); padding-left: calc(6.42 * var(--u)); }
.ld-tk__aitem { display: flex; gap: calc(10.63 * var(--u)); align-items: flex-start; }
.ld-tk__aitem .ld-chk { padding: calc(6.8 * var(--u)) 0; }
.ld-tk__aitem .ld-chk i { width: calc(21.399 * var(--u)); height: calc(21.399 * var(--u)); }
.ld-tk__aitem .ld-chk img { width: calc(14.979 * var(--u)); height: calc(14.979 * var(--u)); }
.ld-tk__aflow, .ld-tk__atext { font-weight: 600; font-size: calc(24 * var(--u)); line-height: calc(35 * var(--u)); letter-spacing: calc(-0.48 * var(--u)); color: #464646; }
.ld-tk__adesc { margin-top: calc(13 * var(--u)); padding-left: calc(6 * var(--u)); font-weight: 400; font-size: calc(24 * var(--u)); line-height: calc(40 * var(--u)); letter-spacing: calc(-0.48 * var(--u)); color: #464646; }
.ld-tk--A { padding-bottom: calc(55 * var(--u)); }

/* TYPE B 기본형(가운데) */
.ld-tk--B .ld-tk__info { padding: calc(74 * var(--u)) 0; align-items: center; gap: calc(20 * var(--u)); text-align: center; }
.ld-tk--B .ld-tk__titlerow { flex-direction: column; align-items: center; gap: calc(12 * var(--u)); }
.ld-tk--B .ld-tk__titles { align-items: center; gap: calc(8 * var(--u)); }
.ld-tk--B .ld-tk__title { font-size: calc(43.845 * var(--u)); letter-spacing: calc(-0.4385 * var(--u)); }
.ld-tk--B .ld-tk__titlerow > .ld-tk__dur { margin-bottom: 0; }
.ld-tk--B .ld-tk__price { align-items: center; margin-top: 0; }
.ld-tk--B .ld-tk__normal { margin-bottom: 0; }

/* TYPE C 갤러리형 */
.ld-tk--C .ld-tk__info { padding-top: calc(61 * var(--u)); }
.ld-tk--C .ld-tk__titles { gap: calc(9 * var(--u)); }
.ld-tk--C .ld-tk__title { line-height: calc(54 * var(--u)); letter-spacing: calc(-0.82 * var(--u)); }
.ld-tk--C .ld-tk__price { margin-top: calc(11 * var(--u)); }
.ld-tk__gal { margin: calc(42 * var(--u)) calc(39.9 * var(--u)) 0; display: grid; grid-template-columns: repeat(3, calc(230 * var(--u))); gap: calc(7 * var(--u)); }
.ld-tk__gal .ld-img { border: calc(1 * var(--u)) solid #e6e6e6; border-radius: calc(10 * var(--u)); background: #f7f9f8; }
.ld-tk--C .ld-tk__box { margin-top: calc(41 * var(--u)); padding: calc(46.985 * var(--u)) calc(37.988 * var(--u)) calc(28.991 * var(--u)); gap: calc(2.999 * var(--u)); }
.ld-tk--C .ld-tk__groups { padding: calc(19.994 * var(--u)) 0; gap: calc(19.994 * var(--u)); }
.ld-tk--C .ld-tk__list { gap: calc(10 * var(--u)); }
.ld-tk--C .ld-tk__flow { line-height: calc(39.988 * var(--u)); }
.ld-tk--B .ld-tk__box { margin-top: 0; }

/* ---------- 7. 아이폰 스냅 갤러리 (피그마 '브랜드소개 영역(아이폰스냅)') · 8. 한복 스냅 갤러리 — 배경 검정 · 흰색 ---------- */
.ld-brandPhotos, .ld-hanbok { background: #000; }
.ld-bp--white { background: #fff; }

/* 갤러리형: 큰 사진을 세로로 (전체 860 × 1160 · 왼쪽/오른쪽 720 × 1085), 사이 125 */
.ld-bp__stack { display: flex; flex-direction: column; gap: calc(125 * var(--u)); padding-bottom: calc(230 * var(--u)); }
.ld-bp__ph.is-left { align-self: flex-start; }
.ld-bp__ph.is-right { align-self: flex-end; }
.ld-bp__note { display: flex; flex-direction: column; gap: calc(36.38 * var(--u)); margin-top: calc(22.34 * var(--u)); padding: 0 calc(81 * var(--u)); }
.ld-bp__ntitle { font-weight: 400; font-size: calc(40 * var(--u)); line-height: calc(72.32 * var(--u)); letter-spacing: calc(-0.4 * var(--u)); color: #fff; white-space: nowrap; }
/* 본문 아래 빈 두 줄(피그마 원본)만큼 띄운다 */
.ld-bp__nbody { padding-bottom: calc(98.796 * var(--u)); font-weight: 400; font-size: calc(26.847 * var(--u)); line-height: calc(49.398 * var(--u)); letter-spacing: calc(-0.2685 * var(--u)); color: #fff; }
.ld-bp--white .ld-bp__ntitle { color: #2b2622; }
.ld-bp--white .ld-bp__nbody { color: #5c5349; }

/* 그리드형: 대표 사진(725 × 930, 왼쪽) → 제목 · 소개 → ALBUM → 2열 사진(367 × 406)
   한복 룩북형 · 부케도 대표 사진(725 × 934) · 금색 제목 · 구분선 줄을 같이 쓴다. 제목은 두 사진 크기 모두 위에서 1195.07 */
.ld-bp--grid { padding: calc(196 * var(--u)) 0 calc(216.58 * var(--u)); }
.ld-bp__main { background: #fbf9f3; }
.ld-bp__head { display: flex; flex-direction: column; gap: calc(22.09 * var(--u)); padding-left: calc(54 * var(--u)); }
.ld-bp__main + .ld-bp__head, .ld-bp__main + .ld-bp__album { margin-top: calc(69.07 * var(--u)); }
.ld-hanbok .ld-bp__main + .ld-bp__head, .ld-hanbok .ld-bp__main + .ld-bp__album { margin-top: calc(65.07 * var(--u)); }
/* 금색 영문 (제목 · ALBUM) */
.ld-bp__title, .ld-bp__label { font-weight: 400; font-size: calc(40 * var(--u)); line-height: calc(46.81 * var(--u)); color: #b9a568; white-space: nowrap; }
.ld-bp__title { padding-left: calc(1 * var(--u)); }
.ld-bp__body { max-width: calc(750 * var(--u)); font-weight: 400; font-size: calc(30 * var(--u)); line-height: calc(49 * var(--u)); color: #c9c9c9; opacity: 0.9; }
.ld-bp--white .ld-bp__body { color: #5c5349; opacity: 1; }
.ld-bp__album { display: flex; flex-direction: column; gap: calc(33.1 * var(--u)); padding-left: calc(54 * var(--u)); }
.ld-bp__head + .ld-bp__album { margin-top: calc(134.12 * var(--u)); }
.ld-bp__subrow { display: flex; align-items: center; gap: calc(30 * var(--u)); width: calc(749 * var(--u)); height: calc(47 * var(--u)); }
.ld-bp__sub { font-weight: 600; font-size: calc(30 * var(--u)); line-height: calc(46.81 * var(--u)); color: #8e8e8e; white-space: nowrap; }
.ld-bp__line { position: relative; flex: 1 0 0; min-width: calc(1 * var(--u)); height: 0; }
.ld-bp__line > span { position: absolute; top: calc(-0.5 * var(--u)); bottom: calc(-0.5 * var(--u)); left: 0; right: 0; }
.ld-bp__line img { display: block; width: 100%; height: 100%; }
.ld-bp__grid { display: grid; grid-template-columns: repeat(2, calc(367 * var(--u))); column-gap: calc(11 * var(--u)); row-gap: calc(12.43 * var(--u)); margin: calc(60 * var(--u)) 0 0 calc(58 * var(--u)); }
.ld-bp__album + .ld-bp__grid { margin-top: calc(12.43 * var(--u)); }
.ld-bp__grid:first-child { margin-top: 0; }
.ld-bp__cell { background: #cbc8bf; }

/* 한복 룩북형 (피그마 787:3568): LOOKBOOK 아래 묶음 — 구분선 줄(x 54) → 큰 사진 745 × 707(x 58) → 2열 사진, 묶음 사이 179 */
.ld-hanbok.ld-bp--lookbook { padding: calc(196 * var(--u)) 0 calc(190.43 * var(--u)); }
.ld-hb__groups { display: flex; flex-direction: column; gap: calc(179 * var(--u)); }
.ld-bp__album + .ld-hb__groups { margin-top: calc(33.1 * var(--u)); }
.ld-bp__head + .ld-hb__groups { margin-top: calc(134.12 * var(--u)); }
.ld-bp__main + .ld-hb__groups { margin-top: calc(65.07 * var(--u)); }
.ld-hb__grp { display: flex; flex-direction: column; align-items: flex-start; padding-left: calc(54 * var(--u)); }
.ld-hb__big { margin: calc(12.43 * var(--u)) 0 0 calc(4 * var(--u)); background: #cbc8bf; }
.ld-hb__cells { display: grid; grid-template-columns: repeat(2, calc(367 * var(--u))); column-gap: calc(11 * var(--u)); row-gap: calc(12.43 * var(--u)); margin: calc(33 * var(--u)) 0 0 calc(4 * var(--u)); }

/* ---------- 9. 부케 스냅 갤러리 (피그마 787:1234) — 흰 배경: 대표 사진 → 묶음(제목 줄 → 큰 사진 745 × 700 → 고객님 후기 2열) ---------- */
.ld-bouquet { background: #fff; padding: calc(192 * var(--u)) 0 calc(241 * var(--u)); }
.ld-bouquet.ld-bp--black { background: #000; }
.ld-bq__groups { display: flex; flex-direction: column; gap: calc(179 * var(--u)); }
.ld-bp__main + .ld-bq__groups { margin-top: calc(142 * var(--u)); }
.ld-bq__grp { display: flex; flex-direction: column; align-items: flex-start; padding-left: calc(54 * var(--u)); }
.ld-bq__title { font-weight: 700; font-size: calc(40 * var(--u)); line-height: calc(46.81 * var(--u)); color: #292929; white-space: nowrap; }
.ld-bp--black .ld-bq__title { color: #fff; }
.ld-bq__photos { display: flex; flex-direction: column; gap: calc(30 * var(--u)); margin: calc(30 * var(--u)) 0 0 calc(4 * var(--u)); }
.ld-bq__big { background: #cbc8bf; }
.ld-bq__rrow { margin-top: calc(52 * var(--u)); }
.ld-bq__rtitle { font-weight: 500; font-size: calc(30 * var(--u)); line-height: calc(46.81 * var(--u)); color: #8e8e8e; white-space: nowrap; }
.ld-bq__cells { display: grid; grid-template-columns: repeat(2, calc(367 * var(--u))); column-gap: calc(11 * var(--u)); row-gap: calc(31 * var(--u)); margin: calc(31 * var(--u)) 0 0 calc(4 * var(--u)); }

/* ---------- 10. 헬스 기구 소개 (피그마 787:3231) — 흰 배경: 사진 2장 → 영문 제목 · 소개 → 큰 사진 860 × 1267 → 사진 2장 ---------- */
.ld-equipment { background: #fff; padding: calc(181 * var(--u)) 0 calc(186.37 * var(--u)); display: flex; flex-direction: column; align-items: flex-start; }
.ld-eq__img2 { margin: calc(65 * var(--u)) 0 0 calc(131 * var(--u)); }
.ld-eq__text { display: flex; flex-direction: column; gap: calc(18.61 * var(--u)); margin-top: calc(80.1 * var(--u)); padding-left: calc(62.5 * var(--u)); }
.ld-eq__title { padding-left: calc(1 * var(--u)); font-weight: 400; font-size: calc(40 * var(--u)); line-height: calc(46.81 * var(--u)); color: var(--ld-primary); white-space: nowrap; }
.ld-eq__body { max-width: calc(735 * var(--u)); font-weight: 400; font-size: calc(30 * var(--u)); line-height: calc(49 * var(--u)); color: #333; opacity: 0.9; }
.ld-eq__hero { position: relative; width: calc(860 * var(--u)); margin-top: calc(65 * var(--u)); overflow: hidden; }
.ld-eq__text + .ld-eq__hero { margin-top: calc(154.65 * var(--u)); }
.ld-eq__grad { position: absolute; left: 0; right: 0; top: calc(537.51 * var(--u)); bottom: 0; pointer-events: none; background-image: linear-gradient(180deg, rgba(56, 56, 56, 0) 0%, rgba(0, 0, 0, 0.82) 100%); }
.ld-eq__htext { position: absolute; left: calc(76 * var(--u)); right: calc(60 * var(--u)); bottom: calc(128.04 * var(--u)); display: flex; flex-direction: column; gap: calc(26.09 * var(--u)); color: #fff; }
.ld-eq__htitle { padding-left: calc(1 * var(--u)); font-weight: 400; font-size: calc(40 * var(--u)); line-height: calc(46.81 * var(--u)); white-space: nowrap; }
.ld-eq__hbody { font-weight: 400; font-size: calc(30 * var(--u)); line-height: calc(49 * var(--u)); opacity: 0.9; }
.ld-eq__img3 { margin-top: calc(64 * var(--u)); align-self: flex-end; }
.ld-eq__img4 { margin-top: calc(60.37 * var(--u)); }

/* ---------- 11. 트레이너 소개 (피그마 787:2230) — 검정 배경 · 카드 720 (사진 720 × 640 + 정보) ---------- */
.ld-trainers { background: #000; padding: calc(163 * var(--u)) calc(70 * var(--u)) calc(140.72 * var(--u)); display: flex; flex-direction: column; align-items: center; gap: calc(60 * var(--u)); }
.ld-tr__title { line-height: calc(66 * var(--u)); color: #fff; }
.ld-tr__list { width: calc(720 * var(--u)); display: flex; flex-direction: column; gap: calc(40 * var(--u)); }
.ld-tr { width: calc(720 * var(--u)); overflow: hidden; border-radius: calc(10 * var(--u)); }
.ld-tr__img { background: #a8a8a8; }
.ld-tr__info {
  display: flex; flex-direction: column; gap: calc(30 * var(--u)); padding: calc(29 * var(--u)) calc(38 * var(--u)) calc(60 * var(--u));
  background: #f7f9f8; border-radius: 0 0 calc(10 * var(--u)) calc(10 * var(--u)); box-shadow: inset 0 0 0 calc(1.091 * var(--u)) #e6e6e6; /* 피그마 선은 자리를 차지하지 않아 안쪽 그림자로 */
}
.ld-tr__info > .ld-tk__div { width: calc(628 * var(--u)); margin: calc(-0.5 * var(--u)) 0; }
.ld-tr__namerow { padding: calc(20 * var(--u)) 0; border-bottom: calc(1 * var(--u)) solid var(--ld-primary); }
.ld-tr__name { font-weight: 700; font-size: calc(32 * var(--u)); line-height: normal; letter-spacing: calc(1.0911 * var(--u)); color: var(--ld-primary); }
.ld-tr__grp { width: calc(628 * var(--u)); display: flex; flex-direction: column; gap: calc(15 * var(--u)); padding-top: calc(10 * var(--u)); }
.ld-tr__items { display: flex; flex-direction: column; gap: calc(5 * var(--u)); padding-left: calc(10 * var(--u)); }
.ld-tr__item { display: flex; gap: calc(12 * var(--u)); align-items: flex-start; padding: 0 calc(6 * var(--u)); }
.ld-tr__item .ld-chk { padding: calc(9 * var(--u)) 0; }
.ld-tr__itext { min-width: 0; font-weight: 400; font-size: calc(25 * var(--u)); line-height: calc(39 * var(--u)); letter-spacing: calc(-0.5 * var(--u)); color: #4a4541; }

/* ---------- 12 · 13. 주차 - 서비스 안내 (피그마 787:4293, 흰 배경 · 사진 카드 800 × 800) · 주차 - 이용안내 (787:4131, #f6f6f6 · 단계 카드) ---------- */
.ld-parkingService { background: #fff; }
.ld-pk__head { gap: calc(20 * var(--u)); padding: calc(4 * var(--u)) 0; }
.ld-pk__title { line-height: calc(66 * var(--u)); }
.ld-pk__t1, .ld-pk__t2 { display: block; }
.ld-pk__t1 { color: #333; }
.ld-pk__t2 { color: var(--ld-primary); }
.ld-pk__service { padding: calc(92 * var(--u)) 0 calc(114 * var(--u)); display: flex; flex-direction: column; align-items: center; gap: calc(66 * var(--u)); }
.ld-pk__cards { width: calc(800 * var(--u)); display: flex; flex-direction: column; gap: calc(40 * var(--u)); }
.ld-pk__card { position: relative; width: calc(800 * var(--u)); height: calc(800 * var(--u)); overflow: hidden; }
.ld-pk__card .ld-img { background: #cbc8bf; }
.ld-pk__grad { position: absolute; left: 0; right: 0; bottom: 0; height: calc(228 * var(--u)); pointer-events: none; background-image: linear-gradient(180deg, var(--pk-ov0, rgba(4, 38, 190, 0)) 0%, var(--pk-ov, #0426be) 100%); }
.ld-pk__ctext { position: absolute; left: calc(54 * var(--u)); right: calc(40 * var(--u)); bottom: calc(39.89 * var(--u)); display: flex; flex-direction: column; gap: calc(10.2 * var(--u)); color: #fff; }
.ld-pk__sub { padding-left: calc(3.37 * var(--u)); font-weight: 400; font-size: calc(40 * var(--u)); line-height: normal; letter-spacing: calc(-0.8 * var(--u)); white-space: nowrap; }
.ld-pk__main { font-weight: 700; font-size: calc(57 * var(--u)); line-height: normal; letter-spacing: calc(-1.14 * var(--u)); white-space: nowrap; }
.ld-pk__guide { padding: calc(160 * var(--u)) calc(46 * var(--u)); display: flex; flex-direction: column; align-items: center; gap: calc(59 * var(--u)); background: #f6f6f6; }
.ld-pk__groups { width: calc(768 * var(--u)); display: flex; flex-direction: column; gap: calc(20 * var(--u)); }
.ld-pk__gcard { display: flex; flex-direction: column; gap: calc(20 * var(--u)); padding: calc(50 * var(--u)) calc(30 * var(--u)); border-radius: calc(20 * var(--u)); background: #fff; }
.ld-pk__gtitle { font-weight: 600; font-size: calc(50 * var(--u)); line-height: calc(90.202 * var(--u)); letter-spacing: calc(-1 * var(--u)); color: #343434; text-align: center; }
.ld-pk__step { display: flex; align-items: flex-start; gap: calc(20 * var(--u)); padding: calc(30 * var(--u)) calc(33 * var(--u)); border-radius: calc(20 * var(--u)); }
.ld-pk__no { display: flex; align-items: center; justify-content: center; flex: none; width: calc(60 * var(--u)); height: calc(60 * var(--u)); border-radius: 50%; background: var(--pk-badge, #4a5cb1); font-weight: 700; font-size: calc(27 * var(--u)); line-height: calc(37 * var(--u)); letter-spacing: calc(-0.54 * var(--u)); color: #fff; }
.ld-pk__stext { min-width: 0; padding-top: calc(7 * var(--u)); font-weight: 400; font-size: calc(32 * var(--u)); line-height: calc(45 * var(--u)); letter-spacing: calc(-0.64 * var(--u)); color: #343434; }
.ld-pk__stext b { font-weight: 600; }

/* ---------- 에스테틱 · 예복 · 예물 (피그마 '에스테틱&뷰티' 725:10017 · '예복/예물' 794:6394) ---------- */
/* 두 줄 제목 머리말 (케어 프로세스 · 추천 체크리스트): 첫 줄 강조색(진하게) · 둘째 줄 제목색 */
.ld-tl__head { gap: calc(20 * var(--u)); padding: calc(4 * var(--u)) 0; }
.ld-tl__t1, .ld-tl__t2 { display: block; }
.ld-tl__t1 { color: var(--ld-primary-dark); }
.ld-tl__t2 { color: var(--ld-title); }

/* 케어 프로세스 (786:702) — 흰 바탕 · 카드 774 (사진 260 × 260 + 번호 원 · 이름 · 설명), 카드 사이 20 */
.ld-careProcess { padding: calc(94 * var(--u)) calc(43 * var(--u)) calc(162 * var(--u)); display: flex; flex-direction: column; align-items: center; gap: calc(50 * var(--u)); background: #fff; }
.ld-cp__list { width: calc(774 * var(--u)); display: flex; flex-direction: column; gap: calc(20 * var(--u)); }
.ld-cp__step { display: flex; align-items: center; gap: calc(45 * var(--u)); overflow: hidden; border-radius: calc(20 * var(--u)); }
.ld-cp__media { position: relative; flex: none; }
.ld-cp__media .ld-img { background: #777; }
.ld-cp__no {
  position: absolute; left: calc(20 * var(--u)); top: calc(20 * var(--u)); display: flex; align-items: center; justify-content: center;
  width: calc(50 * var(--u)); height: calc(50 * var(--u)); border-radius: 50%; background: #000; color: #fff; pointer-events: none;
  font-family: 'LD Din', 'LD Pretendard', sans-serif; font-weight: 600; font-size: calc(28 * var(--u)); line-height: normal; letter-spacing: calc(-0.84 * var(--u));
}
.ld-cp__text { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: calc(10 * var(--u)); padding-right: calc(30 * var(--u)); color: #292929; }
.ld-cp__title { font-weight: 600; font-size: calc(29 * var(--u)); line-height: calc(40 * var(--u)); }
.ld-cp__desc { font-weight: 400; font-size: calc(27 * var(--u)); line-height: calc(38 * var(--u)); letter-spacing: calc(-0.27 * var(--u)); }

/* 추천 체크리스트 (725:10226) — 바탕 #f3f3ec(바꿀 수 있음) · 흰 카드 720 (둥근 40), 항목 사이 점선 650 */
.ld-checklist { padding: calc(120 * var(--u)) 0; display: flex; flex-direction: column; align-items: center; gap: calc(40 * var(--u)); }
.ld-ck__head .ld-title { font-size: calc(50 * var(--u)); }
.ld-ck__card { width: calc(720 * var(--u)); display: flex; flex-direction: column; align-items: center; gap: calc(10 * var(--u)); padding: calc(30 * var(--u)) calc(20 * var(--u)); border-radius: calc(40 * var(--u)); background: #fff; }
.ld-ck__item { width: 100%; display: flex; align-items: flex-start; gap: calc(24 * var(--u)); padding: calc(40 * var(--u)) calc(16 * var(--u)) calc(40 * var(--u)) calc(36 * var(--u)); }   /* 오른쪽 16: 피그마처럼 긴 고민 한 줄이 카드 안쪽 여백까지 쓴다 */
.ld-ck__ico { position: relative; flex: none; width: calc(24 * var(--u)); height: calc(24 * var(--u)); margin: calc(8 * var(--u)) 0; }
.ld-ck__ico img { position: absolute; left: 0; top: calc(-1.985 * var(--u)); width: calc(30.647 * var(--u)); height: calc(25.986 * var(--u)); }
.ld-ck__text { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: calc(10 * var(--u)); color: #292929; font-size: calc(29 * var(--u)); line-height: calc(40 * var(--u)); }
.ld-ck__title { font-weight: 600; }
.ld-ck__desc { font-weight: 400; letter-spacing: calc(-0.29 * var(--u)); }
.ld-ck__div { display: block; width: calc(650 * var(--u)); height: 0; border-top: calc(1 * var(--u)) dashed #a8a836; }

/* 비포 · 애프터 (787:992) — 흰 바탕: BEFORE AFTER 큰 글자(아래로 갈수록 투명) 위에 제목이 겹친다 → 사진 묶음 745 × 745 → 프로그램 이름 */
.ld-beforeAfter { padding: calc(103 * var(--u)) 0 calc(178 * var(--u)); display: flex; flex-direction: column; align-items: center; background: #fff; }
.ld-ba__big {
  font-weight: 700; font-size: calc(140 * var(--u)); line-height: calc(150 * var(--u)); text-align: center; text-transform: uppercase; white-space: nowrap;
  color: transparent; background-image: linear-gradient(180deg, #f2f2f2 67.487%, rgba(242, 242, 242, 0) 94.221%); -webkit-background-clip: text; background-clip: text;
}
.ld-ba__head { position: relative; width: calc(701 * var(--u)); margin-top: calc(-81 * var(--u)); display: flex; flex-direction: column; align-items: center; gap: calc(14 * var(--u)); text-align: center; color: #333; }
.ld-ba__title { font-size: calc(60 * var(--u)); line-height: calc(80 * var(--u)); letter-spacing: calc(-1.8 * var(--u)); }
.ld-ba__t1, .ld-ba__t2 { display: block; }
.ld-ba__t1 { font-weight: 400; }
.ld-ba__t2 { font-weight: 700; }
.ld-ba__sub { font-weight: 300; font-size: calc(33 * var(--u)); line-height: calc(51 * var(--u)); letter-spacing: calc(-0.99 * var(--u)); }
.ld-ba__pairs { margin-top: calc(70 * var(--u)); display: flex; flex-direction: column; gap: calc(106 * var(--u)); }
.ld-ba__pair { display: flex; flex-direction: column; align-items: center; gap: calc(49 * var(--u)); }
.ld-ba__photos { display: flex; width: calc(745 * var(--u)); overflow: hidden; }
.ld-ba__photos.is-h { flex-direction: column; }
.ld-ba__half { position: relative; flex: none; }
.ld-ba__lbl {
  position: absolute; bottom: 0; display: flex; align-items: center; justify-content: center; width: calc(174.5 * var(--u)); height: calc(55.105 * var(--u)); pointer-events: none;
  font-family: 'LD Din', 'LD Pretendard', sans-serif; font-weight: 400; font-size: calc(28.471 * var(--u)); line-height: normal; letter-spacing: calc(-0.9184 * var(--u));
}
.ld-ba__lbl.is-before { background: #dcdcdc; color: #373737; }
.ld-ba__lbl.is-after { background: #464646; color: #fff; }
.ld-ba__photos.is-v .ld-ba__lbl.is-before { right: 0; }
.ld-ba__photos.is-v .ld-ba__lbl.is-after, .ld-ba__photos.is-h .ld-ba__lbl { left: 0; }
.ld-ba__tags { display: flex; align-items: center; justify-content: center; gap: calc(30 * var(--u)); }
.ld-ba__tag { display: flex; flex-direction: column; align-items: center; max-width: calc(204 * var(--u)); text-align: center; }
.ld-ba__en { font-weight: 500; font-size: calc(28 * var(--u)); line-height: calc(30 * var(--u)); letter-spacing: calc(-0.84 * var(--u)); color: #454545; }
.ld-ba__ko { font-weight: 400; font-size: calc(22 * var(--u)); line-height: calc(51 * var(--u)); letter-spacing: calc(-0.66 * var(--u)); color: #6f6f6f; white-space: nowrap; }
.ld-ba__line { display: block; flex: none; width: calc(1 * var(--u)); height: calc(90 * var(--u)); background: #7c7c7c; opacity: 0.4; }

/* 라인업 소개 (예복 · 예물 794:6321 어두운 바탕 / 에스테틱 브랜드 설명 794:7643 밝은 바탕) — 폭 745: 머리말 → 큰 사진 745 × 1160 → [글 → 사진 745 × 640] 반복 */
.ld-lineup { padding: calc(160 * var(--u)) 0 calc(170 * var(--u)); display: flex; flex-direction: column; align-items: center; }
.ld-lineup.is-dark { background: #000; }
.ld-lineup.is-light { background: #fff; }
.ld-lu__head { gap: calc(20 * var(--u)); padding: calc(4 * var(--u)) 0; }
.ld-lineup.is-dark .ld-lu__head .ld-label, .ld-lineup.is-dark .ld-lu__title { color: #fff; }
.ld-lu__head + .ld-lu__main { margin-top: calc(59 * var(--u)); }
.ld-lu__list { width: calc(745 * var(--u)); margin-top: calc(100 * var(--u)); display: flex; flex-direction: column; gap: calc(100 * var(--u)); }
.ld-lu__list:first-child { margin-top: 0; }
.ld-lu__item { display: flex; flex-direction: column; gap: calc(45 * var(--u)); }
.ld-lu__text { display: flex; flex-direction: column; gap: calc(15 * var(--u)); }
.ld-lu__en { font-weight: 400; font-size: calc(30 * var(--u)); line-height: calc(46.81 * var(--u)); opacity: 0.5; }
.ld-lu__name { font-weight: 400; font-size: calc(55 * var(--u)); line-height: calc(60 * var(--u)); }
.ld-lu__desc { font-weight: 400; font-size: calc(30 * var(--u)); line-height: calc(45 * var(--u)); letter-spacing: calc(-1 * var(--u)); opacity: 0.9; }
.ld-lu__desc b { font-weight: 500; color: var(--ld-primary); }
.ld-lineup.is-dark .ld-lu__en { color: #8c8c8c; }
.ld-lineup.is-dark .ld-lu__name, .ld-lineup.is-dark .ld-lu__desc { color: #fff; }
.ld-lineup.is-light .ld-lu__en { color: #6a6a6a; }
.ld-lineup.is-light .ld-lu__name { color: #434343; }
.ld-lineup.is-light .ld-lu__desc { color: #333; }
.ld-lu__photos { display: flex; flex-direction: column; gap: calc(40 * var(--u)); }

/* ---------- 영상 (유튜브) — 제목(선택) → 16:9 영상 1~3개 · 설명. 편집 화면 · JPEG 는 표지 사진 + 재생 표시, HTML 은 사이트가 상자 안을 영상 틀(iframe)로 바꾼다 ---------- */
.ld-video { padding: calc(120 * var(--u)) calc(50 * var(--u)); display: flex; flex-direction: column; align-items: center; gap: calc(50 * var(--u)); background: #fff; }
.ld-video__head { gap: calc(15 * var(--u)); }
.ld-video__list { display: flex; flex-direction: column; align-items: center; gap: calc(50 * var(--u)); }
.ld-video__item { display: flex; flex-direction: column; align-items: center; gap: calc(20 * var(--u)); }
.ld-video__box { position: relative; width: calc(760 * var(--u)); height: calc(427.5 * var(--u)); border-radius: calc(16 * var(--u)); overflow: hidden; background: #1f1f1f; }
.ld-video__box iframe { position: absolute; left: 0; top: 0; width: 100%; height: 100%; border: 0; }
.ld-video__play { position: absolute; left: 50%; top: 50%; width: calc(120 * var(--u)); height: calc(84 * var(--u)); margin: calc(-42 * var(--u)) 0 0 calc(-60 * var(--u)); border-radius: calc(22 * var(--u)); background: rgba(0, 0, 0, .62); pointer-events: none; }
.ld-video__play::after { content: ''; position: absolute; left: calc(49 * var(--u)); top: calc(24 * var(--u)); border-style: solid; border-width: calc(18 * var(--u)) 0 calc(18 * var(--u)) calc(30 * var(--u)); border-color: transparent transparent transparent #fff; }
.ld-video__warn { position: absolute; left: 0; right: 0; bottom: calc(24 * var(--u)); text-align: center; font-size: calc(22 * var(--u)); color: #ffb4b4; pointer-events: none; }
.ld-video__cap { max-width: calc(760 * var(--u)); font-size: calc(26 * var(--u)); line-height: calc(38 * var(--u)); color: #555; text-align: center; }
.ld-video__none { font-size: calc(24 * var(--u)); color: #999; }

/* ---------- 14 · 15 · 16. 안내 (예약 · 지점 · 이용 방법) ---------- */
.ld-guide { background: #fff; padding: calc(170 * var(--u)) calc(70 * var(--u)) 0; display: flex; flex-direction: column; align-items: center; gap: calc(50 * var(--u)); }
.ld-guide.is-last { padding-bottom: calc(170 * var(--u)); }
.ld-guide .ld-title { letter-spacing: 0; }

.ld-resv__head { gap: calc(15 * var(--u)); }
.ld-resv__rows { width: calc(720 * var(--u)); display: flex; flex-direction: column; gap: calc(23 * var(--u)); }
.ld-resv__row {
  display: flex; align-items: flex-start; justify-content: space-between; gap: calc(16 * var(--u));
  padding: calc(47 * var(--u)) calc(40 * var(--u)) calc(47 * var(--u)) calc(39 * var(--u)); border: calc(1 * var(--u)) solid #e5f1f8; border-radius: calc(12 * var(--u)); background: #f7f9f8;
}
/* 링크가 있는 줄 — 오른쪽 › (HTML 에서는 줄 전체가 링크 a) */
.ld-resv__row.is-link { position: relative; padding-right: calc(72 * var(--u)); }
.ld-resv__row.is-link::after {
  content: ''; position: absolute; right: calc(36 * var(--u)); top: 50%; width: calc(14 * var(--u)); height: calc(14 * var(--u)); margin-top: calc(-7 * var(--u));
  border-top: calc(3 * var(--u)) solid #b5ab92; border-right: calc(3 * var(--u)) solid #b5ab92; transform: rotate(45deg);
}
a.ld-resv__row { cursor: pointer; }
.ld-resv--kakao { background: #fffcef; border-color: #f4e9bc; }
.ld-resv--naver { background: #f7ffef; border-color: #e4eee9; }
.ld-resv__left { display: flex; align-items: center; gap: calc(8 * var(--u)); height: calc(51.8 * var(--u)); flex: none; }
.ld-resv__ico { position: relative; display: block; width: calc(38 * var(--u)); height: calc(38 * var(--u)); overflow: hidden; flex: none; }
.ld-page .ld-ico-kakao { width: calc(38 * var(--u)); height: calc(38 * var(--u)); }
.ld-page .ld-ico-home { position: absolute; left: calc(4.11 * var(--u)); top: calc(2.83 * var(--u)); width: calc(29.773 * var(--u)); height: calc(31.422 * var(--u)); }
.ld-ico-insta { position: absolute; left: 50%; top: 50%; width: calc(34.221 * var(--u)); height: calc(33.19 * var(--u)); transform: translate(-50%, -50%); overflow: hidden; mix-blend-mode: multiply; }
.ld-ico-insta img { position: absolute; left: -18.77%; top: -19.61%; width: 135.19%; height: 139.39%; }
.ld-ico-naver { position: absolute; left: calc(4 * var(--u)); top: calc(3 * var(--u)); width: calc(29 * var(--u)); height: calc(32 * var(--u)); overflow: hidden; }
.ld-ico-naver img { position: absolute; left: -23.64%; top: -16.39%; width: 156.36%; height: 136.07%; }
.ld-resv__label { font-weight: 600; font-size: calc(30 * var(--u)); line-height: normal; color: #2b2622; white-space: nowrap; }
.ld-resv__right { display: flex; flex-direction: column; align-items: flex-end; text-align: right; min-width: 0; }
.ld-resv__val { display: flex; align-items: center; justify-content: flex-end; gap: calc(6 * var(--u)); font-size: calc(28 * var(--u)); line-height: calc(51.8 * var(--u)); }
.ld-resv__key { font-weight: 500; color: var(--ld-primary); white-space: nowrap; }
.ld-resv--kakao .ld-resv__key { color: #9b9272; }
.ld-resv--naver .ld-resv__key { color: #769b72; }
.ld-resv__v { font-weight: 400; color: #5c5349; }
.ld-resv__sub { font-weight: 400; font-size: calc(24 * var(--u)); line-height: calc(35 * var(--u)); color: #959595; }
.ld-resv__note { margin-top: calc(-21 * var(--u)); font-weight: 400; font-size: calc(24 * var(--u)); line-height: calc(35 * var(--u)); color: #959595; text-align: center; }

.ld-loc__head { gap: calc(21 * var(--u)); }
.ld-loc__one {
  width: calc(720 * var(--u)); display: flex; flex-direction: column; padding: calc(40 * var(--u)); font-size: calc(28 * var(--u));
  background: #fff; border: calc(1 * var(--u)) solid rgba(43, 38, 34, 0.14); border-radius: calc(12 * var(--u)); box-shadow: 0 calc(4 * var(--u)) calc(9 * var(--u)) rgba(43, 38, 34, 0.08);
}
.ld-loc__row { display: flex; align-items: flex-start; gap: calc(6 * var(--u)); }
.ld-loc__k { flex: none; font-weight: 400; line-height: calc(51.8 * var(--u)); color: var(--ld-primary); white-space: nowrap; }
.ld-loc__v { min-width: 0; font-weight: 400; line-height: calc(35 * var(--u)); padding: calc(8.4 * var(--u)) 0; color: #5c5349; }
.ld-guide.ld-loc--multi { padding-left: calc(40 * var(--u)); padding-right: calc(40 * var(--u)); gap: calc(70 * var(--u)); }
.ld-loc__grid { width: calc(780 * var(--u)); display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: calc(20 * var(--u)); }
.ld-loc__card { display: flex; flex-direction: column; gap: calc(20 * var(--u)); padding-bottom: calc(30 * var(--u)); overflow: hidden; background: #fff; border: calc(1 * var(--u)) solid rgba(43, 38, 34, 0.14); border-radius: calc(12 * var(--u)); }
.ld-loc__cname { padding: calc(26 * var(--u)) calc(16 * var(--u)); background: #f8f9f7; text-align: center; font-weight: 600; font-size: calc(30 * var(--u)); line-height: normal; color: #2b2622; }
.ld-loc__cbody { display: flex; flex-direction: column; gap: calc(24 * var(--u)); padding: 0 calc(30 * var(--u)); }
.ld-loc__f { display: flex; flex-direction: column; gap: calc(6 * var(--u)); }
.ld-loc__fk { font-weight: 400; font-size: calc(25 * var(--u)); line-height: calc(29 * var(--u)); color: var(--ld-primary); }
.ld-loc__fv { font-weight: 400; font-size: calc(24 * var(--u)); line-height: calc(29 * var(--u)); letter-spacing: calc(-0.48 * var(--u)); color: #656565; }

.ld-howto__head { gap: calc(10 * var(--u)); }
.ld-howto__head .ld-label { letter-spacing: calc(5.9495 * var(--u)); line-height: calc(21.873 * var(--u)); }
.ld-howto__grid {
  width: calc(778.644 * var(--u)); display: grid; grid-template-columns: 1fr 1fr; overflow: hidden; background: #fff;
  border: calc(1.081 * var(--u)) solid rgba(43, 38, 34, 0.14); border-radius: calc(15.14 * var(--u));
}
.ld-howto__cell { display: flex; flex-direction: column; align-items: center; text-align: center; padding: calc(25 * var(--u)) calc(16 * var(--u)) calc(23 * var(--u)); border: 0 solid rgba(43, 38, 34, 0.14); }
.ld-howto__cell:nth-child(1) { border-right-width: calc(1.081 * var(--u)); border-bottom-width: calc(1.081 * var(--u)); }
.ld-howto__cell:nth-child(2) { border-bottom-width: calc(1.081 * var(--u)); }
.ld-howto__cell:nth-child(3) { border-right-width: calc(1.081 * var(--u)); }
.ld-howto__step { font-weight: 800; font-size: calc(16.222 * var(--u)); line-height: calc(19.466 * var(--u)); letter-spacing: calc(1.6222 * var(--u)); color: var(--ld-primary); white-space: nowrap; }
.ld-howto__ico { display: flex; align-items: center; justify-content: center; width: calc(60.561 * var(--u)); height: calc(60.561 * var(--u)); margin-top: calc(16 * var(--u)); border-radius: 50%; background: var(--ld-primary-tint); }
.ld-howto__ico i {
  display: block; width: calc(30.281 * var(--u)); height: calc(30.281 * var(--u)); background: var(--ld-primary);
  -webkit-mask-repeat: no-repeat; mask-repeat: no-repeat; -webkit-mask-size: 100% 100%; mask-size: 100% 100%;
}
.ld-ico-bag i { -webkit-mask-image: url('assets/step-bag.svg'); mask-image: url('assets/step-bag.svg'); }
.ld-ico-calendar i { -webkit-mask-image: url('assets/step-calendar.svg'); mask-image: url('assets/step-calendar.svg'); }
.ld-ico-pin i { -webkit-mask-image: url('assets/step-pin.svg'); mask-image: url('assets/step-pin.svg'); }
.ld-ico-check i { -webkit-mask-image: url('assets/step-check.svg'); mask-image: url('assets/step-check.svg'); }
.ld-howto__t { margin-top: calc(16 * var(--u)); font-weight: 700; font-size: calc(21.629 * var(--u)); line-height: normal; color: #2b2622; }
.ld-howto__d { margin-top: calc(7 * var(--u)); font-weight: 400; font-size: calc(21.858 * var(--u)); line-height: calc(34.973 * var(--u)); color: #5c5349; }
