/* ============================================================
   Arbutus Health — styles.css
   ★ 전체 수정 방법은 「README-수정가이드.txt」참고 ★
   ------------------------------------------------------------
   구성 순서:
   1) :root 변수 (색/폰트/간격)  ← 색 바꾸려면 여기
   2) 기본(body/타이포/버튼/wrap)
   3) 헤더/네비게이션
   4) 홈 섹션들 (히어로/About/Services/후기/공지/Clinic/FAQ/Locations/Contact)
   5) 챗봇/팝업/모바일바
   6) Careers 페이지 (.c-*, .pos-*)
   7) 리프레시/오버라이드 블록 (모던화·색통일·수정) ← 최근 변경 대부분 여기(파일 뒤쪽)
   ※ 뒤쪽 규칙이 앞쪽을 덮습니다. 색/스타일 수정은 가급적 해당 오버라이드 블록에서.
   ============================================================ */

html{ background:#ffffff; }
body{ background:#ffffff; }
/* ============================================================
   Arbutus Health — 디자인(CSS)
   색상/폰트 변수는 :root 참고. index.html, script.js 와 같은 폴더에 두세요.
   ============================================================ */
/* ============================================================
   [1] 색상 & 기본 설정
   여기 값만 바꾸면 사이트 전체 색감이 한 번에 바뀝니다.
   (네이비 블루 계열 + 스틸/하늘색 톤)
   ============================================================ */
:root{
  --paper:      #ffffff;   /* 순백 베이스 (밝게) */
  --navy:     #365E8B;  /* 로고 색 (밝은 네이비) */
  --navy-deep:#284A6E;
  --steel:       #4C7BB0;  /* 밝은 스틸블루 */
  --sky-soft:  #eef4fb;   /* 아주 연한 하늘색 */
  --accent:     #2F6FA8;  /* 소프트블루 포인트 (시인성 확보) */
  --gold:      #365E8B;
  --gold-accent:#E0A93F;
  --ink:        #1f2d3d;   /* 본문(부드러운 다크) */
  --muted:      #5b6b7c;   /* 보조 텍스트(모던 그레이블루) */
  --line:       #e8edf3;   /* 아주 연한 구분선 */
  --radius:     18px;
  --maxw:       1160px;
}

/* 기본 리셋 */
*{ margin:0; padding:0; box-sizing:border-box; }
html,body{ overflow-x:hidden; max-width:100%; }
img,svg,iframe,video{ max-width:100%; }
html{ scroll-behavior:smooth; scroll-padding-top:112px; } /* 상단 고정 메뉴 높이만큼 여백 */
body{
  font-family:'Inter', system-ui, sans-serif;
  color:var(--ink);
  background:var(--paper);
  line-height:1.65;
  -webkit-font-smoothing:antialiased;
}
img{ display:block; max-width:100%; }
a{ color:inherit; text-decoration:none; }

/* 제목 공통(세리프 폰트) */
h1,h2,h3,h4{ font-family:'Plus Jakarta Sans', Georgia, serif; font-weight:600; line-height:1.15; color:var(--navy); }

/* 콘텐츠를 가운데로 모으는 래퍼 */
.wrap{ width:100%; max-width:var(--maxw); margin:0 auto; padding:0 24px; }

/* 섹션 위 작은 라벨(eyebrow) */
.eyebrow{
  font-family:'Inter', sans-serif; font-weight:600; font-size:13px;
  letter-spacing:.14em; text-transform:uppercase; color:var(--gold);
  display:inline-block; margin-bottom:14px;
}

/* ============================================================
   [2] 상단 고정 메뉴 (Header / Nav)
   ============================================================ */
.header{
  position:fixed; top:0; left:0; right:0; z-index:100;
  background:rgba(244,247,251,.82);
  backdrop-filter:blur(10px);
  border-bottom:1px solid var(--line);
  transition:box-shadow .3s ease;
}
.header.scrolled{ box-shadow:0 6px 24px rgba(23,58,94,.08); }
.nav{ display:flex; align-items:center; justify-content:space-between; height:96px; }

/* 로고 */
.logo{ display:flex; align-items:center; gap:10px; font-family:'Plus Jakarta Sans',sans-serif; font-size:22px; font-weight:600; color:var(--navy); }
.logo .leaf{ width:26px; height:26px; flex:none; }
/* 로고 이미지 */
.logo-img{ height:70px; width:auto; display:block; }
.footer-logo{ height:60px; filter:brightness(0) invert(1); opacity:.92; } /* 어두운 푸터 배경용 흰색 처리 */

/* 메뉴 링크들 */
.nav-links{ display:flex; align-items:center; gap:26px; list-style:none; }
.nav-links a{
  font-size:15px; font-weight:500; color:var(--ink); white-space:nowrap;
  position:relative; padding:4px 0; transition:color .2s ease;
}
.nav-links a::after{ /* hover 시 밑줄 애니메이션 */
  content:''; position:absolute; left:0; bottom:-2px; width:0; height:2px;
  background:var(--gold); transition:width .25s ease;
}
.nav-links a:hover{ color:var(--navy); }
.nav-links a:hover::after{ width:100%; }

/* 예약 버튼(메뉴 오른쪽) */
.btn-book{
  background:var(--gold); color:#fff; font-weight:600; font-size:15px;
  padding:11px 22px; border-radius:999px; border:none; cursor:pointer;
  transition:transform .15s ease, background .2s ease;
}
.btn-book:hover{ background:var(--navy-deep); transform:translateY(-1px); }

/* 모바일 햄버거 버튼 (기본은 숨김) */
.hamburger{ display:none; flex-direction:column; gap:5px; background:none; border:none; cursor:pointer; padding:8px; }
.hamburger span{ width:24px; height:2px; background:var(--navy); transition:.3s; }
/* 언어 선택기 */
.nav-right{ display:flex; align-items:center; gap:14px; }
.lang-select{ font-family:'Inter',sans-serif; font-size:14px; font-weight:600; color:var(--navy); background:#fff;
  border:1.5px solid var(--line); border-radius:999px; padding:7px 12px; cursor:pointer; transition:border-color .2s ease; }
.lang-select:hover{ border-color:var(--navy); }
.lang-select:focus{ outline:2px solid var(--navy); outline-offset:1px; }
/* 데스크톱에서는 모바일용 Book 링크 숨김(중복 방지) */
.mobile-book{ display:none; }

/* ============================================================
   [3] 홈 / 히어로 (Home)
   ============================================================ */
.hero{ position:relative; min-height:90vh; display:flex; align-items:center; padding:132px 0 70px; overflow:hidden; }
/* 상단을 가득 채우는 배경 사진 */
.hero-bg{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; z-index:0; }
/* 사진 위 네이비 그라데이션 (글씨가 잘 보이도록) */
.hero-overlay{ position:absolute; inset:0; z-index:1; background:linear-gradient(95deg, rgba(15,41,66,.88) 0%, rgba(15,41,66,.55) 55%, rgba(15,41,66,.28) 100%); }
.hero-content{ position:relative; z-index:2; max-width:720px; color:var(--ink); }
.hero-content .eyebrow{ color:#fff; opacity:.9; }
.hero-content h1{ color:#fff; font-size:clamp(32px,4.4vw,52px); letter-spacing:-.015em; line-height:1.08; }
.hero-content h1 .accent{ color:#fff; font-style:italic; font-weight:500; }
.hero-content .lead{ color:rgba(255,255,255,.9); font-size:20px; margin:22px 0 34px; max-width:46ch; }
.hero-cta{ display:flex; gap:14px; flex-wrap:wrap; }
/* Hero Medical/Wellness split cards */
.hero-split{ display:grid; grid-template-columns:1fr 1fr; gap:16px; margin:22px 0 18px; max-width:620px; }
.hero-card{ background:rgba(255,255,255,.92); backdrop-filter:blur(4px); border:1px solid var(--line); border-radius:16px; padding:18px 18px 16px; box-shadow:0 8px 24px rgba(15,41,66,.10); }
.hero-card--accent{ background:var(--sky-soft); border-color:#cfe0f0; }
.hc-head{ display:flex; align-items:flex-start; gap:12px; }
.hc-ico{ flex:0 0 auto; width:40px; height:40px; border-radius:12px; background:#e9f0f7; color:var(--navy); display:flex; align-items:center; justify-content:center; }
.hc-ico svg{ width:21px; height:21px; }
.hero-card--accent .hc-ico{ background:#dbe9f6; color:var(--accent); }
.hc-h{ font-family:'Plus Jakarta Sans',sans-serif; color:var(--navy); font-weight:700; font-size:16px; line-height:1.2; }
.hc-sub{ color:var(--muted); font-size:13.5px; margin-top:2px; }
.hc-actions{ display:flex; flex-direction:column; gap:8px; margin-top:14px; }
.hc-link{ display:inline-flex; align-items:center; gap:8px; color:var(--navy); font-weight:600; font-size:14.5px; }
.hc-link svg{ width:16px; height:16px; color:var(--accent); flex:0 0 auto; }
.hc-link:hover{ text-decoration:underline; }
.hc-book{ display:inline-flex; align-items:center; justify-content:center; gap:6px; width:100%; margin-top:14px; padding:12px 16px; border:none; border-radius:999px; background:var(--navy); color:#fff; font-weight:700; font-size:14.5px; cursor:pointer; font-family:'Inter',sans-serif; transition:background .2s; }
.hc-book:hover{ background:var(--navy-deep); }
.hero-pills{ display:flex; flex-wrap:wrap; gap:8px 10px; align-items:center; max-width:620px; margin-top:4px; padding-top:16px; border-top:1px solid rgba(15,41,66,.14); }
.hero-pills span{ color:var(--navy); font-weight:600; font-size:14px; position:relative; padding-right:14px; }
.hero-pills span:not(:last-child)::after{ content:"•"; position:absolute; right:2px; color:var(--steel); }
@media (max-width:640px){ .hero-split{ grid-template-columns:1fr; } }
/* 신뢰 지표(30+년) */
.hero-stat{ display:flex; align-items:center; gap:16px; margin-top:40px; padding-top:26px; border-top:1px solid rgba(255,255,255,.25); }
.hero-stat .num{ font-family:'Plus Jakarta Sans',sans-serif; font-size:52px; line-height:1; color:#fff; font-weight:600; }
.hero-stat .lbl{ color:rgba(255,255,255,.85); font-size:15px; line-height:1.35; max-width:190px; }

/* 버튼 공통 */
.btn{ display:inline-flex; align-items:center; gap:8px; font-weight:600; font-size:16px; padding:14px 28px; border-radius:999px; cursor:pointer; transition:all .18s ease; border:2px solid transparent; }
.btn-primary{ background:var(--navy); color:#fff; }
.btn-primary:hover{ background:var(--navy-deep); transform:translateY(-2px); }
.btn-outline{ border-color:var(--navy); color:var(--navy); background:transparent; }
.btn-outline:hover{ background:var(--navy); color:#fff; }
/* 히어로(사진 위)용 흰색/투명 버튼 */
.btn-white{ background:#fff; color:var(--navy); }
.btn-white:hover{ background:#e9f0f8; transform:translateY(-2px); }
.btn-ghost{ background:transparent; border-color:#fff; color:#fff; }
.btn-ghost:hover{ background:#fff; color:var(--navy); }

/* ============================================================
   [4] 어바웃 (About Us) — 소개 + 의사 카드
   ============================================================ */
.section{ padding:96px 0; }
.about{ background:var(--sky-soft); }
.about-intro{ display:grid; grid-template-columns:1fr 1fr; gap:56px; align-items:center; margin-bottom:72px; }
.about-intro h2{ font-size:clamp(30px,3.6vw,44px); margin-bottom:20px; }
.about-intro p{ color:var(--muted); margin-bottom:16px; }
.about-imgs{ display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.about-imgs img{ width:100%; height:230px; object-fit:cover; border-radius:14px; }
.about-imgs img:first-child{ grid-column:1 / -1; height:210px; }

/* 의사 섹션 제목 */
.docs-head{ text-align:center; margin-bottom:44px; }
.docs-head h3{ font-size:clamp(26px,3vw,38px); }
.docs-head p{ color:var(--muted); margin-top:10px; }

/* 의사 카드 그리드 */
.docs-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:24px;  max-width:920px; margin-left:auto; margin-right:auto; }
.doc-card{
  background:#fff; border-radius:var(--radius); overflow:hidden; cursor:pointer;
  border:1px solid var(--line); transition:transform .2s ease, box-shadow .2s ease;
  text-align:left;
}
.doc-card:hover{ transform:translateY(-6px); box-shadow:0 20px 40px rgba(23,58,94,.14); }
.doc-card:focus-visible{ outline:3px solid var(--gold); outline-offset:2px; }
.doc-photo{
  position:relative;
  overflow:hidden;
}
.doc-photo img{ width:100%; height:280px; object-fit:cover; background:var(--sky-soft); }
/* Dr. Julie Rao 사진 크기/위치 조정 */
/* 사진 위에 마우스 올리면 "경력 보기" 안내가 뜸 */
.doc-photo .hint{
  position:absolute; inset:0; display:flex; align-items:flex-end; justify-content:center;
  padding-bottom:16px; color:#fff; font-size:13px; font-weight:600; opacity:0;
  background:linear-gradient(transparent 55%, rgba(15,41,66,.75)); transition:opacity .25s ease;
}
.doc-card:hover .hint{ opacity:1; }
.doc-soon{ position:absolute; top:12px; left:12px; z-index:2; background:var(--gold-accent); color:#3a2b06; font-size:12px; font-weight:800; letter-spacing:.02em; padding:5px 11px; border-radius:999px; box-shadow:0 4px 12px rgba(15,41,66,.22); }
.doc-info{ padding:18px 18px 20px; }
.doc-info h4{ font-size:19px; margin-bottom:4px; }
.doc-info .role{ font-size:14px; color:var(--navy); font-weight:600; }

/* ============================================================
   [5] 의사 경력 팝업 (Modal)
   ============================================================ */
.modal-overlay{
  position:fixed; inset:0; z-index:200; display:flex; align-items:center; justify-content:center;
  padding:24px; background:rgba(15,41,66,.55); backdrop-filter:blur(4px);
  opacity:0; visibility:hidden; transition:opacity .25s ease, visibility .25s ease;
}
.modal-overlay.open{ opacity:1; visibility:visible; }
.modal{
  background:#fff; border-radius:22px; max-width:640px; width:100%; max-height:88vh; overflow:auto;
  display:grid; grid-template-columns:230px 1fr; align-items:start; transform:translateY(16px) scale(.98);
  transition:transform .3s cubic-bezier(.2,.8,.2,1);
}
.modal-overlay.open .modal{ transform:translateY(0) scale(1); }
.modal-photo{ position:sticky; top:0; align-self:start; }
.modal-photo img{ width:100%; height:auto; aspect-ratio:3/4; object-fit:cover; object-position:center top; display:block; background:#9fbbc1; }
.modal-body{ padding:32px 32px 34px; position:relative; }
.modal-body .role{ color:var(--gold); font-weight:600; font-size:14px; letter-spacing:.04em; }
.modal-body h3{ font-size:28px; margin:6px 0 14px; }
.modal-body .bio{ color:var(--muted); font-size:15.5px; margin-bottom:14px; }
.modal-facts{ display:flex; flex-wrap:wrap; gap:8px; margin:0 0 16px; }
.modal-facts .fact-pill{ background:var(--sky-soft); color:var(--navy); font-size:13px; padding:6px 13px; border-radius:999px; }
.modal-facts .fact-pill strong{ font-weight:700; }
.modal-details{ display:flex; flex-direction:column; gap:16px; }
.modal-details .modal-section-label{ font-size:12px; font-weight:700; letter-spacing:.07em; text-transform:uppercase; color:var(--navy); margin-bottom:7px; }
.modal-details .modal-list{ list-style:none; display:flex; flex-direction:column; gap:6px; margin:0; padding:0; }
.modal-details .modal-list li{ position:relative; padding-left:16px; font-size:14px; color:var(--ink); line-height:1.5; }
.modal-details .modal-list li::before{ content:'–'; position:absolute; left:0; color:var(--navy); }
.modal-details .tag-row{ display:flex; flex-wrap:wrap; gap:7px; }
.modal-details .tag-row .tag{ background:var(--sky-soft); color:var(--navy); font-size:12.5px; font-weight:600; padding:6px 12px; border-radius:999px; }
.modal-close{
  position:absolute; top:16px; right:16px; width:38px; height:38px; border-radius:50%;
  border:none; background:var(--sky-soft); color:var(--navy); font-size:20px; cursor:pointer;
  display:flex; align-items:center; justify-content:center; transition:background .2s ease;
}
.modal-close:hover{ background:var(--steel); color:#fff; }
.modal-book{ margin-top:22px; }
.modal-book-note{ margin-top:20px; font-size:13.5px; color:var(--muted); background:var(--sky-soft); border-radius:10px; padding:12px 14px; line-height:1.5; }
.modal-book-actions{ display:flex; gap:10px; flex-wrap:wrap; margin-top:14px; }
.modal-book-actions .btn{ padding:11px 20px; font-size:15px; }
.modal-book-hours{ margin-top:10px; font-size:12.5px; color:var(--muted); }

/* ============================================================
   [6] 서비스 (Services)
   ============================================================ */
.services-head{ text-align:center; margin-bottom:52px; }
.services-head h2{ font-size:clamp(30px,3.6vw,46px); }
.services-head p{ color:var(--muted); margin-top:12px; max-width:52ch; margin-inline:auto; }
.svc-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:26px; }
.svc-card{ position:relative; border-radius:var(--radius); overflow:hidden; min-height:300px; display:flex; align-items:flex-end; }
.svc-card img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; transition:transform .5s ease; }
.svc-card::after{ content:''; position:absolute; inset:0; background:linear-gradient(transparent 30%, rgba(15,41,66,.82)); }
.svc-card:hover img{ transform:scale(1.06); }
.svc-text{ position:relative; z-index:1; padding:26px; color:#fff; }
.svc-text .no{ font-family:'Plus Jakarta Sans',sans-serif; font-size:14px; opacity:.75; }
.svc-text h4{ color:#fff; font-size:22px; margin-top:4px; }
.svc-text .soon{ display:inline-block; margin-top:8px; font-size:12px; font-weight:600; background:var(--gold); color:#fff; padding:3px 10px; border-radius:999px; }

/* ============================================================
   [7] 연락처 (Contact)
   ============================================================ */
.contact{ background:#ffffff !important; }
.contact h2, .contact h3, .contact h4{ color:#fff; }
.contact .eyebrow{ color:#9BBBDF; }
.contact-grid{ display:grid; grid-template-columns:1fr 1fr; gap:48px; align-items:stretch; }
.contact-head h2{ font-size:clamp(30px,3.6vw,44px); margin-bottom:14px; }
.contact-head p{ color:rgba(255,255,255,.82); margin-bottom:26px; }
.hours-box{ background:rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.15); border-radius:14px; padding:20px 22px; margin-bottom:22px; }
.hours-box .t{ font-weight:600; color:#fff; margin-bottom:4px; }
.hours-box .h{ color:rgba(255,255,255,.82); font-size:15px; }

/* 두 개 부서(메디컬/웰니스) 카드 */
.divisions{ display:grid; gap:18px; }
.division{ background:rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.14); border-radius:14px; padding:22px 24px; }
.division h4{ font-size:19px; margin-bottom:6px; }
.division .desc{ color:rgba(255,255,255,.72); font-size:14px; margin-bottom:12px; }
.division .row{ display:flex; gap:8px; font-size:14.5px; color:rgba(255,255,255,.9); margin-bottom:5px; }
.division .row b{ color:#fff; font-weight:600; min-width:54px; }
.division a{ color:#fff; text-decoration:underline; }

/* 지도 */
.map-wrap{ margin-top:14px; border-radius:14px; overflow:hidden; border:1px solid rgba(255,255,255,.15); }
.contact-left{ display:flex; flex-direction:column; }
.contact-left .map-wrap{ flex:1 1 auto; min-height:230px; }
.contact-left .map-wrap iframe{ height:100%; }
.map-wrap iframe{ width:100%; height:230px; border:0; display:block; filter:grayscale(.2); }

/* ============================================================
   [8] 푸터 (Footer)
   ============================================================ */
.footer{ background:#365E8B; color:rgba(255,255,255,.72); padding:54px 0 30px; }
.footer-grid{ display:grid; grid-template-columns:1.4fr 1fr 1fr; gap:36px; margin-bottom:36px; }
.footer .logo{ color:#fff; margin-bottom:14px; }
.footer p{ font-size:14px; line-height:1.7; }
.foot-phones{ margin-top:12px; }
.foot-phones b{ color:#fff; font-weight:600; display:inline-block; min-width:74px; }
.foot-phones a{ color:rgba(255,255,255,.85); }
.foot-phones a:hover{ color:#fff; text-decoration:underline; }
.footer h5{ color:#fff; font-size:14px; letter-spacing:.08em; text-transform:uppercase; margin-bottom:14px; font-family:'Inter',sans-serif; }
.footer ul{ list-style:none; display:flex; flex-direction:column; gap:9px; }
.footer ul a{ font-size:14.5px; color:rgba(255,255,255,.72); transition:color .2s; }
.footer ul a:hover{ color:#fff; }
.footer-bottom{ border-top:1px solid rgba(255,255,255,.12); padding-top:20px; text-align:center; font-size:13px; color:rgba(255,255,255,.55); }

/* ============================================================
   [8-2] 클리닉 갤러리 (Our Clinic) + 라이트박스
   ============================================================ */
.clinic{ background:var(--paper); }
.gallery{ display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
.gal-item{ position:relative; margin:0; border-radius:var(--radius); overflow:hidden; cursor:pointer; aspect-ratio:3/2; background:#dfe6ee; }
.gal-item img{ width:100%; height:100%; object-fit:cover; transition:transform .5s ease; }
.gal-item:hover img{ transform:scale(1.05); }
.gal-item figcaption{ position:absolute; left:0; right:0; bottom:0; padding:16px; color:#fff; font-size:14px; font-weight:600;
  background:linear-gradient(transparent, rgba(15,41,66,.82)); opacity:0; transition:opacity .25s ease; }
.gal-item:hover figcaption{ opacity:1; }
.gal-item:focus-visible{ outline:3px solid var(--navy); outline-offset:2px; }
/* 클릭 시 크게 보이는 라이트박스 */
.lightbox{ position:fixed; inset:0; z-index:210; display:flex; align-items:center; justify-content:center; padding:24px;
  background:rgba(15,41,66,.88); backdrop-filter:blur(4px); opacity:0; visibility:hidden; transition:opacity .25s ease, visibility .25s ease; }
.lightbox.open{ opacity:1; visibility:visible; }
.lightbox img{ max-width:92vw; max-height:86vh; border-radius:12px; box-shadow:0 24px 60px rgba(0,0,0,.45); }
.lb-close{ position:absolute; top:20px; right:24px; width:46px; height:46px; border-radius:50%; border:none;
  background:rgba(255,255,255,.16); color:#fff; font-size:22px; cursor:pointer; transition:background .2s ease; }
.lb-close:hover{ background:rgba(255,255,255,.3); }
.lb-nav{ position:absolute; top:50%; transform:translateY(-50%); width:54px; height:54px; border-radius:50%; border:none;
  background:rgba(255,255,255,.16); color:#fff; font-size:32px; line-height:1; cursor:pointer; z-index:2;
  display:flex; align-items:center; justify-content:center; transition:background .2s ease; }
.lb-nav:hover{ background:rgba(255,255,255,.3); }
.lb-prev{ left:24px; }
.lb-next{ right:24px; }
@media (max-width:720px){
  .lb-nav{ width:44px; height:44px; font-size:26px; }
  .lb-prev{ left:10px; }
  .lb-next{ right:10px; }
}
.privacy-modal{ max-width:640px; }
.privacy-modal .modal-body{ padding:36px 34px; }
.privacy-modal h3{ margin-bottom:16px; }
.privacy-body{ color:var(--muted); font-size:14.5px; line-height:1.7; }

/* ============================================================
   [9] 스크롤 등장 애니메이션
   ============================================================ */
/* 움직임을 줄이도록 설정한 사용자는 애니메이션 끔 (접근성) */
@media (prefers-reduced-motion: reduce){
  *{ animation:none !important; transition:none !important; }
  html{ scroll-behavior:auto; }
  }

/* ============================================================
   [10] 반응형 (태블릿 / 모바일)
   ============================================================ */
@media (max-width:900px){
  .about-intro, .contact-grid{ grid-template-columns:1fr; gap:36px; }
  .docs-grid{ grid-template-columns:repeat(2,1fr); }
  .svc-grid{ grid-template-columns:repeat(2,1fr); }
  .gallery{ grid-template-columns:repeat(2,1fr); }
}
@media (max-width:640px){
  /* 모바일 메뉴: 링크 숨기고 햄버거 표시 */
  .nav-links{
    position:fixed; top:96px; left:0; right:0; flex-direction:column; gap:0;
    background:var(--paper); border-bottom:1px solid var(--line);
    max-height:0; overflow:hidden; transition:max-height .3s ease;
  }
  .nav-links.open{ max-height:340px; }
  .nav-links li{ width:100%; text-align:center; border-top:1px solid var(--line); }
  .nav-links a{ display:block; padding:16px; }
  .nav-links .mobile-book{ display:block; padding:14px; }
  .hamburger{ display:flex; }
  .header .btn-book.desktop-only{ display:none; }
  .nav-right{ gap:10px; }
  .lang-select{ font-size:13px; padding:6px 9px; }

  .svc-grid, .docs-grid, .about-imgs, .footer-grid, .gallery{ grid-template-columns:1fr; }
  .modal{ grid-template-columns:1fr; }
  .modal-photo{ position:static; }
  .modal-photo img{ height:240px; aspect-ratio:auto; }
  .hero{ min-height:82vh; padding-top:112px; }
  .hero-stat .num{ font-size:42px; }
  .section{ padding:64px 0; }
}

/* ===== 추가 섹션: 서비스설명 / 신규환자 / FAQ / 접근성 / 모바일바 ===== */
.svc-desc{ color:rgba(255,255,255,.88); font-size:13px; margin-top:6px; line-height:1.45; }
.newpatients{ background:var(--sky-soft); }
.np-steps{ display:grid; grid-template-columns:repeat(3,1fr); gap:22px; margin-bottom:36px; }
.np-step{ background:#fff; border:1px solid var(--line); border-radius:var(--radius); padding:28px 26px; }
.np-num{ display:inline-flex; align-items:center; justify-content:center; width:46px; height:46px; border-radius:50%; background:var(--navy); color:#fff; font-family:'Plus Jakarta Sans',sans-serif; font-size:21px; font-weight:600; margin-bottom:16px; }
.np-step h4{ font-size:19px; margin-bottom:8px; }
.np-step p{ color:var(--muted); font-size:14.5px; }
.np-cta{ display:flex; gap:12px; justify-content:center; flex-wrap:wrap; }
.faq{ background:var(--sky-soft); }
.faq-list{ display:flex; flex-direction:column; gap:12px; }
.faq-item{ background:#fff; border:1px solid var(--line); border-radius:12px; overflow:hidden; }
.faq-q{ width:100%; text-align:left; background:none; border:none; cursor:pointer; padding:20px 22px; font-family:'Inter',sans-serif; font-size:16px; font-weight:600; color:var(--navy); display:flex; justify-content:space-between; align-items:center; gap:16px; }
.faq-ic{ font-size:24px; line-height:1; color:var(--navy); transition:transform .25s ease; flex:none; }
.faq-item.open .faq-ic{ transform:rotate(45deg); }
.faq-a{ max-height:0; overflow:hidden; transition:max-height .35s ease; }
.faq-item.open .faq-a{ max-height:500px; }
.faq-a p{ padding:0 22px 20px; color:var(--muted); font-size:15px; line-height:1.65; }
.acc-box{ background:rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.15); border-radius:14px; padding:20px 22px; margin-bottom:22px; }
.acc-box .t{ font-weight:600; color:#fff; margin-bottom:12px; }
.acc-list{ list-style:none; display:flex; flex-direction:column; gap:9px; margin-bottom:16px; }
.acc-list li{ position:relative; padding-left:26px; color:rgba(255,255,255,.85); font-size:14.5px; }
.acc-list li::before{ content:'✓'; position:absolute; left:0; color:#fff; font-weight:700; }
.mobile-bar{ display:none; }
@media (max-width:900px){ .np-steps{ grid-template-columns:1fr; } }
@media (max-width:640px){
  .mobile-bar{ display:flex; position:fixed; left:0; right:0; bottom:0; z-index:150; box-shadow:0 -4px 16px rgba(15,41,66,.14); }
  .mbar-btn{ flex:1; display:flex; align-items:center; justify-content:center; gap:8px; padding:15px; font-family:'Inter',sans-serif; font-weight:600; font-size:16px; border:none; cursor:pointer; text-decoration:none; }
  .mbar-call{ background:#fff; color:var(--navy); }
  .mbar-book{ background:var(--navy); color:#fff; }
  .mbar-btn svg{ width:18px; height:18px; }
  body{ padding-bottom:54px; }
}

/* ===== AI 도우미 챗봇 위젯 ===== */
.chat-fab{ position:fixed; right:24px; bottom:96px; z-index:160; width:60px; height:60px; border-radius:50%; background:var(--navy); color:#fff; border:none; cursor:pointer; box-shadow:0 10px 30px rgba(15,41,66,.35); display:flex; align-items:center; justify-content:center; transition:transform .2s ease, background .2s ease; }
.chat-fab:hover{ background:var(--navy-deep); transform:translateY(-2px); }
.chat-fab svg{ width:28px; height:28px; }
.chat-panel{ position:fixed; right:16px; bottom:168px; z-index:180; width:min(370px, calc(100vw - 32px)); max-width:calc(100vw - 32px); height:520px; max-height:calc(100dvh - 190px); background:#fff; border-radius:18px; box-shadow:0 24px 60px rgba(15,41,66,.28); display:flex; flex-direction:column; overflow:hidden; opacity:0; visibility:hidden; transform:translateY(16px) scale(.98); transition:opacity .25s ease, transform .25s ease, visibility .25s ease; }
.chat-panel.open{ opacity:1; visibility:visible; transform:none; }
.chat-head{ background:var(--navy); color:#fff; padding:15px 16px; display:flex; align-items:center; gap:11px; }
.ch-logo{ width:38px; height:38px; border-radius:50%; background:#fff; display:flex; align-items:center; justify-content:center; flex:none; }
.ch-logo img{ width:28px; height:auto; }
.ch-t{ font-family:'Plus Jakarta Sans',sans-serif; font-weight:600; font-size:16px; line-height:1.1; }
.ch-s{ font-size:11.5px; color:rgba(255,255,255,.75); margin-top:2px; }
.ch-close{ margin-left:auto; background:rgba(255,255,255,.15); border:none; color:#fff; width:32px; height:32px; border-radius:50%; cursor:pointer; font-size:16px; }
.chat-body{ flex:1; overflow-y:auto; padding:18px; display:flex; flex-direction:column; gap:11px; background:var(--paper); }
.chat-msg{ max-width:84%; padding:11px 14px; border-radius:14px; font-size:14.5px; line-height:1.5; }
.chat-bot{ background:#fff; border:1px solid var(--line); color:var(--ink); align-self:flex-start; border-bottom-left-radius:4px; }
.chat-user{ background:var(--navy); color:#fff; align-self:flex-end; border-bottom-right-radius:4px; }
.chat-act{ align-self:flex-start; }
.chat-act a, .chat-act button{ display:inline-block; background:var(--navy); color:#fff; border:none; border-radius:999px; padding:8px 16px; font-size:13.5px; font-weight:600; cursor:pointer; text-decoration:none; font-family:'Inter',sans-serif; }
.chat-chips{ display:flex; flex-wrap:wrap; gap:8px; align-self:flex-start; }
.chat-chip{ background:#fff; border:1.5px solid var(--line); color:var(--navy); border-radius:999px; padding:8px 13px; font-size:13px; font-weight:600; cursor:pointer; font-family:'Inter',sans-serif; transition:border-color .2s; }
.chat-chip:hover{ border-color:var(--navy); }
.chat-hours-note{ align-self:center; text-align:center; font-size:12px; color:var(--muted); background:var(--sky-soft); border-radius:8px; padding:7px 12px; max-width:92%; }
.live-btn{ background:#fff !important; color:var(--navy) !important; border:1.5px solid var(--navy) !important; }
.live-btn:hover{ background:var(--sky-soft) !important; }
/* 문의 폼 (AI 도우미 내) */
.chat-inq{ align-self:stretch; display:flex; flex-direction:column; gap:8px; background:#fff; border:1px solid var(--line); border-radius:14px; padding:14px; }
.chat-inq .ci-intro{ font-size:13.5px; color:var(--navy); font-weight:600; }
.chat-inq .ci-label{ font-size:12px; color:var(--muted); margin-top:2px; }
.chat-inq .ci-help{ font-size:12.5px; color:var(--navy); font-weight:600; margin:-4px 0 2px; }
.chat-inq .ci-dept{ display:flex; gap:6px; }
.chat-inq .ci-seg{ flex:1; background:#fff; border:1.5px solid var(--line); color:var(--navy); border-radius:999px; padding:7px 10px; font-size:12.5px; font-weight:700; cursor:pointer; font-family:'Inter',sans-serif; transition:all .15s; }
.chat-inq .ci-seg.active{ background:var(--navy); color:#fff; border-color:var(--navy); }
.chat-inq .ci-in{ border:1.5px solid var(--line); border-radius:10px; padding:9px 11px; font-size:13.5px; font-family:'Inter',sans-serif; color:var(--navy); width:100%; box-sizing:border-box; }
.chat-inq .ci-in:focus{ outline:none; border-color:var(--navy); }
.chat-inq .ci-msg{ resize:vertical; min-height:64px; }
.chat-inq .ci-note{ font-size:11px; color:var(--muted); line-height:1.4; }
.chat-inq .ci-err{ font-size:12.5px; color:#c0392b; font-weight:600; }
.chat-inq .ci-send{ background:var(--navy); color:#fff; border:none; border-radius:999px; padding:11px 16px; font-size:14px; font-weight:700; cursor:pointer; font-family:'Inter',sans-serif; margin-top:2px; }
.chat-inq .ci-send:hover{ background:var(--navy-deep); }
.chat-inq .ci-send:disabled{ opacity:.6; cursor:default; }
.ci-ok{ background:#e6efe7; color:#2f5d3a; border:1px solid #cfe3d3; border-radius:12px; padding:14px 16px; font-size:14.5px; font-weight:600; }
/* 연락처 하단 문의 폼 (전체 폭) */
.division-btn{ display:block; width:100%; text-align:center; margin-top:16px; padding:12px 16px; font-size:14.5px; }
.division .division-btn{ color:#fff; }
.contact .division .division-btn, .contact .division a.division-btn, .contact .division .division-btn *{ color:#fff !important; text-decoration:none; }
.contact .division .division-btn svg{ stroke:#fff !important; }
.contact-inq-wrap{ margin-top:4px; background:var(--sky-soft); border:1px solid var(--line); border-radius:18px; padding:24px 22px; }
.contact-inq-wrap .ciw-title{ font-family:'Plus Jakarta Sans',sans-serif; color:var(--navy); font-size:22px; font-weight:700; margin:0 0 6px; }
.contact-inq-wrap .ciw-sub{ color:var(--muted); font-size:14.5px; margin:0 0 16px; }
.contact-inq-wrap .chat-inq{ border:none; background:transparent; padding:0; }
.contact-inq-wrap .ci-intro{ display:none; }
.chat-foot{ display:flex; gap:8px; padding:11px; border-top:1px solid var(--line); background:#fff; }
.chat-foot input{ flex:1; border:1.5px solid var(--line); border-radius:999px; padding:10px 16px; font-size:14px; font-family:'Inter',sans-serif; outline:none; }
.chat-foot input:focus{ border-color:var(--navy); }
.chat-foot button{ background:var(--navy); color:#fff; border:none; border-radius:999px; width:44px; flex:none; cursor:pointer; display:flex; align-items:center; justify-content:center; }
.chat-foot button svg{ width:18px; height:18px; }
@media (max-width:640px){
  .chat-fab{ bottom:138px; right:16px; width:54px; height:54px; }
  .chat-panel{ right:12px; left:12px; bottom:138px; width:auto; max-width:none; height:min(66vh, calc(100dvh - 210px)); }
}

/* Tawk 기본 버튼(런처)은 숨김 — 우리 AI 도우미의 '상담사 연결'로만 엽니다.
   (최대화된 실제 채팅창은 보이도록 런처만 타겟) */
#tawkchat-minified,
#tawkchat-container .tawk-min-container,
iframe[title*="chat widget" i]{ visibility:hidden !important; opacity:0 !important; pointer-events:none !important; }

/* ===== 프로모션 팝업 (Wellness) ===== */
.promo-overlay{ position:fixed; inset:0; z-index:220; display:flex; align-items:center; justify-content:center; padding:20px; background:rgba(15,41,66,.6); backdrop-filter:blur(4px); opacity:0; visibility:hidden; transition:opacity .3s ease, visibility .3s ease; }
.promo-overlay.open{ opacity:1; visibility:visible; }
.promo{ position:relative; display:grid; grid-template-columns:5fr 7fr; max-width:940px; width:100%; max-height:92vh; background:#fff; border-radius:18px; overflow:hidden; box-shadow:0 30px 80px rgba(0,0,0,.42); transform:scale(.96); transition:transform .3s cubic-bezier(.2,.8,.2,1); }
.promo-overlay.open .promo{ transform:none; }
.promo-close{ position:absolute; top:16px; right:16px; z-index:5; width:38px; height:38px; border-radius:50%; background:#eef1f5; border:none; color:var(--navy); font-size:15px; cursor:pointer; transition:background .2s; display:flex; align-items:center; justify-content:center; }
.promo-close:hover{ background:#dde4ec; }

/* left branded panel */
.promo-aside{ position:relative; min-height:100%; }
.promo-aside img{ width:100%; height:100%; object-fit:cover; display:block; }
.promo-aside-tag{ position:absolute; left:18px; bottom:18px; padding:7px 14px; border-radius:999px; background:rgba(255,255,255,.72); backdrop-filter:blur(6px); color:var(--navy); font-style:italic; font-size:14px; font-weight:500; box-shadow:0 4px 14px rgba(15,41,66,.12); }

/* right content */
.promo-main{ display:flex; flex-direction:column; padding:34px 36px 26px; overflow-y:auto; }
.promo-eyebrow{ display:block; text-transform:uppercase; letter-spacing:.14em; font-size:12px; font-weight:700; color:var(--accent); margin-bottom:10px; }
.promo-title{ font-family:'Plus Jakarta Sans',sans-serif; color:var(--navy); font-weight:700; font-size:clamp(26px,3.2vw,38px); line-height:1.1; margin:0 0 10px; }
.promo-lead{ color:var(--muted); font-size:clamp(15px,1.6vw,18px); margin:0 0 24px; }

.promo-cards{ display:grid; grid-template-columns:1fr 1fr; gap:18px; }
.promo-card{ position:relative; display:flex; flex-direction:column; background:#f7f9fb; border:1px solid #e7edf3; border-radius:14px; overflow:hidden; }
.pcard-media{ height:132px; overflow:hidden; }
.pcard-media img{ width:100%; height:100%; object-fit:cover; display:block; }
.pcard-icon{ position:absolute; top:110px; left:18px; width:46px; height:46px; border-radius:50%; background:#e9f0f7; color:var(--navy); display:flex; align-items:center; justify-content:center; box-shadow:0 4px 12px rgba(15,41,66,.14); }
.pcard-icon svg{ width:22px; height:22px; }
.pcard-icon--green{ background:#e6efe7; color:#4e7358; }
.promo-card > .pcard-h{ margin:34px 18px 0; }
.pcard-h{ font-family:'Plus Jakarta Sans',sans-serif; color:var(--navy); font-weight:700; font-size:19px; line-height:1.2; }
.pcard-d{ margin:8px 18px 0; color:var(--muted); font-size:14px; line-height:1.5; }
.pcard-learn{ display:inline-block; margin:18px 18px 0; margin-top:auto; color:var(--navy); font-weight:600; font-size:14px; }
.pcard-learn:hover{ text-decoration:underline; }
.pcard-book{ margin:14px 18px 18px; padding:13px 18px; border:none; border-radius:999px; color:#fff; font-weight:700; font-size:14.5px; cursor:pointer; transition:background .2s, transform .1s; }
.pcard-book:hover{ transform:translateY(-1px); }
.pcard-book--navy{ background:var(--navy); }
.pcard-book--navy:hover{ background:#2b4c72; }
.pcard-book--green{ background:#4e7358; }
.pcard-book--green:hover{ background:#3f5f48; }

/* contact footer */
.promo-foot{ display:flex; flex-wrap:wrap; align-items:center; gap:10px 26px; margin-top:22px; padding-top:18px; border-top:1px solid #e7edf3; }
.pf-item{ display:inline-flex; align-items:center; gap:8px; color:var(--navy); font-size:14px; font-weight:500; }
.pf-item svg{ width:17px; height:17px; color:var(--accent); flex:0 0 auto; }
a.pf-item:hover{ text-decoration:underline; }
.promo-dismiss{ display:flex; align-items:center; gap:8px; margin-top:14px; color:var(--muted); font-size:12.5px; cursor:pointer; }
.promo-dismiss input{ width:14px; height:14px; cursor:pointer; accent-color:var(--navy); }

@media (max-width:720px){
  .promo{ grid-template-columns:1fr; max-height:90vh; overflow-y:auto; }
  .promo-aside{ min-height:auto; height:140px; }
  .promo-aside img{ height:140px; }
  .promo-main{ padding:26px 22px 22px; }
  .promo-cards{ grid-template-columns:1fr; }
  .pcard-media{ height:150px; }
  .pcard-icon{ top:128px; }
}

/* ===== 로케이션 정보 카드 ===== */
.locations{ background:var(--paper); }
.loc-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:24px; align-items:stretch; }
.ic{ position:relative; border-radius:18px; overflow:hidden; display:flex; flex-direction:column; color:#fff; box-shadow:0 14px 34px rgba(15,41,66,.14); }
.ic-navy{ background:var(--navy); } .ic-blue{ background:#24409a; } .ic-dark{ background:#0f2340; }
.ic-top{ padding:28px 26px 22px; }
.ic-name{ font-family:'Plus Jakarta Sans',sans-serif; color:#fff; font-size:23px; font-weight:600; line-height:1.15; margin-bottom:16px; }
.ic-svcs{ list-style:none; display:flex; flex-direction:column; gap:7px; margin-bottom:20px; }
.ic-svcs li{ position:relative; padding-left:18px; font-size:15px; color:rgba(255,255,255,.95); }
.ic-svcs li::before{ content:'•'; position:absolute; left:0; color:rgba(255,255,255,.65); }
.ic-label{ font-size:14px; color:rgba(255,255,255,.8); margin-bottom:8px; }
.ic-contact{ display:inline-flex; align-items:center; gap:10px; color:#fff; font-weight:700; font-size:17px; }
.ic-contact svg{ width:22px; height:22px; color:#e0554e; flex:none; }
.ic-photo{ position:relative; margin-top:auto; height:210px; }
.ic-photo img{ width:100%; height:100%; object-fit:cover; display:block; }
.ic-pill{ position:absolute; left:24px; bottom:20px; background:#fff; color:#b83b45; font-weight:700; font-size:14.5px; padding:12px 26px; border-radius:999px; box-shadow:0 6px 18px rgba(0,0,0,.2); transition:transform .15s ease; }
.ic-pill:hover{ transform:translateY(-2px); }
.ic-map{ position:absolute; top:12px; right:12px; z-index:2; width:38px; height:38px; border-radius:50%; background:rgba(255,255,255,.92); color:#b83b45; display:flex; align-items:center; justify-content:center; box-shadow:0 4px 12px rgba(0,0,0,.18); }
.ic-map svg{ width:20px; height:20px; }
.ic-map:hover{ background:#fff; }
@media (max-width:900px){ .loc-grid{ grid-template-columns:1fr; max-width:430px; margin:0 auto; } }

/* 맨 위로 가기 버튼 */
.to-top{ position:fixed; right:24px; bottom:170px; z-index:155; width:46px; height:46px; border-radius:50%; background:#fff; color:var(--navy); border:1.5px solid var(--line); box-shadow:0 8px 22px rgba(15,41,66,.18); cursor:pointer; display:flex; align-items:center; justify-content:center; opacity:0; visibility:hidden; transform:translateY(10px); transition:opacity .25s ease, transform .25s ease, visibility .25s ease; }
.to-top.show{ opacity:1; visibility:visible; transform:none; }
.to-top:hover{ background:var(--sky-soft); }
.to-top svg{ width:22px; height:22px; }
@media (max-width:640px){ .to-top{ right:16px; bottom:200px; width:42px; height:42px; } }

/* ===== 비포/애프터 비교 슬라이더 ===== */
.beforeafter{ background:var(--sky-soft); }
.ba-item{ margin-bottom:46px; }
.ba-item:last-child{ margin-bottom:0; }
.ba-head{ text-align:center; margin-bottom:18px; }
.ba-head h3{ font-size:clamp(26px,3vw,36px); color:var(--navy); }
.ba-head p{ color:var(--muted); margin-top:4px; font-size:16px; }
.ba-row{ display:grid; grid-template-columns:1.7fr 1fr; gap:24px; align-items:center; }
.ba{ position:relative; overflow:hidden; border-radius:14px; aspect-ratio:532/225; user-select:none; touch-action:none; cursor:ew-resize; box-shadow:0 12px 30px rgba(15,41,66,.14); background:#dfe6ee; }
.ba img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; display:block; pointer-events:none; }
.ba .ba-before{ clip-path:inset(0 50% 0 0); }
.ba-lbl{ position:absolute; top:12px; z-index:3; background:rgba(15,41,66,.85); color:#fff; font-size:11px; font-weight:700; letter-spacing:.09em; text-transform:uppercase; padding:5px 11px; border-radius:6px; pointer-events:none; }
.ba-lbl-before{ left:12px; } .ba-lbl-after{ right:12px; }
.ba-handle{ position:absolute; top:0; bottom:0; left:50%; width:2px; background:#fff; z-index:4; transform:translateX(-50%); pointer-events:none; box-shadow:0 0 6px rgba(0,0,0,.3); }
.ba-grip{ position:absolute; top:50%; left:50%; transform:translate(-50%,-50%); width:38px; height:38px; border-radius:50%; background:#fff; color:var(--navy); display:flex; align-items:center; justify-content:center; box-shadow:0 3px 12px rgba(0,0,0,.35); }
.ba-info{ background:#fff; border:1px solid var(--line); border-radius:14px; padding:24px; }
.ba-info h4{ font-size:15px; letter-spacing:.06em; text-transform:uppercase; color:var(--navy); margin-bottom:10px; }
.ba-info p{ color:var(--muted); font-size:14.5px; line-height:1.6; }
.ba-note{ margin-top:12px; font-size:12px; opacity:.75; }
@media (max-width:800px){ .ba-row{ grid-template-columns:1fr; } }

/* chat responsive fix — 중간 크기 창에서도 잘리지 않게 */
@media (max-width:820px) and (min-width:641px){
  .chat-panel{ right:12px; width:min(360px, calc(100vw - 24px)); max-height:calc(100dvh - 200px); }
  .chat-fab{ right:16px; }
  .to-top{ right:16px; }
}
@media (max-width:400px){
  .chat-panel{ height:min(70vh, calc(100dvh - 140px)); }
}

/* ===== 네비게이션: 900px 이하에서는 햄버거 메뉴로 전환 (중간 크기 대응) ===== */
@media (max-width:900px){
  .nav-links{ position:fixed; top:96px; left:0; right:0; flex-direction:column; gap:0; background:var(--paper); border-bottom:1px solid var(--line); max-height:0; overflow:hidden; transition:max-height .3s ease; }
  .nav-links.open{ max-height:380px; }
  .nav-links li{ width:100%; text-align:center; border-top:1px solid var(--line); }
  .nav-links a{ display:block; padding:16px; }
  .nav-links .mobile-book{ display:block; padding:14px; }
  .hamburger{ display:flex; }
  .header .btn-book.desktop-only{ display:none; }
  .nav-right{ gap:12px; }          /* 언어선택기와 햄버거 사이 간격 확보 */
}
@media (max-width:900px) and (min-width:641px){
  /* 태블릿 구간: 언어선택기 항상 보이되 답답하지 않게 */
  .lang-select{ font-size:14px; padding:7px 11px; }
}

/* ===== 홈 채용 배너 ===== */
.recruit{ background:var(--sky-soft); }
.recruit-inner{ max-width:760px; margin:0 auto; text-align:center; }
.recruit-inner h2{ font-size:clamp(28px,3.4vw,42px); margin:12px 0 14px; }
.recruit-inner p{ color:var(--muted); font-size:17px; margin-bottom:26px; }
.recruit-btn{ text-transform:uppercase; letter-spacing:.04em; font-size:15px; }

/* ===== CAREERS 페이지 (careers/*.html 전용) ===== */
body.careers{ background:#fff; padding-bottom:0; }
.c-header{ position:sticky; top:0; z-index:50; background:rgba(255,255,255,.96); backdrop-filter:blur(8px); border-bottom:1px solid var(--line); }
.c-nav{ display:flex; align-items:center; justify-content:space-between; height:76px; }
.c-logo img{ height:42px; width:auto; display:block; }
.c-alllink{ color:var(--navy); font-weight:600; font-size:15px; }
.c-alllink:hover{ text-decoration:underline; }

.c-hero{ background:var(--navy); color:#fff; padding:64px 0 56px; }
.c-hero-main{ padding:80px 0 64px; }
.c-narrow{ max-width:820px; margin:0 auto; }
.c-center{ text-align:center; }
.c-tag{ display:inline-block; font-size:12px; font-weight:700; letter-spacing:.09em; padding:5px 12px; border-radius:999px; margin-bottom:16px; }
.c-tag-medical{ background:#dbe6f2; color:var(--navy); }
.c-tag-wellness{ background:#d8ece4; color:#1c6b4f; }
.c-hero .c-tag{ background:rgba(255,255,255,.16); color:#fff; }
.c-title{ font-family:'Plus Jakarta Sans',sans-serif; color:#fff; font-weight:600; font-size:clamp(30px,4.2vw,48px); line-height:1.12; }
.c-hero-main .c-title{ color:#fff; }
.c-intro{ color:rgba(255,255,255,.9); font-size:18px; line-height:1.6; margin:16px 0 26px; }

.c-section{ padding:56px 0; }
.c-section:nth-child(even){ background:var(--paper); }
.c-h2{ font-family:'Plus Jakarta Sans',sans-serif; color:var(--navy); font-size:clamp(24px,3vw,34px); margin-bottom:18px; }
.c-center .c-h2{ margin-left:auto; margin-right:auto; }
.c-h3{ font-family:'Plus Jakarta Sans',sans-serif; color:var(--navy); font-size:21px; margin:28px 0 12px; }
.c-h3:first-child{ margin-top:0; }
.c-section p{ color:var(--ink); font-size:16px; line-height:1.7; margin-bottom:12px; }
.c-narrow.c-center p, .c-section .c-intro{ color:var(--muted); }
.c-list{ list-style:none; display:flex; flex-direction:column; gap:9px; margin:6px 0 4px; }
.c-list li{ position:relative; padding-left:26px; color:var(--ink); font-size:16px; line-height:1.55; }
.c-list li::before{ content:'✓'; position:absolute; left:0; top:0; color:var(--steel); font-weight:700; }
.c-block{ margin-bottom:28px; }
.c-block:last-child{ margin-bottom:0; }

/* 직무 카드 그리드 */
.cat-h{ font-family:'Plus Jakarta Sans',sans-serif; color:var(--navy); font-size:20px; text-transform:uppercase; letter-spacing:.06em; margin:8px 0 18px; padding-bottom:10px; border-bottom:2px solid var(--sky-soft); }
.cat-h:not(:first-child){ margin-top:44px; }
.pos-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:22px; }
.pos-card{ display:flex; flex-direction:column; background:#fff; border:1px solid var(--line); border-radius:16px; padding:26px; transition:transform .2s ease, box-shadow .2s ease, border-color .2s ease; }
.pos-card:hover{ transform:translateY(-4px); box-shadow:0 18px 40px rgba(15,41,66,.14); border-color:var(--steel); }
.pos-card h3{ font-family:'Plus Jakarta Sans',sans-serif; color:var(--navy); font-size:20px; line-height:1.2; margin:4px 0 10px; }
.pos-card p{ color:var(--muted); font-size:14.5px; line-height:1.55; flex:1; }
.pos-cta{ margin-top:16px; color:var(--navy); font-weight:700; font-size:14.5px; }

/* Why Join */
.why-grid{ display:grid; grid-template-columns:repeat(2,1fr); gap:22px; }
.why-item{ background:#fff; border:1px solid var(--line); border-radius:14px; padding:22px; }
.why-item h4{ font-family:'Plus Jakarta Sans',sans-serif; color:var(--navy); font-size:18px; margin-bottom:8px; }
.why-item p{ color:var(--muted); font-size:14.5px; line-height:1.6; margin:0; }

/* 지원 폼 */
.c-apply{ background:var(--navy); }
.c-apply .c-h2{ color:#fff; }
.c-apply-lead{ color:rgba(255,255,255,.88); font-size:16px; line-height:1.6; margin-bottom:26px; }
.apply-form{ background:#fff; border-radius:16px; padding:30px; display:flex; flex-direction:column; gap:16px; }
.field{ display:flex; flex-direction:column; gap:6px; }
.field label{ font-weight:600; color:var(--navy); font-size:14.5px; }
.field .req{ color:#c0392b; }
.field input, .field select, .field textarea{ width:100%; border:1.5px solid var(--line); border-radius:10px; padding:11px 13px; font-size:15px; font-family:'Inter',sans-serif; color:var(--ink); background:#fff; }
.field input:focus, .field select:focus, .field textarea:focus{ outline:none; border-color:var(--navy); }
.field input[type=file]{ padding:9px 13px; }
.field .hint{ font-size:12.5px; color:var(--muted); }
.apply-form .btn{ align-self:flex-start; margin-top:6px; }
.hp{ position:absolute; left:-9999px; height:0; overflow:hidden; }
.apply-thanks{ background:#fff; border-radius:16px; padding:36px 30px; text-align:center; }
.apply-thanks h3{ font-family:'Plus Jakarta Sans',sans-serif; color:var(--navy); font-size:24px; margin-bottom:14px; }
.apply-thanks p{ color:var(--muted); font-size:15.5px; line-height:1.65; margin-bottom:8px; }

/* Careers 푸터 */
.c-footer{ background:var(--navy-deep); color:rgba(255,255,255,.85); padding:44px 0 28px; }
.c-foot-grid{ display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:24px; }
.c-foot-logo{ font-family:'Plus Jakarta Sans',sans-serif; color:#fff; font-size:20px; font-weight:600; margin-bottom:8px; }
.c-footer p{ font-size:14.5px; line-height:1.7; }
.c-footer a{ color:rgba(255,255,255,.85); }
.c-footer a:hover{ color:#fff; text-decoration:underline; }
.c-foot-bottom{ margin-top:28px; padding-top:18px; border-top:1px solid rgba(255,255,255,.15); font-size:13px; color:rgba(255,255,255,.6); }

@media (max-width:900px){ .pos-grid{ grid-template-columns:repeat(2,1fr); } }
@media (max-width:640px){
  .pos-grid{ grid-template-columns:1fr; }
  .why-grid{ grid-template-columns:1fr; }
  .c-nav{ height:64px; }
  .c-logo img{ height:36px; }
  .apply-form{ padding:22px; }
}

/* careers 보강 */
.c-why{ background:var(--sky-soft); }
.c-foot-contact{ text-align:left; }
.c-foot-contact a{ color:inherit; }
.c-foot-phones b{ color:#fff; font-weight:600; display:inline-block; min-width:72px; }
@media (min-width:721px){ .c-foot-contact{ text-align:right; } }

/* ===== 채용 배너 (작은 가로형, About 위) ===== */
.recruit-strip{ background:var(--sky-soft); padding:34px 0; }
.recruit-strip-inner{ display:flex; align-items:center; justify-content:space-between; gap:28px; }
.recruit-strip-text{ flex:1; }
.recruit-strip-text .eyebrow{ margin-bottom:6px; }
.recruit-strip-text h3{ font-family:'Plus Jakarta Sans',sans-serif; font-weight:600; color:var(--navy); font-size:clamp(20px,2.2vw,26px); line-height:1.2; margin-bottom:6px; }
.recruit-strip-text p{ color:var(--muted); font-size:14.5px; line-height:1.5; max-width:640px; }
.recruit-strip .recruit-btn{ flex:none; text-transform:uppercase; letter-spacing:.04em; font-size:13.5px; padding:12px 22px; white-space:nowrap; }
@media (max-width:720px){
  .recruit-strip-inner{ flex-direction:column; text-align:center; gap:18px; }
  .recruit-strip-text p{ margin:0 auto; }
}

/* 지원서 오류 메시지 */
.apply-error{ margin-top:14px; padding:12px 14px; border-radius:8px; background:#fdecec; color:#8a2b2b; font-size:14px; line-height:1.5; }

/* ===== careers 강화 (헤더 통일 + 밋밋함 개선) ===== */
/* 헤더: 메인 홈페이지와 동일한 크기/톤 */
.c-header{ background:rgba(244,247,251,.9); backdrop-filter:blur(10px); border-bottom:1px solid var(--line); }
.c-nav{ height:96px; }
.c-logo img{ height:54px; }
.c-alllink{ font-weight:600; font-size:15px; color:var(--navy); white-space:nowrap; }
.c-alllink:hover{ text-decoration:underline; }

/* 히어로: 깊이감 있는 네이비 그라데이션 */
.c-hero{ background:linear-gradient(135deg, var(--navy) 0%, var(--navy-deep) 100%); position:relative; overflow:hidden; padding:72px 0 60px; }
.c-hero-main{ padding:92px 0 74px; }
.c-hero::after{ content:""; position:absolute; right:-80px; top:-80px; width:320px; height:320px; border-radius:50%; background:radial-gradient(circle, rgba(91,130,168,.35), transparent 70%); pointer-events:none; }
.c-hero .wrap{ position:relative; z-index:1; }
.c-tag-medical{ background:#e6edf5; color:var(--navy); }
.c-tag-wellness{ background:rgba(255,255,255,.18); color:#fff; }
.c-hero .c-tag{ box-shadow:0 2px 8px rgba(0,0,0,.12); }

/* 섹션 리듬: 제목에 액센트 바 */
.c-h3{ position:relative; padding-left:16px; }
.c-h3::before{ content:""; position:absolute; left:0; top:6px; bottom:4px; width:4px; border-radius:2px; background:var(--steel); }
.c-h2{ position:relative; }

/* 리스트: 체크마크 마커 (밋밋한 텍스트 → 시각적) */
.c-list li{ position:relative; padding-left:32px; color:var(--ink); line-height:1.55; font-size:15.5px; }
.c-list li::before{ content:"✓"; position:absolute; left:0; top:1px; width:21px; height:21px; border-radius:50%; background:var(--sky-soft); color:var(--navy); font-size:12px; font-weight:800; display:flex; align-items:center; justify-content:center; }

/* Working With Us / 공통 블록: 카드 느낌 */
.c-block{ background:#fff; border:1px solid var(--line); border-radius:14px; padding:22px 24px; margin-bottom:18px; }
.c-block:last-child{ margin-bottom:0; }
.c-block .c-h3{ margin-top:0; }

/* 직무 카드: 상단 액센트 + 호버 */
.pos-card{ position:relative; overflow:hidden; box-shadow:0 8px 24px rgba(15,41,66,.06); }
.pos-card::before{ content:""; position:absolute; top:0; left:0; right:0; height:4px; background:var(--navy); }
.pos-card:hover{ transform:translateY(-4px); box-shadow:0 18px 40px rgba(15,41,66,.14); border-color:transparent; }
.pos-card h3{ font-family:'Plus Jakarta Sans',sans-serif; color:var(--navy); font-size:20px; margin:14px 0 8px; line-height:1.2; }
.pos-card p{ color:var(--muted); font-size:14.5px; line-height:1.55; flex:1; }
.pos-cta{ transition:gap .2s; }
.pos-card:hover .pos-cta{ text-decoration:underline; }
.cat-h{ margin:6px 0 18px; padding-bottom:10px; border-bottom:2px solid var(--sky-soft); }
.pos-grid{ margin-bottom:38px; }
.pos-grid:last-child{ margin-bottom:0; }

/* Why Join 카드 */
.why-item{ box-shadow:0 6px 18px rgba(15,41,66,.05); transition:transform .2s; }
.why-item:hover{ transform:translateY(-3px); }
.why-item h4{ font-family:'Plus Jakarta Sans',sans-serif; color:var(--navy); font-size:17px; margin-bottom:8px; }
.why-item p{ color:var(--muted); font-size:14px; line-height:1.55; }

/* 지원 폼: 카드 + 입력 스타일 */
.c-apply{ background:var(--sky-soft); }
.apply-form{ box-shadow:0 14px 40px rgba(15,41,66,.1); max-width:680px; }
.apply-form label{ font-weight:600; font-size:14px; color:var(--navy); }
.apply-form .req{ color:#c0392b; }
.apply-form input, .apply-form select, .apply-form textarea{ border:1.5px solid var(--line); border-radius:9px; padding:11px 13px; font-family:'Inter',sans-serif; font-size:15px; width:100%; background:#fff; transition:border-color .2s; }
.apply-form input:focus, .apply-form select:focus, .apply-form textarea:focus{ outline:none; border-color:var(--navy); }
.apply-form input[type=file]{ padding:9px; background:var(--paper); cursor:pointer; }
.apply-form .hint{ font-size:12px; color:var(--muted); }
.apply-form button{ margin-top:6px; align-self:flex-start; padding:13px 30px; }
.hp{ position:absolute; left:-9999px; }
.apply-thanks{ background:#fff; border:1px solid var(--line); border-left:4px solid var(--navy); border-radius:14px; padding:28px 30px; box-shadow:0 14px 40px rgba(15,41,66,.1); }
.apply-thanks h3{ font-family:'Plus Jakarta Sans',sans-serif; color:var(--navy); font-size:22px; margin-bottom:12px; }
.apply-thanks p{ color:var(--muted); line-height:1.6; margin-bottom:8px; }

/* 푸터 살짝 정리 */
.c-footer{ background:var(--navy-deep); }

/* ===== careers 헤더: 메인과 정확히 동일하게 (최종 오버라이드) ===== */
.c-header{ background:rgba(244,247,251,.82) !important; }
.c-header .c-nav{ height:96px !important; }
.c-header .c-logo img{ height:70px !important; width:auto !important; }
@media (max-width:640px){
  .c-header .c-nav{ height:84px !important; }
  .c-header .c-logo img{ height:56px !important; }
}

/* ===== careers 카드 레이아웃 + 아이콘 ===== */
.pos-ico{ width:46px; height:46px; border-radius:12px; background:var(--sky-soft); color:var(--navy); display:flex; align-items:center; justify-content:center; margin-bottom:14px; flex:none; }
.pos-ico svg{ width:24px; height:24px; }
/* MEDICAL: 가로 넓은 카드 */
.pos-grid-solo{ grid-template-columns:1fr; }
.pos-card-wide{ flex-direction:row; align-items:center; gap:26px; padding:30px 32px; }
.pos-card-wide .pos-ico{ width:60px; height:60px; margin-bottom:0; }
.pos-card-wide .pos-ico svg{ width:30px; height:30px; }
.pos-card-wide .pos-body{ flex:1; }
.pos-card-wide h3{ margin-top:0; }
.pos-card-wide p{ margin-bottom:6px; }
/* WELLNESS: 2열 (4개 → 2×2) */
.pos-grid-2{ grid-template-columns:repeat(2,1fr); }
@media (max-width:800px){
  .pos-grid-2{ grid-template-columns:1fr; }
  .pos-card-wide{ flex-direction:column; align-items:flex-start; gap:0; }
  .pos-card-wide .pos-ico{ margin-bottom:14px; }
}

/* careers 헤더: 전체 메뉴 통일 */
.c-header .nav-links a.c-active{ color:var(--navy); font-weight:600; }
.c-header .nav-links a.c-active::after{ width:100%; }
.c-header .c-nav{ gap:20px; }
.c-header .btn-book{ white-space:nowrap; }

/* ===== 지원 감사 페이지 ===== */
.ty-wrap{ min-height:64vh; display:flex; align-items:center; background:linear-gradient(180deg, var(--sky-soft), var(--paper)); padding:60px 0; }
.ty-card{ max-width:620px; margin:0 auto; background:#fff; border:1px solid var(--line); border-radius:20px; padding:48px 44px; text-align:center; box-shadow:0 24px 60px rgba(15,41,66,.12); }
.ty-icon{ width:72px; height:72px; margin:0 auto 22px; border-radius:50%; background:var(--navy); display:flex; align-items:center; justify-content:center; box-shadow:0 10px 26px rgba(15,41,66,.28); }
.ty-card h1{ font-family:'Plus Jakarta Sans',sans-serif; color:var(--navy); font-size:clamp(26px,3.4vw,34px); margin-bottom:14px; }
.ty-card p{ color:var(--muted); font-size:16px; line-height:1.65; }
.ty-sub{ margin-top:10px; font-weight:500; }
.ty-actions{ display:flex; gap:12px; justify-content:center; flex-wrap:wrap; margin-top:26px; }
@media (max-width:560px){ .ty-card{ padding:36px 24px; } }

/* ===== Before/After: 레이저 여러 예시 그리드 ===== */
.ba-desc-center{ text-align:center; color:var(--muted); font-size:15px; line-height:1.6; max-width:640px; margin:0 auto 26px; }
.ba-examples{ display:grid; grid-template-columns:repeat(3,1fr); gap:22px; }
.ba-examples .ba{ aspect-ratio:1/1; }
.ba-ex-cap{ text-align:center; margin-top:12px; font-size:14px; font-weight:600; color:var(--navy); }
.ba-note-center{ text-align:center; font-size:12px; color:var(--muted); opacity:.75; margin-top:20px; }
@media (max-width:820px){ .ba-examples{ grid-template-columns:1fr; max-width:340px; margin:0 auto; } }

/* 의사 3명 레이아웃 */
.docs-grid{ grid-template-columns:repeat(3,1fr); max-width:920px; margin-left:auto; margin-right:auto; }
@media (max-width:820px){ .docs-grid{ grid-template-columns:repeat(2,1fr); max-width:520px; } }
@media (max-width:520px){ .docs-grid{ grid-template-columns:1fr; max-width:320px; } }

/* 지원서: 개인정보 안내 + 동의 */
.privacy-note{ background:var(--sky-soft); border-radius:10px; padding:14px 16px; font-size:12.5px; line-height:1.6; color:var(--muted); margin-top:4px; }
.consent{ display:flex; gap:10px; align-items:flex-start; font-size:13.5px; color:var(--ink); font-weight:400; cursor:pointer; line-height:1.5; }
.consent input{ width:18px; height:18px; margin-top:2px; flex:none; cursor:pointer; accent-color:var(--navy); }
.consent .req{ color:#c0392b; }

/* 채용 상세: 뒤로가기 + 앵커 스크롤 여백 */
.c-back-hero{ display:inline-block; color:rgba(255,255,255,.82); font-size:14px; font-weight:500; margin-bottom:16px; }
.c-back-hero:hover{ color:#fff; text-decoration:underline; }
body.careers [id]{ scroll-margin-top:120px; }
@media (max-width:640px){ body.careers [id]{ scroll-margin-top:104px; } }

/* 이력서 파일 검증 상태 */
.file-status{ margin-top:8px; font-size:13px; padding:8px 12px; border-radius:8px; line-height:1.4; }
.file-status.ok{ background:#e8f4ec; color:#1c6b3f; }
.file-status.bad{ background:#fdecec; color:#8a2b2b; }

/* 지원폼 모바일/iOS 수정 */
.apply-form input[type=date]{ -webkit-appearance:none; appearance:none; min-height:46px; line-height:1.2; color:var(--ink); background:#fff; }
.apply-form select{ -webkit-appearance:none; appearance:none; background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8' fill='none' stroke='%23173A5E' stroke-width='2'%3E%3Cpath d='M1 1l5 5 5-5'/%3E%3C/svg%3E"); background-repeat:no-repeat; background-position:right 14px center; padding-right:36px; }
@media (max-width:640px){
  /* iOS 포커스 시 자동 확대 방지 (16px 이상) */
  .apply-form input, .apply-form select, .apply-form textarea{ font-size:16px; }
  .apply-form input[type=date]{ min-height:48px; }
}
/* 하단 뒤로가기 */
.c-backbottom{ text-align:center; background:var(--sky-soft); padding:0 0 48px; margin-top:-1px; }

/* ===== [수정] 지원 섹션 배경(하늘색)에 맞게 글자색 정정 ===== */
.c-apply{ background:var(--sky-soft) !important; }
.c-apply .c-h2{ color:var(--navy) !important; }
.c-apply .c-apply-lead{ color:var(--muted) !important; }

/* 채용: JS 스크롤만 사용 (CSS smooth와 이중 작동 방지) + 앵커 여백 통일 */
body.careers [id]{ scroll-margin-top:120px; }
@media (max-width:640px){ body.careers [id]{ scroll-margin-top:104px; } }

/* 채용 헤더: 모바일에선 큰 버튼 숨김 (햄버거 메뉴/히어로에 있음) → 로고 균형 */
@media (max-width:900px){
  .c-header .btn-book.desktop-only{ display:none !important; }
  .c-header .c-nav{ gap:12px; }
}

/* 모바일 하단 고정 Apply 바 (상세 페이지) */
.apply-bar{ display:none; }
@media (max-width:900px){
  .apply-bar{ display:block; position:fixed; left:0; right:0; bottom:0; z-index:60;
    background:rgba(255,255,255,.96); backdrop-filter:blur(8px); border-top:1px solid var(--line);
    padding:12px 16px calc(12px + env(safe-area-inset-bottom)); box-shadow:0 -4px 16px rgba(15,41,66,.08); }
  .apply-bar .btn{ display:block; width:100%; text-align:center; padding:15px; font-size:16px; }
  body.careers{ padding-bottom:76px; }           /* 바에 가리지 않게 */
  .careers .to-top{ bottom:84px; }                /* 맨위로 버튼을 바 위로 */
  .careers .c-backbottom{ padding-bottom:24px; }
}

/* ===== 환자 후기 (구글 리뷰) ===== */
.reviews{ background:var(--paper); }
.rv-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:22px; margin-bottom:30px; }
.rv-card{ background:#fff; border:1px solid var(--line); border-radius:14px; padding:24px; box-shadow:0 8px 24px rgba(15,41,66,.05); }
.rv-stars{ color:var(--gold-accent, #E0A93F); display:inline-flex; gap:2px; margin-bottom:12px; }
.rv-text{ color:var(--ink); font-size:15px; line-height:1.6; margin-bottom:16px; }
.rv-author{ display:flex; flex-direction:column; gap:2px; }
.rv-author b{ color:var(--navy); font-size:14.5px; }
.rv-author span{ color:var(--muted); font-size:12.5px; }
.rv-cta{ display:flex; gap:12px; justify-content:center; flex-wrap:wrap; }
.rv-note{ text-align:center; color:var(--muted); font-size:12px; margin-top:16px; opacity:.8; }
@media (max-width:820px){ .rv-grid{ grid-template-columns:1fr; max-width:460px; margin:0 auto 26px; } }

/* 채용 메인 히어로: 의료진 배경사진 + 오버레이 */
.c-hero-photo{ background:linear-gradient(90deg, rgba(15,41,66,.88) 0%, rgba(15,41,66,.55) 55%, rgba(15,41,66,.72) 100%), url('careers-hero.webp') center/cover no-repeat; }
.c-hero-photo::after{ display:none; }
.c-hero-grid{ display:grid; grid-template-columns:1.1fr 1fr; gap:36px; align-items:center; }
.c-hero-grid .c-intro{ margin:0; }
@media (max-width:820px){ .c-hero-grid{ grid-template-columns:1fr; gap:16px; } }

/* ===== Meet Our Team: 카테고리 그룹 ===== */
.docs-cat{ margin-bottom:34px; }
.docs-cat:last-child{ margin-bottom:0; }
.docs-cat-h{ font-family:'Plus Jakarta Sans',sans-serif; font-weight:600; color:var(--navy); font-size:19px; text-align:center; margin-bottom:18px; padding-bottom:10px; border-bottom:2px solid var(--sky-soft); max-width:340px; margin-left:auto; margin-right:auto; }

/* ===== [수정] 의사 카드: 흰색 틈 제거 + 카테고리 가운데 정렬 ===== */
/* 사진이 컨테이너를 완전히 채우고, 상단 기준으로 정렬 (얼굴 유지, 흰 틈 제거) */
.doc-photo{ background:#aec5cc; }
.doc-photo img{ display:block; width:100%; height:280px; object-fit:cover; object-position:center top; background:#aec5cc; }

/* 카테고리 카드 그리드 → flex 가운데 정렬 (1~2명일 때 빈 공간 해결) */
.docs-cat .docs-grid{ display:flex !important; flex-wrap:wrap; justify-content:center; gap:24px; max-width:640px; margin:0 auto; }
.docs-cat .doc-card{ flex:0 1 280px; max-width:290px; }
@media (max-width:640px){
  .docs-cat .doc-card{ flex:0 1 100%; max-width:340px; }
}

/* contact 재구성: 헤더 상단 고정 + 좌우 박스 정렬 */
.contact .contact-head{ margin-bottom:26px; }
.contact .contact-grid{ display:grid; grid-template-columns:1fr 1fr; gap:32px; align-items:stretch; }
.contact-col{ display:flex; flex-direction:column; gap:20px; }
.contact-col > *{ margin-bottom:0 !important; }
/* 우측 부서 박스를 좌측 박스와 동일한 반투명 스타일로 통일 */
.contact .division{ background:rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.15); border-radius:14px; padding:22px 24px; }
.contact .divisions .btn-book{ margin-top:2px; }
@media (max-width:820px){
  .contact .contact-grid{ grid-template-columns:1fr; gap:20px; }
}

/* 의사 팝업: 학력 두 줄 표기 */
.modal-edu{ list-style:none; margin:0; padding:0; }
.modal-edu .edu-item{ margin-bottom:14px; padding-left:16px; position:relative; }
.modal-edu .edu-item:last-child{ margin-bottom:0; }
.modal-edu .edu-item::before{ content:""; position:absolute; left:0; top:7px; width:6px; height:6px; border-radius:50%; background:var(--steel,#5B82A8); }
.modal-edu .edu-degree{ display:block; font-weight:600; color:var(--navy,#173A5E); font-size:14.5px; line-height:1.4; }
.modal-edu .edu-meta{ display:block; color:var(--muted,#5c6b7a); font-size:13px; margin-top:2px; }

/* 배너 있을 때 고정 헤더를 아래로 */
body.has-announce .header{ top:38px; }
@media (max-width:600px){
  .announce-inner{ font-size:12.5px; padding:8px 40px 8px 14px; }
  body.has-announce .header{ top:52px; }
}

/* ===== 공지 섹션 ===== */
.notices{ background:var(--paper,#F4F7FB); }
.notice-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:22px; }
.notice-card{ background:#fff; border:1px solid var(--line,#e3e9f0); border-radius:14px; padding:22px 24px; box-shadow:0 8px 24px rgba(15,41,66,.05); }
.notice-top{ display:flex; align-items:center; gap:10px; margin-bottom:10px; }
.notice-tag{ background:var(--sky-soft,#E6EDF5); color:var(--navy,#173A5E); font-size:11.5px; font-weight:700; letter-spacing:.04em; text-transform:uppercase; padding:3px 10px; border-radius:20px; }
.notice-date{ color:var(--muted,#5c6b7a); font-size:12.5px; }
.notice-title{ font-family:'Plus Jakarta Sans',sans-serif; color:var(--navy,#173A5E); font-size:18px; margin:0 0 8px; line-height:1.3; }
.notice-body{ color:var(--muted,#5c6b7a); font-size:14.5px; line-height:1.6; margin:0; }
@media (max-width:820px){ .notice-grid{ grid-template-columns:1fr; max-width:460px; margin:0 auto; } }

/* 공지 더보기 버튼 */
.notice-more{ text-align:center; margin-top:28px; }

/* 카드 상단 흰선 수정: 버튼 내용 세로 가운데정렬 → 상단정렬 (언어별 높이차 대응) */
.doc-card{ display:flex; flex-direction:column; justify-content:flex-start; }
.doc-card .doc-photo{ flex:none; }
.doc-card .doc-info{ flex:1 0 auto; }

/* ===== 상단 공지 배너 (밝게 + 강조) ===== */
.announce{ position:fixed; top:0; left:0; right:0; z-index:200; background:linear-gradient(90deg,#dbe6f2,#e6edf5); color:var(--navy,#173A5E); border-bottom:1px solid #c5d4e6; box-shadow:0 2px 10px rgba(15,41,66,.06); }
.announce-inner{ max-width:1200px; margin:0 auto; padding:11px 46px 11px 20px; display:flex; align-items:center; justify-content:center; gap:9px; font-size:14.5px; font-weight:600; line-height:1.4; position:relative; text-align:center; }
.announce-ico{ flex:none; width:16px; height:16px; color:var(--navy,#173A5E); }
.announce-dot{ width:8px; height:8px; border-radius:50%; background:var(--steel,#5B82A8); flex:none; animation:annPulse 1.6s ease-in-out infinite; }
@keyframes annPulse{ 0%,100%{ transform:scale(1); opacity:1; } 50%{ transform:scale(1.5); opacity:.45; } }
.announce-x{ position:absolute; right:12px; top:50%; transform:translateY(-50%); background:none; border:none; color:var(--navy,#173A5E); opacity:.6; font-size:22px; line-height:1; cursor:pointer; padding:0 6px; }
.announce-x:hover{ opacity:1; }
body.has-announce .header{ top:42px; }
@media (max-width:600px){
  .announce-inner{ font-size:12.5px; padding:9px 40px 9px 14px; gap:7px; }
  body.has-announce .header{ top:56px; }
}

/* ===== 모던 리프레시: 밝고 깔끔하게 ===== */
body{ background:#fff; color:var(--ink); }
.section{ padding:84px 0; }
h1,h2,h3,h4{ letter-spacing:-.01em; }
/* 카드: 테두리 최소 + 은은한 그림자 + 둥근 모서리 */
.svc-card, .doc-card, .notice-card, .rv-card, .loc-card, .ic-card, .step, .why-item, .pos-card{
  border:1px solid var(--line) !important;
  box-shadow:0 6px 24px rgba(15,41,66,.06) !important;
  border-radius:18px !important;
}
.svc-card:hover, .doc-card:hover, .notice-card:hover, .pos-card:hover{
  box-shadow:0 14px 36px rgba(15,41,66,.12) !important;
  transform:translateY(-3px);
}
/* 버튼: 둥글게, 부드러운 전환 */
.btn{ border-radius:999px; transition:transform .15s ease, box-shadow .2s ease, background .2s ease; }
.btn-primary{ box-shadow:0 6px 18px rgba(23,58,94,.18); }
.btn-primary:hover{ transform:translateY(-1px); box-shadow:0 10px 24px rgba(23,58,94,.26); }
/* 섹션 제목 eyebrow 포인트색 */
.eyebrow{ color:var(--accent) !important; letter-spacing:.14em; }
/* See the Difference 숨김 (일시 중지) */
#results, .beforeafter{ display:none !important; }

/* ===== 섹션 배경 통일 (밝게, 정신없는 색교차 제거) ===== */
.section, .about, .services, .beforeafter, .reviews, .newpatients,
.notices, .clinic, .faq, .locations, .recruit-strip{
  background:#ffffff !important;
}
/* 섹션 사이 아주 옅은 구분선으로만 리듬 (선택) */
/* Contact는 네이비 유지(대비 포인트) */
.contact{ background:#ffffff !important; }

/* ===== 모던 히어로 (목업 느낌) ===== */
.hero{ position:relative; min-height:88vh; display:flex; align-items:center; }
.hero .hero-bg{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center top; }
.hero .hero-overlay{ position:absolute; inset:0; background:linear-gradient(100deg, rgba(255,255,255,.97) 0%, rgba(255,255,255,.88) 30%, rgba(255,255,255,.32) 48%, rgba(255,255,255,0) 60%); }
.hero .wrap{ position:relative; z-index:2; }
.hero-content{ max-width:560px; padding:40px 0; }
.hero-title{ font-family:'Plus Jakarta Sans',sans-serif; font-weight:800; color:var(--navy); font-size:clamp(36px,5.2vw,64px); line-height:1.08; letter-spacing:-.02em; margin:14px 0 18px; }
.hero-title span{ white-space:normal; }
.hero-title .accent{ color:var(--accent); }
.hero .lead{ color:#3a4a5a; font-size:clamp(16px,1.5vw,19px); line-height:1.6; max-width:460px; margin-bottom:28px; }
.hero-cta{ display:flex; gap:14px; flex-wrap:wrap; margin-bottom:34px; }
.hero-badges{ display:flex; gap:26px; flex-wrap:wrap; padding-top:22px; border-top:1px solid rgba(23,58,94,.14); }
.hero-badge{ display:flex; align-items:center; gap:10px; color:var(--navy); font-size:13.5px; font-weight:600; line-height:1.25; max-width:180px; }
.hb-ico{ flex:none; width:34px; height:34px; border-radius:10px; background:rgba(90,160,224,.14); color:var(--accent); display:flex; align-items:center; justify-content:center; }
.hb-ico svg{ width:19px; height:19px; }
@media (max-width:760px){
  .hero{ min-height:auto; padding:110px 0 54px; }
  .hero .hero-overlay{ background:linear-gradient(180deg, rgba(255,255,255,.95) 0%, rgba(255,255,255,.8) 55%, rgba(255,255,255,.55) 100%); }
  .hero-content{ max-width:100%; }
  .hero-badges{ gap:16px; }
  .hero-badge{ max-width:none; width:100%; }
}

/* ===== Contact 흰 배경 대응 (글자/박스 어둡게) ===== */
.contact h2, .contact h3, .contact h4{ color:var(--navy) !important; }
.contact .eyebrow{ color:var(--accent) !important; }
.contact-head p{ color:var(--muted) !important; }
.hours-box, .acc-box, .contact .division{
  background:var(--sky-soft) !important;
  border:1px solid var(--line) !important;
}
.hours-box, .hours-box p, .acc-box, .acc-box li, .acc-box p,
.contact .division, .contact .division p{ color:var(--ink) !important; }
.hours-box .t, .hours-box strong, .acc-box strong,
.contact .division h4, .contact .division b{ color:var(--navy) !important; }
.contact .ic-label{ color:var(--muted) !important; }
.contact .ic-contact{ color:var(--navy) !important; }
.acc-box svg, .acc-box .check, .contact .check{ color:var(--accent) !important; }
/* "Book an Appointment Online" 등 링크 */
.contact a{ color:var(--navy); }
.contact a:hover{ color:var(--navy-deep); }

/* Contact 박스 글자 최종 보정 (흰글씨 잔여 제거) */
.contact .hours-box .t, .contact .acc-box .t{ color:var(--navy) !important; }
.contact .hours-box .h{ color:var(--ink) !important; }
.contact .acc-box .acc-list li, .contact .acc-list li{ color:var(--ink) !important; }
.contact .hours-box *, .contact .acc-box *{ }  /* no-op keep */

/* ===== 스크롤 등장 애니메이션 ===== */
.reveal{ opacity:1; transform:none; }                 /* 기본: 보임 (JS 없거나 careers) */
html.reveal-on .reveal{ opacity:0; transform:translateY(24px);
  transition:opacity .7s cubic-bezier(.2,.7,.2,1), transform .7s cubic-bezier(.2,.7,.2,1); }
html.reveal-on .reveal.show{ opacity:1; transform:none; }
@media (prefers-reduced-motion: reduce){
  html.reveal-on .reveal{ opacity:1 !important; transform:none !important; transition:none; }
}

/* ===== 마이크로 인터랙션 / 폴리시 ===== */
a, .btn, .svc-card, .doc-card, .notice-card, .pos-card{ transition:all .22s cubic-bezier(.2,.7,.2,1); }
.svc-card img, .doc-card img{ transition:transform .5s cubic-bezier(.2,.7,.2,1); }
.svc-card:hover img{ transform:scale(1.04); }
.nav-links a{ position:relative; }
.nav-links a::after{ content:""; position:absolute; left:0; bottom:-4px; width:0; height:2px; background:var(--accent); transition:width .25s ease; }
.nav-links a:hover::after{ width:100%; }
/* 제목 타이포 위계 통일 */
h2{ font-family:'Plus Jakarta Sans',sans-serif; font-weight:700; letter-spacing:-.015em; }
.section h2, .services-head h2{ font-size:clamp(28px,3.4vw,40px); line-height:1.12; }
.eyebrow{ font-size:13px; font-weight:700; text-transform:uppercase; letter-spacing:.14em; }
.lead, .services-head p{ font-size:clamp(15px,1.4vw,17.5px); line-height:1.65; }

/* ===== 2차 고급화: 헤더/섹션/카드 ===== */
/* 헤더 스크롤 반응 강화 (스크롤 시 흰 배경 + 축소) */
.header{ transition:background .3s ease, box-shadow .3s ease; }

.header.scrolled{ background:rgba(255,255,255,.94) !important; box-shadow:0 6px 26px rgba(23,58,94,.10); border-bottom-color:transparent; }
/* 섹션 제목 통일 (eyebrow → 제목 → 부제, 가운데 정렬) */
.services-head{ max-width:660px; margin:0 auto 46px; }
.services-head .eyebrow{ display:inline-block; margin-bottom:12px; }
.services-head h2{ margin-bottom:14px; }
.services-head p{ color:var(--muted); }

/* 의사 카드 고급화 */
.doc-card{ border-radius:20px !important; overflow:hidden; }
.doc-photo{ border-radius:0; }
.doc-info{ padding:20px 20px 22px; }
.doc-info h4{ font-family:'Plus Jakarta Sans',sans-serif; font-weight:700; color:var(--navy); font-size:18px; }
.doc-info .role{ color:var(--muted); font-weight:600; }
.doc-card .hint{ font-weight:700; letter-spacing:.02em; }
.docs-cat-h{ font-family:'Plus Jakarta Sans',sans-serif; font-weight:700; letter-spacing:-.01em; }

/* 서비스 카드 텍스트 위계 */
.svc-card .no{ opacity:.55; font-weight:700; letter-spacing:.05em; }
.svc-card h4{ font-family:'Plus Jakarta Sans',sans-serif; font-weight:700; }

/* 후기/공지 카드 제목 폰트 통일 */
.rv-author b, .notice-title{ font-family:'Plus Jakarta Sans',sans-serif; }

/* 버튼 크기/무게 통일 */
.btn{ font-weight:700; letter-spacing:.01em; }
.btn-primary{ background:var(--navy); }
.btn-primary:hover{ background:var(--navy-deep); }

/* 섹션 상하 여백 리듬 */
.section{ padding:88px 0; }
@media (max-width:760px){ .section{ padding:56px 0; } }

/* ===== Careers 밝게 리프레시 (홈과 통일) ===== */
body.careers{ background:#fff; }
.c-header{ background:rgba(255,255,255,.92) !important; }

/* 상세 히어로: 어두운 네이비 → 밝은 톤 + 네이비 글자 */
.c-hero{ background:linear-gradient(135deg,#eef4fb 0%, #ffffff 100%) !important; color:var(--ink) !important; }
.c-hero::after{ display:none !important; }
.c-hero .c-title{ color:var(--navy) !important; }
.c-hero .c-intro{ color:var(--muted) !important; }
.c-back-hero{ color:var(--navy) !important; opacity:.85; }
.c-back-hero:hover{ opacity:1; }

/* 인덱스 히어로(사진): 밝은 왼쪽 페이드 + 네이비 글자 */
.c-hero-photo{ background:linear-gradient(100deg, rgba(255,255,255,.96) 0%, rgba(255,255,255,.86) 34%, rgba(255,255,255,.42) 58%, rgba(255,255,255,0) 76%), url('careers-hero.webp') center/cover no-repeat !important; }
.c-hero-photo .c-title{ color:var(--navy) !important; }
.c-hero-photo .c-intro{ color:#ffffff !important; text-shadow:0 1px 4px rgba(0,0,0,.55); }

/* Apply 섹션: 밝게 */
.c-apply{ background:var(--sky-soft) !important; }
.c-apply .c-h2{ color:var(--navy) !important; }
.c-apply .c-apply-lead{ color:var(--muted) !important; }

/* 푸터: 홈과 동일 #365E8B */
.c-footer{ background:#365E8B !important; }

/* 태그 색 */
.c-tag-medical{ background:#dbe6f2 !important; color:var(--navy) !important; }
.c-tag-wellness{ background:#d8ece4 !important; color:#1c6b4f !important; }

/* 카드 모던 (홈 카드 톤) */
.pos-card{ border:1px solid var(--line) !important; box-shadow:0 6px 24px rgba(23,58,94,.06) !important; border-radius:18px !important; transition:all .22s cubic-bezier(.2,.7,.2,1); }
.pos-card:hover{ box-shadow:0 14px 36px rgba(23,58,94,.12) !important; transform:translateY(-3px); }
.pos-card h3, .cat-h, .c-h2, .c-h3, .c-title, .docs-cat-h{ font-family:'Plus Jakarta Sans',sans-serif; }
.cat-h{ color:var(--navy); }

/* Why Join / 공통 블록 밝게 */
.c-why{ background:var(--sky-soft) !important; }
.why-item{ background:#fff; border:1px solid var(--line); box-shadow:0 6px 18px rgba(23,58,94,.05); }
.c-block{ background:#fff; border:1px solid var(--line); }

/* 하단 뒤로가기 영역 밝게 */
.c-backbottom{ background:var(--sky-soft) !important; }

/* Contact division/박스 내부 모든 값 어둡게 (Fax 등 흰글씨 잔여 제거) */
.contact .division, .contact .division *,
.hours-box, .hours-box *, .acc-box, .acc-box *{ color:var(--ink) !important; }
.contact .division h4, .contact .division b, .contact .division strong,
.hours-box .t, .acc-box .t{ color:var(--navy) !important; }
.contact .division a, .contact .ic-contact{ color:var(--navy) !important; }
.contact .division .muted, .contact .division .label{ color:var(--muted) !important; }

/* 접근성 체크마크 색 (흰색→포인트블루) */
.contact .acc-list li::before, .acc-list li::before{ color:var(--accent) !important; }
.contact .acc-list li{ color:var(--ink) !important; }

/* ===== PRO POLISH (완성도 끌어올리기) ===== */
/* 타이포 위계 정교화 */
h1,h2,h3,h4,h5{ font-family:'Plus Jakarta Sans',sans-serif; color:var(--navy); }
h2{ font-weight:700; letter-spacing:-.02em; line-height:1.12; }
h3{ font-weight:700; letter-spacing:-.01em; }
p{ line-height:1.68; }
.section h2{ font-size:clamp(30px,3.6vw,44px); }

/* eyebrow: 앞에 짧은 라인 (모던) */
.eyebrow{ display:inline-flex; align-items:center; gap:10px; color:var(--accent) !important; font-size:12.5px; font-weight:800; letter-spacing:.16em; text-transform:uppercase; }
.eyebrow::before{ content:""; width:24px; height:2px; background:var(--accent); border-radius:2px; display:inline-block; }
.hero-content .eyebrow::before{ background:var(--accent); }

/* 섹션 헤더 간격 리듬 */
.services-head{ margin-bottom:52px; }
.services-head h2{ margin:14px 0 12px; }
.services-head p{ font-size:clamp(15.5px,1.4vw,18px); color:var(--muted); max-width:620px; margin-left:auto; margin-right:auto; }

/* 그리드 간격 통일 */
.svc-grid,.notice-grid,.rv-grid,.pos-grid,.loc-grid{ gap:24px; }

/* 카드 공통 완성도: 둥근 모서리 + 은은한 그림자 + 호버 시 액센트 테두리 */
.svc-card,.doc-card,.notice-card,.rv-card,.loc-card,.pos-card,.why-item{
  border-radius:20px !important; border:1px solid var(--line) !important;
  box-shadow:0 4px 20px rgba(23,58,94,.05) !important;
  transition:transform .25s cubic-bezier(.2,.7,.2,1), box-shadow .25s ease, border-color .25s ease !important;
}
.svc-card:hover,.doc-card:hover,.notice-card:hover,.pos-card:hover,.rv-card:hover{
  transform:translateY(-4px) !important;
  box-shadow:0 18px 44px rgba(23,58,94,.13) !important;
  border-color:rgba(47,111,168,.35) !important;
}
.svc-card img,.doc-photo img{ border-radius:0; }

/* 버튼 완성도 */
.btn{ font-weight:700; letter-spacing:.01em; border-radius:999px; padding:14px 26px; font-size:15px; }
.btn-primary{ background:var(--navy); color:#fff; box-shadow:0 8px 20px rgba(54,94,139,.22); }
.btn-primary:hover{ background:var(--navy-deep); transform:translateY(-1px); box-shadow:0 12px 26px rgba(54,94,139,.3); }
.btn-outline{ border:1.6px solid rgba(54,94,139,.5); color:var(--navy); }
.btn-outline:hover{ border-color:var(--navy); background:rgba(54,94,139,.06); }

/* 포커스 접근성(키보드) */
a:focus-visible, button:focus-visible, .btn:focus-visible{ outline:3px solid rgba(47,111,168,.45); outline-offset:2px; }

/* 링크 부드럽게 */
a{ transition:color .2s ease; }

/* 섹션 상하 여백 (통일된 리듬) */
.section{ padding:92px 0; }
@media (max-width:760px){ .section{ padding:58px 0; } .services-head{ margin-bottom:36px; } }

/* 스크롤 등장에 살짝 스태거(부드럽게) */
html.reveal-on .reveal{ transition:opacity .7s cubic-bezier(.2,.7,.2,1), transform .7s cubic-bezier(.2,.7,.2,1); }

/* 히어로 제목 색 확실히 (모바일 밝은 배경에서 흰글씨 방지) */
.hero .hero-title, .hero-title{ color:var(--navy) !important; }
.hero .hero-title .accent{ color:var(--accent) !important; }
@media (max-width:760px){
  .hero .hero-overlay{ background:linear-gradient(180deg, rgba(255,255,255,.97) 0%, rgba(255,255,255,.9) 50%, rgba(255,255,255,.7) 100%) !important; }
  .hero-title{ font-size:clamp(30px,8vw,46px) !important; }
}

/* 네이비 로케이션 카드: 흰 선/테두리 제거 */
.ic{ border:none !important; }
.ic-top{ border:none !important; }

/* 로케이션 이메일: 라벨 위 + 이메일 아래 (모바일 줄바꿈 정리) */
.ic-contact{ display:flex; align-items:flex-start; gap:10px; margin-bottom:12px; }
.ic-contact svg{ width:20px; height:20px; flex:none; margin-top:2px; }
.ic-ct-body{ display:flex; flex-direction:column; line-height:1.35; min-width:0; }
.ic-ct-label{ font-weight:700; font-size:14px; }
.ic-ct-email{ font-size:13.5px; opacity:.92; word-break:break-all; }

/* Tawk 상담창 닫기 버튼 (상담창 열릴 때만 표시) */
.tawk-close{ display:none; position:fixed; right:24px; bottom:600px; z-index:2147483647; background:var(--navy); color:#fff; border:none; border-radius:999px; padding:11px 18px; font-weight:700; font-size:14px; box-shadow:0 6px 20px rgba(0,0,0,.28); cursor:pointer; font-family:'Inter',sans-serif; }
.tawk-close.show{ display:inline-flex; align-items:center; gap:6px; }
.tawk-close:hover{ background:var(--navy-deep); }
@media (max-width:600px), (max-height:700px){
  .tawk-close.show{ top:14px; right:14px; bottom:auto; }
}

/* 헤더 스크롤: 높이 고정 + 그림자만 (경계선 어긋남 방지) */
.header{ transition:background .3s ease, box-shadow .3s ease; }
.header.scrolled{ background:rgba(255,255,255,.96) !important; box-shadow:0 4px 20px rgba(23,58,94,.10) !important; border-bottom-color:transparent !important; }
.header .nav{ height:96px !important; }
@media (max-width:640px){ .header .nav{ height:84px !important; } }

/* ===== 상단 유틸리티 바 (Medical | Wellness) ===== */
.topbar{ background:var(--navy-deep,#2b4c72); color:rgba(255,255,255,.9); font-size:13px; }
.topbar-inner{ max-width:1200px; margin:0 auto; padding:7px 24px; display:flex; justify-content:space-between; align-items:center; gap:16px; }
.topbar .tb-item{ display:inline-flex; align-items:center; gap:7px; }
.topbar .tb-item svg{ width:15px; height:15px; opacity:.85; flex:0 0 auto; }
.btn-medical{ display:inline-flex; align-items:center; gap:6px; padding:9px 16px; border:1.5px solid var(--navy); color:var(--navy); background:#fff; border-radius:999px; font-weight:700; font-size:14px; font-family:'Inter',sans-serif; cursor:pointer; transition:all .2s; }
.btn-medical:hover{ background:var(--sky-soft); }
@media (max-width:760px){
  .topbar-inner{ flex-direction:column; gap:3px; padding:6px 16px; text-align:center; font-size:11.5px; }
  .btn-medical.desktop-only{ display:none; }
}

/* ===== 상단바 고정 스택 정렬 ===== */
.topbar{ position:fixed; top:0; left:0; right:0; z-index:201; min-height:35px; box-sizing:border-box; }
.announce{ top:35px; }
body.has-announce .header{ top:77px; }
body:not(.has-announce) .header{ top:35px; }
html{ scroll-padding-top:150px; }
@media (max-width:760px){
  .topbar{ display:none !important; }
  .announce{ top:0; }
  body.has-announce .header{ top:52px; }
  body:not(.has-announce) .header{ top:0; }
  html{ scroll-padding-top:112px; }
}

/* ===== 모바일 고정 헤더 수정 =====
   반투명 헤더 밑으로 히어로 문구(eyebrow)가 비쳐 헤더 경계선이 글자를
   가로지르던 문제 수정: 모바일에서 헤더를 불투명 처리 + 히어로 상단 여백 확보 */
@media (max-width:760px){
  .header{ background:#f4f7fb !important; backdrop-filter:none !important; -webkit-backdrop-filter:none !important; }
  .header.scrolled{ background:#ffffff !important; }
  body.has-announce .hero{ padding-top:150px !important; }
}


/* ===== New Patients — 예약 경로 2개(Medical/Wellness) 카드 ===== */
.np-paths{ display:grid; grid-template-columns:1fr 1fr; gap:22px; max-width:900px; margin:0 auto 30px; }
.np-path{ background:#fff; border:1px solid var(--line); border-radius:16px; padding:26px 26px 22px; display:flex; flex-direction:column; }
.np-path--accent{ background:var(--sky-soft); border-color:#cfe0f0; }
.np-path-head{ display:flex; align-items:flex-start; gap:14px; margin-bottom:16px; }
.np-path-ico{ flex:0 0 auto; width:46px; height:46px; border-radius:12px; background:#e9f0f7; color:var(--navy); display:flex; align-items:center; justify-content:center; }
.np-path-ico svg{ width:24px; height:24px; }
.np-path-ico--accent{ background:#dbe9f6; color:var(--accent); }
.np-path h3{ font-family:'Plus Jakarta Sans',sans-serif; color:var(--navy); font-size:20px; font-weight:700; line-height:1.2; }
.np-path-sub{ color:var(--muted); font-size:14px; margin-top:3px; }
.np-path-steps{ list-style:none; counter-reset:npstep; margin:0 0 18px; padding:0; display:flex; flex-direction:column; gap:12px; }
.np-path-steps li{ counter-increment:npstep; position:relative; padding-left:38px; color:var(--ink); font-size:14.5px; line-height:1.5; min-height:26px; display:flex; align-items:center; }
.np-path-steps li::before{ content:counter(npstep); position:absolute; left:0; top:0; width:26px; height:26px; border-radius:50%; background:var(--navy); color:#fff; font-weight:700; font-size:13px; display:flex; align-items:center; justify-content:center; }
.np-path--accent .np-path-steps li::before{ background:var(--accent); }
.np-path-btn{ display:block; width:100%; text-align:center; margin-top:auto; padding:13px 18px; color:#fff; }
.np-path-note{ text-align:center; color:var(--muted); font-size:13px; margin-top:10px; }
.np-path-note a{ color:var(--navy); font-weight:600; }
@media (max-width:720px){ .np-paths{ grid-template-columns:1fr; } }

/* 모바일: 닫힌 메뉴의 선까지 완전히 숨기기 */
@media (max-width: 900px) {
  .header .nav-links:not(.open) {
    visibility: hidden;
    pointer-events: none;
    border: none;
  }

  .header .nav-links.open {
    visibility: visible;
    pointer-events: auto;
  }
}