
:root{
  --bg:#f7f1e8; --bg2:#fdfaf4; --panel:#ffffff; --line:#e6dbc9; --line2:#efe6d6;
  --ink:#28221b; --mute:#8d8172;
  --rose:#c65d72; --rose-d:#a84458; --rose-l:#dd8496; --rose-t:#f6e3e6;
  --gold:#a9884b; --gold-l:#c3a468; --gold-t:#f0e7d3;
  --dark:#1d1813; --dark2:#282118; --ink-on-dark:#f3ece1; --mute-on-dark:#a99c8b;
  /* 한글 제목: Noto Serif KR 로딩 실패 시 시스템 산세리프로 자연스럽게 대체 (Times류 깨짐 방지) */
  --serif:'Pretendard','Apple SD Gothic Neo','Noto Sans KR','Malgun Gothic','PingFang SC',sans-serif;
  /* 라틴 장식용(로고·숫자·이탤릭 악센트) 전용 */
  --latin:'Cormorant Garamond',Georgia,'Times New Roman',serif;
  --body:'Pretendard','Apple SD Gothic Neo','Noto Sans KR','PingFang SC','Hiragino Sans','Malgun Gothic','Microsoft YaHei',sans-serif;
  --shadow:0 24px 60px rgba(70,50,30,.12);
  --gutter:max(5vw,calc((100vw - 1240px)/2));
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{background:var(--bg);color:var(--ink);font-family:var(--body);font-weight:400;line-height:1.72;overflow-x:hidden}
body[data-lang="zh"]{font-family:'Noto Sans SC',var(--body)}
body[data-lang="zht"]{font-family:'Noto Sans TC',var(--body)}
body[data-lang="ja"]{font-family:'Noto Sans JP',var(--body)}
a{color:inherit;text-decoration:none}
.mockbar{position:fixed;bottom:14px;left:14px;z-index:99;background:rgba(198,93,114,.94);color:#fff;font-size:12.5px;padding:6px 14px;border-radius:20px;letter-spacing:.05em}
#scrollbar{position:fixed;top:0;left:0;height:2px;background:linear-gradient(90deg,var(--rose),var(--gold));z-index:120;width:0}

/* ═ 헤더 ═ */
header{position:fixed;top:0;left:0;right:0;z-index:50;background:rgba(247,241,232,.92);backdrop-filter:blur(16px);border-bottom:1px solid var(--line);transition:box-shadow .3s,background .3s}
header.scrolled{box-shadow:0 14px 40px rgba(70,50,30,.12);background:rgba(253,250,244,.97)}
.aud-bar{display:flex;justify-content:flex-end;align-items:center;gap:18px;padding:6px var(--gutter);border-bottom:1px solid var(--line2);font-size:12px;letter-spacing:.06em}
.aud-bar .aud{display:flex;gap:2px}
.aud-bar .aud a{padding:3px 12px;border-radius:12px;color:var(--mute);cursor:pointer}
.aud-bar .aud a.on{background:var(--ink);color:var(--bg2)}
.aud-bar .aud a:hover{color:var(--ink)}
.aud-bar .aud a.on:hover{color:var(--bg2)}
.hd-top{display:flex;align-items:center;gap:22px;padding:13px var(--gutter)}
.logo{font-family:'Cormorant Garamond',Georgia,serif;font-size:26px;letter-spacing:.15em;color:var(--rose-d);font-weight:600;flex-shrink:0;cursor:pointer;line-height:1;display:flex;align-items:center;gap:10px}
.lg-mark{height:34px;width:34px;object-fit:contain}

nav.main{display:flex;gap:38px;font-size:15.5px;letter-spacing:.04em}
nav.main a{color:var(--mute);transition:.25s;padding:4px 0;border-bottom:1px solid transparent;white-space:nowrap}
nav.main a:hover,nav.main a.on{color:var(--ink);border-bottom-color:var(--rose)}
nav.main a.hot{color:var(--rose-d)}
.hd-right{margin-left:auto;display:flex;align-items:center;gap:12px}
.consult-btn{font-size:13.5px;color:#fff;background:linear-gradient(120deg,var(--rose),var(--rose-d));padding:9px 20px;border-radius:22px;font-weight:500;white-space:nowrap;cursor:pointer;box-shadow:0 6px 18px rgba(198,93,114,.35)}
.partner-btn{font-size:13px;color:var(--gold);border:1px solid var(--gold);padding:8px 16px;border-radius:20px;white-space:nowrap}
.member{display:flex;gap:10px;font-size:13.5px;white-space:nowrap}
.member a{color:var(--mute);cursor:pointer}
.member a.jn{color:var(--rose-d)}
.dd{position:relative}
.dd>a::after{content:' ▾';font-size:9px;color:var(--gold)}
.dd .dm{position:absolute;top:100%;left:-12px;padding-top:14px;display:none;z-index:60;width:max-content}
.dd:hover .dm{display:block}
.dm-in{display:block;background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:12px;min-width:210px;box-shadow:var(--shadow)}
.dm-in a{font-size:14px!important;padding:9px 16px!important}
.dm-in a{display:block;padding:8px 14px;font-size:13.5px;color:var(--mute);border-radius:8px;border-bottom:none!important;white-space:nowrap}
.dm-in a:hover{background:var(--rose-t);color:var(--ink)}
.dm-in .dvd{height:1px;background:var(--line2);margin:8px 6px}
.lang-dd{position:relative}
.lang-cur{display:flex;align-items:center;gap:6px;padding:6px 13px;border:1px solid var(--line);border-radius:16px;color:var(--ink);font-size:12.5px;cursor:pointer;white-space:nowrap;background:var(--panel)}
.lang-cur::after{content:'▾';font-size:9px;color:var(--gold)}
.lang-menu{position:absolute;top:112%;right:0;background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:8px;display:none;z-index:70;min-width:150px;box-shadow:var(--shadow)}
.lang-dd.open .lang-menu{display:block}
.lang-menu span{display:block;padding:7px 14px;font-size:13px;color:var(--mute);border-radius:8px;cursor:pointer;white-space:nowrap}
.lang-menu span:hover{background:var(--rose-t);color:var(--ink)}
.lang-menu span.on{color:var(--rose-d)}
.menu-btn{display:none;width:38px;height:38px;border:1px solid var(--line);border-radius:10px;background:var(--panel);color:var(--ink);font-size:17px;align-items:center;justify-content:center;cursor:pointer;flex-shrink:0}
.m-nav{display:none;position:fixed;top:0;right:0;bottom:0;width:min(320px,86vw);background:var(--panel);z-index:110;box-shadow:-20px 0 60px rgba(50,35,20,.25);padding:26px 26px 40px;overflow-y:auto}
.m-nav.open{display:block}
.m-nav .mx{font-size:24px;color:var(--mute);cursor:pointer;float:right}
.m-nav h5{font-size:11.5px;letter-spacing:.3em;color:var(--gold);margin:26px 0 8px;font-weight:500}
.m-nav a{display:block;padding:10px 2px;font-size:15.5px;color:var(--ink);border-bottom:1px solid var(--line2)}
.m-nav a.sm{font-size:14px;color:var(--mute)}
.m-nav .m-cta{margin-top:24px;text-align:center}
.m-nav .m-cta .btn{width:100%;text-align:center}
.m-bg{display:none;position:fixed;inset:0;background:rgba(40,30,20,.4);z-index:105}
.m-bg.open{display:block}
@media(max-width:1000px){nav.main{gap:20px;font-size:14px}}
@media(max-width:900px){
  .aud-bar{justify-content:center;padding:5px 3vw;gap:10px}
  .hd-top{padding:10px 4vw;gap:12px}
  .member{display:none}
  .partner-btn{display:none}
  .consult-btn{padding:7px 14px;font-size:12.5px}
  .logo{font-size:22px}
  section{padding:64px 5vw!important}
  .crumb{padding:132px 5vw 0!important}
  .pagehero{padding:26px 5vw 40px!important}
  h2.sec{font-size:27px}
  .pagehero :is(h1,h2){font-size:30px}
  .hero{padding:132px 5vw 84px!important;gap:40px;min-height:auto}
  .hero :is(h1,h2){font-size:36px}
  .hero-stats{gap:26px;margin-top:40px}
  .hstat b{font-size:27px}
  .hcard.h2,.hcard.h3{margin-left:0}
  .scrolldn{display:none}
  .ticker span{font-size:14px;margin:0 16px}
  .gateway{gap:16px;margin-top:36px}
  .gate{padding:32px 26px}
  .promise>a{padding:28px 26px}
  .rank-wrap{gap:24px}
  .cmp{display:block;overflow-x:auto;white-space:nowrap}
  .fee{display:block;overflow-x:auto;white-space:nowrap}
  .dt-head{margin-top:-28px;padding:0 12px;gap:16px}
  .dt-stats{margin-left:0;gap:22px}
  .dt-cover{height:180px}
  .j-strip{grid-template-columns:1fr 1fr}
  .j-step{padding:20px 16px}
  .ct-banner{padding:30px 26px}
  .ct-banner h3{font-size:20px}
  .ft-grid{grid-template-columns:1fr 1fr;gap:26px}
  .fab{right:16px;bottom:16px}
  .fab-main{padding:12px 18px;font-size:13.5px}
  .mockbar{font-size:11px;padding:5px 10px}
  .qr-row{gap:16px}
  .qr{width:118px}
  .qr .box{width:96px;height:96px}
  .i18n-note{margin:126px 5vw -60px}
  .quote{padding:36px 6vw}
  .modal{padding:34px 26px}
}
@media(max-width:520px){
  .aud-bar .aud a{padding:3px 9px;font-size:11.5px}
  .hero :is(h1,h2){font-size:31px}
  .j-strip{grid-template-columns:1fr}
  .ft-grid{grid-template-columns:1fr}
  .dnums{grid-template-columns:1fr 1fr;gap:12px}
  .dnum{padding:20px 14px}
  .dnum b{font-size:26px}
}

/* ═ 공통 ═ */
main{min-height:100vh}
[data-page]{display:none}
[data-page].show{display:block}
section{padding:96px var(--gutter);position:relative}
.label{font-size:12px;letter-spacing:.42em;color:var(--gold);text-transform:uppercase;margin-bottom:18px;font-weight:500;display:flex;align-items:center;gap:14px;font-family:var(--body)}
.label::after{content:'';height:1px;width:64px;background:linear-gradient(90deg,var(--gold),transparent);opacity:.6}
h1,h2,h3{font-family:var(--serif);font-weight:700;line-height:1.32;letter-spacing:-.02em;word-break:keep-all}
h2.sec{font-size:clamp(28px,3vw,40px)}
.grad{background:linear-gradient(115deg,var(--ink) 25%,var(--rose-d) 62%,var(--gold) 95%);-webkit-background-clip:text;background-clip:text;color:transparent}
.sub{color:var(--mute);max-width:660px;font-size:16px;margin-top:16px}
.reveal{opacity:0;transform:translateY(30px);transition:opacity .85s ease,transform .85s ease}
.reveal.in{opacity:1;transform:none}
.btn{display:inline-block;padding:14px 34px;border-radius:32px;font-size:15px;letter-spacing:.05em;transition:.3s;cursor:pointer;border:none;font-family:inherit}
.btn.fill{background:linear-gradient(120deg,var(--rose),var(--rose-d));color:#fff;box-shadow:0 10px 28px rgba(198,93,114,.35)}
.btn.fill:hover{transform:translateY(-2px);box-shadow:0 16px 36px rgba(198,93,114,.5)}
.btn.ghost{border:1px solid var(--gold);color:var(--gold);background:transparent}
.btn.ghost:hover{background:var(--gold-t)}
.btn.dark{background:var(--ink);color:var(--bg2)}
.crumb{padding:126px var(--gutter) 0;font-size:13px;color:var(--mute);letter-spacing:.05em}
.crumb a{color:var(--gold)}
.pagehero{padding:34px var(--gutter) 50px}
.pagehero :is(h1,h2){font-size:clamp(30px,3.6vw,48px)}
.i18n-note{display:none;background:var(--gold-t);border:1px solid var(--line);color:var(--gold);font-size:13px;padding:10px 18px;border-radius:12px;margin:140px var(--gutter) -100px;text-align:center}
body:not([data-lang="ko"]) .i18n-note{display:block}

/* ═ 히어로 ═ */
.hero{min-height:92vh;display:grid;grid-template-columns:1.12fr .88fr;gap:4vw;align-items:center;padding:168px var(--gutter) 90px;
  background:radial-gradient(ellipse 60% 50% at 80% 18%,rgba(198,93,114,.10),transparent 65%),
             radial-gradient(ellipse 50% 45% at 8% 85%,rgba(169,136,75,.10),transparent 70%)}
@media(max-width:1000px){.hero{grid-template-columns:1fr;padding-top:150px}}
.hero .tag{display:inline-flex;align-items:center;gap:8px;font-size:12.5px;letter-spacing:.22em;color:var(--rose-d);border:1px solid rgba(198,93,114,.35);background:rgba(255,255,255,.6);padding:8px 18px;border-radius:20px;margin-bottom:26px;width:fit-content}
.hero .eng{font-family:var(--serif);font-style:italic;font-size:clamp(18px,1.9vw,24px);color:var(--gold);letter-spacing:.05em;margin-bottom:14px}
.hero :is(h1,h2){font-size:clamp(34px,4.2vw,56px)}
.hero .sub{font-size:16.5px}
.cta-row{display:flex;gap:14px;margin-top:38px;flex-wrap:wrap}
.hero-stats{display:flex;gap:44px;margin-top:56px;flex-wrap:wrap}
.hstat b{font-family:var(--serif);font-size:36px;font-weight:600;color:var(--rose-d);display:block;line-height:1.1}
.hstat span{font-size:12.5px;color:var(--mute);letter-spacing:.05em}
.hero-side{position:relative;display:flex;flex-direction:column;gap:18px;padding:20px 0}
.hero-side::before{content:'';position:absolute;inset:-30px -20px;background:radial-gradient(circle at 60% 40%,rgba(198,93,114,.14),transparent 70%);border-radius:50%;filter:blur(30px)}
.hcard{position:relative;background:var(--panel);border:1px solid var(--line);border-radius:20px;padding:22px 24px;box-shadow:var(--shadow);transition:.35s}
.hcard:hover{transform:translateY(-4px)}
.hcard .k{font-size:11px;letter-spacing:.3em;color:var(--gold);margin-bottom:8px;display:flex;justify-content:space-between;align-items:center}
.hcard b{font-size:16.5px;font-weight:500}
.hcard p{font-size:13px;color:var(--mute);margin-top:3px}
.hcard .pr{font-family:var(--serif);font-size:19px;color:var(--rose-d);margin-top:8px}
.hcard .pr s{font-size:14px;color:var(--mute);margin-right:7px}
.hcard.h2{margin-left:34px}
.hcard.h3{margin-left:10px}
.hcard .stars{color:var(--gold);font-size:13px;letter-spacing:.15em}
.hcard .mini-qr{width:52px;height:52px;border:1px solid var(--gold);border-radius:10px;flex-shrink:0;background:
  repeating-linear-gradient(0deg,rgba(40,34,27,.16) 0 4px,transparent 4px 8px),
  repeating-linear-gradient(90deg,rgba(40,34,27,.16) 0 4px,transparent 4px 8px)}
.hcard.row{display:flex;gap:16px;align-items:center}
.scrolldn{position:absolute;bottom:30px;left:50%;transform:translateX(-50%);font-size:11px;letter-spacing:.35em;color:var(--mute);display:flex;flex-direction:column;align-items:center;gap:10px;animation:bob 2.6s infinite}
.scrolldn::before{content:'';width:1px;height:44px;background:linear-gradient(180deg,var(--gold),transparent)}
@keyframes bob{0%,100%{transform:translate(-50%,0)}50%{transform:translate(-50%,9px)}}

/* ═ 티커 ═ */
.ticker{border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--bg2);overflow:hidden;padding:16px 0;white-space:nowrap}
.ticker .tk{display:inline-block;animation:tick 36s linear infinite}
.ticker span{font-family:var(--serif);font-size:16px;letter-spacing:.14em;color:var(--mute);margin:0 26px}
.ticker span i{font-style:normal;color:var(--rose);margin-right:26px}
@keyframes tick{from{transform:translateX(0)}to{transform:translateX(-50%)}}

/* ═ 대상별 게이트웨이 ═ */
.gateway{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:48px}
@media(max-width:900px){.gateway{grid-template-columns:1fr}}
.gate{position:relative;background:var(--panel);border:1px solid var(--line);border-radius:24px;padding:44px 36px;transition:.35s;overflow:hidden}
.gate:hover{transform:translateY(-6px);box-shadow:var(--shadow);border-color:rgba(198,93,114,.4)}
.gate::after{content:'';position:absolute;right:-46px;top:-46px;width:150px;height:150px;border-radius:50%;background:radial-gradient(circle,var(--rose-t),transparent 70%)}
.gate .ic{font-size:30px;display:block;margin-bottom:18px}
.gate i{font-style:normal;font-size:11.5px;letter-spacing:.32em;color:var(--gold);display:block;margin-bottom:8px}
.gate b{font-family:var(--serif);font-size:21px;font-weight:500;display:block}
.gate p{font-size:14px;color:var(--mute);margin-top:10px}
.gate .glinks{margin-top:20px;display:flex;flex-wrap:wrap;gap:8px}
.gate .glinks span{font-size:12.5px;border:1px solid var(--line);padding:5px 13px;border-radius:14px;color:var(--mute);transition:.2s}
.gate:hover .glinks span{border-color:var(--rose);color:var(--rose-d)}

/* ═ 약속 ═ */
.promise{display:grid;grid-template-columns:repeat(3,1fr);background:var(--panel);border:1px solid var(--line);border-radius:24px;overflow:hidden;box-shadow:var(--shadow)}
@media(max-width:860px){.promise{grid-template-columns:1fr}}
.promise>a{padding:38px 34px;border-left:1px solid var(--line2);transition:.3s;position:relative}
.promise>a:first-child{border-left:none}
.promise>a:hover{background:var(--rose-t)}
.promise i{font-style:normal;font-family:var(--serif);color:var(--gold);letter-spacing:.28em;font-size:14px}
.promise b{display:block;font-size:17.5px;font-weight:500;margin-top:12px}
.promise p{font-size:13.5px;color:var(--mute);margin-top:7px}
.promise .pgo{font-size:13px;color:var(--gold);margin-top:16px;display:block;transition:.3s}
.promise>a:hover .pgo{color:var(--rose-d)}

/* ═ 카드류 ═ */
.spec-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:16px;margin-top:44px}
.spec{background:var(--panel);border:1px solid var(--line);border-radius:18px;padding:28px 24px;transition:.3s;cursor:pointer}
.spec:hover{transform:translateY(-4px);box-shadow:var(--shadow);border-color:rgba(198,93,114,.4)}
.spec .ic{font-size:23px;display:block;margin-bottom:10px}
.spec b{font-size:16.5px;font-weight:500;display:block}
.spec p{font-size:13.5px;color:var(--mute);margin-top:5px}
.spec i{font-style:normal;font-size:12.5px;color:var(--gold);display:block;margin-top:12px}
.hosp-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(265px,1fr));gap:22px;margin-top:40px}
.hosp{background:var(--panel);border:1px solid var(--line);border-radius:20px;overflow:hidden;transition:.3s;cursor:pointer}
.hosp:hover{transform:translateY(-5px);box-shadow:var(--shadow);border-color:rgba(169,136,75,.5)}
.hosp .ph{aspect-ratio:4/3;width:100%;display:flex;align-items:center;justify-content:center;font-family:var(--serif);letter-spacing:.25em;font-size:15px;color:rgba(120,95,60,.55);background:linear-gradient(135deg,var(--rose-t),var(--gold-t))}
.hosp .bd{padding:20px 22px 24px}
.badge{display:inline-block;font-size:11.5px;letter-spacing:.12em;color:var(--gold);border:1px solid rgba(169,136,75,.45);background:var(--gold-t);padding:3px 10px;border-radius:11px;margin-bottom:9px}
.hosp b{display:block;font-size:16.5px;font-weight:500}
.hosp .meta{font-size:13.5px;color:var(--mute);margin-top:4px}
.hosp .rate{margin-top:10px;font-size:14px;color:var(--rose-d)}
.hosp .rate em{font-style:normal;color:var(--mute);font-size:12.5px}
.hosp .evline{margin-top:10px;font-size:12.5px;color:var(--gold);border-top:1px dashed var(--line);padding-top:10px}
.filterbar{display:flex;flex-wrap:wrap;gap:10px;margin-top:36px;align-items:center}
.filterbar .ft{font-size:12px;letter-spacing:.2em;color:var(--mute);margin-right:4px}
.fpill{font-size:13px;padding:7px 16px;border:1px solid var(--line);border-radius:18px;color:var(--mute);cursor:pointer;transition:.2s;background:var(--panel)}
.fpill.on{border-color:var(--rose);color:#fff;background:var(--rose)}
.fpill:hover{border-color:var(--rose)}
.fsep{width:1px;height:20px;background:var(--line);margin:0 8px}

/* ═ BEST 랭킹 ═ */
.rank-wrap{display:grid;grid-template-columns:1fr 1fr;gap:40px;margin-top:44px;align-items:start}
@media(max-width:960px){.rank-wrap{grid-template-columns:1fr}}
.rank-list{background:var(--panel);border:1px solid var(--line);border-radius:22px;padding:14px 26px;box-shadow:var(--shadow)}
.rk{display:flex;align-items:center;gap:18px;padding:18px 4px;border-bottom:1px dashed var(--line2)}
.rk:last-child{border-bottom:none}
.rk .no{font-family:var(--serif);font-size:26px;color:var(--gold);width:34px;text-align:center;flex-shrink:0}
.rk.first .no{color:var(--rose-d);font-size:32px}
.rk b{font-size:16px;font-weight:500;display:block}
.rk p{font-size:13px;color:var(--mute)}
.rk .rt{margin-left:auto;text-align:right;flex-shrink:0}
.rk .rt b{color:var(--rose-d);font-family:var(--serif);font-size:18px}
.rk .rt span{font-size:11.5px;color:var(--mute)}
.rank-side h3{font-size:26px;margin-bottom:14px}
.rank-side p{font-size:14.5px;color:var(--mute)}
.tabs{display:flex;flex-wrap:wrap;gap:10px;margin-top:26px}
.tab{font-size:14px;padding:9px 22px;border:1px solid var(--line);border-radius:22px;color:var(--mute);cursor:pointer;transition:.2s;background:var(--panel)}
.tab.on{border-color:var(--rose);color:#fff;background:linear-gradient(120deg,var(--rose),var(--rose-d))}

/* ═ 이벤트 가로 스크롤 ═ */
.hscroll{display:flex;gap:22px;overflow-x:auto;margin-top:44px;padding:6px 2px 22px;scroll-snap-type:x mandatory}
.hscroll::-webkit-scrollbar{height:5px}
.hscroll::-webkit-scrollbar-thumb{background:var(--line);border-radius:3px}
.hscroll .ev{flex:0 0 300px;scroll-snap-align:start}
.ev-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(255px,1fr));gap:22px;margin-top:44px}
.ev{background:var(--panel);border:1px solid var(--line);border-radius:20px;overflow:hidden;transition:.3s}
.ev:hover{transform:translateY(-5px);box-shadow:var(--shadow)}
.ev .thumb{height:130px;background:linear-gradient(135deg,var(--rose-t),var(--gold-t));display:flex;align-items:center;justify-content:center;font-family:var(--serif);font-size:17px;color:rgba(120,95,60,.55);letter-spacing:.2em}
.ev .bd{padding:20px 22px 24px}
.month{display:inline-block;font-size:12px;letter-spacing:.16em;color:#fff;background:linear-gradient(120deg,var(--rose),var(--rose-d));padding:4px 12px;border-radius:12px;margin-bottom:9px}
.ev b{display:block;font-size:16.5px;font-weight:500}
.ev p{font-size:13.5px;color:var(--mute);margin-top:4px}
.ev .price{margin-top:11px;font-family:var(--serif);font-size:20px;color:var(--rose-d)}
.ev .price s{color:var(--mute);font-size:14px;margin-right:8px}
.ev .dday{float:right;font-size:12px;color:var(--rose-d);margin-top:6px}
.pk-inc{display:flex;flex-wrap:wrap;gap:6px;margin-top:12px}
.pk-inc span{font-size:11.5px;border:1px solid var(--line);padding:3px 10px;border-radius:10px;color:var(--mute)}
.pk-days{font-size:12px;letter-spacing:.16em;color:var(--gold);border:1px solid rgba(169,136,75,.5);padding:3px 10px;border-radius:11px;float:right}

/* ═ 다크 밴드 ═ */
.band-dark{background:linear-gradient(160deg,var(--dark),var(--dark2));color:var(--ink-on-dark)}
.band-dark .label{color:var(--gold-l)}
.band-dark .grad{background:linear-gradient(115deg,var(--ink-on-dark) 25%,var(--rose-l) 62%,var(--gold-l) 95%);-webkit-background-clip:text;background-clip:text;color:transparent}
.band-dark .sub{color:var(--mute-on-dark)}
.dash{display:grid;grid-template-columns:1.1fr 1fr;gap:46px;margin-top:46px;align-items:center}
@media(max-width:900px){.dash{grid-template-columns:1fr}}
.dbars .row{margin-bottom:20px}
.dbars .row b{font-size:14px;font-weight:400;display:flex;justify-content:space-between;color:var(--mute-on-dark)}
.dbars .row b em{font-style:normal;color:var(--gold-l);font-family:var(--serif);font-size:16px}
.dbars .bar{height:6px;background:rgba(255,255,255,.08);border-radius:3px;margin-top:9px;overflow:hidden}
.dbars .bar i{display:block;height:100%;width:0;border-radius:3px;background:linear-gradient(90deg,var(--rose),var(--gold-l));transition:width 1.3s cubic-bezier(.2,.7,.3,1)}
.dnums{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.dnum{background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.1);border-radius:18px;padding:28px 22px;text-align:center;transition:.3s}
.dnum:hover{border-color:rgba(195,164,104,.5)}
.dnum b{font-family:var(--serif);font-size:34px;font-weight:600;color:var(--gold-l);display:block}
.dnum span{font-size:12.5px;color:var(--mute-on-dark)}
.j-strip{display:grid;grid-template-columns:repeat(auto-fit,minmax(175px,1fr));margin-top:52px}
.j-step{padding:26px 20px;border-left:1px solid rgba(255,255,255,.12)}
.j-step:first-child{border-left:none}
.j-step .no{font-family:var(--serif);font-size:15px;color:var(--gold-l);letter-spacing:.22em}
.j-step b{display:block;font-family:var(--serif);font-size:20px;margin:7px 0 7px}
.j-step p{font-size:13.5px;color:var(--mute-on-dark)}
[data-page]:not([data-page="home"]) .j-strip .j-step{border-left-color:var(--line)}
[data-page]:not([data-page="home"]) .j-step .no{color:var(--gold)}
[data-page]:not([data-page="home"]) .j-step p{color:var(--mute)}

/* ═ 스토리 매거진 ═ */
.story-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:24px;margin-top:44px}
.story{background:var(--panel);border:1px solid var(--line);border-radius:22px;overflow:hidden;transition:.3s;cursor:pointer}
.story:hover{transform:translateY(-5px);box-shadow:var(--shadow)}
.story .sph{aspect-ratio:4/3;display:flex;align-items:center;justify-content:center;font-size:40px;background:linear-gradient(135deg,var(--gold-t),var(--rose-t))}
.story .bd{padding:22px 24px 26px}
.story .tag2{display:inline-block;font-size:11px;letter-spacing:.2em;color:var(--rose-d);border:1px solid rgba(198,93,114,.4);padding:3px 10px;border-radius:10px;margin-bottom:10px}
.story b{display:block;font-size:16px;font-weight:500;line-height:1.5}
.story p{font-size:13.5px;color:var(--mute);margin-top:7px}
.story .rd{font-size:12.5px;color:var(--gold);margin-top:14px;display:block}

/* ═ 서브페이지 공용 ═ */
.tline{margin-top:46px;border-left:1px solid var(--line);padding-left:38px;max-width:620px}
.tl{position:relative;padding-bottom:34px}
.tl:last-child{padding-bottom:0}
.tl::before{content:'';position:absolute;left:-44px;top:5px;width:11px;height:11px;border-radius:50%;background:var(--rose);box-shadow:0 0 0 5px var(--rose-t)}
.tl time{font-family:var(--serif);font-size:19px;color:var(--gold)}
.tl b{display:block;font-weight:500;margin:3px 0 2px}
.tl p{font-size:14px;color:var(--mute)}
.ch-head{display:flex;align-items:baseline;gap:20px;margin-bottom:14px}
.ch-no{font-family:var(--serif);font-size:56px;font-weight:400;color:transparent;-webkit-text-stroke:1px var(--rose);line-height:1}
.ch-head h2{font-size:clamp(26px,3vw,38px)}
.chapter{border-top:1px solid var(--line)}
.grid3{display:grid;grid-template-columns:repeat(auto-fit,minmax(235px,1fr));gap:18px;margin-top:40px}
.mini{background:var(--panel);border:1px solid var(--line);border-radius:18px;padding:26px 24px;transition:.3s}
.mini:hover{box-shadow:var(--shadow);border-color:rgba(169,136,75,.45)}
.mini b{font-size:16.5px;font-weight:500;display:block;margin-bottom:6px}
.mini p{font-size:14px;color:var(--mute)}
.mini .ic{font-size:21px;margin-bottom:12px;display:block}
.care2{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:22px;margin-top:40px}
.care{background:var(--panel);border:1px solid var(--line);border-radius:20px;padding:32px 30px;box-shadow:var(--shadow)}
.care h3{font-size:19px;color:var(--rose-d);margin-bottom:12px}
.care p{font-size:14.5px;color:var(--mute)}
.tips-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:18px;margin-top:38px}
.tipc{background:var(--panel);border:1px solid var(--line);border-left:3px solid var(--gold);border-radius:14px;padding:26px 24px}
.tipc b{font-size:15.5px;font-weight:500;color:var(--ink);display:block;margin-bottom:8px}
.tipc p{font-size:13.5px;color:var(--mute)}
.bg-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:18px;margin-top:44px}
.bgc{background:var(--panel);border:1px solid var(--line);border-radius:18px;padding:26px 22px;transition:.3s;cursor:pointer}
.bgc:hover{border-color:rgba(169,136,75,.5);transform:translateY(-4px);box-shadow:var(--shadow)}
.bgc .ic{font-size:21px;display:block;margin-bottom:10px}
.bgc b{font-size:15.5px;font-weight:500;display:block}
.bgc p{font-size:13.5px;color:var(--mute);margin-top:5px}
.food{display:flex;gap:18px;padding:20px 0;border-bottom:1px dashed var(--line)}
.food .no{font-family:var(--serif);font-size:24px;color:var(--gold);min-width:38px}
.food b{font-size:16px;font-weight:500}
.food .hotb{display:inline-block;font-size:11px;line-height:1.4;color:#fff;background:var(--rose);padding:3px 10px;border-radius:999px;margin-left:8px;vertical-align:middle;white-space:nowrap}
.food p{font-size:14px;color:var(--mute);margin-top:4px;max-width:720px}
.acc{max-width:840px;margin-top:34px}
.acc details{border-bottom:1px solid var(--line);padding:20px 4px}
.acc summary{cursor:pointer;font-size:13px;list-style:none;display:flex;justify-content:space-between;align-items:center;font-weight:400}
.acc summary::after{content:'+';font-family:var(--serif);font-size:22px;color:var(--gold)}
.acc details[open] summary::after{content:'−'}
.acc details p{font-size:14.5px;color:var(--mute);margin-top:12px;max-width:760px}.cguide h4{font-size:13px;font-weight:700;color:var(--ink,#2b2320);margin:16px 0 6px;letter-spacing:.02em}.cguide ul{margin:6px 0 2px;padding-left:18px}.cguide li{font-size:14px;color:var(--mute);line-height:1.65;margin:4px 0}.cguide p{font-size:14px;color:var(--mute);line-height:1.65;margin:4px 0;max-width:760px}.cguide .cnote{font-size:12.5px;color:var(--mute);opacity:.82;margin-top:12px;line-height:1.6}
html[lang="ko"] #botoxSec{display:none !important}
#botoxSec .bxwrap{max-width:640px;margin:20px auto 0}
#botoxSec .bxg{display:none;overflow-x:auto;scroll-snap-type:x mandatory;gap:12px;padding:4px 2px 12px;-webkit-overflow-scrolling:touch;scrollbar-width:thin;scrollbar-color:#d8c3b0 transparent}
#botoxSec .bxg-en{display:flex}
html[lang="zh-CN"] #botoxSec .bxg-en{display:none}
html[lang="zh-CN"] #botoxSec .bxg-cn{display:flex}
html[lang="zh-TW"] #botoxSec .bxg-en{display:none}
html[lang="zh-TW"] #botoxSec .bxg-tc{display:flex}
html[lang="ja"] #botoxSec .bxg-en{display:none}
html[lang="ja"] #botoxSec .bxg-jp{display:flex}

#botoxSec .bxg::-webkit-scrollbar{height:6px}
#botoxSec .bxg::-webkit-scrollbar-thumb{background:#d8c3b0;border-radius:3px}
#botoxSec .bxg::-webkit-scrollbar-track{background:transparent}
#botoxSec .bxslide{flex:0 0 63%;scroll-snap-align:center}
#botoxSec .bxslide img{width:100%;border-radius:16px;box-shadow:0 12px 34px rgba(50,35,20,.14);display:block}
#botoxSec .bxhint{text-align:center;color:#c59aa0;opacity:.7;font-size:15px;letter-spacing:.35em;margin-top:2px}
#botoxSec .bxwrap{position:relative}
#botoxSec .bxarrow{position:absolute;top:calc(50% - 22px);width:42px;height:42px;border-radius:50%;border:none;background:rgba(106,47,59,.72);color:#fff;font-size:24px;line-height:42px;text-align:center;cursor:pointer;z-index:5;padding:0;box-shadow:0 3px 10px rgba(40,25,20,.25);transition:background .2s}
#botoxSec .bxarrow:hover{background:rgba(106,47,59,.95)}
#botoxSec .bxprev{left:2px}
#botoxSec .bxnext{right:2px}
.proc-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:20px;margin-top:38px}
.proc{background:var(--panel);border:1px solid var(--line);border-radius:18px;padding:26px 26px 22px;transition:.3s}
.proc:hover{box-shadow:var(--shadow);border-color:rgba(198,93,114,.4)}
.proc .top{display:flex;justify-content:space-between;align-items:start}
.proc b{font-size:16.5px;font-weight:500}
.proc .pop{font-size:11px;letter-spacing:.1em;color:#fff;background:var(--rose);padding:3px 9px;border-radius:10px}
.proc p{font-size:13.5px;color:var(--mute);margin-top:6px}
.proc .specs{display:flex;gap:18px;margin-top:16px;padding-top:14px;border-top:1px dashed var(--line);font-size:12.5px;color:var(--mute)}
.proc .specs b{display:block;font-size:13.5px;color:var(--gold);font-weight:400;font-family:var(--body)}
.proc .pr{margin-top:14px;font-family:var(--serif);font-size:19px;color:var(--rose-d)}
.cmp{width:100%;border-collapse:collapse;margin-top:44px;font-size:14px;background:var(--panel);border-radius:16px;overflow:hidden;box-shadow:var(--shadow)}
.cmp th{font-weight:500;color:var(--gold);text-align:left;padding:15px 18px;border-bottom:1px solid var(--gold);font-size:13px;letter-spacing:.08em;background:var(--gold-t)}
.cmp td{padding:14px 18px;border-bottom:1px solid var(--line2);color:var(--mute)}
.cmp td:first-child{color:var(--ink)}
.cmp tr:hover td{background:var(--rose-t)}
.dt-hero{padding:40px var(--gutter) 0}
.dt-cover{height:260px;border-radius:24px;background:linear-gradient(135deg,var(--rose-t),var(--gold-t));display:flex;align-items:center;justify-content:center;font-family:var(--serif);font-size:22px;letter-spacing:.3em;color:rgba(120,95,60,.55)}
.dt-head{display:flex;flex-wrap:wrap;gap:26px;align-items:end;margin-top:-46px;padding:0 30px}
.dt-logo{width:92px;height:92px;border-radius:22px;background:var(--panel);border:1px solid var(--gold);display:flex;align-items:center;justify-content:center;font-family:var(--serif);font-size:26px;color:var(--gold);box-shadow:var(--shadow)}
.dt-info :is(h1,h2){font-size:30px}
.dt-info .meta{font-size:14px;color:var(--mute);margin-top:4px}
.dt-stats{display:flex;gap:34px;margin-left:auto;padding-bottom:6px}
.dt-stats b{font-family:var(--serif);font-size:26px;color:var(--rose-d);display:block;line-height:1.2}
.dt-stats span{font-size:12px;color:var(--mute)}
.dt-grid{display:grid;grid-template-columns:1.6fr 1fr;gap:26px;margin-top:44px}
@media(max-width:900px){.dt-grid{grid-template-columns:1fr}}
.dt-box{background:var(--panel);border:1px solid var(--line);border-radius:20px;padding:30px 30px;box-shadow:var(--shadow)}
.dt-box h3{font-size:19px;color:var(--gold);margin-bottom:16px}
.dt-box ul{list-style:none}
.dt-box li{display:flex;justify-content:space-between;padding:11px 0;border-bottom:1px dashed var(--line2);font-size:14.5px;gap:10px;flex-wrap:wrap}
.dt-box li span{color:var(--mute)}
.dt-box li em{font-style:normal;color:var(--rose-d);font-family:var(--serif);font-size:16px}
.dt-box p{font-size:14.5px;color:var(--mute)}
.maps{height:170px;border-radius:14px;border:1px dashed var(--line);display:flex;align-items:center;justify-content:center;color:var(--mute);font-size:13px;letter-spacing:.15em;margin-top:16px;background:var(--bg2)}
.rg-sec{margin-top:50px}
.rg-sec h3{font-size:20px;color:var(--ink);margin-bottom:6px}
.rg-sec .cnt{font-size:13px;color:var(--mute)}
.area-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;margin-top:22px}
.area{border:1px solid var(--line);border-radius:18px;padding:24px 22px;background:var(--panel);transition:.3s;position:relative}
.area:hover{border-color:rgba(198,93,114,.45);transform:translateY(-3px);box-shadow:var(--shadow)}
.area b{font-size:16.5px;font-weight:500}
.area i{font-style:normal;font-size:11px;letter-spacing:.16em;color:var(--gold);display:block;margin-bottom:6px}
.area p{font-size:13px;color:var(--mute);margin-top:6px}
.area .soon{position:absolute;top:16px;right:16px;font-size:10.5px;letter-spacing:.1em;color:var(--mute);border:1px solid var(--line);padding:2px 8px;border-radius:9px}
.area .yes{position:absolute;top:16px;right:16px;font-size:10.5px;letter-spacing:.1em;color:var(--rose-d);border:1px solid rgba(198,93,114,.5);background:var(--rose-t);padding:2px 8px;border-radius:9px}
.cat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:22px;margin-top:44px}
.cat{background:var(--panel);border:1px solid var(--line);border-radius:20px;padding:34px 30px;transition:.3s;cursor:pointer}
.cat:hover{transform:translateY(-5px);box-shadow:var(--shadow);border-color:rgba(169,136,75,.5)}
.cat .mon{font-family:var(--serif);font-size:38px;color:var(--gold);line-height:1}
.cat .yr{font-size:12px;letter-spacing:.25em;color:var(--mute)}
.cat b{display:block;font-size:16px;font-weight:500;margin-top:16px}
.cat p{font-size:13.5px;color:var(--mute);margin-top:6px}
.cat .new{font-size:11px;color:#fff;background:var(--rose);padding:2px 9px;border-radius:9px;margin-left:8px;vertical-align:2px}
.quote{background:var(--panel);border:1px solid var(--line);border-radius:26px;padding:50px 48px;margin-top:40px;box-shadow:var(--shadow)}
.q-steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:22px}
.q-step{text-align:center}
.q-step .no{width:44px;height:44px;margin:0 auto 14px;border-radius:50%;border:1px solid var(--rose);color:var(--rose-d);display:flex;align-items:center;justify-content:center;font-family:var(--serif);font-size:19px;background:var(--rose-t)}
.q-step b{font-weight:500;font-size:16px}
.q-step p{font-size:13.5px;color:var(--mute);margin-top:5px}
.q-pills{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin-top:14px}
.q-pills span{font-size:12.5px;border:1px solid var(--line);padding:6px 14px;border-radius:16px;color:var(--mute);cursor:pointer;transition:.2s}
.q-pills span:hover,.q-pills span.on{border-color:var(--rose);color:#fff;background:var(--rose)}
.q-result{max-width:560px;margin:36px auto 0;background:var(--bg2);border:1px solid var(--line);border-radius:20px;padding:30px;text-align:center}
.q-result b{font-family:var(--serif);font-size:30px;color:var(--rose-d)}
.q-result p{font-size:13px;color:var(--mute);margin-top:8px}
.pform input,.pform select,.pform textarea{width:100%;margin-top:12px;padding:13px 16px;background:var(--bg2);border:1px solid var(--line);border-radius:12px;color:var(--ink);font-size:14.5px;font-family:inherit}
.pform input:focus,.pform textarea:focus{outline:none;border-color:var(--rose)}
.fee{width:100%;border-collapse:collapse;margin-top:20px;font-size:14px}
.fee th{font-weight:500;color:var(--gold);text-align:left;padding:12px 14px;border-bottom:1px solid var(--gold);font-size:13px}
.fee td{padding:12px 14px;border-bottom:1px solid var(--line2);color:var(--mute)}
.fee td:first-child{color:var(--ink)}
.ct-banner{display:flex;align-items:center;justify-content:space-between;gap:26px;background:linear-gradient(120deg,var(--rose-t),var(--gold-t));border:1px solid var(--line);border-radius:26px;padding:42px 48px;flex-wrap:wrap}
.ct-banner h3{font-size:25px;margin-top:8px}
.ct-banner p{font-size:14px;color:var(--mute);margin-top:4px}
.tst-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(290px,1fr));gap:22px;margin-top:44px}
.tst{background:var(--panel);border:1px solid var(--line);border-radius:22px;padding:52px 28px 30px;position:relative;box-shadow:var(--shadow)}
.tst::before{content:'“';position:absolute;top:12px;left:24px;font-family:var(--serif);font-size:76px;color:rgba(198,93,114,.22);line-height:1}
.tst .stars{color:var(--gold);letter-spacing:.2em;font-size:14px}
.tst p{font-size:14.5px;margin-top:14px;color:var(--ink)}
.tst .who{display:flex;align-items:center;gap:11px;margin-top:18px;font-size:13px;color:var(--mute)}
.tst .who b{color:var(--rose-d);font-weight:500}
.tst .av{width:36px;height:36px;border-radius:50%;background:linear-gradient(135deg,var(--rose),var(--gold));color:#fff;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:500;flex-shrink:0}
.qrsec{text-align:center;background:linear-gradient(180deg,transparent,var(--rose-t))}
.qrsec .label{justify-content:center}
.qrsec .label::before{content:'';height:1px;width:64px;background:linear-gradient(270deg,var(--gold),transparent);opacity:.6}
.qr-row{display:flex;gap:30px;justify-content:center;flex-wrap:wrap;margin-top:44px}
.qr{width:140px}
.qr .box{width:110px;height:110px;margin:0 auto;border:2px solid var(--rose);border-radius:16px;display:flex;align-items:center;justify-content:center;background:var(--panel);box-shadow:var(--shadow);background-image:
  repeating-linear-gradient(0deg,rgba(40,34,27,.12) 0 5px,transparent 5px 10px),
  repeating-linear-gradient(90deg,rgba(40,34,27,.12) 0 5px,transparent 5px 10px)}
.qr .box span{font-size:11px;letter-spacing:.2em;color:var(--mute);background:var(--panel);padding:4px 8px}
.qr .box img{width:100%;height:100%;object-fit:contain;border-radius:14px;background:#fff}
.qr b{display:block;margin-top:12px;font-size:13.5px;font-weight:500}
.qr i{display:none}
.dash-note{font-size:12px;color:var(--mute)}


/* ═ 챕터 밴드 (v9) ═ */
.ch-band{display:flex;align-items:center;gap:28px;padding-bottom:30px;border-bottom:1px solid var(--line);margin-bottom:44px}
.ch-band .ch-no{flex-shrink:0}
.ch-band i{font-style:normal;font-size:11.5px;letter-spacing:.42em;color:var(--gold);display:block;margin-bottom:6px}
.ch-band h2{font-size:clamp(24px,2.6vw,34px)}
.ch-band p{font-size:14px;color:var(--mute);margin-top:6px}
@media(max-width:700px){.ch-band{gap:18px}.ch-band .ch-no{font-size:42px}}
.pt-strip{display:flex;align-items:center;justify-content:space-between;gap:26px;flex-wrap:wrap;border:1px dashed var(--line);border-radius:22px;padding:34px 40px;background:var(--bg2)}
.pt-strip i{font-style:normal;font-size:11px;letter-spacing:.34em;color:var(--gold)}
.pt-strip b{display:block;font-family:var(--serif);font-size:20px;font-weight:600;margin-top:6px}
.pt-strip p{font-size:13.5px;color:var(--mute);margin-top:4px}
.zone-chip{display:inline-block;font-size:11.5px;letter-spacing:.3em;color:var(--gold-l);border:1px solid rgba(195,164,104,.5);padding:5px 14px;border-radius:14px;margin-bottom:18px}
.pagehero.band-dark{padding-top:140px;margin-top:0}
.pagehero.band-dark .sub{color:var(--mute-on-dark)}


/* ═ v10: 한 화면 = 한 챕터 ═ */
.hero-c{min-height:96vh;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;padding:150px var(--gutter) 90px;
  background:radial-gradient(ellipse 60% 45% at 50% 25%,rgba(198,93,114,.10),transparent 65%),
             radial-gradient(ellipse 45% 40% at 80% 80%,rgba(169,136,75,.08),transparent 70%)}
.hero-c :is(h1,h2){font-size:clamp(34px,4.4vw,58px);max-width:900px}
.hero-c .tag{display:inline-flex;align-items:center;gap:8px;font-size:12.5px;letter-spacing:.22em;color:var(--rose-d);border:1px solid rgba(198,93,114,.35);background:rgba(255,255,255,.6);padding:8px 18px;border-radius:20px;margin-bottom:24px}
.hero-c .eng{font-family:'Cormorant Garamond',Georgia,serif;font-style:italic;font-size:clamp(18px,1.9vw,24px);color:var(--gold);letter-spacing:.05em;margin-bottom:14px}
.chv{min-height:86vh;display:flex;flex-direction:column;justify-content:center;padding-top:80px;padding-bottom:80px}
.ch-center{text-align:center;max-width:760px;margin:0 auto 46px}
.ch-center i{font-style:normal;font-size:12px;letter-spacing:.5em;color:var(--gold);display:block;margin-bottom:14px}
.ch-center h2{font-size:clamp(26px,3vw,40px)}
.ch-center p{font-size:15px;color:var(--mute);margin-top:12px}
.bignums{display:flex;gap:64px;flex-wrap:wrap;justify-content:center;margin-bottom:52px}
.bignums b{font-family:var(--serif);font-size:52px;font-weight:600;color:var(--rose-d);display:block;line-height:1.1;text-align:center}
.bignums i{font-style:normal;font-size:13px;color:var(--mute);letter-spacing:.06em;display:block;margin-top:8px;text-align:center}
.doors{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:24px;max-width:1080px;margin:0 auto;width:100%}
.door{position:relative;background:var(--panel);border:1px solid var(--line);border-radius:24px;padding:46px 36px 40px;text-align:center;transition:.35s;overflow:hidden}
.door:hover{transform:translateY(-6px);box-shadow:var(--shadow);border-color:rgba(198,93,114,.4)}
.door .dno{position:absolute;top:18px;right:24px;font-family:var(--serif);font-size:16px;color:var(--gold);letter-spacing:.2em}
.door .ic{font-size:34px;display:block;margin-bottom:18px}
.door b{font-family:var(--serif);font-size:20px;font-weight:600;display:block}
.door p{font-size:13.5px;color:var(--mute);margin-top:10px}
.door .rd{display:block;font-size:13.5px;color:var(--rose-d);margin-top:20px}
.chv .tline{border-left-color:rgba(255,255,255,.18)}
@media(max-width:700px){.chv{min-height:auto}.bignums{gap:34px}.bignums b{font-size:38px}}

/* ═ 병원 사진 갤러리 ═ */
.ph-img{background-size:cover!important;background-repeat:no-repeat!important;background-position:center;color:#fff!important;text-shadow:0 2px 12px rgba(0,0,0,.5)}
.gal.has-img{position:relative;overflow:hidden;border:none;padding:0}
.gal.has-img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:.35s}
.gal.has-img:hover img{transform:scale(1.06)}
.gal.has-img span{position:absolute;left:8px;bottom:8px;z-index:2;background:rgba(30,20,15,.55);color:#fff;padding:3px 10px;border-radius:10px;font-size:11px;letter-spacing:.03em}
.gal-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:12px;margin-top:6px}
.gal{aspect-ratio:4/3;border-radius:12px;background:linear-gradient(135deg,var(--rose-t),var(--gold-t));border:1px dashed var(--line);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;font-size:20px;color:var(--mute);transition:.25s;cursor:pointer}
.gal span{font-size:12px;letter-spacing:.04em}
.gal:hover{border-color:var(--rose);transform:translateY(-2px)}
.gal.more{background:var(--bg2);font-size:13.5px;color:var(--gold)}

/* ═ 모달/FAB/푸터 ═ */
.modal-bg{position:fixed;inset:0;background:rgba(40,30,20,.5);backdrop-filter:blur(5px);z-index:80;display:none;align-items:center;justify-content:center}
.modal-bg.show{display:flex}
.modal{background:var(--panel);border:1px solid var(--line);border-radius:24px;padding:44px 40px;width:min(420px,90vw);position:relative;box-shadow:0 40px 90px rgba(50,35,20,.3)}
.modal .x{position:absolute;top:18px;right:22px;font-size:22px;color:var(--mute);cursor:pointer}
.modal h3{font-family:var(--serif);font-size:26px;color:var(--rose-d)}
.modal p{font-size:13.5px;color:var(--mute);margin-top:6px}
.modal input,.modal select{width:100%;margin-top:14px;padding:13px 16px;background:var(--bg2);border:1px solid var(--line);border-radius:12px;color:var(--ink);font-size:14.5px;font-family:inherit}
.modal input:focus{outline:none;border-color:var(--rose)}
.modal .btn{width:100%;margin-top:22px;text-align:center}
.modal .alt{text-align:center;font-size:13px;color:var(--mute);margin-top:16px}
.modal .alt a{color:var(--gold);cursor:pointer}
.fab{position:fixed;right:24px;bottom:24px;z-index:60;display:flex;flex-direction:column;gap:10px;align-items:flex-end}
.fab-main{display:flex;align-items:center;gap:9px;background:linear-gradient(120deg,var(--rose),var(--rose-d));color:#fff;padding:14px 24px;border-radius:30px;font-size:14.5px;letter-spacing:.04em;box-shadow:0 12px 34px rgba(198,93,114,.4);cursor:pointer;transition:.3s}
.fab-main:hover{transform:translateY(-3px)}
#totop{width:42px;height:42px;border-radius:50%;border:1px solid var(--line);background:var(--panel);color:var(--mute);display:none;align-items:center;justify-content:center;cursor:pointer;font-size:16px;transition:.25s;box-shadow:var(--shadow)}
#totop:hover{color:var(--gold);border-color:var(--gold)}
footer{background:var(--dark);color:var(--mute-on-dark);padding:70px var(--gutter) 44px}
.ft-grid{display:grid;grid-template-columns:1.3fr 1fr 1fr 1fr 1.1fr;gap:34px;max-width:1240px;margin:0 auto;text-align:left}
@media(max-width:1000px){.ft-grid{grid-template-columns:1fr 1fr}}
.ft-grid h4{font-size:13px;letter-spacing:.2em;color:var(--gold-l);font-weight:500;margin-bottom:14px}
.ft-grid a{display:block;font-size:13.5px;color:var(--mute-on-dark);padding:4px 0}
.ft-grid a:hover{color:var(--ink-on-dark)}
.ft-grid p{font-size:13.5px;color:var(--mute-on-dark);padding:4px 0}
footer .fl{font-family:'Cormorant Garamond',Georgia,serif;font-size:27px;letter-spacing:.16em;color:var(--rose-l);font-weight:600}
footer .fs{font-size:11.5px;letter-spacing:.4em;color:var(--gold-l);margin-top:2px}
.ft-legal{text-align:center;font-size:12.5px;color:var(--mute-on-dark);margin-top:44px;border-top:1px solid rgba(255,255,255,.1);padding-top:26px}
.ft-legal a{color:var(--mute-on-dark);margin:0 8px}
.curi{display:inline-block;padding:9px 16px;border:1px solid var(--gold,#a9884b);border-radius:999px;font-size:13.5px;color:var(--ink,#3a2f2a);background:rgba(169,136,75,.06)}
.band-dark .curi{color:var(--ink-on-dark,#f4ece2);border-color:var(--gold-l,#c8a96a);background:rgba(200,169,106,.10)}
.qr.pri .box{outline:2px solid var(--rose,#c65d72);outline-offset:3px;border-radius:14px}
.chbtn{display:none;margin-top:10px;padding:9px 14px;border-radius:999px;background:var(--rose,#c65d72);color:#fff;font-size:13px;text-decoration:none}
@media(max-width:640px){.qr .box{display:none}.chbtn{display:inline-block}}

/* v23 타이포 확대 — 여백 대비 글씨 밀도 상향 */
body{font-size:17px}
.sub{font-size:18px;max-width:700px}
.ch-center p{font-size:17px}
.sec{font-size:30px}
.ch-center h2{font-size:clamp(29px,3.3vw,44px)}
.mini p{font-size:15.5px}
.mini b{font-size:18px}
.meta{font-size:15px}
nav.main a{font-size:16.5px}
.tst p{font-size:16px}
.curi{font-size:15px}
.crumb{font-size:14px}
.story .bd b{font-size:17.5px}
.hosp .bd b{font-size:19px}
.rate{font-size:15px}
.evline{font-size:14.5px}
footer{font-size:15px}
details summary{font-size:16.5px}
details p{font-size:15.5px}
.pgtab{width:100%;min-width:660px;border-collapse:collapse;font-size:15px;background:#fff;border:1px solid var(--line)}
.pgtab td:first-child{white-space:nowrap}
.pgtab th{background:rgba(169,136,75,.08);color:var(--ink);font-weight:600;padding:12px 14px;text-align:left;border-bottom:1px solid var(--line);white-space:nowrap}
.pgtab td{padding:11px 14px;border-bottom:1px solid var(--line);color:var(--ink)}
.pgtab tr:last-child td{border-bottom:none}
.pgtab td:first-child{font-weight:500}
/* v26 병원 상세 소프트닝 */
.dt-box{border-radius:18px;border:1px solid var(--line);box-shadow:0 10px 30px rgba(60,40,30,.05)}
.dt-box h3{display:flex;align-items:center;gap:9px;flex-wrap:wrap}
.dt-box h3::before{content:'';width:8px;height:8px;border-radius:50%;background:var(--rose,#c65d72);flex:none}
.dt-cover{border-radius:0 0 30px 30px;overflow:hidden}
.dt-stats b{color:var(--rose,#c65d72)}
.dt-box ul li{transition:background .25s;border-radius:8px;font-size:16px}
.dt-box ul li:hover{background:rgba(169,136,75,.05)}
.dt-box ul li span{font-size:14.5px}
.gal{border-radius:14px;overflow:hidden}
.gal img{width:100%;height:100%;object-fit:cover;object-position:center;transition:transform .45s ease}
.gal:hover img{transform:scale(1.06)}
.taxi{display:flex;gap:12px;align-items:center;margin:16px 0 12px;padding:14px 16px;border:1.5px solid var(--gold,#a9884b);border-radius:14px;background:rgba(169,136,75,.06)}
.taxi>span{font-size:26px}
.taxi b{font-size:14px;display:block;color:var(--ink)}
.taxi b i{font-style:normal;color:var(--mute);font-weight:400;font-size:12.5px}
.taxi p{margin:3px 0 0;font-size:15.5px;font-weight:600;color:var(--ink);line-height:1.5}
.cpbtn{flex:none;border:1px solid var(--rose,#c65d72);color:var(--rose,#c65d72);background:none;border-radius:999px;padding:7px 13px;font-size:13px;cursor:pointer;font-family:inherit}
.cpbtn:hover{background:var(--rose,#c65d72);color:#fff}
.maps{border-radius:14px;border:1.5px dashed var(--line)}
@media(max-width:640px){.taxi{flex-wrap:wrap}.cpbtn{width:100%}}
/* v26 타이포 2차 — 잔여 작은 글씨 상향 + 폰트 정리 */
body{font-size:17.5px}
button,input,select,textarea{font-family:inherit}
em,i{font-style:normal}
.hero .eng,.hero-c .eng{font-style:italic}
.dt-logo{font-family:var(--body)}
.label{font-size:13.5px}
.badge{font-size:13px}
.crumb{font-size:14.5px}
.qr b{font-size:17.5px}
.qr i{font-size:14.5px}
.tabs .tab{font-size:16px}
.pk-inc span{font-size:14px}
.month,.dday{font-size:13px}
.tst .who{font-size:15px}
.story .rd{font-size:15px}
.acc details summary{font-size:13.5px}
.acc details p{font-size:16px}
.tl b{font-size:17.5px}
.tl p{font-size:15px}
.dash-note{font-size:14.5px}
.ft-legal{font-size:14px}
/* v26 언어별 네이티브 폰트 스택 (setLang이 body[data-lang] 설정) */
body[data-lang="ja"]{--body:'Hiragino Kaku Gothic ProN','Hiragino Sans','Yu Gothic UI','Meiryo','Noto Sans JP','Noto Sans CJK JP','Pretendard',sans-serif;--serif:'Hiragino Mincho ProN','Yu Mincho','Noto Serif JP','Pretendard',serif}
body[data-lang="zh"]{--body:'PingFang SC','Microsoft YaHei','Noto Sans SC','Noto Sans CJK SC','Pretendard',sans-serif;--serif:'Songti SC','Noto Serif SC','Pretendard',serif}
body[data-lang="zht"]{--body:'PingFang TC','Microsoft JhengHei','Noto Sans TC','Noto Sans CJK TC','Pretendard',sans-serif;--serif:'Songti TC','Noto Serif TC','Pretendard',serif}
body[data-lang="th"]{--body:'Thonburi','Leelawadee UI','Noto Sans Thai','Segoe UI',sans-serif;--serif:'Thonburi','Noto Serif Thai',serif}
body[data-lang="ar"]{--body:'Geeza Pro','Segoe UI Arabic','Noto Sans Arabic','Tahoma',sans-serif;--serif:'Geeza Pro','Noto Naskh Arabic',serif}
body[data-lang="vi"],body[data-lang="en"],body[data-lang="id"]{--body:-apple-system,'Segoe UI','Roboto','Helvetica Neue','Noto Sans','Pretendard',sans-serif}
body[data-lang="ru"],body[data-lang="mn"],body[data-lang="kk"],body[data-lang="uz"]{--body:-apple-system,'Segoe UI','Roboto','Noto Sans','Pretendard',sans-serif}
body[data-lang="ar"] .ch-center,body[data-lang="ar"] .sub{line-height:1.9}
/* v27 병원 상세 보강 (경쟁사 상세 패턴) */
.dt-pills{display:flex;flex-wrap:wrap;gap:7px;margin-top:10px}
.lang-pill{display:inline-block;padding:5px 12px;border:1px solid var(--rose,#c65d72);color:var(--rose,#c65d72);border-radius:999px;font-size:13px;background:rgba(198,93,114,.05)}
.dt-badges{display:flex;flex-wrap:wrap;align-items:center;gap:8px 10px;max-width:1200px;margin:18px auto 0;padding:0 5vw}
.dt-badges span{display:inline-block;padding:8px 14px;border:1px solid var(--gold,#a9884b);border-radius:999px;font-size:13.5px;color:var(--ink);background:rgba(169,136,75,.07)}
.dt-badges em{font-size:12.5px;color:var(--mute)}
.dt-quote{margin:6px 0 18px;padding:16px 18px;border-left:3px solid var(--rose,#c65d72);background:rgba(198,93,114,.04);border-radius:0 12px 12px 0;font-size:16px;line-height:1.75;color:var(--ink)}
.dt-quote cite{display:block;margin-top:8px;font-size:13px;color:var(--mute);font-style:normal}
@media(max-width:640px){.dt-badges{gap:6px}.dt-badges span{font-size:12.5px;padding:7px 11px}}
.cat{transition:transform .3s,box-shadow .3s}
.cat:hover{transform:translateY(-4px);box-shadow:0 14px 34px rgba(60,40,30,.10)}
/* v29 상세 헤더 정돈 */
.dt-head{background:#fff;border:1px solid var(--line);border-radius:20px;box-shadow:0 10px 28px rgba(60,40,30,.06);padding:26px 32px;align-items:center;margin:22px auto 0;max-width:1120px}
.dt-info :is(h1,h2){margin:2px 0 4px}
.dt-info .meta{margin-top:2px}
.dt-stats{align-items:center;padding-bottom:0;border-left:1px solid var(--line);padding-left:30px}
.dt-stats div{text-align:center;min-width:76px}
@media(max-width:900px){.dt-head{margin:16px 16px 0;padding:20px}.dt-stats{border-left:none;padding-left:0;width:100%;justify-content:space-around}}
.dt-badges{justify-content:center;margin-top:22px}
/* v31 커버 사진 흐름 */
.dt-flow{overflow:hidden;position:relative;border-radius:24px;background:linear-gradient(115deg,#f6ecdf,#f2dcd8 45%,#eadbc8)}
.flow-track{display:flex;gap:14px;height:100%;padding:14px 0;width:max-content;animation:flowx 45s linear infinite}
.flow-img{width:236px;height:calc(100% - 0px);border-radius:14px;background-size:cover;background-position:center;flex:none;box-shadow:0 6px 16px rgba(60,40,30,.10)}
.bshop-flow .flow-img{background-size:contain;background-color:#efe6d8}
@keyframes flowx{from{transform:translateX(0)}to{transform:translateX(-50%)}}
.dt-flow::before,.dt-flow::after{content:'';position:absolute;top:0;bottom:0;width:70px;z-index:2;pointer-events:none}
.dt-flow::before{left:0;background:linear-gradient(90deg,var(--bg,#f7f1e8),transparent)}
.dt-flow::after{right:0;background:linear-gradient(270deg,var(--bg,#f7f1e8),transparent)}
@media(prefers-reduced-motion:reduce){.flow-track{animation:none}}
@media(max-width:640px){.flow-img{width:170px}.dt-flow{height:150px !important}}


/* ============ KBEAU v41 디자인 정돈 (2026-07-20) — 전 페이지 공통 ============ */
:root{--t-body:18.5px;--t-title:24px;--t-head:clamp(31px,3.4vw,40px);
--t-hero:clamp(40px,5vw,54px);--t-label:12.5px;--t-fine:14.5px;--wrap:1180px;}
/* 1) 타이포 스케일 통일 (본문/제목/헤드 + 히어로) */
body{font-size:var(--t-body)!important;line-height:1.72!important}
.sub,.mini p,.door p,.tipc p,.care p,.ch-center p,.ch-band p,.dt-box li,.dt-box li span,
footer a,footer p,details p,.meta,.rd,.tline p,.tline .t{font-size:var(--t-body)!important;line-height:1.68!important}
.mini b,.door b,.tipc b,.care h3,.dt-box h3,summary,footer h4{font-size:var(--t-title)!important;line-height:1.34!important}
.ch-head h2,.sec,.ch-center h2,.ch-band h2,.pagehero :is(h1,h2){font-size:var(--t-head)!important;line-height:1.24!important}
.hero-c :is(h1,h2){font-size:var(--t-hero)!important;line-height:1.2!important}
.eng,.tag,.ch-center i,.ch-band i{font-size:var(--t-label)!important;letter-spacing:.2em}
/* 2) 한국어 줄바꿈: 단어 쪼개짐 방지 + 줄 균형 */
h1,h2,h3,.sub,.sec,.ch-center p,.ch-head h2{word-break:keep-all;text-wrap:balance}
/* 3) 수직 리듬: 챕터 96->64, 제목 붙음 해소 */
section.chapter{padding-top:64px!important;padding-bottom:64px!important}
.ch-head{margin-bottom:16px!important}
.sec{margin-top:1.4rem}
/* 체크리스트를 위 배너 쪽으로 끌어올려 빈틈 축소 */
section[style*="padding-top:20px"][style*="padding-bottom:8px"]{padding-top:4px!important}
/* 4) 가로 폭 채우기: 좌우 빈 공간 축소 */
.grid3,.doors,.tips-grid,.dt-box{max-width:var(--wrap)!important;margin-left:auto!important;margin-right:auto!important}
.grid3{gap:22px!important}
.care{max-width:920px!important}
.tline{max-width:780px!important}
/* 5) 카드 보강 */
.mini{padding:30px 28px!important}.mini p{margin-top:9px!important}
.tipc{padding:28px 26px!important}.door{padding:44px 34px 38px!important}
/* 6) 히어로 여백 균형 */
.hero-c :is(h1,h2){margin-bottom:22px!important}.hero-c .sub{max-width:680px;margin:0 auto 30px!important}


/* ============ KBEAU v42 종합 개선 (2026-07-20) ============ */
/* A. faq 아코디언 중앙정렬 → 우측 대량 공백 해소 */
.acc{max-width:900px!important;margin-left:auto!important;margin-right:auto!important}
/* B. 시즌 가이드·패키지 카드 3열 고정 → 4+1 고아 카드 제거 */
.cat-grid{grid-template-columns:repeat(3,1fr)!important}
@media(max-width:920px){.cat-grid{grid-template-columns:repeat(2,1fr)!important}}
@media(max-width:560px){.cat-grid{grid-template-columns:1fr!important}}
/* C. 이벤트 카드 4열 정돈(8개=2행 균형) */
.ev-grid{grid-template-columns:repeat(4,1fr)!important}
@media(max-width:1080px){.ev-grid{grid-template-columns:repeat(2,1fr)!important}}
@media(max-width:560px){.ev-grid{grid-template-columns:1fr!important}}
/* D. 홈 D-DAY 4열 → 모바일 2×2 */
.dgrid4{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
@media(max-width:720px){.dgrid4{grid-template-columns:repeat(2,1fr)}}
/* E. 모바일 푸터 열 제목 글자 쪼개짐 방지 */
footer h4{word-break:keep-all!important;letter-spacing:.02em!important}
/* F. 카드 시각 완성도: 라운드·그림자·호버 통일 */
.mini,.tipc,.care{border-radius:18px!important;transition:transform .28s,box-shadow .28s,border-color .28s!important}
.mini{box-shadow:0 2px 10px rgba(60,45,30,.05)!important}
.mini:hover,.tipc:hover{box-shadow:0 16px 36px rgba(80,55,35,.13)!important;transform:translateY(-3px)!important;border-color:rgba(169,136,75,.5)!important}
/* G. 짧은 페이지 하단 허전: 활성 페이지 최소 높이 확보 */
[data-page]{min-height:58vh}


/* ===== KBEAU v43 럭셔리 재스킨 — 팔레트/서체 리맵 + 컴포넌트 ===== */
:root{
  --bg:#f3ede2; --bg2:#efe7d9; --panel:#fbf6ee; --line:#e2d8c6; --line2:#ece3d4;
  --ink:#1f1a15; --mute:#8f8474;
  --rose:#6a2f3b; --rose-d:#53222c; --rose-l:#a86b74; --rose-t:#efe1e2;
  --gold:#a8894f; --gold-l:#c4a86f; --gold-t:#efe6d3;
  --dark:#211c17; --dark2:#2b241d; --ink-on-dark:#f2ead9; --mute-on-dark:#b3a893;
  --serif:'Cormorant Garamond','Nanum Myeongjo','Noto Serif KR','Noto Serif JP','Noto Serif SC','Noto Serif TC','AppleMyungjo','Noto Naskh Arabic','Noto Serif Thai','Noto Serif',serif;
  --latin:'Cormorant Garamond','Nanum Myeongjo','Noto Serif KR',serif;
  --body:'Noto Sans KR','Pretendard','Apple SD Gothic Neo','Noto Sans JP','Noto Sans SC','Noto Sans',system-ui,sans-serif;
  --shadow:0 26px 60px -24px rgba(60,40,25,.3);
}
body{font-weight:300;letter-spacing:.003em}
/* 헤딩 = 세리프 */
h1,h2,h3,.sec,.grad,.ch-center h2,.ch-head h2,.hero-c :is(h1,h2),.care h3,.dt-box h3,.mini b,.door b,.tipc b,.bignums b,.dnum b,.story .bd b,.tst q,summary{font-family:var(--serif)!important}
.hero-c :is(h1,h2),.sec,.ch-center h2,.ch-head h2{font-weight:800!important;letter-spacing:-.01em!important}
.mini b,.door b,.tipc b,.care h3,.dt-box h3{font-weight:700!important}
/* 라틴 라벨/이탤릭 */
.eng,.label,.tag,.ch-center i,.dno,.ch-no,.bignums b,.dnum b{font-family:var(--latin)!important}
/* 그라디언트 텍스트 → 단색 잉크(세리프 살리기) */
.grad{background:none!important;-webkit-text-fill-color:var(--ink)!important;color:var(--ink)!important}
.band-dark .grad,.chv.band-dark .grad{-webkit-text-fill-color:var(--ink-on-dark)!important;color:var(--ink-on-dark)!important}
/* 버튼 */
.btn.fill{background:var(--rose)!important;border:none!important;color:#f3ede2!important;border-radius:100px!important;letter-spacing:.04em}
.btn.fill:hover{background:var(--ink)!important}
.btn.ghost{border:1px solid var(--ink)!important;color:var(--ink)!important;background:none!important;border-radius:100px!important}
.btn.ghost:hover{background:var(--ink)!important;color:var(--bg)!important}
/* 카드 = 헤어라인 절제 스타일 */
.mini,.tipc,.care,.dt-box,.story,.tst,.quote{background:var(--panel)!important;border:1px solid var(--line)!important;border-radius:2px!important;box-shadow:none!important}
.mini:hover,.tipc:hover,.story:hover{box-shadow:0 22px 44px -26px rgba(60,40,25,.35)!important;border-color:var(--gold-l)!important;transform:translateY(-3px)!important}
.door{border-radius:2px!important}
/* 아이콘 원형 톤 */
.mini .ic,.door .ic,.tipc b .ic{color:var(--gold)}
/* 섹션 라벨 = 골드 트래킹 */
.label,.eng,.ch-center i{letter-spacing:.34em!important;color:var(--gold)!important;font-weight:500!important}
/* bignums / dnum = 대형 세리프 */
.bignums b{color:var(--rose)!important} .dnum b{color:var(--ink-on-dark)!important}
/* curi 칩 */
.curi{border:1px solid var(--line)!important;background:var(--panel)!important;border-radius:100px!important;color:var(--ink)!important;font-weight:300!important}
/* 링크 강조색 rose→wine 자동(변수) / 가격 등 rose 텍스트도 wine */
/* 푸터 로고 */
footer .ft-brand,.logo{font-family:var(--latin)!important}
/* 네비 정돈 */
nav.top,header nav{letter-spacing:.02em}
/* 콘텐츠 페이지 헤더 = 에디토리얼(샘플 결) */
.pagehero{padding-top:92px!important}
.pagehero .label{display:inline-block;letter-spacing:.34em!important;color:var(--gold)!important;font-size:12px!important;font-weight:500!important;margin-bottom:20px!important}
.pagehero :is(h1,h2){font-family:var(--serif)!important;font-weight:800!important;font-size:clamp(34px,4vw,58px)!important;line-height:1.18!important;letter-spacing:-.012em!important}
.pagehero :is(h1,h2)::after{content:"";display:block;width:56px;height:1px;background:var(--gold);margin:30px 0 0}
.pagehero .sub{font-size:17px!important;color:var(--mute)!important;max-width:660px;margin-top:26px!important;line-height:1.9}
.crumb{letter-spacing:.03em}

/* 주입한 라인 아이콘 사이징 */
.ic:empty{display:none}
.lic{fill:none;stroke:currentColor;stroke-width:1.35;stroke-linecap:round;stroke-linejoin:round;display:inline-block;vertical-align:middle}
.ic .lic{width:32px;height:32px;color:var(--gold)}
.mini .ic .lic{width:30px;height:30px}
.door .ic .lic{width:36px;height:36px;color:var(--rose)}
.sph .lic{width:50px;height:50px;color:rgba(255,255,255,.92);stroke-width:1.2}


/* ===== 샘플 구성(에디토리얼) — 홈 전용, lx- 네임스페이스 ===== */
.lx{--lxwrap:1320px}
.lx .wrap{max-width:1320px;margin:0 auto;padding:0 56px}
.lx .eb{font-weight:500;font-size:11.5px;letter-spacing:.44em;color:var(--gold);text-transform:uppercase}
.lx-hero{position:relative;z-index:1;display:grid;grid-template-columns:1.05fr .95fr;min-height:88vh}
.lx-hl{display:flex;flex-direction:column;justify-content:center;padding:96px 5vw 80px 56px;max-width:780px;margin-left:auto}
.lx-hl .eb{margin-bottom:30px}
.lx-hl :is(h1,h2){font-family:var(--serif);font-weight:800;font-size:clamp(40px,4.4vw,70px);line-height:1.2;letter-spacing:-.015em;word-break:keep-all;color:var(--ink)}
.lx-hl :is(h1,h2) em{font-family:var(--latin);font-style:italic;font-weight:500;color:var(--rose)}
.lx-rule{width:60px;height:1px;background:var(--gold);margin:32px 0}
.lx-hl p{max-width:470px;font-size:17px;color:var(--ink2,#4b4238);line-height:2;word-break:keep-all;color:#4b4238}
.lx-cta{display:flex;align-items:center;gap:26px;margin-top:44px;flex-wrap:wrap}
.lx-hr{position:relative;overflow:hidden;background:linear-gradient(150deg,#e9dcc8,#dcc3b0 40%,#c99fa4)}
.lx-hr img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.lx-hr .fr{position:absolute;inset:26px;border:1px solid rgba(255,255,255,.5)}
.lx-hr .cap{position:absolute;left:34px;bottom:30px;color:#fff;font-family:var(--latin);font-style:italic;font-size:19px;text-shadow:0 2px 20px rgba(0,0,0,.35)}
.lx-band{background:var(--dark);color:var(--ink-on-dark)}
.lx-band .wrap{display:flex;justify-content:space-between;flex-wrap:wrap;gap:24px;padding:40px 56px}
.lx-st{display:flex;align-items:baseline;gap:11px}
.lx-st b{font-family:var(--latin);font-size:40px;font-weight:500;color:var(--gold-l);line-height:1}
.lx-st span{font-size:13.5px;color:var(--mute-on-dark)}
.lx-sec{padding:118px 0;border-top:1px solid var(--line)}
.lx-sh{max-width:760px;margin-bottom:60px}
.lx-sh .num{font-family:var(--latin);font-size:15px;letter-spacing:.32em;color:var(--gold-l)}
.lx-sh h2{font-family:var(--serif);font-weight:800;font-size:clamp(30px,3.3vw,46px);line-height:1.28;letter-spacing:-.01em;margin-top:14px;color:var(--ink);word-break:keep-all}
.lx-sh p{margin-top:16px;font-size:17px;color:var(--mute);word-break:keep-all}
.lx-sh.ctr{max-width:none;text-align:center} .lx-sh.ctr p{max-width:600px;margin-left:auto;margin-right:auto}
.lx-eg{display:grid;grid-template-columns:.9fr 1.1fr;gap:72px;align-items:center}
.lx-img{position:relative;aspect-ratio:4/5;overflow:hidden;background:linear-gradient(160deg,#e7d8c2,#cbb7a6 70%,#b98f96)}
.lx-img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.lx-img .fr{position:absolute;inset:20px;border:1px solid rgba(255,255,255,.45)}
.lx-v{display:grid;grid-template-columns:52px 1fr;gap:24px;padding:32px 0;border-top:1px solid var(--line)}
.lx-v:first-child{border-top:none;padding-top:0}
.lx-v .ic{width:44px;height:44px;color:var(--gold)}
.lx-v .ic svg{width:44px;height:44px;fill:none;stroke:currentColor;stroke-width:1.2;stroke-linecap:round;stroke-linejoin:round}
.lx-v h3{font-family:var(--serif);font-weight:700;font-size:22px;margin-bottom:10px;word-break:keep-all;color:var(--ink)}
.lx-v p{font-size:15.5px;color:#4b4238;line-height:1.8;word-break:keep-all}
.lx-cur{margin-top:76px;padding:52px;background:var(--bg2);border:1px solid var(--line);text-align:center}
.lx-cur h3{font-family:var(--serif);font-weight:700;font-size:clamp(21px,2.3vw,28px);margin-bottom:10px;color:var(--ink)}
.lx-cur .cd{color:var(--mute);font-size:15.5px;margin-bottom:24px}
.lx-chips{display:flex;flex-wrap:wrap;gap:12px;justify-content:center}
.lx-chip{font-size:14px;color:#4b4238;border:1px solid var(--line);padding:10px 20px;border-radius:100px;background:var(--panel)}
.lx-cur .nt{font-size:12.5px;color:var(--mute);margin-top:20px}
.lx-data{background:linear-gradient(160deg,var(--dark),var(--dark2));color:var(--ink-on-dark);padding:110px 0}
.lx-data .eb{color:var(--gold-l)} .lx-data h2{font-family:var(--serif);font-weight:800;font-size:clamp(28px,3.2vw,44px);color:#f2ead9;margin:14px 0 50px}
.lx-dg{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center}
.lx-bl{font-size:14px;color:var(--mute-on-dark);letter-spacing:.03em;margin-bottom:22px}
.lx-br{margin-bottom:22px}
.lx-br .t{display:flex;justify-content:space-between;font-size:15px;margin-bottom:9px}
.lx-br .t em{font-family:var(--latin);font-style:normal;font-size:19px;color:var(--gold-l)}
.lx-trk{height:2px;background:rgba(255,255,255,.14)} .lx-trk i{display:block;height:100%;background:linear-gradient(90deg,var(--gold),var(--gold-l))}
.lx-dn{display:grid;grid-template-columns:1fr 1fr;gap:2px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.1)}
.lx-dc{background:var(--dark2);padding:32px 28px}
.lx-dc b{display:block;font-family:var(--latin);font-size:40px;font-weight:500;color:#f2ead9;line-height:1;margin-bottom:10px}
.lx-dc span{font-size:13px;color:var(--mute-on-dark);line-height:1.6}
.lx-src{font-size:12px;color:#8a8072;margin-top:28px}
.lx-doors{display:grid;grid-template-columns:repeat(3,1fr);gap:2px;background:var(--line);border:1px solid var(--line)}
.lx-door{background:var(--panel);padding:48px 40px 42px;transition:.4s;display:block}
.lx-door:hover{background:#fff}
.lx-door .dno{font-family:var(--latin);font-size:15px;letter-spacing:.26em;color:var(--gold-l)}
.lx-door .ic{width:38px;height:38px;color:var(--rose);margin:22px 0 26px}
.lx-door .ic svg{width:38px;height:38px;fill:none;stroke:currentColor;stroke-width:1.2;stroke-linecap:round;stroke-linejoin:round}
.lx-door h3{font-family:var(--serif);font-weight:700;font-size:23px;margin-bottom:12px;line-height:1.35;word-break:keep-all;color:var(--ink)}
.lx-door p{font-size:15px;color:#4b4238;line-height:1.75;margin-bottom:28px;min-height:50px;word-break:keep-all}
.lx-door .go{font-size:13.5px;letter-spacing:.05em;color:var(--ink)}
.lx-cons{text-align:center;max-width:860px;margin:0 auto}
.lx-sla{color:var(--gold);font-size:15px;margin-bottom:30px}
.lx-ch{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:38px}
.lx-cc{border:1px solid var(--line);background:var(--panel);padding:28px 18px}
.lx-cc b{font-family:var(--serif);font-size:18px;display:block;margin-bottom:4px;color:var(--ink)}
.lx-cc span{font-size:12.5px;color:var(--mute)}
.lx-tl{background:linear-gradient(160deg,var(--dark),var(--dark2));color:var(--ink-on-dark);padding:110px 0}
.lx-tl .eb{color:var(--gold-l)} .lx-tl h2{font-family:var(--serif);font-weight:800;font-size:clamp(28px,3.2vw,44px);color:#f2ead9;margin:14px 0 10px}
.lx-tl .sub{color:var(--mute-on-dark);font-size:16px;margin-bottom:56px}
.lx-tline{max-width:820px;border-left:1px solid rgba(255,255,255,.2);padding-left:44px;margin-left:6px}
.lx-ts{position:relative;padding-bottom:42px} .lx-ts:last-child{padding-bottom:0}
.lx-ts::before{content:'';position:absolute;left:-50px;top:6px;width:9px;height:9px;border-radius:50%;background:var(--gold-l);box-shadow:0 0 0 4px var(--dark)}
.lx-ts time{font-family:var(--latin);font-size:20px;color:var(--gold-l)}
.lx-ts b{display:block;font-family:var(--serif);font-weight:700;font-size:21px;color:#f2ead9;margin:5px 0 7px}
.lx-ts p{font-size:15px;color:var(--mute-on-dark)}
.lx-stories{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}
.lx-story{display:block;border:1px solid var(--line);background:var(--panel);transition:.4s;overflow:hidden}
.lx-story:hover{transform:translateY(-4px);box-shadow:0 24px 50px -26px rgba(60,40,25,.35)}
.lx-story .ph{aspect-ratio:16/10;background:linear-gradient(150deg,#ede0cd,#d8c0b2 70%,#c69fa2);display:flex;align-items:center;justify-content:center}
.lx-story .ph svg{width:50px;height:50px;fill:none;stroke:rgba(255,255,255,.9);stroke-width:1.2;stroke-linecap:round;stroke-linejoin:round}
.lx-story .bd{padding:24px 26px 28px}
.lx-story .t2{font-size:11px;letter-spacing:.2em;color:var(--gold);font-weight:500}
.lx-story .bd b{display:block;font-family:var(--serif);font-weight:700;font-size:20px;margin:9px 0 14px;line-height:1.4;word-break:keep-all;color:var(--ink)}
.lx-story .rd{font-size:13px;color:#4b4238}
.lx-dgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:2px;background:var(--line);border:1px solid var(--line);text-align:left}
.lx-dcell{background:var(--panel);padding:28px 24px}
.lx-dcell b{font-family:var(--latin);font-size:23px;color:var(--rose);display:block;margin-bottom:9px}
.lx-dcell p{font-size:14.5px;color:#4b4238;line-height:1.7}
.lx-tsts{display:grid;grid-template-columns:1fr 1fr;gap:26px;max-width:960px;margin:0 auto}
.lx-tst{border:1px solid var(--line);background:var(--panel);padding:38px 38px 32px}
.lx-tst .stars{color:var(--gold);letter-spacing:3px;font-size:15px;margin-bottom:16px}
.lx-tst q{display:block;font-family:var(--serif);font-size:19px;line-height:1.7;color:var(--ink);quotes:none;margin-bottom:22px;word-break:keep-all}
.lx-tst .who{display:flex;align-items:center;gap:12px}
.lx-tst .av{width:40px;height:40px;border-radius:50%;background:var(--rose);color:#fff;display:flex;align-items:center;justify-content:center;font-family:var(--latin);font-size:18px}
.lx-tst .who span{font-size:14px;color:var(--mute)} .lx-tst .who b{color:var(--ink);font-weight:500}
.lx-pt{margin-top:78px;display:flex;align-items:center;justify-content:space-between;gap:30px;flex-wrap:wrap;padding:44px 48px;background:var(--dark);color:var(--ink-on-dark)}
.lx-pt i{font-style:normal;font-size:11.5px;letter-spacing:.3em;color:var(--gold-l);display:block;margin-bottom:9px}
.lx-pt b{font-family:var(--serif);font-size:22px;color:#f2ead9;display:block;margin-bottom:5px}
.lx-pt p{font-size:14px;color:var(--mute-on-dark)}
@media(max-width:900px){
 .lx .wrap{padding:0 24px}
 .lx-hero{grid-template-columns:1fr;min-height:auto} .lx-hl{padding:120px 24px 54px;max-width:none;margin:0} .lx-hr{min-height:56vh}
 .lx-band .wrap{padding:30px 24px;gap:16px 24px} .lx-st b{font-size:30px}
 .lx-sec,.lx-data,.lx-tl{padding:70px 0}
 .lx-eg,.lx-dg{grid-template-columns:1fr;gap:38px}
 .lx-dn,.lx-doors,.lx-ch,.lx-stories,.lx-dgrid,.lx-tsts{grid-template-columns:1fr}
 .lx-cur{padding:34px 22px} .lx-pt{flex-direction:column;text-align:center}
}


/* ===== 타이포 밸런스 (푸터 축소 + 홈 위계 정리) ===== */
/* 푸터 콤팩트 */
footer h4{font-size:15px!important;letter-spacing:.03em!important;margin-bottom:14px!important}
footer a,footer p,footer li,footer li span{font-size:14px!important;line-height:1.95!important}
.ft-legal{font-size:13.5px!important} .ft-legal a{font-size:13px!important}
footer .ft-brand,.ft-tag{font-size:12px!important;letter-spacing:.24em!important}
/* 작은 액션 링크(.rd/.go) 정상화 */
.rd,.lx-story .rd,.lx-door .go,.go{font-size:13.5px!important;letter-spacing:.04em}
/* 홈 본문 위계 상향(과소 해소) */
.lx-hl p{font-size:18px!important}
.lx-v p{font-size:16px!important;line-height:1.85!important}
.lx-door p{font-size:15.5px!important}
.lx-chip{font-size:14.5px!important}
.lx-st span,.lx-dc span,.lx-cc span{font-size:14px!important}
.lx-cur .cd{font-size:16px!important}
.lx-story .bd b{font-size:20px!important}
/* 콘텐츠 페이지 카드 본문도 살짝 상향 */
.mini p,.door p,.tipc p,.care p,.acc details p{font-size:16px!important}
.mini b,.door b,.tipc b,.care h3{font-size:19px!important}


/* 나브: 히어로 위에서도 또렷하게 (비스크롤 시에도) */
header:not(.lx-hero){background:rgba(243,237,226,.97)!important;border-bottom:1px solid var(--line)!important}
nav.main .dd>a{color:var(--ink)!important;font-weight:400}
nav.main .dd>a:hover{color:var(--wine)!important}
/* journey 체크리스트 셀 */
.lx-cl{background:var(--panel);padding:24px 26px;display:flex;gap:14px;align-items:flex-start;font-size:15.5px;color:#4b4238;line-height:1.72;word-break:keep-all}
.lx-cl::before{content:"";flex:none;width:20px;height:20px;margin-top:3px;background:no-repeat center/contain;background-image:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="%23a8894f" stroke-width="1.7" stroke-linecap="round" stroke-linejoin="round"><path d="M4 12l5 5L20 6"/></svg>')}
@media(max-width:820px){.lx-cl{font-size:15px}}


/* 약관/개인정보 모달 = 에디토리얼 */
#modal .modal.wide{width:min(720px,92vw)!important;border-radius:4px!important;padding:48px 46px!important}
.legal-doc h3{font-family:var(--serif)!important;font-weight:800!important;font-size:27px!important;color:var(--ink)!important;letter-spacing:-.01em}
.legal-doc h3::after{content:"";display:block;width:46px;height:1px;background:var(--gold);margin:18px 0 2px}
.legal-doc .ld-lead{font-size:15px!important;color:var(--mute)!important;line-height:1.85;margin-bottom:20px!important}
.legal-doc h4{font-family:var(--serif)!important;font-weight:700!important;font-size:17px!important;margin:26px 0 8px!important;color:var(--wine)!important}
.legal-doc p,.legal-doc li{font-size:14.5px!important;line-height:1.82!important;color:#544b40!important}
.legal-doc a{color:var(--wine)!important}
.legal-doc table{border:1px solid var(--line)!important;font-size:13px!important;margin:12px 0!important}
.legal-doc th{background:var(--gold-t)!important;color:var(--wine)!important;font-family:var(--serif)!important;font-weight:700!important;border-color:var(--line)!important}
.legal-doc td{border-color:var(--line)!important;color:#544b40!important}
.legal-doc .ld-muted{font-size:12.5px!important;color:var(--mute)!important}
/* 시술 비교 표 = 에디토리얼 */
.cmp{border:1px solid var(--line)!important;border-radius:0!important;box-shadow:none!important;background:var(--panel)!important;overflow:hidden}
.cmp th{background:var(--gold-t)!important;color:var(--wine)!important;font-family:var(--serif)!important;font-weight:700!important;font-size:14.5px!important;letter-spacing:.01em!important;border-bottom:1px solid var(--gold)!important;padding:16px 18px!important}
.cmp td{font-size:15px!important;color:#4b4238!important;border-bottom:1px solid var(--line)!important;padding:15px 18px!important}
.cmp td:first-child{color:var(--ink)!important;font-weight:500}
.cmp tr:hover td{background:var(--bg2)!important}


/* 섹션 번호/라벨 확대 (01 등이 작던 문제) */
.lx-sh .num,.sec-head .num{font-size:18px!important;letter-spacing:.26em!important;color:var(--gold)!important}
.eb,.lx-data .eb,.lx-tl .eb{font-size:14px!important;letter-spacing:.34em!important}
.pagehero .label{font-size:14px!important;letter-spacing:.32em!important}
.lx-door .dno{font-size:17px!important;letter-spacing:.2em!important}
.label,.eng,.ch-center i,.ch-band i{font-size:13px!important}

#qr-home{scroll-margin-top:96px}

/* 다크 섹션 아웃라인 버튼 가시성 */
.band-dark .btn.ghost,.lx-tl .btn.ghost,.lx-pt .btn.ghost,.lx-data .btn.ghost,.pagehero.band-dark .btn.ghost,.qrsec .btn.ghost{border:1px solid var(--gold-l)!important;color:var(--gold-l)!important;background:none!important}
.band-dark .btn.ghost:hover,.lx-tl .btn.ghost:hover,.lx-pt .btn.ghost:hover{background:var(--gold-l)!important;color:var(--dark)!important}
/* 다크 섹션 eyebrow/label 대비 상향 */
.band-dark .label,.lx-data .eb,.lx-tl .eb,.data .eb,.pagehero.band-dark .label{color:#dcc38f!important}
/* 케어 팁 3열(6개=3+3) */
.tips-grid{grid-template-columns:repeat(3,1fr)!important}
@media(max-width:900px){.tips-grid{grid-template-columns:repeat(2,1fr)!important}}
@media(max-width:560px){.tips-grid{grid-template-columns:1fr!important}}
/* 시술 카드 가격 하단 정렬 + 한국어 줄바꿈 */
.proc-grid .proc{display:flex!important;flex-direction:column!important}
.proc-grid .proc .price{margin-top:auto!important}
.proc p,.proc b,.tipc b,.tipc p,.ev .bd b{word-break:keep-all}
/* 이벤트 카드 카테고리 라벨 대비 */
.ev .thumb{color:rgba(106,47,59,.82)!important}
/* 패키지 카드 3열(5개=3+2) */
[data-page="packages"] .ev-grid{grid-template-columns:repeat(3,1fr)!important}
@media(max-width:900px){[data-page="packages"] .ev-grid{grid-template-columns:repeat(2,1fr)!important}}
@media(max-width:560px){[data-page="packages"] .ev-grid{grid-template-columns:1fr!important}}
/* 지역 페이지 팁 섹션 좌측정렬 통일 */
[data-page="regions"] section[style*="text-align:center"]{text-align:left!important}


/* 언어 선택기: 글로브를 pill 안 인라인으로 */
.lang-cur::before{content:"";display:inline-block;width:14px;height:14px;flex:none;background:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23a8894f' stroke-width='1.5'><circle cx='12' cy='12' r='9'/><path d='M3 12h18M12 3c2.5 2.5 3.8 5.8 3.8 9s-1.3 6.5-3.8 9c-2.5-2.5-3.8-5.8-3.8-9S9.5 5.5 12 3z'/></svg>") no-repeat center/contain}
/* 세리프 숫자를 lining(균일 높이)로 — 옛날식 figure 방지 */
body{font-variant-numeric:lining-nums}
.dt-stats b,.bignums b,.dnum b,.lx-st b,.lx-dc b,.stat .n,.ch-no,.dno,.lx-door .dno,.lx-sh .num,.sec-head .num,.lx-ts time,.lx-br .t em,.tst .av,.price,.eng,.label,.eb,h1,h2,.hero-c :is(h1,h2){font-variant-numeric:lining-nums!important;font-feature-settings:"lnum" 1,"tnum" 1!important}


.pagehero:not(.band-dark){padding-top:46px!important}
.pagehero .label{margin-bottom:10px!important}
.pagehero :is(h1,h2)::after{margin-top:15px!important}
.pagehero .sub{margin-top:13px!important}
.dm-in a{color:#43392d!important;font-weight:500!important}
.dm-in a:hover{color:var(--wine)!important}
.lx-sh .num.jo-eb{color:#8a6a34!important;font-weight:700!important;margin:16px 0 24px!important}
[data-page="about"] .pagehero .sub{max-width:1080px!important}
.pagehero.band-dark :is(h1,h2){font-size:clamp(44px,5.2vw,75px)!important}

.k{font-style:normal!important}.lang-pill i{font-style:normal!important}
@media(max-width:640px){.qr[data-ch="wecom"] .box,.qr[data-ch="kakao"] .box{display:block!important}.qr[data-ch="wecom"] .chbtn,.qr[data-ch="kakao"] .chbtn{display:none!important}}
.qr .box{cursor:pointer}#qrlb{display:none;position:fixed;inset:0;z-index:99999;background:rgba(24,16,20,.74);align-items:center;justify-content:center;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}#qrlb.on{display:flex}.qrlb-in{position:relative;background:#fff;padding:30px 30px 24px;border-radius:22px;text-align:center;max-width:88vw;box-shadow:0 24px 70px rgba(0,0,0,.45)}#qrlb-img{width:308px;height:308px;max-width:74vw;max-height:74vw;object-fit:contain;border-radius:12px;background:#fff}#qrlb-cap{margin-top:16px;font-size:19px;font-weight:600;color:#3a2b2f}#qrlb-link{display:inline-block;margin-top:14px;padding:11px 22px;border-radius:999px;background:var(--rose,#c65d72);color:#fff;text-decoration:none;font-size:14.5px}#qrlb-hint{margin-top:10px;font-size:12.5px;color:#a98;letter-spacing:.02em}.qrlb-x{position:absolute;top:6px;right:16px;font-size:30px;color:#b0a6a2;cursor:pointer;line-height:1}
#m-nav.m-nav{display:block;transform:translateX(106%);visibility:hidden;transition:transform .34s cubic-bezier(.33,0,.2,1),visibility .34s;z-index:1200}#m-nav.m-nav.open{transform:translateX(0);visibility:visible}#m-bg.m-bg{display:block;opacity:0;pointer-events:none;transition:opacity .3s;z-index:1150}#m-bg.m-bg.open{opacity:1;pointer-events:auto}.m-nav .mlogo{font-size:19px;font-weight:600;color:var(--ink);letter-spacing:.04em}@media(max-width:900px){nav.main{display:none!important}.menu-btn{display:inline-flex!important}}@media(min-width:901px){#m-nav.m-nav,#m-bg.m-bg{display:none!important}}.fab-main{cursor:pointer}@media(max-width:560px){.fab{right:14px;bottom:14px}.fab-main{padding:11px 16px;font-size:13px}}
@keyframes csPulse{0%,100%{transform:scale(1);box-shadow:0 0 0 0 rgba(176,138,59,.6)}50%{transform:scale(1.05);box-shadow:0 0 0 13px rgba(176,138,59,0)}}.cs-pulse{animation:csPulse 1.1s ease-in-out infinite}.btn.fill.cs-pulse{background:linear-gradient(120deg,#c79a4e,#9a7b35)!important}@media(prefers-reduced-motion:reduce){.cs-pulse{animation:none}}
/* CJK/Thai: keep-all blocks wrapping in space-less scripts -> overflow; restore normal breaking */body[data-lang="zh"] *,body[data-lang="zht"] *,body[data-lang="ja"] *,body[data-lang="th"] *{word-break:normal!important}/* prevent CSS grid blowout when stacked on mobile */@media(max-width:900px){.lx-eg,.lx-dg{grid-template-columns:minmax(0,1fr)!important}.lx-v{grid-template-columns:44px minmax(0,1fr)!important}}/* phones: declutter header so language selector is not clipped (FAB is the mobile consult CTA) */@media(max-width:560px){.consult-btn{display:none!important}.hd-top{gap:10px!important}.ft-grid{grid-template-columns:minmax(0,1fr)!important}footer a,footer p{overflow-wrap:anywhere}.wrap>div:has(>.lx-cl){grid-template-columns:1fr!important}}

.modal.wide{width:min(680px,92vw)}
.legal-doc{text-align:left}
.legal-doc h3{font-size:20px;color:var(--ink)}
.legal-doc h4{font-size:15px;margin:20px 0 6px;color:var(--ink)}
.legal-doc p,.legal-doc li{font-size:13.5px;line-height:1.75;color:#5c5348}
.legal-doc .ld-lead{color:var(--mute);font-size:13.5px;margin-bottom:14px}
.legal-doc .ld-muted{color:var(--mute);font-size:12.5px}
.legal-doc ul{padding-left:18px;margin:6px 0}
.legal-doc a{color:var(--rose)}
.legal-doc table{width:100%;border-collapse:collapse;margin:10px 0;font-size:12.5px}
.legal-doc th,.legal-doc td{border:1px solid var(--line);padding:7px 8px;text-align:left;vertical-align:top}
.legal-doc th{background:var(--bg);color:var(--ink)}
    

main [class$="-grid"]>*, .grid3>*, .doors>*, .tips-grid>*, .story-grid>*, .ev-grid>*, .bignums>*, .dgrid>*{min-width:0}
main p, main b, main span, main a, main h1, main h2, main h3, main h4, main li, main td, main th, .tipc, .tipc *, .story .bd, .fpill, .tab, .curi, .chip, .lx-chip{overflow-wrap:break-word; word-break:normal}
.nlinks a, .dm-in a, .lang-menu span{white-space:normal}
html,body{overflow-x:hidden}
@media(max-width:900px){ main [class$="-grid"], .grid3, .tips-grid, .story-grid, .ev-grid, .doors{grid-template-columns:1fr!important} }


#qrlb.photo #qrlb-img{width:auto;height:auto;max-width:94vw;max-height:88vh;border-radius:8px}
#qrlb.photo #qrlb-cap,#qrlb.photo #qrlb-link,#qrlb.photo #qrlb-hint{display:none!important}
.gal.has-img{cursor:zoom-in}
