@import url("https://fonts.googleapis.com/css2?family=Marcellus&display=swap");
@import url("https://cdn.jsdelivr.net/gh/sunn-us/SUIT/fonts/static/woff2/SUIT.css");

/* Typography is served locally to keep every page on one consistent Nanum face. */
:root { --cream:#f3eadf; --brown:#2f1e0f; --line:#cbb9a6; --font-en:"Frame Nanum Myeongjo","Malgun Gothic",serif; --font-ko:"Frame Nanum Myeongjo","Malgun Gothic",serif; --font-display-weight:400; --font-display-spacing:-.045em; }
html[lang="en"]{--font-en:"Marcellus","SUIT","Segoe UI",serif;--font-ko:"SUIT","Segoe UI",Arial,sans-serif}
html[lang="zh-CN"]{--font-en:"Marcellus","Microsoft YaHei",serif;--font-ko:"Microsoft YaHei","PingFang SC","Noto Sans SC",sans-serif}
html[lang="zh-TW"]{--font-en:"Marcellus","Microsoft JhengHei",serif;--font-ko:"Microsoft JhengHei","PingFang TC","Noto Sans TC",sans-serif}
* { box-sizing:border-box; }
html { scroll-behavior:smooth; background:var(--cream); }
body { margin:0; color:var(--brown); background:var(--cream); font-family:var(--font-ko); }
body[data-font-theme="editorial"],body[data-font-theme="balanced"],body[data-font-theme="heritage"],body[data-font-theme="soft"],body[data-font-theme="signature"] { --font-display-weight:400; --font-display-spacing:-.045em; }
button,input,select,textarea { font:inherit; }
.site-shell { width:100%; max-width:none; margin:0; overflow:hidden; background:var(--cream); box-shadow:none; }
.reference-section { position:relative; width:100%; line-height:0; }
.section-image { display:block; width:100%; height:auto; user-select:none; }
.hero { --font-en:"Frame Nanum Myeongjo","Malgun Gothic",serif; --font-ko:"Frame Nanum Myeongjo","Malgun Gothic",serif; width:100%; height:100vh; min-height:100svh; overflow:hidden; background:#b99a79; }
.site-shell>section:not(.hero) h2,.site-shell>section:not(.hero) h3 { font-weight:var(--font-display-weight); letter-spacing:var(--font-display-spacing); }
.hero-slider { position:absolute; inset:0; }
.hero-slide { position:absolute; inset:0; overflow:hidden; opacity:0; visibility:hidden; transition:opacity 1.05s ease,visibility 1.05s; }
.hero-slide img { position:absolute; inset:-3%; width:106%; height:106%; max-width:none; object-fit:cover; filter:brightness(1.045) saturate(1.02); transform:scale(.95); will-change:transform; }
.hero-slide.active { z-index:1; opacity:1; visibility:visible; }
.hero-slide.active img { animation:heroReveal 6.2s cubic-bezier(.22,.61,.36,1) forwards; }
.hero-shade { position:absolute; z-index:1; inset:0; pointer-events:none; opacity:0; animation:shadeReveal 1.4s .3s ease forwards; transition:background 1s ease; }
@keyframes heroReveal { from{transform:scale(.95)} to{transform:scale(1)} }
@keyframes shadeReveal { to{opacity:1} }
.site-header { position:absolute; top:0; left:0; right:0; z-index:5; display:grid; grid-template-columns:1fr auto 1fr; align-items:center; height:82px; padding:0 4.2%; color:#f6eee3; background:linear-gradient(180deg,rgb(28 20 13 / 74%),transparent); line-height:1; }
.brand,.footer-brand { display:inline-flex; align-items:center; gap:8px; width:max-content; color:inherit; text-decoration:none; }
.brand-mark { display:grid; place-items:center; width:26px; height:26px; border:1px solid currentColor; border-radius:50%; font-family:Georgia,serif; font-size:16px; font-style:italic; }
.brand-name { display:flex; flex-direction:column; font-family:var(--font-en); font-size:18px; font-weight:500; letter-spacing:.04em; }
.brand-name small { margin-top:2px; font-size:5px; letter-spacing:.14em; }
.main-menu { display:flex; align-items:center; gap:72px; }
.main-menu a { position:relative; padding:30px 2px; color:inherit; font-family:var(--font-en); font-size:12px; font-weight:500; letter-spacing:.1em; text-decoration:none; opacity:.88; }
.main-menu a::after { content:""; position:absolute; left:50%; bottom:20px; width:0; height:1px; background:currentColor; transition:.25s; }
.main-menu a:hover::after,.main-menu a:focus-visible::after { left:0; width:100%; }
.header-tools { justify-self:end; display:flex; align-items:center; gap:16px; }
.consult-link { padding:8px 13px; border:1px solid rgb(255 255 255 / 50%); border-radius:2px; color:inherit; font-family:Arial,sans-serif; font-size:10px; text-decoration:none; }
.globe { font-family:Arial,sans-serif; font-size:20px; opacity:.85; }
.menu-toggle { display:none; }
.hero-copy { position:absolute; z-index:2; left:8%; top:52%; width:min(760px,48vw); color:#fff; line-height:1.25; transform:translateY(-50%); transition:color .7s ease,background .7s ease,border .7s ease,box-shadow .7s ease; }
.hero-eyebrow { margin:0 0 17px; font-family:var(--font-en); font-size:clamp(25px,2.65vw,48px); font-weight:400; letter-spacing:.055em; }
.hero-copy h2 { margin:0; font-family:var(--font-ko); font-size:clamp(28px,2.55vw,49px); font-weight:300; letter-spacing:-.035em; }
.hero-copy-line { display:block; transition:.7s ease; }

/* 01 — editorial veil */
.copy-style-1 .hero-shade { background:linear-gradient(90deg,rgb(37 23 13 / 63%) 0%,rgb(37 23 13 / 22%) 46%,transparent 72%); }
.copy-style-1 .hero-copy { padding-left:30px; border-left:1px solid rgb(255 244 227 / 76%); text-shadow:0 3px 28px rgb(24 14 7 / 45%); }
.copy-style-1 .hero-copy-line { width:58px; height:1px; margin-bottom:23px; background:#fff4e4; transform-origin:left; animation:lineGrow .9s .25s both; }
.copy-style-1 .hero-eyebrow { animation:editorialIn .9s .35s both; }
.copy-style-1 .hero-copy h2 { animation:editorialIn .9s .5s both; }
@keyframes editorialIn { from{opacity:0;transform:translateX(-28px);filter:blur(5px)} to{opacity:1;transform:none;filter:none} }
@keyframes lineGrow { from{transform:scaleX(0)} to{transform:scaleX(1)} }

/* 02 — frosted ivory panel */
.copy-style-2 .hero-shade { background:linear-gradient(90deg,rgb(51 32 17 / 13%),transparent 58%); }
.copy-style-2 .hero-copy { width:min(650px,43vw); padding:39px 43px 42px; border:1px solid rgb(255 255 255 / 45%); color:#46301f; background:rgb(249 241 228 / 78%); box-shadow:0 24px 70px rgb(61 36 17 / 18%); backdrop-filter:blur(13px); text-shadow:none; animation:panelIn 1s .2s both; }
.copy-style-2 .hero-copy-line { width:100%; height:1px; margin-bottom:22px; background:linear-gradient(90deg,#8b6b4d,transparent); }
.copy-style-2 .hero-eyebrow { font-size:clamp(23px,2.25vw,41px); }
@keyframes panelIn { from{opacity:0;transform:translateY(-42%) scale(.96);filter:blur(8px)} to{opacity:1;transform:translateY(-50%) scale(1);filter:none} }

/* 03 — cinematic label */
.copy-style-3 .hero-shade { background:linear-gradient(90deg,rgb(31 20 12 / 56%),rgb(31 20 12 / 7%) 57%,transparent); }
.copy-style-3 .hero-copy { color:#fffaf1; text-shadow:0 4px 35px rgb(22 13 7 / 62%); }
.copy-style-3 .hero-copy-line { width:82px; height:3px; margin-bottom:24px; background:#d6b990; animation:lineGrow 1s .2s both; }
.copy-style-3 .hero-eyebrow { font-style:italic; font-size:clamp(30px,3.2vw,58px); animation:cinemaIn 1.1s .28s both; }
.copy-style-3 .hero-copy h2 { display:inline-block; margin-top:4px; padding:0; background:transparent; box-decoration-break:clone; animation:cinemaIn 1.1s .45s both; }
@keyframes cinemaIn { from{opacity:0;clip-path:inset(0 100% 0 0);transform:translateY(16px)} to{opacity:1;clip-path:inset(0);transform:none} }

/* 04 — quiet letterpress */
.copy-style-4 .hero-shade { background:linear-gradient(90deg,rgb(250 241 226 / 76%) 0%,rgb(250 241 226 / 30%) 43%,transparent 68%); }
.copy-style-4 .hero-copy { color:#3e2b1e; text-shadow:0 1px 0 rgb(255 255 255 / 50%); }
.copy-style-4 .hero-copy::before { content:""; position:absolute; left:-28px; top:-35px; bottom:-37px; width:1px; background:#8e6b4b; animation:verticalDraw 1s .25s both; }
.copy-style-4 .hero-copy-line { width:34px; height:1px; margin-bottom:25px; background:#8e6b4b; }
.copy-style-4 .hero-eyebrow { font-size:clamp(22px,2.35vw,43px); letter-spacing:.1em; animation:quietIn 1.15s .25s both; }
.copy-style-4 .hero-copy h2 { animation:quietIn 1.15s .48s both; }
@keyframes verticalDraw { from{transform:scaleY(0)} to{transform:scaleY(1)} }
@keyframes quietIn { from{opacity:0;letter-spacing:.18em;transform:translateY(12px)} to{opacity:1;transform:none} }

/* 05 — warm gallery title */
.copy-style-5 .hero-shade { background:radial-gradient(circle at 20% 52%,rgb(37 22 12 / 58%),rgb(37 22 12 / 12%) 42%,transparent 68%); }
.copy-style-5 .hero-copy { padding:34px 38px 37px; border-top:1px solid rgb(231 204 164 / 72%); border-bottom:1px solid rgb(231 204 164 / 45%); color:#fff7ea; background:linear-gradient(90deg,rgb(43 27 16 / 38%),transparent); text-shadow:0 4px 30px rgb(28 16 8 / 50%); animation:galleryIn 1.15s .22s both; }
.copy-style-5 .hero-copy-line { width:9px; height:9px; margin-bottom:21px; border:1px solid #dec099; border-radius:50%; box-shadow:0 0 0 5px rgb(222 192 153 / 13%); }
.copy-style-5 .hero-eyebrow { color:#f1d4ad; font-size:clamp(26px,2.7vw,49px); }
@keyframes galleryIn { from{opacity:0;transform:translateY(-46%);filter:blur(9px)} to{opacity:1;transform:translateY(-50%);filter:none} }
.hero-scroll { position:absolute; z-index:3; left:8%; bottom:35px; display:flex; align-items:center; gap:12px; color:#fff; font-family:Arial,sans-serif; font-size:8px; letter-spacing:.18em; text-decoration:none; opacity:.78; }
.hero-scroll span { display:block; width:46px; height:1px; background:currentColor; }
.slider-controls { position:absolute; z-index:4; right:5%; bottom:31px; display:flex; align-items:center; gap:17px; color:#fff; line-height:1; }
.slider-arrow { display:grid; place-items:center; width:39px; height:39px; padding:0; border:1px solid rgb(255 255 255 / 55%); border-radius:50%; color:inherit; background:rgb(39 24 13 / 8%); font-family:Arial,sans-serif; font-size:15px; cursor:pointer; transition:.25s; }
.slider-arrow:hover,.slider-arrow:focus-visible { color:#352315; background:#fff; }
.slide-count { display:flex; align-items:center; gap:9px; min-width:78px; font-family:var(--font-en); font-size:13px; letter-spacing:.08em; }
.slide-count b { font-size:16px; font-weight:500; }
.slide-count i { display:block; width:25px; height:1px; background:rgb(255 255 255 / 58%); }
.slide-count span { opacity:.65; }
.slider-dots { position:absolute; z-index:4; left:50%; bottom:37px; display:flex; gap:10px; transform:translateX(-50%); }
.slider-dots button { width:24px; height:10px; padding:0; border:0; background:transparent; cursor:pointer; }
.slider-dots button::after { content:""; display:block; width:100%; height:1px; background:rgb(255 255 255 / 45%); transition:.3s; }
.slider-dots button.active::after { height:2px; background:#fff; }
.care-principles { position:relative; display:grid; grid-template-columns:minmax(340px,.82fr) minmax(620px,1.18fr); gap:8%; min-height:100vh; padding:clamp(110px,11vw,190px) 8%; overflow:hidden; color:#3c2b20; background:linear-gradient(135deg,#f5eee4 0%,#eee3d5 100%); }
.care-watermark { position:absolute; left:-1.5vw; bottom:-13vw; color:rgb(117 89 64 / 4.5%); font-family:var(--font-en); font-size:clamp(430px,43vw,820px); font-style:italic; line-height:.75; pointer-events:none; user-select:none; }
.care-intro { position:relative; z-index:1; align-self:center; padding-bottom:4vh; }
.section-label { display:flex; align-items:center; gap:13px; margin:0 0 38px; color:#9a795d; font-family:var(--font-en); font-size:11px; font-weight:500; letter-spacing:.17em; }
.section-label span { display:block; width:38px; height:1px; background:#aa896d; }
.care-intro h2 { margin:0; font-family:var(--font-ko); font-size:clamp(42px,4.5vw,78px); font-weight:300; line-height:1.36; letter-spacing:-.055em; }
.care-intro h2 em { color:#87674e; font-style:normal; }
.care-summary { margin:38px 0 0; padding-left:20px; border-left:1px solid #b99a7d; color:#776454; font-size:clamp(15px,1.15vw,19px); font-weight:300; line-height:1.9; letter-spacing:-.02em; }
.care-list { position:relative; z-index:1; align-self:center; margin:0; padding:0 0 0 39px; list-style:none; }
.care-list::before { content:""; position:absolute; left:4px; top:5%; width:1px; height:90%; background:#d2c0ad; transform:scaleY(0); transform-origin:top; transition:transform 1.4s .35s cubic-bezier(.22,.61,.36,1); }
.care-principles.in-view .care-list::before { transform:scaleY(1); }
.care-item { position:relative; display:grid; grid-template-columns:44px minmax(135px,.48fr) minmax(260px,1fr); gap:clamp(20px,2.5vw,44px); align-items:center; min-height:145px; padding:27px 0; border-bottom:1px solid rgb(114 87 65 / 18%); }
.care-item:first-child { border-top:1px solid rgb(114 87 65 / 18%); }
.care-item::before { content:""; position:absolute; left:-39px; top:50%; width:9px; height:9px; border:1px solid #a78970; border-radius:50%; background:#f1e7da; transform:translate(-50%,-50%) scale(0); transition:transform .45s ease; }
.care-principles.in-view .care-item::before { transform:translate(-50%,-50%) scale(1); }
.care-index { align-self:start; padding-top:10px; color:#aa8d73; font-family:var(--font-en); font-size:11px; letter-spacing:.1em; }
.care-value { color:#765a45; font-family:var(--font-en); font-size:clamp(45px,4.25vw,73px); font-weight:400; line-height:.85; letter-spacing:-.045em; white-space:nowrap; }
.care-value.care-word { font-size:clamp(27px,2.35vw,42px); line-height:.86; letter-spacing:.015em; }
.care-copy h3 { margin:0 0 9px; font-size:clamp(16px,1.22vw,20px); font-weight:400; line-height:1.5; letter-spacing:-.035em; }
.care-copy p { margin:0; color:#887462; font-family:var(--font-ko); font-size:13px; font-weight:300; line-height:1.75; letter-spacing:-.02em; }
.reveal-item { opacity:0; transform:translateY(34px); transition:opacity .9s ease,transform .9s cubic-bezier(.22,.61,.36,1); }
.care-principles.in-view .reveal-item { opacity:1; transform:none; }
.care-principles.in-view .care-item:nth-child(1) { transition-delay:.18s; }
.care-principles.in-view .care-item:nth-child(2) { transition-delay:.32s; }
.care-principles.in-view .care-item:nth-child(3) { transition-delay:.46s; }
.care-principles.in-view .care-item:nth-child(4) { transition-delay:.6s; }
.care-principles.in-view .care-item:nth-child(1)::before { transition-delay:.55s; }
.care-principles.in-view .care-item:nth-child(2)::before { transition-delay:.7s; }
.care-principles.in-view .care-item:nth-child(3)::before { transition-delay:.85s; }
.care-principles.in-view .care-item:nth-child(4)::before { transition-delay:1s; }
.treatment-hotspot,.map-hotspot { position:absolute; display:block; pointer-events:auto; border-radius:999px; outline-offset:5px; }
.treatment-hotspot { left:43%; bottom:8%; width:15%; height:7%; }
.map-hotspot { left:8%; top:35%; width:48%; height:52%; border-radius:0; }
.treatment-hotspot:focus-visible,.map-hotspot:focus-visible { outline:2px solid #fff; background:rgb(255 255 255 / 12%); }
.reserve-open { position:absolute; right:4%; bottom:5%; z-index:2; padding:13px 22px; border:1px solid rgb(67 43 24 / 30%); border-radius:2px; color:#fff; background:#3b2717; line-height:1; cursor:pointer; box-shadow:0 8px 25px rgb(41 25 12 / 18%); }
.modal[hidden] { display:none; }
.modal { position:fixed; inset:0; z-index:20; display:grid; place-items:center; padding:20px; }
.modal-backdrop { position:absolute; inset:0; background:rgb(28 18 11 / 68%); backdrop-filter:blur(5px); }
.modal-card { position:relative; z-index:1; width:min(520px,100%); max-height:90vh; overflow:auto; padding:38px; border:1px solid rgb(89 62 40 / 18%); background:#f7f0e7; box-shadow:0 24px 80px rgb(28 18 11 / 30%); line-height:1.5; }
.modal-card h2 { margin:3px 0 8px; font-size:30px; font-weight:500; }
.modal-card p { margin:0 0 25px; color:#766657; font-family:Arial,sans-serif; font-size:14px; }
.eyebrow { margin:0!important; color:#aa8a6a!important; font-size:11px!important; letter-spacing:.14em; }
.modal-close { position:absolute; top:14px; right:16px; border:0; background:transparent; color:#5f4c3c; font-size:26px; cursor:pointer; }
.modal-card form { display:grid; gap:15px; }
.modal-card label { display:grid; gap:7px; font-size:13px; }
.modal-card input,.modal-card select,.modal-card textarea { width:100%; padding:11px 12px; border:1px solid var(--line); border-radius:2px; color:#3c2b1e; background:#fffdf9; outline:none; }
.modal-card input:focus,.modal-card select:focus,.modal-card textarea:focus { border-color:#6b4e36; box-shadow:0 0 0 3px rgb(107 78 54 / 10%); }
.modal-card .consent { display:flex; grid-template-columns:auto 1fr; align-items:center; }
.form-honeypot{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}
.consent input { width:auto; }
.submit-button { padding:14px; border:0; color:#fff; background:#3b2717; cursor:pointer; }
body.modal-open { overflow:hidden; }
.site-footer { position:relative; display:grid; grid-template-columns:1.45fr 1fr 1fr .8fr; gap:6%; min-height:330px; padding:62px 8% 70px; color:#cbbba8; background:#2c1d0f; line-height:1.55; }
.footer-brand { align-self:start; color:#e7d8c6; }
.footer-column { display:flex; flex-direction:column; align-items:flex-start; gap:9px; font-family:var(--font-en); font-size:12px; }
.footer-column strong { margin-bottom:6px; color:#eadfce; font-size:12px; font-weight:400; }
.footer-column a { color:inherit; text-decoration:none; opacity:.78; }
.footer-column a:hover { opacity:1; }
.copyright { position:absolute; left:0; right:0; bottom:30px; margin:0; color:#8c7865; font-family:Georgia,serif; font-size:9px; text-align:center; }
.result { width:min(620px,calc(100% - 40px)); margin:12vh auto; padding:60px; border:1px solid rgb(89 62 40 / 16%); background:#f7f0e7; box-shadow:0 24px 80px rgb(28 18 11 / 12%); line-height:1.7; text-align:center; }
.result h1 { margin:6px 0; font-size:clamp(26px,5vw,40px); font-weight:500; }
.result p { color:#766657; }
.result a { display:inline-block; margin-top:18px; padding:11px 20px; color:#fff; background:#3b2717; text-decoration:none; }
.sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
@media (max-width:700px) {
  .site-shell{box-shadow:none}.reserve-open{position:fixed;right:14px;bottom:14px;padding:12px 17px}.modal-card{padding:30px 22px}
  .site-header { height:58px; grid-template-columns:1fr auto; padding:0 18px; background:rgb(35 25 17 / 76%); }
  .brand-mark { width:22px; height:22px; font-size:13px; }.brand-name{font-size:14px}.header-tools{display:none}
  .menu-toggle { display:grid; gap:6px; width:38px; height:38px; padding:10px; border:0; background:transparent; cursor:pointer; }
  .menu-toggle span { display:block; width:100%; height:1px; background:#fff; transition:.25s; }
  .main-menu { position:absolute; top:58px; left:0; right:0; display:grid; gap:0; padding:10px 20px 22px; background:rgb(35 25 17 / 94%); opacity:0; visibility:hidden; transform:translateY(-8px); transition:.2s; }
  .main-menu.open { opacity:1; visibility:visible; transform:none; }
  .main-menu a { padding:13px 0; border-bottom:1px solid rgb(255 255 255 / 10%); font-size:11px; }
  .hero-media { background-position:64% center; }
  .hero-slide img { object-position:62% center; }
  .hero-shade { background:rgb(44 28 17 / 18%); }
  .hero-copy { left:24px; right:24px; top:50%; width:auto; text-align:center; transform:translateY(-50%); }
  .hero-eyebrow { margin-bottom:14px; font-size:clamp(17px,5.4vw,24px); letter-spacing:.045em; }
  .hero-copy h2 { font-size:clamp(27px,8vw,39px); line-height:1.35; }
  .hero-copy-line { margin-left:auto!important; margin-right:auto!important; }
  .copy-style-1 .hero-copy { padding:24px 16px; border-left:0; background:rgb(39 24 14 / 26%); backdrop-filter:blur(4px); }
  .copy-style-2 .hero-copy { width:auto; padding:30px 22px 32px; }
  .copy-style-3 .hero-copy h2 { padding:0; }
  .copy-style-4 .hero-copy { padding:27px 14px; background:rgb(247 237 221 / 68%); backdrop-filter:blur(5px); }
  .copy-style-4 .hero-copy::before { display:none; }
  .copy-style-5 .hero-copy { padding:29px 17px 32px; }
  .hero-scroll { left:50%; bottom:25px; flex-direction:column; gap:8px; transform:translateX(-50%); }
  .hero-scroll span { width:1px; height:30px; }
  .slider-controls { right:16px; bottom:18px; gap:8px; }
  .slider-arrow { width:35px; height:35px; }
  .slide-count { display:none; }
  .slider-dots { left:18px; bottom:31px; gap:7px; transform:none; }
  .slider-dots button { width:17px; }
  .care-principles { display:block; min-height:auto; padding:100px 24px 90px; }
  .care-watermark { left:-35px; bottom:-25px; font-size:330px; }
  .care-intro { padding:0 0 67px; text-align:left; }
  .section-label { margin-bottom:27px; font-size:9px; }
  .care-intro h2 { font-size:clamp(37px,11.5vw,52px); line-height:1.42; }
  .care-summary { margin-top:29px; font-size:14px; line-height:1.8; }
  .care-list { padding-left:25px; }
  .care-list::before { left:1px; }
  .care-item { grid-template-columns:38px 1fr; gap:2px 13px; min-height:0; padding:29px 0 31px; }
  .care-item::before { left:-24px; }
  .care-index { grid-row:1/3; padding-top:7px; }
  .care-value { grid-column:2; margin-bottom:17px; font-size:48px; }
  .care-value.care-word { font-size:31px; line-height:.9; }
  .care-copy { grid-column:2; }
  .care-copy h3 { font-size:16px; }
  .care-copy p { font-size:12px; }
  .site-footer { grid-template-columns:1fr 1fr; gap:35px 25px; min-height:410px; padding:45px 28px 70px; }
  .footer-brand { grid-column:1/-1; }.copyright{bottom:24px;padding:0 20px}
}

/* V58 — one locally served Nanum family across the public site. */
:root{--font-ko:"Frame Nanum Myeongjo","맑은 고딕",sans-serif;--font-en:"Frame Nanum Myeongjo","맑은 고딕",sans-serif;--font-display-weight:400;--font-display-spacing:-.045em}
body,button,input,select,textarea,.site-header,.main-menu a,.brand-name,.brand-mark,.hero,.hero-copy,.hero-copy h2,.hero-eyebrow,
.site-shell h1,.site-shell h2,.site-shell h3,.site-shell h4,.site-shell p,.site-shell span,.site-shell strong,.site-shell small,.site-shell a,
.footer,.sub-footer{font-family:"Frame Nanum Myeongjo","맑은 고딕",sans-serif!important;font-synthesis:none;text-rendering:optimizeLegibility}

/* V48 — planning-document navigation and true full-width treatment menu. */
.site-header { z-index:30; }
.nav-dropdown { position:relative; }
.nav-parent {
  position:relative;
  display:flex;
  align-items:center;
  gap:7px;
  min-height:46px;
  padding:0 18px;
  border-radius:999px;
  color:inherit;
  font-family:var(--font-en);
  font-size:11px;
  font-weight:500;
  letter-spacing:.12em;
  text-decoration:none;
  opacity:.88;
  transition:color .3s ease,background .3s ease,opacity .3s ease;
}
.nav-parent::after { display:none!important; }
.nav-parent>span { font-family:Arial,sans-serif; font-size:12px; font-weight:300; transition:transform .3s ease; }
.nav-dropdown:hover .nav-parent,
.nav-dropdown:focus-within .nav-parent {
  color:#3f3025;
  background:rgb(250 244 236 / 92%);
  opacity:1;
}
.nav-dropdown:hover .nav-parent>span,
.nav-dropdown:focus-within .nav-parent>span { transform:rotate(45deg); }
.nav-submenu {
  position:absolute;
  top:62px;
  left:50%;
  display:grid;
  width:176px;
  padding:14px 18px;
  border:1px solid rgb(111 85 65 / 13%);
  color:#5a483b;
  background:rgb(250 247 242 / 98%);
  box-shadow:0 20px 55px rgb(31 22 16 / 18%);
  opacity:0;
  visibility:hidden;
  transform:translate(-50%,-8px);
  transition:opacity .25s ease,visibility .25s ease,transform .3s cubic-bezier(.22,.61,.36,1);
  pointer-events:none;
}
.nav-dropdown:hover .nav-submenu,
.nav-dropdown:focus-within .nav-submenu {
  opacity:1;
  visibility:visible;
  transform:translate(-50%,0);
  pointer-events:auto;
}
.nav-submenu a {
  padding:10px 2px!important;
  border-bottom:1px solid #e5ddd5;
  color:#77685d;
  font-family:var(--font-ko)!important;
  font-size:12px!important;
  font-weight:300!important;
  letter-spacing:-.02em!important;
  text-decoration:none;
  transition:color .2s ease,padding-left .2s ease;
}
.nav-submenu a:last-child { border-bottom:0; }
.nav-submenu a::after { display:none!important; }
.nav-submenu a:hover,.nav-submenu a:focus-visible { padding-left:6px!important; color:#33271f; outline:none; }

.treatment-mega {
  top:88px;
  right:0;
  left:0;
  display:block;
  width:auto;
  max-width:none;
  padding:0;
  border-width:1px 0;
  color:#4a3b31;
  background:rgb(250 247 242 / 98%);
  box-shadow:0 30px 75px rgb(31 22 16 / 20%);
  transform:translateY(-12px);
}
.menu-treatment.open .treatment-mega { transform:translateY(0); }
.treatment-mega-inner { width:100%; padding:27px clamp(28px,4.2vw,76px) 34px; }
.mega-heading {
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:28px;
  margin-bottom:23px;
  padding-bottom:18px;
  border-bottom:1px solid #dcd1c7;
}
.mega-heading>div { display:flex; align-items:baseline; gap:22px; }
.mega-heading small { color:#a38a76; font-family:var(--font-en); font-size:9px; letter-spacing:.2em; }
.mega-heading strong { color:#49382d; font-size:18px; font-weight:var(--font-display-weight); letter-spacing:-.035em; }
.mega-heading>a { display:flex; align-items:center; gap:9px; padding:0 0 3px; color:#806956; font-size:11px; text-decoration:none; }
.mega-heading>a::after { display:none!important; }
.mega-heading>a span { font-family:Arial,sans-serif; font-size:12px; }
.mega-treatment-grid { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:0; }
.mega-treatment-grid section { min-height:178px; padding:0 clamp(11px,1.45vw,26px); border-left:1px solid #e2d9d1; }
.mega-treatment-grid section:first-child { padding-left:0; border-left:0; }
.mega-treatment-grid section:last-child { padding-right:0; }
.mega-category { position:relative; display:block!important; min-height:63px; padding:0 22px 14px 0!important; color:#4f3c30; text-decoration:none; }
.mega-category::after { display:none!important; }
.mega-category small { display:block; margin-bottom:8px; color:#b09884; font-family:var(--font-en); font-size:7px; letter-spacing:.16em; line-height:1.3; }
.mega-category h3 { margin:0; padding:0; border:0; color:#4f3c30; font-size:15px; font-weight:500!important; letter-spacing:-.035em!important; }
.mega-category>span { position:absolute; top:20px; right:0; color:#ac9582; font-family:Arial,sans-serif; font-size:11px; transition:transform .25s ease,color .25s ease; }
.mega-category:hover>span,.mega-category:focus-visible>span { color:#503c30; transform:translate(2px,-2px); }
.mega-treatment-grid ul { display:block; margin:0; padding:0; list-style:none; }
.mega-treatment-grid li { line-height:1.25; }
.mega-treatment-grid li>a,
.mega-empty-link { display:block; padding:4px 0; color:#8d7e72; font-size:10.5px; font-weight:300; letter-spacing:-.02em; text-decoration:none; }
.mega-treatment-grid li>a::after,.mega-empty-link::after { display:none!important; }
.mega-treatment-grid li>a:hover,.mega-treatment-grid li>a:focus-visible,.mega-empty-link:hover,.mega-empty-link:focus-visible { color:#35291f; transform:translateX(2px); outline:none; }
.mega-empty-link { color:#aa9b90; }
.mobile-menu-utilities { display:none; }

@media (hover:hover) and (min-width:701px) {
  .menu-treatment:hover .treatment-mega { transform:translateY(0); }
}

@media (max-width:1180px) and (min-width:701px) {
  .site-header { grid-template-columns:165px auto 250px; padding:0 2.2%; }
  .main-menu>a,.menu-link,.nav-parent { padding:0 10px; font-size:10px; }
  .treatment-mega { top:88px; padding:0; }
  .treatment-mega-inner { padding:25px 24px 31px; }
  .mega-heading { margin-bottom:20px; }
  .mega-treatment-grid { grid-template-columns:repeat(6,minmax(0,1fr)); }
  .mega-treatment-grid section { padding:0 11px; }
  .mega-category { padding-right:14px!important; }
  .mega-category h3 { font-size:13px; }
  .mega-category small { font-size:6px; }
  .mega-treatment-grid li>a,.mega-empty-link { font-size:9.5px; }
}

@media (max-width:700px) {
  .nav-dropdown { position:static; }
  .nav-parent {
    justify-content:space-between;
    width:100%;
    min-height:50px;
    padding:0 2px;
    border-bottom:1px solid rgb(255 255 255 / 11%);
    border-radius:0;
    color:#f6eee5;
    font-size:12px;
  }
  .nav-dropdown:hover .nav-parent,.nav-dropdown:focus-within .nav-parent { color:#f6eee5; background:transparent; }
  .nav-submenu {
    position:static;
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:0 14px;
    width:100%;
    padding:7px 0 15px;
    border:0;
    border-bottom:1px solid rgb(255 255 255 / 11%);
    color:#cbbdaf;
    background:transparent;
    box-shadow:none;
    opacity:1;
    visibility:visible;
    transform:none;
    pointer-events:auto;
  }
  .nav-submenu a { padding:8px 0!important; border:0; color:#a99a8d; font-size:10px!important; }
  .nav-submenu a:hover,.nav-submenu a:focus-visible { padding-left:0!important; color:#f3e9df; }
  .treatment-mega {
    position:static;
    display:none;
    width:100%;
    max-width:none;
    padding:0;
    border:0;
    color:#ede3d9;
    background:transparent;
    box-shadow:none;
    opacity:1;
    visibility:visible;
    transform:none;
    transition:none;
    pointer-events:auto;
  }
  .menu-treatment.open .treatment-mega { display:block; transform:none; }
  .treatment-mega-inner { padding:21px 0 8px; }
  .mega-heading { display:none; }
  .mega-treatment-grid { grid-template-columns:1fr 1fr; gap:22px 18px; }
  .mega-treatment-grid section,.mega-treatment-grid section:first-child,.mega-treatment-grid section:last-child { min-height:0; padding:0; border:0; }
  .mega-category { min-height:0; margin-bottom:8px; padding:0 18px 8px 0!important; border-bottom:1px solid rgb(255 255 255 / 14%); color:#ede3d9; }
  .mega-category small { margin-bottom:5px; color:#9d8d80; font-size:6px; }
  .mega-category h3 { color:#d9c6b3; font-size:12px; }
  .mega-category>span { top:14px; }
  .mega-treatment-grid li>a,.mega-empty-link { padding:5px 0; color:#a99a8d; font-size:10px; }
  .mobile-menu-utilities { display:grid; grid-template-columns:1fr 1fr; gap:8px; margin-top:14px; }
  .mobile-languages { grid-column:1/-1; display:grid; grid-template-columns:repeat(4,1fr); border:1px solid rgb(255 255 255 / 13%); }
.mobile-languages span,.mobile-languages a { padding:11px 4px; color:#8f8277; font-family:Arial,sans-serif; font-size:9px; text-align:center; text-decoration:none; }
  .mobile-languages .active { color:#f1e7dc; background:rgb(255 255 255 / 7%); }
  .mobile-menu-utilities>a { padding:12px 9px!important; border:1px solid rgb(255 255 255 / 13%)!important; color:#d7c8ba!important; font-family:var(--font-ko)!important; font-size:10px!important; text-align:center; }
  .mobile-menu-utilities>a::after { display:none!important; }
}

/* V47 — refined global navigation, treatment mega menu and font preview. */
.site-header {
  grid-template-columns:minmax(200px,1fr) auto minmax(310px,1fr);
  height:88px;
  padding:0 3.6%;
  border-bottom:1px solid rgb(255 255 255 / 15%);
  background:linear-gradient(180deg,rgb(27 20 15 / 78%) 0%,rgb(27 20 15 / 35%) 68%,transparent 100%);
  backdrop-filter:blur(2px);
}
.site-header .brand { gap:10px; }
.site-header .brand-mark { width:30px; height:30px; border-color:rgb(255 255 255 / 72%); font-size:17px; }
.site-header .brand-name { font-size:19px; letter-spacing:.065em; }
.site-header .brand-name small { margin-top:3px; font-family:Arial,sans-serif; font-size:5px; font-weight:400; letter-spacing:.18em; opacity:.7; }
.main-menu { gap:4px; }
.main-menu>a,
.menu-link {
  position:relative;
  display:flex;
  align-items:center;
  gap:7px;
  min-height:46px;
  padding:0 18px;
  border:0;
  border-radius:999px;
  color:inherit;
  background:transparent;
  font-family:var(--font-en);
  font-size:11px;
  font-weight:500;
  letter-spacing:.12em;
  text-decoration:none;
  cursor:pointer;
  opacity:.88;
  transition:color .3s ease,background .3s ease,opacity .3s ease;
}
.main-menu>a::after { display:none; }
.main-menu>a:hover,
.main-menu>a:focus-visible,
.menu-link:hover,
.menu-link:focus-visible,
.menu-treatment.open .menu-link {
  color:#3f3025;
  background:rgb(250 244 236 / 92%);
  outline:none;
  opacity:1;
}
.menu-link>span { display:inline-block; font-family:Arial,sans-serif; font-size:12px; font-weight:300; transition:transform .3s ease; }
.menu-treatment.open .menu-link>span { transform:rotate(45deg); }
.menu-treatment { position:static; }
.treatment-mega {
  position:absolute;
  top:76px;
  left:50%;
  display:grid;
  grid-template-columns:240px 1fr;
  gap:42px;
  width:min(1120px,92vw);
  padding:34px 38px 36px;
  border:1px solid rgb(111 85 65 / 14%);
  color:#4a3b31;
  background:rgb(250 247 242 / 97%);
  box-shadow:0 28px 75px rgb(31 22 16 / 23%);
  line-height:1.5;
  opacity:0;
  visibility:hidden;
  transform:translate(-50%,-10px);
  transition:opacity .3s ease,visibility .3s ease,transform .35s cubic-bezier(.22,.61,.36,1);
  pointer-events:none;
}
.menu-treatment.open .treatment-mega {
  opacity:1;
  visibility:visible;
  transform:translate(-50%,0);
  pointer-events:auto;
}
.mega-intro { padding:2px 30px 0 0; border-right:1px solid #ded4ca; }
.mega-intro small { color:#a38a76; font-family:var(--font-en); font-size:9px; letter-spacing:.2em; }
.mega-intro strong { display:block; margin:19px 0 16px; font-family:var(--font-ko); font-size:29px; font-weight:var(--font-display-weight); line-height:1.48; letter-spacing:var(--font-display-spacing); }
.mega-intro p { margin:0; color:#8c7c70; font-size:11px; font-weight:300; line-height:1.8; }
.mega-intro a { display:inline-flex; gap:8px; margin-top:25px; padding:0 0 5px; border-bottom:1px solid #8f7460; color:#695344; font-family:var(--font-en); font-size:9px; letter-spacing:.13em; text-decoration:none; }
.mega-treatment-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:27px 34px; }
.mega-treatment-grid section { min-width:0; }
.mega-treatment-grid h3 { margin:0 0 11px; padding-bottom:9px; border-bottom:1px solid #dfd6ce; color:#5b4739; font-size:14px; font-weight:500!important; letter-spacing:-.02em!important; }
.mega-treatment-grid ul { display:flex; flex-wrap:wrap; gap:4px 13px; margin:0; padding:0; list-style:none; }
.mega-treatment-grid li { line-height:1.2; }
.mega-treatment-grid a { position:relative; display:block; padding:4px 0; color:#8a7b70; font-size:11px; font-weight:300; letter-spacing:-.02em; text-decoration:none; transition:color .25s ease,transform .25s ease; }
.mega-treatment-grid a::after { display:none!important; }
.mega-treatment-grid a:hover,.mega-treatment-grid a:focus-visible { color:#3f3026; transform:translateX(2px); outline:none; }
.header-tools { gap:10px; }
.font-switcher { display:flex; align-items:center; gap:8px; height:32px; padding:0 9px 0 11px; border:1px solid rgb(255 255 255 / 28%); border-radius:999px; color:#f8efe6; background:rgb(31 23 17 / 22%); font-family:Arial,sans-serif; }
.font-switcher>span { font-size:7px; letter-spacing:.16em; opacity:.6; white-space:nowrap; }
.font-switcher select { width:96px; padding:0 17px 0 0; border:0; color:inherit; background:transparent; font-family:Arial,sans-serif; font-size:8px; letter-spacing:.05em; outline:none; cursor:pointer; }
.font-switcher option { color:#332820; background:#faf7f2; }
.mobile-font-switcher { display:none; }
.consult-link { display:grid; place-items:center; min-width:69px; height:32px; padding:0 12px; border-color:rgb(255 255 255 / 36%); border-radius:999px; font-size:9px; }
.language-links { display:flex; align-items:center; gap:7px; height:32px; padding:0 11px; border-left:1px solid rgb(255 255 255 / 22%); font-family:Arial,sans-serif; font-size:7px; letter-spacing:.08em; }
.language-links span,.language-links a { color:inherit; opacity:.45; text-decoration:none; }
.language-links .active { opacity:1; }

@media (hover:hover) and (min-width:701px) {
  .menu-treatment:hover .treatment-mega {
    opacity:1;
    visibility:visible;
    transform:translate(-50%,0);
    pointer-events:auto;
  }
  .menu-treatment:hover .menu-link { color:#3f3025; background:rgb(250 244 236 / 92%); opacity:1; }
  .menu-treatment:hover .menu-link>span { transform:rotate(45deg); }
}

@media (max-width:1100px) and (min-width:701px) {
  .site-header { grid-template-columns:170px auto 240px; padding:0 2.5%; }
  .main-menu>a,.menu-link { padding:0 11px; font-size:10px; }
  .font-switcher>span,.language-links { display:none; }
  .font-switcher select { width:88px; }
  .treatment-mega { grid-template-columns:200px 1fr; gap:28px; padding:30px; }
  .mega-treatment-grid { gap:22px; }
}

@media (max-width:700px) {
  .site-header { position:absolute; height:64px; grid-template-columns:1fr auto; padding:0 17px; border-bottom-color:rgb(255 255 255 / 13%); background:rgb(31 23 17 / 76%); backdrop-filter:blur(10px); }
  .site-header .brand-mark { width:25px; height:25px; font-size:14px; }
  .site-header .brand-name { font-size:15px; }
  .site-header .brand-name small { font-size:4.5px; }
  .menu-toggle { display:grid; z-index:3; }
  .menu-toggle.open span:first-child { transform:translateY(3.5px) rotate(45deg); }
  .menu-toggle.open span:last-child { transform:translateY(-3.5px) rotate(-45deg); }
  .main-menu {
    position:absolute;
    top:64px;
    right:0;
    left:0;
    display:block;
    max-height:calc(100svh - 64px);
    padding:18px 20px 28px;
    overflow-y:auto;
    background:rgb(31 23 17 / 98%);
  }
  .main-menu>a,
  .menu-link {
    justify-content:space-between;
    width:100%;
    min-height:50px;
    padding:0 2px;
    border-bottom:1px solid rgb(255 255 255 / 11%);
    border-radius:0;
    color:#f6eee5;
    font-size:12px;
    text-align:left;
  }
  .main-menu>a:hover,.main-menu>a:focus-visible,.menu-link:hover,.menu-link:focus-visible,.menu-treatment.open .menu-link { color:#f6eee5; background:transparent; }
  .treatment-mega {
    position:static;
    display:none;
    width:100%;
    padding:20px 0 8px;
    border:0;
    color:#ede3d9;
    background:transparent;
    box-shadow:none;
    opacity:1;
    visibility:visible;
    transform:none;
    transition:none;
    pointer-events:auto;
  }
  .menu-treatment.open .treatment-mega { display:block; transform:none; }
  .mega-intro { display:none; }
  .mega-treatment-grid { grid-template-columns:1fr 1fr; gap:22px 18px; }
  .mega-treatment-grid h3 { margin-bottom:8px; padding-bottom:7px; border-bottom-color:rgb(255 255 255 / 14%); color:#d9c6b3; font-size:12px; }
  .mega-treatment-grid ul { display:block; }
  .mega-treatment-grid a { padding:5px 0; color:#a99a8d; font-size:10px; }
  .mobile-font-switcher { display:flex; justify-content:space-between; width:100%; height:45px; margin-top:19px; padding:0 13px; border-color:rgb(255 255 255 / 16%); border-radius:2px; }
  .mobile-font-switcher select { width:auto; min-width:165px; text-align:right; }
}

/* Unified director layout — five interaction studies */
.legacy-concept { display:none!important; }
.motion-comparison .care-slider-nav,.motion-comparison .care-dots { color:#f4e8d7; }
.motion-comparison .concept-story { background:linear-gradient(115deg,#382719 0%,#302116 58%,#463426 100%); }
.motion-comparison .concept-story::before { background:radial-gradient(circle at 20% 28%,rgb(218 184 145 / 14%),transparent 34%),linear-gradient(90deg,transparent 56.9%,rgb(255 255 255 / 8%) 57%,transparent 57.1%); }
.motion-version .story-content,.motion-version .doctor-story { position:relative; z-index:3; }
.motion-version .story-heading,.motion-version .story-copy,.motion-version .doctor-story,.motion-version .doctor-story figcaption { animation:none; }
.portrait-frame { position:relative; min-height:0; overflow:hidden; background:#aa9b92; }
.portrait-frame img { transform-origin:center top; will-change:transform,filter; }
.portrait-sheen { position:absolute; inset:0; pointer-events:none; opacity:0; }
.motion-accent { position:absolute; z-index:2; pointer-events:none; }

/* 01 — curtain reveal + slow portrait pan */
.motion-1 .motion-accent { left:57%; top:0; width:1px; height:100%; background:linear-gradient(transparent,#d6b58e 23%,#d6b58e 77%,transparent); transform:scaleY(0); transform-origin:top; }
.motion-comparison.in-view .motion-1.active .motion-accent { animation:m1Line 1.25s .15s both; }
.motion-comparison.in-view .motion-1.active .story-heading { animation:m1Copy .95s .25s both; }
.motion-comparison.in-view .motion-1.active .story-copy { animation:m1Copy .95s .48s both; }
.motion-comparison.in-view .motion-1.active .doctor-story { animation:m1Portrait 1.15s .2s both; }
.motion-comparison.in-view .motion-1.active .doctor-story img { animation:m1Pan 9s 1.3s ease-in-out infinite alternate; }
@keyframes m1Line { from{transform:scaleY(0)} to{transform:scaleY(1)} }
@keyframes m1Copy { from{opacity:0;clip-path:inset(0 100% 0 0);transform:translateX(-22px)} to{opacity:1;clip-path:inset(0);transform:none} }
@keyframes m1Portrait { from{opacity:0;clip-path:inset(100% 0 0 0);transform:translateY(28px)} to{opacity:1;clip-path:inset(0);transform:none} }
@keyframes m1Pan { from{transform:scale(1.01) translateY(0)} to{transform:scale(1.055) translateY(-1.2%)} }

/* 02 — opposing movement + breathing frame */
.motion-2 .motion-accent { left:8%; top:23%; width:72px; height:1px; background:#d7b78f; transform:scaleX(0); transform-origin:left; }
.motion-comparison.in-view .motion-2.active .motion-accent { animation:lineGrow .9s .2s both; }
.motion-comparison.in-view .motion-2.active .story-heading { animation:m2Left .9s .22s both; }
.motion-comparison.in-view .motion-2.active .story-copy { animation:m2Left .9s .42s both; }
.motion-comparison.in-view .motion-2.active .doctor-story { animation:m2Right 1s .25s both; }
.motion-comparison.in-view .motion-2.active .doctor-story img { animation:m2Image 8s 1.3s ease-in-out infinite alternate; }
@keyframes m2Left { from{opacity:0;transform:translateX(-45px);filter:blur(6px)} to{opacity:1;transform:none;filter:none} }
@keyframes m2Right { from{opacity:0;transform:translateX(55px)} to{opacity:1;transform:none} }
@keyframes m2Breathe { from{box-shadow:0 0 0 rgb(218 184 145 / 0%)} to{box-shadow:0 28px 70px rgb(20 12 7 / 34%)} }
@keyframes m2Image { from{filter:contrast(1.04) brightness(1.02)} to{filter:contrast(1.09) brightness(1.06)} }

/* 03 — focus pull + floating portrait */
.motion-3 .motion-accent { left:9%; top:17%; width:120px; height:120px; border:1px solid rgb(220 186 145 / 22%); border-radius:50%; opacity:0; }
.motion-comparison.in-view .motion-3.active .motion-accent { animation:m3Ring 1.2s .15s both,m3Pulse 4s 1.4s ease-in-out infinite; }
.motion-comparison.in-view .motion-3.active .story-heading { animation:m3Focus 1.15s .22s both; }
.motion-comparison.in-view .motion-3.active .story-copy { animation:m3Focus 1.15s .47s both; }
.motion-comparison.in-view .motion-3.active .doctor-story { animation:m3Focus 1.05s .25s both,m3Float 5.5s 1.4s ease-in-out infinite alternate; }
.motion-comparison.in-view .motion-3.active .doctor-story img { animation:m3PortraitTone 5.5s 1.4s ease-in-out infinite alternate; }
@keyframes m3Focus { from{opacity:0;filter:blur(16px);transform:scale(.97)} to{opacity:1;filter:none;transform:scale(1)} }
@keyframes m3Float { from{transform:translateY(0) rotate(.001deg)} to{transform:translateY(-12px) rotate(.35deg)} }
@keyframes m3PortraitTone { from{filter:contrast(1.03) saturate(.96)} to{filter:contrast(1.1) saturate(1.07)} }
@keyframes m3Ring { from{opacity:0;transform:scale(.55)} to{opacity:1;transform:scale(1)} }
@keyframes m3Pulse { 0%,100%{box-shadow:0 0 0 0 rgb(214 181 143 / 0%)} 50%{box-shadow:0 0 0 18px rgb(214 181 143 / 5%)} }

/* 04 — diagonal shutter + travelling light */
.motion-4 .motion-accent { right:5%; bottom:8%; width:27%; height:1px; background:linear-gradient(90deg,transparent,#d6b58e); transform:scaleX(0); transform-origin:right; }
.motion-comparison.in-view .motion-4.active .motion-accent { animation:lineGrow 1.1s .4s both; }
.motion-comparison.in-view .motion-4.active .story-heading { animation:m4Letters 1.05s .25s both; }
.motion-comparison.in-view .motion-4.active .story-copy { animation:quietIn .9s .52s both; }
.motion-comparison.in-view .motion-4.active .portrait-frame { animation:m4Shutter 1.2s .22s both; }
.motion-comparison.in-view .motion-4.active .portrait-sheen { opacity:1; background:linear-gradient(115deg,transparent 35%,rgb(255 245 228 / 22%) 48%,transparent 61%); animation:m4Sheen 5.5s 1.5s ease-in-out infinite; }
@keyframes m4Letters { from{opacity:0;letter-spacing:.13em;transform:translateY(22px)} to{opacity:1;letter-spacing:normal;transform:none} }
@keyframes m4Shutter { from{opacity:0;clip-path:polygon(0 0,0 0,0 100%,0 100%)} to{opacity:1;clip-path:polygon(0 0,100% 0,100% 100%,0 100%)} }
@keyframes m4Sheen { 0%,25%{transform:translateX(-130%)} 65%,100%{transform:translateX(130%)} }

/* 05 — gallery fade + perpetual slow zoom */
.motion-5 .motion-accent { inset:8% 4%; border:1px solid rgb(220 189 151 / 11%); opacity:0; transform:scale(.97); }
.motion-comparison.in-view .motion-5.active .motion-accent { animation:m5Frame 1.3s .15s both,m5Glow 5s 1.5s ease-in-out infinite alternate; }
.motion-comparison.in-view .motion-5.active .story-heading { animation:m5Rise 1.1s .22s both; }
.motion-comparison.in-view .motion-5.active .story-copy { animation:m5Rise 1.1s .48s both; }
.motion-comparison.in-view .motion-5.active .doctor-story { animation:m5Rise 1.1s .28s both; }
.motion-comparison.in-view .motion-5.active .doctor-story img { animation:m5Zoom 10s 1.2s cubic-bezier(.25,.1,.25,1) infinite alternate; }
.motion-comparison.in-view .motion-5.active .doctor-story figcaption { animation:m5Caption 1s .8s both; }
@keyframes m5Frame { from{opacity:0;transform:scale(.97)} to{opacity:1;transform:scale(1)} }
@keyframes m5Glow { from{box-shadow:inset 0 0 0 rgb(224 193 155 / 0%)} to{box-shadow:inset 0 0 85px rgb(224 193 155 / 7%)} }
@keyframes m5Rise { from{opacity:0;transform:translateY(38px)} to{opacity:1;transform:none} }
@keyframes m5Zoom { from{transform:scale(1.01)} to{transform:scale(1.085)} }
@keyframes m5Caption { from{opacity:0;letter-spacing:.18em} to{opacity:1;letter-spacing:.055em} }

@media (max-width:700px) {
  .motion-version .motion-accent { display:none; }
  .motion-comparison .concept-story { min-height:1200px; }
  .motion-comparison .doctor-story { position:relative; right:auto; bottom:auto; opacity:1; filter:none; mask-image:none; }
  .motion-comparison.in-view .motion-3.active .doctor-story { animation:m3Focus 1.05s .25s both; }
}

@media (prefers-reduced-motion:reduce) {
  .motion-comparison .story-heading,.motion-comparison .story-copy,.motion-comparison .doctor-story,.motion-comparison .doctor-story img,.motion-comparison .doctor-story figcaption,.motion-comparison .motion-accent,.motion-comparison .portrait-sheen { animation:none!important; opacity:1; transform:none; filter:none; clip-path:none; }
}

/* Refined cool-luxury palette and narrower second section */
.motion-comparison { min-height:100vh; padding:7vh 0; background:#fff; }
.motion-comparison .care-concepts { width:min(91%,1600px); min-height:86vh; margin:0 auto; overflow:hidden; border:0; border-radius:0; background:#f2e8dc; box-shadow:none; }
.motion-comparison .care-concept { min-height:86vh; padding:clamp(78px,6.8vw,120px) clamp(58px,6.2vw,105px) 105px; }
.motion-comparison .concept-story { color:#2f2c2b; background:#f2e8dc; }
.motion-comparison .concept-story::before { background:linear-gradient(90deg,transparent 56.9%,#eee7e4 57%,transparent 57.1%); }
.motion-comparison .section-label { color:#a88179; }
.motion-comparison .section-label span { background:#c3a19a; }
.motion-comparison .story-heading small { color:#9a817b; }
.motion-comparison .story-heading h2 { color:#2f2c2b; }
.motion-comparison .story-heading h2 { font-size:clamp(38px,3.55vw,64px); line-height:1.4; letter-spacing:-.055em; }
.motion-comparison .story-copy { border-color:#e8dedb; }
.motion-comparison .story-copy p { color:#716b69; }
.motion-comparison .story-copy strong { color:#473c39; }
.motion-comparison .doctor-story { padding:0; border:0; background:transparent; box-shadow:none; }
.motion-comparison .doctor-story figcaption { color:#98766f; }
.motion-comparison .portrait-frame { background:transparent; mask-image:radial-gradient(ellipse 78% 94% at 50% 47%,#000 67%,transparent 100%); }
.motion-comparison .doctor-story img { opacity:.94; mix-blend-mode:multiply; filter:contrast(1.03) saturate(.93) brightness(1.04); }
.motion-comparison .care-slider-nav,.motion-comparison .care-dots { color:#8b6c66; }
.motion-comparison .care-slider-nav { right:max(7%,calc((100vw - 1500px)/2 + 38px)); bottom:calc(7vh + 30px); }
.motion-comparison .care-dots { left:max(7%,calc((100vw - 1500px)/2 + 38px)); bottom:calc(7vh + 46px); }
.motion-comparison .care-slider-nav button:hover { color:#fff; border-color:#9d766e; background:#9d766e; }
.motion-comparison .motion-1 .motion-accent { background:linear-gradient(transparent,#c3a19a 23%,#c3a19a 77%,transparent); }
.motion-comparison .motion-2 .motion-accent,.motion-comparison .motion-4 .motion-accent { background:#c3a19a; }
.motion-comparison .motion-3 .motion-accent { border-color:rgb(184 143 135 / 24%); }
.motion-comparison .motion-5 .motion-accent { border-color:rgb(184 143 135 / 15%); }

@media (max-width:700px) {
  .motion-comparison { min-height:auto; padding:16px 0; background:#fff; }
  .motion-comparison .care-concepts { width:calc(100% - 36px); min-height:1200px; border-radius:0; background:#f2e8dc; }
  .motion-comparison .care-concept { min-height:1200px; padding:86px 24px 105px; }
  .motion-comparison .story-heading h2 { font-size:34px; line-height:1.45; }
  .motion-comparison .care-slider-nav { right:28px; bottom:42px; }
  .motion-comparison .care-dots { left:30px; bottom:54px; }
}

/* Five design studies sharing interaction 02 */
.sample-details { display:none; }
.sample-details span { display:flex; flex-direction:column; gap:5px; min-width:0; }
.sample-details b { color:#5d4c47; font-family:var(--font-en); font-size:21px; font-weight:500; line-height:1; }
.sample-details small { color:#9a817a; font-size:10px; letter-spacing:-.02em; }

/* 01 — current minimal composition */
.sample-1 .sample-details { display:none; }
.sample-1 .motion-accent { display:none; }
.sample-1 .portrait-sheen { display:none; }
.sample-1::after { content:""; position:absolute; z-index:1; top:0; right:0; width:32%; height:100%; background:#eadbce; transform:scaleY(0); transform-origin:top; }
.motion-comparison.in-view .sample-1.active::after { animation:sampleOneCurtain 1.05s 1.28s cubic-bezier(.65,0,.35,1) forwards; }
@keyframes sampleOneCurtain { from{transform:scaleY(0)} to{transform:scaleY(1)} }

/* 02 — arched portrait and quiet data row */
.sample-2::after { content:""; position:absolute; right:5.2%; top:9%; width:31%; height:77%; border:1px solid rgb(174 139 128 / 28%); border-radius:48% 48% 0 0 / 25% 25% 0 0; pointer-events:none; }
.sample-2 .doctor-story { width:min(100%,520px); height:min(73vh,720px); }
.sample-2 .portrait-frame { border-radius:48% 48% 0 0 / 24% 24% 0 0; mask-image:none; }
.sample-2 .sample-details { display:grid; grid-template-columns:repeat(4,1fr); gap:19px; margin-top:34px; padding-top:24px; border-top:1px solid #dfd0ca; }
.sample-2 .story-copy { margin-top:35px; }

/* 03 — magazine block with large issue number */
.sample-3 { background:linear-gradient(90deg,#f2e8dc 0%,#f2e8dc 68%,#eadbce 68%,#eadbce 100%)!important; }
.sample-3::after { content:attr(data-sample); position:absolute; left:4.5%; bottom:1%; color:rgb(126 97 88 / 7%); font-family:var(--font-en); font-size:clamp(220px,21vw,390px); line-height:.72; pointer-events:none; }
.sample-3 .doctor-story { width:min(100%,540px); height:min(69vh,690px); }
.sample-3 .portrait-frame { mask-image:linear-gradient(to bottom,#000 0%,#000 82%,transparent 100%); }
.sample-3 .story-heading h2 { max-width:580px; }
.sample-3 .sample-details { display:flex; gap:34px; margin-top:32px; }
.sample-3 .sample-details span { padding-left:13px; border-left:1px solid #cbb5ae; }

/* 04 — asymmetrical gallery grid */
.sample-4 { grid-template-columns:minmax(510px,.94fr) minmax(390px,1.06fr); background:linear-gradient(90deg,#f2e8dc 0 60%,#e8d8c8 60% 100%)!important; }
.sample-4::after { content:""; position:absolute; inset:8% 5%; border-top:1px solid rgb(142 112 102 / 15%); border-bottom:1px solid rgb(142 112 102 / 15%); pointer-events:none; }
.sample-4 .story-content { padding-left:4%; }
.sample-4 .doctor-story { justify-self:center; width:min(92%,560px); height:min(76vh,750px); }
.sample-4 .portrait-frame { mask-image:linear-gradient(to right,transparent 0%,#000 16%,#000 100%); }
.sample-4 .sample-details { display:grid; grid-template-columns:1fr 1fr; gap:18px 32px; width:78%; margin-top:34px; }
.sample-4 .sample-details span { display:grid; grid-template-columns:58px 1fr; align-items:end; padding-bottom:9px; border-bottom:1px solid #d5c2ba; }

/* 05 — soft oval portrait and 1:1 watermark */
.sample-5 { background:radial-gradient(circle at 78% 47%,#ead9ce 0%,#f2e8dc 34%,#f2e8dc 100%)!important; }
.sample-5::after { content:"1:1"; position:absolute; right:1%; top:6%; color:rgb(131 98 89 / 8%); font-family:var(--font-en); font-size:clamp(180px,19vw,350px); line-height:1; pointer-events:none; }
.sample-5 .doctor-story { width:min(100%,600px); height:min(69vh,660px); }
.sample-5 .portrait-frame { border-radius:50%; mask-image:none; box-shadow:0 0 0 22px rgb(255 255 255 / 19%); }
.sample-5 .doctor-story img { object-position:center 12%; }
.sample-5 .sample-details { display:grid; grid-template-columns:repeat(4,1fr); gap:12px; margin-top:35px; }
.sample-5 .sample-details span { align-items:center; padding:13px 5px; border:1px solid rgb(155 119 109 / 18%); text-align:center; }

@media (max-width:700px) {
  .sample-details { margin-top:25px!important; }
  .sample-1::after { width:34%; }
  .sample-2::after { right:12%; top:auto; bottom:8%; width:65%; height:36%; }
  .sample-2 .sample-details,.sample-5 .sample-details { grid-template-columns:1fr 1fr; }
  .sample-3 { background:linear-gradient(180deg,#f2e8dc 0 66%,#eadbce 66% 100%)!important; }
  .sample-3::after { left:-4%; bottom:3%; font-size:210px; }
  .sample-3 .sample-details { display:grid; grid-template-columns:1fr 1fr; gap:17px; }
  .sample-4 { display:flex; grid-template-columns:none; background:linear-gradient(180deg,#f2e8dc 0 64%,#e8d8c8 64% 100%)!important; }
  .sample-4 .story-content { padding-left:0; }
  .sample-4 .sample-details { width:100%; }
  .sample-5::after { right:-4%; top:42%; font-size:180px; }
  .sample-5 .portrait-frame { border-radius:50%; box-shadow:0 0 0 12px rgb(255 255 255 / 18%); }
}

/* Fourth section — interactive space accordion */
.space-gallery { position:relative; padding:clamp(115px,10vw,180px) 4.5% clamp(120px,10vw,175px); overflow:hidden; color:#322b26; background:#fff; }
.space-heading { display:flex; justify-content:space-between; align-items:flex-end; gap:8%; width:min(100%,1600px); margin:0 auto 70px; }
.space-heading .section-label { margin-bottom:25px; }
.space-heading h2 { margin:0; font-size:clamp(39px,3.6vw,65px); font-weight:300; line-height:1.38; letter-spacing:-.055em; }
.space-heading>p { margin:0 0 8px; padding-left:23px; border-left:1px solid #bba38f; color:#847469; font-size:14px; font-weight:300; line-height:1.9; }
.space-accordion { display:flex; align-items:center; gap:clamp(7px,.75vw,13px); width:min(100%,1600px); height:clamp(470px,40vw,650px); margin:0 auto; }
.space-panel { position:relative; flex:.66 1 0; height:72%; margin:0; overflow:hidden; background:#d7cec6; cursor:pointer; outline:0; transition:flex .95s cubic-bezier(.22,.61,.36,1),height .95s cubic-bezier(.22,.61,.36,1),transform .5s ease; }
.space-panel:nth-child(1){height:84%}.space-panel:nth-child(2){height:76%}.space-panel:nth-child(3){height:68%}.space-panel:nth-child(4){height:100%}.space-panel:nth-child(5){height:68%}.space-panel:nth-child(6){height:76%}.space-panel:nth-child(7){height:84%}
.space-panel.active { flex:4.1 1 0; height:100%; }
.space-panel img { display:block; width:100%; height:100%; object-fit:cover; filter:grayscale(1) brightness(.73) contrast(1.05); transform:scale(1.04); transition:filter .85s ease,transform 1.15s cubic-bezier(.22,.61,.36,1); }
.space-panel.active img { filter:grayscale(0) brightness(1) contrast(1); transform:scale(1); }
.space-panel::after { content:""; position:absolute; inset:0; background:linear-gradient(180deg,transparent 48%,rgb(26 19 14 / 62%) 100%); opacity:.38; transition:opacity .65s ease; }
.space-panel.active::after { opacity:1; }
.space-no { position:absolute; z-index:2; left:50%; bottom:17px; color:rgb(255 255 255 / 78%); font-family:var(--font-en); font-size:11px; letter-spacing:.08em; transform:translateX(-50%); transition:opacity .4s ease,transform .5s ease; }
.space-panel.active .space-no { opacity:0; transform:translate(-50%,10px); }
.space-panel figcaption { position:absolute; z-index:2; left:30px; right:25px; bottom:26px; color:#fff; opacity:0; transform:translateY(20px); transition:opacity .5s .22s ease,transform .6s .22s ease; }
.space-panel.active figcaption { opacity:1; transform:none; }
.space-panel figcaption small { display:block; margin-bottom:7px; font-family:var(--font-en); font-size:10px; letter-spacing:.15em; opacity:.75; }
.space-panel figcaption h3 { margin:0; font-size:clamp(17px,1.35vw,23px); font-weight:300; letter-spacing:-.035em; }
.space-guide { display:flex; justify-content:space-between; align-items:center; width:min(100%,1600px); margin:24px auto 0; color:#9a887a; font-family:var(--font-en); font-size:11px; letter-spacing:.08em; }
.space-guide p { margin:0; font-family:var(--font-ko); font-size:11px; font-weight:300; letter-spacing:-.02em; }
.space-gallery .space-heading,.space-gallery .space-panel,.space-gallery .space-guide { opacity:0; transform:translateY(28px); }
.space-gallery.in-view .space-heading { animation:quietIn .9s .05s both; }
.space-gallery.in-view .space-panel { animation:spacePanelIn .8s both; }
.space-gallery.in-view .space-panel:nth-child(1){animation-delay:.14s}.space-gallery.in-view .space-panel:nth-child(2){animation-delay:.2s}.space-gallery.in-view .space-panel:nth-child(3){animation-delay:.26s}.space-gallery.in-view .space-panel:nth-child(4){animation-delay:.32s}.space-gallery.in-view .space-panel:nth-child(5){animation-delay:.38s}.space-gallery.in-view .space-panel:nth-child(6){animation-delay:.44s}.space-gallery.in-view .space-panel:nth-child(7){animation-delay:.5s}
.space-gallery.in-view .space-guide { animation:quietIn .8s .62s both; }
@keyframes spacePanelIn { from{opacity:0;transform:translateY(38px) scaleY(.94)} to{opacity:1;transform:none} }

@media (max-width:700px) {
  .space-gallery { padding:95px 20px 105px; }
  .space-heading { display:block; margin-bottom:48px; }
  .space-heading h2 { font-size:38px; }
  .space-heading>p { margin-top:27px; font-size:12px; }
  .space-accordion { flex-direction:column; align-items:stretch; gap:7px; height:760px; }
  .space-panel,.space-panel:nth-child(n) { flex:.6 1 0; width:100%; height:auto; }
  .space-panel.active { flex:5 1 0; height:auto; }
  .space-no { left:16px; bottom:50%; transform:translateY(50%); }
  .space-panel.active .space-no { transform:translateY(calc(50% + 10px)); }
  .space-panel figcaption { left:20px; bottom:18px; }
  .space-guide p { display:none; }
}

@media (prefers-reduced-motion:reduce) {
  .space-panel,.space-panel img,.space-panel figcaption,.space-gallery .space-heading,.space-gallery .space-guide { animation:none!important; transition:none; opacity:1; transform:none; }
}
@media (prefers-reduced-motion:reduce) { html{scroll-behavior:auto} }
@media (prefers-reduced-motion:reduce) { .hero-slide.active img,.hero-shade,.hero-copy,.hero-copy-line,.hero-eyebrow,.hero-copy h2{animation:none;opacity:1;filter:none} }
@media (prefers-reduced-motion:reduce) { .reveal-item,.care-list::before,.care-item::before{opacity:1;transform:none;transition:none} }

/* Second-section concept slider */
.care-principles { display:block; min-height:100vh; padding:0; overflow:hidden; background:#f2e8dc; transition:background .65s ease; }
.care-concepts { display:grid; min-height:100vh; }
.care-concept { grid-area:1/1; position:relative; min-width:0; min-height:100vh; padding:clamp(105px,9vw,165px) 8% 115px; opacity:0; visibility:hidden; pointer-events:none; transform:translateX(3%); transition:opacity .7s ease,transform .8s cubic-bezier(.22,.61,.36,1),visibility .7s; }
.care-concept.active { z-index:2; opacity:1; visibility:visible; pointer-events:auto; transform:none; }
.concept-list { display:grid; grid-template-columns:minmax(340px,.82fr) minmax(620px,1.18fr); gap:8%; background:linear-gradient(135deg,#f5eee4 0%,#eee3d5 100%); }
.doctor-portrait { position:absolute; z-index:1; margin:0; overflow:hidden; pointer-events:none; }
.doctor-portrait img { display:block; width:100%; height:100%; object-fit:cover; object-position:center top; }
.doctor-list { left:30%; bottom:0; width:22%; height:76%; opacity:.24; filter:saturate(.7) sepia(.08); mask-image:linear-gradient(to bottom,transparent 0%,#000 15%,#000 78%,transparent 100%); }
.concept-list.active .doctor-list { animation:doctorRise 1.15s .28s both; }
@keyframes doctorRise { from{opacity:0;transform:translateY(35px);filter:blur(9px) saturate(.7)} }
.care-watermark { z-index:0; }
.care-slider-nav { position:absolute; z-index:12; right:5%; bottom:35px; display:flex; align-items:center; gap:16px; color:#4d3828; transition:color .5s ease; }
.care-slider-nav button { display:grid; place-items:center; width:40px; height:40px; padding:0; border:1px solid currentColor; border-radius:50%; color:inherit; background:transparent; font-family:Arial,sans-serif; cursor:pointer; opacity:.72; transition:.25s; }
.care-slider-nav button:hover { color:#fff; border-color:#5b412e; background:#5b412e; opacity:1; }
.care-count { display:flex; align-items:center; gap:9px; min-width:80px; font-family:var(--font-en); font-size:13px; }
.care-count b { font-size:17px; font-weight:500; }.care-count i{width:26px;height:1px;background:currentColor;opacity:.4}.care-count span{opacity:.5}
.care-dots { position:absolute; z-index:12; left:8%; bottom:51px; display:flex; gap:10px; }
.care-dots button { width:30px; height:10px; padding:0; border:0; background:transparent; cursor:pointer; }
.care-dots button::after { content:""; display:block; height:1px; background:currentColor; opacity:.3; transition:.3s; }
.care-dots button.active::after { height:2px; opacity:1; }
.care-theme-2 .care-slider-nav,.care-theme-2 .care-dots,.care-theme-5 .care-slider-nav,.care-theme-5 .care-dots { color:#f4e8d7; }

/* 02 — narrative brand story */
.concept-story { display:grid; grid-template-columns:minmax(540px,1.12fr) minmax(360px,.88fr); gap:9%; align-items:center; color:#f4e9da; background:#382719; }
.concept-story::before { content:""; position:absolute; inset:0; background:radial-gradient(circle at 17% 35%,rgb(214 181 143 / 13%),transparent 35%),linear-gradient(90deg,transparent 56.9%,rgb(255 255 255 / 9%) 57%,transparent 57.1%); }
.story-content { position:relative; z-index:2; align-self:center; max-width:760px; }
.concept-story .section-label { color:#c9ad8c; }
.doctor-story { position:relative; z-index:2; right:auto; bottom:auto; display:grid; grid-template-rows:minmax(0,1fr) auto; justify-self:end; width:min(100%,560px); height:min(75vh,760px); padding:12px 12px 0; border:1px solid rgb(234 213 187 / 24%); opacity:1; filter:none; mask-image:none; background:rgb(255 255 255 / 3%); }
.doctor-story img { min-height:0; object-position:center top; filter:contrast(1.05) saturate(1.04) brightness(1.03); }
.doctor-story figcaption { padding:18px 4px 20px; color:#d8bea0; font-family:var(--font-en); font-size:16px; font-style:italic; letter-spacing:.055em; text-align:center; }
.concept-story.active .doctor-story { animation:storyDoctorIn 1.3s .15s both; }
@keyframes storyDoctorIn { from{opacity:0;transform:translateX(45px);filter:blur(10px) grayscale(.3)} }
.concept-story .section-label span { background:#c9ad8c; }
.story-heading { align-self:center; }
.story-heading small { display:block; margin-bottom:24px; color:#c6a989; font-size:13px; font-weight:300; letter-spacing:.13em; }
.story-heading h2 { margin:0; font-size:clamp(44px,5.15vw,92px); font-weight:300; line-height:1.3; letter-spacing:-.065em; }
.story-copy { position:relative; z-index:2; margin-top:46px; padding:31px 0 0; border-top:1px solid rgb(235 217 194 / 24%); background:none; }
.story-copy p { margin:0 0 46px; color:#d8c8b5; font-size:clamp(17px,1.45vw,24px); font-weight:300; line-height:2; letter-spacing:-.03em; }
.story-copy p:last-child { margin-bottom:0; }
.story-copy strong { color:#fff7ec; font-family:var(--font-en); font-size:1.55em; font-weight:400; white-space:nowrap; }
.concept-story.active .story-heading { animation:quietIn 1s .15s both; }.concept-story.active .story-copy{animation:editorialIn 1s .35s both}.concept-story.active .doctor-story figcaption{animation:quietIn 1s .55s both}

/* 03 — care journey */
.concept-journey { display:flex; flex-direction:column; justify-content:center; color:#3f3025; background:#f8f3eb; }
.doctor-journey { right:8%; top:9%; width:15%; height:35%; border:1px solid rgb(119 88 62 / 17%); box-shadow:18px 20px 0 rgb(193 171 148 / 17%); opacity:.92; }
.doctor-journey::after { content:"REPRESENTATIVE DIRECTOR"; position:absolute; left:13px; bottom:11px; padding:5px 7px; color:#f8f1e7; background:rgb(54 38 25 / 54%); font-family:var(--font-en); font-size:8px; letter-spacing:.12em; }
.concept-journey.active .doctor-journey { animation:panelIn 1s .28s both; }
.journey-head { display:grid; grid-template-columns:1fr 1.2fr; gap:3% 10%; align-items:end; margin-bottom:clamp(65px,7vh,105px); }
.journey-head .section-label { grid-column:1/-1; }
.journey-head h2 { margin:0; font-size:clamp(43px,4.6vw,80px); font-weight:300; line-height:1.32; letter-spacing:-.06em; }
.journey-head>p:last-child { width:65%; margin:0 0 12px; padding-left:25px; border-left:1px solid #b49374; color:#816d5b; font-size:17px; line-height:1.8; }
.journey-track { position:relative; display:grid; grid-template-columns:repeat(4,1fr); margin:0; padding:0; list-style:none; }
.journey-track::before { content:""; position:absolute; left:0; right:0; top:17px; height:1px; background:#c7b29e; transform:scaleX(0); transform-origin:left; }
.concept-journey.active .journey-track::before { animation:lineGrow 1.3s .4s both; }
.journey-track li { position:relative; padding:0 clamp(18px,2.4vw,42px) 0 0; }
.journey-track li::before { content:""; display:block; width:9px; height:9px; margin:12px 0 35px; border:1px solid #97775c; border-radius:50%; background:#f8f3eb; transform:scale(0); }
.concept-journey.active .journey-track li::before { animation:dotIn .4s calc(.55s + var(--delay,0s)) both; }
.journey-track li:nth-child(2){--delay:.15s}.journey-track li:nth-child(3){--delay:.3s}.journey-track li:nth-child(4){--delay:.45s}
@keyframes dotIn { to{transform:scale(1)} }
.journey-track li>span { position:absolute; top:-8px; left:20px; color:#a78b72; font-family:var(--font-en); font-size:11px; }
.journey-track strong { display:block; margin-bottom:14px; color:#9b7a5e; font-family:var(--font-en); font-size:12px; font-weight:500; letter-spacing:.13em; }
.journey-track h3 { margin:0 0 9px; font-size:clamp(20px,1.7vw,28px); font-weight:400; }
.journey-track p { margin:0; color:#857262; font-size:13px; line-height:1.7; }
.concept-journey.active .journey-track li { animation:quietIn .8s calc(.45s + var(--delay,0s)) both; }

/* 04 — editorial four promises */
.concept-grid { display:grid; grid-template-columns:.7fr 1.3fr; gap:9%; align-items:center; color:#3e2c20; background:#e7d8c8; }
.doctor-grid { z-index:0; left:25%; bottom:0; width:24%; height:82%; opacity:.29; mix-blend-mode:multiply; mask-image:linear-gradient(to bottom,#000 65%,transparent 100%); }
.concept-grid.active .doctor-grid { animation:doctorRise 1.15s .3s both; }
.grid-heading,.promise-grid { position:relative; z-index:2; }
.grid-heading h2 { margin:0 0 30px; font-size:clamp(50px,5.2vw,90px); font-weight:300; line-height:1.24; letter-spacing:-.06em; }
.grid-heading>p:last-child { margin:0; color:#796451; font-size:15px; line-height:1.8; }
.promise-grid { display:grid; grid-template-columns:1fr 1fr; border-top:1px solid rgb(89 65 46 / 25%); border-left:1px solid rgb(89 65 46 / 25%); }
.promise-grid>div { position:relative; min-height:260px; padding:35px 38px; border-right:1px solid rgb(89 65 46 / 25%); border-bottom:1px solid rgb(89 65 46 / 25%); }
.promise-grid span { position:absolute; top:20px; right:22px; color:#9c8068; font-family:var(--font-en); font-size:11px; }
.promise-grid strong { display:block; margin-bottom:35px; color:#765740; font-family:var(--font-en); font-size:clamp(43px,4vw,70px); font-weight:400; line-height:1; }
.promise-grid h3 { margin:0 0 10px; font-size:19px; font-weight:400; }
.promise-grid p { margin:0; color:#816e5e; font-size:12px; line-height:1.7; }
.concept-grid.active .grid-heading { animation:editorialIn .9s .18s both; }.concept-grid.active .promise-grid>div{animation:quietIn .75s both}.concept-grid.active .promise-grid>div:nth-child(1){animation-delay:.25s}.concept-grid.active .promise-grid>div:nth-child(2){animation-delay:.38s}.concept-grid.active .promise-grid>div:nth-child(3){animation-delay:.51s}.concept-grid.active .promise-grid>div:nth-child(4){animation-delay:.64s}

/* 05 — one doctor focal concept */
.concept-one { display:flex; flex-direction:column; align-items:center; justify-content:center; color:#f2e6d6; text-align:center; background:radial-gradient(circle at center,#604936 0%,#352619 48%,#281b12 100%); }
.concept-one::before,.concept-one::after { content:""; position:absolute; left:50%; top:50%; border:1px solid rgb(227 200 168 / 16%); border-radius:50%; transform:translate(-50%,-50%); }.concept-one::before{width:min(54vw,900px);aspect-ratio:1}.concept-one::after{width:min(35vw,590px);aspect-ratio:1}
.doctor-one { z-index:1; right:11%; bottom:0; width:36%; height:90%; opacity:.74; filter:sepia(.08) saturate(.8); mask-image:linear-gradient(to bottom,transparent 0%,#000 10%,#000 82%,transparent 100%); }
.doctor-one img { object-position:center top; }
.concept-one.active .doctor-one { animation:storyDoctorIn 1.25s .18s both; }
.concept-one .section-label { position:absolute; z-index:3; left:8%; top:12%; color:#c8a983; }.concept-one .section-label span{background:#c8a983}
.one-core { position:relative; z-index:3; margin-right:30%; }
.one-core>span { display:block; color:#c9ab87; font-size:12px; letter-spacing:.18em; }
.one-core strong { display:block; margin:-8px 0 -2px; font-family:var(--font-en); font-size:clamp(115px,13vw,230px); font-weight:400; line-height:1; }
.one-core p { margin:0; font-size:clamp(22px,2.3vw,38px); font-weight:300; line-height:1.55; }
.one-orbit { position:absolute; z-index:2; display:flex; flex-direction:column; gap:6px; min-width:150px; padding:14px 18px; border-top:1px solid rgb(225 197 164 / 40%); text-align:left; }
.one-orbit b { color:#e8cfb1; font-family:var(--font-en); font-size:25px; font-weight:400; }.one-orbit span{color:#ad9478;font-size:12px}.orbit-a{left:10%;top:34%}.orbit-b{left:34%;top:24%}.orbit-c{left:35%;bottom:24%}
.one-description { position:absolute; left:8%; bottom:14%; margin:0; color:#b9a38a; font-size:13px; line-height:1.85; text-align:left; }
.concept-one.active .one-core { animation:panelIn 1.1s .15s both; }.concept-one.active .one-orbit{animation:quietIn .85s both}.concept-one.active .orbit-a{animation-delay:.35s}.concept-one.active .orbit-b{animation-delay:.48s}.concept-one.active .orbit-c{animation-delay:.61s}

@media (max-width:700px) {
  .care-principles { min-height:auto; padding:0; }
  .care-concepts,.care-concept { min-height:880px; }
  .care-concept { padding:92px 24px 100px; }
  .concept-list { display:block; }
  .doctor-list { left:auto; right:-10%; width:56%; height:54%; opacity:.14; }
  .concept-list .care-intro { padding-bottom:50px; }
  .concept-list .care-list { padding-left:25px; }
  .care-slider-nav { right:18px; bottom:25px; gap:7px; }.care-slider-nav button{width:35px;height:35px}.care-count{display:none}
  .care-dots { left:24px; bottom:37px; gap:7px; }.care-dots button{width:19px}
  .concept-story { display:flex; flex-direction:column; align-items:stretch; min-height:1200px; padding-top:105px; }.concept-story::before{background:radial-gradient(circle at 50% 25%,rgb(214 181 143 / 12%),transparent 35%)}
  .concept-story .section-label { margin-bottom:42px; }.story-heading small{margin-bottom:15px}.story-heading h2{font-size:42px}.story-copy{margin-top:36px;padding:25px 0 0;border-top:1px solid rgb(235 217 194 / 20%);border-left:0}.story-copy p{margin-bottom:23px;font-size:13px;line-height:1.85}.doctor-story{align-self:flex-end;width:72%;height:440px;margin-top:37px;padding:8px 8px 0}.doctor-story figcaption{padding:13px 0 15px;font-size:12px}
  .concept-journey { display:block; }.doctor-journey{right:24px;top:104px;width:27%;height:20%;box-shadow:9px 10px 0 rgb(193 171 148 / 17%)}.doctor-journey::after{display:none}.journey-head{display:block;margin-bottom:48px;padding-right:27%}.journey-head h2{font-size:37px}.journey-head>p:last-child{width:100%;margin-top:24px;font-size:12px}.journey-track{display:block;padding-left:27px}.journey-track::before{left:3px;right:auto;top:0;width:1px;height:100%;transform:scaleY(0);transform-origin:top}.concept-journey.active .journey-track::before{animation:verticalDraw 1.2s .35s both}.journey-track li{padding:0 0 24px 25px}.journey-track li::before{position:absolute;left:-28px;top:2px;margin:0}.journey-track li>span{top:-1px;left:0}.journey-track strong{margin-left:28px;margin-bottom:7px}.journey-track h3{margin-left:28px;font-size:19px}.journey-track p{margin-left:28px;font-size:11px}
  .concept-grid { display:block; }.doctor-grid{left:auto;right:-15%;width:65%;height:50%;opacity:.14}.grid-heading h2{font-size:46px;margin-bottom:18px}.grid-heading>p:last-child{font-size:13px}.promise-grid{margin-top:45px}.promise-grid>div{min-height:175px;padding:25px 19px}.promise-grid strong{margin-bottom:23px;font-size:35px}.promise-grid h3{font-size:15px}.promise-grid p{font-size:10px}.promise-grid span{top:13px;right:14px}
  .concept-one::before{width:92vw}.concept-one::after{width:68vw}.concept-one .section-label{left:24px;top:92px}.doctor-one{right:-5%;width:66%;height:70%;opacity:.55}.one-core{margin-right:29%}.one-core strong{font-size:112px}.one-core p{font-size:21px}.one-orbit{min-width:105px;padding:9px}.one-orbit b{font-size:18px}.one-orbit span{font-size:9px}.orbit-a{left:5%;top:27%}.orbit-b{left:9%;top:44%}.orbit-c{left:8%;bottom:24%}.one-description{left:24px;bottom:12%;width:56%;font-size:10px}
}

/* Fourth-section design study: five space-gallery concepts */
.space-sample-bar { display:flex; justify-content:space-between; align-items:flex-end; gap:40px; width:min(100%,1600px); margin:0 auto 34px; padding:18px 0; border-top:1px solid #e3ddd7; border-bottom:1px solid #e3ddd7; }
.space-sample-bar>p { display:flex; flex-direction:column; gap:5px; margin:0; color:#8b7d72; font-size:11px; font-weight:300; letter-spacing:-.02em; }
.space-sample-bar>p b { color:#4b4038; font-family:var(--font-en); font-size:10px; font-weight:500; letter-spacing:.16em; }
.space-sample-tabs { display:flex; align-items:center; gap:7px; }
.space-sample-tabs button { position:relative; display:flex; align-items:center; gap:8px; min-width:103px; padding:10px 13px; border:0; border-left:1px solid #ded6cf; color:#9a8f86; background:transparent; font-family:var(--font-en); font-size:10px; letter-spacing:.04em; text-align:left; cursor:pointer; transition:color .3s ease,background .3s ease; }
.space-sample-tabs button span { color:#b8a89a; font-size:9px; transition:color .3s ease; }
.space-sample-tabs button::after { content:""; position:absolute; left:13px; right:13px; bottom:5px; height:1px; background:currentColor; transform:scaleX(0); transform-origin:left; transition:transform .4s cubic-bezier(.22,.61,.36,1); }
.space-sample-tabs button:hover,.space-sample-tabs button.active { color:#3f352e; background:#f7f4f1; }
.space-sample-tabs button.active::after { transform:scaleX(1); }
.space-samples { position:relative; width:min(100%,1600px); margin:0 auto; }
.space-sample { display:none; min-height:clamp(540px,44vw,720px); }
.space-sample.active { display:block; animation:spaceSampleIn .8s cubic-bezier(.22,.61,.36,1) both; }
@keyframes spaceSampleIn { from{opacity:0;transform:translateY(18px);filter:blur(4px)} to{opacity:1;transform:none;filter:none} }

/* 02 — cinematic hero with a floating film rail */
.cinema-stage { position:relative; height:clamp(570px,50vw,790px); overflow:hidden; background:#211b17; }
.cinema-main { position:absolute; inset:0; margin:0; overflow:hidden; }
.cinema-main::after { content:""; position:absolute; inset:0; background:linear-gradient(90deg,rgb(20 15 12 / 67%) 0%,transparent 55%),linear-gradient(0deg,rgb(18 13 10 / 60%) 0%,transparent 42%); pointer-events:none; }
.cinema-main img { display:block; width:100%; height:100%; object-fit:cover; transition:opacity .32s ease,transform 1.15s cubic-bezier(.22,.61,.36,1); }
.cinema-main.changing img { opacity:.18; transform:scale(1.035); }
.cinema-main figcaption { position:absolute; z-index:2; left:6%; bottom:145px; color:#fff; }
.cinema-main figcaption small { display:block; margin-bottom:16px; font-family:var(--font-en); font-size:10px; letter-spacing:.18em; opacity:.72; }
.cinema-main figcaption h3 { margin:0 0 12px; font-size:clamp(30px,3.3vw,54px); font-weight:300; letter-spacing:-.055em; }
.cinema-main figcaption p { margin:0; font-size:13px; font-weight:300; opacity:.72; }
.cinema-rail { position:absolute; z-index:3; right:3%; bottom:25px; left:3%; display:grid; grid-template-columns:repeat(7,1fr); gap:8px; padding:8px; background:rgb(24 18 14 / 42%); backdrop-filter:blur(9px); }
.cinema-rail button { position:relative; height:82px; padding:0; overflow:hidden; border:1px solid transparent; color:#fff; background:#18130f; cursor:pointer; transition:height .45s ease,border-color .35s ease,transform .45s ease; }
.cinema-rail button img { display:block; width:100%; height:100%; object-fit:cover; filter:grayscale(1) brightness(.7); transition:filter .5s ease,transform .7s ease; }
.cinema-rail button span { position:absolute; right:8px; bottom:6px; font-family:var(--font-en); font-size:9px; letter-spacing:.08em; }
.cinema-rail button:hover,.cinema-rail button.active { border-color:rgb(255 255 255 / 75%); transform:translateY(-7px); }
.cinema-rail button:hover img,.cinema-rail button.active img { filter:grayscale(0) brightness(1); transform:scale(1.06); }

/* 03 — editorial mosaic */
.editorial-grid { position:relative; display:grid; grid-template-columns:repeat(12,1fr); grid-template-rows:repeat(12,1fr); gap:10px; height:clamp(600px,50vw,790px); padding:10px; background:#eee9e3; }
.editorial-card { position:relative; min-width:0; min-height:0; margin:0; overflow:hidden; background:#d5cec7; }
.editorial-card img { display:block; width:100%; height:100%; object-fit:cover; filter:saturate(.35) contrast(.94); transform:scale(1.015); transition:filter .65s ease,transform .9s cubic-bezier(.22,.61,.36,1),opacity .5s ease; }
.editorial-grid:hover .editorial-card:not(:hover) img { filter:grayscale(.78) brightness(.72); opacity:.64; }
.editorial-card:hover img { filter:saturate(1) contrast(1); transform:scale(1.06); }
.editorial-card figcaption { position:absolute; z-index:2; right:12px; bottom:10px; left:12px; display:flex; justify-content:space-between; align-items:flex-end; color:#fff; opacity:0; transform:translateY(9px); transition:.4s ease; }
.editorial-card:hover figcaption { opacity:1; transform:none; }
.editorial-card figcaption::before { content:""; position:absolute; z-index:-1; right:-12px; bottom:-10px; left:-12px; height:80px; background:linear-gradient(transparent,rgb(20 15 12 / 70%)); }
.editorial-card figcaption span { font-family:var(--font-en); font-size:9px; letter-spacing:.1em; }
.editorial-card figcaption b { font-family:var(--font-en); font-size:11px; font-weight:400; letter-spacing:.06em; }
.editorial-1{grid-column:1/4;grid-row:1/7}.editorial-2{grid-column:4/7;grid-row:1/5}.editorial-3{grid-column:7/10;grid-row:1/5}.editorial-4{grid-column:4/10;grid-row:5/13}.editorial-5{grid-column:10/13;grid-row:1/7}.editorial-6{grid-column:1/4;grid-row:7/13}.editorial-7{grid-column:10/13;grid-row:7/13}
.editorial-copy { position:absolute; z-index:4; left:calc(25% + 34px); bottom:42px; padding:23px 28px; color:#f8f3ed; background:rgb(37 29 23 / 57%); backdrop-filter:blur(8px); pointer-events:none; }
.editorial-copy small { font-family:var(--font-en); font-size:9px; letter-spacing:.17em; opacity:.7; }
.editorial-copy p { margin:11px 0 0; font-size:clamp(18px,1.65vw,27px); font-weight:300; line-height:1.55; letter-spacing:-.04em; }

/* 04 — layered depth cards */
.depth-gallery { position:relative; height:clamp(600px,50vw,790px); overflow:hidden; color:#f6eee5; background:radial-gradient(circle at 50% 42%,#45372d 0%,#211b17 58%,#171311 100%); perspective:1800px; }
.depth-gallery::before { content:"SPACE IN DEPTH"; position:absolute; left:50%; top:49%; color:rgb(255 255 255 / 3.5%); font-family:var(--font-en); font-size:clamp(80px,10vw,170px); letter-spacing:-.04em; white-space:nowrap; transform:translate(-50%,-50%); }
.depth-card { position:absolute; z-index:var(--layer,1); top:50%; left:50%; width:min(44%,650px); height:76%; margin:0; overflow:hidden; border:1px solid rgb(255 255 255 / 13%); background:#2c241f; box-shadow:0 28px 60px rgb(0 0 0 / 28%); opacity:var(--card-opacity,.6); transform:translate3d(calc(-50% + var(--shift,0px)),-50%,var(--depth,0px)) rotateY(var(--rotate,0deg)) scale(var(--scale,.8)); transition:transform .9s cubic-bezier(.22,.61,.36,1),opacity .7s ease,filter .7s ease; cursor:pointer; outline:0; }
.depth-card img { display:block; width:100%; height:100%; object-fit:cover; filter:grayscale(1) brightness(.54); transition:filter .8s ease,transform 1s ease; }
.depth-card::after { content:""; position:absolute; inset:0; background:linear-gradient(transparent 50%,rgb(14 10 8 / 73%)); }
.depth-card.active { border-color:rgb(255 255 255 / 48%); }
.depth-card.active img { filter:none; transform:scale(1.02); }
.depth-card figcaption { position:absolute; z-index:2; right:28px; bottom:24px; left:28px; display:flex; justify-content:space-between; align-items:flex-end; opacity:0; transform:translateY(10px); transition:.5s .2s ease; }
.depth-card.active figcaption { opacity:1; transform:none; }
.depth-card figcaption small { font-family:var(--font-en); font-size:10px; letter-spacing:.12em; }
.depth-card figcaption h3 { margin:0; font-family:var(--font-en); font-size:clamp(21px,2vw,31px); font-weight:400; letter-spacing:.03em; }
.depth-hint { position:absolute; z-index:30; right:3%; bottom:25px; display:flex; flex-direction:column; gap:6px; margin:0; color:#9d8b7d; font-size:10px; font-weight:300; text-align:right; }
.depth-hint span { color:#d7c7b9; font-family:var(--font-en); font-size:9px; letter-spacing:.15em; }

/* 05 — immersive room selector */
.immersive-gallery { position:relative; height:clamp(610px,53vw,820px); overflow:hidden; color:#fff; background:#17120f; }
.immersive-scenes,.immersive-scene { position:absolute; inset:0; margin:0; }
.immersive-scene { opacity:0; overflow:hidden; transition:opacity .7s ease; }
.immersive-scene.active { opacity:1; }
.immersive-scene img { width:100%; height:100%; object-fit:cover; transform:scale(1.055); transition:transform 1.5s cubic-bezier(.22,.61,.36,1); }
.immersive-scene.active img { transform:scale(1); }
.immersive-gallery::after { content:""; position:absolute; z-index:1; inset:0; background:linear-gradient(90deg,rgb(15 10 7 / 62%) 0%,transparent 58%),linear-gradient(0deg,rgb(12 8 6 / 78%) 0%,transparent 47%); pointer-events:none; }
.immersive-copy { position:absolute; z-index:3; left:6%; top:16%; }
.immersive-copy small { font-family:var(--font-en); font-size:9px; letter-spacing:.2em; opacity:.68; }
.immersive-copy h3 { margin:20px 0 24px; font-size:clamp(34px,4vw,65px); font-weight:300; line-height:1.38; letter-spacing:-.055em; }
.immersive-copy p { margin:0; font-family:var(--font-en); font-size:10px; letter-spacing:.14em; opacity:.68; }
.immersive-copy.copy-changing>* { animation:immersiveCopy .55s both; }
@keyframes immersiveCopy { from{opacity:0;transform:translateY(13px);filter:blur(3px)} }
.immersive-index { position:absolute; z-index:3; right:4%; bottom:33px; left:4%; display:grid; grid-template-columns:repeat(7,1fr); border-top:1px solid rgb(255 255 255 / 32%); }
.immersive-index button { position:relative; display:flex; align-items:center; gap:11px; padding:20px 11px 5px; border:0; color:rgb(255 255 255 / 54%); background:transparent; font-family:var(--font-en); text-align:left; cursor:pointer; transition:color .35s ease; }
.immersive-index button::before { content:""; position:absolute; top:-1px; right:0; left:0; height:2px; background:#fff; transform:scaleX(0); transform-origin:left; transition:transform .55s cubic-bezier(.22,.61,.36,1); }
.immersive-index button:hover,.immersive-index button.active { color:#fff; }
.immersive-index button.active::before { transform:scaleX(1); }
.immersive-index button span { font-size:9px; letter-spacing:.08em; opacity:.72; }
.immersive-index button b { font-size:10px; font-weight:400; letter-spacing:.05em; }

@media (max-width:1050px) {
  .space-sample-bar { align-items:flex-start; }
  .space-sample-tabs { flex-wrap:wrap; justify-content:flex-end; }
  .space-sample-tabs button { min-width:82px; }
  .depth-card { width:53%; }
}

@media (max-width:700px) {
  .space-sample-bar { display:block; margin-bottom:22px; }
  .space-sample-bar>p { margin-bottom:15px; }
  .space-sample-tabs { display:grid; grid-template-columns:repeat(5,1fr); gap:0; }
  .space-sample-tabs button { display:block; min-width:0; padding:10px 3px 8px; border-left:0; border-bottom:1px solid #ded6cf; font-size:0; text-align:center; }
  .space-sample-tabs button span { font-size:10px; }
  .space-sample-tabs button::after { right:4px; bottom:-1px; left:4px; }
  .space-sample { min-height:620px; }
  .cinema-stage { height:670px; }
  .cinema-main figcaption { right:24px; left:24px; bottom:190px; }
  .cinema-main figcaption h3 { font-size:34px; }
  .cinema-rail { right:12px; bottom:14px; left:12px; grid-template-columns:repeat(7,84px); overflow-x:auto; }
  .cinema-rail button { height:88px; }
  .editorial-grid { grid-template-columns:repeat(2,1fr); grid-template-rows:repeat(8,125px); height:auto; gap:7px; padding:7px; }
  .editorial-card:nth-child(n) { grid-column:auto; grid-row:auto; min-height:125px; }
  .editorial-4 { grid-column:1/3!important; grid-row:3/5!important; }
  .editorial-7 { grid-column:1/3!important; }
  .editorial-copy { left:20px; bottom:22px; padding:17px 18px; }
  .editorial-copy p { font-size:17px; }
  .depth-gallery { height:680px; }
  .depth-card { width:72%; height:68%; }
  .depth-hint { right:18px; bottom:18px; }
  .immersive-gallery { height:720px; }
  .immersive-copy { top:11%; right:23px; left:23px; }
  .immersive-copy h3 { font-size:38px; }
  .immersive-index { right:18px; bottom:18px; left:18px; grid-template-columns:repeat(7,66px); overflow-x:auto; }
  .immersive-index button { display:block; padding:15px 8px 7px; }
  .immersive-index button b { display:none; }
}

@media (prefers-reduced-motion:reduce) {
  .space-sample,.cinema-main img,.cinema-rail button,.cinema-rail img,.editorial-card img,.depth-card,.depth-card img,.immersive-scene,.immersive-scene img { animation:none!important; transition:none!important; }
}

/* Third section: treatment design study */
.treatment-showcase { --section-progress:0; position:relative; padding:clamp(110px,9vw,165px) 4.5% clamp(120px,10vw,180px); overflow:hidden; color:#332c27; background:#faf8f5; }
.treatment-showcase::before { content:""; position:absolute; top:0; right:0; width:42%; height:310px; background:linear-gradient(135deg,transparent 15%,rgb(226 212 198 / 38%)); clip-path:polygon(32% 0,100% 0,100% 100%); pointer-events:none; }
.treatment-progress { position:absolute; z-index:5; top:0; left:0; width:100%; height:2px; background:#e8e0d9; }
.treatment-progress span { display:block; width:100%; height:100%; background:#806957; transform:scaleX(var(--section-progress)); transform-origin:left; }
.treatment-heading { position:relative; z-index:1; width:min(100%,1600px); margin:0 auto 72px; }
.treatment-heading .section-label { margin-bottom:28px; }
.treatment-heading>div { display:flex; justify-content:space-between; align-items:flex-end; gap:8%; }
.treatment-heading h2 { margin:0; font-size:clamp(45px,4.4vw,78px); font-weight:300; line-height:1.28; letter-spacing:-.065em; }
.treatment-heading>div>p { margin:0 0 10px; padding-left:25px; border-left:1px solid #bca998; color:#81746a; font-size:13px; font-weight:300; line-height:1.9; }
.treatment-sample-bar,.visit-sample-bar { position:relative; z-index:4; display:flex; justify-content:space-between; align-items:flex-end; gap:40px; width:min(100%,1600px); margin:0 auto 34px; padding:17px 0; border-top:1px solid #dfd7d0; border-bottom:1px solid #dfd7d0; }
.treatment-sample-bar>p,.visit-sample-bar>p { display:flex; flex-direction:column; gap:5px; margin:0; color:#8b7d72; font-size:11px; font-weight:300; }
.treatment-sample-bar>p b,.visit-sample-bar>p b { color:#4b4038; font-family:var(--font-en); font-size:10px; font-weight:500; letter-spacing:.16em; }
.treatment-sample-tabs,.visit-sample-tabs { display:flex; align-items:center; gap:7px; }
.treatment-sample-tabs button,.visit-sample-tabs button { position:relative; display:flex; align-items:center; gap:8px; min-width:99px; padding:10px 13px; border:0; border-left:1px solid #ded6cf; color:#9a8f86; background:transparent; font-family:var(--font-en); font-size:10px; letter-spacing:.04em; text-align:left; cursor:pointer; transition:color .3s ease,background .3s ease; }
.treatment-sample-tabs button span,.visit-sample-tabs button span { color:#b8a89a; font-size:9px; }
.treatment-sample-tabs button::after,.visit-sample-tabs button::after { content:""; position:absolute; right:13px; bottom:5px; left:13px; height:1px; background:currentColor; transform:scaleX(0); transform-origin:left; transition:transform .4s ease; }
.treatment-sample-tabs button:hover,.treatment-sample-tabs button.active,.visit-sample-tabs button:hover,.visit-sample-tabs button.active { color:#3f352e; background:#f1ece7; }
.treatment-sample-tabs button.active::after,.visit-sample-tabs button.active::after { transform:scaleX(1); }
.treatment-samples { position:relative; width:min(100%,1600px); margin:0 auto; }
.treatment-sample { display:none; min-height:clamp(620px,48vw,780px); }
.treatment-sample.active { display:block; animation:treatmentSampleIn .85s cubic-bezier(.22,.61,.36,1) both; }
@keyframes treatmentSampleIn { from{opacity:0;transform:translateY(25px);filter:blur(5px)} to{opacity:1;transform:none;filter:none} }

.treatment-photo { display:block; object-fit:cover; object-position:center; background:#eee5dc; opacity:1; transition:opacity .28s ease,transform .9s cubic-bezier(.22,.61,.36,1),filter .7s ease; }
.treatment-photo.visual-changing { opacity:0; }

/* 01 - precision focus grid */
.treatment-focus-grid { display:grid; grid-template-columns:1fr 1.16fr 1fr; grid-template-rows:repeat(2,minmax(290px,1fr)); gap:12px; min-height:clamp(650px,50vw,800px); }
.focus-treatment { position:relative; min-width:0; overflow:hidden; border:1px solid rgb(116 91 72 / 14%); background:#f4ede5; transition:transform .55s ease,box-shadow .55s ease,border-color .4s ease; }
.focus-treatment-1 { grid-area:1/2/3/3; }
.focus-treatment-2 { grid-area:1/1/2/2; }.focus-treatment-3{grid-area:1/3/2/4}.focus-treatment-4{grid-area:2/1/3/2}.focus-treatment-5{grid-area:2/3/3/4}
.focus-treatment .treatment-photo { position:absolute; right:-3%; bottom:-2%; width:58%; height:69%; mix-blend-mode:multiply; }
.focus-treatment-1 .treatment-photo { right:0; bottom:0; width:100%; height:62%; mix-blend-mode:normal; object-position:center 42%; }
.focus-treatment>div { position:relative; z-index:2; max-width:64%; padding:28px; }
.focus-treatment-1>div { max-width:90%; padding:36px; }
.focus-treatment small { color:#9c7e68; font-family:var(--font-en); font-size:9px; letter-spacing:.14em; }
.focus-treatment h3 { margin:10px 0 12px; font-size:clamp(23px,2vw,33px); font-weight:300; }
.focus-treatment p { margin:0; color:#786a61; font-size:11px; font-weight:300; line-height:1.7; opacity:0; transform:translateY(8px); transition:.45s ease; }
.focus-treatment button { margin-top:22px; padding:0 0 5px; border:0; border-bottom:1px solid #9b8573; color:#715c4a; background:none; font-family:var(--font-en); font-size:8px; letter-spacing:.13em; opacity:0; transform:translateY(8px); cursor:pointer; transition:.45s .05s ease; }
.focus-treatment button i { margin-left:6px; font-style:normal; }
.focus-treatment:hover { z-index:3; border-color:#ad927c; box-shadow:0 28px 55px rgb(71 50 34 / 13%); transform:translateY(-6px); }
.focus-treatment:hover .treatment-photo { transform:scale(1.07); filter:saturate(1.08); }
.focus-treatment:hover p,.focus-treatment:hover button { opacity:1; transform:none; }

/* 02 - orbit */
.treatment-orbit { position:relative; height:clamp(650px,50vw,790px); overflow:clip; color:#f4eadf; background:radial-gradient(circle at 50% 48%,#5d493a 0%,#32261e 36%,#211915 73%); }
.treatment-orbit::before { content:"PERSONALIZED"; position:absolute; left:50%; top:50%; color:rgb(255 255 255 / 3%); font-family:var(--font-en); font-size:clamp(90px,12vw,190px); transform:translate(-50%,-50%); }
.orbit-rings i { position:absolute; left:50%; top:50%; border:1px solid rgb(226 201 175 / 15%); border-radius:50%; transform:translate(-50%,-50%); animation:orbitRotate 24s linear infinite; }
.orbit-rings i:nth-child(1){width:38%;aspect-ratio:1}.orbit-rings i:nth-child(2){width:62%;aspect-ratio:1;animation-direction:reverse}.orbit-rings i:nth-child(3){width:87%;aspect-ratio:1}
.orbit-rings i::after { content:""; position:absolute; left:50%; top:-3px; width:6px; height:6px; border-radius:50%; background:#cdb399; box-shadow:0 0 16px #cdb399; }
@keyframes orbitRotate { to{transform:translate(-50%,-50%) rotate(360deg)} }
.orbit-center { position:absolute; z-index:3; left:50%; top:50%; width:27%; aspect-ratio:1; overflow:hidden; border:1px solid rgb(255 255 255 / 27%); border-radius:50%; transform:translate(-50%,-50%); box-shadow:0 0 0 15px rgb(255 255 255 / 3%); }
.orbit-center .treatment-photo { position:absolute; inset:0; width:100%; height:100%; filter:saturate(.65) brightness(.7); }
.orbit-center::after { content:""; position:absolute; inset:0; background:linear-gradient(transparent 45%,rgb(20 14 10 / 79%)); }
.orbit-center small,.orbit-center strong { position:absolute; z-index:2; left:50%; color:#fff; transform:translateX(-50%); }
.orbit-center small { bottom:17%; font-family:var(--font-en); font-size:7px; letter-spacing:.15em; white-space:nowrap; opacity:.65; }
.orbit-center strong { bottom:4%; font-family:var(--font-en); font-size:25px; font-weight:400; }
.orbit-treatment { position:absolute; z-index:4; display:flex; flex-direction:column; gap:3px; min-width:128px; padding:14px 17px; border:1px solid rgb(225 202 181 / 20%); color:#bda994; background:rgb(42 31 24 / 54%); text-align:left; backdrop-filter:blur(5px); cursor:pointer; transition:.45s ease; }
.orbit-treatment span { position:absolute; right:9px; top:8px; font-family:var(--font-en); font-size:8px; opacity:.55; }
.orbit-treatment b { font-size:16px; font-weight:300; }.orbit-treatment small{font-family:var(--font-en);font-size:7px;letter-spacing:.12em;opacity:.5}
.orbit-treatment:hover,.orbit-treatment.active { color:#fff; border-color:#d8bfa8; background:rgb(123 91 67 / 48%); transform:translateY(-5px); box-shadow:0 13px 30px rgb(0 0 0 / 16%); }
.orbit-treatment-1{left:8%;top:20%}.orbit-treatment-2{left:16%;bottom:17%}.orbit-treatment-3{left:50%;bottom:6%;transform:translateX(-50%)}.orbit-treatment-3:hover,.orbit-treatment-3.active{transform:translate(-50%,-5px)}.orbit-treatment-4{right:16%;bottom:17%}.orbit-treatment-5{right:8%;top:20%}
.orbit-detail { position:absolute; z-index:4; right:5%; top:45%; width:19%; padding-left:22px; border-left:1px solid rgb(225 201 179 / 25%); }
.orbit-detail small { font-family:var(--font-en); font-size:8px; letter-spacing:.15em; opacity:.58; }.orbit-detail h3{margin:10px 0 12px;font-size:29px;font-weight:300}.orbit-detail p{margin:0;color:#b5a08d;font-size:10px;font-weight:300;line-height:1.8}
.orbit-detail.changing { animation:orbitCopy .55s both; } @keyframes orbitCopy{from{opacity:0;transform:translateY(12px);filter:blur(3px)}}

/* 03 - scroll story */
.treatment-story { display:grid; grid-template-columns:minmax(460px,.95fr) minmax(500px,1.05fr); min-height:clamp(680px,52vw,820px); background:#f0e7dd; }
.treatment-story-stage { position:relative; overflow:hidden; background:#d9c8b9; }
.treatment-story-stage::before { content:""; position:absolute; inset:6%; border:1px solid rgb(86 63 47 / 22%); }
.treatment-story-stage .treatment-photo { position:absolute; inset:0; width:100%; height:100%; filter:saturate(.75); }
.treatment-story-stage::after { content:""; position:absolute; inset:0; background:linear-gradient(0deg,rgb(43 31 22 / 72%),transparent 55%); }
.treatment-story-stage>div { position:absolute; z-index:2; left:9%; bottom:8%; color:#fff; }
.treatment-story-stage small { font-family:var(--font-en); font-size:9px; letter-spacing:.17em; opacity:.7; }.treatment-story-stage strong{display:block;margin:9px 0 5px;font-size:clamp(37px,4vw,61px);font-weight:300}.treatment-story-stage p{margin:0;font-family:var(--font-en);font-size:8px;letter-spacing:.14em;opacity:.55}
.treatment-story-list { margin:0; padding:0; list-style:none; background:#fff; }
.treatment-story-list li { display:grid; grid-template-columns:45px 1fr 24px; align-items:center; gap:18px; min-height:20%; padding:23px 7%; border-bottom:1px solid #e5ded7; cursor:pointer; outline:0; transition:background .4s ease,padding .45s ease,color .4s ease; }
.treatment-story-list li>span { color:#ad9988; font-family:var(--font-en); font-size:9px; }.treatment-story-list li small{color:#9c8a7a;font-family:var(--font-en);font-size:8px;letter-spacing:.12em}.treatment-story-list h3{margin:5px 0 0;font-size:24px;font-weight:300}.treatment-story-list p{max-height:0;margin:0;color:#8b7d72;font-size:10px;font-weight:300;line-height:1.7;opacity:0;overflow:hidden;transition:.45s ease}.treatment-story-list i{font-style:normal;opacity:.35;transition:.35s ease}
.treatment-story-list li:hover,.treatment-story-list li.active { padding-left:10%; color:#fff; background:#4e3b2e; }
.treatment-story-list li:hover small,.treatment-story-list li.active small{color:#ccb9a7}.treatment-story-list li:hover p,.treatment-story-list li.active p{max-height:60px;margin-top:9px;opacity:.72}.treatment-story-list li:hover i,.treatment-story-list li.active i{opacity:1;transform:rotate(45deg)}

/* 04 - pulse accordion */
.treatment-pulse { display:flex; gap:2px; height:clamp(650px,50vw,790px); overflow:hidden; padding:3%; color:#efe5db; background:#191513; }
.pulse-treatment { position:relative; flex:.72 1 0; overflow:hidden; border-left:1px solid rgb(255 255 255 / 10%); background:#2b2420; cursor:pointer; outline:0; transition:flex .85s cubic-bezier(.22,.61,.36,1); }
.pulse-treatment.active { flex:4.2 1 0; }
.pulse-treatment .treatment-photo { position:absolute; inset:0; width:100%; height:100%; filter:grayscale(1) brightness(.37) contrast(1.1); transform:scale(1.08); }
.pulse-treatment.active .treatment-photo { filter:grayscale(0) saturate(1.04) brightness(1.05) contrast(1); transform:scale(1); }
.treatment-sample-4 .pulse-treatment:nth-child(4) .treatment-photo { object-position:70% 24%; }
.pulse-treatment::after { content:""; position:absolute; inset:0; background:linear-gradient(0deg,rgb(18 13 10 / 88%),transparent 70%); }
.pulse-treatment.active::after { background:linear-gradient(0deg,rgb(18 13 10 / 56%),transparent 45%); }
.pulse-treatment>div { position:absolute; z-index:2; right:25px; bottom:26px; left:25px; }
.pulse-treatment small { display:block; font-family:var(--font-en); font-size:12px; letter-spacing:.13em; }.pulse-treatment h3{margin:12px 0 0;font-size:0;font-weight:300;white-space:nowrap;transition:font-size .5s ease}.pulse-treatment b{position:absolute;left:50%;bottom:10px;font-family:var(--font-en);font-size:11px;font-weight:500;letter-spacing:.17em;white-space:nowrap;transform:translateX(-50%) rotate(-90deg);transform-origin:center}.pulse-treatment p{max-width:460px;margin:14px 0 0;color:#c3b1a1;font-size:14px;font-weight:300;line-height:1.8;opacity:0;transform:translateY(10px);transition:.5s .15s ease}
.pulse-treatment.active h3{font-size:clamp(34px,3.2vw,52px)}.pulse-treatment.active b{position:static;display:block;margin-top:9px;font-size:13px;transform:none;opacity:.55}.pulse-treatment.active p{opacity:1;transform:none}
.pulse-treatment.active>div { color:#fff; text-shadow:0 2px 18px rgb(13 9 7 / 78%); }
.pulse-treatment.active b { opacity:.82; }
.pulse-treatment.active p { color:#f3ebe4; text-shadow:0 2px 14px rgb(13 9 7 / 92%); }
.pulse-view-more { display:flex; align-items:center; gap:20px; width:max-content; margin-top:19px; padding:0 0 7px; border:0; border-bottom:1px solid rgb(255 255 255 / 55%); color:#fff; background:transparent; font-family:var(--font-en); font-size:11px; font-weight:500; letter-spacing:.16em; cursor:pointer; opacity:0; pointer-events:none; transform:translateY(9px); transition:opacity .4s .22s ease,transform .4s .22s ease,border-color .25s ease; }
.pulse-view-more i { font-size:14px; font-style:normal; transition:transform .25s ease; }
.pulse-treatment.active .pulse-view-more { opacity:1; pointer-events:auto; transform:none; }
.pulse-view-more:hover { border-color:#fff; }
.pulse-view-more:hover i { transform:translate(3px,-2px); }

/* 05 - type index */
.treatment-index-layout { display:grid; grid-template-columns:.85fr 1.15fr; min-height:clamp(660px,51vw,810px); border:1px solid #dfd5cb; background:#fff; }
.treatment-index-list { display:flex; flex-direction:column; justify-content:center; padding:3% 7%; }
.treatment-index-list button { display:grid; grid-template-columns:38px 1fr 130px 40px; align-items:center; min-height:90px; padding:0 15px; border:0; border-bottom:1px solid #e6ded7; color:#9c9087; background:transparent; text-align:left; cursor:pointer; transition:.4s ease; }
.treatment-index-list button>span { font-family:var(--font-en); font-size:9px; }.treatment-index-list h3{margin:0;font-size:clamp(24px,2.1vw,34px);font-weight:300}.treatment-index-list small{font-family:var(--font-en);font-size:8px;letter-spacing:.13em}.treatment-index-list i{font-family:var(--font-en);font-size:7px;font-style:normal;letter-spacing:.1em;opacity:0;transform:translateX(-8px);transition:.35s ease}
.treatment-index-list button:hover,.treatment-index-list button.active { padding-left:28px; color:#3d332d; background:#f4eee8; }.treatment-index-list button:hover i,.treatment-index-list button.active i{opacity:1;transform:none}
.treatment-index-preview { position:relative; overflow:hidden; background:#d8cabe; }
.treatment-index-preview .treatment-photo { position:absolute; inset:0; width:100%; height:100%; }
.treatment-photo[src*="treatment-filler-"] { object-position:67% 38%; }
.treatment-photo[src*="treatment-ulthera-"] { object-position:64% 38%; }
.treatment-photo[src*="treatment-thermage-"] { object-position:37% 38%; }
.treatment-photo[src*="treatment-sofwave-"] { object-position:71% 34%; }
.treatment-photo[src*="treatment-thread-"] { object-position:35% 40%; }
.treatment-index-preview::after { content:""; position:absolute; inset:0; background:linear-gradient(0deg,rgb(34 25 19 / 72%),transparent 62%); }
.treatment-index-preview>div { position:absolute; z-index:2; right:7%; bottom:7%; left:7%; color:#fff; }
.treatment-index-preview small { font-family:var(--font-en); font-size:8px; letter-spacing:.16em; opacity:.65; }.treatment-index-preview h3{margin:14px 0 12px;font-size:clamp(30px,3.2vw,52px);font-weight:300;line-height:1.45;letter-spacing:-.05em}.treatment-index-preview p{max-width:520px;margin:0;font-size:11px;font-weight:300;line-height:1.8;opacity:.7}
.treatment-index-preview.changing>div { animation:indexCopy .6s both; } @keyframes indexCopy{from{opacity:0;transform:translateY(14px);filter:blur(3px)}}

/* 01 - space editorial inspired treatment mosaic */
.treatment-editorial-grid { height:clamp(650px,50vw,800px); background:#eee9e3; }
.treatment-editorial-1 { grid-column:4/10; grid-row:4/13; }
.treatment-editorial-2 { grid-column:1/4; grid-row:1/7; }
.treatment-editorial-3 { grid-column:10/13; grid-row:1/7; }
.treatment-editorial-4 { grid-column:1/4; grid-row:7/13; }
.treatment-editorial-5 { grid-column:10/13; grid-row:7/13; }
.treatment-editorial-copy { top:10px; right:calc(25% + 10px); bottom:auto; left:calc(25% + 10px); padding:22px 24px; text-align:center; }
.treatment-editorial-copy p { font-size:clamp(17px,1.55vw,25px); }
.treatment-editorial-card figcaption { right:0; bottom:0; left:0; display:block; padding:42px 18px 17px; opacity:1; transform:none; }
.treatment-editorial-card figcaption::before { right:0; bottom:0; left:0; height:100%; background:linear-gradient(transparent,rgb(18 14 11 / 82%)); }
.treatment-editorial-card figcaption span { display:block; margin-bottom:7px; opacity:.72; }
.treatment-editorial-card figcaption b { display:block; font-family:var(--font-ko); font-size:clamp(17px,1.5vw,24px); font-weight:300; letter-spacing:-.04em; }
.treatment-editorial-card figcaption p { max-width:330px; margin:7px 0 0; font-size:10px; font-weight:300; line-height:1.65; opacity:.78; }

.treatment-showcase .reveal-block { opacity:0; transform:translateY(35px); }
.treatment-showcase.in-view .reveal-block { animation:sectionReveal .9s both; }.treatment-showcase.in-view .treatment-sample-bar{animation-delay:.14s}
.treatment-showcase .reveal-treatment { opacity:0; transform:translateY(35px); }
.treatment-showcase.in-view .treatment-sample-1.active .reveal-treatment { animation:sectionReveal .75s both; }
.treatment-showcase.in-view .reveal-treatment:nth-child(1){animation-delay:.25s}.treatment-showcase.in-view .reveal-treatment:nth-child(2){animation-delay:.34s}.treatment-showcase.in-view .reveal-treatment:nth-child(3){animation-delay:.43s}.treatment-showcase.in-view .reveal-treatment:nth-child(4){animation-delay:.52s}.treatment-showcase.in-view .reveal-treatment:nth-child(5){animation-delay:.61s}
@keyframes sectionReveal { to{opacity:1;transform:none} }
.treatment-visual-note { width:min(100%,1600px); margin:22px auto 0; color:#a49a92; font-size:10px; font-weight:300; letter-spacing:-.01em; text-align:right; }

/* V1 visual anchor: one restrained dark section between the pale content blocks. */
body[data-treatment-set="v1-refresh"] .treatment-showcase {
  color:#f1eae3;
  background:linear-gradient(150deg,#37322f 0%,#2e2a27 52%,#35302c 100%);
  box-shadow:inset 0 1px 0 rgb(255 255 255 / 5%),inset 0 -1px 0 rgb(255 255 255 / 5%);
}
body[data-treatment-set="v1-refresh"] .treatment-showcase::before {
  width:54%;
  height:430px;
  background:radial-gradient(circle at 86% 0%,rgb(190 168 147 / 15%),transparent 68%);
  clip-path:none;
}
body[data-treatment-set="v1-refresh"] .treatment-progress { background:#49413c; }
body[data-treatment-set="v1-refresh"] .treatment-progress span { background:#b59d89; }
body[data-treatment-set="v1-refresh"] .treatment-heading .section-label { color:#c4ad9a; }
body[data-treatment-set="v1-refresh"] .treatment-heading .section-label span { background:#a98d76; }
body[data-treatment-set="v1-refresh"] .treatment-heading h2 { color:#f4eee8; }
body[data-treatment-set="v1-refresh"] .treatment-heading>div>p { border-color:rgb(221 205 191 / 24%); color:#bfb2a8; }
body[data-treatment-set="v1-refresh"] .treatment-sample-bar { border-color:rgb(225 211 198 / 18%); }
body[data-treatment-set="v1-refresh"] .treatment-sample-bar>p { color:#aa9d93; }
body[data-treatment-set="v1-refresh"] .treatment-sample-bar>p b { color:#ded2c8; }
body[data-treatment-set="v1-refresh"] .treatment-sample-tabs button { min-width:116px; padding:12px 15px; border-color:rgb(225 211 198 / 16%); color:#a99c92; font-size:12px; }
body[data-treatment-set="v1-refresh"] .treatment-sample-tabs button span { color:#84766d; font-size:11px; }
body[data-treatment-set="v1-refresh"] .treatment-sample-tabs button:hover,
body[data-treatment-set="v1-refresh"] .treatment-sample-tabs button.active { color:#332d29; background:#e9dfd6; }
body[data-treatment-set="v1-refresh"] .treatment-sample-tabs button:hover span,
body[data-treatment-set="v1-refresh"] .treatment-sample-tabs button.active span { color:#7a685b; }
body[data-treatment-set="v1-refresh"] .treatment-sample-tabs button:nth-child(3) { order:-1; }
body[data-treatment-set="v1-refresh"] .space-sample-tabs button:nth-child(5) { order:-1; }
body[data-treatment-set="v1-refresh"] .visit-sample-tabs button:nth-child(2) { order:-1; }
body[data-treatment-set="v1-refresh"] .treatment-samples { box-shadow:0 30px 70px rgb(8 6 5 / 16%); }
body[data-treatment-set="v1-refresh"] .treatment-visual-note { color:#887d75; }

/* Fifth section: visit design study */
.visit-showcase { --section-progress:0; position:relative; padding:clamp(110px,9vw,165px) 4.5% clamp(120px,10vw,180px); overflow:hidden; color:#342c26; background:#fff; }
.visit-progress { position:absolute; z-index:5; top:0; left:0; width:100%; height:2px; background:#ece6e0; }.visit-progress span{display:block;width:100%;height:100%;background:#8b7360;transform:scaleX(var(--section-progress));transform-origin:left}
.visit-heading { width:min(100%,1600px); margin:0 auto 72px; }
.visit-heading .section-label { margin-bottom:28px; }
.visit-heading>div { display:flex; justify-content:space-between; align-items:flex-end; gap:8%; }
.visit-heading h2 { margin:0; font-size:clamp(44px,4.2vw,74px); font-weight:300; line-height:1.35; letter-spacing:-.065em; }
.visit-heading>div>p { margin:0 0 9px; padding-left:24px; border-left:1px solid #bca998; color:#81746a; font-size:13px; font-weight:300; line-height:1.9; }
.visit-samples { width:min(100%,1600px); margin:0 auto; }
.visit-sample { display:none; min-height:clamp(620px,48vw,780px); }
.visit-sample.active { display:block; animation:treatmentSampleIn .85s cubic-bezier(.22,.61,.36,1) both; }
.visit-showcase .reserve-open { position:static; right:auto; bottom:auto; z-index:auto; border-radius:0; box-shadow:none; }

.map-art { position:relative; display:block; min-width:0; overflow:hidden; color:#fff; background:#e9e4de; }
.map-art>img { position:absolute; top:-46%; left:-17.5%; display:block; width:210%; max-width:none; height:auto; filter:saturate(.66) contrast(.95); transition:transform 1.2s cubic-bezier(.22,.61,.36,1),filter .7s ease; }
.map-art:hover>img { transform:scale(1.025); filter:saturate(.9) contrast(1); }
.visit-minimal>.map-art>img { top:-52%; left:-25%; width:303%; }
.route-map>img { top:-49%; left:-23%; width:252%; }
.map-art-circle>img { top:-48%; left:-28%; width:360%; }
.map-pin { position:absolute; z-index:2; left:49%; top:47%; display:grid; place-items:center; width:28px; height:28px; border:1px solid #fff; border-radius:50%; background:#765943; box-shadow:0 7px 18px rgb(39 25 15 / 24%); }
.map-pin::before,.map-pin::after { content:""; position:absolute; width:100%; height:100%; border:1px solid rgb(100 73 53 / 58%); border-radius:50%; animation:mapPulse 2.2s ease-out infinite; }.map-pin::after{animation-delay:1.1s}.map-pin i{width:5px;height:5px;border-radius:50%;background:#fff}
@keyframes mapPulse { to{opacity:0;transform:scale(3.4)} }

/* 01 - quiet minimal split */
.visit-minimal { display:grid; grid-template-columns:1.35fr .65fr; min-height:clamp(650px,49vw,790px); border:1px solid #e5ddd6; }
.visit-minimal>.map-art b { position:absolute; z-index:2; right:25px; bottom:20px; padding:10px 13px; color:#5d4d41; background:rgb(255 255 255 / 80%); font-family:var(--font-en); font-size:8px; font-weight:400; letter-spacing:.12em; backdrop-filter:blur(6px); }
.visit-minimal-info { display:flex; flex-direction:column; padding:9% 10%; background:#f6f1eb; }
.visit-coordinate { margin:0 0 auto; color:#b0a195; font-family:var(--font-en); font-size:10px; line-height:1.7; letter-spacing:.12em; }
.visit-minimal-info dl { margin:50px 0 0; }
.visit-minimal-info dl>div { padding:21px 0; border-top:1px solid #ddd2c9; }
.visit-minimal-info dt { margin-bottom:8px; color:#a48e7d; font-family:var(--font-en); font-size:8px; letter-spacing:.14em; }
.visit-minimal-info dd { margin:0; color:#443831; font-size:clamp(14px,1.15vw,18px); font-weight:300; line-height:1.55; }
.visit-minimal-info dd small { display:block; margin-top:6px; color:#9a8b80; font-size:9px; }.visit-minimal-info dd a{color:inherit;text-decoration:none}
.visit-reserve { display:flex; justify-content:space-between; width:100%; margin-top:20px; padding:17px 19px; border:0!important; color:#fff!important; background:#49382d!important; font-size:11px; }

/* 02 - map first */
.visit-map-focus { position:relative; height:clamp(650px,50vw,790px); overflow:hidden; background:#ddd5cd; }
.map-art-full { position:absolute; inset:0; }
.map-art-full>img { top:-48%; left:-17.5%; }
.map-pin-large { width:36px; height:36px; }
.map-focus-card { position:absolute; z-index:3; left:5%; top:10%; width:min(420px,37%); padding:38px; color:#fff; background:rgb(57 43 33 / 86%); box-shadow:0 26px 60px rgb(43 30 21 / 22%); backdrop-filter:blur(10px); }
.map-focus-card small { font-family:var(--font-en); font-size:8px; letter-spacing:.17em; opacity:.65; }.map-focus-card h3{margin:16px 0 12px;font-size:clamp(27px,2.6vw,42px);font-weight:300}.map-focus-card p{margin:0 0 40px;color:#d6c7bb;font-size:12px;font-weight:300;line-height:1.7}.map-focus-card>div{display:flex;gap:8px}.map-focus-card a,.map-focus-card button{flex:1;padding:14px;border:1px solid rgb(255 255 255 / 28%);color:#fff;background:transparent;font-size:10px;text-align:center;text-decoration:none}.map-focus-card button{cursor:pointer}.map-focus-card a:hover,.map-focus-card button:hover{background:#fff;color:#4a382c}
.map-focus-meta { position:absolute; z-index:3; right:4%; bottom:4%; display:flex; min-width:53%; background:rgb(255 255 255 / 86%); backdrop-filter:blur(8px); }
.map-focus-meta span { flex:1; display:flex; flex-direction:column; gap:6px; padding:22px 24px; border-left:1px solid rgb(82 60 43 / 13%); color:#917e70; font-family:var(--font-en); font-size:7px; letter-spacing:.1em; }.map-focus-meta b{color:#3d322c;font-size:13px;font-weight:400;letter-spacing:.04em}
body[data-treatment-set="v1-refresh"] .visit-heading h2 { font-size:clamp(47px,4.4vw,78px); }
body[data-treatment-set="v1-refresh"] .visit-heading>div>p { font-size:14px; }
body[data-treatment-set="v1-refresh"] .visit-sample-bar>p { font-size:12px; }
body[data-treatment-set="v1-refresh"] .visit-sample-bar>p b { font-size:11px; }
body[data-treatment-set="v1-refresh"] .visit-sample-tabs button { min-width:108px; font-size:11px; }
body[data-treatment-set="v1-refresh"] .visit-sample-tabs button span { font-size:10px; }
body[data-treatment-set="v1-refresh"] .map-focus-card small { font-size:11px; }
body[data-treatment-set="v1-refresh"] .map-focus-card p { font-size:15px; line-height:1.75; }
body[data-treatment-set="v1-refresh"] .map-focus-card a,
body[data-treatment-set="v1-refresh"] .map-focus-card button { font-size:13px; }
body[data-treatment-set="v1-refresh"] .map-focus-meta span { gap:8px; font-size:11px; letter-spacing:.08em; }
body[data-treatment-set="v1-refresh"] .map-focus-meta b { font-size:16px; }

/* 03 - route narrative */
.visit-route { position:relative; display:grid; grid-template-columns:.78fr 1.22fr; grid-template-rows:1fr auto; min-height:clamp(700px,54vw,850px); padding:7%; overflow:hidden; background:#f0e7dd; }
.route-copy { position:relative; z-index:3; padding:5% 12% 0 0; }.route-copy small{color:#a08772;font-family:var(--font-en);font-size:8px;letter-spacing:.17em}.route-copy h3{margin:20px 0;font-size:clamp(34px,3.6vw,59px);font-weight:300;line-height:1.42;letter-spacing:-.055em}.route-copy p{margin:0 0 35px;color:#7f7065;font-size:12px}.route-copy a{display:inline-block;padding-bottom:6px;border-bottom:1px solid #6f5846;color:#584538;font-family:var(--font-en);font-size:9px;letter-spacing:.08em;text-decoration:none}
.route-map { position:relative; z-index:2; min-height:420px; box-shadow:27px 30px 0 rgb(98 73 54 / 8%); }.route-map>img{top:-50%;left:-17%}
.route-line { position:absolute; z-index:4; left:9%; right:9%; top:49%; height:1px; background:#b59f8d; transform:scaleX(0); transform-origin:left; transition:transform 1.5s .2s cubic-bezier(.22,.61,.36,1); }.visit-sample-3.active .route-line{transform:scaleX(1)}
.route-stop { position:absolute; top:0; transform:translate(-50%,-50%); }.route-stop i{display:block;width:12px;height:12px;margin-bottom:14px;border:3px solid #f0e7dd;border-radius:50%;background:#79604c;box-shadow:0 0 0 1px #79604c}.route-stop b,.route-stop small{display:block;white-space:nowrap}.route-stop b{font-size:10px;font-weight:400}.route-stop small{margin-top:3px;color:#9b897b;font-family:var(--font-en);font-size:6px;letter-spacing:.12em}.stop-1{left:6%}.stop-2{left:38%}.stop-3{left:69%}.stop-3 i{background:#fff;box-shadow:0 0 0 5px #755945,0 0 20px #755945}
.route-cards { grid-column:1/3; display:grid; grid-template-columns:repeat(3,1fr); gap:9px; margin-top:42px; }.route-cards article{position:relative;padding:23px 25px;border:1px solid #daccc0;background:rgb(255 255 255 / 42%)}.route-cards article>span{position:absolute;right:15px;top:13px;color:#b19c89;font-family:var(--font-en);font-size:8px}.route-cards small{color:#a18976;font-family:var(--font-en);font-size:7px;letter-spacing:.15em}.route-cards h4{margin:10px 0 7px;font-size:17px;font-weight:300}.route-cards p{margin:0;color:#8f7f73;font-size:9px}

/* 04 - editorial address */
.visit-editorial { position:relative; height:clamp(660px,51vw,810px); overflow:hidden; background:linear-gradient(90deg,#fff 0 58%,#eee4da 58% 100%); }
.visit-editorial::before { content:"SEOUL"; position:absolute; left:2%; bottom:-7%; color:rgb(105 79 59 / 4%); font-family:var(--font-en); font-size:clamp(160px,20vw,340px); line-height:1; }
.visit-editorial-type { position:absolute; z-index:3; left:7%; top:13%; }.visit-editorial-type small{color:#9c8674;font-family:var(--font-en);font-size:8px;letter-spacing:.19em}.visit-editorial-type h3{margin:22px 0 15px;font-size:clamp(55px,7vw,115px);font-weight:300;line-height:.95;letter-spacing:-.075em}.visit-editorial-type h3 em{color:#a98265;font-family:var(--font-en);font-style:normal}.visit-editorial-type p{margin:0;color:#847469;font-size:13px;font-weight:300;line-height:1.85}
.map-art-circle { position:absolute; z-index:2; right:7%; top:10%; width:42%; aspect-ratio:1; border:22px solid rgb(255 255 255 / 38%); border-radius:50%; box-shadow:0 25px 65px rgb(80 55 37 / 16%); }.map-art-circle>img{top:-46%;left:-17%}
.visit-editorial-info { position:absolute; z-index:4; right:6%; bottom:8%; display:flex; align-items:stretch; min-width:50%; color:#fff; background:#4b392d; }.visit-editorial-info>span{display:flex;flex-direction:column;gap:8px;min-width:120px;padding:20px 24px;border-right:1px solid rgb(255 255 255 / 14%)}.visit-editorial-info small{font-family:var(--font-en);font-size:7px;letter-spacing:.13em;opacity:.55}.visit-editorial-info b{font-family:var(--font-en);font-size:16px;font-weight:400}.visit-editorial-info button{margin-left:auto;padding:0 27px;border:0!important;color:#44342a!important;background:#e8d8c9!important;font-family:var(--font-en);font-size:8px!important;letter-spacing:.13em;cursor:pointer}
.visit-editorial-address { position:absolute; left:7%; bottom:7%; margin:0;color:#927e6f;font-family:var(--font-en);font-size:8px;letter-spacing:.09em }

/* 05 - night glass */
.visit-night { position:relative; height:clamp(670px,52vw,830px); overflow:hidden; color:#f4e9df; background:#171412; }
.night-map { position:absolute; inset:0; opacity:.55; }.night-map>img{top:-48%;left:-17.5%;filter:grayscale(1) invert(.86) sepia(.28) brightness(.44) contrast(1.2)}.night-map::after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 52% 47%,transparent 0 11%,rgb(15 11 9 / 46%) 48%,rgb(12 9 7 / 86%) 100%)}
.night-copy { position:absolute; z-index:3; left:6%; top:12%; }.night-copy small{font-family:var(--font-en);font-size:8px;letter-spacing:.2em;opacity:.6}.night-copy h3{margin:22px 0 20px;font-size:clamp(38px,4.3vw,68px);font-weight:300;line-height:1.4;letter-spacing:-.055em}.night-copy p{margin:0;color:#bba898;font-size:12px;font-weight:300}.night-copy>div{display:flex;gap:8px;margin-top:37px}.night-copy a,.night-copy button{padding:14px 19px;border:1px solid rgb(255 255 255 / 25%);color:#eee2d7;background:rgb(255 255 255 / 4%);font-family:var(--font-en);font-size:8px;letter-spacing:.12em;text-decoration:none;cursor:pointer;backdrop-filter:blur(6px)}.night-copy a:hover,.night-copy button:hover{color:#261d17!important;background:#eee2d7!important}
.night-info { position:absolute; z-index:3; right:5%; bottom:5%; display:flex; background:rgb(41 32 26 / 66%); backdrop-filter:blur(9px); }.night-info span{display:flex;flex-direction:column;gap:7px;min-width:150px;padding:20px 23px;border-left:1px solid rgb(255 255 255 / 10%)}.night-info small{font-family:var(--font-en);font-size:7px;letter-spacing:.15em;opacity:.48}.night-info b{font-family:var(--font-en);font-size:12px;font-weight:400}.night-coordinate{position:absolute;z-index:3;right:5%;top:7%;margin:0;color:#9c8979;font-family:var(--font-en);font-size:8px;line-height:1.7;letter-spacing:.11em;text-align:right}

.visit-showcase .reveal-block { opacity:0; transform:translateY(35px); }.visit-showcase.in-view .reveal-block{animation:sectionReveal .9s both}.visit-showcase.in-view .visit-sample-bar{animation-delay:.14s}

@media (max-width:1050px) {
  .treatment-sample-bar,.visit-sample-bar { align-items:flex-start; }
  .treatment-sample-tabs,.visit-sample-tabs { flex-wrap:wrap; justify-content:flex-end; }
  .treatment-sample-tabs button,.visit-sample-tabs button { min-width:82px; }
  .focus-treatment>div { max-width:78%; padding:22px; }
  .orbit-detail { display:none; }
  .orbit-treatment-1{left:5%}.orbit-treatment-2{left:8%}.orbit-treatment-4{right:8%}.orbit-treatment-5{right:5%}
  .visit-minimal { grid-template-columns:1.15fr .85fr; }
  .visit-editorial-info>span { min-width:95px; padding:18px; }
}

@media (max-width:700px) {
  .treatment-showcase,.visit-showcase { padding:92px 20px 105px; }
  .treatment-heading,.visit-heading { margin-bottom:50px; }
  .treatment-heading>div,.visit-heading>div { display:block; }
  .treatment-heading h2,.visit-heading h2 { font-size:42px; }
  .treatment-heading>div>p,.visit-heading>div>p { margin-top:25px; font-size:11px; }
  .treatment-sample-bar,.visit-sample-bar { display:block; margin-bottom:22px; }
  .treatment-sample-bar>p,.visit-sample-bar>p { margin-bottom:14px; }
  .treatment-sample-tabs,.visit-sample-tabs { display:grid; grid-template-columns:repeat(5,1fr); gap:0; }
  .visit-sample-tabs { grid-template-columns:repeat(2,1fr); }
  .treatment-sample-tabs button,.visit-sample-tabs button { display:block; min-width:0; padding:10px 3px 8px; border-left:0; border-bottom:1px solid #ded6cf; font-size:0; text-align:center; }
  .treatment-sample-tabs button span,.visit-sample-tabs button span { font-size:10px; }
  .treatment-sample-tabs button::after,.visit-sample-tabs button::after { right:4px; bottom:-1px; left:4px; }
  .treatment-sample { min-height:720px; }
  .treatment-editorial-grid { height:auto; }
  .treatment-editorial-card:nth-child(n) { grid-column:auto; grid-row:auto; min-height:190px; }
  .treatment-editorial-1 { grid-column:1/3!important; grid-row:1/3!important; min-height:250px!important; }
  .treatment-editorial-copy { top:auto; right:auto; bottom:18px; left:18px; text-align:left; }
  .treatment-focus-grid { grid-template-columns:1fr 1fr; grid-template-rows:380px repeat(2,250px); min-height:auto; gap:7px; }
  .focus-treatment:nth-child(n) { grid-area:auto; }
  .focus-treatment-1 { grid-column:1/3!important; }
  .focus-treatment>div { max-width:80%; padding:19px; }.focus-treatment-1>div{padding:24px}
  .focus-treatment h3 { font-size:21px; white-space:nowrap; }.focus-treatment p{display:none}.focus-treatment button{display:none}.focus-treatment .treatment-photo{width:64%;height:63%}.focus-treatment-1 .treatment-photo{width:100%;height:67%}
  .treatment-orbit { height:780px; }
  .orbit-rings i:nth-child(1){width:62%}.orbit-rings i:nth-child(2){width:104%}.orbit-rings i:nth-child(3){width:145%}
  .orbit-center { top:40%; width:54%; }
  .orbit-treatment { min-width:104px; padding:11px; }.orbit-treatment b{font-size:13px}
  .orbit-treatment-1{left:5%;top:12%}.orbit-treatment-2{left:3%;bottom:21%}.orbit-treatment-3{bottom:5%}.orbit-treatment-4{right:3%;bottom:21%}.orbit-treatment-5{right:5%;top:12%}
  .treatment-story { display:block; min-height:auto; }.treatment-story-stage{height:480px}.treatment-story-list li{min-height:125px;padding:18px 20px}.treatment-story-list li:hover,.treatment-story-list li.active{padding-left:28px}.treatment-story-list h3{font-size:21px}
  .treatment-pulse { flex-direction:column; height:900px; padding:12px; }.pulse-treatment{flex:.65 1 0}.pulse-treatment.active{flex:5 1 0}.pulse-treatment b{left:auto;right:5px;bottom:50%;transform:translateY(50%) rotate(-90deg)}.pulse-treatment.active b{display:block}.pulse-treatment.active h3{font-size:34px}
  .treatment-index-layout { display:block; min-height:auto; }.treatment-index-list{padding:15px}.treatment-index-list button{grid-template-columns:30px 1fr 75px;min-height:75px;padding:0 8px}.treatment-index-list button i{display:none}.treatment-index-list h3{font-size:23px}.treatment-index-preview{height:520px}.treatment-index-preview h3{font-size:34px}
  .visit-sample { min-height:680px; }
  .visit-minimal { display:block; min-height:auto; }.visit-minimal>.map-art{height:430px}.visit-minimal-info{padding:34px 26px}.visit-coordinate{margin-bottom:30px}.visit-minimal-info dl{margin:0}.visit-minimal-info dl>div{padding:17px 0}
  .map-art>img { top:-45%; left:-45%; width:290%; }
  .visit-minimal>.map-art>img { top:-45%; left:-45%; width:290%; }
  .visit-map-focus { height:760px; }.map-art-full>img{top:-18%;left:-91%;width:385%}.map-focus-card{top:6%;right:22px;left:22px;width:auto;padding:27px}.map-focus-card p{margin-bottom:25px}.map-focus-meta{right:22px;bottom:22px;left:22px;display:grid;grid-template-columns:1fr 1fr}.map-focus-meta span{padding:14px}.map-focus-meta span:last-child{grid-column:1/3}
  .visit-route { display:block; min-height:auto; padding:45px 22px; }.route-copy{padding:0}.route-map{height:390px;margin-top:45px}.route-line{display:none}.route-cards{grid-template-columns:1fr;margin-top:28px}.route-cards article{padding:20px}.route-map>img{top:-30%;left:-58%;width:320%}
  .visit-editorial { height:840px; background:linear-gradient(180deg,#fff 0 58%,#eee4da 58% 100%); }.visit-editorial-type{left:24px;top:8%}.visit-editorial-type h3{font-size:70px}.map-art-circle{right:-12%;top:37%;width:86%;border-width:13px}.map-art-circle>img{top:-15%;left:-73%;width:350%}.visit-editorial-info{right:20px;bottom:7%;left:20px;display:grid;grid-template-columns:repeat(3,1fr);min-width:0}.visit-editorial-info>span{min-width:0;padding:14px}.visit-editorial-info button{grid-column:1/4;margin:0;padding:16px}.visit-editorial-address{display:none}
  .visit-night { height:800px; }.night-map>img{top:-15%;left:-95%;width:390%}.night-copy{top:9%;right:24px;left:24px}.night-copy h3{font-size:39px}.night-copy>div{margin-top:25px}.night-info{right:20px;bottom:20px;left:20px;display:grid;grid-template-columns:1fr 1fr}.night-info span{min-width:0;padding:14px}.night-info span:last-child{grid-column:1/3}.night-coordinate{display:none}
  .visit-showcase .reserve-open { position:static!important; right:auto!important; bottom:auto!important; }
}

@media (prefers-reduced-motion:reduce) {
  .treatment-progress span,.visit-progress span,.treatment-sample,.visit-sample,.focus-treatment,.focus-treatment .treatment-photo,.orbit-rings i,.orbit-treatment,.treatment-story-list li,.pulse-treatment,.pulse-treatment .treatment-photo,.treatment-index-preview .treatment-photo,.map-art>img,.map-pin::before,.map-pin::after,.route-line { animation:none!important; transition:none!important; }
  .treatment-showcase .reveal-block,.visit-showcase .reveal-block,.treatment-showcase .reveal-treatment { opacity:1!important; transform:none!important; }
}

/* Compact vertical rhythm for every section after the full-screen hero */
@media (min-width:701px) {
  .motion-comparison { min-height:auto; padding:42px 0; }
  .motion-comparison .care-concepts,
  .motion-comparison .care-concept { min-height:clamp(680px,72vh,760px); }
  .motion-comparison .care-concept { padding:clamp(54px,4.6vw,76px) clamp(46px,5.2vw,84px) 68px; }
  .motion-comparison .doctor-story { height:min(57vh,560px); }
  .motion-comparison .story-heading small { margin-bottom:16px; }
  .motion-comparison .story-copy { margin-top:30px; padding-top:22px; }
  .motion-comparison .story-copy p { margin-bottom:26px; line-height:1.78; }

  .treatment-showcase,
  .visit-showcase { padding:clamp(72px,5.6vw,96px) 4.5% clamp(80px,6.2vw,108px); }
  .treatment-heading,
  .visit-heading { margin-bottom:48px; }
  .treatment-heading .section-label,
  .visit-heading .section-label { margin-bottom:20px; }
  .treatment-sample-bar,
  .visit-sample-bar { margin-bottom:24px; padding:12px 0; }
  .treatment-sample { min-height:clamp(540px,42vw,660px); }
  .treatment-focus-grid { grid-template-rows:repeat(2,minmax(250px,1fr)); min-height:clamp(560px,42vw,680px); gap:10px; }
  .treatment-orbit { height:clamp(550px,42vw,660px); }
  .treatment-story { min-height:clamp(570px,43vw,680px); }
  .treatment-pulse { height:clamp(550px,42vw,660px); }
  .treatment-index-layout { min-height:clamp(570px,43vw,680px); }
  .treatment-index-list button { min-height:78px; }
  .treatment-visual-note { margin-top:16px; }

  .space-gallery { padding:clamp(72px,5.8vw,98px) 4.5% clamp(80px,6.2vw,108px); }
  .space-heading { margin-bottom:46px; }
  .space-sample-bar { margin-bottom:24px; padding:12px 0; }
  .space-sample { min-height:clamp(450px,37vw,580px); }
  .space-accordion { height:clamp(400px,34vw,540px); }
  .cinema-stage,
  .editorial-grid,
  .depth-gallery,
  .immersive-gallery { height:clamp(480px,39vw,620px); }

  .visit-sample { min-height:clamp(510px,40vw,640px); }
  .visit-minimal { min-height:clamp(530px,41vw,650px); }
  .visit-map-focus { height:clamp(530px,41vw,650px); }
  .visit-route { min-height:clamp(590px,45vw,710px); padding:5.5%; }
  .visit-editorial { height:clamp(550px,42vw,680px); }
  .visit-night { height:clamp(560px,43vw,690px); }
  .visit-minimal-info { padding:7% 8%; }
  .visit-minimal-info dl { margin-top:28px; }
  .visit-minimal-info dl>div { padding:15px 0; }

  .site-footer { min-height:250px; padding:48px 8% 52px; }
}

@media (max-width:700px) {
  .motion-comparison { min-height:auto; padding:12px 0; }
  .motion-comparison .care-concepts,
  .motion-comparison .care-concept,
  .motion-comparison .concept-story { min-height:860px; }
  .motion-comparison .care-concept,
  .motion-comparison .concept-story { padding:64px 22px 72px; }
  .motion-comparison .concept-story .section-label { margin-bottom:26px; }
  .motion-comparison .story-heading h2 { font-size:32px; }
  .motion-comparison .story-copy { margin-top:24px; padding-top:19px; }
  .motion-comparison .story-copy p { margin-bottom:17px; line-height:1.72; }
  .motion-comparison .doctor-story { width:68%; height:330px; margin-top:25px; }

  .treatment-showcase,
  .visit-showcase { padding:64px 18px 72px; }
  .treatment-heading,
  .visit-heading { margin-bottom:36px; }
  .treatment-heading .section-label,
  .visit-heading .section-label { margin-bottom:18px; }
  .treatment-heading h2,
  .visit-heading h2 { font-size:38px; }
  .treatment-heading>div>p,
  .visit-heading>div>p { margin-top:18px; line-height:1.7; }
  .treatment-sample-bar,
  .visit-sample-bar { margin-bottom:18px; padding:12px 0; }
  .treatment-sample { min-height:auto; }
  .treatment-focus-grid { grid-template-rows:310px repeat(2,210px); }
  .treatment-orbit { height:650px; }
  .treatment-story-stage { height:390px; }
  .treatment-story-list li { min-height:105px; }
  .treatment-pulse { height:730px; }
  .treatment-index-list button { min-height:66px; }
  .treatment-index-preview { height:410px; }
  .treatment-visual-note { margin-top:15px; font-size:9px; line-height:1.55; }

  .space-gallery { padding:64px 18px 72px; }
  .space-heading { margin-bottom:34px; }
  .space-heading>p { margin-top:18px; line-height:1.7; }
  .space-sample-bar { margin-bottom:18px; padding:12px 0; }
  .space-sample { min-height:auto; }
  .space-accordion { height:620px; }
  .cinema-stage,
  .editorial-grid,
  .depth-gallery,
  .immersive-gallery { height:650px; }

  .visit-sample { min-height:auto; }
  .visit-minimal>.map-art { height:340px; }
  .visit-minimal-info { padding:26px 22px; }
  .visit-coordinate { margin-bottom:18px; }
  .visit-minimal-info dl>div { padding:13px 0; }
  .visit-map-focus { height:640px; }
  .visit-route { padding:34px 20px; }
  .route-map { height:320px; margin-top:30px; }
  .route-cards { margin-top:22px; }
  .visit-editorial { height:690px; }
  .visit-night { height:680px; }

  .site-footer { min-height:auto; gap:25px 20px; padding:36px 22px 54px; }
}

/* Live map — warm ivory treatment of a real interactive OpenStreetMap */
.map-live-shell { position:relative; isolation:isolate; background:#e8e0d7; }
.map-art-full.map-live-shell { position:absolute; inset:0; }
.clinic-map { position:absolute; z-index:1; inset:0; width:100%; height:100%; background:linear-gradient(135deg,#eee8e1,#ddd2c7); font-family:Arial,sans-serif; }
.clinic-map .leaflet-tile-pane { filter:sepia(.22) saturate(.5) hue-rotate(-8deg) brightness(1.055) contrast(.91); }
body[data-treatment-set="v1-refresh"] .clinic-map .leaflet-tile-pane { filter:grayscale(.18) sepia(.3) saturate(.38) hue-rotate(-8deg) brightness(1.065) contrast(.86); opacity:.94; }
.clinic-map::after {
  content:"";
  position:absolute;
  z-index:450;
  inset:0;
  border:1px solid rgb(104 78 60 / 10%);
  box-shadow:inset 0 0 80px rgb(81 58 42 / 8%);
  pointer-events:none;
}
.visit-minimal .map-live-shell::before {
  content:"CHEONGDAM · SEOUL";
  position:absolute;
  z-index:800;
  top:24px;
  left:25px;
  padding:10px 13px;
  color:#5d4b40;
  background:rgb(255 252 247 / 82%);
  font-family:var(--font-en);
  font-size:9px;
  letter-spacing:.15em;
  backdrop-filter:blur(7px);
  pointer-events:none;
}
.map-external-link {
  position:absolute;
  z-index:850;
  right:25px;
  bottom:20px;
  padding:11px 14px;
  color:#514238;
  border:1px solid rgb(91 68 51 / 13%);
  background:rgb(255 252 247 / 88%);
  font-family:var(--font-en);
  font-size:9px;
  letter-spacing:.12em;
  text-decoration:none;
  box-shadow:0 10px 28px rgb(58 42 31 / 10%);
  backdrop-filter:blur(8px);
  transition:color .25s ease,background .25s ease,transform .25s ease;
}
.map-external-link:hover,.map-external-link:focus-visible { color:#fff; background:#594539; transform:translateY(-2px); }
.clinic-map .leaflet-control-zoom { margin:0 18px 18px 0; border:0; box-shadow:0 10px 24px rgb(60 43 32 / 12%); }
.clinic-map .leaflet-control-zoom a {
  width:34px;
  height:34px;
  border:0;
  border-bottom:1px solid #e5dbd2;
  color:#5d4a3e;
  background:rgb(255 252 247 / 91%);
  font-family:Arial,sans-serif;
  font-size:17px;
  line-height:34px;
}
.clinic-map .leaflet-control-zoom a:hover { color:#fff; background:#594539; }
.clinic-map .leaflet-control-attribution {
  padding:3px 7px;
  color:#8a7a6f;
  background:rgb(255 252 247 / 74%);
  font-size:8px;
  backdrop-filter:blur(5px);
}
.clinic-map .leaflet-control-attribution a { color:#69564a; }
.frame-map-marker { border:0!important; background:transparent!important; }
.frame-map-marker>span {
  position:relative;
  display:grid;
  place-items:center;
  width:46px;
  height:46px;
  border:1px solid rgb(255 255 255 / 76%);
  border-radius:50%;
  background:#6d5140;
  box-shadow:0 9px 24px rgb(52 36 25 / 28%);
}
.frame-map-marker>span::before,.frame-map-marker>span::after {
  content:"";
  position:absolute;
  inset:-1px;
  border:1px solid rgb(108 80 63 / 56%);
  border-radius:50%;
  animation:mapPulse 2.4s ease-out infinite;
}
.frame-map-marker>span::after { animation-delay:1.2s; }
.frame-map-marker i { width:7px; height:7px; border-radius:50%; background:#fffaf4; }
.clinic-map .leaflet-popup-content-wrapper {
  border-radius:0;
  color:#493b32;
  background:rgb(255 252 247 / 96%);
  box-shadow:0 16px 40px rgb(57 41 30 / 18%);
}
.clinic-map .leaflet-popup-content { display:flex; flex-direction:column; gap:5px; margin:15px 18px; line-height:1.55; }
.clinic-map .leaflet-popup-content strong { font-family:var(--font-ko); font-size:14px; font-weight:400; }
.clinic-map .leaflet-popup-content span { color:#85766c; font-size:10px; }
.clinic-map .leaflet-popup-tip { background:rgb(255 252 247 / 96%); }
.clinic-map.map-unavailable { position:absolute; display:grid; place-items:center; padding:30px; color:#6d5c50; text-align:center; }
.clinic-map.map-unavailable p { margin:0; line-height:1.8; }
.clinic-map.map-unavailable a { color:#4f3d31; }

body[data-treatment-set="v1-refresh"] .site-footer .footer-brand .brand-mark { width:29px; height:29px; font-size:17px; }
body[data-treatment-set="v1-refresh"] .site-footer .footer-brand .brand-name { font-size:20px; }
body[data-treatment-set="v1-refresh"] .site-footer .footer-brand .brand-name small { font-size:6px; }
body[data-treatment-set="v1-refresh"] .site-footer .footer-column { font-size:13px; }
body[data-treatment-set="v1-refresh"] .site-footer .footer-column strong { font-size:13px; }
body[data-treatment-set="v1-refresh"] .site-footer .copyright { font-size:10px; }

/* Opening event popup */
.opening-event-open { overflow:hidden; }
.opening-event-popup[hidden] { display:none; }
.opening-event-popup { position:fixed; z-index:1000; inset:0; display:grid; place-items:center; padding:22px; font-family:"Frame Nanum Myeongjo","Malgun Gothic",serif; font-synthesis:none; line-height:1.45; text-rendering:optimizeLegibility; }
.opening-event-backdrop { position:absolute; inset:0; background:rgb(26 18 13 / 68%); backdrop-filter:blur(7px); animation:eventBackdropIn .35s ease both; }
.opening-event-card { position:relative; display:flex; flex-direction:column; width:min(880px,95vw); height:min(930px,93vh); overflow:hidden; border:1px solid rgb(255 250 242 / 76%); background:#f7f0e7; box-shadow:0 30px 110px rgb(17 10 6 / 46%); animation:eventCardIn .48s cubic-bezier(.22,.61,.36,1) both; }
.opening-event-hero { position:relative; flex:none; min-height:235px; overflow:hidden; padding:28px 42px 30px; color:#443126; background:linear-gradient(90deg,rgb(248 239 227 / 98%) 0%,rgb(248 239 227 / 93%) 45%,rgb(248 239 227 / 27%) 75%,rgb(248 239 227 / 8%) 100%),url('../assets/opening-visual-04-object.png') center 66%/cover; isolation:isolate; }
.opening-event-hero::before { content:""; position:absolute; z-index:-1; inset:13px; border:1px solid rgb(87 60 43 / 20%); pointer-events:none; }
.opening-event-brand { display:flex; align-items:center; gap:9px; width:max-content; }
.opening-event-brand>span { display:grid; place-items:center; width:30px; height:30px; border:1px solid currentColor; border-radius:50%; font-family:Georgia,serif; font-size:16px; font-style:italic; }
.opening-event-brand>b { display:flex; flex-direction:column; font-family:Georgia,serif; font-size:17px; font-weight:400; line-height:.85; letter-spacing:.06em; }
.opening-event-brand small { margin-top:5px; font-size:5px; letter-spacing:.17em; }
.opening-event-eyebrow { margin:25px 0 7px; color:#a77147; font-family:Georgia,serif; font-size:11px; font-style:italic; letter-spacing:.16em; }
.opening-event-hero h2 { margin:0; font-family:Georgia,"Frame Nanum Myeongjo",serif; font-size:45px; font-weight:400; line-height:1.04; letter-spacing:.03em; }
.opening-event-hero h2 em { display:block; margin-top:7px; color:#5a4031; font-family:Georgia,serif; font-size:23px; font-style:normal; letter-spacing:.08em; }
.opening-event-lead { position:absolute; left:340px; bottom:29px; margin:0; color:#6f5b4e; font-size:13px; line-height:1.8; text-align:left; }
.opening-event-seal { position:absolute; top:29px; right:38px; display:grid; place-items:center; width:78px; height:78px; border:1px solid rgb(151 104 68 / 50%); border-radius:50%; color:#805a40; transform:rotate(8deg); }
.opening-event-seal::before { content:""; position:absolute; inset:6px; border:1px dashed rgb(151 104 68 / 35%); border-radius:50%; }
.opening-event-seal b { margin-top:12px; font-family:Georgia,serif; font-size:13px; font-weight:400; letter-spacing:.12em; }
.opening-event-seal small { align-self:start; margin-top:-6px; font-family:Georgia,serif; font-size:8px; letter-spacing:.12em; }
.opening-event-close { position:absolute; z-index:2; top:28px; right:135px; width:40px; height:40px; padding:0; border:1px solid rgb(73 48 35 / 35%); border-radius:50%; color:#493023; background:rgb(255 248 238 / 43%); font-family:Arial,sans-serif; font-size:25px; font-weight:200; line-height:36px; cursor:pointer; transition:border-color .25s,transform .25s; }
.opening-event-close:hover,.opening-event-close:focus-visible { border-color:#493023; transform:rotate(90deg); }
.opening-event-tabs { flex:none; display:grid; grid-template-columns:1fr 1fr; height:58px; border-bottom:1px solid #d2c3b2; background:#f4ebe0; }
.opening-event-tabs button { position:relative; padding:0; border:0; color:#867365; background:transparent; font-family:inherit; font-size:17px; font-weight:700; cursor:pointer; }
.opening-event-tabs button::after { content:""; position:absolute; left:50%; right:50%; bottom:0; height:2px; background:#8e6748; transition:.3s ease; }
.opening-event-tabs button.active { color:#35251c; }
.opening-event-tabs button.active::after { left:0; right:0; }
.opening-event-scroll { flex:1; min-height:0; overflow:auto; overscroll-behavior:contain; scrollbar-width:thin; scrollbar-color:#8b6a51 transparent; }
.opening-event-panel { padding:34px 38px 42px; }
.opening-event-panel[hidden] { display:none; }
.opening-panel-intro { display:flex; align-items:flex-end; justify-content:space-between; gap:20px; margin-bottom:25px; padding-bottom:19px; border-bottom:1px solid #bca793; }
.opening-panel-intro small { display:block; margin-bottom:4px; color:#a47752; font-family:Georgia,serif; font-size:10px; letter-spacing:.18em; }
.opening-panel-intro h3 { margin:0; color:#35251c; font-size:28px; font-weight:400; letter-spacing:-.055em; }
.opening-panel-intro p { display:flex; align-items:center; gap:12px; margin:0; font-size:12px; }
.opening-panel-intro p span { color:#948173; text-decoration:line-through; }.opening-panel-intro p b { color:#9a623c; font-size:18px; }.opening-panel-intro p em { padding-left:10px; border-left:1px solid #cbb7a5; color:#887567; font-style:normal; }
.opening-special-groups,.opening-regular-groups { display:grid; grid-template-columns:1fr 1fr; align-items:start; gap:22px; }
.opening-price-group { overflow:hidden; border:1px solid #d6c8b9; background:rgb(255 253 249 / 70%); }
.opening-price-group>header { display:flex; align-items:baseline; justify-content:space-between; gap:12px; padding:14px 16px 12px; color:#f8efe4; background:#493126; }
.opening-price-group>header h4 { margin:0; font-size:18px; font-weight:400; letter-spacing:-.045em; }
.opening-price-group>header small { color:#d9b98f; font-family:Georgia,serif; font-size:8px; letter-spacing:.1em; }
.opening-price-list { padding:4px 15px 7px; }
.opening-price-row { display:flex; align-items:center; justify-content:space-between; gap:15px; min-height:43px; border-bottom:1px solid #e0d5ca; color:#473429; }
.opening-price-row:last-child { border-bottom:0; }
.opening-price-row>strong { min-width:0; font-size:15px; font-weight:400; letter-spacing:-.03em; }
.opening-price-row>strong small { display:block; margin-top:2px; color:#927f70; font-size:9px; }
.opening-price-row>b { flex:none; font-family:Georgia,"Frame Nanum Myeongjo",serif; font-size:19px; font-weight:400; }
.opening-price-sale>span { display:flex; align-items:center; gap:8px; flex:none; }
.opening-price-sale del { color:#9b897c; font-family:Georgia,serif; font-size:13px; text-decoration-thickness:1px; }
.opening-price-sale i { color:#b0815a; font-size:11px; font-style:normal; }
.opening-price-sale b { min-width:34px; color:#9b5931; font-family:Georgia,"Frame Nanum Myeongjo",serif; font-size:23px; font-weight:400; text-align:right; }
.opening-package-group { margin-top:24px; padding:25px 25px 20px; color:#fff5e9; background:#352219; box-shadow:inset 0 0 0 1px rgb(232 198 151 / 28%); }
.opening-package-group>header { display:flex; align-items:flex-end; justify-content:space-between; gap:20px; margin-bottom:13px; padding-bottom:16px; border-bottom:1px solid rgb(232 198 151 / 35%); }
.opening-package-group header small { display:block; margin-bottom:6px; color:#d5ad78; font-family:Georgia,serif; font-size:9px; letter-spacing:.17em; }
.opening-package-group header h3 { margin:0; font-size:22px; font-weight:400; letter-spacing:-.045em; }
.opening-package-group header>span { color:#c9ad8e; font-size:10px; }
.opening-package-group article { display:grid; grid-template-columns:30px 1fr auto; align-items:center; gap:10px; min-height:47px; border-bottom:1px solid rgb(232 198 151 / 15%); }
.opening-package-group article:last-child { border-bottom:0; }
.opening-package-group article>i { color:#c89e69; font-family:Georgia,serif; font-size:9px; font-style:normal; }
.opening-package-group article>strong { font-size:14px; font-weight:400; }
.opening-package-group article>span { display:flex; align-items:center; gap:12px; }.opening-package-group article del { color:#a99582; font-family:Georgia,serif; font-size:12px; }.opening-package-group article b { color:#efc58d; font-family:Georgia,serif; font-size:21px; font-weight:400; }
.regular-intro { margin-bottom:23px; }
.opening-regular-groups { grid-template-columns:repeat(2,1fr); }
.opening-event-actions { flex:none; display:flex; align-items:center; justify-content:space-between; gap:18px; min-height:61px; padding:10px 17px 10px 24px; border-top:1px solid #cdbdac; background:#f8f1e8; }
.opening-event-actions p { margin:0; color:#79695e; font-size:11px; }
.opening-event-actions>div { display:flex; gap:8px; flex:none; }
.opening-event-actions a,.opening-event-actions button { display:grid; place-items:center; min-width:82px; min-height:38px; padding:8px 13px; border:1px solid #705442; color:#4c382b; background:transparent; font-family:inherit; font-size:12px; text-decoration:none; cursor:pointer; }
.opening-event-actions a { color:#f8f0e6; background:#4a3024; }
@keyframes eventBackdropIn { from{opacity:0} to{opacity:1} }
@keyframes eventCardIn { from{opacity:0;transform:translateY(25px) scale(.975)} to{opacity:1;transform:none} }

@media (max-width:700px) {
  .opening-event-popup { padding:8px; }
  .opening-event-card { width:100%; height:min(95svh,850px); }
  .opening-event-hero { min-height:205px; padding:21px 20px 23px; background:linear-gradient(90deg,rgb(248 239 227 / 97%) 0%,rgb(248 239 227 / 90%) 54%,rgb(248 239 227 / 30%) 100%),url('../assets/opening-visual-04-object.png') 68% 68%/cover; }
  .opening-event-hero::before { inset:8px; }
  .opening-event-brand>span { width:27px; height:27px; font-size:14px; }
  .opening-event-brand>b { font-size:15px; }
  .opening-event-eyebrow { margin:20px 0 5px; font-size:9px; }
  .opening-event-hero h2 { font-size:34px; line-height:1.05; }
  .opening-event-hero h2 em { margin-top:6px; font-size:16px; }
  .opening-event-lead { position:static; margin:10px 0 0; max-width:235px; font-size:10px; line-height:1.55; text-align:left; }
  .opening-event-seal { top:19px; right:19px; width:62px; height:62px; }
  .opening-event-seal b { margin-top:9px; font-size:10px; }.opening-event-seal small { font-size:7px; }
  .opening-event-close { top:93px; right:20px; width:37px; height:37px; font-size:23px; line-height:33px; }
  .opening-event-tabs { height:51px; }
  .opening-event-tabs button { font-size:15px; }
  .opening-event-panel { padding:23px 16px 30px; }
  .opening-panel-intro { margin-bottom:18px; padding-bottom:15px; }.opening-panel-intro h3 { font-size:23px; }.opening-panel-intro p { gap:7px; font-size:10px; }.opening-panel-intro p b { font-size:15px; }.opening-panel-intro p em { padding-left:7px; }
  .opening-special-groups,.opening-regular-groups { grid-template-columns:1fr; gap:14px; }
  .opening-price-group>header { padding:13px 14px 11px; }.opening-price-group>header h4 { font-size:17px; }.opening-price-list { padding:3px 13px 6px; }
  .opening-price-row { min-height:46px; }.opening-price-row>strong { font-size:15px; }.opening-price-row>b { font-size:21px; }.opening-price-sale del { font-size:14px; }.opening-price-sale b { font-size:24px; }
  .opening-package-group { margin-top:16px; padding:20px 14px 15px; }.opening-package-group header h3 { font-size:18px; }.opening-package-group header>span { display:none; }
  .opening-package-group article { grid-template-columns:23px minmax(0,1fr) auto; gap:7px; min-height:57px; }.opening-package-group article>strong { font-size:14px; line-height:1.4; }.opening-package-group article>span { gap:8px; }.opening-package-group article b { font-size:22px; }
  .opening-event-actions { min-height:55px; padding:8px 9px 8px 13px; }.opening-event-actions p { display:none; }.opening-event-actions>div { width:100%; }.opening-event-actions a,.opening-event-actions button { flex:1; min-height:39px; }
}

/* Presentation page: remove comparison UI and tighten the selected story. */
@media (min-width:701px) {
  body[data-presentation="final"] .motion-comparison { padding:28px 0; }
  body[data-presentation="final"] .motion-comparison .care-concepts,
  body[data-presentation="final"] .motion-comparison .care-concept { min-height:clamp(620px,68vh,700px); }
  body[data-presentation="final"] .motion-comparison .care-concept { padding:clamp(46px,4vw,64px) clamp(42px,4.6vw,72px) 56px; }
  body[data-presentation="final"] .motion-comparison .doctor-story { height:min(53vh,520px); }

  body[data-presentation="final"] .treatment-showcase,
  body[data-presentation="final"] .visit-showcase { padding:clamp(60px,4.7vw,76px) 4.5% clamp(68px,5.4vw,86px); }
  body[data-presentation="final"] .treatment-heading,
  body[data-presentation="final"] .visit-heading { margin-bottom:32px; }
  body[data-presentation="final"] .treatment-sample,
  body[data-presentation="final"] .visit-sample { min-height:auto; }
  body[data-presentation="final"] .treatment-pulse { height:clamp(500px,38vw,590px); }
  body[data-presentation="final"] .treatment-visual-note { margin-top:13px; }

  body[data-presentation="final"] .space-gallery { padding:clamp(60px,4.8vw,78px) 4.5% clamp(68px,5.4vw,86px); }
  body[data-presentation="final"] .space-heading { margin-bottom:32px; }
  body[data-presentation="final"] .space-sample { min-height:auto; }
  body[data-presentation="final"] .immersive-gallery { height:clamp(500px,38vw,590px); }
  body[data-presentation="final"] .visit-map-focus { height:clamp(500px,38vw,590px); }
}

/* Presentation page: editorial reveals for the selected treatment and space. */
body[data-presentation="final"] .treatment-pulse {
  opacity:0;
  clip-path:inset(0 49.92%);
  filter:brightness(1.3);
  will-change:clip-path,opacity,filter;
}
body[data-presentation="final"] .treatment-showcase.in-view .treatment-pulse {
  animation:finalPulseUnfold 1.35s .36s cubic-bezier(.65,0,.22,1) both;
}
@keyframes finalPulseUnfold {
  0% { opacity:.72; clip-path:inset(0 49.92%); filter:brightness(1.38); }
  18% { opacity:1; filter:brightness(1.22); }
  100% { opacity:1; clip-path:inset(0); filter:brightness(1); }
}

body[data-presentation="final"] .space-heading {
  position:relative;
  opacity:0;
  transform:translateX(-34px);
  filter:blur(5px) brightness(1.12) drop-shadow(0 0 14px rgb(194 157 119 / 18%));
  will-change:transform,opacity,filter;
}
body[data-presentation="final"] .space-gallery.in-view .space-heading {
  animation:finalSpaceSideIn 1.05s .06s cubic-bezier(.22,.61,.36,1) both;
}
body[data-presentation="final"] .immersive-gallery {
  opacity:0;
  clip-path:inset(0 0 0 6%);
  transform:translateX(38px);
  will-change:transform,opacity,clip-path;
}
body[data-presentation="final"] .immersive-gallery::before {
  content:"";
  position:absolute;
  z-index:2;
  inset:-15% -30%;
  background:linear-gradient(105deg,transparent 39%,rgb(255 241 217 / 0%) 45%,rgb(255 241 217 / 20%) 50%,rgb(255 241 217 / 0%) 55%,transparent 61%);
  opacity:0;
  transform:translateX(-80%);
  pointer-events:none;
  mix-blend-mode:screen;
}
body[data-presentation="final"] .space-gallery.in-view .immersive-gallery {
  animation:finalSpaceGalleryIn 1.15s .22s cubic-bezier(.22,.61,.36,1) both;
}
body[data-presentation="final"] .space-gallery.in-view .immersive-gallery::before {
  animation:finalSpaceSheen 1.45s .34s cubic-bezier(.22,.61,.36,1) both;
}
@keyframes finalSpaceSideIn {
  from { opacity:0; transform:translateX(-34px); filter:blur(5px) brightness(1.12) drop-shadow(0 0 14px rgb(194 157 119 / 18%)); }
  to { opacity:1; transform:none; filter:none; }
}
@keyframes finalSpaceGalleryIn {
  from { opacity:0; clip-path:inset(0 0 0 6%); transform:translateX(38px); }
  to { opacity:1; clip-path:inset(0); transform:none; }
}
@keyframes finalSpaceSheen {
  0% { opacity:0; transform:translateX(-80%); }
  24% { opacity:.65; }
  72% { opacity:.25; }
  100% { opacity:0; transform:translateX(80%); }
}

@media (prefers-reduced-motion:reduce) {
  body[data-presentation="final"] .treatment-pulse,
  body[data-presentation="final"] .space-heading,
  body[data-presentation="final"] .immersive-gallery { animation:none!important; opacity:1; clip-path:none; transform:none; filter:none; }
  body[data-presentation="final"] .immersive-gallery::before { display:none; }
}

@media (max-width:700px) {
  .visit-minimal .map-live-shell::before { top:16px; left:16px; }
  .map-external-link { right:16px; bottom:16px; }
  .clinic-map .leaflet-control-zoom { margin:0 12px 60px 0; }
  body[data-treatment-set="v1-refresh"] .treatment-sample-tabs { grid-template-columns:repeat(3,1fr); }
  body[data-treatment-set="v1-refresh"] .treatment-sample-tabs button { min-width:0; padding:11px 4px 9px; font-size:10px; }
  body[data-treatment-set="v1-refresh"] .treatment-sample-tabs button span { font-size:10px; }
  body[data-treatment-set="v1-refresh"] .visit-heading h2 { font-size:40px; }
  body[data-treatment-set="v1-refresh"] .visit-heading>div>p { font-size:12px; }
  body[data-presentation="final"] .motion-comparison { padding:8px 0; }
  body[data-presentation="final"] .motion-comparison .care-concepts,
  body[data-presentation="final"] .motion-comparison .care-concept,
  body[data-presentation="final"] .motion-comparison .concept-story { min-height:820px; }
  body[data-presentation="final"] .treatment-showcase,
  body[data-presentation="final"] .visit-showcase,
  body[data-presentation="final"] .space-gallery { padding:54px 18px 62px; }
  body[data-presentation="final"] .treatment-heading,
  body[data-presentation="final"] .visit-heading,
  body[data-presentation="final"] .space-heading { margin-bottom:28px; }
  body[data-presentation="final"] .treatment-pulse { height:660px; }
  body[data-presentation="final"] .immersive-gallery { height:570px; }
  body[data-presentation="final"] .visit-map-focus { height:600px; }
}

/* Mobile-only refinement: larger portrait, clearer space gallery, scroll-safe map. */
@media (max-width:700px) {
  body[data-presentation="final"] .motion-comparison .doctor-story {
    align-self:center;
    justify-self:center;
    width:calc(100% + 40px);
    max-width:430px;
    height:clamp(430px,120vw,500px);
    margin:28px -20px 0;
  }
  body[data-presentation="final"] .motion-comparison .doctor-story .portrait-frame {
    min-height:0;
  }
  body[data-presentation="final"] .motion-comparison .doctor-story img {
    object-fit:cover;
    object-position:center 8%;
  }

  body[data-presentation="final"] .immersive-gallery {
    height:520px;
  }
  body[data-presentation="final"] .immersive-gallery::after {
    background:linear-gradient(180deg,rgb(15 10 7 / 42%) 0%,transparent 31%,transparent 68%,rgb(12 8 6 / 58%) 100%);
  }
  body[data-presentation="final"] .immersive-copy {
    top:16px;
    right:72px;
    left:16px;
    padding:12px 14px;
    background:rgb(32 23 18 / 34%);
    backdrop-filter:blur(5px);
  }
  body[data-presentation="final"] .immersive-copy small,
  body[data-presentation="final"] .immersive-copy p {
    display:none;
  }
  body[data-presentation="final"] .immersive-copy h3 {
    margin:0;
    font-size:23px;
    line-height:1.42;
    letter-spacing:-.04em;
  }
  body[data-presentation="final"] .immersive-index {
    right:14px;
    bottom:14px;
    left:14px;
    grid-template-columns:repeat(7,minmax(0,1fr));
    gap:5px;
    border-top:0;
    overflow:visible;
  }
  body[data-presentation="final"] .immersive-index button {
    display:grid;
    place-items:center;
    min-width:0;
    min-height:38px;
    padding:0;
    border:1px solid rgb(255 255 255 / 34%);
    border-radius:999px;
    color:rgb(255 255 255 / 78%);
    background:rgb(24 17 13 / 36%);
    text-align:center;
    backdrop-filter:blur(5px);
  }
  body[data-presentation="final"] .immersive-index button::before,
  body[data-presentation="final"] .immersive-index button b {
    display:none;
  }
  body[data-presentation="final"] .immersive-index button span {
    font-size:10px;
    opacity:1;
  }
  body[data-presentation="final"] .immersive-index button.active {
    color:#44362c;
    border-color:#f9f4ed;
    background:rgb(249 244 237 / 94%);
  }

  body[data-presentation="final"] .visit-map-focus {
    display:flex;
    flex-direction:column;
    height:auto;
    overflow:visible;
    background:#f5f0ea;
  }
  body[data-presentation="final"] .visit-map-focus .map-art-full.map-live-shell {
    position:relative;
    inset:auto;
    order:1;
    width:100%;
    height:350px;
  }
  body[data-presentation="final"] .map-focus-card {
    position:relative;
    top:auto;
    right:auto;
    left:auto;
    order:2;
    width:auto;
    padding:24px 22px;
    box-shadow:none;
    backdrop-filter:none;
  }
  body[data-presentation="final"] .map-focus-card h3 {
    margin:10px 0 8px;
    font-size:27px;
  }
  body[data-presentation="final"] .map-focus-card p {
    margin-bottom:18px;
    font-size:13px;
  }
  body[data-presentation="final"] .map-focus-meta {
    position:relative;
    right:auto;
    bottom:auto;
    left:auto;
    order:3;
    min-width:0;
    background:#fff;
    backdrop-filter:none;
  }
  body[data-presentation="final"] .map-focus-meta span {
    padding:14px 12px;
  }
  .clinic-map-mobile-scroll,
  .clinic-map-mobile-scroll .leaflet-map-pane {
    touch-action:pan-y!important;
  }
}

/* V50 — quieter, larger and more editorial global navigation. */
.site-header {
  grid-template-columns:minmax(220px,1fr) auto minmax(330px,1fr);
  padding:0 clamp(28px,3.6vw,64px);
}
.site-header .brand { gap:12px; }
.site-header .brand-mark { width:33px; height:33px; font-size:18px; }
.site-header .brand-name { font-size:21px; letter-spacing:.075em; }
.site-header .brand-name small { margin-top:4px; font-size:5.5px; letter-spacing:.2em; }
.main-menu { gap:25px; }
.nav-parent,
.menu-link {
  min-height:60px;
  padding:0 2px;
  border-radius:0;
  font-size:12.5px;
  letter-spacing:.145em;
  opacity:.9;
}
.nav-parent::before,
.menu-link::before {
  content:"";
  position:absolute;
  right:50%;
  bottom:7px;
  left:50%;
  height:1px;
  background:#e8d8c8;
  transition:left .34s cubic-bezier(.22,.61,.36,1),right .34s cubic-bezier(.22,.61,.36,1),background-color .3s ease;
}
.nav-dropdown:hover .nav-parent,
.nav-dropdown:focus-within .nav-parent,
.menu-link:hover,
.menu-link:focus-visible,
.menu-treatment.open .menu-link {
  color:inherit!important;
  background:transparent!important;
  opacity:1;
}
.nav-dropdown:hover .nav-parent::before,
.nav-dropdown:focus-within .nav-parent::before,
.menu-link:hover::before,
.menu-link:focus-visible::before,
.menu-treatment.open .menu-link::before { right:0; left:0; }
.nav-parent>span,
.menu-link>span { margin-left:1px; color:#d6c2af; font-size:11px; }
.nav-submenu {
  top:70px;
  width:208px;
  padding:16px 22px 18px;
  border:0;
  border-top:2px solid #9e7f66;
  background:rgb(250 247 242 / 99%);
  box-shadow:0 24px 62px rgb(31 22 16 / 17%);
}
.nav-submenu a {
  padding:12px 2px!important;
  color:#766659;
  font-size:13px!important;
  line-height:1.35;
}
.header-tools { gap:13px; }
.font-switcher {
  height:37px;
  padding:0 4px 0 7px;
  border:0;
  border-bottom:1px solid rgb(255 255 255 / 38%);
  border-radius:0;
  background:transparent;
}
.font-switcher>span { font-size:8px; letter-spacing:.18em; }
.font-switcher select { width:107px; font-size:9px; }
.consult-link {
  min-width:80px;
  height:37px;
  padding:0 15px;
  border-color:rgb(255 255 255 / 42%);
  border-radius:0;
  font-size:10.5px;
  letter-spacing:-.01em;
}
.language-links { gap:9px; height:37px; padding:0 0 0 14px; font-size:8px; }

.treatment-mega-inner {
  width:min(1120px,calc(100% - 72px));
  margin:0 auto;
  padding:31px 0 39px;
}
.mega-heading { margin-bottom:28px; padding-bottom:21px; }
.mega-heading>div { gap:28px; }
.mega-heading small { font-size:10px; }
.mega-heading strong { font-size:22px; }
.mega-heading>a { font-size:12.5px; }
.mega-treatment-grid section { min-height:206px; padding:0 18px; }
.mega-category { min-height:72px; padding:0 20px 17px 0!important; }
.mega-category small { margin-bottom:10px; font-size:8px; }
.mega-category h3 { font-size:17px; line-height:1.35; }
.mega-category>span { top:24px; font-size:12px; }
.mega-treatment-grid li>a,
.mega-empty-link { padding:5px 0; font-size:12px; line-height:1.35; }
.mega-treatment-grid li>a:hover,
.mega-treatment-grid li>a:focus-visible,
.mega-empty-link:hover,
.mega-empty-link:focus-visible { color:#35291f; transform:none; text-decoration:underline; text-decoration-color:#baa38e; text-underline-offset:4px; }

@media (max-width:1180px) and (min-width:701px) {
  .site-header { grid-template-columns:170px auto 250px; padding:0 24px; }
  .site-header .brand-name { font-size:18px; }
  .main-menu { gap:16px; }
  .nav-parent,.menu-link { padding:0 1px; font-size:11.5px; }
  .treatment-mega-inner { width:calc(100% - 48px); padding:28px 0 34px; }
  .mega-treatment-grid section { padding:0 12px; }
  .mega-category h3 { font-size:14px; }
  .mega-category small { font-size:7px; }
  .mega-treatment-grid li>a,.mega-empty-link { font-size:10.5px; }
}

@media (max-width:700px) {
  .site-header { grid-template-columns:1fr auto; padding:0 18px; }
  .site-header .brand-mark { width:27px; height:27px; font-size:15px; }
  .site-header .brand-name { font-size:16px; }
  .site-header .brand-name small { font-size:4.8px; }
  .main-menu { gap:0; }
  .nav-parent,.menu-link { min-height:54px; font-size:14px; }
  .nav-parent::before,.menu-link::before { bottom:0; }
  .nav-submenu a { padding:9px 0!important; font-size:11.5px!important; }
  .font-switcher { height:47px; padding:0 12px; border:1px solid rgb(255 255 255 / 17%); }
  .font-switcher>span { font-size:8px; }
  .font-switcher select { font-size:10px; }
  .treatment-mega-inner { width:100%; padding:24px 0 10px; }
  .mega-treatment-grid { gap:25px 21px; }
  .mega-category { min-height:0; margin-bottom:9px; padding:0 18px 10px 0!important; }
  .mega-category small { margin-bottom:6px; font-size:7px; }
  .mega-category h3 { font-size:14px; }
  .mega-category>span { top:17px; }
  .mega-treatment-grid li>a,.mega-empty-link { padding:5.5px 0; font-size:11.5px; }
}

/* V51 — Nanum Myeongjo navigation, larger labels and connected dropdown color. */
.site-header,
.nav-parent,
.menu-link,
.nav-submenu a,
.mega-heading,
.mega-category h3,
.mega-treatment-grid li>a,
.mega-empty-link,
.font-switcher,
.font-switcher select,
.consult-link,
.language-links { font-family:"Frame Nanum Myeongjo","Malgun Gothic",serif; }
.main-menu { gap:28px; }
.nav-parent,.menu-link { font-size:14px; font-weight:400; letter-spacing:.105em; }
.nav-submenu a { font-size:14px!important; }
.mega-heading strong { font-size:24px; }
.mega-category h3 { font-size:18px; }
.mega-treatment-grid li>a,.mega-empty-link { font-size:13px; }
.font-switcher>span { font-size:9px; }
.font-switcher select { width:112px; font-size:10px; }
.consult-link { min-width:84px; font-size:11.5px; }
.language-links { gap:12px; padding-left:16px; font-size:11px; letter-spacing:.04em; }
.language-links span,.language-links a { min-width:14px; text-align:center; }

@media (hover:hover) and (min-width:701px) {
  .site-header.treatment-open,
  .site-header.dropdown-open {
    color:#49392e;
    background:rgb(250 247 242 / 98%);
    border-bottom-color:#ddd2c8;
    box-shadow:none;
    backdrop-filter:blur(13px);
  }
  .site-header.treatment-open .brand-mark,
  .site-header.dropdown-open .brand-mark { border-color:rgb(79 59 46 / 55%); }
  .site-header.treatment-open .nav-parent::before,
  .site-header.treatment-open .menu-link::before,
  .site-header.dropdown-open .nav-parent::before,
  .site-header.dropdown-open .menu-link::before { background:#8f735d; }
  .site-header.treatment-open .nav-parent>span,
  .site-header.treatment-open .menu-link>span,
  .site-header.dropdown-open .nav-parent>span,
  .site-header.dropdown-open .menu-link>span { color:#8f735d; }
  .site-header.treatment-open .font-switcher,
  .site-header.dropdown-open .font-switcher { color:#4d3c31; border-bottom-color:rgb(82 61 47 / 38%); }
  .site-header.treatment-open .consult-link,
  .site-header.dropdown-open .consult-link { border-color:rgb(82 61 47 / 42%); }
  .site-header.treatment-open .language-links,
  .site-header.dropdown-open .language-links { border-left-color:rgb(82 61 47 / 25%); }
}

@media (max-width:1180px) and (min-width:701px) {
  .main-menu { gap:17px; }
  .nav-parent,.menu-link { font-size:12.5px; }
  .mega-category h3 { font-size:15px; }
  .mega-treatment-grid li>a,.mega-empty-link { font-size:11px; }
  .language-links { gap:8px; font-size:9px; }
}

@media (max-width:700px) {
  .nav-parent,.menu-link { font-family:"Frame Nanum Myeongjo","Malgun Gothic",serif; font-size:15px; }
  .nav-submenu a { font-size:12px!important; }
  .mega-category h3 { font-size:15px; }
  .mega-treatment-grid li>a,.mega-empty-link { font-size:12px; }
  .mobile-languages { font-family:"Frame Nanum Myeongjo","Malgun Gothic",serif; }
  .mobile-languages span,.mobile-languages a { font-size:12px; }
}

/* V48 final cascade — the treatment panel spans the complete header row. */
.treatment-mega {
  top:88px;
  right:0;
  left:0;
  display:block;
  width:auto;
  max-width:none;
  padding:0;
  border-width:1px 0;
  color:#4a3b31;
  background:rgb(250 247 242 / 98%);
  box-shadow:0 30px 75px rgb(31 22 16 / 20%);
  transform:translateY(-12px);
}
.menu-treatment.open .treatment-mega { transform:translateY(0); }
.treatment-mega-inner { width:100%; padding:27px clamp(28px,4.2vw,76px) 34px; }
.mega-heading { display:flex; align-items:flex-end; justify-content:space-between; gap:28px; margin-bottom:23px; padding-bottom:18px; border-bottom:1px solid #dcd1c7; }
.mega-heading>div { display:flex; align-items:baseline; gap:22px; }
.mega-heading small { color:#a38a76; font-family:var(--font-en); font-size:9px; letter-spacing:.2em; }
.mega-heading strong { color:#49382d; font-size:18px; font-weight:var(--font-display-weight); letter-spacing:-.035em; }
.mega-heading>a { display:flex; align-items:center; gap:9px; padding:0 0 3px; color:#806956; font-size:11px; text-decoration:none; }
.mega-heading>a::after { display:none!important; }
.mega-heading>a span { font-family:Arial,sans-serif; font-size:12px; }
.mega-treatment-grid { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:0; }
.mega-treatment-grid section { min-height:178px; padding:0 clamp(11px,1.45vw,26px); border-left:1px solid #e2d9d1; }
.mega-treatment-grid section:first-child { padding-left:0; border-left:0; }
.mega-treatment-grid section:last-child { padding-right:0; }
.mega-category { position:relative; display:block!important; min-height:63px; padding:0 22px 14px 0!important; color:#4f3c30; text-decoration:none; }
.mega-category::after { display:none!important; }
.mega-category small { display:block; margin-bottom:8px; color:#b09884; font-family:var(--font-en); font-size:7px; letter-spacing:.16em; line-height:1.3; }
.mega-category h3 { margin:0; padding:0; border:0; color:#4f3c30; font-size:15px; font-weight:500!important; letter-spacing:-.035em!important; }
.mega-category>span { position:absolute; top:20px; right:0; color:#ac9582; font-family:Arial,sans-serif; font-size:11px; transition:transform .25s ease,color .25s ease; }
.mega-category:hover>span,.mega-category:focus-visible>span { color:#503c30; transform:translate(2px,-2px); }
.mega-treatment-grid ul { display:block; margin:0; padding:0; list-style:none; }
.mega-treatment-grid li { line-height:1.25; }
.mega-treatment-grid li>a,.mega-empty-link { display:block; padding:4px 0; color:#8d7e72; font-size:10.5px; font-weight:300; letter-spacing:-.02em; text-decoration:none; }
.mega-treatment-grid li>a::after,.mega-empty-link::after { display:none!important; }
.mega-treatment-grid li>a:hover,.mega-treatment-grid li>a:focus-visible,.mega-empty-link:hover,.mega-empty-link:focus-visible { color:#35291f; transform:translateX(2px); outline:none; }
.mega-empty-link { color:#aa9b90; }

@media (hover:hover) and (min-width:701px) {
  .menu-treatment:hover .treatment-mega { transform:translateY(0); }
}

@media (max-width:1180px) and (min-width:701px) {
  .site-header { grid-template-columns:165px auto 250px; padding:0 2.2%; }
  .main-menu>a,.menu-link,.nav-parent { padding:0 10px; font-size:10px; }
  .treatment-mega { top:88px; padding:0; }
  .treatment-mega-inner { padding:25px 24px 31px; }
  .mega-heading { margin-bottom:20px; }
  .mega-treatment-grid { grid-template-columns:repeat(6,minmax(0,1fr)); gap:0; }
  .mega-treatment-grid section { padding:0 11px; }
  .mega-category { padding-right:14px!important; }
  .mega-category h3 { font-size:13px; }
  .mega-category small { font-size:6px; }
  .mega-treatment-grid li>a,.mega-empty-link { font-size:9.5px; }
}

@media (max-width:700px) {
  .treatment-mega { position:static; display:none; width:100%; max-width:none; padding:0; border:0; color:#ede3d9; background:transparent; box-shadow:none; opacity:1; visibility:visible; transform:none; transition:none; pointer-events:auto; }
  .menu-treatment.open .treatment-mega { display:block; transform:none; }
  .treatment-mega-inner { padding:21px 0 8px; }
  .mega-heading { display:none; }
  .mega-treatment-grid { display:grid; grid-template-columns:1fr 1fr; gap:22px 18px; }
  .mega-treatment-grid section,.mega-treatment-grid section:first-child,.mega-treatment-grid section:last-child { min-height:0; padding:0; border:0; }
  .mega-category { min-height:0; margin-bottom:8px; padding:0 18px 8px 0!important; border-bottom:1px solid rgb(255 255 255 / 14%); color:#ede3d9; }
  .mega-category small { margin-bottom:5px; color:#9d8d80; font-size:6px; }
  .mega-category h3 { margin:0; padding:0; border:0; color:#d9c6b3; font-size:12px; }
  .mega-category>span { top:14px; }
  .mega-treatment-grid ul { display:block; }
  .mega-treatment-grid li>a,.mega-empty-link { padding:5px 0; color:#a99a8d; font-size:10px; }
}

/* V49 — fixed transparent header that gains depth after scrolling. */
.site-header {
  position:fixed;
  top:0;
  right:0;
  left:0;
  color:#f6eee3;
  background:transparent;
  border-bottom-color:transparent;
  box-shadow:none;
  backdrop-filter:none;
  transition:background-color .42s ease,border-color .42s ease,box-shadow .42s ease,backdrop-filter .42s ease;
}
.site-header.is-scrolled,
.site-header.menu-open {
  background:rgb(42 31 23 / 94%);
  border-bottom-color:rgb(255 255 255 / 13%);
  box-shadow:0 12px 34px rgb(27 18 12 / 18%);
  backdrop-filter:blur(13px);
}

@media (max-width:700px) {
  .site-header {
    position:fixed;
    background:transparent;
    border-bottom-color:transparent;
    box-shadow:none;
    backdrop-filter:none;
  }
  .site-header.is-scrolled,
  .site-header.menu-open {
    background:rgb(37 27 20 / 97%);
    border-bottom-color:rgb(255 255 255 / 12%);
    box-shadow:0 10px 28px rgb(20 13 9 / 22%);
    backdrop-filter:blur(12px);
  }
}

/* V50 final cascade — centered mega-menu content with readable type. */
.treatment-mega-inner { width:min(1120px,calc(100% - 72px)); margin:0 auto; padding:31px 0 39px; }
.mega-heading { margin-bottom:28px; padding-bottom:21px; }
.mega-heading>div { gap:28px; }
.mega-heading small { font-size:10px; }
.mega-heading strong { font-size:22px; }
.mega-heading>a { font-size:12.5px; }
.mega-treatment-grid section { min-height:206px; padding:0 18px; }
.mega-treatment-grid section:first-child { padding-left:0; }
.mega-treatment-grid section:last-child { padding-right:0; }
.mega-category { min-height:72px; padding:0 20px 17px 0!important; }
.mega-category small { margin-bottom:10px; font-size:8px; }
.mega-category h3 { font-size:17px; line-height:1.35; }
.mega-category>span { top:24px; font-size:12px; }
.mega-treatment-grid li>a,.mega-empty-link { padding:5px 0; font-size:12px; line-height:1.35; }
.mega-treatment-grid li>a:hover,.mega-treatment-grid li>a:focus-visible,.mega-empty-link:hover,.mega-empty-link:focus-visible { color:#35291f; transform:none; text-decoration:underline; text-decoration-color:#baa38e; text-underline-offset:4px; }

@media (max-width:1180px) and (min-width:701px) {
  .treatment-mega-inner { width:calc(100% - 48px); padding:28px 0 34px; }
  .mega-treatment-grid section { padding:0 12px; }
  .mega-category h3 { font-size:14px; }
  .mega-category small { font-size:7px; }
  .mega-treatment-grid li>a,.mega-empty-link { font-size:10.5px; }
}

@media (max-width:700px) {
  .treatment-mega-inner { width:100%; padding:24px 0 10px; }
  .mega-treatment-grid { gap:25px 21px; }
  .mega-treatment-grid section,.mega-treatment-grid section:first-child,.mega-treatment-grid section:last-child { min-height:0; padding:0; }
  .mega-category { min-height:0; margin-bottom:9px; padding:0 18px 10px 0!important; }
  .mega-category small { margin-bottom:6px; font-size:7px; }
  .mega-category h3 { font-size:14px; }
  .mega-category>span { top:17px; }
  .mega-treatment-grid li>a,.mega-empty-link { padding:5.5px 0; font-size:11.5px; }
}

/* V51 final cascade. */
.mega-heading strong { font-size:24px; }
.mega-category h3 { font-size:18px; }
.mega-treatment-grid li>a,.mega-empty-link { font-size:13px; }

@media (hover:hover) and (min-width:701px) {
  .site-header.treatment-open,
  .site-header.dropdown-open {
    color:#49392e;
    background:rgb(250 247 242 / 98%);
    border-bottom-color:#ddd2c8;
    box-shadow:none;
    backdrop-filter:blur(13px);
  }
  .site-header.treatment-open .brand-mark,
  .site-header.dropdown-open .brand-mark { border-color:rgb(79 59 46 / 55%); }
  .site-header.treatment-open .font-switcher,
  .site-header.dropdown-open .font-switcher { color:#4d3c31; border-bottom-color:rgb(82 61 47 / 38%); }
  .site-header.treatment-open .consult-link,
  .site-header.dropdown-open .consult-link { border-color:rgb(82 61 47 / 42%); }
}

@media (max-width:1180px) and (min-width:701px) {
  .mega-category h3 { font-size:15px; }
  .mega-treatment-grid li>a,.mega-empty-link { font-size:11px; }
}

@media (max-width:700px) {
  .mega-category h3 { font-size:15px; }
  .mega-treatment-grid li>a,.mega-empty-link { font-size:12px; }
}

/* V51 navigation specificity fix. */
.main-menu .nav-parent,
.main-menu .menu-link { font-family:"Frame Nanum Myeongjo","Malgun Gothic",serif; font-size:14px; font-weight:400; letter-spacing:.105em; }

@media (max-width:1180px) and (min-width:701px) {
  .main-menu .nav-parent,.main-menu .menu-link { font-size:12.5px; }
}

@media (max-width:700px) {
  .main-menu .nav-parent,.main-menu .menu-link { font-size:15px; }
}

/* V52 — larger Nanum Myeongjo typography inside the mega menu. */
.treatment-mega-inner { width:min(1180px,calc(100% - 64px)); padding:35px 0 44px; }
.mega-heading { margin-bottom:31px; padding-bottom:23px; }
.mega-heading small { font-size:11px; }
.mega-heading strong { font-family:"Frame Nanum Myeongjo","Malgun Gothic",serif; font-size:27px; }
.mega-heading>a { font-family:"Frame Nanum Myeongjo","Malgun Gothic",serif; font-size:14px; }
.mega-treatment-grid section { min-height:238px; padding:0 20px; }
.mega-category { min-height:82px; padding-bottom:19px!important; }
.mega-category small { margin-bottom:11px; font-size:9px; }
.mega-category h3 { font-family:"Frame Nanum Myeongjo","Malgun Gothic",serif; font-size:21px; line-height:1.35; }
.mega-category>span { top:29px; font-size:13px; }
.mega-treatment-grid li>a,
.mega-empty-link { padding:6px 0; font-family:"Frame Nanum Myeongjo","Malgun Gothic",serif; font-size:15px; line-height:1.45; }

@media (max-width:1180px) and (min-width:701px) {
  .treatment-mega-inner { width:calc(100% - 40px); padding:31px 0 38px; }
  .mega-heading strong { font-size:23px; }
  .mega-treatment-grid section { min-height:215px; padding:0 12px; }
  .mega-category { min-height:76px; }
  .mega-category h3 { font-size:17px; }
  .mega-treatment-grid li>a,.mega-empty-link { padding:5px 0; font-size:13px; }
}

@media (max-width:700px) {
  .treatment-mega-inner { width:100%; padding:26px 0 12px; }
  .mega-treatment-grid section,.mega-treatment-grid section:first-child,.mega-treatment-grid section:last-child { min-height:0; padding:0; }
  .mega-category { min-height:0; margin-bottom:11px; padding:0 18px 11px 0!important; }
  .mega-category small { margin-bottom:7px; font-size:8px; }
  .mega-category h3 { font-size:17px; }
  .mega-category>span { top:20px; }
  .mega-treatment-grid li>a,.mega-empty-link { padding:6px 0; font-size:13.5px; line-height:1.45; }
}

/* V52 scaled-desktop correction for Windows display scaling. */
@media (max-width:1180px) and (min-width:901px) {
  .treatment-mega-inner { width:calc(100% - 40px); padding:33px 0 42px; }
  .mega-heading strong { font-size:25px; }
  .mega-treatment-grid section { min-height:230px; padding:0 13px; }
  .mega-category { min-height:80px; }
  .mega-category h3 { font-size:19px; }
  .mega-treatment-grid li>a,.mega-empty-link { padding:5.5px 0; font-size:14.5px; line-height:1.45; }
}

@media (max-width:900px) and (min-width:701px) {
  .mega-heading strong { font-size:22px; }
  .mega-category h3 { font-size:16.5px; }
  .mega-treatment-grid li>a,.mega-empty-link { font-size:12.5px; }
}

/* V53 — plain clickable navigation without plus or selected underline. */
.nav-parent::before,
.menu-link::before { display:none!important; content:none!important; }
.nav-parent,
.menu-link { cursor:pointer; }
.nav-dropdown:hover .nav-parent,
.nav-dropdown:focus-within .nav-parent,
.menu-link:hover,
.menu-link:focus-visible,
.menu-treatment.open .menu-link { text-decoration:none; }

@media (max-width:700px) {
  .treatment-menu-toggle { display:flex; }
}

.nav-submenu .nav-disabled {
  display:block;
  padding:10px 22px;
  color:#a89a8e;
  font-family:"Frame Nanum Myeongjo","Malgun Gothic",serif;
  font-size:14px;
  font-weight:400;
  opacity:.72;
  cursor:not-allowed;
}

/* V54 — locally served Nanum Myeongjo and crisp navigation rendering. */
@font-face {
  font-family:"Frame Nanum Myeongjo";
  src:url("../assets/fonts/nanum-myeongjo-400.ttf") format("truetype");
  font-style:normal;
  font-weight:400;
  font-display:swap;
}
@font-face {
  font-family:"Frame Nanum Myeongjo";
  src:url("../assets/fonts/nanum-myeongjo-700.ttf") format("truetype");
  font-style:normal;
  font-weight:700;
  font-display:swap;
}

.site-header,
.main-menu .nav-parent,
.main-menu .menu-link,
.nav-submenu a,
.mega-heading,
.mega-category h3,
.mega-treatment-grid li>a,
.mega-empty-link,
.font-switcher,
.font-switcher select,
.consult-link,
.language-links,
.mobile-languages {
  font-family:"Frame Nanum Myeongjo","Malgun Gothic",serif;
  font-synthesis:none;
  text-rendering:optimizeLegibility;
}

.main-menu .nav-parent,
.main-menu .menu-link {
  font-size:15px;
  font-weight:700;
  letter-spacing:.07em;
  opacity:1;
}
.nav-submenu a { color:#655347; font-weight:400!important; opacity:1; }
.mega-heading strong { color:#35291f; font-weight:700; }
.mega-heading>a { color:#665448; font-weight:700; opacity:1; }
.mega-category h3 {
  color:#3f3026;
  font-weight:700!important;
  letter-spacing:-.02em!important;
}
.mega-category small { color:#806b59; font-weight:700; opacity:1; }
.mega-treatment-grid li>a,
.mega-empty-link {
  color:#5f5147;
  font-weight:400;
  letter-spacing:-.01em;
  opacity:1;
}
.language-links,
.font-switcher,
.font-switcher select,
.consult-link { font-weight:700; opacity:1; }

@media (hover:hover) and (min-width:701px) {
  .treatment-mega {
    transform:none;
    will-change:auto;
    transition:opacity .24s ease,visibility .24s ease;
  }
  .menu-treatment.open .treatment-mega,
  .menu-treatment:hover .treatment-mega { transform:none; }
  .site-header.treatment-open,
  .site-header.dropdown-open { backdrop-filter:none; }
}

@media (max-width:1180px) and (min-width:901px) {
  .main-menu .nav-parent,.main-menu .menu-link { font-size:13px; }
  .mega-heading strong { font-size:26px; }
  .mega-category h3 { font-size:20px; }
  .mega-treatment-grid li>a,.mega-empty-link { padding:6px 0; font-size:15px; line-height:1.45; }
}

@media (max-width:900px) and (min-width:701px) {
  .main-menu .nav-parent,.main-menu .menu-link { font-size:13px; }
  .mega-heading strong { font-size:22px; }
  .mega-category h3 { font-size:17px; }
  .mega-treatment-grid li>a,.mega-empty-link { font-size:13px; }
}

@media (max-width:700px) {
  .main-menu .nav-parent,.main-menu .menu-link { font-size:16px; }
  .mega-category h3 { font-size:18px; }
  .mega-treatment-grid li>a,.mega-empty-link { font-size:14px; opacity:1; }
}

/* V59 — dedicated mobile navigation surface. */
.nav-dropdown-toggle{display:none}
@media(max-width:700px){
  .site-header{height:68px!important;padding:0 18px!important;grid-template-columns:1fr 42px!important;overflow:visible;color:#fffaf3}
  .site-header.menu-open{background:#241a14!important;border-bottom:1px solid rgb(255 255 255/.11)!important;box-shadow:none!important;backdrop-filter:none!important}
  .site-header .brand{position:relative;z-index:1002;gap:9px}.site-header .brand-mark{width:28px;height:28px}.site-header .brand-name{font-size:17px}.site-header .brand-name small{margin-top:3px;font-size:4.5px}
  .site-header .menu-toggle{position:relative;z-index:1002;display:flex!important;flex-direction:column;align-items:center;justify-content:center;gap:7px;width:42px;height:42px;padding:0;border:0!important;border-radius:0!important;color:inherit;background:transparent!important;box-shadow:none!important;outline:none!important}
  .site-header .menu-toggle span{width:20px;height:1px;margin:0;background:currentColor;transform-origin:center;transition:transform .3s ease}
  .site-header .menu-toggle.open span:nth-of-type(1){transform:translateY(4px) rotate(45deg)}.site-header .menu-toggle.open span:nth-of-type(2){transform:translateY(-4px) rotate(-45deg)}
  .site-header .main-menu{position:fixed!important;z-index:1001;inset:68px 0 0!important;display:block!important;width:100%!important;height:calc(100dvh - 68px)!important;max-height:none!important;margin:0!important;padding:18px 22px 34px!important;color:#f5ebe1;background:#241a14!important;overflow-x:hidden!important;overflow-y:auto!important;overscroll-behavior:contain;opacity:0;visibility:hidden;transform:translateY(-10px);transition:opacity .28s ease,visibility .28s ease,transform .34s cubic-bezier(.2,.7,.2,1);pointer-events:none}
  .site-header .main-menu.open{opacity:1;visibility:visible;transform:none;pointer-events:auto}
  .site-header .main-menu>.nav-dropdown,.site-header .main-menu>.menu-treatment{position:relative;width:100%;border-bottom:1px solid rgb(255 255 255/.12)}
  .site-header .main-menu .nav-parent,.site-header .main-menu .menu-link{display:flex!important;align-items:center!important;width:100%!important;min-height:62px!important;padding:0 52px 0 0!important;border:0!important;color:#f5ebe1!important;background:transparent!important;font-size:19px!important;font-weight:400!important;letter-spacing:.055em!important;line-height:1!important;opacity:1!important;word-break:keep-all}
  .site-header .main-menu .nav-parent::before,.site-header .main-menu .menu-link::before{display:none!important}
  .nav-dropdown-toggle{position:absolute;z-index:3;top:10px;right:-4px;display:grid;width:44px;height:44px;padding:0;border:0;color:#d4c1b0;background:transparent;outline:none!important;cursor:pointer}
  .nav-dropdown-toggle span,.treatment-menu-toggle::after{display:block;width:8px;height:8px;border-right:1px solid currentColor;border-bottom:1px solid currentColor;transform:rotate(45deg);transition:transform .3s ease}
  .nav-dropdown-toggle span{margin:auto}.nav-dropdown.open .nav-dropdown-toggle span{transform:translateY(3px) rotate(225deg)}
  .treatment-menu-toggle::after{content:""!important;position:absolute!important;right:14px!important;left:auto!important;top:25px!important;bottom:auto!important;width:8px!important;height:8px!important;background:transparent!important}.menu-treatment.open .treatment-menu-toggle::after{transform:translateY(4px) rotate(225deg)}
  .site-header .nav-submenu{position:static!important;display:none!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:0 10px!important;width:100%!important;padding:4px 0 20px!important;border:0!important;color:#cdbdaf!important;background:transparent!important;box-shadow:none!important;opacity:1!important;visibility:visible!important;transform:none!important;pointer-events:auto!important}
  .site-header .nav-dropdown.open .nav-submenu{display:grid!important}
  .site-header .nav-content .nav-submenu{grid-template-columns:repeat(3,minmax(0,1fr))!important}
  .site-header .nav-submenu a,.site-header .nav-submenu .nav-disabled{display:flex!important;align-items:center!important;justify-content:flex-start!important;min-height:46px!important;padding:0!important;border:0!important;color:#bfae9f!important;background:transparent!important;font-size:14px!important;font-weight:400!important;line-height:1.3!important;text-align:left!important;word-break:keep-all!important;white-space:normal!important;opacity:1!important}
  .site-header .nav-submenu .nav-disabled{color:#74675e!important;text-decoration:line-through;text-decoration-thickness:1px}
  .site-header .treatment-mega{position:static!important;display:none!important;width:100%!important;margin:0!important;padding:0 0 20px!important;border:0!important;color:#efe5dc!important;background:transparent!important;box-shadow:none!important;opacity:1!important;visibility:visible!important;transform:none!important;pointer-events:auto!important}
  .site-header .menu-treatment.open .treatment-mega{display:block!important}
  .site-header .treatment-mega-inner{width:100%!important;margin:0!important;padding:7px 0 0!important}
  .site-header .mega-heading{display:none!important}.site-header .mega-treatment-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:24px 18px!important}
  .site-header .mega-treatment-grid section{min-height:0!important;padding:0!important;border:0!important}.site-header .mega-category{min-height:0!important;margin:0 0 9px!important;padding:0 0 10px!important;border-bottom:1px solid rgb(255 255 255/.14)!important;color:#ead9ca!important}
  .site-header .mega-category small{margin:0 0 5px!important;color:#8f7d6f!important;font-size:7px!important;letter-spacing:.12em!important}.site-header .mega-category h3{margin:0!important;color:#e7d5c5!important;font-size:15px!important;font-weight:400!important}.site-header .mega-category>span{display:none!important}
  .site-header .mega-treatment-grid ul{display:block!important;margin:0!important;padding:0!important}.site-header .mega-treatment-grid li{margin:0!important}.site-header .mega-treatment-grid li>a,.site-header .mega-empty-link{display:block!important;padding:5px 0!important;color:#a99a8e!important;background:transparent!important;font-size:12.5px!important;font-weight:400!important;line-height:1.45!important;word-break:keep-all!important}
  .site-header .mobile-menu-utilities{display:grid!important;grid-template-columns:1fr 1fr!important;gap:9px!important;margin-top:24px!important;padding-top:22px!important;border-top:1px solid rgb(255 255 255/.12)!important}.site-header .mobile-languages{grid-column:1/-1;display:grid!important;grid-template-columns:repeat(4,1fr)!important;border:1px solid rgb(255 255 255/.13)!important}.site-header .mobile-languages span,.site-header .mobile-languages a{padding:13px 4px!important;color:#8e8176!important;font-size:11px!important;text-align:center!important;text-decoration:none!important}.site-header .mobile-languages .active{color:#f1e7dc!important;background:rgb(255 255 255/.07)!important}.site-header .mobile-menu-utilities>a{display:grid!important;place-items:center!important;min-height:45px!important;padding:0 8px!important;border:1px solid rgb(255 255 255/.13)!important;color:#d8c9bc!important;background:transparent!important;font-size:11px!important;text-align:center!important}
  .site-header .mega-heading-locale{display:flex!important;flex-direction:column!important;align-items:flex-start!important;gap:18px!important;padding:6px 2px 22px!important}.site-header .mega-heading-locale>div{display:block!important}.site-header .mega-heading-locale small{display:block!important;margin-bottom:9px!important}.site-header .mega-heading-locale strong{display:block!important;color:#e9ddd2!important;font-size:18px!important;line-height:1.55!important}.site-header .mega-heading-locale>a{display:flex!important;color:#cbb7a7!important}
}

/* v64 — final image-based opening price popup */
.opening-image-popup{padding:18px}
.opening-image-popup .opening-event-backdrop{background:rgb(24 16 11 / 74%);backdrop-filter:blur(9px)}
.opening-image-popup .opening-event-card{width:min(650px,95vw);height:min(960px,94vh);height:min(960px,94svh);border:1px solid rgb(255 249 240 / 54%);background:#eee3d8;box-shadow:0 34px 120px rgb(15 9 5 / 58%)}
.opening-image-header{position:relative;flex:none;display:flex;align-items:center;justify-content:space-between;min-height:72px;padding:14px 18px 13px 22px;color:#f7eee6;background:#3d2b22;border-bottom:1px solid rgb(255 255 255 / 12%)}
.opening-image-header small{display:block;margin-bottom:4px;color:#d3b79f;font-size:8px;letter-spacing:.16em}
.opening-image-header h2{margin:0;font-size:20px;font-weight:400;letter-spacing:-.03em}
.opening-image-header .opening-event-close{position:static;flex:none;width:40px;height:40px;border-color:rgb(255 255 255 / 35%);color:#f8eee5;background:transparent;font-family:Arial,sans-serif;font-size:24px;line-height:36px}
.opening-image-header .opening-event-close:hover,.opening-image-header .opening-event-close:focus-visible{border-color:#fff;transform:rotate(90deg)}
.opening-image-popup .opening-event-tabs{height:54px;border-bottom-color:#c5b3a2;background:#f1e7dd}
.opening-image-popup .opening-event-tabs button{font-size:15px;font-weight:400;letter-spacing:-.02em}
.opening-image-popup .opening-event-tabs button::after{background:#704c38}
.opening-image-popup .opening-event-tabs button:focus{outline:none}
.opening-image-popup .opening-event-tabs button:focus-visible{outline:1px solid rgb(112 76 56 / 42%);outline-offset:-5px}
.opening-image-popup .opening-event-scroll{background:#d8c8bb;scrollbar-gutter:stable}
.opening-image-popup .opening-event-panel{width:100%;margin:0;padding:0;background:#e8ddd2}
.opening-image-popup .opening-event-panel[hidden]{display:none}
.opening-image-popup .opening-event-panel img{display:block;width:100%;height:auto}
.opening-image-popup .opening-event-actions{min-height:58px;padding:9px 11px 9px 18px;background:#f4ece3}
.opening-image-popup .opening-event-actions p{font-size:10px}
.opening-image-popup .opening-event-actions a,.opening-image-popup .opening-event-actions button{min-height:38px;font-size:11px}

@media(max-width:700px){
  .opening-image-popup{padding:7px}
  .opening-image-popup .opening-event-card{width:100%;height:calc(100svh - 14px)}
  .opening-image-header{min-height:60px;padding:10px 12px 9px 15px}
  .opening-image-header small{font-size:6px}.opening-image-header h2{font-size:17px}
  .opening-image-header .opening-event-close{width:36px;height:36px;font-size:22px;line-height:32px}
  .opening-image-popup .opening-event-tabs{height:48px}.opening-image-popup .opening-event-tabs button{font-size:14px}
  .opening-image-popup .opening-event-actions{min-height:52px;padding:7px 8px}.opening-image-popup .opening-event-actions>div{width:100%}
  .opening-image-popup .opening-event-actions a,.opening-image-popup .opening-event-actions button{min-height:38px}
}

/* v66 — non-modal, Gnuboard-style rotating layer popup */
.opening-layer-popup{
  position:fixed;
  z-index:1000;
  inset:88px auto auto max(22px,calc((100vw - 1380px)/2 + 22px));
  display:flex;
  flex-direction:column;
  width:min(440px,calc(100vw - 44px));
  height:min(760px,calc(100svh - 112px));
  padding:0;
  overflow:hidden;
  border:1px solid #533a2d;
  background:#f4ece4;
  box-shadow:0 18px 55px rgb(27 17 11 / 24%);
  font-family:"Frame Nanum Myeongjo","Malgun Gothic",serif;
  animation:openingLayerIn .4s cubic-bezier(.2,.65,.32,1) both;
}
.opening-layer-popup[hidden]{display:none}
.opening-layer-stage{
  position:relative;
  flex:1;
  min-height:0;
  overflow:auto;
  overscroll-behavior:contain;
  background:#e8ddd2;
  scrollbar-width:thin;
  scrollbar-color:#81614d transparent;
}
.opening-layer-slide{width:100%;margin:0;background:#e8ddd2}
.opening-layer-slide[hidden]{display:none}
.opening-layer-slide.is-active{animation:openingSlideFade .58s ease both}
.opening-layer-slide img{display:block;width:100%;height:auto}
.opening-layer-slide picture{display:block;width:100%}
.opening-layer-footer{
  flex:none;
  display:grid;
  grid-template-columns:minmax(0,1fr) 84px;
  min-height:48px;
  border-top:1px solid #ad9b8d;
  background:#f7f1eb;
}
.opening-layer-footer button{
  min-width:0;
  padding:0 15px;
  border:0;
  color:#4a382e;
  background:transparent;
  font:400 13px/1 "Frame Nanum Myeongjo","Malgun Gothic",serif;
  letter-spacing:-.035em;
  cursor:pointer;
}
.opening-layer-footer button+button{border-left:1px solid #c5b7ab}
.opening-layer-footer button:hover,.opening-layer-footer button:focus-visible{color:#fff;background:#4b3428;outline:0}
@keyframes openingLayerIn{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
@keyframes openingSlideFade{from{opacity:.25}to{opacity:1}}

@media(max-width:700px){
  .opening-layer-popup{
    inset:66px auto auto 10px;
    width:calc(100vw - 20px);
    height:min(760px,calc(100svh - 82px));
    box-shadow:0 14px 38px rgb(27 17 11 / 22%);
  }
  .opening-layer-footer{grid-template-columns:minmax(0,1fr) 76px;min-height:48px}
  .opening-layer-footer button{padding:0 10px;font-size:12px}
}

/* v67 — larger horizontal slider and classic edge-aligned popup controls */
.opening-layer-popup{
  inset:70px auto auto max(24px,calc((100vw - 1540px)/2 + 24px));
  align-items:stretch;
  justify-content:flex-start;
  width:min(900px,calc(100vw - 48px));
  height:min(900px,calc(100svh - 92px));
}
.opening-layer-stage{width:100%;overflow-x:hidden;overflow-y:auto}
.opening-layer-track{
  position:relative;
  display:block;
  width:100%;
  min-height:1px;
  overflow:hidden;
  transition:height .42s cubic-bezier(.55,.08,.2,1);
  will-change:height;
}
.opening-layer-slide{
  position:absolute;
  inset:0 auto auto 0;
  width:100%;
  min-width:0;
  transform:translate3d(100%,0,0);
  transition:transform .78s cubic-bezier(.55,.08,.2,1);
  will-change:transform;
  animation:none!important;
}
.opening-layer-slide:first-child{transform:translate3d(0,0,0)}
.opening-layer-slide[hidden]{display:block}
.opening-layer-nav{
  position:absolute;
  z-index:4;
  top:50%;
  right:13px;
  left:13px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  pointer-events:none;
  transform:translateY(-50%);
}
.opening-layer-nav button{
  display:grid;
  width:44px;
  height:44px;
  padding:0;
  place-items:center;
  border:1px solid rgb(255 255 255 / 48%);
  border-radius:50%;
  color:#fff;
  background:rgb(48 34 27 / 68%);
  box-shadow:0 8px 25px rgb(24 14 9 / 22%);
  backdrop-filter:blur(7px);
  cursor:pointer;
  pointer-events:auto;
  transition:transform .22s ease,background .22s ease,border-color .22s ease;
}
.opening-layer-nav button span{display:block;margin-top:-3px;font:300 35px/1 Arial,sans-serif}
.opening-layer-nav button:hover,.opening-layer-nav button:focus-visible{border-color:#fff;background:#3d2a21;outline:0;transform:scale(1.06)}
.opening-layer-count{
  position:absolute;
  right:14px;
  bottom:62px;
  display:flex;
  align-items:center;
  gap:6px;
  padding:6px 10px;
  border:1px solid rgb(255 255 255 / 32%);
  border-radius:99px;
  color:#f9f2eb;
  background:rgb(48 34 27 / 56%);
  font:500 10px/1 Arial,sans-serif;
  letter-spacing:.08em;
  backdrop-filter:blur(7px);
}
.opening-layer-count b{font:600 11px/1 Arial,sans-serif}.opening-layer-count i{opacity:.55;font-style:normal}
.opening-layer-footer{
  display:flex;
  align-items:center;
  justify-content:space-between;
  width:100%;
  min-height:48px;
  padding:0 16px;
  border-top:0;
  background:#35251e;
}
.opening-layer-footer button{
  width:auto;
  min-height:48px;
  padding:0;
  color:#f4ece5;
  background:transparent;
  font-size:12px;
  text-align:left;
}
.opening-layer-footer button:first-child{margin-right:auto}
.opening-layer-footer button:last-child{margin-left:auto;text-align:right}
.opening-layer-footer button+button{border-left:0}
.opening-layer-footer button:hover,.opening-layer-footer button:focus-visible{color:#fff;background:transparent;text-decoration:underline;text-underline-offset:4px}

@media(max-width:700px){
  .opening-layer-popup{
    inset:62px auto auto 8px;
    width:calc(100vw - 16px);
    height:min(780px,calc(100svh - 76px));
  }
  .opening-layer-footer{padding:0 13px}
  .opening-layer-footer button{padding:0;font-size:11.5px}
  .opening-layer-nav{right:8px;left:8px}
  .opening-layer-nav button{width:40px;height:40px}
  .opening-layer-nav button span{font-size:31px}
  .opening-layer-count{right:10px;bottom:59px}
}

@media(prefers-reduced-motion:reduce){
  .opening-layer-track,.opening-layer-slide{transition-duration:.01ms}
}

/* v68 — one locally hosted Nanum family across every HTML interface */
html,body,
body *,body *::before,body *::after,
button,input,select,textarea{
  font-family:"Frame Nanum Myeongjo","Malgun Gothic",serif!important;
  font-synthesis:none;
  text-rendering:optimizeLegibility;
}

/* v73 — use the real regular face for every previously requested light weight. */
@font-face{
  font-family:"Frame Nanum Myeongjo";
  src:url("../assets/fonts/nanum-myeongjo-400.ttf") format("truetype");
  font-style:normal;
  font-weight:300;
  font-display:swap;
}
html,body,body *,body *::before,body *::after,
button,input,select,textarea{
  text-rendering:auto!important;
  font-kerning:normal;
  -webkit-font-smoothing:auto;
}
.site-shell .section-label,
.site-shell .space-guide p,
.site-shell .treatment-sample-bar>p,
.site-shell .visit-sample-bar>p,
.site-shell .treatment-visual-note{
  font-size:12px;
  font-weight:400;
  line-height:1.7;
}

/* v74 — keep the editorial serif for display type only.
   Small Korean copy uses a screen-optimised sans stack so strokes such as
   the ㄷ in "정돈" remain open and legible at normal browser scale. */
:root{
  --font-readable:"Marcellus","SUIT","Malgun Gothic","Apple SD Gothic Neo",sans-serif;
  --font-editorial:"Frame Nanum Myeongjo","Malgun Gothic",serif;
  --font-ko:var(--font-readable);
  --font-en:var(--font-readable);
}
html,body,
body *,body *::before,body *::after,
button,input,select,textarea{
  font-family:var(--font-readable)!important;
  font-synthesis:weight;
  text-rendering:auto!important;
}
h1,h2,
.hero-eyebrow,
.hero-copy h2,
.brand-name,
.care-value,
.story-heading h2,
.opening-event-hero h2,
.opening-price-row>b,
.opening-price-sale b{
  font-family:var(--font-editorial)!important;
}
body p,body li,body dt,body dd,body address{
  font-weight:400;
}
.site-shell.site-shell,
.site-shell.site-shell *,.site-shell.site-shell *::before,.site-shell.site-shell *::after{
  font-family:var(--font-readable)!important;
}
.site-shell.site-shell :is(
  h1,h2,
  .hero-eyebrow,
  .hero-copy h2,
  .brand-name,
  .care-value,
  .story-heading h2
){
  font-family:var(--font-editorial)!important;
}
.site-shell.site-shell>section:not(.hero) h3{
  font-family:var(--font-editorial)!important;
}
.site-shell.site-shell :is(p,li,dt,dd,address){
  font-weight:400!important;
}

/* Official Frame Cheongdam logo system. */
.brand-logo-pair{
  position:relative;
  display:block;
  width:152px;
  height:54px;
  flex:0 0 auto;
}
.brand-logo{
  position:absolute;
  top:50%;
  left:0;
  display:block;
  width:100%;
  height:auto!important;
  object-fit:contain!important;
  transform:translateY(-50%);
  transition:opacity .26s ease;
}
.brand-logo-light{opacity:1}
.brand-logo-dark{opacity:0}
.site-header-subpage .brand-logo-light{opacity:0}
.site-header-subpage .brand-logo-dark{opacity:1}
.site-header-subpage.is-scrolled .brand-logo-light,
.site-header-subpage.menu-open .brand-logo-light{opacity:1}
.site-header-subpage.is-scrolled .brand-logo-dark,
.site-header-subpage.menu-open .brand-logo-dark{opacity:0}
.subpage-body.page-about .site-header-subpage:not(.is-scrolled):not(.menu-open):not(.dropdown-open):not(.treatment-open) .brand-logo-light{opacity:1}
.subpage-body.page-about .site-header-subpage:not(.is-scrolled):not(.menu-open):not(.dropdown-open):not(.treatment-open) .brand-logo-dark{opacity:0}
.footer-brand-logo{
  display:block;
  width:140px;
  height:auto!important;
  object-fit:contain!important;
}
.sub-footer-brand-logo{
  display:block;
  width:182px;
  height:auto!important;
  object-fit:contain!important;
}

@media(hover:hover) and (min-width:701px){
  .site-header.treatment-open .brand-logo-light,
  .site-header.dropdown-open .brand-logo-light{opacity:0}
  .site-header.treatment-open .brand-logo-dark,
  .site-header.dropdown-open .brand-logo-dark{opacity:1}
}

@media(max-width:700px){
  .brand-logo-pair{width:128px;height:46px}
  .footer-brand-logo{width:126px}
  .sub-footer-brand-logo{width:162px}
}

/* A single quiet brand seal in the white space-gallery section. */
.space-gallery::before{
  content:"";
  position:absolute;
  z-index:0;
  top:clamp(98px,7vw,112px);
  right:clamp(22px,4.5vw,86px);
  width:clamp(68px,5.6vw,92px);
  aspect-ratio:1;
  background:url('../assets/brand/symbol-taupe.png') center/contain no-repeat;
  opacity:.16;
  pointer-events:none;
}
.space-gallery>.space-heading,
.space-gallery>.space-samples{position:relative;z-index:1}

@media(max-width:700px){
  .space-gallery::before{top:72px;right:18px;width:50px;opacity:.13}
}

/* Shared compact footer — used by the home and every subpage. */
.global-footer{
  position:relative;
  z-index:2;
  color:#d8cbbf;
  background:#241a14;
  border-top:1px solid rgba(255,255,255,.08);
}
.global-footer-inner{max-width:1360px;margin:0 auto;padding:0 clamp(24px,4.5vw,68px)}
.global-footer-head{
  display:grid;
  grid-template-columns:minmax(180px,.75fr) minmax(280px,1.25fr) auto;
  align-items:center;
  gap:42px;
  min-height:148px;
  border-bottom:1px solid rgba(255,255,255,.12);
}
.global-footer-brand{display:block;width:148px;line-height:0}
.global-footer-brand img{display:block;width:100%;height:auto;object-fit:contain}
.global-footer-head>p{margin:0;color:#a9998d;font-size:12px;line-height:1.8}
.global-footer-head>p span{display:block;margin-bottom:5px;color:#efe5da;font-family:Marcellus,SUIT,sans-serif!important;font-size:13px;letter-spacing:.12em}
.global-footer-visit{justify-self:end;padding:12px 0;color:#efe4d8;font-family:Marcellus,SUIT,sans-serif!important;font-size:11px;letter-spacing:.13em;text-decoration:none}
.global-footer-visit b,.global-footer-social b{font-weight:400}
.global-footer-body{
  display:grid;
  grid-template-columns:1.15fr 1.3fr 1.05fr auto;
  gap:clamp(38px,5vw,78px);
  padding:58px 0 54px;
}
.global-footer-body p{margin:0 0 19px;color:#9c826f;font-family:Marcellus,SUIT,sans-serif!important;font-size:9px;font-weight:500!important;letter-spacing:.18em}
.global-footer-nav>div{display:grid;grid-template-columns:repeat(2,minmax(74px,1fr));gap:8px 28px}
.global-footer-nav a,.global-footer-map,.global-footer-social a,.global-footer-social span{color:#cfc0b4;font-size:12px;text-decoration:none;transition:color .2s ease}
.global-footer-nav a:hover,.global-footer-map:hover,.global-footer-social a:hover{color:#fff8f1}
.global-footer-phone{display:block;width:max-content;color:#fff8f0;font-family:Marcellus,SUIT,sans-serif!important;font-size:22px;letter-spacing:.04em;text-decoration:none}
.global-footer-contact address{max-width:330px;margin:12px 0 11px;color:#b6a79c;font-size:12px;font-style:normal;line-height:1.75}
.global-footer-map{font-size:11px}
.global-footer-hours strong,.global-footer-hours span,.global-footer-hours small{display:block}
.global-footer-hours strong{color:#f1e7dd;font-family:Marcellus,SUIT,sans-serif!important;font-size:15px;font-weight:400}
.global-footer-hours span{margin-top:7px;color:#bba99c;font-size:11px}
.global-footer-hours small{max-width:260px;margin-top:18px;color:#8f8177;font-size:10px;line-height:1.75}
.global-footer-social{display:flex;min-width:110px;flex-direction:column;align-items:flex-start;gap:8px}
.global-footer-social p{margin-bottom:11px}
.global-footer-social a,.global-footer-social span{font-family:Marcellus,SUIT,sans-serif!important;font-size:10px;letter-spacing:.08em}
.global-footer-bottom{display:flex;align-items:center;justify-content:space-between;gap:30px;padding:23px 0 28px;border-top:1px solid rgba(255,255,255,.1)}
.global-footer-bottom>p{margin:0;color:#766a61;font-family:Marcellus,SUIT,sans-serif!important;font-size:8px;letter-spacing:.1em}
.global-footer-bottom nav{display:flex;gap:22px}
.global-footer-bottom a{color:#978a80;font-size:10px;text-decoration:none}
.global-footer-bottom a:hover{color:#e9ded4}
.consent a{margin-left:4px;color:inherit;font-weight:700;text-underline-offset:3px}

/* Messenger quick navigation */
.contact-quicknav{position:fixed;z-index:190;top:50%;right:clamp(14px,1.65vw,28px);width:62px;height:220px;transform:translateY(-50%);pointer-events:none}
.contact-quicknav-shell{position:absolute;top:0;right:0;width:62px;padding:15px 8px 11px;overflow:hidden;border:1px solid rgba(226,207,194,.13);border-right-color:rgba(185,146,116,.62);border-radius:5px;background:rgba(43,31,25,.965);box-shadow:0 20px 55px rgba(30,20,15,.25);color:#fff;pointer-events:auto;transition:width .45s cubic-bezier(.2,.75,.2,1),background .3s ease,box-shadow .3s ease;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}
.contact-quicknav:hover .contact-quicknav-shell,.contact-quicknav:focus-within .contact-quicknav-shell{width:206px;background:rgba(40,28,23,.985);box-shadow:0 24px 64px rgba(30,20,15,.31)}
.contact-quicknav-brand{display:grid;width:188px;grid-template-columns:46px 1fr;align-items:center;gap:11px;padding-bottom:14px;white-space:nowrap}
.contact-quicknav-brand img{display:block;width:23px;height:23px;justify-self:center;object-fit:contain}
.contact-quicknav-brand span{color:rgba(255,255,255,.76);font-family:'Marcellus','SUIT',sans-serif!important;font-size:8px;line-height:1.4;letter-spacing:.16em;opacity:0;transform:translateX(-5px);transition:opacity .24s ease .08s,transform .3s ease .06s}
.contact-quicknav:hover .contact-quicknav-brand span,.contact-quicknav:focus-within .contact-quicknav-brand span{opacity:1;transform:none}
.contact-quicknav-list{display:grid;width:188px}
.contact-quicknav-item{position:relative;display:grid;width:188px;height:50px;margin:0;padding:0;grid-template-columns:46px 1fr 18px;align-items:center;gap:11px;border:0;border-top:1px solid rgba(255,255,255,.1);border-radius:0;background:transparent;color:#fff;text-align:left;text-decoration:none;appearance:none;-webkit-appearance:none;transition:background .24s ease,opacity .24s ease;cursor:pointer}
.contact-quicknav-icon{display:grid;width:22px;height:22px;justify-self:center;place-items:center;filter:invert(1);transition:transform .25s ease}
.contact-quicknav-icon img{display:block;width:100%;height:100%;object-fit:contain}
.contact-quicknav-copy{display:grid;min-width:0;opacity:0;transform:translateX(-5px);transition:opacity .22s ease .08s,transform .3s ease .06s}
.contact-quicknav-copy b{font-family:'Marcellus','SUIT',sans-serif!important;font-size:11px;font-weight:400;letter-spacing:.045em}
.contact-quicknav-copy small{margin-top:3px;color:rgba(255,255,255,.47);font-size:10px;font-weight:500;letter-spacing:-.01em;white-space:nowrap}
.contact-quicknav-arrow{font-family:'Marcellus',sans-serif;font-size:13px;font-style:normal;opacity:0;transform:translateX(-4px);transition:opacity .22s ease .1s,transform .3s ease .08s}

/* Locale-specific font stacks: brand-consistent Latin and crisp CJK rendering. */
html[lang="en"] body{--font-ko:"SUIT","Segoe UI",Arial,sans-serif;--font-en:"Marcellus","SUIT",serif}
html[lang="zh-CN"] body{--font-ko:"Microsoft YaHei","PingFang SC","Noto Sans SC",sans-serif;--font-en:"Marcellus","Microsoft YaHei",serif}
html[lang="zh-TW"] body{--font-ko:"Microsoft JhengHei","PingFang TC","Noto Sans TC",sans-serif;--font-en:"Marcellus","Microsoft JhengHei",serif}
html[lang^="zh"] body{font-family:var(--font-ko);font-synthesis:none;text-rendering:optimizeLegibility}
html[lang="en"] .hero{--font-ko:"SUIT","Segoe UI",Arial,sans-serif;--font-en:"Marcellus","SUIT",serif}
html[lang="zh-CN"] .hero{--font-ko:"Microsoft YaHei","PingFang SC","Noto Sans SC",sans-serif;--font-en:"Marcellus","Microsoft YaHei",serif}
html[lang="zh-TW"] .hero{--font-ko:"Microsoft JhengHei","PingFang TC","Noto Sans TC",sans-serif;--font-en:"Marcellus","Microsoft JhengHei",serif}
html[lang="en"] .main-menu .menu-link,html[lang="en"] .language-links{font-family:"Marcellus","SUIT",serif!important}
html[lang="zh-CN"] .main-menu .menu-link,html[lang="zh-CN"] .language-links,html[lang="zh-CN"] .nav-parent{font-family:"Microsoft YaHei","PingFang SC",sans-serif!important}
html[lang="zh-TW"] .main-menu .menu-link,html[lang="zh-TW"] .language-links,html[lang="zh-TW"] .nav-parent{font-family:"Microsoft JhengHei","PingFang TC",sans-serif!important}
.contact-quicknav:hover .contact-quicknav-copy,.contact-quicknav:hover .contact-quicknav-arrow,.contact-quicknav:focus-within .contact-quicknav-copy,.contact-quicknav:focus-within .contact-quicknav-arrow{opacity:1;transform:none}
.contact-quicknav-item.is-active:hover,.contact-quicknav-item.is-active:focus-visible,.contact-quicknav-item.is-copied{outline:0;background:rgba(255,255,255,.065)}
.contact-quicknav-item.is-active:hover .contact-quicknav-icon,.contact-quicknav-item.is-active:focus-visible .contact-quicknav-icon,.contact-quicknav-item.is-copied .contact-quicknav-icon{transform:scale(.91)}
.contact-quicknav-item.is-disabled{opacity:.46;cursor:default}

@media(max-width:1050px){
  .global-footer-body{grid-template-columns:1fr 1.25fr 1fr}
  .global-footer-social{grid-column:1/-1;flex-direction:row;flex-wrap:wrap;align-items:center;padding-top:25px;border-top:1px solid rgba(255,255,255,.09)}
  .global-footer-social p{width:100%;margin-bottom:3px}
}

@media(max-width:700px){
  .global-footer-inner{padding:0 20px}
  .global-footer-head{grid-template-columns:1fr auto;gap:20px;min-height:116px}
  .global-footer-brand{width:126px}
  .global-footer-head>p{display:none}
  .global-footer-visit{font-size:9px}
  .global-footer-body{grid-template-columns:1fr 1fr;gap:42px 24px;padding:42px 0 40px}
  .global-footer-nav{grid-column:1/-1;padding-bottom:34px;border-bottom:1px solid rgba(255,255,255,.09)}
  .global-footer-nav>div{grid-template-columns:repeat(4,auto);justify-content:space-between;gap:13px 18px}
  .global-footer-nav a{font-size:11px}
  .global-footer-contact{grid-column:1/-1}
  .global-footer-phone{font-size:21px}
  .global-footer-contact address{max-width:290px}
  .global-footer-hours{grid-column:1/-1}
  .global-footer-social{grid-column:1/-1;gap:9px 18px;margin-top:-6px;padding-top:25px}
  .global-footer-bottom{align-items:flex-start;flex-direction:column-reverse;gap:17px}
  .global-footer-bottom nav{gap:18px}
  .contact-quicknav{top:auto;right:50%;bottom:max(12px,env(safe-area-inset-bottom));width:148px;height:56px;transform:translateX(50%)}
  .contact-quicknav-shell,.contact-quicknav:hover .contact-quicknav-shell,.contact-quicknav:focus-within .contact-quicknav-shell{position:relative;width:auto;padding:5px;border-radius:999px;background:rgba(43,31,25,.96);box-shadow:0 12px 34px rgba(39,27,21,.24)}
  .contact-quicknav-brand{display:none}
  .contact-quicknav-list{display:flex;width:auto;gap:3px}
  .contact-quicknav-item{width:46px;height:46px;grid-template-columns:1fr;gap:0;border:0;border-radius:50%}
  .contact-quicknav-icon{width:21px;height:21px}
  .contact-quicknav-copy,.contact-quicknav-arrow{display:none}
}

/* v92 — keep all seven treatment groups on one horizontal row. */
@media(min-width:701px){
  .site-header .treatment-mega-inner{width:min(1360px,calc(100% - 40px))}
  .site-header .mega-treatment-grid{grid-template-columns:repeat(7,minmax(0,1fr))}
  .site-header .mega-treatment-grid section{padding-inline:clamp(8px,1.05vw,16px)}
}

@media(min-width:701px) and (max-width:960px){
  .site-header .treatment-mega-inner{width:calc(100% - 24px)}
  .site-header .mega-treatment-grid section{padding-inline:6px}
  .site-header .mega-category h3{font-size:14px;letter-spacing:-.045em}
  .site-header .mega-treatment-grid li>a,
  .site-header .mega-empty-link{font-size:11.5px}
}
