:root { --navy-950: #05142d; --navy-900: #071a38; --navy-800: #0b2a54; --blue-700: #1554d1; --blue-600: #2d6bea; --blue-100: #eaf1ff; --ice: #f3f7fd; --white: #fff; --ink: #101828; --muted: #5d6b7e; --line: #dfe7f2; --accent: #ff7b32; --accent-dark: #e75d15; --danger: #ef4454; --shadow: 0 22px 54px rgba(13, 35, 70, .12); --radius-lg: 28px; --radius-md: 18px; --container: 1180px; }
*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 110px; }
body { margin: 0; color: var(--ink); background: var(--white); font-family: "Noto Sans KR", Pretendard, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; font-size: 16px; line-height: 1.7; word-break: keep-all; overflow-x: hidden; }
body.menu-open { overflow: hidden; }
a { color: inherit; text-decoration: none; }
button { font: inherit; }
img { display: block; max-width: 100%; }
.container { width: min(calc(100% - 40px), var(--container)); margin: 0 auto; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
.skip-link { position: fixed; left: 16px; top: -80px; z-index: 9999; padding: 12px 18px; color: #fff; background: var(--navy-950); border-radius: 8px; }
.skip-link:focus { top: 16px; }
.urgent-bar { color: #fff; background: var(--navy-950); font-size: .9rem; }
.urgent-bar__inner { min-height: 40px; display: flex; align-items: center; justify-content: center; gap: 9px; }
.urgent-bar__pulse { width: 8px; height: 8px; border-radius: 50%; background: #ff8b57; box-shadow: 0 0 0 5px rgba(255,123,50,.17); flex-shrink: 0; animation: urgent-pulse 1.6s ease-in-out infinite; }
.urgent-bar__link { margin-left: 12px; color: #ffd1b7; font-weight: 700; text-decoration: underline; text-underline-offset: 3px; }
.site-header { position: sticky; top: 0; z-index: 1000; height: 82px; background: rgba(255,255,255,.94); border-bottom: 1px solid rgba(214,224,238,.85); backdrop-filter: blur(16px); transition: box-shadow .25s ease; }
.site-header.is-scrolled { box-shadow: 0 10px 35px rgba(5,20,45,.1); }
.site-header__inner { height: 100%; display: flex; align-items: center; gap: 34px; }
.brand { display: inline-flex; align-items: center; gap: 11px; flex: 0 0 auto; }
.brand__mark { display: grid; place-items: center; width: 40px; height: 40px; color: #fff; background: linear-gradient(145deg, var(--blue-600), var(--navy-800)); border-radius: 13px 4px 13px 4px; font-size: 1.35rem; font-weight: 700; box-shadow: 0 8px 18px rgba(21,84,209,.22); }
.brand__text { display: grid; line-height: 1.15; }
.brand__text strong { font-size: 1.05rem; letter-spacing: -.04em; }
.brand__text small { margin-top: 5px; color: var(--blue-700); font-size: .61rem; font-weight: 700; letter-spacing: .12em; }
.main-nav { display: flex; align-items: center; justify-content: center; gap: 30px; margin-left: auto; }
.main-nav a { position: relative; padding: 27px 0; color: #344054; font-size: .94rem; font-weight: 700; }
.main-nav a::after { content: ""; position: absolute; left: 50%; bottom: 17px; width: 0; height: 2px; background: var(--blue-600); transform: translateX(-50%); transition: width .2s ease; }
.main-nav a:hover, .main-nav a.is-active { color: var(--blue-700); }
.main-nav a:hover::after, .main-nav a.is-active::after { width: 100%; }
.header-call { display: inline-flex; align-items: center; gap: 6px; padding: 11px 18px; color: #fff; background: var(--accent); border-radius: 999px; font-size: .9rem; font-weight: 700; box-shadow: 0 9px 20px rgba(231,93,21,.24); transition: transform .2s ease, background .2s ease; }
.header-call span { padding: 2px 7px; color: var(--accent-dark); background: #fff; border-radius: 999px; font-size: .67rem; letter-spacing: .03em; }
.header-call:hover { background: var(--accent-dark); transform: translateY(-2px); }
.menu-toggle { display: none; width: 44px; height: 44px; padding: 11px; border: 0; background: transparent; }
.menu-toggle span:not(.sr-only) { display: block; height: 2px; margin: 5px 0; background: var(--navy-900); transition: transform .2s, opacity .2s; }
.hero { position: relative; min-height: 100vh; display: flex; align-items: center; overflow: hidden; isolation: isolate; background: url("../img/main_img001.jpg") center center / cover no-repeat; }
.hero::before { content: ""; display: block !important; position: absolute; inset: 0; z-index: 0; background: rgb(15 48 101 / 20%); pointer-events: none; }
.hero__content { width: min(960px, 100%); color: #fff; }
.hero__eyebrow { display: inline-flex; align-items: center; gap: 7px; padding: 7px 13px; margin-bottom: 26px; background: rgba(255,255,255,.1); border: 1px solid rgba(255,255,255,.2); border-radius: 999px; font-size: .86rem; font-weight: 700; backdrop-filter: blur(8px); }
.hero__eyebrow span { color: #ffc3a1; font-size: 1rem; font-weight: 700; }
.hero__kicker { margin: 0 0 10px; color: #f1ba9b; font-size: .95rem; font-weight: 700; letter-spacing: .07em; }
.hero h1 { margin: 0; font-size: 60px; line-height: 1.19; text-shadow: 0 2px 8px rgb(0 0 0 / 2%), 0 6px 20px rgba(0, 0, 0, .15); }
.hero h1 em { color: #fff; font-style: normal; color:#ff7b32; text-shadow:0 12px 28px rgb(231 93 21 / 4%); }
.hero h1 em::after { content: ""; display: block; width: 120px; height: 5px; margin-top: 22px; background: linear-gradient(90deg, var(--accent), rgba(255,123,50,0)); border-radius: 999px; }
.hero__summary { max-width: 590px; margin: 26px 0 0; color: rgba(255,255,255,.78); font-size: 1.07rem; line-height: 1.85; }
.hero__actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 34px; }
.button { display: inline-flex; min-height: 54px; align-items: center; justify-content: center; gap: 22px; padding: 13px 24px; border: 1px solid transparent; border-radius: 12px; font-weight: 700; transition: transform .2s ease, background .2s ease, border-color .2s ease; }
.button:hover { transform: translateY(-2px); }
.button--accent { color: #fff; background: var(--accent); box-shadow: 0 12px 28px rgba(231,93,21,.28); }
.button--accent:hover { background: var(--accent-dark); }
.button--ghost { color: #fff; border-color: rgba(255,255,255,.36); background: rgba(255,255,255,.07); }
.button--ghost:hover { background: rgba(255,255,255,.14); }
.hero__phone { display: flex; align-items: baseline; gap: 13px; margin: 24px 0 0; }
.hero__phone span { color: rgba(255,255,255,.55); font-size: .85rem; }
.hero__phone strong { font-size: 1.1rem; letter-spacing: .02em; }
/* 메인 배경 이미지 슬라이드 */

.hero { background: #0f3065; }
.hero__slides { position: absolute; inset: 0; z-index: 0; overflow: hidden; pointer-events: none; }
.hero__slide { position: absolute; inset: 0; background-position: center center; background-size: cover; background-repeat: no-repeat; opacity: 0; }
.hero__slide.is-active { opacity: 1; }
.hero__slide--01 { background-image: url("../img/main_img001.png"); }
.hero__slide--02 { background-image: url("../img/main_img002.png"); }
.hero__slide--03 { background-image: url("../img/main_img003.png"); }
.hero__slide--04 { background-image: url("../img/main_img004.png"); }
.hero__track { display: flex; width: 100%; height: 100%; transition: transform .8s cubic-bezier(.25,.1,.25,1); will-change: transform; }
.hero__track > .hero__slide { position: relative; inset: auto; flex: 0 0 100%; width: 100%; height: 100%; opacity: 1; transition: none; }
.hero::before { z-index: 1; }
.hero__inner { position: relative; z-index: 2; transform: translateY(-150px);}

/* 메인 슬라이드 페이지 버튼 */
.hero__dots { position: absolute; left: 50%; bottom: 34px; z-index: 3; display: flex; align-items: center; gap: 0; transform: translateX(-50%); }
.hero__dot { display: inline-flex; align-items: center; justify-content: center; flex-shrink: 0; width: 17px; height: 32px; margin: 0; padding: 0; border: 0; border-radius: 999px; background: transparent; appearance: none; cursor: pointer; transition: width .25s ease; }
.hero__dot::before { content: ""; display: block; width: 8px; height: 8px; box-sizing: border-box; border: 1px solid rgba(255,255,255,.75); border-radius: 999px; background: rgba(255,255,255,.35); transform: none; transition: width .25s ease, background .25s ease, border-color .25s ease; }
.hero__dot:hover::before { background: rgba(255,255,255,.8); }
.hero__dot.is-active { width: 38px; }
.hero__dot.is-active::before { width: 24px; background: #788cc3e8; border-color: #788cc3e8; transform: none; }
.hero__dot:focus-visible { outline: 2px solid #fff; outline-offset: 2px; }

@media (max-width: 767px) {
  .hero__dots { bottom: 22px; }
 .hero__content { position: relative; top: 130px; }
}

@media (max-width: 767px) {
  .hero__slide--01 { background-image: url("../img/main_img001_m.png"); }
  .hero__slide--02 { background-image: url("../img/main_img002_m.png"); }
  .hero__slide--03 { background-image: url("../img/main_img003_m.png"); }
  .hero__slide--04 { background-image: url("../img/main_img004_m.png"); }
}
@media (prefers-reduced-motion: reduce) {
  .hero__track { transition-duration: .01ms; }
  .hero__dot { transition: none; }
  .hero__dot::before { transition: none; }
}


/* 메인 하단 진료 안내 */
.hero-benefits { position: absolute; right: 0; bottom: 180px; left: 0; z-index: 2; width: calc(100% - 48px); max-width: 1200px; margin: 0 auto; padding: 24px 18px; border: 1px solid #edf0f4; border-radius: 18px; background: #fff; box-shadow: 0 12px 28px rgba(10,27,51,.14); }
.hero-benefits, .hero-benefits * { box-sizing: border-box; }
.hero-benefits__list { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); margin: 0; padding: 0; list-style: none; }
.hero-benefits__item { position: relative; display: flex; flex-direction: column; align-items: center; justify-content: center; min-width: 0; padding: 0 14px; text-align: center; word-break: keep-all; }
.hero-benefits__item + .hero-benefits__item::before { content: ""; position: absolute; top: 8px; bottom: 8px; left: 0; width: 1px; background: #edf0f5; }
.hero-benefits__icon { display: flex; align-items: center; justify-content: center; width: 34px; height: 34px; margin-bottom: 9px; }
.hero-benefits__icon svg { display: block; width: 100%; height: 100%; }
.hero-benefits__icon--red { color: #ec4055; }
.hero-benefits__icon--navy { color: #163763; }
.hero-benefits__icon--gold { color: #eab000; }
.hero-benefits__icon--green { color: #24bb65; }
.hero-benefits__title { margin: 0; color: #172337; font-size: 16px; font-weight: 700; line-height: 1.4; letter-spacing: -.035em; }
.hero-benefits__highlight { margin: 5px 0 0; color: #2159e8; font-size: 22px; font-weight: 800; line-height: 1.4; letter-spacing: -.045em; }
.hero-benefits__description { margin: 5px 0 0; color: #667085; font-size: 13px; font-weight: 400; line-height: 1.5; letter-spacing: -.035em; }

@media (max-width: 1024px) {
  .hero-benefits { padding: 22px 10px; }
  .hero-benefits__item { padding: 0 10px; }
  .hero-benefits__title { font-size: 14px; }
  .hero-benefits__highlight { font-size: 19px; }
  .hero-benefits__description { font-size: 12px; }
}

@media (max-width: 767px) {
  .hero-benefits { bottom: 68px; width: calc(100% - 32px); padding: 8px 12px; border-radius: 16px; display: none;}
  .hero-benefits__list { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .hero-benefits__item { padding: 15px 6px; }
  .hero-benefits__item + .hero-benefits__item::before { display: none; }
  .hero-benefits__item:nth-child(even)::before { display: block; top: 16px; bottom: 16px; }
  .hero-benefits__item:nth-child(n+3) { border-top: 1px solid #edf0f5; }
  .hero-benefits__icon { width: 29px; height: 29px; margin-bottom: 7px; }
  .hero-benefits__title { font-size: 13px; }
  .hero-benefits__highlight { margin-top: 4px; font-size: 17px; }
  .hero-benefits__description { margin-top: 4px; font-size: 11px; }
}

@media (max-width: 374px) {
  .hero { padding-bottom: 400px; }
  .hero-benefits { width: calc(100% - 24px); padding: 8px; }
  .hero-benefits__title { font-size: 12px; }
  .hero-benefits__highlight { font-size: 15px; }
  .hero-benefits__description { font-size: 10px; }
}

.section { padding: 124px 0; }
.section--pale { background: var(--ice); }
.section--navy { position: relative; color: #fff; background: var(--navy-900); overflow: hidden; }
.section--navy::before { content: ""; position: absolute; right: -180px; top: -220px; width: 620px; height: 620px; border: 100px solid rgba(45,107,234,.08); border-radius: 50%; }
.section-heading { margin-bottom: 54px; }
.section-heading--center { max-width: 760px; margin-left: auto; margin-right: auto; text-align: center; }
.section-heading--light { color: #fff; }
.section-heading__eyebrow { margin: 0 0 13px; color: var(--blue-600); font-size: .78rem; font-weight: 700; letter-spacing: .16em; }
.section-heading h2 { margin: 0; font-size: clamp(2rem, 4vw, 3.15rem); line-height: 1.35; letter-spacing: -.055em; }
.section-heading > p:last-child { margin: 17px auto 0; color: var(--muted); }
.section-heading--light .section-heading__eyebrow { color: #8fb4ff; }
.section-heading--light > p:last-child { color: rgba(255,255,255,.62); }
.strength-card { position: relative; display: flex; flex-direction: column; justify-content: flex-end; min-height: 270px; padding: 34px; overflow: hidden; background: #fff; border: 1px solid #e7edf6; border-radius: var(--radius-md); box-shadow: 0 14px 34px rgba(13,35,70,.06); transition: transform .25s ease, box-shadow .25s ease; }
.strength-card:hover { transform: translateY(-5px); box-shadow: 0 22px 48px rgba(13,35,70,.11); }
.strength-card h3 { margin: 22px 0 8px; font-size: 1.35rem; letter-spacing: -.04em; }
.strength-card p { margin: 0; color: var(--muted); }

.medical-note { margin: 60px 0 0; color: var(--muted); font-size: .88rem; text-align: center; }

.brand img{display:block;width:180px;height:auto;}


@media (max-width: 900px) {

  .medical-note{ padding:40px 20px; font-size:10px;}
}



.integra-metrics-table-wrap { width:100%; margin-top:30px; overflow-x:auto; }

.integra-metrics-table { width:100%; border-collapse:collapse; table-layout:fixed; background:#fff; }

.integra-metrics-table th { padding:17px 12px; border:1px solid #dfe5ed; background:#f3f6fa; color:#17365d; font-size:16px; font-weight:700; text-align:center; }

.integra-metrics-table td { padding:20px 12px; border:1px solid #dfe5ed; color:#333; font-size:16px; font-weight:500; line-height:1.5; text-align:center; word-break:keep-all; }


@media (max-width:640px) {

  .integra-metrics-table { min-width:600px; }

  .integra-metrics-table th { padding:14px 10px; font-size:14px; }

  .integra-metrics-table td { padding:17px 10px; font-size:14px; }

}




/* ========================================
   요로결석 진료 사례
======================================== */

.reviews-head { display:flex; justify-content:space-between; align-items:flex-end; gap:40px; margin-bottom:64px; }

.reviews-head__text { max-width:700px; }

.reviews-head__text h2 { margin:0; font-size:clamp(2rem,4vw,3.15rem); line-height:1.35; letter-spacing:-.055em; }

.reviews-head__text > p:last-child { margin:16px 0 0; color:var(--muted); line-height:1.8; }

.reviews-slider { position:relative; }

.reviews-viewport { width:100%; overflow:hidden; padding:50px 0; }

.reviews-track { display:flex; gap:20px; transition:transform .55s cubic-bezier(.25,.8,.25,1); will-change:transform; }


/* 사례 카드 */
.review-card { position:relative; flex:0 0 calc((100% - 40px) / 3); min-width:0; min-height:310px; padding:36px 34px; overflow:hidden; background:#fff; border:1px solid #e7edf6; border-radius:var(--radius-md); box-shadow:0 14px 34px rgba(13,35,70,.06); }

.review-card .section-heading__eyebrow { display:flex; align-items:flex-start; min-height:42px; margin:0 0 18px; line-height:1.55; }

.review-card h3 { margin:0 0 18px; color:#111827; font-size:1.35rem; font-weight:700; line-height:1.45; letter-spacing:-.04em; word-break:keep-all; }

.review-card__text { display:-webkit-box; min-height:57px; margin:0; overflow:hidden; color:var(--muted); font-size:.98rem; line-height:1.85; word-break:keep-all; -webkit-box-orient:vertical; -webkit-line-clamp:2; }


/* 실제 후기 문장이 아닌 디자인용 블러 영역 */
.review-card__blur { position:relative; margin-top:7px; padding-top:5px; overflow:hidden; opacity:.7; }

.review-card__blur span { display:block; height:10px; margin-bottom:11px; border-radius:20px; background:#d9dee6; filter:blur(3.5px); }

.review-card__blur span:nth-child(1) { width:96%; }

.review-card__blur span:nth-child(2) { width:87%; }

.review-card__blur span:nth-child(3) { width:62%; }

.review-card__blur::after { content:""; position:absolute; left:0; right:0; bottom:-8px; height:50px; background:linear-gradient(to bottom,rgba(255,255,255,0),#fff); pointer-events:none; }

@keyframes urgent-pulse {
  0%, 100% { opacity: .65; box-shadow: 0 0 0 3px rgba(255,123,50,.12); }
  50% { opacity: 1; box-shadow: 0 0 0 6px rgba(255,123,50,.22), 0 0 12px rgba(255,139,87,.55); }
}

@media (prefers-reduced-motion: reduce) {
  .urgent-bar__pulse { animation: none; }
}


/* 슬라이드 컨트롤 */
.reviews-control { display:flex; align-items:center; justify-content:center; gap:25px; margin-top:52px; }

.reviews-arrow { display:flex; align-items:center; justify-content:center; width:38px; height:38px; padding:0; border:0; background:transparent; color:#aeb5bf; font-size:1.8rem; line-height:1; cursor:pointer; transition:color .2s ease,transform .2s ease; }

.reviews-arrow:hover { color:var(--navy-800); transform:scale(1.1); }

.reviews-pagination { display:flex; align-items:center; gap:12px; min-width:62px; color:#c2c7ce; font-size:.95rem; }

.reviews-pagination strong { color:#111; font-size:1rem; }


@media (max-width:1024px) {

  .reviews-head { margin-bottom:45px; }

  .review-card { flex:0 0 calc((100% - 20px) / 2); }

}


@media (max-width:640px) {

  .reviews-head { margin-bottom:30px; }

  .reviews-viewport { padding:30px 0; }

  .reviews-track { gap:14px; }

  .review-card { flex:0 0 88%; min-height:285px; padding:29px 25px; }

  .review-card .section-heading__eyebrow { min-height:auto; margin-bottom:14px; }

  .review-card h3 { margin-bottom:14px; font-size:1.18rem; }

  .review-card__text { min-height:53px; font-size:.92rem; line-height:1.8; }

  .review-card__blur { margin-top:18px; }

  .review-card__blur span { height:9px; margin-bottom:10px; }

  .reviews-control { margin-top:30px; }

}


/* ========================================
   유웰비뇨의학과 학술 & 연구활동
======================================== */

.academic-section { padding:110px 0 120px; background:#15243d; color:#fff; }
.academic-section * { box-sizing:border-box; }
.academic-container { width:calc(100% - 64px); max-width:1440px; margin:0 auto; }
.academic-heading { margin-bottom:60px; text-align:center; }
.academic-eyebrow { margin:0 0 18px; color:#61799b; font-size:13px; font-weight:600; line-height:1.5; letter-spacing:3px; }
.academic-heading h2 { margin:0; color:#fff; font-size:46px; font-weight:600; line-height:1.3; letter-spacing:-2.5px; word-break:keep-all; }
.academic-list { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:28px; }
.academic-item { position:relative; isolation:isolate; display:flex; align-items:flex-end; min-width:0; min-height:245px; aspect-ratio:16 / 9; overflow:hidden; border-radius:20px; background:#243244; box-shadow:0 3px 8px rgba(15,30,50,.13); }
.academic-image { position:absolute; inset:0; z-index:-2; overflow:hidden; }
.academic-image img { display:block; width:100%; height:100%; object-fit:cover; object-position:center; transition:transform .65s ease; }
.academic-item::after { content:""; position:absolute; inset:0; z-index:-1; background:linear-gradient(180deg,rgba(0,0,0,.02) 10%,rgba(0,0,0,.16) 35%,rgba(0,0,0,.65) 72%,rgba(0,0,0,.83) 100%); pointer-events:none; }
.academic-content { width:100%; padding:27px; text-align:left; }
.academic-content h3 { margin:0; color:#fff; font-size:21px; font-weight:700; line-height:1.4; letter-spacing:-.8px; word-break:keep-all; overflow-wrap:anywhere; text-shadow:0 1px 5px rgba(0,0,0,.18); }
.academic-content p { margin:9px 0 0; color:rgba(255,255,255,.85); font-size:13px; font-weight:400; line-height:1.65; letter-spacing:-.3px; word-break:keep-all; overflow-wrap:anywhere; }

/* 스크롤 등장 효과 */
.academic-item.is-reveal-ready { opacity:0; transform:translateY(32px); transition:opacity .6s ease,transform .6s cubic-bezier(.22,1,.36,1); transition-delay:var(--academic-delay,0ms); }
.academic-item.is-reveal-ready.is-visible { opacity:1; transform:translateY(0); }

@media (hover:hover) and (prefers-reduced-motion:no-preference) {
  .academic-item:hover .academic-image img { transform:scale(1.055); }
}

@media (max-width:1200px) {
  .academic-list { gap:22px; }
  .academic-item { min-width:0; min-height:235px; overflow:hidden; }
  .academic-image { min-width:0; overflow:hidden; }
  .academic-content { min-width:0; padding:22px; }
  .academic-content h3 { font-size:19px; }
}

@media (max-width:1024px) {
  .academic-section { padding:85px 0 95px; }
  .academic-container { width:calc(100% - 40px); }
  .academic-heading { margin-bottom:40px; }
  .academic-heading h2 { font-size:40px; }
  .academic-list { grid-template-columns:repeat(2,minmax(0,1fr)); }
}

@media (max-width:640px) {
  .academic-section { padding:65px 0 75px; }
  .academic-section * { box-sizing:border-box; }
  .academic-container { width:calc(100% - 32px); margin:0 auto; }
  .academic-heading { margin-bottom:32px; }
  .academic-eyebrow { margin-bottom:14px; font-size:10px; letter-spacing:2px; }
  .academic-heading h2 { font-size:30px; line-height:1.4; letter-spacing:-1.5px; }
  .academic-list { display:flex !important; flex-direction:column !important; gap:20px !important; height:auto !important; max-height:none !important; overflow:visible !important; }

  .academic-item,
  .academic-item.is-reveal-ready,
  .academic-item.is-visible { position:relative !important; inset:auto !important; display:block !important; flex:none !important; box-sizing:border-box !important; width:100% !important; min-width:0 !important; height:auto !important; min-height:0 !important; max-height:none !important; aspect-ratio:auto !important; margin:0 !important; padding:0 !important; overflow:hidden !important; border-radius:16px !important; background:#fff !important; opacity:1 !important; visibility:visible !important; transform:none !important; animation:none !important; transition:none !important; }

  .academic-image { position:relative !important; inset:auto !important; display:block !important; float:none !important; width:100% !important; max-width:100% !important; height:auto !important; min-height:0 !important; max-height:none !important; aspect-ratio:auto !important; margin:0 !important; padding:0 !important; overflow:hidden !important; transform:none !important; }

  .academic-image img { position:static !important; display:block !important; width:100% !important; max-width:100% !important; height:auto !important; max-height:none !important; margin:0 !important; object-fit:contain !important; transform:none !important; }

  .academic-content { position:relative !important; inset:auto !important; z-index:2 !important; display:block !important; float:none !important; box-sizing:border-box !important; width:100% !important; min-width:0 !important; height:auto !important; min-height:0 !important; max-height:none !important; margin:0 !important; padding:18px 20px 22px !important; overflow:visible !important; background:#fff !important; color:#15243d !important; opacity:1 !important; visibility:visible !important; transform:none !important; clip-path:none !important; animation:none !important; transition:none !important; }

  .academic-content h3 { position:static !important; display:block !important; height:auto !important; max-height:none !important; margin:0 !important; overflow:visible !important; color:#15243d !important; -webkit-text-fill-color:#15243d !important; font-size:16px !important; font-weight:700 !important; line-height:1.5 !important; white-space:normal !important; word-break:keep-all !important; overflow-wrap:anywhere !important; opacity:1 !important; visibility:visible !important; transform:none !important; }

  .academic-content p { position:static !important; display:block !important; height:auto !important; max-height:none !important; margin:9px 0 0 !important; overflow:visible !important; color:#596579 !important; -webkit-text-fill-color:#596579 !important; font-size:12px !important; line-height:1.75 !important; white-space:normal !important; word-break:keep-all !important; overflow-wrap:anywhere !important; opacity:1 !important; visibility:visible !important; transform:none !important; }

  .academic-content span { color:inherit !important; font-size:inherit !important; }

  .academic-item::before,
  .academic-item::after,
  .academic-content::before,
  .academic-content::after { display:none !important; }
}

@media (prefers-reduced-motion:reduce) {
  .academic-item.is-reveal-ready { opacity:1; transform:none; transition:none; }
  .academic-image img { transition:none; }
}

.process-list { position: relative; z-index: 1; display: grid; grid-template-columns: repeat(4, 1fr); gap: 15px; padding: 0; margin: 64px 0 0; list-style: none; }
.process-list::before { content: ""; position: absolute; left: 8%; right: 8%; top: 44px; z-index: -1; height: 1px; background: rgba(255,255,255,.17); }
.process-item { padding: 0 22px 29px; text-align: center; }
.process-item__num { display: grid; place-items: center; width: 88px; height: 88px; margin: 0 auto 27px; color: #a8c5ff; background: var(--navy-900); border: 1px solid rgba(168,197,255,.55); border-radius: 50%; font-size: 1.2rem; font-weight: 700; }
.process-item--accent .process-item__num { color: #fff; background: var(--accent); border-color: var(--accent); box-shadow: 0 12px 35px rgba(255,123,50,.26); }
.process-item b { font-size: 1.14rem; }
.process-item p { margin: 9px 0 0; color: rgba(255,255,255,.57); font-size: .88rem; line-height: 1.75; }
.treatment-tabs { padding: 20px; background: #fff; border: 1px solid #e1e9f4; border-radius: var(--radius-lg); box-shadow: var(--shadow); }
.tab-list { display: grid; grid-template-columns: repeat(4, 1fr); gap: 8px; padding: 6px; background: var(--ice); border-radius: 15px; }
.tab-list button { min-height: 52px; padding: 10px 14px; color: #64748b; background: transparent; border: 0; border-radius: 11px; font-weight: 700; cursor: pointer; }
.tab-list button:hover { color: var(--blue-700); }
.tab-list button[aria-selected="true"] { color: #fff; background: var(--blue-700); box-shadow: 0 8px 20px rgba(21,84,209,.2); }
.tab-panel { display: grid; grid-template-columns: 130px 1fr 255px; gap: 37px; align-items: center; min-height: 310px; padding: 47px 42px; }
.tab-panel[hidden] { display: none; }
.tab-panel p { margin: 0; color: var(--muted); }
.medical-note { margin: 60px 0 0; color: #778397; font-size: .98rem; text-align: center; }
.integra-treatment { padding: 100px 0; background: #f3f6fc; color: #111827; }
.integra-treatment * { box-sizing: border-box; }
.integra-treatment .container { width: calc(100% - 40px); max-width: 1280px; margin: 0 auto; padding: 0; }
.integra-treatment .integra-card { margin: 0; padding: 20px; overflow: hidden; border: 1px solid #dfe7f3; border-radius: 28px; background: #fff; }
.integra-treatment .tab-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; width: 100%; margin: 0; padding: 6px; border: 0; border-radius: 18px; background: #f3f6fc; }
.integra-treatment .tab-list > button { appearance: none; display: flex; align-items: center; justify-content: center; width: 100%; min-width: 0; min-height: 54px; margin: 0; padding: 14px 18px; border: 0; border-radius: 12px; background: transparent; color: #64748b; font-family: inherit; font-size: 16px; font-weight: 700; line-height: 1.5; text-align: center; white-space: normal; word-break: keep-all; cursor: pointer; box-shadow: none; transition: background-color .2s, color .2s, box-shadow .2s; }
.integra-treatment .tab-list > button::before { content: none; }
.integra-treatment .tab-list > button::after { content: none; }
.integra-treatment .tab-list > button[aria-selected="true"] { background: #1b50d5; color: #fff; box-shadow: 0 8px 20px rgba(27, 80, 213, .18); }
.integra-treatment .tab-list > button[aria-selected="false"]:hover { background: #e7eefb; color: #17375e; }
.integra-treatment .tab-list > button:focus-visible { outline: 3px solid #8caeff; outline-offset: 3px; }
.integra-treatment .tab-panel { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr); align-items: center; gap: 64px; margin: 0; padding: 64px 24px 48px; border: 0; border-radius: 0; background: #fff; }
.integra-treatment .tab-panel[hidden] { display: none !important; }
.integra-treatment .tab-panel > * { min-width: 0; }
.integra-treatment .integra-photo { display: flex; flex-direction: column; justify-content: center; min-height: 320px; margin: 0; padding: 24px; border-radius: 22px; background: #f3f6fc; }
.integra-treatment .integra-photo img { display: block; width: 100%; height: auto; margin: 0; border-radius: 14px; background: #fff; object-fit: contain; }
.integra-treatment .integra-photo figcaption { margin-top: 16px; color: #7087a5; font-size: 13px; line-height: 1.6; text-align: center; word-break: keep-all; }
.integra-treatment .integra-copy { text-align: left; }
.integra-treatment .integra-eyebrow { margin: 0 0 18px; color: #b7b7b7; font-size: 13px; font-weight: 700; line-height: 1.5; letter-spacing: .16em; }
.integra-treatment .integra-copy h2 { margin: 0; color: #111827; font-size: 27px; font-weight: 700; line-height: 1.35; letter-spacing: -.045em; word-break: keep-all; overflow-wrap: break-word; }
.integra-treatment .integra-description { margin: 28px 0 0; color: #667e9d; font-size: 16px; line-height: 1.9; word-break: keep-all; overflow-wrap: break-word; }
.integra-treatment .integra-metrics { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; margin-top: 28px; padding: 26px 0; border-top: 1px solid #d7e2f2; border-bottom: 1px solid #d7e2f2; }
.integra-treatment .integra-metrics strong { display: block; margin-bottom: 10px; color: #17375e; font-size: 17px; font-weight: 700; line-height: 1.5; word-break: keep-all; }
.integra-treatment .integra-metrics span { display: block; color: #7185a0; font-size: 13px; line-height: 1.7; word-break: keep-all; }
.integra-treatment .integra-note { margin: 18px 0 0; color: #7b8899; font-size: 12px; line-height: 1.7; text-align: center; word-break: keep-all; }
@media (max-width:1000px) {
  .integra-treatment { padding: 72px 0; }
  .integra-treatment .tab-panel { gap: 32px; padding: 44px 12px 28px; }
  .integra-treatment .integra-copy h2 { font-size: 32px; }
  .integra-treatment .integra-photo { min-height: 260px; padding: 18px; }
  .integra-treatment .integra-metrics { gap: 12px; }
  .integra-treatment .integra-metrics strong { font-size: 15px; }
}
@media (max-width:760px) {
  .integra-treatment { padding: 56px 0; }
  .integra-treatment .container { width: calc(100% - 32px); }
  .integra-treatment .integra-card { padding: 12px; border-radius: 20px; }
  .integra-treatment .tab-list { gap: 4px; padding: 5px; border-radius: 14px; }
  .integra-treatment .tab-list > button { min-height: 50px; padding: 12px 8px; border-radius: 10px; font-size: 14px; }
  .integra-treatment .tab-panel { grid-template-columns: minmax(0, 1fr); gap: 30px; padding: 28px 8px 20px; }
  .integra-treatment .integra-photo { min-height: 0; padding: 18px; border-radius: 16px; }
  .integra-treatment .integra-copy h2 { font-size: clamp(27px, 6vw, 36px); }
  .integra-treatment .integra-eyebrow { margin-bottom: 12px; font-size: 12px; }
  .integra-treatment .integra-description { margin-top: 20px; font-size: 15px; }
  .integra-treatment .integra-metrics { gap: 10px; margin-top: 24px; padding: 22px 0; }
  .integra-treatment .integra-metrics strong { margin-bottom: 8px; font-size: 14px; }
  .integra-treatment .integra-metrics span { font-size: 12px; }
}
@media (max-width:480px) {
  .integra-treatment .integra-metrics { grid-template-columns: 1fr; }
  .integra-treatment .integra-metrics > div { padding-bottom: 16px; border-bottom: 1px solid #e4eaf2; }
  .integra-treatment .integra-metrics > div:last-child { padding-bottom: 0; border-bottom: 0; }
}

/*특별함*/
.uwell-special{padding:120px 24px;background:#fff;font-family:"Pretendard","Noto Sans KR",sans-serif;color:#182337;overflow:hidden;}
.uwell-special__inner{width:100%;max-width:1280px;margin:0 auto;}
.uwell-special__heading{text-align:center;margin-bottom:48px;}
.uwell-special__eyebrow{margin:0 0 10px;font-size:13px;font-weight: 700;line-height:1.4;letter-spacing:.04em;color:#0099e5;}
.uwell-special__title{margin:0;font-size:36px;font-weight:700;line-height:1.3;letter-spacing:-.045em;color:#182337;}
.uwell-special__title strong{font-weight: 700;color:#0878e8;}
.uwell-special__desc{margin:14px 0 0;font-size:16px;font-weight:400;line-height:1.8;letter-spacing:-.025em;color:#68768a;}
.uwell-special__desc b{font-weight:700;color:#3a475b;}
.uwell-special__emergency{display:flex;align-items:center;justify-content:center;gap:24px;width:100%;margin:0 auto 24px;padding:23px 30px;border:1px solid #dfeaf6;border-radius:16px;background:#f7fbff;box-sizing:border-box;}
.uwell-special__emergency-label{display:flex;align-items:center;gap:8px;flex:none;font-size:12px;font-weight: 700;line-height:1.4;letter-spacing:.03em;color:#0878e8;}
.uwell-special__emergency-dot{display:block;width:8px;height:8px;border-radius:50%;background:#0878e8;box-shadow:0 0 0 5px rgba(8,120,232,.1);}
.uwell-special__emergency p{margin:0;font-size:17px;font-weight:500;line-height:1.7;letter-spacing:-.035em;color:#334157;}
.uwell-special__emergency strong{font-weight: 700;color:#0878e8;}
.uwell-special__grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;}
.uwell-special__card{position:relative;min-height:300px;padding:34px 28px 30px;border:1px solid #e7ecf2;border-radius:16px;background:#f8f9fb;box-sizing:border-box;transition:transform .35s ease,box-shadow .35s ease,border-color .35s ease;}
.uwell-special__card:hover{transform:translateY(-5px);border-color:#d7e4f2;box-shadow:0 16px 35px rgba(25,55,90,.08);}
.uwell-special__icon{display:flex;align-items:center;justify-content:center;width:48px;height:48px;margin-bottom:24px;border-radius:50%;}
.uwell-special__icon svg{width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round;}
.uwell-special__icon--blue{background:#dbeaff;color:#1673ef;}
.uwell-special__icon--sky{background:#daf2ff;color:#009be6;}
.uwell-special__icon--navy{background:#e1e9ff;color:#365bc9;}
.uwell-special__icon--purple{background:#eee1ff;color:#9147e8;}
.uwell-special__number{display:block;margin-bottom:8px;font-size:14px;font-weight: 600;line-height:1.4;color:#7b7b7b;}
.uwell-special__card h3{margin:0 0 14px;font-size:19px;font-weight: 700;line-height:1.5;letter-spacing:-.04em;color:#202c40;}
.uwell-special__card p{margin:0;font-size:14px;font-weight:400;line-height:1.8;letter-spacing:-.025em;color:#69778a;word-break:keep-all;}
.uwell-special__card p strong{font-weight:700;color:#39485d;}
.uwell-reveal{opacity:0;transform:translateY(30px);transition:opacity .75s ease,transform .75s cubic-bezier(.22,1,.36,1);}
.uwell-reveal.is-visible{opacity:1;transform:translateY(0);}
.uwell-reveal-card{opacity:0;transform:translateY(45px);transition:opacity .7s ease,transform .75s cubic-bezier(.22,1,.36,1),box-shadow .35s ease,border-color .35s ease;}
.uwell-reveal-card.is-visible{opacity:1;transform:translateY(0);}
.mobile-br{display:none;}

@media (max-width:1024px){
.uwell-special{padding:90px 24px;}
.uwell-special__grid{grid-template-columns:repeat(2,1fr);}
.uwell-special__card{min-height:280px;}
}

@media (max-width:767px){
.uwell-special{padding:70px 20px;}
.uwell-special__heading{margin-bottom:34px;}
.uwell-special__eyebrow{font-size:11px;}
.uwell-special__title{font-size:27px;line-height:1.35;}
.uwell-special__desc{margin-top:12px;font-size:14px;line-height:1.7;}
.uwell-special__emergency{display:block;margin-bottom:18px;padding:21px 20px;}
.uwell-special__emergency-label{margin-bottom:12px;font-size:10px;}
.uwell-special__emergency p{font-size:15px;line-height:1.65;}
.uwell-special__grid{grid-template-columns:1fr;gap:14px;}
.uwell-special__card{min-height:0;padding:27px 24px 26px;}
.uwell-special__icon{width:44px;height:44px;margin-bottom:20px;}
.uwell-special__icon svg{width:21px;height:21px;}
.uwell-special__number{font-size:12px;}
.uwell-special__card h3{font-size:18px;margin-bottom:10px;}
.uwell-special__card p{font-size:13px;line-height:1.75;}
.mobile-br{display:block;}
}


.doctor-section { overflow: hidden; background: #fff; }
.doctor-slider { position: relative; width: 100%; margin-top: 55px; }
.doctor-slider * { box-sizing: border-box; }
.doctor-slider__top { display: flex; align-items: center; justify-content: flex-end; gap: 20px; margin-bottom: 22px; }
.doctor-slider__count { display: flex; align-items: baseline; gap: 5px; color: #8794a8; font-size: 14px; line-height: 1; }
.doctor-slider__count strong { color: #17375e; font-size: 24px; font-weight: 700; line-height: 1; }
.doctor-slider__count span { position: static; display: inline; width: auto; height: auto; margin: 0; padding: 0; transform: none; }
.doctor-slider__controls { display: flex; align-items: center; gap: 8px; }
.doctor-slider__controls button { appearance: none; position: relative; display: flex; align-items: center; justify-content: center; flex: 0 0 46px; width: 46px; height: 46px; min-width: 46px; margin: 0; padding: 0; overflow: hidden; border: 1px solid #dce4ef; border-radius: 50%; background: #fff; color: #17375e; font-family: inherit; font-size: 20px; font-weight: 400; line-height: 1; text-align: center; text-indent: 0; cursor: pointer; box-shadow: none; transform: none; transition: background-color .2s, color .2s, border-color .2s; }
.doctor-slider__controls button::before { content: none !important; display: none !important; }
.doctor-slider__controls button::after { content: none !important; display: none !important; }
.doctor-slider__controls button > span { position: static !important; display: flex !important; align-items: center; justify-content: center; width: auto !important; height: auto !important; margin: 0 !important; padding: 0 !important; color: inherit; font-size: 20px; font-weight: 400; line-height: 1; transform: none !important; }
.doctor-slider__controls button:hover { border-color: #1b50d5; background: #1b50d5; color: #fff; }
.doctor-slider__controls button:focus-visible { outline: 3px solid #9bb8ff; outline-offset: 3px; }
.doctor-slider__viewport { width: 100%; overflow-x: auto; overflow-y: hidden; scrollbar-width: none; scroll-snap-type: x mandatory; scroll-behavior: smooth; cursor: grab; overscroll-behavior-x: contain; -webkit-overflow-scrolling: touch; padding-top:20px }
.doctor-slider__viewport::-webkit-scrollbar { display: none; }
.doctor-slider__viewport:active { cursor: grabbing; }
.doctor-slider__track { display: flex; align-items: stretch; gap: 14px; width: 100%; min-width: 100%; padding: 0 0 10px; }
.doctor-slide { flex: 0 0 calc((100% - 70px) / 6); width: calc((100% - 70px) / 6); min-width: 0; overflow: hidden; border: 1px solid #e1e8f1; border-radius: 16px; background: #fff; scroll-snap-align: start; scroll-snap-stop: always; transition: transform .25s, border-color .25s, box-shadow .25s; }
.doctor-slide:hover { transform: translateY(-5px); border-color: #b8cae4; box-shadow: 0 15px 35px rgba(18, 45, 81, .1); }
.doctor-slide__photo { position: relative; width: 100%; aspect-ratio: 4 / 5; overflow: hidden; background: linear-gradient(145deg, #edf3fb, #dfe9f7); }
.doctor-slide__photo::after { content: ""; position: absolute; right: 0; bottom: 0; left: 0; height: 35%; background: linear-gradient(to top, rgba(10, 31, 61, .14), transparent); pointer-events: none; }
.doctor-slide__photo img { display: block; width: 100%; height: 100%; margin: 0; object-fit: cover; object-position: center top; transition: transform .4s; }
.doctor-slide:hover .doctor-slide__photo img { transform: scale(1.035); }
.doctor-slide__content { min-height: 94px; padding: 16px 12px 18px; text-align: center; }
.doctor-slide__content small { display: block; margin-bottom: 7px; color: #7185a0; font-size: 11px; line-height: 1.5; word-break: keep-all; }
.doctor-slide__content h3 { margin: 0; color: #172b47; font-size: 17px; font-weight: 700; line-height: 1.4; word-break: keep-all; }
.doctor-slider__progress { position: relative; width: 100%; height: 3px; margin-top: 25px; overflow: hidden; border-radius: 10px; background: #e5ebf3; }
.doctor-slider__progress span { display: block; width: 33.333%; height: 100%; border-radius: 10px; background: #1b50d5; transform: translateX(0); transition: transform .35s ease, width .35s ease; }
@media (max-width:1100px) {
  .doctor-slider__track { gap: 14px; }
  .doctor-slide { flex-basis: calc((100% - 42px) / 4); width: calc((100% - 42px) / 4); }
}
@media (max-width:760px) {
  .doctor-slider { margin-top: 38px; }
  .doctor-slider__top { gap: 15px; margin-bottom: 16px; }
  .doctor-slider__controls { gap: 6px; }
  .doctor-slider__controls button { flex-basis: 42px; width: 42px; height: 42px; min-width: 42px; }
  .doctor-slider__controls button > span { font-size: 18px; }
  .doctor-slider__track { gap: 10px; }
  .doctor-slide { flex-basis: calc((100% - 10px) / 2); width: calc((100% - 10px) / 2); border-radius: 13px; }
  .doctor-slide__content { min-height: 87px; padding: 14px 8px 16px; }
  .doctor-slide__content small { font-size: 10px; }
  .doctor-slide__content h3 { font-size: 16px; }
}
@media (max-width:420px) {
  .doctor-slider__count strong { font-size: 21px; }
  .doctor-slider__controls button { flex-basis: 40px; width: 40px; height: 40px; min-width: 40px; }
}


.emergency-call-popup{display:none;position:fixed;inset:0;z-index:99999;background:rgba(0,0,0,.45);align-items:center;justify-content:center;padding:20px;}
.emergency-call-popup.is-open{display:flex;}
.emergency-call-popup__box{position:relative;width:100%;max-width:360px;background:#fff;border-radius:18px;padding:28px 22px 22px;box-shadow:0 15px 50px rgba(0,0,0,.22);}
.emergency-call-popup__close{position:absolute;right:15px;top:10px;border:0;background:none;font-size:28px;line-height:1;cursor:pointer;color:#777;}
.emergency-call-popup__title{display:block;font-size:21px;color:#152b4d;margin-bottom:6px;}
.emergency-call-popup__desc{font-size:14px;color:#777;margin:0 0 18px;}
.emergency-call-popup__list{display:flex;flex-direction:column;gap:9px;}
.emergency-call-popup__list a{display:flex;align-items:center;justify-content:space-between;padding:15px 17px;border:1px solid #e2e7ee;border-radius:11px;text-decoration:none;color:#152b4d;transition:.2s;}
.emergency-call-popup__list a:hover{background:#152b4d;color:#fff;border-color:#152b4d;}
.emergency-call-popup__list strong{font-size:16px;}
.emergency-call-popup__list span{font-size:13px;}

.emergency-call-popup__list span{display:flex;align-items:center;gap:6px;font-size:13px;}
.emergency-call-popup__list svg{width:14px;height:14px;fill:currentColor;}


.location-section { padding:100px 0; background:#fff; color:#111; }
.location-container { width:calc(100% - 80px); max-width:1440px; margin:0 auto; }
.location-heading { max-width: 920px; margin: 0 auto; text-align: center; margin-bottom:60px;}
.location-heading__eyebrow { margin: 0 0 15px; color: #3264f5; font-size: 14px; font-weight: 700; line-height: 1.5; letter-spacing: .16em; }
.location-heading h2 { margin: 0; color: #15243d; font-size: 46px; font-weight: 700; line-height: 1.35; letter-spacing: -.045em; word-break: keep-all; }



.location-tabs { display:flex; justify-content:center; gap:10px; margin-bottom:80px; }
.location-tab { min-width:150px; height:52px; padding:0 30px; border:1px solid #d8dde5; border-radius:4px; background:#fff; color:#777; font-size:17px; font-weight:600; cursor:pointer; transition:.25s; }
.location-tab:hover { border-color:#06356e; color:#06356e; }
.location-tab.is-active { border-color:#06356e; background:#06356e; color:#fff; }

.location-panel { display:none; grid-template-columns:minmax(360px,480px) minmax(0,1fr); gap:100px; align-items:start; }
.location-panel.is-active { display:grid; }
.location-info { padding-top:0; }

.location-title > span { display:block; margin-bottom:10px; color:#06356e; font-size:28px; font-weight:700; line-height:1.4; }
.location-title h2 { margin:0; font-size:40px; font-weight:700; line-height:1.4; letter-spacing:-2px; }
.location-title > p { margin:28px 0 0; color:#333; font-size:17px; line-height:1.7; }


/* 섹션 및 상단 설명 */
.stone-definition-section { padding: 120px 0; overflow: hidden; background: #f5f8fd; color: #15243d; }
.stone-definition-section * { box-sizing: border-box; }
.stone-definition-section .container { width: calc(100% - 40px); max-width: 1200px; margin: 0 auto; }
.stone-definition-heading { max-width: 920px; margin: 0 auto; text-align: center; }
.stone-definition-heading__eyebrow { margin: 0 0 15px; color: #3264f5; font-size: 14px; font-weight: 700; line-height: 1.5; letter-spacing: .16em; }
.stone-definition-heading h2 { margin: 0; color: #15243d; font-size:clamp(2rem, 4vw, 3.15rem); font-weight: 700; line-height: 1.35; letter-spacing: -.045em; word-break: keep-all; }
.stone-definition-heading__description { max-width: 850px; margin: 25px auto 0; color: #70809a; font-size: 17px; line-height: 1.9; word-break: keep-all; }
.stone-definition-heading__description strong { color: #314966; font-weight: 700; }
.tit_sub{font-size:20px; color:#7b7b7bf2;  margin:0;}
/* PC 배치: 왼쪽 카드 / 가운데 원형 / 오른쪽 카드 */
.stone-definition-visual { position: relative; isolation: isolate; display: grid; grid-template-columns: 220px minmax(0, 600px) 220px; grid-template-rows: auto auto auto; justify-content: center; align-items: center; column-gap: 30px; row-gap: 36px; min-height: 0; margin-top: 70px; }

/* 가운데 원형 영역 */
.stone-definition-center { position: relative; inset: auto; z-index: 2; grid-column: 2; grid-row: 1 / 3; display: block; width: 100%; max-width: 600px; min-width: 0; height: auto; margin: 0; padding: 0; border: 0; border-radius: 50%; background: transparent; transform: none; }
.stone-definition-center::before, .stone-definition-center::after { content: none; }
.stone-definition-center__line { display: none; }

/* 원형 이미지: 흰색 테두리와 바깥 실선 */
.stone-definition-center__image { position: relative; z-index: 1; display: flex; align-items: center; justify-content: center; width: 100%; max-width: 600px; height: auto; aspect-ratio: 1; margin: 0; padding: 70px 0 0; overflow: hidden; border: 8px solid #fff; border-radius: 50%; outline: 1px solid #d4e1f6; outline-offset: 12px; background: #f3f6fb; box-shadow: 0 18px 50px rgba(36, 65, 110, .08); }
.stone-definition-center__image img { display: block; width: 100%; max-width: 100%; height: 100%; min-height: 0; object-fit: contain; }

/* 원 안쪽 상단 제목 */
.stone-definition-center__text { position: absolute; top: 80px; right: auto; bottom: auto; left: 50%; z-index: 3; width: 78%; min-width: 0; margin: 0; padding: 0; border: 0; border-radius: 0; background: transparent; text-align: center; box-shadow: none; transform: translateX(-50%); }
.stone-definition-center__text small { display: block; margin: 0 0 7px; color: #6283ba; font-size: 10px; font-weight: 700; line-height: 1.5; letter-spacing: .12em; }
.stone-definition-center__text h3, .stone-definition-center__text strong { display: block; margin: 0; color: #17375e; font-size: 28px; font-weight: 700; line-height: 1.35; letter-spacing: -.04em; }
.stone-definition-center__text p { margin: 8px 0 0; color: #70809a; font-size: 13px; line-height: 1.6; word-break: keep-all; }

/* 양쪽 카드 */
.stone-definition-item { position: relative; inset: auto; z-index: 1; width: 100%; min-width: 0; min-height: 190px; padding: 27px 23px; overflow: visible; border: 1px solid #e1e9f5; border-radius: 24px; background: #fff; box-shadow: 0 15px 40px rgba(36, 65, 110, .07); }
.stone-definition-item__number { display: flex; align-items: center; justify-content: center; width: 34px; height: 34px; margin-bottom: 16px; border-radius: 50%; background: #e7f0ff; color: #275bdc; font-size: 12px; font-weight: 700; }
.stone-definition-item strong { display: block; margin-bottom: 8px; color: #17375e; font-size: 19px; font-weight: 700; line-height: 1.5; word-break: keep-all; }
.stone-definition-item p { margin: 0; color: #71829b; font-size: 14px; line-height: 1.7; word-break: keep-all; }
.stone-definition-item--water { grid-column: 1; grid-row: 1; }
.stone-definition-item--urine { grid-column: 3; grid-row: 1; }
.stone-definition-item--crystal { grid-column: 1; grid-row: 2; }
.stone-definition-item--movement { grid-column: 3; grid-row: 2; }

/* 양쪽 박스를 바깥으로 20px 이동 */
.stone-definition-item--water, .stone-definition-item--crystal { left: -20px; right: auto; }
.stone-definition-item--urine, .stone-definition-item--movement { left: 20px; right: auto; }
.stone-definition-item::after { content: ""; position: absolute; top: 50%; bottom: auto; z-index: -1; display: block; width: 60px; height: 0; margin: 0; padding: 0; border: 0; border-top: 1px dashed #9ab5df; background: none; pointer-events: none; }
.stone-definition-item--water::after, .stone-definition-item--crystal::after { right: -60px; left: auto; }
.stone-definition-item--urine::after, .stone-definition-item--movement::after { left: -60px; right: auto; }


/* 하단 키워드 */
.stone-definition-keywords { grid-column: 1 / -1; grid-row: 3; display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 12px; margin: 0; padding-top: 12px; }
.stone-definition-keyword { position: relative; inset: auto; z-index: 1; padding: 11px 18px; border: 1px solid #e7edf6; border-radius: 12px; background: rgba(255, 255, 255, .96); color: #3160bc; font-size: 13px; font-weight: 600; line-height: 1.5; box-shadow: 0 8px 20px rgba(37, 78, 143, .05); }

/* 기존 스크롤 등장 효과 */
.stone-definition-section.stone-motion-ready .stone-scroll-item { opacity: 0; translate: 0 28px; transition: opacity .75s ease, translate .75s cubic-bezier(.22, 1, .36, 1); transition-delay: var(--stone-delay, 0ms); }
.stone-definition-section.stone-motion-ready .stone-scroll-item.is-stone-visible { opacity: 1; translate: 0 0; }
.stone-definition-section.stone-motion-ready .stone-definition-keyword.stone-scroll-item { translate: 0 14px; }
.stone-definition-section.stone-motion-ready .stone-definition-keyword.is-stone-visible { translate: 0 0; }
.stone-definition-section.stone-motion-ready .reveal { opacity: 1; transform: none; visibility: visible; animation: none; }
.stone-definition-section.stone-motion-ready .reveal.stone-scroll-item { opacity: 0; }
.stone-definition-section.stone-motion-ready .reveal.stone-scroll-item.is-stone-visible { opacity: 1; }

/* 태블릿: 원형 이미지 아래에 카드 2열 배치 */
@media (max-width: 1100px) {
  .stone-definition-section { padding: 90px 0; }
  .stone-definition-visual { grid-template-columns: repeat(2, minmax(0, 1fr)); grid-template-rows: auto; gap: 24px; max-width: 760px; margin: 55px auto 0; }
  .stone-definition-center { grid-column: 1 / -1; grid-row: 1; justify-self: center; width: calc(100% - 28px); max-width: 600px; margin: 0 0 20px; }
  .stone-definition-item { min-height: 185px; }
  .stone-definition-item--water { grid-column: 1; grid-row: 2; }
  .stone-definition-item--urine { grid-column: 2; grid-row: 2; }
  .stone-definition-item--crystal { grid-column: 1; grid-row: 3; }
  .stone-definition-item--movement { grid-column: 2; grid-row: 3; }
  .stone-definition-item::after { content: none; display: none; }
  .stone-definition-keywords { grid-column: 1 / -1; grid-row: 4; padding-top: 12px; }
}

/* 모바일 */
@media (max-width: 767px) {
  .stone-definition-section { padding: 70px 0; }
  .stone-definition-heading__eyebrow { margin-bottom: 12px; font-size: 12px; }
  .stone-definition-heading h2 { font-size: clamp(28px, 6.8vw, 36px); }
  .stone-definition-heading__description { margin-top: 20px; font-size: 15px; line-height: 1.85; }
  .stone-definition-visual { gap: 16px; margin-top: 40px; }
  .stone-definition-center { margin-bottom: 18px; }
  .stone-definition-center__image { padding-top: 24px; border-width: 6px; outline-offset: 8px; }
  .stone-definition-center__text { top: 26px; width: 80%; }
  .stone-definition-center__text small { margin-bottom: 5px; font-size: 8px; letter-spacing: .08em; }
  .stone-definition-center__text h3, .stone-definition-center__text strong { font-size: clamp(19px, 4.5vw, 25px); }
  .stone-definition-center__text p { margin-top: 5px; font-size: 11px; }
  .stone-definition-item { min-height: 0; height: 100%; padding: 22px 16px; border-radius: 20px; }
  .stone-definition-item__number { width: 30px; height: 30px; margin-bottom: 13px; font-size: 11px; }
  .stone-definition-item strong { font-size: 17px; }
  .stone-definition-item p { font-size: 13px; line-height: 1.75; }
  .stone-definition-item p br { display: none; }
  .stone-definition-keywords { gap: 8px; padding-top: 10px; }
  .stone-definition-keyword { padding: 9px 12px; border-radius: 10px; font-size: 12px; }
  .stone-definition-item--water, .stone-definition-item--crystal{left:-10px;}
  .stone-definition-item--urine, .stone-definition-item--movement{left:10px;}

      .location-heading h2 {
        font-size: 31px;
        line-height: 1.35;
        letter-spacing: -1.7px;
      }  
}

/* 모바일 카드 1열 배치 */
@media (max-width: 767px) {
  .stone-definition-visual { grid-template-columns: minmax(0, 1fr); }
  .stone-definition-item { left: auto; right: auto; width: 100%; }
  .stone-definition-item--water { grid-column: 1; grid-row: 2; }
  .stone-definition-item--urine { grid-column: 1; grid-row: 3; }
  .stone-definition-item--crystal { grid-column: 1; grid-row: 4; }
  .stone-definition-item--movement { grid-column: 1; grid-row: 5; }
  .stone-definition-keywords { grid-column: 1; grid-row: 6; }
}

/* 좁은 모바일: 카드 1열 배치 */
@media (max-width: 359px) {
  .stone-definition-visual { grid-template-columns: minmax(0, 1fr); }
  .stone-definition-center__text { top: 22px; }
  .stone-definition-center__text small { font-size: 7px; }
  .stone-definition-center__text p { font-size: 10px; }
  .stone-definition-item--water { grid-column: 1; grid-row: 2; }
  .stone-definition-item--urine { grid-column: 1; grid-row: 3; }
  .stone-definition-item--crystal { grid-column: 1; grid-row: 4; }
  .stone-definition-item--movement { grid-column: 1; grid-row: 5; }
  .stone-definition-keywords { grid-column: 1; grid-row: 6; }
}

/* 모션 최소화 설정 */
@media (prefers-reduced-motion: reduce) {
  .stone-definition-section.stone-motion-ready .stone-scroll-item { transition: none; }
  .stone-definition-section.stone-motion-ready .stone-scroll-item.stone-scroll-item { translate: none; }
}



/* 365일 응급진료 */
.location-emergency { margin-top:32px; padding:0; }

.location-emergency p { margin:0; }

.location-emergency-main { color:#ff3048; font-size:21px; font-weight:600; line-height:1.4; }

.location-emergency-sub { margin-top:10px !important; color:#ff3048; font-size:17px; font-weight:700; line-height:1.5; animation:emergencyBlink 1.2s ease-in-out infinite; animation-delay:.2s; }

@keyframes emergencyBlink {
  0%,100% { opacity:1; }
  50% { opacity:.35; }
}

/* 주소 타이틀 */
.location-address-title { display:flex; align-items:center; gap:9px; margin-top:30px; color:#06356e; font-size:17px; font-weight:600; }
.location-pin-icon { display:inline-flex; width:20px; height:20px; flex:0 0 20px; color:#06356e; }
.location-pin-icon svg { width:100%; height:100%; fill:currentColor; }

.location-address { margin-top:11px; margin-bottom:10px; }
.location-address h3 { margin:0; font-size:21px; font-weight:700; line-height:1.55; letter-spacing:-.7px; }
.location-address p { margin:4px 0 0; color:#333; font-size:18px; line-height:1.5; }


/* 진료시간 */
.location-hours { margin-top:45px; padding:20px 15px; border-top:1px solid #222; border-bottom:1px solid #d9d9d9; }
.location-hour-row { display:grid; grid-template-columns:125px 1fr; align-items:center; min-height:44px; }
.location-hour-row strong { font-size:17px; font-weight:700; }
.location-hour-row span { display:flex; align-items:center; flex-wrap:wrap; gap:5px; font-size:18px; font-weight:400; letter-spacing:.2px; }
.location-hour-row span > i { margin:0 2px; font-style:normal; color:#999; }
.location-hour-row em { display:inline-flex; align-items:center; margin-left:5px; padding:5px 12px; border-radius:30px; background:#06356e; color:#FFF; font-size:13px; font-style:normal; font-weight:700; }
.ampm { display:inline-flex; align-items:center; justify-content:center; min-width:30px; height:21px; margin-right:1px; border-radius:3px;  color:#06356e; font-size:15px; font-weight:600; letter-spacing:.5px; }


/* 전화번호 */
.location-contact { margin-top:22px; }
.location-contact a { display:inline-flex; align-items:center; gap:10px; color:#06356e; font-size:27px; font-weight:700; text-decoration:none; transition:.2s; }
.location-contact a:hover { color:#ff344f; }
.location-phone-icon { display:inline-flex; align-items:center; justify-content:center; width:35px; height:35px; flex:0 0 35px; border-radius:50%; background:#06356e; color:#fff; transition:.2s; }
.location-phone-icon svg { width:18px; height:18px; fill:currentColor; }
.location-contact a:hover .location-phone-icon { background:#ff344f; }


/* 지도 */
.location-map-wrap { min-width:0; }
.location-map { position:relative; width:100%; height:570px; overflow:hidden; background:#f2f3f5; }
.location-map iframe { display:block; width:100%; height:100%; border:0; }


/* 기존 지도 링크 */
.location-map-links { display:grid; grid-template-columns:repeat(3,1fr); margin-top:24px; border-top:1px solid #eee; border-bottom:1px solid #eee; }
.location-map-links a { position:relative; display:flex; align-items:center; justify-content:center; height:68px; color:#111; font-size:17px; font-weight:600; text-decoration:none; }
.location-map-links a + a:before { content:""; position:absolute; left:0; top:18px; width:1px; height:32px; background:#ccc; }
.location-map-links a:hover { color:#06356e; }


@media (max-width:1024px) {

  .location-section { padding:70px 0; }

  .location-container { width:calc(100% - 40px); }

  .location-panel { grid-template-columns:1fr; gap:50px; }

  .location-hours { margin-top:40px; }

  .location-map { height:440px; }

}


@media (max-width:640px) {

  .location-section { padding:55px 0; }

  .location-container { width:calc(100% - 32px); }

  .location-tabs { gap:6px; margin-bottom:40px; }

  .location-tab { flex:1; min-width:0; height:46px; padding:0 8px; font-size:15px; }

  .location-panel { gap:42px; }

  .location-title > span { font-size:20px; }

  .location-title h2 { font-size:24px; letter-spacing:-1.5px; }

  .location-title > p { margin-top:18px; font-size:15px; }

  .location-emergency { margin-top:25px;  }

  .location-emergency-main { gap:7px; font-size:18px; display: none;}

  .location-emergency-sub { gap:6px; margin-top:13px !important; font-size:14px; }

  .location-address-title { margin-top:25px; font-size:16px; }

  .location-pin-icon { width:19px; height:19px; flex-basis:19px; }

  .location-address h3 { font-size:19px; }

  .location-address p { font-size:14px; }

  .location-hours { margin-top:32px; padding:15px 5px; }

  .location-hour-row { grid-template-columns:80px 1fr; min-height:42px; }

  .location-hour-row strong { font-size:15px; }

  .location-hour-row span { gap:4px; font-size:15px; }

  .location-hour-row em { margin-left:2px; padding:4px 8px; font-size:11px; }

  .ampm { min-width:27px; height:19px; font-size:9px; }

  .location-contact a { gap:8px; font-size:23px; }

  .location-phone-icon { width:31px; height:31px; flex-basis:31px; }

  .location-phone-icon svg { width:16px; height:16px; }

  .location-map { height:350px; }

  .location-map-links a { height:58px; font-size:14px; }

}
.site-footer { padding: 43px 0 100px; color: #8d9aae; background: #031024; font-size: .77rem; }
.site-footer__inner { display: grid; grid-template-columns: 1fr auto; gap: 16px 30px; align-items: center; }
.brand--footer { grid-row: span 2; color: #fff; }
.brand--footer .brand__mark { background: rgba(255,255,255,.12); box-shadow: none; }
.brand--footer .brand__text small { color: #8293ad; }
.site-footer p { margin: 0; text-align: right; }
.blue_txt{color:#113ab5 !important;}
.red_txt{color:#e52525 !important;}

/* 플로팅 바로가기 */
.floating-quick{position:fixed;right:26px;top: 50%;
transform: translateY(-50%); z-index:900;display:flex;flex-direction:column;align-items:center;gap:12px;}
.floating-quick__link{position:relative;display:flex;align-items:center;justify-content:center;box-sizing:border-box;width:54px;height:54px;padding:0;border:0;border-radius:50%;text-decoration:none;box-shadow:0 6px 14px rgba(24,37,56,.12);cursor:pointer;transition:transform .2s ease,box-shadow .2s ease;}
.floating-quick__link:hover{transform:translateY(-3px);box-shadow:0 9px 20px rgba(24,37,56,.2);}
.floating-quick__link:focus-visible{outline:2px solid #203854;outline-offset:4px;}
.floating-quick__link svg{display:block;flex-shrink:0;width:24px;height:24px;}
.floating-quick__link--home{color:#1b4ad5;background:#fff;}
.floating-quick__link--consult{color:#fff;background:#1b4ad5;}
.floating-quick__link--youtube{color:#ff0033;background:#fff;}
.floating-quick__link--youtube svg{width:27px;height:27px;}
.floating-quick__link--call{color:#fff;background:#ff7b32;}

/* 모바일 */
@media (max-width:767px){
  .floating-quick{right:16px;bottom:calc(20px + env(safe-area-inset-bottom,0px));gap:10px; display: none;}
  .floating-quick__link{width:48px;height:48px;}
  .floating-quick__link svg{width:22px;height:22px;}
  .floating-quick__link--youtube svg{width:25px;height:25px;}
}



.mobile-actions { display: none; }
.reveal { opacity: 0; transform: translateY(24px); transition: opacity .65s ease, transform .65s ease; }
.reveal.is-visible { opacity: 1; transform: translateY(0); }
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; animation: none !important; transition: none !important; }
  .reveal { opacity: 1; transform: none; }
}
@media (max-width: 1080px) {
  .main-nav { gap: 18px; }
  .main-nav a { font-size: .86rem; }
  .header-call { display: none; }
  .tab-panel { grid-template-columns: 100px 1fr; }
}
@media (max-width: 820px) {
  html { scroll-padding-top: 72px; }
  body { font-size: 15px; padding-bottom: 66px; }
  .container { width: min(calc(100% - 32px), var(--container)); }
  .urgent-bar__inner { justify-content: flex-start; min-height: 38px; overflow: hidden; white-space: nowrap; }
  .urgent-bar__inner > span:not(.urgent-bar__pulse), .urgent-bar__link { display: none; }
  .site-header { height: 68px; }
  .site-header__inner { justify-content: space-between; }
  .brand__mark { width: 36px; height: 36px; }
  .brand__text strong { font-size: .94rem; }
  .menu-toggle { display: block; position: relative; z-index: 2; }
  .menu-toggle[aria-expanded="true"] span:nth-of-type(2) { transform: translateY(7px) rotate(45deg); }
  .menu-toggle[aria-expanded="true"] span:nth-of-type(3) { opacity: 0; }
  .menu-toggle[aria-expanded="true"] span:nth-of-type(4) { transform: translateY(-7px) rotate(-45deg); }
  .main-nav { position: fixed; inset: 68px 0 auto; display: grid; grid-template-columns: minmax(0, 1fr); justify-content: stretch; gap: 0; margin-left: 0; padding: 15px 25px 25px; background: #fff; border-top: 1px solid var(--line); box-shadow: 0 24px 40px rgba(5,20,45,.13); transform: translateY(-120%); opacity: 0; visibility: hidden; transition: transform .25s ease, opacity .25s ease, visibility .25s; }
  .main-nav.is-open { transform: translateY(0); opacity: 1; visibility: visible; }
  .main-nav a { display: block; padding: 14px 6px; border-bottom: 1px solid var(--line); }
  .main-nav a::after { display: none; }
  .hero { min-height: 480px; background-position: 62% center; }
  .hero__inner { padding: 75px 0 124px; }
  .hero__content { max-width: 560px; }
  .hero h1 { font-size: 20px; }
  .section { padding: 88px 0; }
  .process-list { grid-template-columns: 1fr 1fr; gap: 35px 15px; }
  .process-list::before { display: none; }
  .tab-list { grid-template-columns: 1fr 1fr; }
  .tab-panel { grid-template-columns: 90px 1fr; padding: 38px 24px; }
  .site-footer { padding-bottom: 45px; }
  .floating-call { display: none; }
  .mobile-actions { position: fixed; inset: auto 0 0; z-index: 1200; display: grid; grid-template-columns: .72fr 1.28fr; height: 66px; color: #fff; background: var(--navy-950); box-shadow: 0 -8px 24px rgba(5,20,45,.2); }
  .mobile-actions a { display: grid; place-items: center; font-weight: 700; }
  .mobile-actions__call { background: var(--accent); }
}
@media (max-width: 560px) {
  .container { width: min(calc(100% - 26px), var(--container)); }
  .urgent-bar { font-size: .76rem; }
  .brand__text small { display: none; }
  .hero { min-height: 550px; background-position: 68% center; }
  .hero::before { background: linear-gradient(90deg, rgb(5 20 45 / 52%)); }
  .hero__eyebrow { margin-bottom: 20px; }
  .hero h1 { font-size: 30px; }
  .hero__summary { font-size: 12px; }
  .hero__actions { display: none; }
  .button { width: 100%; }
  .section { padding: 74px 0; }
  .section-heading { margin-bottom: 37px; }
  .section-heading h2 { font-size: 1.9rem; }
  .strength-card { min-height: 300px; padding: 28px; }
  .process-list { grid-template-columns: 1fr; gap: 20px; }
  .process-item { display: grid; grid-template-columns: 68px 1fr; gap: 20px; align-items: center; padding: 0; text-align: left; }
  .process-item__num { width: 64px; height: 64px; margin: 0; }
  .process-item p { margin-top: 4px; }
  .treatment-tabs { padding: 10px; border-radius: 20px; }
  .tab-list button { min-height: 48px; font-size: .83rem; }
  .tab-panel { grid-template-columns: 1fr; gap: 18px; min-height: 390px; padding: 32px 20px; }
  .site-footer__inner { grid-template-columns: 1fr; }
  .brand--footer { grid-row: auto; }
  .site-footer p { text-align: left; }
}
/* Content additions: preserve original palette and components. */
.comparison-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 24px; }
.tab-list { grid-template-columns: repeat(5,minmax(0,1fr)); }
@media (max-width:700px) {
  .comparison-grid { grid-template-columns: 1fr; }
  .tab-list { display: flex; overflow-x: auto; justify-content: flex-start; }
  .tab-list button { flex: 0 0 auto; min-width: 110px; }
}
/* Equipment image carousel — fixed introduction, scrolling portrait cards. */
.equipment-slider { padding: 100px 0; background: #fff; overflow: hidden; }
.equipment-slider__inner { display: grid; grid-template-columns: 260px minmax(0,1fr); gap: 48px; align-items: center; margin-left: max(20px,calc((100vw - 1180px)/2)); }
.equipment-slider__intro { padding-bottom: 36px; min-width: 0; }
.equipment-slider__eyebrow { margin: 0 0 12px; color: var(--blue-700); font-size: .76rem; font-weight: 700; letter-spacing: .025em; }
.equipment-slider h2 { margin: 0; font-size: clamp(1.6rem,2.3vw,2.15rem); line-height: 1.35; letter-spacing: -.055em; }
.equipment-slider__subtitle { margin: 14px 0 0; font-size: 1rem; font-weight: 700; color: var(--navy-800); }
.equipment-slider__description { margin: 16px 0 8px; font-size: .85rem; line-height: 1.8; color: var(--muted); }
.equipment-slider__note { display: block; font-size: .68rem; color: var(--muted); }
.equipment-slider__controls { display: flex; align-items: center; gap: 19px; margin-top: 40px; }
.equipment-slider__controls button { display: grid; place-items: center; width: 38px; height: 38px; border: 1px solid #c8d0dc; border-radius: 50%; background: white; color: var(--navy-800); cursor: pointer; transition: background .2s,color .2s; line-height: 1; }
.equipment-slider__controls button:hover { background: var(--blue-700); color: white; border-color: var(--blue-700); }
.equipment-slider__controls button:disabled { opacity: .35; cursor: default; background: white; color: var(--muted); border-color: #c8d0dc; }
.equipment-slider__counter { white-space: nowrap; color: #aeb7c5; font-size: .85rem; font-variant-numeric: tabular-nums; }
.equipment-slider__current { color: var(--blue-700); font-size: 1.55rem; font-weight: 700; }
.equipment-slider__gallery { min-width: 0; --equipment-card: 320px; --equipment-gap: 26px; }
.equipment-slider__track { display: flex; gap: var(--equipment-gap); overflow-x: auto; scroll-snap-type: x mandatory; overscroll-behavior-x: contain; scrollbar-width: none; padding: 0; margin: 0; list-style: none; cursor: grab; touch-action: pan-x pan-y; }
.equipment-slider__track::-webkit-scrollbar { display: none; }
.equipment-slider__track::after { content: ""; flex: 0 0 max(0px,calc(100% - var(--equipment-card) - var(--equipment-gap))); }
.equipment-slide { position: relative; flex: 0 0 var(--equipment-card); height: 430px; overflow: hidden; scroll-snap-align: start; background: #edf2f6; isolation: isolate; }
.equipment-slide img { width: 100%; height: 100%; object-fit: cover; display: block; user-select: none; -webkit-user-drag: none; }
.equipment-slide::after { content: ""; position: absolute; inset: 40% 0 0; background: linear-gradient(transparent,rgba(5,20,45,.83)); z-index: 1; pointer-events: none; }
.equipment-slide__caption { position: absolute; bottom: 25px; left: 24px; right: 22px; z-index: 2; color: #fff; }
.equipment-slide__caption p { margin: 0 0 5px; color: #c1d8ff; font-size: .74rem; font-weight: 700; line-height: 1.5; }
.equipment-slide__caption h3 { margin: 0; color: #fff; font-size: 1.5rem; font-weight: 700; letter-spacing: -.04em; line-height: 1.3; }
.equipment-slide__caption span { display: block; margin-top: 9px; font-size: .82rem; color: #e5ecf5; }
.equipment-slider__progress { height: 2px; background: #d7dce4; margin: 36px 40px 0 0; max-width: 680px; overflow: hidden; }
.equipment-slider__progress span { display: block; width: 16.6667%; height: 100%; background: var(--blue-700); transform: translateX(0); transition: transform .25s ease; }
.equipment-slider button:focus-visible, .equipment-slider__track:focus-visible { outline: 3px solid var(--blue-600); outline-offset: 4px; }
@media (min-width:1600px) {
  .equipment-slider__gallery { --equipment-card: 360px; }
  .equipment-slide { height: 470px; }
}
@media (max-width:1000px) {
  .equipment-slider__inner { grid-template-columns: 220px minmax(0,1fr); gap: 28px; }
  .equipment-slider__gallery { --equipment-card: 290px; --equipment-gap: 20px; }
  .equipment-slide { height: 390px; }
}
@media (max-width:700px) {
  .equipment-slider { padding: 64px 0; }
  .equipment-slider__inner { display: block; margin-left: 20px; }
  .equipment-slider__intro { position: relative; padding: 0 20px 26px 0; }
  .equipment-slider h2 { font-size: 1.75rem; }
  .equipment-slider__controls { margin-top: 24px; gap: 16px; }
  .equipment-slider__description br { display: none; }
  .equipment-slider__gallery { --equipment-card: 78vw; --equipment-gap: 16px; }
  .equipment-slide { height: 390px; }
  .equipment-slider__progress { margin: 24px 20px 0 0; }
  .equipment-slide__caption { left: 22px; bottom: 24px; }
}
@media (prefers-reduced-motion:reduce) {
  .equipment-slider__progress span { transition: none; }
}


/* AEO direct-answer / FAQ */
.aeo-answer-section{padding:110px 0;background:#fff;}
.aeo-answer-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;}
.aeo-answer-card{position:relative;padding:32px;border:1px solid #e2eaf4;border-radius:20px;background:#f8fbff;box-shadow:0 12px 30px rgba(13,35,70,.05);}
.aeo-answer-card--urgent{border-color:#ffd9c6;background:#fff8f4;}
.aeo-answer-card__label{margin:0 0 10px;color:var(--blue-600);font-size:.76rem;font-weight: 700;letter-spacing:.12em;}
.aeo-answer-card--urgent .aeo-answer-card__label{color:var(--accent-dark);}
.aeo-answer-card h3{margin:0 0 14px;color:var(--navy-900);font-size:1.22rem;line-height:1.55;letter-spacing:-.035em;}
.aeo-answer-card>p:not(.aeo-answer-card__label){margin:0;color:var(--muted);font-size:.96rem;line-height:1.85;}
.aeo-answer-card>p strong{color:#26384f;font-weight: 700;}
.aeo-answer-card a{display:inline-flex;margin-top:18px;color:var(--blue-700);font-size:.88rem;font-weight: 700;}
.aeo-faq-section{padding:118px 0;background:#fff;}
.aeo-faq-list{max-width:920px;margin:0 auto;display:grid;gap:12px;}
.aeo-faq-item{border:1px solid #dfe7f2;border-radius:16px;background:#fff;overflow:hidden;box-shadow:0 10px 28px rgba(13,35,70,.04);}
.aeo-faq-item summary{position:relative;padding:22px 58px 22px 24px;color:var(--navy-900);font-size:1rem;font-weight: 700;line-height:1.6;cursor:pointer;list-style:none;}
.aeo-faq-item summary::-webkit-details-marker{display:none;}
.aeo-faq-item summary::after{content:"+";position:absolute;right:24px;top:50%;transform:translateY(-50%);color:var(--blue-600);font-size:1.5rem;font-weight:400;}
.aeo-faq-item[open] summary::after{content:"−";}
.aeo-faq-item[open] summary{border-bottom:1px solid #e8eef6;background:#f8fbff;}
.aeo-faq-item div{padding:20px 24px 24px;}
.aeo-faq-item div p{margin:0;color:var(--muted);font-size:.95rem;line-height:1.9;}
.aeo-medical-source{max-width:920px;margin:28px auto 0;padding:20px 22px;border:1px solid #e4ebf4;border-radius:14px;background:#f7f9fc;}
.aeo-medical-source p{margin:0;color:#69778a;font-size:.8rem;line-height:1.75;}
.aeo-medical-source p+p{margin-top:5px;}
.aeo-medical-source strong{color:#344054;}
.aeo-medical-source a{color:var(--blue-700);font-weight:700;text-decoration:underline;text-underline-offset:3px;}
@media (max-width:820px){
.aeo-answer-section{padding:72px 0;}
.aeo-answer-grid{grid-template-columns:1fr;gap:14px;}
.aeo-answer-card{padding:26px 22px;border-radius:16px;}
.aeo-faq-section{padding:74px 0;}
.aeo-faq-item summary{padding:19px 50px 19px 20px;font-size:.95rem;}
.aeo-faq-item summary::after{right:20px;}
.aeo-faq-item div{padding:17px 20px 21px;}
.aeo-medical-source{padding:17px 18px;}
}
