/* 자동 생성 페이지(parts/p) 전용. 기본 토큰과 rd-* 부품은 lc-rd.css 를 쓴다. */
.rd-ahero{background-size:cover;background-position:center}
/* 공백 없는 일문·중문·태국어 제목이 세로선을 넘지 않게 */
.lcrd .rd-h2,.lcrd .rd-rail__lead,.lcrd .rd-ahero h1,.lcrd .rd-spec b,.lcrd .rd-spec span,.lcrd .rg-p,.lcrd .rg-quote,.lcrd .rg-h3{overflow-wrap:anywhere}
.lcrd:lang(ja),.lcrd:lang(zh),.lcrd:lang(th){word-break:normal}
.rg-auto .rd-en{font-size:calc(52*var(--u))}
.rg-rv{flex:0 0 calc(420*var(--u));min-width:250px;padding:calc(28*var(--u));min-height:calc(300*var(--u));background:#fff;border:1px solid #d9d2c4;border-radius:calc(12*var(--u));scroll-snap-align:start}
.rg-rv__star{color:var(--gold);letter-spacing:.1em;font-size:14px}
.rg-rv__txt{margin-top:12px!important;font-size:max(14px,calc(17*var(--u)));line-height:1.55;color:#222}
.rg-rv__meta{margin-top:6px!important;font-size:12px;line-height:1.4;color:#777}
.rg-num{display:inline-flex;align-items:center;justify-content:center;flex:none;width:1.6em;height:1.6em;margin-right:.6em;border:1px solid var(--tan);border-radius:50%;font-size:.8em;color:var(--olive);vertical-align:.08em}
.rg-dl{display:grid;grid-template-columns:auto 1fr;gap:6px 24px;margin-top:calc(14*var(--u))!important;font-size:max(14px,calc(18*var(--u)));line-height:1.55}
.rg-dl dt{font-weight:600;color:var(--olive)}
.rg-spec-wrap{display:contents}
.rg-hero .rd-ahero__copy{padding:0 20px}
.rg-hero h1{max-width:calc(1200*var(--u));line-height:1.2}
.rg-hero__btns{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}
.rg-hero__btns .rd-pill{margin-top:calc(24*var(--u))}
.rg-hero:not(:has(.rd-spec)){height:calc(760*var(--u));min-height:420px}
.lcrd .rd-ahero__copy p:empty{display:none}

.rd-rail.rg-auto{min-height:0}
.rd-rail.rg-auto .rd-rail__left{position:relative;left:auto;top:auto;float:left;margin:calc(160*var(--u)) 0 calc(120*var(--u)) calc(200*var(--u))}
.rd-rail.rg-auto::after{content:"";display:block;clear:both}
.rg-auto .rd-rail__right{padding-bottom:calc(120*var(--u))}
.rg-flow{padding:0 calc(120*var(--u)) 0 calc(39*var(--u));max-width:calc(1160*var(--u))}
.rd-rail__right > .rg-flow:not(:empty){margin-bottom:calc(40*var(--u))}
.rd-rail__right.rg-flow{padding-top:calc(160*var(--u));padding-bottom:calc(120*var(--u));max-width:none;margin-left:calc(639*var(--u))}
.rd-rail__right.rg-flow > *{max-width:calc(1040*var(--u))}
.rg-p{font-size:max(15px,calc(20*var(--u)));line-height:1.65;letter-spacing:-.01em;color:#222;margin-top:calc(14*var(--u))!important}
.rg-p:first-child{margin-top:0!important}
.rg-h3{font-weight:600;font-size:max(17px,calc(26*var(--u)));line-height:1.3;letter-spacing:-.02em;margin:calc(48*var(--u)) 0 calc(10*var(--u))!important;color:var(--ink)}
.rg-h3:first-child{margin-top:0!important}
.rg-quote{font-weight:500;font-size:max(17px,calc(28*var(--u)));line-height:1.45;color:var(--olive);margin-bottom:calc(20*var(--u))!important}
.rg-note,.rg-rail-note{font-size:max(12px,calc(14*var(--u)));line-height:1.6;color:#555}
.rg-note{margin-top:calc(20*var(--u))!important}
.rg-rail-note{padding:0 calc(80*var(--u)) 0 0;margin-top:calc(16*var(--u))!important}
.rd-rail--white .rd-rail__right > .rg-rail-note{padding-left:calc(39*var(--u))}
.rg-rail-note a,.rg-p a,.rg-note a,.rg-link{text-decoration:underline!important;text-underline-offset:3px;color:var(--olive)!important}
.rg-link{display:inline-block;margin-top:calc(10*var(--u));font-size:max(12px,calc(15*var(--u)));line-height:1.4}
.lcrd > .rg-disc{background:#0d1010;color:rgba(255,255,255,.72);font-size:max(12px,calc(14*var(--u)));line-height:1.6;padding:0 calc(200*var(--u)) calc(48*var(--u))}
.rg-list{margin-top:calc(14*var(--u))!important}
.rg-list li{position:relative;padding-left:1.1em;font-size:max(15px,calc(19*var(--u)));line-height:1.6;margin-top:6px}
.rg-list li::before{content:"";position:absolute;left:0;top:.72em;width:5px;height:5px;border-radius:50%;background:var(--gold)}
.rg-tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:calc(16*var(--u))!important}
.rg-tags span{display:inline-block;padding:6px 14px;border:1px solid var(--tan);border-radius:40px;font-size:max(12px,calc(15*var(--u)));line-height:1.3;color:var(--olive);background:#fff}
.rg-tagbar{padding:calc(40*var(--u)) calc(200*var(--u));background:var(--cream)}
.rg-tagbar .rg-tags{justify-content:center;margin:0!important}
.rg-fig{margin:calc(24*var(--u)) 0 0!important}
.rg-fig img{width:100%;height:auto;border-radius:calc(12*var(--u))}
.rg-btn{margin-top:calc(24*var(--u))}
.rg-table{width:100%;table-layout:fixed;overflow-wrap:anywhere;border-collapse:collapse;border-top:1px solid var(--tan);margin-top:calc(8*var(--u))}
.rg-table td{padding:calc(18*var(--u)) calc(12*var(--u));border-bottom:1px solid #e1dbcf;font-size:max(14px,calc(18*var(--u)));line-height:1.55;vertical-align:top}
.rg-table td:first-child{width:28%;font-weight:600;color:var(--olive)}

.rg-card{flex:0 0 calc(420*var(--u));min-width:220px}
.rg-card img{width:100%;height:calc(420*var(--u));min-height:190px;object-fit:cover;display:block;border-radius:calc(8*var(--u))}
.rg-card .t{margin-top:calc(20*var(--u))!important}
.rg-card .d{margin-top:calc(8*var(--u))!important;font-size:max(13px,calc(16*var(--u)));line-height:1.5;color:#333}

.rg-band{position:relative;background-size:cover;background-position:center;color:#fff;padding:calc(140*var(--u)) calc(200*var(--u));text-align:center;isolation:isolate}
.rg-band::before{content:"";position:absolute;inset:0;background:rgba(5,14,16,.68);z-index:-1}
.rg-band .rd-en--gold{color:var(--gold)}
.rg-band .rd-h2{color:#fff}
.rg-band .rg-flow{padding:0;margin:calc(24*var(--u)) auto 0}
.rg-band .rg-p,.rg-band .rg-h3,.rg-band .rg-note{color:#fff}

.rg-steps .rd-rec__list li{opacity:1}
.rg-steps .rd-rec__list li i{width:100%}
@media (min-width:1025px){.rg-rec{grid-template-columns:repeat(var(--n),minmax(0,1fr))!important}}
.rg-steps .n{margin-bottom:calc(16*var(--u))}

/* 시술 페이지의 사진·지도 */
.rd-who--photo .rd-who__fig{object-fit:cover;object-position:center;left:calc(250*var(--u));top:calc(290*var(--u));width:calc(520*var(--u));height:calc(600*var(--u))!important;
  /* 원본 사진의 네모난 끝이 보이지 않게 아래와 양옆을 흐린다 */
  -webkit-mask-image:linear-gradient(to bottom,#000 72%,transparent 98%),linear-gradient(to right,transparent 0,#000 12%,#000 88%,transparent 100%);-webkit-mask-composite:source-in;
  mask-image:linear-gradient(to bottom,#000 72%,transparent 98%),linear-gradient(to right,transparent 0,#000 12%,#000 88%,transparent 100%);mask-composite:intersect}
.rd-areas__maps--one{grid-template-columns:1fr;max-width:calc(1000*var(--u))}
.rd-map img{width:100%;height:100%;object-fit:cover}
.rg-maplbl{position:absolute;left:10px;top:10px;padding:2px 10px;border-radius:20px;background:rgba(255,255,255,.85);font-size:12px;line-height:1.6;color:#333}
.rg-maplbl:empty{display:none}
.rg-chiphd{flex:0 0 100%;font-weight:600;font-size:max(13px,calc(16*var(--u)));line-height:1.3;color:var(--olive);margin-top:calc(10*var(--u))!important}
.rg-chiphd:first-child{margin-top:0!important}
.rd-type .rg-link{margin-top:calc(8*var(--u))}
.rd-type{height:auto;min-height:calc(560*var(--u))}

/* 위치·푸터(외국어) */
.rg-info-sub{margin-top:8px!important;font-size:14px;line-height:1.5;opacity:.75}
.rg-addr{font-weight:500}
.rg-hours{display:grid;grid-template-columns:auto 1fr;gap:6px 18px;font-size:max(13px,calc(16*var(--u)));line-height:1.5}
.rg-hours dd.off{color:#e0645a}
.rg-foot{padding:calc(80*var(--u)) calc(200*var(--u)) calc(48*var(--u))}
.rg-foot__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:calc(40*var(--u))}
.rg-foot .t{font-weight:600;font-size:15px;margin-bottom:12px!important;color:#fff}
.rg-foot__tel{font-size:max(26px,calc(44*var(--u)));font-weight:700;color:#fff}
.rg-foot__bot{margin-top:calc(48*var(--u));padding-top:calc(32*var(--u));border-top:1px solid rgba(255,255,255,.14);font-size:14px;line-height:1.7;color:rgba(255,255,255,.72)}
.rg-foot__name{font-weight:700;font-size:17px;color:#fff}
.rg-foot__links a{margin-right:14px;color:#fff;font-weight:700}
.rg-foot__sns a{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;margin:10px 8px 0 0;border:1px solid rgba(255,255,255,.5);border-radius:50%;color:#fff;font-weight:700;font-size:13px}
.rg-foot__copy{margin-top:12px!important;font-size:12px;opacity:.6}

/* 약관·처리방침: 읽기 화면 */
.rg-legaltabs{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;padding:calc(64*var(--u)) 20px 0;background:#fff}
.rg-legaltabs a{padding:10px 20px;border:1px solid #d8d3c8;border-radius:30px;font-size:14px;line-height:1.3;color:#333}
.rg-legaltabs a.is-on{background:var(--green);border-color:var(--green);color:#fff}
.rg-legal{max-width:920px;margin:0 auto;padding:calc(48*var(--u)) 20px calc(120*var(--u));background:#fff}
.rg-legal h2,.rg-legal h3,.rg-legal h4{font-weight:700;font-size:20px;line-height:1.4;margin:36px 0 12px!important}
.rg-legal p{font-size:15px;line-height:1.85;margin-top:8px!important;color:#333}
.rg-legal p.li{padding-left:1em}
.rg-legal a{text-decoration:underline!important}
.rg-legal .rg-table td{font-size:14px;padding:10px}

@media (max-width:1024px){
  .rd-rail.rg-auto .rd-rail__left{float:none;margin:48px 20px 20px}
  .rg-auto .rd-rail__right{padding-bottom:48px}
  .rg-flow{padding:0 20px;max-width:none}
  .rd-rail__right.rg-flow{margin-left:0;padding:0 20px 48px}
  .rd-rail__right.rg-flow > *{max-width:none}
  .rg-rail-note,.rd-rail--white .rd-rail__right > .rg-rail-note{padding:0 20px}
  .rg-card{flex:0 0 min(72vw,300px)}
  .rg-card img{height:min(72vw,300px)}
  .rg-band{padding:56px 20px}
  .rg-tagbar{padding:20px}
  .rg-hero:not(:has(.rd-spec)){height:auto;min-height:0}
  .rd-who--photo .rd-who__line{display:none}
  .rd-who--photo .rd-who__fig{position:relative!important;left:auto!important;top:auto!important;right:auto!important;transform:none!important;display:block;margin:16px auto 0;width:min(78vw,320px)!important;height:min(70vw,300px)!important}
  .rg-auto .rd-en{font-size:clamp(30px,8vw,40px)}
  .rg-foot{padding:48px 20px}
  .rg-foot__grid{grid-template-columns:1fr}
  .lcrd > .rg-disc{padding:16px 20px 32px}
}

/* ── 첫 화면 통일: 팔 페이지 틀. 글이 길어도 겹치지 않게 흐름으로 쌓는다 ── */
.rd-ahero.rg-hero{height:auto;min-height:calc(1000*var(--u));display:flex;flex-direction:column;align-items:center;padding:calc(170*var(--u)) 0 calc(64*var(--u))}
.rg-hero .rd-ahero__copy{position:relative;left:auto;right:auto;top:auto;z-index:1}
.rg-hero .rd-ahero__line{position:relative;left:auto;top:auto;display:block;margin:calc(32*var(--u)) 0 0;z-index:1;flex:none}
.rg-hero .rd-spec{position:relative;left:auto;top:auto;transform:none;z-index:1;flex-wrap:wrap;justify-content:center;margin-top:0}
.rg-hero:not(:has(.rd-spec)){height:auto;min-height:calc(760*var(--u));justify-content:center}
.rg-h1--l h1{font-size:calc(56*var(--u));line-height:1.2}
.rg-h1--xl h1{font-size:calc(46*var(--u));line-height:1.25}
.rg-card--a{display:block;color:inherit}
.rg-card--a:hover img{opacity:.88}
.rd-spec li span,.rd-spec li b{text-align:center;padding:0 6px}

/* 외국어 메인: 글 길이에 맞춰 높이를 늘린다 */
.rg-home .rd-why{height:auto;min-height:calc(1000*var(--u));padding-bottom:calc(96*var(--u))}
.rg-home .rd-why__left{position:relative}
.rg-home .rd-why__item h3{font-size:max(16px,calc(22*var(--u)));line-height:1.3}
.rg-home .rd-why__item .d{font-size:max(13px,calc(16*var(--u)));line-height:1.5}
.rg-home .rd-sig{height:auto;padding-bottom:calc(96*var(--u))}
.rg-home .rd-dr{height:auto;min-height:calc(1000*var(--u));padding:calc(100*var(--u)) 0}
.rg-home .rd-dr__card{position:relative;left:auto;top:auto;margin-left:calc(825*var(--u))}
.rg-home .rd-dr__top img{align-self:flex-start}
.rg-dr-eyebrow{font-size:max(12px,calc(14*var(--u)));line-height:1.4;color:var(--olive)}
.rg-dr-cap{font-size:max(12px,calc(14*var(--u)));line-height:1.4;color:#777;margin-top:4px!important}
.rg-home .rd-dr__body h3{margin-top:calc(10*var(--u))!important}
.rg-drh{font-weight:600;font-size:max(13px,calc(16*var(--u)));line-height:1.3;margin:calc(18*var(--u)) 0 calc(6*var(--u))!important;color:var(--ink)}
.rg-drh--a{margin-top:calc(24*var(--u))!important}
.rg-rail-note{overflow-wrap:anywhere}

@media (max-width:1024px){
  .rd-ahero.rg-hero{padding:96px 20px 40px;min-height:0}
  .rg-hero .rd-ahero__copy{padding:0}
  .rg-hero .rd-ahero__line{display:none}
  .rg-hero .rd-spec{margin-top:28px}
  .rg-hero:not(:has(.rd-spec)){min-height:0}
  .rg-h1--l h1,.rg-h1--xl h1{font-size:clamp(26px,7vw,40px)}
  .rg-home .rd-why,.rg-home .rd-dr{height:auto;min-height:0;padding:48px 20px}
  .rg-home .rd-dr__card{margin-left:0}
  .rg-home .rd-why__left{position:relative;left:auto;top:auto;width:auto}
  .rg-home .rd-en{font-size:clamp(32px,9.5vw,48px);white-space:normal;overflow-wrap:anywhere}
  .rg-table td:first-child{width:34%}
}
