/* 1% Plastic Surgery — renewal 6 design system */
:root{
  --ink:#0b0b10; --ink2:#15151c; --ink3:#23232d;
  --paper:#ffffff; --soft:#f3f4f9; --soft2:#eceef6; --line:#e3e5ee; --line-d:#2e2e3a;
  --txt:#15151c; --mute:#686b7a; --mute-d:#a4a6b6;
  --peri:#7a84ff; --peri-d:#5561f0; --peri-l:#b9c0ff;
  --sky:#cfdcff; --lilac:#e0d8ff; --pink:#ffd3e6; --pink-d:#ff6fae; --butter:#fff3b8;
  --r-xl:34px; --r-lg:28px; --r-md:22px; --r-sm:14px;
  --en:'Archivo','Pretendard Variable',Pretendard,system-ui,sans-serif;
  --ko:'Pretendard Variable',Pretendard,-apple-system,BlinkMacSystemFont,system-ui,'Apple SD Gothic Neo','Malgun Gothic',sans-serif;
  --wrap:1320px; --gut:40px; --hd:78px;
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;font-family:var(--ko);color:var(--txt);background:var(--paper);font-size:16px;line-height:1.6;letter-spacing:-.01em;word-break:keep-all;overflow-wrap:anywhere;-webkit-font-smoothing:antialiased;overflow-x:hidden}
img{max-width:100%;height:auto;display:block}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;cursor:pointer;border:0;background:none;padding:0}
input,select,textarea{font:inherit;color:inherit}
h1,h2,h3,h4,p,ul,ol,figure,dl,dd{margin:0;padding:0}
ul,ol{list-style:none}
.wrap{max-width:calc(var(--wrap) + var(--gut)*2);margin:0 auto;padding:0 var(--gut)}
.en{font-family:var(--en)}
.sr{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.hp{position:absolute!important;left:-9999px;width:1px;height:1px;overflow:hidden}

/* ---------- buttons ---------- */
.pill{display:inline-flex;align-items:center;gap:8px;height:46px;padding:0 22px;border-radius:999px;font-weight:700;font-size:15px;border:1.5px solid currentColor;transition:.2s;white-space:nowrap}
.pill .plus{font-family:var(--en);font-weight:800;font-size:18px;line-height:1}
.pill:hover{background:var(--ink);color:#fff;border-color:var(--ink)}
.on-dark .pill:hover,.pill.on-dark:hover{background:#fff;color:var(--ink);border-color:#fff}
.pill-solid{background:var(--ink);color:#fff;border-color:var(--ink)}
.pill-solid:hover{background:var(--peri-d);border-color:var(--peri-d)}
.pill-peri{background:var(--peri);color:#fff;border-color:var(--peri)}
.pill-peri:hover{background:#fff;color:var(--ink);border-color:#fff}
.pill-white{background:#fff;color:var(--ink);border-color:#fff}
.pill-sm{height:38px;padding:0 16px;font-size:14px}
.vm{font-family:var(--en);font-weight:600;text-transform:lowercase;letter-spacing:0}
.rbtn{width:46px;height:46px;border-radius:50%;display:inline-grid;place-items:center;background:var(--ink);color:#fff;transition:.2s;flex:none}
.rbtn svg{width:18px;height:18px}
.rbtn:hover{background:var(--peri-d)}
.rbtn[disabled]{opacity:.25;cursor:default}
.on-dark .rbtn{background:#fff;color:var(--ink)}
.on-dark .rbtn:hover{background:var(--peri);color:#fff}
.chip{display:inline-flex;align-items:center;height:28px;padding:0 12px;border-radius:999px;background:var(--soft2);font-size:13px;font-weight:600;color:var(--ink);white-space:nowrap}
.chip-peri{background:var(--peri);color:#fff}
.chip-ink{background:var(--ink);color:#fff}
.chip-line{background:transparent;border:1px solid currentColor}

/* ---------- header ---------- */
.hd{position:fixed;left:0;right:0;top:0;z-index:60;height:var(--hd);background:rgba(255,255,255,.94);backdrop-filter:saturate(1.4) blur(14px);-webkit-backdrop-filter:saturate(1.4) blur(14px);border-bottom:1px solid rgba(0,0,0,.06);transition:background .3s,border-color .3s}
.hd-in{height:100%;display:flex;align-items:center;gap:28px;max-width:1560px;margin:0 auto;padding:0 32px}
.logo{display:block;flex:none;width:208px}
.logo img{width:100%;height:auto}
.logo .logo-w{display:none}
.gnb{flex:1;display:flex;justify-content:center;height:100%}
.gnb>ul{display:flex;align-items:stretch;gap:2px;height:100%}
.gnb>ul>li{display:flex}
.gnb>ul>li>a{display:flex;align-items:center;padding:0 13px;font-size:16px;font-weight:700;letter-spacing:-.02em;position:relative;white-space:nowrap}
.gnb>ul>li>a::after{content:"";position:absolute;left:13px;right:13px;bottom:18px;height:3px;border-radius:3px;background:var(--peri);transform:scaleX(0);transition:transform .25s}
.gnb>ul>li.is-on>a::after,.gnb>ul>li:hover>a::after{transform:scaleX(1)}
.hd-util{display:flex;align-items:center;gap:8px;flex:none}
.hd-tel{font-family:var(--en);font-weight:800;font-size:17px;letter-spacing:-.01em;padding:0 6px}
.burger{width:46px;height:46px;border-radius:50%;display:none;place-items:center;background:var(--ink);color:#fff}
.burger span{display:block;width:18px;height:2px;background:currentColor;border-radius:2px;box-shadow:0 -6px 0 currentColor,0 6px 0 currentColor}
body.is-home .hd.is-top{background:transparent;border-color:transparent;backdrop-filter:none;-webkit-backdrop-filter:none}
body.is-home .hd.is-top:not(.is-mega) .logo .logo-b{display:none}
body.is-home .hd.is-top:not(.is-mega) .logo .logo-w{display:block}
body.is-home.hero-dark .hd.is-top:not(.is-mega) .gnb>ul>li>a,body.is-home.hero-dark .hd.is-top:not(.is-mega) .hd-tel{color:#fff}
body.is-home:not(.hero-dark) .hd.is-top:not(.is-mega) .logo .logo-b{display:block}
body.is-home:not(.hero-dark) .hd.is-top:not(.is-mega) .logo .logo-w{display:none}
body.is-home.hero-dark .hd.is-top:not(.is-mega) .pill-solid{background:#fff;color:var(--ink);border-color:#fff}
body.is-home.hero-dark .hd.is-top:not(.is-mega) .burger{background:#fff;color:var(--ink)}
.hd.is-mega{background:#fff}

/* mega — 전체 메뉴를 한 판에(호버한 분류 강조) */
.mega{position:absolute;left:0;right:0;top:100%;background:#fff;border-top:1px solid var(--line);box-shadow:0 30px 60px -30px rgba(10,10,30,.35);display:none;max-height:calc(100vh - var(--hd));overflow-y:auto;overscroll-behavior:contain}
.hd.is-mega .mega{display:block}
.mg-grid{max-width:1560px;margin:0 auto;padding:34px 32px 42px;display:grid;grid-template-columns:repeat(var(--mgc,10),minmax(0,1fr));grid-template-rows:auto 1fr;gap:0 20px}
.mg-col{min-width:0;display:grid;grid-row:span 2;grid-template-rows:subgrid}
.mg-wide{grid-column:span 2}
.mg-wide>ul{column-count:2;column-gap:20px}
.mg-h{display:flex;flex-direction:column;justify-content:flex-end;padding-bottom:12px;margin-bottom:8px;border-bottom:2px solid var(--line);transition:border-color .2s}
.mg-h .en{font-family:var(--en);font-size:11px;font-weight:700;letter-spacing:.06em;line-height:1.25;color:var(--mute);text-transform:uppercase}
.mg-h .ko{margin-top:5px;font-size:17px;font-weight:800;letter-spacing:-.02em;word-break:keep-all;transition:color .2s}
.mg-col ul{list-style:none;margin:0;padding:0}
.mg-col li{break-inside:avoid}
.mg-col li a{display:block;padding:5px 0;font-size:14px;font-weight:500;line-height:1.4;color:var(--txt);word-break:keep-all;transition:color .15s,transform .15s}
.mg-col li a:hover,.mg-col li a:focus-visible,.mg-col li a.is-on{color:var(--peri-d);transform:translateX(3px)}
.mg-col li a.is-on{font-weight:700}
.mg-sub b{display:block;padding:8px 0 2px;font-size:12px;font-weight:700;color:var(--peri-d)}
.mg-sub:first-child b{padding-top:0}
.mg-col.is-hot .mg-h,.mg-col.is-cur .mg-h{border-color:var(--peri)}
.mg-col.is-hot .mg-h .ko{color:var(--peri-d)}

/* 언어 선택(구글 번역) */
.lang{position:relative;flex:none}
.lang-btn{display:inline-flex;align-items:center;gap:5px;height:40px;padding:0 12px;border:1px solid rgba(0,0,0,.18);border-radius:999px;background:transparent;color:inherit;font-family:var(--en);font-size:13px;font-weight:700;letter-spacing:.03em;cursor:pointer;transition:border-color .2s,color .2s}
.lang-btn:hover{border-color:currentColor;color:var(--peri-d)}
.lang-btn svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.6}
.lang-menu{position:absolute;right:0;top:calc(100% + 10px);z-index:95;width:220px;margin:0;padding:8px;list-style:none;background:#fff;color:var(--txt);border-radius:16px;box-shadow:0 20px 60px rgba(10,10,30,.2);max-height:calc(100vh - 100px);overflow-y:auto}
.lang-menu[hidden]{display:none}
.lang-menu a{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:10px;font-size:14px;font-weight:500}
.lang-menu a:hover,.lang-menu a:focus-visible{background:var(--soft,#f3f4fb)}
.lang-menu b{width:28px;font-family:var(--en);font-size:12px;color:var(--peri-d)}
body.is-home.hero-dark .hd.is-top:not(.is-mega) .lang-btn{color:#fff;border-color:rgba(255,255,255,.5)}
.goog-te-banner-frame,body>.skiptranslate,#goog-gt-tt,.goog-te-balloon-frame,.VIpgJd-ZVi9od-ORHb-OEVmcd,.VIpgJd-ZVi9od-aZ2wEe-wOHMyf{display:none!important}
body{top:0!important}
.goog-text-highlight{background:none!important;box-shadow:none!important}
/* 번역된 화면: 긴 메뉴 이름이 헤더를 넘지 않게 두 줄로 */
html.translated-ltr .gnb>ul,html.translated-rtl .gnb>ul{flex-wrap:wrap;align-content:center;justify-content:center;gap:0 4px}
html.translated-ltr .gnb>ul>li>a,html.translated-rtl .gnb>ul>li>a{padding:5px 8px;font-size:13px}
html.translated-ltr .gnb>ul>li>a::after,html.translated-rtl .gnb>ul>li>a::after{bottom:0;left:8px;right:8px}
html.translated-ltr .mg-h .ko,html.translated-rtl .mg-h .ko,html.translated-ltr .mg-col li a,html.translated-rtl .mg-col li a{word-break:normal;overflow-wrap:anywhere}

/* drawer */
.drawer{position:fixed;inset:0;z-index:90;background:var(--ink);color:#fff;transform:translateX(100%);transition:transform .35s cubic-bezier(.2,.8,.2,1);display:flex;flex-direction:column;visibility:hidden}
.drawer.is-open{transform:none;visibility:visible}
.drawer-top{display:flex;align-items:center;justify-content:space-between;height:68px;padding:0 20px;border-bottom:1px solid var(--line-d);flex:none}
.drawer-top .logo{width:170px}
.drawer-top .logo .logo-b{display:none}.drawer-top .logo .logo-w{display:block}
.drawer-x{width:44px;height:44px;border-radius:50%;background:#fff;color:var(--ink);display:grid;place-items:center;font-size:22px;line-height:1}
.drawer-body{flex:1;overflow-y:auto;padding:10px 20px 30px}
.drawer details{border-bottom:1px solid var(--line-d)}
.drawer summary{list-style:none;display:flex;align-items:center;justify-content:space-between;padding:18px 2px;font-size:20px;font-weight:800;cursor:pointer}
.drawer summary::-webkit-details-marker{display:none}
.drawer summary small{font-family:var(--en);font-size:12px;font-weight:600;color:var(--mute-d);letter-spacing:.06em;margin-left:10px}
.drawer summary::after{content:"+";font-family:var(--en);font-size:24px;font-weight:400;color:var(--peri-l)}
.drawer details[open] summary::after{content:"–"}
.drawer .dg{padding:0 0 16px}
.drawer .dg a{display:block;padding:8px 4px;font-size:16px;color:#dcdde6}
.drawer .dg a.is-on{color:var(--peri-l);font-weight:700}
.drawer .dg .sub{padding-left:12px;border-left:2px solid var(--line-d);margin:4px 0 8px 4px}
.drawer .dg .sub b{display:block;font-size:13px;color:var(--mute-d);padding:6px 4px 2px;font-weight:600}
.drawer-foot{padding:20px;border-top:1px solid var(--line-d);display:grid;gap:10px;flex:none}
.drawer-foot .row{display:flex;gap:8px}
.drawer-foot .pill{flex:1;justify-content:center;height:50px}

/* ---------- section titles ---------- */
.st{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:40px}
.st h2 .en{display:block;font-size:clamp(34px,4.6vw,66px);font-weight:800;line-height:.98;letter-spacing:-.025em;text-transform:uppercase}
.st h2 .en i{font-style:normal;color:var(--peri)}
.st h2 .ko{display:block;margin-top:12px;font-size:clamp(17px,1.7vw,24px);font-weight:500;color:var(--mute);letter-spacing:-.02em}
.on-dark .st h2 .ko{color:var(--mute-d)}
.st-act{display:flex;align-items:center;gap:8px;flex:none}
.sec{padding:110px 0}
.sec-tight{padding:80px 0}
.bg-white{background:#fff}
.bg-soft{background:var(--soft)}
.bg-dark{background:var(--ink);color:#fff}
.bg-ink2{background:var(--ink2);color:#fff}
.bg-sky{background:var(--sky)}
.bg-lilac{background:var(--lilac)}
.bg-pink{background:var(--pink)}
.bg-peri{background:var(--peri);color:#fff}
.bg-sky .st h2 .en i,.bg-lilac .st h2 .en i,.bg-pink .st h2 .en i{color:var(--peri-d)}
.bg-peri .st h2 .en i{color:var(--ink)}

/* ---------- carousel ---------- */
.car{position:relative}
.car-track{display:flex;gap:20px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;-webkit-overflow-scrolling:touch;scrollbar-width:none;padding-bottom:4px;margin-right:calc(-1*var(--gut));padding-right:var(--gut)}
.car-track::-webkit-scrollbar{display:none}
.car-track>*{scroll-snap-align:start;flex:none}
.car-bar{height:3px;background:rgba(0,0,0,.1);border-radius:3px;margin-top:28px;overflow:hidden}
.car-bar i{display:block;height:100%;width:20%;background:var(--ink);border-radius:3px;transition:transform .2s}
.on-dark .car-bar{background:rgba(255,255,255,.18)}
.on-dark .car-bar i{background:#fff}

/* ---------- hero (home) ---------- */
.hero{position:relative;height:min(100vh,940px);min-height:640px;overflow:hidden;background:var(--sky)}
.slides{position:absolute;inset:0;z-index:1}
.slide{position:absolute;inset:0;opacity:0;visibility:hidden;transition:opacity .9s,visibility .9s}
.slide.is-on{opacity:1;visibility:visible}
.slide-bg{position:absolute;inset:0}
.slide-bg::before{content:"%";position:absolute;right:-4vw;top:50%;transform:translateY(-54%);font-family:var(--en);font-weight:900;font-size:min(62vw,860px);line-height:1;color:rgba(255,255,255,.35);letter-spacing:-.05em;pointer-events:none}
.slide.t-dark .slide-bg::before{color:rgba(122,132,255,.16)}
.slide-img{position:absolute;right:max(0px,calc(50% - 780px));bottom:0;height:88%;width:min(54%,860px);display:flex;align-items:flex-end;justify-content:center}
.slide-img img{height:100%;width:100%;object-fit:cover;object-position:center top;border-radius:var(--r-xl) var(--r-xl) 0 0}
.slide.is-on .slide-img img{animation:heroIn 1.6s cubic-bezier(.2,.8,.2,1) both}
@keyframes heroIn{from{transform:scale(1.06);opacity:.2}to{transform:none;opacity:1}}
.slide-txt{position:absolute;left:0;right:0;top:50%;transform:translateY(-42%)}
.slide-txt .wrap{max-width:1600px;padding:0 64px}
.slide-txt .ey{display:inline-flex;align-items:center;gap:10px;font-family:var(--en);font-weight:700;font-size:15px;letter-spacing:.08em;text-transform:uppercase}
.slide-txt .ey::before{content:"";width:28px;height:2px;background:currentColor}
.slide-txt h2{margin-top:22px;font-size:clamp(46px,6vw,100px);font-weight:900;line-height:1.04;letter-spacing:-.045em;max-width:min(8.5em,46vw)}
.slide-txt p{margin-top:22px;font-size:clamp(17px,1.6vw,23px);font-weight:600;max-width:min(24em,42vw);line-height:1.5;opacity:.85}
.slide-txt .acts{margin-top:36px;display:flex;gap:10px;flex-wrap:wrap}
.slide.t-dark{color:#fff}
.slide.t-dark .slide-bg{background:var(--ink)}
.slide.t-sky .slide-bg{background:linear-gradient(120deg,#e3ebff 0%,#c3d3ff 100%)}
.slide.t-lilac .slide-bg{background:linear-gradient(120deg,#efe9ff 0%,#d6cbff 100%)}
.slide.t-pink .slide-bg{background:linear-gradient(120deg,#fff0f6 0%,#ffcbe1 100%)}
.slide.t-peri{color:#fff}
.slide.t-peri .slide-bg{background:linear-gradient(120deg,#8c95ff 0%,#5a64f0 100%)}
.hero-ctl{position:absolute;left:0;right:0;bottom:44px;z-index:5}
.hero-ctl .wrap{max-width:1600px;padding:0 64px;display:flex;align-items:center;gap:18px}
.hero-num{font-family:var(--en);font-weight:700;font-size:15px;min-width:64px}
.hero-num b{font-size:20px}
.hero-prog{width:160px;height:3px;background:rgba(0,0,0,.15);border-radius:3px;overflow:hidden}
.hero-prog i{display:block;height:100%;width:0;background:currentColor}
.hero.is-dark .hero-ctl{color:#fff}
.hero.is-dark .hero-prog{background:rgba(255,255,255,.25)}
.hero-tabs{display:flex;gap:6px;flex-wrap:wrap;margin-left:18px}
.hero-arrows{margin-left:auto}
.hero-tabs button{height:36px;padding:0 15px;border-radius:999px;font-size:13.5px;font-weight:700;border:1.5px solid currentColor;opacity:.6;transition:.2s;background:rgba(255,255,255,.35);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}
.hero.is-dark .hero-tabs button{background:rgba(0,0,0,.25)}
.hero-tabs button:hover{opacity:.85}
.hero-tabs button.is-on{opacity:1;background:currentColor}
.hero-tabs button.is-on span{color:#fff;mix-blend-mode:normal}
.hero.is-dark .hero-tabs button.is-on span{color:var(--ink)}
.hero-arrows{display:flex;gap:8px}
.hero.is-dark .rbtn{background:#fff;color:var(--ink)}

/* ---------- quick consult bar ---------- */
.qbar{background:var(--ink);color:#fff;position:relative;z-index:4}
.qbar .wrap{max-width:1600px;padding:26px 64px}
.qc{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.qc-t{font-family:var(--en);font-weight:800;font-size:22px;line-height:1;letter-spacing:-.01em;text-transform:uppercase;margin-right:14px;white-space:nowrap}
.qc-t i{font-style:normal;color:var(--peri)}
.qc-t small{display:block;font-family:var(--ko);font-size:13px;font-weight:500;color:var(--mute-d);margin-top:6px;letter-spacing:0;text-transform:none}
.fld{height:52px;border-radius:14px;border:1.5px solid transparent;background:#fff;color:var(--txt);padding:0 18px;font-size:15.5px;outline:none;min-width:0;transition:border-color .2s}
.fld:focus{border-color:var(--peri)}
select.fld{appearance:none;-webkit-appearance:none;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%2315151c' stroke-width='2' fill='none'/%3E%3C/svg%3E") no-repeat right 16px center;padding-right:40px}
textarea.fld{height:auto;min-height:110px;padding:14px 18px;resize:vertical}
.qbar .fld{flex:1 1 170px;background:#1d1d26;color:#fff;border-color:#2c2c38}
.qbar .fld::placeholder{color:#8d8fa0}
.qbar select.fld{background:#1d1d26 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23ffffff' stroke-width='2' fill='none'/%3E%3C/svg%3E") no-repeat right 16px center}
.qbar .fld:focus{border-color:var(--peri)}
.agree-w{display:inline-flex;align-items:center;gap:2px}
.agree{display:inline-flex;align-items:center;gap:8px;min-height:44px;font-size:14px;cursor:pointer;white-space:nowrap}
.agree input{width:22px;height:22px;accent-color:var(--peri);margin:0;flex:none}
.agree-v{display:inline-flex;align-items:center;min-height:44px;padding:0 8px;font-size:14px;text-decoration:underline;text-underline-offset:3px;opacity:.75;white-space:nowrap}
.qc-btn{height:52px;padding:0 30px;border-radius:14px;background:var(--peri);color:#fff;font-weight:800;font-size:16px;white-space:nowrap;transition:.2s}
.qc-btn:hover{background:#fff;color:var(--ink)}
.qc-msg{flex-basis:100%;font-size:14px;font-weight:600;min-height:0}
.qc-msg:empty{display:none}
.qc-msg.ok{color:#7ee2b8}.qc-msg.err{color:#ff9fb8}
.cform .qc-msg.ok{color:#0f8a5f}.cform .qc-msg.err{color:#d8335b}

/* ---------- cards: selfies ---------- */
.selfie{width:268px;border-radius:var(--r-lg);overflow:hidden;position:relative;background:#ddd;aspect-ratio:3/4;display:block}
.selfie img{width:100%;height:100%;object-fit:cover;transition:transform .6s}
.selfie:hover img{transform:scale(1.05)}
.selfie::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,0) 45%,rgba(0,0,0,.72) 100%)}
.selfie .heart{position:absolute;left:16px;top:16px;z-index:2;width:34px;height:34px;color:var(--pink-d)}
.selfie .cap{position:absolute;left:18px;right:18px;bottom:18px;z-index:2;color:#fff}
.selfie .cap b{display:block;font-size:17px;font-weight:800;line-height:1.35;letter-spacing:-.02em}
.selfie .cap span{display:block;margin-top:6px;font-family:var(--en);font-size:11.5px;letter-spacing:.08em;opacity:.7}

/* shorts */
.short{width:236px;border-radius:var(--r-md);overflow:hidden;background:#fff;color:var(--txt);display:block;text-align:left}
.short .th{position:relative;aspect-ratio:9/14;overflow:hidden;background:#222}
.short .th img{width:100%;height:100%;object-fit:cover;transform:scale(1.34);transition:transform .5s}
.short:hover .th img{transform:scale(1.42)}
.short .meta{padding:14px 16px 16px}
.short .meta b{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font-size:15px;font-weight:700;line-height:1.4;min-height:2.8em;text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1.5px}
.short .meta span{display:block;margin-top:6px;font-family:var(--en);font-size:11.5px;letter-spacing:.06em;color:var(--mute)}
.play{position:absolute;left:50%;top:50%;width:58px;height:58px;margin:-29px 0 0 -29px;border-radius:50%;background:rgba(255,255,255,.92);display:grid;place-items:center;color:var(--ink);transition:.2s;box-shadow:0 10px 30px rgba(0,0,0,.25)}
.play svg{width:20px;height:20px;margin-left:3px}
.short:hover .play,.vcard:hover .play{background:var(--peri);color:#fff}

/* video cards */
.vcard{width:340px;display:block;text-align:left;color:inherit}
.vcard .th{position:relative;aspect-ratio:16/9;border-radius:var(--r-md);overflow:hidden;background:#222}
.vcard .th img{width:100%;height:100%;object-fit:cover;transition:transform .5s}
.vcard:hover .th img{transform:scale(1.05)}
.vcard .dur{position:absolute;right:12px;bottom:12px;background:rgba(0,0,0,.78);color:#fff;font-family:var(--en);font-size:12px;font-weight:700;padding:3px 8px;border-radius:6px}
.vcard b{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;margin-top:14px;font-size:16px;font-weight:700;line-height:1.42}
.vcard small{display:block;margin-top:6px;color:var(--mute);font-size:13px}
.on-dark .vcard small{color:var(--mute-d)}

/* event ranking */
.rank{width:300px;border-radius:var(--r-lg);overflow:hidden;background:#fff;color:var(--txt);display:flex;flex-direction:column;position:relative;border:1px solid var(--line)}
.rank .th{aspect-ratio:1/1;background:var(--soft);overflow:hidden;position:relative}
.rank .th img{width:100%;height:100%;object-fit:cover;transition:transform .5s}
.rank:hover .th img{transform:scale(1.04)}
.rank .no{position:absolute;left:16px;top:16px;z-index:2;width:52px;height:52px;border-radius:50%;background:#fff;color:var(--ink);display:grid;place-items:center;font-family:var(--en);font-weight:900;font-size:24px;box-shadow:0 6px 18px rgba(0,0,0,.12)}
.rank:nth-child(1) .no{background:var(--peri);color:#fff}
.rank:nth-child(2) .no{background:var(--pink);}
.rank:nth-child(3) .no{background:var(--sky)}
.rank .bt{padding:16px 18px 20px;display:flex;flex-direction:column;gap:10px;flex:1;background:var(--lilac)}
.rank:nth-child(3n+2) .bt{background:var(--pink)}
.rank:nth-child(3n) .bt{background:var(--sky)}
.rank .bt .t{font-size:16px;font-weight:800;line-height:1.35;letter-spacing:-.02em}
.rank .bt .pr{font-family:var(--en);font-size:28px;font-weight:900;letter-spacing:-.03em;line-height:1;margin-top:auto}
.rank .bt .pr small{font-family:var(--ko);font-size:14px;font-weight:700;margin-left:2px}
.rank .bt .d{font-size:12.5px;color:var(--mute)}

/* before-after */
.ba-tabs{display:flex;gap:8px;margin-bottom:28px;flex-wrap:wrap}
.ba-tabs button{height:44px;padding:0 20px;border-radius:999px;border:1.5px solid var(--ink);font-weight:700;font-size:15px}
.ba-tabs button.is-on{background:var(--ink);color:#fff}
.ba-pane{display:none}.ba-pane.is-on{display:block}
.bacard{width:420px;border-radius:var(--r-lg);overflow:hidden;background:#fff;border:1px solid var(--line);display:block}
.bacard .th{background:var(--soft);display:flex;align-items:center;justify-content:center}
.bacard .th img{width:100%;height:auto}
.bacard .bt{padding:16px 20px 18px}
.bacard .bt b{display:block;font-size:16px;font-weight:800;line-height:1.4}
.bacard .bt small{display:block;margin-top:4px;color:var(--mute);font-size:13px}
.disc{margin-top:22px;font-size:13px;color:var(--mute);line-height:1.6}
.on-dark .disc{color:var(--mute-d)}

/* broadcast / feature cards */
.feat{width:400px;border-radius:var(--r-lg);overflow:hidden;position:relative;display:block;aspect-ratio:4/5;background:var(--ink3)}
.feat img{width:100%;height:100%;object-fit:cover;transition:transform .6s}
.feat:hover img{transform:scale(1.05)}
.feat::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,0) 40%,rgba(0,0,0,.8))}
.feat .cap{position:absolute;left:24px;right:24px;bottom:24px;z-index:2;color:#fff}
.feat .cap small{display:block;font-family:var(--en);font-size:12px;letter-spacing:.1em;text-transform:uppercase;opacity:.8}
.feat .cap b{display:block;margin-top:8px;font-size:22px;font-weight:800;line-height:1.3;letter-spacing:-.02em}
.feat .cap p{margin-top:8px;font-size:14px;opacity:.85;line-height:1.5;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}

/* care cards (dark) */
.care{width:380px;border-radius:var(--r-lg);overflow:hidden;position:relative;display:block;aspect-ratio:1/1;background:var(--ink3)}
.care img{width:100%;height:100%;object-fit:cover}
.care::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.05) 30%,rgba(0,0,0,.82))}
.care .cap{position:absolute;left:26px;right:26px;bottom:26px;z-index:2;color:#fff}
.care .cap b{display:block;font-size:23px;font-weight:800;line-height:1.3;letter-spacing:-.03em}
.care .cap p{margin-top:10px;font-size:14px;line-height:1.55;opacity:.8;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.care.noimg{background:linear-gradient(150deg,#2a2a3a,#12121a)}
.care.noimg .big{position:absolute;right:20px;top:10px;font-family:var(--en);font-weight:900;font-size:120px;color:rgba(122,132,255,.35);line-height:1}

/* doctors */
.docs{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:22px}
.doc{border-radius:var(--r-lg);overflow:hidden;background:var(--soft);display:flex;flex-direction:column}
.doc .th{aspect-ratio:4/5;background:linear-gradient(180deg,var(--sky),var(--lilac));overflow:hidden;display:flex;align-items:flex-end;justify-content:center}
.doc .th img{width:100%;height:100%;object-fit:cover;object-position:center top}
.doc .bt{padding:20px 22px 24px}
.doc .bt small{font-family:var(--en);font-size:12px;letter-spacing:.08em;color:var(--peri-d);font-weight:700;text-transform:uppercase}
.doc .bt b{display:block;font-size:22px;font-weight:800;margin-top:4px;letter-spacing:-.02em}
.doc .bt p{margin-top:8px;font-size:14px;color:var(--mute);line-height:1.6}

/* thumbs (academic / tour) */
.tcard{width:320px;display:block}
.tcard .th{aspect-ratio:4/3;border-radius:var(--r-md);overflow:hidden;background:var(--soft)}
.tcard .th img{width:100%;height:100%;object-fit:cover;transition:transform .5s}
.tcard:hover .th img{transform:scale(1.05)}
.tcard b{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;margin-top:12px;font-size:16px;font-weight:700;line-height:1.42}
.tcard small{display:block;margin-top:4px;color:var(--mute);font-size:13px}

/* blog cards */
.bcard{display:flex;flex-direction:column;border-radius:var(--r-lg);overflow:hidden;background:#fff;border:1px solid var(--line);transition:transform .25s,box-shadow .25s;height:100%}
.bcard:hover{transform:translateY(-4px);box-shadow:0 20px 40px -24px rgba(20,20,60,.35)}
.bcard .th{aspect-ratio:16/10;overflow:hidden;background:var(--soft)}
.bcard .th img{width:100%;height:100%;object-fit:cover}
.bcard .bt{padding:20px 22px 22px;display:flex;flex-direction:column;gap:10px;flex:1}
.bcard .bt b{font-size:17px;font-weight:800;line-height:1.42;letter-spacing:-.02em;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.bcard .bt p{font-size:14px;color:var(--mute);line-height:1.6;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.bcard .bt small{margin-top:auto;font-family:var(--en);font-size:12.5px;color:var(--mute);font-weight:600}
.car-track>.bcard{width:330px;height:auto}
.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.grid4{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}
.grid2{display:grid;grid-template-columns:repeat(2,1fr);gap:22px}

/* contact */
.contact{display:grid;grid-template-columns:1.1fr 1fr 1fr;gap:48px;align-items:start}
.contact .tel{display:block;white-space:nowrap;font-family:var(--en);font-size:clamp(36px,4.2vw,64px);font-weight:900;letter-spacing:-.03em;line-height:1}
.contact .lbl{font-family:var(--en);font-size:13px;letter-spacing:.1em;color:var(--peri-l);font-weight:700;text-transform:uppercase;margin-bottom:14px}
.contact .hours li{display:flex;justify-content:space-between;gap:16px;padding:12px 0;border-bottom:1px solid var(--line-d);font-size:16px}
.contact .hours li b{font-weight:700}
.contact .hours .off{color:var(--pink);border:0;font-size:14px}
.contact .addr{font-size:18px;font-weight:700;line-height:1.5}
.contact .transit{margin-top:10px;color:var(--mute-d);font-size:15px}
.contact .acts{display:flex;gap:8px;flex-wrap:wrap;margin-top:26px}

/* ---------- footer ---------- */
.ft{background:#060609;color:#b9bbc8;padding:64px 0 120px;font-size:14px}
.ft-top{display:flex;justify-content:space-between;gap:30px;align-items:flex-start;padding-bottom:36px;border-bottom:1px solid #22222c}
.ft-logo{width:230px}
.ft-links{display:flex;gap:6px;flex-wrap:wrap}
.ft-links a{height:38px;display:inline-flex;align-items:center;padding:0 16px;border-radius:999px;border:1px solid #33333f;font-size:13.5px;font-weight:600;color:#e3e4ec}
.ft-links a:hover{background:#fff;color:var(--ink)}
.ft-info{padding-top:30px;display:grid;grid-template-columns:1fr auto;gap:30px}
.ft-info dl{display:flex;flex-wrap:wrap;gap:6px 22px;line-height:1.7}
.ft-info dt{display:inline;color:#7d7f8f;margin-right:6px}
.ft-info dd{display:inline}
.ft-sns{display:flex;gap:8px}
.ft-sns a{width:44px;height:44px;border-radius:50%;background:#1a1a22;display:grid;place-items:center;color:#fff;transition:.2s}
.ft-sns a:hover{background:var(--peri)}
.ft-sns svg{width:20px;height:20px}
.ft-copy{margin-top:26px;font-family:var(--en);font-size:12.5px;color:#6d6f80}

/* ---------- floating ---------- */
.fq{position:fixed;right:24px;bottom:28px;z-index:55;display:flex;flex-direction:column;gap:10px}
.fq a,.fq button{width:62px;height:62px;border-radius:50%;display:grid;place-items:center;box-shadow:0 12px 26px -10px rgba(0,0,0,.45);transition:transform .2s;position:relative}
.fq a:hover,.fq button:hover{transform:translateY(-3px)}
.fq svg{width:26px;height:26px}
.fq .k{background:#fee500;color:#191600}
.fq .p{background:var(--peri);color:#fff}
.fq .c{background:var(--ink);color:#fff;font-weight:800;font-size:13px;line-height:1.1;text-align:center}
.fq .u{background:#fff;color:var(--ink);width:48px;height:48px;margin:0 7px;opacity:0;pointer-events:none;transition:.25s}
.fq .u.is-on{opacity:1;pointer-events:auto}
.fq .tip{position:absolute;right:74px;top:50%;transform:translateY(-50%);background:var(--ink);color:#fff;font-size:13px;font-weight:700;padding:6px 12px;border-radius:999px;white-space:nowrap;opacity:0;pointer-events:none;transition:.2s}
.fq a:hover .tip,.fq button:hover .tip{opacity:1}
.mbar{display:none}

/* ---------- modal ---------- */
.modal{position:fixed;inset:0;z-index:100;background:rgba(6,6,10,.8);display:none;align-items:center;justify-content:center;padding:20px}
.modal.is-open{display:flex}
.modal-box{position:relative;width:min(960px,100%);}
.modal-x{position:absolute;right:0;top:-56px;width:44px;height:44px;border-radius:50%;background:#fff;color:var(--ink);font-size:24px;display:grid;place-items:center}
.modal-video{position:relative;aspect-ratio:16/9;border-radius:18px;overflow:hidden;background:#000}
.modal-video.is-short{aspect-ratio:9/16;width:min(420px,100%,calc((100vh - 120px)*9/16));margin:0 auto}
.modal-video iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.modal-box.cbox{width:min(560px,100%);background:#fff;border-radius:var(--r-lg);padding:40px 36px 34px;max-height:calc(100vh - 40px);overflow-y:auto}
.modal-box.cbox .modal-x{top:18px;right:18px;background:var(--soft)}
.cbox h3 .en{display:block;font-size:40px;font-weight:800;line-height:1;text-transform:uppercase;letter-spacing:-.02em}
.cbox h3 .en i{font-style:normal;color:var(--peri)}
.cbox h3 .ko{display:block;margin-top:8px;color:var(--mute);font-size:16px;font-weight:500}

/* consult form (stacked) */
.cform{display:grid;gap:10px;margin-top:24px}
.cform .fld{background:var(--soft);border-color:var(--soft)}
.cform .fld:focus{border-color:var(--peri);background:#fff}
.cform .row2{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.cform .agree-w{margin:0}
.cform .qc-btn{height:56px;background:var(--ink);font-size:17px}
.cform .qc-btn:hover{background:var(--peri-d);color:#fff}
.cform .alt{display:flex;gap:8px}
.cform .alt a{flex:1;justify-content:center}

/* ---------- sub hero ---------- */
body.sub main{padding-top:var(--hd)}
.phero{position:relative;overflow:hidden;background:var(--ink);color:#fff}
.phero::before{content:"%";position:absolute;right:-2vw;top:50%;transform:translateY(-52%);font-family:var(--en);font-weight:900;font-size:min(52vw,760px);line-height:1;color:rgba(122,132,255,.13);pointer-events:none}
.phero .wrap{position:relative;display:grid;grid-template-columns:1.1fr .9fr;gap:56px;align-items:center;min-height:560px;padding-top:70px;padding-bottom:70px}
.phero.noimg .wrap{grid-template-columns:1fr;min-height:420px}
.crumb{display:flex;gap:8px;align-items:center;font-size:14px;color:var(--mute-d);flex-wrap:wrap}
.crumb a:hover{color:#fff}
.crumb span+span::before,.crumb a+span::before,.crumb span+a::before,.crumb a+a::before{content:"/";margin-right:8px;opacity:.5}
.phero .ey{margin-top:26px;font-family:var(--en);font-weight:700;font-size:14px;letter-spacing:.1em;text-transform:uppercase;color:var(--peri-l)}
.phero h1{margin-top:14px;font-size:clamp(40px,5.6vw,84px);font-weight:900;line-height:1.06;letter-spacing:-.045em}
.phero h1 i{font-style:normal;color:var(--peri)}
.phero .sub{margin-top:20px;font-size:clamp(17px,1.5vw,22px);font-weight:600;line-height:1.55;color:#d9dae4;max-width:30em}
.phero .acts{margin-top:34px;display:flex;gap:10px;flex-wrap:wrap}
.phero .pimg{position:relative;border-radius:var(--r-xl);overflow:hidden;background:linear-gradient(160deg,var(--sky),var(--lilac));aspect-ratio:4/4.3;max-height:620px;justify-self:end;width:100%}
.phero .pimg img{width:100%;height:100%;object-fit:cover;object-position:center top}
.phero.t-sky{background:linear-gradient(120deg,#e3ebff,#c5d4ff);color:var(--ink)}
.phero.t-lilac{background:linear-gradient(120deg,#f1ecff,#d8ceff);color:var(--ink)}
.phero.t-pink{background:linear-gradient(120deg,#fff1f7,#ffcfe3);color:var(--ink)}
.phero.t-sky::before,.phero.t-lilac::before,.phero.t-pink::before{color:rgba(255,255,255,.55)}
.phero.t-sky .crumb,.phero.t-lilac .crumb,.phero.t-pink .crumb{color:rgba(21,21,28,.55)}
.phero.t-sky .crumb a:hover,.phero.t-lilac .crumb a:hover,.phero.t-pink .crumb a:hover{color:var(--ink)}
.phero.t-sky .ey,.phero.t-lilac .ey,.phero.t-pink .ey{color:var(--peri-d)}
.phero.t-sky .sub,.phero.t-lilac .sub,.phero.t-pink .sub{color:#3b3d4a}
.phero.t-sky .pimg,.phero.t-lilac .pimg,.phero.t-pink .pimg{background:#fff}

/* facts strip */
.facts{background:var(--ink2);color:#fff}
.facts .wrap{display:grid;grid-template-columns:auto 1fr;gap:40px;align-items:center;padding-top:34px;padding-bottom:34px}
.facts h2{font-family:var(--en);font-size:28px;font-weight:800;text-transform:uppercase;letter-spacing:-.01em;line-height:1}
.facts h2 i{font-style:normal;color:var(--peri)}
.facts ul{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px}
.facts li{background:#1f1f29;border-radius:16px;padding:14px 18px}
.facts li small{display:block;font-size:12.5px;color:var(--mute-d);font-weight:600}
.facts li b{display:block;margin-top:4px;font-size:17px;font-weight:800;letter-spacing:-.02em}

/* sibling tabs */
.tabs{position:sticky;top:var(--hd);z-index:40;background:rgba(255,255,255,.96);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.tabs-row{display:flex;gap:6px;overflow-x:auto;scrollbar-width:none;padding:12px 0}
.tabs-row::-webkit-scrollbar{display:none}
.tabs-row a{flex:none;height:40px;display:inline-flex;align-items:center;padding:0 18px;border-radius:999px;font-size:14.5px;font-weight:700;color:var(--mute);background:var(--soft);transition:.15s;white-space:nowrap}
.tabs-row a:hover{color:var(--ink);background:var(--soft2)}
.tabs-row a.is-on{background:var(--ink);color:#fff}
.tabs-row.l2{padding-top:0}
.tabs-row.l2 a{height:34px;font-size:13.5px;background:transparent;border:1.5px solid var(--line)}
.tabs-row.l2 a.is-on{background:var(--peri);border-color:var(--peri);color:#fff}

/* ---------- content sections ---------- */
.cs{padding:100px 0}
.cs.bg-white+.cs.bg-white{padding-top:30px}
.cs-h{max-width:880px;margin-bottom:44px}
.cs-h.center{margin-left:auto;margin-right:auto;text-align:center}
.cs-ey{display:inline-block;font-family:var(--en);font-weight:700;font-size:14px;letter-spacing:.08em;text-transform:uppercase;color:var(--peri-d);margin-bottom:14px}
.cs-ey.ko{font-family:var(--ko);letter-spacing:-.01em;text-transform:none;font-size:15.5px}
.on-dark .cs-ey{color:var(--peri-l)}
.cs-h h2{font-size:clamp(28px,3.3vw,48px);font-weight:900;line-height:1.24;letter-spacing:-.04em}
.cs-h h3{margin-top:14px;font-size:clamp(18px,1.6vw,23px);font-weight:700;line-height:1.5;letter-spacing:-.02em;color:#3a3c48}
.on-dark .cs-h h3{color:#d2d3de}
.cs-p{margin-top:20px;display:grid;gap:12px}
.cs-p p{font-size:17.5px;line-height:1.8;color:#4a4c59}
.on-dark .cs-p p{color:#c7c8d4}
.bg-peri .cs-p p,.bg-peri .cs-h h3{color:#eef0ff}
.bg-peri .cs-ey{color:var(--ink)}
.note{margin-top:26px;font-size:13.5px;color:var(--mute);line-height:1.7}
.on-dark .note{color:var(--mute-d)}
.split{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center}
.split .cs-h{margin-bottom:0}
.split.rev>:first-child{order:2}
.media-stack{display:grid;gap:16px}
.media-stack.two{grid-template-columns:1fr 1fr}
.fig{border-radius:var(--r-lg);overflow:hidden;background:var(--soft);position:relative}
.on-dark .fig{background:var(--ink3)}
.fig img{width:100%;height:auto}
.fig.contain{background:#fff}
.fig figcaption{padding:12px 16px;font-size:13.5px;color:var(--mute)}
.gal{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,400px));justify-content:center;gap:18px;margin-top:40px}
.gal.n1{grid-template-columns:minmax(0,900px);justify-content:center}
.gal.n2{grid-template-columns:repeat(2,minmax(0,1fr))}
.gal.n3{grid-template-columns:repeat(3,minmax(0,1fr))}
.gal .fig img{width:100%}
.cs-h+.gal{margin-top:0}

/* points */
.pts{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:20px}
.pts.c2{grid-template-columns:repeat(2,1fr)}
.pts.c3{grid-template-columns:repeat(3,1fr)}
.pts.c4{grid-template-columns:repeat(4,1fr)}
.pt{background:#fff;border-radius:var(--r-lg);padding:30px 28px 32px;position:relative;display:flex;flex-direction:column;gap:12px;border:1px solid var(--line)}
.bg-soft .pt,.bg-sky .pt,.bg-lilac .pt,.bg-pink .pt{border-color:transparent}
.on-dark .pt{background:var(--ink2);border-color:var(--line-d)}
.pt .n{font-family:var(--en);font-weight:900;font-size:44px;line-height:1;color:var(--peri);letter-spacing:-.04em}
.pt .lb{align-self:flex-start}
.pt h4{font-size:20px;font-weight:800;line-height:1.4;letter-spacing:-.03em}
.pt p{font-size:15.5px;line-height:1.7;color:var(--mute)}
.on-dark .pt p{color:var(--mute-d)}
.pt .im{margin:-30px -28px 8px;border-radius:var(--r-lg) var(--r-lg) 0 0;overflow:hidden;background:var(--soft)}
.pt .im img{width:100%;aspect-ratio:4/3;object-fit:cover}
.pt .im.contain img{object-fit:contain;background:#fff}
.pt.has-im .n{font-size:30px}

/* cards */
.cds{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:22px}
.cds.c2{grid-template-columns:repeat(2,1fr)}.cds.c3{grid-template-columns:repeat(3,1fr)}.cds.c4{grid-template-columns:repeat(4,1fr)}
.cd{border-radius:var(--r-lg);overflow:hidden;background:#fff;display:flex;flex-direction:column;border:1px solid var(--line)}
.bg-soft .cd,.bg-sky .cd,.bg-lilac .cd,.bg-pink .cd{border-color:transparent}
.on-dark .cd{background:var(--ink2);border-color:var(--line-d)}
.cd .im{background:var(--soft);overflow:hidden}
.cd .im img{width:100%;aspect-ratio:4/3;object-fit:cover}
.cd .im.contain img{object-fit:contain;background:#fff}
.cd .im.nat img{aspect-ratio:auto;object-fit:initial}
.cd .bt{padding:22px 24px 26px;display:flex;flex-direction:column;gap:10px}
.cd .bt h4{font-size:19px;font-weight:800;line-height:1.4;letter-spacing:-.03em}
.cd .bt p{font-size:15px;line-height:1.7;color:var(--mute)}
.on-dark .cd .bt p{color:var(--mute-d)}
.cd .lb{align-self:flex-start;max-width:100%;white-space:normal;height:auto;min-height:28px;padding:4px 12px;line-height:1.4}
.cd.noim{background:var(--soft);border:0}
.cd.noim .bt{padding:28px 26px}
.cd.noim .bt::before{content:attr(data-n);font-family:var(--en);font-weight:900;font-size:15px;color:var(--peri-d);letter-spacing:.04em}
.on-dark .cd.noim{background:var(--ink2)}

/* steps */
.steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:18px;counter-reset:st}
.stp{position:relative;border-radius:var(--r-lg);padding:28px 24px 28px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);display:flex;flex-direction:column;gap:10px}
.bg-white .stp,.bg-soft .stp{background:#fff;border-color:var(--line)}
.stp .sn{font-family:var(--en);font-weight:800;font-size:13px;letter-spacing:.1em;color:var(--peri-l);text-transform:uppercase}
.bg-white .stp .sn,.bg-soft .stp .sn{color:var(--peri-d)}
.stp .big{font-family:var(--en);font-weight:900;font-size:52px;line-height:.9;letter-spacing:-.04em;color:#fff}
.bg-white .stp .big,.bg-soft .stp .big{color:var(--ink)}
.stp h4{font-size:19px;font-weight:800;line-height:1.4;letter-spacing:-.03em}
.stp p{font-size:15px;line-height:1.7;color:var(--mute-d)}
.bg-white .stp p,.bg-soft .stp p{color:var(--mute)}
.stp .im{border-radius:16px;overflow:hidden;margin-bottom:6px;background:var(--ink3)}
.stp .im img{width:100%;aspect-ratio:4/3;object-fit:cover}
.stp .im.contain img{object-fit:contain;background:#fff}
.stp:not(:last-child)::after{content:"";position:absolute;right:-14px;top:44px;width:10px;height:10px;border-top:2.5px solid var(--peri);border-right:2.5px solid var(--peri);transform:rotate(45deg);z-index:2}

/* compare */
.cmp{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:18px;align-items:stretch}
.cmp-i{border-radius:var(--r-lg);padding:32px 30px;background:var(--soft);display:flex;flex-direction:column;gap:12px;position:relative}
.on-dark .cmp-i{background:var(--ink2)}
.cmp-i.win{background:var(--ink);color:#fff}
.on-dark .cmp-i.win{background:var(--peri);color:#fff}
.cmp.c4{grid-template-columns:repeat(2,minmax(0,1fr))}
.cmp-i h4{font-size:24px;font-weight:900;letter-spacing:-.03em;line-height:1.3}
.cmp-i p{font-size:15.5px;line-height:1.7;opacity:.8;white-space:pre-line}
.cmp-i .im{border-radius:16px;overflow:hidden;background:#fff}
.cmp-i .im img{width:100%}
.cmp-i .lb{align-self:flex-start}
.cmp-i.win .chip{background:var(--peri);color:#fff}
.on-dark .cmp-i.win .chip{background:#fff;color:var(--ink)}
.vs{display:none}

/* faq */
.faq{border-top:2px solid var(--ink);max-width:1000px}
.on-dark .faq{border-color:#fff}
.faq details{border-bottom:1px solid var(--line)}
.on-dark .faq details{border-color:var(--line-d)}
.faq summary{list-style:none;display:flex;gap:18px;align-items:flex-start;padding:24px 4px;cursor:pointer;font-size:18px;font-weight:800;line-height:1.5;letter-spacing:-.02em}
.faq summary::-webkit-details-marker{display:none}
.faq summary::before{content:"Q";flex:none;width:34px;height:34px;border-radius:50%;background:var(--ink);color:#fff;display:grid;place-items:center;font-family:var(--en);font-size:15px;font-weight:800}
.on-dark .faq summary::before{background:var(--peri)}
.faq summary::after{content:"+";margin-left:auto;font-family:var(--en);font-size:26px;font-weight:300;line-height:1.1;color:var(--peri-d);transition:transform .2s}
.faq details[open] summary::after{transform:rotate(45deg)}
.faq .a{display:flex;gap:18px;padding:0 4px 26px}
.faq .a::before{content:"A";flex:none;width:34px;height:34px;border-radius:50%;background:var(--peri);color:#fff;display:grid;place-items:center;font-family:var(--en);font-size:15px;font-weight:800}
.faq .a div{font-size:16px;line-height:1.8;color:#4a4c59;padding-top:3px}
.on-dark .faq .a div{color:#c7c8d4}

/* table */
.tbl-w{overflow-x:auto;border-radius:var(--r-md);border:1px solid var(--line);background:#fff;-webkit-overflow-scrolling:touch}
.on-dark .tbl-w{border-color:var(--line-d);background:var(--ink2)}
.tbl{width:100%;border-collapse:collapse;font-size:15.5px;min-width:520px}
.tbl th{background:var(--ink);color:#fff;font-weight:700;padding:16px 18px;text-align:center;white-space:nowrap}
.on-dark .tbl th{background:var(--peri)}
.tbl td{padding:15px 18px;border-top:1px solid var(--line);text-align:center;line-height:1.55}
.on-dark .tbl td{border-color:var(--line-d)}
.tbl td:first-child{font-weight:700;background:var(--soft)}
.on-dark .tbl td:first-child{background:#1c1c25}
.tbl tr:nth-child(even) td:not(:first-child){background:#fafbff}
.on-dark .tbl tr:nth-child(even) td:not(:first-child){background:transparent}

/* list (checks) */
.chk{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}
.chk.c1{grid-template-columns:1fr;max-width:900px}
.chk li{display:flex;gap:16px;align-items:flex-start;background:#fff;border-radius:18px;padding:20px 22px;border:1px solid var(--line)}
.bg-soft .chk li,.bg-sky .chk li,.bg-lilac .chk li,.bg-pink .chk li{border-color:transparent}
.on-dark .chk li{background:var(--ink2);border-color:var(--line-d)}
.chk li::before{content:"";flex:none;width:28px;height:28px;border-radius:50%;background:var(--peri) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='11' viewBox='0 0 14 11'%3E%3Cpath d='M1.5 5.5l4 4 7-8' stroke='white' stroke-width='2.4' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat center}
.chk li div{flex:1;min-width:0}
.chk li b{display:block;font-size:17px;font-weight:800;line-height:1.45;letter-spacing:-.02em}
.chk li .lb{display:inline-block;margin-top:6px;font-size:13.5px;font-weight:700;color:var(--peri-d)}
.on-dark .chk li .lb{color:var(--peri-l)}
.chk li p{margin-top:6px;font-size:15px;line-height:1.65;color:var(--mute)}
.on-dark .chk li p{color:var(--mute-d)}
.chk li .im{margin-top:12px;border-radius:12px;overflow:hidden;max-width:360px}

/* quote */
.qt{text-align:center;max-width:980px;margin:0 auto}
.qt .mk{font-family:Georgia,serif;font-size:90px;line-height:.6;color:var(--peri-d);height:40px}
.on-dark .qt .mk{color:var(--peri)}
.qt h2{font-size:clamp(28px,3.4vw,50px);font-weight:900;line-height:1.3;letter-spacing:-.04em}
.qt h3{margin-top:14px;font-size:clamp(18px,1.7vw,24px);font-weight:700;color:#3a3c48}
.on-dark .qt h3{color:#d2d3de}
.qt .lines{margin-top:24px;display:grid;gap:8px}
.qt .lines p{font-size:clamp(17px,1.5vw,21px);font-weight:600;line-height:1.6}
.qt .note{margin-top:22px;font-size:15px;font-weight:700;color:var(--peri-d)}
.qt .gal{margin-top:40px}

/* chat */
.chat{margin:34px auto 0;max-width:640px;display:grid;gap:12px;text-align:left}
.bub{max-width:82%;padding:14px 18px;border-radius:20px;background:#fff;box-shadow:0 10px 24px -18px rgba(20,20,60,.5)}
.bub small{display:block;font-size:12.5px;font-weight:800;color:var(--peri-d);margin-bottom:4px}
.bub p{font-size:15.5px;line-height:1.6}
.bub.left{justify-self:start;border-bottom-left-radius:6px}
.bub.right{justify-self:end;background:var(--ink);color:#fff;border-bottom-right-radius:6px}
.on-dark .bub.left{background:var(--ink2)}
.on-dark .bub.right{background:var(--peri)}
.vcard small+b{margin-top:4px}
.vcard .th+small{display:block;margin-top:12px;color:var(--peri-d);font-weight:700}
/* stats */
.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:18px}
.stat{border-radius:var(--r-lg);padding:30px 28px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1)}
.bg-white .stat,.bg-soft .stat{background:#fff;border-color:var(--line)}
.stat b{display:block;font-family:var(--en);font-size:clamp(38px,4vw,58px);font-weight:900;letter-spacing:-.04em;line-height:1;color:var(--peri)}
.stat span{display:block;margin-top:12px;font-size:17px;font-weight:800}
.stat p{margin-top:8px;font-size:14.5px;line-height:1.65;color:var(--mute-d)}
.bg-white .stat p,.bg-soft .stat p{color:var(--mute)}

/* notice */
.ntc{border-radius:var(--r-lg);background:var(--soft);padding:34px 36px;display:grid;grid-template-columns:auto 1fr;gap:22px;max-width:1100px}
.bg-soft .ntc{background:#fff}
.on-dark .ntc{background:var(--ink2)}
.ntc .ic{width:48px;height:48px;border-radius:50%;background:var(--ink);color:#fff;display:grid;place-items:center;font-family:var(--en);font-weight:900;font-size:22px}
.ntc h4{font-size:20px;font-weight:800;letter-spacing:-.02em}
.ntc ul{margin-top:12px;display:grid;gap:10px}
.ntc li{position:relative;padding-left:16px;font-size:15.5px;line-height:1.7;color:#4a4c59}
.on-dark .ntc li{color:#c7c8d4}
.ntc li::before{content:"";position:absolute;left:0;top:.72em;width:6px;height:6px;border-radius:50%;background:var(--peri)}
.ntc li b{color:var(--txt)}
.on-dark .ntc li b{color:#fff}

/* video topics */
.vt{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:14px}
.vt a{display:flex;gap:16px;align-items:flex-start;background:#fff;border:1px solid var(--line);border-radius:18px;padding:18px 20px;transition:.2s}
.vt a:hover{border-color:var(--peri)}
.on-dark .vt a{background:var(--ink2);border-color:var(--line-d)}
.vt a i{flex:none;width:40px;height:40px;border-radius:50%;background:#ff2e4d;color:#fff;display:grid;place-items:center}
.vt a i svg{width:14px;height:14px;margin-left:2px}
.vt b{display:block;font-size:15.5px;font-weight:800;line-height:1.45}
.vt small{display:block;margin-top:4px;font-size:13.5px;color:var(--mute);line-height:1.5}

/* doctor profile section */
.prof{display:grid;grid-template-columns:420px 1fr;gap:60px;align-items:start}
.prof+.prof{margin-top:80px;padding-top:80px;border-top:1px solid var(--line)}
.prof .ph{border-radius:var(--r-xl);overflow:hidden;background:linear-gradient(170deg,var(--sky),var(--lilac))}
.prof .ph img{width:100%}
.prof .role{font-family:var(--en);font-size:14px;letter-spacing:.1em;color:var(--peri-d);font-weight:700;text-transform:uppercase}
.prof h3{margin-top:10px;font-size:clamp(32px,3.4vw,50px);font-weight:900;letter-spacing:-.04em;line-height:1.1}
.prof h3 small{font-size:.5em;font-weight:700;margin-left:10px;color:var(--mute)}
.prof .lead{margin-top:18px;font-size:18px;line-height:1.7;color:#3a3c48;font-weight:600}
.prof ul{margin-top:26px;display:grid;gap:10px;border-top:2px solid var(--ink);padding-top:22px}
.prof li{position:relative;padding-left:18px;font-size:15.5px;line-height:1.6;color:#3a3c48}
.prof li::before{content:"";position:absolute;left:0;top:.65em;width:7px;height:7px;border-radius:50%;background:var(--peri)}

/* related + consult band */
.cband{background:linear-gradient(120deg,#8c95ff 0%,#5a64f0 100%);color:#fff;position:relative;overflow:hidden}
.cband::before{content:"%";position:absolute;left:-3vw;bottom:-18%;font-family:var(--en);font-weight:900;font-size:min(46vw,600px);line-height:1;color:rgba(255,255,255,.1);pointer-events:none}
.cband .wrap{position:relative;display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center;padding-top:100px;padding-bottom:100px}
.cband .st{margin-bottom:0;display:block}
.cband .st h2 .en i{color:var(--ink)}
.cband .st h2 .ko{color:#e9ebff}
.cband .lead{margin-top:22px;font-size:17px;line-height:1.7;color:#eef0ff}
.cband .tel{margin-top:30px;display:flex;gap:10px;flex-wrap:wrap}
.cband .cform{background:#fff;color:var(--txt);border-radius:var(--r-lg);padding:30px;margin:0;box-shadow:0 30px 60px -30px rgba(10,10,60,.5)}

.pn{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.pn a{border-radius:var(--r-lg);background:var(--soft);padding:26px 30px;display:flex;flex-direction:column;gap:6px;transition:.2s}
.pn a:hover{background:var(--ink);color:#fff}
.pn a small{font-family:var(--en);font-size:12px;letter-spacing:.1em;font-weight:700;color:var(--peri-d);text-transform:uppercase}
.pn a b{font-size:19px;font-weight:800;letter-spacing:-.02em}
.pn a.nx{text-align:right;align-items:flex-end}
.pn a.empty{visibility:hidden}

/* board list */
.bfilter{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:34px}
.bfilter button{height:42px;padding:0 18px;border-radius:999px;background:var(--soft);font-weight:700;font-size:14.5px;color:var(--mute)}
.bfilter button.is-on{background:var(--ink);color:#fff}
.blist{display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:26px 22px}
.bitem{display:flex;flex-direction:column;border-radius:var(--r-lg);overflow:hidden;background:#fff;border:1px solid var(--line);transition:transform .25s,box-shadow .25s}
a.bitem:hover{transform:translateY(-4px);box-shadow:0 22px 44px -26px rgba(20,20,60,.4)}
.bitem .th{aspect-ratio:4/3;background:var(--soft);overflow:hidden;position:relative}
.bitem .th img{width:100%;height:100%;object-fit:cover}
.bitem .th.tall{aspect-ratio:3/4}
.bitem .th.nat{aspect-ratio:auto}
.bitem .th.nat img{height:auto}
.bitem .bt{padding:18px 20px 22px;display:flex;flex-direction:column;gap:8px;flex:1}
.bitem .bt b{font-size:17px;font-weight:800;line-height:1.42;letter-spacing:-.02em}
.bitem .bt p{font-size:14px;color:var(--mute);line-height:1.6}
.bitem .bt .meta{margin-top:auto;display:flex;gap:6px;flex-wrap:wrap;align-items:center;font-size:13px;color:var(--mute)}
.bitem .bt .pr{font-family:var(--en);font-size:24px;font-weight:900;letter-spacing:-.03em}
.bitem .no{position:absolute;left:14px;top:14px;width:44px;height:44px;border-radius:50%;background:#fff;display:grid;place-items:center;font-family:var(--en);font-weight:900;font-size:19px;box-shadow:0 6px 18px rgba(0,0,0,.14);z-index:2}
.btable{border-top:2px solid var(--ink)}
.btable a,.btable div.r{display:grid;grid-template-columns:80px 1fr 140px;gap:16px;align-items:center;padding:22px 8px;border-bottom:1px solid var(--line);transition:.15s}
.btable a:hover{background:var(--soft)}
.btable .n{font-family:var(--en);font-weight:800;color:var(--mute);text-align:center}
.btable b{font-size:17px;font-weight:700;line-height:1.45}
.btable .c{display:block;font-size:13px;color:var(--peri-d);font-weight:700;margin-bottom:4px}
.btable .d{font-family:var(--en);font-size:14px;color:var(--mute);text-align:right}
.hidden-item{display:none!important}

/* post detail */
.post-h{padding:60px 0 40px;border-bottom:1px solid var(--line)}
.post-h .chips{display:flex;gap:6px;flex-wrap:wrap}
.post-h h1{margin-top:18px;font-size:clamp(28px,3.4vw,46px);font-weight:900;letter-spacing:-.04em;line-height:1.25}
.post-h .meta{margin-top:14px;font-size:14.5px;color:var(--mute);display:flex;gap:16px;flex-wrap:wrap}
.post-b{padding:50px 0 80px}
.post-b .cs{padding:40px 0}
.post-b .cs:first-child{padding-top:0}
.post-nav{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:30px 0 90px;border-top:1px solid var(--line)}
.shot-grid{display:grid;grid-template-columns:repeat(var(--c,4),minmax(0,var(--cw,400px)));justify-content:center;gap:16px}
.shot-grid .fig{max-width:none!important}
.shot-grid.s1{--c:1}.shot-grid.s2{--c:2}.shot-grid.s3{--c:3}.shot-grid.s4{--c:4}.shot-grid.s5{--c:5}
.shot-grid .fig img{aspect-ratio:var(--sr,auto);object-fit:cover}
.shot-grid.fitn .fig img{object-fit:contain}
.shot-grid.after-tbl{margin-top:28px}
.shot-grid .fig{border-radius:var(--r-md)}
.shot-grid .fig figcaption{font-weight:700;color:var(--txt);text-align:center}

/* TV archive */
.tv-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:30px 22px}
.tv-grid .vcard{width:auto}
.sh-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:22px}
.sh-grid .short{width:auto;border:1px solid var(--line)}
.more-w{text-align:center;margin-top:44px}

/* sitemap */
.smap{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:34px 28px}
.smap h3{font-size:20px;font-weight:900;padding-bottom:12px;border-bottom:2px solid var(--ink);margin-bottom:12px}
.smap h3 small{font-family:var(--en);font-size:12px;letter-spacing:.08em;color:var(--peri-d);margin-left:8px}
.smap li a{display:block;padding:5px 0;font-size:15px;color:#3a3c48}
.smap li a:hover{color:var(--peri-d)}
.smap li.s{padding-left:12px;font-size:14px}
.smap li.h{margin-top:8px;font-size:13px;color:var(--mute);font-weight:700}

/* policy */
.policy{max-width:920px}
.policy h2{font-size:22px;font-weight:800;margin:40px 0 12px}
.policy p,.policy li{font-size:15.5px;line-height:1.85;color:#3a3c48}

/* reveal */
.rv-on .rv{opacity:0;transform:translateY(26px);transition:opacity .8s cubic-bezier(.2,.8,.2,1),transform .8s cubic-bezier(.2,.8,.2,1)}
.rv-on .rv.in{opacity:1;transform:none}


/* hot items */
.lead-l{margin:-18px 0 34px;font-size:17px;color:var(--mute);font-weight:600}
.hots{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.hot{border-radius:var(--r-lg);overflow:hidden;background:var(--soft);display:flex;flex-direction:column}
.hot .th{position:relative;aspect-ratio:645/474;overflow:hidden}
.hot .th img{width:100%;height:100%;object-fit:cover;transition:transform .6s}
.hot:hover .th img{transform:scale(1.04)}
.hot .hlab{position:absolute;left:18px;top:18px;height:36px;padding:0 16px;border-radius:999px;background:var(--ink);color:#fff;display:inline-flex;align-items:center;font-weight:800;font-size:15px}
.hot .rows{padding:8px 10px 12px}
.hrow{display:flex;align-items:center;gap:14px;padding:16px 14px;border-radius:16px;transition:.2s}
.hrow+.hrow{border-top:1px solid var(--line)}
a.hrow:hover{background:#fff}
.hrow>div{flex:1;min-width:0}
.hrow b{display:block;font-size:17px;font-weight:800;letter-spacing:-.02em}
.hrow p{margin-top:3px;font-size:14px;color:var(--mute);line-height:1.5}
.hrow .go{flex:none;width:34px;height:34px;border-radius:50%;background:#fff;display:grid;place-items:center;transition:.2s}
.hrow .go svg{width:14px;height:14px}
a.hrow:hover .go{background:var(--peri);color:#fff}
/* story */
.story-h{display:flex;justify-content:space-between;align-items:flex-end;gap:30px;margin-bottom:44px}
.story-h .cs-h{margin:0;max-width:900px}
.stories{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.story .th{border-radius:var(--r-md);overflow:hidden;aspect-ratio:549/297;background:var(--soft)}
.story .th img{width:100%;height:100%;object-fit:cover}
.story b{display:block;margin-top:14px;font-size:16.5px;font-weight:800;line-height:1.45;letter-spacing:-.02em}
/* selfie tags */
.selfie .cap .tags{display:block;margin-top:6px;font-family:var(--ko);font-size:13px;letter-spacing:-.01em;opacity:.85;line-height:1.45}
/* price rest */
.pr .rest{font-size:12px;font-weight:600;font-family:var(--ko);opacity:.7;letter-spacing:0}
/* post meta */
.pmeta{margin-top:26px;display:flex;flex-wrap:wrap;gap:10px}
.pmeta li{background:var(--soft);border-radius:16px;padding:12px 18px;min-width:160px;max-width:100%}
.pmeta small{display:block;font-size:12.5px;color:var(--peri-d);font-weight:700}
.pmeta b{display:block;margin-top:2px;font-size:16px;font-weight:700;line-height:1.5}
.car.no-scroll .car-bar{visibility:hidden}
@media (max-width:1024px){
  .hots{grid-template-columns:1fr;gap:16px}
  .hot{display:grid;grid-template-columns:minmax(0,.9fr) 1.1fr}
  .hot .th{aspect-ratio:auto;height:100%}
  .stories{grid-template-columns:repeat(2,1fr)}
  .story-h{flex-direction:column;align-items:flex-start}
}
@media (max-width:768px){
  .hot{display:flex}
  .hot .th{aspect-ratio:645/400}
  .hrow{padding:14px 10px}
  .lead-l{margin:-8px 0 24px;font-size:15px}
  .stories{grid-template-columns:1fr 1fr;gap:14px}
  .story b{font-size:14.5px}
}

/* 홈 빠른 상담 바 — 데스크톱·태블릿은 화면 아래에 늘 고정(모바일은 아래 .mbar 가 고정) */
@media (min-width:769px){
  body.is-home .qbar{position:fixed;left:0;right:0;bottom:0;z-index:54;box-shadow:0 -14px 40px -12px rgba(0,0,0,.35)}
  body.is-home .qbar .wrap{padding-top:14px;padding-bottom:calc(14px + env(safe-area-inset-bottom))}
  body.is-home .qbar .fld,body.is-home .qbar .qc-btn{height:46px}
  body.is-home .qc-t{font-size:19px}
  body.is-home .qc-t small{margin-top:4px}
  body.is-home{padding-bottom:var(--qbh,78px)}
  body.is-home .hero{height:min(calc(100vh - var(--qbh,78px)),940px)}
  body.is-home .fq{bottom:calc(var(--qbh,78px) + 20px)}
}
@media (min-width:769px) and (max-width:1100px){
  body.is-home .qc-t{display:none}
  body.is-home .qbar .fld{flex-basis:120px}
}

/* ---------- responsive ---------- */
@media (max-width:1360px){
  .gnb>ul>li>a{padding:0 9px;font-size:15px}
  .hd-tel{display:none}
  .logo{width:184px}
}
@media (max-width:1200px){
  .gnb>ul>li>a{padding:0 7px;font-size:14.5px}
  .hd-in{gap:16px;padding:0 22px}
  .logo{width:170px}
  .mg-grid{padding:28px 22px 34px;gap:0 14px}
  .mg-col li a{font-size:13.5px}
}
html.gnb-fold .gnb,html.gnb-fold .hd-tel{display:none}
html.gnb-fold .burger{display:grid}
html.gnb-fold .mega{display:none!important}
@media (max-width:1280px){.mg-h .en{display:none}}
@media (max-width:1100px){
  :root{--hd:70px}
  .gnb,.hd-tel{display:none}
  .burger{display:grid}
  .hd-in{justify-content:space-between}
  .mega{display:none!important}
}
@media (max-width:1200px){
  .contact{grid-template-columns:1fr 1fr}
  .contact>:first-child{grid-column:1/-1}
  .pts.c4,.cds.c4,.grid4{grid-template-columns:repeat(2,1fr)}
  .prof{grid-template-columns:320px 1fr;gap:40px}
}
@media (max-width:1024px){
  :root{--gut:28px}
  .sec{padding:84px 0}.cs{padding:76px 0}
  .phero .wrap{grid-template-columns:1fr;gap:36px;min-height:0;padding-top:56px;padding-bottom:56px}
  .phero .pimg{justify-self:stretch;aspect-ratio:16/11;max-height:none}
  .split{grid-template-columns:1fr;gap:36px}
  .split.rev>:first-child{order:0}
  .cband .wrap{grid-template-columns:1fr;gap:36px;padding-top:76px;padding-bottom:76px}
  .pts.c3,.cds.c3,.grid3{grid-template-columns:repeat(2,1fr)}
  .facts .wrap{grid-template-columns:1fr;gap:18px}
  .slide-img{width:62%;height:70%}
  .slide-txt .wrap,.hero-ctl .wrap,.qbar .wrap{padding-left:36px;padding-right:36px}
  .hero-tabs{display:none}
  .prof{grid-template-columns:1fr}
  .prof .ph{max-width:420px}
  .stp:not(:last-child)::after{display:none}
}
@media (max-width:768px){
  :root{--gut:20px;--hd:64px}
  body{font-size:15px}
  .logo{width:158px}
  .hd-util .pill{display:none}
  .burger{width:42px;height:42px}
  .lang-btn{height:40px;padding:0 10px}
  .sec{padding:68px 0}.cs{padding:60px 0}.sec-tight{padding:56px 0}
  .st{flex-direction:column;align-items:flex-start;gap:18px;margin-bottom:28px}
  .st h2 .ko{margin-top:8px}
  .hero{height:auto;min-height:0;padding-top:calc(var(--hd) + 20px)}
  .hero .slides{position:relative;height:clamp(600px,168vw,720px)}
  .slide-img{width:auto;left:20px;right:20px;height:58%;bottom:0}
  .slide-img img{border-radius:26px 26px 0 0}
  .slide-txt{top:14px;transform:none}
  .slide-txt .wrap{padding:0 20px}
  .slide-txt h2{margin-top:14px;font-size:clamp(38px,11vw,52px)}
  .slide-txt p{margin-top:12px;font-size:16px}
  .slide-txt .acts{margin-top:20px}
  .slide-txt .acts .pill{height:42px;font-size:14px;padding:0 18px}
  .slide-bg::before{font-size:130vw;right:-20vw;top:62%}
  .hero-ctl{bottom:18px}
  .hero-ctl .wrap{padding:0 20px}
  .hero-arrows{margin-left:auto}
  .hero-arrows .rbtn{width:40px;height:40px}
  .hero.is-dark .hero-ctl,.hero .hero-ctl{color:#fff}
  .hero-ctl .hero-prog{background:rgba(255,255,255,.35)}
  .qbar .wrap{padding:22px 20px}
  .qc{gap:8px}
  .qc-t{flex-basis:100%;margin:0 0 6px;font-size:20px}
  .qc-t small{display:inline;margin-left:8px}
  .qbar .fld{flex:1 1 calc(50% - 4px);height:48px}
  .qbar select.fld{flex-basis:100%}
  .qbar .agree-w{flex:1}
  .qbar .qc-btn{height:48px}
  .selfie{width:200px}
  .short{width:172px}
  .vcard{width:270px}
  .rank{width:236px}
  .rank .no{width:44px;height:44px;font-size:20px}
  .rank .bt .pr{font-size:23px}
  .bacard{width:300px}
  .feat{width:280px}
  .care{width:280px}
  .tcard{width:250px}
  .car-track>.bcard{width:270px}
  .car-track{gap:14px}
  .grid3,.grid4,.grid2,.pts.c2,.pts.c3,.pts.c4,.cds.c2,.cds.c3,.cds.c4,.gal.n2,.gal.n3{grid-template-columns:1fr}
  .gal{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  .gal.n1{grid-template-columns:1fr}
  .pts,.cds{grid-template-columns:1fr}
  .steps{grid-template-columns:1fr}
  .chk{grid-template-columns:1fr}
  .contact{grid-template-columns:1fr;gap:36px}
  .phero::before{font-size:120vw;right:-30vw;top:68%}
  .phero h1{font-size:clamp(34px,10vw,48px)}
  .phero .acts .pill{height:42px;font-size:14px}
  .facts ul{grid-template-columns:1fr 1fr}
  .tabs-row{padding:10px 0}
  .tabs-row a,.tabs-row.l2 a{height:40px;font-size:13.5px;padding:0 14px}
  .ntc{grid-template-columns:1fr;padding:26px 22px}
  .pn{grid-template-columns:1fr}
  .pn a.empty{display:none}
  .btable a,.btable div.r{grid-template-columns:1fr;gap:4px;padding:18px 4px}
  .btable .n{display:none}
  .btable .d{text-align:left}
  .blist{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
  .bitem .bt{padding:14px 14px 16px}
  .bitem .bt b{font-size:15px}
  .bitem .bt .pr{font-size:19px}
  .tv-grid{grid-template-columns:1fr}
  .sh-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
  .ft{padding:48px 0 110px}
  .ft-top{flex-direction:column}
  .ft-info{grid-template-columns:1fr}
  .ft-info dl{display:grid;gap:4px}
  .fq{display:none}
  .mbar{display:grid;grid-template-columns:1fr 1fr 1.3fr;position:fixed;left:0;right:0;bottom:0;z-index:55;background:var(--ink);padding:8px 8px calc(8px + env(safe-area-inset-bottom));gap:6px;box-shadow:0 -10px 30px rgba(0,0,0,.2)}
  .mbar a,.mbar button{height:50px;border-radius:14px;display:flex;align-items:center;justify-content:center;gap:6px;font-weight:800;font-size:14.5px;color:#fff;background:#1f1f29}
  .mbar .k{background:#fee500;color:#191600}
  .mbar .c{background:var(--peri)}
  .mbar svg{width:20px;height:20px}
  body{padding-bottom:66px}
  .modal-box.cbox{padding:32px 22px 26px}
  .cform .row2{grid-template-columns:1fr}
  .cband .cform{padding:22px}
  .prof+.prof{margin-top:50px;padding-top:50px}
  .faq summary{font-size:16px;gap:12px}
  .faq .a{gap:12px}
  .cs-p p{font-size:16px}
  .qt .mk{font-size:70px}
  .stat{padding:24px 22px}
}
@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}.rv-on .rv{opacity:1;transform:none}}
/* late additions */
.chk li.num::before{content:attr(data-n);background:var(--ink);color:#fff;font-family:var(--en);font-weight:800;font-size:14px;display:grid;place-items:center}
.on-dark .chk li.num::before{background:var(--peri)}
.gal.n1 .fig{display:flex;flex-direction:column;align-items:center;background:transparent}
.gal.n1 .fig img{width:auto;max-width:100%;max-height:min(760px,85vh);border-radius:var(--r-lg)}
.media-stack .fig img{max-height:780px;width:auto;max-width:100%;margin:0 auto}
.vhead{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:34px}
.vhead .cs-h{margin-bottom:0}
@media (max-width:768px){
  body{padding-bottom:0}
  .hero .slides{height:clamp(620px,176vw,740px)}
  .slide-txt h2{max-width:none;font-size:clamp(34px,9.6vw,46px);line-height:1.1}
  .slide-txt p{max-width:none;font-size:15.5px}
  .slide-img{height:50%}
  .slide-txt .ey{font-size:12.5px;letter-spacing:.06em}
  .ba-tabs{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;margin-right:calc(-1*var(--gut));padding-right:var(--gut)}
  .ba-tabs::-webkit-scrollbar{display:none}
  .ba-tabs button{flex:none;height:40px;padding:0 16px;font-size:14px}
  .bfilter{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;margin-right:calc(-1*var(--gut));padding-right:var(--gut)}
  .bfilter::-webkit-scrollbar{display:none}
  .bfilter button{flex:none}
}
.bcard .bt .chip,.bitem .bt .chip,.cd .bt .chip{align-self:flex-start}

.cd .im.doc img{aspect-ratio:4/5;object-position:center top}
.pts.c5,.cds.c5{grid-template-columns:repeat(5,1fr)}
@media (max-width:1200px){.pts.c5,.cds.c5{grid-template-columns:repeat(3,1fr)}}
@media (max-width:1024px){.pts.c5,.cds.c5{grid-template-columns:repeat(2,1fr)}}
@media (max-width:768px){.pts.c5,.cds.c5{grid-template-columns:1fr}}
@media (max-width:768px){
  .cds.m2,.pts.m2{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  .cds.m2 .cd .bt{padding:14px 14px 16px;gap:6px}
  .cds.m2 .cd .bt h4{font-size:15.5px}
  .cds.m2 .cd .bt p{font-size:13.5px}
  .pts.m2 .pt{padding:18px 16px 20px;gap:8px}
  .pts.m2 .pt .im{margin:-18px -16px 6px}
  .pts.m2 .pt .n{font-size:28px}
  .pts.m2 .pt h4{font-size:15.5px}
  .pts.m2 .pt p{font-size:13.5px}
  /* 1칸(m1): 사진이 있는 카드는 사진 왼쪽·글 오른쪽 한 줄(세로로 길게 쌓이지 않게) */
  .pts.m1,.cds.m1{gap:12px}
  .pts.m1 .pt.has-im{display:grid;grid-template-columns:36% minmax(0,1fr);column-gap:16px;row-gap:6px;padding:14px 16px 14px 14px;align-content:start}
  .pts.m1 .pt.has-im>.im{grid-row:1/span 6;grid-column:1;margin:0;border-radius:14px;align-self:start}
  .pts.m1 .pt.has-im>:not(.im){grid-column:2}
  .pts.m1 .pt.has-im .n{font-size:24px}
  .pts.m1 .pt.has-im h4{font-size:16px}
  .pts.m1 .pt.has-im p{font-size:14px;line-height:1.6}
  .pts.m1 .pt:not(.has-im){padding:20px 20px 22px;gap:8px}
  .pts.m1 .pt:not(.has-im) .n{font-size:30px}
  .cds.m1 .cd:not(.noim){flex-direction:row;align-items:flex-start;padding:14px;gap:16px}
  .cds.m1 .cd:not(.noim)>.im{flex:0 0 36%;border-radius:14px;margin:0}
  .cds.m1 .cd:not(.noim)>.im.capw{max-width:36%}
  .cds.m1 .cd:not(.noim) .bt{padding:2px 0 0;flex:1;min-width:0;gap:6px}
  .cds.m1 .cd:not(.noim) .bt h4{font-size:16px}
  .cds.m1 .cd:not(.noim) .bt p{font-size:14px;line-height:1.6}
  .shot-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
}
.chk li.has-link{padding:0}
.chk li.has-link>div{display:flex}
.chk li.has-link::before{margin:20px 0 0 22px}
.chk li.has-link{flex-wrap:nowrap}
.chk a.sib{flex:1;display:flex;align-items:center;gap:12px;padding:20px 22px 20px 0;border-radius:18px}
.chk a.sib>b{flex:1}
.chk a.sib .go{margin-left:auto;width:32px;height:32px;border-radius:50%;background:var(--soft);display:grid;place-items:center;flex:none;transition:.2s}
.chk a.sib .go svg{width:14px;height:14px}
.chk li.has-link:hover{border-color:var(--peri)}
.chk li.has-link:hover .go{background:var(--peri);color:#fff}
.gal,.cds,.pts{align-items:start}
.cds .cd,.pts .pt{height:100%}
.bitem .chip,.pt .lb,.cmp-i .lb{white-space:normal;height:auto;min-height:28px;padding:4px 12px;line-height:1.4;max-width:100%}
@media (min-width:769px) and (max-width:1200px){
  .slide-img{width:50%;height:80%}
  .slide-txt h2{font-size:clamp(40px,5.2vw,60px);max-width:44vw}
  .slide-txt p{max-width:42vw}
  .qbar .wrap{padding-left:36px;padding-right:36px}
  .qc .qc-t{flex-basis:100%;margin:0 0 4px}
  .qc .qc-t br{display:none}
  .qc .qc-t small{display:inline;margin-left:10px}
}
@media (max-width:768px){
  .hero .slides{height:clamp(640px,176vw,1000px)}
  .slide-img{height:55%}
  .slide-img img{object-position:center 18%}
}
@media (max-width:768px){
  .hero .slides{height:clamp(620px,150vw,900px)}
  .slide{display:flex;flex-direction:column}
  .slide-bg{z-index:0}
  .slide-txt{position:relative;top:auto;transform:none;padding-top:14px;z-index:1}
  .slide-img{position:relative;flex:1;min-height:0;left:auto;right:auto;bottom:auto;margin:22px 20px 0;height:auto;width:auto;z-index:1}
  .slide-img img{height:100%;width:100%}
}
@media (max-width:768px){.slide-txt{order:1}.slide-img{order:2}}
@media (max-width:768px){
  .hero{padding-top:0}
  .hero .slides{height:calc(clamp(620px,150vw,900px) + var(--hd))}
  .slide-txt{padding-top:calc(var(--hd) + 18px)}
}
.bitem .bt .tags{font-size:12.5px;color:var(--peri-d);font-weight:600;line-height:1.5}
.blist.wide{grid-template-columns:repeat(auto-fill,minmax(360px,1fr))}
@media (max-width:768px){.blist.wide{grid-template-columns:1fr}}
.tbl.c1,.tbl.c2,.tbl.c3{min-width:0}
@media (max-width:768px){
  .tbl{font-size:14px}
  .tbl th,.tbl td{padding:12px 12px}
  .tbl th{white-space:normal}
  .tbl.c2 td:first-child{width:36%}
}
@media (min-width:1201px){
  .slide-txt h2{font-size:clamp(46px,5.4vw,92px);max-width:min(38vw,620px)}
  .slide-txt p{max-width:min(36vw,560px)}
}

/* ===== round 2: boards ===== */
.board-note{font-size:14px;color:var(--mute);margin:-14px 0 22px;display:flex;align-items:center;gap:8px}
.board-note.lock{margin:0 0 22px;padding:12px 16px;background:var(--soft);border-radius:14px;color:#3a3c48;font-weight:600}
.board-note svg{width:18px;height:18px;flex:none;color:var(--peri-d)}
.bfilter button small{font-family:var(--en);font-size:11.5px;opacity:.6;margin-left:3px}
/* before-after cases */
.balist{display:grid;grid-template-columns:repeat(auto-fill,minmax(330px,1fr));gap:22px}
.bacase{display:flex;flex-direction:column;text-align:left;border-radius:var(--r-lg);overflow:hidden;background:#fff;border:1px solid var(--line);transition:transform .25s,box-shadow .25s;color:var(--txt);width:100%}
.bacase:hover{transform:translateY(-4px);box-shadow:0 22px 44px -26px rgba(20,20,60,.4)}
.bacase .th{position:relative;background:var(--soft);aspect-ratio:1160/600;overflow:hidden}
.bacase .th img{width:100%;height:100%;object-fit:cover}
.bacase .lb,.ba-stage .lb{position:absolute;bottom:10px;display:inline-flex;align-items:center;height:26px;padding:0 10px;border-radius:999px;background:rgba(11,11,16,.72);color:#fff;font-size:12px;font-weight:700;letter-spacing:-.01em;white-space:nowrap}
.bacase .lb.b,.ba-stage .lb.b{left:10px}
.bacase .lb.a,.ba-stage .lb.a{left:calc(50% + 10px);background:var(--peri-d)}
.bacase .bt{padding:16px 18px 18px;display:flex;flex-direction:column;gap:6px}
.bacase .bt b{font-size:16px;font-weight:800;line-height:1.4;letter-spacing:-.02em}
.bacase .bt .tags{font-size:12.5px;color:var(--peri-d);font-weight:600;line-height:1.5}
.bacase .bt .vw{font-size:12px;color:var(--mute);font-family:var(--en);font-weight:600}
.car-track>.bacase{width:420px}
.babox{width:min(1100px,100%);background:#fff;border-radius:var(--r-lg);overflow:hidden;max-height:calc(100vh - 40px);overflow-y:auto}
.babox .modal-x{top:14px;right:14px;z-index:3;background:#fff;box-shadow:0 6px 20px rgba(0,0,0,.2)}
.ba-stage{position:relative;background:#111;line-height:0}
.ba-stage img{width:100%;height:auto;max-height:70vh;object-fit:contain}
.ba-stage .lb{bottom:16px;height:32px;font-size:14px;padding:0 14px}
.ba-stage .lb.b{left:16px}.ba-stage .lb.a{left:calc(50% + 16px)}
.ba-info{padding:22px 26px 24px;display:grid;grid-template-columns:1fr auto;gap:8px 20px;align-items:center}
.ba-views{grid-column:1/-1;display:flex;gap:6px;flex-wrap:wrap}
.ba-views button{height:36px;padding:0 16px;border-radius:999px;border:1.5px solid var(--line);font-weight:700;font-size:14px;color:var(--mute)}
.ba-views button.is-on{background:var(--ink);border-color:var(--ink);color:#fff}
.ba-info h3{font-size:20px;font-weight:800;letter-spacing:-.02em;line-height:1.4}
.ba-info .tags{grid-column:1;font-size:13.5px;color:var(--peri-d);font-weight:600}
.ba-info .disc{grid-column:1;margin-top:4px}
.ba-nav{grid-column:2;grid-row:2/5;display:flex;gap:8px}
/* poster / rank thumbs */
.bitem .th.poster{aspect-ratio:38/54}
.rank .th{aspect-ratio:4/5}
.rank .th img{object-position:center top}
.bitem .meta .dt{font-size:13px;color:var(--mute)}
.bitem .meta .au{font-size:13px;color:var(--mute)}
.bitem .meta{flex-direction:row;gap:8px}
.rank .bt .d{font-size:12.5px;color:#3a3c48}
/* news list */
.nlist{border-top:2px solid var(--ink)}
.nrow{display:grid;grid-template-columns:200px 1fr;gap:26px;align-items:center;padding:22px 6px;border-bottom:1px solid var(--line);transition:background .15s}
.nrow.noth{grid-template-columns:1fr}
.nrow:hover{background:var(--soft)}
.nrow .th{aspect-ratio:16/10;border-radius:16px;overflow:hidden;background:var(--soft)}
.nrow .th img{width:100%;height:100%;object-fit:cover}
.nrow .tx{min-width:0;display:flex;flex-direction:column;gap:6px}
.nrow .c{align-self:flex-start;font-size:12.5px;font-weight:800;color:var(--peri-d)}
.nrow b{font-size:18.5px;font-weight:800;line-height:1.45;letter-spacing:-.02em}
.nrow p{font-size:14.5px;color:var(--mute);line-height:1.65;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.nrow .d{font-family:var(--en);font-size:13px;color:var(--mute);font-weight:600}
.ncards .ncard{display:flex;flex-direction:column;border-radius:var(--r-lg);overflow:hidden;background:#fff;border:1px solid var(--line);transition:transform .25s}
.ncards .ncard:hover{transform:translateY(-4px)}
.ncard .th{aspect-ratio:16/10;overflow:hidden;background:var(--soft)}
.ncard .th img{width:100%;height:100%;object-fit:cover}
.ncard .bt{padding:18px 20px 20px;display:flex;flex-direction:column;gap:8px}
.ncard .bt .chip{align-self:flex-start}
.ncard .bt b{font-size:16px;font-weight:800;line-height:1.45;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.ncard .bt small{font-family:var(--en);font-size:12.5px;color:var(--mute)}
/* prose (정보 게시판·공지 본문) */
.prose{max-width:820px;margin:0 auto;font-size:17px;line-height:1.85;color:#2c2e38}
.prose>*+*{margin-top:18px}
.prose p{word-break:keep-all}
.prose h3{margin-top:44px;font-size:24px;font-weight:900;letter-spacing:-.03em;line-height:1.4;color:var(--ink)}
.prose h4,.prose h5,.prose h6{margin-top:34px;font-size:20px;font-weight:800;color:var(--ink)}
.prose strong,.prose b{color:var(--ink);font-weight:800}
.prose u{text-decoration-color:var(--peri);text-decoration-thickness:2px;text-underline-offset:3px}
.prose a{color:var(--peri-d);text-decoration:underline;text-underline-offset:3px}
.prose ul,.prose ol{padding-left:22px}
.prose ul{list-style:disc}.prose ol{list-style:decimal}
.prose li+li{margin-top:6px}
.prose img{border-radius:18px;margin:0 auto;max-width:100%}
.prose .pimgs{display:grid;gap:12px;grid-template-columns:1fr;justify-items:center}
.prose .pimgs.n2{grid-template-columns:1fr 1fr}
.prose .pimgs.n3{grid-template-columns:repeat(3,1fr)}
.prose blockquote{margin:30px 0;padding:24px 28px;border-radius:20px;background:var(--lilac);font-size:19px;font-weight:700;color:var(--ink);border-left:5px solid var(--peri)}
.prose blockquote p{margin:0}
.prose hr{border:0;border-top:1px solid var(--line);margin:34px 0}
.prose .tbl-w{margin:26px 0}
.prose .tbl{min-width:0}
.prose .tbl td:first-child{background:transparent;font-weight:inherit}
.prose .vembed{display:block;position:relative;aspect-ratio:16/9;border-radius:18px;overflow:hidden;background:#000;margin:10px 0}
.prose .vembed iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.prose .pfaq{margin-top:40px;border-radius:20px;background:var(--soft);padding:0 24px}
.prose .pfaq summary{list-style:none;cursor:pointer;display:flex;gap:14px;align-items:flex-start;padding:22px 0;font-size:17.5px;font-weight:800;color:var(--ink);line-height:1.5}
.prose .pfaq summary::-webkit-details-marker{display:none}
.prose .pfaq summary::before{content:"Q";flex:none;width:30px;height:30px;border-radius:50%;background:var(--ink);color:#fff;display:grid;place-items:center;font-family:var(--en);font-size:14px}
.prose .pfaq summary::after{content:"+";margin-left:auto;font-family:var(--en);font-size:24px;font-weight:300;color:var(--peri-d);line-height:1.1;transition:transform .2s}
.prose .pfaq[open] summary::after{transform:rotate(45deg)}
.prose .pfaq p{padding:0 0 22px 44px;margin:0;font-size:16px;color:#4a4c59}
.rel-links{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:12px}
.rel-link{display:flex;flex-direction:column;gap:4px;position:relative;background:#fff;border-radius:20px;padding:20px 60px 20px 22px;border:1px solid var(--line);transition:.2s}
.rel-link:hover{border-color:var(--peri)}
.rel-link small{font-size:12.5px;font-weight:700;color:var(--peri-d)}
.rel-link b{font-size:17px;font-weight:800}
.rel-link .go{position:absolute;right:18px;top:50%;margin-top:-17px;width:34px;height:34px;border-radius:50%;background:var(--soft);display:grid;place-items:center}
.rel-link .go svg{width:14px;height:14px}
@media (max-width:768px){
  .balist{grid-template-columns:1fr;gap:14px}
  .car-track>.bacase{width:300px}
  .bacase .lb{height:24px;font-size:12px;padding:0 8px;bottom:8px}
  .bacase .lb.b{left:8px}.bacase .lb.a{left:calc(50% + 8px)}
  .ba-stage .lb{height:24px;font-size:11.5px;padding:0 9px;bottom:10px}
  .ba-stage .lb.b{left:10px}.ba-stage .lb.a{left:calc(50% + 10px)}
  .ba-info{grid-template-columns:1fr;padding:18px 18px 20px}
  .ba-nav{grid-column:1;grid-row:auto;justify-content:flex-end}
  .ba-info h3{font-size:17px}
  .modal-box.babox{border-radius:20px}
  .nrow{grid-template-columns:96px 1fr;gap:14px;padding:16px 2px}
  .nrow .th{aspect-ratio:1/1;border-radius:12px}
  .nrow b{font-size:15.5px}
  .nrow p{-webkit-line-clamp:1;font-size:13px}
  .prose{font-size:16px}
  .prose h3{font-size:20px}
  .prose .pimgs.n3{grid-template-columns:1fr 1fr}
  .prose blockquote{padding:18px 18px;font-size:17px}
  .prose .pfaq{padding:0 16px}
  .prose .pfaq p{padding-left:0}
  .ncards{grid-template-columns:1fr 1fr}
  .ncard .th{aspect-ratio:4/3}
  .ncard .bt{padding:12px 14px 14px}
  .ncard .bt b{font-size:14px}
  .bitem .th.poster{aspect-ratio:38/54}
}
.prose .vembed{cursor:pointer}
.prose .vembed img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;border-radius:0;margin:0}
.prose .vembed .play{position:absolute;left:50%;top:50%;width:70px;height:70px;margin:-35px 0 0 -35px}
.prose .vembed:hover .play{background:var(--peri);color:#fff}
.tall-stack{display:grid;gap:24px;justify-items:center}
.tall-stack .fig{max-width:760px;width:100%;background:transparent}
.tall-stack .fig img{width:100%}
.bitem .meta{flex-direction:column;align-items:flex-start;gap:2px}
.chk li .lb{overflow-wrap:anywhere}
.nrow .th.ph{display:grid;place-items:center;background:linear-gradient(150deg,var(--sky),var(--lilac))}
.nrow .th.ph span{font-family:var(--en);font-weight:900;font-size:40px;color:#fff}
/* 모바일 가로 넘침 안전망(슬라이드·등장 효과가 잠깐 화면 밖으로 나가도 가로 스크롤이 생기지 않게 — clip 은 sticky 를 깨지 않는다) */
main{overflow-x:clip}
/* ---------- QA content fixes (2026-09-30) ---------- */
/* 히어로 말풍선(원고 tagline·히어로 문구) */
.phero .kick{display:inline-block;position:relative;margin-top:18px;padding:10px 18px;border-radius:18px 18px 18px 4px;background:var(--peri);color:#fff;font-size:clamp(14px,1.2vw,16.5px);font-weight:700;line-height:1.45;max-width:34em}
.phero.t-sky .kick,.phero.t-lilac .kick,.phero.t-pink .kick{background:var(--ink)}
.phero .kick+h1{margin-top:16px}
/* 각주 '… 바로가기' → 버튼 */
.note-go{margin-top:24px}
/* 작은 원본은 너무 늘리지 않고 가운데 */
.fig{margin-inline:auto;width:100%}
.vfig{display:block;padding:0;border:0;cursor:pointer;text-align:left}
.vfig img{display:block;width:100%;height:auto}
.vfig .play{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:64px;height:64px;border-radius:50%;background:rgba(255,255,255,.92);color:var(--ink);display:grid;place-items:center;box-shadow:0 10px 30px rgba(0,0,0,.25)}
.vfig .play svg{width:24px;height:24px;margin-left:3px}
.vfig:hover .play{background:var(--peri);color:#fff}
/* 카드 사진: 세로 사진은 3:4, contain 은 가장자리 색 바탕, 작은 것은 늘리지 않음 */
.cd .im.tall img,.pt .im.tall img,.stp .im.tall img{aspect-ratio:3/4;object-position:center top}
.cd .im.contain img,.pt .im.contain img,.stp .im.contain img{object-fit:contain}
.cd .im.contain.sd img,.pt .im.contain.sd img,.stp .im.contain.sd img{object-fit:scale-down}
/* 도식 이름표 줄(체크 목록이 아님) */
.legend{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px;justify-content:center}
.legend .chip{height:auto;min-height:32px;padding:6px 14px;white-space:normal;font-weight:700;background:#fff}
.on-dark .legend .chip{background:transparent;color:#fff}
.cs-p p.deco{font-family:var(--en);font-weight:900;font-size:clamp(34px,4vw,52px);line-height:1;color:var(--peri);letter-spacing:-.04em}
/* 병원 둘러보기: 제목·설명 한 번 + 사진들 */
.ggs{display:grid;gap:56px}
.gg{display:grid;grid-template-columns:minmax(0,300px) 1fr;gap:36px;align-items:start}
.gg-t .chip{margin-bottom:12px}
.gg-t h3{font-size:clamp(20px,1.8vw,26px);font-weight:800;letter-spacing:-.03em;line-height:1.35}
.gg-t p{margin-top:12px;font-size:15.5px;line-height:1.75;color:var(--mute)}
.gg-p{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.gg-p.n1{grid-template-columns:minmax(0,520px)}
.gg-p{align-items:start}
.gg-p.uni .fig img{aspect-ratio:4/3;object-fit:cover}
.gg-p .fig.wide{grid-column:1/-1}
.gg-p.w1{grid-template-columns:minmax(0,1fr)}
.gg.nohead{grid-template-columns:1fr}
.gg-p.n2{grid-template-columns:repeat(2,minmax(0,1fr))}
.gg-p .fig{border-radius:var(--r-md)}
/* 논문 쪽: 넓게 한 장, 누르면 크게 */
.doc-stack{display:grid;gap:24px;justify-items:center}
.zfig{display:block;width:100%;max-width:720px;border-radius:var(--r-md);overflow:hidden;border:1px solid var(--line);background:#fff;position:relative}
.zfig img{display:block;width:100%;height:auto}
.zfig .cap{display:block;padding:10px 14px;font-size:13px;color:var(--mute)}
.zfig::after{content:"+";position:absolute;right:12px;top:12px;width:36px;height:36px;border-radius:50%;background:rgba(21,21,28,.72);color:#fff;display:grid;place-items:center;font-family:var(--en);font-weight:800;font-size:20px}
/* 전후 사진 설명의 기간·구분 */
.fig figcaption .ba-lb{display:inline-flex;align-items:center;height:24px;padding:0 10px;margin-right:8px;border-radius:999px;background:var(--ink);color:#fff;font-size:12px;font-weight:700;vertical-align:1px}
.on-dark .fig figcaption .ba-lb{background:var(--peri)}
/* 영상 카드: 원고 설명 줄·검색 카드 자리표시 */
.vcard .vsub{margin-top:6px;font-size:13.5px;line-height:1.5;color:var(--mute);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.on-dark .vcard .vsub{color:var(--mute-d)}
.vcard .th.ph{background:linear-gradient(140deg,#2b2d5c,#15151c);display:grid;place-items:center}
.vcard .th.ph .ph{position:absolute;right:18px;bottom:8px;font-family:var(--en);font-weight:900;font-size:72px;color:rgba(122,132,255,.3);line-height:1}
.vcard .th .play{position:absolute}
.tv-grid.n1{grid-template-columns:minmax(0,560px)}
.tv-grid.n2{grid-template-columns:repeat(2,minmax(0,1fr))}
.tv-grid.n3{grid-template-columns:repeat(3,minmax(0,1fr))}
.car+.tv-grid,.car+.vt,[data-carsec]+.tv-grid{margin-top:40px}
.short .meta b{text-decoration:none}
.short .th img.vth{transform:none}
.short:hover .th img.vth{transform:scale(1.04)}
/* 수치 카드: 문장형 항목 */
.stat-t h4{font-size:19px;font-weight:800;line-height:1.4;letter-spacing:-.02em}
.stat-t span{display:block;margin-top:8px;font-size:14px;font-weight:700;color:var(--peri-l)}
.stat-line{margin-top:22px;font-size:clamp(18px,1.6vw,22px);font-weight:800;line-height:1.5;text-align:center}
.stats+.tbl-w,.stat-line+.tbl-w{margin-top:28px}
/* 오시는 길 지도 */
.map{margin-top:36px;display:grid;grid-template-columns:1.6fr 1fr;border-radius:var(--r-lg);overflow:hidden;background:#fff;border:1px solid var(--line)}
.map-f{position:relative;min-height:360px;background:var(--soft)}
.map-f iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.map-b{padding:30px 28px;display:flex;flex-direction:column;justify-content:center;gap:18px;color:var(--txt)}
.map-b .addr{font-size:17px;font-weight:700;line-height:1.55}
/* 홈 '일퍼센트 소식' 배너 카드 */
.promo{width:560px;display:flex;flex-direction:column;border-radius:var(--r-lg);overflow:hidden;background:#fff;border:1px solid var(--line);color:var(--txt)}
.promo .th{aspect-ratio:1800/625;background:var(--soft);overflow:hidden}
.promo .th img{width:100%;height:100%;object-fit:cover;transition:transform .5s}
.promo:hover .th img{transform:scale(1.03)}
.promo .bt{padding:20px 22px 24px;display:flex;flex-direction:column;gap:8px;align-items:flex-start}
.promo .bt b{font-size:19px;font-weight:800;letter-spacing:-.03em;line-height:1.35}
.promo .bt p{font-size:14.5px;line-height:1.65;color:var(--mute)}
/* 홈 이벤트 카드: 포스터 비율 그대로, 순번은 포스터 밖 */
.rank .th{aspect-ratio:380/540}
.rank .bt .rk{display:flex;gap:10px;align-items:flex-start}
.rank .bt .rk .no{position:static;flex:none;width:34px;height:34px;font-size:14px;box-shadow:none;background:var(--ink);color:#fff}
.rank:nth-child(1) .bt .rk .no,.rank:nth-child(2) .bt .rk .no,.rank:nth-child(3) .bt .rk .no{background:var(--ink);color:#fff}
.rank .bt .rk .t{padding-top:6px}
.rank .end,.bitem .end{display:inline-flex;align-items:center;height:22px;padding:0 9px;border-radius:999px;background:var(--mute);color:#fff;font-size:11.5px;font-weight:700;font-style:normal}
.rank.is-end .th img{filter:grayscale(.6);opacity:.85}
/* 게시판 카드: 세로 표지는 잘리지 않게 */
.bitem .th.fit img{object-fit:contain;background:var(--soft)}
.bitem .bt p{white-space:normal}
.banner-sec{padding-bottom:0}
.banner-fig{border-radius:var(--r-lg);overflow:hidden;max-width:1100px;margin:0 auto}
.banner-fig img{display:block;width:100%;height:auto}
/* 게시글 대표 이미지 */
.post-h-grid{display:grid;grid-template-columns:1fr minmax(0,360px);gap:48px;align-items:center}
.post-hero{border-radius:var(--r-lg);overflow:hidden;background:var(--soft)}
.post-hero img{display:block;width:100%;height:auto}
/* 홈 TV 탭 설명 */
.pane-cap{margin:-12px 0 24px;font-size:16px;font-weight:700;color:#3a3c48}
@media (max-width:1024px){
  .gg{grid-template-columns:1fr;gap:18px}
  .map{grid-template-columns:1fr}
  .post-h-grid{grid-template-columns:1fr;gap:28px}
  .post-hero{max-width:420px}
}
@media (max-width:768px){
  .gg-p{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  .gg-p.n1{grid-template-columns:1fr}
  .ggs{gap:44px}
  .map-f{min-height:280px}
  .map-b{padding:22px 20px}
  .promo{width:300px}
  .promo .bt b{font-size:17px}
  .tv-grid.n2,.tv-grid.n3{grid-template-columns:1fr}
  .tall-stack .fig{max-height:70vh}
  .tall-stack .fig img{max-height:70vh;width:auto;margin:0 auto}
  .rank .bt .rk .no{width:30px;height:30px;font-size:13px}
}
.tbl.has-im thead th{vertical-align:bottom}
.tbl .th-im{display:block;margin:0 auto 10px;border-radius:14px;overflow:hidden;background:#fff}
.tbl .th-im img{display:block;width:100%;height:auto}
.media-stack .fig{width:fit-content;max-width:100%}
.media-stack.two .fig{width:100%}
.cd .im.sq img,.pt .im.sq img,.stp .im.sq img{aspect-ratio:1/1}
@media (max-width:600px){
  #bl-academic{grid-template-columns:1fr;gap:12px}
  #bl-academic .bitem{flex-direction:row;align-items:stretch}
  #bl-academic .bitem .th{flex:0 0 38%;aspect-ratio:auto;min-height:120px}
  #bl-academic .bitem .th img{position:absolute;inset:0}
  #bl-academic .bitem .bt{padding:14px 14px 16px}
}
/* 작은 원본 사진 상자: 가운데 작게(흐릿하게 늘리지 않음) */
.im.capw{margin-left:auto;margin-right:auto;width:100%;border-radius:16px}
.pt .im.capw{margin:0 auto 8px}
.cd .im.capw{margin:22px auto 0}
.stp .im.capw{margin:0 auto 6px}
.car-track>.vcard,.car-track>.short{align-self:flex-start}
/* 비교 카드 사진: 작은 원본은 원본 폭의 1.25배까지만, 가운데 */
.cmp-i .im{width:100%;margin-inline:auto}
/* 어두운 사진을 통째로: 상자가 사진 비율 그대로(흰 띠 없음) */
.im.hug{background:transparent}
/* 동그랗게 오려진 사진: 원 테두리가 보이게, 카드 가장자리에 닿지 않게 */
.im.round{background:transparent;padding:0 6% 6px;overflow:visible}
.im.round img{border-radius:50%;box-shadow:0 0 0 1px rgba(21,21,28,.08),0 10px 26px rgba(21,21,28,.10)}
.on-dark .im.round img{box-shadow:0 0 0 1px rgba(255,255,255,.14)}
/* ===== QA layout fixes (2026-09-30 round 3) ===== */
/* 제목 줄바꿈: 마지막 한두 글자만 홀로 떨어지지 않게 */
/* balance 는 줄을 억지로 반씩 나눠 '…좌우한다는 / 것 …' 처럼 어색하게 꺾일 때가 있어 pretty(마지막 줄 외톨이만 막기)로 */
.cs-h h2,.qt h2,.phero h1,.post-h h1,.slide-txt h2,.cs-h h3{text-wrap:pretty}
.nw{white-space:nowrap}
/* 홈 히어로: 슬라이드 탭은 글 칸 안에 따로 한 줄(사진 위로 넘어가지 않게), 어두운 슬라이드의 선택 탭은 흰 바탕 */
@media (min-width:1025px){
  .hero-ctl .wrap{flex-wrap:wrap;row-gap:16px}
  .hero-tabs{order:-1;flex:0 0 100%;margin-left:0;padding-right:calc(100% - min(600px,42vw))}
}
.hero.is-dark .hero-tabs button.is-on{background:#fff;border-color:#fff;opacity:1}
@media (min-width:769px){.hero-ctl .wrap{padding-right:96px}}
/* 모바일 히어로: 사진 아래쪽을 살짝 어둡게 — 흰 옷 사진 위에서도 '01 / 06'·진행 막대가 보이게 */
@media (max-width:768px){
  .slide-img::after{content:"";position:absolute;left:0;right:0;bottom:0;height:120px;background:linear-gradient(180deg,rgba(11,11,16,0),rgba(11,11,16,.55));pointer-events:none}
  .hero-num{text-shadow:0 1px 8px rgba(0,0,0,.5)}
  .hero .hero-ctl .hero-prog{background:rgba(255,255,255,.4)}
}
/* 떠 있는 빠른 버튼: 작게, 화면 끝에 붙여서 — 1480px 보다 좁으면 본문 좌우 여백을 넓혀 버튼이 본문·푸터를 가리지 않게.
   '빠른 상담'(검정)은 흰 테를 둘러 어두운 띠 위에서도 보이게 */
@media (min-width:769px){
  .fq{right:12px;gap:8px}
  .fq a,.fq button{width:52px;height:52px}
  .fq svg{width:22px;height:22px}
  .fq .c{font-size:12px;box-shadow:0 0 0 2px rgba(255,255,255,.92),0 12px 26px -10px rgba(0,0,0,.45)}
  .fq .u{width:44px;height:44px;margin:0 4px}
  .fq .tip{right:64px}
}
@media (min-width:769px) and (max-width:1479px){:root{--gut:72px}}
/* 캐러셀 화살표: 모바일에서도 'view more' 옆에 작게(넘길 것이 없으면 감춤) */
.rbtn.is-static{display:none!important}
@media (max-width:768px){
  .st-act{align-self:stretch}
  .st-act .rbtn{display:inline-grid;width:40px;height:40px}
  .st-act .rbtn svg{width:16px;height:16px}
  .st-act .rbtn[data-prev]{margin-left:auto}
  .vhead{flex-wrap:wrap;gap:16px}
  .vhead .st-act{display:flex;margin-left:auto}
}
/* 홈 의료진: 모바일 2칸(의료진 소개 페이지와 같게) */
@media (max-width:768px){
  .docs{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
  .doc .bt{padding:12px 14px 16px}
  .doc .bt b{font-size:17px}
}
/* 하위 메뉴 띠: 내려 읽는 동안 헤더 뒤로 접힘(위로 올리면 다시), 스크롤되는 줄은 오른쪽 끝을 흐리게, 데스크톱은 줄바꿈 */
.tabs{transition:transform .3s ease,visibility 0s}
body.tabs-up .tabs{transform:translateY(calc(-100% - 2px));visibility:hidden;transition:transform .3s ease,visibility 0s .3s}
.tabs-row.more-r{-webkit-mask-image:linear-gradient(90deg,#000 calc(100% - 40px),transparent);mask-image:linear-gradient(90deg,#000 calc(100% - 40px),transparent)}
@media (min-width:1025px){.tabs-row{flex-wrap:wrap;overflow:visible}.tabs-row.more-r{-webkit-mask-image:none;mask-image:none}}
/* 누르기 쉬운 크기(모바일 40px 이상) */
@media (max-width:768px){
  .crumb{margin:-9px 0}
  .crumb a{display:inline-flex;align-items:center;min-height:40px}
  .pill-sm{height:40px}
  .ft-links a{height:40px}
  .post-h .chips .chip{height:40px;padding:0 16px}
  .smap li a{padding:9px 0}
  .short .meta span,.selfie .cap span{font-size:12px}
  .feat .cap small{font-size:13px}
}
.smap li a small{margin-left:6px;font-family:var(--en);font-size:12px;font-weight:600;color:var(--mute)}
/* 1% Info 띠: 모바일은 이름 | 값 한 줄씩(주소가 5줄로 꺾이거나 한 칸이 홀로 남지 않게) */
@media (max-width:768px){
  .facts ul{grid-template-columns:1fr;gap:0;background:#1f1f29;border-radius:16px;padding:2px 16px}
  .facts li{background:none;border-radius:0;padding:12px 0;display:grid;grid-template-columns:minmax(76px,30%) minmax(0,1fr);gap:12px;align-items:baseline}
  .facts li+li{border-top:1px solid var(--line-d)}
  .facts li b{margin-top:0;font-size:15px;line-height:1.5}
}
/* 오시는 길: 교통편별 칸 */
.routes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;align-items:start}
.route{background:var(--soft);border-radius:var(--r-lg);padding:26px 28px}
.bg-soft .route,.bg-sky .route,.bg-lilac .route,.bg-pink .route{background:#fff}
.on-dark .route{background:var(--ink2)}
.route h3{font-size:19px;font-weight:800;letter-spacing:-.02em;padding-bottom:12px;margin-bottom:4px;border-bottom:2px solid var(--ink)}
.on-dark .route h3{border-color:#fff}
.route dl>div{display:grid;grid-template-columns:minmax(90px,32%) minmax(0,1fr);gap:14px;padding:10px 0;border-bottom:1px solid var(--line)}
.on-dark .route dl>div{border-color:var(--line-d)}
.route dl>div:last-child{border-bottom:0}
.route dt{font-weight:700;font-size:15px;line-height:1.55}
.route dd{margin:0;font-size:15px;line-height:1.6;color:#4a4c59}
.on-dark .route dd{color:#c7c8d4}
.route .note{margin-top:8px}
@media (max-width:768px){.routes{grid-template-columns:1fr;gap:12px}.route{padding:20px}.route dl>div{grid-template-columns:1fr;gap:2px}}
/* 나란히(split) 배치: 제목과 목록 사이 간격, 사진 설명은 사진 아래 */
.split .cs-h+*{margin-top:24px}
.media-stack .fig-note{margin-top:0;grid-column:1/-1;text-align:center}
.media-stack.two{align-items:start}
/* 비교: 모바일에서도 사진 두 장은 나란히, 4개는 2×2 */
@media (max-width:768px){
  .cmp.m2,.cmp.c4{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  .cmp.m2 .cmp-i,.cmp.c4 .cmp-i{padding:16px 14px;gap:8px;border-radius:var(--r-md)}
  .cmp.m2 .cmp-i h4,.cmp.c4 .cmp-i h4{font-size:16px}
  .cmp.m2 .cmp-i p,.cmp.c4 .cmp-i p{font-size:13.5px;line-height:1.6}
  .cmp.m2 .cmp-i .im,.cmp.c4 .cmp-i .im{border-radius:12px}
}
/* 세로 히어로 사진: 모바일 가로 상자에서 얼굴이 잘리지 않게 */
@media (max-width:1024px){.phero .pimg.port{aspect-ratio:1/1;max-width:520px}.phero .pimg.port img{object-position:center 30%}}
/* 게시판 목록 머리: 모바일은 낮게 — 첫 화면에 글 목록이 보이게 */
@media (max-width:768px){
  .phero.phero-list .wrap{min-height:0;padding-top:24px;padding-bottom:28px;gap:20px}
  .phero-list h1{font-size:clamp(30px,8.6vw,38px);margin-top:10px}
  .phero-list .ey{margin-top:14px}
  .phero-list .kick{margin-top:12px}
  .phero-list .sub{margin-top:10px;font-size:15.5px}
  .phero-list .acts{margin-top:16px}
  .phero-list+.tabs+.sec,.phero-list+.sec,.phero-list+.tabs+.banner-sec{padding-top:28px}
}
@media (max-width:600px){.phero-list .acts [data-consult-open]{display:none}}
/* 이름표 줄(왼쪽 정렬), 번호뿐인 눈썹 → 번호 뱃지 */
.legend.l-start{justify-content:flex-start;margin-top:0}
.cs-num{display:inline-grid;place-items:center;width:52px;height:52px;border-radius:50%;background:var(--ink);color:#fff;font-family:var(--en);font-weight:900;font-size:20px;letter-spacing:-.02em;margin-bottom:16px}
.on-dark .cs-num{background:var(--peri)}
/* 사진 있는 단계: 데스크톱 3칸, 모바일은 작은 사진 왼쪽 + 글 오른쪽(시간표처럼) */
@media (min-width:1025px){.steps.c3{grid-template-columns:repeat(3,minmax(0,1fr))}.steps.c3 .stp:nth-child(3n)::after{display:none}}
@media (max-width:768px){
  .steps.has-im{gap:10px}
  .steps.has-im .stp{display:grid;grid-template-columns:92px minmax(0,1fr);column-gap:14px;row-gap:4px;padding:14px;align-content:start}
  .steps.has-im .stp>.im{grid-row:1/span 5;grid-column:1;margin:0;border-radius:12px;max-width:none}
  .steps.has-im .stp>:not(.im){grid-column:2}
  .steps.has-im .stp h4{font-size:16px}
  .steps.has-im .stp p{font-size:14px;line-height:1.6}
}
/* 전후: Before·After 두 장을 같은 높이로 나란히(이름표는 사진 위), CT 겹침 비교는 같은 사례 칸 안에 */
.fig.bapair{background:transparent;overflow:visible}
.bapair .bp{display:grid;grid-template-columns:1fr 1fr;gap:4px;border-radius:var(--r-lg);overflow:hidden}
.bapair .bpi{position:relative;background:var(--soft)}
.gal .fig.bapair .bpi img,.fig.bapair .bpi img{display:block;width:100%;max-width:none;max-height:none;aspect-ratio:var(--r);object-fit:cover;border-radius:0}
.bapair .lb{position:absolute;left:10px;bottom:10px;display:inline-flex;align-items:center;height:26px;padding:0 10px;border-radius:999px;background:rgba(11,11,16,.72);color:#fff;font-size:12px;font-weight:700}
.bapair .lb.a{background:var(--peri-d)}
.gal .fig.bapair,.gal .fig.bacase-f{display:block}
.bapair figcaption{padding:12px 4px 0}
.bct{display:grid;grid-template-columns:1.25fr 1fr;gap:8px;align-items:center;padding:8px}
.gal .bct img{width:100%;height:auto;border-radius:10px}
.m-only{display:none}
@media (max-width:768px){
  .m-only{display:block}
  .bapair .lb{height:22px;font-size:11.5px;left:8px;bottom:8px;padding:0 8px}
  .gal .more-w,.more-w.m-only{margin-top:20px}
}
/* 사진 크게 보기 */
.shot-grid .fig,.gg-p .fig{cursor:zoom-in}
.modal-box.ibox{width:auto;max-width:min(1100px,100%);display:flex;flex-direction:column;align-items:center}
.ibox img{max-width:100%;max-height:calc(100vh - 150px);width:auto;height:auto;border-radius:16px;background:#fff}
.ibox .icap{margin-top:12px;color:#fff;font-weight:700;font-size:15px;text-align:center}
/* 사진 묶음: 모바일 3장은 3칸 그대로(한 벌) */
@media (max-width:1024px){.shot-grid.s4,.shot-grid.s5{--c:3}}
@media (max-width:768px){.shot-grid.n3{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.shot-grid.s1{grid-template-columns:1fr}.shot-grid .fig figcaption{padding:8px 6px;font-size:12.5px}}
/* 표: 좁은 칸에서 낱말 가운데가 꺾이지 않게(너무 넓으면 표 안에서 가로로 넘김), 가격·숫자 칸은 한 줄 */
.tbl th,.tbl td{overflow-wrap:normal;word-break:keep-all}
.tbl td.num{white-space:nowrap}
/* 이벤트 목록: 모바일 날짜·가격은 왼쪽 정렬, 순위 뱃지는 작게 */
.bitem .bt .meta{align-items:flex-start}
.bitem .meta .dt>span{white-space:nowrap}   /* 기간은 '시작 ~' / '끝' 사이에서만 줄바꿈(좁은 폰에서 카드 밖으로 잘리지 않게) */
@media (max-width:768px){.bitem .no{width:30px;height:30px;left:8px;top:8px;font-size:14px}}
/* 전후 태그: 태그 하나가 줄 끝에서 둘로 갈리지 않게 */
.tags .tg{display:inline-block;white-space:nowrap;margin-right:6px}
/* 게시글 본문 제목은 글 제목(h1)보다 작게, 논문 글은 촘촘하게 */
.post-b .cs-h h2{font-size:clamp(22px,2.3vw,32px)}
.post-b.b-academic .cs{padding:14px 0}
.post-b.b-academic .cs-h{margin-bottom:14px}
.post-b.b-academic .cs-h h2{font-size:clamp(19px,1.7vw,23px)}
/* 영상 한 편뿐인 줄은 가운데 크게 */
.tv-grid.n1{grid-template-columns:minmax(0,640px);justify-content:center}
/* 관련 칼럼: 모바일은 옆으로 넘기는 한 줄(4장을 세로로 1,900px 쌓지 않게) */
@media (max-width:768px){
  .mscroll{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:14px;margin-right:calc(-1*var(--gut));padding-right:var(--gut);scrollbar-width:none}
  .mscroll::-webkit-scrollbar{display:none}
  .mscroll>*{flex:0 0 270px;scroll-snap-align:start}
}
/* 제목 없는 카드(앞 카드 글의 이어짐): 옆 카드들의 본문 줄과 높이를 맞춘다 */
@media (min-width:769px){.cds .cd.notitle .bt>p:first-of-type{margin-top:37px}}
/* 아주 긴 가로 사진(1519×424, 여러 칸 이어진 띠·전후 연속 사진): 모바일에서 350×98 띠로 줄이지도, 잘라 내지도 않고
   높이 200px(원본보다 키우지 않음, --pw)로 옆으로 밀어서 전체를 본다. 설명·안내 줄은 제자리에 */
.pan-hint{display:none}
.shot-grid>.fig.xwide{grid-column:1/-1}
.shot-grid .fig.xwide img{aspect-ratio:var(--ar);object-fit:contain}
@media (max-width:768px){
  .gal>.fig.xwide,.shot-grid>.fig.xwide,.media-stack>.fig.xwide{grid-column:1/-1}
  .fig.xwide,.gal.n1 .fig.xwide,.media-stack .fig.xwide{display:block;width:100%;overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:thin}
  .fig.xwide img,.gal .fig.xwide img,.gal.n1 .fig.xwide img,.shot-grid .fig.xwide img,.media-stack .fig.xwide img{display:block;width:max(100%,var(--pw,100%));max-width:none;height:auto;max-height:none;aspect-ratio:var(--ar);object-fit:contain;border-radius:0;margin:0}
  .fig.xwide .pan-hint{display:block;position:sticky;left:0;width:100%;padding:8px 12px 0;font-size:12px;font-weight:600;color:var(--mute);text-align:center}
  .fig.xwide figcaption{position:sticky;left:0;width:100%}
  .fig.xwide .pan-hint:last-child{padding-bottom:8px}
}
.shot-grid.gl{margin-top:40px}
.cs-h+.shot-grid.gl{margin-top:0}
@media (max-width:768px){.shot-grid:not(.n3)>.fig:last-child:nth-child(odd){grid-column:1/-1}}
/* ===== QA layout fixes (round 5) ===== */
/* 사진 있는 단계(모바일 시간표 줄): 사진 칸이 글 높이만큼 늘어나 사진 밑에 빈 띠가 생기지 않게 */
@media (max-width:768px){.steps.has-im .stp>.im{align-self:start}}
/* 관련 카드가 1~2장뿐일 때: 3칸 격자에 빈 칸을 남기지 않고 가로 카드(사진 왼쪽·글 오른쪽)로 줄을 채운다 */
@media (min-width:769px){
  .grid3.few.f1{grid-template-columns:minmax(0,1fr)}
  .few.f1>.bcard,.few.f1>.ncard{flex-direction:row;align-items:stretch}
  .few.f1>*>.th{flex:0 0 38%;aspect-ratio:16/10}
  .few.f1>*>.bt{flex:1;min-width:0;justify-content:center;padding:30px 40px}
  .few.f1>.bcard .bt b{font-size:21px}
  .few.f1>.ncard>.th{flex-basis:28%}
  .few.f1>.ncard .bt b{font-size:19px}
}
@media (min-width:1025px){
  .grid3.few.f2{grid-template-columns:repeat(2,minmax(0,1fr))}
  .few.f2>.bcard,.few.f2>.ncard{flex-direction:row;align-items:stretch}
  .few.f2>*>.th{flex:0 0 42%;aspect-ratio:auto;min-height:200px}
  .few.f2>*>.bt{flex:1;min-width:0}
  .few.f2>.ncard>.bt{justify-content:center;padding:22px 26px}
}
.few>*>.th img{height:100%}
@media (max-width:768px){.ncards.few.f1{grid-template-columns:1fr}}
/* 잘라선 안 되는 머리 그림(CT 전후 겹침·도식): 16:11·4:4.3 상자로 잘라 턱선·화살표가 잘리지 않게 제 비율(--hr, 3:4 까지) 그대로 */
.phero .pimg.nat{aspect-ratio:var(--hr)}.phero .pimg.nat img{object-fit:contain}
@media (max-width:1024px){.phero .pimg.nat{max-width:560px}}
/* 목록 머리 사진(학술활동): 모바일에서는 낮은 띠로 — 첫 화면에 목록 첫 줄이 보이게 */
@media (max-width:768px){.phero-list .pimg{aspect-ratio:3/1;max-width:none;border-radius:var(--r-md)}.phero-list .pimg img{object-position:center 40%}}
