/* Forest palette: distinct analogous surfaces, no repeated white cards. */
:root{--forest:#a8c6a2;--ink:#eff4e9;--sage:#b5c9a7;--mist:#253f35;--paper:#132d25;--line:#496457;--white:#10271f;--muted:#c0cec1;--deep:#0e231d;--olive:#384b35;--panel:#294438;--focus:#d6e6b9}
body{background:var(--paper);color:var(--ink)}header{height:120px;padding-top:24px;gap:22px}body.scrolled header,body.internal header{height:108px;background:#122d25f5;border-color:var(--line);color:var(--ink)}.logo span{color:var(--muted)}.book,.button{color:var(--deep);background:var(--forest);border-color:var(--forest)}.button.light{color:var(--ink);background:transparent;border-color:#d4e0cf80}.button:hover,.book:hover{filter:brightness(1.1)}.languages{display:flex;gap:16px;position:absolute;right:var(--gap);top:9px;align-items:center}.languages [data-lang]{background:none;border:0;color:inherit;font-size:12px;padding:3px 0;opacity:.76;min-height:24px;white-space:nowrap}.languages [data-lang][aria-pressed=true]{opacity:1;box-shadow:0 1px currentColor}.languages [data-lang]:hover{opacity:1}nav{gap:22px;font-size:14px}.soft{background:var(--mist)}.hero:after{background:linear-gradient(90deg,#10251e8a,transparent 80%)}.section.concern-layout{background:var(--paper)}.editorial{background:var(--olive)}.section:has(.journal-list){background:var(--deep)}.cta{background:#3d553c}.cta p{color:var(--muted)}footer{background:#0c211a}.page-heading{background:#2b4334}.page-heading .quiet{color:#c7d5ba}.search,.form-grid input,.form-grid select,.form-grid textarea{background:#1d392e;color:var(--ink);border-color:#617766}.search::placeholder,input::placeholder,textarea::placeholder{color:#afc0ad}input[type=date]{color-scheme:dark}.filters button{color:var(--ink)}.filters button.active{background:var(--sage);color:var(--deep)}.success{background:var(--panel)}.skip{background:var(--sage);color:var(--deep)}.concern-item:hover .arrow{color:var(--deep)}.social{right:max(22px,env(safe-area-inset-right));gap:12px}.social button{width:62px;height:64px;border-radius:18px;border:1px solid #ffffff20;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:2px;box-shadow:0 5px 22px #00150e40;color:#eff4e9;background:#345b45}.social svg{width:28px;height:28px;display:block}.social button[data-social="카카오톡"]{background:#fee500;color:#391b1b}.social button[data-social="네이버 블로그"]{background:#03a85d;color:white}.contact-label{font-size:10px;line-height:1.25;white-space:nowrap;max-width:100%}.social small{right:74px;top:18px;background:var(--sage);color:var(--deep)}.section,.medical-copy,.treatment-intro p{scroll-margin-top:125px}.treatment-heading h1{font-size:clamp(46px,6vw,80px)}.treatment-tabs{display:flex;gap:10px;margin-top:38px;flex-wrap:wrap}.treatment-tabs button{border:1px solid var(--line);background:transparent;color:var(--ink);border-radius:30px;padding:10px 20px}.treatment-tabs button:hover{background:var(--sage);color:var(--deep)}.treatment-intro{display:grid;grid-template-columns:1.25fr 1fr;gap:8vw;align-items:center}.treatment-intro h2{font-size:38px;margin-bottom:28px}.treatment-intro h3{margin-top:35px;margin-bottom:18px;font-size:24px}.treatment-intro p,.medical-copy p,.medical-grid p,.care-steps p{color:var(--muted);font-size:17px;line-height:1.9;word-break:keep-all;overflow-wrap:anywhere}.source-link{display:inline-block;margin-top:24px;font-size:13px;text-decoration:underline;text-underline-offset:5px}.treatment-art{height:400px;border-radius:48% 48% 10px 10px;background:radial-gradient(ellipse at 50% 30%,#7b9368,#314d3b 58%,#1a3429);display:grid;place-items:center;position:relative;overflow:hidden}.treatment-art strong{font:48px Georgia,serif;z-index:1;text-align:center;line-height:1.3;color:#eef3de}.orb{position:absolute;border:1px solid #d7e5be70;border-radius:50%;width:210px;height:210px;background:radial-gradient(circle at 30% 20%,#e3f0cc55,#779b7640 45%,transparent);box-shadow:inset 0 0 30px #b6c5a333}.orb-one{left:-30px;top:20px}.orb-two{right:-35px;bottom:-40px;width:280px;height:280px}.orb-three{right:12px;top:40px;width:90px;height:90px}.treatment-art-rejuran{background:radial-gradient(ellipse at 50% 30%,#7b9a85,#304f40 58%,#193126)}.treatment-art-filler{background:radial-gradient(ellipse at 50% 30%,#91a272,#455c39 58%,#223727)}.medical-band{background:var(--olive)}.medical-copy{max-width:870px;margin:auto}.medical-copy h2{margin-bottom:28px}.medical-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:36px}.medical-grid article{border-top:1px solid var(--sage);padding-top:25px}.medical-grid h3{margin-bottom:22px;font-size:25px}.care-steps{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:1fr 1fr;gap:42px}.care-steps li{display:flex;gap:24px}.care-steps li>span{font:32px Georgia;color:var(--sage)}.care-steps h3{font-size:24px;margin-bottom:15px}.medical-note{font-size:13px!important;line-height:1.8;margin-top:30px;color:var(--muted)}.urgent{border-left:3px solid #d7c69a;background:#46513a;padding:28px;margin-top:35px}.urgent h3{font-size:24px;color:#fff0c8;margin-bottom:18px}.urgent p{color:#f3efdc}.medical-sources{background:var(--deep)}.medical-sources>p{max-width:900px;margin-top:22px;color:var(--muted)}.medical-sources a{text-decoration:underline;text-underline-offset:4px;font-size:14px}.medical-sources li{margin:12px 0}.cta-actions{display:flex;gap:15px;flex-wrap:wrap}.faq{max-width:900px}.faq summary{line-height:1.6}.faq p{line-height:1.9}html[lang=en] .hero-copy h1{font-size:clamp(38px,4.5vw,68px)}html[lang=en] .hero-copy{max-width:60%}html[lang=ja],html[lang=zh-Hant]{font-family:'Pretendard Variable','Yu Gothic','Microsoft JhengHei',sans-serif}
@media(max-width:1100px){nav{display:none;position:absolute;top:108px;left:0;right:0;padding:28px;background:var(--paper);color:var(--ink);flex-direction:column;font-size:18px;box-shadow:0 12px 24px #00150e50}header.open nav{display:flex}#menu{display:block}header .logo{margin-right:auto}header.open{background:var(--paper);color:var(--ink)}.book{font-size:13px}.medical-grid{gap:24px}}
@media(max-width:700px){header,body.scrolled header,body.internal header{height:108px;padding:28px 20px 0;gap:14px}.languages{right:22px;left:22px;justify-content:flex-end;gap:17px;top:7px}.languages [data-lang]{font-size:11px}.logo{font-size:36px}.book{gap:10px;padding:8px 12px;font-size:11px}nav{top:108px}.hero-copy h1{font-size:44px}.hero-copy{bottom:125px}.hero-copy p{max-width:86%}.hero-foot{font-size:10px;gap:20px}.hero-foot span:first-child{letter-spacing:1px}.page-heading{padding-top:152px}.social{right:14px;gap:9px}.social button{width:49px;height:55px;border-radius:14px}.social svg{width:24px;height:24px}.contact-label{font-size:8px}.social small{right:59px;top:14px}.treatment-intro{grid-template-columns:1fr;gap:36px}.treatment-intro h2{font-size:30px}.treatment-art{height:260px;order:-1}.medical-grid,.care-steps{grid-template-columns:1fr}.treatment-tabs{gap:8px}.treatment-tabs button{font-size:13px;padding:8px 12px}.medical-grid h3,.care-steps h3{font-size:22px}.urgent{padding:22px}.urgent h3{font-size:22px}.treatment-intro p,.medical-copy p,.medical-grid p,.care-steps p{font-size:16px}.cta-actions{flex-direction:column;width:100%}html[lang=en] .hero-copy{max-width:90%}html[lang=en] .hero-copy h1{font-size:40px}.section{padding-right:30px}.section,.medical-copy{scroll-margin-top:120px}}
@media(max-width:900px){.treatment-intro{grid-template-columns:1fr;gap:32px}.treatment-art{height:280px;order:-1}.medical-grid{grid-template-columns:1fr}.medical-grid article{max-width:700px}.treatment-intro h2{font-size:32px}}
@media(max-height:650px){.social{gap:7px}.social button{width:49px;height:48px;border-radius:13px}.social svg{width:22px;height:22px}.contact-label{font-size:8px}.social small{right:59px;top:10px}}

.hero>img{animation:none}.hero-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;z-index:-2;opacity:0;transition:opacity .65s;pointer-events:none}.hero-video.ready{opacity:1}.hero-video-toggle{position:absolute;right:var(--gap);bottom:76px;z-index:2;width:40px;height:40px;border-radius:50%;border:1px solid #ffffff80;color:white;background:#10251e80;font-size:16px}.hero-video-toggle[hidden]{display:none}@media(max-width:700px){.hero-video{object-position:68% center}.hero-video-toggle{right:24px;bottom:72px}}@media(prefers-reduced-motion:reduce){.hero-video,.hero-video-toggle{display:none}}
/* Icon-only contact controls with names on hover and keyboard focus. */
.social .contact-label{position:absolute;right:calc(100% + 12px);top:50%;transform:translate(6px,-50%);max-width:none;padding:7px 12px;border-radius:7px;background:var(--sage);color:var(--deep);font-size:12px;line-height:1.4;white-space:nowrap;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .18s,transform .18s,visibility .18s}
.social button:focus-visible .contact-label{opacity:1;visibility:visible;transform:translate(0,-50%)}
@media(hover:hover){.social button:hover .contact-label{opacity:1;visibility:visible;transform:translate(0,-50%)}}
.social button:has(small.visible) .contact-label{opacity:0;visibility:hidden}
.social small{right:calc(100% + 12px);top:50%;transform:translateY(-50%);font-size:12px;line-height:1.4}
.social button{width:54px;height:54px;gap:0;border-radius:16px}
.social button:focus-visible{outline:2px solid var(--sage);outline-offset:4px}
@media(max-width:700px),(max-height:650px){.social button{width:46px;height:46px;border-radius:14px}.social svg{width:24px;height:24px}}
header,body.scrolled header,body.internal header{border-bottom:0;box-shadow:none}body:not(.scrolled):not(.internal) header:not(.open){background:transparent;backdrop-filter:none}

.social button.contact-kakao{background:#fee500;color:#3c1e1e;border-color:#fee500;border-radius:12px}.social button.contact-kakao svg{width:32px;height:32px}
.social button.contact-line{background:#06c755;border-color:#06c755;color:white}
.social button.contact-whatsapp{background:#25d366;border-color:#25d366;color:white}
.social button.contact-wechat{background:#07c160;border-color:#07c160;color:white}
.social button.contact-instagram{background:radial-gradient(circle at 28% 100%,#feda75 0%,#fa7e1e 28%,#d62976 57%,#962fbf 80%,#4f5bd5 100%);border-color:#ffffff30;color:white}
.social button:is(.contact-line,.contact-whatsapp,.contact-wechat,.contact-instagram) svg{width:30px;height:30px}
/* Match the supplied app marks and retain sufficient room below the header. */
.social{--contact-size:54px;--contact-gap:12px;--rail-height:calc(var(--contact-count)*var(--contact-size) + (var(--contact-count) - 1)*var(--contact-gap));gap:var(--contact-gap);bottom:clamp(16px,40svh,calc(100svh - 124px - var(--rail-height)))}
.social button.contact-kakao{background:#ffe812;color:#000;border-color:#ffe812}
.social button.contact-line{background:#00c300;border-color:#00c300}
.social button.contact-wechat{background:#00c800;border-color:#00c800}
.social button.contact-whatsapp{background:linear-gradient(135deg,#43dc20,#079a00);border-color:transparent}
.social button.contact-instagram{background:radial-gradient(circle at 30% 107%,#ffdf70 0%,#ffb84c 18%,#ff514c 43%,#cf329b 68%,#4f5fc1 100%)}
.social button.contact-youtube{background:#ff5148;border-color:#ff5148;border-radius:50%}
.social button.contact-naver{background:#03a85d;color:white;border-color:#03a85d}
.social button:is(.contact-kakao,.contact-line,.contact-wechat,.contact-whatsapp,.contact-instagram,.contact-youtube) svg{width:78%;height:78%}
.social button.contact-youtube svg{width:64%;height:64%}
@media(max-width:700px),(max-height:650px){.social{--contact-size:46px;--contact-gap:7px}}
.social button{padding:0}

.hero-video-toggle{display:grid;place-items:center;padding:10px}.hero-video-toggle svg{width:18px;height:18px}

/* Preserve the authored dark-green palette and brand colors under automatic darkening. */
:root{color-scheme:only light}
/* Circular contact rail, stacked upward from 10% above the viewport bottom. */
.social{bottom:10svh}
.social button[class]{border-radius:50%}
/* Charcoal editorial sections balance the forest brand palette. */
.section.concern-layout{display:block;background:#181b1c;padding:100px max(var(--gap),80px)}
.concern-content>.quiet,.concern-content>h2{text-align:center}
.concern-content>h2{margin:20px auto 64px;max-width:820px}
.concern-layout .concern-list{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:36px;margin:0}
.concern-layout .concern-item{position:relative;display:flex;align-items:flex-end;min-height:255px;padding:28px;border:1px solid transparent;border-radius:28px;background:#202425;color:#f2f2ee;transition:background .25s,transform .25s,border-color .25s;overflow:visible}
.concern-layout .concern-item:hover,.concern-layout .concern-item:focus-visible{background:#282e2e;border-color:#6f8278;transform:translateY(-4px)}
.concern-avatar{position:absolute;right:24px;top:24px;width:112px;height:112px;border-radius:50%;padding:6px}
.concern-avatar img{display:block;width:100%;height:100%;border-radius:50%;object-fit:cover}
.concern-avatar:after{content:"";position:absolute;inset:0;border:1px solid #63716a;border-radius:50%;pointer-events:none}
.concern-item:hover .concern-avatar:after,.concern-item:focus-visible .concern-avatar:after{border:2px dashed #b5c9a7;animation:concern-ring 14s linear infinite}
.concern-card-copy{display:block;width:100%;padding-top:112px}
.concern-layout .concern-item b{display:block;font-size:21px;line-height:1.35;margin-bottom:10px}
.concern-layout .concern-item small{display:block;font-size:15px;line-height:1.6;color:#bfc4c0}
.section.soft{background:#2a2e30}
.section:has(.journal-list){background:#1c2022}
footer{background:#141719}
@keyframes concern-ring{to{transform:rotate(360deg)}}
@media(min-width:1500px){.concern-card-copy{padding-top:88px}.concern-layout .concern-item{min-height:255px;padding:36px}.concern-avatar{width:124px;height:124px}}
@media(max-width:1100px){.concern-layout .concern-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.section.concern-layout{padding:72px max(var(--gap),72px)}}
@media(max-width:700px){.section.concern-layout{padding:64px 68px 64px 20px}.concern-content>h2{font-size:30px;margin-bottom:36px}.concern-layout .concern-list{gap:12px}.concern-layout .concern-item{padding:16px 12px;min-height:220px;border-radius:20px}.concern-avatar{width:82px;height:82px;right:12px;top:18px;padding:5px}.concern-card-copy{padding-top:94px}.concern-layout .concern-item b{font-size:17px}.concern-layout .concern-item small{font-size:13px}}
@media(prefers-reduced-motion:reduce){.concern-item:hover .concern-avatar:after,.concern-item:focus-visible .concern-avatar:after{animation:none}.concern-layout .concern-item{transition:none;transform:none}}
/* Larger concern details with a dedicated image row to prevent text overlap. */
.concern-layout .concern-item{display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;gap:22px;min-height:310px;padding:24px}
.concern-avatar{position:relative;inset:auto;align-self:flex-end;flex:none;width:160px;height:160px;max-width:100%;aspect-ratio:1;padding:6px}
.concern-card-copy{padding-top:0}
@media(max-width:700px){.concern-layout .concern-item{min-height:246px;padding:16px 10px;gap:18px}.concern-avatar{width:110px;height:auto;padding:5px}.concern-card-copy{padding-top:0}}

/* Raised contact buttons: preserve opaque brand colors. */
.social button{box-shadow:0 4px 8px rgba(0,0,0,.22),0 10px 24px rgba(0,0,0,.28);transition:box-shadow .2s ease,transform .2s ease}
@media(hover:hover){.social button:hover{box-shadow:0 6px 12px rgba(0,0,0,.26),0 14px 30px rgba(0,0,0,.32)}}
.social button:focus-visible{box-shadow:0 4px 8px rgba(0,0,0,.22),0 10px 24px rgba(0,0,0,.28);outline:2px solid currentColor;outline-offset:4px}
@media(prefers-reduced-motion:reduce){.social button{transition:none}}

.program-card .photo{position:relative}.sample-image-label{position:absolute;bottom:12px;left:12px;z-index:1;background:#17221d;color:#fff;padding:5px 9px;border-radius:4px;font-size:11px;letter-spacing:.04em}

#skin{scroll-margin-top:130px}@media(max-width:700px){#skin{scroll-margin-top:100px}}

.hero-wrap{background:#181b1c}
