/* VELY B Clinic Busan — Shared CSS */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html,body{overflow-x:hidden}
:root{--p:#C06080;--p2:#9A4060;--a:#F4D9E1;--a2:#FAF6F0;--bg:#FAF6F0;--bg2:#F0E8DE;--ink:#1A1A1A;--mid:#7A706A;--rule:rgba(192,96,128,.15);}
body{font-family:'Lato',sans-serif;font-weight:300;color:var(--ink);background:var(--bg);font-size:15px;line-height:1.78;}
h1,h2,h3,h4{font-family:'Cormorant Garamond',serif;font-weight:700;}
a{text-decoration:none;color:inherit;}
img{max-width:100%;display:block;}
.topbar{background:#C06080;color:rgba(255,255,255,.7);font-size:11px;letter-spacing:.12em;text-align:center;padding:9px;}
.topbar a{color:#fff;margin:0 14px;}
header{position:sticky;top:0;z-index:999;background:rgba(250,246,240,.97);backdrop-filter:blur(10px);border-bottom:1px solid rgba(192,96,128,.15);}
.hdr{max-width:1320px;margin:auto;padding:0 44px;display:flex;align-items:center;justify-content:space-between;height:74px;}
.logo-sub{font-size:9px;letter-spacing:.2em;text-transform:uppercase;color:var(--mid);display:block;margin-top:2px;}
nav ul{list-style:none;display:flex;gap:26px;align-items:center;}
nav ul li a{font-size:11px;letter-spacing:.14em;text-transform:uppercase;font-weight:500;color:var(--ink);transition:color .2s;}
nav ul li a:hover{color:var(--a);}
.nbtn a{background:#C06080;color:#fff;padding:9px 20px;font-size:11px;letter-spacing:.12em;font-weight:600;}
.ham{display:none;flex-direction:column;gap:5px;background:none;border:none;cursor:pointer;}
.ham span{width:22px;height:1.5px;background:var(--ink);display:block;}
.mnav{display:none;position:fixed;inset:0;background:rgba(0,0,0,.96);z-index:9999;flex-direction:column;align-items:center;justify-content:center;gap:24px;}
.mnav.on{display:flex;}
.mnav a{font-family:'Cormorant Garamond',serif;font-size:26px;color:#fff;font-weight:700;}
.mnav a:hover{color:var(--a);}
.mnav-x{position:absolute;top:24px;right:28px;font-size:26px;color:#fff;background:none;border:none;cursor:pointer;}
.page-hero{background:var(--p);padding:clamp(64px,10vw,120px) 0 clamp(48px,7vw,90px);position:relative;overflow:hidden;}
.page-hero::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse 60% 80% at 80% 50%,rgba(255,255,255,.05) 0%,transparent 70%);}
.page-hero .wrap{position:relative;z-index:2;}
.breadcrumb{font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:rgba(255,255,255,.35);margin-bottom:14px;}
.breadcrumb a{color:var(--a);}
.breadcrumb span{margin:0 8px;opacity:.3;}
.page-hero h1{font-family:'Cormorant Garamond',serif;font-size:clamp(32px,6vw,68px);font-weight:700;color:#fff;line-height:1.1;margin-bottom:16px;}
.page-hero h1 em{font-style:italic;color:var(--a);}
.page-hero .hero-sub{font-size:15px;color:rgba(255,255,255,.6);max-width:540px;line-height:1.8;}
section{padding:clamp(56px,8vw,110px) 0;}
.wrap{max-width:1320px;margin:auto;padding:0 44px;}
.ey{font-size:9px;letter-spacing:.26em;text-transform:uppercase;color:var(--a);font-weight:600;margin-bottom:12px;}
.st{font-family:'Cormorant Garamond',serif;font-size:clamp(26px,4vw,48px);font-weight:700;line-height:1.12;margin-bottom:16px;}
.st em{font-style:italic;color:var(--a);}
.rule{width:32px;height:1.5px;background:var(--a);margin:16px 0;}
p.body{color:var(--mid);font-size:15px;line-height:1.88;margin-bottom:14px;}
p.body:last-child{margin-bottom:0;}
strong{color:var(--ink);font-weight:600;}
.btn-p{display:inline-block;background:#C06080;color:#fff;padding:13px 30px;font-size:11px;letter-spacing:.16em;text-transform:uppercase;font-weight:600;transition:all .25s;}
.btn-o{display:inline-block;background:transparent;border:1px solid rgba(192,96,128,.3);color:#C06080;padding:13px 30px;font-size:11px;letter-spacing:.16em;text-transform:uppercase;transition:all .25s;}
.two-col{display:grid;grid-template-columns:1fr 1fr;gap:clamp(28px,5vw,72px);align-items:center;}
.three-col{display:grid;grid-template-columns:repeat(3,1fr);gap:2px;background:var(--rule);}
.four-col{display:grid;grid-template-columns:repeat(4,1fr);gap:2px;background:var(--rule);}
.card{background:var(--bg);padding:40px 32px;}
.card:hover{background:var(--alt,#fff);}
.card h3{font-family:'Cormorant Garamond',serif;font-size:20px;font-weight:700;color:var(--a);margin-bottom:10px;}
.card p{font-size:13px;color:var(--mid);line-height:1.82;margin:0;}
.card-num{font-family:'Cormorant Garamond',serif;font-size:36px;font-weight:700;color:var(--rule);line-height:1;margin-bottom:14px;opacity:.6;}
.spec-table{width:100%;border-collapse:collapse;font-size:14px;}
.spec-table th{text-align:left;padding:11px 18px;font-size:9px;letter-spacing:.2em;text-transform:uppercase;color:var(--mid);border-bottom:1px solid var(--rule);font-weight:500;}
.spec-table td{padding:15px 18px;border-bottom:1px solid var(--rule);color:var(--ink);line-height:1.6;}
.spec-table tr:last-child td{border-bottom:0;}
.spec-table tr:hover td{background:rgba(0,0,0,.02);}
.faq-sec{background:var(--bg2);}
.faq-list{display:flex;flex-direction:column;gap:2px;margin-top:44px;}
.faq-item{background:var(--bg);cursor:pointer;}
.faq-q{padding:22px 26px;display:flex;justify-content:space-between;align-items:center;font-weight:600;font-size:15px;gap:14px;user-select:none;}
.faq-icon{font-size:20px;color:var(--a);transition:transform .3s;flex-shrink:0;line-height:1;}
.faq-item.open .faq-icon{transform:rotate(45deg);}
.faq-a{max-height:0;overflow:hidden;transition:max-height .4s ease;}
.faq-item.open .faq-a{max-height:400px;}
.faq-a p{padding:0 26px 22px;font-size:14px;color:var(--mid);margin:0;line-height:1.85;}
.cta-strip{background:var(--p);padding:clamp(48px,7vw,90px) 0;text-align:center;}
.cta-strip h2{font-family:'Cormorant Garamond',serif;font-size:clamp(26px,4vw,52px);font-weight:700;color:#fff;margin-bottom:12px;}
.cta-strip h2 em{font-style:italic;color:var(--a);}
.cta-strip p{color:rgba(255,255,255,.55);max-width:460px;margin:0 auto 28px;font-size:14px;}
.cta-row{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;}
footer{background:#1A1A1A;color:rgba(255,255,255,.4);padding:56px 0 28px;}
.ft-inner{display:grid;grid-template-columns:2fr 1fr 1fr;gap:40px;padding-bottom:40px;border-bottom:1px solid rgba(255,255,255,.07);margin-bottom:22px;}
.ft-brand p{margin-top:12px;font-size:13px;line-height:1.82;}
.ft-brand .reg{font-size:11px;color:rgba(255,255,255,.2);margin-top:12px;line-height:1.7;}
.ft-col h4{font-size:9px;letter-spacing:.2em;text-transform:uppercase;color:var(--a);font-weight:600;margin-bottom:14px;}
.ft-col ul{list-style:none;display:flex;flex-direction:column;gap:7px;}
.ft-col ul li a{font-size:13px;transition:color .2s;}
.ft-col ul li a:hover{color:#fff;}
.ft-copy{font-size:12px;text-align:center;}
.sticky-b{position:fixed;bottom:0;right:0;z-index:998;background:#C06080;color:#fff;padding:11px 24px;font-size:11px;letter-spacing:.16em;text-transform:uppercase;font-weight:600;border-top-left-radius:2px;}
.rev{opacity:0;transform:translateY(22px);transition:opacity .65s,transform .65s;}
.rev.in{opacity:1;transform:none;}
@media(max-width:1024px){.two-col,.ft-inner{grid-template-columns:1fr;}}
@media(max-width:768px){nav ul{display:none;}.ham{display:flex;}.three-col,.four-col{grid-template-columns:1fr 1fr;}.wrap{padding:0 20px;}.hdr{padding:0 20px;}}
@media(max-width:480px){.three-col,.four-col,.ft-inner{grid-template-columns:1fr;}}
