/* =====================================================================
   리유아 서브 Beauty Editorial v5
   기존 정보·URL·이미지는 유지하고, 스킨케어 클리닉형 편집 디자인으로
   공통 히어로·정보 계층·단계·카드·CTA를 통일한다.
   ===================================================================== */

.rv-sub-beauty {
  --bv-ivory: #f8f4ee;
  --bv-paper: #fffdf9;
  --bv-sand: #eadfd4;
  --bv-blush: #efe5df;
  --bv-ink: #251d19;
  --bv-text: #62544d;
  --bv-muted: #94847b;
  --bv-gold: #a98f6b;
  --bv-gold-light: #c5ac87;
  --bv-line: rgba(60, 44, 36, .15);
  --bv-soft-line: rgba(60, 44, 36, .09);
  --bv-ease: cubic-bezier(.22, 1, .36, 1);
  background: var(--bv-ivory);
  color: var(--bv-ink);
}

.rv-sub-beauty .hero-wrap { background: #8f7b6d; }
.rv-sub-beauty .hero--sub { height: clamp(520px, 63vh, 610px); background: #8f7b6d; }
.rv-sub-beauty .subhero__clip::after {
  background:
    linear-gradient(90deg, rgba(53, 39, 32, .34), rgba(78, 62, 52, .10) 52%, rgba(53, 39, 32, .24)),
    linear-gradient(180deg, rgba(38, 28, 23, .24) 0%, rgba(38, 28, 23, .08) 52%, rgba(38, 28, 23, .48) 100%);
}
.rv-sub-beauty .subhero__clip::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  opacity: .24;
  background: radial-gradient(70% 100% at 74% 20%, rgba(255, 246, 236, .62), transparent 72%);
  mix-blend-mode: screen;
}
.rv-sub-beauty .subhero__body { padding-bottom: 88px; }
.rv-sub-beauty .subhero__text { max-width: 880px; }
.rv-sub-beauty .subhero__eyebrow {
  font-family: var(--font-en);
  font-size: clamp(42px, 4.4vw, 66px);
  font-weight: 300;
  line-height: 1.06;
  letter-spacing: -.025em;
  text-wrap: balance;
}
.rv-sub-beauty .subhero__title {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 15px;
  font-size: clamp(18px, 1.55vw, 24px);
  font-weight: 560;
  letter-spacing: -.035em;
}
.rv-sub-beauty .subhero__badge {
  padding: 6px 12px;
  border: 1px solid rgba(255,255,255,.44);
  border-radius: 999px;
  background: rgba(255,255,255,.10);
  -webkit-backdrop-filter: blur(8px);
  backdrop-filter: blur(8px);
  font-size: 10px;
  letter-spacing: .08em;
}
.rv-sub-beauty .subhero__badge--lead { background: rgba(188, 157, 112, .76); border-color: transparent; }
.rv-sub-beauty .subhero__line { height: 38px; margin: 23px auto 20px; background: rgba(255,255,255,.46); }
.rv-sub-beauty .subhero__sub { max-width: 620px; font-size: 15px; line-height: 1.8; text-wrap: balance; white-space: pre-line; }

.rv-sub-beauty .crumb {
  height: 56px;
  background: rgba(38, 29, 24, .40);
  border-color: rgba(255,255,255,.12);
  -webkit-backdrop-filter: blur(16px) saturate(120%);
  backdrop-filter: blur(16px) saturate(120%);
}
.rv-sub-beauty .crumb__home { padding-inline: 22px; }
.rv-sub-beauty .crumb__btn { height: 56px; min-width: 210px; font-size: 12px; letter-spacing: .01em; }
.rv-sub-beauty .crumb__div { opacity: .58; }
.rv-sub-beauty .crumb__list { border: 1px solid var(--bv-soft-line); border-top: 0; background: rgba(255,253,249,.98); }

.rv-sub-beauty .main--sub {
  --sub-pad: clamp(24px, 6.6vw, 112px);
  background:
    radial-gradient(55% 34% at 98% 12%, rgba(225, 211, 199, .26), transparent 72%),
    linear-gradient(180deg, #fbf8f3 0%, var(--bv-ivory) 26%, #faf6f0 100%);
  padding-top: clamp(92px, 9vw, 138px);
}
.rv-sub-beauty .sec {
  position: relative;
  max-width: 1240px;
  padding-top: clamp(112px, 10vw, 158px);
}
.rv-sub-beauty .sec--tight { padding-top: 84px; }
.rv-sub-beauty .main--sub > .sec:first-of-type { padding-top: 0; }

.rv-sub-beauty .sec__head { gap: 12px; margin-bottom: clamp(38px, 4.5vw, 58px); }
.rv-sub-beauty .sec__eyebrow,
.rv-sub-beauty .pick__eyebrow,
.rv-sub-beauty .only__label {
  font-family: var(--font-en);
  color: var(--bv-gold);
  font-size: 11px;
  font-weight: 600;
  line-height: 1.4;
  letter-spacing: .22em;
  text-transform: uppercase;
}
.rv-sub-beauty .sec__title,
.rv-sub-beauty .pick__title {
  color: var(--bv-ink);
  font-size: clamp(31px, 3.15vw, 46px);
  font-weight: 620;
  line-height: 1.28;
  letter-spacing: -.052em;
  text-wrap: balance;
}
.rv-sub-beauty .sec__title .en { font-size: 1em; font-weight: 350; letter-spacing: -.03em; }
.rv-sub-beauty .sec__desc,
.rv-sub-beauty .pick__desc { max-width: 720px; color: var(--bv-text); font-size: 15px; line-height: 1.9; white-space: pre-line; }
.rv-sub-beauty .sec__head--center .sec__desc { margin-inline: auto; }
.rv-sub-beauty .sec__desc--muted { color: var(--bv-muted); }

/* 첫 선언문: 어두운 카드 대신 종이 위의 큰 문장과 진료 원칙. */
.rv-sub-beauty .creed {
  display: grid;
  grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr);
  align-items: center;
  gap: clamp(36px, 7vw, 100px);
  overflow: visible;
  padding: clamp(46px, 6vw, 76px) clamp(26px, 5vw, 70px);
  border: 1px solid var(--bv-line);
  border-radius: 0;
  background: rgba(255,253,249,.78);
  color: var(--bv-ink);
  text-align: left;
}
.rv-sub-beauty .creed::before {
  content: "RE:YOUR PRINCIPLE";
  position: absolute;
  top: -9px;
  left: clamp(26px, 5vw, 70px);
  padding: 0 12px;
  background: var(--bv-ivory);
  color: var(--bv-gold);
  font-family: var(--font-en);
  font-size: 10px;
  letter-spacing: .2em;
}
.rv-sub-beauty .creed__slogan { max-width: 520px; font-size: clamp(27px, 2.5vw, 38px); font-weight: 560; line-height: 1.45; letter-spacing: -.05em; }
.rv-sub-beauty .creed__lines { display: grid; justify-content: stretch; gap: 0; }
.rv-sub-beauty .creed__lines li { padding: 14px 0 14px 22px; border-bottom: 1px solid var(--bv-soft-line); color: var(--bv-text); font-size: 14px; line-height: 1.7; }
.rv-sub-beauty .creed__lines li:first-child { border-top: 1px solid var(--bv-soft-line); }
.rv-sub-beauty .creed__lines li::before { left: 2px; top: 24px; width: 5px; height: 5px; background: var(--bv-gold); }

/* 층별 구성: 얇은 선과 큰 번호를 중심으로 한 에디토리얼 카드. */
.rv-sub-beauty .layers { gap: 0; border-top: 1px solid var(--bv-ink); }
.rv-sub-beauty .layer,
.rv-sub-beauty .layer--optional {
  min-height: 238px;
  padding: 30px clamp(22px, 3vw, 38px) 34px;
  gap: 8px;
  border: 0;
  border-right: 1px solid var(--bv-line);
  border-radius: 0;
  background: rgba(255,253,249,.68);
  box-shadow: none;
  transition: background-color .35s ease, translate .45s var(--bv-ease);
}
.rv-sub-beauty .layer:last-child { border-right: 0; }
.rv-sub-beauty .layer--optional { background: transparent; outline: 1px dashed rgba(55,40,33,.22); outline-offset: -1px; }
.rv-sub-beauty .layer__no { margin-bottom: auto; color: var(--bv-gold-light); font-size: 33px; font-weight: 300; }
.rv-sub-beauty .layer__depth { color: var(--bv-muted); font-size: 11px; letter-spacing: .08em; }
.rv-sub-beauty .layer__name { color: var(--bv-ink); font-size: 21px; font-weight: 620; }
.rv-sub-beauty .layer__desc { max-width: 280px; color: var(--bv-text); font-size: 13px; line-height: 1.7; }
@media (hover:hover) {
  .rv-sub-beauty .layer:hover { translate: 0 -5px; transform: none; background: #fff; box-shadow: none; }
}

/* 이미지 + 정보 패널. */
.rv-sub-beauty .grid-2 { grid-template-columns: minmax(0, .96fr) minmax(0, 1.04fr); gap: clamp(44px, 7vw, 96px); align-items: center; }
.rv-sub-beauty .grid-2 > .img-fill { margin: 0; isolation: isolate; }
.rv-sub-beauty .grid-2 > .img-fill::before {
  inset: 26px -22px -22px 26px;
  border: 1px solid rgba(128,101,81,.22);
  border-radius: 0;
  background: rgba(232,220,210,.5);
}
.rv-sub-beauty .grid-2--rev > .img-fill::before { inset: 26px 26px -22px -22px; }
.rv-sub-beauty .grid-2 > .img-fill::after {
  content: "";
  position: absolute;
  z-index: 2;
  top: -9px;
  left: -9px;
  width: 62px;
  height: 62px;
  border-top: 1px solid var(--bv-gold);
  border-left: 1px solid var(--bv-gold);
  pointer-events: none;
}
.rv-sub-beauty .grid-2 > .img-fill img,
.rv-sub-beauty .re-row img { border-radius: 2px; box-shadow: none; }
.rv-sub-beauty .grid-2 > :not(.img-fill),
.rv-sub-beauty .grid-2--rev > :not(.img-fill) { margin: 0; padding: 0; }
.rv-sub-beauty .tx-intro__eng { margin-bottom: 18px; color: var(--bv-gold-light); font-size: clamp(46px, 5vw, 72px); font-weight: 300; letter-spacing: -.04em; }
.rv-sub-beauty .tx-intro__head { color: var(--bv-ink); font-size: clamp(27px, 2.4vw, 36px); font-weight: 620; line-height: 1.42; }
.rv-sub-beauty .tx-intro__desc { color: var(--bv-text); font-size: 15px; line-height: 1.95; }

.rv-sub-beauty .chips { gap: 8px; margin-bottom: 26px; }
.rv-sub-beauty .chips li,
.rv-sub-beauty .concern .chips li {
  padding: 10px 15px;
  border: 1px solid var(--bv-soft-line);
  border-radius: 999px;
  background: rgba(255,255,255,.74);
  color: var(--bv-text);
  font-size: 12px;
  line-height: 1.45;
}
.rv-sub-beauty .info-rows { border-top: 1px solid var(--bv-ink); }
.rv-sub-beauty .info-row,
.rv-sub-beauty .info-rows--compact .info-row {
  grid-template-columns: 102px 1fr;
  gap: 18px;
  padding: 17px 0;
  border-bottom: 1px solid var(--bv-line);
}
.rv-sub-beauty .info-row__label { padding-top: 2px; color: var(--bv-muted); font-size: 12px; }
.rv-sub-beauty .info-row__value,
.rv-sub-beauty .info-rows--compact .info-row__value { color: var(--bv-ink); font-size: 14px; line-height: 1.75; }

/* 진단/시술 단계: 카드 대신 하나의 선형 로드맵. */
.rv-sub-beauty .tx-steps {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: clamp(24px, 3.4vw, 48px);
  border: 0;
}
.rv-sub-beauty .tx-step {
  min-height: 210px;
  align-items: flex-start;
  gap: 0;
  padding: 24px 4px 22px;
  border: 0;
  border-top: 1px solid var(--bv-ink);
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  text-align: left;
  transition: border-color .3s, translate .4s var(--bv-ease);
}
.rv-sub-beauty .tx-step + .tx-step::before { display: none; }
.rv-sub-beauty .tx-step__no { color: var(--bv-ink); font-size: 42px; font-weight: 300; letter-spacing: -.04em; }
.rv-sub-beauty .tx-step__no::after { width: 18px; margin: 12px 0 18px; background: var(--bv-gold); }
.rv-sub-beauty .tx-step__text { color: var(--bv-text); font-size: 13px; line-height: 1.75; }
.rv-sub-beauty .tx-step__text strong { margin-bottom: 7px; color: var(--bv-ink); font-size: 16px; font-weight: 620; }
.rv-sub-beauty .tx-step.is-active { border-color: var(--bv-gold); translate: 0 -4px; }

/* 원리/장비 카드는 무거운 다크 띠 대신 피부 톤 패널로. */
.rv-sub-beauty .sec:has(.tx-card--step) {
  margin-top: clamp(112px, 10vw, 158px);
  padding: clamp(90px, 8vw, 124px) 0;
  background: var(--bv-blush);
  box-shadow: 0 0 0 100vmax var(--bv-blush);
}
.rv-sub-beauty .sec:has(.tx-card--step) .sec__eyebrow { color: var(--bv-gold); }
.rv-sub-beauty .sec:has(.tx-card--step) .sec__title { color: var(--bv-ink); }
.rv-sub-beauty .sec:has(.tx-card--step) .sec__desc { color: var(--bv-text); }
.rv-sub-beauty .tx-cards { gap: 1px; background: var(--bv-line); }
.rv-sub-beauty .tx-card,
.rv-sub-beauty .tx-card--step {
  padding: clamp(28px, 3vw, 42px);
  border: 0;
  border-radius: 0;
  background: rgba(255,253,249,.84);
}
.rv-sub-beauty .tx-card--step img { width: 70%; margin: 0 auto 22px; border-radius: 0; background: transparent; }
.rv-sub-beauty .tx-card__no { color: rgba(169,143,107,.48); font-size: 48px; }
.rv-sub-beauty .tx-card__tag,
.rv-sub-beauty .tx-card--step .tx-card__tag { color: var(--bv-gold); font-size: 11px; letter-spacing: .16em; }
.rv-sub-beauty .tx-card__title { color: var(--bv-ink); font-size: 19px; }
.rv-sub-beauty .tx-card__desc,
.rv-sub-beauty .tx-card--step .tx-card__desc { color: var(--bv-text); font-size: 13px; line-height: 1.75; }

.rv-sub-beauty .promise { gap: 1px; background: var(--bv-line); }
.rv-sub-beauty .promise__item {
  padding: 12px 12px 34px;
  border-radius: 0;
  background: var(--bv-paper);
  box-shadow: none;
}
.rv-sub-beauty .promise__item img { margin-bottom: 20px; border-radius: 0; }
.rv-sub-beauty .promise__item > :not(img) { margin-inline: 12px; }
.rv-sub-beauty .promise__tag { color: var(--bv-gold); font-size: 10px; letter-spacing: .18em; }
.rv-sub-beauty .promise__title { color: var(--bv-ink); font-size: 19px; font-weight: 620; }
.rv-sub-beauty .promise__desc { color: var(--bv-text); font-size: 13px; line-height: 1.8; }
@media (hover:hover) { .rv-sub-beauty .promise__item:hover { transform: none; box-shadow: inset 0 -3px var(--bv-gold-light); } }

.rv-sub-beauty .pick { max-width: 1240px; padding-top: clamp(112px, 10vw, 158px); }
.rv-sub-beauty .pick__head { align-items: flex-start; text-align: left; }
.rv-sub-beauty .pick__cards { gap: 18px; }
.rv-sub-beauty .pick__card,
.rv-sub-beauty .pick__card:nth-child(even) { margin-top: 0; padding: 0 0 20px; border-bottom: 1px solid var(--bv-line); border-radius: 0; background: transparent; }
.rv-sub-beauty .pick__card > :not(.pick__thumb) { margin-inline: 0; }
.rv-sub-beauty .pick__thumb { margin-bottom: 16px; border-radius: 0; }
.rv-sub-beauty .pick__name { color: var(--bv-ink); font-size: 16px; }
.rv-sub-beauty .pick__mix { color: var(--bv-gold); }
.rv-sub-beauty .pick__text { color: var(--bv-muted); }

/* 고민별 페이지는 각 고민을 진단 기록처럼 분리한다. */
.rv-sub-beauty .concern {
  display: grid;
  grid-template-columns: minmax(230px, .66fr) minmax(0, 1.34fr);
  gap: clamp(44px, 7vw, 96px);
  padding-top: clamp(86px, 8vw, 124px);
  padding-bottom: clamp(76px, 7vw, 108px);
  border-top: 1px solid var(--bv-line);
}
.rv-sub-beauty .concern > .sec__head { grid-row: 1 / span 2; }
.rv-sub-beauty .concern .sec__eyebrow { color: var(--bv-gold-light); font-size: 11px; }
.rv-sub-beauty .concern .sec__title { font-size: clamp(34px, 3.4vw, 48px); }
.rv-sub-beauty .concern__angle { color: var(--bv-text); font-size: 15px; }

/* 소개/의료진/공간 */
.rv-sub-beauty .doctor { grid-template-columns: minmax(320px, .8fr) minmax(0, 1.2fr); gap: clamp(54px, 8vw, 108px); }
.rv-sub-beauty .doctor__photo img { border-radius: 2px; }
.rv-sub-beauty .doctor__quote { color: var(--bv-ink); font-size: clamp(24px, 2.3vw, 34px); }
.rv-sub-beauty .doctor__name { color: var(--bv-ink); }
.rv-sub-beauty .doctor__role { color: var(--bv-gold); }
.rv-sub-beauty .doctor__list li { color: var(--bv-text); }
.rv-sub-beauty .re-rows { gap: clamp(86px, 9vw, 132px); }
.rv-sub-beauty .re-row { gap: clamp(42px, 6vw, 84px); }
.rv-sub-beauty .re-row > :first-child::before { display: none; }
.rv-sub-beauty .re-row > :last-child,
.rv-sub-beauty .re-row:nth-child(even) > :last-child { margin: 0; padding: 0; }
.rv-sub-beauty .re-row__tag { color: var(--bv-gold); font-size: 14px; letter-spacing: .16em; }
.rv-sub-beauty .re-row__desc { color: var(--bv-text); font-size: 16px; }

/* 공지/전후/정책은 같은 종이 표면을 사용한다. */
.rv-sub-beauty .notice-list { gap: 44px 24px; }
.rv-sub-beauty .notice-card { padding: 0 0 18px; border-bottom: 1px solid var(--bv-line); border-radius: 0; background: transparent; box-shadow: none; }
.rv-sub-beauty .notice-card > :not(.notice-card__thumb) { margin-inline: 0; }
.rv-sub-beauty .notice-card__thumb { border-radius: 0; }
.rv-sub-beauty .notice-card__title { color: var(--bv-ink); font-size: 17px; }
.rv-sub-beauty .notice-card__meta { color: var(--bv-muted); }
.rv-sub-beauty .notice-view,
.rv-sub-beauty .locked,
.rv-sub-beauty .legal-doc { border: 1px solid var(--bv-line); border-radius: 0; background: rgba(255,253,249,.82); }
.rv-sub-beauty .notice-view { max-width: 960px; padding: clamp(30px, 6vw, 72px); }
.rv-sub-beauty .notice-view__title { color: var(--bv-ink); }
.rv-sub-beauty .notice-view__body img { border-radius: 0; }
.rv-sub-beauty .locked { max-width: 820px; padding: 76px 28px; }
.rv-sub-beauty .locked__icon { background: var(--bv-sand); }
.rv-sub-beauty .locked__msg { color: var(--bv-ink); }
.rv-sub-beauty .price-guide__intro { background: var(--bv-ink); }

.rv-sub-beauty .contact-action { border-color: var(--bv-line); background: rgba(255,253,249,.82); }
.rv-sub-beauty .contact-map .map,
.rv-sub-beauty .contact-photos img { border-radius: 0; }
.rv-sub-beauty .pill { border-radius: 999px; background: var(--bv-ink); }
.rv-sub-beauty .pill--kakao,
.rv-sub-beauty .pill--naver,
.rv-sub-beauty .pill--google { border-color: var(--bv-line); background: var(--bv-paper); color: var(--bv-ink); }

/* 마지막 전환: 얇은 프레임과 넓은 여백으로 여운을 남긴다. */
.rv-sub-beauty .cta-band {
  position: relative;
  margin-top: clamp(112px, 10vw, 158px);
  padding: clamp(86px, 8vw, 118px) 24px;
  gap: 26px;
  overflow: hidden;
  background:
    radial-gradient(70% 140% at 0% 0%, rgba(190,159,123,.25), transparent 64%),
    linear-gradient(135deg, #30241e, #211915);
}
.rv-sub-beauty .cta-band::before {
  content: "RE, YOUR CLINIC";
  position: absolute;
  inset: 20px;
  display: flex;
  align-items: flex-start;
  justify-content: center;
  border: 1px solid rgba(255,255,255,.14);
  color: rgba(255,255,255,.4);
  padding-top: 18px;
  font-family: var(--font-en);
  font-size: 9px;
  letter-spacing: .28em;
  pointer-events: none;
}
.rv-sub-beauty .cta-band__title { position: relative; z-index: 1; max-width: 720px; font-size: clamp(25px, 2.5vw, 36px); font-weight: 440; text-wrap: balance; }
.rv-sub-beauty .cta-band__btn { position: relative; z-index: 1; padding: 15px 32px; border: 1px solid rgba(255,255,255,.5); border-radius: 999px; background: transparent; color: #fff; font-size: 13px; }
@media (hover:hover) { .rv-sub-beauty .cta-band__btn:hover { border-color: #fff; background: #fff; color: var(--bv-ink); } }

.rv-sub-beauty .beauty-rail__nav { display: none; }

@media (max-width: 900px) {
  .rv-sub-beauty .grid-2 { grid-template-columns: 1fr; gap: 54px; }
  .rv-sub-beauty .grid-2 > .img-fill { margin-right: 14px; }
  .rv-sub-beauty .grid-2 > .img-fill::before,
  .rv-sub-beauty .grid-2--rev > .img-fill::before { inset: 20px -14px -14px 20px; }
  .rv-sub-beauty .grid-2 > :not(.img-fill),
  .rv-sub-beauty .grid-2--rev > :not(.img-fill) { padding: 0; }
  .rv-sub-beauty .doctor { grid-template-columns: 1fr; }
  .rv-sub-beauty .concern { grid-template-columns: 1fr; gap: 28px; }
  .rv-sub-beauty .concern > .sec__head { grid-row: auto; }
  .rv-sub-beauty .concern > .chips,
  .rv-sub-beauty .concern > .info-rows { grid-column: auto; }
}

@media (max-width: 800px) {
  .rv-sub-beauty .hero--sub { height: 470px; }
  .rv-sub-beauty .subhero__body { padding: 0 20px 70px; }
  .rv-sub-beauty .subhero__eyebrow { font-size: clamp(33px, 9.5vw, 43px); }
  .rv-sub-beauty .subhero__title { margin-top: 10px; font-size: 17px; }
  .rv-sub-beauty .subhero__line { height: 26px; margin: 16px auto 14px; }
  .rv-sub-beauty .subhero__sub { max-width: 330px; font-size: 12.5px; line-height: 1.7; }
  .rv-sub-beauty .crumb { height: 48px; justify-content: flex-start; overflow: visible; }
  .rv-sub-beauty .crumb__home { padding-inline: 14px; }
  .rv-sub-beauty .crumb__sel { min-width: 0; }
  .rv-sub-beauty .crumb__btn { height: 48px; min-width: 0; padding-inline: 12px; font-size: 11px; }

  .rv-sub-beauty .main--sub { --sub-pad: 20px; padding-top: 76px; }
  .rv-sub-beauty .sec { padding-top: 92px; }
  .rv-sub-beauty .sec--tight { padding-top: 38px; }
  .rv-sub-beauty .sec__head { gap: 9px; margin-bottom: 32px; }
  .rv-sub-beauty .sec__title,
  .rv-sub-beauty .pick__title { font-size: 29px; line-height: 1.3; }
  .rv-sub-beauty .sec__desc,
  .rv-sub-beauty .pick__desc { font-size: 13.5px; line-height: 1.8; }

  .rv-sub-beauty .creed { grid-template-columns: 1fr; gap: 30px; padding: 46px 24px 38px; }
  .rv-sub-beauty .creed__slogan { font-size: 25px; }
  .rv-sub-beauty .creed__lines li { font-size: 12.5px; }
  .rv-sub-beauty .grid-2 { gap: 48px; }
  .rv-sub-beauty .grid-2 > .img-fill::after { width: 44px; height: 44px; }
  .rv-sub-beauty .tx-intro__eng { font-size: 42px; }
  .rv-sub-beauty .tx-intro__head { font-size: 24px; }
  .rv-sub-beauty .tx-intro__desc { font-size: 13.5px; }
  .rv-sub-beauty .info-row,
  .rv-sub-beauty .info-rows--compact .info-row { grid-template-columns: 84px 1fr; gap: 12px; }

  .rv-sub-beauty .layers,
  .rv-sub-beauty .tx-steps,
  .rv-sub-beauty .promise {
    display: flex;
    gap: 12px;
    margin-right: calc(-1 * var(--sub-pad));
    padding-right: var(--sub-pad);
    overflow-x: auto;
    overscroll-behavior-inline: contain;
    scroll-snap-type: x mandatory;
    scrollbar-width: none;
    background: transparent;
  }
  .rv-sub-beauty .layers::-webkit-scrollbar,
  .rv-sub-beauty .tx-steps::-webkit-scrollbar,
  .rv-sub-beauty .promise::-webkit-scrollbar { display: none; }
  .rv-sub-beauty .layer,
  .rv-sub-beauty .tx-step,
  .rv-sub-beauty .promise__item {
    flex: 0 0 min(78vw, 310px);
    scroll-snap-align: start;
  }
  .rv-sub-beauty .layer { min-height: 228px; border: 1px solid var(--bv-line); background: var(--bv-paper); }
  .rv-sub-beauty .tx-step { min-height: 196px; padding-inline: 2px; }
  .rv-sub-beauty .promise__item { border: 1px solid var(--bv-line); }

  .rv-sub-beauty .beauty-rail__nav {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-top: 18px;
    color: var(--bv-muted);
    font-family: var(--font-en);
    font-size: 11px;
    letter-spacing: .08em;
  }
  .rv-sub-beauty .beauty-rail__buttons { display: flex; gap: 6px; }
  .rv-sub-beauty .beauty-rail__button {
    width: 44px;
    height: 44px;
    border: 1px solid var(--bv-line);
    border-radius: 50%;
    background: transparent;
    color: var(--bv-ink);
    cursor: pointer;
  }
  .rv-sub-beauty .beauty-rail__button:disabled { opacity: .32; }

  .rv-sub-beauty .sec:has(.tx-card--step) { margin-top: 92px; padding: 76px 0 82px; }
  .rv-sub-beauty .tx-cards { gap: 12px; background: transparent; }
  .rv-sub-beauty .tx-card,
  .rv-sub-beauty .tx-card--step { border: 1px solid var(--bv-line); padding: 26px 20px; }
  .rv-sub-beauty .pick { padding-top: 92px; }
  .rv-sub-beauty .pick__cards { grid-template-columns: 1fr 1fr; gap: 26px 12px; }
  .rv-sub-beauty .notice-list { gap: 30px 12px; }
  .rv-sub-beauty .cta-band { margin-top: 92px; padding: 82px 20px; }
  .rv-sub-beauty .cta-band::before { inset: 12px; }
}

@media (max-width: 520px) {
  .rv-sub-beauty .subhero__badge { padding: 5px 9px; font-size: 9px; }
  .rv-sub-beauty .chips li { font-size: 11.5px; }
  .rv-sub-beauty .pick__cards { grid-template-columns: 1fr; }
  .rv-sub-beauty .notice-list { grid-template-columns: 1fr; }
  .rv-sub-beauty .info-row,
  .rv-sub-beauty .info-rows--compact .info-row { grid-template-columns: 72px 1fr; }
}

@media (pointer: coarse) {
  .rv-sub-beauty .layer:hover,
  .rv-sub-beauty .promise__item:hover { transform: none; translate: none; }
}

@media (prefers-reduced-motion: reduce) {
  .rv-sub-beauty .layer,
  .rv-sub-beauty .tx-step,
  .rv-sub-beauty .promise__item { transition: none !important; }
}
