/* =====================================================================
   리유아 서브 v2 — 더가든(전면 사진 히어로 · PROCESS 카드 · 짙은 SOLUTION 띠)
   + 위쉬·이에스청담(큰 영문 세리프 · 매거진형 여백) 결. sub.css 다음에 로드.
   문구·구성은 그대로 두고 스타일만 덮는다.
   ===================================================================== */
.is-sub {
  --secondary: #9a7b4f;
  --sv-ink: #2f231d; --sv-text: #5d4c44; --sv-mute: #8c7a70;
  --sv-gold: #9a7b4f; --sv-gold-l: #b79562; --sv-taupe: #b8a48f;
  --sv-bg: #f7f3ee; --sv-panel: #efe7dd; --sv-line: rgba(47, 35, 29, 0.12);
  --sv-ease: cubic-bezier(.22, 1, .36, 1);
}

/* ---------- 히어로: 전면 사진 + 코코아 톤 + 가운데 큰 제목 ---------- */
.is-sub .hero-wrap { background: #2f231d; }
.hero--sub { height: 640px; border-radius: 0; background: #2f231d; }
@media (max-width: 1380px) { .hero--sub { height: 580px; } }
@media (max-width: 800px)  { .hero--sub { height: 520px; } }
.subhero__clip { border-radius: 0; }
.subhero__bg { inset: 0; opacity: 1; filter: none; transform: scale(1.12); animation: svHeroZoom 2.6s var(--sv-ease) 0.05s forwards; }
.subhero__clip::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(36, 26, 21, 0.58) 0%, rgba(36, 26, 21, 0.34) 46%, rgba(36, 26, 21, 0.6) 100%); }
@keyframes svHeroZoom { to { transform: scale(1); } }

.subhero__body { align-items: center; justify-content: center; text-align: center; gap: 0; padding: 0 24px 92px; animation: none; }
.subhero__text { align-items: center; gap: 0; max-width: 900px; }
.subhero__text > * { opacity: 0; animation: svUp 1s var(--sv-ease) forwards; }
.subhero__eyebrow { order: 0; font-size: 58px; line-height: 1.08; letter-spacing: 0.005em; color: #fff; animation-delay: 0.25s; }
.subhero__title { margin-top: 18px; font-size: 24px; font-weight: 600; letter-spacing: -0.02em; line-height: 1.45; color: #fff; animation-delay: 0.42s; }
.subhero__line { display: block; width: 1px; height: 44px; margin: 26px auto 24px; background: rgba(255, 255, 255, 0.6); transform-origin: top; animation: svLine 0.9s var(--sv-ease) 0.6s forwards; }
.subhero__sub { font-size: 16px; line-height: 1.85; color: rgba(255, 255, 255, 0.86); animation-delay: 0.74s; }
.subhero__badge { border-color: rgba(255, 255, 255, 0.55); color: #fff; font-size: 13px; }
.subhero__badge--lead { background: var(--sv-gold-l); border-color: var(--sv-gold-l); }
@keyframes svUp { from { opacity: 0; transform: translateY(18px); } to { opacity: 1; transform: none; } }
@keyframes svLine { from { opacity: 1; transform: scaleY(0); } to { opacity: 1; transform: scaleY(1); } }
@media (max-width: 1380px) { .subhero__eyebrow { font-size: 48px; } }
@media (max-width: 800px) {
  .subhero__body { padding: 0 20px 78px; }
  .subhero__eyebrow { font-size: 34px; }
  .subhero__title { margin-top: 12px; font-size: 19px; }
  .subhero__line { height: 30px; margin: 18px auto 16px; }
  .subhero__sub { font-size: 13.5px; line-height: 1.8; }
}

/* 위치 안내: 히어로 하단의 반투명 바 */
.crumb {
  position: absolute; left: 0; right: 0; bottom: 0; align-self: auto; justify-content: center;
  padding: 0; border-radius: 0; height: 60px; background: rgba(28, 20, 16, 0.34);
  border-top: 1px solid rgba(255, 255, 255, 0.14);
  -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px);
  opacity: 0; animation: svFade 1s ease 0.9s forwards;
}
@keyframes svFade { to { opacity: 1; } }
.crumb__home { height: 100%; padding: 0 24px; }
.crumb__home svg { fill: #fff; }
.crumb__div { height: 18px; background: rgba(255, 255, 255, 0.24); }
.crumb__btn { height: 60px; min-width: 230px; padding: 0 24px; font-size: 14.5px; color: rgba(255, 255, 255, 0.92); }
.crumb__list { left: 0; top: 100%; border-radius: 0 0 14px 14px; padding: 10px 0; box-shadow: 0 18px 36px rgba(47, 35, 29, 0.16); }
.crumb__list a { color: var(--sv-ink); }
.crumb__list a.is-current { color: var(--sv-gold); font-weight: 600; }
@media (max-width: 800px) {
  .crumb { height: 50px; align-self: auto; padding: 0; }
  .crumb__home { padding: 0 14px; }
  .crumb__btn { height: 50px; font-size: 12.5px; }
  .crumb__list { top: 100%; }
}

/* 헤더: 서브 히어로 위(맨 위 상태)에서는 흰 글씨 */
.is-sub .header:not(.hd-solid) .gnb__link,
.is-sub .header:not(.hd-solid) .lang__code { color: #fff; }
.is-sub .header:not(.hd-solid) .gnb__item:hover > .gnb__link { color: #e4cfa9; }
.is-sub .header:not(.hd-solid) .header__logo { filter: brightness(0) invert(1); }
.is-sub .header:not(.hd-solid) .header__inner svg { stroke: #fff; }
.is-sub .header:not(.hd-solid) .header__inner svg[fill="#694b40"] { fill: #fff; }
.is-sub .header:not(.hd-solid) .hd-resv { background: rgba(255, 255, 255, 0.16); color: #fff; }
.is-sub .header:not(.hd-solid) .hd-resv:hover { background: rgba(255, 255, 255, 0.26); }
.is-sub .header .gnb__link, .is-sub .header .header__logo { transition: color 0.25s, filter 0.25s; }

/* ---------- 본문 바탕 · 폭 · 제목 ---------- */
.main--sub { --sub-pad: clamp(20px, 6.5vw, 120px); background: var(--sv-bg); padding-top: 130px; }
@media (max-width: 800px) { .main--sub { --sub-pad: 20px; padding-top: 72px; } }
.sec { max-width: 1200px; padding-top: 150px; }
.sec--tight { padding-top: 100px; }
.main--sub > .sec:first-of-type { padding-top: 0; }
@media (max-width: 800px) { .sec { padding-top: 88px; } .sec--tight { padding-top: 56px; } }

.sec__head { gap: 16px; margin-bottom: 56px; }
.sec__head--center { align-items: center; text-align: center; }
.chips--center { justify-content: center; }
.sec__eyebrow { font-size: 21px; letter-spacing: 0.03em; text-transform: none; color: var(--sv-gold); }
.sec__title { font-size: 40px; font-weight: 600; letter-spacing: -0.03em; line-height: 1.38; color: var(--sv-ink); }
.sec__title .en { font-size: 1.2em; font-weight: 400; letter-spacing: 0; }
.sec__desc { font-size: 17px; line-height: 1.9; color: var(--sv-text); }
.sec__desc--muted { color: var(--sv-mute); }
@media (max-width: 800px) {
  .sec__head { margin-bottom: 36px; gap: 12px; }
  .sec__eyebrow { font-size: 16px; }
  .sec__title { font-size: 25px; }
  .sec__desc { font-size: 14.5px; }
}

/* ---------- 소개형 2단 (사진 + 글): 패널 없이 큰 사진, 뒤에 톤 블록 ---------- */
.grid-2 { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
.grid-2 > .img-fill { position: relative; isolation: isolate; background: none; padding: 0; border-radius: 0; }
.grid-2 > .img-fill::before { content: ""; position: absolute; z-index: -1; inset: 56px 56px -34px -34px; border-radius: 28px; background: var(--sv-panel); }
.grid-2--rev > .img-fill::before { inset: 56px -34px -34px 56px; }
.grid-2 > .img-fill img, .re-row img { border-radius: 26px; box-shadow: none; }
.grid-2 > :not(.img-fill) { background: none; border-radius: 0; margin: 0; padding: 0 0 0 88px; }
.grid-2--rev > :not(.img-fill) { margin: 0; padding: 0 88px 0 0; }
.grid-2 .sec__head { margin-bottom: 28px; }
@media (max-width: 900px) {
  .grid-2 { grid-template-columns: 1fr; }
  .grid-2 > .img-fill { margin: 0 16px 0 0; }
  .grid-2 > .img-fill::before, .grid-2--rev > .img-fill::before { inset: 34px -16px -18px 34px; border-radius: 20px; }
  .grid-2 > :not(.img-fill), .grid-2--rev > :not(.img-fill) { margin: 0; padding: 52px 0 0; }
  .grid-2 > .img-fill img, .re-row img { border-radius: 18px; }
}

.tx-intro__eng { font-size: 66px; line-height: 1; color: var(--sv-gold-l); margin-bottom: 26px; }
.tx-intro__head { font-size: 30px; font-weight: 600; letter-spacing: -0.03em; line-height: 1.45; color: var(--sv-ink); margin-bottom: 22px; }
.tx-intro__desc { font-size: 17px; line-height: 1.95; color: var(--sv-text); }
@media (max-width: 800px) {
  .tx-intro__eng { font-size: 40px; margin-bottom: 18px; }
  .tx-intro__head { font-size: 21px; }
  .tx-intro__desc { font-size: 14.5px; }
}

/* 체크 목록: 더가든 PROBLEM의 테두리 줄 */
.tx-check { gap: 10px; margin-top: 30px; padding-top: 0; border-top: 0; }
.tx-check li { align-items: center; padding: 17px 22px; border: 1px solid var(--sv-line); border-radius: 14px; background: #fff; font-size: 16.5px; color: var(--sv-ink); }
.tx-check li::before { margin-top: 0; background-color: var(--sv-ink); }
@media (max-width: 800px) { .tx-check li { padding: 14px 16px; font-size: 14.5px; } }

/* ---------- PROCESS: 윗선 흰 카드 + 둥근 + 연결 ---------- */
.tx-steps { gap: 36px; }
@media (min-width: 1001px) { .tx-steps { grid-template-columns: none; grid-auto-flow: column; grid-auto-columns: minmax(0, 1fr); } }
.tx-step {
  align-items: center; text-align: center; gap: 0; min-height: 0; padding: 42px 26px 38px;
  background: #fff; border: 0; border-top: 3px solid var(--sv-taupe); border-radius: 4px 4px 22px 22px;
  box-shadow: 0 14px 34px rgba(47, 35, 29, 0.05);
}
.tx-step__no { font-size: 46px; line-height: 1; color: var(--sv-gold-l); }
.tx-step__no::after { width: 22px; margin: 18px auto 18px; background: var(--sv-taupe); }
.tx-step__text { font-size: 15px; line-height: 1.75; color: var(--sv-text); }
.tx-step__text strong { font-size: 18px; color: var(--sv-ink); margin-bottom: 8px; letter-spacing: -0.02em; }
.tx-step + .tx-step::before {
  content: "+"; position: absolute; left: -31px; top: 50%; width: 26px; height: 26px; margin-top: -13px; border-radius: 50%;
  background: var(--sv-taupe); color: #fff; font: 300 19px/25px var(--font-en); text-align: center; z-index: 1;
}
@media (max-width: 1000px) {
  .tx-steps { grid-template-columns: 1fr 1fr; gap: 18px; }
  .tx-step + .tx-step::before { display: none; }
}
@media (max-width: 600px) {
  .tx-steps { grid-template-columns: 1fr; gap: 30px; }
  .tx-step { padding: 32px 22px 30px; }
  .tx-step + .tx-step::before { display: block; left: 50%; top: -28px; margin: 0 0 0 -13px; }
  .tx-step__no { font-size: 36px; }
}

/* ---------- 카드 (실 종류 등) ---------- */
.tx-cards { gap: 22px; }
.tx-card { background: #fff; border-radius: 24px; padding: 34px 30px 36px; gap: 10px; }
.tx-card__no { font-size: 56px; color: rgba(183, 149, 98, 0.42); }
.tx-card__tag { font-size: 13px; letter-spacing: 0.12em; color: var(--sv-gold); }
.tx-card__title { font-size: 22px; font-weight: 600; letter-spacing: -0.02em; color: var(--sv-ink); }
.tx-card__desc { font-size: 15px; line-height: 1.8; color: var(--sv-text); }
@media (max-width: 800px) { .tx-card { padding: 24px 20px 26px; } .tx-card__title { font-size: 18px; } .tx-card__desc { font-size: 13.5px; } }

/* STEP 카드가 있는 섹션은 더가든 SOLUTION처럼 짙은 전면 띠 */
.sec:has(.tx-card--step) {
  position: relative; margin-top: 150px; padding: 120px 0 130px;
  background: #2f231d; box-shadow: 0 0 0 100vmax #2f231d; clip-path: inset(0 -100vmax);
}
.sec:has(.tx-card--step) .sec__eyebrow { color: #d8bd92; }
.sec:has(.tx-card--step) .sec__title { color: #fff; }
.sec:has(.tx-card--step) .sec__desc { color: rgba(255, 255, 255, 0.72); }
.tx-card--step { background: rgba(255, 255, 255, 0.04); border: 1px solid rgba(255, 255, 255, 0.1); padding: 44px 30px 40px; }
.tx-card--step img { width: 62%; border-radius: 50%; margin: 0 auto 14px; background: rgba(255, 255, 255, 0.06); }
.tx-card--step .tx-card__tag { font-size: 20px; letter-spacing: 0.06em; color: #fff; }
.tx-card--step .tx-card__desc { color: rgba(255, 255, 255, 0.72); }
.tx-card--step .tx-card__title { color: #fff; }
.tx-card--step .tx-card__no { color: rgba(216, 189, 146, 0.5); }
.sec:has(.tx-card--step) + .sec { padding-top: 150px; }
@media (max-width: 800px) {
  .sec:has(.tx-card--step) { margin-top: 88px; padding: 76px 0 84px; }
  .sec:has(.tx-card--step) + .sec { padding-top: 88px; }
  .tx-card--step { padding: 32px 22px; }
}
/* 인라인 3열 지정(시술 원리 카드)도 좁은 화면에선 한 줄에 하나 */
@media (max-width: 640px) {
  .tx-cards[style] { grid-template-columns: 1fr !important; }
  .tx-card--step img { width: 46%; }
}
.tx-note { color: var(--sv-mute); }

/* 적용 부위 */
.tx-areas li { background: #fff; border-color: var(--sv-line); color: var(--sv-ink); }
.tx-areas li::before { background: var(--sv-gold-l); }

/* ---------- Promise: 흰 카드 + 사진 ---------- */
.promise { gap: 26px; }
.promise__item { background: #fff; border-radius: 26px; padding: 14px 14px 34px; gap: 10px; transition: transform 0.5s var(--sv-ease), box-shadow 0.5s ease; }
.promise__item img { border-radius: 18px; margin-bottom: 18px; }
.promise__item > :not(img) { margin-inline: 16px; }
.promise__tag { font-size: 13px; letter-spacing: 0.14em; color: var(--sv-gold); }
.promise__title { font-size: 21px; font-weight: 600; letter-spacing: -0.03em; color: var(--sv-ink); }
.promise__desc { font-size: 15px; line-height: 1.85; color: var(--sv-text); }
@media (hover: hover) { .promise__item:hover { transform: translateY(-6px); box-shadow: 0 22px 44px rgba(47, 35, 29, 0.08); } }
@media (max-width: 800px) {
  .promise__item { border-radius: 20px; padding: 12px 12px 26px; }
  .promise__item img { border-radius: 14px; }
  .promise__item > :not(img) { margin-inline: 10px; }
  .promise__title { font-size: 18px; }
  .promise__desc { font-size: 13.5px; }
}

/* ---------- 관련 프로그램 (PICK) ---------- */
.pick { max-width: 1200px; padding-top: 150px; }
.pick__head { gap: 16px; margin-bottom: 52px; }
.pick__eyebrow { font-size: 21px; letter-spacing: 0.03em; color: var(--sv-gold); }
.pick__title { font-size: 40px; font-weight: 600; letter-spacing: -0.03em; color: var(--sv-ink); }
.pick__desc { font-size: 16px; color: var(--sv-text); }
.pick__cards { gap: 22px; align-items: stretch; }
.pick__card, .pick__card:nth-child(even) { margin-top: 0; }
.pick__card { gap: 6px; padding: 12px 12px 26px; border-radius: 24px; background: #fff; transition: transform 0.5s var(--sv-ease), box-shadow 0.5s ease; }
.pick__card > :not(.pick__thumb) { margin-inline: 10px; }
.pick__thumb { border-radius: 16px; margin-bottom: 16px; }
.pick__name { font-size: 17px; letter-spacing: -0.02em; color: var(--sv-ink); }
.pick__mix { color: var(--sv-gold); }
.pick__text { color: var(--sv-text); }
@media (hover: hover) { .pick__card:hover { transform: translateY(-6px); box-shadow: 0 22px 44px rgba(47, 35, 29, 0.08); } }
@media (max-width: 800px) {
  .pick { padding-top: 88px; }
  .pick__head { margin-bottom: 34px; }
  .pick__eyebrow { font-size: 16px; }
  .pick__title { font-size: 25px; }
  .pick__card { padding: 8px 8px 18px; border-radius: 18px; }
  .pick__card > :not(.pick__thumb) { margin-inline: 6px; }
  .pick__thumb { border-radius: 12px; margin-bottom: 10px; }
}

/* ---------- 상담 띠 ---------- */
.cta-band { margin-top: 150px; padding: 96px 20px; gap: 30px; background: radial-gradient(120% 140% at 50% 0%, #4a372d 0%, #2f231d 62%); }
.cta-band__title { font-size: 32px; font-weight: 500; letter-spacing: -0.03em; line-height: 1.5; }
.cta-band__btn { background: #f6f1ea; color: var(--sv-ink); padding: 18px 40px; font-size: 15.5px; transition: background-color 0.3s, color 0.3s; }
.cta-band__btn:hover { background: var(--sv-gold-l); color: #fff; }
@media (max-width: 800px) { .cta-band { margin-top: 88px; padding: 64px 20px; gap: 22px; } .cta-band__title { font-size: 20px; } }

/* ---------- 소개 ---------- */
.phil .only__label { font-family: var(--font-en); font-size: 21px; font-weight: 400; letter-spacing: 0.03em; text-decoration: none; color: var(--sv-gold); }
.phil .only__heading { font-size: 64px; color: var(--sv-ink); }
.phil .only__desc { color: var(--sv-text); }
@media (max-width: 800px) { .phil .only__label { font-size: 16px; } .phil .only__heading { font-size: 9vw; } }
.doctor__quote { display: inline-block; padding-right: 56px; }
.phil__slogan { font-size: 54px; color: var(--sv-ink); }
.phil__slogan-sub { color: var(--sv-gold); font-weight: 600; letter-spacing: -0.02em; }
@media (max-width: 800px) { .phil__slogan { font-size: 34px; } }
.doctor { gap: 90px; }
.doctor__photo img { border-radius: 26px; }
.doctor__quote { font-size: 27px; font-weight: 500; letter-spacing: -0.03em; color: var(--sv-ink); }
.doctor__quote::before, .doctor__quote::after { color: var(--sv-gold-l); font-size: 70px; }
.doctor__name { color: var(--sv-ink); }
.doctor__role { color: var(--sv-gold); }
.doctor__list li { color: var(--sv-text); }
.doctor__list li::before { background: var(--sv-gold-l); }
@media (max-width: 900px) { .doctor { gap: 40px; } .doctor__quote { font-size: 20px; } }
.re-rows { gap: 90px; }
.re-row { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
.re-row > :first-child { isolation: isolate; }
.re-row > :first-child::before { content: ""; position: absolute; z-index: -1; inset: 56px 56px -34px -34px; border-radius: 28px; background: var(--sv-panel); }
.re-row:nth-child(even) > :first-child::before { inset: 56px -34px -34px 56px; }
.re-row > :first-child img { box-shadow: none; }
.re-row > :last-child { background: none; border-radius: 0; margin: 0; padding: 0 0 0 88px; }
.re-row:nth-child(even) > :last-child { margin: 0; padding: 0 88px 0 0; }
.re-row__tag { font-size: 24px; letter-spacing: 0.06em; color: var(--sv-gold-l); }
.re-row__desc { color: var(--sv-text); }
@media (max-width: 900px) {
  .re-rows { gap: 64px; }
  .re-row { grid-template-columns: 1fr; }
  .re-row > :first-child { margin: 0 16px 0 0; }
  .re-row > :first-child::before, .re-row:nth-child(even) > :first-child::before { inset: 34px -16px -18px 34px; border-radius: 20px; }
  .re-row > :last-child, .re-row:nth-child(even) > :last-child { padding: 52px 0 0; }
}
.gallery .carousel__arrow { border-color: var(--sv-line); }

/* ---------- 고민별 안내: 좌 제목 · 우 내용의 흰 카드 ---------- */
.creed { position: relative; overflow: hidden; background: #2f231d; border-radius: 28px; padding: 70px 40px 64px; gap: 26px; }
.creed__slogan { font-size: 30px; font-weight: 500; letter-spacing: -0.03em; }
.creed__lines li { color: rgba(255, 255, 255, 0.78); }
.creed__lines li::before { background: var(--sv-gold-l); }
@media (max-width: 800px) { .creed { border-radius: 20px; padding: 44px 22px; } .creed__slogan { font-size: 20px; } }

.sec.concern {
  display: grid; grid-template-columns: minmax(0, 0.38fr) minmax(0, 0.62fr); column-gap: 64px; align-items: start;
  margin-top: 26px; padding: 60px 64px; background: #fff; border-radius: 28px;
}
.sec--tight + .sec.concern { margin-top: 70px; }
.concern > .sec__head { grid-row: 1 / span 2; margin-bottom: 0; }
.concern > .chips { grid-column: 2; margin-bottom: 26px; }
.concern > .info-rows { grid-column: 2; }
.concern .sec__eyebrow { font-size: 30px; color: var(--sv-gold-l); }
.concern .sec__title { font-size: 34px; }
.concern__angle { font-size: 17px; line-height: 1.75; color: var(--sv-gold); }
.concern .chips li { background: var(--sv-bg); }
.concern .info-rows { border-top: 1px solid var(--sv-line); }
.concern .info-row { border-bottom-color: var(--sv-line); }
@media (max-width: 900px) {
  .sec.concern { grid-template-columns: 1fr; padding: 36px 22px; border-radius: 20px; }
  .concern > .sec__head { grid-row: auto; margin-bottom: 26px; }
  .concern > .chips, .concern > .info-rows { grid-column: 1; }
  .concern .sec__eyebrow { font-size: 22px; }
  .concern .sec__title { font-size: 24px; }
  .concern__angle { font-size: 15px; }
}
.chips li { background: #fff; color: var(--sv-ink); }

/* 시그니처: 층 카드 · 갈래 · POINT */
.layer { background: #fff; border-top: 3px solid var(--sv-taupe); border-radius: 4px 4px 22px 22px; padding: 38px 30px; }
.layer--optional { background: transparent; border: 1px dashed rgba(47, 35, 29, 0.25); border-radius: 22px; }
.layer__no { font-size: 34px; color: var(--sv-gold-l); }
.layer__name { font-weight: 600; letter-spacing: -0.02em; color: var(--sv-ink); }
.layer__desc { color: var(--sv-text); }
.branch__item { background: #fff; border-radius: 24px; padding: 40px 36px; }
.branch__title { font-weight: 600; letter-spacing: -0.02em; color: var(--sv-ink); }
.branch__desc { color: var(--sv-text); }
.point { background: #fff; border-radius: 22px; }
.point__no { font-size: 22px; color: var(--sv-gold-l); }
.point__title { font-weight: 600; color: var(--sv-ink); }
.point__desc { color: var(--sv-text); }
.deck { border-color: var(--sv-line); background: #fff; border-radius: 18px; border: 0; overflow: hidden; }
.deck__term { color: var(--sv-ink); }
.info-row__label { color: var(--sv-mute); }
.info-row__value { color: var(--sv-ink); }
.link { color: var(--sv-gold); }

/* ---------- Notice ---------- */
.notice-list { gap: 30px 26px; }
.notice-card { padding: 12px 12px 26px; background: #fff; border-radius: 24px; transition: transform 0.5s var(--sv-ease), box-shadow 0.5s ease; }
.notice-card > :not(.notice-card__thumb) { margin-inline: 10px; }
.notice-card__thumb { border-radius: 16px; }
.notice-card__title { font-size: 19px; font-weight: 600; letter-spacing: -0.02em; color: var(--sv-ink); }
.notice-card__meta { color: var(--sv-mute); }
@media (hover: hover) { .notice-card:hover { transform: translateY(-6px); box-shadow: 0 22px 44px rgba(47, 35, 29, 0.08); } }
.notice-view { max-width: 900px; padding: 60px 64px; background: #fff; border-radius: 28px; box-sizing: border-box; }
.notice-view__head { text-align: center; border-bottom-color: var(--sv-line); padding-bottom: 34px; margin-bottom: 44px; }
.notice-view__meta { justify-content: center; color: var(--sv-mute); }
.notice-view__cat { font-size: 15px; color: var(--sv-gold); }
.notice-view__title { font-size: 34px; font-weight: 600; letter-spacing: -0.03em; color: var(--sv-ink); margin: 14px 0 16px; }
.notice-view__body img { border-radius: 16px; }
.notice-view__nav { border-top-color: var(--sv-line); }
.notice-view__nav a { padding: 20px 8px; border-bottom-color: var(--sv-line); color: var(--sv-ink); transition: color 0.2s, background-color 0.2s; }
.notice-view__nav a:hover { color: var(--sv-gold); background: var(--sv-bg); }
.notice-view__nav a span:first-child { color: var(--sv-mute); font-family: var(--font-en); }
@media (max-width: 800px) { .notice-view { padding: 34px 20px; border-radius: 20px; } .notice-view__title { font-size: 22px; } }
.btn-outline { border-color: var(--sv-ink); color: var(--sv-ink); padding: 15px 44px; transition: background-color 0.3s, color 0.3s; }
.btn-outline:hover { background: var(--sv-ink); color: #fff; }

/* ---------- 전후 사진 (잠금) ---------- */
.locked { max-width: 760px; margin: 0 auto; padding: 80px 30px 70px; background: #fff; border-radius: 28px; gap: 22px; }
.locked__icon { width: 84px; height: 84px; background: var(--sv-bg); }
.locked__msg { font-size: 17px; color: var(--sv-ink); }
@media (max-width: 800px) { .locked { padding: 50px 20px 44px; border-radius: 20px; } .locked__msg { font-size: 15px; } }

/* ---------- Contact ---------- */
.contact-info, .contact-map { gap: 80px; }
.info-row__value strong { color: var(--sv-ink); }
.pill { background: var(--sv-ink); padding: 10px 20px; font-weight: 500; transition: background-color 0.3s, color 0.3s; }
.pill--kakao, .pill--naver, .pill--google { background: #fff; color: var(--sv-ink); border: 1px solid var(--sv-line); }
.pill:hover { background: var(--sv-gold-l); border-color: var(--sv-gold-l); color: #fff; }
.contact-photos img { border-radius: 20px; }
.contact-map .map { border-radius: 20px; overflow: hidden; }
@media (max-width: 800px) { .contact-info, .contact-map { gap: 40px; } }

/* ---------- 스크롤 등장 (sub-v2.js가 .sv-r을 붙임) ---------- */
.sv-r { opacity: 0; transform: translateY(30px); transition: opacity 0.9s ease, transform 1.1s var(--sv-ease); transition-delay: var(--sv-d, 0s); }
.sv-r.is-in { opacity: 1; transform: none; }
/* 사진은 가운데서 열리는 셔터 */
.sv-shutter img { clip-path: inset(0 50% 0 50%); transition: clip-path 1.3s var(--sv-ease) var(--sv-d, 0s); }
.sv-shutter.is-in img { clip-path: inset(0 0 0 0); }
.sv-shutter::before { opacity: 0; transition: opacity 1s ease 0.5s; }
.sv-shutter.is-in::before { opacity: 1; }
@media (prefers-reduced-motion: reduce) {
  .sv-r, .sv-shutter img, .sv-shutter::before, .subhero__text > *, .subhero__line, .crumb, .subhero__bg { opacity: 1 !important; transform: none !important; clip-path: none !important; transition: none !important; animation: none !important; }
}
