/* ============================================================
 * 새이치과의원 - Minimal UI Overrides
 *  - 우측 플로팅 3버튼 스타일
 * ============================================================ */

:root {
  /* ── 컬러 ── */
  --saeyi-primary: #1A1A1A;        /* 무채색 — 기존 메인 미트 자리 */
  --saeyi-primary-deep: #000000;   /* hover/active */
  --saeyi-dark: #1A2A33;           /* 본문 짙은 텍스트 */
  --saeyi-text: #1A2A33;
  --saeyi-text-soft: #4a5862;
  --saeyi-text-muted: #8b97a0;
  --saeyi-line: #e5e9ec;
  --saeyi-bg-soft: #FAFAFA;
  --saeyi-card: #ffffff;
  --saeyi-accent: #F4B731;         /* 워닝/이벤트 강조용 */

  /* ── 타이포 패밀리 (단일 통일) ── */
  --saeyi-font-display: 'Pretendard', 'Pretendard Variable', -apple-system, BlinkMacSystemFont, system-ui, 'Apple SD Gothic Neo', 'Noto Sans KR', sans-serif;
  --saeyi-font-body:    'Pretendard', 'Pretendard Variable', -apple-system, BlinkMacSystemFont, system-ui, 'Apple SD Gothic Neo', 'Noto Sans KR', sans-serif;
  --saeyi-font-serif:   'Cormorant Garamond', 'Times New Roman', serif;  /* 숫자/이탤릭 액센트만 */

  /* ── 타이포 스케일 (clamp — 모바일~데스크탑 자동 조절) ── */
  --saeyi-fs-h1: clamp(32px, 5.6vw, 56px);
  --saeyi-fs-h2: clamp(26px, 3.6vw, 40px);
  --saeyi-fs-h3: clamp(20px, 2.4vw, 26px);
  --saeyi-fs-h4: clamp(17px, 1.8vw, 20px);
  --saeyi-fs-body: 16px;
  --saeyi-fs-small: 14px;

  /* ── 위계 / 간격 ── */
  --saeyi-radius-sm: 8px;
  --saeyi-radius-md: 12px;
  --saeyi-radius-lg: 16px;
  --saeyi-shadow-sm: 0 2px 6px rgba(26, 42, 51, 0.06);
  --saeyi-shadow-md: 0 8px 20px rgba(26, 42, 51, 0.10);
  --saeyi-shadow-lg: 0 16px 40px rgba(26, 42, 51, 0.14);
}

/* ============================================================
 * 타이포 통일 — 새이치과 컴포넌트(.saeyi-*, .nt-*, .press-*) 전용
 *   ※ Nectar/WP 본문은 그들 스타일을 유지 (붕괴 방지)
 * ============================================================ */
.saeyi-doctor,
.saeyi-doctor *:not(em):not(i),
[class^="nt-"], [class^="nt-"] *,
[class^="press-"], [class^="press-"] *,
.newteeth-map-btn {
  font-family: var(--saeyi-font-body);
  letter-spacing: -0.012em;
}
.saeyi-doctor h1, .saeyi-doctor h2, .saeyi-doctor h3, .saeyi-doctor h4,
[class^="press-"] h1, [class^="press-"] h2, [class^="press-"] h3 {
  font-family: var(--saeyi-font-display);
  letter-spacing: -0.022em;
  word-break: keep-all;
}

/* ============================================================
 * 우측 플로팅 4버튼 (전화 / 카카오톡 / 네이버지도 / 카카오맵)
 *   • 통채 이미지 플로팅 — 흰 원 래퍼 없음, 아이콘 자체가 버튼
 * ============================================================ */
#saeyi-float-sidebar {
  position: fixed;
  right: 16px;
  bottom: 24px;
  z-index: 9999;
  display: flex;
  flex-direction: column;
  gap: 12px;
  font-family: 'Pretendard', 'Noto Sans KR', -apple-system, sans-serif;
}

#saeyi-float-sidebar a.fab {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 60px;
  text-decoration: none;
  color: #1a2a33;
  line-height: 1;
  gap: 4px;
  background: transparent;
  border: 0;
  box-shadow: none;
  -webkit-tap-highlight-color: transparent;
}

#saeyi-float-sidebar a.fab img {
  width: 60px;
  height: 60px;
  display: block;
  border-radius: 14px;
  filter: drop-shadow(0 6px 14px rgba(0, 0, 0, 0.18));
  transition: transform 0.2s ease, filter 0.2s ease;
}

/* 전화 아이콘은 원형이라 라운드 풀어줌 */
#saeyi-float-sidebar a.fab--phone img {
  border-radius: 50%;
}

#saeyi-float-sidebar a.fab:hover img {
  transform: translateY(-2px) scale(1.05);
  filter: drop-shadow(0 10px 22px rgba(0, 0, 0, 0.24));
}

#saeyi-float-sidebar a.fab .lbl {
  font-size: 10px;
  font-weight: 700;
  letter-spacing: -0.3px;
  color: #243946;
}

@media (max-width: 768px) {
  #saeyi-float-sidebar {
    right: 10px;
    bottom: 16px;
  }
  #saeyi-float-sidebar a {
    width: 52px;
    height: 52px;
  }
  #saeyi-float-sidebar a .ico { font-size: 18px; }
  #saeyi-float-sidebar a .lbl { font-size: 8px; }
}

/* ============================================================
 * NEWTEETH — 모바일 전화 FAB (큰 원형 플로팅 버튼)
 *   • 모바일에서만 노출 (데스크탑은 사이드바로 충분)
 *   • Pulse 링 애니메이션 — 시선 잡기
 *   • 하단 sticky bar 위로 띄움
 * ============================================================ */
#saeyi-phone-fab {
  display: none;  /* 모바일 전용 — 아래 미디어쿼리에서 활성 */
}
@media (max-width: 768px) {
  #saeyi-phone-fab {
    position: fixed;
    right: 16px;
    bottom: 84px;             /* bottom-bar(64px) + 여유 20px */
    z-index: 9999;
    width: 60px;
    height: 60px;
    border-radius: 50%;
    /* 의료 신뢰 톤 — 짙은 남색 + 미트 액센트 */
    background: linear-gradient(135deg, #1A2A33 0%, #243946 100%);
    color: #fff;
    text-decoration: none;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow:
      0 10px 24px rgba(26, 42, 51, 0.32),
      0 3px 6px rgba(0, 0, 0, 0.12);
    transition: transform 0.2s ease;
    -webkit-tap-highlight-color: transparent;
  }
  #saeyi-phone-fab:active {
    transform: scale(0.94);
  }
  #saeyi-phone-fab .saeyi-fab-icon {
    font-size: 24px;
    line-height: 1;
    z-index: 2;
    /* 핸드셋 흔들림 — 미세한 wiggle */
    animation: saeyiFabShake 2.4s ease-in-out infinite;
  }
  #saeyi-phone-fab .saeyi-fab-label {
    position: absolute;
    bottom: -20px;
    left: 50%;
    transform: translateX(-50%);
    font-size: 10px;
    font-weight: 800;
    color: var(--saeyi-primary, #1A1A1A);
    background: #fff;
    padding: 2px 8px;
    border-radius: 999px;
    white-space: nowrap;
    box-shadow: 0 2px 6px rgba(0,0,0,0.12);
    letter-spacing: -0.3px;
  }
  /* 미트색 ripple ring (브랜드 prim) */
  #saeyi-phone-fab .saeyi-fab-ring {
    position: absolute;
    inset: 0;
    border-radius: 50%;
    border: 2px solid rgba(0, 0, 0, 0.25);
    animation: saeyiFabRing 2s ease-out infinite;
    pointer-events: none;
  }
  #saeyi-phone-fab .saeyi-fab-ring--delayed {
    animation-delay: 1s;
  }
}

@keyframes saeyiFabRing {
  0%   { transform: scale(1);   opacity: 0.7; }
  100% { transform: scale(1.9); opacity: 0;   }
}
@keyframes saeyiFabShake {
  0%, 100%      { transform: rotate(0deg); }
  10%, 30%, 50% { transform: rotate(-12deg); }
  20%, 40%, 60% { transform: rotate(12deg); }
  70%           { transform: rotate(0deg); }
}

/* ============================================================
 * 디테일 정리
 * ============================================================ */

/* 1. 네비게이션 드롭다운 인디케이터 폰트 수정 (icomoon → FontAwesome) */
#header-outer .fa, #header-outer .fas, #header-outer i[class*="fa-"],
nav .fa, nav .fas, nav i[class*="fa-"],
.sf-sub-indicator i {
  font-family: "FontAwesome", "Font Awesome 5 Free", sans-serif !important;
  font-weight: 900;
  font-style: normal !important;
}

/* 아이콘 대신 깔끔한 화살표 유니코드로 대체 */
.sf-sub-indicator {
  margin-left: 4px;
  opacity: 0.55;
  font-size: 11px;
  display: inline-block;
  transition: transform 0.2s;
}

.sf-sub-indicator i {
  display: none;  /* 깨진 아이콘 숨김 */
}

.sf-sub-indicator::after {
  content: "⌄";  /* 깔끔한 셰브론 */
  font-size: 16px;
  font-weight: 400;
  display: inline-block;
  transform: translateY(-6px);
  font-family: -apple-system, 'Pretendard', 'Noto Sans KR', sans-serif;
}

#header-outer .sf-menu > li > a:hover .sf-sub-indicator,
nav .sf-menu > li > a:hover .sf-sub-indicator {
  opacity: 1;
}

/* 2. NOTICE 카드 이미지 크기 통일 — .hover-wrap-inner 기반 */
/* 단, 시그니처/로고 같은 작은 이미지는 제외 */
.hover-wrap-inner:not(:has(img[src*="sgntr"])):not(:has(img[src*="sig_"])):not(:has(img[src*="logo"])) {
  width: 100% !important;
  aspect-ratio: 4 / 3 !important;
  max-height: 240px !important;
  min-height: 200px !important;
  overflow: hidden !important;
  position: relative;
  display: block !important;
}

/* 시그니처 이미지: natural size 유지 */
.hover-wrap-inner:has(img[src*="sgntr"]),
.hover-wrap-inner:has(img[src*="sig_"]) {
  width: auto !important;
  height: auto !important;
  aspect-ratio: auto !important;
  max-height: none !important;
  min-height: 0 !important;
  overflow: visible !important;
  display: inline-block !important;
}
.hover-wrap-inner img[src*="sgntr"],
.hover-wrap-inner img[src*="sig_"] {
  width: auto !important;
  height: auto !important;
  max-width: 260px !important;
  max-height: 60px !important;
  object-fit: contain !important;
  aspect-ratio: auto !important;
}

.hover-wrap-inner img,
.hover-wrap-inner > * img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center !important;
  max-height: none !important;
  min-height: 0 !important;
  aspect-ratio: auto !important;
  display: block !important;
}

/* hover-wrap 부모도 높이 통일 */
.hover-wrap, .img-with-aniamtion-wrap {
  width: 100% !important;
}

/* 3. 로고 주변 여백 정돈 */
#header-outer #logo,
#header-outer .logo-wrapper,
#top #logo {
  padding: 6px 0 !important;
}

#header-outer #logo img,
#top #logo img {
  max-height: 60px !important;
  object-fit: contain !important;
  width: auto !important;
}

/* 3-b. NEWS 섹션 상단 등 컨텐츠 영역에 있는 Design 로고 → 새이치과로 교체된 이미지 크기 제약 */
img[src*="saeyi_logo_horizontal"],
img[src*="logo-blackX1"],
img[src*="logo-re-60-wh"],
img[src*="logod8dk"] {
  max-height: 80px !important;
  max-width: 200px !important;
  object-fit: contain !important;
  object-position: left center !important;
  height: auto !important;
  width: auto !important;
}

/* 4. 히어로 영역 상단 로고 프레임 (Hero section logo overlay) */
.section-masthead .logo-overlay,
[class*="masthead"] > .logo-frame {
  padding: 24px;
  border: 1px solid rgba(255,255,255,0.3);
}

/* ============================================================
 * 5. CEO 페이지 (ceomsg) 등장 애니메이션 속도 조정 — 느리게
 * ============================================================ */

/* WPBakery fade-in-up — 기본 0.8s → 2.8s로 더 천천히 */
.wpb_animate_when_almost_visible.wpb_fadeInUp,
.wpb_animate_when_almost_visible.wpb_start_animation.wpb_fadeInUp,
.vc_column_container.wpb_animate_when_almost_visible.wpb_fadeInUp,
.fadeInUp.animated,
.animated.fadeInUp {
  animation-duration: 2.8s !important;
  animation-timing-function: cubic-bezier(0.22, 0.61, 0.36, 1) !important;
  animation-fill-mode: both !important;
}

/* Nectar img-with-animation — 이미지 등장도 더 느리게 */
.img-with-animation.animated-in,
.img-with-animation {
  transition-duration: 2.6s !important;
  transition-timing-function: cubic-bezier(0.22, 0.61, 0.36, 1) !important;
}

/* has-animation 클래스 전체 transition 느리게 */
.has-animation,
.has-animation.animated-in {
  transition-duration: 2.4s !important;
  transition-timing-function: cubic-bezier(0.22, 0.61, 0.36, 1) !important;
}

/* Nectar slider — 페이지 자동 전환 시간을 더 천천히 */
.nectar-slider-wrap .swiper-slide,
.nectar-slider-wrap .swiper-container,
.nectar-slider-wrap .swiper-wrapper {
  transition-duration: 1.8s !important;
  transition-timing-function: cubic-bezier(0.22, 0.61, 0.36, 1) !important;
}

/* swiper-slide 내부 콘텐츠도 천천히 */
.swiper-slide .content,
.swiper-slide .content > * {
  transition-duration: 2.4s !important;
}

/* clip-path 기반 reveal — 더 길게 */
.clip-path-start-desktop-150px-0-0-0-0 .row-bg-layer,
.top-level.clip-path-start-desktop-150px-0-0-0-0 .row-bg-layer {
  transition: clip-path 2.6s cubic-bezier(0.6,0.06,0.18,1) !important;
}
.clip-path-end-desktop-0px-0-0-0-0.animated-in .row-bg-layer,
.top-level.clip-path-end-desktop-0px-0-0-0-0.animated-in .row-bg-layer {
  transition: clip-path 2.6s cubic-bezier(0.25,0.1,0.18,1) !important;
}

/* WPBakery 내부 텍스트 컬럼 stagger 효과 — 더 길게 */
.wpb_animate_when_almost_visible.wpb_fadeInUp:nth-child(1) {
  animation-delay: 0.2s !important;
}
.wpb_animate_when_almost_visible.wpb_fadeInUp:nth-child(2) {
  animation-delay: 0.9s !important;
}
.wpb_animate_when_almost_visible.wpb_fadeInUp:nth-child(3) {
  animation-delay: 1.6s !important;
}
.wpb_animate_when_almost_visible.wpb_fadeInUp:nth-child(4) {
  animation-delay: 2.3s !important;
}
.wpb_animate_when_almost_visible.wpb_fadeInUp:nth-child(5) {
  animation-delay: 3.0s !important;
}

/* CEO 페이지 전용 — 더 길게 */
body.page-id-ceomsg .wpb_text_column:nth-of-type(1),
.ceomsg-page .wpb_text_column:nth-of-type(1) {
  animation-delay: 0.2s !important;
}
body.page-id-ceomsg .wpb_text_column:nth-of-type(2),
.ceomsg-page .wpb_text_column:nth-of-type(2) {
  animation-delay: 1.2s !important;
}
body.page-id-ceomsg .wpb_text_column:nth-of-type(3),
.ceomsg-page .wpb_text_column:nth-of-type(3) {
  animation-delay: 2.2s !important;
}

/* keyframes override — fadeInUp을 더 드라마틱하게 */
@keyframes saeyiSlowFadeInUp {
  0%   { opacity: 0; transform: translate3d(0, 50px, 0); }
  100% { opacity: 1; transform: translate3d(0, 0, 0); }
}

.wpb_animate_when_almost_visible.wpb_fadeInUp.wpb_start_animation,
.animated.fadeInUp {
  animation-name: saeyiSlowFadeInUp !important;
}

/* ============================================================
 * 배경 이미지 blur — hero/ceomsg 배경 이미지 화질 보정
 * ============================================================ */

/* CEO 페이지 — minje 이미지들 모두 원본 선명도 (블러/페이드 제거) */
body .row-bg.using-image[style*="minje"],
body .column-image-bg[style*="minje"] {
  filter: none !important;
  opacity: 1 !important;
}

/* ============================================================
 * 메인 홈 hero — 슬라이드 배경 부드러운 블러 + 텍스트 가독성용 dim
 * ============================================================ */
body .nectar-slider-wrap .swiper-slide .image-bg,
body .nectar-slider-wrap .swiper-slide .slide-bg-wrap .image-bg {
  filter: blur(9px) saturate(0.92) brightness(0.94) contrast(1.05) !important;
  transform: scale(1.08) !important;
  transition: filter 1.4s cubic-bezier(0.22, 0.61, 0.36, 1), transform 1.6s cubic-bezier(0.22, 0.61, 0.36, 1) !important;
}

/* 텍스트 가독성을 위한 어두운 그라디언트 오버레이 — 좌측 텍스트 위주 */
body .nectar-slider-wrap .swiper-slide::before {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(
    100deg,
    rgba(10, 18, 24, 0.55) 0%,
    rgba(10, 18, 24, 0.32) 30%,
    rgba(10, 18, 24, 0.12) 60%,
    rgba(10, 18, 24, 0) 90%
  );
  pointer-events: none;
  z-index: 2;
}

/* 슬라이드 콘텐츠는 오버레이 위로 */
body .nectar-slider-wrap .swiper-slide .container,
body .nectar-slider-wrap .swiper-slide .content {
  position: relative;
  z-index: 5;
}

/* 호버 시 살짝만 풀어줌 — 부드러운 분위기 유지 */
body .nectar-slider-wrap:hover .swiper-slide-active .image-bg {
  filter: blur(6px) saturate(0.94) brightness(0.96) contrast(1.04) !important;
}

/* ken_burns 애니메이션 부드럽게 */
body .nectar-slider-wrap[data-bg-animation="ken_burns"] .swiper-slide-active .image-bg {
  animation-duration: 16s !important;
  animation-timing-function: ease-in-out !important;
}

/* 슬라이드 텍스트 가독성 — 어두운 배경 위 흰 텍스트 */
body .nectar-slider-wrap .swiper-slide[data-color-scheme="dark"] .content h2,
body .nectar-slider-wrap .swiper-slide[data-color-scheme="dark"] .content .ns-heading-el {
  color: #fff !important;
  text-shadow: 0 2px 18px rgba(0, 0, 0, 0.35);
}
body .nectar-slider-wrap .swiper-slide[data-color-scheme="dark"] .content p,
body .nectar-slider-wrap .swiper-slide[data-color-scheme="dark"] .content p span {
  color: rgba(255, 255, 255, 0.92) !important;
  text-shadow: 0 1px 12px rgba(0, 0, 0, 0.3);
}

/* Active 슬라이드의 caption 강제 visible — Nectar fade_in_from_bottom 가로채기 */
body .nectar-slider-wrap .swiper-slide-active .content h2,
body .nectar-slider-wrap .swiper-slide-active .content p,
body .nectar-slider-wrap .swiper-slide-active .content .ns-heading-el,
body .nectar-slider-wrap .swiper-slide-active .content > * {
  opacity: 1 !important;
  transform: translateY(0) !important;
  animation: saeyiHeroRise 1.6s cubic-bezier(0.22, 0.61, 0.36, 1) both !important;
}

@keyframes saeyiHeroRise {
  0%   { opacity: 0; transform: translateY(40px); }
  100% { opacity: 1; transform: translateY(0); }
}

/* 헤드라인 / 서브 stagger */
body .nectar-slider-wrap .swiper-slide-active .content h2,
body .nectar-slider-wrap .swiper-slide-active .content .ns-heading-el {
  animation-delay: 0.4s !important;
}
body .nectar-slider-wrap .swiper-slide-active .content p {
  animation-delay: 0.9s !important;
}

/* 비활성 슬라이드는 자연스럽게 숨김 (opacity 0 → 시각적 fade) */
body .nectar-slider-wrap .swiper-slide:not(.swiper-slide-active) .content > * {
  opacity: 0;
  transition: opacity 0.6s ease;
}

/* row-bg 슬라이드 (카드형 hero에서도 동일 처리) — 일반 페이지 헤더 */
body #page-header-bg.using-image,
body .nectar-cta__image-bg,
body .nectar-recent-posts-single_featured .recent-post-container .image-bg {
  filter: saturate(0.92) brightness(0.97) contrast(1.04) !important;
}

/* ============================================================
 * 의료진 프로필 페이지 (최상호 / 최민제 원장)
 * ============================================================ */
.saeyi-doctor {
  font-family: 'Pretendard', 'Noto Sans KR', -apple-system, sans-serif;
  color: var(--saeyi-text, #333);
  background: #fff;
  position: relative;
  z-index: 100;
}

/* Hero — 헤드샷 + 이름 큰 타이포 (Nectar 우선순위 이기기 위해 !important) */
body .saeyi-doctor .doc-hero {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  min-height: 640px !important;
  align-items: stretch !important;
  background: linear-gradient(135deg, #FAFAFA 0%, #F2F2F2 100%) !important;
  position: relative !important;
  overflow: hidden !important;
}

body .saeyi-doctor .doc-hero__image {
  background-size: cover !important;
  background-position: center top !important;
  background-repeat: no-repeat !important;
  min-height: 640px !important;
  width: 100% !important;
  display: block !important;
}

body .saeyi-doctor .doc-hero__copy {
  padding: 80px 60px !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  gap: 14px !important;
}

.saeyi-doctor .doc-eyebrow {
  font-size: 13px;
  font-weight: 800;
  letter-spacing: 4px;
  color: #1A1A1A;
  text-transform: uppercase;
}

.saeyi-doctor .doc-name {
  font-size: 60px;
  font-weight: 900;
  color: var(--saeyi-dark);
  line-height: 1.1;
  letter-spacing: -2px;
  margin: 0;
}

.saeyi-doctor .doc-name .role {
  display: block;
  font-size: 22px;
  font-weight: 500;
  color: #555;
  margin-top: 12px;
  letter-spacing: 0;
}

.saeyi-doctor .doc-tagline {
  font-size: 18px;
  color: #444;
  line-height: 1.7;
  margin-top: 8px;
  max-width: 480px;
}

.saeyi-doctor .doc-creds {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  margin-top: 24px;
}

.saeyi-doctor .doc-creds .pill {
  background: #fff;
  border: 1px solid #1A1A1A;
  color: #1A1A1A;
  padding: 8px 14px;
  font-size: 13px;
  font-weight: 700;
  border-radius: 20px;
}

/* Sub-nav: 의료진 페이지 간 이동 */
.saeyi-doctor .doc-subnav {
  background: #fff;
  border-bottom: 1px solid #e8eaec;
  text-align: center;
  padding: 18px 20px;
}
.saeyi-doctor .doc-subnav a {
  display: inline-block;
  margin: 0 14px;
  padding: 8px 20px;
  color: #777;
  font-size: 15px;
  font-weight: 600;
  text-decoration: none;
  border-radius: 20px;
  transition: all 0.2s;
}
.saeyi-doctor .doc-subnav a.active {
  background: var(--saeyi-dark);
  color: #fff;
}
.saeyi-doctor .doc-subnav a:hover { color: var(--saeyi-primary); }
.saeyi-doctor .doc-subnav a.active:hover { color: #fff; }

/* About 섹션 — 인용문 스타일 */
.saeyi-doctor .doc-about {
  padding: 100px 20px;
  text-align: center;
  background: #fff;
}
.saeyi-doctor .doc-about__inner {
  max-width: 900px;
  margin: 0 auto;
}
.saeyi-doctor .doc-about__quote {
  font-size: 32px;
  font-weight: 800;
  line-height: 1.5;
  color: var(--saeyi-dark);
  margin-bottom: 24px;
  letter-spacing: -1px;
}
.saeyi-doctor .doc-about__quote em {
  font-style: normal;
  color: var(--saeyi-primary);
}
.saeyi-doctor .doc-about__body {
  font-size: 17px;
  line-height: 1.9;
  color: #555;
}
.saeyi-doctor .doc-about__sign {
  margin-top: 36px;
  padding-top: 28px;
  border-top: 1px solid #E5E9EC;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 22px;
}
.saeyi-doctor .doc-about__sign-label {
  font-size: 14px;
  letter-spacing: 0.04em;
  color: #888;
  text-transform: none;
}
.saeyi-doctor .doc-about__sign-img {
  height: 56px !important;
  max-height: 56px !important;
  width: auto !important;
  max-width: 280px !important;
  object-fit: contain !important;
  display: block;
  filter: none;
}

/* Specialties */
.saeyi-doctor .doc-specs {
  padding: 100px 20px;
  background: #F7F9FA;
}
.saeyi-doctor .doc-specs__inner { max-width: 1100px; margin: 0 auto; }
.saeyi-doctor .doc-specs__title {
  text-align: center; font-size: 32px; font-weight: 800;
  color: var(--saeyi-dark); margin-bottom: 12px;
}
.saeyi-doctor .doc-specs__sub {
  text-align: center; color: #777; font-size: 16px; margin-bottom: 50px;
}
body .saeyi-doctor .doc-specs__grid {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)) !important;
  gap: 16px !important;
}
.saeyi-doctor .doc-spec {
  background: #fff; padding: 32px 24px; border-radius: 8px;
  border: 1px solid #e8eaec; text-align: center; transition: all 0.25s;
}
.saeyi-doctor .doc-spec:hover {
  transform: translateY(-4px);
  box-shadow: 0 12px 28px rgba(0, 0, 0, 0.06);
  border-color: var(--saeyi-primary);
}
.saeyi-doctor .doc-spec__num {
  font-size: 12px; font-weight: 700; color: var(--saeyi-primary);
  letter-spacing: 2px; margin-bottom: 8px;
}
.saeyi-doctor .doc-spec__name {
  font-size: 18px; font-weight: 800; color: var(--saeyi-dark); margin-bottom: 8px;
}
.saeyi-doctor .doc-spec__desc {
  font-size: 13px; color: #777; line-height: 1.6;
}

/* Career timeline */
.saeyi-doctor .doc-career { padding: 100px 20px; background: #fff; }
body .saeyi-doctor .doc-career__inner {
  max-width: 900px !important;
  margin: 0 auto !important;
  display: grid !important;
  grid-template-columns: 280px 1fr !important;
  gap: 60px !important;
  align-items: start !important;
}
body .saeyi-doctor .doc-career__heading {
  font-size: 32px !important;
  font-weight: 800 !important;
  color: var(--saeyi-dark) !important;
  letter-spacing: -1px !important;
  position: sticky !important;
  top: 100px !important;
  display: block !important;
  line-height: 1.3 !important;
}
body .saeyi-doctor .doc-career__heading small {
  display: block !important;
  font-size: 13px !important;
  color: var(--saeyi-primary) !important;
  letter-spacing: 3px !important;
  font-weight: 700 !important;
  margin-bottom: 12px !important;
  line-height: 1 !important;
}
.saeyi-doctor .doc-career__list { position: relative; padding-left: 28px; }
.saeyi-doctor .doc-career__list::before {
  content: ''; position: absolute; left: 7px; top: 6px; bottom: 6px;
  width: 2px; background: linear-gradient(180deg, var(--saeyi-primary), #cccccc);
}
.saeyi-doctor .doc-career__item { position: relative; padding: 0 0 22px 0; }
.saeyi-doctor .doc-career__item::before {
  content: ''; position: absolute; left: -28px; top: 8px;
  width: 16px; height: 16px; background: #fff;
  border: 3px solid var(--saeyi-primary); border-radius: 50%;
}
.saeyi-doctor .doc-career__year {
  font-size: 13px; color: var(--saeyi-primary); font-weight: 700; margin-bottom: 2px;
}
.saeyi-doctor .doc-career__role {
  font-size: 16px; color: var(--saeyi-dark); line-height: 1.5; font-weight: 500;
}

/* Membership badges */
.saeyi-doctor .doc-membership { padding: 80px 20px; background: #F7F9FA; }
.saeyi-doctor .doc-membership__inner { max-width: 1000px; margin: 0 auto; }
.saeyi-doctor .doc-membership__title {
  text-align: center; font-size: 26px; font-weight: 800;
  color: var(--saeyi-dark); margin-bottom: 30px;
}
.saeyi-doctor .doc-membership__list {
  display: flex; flex-wrap: wrap; justify-content: center; gap: 10px;
}
.saeyi-doctor .doc-membership__item {
  background: #fff; border: 1px solid #d6e2e6;
  padding: 12px 20px; border-radius: 30px;
  font-size: 14px; color: #444; font-weight: 500;
}

/* Action gallery */
.saeyi-doctor .doc-gallery {
  padding: 100px 20px; background: var(--saeyi-dark); color: #fff;
}
.saeyi-doctor .doc-gallery__inner { max-width: 1200px; margin: 0 auto; }
.saeyi-doctor .doc-gallery__title {
  text-align: center; font-size: 28px; font-weight: 800; margin-bottom: 12px;
}
.saeyi-doctor .doc-gallery__sub {
  text-align: center; color: #aab8c0; font-size: 15px; margin-bottom: 50px;
}
body .saeyi-doctor .doc-gallery__grid {
  display: grid !important;
  grid-template-columns: 2fr 1fr 1fr !important;
  grid-template-rows: 320px 240px !important;
  gap: 12px !important;
}
body .saeyi-doctor .doc-gallery__cell {
  background-size: cover !important;
  background-position: center !important;
  border-radius: 6px !important;
  display: block !important;
}
body .saeyi-doctor .doc-gallery__cell--hero { grid-row: 1 / 3 !important; }
body .saeyi-doctor .doc-membership__list {
  display: flex !important;
  flex-wrap: wrap !important;
  justify-content: center !important;
  gap: 10px !important;
}
body .saeyi-doctor .doc-creds {
  display: flex !important;
  gap: 10px !important;
  flex-wrap: wrap !important;
  margin-top: 24px !important;
}
body .saeyi-doctor .doc-subnav {
  text-align: center !important;
  padding: 18px 20px !important;
}
body .saeyi-doctor section {
  display: block !important;
  width: 100% !important;
}
/* Override Nectar list/heading defaults that mess with our markup */
body .saeyi-doctor h1,
body .saeyi-doctor h2,
body .saeyi-doctor h3 {
  margin: 0 !important;
  padding: 0 !important;
}
body .saeyi-doctor ul.doc-career__list {
  list-style: none !important;
  padding: 0 0 0 28px !important;
  margin: 0 !important;
}
body .saeyi-doctor ul.doc-career__list li {
  list-style: none !important;
  margin: 0 !important;
  padding: 0 0 22px 0 !important;
}

/* CTA */
.saeyi-doctor .doc-cta {
  padding: 80px 20px; text-align: center; background: #fff;
}
.saeyi-doctor .doc-cta__title {
  font-size: 26px; font-weight: 800; color: var(--saeyi-dark); margin-bottom: 14px;
}
.saeyi-doctor .doc-cta__sub {
  font-size: 16px; color: #666; margin-bottom: 30px;
}
.saeyi-doctor .doc-cta__btn {
  display: inline-block; background: var(--saeyi-dark); color: #fff !important;
  padding: 18px 40px; font-size: 16px; font-weight: 800;
  text-decoration: none; border-radius: 4px; transition: all 0.2s;
}
.saeyi-doctor .doc-cta__btn:hover {
  background: var(--saeyi-primary); transform: translateY(-2px);
}

/* Mobile */
@media (max-width: 900px) {
  .saeyi-doctor .doc-hero { grid-template-columns: 1fr; min-height: auto; }
  .saeyi-doctor .doc-hero__image { min-height: 420px; }
  .saeyi-doctor .doc-hero__copy { padding: 50px 24px; }
  .saeyi-doctor .doc-name { font-size: 42px; }
  .saeyi-doctor .doc-about__quote { font-size: 22px; }
  .saeyi-doctor .doc-career__inner { grid-template-columns: 1fr; gap: 30px; }
  .saeyi-doctor .doc-career__heading { position: static; }
  .saeyi-doctor .doc-gallery__grid {
    grid-template-columns: 1fr 1fr; grid-template-rows: 200px 200px 200px;
  }
  .saeyi-doctor .doc-gallery__cell--hero { grid-column: 1 / 3; grid-row: 1 / 2; }
}

/* =============================================================
 * 🎨 SAEYI DESIGN SYSTEM v2 — 디자인 회의 P0/P1 적용
 *  • 타이포그래피 위계 / 본문 측정 폭 / 이미지 컬러 그레이딩
 *  • 텍스트 stagger / 섹션 여백 / CTA 강화
 * ============================================================= */

@import url('https://cdn.jsdelivr.net/gh/orioncactus/pretendard@v1.3.9/dist/web/variable/pretendardvariable-dynamic-subset.min.css');
@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,600;1,400;1,600&display=swap');

:root {
  --saeyi-font-display: 'Pretendard Variable', 'Pretendard', 'Noto Sans KR', -apple-system, BlinkMacSystemFont, sans-serif;
  --saeyi-font-body:    'Pretendard Variable', 'Pretendard', 'Noto Sans KR', sans-serif;
  --saeyi-font-serif:   'Cormorant Garamond', 'Noto Serif KR', serif;
  --saeyi-text:         #1A2A33;
  --saeyi-text-soft:    #5A6A73;
  --saeyi-text-muted:   #98A4AB;
  --saeyi-line:         #E7ECEF;
  --saeyi-bg-soft:      #F7F9FA;
  --saeyi-prose:        620px;
  --saeyi-card:         760px;
  --saeyi-headline:     880px;
}

/* ----- 전역 폰트 통일 — Nectar 기본 폰트 강제 교체 ----- */
body,
body p, body li, body a, body span, body div,
body input, body textarea, body button,
body h1, body h2, body h3, body h4, body h5, body h6,
.wpb_text_column, .nectar-cta__title, .nectar-button, .ns-heading-el {
  font-family: var(--saeyi-font-body) !important;
  letter-spacing: -0.012em;
}

/* 인용구 / quote는 세리프 */
body .saeyi-doctor .doc-about__quote,
body .saeyi-quote,
body blockquote {
  font-family: var(--saeyi-font-serif) !important;
  font-style: italic;
  letter-spacing: -0.015em;
}

/* 숫자는 tabular figures (정렬감) */
.saeyi-num, .saeyi-stats *, .saeyi-doctor .doc-creds .pill {
  font-feature-settings: 'tnum' 1, 'lnum' 1;
}

/* ============================================================
 * 본문 측정 폭 제한 (가독성)
 * ============================================================ */
body .saeyi-doctor .doc-about__inner {
  max-width: var(--saeyi-card) !important;
  margin: 0 auto !important;
  padding: 100px 24px !important;
}
body .saeyi-doctor .doc-about__body {
  max-width: var(--saeyi-prose) !important;
  margin: 0 auto !important;
  font-size: 18px !important;
  line-height: 1.92 !important;
  color: var(--saeyi-text-soft) !important;
  letter-spacing: -0.012em !important;
}
body .saeyi-doctor .doc-about__quote {
  max-width: var(--saeyi-headline) !important;
  margin: 0 auto 36px !important;
  text-align: center !important;
  font-size: 32px !important;
  font-weight: 600 !important;
  line-height: 1.55 !important;
  color: var(--saeyi-text) !important;
}
body .saeyi-doctor .doc-about__quote em {
  font-style: italic !important;
  color: var(--saeyi-primary) !important;
  font-weight: 600 !important;
}

/* CEO 메세지 본문도 동일 측정 폭 */
body .ceomsg-page .wpb_text_column,
body[class*="page-id"] .wpb_text_column p {
  max-width: var(--saeyi-prose);
  margin-left: auto;
  margin-right: auto;
}
body .ceomsg-page .wpb_text_column p,
body [class*="ceomsg"] .wpb_text_column p {
  font-size: 18px !important;
  line-height: 1.92 !important;
  color: var(--saeyi-text-soft) !important;
  letter-spacing: -0.012em !important;
}

/* ============================================================
 * Hero 텍스트 3-tier 위계 (Eyebrow / H1 / Sub)
 * ============================================================ */
body .nectar-slider-wrap .swiper-slide .content h2,
body .nectar-slider-wrap .ns-heading-el {
  font-size: clamp(40px, 6.2vw, 76px) !important;
  font-weight: 800 !important;
  line-height: 1.18 !important;
  letter-spacing: -0.028em !important;
  margin-bottom: 22px !important;
}
body .nectar-slider-wrap .swiper-slide .content p,
body .nectar-slider-wrap .swiper-slide .content p span {
  font-size: clamp(15px, 1.4vw, 19px) !important;
  font-weight: 500 !important;
  line-height: 1.7 !important;
  letter-spacing: -0.005em !important;
  opacity: 0.92;
}

/* Hero 위에 eyebrow 라벨 (작은 카테고리 텍스트 — JS로 prepend 가능) */
.saeyi-eyebrow {
  display: inline-block;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--saeyi-primary);
  padding: 7px 14px;
  border: 1px solid currentColor;
  border-radius: 100px;
  margin-bottom: 22px;
}

/* ============================================================
 * 의료진 doc-hero — 위계 + 카피 폰트 업그레이드
 * ============================================================ */
body .saeyi-doctor .doc-hero__copy {
  padding: 80px 60px !important;
}
body .saeyi-doctor .doc-eyebrow {
  font-size: 12px !important;
  font-weight: 800 !important;
  letter-spacing: 0.22em !important;
  text-transform: uppercase !important;
  color: #1A1A1A !important;
  margin-bottom: 24px !important;
  padding-bottom: 18px !important;
  border-bottom: 1px solid #1A1A1A !important;
  display: inline-block !important;
}
body .saeyi-doctor .doc-name {
  font-family: var(--saeyi-font-display) !important;
  font-size: clamp(42px, 5vw, 64px) !important;
  font-weight: 800 !important;
  line-height: 1.12 !important;
  letter-spacing: -0.028em !important;
  color: var(--saeyi-text) !important;
  margin-bottom: 16px !important;
}
body .saeyi-doctor .doc-name .role {
  display: block !important;
  font-size: 16px !important;
  font-weight: 500 !important;
  letter-spacing: 0 !important;
  color: var(--saeyi-text-soft) !important;
  margin-top: 14px !important;
}
body .saeyi-doctor .doc-tagline {
  font-size: 18px !important;
  line-height: 1.75 !important;
  color: var(--saeyi-text-soft) !important;
  max-width: 480px !important;
  margin-bottom: 36px !important;
}
body .saeyi-doctor .doc-creds .pill {
  font-size: 12.5px !important;
  font-weight: 700 !important;
  letter-spacing: 0.02em !important;
  padding: 8px 14px !important;
  border-radius: 100px !important;
  background: #FFFFFF !important;
  border: 1px solid #1A1A1A !important;
  color: #1A1A1A !important;
}

/* ============================================================
 * 섹션 여백 (프리미엄 공간감)
 * ============================================================ */
body .saeyi-doctor .doc-specs,
body .saeyi-doctor .doc-membership {
  padding: 130px 24px !important;
}
body .saeyi-doctor .doc-career {
  padding: 130px 24px !important;
}
body .saeyi-doctor .doc-gallery {
  padding: 130px 24px !important;
}
body .saeyi-doctor .doc-cta {
  padding: 110px 24px !important;
}

/* 섹션 헤드라인 통일 */
body .saeyi-doctor .doc-specs__title,
body .saeyi-doctor .doc-gallery__title,
body .saeyi-doctor .doc-membership__title {
  font-family: var(--saeyi-font-display) !important;
  font-size: clamp(28px, 3.2vw, 38px) !important;
  font-weight: 800 !important;
  letter-spacing: -0.025em !important;
  line-height: 1.25 !important;
  color: var(--saeyi-text) !important;
  margin-bottom: 16px !important;
}
body .saeyi-doctor .doc-specs__sub,
body .saeyi-doctor .doc-gallery__sub {
  font-size: 16px !important;
  color: var(--saeyi-text-muted) !important;
  letter-spacing: -0.005em !important;
  margin-bottom: 64px !important;
}

/* ============================================================
 * Stagger 등장 애니메이션 (수동 클래스)
 * ============================================================ */
@keyframes saeyiRise {
  0%   { opacity: 0; transform: translateY(28px); }
  100% { opacity: 1; transform: translateY(0); }
}
.saeyi-rise {
  animation: saeyiRise 1.4s cubic-bezier(0.22, 0.61, 0.36, 1) both;
}
.saeyi-rise.s1 { animation-delay: 0.15s; }
.saeyi-rise.s2 { animation-delay: 0.45s; }
.saeyi-rise.s3 { animation-delay: 0.85s; }
.saeyi-rise.s4 { animation-delay: 1.25s; }
.saeyi-rise.s5 { animation-delay: 1.65s; }

/* doc-hero 전용 stagger 적용 (자동) */
body .saeyi-doctor .doc-hero__copy .doc-eyebrow { animation: saeyiRise 1.4s cubic-bezier(0.22, 0.61, 0.36, 1) both; animation-delay: 0.2s; }
body .saeyi-doctor .doc-hero__copy .doc-name    { animation: saeyiRise 1.4s cubic-bezier(0.22, 0.61, 0.36, 1) both; animation-delay: 0.5s; }
body .saeyi-doctor .doc-hero__copy .doc-tagline { animation: saeyiRise 1.4s cubic-bezier(0.22, 0.61, 0.36, 1) both; animation-delay: 0.9s; }
body .saeyi-doctor .doc-hero__copy .doc-creds   { animation: saeyiRise 1.4s cubic-bezier(0.22, 0.61, 0.36, 1) both; animation-delay: 1.3s; }

/* doc-about 본문도 stagger */
body .saeyi-doctor .doc-about__inner .doc-about__quote { animation: saeyiRise 1.4s cubic-bezier(0.22, 0.61, 0.36, 1) both; animation-delay: 0.2s; }
body .saeyi-doctor .doc-about__inner .doc-about__body  { animation: saeyiRise 1.4s cubic-bezier(0.22, 0.61, 0.36, 1) both; animation-delay: 0.7s; }
body .saeyi-doctor .doc-about__inner .doc-about__sign  { animation: saeyiRise 1.4s cubic-bezier(0.22, 0.61, 0.36, 1) both; animation-delay: 1.1s; }

/* ============================================================
 * 이미지 컬러 그레이딩 (blur 대신 — 화질 가리기 + 의료 톤)
 * ============================================================ */
body .saeyi-doctor .doc-hero__image {
  filter: saturate(0.88) brightness(0.97) contrast(1.04) !important;
}

/* ceomsg 우측 컬럼 배경 — 컬러 그레이딩 + opacity */
body .column-image-bg[style*="ceoceo"],
body .column-image-bg[style*="ceo_"] {
  filter: saturate(0.7) brightness(1.02) contrast(0.96) !important;
  opacity: 0.18 !important;
}

/* ceomsg row 배경 (전체 hero) — 약간만 그레이딩 */
body .row-bg.using-image[style*="ceo_header"] {
  filter: saturate(0.85) brightness(0.98) contrast(1.03) !important;
}

/* nectar slider 슬라이드 — 배경 화질 가림 */
body .nectar-slider-wrap .swiper-slide .image-bg {
  filter: saturate(0.92) brightness(0.97) contrast(1.04) !important;
}

/* 의료진 갤러리 — 통일감 */
body .saeyi-doctor .doc-gallery__cell {
  filter: saturate(0.9) contrast(1.03) !important;
  transition: filter 0.4s ease, transform 0.6s ease !important;
}
body .saeyi-doctor .doc-gallery__cell:hover {
  filter: saturate(1) contrast(1) !important;
  transform: scale(1.02);
}

/* ============================================================
 * CTA 강화
 * ============================================================ */
body .saeyi-doctor .doc-cta__btn {
  font-family: var(--saeyi-font-display) !important;
  font-size: 17px !important;
  font-weight: 700 !important;
  letter-spacing: -0.005em !important;
  padding: 20px 44px !important;
  border-radius: 100px !important;
  background: var(--saeyi-text) !important;
  color: #fff !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 12px !important;
  transition: transform 0.35s cubic-bezier(0.22, 0.61, 0.36, 1), box-shadow 0.35s !important;
  box-shadow: 0 6px 18px rgba(26, 42, 51, 0.18) !important;
}
body .saeyi-doctor .doc-cta__btn:hover {
  transform: translateY(-2px) !important;
  box-shadow: 0 12px 32px rgba(26, 42, 51, 0.28) !important;
  background: var(--saeyi-primary) !important;
}
body .saeyi-doctor .doc-cta__title {
  font-family: var(--saeyi-font-display) !important;
  font-size: clamp(28px, 3.2vw, 38px) !important;
  font-weight: 800 !important;
  letter-spacing: -0.025em !important;
  margin-bottom: 14px !important;
}
body .saeyi-doctor .doc-cta__sub {
  font-size: 16px !important;
  color: var(--saeyi-text-muted) !important;
  margin-bottom: 36px !important;
}

/* ============================================================
 * Subnav (의료진 페이지 상단 탭) 디자인 업그레이드
 * ============================================================ */
body .saeyi-doctor .doc-subnav {
  display: flex !important;
  justify-content: center !important;
  gap: 0 !important;
  padding: 24px 0 !important;
  background: #fff !important;
  border-bottom: 1px solid var(--saeyi-line) !important;
  position: sticky !important;
  top: 0 !important;
  z-index: 50 !important;
}
body .saeyi-doctor .doc-subnav a {
  font-family: var(--saeyi-font-display) !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  letter-spacing: -0.005em !important;
  color: var(--saeyi-text-muted) !important;
  padding: 14px 36px !important;
  text-decoration: none !important;
  position: relative !important;
  transition: color 0.3s !important;
}
body .saeyi-doctor .doc-subnav a:hover {
  color: var(--saeyi-text) !important;
}
body .saeyi-doctor .doc-subnav a.active {
  color: var(--saeyi-text) !important;
  font-weight: 700 !important;
}
body .saeyi-doctor .doc-subnav a.active::after {
  content: '';
  position: absolute;
  left: 30%;
  right: 30%;
  bottom: 0;
  height: 2px;
  background: var(--saeyi-primary);
}

/* ============================================================
 * 카드 / 학회 pills
 * ============================================================ */
body .saeyi-doctor .doc-membership__list {
  max-width: 920px;
  margin: 0 auto;
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  justify-content: center;
}
body .saeyi-doctor .doc-membership__item {
  font-size: 14px !important;
  font-weight: 600 !important;
  letter-spacing: -0.005em !important;
  padding: 12px 20px !important;
  border: 1px solid var(--saeyi-line) !important;
  border-radius: 100px !important;
  background: #fff !important;
  color: var(--saeyi-text) !important;
}

/* career list */
body .saeyi-doctor .doc-career__inner {
  display: grid !important;
  grid-template-columns: 220px 1fr !important;
  gap: 80px !important;
  max-width: 1080px !important;
  margin: 0 auto !important;
}
body .saeyi-doctor .doc-career__heading {
  font-family: var(--saeyi-font-display) !important;
  font-size: 28px !important;
  font-weight: 800 !important;
  letter-spacing: -0.025em !important;
  line-height: 1.25 !important;
  color: var(--saeyi-text) !important;
  position: sticky !important;
  top: 100px !important;
  align-self: start !important;
}
body .saeyi-doctor .doc-career__heading small {
  display: block;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--saeyi-primary);
  margin-bottom: 12px;
}
body .saeyi-doctor .doc-career__item {
  display: grid !important;
  grid-template-columns: 140px 1fr !important;
  gap: 32px !important;
  padding: 22px 0 !important;
  border-top: 1px solid var(--saeyi-line) !important;
  align-items: baseline !important;
}
body .saeyi-doctor .doc-career__item:last-child {
  border-bottom: 1px solid var(--saeyi-line) !important;
}
body .saeyi-doctor .doc-career__year {
  font-family: var(--saeyi-font-display) !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  letter-spacing: 0.04em !important;
  color: var(--saeyi-primary) !important;
}
body .saeyi-doctor .doc-career__role {
  font-size: 17px !important;
  line-height: 1.65 !important;
  color: var(--saeyi-text) !important;
  letter-spacing: -0.012em !important;
}

/* doc-spec 카드 — 더 미니멀하게 */
body .saeyi-doctor .doc-spec {
  background: #fff !important;
  padding: 36px 28px !important;
  border-radius: 12px !important;
  border: 1px solid var(--saeyi-line) !important;
  box-shadow: none !important;
  transition: transform 0.35s cubic-bezier(0.22, 0.61, 0.36, 1), border-color 0.35s, box-shadow 0.35s !important;
}
body .saeyi-doctor .doc-spec:hover {
  transform: translateY(-4px);
  border-color: var(--saeyi-primary);
  box-shadow: 0 12px 28px rgba(26, 42, 51, 0.08) !important;
}
body .saeyi-doctor .doc-spec__num {
  font-family: var(--saeyi-font-serif) !important;
  font-size: 32px !important;
  font-style: italic !important;
  font-weight: 600 !important;
  color: var(--saeyi-primary) !important;
  margin-bottom: 14px !important;
  letter-spacing: -0.02em !important;
}
body .saeyi-doctor .doc-spec__name {
  font-family: var(--saeyi-font-display) !important;
  font-size: 19px !important;
  font-weight: 700 !important;
  letter-spacing: -0.018em !important;
  color: var(--saeyi-text) !important;
  margin-bottom: 8px !important;
}
body .saeyi-doctor .doc-spec__desc {
  font-size: 14px !important;
  line-height: 1.65 !important;
  color: var(--saeyi-text-soft) !important;
  letter-spacing: -0.005em !important;
}

/* ============================================================
 * 모바일 sticky bottom CTA bar (전화 / 카톡 / 예약)
 * ============================================================ */
.saeyi-bottom-bar {
  display: none;
}
@media (max-width: 768px) {
  .saeyi-bottom-bar {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: 9998;
    background: #fff;
    border-top: 1px solid var(--saeyi-line);
    box-shadow: 0 -4px 20px rgba(0,0,0,0.05);
  }
  .saeyi-bottom-bar a {
    padding: 14px 0;
    text-align: center;
    font-size: 13px;
    font-weight: 700;
    text-decoration: none;
    color: var(--saeyi-text);
    border-right: 1px solid var(--saeyi-line);
    line-height: 1.3;
  }
  .saeyi-bottom-bar a:last-child { border-right: none; }
  .saeyi-bottom-bar a .ico {
    display: block;
    font-size: 20px;
    margin-bottom: 4px;
  }
  /* sticky bar 활성화 시 본문 하단 padding */
  body { padding-bottom: 64px; }
  /* 우측 플로팅 3버튼은 모바일에서 sticky bar가 대체 */
  #saeyi-float-sidebar { display: none; }
}

/* ============================================================
 * 인용구 마크 (대시 + 위치)
 * ============================================================ */
body .saeyi-doctor .doc-about__quote::before {
  content: '“';
  display: block;
  font-family: var(--saeyi-font-serif);
  font-size: 96px;
  line-height: 0.8;
  color: var(--saeyi-primary);
  margin-bottom: 12px;
  font-style: normal;
  opacity: 0.5;
}

/* ============================================================
 * 가독성 보정 — 문장 시작 들여쓰기 제거 / 글자 무게 통일
 * ============================================================ */
body p,
body .wpb_text_column p {
  text-indent: 0;
  word-break: keep-all;
  overflow-wrap: break-word;
}

/* 모바일 스케일 다운 */
@media (max-width: 768px) {
  body .saeyi-doctor .doc-hero__copy {
    padding: 60px 28px !important;
  }
  body .saeyi-doctor .doc-name {
    font-size: 38px !important;
  }
  body .saeyi-doctor .doc-tagline {
    font-size: 16px !important;
  }
  body .saeyi-doctor .doc-about__quote {
    font-size: 22px !important;
  }
  body .saeyi-doctor .doc-about__body {
    font-size: 16.5px !important;
  }
  body .saeyi-doctor .doc-specs,
  body .saeyi-doctor .doc-career,
  body .saeyi-doctor .doc-gallery,
  body .saeyi-doctor .doc-membership,
  body .saeyi-doctor .doc-cta {
    padding: 80px 20px !important;
  }
  body .saeyi-doctor .doc-career__inner {
    grid-template-columns: 1fr !important;
    gap: 40px !important;
  }
  body .saeyi-doctor .doc-career__heading {
    position: static !important;
  }
  body .saeyi-doctor .doc-career__item {
    grid-template-columns: 100px 1fr !important;
    gap: 16px !important;
  }
  body .saeyi-doctor .doc-about__quote::before {
    font-size: 64px;
  }
}

/* ============================================================
 * NEWTEETH — Press (소식·공지) 페이지
 *   /press01 ~ /press04
 *   모바일 우선 설계
 * ============================================================ */
.press-article {
  max-width: 760px;
  margin: 0 auto;
  padding: 0 20px 80px;
  font-family: 'Pretendard', 'Noto Sans KR', -apple-system, sans-serif;
  color: var(--saeyi-text, #1A2A33);
  letter-spacing: -0.012em;
}
.press-hero {
  position: relative;
  margin: 0 -20px 56px;
  padding: 80px 24px 64px;
  background-size: cover;
  background-position: center 25%;
  background-repeat: no-repeat;
  border-bottom: 1px solid #ECECEC;
  overflow: hidden;
}
.press-hero::before {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(255,255,255,0.65) 0%, rgba(255,255,255,0.85) 60%, rgba(255,255,255,0.95) 100%);
  pointer-events: none;
  z-index: 0;
}
.press-hero__inner {
  position: relative;
  z-index: 1;
  max-width: 720px;
  margin: 0 auto;
}
.press-back {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 13px;
  font-weight: 700;
  color: #1A2A33;
  text-decoration: none;
  margin-bottom: 24px;
  opacity: 0.7;
  transition: opacity 0.2s, transform 0.3s;
}
.press-back:hover { opacity: 1; transform: translateX(-3px); }

.press-cat {
  display: inline-block;
  padding: 5px 12px;
  border-radius: 999px;
  font-size: 12px;
  font-weight: 800;
  color: #fff;
  letter-spacing: 0.3px;
  margin-bottom: 16px;
}
.press-title {
  font-size: clamp(26px, 5.5vw, 38px);
  font-weight: 800;
  line-height: 1.32;
  letter-spacing: -0.025em;
  margin: 0 0 16px;
  color: #1A2A33;
  word-break: keep-all;
}
.press-subtitle {
  font-size: 16px;
  line-height: 1.6;
  color: #4a5862;
  margin: 0 0 20px;
  word-break: keep-all;
}
.press-meta {
  font-size: 13px;
  color: #8b97a0;
  display: flex;
  align-items: center;
  gap: 8px;
}
.press-meta__sep { opacity: 0.4; }

.press-body {
  font-size: 16px;
  line-height: 1.85;
  color: #2a3540;
  word-break: keep-all;
}
.press-body p {
  margin: 0 0 22px;
}
/* Magazine-style lead — first paragraph stands out */
.press-body > p:first-of-type {
  font-size: 18.5px;
  line-height: 1.72;
  color: #1A1A1A;
  font-weight: 500;
  letter-spacing: -0.014em;
  margin-bottom: 28px;
}
/* Section divider — subtle dashed line for body breaks */
.press-body hr {
  border: 0;
  border-top: 1px solid #E5E5E5;
  margin: 48px auto;
  width: 60px;
}
.press-body h3 {
  font-size: 20px;
  font-weight: 800;
  margin: 48px 0 16px;
  letter-spacing: -0.02em;
  color: #1A2A33;
  position: relative;
  padding-left: 14px;
}
.press-body h3::before {
  content: '';
  position: absolute;
  left: 0; top: 6px; bottom: 6px;
  width: 3px;
  border-radius: 2px;
  background: var(--saeyi-primary, #1A1A1A);
}
.press-body strong { color: #1A2A33; font-weight: 800; }
.press-body a { color: #1A2A33; text-decoration: underline; text-underline-offset: 3px; }
.press-body a:hover { color: var(--saeyi-primary, #1A1A1A); }

.press-list {
  list-style: none;
  padding: 0;
  margin: 0 0 24px;
}
.press-list li {
  position: relative;
  padding-left: 22px;
  margin-bottom: 10px;
  line-height: 1.75;
}
.press-list li::before {
  content: '';
  position: absolute;
  left: 4px; top: 12px;
  width: 6px; height: 6px;
  border-radius: 50%;
  background: var(--saeyi-primary, #1A1A1A);
}

.press-table-wrap {
  overflow-x: auto;
  margin: 0 0 28px;
  -webkit-overflow-scrolling: touch;
}
.press-table {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
  font-size: 14px;
  border: 1px solid #e5e9ec;
  border-radius: 10px;
  overflow: hidden;
  min-width: 360px;
}
.press-table th, .press-table td {
  padding: 12px 14px;
  text-align: left;
  border-bottom: 1px solid #eef1f3;
}
.press-table th {
  background: #FAFAFA;
  font-weight: 800;
  color: #1A2A33;
  font-size: 13px;
  letter-spacing: -0.005em;
}
.press-table tbody tr:last-child td { border-bottom: none; }
.press-table tbody tr:nth-child(odd) { background: #FAFAFA; }

/* Callout — 무채색 / 좌측 캡 라벨 + 본문 */
.press-callout {
  display: flex;
  align-items: center;
  gap: 16px;
  background: #F7F7F7;
  border: 0;
  border-left: 3px solid #1A1A1A;
  padding: 16px 22px;
  border-radius: 0;
  font-size: 14.5px;
  line-height: 1.65;
  color: #2C2C2C;
  margin: 36px 0 28px;
}
.press-callout::before {
  content: 'NOTE';
  flex-shrink: 0;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 1.8px;
  color: #1A1A1A;
  text-transform: uppercase;
  border-right: 1px solid #C4C4C4;
  padding-right: 16px;
  background: transparent;
  border-radius: 0;
  box-shadow: none;
  width: auto;
  height: auto;
  display: inline-block;
}
.press-callout strong { color: #1A1A1A; font-weight: 700; }
@media (max-width: 600px) {
  .press-callout { padding: 14px 18px; gap: 12px; font-size: 14px; flex-direction: column; align-items: flex-start; }
  .press-callout::before { border-right: 0; padding-right: 0; padding-bottom: 6px; }
}

/* ============================================================
 * 칼럼(press) 컴포넌트 — 무채색 미니멀 (Substack/Medium/Stripe Press 톤)
 *   원칙: 흑·회·흰만 / 가는 라인 / 큰 여백 / 텍스트 위계로 강조
 * ============================================================ */

/* 섹션 H2 — 짧은 검정 underline 액센트만 */
.press-body .press-h2 {
  font-size: 24px;
  font-weight: 800;
  color: #1A1A1A;
  margin: 56px 0 14px;
  letter-spacing: -0.6px;
  line-height: 1.3;
  position: relative;
  padding-bottom: 14px;
}
.press-body .press-h2::after {
  content: '';
  position: absolute;
  left: 0;
  bottom: 0;
  width: 32px;
  height: 2px;
  background: #1A1A1A;
}

/* TL;DR — 회색 박스, caps 라벨 */
.press-tldr {
  background: #F7F7F7;
  border: 1px solid #E5E5E5;
  border-radius: 4px;
  padding: 24px 28px;
  margin: 0 0 36px;
}
.press-tldr__label {
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 1.5px;
  color: #1A1A1A;
  text-transform: uppercase;
  margin-bottom: 10px;
}
.press-tldr__lead {
  font-size: 16.5px;
  line-height: 1.65;
  color: #1A1A1A;
  margin: 0 0 14px;
  font-weight: 500;
}
.press-tldr__list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.press-tldr__list li {
  font-size: 14.5px;
  color: #4A4A4A;
  padding-left: 22px;
  position: relative;
  line-height: 1.55;
}
.press-tldr__list li::before {
  content: '—';
  position: absolute;
  left: 0;
  top: 0;
  color: #8A8A8A;
}

/* 통계 — 라인 분리만, 좌정렬 */
.press-stat-row {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 0;
  margin: 36px 0;
  border-top: 1px solid #1A1A1A;
  border-bottom: 1px solid #E5E5E5;
}
.press-stat {
  background: transparent;
  border: 0;
  border-right: 1px solid #E5E5E5;
  border-radius: 0;
  padding: 22px 20px;
  text-align: left;
  transition: none;
}
.press-stat:last-child { border-right: 0; }
.press-stat:hover { transform: none; box-shadow: none; }
.press-stat__num {
  font-size: 34px;
  font-weight: 800;
  color: #1A1A1A;
  line-height: 1;
  letter-spacing: -1px;
  margin-bottom: 10px;
}
.press-stat__num small {
  font-size: 17px;
  font-weight: 700;
  color: #1A1A1A;
}
.press-stat__lbl {
  font-size: 13px;
  color: #4A4A4A;
  line-height: 1.55;
}
.press-stat__lbl small {
  display: block;
  font-size: 11px;
  color: #8A8A8A;
  margin-top: 6px;
  letter-spacing: -0.1px;
}
@media (max-width: 768px) {
  .press-stat-row { grid-template-columns: 1fr; }
  .press-stat { border-right: 0; border-bottom: 1px solid #E5E5E5; padding: 18px 0; }
  .press-stat:last-child { border-bottom: 0; }
}

/* 비교 테이블 — 선만 */
.press-compare {
  width: 100%;
  border-collapse: collapse;
  margin: 24px 0 36px;
  font-size: 14.5px;
  background: transparent;
  border-radius: 0;
  overflow: visible;
  box-shadow: none;
  border-top: 2px solid #1A1A1A;
}
.press-compare th,
.press-compare td {
  padding: 14px 14px;
  text-align: left;
  border-bottom: 1px solid #E5E5E5;
  vertical-align: top;
  line-height: 1.55;
  background: transparent;
}
.press-compare thead th {
  background: transparent;
  color: #1A1A1A;
  font-weight: 700;
  font-size: 12px;
  letter-spacing: 1.2px;
  text-transform: uppercase;
  padding-top: 12px;
  padding-bottom: 12px;
  border-bottom: 1px solid #1A1A1A;
}
.press-compare .cmp-axis {
  font-weight: 700;
  color: #1A1A1A;
  width: 22%;
  background: transparent;
}
.press-compare .cmp-warn {
  color: #1A1A1A;
  font-weight: 700;
}
.press-compare tbody tr:last-child th,
.press-compare tbody tr:last-child td { border-bottom: 0; }
@media (max-width: 768px) {
  .press-compare { font-size: 13px; }
  .press-compare th, .press-compare td { padding: 10px 10px; }
  .press-compare .cmp-axis { width: 30%; }
}

/* 습관 — 카드 제거, 가로선 분리, 큰 타이포만 */
.press-habits {
  display: grid;
  grid-template-columns: 1fr;
  gap: 0;
  margin: 18px 0 36px;
  border-top: 1px solid #E5E5E5;
}
.press-habit {
  background: transparent;
  border: 0;
  border-bottom: 1px solid #E5E5E5;
  border-radius: 0;
  padding: 32px 0 28px;
  position: relative;
  overflow: visible;
  transition: none;
}
.press-habit:hover { transform: none; box-shadow: none; border-color: #E5E5E5; }
.press-habit__num {
  position: static;
  display: block;
  font-size: 12px;
  font-weight: 800;
  color: #8A8A8A;
  letter-spacing: 2px;
  margin: 0 0 10px;
  line-height: 1;
}
.press-habit__title {
  font-size: 22px;
  font-weight: 800;
  color: #1A1A1A;
  margin: 0 0 4px;
  letter-spacing: -0.4px;
}
.press-habit__sub {
  font-size: 14px !important;
  font-weight: 500 !important;
  color: #8A8A8A !important;
  margin: 0 0 14px !important;
  letter-spacing: 0;
}
.press-habit p {
  margin: 0 0 14px;
  font-size: 15px;
  line-height: 1.75;
  color: #2C2C2C;
}
.press-habit__action {
  list-style: none;
  padding: 0;
  margin: 14px 0 0;
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.press-habit__action li {
  font-size: 14.5px;
  color: #2C2C2C;
  padding: 4px 0 4px 18px;
  background: transparent;
  border-radius: 0;
  line-height: 1.6;
  position: relative;
}
.press-habit__action li::before {
  content: '·';
  position: absolute;
  left: 4px;
  top: 0;
  color: #1A1A1A;
  font-weight: 800;
  font-size: 18px;
  line-height: 1.2;
}
.press-habit__tip {
  background: #F7F7F7;
  border-left: 0;
  border-top: 1px solid #C4C4C4;
  padding: 14px 16px;
  border-radius: 0;
  font-size: 13.5px;
  color: #2C2C2C;
  margin-top: 18px;
  line-height: 1.65;
}
.press-habit__tip strong { color: #1A1A1A; }

/* 셀프체크 — 가로선 분리 */
.press-checklist {
  display: flex;
  flex-direction: column;
  gap: 0;
  margin: 18px 0 22px;
  border-top: 1px solid #E5E5E5;
}
.press-checklist label {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  padding: 14px 0;
  background: transparent;
  border: 0;
  border-bottom: 1px solid #E5E5E5;
  border-radius: 0;
  cursor: pointer;
  transition: opacity 0.15s;
}
.press-checklist label:hover { background: transparent; opacity: 0.78; }
.press-checklist input[type="checkbox"] {
  width: 16px;
  height: 16px;
  accent-color: #1A1A1A;
  flex-shrink: 0;
  margin-top: 3px;
}
.press-checklist span {
  font-size: 15px;
  color: #2C2C2C;
  line-height: 1.55;
}
.press-checklist__cta {
  text-align: left;
  margin: 14px 0 36px;
}
.press-checklist__cta .press-cta__btn {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 12px 22px;
  border-radius: 999px;
  font-weight: 700;
  background: #1A1A1A;
  color: #fff !important;
  text-decoration: none;
  border: 0;
  box-shadow: none;
  transition: opacity 0.18s;
}
.press-checklist__cta .press-cta__btn:hover {
  transform: none;
  opacity: 0.85;
  box-shadow: none;
}

/* 케이스 — 흰 카드 + 좌측 가는 라인 */
.press-cases {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
  margin: 22px 0 36px;
}
.press-case {
  padding: 22px 24px;
  border-radius: 0;
  background: #FAFAFA;
  border-left: 3px solid #1A1A1A;
}
.press-case__tag {
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 1.5px;
  margin-bottom: 8px;
  text-transform: uppercase;
  color: #1A1A1A;
}
.press-case p {
  margin: 0;
  font-size: 14.5px;
  line-height: 1.7;
  color: #2C2C2C;
}
.press-case--good { border-left-color: #1A1A1A; }
.press-case--good .press-case__tag { color: #1A1A1A; }
.press-case--bad  { background: #F7F7F7; border-left-color: #B0B0B0; }
.press-case--bad  .press-case__tag { color: #8A8A8A; }
@media (max-width: 768px) { .press-cases { grid-template-columns: 1fr; } }

/* FAQ — 가로선 분리, 검정 +/− */
.press-faq {
  display: flex;
  flex-direction: column;
  gap: 0;
  margin: 22px 0 28px;
  border-top: 1px solid #1A1A1A;
}
.press-faq details {
  background: transparent;
  border: 0;
  border-bottom: 1px solid #E5E5E5;
  border-radius: 0;
  overflow: visible;
  transition: none;
}
.press-faq details[open] { box-shadow: none; border-color: #E5E5E5; }
.press-faq summary {
  font-size: 16px;
  font-weight: 700;
  color: #1A1A1A;
  cursor: pointer;
  padding: 18px 44px 18px 0;
  list-style: none;
  position: relative;
  letter-spacing: -0.2px;
}
.press-faq summary::-webkit-details-marker { display: none; }
.press-faq summary::after {
  content: '+';
  position: absolute;
  right: 4px;
  top: 50%;
  transform: translateY(-50%);
  font-size: 22px;
  color: #1A1A1A;
  font-weight: 300;
  line-height: 1;
}
.press-faq details[open] summary::after { content: '−'; }
.press-faq details p {
  margin: 0;
  padding: 0 0 20px;
  font-size: 14.5px;
  color: #4A4A4A;
  line-height: 1.75;
}

/* 출처 — 가로선 위, caps 라벨 */
.press-sources {
  background: transparent;
  border-top: 1px solid #E5E5E5;
  border-radius: 0;
  padding: 18px 0;
  margin: 28px 0 24px;
  font-size: 13px;
  color: #4A4A4A;
}
.press-sources strong {
  display: block;
  color: #1A1A1A;
  margin-bottom: 10px;
  font-size: 11px;
  letter-spacing: 1.5px;
  text-transform: uppercase;
}
.press-sources ul {
  margin: 0;
  padding-left: 18px;
  display: flex;
  flex-direction: column;
  gap: 5px;
}
.press-sources li { line-height: 1.55; }

/* CTA — 무채색 미니멀 (흰 카드 + 검정 상단 보더 + 1차 CTA만 검정 fill) */
.press-cta {
  position: relative;
  margin: 56px 0 40px;
  padding: 32px 0 4px;
  border-radius: 0;
  background: transparent;
  border: 0;
  border-top: 2px solid #1A1A1A;
  color: #1A1A1A;
  text-align: left;
  overflow: visible;
  box-shadow: none;
}
.press-cta::before {
  content: 'CONTACT';
  display: block;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 1.8px;
  color: #1A1A1A;
  margin-bottom: 8px;
  text-transform: uppercase;
}
.press-cta h3 {
  margin: 0 0 4px;
  font-size: 26px;
  font-weight: 800;
  letter-spacing: -0.6px;
  color: #1A1A1A !important;
  line-height: 1.2;
}
.press-cta__sub {
  display: block;
  margin: 0 0 22px;
  font-size: 13.5px;
  color: #555;
  line-height: 1.6;
}
.press-cta__buttons {
  display: grid;
  grid-template-columns: 1.6fr 1fr 1fr;
  gap: 8px;
  max-width: none;
  margin: 0;
}
.press-cta__btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 14px 12px;
  border-radius: 4px;
  font-size: 14px;
  font-weight: 700;
  text-decoration: none;
  letter-spacing: -0.2px;
  transition: opacity 0.18s, background 0.18s, color 0.18s;
  white-space: nowrap;
  border: 1px solid #1A1A1A;
}
.press-cta__btn:hover {
  transform: none;
  box-shadow: none;
  filter: none;
  opacity: 0.85;
}
.press-cta__btn--phone {
  background: #1A1A1A;
  color: #fff !important;
  font-size: 14.5px;
  box-shadow: none;
}
.press-cta__btn--kakao {
  background: #fff;
  color: #1A1A1A !important;
}
.press-cta__btn--naver {
  background: #fff;
  color: #1A1A1A !important;
}
@media (max-width: 600px) {
  .press-cta { padding: 28px 0 4px; }
  .press-cta h3 { font-size: 22px; }
  .press-cta__sub { margin-bottom: 18px; font-size: 13px; }
  .press-cta__buttons { grid-template-columns: 1fr; gap: 8px; }
  .press-cta__btn { padding: 14px; }
}

.press-related {
  margin-top: 60px;
  border-top: 1px solid #e9edef;
  padding-top: 40px;
}
.press-related__title {
  font-size: 14px;
  font-weight: 800;
  letter-spacing: 1px;
  color: #8b97a0;
  text-transform: uppercase;
  margin: 0 0 20px;
}
.press-related__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 12px;
}
.press-related-card {
  display: flex;
  flex-direction: column;
  gap: 8px;
  padding: 18px 16px;
  border: 1px solid #e5e9ec;
  border-radius: 10px;
  background: #fff;
  text-decoration: none;
  transition: transform 0.25s ease, border-color 0.25s, box-shadow 0.3s;
}
.press-related-card:hover {
  transform: translateY(-3px);
  border-color: rgba(0, 0, 0, 0.22);
  box-shadow: 0 12px 28px rgba(26,42,51,0.08);
}
.press-related-card__cat {
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.5px;
}
.press-related-card__title {
  font-size: 14px;
  font-weight: 700;
  line-height: 1.45;
  color: #1A2A33;
  letter-spacing: -0.015em;
  word-break: keep-all;
  flex: 1;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.press-related-card__date {
  font-size: 12px;
  color: #8b97a0;
}

/* Press 모바일 */
@media (max-width: 720px) {
  .press-article { padding: 0 16px 80px; }
  .press-hero {
    margin: 0 -16px 36px;
    padding: 76px 20px 40px;
  }
  .press-body { font-size: 15.5px; line-height: 1.78; }
  .press-body p  { margin-bottom: 18px; }
  .press-body > p:first-of-type { font-size: 17px; line-height: 1.7; margin-bottom: 22px; }
  .press-body h3 { margin: 36px 0 12px; font-size: 18px; }
  .press-body hr { margin: 36px auto; }
  .press-callout { font-size: 14.5px; padding: 16px 18px; }
  .press-cta__buttons { grid-template-columns: 1fr; }
  .press-cta__btn { padding: 14px; font-size: 14px; }
  .press-related__grid { grid-template-columns: 1fr; }
  .press-related-card { padding: 14px 16px; }
  .press-table { font-size: 13px; }
  .press-table th, .press-table td { padding: 10px 12px; }
}

/* ============================================================
 * NEWTEETH — 모바일 풀스크린 페이저 → 일반 스크롤로 폴백
 *   Nectar fullscreen rows 동작이 모바일에선 답답함
 *   각 섹션이 100vh로 고정 + 도트 인디케이터 + 스크롤 락 해제
 * ============================================================ */
@media (max-width: 768px) {
  /* fullscreen rows 컨테이너 자유화 */
  body #nectar_fullscreen_rows,
  body #nectar_fullscreen_rows.afterLoaded {
    height: auto !important;
    min-height: auto !important;
    overflow: visible !important;
  }
  body #nectar_fullscreen_rows > div {
    height: auto !important;
    min-height: auto !important;
  }
  /* 풀스크린 row */
  body .wpb_row.vc_row-o-full-height.top-level,
  body .wpb_row.vc_row-o-full-height.top-level > .col.span_12 {
    min-height: 0 !important;
    height: auto !important;
  }
  /* 우측 도트 인디케이터 숨김 */
  body #nectar_fullscreen_rows .controls,
  body .nectar-scroll-indicator,
  body .nectar-scroll-down,
  body .scroll-down-wrap,
  body #fp-nav,                /* fullPage.js 페이지 인디케이터 */
  body .fp-slidesNav,
  body #pp-nav {
    display: none !important;
  }
  /* 본문 자연 스크롤 */
  html, body {
    overflow-x: hidden;
    overflow-y: auto !important;
    height: auto !important;
    position: static !important;
  }
  /* page header / hero 섹션 패딩 */
  body .container-wrap,
  body #ajax-content-wrap {
    height: auto !important;
    overflow: visible !important;
  }
}

/* ============================================================
 * NEWTEETH — 모바일 글로벌 최적화 (원본 Cafe24 톤 유지)
 *   • 홈 hero 가독성
 *   • 의사 프로필 모바일 padding/타이포
 *   • Notice 카드 4단 → 1단 (homepage)
 *   • Float sidebar 모바일에선 숨김 (FAB + bottom-bar 가 대체)
 *   • 본문 word-break, line-height 일관성
 * ============================================================ */
@media (max-width: 768px) {
  /* 데스크탑 우측 사이드바 숨김 — 모바일은 phone-fab + bottom-bar 가 대체 */
  #saeyi-float-sidebar { display: none !important; }

  /* 홈 hero 카피 — 너무 큰 폰트 사이즈 모바일 보정 */
  body .ns-heading-el,
  body .nectar-split-heading h1,
  body .nectar-split-heading h2 {
    font-size: clamp(28px, 7.5vw, 44px) !important;
    line-height: 1.25 !important;
    letter-spacing: -0.025em !important;
    word-break: keep-all !important;
  }

  /* 홈 - Notice 4-카드: 모바일에서 1단 카드로 자연스럽게 */
  body .vc_row.full-width-section .col.span_3,
  body .vc_row .col.vc_col-sm-3 {
    width: 100% !important;
    margin-bottom: 16px !important;
  }

  /* 본문 한국어 줄바꿈 */
  body p, body li, body h1, body h2, body h3, body h4 {
    word-break: keep-all;
    overflow-wrap: break-word;
  }

  /* 풀스크린 페이저 우측 도트 인디케이터 — 화면 너비 작아 일부 가려짐 방지 */
  body #nectar_fullscreen_rows .controls,
  body .nectar-scroll-indicator {
    right: 8px !important;
  }

  /* 본문 섹션 좌우 padding — 화면 끝 닿지 않게 */
  body .container-wrap .vc_row.top-level > .row_col_wrap_12,
  body .container-wrap .full-width-content .row_col_wrap_12 {
    padding-left: 16px !important;
    padding-right: 16px !important;
  }

  /* 의사 프로필 hero — 모바일에서 더 컴팩트 */
  body .saeyi-doctor .doc-hero {
    grid-template-columns: 1fr !important;
    min-height: auto !important;
  }
  body .saeyi-doctor .doc-hero__image {
    min-height: 360px !important;
    aspect-ratio: 4 / 5;
  }

  /* doc-gallery 모바일 그리드: 2x3 정도로 컴팩트 */
  body .saeyi-doctor .doc-gallery__grid {
    grid-template-columns: 1fr 1fr !important;
    grid-template-rows: 200px 200px 200px !important;
    gap: 8px !important;
  }
  body .saeyi-doctor .doc-gallery__cell--hero {
    grid-column: 1 / 3 !important;
    grid-row: 1 / 2 !important;
  }

  /* 모바일 nectar full-page 페이저 동작이 스크롤을 막을 때 — 본문 페이지에서는 자유 스크롤 */
  body[data-permanent-transparent="1"]:not(.home) .container-wrap {
    overflow-x: hidden;
  }
}

/* 360px 이하 (구형 안드로이드, iPhone SE 등) */
@media (max-width: 380px) {
  body .ns-heading-el,
  body .nectar-split-heading h1 {
    font-size: 26px !important;
  }
  #saeyi-phone-fab { width: 56px; height: 56px; }
  #saeyi-phone-fab .saeyi-fab-icon { font-size: 24px; }
  body .saeyi-bottom-bar a { font-size: 12px; padding: 12px 0; }
  body .saeyi-bottom-bar a .ico { font-size: 18px; }
}

/* ============================================================
 * NEWTEETH — 오시는 길 페이지 지도 액션 버튼
 *   네이버 지도 / 카카오톡 / 전화 — 강한 CTA
 * ============================================================ */
.newteeth-map-wrap {
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.newteeth-map {
  display: block;
  width: 100% !important;
  min-height: 380px;
}
.newteeth-map-actions {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 8px;
}
@media (max-width: 560px) {
  .newteeth-map-actions {
    grid-template-columns: 1fr;
  }
}
.newteeth-map-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 14px 12px;
  border-radius: 10px;
  font-size: 14px;
  font-weight: 800;
  letter-spacing: -0.3px;
  text-decoration: none;
  border: 1px solid transparent;
  transition: transform 0.18s ease, box-shadow 0.25s ease;
  line-height: 1;
}
.newteeth-map-btn:hover {
  transform: translateY(-2px);
  box-shadow: 0 10px 24px rgba(0,0,0,0.12);
}
.newteeth-map-btn .ico {
  font-size: 16px;
  line-height: 1;
}
.newteeth-map-btn--primary {
  background: #03C75A;
  color: #fff !important;
}
.newteeth-map-btn--primary .ico {
  font-family: 'Arial', sans-serif;
  font-weight: 900;
}
.newteeth-map-btn--kakao {
  background: #FEE500;
  color: #3B1E1E !important;
}
.newteeth-map-btn--phone {
  background: #1A2A33;
  color: #fff !important;
}

/* ============================================================
 * NEWTEETH — Recruitement (예약·문의) Page
 *   • 예약 절차 4단계
 *   • 진료 시간표
 *   • 빠른 문의 3-button
 * ============================================================ */
.nt-recruit {
  font-family: var(--saeyi-font-body);
  background: linear-gradient(180deg, #fbfcfd 0%, #f3f6f8 100%);
  padding: 100px 24px;
  border-top: 1px solid var(--saeyi-line);
}
.nt-recruit__inner {
  max-width: 1080px;
  margin: 0 auto 64px;
}
.nt-recruit__inner:last-child { margin-bottom: 0; }
.nt-recruit__header {
  text-align: center;
  margin-bottom: 40px;
}
.nt-recruit__eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  font-size: 12px;
  letter-spacing: 4px;
  font-weight: 800;
  color: var(--saeyi-primary);
  margin-bottom: 14px;
}
.nt-recruit__eyebrow::before, .nt-recruit__eyebrow::after {
  content: ''; width: 28px; height: 1px;
  background: var(--saeyi-primary); opacity: 0.5;
}
.nt-recruit__title {
  font-size: var(--saeyi-fs-h2);
  font-weight: 800;
  letter-spacing: -0.025em;
  margin: 0 0 10px;
  color: var(--saeyi-text);
  line-height: 1.25;
}
.nt-recruit__sub {
  font-size: 15px;
  color: var(--saeyi-text-soft);
  margin: 0;
}

/* Steps */
.nt-recruit__steps {
  list-style: none;
  padding: 0;
  margin: 0;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 16px;
  counter-reset: step;
  position: relative;
}
.nt-recruit__step {
  position: relative;
  background: #fff;
  border: 1px solid var(--saeyi-line);
  border-radius: var(--saeyi-radius-lg);
  padding: 28px 24px;
  transition: transform 0.32s cubic-bezier(0.22,0.61,0.36,1), border-color 0.3s, box-shadow 0.3s;
}
.nt-recruit__step:hover {
  transform: translateY(-4px);
  border-color: rgba(0, 0, 0, 0.18);
  box-shadow: var(--saeyi-shadow-md);
}
.nt-recruit__num {
  display: inline-block;
  font-family: var(--saeyi-font-serif);
  font-size: 30px;
  font-style: italic;
  font-weight: 600;
  color: var(--saeyi-primary);
  letter-spacing: -0.02em;
  margin-bottom: 14px;
  line-height: 1;
}
.nt-recruit__step h3 {
  font-size: 18px;
  font-weight: 800;
  letter-spacing: -0.018em;
  color: var(--saeyi-text);
  margin: 0 0 8px;
}
.nt-recruit__step p {
  font-size: 14px;
  line-height: 1.65;
  color: var(--saeyi-text-soft);
  margin: 0;
  letter-spacing: -0.005em;
}

/* Hours + Quick layout */
.nt-recruit__hours-wrap {
  display: grid;
  grid-template-columns: 1.4fr 1fr;
  gap: 24px;
  align-items: stretch;
}
.nt-recruit__hours,
.nt-recruit__quick {
  background: #fff;
  border-radius: var(--saeyi-radius-lg);
  padding: 36px 32px;
  border: 1px solid var(--saeyi-line);
}
.nt-recruit__hours-header {
  text-align: left;
  margin-bottom: 24px;
}
.nt-recruit__hours-header .nt-recruit__eyebrow {
  margin-bottom: 12px;
}
.nt-recruit__hours-header .nt-recruit__title {
  font-size: 24px;
  margin: 0;
}

.nt-hours-table {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
  font-family: var(--saeyi-font-body);
}
.nt-hours-table th,
.nt-hours-table td {
  padding: 14px 16px;
  text-align: left;
  border-bottom: 1px solid var(--saeyi-line);
  font-size: 15px;
}
.nt-hours-table th {
  font-weight: 800;
  color: var(--saeyi-text);
  letter-spacing: -0.012em;
  width: 40%;
  background: transparent;
}
.nt-hours-table td {
  color: var(--saeyi-text-soft);
  font-weight: 600;
}
.nt-hours-table td em {
  font-style: normal;
  font-size: 13px;
  color: var(--saeyi-text-muted);
  margin-left: 4px;
}
.nt-hours-table tr:last-child th,
.nt-hours-table tr:last-child td { border-bottom: none; }
.nt-hours-table--break th,
.nt-hours-table--break td {
  color: var(--saeyi-text-muted);
  font-size: 14px;
}
.nt-hours-table--off th,
.nt-hours-table--off td {
  color: var(--saeyi-text-muted);
}
.nt-hours-table--off td {
  font-style: italic;
}

.nt-recruit__hours-note {
  margin: 16px 0 0;
  font-size: 13px;
  color: var(--saeyi-text-muted);
  line-height: 1.6;
}

/* Quick buttons */
.nt-recruit__quick {
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.nt-recruit__quick h3 {
  font-size: 18px;
  font-weight: 800;
  letter-spacing: -0.018em;
  color: var(--saeyi-text);
  margin: 0 0 6px;
}
.nt-recruit__quick-btn {
  display: grid;
  grid-template-columns: 32px 1fr;
  grid-template-rows: auto auto;
  align-items: center;
  gap: 4px 14px;
  padding: 16px 18px;
  border-radius: 12px;
  border: 1px solid var(--saeyi-line);
  text-decoration: none;
  background: #fff;
  transition: transform 0.2s ease, border-color 0.25s;
}
.nt-recruit__quick-btn:hover {
  transform: translateY(-2px);
  border-color: var(--saeyi-primary);
}
.nt-recruit__quick-btn .ico {
  grid-column: 1;
  grid-row: 1 / 3;
  align-self: center;
  font-size: 22px;
  line-height: 1;
  text-align: center;
  font-weight: 800;
}
.nt-recruit__quick-btn--naver .ico { color: #03C75A; font-family: 'Arial', sans-serif; }
.nt-recruit__quick-btn--kakao .ico { color: #3B1E1E; }
.nt-recruit__quick-btn--phone .ico { color: var(--saeyi-text); }
.nt-recruit__quick-label {
  grid-column: 2;
  grid-row: 1;
  display: block;
  min-width: 0;
  font-size: 14px;
  font-weight: 800;
  line-height: 1.25;
  color: var(--saeyi-text);
  letter-spacing: -0.012em;
}
.nt-recruit__quick-detail {
  grid-column: 2;
  grid-row: 2;
  display: block;
  min-width: 0;
  font-size: 12.5px;
  line-height: 1.35;
  color: var(--saeyi-text-muted);
}

@media (max-width: 1024px) {
  .nt-recruit__steps { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 720px) {
  .nt-recruit { padding: 70px 20px; }
  .nt-recruit__hours-wrap { grid-template-columns: 1fr; }
  .nt-recruit__hours,
  .nt-recruit__quick { padding: 26px 22px; }
}
@media (max-width: 480px) {
  .nt-recruit__steps { grid-template-columns: 1fr; }
}

/* ============================================================
 * NEWTEETH — Press Event Strip (press03 전용)
 *   무채색 미니멀 — 다크 헤더(기간/D-Day) + 화이트 본문(3-step)
 * ============================================================ */
.nt-event-strip {
  max-width: 760px;
  margin: -24px auto 36px;
  padding: 0 20px;
  font-family: var(--saeyi-font-body);
}
.nt-event-strip__inner {
  background: #fff;
  color: #1A1A1A;
  border: 1px solid #E8E8E8;
  border-radius: 14px;
  overflow: hidden;
  box-shadow: 0 12px 32px -20px rgba(0, 0, 0, 0.18);
  padding: 0;
}
/* ── 다크 헤더 ── */
.nt-event-strip__dates {
  display: grid !important;
  grid-template-columns: 1fr auto !important;
  align-items: center !important;
  gap: 28px !important;
  background: #1A1A1A !important;
  color: #fff !important;
  padding: 22px 28px !important;
  margin: 0 !important;
  border: 0 !important;
}
.nt-event-strip__period,
.nt-event-strip__dday {
  margin: 0 !important;
  padding: 0 !important;
}
.nt-event-strip__period small,
.nt-event-strip__dday small {
  display: block !important;
  font-size: 10px !important;
  font-weight: 800 !important;
  letter-spacing: 2.4px !important;
  text-transform: uppercase !important;
  color: rgba(255, 255, 255, 0.55) !important;
  margin: 0 0 8px 0 !important;
  line-height: 1 !important;
  opacity: 1 !important;
}
.nt-event-strip__period strong {
  display: block !important;
  font-size: 19px !important;
  font-weight: 700 !important;
  letter-spacing: -0.012em !important;
  color: #fff !important;
  line-height: 1.1 !important;
  margin: 0 !important;
  font-variant-numeric: tabular-nums;
}
.nt-event-strip__dday {
  text-align: right !important;
}
.nt-event-strip__dday small {
  text-align: right !important;
}
.nt-event-strip__dday strong {
  display: inline-block !important;
  padding: 7px 14px !important;
  background: rgba(255, 255, 255, 0.10) !important;
  border: 1px solid rgba(255, 255, 255, 0.30) !important;
  border-radius: 999px !important;
  font-size: 12.5px !important;
  font-weight: 800 !important;
  letter-spacing: 0.4px !important;
  color: #fff !important;
  line-height: 1 !important;
  margin: 0 !important;
}
/* ── 3-step 본문 ── */
.nt-event-strip__steps {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
  display: block !important;
  background: #fff;
}
.nt-event-strip__steps li {
  display: grid !important;
  grid-template-columns: 56px 1fr !important;
  grid-template-rows: auto auto !important;
  column-gap: 22px !important;
  row-gap: 4px !important;
  align-items: start !important;
  padding: 18px 28px !important;
  border-top: 1px solid #F0F0F0 !important;
  margin: 0 !important;
  font-size: 13px;
  line-height: 1.55;
  color: #1A1A1A;
}
.nt-event-strip__steps li:first-child { border-top: 0 !important; }
.nt-event-strip__num {
  grid-column: 1 !important;
  grid-row: 1 / 3 !important;
  display: inline-block !important;
  width: auto !important;
  height: auto !important;
  background: transparent !important;
  font-family: var(--saeyi-font-serif) !important;
  font-size: 24px !important;
  font-style: italic !important;
  font-weight: 600 !important;
  color: #1A1A1A !important;
  letter-spacing: -0.01em !important;
  line-height: 1.1 !important;
  border-radius: 0 !important;
  margin: 0 !important;
  padding: 4px 0 0 0 !important;
  text-align: left !important;
}
.nt-event-strip__steps strong {
  grid-column: 2 !important;
  grid-row: 1 !important;
  display: block !important;
  font-size: 15px !important;
  font-weight: 800 !important;
  letter-spacing: -0.014em !important;
  color: #1A1A1A !important;
  margin: 0 !important;
  line-height: 1.4 !important;
}
.nt-event-strip__steps li > span:not(.nt-event-strip__num) {
  grid-column: 2 !important;
  grid-row: 2 !important;
  display: block !important;
  font-size: 13px !important;
  line-height: 1.6 !important;
  color: #666 !important;
  opacity: 1 !important;
  margin: 0 !important;
}
/* ── Mobile ── */
@media (max-width: 600px) {
  .nt-event-strip { padding: 0 16px; margin: -20px auto 28px; }
  .nt-event-strip__dates {
    grid-template-columns: 1fr !important;
    gap: 14px !important;
    padding: 18px 20px !important;
  }
  .nt-event-strip__dday,
  .nt-event-strip__dday small { text-align: left !important; }
  .nt-event-strip__period strong { font-size: 17px !important; }
  .nt-event-strip__steps li {
    grid-template-columns: 44px 1fr !important;
    gap: 14px !important;
    padding: 16px 20px !important;
  }
  .nt-event-strip__num { font-size: 21px !important; }
  .nt-event-strip__steps strong { font-size: 14px !important; }
}

/* ============================================================
 * NEWTEETH — Press Share (URL 복사 / 카톡 / 문자)
 * ============================================================ */
/* Share — 인라인 미니멀 (라벨 + divider + pill 버튼) */
.nt-share {
  max-width: 760px;
  margin: 36px auto;
  padding: 0;
  text-align: left;
  border: 0;
  display: flex;
  align-items: center;
  gap: 14px;
}
.nt-share__label {
  display: inline-flex;
  align-items: center;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 1.5px;
  color: #8a98a3;
  text-transform: uppercase;
  margin: 0;
  flex-shrink: 0;
}
.nt-share__label::after {
  content: '';
  width: 28px;
  height: 1px;
  background: #d6e0e3;
  margin-left: 12px;
}
.nt-share__buttons {
  display: inline-flex;
  gap: 8px;
  flex-wrap: wrap;
  justify-content: flex-start;
}
.nt-share__btn {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 9px 16px;
  border-radius: 999px;
  background: #ffffff;
  border: 1px solid #e7edef;
  color: #4a5862;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: -0.2px;
  text-decoration: none;
  transition: transform 0.18s ease, border-color 0.18s, color 0.18s, background 0.18s;
}
.nt-share__btn:hover {
  transform: translateY(-1px);
  border-color: #1A2A33;
  color: #1A2A33;
  background: #f7fafb;
}
.nt-share__btn .ico { font-size: 14px; }
.nt-share__btn--copy.is-copied {
  background: #1A2A33;
  color: #fff !important;
  border-color: #1A2A33;
}
@media (max-width: 600px) {
  .nt-share { flex-direction: column; align-items: flex-start; gap: 10px; margin: 28px 0; }
  .nt-share__label::after { display: none; }
  .nt-share__buttons { width: 100%; gap: 6px; }
  .nt-share__btn { flex: 1; justify-content: center; }
}

/* ============================================================
 * NEWTEETH — Doctor Recommended-For Section
 * ============================================================ */
.nt-rec {
  padding: 100px 24px;
  background: #fff;
  font-family: var(--saeyi-font-body);
  color: var(--saeyi-text);
}
.nt-rec__inner { max-width: 920px; margin: 0 auto; }
.nt-rec__header { text-align: center; margin-bottom: 48px; }
.nt-rec__eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  font-size: 12px;
  letter-spacing: 4px;
  font-weight: 800;
  color: var(--saeyi-primary);
  margin-bottom: 16px;
}
.nt-rec__eyebrow::before, .nt-rec__eyebrow::after {
  content: ''; width: 28px; height: 1px;
  background: var(--saeyi-primary); opacity: 0.5;
}
.nt-rec__title {
  font-size: var(--saeyi-fs-h2);
  font-weight: 800;
  letter-spacing: -0.025em;
  line-height: 1.25;
  margin: 0;
  color: var(--saeyi-text);
}
.nt-rec__list {
  list-style: none; padding: 0; margin: 0;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px 28px;
}
.nt-rec__item {
  display: flex;
  align-items: flex-start;
  gap: 14px;
  padding: 16px 0;
  border-bottom: 1px solid var(--saeyi-line);
  font-size: 16px;
  line-height: 1.6;
  color: var(--saeyi-text-soft);
  letter-spacing: -0.01em;
}
.nt-rec__check {
  flex-shrink: 0;
  width: 28px;
  height: 28px;
  border-radius: 50%;
  background: rgba(0, 0, 0, 0.06);
  color: var(--saeyi-primary);
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.nt-rec__check svg { width: 16px; height: 16px; }
.nt-rec__text strong { color: var(--saeyi-text); font-weight: 800; }
@media (max-width: 768px) {
  .nt-rec { padding: 70px 20px; }
  .nt-rec__list { grid-template-columns: 1fr; gap: 0; }
  .nt-rec__item { font-size: 15px; padding: 14px 0; }
}

/* ============================================================
 * NEWTEETH — Doctor Cases Section
 * ============================================================ */
.nt-cases {
  padding: 100px 24px;
  background: linear-gradient(180deg, #fbfcfd 0%, #f3f6f8 100%);
  font-family: var(--saeyi-font-body);
}
.nt-cases__inner { max-width: 1100px; margin: 0 auto; }
.nt-cases__header { text-align: center; margin-bottom: 48px; }
.nt-cases__eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  font-size: 12px;
  letter-spacing: 4px;
  font-weight: 800;
  color: var(--saeyi-primary);
  margin-bottom: 16px;
}
.nt-cases__eyebrow::before, .nt-cases__eyebrow::after {
  content: ''; width: 28px; height: 1px;
  background: var(--saeyi-primary); opacity: 0.5;
}
.nt-cases__title {
  font-size: var(--saeyi-fs-h2);
  font-weight: 800;
  letter-spacing: -0.025em;
  margin: 0 0 12px;
  color: var(--saeyi-text);
}
.nt-cases__sub {
  font-size: 14px;
  color: var(--saeyi-text-muted);
  margin: 0;
}
.nt-cases__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
}
.nt-case {
  background: #fff;
  border: 1px solid var(--saeyi-line);
  border-radius: var(--saeyi-radius-lg);
  padding: 28px 24px;
  display: flex;
  flex-direction: column;
  gap: 12px;
  transition: transform 0.32s cubic-bezier(0.22,0.61,0.36,1), border-color 0.3s, box-shadow 0.3s;
}
.nt-case:hover {
  transform: translateY(-4px);
  border-color: rgba(0, 0, 0, 0.22);
  box-shadow: var(--saeyi-shadow-md);
}
.nt-case__num {
  font-family: var(--saeyi-font-serif);
  font-size: 13px;
  font-style: italic;
  font-weight: 600;
  color: var(--saeyi-primary);
  letter-spacing: 1.5px;
}
.nt-case__title {
  font-size: 17px;
  font-weight: 800;
  letter-spacing: -0.018em;
  line-height: 1.4;
  color: var(--saeyi-text);
  margin: 0;
}
.nt-case__desc {
  font-size: 14px;
  line-height: 1.7;
  color: var(--saeyi-text-soft);
  margin: 0;
  flex: 1;
}
.nt-case__outcome {
  background: var(--saeyi-bg-soft);
  border-radius: 8px;
  padding: 12px 14px;
  font-size: 13px;
  line-height: 1.6;
  color: var(--saeyi-text);
}
.nt-case__outcome strong {
  display: inline-block;
  font-size: 11px;
  letter-spacing: 1px;
  color: var(--saeyi-primary);
  margin-right: 6px;
  font-weight: 800;
}
@media (max-width: 1024px) {
  .nt-cases__grid { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 720px) {
  .nt-cases { padding: 70px 20px; }
  .nt-cases__grid { grid-template-columns: 1fr; }
  .nt-case { padding: 22px 18px; }
}

/* ============================================================
 * NEWTEETH — Doctor Co-Duo (부자 협진) Cross-link
 * ============================================================ */
.nt-coduo {
  padding: 100px 24px;
  background: #fff;
  font-family: var(--saeyi-font-body);
}
.nt-coduo__inner { max-width: 980px; margin: 0 auto; }
.nt-coduo__header { text-align: center; margin-bottom: 48px; }
.nt-coduo__eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  font-size: 11px;
  letter-spacing: 2.5px;
  font-weight: 800;
  color: #1A1A1A;
  margin-bottom: 16px;
  text-transform: uppercase;
}
.nt-coduo__eyebrow::before, .nt-coduo__eyebrow::after {
  content: ''; width: 28px; height: 1px;
  background: #C4C4C4; opacity: 1;
}
.nt-coduo__title {
  font-size: var(--saeyi-fs-h2);
  font-weight: 800;
  letter-spacing: -0.025em;
  line-height: 1.25;
  margin: 0 0 14px;
  color: #1A1A1A;
}
.nt-coduo__sub {
  font-size: 16px;
  color: #4A4A4A;
  max-width: 640px;
  margin: 0 auto;
  line-height: 1.7;
  word-break: keep-all;
}
.nt-coduo__cards {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
}
.nt-coduo__card {
  display: flex;
  align-items: center;
  gap: 18px;
  padding: 26px 24px 24px;
  background: #fff;
  border: 1px solid #E5E5E5;
  border-radius: 8px;
  text-decoration: none;
  transition: transform 0.2s, border-color 0.2s, background 0.2s;
  position: relative;
}
.nt-coduo__card:hover {
  transform: translateY(-2px);
  border-color: #1A1A1A;
  background: #FAFAFA;
  box-shadow: none;
}
/* 현재 페이지 카드만 라벨 자리 확보 */
.nt-coduo__card--current {
  background: #FAFAFA;
  border-color: #1A1A1A;
  padding-top: 30px;
}
.nt-coduo__card--current::before {
  content: '현재 보고 계신 페이지';
  position: absolute;
  top: 12px;
  right: 16px;
  background: #1A1A1A;
  color: #fff;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 0.5px;
  padding: 3px 9px;
  border-radius: 999px;
  line-height: 1.4;
}
.nt-coduo__avatar {
  flex-shrink: 0;
  width: 64px;
  height: 64px;
  border-radius: 50%;
  background-size: cover;
  background-position: center 22%;
  border: 1px solid #E5E5E5;
  box-shadow: none;
}
.nt-coduo__meta {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 6px;
  min-width: 0;
  line-height: 1.3;
}
.nt-coduo__meta small {
  display: block;
  font-size: 10.5px;
  letter-spacing: 1.5px;
  font-weight: 800;
  color: #8A8A8A;
  text-transform: uppercase;
  line-height: 1.2;
  margin-bottom: 2px;
}
.nt-coduo__meta strong {
  display: block;
  font-size: 17px;
  font-weight: 800;
  letter-spacing: -0.015em;
  color: #1A1A1A;
  line-height: 1.2;
}
.nt-coduo__meta span {
  display: block;
  font-size: 13px;
  color: #4A4A4A;
  letter-spacing: -0.005em;
  line-height: 1.4;
  margin-top: 2px;
}
.nt-coduo__arrow {
  flex-shrink: 0;
  font-size: 20px;
  color: #8A8A8A;
  transition: transform 0.2s ease, color 0.2s;
}
.nt-coduo__card:hover .nt-coduo__arrow {
  color: #1A1A1A;
  transform: translateX(4px);
}
@media (max-width: 720px) {
  .nt-coduo { padding: 70px 20px; }
  .nt-coduo__cards { grid-template-columns: 1fr; }
  .nt-coduo__card { padding: 18px 20px; }
  .nt-coduo__avatar { width: 60px; height: 60px; }
  .nt-coduo__meta strong { font-size: 16px; }
}

/* ============================================================
 * NEWTEETH — Universal Hero CTA Bar
 *   모든 sub 페이지 hero 하단에 동일 패턴 CTA
 *   1차: 전화 (브랜드 짙은남)
 *   2차: 카톡 / 네이버 (보조)
 * ============================================================ */
.nt-hero-cta {
  display: inline-flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 24px;
  font-family: var(--saeyi-font-display);
}
.nt-hero-cta__primary,
.nt-hero-cta__secondary {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 14px 24px;
  border-radius: 999px;
  font-size: 15px;
  font-weight: 800;
  letter-spacing: -0.02em;
  text-decoration: none;
  transition: transform 0.18s ease, box-shadow 0.25s ease, background 0.25s;
  white-space: nowrap;
}
.nt-hero-cta__primary {
  background: linear-gradient(135deg, #1A2A33 0%, #243946 100%);
  color: #fff !important;
  box-shadow: 0 8px 22px rgba(26, 42, 51, 0.28);
}
.nt-hero-cta__primary:hover {
  transform: translateY(-2px);
  box-shadow: 0 12px 28px rgba(26, 42, 51, 0.36);
}
.nt-hero-cta__secondary {
  background: #fff;
  color: #1A2A33 !important;
  border: 1px solid var(--saeyi-line);
  box-shadow: var(--saeyi-shadow-sm);
}
.nt-hero-cta__secondary:hover {
  transform: translateY(-2px);
  border-color: var(--saeyi-primary);
  color: var(--saeyi-primary) !important;
}
.nt-hero-cta .ico {
  font-size: 16px;
  line-height: 1;
}
/* 페이지 종류별 컨텍스트 — dark hero 위에 올라갈 때 */
.press-hero .nt-hero-cta__secondary,
.doc-hero__copy[data-dark] .nt-hero-cta__secondary {
  background: rgba(255, 255, 255, 0.96);
}

@media (max-width: 540px) {
  .nt-hero-cta {
    width: 100%;
    flex-direction: column;
  }
  .nt-hero-cta__primary,
  .nt-hero-cta__secondary {
    justify-content: center;
    width: 100%;
  }
}

/* ============================================================
 * NEWTEETH — Service 페이지 (bus01/bus02) Enhancements
 *   • 시술 프로세스 6단계
 *   • 정직한 가격 정책 카드
 *   • FAQ (details/summary 네이티브)
 * ============================================================ */
.nt-svc {
  font-family: var(--saeyi-font-body);
  background: linear-gradient(180deg, #fbfcfd 0%, #f3f6f8 100%);
  padding: 100px 24px;
  border-top: 1px solid var(--saeyi-line);
}
.nt-svc__inner {
  max-width: 1080px;
  margin: 0 auto 80px;
}
.nt-svc__inner:last-child { margin-bottom: 0; }
.nt-svc__header {
  text-align: center;
  margin-bottom: 48px;
}
.nt-svc__eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  font-size: 12px;
  letter-spacing: 4px;
  font-weight: 800;
  color: var(--saeyi-primary);
  margin-bottom: 16px;
}
.nt-svc__eyebrow::before, .nt-svc__eyebrow::after {
  content: '';
  width: 28px; height: 1px;
  background: var(--saeyi-primary);
  opacity: 0.5;
}
.nt-svc__title {
  font-size: var(--saeyi-fs-h2);
  font-weight: 800;
  letter-spacing: -0.025em;
  line-height: 1.25;
  margin: 0 0 12px;
  color: var(--saeyi-text);
}
.nt-svc__sub {
  font-size: 16px;
  color: var(--saeyi-text-soft);
  margin: 0;
}

/* ── Process Steps ── */
.nt-step-list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
}
.nt-step {
  position: relative;
  padding: 28px 24px;
  background: var(--saeyi-card);
  border: 1px solid var(--saeyi-line);
  border-radius: var(--saeyi-radius-lg);
  transition: transform 0.32s cubic-bezier(0.22,0.61,0.36,1), border-color 0.3s, box-shadow 0.3s;
}
.nt-step:hover {
  transform: translateY(-4px);
  border-color: rgba(0, 0, 0, 0.22);
  box-shadow: var(--saeyi-shadow-md);
}
.nt-step__num {
  display: inline-block;
  font-family: var(--saeyi-font-serif);
  font-size: 28px;
  font-style: italic;
  font-weight: 600;
  color: var(--saeyi-primary);
  letter-spacing: -0.02em;
  margin-bottom: 12px;
  line-height: 1;
}
.nt-step__name {
  font-size: 19px;
  font-weight: 800;
  letter-spacing: -0.018em;
  margin: 0 0 8px;
  color: var(--saeyi-text);
}
.nt-step__desc {
  font-size: 14px;
  line-height: 1.65;
  color: var(--saeyi-text-soft);
  letter-spacing: -0.005em;
  margin: 0;
}

/* ── Honest Pricing Card ── */
.nt-svc__pricing {
  display: flex;
  justify-content: center;
}
.nt-pricing-card {
  width: 100%;
  max-width: 720px;
  padding: 36px 32px;
  border-radius: var(--saeyi-radius-lg);
  background: linear-gradient(135deg, #1A2A33 0%, #243946 100%);
  color: #fff;
  text-align: center;
  box-shadow: 0 24px 48px -16px rgba(26, 42, 51, 0.32);
}
.nt-pricing-card__eyebrow {
  display: inline-block;
  font-size: 12px;
  letter-spacing: 3px;
  font-weight: 800;
  color: var(--saeyi-primary);
  margin-bottom: 12px;
}
.nt-pricing-card__title {
  font-size: 24px;
  font-weight: 800;
  letter-spacing: -0.022em;
  margin: 0 0 16px;
  color: #fff;
}
.nt-pricing-card__body {
  font-size: 15px;
  line-height: 1.75;
  color: rgba(255,255,255,0.85);
  margin: 0 0 24px;
}
.nt-pricing-card__body strong { color: var(--saeyi-primary); font-weight: 800; }
.nt-pricing-card__btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 14px 28px;
  border-radius: 999px;
  background: var(--saeyi-primary);
  color: #1A2A33 !important;
  font-weight: 800;
  font-size: 15px;
  text-decoration: none;
  letter-spacing: -0.012em;
  transition: transform 0.2s ease, background 0.25s;
}
.nt-pricing-card__btn:hover {
  background: #fff;
  transform: translateY(-2px);
}

/* ── FAQ (네이티브 details) ── */
.nt-faq {
  max-width: 760px;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.nt-faq__item {
  border: 1px solid var(--saeyi-line);
  border-radius: 12px;
  background: var(--saeyi-card);
  overflow: hidden;
  transition: border-color 0.25s, box-shadow 0.25s;
}
.nt-faq__item[open] {
  border-color: rgba(0, 0, 0, 0.22);
  box-shadow: var(--saeyi-shadow-sm);
}
.nt-faq__q {
  list-style: none;
  cursor: pointer;
  padding: 18px 24px;
  font-size: 15px;
  font-weight: 700;
  color: var(--saeyi-text);
  display: flex;
  justify-content: space-between;
  align-items: center;
  letter-spacing: -0.012em;
  position: relative;
  -webkit-user-select: none;
  user-select: none;
}
.nt-faq__q::-webkit-details-marker { display: none; }
.nt-faq__q::after {
  content: '+';
  font-size: 22px;
  font-weight: 400;
  color: var(--saeyi-primary);
  transition: transform 0.3s ease;
  line-height: 1;
}
.nt-faq__item[open] .nt-faq__q::after {
  transform: rotate(45deg);
}
.nt-faq__a {
  padding: 0 24px 20px;
  font-size: 14.5px;
  line-height: 1.75;
  color: var(--saeyi-text-soft);
  letter-spacing: -0.005em;
}

/* 모바일 */
@media (max-width: 768px) {
  .nt-svc { padding: 70px 20px; }
  .nt-svc__inner { margin-bottom: 56px; }
  .nt-step-list { grid-template-columns: 1fr 1fr; gap: 10px; }
  .nt-step { padding: 22px 18px; }
  .nt-step__num { font-size: 22px; margin-bottom: 8px; }
  .nt-step__name { font-size: 16px; }
  .nt-step__desc { font-size: 13px; }
  .nt-pricing-card { padding: 28px 22px; }
  .nt-pricing-card__title { font-size: 20px; }
  .nt-pricing-card__body { font-size: 14px; }
  .nt-pricing-card__btn { padding: 13px 22px; font-size: 14px; }
  .nt-faq__q { padding: 16px 20px; font-size: 14.5px; }
  .nt-faq__a { padding: 0 20px 18px; font-size: 14px; }
}
@media (max-width: 480px) {
  .nt-step-list { grid-template-columns: 1fr; }
}

/* ============================================================
 * NEWTEETH — 홈 Hero Trust Strip
 *   hero subtitle 직후 3-pill 신뢰 메시지
 *   30년 임상 · 박사 협진 · 평생 주치의
 *   • 데스크탑: 가로 3-pill
 *   • 모바일: 세로 3-pill
 * ============================================================ */
#nt-home-trust {
  display: flex;
  gap: 16px;
  margin-top: 36px;
  flex-wrap: wrap;
  font-family: var(--saeyi-font-display);
  animation: ntTrustRise 1s cubic-bezier(0.22, 0.61, 0.36, 1) 1.6s both;
}
@keyframes ntTrustRise {
  0%   { opacity: 0; transform: translateY(20px); }
  100% { opacity: 1; transform: translateY(0); }
}
.nt-trust-pill {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 12px 18px;
  background: rgba(255, 255, 255, 0.08);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  border: 1px solid rgba(255, 255, 255, 0.18);
  border-radius: 999px;
  color: #fff;
  transition: background 0.3s ease, border-color 0.3s ease, transform 0.3s ease;
}
.nt-trust-pill:hover {
  background: rgba(255, 255, 255, 0.14);
  border-color: rgba(0, 0, 0, 0.6);
  transform: translateY(-2px);
}
.nt-trust-pill__num {
  font-size: 24px;
  font-weight: 800;
  letter-spacing: -0.02em;
  color: var(--saeyi-primary, #1A1A1A);
  line-height: 1;
  white-space: nowrap;
}
.nt-trust-pill__num sup {
  font-size: 13px;
  font-weight: 600;
  margin-left: 2px;
  vertical-align: top;
}
.nt-trust-pill__label {
  font-size: 14px;
  font-weight: 700;
  letter-spacing: -0.012em;
  color: #fff;
  white-space: nowrap;
}
/* 기본 hero 가 dark-bg 가 아닌 경우 fallback */
body:not([data-midnight="dark"]) #nt-home-trust .nt-trust-pill {
  background: #ffffff;
  color: var(--saeyi-text);
  border-color: var(--saeyi-line);
  box-shadow: var(--saeyi-shadow-sm);
}
body:not([data-midnight="dark"]) #nt-home-trust .nt-trust-pill__label {
  color: var(--saeyi-text);
}

@media (max-width: 768px) {
  #nt-home-trust {
    gap: 8px;
    margin-top: 24px;
  }
  .nt-trust-pill {
    padding: 10px 14px;
  }
  .nt-trust-pill__num { font-size: 20px; }
  .nt-trust-pill__label { font-size: 12.5px; }
}

/* ============================================================
 * NEWTEETH — 홈 NOTICE 4-카드 위계
 *   • 모든 카드: 깔끔한 hover lift
 *   • press03 (이벤트 / 5월 상담) 카드: 시각 강조
 *     — 미트 액센트 보더
 *     — 살짝 더 큰 scale
 *     — "EVENT 진행중" 뱃지
 * ============================================================ */
/* 4 카드 공통 — 호버 lift */
body .wpb_column:has(> .vc_column-inner > a.column-link[href*="/press0"]) {
  transition: transform 0.32s cubic-bezier(0.22, 0.61, 0.36, 1) !important;
}
body .wpb_column:has(> .vc_column-inner > a.column-link[href*="/press0"]):hover {
  transform: translateY(-6px);
}
body .wpb_column:has(> .vc_column-inner > a.column-link[href*="/press0"]) .vc_column-inner {
  transition: box-shadow 0.32s ease, border-color 0.32s ease;
}
body .wpb_column:has(> .vc_column-inner > a.column-link[href*="/press0"]):hover .vc_column-inner {
  box-shadow: 0 18px 38px rgba(26, 42, 51, 0.12);
}

/* [rollback] press03 EVENT 강조/뱃지 — 사용자 요청으로 비활성화
   기본 hover lift만 유지, scale·boder·EVENT·pulse 모두 OFF */

/* ============================================================
 * NEWTEETH — 워드프레스 블로그 잔재 정리
 *   bus01·bus02 같은 서비스 페이지에 "By mwpdemo31161" / 날짜 /
 *   댓글 수 / 작성자 바이오 같은 블로그 메타가 노출되는 문제 차단
 * ============================================================ */
body #single-below-header,
body #author-bio,
body .meta-author,
body .meta-date,
body .meta-comment-count,
body .single-meta-bottom,
body .blog-archive-header .post-meta,
body .post-area .meta-author,
body .post-area .meta-date,
body .post-area .meta-comment-count {
  display: none !important;
}
/* 작성자 링크 (혹시 다른 곳에 노출 시) */
body a[href*="/author/mwpdemo31161"] {
  display: none !important;
}

/* ============================================================
 * NEWTEETH — 의사 사진 얼굴 보정 (잘림 방지)
 *   • 모든 의사 사진은 얼굴이 상단 1/3 영역에 위치
 *   • inline background-position 보다 우선해야 하므로 !important
 * ============================================================ */
/* 인라인 background-image 가 doctors/ 파일을 가리키는 모든 요소 */
[style*="doctors/sangho"],
[style*="doctors/minje"],
[style*='doctors/sangho'],
[style*='doctors/minje'] {
  background-position: center 18% !important;
}

/* doc-hero 좌측 사진 — 머리 위 약간의 헤드룸 */
body .saeyi-doctor .doc-hero__image {
  background-position: center 12% !important;
}

/* doc-gallery 셀 — 포트레이트 얼굴 보호 */
body .saeyi-doctor .doc-gallery__cell {
  background-position: center 22% !important;
}

/* WordPress row-bg / column-image-bg 가 doctor 사진일 때 */
.row-bg.using-image[style*="doctors/"],
.column-image-bg[style*="doctors/"] {
  background-position: center 18% !important;
}

/* ============================================================
 * NEWTEETH — 전문 진료 분야 (Specialties) 리뉴얼
 *   • 섹션 헤더에 eyebrow + 장식선
 *   • 카드: 아이콘 / 넘버링 / 태그 / 자세히 보기 링크
 *   • 첫 카드(대표 진료) featured 강조
 *   • 호버 시 상단 액센트 스트라이프 + 부드러운 lift
 * ============================================================ */
body .saeyi-doctor .nt-specs {
  position: relative;
  background:
    radial-gradient(80% 60% at 50% 0%, rgba(0, 0, 0, 0.03), transparent 70%),
    linear-gradient(180deg, #fbfcfd 0%, #f3f6f8 100%) !important;
  overflow: hidden;
}
body .saeyi-doctor .nt-specs::before {
  content: '';
  position: absolute;
  inset: 0;
  background-image:
    radial-gradient(circle at 1px 1px, rgba(26, 42, 51, 0.05) 1px, transparent 1px);
  background-size: 28px 28px;
  opacity: 0.55;
  pointer-events: none;
  mask-image: linear-gradient(180deg, transparent, #000 25%, #000 75%, transparent);
  -webkit-mask-image: linear-gradient(180deg, transparent, #000 25%, #000 75%, transparent);
}
body .saeyi-doctor .nt-specs .doc-specs__inner {
  position: relative;
  z-index: 1;
  max-width: 1180px !important;
}
body .saeyi-doctor .nt-specs .doc-specs__header {
  text-align: center;
  margin-bottom: 60px;
}
body .saeyi-doctor .nt-specs .doc-specs__eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  font-size: 12px;
  letter-spacing: 4px;
  font-weight: 700;
  color: var(--saeyi-primary);
  margin-bottom: 18px;
}
body .saeyi-doctor .nt-specs .doc-specs__eyebrow::before,
body .saeyi-doctor .nt-specs .doc-specs__eyebrow::after {
  content: '';
  width: 28px;
  height: 1px;
  background: var(--saeyi-primary);
  opacity: 0.5;
}
body .saeyi-doctor .nt-specs .doc-specs__sub {
  margin-bottom: 0 !important;
}

body .saeyi-doctor .nt-specs .doc-specs__grid {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 20px !important;
}
@media (max-width: 1024px) {
  body .saeyi-doctor .nt-specs .doc-specs__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}
@media (max-width: 560px) {
  body .saeyi-doctor .nt-specs .doc-specs__grid {
    grid-template-columns: 1fr !important;
  }
}

body .saeyi-doctor .nt-specs .doc-spec {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: stretch;
  text-align: left !important;
  padding: 32px 26px 28px !important;
  background: #fff !important;
  border: 1px solid #e5e9ec !important;
  border-radius: 16px !important;
  box-shadow: 0 1px 0 rgba(26, 42, 51, 0.02) !important;
  overflow: hidden;
  transition:
    transform 0.4s cubic-bezier(0.22, 0.61, 0.36, 1),
    border-color 0.3s,
    box-shadow 0.4s !important;
}
body .saeyi-doctor .nt-specs .doc-spec::before {
  content: '';
  position: absolute;
  left: 0; right: 0; top: 0;
  height: 3px;
  background: linear-gradient(90deg, var(--saeyi-primary), #888888);
  transform: scaleX(0);
  transform-origin: left center;
  transition: transform 0.5s cubic-bezier(0.22, 0.61, 0.36, 1);
}
body .saeyi-doctor .nt-specs .doc-spec:hover {
  transform: translateY(-6px) !important;
  border-color: rgba(0, 0, 0, 0.6) !important;
  box-shadow: 0 24px 48px -20px rgba(26, 42, 51, 0.18) !important;
}
body .saeyi-doctor .nt-specs .doc-spec:hover::before {
  transform: scaleX(1);
}

body .saeyi-doctor .nt-specs .doc-spec__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 18px;
}
body .saeyi-doctor .nt-specs .doc-spec__num {
  font-family: var(--saeyi-font-serif) !important;
  font-size: 26px !important;
  font-style: italic !important;
  font-weight: 600 !important;
  color: var(--saeyi-primary) !important;
  letter-spacing: -0.02em !important;
  line-height: 1 !important;
  margin-bottom: 0 !important;
}
body .saeyi-doctor .nt-specs .doc-spec__badge {
  display: inline-flex;
  align-items: center;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.4px;
  color: var(--saeyi-primary);
  background: rgba(0, 0, 0, 0.06);
  border-radius: 999px;
  padding: 5px 10px;
  line-height: 1;
}

body .saeyi-doctor .nt-specs .doc-spec__icon {
  width: 56px;
  height: 56px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 14px;
  background: linear-gradient(135deg, rgba(0, 0, 0, 0.07), rgba(0, 0, 0, 0.02));
  color: var(--saeyi-primary);
  margin-bottom: 18px;
  transition: background 0.3s, color 0.3s, transform 0.5s cubic-bezier(0.22, 0.61, 0.36, 1);
}
body .saeyi-doctor .nt-specs .doc-spec__icon svg {
  width: 28px;
  height: 28px;
  display: block;
}
body .saeyi-doctor .nt-specs .doc-spec:hover .doc-spec__icon {
  background: var(--saeyi-primary);
  color: #fff;
  transform: rotate(-4deg) scale(1.04);
}

body .saeyi-doctor .nt-specs .doc-spec__name {
  font-family: var(--saeyi-font-display) !important;
  font-size: 20px !important;
  font-weight: 800 !important;
  letter-spacing: -0.022em !important;
  color: var(--saeyi-text) !important;
  margin: 0 0 8px 0 !important;
  line-height: 1.3 !important;
}
body .saeyi-doctor .nt-specs .doc-spec__desc {
  font-size: 14px !important;
  line-height: 1.65 !important;
  color: var(--saeyi-text-soft) !important;
  letter-spacing: -0.005em !important;
  margin: 0 0 18px 0 !important;
  flex: 1;
}

body .saeyi-doctor .nt-specs .doc-spec__tag {
  display: inline-flex;
  align-items: center;
  align-self: flex-start;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.3px;
  color: var(--saeyi-text);
  background: #f3f6f8;
  border: 1px solid #e5e9ec;
  border-radius: 6px;
  padding: 5px 10px;
  margin-bottom: 18px;
  line-height: 1;
}

body .saeyi-doctor .nt-specs .doc-spec__more {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.2px;
  color: var(--saeyi-text);
  text-decoration: none;
  border-bottom: 0;
  padding-top: 14px;
  border-top: 1px solid #eef1f3;
  transition: color 0.25s, gap 0.3s;
}
body .saeyi-doctor .nt-specs .doc-spec__more-arrow {
  display: inline-block;
  transition: transform 0.35s cubic-bezier(0.22, 0.61, 0.36, 1);
}
body .saeyi-doctor .nt-specs .doc-spec:hover .doc-spec__more {
  color: var(--saeyi-primary);
  gap: 10px;
}
body .saeyi-doctor .nt-specs .doc-spec:hover .doc-spec__more-arrow {
  transform: translateX(4px);
}

/* Featured (대표 진료) — 첫 카드 강조 */
body .saeyi-doctor .nt-specs .doc-spec--featured {
  background:
    linear-gradient(180deg, #ffffff 0%, #f4fbfc 100%) !important;
  border-color: rgba(0, 0, 0, 0.15) !important;
  box-shadow: 0 8px 24px -16px rgba(0, 0, 0, 0.18) !important;
}
body .saeyi-doctor .nt-specs .doc-spec--featured::before {
  transform: scaleX(1);
}
body .saeyi-doctor .nt-specs .doc-spec--featured .doc-spec__icon {
  background: var(--saeyi-primary);
  color: #fff;
}

/* Mobile tweaks */
@media (max-width: 768px) {
  body .saeyi-doctor .nt-specs .doc-specs__header {
    margin-bottom: 40px;
  }
  body .saeyi-doctor .nt-specs .doc-spec {
    padding: 26px 22px 24px !important;
  }
  body .saeyi-doctor .nt-specs .doc-spec__icon {
    width: 48px; height: 48px;
  }
  body .saeyi-doctor .nt-specs .doc-spec__icon svg {
    width: 24px; height: 24px;
  }
}


/* ============================================================
 * NEWTEETH — 의료법 의무 표기 푸터 (다크 / 무채색)
 * ============================================================ */
.saeyi-footer {
  background: #111111;
  color: #B0B0B0;
  padding: 64px 24px 28px;
  font-family: var(--saeyi-font-body), 'Pretendard', 'Noto Sans KR', -apple-system, sans-serif;
  margin-top: 80px;
  font-size: 13px;
  line-height: 1.6;
}
.saeyi-footer__inner {
  max-width: 1200px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1.4fr 1.8fr 1fr 1fr;
  gap: 40px;
}
.saeyi-footer__brand { display: flex; flex-direction: column; gap: 14px; }
.saeyi-footer__logo {
  width: 140px;
  height: auto;
  filter: brightness(0) invert(1);
  opacity: 0.92;
}
.saeyi-footer__tagline {
  font-size: 12.5px;
  color: #888;
  line-height: 1.65;
  margin: 0;
  letter-spacing: -0.1px;
}
.saeyi-footer h4 {
  color: #fff;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  margin: 0 0 16px;
  padding-bottom: 10px;
  border-bottom: 1px solid #2a2a2a;
}
.saeyi-footer__info dl {
  margin: 0;
  display: grid;
  grid-template-columns: 96px 1fr;
  gap: 8px 16px;
  font-size: 12.5px;
  line-height: 1.55;
}
.saeyi-footer__info dt { color: #777; font-weight: 500; }
.saeyi-footer__info dd { margin: 0; color: #d4d4d4; }
.saeyi-footer__info dd a {
  color: #d4d4d4;
  text-decoration: none;
  border-bottom: 1px solid transparent;
  transition: border-color 0.18s, color 0.18s;
}
.saeyi-footer__info dd a:hover { color: #fff; border-bottom-color: #fff; }
.saeyi-footer__hours dl {
  margin: 0;
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: baseline;
  row-gap: 10px;
  column-gap: 16px;
  font-size: 12.5px;
  line-height: 1.55;
}
.saeyi-footer__hours dt {
  margin: 0;
  color: #777;
  font-weight: 500;
}
.saeyi-footer__hours dd {
  margin: 0;
  text-align: right;
  color: #d4d4d4;
  font-variant-numeric: tabular-nums;
}
.saeyi-footer__hours dd.closed { color: #888; }
.saeyi-footer__links ul {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 9px;
}
.saeyi-footer__links a {
  color: #d4d4d4;
  font-size: 13px;
  text-decoration: none;
  transition: color 0.18s;
}
.saeyi-footer__links a:hover { color: #fff; }
.saeyi-footer__bottom {
  max-width: 1200px;
  margin: 48px auto 0;
  padding-top: 24px;
  border-top: 1px solid #2a2a2a;
  font-size: 11.5px;
  color: #666;
  line-height: 1.7;
}
.saeyi-footer__copyright { margin: 0 0 8px; color: #888; letter-spacing: -0.1px; }
.saeyi-footer__notice {
  margin: 0;
  font-size: 11px;
  color: #555;
  letter-spacing: -0.1px;
  max-width: 920px;
}
@media (max-width: 900px) {
  .saeyi-footer__inner { grid-template-columns: 1fr 1fr; gap: 32px; }
}
@media (max-width: 600px) {
  .saeyi-footer { padding: 48px 20px 24px; margin-top: 60px; }
  .saeyi-footer__inner { grid-template-columns: 1fr; gap: 28px; }
  .saeyi-footer__info dl { grid-template-columns: 88px 1fr; }
  .saeyi-footer h4 { margin-bottom: 12px; }
}

/* ============================================================
 * Landing refinement — hero brand signal + mobile conversion polish
 * ============================================================ */
body.home .nt-landing-hero {
  max-width: 760px;
}

body.home .nt-landing-hero,
body.home .nt-landing-hero * {
  font-family: var(--saeyi-font-body) !important;
}

body.home .nt-hero-kicker {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 18px;
  padding: 7px 13px;
  border: 1px solid rgba(255, 255, 255, 0.5);
  border-radius: 999px;
  color: rgba(255, 255, 255, 0.92);
  font-family: var(--saeyi-font-body);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.13em;
  line-height: 1;
  text-transform: uppercase;
  backdrop-filter: blur(10px);
  background: rgba(10, 18, 24, 0.16);
  text-shadow: none;
}

body.home .nt-hero-actions {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-top: 30px;
}

body.home .nt-hero-action {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 46px;
  padding: 0 20px;
  border-radius: 999px;
  font-family: var(--saeyi-font-body);
  font-size: 14px;
  font-weight: 800;
  line-height: 1;
  text-decoration: none;
  letter-spacing: -0.01em;
  transition: transform 0.18s ease, background 0.18s ease, color 0.18s ease;
}

body.home .nt-hero-action:hover {
  transform: translateY(-1px);
}

body.home .nt-hero-action--primary {
  background: #fff;
  color: #14242d;
  box-shadow: 0 12px 28px rgba(0, 0, 0, 0.18);
}

body.home .nt-hero-action--secondary {
  color: #fff;
  border: 1px solid rgba(255, 255, 255, 0.58);
  background: rgba(255, 255, 255, 0.08);
}

body.home .nectar-slider-wrap .swiper-slide::before {
  background: linear-gradient(
    100deg,
    rgba(8, 16, 22, 0.62) 0%,
    rgba(8, 16, 22, 0.36) 35%,
    rgba(8, 16, 22, 0.12) 68%,
    rgba(8, 16, 22, 0) 100%
  );
}

body.home .nectar-slider-wrap .swiper-slide .image-bg,
body.home .nectar-slider-wrap .swiper-slide .slide-bg-wrap .image-bg {
  filter: blur(5px) saturate(0.96) brightness(0.96) contrast(1.04) !important;
  transform: scale(1.045) !important;
}

/* Doctor tabs: preserve the active pill contrast after legacy styles. */
body .saeyi-doctor .doc-subnav a.active {
  background: #14242d !important;
  color: #fff !important;
  border-radius: 999px !important;
}

body .saeyi-doctor .doc-subnav a.active::after {
  display: none !important;
}

/* Service/recruitment landing pages */
body.postid-839 .container-wrap.no-sidebar,
body.postid-734 .container-wrap.no-sidebar,
body.page-id-44 .nt-recruit-wrap {
  padding: 0 !important;
  background: #fff;
}

body.postid-839 .container-wrap.no-sidebar .container.main-content,
body.postid-734 .container-wrap.no-sidebar .container.main-content {
  max-width: none !important;
  width: 100% !important;
  padding: 0 !important;
}

body.postid-839 .post-area,
body.postid-734 .post-area,
body.postid-839 .content-inner,
body.postid-734 .content-inner {
  max-width: none !important;
  width: 100% !important;
  padding: 0 !important;
}

body.postid-839 .blog_next_prev_buttons,
body.postid-734 .blog_next_prev_buttons,
body.postid-839 .comments-section,
body.postid-734 .comments-section,
body.postid-839 .nectar-social.fixed,
body.postid-734 .nectar-social.fixed {
  display: none !important;
}

.nt-service-lp,
.nt-hire-lp {
  --nt-ink: #14242d;
  --nt-muted: #5d6a70;
  --nt-line: rgba(20, 36, 45, 0.12);
  --nt-soft: #f4f7f5;
  --nt-accent: #5d7d70;
  --nt-warm: #b87055;
  background: #fff;
  color: var(--nt-ink);
  font-family: 'Pretendard', 'Noto Sans KR', -apple-system, BlinkMacSystemFont, system-ui, sans-serif;
  word-break: keep-all;
}

.nt-lp-hero {
  position: relative;
  min-height: 680px;
  display: flex;
  align-items: center;
  overflow: hidden;
  background:
    linear-gradient(96deg, rgba(8, 18, 24, 0.84) 0%, rgba(8, 18, 24, 0.58) 44%, rgba(8, 18, 24, 0.12) 100%),
    var(--nt-lp-bg) center center / cover no-repeat;
}

.nt-service-lp--implant .nt-lp-hero {
  background:
    linear-gradient(96deg, rgba(8, 18, 24, 0.88) 0%, rgba(8, 18, 24, 0.60) 42%, rgba(8, 18, 24, 0.12) 100%),
    var(--nt-lp-bg) 74% center / cover no-repeat;
}

.nt-lp-hero--hire {
  background:
    linear-gradient(96deg, rgba(8, 18, 24, 0.82) 0%, rgba(8, 18, 24, 0.50) 46%, rgba(8, 18, 24, 0.10) 100%),
    var(--nt-lp-bg) right center / cover no-repeat;
}

.nt-lp-hero__inner,
.nt-lp-section,
.nt-lp-section__inner,
.nt-lp-cta {
  width: min(1180px, calc(100% - 48px));
  margin: 0 auto;
}

.nt-lp-hero__inner {
  padding: 150px 0 110px;
  color: #fff;
}

.nt-lp-kicker,
.nt-lp-eyebrow {
  margin: 0 0 18px;
  color: var(--nt-accent);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.nt-lp-hero .nt-lp-kicker {
  display: inline-flex;
  padding: 8px 12px;
  border: 1px solid rgba(255, 255, 255, 0.28);
  border-radius: 999px;
  color: #fff;
  background: rgba(255, 255, 255, 0.10);
}

.nt-lp-title {
  max-width: 880px;
  margin: 0;
  color: #fff !important;
  font-size: clamp(44px, 5vw, 76px);
  line-height: 1.16;
  font-weight: 900;
  letter-spacing: 0;
}

.nt-lp-sub {
  max-width: 680px;
  margin: 24px 0 0;
  color: rgba(255, 255, 255, 0.88);
  font-size: 19px;
  line-height: 1.72;
}

.nt-lp-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 36px;
}

.nt-lp-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 52px;
  padding: 0 22px;
  border-radius: 999px;
  font-size: 15px;
  font-weight: 800;
  line-height: 1.2;
  text-decoration: none !important;
  transition: transform 0.18s ease, box-shadow 0.18s ease, background 0.18s ease;
}

.nt-lp-btn:hover,
.nt-lp-btn:focus {
  transform: translateY(-1px);
}

.nt-lp-btn--primary {
  background: var(--nt-ink);
  color: #fff !important;
  box-shadow: 0 16px 34px rgba(20, 36, 45, 0.22);
}

.nt-lp-hero .nt-lp-btn--primary {
  background: #fff;
  color: var(--nt-ink) !important;
}

.nt-lp-btn--ghost {
  color: #fff !important;
  border: 1px solid rgba(255, 255, 255, 0.54);
  background: rgba(255, 255, 255, 0.08);
}

.nt-lp-section {
  padding: 104px 0;
}

.nt-lp-section--soft {
  width: 100%;
  max-width: none;
  padding: 104px 0;
  background: var(--nt-soft);
}

.nt-lp-section--benefits {
  width: 100%;
  max-width: none;
  padding: 104px max(24px, calc((100vw - 1180px) / 2));
  background: #fbfcfb;
}

.nt-lp-section__head {
  max-width: 790px;
  margin-bottom: 42px;
}

.nt-lp-section__head h2,
.nt-lp-split h2,
.nt-lp-cta h2 {
  margin: 0;
  color: var(--nt-ink);
  font-size: clamp(30px, 3vw, 46px);
  line-height: 1.25;
  font-weight: 900;
  letter-spacing: 0;
}

.nt-lp-section__head p:not(.nt-lp-eyebrow),
.nt-lp-split p,
.nt-lp-cta p {
  color: var(--nt-muted);
  font-size: 17px;
  line-height: 1.75;
}

.nt-lp-grid {
  display: grid;
  gap: 18px;
}

.nt-lp-grid--4 {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.nt-lp-card,
.nt-lp-step {
  min-width: 0;
  border: 1px solid var(--nt-line);
  border-radius: 8px;
  background: #fff;
}

.nt-lp-card {
  padding: 28px 24px 26px;
}

.nt-lp-card span,
.nt-lp-step span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  margin-bottom: 22px;
  border-radius: 50%;
  color: #fff;
  background: var(--nt-accent);
  font-size: 13px;
  font-weight: 900;
}

.nt-lp-card h3,
.nt-lp-step h3 {
  margin: 0 0 12px;
  color: var(--nt-ink);
  font-size: 20px;
  line-height: 1.35;
  font-weight: 900;
  letter-spacing: 0;
}

.nt-lp-card p,
.nt-lp-step p {
  margin: 0;
  color: var(--nt-muted);
  font-size: 15.5px;
  line-height: 1.68;
}

.nt-lp-benefits .nt-lp-card {
  background: linear-gradient(180deg, #fff 0%, #f7faf8 100%);
}

.nt-lp-benefits .nt-lp-card span {
  background: var(--nt-ink);
}

.nt-lp-split {
  display: grid;
  grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
  gap: 72px;
  align-items: start;
}

.nt-lp-checks {
  display: grid;
  gap: 14px;
}

.nt-lp-checks p {
  margin: 0;
  padding: 22px 24px;
  border-left: 4px solid var(--nt-accent);
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 12px 28px rgba(20, 36, 45, 0.06);
}

.nt-lp-checks strong {
  color: var(--nt-ink);
}

.nt-lp-process {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 16px;
}

.nt-lp-step {
  padding: 28px 22px 26px;
  background: linear-gradient(180deg, #fff 0%, #f8faf9 100%);
}

.nt-lp-cta {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 32px;
  align-items: center;
  margin-bottom: 104px;
  padding: 42px;
  border-radius: 8px;
  background: linear-gradient(135deg, #14242d 0%, #203740 58%, #5d7d70 100%);
  color: #fff;
}

.nt-lp-cta .nt-lp-eyebrow,
.nt-lp-cta h2,
.nt-lp-cta p {
  color: #fff !important;
}

.nt-lp-cta p {
  margin-bottom: 0;
  color: rgba(255, 255, 255, 0.82) !important;
}

.nt-lp-cta .nt-lp-btn--primary {
  background: #fff;
  color: var(--nt-ink) !important;
  white-space: nowrap;
}

.nt-service-lp--laser .nt-lp-card span,
.nt-service-lp--laser .nt-lp-step span,
.nt-service-lp--laser {
  --nt-accent: #b87055;
}

.nt-hire-lp {
  --nt-accent: #5d7d70;
}

@media (max-width: 768px) {
  body.home #header-outer #logo img,
  body.home #top #logo img,
  body.home img[src*="saeyi_logo_horizontal"] {
    height: 40px !important;
    max-height: 40px !important;
    max-width: 154px !important;
    width: auto !important;
  }

  body.home #header-outer header .container {
    padding-left: 22px !important;
    padding-right: 22px !important;
  }

  body.home .nectar-slider-wrap .swiper-slide::before {
    background: linear-gradient(
      180deg,
      rgba(8, 16, 22, 0.30) 0%,
      rgba(8, 16, 22, 0.24) 32%,
      rgba(8, 16, 22, 0.58) 100%
    );
  }

  body.home .nectar-slider-wrap .swiper-slide .image-bg,
  body.home .nectar-slider-wrap .swiper-slide .slide-bg-wrap .image-bg {
    background-position: 58% center !important;
    filter: blur(4px) saturate(0.98) brightness(0.98) contrast(1.02) !important;
    transform: scale(1.035) !important;
  }

  body.home .nectar-slider-wrap .swiper-slide .content {
    top: 43% !important;
    width: calc(100vw - 42px) !important;
    max-width: 340px !important;
    left: 50% !important;
    transform: translate(-50%, -43%) translateZ(0) !important;
    text-align: center !important;
  }

  body.home .nt-hero-kicker {
    margin-bottom: 16px;
    padding: 7px 11px;
    font-size: 10px;
    letter-spacing: 0.09em;
  }

  body.home .nectar-slider-wrap .swiper-slide .content h2,
  body.home .nectar-slider-wrap .ns-heading-el {
    font-size: clamp(30px, 8.8vw, 38px) !important;
    line-height: 1.22 !important;
    letter-spacing: -0.03em !important;
    margin-bottom: 16px !important;
  }

  body.home .nectar-slider-wrap .swiper-slide .content p,
  body.home .nectar-slider-wrap .swiper-slide .content p span {
    font-size: 14.5px !important;
    line-height: 1.65 !important;
  }

  body.home .nt-hero-actions {
    display: none;
  }

  #saeyi-phone-fab {
    display: none !important;
  }

  body .saeyi-bottom-bar {
    min-height: 64px;
    background: rgba(255, 255, 255, 0.96);
    backdrop-filter: blur(14px);
    box-shadow: 0 -8px 24px rgba(12, 24, 32, 0.12);
  }

  body .saeyi-bottom-bar a {
    display: flex;
    min-width: 0;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 9px 0 8px;
    font-size: 12px;
    letter-spacing: -0.02em;
  }

  body .saeyi-bottom-bar a:first-child {
    color: #fff;
    background: #14242d;
  }

  body .saeyi-bottom-bar a .ico {
    margin-bottom: 3px;
    font-size: 17px;
    line-height: 1;
  }

  .nt-lp-hero {
    min-height: 590px;
    align-items: flex-end;
    background:
      linear-gradient(180deg, rgba(8, 18, 24, 0.22) 0%, rgba(8, 18, 24, 0.72) 100%),
      var(--nt-lp-bg) center center / cover no-repeat;
  }

  .nt-service-lp--implant .nt-lp-hero {
    background:
      linear-gradient(180deg, rgba(8, 18, 24, 0.26) 0%, rgba(8, 18, 24, 0.76) 100%),
      var(--nt-lp-bg) 66% center / cover no-repeat;
  }

  .nt-lp-hero__inner,
  .nt-lp-section,
  .nt-lp-section__inner,
  .nt-lp-cta {
    width: min(100% - 36px, 1180px);
  }

  .nt-lp-hero__inner {
    padding: 128px 0 54px;
  }

  .nt-lp-title {
    max-width: 100%;
    font-size: clamp(32px, 9vw, 42px);
    line-height: 1.22;
  }

  .nt-lp-sub {
    margin-top: 18px;
    font-size: 15px;
    line-height: 1.68;
  }

  .nt-lp-actions {
    gap: 9px;
    margin-top: 26px;
  }

  .nt-lp-btn {
    width: 100%;
    min-height: 50px;
    padding: 0 16px;
    font-size: 14px;
  }

  .nt-lp-section,
  .nt-lp-section--soft {
    padding: 68px 0;
  }

  .nt-lp-section--benefits {
    padding: 68px 18px;
  }

  .nt-lp-section__head {
    margin-bottom: 28px;
  }

  .nt-lp-section__head h2,
  .nt-lp-split h2,
  .nt-lp-cta h2 {
    font-size: clamp(26px, 7.4vw, 34px);
    line-height: 1.3;
  }

  .nt-lp-section__head p:not(.nt-lp-eyebrow),
  .nt-lp-split p,
  .nt-lp-cta p {
    font-size: 15px;
    line-height: 1.68;
  }

  .nt-lp-grid--4,
  .nt-lp-process,
  .nt-lp-split,
  .nt-lp-cta {
    grid-template-columns: 1fr;
  }

  .nt-lp-card,
  .nt-lp-step,
  .nt-lp-checks p {
    padding: 22px 20px;
  }

  .nt-lp-card span,
  .nt-lp-step span {
    margin-bottom: 16px;
  }

  .nt-lp-card h3,
  .nt-lp-step h3 {
    font-size: 18px;
  }

  .nt-lp-cta {
    gap: 22px;
    margin-bottom: 88px;
    padding: 30px 22px;
  }

  .nt-lp-cta .nt-lp-btn--primary {
    white-space: normal;
  }
}
