:root {
  --th-deep: #07594d;
  --th-green: #087a68;
  --th-green-2: #0b8b75;
  --th-fresh: #20a382;
  --th-mint: #eaf7f2;
  --th-pale: #f4faf7;
  --th-warm: #fcfbf8;
  --th-dark: #153b36;
  --th-text: #445753;
  --th-muted: #6f817c;
  --th-border: #ddeae5;
  --th-coral: #ea746c;
  --th-blue: #4f9eb5;
  --th-rose: #c45c78;
  --th-shadow: 0 16px 44px rgba(15, 68, 59, .08);
  --th-shadow-sm: 0 7px 22px rgba(15, 68, 59, .07);
  --th-serif: Georgia, 'Times New Roman', serif;
  --th-sans: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  --th-shell: 1280px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; background: var(--th-warm); color: var(--th-text); font-family: var(--th-sans); font-size: 16px; line-height: 1.62; -webkit-font-smoothing: antialiased; }
body.nav-open, body.modal-open { overflow: hidden; }
img { max-width: 100%; height: auto; display: block; }
a { color: inherit; text-decoration: none; }
button, input, textarea, select { font: inherit; }
button { color: inherit; }
svg.th-icon { width: 1.15em; height: 1.15em; flex: 0 0 auto; }
.site-shell { width: min(calc(100% - 64px), var(--th-shell)); margin-inline: auto; }
.screen-reader-text { position: absolute!important; width: 1px!important; height: 1px!important; padding: 0!important; margin: -1px!important; overflow: hidden!important; clip: rect(0,0,0,0)!important; white-space: nowrap!important; border: 0!important; }
.skip-link { position: fixed; left: 18px; top: -100px; z-index: 9999; background: #fff; color: var(--th-deep); padding: 12px 16px; border-radius: 8px; box-shadow: var(--th-shadow); }
.skip-link:focus { top: 18px; }

h1, h2, h3, h4 { margin: 0 0 .5em; color: var(--th-dark); font-family: var(--th-serif); line-height: 1.12; font-weight: 700; }
h1 { font-size: clamp(2.65rem, 4.5vw, 4.6rem); letter-spacing: -.035em; }
h2 { font-size: clamp(2rem, 3vw, 3.25rem); letter-spacing: -.025em; }
h3 { font-size: 1.2rem; }
p { margin: 0 0 1em; }

.site-header { position: relative; z-index: 100; }
.topbar { background: var(--th-deep); color: rgba(255,255,255,.92); font-size: 13px;}
.topbar__inner { min-height: 34px; display: flex; align-items: center; justify-content: space-between; gap: 24px; }
.topbar__left { font-weight: 600; letter-spacing: .015em; }
.topbar__right { display: flex; align-items: center; gap: 24px; font-size: 13px; font-weight: 600;}
.topbar__right a { display: inline-flex; gap: 7px; align-items: center; }
.topbar__right a:hover { color: #fff; }
.topbar__lang { opacity: .85; }
.nav-wrap { background: rgba(255,255,255,.97); border-bottom: 1px solid rgba(7,89,77,.08); transition: box-shadow .2s ease; }
.site-header.is-scrolled .nav-wrap { position: fixed; top: 0; left: 0; right: 0; box-shadow: 0 10px 30px rgba(0,0,0,.08); }
.nav-wrap__inner { min-height: 82px; display: grid; grid-template-columns: minmax(210px, .9fr) 2.2fr auto; align-items: center; gap: 28px; }
.site-branding .custom-logo { width: auto; max-width: 230px; max-height: 58px; }
.brand-fallback { display: inline-flex; align-items: center; gap: 10px; color: var(--th-deep); line-height: 1.05; }
.brand-fallback .brand-mark { width: 38px; height: 38px; border-radius: 50%; display: grid; place-items: center; background: var(--th-mint); color: var(--th-green); font-size: 26px; }
.brand-fallback strong { display: block; font-size: 1.05rem; letter-spacing: .02em; }
.brand-fallback small { display: block; margin-top: 3px; font-size: 8px; letter-spacing: .08em; font-weight: 700; }
.primary-navigation .menu, .footer-menu { list-style: none; padding: 0; margin: 0; }
.primary-navigation .menu { display: flex; align-items: center; justify-content: center; gap: 30px; }
.primary-navigation .menu > li { position: relative; }
.primary-navigation .menu > li > a { display: block; padding: 30px 0; color: #234c45; font-size: 14px; font-weight: 600; }
.primary-navigation .menu > li > a:hover { color: var(--th-green); }
.primary-navigation .sub-menu { position: absolute; top: calc(100% - 8px); left: -18px; width: 230px; list-style: none; padding: 10px; margin: 0; background: #fff; border: 1px solid var(--th-border); border-radius: 12px; box-shadow: var(--th-shadow-sm); opacity: 0; visibility: hidden; transform: translateY(8px); transition: .18s ease; }
.primary-navigation li:hover > .sub-menu, .primary-navigation li:focus-within > .sub-menu { opacity: 1; visibility: visible; transform: none; }
.primary-navigation .sub-menu a { display: block; padding: 10px 12px; border-radius: 7px; font-size: 13px; }
.primary-navigation .sub-menu a:hover { background: var(--th-pale); }
.nav-toggle { display: none; border: 0; background: transparent; padding: 9px; cursor: pointer; }
.nav-toggle .th-icon { width: 26px; height: 26px; }
.nav-toggle__close { display: none; }
.nav-toggle[aria-expanded="true"] .nav-toggle__open { display: none; }
.nav-toggle[aria-expanded="true"] .nav-toggle__close { display: inline; }

.button { min-height: 44px; display: inline-flex; align-items: center; justify-content: center; gap: 9px; border-radius: 8px; padding: 10px 18px; font-weight: 700; font-size: 14px; border: 1px solid transparent; transition: transform .18s ease, background-color .18s ease, border-color .18s ease; }
.button:hover { transform: translateY(-1px); }
.button .th-icon { width: 15px; height: 15px; }
.button--primary { background: var(--th-green); color: #fff; }
.button--primary:hover { background: var(--th-deep); }
.button--outline { background: rgba(255,255,255,.86); border-color: #82b1a6; color: var(--th-deep); }
.button--outline:hover { background: #fff; border-color: var(--th-green); }
.button--large { min-height: 54px; padding: 12px 21px; }
.button--light { background: #fff; color: var(--th-deep); }
.nav-appointment { white-space: nowrap; }

.hero { position: relative; min-height: 580px; overflow: hidden; background: #f7f9f5; }
.hero__media { position: absolute; z-index: 0; inset: 0 0 0 46%; background: linear-gradient(145deg,#e8f3ef 0%,#cfe2dc 55%,#9bbab1 100%); background-size: cover; background-position: right center; }
.hero__media::after { content: ''; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(252,251,248,.18), rgba(255,255,255,0) 45%); }
.hero__overlay { position: absolute; z-index: 1; inset: 0; background: linear-gradient(90deg, rgba(252,251,248,1) 0%, rgba(252,251,248,.98) 34%, rgba(252,251,248,.83) 49%, rgba(252,251,248,.07) 70%, rgba(252,251,248,0) 100%); }
.hero__inner { position: relative; z-index: 2; min-height: 570px; display: flex; align-items: center; }
.hero__content { width: 56%; padding: 76px 0 82px; }
.hero h1 { max-width: 760px; margin-bottom: 20px; color: #124c44; }
.hero h1 span { display: block; }
.hero h1 .hero-title-accent { color: var(--th-green); }
.hero__lead { max-width: 580px; color: #435b56; font-size: 18px; line-height: 1.55; }
.hero-quicklinks { margin-top: 30px; display: flex; flex-wrap: wrap; gap: 22px; }
.hero-quicklink { min-width: 93px; display: flex; flex-direction: column; align-items: center; gap: 8px; color: #254a44; font-size: 12px; font-weight: 700; text-align: center; }
.hero-quicklink__icon { width: 45px; height: 45px; border-radius: 50%; display: grid; place-items: center; background: #e6f4ef; color: var(--th-green); }
.hero-quicklink--coral .hero-quicklink__icon { background: #fff0f0; color: var(--th-rose); }
.hero-quicklink--blue .hero-quicklink__icon { background: #ebf6fb; color: var(--th-blue); }
.hero-quicklink--teal .hero-quicklink__icon { background: #e8f7f5; color: #0a8f86; }
.hero-quicklink--rose .hero-quicklink__icon { background: #fff0f5; color: #b95677; }
.hero-quicklink__icon .th-icon { width: 21px; height: 21px; }
.hero__actions { margin-top: 28px; display: flex; align-items: stretch; gap: 14px; flex-wrap: wrap; }
.hero__actions .button--outline span { display: grid; line-height: 1.08; text-align: left; }
.hero__actions .button--outline small { color: var(--th-muted); font-size: 10px; font-weight: 600; }
.story-card { position: absolute; right: 0; bottom: 50px; width: min(360px, 34vw); min-height: 118px; display: grid; grid-template-columns: 48px 1fr 84px; align-items: center; gap: 14px; padding: 14px 14px 14px 18px; border: 1px solid rgba(7,89,77,.12); border-radius: 16px; background: rgba(255,255,255,.96); box-shadow: var(--th-shadow); text-align: left; cursor: pointer; }
.story-card.is-disabled { cursor: default; }
.story-card__play { width: 42px; height: 42px; display: grid; place-items: center; border-radius: 50%; background: var(--th-deep); color: #fff; }
.story-card__play .th-icon { width: 18px; height: 18px; margin-left: 2px; }
.story-card__copy strong { display: block; color: var(--th-dark); line-height: 1.25; font-family: var(--th-serif); font-size: 15px; }
.story-card__copy small { display: block; margin-top: 6px; color: var(--th-muted); font-size: 11px; }
.story-card img { width: 84px; height: 92px; object-fit: cover; border-radius: 10px; align-self: end; }
.story-card__doctor { width: 74px; height: 84px; display: grid; place-items: center; border-radius: 12px; background: #eef3f0; color: var(--th-green); }
.story-card__doctor .th-icon { width: 44px; height: 44px; }

.trust-strip { position: relative; z-index: 5; margin-top: -1px; padding: 22px 0 0; background: var(--th-warm); }
.trust-strip__grid { display: grid; grid-template-columns: repeat(4,1fr); padding: 22px 30px; border: 1px solid #e5efeb; border-radius: 13px; background: linear-gradient(180deg,#f8fdfa,#eff8f5); box-shadow: 0 8px 22px rgba(7,89,77,.03); }
.stat { min-height: 66px; padding: 4px 25px; display: flex; align-items: center; gap: 18px; border-right: 1px solid #d5e6df; }
.stat:first-child { padding-left: 8px; }
.stat:last-child { border-right: 0; }
.stat__icon { color: var(--th-green); }
.stat__icon .th-icon { width: 27px; height: 27px; }
.stat strong { display: block; color: var(--th-dark); font-family: var(--th-serif); font-size: 24px; line-height: 1.1; }
.stat span:last-child { display: block; margin-top: 3px; color: var(--th-muted); font-size: 12px; }

.section { padding: 74px 0; }
.section-heading { margin-bottom: 30px; }
.section-heading h2 { margin-bottom: 8px; }
.section-heading p { margin: 0; color: var(--th-muted); }
.section-heading--center { text-align: center; }
.section-heading--split { display: flex; align-items: end; justify-content: space-between; gap: 30px; }
.text-link { display: inline-flex; align-items: center; gap: 7px; color: var(--th-green); font-size: 12px; font-weight: 800; white-space: nowrap; }
.text-link .th-icon { width: 13px; height: 13px; }
.text-link--small { margin-top: 5px; font-size: 11px; }

.care-finder { padding-top: 48px; }
.care-grid { display: grid; grid-template-columns: repeat(auto-fit,minmax(240px,1fr)); gap: 24px; }
.care-card { position: relative; overflow: hidden; border: 1px solid #e2ebe7; border-radius: 13px; background: #fff; box-shadow: var(--th-shadow-sm); }
.care-card__image { display: block; height: 190px; background-size: cover; background-position: center; background-color: #e8f2ef; }
.care-card__image--placeholder { background-image: radial-gradient(circle at 70% 30%,rgba(32,163,130,.24),transparent 34%), linear-gradient(135deg,#eaf6f2,#cfe2dc); }
.care-card__body { position: relative; min-height: 188px; padding: 25px 22px 22px; }
.care-card__icon { position: absolute; top: -26px; left: 20px; width: 52px; height: 52px; display: grid; place-items: center; border: 6px solid #fff; border-radius: 50%; background: #e8f6f1; color: var(--th-green); box-sizing: content-box; }
.care-card__icon--coral { background: #fff0f2; color: var(--th-rose); }
.care-card__icon--blue { background: #edf7fb; color: var(--th-blue); }
.care-card__icon--teal { background: #e8f7f5; color: #0a8f86; }
.care-card__icon--rose { background: #fff0f5; color: #b95677; }
.care-card__icon .th-icon { width: 22px; height: 22px; }
.care-card h3 { margin-top: 12px; margin-bottom: 8px; font-family: var(--th-sans); font-size: 18px; }
.care-card p { max-width: 92%; color: var(--th-muted); font-size: 13px; line-height: 1.45; }
.circle-link { position: absolute; right: 17px; bottom: 17px; width: 31px; height: 31px; display: grid; place-items: center; border: 1px solid #7eb8ab; border-radius: 50%; color: var(--th-green); }
.circle-link .th-icon { width: 13px; height: 13px; }

.piles-feature { display: grid; grid-template-columns: 1.05fr 1fr; background: linear-gradient(90deg,#eef7f4,#fffdfa); }
.piles-feature__media { position: relative; min-height: 430px; background-size: cover; background-position: center; background-color: #dcece6; }
.piles-feature__media--placeholder { background-image: linear-gradient(145deg,#93c9bb,#d9ebe6 55%,#f5faf8); }
.piles-feature__media--placeholder::before { content: ''; position: absolute; inset: 13% 18% 12% 14%; border-radius: 50% 50% 35% 45%; background: linear-gradient(145deg,rgba(7,89,77,.15),rgba(255,255,255,.15)); }
.one-day-badge { position: absolute; right: -54px; top: 50%; transform: translateY(-50%); width: 160px; height: 160px; display: flex; flex-direction: column; align-items: center; justify-content: center; border: 8px solid rgba(255,255,255,.72); border-radius: 50%; background: #20a66f; color: #fff; text-align: center; box-shadow: 0 12px 28px rgba(10,94,74,.15); }
.one-day-badge strong { font-family: var(--th-serif); font-size: 22px; line-height: 1.03; }
.one-day-badge span { margin-top: 7px; font-size: 11px; font-weight: 800; }
.one-day-badge small { margin-top: 2px; font-size: 9px; }
.piles-feature__content { display: flex; align-items: center; }
.piles-feature__inner { width: min(620px, calc(100% - 84px)); margin: 0 auto; padding: 52px 0 52px 56px; }
.piles-feature__inner h2 { max-width: 520px; }
.piles-feature__inner > p { max-width: 600px; color: #576d68; }
.treatment-icons { margin: 28px 0; display: grid; grid-template-columns: repeat(4,1fr); gap: 18px; }
.treatment-icons > div { text-align: center; }
.treatment-icons__icon { width: 44px; height: 44px; margin: 0 auto 9px; display: grid; place-items: center; border-radius: 50%; background: #eff7f4; color: var(--th-green); }
.treatment-icons__icon--coral { background: #fff2ec; color: #ec714d; }
.treatment-icons__icon--rose { background: #fff0f2; color: var(--th-rose); }
.treatment-icons__icon--blue { background: #edf6fc; color: #4386b5; }
.treatment-icons strong { display: block; color: #38534e; font-size: 11px; line-height: 1.25; }
.button-row { display: flex; gap: 12px; flex-wrap: wrap; }

.speciality-strip { padding-top: 52px; padding-bottom: 62px; }
.speciality-icons { display: grid; grid-template-columns: repeat(auto-fit,minmax(125px,1fr)); gap: 20px; }
.speciality-icon { display: flex; flex-direction: column; align-items: center; gap: 12px; text-align: center; color: #32524c; font-size: 11px; line-height: 1.25; }
.speciality-icon > span { width: 56px; height: 56px; display: grid; place-items: center; border-radius: 50%; background: #edf8f4; color: var(--th-green); }
.speciality-icon > span .th-icon { width: 24px; height: 24px; }
.speciality-icon:hover > span { background: var(--th-green); color: #fff; }

.womens-clinic-section { position: relative; overflow: hidden; background: linear-gradient(135deg,#fff8fa 0%,#fff 47%,#edf9f5 100%); border-top: 1px solid #f2e7ea; border-bottom: 1px solid #e7f0ec; }
.womens-clinic-section::after { content: ''; position: absolute; width: 420px; height: 420px; right: -180px; top: -190px; border-radius: 50%; background: radial-gradient(circle,rgba(196,92,120,.10),rgba(196,92,120,0) 68%); pointer-events: none; }
.womens-clinic-layout { position: relative; z-index: 1; display: grid; grid-template-columns: .82fr 1.35fr; gap: 58px; align-items: center; }
.womens-clinic-intro h2 { margin-top: 7px; }
.womens-clinic-intro > p { max-width: 520px; color: #667b75; font-size: 17px; }
.womens-clinic-badge { margin: 24px 0; padding: 16px 18px; display: flex; align-items: center; gap: 14px; border: 1px solid #f0dfe4; border-radius: 12px; background: rgba(255,255,255,.78); color: #70505a; }
.womens-clinic-badge > span { width: 42px; height: 42px; display: grid; place-items: center; flex: 0 0 auto; border-radius: 50%; background: #fff0f4; color: var(--th-rose); }
.womens-clinic-badge .th-icon { width: 22px; height: 22px; }
.womens-clinic-badge strong { font-size: 12px; line-height: 1.45; }
.womens-clinic-doctor { margin: 0 0 22px; min-height: 104px; padding: 10px 13px 10px 10px; display: grid; grid-template-columns: 78px minmax(0,1fr) 24px; gap: 14px; align-items: center; border: 1px solid #efdfe4; border-radius: 13px; background: rgba(255,255,255,.92); box-shadow: 0 9px 24px rgba(84,45,57,.045); transition: border-color .18s ease, transform .18s ease, box-shadow .18s ease; }
.womens-clinic-doctor:hover { transform: translateY(-2px); border-color: #dfbdc7; box-shadow: 0 13px 28px rgba(84,45,57,.075); }
.womens-clinic-doctor__photo { width: 78px; height: 92px; display: grid; place-items: center; overflow: hidden; border-radius: 9px; background: #f4e9ec; color: var(--th-rose); }
.womens-clinic-doctor__photo img { width: 100%; height: 100%; object-fit: cover; object-position: top center; }
.womens-clinic-doctor__photo--placeholder .th-icon { width: 34px; height: 34px; opacity: .5; }
.womens-clinic-doctor__info { min-width: 0; display: grid; gap: 2px; }
.womens-clinic-doctor__info small { color: var(--th-rose); font-size: 9px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.womens-clinic-doctor__info strong { color: var(--th-dark); font-family: var(--th-serif); font-size: 18px; line-height: 1.2; }
.womens-clinic-doctor__info span { color: #6b7774; font-size: 11px; line-height: 1.35; }
.womens-clinic-doctor__info em { color: #765963; font-size: 11px; font-style: normal; font-weight: 700; line-height: 1.35; }
.womens-clinic-doctor__arrow { color: var(--th-green); }
.womens-clinic-doctor__arrow .th-icon { width: 16px; height: 16px; }
.womens-services-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 13px; }
.womens-service-card { min-height: 96px; display: flex; align-items: center; gap: 14px; padding: 17px 18px; border: 1px solid #eedfe3; border-radius: 12px; background: rgba(255,255,255,.9); box-shadow: 0 8px 22px rgba(84,45,57,.035); color: #3d5751; }
.womens-service-card > span { width: 41px; height: 41px; display: grid; place-items: center; flex: 0 0 auto; border-radius: 50%; background: #fff0f4; color: var(--th-rose); }
.womens-service-card .th-icon { width: 20px; height: 20px; }
.womens-service-card strong { font-size: 13px; line-height: 1.3; }

.round-clock-section { background: linear-gradient(160deg,#073f38,#07594d 55%,#0a6a5b); color: rgba(255,255,255,.9); }
.round-clock-header { margin-bottom: 30px; display: grid; grid-template-columns: 118px 1fr; gap: 28px; align-items: center; }
.round-clock-header h2 { margin: 3px 0 5px; color: #fff; }
.round-clock-header p { margin: 0; color: rgba(255,255,255,.72); }
.round-clock-header .eyebrow { color: #8fe0ca; }
.round-clock-mark { width: 108px; height: 108px; display: flex; align-items: center; justify-content: center; border: 1px solid rgba(255,255,255,.24); border-radius: 50%; background: rgba(255,255,255,.08); color: #fff; font-family: var(--th-serif); font-size: 32px; font-weight: 700; line-height: 1; letter-spacing: -.035em; text-align: center; font-variant-numeric: tabular-nums; }
.round-clock-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 14px; }
.round-clock-card { min-height: 112px; padding: 20px; display: flex; align-items: center; gap: 15px; border: 1px solid rgba(255,255,255,.13); border-radius: 12px; background: rgba(255,255,255,.08); backdrop-filter: blur(4px); }
.round-clock-card > span { width: 44px; height: 44px; display: grid; place-items: center; flex: 0 0 auto; border-radius: 50%; background: rgba(255,255,255,.12); color: #a6ead8; }
.round-clock-card .th-icon { width: 22px; height: 22px; }
.round-clock-card strong { color: #fff; font-size: 13px; line-height: 1.38; }

.doctors-section { border-top: 1px solid #f0f2ef; padding-top: 64px; }
.doctor-heading-actions { display: flex; align-items: center; gap: 18px; }
.doctor-scroll-controls { display: flex; gap: 7px; }
.doctor-scroll-button { width: 38px; height: 38px; display: grid; place-items: center; border: 1px solid #b8d5cd; border-radius: 50%; background: #fff; color: var(--th-green); cursor: pointer; transition: .18s ease; }
.doctor-scroll-button:hover { background: var(--th-green); color: #fff; border-color: var(--th-green); }
.doctor-scroll-button:disabled { opacity: .35; cursor: default; background: #fff; color: var(--th-green); }
.doctor-scroll-button .th-icon { width: 15px; height: 15px; }
.doctor-scroll-button:first-child .th-icon { transform: rotate(180deg); }
.doctor-carousel-body { display: grid; grid-template-columns: minmax(0,1fr) 292px; gap: 18px; align-items: stretch; }
.doctor-scroll-zone { min-width: 0; }
.doctors-track { --doctor-card-width: max(235px, calc((100% - 36px) / 3)); width: 100%; min-width: 0; display: flex; gap: 18px; align-items: stretch; overflow-x: auto; overflow-y: hidden; scroll-snap-type: x proximity; scroll-behavior: smooth; padding: 2px 2px 10px; overscroll-behavior-inline: contain; scrollbar-width: thin; scrollbar-color: #b9d6ce transparent; }
.doctors-track:focus { outline: none; }
.doctors-track:focus-visible { outline: 2px solid rgba(8,122,104,.35); outline-offset: 3px; border-radius: 10px; }
.doctors-track::-webkit-scrollbar { height: 7px; }
.doctors-track::-webkit-scrollbar-thumb { background: #b9d6ce; border-radius: 99px; }
.doctors-track::-webkit-scrollbar-track { background: transparent; }
.doctors-track .doctor-card { flex: 0 0 var(--doctor-card-width); scroll-snap-align: start; }
.doctor-scroll-hint { margin: 2px 0 0; display: flex; justify-content: flex-end; align-items: center; gap: 7px; color: #7c8d88; font-size: 15px; }
.doctor-scroll-hint .th-icon { width: 14px; height: 14px; }

.doctors-grid--archive { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 18px; align-items: stretch; }
.doctor-card { overflow: hidden; border: 1px solid #e2eae6; border-radius: 12px; background: #fff; box-shadow: var(--th-shadow-sm); }
.doctor-card__photo { height: 205px; display: grid; place-items: center; overflow: hidden; background: #f0f0ed; color: #6b9e92; }
.doctor-card__photo img { width: 100%; height: 100%; object-fit: cover; object-position: top center; }
.doctor-card__photo--placeholder .th-icon { width: 65px; height: 65px; opacity: .45; }
.doctor-card__body { padding: 14px 15px 16px; }
.doctor-card h3 { margin-bottom: 4px; font-family: var(--th-sans); font-size: 15px; }
.doctor-card p { margin: 0 0 6px; color: #6e7f7b; font-size: 10.5px; line-height: 1.35; }
.doctor-card__qualification { min-height: 16px; }
.doctor-guidance { min-height: 100%; height: 100%; padding: 33px 27px; display: flex; flex-direction: column; align-items: flex-start; justify-content: center; border-radius: 11px; background: linear-gradient(155deg,#07594d,#06473f); color: rgba(255,255,255,.9); box-shadow: var(--th-shadow); }
.doctor-guidance__icon { margin-bottom: 32px; opacity: .2; }
.doctor-guidance__icon .th-icon { width: 72px; height: 72px; }
.doctor-guidance h3 { color: #fff; font-size: 25px; }
.doctor-guidance p { font-size: 13px; line-height: 1.45; }
.doctor-guidance .button { margin-top: 12px; }

.facilities-section { background: #f8f5ed; }
.facilities-grid { display: grid; grid-template-columns: 1.4fr .86fr; gap: 48px; align-items: center; }
.facility-gallery { display: grid; grid-template-columns: 1fr 1.28fr; grid-template-rows: 175px 175px; gap: 7px; }
.facility-gallery__item { overflow: hidden; border-radius: 9px; background-size: cover; background-position: center; background-color: #dbe9e4; display: grid; place-items: center; color: #7aa196; }
.facility-gallery__item--placeholder { background-image: linear-gradient(135deg,#e6f1ed,#c9ddd6); }
.facility-gallery__item:nth-child(2) { background-position: center 55%; }
.facility-gallery__item .th-icon { width: 54px; height: 54px; opacity: .45; }
.facilities-copy h2 { max-width: 420px; }
.facilities-copy p { color: #697b76; font-size: 14px; }
.check-list { list-style: none; padding: 0; margin: 24px 0 28px; display: grid; gap: 12px; }
.check-list li { display: flex; align-items: center; gap: 10px; color: #455f59; font-size: 13px; }
.check-list .th-icon { width: 18px; height: 18px; padding: 3px; border-radius: 50%; background: var(--th-green); color: #fff; }

.testimonials-section { padding-bottom: 38px; }
.testimonials-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 30px; }
.testimonial-card { display: grid; grid-template-columns: 90px 1fr; gap: 20px; align-items: center; padding: 21px 26px; border: 1px solid #e9ece9; border-radius: 12px; background: #fff; box-shadow: 0 8px 20px rgba(8,71,59,.035); }
.testimonial-card__photo { width: 74px; height: 74px; display: grid; place-items: center; overflow: hidden; border-radius: 50%; background: #eaf4f0; color: #6f9e92; }
.testimonial-card__photo img { width: 100%; height: 100%; object-fit: cover; }
.testimonial-card__photo .th-icon { width: 34px; height: 34px; }
.testimonial-card blockquote { margin: 0 0 11px; color: #5e6e6a; font-size: 12px; line-height: 1.55; }
.testimonial-card strong { display: block; color: #284a44; font-size: 12px; }
.testimonial-card span { display: block; color: #8a9995; font-size: 10px; }

.knowledge-section { padding-top: 32px; }
.articles-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 18px; }
.article-card { overflow: hidden; border: 1px solid #e3ebe7; border-radius: 10px; background: #fff; box-shadow: 0 7px 16px rgba(7,89,77,.035); }
.article-card__image { height: 145px; display: grid; place-items: center; overflow: hidden; background: #e7f1ee; color: #75a194; }
.article-card__image img { width: 100%; height: 100%; object-fit: cover; }
.article-card__image--placeholder { background-image: linear-gradient(135deg,#e8f3ef,#d4e7e1); }
.article-card__image--placeholder .th-icon { width: 42px; height: 42px; opacity: .45; }
.article-card__body { min-height: 116px; padding: 14px 14px 16px; }
.article-card h3 { margin-bottom: 9px; font-family: var(--th-sans); font-size: 14px; line-height: 1.25; }
.article-card span { color: #879590; font-size: 10px; }

.appointment-strip { padding: 24px 0; background: #edf9f5; border-top: 1px solid #dcece6; }
.appointment-strip__inner { display: flex; justify-content: space-between; align-items: center; gap: 30px; }
.appointment-strip h2 { margin-bottom: 3px; font-size: 24px; }
.appointment-strip p { margin: 0; color: #6b7f79; font-size: 13px; }
.appointment-strip__actions { display: flex; gap: 10px; }
.contact-pill { min-width: 155px; min-height: 52px; padding: 8px 14px; display: flex; align-items: center; gap: 10px; border: 1px solid #7db7aa; border-radius: 7px; background: rgba(255,255,255,.48); color: var(--th-deep); }
.contact-pill--solid { background: var(--th-green); color: #fff; border-color: var(--th-green); }
.contact-pill .th-icon { width: 21px; height: 21px; }
.contact-pill span { display: grid; line-height: 1.15; }
.contact-pill small { font-size: 9px; }
.contact-pill strong { font-size: 11px; }

.site-footer { padding: 46px 0 0; background: linear-gradient(145deg,#064e43,#053f38); color: rgba(255,255,255,.76); }
.footer-grid { display: grid; grid-template-columns: 1.35fr .75fr 1fr 1.4fr; gap: 54px; padding-bottom: 40px; }
.footer-brand .custom-logo { max-width: 220px; height: auto; filter: brightness(0) invert(1); opacity: .95; }
.brand-fallback--footer { color: #fff; }
.footer-brand p { margin-top: 20px; max-width: 320px; font-size: 12px; line-height: 1.55; }
.site-footer h3 { margin-bottom: 17px; color: #fff; font-family: var(--th-sans); font-size: 13px; }
.footer-menu, .footer-list, .footer-contact { list-style: none; padding: 0; margin: 0; }
.footer-menu, .footer-list { display: grid; gap: 7px; font-size: 11px; }
.footer-contact { display: grid; gap: 9px; font-size: 11px; }
.footer-contact li { display: flex; align-items: flex-start; gap: 9px; }
.footer-contact .th-icon { margin-top: 5px; width: 15px; height: 15px; color: #d8f4ea; }
.site-footer a:hover { color: #fff; }
.footer-map { margin-top: 18px; display: grid; grid-template-columns: 95px 1fr; border: 1px solid rgba(255,255,255,.16); border-radius: 8px; overflow: hidden; background: rgba(255,255,255,.05); }
.footer-map__visual { min-height: 76px; display: grid; place-items: center; background: linear-gradient(135deg,#d9eee7,#f5f8ed); color: var(--th-green); }
.footer-map__visual .th-icon { width: 30px; height: 30px; }
.footer-map > span:last-child { padding: 12px; display: flex; align-items: center; justify-content: center; gap: 6px; color: #fff; font-size: 11px; font-weight: 700; }
.footer-bottom { min-height: 48px; display: flex; align-items: center; justify-content: space-between; gap: 20px; border-top: 1px solid rgba(255,255,255,.1); font-size: 10px; }
.mobile-actionbar { display: none; }

.video-modal[hidden] { display: none; }
.video-modal { position: fixed; z-index: 1000; inset: 0; display: grid; place-items: center; padding: 24px; }
.video-modal__backdrop { position: absolute; inset: 0; background: rgba(0,0,0,.72); }
.video-modal__dialog { position: relative; z-index: 1; width: min(920px,95vw); background: #071b18; border-radius: 14px; box-shadow: 0 30px 80px rgba(0,0,0,.45); }
.video-modal__frame { aspect-ratio: 16/9; }
.video-modal__frame iframe { width: 100%; height: 100%; border: 0; border-radius: 14px; display: block; }
.video-modal__close { position: absolute; z-index: 2; right: -10px; top: -48px; width: 40px; height: 40px; display: grid; place-items: center; border: 0; border-radius: 50%; background: #fff; color: var(--th-deep); cursor: pointer; }

.content-layout { min-height: 50vh; }
.content-card, .doctor-profile, .speciality-profile { padding: 34px; border: 1px solid var(--th-border); border-radius: 14px; background: #fff; box-shadow: var(--th-shadow-sm); }
.content-card + .content-card { margin-top: 24px; }
.entry-title { font-size: clamp(2rem,4vw,3.6rem); }
.entry-title a:hover { color: var(--th-green); }
.entry-content > * { max-width: 780px; }
.entry-content img { border-radius: 12px; }
.doctor-profile { display: grid; grid-template-columns: minmax(260px,420px) 1fr; gap: 46px; }
.doctor-profile__photo { min-height: 500px; display: grid; place-items: center; overflow: hidden; border-radius: 12px; background: var(--th-pale); color: var(--th-green); }
.doctor-profile__photo img { width: 100%; height: 100%; object-fit: cover; }
.doctor-profile__photo .th-icon { width: 80px; height: 80px; opacity: .4; }
.doctor-profile__content .button, .speciality-profile__content .button { margin-top: 24px; }
.eyebrow { color: var(--th-green); font-size: 12px; font-weight: 800; text-transform: uppercase; letter-spacing: .11em; }
.speciality-profile { display: grid; grid-template-columns: 1fr .85fr; gap: 48px; align-items: start; }
.speciality-profile__photo img { border-radius: 14px; }
.lead { color: #5d716b; font-size: 19px; }
.archive-page .section-heading h1 { font-size: clamp(2.5rem,4vw,4rem); }

@media (max-width: 1180px) {
  .site-shell { width: min(calc(100% - 48px), var(--th-shell)); }
  .nav-wrap__inner { grid-template-columns: minmax(190px,1fr) auto auto; gap: 16px; }
  .primary-navigation { position: fixed; inset: 116px 0 auto 0; max-height: calc(100vh - 116px); overflow: auto; padding: 20px 24px 28px; background: #fff; border-top: 1px solid var(--th-border); box-shadow: 0 16px 32px rgba(0,0,0,.08); opacity: 0; visibility: hidden; transform: translateY(-8px); transition: .18s ease; }
  .primary-navigation.is-open { opacity: 1; visibility: visible; transform: none; }
  .primary-navigation .menu { display: grid; gap: 0; }
  .primary-navigation .menu > li > a { padding: 12px 0; font-size: 16px; }
  .primary-navigation .sub-menu { position: static; width: auto; opacity: 1; visibility: visible; transform: none; box-shadow: none; border: 0; padding: 0 0 0 14px; }
  .nav-toggle { display: block; }
  .nav-appointment { margin-left: auto; }
  .hero__content { width: 62%; }
  .story-card { width: 320px; }
  .care-grid { gap: 16px; }
  .speciality-icons { gap: 12px; }
}

@media (max-width: 900px) {
  .womens-clinic-layout { grid-template-columns: 1fr; gap: 34px; }
  .round-clock-grid { grid-template-columns: 1fr 1fr; }
  .doctor-carousel-body { grid-template-columns: minmax(0,1fr) 260px; }
  .doctors-track { --doctor-card-width: max(245px, calc((100% - 18px) / 2)); }
  .site-shell { width: min(calc(100% - 40px), var(--th-shell)); }
  .topbar__right a:nth-child(2), .topbar__right a:nth-child(3), .topbar__lang { display: none; }
  .topbar__right { gap: 10px; }
  .hero { min-height: 670px; }
  .hero__media { inset: 42% 0 0 30%; background-position: right center; }
  .hero__overlay { background: linear-gradient(180deg,#fcfbf8 0%,#fcfbf8 42%,rgba(252,251,248,.73) 57%,rgba(252,251,248,.2) 78%,transparent 100%); }
  .hero__inner { min-height: 670px; align-items: flex-start; }
  .hero__content { width: 100%; padding-top: 54px; }
  .hero__lead { max-width: 540px; }
  .story-card { right: 0; bottom: 24px; width: 310px; }
  .trust-strip__grid { grid-template-columns: 1fr 1fr; }
  .stat { border-bottom: 1px solid #d5e6df; }
  .stat:nth-child(2) { border-right: 0; }
  .stat:nth-child(3), .stat:nth-child(4) { border-bottom: 0; }
  .care-grid { grid-template-columns: 1fr 1fr; }
  .piles-feature { grid-template-columns: 1fr; }
  .piles-feature__media { min-height: 390px; }
  .one-day-badge { right: 30px; }
  .piles-feature__inner { width: min(100% - 40px,700px); padding: 52px 0; }
  .speciality-icons { grid-template-columns: repeat(4,1fr); row-gap: 28px; }
  .doctors-grid--archive { grid-template-columns: 1fr 1fr; }
  .facilities-grid { grid-template-columns: 1fr; }
  .facility-gallery { grid-template-rows: 180px 180px; }
  .testimonials-grid { grid-template-columns: 1fr; }
  .articles-grid { grid-template-columns: 1fr 1fr; }
  .appointment-strip__inner { align-items: flex-start; flex-direction: column; }
  .footer-grid { grid-template-columns: 1.2fr 1fr; }
  .doctor-profile, .speciality-profile { grid-template-columns: 1fr; }
}

@media (max-width: 640px) {
  .womens-services-grid { grid-template-columns: 1fr; }
  .round-clock-header { grid-template-columns: 76px 1fr; gap: 18px; }
  .round-clock-mark { width: 72px; height: 72px; font-size: 22px; }
  .round-clock-grid { grid-template-columns: 1fr; }
  .doctor-heading-actions { width: 100%; justify-content: space-between; }
  .doctor-carousel-body { grid-template-columns: 1fr; }
  .doctors-track { --doctor-card-width: min(82vw, 310px); margin-right: -16px; padding-right: 16px; }
  .doctor-guidance { min-height: 300px; }
  body { padding-bottom: 66px; }
  .site-shell { width: min(calc(100% - 32px), var(--th-shell)); }
  .topbar { display: none; }
  .nav-wrap__inner { min-height: 70px; grid-template-columns: 1fr auto; }
  .site-branding .custom-logo { max-width: 180px; max-height: 48px; }
  .brand-fallback strong { font-size: .92rem; }
  .brand-fallback small { font-size: 7px; }
  .nav-appointment { display: none; }
  .primary-navigation { inset: 70px 0 auto 0; max-height: calc(100vh - 70px); }
  .site-header.is-scrolled .nav-wrap { top: 0; }
  .hero { min-height: 760px; }
  .hero__media { inset: 57% 0 0 0; background-position: right center; }
  .hero__overlay { background: linear-gradient(180deg,#fcfbf8 0%,#fcfbf8 57%,rgba(252,251,248,.42) 73%,rgba(252,251,248,.04) 100%); }
  .hero__content { padding: 42px 0 0; }
  .hero h1 { font-size: clamp(2.4rem,11vw,3.35rem); }
  .hero__lead { font-size: 16px; }
  .hero-quicklinks { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
  .hero-quicklink { flex-direction: row; min-width: 0; text-align: left; font-size: 11px; }
  .hero-quicklink__icon { width: 39px; height: 39px; }
  .hero__actions { display: grid; grid-template-columns: 1fr; }
  .hero__actions .button { width: 100%; }
  .story-card { left: 16px; right: 16px; bottom: 16px; width: auto; min-height: 100px; grid-template-columns: 42px 1fr 64px; }
  .story-card img { width: 64px; height: 72px; }
  .story-card__doctor { width: 58px; height: 68px; }
  .trust-strip { padding-top: 16px; }
  .trust-strip__grid { padding: 10px 8px; }
  .stat { min-height: 78px; padding: 8px 10px; gap: 10px; }
  .stat strong { font-size: 18px; }
  .stat span:last-child { font-size: 10px; }
  .stat__icon .th-icon { width: 22px; height: 22px; }
  .section { padding: 54px 0; }
  .section-heading--split { align-items: flex-start; flex-direction: column; gap: 10px; }
  .care-grid { grid-template-columns: 1fr; }
  .care-card__image { height: 220px; }
  .piles-feature__media { min-height: 300px; }
  .one-day-badge { width: 125px; height: 125px; right: 18px; border-width: 6px; }
  .one-day-badge strong { font-size: 18px; }
  .treatment-icons { grid-template-columns: 1fr 1fr; }
  .speciality-icons { grid-template-columns: 1fr 1fr; }
  .doctors-grid--archive { grid-template-columns: 1fr; }
  .doctor-card__photo { height: 360px; }
  .doctor-guidance { min-height: 310px; }
  .facility-gallery { grid-template-columns: 1fr 1fr; grid-template-rows: 135px 135px; gap: 6px; }
  .facility-gallery__item { border-radius: 7px; }
  .testimonial-card { grid-template-columns: 64px 1fr; gap: 15px; padding: 18px; }
  .testimonial-card__photo { width: 60px; height: 60px; }
  .articles-grid { grid-template-columns: 1fr; }
  .article-card { display: grid; grid-template-columns: 120px 1fr; }
  .article-card__image { height: 100%; min-height: 120px; }
  .article-card__body { min-height: 120px; display: flex; flex-direction: column; justify-content: center; }
  .appointment-strip__actions { width: 100%; display: grid; grid-template-columns: 1fr; }
  .contact-pill { width: 100%; }
  .footer-grid { grid-template-columns: 1fr; gap: 32px; }
  .footer-bottom { padding: 16px 0; flex-direction: column; align-items: flex-start; }
  .mobile-actionbar { position: fixed; z-index: 500; left: 0; right: 0; bottom: 0; height: 66px; display: grid; grid-template-columns: repeat(3,1fr); background: #fff; border-top: 1px solid #dce8e4; box-shadow: 0 -8px 26px rgba(7,89,77,.10); }
  .mobile-actionbar a { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 4px; color: var(--th-deep); font-size: 10px; font-weight: 700; }
  .mobile-actionbar a:nth-child(2) { color: #128c60; }
  .mobile-actionbar .th-icon { width: 20px; height: 20px; }
  .doctor-profile, .speciality-profile, .content-card { padding: 22px; }
  .doctor-profile__photo { min-height: 380px; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: .01ms!important; animation-iteration-count: 1!important; transition-duration: .01ms!important; }
}
.entry-featured-image { margin: 26px 0 32px; }
.entry-featured-image img { width: 100%; max-height: 620px; object-fit: cover; border-radius: 14px; }


/* ==========================================================
   Elementor compatibility (v1.1.0)
   ========================================================== */
.thoppil-elementor-content {
  width: 100%;
  max-width: none;
  margin: 0;
  padding: 0;
  overflow: clip;
}
.thoppil-elementor-content > .elementor,
.thoppil-elementor-content .elementor-section-wrap,
.thoppil-elementor-content .e-con.e-parent {
  max-width: none;
}
.page-template-template-elementor-full-width .thoppil-elementor-content,
.elementor-page .thoppil-elementor-content {
  background: transparent;
}
body.thoppil-elementor-canvas {
  margin: 0;
  padding: 0;
}
.thoppil-elementor-canvas-content {
  min-height: 100vh;
}
/* Elementor controls typography/colors when explicitly set. Theme defaults remain useful otherwise. */
.elementor .elementor-widget-heading .elementor-heading-title { margin-top: 0; }
.elementor-widget-image img { display: inline-block; }
/* Avoid the native sticky navigation offset affecting Elementor anchor links. */
.elementor-menu-anchor { scroll-margin-top: 96px; }

/* v1.5.0: Elementor-editable landing page helpers */
.thoppil-elementor-dynamic-grid { width: 100%; }
.thoppil-contact-details {
  display: grid;
  grid-template-columns: repeat(2,minmax(0,1fr));
  gap: 18px;
}
.thoppil-contact-details > div {
  border: 1px solid var(--th-border,#dce9e4);
  border-radius: 16px;
  padding: 24px;
  background: #fff;
}
.thoppil-contact-details > div > span {
  display: inline-grid;
  place-items: center;
  width: 46px;
  height: 46px;
  border-radius: 999px;
  background: #eaf7f2;
  color: #087a68;
  margin-bottom: 14px;
}
.thoppil-contact-details > div > span .th-icon { width: 22px; height: 22px; }
.thoppil-contact-details strong { display: block; margin-bottom: 6px; color: #153b36; }
.thoppil-contact-details p { margin: 0; }
.thoppil-contact-details__directions { grid-column: 1 / -1; margin: 4px 0 0; }
@media (max-width: 767px) {
  .thoppil-contact-details { grid-template-columns: 1fr; }
  .thoppil-contact-details__directions { grid-column: auto; }
}
