/* ==========================================================
   서피부과의원 — 공통 스타일
   ========================================================== */
:root{
  --navy:#0B2849;
  --navy-2:#13365F;
  --gold:#AE8A5A;
  --gold-soft:#C9AE86;
  --ivory:#F7F4EF;
  --sand:#ECE5DA;
  --line:#E2DBD0;
  --ink:#1C2230;
  --muted:#6B6F78;
  --white:#fff;
  --serif:"Noto Serif KR", serif;
  --sans:"Pretendard Variable", Pretendard, -apple-system, BlinkMacSystemFont, "Apple SD Gothic Neo", "Malgun Gothic", sans-serif;
  --en:"Cormorant Garamond", "Noto Serif KR", serif;
  --wrap:1280px;
  --gutter:40px;
  --header-h:88px;
  --ease:cubic-bezier(.22,.61,.36,1);
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;font-family:var(--sans);color:var(--ink);background:var(--white);line-height:1.7;letter-spacing:-.01em;word-break:keep-all;-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer;padding:0}
ul,ol{list-style:none;margin:0;padding:0}
h1,h2,h3,h4,p{margin:0}
:focus-visible{outline:2px solid var(--gold);outline-offset:3px}

.wrap{max-width:var(--wrap);margin:0 auto;padding:0 var(--gutter)}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* ---------- Header ---------- */
.header{position:fixed;inset:0 0 auto;z-index:50;height:var(--header-h);transition:background .35s var(--ease),box-shadow .35s var(--ease),height .35s var(--ease)}
.header .wrap{max-width:none;padding:0 48px;height:100%;display:flex;align-items:center;justify-content:space-between;gap:32px}
.logo{display:flex;align-items:center;flex-shrink:0}
.logo img{height:38px;width:auto}
.logo .on-dark{display:block}.logo .on-light{display:none}
.gnb{display:flex;gap:56px;position:absolute;left:50%;transform:translateX(-50%)}
.gnb a{position:relative;font-size:16px;font-weight:500;color:#fff;letter-spacing:-.02em;padding:8px 0;transition:color .3s}
.gnb a::after{content:"";position:absolute;left:50%;right:50%;bottom:0;height:1px;background:currentColor;transition:left .3s var(--ease),right .3s var(--ease)}
.gnb a:hover::after,.gnb a[aria-current="page"]::after{left:0;right:0}
.header-util{display:flex;align-items:center;gap:20px}
.btn-reserve{display:inline-flex;align-items:center;height:42px;padding:0 22px;font-size:14px;font-weight:600;background:#fff;color:var(--navy);transition:background .3s,color .3s}
.btn-reserve:hover{background:var(--gold);color:#fff}
.btn-menu{width:28px;height:20px;position:relative;display:none}
.btn-menu span{position:absolute;left:0;right:0;height:1.5px;background:#fff;transition:transform .35s var(--ease),opacity .2s,background .3s}
.btn-menu span:nth-child(1){top:2px}.btn-menu span:nth-child(2){top:9px}.btn-menu span:nth-child(3){top:16px}

.header.is-solid,.header.is-light{background:rgba(255,255,255,.96);box-shadow:0 1px 0 var(--line);backdrop-filter:saturate(1.4) blur(10px)}
.header.is-solid .gnb a,.header.is-light .gnb a{color:var(--ink)}
.header.is-solid .gnb a[aria-current="page"],.header.is-light .gnb a[aria-current="page"]{color:var(--navy)}
.header.is-solid .logo .on-dark,.header.is-light .logo .on-dark{display:none}
.header.is-solid .logo .on-light,.header.is-light .logo .on-light{display:block}
.header.is-solid .btn-reserve,.header.is-light .btn-reserve{background:var(--navy);color:#fff}
.header.is-solid .btn-reserve:hover,.header.is-light .btn-reserve:hover{background:var(--gold)}
.header.is-solid .btn-menu span,.header.is-light .btn-menu span{background:var(--ink)}

/* Mobile full menu */
.mnav{position:fixed;inset:0;z-index:60;background:var(--navy);color:#fff;display:flex;flex-direction:column;padding:24px 24px calc(32px + env(safe-area-inset-bottom));opacity:0;visibility:hidden;transition:opacity .4s var(--ease),visibility .4s}
.mnav.is-open{opacity:1;visibility:visible}
.mnav-top{display:flex;justify-content:space-between;align-items:center;height:40px}
.mnav-top img{height:30px}
.mnav-close{width:40px;height:40px;position:relative}
.mnav-close::before,.mnav-close::after{content:"";position:absolute;left:8px;right:8px;top:50%;height:1.5px;background:#fff;transform:rotate(45deg)}
.mnav-close::after{transform:rotate(-45deg)}
.mnav-list{margin-top:56px;display:flex;flex-direction:column;gap:6px}
.mnav-list a{display:flex;align-items:baseline;justify-content:space-between;padding:16px 0;border-bottom:1px solid rgba(255,255,255,.12);font-family:var(--serif);font-size:26px;font-weight:500}
.mnav-list a small{font-family:var(--en);font-size:15px;font-style:italic;color:var(--gold-soft);letter-spacing:.04em}
.mnav-foot{margin-top:auto;font-size:14px;color:rgba(255,255,255,.7);line-height:1.9}
.mnav-foot strong{display:block;font-family:var(--en);font-size:30px;font-weight:500;color:#fff;letter-spacing:.02em}

/* ---------- Buttons ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;height:52px;padding:0 30px;font-size:15px;font-weight:600;letter-spacing:-.01em;transition:background .3s,color .3s,border-color .3s}
.btn-white{background:#fff;color:var(--navy)}
.btn-white:hover{background:var(--gold);color:#fff}
.btn-ghost{border:1px solid rgba(255,255,255,.55);color:#fff;background:rgba(255,255,255,.08);backdrop-filter:blur(6px)}
.btn-ghost:hover{background:#fff;color:var(--navy)}
.btn-navy{background:var(--navy);color:#fff}
.btn-navy:hover{background:var(--gold)}
.btn-line{border:1px solid var(--ink);color:var(--ink)}
.btn-line:hover{background:var(--ink);color:#fff}
.arrow{width:14px;height:14px;flex-shrink:0}

/* ---------- Hero (main) ---------- */
.hero{position:relative;height:100vh;height:100svh;min-height:680px;overflow:hidden;color:#fff;background:#3a2c20}
.hero-bg{position:absolute;inset:0}
.hero-bg img{width:100%;height:100%;object-fit:cover;object-position:60% 50%;transform:scale(1.08);animation:heroZoom 9s var(--ease) forwards}
@keyframes heroZoom{to{transform:scale(1)}}
.hero::after{content:"";position:absolute;inset:0;background:
  linear-gradient(90deg,rgba(18,14,10,.74) 0%,rgba(18,14,10,.45) 40%,rgba(18,14,10,.1) 75%),
  linear-gradient(0deg,rgba(15,12,9,.55) 0%,rgba(15,12,9,0) 45%),
  linear-gradient(180deg,rgba(15,12,9,.35) 0%,rgba(15,12,9,0) 20%)}
.hero-inner{position:relative;z-index:2;height:100%;max-width:none;padding:0 48px 96px;display:flex;flex-direction:column;justify-content:flex-end}
.hero-eyebrow{font-family:var(--en);font-style:italic;font-size:20px;letter-spacing:.06em;color:var(--gold-soft);margin-bottom:18px}
.hero-title{font-family:var(--serif);font-weight:500;font-size:clamp(34px,4.2vw,60px);line-height:1.32;letter-spacing:-.03em}
.hero-desc{margin-top:26px;font-size:17px;line-height:1.85;color:rgba(255,255,255,.88);font-weight:400}
.hero-cta{margin-top:40px;display:flex;gap:12px;flex-wrap:wrap}
.hero-scroll{position:absolute;z-index:2;left:50%;bottom:28px;transform:translateX(-50%);font-family:var(--en);font-size:13px;letter-spacing:.3em;color:rgba(255,255,255,.75);display:flex;flex-direction:column;align-items:center;gap:10px}
.hero-scroll::after{content:"";width:1px;height:44px;background:linear-gradient(rgba(255,255,255,.8),rgba(255,255,255,0));animation:scrollLine 2.2s var(--ease) infinite}
@keyframes scrollLine{0%{transform:scaleY(0);transform-origin:top}50%{transform:scaleY(1);transform-origin:top}51%{transform-origin:bottom}100%{transform:scaleY(0);transform-origin:bottom}}

.reveal-up{opacity:0;transform:translateY(28px);animation:revealUp 1.1s var(--ease) forwards}
.d1{animation-delay:.2s}.d2{animation-delay:.4s}.d3{animation-delay:.6s}.d4{animation-delay:.8s}
@keyframes revealUp{to{opacity:1;transform:none}}

/* Event card */
.event-card{position:absolute;z-index:3;right:120px;bottom:96px;width:340px;padding:24px;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.22);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);color:#fff}
.event-card .ec-head{display:flex;gap:16px;align-items:center}
.event-card .ec-thumb{width:64px;height:64px;border-radius:50%;flex-shrink:0;overflow:hidden}
.event-card .ec-label{font-size:12px;letter-spacing:.14em;color:var(--gold-soft);font-family:var(--en);font-style:italic}
.event-card .ec-title{font-size:16px;font-weight:600;margin-top:2px}
.event-card .ec-text{margin-top:16px;font-size:14px;line-height:1.7;color:rgba(255,255,255,.85)}
.event-card .ec-more{margin-top:18px;display:inline-flex;align-items:center;gap:8px;font-size:14px;font-weight:600}
.event-card .ec-more:hover{color:var(--gold-soft)}

/* Quick menu */
.quick{position:fixed;z-index:40;right:28px;top:50%;transform:translateY(-50%);display:flex;flex-direction:column;gap:12px}
.quick a{width:58px;height:58px;border-radius:50%;background:#fff;box-shadow:0 8px 24px rgba(11,40,73,.16);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;color:var(--navy);transition:transform .3s var(--ease),background .3s,color .3s}
.quick a:hover{transform:translateY(-3px);background:var(--navy);color:#fff}
.quick svg{width:22px;height:22px}
.quick span{font-size:10px;font-weight:600;letter-spacing:-.02em}
.quick .q-top{background:var(--navy);color:#fff;opacity:0;pointer-events:none;transition:opacity .3s}
.quick .q-top.is-show{opacity:1;pointer-events:auto}

/* Mobile bottom bar */
.mbar{display:none}

/* ---------- Sections ---------- */
.section{padding:140px 0}
.section.bg-ivory{background:var(--ivory)}
.section.bg-sand{background:var(--sand)}
.section.bg-navy{background:var(--navy);color:#fff}
.sec-head{margin-bottom:64px}
.sec-head.center{text-align:center}
.eyebrow{display:inline-flex;align-items:center;gap:12px;font-family:var(--en);font-size:17px;font-style:italic;letter-spacing:.08em;color:var(--gold)}
.eyebrow::before{content:"";width:28px;height:1px;background:currentColor}
.sec-head.center .eyebrow::after{content:"";width:28px;height:1px;background:currentColor}
.sec-title{margin-top:16px;font-family:var(--serif);font-weight:500;font-size:clamp(28px,3vw,42px);line-height:1.4;letter-spacing:-.03em;color:var(--navy)}
.bg-navy .sec-title{color:#fff}
.sec-desc{margin-top:20px;font-size:17px;color:var(--muted);line-height:1.85}
.bg-navy .sec-desc{color:rgba(255,255,255,.72)}
.sec-head.split{display:flex;justify-content:space-between;align-items:flex-end;gap:40px}

/* Photo placeholder (사진 준비중) */
.ph{position:relative;width:100%;background:
  repeating-linear-gradient(135deg,rgba(174,138,90,.07) 0 1px,transparent 1px 14px),
  var(--sand);
  border:1px dashed rgba(174,138,90,.55);display:flex;align-items:center;justify-content:center;text-align:center;color:#8d7a62;overflow:hidden}
.ph::before{content:"";position:absolute;inset:0}
.ph-in{display:flex;flex-direction:column;align-items:center;gap:8px;padding:16px;font-size:13px;line-height:1.5}
.ph-in svg{width:28px;height:28px;opacity:.7}
.ph-in b{font-weight:600;font-size:14px;color:#6f5f4a}
.ph-in em{font-style:normal;font-size:12px;opacity:.8}
.ph.dark{background:repeating-linear-gradient(135deg,rgba(255,255,255,.05) 0 1px,transparent 1px 14px),rgba(255,255,255,.08);border-color:rgba(255,255,255,.3);color:rgba(255,255,255,.75)}
.ph.dark .ph-in b{color:#fff}
.r-1x1{aspect-ratio:1/1}.r-4x3{aspect-ratio:4/3}.r-3x4{aspect-ratio:3/4}.r-16x9{aspect-ratio:16/9}.r-3x2{aspect-ratio:3/2}.r-4x5{aspect-ratio:4/5}

/* Intro (main: 의원 소개 요약) */
.intro{display:grid;grid-template-columns:1.05fr 1fr;gap:100px;align-items:center}
.intro-media{position:relative}
.intro-media .main-img{aspect-ratio:4/5;overflow:hidden}
.intro-media .main-img img{width:100%;height:100%;object-fit:cover;object-position:70% 50%}
.intro-media .sub-img{position:absolute;right:-56px;bottom:-56px;width:46%;border:10px solid #fff}
.intro-text .sec-title{margin-top:16px}
.quote{margin-top:36px;padding-left:24px;border-left:1px solid var(--gold);font-family:var(--serif);font-size:19px;line-height:1.8;color:var(--ink)}
.values{margin-top:48px;display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line)}
.values li{padding:28px 20px 0 0}
.values li+li{padding-left:20px;border-left:1px solid var(--line)}
.values .num{font-family:var(--en);font-size:15px;font-style:italic;color:var(--gold)}
.values h4{margin-top:6px;font-size:17px;font-weight:600;color:var(--navy)}
.values p{margin-top:6px;font-size:14px;color:var(--muted);line-height:1.7}
.link-more{display:inline-flex;align-items:center;gap:10px;margin-top:44px;font-size:15px;font-weight:600;color:var(--navy);padding-bottom:6px;border-bottom:1px solid var(--navy);transition:gap .3s var(--ease),color .3s,border-color .3s}
.link-more:hover{gap:16px;color:var(--gold);border-color:var(--gold)}
.bg-navy .link-more{color:#fff;border-color:#fff}

/* Clinic cards (진료 안내 요약) */
.care-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}
.care-card{background:#fff;padding:44px 32px 40px;display:flex;flex-direction:column;min-height:300px;transition:background .4s var(--ease),color .4s}
.care-card .ic{width:48px;height:48px;color:var(--gold)}
.care-card h3{margin-top:32px;font-family:var(--serif);font-size:22px;font-weight:500;color:var(--navy);transition:color .4s}
.care-card p{margin-top:12px;font-size:14px;color:var(--muted);line-height:1.75;transition:color .4s}
.care-card .tags{margin-top:auto;padding-top:24px;display:flex;flex-wrap:wrap;gap:6px}
.care-card .tags span{font-size:12px;padding:4px 10px;border:1px solid var(--line);color:var(--muted);transition:border-color .4s,color .4s}
.care-card:hover{background:var(--navy)}
.care-card:hover h3{color:#fff}
.care-card:hover p,.care-card:hover .tags span{color:rgba(255,255,255,.75)}
.care-card:hover .tags span{border-color:rgba(255,255,255,.25)}

/* Aesthetic slider/cards */
.aes-list{display:grid;grid-template-columns:repeat(3,1fr);gap:32px}
.aes-item{display:block;color:inherit}
.aes-item .ph,.aes-item .thumb{transition:transform .6s var(--ease)}
.aes-item .media{overflow:hidden}
.aes-item:hover .ph,.aes-item:hover .thumb{transform:scale(1.03)}
.aes-item .meta{display:flex;justify-content:space-between;align-items:baseline;margin-top:22px;padding-bottom:16px;border-bottom:1px solid rgba(255,255,255,.18)}
.aes-item .en{font-family:var(--en);font-style:italic;font-size:15px;color:var(--gold-soft)}
.aes-item h3{font-family:var(--serif);font-size:22px;font-weight:500}
.aes-item p{margin-top:14px;font-size:14px;line-height:1.75;color:rgba(255,255,255,.7)}

/* Notice preview */
.notice-preview{display:grid;grid-template-columns:320px 1fr;gap:80px}
.board-mini li a{display:grid;grid-template-columns:90px 1fr 120px;gap:24px;align-items:center;padding:26px 8px;border-bottom:1px solid var(--line);transition:background .3s,padding .3s var(--ease)}
.board-mini li:first-child a{border-top:1px solid var(--ink)}
.board-mini li a:hover{background:var(--ivory);padding-left:20px}
.badge{display:inline-flex;align-items:center;justify-content:center;height:26px;padding:0 10px;font-size:12px;font-weight:600;letter-spacing:-.01em;border:1px solid currentColor;width:max-content}
.badge.notice{color:var(--navy)}
.badge.event{color:var(--gold)}
.badge.closed{color:#A0473F}
.board-mini .t{font-size:16px;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.board-mini .d{font-size:14px;color:var(--muted);text-align:right;font-variant-numeric:tabular-nums}

/* Info (진료시간 + 오시는 길) */
.info-grid{display:grid;grid-template-columns:1fr 1fr;gap:0;border:1px solid var(--line)}
.info-box{padding:56px;background:#fff}
.info-box+.info-box{border-left:1px solid var(--line)}
.info-box h3{font-family:var(--serif);font-size:24px;font-weight:500;color:var(--navy);display:flex;align-items:baseline;gap:12px}
.info-box h3 small{font-family:var(--en);font-style:italic;font-size:16px;color:var(--gold);font-weight:400}
.hours{margin-top:28px}
.hours li{display:flex;justify-content:space-between;padding:14px 0;border-bottom:1px solid var(--line);font-size:16px}
.hours li span:first-child{font-weight:600;color:var(--navy)}
.hours li span:last-child{font-variant-numeric:tabular-nums}
.hours li.off span:last-child{color:#A0473F}
.hours-note{margin-top:18px;font-size:14px;color:var(--muted);line-height:1.8}
.tel-big{margin-top:28px;display:flex;align-items:baseline;gap:14px}
.tel-big small{font-size:14px;color:var(--muted)}
.tel-big strong{font-family:var(--en);font-size:40px;font-weight:600;color:var(--navy);letter-spacing:.01em}
.addr{margin-top:24px;font-size:16px;line-height:1.8}
.addr-list{margin-top:18px;font-size:14px;color:var(--muted);line-height:1.9}
.addr-list b{color:var(--ink);font-weight:600;margin-right:8px}
.map-links{margin-top:22px;display:flex;gap:8px;flex-wrap:wrap}
.map-links a{font-size:13px;padding:8px 14px;border:1px solid var(--line);transition:border-color .3s,color .3s}
.map-links a:hover{border-color:var(--navy);color:var(--navy)}

/* ---------- Sub page ---------- */
.sub-hero{position:relative;height:520px;display:flex;align-items:flex-end;color:#fff;overflow:hidden;background:var(--navy)}
.sub-hero .bg{position:absolute;inset:0}
.sub-hero .bg img{width:100%;height:100%;object-fit:cover;object-position:60% 55%}
.sub-hero .bg .ph{height:100%;border:0}
.sub-hero::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(11,24,40,.7),rgba(11,24,40,.15) 60%,rgba(11,24,40,.35))}
.sub-hero .wrap{position:relative;z-index:2;width:100%;padding-bottom:72px}
.sub-hero .eyebrow{color:var(--gold-soft)}
.sub-hero h1{margin-top:14px;font-family:var(--serif);font-size:clamp(34px,4vw,54px);font-weight:500;letter-spacing:-.03em}
.sub-hero p{margin-top:14px;font-size:17px;color:rgba(255,255,255,.85)}
.crumb{display:flex;gap:10px;font-size:13px;color:rgba(255,255,255,.7);margin-bottom:24px}
.crumb span+span::before{content:"/";margin-right:10px;opacity:.5}

.subnav{position:sticky;top:var(--header-h);z-index:30;background:#fff;border-bottom:1px solid var(--line)}
.subnav ul{display:flex;justify-content:center;gap:0;overflow-x:auto;scrollbar-width:none}
.subnav ul::-webkit-scrollbar{display:none}
.subnav a{display:block;padding:22px 32px;font-size:15px;font-weight:500;color:var(--muted);white-space:nowrap;position:relative;transition:color .3s}
.subnav a::after{content:"";position:absolute;left:32px;right:32px;bottom:-1px;height:2px;background:var(--navy);transform:scaleX(0);transition:transform .35s var(--ease)}
.subnav a.is-active{color:var(--navy);font-weight:600}
.subnav a.is-active::after{transform:scaleX(1)}
.anchor{scroll-margin-top:calc(var(--header-h) + 72px)}

/* Greeting */
.greet{display:grid;grid-template-columns:1fr 1.15fr;gap:100px;align-items:start}
.greet-media{position:sticky;top:calc(var(--header-h) + 110px)}
.greet-text .lead{font-family:var(--serif);font-size:clamp(24px,2.4vw,32px);line-height:1.6;color:var(--navy);letter-spacing:-.03em}
.greet-text .body{margin-top:36px;font-size:16px;line-height:2;color:#3b404b}
.greet-text .body p+p{margin-top:20px}
.sign{margin-top:48px;display:flex;align-items:center;gap:18px}
.sign span{font-size:14px;color:var(--muted)}
.sign strong{font-family:var(--serif);font-size:24px;font-weight:600;color:var(--navy)}

/* Doctor */
.doctor{display:grid;grid-template-columns:420px 1fr;gap:80px;align-items:start}
.doctor-name{display:flex;align-items:baseline;gap:14px;flex-wrap:wrap}
.doctor-name h3{font-family:var(--serif);font-size:34px;font-weight:500;color:var(--navy)}
.doctor-name span{font-size:16px;color:var(--gold);font-weight:600}
.doctor-name em{font-family:var(--en);font-size:18px;color:var(--muted)}
.career{margin-top:40px;display:grid;grid-template-columns:1fr 1fr;gap:40px 48px}
.career h4{font-size:15px;font-weight:700;color:var(--navy);padding-bottom:12px;border-bottom:1px solid var(--navy);margin-bottom:14px}
.career li{position:relative;padding-left:14px;font-size:15px;line-height:2;color:#3b404b}
.career li::before{content:"";position:absolute;left:0;top:.95em;width:4px;height:4px;background:var(--gold);border-radius:50%}
.career li.tbd{color:#b0a593}

/* Gallery */
.gallery{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:220px;gap:16px}
.gallery .g{position:relative;overflow:hidden}
.gallery .g img{width:100%;height:100%;object-fit:cover}
.gallery .g .ph{height:100%}
.gallery .g.w2{grid-column:span 2}.gallery .g.h2{grid-row:span 2}
.gallery figcaption{position:absolute;left:16px;bottom:14px;font-size:13px;color:#fff;font-weight:500;text-shadow:0 1px 6px rgba(0,0,0,.4)}

/* Map */
.map-wrap{display:grid;grid-template-columns:1.4fr 1fr;gap:0;border:1px solid var(--line)}
.map-wrap .ph{height:100%;min-height:440px;border:0}
.map-wrap .info-box{border-left:1px solid var(--line)}
.transport{margin-top:28px;display:flex;flex-direction:column;gap:18px}
.transport li{display:grid;grid-template-columns:56px 1fr;gap:12px;font-size:15px;line-height:1.7}
.transport b{display:inline-flex;align-items:center;justify-content:center;height:26px;font-size:12px;font-weight:700;color:#fff;background:var(--navy)}
.transport li:nth-child(2) b{background:var(--gold)}
.transport li:nth-child(3) b{background:#7a7f88}

/* Clinic page */
.hours-panel{display:grid;grid-template-columns:1.2fr 1fr;gap:0;background:var(--navy);color:#fff}
.hours-panel .left{padding:64px}
.hours-panel .right{position:relative;min-height:420px}
.hours-panel .right img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hours-panel .hours li{border-color:rgba(255,255,255,.14)}
.hours-panel .hours li span:first-child{color:var(--gold-soft)}
.hours-panel .hours li.off span:last-child{color:#E3A59D}
.hours-panel .hours-note{color:rgba(255,255,255,.65)}
.hours-panel h3{font-family:var(--serif);font-weight:500;font-size:28px}

.disease-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}
.disease{background:#fff;border:1px solid var(--line);transition:border-color .3s,box-shadow .3s,transform .4s var(--ease)}
.disease:hover{border-color:var(--gold);box-shadow:0 18px 40px rgba(11,40,73,.08);transform:translateY(-4px)}
.disease .ph{border:0;border-bottom:1px dashed rgba(174,138,90,.45)}
.disease .body{padding:26px 24px 30px}
.disease h3{font-size:19px;font-weight:600;color:var(--navy);display:flex;justify-content:space-between;align-items:baseline}
.disease h3 small{font-family:var(--en);font-style:italic;font-weight:400;font-size:14px;color:var(--gold)}
.disease p{margin-top:10px;font-size:14px;color:var(--muted);line-height:1.75}

.steps{display:grid;grid-template-columns:repeat(5,1fr);gap:0;counter-reset:step}
.step{position:relative;padding:0 24px;text-align:center}
.step::before{counter-increment:step;content:"0" counter(step);display:flex;align-items:center;justify-content:center;width:88px;height:88px;margin:0 auto;border:1px solid var(--gold);border-radius:50%;font-family:var(--en);font-size:28px;font-style:italic;color:var(--gold);background:var(--ivory);position:relative;z-index:1}
.step::after{content:"";position:absolute;top:44px;left:50%;width:100%;height:1px;background:var(--line)}
.step:last-child::after{display:none}
.step h4{margin-top:24px;font-size:17px;font-weight:600;color:var(--navy)}
.step p{margin-top:8px;font-size:14px;color:var(--muted);line-height:1.7}

.fee-note{display:flex;justify-content:space-between;align-items:center;gap:32px;padding:48px 56px;border:1px solid var(--line);background:#fff}
.fee-note h3{font-family:var(--serif);font-size:24px;font-weight:500;color:var(--navy)}
.fee-note p{margin-top:8px;font-size:15px;color:var(--muted)}

/* Aesthetic page */
.aes-block{display:grid;grid-template-columns:1fr 1fr;gap:96px;align-items:center;padding:120px 0;border-top:1px solid var(--line)}
.aes-block:first-of-type{border-top:0;padding-top:40px}
.aes-block.rev .aes-media{order:2}
.aes-block .num{font-family:var(--en);font-size:64px;font-style:italic;font-weight:400;line-height:1;color:var(--gold-soft)}
.aes-block h3{margin-top:16px;font-family:var(--serif);font-size:clamp(26px,2.6vw,36px);font-weight:500;color:var(--navy);letter-spacing:-.03em}
.aes-block h3 small{display:block;margin-top:6px;font-family:var(--en);font-size:18px;font-style:italic;color:var(--muted);letter-spacing:.02em}
.aes-block .desc{margin-top:22px;font-size:16px;line-height:1.95;color:#3b404b}
.chips{margin-top:28px;display:flex;flex-wrap:wrap;gap:8px}
.chips span{font-size:13px;padding:8px 16px;background:var(--ivory);border:1px solid var(--line);color:var(--navy);font-weight:500}
.spec{margin-top:32px;display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--ink)}
.spec div{padding:18px 0 0}
.spec div+div{padding-left:20px;border-left:1px solid var(--line)}
.spec dt{font-size:12px;color:var(--muted);letter-spacing:.02em}
.spec dd{margin:4px 0 0;font-size:15px;font-weight:600;color:var(--navy)}
.aes-media{position:relative}
.aes-media .ph2{position:absolute;width:42%;right:-28px;bottom:-40px;border:8px solid #fff;background-color:var(--sand)}

.aes-tabs{display:flex;flex-wrap:wrap;gap:10px;justify-content:center}
.aes-tabs a{padding:12px 24px;border:1px solid var(--line);font-size:15px;font-weight:500;transition:all .3s}
.aes-tabs a:hover{border-color:var(--navy);background:var(--navy);color:#fff}

/* Notice page */
.board-tools{display:flex;justify-content:space-between;align-items:center;gap:24px;margin-bottom:28px;flex-wrap:wrap}
.cat-tabs{display:flex;gap:6px;flex-wrap:wrap}
.cat-tabs button{height:42px;padding:0 20px;border:1px solid var(--line);font-size:14px;font-weight:500;color:var(--muted);transition:all .3s}
.cat-tabs button[aria-pressed="true"]{background:var(--navy);border-color:var(--navy);color:#fff}
.search{display:flex;border-bottom:1px solid var(--ink);width:320px;max-width:100%}
.search input{flex:1;border:0;background:none;height:44px;font:inherit;font-size:15px;outline:none;padding:0 4px;min-width:0}
.search button{width:44px;display:flex;align-items:center;justify-content:center}
.search svg{width:20px;height:20px}
.board-count{font-size:14px;color:var(--muted)}
.board-count b{color:var(--navy)}
.board{border-top:1px solid var(--ink)}
.board-row{border-bottom:1px solid var(--line)}
.board-row>button{width:100%;display:grid;grid-template-columns:80px 100px 1fr 130px 40px;align-items:center;gap:16px;padding:24px 12px;text-align:left;transition:background .3s}
.board-row>button:hover{background:var(--ivory)}
.board-row .no{font-size:14px;color:var(--muted);text-align:center;font-variant-numeric:tabular-nums}
.board-row .pin{color:var(--gold);font-weight:700}
.board-row .t{font-size:16px;font-weight:500}
.board-row .d{font-size:14px;color:var(--muted);font-variant-numeric:tabular-nums}
.board-row .chev{width:18px;height:18px;transition:transform .35s var(--ease);color:var(--muted)}
.board-row.is-open .chev{transform:rotate(180deg)}
.board-row.is-open>button{background:var(--ivory)}
.board-body{display:grid;grid-template-rows:0fr;transition:grid-template-rows .45s var(--ease)}
.board-row.is-open .board-body{grid-template-rows:1fr}
.board-body>div{overflow:hidden}
.board-body .inner{padding:36px 12px 44px 212px;font-size:15px;line-height:1.95;color:#3b404b;border-top:1px solid var(--line)}
.board-body .inner p+p{margin-top:12px}
.board-body .ph{max-width:520px;margin-top:24px}
.board-empty{padding:80px 0;text-align:center;color:var(--muted);border-bottom:1px solid var(--line)}
.pager{margin-top:48px;display:flex;justify-content:center;gap:6px}
.pager button{width:40px;height:40px;font-size:14px;color:var(--muted);font-variant-numeric:tabular-nums}
.pager button[aria-current="true"]{color:#fff;background:var(--navy)}

/* CTA band */
.cta-band{position:relative;padding:120px 0;color:#fff;overflow:hidden;background:var(--navy)}
.cta-band .bg{position:absolute;inset:0;opacity:.28}
.cta-band .bg img{width:100%;height:100%;object-fit:cover;object-position:50% 70%}
.cta-band .wrap{position:relative;display:flex;justify-content:space-between;align-items:center;gap:40px}
.cta-band h2{font-family:var(--serif);font-size:clamp(26px,2.8vw,38px);font-weight:500;line-height:1.5;letter-spacing:-.03em}
.cta-band .btns{display:flex;gap:12px;flex-wrap:wrap}

/* ---------- Footer ---------- */
.footer{background:#0A1F38;color:rgba(255,255,255,.6);padding:80px 0 120px;font-size:14px}
.footer-top{display:flex;justify-content:space-between;align-items:flex-start;gap:40px;padding-bottom:40px;border-bottom:1px solid rgba(255,255,255,.1)}
.footer-top img{height:40px}
.footer-nav{display:flex;gap:40px}
.footer-nav a{color:rgba(255,255,255,.85);font-weight:500;transition:color .3s}
.footer-nav a:hover{color:var(--gold-soft)}
.footer-info{padding-top:36px;display:flex;justify-content:space-between;gap:40px;line-height:2}
.footer-info span+span::before{content:"";display:inline-block;width:1px;height:11px;background:rgba(255,255,255,.2);margin:0 14px;vertical-align:middle}
.footer-tel{text-align:right}
.footer-tel strong{display:block;font-family:var(--en);font-size:32px;color:#fff;font-weight:600;line-height:1.2}
.copy{margin-top:28px;font-size:13px;color:rgba(255,255,255,.4)}

/* Scroll reveal */
.rv{opacity:0;transform:translateY(40px);transition:opacity 1s var(--ease),transform 1s var(--ease)}
.rv.is-in{opacity:1;transform:none}
.rv.d1{transition-delay:.12s}.rv.d2{transition-delay:.24s}.rv.d3{transition-delay:.36s}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
  .rv,.reveal-up{opacity:1;transform:none}
}

/* ==========================================================
   Tablet
   ========================================================== */
@media (max-width:1279px){
  .gnb{gap:36px}
  .event-card{right:110px;width:300px}
  .care-grid{grid-template-columns:repeat(2,1fr)}
  .disease-grid{grid-template-columns:repeat(3,1fr)}
}

/* ==========================================================
   Mobile  (≤1023px)
   ========================================================== */
@media (max-width:1023px){
  :root{--gutter:20px;--header-h:64px}
  .header .wrap{padding:0 20px}
  .logo img{height:28px}
  .gnb,.header-util .btn-reserve{display:none}
  .btn-menu{display:block}
  .quick{display:none}

  .mbar{display:grid;grid-template-columns:repeat(4,1fr);position:fixed;z-index:45;left:0;right:0;bottom:0;background:#fff;border-top:1px solid var(--line);padding-bottom:env(safe-area-inset-bottom);box-shadow:0 -6px 24px rgba(11,40,73,.06)}
  .mbar a{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;height:62px;font-size:11px;font-weight:600;color:var(--navy)}
  .mbar a svg{width:22px;height:22px}
  .mbar a.primary{background:var(--navy);color:#fff}

  .hero{min-height:600px}
  .hero-bg img{object-position:62% 50%}
  .hero::after{background:linear-gradient(0deg,rgba(14,11,8,.9) 0%,rgba(14,11,8,.7) 38%,rgba(14,11,8,.15) 68%,rgba(14,11,8,.4) 100%)}
  .hero-eyebrow{color:#E6D2B0}
  .hero-inner{padding:0 20px 120px}
  .hero-eyebrow{font-size:16px;margin-bottom:12px}
  .hero-title{font-size:30px}
  .hero-desc{font-size:14.5px;margin-top:18px}
  .hero-cta{margin-top:28px}
  .hero-cta .btn{height:52px;padding:0 16px;font-size:16px;flex:1}
  .hero-scroll{display:none}
  .event-card{display:none}

  .section{padding:88px 0}
  .sec-head{margin-bottom:40px}
  .sec-head.split{flex-direction:column;align-items:flex-start;gap:0}
  .sec-desc{font-size:15px}

  .intro{grid-template-columns:1fr;gap:56px}
  .intro-media .sub-img{right:-8px;bottom:-32px;width:42%;border-width:6px}
  .values{grid-template-columns:1fr}
  .values li,.values li+li{padding:20px 0;border-left:0;border-bottom:1px solid var(--line)}
  .quote{font-size:16px}

  .care-grid{grid-template-columns:1fr 1fr}
  .care-card{padding:28px 20px;min-height:0}
  .care-card h3{margin-top:20px;font-size:18px}
  .care-card p{font-size:13px}
  .care-card .ic{width:36px;height:36px}
  .care-card .tags{display:none}

  .aes-list{grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:78%;gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding-left:20px;margin:0 -20px;padding:0 20px 8px;scrollbar-width:none}
  .aes-list::-webkit-scrollbar{display:none}
  .aes-item{scroll-snap-align:start}

  .notice-preview{grid-template-columns:1fr;gap:0}
  .board-mini li a{grid-template-columns:1fr auto;gap:8px 12px;padding:20px 4px}
  .board-mini .badge{grid-column:1/-1}
  .board-mini .t{font-size:15px;white-space:normal}

  .info-grid{grid-template-columns:1fr}
  .info-box{padding:36px 24px}
  .info-box+.info-box{border-left:0;border-top:1px solid var(--line)}
  .tel-big strong{font-size:32px}

  .sub-hero{height:360px}
  .sub-hero .wrap{padding-bottom:44px}
  .sub-hero p{font-size:14px}
  .crumb{display:none}
  .subnav ul{justify-content:flex-start;padding:0 8px}
  .subnav a{padding:16px 14px;font-size:14px}
  .subnav a::after{left:14px;right:14px}
  .anchor{scroll-margin-top:calc(var(--header-h) + 56px)}

  .greet{grid-template-columns:1fr;gap:40px}
  .greet-media{position:static;max-width:420px}
  .greet-text .body{font-size:15px}
  .doctor{grid-template-columns:1fr;gap:36px}
  .doctor .ph{max-width:360px}
  .career{grid-template-columns:1fr;gap:28px}
  .doctor-name h3{font-size:28px}

  .gallery{grid-template-columns:1fr 1fr;grid-auto-rows:150px;gap:8px}
  .gallery .g.w2{grid-column:span 2}
  .map-wrap{grid-template-columns:1fr}
  .map-wrap .ph{min-height:280px}
  .map-wrap .info-box{border-left:0;border-top:1px solid var(--line)}

  .hours-panel{grid-template-columns:1fr}
  .hours-panel .left{padding:40px 24px}
  .hours-panel .right{min-height:240px}
  .disease-grid{grid-template-columns:1fr 1fr;gap:12px}
  .disease .body{padding:18px 16px 22px}
  .disease h3{font-size:16px;flex-direction:column;gap:2px}
  .disease p{font-size:13px}
  .steps{grid-template-columns:1fr;gap:0}
  .step{display:grid;grid-template-columns:64px 1fr;column-gap:20px;text-align:left;padding:0 0 32px}
  .step::before{width:64px;height:64px;font-size:22px;margin:0;grid-row:span 2}
  .step::after{top:64px;left:32px;width:1px;height:calc(100% - 64px)}
  .step h4{margin-top:8px}
  .step p{margin-top:2px}
  .fee-note{flex-direction:column;align-items:flex-start;padding:32px 24px}

  .aes-block{grid-template-columns:1fr;gap:40px;padding:72px 0}
  .aes-block.rev .aes-media{order:0}
  .aes-block .num{font-size:48px}
  .aes-media .ph2{right:-8px;bottom:-24px;border-width:5px}
  .spec{grid-template-columns:1fr 1fr 1fr}
  .spec dd{font-size:13px}
  .spec div+div{padding-left:12px}
  .aes-tabs{justify-content:flex-start}
  .aes-tabs a{padding:10px 16px;font-size:14px}

  .board-tools{flex-direction:column;align-items:stretch}
  .search{width:100%}
  .cat-tabs{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none}
  .cat-tabs button{flex-shrink:0;height:38px;padding:0 16px}
  .board-row>button{grid-template-columns:1fr 24px;gap:6px 12px;padding:20px 4px}
  .board-row .no{display:none}
  .board-row .badge{grid-row:1;grid-column:1}
  .board-row .t{grid-column:1;font-size:15px}
  .board-row .d{grid-column:1;font-size:13px}
  .board-row .chev{grid-row:1/4;grid-column:2;align-self:center}
  .board-body .inner{padding:24px 4px 32px;font-size:14px}

  .cta-band{padding:80px 0}
  .cta-band .wrap{flex-direction:column;align-items:flex-start}
  .cta-band .btns{width:100%}
  .cta-band .btn{flex:1;padding:0 16px}

  .footer{padding:56px 0 100px;font-size:13px}
  .footer-top{flex-direction:column;gap:28px}
  .footer-top img{height:30px}
  .footer-nav{gap:20px;flex-wrap:wrap}
  .footer-info{flex-direction:column;gap:20px}
  .footer-info span{display:block}
  .footer-info span+span::before{display:none}
  .footer-tel{text-align:left}
  .footer-tel strong{font-size:26px}
}

/* Mobile event strip (shown under hero on mobile) */
.event-strip{display:none;align-items:center;gap:14px;padding:16px 20px;background:var(--ivory);border-bottom:1px solid var(--line)}
.event-strip .ec-thumb{width:48px;height:48px;border-radius:50%;overflow:hidden;flex-shrink:0}
.event-strip .ec-thumb .ph-in{display:none}
.event-strip div{flex:1;min-width:0}
.event-strip small{font-family:var(--en);font-style:italic;color:var(--gold);font-size:13px}
.event-strip b{display:block;font-size:14px;font-weight:600;color:var(--navy);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.event-strip svg{width:16px;height:16px;color:var(--navy)}

@media (max-width:480px){
  .hero-title{font-size:27px}
  .care-grid{grid-template-columns:1fr 1fr}
  .disease-grid{grid-template-columns:1fr 1fr}
}

/* small round thumbs: icon only */
.ec-thumb .ph-in{padding:0}
.ec-thumb .ph-in b,.ec-thumb .ph-in em{display:none}
.ec-thumb .ph-in svg{width:20px;height:20px}
.event-card .ec-thumb.ph{background-color:rgba(255,255,255,.18);border-color:rgba(255,255,255,.4);color:#fff}

@media (max-width:1023px){.event-strip{display:flex}}

/* ---------- 영문 소제목 제거 후 정리 ---------- */
.sec-head .sec-title:first-child,.intro-text .sec-title:first-child,.greet-text .sec-title:first-child{margin-top:0}
.sub-hero h1{margin-top:0}
.event-card .ec-label,.event-strip small{font-family:var(--sans);font-style:normal;font-weight:600;letter-spacing:0}
.event-card .ec-label{font-size:12px}

/* ==========================================================
   모바일: 모든 글씨 16px 이상
   ========================================================== */
@media (max-width:1023px){
  body{font-size:16px}
  .btn,.hero-desc,.sec-desc,.quote,
  .values p,.values .num,.care-card p,.aes-item p,
  .board-mini .t,.board-mini .d,.badge,
  .hours li,.hours-note,.tel-big small,.addr,.addr-list,.map-links a,
  .sub-hero p,.subnav a,
  .greet-text .body,.sign span,.doctor-name span,.career h4,.career li,
  .gallery figcaption,.transport li,.transport b,
  .disease h3,.disease p,.step p,.fee-note p,
  .chips span,.spec dt,.spec dd,.aes-tabs a,
  .cat-tabs button,.search input,.board-count,.board-row .t,.board-row .d,.board-body .inner,.pager button,
  .footer,.copy,.mnav-foot,.event-strip small,.event-strip b,
  .ph-in,.ph-in b,.ph-in em,.link-more{font-size:16px}

  .hero-desc{line-height:1.75}
  .badge{height:30px;padding:0 12px}
  .board-mini .t{white-space:normal}

  /* 하단 고정바 */
  .mbar a{font-size:16px;height:68px;gap:3px;letter-spacing:-.04em}
  .mbar a svg{width:20px;height:20px}

  /* 진료 카드: 1열로 넓게 */
  .care-grid{grid-template-columns:1fr}
  .care-card{padding:28px 24px}

  /* 질환 카드: 사진 왼쪽 + 글 오른쪽 */
  .disease-grid{grid-template-columns:1fr;gap:12px}
  .disease{display:grid;grid-template-columns:112px 1fr}
  .disease .ph{aspect-ratio:auto;height:100%;min-height:112px;border-bottom:0;border-right:1px dashed rgba(174,138,90,.45)}
  .disease .ph .ph-in em{display:none}
  .disease .ph .ph-in b{font-size:16px}
  .disease h3{font-size:18px}

  /* 시술 정보표 */
  .spec{grid-template-columns:1fr}
  .spec div,.spec div+div{display:flex;justify-content:space-between;padding:14px 0;border-left:0;border-bottom:1px solid var(--line)}
  .spec dd{margin:0}

  .transport li{grid-template-columns:84px 1fr}
  .transport b{height:30px}
  .cat-tabs button{height:44px}
  .pager button{width:44px;height:44px}
  .gallery{grid-auto-rows:170px}
  .footer{padding-bottom:110px}
}

/* ==========================================================
   글씨 두께 강화
   ========================================================== */
:root{--muted:#585D66}
body{font-weight:500}

/* 명조 제목 */
.hero-title,.sec-title,.sub-hero h1,.cta-band h2,.greet-text .lead,
.doctor-name h3,.aes-block h3,.hours-panel h3{font-weight:700}
.care-card h3,.aes-item h3,.info-box h3,.fee-note h3,.quote,.mnav-list a,.sign strong{font-weight:600}

/* 메뉴 · 버튼 · 라벨 */
.gnb a,.subnav a,.cat-tabs button,.chips span,.board-row .t,.board-mini .t,.aes-tabs a{font-weight:600}
.subnav a.is-active,.btn,.btn-reserve,.link-more,.badge,.mbar a,.quick span,
.values h4,.disease h3,.step h4,.career h4,.hours li span:first-child,.spec dd,
.event-card .ec-title,.event-strip b,.footer-nav a,.transport b{font-weight:700}

/* 본문 · 설명 */
.hero-desc,.sec-desc,.values p,.care-card p,.aes-item p,.greet-text .body,.career li,
.disease p,.step p,.fee-note p,.aes-block .desc,.hours-note,.addr,.addr-list,.transport li,
.board-body .inner,.event-card .ec-text,.sub-hero p,.footer,.mnav-foot{font-weight:500}
.hours li,.board-mini .d,.board-row .d,.spec dt,.board-count{font-weight:500}
@media (max-width:1023px){
  .mbar{grid-template-columns:1fr 1fr 1fr 1.35fr}
}
.badge.guide{color:var(--gold)}

/* ==========================================================
   실제 콘텐츠 반영 컴포넌트
   ========================================================== */
.img-doctor{background:#FCFBF8;overflow:hidden}
.img-doctor img{width:100%;height:100%;object-fit:cover;object-position:50% 15%}

/* 메인: 원장 소개 */
.doc-feature{display:grid;grid-template-columns:440px 1fr;gap:96px;align-items:center}
.doc-feature .img-doctor{aspect-ratio:4/5}
.doc-title{display:flex;align-items:baseline;gap:14px;flex-wrap:wrap}
.doc-title h2{font-family:var(--serif);font-size:clamp(34px,3.4vw,48px);font-weight:700;color:var(--navy);letter-spacing:-.02em}
.doc-title span{font-size:20px;font-weight:700;color:var(--navy)}
.doc-role{margin-top:10px;font-size:18px;font-weight:600;color:var(--gold)}
.doc-msg{margin-top:28px;font-family:var(--serif);font-size:21px;font-weight:600;line-height:1.75;color:var(--ink)}
.stats{margin-top:40px;display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--ink)}
.stats li{padding:24px 16px 0 0}
.stats li+li{padding-left:20px;border-left:1px solid var(--line)}
.stats strong{display:block;font-family:var(--serif);font-size:38px;font-weight:700;color:var(--navy);line-height:1.2}
.stats strong small{font-size:18px;margin-left:2px}
.stats span{display:block;margin-top:6px;font-size:15px;color:var(--muted);line-height:1.6}

/* 인증 · 신뢰 */
.trust{display:grid;grid-template-columns:1.2fr 1fr;gap:80px;align-items:center}
.trust-img{overflow:hidden}
.trust-img img{width:100%;aspect-ratio:16/10;object-fit:cover}
.trust-list li{display:grid;grid-template-columns:56px 1fr;gap:20px;align-items:start;padding:26px 0;border-bottom:1px solid var(--line)}
.trust-list li:first-child{border-top:1px solid var(--ink)}
.trust-list .ic{width:56px;height:56px;border-radius:50%;background:var(--ivory);border:1px solid var(--line);display:flex;align-items:center;justify-content:center;color:var(--gold)}
.trust-list .ic svg{width:26px;height:26px}
.trust-list h4{font-size:18px;font-weight:700;color:var(--navy)}
.trust-list p{margin-top:4px;font-size:15px;color:var(--muted);font-weight:500}

/* 진료 과목 카드 */
.cat-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:24px}
.cat-card{background:#fff;border:1px solid var(--line);padding:48px 44px;display:grid;grid-template-columns:72px 1fr;gap:28px;align-items:start;transition:border-color .3s,box-shadow .3s}
.cat-card:hover{border-color:var(--gold);box-shadow:0 18px 40px rgba(11,40,73,.07)}
.cat-card .ic{width:72px;height:72px;border-radius:50%;background:var(--ivory);display:flex;align-items:center;justify-content:center;color:var(--gold)}
.cat-card .ic svg{width:36px;height:36px}
.cat-card h3{font-family:var(--serif);font-size:26px;font-weight:700;color:var(--navy)}
.cat-card .lead{margin-top:8px;font-size:16px;color:var(--muted);font-weight:500}
.cat-card .group{margin-top:20px}
.cat-card .group+.group{padding-top:18px;border-top:1px dashed var(--line)}
.cat-card .group b{display:block;font-size:14px;font-weight:700;color:var(--gold);margin-bottom:10px}
.cat-card .chips{margin-top:0}
.cat-card.wide{grid-column:1/-1}

/* 운영 안내 카드 */
.ops{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.ops-card{padding:48px;border:1px solid var(--line);background:#fff}
.ops-card.navy{background:var(--navy);border-color:var(--navy);color:#fff}
.ops-card .tag{display:inline-block;font-size:14px;font-weight:700;padding:6px 14px;background:var(--ivory);color:var(--navy)}
.ops-card.navy .tag{background:rgba(255,255,255,.12);color:var(--gold-soft)}
.ops-card h3{margin-top:20px;font-family:var(--serif);font-size:28px;font-weight:700;line-height:1.45;color:var(--navy)}
.ops-card.navy h3{color:#fff}
.ops-card h3 em{font-style:normal;color:var(--gold)}
.ops-card.navy h3 em{color:var(--gold-soft)}
.ops-card p{margin-top:14px;font-size:16px;line-height:1.85;color:var(--muted);font-weight:500}
.ops-card.navy p{color:rgba(255,255,255,.75)}
.deadline{margin-top:28px;display:grid;grid-template-columns:1fr 1fr;border-top:1px solid rgba(255,255,255,.18)}
.deadline div{padding-top:20px}
.deadline div+div{padding-left:24px;border-left:1px solid rgba(255,255,255,.18)}
.deadline small{display:block;font-size:15px;color:var(--gold-soft);font-weight:600}
.deadline strong{display:block;margin-top:4px;font-size:26px;font-weight:700;font-variant-numeric:tabular-nums}
.ops-note{margin-top:24px;display:flex;gap:14px;align-items:center;padding:22px 28px;background:var(--ivory);border:1px solid var(--line);font-size:16px;font-weight:600;color:var(--navy)}
.ops-note svg{width:24px;height:24px;flex-shrink:0;color:var(--gold)}
.ops-card .btn{margin-top:28px}

/* 이전 안내 배너 */
.relocate{display:grid;grid-template-columns:1fr auto;gap:40px;align-items:center;padding:56px 64px;background:var(--navy);color:#fff;position:relative;overflow:hidden}
.relocate .years{font-family:var(--serif);font-size:20px;font-weight:600;color:var(--gold-soft)}
.relocate h3{margin-top:10px;font-family:var(--serif);font-size:clamp(24px,2.4vw,34px);font-weight:700;line-height:1.5}
.relocate p{margin-top:12px;font-size:16px;color:rgba(255,255,255,.75);font-weight:500}
.relocate .addr-box{padding:26px 32px;border:1px solid rgba(255,255,255,.25);min-width:340px}
.relocate .addr-box small{font-size:14px;color:var(--gold-soft);font-weight:600}
.relocate .addr-box strong{display:block;margin-top:6px;font-size:20px;font-weight:700;line-height:1.5}

/* 에스테틱 리스트 포인트 */
.points{margin-top:24px}
.points li{position:relative;padding:12px 0 12px 30px;border-bottom:1px solid var(--line);font-size:16px;font-weight:600;color:var(--navy)}
.points li::before{content:"";position:absolute;left:4px;top:20px;width:12px;height:7px;border-left:2px solid var(--gold);border-bottom:2px solid var(--gold);transform:rotate(-45deg)}

/* 의료진 상세 */
.doctor .img-doctor{aspect-ratio:3/4}
.career.single{grid-template-columns:1fr 1fr}
.doctor-msg{margin-top:20px;font-family:var(--serif);font-size:20px;font-weight:600;line-height:1.75;color:var(--ink)}

@media (max-width:1023px){
  .doc-feature{grid-template-columns:1fr;gap:40px}
  .doc-feature .img-doctor{max-width:360px}
  .doc-title span{font-size:18px}
  .doc-msg{font-size:18px}
  .stats{grid-template-columns:1fr}
  .stats li,.stats li+li{padding:18px 0;border-left:0;border-bottom:1px solid var(--line);display:flex;align-items:baseline;gap:16px}
  .stats strong{font-size:30px;min-width:96px}
  .stats span{font-size:16px;margin-top:0}

  .trust{grid-template-columns:1fr;gap:32px}
  .trust-list li{grid-template-columns:48px 1fr;gap:16px;padding:20px 0}
  .trust-list .ic{width:48px;height:48px}
  .trust-list p{font-size:16px}

  .cat-grid{grid-template-columns:1fr;gap:16px}
  .cat-card{grid-template-columns:1fr;gap:16px;padding:28px 24px}
  .cat-card .ic{width:56px;height:56px}
  .cat-card .ic svg{width:28px;height:28px}
  .cat-card h3{font-size:22px}
  .cat-card .group b{font-size:16px}

  .ops{grid-template-columns:1fr;gap:16px}
  .ops-card{padding:32px 24px}
  .ops-card h3{font-size:23px}
  .deadline strong{font-size:22px}
  .deadline small{font-size:16px}
  .ops-note{padding:18px 20px;align-items:flex-start}
  .ops-card .tag{font-size:16px}

  .relocate{grid-template-columns:1fr;padding:36px 24px;gap:24px}
  .relocate .addr-box{min-width:0;padding:20px}
  .relocate .addr-box small{font-size:16px}
  .relocate .addr-box strong{font-size:18px}
  .relocate .years{font-size:18px}

  .career.single{grid-template-columns:1fr}
  .doctor .img-doctor{max-width:360px}
  .doctor-msg{font-size:18px}
}
.transport li{grid-template-columns:84px 1fr}
.transport li:nth-child(2) b{background:var(--gold)}
.deadline strong{font-size:34px;font-family:var(--serif)}
@media (max-width:1023px){
  .hero-cta{flex-direction:column;gap:10px}
  .hero-cta .btn{flex:none;width:100%}
  .hero-inner{padding-bottom:96px}
  .deadline strong{font-size:30px}
}

/* ==========================================================
   인증 섹션 — 큰 사진 + 글씨
   ========================================================== */
.trust-hero{position:relative;height:clamp(640px,56vw,920px);overflow:hidden;color:#fff;background:#2b2116}
.trust-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:65% 50%}
.trust-hero::after{content:"";position:absolute;inset:0;background:
  linear-gradient(90deg,rgba(10,22,38,.88) 0%,rgba(10,22,38,.6) 38%,rgba(10,22,38,.08) 70%),
  linear-gradient(0deg,rgba(10,22,38,.85) 0%,rgba(10,22,38,0) 45%)}
.trust-inner{position:relative;z-index:2;height:100%;display:flex;flex-direction:column;justify-content:flex-end;padding-bottom:88px}
.trust-title{font-family:var(--serif);font-weight:700;font-size:clamp(32px,3.6vw,54px);line-height:1.38;letter-spacing:-.03em}
.trust-sub{margin-top:18px;font-size:18px;font-weight:500;color:rgba(255,255,255,.85)}
.trust-points{margin-top:56px;display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid rgba(255,255,255,.35)}
.trust-points li{padding:26px 24px 0 0}
.trust-points li+li{padding-left:24px;border-left:1px solid rgba(255,255,255,.2)}
.trust-points b{display:flex;align-items:center;gap:10px;font-size:19px;font-weight:700}
.trust-points b::before{content:"";width:8px;height:8px;background:var(--gold-soft);flex-shrink:0}
.trust-points span{display:block;margin-top:6px;padding-left:18px;font-size:16px;font-weight:500;color:rgba(255,255,255,.78)}

/* ==========================================================
   도형 마커 (아이콘 대체)
   ========================================================== */
.sq{display:inline-block;width:10px;height:10px;background:var(--gold);flex-shrink:0}
.tri-up,.tri-down{display:inline-block;width:0;height:0;border-left:6px solid transparent;border-right:6px solid transparent}
.tri-up{border-bottom:8px solid currentColor}
.tri-down{border-top:8px solid currentColor}
.arr-r{display:inline-block;width:8px;height:8px;border-top:2px solid currentColor;border-right:2px solid currentColor;transform:rotate(45deg);margin-left:2px}

/* 진료 카드: 아이콘 → 네모 */
.care-card h3{margin-top:0;display:flex;flex-direction:column;gap:22px}
.care-card h3::before{content:"";width:12px;height:12px;background:var(--gold)}
.cat-card{grid-template-columns:1fr}
.cat-card h3{display:flex;align-items:center;gap:14px}
.cat-card h3::before{content:"";width:12px;height:12px;background:var(--gold);flex-shrink:0}

/* 목록 마커: 원 → 네모 */
.points li::before{width:8px;height:8px;border:0;background:var(--gold);transform:none;top:22px;left:6px}
.career li::before{border-radius:0;width:5px;height:5px}
.step::before{border-radius:0}

/* 퀵메뉴: 원형 아이콘 → 네모 글자 버튼 */
.quick{gap:6px}
.quick a{width:64px;height:52px;border-radius:0;box-shadow:0 6px 18px rgba(11,40,73,.12)}
.quick a:hover{transform:none}
.quick span{font-size:13px;font-weight:700}

/* 모바일 하단바: 글자만 */
.mbar a{flex-direction:row;gap:6px}

/* 빈 사진 칸 / 공지 */
.ph-in{gap:4px}
.search-btn{width:auto!important;padding:0 6px;font-size:15px;font-weight:700;color:var(--navy)}
.board-row .chev{width:0;height:0;color:var(--muted);justify-self:center}
.ops-note .sq{margin-top:2px}

@media (max-width:1023px){
  .trust-hero{height:auto;min-height:720px}
  .trust-bg{object-position:72% 50%}
  .trust-hero::after{background:linear-gradient(0deg,rgba(10,22,38,.94) 0%,rgba(10,22,38,.78) 48%,rgba(10,22,38,.15) 80%)}
  .trust-inner{min-height:720px;padding-top:280px;padding-bottom:64px}
  .trust-title{font-size:30px}
  .trust-sub{font-size:16px}
  .trust-points{margin-top:36px;grid-template-columns:1fr 1fr}
  .trust-points li,.trust-points li+li{padding:18px 12px 18px 0;border-left:0;border-bottom:1px solid rgba(255,255,255,.18)}
  .trust-points li:nth-child(even){padding-left:12px;border-left:1px solid rgba(255,255,255,.18)}
  .trust-points b{font-size:16px;align-items:flex-start}
  .trust-points b::before{margin-top:7px}
  .trust-points span{font-size:16px}
  .search-btn{font-size:16px}
}
.care-card{min-height:240px}
@media (max-width:1023px){
  .care-card{min-height:0}
  .trust-hero{min-height:0;height:auto;background:#0A1626}
  .trust-bg{position:relative;inset:auto;height:440px;object-position:74% 45%}
  .trust-hero::after{inset:0 0 auto 0;height:440px;background:linear-gradient(0deg,rgba(10,22,38,1) 0%,rgba(10,22,38,.75) 32%,rgba(10,22,38,0) 62%)}
  .trust-inner{min-height:0;margin-top:-150px;padding-top:0;padding-bottom:56px;display:block}
  .trust-points{grid-template-columns:1fr;margin-top:32px}
  .trust-points li,.trust-points li+li,.trust-points li:nth-child(even){padding:16px 0;border-left:0;display:flex;justify-content:space-between;align-items:baseline;gap:12px}
  .trust-points span{margin-top:0;padding-left:0;text-align:right}
}
@media (max-width:1023px){
  .trust-points li,.trust-points li+li,.trust-points li:nth-child(even){align-items:center}
  .trust-points b{align-items:center}
  .trust-points b::before{margin-top:0}
}

/* 네이버 지도 (캡처 이미지) */
.map-static{position:relative;display:block;height:100%;min-height:480px;overflow:hidden;background:var(--sand)}
.map-static img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:32% 45%;transition:transform .6s var(--ease)}
.map-static:hover img{transform:scale(1.02)}
.map-btn{position:absolute;right:20px;bottom:20px;display:inline-flex;align-items:center;gap:8px;padding:14px 22px;background:var(--navy);color:#fff;font-size:15px;font-weight:700;box-shadow:0 8px 20px rgba(11,40,73,.25);transition:background .3s}
.map-static:hover .map-btn{background:var(--gold)}
@media (max-width:1023px){
  .map-static{min-height:340px}
  .map-btn{right:12px;bottom:12px;padding:12px 18px;font-size:16px}
}
@media (max-width:1023px){
  .map-static{min-height:440px}
  .map-static img{object-position:30% 45%}
}
.m-br{display:none}
@media (max-width:1023px){.m-br{display:inline}}

/* 인증 섹션: 네이비 → 검정/진회색 그라데이션 */
.trust-hero{background:#141414}
.trust-hero::after{background:
  linear-gradient(90deg,rgba(14,14,14,.86) 0%,rgba(20,20,20,.58) 38%,rgba(20,20,20,.06) 70%),
  linear-gradient(0deg,rgba(14,14,14,.85) 0%,rgba(14,14,14,0) 45%)}
@media (max-width:1023px){
  .trust-hero{background:#141414}
  .trust-hero::after{background:linear-gradient(0deg,rgba(20,20,20,1) 0%,rgba(20,20,20,.75) 32%,rgba(20,20,20,0) 62%)}
}

/* 제목 글씨: 나눔명조 */
:root{--serif:"Nanum Myeongjo","Noto Serif KR",serif}
.hero-title,.sec-title,.sub-hero h1,.cta-band h2,.trust-title,.doc-title h2,.doctor-name h3,
.aes-block h3,.ops-card h3,.relocate h3,.greet-text .lead{font-weight:800}

/* 진료 사진 */
.care-card.has-img{padding:0;min-height:0}
.care-img{aspect-ratio:4/3;overflow:hidden;background:var(--sand)}
.care-img img{width:100%;height:100%;object-fit:cover;transition:transform .7s var(--ease)}
.care-card:hover .care-img img{transform:scale(1.04)}
.care-body{padding:28px 28px 32px}
.cat-card{display:grid;gap:28px}
.cat-img{aspect-ratio:4/3;overflow:hidden;background:var(--sand)}
.cat-img img{width:100%;height:100%;object-fit:cover}
.cat-card.wide{grid-template-columns:380px 1fr;align-items:center}
.img-note{margin-top:20px;font-size:14px;color:var(--muted);font-weight:500}
@media (max-width:1023px){
  .care-body{padding:22px 20px 26px}
  .cat-card.wide{grid-template-columns:1fr}
  .img-note{font-size:16px}
}
.care-card.has-img h3{gap:0}
.care-card.has-img h3::before{display:none}
.cat-card:not(.wide) .cat-img{aspect-ratio:16/9}

/* ==========================================================
   진료 사진 카드: 사진 전체 + 글씨 올림
   ========================================================== */
/* 메인 */
.care-grid{gap:16px;background:none;border:0}
.care-card.has-img{position:relative;display:block;aspect-ratio:3/4;padding:0;overflow:hidden;background:#141414;color:#fff}
.care-card.has-img:hover{background:#141414}
.care-card.has-img .care-img{position:absolute;inset:0;aspect-ratio:auto}
.care-card.has-img::after{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(0deg,rgba(14,14,14,.9) 0%,rgba(14,14,14,.55) 35%,rgba(14,14,14,0) 62%);transition:background .4s var(--ease)}
.care-card.has-img:hover::after{background:linear-gradient(0deg,rgba(14,14,14,.92) 0%,rgba(14,14,14,.6) 45%,rgba(14,14,14,.1) 75%)}
.care-card.has-img .care-body{position:absolute;left:0;right:0;bottom:0;z-index:2;padding:28px 26px 30px}
.care-card.has-img h3{color:#fff;font-size:26px}
.care-card.has-img p{margin-top:10px;color:rgba(255,255,255,.85);font-size:15px}
.care-card.has-img:hover h3{color:#fff}
.care-card.has-img:hover p{color:rgba(255,255,255,.9)}

/* 진료 안내 페이지 */
.cat-card{position:relative;display:flex;align-items:flex-end;min-height:480px;padding:0;border:0;overflow:hidden;background:#141414;color:#fff}
.cat-card:hover{box-shadow:none}
.cat-card .cat-img,.cat-card:not(.wide) .cat-img{position:absolute;inset:0;aspect-ratio:auto}
.cat-card .cat-img img{transition:transform .8s var(--ease)}
.cat-card:hover .cat-img img{transform:scale(1.03)}
.cat-card::after{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(0deg,rgba(14,14,14,.92) 0%,rgba(14,14,14,.6) 40%,rgba(14,14,14,.05) 72%)}
.cat-card.wide{min-height:520px}
.cat-card.wide::after{background:
  linear-gradient(90deg,rgba(14,14,14,.88) 0%,rgba(14,14,14,.6) 42%,rgba(14,14,14,.05) 75%),
  linear-gradient(0deg,rgba(14,14,14,.6) 0%,rgba(14,14,14,0) 50%)}
.cat-card>div:not(.cat-img){position:relative;z-index:2;padding:40px 44px 44px;max-width:640px}
.cat-card h3{color:#fff;font-size:30px}
.cat-card h3::before{background:var(--gold-soft)}
.cat-card .lead{color:rgba(255,255,255,.85)}
.cat-card .group b{color:var(--gold-soft)}
.cat-card .group+.group{border-top-color:rgba(255,255,255,.2)}
.cat-card .chips span{background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.28);color:#fff;backdrop-filter:blur(4px)}

@media (max-width:1023px){
  .care-grid{grid-template-columns:1fr;gap:12px}
  .care-card.has-img{aspect-ratio:4/3}
  .care-card.has-img .care-body{padding:22px 20px 24px}
  .care-card.has-img h3{font-size:22px}
  .care-card.has-img p{font-size:16px}
  .cat-card,.cat-card.wide{min-height:440px}
  .cat-card.wide::after{background:linear-gradient(0deg,rgba(14,14,14,.94) 0%,rgba(14,14,14,.7) 50%,rgba(14,14,14,.05) 85%)}
  .cat-card>div:not(.cat-img){padding:28px 22px 30px}
  .cat-card h3{font-size:24px}
}
@media (max-width:1023px){
  .cat-card,.cat-card.wide{min-height:0}
  .cat-card>div:not(.cat-img){padding-top:240px}
  .cat-card::after,.cat-card.wide::after{background:linear-gradient(180deg,rgba(14,14,14,0) 0,rgba(14,14,14,.05) 140px,rgba(14,14,14,.82) 270px,rgba(14,14,14,.94) 100%)}
}
@media (max-width:1023px){
  .cat-card .cat-img,.cat-card:not(.wide) .cat-img{inset:0 0 auto 0;height:300px}
  .cat-card::after,.cat-card.wide::after{inset:0 0 auto 0;height:300px;background:linear-gradient(180deg,rgba(20,20,20,0) 40%,rgba(20,20,20,1) 100%)}
  .cat-card{background:#141414}
  .cat-card>div:not(.cat-img){padding-top:250px}
}

/* ==========================================================
   진료 과정: 박스·연결선 제거 → 상단 선 + 큰 숫자, 왼쪽 정렬
   ========================================================== */
.steps{grid-template-columns:repeat(5,1fr);gap:0 28px;counter-reset:step}
.step{padding:28px 0 0;text-align:left;border-top:2px solid var(--line);transition:border-color .4s var(--ease)}
.step:first-child{border-top-color:var(--navy)}
.step:hover{border-top-color:var(--gold)}
.step::before{counter-increment:step;content:counter(step,decimal-leading-zero);display:block;width:auto;height:auto;margin:0;border:0;border-radius:0;background:none;
  font-family:var(--serif);font-style:normal;font-weight:800;font-size:44px;line-height:1;color:var(--gold);letter-spacing:-.02em}
.step::after{display:none}
.step h4{margin-top:22px;font-size:20px;font-weight:700;color:var(--navy)}
.step p{margin-top:10px;font-size:15px;line-height:1.75;color:var(--muted)}

@media (max-width:1023px){
  .steps{grid-template-columns:1fr;gap:0}
  .step{display:grid;grid-template-columns:64px 1fr;column-gap:16px;padding:22px 0;border-top:1px solid var(--line)}
  .step:first-child{border-top:2px solid var(--navy)}
  .step:last-child{border-bottom:1px solid var(--line)}
  .step::before{grid-row:span 2;font-size:34px;width:auto;height:auto;margin:0}
  .step h4{margin-top:2px;font-size:19px}
  .step p{margin-top:6px;font-size:16px}
}

/* ==========================================================
   진료시간 · 오시는 길 (가장 잘 보이게)
   ========================================================== */
.head-tel{font-family:var(--serif);font-size:19px;font-weight:800;color:#fff;letter-spacing:.01em;margin-right:4px;transition:color .3s}
.header.is-solid .head-tel,.header.is-light .head-tel{color:var(--navy)}
.head-tel:hover{color:var(--gold)}

.visit{position:relative;z-index:5;background:var(--ivory);padding:0 0 120px}
.visit-grid{display:grid;grid-template-columns:1fr 1fr;gap:0;transform:translateY(-72px);margin-bottom:-72px;box-shadow:0 24px 60px rgba(11,40,73,.14)}
.visit-hours{background:var(--navy);color:#fff;padding:56px 56px 48px;display:flex;flex-direction:column}
.visit-loc{background:#fff;padding:56px 56px 48px;display:flex;flex-direction:column}
.visit-title{font-family:var(--serif);font-weight:800;font-size:clamp(30px,2.8vw,40px);letter-spacing:-.02em}
.visit-loc .visit-title{color:var(--navy)}
.today{margin-top:14px;display:inline-flex;align-self:flex-start;align-items:center;gap:8px;padding:8px 16px;font-size:16px;font-weight:600;background:rgba(255,255,255,.1);color:#fff}
.today b{color:var(--gold-soft);font-weight:800}
.today.is-off b{color:#F0A99F}
.hours-list{margin-top:28px;border-top:1px solid rgba(255,255,255,.25)}
.hours-list li{display:grid;grid-template-columns:170px 1fr auto;gap:16px;align-items:baseline;padding:20px 12px;border-bottom:1px solid rgba(255,255,255,.14)}
.hours-list li.is-today{background:rgba(255,255,255,.07)}
.h-day{font-size:18px;font-weight:700;color:var(--gold-soft);display:flex;align-items:center;gap:8px}
.h-day em{font-style:normal;font-size:13px;font-weight:700;padding:2px 8px;background:var(--gold);color:#fff}
.h-time{font-family:var(--serif);font-size:28px;font-weight:800;letter-spacing:-.01em;font-variant-numeric:tabular-nums}
.h-time small{display:block;margin-top:6px;font-family:var(--sans);font-size:15px;font-weight:500;color:rgba(255,255,255,.7)}
.h-last{font-size:16px;font-weight:700;color:var(--gold-soft);white-space:nowrap}
.hours-list li.off .h-time{color:#F0A99F;font-size:24px}
.visit-note{margin-top:22px;font-size:16px;font-weight:600;color:rgba(255,255,255,.8)}
.visit-tel{margin-top:auto;padding-top:28px;display:flex;align-items:baseline;gap:14px}
.visit-tel small{font-size:16px;color:rgba(255,255,255,.7);font-weight:600}
.visit-tel strong{font-family:var(--serif);font-size:34px;font-weight:800;color:#fff;letter-spacing:.01em}
.visit-tel:hover strong{color:var(--gold-soft)}
.subway{margin-top:18px;font-size:22px;font-weight:600;color:var(--ink)}
.subway b{font-weight:800;color:var(--navy);background:linear-gradient(transparent 62%,rgba(174,138,90,.3) 62%)}
.visit-addr{margin-top:8px;font-size:17px;font-weight:600;color:var(--muted)}
.visit-loc .map-static{margin-top:24px;flex:1;min-height:340px}
.visit-loc .map-static img,.map-wrap .map-static img{object-position:40% 58%}

/* 진료 안내 페이지: 요일별 표 (밝은 배경용) */
.hours-board{margin-bottom:24px;padding:40px 48px;background:var(--navy);color:#fff}
.hb-head{display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap}
.hb-head h3{font-family:var(--serif);font-size:28px;font-weight:800}
.hb-head .today{margin-top:0}
.hours-board .hours-list{margin-top:20px}
.transport strong{font-weight:800;color:var(--navy)}

@media (max-width:1023px){
  .head-tel{display:none}
  .visit{padding-bottom:72px}
  .visit-grid{grid-template-columns:1fr;transform:translateY(-40px);margin-bottom:-40px}
  .visit-hours,.visit-loc{padding:36px 22px 32px}
  .visit-title{font-size:28px}
  .hours-list li{grid-template-columns:1fr auto;gap:6px 12px;padding:18px 6px}
  .h-day{grid-column:1/-1;font-size:17px}
  .h-time{font-size:24px}
  .h-time small{font-size:16px}
  .h-last{font-size:16px;align-self:end}
  .h-day em{font-size:16px}
  .hours-list li.off .h-time{font-size:22px}
  .visit-tel strong{font-size:28px}
  .subway{font-size:20px}
  .visit-addr{font-size:16px}
  .visit-loc .map-static{min-height:300px}
  .hours-board{padding:28px 20px}
  .hb-head h3{font-size:24px}
}
@media (max-width:1023px){
  .visit-grid{transform:none;margin-bottom:0;box-shadow:none}
  .visit{padding-bottom:0}
}
.hours-list li{grid-template-columns:150px 1fr}
.h-time{white-space:nowrap}
.h-time small{white-space:normal;font-size:16px}
.h-time .h-last{font-weight:700;color:var(--gold-soft)}
@media (max-width:1023px){
  .hours-list li{grid-template-columns:1fr}
}

/* ==========================================================
   상단 고정 전화 버튼 (퀵메뉴·예약 버튼 대체)
   ========================================================== */
.quick{display:none!important}
.head-call{display:inline-flex;align-items:center;gap:10px;height:46px;padding:0 20px;background:#fff;color:var(--navy);font-family:var(--serif);font-size:19px;font-weight:800;letter-spacing:.01em;white-space:nowrap;transition:background .3s,color .3s}
.head-call .ic-phone{width:20px;height:20px;flex-shrink:0}
.head-call:hover{background:var(--gold);color:#fff}
.header.is-solid .head-call,.header.is-light .head-call{background:var(--navy);color:#fff}
.header.is-solid .head-call:hover,.header.is-light .head-call:hover{background:var(--gold)}

.mbar{grid-template-columns:1.3fr 1fr 1fr}
.mbar a .ic-phone{width:20px;height:20px}

@media (max-width:1023px){
  .mbar{grid-template-columns:1.3fr 1fr 1fr}
  .header-util{gap:14px}
  .head-call{height:38px;padding:0 12px;gap:6px;font-size:16px;font-family:var(--sans);font-weight:800}
  .head-call .ic-phone{width:17px;height:17px}
}
@media (max-width:360px){
  .head-call span{display:none}
}
#visit{scroll-margin-top:var(--header-h)}

/* ==========================================================
   진료시간 · 오시는 길 — 겹침 제거 + 차분한 에디토리얼 톤
   ========================================================== */
.visit{background:var(--ivory);padding:120px 0;border-bottom:1px solid var(--line)}
.visit-grid{transform:none;margin-bottom:0;box-shadow:none;grid-template-columns:1fr 1fr;gap:0}
.visit-hours,.visit-loc{background:none;color:var(--ink);padding:0 64px 0 0}
.visit-loc{padding:0 0 0 64px;border-left:1px solid var(--line)}
.visit-title{color:var(--navy);font-weight:700;font-size:clamp(30px,2.6vw,38px);letter-spacing:-.03em}

/* 오늘 상태: 작은 점 + 글씨 */
.today{margin-top:16px;padding:0;background:none;color:var(--muted);font-size:16px;font-weight:600;gap:10px}
.today::before{content:"";width:8px;height:8px;border-radius:50%;background:#5B8A6B;flex-shrink:0}
.today b{color:var(--navy);font-weight:700}
.today.is-off::before{background:#B5654F}
.today.is-off b{color:#9C4F3C}

/* 요일별 표: 가는 선 + 명조 시간 */
.hours-list{margin-top:36px;border-top:1px solid var(--navy)}
.hours-list li{grid-template-columns:120px 1fr;gap:20px;padding:26px 0 26px 0;border-bottom:1px solid var(--line);background:none;position:relative}
.hours-list li.is-today{background:none}
.hours-list li.is-today::before{content:"";position:absolute;left:-24px;top:26px;bottom:26px;width:2px;background:var(--gold)}
.h-day{font-size:17px;font-weight:700;color:var(--ink);padding-top:8px}
.h-day em{font-size:12px;font-weight:700;padding:2px 7px;background:none;border:1px solid var(--gold);color:var(--gold)}
.h-time{font-size:30px;font-weight:700;color:var(--navy);letter-spacing:-.01em}
.h-time small{margin-top:8px;font-size:15px;font-weight:500;color:var(--muted)}
.h-time .h-last{color:var(--gold);font-weight:700}
.hours-list li.off .h-time{color:#9C4F3C;font-size:24px;padding-top:4px}
.visit-note{margin-top:22px;font-size:15px;font-weight:500;color:var(--muted)}
.visit-tel{padding-top:32px;gap:16px}
.visit-tel small{font-size:15px;color:var(--muted);font-weight:600}
.visit-tel strong{font-size:32px;font-weight:700;color:var(--navy)}
.visit-tel:hover strong{color:var(--gold)}

/* 오시는 길 */
.subway{margin-top:16px;font-family:var(--serif);font-size:26px;font-weight:700;color:var(--navy);letter-spacing:-.02em}
.subway b{font-weight:800;background:none;color:var(--navy);border-bottom:2px solid var(--gold);padding-bottom:2px}
.visit-addr{margin-top:12px;font-size:16px;font-weight:500;color:var(--muted)}
.visit-loc .map-static{margin-top:32px;min-height:360px;border:1px solid var(--line)}
.map-btn{background:#fff;color:var(--navy);border:1px solid var(--navy);box-shadow:none;font-size:15px;padding:12px 18px}
.map-static:hover .map-btn{background:var(--navy);color:#fff}

/* 진료 안내 페이지 표도 같은 톤 */
.hours-board{background:#fff;color:var(--ink);border:1px solid var(--line);padding:44px 52px}
.hb-head h3{color:var(--navy);font-weight:700}

@media (max-width:1023px){
  .visit{padding:72px 0}
  .visit-grid{grid-template-columns:1fr}
  .visit-hours{padding:0 0 48px}
  .visit-loc{padding:48px 0 0;border-left:0;border-top:1px solid var(--line)}
  .visit-title{font-size:28px}
  .hours-list li{grid-template-columns:1fr;gap:4px;padding:20px 0}
  .hours-list li.is-today::before{left:-12px;top:20px;bottom:20px}
  .h-day{padding-top:0;font-size:16px}
  .h-day em{font-size:16px}
  .h-time{font-size:26px}
  .h-time small{font-size:16px}
  .hours-list li.off .h-time{font-size:22px}
  .visit-note,.visit-tel small,.visit-addr{font-size:16px}
  .visit-tel strong{font-size:28px}
  .subway{font-size:22px}
  .visit-loc .map-static{min-height:300px}
  .map-btn{font-size:16px}
  .hours-board{padding:28px 20px}
}

/* ==========================================================
   주간 타임테이블
   ========================================================== */
.timetable{margin-top:32px}
.tt{width:100%;border-collapse:collapse;table-layout:fixed;font-variant-numeric:tabular-nums;background:#fff;border:1px solid var(--line)}
.tt th,.tt td{text-align:center;vertical-align:middle;border:1px solid var(--line);padding:16px 4px}
.tt thead th{background:var(--navy);color:#fff;font-size:16px;font-weight:700;border-color:var(--navy);padding:14px 4px;line-height:1.3}
.tt thead th.corner{background:var(--navy)}
.tt thead th:last-child{color:#F2C6BC}
.tt thead th small{display:block;margin-top:2px;font-size:11px;font-weight:700;color:var(--gold-soft)}
.tt thead th.is-today{background:var(--gold);border-color:var(--gold)}
.tt thead th.is-today small{color:#fff}
.tt tbody th{font-size:14px;font-weight:700;color:var(--muted);background:var(--ivory);width:84px;white-space:nowrap}
.tt td{font-size:14px;color:var(--muted);line-height:1.45}
.tt td b{display:block;font-family:var(--serif);font-size:17px;font-weight:700;color:var(--navy);line-height:1.2}
.tt td i{display:block;width:10px;height:1px;margin:6px auto;background:var(--gold)}
.tt td b.gold{color:var(--gold)}
.tt td .none{color:#B3ADA4}
.tt td.off{background:#F6EEEA;color:#9C4F3C;font-weight:700;font-size:16px;letter-spacing:.1em;writing-mode:horizontal-tb}
.tt td.is-today{background:rgba(174,138,90,.1)}
.tt td.off.is-today{background:#F1E2DC;box-shadow:inset 0 0 0 2px var(--gold)}
.tt-day{display:none}
.timetable+.visit-note{margin-top:20px}
.hours-board .timetable{margin-top:24px}

@media (max-width:640px){
  .tt-week{display:none}
  .tt-day{display:table}
  .tt th,.tt td{padding:13px 4px}
  .tt thead th{font-size:16px}
  .tt-day thead th:last-child{color:#fff}
  .tt-day tbody th{width:56px;font-size:16px;color:var(--navy);line-height:1.2}
  .tt-day tbody th small{display:block;font-size:12px;color:var(--gold);margin-top:2px}
  .tt-day td{font-size:16px}
  .tt-day td b{display:inline;font-family:var(--sans);font-size:16px}
  .tt-day td.off{font-size:16px}
  .tt-day tr.is-today th,.tt-day tr.is-today td{background:rgba(174,138,90,.12)}
  .tt-day tr:last-child th{color:#9C4F3C}
}
@media (max-width:1023px){
  .tt tbody th,.tt td,.tt thead th small{font-size:16px}
  .tt-day tbody th small{font-size:16px}
}
@media (max-width:640px){
  .tt-day thead tr:last-child th{color:#fff}
  .tt-day tbody tr:last-child th{color:#9C4F3C}
}
/* 좌: 오시는 길 / 우: 진료시간 */
.visit-loc{padding:0 64px 0 0;border-left:0}
.visit-hours{padding:0 0 0 64px;border-left:1px solid var(--line)}
@media (max-width:1023px){
  .visit-loc{padding:0 0 48px;border-top:0}
  .visit-hours{padding:48px 0 0;border-left:0;border-top:1px solid var(--line)}
}

/* ==========================================================
   진료시간 · 오시는 길 — 대기실 사진 위 유리 카드
   ========================================================== */
.visit{position:relative;background:#E9E6E1 url(../img/waiting.webp) center 60%/cover no-repeat;padding:120px 0;border-bottom:0;overflow:hidden}
.visit::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(18,18,18,.28) 0%,rgba(18,18,18,.12) 45%,rgba(18,18,18,.32) 100%)}
.visit-grid{position:relative;gap:32px;align-items:stretch}
.visit-loc,.visit-hours{
  padding:48px 48px 44px;border:1px solid rgba(255,255,255,.75);border-left:1px solid rgba(255,255,255,.75);
  background:rgba(255,255,255,.62);
  -webkit-backdrop-filter:blur(20px) saturate(1.4);backdrop-filter:blur(20px) saturate(1.4);
  box-shadow:0 24px 60px rgba(0,0,0,.18), inset 0 1px 0 rgba(255,255,255,.9)}
.visit-loc .map-static{border-color:rgba(255,255,255,.8)}
.visit .tt{background:rgba(255,255,255,.72);border-color:rgba(11,40,73,.12)}
.visit .tt th,.visit .tt td{border-color:rgba(11,40,73,.1)}
.visit .tt tbody th{background:rgba(247,244,239,.75)}
.visit .tt td.off{background:rgba(246,238,234,.85)}
.visit-addr,.visit-note,.today,.visit-tel small{color:#4A4F58}

@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){
  .visit-loc,.visit-hours{background:rgba(255,255,255,.9)}
}
@media (max-width:1023px){
  .visit{padding:56px 0;background-position:62% center}
  .visit-grid{gap:16px}
  .visit-loc,.visit-hours{padding:30px 20px 28px;border-top:1px solid rgba(255,255,255,.75)}
}

/* ==========================================================
   유리 카드: 메인 공지 카드와 같은 글래스모피즘
   ========================================================== */
.visit::before{background:linear-gradient(180deg,rgba(16,14,12,.62) 0%,rgba(16,14,12,.5) 50%,rgba(16,14,12,.66) 100%)}
.visit-loc,.visit-hours{
  background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.24);
  -webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);
  box-shadow:0 20px 50px rgba(0,0,0,.25);color:#fff}
.visit .visit-title,.visit .subway,.visit .subway b{color:#fff}
.visit .subway b{border-bottom-color:var(--gold-soft)}
.visit .visit-addr,.visit .visit-note,.visit .today,.visit .visit-tel small{color:rgba(255,255,255,.8)}
.visit .today b{color:#fff}
.visit .today.is-off b{color:#F2B5A8}
.visit .today::before{background:#8FC3A0}
.visit .today.is-off::before{background:#E99A88}
.visit .visit-tel strong{color:#fff}
.visit .visit-tel:hover strong{color:var(--gold-soft)}
.visit-loc .map-static{border-color:rgba(255,255,255,.3)}
.visit .map-btn{background:#fff;color:var(--navy);border-color:#fff}

/* 타임테이블도 유리 톤 */
.visit .tt{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.22)}
.visit .tt th,.visit .tt td{border-color:rgba(255,255,255,.18)}
.visit .tt thead th{background:rgba(255,255,255,.16);border-color:rgba(255,255,255,.22);color:#fff}
.visit .tt thead th:last-child{color:#F2C6BC}
.visit .tt thead th.is-today{background:rgba(174,138,90,.85);border-color:rgba(174,138,90,.85);color:#fff}
.visit .tt tbody th{background:rgba(255,255,255,.08);color:rgba(255,255,255,.8)}
.visit .tt td{color:rgba(255,255,255,.8)}
.visit .tt td b{color:#fff}
.visit .tt td b.gold{color:var(--gold-soft)}
.visit .tt td i{background:var(--gold-soft)}
.visit .tt td .none{color:rgba(255,255,255,.45)}
.visit .tt td.off{background:rgba(233,154,136,.14);color:#F2B5A8}
.visit .tt td.is-today{background:rgba(174,138,90,.16)}
.visit .tt td.off.is-today{background:rgba(233,154,136,.2);box-shadow:inset 0 0 0 2px var(--gold-soft)}
@media (max-width:640px){
  .visit .tt-day thead tr:last-child th{color:#fff}
  .visit .tt-day tbody th{color:#fff}
  .visit .tt-day tbody th small{color:var(--gold-soft)}
  .visit .tt-day tbody tr:last-child th{color:#F2B5A8}
  .visit .tt-day tr.is-today th,.visit .tt-day tr.is-today td{background:rgba(174,138,90,.2)}
}
.visit .tt td b.gold{color:#EBCF9F}

/* 유리 카드 안 타임테이블: 불투명 흰 표 */
.visit .tt{background:#fff;border-color:#fff;box-shadow:0 10px 30px rgba(0,0,0,.18)}
.visit .tt th,.visit .tt td{border-color:var(--line)}
.visit .tt thead th{background:var(--navy);border-color:var(--navy);color:#fff}
.visit .tt thead th:last-child{color:#F2C6BC}
.visit .tt thead th.is-today{background:var(--gold);border-color:var(--gold);color:#fff}
.visit .tt tbody th{background:var(--ivory);color:var(--muted)}
.visit .tt td{color:var(--muted)}
.visit .tt td b{color:var(--navy)}
.visit .tt td b.gold{color:var(--gold)}
.visit .tt td i{background:var(--gold)}
.visit .tt td .none{color:#B3ADA4}
.visit .tt td.off{background:#F6EEEA;color:#9C4F3C}
.visit .tt td.is-today{background:#F8F2E8}
.visit .tt td.off.is-today{background:#F1E2DC;box-shadow:inset 0 0 0 2px var(--gold)}
@media (max-width:640px){
  .visit .tt-day thead tr:last-child th{color:#fff}
  .visit .tt-day tbody th{color:var(--navy)}
  .visit .tt-day tbody th small{color:var(--gold)}
  .visit .tt-day tbody tr:last-child th{color:#9C4F3C}
  .visit .tt-day tr.is-today th,.visit .tt-day tr.is-today td{background:#F8F2E8}
}

/* 에스테틱 사진 */
.aes-thumb,.aes-photo{overflow:hidden;background:var(--sand)}
.aes-thumb img,.aes-photo img{width:100%;height:100%;object-fit:cover;transition:transform .8s var(--ease)}
.aes-item:hover .aes-thumb img{transform:scale(1.04)}
.aes-photo{box-shadow:0 24px 50px rgba(11,40,73,.1)}
/* 서브 상단 배너: 밝은 사진에서도 메뉴·제목이 읽히도록 */
.sub-hero::after{background:linear-gradient(180deg,rgba(14,14,14,.55) 0%,rgba(14,14,14,.25) 35%,rgba(14,14,14,.35) 60%,rgba(14,14,14,.72) 100%)}
/* 상단 배너 높이 통일 (공지사항 기준) */
.sub-hero{height:420px}
.sub-hero .wrap{padding-bottom:60px}
@media (max-width:1023px){
  .sub-hero{height:320px}
  .sub-hero .wrap{padding-bottom:40px}
}

/* 인사말: 새 공간 사진 모음 */
.space-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.sp{position:relative;margin:0;overflow:hidden;background:var(--sand);aspect-ratio:1/1}
.sp-main{grid-column:1/-1;aspect-ratio:4/3}
.sp img{width:100%;height:100%;object-fit:cover;transition:transform .8s var(--ease)}
.sp:hover img{transform:scale(1.04)}
.sp figcaption{position:absolute;left:0;bottom:0;padding:8px 14px;background:rgba(14,14,14,.55);color:#fff;font-size:14px;font-weight:600;letter-spacing:-.01em;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}
@media (max-width:1023px){
  .greet-media{max-width:none}
  .space-grid{gap:8px}
  .sp figcaption{font-size:16px;padding:6px 12px}
}

/* 진료 과목 카드 축소: 2×2, 낮은 높이 */
.cat-grid{gap:20px}
.cat-card,.cat-card.wide{grid-column:auto;min-height:340px}
.cat-card.wide::after{background:linear-gradient(0deg,rgba(14,14,14,.92) 0%,rgba(14,14,14,.62) 45%,rgba(14,14,14,.08) 78%)}
.cat-card>div:not(.cat-img){padding:28px 32px 30px}
.cat-card h3{font-size:24px}
.cat-card .lead{font-size:15px;margin-top:6px}
.cat-card .group{margin-top:14px}
.cat-card .group+.group{padding-top:12px}
.cat-card .group b{font-size:13px;margin-bottom:8px}
.cat-card .chips{gap:6px}
.cat-card .chips span{font-size:13px;padding:5px 11px}
@media (max-width:1023px){
  .cat-card .cat-img,.cat-card:not(.wide) .cat-img{height:220px}
  .cat-card::after,.cat-card.wide::after{height:220px}
  .cat-card>div:not(.cat-img){padding:180px 20px 24px}
  .cat-card h3{font-size:22px}
  .cat-card .lead,.cat-card .group b,.cat-card .chips span{font-size:16px}
}
@media (min-width:1024px){
  .cat-card::after,.cat-card.wide::after{background:linear-gradient(0deg,rgba(14,14,14,.9) 0%,rgba(14,14,14,.68) 55%,rgba(14,14,14,.3) 100%)}
}

/* 홈 진료 카드: PC 가로 4개 / 모바일 2×2 */
@media (min-width:1024px){
  .care-grid{grid-template-columns:repeat(4,1fr)!important;gap:16px}
}
@media (max-width:1023px){
  .care-grid{grid-template-columns:repeat(2,1fr)!important;gap:10px}
  .care-card.has-img{aspect-ratio:3/4}
  .care-card.has-img .care-body{padding:14px 14px 16px}
  .care-card.has-img h3{font-size:19px}
  .care-card.has-img p{display:none}
  .care-card.has-img::after{background:linear-gradient(0deg,rgba(14,14,14,.82) 0%,rgba(14,14,14,.35) 35%,rgba(14,14,14,0) 60%)}
}

/* 공지 안 지도 */
.notice-map{margin-top:28px;max-width:640px}
.nm-addr{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 12px;padding:16px 20px;background:var(--ivory);border:1px solid var(--line);margin:0!important}
.nm-addr b{font-size:14px;font-weight:700;color:var(--gold)}
.nm-addr span{font-size:17px;font-weight:700;color:var(--navy)}
.nm-addr em{font-style:normal;font-size:14px;color:var(--muted);font-weight:600}
.notice-map .map-static{display:block;margin-top:12px;min-height:0;aspect-ratio:16/10;border:1px solid var(--line)}
.notice-map .map-static img{object-position:40% 58%}
.board-body .inner p:last-of-type{}
@media (max-width:1023px){
  .nm-addr b,.nm-addr em{font-size:16px}
  .nm-addr span{font-size:16px}
  .notice-map .map-static{aspect-ratio:4/3}
}

/* ==========================================================
   서체 2종만 사용: 나눔명조(제목·숫자) + Pretendard(본문)
   ========================================================== */
:root{--serif:"Nanum Myeongjo",serif;--en:"Nanum Myeongjo",serif}
.values .num,.aes-block .num,.footer-tel strong,.tel-big strong,.mnav-foot strong,
.doctor-name em,.disease h3 small,.info-box h3 small,.aes-block h3 small,.aes-item .en,
.eyebrow,.mnav-list a small,.hero-eyebrow,.hero-scroll,.event-strip small{font-style:normal}
.footer-tel strong,.tel-big strong,.mnav-foot strong{font-weight:800;letter-spacing:0}
.values .num{font-weight:800}
.aes-block .num{font-weight:800;font-size:52px;color:var(--gold-soft)}
.sign{align-items:center;gap:20px}
.sign-img{height:64px;width:auto;display:block}
@media (max-width:1023px){.sign-img{height:54px}}
.sign-img{height:44px}
@media (max-width:1023px){.sign-img{height:40px}}

/* ==========================================================
   운영 안내 카드(진료 / 에스테틱) — 차분한 한 상자 구성
   ========================================================== */
.ops{gap:0;background:#fff;border:1px solid var(--line);box-shadow:0 14px 40px rgba(11,40,73,.05)}
.ops-card,.ops-card.navy{background:none;color:var(--ink);border:0;padding:44px 52px 46px}
.ops-card+.ops-card{border-left:1px solid var(--line)}
.ops-card .tag,.ops-card.navy .tag{display:flex;align-items:center;gap:10px;padding:0;background:none;color:var(--gold);font-size:15px;font-weight:700}
.ops-card .tag::after{content:"";width:28px;height:1px;background:var(--gold-soft)}
.ops-card h3,.ops-card.navy h3{margin-top:16px;color:var(--navy);font-size:26px;font-weight:800;line-height:1.5}
.ops-card h3 em,.ops-card.navy h3 em{color:var(--navy)}

.ops-card p,.ops-card.navy p{margin-top:12px;color:var(--muted);font-size:16px;line-height:1.8}

.ops-card .deadline{display:none}
.ops-card .btn,.ops-card .btn-white,.ops-card .btn-navy,.ops-card .btn-line{
  display:inline-flex;height:auto;margin-top:24px!important;padding:0 0 6px;background:none;border:0;border-bottom:1px solid var(--navy);
  color:var(--navy);font-size:15px;font-weight:700;gap:10px}
.ops-card .btn::after{content:"";width:7px;height:7px;border-top:1.5px solid currentColor;border-right:1.5px solid currentColor;transform:rotate(45deg);margin-left:2px}
.ops-card .btn:hover{background:none;color:var(--gold);border-color:var(--gold)}
@media (max-width:1023px){
  .ops-card,.ops-card.navy{padding:30px 22px 32px}
  .ops-card+.ops-card{border-left:0;border-top:1px solid var(--line)}
  .ops-card h3,.ops-card.navy h3{font-size:22px}
  .ops-card .tag,.ops-card.navy .tag,.ops-card .btn{font-size:16px}
}

/* 운영 안내 상자: 배경과 구분되게 */
.ops{background:var(--sand);border:0;box-shadow:none;gap:16px;background:none}
.ops-card,.ops-card.navy{background:var(--sand);border-top:3px solid var(--navy)}
.ops-card+.ops-card{border-left:0}
.bg-ivory .ops-card,.bg-ivory .ops-card.navy{background:#fff;box-shadow:0 12px 32px rgba(11,40,73,.07)}
@media (max-width:1023px){
  .ops{gap:12px}
  .ops-card+.ops-card{border-top:3px solid var(--navy)}
}

/* 운영 안내 카드: 두 칸 모두 딥 네이비 */
.ops-card,.ops-card.navy,.bg-ivory .ops-card,.bg-ivory .ops-card.navy{
  background:linear-gradient(160deg,#123259 0%,#0B2849 55%,#091F3A 100%);
  border-top:0;box-shadow:0 18px 40px rgba(11,40,73,.18);color:#fff}
.ops-card .tag,.ops-card.navy .tag{color:var(--gold-soft)}
.ops-card .tag::after{background:rgba(201,174,134,.6)}
.ops-card h3,.ops-card.navy h3,.ops-card h3 em,.ops-card.navy h3 em{color:#fff}
.ops-card p,.ops-card.navy p{color:rgba(255,255,255,.72)}
.ops-card .btn,.ops-card .btn-white,.ops-card .btn-navy,.ops-card .btn-line{color:#fff;border-bottom-color:rgba(255,255,255,.6)}
.ops-card .btn:hover{color:var(--gold-soft);border-color:var(--gold-soft)}
@media (max-width:1023px){.ops-card+.ops-card{border-top:0}}
.ops-card,.ops-card.navy{display:flex;flex-direction:column}
.ops-card .btn{align-self:flex-start;margin-top:auto!important}
.ops-card p{margin-bottom:26px}

/* 빈 공간 사진 */
.notice-photo{margin:40px 0 0;overflow:hidden;aspect-ratio:4/3;background:var(--sand)}
.notice-photo img{width:100%;height:100%;object-fit:cover;object-position:50% 55%}
.aes-wide{margin:56px auto 0;max-width:1080px;aspect-ratio:21/9;overflow:hidden;background:var(--sand)}
.aes-wide img{width:100%;height:100%;object-fit:cover;object-position:50% 60%}
@media (max-width:1023px){
  .notice-photo{margin-top:28px;aspect-ratio:16/9}
  .aes-wide{margin-top:36px;aspect-ratio:16/10}
}

/* ==========================================================
   에스테틱 안내: 사진 위 글씨
   ========================================================== */
.aes-intro{position:relative;height:480px;overflow:hidden;color:#fff;background:#2a2620}
.aes-intro-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 60%}
.aes-intro::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(14,14,14,.72) 0%,rgba(14,14,14,.45) 45%,rgba(14,14,14,.05) 80%)}
.aes-intro-in{position:relative;z-index:2;height:100%;display:flex;flex-direction:column;justify-content:center}
.aes-intro h2{font-family:var(--serif);font-weight:800;font-size:clamp(30px,3.2vw,46px);line-height:1.45;letter-spacing:-.03em}
.aes-intro p{margin-top:18px;font-size:18px;font-weight:500;color:rgba(255,255,255,.85)}

.aes-programs{padding-top:100px}
.aes-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.aes-card{position:relative;aspect-ratio:3/4;overflow:hidden;background:#1b1b1b;color:#fff}
.aes-card>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .8s var(--ease)}
.aes-card:hover>img{transform:scale(1.04)}
.aes-card::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(14,14,14,.92) 0%,rgba(14,14,14,.6) 38%,rgba(14,14,14,0) 65%)}
.aes-card-body{position:absolute;left:0;right:0;bottom:0;z-index:2;padding:30px 30px 32px}
.aes-card .num{font-family:var(--serif);font-weight:800;font-size:22px;color:var(--gold-soft);line-height:1}
.aes-card h3{margin-top:10px;font-family:var(--serif);font-weight:800;font-size:26px;letter-spacing:-.02em}
.aes-card .desc{margin-top:10px;font-size:15px;line-height:1.7;color:rgba(255,255,255,.82)}
.aes-card .points{margin-top:14px;display:flex;flex-wrap:wrap;gap:6px}
.aes-card .points li{padding:5px 11px;border:1px solid rgba(255,255,255,.35);font-size:13px;font-weight:600;color:#fff;background:rgba(255,255,255,.08)}
.aes-card .points li::before{display:none}
.aes-card.anchor{scroll-margin-top:calc(var(--header-h) + 72px)}

@media (max-width:1023px){
  .aes-intro{height:380px}
  .aes-intro::after{background:linear-gradient(0deg,rgba(14,14,14,.78) 0%,rgba(14,14,14,.35) 60%,rgba(14,14,14,.2) 100%)}
  .aes-intro-in{justify-content:flex-end;padding-bottom:40px}
  .aes-intro h2{font-size:26px}
  .aes-intro p{font-size:16px}
  .aes-programs{padding-top:56px}
  .aes-cards{grid-template-columns:1fr;gap:14px}
  .aes-card{aspect-ratio:4/5}
  .aes-card-body{padding:22px 20px 24px}
  .aes-card h3{font-size:22px}
  .aes-card .desc,.aes-card .points li{font-size:16px}
}

/* 메인 에스테틱 카드: 사진 위 글씨 */
.aes-item{position:relative;display:block;overflow:hidden}
.aes-item .media{position:relative}
.aes-item .media::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(10,16,28,.9) 0%,rgba(10,16,28,.5) 38%,rgba(10,16,28,0) 62%);pointer-events:none}
.aes-item .meta{position:absolute;left:0;right:0;bottom:64px;z-index:2;margin:0;padding:0 26px;border:0}
.aes-item>p{position:absolute;left:0;right:0;bottom:0;z-index:2;margin:0;padding:0 26px 26px;color:rgba(255,255,255,.82)}
.aes-item h3{font-weight:800;color:#fff}
@media (max-width:1023px){
  .aes-item .meta{bottom:70px;padding:0 18px}
  .aes-item>p{padding:0 18px 18px;font-size:16px}
}
/* 메인 에스테틱 카드: 제목·설명이 사진 하단에 자연스럽게 쌓이도록 */
.aes-item{display:grid;grid-template-rows:1fr auto auto}
.aes-item .media{grid-row:1/4;grid-column:1}
.aes-item .meta,.aes-item>p{position:relative;inset:auto;grid-column:1;z-index:2}
.aes-item .meta{grid-row:2;align-self:end;padding:0 26px;bottom:auto}
.aes-item>p{grid-row:3;margin:0;padding:10px 26px 28px;font-size:15px;line-height:1.7}
@media (max-width:1023px){
  .aes-item .meta{padding:0 18px}
  .aes-item>p{padding:8px 18px 20px;font-size:16px}
}

/* 의원 소개 > 오시는 길: 정돈된 정보 목록 */
.map-wrap{grid-template-columns:1.25fr 1fr;align-items:stretch}
.loc-info{padding:48px 52px;background:#fff;border-left:1px solid var(--line);display:flex;flex-direction:column}
.loc-name{font-family:var(--serif);font-size:28px;font-weight:800;color:var(--navy);letter-spacing:-.02em}
.loc-list{margin:24px 0 0;border-top:2px solid var(--navy)}
.loc-list>div{display:grid;grid-template-columns:92px 1fr;gap:16px;padding:18px 0;border-bottom:1px solid var(--line)}
.loc-list dt{font-size:15px;font-weight:700;color:var(--gold);padding-top:1px}
.loc-list dd{margin:0;font-size:16px;font-weight:600;color:var(--ink);line-height:1.65}
.loc-list dd strong{color:var(--navy);font-weight:800}
.loc-list dd small{display:block;margin-top:2px;font-size:14px;font-weight:500;color:var(--muted)}
.loc-tel{font-family:var(--serif);font-size:22px;font-weight:800;color:var(--navy)}
.loc-tel:hover{color:var(--gold)}
.loc-btns{margin-top:auto;padding-top:28px;display:grid;grid-template-columns:1fr 1fr;gap:10px}
.loc-btn{display:flex;align-items:center;justify-content:center;height:50px;border:1px solid var(--navy);color:var(--navy);font-size:15px;font-weight:700;transition:background .3s,color .3s}
.loc-btn.primary,.loc-btn:hover{background:var(--navy);color:#fff}
.loc-btn.primary:hover{background:var(--gold);border-color:var(--gold)}
.map-wrap .map-static{min-height:520px}
@media (max-width:1023px){
  .map-wrap{grid-template-columns:1fr}
  .loc-info{padding:30px 20px;border-left:0;border-top:1px solid var(--line)}
  .loc-name{font-size:24px}
  .loc-list>div{grid-template-columns:76px 1fr;gap:12px;padding:15px 0}
  .loc-list dt,.loc-list dd small,.loc-btn{font-size:16px}
  .map-wrap .map-static{min-height:340px}
}

/* 에스테틱 > 예약 안내: 사진 배경 */
#reserve{position:relative;overflow:hidden;background:#cfd8c8 url(../img/hero-clinic.webp) center 40%/cover no-repeat}
#reserve::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(20,24,20,.18),rgba(20,24,20,.32))}
#reserve .wrap{position:relative}
#reserve .ops-card,#reserve .ops-card.navy{
  background:linear-gradient(160deg,rgba(18,50,89,.92) 0%,rgba(11,40,73,.94) 55%,rgba(9,31,58,.96) 100%);
  -webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);box-shadow:0 24px 50px rgba(0,0,0,.28)}
/* 예약 안내 카드: 글래스모피즘 */
#reserve::before{background:linear-gradient(180deg,rgba(14,18,14,.42),rgba(14,18,14,.55))}
#reserve .ops-card,#reserve .ops-card.navy{
  background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.26);
  -webkit-backdrop-filter:blur(16px) saturate(1.2);backdrop-filter:blur(16px) saturate(1.2);
  box-shadow:0 20px 50px rgba(0,0,0,.22)}
#reserve .ops-card .tag{color:#E6CFA6}
#reserve .ops-card p{color:rgba(255,255,255,.85)}

/* ==========================================================
   진료 안내 페이지 정리
   ========================================================== */
.hb-head{justify-content:flex-end}
.hours-board .timetable{margin-top:16px}
/* 진료 과목 카드: 모두 하단 정렬, 항목은 한 줄 글로 */
.cat-card,.cat-card.wide{align-items:flex-end;min-height:360px}
.cat-card .group{display:flex;align-items:baseline;gap:12px;margin-top:12px}
.cat-card .group+.group{padding-top:0;border-top:0;margin-top:6px}
.cat-card .group b{margin:0;flex-shrink:0;font-size:13px;color:var(--gold-soft)}
.cat-card .chips{display:block;margin:0;line-height:1.7}
.cat-card .chips span{display:inline;padding:0;border:0;background:none;backdrop-filter:none;-webkit-backdrop-filter:none;font-size:14px;font-weight:500;color:rgba(255,255,255,.88)}
.cat-card .chips span+span::before{content:" · ";color:rgba(255,255,255,.5)}
.cat-card .lead{margin-top:8px}
@media (max-width:1023px){
  .cat-card .group b,.cat-card .chips span{font-size:16px}
}

/* 진료 안내 > 진료시간: 사진 배경 + 글래스모피즘 (에스테틱 예약 안내와 동일 톤) */
#hours{position:relative;overflow:hidden;background:#2a2a2a url(../img/waiting.webp) center 55%/cover no-repeat}
#hours::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(14,14,14,.58),rgba(14,14,14,.66))}
#hours .wrap{position:relative}
#hours .sec-title{color:#fff}
#hours .sec-desc{color:rgba(255,255,255,.82)}
#hours .hours-board,#hours .ops-card,#hours .ops-card.navy{
  background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.26);
  -webkit-backdrop-filter:blur(16px) saturate(1.2);backdrop-filter:blur(16px) saturate(1.2);
  box-shadow:0 20px 50px rgba(0,0,0,.22);color:#fff}
#hours .hours-board .today{color:rgba(255,255,255,.85)}
#hours .hours-board .today b{color:#fff}
#hours .hours-board .today.is-off b{color:#F2B5A8}
#hours .tt{box-shadow:0 10px 30px rgba(0,0,0,.18)}
#hours .ops-card .tag{color:#E6CFA6}
#hours .ops-card p{color:rgba(255,255,255,.85)}

/* ==========================================================
   모바일 상단: 햄버거 제거 + 좌우 스크롤 메뉴 줄
   ========================================================== */
@media (max-width:1023px){
  :root{--header-h:108px}
  .header{height:auto}
  .header .wrap{flex-wrap:wrap;height:auto;gap:0;padding:0 20px}
  .header .logo,.header .header-util{height:64px}
  .btn-menu{display:none!important}
  .gnb{display:flex;position:static;transform:none;order:3;flex:0 0 calc(100% + 40px);margin:0 -20px;padding:0 20px;
       height:44px;align-items:center;gap:24px;overflow-x:auto;white-space:nowrap;scrollbar-width:none;-webkit-overflow-scrolling:touch;
       border-top:1px solid rgba(255,255,255,.18)}
  .gnb::-webkit-scrollbar{display:none}
  .gnb a{font-size:16px;padding:10px 0;flex-shrink:0}
  .header.is-solid .gnb,.header.is-light .gnb{border-top-color:var(--line)}
  .anchor{scroll-margin-top:calc(var(--header-h) + 56px)}
}

/* 메인 > 내원 전 확인해 주세요: 사진 배경 + 글래스모피즘 */
#ops-home{position:relative;overflow:hidden;background:#cfd8c8 url(../img/hero-clinic.webp) center 40%/cover no-repeat}
#ops-home::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(14,18,14,.45),rgba(14,18,14,.58))}
#ops-home .wrap{position:relative}
#ops-home .sec-title{color:#fff}
#ops-home .sec-desc{color:rgba(255,255,255,.82)}
#ops-home .ops-card,#ops-home .ops-card.navy{
  background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.26);
  -webkit-backdrop-filter:blur(16px) saturate(1.2);backdrop-filter:blur(16px) saturate(1.2);
  box-shadow:0 20px 50px rgba(0,0,0,.22)}
#ops-home .ops-card .tag{color:#E6CFA6}
#ops-home .ops-card p{color:rgba(255,255,255,.85)}

/* 메인 > 공지사항: 사진 배경 + 글래스 목록 */
#notice-home{position:relative;overflow:hidden;background:#2a2a2a url(../img/waiting2.webp) center 55%/cover no-repeat}
#notice-home::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(14,14,14,.72) 0%,rgba(14,14,14,.55) 45%,rgba(14,14,14,.45) 100%)}
#notice-home .wrap{position:relative;align-items:center}
#notice-home .sec-title{color:#fff}
#notice-home .sec-desc{color:rgba(255,255,255,.82)}
#notice-home .link-more{color:#fff;border-color:rgba(255,255,255,.7)}
#notice-home .link-more:hover{color:var(--gold-soft);border-color:var(--gold-soft)}
#notice-home .board-mini{padding:10px 32px;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.26);
  -webkit-backdrop-filter:blur(16px) saturate(1.2);backdrop-filter:blur(16px) saturate(1.2);box-shadow:0 20px 50px rgba(0,0,0,.22)}
#notice-home .board-mini li a{border-color:rgba(255,255,255,.18)}
#notice-home .board-mini li:first-child a{border-top:0}
#notice-home .board-mini li:last-child a{border-bottom:0}
#notice-home .board-mini li a:hover{background:rgba(255,255,255,.08)}
#notice-home .board-mini .t{color:#fff}
#notice-home .board-mini .d{color:rgba(255,255,255,.7)}
#notice-home .badge{color:#fff;border-color:rgba(255,255,255,.6)}
#notice-home .badge.guide{color:#E6CFA6;border-color:#E6CFA6}
@media (max-width:1023px){
  #notice-home::before{background:rgba(14,14,14,.6)}
  #notice-home .board-mini{padding:4px 18px;margin-top:28px}
}
/* 모바일 메뉴 줄 가운데 정렬 */
@media (max-width:1023px){
  .gnb{justify-content:safe center;gap:16px}
}
@media (min-width:600px) and (max-width:1023px){
  .gnb{gap:32px}
}

/* 상담 배너: 밝은 잎 그림자 사진 + 네이비 글씨 */
.cta-band{background:#efe9df;color:var(--navy)}
.cta-band .bg{opacity:1}
.cta-band .bg::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(247,244,239,.55) 0%,rgba(247,244,239,.15) 55%,rgba(247,244,239,0) 100%)}
.cta-band h2{color:var(--navy)}
.cta-band .btn-white{background:var(--navy);color:#fff}
.cta-band .btn-white:hover{background:var(--gold);color:#fff}
.cta-band .btn-ghost{background:rgba(255,255,255,.55);border-color:var(--navy);color:var(--navy);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}
.cta-band .btn-ghost:hover{background:var(--navy);color:#fff}

/* 진료 과정: 물방울 잎 사진 배경 */
#process{position:relative;overflow:hidden;background:var(--ivory) url(../img/nat-leaf.webp) right 60%/cover no-repeat}
#process::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(247,244,239,.9) 0%,rgba(247,244,239,.82) 60%,rgba(247,244,239,.55) 100%)}
#process .wrap{position:relative}
#process .step{border-top-color:rgba(11,40,73,.18)}
#process .step:first-child{border-top-color:var(--navy)}
@media (max-width:1023px){
  #process::before{background:rgba(247,244,239,.86)}
}

/* 모바일 푸터: 짧고 촘촘하게 */
@media (max-width:1023px){
  .footer{padding:36px 0 96px}
  .footer-top{padding-bottom:20px;gap:0}
  .footer-top img{height:28px}
  .footer-nav,.footer-tel{display:none}
  .footer-info{padding-top:18px;gap:0;line-height:1.75}
  .footer-info p{margin:0 0 6px}
  .footer-info span{display:inline}
  .footer-info span+span::before{display:inline;content:"·";width:auto;height:auto;background:none;margin:0 6px;color:rgba(255,255,255,.35)}
  .footer-info p:nth-child(2) span:last-child{display:none}
  .copy{margin-top:12px}
}
@media (max-width:1023px){ .footer-info span{white-space:nowrap} }
@media (max-width:1023px){ .footer-info span{display:inline-block} }

/* 상담 배너: 화살표 링크 */
.cta-links{display:flex;flex-direction:column;gap:14px;min-width:300px}
.cta-link{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:14px 0;border-bottom:1.5px solid var(--navy);
  font-family:var(--serif);font-size:22px;font-weight:800;color:var(--navy);transition:color .3s,border-color .3s}
.cta-link i{position:relative;display:block;width:44px;height:1.5px;background:currentColor;transition:width .35s var(--ease)}
.cta-link i::after{content:"";position:absolute;right:0;top:50%;width:10px;height:10px;border-top:1.5px solid currentColor;border-right:1.5px solid currentColor;transform:translateY(-50%) rotate(45deg)}
.cta-link:hover{color:var(--gold);border-color:var(--gold)}
.cta-link:hover i{width:60px}
@media (max-width:1023px){
  .cta-links{width:100%;min-width:0;gap:6px}
  .cta-link{font-size:19px;padding:12px 0}
  .cta-link i{width:36px}
}
.cta-links{padding:14px 30px 18px;background:rgba(255,255,255,.55);border:1px solid rgba(255,255,255,.7);
  -webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);box-shadow:0 14px 34px rgba(11,40,73,.08)}
.cta-link:last-child{border-bottom:0}
.cta-link+.cta-link{border-top:1px solid rgba(11,40,73,.15)}
.cta-link{border-bottom:0}
@media (max-width:1023px){.cta-links{padding:6px 20px 8px}}

/* 에스테틱 카드 특징: 네모 → 글 */
.aes-card .points{display:block;margin-top:12px}
.aes-card .points li{display:inline;padding:0;border:0;background:none;font-size:14px;font-weight:600;color:rgba(255,255,255,.9)}
.aes-card .points li+li::before{content:" · ";display:inline;position:static;width:auto;height:auto;background:none;color:rgba(255,255,255,.5)}
@media (max-width:1023px){.aes-card .points li{font-size:16px}}

/* 에스테틱 예약 안내: 카드 1장 가운데 */
#reserve .ops{grid-template-columns:minmax(0,640px);justify-content:center}

/* 모바일 공지 띠: 흰 바탕 + 캐릭터 */
@media (max-width:1023px){
  .event-strip{display:grid;grid-template-columns:1fr auto;align-items:center;gap:4px 12px;padding:18px 20px 16px;background:#fff;border-bottom:1px solid var(--line)}
  .es-char{grid-column:1/-1;justify-self:center;width:100%;max-width:300px;height:auto;margin-bottom:6px}
  .es-text small{display:block;font-size:16px;font-weight:700;color:var(--gold)}
  .es-text b{display:block;font-size:16px;font-weight:700;color:var(--navy);white-space:normal}
  .es-arr{width:9px;height:9px;border-top:2px solid var(--navy);border-right:2px solid var(--navy);transform:rotate(45deg);margin-right:4px}
}
/* 모바일 공지 띠: 캐릭터를 띠 안에 한 줄로 */
@media (max-width:1023px){
  .event-strip{grid-template-columns:auto 1fr auto;gap:0 12px;padding:10px 18px 0 14px;align-items:center;min-height:76px}
  .es-char{grid-column:auto;justify-self:start;align-self:end;width:auto;height:64px;max-width:none;margin:0}
  .es-text{padding-bottom:10px}
  .es-text b{line-height:1.4}
  .es-arr{margin-bottom:10px}
}
/* 모바일 공지 띠: 글 왼쪽 / 캐릭터 오른쪽(아래 살짝 잘림) */
@media (max-width:1023px){
  .event-strip{grid-template-columns:1fr auto;gap:0 8px;padding:0 0 0 20px;min-height:84px;height:84px;overflow:hidden;align-items:center}
  .es-text{order:1;padding:0}
  .es-char{order:2;align-self:end;justify-self:end;height:96px;margin:0 6px -18px 0}
  .es-arr{display:none}
  .es-text b::after{content:"";display:inline-block;width:7px;height:7px;margin-left:8px;border-top:2px solid var(--navy);border-right:2px solid var(--navy);transform:translateY(-2px) rotate(45deg)}
}
@media (max-width:1023px){
  .es-char{height:86px;margin:0 2px -14px 0}
  .es-text b{white-space:nowrap}
}
/* 모바일 공지 띠: 캐릭터 1.5배 축소 + 화살표 맨 오른쪽 */
@media (max-width:1023px){
  .event-strip{grid-template-columns:1fr auto auto;gap:0 14px;padding:0 20px;height:72px;min-height:72px}
  .es-char{height:58px;margin:0 0 -9px 0}
  .es-text b::after{display:none}
  .es-arr{display:block;order:3;align-self:center;margin:0}
}
@media (max-width:1023px){ .es-char{margin-right:22px} }

/* 상단 메뉴: 현재 페이지 표시 강화 */
.gnb a{opacity:.72;transition:opacity .25s,color .25s}
.gnb a:hover,.gnb a:active{opacity:1;color:var(--gold-soft)}
.gnb a::after{height:2px;background:var(--gold)}
.gnb a[aria-current="page"]{opacity:1;font-weight:800}
.gnb a[aria-current="page"]::after{left:0;right:0}
.header.is-solid .gnb a,.header.is-light .gnb a{color:var(--ink)}
.header.is-solid .gnb a[aria-current="page"],.header.is-light .gnb a[aria-current="page"]{color:var(--navy)}
.header.is-solid .gnb a:hover,.header.is-light .gnb a:hover,
.header.is-solid .gnb a:active,.header.is-light .gnb a:active{color:var(--gold)}
@media (max-width:1023px){
  .gnb a{padding:11px 0 9px}
  .gnb a::after{bottom:0;height:3px}
}
@media (max-width:1023px){
  .gnb{align-items:stretch}
  .gnb a{display:flex;align-items:center;padding:0;line-height:1.4}
}

/* ==========================================================
   자주 묻는 질문 안내 도우미
   ========================================================== */
.cb{position:fixed;right:28px;bottom:28px;z-index:55;font-family:var(--sans)}
.cb-fab{display:flex;align-items:center;gap:10px;height:52px;padding:0 24px;border-radius:999px;background:var(--navy);color:#fff;
  font-size:15px;font-weight:700;box-shadow:0 12px 30px rgba(11,40,73,.3);transition:transform .3s var(--ease),background .3s}
.cb-fab:hover{background:var(--gold);transform:translateY(-2px)}
.cb.is-open .cb-fab{opacity:0;pointer-events:none}
.cb-panel{position:absolute;right:0;bottom:0;width:360px;max-height:min(600px,calc(100vh - 140px));display:flex;flex-direction:column;
  background:#fff;border-radius:18px;overflow:hidden;box-shadow:0 24px 60px rgba(11,40,73,.25)}
.cb-panel[hidden]{display:none}
.cb-head{display:flex;justify-content:space-between;align-items:center;padding:18px 20px;background:var(--navy);color:#fff}
.cb-title{font-family:var(--serif);font-size:18px;font-weight:800}
.cb-sub{margin-top:2px;font-size:13px;color:rgba(255,255,255,.7)}
.cb-close{position:relative;width:32px;height:32px}
.cb-close::before,.cb-close::after{content:"";position:absolute;left:8px;right:8px;top:50%;height:1.5px;background:#fff;transform:rotate(45deg)}
.cb-close::after{transform:rotate(-45deg)}
.cb-body{flex:1;overflow-y:auto;padding:18px 16px 8px;background:var(--ivory);display:flex;flex-direction:column;gap:10px;min-height:160px}
.cb-msg{max-width:88%;padding:11px 14px;font-size:14px;line-height:1.65;border-radius:14px}
.cb-msg.bot{align-self:flex-start;background:#fff;color:var(--ink);border:1px solid var(--line);border-top-left-radius:4px}
.cb-msg.me{align-self:flex-end;background:var(--navy);color:#fff;border-top-right-radius:4px}
.cb-msg a{color:var(--navy);font-weight:700;text-decoration:underline;text-underline-offset:3px}
.cb-msg small{display:block;margin-top:6px;font-size:13px;color:var(--muted)}
.cb-list{margin:6px 0;padding:0}
.cb-list li{padding:3px 0}
.cb-list b{color:var(--navy);margin-right:6px}
.cb-tel{display:inline-block;margin-top:6px;font-family:var(--serif);font-size:20px;font-weight:800;text-decoration:none!important}
.cb-chips{display:flex;flex-wrap:wrap;gap:6px;padding:12px 14px 14px;border-top:1px solid var(--line);background:#fff;max-height:168px;overflow-y:auto}
.cb-chip{padding:8px 13px;border-radius:999px;border:1px solid var(--line);background:#fff;color:var(--navy);font-size:13px;font-weight:600;transition:all .2s}
.cb-chip:hover{border-color:var(--navy);background:var(--navy);color:#fff}
.cb-chip.last{border-color:var(--gold);color:var(--gold)}
.cb-chip.last:hover{background:var(--gold);color:#fff}
@media (max-width:1023px){
  .cb{right:14px;bottom:calc(76px + env(safe-area-inset-bottom))}
  .cb-fab{height:48px;padding:0 20px;font-size:16px}
  .cb-fab-text::after{content:""}
  .cb-panel{position:fixed;left:10px;right:10px;bottom:calc(72px + env(safe-area-inset-bottom));width:auto;max-height:calc(100vh - 200px)}
  .cb-sub,.cb-msg,.cb-chip,.cb-msg small{font-size:16px}
}
/* 모바일 요일표: 작게 + 시간 줄바꿈 없음 */
@media (max-width:640px){
  .tt-day th,.tt-day td{padding:10px 2px;white-space:nowrap;letter-spacing:-.02em}
  .tt-day thead th{padding:10px 2px}
  .tt-day thead th:nth-child(1){width:15%}
  .tt-day thead th:nth-child(2){width:33%}
  .tt-day thead th:nth-child(3){width:31%}
  .tt-day thead th:nth-child(4){width:21%}
  .tt-day tbody th{width:auto;line-height:1.25}
  .tt-day tbody th small{font-size:13px;margin-top:0}
  .tt-day td b{font-weight:700}
}
@media (max-width:640px){
  .visit-hours,.visit-loc,#hours .hours-board{padding-left:14px;padding-right:14px}
  .tt-day thead th:nth-child(1){width:14%}
  .tt-day thead th:nth-child(2){width:38%}
  .tt-day thead th:nth-child(3){width:26%}
  .tt-day thead th:nth-child(4){width:22%}
}

/* 챗봇: 오른쪽 하단 작은 창 + 고딕체만 */
.cb,.cb *{font-family:var(--sans)!important}
.cb-title{font-size:16px;font-weight:800}
.cb-tel{font-size:18px;font-weight:800}
.cb-panel{width:320px;max-height:min(480px,calc(100vh - 160px));border-radius:16px}
.cb-head{padding:14px 16px}
.cb-body{padding:14px 12px 6px;min-height:120px}
.cb-msg{padding:9px 12px}
.cb-chips{max-height:132px;padding:10px 12px 12px}
@media (max-width:1023px){
  .cb-panel{position:absolute;left:auto;right:0;bottom:0;width:min(300px,calc(100vw - 28px));max-height:min(440px,calc(100vh - 230px))}
  .cb-title{font-size:16px}
}

/* ==========================================================
   정리: 불필요한 선 · 과한 여백 제거
   ========================================================== */
.section{padding:110px 0}
@media (max-width:1023px){.section{padding:64px 0}}
.trust-points,.trust-points li,.trust-points li+li,.trust-points li:nth-child(even){border:0!important}
#notice-home .board-mini li a{border:0!important}
.footer-top{border-bottom:0}
.event-strip{border-bottom:0}
.visit-loc .map-static{border:0}
.eyebrow::before,.sec-head.center .eyebrow::after,.ops-card .tag::after{display:none}
@media (max-width:1023px){
  .stats li,.stats li+li{border-bottom:0;padding:12px 0}
  .footer-info span{display:inline-block;margin-right:12px}
  .footer-info span+span::before{display:none!important}
}

/* ==========================================================
   자주 묻는 질문 — 흰색 · 네이비 · 검정
   ========================================================== */
.cb-fab{background:var(--navy);box-shadow:0 10px 28px rgba(0,0,0,.28)}
.cb-fab:hover{background:#111;transform:translateY(-2px)}
.cb-panel{width:400px;height:min(640px,calc(100vh - 120px));max-height:none;border-radius:14px;background:#fff;
  border:1px solid rgba(0,0,0,.08);box-shadow:0 24px 60px rgba(0,0,0,.28)}
.cb-head{padding:18px 20px;background:var(--navy)}
.cb-title{font-size:17px;font-weight:800;color:#fff}
.cb-sub{font-size:13px;color:rgba(255,255,255,.7)}
.cb-body{background:#fff;padding:20px 18px 12px;gap:12px;min-height:0;overscroll-behavior:contain;scrollbar-width:thin}
.cb-msg{max-width:90%;padding:12px 15px;font-size:15px;line-height:1.7;border-radius:12px}
.cb-msg.bot{background:#F2F3F5;color:#111;border:0;border-top-left-radius:4px}
.cb-msg.me{background:var(--navy);color:#fff;border-top-right-radius:4px}
.cb-msg a{color:var(--navy)}
.cb-msg small{color:#6B7280}
.cb-list b{color:#111}
.cb-tel{color:var(--navy)}
.cb-chips{flex-shrink:0;max-height:38%;padding:14px 16px 16px;gap:8px;border-top:1px solid #E5E7EB;background:#fff;overscroll-behavior:contain}
.cb-chips-label{width:100%;margin-bottom:2px;font-size:13px;font-weight:700;color:#111}
.cb-chip{padding:9px 14px;border:1px solid #D4D7DD;color:#111;font-size:14px;font-weight:600;background:#fff}
.cb-chip:hover{border-color:var(--navy);background:var(--navy);color:#fff}
.cb-chip.last{border-color:var(--navy);color:var(--navy)}
.cb-chip.last:hover{background:var(--navy);color:#fff}
@media (max-width:1023px){
  .cb-panel{position:fixed;left:12px;right:12px;width:auto;
    top:calc(var(--header-h) + 12px);bottom:calc(76px + env(safe-area-inset-bottom));height:auto;max-height:none}
  .cb-title{font-size:17px}
  .cb-sub,.cb-msg,.cb-chip,.cb-msg small,.cb-chips-label{font-size:16px}
  .cb-chips{max-height:42%}
}

/* ==========================================================
   움직임 줄이기 + 메인 사진 조금 더 어둡게
   ========================================================== */
.hero-bg img{animation:none;transform:none;filter:brightness(.82)}
.hero-scroll::after{animation:none}
.reveal-up{transform:translateY(10px);animation:revealUp .6s ease-out forwards}
.d1{animation-delay:0s}.d2{animation-delay:.08s}.d3{animation-delay:.16s}.d4{animation-delay:.24s}
.rv{transform:translateY(14px);transition:opacity .6s ease-out,transform .6s ease-out}
.rv.d1,.rv.d2,.rv.d3{transition-delay:0s}
.header.is-solid,.header.is-light{backdrop-filter:none;-webkit-backdrop-filter:none}
.hero-cta .btn-white .arrow{margin-left:6px}
@media (max-width:1023px){
  /* 모바일: 등장 애니메이션 없이 바로 표시, 흐림 효과 가볍게 */
  .reveal-up,.rv{opacity:1!important;transform:none!important;animation:none!important;transition:none!important}
  .event-card,.visit-loc,.visit-hours,.hours-board,.ops-card,#notice-home .board-mini,.sp figcaption,.cta-band .btn-ghost,.btn-ghost{
    -webkit-backdrop-filter:blur(8px)!important;backdrop-filter:blur(8px)!important}
}
/* 챗봇: 질문 목록은 대화 안에, 하단은 한 줄 가로 스크롤 */
.cb-qlist{display:flex;flex-direction:column;margin-top:12px;border-top:1px solid #DCDFE4}
.cb-q{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:11px 2px;border-bottom:1px solid #DCDFE4;
  text-align:left;font-size:15px;font-weight:600;color:#111;background:none}
.cb-q::after{content:"";width:6px;height:6px;border-right:1.5px solid currentColor;border-top:1.5px solid currentColor;transform:rotate(45deg);flex-shrink:0;opacity:.5}
.cb-q:hover{color:var(--navy)}
.cb-q:hover::after{opacity:1}
.cb-msg.bot:has(.cb-qlist){max-width:100%;width:100%}
.cb-chips{flex-wrap:nowrap;overflow-x:auto;overflow-y:hidden;max-height:none!important;padding:12px 16px;scrollbar-width:none}
.cb-chips::-webkit-scrollbar{display:none}
.cb-chip{flex-shrink:0;white-space:nowrap}
@media (max-width:1023px){.cb-q{font-size:16px;padding:12px 2px}}

/* 모바일 하단바: 얇게 + 진회색 · 흰색 */
@media (max-width:1023px){
  .mbar{background:#1E1F22;border-top:0;box-shadow:0 -4px 16px rgba(0,0,0,.18)}
  .mbar a{height:52px;font-size:16px;font-weight:600;color:#fff;gap:6px;background:none}
  .mbar a+a{border-left:1px solid rgba(255,255,255,.12)}
  .mbar a.primary{background:#2C2D31;color:#fff}
  .mbar a svg,.mbar a .ic-phone{width:18px;height:18px}
  .footer{padding-bottom:calc(64px + env(safe-area-inset-bottom))}
}
/* 진료 안내: 진료 카드 하나만 → 시간표와 같은 폭 */
#hours .ops-single{grid-template-columns:1fr}
@media (min-width:1024px){
  #hours .ops-single .ops-card{display:grid;grid-template-columns:1fr auto;column-gap:40px;align-items:center}
  #hours .ops-single .ops-card>*{grid-column:1}
  #hours .ops-single .ops-card .btn{grid-column:2;grid-row:1 / span 3;margin-top:0;align-self:center}
}
@media (min-width:1024px){
  #hours .ops-single .ops-card .btn{grid-row:1 / 4!important;margin:0!important;align-self:center!important}
}
/* 모바일 하단바: 밝게 — 흰 바탕 + 진회색 */
@media (max-width:1023px){
  .mbar{background:#fff;border-top:1px solid #E4E5E8;box-shadow:0 -4px 14px rgba(0,0,0,.06)}
  .mbar a{color:#2B2C30}
  .mbar a+a{border-left:1px solid #ECEDEF}
  .mbar a.primary{background:#3A3B40;color:#fff}
}
@media (min-width:1024px){
  #hours .ops-single .ops-card{padding:44px 52px!important;min-height:0!important}
  #hours .ops-single .ops-card p{margin-bottom:0}
}
/* 노트북 폭(1024~1199px): 홈 오시는 길 · 진료시간을 위아래로 → 시간표 깨짐 방지 */
@media (max-width:1199px){
  .visit-grid{grid-template-columns:1fr}
}

/* 사진 안내 문구: 작고 흐리게 */
.img-note{font-size:12px!important;opacity:.45;margin-top:12px!important;letter-spacing:-.01em}

/* 모바일 푸터: 작게 + | 구분 */
@media (max-width:1023px){
  .footer-info{font-size:12px;line-height:1.8}
  .footer-info p{margin:0 0 4px}
  .footer-info span{display:inline-block;margin-right:0;font-size:12px}
  .footer-info span+span::before{display:none!important}
  .footer-info p span:not(:last-child)::after{content:"|";margin:0 7px;color:rgba(255,255,255,.28)}
  .footer-info .copy{margin-top:10px;font-size:11px}
}
@media (max-width:1023px){
  .footer-info p:nth-child(2) span:nth-last-child(2)::after{display:none}
}
.img-note{filter:opacity(.45)}

/* 시간표 숫자 글씨체 통일: 모두 고딕(프리텐다드) + 고정폭 숫자 */
.tt td,.tt td *{font-family:var(--sans)!important;font-variant-numeric:tabular-nums;letter-spacing:-.01em}
.tt-week td b,.tt-week td strong{font-weight:600}

/* [시험] 전체 고딕체 — 되돌릴 땐 이 블록만 지우면 됨 */
:root{--serif:var(--sans);--en:var(--sans)}
/* 고딕은 명조보다 굵어 보여서 제목 굵기·자간을 살짝 조정 */
h1,h2,h3,.hero-title,.sec-title,.sub-hero h1,.visit-title{font-weight:700;letter-spacing:-.035em}
/* [시험 끝] */

/* 메인 제목: 고운바탕 · 흰색 */
.hero-title.hand{font-family:"Nanum Myeongjo",serif!important;font-weight:700!important;font-size:clamp(36px,3.4vw,52px);line-height:1.32;letter-spacing:-.02em;color:#fff;filter:none}
@media (max-width:1023px){
  .hero-title.hand{font-size:clamp(28px,8vw,34px);line-height:1.32}
  /* 모바일: 사진 전체를 더 어둡게 */
  .hero::after{background:linear-gradient(0deg,rgba(14,11,8,.92) 0%,rgba(14,11,8,.8) 40%,rgba(14,11,8,.62) 70%,rgba(14,11,8,.62) 100%)}
}

/* 나눔명조 포인트: 강조할 곳에만 */
.sub-hero h1,
.trust-title,
.doc-title h2,.doctor-name h3,
.doc-msg,.doctor-msg,
.stats strong,
.greet-text .sec-title{font-family:"Nanum Myeongjo",serif!important}
.sub-hero h1,.trust-title,.greet-text .sec-title{font-weight:800!important;letter-spacing:-.02em}
.doc-title h2,.doctor-name h3{font-weight:800!important;letter-spacing:.02em}
.doc-msg,.doctor-msg{font-weight:700!important;letter-spacing:-.01em}
.stats strong{font-weight:800!important}
.stats strong small{font-family:var(--sans)}

/* 모바일 의료진: 사진(왼쪽) + 이름·직함·인사(오른쪽), 경력·약력은 아래 전체 폭 */
@media (max-width:1023px){
  .wrap.doc-feature,.doctor{display:grid;grid-template-columns:40% 1fr;grid-template-rows:auto auto 1fr auto auto;column-gap:18px;row-gap:0;align-items:start}
  .doc-feature>div:not(.img-doctor),.doctor>div:not(.img-doctor){display:contents}
  .doc-feature .img-doctor,.doctor .img-doctor{grid-column:1;grid-row:1 / 4;max-width:none;width:100%;aspect-ratio:3/4;align-self:stretch}
  .doc-title,.doc-role,.doc-msg,.doctor-name,.doctor .sec-desc,.doctor-msg{grid-column:2;min-width:0}
  .doc-title,.doctor-name{flex-direction:column;align-items:flex-start;gap:4px}
  .doc-title h2,.doctor-name h3{font-size:30px;line-height:1.15}
  .doc-title span,.doctor-name span{font-size:16px}
  .doc-role,.doctor .sec-desc{margin-top:8px!important;font-size:16px;line-height:1.5}
  .doc-msg,.doctor-msg{margin-top:14px;font-size:16px;line-height:1.65}
  .doc-msg br,.doctor-msg br{display:none}
  .doc-feature .stats,.doc-feature .link-more,.doctor .career{grid-column:1 / -1}
  .doc-feature .stats{margin-top:28px}
  .doc-feature .link-more{justify-self:start;margin-top:24px}
  .doctor .career{margin-top:32px!important}
}

/* 레이저 사진: 기기가 보이도록 위쪽 기준으로 자르기 */
img[src*="care-laser-skin"]{object-position:50% 6%!important}

/* 모바일: 사진·버튼 크기 줄이기 */
@media (max-width:1023px){
  .btn{height:46px}
  .hero-cta{flex-direction:row}
  .hero-cta .btn{width:auto!important;flex:none!important;height:46px;padding:0 20px}
  .loc-btn{height:46px}
  .cat-card .cat-img,.cat-card:not(.wide) .cat-img{height:160px}
  .cat-card>div:not(.cat-img){padding:122px 20px 22px}
  .aes-card{aspect-ratio:1/1}
}
@media (max-width:1023px){
  .cat-card,.cat-card.wide{min-height:0!important}
  .cat-card::after,.cat-card.wide::after{height:160px!important}
}
@media (max-width:1023px){
  .cat-card::after,.cat-card.wide::after{inset:0 0 auto 0!important;background:linear-gradient(180deg,rgba(20,20,20,0) 35%,rgba(20,20,20,1) 100%)!important}
}

/* 모바일 메뉴 줄: 가로로만 스크롤 (세로·대각선 움직임 막기) */
.gnb,.subnav ul{overflow-x:auto;overflow-y:hidden!important;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch}
/* 공지 띠: 문구가 잘리지 않게 캐릭터를 조금 줄임 */
@media (max-width:1023px){
  .event-strip{gap:0 10px;padding:0 16px 0 20px}
  .es-char{height:50px!important;margin:0 4px -8px 0!important}
  .es-text b{text-overflow:clip}
}
@media (max-width:374px){ .es-char{display:none} }

/* 사진 부드럽게 나타나기 */
.fade-ready main img{transition:opacity .8s ease,transform .8s var(--ease)!important}
.fade-ready main img:not(.is-loaded){opacity:0}
@media (prefers-reduced-motion:reduce){.fade-ready main img:not(.is-loaded){opacity:1}}

/* 모바일·터치: 사진 확대 효과 끄기 + 흐림(블러) 효과 빼서 스크롤 가볍게 */
@media (hover:none),(max-width:1023px){
  main img,.aes-item .ph,.aes-item .thumb{transform:none!important}
  .fade-ready main img{transition:opacity .8s ease!important}
}
@media (max-width:1023px){
  .event-card,.visit-loc,.visit-hours,#hours .hours-board,#hours .ops-card,#reserve .ops-card,#notice-home .board-mini,.ops-card,.sp figcaption,.btn-ghost,.cta-band .btn-ghost{
    -webkit-backdrop-filter:none!important;backdrop-filter:none!important}
  .visit-loc,.visit-hours,#hours .hours-board,#hours .ops-card,#hours .ops-card.navy,#reserve .ops-card,#reserve .ops-card.navy,#notice-home .board-mini{
    background:rgba(26,24,22,.55)!important}
}
/* 메인 높이: JS가 정한 고정값 사용 (없으면 100svh) */
.hero{height:var(--hero-h,100svh)}

/* 인증 섹션: 화사하게 — 어두운 막은 글씨 있는 왼쪽·아래만 */
.trust-hero::after{background:
  linear-gradient(90deg,rgba(14,14,14,.72) 0%,rgba(20,20,20,.4) 36%,rgba(20,20,20,0) 62%),
  linear-gradient(0deg,rgba(14,14,14,.7) 0%,rgba(14,14,14,0) 38%)}
@media (max-width:1023px){
  .trust-hero::after{background:linear-gradient(0deg,rgba(20,20,20,1) 0%,rgba(20,20,20,.6) 28%,rgba(20,20,20,0) 55%)}
}
@media (min-width:1024px){
  .trust-title,.trust-sub,.trust-points b,.trust-points span{text-shadow:0 1px 14px rgba(0,0,0,.55),0 1px 3px rgba(0,0,0,.35)}
}

/* 홈 오시는 길: 주차 안내 한 줄 */
.visit-park{margin-top:6px;font-size:15px;font-weight:500;color:rgba(255,255,255,.82)}
@media (max-width:1023px){.visit-park{font-size:16px}}

/* 간판형 로고 (빨간 네모 + 서피부과의원) */
.logo img{height:44px}
.footer-top img{height:46px}
@media (max-width:1023px){
  .logo img{height:32px}
  .footer-top img{height:34px}
}
#reserve .ops-card .btn{margin-top:34px!important}
.logo img{height:46px}
@media (max-width:1023px){.logo img{height:34px}}

/* 태블릿·좁은 창(600~1023px): 사진이 화면을 가득 채우지 않게 */
@media (min-width:600px) and (max-width:1023px){
  .aes-card{aspect-ratio:2/1}
  .aes-card::after{background:linear-gradient(90deg,rgba(14,14,14,.88) 0%,rgba(14,14,14,.55) 45%,rgba(14,14,14,.05) 80%)}
  .aes-card-body{top:0;right:auto;width:62%;display:flex;flex-direction:column;justify-content:center;padding:28px 32px}
  .aes-list{grid-auto-columns:44%}
  .care-grid{grid-template-columns:repeat(4,1fr)!important}
  .sp-main{grid-column:1/-1;aspect-ratio:16/9}
}

/* 모바일 진료 카드: 사진이 카드 전체를 덮고, 아래로 갈수록 반투명하게 (완전 검정 X) */
@media (max-width:1023px){
  .cat-card,.cat-card.wide{background:#2a2622}
  .cat-card .cat-img,.cat-card:not(.wide) .cat-img{inset:0!important;height:auto!important}
  .cat-card::after,.cat-card.wide::after{inset:0!important;height:auto!important;
    background:linear-gradient(180deg,rgba(20,20,20,0) 25%,rgba(20,20,20,.55) 55%,rgba(20,20,20,.76) 100%)!important}
  .cat-card h3,.cat-card .lead,.cat-card .chips span{text-shadow:0 1px 8px rgba(0,0,0,.35)}
}

/* 공지 띠 캐릭터 키움 */
@media (max-width:1023px){
  .event-strip{height:84px;min-height:84px}
  .es-char{height:72px!important;margin:0 4px -10px 0!important}
}
@media (min-width:600px) and (max-width:1023px){
  .event-strip{height:96px;min-height:96px}
  .es-char{height:90px!important;margin:0 10px -12px 0!important}
}
@media (max-width:419px){
  .es-char{height:60px!important;margin:0 2px -8px 0!important}
}

/* 진료 과정 배경: 잎 사진 → 벽 그림자 사진, 흰 막 얇게 */
#process{background:var(--ivory) url(../img/nat-wall.webp?v=2) 70% 50%/cover no-repeat}
#process::before{background:linear-gradient(90deg,rgba(247,244,239,.82) 0%,rgba(247,244,239,.6) 55%,rgba(247,244,239,.25) 100%)}
@media (max-width:1023px){
  #process{background-position:80% 50%}
  #process::before{background:rgba(247,244,239,.7)}
}
