/* ============================================================
   전대서한의원 — style.css v3 통합
   ============================================================ */

/* ─── 변수 ──────────────────────────────────────────────── */
:root {
  --navy:       #0F4A6E;
  --navy-deep:  #083350;
  --sky:        #38BDF8;
  --sky-light:  #E0F2FE;
  --coral:      #EF4444;
  --coral-light:#FEE2E2;
  --amber:      #F59E0B;
  --amber-light:#FEF3C7;
  --emerald:    #10B981;
  --emerald-light:#D1FAE5;
  --purple:     #8B5CF6;
  --purple-light:#F5F3FF;
  --pink:       #EC4899;
  --pink-light: #FCE7F3;
  --text-dark:  #0F172A;
  --text-mid:   #334155;
  --text-soft:  #64748B;
  --bg-page:    #F0F4F8;
  --bg-white:   #FFFFFF;
  --shadow-sm:  0 2px 8px rgba(15,74,110,0.08);
  --shadow-md:  0 4px 20px rgba(15,74,110,0.12);
  --shadow-lg:  0 8px 40px rgba(15,74,110,0.16);
  --r-sm: 8px; --r-md: 16px; --r-lg: 24px; --r-full: 9999px;
  --font: 'Pretendard Variable','Pretendard',-apple-system,sans-serif;
}

/* ─── 리셋 ──────────────────────────────────────────────── */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{font-size:16px;scroll-behavior:smooth}
body{font-family:var(--font);color:var(--text-dark);background:var(--bg-page);overflow-x:hidden;line-height:1.7}
img,video{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
ul,ol{list-style:none}
button{cursor:pointer;border:none;background:none;font-family:inherit}
input,select,textarea{font-family:inherit}

/* ─── 레이아웃 유틸 ─────────────────────────────────────── */
.container{max-width:1280px;margin:0 auto;padding:0 clamp(20px,5vw,64px)}
.section-label{display:inline-flex;align-items:center;gap:8px;font-size:13px;font-weight:700;color:var(--navy);letter-spacing:.08em;text-transform:uppercase;margin-bottom:12px}
.section-label::before{content:'';width:22px;height:2px;background:var(--navy);border-radius:2px}
.section-title{font-size:clamp(28px,3.5vw,44px);font-weight:800;color:var(--text-dark);letter-spacing:-.025em;line-height:1.22;margin-bottom:40px}
.title-em{color:var(--navy)}
.section-head{display:flex;align-items:flex-end;justify-content:space-between;flex-wrap:wrap;gap:16px;margin-bottom:36px}
.section-head .section-title{margin-bottom:0}
.view-all-btn{padding:11px 22px;border-radius:var(--r-full);border:1.5px solid var(--navy);font-size:14px;font-weight:700;color:var(--navy);transition:.2s;white-space:nowrap}
.view-all-btn:hover{background:var(--navy);color:#fff}

.fade-up{opacity:0;transform:translateY(28px);transition:opacity .6s,transform .6s}
.fade-up.visible{opacity:1;transform:translateY(0)}

/* ─── 헤더 ──────────────────────────────────────────────── */
#site-header{position:sticky;top:0;z-index:1000;background:#fff;box-shadow:0 1px 0 rgba(15,74,110,.08)}
.header-wrap{border-bottom:1px solid #E2EAF0;padding:14px 0}
.hd-inner{display:flex;align-items:center;justify-content:space-between;gap:20px}

/* 로고 */
.logo-block{display:flex;flex-direction:column;align-items:center;gap:6px;text-decoration:none}
.logo-mark{width:64px;height:64px;flex-shrink:0}
.logo-mark svg{width:64px;height:64px}
.logo-text-block{display:flex;flex-direction:column;align-items:center;gap:2px}
.logo-ko{font-size:20px;font-weight:900;color:var(--text-dark);letter-spacing:-.03em;line-height:1}
.logo-ko em{color:var(--navy);font-style:normal}
.logo-en{font-size:10px;font-weight:500;color:var(--text-soft);letter-spacing:.04em;line-height:1}

.hd-search{flex:0 0 300px;position:relative}
.hd-search input{width:100%;padding:10px 40px 10px 18px;border:1.5px solid #CBD8E8;border-radius:var(--r-full);font-size:14px;background:#F8FAFC;outline:none;transition:.2s}
.hd-search input:focus{border-color:var(--navy)}
.hd-search button{position:absolute;right:12px;top:50%;transform:translateY(-50%);color:var(--text-soft)}
.hd-search button svg{width:16px;height:16px}
.hd-right{display:flex;align-items:center;gap:20px}
.hd-utils{display:flex;gap:14px}
.hd-utils a{font-size:13px;color:var(--text-soft);font-weight:500;transition:.2s}
.hd-utils a:hover{color:var(--navy)}
.hd-phone{display:flex;align-items:center;gap:7px;font-size:18px;font-weight:900;color:var(--navy);letter-spacing:-.02em}
.hd-phone svg{width:18px;height:18px}

/* GNB */
.gnb-wrap{background:#fff}
.gnb-inner{display:flex;align-items:center}
.gnb-ham{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:600;color:var(--text-mid);padding:14px 16px 14px 0}
.gnb-ham svg{width:20px;height:20px}
.gnb-list{display:flex;flex:1}
.gnb-list a{display:flex;align-items:center;padding:15px 16px;font-size:14px;font-weight:600;color:var(--text-dark);transition:.2s;white-space:nowrap}
.gnb-list a:hover,.gnb-list a.active{color:var(--navy)}
.gnb-highlight{color:var(--navy)!important;font-weight:700!important}
.gnb-divider{width:1px;height:16px;background:#CBD8E8;margin:auto 8px;align-self:center}
.gnb-sub a{font-size:13px;color:var(--text-soft)}
.has-drop{position:relative}
.drop{display:none;position:absolute;top:100%;left:0;min-width:200px;background:#fff;border-radius:0 0 var(--r-md) var(--r-md);box-shadow:var(--shadow-lg);padding:12px 0;z-index:999;border-top:2px solid var(--navy)}
.has-drop:hover .drop{display:block}
.drop a{display:block;padding:9px 22px;font-size:13px;font-weight:500;color:var(--text-mid);transition:.15s}
.drop a:hover{color:var(--navy);background:#F0F8FF;padding-left:28px}

/* ─── 히어로 ────────────────────────────────────────────── */
.hero-section{overflow:hidden;position:relative}
.hero-slider{width:100%;overflow:hidden}
.hero-track{display:flex;transition:transform .65s cubic-bezier(.4,0,.2,1)}
.hero-slide{flex:0 0 100%;width:100%;min-height:580px;display:flex;align-items:center;position:relative}

/* Slide 1 — 짙은 네이비 다크 */
.s1-pain{background:linear-gradient(135deg,#0A2540 0%,#0F4A6E 50%,#1A5F8A 100%);overflow:hidden}
.s1-bg-pattern{position:absolute;inset:0;background-image:radial-gradient(circle at 20% 50%,rgba(56,189,248,.08) 0%,transparent 50%),radial-gradient(circle at 80% 20%,rgba(56,189,248,.06) 0%,transparent 40%)}
.s1-inner{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:60px;padding:80px clamp(20px,5vw,64px);position:relative;z-index:2;width:100%;max-width:1280px;margin:0 auto}
.s1-category-tag{display:inline-flex;align-items:center;gap:8px;background:rgba(56,189,248,.2);border:1px solid rgba(56,189,248,.35);color:#7DD3FC;font-size:13px;font-weight:700;letter-spacing:.06em;padding:6px 16px;border-radius:var(--r-full);margin-bottom:20px}
.s1-category-tag svg{width:14px;height:14px;stroke:#7DD3FC}
.s1-title{font-size:clamp(38px,4.5vw,62px);font-weight:900;color:#fff;line-height:1.15;letter-spacing:-.03em;margin-bottom:18px}
.s1-title-em{color:#38BDF8}
.s1-desc{font-size:17px;color:rgba(255,255,255,.72);line-height:1.75;margin-bottom:24px}
.s1-pills{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:28px}
.pill-coral{background:#EF4444;color:#fff;padding:8px 18px;border-radius:var(--r-full);font-size:14px;font-weight:700}
.pill-sky{background:#0EA5E9;color:#fff;padding:8px 18px;border-radius:var(--r-full);font-size:14px;font-weight:700}
.pill-mint{background:#10B981;color:#fff;padding:8px 18px;border-radius:var(--r-full);font-size:14px;font-weight:700}
.s1-btns{display:flex;gap:12px;flex-wrap:wrap}
.btn-solid-white{display:inline-flex;align-items:center;padding:16px 32px;background:#fff;color:var(--navy);border-radius:var(--r-full);font-size:16px;font-weight:700;box-shadow:0 4px 14px rgba(0,0,0,.2);transition:.2s}
.btn-solid-white:hover{background:#E0F2FE;transform:translateY(-1px)}
.btn-ghost-white{display:inline-flex;align-items:center;padding:16px 32px;background:rgba(255,255,255,.12);color:#fff;border:1.5px solid rgba(255,255,255,.4);border-radius:var(--r-full);font-size:16px;font-weight:700;transition:.2s;backdrop-filter:blur(4px)}
.btn-ghost-white:hover{background:rgba(255,255,255,.2)}
.s1-visual{position:relative;display:flex;align-items:center;justify-content:center}
.s1-img-tilt{width:100%;max-width:480px;height:400px;border-radius:20px;overflow:hidden;box-shadow:0 20px 60px rgba(0,0,0,.35);transform:rotate(2deg);transition:.4s}
.s1-img-tilt:hover{transform:rotate(0)}
.s1-img-tilt img{width:100%;height:100%;object-fit:cover}
.s1-float-card{position:absolute;background:#fff;border-radius:var(--r-md);padding:10px 16px;display:flex;align-items:center;gap:8px;box-shadow:var(--shadow-lg);font-size:13px;font-weight:700;color:var(--navy);white-space:nowrap}
.s1-float-card svg{width:16px;height:16px}
.s1-fc-top{top:8%;right:-10px}
.s1-fc-bot{bottom:10%;left:-10px}

/* Slide 2 — 공진단 골드 */
.s2-gong{background:linear-gradient(135deg,#1A0A00 0%,#3D1F00 50%,#5C2E00 100%)}
.s2-inner{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:60px;padding:80px clamp(20px,5vw,64px);width:100%;max-width:1280px;margin:0 auto}
.s2-visual{position:relative;display:flex;align-items:center;justify-content:center;height:420px}
.s2-circle-wrap{position:relative;width:320px;height:320px}
.s2-circle-deco{position:absolute;border-radius:50%;border:1px dashed rgba(201,162,39,.4);animation:s2-spin 20s linear infinite}
.s2-cd-outer{inset:-30px}
.s2-cd-mid{inset:-15px;border-color:rgba(201,162,39,.25);animation-duration:15s;animation-direction:reverse}
@keyframes s2-spin{to{transform:rotate(360deg)}}
.s2-circle-img{width:320px;height:320px;border-radius:50%;overflow:hidden;border:4px solid rgba(201,162,39,.3);box-shadow:0 0 60px rgba(201,162,39,.25)}
.s2-circle-img img{width:100%;height:100%;object-fit:cover}
.s2-ingr-badges{position:absolute;inset:0;pointer-events:none}
.s2-ib{position:absolute;background:rgba(255,255,255,.1);border:1px solid rgba(201,162,39,.4);border-radius:var(--r-full);padding:6px 14px;font-size:13px;font-weight:600;color:#F5D87B;backdrop-filter:blur(4px)}
.s2-premium-tag{display:inline-flex;align-items:center;gap:7px;background:rgba(201,162,39,.15);border:1px solid rgba(201,162,39,.4);color:#C9A227;font-size:12px;font-weight:700;letter-spacing:.08em;padding:6px 16px;border-radius:var(--r-full);margin-bottom:20px}
.s2-title{font-size:clamp(36px,4vw,58px);font-weight:900;color:#fff;line-height:1.2;letter-spacing:-.025em;margin-bottom:18px}
.s2-title em{font-style:normal;color:#F5D87B}
.s2-desc{font-size:16px;color:rgba(255,255,255,.65);line-height:1.75;margin-bottom:24px}
.s2-spec-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:28px}
.s2-spec-item{background:rgba(255,255,255,.06);border:1px solid rgba(201,162,39,.2);border-radius:var(--r-md);padding:14px 12px;text-align:center}
.s2-spec-item strong{display:block;font-size:12px;color:rgba(255,255,255,.5);margin-bottom:4px}
.s2-spec-item span{font-size:13px;font-weight:600;color:#F5D87B}
.s2-btn{display:inline-flex;align-items:center;padding:16px 32px;background:#C9A227;color:#fff;border-radius:var(--r-full);font-size:16px;font-weight:700;box-shadow:0 4px 18px rgba(201,162,39,.4);transition:.2s}
.s2-btn:hover{background:#A8841A;transform:translateY(-1px)}

/* Slide 4 — 여성 클리닉 풀블리드 */
.s4-women{min-height:600px}
.s4-bg{position:absolute;inset:0}
.s4-bg img{width:100%;height:100%;object-fit:cover;object-position:center 30%}
.s4-overlay{position:absolute;inset:0;background:linear-gradient(110deg,rgba(80,0,60,.88) 0%,rgba(120,20,90,.6) 50%,rgba(80,0,60,.2) 100%)}
.s4-inner{display:grid;grid-template-columns:600px 1fr;align-items:center;gap:40px;padding:80px clamp(20px,5vw,64px);position:relative;z-index:2;width:100%;max-width:1280px;margin:0 auto}
.s4-tags{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:16px}
.s4-tags span{background:rgba(255,255,255,.15);border:1px solid rgba(255,255,255,.3);color:#fff;font-size:13px;font-weight:600;padding:5px 14px;border-radius:var(--r-full);backdrop-filter:blur(4px)}
.s4-title{font-size:clamp(36px,4vw,56px);font-weight:900;color:#fff;line-height:1.2;letter-spacing:-.025em;margin-bottom:16px}
.s4-title em{font-style:normal;color:#FDA7C4}
.s4-desc{font-size:16px;color:rgba(255,255,255,.75);line-height:1.75;margin-bottom:28px}
.s4-icon-row{display:flex;gap:16px;flex-wrap:wrap;margin-bottom:28px}
.s4-icon-item{display:flex;flex-direction:column;align-items:center;gap:8px}
.s4-icon-circle{width:52px;height:52px;border-radius:50%;display:flex;align-items:center;justify-content:center}
.s4-icon-circle svg{width:24px;height:24px}
.s4-icon-item span{font-size:12px;font-weight:600;color:rgba(255,255,255,.8)}
.s4-btns{display:flex;gap:12px;flex-wrap:wrap}
.s4-btn-main{display:inline-flex;align-items:center;padding:16px 32px;background:#fff;color:#7C0052;border-radius:var(--r-full);font-size:16px;font-weight:700;transition:.2s}
.s4-btn-main:hover{background:#FCE7F3;transform:translateY(-1px)}
.s4-btn-ghost{display:inline-flex;align-items:center;padding:16px 32px;background:rgba(255,255,255,.15);color:#fff;border:1.5px solid rgba(255,255,255,.4);border-radius:var(--r-full);font-size:16px;font-weight:700;transition:.2s;backdrop-filter:blur(4px)}
.s4-btn-ghost:hover{background:rgba(255,255,255,.25)}

/* Slide 5 — 한방입원실 스플릿 */
.s5-inpatient{background:linear-gradient(135deg,#F0F9FF 0%,#E0F2FE 100%)}
.s5-inner{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:60px;padding:48px clamp(20px,5vw,64px);width:100%;max-width:1280px;margin:0 auto;height:100%}
.s5-visual{position:relative}
.s5-img-frame{width:100%;height:440px;border-radius:var(--r-lg);overflow:hidden;box-shadow:var(--shadow-lg)}
.s5-img-frame img{width:100%;height:100%;object-fit:cover}
.s5-img-tag{position:absolute;bottom:16px;left:16px;background:rgba(255,255,255,.92);color:var(--navy);font-size:13px;font-weight:700;padding:7px 16px;border-radius:var(--r-full);box-shadow:var(--shadow-sm)}
.s5-category{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:700;color:var(--navy);letter-spacing:.04em;text-transform:uppercase;margin-bottom:16px}
.s5-category svg{width:18px;height:18px}
.s5-title{font-size:clamp(36px,4vw,54px);font-weight:900;color:var(--text-dark);line-height:1.2;letter-spacing:-.025em;margin-bottom:28px}
.s5-title-em{color:var(--navy)}
.s5-checklist{display:flex;flex-direction:column;gap:14px;margin-bottom:28px}
.s5-check-item{display:flex;align-items:flex-start;gap:12px;font-size:15px}
.s5-check-icon{width:32px;height:32px;border-radius:var(--r-sm);display:flex;align-items:center;justify-content:center;flex-shrink:0}
.s5-check-icon svg{width:16px;height:16px}
.s5-check-item strong{font-weight:700;color:var(--text-dark)}
.s5-check-item span{color:var(--text-soft)}
.s5-btn{display:inline-flex;align-items:center;padding:16px 32px;background:var(--navy);color:#fff;border-radius:var(--r-full);font-size:16px;font-weight:700;box-shadow:0 4px 16px rgba(15,74,110,.3);transition:.2s}
.s5-btn:hover{background:var(--navy-deep);transform:translateY(-1px)}

/* Hero Controls */
.hero-controls{display:flex;align-items:center;justify-content:center;gap:14px;padding:20px 0 28px;background:#fff}
.hero-dots{display:flex;gap:6px}
.hero-dot{width:8px;height:8px;border-radius:50%;background:#CBD8E8;cursor:pointer;border:none;transition:.25s}
.hero-dot.active{width:26px;border-radius:4px;background:var(--navy)}
.hc-btn{width:36px;height:36px;border-radius:50%;background:#fff;border:1.5px solid #CBD8E8;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:.2s}
.hc-btn:hover{background:var(--navy);border-color:var(--navy)}
.hc-btn:hover svg{stroke:#fff}
.hc-btn svg{width:15px;height:15px;stroke:var(--text-soft);fill:none;stroke-width:2.5}
.hc-pause{width:36px;height:36px;border-radius:50%;background:#fff;border:1.5px solid #CBD8E8;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:.2s}

/* ─── 퀵 액션 ───────────────────────────────────────────── */
.quick-section{background:#fff;border-bottom:1px solid #E2EAF0}
.quick-grid{display:grid;grid-template-columns:repeat(3,1fr)}
.quick-col{padding:36px 32px}
.quick-col+.quick-col{border-left:1px solid #E2EAF0}
.quick-title{display:flex;align-items:center;gap:10px;font-size:17px;font-weight:700;color:var(--text-dark);margin-bottom:18px}
.qtitle-icon{width:34px;height:34px;border-radius:var(--r-sm);display:flex;align-items:center;justify-content:center;flex-shrink:0}
.qtitle-icon svg{width:18px;height:18px}
.hours-list{display:flex;flex-direction:column;gap:8px}
.hours-row{display:flex;align-items:center;justify-content:space-between;padding:9px 14px;background:#F8FAFC;border-radius:var(--r-sm)}
.hr-day{font-size:14px;font-weight:700;color:var(--text-dark);min-width:60px}
.hr-time{font-size:14px;font-weight:500;color:var(--text-mid)}
.hr-time em{font-style:normal;font-size:11px;font-weight:700;color:var(--coral);background:var(--coral-light);padding:2px 7px;border-radius:99px;margin-left:6px}
.hours-special{background:#FFF7ED}
.hours-off{background:#F8FAFC;opacity:.55}
.q-reserve-btn{display:flex;align-items:center;justify-content:center;margin-top:14px;padding:11px;background:var(--navy);color:#fff;border-radius:var(--r-full);font-size:14px;font-weight:700;transition:.2s}
.q-reserve-btn:hover{background:var(--navy-deep)}
.res-icon-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;text-align:center}
.ri-item{display:flex;flex-direction:column;align-items:center;gap:8px;cursor:pointer}
.ri-badge{width:56px;height:56px;border-radius:16px;display:flex;align-items:center;justify-content:center;margin:0 auto;box-shadow:0 4px 12px rgba(0,0,0,.12);transition:.2s}
.ri-badge:hover{transform:translateY(-3px);box-shadow:0 8px 20px rgba(0,0,0,.2)}
.ri-badge svg{width:26px;height:26px}
.kakao-btn{background:#FEE500!important}
.ri-item span{font-size:12px;font-weight:600;color:var(--text-soft)}

/* 후기 슬라이더 */
.review-slider-wrap{overflow:hidden;position:relative}
.review-track{display:flex;transition:transform .45s cubic-bezier(.4,0,.2,1)}
.review-slide{flex:0 0 100%}
.review-card{border-radius:var(--r-md);padding:22px 20px 18px;position:relative}
.rc-blue{background:#EFF6FF}
.rc-rose{background:#FFF1F2}
.rc-green{background:#F0FDF4}
.rc-quote{font-size:48px;color:rgba(0,0,0,.08);line-height:1;font-family:Georgia,serif;margin-bottom:-10px}
.review-card p{font-size:15px;color:var(--text-mid);line-height:1.75;margin-bottom:12px}
.rc-meta{display:flex;align-items:center;gap:8px}
.rc-stars{color:#FBBF24;font-size:13px}
.rc-meta span:last-child{font-size:12px;color:var(--text-soft);font-weight:600}
.review-nav{display:flex;align-items:center;justify-content:center;gap:10px;margin-top:12px}
.rv-prev,.rv-next{width:30px;height:30px;border-radius:50%;background:#F1F5F9;display:flex;align-items:center;justify-content:center;cursor:pointer;border:none;transition:.2s}
.rv-prev:hover,.rv-next:hover{background:var(--navy)}
.rv-prev:hover svg,.rv-next:hover svg{stroke:#fff}
.rv-prev svg,.rv-next svg{width:13px;height:13px;stroke:var(--text-soft);fill:none;stroke-width:2.5}
.rv-dots{display:flex;gap:5px}
.rv-dot{width:6px;height:6px;border-radius:50%;background:#CBD8E8;border:none;cursor:pointer;transition:.2s}
.rv-dot.active{background:var(--navy);width:18px;border-radius:3px}

/* ═══════════════════════════════════════════════════════════════════════
   ✦ SECTION 1 :: CLINIC FINDER — 진료과목 5카드 그리드
═══════════════════════════════════════════════════════════════════════ */
/* ══════════════════════════════════════════════════════════
   섹션 1 :: CLINIC FINDER — 클린 화이트 매거진 레이아웃
══════════════════════════════════════════════════════════ */
.clinic-section{
  padding:clamp(70px,8vw,100px) 0;
  background:#fff;
  position:relative;
}

/* ─── Head ─── */
.clinic-head{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:40px;
  flex-wrap:wrap;
  margin-bottom:44px;
  padding-bottom:24px;
  border-bottom:1px solid #E2EAF0;
}
.clinic-head-left{flex:1;min-width:280px}
.clinic-head-left .section-label{margin-bottom:14px}
.clinic-title{
  font-size:clamp(30px,3.6vw,46px);
  font-weight:900;
  color:var(--text-dark);
  line-height:1.2;
  letter-spacing:-0.03em;
  margin:0;
}
.clinic-title-em{
  color:var(--navy);
  position:relative;
  display:inline-block;
}
.clinic-title-em::after{
  content:'';
  position:absolute;
  left:-2px;right:-2px;
  bottom:4%;
  height:10px;
  background:rgba(56,189,248,0.25);
  z-index:-1;
  border-radius:3px;
}
.clinic-head-right{
  display:flex;
  flex-direction:column;
  align-items:flex-end;
  gap:14px;
  text-align:right;
}
.clinic-head-note{
  font-size:13px;
  color:var(--text-soft);
  line-height:1.7;
  margin:0;
}
.clinic-head-note strong{
  color:var(--text-dark);
  font-weight:800;
}
.clinic-allbtn{
  display:inline-flex;
  align-items:center;
  gap:10px;
  padding:12px 22px;
  border:1.5px solid var(--navy);
  border-radius:9999px;
  color:var(--navy);
  font-size:13px;
  font-weight:700;
  background:#fff;
  transition:all 0.25s;
  text-decoration:none;
}
.clinic-allbtn svg{
  width:15px;
  height:15px;
  transition:transform 0.25s;
}
.clinic-allbtn:hover{
  background:var(--navy);
  color:#fff;
}
.clinic-allbtn:hover svg{transform:translateX(4px)}

/* ─── Grid: 비대칭 (1.25fr : 1fr) ─── */
.clinic-grid{
  display:grid;
  grid-template-columns:1.25fr 1fr;
  gap:20px;
  align-items:stretch;
}

/* ══════════════════════════════════════════════════════════
   SIGNATURE 대형 카드 (좌측) — 이미지 + 블루 오버레이
══════════════════════════════════════════════════════════ */
.clinic-signature{
  position:relative;
  border-radius:20px;
  overflow:hidden;
  text-decoration:none;
  transition:all 0.35s;
  display:flex;
  flex-direction:column;
  min-height:540px;
  box-shadow:0 6px 24px rgba(15,74,110,0.1);
  color:#fff;
}
.clinic-signature:hover{
  transform:translateY(-4px);
  box-shadow:0 20px 50px rgba(15,74,110,0.25);
}
.clinic-signature:hover .cs-bg img{transform:scale(1.05)}
.clinic-signature:hover .cs-cta svg{transform:translateX(4px)}

/* 배경 이미지 */
.cs-bg{
  position:absolute;
  inset:0;
  z-index:0;
}
.cs-bg img{
  width:100%;
  height:100%;
  object-fit:cover;
  transition:transform 0.6s;
}
.cs-overlay{
  position:absolute;
  inset:0;
  background:
    linear-gradient(135deg, rgba(15,74,110,0.88) 0%, rgba(10,22,40,0.92) 55%, rgba(8,51,80,0.95) 100%);
}

/* 상단 배지 */
.cs-badge{
  position:absolute;
  top:24px;
  left:24px;
  z-index:3;
  display:inline-flex;
  align-items:center;
  gap:7px;
  padding:8px 14px;
  background:rgba(255,255,255,0.12);
  border:1px solid rgba(255,255,255,0.25);
  backdrop-filter:blur(8px);
  border-radius:9999px;
  color:#fff;
  font-size:11px;
  font-weight:800;
  letter-spacing:0.12em;
}
.cs-badge svg{
  width:13px;
  height:13px;
  color:#7DD3FC;
}

/* 컨텐츠 */
.cs-content{
  position:relative;
  z-index:2;
  padding:70px 40px 40px;
  display:flex;
  flex-direction:column;
  height:100%;
}
.cs-label{
  font-size:12px;
  font-weight:700;
  color:#7DD3FC;
  letter-spacing:0.14em;
  margin-bottom:14px;
}
.cs-title{
  font-size:clamp(36px,4.2vw,52px);
  font-weight:900;
  color:#fff;
  letter-spacing:-0.03em;
  line-height:1.1;
  margin:0 0 18px;
}
.cs-desc{
  font-size:15px;
  line-height:1.85;
  color:rgba(255,255,255,0.8);
  margin:0 0 28px;
  max-width:440px;
}
.cs-desc strong{
  color:#7DD3FC;
  font-weight:700;
}

/* 4개 시술 */
.cs-items{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:8px;
  margin-top:auto;
  padding-top:24px;
  border-top:1px solid rgba(255,255,255,0.15);
  margin-bottom:24px;
}
.cs-item{
  display:flex;
  align-items:center;
  gap:12px;
  padding:14px 14px;
  background:rgba(255,255,255,0.06);
  border:1px solid rgba(255,255,255,0.08);
  border-radius:10px;
  transition:all 0.2s;
}
.cs-item:hover{
  background:rgba(56,189,248,0.12);
  border-color:rgba(56,189,248,0.35);
}
.cs-item-dot{
  width:8px;
  height:8px;
  border-radius:50%;
  background:#38BDF8;
  flex-shrink:0;
  box-shadow:0 0 0 3px rgba(56,189,248,0.2);
}
.cs-item-txt{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1}
.cs-item-txt b{
  font-size:14px;
  font-weight:800;
  color:#fff;
  letter-spacing:-0.01em;
  line-height:1.2;
}
.cs-item-txt small{
  font-size:11.5px;
  color:rgba(255,255,255,0.6);
  line-height:1.4;
}
.cs-item-star{position:relative}
.cs-item-star::after{
  content:'★';
  position:absolute;
  top:8px;
  right:10px;
  font-size:9px;
  color:#7DD3FC;
  opacity:0.9;
}

/* 하단 CTA */
.cs-cta{
  display:flex;
  align-items:center;
  gap:10px;
  font-size:14px;
  font-weight:700;
  color:#7DD3FC;
  letter-spacing:-0.01em;
}
.cs-cta svg{
  width:18px;
  height:18px;
  transition:transform 0.25s;
}

/* ══════════════════════════════════════════════════════════
   우측 4개 카드 (2x2 그리드) — 미니멀 화이트
══════════════════════════════════════════════════════════ */
.clinic-cards{
  display:grid;
  grid-template-columns:1fr 1fr;
  grid-template-rows:1fr 1fr;
  gap:14px;
}

.cc-card{
  position:relative;
  background:#fff;
  border:1px solid #E2EAF0;
  border-radius:16px;
  padding:24px 22px 22px;
  display:flex;
  flex-direction:column;
  overflow:hidden;
  text-decoration:none;
  transition:all 0.3s;
  color:inherit;
  min-height:258px;
}
.cc-card:hover{
  border-color:var(--navy);
  transform:translateY(-3px);
  box-shadow:0 14px 32px rgba(15,74,110,0.14);
}
.cc-card:hover .cc-cta svg{transform:translateX(4px)}
.cc-card:hover .cc-icon{
  background:var(--navy);
  color:#fff;
}

/* 아이콘 */
.cc-icon{
  width:44px;
  height:44px;
  border-radius:12px;
  background:#E0F2FE;
  color:var(--navy);
  display:flex;
  align-items:center;
  justify-content:center;
  margin-bottom:18px;
  transition:all 0.25s;
}
.cc-icon svg{
  width:22px;
  height:22px;
}

.cc-title{
  font-size:20px;
  font-weight:900;
  color:var(--text-dark);
  letter-spacing:-0.02em;
  margin:0 0 4px;
  line-height:1.15;
}
.cc-sub{
  font-size:12.5px;
  color:var(--text-soft);
  margin:0 0 16px;
  letter-spacing:-0.01em;
  font-weight:500;
}

.cc-tags{
  display:flex;
  flex-wrap:wrap;
  gap:5px 6px;
  margin-bottom:auto;
  padding-bottom:16px;
}
.cc-tags span{
  font-size:11.5px;
  font-weight:700;
  color:var(--text-mid);
  padding:4px 10px;
  background:#F1F5F9;
  border-radius:6px;
  letter-spacing:-0.01em;
}

.cc-cta{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  padding-top:14px;
  border-top:1px solid #E2EAF0;
}
.cc-approach{
  font-size:12px;
  font-weight:800;
  color:var(--navy);
  letter-spacing:-0.01em;
}
.cc-cta svg{
  width:15px;
  height:15px;
  color:var(--navy);
  flex-shrink:0;
  transition:transform 0.25s;
}

/* 카드별 포인트 컬러 */
.cc-pain .cc-icon{background:#FEE2E2;color:#DC2626}
.cc-pain:hover{border-color:#DC2626}
.cc-pain:hover .cc-icon{background:#DC2626;color:#fff}
.cc-pain .cc-approach,
.cc-pain .cc-cta svg{color:#DC2626}

.cc-internal .cc-icon{background:#E0F2FE;color:#0F4A6E}
.cc-internal:hover{border-color:#0F4A6E}
.cc-internal:hover .cc-icon{background:#0F4A6E;color:#fff}

.cc-women .cc-icon{background:#FCE7F3;color:#DB2777}
.cc-women:hover{border-color:#DB2777}
.cc-women:hover .cc-icon{background:#DB2777;color:#fff}
.cc-women .cc-approach,
.cc-women .cc-cta svg{color:#DB2777}

.cc-premium .cc-icon{background:#FEF3C7;color:#D97706}
.cc-premium:hover{border-color:#D97706}
.cc-premium:hover .cc-icon{background:#D97706;color:#fff}
.cc-premium .cc-approach,
.cc-premium .cc-cta svg{color:#D97706}

/* ─── 반응형 ─── */
@media (max-width:1100px){
  .clinic-grid{grid-template-columns:1fr}
  .clinic-signature{min-height:auto}
  .clinic-cards{grid-template-rows:auto auto}
}
@media (max-width:640px){
  .clinic-head{flex-direction:column;align-items:flex-start}
  .clinic-head-right{align-items:flex-start;text-align:left}
  .cs-content{padding:64px 24px 28px}
  .cs-items{grid-template-columns:1fr}
  .clinic-cards{grid-template-columns:1fr}
}

/* ═══════════════════════════════════════════════════════════════════════
   ✦ SECTION 2 :: JOURNEY (치료 여정 타임라인)
═══════════════════════════════════════════════════════════════════════ */
.journey-section{
  padding:clamp(80px,10vw,120px) 0;
  background:#F8FAFC;
  position:relative;
  overflow:hidden;
}
.journey-head{text-align:center;margin-bottom:72px}
.journey-head .section-label{justify-content:center}
.journey-title{
  font-size:clamp(32px,4vw,50px);
  font-weight:900;
  color:#0F172A;
  letter-spacing:-.025em;
  margin:14px 0 16px;
}
.journey-em{color:var(--navy)}
.journey-lead{
  font-size:15px;
  line-height:1.8;
  color:var(--text-mid);
  max-width:640px;
  margin:0 auto;
}

.journey-timeline{
  position:relative;
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:40px;
  margin-bottom:80px;
  padding-top:20px;
}
/* 4단계를 이어주는 가로 연결선 — 한자 아래쪽 노드 레벨에 정확히 맞춤 */
.jt-line{
  position:absolute;
  top:120px;
  left:calc(12.5% + 10px);
  right:calc(12.5% + 10px);
  height:1px;
  background:linear-gradient(90deg,
    transparent 0%,
    rgba(15,74,110,.2) 10%,
    rgba(15,74,110,.2) 90%,
    transparent 100%);
  z-index:0;
}
.jt-step{
  position:relative;
  background:transparent;
  border:none;
  box-shadow:none;
  padding:0 8px;
  text-align:center;
  z-index:1;
  transition:.3s ease;
}
.jt-step:hover{
  transform:translateY(-4px);
}

/* 한자 — 가장 큰 시각적 요소 */
.jt-hanja{
  font-family:'Noto Serif KR','Nanum Myeongjo',serif;
  font-size:64px;
  font-weight:300;
  color:var(--navy,#0F4A6E);
  line-height:1;
  letter-spacing:-.02em;
  margin-bottom:28px;
  transition:.4s ease;
}
.jt-step:hover .jt-hanja{
  color:#0EA5E9;
  transform:scale(1.04);
}

/* 연결선 위 노드 (한자 아래에 위치) */
.jt-node{
  position:relative;
  width:10px;
  height:10px;
  border-radius:50%;
  background:#fff;
  border:2px solid var(--navy,#0F4A6E);
  margin:0 auto 22px;
  z-index:2;
  transition:.3s;
}
.jt-step:hover .jt-node{
  background:#0EA5E9;
  border-color:#0EA5E9;
  box-shadow:0 0 0 6px rgba(14,165,233,.15);
}

/* 숫자 — 작게, 서브 역할 */
.jt-num{
  font-family:'Playfair Display',Georgia,serif;
  font-style:italic;
  font-size:14px;
  font-weight:400;
  color:var(--text-soft,#64748B);
  letter-spacing:.08em;
  margin-bottom:10px;
}

.jt-title{
  font-size:20px;
  font-weight:800;
  color:#0F172A;
  margin-bottom:12px;
  letter-spacing:-.02em;
}
.jt-desc{
  font-size:13.5px;
  line-height:1.75;
  color:var(--text-mid);
  margin-bottom:20px;
  padding:0 4px;
}

/* 메타 — 불렛 점 제거, 대시 스타일 */
.jt-meta{
  list-style:none;
  padding:16px 0 0;
  margin:0;
  border-top:1px solid rgba(15,74,110,.08);
  display:flex;
  flex-direction:column;
  gap:6px;
}
.jt-meta li{
  font-size:12px;
  color:var(--text-soft);
  letter-spacing:-.005em;
  position:relative;
  padding-left:18px;
}
.jt-meta li::before{
  content:"—";
  position:absolute;
  left:0;
  top:0;
  color:rgba(15,74,110,.35);
  font-weight:500;
}

/* 2분할 소개 카드 (재배치) */
.journey-split{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:22px;
}
.js-card{
  position:relative;
  border-radius:20px;
  overflow:hidden;
  min-height:320px;
  cursor:pointer;
}
.js-img{position:absolute;inset:0}
.js-img img{width:100%;height:100%;object-fit:cover;transition:.6s}
.js-card:hover .js-img img{transform:scale(1.06)}
.js-overlay{
  position:absolute;inset:0;
  background:linear-gradient(160deg,rgba(15,74,110,.1) 20%,rgba(10,37,64,.82));
}
.js-content{
  position:absolute;
  bottom:0;left:0;right:0;
  padding:32px 32px 28px;
  color:#fff;
}
.js-label{
  display:inline-block;
  font-family:'Noto Serif KR','Playfair Display',serif;
  font-size:12px;
  font-weight:700;
  letter-spacing:.14em;
  color:#7DD3FC;
  margin-bottom:14px;
  padding-bottom:8px;
  border-bottom:1px solid rgba(125,211,252,.4);
}
.js-title{
  font-size:clamp(20px,2.4vw,28px);
  font-weight:800;
  line-height:1.3;
  margin-bottom:14px;
  letter-spacing:-.02em;
}
.js-sub{
  font-size:13px;
  font-weight:400;
  color:rgba(255,255,255,.75);
  line-height:1.6;
  letter-spacing:-.01em;
  margin-bottom:22px;
}
.js-btn{
  display:inline-flex;
  align-items:center;
  padding:10px 20px;
  background:rgba(255,255,255,.12);
  backdrop-filter:blur(10px);
  border:1px solid rgba(255,255,255,.25);
  border-radius:9999px;
  color:#fff;
  font-size:13px;
  font-weight:700;
  transition:.25s;
}
.js-card:hover .js-btn{background:#38BDF8;border-color:#38BDF8;color:#0A2540}


/* ═══════════════════════════════════════════════════════════════════════
   ✦ SECTION 3 :: TRUST (스토리 + 스탯 + 언론 마키)
═══════════════════════════════════════════════════════════════════════ */
.trust-section{
  padding:clamp(80px,10vw,120px) 0 0;
  background:#fff;
  position:relative;
}
.trust-grid{
  display:grid;
  grid-template-columns:1.1fr 1fr;
  gap:72px;
  align-items:stretch;
  margin-bottom:72px;
}
.trust-story{
  position:relative;
  display:flex;
  flex-direction:column;
}
.trust-story .ts-quote{
  margin-top:auto;
}
.ts-mark{
  font-family:'DM Serif Display','Playfair Display',serif;
  font-size:140px;
  line-height:.7;
  color:#E0F2FE;
  margin-bottom:-30px;
}
.trust-story .section-label{color:var(--navy);margin-bottom:18px}
.ts-title{
  font-size:clamp(28px,3.4vw,44px);
  font-weight:900;
  color:#0F172A;
  line-height:1.3;
  letter-spacing:-.025em;
  margin-bottom:24px;
}
.ts-em{color:var(--navy);position:relative;display:inline-block}
.ts-em::after{
  content:'';
  position:absolute;
  left:0;bottom:2px;
  width:100%;
  height:10px;
  background:rgba(56,189,248,.25);
  z-index:-1;
  border-radius:2px;
}
.ts-desc{
  font-size:15.5px;
  line-height:1.85;
  color:var(--text-mid);
  margin-bottom:32px;
}

/* ─────────── 인용구 블록 (원장 카드 대체) ─────────── */
.ts-quote{
  position:relative;
  margin:0;
  padding:26px 28px 22px;
  background:linear-gradient(135deg,#F8FBFD 0%,#EEF5FA 100%);
  border-radius:14px;
  border-left:4px solid var(--navy, #0F4A6E);
  max-width:460px;
  box-shadow:0 2px 14px rgba(15,74,110,.06);
}
.ts-quote-body{
  position:relative;
  padding-left:24px;
}
.ts-quote-mark{
  position:absolute;
  top:-8px;
  left:-4px;
  font-family:'DM Serif Display','Noto Serif KR',Georgia,serif;
  font-size:58px;
  line-height:1;
  color:var(--navy, #0F4A6E);
  opacity:.22;
  font-weight:400;
  user-select:none;
}
.ts-quote-text{
  font-size:18px;
  font-weight:700;
  color:#0F172A;
  line-height:1.55;
  letter-spacing:-.02em;
  margin:0;
}
.ts-quote-foot{
  display:flex;
  align-items:center;
  gap:10px;
  margin-top:14px;
  padding-left:24px;
}
.ts-quote-line{
  width:24px;
  height:2px;
  background:var(--navy, #0F4A6E);
  opacity:.5;
  flex-shrink:0;
}
.ts-quote-src{
  font-size:12px;
  color:var(--text-soft, #64748B);
  font-weight:600;
  letter-spacing:-.01em;
}

.ts-author{
  display:flex;
  align-items:center;
  gap:14px;
  padding:16px 18px;
  background:#F0F8FF;
  border-radius:14px;
  border-left:3px solid var(--navy);
  max-width:420px;
}
.ts-author-img{flex-shrink:0;width:52px;height:52px}
.ts-author-img svg{width:52px;height:52px}
.ts-author-txt strong{display:block;font-size:15px;font-weight:800;color:#0F172A;margin-bottom:2px}
.ts-author-txt span{font-size:12.5px;color:var(--text-soft)}

/* 우측 스탯 */
.trust-stats{
  background:linear-gradient(160deg,#0F4A6E 0%,#083350 100%);
  border-radius:24px;
  padding:48px 40px;
  color:#fff;
  position:relative;
  overflow:hidden;
  display:flex;
  flex-direction:column;
  justify-content:center;
}
.trust-stats::before{
  content:'';
  position:absolute;
  top:-80px;right:-80px;
  width:260px;height:260px;
  background:radial-gradient(circle,rgba(56,189,248,.18),transparent 70%);
  pointer-events:none;
}
.trust-stats .section-label{margin-bottom:10px}
.trust-stats .section-label::before{background:#7DD3FC !important}
.trust-subtitle{
  font-size:24px;
  font-weight:800;
  color:#fff;
  margin-bottom:32px;
  letter-spacing:-.02em;
}
.trust-stat{position:relative;padding-bottom:16px}
.trust-stat-lg{
  padding-bottom:24px;
  margin-bottom:24px;
  border-bottom:1px solid rgba(125,211,252,.2);
}
.tstat-num{
  font-size:clamp(42px,5vw,64px);
  font-weight:900;
  color:#38BDF8;
  letter-spacing:-.04em;
  line-height:1;
  display:inline-block;
  font-family:'DM Serif Display',serif;
}
.tstat-unit{
  display:inline-block;
  font-size:20px;
  font-weight:700;
  color:#7DD3FC;
  margin-left:6px;
  vertical-align:middle;
}
.trust-stat-lg .tstat-unit{font-size:26px}
.tstat-label{
  font-size:14px;
  color:rgba(230,238,246,.85);
  margin-top:6px;
  font-weight:600;
}
.tstat-bar{
  height:3px;
  background:rgba(125,211,252,.15);
  border-radius:2px;
  margin-top:12px;
  overflow:hidden;
}
.tstat-bar i{
  display:block;
  width:var(--w,70%);
  height:100%;
  background:linear-gradient(90deg,#38BDF8,#7DD3FC);
  border-radius:2px;
  animation:tstat-grow 1.4s ease-out both;
}
@keyframes tstat-grow{from{width:0}to{width:var(--w,70%)}}
.tstat-desc{
  font-size:12.5px;
  color:rgba(230,238,246,.6);
  margin-top:8px;
}

/* No./Yes./Only. 텍스트형 스탯 */
.tstat-word{
  font-family:'DM Serif Display','Noto Serif KR',Georgia,serif;
  font-size:clamp(38px,5vw,56px);
  font-weight:400;
  line-height:1;
  letter-spacing:-.02em;
  font-style:italic;
  display:inline-block;
}
.trust-stat-lg .tstat-word{font-size:clamp(48px,6vw,68px)}
.tstat-word-no   { color:#F87171 }  /* 거부 = 따뜻한 레드 */
.tstat-word-yes  { color:#38BDF8 }  /* 약속 = 메인 시안 */
.tstat-word-only { color:#FBBF24 }  /* 희소성 = 골드 */

.tstat-label-lg{
  font-size:22px;
  font-weight:700;
  color:#fff;
  margin-top:10px;
  letter-spacing:-.02em;
}
.trust-stat-text .tstat-label{
  font-size:15px;
  color:#fff;
  font-weight:700;
  margin-top:8px;
}
.trust-stat-row{display:grid;grid-template-columns:1fr 1fr;gap:24px}

/* ─────────── No/Yes/Only 세로 3단 리스트 ─────────── */
.tstat-v-list{
  display:flex;
  flex-direction:column;
  gap:0;
  margin-top:4px;
}
.tstat-v-item{
  display:flex;
  align-items:flex-start;
  gap:16px;
  padding:18px 0;
  border-bottom:1px solid rgba(125,211,252,.15);
}
.tstat-v-item:last-child{
  border-bottom:none;
  padding-bottom:8px;
}
.tstat-v-item:first-child{
  padding-top:8px;
}
.tstat-v-icon{
  flex-shrink:0;
  width:40px;
  height:40px;
  border-radius:10px;
  display:flex;
  align-items:center;
  justify-content:center;
  margin-top:4px;
}
.tstat-v-icon svg{
  width:20px;
  height:20px;
}
.tstat-v-icon-no{
  background:rgba(248,113,113,.14);
  color:#F87171;
}
.tstat-v-icon-yes{
  background:rgba(56,189,248,.14);
  color:#38BDF8;
}
.tstat-v-icon-only{
  background:rgba(251,191,36,.14);
  color:#FBBF24;
}
.tstat-v-body{
  flex:1;
  min-width:0;
}
.tstat-v-head{
  display:flex;
  align-items:baseline;
  gap:10px;
  margin-bottom:6px;
  flex-wrap:wrap;
}
.tstat-v-head .tstat-word{
  font-size:32px;
  line-height:1;
}
.tstat-v-label{
  font-size:16px;
  font-weight:700;
  color:#fff;
  letter-spacing:-.02em;
}
.tstat-v-quote{
  font-size:13.5px;
  color:rgba(230,238,246,.68);
  font-style:italic;
  line-height:1.55;
  letter-spacing:-.01em;
  margin:0;
  font-weight:500;
}

.trust-note{
  font-size:11.5px;
  color:rgba(230,238,246,.45);
  text-align:right;
  margin-top:18px;
}

/* 언론 마키 */
.trust-marquee{
  margin-top:60px;
  padding:28px 0 36px;
  border-top:1px solid #E2EAF0;
  border-bottom:1px solid #E2EAF0;
  position:relative;
  overflow:hidden;
  background:#FAFBFC;
}
.tm-label{
  display:flex;
  align-items:center;
  gap:10px;
  font-size:11px;
  font-weight:800;
  color:var(--navy);
  letter-spacing:.2em;
  text-align:center;
  justify-content:center;
  margin-bottom:22px;
  padding:0 max(24px,calc(50vw - 600px));
}
.tm-label::before,
.tm-label::after{
  content:'';
  flex:1;
  height:1px;
  background:linear-gradient(90deg,transparent,#CBD5E1,transparent);
  max-width:120px;
}
.tm-track{
  display:flex;
  align-items:center;
  gap:44px;
  white-space:nowrap;
  animation:tm-scroll 35s linear infinite;
}
.tm-track:hover{animation-play-state:paused}
.tm-item{
  font-family:'Pretendard Variable','Pretendard','Noto Sans KR',sans-serif;
  font-size:18px;
  font-weight:800;
  color:#64748B;
  letter-spacing:.02em;
  flex-shrink:0;
  transition:.3s;
  text-transform:uppercase;
  opacity:.7;
}
.tm-item:hover{color:var(--navy);opacity:1}
.tm-dot{
  color:#CBD5E1;
  font-size:10px;
  flex-shrink:0;
}
@keyframes tm-scroll{
  from{transform:translateX(0)}
  to{transform:translateX(-50%)}
}


/* ═══════════════════════════════════════════════════════════════════════
   ✦ REPONSIVE — 3 SECTIONS
═══════════════════════════════════════════════════════════════════════ */
@media (max-width:1024px){
  .bm-grid{grid-template-columns:1fr;gap:32px}
  .bm-detail{padding:36px 28px 32px}
  .trust-grid{grid-template-columns:1fr;gap:48px}
  .journey-timeline{grid-template-columns:repeat(2,1fr);gap:48px 24px}
  .jt-line{display:none}
  .jt-hanja{font-size:52px;margin-bottom:20px}
}
@media (max-width:768px){
  .bm-head{flex-direction:column;align-items:flex-start}
  .bm-figure-inner{max-width:240px}
  .bm-treatments{grid-template-columns:repeat(2,1fr)}
  .bm-actions{flex-direction:column}
  .bm-btn{width:100%;text-align:center}
  .journey-timeline{grid-template-columns:1fr;gap:40px}
  .jt-hanja{font-size:48px;margin-bottom:16px}
  .journey-split{grid-template-columns:1fr;gap:16px}
  .trust-grid{gap:36px}
  .trust-stats{padding:32px 24px}
  .trust-stat-row{gap:16px}
  .ts-mark{font-size:100px}

  /* 인용구 블록 모바일 */
  .ts-quote{padding:22px 22px 18px}
  .ts-quote-text{font-size:16px}
  .ts-quote-mark{font-size:48px;top:-4px}

  /* 세로 3단 모바일 */
  .tstat-v-item{gap:12px;padding:14px 0}
  .tstat-v-icon{width:34px;height:34px}
  .tstat-v-icon svg{width:17px;height:17px}
  .tstat-v-head .tstat-word{font-size:26px}
  .tstat-v-label{font-size:14.5px}
  .tstat-v-quote{font-size:12.5px}

  .tm-label{display:none}
  .tm-track{padding-left:20px}
  .tm-item{font-size:18px}
}

/* ─── 공지/미디어 ───────────────────────────────────────── */
.notice-section{padding:clamp(60px,8vw,100px) 0;background:#fff;border-top:1px solid #E2EAF0}
.notice-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:start}
.notice-tabs{display:flex;gap:4px;border-bottom:2px solid #E2EAF0;margin-bottom:20px}
.ntab-btn{padding:10px 20px;font-size:14px;font-weight:600;color:var(--text-soft);border-bottom:2px solid transparent;margin-bottom:-2px;transition:.18s;border-radius:var(--r-sm) var(--r-sm) 0 0;background:none;border-left:none;border-right:none;border-top:none;cursor:pointer}
.ntab-btn.active,.ntab-btn:hover{color:var(--navy);border-bottom-color:var(--navy);background:#F0F8FF}
.ntab-panel{display:none}
.ntab-panel.active{display:block}
.notice-item{display:flex;align-items:center;gap:10px;padding:14px 0;border-bottom:1px solid #E2EAF0;font-size:14px}
.ni-badge{flex-shrink:0;font-size:11px;font-weight:700;padding:3px 8px;border-radius:var(--r-full);white-space:nowrap}
.badge-notice{background:#EFF6FF;color:#1D4ED8}
.badge-event{background:#FFF1F2;color:#DC2626}
.badge-health{background:#D1FAE5;color:#065F46}
.ni-title{flex:1;color:var(--text-dark);font-weight:500}
.ni-date{font-size:12px;color:var(--text-soft);flex-shrink:0}
.youtube-block{}
.yt-thumb{position:relative;border-radius:var(--r-md);overflow:hidden;margin-bottom:16px;cursor:pointer}
.yt-thumb img{width:100%;height:230px;object-fit:cover;transition:.4s}
.yt-thumb:hover img{transform:scale(1.03)}
.yt-play{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:60px;height:60px;border-radius:50%;background:rgba(0,0,0,.55);display:flex;align-items:center;justify-content:center;transition:.2s}
.yt-thumb:hover .yt-play{background:var(--navy);transform:translate(-50%,-50%) scale(1.1)}
.yt-play svg{width:24px;height:24px;margin-left:3px}
.yt-title{font-size:16px;font-weight:700;color:var(--text-dark);line-height:1.55;margin-bottom:8px}
.yt-sub{font-size:13px;color:var(--text-soft);margin-bottom:14px}
.yt-more-btn{display:inline-flex;padding:10px 20px;background:#F1F5F9;color:var(--navy);border-radius:var(--r-full);font-size:13px;font-weight:700;transition:.2s}
.yt-more-btn:hover{background:var(--navy);color:#fff}

/* ─── 푸터 ──────────────────────────────────────────────── */
#site-footer{background:#0A1628;color:rgba(255,255,255,.75);padding:60px 0 0}
.footer-top-grid{display:grid;grid-template-columns:280px 1fr;gap:64px;margin-bottom:44px}
.footer-logo-block{display:flex;align-items:center;gap:12px;margin-bottom:14px;text-decoration:none}
.footer-logo-mark{width:52px;height:52px;flex-shrink:0}
.footer-logo-ko{display:block;font-size:19px;font-weight:800;color:#fff;letter-spacing:-.03em;line-height:1}
.footer-logo-ko em{color:#38BDF8;font-style:normal}
.footer-logo-en{display:block;font-size:10px;color:rgba(255,255,255,.4);letter-spacing:.04em}
.footer-tagline{font-size:13px;color:rgba(255,255,255,.45);margin-bottom:16px}
.footer-policy-links{display:flex;gap:14px}
.footer-policy-links a{font-size:12px;color:rgba(255,255,255,.35);transition:.2s}
.footer-policy-links a:hover{color:rgba(255,255,255,.75)}
.footer-nav-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:32px}
.footer-nav-grid h4{font-size:13px;font-weight:700;color:#fff;margin-bottom:12px}
.footer-nav-grid a{display:block;font-size:12px;color:rgba(255,255,255,.45);margin-bottom:8px;transition:.2s}
.footer-nav-grid a:hover{color:rgba(255,255,255,.85)}
.footer-biz-info{border-top:1px solid rgba(255,255,255,.07);padding:20px 0;font-size:12px;color:rgba(255,255,255,.28);line-height:2}
.footer-biz-info strong{color:rgba(255,255,255,.45);font-weight:600;margin-right:4px}
.footer-bottom-bar{border-top:1px solid rgba(255,255,255,.07);padding:20px 0;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px}
.footer-copy{font-size:12px;color:rgba(255,255,255,.25)}
.footer-sns{display:flex;gap:8px}
.footer-sns a{width:34px;height:34px;border-radius:50%;background:rgba(255,255,255,.07);display:flex;align-items:center;justify-content:center;color:rgba(255,255,255,.5);transition:.2s}
.footer-sns a:hover{background:var(--navy);color:#fff}
.footer-sns svg{width:16px;height:16px}

/* ─── 사이드바 ──────────────────────────────────────────── */
#sidebar-fixed{position:fixed;right:0;top:50%;transform:translateY(-50%);z-index:900;display:flex;flex-direction:column;gap:2px}
.sb-btn{display:flex;align-items:center;gap:10px;padding:11px 14px;background:rgba(255,255,255,.96);border-left:3px solid var(--c,#0F4A6E);font-size:13px;font-weight:600;color:var(--text-dark);white-space:nowrap;box-shadow:-2px 2px 10px rgba(0,0,0,.10);transition:.18s;min-width:110px;cursor:pointer;text-decoration:none}
.sb-btn:hover{transform:translateX(-4px);background:rgba(255,255,255,1);color:var(--c)}
.sb-ic{display:flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:8px;flex-shrink:0;transition:.18s}
.sb-ic svg{width:16px;height:16px}
.sb-btn:hover .sb-ic{transform:scale(1.1)}
.sb-phone-btn{background:var(--navy)!important;color:#fff!important;border-left-color:var(--navy-deep)!important;font-size:14px;font-weight:900}
.sb-phone-btn svg{width:16px;height:16px}

/* ─── 모달 ──────────────────────────────────────────────── */
#sample-modal{position:fixed;inset:0;z-index:9999;display:flex;align-items:center;justify-content:center;background:rgba(10,20,40,.75);backdrop-filter:blur(6px)}
.modal-box{background:#fff;border-radius:20px;padding:52px 56px;max-width:480px;width:calc(100% - 48px);text-align:center;box-shadow:0 24px 60px rgba(0,0,0,.28)}
.modal-badge{display:inline-flex;align-items:center;gap:6px;background:#EFF6FF;color:#1D4ED8;font-size:13px;font-weight:700;letter-spacing:.06em;padding:6px 16px;border-radius:var(--r-full);margin-bottom:22px;border:1.5px solid rgba(29,78,216,.2)}
.modal-title{font-size:26px;font-weight:900;color:var(--text-dark);letter-spacing:-.02em;margin-bottom:16px;line-height:1.3}
.modal-title span{color:var(--navy)}
.modal-desc{font-size:15px;color:var(--text-mid);line-height:1.8;margin-bottom:32px}
.modal-btn{width:100%;padding:17px;background:var(--navy);color:#fff;border:none;border-radius:var(--r-full);font-size:17px;font-weight:700;cursor:pointer;box-shadow:0 4px 16px rgba(15,74,110,.35);transition:.2s}
.modal-btn:hover{background:var(--navy-deep);transform:translateY(-1px)}
.modal-note{font-size:12px;color:var(--text-soft);margin-top:14px}

/* ─── 반응형 ─────────────────────────────────────────────── */
@media(max-width:1200px){.clinic-cards-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:1024px){
  .stats-cards{grid-template-columns:repeat(2,1fr)}
  .footer-top-grid{grid-template-columns:1fr;gap:32px}
  .footer-nav-grid{grid-template-columns:repeat(2,1fr)}
  .s1-inner,.s2-inner,.s3-inner,.s5h-inner{gap:40px}
  .s4-inner{grid-template-columns:500px 1fr}
}
@media(max-width:768px){
  .hd-search,.hd-utils{display:none}
  .gnb-list,.gnb-divider,.gnb-sub{display:none}
  .s1-inner,.s2-inner,.s3-inner,.s5h-inner{grid-template-columns:1fr;padding:40px 20px}
  .s4-inner{grid-template-columns:1fr;padding:40px 20px}
  .s1-img-tilt,.s5-img-frame{height:240px;max-width:100%}
  .s2-visual{height:280px}
  .s2-circle-wrap,.s2-circle-img{width:240px;height:240px}
  .quick-grid{grid-template-columns:1fr}
  .quick-col+.quick-col{border-left:none;border-top:1px solid #E2EAF0}
  .clinic-cards-grid{grid-template-columns:1fr 1fr}
  .philosophy-grid{grid-template-columns:1fr}
  .intro-split-grid{grid-template-columns:1fr}
  .stats-cards{grid-template-columns:1fr 1fr}
  .notice-grid{grid-template-columns:1fr}
  #sidebar-fixed{display:none}
  .logo-mark{width:52px;height:52px}
  .logo-mark svg{width:52px;height:52px}
}
@media(max-width:480px){
  .clinic-cards-grid{grid-template-columns:1fr}
  .stats-cards{grid-template-columns:1fr}
}

/* ══════════════════════════════════════════════════════════
   HERO v5 — 5장 개별 스타일
   높이: 580px (아래 퀵액션 살짝 보이도록)
══════════════════════════════════════════════════════════ */

.hero-section { background:#fff; }
.hero-slider  { overflow:hidden; }
.hero-track   { display:flex; transition:transform .65s cubic-bezier(.4,0,.2,1); }
.hero-slide   { flex:0 0 100%; width:100%; position:relative; min-height:580px; display:flex; flex-direction:column; overflow:hidden; }

/* 공통 배경 레이어 */
.h-bg { position:absolute; inset:0; }
.h-bg > img { width:100%; height:100%; object-fit:cover; object-position:center; }
.h-blob { position:absolute; pointer-events:none; border-radius:50%; }

/* 공통 바디 레이아웃 */
.hs-body { display:grid; grid-template-columns:1fr 1fr; align-items:center; gap:60px;
  padding:52px clamp(20px,5vw,64px); position:relative; z-index:2; width:100%;
  max-width:1280px; margin:0 auto; flex:1; }

/* 공통 eyetag */
.hs-eyetag { display:inline-flex; align-items:center; gap:7px; font-size:13px; font-weight:700;
  letter-spacing:.06em; padding:6px 16px; border-radius:var(--r-full); margin-bottom:18px;
  background:rgba(56,189,248,.18); color:#7DD3FC; border:1px solid rgba(56,189,248,.3); }
.hs-eyetag-sky { background:rgba(56,189,248,.2); color:#7DD3FC; border-color:rgba(56,189,248,.35); }

/* 공통 타이포 */
.hs-title { font-size:clamp(36px,4.2vw,58px); font-weight:900; line-height:1.15; letter-spacing:-.03em; margin-bottom:18px; }
.hs-title-white { color:#fff; }
.hs-title-dark  { color:var(--text-dark); }
.hs-em-sky { font-style:normal; color:#38BDF8; }
.hs-lead  { font-size:16px; line-height:1.75; margin-bottom:22px; }
.hs-lead-white { color:rgba(255,255,255,.75); }
.hs-lead-dark  { color:var(--text-mid); }
.hs-hashtags { display:flex; gap:8px; flex-wrap:wrap; margin-bottom:24px; }
.hs-hashtags span { font-size:13px; font-weight:600; color:rgba(255,255,255,.75);
  background:rgba(255,255,255,.12); border:1px solid rgba(255,255,255,.2);
  padding:5px 13px; border-radius:var(--r-full); backdrop-filter:blur(4px); }
.hs-btns { display:flex; gap:12px; flex-wrap:wrap; }

/* 공통 버튼 */
.hbtn-solid-white { display:inline-flex; align-items:center; padding:14px 28px;
  background:#fff; color:#0F4A6E; border-radius:var(--r-full);
  font-size:15px; font-weight:700; box-shadow:0 4px 16px rgba(0,0,0,.2); transition:.2s; }
.hbtn-solid-white:hover { background:#E0F2FE; transform:translateY(-2px); }
.hbtn-ghost-white { display:inline-flex; align-items:center; padding:14px 28px;
  background:rgba(255,255,255,.12); color:#fff; border:1.5px solid rgba(255,255,255,.4);
  border-radius:var(--r-full); font-size:15px; font-weight:700;
  transition:.2s; backdrop-filter:blur(4px); }
.hbtn-ghost-white:hover { background:rgba(255,255,255,.22); }

/* 히어로 컨트롤 */
.hero-controls { display:flex; align-items:center; justify-content:center;
  gap:12px; padding:16px 0 20px; background:#fff; }
.hero-dots { display:flex; gap:6px; }
.hero-dot { width:7px; height:7px; border-radius:50%; background:#CBD8E8; border:none; cursor:pointer; transition:.25s; }
.hero-dot.active { width:24px; border-radius:3px; background:#0F4A6E; }
.hc-btn { width:34px; height:34px; border-radius:50%; background:#fff;
  border:1.5px solid #CBD8E8; display:flex; align-items:center; justify-content:center; cursor:pointer; transition:.2s; }
.hc-btn:hover { background:#0F4A6E; border-color:#0F4A6E; }
.hc-btn:hover svg { stroke:#fff; }
.hc-btn svg { width:14px; height:14px; stroke:var(--text-soft); fill:none; stroke-width:2.5; }
.hc-pause { width:34px; height:34px; border-radius:50%; background:#fff;
  border:1.5px solid #CBD8E8; display:flex; align-items:center; justify-content:center; cursor:pointer; transition:.2s; }

/* ─── SLIDE 1: 통증 네이비 ────────────────────────────── */
.h1 .h1-ov { position:absolute; inset:0;
  background:linear-gradient(115deg, rgba(8,30,60,.92) 0%, rgba(15,74,110,.78) 55%, rgba(8,30,60,.5) 100%); }

.h1-right { position:relative; }
.h1-img-wrap { width:100%; max-width:480px; height:340px; border-radius:var(--r-lg);
  overflow:hidden; box-shadow:0 20px 60px rgba(0,0,0,.4); transform:perspective(800px) rotateY(-4deg);
  transition:.4s; margin:0 auto; }
.h1-img-wrap:hover { transform:perspective(800px) rotateY(0deg); }
.h1-img-wrap img { width:100%; height:100%; object-fit:cover; }

/* 플로팅 카드 */
.h1-fc { position:absolute; background:rgba(255,255,255,.95); backdrop-filter:blur(8px);
  border-radius:var(--r-md); padding:10px 16px; display:flex; align-items:center; gap:10px;
  box-shadow:0 8px 24px rgba(0,0,0,.18); white-space:nowrap; }
.h1-fc span { font-size:13px; font-weight:600; color:var(--text-dark); }
.hfc-dot { width:10px; height:10px; border-radius:50%; flex-shrink:0; }
.hfc-big { font-size:20px; font-weight:900; line-height:1; }
.hfc-text { display:flex; flex-direction:column; }
.hfc-text strong { font-size:15px; font-weight:800; color:var(--text-dark); line-height:1; }
.hfc-text span { font-size:11px; color:var(--text-soft); }
.h1-fc1 { top:-18px; left:10%; }
.h1-fc2 { top:40%; right:-24px; }
.h1-fc3 { bottom:40%; left:-24px; }
.h1-fc4 { bottom:-18px; right:15%; }

/* 하단 스탯 바 */
.h1-statbar { background:rgba(255,255,255,.08); backdrop-filter:blur(12px);
  border-top:1px solid rgba(255,255,255,.12); padding:14px 0;
  position:relative; z-index:3; flex-shrink:0; }
.h1-statbar-inner { display:flex; align-items:center; gap:0; }
.hstat { display:flex; flex-direction:column; align-items:center; flex:1; text-align:center; }
.hstat b  { font-size:17px; font-weight:900; color:#fff; line-height:1; }
.hstat span { font-size:12px; color:rgba(255,255,255,.55); margin-top:3px; }
.hstat-sep { width:1px; height:36px; background:rgba(255,255,255,.15); flex-shrink:0; }
.hstat-cta { display:inline-flex; align-items:center; padding:10px 22px;
  background:#38BDF8; color:#fff; border-radius:var(--r-full);
  font-size:14px; font-weight:700; white-space:nowrap; transition:.2s; flex-shrink:0; }
.hstat-cta:hover { background:#0EA5E9; }

/* ─── SLIDE 2: 공진단 골드 다크 ──────────────────────── */
.h2 .h2-grad { position:absolute; inset:0;
  background:linear-gradient(135deg,#1A0800 0%,#3D1800 40%,#5C2800 70%,#3D1800 100%); }

.h2-body { gap:40px; }
.h2-premium-tag { display:inline-flex; align-items:center; gap:8px;
  background:rgba(201,162,39,.15); border:1px solid rgba(201,162,39,.4);
  color:#C9A227; font-size:12px; font-weight:700; letter-spacing:.08em;
  padding:6px 16px; border-radius:var(--r-full); margin-bottom:18px; }
.h2-crown { font-size:16px; }
.h2-effect-row { display:flex; gap:16px; flex-wrap:wrap; margin-bottom:20px; }
.h2-eff { display:flex; align-items:center; gap:7px;
  font-size:14px; font-weight:600; color:rgba(255,255,255,.8); }
.h2-eff span { width:9px; height:9px; border-radius:50%; display:inline-block; flex-shrink:0; }
.h2-spec-row { display:flex; gap:10px; margin-bottom:24px; }
.h2-spec { background:rgba(255,255,255,.07); border:1px solid rgba(201,162,39,.2);
  border-radius:var(--r-md); padding:12px 16px; text-align:center; flex:1; }
.h2-spec strong { display:block; font-size:11px; color:rgba(255,255,255,.45); margin-bottom:4px; }
.h2-spec span   { font-size:13px; font-weight:700; color:#F5D87B; }
.h2-btn { display:inline-flex; align-items:center; padding:14px 28px;
  background:#C9A227; color:#fff; border-radius:var(--r-full);
  font-size:15px; font-weight:700; box-shadow:0 4px 18px rgba(201,162,39,.4); transition:.2s; }
.h2-btn:hover { background:#A8841A; transform:translateY(-1px); }

.h2-right { display:flex; flex-direction:column; align-items:center; gap:20px; }
.h2-orbit-zone { position:relative; width:280px; height:280px; flex-shrink:0; }
.h2-orbit { position:absolute; border-radius:50%; border:1.5px dashed rgba(201,162,39,.35); animation:spin-orbit 18s linear infinite; }
.h2-o1 { inset:-28px; }
.h2-o2 { inset:-14px; border-color:rgba(201,162,39,.2); animation-duration:12s; animation-direction:reverse; }
@keyframes spin-orbit { to { transform:rotate(360deg); } }
.h2-circle { position:absolute; inset:0; border-radius:50%; overflow:hidden;
  border:4px solid rgba(201,162,39,.3); box-shadow:0 0 50px rgba(201,162,39,.2); }
.h2-circle img { width:100%; height:100%; object-fit:cover; }
.h2-ib { position:absolute; background:rgba(255,255,255,.1); border:1px solid rgba(201,162,39,.45);
  border-radius:var(--r-full); padding:5px 12px; font-size:12px; font-weight:700;
  color:#F5D87B; backdrop-filter:blur(4px); white-space:nowrap; z-index:2; }

/* ─── SLIDE 3: 첩약건강보험 밝은 하늘 ────────────────── */
.h3 .h3-grad { position:absolute; inset:0;
  background:linear-gradient(135deg,#E0F2FE 0%,#BAE6FD 40%,#E0F7FF 100%); }

.h3-body { gap:60px; }
.h3-gov-badge { display:inline-block; background:#0F4A6E; color:#fff;
  font-size:12px; font-weight:700; padding:7px 16px;
  border-radius:var(--r-full); margin-bottom:20px; letter-spacing:.04em; }
.h3-em { font-style:normal; color:#0F4A6E; }
.h3-checklist { display:flex; flex-direction:column; gap:12px; margin-bottom:24px; }
.h3-chk { display:flex; align-items:flex-start; gap:10px; font-size:15px; color:var(--text-mid); }
.h3-chk > span { display:flex; align-items:center; justify-content:center;
  width:22px; height:22px; background:#0F4A6E; color:#fff;
  border-radius:50%; font-size:12px; font-weight:700; flex-shrink:0; margin-top:2px; }
.h3-btn { display:inline-flex; align-items:center; padding:14px 28px;
  background:#0F4A6E; color:#fff; border-radius:var(--r-full);
  font-size:15px; font-weight:700; box-shadow:0 4px 16px rgba(15,74,110,.3); transition:.2s; }
.h3-btn:hover { background:#083350; transform:translateY(-1px); }

.h3-main-card { background:#fff; border-radius:var(--r-lg); padding:44px 36px;
  box-shadow:0 8px 40px rgba(15,74,110,.15); text-align:center;
  border-top:5px solid #0F4A6E; }
.h3-pct { font-size:clamp(72px,8vw,96px); font-weight:900; color:#0F4A6E;
  line-height:1; letter-spacing:-.04em; }
.h3-pct span { font-size:.52em; }
.h3-pct-label { font-size:15px; font-weight:700; color:var(--text-soft); margin:6px 0 18px; }
.h3-card-hr { width:40px; height:3px; background:#38BDF8; margin:0 auto 20px; border-radius:2px; }
.h3-disease-grid { display:grid; grid-template-columns:1fr 1fr; gap:10px; text-align:left; }
.h3-di { display:flex; align-items:center; gap:8px;
  background:#F0F8FF; border-radius:var(--r-sm); padding:10px 14px;
  font-size:14px; font-weight:600; color:#0F4A6E; }
.h3-card-note { font-size:12px; color:var(--text-soft); margin-top:16px; }

/* ─── SLIDE 4: 여성 클리닉 딥 로즈 ──────────────────── */
.h4 .h4-ov { position:absolute; inset:0;
  background:linear-gradient(115deg,rgba(80,0,50,.88) 0%,rgba(130,20,80,.65) 55%,rgba(80,0,50,.25) 100%); }

.h4-body { align-items:center; }
.h4-icon-row { display:flex; gap:14px; flex-wrap:wrap; margin-bottom:24px; }
.h4-ic { display:flex; flex-direction:column; align-items:center; gap:7px; }
.h4-ic-circle { width:54px; height:54px; border-radius:50%;
  display:flex; align-items:center; justify-content:center; transition:.2s; }
.h4-ic-circle:hover { transform:scale(1.1); }
.h4-ic span { font-size:12px; font-weight:600; color:rgba(255,255,255,.8); }
.h4-btn-main { display:inline-flex; align-items:center; padding:14px 28px;
  background:#fff; color:#7C0052; border-radius:var(--r-full);
  font-size:15px; font-weight:700; transition:.2s; }
.h4-btn-main:hover { background:#FCE7F3; transform:translateY(-1px); }

.h4-right { }
.h4-info-cards { display:flex; flex-direction:column; gap:12px; }
.h4-icard { background:rgba(255,255,255,.12); backdrop-filter:blur(8px);
  border-radius:var(--r-md); padding:16px 18px;
  border-left:4px solid #FDA7C4; transition:.2s; }
.h4-icard:hover { background:rgba(255,255,255,.18); }
.h4-icard strong { display:block; font-size:15px; font-weight:700; color:#fff; margin-bottom:4px; }
.h4-icard p { font-size:13px; color:rgba(255,255,255,.65); line-height:1.55; margin-bottom:8px; }
.h4-ic-tag { display:inline-block; background:rgba(255,255,255,.15);
  color:rgba(255,255,255,.8); font-size:11px; font-weight:600;
  padding:3px 10px; border-radius:var(--r-full); }

/* ─── SLIDE 5: 한방입원실 하늘+네이비 ────────────────── */
.h5 .h5-ov { position:absolute; inset:0;
  background:linear-gradient(115deg,rgba(8,40,80,.88) 0%,rgba(15,74,110,.75) 50%,rgba(8,40,80,.4) 100%); }

.h5-checklist { display:flex; flex-direction:column; gap:13px; margin-bottom:24px; }
.h5-chk { display:flex; align-items:center; gap:12px; font-size:15px; color:rgba(255,255,255,.85); }
.h5-chk-ic { width:28px; height:28px; border-radius:8px;
  display:flex; align-items:center; justify-content:center; flex-shrink:0; }
.h5-chk strong { color:#fff; }

.h5-right { }
.h5-room-card { background:rgba(255,255,255,.95); backdrop-filter:blur(12px);
  border-radius:var(--r-lg); padding:28px 24px;
  box-shadow:0 16px 48px rgba(0,0,0,.25); }
.h5-rc-header { display:flex; align-items:center; gap:8px;
  font-size:14px; font-weight:700; color:#0F4A6E; margin-bottom:18px;
  padding-bottom:14px; border-bottom:1px solid #E2EAF0; }
.h5-room-types { display:flex; flex-direction:column; gap:10px; margin-bottom:18px; }
.h5-rt { display:flex; align-items:center; gap:10px;
  background:#F8FAFC; border-radius:var(--r-sm); padding:11px 14px; }
.h5-rt-badge { font-size:12px; font-weight:700; padding:3px 10px;
  border-radius:var(--r-full); flex-shrink:0; }
.h5-rt > span:nth-child(2) { flex:1; font-size:14px; font-weight:600; color:var(--text-dark); }
.h5-rt-ins { font-size:11px; color:var(--text-soft); flex-shrink:0; }
.h5-meal-preview { display:flex; align-items:center; gap:12px;
  background:#FEF9C3; border-radius:var(--r-md); padding:12px 16px; margin-bottom:16px; }
.h5-meal-icon { font-size:28px; }
.h5-meal-preview strong { display:block; font-size:14px; font-weight:700; color:#92400E; margin-bottom:2px; }
.h5-meal-preview p { font-size:12px; color:#B45309; margin:0; }
.h5-rc-btn { display:flex; align-items:center; justify-content:center;
  padding:13px; background:#0F4A6E; color:#fff;
  border-radius:var(--r-full); font-size:14px; font-weight:700; transition:.2s; }
.h5-rc-btn:hover { background:#083350; }

/* ══════════════════════════════════════════════════════════
   SIDEBAR v3 — 로고 위 + 메뉴 아래
══════════════════════════════════════════════════════════ */
#sidebar-fixed {
  position:fixed; right:0; top:50%; transform:translateY(-50%);
  z-index:900; display:flex; flex-direction:column;
  background:rgba(255,255,255,.97); backdrop-filter:blur(8px);
  border-radius:16px 0 0 16px;
  box-shadow:-4px 0 24px rgba(15,74,110,.15);
  min-width:120px;
}
/* 내부 버튼 라운드 처리 (overflow:hidden 제거로 모서리가 튀지 않게) */
#sidebar-fixed > .sb-logo-block:first-of-type { border-radius:16px 0 0 0; }
#sidebar-fixed > .sb-btn:last-of-type { border-radius:0 0 0 16px; }

/* 사이드바 로고 블록 */
.sb-logo-block { padding:16px 12px 12px; border-bottom:1px solid #E2EAF0; background:#F8FAFC; }
.sb-logo-link { display:flex; flex-direction:column; align-items:center; gap:7px; text-decoration:none; }
.sb-logo-link svg { width:52px; height:52px; }
.sb-logo-text { display:flex; flex-direction:column; align-items:center; gap:1px; }
.sb-logo-ko { font-size:13px; font-weight:800; color:#0F172A; letter-spacing:-.02em; }
.sb-logo-ko em { color:#0F4A6E; font-style:normal; }
.sb-logo-en { font-size:9px; color:#64748B; letter-spacing:.04em; }

/* 사이드바 버튼들 */
.sb-btn { display:flex; align-items:center; gap:9px; padding:10px 14px;
  border-left:3px solid var(--c,#0F4A6E); font-size:12px; font-weight:600;
  color:var(--text-dark); white-space:nowrap; transition:.18s;
  cursor:pointer; text-decoration:none; border-top:none; border-right:none; border-bottom:none; background:transparent; }
.sb-btn:hover { transform:translateX(-3px); background:#F0F8FF; color:var(--c,#0F4A6E); }
.sb-ic { display:flex; align-items:center; justify-content:center;
  width:28px; height:28px; border-radius:8px; flex-shrink:0; }
.sb-ic svg { width:15px; height:15px; }
.sb-phone-btn { background:#0F4A6E; color:#fff; border-left-color:#083350;
  padding:12px 14px; font-size:13px; font-weight:900; gap:8px; }
.sb-phone-btn:hover { background:#083350; transform:none; }
.sb-phone-btn svg { width:15px; height:15px; }

/* ─── 사이드바 접기/펴기 토글 ─────────────────────────────── */
#sidebar-fixed{
  transition:transform .35s cubic-bezier(.4,0,.2,1);
}
/* 접힌 상태: 본체 전체를 오른쪽 밖으로 밀되, 토글 버튼(30px)만 화면에 남기기 */
#sidebar-fixed.sb-collapsed{
  transform:translateY(-50%) translateX(100%);
}
#sidebar-fixed.sb-collapsed .sb-toggle{
  /* 접힘 상태일 때 토글만 다시 화면 안쪽으로 당겨오기 */
  left:-30px;
  /* 시각적 강조 — 컬러 변경 + 애니메이션 */
  background:#38BDF8;
  box-shadow:-3px 3px 14px rgba(56,189,248,.3);
  animation:sb-toggle-pulse 2s ease-in-out infinite;
}
@keyframes sb-toggle-pulse{
  0%,100%{box-shadow:-3px 3px 14px rgba(56,189,248,.3)}
  50%{box-shadow:-3px 3px 20px rgba(56,189,248,.6), 0 0 0 4px rgba(56,189,248,.15)}
}
.sb-toggle{
  position:absolute;
  left:-30px;
  top:50%;
  transform:translateY(-50%);
  width:30px;
  height:64px;
  background:#0F4A6E;
  color:#fff;
  border:none;
  border-radius:10px 0 0 10px;
  cursor:pointer;
  display:flex;
  align-items:center;
  justify-content:center;
  box-shadow:-3px 3px 10px rgba(15,74,110,.2);
  transition:background .2s;
  padding:0;
  z-index:901;
}
.sb-toggle:hover{background:#083350}
.sb-toggle-icon{
  width:18px;
  height:18px;
  transition:transform .35s cubic-bezier(.4,0,.2,1);
}
#sidebar-fixed.sb-collapsed .sb-toggle-icon{
  transform:rotate(180deg);
}

/* ─── 반응형 히어로 ─────────────────────────────────────── */
@media(max-width:1024px){
  .hs-body { gap:32px; }
  .h1-fc2,.h1-fc3 { display:none; }
  .h2-orbit-zone { width:220px; height:220px; }
}
@media(max-width:768px){
  .hero-slide { min-height:auto; }
  .hs-body { grid-template-columns:1fr; padding:36px 20px 28px; gap:24px; }
  .h1-right,.h2-right,.h3-right,.h4-right,.h5-right { display:none; }
  .h1-statbar { display:none; }
  #sidebar-fixed { display:none; }
}

/* ══════════════════════════════════════════════════════════
   HERO v5 추가 수정
══════════════════════════════════════════════════════════ */

/* 히어로 높이 — 27인치 FHD(1920×1080) 기준 최적화
   브라우저 내부세로 ~950px, 헤더 ~130px, 컨트롤 ~40px, 퀵섹션 ~330px 가시 확보
   - 작은 노트북(900h): ~460px
   - 27인치 FHD(1080h): ~510px  ← 기본
   - 27인치 QHD(1440h+): ~560px (캡) */
.hero-slide { 
  min-height: clamp(460px, calc(100vh - 440px), 560px);
  max-height: clamp(460px, calc(100vh - 440px), 560px);
  overflow: hidden;
}
.hero-controls { padding: 4px 0 6px; }
.hs-body { padding: 18px clamp(20px,5vw,64px) !important; }

/* ── Slide1: 순수 그라데이션 (배경사진 없음) ──────────── */
.h1-pure-grad {
  position: absolute; inset: 0;
  background: linear-gradient(125deg, #071E3D 0%, #0F3A6A 35%, #1A5490 65%, #0A2A55 100%);
}

/* ── Slide2: 공진단 궤도 + 사진 슬라이드쇼 ──────────── */
.h2-orbit-zone {
  position: relative; width: 420px; height: 420px;
  margin: 0 auto;
}
.h2-orbit {
  position: absolute; border-radius: 50%;
  border: 1.5px dashed rgba(201,162,39,.4);
  animation: h2-spin 20s linear infinite;
}
.h2-o1 { inset: -36px; }
.h2-o2 { inset: -18px; border-color: rgba(201,162,39,.22); animation-duration:13s; animation-direction:reverse; }
@keyframes h2-spin { to { transform: rotate(360deg); } }

.h2-circle {
  position: absolute; inset: 0; border-radius: 50%;
  overflow: hidden;
  border: 4px solid rgba(201,162,39,.35);
  box-shadow: 0 0 60px rgba(201,162,39,.25), inset 0 0 40px rgba(0,0,0,.4);
}
/* 이미지 슬라이드쇼 */
.h2-img {
  position: absolute; inset: 0;
  width: 100%; height: 100%; object-fit: cover;
  opacity: 0; transition: opacity 1s ease;
}
.h2-img.h2-img-active { opacity: 1; }

/* 약재 뱃지 — 궤도 바깥에 고정 */
.h2-orbit-badges { position: absolute; inset: -44px; pointer-events: none; }
.h2-ob {
  position: absolute;
  background: rgba(255,255,255,.10);
  border: 1px solid rgba(201,162,39,.5);
  border-radius: var(--r-full);
  padding: 5px 14px;
  font-size: 12px; font-weight: 700; color: #F5D87B;
  backdrop-filter: blur(6px); white-space: nowrap;
}
.h2-ob-top    { top: 0;   left: 50%; transform: translateX(-50%); }
.h2-ob-right  { top: 50%; right: 0;  transform: translateY(-50%); }
.h2-ob-bottom { bottom: 0; left: 50%; transform: translateX(-50%); }
.h2-ob-left   { top: 50%; left: 0;  transform: translateY(-50%); }

/* 펄스 효과 */
.h2-pulse {
  position: absolute; inset: 0; border-radius: 50%;
  border: 2px solid rgba(201,162,39,.3);
  animation: h2-pulse-anim 3s ease-out infinite;
}
.h2-pulse2 { animation-delay: 1.5s; }
@keyframes h2-pulse-anim {
  0%   { transform: scale(1);   opacity: .6; }
  100% { transform: scale(1.45); opacity: 0; }
}

/* ── Slide3 (여성): 아이콘 카드 그리드 ──────────────── */
.h3w-body { align-items: center; }
.h3w-icon-grid {
  display: grid; grid-template-columns: repeat(4, 1fr);
  gap: 12px; margin-bottom: 0;
}
.h3w-ic-card {
  display: flex; flex-direction: column; align-items: center; gap: 8px;
  background: rgba(255,255,255,.1);
  border: 1px solid rgba(255,255,255,.18);
  border-radius: var(--r-md); padding: 16px 10px;
  backdrop-filter: blur(8px); cursor: pointer; transition: .2s;
}
.h3w-ic-card:hover { background: rgba(255,255,255,.2); transform: translateY(-3px); }
.h3w-ic-circle {
  width: 52px; height: 52px; border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  flex-shrink: 0;
}
.h3w-ic-name { font-size: 14px; font-weight: 800; color: #fff; }
.h3w-ic-desc { font-size: 11px; color: rgba(255,255,255,.6); }

/* ── Slide5 (입원실): 우측 2열 체크리스트 ───────────── */
.h5-info-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px 20px;
  align-content: start;
}
.h5-info-col { display: flex; flex-direction: column; gap: 16px; }
.h5-info-item {
  display: flex; align-items: flex-start; gap: 12px;
  background: rgba(255,255,255,.12);
  border: 1px solid rgba(255,255,255,.18);
  border-radius: var(--r-md); padding: 14px 16px;
  backdrop-filter: blur(8px);
}
.h5-ii-icon {
  width: 32px; height: 32px; border-radius: 8px;
  display: flex; align-items: center; justify-content: center; flex-shrink: 0;
}
.h5-info-item strong { display: block; font-size: 14px; font-weight: 700; color: #fff; margin-bottom: 2px; }
.h5-info-item p { font-size: 12px; color: rgba(255,255,255,.65); margin: 0; line-height: 1.4; }
.h5-room-tags {
  grid-column: 1 / -1;
  display: flex; flex-direction: column; gap: 8px;
}
.h5-rt-tag {
  display: block; font-size: 13px; font-weight: 700;
  padding: 9px 16px; border-radius: var(--r-md);
  backdrop-filter: blur(4px);
}

/* ── 히어로 반응형 ───────────────────────────────────── */
@media (max-width: 1024px) {
  .hero-slide { min-height: 540px; max-height: none; }
  .h3w-icon-grid { grid-template-columns: repeat(2,1fr); }
  .h5-info-grid { grid-template-columns: 1fr; }
}
@media (max-width: 768px) {
  .hero-slide { min-height: auto; max-height: none; }
  .h3w-icon-grid { grid-template-columns: repeat(2,1fr); }
}

/* ══════════════════════════════════════════════════════════
   사이드바 순차 펄스 애니메이션
══════════════════════════════════════════════════════════ */

/* 기본 펄스 키프레임 — 자연스럽고 부드럽게 */
@keyframes sb-pulse {
  0%   { transform: scale(1);    opacity: 1; }
  40%  { transform: scale(1.18); opacity: 0.85; }
  70%  { transform: scale(1.08); opacity: 0.95; }
  100% { transform: scale(1);    opacity: 1; }
}

/* 로고 마크 펄스 */
@keyframes sb-logo-pulse {
  0%   { transform: scale(1);    filter: drop-shadow(0 0 0px rgba(56,189,248,0)); }
  40%  { transform: scale(1.14); filter: drop-shadow(0 0 8px rgba(56,189,248,.5)); }
  70%  { transform: scale(1.06); filter: drop-shadow(0 0 4px rgba(56,189,248,.25)); }
  100% { transform: scale(1);    filter: drop-shadow(0 0 0px rgba(56,189,248,0)); }
}

/* 애니메이션 클래스 */
.sb-anim-logo .sb-logo-link svg {
  animation: sb-logo-pulse 0.9s cubic-bezier(.4,0,.2,1) forwards;
}
.sb-anim-icon .sb-ic {
  animation: sb-pulse 0.75s cubic-bezier(.4,0,.2,1) forwards;
}

/* ══════════════════════════════════════════════════════════
   SLIDE 레이아웃 추가 — 최종판
══════════════════════════════════════════════════════════ */

/* ── Slide 1 중앙형 ─────────────────────────────────────── */
.h1c-wrap {
  flex:1; display:flex; align-items:center;
  position:relative; z-index:2;
}
.h1c-inner { width:100%; max-width:1280px; margin:0 auto; }
.h1c-eyetag {
  display:inline-flex; align-items:center; gap:7px;
  background:rgba(56,189,248,.18); border:1px solid rgba(56,189,248,.3);
  color:#7DD3FC; font-size:13px; font-weight:700; letter-spacing:.06em;
  padding:6px 16px; border-radius:var(--r-full); margin-bottom:18px;
}
.h1c-title {
  font-size:clamp(38px,5vw,68px); font-weight:900; color:#fff;
  line-height:1.12; letter-spacing:-.03em; margin-bottom:14px; text-align:center;
}
.h1c-title em { font-style:normal; color:#38BDF8; }
.h1c-lead {
  font-size:16px; color:rgba(255,255,255,.72); text-align:center; margin-bottom:24px;
}
/* 숫자 스탯 4개 */
.h1c-stats {
  display:flex; justify-content:center; gap:16px; flex-wrap:wrap; margin-bottom:20px;
}
.h1c-sc {
  background:rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.12);
  border-radius:var(--r-md); padding:14px 24px; text-align:center;
  backdrop-filter:blur(6px); min-width:100px;
  border-top:3px solid var(--ac,#38BDF8);
}
.h1c-sc span { display:block; font-size:22px; font-weight:900; color:var(--ac,#38BDF8); line-height:1; }
.h1c-sc small { display:block; font-size:12px; color:rgba(255,255,255,.55); margin-top:4px; }
.h1c-hashtags {
  display:flex; justify-content:center; gap:8px; flex-wrap:wrap; margin-bottom:22px;
}
.h1c-hashtags span {
  font-size:13px; font-weight:600; color:rgba(255,255,255,.7);
  background:rgba(255,255,255,.1); border:1px solid rgba(255,255,255,.18);
  padding:5px 13px; border-radius:var(--r-full);
}
.h1c-btns { display:flex; justify-content:center; gap:12px; }

/* ── Slide 3 여성 오른쪽 배치 ─────────────────────────── */
.h3w-right-wrap {
  position:relative; z-index:2; flex:1;
  display:flex; align-items:center; justify-content:flex-end;
  padding:44px clamp(20px,5vw,64px);
  width:100%; max-width:1280px; margin:0 auto;
}
.h3w-right-content { width:min(520px, 100%); }

/* ── Slide 4 첩약보험 중앙 3단 ────────────────────────── */
.h4i-center-wrap {
  position:relative; z-index:2; flex:1;
  display:flex; flex-direction:column; justify-content:center;
  padding:36px clamp(20px,5vw,64px);
  width:100%; max-width:1280px; margin:0 auto;
}
.h4i-center-top { text-align:center; margin-bottom:28px; }
.h4i-center-top .h3-gov-badge { display:inline-block; margin-bottom:14px; }

.h4i-cards {
  display:grid; grid-template-columns:1fr auto 1fr; gap:20px; align-items:start;
}
/* 좌 혜택 카드 */
.h4i-benefit-card {
  background:#fff; border-radius:var(--r-lg); padding:22px 20px;
  box-shadow:var(--shadow-md);
}
.h4i-bc-title {
  display:flex; align-items:center; gap:8px;
  font-size:14px; font-weight:700; color:#0F4A6E;
  margin-bottom:16px; padding-bottom:12px; border-bottom:1px solid #E2EAF0;
}
.h4i-bc-item {
  display:flex; align-items:flex-start; gap:10px; margin-bottom:12px;
}
.h4i-dot { width:10px; height:10px; border-radius:50%; flex-shrink:0; margin-top:4px; }
.h4i-bc-item strong { display:block; font-size:14px; font-weight:700; color:var(--text-dark); margin-bottom:2px; }
.h4i-bc-item p { font-size:12px; color:var(--text-soft); margin:0; }

/* 중앙 숫자 */
.h4i-center-num {
  display:flex; flex-direction:column; align-items:center;
  background:#fff; border-radius:var(--r-lg); padding:28px 36px;
  box-shadow:var(--shadow-lg); border-top:5px solid #0F4A6E;
  text-align:center; min-width:200px;
}
.h4i-big-pct {
  font-size:clamp(60px,7vw,80px); font-weight:900; color:#0F4A6E;
  line-height:1; letter-spacing:-.04em;
}
.h4i-big-pct span { font-size:.5em; }
.h4i-pct-label { font-size:14px; font-weight:700; color:var(--text-soft); margin:6px 0 14px; }
.h4i-divider { width:36px; height:3px; background:#38BDF8; border-radius:2px; margin-bottom:16px; }

/* 우 질환 카드 */
.h4i-right-col {}
.h4i-disease-title {
  display:flex; align-items:center; gap:8px;
  font-size:14px; font-weight:700; color:#0F4A6E;
  margin-bottom:12px;
}
.h4i-disease-cards { display:flex; flex-direction:column; gap:8px; }
.h4i-dc {
  background:#fff; border-radius:var(--r-md); padding:12px 16px;
  box-shadow:var(--shadow-sm);
}
.h4i-dc strong { display:block; font-size:14px; font-weight:700; color:var(--text-dark); margin-bottom:2px; }
.h4i-dc span { font-size:12px; color:var(--text-soft); }

/* ── 반응형 ─────────────────────────────────────────────── */
@media(max-width:1024px){
  .h4i-cards { grid-template-columns:1fr; gap:16px; }
  .h4i-center-num { padding:20px 24px; }
  .h3w-right-wrap { justify-content:center; }
  .h3w-right-content { width:100%; }
}
@media(max-width:768px){
  .h1c-stats { gap:10px; }
  .h1c-sc { padding:10px 16px; min-width:80px; }
  .h4i-center-wrap { padding:24px 20px; }
}



/* ══════════════════════════════════════════════════════════
   슬라이드 최종 수정 CSS
══════════════════════════════════════════════════════════ */

/* ── Slide2: 정사각형 스펙 박스 ─────────────────────────── */
.h2-spec-sq-row {
  display: flex; gap: 10px; margin-bottom: 20px;
}
.h2-spec-sq {
  background: rgba(255,255,255,.07);
  border: 1px solid rgba(201,162,39,.25);
  border-radius: var(--r-md);
  padding: 14px;
  text-align: center;
  flex: 1;
  aspect-ratio: 1 / 1;
  display: flex; flex-direction: column;
  align-items: center; justify-content: center;
  gap: 6px;
}
.h2-spec-sq strong {
  display: block; font-size: 12px; color: rgba(255,255,255,.5);
  font-weight: 600; letter-spacing: .04em;
}
.h2-spec-sq span {
  font-size: 15px; font-weight: 800; color: #F5D87B;
}

/* ── Slide3: 여성 우측 카드 ─────────────────────────────── */
.h3w-cards {
  display: flex; flex-direction: column; gap: 10px;
}
.h3w-card {
  display: flex; align-items: center; gap: 14px;
  background: rgba(255,255,255,.1);
  border-radius: var(--r-md); padding: 14px 16px;
  backdrop-filter: blur(8px);
  transition: background .2s;
}
.h3w-card:hover { background: rgba(255,255,255,.18); }
.h3w-card-icon {
  width: 40px; height: 40px; border-radius: 50%;
  display: flex; align-items: center; justify-content: center; flex-shrink: 0;
}
.h3w-card strong {
  display: block; font-size: 15px; font-weight: 700; color: #fff; margin-bottom: 2px;
}
.h3w-card p {
  font-size: 12px; color: rgba(255,255,255,.6); margin: 0; line-height: 1.4;
}

/* ── Slide4: 입원실 2x2 그리드 ──────────────────────────── */
.h5-room-grid {
  display: grid; grid-template-columns: 1fr 1fr; gap: 12px;
}
.h5-rg-item {
  background: rgba(255,255,255,.92); backdrop-filter: blur(8px);
  border-radius: var(--r-md); padding: 18px 16px;
  display: flex; flex-direction: column; gap: 6px;
}
.h5-rg-icon {
  width: 36px; height: 36px; border-radius: var(--r-sm);
  display: flex; align-items: center; justify-content: center;
  font-size: 18px; margin-bottom: 2px;
}
.h5-rg-item strong {
  font-size: 16px; font-weight: 800; color: var(--text-dark);
}
.h5-rg-item p {
  font-size: 12px; color: var(--text-soft); line-height: 1.5; margin: 0; flex: 1;
}
.h5-rg-tag {
  display: inline-block; font-size: 11px; font-weight: 700;
  padding: 3px 10px; border-radius: var(--r-full);
  margin-top: 4px;
}

/* ── Slide5: 첩약보험 심플 버전 ─────────────────────────── */
.h4i-simple-list { display: flex; flex-direction: column; gap: 10px; }
.h4i-sl-item {
  display: flex; align-items: center; gap: 10px;
  font-size: 15px; color: rgba(255,255,255,.85); font-weight: 500;
}
.h4i-sl-dot {
  width: 10px; height: 10px; border-radius: 50%; flex-shrink: 0;
}
.h4i-right-v2 {
  display: flex; flex-direction: column; gap: 16px;
}
.h4i-num-card {
  background: rgba(255,255,255,.12); backdrop-filter: blur(8px);
  border: 1px solid rgba(255,255,255,.2);
  border-radius: var(--r-lg); padding: 24px 32px; text-align: center;
  border-top: 4px solid #38BDF8;
}
.h4i-v2-pct {
  font-size: clamp(56px,6vw,72px); font-weight: 900; color: #fff;
  line-height: 1; letter-spacing: -.04em;
}
.h4i-v2-pct span { font-size: .5em; color: #38BDF8; }
.h4i-v2-label { font-size: 14px; color: rgba(255,255,255,.6); margin-top: 6px; }
.h4i-disease-v2 { background: rgba(255,255,255,.1); backdrop-filter: blur(8px); border-radius: var(--r-lg); padding: 16px 20px; }
.h4i-dv2-title {
  font-size: 13px; font-weight: 700; color: rgba(255,255,255,.6);
  letter-spacing: .06em; text-transform: uppercase; margin-bottom: 12px;
}
.h4i-dv2-list { display: flex; flex-direction: column; gap: 8px; }
.h4i-dv2-item {
  padding: 8px 12px; border-radius: var(--r-sm);
  background: rgba(255,255,255,.08);
}
.h4i-dv2-item strong { display: block; font-size: 14px; font-weight: 700; color: #fff; margin-bottom: 1px; }
.h4i-dv2-item span { font-size: 12px; color: rgba(255,255,255,.5); }

/* ── 공진단 이미지 크로스페이드 (끊김 없음) ─────────────── */
.h2-img {
  position: absolute; inset: 0;
  width: 100%; height: 100%; object-fit: cover;
  opacity: 0;
  transition: opacity 1.2s ease-in-out;
}
.h2-img.h2-img-active { opacity: 1; }

/* ── 반응형 ─────────────────────────────────────────────── */
@media(max-width:1024px){
  .h5-room-grid { grid-template-columns: 1fr 1fr; gap: 8px; }
  .h3w-cards { gap: 8px; }
  .h4i-right-v2 { gap: 10px; }
}
@media(max-width:768px){
  .h5-room-grid { grid-template-columns: 1fr; }
  .h3w-cards { display: none; }
}

/* ══════════════════════════════════════════════════════════
   최종 슬라이드 CSS 픽스
══════════════════════════════════════════════════════════ */

/* ── 히어로 폰트: Noto Serif KR 적용 ─────────────────────
   한의원 느낌의 세리프체, 타이틀에만 적용 */
.h1c-title {
  font-family: 'Noto Serif KR', serif;
  font-size: clamp(36px,5.5vw,72px) !important;
  font-weight: 700;
  color: #fff;
  line-height: 1.2;
  letter-spacing: -.01em;
  margin-bottom: 16px;
  text-align: center;
}
.h1c-title em { font-style: normal; color: #38BDF8; }

/* Slide1: 하단 스탯바 숨김 */
.h1 .h1-statbar { display: none !important; }

/* Slide1: 해시태그 스타일 정리 */
.h1c-hashtags span {
  background: rgba(255,255,255,.1) !important;
  border: 1px solid rgba(255,255,255,.2) !important;
  color: rgba(255,255,255,.75) !important;
}

/* ── Slide4: 글래스 2x2 카드 ────────────────────────────── */
.h5-glass-grid {
  display: grid; grid-template-columns: 1fr 1fr; gap: 14px;
  align-content: start;
}
.h5-gc {
  background: rgba(255,255,255,.09);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  border: 1px solid rgba(255,255,255,.18);
  border-radius: var(--r-lg);
  padding: 22px 20px;
  display: flex; flex-direction: column; gap: 5px;
  transition: background .2s;
}
.h5-gc:hover { background: rgba(255,255,255,.15); }
.h5-gc-num { font-size: 26px; font-weight: 900; line-height: 1; }
.h5-gc-title { font-size: 15px; font-weight: 700; color: #fff; }
.h5-gc-desc { font-size: 13px; color: rgba(255,255,255,.6); flex: 1; }
.h5-gc-tag { font-size: 12px; font-weight: 600; margin-top: 6px; }

/* ── Slide5: 첩약보험 우측 ───────────────────────────────── */
.h5i-pct-card {
  background: rgba(255,255,255,.1);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  border: 1px solid rgba(56,189,248,.35);
  border-radius: var(--r-lg);
  padding: 24px 28px;
  text-align: center;
  border-top: 4px solid #38BDF8;
}
.h5i-pct-num {
  font-size: clamp(56px,6vw,76px);
  font-weight: 900; color: #fff;
  line-height: 1; letter-spacing: -.04em;
}
.h5i-pct-num span { font-size: .5em; color: #38BDF8; }
.h5i-pct-sub { font-size: 14px; color: rgba(255,255,255,.6); margin-top: 6px; }

.h5i-disease-grid {
  display: grid; grid-template-columns: 1fr 1fr; gap: 10px;
}
.h5i-dc {
  background: rgba(255,255,255,.09);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  border: 1px solid rgba(255,255,255,.15);
  border-radius: var(--r-md);
  padding: 14px 16px;
}
.h5i-dc strong { display: block; font-size: 15px; font-weight: 700; color: #fff; margin-bottom: 3px; }
.h5i-dc span { font-size: 12px; color: rgba(255,255,255,.55); }

/* ── 반응형 ─────────────────────────────────────────────── */
@media(max-width:1024px){
  .h5-glass-grid { grid-template-columns: 1fr 1fr; }
  .h5i-disease-grid { grid-template-columns: 1fr 1fr; }
}
@media(max-width:768px){
  .h5-glass-grid { grid-template-columns: 1fr 1fr; }
  .h5i-disease-grid { grid-template-columns: 1fr; }
  .h3w-cards { gap: 8px; }
}

/* ══════════════════════════════════════════════════════════
   퀵액션 섹션 — 정상화
══════════════════════════════════════════════════════════ */
.quick-section { background: #fff; border-bottom: 1px solid #E2EAF0; }
.quick-grid { display: grid; grid-template-columns: repeat(3,1fr); }
.quick-col {
  padding: 32px 28px !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: flex-start !important;
  min-height: auto !important;
  height: auto !important;
}
.quick-col + .quick-col { border-left: 1px solid #E2EAF0; }

/* 진료시간 */
.hours-list { display: flex; flex-direction: column; gap: 8px; margin-bottom: 16px; }
.hours-row { display: flex; align-items: center; justify-content: space-between; padding: 9px 14px; background: #F8FAFC; border-radius: var(--r-sm); }
.hr-day { font-size: 14px; font-weight: 700; color: var(--text-dark); min-width: 60px; }
.hr-time { font-size: 14px; font-weight: 500; color: var(--text-mid); }
.hr-time em { font-style: normal; font-size: 11px; font-weight: 700; color: var(--coral); background: var(--coral-light); padding: 2px 7px; border-radius: 99px; margin-left: 6px; }
.hours-special { background: #FFF7ED; }
.hours-off { background: #F8FAFC; opacity: .55; }
.q-reserve-btn { display: flex; align-items: center; justify-content: center; padding: 10px; background: var(--navy); color: #fff; border-radius: var(--r-full); font-size: 13.5px; font-weight: 700; transition: .2s; margin-top: 4px; }
.q-reserve-btn:hover { background: var(--navy-deep); }

/* 예약 아이콘 */
.res-icon-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 10px; text-align: center; margin-bottom: 4px; }
.ri-item { display: flex; flex-direction: column; align-items: center; gap: 7px; cursor: pointer; }
.ri-badge { width: 58px; height: 58px; border-radius: 16px; display: flex; align-items: center; justify-content: center; margin: 0 auto; box-shadow: 0 4px 12px rgba(0,0,0,.12); transition: .2s; }
.ri-badge:hover { transform: translateY(-3px); }
.ri-badge svg { width: 26px; height: 26px; }
.kakao-btn { background: #FEE500 !important; }
.ri-item span { font-size: 12px; font-weight: 600; color: var(--text-soft); }

/* 후기 슬라이더 */
.review-slider-wrap { overflow: hidden; position: relative; }
.review-track { display: flex; transition: transform .45s cubic-bezier(.4,0,.2,1); }
.review-slide { flex: 0 0 100%; }
.review-card { border-radius: var(--r-md); padding: 20px 18px 16px; }
.rc-blue { background: #EFF6FF; }
.rc-rose { background: #FFF1F2; }
.rc-green { background: #F0FDF4; }
.rc-quote { font-size: 42px; color: rgba(0,0,0,.08); line-height: 1; font-family: Georgia,serif; margin-bottom: -8px; }
.review-card p { font-size: 14px; color: var(--text-mid); line-height: 1.72; margin-bottom: 10px; }
.rc-meta { display: flex; align-items: center; gap: 8px; }
.rc-stars { color: #FBBF24; font-size: 13px; }
.rc-meta span:last-child { font-size: 12px; color: var(--text-soft); font-weight: 600; }
.review-nav { display: flex; align-items: center; justify-content: center; gap: 10px; margin-top: 12px; }
.rv-prev, .rv-next { width: 28px; height: 28px; border-radius: 50%; background: #F1F5F9; display: flex; align-items: center; justify-content: center; cursor: pointer; border: none; transition: .2s; }
.rv-prev:hover, .rv-next:hover { background: var(--navy); }
.rv-prev:hover svg, .rv-next:hover svg { stroke: #fff; }
.rv-prev svg, .rv-next svg { width: 12px; height: 12px; stroke: var(--text-soft); fill: none; stroke-width: 2.5; }
.rv-dots { display: flex; gap: 5px; }
.rv-dot { width: 6px; height: 6px; border-radius: 50%; background: #CBD8E8; border: none; cursor: pointer; transition: .2s; }
.rv-dot.active { background: var(--navy); width: 18px; border-radius: 3px; }

@media(max-width:768px){
  .quick-grid { grid-template-columns: 1fr; }
  .quick-col + .quick-col { border-left: none; border-top: 1px solid #E2EAF0; }
}

/* ══════════════════════════════════════════════════════════
   v8 슬라이드 CSS — 폰트 Pretendard, 깔끔
══════════════════════════════════════════════════════════ */

/* 히어로 전체: Noto Serif 제거, Pretendard로 통일 */
.hero-slide, .hero-slide * {
  font-family: 'Pretendard Variable', 'Pretendard', -apple-system, sans-serif !important;
}

/* ── SLIDE 1: 3단 레이아웃 ───────────────────────────────── */
.v8-pain { position: relative; overflow: hidden; }
.v8-bg { position: absolute; inset: 0; }
.v8-bg-grad { position: absolute; inset: 0; background: linear-gradient(135deg, #040D1F 0%, #091A3B 45%, #0B2352 100%); }
.v8-circle { position: absolute; border-radius: 50%; opacity: .07; }
.v8-c1 { width: 600px; height: 600px; background: #38BDF8; top: -200px; right: -100px; }
.v8-c2 { width: 400px; height: 400px; background: #6366F1; bottom: -100px; left: 10%; }
.v8-c3 { width: 300px; height: 300px; background: #EF4444; top: 30%; left: 35%; }

.v8-pain-inner {
  position: relative; z-index: 2;
  display: grid; grid-template-columns: 200px 1fr 280px;
  gap: 48px; align-items: center;
  padding: 44px clamp(20px,5vw,64px);
  width: 100%; max-width: 1280px; margin: 0 auto;
  min-height: inherit; max-height: inherit;
}

/* 좌 숫자 카드 3개 */
.v8-left-stats { display: flex; flex-direction: column; gap: 12px; }
.v8-stat-card {
  background: rgba(255,255,255,.06); border: 1px solid rgba(255,255,255,.1);
  border-radius: 14px; padding: 16px 20px;
  display: flex; flex-direction: column; gap: 4px;
  backdrop-filter: blur(8px);
}
.v8-stat-n { font-size: 28px; font-weight: 800; color: #fff; line-height: 1; }
.v8-stat-n em { font-style: normal; color: #38BDF8; font-size: .7em; }
.v8-stat-l { font-size: 12px; color: rgba(255,255,255,.5); font-weight: 500; }

/* 중앙 타이포 */
.v8-center-text { text-align: center; }
.v8-tag {
  display: inline-flex; align-items: center;
  background: rgba(56,189,248,.15); border: 1px solid rgba(56,189,248,.3);
  color: #7DD3FC; font-size: 13px; font-weight: 600; letter-spacing: .06em;
  padding: 6px 16px; border-radius: 99px; margin-bottom: 20px;
}
.v8-title {
  font-size: clamp(38px,5vw,66px); font-weight: 800;
  color: #fff; line-height: 1.15; letter-spacing: -.03em; margin-bottom: 14px;
}
.v8-title span { color: #38BDF8; }
.v8-sub { font-size: 16px; color: rgba(255,255,255,.6); margin-bottom: 28px; }
.v8-btns { display: flex; justify-content: center; gap: 12px; flex-wrap: wrap; }
.v8-btn-main {
  display: inline-flex; align-items: center; padding: 14px 28px;
  background: #38BDF8; color: #fff; border-radius: 99px;
  font-size: 15px; font-weight: 700; transition: .2s;
  box-shadow: 0 4px 16px rgba(56,189,248,.35);
}
.v8-btn-main:hover { background: #0EA5E9; transform: translateY(-1px); }
.v8-btn-ghost {
  display: inline-flex; align-items: center; padding: 14px 28px;
  background: rgba(255,255,255,.1); color: #fff;
  border: 1.5px solid rgba(255,255,255,.3); border-radius: 99px;
  font-size: 15px; font-weight: 700; transition: .2s; backdrop-filter: blur(4px);
}
.v8-btn-ghost:hover { background: rgba(255,255,255,.18); }

/* 우 치료 리스트 */
.v8-right-list { display: flex; flex-direction: column; gap: 10px; }
.v8-treat-item {
  display: flex; align-items: flex-start; gap: 12px;
  background: rgba(255,255,255,.05); border: 1px solid rgba(255,255,255,.08);
  border-radius: 12px; padding: 13px 16px; backdrop-filter: blur(6px);
}
.v8-ti-dot {
  width: 8px; height: 8px; border-radius: 50%; background: #38BDF8;
  flex-shrink: 0; margin-top: 5px;
}
.v8-treat-item strong { display: block; font-size: 14px; font-weight: 700; color: #fff; margin-bottom: 2px; }
.v8-treat-item span { font-size: 12px; color: rgba(255,255,255,.5); line-height: 1.4; }

/* ── SLIDE 2: 약재 뱃지 원 가장자리 밀착 ──────────────── */
.h2-ob2 {
  position: absolute;
  background: rgba(201,162,39,.18);
  border: 1px solid rgba(201,162,39,.5);
  border-radius: 99px; padding: 5px 12px;
  font-size: 12px; font-weight: 700; color: #F5D87B;
  backdrop-filter: blur(6px); white-space: nowrap; z-index: 10;
}

/* ── SLIDE 3: 여성 카드 (색상 라인 없음) ─────────────────── */
.v8-women-cards { display: flex; flex-direction: column; gap: 10px; }
.v8-wc {
  display: flex; align-items: center; gap: 14px;
  background: rgba(255,255,255,.08); border: 1px solid rgba(255,255,255,.12);
  border-radius: 14px; padding: 14px 18px; backdrop-filter: blur(8px); transition: .2s;
}
.v8-wc:hover { background: rgba(255,255,255,.14); }
.v8-wc-icon {
  width: 42px; height: 42px; border-radius: 50%;
  background: rgba(255,255,255,.08);
  display: flex; align-items: center; justify-content: center; flex-shrink: 0;
}
.v8-wc strong { display: block; font-size: 15px; font-weight: 700; color: #fff; margin-bottom: 2px; }
.v8-wc span { font-size: 12px; color: rgba(255,255,255,.55); line-height: 1.4; }

/* ── SLIDE 4: 입원실 그리드 (색상 라인 없음) ─────────────── */
.v8-room-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.v8-rg {
  background: rgba(255,255,255,.08); border: 1px solid rgba(255,255,255,.14);
  border-radius: 14px; padding: 20px 18px; backdrop-filter: blur(10px); transition: .2s;
}
.v8-rg:hover { background: rgba(255,255,255,.14); }
.v8-rg-n { font-size: 20px; font-weight: 800; color: #fff; margin-bottom: 6px; }
.v8-rg p { font-size: 13px; color: rgba(255,255,255,.6); line-height: 1.6; margin: 0; }

/* ── SLIDE 5: 첩약보험 질환 카드 ─────────────────────────── */
.v8-ins-right { display: flex; flex-direction: column; gap: 10px; }
.v8-ins-dc {
  border: 1px solid; border-radius: 14px; padding: 16px 20px;
  backdrop-filter: blur(8px); transition: .2s;
}
.v8-ins-dc:hover { background: rgba(255,255,255,.14) !important; }
.v8-ins-dc strong { display: block; font-size: 16px; font-weight: 700; color: #fff; margin-bottom: 3px; }
.v8-ins-dc span { font-size: 13px; color: rgba(255,255,255,.55); }

/* 퀵액션 높이 조정 — 한 화면에 들어가게 초압축 */
.quick-section {
  overflow: visible;
  padding-top: 0;
  padding-bottom: 16px;
  margin-top: -4px;
}
.quick-col {
  padding: 16px 22px !important;
  display: flex !important;
  flex-direction: column;
}
.quick-title { margin-bottom: 10px !important; }

/* 좌·중·우 박스 내부 CTA·슬라이더가 바닥 붙도록 (중앙만) */
.quick-col .status-cta {
  margin-top: auto;
}
/* 좌측 오시는 길: 지도버튼을 리스트 바로 밑에 따라붙게 */
.quick-col .q-reserve-btn {
  margin-top: 6px;
}
.review-slider-wrap {
  display: flex;
  flex-direction: column;
  flex: 1;
  min-height: 0;
}
.review-track {
  flex: 1;
  min-height: 0;
  display: flex;
}
.review-track > .review-slide {
  flex: 0 0 100%;
  min-width: 100%;
}
.review-nav {
  margin-top: 12px;
}

/* ══════════════════════════════════════════════════════════════════════════
   오시는 길 블록 (좌측 quick-col)
   ══════════════════════════════════════════════════════════════════════════ */
.location-address {
  padding: 9px 12px;
  background: #F8FAFC;
  border-left: 3px solid #B91C1C;
  border-radius: 0 6px 6px 0;
  margin-bottom: 10px;
}
.la-line1 {
  font-size: 13.5px;
  font-weight: 700;
  color: #0F172A;
  letter-spacing: -.015em;
  line-height: 1.35;
}
.la-floor {
  font-style: normal;
  color: #B91C1C;
  font-weight: 700;
  letter-spacing: .01em;
  margin-left: 4px;
  font-size: 13px;
  white-space: nowrap;
}
.la-line2 {
  font-size: 12px;
  color: #64748B;
  margin-top: 4px;
  letter-spacing: -.01em;
  line-height: 1.4;
}

.location-list {
  display: flex;
  flex-direction: column;
  gap: 6px;
  margin-bottom: 10px;
}
.loc-row {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 7px 10px;
  border-radius: 7px;
  background: #fff;
  border: 1px solid #E2E8F0;
  transition: all .2s;
}
.loc-row:hover {
  background: #F8FAFC;
  border-color: #CBD5E1;
}
.loc-ic {
  width: 28px;
  height: 28px;
  border-radius: 7px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.loc-ic svg {
  width: 14px;
  height: 14px;
}
.loc-ic-subway { background: #FEE2E2; color: #B91C1C; }
.loc-ic-bus    { background: #DBEAFE; color: #1D4ED8; }
.loc-ic-parking { background: #E0E7FF; color: #4338CA; }

.loc-txt {
  flex: 1;
  min-width: 0;
}
.loc-label {
  font-size: 13px;
  font-weight: 700;
  color: #0F172A;
  letter-spacing: -.01em;
  line-height: 1.3;
}
.loc-label em {
  font-style: normal;
  color: #B91C1C;
}
.loc-sub {
  font-size: 11.5px;
  color: #64748B;
  margin-top: 1px;
  letter-spacing: -.01em;
}

/* ══════════════════════════════════════════════════════════════════════════
   시그니처 3대 치료 (좌측 quick-col) - 본초 톤과 연결 (쑥색 계열)
   ══════════════════════════════════════════════════════════════════════════ */
.sig-list {
  display: flex;
  flex-direction: column;
  gap: 6px;
  margin-bottom: 10px;
}
.sig-item {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 9px 12px;
  border-radius: 8px;
  background: #fff;
  border: 1px solid #E2E8F0;
  text-decoration: none;
  transition: all .22s ease;
  position: relative;
}
.sig-item:hover {
  border-color: #047857;
  background: #F0FDF4;
  transform: translateX(2px);
}

/* 한자 블록 (좌측) */
.sig-hanja {
  width: 38px;
  height: 38px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: 'Noto Serif KR', 'Nanum Myeongjo', serif;
  font-weight: 300;
  font-size: 22px;
  color: #047857;
  background: linear-gradient(135deg, #D1FAE5 0%, #A7F3D0 100%);
  border-radius: 7px;
  flex-shrink: 0;
  letter-spacing: -.04em;
  line-height: 1;
  transition: all .22s ease;
}
.sig-item:hover .sig-hanja {
  background: linear-gradient(135deg, #047857 0%, #065F46 100%);
  color: #fff;
  transform: scale(1.05);
}

.sig-txt {
  flex: 1;
  min-width: 0;
}
.sig-name {
  font-size: 14px;
  font-weight: 800;
  color: #0F172A;
  letter-spacing: -.015em;
  line-height: 1.25;
}
.sig-ko-sub {
  font-family: 'Noto Serif KR', 'Nanum Myeongjo', serif;
  font-style: normal;
  font-size: 11px;
  color: #047857;
  font-weight: 400;
  margin-left: 3px;
  letter-spacing: -.02em;
  opacity: .7;
}
.sig-sub {
  font-size: 11.5px;
  color: #64748B;
  margin-top: 1px;
  letter-spacing: -.01em;
  line-height: 1.35;
}
.sig-arrow {
  width: 14px;
  height: 14px;
  color: #CBD5E1;
  transition: all .22s ease;
  flex-shrink: 0;
}
.sig-item:hover .sig-arrow {
  color: #047857;
  transform: translateX(3px);
}

/* 하단 한 줄 소개 */
.sig-note {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 8px 12px;
  background: linear-gradient(135deg, rgba(5, 150, 105, .08) 0%, rgba(5, 150, 105, .04) 100%);
  border-radius: 7px;
  margin-bottom: 10px;
  font-size: 11.5px;
  color: #065F46;
  font-weight: 600;
  letter-spacing: -.01em;
}
.sig-note svg {
  width: 13px;
  height: 13px;
  color: #047857;
  flex-shrink: 0;
}
.sig-note em {
  font-style: normal;
  color: #047857;
  font-weight: 800;
}

/* CTA 버튼 시그니처 톤 */
.q-sig-btn {
  background: #047857 !important;
}
.q-sig-btn:hover {
  background: #065F46 !important;
}

/* ══════════════════════════════════════════════════════════════════════════
   전대서TV 유튜브 채널 (좌측 quick-col) - 자체 채널 메인 영상 노출
   ══════════════════════════════════════════════════════════════════════════ */
.yt-col {
  display: flex;
  flex-direction: column;
}

/* 상단 타이틀 라인 (로고 + 구독자 수) */
.yt-title-row {
  display: flex !important;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 14px !important;
}
.yt-title-row .qtitle-left {
  display: flex;
  align-items: center;
  gap: 8px;
  font-weight: 800;
  color: #0F172A;
  font-size: 15px;
  letter-spacing: -.015em;
}
.qtitle-icon.yt-ico {
  background: #FF0000 !important;
  width: 28px;
  height: 28px;
  border-radius: 6px;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 2px 6px rgba(255, 0, 0, .25);
}
.qtitle-icon.yt-ico svg {
  width: 18px;
  height: 18px;
}

/* 채널 바로가기 링크 (심플한 텍스트 링크) */
.yt-channel-link {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  font-size: 12px;
  color: #64748B;
  font-weight: 600;
  text-decoration: none;
  letter-spacing: -.01em;
  transition: color .2s ease;
  padding: 4px 2px;
}
.yt-channel-link:hover {
  color: #DC2626;
}

/* 메인 썸네일 블록 (클릭 영역) */
.yt-main {
  display: block;
  text-decoration: none;
  color: inherit;
  margin-bottom: 10px;
  transition: transform .25s ease;
}
.yt-main:hover {
  transform: translateY(-2px);
}
.yt-main:hover .yt-play-btn .yt-play-bg {
  fill: #FF0000;
}
.yt-main:hover .yt-play-btn {
  transform: translate(-50%, -50%) scale(1.08);
}
.yt-main:hover .yt-main-title {
  color: #DC2626;
}

/* 썸네일 이미지 박스 */
.yt-col .yt-thumb {
  position: relative;
  width: 100%;
  aspect-ratio: 16 / 9;
  border-radius: 10px;
  overflow: hidden;
  background: #111;
  box-shadow: 0 4px 14px rgba(0, 0, 0, .12);
  margin-bottom: 0;
  cursor: pointer;
}
.yt-col .yt-thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform .4s ease;
}
.yt-main:hover .yt-thumb img {
  transform: scale(1.03);
}

/* 썸네일 위 어두운 그라데이션 (상단·하단) */
.yt-thumb-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(
    to bottom,
    rgba(0, 0, 0, .45) 0%,
    rgba(0, 0, 0, 0) 30%,
    rgba(0, 0, 0, 0) 60%,
    rgba(0, 0, 0, .55) 100%
  );
  pointer-events: none;
}

/* 상단 메타 (NEW 뱃지 + 조회수) */
.yt-top-meta {
  position: absolute;
  top: 10px;
  left: 10px;
  right: 10px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  z-index: 2;
  pointer-events: none;
}
.yt-badge-new {
  background: #DC2626;
  color: #fff;
  font-size: 10px;
  font-weight: 800;
  padding: 3px 8px;
  border-radius: 4px;
  letter-spacing: .08em;
  box-shadow: 0 2px 6px rgba(220, 38, 38, .4);
}
.yt-views {
  color: #fff;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: -.01em;
  text-shadow: 0 1px 3px rgba(0, 0, 0, .6);
}

/* 중앙 재생 버튼 (유튜브 빨간 버튼) */
.yt-play-btn {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 68px;
  height: 48px;
  z-index: 2;
  transition: transform .25s ease;
  pointer-events: none;
  filter: drop-shadow(0 2px 8px rgba(0, 0, 0, .4));
}
.yt-play-btn svg {
  width: 100%;
  height: 100%;
}
.yt-play-bg {
  fill: rgba(33, 33, 33, .85);
  transition: fill .2s ease;
}

/* 우측 하단 재생 시간 */
.yt-duration {
  position: absolute;
  bottom: 8px;
  right: 8px;
  background: rgba(0, 0, 0, .8);
  color: #fff;
  font-size: 11px;
  font-weight: 600;
  padding: 2px 5px;
  border-radius: 3px;
  letter-spacing: -.01em;
  z-index: 2;
}

/* 메인 영상 제목 + 메타 (썸네일 아래) */
.yt-main-info {
  padding: 10px 2px 0;
}
.yt-main-title {
  font-size: 13.5px;
  font-weight: 700;
  color: #0F172A;
  line-height: 1.4;
  letter-spacing: -.02em;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  transition: color .2s ease;
}
.yt-main-meta {
  display: flex;
  align-items: center;
  gap: 5px;
  margin-top: 5px;
  font-size: 11.5px;
  color: #64748B;
  letter-spacing: -.01em;
}
.yt-channel-name {
  color: #334155;
  font-weight: 600;
}
.yt-meta-dot {
  opacity: .6;
}

/* 원장 저자 · 수상 한 줄 (메인 영상 아래) */
.yt-credential {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-top: 12px;
  padding: 10px 12px;
  background: linear-gradient(135deg, #FEF2F2 0%, #FEF9F2 100%);
  border: 1px solid #FECACA;
  border-radius: 10px;
}
.yt-cred-item {
  display: flex;
  align-items: center;
  gap: 8px;
  flex: 1;
  min-width: 0;
}
.yt-cred-ico {
  width: 16px;
  height: 16px;
  color: #DC2626;
  flex-shrink: 0;
}
.yt-cred-ico-award {
  color: #D97706;
}
.yt-cred-text {
  display: flex;
  flex-direction: column;
  gap: 1px;
  min-width: 0;
  flex: 1;
}
.yt-cred-text em {
  font-style: normal;
  font-size: 11.5px;
  font-weight: 800;
  color: #0F172A;
  letter-spacing: -.015em;
  line-height: 1.2;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.yt-cred-text span {
  font-size: 10px;
  color: #64748B;
  font-weight: 500;
  letter-spacing: -.01em;
  line-height: 1.2;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.yt-cred-divider {
  width: 1px;
  height: 28px;
  background: #FCA5A5;
  opacity: .5;
  flex-shrink: 0;
}

/* 모달 (유튜브 embed 재생) */
.yt-modal {
  position: fixed;
  inset: 0;
  background: rgba(0, 0, 0, .85);
  display: none;
  align-items: center;
  justify-content: center;
  z-index: 9999;
  padding: 20px;
  opacity: 0;
  transition: opacity .2s ease;
}
.yt-modal.is-open {
  display: flex;
  opacity: 1;
}
.yt-modal-inner {
  position: relative;
  width: 100%;
  max-width: 960px;
  aspect-ratio: 16 / 9;
  background: #000;
  border-radius: 10px;
  overflow: hidden;
  box-shadow: 0 20px 60px rgba(0, 0, 0, .6);
}
.yt-modal-inner iframe {
  width: 100%;
  height: 100%;
  border: 0;
}
.yt-modal-close {
  position: absolute;
  top: -42px;
  right: 0;
  width: 34px;
  height: 34px;
  background: rgba(255, 255, 255, .15);
  border: 0;
  border-radius: 50%;
  color: #fff;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: background .2s ease;
}
.yt-modal-close:hover {
  background: rgba(255, 255, 255, .3);
}
.yt-modal-close svg {
  width: 18px;
  height: 18px;
}

/* ══════════════════════════════════════════════════════════════════════════
   치료 후기 카드 (우측 quick-col) - 더 풍성한 정보
   ══════════════════════════════════════════════════════════════════════════ */
.review-card {
  padding: 14px 14px 12px !important;
  border-radius: 10px !important;
  display: flex;
  flex-direction: column;
  gap: 8px;
  height: 100%;
}
.review-slide {
  display: flex;
  flex-direction: column;
}
.rc-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.rc-tag {
  display: inline-block;
  padding: 3px 9px;
  background: rgba(15, 74, 110, .08);
  color: #0F4A6E;
  border-radius: 4px;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: -.01em;
}
.rc-rating {
  font-size: 12.5px;
  font-weight: 800;
  color: #D97706;
  letter-spacing: -.01em;
  font-variant-numeric: tabular-nums;
}
.rc-quote-text {
  font-size: 13px;
  color: #334155;
  line-height: 1.7;
  margin: 0;
  letter-spacing: -.015em;
  word-break: keep-all;
  flex: 1;
}
.rc-quote-text b {
  font-weight: 700;
  color: #0F172A;
  background: linear-gradient(180deg, transparent 60%, rgba(15,74,110,.12) 60%);
  padding: 0 2px;
}
.rc-foot {
  display: flex;
  align-items: center;
  gap: 8px;
  padding-top: 10px;
  border-top: 1px dashed rgba(15,23,42,.1);
}
.rc-author {
  font-size: 11.5px;
  font-weight: 700;
  color: #0F172A;
  letter-spacing: -.01em;
}
.rc-period {
  font-size: 11.5px;
  color: #64748B;
  font-weight: 500;
}
.rc-dot {
  width: 3px;
  height: 3px;
  border-radius: 50%;
  background: #CBD5E1;
}
/* 카드별 태그 색감 */
.rc-blue .rc-tag  { background: rgba(37, 99, 235, .1); color: #1D4ED8; }
.rc-rose .rc-tag  { background: rgba(127, 46, 62, .1); color: #7F2E3E; }
.rc-green .rc-tag { background: rgba(5, 150, 105, .1); color: #047857; }

/* ══════════════════════════════════════════════════════════════════════════
   실시간 진료 현황 블록 (중앙 quick-col)
   ══════════════════════════════════════════════════════════════════════════ */

/* 제목 + 뱃지 한 줄 배치 */
.status-title-row {
  display: flex !important;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 6px !important;
}
.qtitle-left {
  display: flex;
  align-items: center;
  gap: 10px;
}
.status-badge {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  padding: 5px 11px 5px 10px;
  border-radius: 9999px;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: -.01em;
  transition: all .3s ease;
  background: #F1F5F9;
  color: #64748B;
  flex-shrink: 0;
}
.status-dot {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #94A3B8;
  flex-shrink: 0;
  position: relative;
}
/* 진료 중 — 초록색 + 펄스 */
.status-badge[data-level="open"] {
  background: #DCFCE7;
  color: #15803D;
}
.status-badge[data-level="open"] .status-dot {
  background: #22C55E;
  box-shadow: 0 0 0 0 rgba(34,197,94,.5);
  animation: pulse-green 2s infinite;
}
@keyframes pulse-green {
  0%   { box-shadow: 0 0 0 0 rgba(34,197,94,.5); }
  70%  { box-shadow: 0 0 0 7px rgba(34,197,94,0); }
  100% { box-shadow: 0 0 0 0 rgba(34,197,94,0); }
}
/* 곧 시작 / 점심 시간 — 노랑 */
.status-badge[data-level="soon"],
.status-badge[data-level="lunch"] {
  background: #FEF9C3;
  color: #A16207;
}
.status-badge[data-level="soon"] .status-dot,
.status-badge[data-level="lunch"] .status-dot {
  background: #EAB308;
}
/* 마감 / 휴진 — 회색 */
.status-badge[data-level="closed"],
.status-badge[data-level="off"] {
  background: #F1F5F9;
  color: #64748B;
}
.status-badge[data-level="closed"] .status-dot,
.status-badge[data-level="off"] .status-dot {
  background: #94A3B8;
}

.status-detail {
  font-size: 12.5px;
  color: var(--text-mid, #475569);
  line-height: 1.4;
  letter-spacing: -.01em;
  margin-bottom: 12px;
  padding-left: 46px;
}

/* 공지 오버라이드 */
.status-notice {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  padding: 10px 12px;
  background: #FEF3C7;
  border-left: 3px solid #F59E0B;
  color: #92400E;
  font-size: 12.5px;
  font-weight: 600;
  line-height: 1.5;
  margin-bottom: 14px;
  border-radius: 3px;
}
.status-notice svg {
  width: 15px;
  height: 15px;
  flex-shrink: 0;
  margin-top: 1px;
}

/* 주간 스케줄 미니 */
.schedule-mini {
  display: flex;
  flex-direction: column;
  gap: 1px;
  background: #E2E8F0;
  padding: 1px;
  border-radius: 8px;
  margin-bottom: 12px;
  overflow: hidden;
}
.sm-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 8px 12px;
  background: #fff;
  font-size: 12.5px;
  transition: all .2s;
  line-height: 1.4;
  gap: 10px;
}
.sm-day {
  font-weight: 700;
  color: var(--text-dark, #0F172A);
  min-width: 28px;
  white-space: nowrap;
  flex-shrink: 0;
}
.sm-time {
  color: var(--text-mid, #475569);
  font-variant-numeric: tabular-nums;
  letter-spacing: -.01em;
}
.sm-time em {
  font-style: normal;
  font-size: 9.5px;
  font-weight: 700;
  color: #A16207;
  background: #FEF9C3;
  padding: 1px 5px;
  border-radius: 3px;
  margin-left: 4px;
  letter-spacing: 0;
}
.sm-time em.em-sub {
  color: #64748B;
  background: #F1F5F9;
}
.sm-row.sm-off {
  background: #F8FAFC;
}
.sm-row.sm-off .sm-time {
  color: #94A3B8;
  font-size: 11.5px;
}
/* 오늘 하이라이트 — JS가 data-today 추가 */
.sm-row.sm-today {
  background: #EFF6FF;
  position: relative;
}
.sm-row.sm-today::before {
  content: "TODAY";
  position: absolute;
  left: -1px;
  top: 50%;
  transform: translateY(-50%);
  background: #2563EB;
  color: #fff;
  font-size: 8px;
  font-weight: 800;
  padding: 2px 4px;
  border-radius: 0 3px 3px 0;
  letter-spacing: .06em;
}
.sm-row.sm-today .sm-day {
  color: #1D4ED8;
  padding-left: 46px;
}

/* 진료 팀 미니 정보 */
.status-team {
  display: flex;
  flex-direction: column;
  gap: 6px;
  padding: 10px 12px;
  background: #F8FAFC;
  border-radius: 7px;
  margin-bottom: 12px;
}
.team-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  font-size: 12px;
  line-height: 1.4;
}
.team-label {
  color: #64748B;
  font-weight: 600;
  letter-spacing: -.01em;
}
.team-value {
  color: #0F172A;
  font-weight: 700;
  letter-spacing: -.01em;
  font-variant-numeric: tabular-nums;
}
.team-sub {
  font-style: normal;
  color: #94A3B8;
  font-weight: 500;
  font-size: 10.5px;
  margin-left: 3px;
  letter-spacing: 0;
}
.team-hl {
  font-style: normal;
  color: #15803D;
  font-weight: 800;
  letter-spacing: 0;
}

/* CTA */
.status-cta {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 8px;
  align-items: stretch;
}
.status-call {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 10px 14px;
  background: var(--navy, #0F4A6E);
  color: #fff;
  border-radius: 9999px;
  font-size: 13.5px;
  font-weight: 700;
  letter-spacing: -.01em;
  text-decoration: none;
  transition: .2s;
}
.status-call:hover { background: var(--navy-deep, #0A3654); }
.status-call svg { width: 14px; height: 14px; }
.sc-num {
  font-variant-numeric: tabular-nums;
  letter-spacing: .01em;
}
.status-reserve {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 10px 16px;
  background: transparent;
  color: var(--navy, #0F4A6E);
  border: 1.5px solid var(--navy, #0F4A6E);
  border-radius: 9999px;
  font-size: 13.5px;
  font-weight: 700;
  text-decoration: none;
  transition: .2s;
}
.status-reserve:hover {
  background: var(--navy, #0F4A6E);
  color: #fff;
}

/* 반응형 */
@media(max-width:1200px){ .v8-pain-inner { grid-template-columns: 180px 1fr 240px; gap:32px; } }
@media(max-width:1024px){ .v8-pain-inner { grid-template-columns: 1fr 1fr; } .v8-left-stats { display:none; } }
@media(max-width:768px){
  .v8-pain-inner { grid-template-columns: 1fr; }
  .v8-right-list { display:none; }
  .v8-room-grid { grid-template-columns: 1fr 1fr; }
  .v8-ins-right { display:none; }
}



/* ══════════════════════════════════════════════════════════════════════════
   HERO v3 — 5개 슬라이드 완전 독립 디자인
   각 슬라이드는 레이아웃, 배경, 타이포, 톤이 모두 다름
   ══════════════════════════════════════════════════════════════════════════ */

/* 폰트 변수 */
:root {
  --f-blackhan: 'Black Han Sans', 'Noto Sans KR', sans-serif;
  --f-serif-ko: 'Nanum Myeongjo', 'Noto Serif KR', serif;
  --f-gowun: 'Gowun Dodum', 'Noto Sans KR', sans-serif;
  --f-gowun-batang: 'Gowun Batang', 'Noto Serif KR', serif;
  --f-jua: 'Jua', 'Noto Sans KR', sans-serif;
  --f-pen: 'Nanum Pen Script', cursive;
  --f-serif-en: 'Playfair Display', 'DM Serif Display', serif;
  --f-dmserif: 'DM Serif Display', 'Playfair Display', serif;
}

/* ──────────────────────────────────────────────────────────────────────────
   SLIDE 1 ─ 통증 (메인 / 초대형 타이포 / 블랙 + 시안)
   ────────────────────────────────────────────────────────────────────────── */
.s1-pain {
  background: #050A18;
  position: relative;
  overflow: hidden;
}
.s1-bg {
  position: absolute; inset: 0;
  background:
    radial-gradient(ellipse 800px 500px at 20% 20%, rgba(56,189,248,.22), transparent 60%),
    radial-gradient(ellipse 700px 600px at 90% 80%, rgba(14,165,233,.18), transparent 60%),
    linear-gradient(160deg, #050A18 0%, #0A1530 55%, #050A18 100%);
}
.s1-grain {
  position: absolute; inset: 0;
  background-image:
    linear-gradient(rgba(56,189,248,.04) 1px, transparent 1px),
    linear-gradient(90deg, rgba(56,189,248,.04) 1px, transparent 1px);
  background-size: 60px 60px;
  opacity: 0.6;
}
.s1-vignette {
  position: absolute; inset: 0;
  background: radial-gradient(ellipse at center, transparent 40%, rgba(0,0,0,.6) 100%);
  pointer-events: none;
}

/* 워터마크 PAIN - 우측 사이드바 피해서 왼쪽으로 */
.s1-watermark {
  position: absolute;
  top: 55%; right: 140px;
  transform: translateY(-50%) rotate(-4deg);
  font-family: var(--f-serif-en);
  font-weight: 900;
  font-size: clamp(260px, 40vw, 560px);
  line-height: 0.8;
  color: transparent;
  -webkit-text-stroke: 2px rgba(56,189,248,.12);
  letter-spacing: -0.06em;
  pointer-events: none;
  user-select: none;
  font-style: italic;
  z-index: 1;
}

/* 떠다니는 해시태그 - 9구역 균형 배치 (사이드바 회피) */
.s1-float {
  position: absolute;
  font-family: var(--f-jua);
  color: rgba(125,211,252,.55);
  font-weight: 400;
  white-space: nowrap;
  z-index: 2;
  animation: s1-float-anim 4s ease-in-out infinite;
  pointer-events: none;
}

/* 좌측 타이틀 영역 피함 (left 46% 이상), 우측 사이드바 영역 피함 (right 170px 이상)
   상/중/하 3단 × 2~3개씩 분산 */

/* 상단 영역 */
.s1-f1 { top: 12%;   left: 54%;    font-size: 26px; animation-delay: 0s;   color: rgba(125,211,252,.9);  }  /* #허리디스크 - 상단 중앙 */
.s1-f2 { top: 8%;    right: 180px; font-size: 22px; animation-delay: 1.2s; color: rgba(125,211,252,.7);  }  /* #목·거북목 - 상단 우측 */

/* 중단 영역 */
.s1-f6 { top: 36%;   left: 48%;    font-size: 20px; animation-delay: 2.0s; color: rgba(125,211,252,.65); }  /* #오십견 - 중앙 */
.s1-f5 { top: 42%;   right: 185px; font-size: 24px; animation-delay: .6s;  color: rgba(125,211,252,.85); }  /* #좌골신경통 - 중 우측 */

/* 하단 영역 */
.s1-f4 { bottom: 26%; left: 58%;   font-size: 21px; animation-delay: 1.6s; color: rgba(125,211,252,.7);  }  /* #어깨회전근개 - 하단 중앙 */
.s1-f3 { bottom: 18%; right: 200px; font-size: 23px; animation-delay: 2.4s; color: rgba(125,211,252,.85); }  /* #무릎퇴행 - 하단 우측 */

/* 중앙 메시지 태그 - 오십견과 좌골신경통 사이 */
.s1-f7 { top: 39%;  left: 68%;   font-size: 22px; animation-delay: 1.0s; color: rgba(125,211,252,.75); }  /* #통증없는일상 */

@keyframes s1-float-anim {
  0%,100% { transform: translateY(0); opacity: .5; }
  50%     { transform: translateY(-10px); opacity: 1; }
}

/* 메인 컨텐츠 */
.s1-inner {
  position: relative;
  z-index: 5;
  max-width: 1280px;
  margin: 0 auto;
  padding: 20px clamp(20px, 5vw, 64px) 18px;
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: flex-start;
  text-align: left;
}

/* S1 상단 메타 - inner 최상단 static 배치 */
.s1-meta-inner {
  display: flex;
  align-items: center;
  gap: 16px;
  margin-bottom: 22px;
}
.s1-meta-inner .s1-line {
  width: 48px;
  height: 1px;
  background: #38BDF8;
}
.s1-meta-inner .s1-cat {
  font-family: 'Playfair Display', Georgia, serif;
  font-style: italic;
  font-size: 11px;
  letter-spacing: .22em;
  color: #7DD3FC;
  text-transform: uppercase;
  margin-bottom: 4px;
}
.s1-meta-inner .s1-num {
  font-family: 'Playfair Display', Georgia, serif;
  font-weight: 700;
  font-size: 20px;
  color: #fff;
  letter-spacing: -.01em;
}
.s1-meta-inner .s1-num sup {
  font-size: 10px;
  font-style: italic;
  font-weight: 400;
  margin-right: 2px;
  vertical-align: super;
}

.s1-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 16px;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.1em;
  color: #7DD3FC;
  text-transform: uppercase;
  font-family: 'IBM Plex Sans', 'Pretendard Variable', sans-serif;
}
.s1-eyebrow em {
  font-style: normal;
  letter-spacing: 0.02em;
  font-family: 'Pretendard Variable', sans-serif;
  color: rgba(255,255,255,.9);
  text-transform: none;
}
.s1-live {
  width: 8px; height: 8px; border-radius: 50%;
  background: #EF4444;
  box-shadow: 0 0 12px #EF4444;
  animation: s1-pulse 1.4s ease-in-out infinite;
}
@keyframes s1-pulse { 0%,100%{opacity:1;transform:scale(1)} 50%{opacity:.4;transform:scale(1.5)} }

.s1-mega {
  font-family: var(--f-blackhan);
  font-weight: 400;
  line-height: 0.95;
  letter-spacing: -0.02em;
  margin: 0 0 22px;
  color: #fff;
}
.s1-mega .s1-l1 {
  display: block;
  font-size: clamp(34px, 4.5vw, 60px);
  color: rgba(255,255,255,.35);
}
.s1-mega .s1-l2 {
  display: block;
  font-size: clamp(48px, 6.8vw, 90px);
  color: #fff;
  text-shadow: 0 0 40px rgba(56,189,248,.4);
  margin-top: -6px;
}
.s1-mega .s1-l3 {
  display: block;
  font-family: 'Pretendard Variable', sans-serif;
  font-weight: 300;
  font-size: clamp(16px, 1.9vw, 24px);
  color: rgba(255,255,255,.75);
  margin-top: 12px;
  letter-spacing: -0.01em;
}
.s1-mega .s1-l3 em {
  font-family: var(--f-serif-en);
  font-style: italic;
  font-weight: 700;
  color: #38BDF8;
  font-size: 1.2em;
  padding: 0 4px;
}

.s1-bottom {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 32px;
  flex-wrap: wrap;
  margin-top: auto;
}

.s1-method {
  display: flex; align-items: center;
  gap: 14px;
  flex-wrap: wrap;
}
.s1-method .s1-m-num {
  font-family: var(--f-serif-en);
  font-style: italic;
  font-weight: 400;
  font-size: 15px;
  color: rgba(56,189,248,.7);
  min-width: 24px;
}
.s1-method span {
  font-family: var(--f-blackhan);
  font-size: 19px;
  color: #fff;
  letter-spacing: -0.02em;
  margin-right: 6px;
}

.s1-cta {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 8px;
}
.s1-btn {
  display: inline-flex; align-items: center; gap: 10px;
  padding: 14px 30px;
  background: #fff;
  color: #050A18;
  font-family: 'Pretendard Variable', sans-serif;
  font-weight: 800;
  font-size: 15px;
  border-radius: 999px;
  text-decoration: none;
  transition: all .25s;
  letter-spacing: -0.01em;
}
.s1-btn span {
  display: inline-flex;
  width: 26px; height: 26px;
  background: #050A18;
  color: #fff;
  border-radius: 50%;
  align-items: center; justify-content: center;
  transition: transform .25s;
}
.s1-btn:hover { transform: translateY(-2px); box-shadow: 0 20px 40px rgba(56,189,248,.4); }
.s1-btn:hover span { transform: translateX(4px); }

.s1-note {
  font-size: 12px;
  color: rgba(255,255,255,.55);
  font-family: 'Pretendard Variable', sans-serif;
}
.s1-note strong {
  color: #38BDF8;
  font-weight: 700;
}

/* ──────────────────────────────────────────────────────────────────────────
   SLIDE 2 ─ 공진단 (매거진 / 블랙 + 골드 / 세리프 / 중앙 정렬)
   ────────────────────────────────────────────────────────────────────────── */
.s2-gjd {
  background: #0A0502;
  position: relative;
  overflow: hidden;
}
.s2-bg {
  position: absolute; inset: 0;
  background:
    radial-gradient(ellipse at center, rgba(120,53,15,.4) 0%, #0A0502 70%),
    #0A0502;
}

/* 골드 테두리 라인 */
.s2-gold-line {
  position: absolute;
  background: linear-gradient(90deg, transparent, rgba(245,216,123,.5), transparent);
  z-index: 2;
}
.s2-gl-t { top: 20px; left: 10%; right: 10%; height: 1px; }
.s2-gl-b { bottom: 20px; left: 10%; right: 10%; height: 1px; }
.s2-gl-l { top: 20px; bottom: 20px; left: 22px; width: 1px;
  background: linear-gradient(180deg, transparent, rgba(245,216,123,.5), transparent); }
.s2-gl-r { top: 20px; bottom: 20px; right: 22px; width: 1px;
  background: linear-gradient(180deg, transparent, rgba(245,216,123,.5), transparent); }

/* 거대 한자 워터마크 */
.s2-hanja {
  position: absolute;
  left: 50%; top: 50%;
  transform: translate(-50%, -50%);
  display: flex;
  gap: clamp(16px, 2.5vw, 40px);
  z-index: 1;
  pointer-events: none;
  user-select: none;
}
.s2-hanja span {
  font-family: var(--f-serif-ko);
  font-weight: 800;
  font-size: clamp(140px, 20vw, 320px);
  line-height: 1;
  color: transparent;
  -webkit-text-stroke: 1.5px rgba(245,216,123,.1);
  background: linear-gradient(180deg, rgba(245,216,123,.15), rgba(120,53,15,.05));
  -webkit-background-clip: text;
  background-clip: text;
}

.s2-inner {
  position: relative;
  z-index: 5;
  max-width: 1280px;
  margin: 0 auto;
  height: 100%;
  padding: 20px clamp(20px, 5vw, 64px);
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-template-rows: auto 1fr auto;
  gap: 0;
}

/* 좌상단 메타 */
.s2-tl {
  display: flex;
  align-items: center;
  gap: 14px;
  grid-column: 1;
  grid-row: 1;
  align-self: start;
}
.s2-tl-line { width: 40px; height: 1px; background: #C9A227; }
.s2-tl-cat {
  font-family: var(--f-serif-en);
  font-style: italic;
  font-size: 12px;
  color: #F5D87B;
  letter-spacing: 0.25em;
  margin-bottom: 3px;
}
.s2-tl-num {
  font-family: var(--f-serif-ko);
  font-size: 22px;
  font-weight: 800;
  color: #fff;
}
.s2-tl-num sup {
  font-family: var(--f-serif-en);
  font-style: italic;
  font-size: 0.55em;
  font-weight: 400;
  color: #C9A227;
  margin: 0 2px;
}

/* 우상단 */
.s2-tr {
  grid-column: 2;
  grid-row: 1;
  align-self: start;
  justify-self: end;
  text-align: right;
}
.s2-tr-ko {
  font-family: var(--f-serif-ko);
  font-size: 16px;
  font-weight: 700;
  color: #fff;
  letter-spacing: 0.05em;
}
.s2-tr-en {
  font-family: var(--f-serif-en);
  font-style: italic;
  font-size: 12px;
  color: rgba(245,216,123,.6);
  letter-spacing: 0.15em;
  margin-top: 2px;
}

/* 중앙 메인 카피 */
.s2-center {
  grid-column: 1 / -1;
  grid-row: 2;
  text-align: center;
  align-self: center;
  padding: 12px 0;
}
.s2-pretitle {
  font-family: var(--f-serif-en);
  font-style: italic;
  font-size: 13px;
  color: rgba(245,216,123,.7);
  letter-spacing: 0.2em;
  margin-bottom: 12px;
}
.s2-title {
  font-family: var(--f-serif-ko);
  font-weight: 800;
  font-size: clamp(32px, 4vw, 54px);
  line-height: 1.15;
  letter-spacing: -0.01em;
  color: #fff;
  margin: 0 0 14px;
}
.s2-title em {
  font-style: normal;
  background: linear-gradient(180deg, #F5D87B 0%, #C9A227 100%);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
}
.s2-sub {
  font-family: 'Pretendard Variable', sans-serif;
  font-weight: 300;
  font-size: 14px;
  line-height: 1.65;
  color: rgba(255,255,255,.7);
  margin: 0 0 20px;
  letter-spacing: 0.02em;
}
.s2-btns {
  display: inline-flex;
  gap: 10px;
  justify-content: center;
}
.s2-btn-main {
  display: inline-flex; align-items: center; gap: 8px;
  padding: 11px 26px;
  background: linear-gradient(135deg, #F5D87B 0%, #C9A227 100%);
  color: #0A0502;
  font-family: 'Pretendard Variable', sans-serif;
  font-weight: 800;
  font-size: 13px;
  border-radius: 0;
  text-decoration: none;
  letter-spacing: 0.02em;
  transition: all .25s;
}
.s2-btn-main:hover { transform: translateY(-2px); box-shadow: 0 10px 30px rgba(201,162,39,.5); }
.s2-btn-main span { font-family: var(--f-serif-en); font-style: italic; }

.s2-btn-line {
  display: inline-flex; align-items: center;
  padding: 11px 22px;
  border: 1px solid rgba(245,216,123,.4);
  color: #F5D87B;
  font-family: 'Pretendard Variable', sans-serif;
  font-weight: 600;
  font-size: 13px;
  text-decoration: none;
  letter-spacing: 0.02em;
  transition: all .25s;
}
.s2-btn-line:hover { background: rgba(245,216,123,.1); border-color: #F5D87B; }

/* 우하단 효능 */
.s2-br {
  grid-column: 2;
  grid-row: 3;
  justify-self: end;
  align-self: end;
  text-align: right;
}
.s2-br-label {
  font-family: var(--f-serif-en);
  font-style: italic;
  font-size: 11px;
  color: rgba(245,216,123,.6);
  letter-spacing: 0.25em;
  margin-bottom: 8px;
}
.s2-br ul {
  list-style: none;
  display: flex;
  gap: 16px;
  padding: 0; margin: 0;
}
.s2-br li {
  font-family: var(--f-serif-ko);
  font-size: 14px;
  font-weight: 700;
  color: rgba(255,255,255,.85);
  position: relative;
}
.s2-br li:not(:last-child)::after {
  content: '·';
  color: rgba(245,216,123,.4);
  margin-left: 16px;
  font-size: 20px;
  line-height: 0;
}

/* ──────────────────────────────────────────────────────────────────────────
   SLIDE 3 ─ 여성 클리닉 (포토 에세이 타임라인 · 누드톤 + 와인 포인트)
   컨셉: Vogue 여성 건강 특집. 20s → 60s+ 생애 타임라인. 분홍 제거.
   ────────────────────────────────────────────────────────────────────────── */
.s3-women {
  background: #F5EFE6;
  position: relative;
  overflow: hidden;
  color: #2B1F23;
}
.s3-bg {
  position: absolute; inset: 0;
  background:
    radial-gradient(ellipse 700px 500px at 12% 18%, #ECE1D2 0%, transparent 55%),
    radial-gradient(ellipse 800px 600px at 92% 82%, #EBD9CE 0%, transparent 50%),
    #F5EFE6;
}
/* 배경 큰 세리프 워터마크 */
.s3-women::before {
  content: 'HER';
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  font-family: 'DM Serif Display', 'Playfair Display', Georgia, serif;
  font-style: italic;
  font-size: 38vw;
  font-weight: 400;
  color: rgba(127, 46, 62, 0.04);
  letter-spacing: -.05em;
  line-height: 1;
  pointer-events: none;
  z-index: 0;
}

/* 상단 메타 - S2/S5와 일관성 */
.s3-meta-tl {
  position: absolute;
  top: 20px;
  left: max(56px, calc((100vw - 1280px) / 2 + 56px));
  display: flex;
  align-items: center;
  gap: 14px;
  z-index: 10;
}
.s3-line {
  width: 48px;
  height: 1px;
  background: #7F2E3E;
}
.s3-cat {
  font-family: 'Playfair Display', Georgia, serif;
  font-style: italic;
  font-size: 11px;
  letter-spacing: .22em;
  color: #7F2E3E;
  text-transform: uppercase;
  margin-bottom: 4px;
}
.s3-num {
  font-family: 'Playfair Display', Georgia, serif;
  font-weight: 700;
  font-size: 20px;
  color: #2B1F23;
  letter-spacing: -.01em;
}
.s3-num sup {
  font-size: 10px;
  font-style: italic;
  font-weight: 400;
  margin-right: 2px;
  vertical-align: super;
}

.s3-meta-tr {
  position: absolute;
  top: 20px;
  right: max(56px, calc((100vw - 1280px) / 2 + 56px));
  text-align: right;
  z-index: 10;
}
.s3-tr-ko {
  font-family: 'Noto Serif KR', serif;
  font-weight: 700;
  font-size: 14px;
  color: #2B1F23;
  letter-spacing: -.01em;
}
.s3-tr-en {
  font-family: 'Playfair Display', Georgia, serif;
  font-style: italic;
  font-size: 11px;
  color: #7D6670;
  letter-spacing: .05em;
  margin-top: 2px;
}

/* 메인 그리드 */
.s3-inner {
  position: relative;
  z-index: 5;
  max-width: 1280px;
  margin: 0 auto;
  padding: 48px clamp(24px, 5vw, 64px) 20px;
  height: 100%;
  display: grid;
  grid-template-columns: 0.9fr 1.4fr;
  gap: 44px;
  align-items: center;
}

/* ═══════════════ 좌측: 카피 ═══════════════ */
.s3-left {
  display: flex;
  flex-direction: column;
}
.s3-eyebrow {
  font-family: 'Noto Serif KR', serif;
  font-weight: 400;
  font-size: 12px;
  color: #7F2E3E;
  letter-spacing: .04em;
  margin-bottom: 12px;
}
.s3-title {
  font-family: 'Noto Serif KR', 'Nanum Myeongjo', serif;
  font-weight: 800;
  font-size: clamp(28px, 3.4vw, 42px);
  line-height: 1.2;
  color: #2B1F23;
  letter-spacing: -.025em;
  margin: 0 0 16px;
}
.s3-serif {
  font-family: 'DM Serif Display', 'Playfair Display', Georgia, serif;
  font-style: italic;
  font-weight: 400;
  color: #7F2E3E;
  font-size: 1.15em;
  letter-spacing: -.02em;
}
.s3-title em {
  font-style: normal;
  color: #7F2E3E;
  font-weight: 800;
  position: relative;
}
.s3-title em::after {
  content: '';
  position: absolute;
  left: 0; right: 0;
  bottom: 4%;
  height: 8px;
  background: rgba(127, 46, 62, .18);
  z-index: -1;
}
.s3-desc {
  font-size: 13px;
  line-height: 1.75;
  color: #4A3A40;
  margin: 0 0 20px;
  max-width: 380px;
}
.s3-desc strong {
  color: #7F2E3E;
  font-weight: 700;
}

.s3-btns {
  display: flex;
  gap: 10px;
  align-items: center;
}
.s3-btn-main {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 11px 20px;
  background: #2B1F23;
  color: #F5EFE6;
  font-family: 'Noto Serif KR', serif;
  font-weight: 700;
  font-size: 13px;
  letter-spacing: -.01em;
  text-decoration: none;
  transition: all .25s;
}
.s3-btn-main:hover {
  background: #7F2E3E;
}
.s3-btn-main span { transition: transform .25s; }
.s3-btn-main:hover span { transform: translateX(4px); }

.s3-btn-ghost {
  display: inline-flex;
  align-items: center;
  padding: 10px 18px;
  color: #2B1F23;
  background: transparent;
  border: 1px solid #2B1F23;
  font-family: 'Noto Serif KR', serif;
  font-weight: 600;
  font-size: 13px;
  text-decoration: none;
  transition: all .25s;
}
.s3-btn-ghost:hover {
  background: #2B1F23;
  color: #F5EFE6;
}

/* ═══════════════ 우측: 가로 타임라인 ═══════════════ */
.s3-right {
  position: relative;
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 12px;
  padding: 8px 0;
}

/* 타임라인 가로선 - 포토 하단 + 노드 위를 관통 */
.s3-tl-line {
  position: absolute;
  left: 6%;
  right: 6%;
  top: calc(62% + 2px);
  height: 1px;
  background: linear-gradient(90deg,
    transparent 0%,
    rgba(127, 46, 62, .3) 10%,
    rgba(127, 46, 62, .3) 90%,
    transparent 100%);
  z-index: 1;
}

.s3-tl-item {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  position: relative;
  z-index: 2;
  transition: transform .3s ease;
}
.s3-tl-item:hover {
  transform: translateY(-4px);
}

/* 포토 - 흑백 + 세피아 톤 */
.s3-tl-photo {
  width: 100%;
  aspect-ratio: 3 / 4;
  overflow: hidden;
  background: linear-gradient(135deg, #D9C5B4 0%, #B8998A 100%);
  position: relative;
  margin-bottom: 18px;
  box-shadow: 0 4px 16px rgba(43, 31, 35, .12);
  transition: all .4s ease;
}
.s3-tl-photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: grayscale(0.55) sepia(0.15) contrast(0.95);
  transition: filter .4s ease;
}
.s3-tl-item:hover .s3-tl-photo img {
  filter: grayscale(0) sepia(0) contrast(1);
}
.s3-tl-item:hover .s3-tl-photo {
  box-shadow: 0 10px 28px rgba(43, 31, 35, .22);
}
/* 카드별 미세 톤 차이 */
.s3-tl-p1 { background: linear-gradient(135deg, #E8D3C3 0%, #C9A896 100%); }
.s3-tl-p2 { background: linear-gradient(135deg, #D8C2B3 0%, #B89890 100%); }
.s3-tl-p3 { background: linear-gradient(135deg, #D4B5A5 0%, #A6867B 100%); }
.s3-tl-p4 { background: linear-gradient(135deg, #C9A593 0%, #8F6E68 100%); }
.s3-tl-p5 { background: linear-gradient(135deg, #B89685 0%, #7D5C5A 100%); }

/* 타임라인 노드 */
.s3-tl-node {
  width: 9px;
  height: 9px;
  border-radius: 50%;
  background: #F5EFE6;
  border: 2px solid #2B1F23;
  margin-bottom: 16px;
  transition: all .3s;
  z-index: 3;
  position: relative;
}
.s3-tl-item:hover .s3-tl-node {
  background: #7F2E3E;
  border-color: #7F2E3E;
  box-shadow: 0 0 0 5px rgba(127, 46, 62, .15);
}
/* 강조 노드 (50s = 갱년기 대표) */
.s3-tl-node-accent {
  background: #7F2E3E;
  border-color: #7F2E3E;
  width: 10px;
  height: 10px;
  box-shadow: 0 0 0 4px rgba(127, 46, 62, .12);
}

/* 연령대 라벨 */
.s3-tl-age {
  font-family: 'Playfair Display', Georgia, serif;
  font-style: italic;
  font-weight: 400;
  font-size: 13px;
  color: #7F2E3E;
  letter-spacing: .05em;
  margin-bottom: 6px;
}

/* 한자 */
.s3-tl-hanja {
  font-family: 'Noto Serif KR', 'Nanum Myeongjo', serif;
  font-weight: 300;
  font-size: clamp(24px, 2.6vw, 32px);
  color: #2B1F23;
  line-height: 1;
  margin-bottom: 6px;
  letter-spacing: -.02em;
  transition: color .3s;
}
.s3-tl-item:hover .s3-tl-hanja {
  color: #7F2E3E;
}

/* 한글 설명 */
.s3-tl-ko {
  font-family: 'Noto Serif KR', serif;
  font-weight: 600;
  font-size: 12px;
  color: #4A3A40;
  line-height: 1.4;
  letter-spacing: -.015em;
  max-width: 110px;
}

/* 하단 서명 */
.s3-signature-bottom {
  position: absolute;
  bottom: 24px;
  right: max(64px, calc((100vw - 1280px) / 2 + 64px));
  z-index: 10;
}
.s3-sig-quote {
  font-family: 'Playfair Display', 'Noto Serif KR', serif;
  font-style: italic;
  font-size: 13px;
  color: #7F2E3E;
  letter-spacing: -.01em;
  opacity: .8;
}


/* ──────────────────────────────────────────────────────────────────────────
   SLIDE 4 ─ 입원실 (호텔 감성 / 실제 병실 사진 / 밝은 오버레이 / Jua)
   ────────────────────────────────────────────────────────────────────────── */
.s4-ward {
  background: 
    radial-gradient(ellipse 800px 500px at 75% 40%, rgba(253,230,138,.15), transparent 60%),
    radial-gradient(ellipse 600px 600px at 20% 80%, rgba(59,130,246,.18), transparent 60%),
    linear-gradient(135deg, #0D1B2A 0%, #162A3F 50%, #0D1B2A 100%);
  position: relative;
  overflow: hidden;
}
.s4-bg {
  position: absolute;
  inset: 0;
}
.s4-photo {
  width: 100%; height: 100%;
  object-fit: cover;
  filter: brightness(0.75) saturate(0.9) contrast(1.05);
  opacity: 0.8;
}
.s4-overlay {
  position: absolute; inset: 0;
  background:
    linear-gradient(100deg, rgba(13,27,42,.88) 0%, rgba(13,27,42,.65) 35%, rgba(13,27,42,.25) 65%, rgba(13,27,42,.45) 100%);
}

.s4-inner {
  position: relative;
  z-index: 5;
  max-width: 1280px;
  margin: 0 auto;
  padding: 44px clamp(24px, 5vw, 64px) 20px;
  height: 100%;
  display: grid;
  grid-template-columns: 1.05fr 1fr;
  gap: 40px;
  align-items: center;
}

/* 좌측 */
/* 좌측 - 에디토리얼 카피 */
.s4-eyebrow {
  font-family: 'Noto Serif KR', serif;
  font-weight: 400;
  font-size: 12px;
  color: #FDE68A;
  letter-spacing: .05em;
  margin-bottom: 12px;
}
.s4-title {
  font-family: 'Noto Serif KR', 'Nanum Myeongjo', serif;
  font-weight: 800;
  font-size: clamp(28px, 3.6vw, 44px);
  line-height: 1.18;
  color: #fff;
  margin: 0 0 14px;
  letter-spacing: -.025em;
}
.s4-title em {
  font-style: normal;
  color: #FDE68A;
  font-weight: 800;
}
.s4-desc {
  font-family: 'Noto Serif KR', sans-serif;
  font-weight: 400;
  font-size: 13px;
  line-height: 1.75;
  color: rgba(255,255,255,.78);
  margin: 0 0 18px;
  max-width: 400px;
}
.s4-desc strong {
  color: #FDE68A;
  font-weight: 700;
}

/* 4가지 어메니티 - 한자 블록 */
.s4-amenities {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 8px;
  margin-bottom: 18px;
  max-width: 480px;
}
.s4-am {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 6px;
  padding: 10px 8px;
  background: rgba(255,255,255,.04);
  border: 1px solid rgba(253,230,138,.18);
  border-radius: 2px;
  transition: all .28s ease;
}
.s4-am:hover {
  background: rgba(253,230,138,.08);
  border-color: rgba(253,230,138,.4);
  transform: translateY(-2px);
}
.s4-am-hanja {
  font-family: 'Noto Serif KR', 'Nanum Myeongjo', serif;
  font-weight: 300;
  font-size: 22px;
  color: #FDE68A;
  line-height: 1;
  letter-spacing: -.04em;
}
.s4-am-txt {
  font-family: 'Noto Serif KR', sans-serif;
  font-size: 11px;
  font-weight: 600;
  color: rgba(255,255,255,.85);
  letter-spacing: -.02em;
  text-align: center;
  line-height: 1.35;
}

/* 버튼 */
.s4-btns { display: flex; gap: 10px; flex-wrap: wrap; }
.s4-btn-main {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 11px 22px;
  background: #FDE68A;
  color: #0D1B2A;
  font-family: 'Noto Serif KR', serif;
  font-weight: 700;
  font-size: 14px;
  text-decoration: none;
  transition: all .25s;
  letter-spacing: -.01em;
}
.s4-btn-main:hover { background: #FCD34D; transform: translate(-2px, -2px); box-shadow: 4px 4px 0 rgba(253,230,138,.3); }
.s4-btn-main span { transition: transform .25s; }
.s4-btn-main:hover span { transform: translateX(4px); }

.s4-btn-call {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 13px 22px;
  background: transparent;
  border: 1px solid rgba(255,255,255,.3);
  color: #fff;
  font-family: 'Playfair Display', Georgia, serif;
  font-weight: 700;
  font-size: 14px;
  text-decoration: none;
  transition: all .25s;
  letter-spacing: .02em;
  font-variant-numeric: tabular-nums;
}
.s4-btn-call:hover { background: rgba(255,255,255,.08); border-color: #FDE68A; color: #FDE68A; }
.s4-btn-call svg { width: 14px; height: 14px; }

/* 우측 룸 리스트 - 한자 스타일 */
.s4-right { position: relative; }
.s4-roomlist {
  background: rgba(255,255,255,.04);
  border: 1px solid rgba(253,230,138,.2);
  border-radius: 2px;
  padding: 24px 28px;
  backdrop-filter: blur(12px);
}
.s4-room-head {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  padding-bottom: 14px;
  margin-bottom: 16px;
  border-bottom: 1px solid rgba(253,230,138,.2);
  font-family: 'Playfair Display', Georgia, serif;
  font-style: italic;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .22em;
  color: #FDE68A;
  text-transform: uppercase;
}
.s4-room-sub {
  font-size: 11px;
  color: rgba(253,230,138,.6);
  letter-spacing: .08em;
  font-weight: 400;
}

.s4-room {
  display: flex;
  align-items: center;
  gap: 18px;
  padding: 14px 0;
  border-bottom: 1px dashed rgba(255,255,255,.12);
  transition: all .25s ease;
  cursor: default;
}
.s4-room:last-child { border-bottom: none; }
.s4-room:hover { transform: translateX(4px); }
.s4-room:hover .s4-r-hanja { color: #FCD34D; transform: scale(1.1); }

.s4-r-hanja {
  font-family: 'Noto Serif KR', 'Nanum Myeongjo', serif;
  font-weight: 300;
  font-size: 38px;
  color: #FDE68A;
  line-height: 1;
  letter-spacing: -.04em;
  flex-shrink: 0;
  width: 44px;
  text-align: center;
  transition: all .28s ease;
}

.s4-r-txt { flex: 1; min-width: 0; }
.s4-r-name {
  font-family: 'Noto Serif KR', serif;
  font-weight: 700;
  font-size: 15px;
  color: #fff;
  letter-spacing: -.015em;
  margin-bottom: 4px;
  display: flex;
  align-items: center;
  gap: 10px;
}
.s4-r-grade {
  font-family: 'Playfair Display', Georgia, serif;
  font-style: italic;
  font-size: 9.5px;
  font-weight: 700;
  letter-spacing: .18em;
  color: #0D1B2A;
  background: linear-gradient(135deg, #FDE68A 0%, #D4A574 100%);
  padding: 3px 8px;
  border-radius: 2px;
  line-height: 1.2;
}
.s4-r-grade-b {
  background: rgba(253,230,138,.2);
  color: #FDE68A;
}
.s4-r-grade-c {
  background: rgba(255,255,255,.1);
  color: rgba(255,255,255,.65);
}
.s4-r-desc {
  font-family: 'Noto Serif KR', sans-serif;
  font-size: 12px;
  color: rgba(255,255,255,.6);
  letter-spacing: -.01em;
  line-height: 1.5;
}

/* ──────────────────────────────────────────────────────────────────────────
   SLIDE 5 ─ 本草 MATERIA MEDICA / 한약재 라이브러리
   컨셉: 본초강목 고서 × 약초 그린. 교양·전문성·시각 독창성.
   팔레트: 이끼 베이지 #EAE8DC / 먹 그린 #2B3A2E / 약재 갈색 #8B6F47
   ────────────────────────────────────────────────────────────────────────── */
.s5-herbs {
  background: #EAE8DC;
  position: relative;
  overflow: hidden;
  color: #2B3A2E;
}
.s5h-bg {
  position: absolute; inset: 0;
  background:
    radial-gradient(circle at 15% 20%, rgba(43,58,46,.05) 0%, transparent 40%),
    radial-gradient(circle at 85% 85%, rgba(139,111,71,.06) 0%, transparent 45%),
    linear-gradient(180deg, #EDEBDF 0%, #DCDBC8 100%);
}
.s5h-paper-texture {
  position: absolute; inset: 0;
  background-image:
    radial-gradient(rgba(43,58,46,.045) 1px, transparent 1px),
    radial-gradient(rgba(43,58,46,.025) 1px, transparent 1px);
  background-size: 3px 3px, 9px 9px;
  background-position: 0 0, 1.5px 1.5px;
  opacity: .7;
  pointer-events: none;
}

/* 좌상단 메타 */
.s5h-meta-tl {
  position: absolute;
  top: 20px;
  left: max(56px, calc((100vw - 1280px) / 2 + 56px));
  display: flex;
  align-items: center;
  gap: 14px;
  z-index: 10;
}
.s5h-line {
  width: 48px;
  height: 1px;
  background: #8B6F47;
}
.s5h-cat {
  font-family: 'Playfair Display', Georgia, serif;
  font-style: italic;
  font-size: 11px;
  letter-spacing: .22em;
  color: #8B6F47;
  text-transform: uppercase;
  margin-bottom: 4px;
}
.s5h-num {
  font-family: 'Playfair Display', Georgia, serif;
  font-weight: 700;
  font-size: 20px;
  color: #2B3A2E;
  letter-spacing: -.01em;
}
.s5h-num sup {
  font-size: 10px;
  font-style: italic;
  font-weight: 400;
  margin-right: 2px;
  vertical-align: super;
}

/* 우상단 */
.s5h-meta-tr {
  position: absolute;
  top: 20px;
  right: max(56px, calc((100vw - 1280px) / 2 + 56px));
  display: flex;
  align-items: center;
  gap: 12px;
  z-index: 10;
}
.s5h-seal {
  width: 40px;
  height: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: 'Noto Serif KR', serif;
  font-weight: 700;
  font-size: 18px;
  color: #EAE8DC;
  background: #6B4423;
  letter-spacing: -.02em;
  box-shadow: 0 2px 6px rgba(107,68,35,.35);
  transform: rotate(-4deg);
}
.s5h-tr-txt {
  text-align: right;
}
.s5h-tr-ko {
  font-family: 'Noto Serif KR', serif;
  font-weight: 700;
  font-size: 14px;
  color: #2B3A2E;
  letter-spacing: -.01em;
}
.s5h-tr-en {
  font-family: 'Playfair Display', Georgia, serif;
  font-style: italic;
  font-size: 11px;
  color: #6B7A6F;
  letter-spacing: .05em;
  margin-top: 2px;
}

/* 메인 그리드 */
.s5h-inner {
  position: relative;
  z-index: 5;
  max-width: 1280px;
  margin: 0 auto;
  padding: 26px clamp(24px, 5vw, 64px) 16px;
  height: 100%;
  display: grid;
  grid-template-columns: 1fr 1.3fr;
  gap: 40px;
  align-items: center;
}

/* ═══════════════ 좌측: 한자 타이틀 ═══════════════ */
.s5h-left {
  display: flex;
  gap: 20px;
  align-items: flex-start;
}

/* 세로 한자 本草 */
.s5h-hanja-vert {
  display: flex;
  flex-direction: column;
  gap: 4px;
  flex-shrink: 0;
}
.s5h-hanja-vert span {
  font-family: 'Noto Serif KR', 'Nanum Myeongjo', serif;
  font-weight: 200;
  font-size: clamp(58px, 7.4vw, 104px);
  line-height: .9;
  color: #2B3A2E;
  letter-spacing: -.04em;
  display: block;
  writing-mode: horizontal-tb;
}
.s5h-hanja-vert span:last-child {
  color: #8B6F47;
  font-weight: 300;
}

.s5h-title-block {
  flex: 1;
  padding-top: 6px;
}
.s5h-eyebrow {
  font-family: 'Noto Serif KR', serif;
  font-weight: 400;
  font-size: 12px;
  color: #8B6F47;
  letter-spacing: .04em;
  margin-bottom: 12px;
}
.s5h-title {
  font-family: 'Noto Serif KR', 'Nanum Myeongjo', serif;
  font-weight: 800;
  font-size: clamp(26px, 3.4vw, 42px);
  line-height: 1.15;
  color: #2B3A2E;
  letter-spacing: -.03em;
  margin: 0 0 16px;
}
.s5h-title em {
  font-style: normal;
  color: #8B6F47;
  font-weight: 800;
}
.s5h-lede {
  font-size: 13px;
  line-height: 1.75;
  color: #4A5A4E;
  margin: 0 0 22px;
  max-width: 400px;
  font-weight: 400;
}

.s5h-btn {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 11px 22px;
  background: #2B3A2E;
  color: #EAE8DC;
  font-family: 'Noto Serif KR', serif;
  font-weight: 700;
  font-size: 13px;
  letter-spacing: -.01em;
  text-decoration: none;
  border: none;
  transition: all .28s ease;
  position: relative;
}
.s5h-btn::after {
  content: '';
  position: absolute;
  top: 4px; left: 4px;
  right: -4px; bottom: -4px;
  border: 1px solid #2B3A2E;
  z-index: -1;
  transition: all .28s ease;
}
.s5h-btn:hover {
  background: #8B6F47;
  transform: translate(-2px, -2px);
}
.s5h-btn:hover::after {
  top: 6px; left: 6px;
  right: -6px; bottom: -6px;
  border-color: #8B6F47;
}
.s5h-btn svg {
  width: 16px;
  height: 16px;
  transition: transform .25s;
}
.s5h-btn:hover svg { transform: translateX(4px); }

/* ═══════════════ 우측: 한약재 그리드 ═══════════════ */
.s5h-right {
  position: relative;
}
.s5h-grid-label {
  display: flex;
  align-items: baseline;
  justify-content: flex-start;
  gap: 14px;
  margin-bottom: 10px;
  padding-bottom: 8px;
  padding-right: 140px;
  border-bottom: 1px solid rgba(43,58,46,.2);
}
.s5h-grid-label > span:first-child {
  font-family: 'Noto Serif KR', serif;
  font-weight: 700;
  font-size: 12px;
  letter-spacing: .14em;
  color: #2B3A2E;
}
.s5h-grid-sub {
  font-family: 'Playfair Display', Georgia, serif;
  font-style: italic;
  font-size: 11px;
  color: #8A968A;
  letter-spacing: .05em;
}

/* 6 × 6 약재 그리드 */
.s5h-herb-grid {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  gap: 2px;
  background: rgba(43,58,46,.12);
  padding: 2px;
  margin-bottom: 10px;
}
.s5h-herb {
  background: #EAE8DC;
  aspect-ratio: 1.6 / 1;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: default;
  position: relative;
  transition: all .25s ease;
  overflow: hidden;
}
.s5h-herb > span {
  font-family: 'Noto Serif KR', 'Nanum Myeongjo', serif;
  font-weight: 400;
  font-size: clamp(14px, 1.4vw, 20px);
  color: #2B3A2E;
  letter-spacing: -.02em;
  line-height: 1;
  transition: all .25s ease;
}
.s5h-herb:hover {
  background: #2B3A2E;
  z-index: 2;
  transform: scale(1.08);
  box-shadow: 0 6px 20px rgba(43,58,46,.25);
}
.s5h-herb:hover > span {
  color: #EAE8DC;
  font-size: 0;
  opacity: 0;
}
/* hover 시 한글·효능 표시 */
.s5h-herb::after {
  content: attr(data-ko) '\A' attr(data-eff);
  white-space: pre;
  position: absolute;
  inset: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  font-family: 'Noto Serif KR', serif;
  font-weight: 700;
  font-size: 11px;
  color: #EAE8DC;
  letter-spacing: -.02em;
  text-align: center;
  line-height: 1.4;
  opacity: 0;
  transition: opacity .25s ease .08s;
  padding: 4px;
}
.s5h-herb:hover::after {
  opacity: 1;
}
/* 시그니처 약재 — 갈색 점 */
.s5h-herb-featured {
  background: #F5F0DF;
}
.s5h-herb-featured::before {
  content: '';
  position: absolute;
  top: 6px; right: 6px;
  width: 5px; height: 5px;
  border-radius: 50%;
  background: #8B6F47;
  z-index: 2;
}

/* 하단 푸트노트 3분할 */
.s5h-footnote {
  display: grid;
  grid-template-columns: 1fr auto 1fr auto 1fr;
  gap: 0;
  align-items: center;
  padding: 8px 0 0;
  border-top: 1px solid rgba(43,58,46,.15);
}
.s5h-fn-item {
  display: flex;
  flex-direction: column;
  gap: 4px;
  text-align: center;
}
.s5h-fn-num {
  font-family: 'Noto Serif KR', 'Nanum Myeongjo', serif;
  font-weight: 600;
  font-size: 14px;
  color: #8B6F47;
  letter-spacing: -.02em;
}
.s5h-fn-label {
  font-family: 'Noto Serif KR', serif;
  font-weight: 400;
  font-size: 10px;
  line-height: 1.45;
  color: #4A5A4E;
  letter-spacing: -.01em;
}
.s5h-fn-divider {
  width: 1px;
  height: 24px;
  background: rgba(43,58,46,.2);
}

/* 반응형 - 1024px 이하에서는 우측만 보이게 (좌측 타이틀 블록 숨김) */
@media (max-width: 1024px) {
  .s5h-inner {
    grid-template-columns: 1fr;
    gap: 32px;
    padding: 80px clamp(16px, 4vw, 48px) 32px;
  }
  .s5h-left {
    flex-direction: row;
    align-items: center;
  }
  .s5h-hanja-vert {
    flex-direction: row;
  }
  .s5h-hanja-vert span {
    font-size: 56px;
  }
  .s5h-title {
    font-size: 26px;
  }
  .s5h-lede { display: none; }
  .s5h-herb-grid {
    grid-template-columns: repeat(9, 1fr);
  }
  .s5h-footnote {
    grid-template-columns: 1fr;
    gap: 14px;
  }
  .s5h-fn-divider { display: none; }
  .s5h-meta-tr { display: none; }
}
@media (max-width: 768px) {
  .s5h-inner { padding: 70px 16px 24px; }
  .s5h-hanja-vert span { font-size: 42px; }
  .s5h-title { font-size: 22px; }
  .s5h-herb-grid {
    grid-template-columns: repeat(6, 1fr);
  }
  .s5h-herb > span { font-size: 13px; }
  .s5h-herb::after { font-size: 9px; }
  .s5h-eyebrow { font-size: 11px; margin-bottom: 10px; }
}

/* ──────────────────────────────────────────────────────────────────────────
   SLIDE 1 · 4 — 상단 메타 (N° 번호 시리즈 공통)
   ────────────────────────────────────────────────────────────────────────── */

/* ─── S1 통증 (다크 배경 / 적색 포인트) ─── */
.s1-meta-tl {
  position: absolute;
  top: 32px;
  left: max(64px, calc((100vw - 1280px) / 2 + 64px));
  display: flex;
  align-items: center;
  gap: 16px;
  z-index: 10;
}
.s1-line {
  width: 48px;
  height: 1px;
  background: #DC2626;
}
.s1-cat {
  font-family: 'Playfair Display', Georgia, serif;
  font-style: italic;
  font-size: 11px;
  letter-spacing: .22em;
  color: #F87171;
  text-transform: uppercase;
  margin-bottom: 4px;
}
.s1-num {
  font-family: 'Playfair Display', Georgia, serif;
  font-weight: 700;
  font-size: 20px;
  color: #fff;
  letter-spacing: -.01em;
}
.s1-num sup {
  font-size: 10px;
  font-style: italic;
  font-weight: 400;
  margin-right: 2px;
  vertical-align: super;
}
.s1-meta-tr {
  position: absolute;
  top: 32px;
  right: max(64px, calc((100vw - 1280px) / 2 + 64px));
  text-align: right;
  z-index: 10;
}
.s1-tr-ko {
  font-family: 'Noto Serif KR', serif;
  font-weight: 700;
  font-size: 14px;
  color: #fff;
  letter-spacing: -.01em;
}
.s1-tr-en {
  font-family: 'Playfair Display', Georgia, serif;
  font-style: italic;
  font-size: 11px;
  color: rgba(255,255,255,.55);
  letter-spacing: .05em;
  margin-top: 2px;
}

/* ─── S4 입원실 (다크 오버레이 / 골드 포인트) ─── */
.s4-meta-tl {
  position: absolute;
  top: 20px;
  left: max(56px, calc((100vw - 1280px) / 2 + 56px));
  display: flex;
  align-items: center;
  gap: 14px;
  z-index: 10;
}
.s4-line {
  width: 48px;
  height: 1px;
  background: #D4A574;
}
.s4-cat {
  font-family: 'Playfair Display', Georgia, serif;
  font-style: italic;
  font-size: 11px;
  letter-spacing: .22em;
  color: #D4A574;
  text-transform: uppercase;
  margin-bottom: 4px;
}
.s4-num {
  font-family: 'Playfair Display', Georgia, serif;
  font-weight: 700;
  font-size: 20px;
  color: #fff;
  letter-spacing: -.01em;
}
.s4-num sup {
  font-size: 10px;
  font-style: italic;
  font-weight: 400;
  margin-right: 2px;
  vertical-align: super;
}
.s4-meta-tr {
  position: absolute;
  top: 20px;
  right: max(56px, calc((100vw - 1280px) / 2 + 56px));
  text-align: right;
  z-index: 10;
}
.s4-tr-ko {
  font-family: 'Noto Serif KR', serif;
  font-weight: 700;
  font-size: 14px;
  color: #fff;
  letter-spacing: -.01em;
}
.s4-tr-en {
  font-family: 'Playfair Display', Georgia, serif;
  font-style: italic;
  font-size: 11px;
  color: rgba(255,255,255,.6);
  letter-spacing: .05em;
  margin-top: 2px;
}

/* ──────────────────────────────────────────────────────────────────────────
   반응형
   ────────────────────────────────────────────────────────────────────────── */
@media (max-width: 1200px) {
  .s1-watermark { font-size: 40vw; }
  .s2-hanja span { font-size: 20vw; }
  .s1-mega .s1-l2 { font-size: clamp(50px, 9vw, 96px); }
}

@media (max-width: 1024px) {
  .s4-inner, .s2-inner { grid-template-columns: 1fr; gap: 20px; }
  .s4-right { display: none; }
  .s2-center { grid-column: 1; }
  .s2-br { display: none; }
  .s1-float { display: none; }
  .hero-slide { min-height: 500px; max-height: 500px; }

  /* S3 타임라인 - 태블릿 */
  .s3-inner {
    grid-template-columns: 1fr;
    gap: 32px;
    padding: 80px clamp(16px, 4vw, 48px) 32px;
  }
  .s3-desc { display: none; }
  .s3-meta-tr { display: none; }
  .s3-signature-bottom { display: none; }
  .s3-tl-ko { font-size: 11px; }
  .s3-tl-hanja { font-size: 24px; }
}

@media (max-width: 768px) {
  .hero-slide { min-height: 460px; max-height: 460px; }
  .s1-mega .s1-l1 { font-size: 34px; }
  .s1-mega .s1-l2 { font-size: 52px; }
  .s1-mega .s1-l3 { font-size: 16px; }
  .s1-method span { font-size: 18px; }
  .s1-bottom { flex-direction: column; align-items: flex-start; gap: 20px; }
  .s1-cta { align-items: flex-start; }
  .s2-title { font-size: 32px; }
  .s3-title { font-size: 24px; }
  .s4-title { font-size: 34px; }

  /* S3 모바일 - 타임라인 3+2 배치로 축소 */
  .s3-right {
    grid-template-columns: repeat(5, 1fr);
    gap: 6px;
  }
  .s3-tl-line { top: calc(56% + 2px); }
  .s3-tl-photo { margin-bottom: 10px; aspect-ratio: 3 / 4.5; }
  .s3-tl-node { margin-bottom: 8px; width: 7px; height: 7px; }
  .s3-tl-age { font-size: 10px; margin-bottom: 3px; }
  .s3-tl-hanja { font-size: 18px; margin-bottom: 2px; }
  .s3-tl-ko { font-size: 9.5px; line-height: 1.3; max-width: none; }
  .s3-btns { flex-wrap: wrap; }
  .s3-btn-main, .s3-btn-ghost { font-size: 13px; padding: 10px 16px; }
}

/* ══════════════════════════════════════════════════════════════════════════
   대서한방TV 유튜브 채널 - 반응형
   ══════════════════════════════════════════════════════════════════════════ */
@media (max-width: 1024px) {
  .yt-main-title { font-size: 13px; }
  .yt-cred-text em { font-size: 11px; }
  .yt-cred-text span { font-size: 9.5px; }
}
@media (max-width: 768px) {
  .yt-play-btn { width: 56px; height: 40px; }
  .yt-title-row .qtitle-left { font-size: 14px; }
  .yt-channel-link { font-size: 11px; }
  .yt-main-title { font-size: 13px; }

  .yt-credential { padding: 9px 10px; gap: 8px; }
  .yt-cred-ico { width: 14px; height: 14px; }
  .yt-cred-text em { font-size: 10.5px; }
  .yt-cred-text span { font-size: 9.5px; }
  .yt-cred-divider { height: 24px; }

  .yt-modal { padding: 12px; }
  .yt-modal-close { top: -38px; width: 30px; height: 30px; }
}
@media (max-width: 480px) {
  .yt-play-btn { width: 48px; height: 34px; }
  .yt-badge-new { font-size: 9px; padding: 2px 6px; }
  .yt-views { font-size: 10px; }
  .yt-duration { font-size: 10px; }
  .yt-main-title { font-size: 12.5px; }

  /* 모바일에서는 credential 세로 배치 */
  .yt-credential { flex-direction: column; align-items: stretch; gap: 6px; }
  .yt-cred-divider { width: 100%; height: 1px; }
  .yt-cred-text em { white-space: normal; }
  .yt-cred-text span { white-space: normal; }
}
