/* Generated medical stylesheet. Preserve source order; edit the original files and rebuild. */

/* Source: assets/css/site.css */
/* Massvaa Care - site stylesheet.
   Extracted from header.php: it was a 36 KB inline block re-sent on every page view
   and therefore never cacheable. Bump the ?v= in header.php when you edit this. */
:root {
  --teal: #0066cc;
  --teal-light: #e8f1fc;
  --teal-mid: #0052a3;
  --teal-dark: #003366;
  --gold: #d97706;
  --gold-light: #fffbeb;
  --navy: #0d1b2a;
  --navy-mid: #1b263b;
  --white: #ffffff;
  --off-white: #f8fafc;
  --gray-light: #e2e8f0;
  --gray: #64748b;
  --text: #1e293b;
  --text-muted: #475569;
  --radius: 16px;
  --radius-sm: 8px;
  --radius-pill: 50px;
  --nav-h: 72px;
  --shadow: 0 4px 20px rgba(13, 27, 42, 0.06);
  --shadow-lg: 0 10px 30px rgba(13, 27, 42, 0.12);
  --green-wa: #25d366;
  --green-wa-dark: #128c7e;
}

*,
*::before,
*::after {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

html {
  scroll-behavior: smooth;
  -webkit-text-size-adjust: 100%;
}

body {
  font-family: 'DM Sans', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
  color: var(--text);
  background: var(--white);
  overflow-x: hidden;
  line-height: 1.6;
  font-size: 16px;
}

a {
  color: inherit;
  text-decoration: none;
}

img {
  max-width: 100%;
  height: auto;
  display: block;
}

/* ===== NAV ===== */
/* Scoped to the header's id, not the bare element: any other <nav> (e.g. treatment.php's
   "Related procedures" block) was being fixed to the top of the viewport over the header. */
#navbar {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 1000;
  background: rgba(255, 255, 255, 0.98);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  border-bottom: 1px solid var(--gray-light);
  transition: all 0.3s ease;
}

#navbar.scrolled {
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08);
}

.nav-inner {
  max-width: 1240px;
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 1.5rem;
  height: var(--nav-h);
}

.nav-logo {
  display: flex;
  align-items: center;
  gap: 8px;
  text-decoration: none;
  background: var(--navy);
  padding: 6px 12px;
  border-radius: 8px;
  /* Never let a long-label locale (ru/fr/ar) crush the logo to 0 width. */
  flex-shrink: 0;
}

.nav-logo img {
  height: 34px;
  width: auto;
  flex-shrink: 0;
  object-fit: contain;
}

.nav-links {
  display: flex;
  align-items: center;
  gap: 0.25rem;
  list-style: none;
}

.nav-links a {
  padding: 0.5rem 0.85rem;
  text-decoration: none;
  color: var(--navy);
  font-size: 0.9rem;
  font-weight: 500;
  border-radius: var(--radius-sm);
  transition: all 0.2s ease;
  white-space: nowrap;
}

.nav-links a:hover,
.nav-links a.active {
  color: var(--teal);
  background: var(--teal-light);
}

.nav-cta {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  background: var(--teal) !important;
  color: white !important;
  padding: 0.6rem 1.25rem !important;
  border-radius: var(--radius-pill) !important;
  font-size: 0.85rem;
  font-weight: 600 !important;
  transition: all 0.25s ease !important;
  margin-left: 0.5rem;
}

.nav-cta:hover {
  background: var(--teal-dark) !important;
  transform: translateY(-1px);
  box-shadow: 0 4px 12px rgba(0, 102, 204, 0.25);
}

.nav-wa-btn {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  background: var(--green-wa);
  color: white !important;
  padding: 0.5rem 0.9rem;
  border-radius: var(--radius-pill);
  font-size: 0.85rem;
  font-weight: 600;
  margin-left: 0.5rem;
  transition: all 0.2s ease;
}

.nav-wa-btn:hover {
  background: var(--green-wa-dark);
  transform: translateY(-1px);
}

.mobile-menu-btn {
  display: none;
  font-size: 1.5rem;
  color: var(--navy);
  cursor: pointer;
  background: none;
  border: none;
  padding: 8px;
}

/* ===== HERO ===== */
.hero {
  position: relative;
  background: linear-gradient(135deg, #0d1b2a 0%, #152b47 50%, #003366 100%);
  color: white;
  padding-top: 100px;
  padding-bottom: 4rem;
  overflow: hidden;
}

.page-hero {
  position: relative;
  background: linear-gradient(135deg, var(--navy) 0%, var(--teal-dark) 100%);
  color: white;
  padding-top: 120px;
  padding-bottom: 4.5rem;
  overflow: hidden;
}

.hero-bg-pattern {
  position: absolute;
  inset: 0;
  opacity: 0.04;
  background-image: radial-gradient(circle at 2px 2px, white 1px, transparent 0);
  background-size: 36px 36px;
  pointer-events: none;
}

.hero-inner {
  max-width: 1240px;
  margin: 0 auto;
  padding: 3rem 1.5rem 2rem;
  display: grid;
  grid-template-columns: 1.15fr 0.85fr;
  gap: 3.5rem;
  align-items: center;
  position: relative;
  z-index: 2;
}

.hero-title {
  font-family: 'Cormorant Garamond', Georgia, serif;
  font-size: clamp(2.2rem, 4vw, 3.4rem);
  font-weight: 600;
  color: white;
  line-height: 1.15;
  margin-bottom: 1.25rem;
  letter-spacing: -0.015em;
}

.hero-title strong {
  font-weight: 700;
  color: #93c5fd;
}

.hero-sub {
  font-size: 1.05rem;
  color: rgba(255, 255, 255, 0.85);
  line-height: 1.65;
  margin-bottom: 2rem;
  max-width: 540px;
}

.hero-actions {
  display: flex;
  gap: 1rem;
  align-items: center;
  flex-wrap: wrap;
  margin-bottom: 2rem;
}

.btn-primary {
  background: var(--teal);
  color: white;
  padding: 0.85rem 1.75rem;
  border-radius: var(--radius-pill);
  text-decoration: none;
  font-weight: 600;
  font-size: 0.95rem;
  transition: all 0.25s ease;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  border: 2px solid transparent;
  cursor: pointer;
}

.btn-primary:hover {
  background: var(--teal-mid);
  transform: translateY(-2px);
  box-shadow: 0 6px 20px rgba(0, 102, 204, 0.35);
}

.btn-outline {
  background: transparent;
  color: white;
  padding: 0.85rem 1.75rem;
  border-radius: var(--radius-pill);
  text-decoration: none;
  font-weight: 600;
  font-size: 0.95rem;
  border: 1.5px solid rgba(255, 255, 255, 0.4);
  transition: all 0.25s ease;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  cursor: pointer;
}

.btn-outline:hover {
  background: rgba(255, 255, 255, 0.15);
  border-color: white;
}

.btn-outline-teal {
  background: white;
  color: var(--teal);
  padding: 0.75rem 1.5rem;
  border-radius: var(--radius-pill);
  text-decoration: none;
  font-weight: 600;
  font-size: 0.9rem;
  border: 1.5px solid var(--teal);
  transition: all 0.25s ease;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  cursor: pointer;
}

.btn-outline-teal:hover {
  background: var(--teal);
  color: white;
}

.hero-stats {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.5rem;
  padding-top: 1.5rem;
  border-top: 1px solid rgba(255, 255, 255, 0.15);
}

.hero-stat-num {
  font-family: 'Cormorant Garamond', Georgia, serif;
  font-size: 1.85rem;
  font-weight: 700;
  color: white;
  line-height: 1;
}

.hero-stat-label {
  font-size: 0.8rem;
  color: rgba(255, 255, 255, 0.7);
  margin-top: 4px;
}

/* ===== DOCTOR & HOSPITAL SPECIFIC STYLES ===== */
.doctor-hero-wrap,
.hospital-hero-wrap {
  display: flex;
  align-items: center;
  gap: 2.5rem;
  flex-wrap: wrap;
}

.doctor-avatar-box {
  width: 170px;
  height: 170px;
  border-radius: 24px;
  overflow: hidden;
  border: 4px solid rgba(255, 255, 255, 0.25);
  background: var(--teal-light);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  box-shadow: var(--shadow-lg);
}

.doctor-avatar-box img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.hospital-avatar-box {
  width: 220px;
  height: 150px;
  border-radius: 20px;
  overflow: hidden;
  border: 4px solid rgba(255, 255, 255, 0.25);
  background: var(--teal-light);
  flex-shrink: 0;
  box-shadow: var(--shadow-lg);
}

.hospital-avatar-box img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* Detail Cards Layout */
.content-grid {
  display: grid;
  grid-template-columns: 2fr 1.05fr;
  gap: 2.5rem;
  align-items: start;
}

.detail-card {
  background: white;
  border-radius: 20px;
  padding: 2.5rem;
  box-shadow: var(--shadow);
  border: 1px solid var(--gray-light);
  margin-bottom: 2rem;
}

.detail-card-header {
  display: flex;
  align-items: center;
  gap: 1.25rem;
  margin-bottom: 1.5rem;
  padding-bottom: 1rem;
  border-bottom: 1px solid var(--gray-light);
}

.detail-card-icon {
  width: 48px;
  height: 48px;
  border-radius: 12px;
  background: var(--teal-light);
  color: var(--teal);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.35rem;
  flex-shrink: 0;
}

.detail-card-header h2,
.detail-card-header h3 {
  font-family: 'Cormorant Garamond', Georgia, serif;
  font-size: 1.65rem;
  color: var(--navy);
  margin: 0;
}

.meta-pills-row {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 1rem;
  margin-bottom: 1.75rem;
}

.meta-pill-item {
  background: var(--off-white);
  border: 1px solid var(--gray-light);
  padding: 0.9rem 1.15rem;
  border-radius: 12px;
  display: flex;
  align-items: center;
  gap: 12px;
}

.meta-pill-icon {
  font-size: 1.35rem;
  color: var(--teal);
}

.meta-pill-label {
  font-size: 0.72rem;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--gray);
  font-weight: 700;
  margin-bottom: 2px;
}

.meta-pill-val {
  font-size: 0.95rem;
  font-weight: 700;
  color: var(--navy);
  line-height: 1.3;
}

.inclusions-two-col {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1.5rem;
}

.inclusion-box {
  background: var(--off-white);
  border: 1px solid var(--gray-light);
  border-radius: 14px;
  padding: 1.5rem;
}

.inclusion-box h4 {
  font-size: 1.05rem;
  color: var(--navy);
  margin-bottom: 1rem;
  display: flex;
  align-items: center;
  gap: 8px;
}

.inclusion-box ul {
  list-style: none;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 0.6rem;
}

.inclusion-box li {
  font-size: 0.88rem;
  color: var(--text-muted);
  display: flex;
  align-items: center;
  gap: 8px;
}

.inclusion-box li i {
  color: var(--teal);
  font-size: 0.8rem;
}

/* Sticky Sidebar Consultation Card */
.sticky-sidebar-wrapper {
  position: sticky;
  top: 92px;
}

.sidebar-consult-card {
  background: white;
  border-radius: 20px;
  padding: 2.25rem;
  box-shadow: var(--shadow-lg);
  border: 1px solid var(--gray-light);
}

.sidebar-consult-header {
  margin-bottom: 1.5rem;
  padding-bottom: 1rem;
  border-bottom: 1px solid var(--gray-light);
}

.sidebar-consult-header h3 {
  font-family: 'Cormorant Garamond', Georgia, serif;
  font-size: 1.6rem;
  color: var(--navy);
  margin-bottom: 0.35rem;
}

.sidebar-consult-header p {
  font-size: 0.88rem;
  color: var(--text-muted);
  line-height: 1.5;
}

/* Filter & Search Bar */
.filter-bar {
  background: white;
  border-radius: 16px;
  padding: 1.25rem 1.5rem;
  box-shadow: var(--shadow);
  border: 1px solid var(--gray-light);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1.5rem;
  flex-wrap: wrap;
  margin-bottom: 2.5rem;
}

.search-input-wrap {
  display: flex;
  align-items: center;
  gap: 10px;
  background: var(--off-white);
  border: 1.5px solid var(--gray-light);
  border-radius: var(--radius-pill);
  padding: 0.5rem 1.25rem;
  flex: 1;
  min-width: 260px;
}

.search-input-wrap input {
  border: none;
  background: transparent;
  outline: none;
  font-family: inherit;
  font-size: 0.95rem;
  width: 100%;
  color: var(--text);
}

.filter-select {
  border: 1.5px solid var(--gray-light);
  background: var(--off-white);
  border-radius: var(--radius-pill);
  padding: 0.6rem 1.25rem;
  font-family: inherit;
  font-size: 0.9rem;
  color: var(--navy);
  font-weight: 600;
  outline: none;
  cursor: pointer;
}

/* Doctor Card Enhanced */
.doctor-card {
  background: white;
  border-radius: 18px;
  padding: 1.75rem;
  box-shadow: var(--shadow);
  border: 1px solid var(--gray-light);
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  transition: all 0.3s ease;
}

.doctor-avatar {
  width: 110px;
  height: 110px;
  border-radius: 50%;
  background: var(--teal-light);
  margin: 0 auto 1.25rem;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  border: 3px solid var(--teal-light);
  box-shadow: var(--shadow);
  flex-shrink: 0;
}

.doctor-avatar img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.doctor-spec-pill {
  display: inline-block;
  background: var(--teal-light);
  color: var(--teal-dark);
  padding: 4px 12px;
  border-radius: var(--radius-pill);
  font-size: 0.8rem;
  font-weight: 700;
  margin-bottom: 0.65rem;
}

/* Hospital Card Enhanced */
.hospital-card-img {
  height: 180px;
  border-radius: 12px;
  overflow: hidden;
  margin-bottom: 1.25rem;
  background: var(--off-white);
  border: 1px solid var(--gray-light);
}

.hospital-card-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.4s ease;
}

.hospital-card:hover .hospital-card-img img {
  transform: scale(1.04);
}

/* ===== SECTION STYLING ===== */
section {
  padding: 4.5rem 0;
}

.section-inner {
  max-width: 1240px;
  margin: 0 auto;
  padding: 0 1.5rem;
}

.section-header {
  margin-bottom: 2.5rem;
}

.section-title {
  font-family: 'Cormorant Garamond', Georgia, serif;
  font-size: clamp(2rem, 3.2vw, 2.75rem);
  font-weight: 600;
  color: var(--navy);
  line-height: 1.2;
  margin-bottom: 0.75rem;
}

.section-title em {
  font-style: italic;
  color: var(--teal);
}

.section-sub {
  color: var(--text-muted);
  font-size: 1.05rem;
  line-height: 1.6;
  max-width: 680px;
}

/* ===== PARTNER STRIP ===== */
.partners-strip {
  background: var(--navy);
  border-top: 1px solid rgba(255, 255, 255, 0.1);
  border-bottom: 1px solid rgba(255, 255, 255, 0.1);
  padding: 1.25rem 0;
  color: white;
}

.partners-inner {
  max-width: 1240px;
  margin: 0 auto;
  padding: 0 1.5rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 2rem;
  flex-wrap: wrap;
}

.partners-label {
  font-size: 0.82rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: rgba(255, 255, 255, 0.6);
}

.partners-logos {
  display: flex;
  align-items: center;
  gap: 2rem;
  flex-wrap: wrap;
}

.partner-logo-item {
  font-family: 'Cormorant Garamond', Georgia, serif;
  font-size: 1.25rem;
  font-weight: 700;
  color: rgba(255, 255, 255, 0.85);
  letter-spacing: 0.02em;
}

/* ===== GRIDS ===== */
.two-col-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 2.5rem;
  align-items: start;
}

.three-col-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 2rem;
}

.hospitals-grid,
.treatment-cards-grid,
.doctors-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(290px, 1fr));
  gap: 2rem;
}

.treatments-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(170px, 1fr));
  gap: 1rem;
}

/* ===== CARDS ===== */
.hospital-card,
.treatment-card {
  background: white;
  border-radius: 18px;
  padding: 1.5rem;
  box-shadow: var(--shadow);
  border: 1px solid var(--gray-light);
  display: flex;
  flex-direction: column;
  transition: all 0.3s ease;
}

.hospital-card:hover,
.treatment-card:hover,
.doctor-card:hover {
  transform: translateY(-4px);
  box-shadow: var(--shadow-lg);
  border-color: var(--teal-light);
}

.hospital-badge {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  background: var(--teal-light);
  color: var(--teal-dark);
  padding: 4px 10px;
  border-radius: var(--radius-pill);
  font-size: 0.75rem;
  font-weight: 700;
  margin-bottom: 0.75rem;
}

.hospital-badge .dot {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--teal);
}

.hospital-name,
.treatment-card-name,
.doctor-name {
  font-family: 'Cormorant Garamond', Georgia, serif;
  font-size: 1.35rem;
  font-weight: 700;
  color: var(--navy);
  margin-bottom: 0.4rem;
  line-height: 1.25;
}

.hospital-location,
.doctor-hospital {
  font-size: 0.85rem;
  color: var(--text-muted);
  margin-bottom: 0.75rem;
  display: flex;
  align-items: center;
  gap: 6px;
  justify-content: center;
}

.hospital-location {
  justify-content: flex-start;
}

.treatment-item {
  background: white;
  border: 1.5px solid var(--gray-light);
  border-radius: 12px;
  padding: 1.25rem 1rem;
  text-align: center;
  transition: all 0.25s ease;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
}

.treatment-item:hover {
  border-color: var(--teal);
  background: var(--teal-light);
  transform: translateY(-2px);
}

.treatment-item .treatment-icon {
  font-size: 1.75rem;
  color: var(--teal);
}

.treatment-item .treatment-name {
  font-size: 0.88rem;
  font-weight: 600;
  color: var(--navy);
}

/* ===== REVIEWS & TESTIMONIALS ===== */
.testimonials-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
  gap: 2rem;
}

.testimonial-card {
  background: white;
  border-radius: 16px;
  padding: 2rem;
  box-shadow: var(--shadow);
  border: 1px solid var(--gray-light);
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}

.testimonial-stars {
  color: #f59e0b;
  font-size: 1.1rem;
  margin-bottom: 1rem;
  letter-spacing: 2px;
}

.testimonial-text {
  color: var(--text-muted);
  font-size: 0.95rem;
  line-height: 1.65;
  margin-bottom: 1.5rem;
  font-style: italic;
}

.testimonial-author {
  display: flex;
  align-items: center;
  gap: 12px;
  border-top: 1px solid var(--gray-light);
  padding-top: 1rem;
}

.testimonial-avatar {
  width: 44px;
  height: 44px;
  border-radius: 50%;
  background: var(--teal-light);
  color: var(--teal);
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 700;
  font-size: 0.9rem;
  overflow: hidden;
  flex-shrink: 0;
}

.testimonial-name {
  font-size: 0.95rem;
  font-weight: 700;
  color: var(--navy);
}

.testimonial-role {
  font-size: 0.8rem;
  color: var(--text-muted);
}

/* ===== FORM STYLING ===== */
.contact-form {
  background: white;
  border-radius: 20px;
  padding: 2.25rem;
  box-shadow: var(--shadow-lg);
  border: 1px solid var(--gray-light);
}

.form-title {
  font-family: 'Cormorant Garamond', Georgia, serif;
  font-size: 1.85rem;
  font-weight: 700;
  color: var(--navy);
  margin-bottom: 0.35rem;
}

.form-sub {
  color: var(--text-muted);
  font-size: 0.88rem;
  margin-bottom: 1.5rem;
  line-height: 1.5;
}

.form-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1rem;
  margin-bottom: 1rem;
}

.form-group {
  display: flex;
  flex-direction: column;
  gap: 6px;
  margin-bottom: 1rem;
}

.form-label {
  font-size: 0.85rem;
  font-weight: 600;
  color: var(--navy);
}

.form-input,
.form-textarea {
  width: 100%;
  padding: 0.75rem 1rem;
  border-radius: var(--radius-sm);
  border: 1.5px solid var(--gray-light);
  font-family: inherit;
  font-size: 16px;
  /* Prevents auto zoom on mobile iOS */
  color: var(--text);
  background: white;
  outline: none;
  transition: border-color 0.2s ease;
  min-height: 48px;
}

.form-textarea {
  min-height: 90px;
  resize: vertical;
}

.form-input:focus,
.form-textarea:focus {
  border-color: var(--teal);
}

.form-submit {
  width: 100%;
  height: 50px;
  background: var(--teal);
  color: white;
  border: none;
  border-radius: var(--radius-sm);
  font-size: 1rem;
  font-weight: 700;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  transition: all 0.25s ease;
}

.form-submit:hover {
  background: var(--teal-dark);
}

/* Honeypot hidden input */
.hp-field {
  display: none !important;
  visibility: hidden !important;
}

/* ===== HERO CARD & STEP STYLES ===== */
.hero-card-main {
  background: rgba(255, 255, 255, 0.08);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  border: 1px solid rgba(255, 255, 255, 0.18);
  border-radius: 20px;
  padding: 2rem;
  box-shadow: 0 20px 50px rgba(0, 0, 0, 0.35);
}

.hero-card-title {
  font-family: 'Cormorant Garamond', Georgia, serif;
  font-size: 1.35rem;
  font-weight: 700;
  color: white;
  margin-bottom: 1.5rem;
  padding-bottom: 0.75rem;
  border-bottom: 1px solid rgba(255, 255, 255, 0.15);
  display: flex;
  align-items: center;
}

.hero-card-title .icon {
  color: #60a5fa;
  margin-inline-end: 6px;
}

/* WhatsApp brand green, for icons sitting on a light background */
.icon-whatsapp {
  color: #25d366;
}

.hero-card-steps {
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
}

.hero-step-item {
  display: flex;
  gap: 1rem;
  align-items: flex-start;
}

.hero-step-num {
  width: 32px;
  height: 32px;
  border-radius: 50%;
  background: var(--teal);
  color: white;
  font-weight: 700;
  font-size: 0.85rem;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  box-shadow: 0 4px 12px rgba(0, 102, 204, 0.4);
}

.hero-step-text h4 {
  font-size: 0.95rem;
  font-weight: 700;
  color: white;
  margin-bottom: 2px;
}

.hero-step-text p {
  font-size: 0.82rem;
  color: rgba(255, 255, 255, 0.75);
  line-height: 1.4;
  margin: 0;
}

/* ===== STICKY MOBILE BAR (MOBILE ONLY) ===== */
.sticky-bar {
  display: none;
}

/* ===== INDICATIVE PRICE BAND (treatment hero) ===== */
.price-band {
  background: rgba(255, 255, 255, 0.07);
  border: 1px solid rgba(255, 255, 255, 0.16);
  border-radius: 16px;
  padding: 1.5rem;
  margin-top: 1.5rem;
  max-width: 420px;
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
}

.price-band-title {
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.09em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.6);
  margin-bottom: 1rem;
}

.price-band-row {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  margin-bottom: 6px;
}

.price-band-label {
  font-size: 0.85rem;
  color: rgba(255, 255, 255, 0.72);
}

.price-band-value {
  font-size: 1.05rem;
  font-weight: 700;
  color: white;
  font-variant-numeric: tabular-nums;
}

.price-band-track {
  height: 6px;
  border-radius: 3px;
  background: rgba(255, 255, 255, 0.12);
  overflow: hidden;
  margin-bottom: 1rem;
}

.price-band-fill {
  display: block;
  height: 100%;
  border-radius: 3px;
  background: linear-gradient(90deg, #34d399, #60a5fa);
}

.price-band-note {
  font-size: 0.73rem;
  line-height: 1.5;
  color: rgba(255, 255, 255, 0.55);
  margin: 0 0 0.6rem;
}

/* ===== TREATMENT CARD PRICE (treatments.php; figures from data/estimator.json) ===== */
.treatment-card-price {
  display: flex;
  flex-direction: column;
  gap: 2px;
  margin-bottom: 0.6rem;
}
.treatment-card-price small {
  font-size: 0.72rem;
  font-weight: 600;
  color: var(--text-muted);
}
.treatment-card-price b {
  font-size: 1.1rem;
  font-weight: 800;
  color: var(--teal);
  letter-spacing: -0.01em;
}
[dir="rtl"] .treatment-card-price b { direction: ltr; unicode-bidi: isolate; text-align: right; }
.treatment-card-links {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  flex-wrap: wrap;
}
.treatment-card-cost {
  font-size: 0.8rem;
  font-weight: 700;
  color: var(--navy);
  text-decoration: none;
  border: 1px solid var(--gray-light);
  border-radius: 50px;
  padding: 4px 12px;
}
.treatment-card-cost:hover { border-color: var(--teal); color: var(--teal); }

/* ===== RELATED RAILS (treatment detail: specialists / hospitals / sibling procedures) ===== */
.rail-section {
  background: white;
  padding: 3.5rem 0;
  border-top: 1px solid var(--gray-light);
}

.rail-section-alt {
  background: var(--off-white);
}

.rail-head {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: 1rem;
  flex-wrap: wrap;
  margin-bottom: 1.75rem;
}

.rail-head h2 {
  font-family: 'Cormorant Garamond', serif;
  font-size: clamp(1.5rem, 2.4vw, 2rem);
  color: var(--navy);
  margin: 0;
}

.rail-head-link {
  color: var(--teal);
  font-weight: 700;
  font-size: 0.88rem;
  text-decoration: none;
  white-space: nowrap;
}

.rail-head-link:hover {
  text-decoration: underline;
}

.rail-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
  gap: 1.25rem;
}

.rail-card {
  display: flex;
  flex-direction: column;
  background: white;
  border: 1px solid var(--gray-light);
  border-radius: 16px;
  padding: 1.25rem;
  box-shadow: var(--shadow);
}

.rail-section-alt .rail-card {
  background: white;
}

.rail-card-avatar {
  width: 72px;
  height: 72px;
  border-radius: 50%;
  object-fit: cover;
  margin-bottom: 0.85rem;
}

.rail-card-photo {
  width: 100%;
  height: 130px;
  object-fit: cover;
  border-radius: 10px;
  margin-bottom: 0.85rem;
}

.rail-card-title {
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.35;
  margin: 0 0 0.35rem;
}

.rail-card-title a {
  color: var(--navy);
  text-decoration: none;
}

.rail-card-title a:hover {
  color: var(--teal);
}

.rail-card-role {
  font-size: 0.82rem;
  color: var(--text-muted);
  line-height: 1.45;
  margin: 0 0 0.5rem;
}

.rail-card-meta {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 0.8rem;
  color: var(--teal);
  font-weight: 600;
  margin: 0 0 0.5rem;
}

.rail-card-actions {
  display: flex;
  gap: 8px;
  margin-top: auto;
  padding-top: 0.9rem;
}

.rail-btn {
  flex: 1;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  font-size: 0.8rem;
  font-weight: 700;
  padding: 0.6rem 0.5rem;
  border-radius: 8px;
  text-decoration: none;
  white-space: nowrap;
}

.rail-btn-wa {
  background: #25d366;
  color: white;
  border: 1px solid #25d366;
}

.rail-btn-wa:hover {
  background: #1ebe5b;
}

/* The two actions are nowrap, so stack them rather than let them overflow the card. */
@media (max-width: 420px) {
  .rail-card-actions {
    flex-direction: column;
  }
}

/* ===== RELATED PAGES CLUSTER ===== */
.related-pages {
  border: 1px solid var(--gray-light);
  border-radius: 16px;
  padding: 1.75rem;
  background: var(--off-white);
}

.related-pages-head {
  display: flex;
  align-items: baseline;
  gap: 0.75rem;
  margin-bottom: 1rem;
}

.related-pages-head h2 {
  font-family: 'Cormorant Garamond', serif;
  font-size: 1.4rem;
  color: var(--navy);
  margin: 0;
}

.related-pages-head span {
  font-size: 0.78rem;
  color: var(--text-muted);
}

.related-pages ul {
  list-style: none;
  padding: 0;
  margin: 0 0 1rem;
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
  gap: 0.5rem 1.5rem;
}

.related-pages li a {
  display: block;
  padding: 0.35rem 0;
  font-size: 0.88rem;
  color: var(--navy);
  text-decoration: none;
  border-bottom: 1px solid transparent;
}

.related-pages li a:hover {
  color: var(--teal);
  border-bottom-color: var(--gray-light);
}

.related-pages-all {
  color: var(--teal);
  font-weight: 700;
  font-size: 0.88rem;
  text-decoration: none;
}

.related-pages-all:hover {
  text-decoration: underline;
}

/* ===== PHONE FIELD WITH DIAL CODE ===== */
.phone-field {
  display: flex;
  gap: 8px;
}

.phone-field select {
  flex: 0 0 auto;
  width: auto;
  min-width: 118px;
  background-color: white;
}

.phone-field input {
  flex: 1 1 auto;
  min-width: 0;
}

/* ===== SPECIALTY FACETS (listing pages) ===== */
.facet-row {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  margin-bottom: 1.5rem;
}

.facet {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 0.5rem 1rem;
  border-radius: var(--radius-pill);
  border: 1.5px solid var(--gray-light);
  background: var(--white);
  color: var(--navy);
  font-size: 0.85rem;
  font-weight: 600;
  transition: all 0.2s ease;
  white-space: nowrap;
}

.facet:hover {
  border-color: var(--teal);
  color: var(--teal);
}

.facet-active {
  background: var(--teal);
  border-color: var(--teal);
  color: white;
}

.facet-count {
  font-size: 0.75rem;
  font-weight: 700;
  padding: 1px 7px;
  border-radius: var(--radius-pill);
  background: var(--teal-light);
  color: var(--teal-dark);
}

.facet-active .facet-count {
  background: rgba(255, 255, 255, 0.22);
  color: white;
}

/* ===== NAV SEARCH ===== */
.nav-search-link {
  display: inline-flex;
  align-items: center;
  gap: 7px;
}

/* On desktop the nav is already full, so show the icon only; the label returns
   inside the mobile drawer where there is room for it. */
.nav-search-label {
  display: none;
}

/* ===== SEARCH PAGE ===== */
.search-page-form {
  display: flex;
  align-items: center;
  gap: 10px;
  max-width: 680px;
  margin: 0 auto;
  background: rgba(255, 255, 255, 0.1);
  border: 1px solid rgba(255, 255, 255, 0.25);
  border-radius: var(--radius-pill);
  padding: 6px 6px 6px 20px;
}

.search-page-form i {
  color: rgba(255, 255, 255, 0.6);
}

.search-page-form input {
  flex: 1;
  border: none;
  background: transparent;
  color: white;
  font-family: inherit;
  font-size: 16px;
  outline: none;
  min-height: 44px;
}

.search-page-form input::placeholder {
  color: rgba(255, 255, 255, 0.5);
}

.search-group-title {
  display: flex;
  align-items: center;
  gap: 10px;
  font-family: 'Cormorant Garamond', Georgia, serif;
  font-size: 1.6rem;
  color: var(--navy);
  margin: 2.5rem 0 1rem;
}

.search-group-title:first-of-type {
  margin-top: 0;
}

.search-group-title i {
  color: var(--teal);
  font-size: 1.1rem;
}

.search-results {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
  gap: 1rem;
}

.search-result {
  display: block;
  background: var(--white);
  border: 1px solid var(--gray-light);
  border-radius: var(--radius);
  padding: 1.25rem;
  transition: all 0.2s ease;
}

.search-result:hover {
  border-color: var(--teal);
  box-shadow: var(--shadow);
  transform: translateY(-2px);
}

.search-result-title {
  font-weight: 700;
  color: var(--navy);
  margin-bottom: 4px;
}

.search-result-sub {
  font-size: 0.8rem;
  color: var(--teal);
  font-weight: 600;
  margin-bottom: 8px;
}

.search-result-body {
  font-size: 0.85rem;
  color: var(--text-muted);
  line-height: 1.5;
  margin: 0;
}

/* ===== ACCESSIBILITY ===== */
/* There was no visible focus indicator anywhere, so keyboard and screen-reader users
   had no way to tell which control they were on. :focus-visible keeps it off for
   mouse clicks. */
:focus-visible {
  outline: 3px solid var(--teal);
  outline-offset: 2px;
  border-radius: 4px;
}

.hero :focus-visible,
.page-hero :focus-visible,
footer :focus-visible,
.sticky-bar :focus-visible {
  outline-color: #93c5fd;
}

.visually-hidden {
  position: absolute !important;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  overflow: hidden;
  clip: rect(0 0 0 0);
  clip-path: inset(50%);
  white-space: nowrap;
  border: 0;
}

.skip-link {
  position: absolute;
  left: 50%;
  top: 0;
  transform: translate(-50%, -150%);
  z-index: 2000;
  background: var(--teal);
  color: #fff;
  padding: 0.75rem 1.5rem;
  border-radius: 0 0 var(--radius-sm) var(--radius-sm);
  font-weight: 600;
  transition: transform 0.2s ease;
}

.skip-link:focus {
  transform: translate(-50%, 0);
}

/* Respect the OS "reduce motion" setting: this site animates transforms on most
   interactive elements, which can trigger nausea for vestibular-disorder users. */
@media (prefers-reduced-motion: reduce) {

  *,
  *::before,
  *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
}

/* ===== ICONS =====
   SVG sprite references replacing the Font Awesome webfont. The full CDN CSS plus three
   webfonts cost 402 KB to draw ~70 glyphs; assets/icons.svg carries only the glyphs this
   site uses. Sized in em so existing font-size styling still controls them, and filled
   with currentColor so existing color styling still applies. */
.icon {
  width: 1em;
  height: 1em;
  fill: currentColor;
  display: inline-block;
  vertical-align: -0.125em;
  flex-shrink: 0;
}

.fa-spin {
  animation: fa-spin 2s linear infinite;
}

@keyframes fa-spin {
  from {
    transform: rotate(0deg);
  }

  to {
    transform: rotate(360deg);
  }
}

.fa-fw {
  width: 1.25em;
}

/* ===== SCRIPT-SPECIFIC TYPEFACES ===== */
/* DM Sans covers Latin only. Cormorant Garamond does carry Cyrillic, so Russian headings
   keep the brand serif; only the body face has to change. Arabic has neither, so both
   roles fall to Noto Kufi Arabic. */
[lang="ru"] body,
[lang="ru"] .form-input,
[lang="ru"] .form-textarea {
  font-family: 'Inter', 'Segoe UI', system-ui, -apple-system, sans-serif;
}

[lang="ar"] body,
[lang="ar"] .form-input,
[lang="ar"] .form-textarea,
[lang="ar"] .hero-title,
[lang="ar"] .section-title,
[lang="ar"] .footer-col-title {
  font-family: 'Noto Kufi Arabic', 'Segoe UI', Tahoma, sans-serif;
}

/* Arabic runs taller than Latin at the same size and needs more leading. */
[lang="ar"] body {
  line-height: 1.8;
}

/* ===== LANGUAGE SWITCHER ===== */
.lang-switch {
  position: relative;
}

.lang-switch>summary {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  padding: 0.5rem 0.85rem;
  font-size: 0.9rem;
  font-weight: 500;
  color: var(--navy);
  border-radius: var(--radius-sm);
  cursor: pointer;
  list-style: none;
  white-space: nowrap;
  transition: all 0.2s ease;
}

.lang-switch>summary::-webkit-details-marker {
  display: none;
}

.lang-switch>summary:hover,
.lang-switch[open]>summary {
  color: var(--teal);
  background: var(--teal-light);
}

.lang-switch-caret {
  font-size: 0.65rem;
  opacity: 0.6;
  transition: transform 0.2s ease;
}

.lang-switch[open] .lang-switch-caret {
  transform: rotate(180deg);
}

.lang-switch-menu {
  position: absolute;
  top: calc(100% + 8px);
  inset-inline-end: 0;
  min-width: 180px;
  background: var(--white);
  border: 1px solid var(--gray-light);
  border-radius: var(--radius-sm);
  box-shadow: var(--shadow-lg);
  padding: 6px;
  list-style: none;
  z-index: 1100;
}

.lang-switch-menu a {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding: 0.6rem 0.75rem !important;
  border-radius: 6px;
  font-size: 0.9rem;
  color: var(--navy);
}

.lang-switch-menu a:hover {
  background: var(--teal-light);
  color: var(--teal);
}

.lang-switch-menu a[aria-current="true"] {
  color: var(--teal);
  font-weight: 700;
}

/* ===== UNTRANSLATED-CONTENT NOTICE ===== */
.lang-notice {
  display: flex;
  align-items: center;
  gap: 1rem;
  flex-wrap: wrap;
  max-width: 1240px;
  margin: 0 auto;
  padding: 0.85rem 1.5rem;
  margin-top: var(--nav-h);
  background: var(--gold-light);
  border-bottom: 1px solid #fde68a;
  font-size: 0.85rem;
  color: #78350f;
}

/* The navbar is fixed, so pages normally reserve their own top padding. When the notice
   is present it takes that offset instead and the hero sits below it. */
.lang-notice+* .hero,
.lang-notice+* .page-hero {
  padding-top: 2.5rem;
}

.lang-notice i {
  color: var(--gold);
  font-size: 1.1rem;
}

.lang-notice strong {
  display: block;
  color: #78350f;
}

.lang-notice span {
  color: #92400e;
  line-height: 1.5;
}

.lang-notice-cta {
  margin-inline-start: auto;
  background: var(--gold);
  color: white !important;
  padding: 0.5rem 1rem;
  border-radius: var(--radius-pill);
  font-weight: 600;
  white-space: nowrap;
}

/* ===== RTL (Arabic) ===== */
/* The layout is almost entirely flex/grid, which mirrors automatically under dir="rtl".
   These are the few places that pin a physical direction. */
[dir="rtl"] body {
  text-align: start;
}

/* Body copy is still English in every locale. Inside an RTL container a plain English
   sentence gets its trailing punctuation flung to the wrong end (".like this"), because
   the paragraph inherits RTL. unicode-bidi: plaintext makes each paragraph take its
   direction from its own first strong character, so English reads correctly and Arabic
   still reads correctly once it is translated. */
[dir="rtl"] p,
[dir="rtl"] li,
[dir="rtl"] h1,
[dir="rtl"] h2,
[dir="rtl"] h3,
[dir="rtl"] h4,
[dir="rtl"] label,
[dir="rtl"] option,
[dir="rtl"] blockquote,
[dir="rtl"] .hero-sub,
[dir="rtl"] .section-sub,
[dir="rtl"] .hospital-name,
[dir="rtl"] .hospital-location,
[dir="rtl"] .doctor-name,
[dir="rtl"] .doctor-hospital,
[dir="rtl"] .treatment-card-name,
[dir="rtl"] .search-result-title,
[dir="rtl"] .search-result-body,
[dir="rtl"] footer span,
[dir="rtl"] footer strong,
[dir="rtl"] .footer-bottom-row>div {
  unicode-bidi: plaintext;
}

[dir="rtl"] .premium-structured-content blockquote {
  border-left: none;
  border-right: 4px solid var(--teal);
  border-radius: var(--radius-sm) 0 0 var(--radius-sm);
}

[dir="rtl"] .premium-structured-content ul,
[dir="rtl"] .premium-structured-content ol {
  padding-left: 0;
  padding-right: 1.25rem;
}

[dir="rtl"] .hero-sub,
[dir="rtl"] .section-sub {
  margin-left: auto;
  margin-right: 0;
}

/* Latin-script values stay LTR inside an RTL page: phone numbers, prices, URLs. */
[dir="rtl"] .price-band-value,
[dir="rtl"] .hero-stat-num,
[dir="rtl"] a[href^="tel:"],
[dir="rtl"] a[href*="wa.me"] {
  direction: ltr;
  unicode-bidi: embed;
}

@media (max-width: 768px) {
  .lang-switch-menu {
    position: static;
    box-shadow: none;
    border: none;
    padding: 0 0 0 0.5rem;
    min-width: 0;
  }

  .lang-notice {
    margin-top: 64px;
  }

  .lang-notice-cta {
    margin-inline-start: 0;
  }
}

/* ===== FOOTER ===== */
footer {
  background: var(--navy);
  /* Brand wash so the footer reads as a deliberate closing block rather than a flat slab. */
  background-image: radial-gradient(900px 380px at 12% 0%, rgba(0, 102, 204, 0.3), transparent 72%);
  color: rgba(255, 255, 255, 0.8);
  padding: 0 0 2rem;
  border-top: 1px solid rgba(255, 255, 255, 0.1);
}

.footer-assurance {
  max-width: 1240px;
  margin: 0 auto;
  padding: 2.25rem 1.5rem;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1.5rem 2rem;
  border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}

.footer-assurance-item {
  display: flex;
  align-items: flex-start;
  gap: 12px;
}

.footer-assurance-item>.icon {
  font-size: 1.4rem;
  color: #60a5fa;
  margin-top: 0.1em;
}

.footer-assurance-item strong {
  display: block;
  color: white;
  font-size: 0.92rem;
  font-weight: 600;
  line-height: 1.35;
}

.footer-assurance-item span {
  display: block;
  margin-top: 3px;
  font-size: 0.8rem;
  line-height: 1.5;
  color: rgba(255, 255, 255, 0.6);
}

.footer-inner {
  max-width: 1240px;
  margin: 0 auto;
  padding: 3.5rem 1.5rem 3rem;
  display: grid;
  grid-template-columns: 1.7fr repeat(4, 1fr);
  gap: 2.5rem;
}

.footer-logo {
  display: inline-block;
  margin-bottom: 1rem;
  padding: 4px;
  border-radius: 6px;
  background: rgba(255, 255, 255, 0.05);
}

.footer-brand-desc {
  font-size: 0.88rem;
  line-height: 1.6;
  color: rgba(255, 255, 255, 0.65);
  max-width: 62ch;
  margin-bottom: 1.25rem;
}

.footer-contact {
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: 0.6rem;
  margin-bottom: 1.25rem;
  font-size: 0.88rem;
}

.footer-contact li {
  display: flex;
  align-items: flex-start;
  gap: 10px;
}

.footer-contact .icon {
  color: #60a5fa;
  margin-top: 0.35em;
}

.footer-contact .is-wa .icon,
.footer-contact li.is-wa .icon {
  color: var(--green-wa);
}

.footer-contact a {
  color: rgba(255, 255, 255, 0.85);
  transition: color 0.2s ease;
}

.footer-contact a:hover {
  color: white;
  text-decoration: underline;
}

.footer-cta {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 0.7rem 1.35rem;
  border-radius: var(--radius-pill);
  background: var(--teal);
  color: white;
  font-size: 0.88rem;
  font-weight: 600;
  transition: all 0.25s ease;
}

.footer-cta:hover {
  background: var(--teal-mid);
  transform: translateY(-2px);
  box-shadow: 0 6px 20px rgba(0, 102, 204, 0.35);
}

.footer-col-title {
  font-family: 'Cormorant Garamond', Georgia, serif;
  font-size: 1.25rem;
  line-height: 1.3;
  font-weight: 700;
  color: white;
  margin-bottom: 1.25rem;
}

.footer-links {
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: 0.65rem;
}

.footer-links a {
  color: rgba(255, 255, 255, 0.7);
  font-size: 0.88rem;
  transition: color 0.2s ease;
  text-decoration: none;
}

.footer-links a:hover {
  color: white;
  text-decoration: underline;
}

.footer-link-more {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  margin-top: 0.15rem;
  font-weight: 600;
  color: #60a5fa !important;
}

[dir="rtl"] .footer-link-more .icon {
  transform: scaleX(-1);
}

.footer-socials {
  display: flex;
  gap: 10px;
  margin-top: 1.25rem;
}

.footer-social {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.1);
  display: flex;
  align-items: center;
  justify-content: center;
  color: white;
  font-size: 0.9rem;
  transition: all 0.2s ease;
}

.footer-social:hover {
  background: var(--teal);
  transform: translateY(-2px);
}

.footer-countries {
  max-width: 1240px;
  margin: 0 auto;
  padding: 1.5rem;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.5rem 0.6rem;
  border-top: 1px solid rgba(255, 255, 255, 0.1);
  font-size: 0.82rem;
}

.footer-countries-label {
  color: rgba(255, 255, 255, 0.5);
  font-weight: 600;
  margin-inline-end: 0.4rem;
}

.footer-countries a {
  color: rgba(255, 255, 255, 0.75);
  padding: 0.3rem 0.8rem;
  border-radius: var(--radius-pill);
  background: rgba(255, 255, 255, 0.06);
  border: 1px solid rgba(255, 255, 255, 0.12);
  transition: all 0.2s ease;
}

.footer-countries a:hover {
  color: white;
  background: rgba(255, 255, 255, 0.14);
  border-color: rgba(255, 255, 255, 0.3);
}

.footer-bottom {
  max-width: 1240px;
  margin: 0 auto;
  padding: 1.5rem 1.5rem 0;
  border-top: 1px solid rgba(255, 255, 255, 0.1);
  font-size: 0.82rem;
  color: rgba(255, 255, 255, 0.5);
}

.footer-legal-note {
  font-size: 0.78rem;
  line-height: 1.65;
  color: rgba(255, 255, 255, 0.45);
  margin-bottom: 1.25rem;
}

.footer-legal-note a {
  color: rgba(255, 255, 255, 0.7);
  text-decoration: underline;
}

.footer-legal-note a:hover {
  color: white;
}

.footer-bottom-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  gap: 1rem;
}

/* "#top" with no matching element is spec'd to mean the top of the document, so this
   needs no JS and inherits html { scroll-behavior: smooth }. */
.footer-back-to-top {
  color: rgba(255, 255, 255, 0.7);
  font-weight: 600;
  transition: color 0.2s ease;
}

.footer-back-to-top:hover {
  color: white;
  text-decoration: underline;
}

/* ===== STRUCTURED CONTENT ===== */
.premium-structured-content h2 {
  font-family: 'Cormorant Garamond', Georgia, serif;
  font-size: 1.85rem;
  color: var(--navy);
  margin-top: 2rem;
  margin-bottom: 0.75rem;
  border-bottom: 2px solid var(--teal-light);
  padding-bottom: 0.4rem;
}

.premium-structured-content p {
  color: var(--text-muted);
  line-height: 1.75;
  font-size: 1rem;
  margin-bottom: 1.25rem;
}

.premium-structured-content ul,
.premium-structured-content ol {
  margin-bottom: 1.5rem;
  padding-left: 1.25rem;
  color: var(--text-muted);
}

.premium-structured-content li {
  margin-bottom: 0.5rem;
  line-height: 1.6;
}

.premium-structured-content blockquote {
  background: var(--teal-light);
  border-left: 4px solid var(--teal);
  padding: 1rem 1.25rem;
  border-radius: 0 var(--radius-sm) var(--radius-sm) 0;
  margin-bottom: 1.5rem;
  font-size: 0.95rem;
  color: var(--teal-dark);
}

/* ===== MEDIA QUERIES (MOBILE FIRST COMPLIANCE) ===== */
/* Five footer columns need ~1200px before the link labels start wrapping mid-word. */
@media (max-width: 1200px) {
  .footer-inner {
    grid-template-columns: repeat(4, 1fr);
    gap: 2.5rem 2rem;
  }

  .footer-brand {
    grid-column: 1 / -1;
  }
}

@media (max-width: 1024px) {
  .hero-inner {
    grid-template-columns: 1fr;
    gap: 2.5rem;
  }

  .content-grid {
    grid-template-columns: 1fr;
    gap: 2rem;
  }

  .footer-inner {
    grid-template-columns: repeat(2, 1fr);
    gap: 2.5rem;
  }

  .footer-brand {
    grid-column: 1 / -1;
  }

  .footer-assurance {
    grid-template-columns: repeat(2, 1fr);
  }
}

/* The full nav needs roughly 1300px in English once the search and language controls are
   counted, and more in Russian/French, where labels run ~30% longer. Below that the row
   silently overflowed and pushed the search icon, language switcher, "Get a Quote" CTA
   and WhatsApp button off-screen entirely. */
@media (max-width: 1280px) {
  .nav-links {
    position: fixed;
    top: var(--nav-h);
    left: 0;
    right: 0;
    background: white;
    flex-direction: column;
    align-items: stretch;
    padding: 1.5rem;
    box-shadow: 0 15px 30px rgba(0, 0, 0, 0.1);
    display: none;
    gap: 0.75rem;
    max-height: calc(100vh - var(--nav-h));
    overflow-y: auto;
  }

  .nav-links.active {
    display: flex;
  }

  .nav-links a {
    padding: 0.85rem 1rem;
    font-size: 1.05rem;
    border-radius: 8px;
    color: var(--navy);
  }

  /* The drawer has room for a label, unlike the desktop bar. */
  .nav-search-label {
    display: inline;
  }

  .nav-cta {
    margin-left: 0;
    justify-content: center;
    padding: 0.85rem !important;
  }

  .nav-wa-btn {
    margin-left: 0;
    justify-content: center;
    padding: 0.85rem !important;
  }

  .mobile-menu-btn {
    display: block;
  }

  .lang-switch>summary {
    padding: 0.85rem 1rem;
    font-size: 1.05rem;
    justify-content: space-between;
  }
}

/* Cyrillic, French and Arabic labels run ~30% longer than English, so the full desktop
   bar (~1800px) overflows the 1240px .nav-inner container and crushes the logo. On
   laptops (>1280px) these locales keep the horizontal bar but drop the WhatsApp button
   and tighten spacing/font so every remaining item fits; below 1281px all locales fall
   back to the mobile drawer defined above. Measured fit at 1240px: ru 1218, fr 1203,
   ar 1075. */
/* English needs ~1450px of viewport (scrollbar included) for the full bar, so 1281-1499px
   laptops (1366 and 1440 are the most common) pushed the WhatsApp button off-screen. The
   sticky bar and hero both carry WhatsApp, so drop it from the bar in that band, as the
   longer locales already do. Measured: 1440 -> rightmost 1436 vs 1425 client width. */
@media (min-width: 1281px) and (max-width: 1499px) {
  .nav-wa-btn {
    display: none;
  }
}

@media (min-width: 1281px) {

  [lang="ru"] .nav-wa-btn,
  [lang="fr"] .nav-wa-btn,
  [lang="ar"] .nav-wa-btn {
    display: none;
  }

  [lang="ru"] .nav-links,
  [lang="fr"] .nav-links,
  [lang="ar"] .nav-links {
    gap: 0;
  }

  [lang="ru"] .nav-links a,
  [lang="fr"] .nav-links a,
  [lang="ar"] .nav-links a,
  [lang="ru"] .lang-switch>summary,
  [lang="fr"] .lang-switch>summary,
  [lang="ar"] .lang-switch>summary {
    padding: 0.4rem;
    font-size: 0.8rem;
  }

  [lang="ru"] .nav-cta,
  [lang="fr"] .nav-cta,
  [lang="ar"] .nav-cta {
    padding: 0.45rem 0.65rem !important;
  }
}

@media (max-width: 768px) {
  :root {
    --nav-h: 64px;
  }

  #navbar .nav-inner {
    padding: 0 1rem;
  }

  .hero,
  .page-hero {
    padding-top: 80px;
    padding-bottom: 2.5rem;
  }

  .hero-inner {
    padding: 1.5rem 1rem;
  }

  .hero-title {
    font-size: 2.1rem;
  }

  .hero-actions {
    flex-direction: column;
    width: 100%;
  }

  .hero-actions .btn-primary,
  .hero-actions .btn-outline {
    width: 100%;
    justify-content: center;
  }

  .hero-stats {
    grid-template-columns: 1fr;
    gap: 1rem;
  }

  .two-col-grid,
  .three-col-grid,
  .form-row,
  .inclusions-two-col {
    grid-template-columns: 1fr;
  }

  .treatments-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  /* Two columns rather than one: five stacked link lists made the footer scroll for
     several screens on a phone. */
  .footer-inner {
    grid-template-columns: repeat(2, 1fr);
    gap: 2rem 1.25rem;
    padding: 2.5rem 1rem 2rem;
  }

  .footer-assurance {
    grid-template-columns: 1fr;
    padding: 1.75rem 1rem;
  }

  .footer-countries,
  .footer-bottom {
    padding-inline: 1rem;
  }

  /* The sticky action bar is fixed over the bottom of the viewport on phones and was
     covering the copyright row. */
  footer {
    padding-bottom: 5.5rem;
  }

  .sticky-bar {
    display: flex;
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    transform: none;
    max-width: 100vw;
    border-radius: 0;
    padding: 10px 14px;
    justify-content: space-between;
    z-index: 999;
    background: rgba(13, 27, 42, 0.96);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    box-shadow: 0 -4px 20px rgba(0, 0, 0, 0.25);
    border-top: 1px solid rgba(255, 255, 255, 0.15);
    gap: 10px;
  }

  .sticky-bar-text {
    display: none;
  }

  .sticky-btn {
    flex: 1;
    justify-content: center;
    padding: 12px 10px;
    font-size: 0.92rem;
    font-weight: 700;
    border-radius: var(--radius-pill);
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    white-space: nowrap;
    color: white;
  }

  .sticky-btn-wa {
    background: var(--green-wa);
  }

  .sticky-btn-quote {
    background: var(--teal);
  }

  .doctor-hero-wrap,
  .hospital-hero-wrap {
    flex-direction: column;
    text-align: center;
    align-items: center;
  }

  .doctor-avatar-box,
  .hospital-avatar-box {
    margin: 0 auto;
  }

  .detail-card {
    padding: 1.5rem;
  }

  .sidebar-consult-card {
    padding: 1.5rem;
  }
}

/* ===== HOME PAGE COMPONENTS =====
   These replace inline style attributes that were repeated once per card on index.php.
   Keep them generic: hospital/doctor/FAQ cards on the listing pages can reuse them. */

.section-header.is-center {
  text-align: center;
  max-width: 700px;
  margin: 0 auto 3rem;
}

.section-header.is-center .section-sub {
  margin-inline: auto;
}

.section-cta {
  text-align: center;
  margin-top: 2.5rem;
}

.icon-teal {
  color: var(--teal);
}

/* Numbered process steps ("01. Evaluation") */
.step-card {
  background: var(--off-white);
  padding: 2rem;
  border-radius: 16px;
  border-inline-start: 4px solid var(--teal);
}

.step-card-num {
  font-size: 1.5rem;
  color: var(--teal);
  font-weight: 700;
  margin-bottom: 0.75rem;
}

.step-card h4 {
  font-size: 1.15rem;
  color: var(--navy);
  margin-bottom: 0.5rem;
}

.step-card p {
  color: var(--text-muted);
  font-size: 0.92rem;
  line-height: 1.6;
  margin: 0;
}

/* Wide banner with copy on one side and actions on the other */
.callout {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1.5rem;
  flex-wrap: wrap;
  border-radius: 16px;
  padding: 2rem;
}

.callout-teal {
  background: var(--teal-light);
  border: 1px solid rgba(0, 102, 204, 0.15);
  padding: 2rem 2.5rem;
}

.callout-white {
  background: white;
  border: 1px solid var(--gray-light);
  box-shadow: var(--shadow);
}

.callout-body {
  max-width: 750px;
}

.callout h3,
.callout h4 {
  font-family: 'Cormorant Garamond', Georgia, serif;
  color: var(--navy);
  margin-bottom: 0.4rem;
}

.callout h3 {
  font-size: 1.6rem;
}

.callout h4 {
  font-size: 1.35rem;
}

.callout p {
  color: var(--text-muted);
  font-size: 0.92rem;
  line-height: 1.6;
  margin: 0;
}

.callout .icon {
  color: var(--teal);
  margin-inline-end: 8px;
}

.callout-actions {
  display: flex;
  gap: 1rem;
  flex-wrap: wrap;
}

.callout-actions .btn-outline-teal {
  font-size: 0.82rem;
  padding: 0.5rem 1rem;
}

/* Body copy inside a hospital/doctor card: grows so the buttons stay bottom-aligned
   across a row of cards with unequal text length. */
.card-desc {
  font-size: 0.88rem;
  color: var(--text-muted);
  line-height: 1.5;
  margin-bottom: 1.25rem;
  flex-grow: 1;
}

.card-actions {
  display: flex;
  gap: 8px;
  width: 100%;
  margin-top: auto;
}

.card-actions>.btn-primary,
.card-actions>.btn-outline-teal {
  flex: 1;
  justify-content: center;
  font-size: 0.85rem;
  padding: 0.6rem 1rem;
}

.card-actions>.btn-primary {
  background: var(--teal);
}

/* Large bordered panel used for the visa / logistics pair */
.info-panel {
  background: var(--off-white);
  padding: 2.5rem;
  border-radius: 20px;
  border: 1px solid var(--gray-light);
}

.info-panel h3 {
  font-family: 'Cormorant Garamond', Georgia, serif;
  font-size: 1.85rem;
  color: var(--navy);
  margin-bottom: 1rem;
}

.info-panel>p {
  color: var(--text-muted);
  font-size: 0.95rem;
  line-height: 1.6;
  margin-bottom: 1.25rem;
}

.check-list {
  list-style: none;
  padding-inline-start: 0;
  display: flex;
  flex-direction: column;
  gap: 0.6rem;
  font-size: 0.9rem;
  color: var(--text-muted);
  margin-bottom: 1.5rem;
}

.check-list .icon {
  color: var(--teal);
  margin-inline-end: 6px;
}

.faq-list {
  max-width: 850px;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
}

.faq-card {
  background: white;
  border-radius: 14px;
  padding: 1.5rem;
  box-shadow: var(--shadow);
  border: 1px solid var(--gray-light);
}

.faq-card h3 {
  font-family: 'Cormorant Garamond', Georgia, serif;
  font-size: 1.25rem;
  color: var(--navy);
  margin-bottom: 0.5rem;
}

.faq-card p {
  color: var(--text-muted);
  font-size: 0.92rem;
  line-height: 1.6;
  margin: 0;
}

/* "Initial response within 1 business day" reassurance list beside the form */
.promise-list {
  list-style: none;
  padding-inline-start: 0;
  display: flex;
  flex-direction: column;
  gap: 1rem;
  margin: 0 0 2rem;
}

.promise-list li {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 0.95rem;
  color: var(--navy);
  font-weight: 600;
}

.promise-list .icon {
  color: var(--teal);
}

.wa-panel {
  background: var(--off-white);
  border-radius: 16px;
  padding: 1.5rem;
  border: 1px solid var(--gray-light);
}

.wa-panel h4 {
  font-size: 1.05rem;
  color: var(--navy);
  margin-bottom: 0.5rem;
}

.wa-panel p {
  font-size: 0.88rem;
  color: var(--text-muted);
  margin-bottom: 1rem;
}

.btn-whatsapp {
  background: #25d366;
  width: 100%;
  justify-content: center;
}

.form-consent {
  display: flex;
  gap: 8px;
  align-items: flex-start;
  font-size: 0.82rem;
  color: var(--text-muted);
  margin-bottom: 0.75rem;
}

.form-consent:last-of-type {
  margin-bottom: 1.25rem;
}

.form-consent input[type="checkbox"] {
  margin-top: 3px;
}

.form-consent label {
  margin: 0;
  line-height: 1.4;
}

.form-consent a {
  color: var(--teal);
  text-decoration: underline;
}

/* ===== COOKIE CONSENT BANNER ===== */
.cookie-banner {
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 2500;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  gap: 1rem 1.5rem;
  padding: 1rem 1.5rem;
  background: rgba(13, 27, 42, 0.97);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  border-top: 1px solid rgba(255, 255, 255, 0.15);
  box-shadow: 0 -4px 24px rgba(0, 0, 0, 0.3);
}

.cookie-banner[hidden] {
  display: none;
}

.cookie-banner-text {
  margin: 0;
  max-width: 62ch;
  font-size: 0.88rem;
  line-height: 1.6;
  color: rgba(255, 255, 255, 0.88);
}

.cookie-banner-text a {
  color: #7dd9cc;
  text-decoration: underline;
}

.cookie-banner-actions {
  display: flex;
  gap: 0.75rem;
  flex-shrink: 0;
}

/* Both choices share a size and weight: a decline that is harder to find than the
   accept is not freely given consent. */
.cookie-btn {
  font-family: inherit;
  font-size: 0.88rem;
  font-weight: 700;
  padding: 0.6rem 1.4rem;
  border-radius: var(--radius-pill);
  cursor: pointer;
  white-space: nowrap;
}

.cookie-btn-accept {
  background: var(--teal);
  color: #fff;
  border: 2px solid var(--teal);
}

.cookie-btn-decline {
  background: transparent;
  color: #fff;
  border: 2px solid rgba(255, 255, 255, 0.5);
}

.cookie-btn:focus-visible {
  outline: 3px solid #7dd9cc;
  outline-offset: 2px;
}

/* The mobile CTA bar is also pinned to the bottom; do not stack them. */
body.has-cookie-banner .sticky-bar {
  display: none;
}

@media (max-width: 640px) {
  .cookie-banner {
    justify-content: stretch;
    padding: 1rem 1.15rem calc(1rem + env(safe-area-inset-bottom));
  }

  .cookie-banner-actions {
    width: 100%;
  }

  .cookie-btn {
    flex: 1;
  }
}

/* ===== COUNTRY-PAIR VISA GUIDES ===== */
.visa-facts {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
  gap: 1rem;
  margin-top: 2.25rem;
}

.visa-fact {
  background: rgba(255, 255, 255, 0.08);
  border: 1px solid rgba(255, 255, 255, 0.16);
  border-radius: 14px;
  padding: 1rem 1.15rem;
}

.visa-fact-label {
  display: block;
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.09em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.62);
  margin-bottom: 0.35rem;
}

.visa-fact strong {
  font-size: 1rem;
  color: #fff;
  font-weight: 700;
}

.visa-source-box {
  display: flex;
  gap: 1rem;
  align-items: flex-start;
  background: var(--off-white);
  border: 1px solid var(--gray-light);
  border-inline-start: 4px solid var(--teal);
  border-radius: 12px;
  padding: 1.35rem 1.5rem;
  margin: 1.5rem 0 2rem;
}

.visa-source-box .icon {
  color: var(--teal);
  font-size: 1.2rem;
  margin-top: 2px;
  flex-shrink: 0;
}

.visa-source-box strong {
  display: block;
  color: var(--navy);
  margin-bottom: 0.3rem;
}

.visa-source-box p {
  font-size: 0.9rem;
  color: var(--text-muted);
  line-height: 1.6;
  margin: 0 0 0.6rem;
}

.visa-source-box a {
  font-size: 0.88rem;
  font-weight: 700;
  color: var(--teal);
  text-decoration: underline;
}

.visa-table {
  width: 100%;
  border-collapse: collapse;
  margin: 1.25rem 0 0.5rem;
  font-size: 0.9rem;
}

.visa-table th,
.visa-table td {
  text-align: start;
  padding: 0.7rem 0.85rem;
  border-bottom: 1px solid var(--gray-light);
}

.visa-table th {
  font-size: 0.7rem;
  font-weight: 700;
  letter-spacing: 0.07em;
  text-transform: uppercase;
  color: var(--navy);
  background: var(--off-white);
  white-space: nowrap;
}

.visa-table td {
  color: var(--text-muted);
}

.visa-caption {
  font-size: 0.82rem;
  color: var(--gray);
  font-style: italic;
}

.visa-sources {
  list-style: none;
  padding: 0;
  display: grid;
  gap: 0.6rem;
}

.visa-sources a {
  color: var(--teal);
  font-weight: 600;
  text-decoration: underline;
}

.visa-reviewed {
  display: flex;
  gap: 10px;
  align-items: flex-start;
  background: var(--off-white);
  border-radius: 12px;
  padding: 1.1rem 1.35rem;
  font-size: 0.85rem;
  line-height: 1.65;
  color: var(--text-muted);
}

.visa-reviewed .icon {
  color: var(--teal);
  margin-top: 3px;
  flex-shrink: 0;
}

.visa-share {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-family: inherit;
  font-size: 0.86rem;
  font-weight: 600;
  color: var(--navy);
  background: transparent;
  border: 1px dashed rgba(13, 27, 42, 0.35);
  border-radius: var(--radius-pill);
  padding: 0.55rem 1.2rem;
  cursor: pointer;
}

.visa-share:hover {
  border-style: solid;
  background: rgba(255, 255, 255, 0.55);
}

.visa-share:focus-visible {
  outline: 3px solid var(--teal);
  outline-offset: 2px;
}

.visa-corridor-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(190px, 1fr));
  gap: 0.85rem;
}

.visa-corridor {
  display: block;
  padding: 0.9rem 1.1rem;
  border: 1px solid var(--gray-light);
  border-radius: 12px;
  text-decoration: none;
  background: #fff;
  transition: border-color 0.2s ease, transform 0.2s ease;
}

.visa-corridor:hover {
  border-color: var(--teal);
  transform: translateY(-2px);
}

.visa-corridor strong {
  display: block;
  color: var(--navy);
  font-size: 0.95rem;
  margin-bottom: 0.15rem;
}

.visa-corridor span {
  font-size: 0.78rem;
  color: var(--text-muted);
}

@media (max-width: 640px) {
  .visa-table {
    display: block;
    overflow-x: auto;
    white-space: nowrap;
  }
}

/* ===== 2026-09-29 UI scan fixes ===== */
/* Legacy classes used in markup but never defined (those sections rendered unstyled). */
.journey-timeline-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(190px, 1fr)); gap: 1rem; margin-top: 1.25rem; }
.timeline-step-card { background: #f8fafc; border: 1px solid var(--gray-light, #e2e8f0); border-radius: 16px; padding: 1.1rem 1.2rem; }
.timeline-step-num { display: inline-block; font-size: .7rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; color: #fff; background: var(--teal, #0066cc); border-radius: 50px; padding: 3px 10px; margin-bottom: .7rem; }
.timeline-step-title { font-weight: 700; color: var(--navy, #0d1b2a); font-size: 1.02rem; margin-bottom: .35rem; }
.timeline-step-desc { font-size: .88rem; line-height: 1.55; color: var(--text-muted, #64748b); }
.about-grid { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); gap: 3.5rem; align-items: center; }
.about-visual img { width: 100%; height: auto; }
@media (max-width: 900px) { .about-grid { grid-template-columns: 1fr; gap: 2rem; } }
.intl-steps { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 1.2rem; margin-top: 2rem; }
.intl-step { background: #fff; border: 1px solid var(--gray-light, #e2e8f0); border-radius: 18px; padding: 1.4rem; box-shadow: 0 8px 24px rgba(13,27,42,.06); }
.intl-step-num { width: 40px; height: 40px; border-radius: 50%; display: flex; align-items: center; justify-content: center; background: var(--teal, #0066cc); color: #fff; font-weight: 800; margin-bottom: .9rem; }
.why-list { display: grid; gap: 1rem; margin-top: 1.5rem; }
.why-item { display: flex; gap: 1rem; align-items: flex-start; }
.why-icon { flex-shrink: 0; width: 38px; height: 38px; border-radius: 12px; display: flex; align-items: center; justify-content: center; background: var(--teal-light, #e8f1fc); color: var(--teal, #0066cc); }
.why-content h4, .why-content b { color: var(--navy, #0d1b2a); margin: 0 0 .25rem; }
.why-content p { margin: 0; color: var(--text-muted, #64748b); line-height: 1.6; }
.reveal-delay-1 { transition-delay: .08s; } .reveal-delay-2 { transition-delay: .16s; } .reveal-delay-3 { transition-delay: .24s; }

/* WhatsApp green #25D366 with white text is 1.98:1 and fails AA. Keep the brand green, use dark ink. */
:root { --wa: #25d366; --wa-ink: #0b2e17; }
.sticky-btn-wa, .rail-btn-wa, a[href*="wa.me"][style*="#25d366"], a[href*="wa.me"][style*="#25D366"] { color: var(--wa-ink) !important; }
.sticky-btn-wa .icon, .rail-btn-wa .icon, a[href*="wa.me"][style*="#25d366"] .icon, a[href*="wa.me"][style*="#25D366"] .icon { color: var(--wa-ink) !important; }

/* Treatment cards: actions pinned to the bottom so every card shares a baseline. */
.treatment-card { display: flex; flex-direction: column; }
.treatment-card-body { display: flex; flex-direction: column; flex: 1; }
.treatment-card-links { margin-top: auto; }

/* Phone tap targets of at least 44px in the footer and on consent boxes. */
@media (max-width: 600px) {
  footer li > a { display: inline-flex; align-items: center; min-height: 44px; }
  .footer-social a { min-width: 44px; min-height: 44px; }
  .footer-countries a { display: inline-flex; align-items: center; min-height: 44px; }
  input[type="checkbox"] { width: 20px; height: 20px; }
}


/* Source: assets/css/rd.css */
/* =========================================================================
   Massvaa Care redesign layer (2026-09-28).
   Loaded after site.css. Every class is prefixed rd- (medical) or wl- (wellness)
   so pages that have not been rebuilt are untouched.
   ========================================================================= */

:root {
  --rd-navy: #0d1b2a; --rd-navy2: #003366; --rd-blue: #0066cc; --rd-sky: #93c5fd;
  --rd-gold: #d97706; --rd-amber: #fbbf24; --rd-line: #e2e8f0; --rd-muted: #475569;
  --lotus-teal: #145e7a; --lotus-green: #568531; --lotus-cream: #f3e8d4;
  --wl-ivory: #f7f2e8; --wl-sand: #efe5d2; --wl-forest: #1f3a2e; --wl-moss: #4a6b4f;
  --wl-sage: #a9b89a; --wl-saffron: #c8862a; --wl-btn: #9a6414; --wl-btn-hover: #82540f; --wl-terra: #a5543a; --wl-gold: #e3c28f;
  --wl-text: #2b2a26; --wl-soft: #5d5a52; --wl-edge: #e8dcc6;
  --rd-accent: linear-gradient(90deg, #145e7a, #0066cc 50%, #568531);
  --wl-display: 'Marcellus', Georgia, serif; --wl-body: 'Jost', 'Segoe UI', sans-serif;
  /* One page-surface ladder, cool at the top and warming step by step into --wl-sand at the
     wellness gateway. Cards stay white so they still lift off it. Overrides site.css. */
  --off-white: #f7f6f2;
  --rd-b1: #fcfcfb; --rd-b2: #f9f8f6; --rd-b3: #f6f5f1; --rd-b4: #f4f2ec; --rd-b5: #f2eee4;
}
[lang="ru"] { --wl-display: 'Forum', Georgia, serif; }
[lang="ar"] { --wl-display: 'Amiri', serif; --wl-body: 'Noto Kufi Arabic', sans-serif; }

/* ---------- keyframes ---------- */
@keyframes rd-rise { from { opacity: 0; transform: translateY(18px); } to { opacity: 1; transform: none; } }
@keyframes rd-pulse { 0% { transform: scale(.6); opacity: .8; } 100% { transform: scale(2.6); opacity: 0; } }
@keyframes rd-dash { to { stroke-dashoffset: -22; } }
@keyframes rd-marquee { from { transform: translateX(0); } to { transform: translateX(-50%); } }
@keyframes rd-draw { from { stroke-dashoffset: 100; } to { stroke-dashoffset: 0; } }
@keyframes rd-float { 0%,100% { transform: translateY(0); } 50% { transform: translateY(-9px); } }
@keyframes rd-drift { 0%,100% { transform: translate(0,0) scale(1); } 50% { transform: translate(-40px,30px) scale(1.08); } }
@keyframes rd-spin { to { transform: rotate(360deg); } }
@keyframes rd-breathe { 0%,100% { transform: scale(1); } 50% { transform: scale(1.045); } }
@keyframes rd-markpulse { 0%,100% { box-shadow: 0 0 0 5px rgba(255,255,255,.18), 0 10px 30px rgba(0,0,0,.35); } 50% { box-shadow: 0 0 0 12px rgba(255,255,255,.07), 0 10px 30px rgba(0,0,0,.35); } }
@keyframes rd-reveal { from { clip-path: circle(0% at var(--rx, 70%) var(--ry, 4%)); } to { clip-path: circle(150% at var(--rx, 70%) var(--ry, 4%)); } }
@keyframes rd-leaf { 0% { transform: translate(0,-40px) rotate(0); opacity: 0; } 10% { opacity: .9; } 90% { opacity: .8; } 100% { transform: translate(-140px,620px) rotate(260deg); opacity: 0; } }
@keyframes rd-words { 0%,16% { transform: translateY(0); } 20%,36% { transform: translateY(-20px); } 40%,56% { transform: translateY(-40px); } 60%,76% { transform: translateY(-60px); } 80%,100% { transform: translateY(-80px); } }
@keyframes rd-mist { 0%,100% { transform: translate(0,0); opacity: .55; } 50% { transform: translate(60px,-20px); opacity: .85; } }

.rd-rise { animation: rd-rise .8s cubic-bezier(.2,.7,.2,1) both; }
.rd-d1 { animation-delay: .1s; } .rd-d2 { animation-delay: .2s; } .rd-d3 { animation-delay: .3s; } .rd-d4 { animation-delay: .4s; }
/* Hidden only while rd.js is confirmed running (header.php sets .rd-js and drops it again if rd.js
   never reports in), so a blocked or failed script can never leave whole sections invisible. */
.rd-js .rd-reveal-on-scroll { opacity: 0; transform: translateY(18px); transition: opacity .7s cubic-bezier(.2,.7,.2,1), transform .7s cubic-bezier(.2,.7,.2,1); }
.rd-js .rd-reveal-on-scroll.is-in { opacity: 1; transform: none; }
.rd-spin { animation: rd-spin 140s linear infinite; }
.rd-breathe { animation: rd-breathe 6s ease-in-out infinite; }
.rd-float { animation: rd-float 5s ease-in-out infinite; }

/* ---------- shared ---------- */
.rd-accent-bar { height: 3px; background: var(--rd-accent); }
.rd-wrap { max-width: 1280px; margin: 0 auto; padding: 0 1.5rem; }
.rd-section { padding: 6.5rem 0; }
body { background: var(--rd-b1); }
/* One gradient for the whole light run, so no two sections meet at a visible step. */
.rd-surface { background: linear-gradient(180deg, var(--rd-b1) 0%, var(--rd-b2) 22%, var(--rd-b3) 46%, var(--rd-b4) 70%, var(--rd-b5) 88%, #efe7d8 100%); }
.rd-surface > section { background: transparent; }
/* Fades in and back out vertically, so the band has no top or bottom edge against the one
   gradient. A 135deg fade sits at full strength on its bottom edge and shows a seam. */
.rd-surface > .rd-brand { background: linear-gradient(180deg, rgba(243,232,212,0) 0%, rgba(243,232,212,.55) 45%, rgba(243,232,212,0) 100%); }
.rd-h2 { font-family: 'Cormorant Garamond', Georgia, serif; font-size: clamp(2.2rem, 3.6vw, 3.25rem); font-weight: 600; color: var(--rd-navy); line-height: 1.1; margin: 0 0 .8rem; }
.rd-h2 em { color: var(--rd-blue); }
.rd-lead { color: var(--rd-muted); font-size: 1.06rem; line-height: 1.65; max-width: 640px; margin: 0; }
.rd-head { display: flex; justify-content: space-between; align-items: flex-end; gap: 2rem; margin-bottom: 2.75rem; flex-wrap: wrap; }
.rd-btn { display: inline-flex; align-items: center; gap: 10px; padding: 1rem 1.9rem; border-radius: 50px; background: var(--rd-blue); color: #fff; font-weight: 600; text-decoration: none; position: relative; overflow: hidden; border: 0; cursor: pointer; font: inherit; font-weight: 600; transition: background .2s, transform .15s; }
.rd-btn:hover { background: #0052a3; color: #fff; }
.rd-btn:active { transform: scale(.98); }
.rd-btn::after { content: ''; position: absolute; top: 0; bottom: 0; left: 0; width: 40%; background: linear-gradient(90deg, transparent, rgba(255,255,255,.35), transparent); transform: translateX(-120%); animation: rd-sheen 3.6s ease-in-out infinite; }
@keyframes rd-sheen { from { transform: translateX(-120%); } to { transform: translateX(260%); } }
.rd-btn-ghost { display: inline-flex; align-items: center; gap: 10px; padding: .95rem 1.7rem; border-radius: 50px; border: 1.5px solid rgba(255,255,255,.4); color: #fff; font-weight: 600; text-decoration: none; }
.rd-btn-ghost:hover { background: rgba(255,255,255,.08); color: #fff; }
.rd-btn-line { display: inline-flex; align-items: center; gap: 8px; padding: .8rem 1.4rem; border-radius: 50px; border: 1.5px solid var(--rd-line); color: var(--rd-navy); font-weight: 600; text-decoration: none; background: #fff; }
.rd-btn-line:hover { border-color: var(--rd-blue); color: var(--rd-blue); }
.rd-lift { transition: transform .3s, box-shadow .3s; }
.rd-lift:hover { transform: translateY(-5px); box-shadow: 0 20px 40px rgba(13,27,42,.13); }
.rd-lift:hover .rd-zoom { transform: scale(1.07); }
.rd-zoom { transition: transform .7s cubic-bezier(.2,.7,.2,1); }
.rd-chip { cursor: pointer; font: inherit; transition: background .2s, color .2s, border-color .2s, transform .15s; }
.rd-chip:hover { transform: translateY(-1px); border-color: var(--rd-blue) !important; }
.rd-chip:focus-visible, .rd-btn:focus-visible, .rd-switch:focus-visible { outline: 3px solid var(--rd-amber); outline-offset: 2px; }

/* ---------- nav switch (header) ---------- */
.rd-switch { display: inline-flex; align-items: center; padding: 3px; border-radius: 50px; background: #f1f5f9; border: 1.5px solid var(--rd-line); font-size: .82rem; font-weight: 600; text-decoration: none; white-space: nowrap; }
.rd-switch span { padding: .45rem .8rem; border-radius: 50px; color: #1f3a2e; display: inline-flex; align-items: center; gap: 5px; }
.rd-switch span.is-on { background: var(--rd-navy); color: #fff; }
.rd-switch img { width: 15px; height: 15px; }
.rd-switch.is-wellness { background: rgba(239,229,210,.12); border-color: rgba(239,229,210,.25); }
.rd-switch.is-wellness span { color: rgba(239,229,210,.75); }
.rd-switch.is-wellness span.is-on { background: var(--wl-sand); color: var(--wl-forest); }

/* theme reveal overlay (created by rd.js) */
.rd-veil { position: fixed; inset: 0; z-index: 9999; display: flex; align-items: center; justify-content: center; text-align: center; color: var(--wl-ivory); overflow: hidden; animation: rd-reveal 1s cubic-bezier(.7,0,.2,1) both; }
.rd-veil.to-wellness { background: radial-gradient(ellipse at 70% 40%, #4a6b4f 0%, #2c4a3a 40%, #1f3a2e 75%); }
.rd-veil.to-medical { background: linear-gradient(135deg, #0d1b2a, #152b47 50%, #003366); color: #fff; }
.rd-veil-mark { width: 130px; height: 130px; border-radius: 50%; background: #f7f2e8; display: flex; align-items: center; justify-content: center; margin: 0 auto 1.5rem; box-shadow: 0 0 0 14px rgba(247,242,232,.1); }
.rd-veil-mark img { width: 104px; height: 104px; }
.rd-veil-title { font-family: var(--wl-display); font-size: clamp(2.2rem, 5vw, 3.8rem); line-height: 1.05; }
.rd-veil.to-medical .rd-veil-title { font-family: 'Cormorant Garamond', Georgia, serif; font-weight: 600; }
.rd-veil-mandala { position: absolute; width: min(820px, 120vw); height: min(820px, 120vw); left: 50%; top: 50%; transform: translate(-50%, -50%); opacity: .8; }
.rd-veil-mandala img { width: 100%; height: 100%; animation: rd-spin 90s linear infinite; }
/* The mandala is also a direct child div; excluding it keeps it absolutely centred behind the lotus
   instead of joining the flex row (which pushed the lotus ~400px off centre). */
.rd-veil > div:not(.rd-veil-mandala) { position: relative; opacity: 0; animation: rd-rise .7s cubic-bezier(.2,.7,.2,1) .5s both; }
.rd-veil-mandala { pointer-events: none; }
/* Centre the lotus itself on the mandala (the screen centre) and hang the title below it; centring the
   lotus+title block as one put the lotus ~55px above the mandala's centre. */
.rd-veil-mark { margin: 0 auto; }
.rd-veil-title { position: absolute; top: 100%; left: 50%; transform: translateX(-50%); width: max-content; max-width: 90vw; margin-top: 1.5rem; }

/* ---------- homepage hero ---------- */
/* Past 1280px the map, its overlays and the plane path would keep hugging the viewport edge
   while the copy stays centred, so the whole hero drifts right. --rd-bleed pulls them back to
   the content box instead. */
.rd-hero { position: relative; min-height: 660px; overflow: hidden; color: #fff; background: radial-gradient(ellipse at 85% 45%, #0a3a6b 0%, #0d2440 45%, #0d1b2a 100%); padding: var(--nav-h, 72px) 0 0; --rd-bleed: max(0px, (100% - 1280px) / 2); }
.rd-hero-map { position: absolute; left: 0; right: 0; top: var(--nav-h, 72px); height: 700px; display: flex; justify-content: flex-end; padding-inline-end: var(--rd-bleed); }
.rd-hero-map svg { width: 1440px; height: 700px; flex-shrink: 0; }
.rd-hero-map .route { stroke-dasharray: 3 8; animation: rd-dash 2.4s linear infinite; }
.rd-hero-map .ring { transform-box: fill-box; transform-origin: center; animation: rd-pulse 2.6s ease-out infinite; }
.rd-hero-lotus { position: absolute; width: 64px; height: 64px; border-radius: 50%; background: #fff; display: flex; align-items: center; justify-content: center; animation: rd-markpulse 2.6s ease-in-out infinite; }
.rd-hero-lotus img { width: 54px; height: 54px; }
.rd-hero-fade { position: absolute; inset: 0; background: linear-gradient(90deg, rgba(13,27,42,.97) 0%, rgba(13,27,42,.92) 34%, rgba(13,27,42,.6) 50%, rgba(13,27,42,.2) 62%, rgba(13,27,42,0) 74%); pointer-events: none; }
.rd-hero-inner { position: relative; max-width: 1280px; margin: 0 auto; padding: 3.4rem 1.5rem 3.6rem; }
.rd-hero-copy { max-width: 560px; }
.rd-hero h1 { font-family: 'Cormorant Garamond', Georgia, serif; font-size: clamp(2.5rem, 4.2vw, 3.9rem); line-height: 1.04; font-weight: 600; letter-spacing: -.015em; margin: 1.4rem 0 1.2rem; color: #fff; }
.rd-hero h1 strong { color: var(--rd-sky); font-style: italic; font-weight: 600; }
.rd-hero-sub { font-size: 1.12rem; line-height: 1.65; color: rgba(255,255,255,.86); margin: 0 0 2rem; }
.rd-hero-actions { display: flex; gap: 14px; flex-wrap: wrap; }
.rd-hero-stats { display: flex; margin-top: 2.8rem; padding-top: 1.5rem; border-top: 1px solid rgba(255,255,255,.14); max-width: 560px; }
.rd-hero-stats > div { flex: 1; }
.rd-hero-stats b { display: block; font-family: 'Cormorant Garamond', Georgia, serif; font-size: 2.35rem; font-weight: 600; }
.rd-hero-stats span { font-size: .88rem; color: rgba(255,255,255,.7); }
.rd-hero-legend { position: absolute; right: calc(1.5rem + var(--rd-bleed)); top: calc(var(--nav-h, 72px) + 1.4rem); display: flex; flex-direction: column; align-items: flex-end; gap: 10px; }
.rd-hero-legend .lbl { display: flex; align-items: center; gap: 10px; font-size: .75rem; font-weight: 700; letter-spacing: .14em; color: rgba(255,255,255,.6); }
.rd-hero-legend .lbl::before { content: ''; width: 28px; height: 2px; background: linear-gradient(90deg, #145e7a, #568531); }
.rd-hero-legend .key { display: flex; gap: 16px; padding: 8px 14px; border-radius: 50px; background: rgba(13,27,42,.55); border: 1px solid rgba(255,255,255,.14); font-size: .75rem; font-weight: 600; color: rgba(255,255,255,.85); }
.rd-hero-legend .key i { display: inline-block; width: 10px; height: 10px; border-radius: 50%; margin-inline-end: 7px; vertical-align: -1px; }
.rd-hero-india { position: absolute; font-family: 'Cormorant Garamond', Georgia, serif; font-size: 2.75rem; font-weight: 700; text-shadow: 0 4px 18px rgba(0,0,0,.4); }
.rd-hero-cards { position: absolute; right: calc(1.5rem + var(--rd-bleed)); bottom: 2.2rem; display: flex; flex-direction: column; align-items: flex-end; gap: 14px; z-index: 4; }
/* Planes pass the camera in front of the hero copy, then shrink onto India's point on the map. */
.rd-hero-flight { position: absolute; inset: 0; z-index: 3; pointer-events: none; }
.rd-hero-flight .rd-plane { position: absolute; right: calc(532px + var(--rd-bleed)); top: calc(var(--nav-h, 72px) + 332px); width: 32px; height: 32px; margin: -16px -16px 0 0; opacity: 0; filter: drop-shadow(0 8px 16px rgba(0,0,0,.6)); animation: rd-landing 20s linear infinite; }
@keyframes rd-landing {
  0%   { transform: translate(var(--fx), var(--fy)) rotate(var(--fr)) scale(.3); opacity: 0; }
  10%  { opacity: .78; }
  55%  { transform: translate(var(--mx), var(--my)) rotate(var(--fr)) scale(1.75); opacity: .78; }
  92%  { opacity: .6; }
  100% { transform: translate(0, 0) rotate(var(--fr)) scale(.16); opacity: 0; }
}
.rd-glass { display: flex; align-items: center; gap: 12px; padding: 14px 18px; border-radius: 16px; background: rgba(13,27,42,.55); border: 1px solid rgba(255,255,255,.2); backdrop-filter: blur(14px); -webkit-backdrop-filter: blur(14px); }
.rd-glass .ic { width: 38px; height: 38px; border-radius: 10px; display: flex; align-items: center; justify-content: center; }
.rd-glass .ic .icon { width: 18px; height: 18px; color: #fff; }
.rd-glass b { display: block; font-size: .88rem; } .rd-glass span { font-size: .78rem; color: rgba(255,255,255,.7); }

/* ---------- logo strip ---------- */
.rd-logos { position: relative; background: var(--rd-navy); border-top: 1px solid rgba(255,255,255,.08); padding: .85rem 0; display: flex; align-items: center; overflow: hidden; }
.rd-logos-viewport { overflow: hidden; flex: 1; -webkit-mask-image: linear-gradient(90deg, transparent, #000 4%, #000 96%, transparent); mask-image: linear-gradient(90deg, transparent, #000 4%, #000 96%, transparent); }
.rd-logos-track { display: flex; gap: 12px; width: max-content; animation: rd-marquee 66s linear infinite; }
.rd-logos-track:hover { animation-play-state: paused; }
.rd-logo-tile { width: 150px; height: 58px; border-radius: 10px; background: #fff; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 3px; padding: 6px 12px; transition: transform .3s; }
.rd-logo-tile:hover { transform: translateY(-3px); }
.rd-logo-tile img { max-width: 118px; max-height: 26px; width: auto; height: auto; }
.rd-logo-tile small { font-size: .58rem; font-weight: 700; color: #64748b; letter-spacing: .04em; }

/* ---------- timeline ---------- */
.rd-timeline { position: relative; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 28px; }
.rd-timeline::before { content: ''; position: absolute; left: 46px; right: 8%; top: 44px; height: 4px; border-radius: 4px; background: var(--rd-line); }
.rd-timeline::after { content: ''; position: absolute; left: 46px; right: 8%; top: 44px; height: 4px; border-radius: 4px; background: var(--rd-blue); transform-origin: left; transform: scaleX(0); transition: transform 2.2s cubic-bezier(.4,0,.2,1); }
.rd-timeline.is-in::after { transform: scaleX(1); }
[dir="rtl"] .rd-timeline::after { transform-origin: right; }
.rd-step { position: relative; display: flex; flex-direction: column; gap: 14px; }
.rd-step-dot { width: 92px; height: 92px; border-radius: 50%; background: #fff; border: 4px solid var(--rd-blue); display: flex; align-items: center; justify-content: center; box-shadow: 0 10px 24px rgba(0,102,204,.18); }
.rd-step-dot .icon { width: 34px; height: 34px; color: var(--rd-blue); }
/* (circles now fill one by one as the progress line reaches them; see "timeline fill" below) */
.rd-step-n { font-size: .8rem; font-weight: 700; color: var(--rd-gold); letter-spacing: .08em; }
.rd-step h3 { font-family: 'Cormorant Garamond', Georgia, serif; font-size: 1.75rem; font-weight: 600; color: var(--rd-navy); margin: 0; }
.rd-step p { margin: 0; color: var(--rd-muted); line-height: 1.6; }

/* ---------- fee callout ---------- */
.rd-fee { margin-top: 3rem; display: flex; gap: 1.5rem; align-items: center; justify-content: space-between; flex-wrap: wrap; padding: 1.6rem 1.9rem; border-radius: 20px; background: #e8f1fc; border: 1px solid #cfe0f6; }
.rd-fee h3 { margin: 0 0 .35rem; font-size: 1.08rem; color: var(--rd-navy); display: flex; align-items: center; gap: 10px; }
.rd-fee p { margin: 0; color: var(--rd-muted); line-height: 1.6; max-width: 760px; }

/* ---------- specialty explorer ---------- */
.rd-explorer { display: grid; grid-template-columns: 400px minmax(0, 1fr); gap: 28px; align-items: start; }
.rd-spec-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.rd-spec { display: flex; align-items: center; gap: 10px; padding: 12px 14px; border-radius: 14px; min-height: 58px; background: #fff; color: var(--rd-navy); border: 1.5px solid var(--rd-line); text-align: start; font-size: .9rem; font-weight: 600; line-height: 1.25; }
.rd-spec i { flex-shrink: 0; width: 8px; height: 8px; border-radius: 50%; background: var(--rd-sky); }
.rd-spec span { flex: 1; } .rd-spec small { opacity: .7; font-weight: 600; }
.rd-spec[aria-selected="true"] { background: var(--rd-navy); color: #fff; border-color: var(--rd-navy); box-shadow: 0 10px 24px rgba(13,27,42,.18); }
.rd-spec[aria-selected="true"] i { background: var(--rd-amber); }
.rd-spec.is-wellness { grid-column: span 2; font-family: var(--wl-body); background: linear-gradient(90deg, #f7f2e8, #efe5d2); color: var(--wl-forest); border-color: #d8c9ac; }
.rd-spec.is-wellness i { background: var(--wl-saffron); }
.rd-spec.is-wellness[aria-selected="true"] { background: var(--wl-forest); color: var(--wl-ivory); border-color: var(--wl-forest); }
.rd-panel { background: #fff; border-radius: 26px; border: 1px solid var(--rd-line); overflow: hidden; box-shadow: 0 24px 50px rgba(13,27,42,.08); }
.rd-panel[hidden] { display: none; }
.rd-panel-art { position: relative; height: 220px; background: #e8f1fc; overflow: hidden; }
.rd-panel-art > img { width: 100%; height: 100%; object-fit: cover; }
.rd-panel-art .count { position: absolute; inset-inline-start: 26px; bottom: 20px; background: rgba(13,27,42,.85); color: #fff; font-size: .78rem; font-weight: 700; padding: 6px 12px; border-radius: 50px; }
.rd-panel-art.is-wellness { background: radial-gradient(ellipse at 70% 40%, #4a6b4f, #1f3a2e 75%); display: flex; align-items: center; justify-content: center; }
.rd-panel-art.is-wellness .mandala { position: absolute; width: 420px; height: 420px; animation: rd-spin 120s linear infinite; }
.rd-panel-art.is-wellness .mark { position: relative; width: 110px; height: 110px; border-radius: 50%; background: #f7f2e8; display: flex; align-items: center; justify-content: center; }
.rd-panel-art.is-wellness .mark img { width: 88px; height: 88px; }
.rd-panel-body { padding: 1.75rem 1.9rem 1.9rem; }
.rd-panel-body h3 { font-family: 'Cormorant Garamond', Georgia, serif; font-size: 2.1rem; font-weight: 600; color: var(--rd-navy); margin: 0 0 .5rem; }
.rd-panel-body > p { margin: 0 0 1.2rem; color: var(--rd-muted); line-height: 1.6; }
.rd-procs { display: flex; flex-wrap: wrap; gap: 10px; margin-bottom: 1.3rem; }
.rd-proc { display: inline-flex; align-items: center; gap: 8px; padding: 9px 15px; border-radius: 50px; border: 1.5px solid var(--rd-line); background: #f8fafc; font-size: .9rem; font-weight: 600; color: var(--rd-navy); text-decoration: none; }
.rd-proc::before { content: ''; width: 6px; height: 6px; border-radius: 50%; background: var(--rd-blue); }
.rd-proc:hover { border-color: var(--rd-blue); color: var(--rd-blue); }
.rd-proc.has-page { border-color: #cfe0f6; background: #e8f1fc; }
.rd-note { margin-bottom: 1.2rem; padding: 14px 16px; border-radius: 14px; background: #fffbeb; border: 1px solid #fcd34d; font-size: .88rem; color: #92400e; line-height: 1.55; }
.rd-panel-actions { display: flex; gap: 12px; flex-wrap: wrap; }

/* ---------- hospital rail ---------- */
.rd-filter { display: flex; gap: 8px; align-items: center; flex-wrap: wrap; margin-bottom: 1.6rem; }
.rd-filter button { padding: 10px 18px; border-radius: 50px; font-size: .9rem; font-weight: 600; background: #fff; color: var(--rd-navy); border: 1.5px solid var(--rd-line); }
.rd-filter button[aria-pressed="true"] { background: var(--rd-navy); color: #fff; border-color: var(--rd-navy); }
.rd-filter .count { margin-inline-start: auto; font-size: .9rem; color: #64748b; }
.rd-rail-wrap { position: relative; }
.rd-rail { display: flex; gap: 22px; overflow-x: auto; scroll-snap-type: x mandatory; padding: 8px 2px 26px; scrollbar-width: none; }
.rd-rail::-webkit-scrollbar { display: none; }
.rd-rail-btns { display: flex; gap: 12px; }
.rd-rail-btns button { width: 50px; height: 50px; border-radius: 50%; border: 1.5px solid var(--rd-line); background: #fff; display: flex; align-items: center; justify-content: center; cursor: pointer; }
.rd-rail-btns button:last-child { background: var(--rd-navy); border-color: var(--rd-navy); color: #fff; }
.rd-rail-btns .icon { width: 18px; height: 18px; }
[dir="rtl"] .rd-rail-btns .icon { transform: scaleX(-1); }
.rd-hcard { flex-shrink: 0; width: 330px; border-radius: 20px; background: #fff; border: 1px solid var(--rd-line); overflow: hidden; scroll-snap-align: start; box-shadow: 0 4px 20px rgba(13,27,42,.06); }
.rd-hcard[hidden] { display: none; }
.rd-hcard-img { position: relative; height: 190px; overflow: hidden; background: #e8f1fc; }
.rd-hcard-img > img { width: 100%; height: 100%; object-fit: cover; }
.rd-hcard-tags { position: absolute; inset-inline-start: 14px; top: 14px; display: flex; gap: 6px; flex-wrap: wrap; }
.rd-hcard-tags span { font-size: .72rem; font-weight: 700; padding: 5px 10px; border-radius: 50px; background: rgba(255,255,255,.94); color: var(--rd-navy); }
.rd-hcard-tags span.acc { background: rgba(13,27,42,.84); color: var(--rd-amber); }
.rd-hcard-logo { position: absolute; inset-inline-end: 12px; bottom: 12px; background: #fff; border-radius: 10px; padding: 6px 10px; box-shadow: 0 6px 16px rgba(13,27,42,.18); }
.rd-hcard-logo img { height: 26px; max-width: 120px; width: auto; }
.rd-hcard-body { padding: 1.2rem 1.35rem 1.35rem; }
.rd-hcard-body h3 { font-family: 'Cormorant Garamond', Georgia, serif; font-size: 1.5rem; font-weight: 600; color: var(--rd-navy); margin: 0; }
.rd-hcard-body p { font-size: .88rem; color: #64748b; margin: .25rem 0 1rem; }
.rd-hcard-actions { display: flex; gap: 10px; }
.rd-hcard-actions a { flex: 1; text-align: center; padding: .7rem; border-radius: 50px; font-weight: 600; font-size: .88rem; text-decoration: none; border: 1.5px solid var(--rd-blue); color: var(--rd-blue); }
.rd-hcard-actions a + a { background: var(--rd-blue); color: #fff; }

/* ---------- doctors ---------- */
.rd-docs { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 24px; }
.rd-doc { background: #fff; border-radius: 22px; overflow: hidden; border: 1px solid var(--rd-line); text-decoration: none; color: inherit; display: block; }
.rd-doc-img { position: relative; height: 300px; overflow: hidden; background: #dbe7f5; }
.rd-doc-img img { width: 100%; height: 100%; object-fit: cover; object-position: top; }
.rd-doc-img::after { content: ''; position: absolute; inset: auto 0 0 0; height: 120px; background: linear-gradient(transparent, rgba(13,27,42,.85)); }
.rd-doc-name { position: absolute; inset-inline-start: 18px; bottom: 16px; z-index: 1; color: #fff; }
.rd-doc-name small { display: block; font-size: .72rem; font-weight: 700; letter-spacing: .08em; color: var(--rd-sky); text-transform: uppercase; }
.rd-doc-name b { font-family: 'Cormorant Garamond', Georgia, serif; font-size: 1.6rem; font-weight: 600; }
.rd-doc-body { padding: 1.1rem 1.25rem 1.25rem; }
.rd-doc-body p { font-size: .88rem; color: var(--rd-muted); line-height: 1.55; margin: 0 0 .9rem; }
.rd-doc-body span { font-weight: 600; font-size: .9rem; color: var(--rd-blue); }

/* ---------- brand band ---------- */
.rd-brand { position: relative; overflow: hidden; background: linear-gradient(135deg, rgba(243,232,212,0) 0%, rgba(243,232,212,.7) 100%); }
.rd-brand-water { position: absolute; inset-inline-end: -140px; top: -120px; width: 620px; height: 620px; opacity: .08; animation: rd-spin 140s linear infinite; }
.rd-brand-grid { position: relative; display: grid; grid-template-columns: 420px minmax(0, 1fr); gap: 80px; align-items: center; }
.rd-brand-mark { position: relative; height: 420px; display: flex; align-items: center; justify-content: center; }
.rd-brand-mark::before { content: ''; position: absolute; width: 320px; height: 320px; border-radius: 50%; background: #fff; box-shadow: 0 30px 70px rgba(20,94,122,.18); }
.rd-brand-mark img { position: relative; width: 240px; height: 240px; }
.rd-brand-cards { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; margin-top: 2rem; }
.rd-brand-card { background: #fff; border-radius: 20px; padding: 1.5rem; border: 1px solid rgba(20,94,122,.15); text-decoration: none; color: inherit; display: block; }
.rd-brand-card .ic { width: 44px; height: 44px; border-radius: 12px; display: flex; align-items: center; justify-content: center; margin-bottom: 14px; }
.rd-brand-card .ic .icon { width: 20px; height: 20px; color: #fff; }
.rd-brand-card h3 { font-family: 'Cormorant Garamond', Georgia, serif; font-size: 1.45rem; font-weight: 600; color: var(--rd-navy); margin: 0 0 .35rem; }
.rd-brand-card p { font-size: .9rem; color: var(--rd-muted); line-height: 1.55; margin: 0 0 .7rem; }
.rd-brand-card span { font-size: .88rem; font-weight: 700; }

/* ---------- FAQ ---------- */
.rd-faq { display: grid; grid-template-columns: 300px minmax(0, 1fr); gap: 40px; align-items: start; }
.rd-faq-cats { display: flex; flex-direction: column; gap: 8px; }
.rd-faq-cats button { display: flex; justify-content: space-between; align-items: center; padding: 14px 18px; border-radius: 14px; font-size: .95rem; font-weight: 600; background: #fff; color: var(--rd-navy); border: 1.5px solid var(--rd-line); text-align: start; }
.rd-faq-cats button span { font-size: .72rem; font-weight: 700; padding: 2px 9px; border-radius: 50px; background: #e8f1fc; color: #003366; }
.rd-faq-cats button[aria-selected="true"] { background: var(--rd-navy); color: #fff; border-color: var(--rd-navy); }
.rd-faq-cats button[aria-selected="true"] span { background: var(--rd-amber); color: var(--rd-navy); }
.rd-faq-cats button.is-wellness { font-family: var(--wl-body); background: linear-gradient(90deg, #f7f2e8, #efe5d2); border-color: #d8c9ac; color: var(--wl-forest); }
.rd-faq-cats button.is-wellness[aria-selected="true"] { background: var(--wl-forest); color: var(--wl-ivory); }
.rd-faq-help { margin-top: 1rem; padding: 1.4rem; border-radius: 20px; background: linear-gradient(145deg, #0d1b2a, #003366); color: #fff; }
.rd-faq-help b { font-family: 'Cormorant Garamond', Georgia, serif; font-size: 1.5rem; font-weight: 600; display: block; margin-bottom: .35rem; }
.rd-faq-help p { margin: 0 0 .9rem; font-size: .88rem; line-height: 1.55; color: rgba(255,255,255,.75); }
.rd-faq-help a { display: inline-flex; padding: .7rem 1.1rem; border-radius: 50px; background: #25d366; color: #fff; font-weight: 700; text-decoration: none; font-size: .9rem; }
.rd-faq-group[hidden] { display: none; }
.rd-faq-group { display: flex; flex-direction: column; gap: 12px; }
.rd-qa { border-radius: 18px; background: #fff; border: 1.5px solid var(--rd-line); transition: border-color .25s, box-shadow .25s, background .25s; }
.rd-qa[open] { background: #f8fafc; border-color: var(--rd-blue); box-shadow: 0 12px 30px rgba(0,102,204,.1); }
.rd-qa summary { list-style: none; cursor: pointer; display: flex; justify-content: space-between; align-items: center; gap: 20px; padding: 1.3rem 1.6rem; font-size: 1.08rem; font-weight: 600; color: var(--rd-navy); }
.rd-qa summary::-webkit-details-marker { display: none; }
.rd-qa summary::after { content: '+'; flex-shrink: 0; width: 38px; height: 38px; border-radius: 50%; background: #e8f1fc; color: var(--rd-blue); display: flex; align-items: center; justify-content: center; font-size: 1.4rem; font-weight: 500; transition: transform .3s, background .3s, color .3s; }
.rd-qa[open] summary::after { transform: rotate(45deg); background: var(--rd-blue); color: #fff; }
.rd-qa p { margin: 0; padding: 0 1.6rem 1.4rem; color: var(--rd-muted); line-height: 1.7; }

/* ---------- contact (3-step enhancement of the existing form) ---------- */
.rd-contact { position: relative; overflow: hidden; color: #fff; background: linear-gradient(135deg, #0d1b2a 0%, #152b47 50%, #003366 100%); }
.rd-contact::before { content: ''; position: absolute; inset: 0; background-image: radial-gradient(rgba(147,197,253,.14) 1.2px, transparent 1.2px); background-size: 26px 26px; }
.rd-contact-grid { position: relative; display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 64px; align-items: center; }
.rd-contact h2 { font-family: 'Cormorant Garamond', Georgia, serif; font-size: clamp(2.3rem, 3.6vw, 3.4rem); font-weight: 600; line-height: 1.08; margin: 0 0 1.1rem; color: #fff; }
.rd-contact h2 em { color: var(--rd-sky); }
.rd-promise { list-style: none; padding: 0; margin: 1.6rem 0; display: flex; flex-direction: column; gap: 14px; }
.rd-promise li { display: flex; gap: 12px; align-items: center; }
.rd-promise .icon { width: 30px; height: 30px; padding: 7px; border-radius: 50%; background: rgba(147,197,253,.15); color: var(--rd-sky); }
.rd-contact .contact-form { background: #fff; color: #1e293b; border-radius: 26px; padding: 2.2rem; box-shadow: 0 40px 80px rgba(0,0,0,.35); }
.rd-seal { display: flex; align-items: center; gap: 12px; margin-bottom: 1.2rem; padding-bottom: 1.1rem; border-bottom: 1px solid var(--rd-line); }
.rd-seal img { width: 38px; height: 38px; }
.rd-seal b { display: block; color: var(--rd-navy); } .rd-seal span { font-size: .8rem; color: #64748b; }
.rd-steps { display: flex; align-items: center; gap: 10px; margin-bottom: 1.4rem; }
.rd-steps li { list-style: none; display: flex; align-items: center; gap: 10px; flex: 1; font-size: .85rem; font-weight: 600; color: #64748b; }
.rd-steps li b { flex-shrink: 0; width: 30px; height: 30px; border-radius: 50%; display: flex; align-items: center; justify-content: center; background: var(--rd-line); color: #64748b; font-size: .82rem; }
.rd-steps li::after { content: ''; flex: 1; height: 3px; border-radius: 3px; background: var(--rd-line); }
.rd-steps li:last-child::after { display: none; }
.rd-steps li.is-on { color: var(--rd-navy); } .rd-steps li.is-on b, .rd-steps li.is-done b { background: var(--rd-blue); color: #fff; }
.rd-steps li.is-done::after { background: var(--rd-blue); }
.rd-stepnav { display: flex; justify-content: space-between; align-items: center; margin-top: 1.2rem; gap: 12px; }
.rd-stepnav button { font: inherit; font-weight: 600; cursor: pointer; }
.rd-stepnav .back { background: none; border: 0; color: var(--rd-muted); }
.rd-stepnav .next { padding: .85rem 1.6rem; border-radius: 50px; background: var(--rd-blue); color: #fff; border: 0; }
.rd-stepped [data-step][hidden] { display: none; }
.rd-drop { border: 2px dashed var(--rd-sky); border-radius: 16px; background: #f8fafc; padding: 1.4rem; text-align: center; transition: background .2s, border-color .2s; }
.rd-drop.is-over { background: #e8f1fc; border-color: var(--rd-blue); }
.rd-drop-list { list-style: none; padding: 0; margin: .8rem 0 0; display: flex; flex-direction: column; gap: 6px; text-align: start; font-size: .85rem; }
.rd-drop-list li { padding: 8px 12px; border-radius: 10px; border: 1px solid var(--rd-line); background: #fff; }

/* ---------- wellness gateway (medical homepage, before footer) ---------- */
/* Specialty chips on the hospital cards, in place of a truncated blurb. */
.hospital-specs { display: flex; flex-wrap: wrap; gap: 6px; margin: .15rem 0 1.25rem; flex-grow: 1; align-content: flex-start; }
.hospital-specs span { font-size: .76rem; font-weight: 600; line-height: 1.2; color: var(--rd-navy2, #003366); background: rgba(0,102,204,.07); border: 1px solid rgba(0,102,204,.14); border-radius: 50px; padding: 5px 10px; }
.hospital-specs .more { color: var(--rd-muted, #475569); background: transparent; border-color: var(--rd-line, #e2e8f0); }

/* Sidebar variant of the contact form: same shell and chips, single column, no step wizard. */
.rd-cform.is-compact { padding: 1.4rem; border-radius: 20px; box-shadow: 0 14px 36px rgba(13,27,42,.08); }
.rd-cform.is-compact .rd-cform-head { margin-bottom: 1rem; }
.rd-cform.is-compact .rd-cform-head h2 { font-size: 1.4rem; }
.rd-cform.is-compact .rd-cform-head p { font-size: .84rem; line-height: 1.5; }
.rd-cform.is-compact .form-group { margin-bottom: .85rem; }
.rd-cform.is-compact .rd-cform-drop { padding: 1rem; border: 1.5px dashed var(--rd-line); border-radius: 14px; background: var(--rd-b1); text-align: center; }
.rd-cform.is-compact .rd-cform-drop .rd-drop-ico { width: 28px; height: 28px; }
.rd-cform.is-compact .rd-cform-drop .form-label { font-size: .9rem; margin-bottom: .4rem; }
.rd-cform.is-compact .form-submit { width: 100%; justify-content: center; margin-top: .4rem; }
.rd-consent { display: flex; gap: 9px; align-items: flex-start; margin: .9rem 0 .2rem; font-size: .78rem; line-height: 1.4; color: var(--rd-muted); cursor: pointer; }
.rd-consent input { margin-top: 2px; flex-shrink: 0; }

/* ---------- weave: the step 1-4 timeline line, carried on down the page to the mandala ---------- */
.rd-weave { position: absolute; left: 0; z-index: 1; pointer-events: none; }
.rd-weave svg { display: block; overflow: visible; }
.rd-weave path { fill: none; stroke: url(#rd-weave-grad); stroke-width: 2.5; stroke-linecap: round; opacity: .55; }
@media (max-width: 1359px) { .rd-weave { display: none; } }

.rd-gate { position: relative; overflow: hidden; padding: 7.5rem 0 8rem; color: var(--wl-ivory); background: linear-gradient(180deg, #003366 0%, #0d2a3a 16%, #173a36 34%, #1f3a2e 52%, #2c4a3a 70%, #6f8a68 86%, #efe5d2 100%); }
.rd-gate::before { content: ''; position: absolute; inset: 0; background-image: radial-gradient(rgba(147,197,253,.12) 1.2px, transparent 1.2px); background-size: 26px 26px; -webkit-mask-image: linear-gradient(180deg, #000, transparent 38%); mask-image: linear-gradient(180deg, #000, transparent 38%); }
.rd-gate-head { position: relative; text-align: center; max-width: 820px; margin: 0 auto 4rem; }
.rd-gate-head .kicker { font-size: .78rem; font-weight: 700; letter-spacing: .14em; color: var(--rd-sky); margin-bottom: 1rem; }
.rd-gate-head h2 { font-family: 'Cormorant Garamond', Georgia, serif; font-size: clamp(2.2rem, 3.8vw, 3.4rem); font-weight: 600; line-height: 1.1; margin: 0 0 1rem; color: var(--wl-ivory); }
.rd-gate-head h2 em { color: var(--wl-gold); }
.rd-gate-head p { font-size: 1.08rem; line-height: 1.65; color: rgba(247,242,232,.8); margin: 0; }
.rd-gate-stages { position: relative; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; margin-bottom: 5rem; text-align: center; }
.rd-gate-stages::before { content: ''; position: absolute; left: 16%; right: 16%; top: 46px; height: 2px; background: linear-gradient(90deg, #93c5fd, #e3c28f 50%, #c8862a); }
.rd-gate-dot { position: relative; width: 92px; height: 92px; margin: 0 auto 1.3rem; border-radius: 50%; display: flex; align-items: center; justify-content: center; }
.rd-gate-dot .icon { width: 38px; height: 38px; }
.rd-gate-stages small { display: block; font-size: .75rem; font-weight: 700; letter-spacing: .14em; margin-bottom: .5rem; }
.rd-gate-stages h3 { margin: 0 0 .5rem; font-size: 1.7rem; color: var(--wl-ivory); }
.rd-gate-stages p { font-size: .95rem; line-height: 1.6; color: rgba(247,242,232,.78); max-width: 300px; margin: 0 auto; }
.rd-gate-arrive { position: relative; display: grid; grid-template-columns: 440px minmax(0, 1fr); gap: 60px; align-items: center; font-family: var(--wl-body); }
.rd-gate-portal { position: relative; height: 440px; display: flex; align-items: center; justify-content: center; }
.rd-gate-portal .halo { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; }
/* Collapsed only once rd.js is driving the bloom, so with JS off the mandala shows as normal. */
.rd-gate-portal.is-armed .halo { opacity: .22; transform: scale(.5); }
.rd-gate-portal .mandala { position: absolute; width: 440px; height: 440px; max-width: none; animation: rd-spin 120s linear infinite; }
.rd-gate-portal .mark { position: relative; width: 170px; height: 170px; border-radius: 50%; background: #f7f2e8; display: flex; align-items: center; justify-content: center; box-shadow: 0 0 0 16px rgba(247,242,232,.12), 0 30px 60px rgba(0,0,0,.25); animation: rd-breathe 6s ease-in-out infinite; transition: box-shadow 1.6s ease; }
.rd-gate-portal .mark img { width: 136px; height: 136px; }
/* Bloom, fired once when the weave reaches the mandala: the outer petals open and glow, a
   ring ripples out, and the lotus lights up. */
.rd-gate-portal.is-armed.is-bloom .halo { animation: rd-petals 2.4s cubic-bezier(.18,.72,.2,1) forwards; }
.rd-gate-portal.is-bloom .mark { box-shadow: 0 0 0 18px rgba(247,242,232,.2), 0 0 90px 14px rgba(227,194,143,.55), 0 30px 60px rgba(0,0,0,.25); }
.rd-gate-portal::after { content: ''; position: absolute; width: 190px; height: 190px; border-radius: 50%; border: 2px solid var(--wl-gold); opacity: 0; }
.rd-gate-portal.is-bloom::after { animation: rd-bloom 2.4s cubic-bezier(.18,.72,.2,1) .25s forwards; }
@keyframes rd-petals {
  0%   { opacity: .18; transform: scale(.5)   rotate(-26deg); filter: drop-shadow(0 0 0 rgba(227,194,143,0)); }
  55%  { opacity: 1;   transform: scale(1.08) rotate(4deg);   filter: drop-shadow(0 0 30px rgba(227,194,143,.85)); }
  100% { opacity: .92; transform: scale(1)    rotate(0);      filter: drop-shadow(0 0 16px rgba(227,194,143,.45)); }
}
@keyframes rd-bloom { from { transform: scale(.45); opacity: .9; } to { transform: scale(2.6); opacity: 0; } }
.rd-gate-arrive .kicker { font-size: .8rem; letter-spacing: .32em; color: var(--wl-gold); margin-bottom: 1.1rem; }
.rd-gate-arrive h2 { font-family: var(--wl-display); font-weight: 400; font-size: clamp(2.2rem, 4vw, 3.6rem); line-height: 1.06; margin: 0 0 1.1rem; color: var(--wl-ivory); }
.rd-gate-arrive p { font-weight: 300; font-size: 1.1rem; line-height: 1.7; color: rgba(247,242,232,.9); margin: 0 0 1.6rem; max-width: 600px; }
.rd-gate-tags { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 1.9rem; }
.rd-gate-tags span { padding: 9px 15px; border-radius: 50px; background: rgba(247,242,232,.14); font-size: .9rem; }
.rd-gate-cta { display: flex; gap: 14px; flex-wrap: wrap; }
.wl-btn { display: inline-flex; align-items: center; gap: 8px; padding: 1.05rem 2rem; border-radius: 50px; background: var(--wl-btn); color: #fff; font-family: var(--wl-body); font-weight: 500; text-decoration: none; letter-spacing: .02em; transition: background .2s; }
.wl-btn:hover { background: var(--wl-btn-hover); color: #fff; }
.wl-btn-soft { display: inline-flex; align-items: center; padding: 1rem 1.8rem; border-radius: 50px; border: 1px solid rgba(31,58,46,.35); background: rgba(247,242,232,.65); color: var(--wl-forest); font-family: var(--wl-body); font-weight: 500; text-decoration: none; }
.rd-leaf { position: absolute; animation: rd-leaf 16s linear infinite; pointer-events: none; }

/* ---------- footer additions ---------- */
footer { position: relative; overflow: hidden; }
.rd-footer-bar { position: absolute; left: 0; right: 0; top: 0; height: 4px; background: var(--rd-accent); }
.rd-footer-water { position: absolute; inset-inline-end: -160px; bottom: -220px; width: 560px; height: 560px; opacity: .05; pointer-events: none; animation: rd-spin 140s linear infinite; }
.rd-footer-wellness { display: inline-flex; align-items: center; gap: 8px; color: var(--wl-gold) !important; }
.rd-footer-wellness img { width: 16px; height: 16px; }

/* ---------- how we work ---------- */
.rd-pagehero { position: relative; overflow: hidden; color: #fff; background: linear-gradient(135deg, #0d1b2a 0%, #003366 100%); padding: calc(var(--nav-h, 72px) + 4rem) 0 4.5rem; }
.rd-pagehero .water { position: absolute; inset-inline-end: -120px; top: -140px; width: 560px; height: 560px; opacity: .07; animation: rd-spin 140s linear infinite; }
.rd-pagehero h1 { font-family: 'Cormorant Garamond', Georgia, serif; font-size: clamp(2.4rem, 4.6vw, 4rem); font-weight: 600; line-height: 1.05; margin: 1.3rem 0 1rem; color: #fff; }
.rd-pagehero h1 strong { color: var(--rd-sky); font-style: italic; font-weight: 600; }
.rd-pagehero p { font-size: 1.1rem; line-height: 1.6; color: rgba(255,255,255,.85); max-width: 640px; margin: 0 0 1.8rem; }
.rd-facts { display: flex; gap: 12px; flex-wrap: wrap; }
.rd-fact { padding: 12px 18px; border-radius: 14px; background: rgba(255,255,255,.08); border: 1px solid rgba(255,255,255,.16); }
.rd-fact small { display: block; font-size: .7rem; letter-spacing: .08em; color: rgba(255,255,255,.6); text-transform: uppercase; }
.rd-fact b { font-weight: 700; }
.rd-fact.is-gold { background: rgba(217,119,6,.18); border-color: rgba(251,191,36,.35); } .rd-fact.is-gold small { color: #fcd34d; }
.rd-dodont { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; }
.rd-dd { background: #fff; border-radius: 24px; border: 1px solid var(--rd-line); padding: 2rem; box-shadow: 0 10px 30px rgba(13,27,42,.06); }
.rd-dd-head { display: flex; align-items: center; gap: 12px; margin-bottom: 1.2rem; }
.rd-dd-head .ic { width: 46px; height: 46px; border-radius: 14px; display: flex; align-items: center; justify-content: center; }
.rd-dd-head .ic .icon { width: 22px; height: 22px; color: #fff; }
.rd-dd-head h2 { font-family: 'Cormorant Garamond', Georgia, serif; font-size: 1.9rem; font-weight: 600; color: var(--rd-navy); margin: 0; }
.rd-dd ul { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 10px; }
.rd-dd li { display: flex; gap: 12px; align-items: center; padding: 13px 16px; border-radius: 14px; background: #f8fafc; font-weight: 600; color: var(--rd-navy); }
.rd-dd li::before { content: ''; flex-shrink: 0; width: 8px; height: 8px; border-radius: 50%; background: var(--rd-blue); }
.rd-dd.is-dont li { background: #f6f9f2; } .rd-dd.is-dont li::before { background: #568531; }
.rd-stepper { display: grid; grid-template-columns: 400px minmax(0, 1fr); gap: 28px; align-items: stretch; }
.rd-stepper-list { display: flex; flex-direction: column; gap: 8px; }
.rd-stepper-list button { display: flex; align-items: center; gap: 14px; padding: 14px 16px; border-radius: 16px; background: #fff; color: var(--rd-navy); border: 1.5px solid var(--rd-line); font-size: .98rem; font-weight: 600; text-align: start; }
.rd-stepper-list button b { flex-shrink: 0; width: 34px; height: 34px; border-radius: 50%; display: flex; align-items: center; justify-content: center; background: #e8f1fc; color: var(--rd-blue); font-size: .88rem; }
.rd-stepper-list button[aria-selected="true"] { background: var(--rd-navy); color: #fff; border-color: var(--rd-navy); }
.rd-stepper-list button[aria-selected="true"] b { background: var(--rd-amber); color: var(--rd-navy); }
.rd-stepper-panel { position: relative; overflow: hidden; background: linear-gradient(145deg, #0d1b2a, #003366); color: #fff; border-radius: 28px; padding: 3rem; }
.rd-stepper-panel[hidden] { display: none; }
.rd-stepper-panel .big { font-family: 'Cormorant Garamond', Georgia, serif; font-size: 6.5rem; font-weight: 700; line-height: .9; color: rgba(147,197,253,.35); }
.rd-stepper-panel small { display: block; font-size: .78rem; font-weight: 700; letter-spacing: .12em; color: var(--rd-amber); margin: .8rem 0 .5rem; }
.rd-stepper-panel h3 { font-family: 'Cormorant Garamond', Georgia, serif; font-size: 2.6rem; font-weight: 600; margin: 0 0 .9rem; color: #fff; }
.rd-stepper-panel p { font-size: 1.1rem; line-height: 1.65; color: rgba(255,255,255,.85); max-width: 560px; margin: 0; }
.rd-stepper-panel .tag { display: inline-flex; margin-top: 1.3rem; padding: 8px 14px; border-radius: 50px; background: rgba(251,191,36,.18); border: 1px solid rgba(251,191,36,.4); color: #fcd34d; font-weight: 700; font-size: .88rem; }
.rd-flow { display: grid; grid-template-columns: 1fr 200px 1fr 200px 1fr; align-items: center; }
.rd-flow-card { border-radius: 22px; padding: 1.75rem; text-align: center; }
.rd-flow-card .ic { width: 64px; height: 64px; margin: 0 auto 14px; border-radius: 50%; display: flex; align-items: center; justify-content: center; }
.rd-flow-card .ic .icon { width: 28px; height: 28px; }
.rd-flow-card h3 { font-family: 'Cormorant Garamond', Georgia, serif; font-size: 1.65rem; font-weight: 600; margin: 0; }
.rd-flow-card p { font-size: .9rem; opacity: .82; margin: .4rem 0 0; }
.rd-flow-card .pill { display: inline-flex; margin-top: 12px; padding: 6px 12px; border-radius: 50px; font-size: .78rem; font-weight: 700; }
.rd-flow-arrow { display: flex; flex-direction: column; align-items: center; gap: 8px; font-size: .78rem; font-weight: 700; text-align: center; line-height: 1.3; }
.rd-flow-arrow svg { width: 180px; height: 30px; }
.rd-flow-arrow line { stroke-dasharray: 6 6; animation: rd-dash 1s linear infinite; }
[dir="rtl"] .rd-flow-arrow svg { transform: scaleX(-1); }
.rd-check { display: flex; flex-direction: column; gap: 10px; list-style: none; padding: 0; margin: 0; }
.rd-check label { display: flex; gap: 14px; align-items: flex-start; padding: 14px 16px; border-radius: 16px; background: #fff; border: 1.5px solid var(--rd-line); cursor: pointer; transition: background .2s, border-color .2s; }
.rd-check input { position: absolute; opacity: 0; pointer-events: none; }
.rd-check .box { flex-shrink: 0; width: 26px; height: 26px; border-radius: 8px; border: 2px solid #cbd5e1; background: #fff; display: flex; align-items: center; justify-content: center; transition: background .2s, border-color .2s; }
.rd-check .box::after { content: ''; width: 11px; height: 6px; border-left: 3px solid #fff; border-bottom: 3px solid #fff; transform: rotate(-45deg) translate(1px, -1px); opacity: 0; }
.rd-check input:checked + .box { background: var(--rd-blue); border-color: var(--rd-blue); }
.rd-check input:checked + .box::after { opacity: 1; }
.rd-check input:focus-visible + .box { outline: 3px solid var(--rd-amber); outline-offset: 2px; }
.rd-check label:has(input:checked) { background: #e8f1fc; border-color: #93c5fd; }
.rd-check.is-docs label:has(input:checked) { background: #f6f9f2; border-color: #d7e5c8; }
.rd-check.is-docs input:checked + .box { background: #568531; border-color: #568531; }
.rd-check b { display: block; color: var(--rd-navy); } .rd-check small { color: var(--rd-muted); font-size: .88rem; }
.rd-progress { height: 6px; border-radius: 6px; background: var(--rd-line); overflow: hidden; margin: .8rem 0 1.1rem; }
.rd-progress i { display: block; height: 100%; width: 0; border-radius: 6px; background: linear-gradient(90deg, #0066cc, #568531); transition: width .4s; }
.rd-check-ok { margin-top: 14px; padding: 14px 16px; border-radius: 14px; background: #f6f9f2; border: 1px solid #d7e5c8; color: #3f6526; font-weight: 600; }
.rd-check-ok[hidden] { display: none; }
/* a checklist inside an .rd-dd card, or inside article prose, keeps its own list styling */
.rd-dd .rd-check li { display: block; padding: 0; background: none; font-weight: 400; }
.rd-dd .rd-check li::before, .premium-structured-content .rd-grid-steps li::marker { content: none; display: none; }
.premium-structured-content ul.rd-check { padding: 0; margin: 0; }
.premium-structured-content ol.rd-grid-steps { padding: 0; margin: 0 0 1.5rem; }
.premium-structured-content .rd-dd { margin: 0 0 2rem; }
.premium-structured-content .rd-dd-head > b { font-size: 1.1rem; color: var(--rd-navy); }
.premium-structured-content .rd-grid-steps li { margin: 0; }
.rd-faq-list { display: flex; flex-direction: column; gap: 12px; }
.rd-grid-steps { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; counter-reset: rdstep; list-style: none; padding: 0; margin: 0; }
.rd-grid-steps li { counter-increment: rdstep; background: #fff; border: 1px solid var(--rd-line); border-radius: 20px; padding: 1.4rem; color: var(--rd-muted); font-size: .92rem; line-height: 1.55; transition: transform .3s, box-shadow .3s; }
.rd-grid-steps li:hover { transform: translateY(-4px); box-shadow: 0 16px 32px rgba(13,27,42,.1); }
.rd-grid-steps li::before { content: counter(rdstep, decimal-leading-zero); display: block; font-family: 'Cormorant Garamond', Georgia, serif; font-size: 2.4rem; font-weight: 700; color: var(--rd-blue); line-height: 1; margin-bottom: .7rem; }
.rd-grid-steps li:first-child { background: var(--rd-navy); color: rgba(255,255,255,.8); border-color: var(--rd-navy); }
.rd-grid-steps li:first-child::before { color: var(--rd-amber); }
.rd-grid-steps li:first-child strong, .rd-grid-steps li:first-child b { color: #fff; }

/* ---------- treatment page ---------- */
.rd-tabs { position: sticky; top: var(--nav-h, 72px); z-index: 20; background: #fff; border-bottom: 1px solid var(--rd-line); box-shadow: 0 6px 18px rgba(13,27,42,.05); }
.rd-tabs-inner { max-width: 1280px; margin: 0 auto; padding: 0 1.5rem; display: flex; gap: 4px; overflow-x: auto; scrollbar-width: none; }
.rd-tabs a { flex-shrink: 0; display: flex; align-items: center; padding: 1.15rem 1rem; font-weight: 600; font-size: .92rem; color: var(--rd-muted); text-decoration: none; box-shadow: inset 0 -3px 0 transparent; transition: color .2s, box-shadow .2s; }
.rd-tabs a.is-on, .rd-tabs a:hover { color: var(--rd-blue); box-shadow: inset 0 -3px 0 var(--rd-blue); }
.rd-wcard { display: grid; grid-template-columns: 190px minmax(0, 1fr); border-radius: 22px; overflow: hidden; background: linear-gradient(90deg, #f7f2e8, #efe5d2); border: 1px solid #d8c9ac; margin: 2rem 0; text-decoration: none; color: inherit; }
.rd-wcard-art { position: relative; background: radial-gradient(ellipse at 50% 50%, #4a6b4f, #1f3a2e 80%); display: flex; align-items: center; justify-content: center; min-height: 170px; }
.rd-wcard-art .mandala { position: absolute; width: 230px; height: 230px; opacity: .7; animation: rd-spin 120s linear infinite; }
.rd-wcard-art .mark { position: relative; width: 74px; height: 74px; border-radius: 50%; background: #f7f2e8; display: flex; align-items: center; justify-content: center; }
.rd-wcard-art .mark img { width: 58px; height: 58px; }
.rd-wcard-body { padding: 1.5rem 1.8rem; font-family: var(--wl-body); }
.rd-wcard-body small { display: block; font-size: .72rem; letter-spacing: .26em; color: var(--wl-terra); margin-bottom: .5rem; text-transform: uppercase; }
.rd-wcard-body b { display: block; font-family: var(--wl-display); font-weight: 400; font-size: 1.65rem; color: var(--wl-forest); margin-bottom: .45rem; }
.rd-wcard-body p { font-weight: 300; font-size: .96rem; color: var(--wl-soft); line-height: 1.6; margin: 0 0 .9rem; }
.rd-wcard-body span { display: inline-flex; padding: .65rem 1.2rem; border-radius: 50px; background: var(--wl-forest); color: var(--wl-ivory); font-weight: 500; font-size: .9rem; }

/* ---------- search palette ---------- */
.rd-search { position: fixed; inset: 0; z-index: 9990; background: rgba(13,27,42,.55); backdrop-filter: blur(6px); -webkit-backdrop-filter: blur(6px); display: flex; justify-content: center; align-items: flex-start; padding: 10vh 1rem 1rem; }
.rd-search[hidden] { display: none; }
.rd-search-box { width: min(620px, 100%); max-height: min(560px, 76vh); display: flex; flex-direction: column; background: #fff; border-radius: 16px; box-shadow: 0 28px 70px rgba(0,0,0,.32); overflow: hidden; animation: rd-rise .3s cubic-bezier(.2,.7,.2,1) both; }
/* Only the results list may shrink inside the capped box. Without flex-shrink: 0 the scope bar
   (overflow-x: auto, so its min-height is 0) got squashed and clipped the chips. */
.rd-search-in, .rd-search-scopes, .rd-search-foot { flex-shrink: 0; }
.rd-search-in { display: flex; align-items: center; gap: 10px; padding: 12px 16px; border-bottom: 1px solid var(--rd-line); }
.rd-search-in .icon { width: 18px; height: 18px; color: var(--rd-blue); }
.rd-search-in input { flex: 1; border: 0; outline: 0; font: 500 1rem 'DM Sans', sans-serif; color: var(--rd-navy); background: transparent; min-width: 0; }
.rd-search-in kbd, .rd-kbd { font: 700 .66rem 'DM Sans', sans-serif; color: var(--rd-muted); border: 1px solid var(--rd-line); border-radius: 6px; padding: 3px 7px; background: #fff; }
/* One swipeable row of chips; the edge fade hints that more sit off-screen (longer FR/RU labels too). */
.rd-search-scopes { display: flex; align-items: center; gap: 6px; padding: 8px 16px; border-bottom: 1px solid #f1f5f9; overflow-x: auto; overflow-y: hidden; scrollbar-width: none; -webkit-overflow-scrolling: touch; -webkit-mask-image: linear-gradient(90deg, #000 calc(100% - 28px), transparent); mask-image: linear-gradient(90deg, #000 calc(100% - 28px), transparent); }
[dir="rtl"] .rd-search-scopes { -webkit-mask-image: linear-gradient(270deg, #000 calc(100% - 28px), transparent); mask-image: linear-gradient(270deg, #000 calc(100% - 28px), transparent); }
.rd-search-scopes::-webkit-scrollbar { display: none; }
.rd-search-scopes button { flex-shrink: 0; display: inline-flex; align-items: center; gap: 5px; padding-block: 4px; padding-inline: 10px 5px; border-radius: 50px; font-size: .76rem; font-weight: 600; line-height: 1.2; white-space: nowrap; background: #fff; color: var(--rd-navy); border: 1px solid var(--rd-line); cursor: pointer; transition: border-color .15s, background .15s; }
.rd-search-scopes button:hover { border-color: #cbd5e1; }
.rd-search-scopes button[aria-pressed="true"] { background: var(--rd-navy); color: #fff; border-color: var(--rd-navy); }
.rd-search-scopes .n { min-width: 18px; padding: 1px 6px; border-radius: 50px; background: #f1f5f9; color: #64748b; font-size: .66rem; font-weight: 700; text-align: center; }
.rd-search-scopes button[aria-pressed="true"] .n { background: rgba(255,255,255,.18); color: #fff; }
.rd-search-scopes .n.is-zero { opacity: .55; }
.rd-search-results { flex: 1 1 auto; min-height: 0; overflow-y: auto; overscroll-behavior: contain; padding: 4px 8px 10px; }
.rd-search-group { font-size: .64rem; font-weight: 700; letter-spacing: .1em; color: #94a3b8; padding: 10px 8px 4px; text-transform: uppercase; }
.rd-search-hit { display: flex; align-items: center; gap: 10px; padding: 6px 8px; border-radius: 10px; text-decoration: none; color: inherit; border: 1px solid transparent; }
.rd-search-hit:hover, .rd-search-hit.is-active { background: #f8fafc; border-color: var(--rd-line); }
.rd-search-hit .g { flex-shrink: 0; width: 30px; height: 30px; border-radius: 8px; display: flex; align-items: center; justify-content: center; }
.rd-search-hit .g .icon { width: 14px; height: 14px; fill: currentColor; }
.rd-search-hit > span:last-child { min-width: 0; line-height: 1.3; }
.rd-search-hit b { display: block; color: var(--rd-navy); font-weight: 600; font-size: .9rem; }
.rd-search-hit small { color: #64748b; font-size: .74rem; }
.rd-search-empty { padding: 1.6rem 1rem; text-align: center; font-size: .88rem; color: var(--rd-muted); }
.rd-search-foot { display: flex; gap: 14px; padding: 7px 16px; border-top: 1px solid var(--rd-line); font-size: .7rem; color: #94a3b8; flex-wrap: wrap; }
.rd-search-trigger { display: none; }

/* =========================================================================
   WELLNESS THEME (wellness.php)
   ========================================================================= */
body.wl { background: var(--wl-ivory); color: var(--wl-text); font-family: var(--wl-body); }
.wl-disp { font-family: var(--wl-display); font-weight: 400; }
.wl-kicker { font-size: .8rem; letter-spacing: .32em; color: var(--wl-terra); margin-bottom: 1.1rem; text-transform: uppercase; }
.wl-hero { position: relative; min-height: 820px; overflow: hidden; color: var(--wl-ivory); background: radial-gradient(ellipse at 70% 40%, #4a6b4f 0%, #2c4a3a 40%, #1f3a2e 75%); padding-top: var(--nav-h, 72px); }
.wl-mist { position: absolute; border-radius: 50%; animation: rd-mist 16s ease-in-out infinite; pointer-events: none; }
.wl-hero-mandala { position: absolute; inset-inline-end: 3%; top: calc(var(--nav-h, 72px) + 30px); width: 720px; height: 720px; opacity: .9; }
.wl-hero-mandala img { width: 100%; height: 100%; animation: rd-spin 100s linear infinite; }
.wl-hero-mark { position: absolute; left: 50%; top: 50%; width: 170px; height: 170px; margin: -85px 0 0 -85px; border-radius: 50%; background: rgba(247,242,232,.94); display: flex; align-items: center; justify-content: center; }
.wl-hero-mark img { width: 140px; height: 140px; animation: rd-breathe 7s ease-in-out infinite; }
.wl-hero-copy { position: relative; max-width: 1280px; margin: 0 auto; padding: 7rem 1.5rem 5rem; }
.wl-hero-copy > div { max-width: 700px; }
.wl-hero h1 { font-family: var(--wl-display); font-weight: 400; font-size: clamp(2.6rem, 5vw, 4.2rem); line-height: 1.06; margin: 0 0 1.5rem; color: var(--wl-ivory); }
.wl-hero h1 span { color: var(--wl-gold); }
.wl-hero p { font-weight: 300; font-size: 1.18rem; line-height: 1.75; color: rgba(247,242,232,.86); margin: 0 0 2.4rem; max-width: 580px; }
.wl-hero .wl-kicker { color: var(--wl-gold); }
.wl-ghost { display: inline-flex; padding: 1rem 1.8rem; border-radius: 50px; border: 1px solid rgba(247,242,232,.45); color: var(--wl-ivory); font-weight: 500; text-decoration: none; }
.wl-ghost:hover { background: rgba(247,242,232,.08); color: var(--wl-ivory); }
.wl-trust { display: flex; gap: 2rem; flex-wrap: wrap; margin-top: 3rem; font-size: .82rem; letter-spacing: .08em; color: rgba(247,242,232,.75); text-transform: uppercase; }
.wl-section { padding: 7rem 0; }
.wl-h2 { font-family: var(--wl-display); font-weight: 400; font-size: clamp(2.2rem, 3.8vw, 3.4rem); color: var(--wl-forest); line-height: 1.1; margin: 0 0 1rem; }
.wl-lead { font-size: 1.1rem; font-weight: 300; color: var(--wl-soft); line-height: 1.7; max-width: 680px; }
.wl-center { text-align: center; } .wl-center .wl-lead { margin: 0 auto; }
.wl-trads { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; margin-top: 4rem; }
.wl-trad { position: relative; overflow: hidden; background: #fff; border-radius: 28px; padding: 2.2rem; border: 1px solid var(--wl-edge); transition: transform .5s cubic-bezier(.2,.7,.2,1), box-shadow .5s; }
.wl-trad:hover { transform: translateY(-6px); box-shadow: 0 30px 60px rgba(31,58,46,.14); }
.wl-trad .n { position: absolute; inset-inline-end: 24px; top: 16px; font-family: var(--wl-display); font-size: 5.5rem; color: var(--wl-sand); line-height: 1; }
.wl-trad .ic { position: relative; width: 56px; height: 56px; border-radius: 50%; display: flex; align-items: center; justify-content: center; margin-bottom: 1.4rem; }
.wl-trad .ic svg { width: 26px; height: 26px; }
.wl-trad h3 { position: relative; font-family: var(--wl-display); font-weight: 400; font-size: 1.85rem; color: var(--wl-forest); margin: 0 0 .6rem; }
.wl-trad p { position: relative; font-weight: 300; color: var(--wl-soft); line-height: 1.65; margin: 0; }
.wl-intent { background: var(--wl-sand); }
.wl-intent-grid { display: grid; grid-template-columns: 420px minmax(0, 1fr); gap: 70px; align-items: start; }
.wl-intent-chips { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 1.8rem; }
.wl-intent-chips button { padding: 12px 20px; border-radius: 50px; font: 500 .95rem var(--wl-body); background: var(--wl-ivory); color: var(--wl-forest); border: 1px solid #d8c9ac; cursor: pointer; transition: background .3s, color .3s; }
.wl-intent-chips button[aria-pressed="true"] { background: var(--wl-forest); color: var(--wl-ivory); border-color: var(--wl-forest); }
.wl-progs { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
.wl-prog { background: #fff; border-radius: 26px; overflow: hidden; border: 1px solid var(--wl-edge); animation: rd-rise .5s cubic-bezier(.2,.7,.2,1) both; }
.wl-prog[hidden] { display: none; }
.wl-prog-band { height: 88px; padding: 22px 28px; display: flex; align-items: flex-end; font-family: var(--wl-display); font-size: .82rem; letter-spacing: .24em; color: rgba(255,255,255,.88); }
.wl-prog-body { padding: 1.6rem 1.75rem 1.75rem; }
.wl-prog-body h3 { font-family: var(--wl-display); font-weight: 400; font-size: 1.7rem; color: var(--wl-forest); margin: 0 0 .6rem; }
.wl-prog-body p { font-weight: 300; color: var(--wl-soft); line-height: 1.65; margin: 0 0 1rem; }
.wl-tags { display: flex; gap: 8px; flex-wrap: wrap; }
.wl-tags span { font-size: .8rem; padding: 7px 12px; border-radius: 50px; background: var(--wl-ivory); color: var(--wl-moss); }
.wl-dest { display: grid; grid-template-columns: 1.3fr 1fr 1fr; grid-template-rows: 280px 280px; gap: 20px; }
.wl-dest > div { position: relative; overflow: hidden; border-radius: 30px; padding: 1.9rem; display: flex; flex-direction: column; justify-content: flex-end; color: #fff; transition: transform .5s cubic-bezier(.2,.7,.2,1), box-shadow .5s; }
.wl-dest > div:hover { transform: translateY(-6px); box-shadow: 0 30px 60px rgba(31,58,46,.14); }
.wl-dest > div:first-child { grid-row: span 2; }
.wl-dest small { display: block; font-size: .75rem; letter-spacing: .24em; opacity: .9; margin-bottom: .5rem; text-transform: uppercase; }
.wl-dest b { font-family: var(--wl-display); font-weight: 400; font-size: 2.2rem; display: block; }
.wl-dest > div:first-child b { font-size: 3rem; }
.wl-dest span { font-weight: 300; opacity: .92; }
.wl-dest svg { position: absolute; left: 0; top: 30px; width: 100%; opacity: .45; }
.wl-journey { position: relative; overflow: hidden; background: var(--wl-forest); color: var(--wl-ivory); }
.wl-journey .wl-h2 { color: var(--wl-ivory); }
.wl-journey .wl-kicker { color: var(--wl-gold); }
.wl-steps { position: relative; display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 20px; margin-top: 4rem; text-align: center; list-style: none; padding: 0; }
.wl-steps::before { content: ''; position: absolute; left: 10%; right: 10%; top: 38px; height: 1px; background: linear-gradient(90deg, transparent, var(--wl-gold), transparent); }
.wl-steps li b { position: relative; width: 76px; height: 76px; margin: 0 auto 1.4rem; border-radius: 50%; border: 1px solid var(--wl-gold); background: var(--wl-forest); display: flex; align-items: center; justify-content: center; font-family: var(--wl-display); font-weight: 400; font-size: 1.6rem; color: var(--wl-gold); }
.wl-steps h3 { font-family: var(--wl-display); font-weight: 400; font-size: 1.45rem; margin: 0 0 .5rem; color: var(--wl-ivory); }
.wl-steps p { font-weight: 300; font-size: .95rem; line-height: 1.6; color: rgba(247,242,232,.75); margin: 0; }
.wl-bridge { display: grid; grid-template-columns: 1fr 1fr; border-radius: 32px; overflow: hidden; background: #fff; border: 1px solid var(--wl-edge); }
.wl-bridge-med { padding: 3.2rem; background: linear-gradient(135deg, #0d1b2a, #003366); color: #fff; font-family: 'DM Sans', sans-serif; }
.wl-bridge-med small { display: block; font-size: .78rem; font-weight: 700; letter-spacing: .14em; color: var(--rd-sky); margin-bottom: .9rem; }
.wl-bridge-med h2 { font-family: 'Cormorant Garamond', Georgia, serif; font-size: 2.6rem; font-weight: 600; line-height: 1.1; margin: 0 0 .9rem; color: #fff; }
.wl-bridge-med p { line-height: 1.65; color: rgba(255,255,255,.82); margin: 0 0 1.3rem; }
.wl-bridge-med .pairs { display: flex; gap: 10px; flex-wrap: wrap; }
.wl-bridge-med .pairs span { padding: 8px 14px; border-radius: 50px; background: rgba(255,255,255,.1); font-size: .88rem; }
.wl-bridge-wel { padding: 3.2rem; display: flex; flex-direction: column; justify-content: center; }
.wl-bridge-line { display: flex; align-items: center; gap: 14px; margin-bottom: .8rem; }
.wl-bridge-line i { flex: 1; height: 2px; background: linear-gradient(90deg, #0066cc, #c8862a); }
.wl-bridge-line i + img + i { background: linear-gradient(90deg, #c8862a, #4a6b4f); }
.wl-bridge-line em { width: 12px; height: 12px; border-radius: 50%; }
.wl-bridge-line img { width: 34px; height: 34px; }
.wl-bridge-labels { display: flex; justify-content: space-between; font-size: .85rem; color: var(--wl-soft); margin-bottom: 1.8rem; }
.wl-bridge-wel b { font-family: var(--wl-display); font-weight: 400; font-size: 1.6rem; color: var(--wl-forest); margin-bottom: 1.2rem; display: block; }
.wl-promise { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.wl-promise div { padding: 1.4rem; border-radius: 22px; background: #fff; border: 1px solid var(--wl-edge); }
.wl-promise b { display: block; font-family: var(--wl-display); font-weight: 400; font-size: 1.3rem; color: var(--wl-forest); margin-bottom: .35rem; }
.wl-promise p { font-weight: 300; color: var(--wl-soft); font-size: .95rem; line-height: 1.6; margin: 0; }
.wl-enquire { position: relative; overflow: hidden; border-radius: 36px; background: radial-gradient(ellipse at 80% 20%, #4a6b4f, #1f3a2e 70%); color: var(--wl-ivory); padding: 4rem; display: grid; grid-template-columns: minmax(0, 1fr) 520px; gap: 60px; align-items: center; }
.wl-enquire h2 { font-family: var(--wl-display); font-weight: 400; font-size: clamp(2.2rem, 3.8vw, 3.3rem); line-height: 1.08; margin: 0 0 1rem; color: var(--wl-ivory); }
.wl-enquire p { font-weight: 300; font-size: 1.08rem; line-height: 1.7; color: rgba(247,242,232,.82); margin: 0; }
.wl-form { background: var(--wl-ivory); color: var(--wl-text); border-radius: 28px; padding: 2rem; display: flex; flex-direction: column; gap: 12px; }
.wl-form input, .wl-form select, .wl-form textarea { width: 100%; border-radius: 14px; border: 1px solid var(--wl-edge); background: #fff; padding: 14px 18px; font: 400 1rem var(--wl-body); color: var(--wl-text); }
.wl-form textarea { min-height: 96px; resize: vertical; }
.wl-form label.c { display: flex; gap: 10px; align-items: flex-start; font-size: .85rem; color: var(--wl-soft); }
.wl-form label.c input { width: auto; margin-top: 3px; }
.wl-form button { height: 56px; border-radius: 50px; background: var(--wl-btn); color: #fff; border: 0; font: 500 1rem var(--wl-body); letter-spacing: .03em; cursor: pointer; }
.wl-disclaimer { background: var(--wl-forest); color: rgba(247,242,232,.75); padding: 1.6rem 0; font-size: .88rem; }
.wl-disclaimer .rd-wrap { display: flex; justify-content: space-between; align-items: center; gap: 1rem; flex-wrap: wrap; }
body.wl #navbar { background: rgba(31,58,46,.97); border-bottom-color: rgba(239,229,210,.12); }
body.wl #navbar .nav-links a { color: var(--wl-sand); }
body.wl #navbar .nav-links a.nav-cta { background: var(--wl-btn); color: #fff; }
body.wl .rd-accent-bar { background: linear-gradient(90deg, #c8862a, #e3c28f 50%, #a9b89a); }

/* ---------- responsive ---------- */
@media (max-width: 1280px) {
  .rd-switch { align-self: flex-start; margin: .25rem 1rem; }
  body.wl #navbar .nav-links { background: var(--wl-forest); }
}
@media (max-width: 1100px) {
  .rd-hero-map { opacity: .55; justify-content: center; }
  .rd-hero-fade { background: linear-gradient(180deg, rgba(13,27,42,.6), rgba(13,27,42,.92)); }
  .rd-hero-legend, .rd-hero-cards, .rd-hero-india, .rd-hero-flight { display: none; }
  .rd-explorer, .rd-faq, .rd-contact-grid, .rd-brand-grid, .rd-gate-arrive, .rd-stepper, .wl-intent-grid, .wl-enquire, .wl-bridge { grid-template-columns: 1fr; }
  .rd-docs, .rd-grid-steps { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .rd-timeline { grid-template-columns: repeat(2, minmax(0, 1fr)); } .rd-timeline::before, .rd-timeline::after { display: none; }
  .rd-brand-cards, .wl-trads { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .rd-flow { grid-template-columns: 1fr; gap: 12px; } .rd-flow-arrow svg { transform: rotate(90deg); height: 50px; } [dir="rtl"] .rd-flow-arrow svg { transform: rotate(90deg); }
  .rd-gate-portal { height: 320px; } .rd-gate-portal .mandala { width: 320px; height: 320px; }
  .wl-hero-mandala { opacity: .35; width: 520px; height: 520px; }
  .wl-dest { grid-template-columns: 1fr 1fr; grid-template-rows: auto; } .wl-dest > div { min-height: 220px; } .wl-dest > div:first-child { grid-row: auto; grid-column: span 2; }
  .wl-steps { grid-template-columns: repeat(2, minmax(0, 1fr)); text-align: start; } .wl-steps::before { display: none; } .wl-steps li b { margin: 0 0 1rem; }
  .wl-enquire { padding: 2.2rem; } .rd-gate-rail { display: none; }
}
@media (max-width: 700px) {
  .rd-section, .wl-section { padding: 4rem 0; }
  .rd-hero { min-height: 0; } .rd-hero-inner { padding: 2.4rem 1rem 3rem; }
  .rd-hero-stats b { font-size: 1.7rem; }
  .rd-spec-list { grid-template-columns: 1fr; } .rd-spec.is-wellness { grid-column: auto; }
  .rd-docs, .rd-timeline, .rd-brand-cards, .rd-dodont, .rd-grid-steps, .wl-trads, .wl-progs, .wl-promise, .rd-gate-stages { grid-template-columns: 1fr; }
  .rd-gate-stages::before { display: none; }
  .rd-hcard { width: 82vw; }
  .rd-brand-mark { height: 280px; } .rd-brand-mark::before { width: 230px; height: 230px; } .rd-brand-mark img { width: 170px; height: 170px; }
  .rd-contact .contact-form { padding: 1.4rem; }
  .rd-steps li span { display: none; }
  .wl-dest { grid-template-columns: 1fr; } .wl-dest > div:first-child { grid-column: auto; }
  .wl-steps { grid-template-columns: 1fr; }
  .wl-bridge-med, .wl-bridge-wel { padding: 2rem; }
  .rd-wcard { grid-template-columns: 1fr; } .rd-wcard-art { min-height: 130px; }
}

/* ---------- RTL ---------- */
[dir="rtl"] .rd-hero-fade { background: linear-gradient(90deg, rgba(13,27,42,.97) 0%, rgba(13,27,42,.92) 34%, rgba(13,27,42,.6) 50%, rgba(13,27,42,.2) 62%, rgba(13,27,42,0) 74%); }
[dir="rtl"] .rd-hero h1 strong, [dir="rtl"] .rd-h2 em, [dir="rtl"] .rd-gate-head h2 em, [dir="rtl"] .rd-contact h2 em, [dir="rtl"] .rd-pagehero h1 strong { font-style: normal; }
[dir="rtl"] .rd-logos-track { animation-direction: reverse; }

/* ---------- motion preference ---------- */
@media (prefers-reduced-motion: reduce) {
  .rd-hero-map *, .rd-hero-flight .rd-plane, .rd-logos-track, .rd-spin, .rd-breathe, .rd-float, .rd-leaf, .wl-mist, .rd-btn::after,
  .rd-hero-lotus, .rd-gate-portal .mandala, .rd-gate-portal .mark, .wl-hero-mandala img, .wl-hero-mark img,
  .rd-brand-water, .rd-footer-water, .rd-panel-art .mandala, .rd-wcard-art .mandala, .rd-veil, .rd-veil * { animation: none !important; }
  .rd-reveal-on-scroll, .rd-js .rd-reveal-on-scroll { opacity: 1; transform: none; transition: none; }
  .rd-timeline::after { transition: none; transform: scaleX(1); }
}
.rd-flip { transform: scaleX(-1); }
[dir="rtl"] .rd-rail-btns .rd-flip { transform: none; }

/* Header fit: the Medical|Wellness switch replaced 'Home'; between the drawer breakpoint and 1800px
   the full bar needs tighter links and drops 'Practical Info' (still in the footer and search). */
@media (min-width: 1281px) and (max-width: 1799px) {
  #navbar .nav-links a { padding-left: .55rem; padding-right: .55rem; }
  #navbar .nav-links li.nav-optional { display: none; }
  #navbar .nav-wa-btn { display: none; }
}
/* French labels are the longest; at the narrowest desktop widths they need a little less room. */
@media (min-width: 1281px) and (max-width: 1439px) {
  [lang="fr"] #navbar .nav-links a { padding-left: .34rem; padding-right: .34rem; font-size: .85rem; }
}
/* Decorative layers (mist, watermarks) may bleed past the edge; clip, not hidden, so sticky bars keep working. */
#main { overflow-x: clip; }
/* treatment.php sets its two-column grid inline, which beat site.css's mobile rule. */
@media (max-width: 1024px) { .content-grid { grid-template-columns: minmax(0, 1fr) !important; } }
.rd-ico { width: 38px; height: 38px; display: block; }
.rd-split { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 520px); gap: 60px; align-items: center; }
@media (max-width: 1100px) { .rd-split { grid-template-columns: 1fr; gap: 28px; } }
.rd-faq-filter { width: 100%; margin-bottom: 1.2rem; padding: 14px 18px; border-radius: 14px; border: 1.5px solid var(--rd-line); font: 500 1rem 'DM Sans', sans-serif; }
.rd-faq-filter:focus { outline: 3px solid var(--rd-amber); outline-offset: 1px; }

/* Arabic is cursive: tracking pulls the joined letters apart, so the redesign's spaced small caps drop it. */
[lang="ar"] [class*="rd-"], [lang="ar"] [class*="rd-"] *, [lang="ar"] [class*="wl-"], [lang="ar"] [class*="wl-"] * { letter-spacing: normal !important; }

/* ---------- cost estimator (partials/estimator.php) ---------- */
.rd-est { background: #fff; border-radius: 26px; padding: 2rem; box-shadow: 0 30px 60px rgba(13,27,42,.12); }
.rd-est-top { display: flex; justify-content: space-between; align-items: center; gap: 12px; margin-bottom: 1.4rem; }
.rd-est-title { display: flex; align-items: center; gap: 10px; }
.rd-est-title b { font-family: 'Cormorant Garamond', Georgia, serif; font-size: 1.75rem; font-weight: 600; color: var(--rd-navy); }
.rd-est-badge { font-size: .72rem; font-weight: 700; letter-spacing: .06em; background: #fffbeb; color: #b45309; border: 1px solid #fcd34d; padding: 4px 10px; border-radius: 50px; white-space: nowrap; }
.rd-est-lbl { display: flex; justify-content: space-between; gap: 8px; font-size: .8rem; font-weight: 700; color: #64748b; letter-spacing: .06em; text-transform: uppercase; margin: 0 0 .55rem; }
.rd-est-lbl output { color: var(--rd-navy); }
.rd-est-select { width: 100%; padding: .85rem 1rem; border-radius: 14px; border: 1.5px solid var(--rd-line); font: 500 1rem 'DM Sans', sans-serif; color: var(--rd-navy); background: #fff; margin-bottom: 1.3rem; }
.rd-est-select:focus, .rd-est-range:focus-visible, .rd-est-step button:focus-visible { outline: 3px solid var(--rd-amber); outline-offset: 2px; }
.rd-est-seg { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; margin-bottom: 1.3rem; }
.rd-est-seg label { position: relative; cursor: pointer; }
.rd-est-seg input { position: absolute; opacity: 0; }
.rd-est-seg span { display: block; text-align: center; padding: .7rem .4rem; border-radius: 12px; border: 1.5px solid var(--rd-line); font-weight: 600; font-size: .9rem; color: var(--rd-muted); transition: background .2s, border-color .2s, color .2s; }
.rd-est-seg input:checked + span { background: #e8f1fc; border-color: var(--rd-blue); color: var(--rd-blue); }
.rd-est-seg input:focus-visible + span { outline: 3px solid var(--rd-amber); outline-offset: 2px; }
.rd-est-row { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 20px; margin-bottom: 1.2rem; }
.rd-est-step { display: flex; gap: 8px; }
.rd-est-step button { width: 46px; height: 46px; flex-shrink: 0; border-radius: 12px; border: 1.5px solid var(--rd-line); background: #fff; font-size: 1.3rem; color: var(--rd-navy); cursor: pointer; }
.rd-est-step output { flex-grow: 1; height: 46px; border-radius: 12px; background: #f8fafc; display: flex; align-items: center; justify-content: center; font-weight: 600; color: var(--rd-navy); font-size: .92rem; text-align: center; }
.rd-est-range { width: 100%; margin-top: .9rem; accent-color: var(--rd-blue); }
.rd-est-well { cursor: pointer; display: flex; align-items: center; gap: 14px; padding: 14px 16px; margin-bottom: 1.2rem; border-radius: 14px; background: linear-gradient(90deg, #f7f2e8, #efe5d2); border: 1px solid #d8c9ac; }
.rd-est-well input { position: absolute; opacity: 0; }
.rd-est-well span { flex-grow: 1; }
.rd-est-well b { display: block; color: var(--wl-forest); font-size: .95rem; }
.rd-est-well small { color: var(--wl-soft); font-size: .82rem; }
.rd-est-knob { flex-shrink: 0; width: 44px; height: 26px; border-radius: 26px; background: #cbd5e1; position: relative; transition: background .25s; }
.rd-est-knob::after { content: ''; position: absolute; top: 3px; inset-inline-start: 3px; width: 20px; height: 20px; border-radius: 50%; background: #fff; transition: transform .25s; }
.rd-est-well input:checked ~ .rd-est-knob { background: var(--wl-forest); }
.rd-est-well input:checked ~ .rd-est-knob::after { transform: translateX(18px); }
[dir="rtl"] .rd-est-well input:checked ~ .rd-est-knob::after { transform: translateX(-18px); }
.rd-est-well input:focus-visible ~ .rd-est-knob { outline: 3px solid var(--rd-amber); outline-offset: 2px; }
.rd-est-out { border-radius: 18px; background: linear-gradient(135deg, #0d1b2a, #003366); color: #fff; padding: 1.4rem 1.5rem; }
.rd-est.is-well .rd-est-out { background: linear-gradient(135deg, #0d1b2a, #003366 60%, #1f3a2e); }
.rd-est-total small { display: block; font-size: .85rem; color: rgba(255,255,255,.65); margin-bottom: 2px; }
.rd-est-total b { font-family: 'Cormorant Garamond', Georgia, serif; font-size: clamp(1.9rem, 3.4vw, 2.4rem); font-weight: 600; line-height: 1.15; }
.rd-est-lines { margin: 1rem 0; padding: .9rem 0 0; border-top: 1px solid rgba(255,255,255,.14); display: flex; flex-direction: column; gap: .45rem; }
.rd-est-lines div { display: flex; justify-content: space-between; gap: 12px; font-size: .9rem; }
.rd-est-lines dt { color: rgba(255,255,255,.72); }
.rd-est-lines dd { margin: 0; font-weight: 600; white-space: nowrap; }
.rd-est-lines div[hidden] { display: none; }
.rd-est-cta { display: flex; flex-wrap: wrap; gap: 14px; align-items: center; }
.rd-est-more { color: #93c5fd; font-weight: 600; font-size: .92rem; }
.rd-est-note { margin: 1rem 0 0; font-size: .82rem; color: var(--rd-muted); line-height: 1.55; }
.rd-est-sec { background: rgba(13, 51, 102, .035); }
.rd-est-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 560px); gap: 64px; align-items: center; }
.rd-est-points { list-style: none; padding: 0; margin: 1.4rem 0 0; display: flex; flex-direction: column; gap: 10px; color: #1e293b; }
.rd-est-points li { display: flex; gap: 10px; align-items: flex-start; }
.rd-est-points li::before { content: ''; flex-shrink: 0; margin-top: .35em; width: 14px; height: 8px; border-left: 2.5px solid var(--rd-blue); border-bottom: 2.5px solid var(--rd-blue); transform: rotate(-45deg); }
@media (max-width: 1100px) { .rd-est-grid { grid-template-columns: 1fr; gap: 32px; } }
@media (max-width: 520px) { .rd-est { padding: 1.3rem; } .rd-est-row { grid-template-columns: 1fr; } .rd-est-seg span { font-size: .82rem; } .rd-est-lines div { flex-direction: column; gap: 0; } }
.footer-legal { font-size: .82rem; opacity: .75; }

/* ---------- cost guides (cost-guide.php) ---------- */
.rd-cost-table { margin: 1.4rem 0 1.8rem; border: 1px solid var(--rd-line); border-radius: 18px; overflow: hidden; background: #fff; }
.rd-cost-table > div { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 16px; padding: .95rem 1.3rem; border-top: 1px solid var(--rd-line); color: var(--rd-navy); }
.rd-cost-table > div:first-child { border-top: 0; }
.rd-cost-table .head { background: #f8fafc; font-size: .8rem; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: #64748b; }
.rd-cost-table .is-base { background: #e8f1fc; font-weight: 700; }
.rd-cost-table span:last-child { font-weight: 600; white-space: nowrap; }
.rd-cost-h3 { font-family: 'Cormorant Garamond', Georgia, serif; font-size: 1.6rem; font-weight: 600; color: var(--rd-navy); margin: 1.8rem 0 .6rem; }
.rd-cost-hosp, .rd-guide-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(250px, 1fr)); gap: 14px; }
.rd-cost-hosp a, .rd-guide-grid a { display: block; padding: 1.1rem 1.3rem; border-radius: 18px; background: #fff; border: 1px solid var(--rd-line); text-decoration: none; }
.rd-cost-hosp b, .rd-guide-grid b { display: block; color: var(--rd-navy); font-size: 1.02rem; margin-bottom: .25rem; }
.rd-cost-hosp span, .rd-guide-grid span { color: var(--rd-muted); font-size: .88rem; }
.rd-guide-grid span strong { color: var(--rd-blue); }
.rd-est [hidden] { display: none !important; }
.rd-cost-hosp span + span { display: block; margin-top: .15rem; font-weight: 600; color: #047857; font-size: .8rem; }
/* In the page flow just under the fixed header; the hero after it drops the top padding that
   normally clears the header (its inline padding-top), so the page does not gain a large gap. */
.rd-mt-note { display: flex; gap: 12px; align-items: flex-start; margin: 0; padding: calc(var(--nav-h, 72px) + 12px) max(16px, calc((100% - 1280px) / 2 + 1.5rem)) 12px; background: #fffbeb; border-bottom: 1px solid #fcd34d; color: #78350f; font-size: .86rem; line-height: 1.5; }
.rd-mt-note + section { padding-top: 2.6rem !important; }
@media (max-width: 700px) { .rd-mt-note { font-size: .8rem; } .rd-mt-note + section { padding-top: 1.8rem !important; } }
.rd-mt-note .icon { flex-shrink: 0; width: 18px; height: 18px; margin-top: 2px; color: #b45309; }
.rd-mt-note p { margin: 0; }
.rd-mt-note a { color: #92400e; font-weight: 700; text-decoration: underline; }

/* ---------- form result message (rd.js, from mailer.php ?status=) ---------- */
.rd-result { position: fixed; left: 50%; bottom: 88px; transform: translateX(-50%); z-index: 99999; width: min(560px, calc(100% - 32px)); display: flex; flex-wrap: wrap; align-items: center; gap: 10px 14px; padding: 1rem 3rem 1rem 1.2rem; border-radius: 18px; box-shadow: 0 18px 44px rgba(13,27,42,.28); font-size: .95rem; line-height: 1.5; animation: rd-rise .4s cubic-bezier(.2,.7,.2,1) both; }
.rd-result.is-ok { background: #0d1b2a; color: #fff; }
.rd-result.is-err { background: #fff7ed; color: #7c2d12; border: 1px solid #fdba74; }
.rd-result p { margin: 0; flex: 1 1 260px; font-weight: 600; }
.rd-result-wa { display: inline-flex; padding: .55rem 1rem; border-radius: 50px; background: #25d366; color: #073b1e; font-weight: 700; font-size: .88rem; text-decoration: none; white-space: nowrap; }
.rd-result-x { position: absolute; top: 8px; inset-inline-end: 10px; width: 32px; height: 32px; border: 0; border-radius: 50%; background: transparent; color: inherit; font-size: 1.4rem; line-height: 1; cursor: pointer; opacity: .75; }
.rd-result-x:hover, .rd-result-x:focus-visible { opacity: 1; outline: 2px solid currentColor; }
[dir="rtl"] .rd-result { padding: 1rem 1.2rem 1rem 3rem; }

/* estimator share row */
.rd-est-share { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 14px; margin-top: 1rem; padding-top: .9rem; border-top: 1px solid rgba(255,255,255,.14); font-size: .86rem; color: rgba(255,255,255,.72); }
.rd-est-share a { display: inline-flex; align-items: center; gap: 6px; color: #fff; font-weight: 600; text-decoration: none; padding: .35rem .8rem; border-radius: 50px; border: 1px solid rgba(255,255,255,.28); }
.rd-est-share a:hover { background: rgba(255,255,255,.1); }
.rd-est-share .icon { width: 15px; height: 15px; }

/* ---------- Medical <-> Wellness switch, arriving side (header.php inline script + rd.js) ---------- */
/* Cover painted before the page itself; fades out on its own after 3s in case rd.js never runs. */
html.rd-arrive body::before { content: ''; position: fixed; inset: 0; z-index: 10000; pointer-events: none; animation: rd-arrive-safety .4s ease 3s forwards; }
html.rd-arrive-wellness body::before { background: radial-gradient(ellipse at 70% 40%, #4a6b4f 0%, #2c4a3a 40%, #1f3a2e 75%); }
html.rd-arrive-medical body::before { background: linear-gradient(135deg, #0d1b2a, #152b47 50%, #003366); }
@keyframes rd-arrive-safety { to { opacity: 0; visibility: hidden; } }
.rd-veil.is-arrive { background: none; animation: none; z-index: 10001; pointer-events: none; }
.rd-veil.is-arrive > div:not(.rd-veil-mandala) { opacity: 1; animation: none; }
.rd-veil.is-arrive .rd-veil-bg { position: absolute; inset: 0; }
.rd-veil.is-arrive.to-wellness .rd-veil-bg { background: radial-gradient(ellipse at 70% 40%, #4a6b4f 0%, #2c4a3a 40%, #1f3a2e 75%); }
.rd-veil.is-arrive.to-medical .rd-veil-bg { background: linear-gradient(135deg, #0d1b2a, #152b47 50%, #003366); }
.rd-veil.is-arrive .rd-veil-mark { will-change: transform; transform-origin: 50% 50%; }

/* ---------- header logo: frosted-glass badge (owner's choice, option 5, 2026-09-28) ---------- */
/* A slightly see-through pane with a soft top light instead of a flat navy block, so the badge sits
   in the header rather than on it. Wellness uses the same glass in forest green. */
#navbar .nav-logo {
  padding: 7px 15px; border-radius: 13px;
  background: linear-gradient(160deg, rgba(20, 45, 75, .94) 0%, rgba(13, 27, 42, .9) 100%);
  box-shadow: 0 6px 18px rgba(13, 27, 42, .18), inset 0 1px 0 rgba(255, 255, 255, .22), inset 0 0 0 1px rgba(255, 255, 255, .06);
  -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px);
  transition: box-shadow .3s;
}
#navbar .nav-logo:hover { box-shadow: 0 8px 22px rgba(13, 27, 42, .24), inset 0 1px 0 rgba(255, 255, 255, .28), inset 0 0 0 1px rgba(255, 255, 255, .1); }
body.wl #navbar .nav-logo {
  background: linear-gradient(160deg, rgba(40, 70, 52, .9) 0%, rgba(22, 41, 31, .86) 100%);
  box-shadow: 0 6px 18px rgba(0, 0, 0, .25), inset 0 1px 0 rgba(247, 242, 232, .2), inset 0 0 0 1px rgba(247, 242, 232, .06);
}
/* Wellness header: the language selector kept the dark Medical colour on the forest bar. */
body.wl #navbar .lang-switch-current, body.wl #navbar .lang-switch-current .icon { color: var(--wl-ivory, #f7f2e8); }
@media (max-width: 1280px) { body.wl #navbar .nav-links.active .lang-switch-current { color: inherit; } }

/* ---------- contact page (contact.php) ---------- */
.rd-sr { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.rd-contact-hero { padding-bottom: 3.4rem; }
.rd-quick { display: flex; flex-wrap: wrap; gap: 14px; margin-top: 1.8rem; }
.rd-quick-card { display: flex; align-items: center; gap: 14px; min-width: 230px; padding: .95rem 1.2rem; border-radius: 18px; background: rgba(255,255,255,.08); border: 1px solid rgba(255,255,255,.16); color: #fff; text-decoration: none; transition: background .2s, transform .2s; }
.rd-quick-card:hover { background: rgba(255,255,255,.14); transform: translateY(-2px); color: #fff; }
.rd-quick-card .icon { width: 42px; height: 42px; padding: 10px; border-radius: 12px; background: rgba(147,197,253,.16); color: #93c5fd; flex-shrink: 0; }
.rd-quick-card.is-wa .icon { background: #25d366; color: #073b1e; }
.rd-quick-card b { display: block; font-size: 1rem; } .rd-quick-card small { color: rgba(255,255,255,.72); font-size: .86rem; }
.rd-contact-main { background: var(--rd-b2); }
.rd-contact-layout { display: grid; grid-template-columns: minmax(0, 1fr) 360px; gap: 40px; align-items: start; }
.rd-cform { background: #fff; border-radius: 26px; padding: 2rem; box-shadow: 0 24px 60px rgba(13,27,42,.1); border: 1px solid var(--rd-line); margin: 0; }
.rd-cform fieldset { border: 0; padding: 0; margin: 0; min-width: 0; }
.rd-cform-head { display: flex; justify-content: space-between; gap: 16px; align-items: flex-start; margin-bottom: 1.2rem; }
.rd-cform-head h2 { font-family: 'Cormorant Garamond', Georgia, serif; font-size: 2rem; font-weight: 600; color: var(--rd-navy); margin: 0 0 .3rem; }
.rd-cform-head p { margin: 0; color: var(--rd-muted); font-size: .92rem; }
.rd-choice { display: flex; flex-wrap: wrap; gap: 8px; }
.rd-choice label { position: relative; cursor: pointer; }
.rd-choice input { position: absolute; opacity: 0; pointer-events: none; }
.rd-choice span { display: inline-block; padding: .62rem 1rem; border-radius: 50px; border: 1.5px solid var(--rd-line); background: #fff; font-size: .9rem; font-weight: 600; color: var(--rd-muted); transition: background .2s, border-color .2s, color .2s; }
.rd-choice input:checked + span { background: #e8f1fc; border-color: var(--rd-blue); color: var(--rd-blue); }
.rd-choice input:focus-visible + span { outline: 3px solid var(--rd-amber); outline-offset: 2px; }
.rd-choice.is-compact span { padding: .55rem .85rem; font-size: .86rem; }
.rd-cform-well { margin-top: .4rem; }
.rd-cform-drop { padding: 1.6rem 1.2rem; }
.rd-cform-drop .rd-drop-ico { width: 40px; height: 40px; color: var(--rd-blue); display: block; margin: 0 auto .5rem; }
.rd-cform-drop .form-label { display: block; font-size: 1rem; color: var(--rd-navy); }
.rd-drop-hint { display: block; color: #64748b; font-size: .82rem; margin: .2rem 0 .8rem; }
.rd-cform-drop input[type="file"] { max-width: 100%; background: #fff; }
.rd-drop-err { margin: .6rem 0 0; color: #b91c1c; font-size: .85rem; font-weight: 600; }
.rd-review { margin: 1rem 0 1.2rem; padding: 1rem 1.2rem; border-radius: 16px; background: #f8fafc; border: 1px solid var(--rd-line); }
.rd-review b { display: block; color: var(--rd-navy); margin-bottom: .5rem; }
.rd-review dl { display: grid; grid-template-columns: max-content minmax(0, 1fr); gap: 4px 16px; margin: 0; font-size: .88rem; }
.rd-review dt { color: #64748b; } .rd-review dd { margin: 0; color: var(--rd-navy); font-weight: 600; overflow-wrap: anywhere; }
.rd-review dl:empty::after { content: '—'; color: #64748b; }
.rd-cform .rd-stepnav .form-submit { margin-inline-start: auto; }
.rd-cform-foot { display: flex; gap: 8px; align-items: center; margin: 1rem 0 0; color: #64748b; font-size: .8rem; }
.rd-cform-foot .icon { width: 14px; height: 14px; color: #0f7b6c; flex-shrink: 0; }
.rd-contact-aside { display: flex; flex-direction: column; gap: 18px; position: sticky; top: calc(var(--nav-h, 72px) + 20px); }
.rd-contact-aside > div { background: #fff; border-radius: 22px; padding: 1.4rem 1.5rem; border: 1px solid var(--rd-line); }
.rd-contact-aside h3 { display: flex; align-items: center; gap: 8px; font-size: 1.05rem; color: var(--rd-navy); margin: 0 0 .9rem; }
.rd-contact-aside h3 .icon { width: 20px; height: 20px; color: #0f7b6c; }
.rd-next ol { list-style: none; counter-reset: nx; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 12px; }
.rd-next li { counter-increment: nx; position: relative; padding-inline-start: 40px; }
.rd-next li::before { content: counter(nx); position: absolute; inset-inline-start: 0; top: 0; width: 28px; height: 28px; border-radius: 50%; background: #e8f1fc; color: var(--rd-blue); font-weight: 700; font-size: .85rem; display: flex; align-items: center; justify-content: center; }
.rd-next li:not(:last-child)::after { content: ''; position: absolute; inset-inline-start: 13px; top: 30px; bottom: -12px; width: 2px; background: var(--rd-line); }
.rd-next b { display: block; color: var(--rd-navy); font-size: .92rem; } .rd-next span { color: var(--rd-muted); font-size: .85rem; line-height: 1.45; }
.rd-safe { background: linear-gradient(160deg, #f6f9f2, #fff) !important; border-color: #d7e5c8 !important; }
.rd-safe ul { margin: 0 0 .8rem; padding-inline-start: 1.1rem; color: #3f6526; font-size: .88rem; display: flex; flex-direction: column; gap: 6px; }
.rd-safe a, .rd-office a:not(.rd-btn-line) { font-weight: 700; color: #0f7b6c; font-size: .88rem; }
.rd-office p { margin: 0 0 .4rem; color: var(--rd-navy); }
.rd-office-legal { font-size: .8rem; color: #64748b !important; margin-bottom: .9rem !important; }
.rd-office .rd-btn-line .icon { width: 16px; height: 16px; }
@media (max-width: 1100px) { .rd-contact-layout { grid-template-columns: 1fr; } .rd-contact-aside { position: static; } }
@media (max-width: 600px) { .rd-cform { padding: 1.3rem; border-radius: 20px; } .rd-quick-card { min-width: 0; flex: 1 1 100%; } .rd-review dl { grid-template-columns: 1fr; } .rd-review dd { margin-bottom: 6px; } }

/* ---------- homepage timeline fill ---------- */
/* The progress line runs behind the circles (it used to paint over them), grows at a steady speed,
   and each circle fills as the line reaches it. Delays match the line's arrival at each column
   (line 2.4s linear from the first circle's centre; columns ~29% of its length apart). */
.rd-timeline::before, .rd-timeline::after { z-index: 0; }
.rd-step { z-index: 1; }
.rd-timeline::after { transition: transform 2.4s linear; }
.rd-step-dot { transition: background .45s ease, box-shadow .45s ease, transform .45s cubic-bezier(.3,1.6,.5,1); }
.rd-step-dot .icon { transition: color .45s ease; }
.rd-timeline.is-in .rd-step-dot { background: var(--rd-blue); box-shadow: 0 12px 28px rgba(0,102,204,.32); transform: scale(1.06); }
.rd-timeline.is-in .rd-step-dot .icon { color: #fff; }
.rd-timeline.is-in .rd-step:nth-child(1) .rd-step-dot, .rd-timeline.is-in .rd-step:nth-child(1) .rd-step-dot .icon { transition-delay: .05s; }
.rd-timeline.is-in .rd-step:nth-child(2) .rd-step-dot, .rd-timeline.is-in .rd-step:nth-child(2) .rd-step-dot .icon { transition-delay: .7s; }
.rd-timeline.is-in .rd-step:nth-child(3) .rd-step-dot, .rd-timeline.is-in .rd-step:nth-child(3) .rd-step-dot .icon { transition-delay: 1.4s; }
.rd-timeline.is-in .rd-step:nth-child(4) .rd-step-dot, .rd-timeline.is-in .rd-step:nth-child(4) .rd-step-dot .icon { transition-delay: 2.1s; }
@media (prefers-reduced-motion: reduce) { .rd-step-dot, .rd-step-dot .icon { transition: none !important; } .rd-step-dot { background: var(--rd-blue); } .rd-step-dot .icon { color: #fff; } }

/* ---------- homepage: contact section -> wellness gateway seam ---------- */
/* The contact band ran a 135deg gradient (dark bottom-left, bright blue bottom-right) and the gateway
   started on bright #003366, so a light band showed at the join. The contact band now ends on one even
   tone along its whole bottom edge, and the gateway starts on exactly that tone. */
.rd-contact { background: radial-gradient(90% 70% at 85% 20%, rgba(0, 102, 204, .28) 0%, rgba(0, 102, 204, 0) 60%), linear-gradient(180deg, #0d1b2a 0%, #112338 55%, #132a3f 100%); }
.rd-gate { background: linear-gradient(180deg, #132a3f 0%, #12303b 14%, #163a36 32%, #1f3a2e 52%, #2c4a3a 70%, #6f8a68 86%, #efe5d2 100%); }
.rd-contact + .rd-gate { margin-top: -1px; } /* the join fell on a fractional pixel and showed a faint hairline */
/* Arabic hero: the copy starts on the right, which is where the India map sits, so text ran over the map.
   Keep the map on the right and place the copy block in the clear (faded) left half, text still right-aligned. */
@media (min-width: 1101px) {
  [dir="rtl"] .rd-hero-copy, [dir="rtl"] .rd-hero-stats { margin-inline-start: auto; margin-inline-end: 0; }
  [dir="rtl"] .rd-hero-copy { max-width: 600px; }
}
.rd-stepnav [hidden] { display: none !important; } .rd-stepnav button { white-space: nowrap; } /* the .rd-btn submit ignored [hidden] on steps 1-2 */

/* ===== Shared inner-page blocks (2026-09-29): CTA band, long-form document layout, callouts ===== */
.rd-cta-sec { padding: 0 0 6rem; }
.rd-cta-band { position: relative; overflow: hidden; border-radius: 28px; background: linear-gradient(135deg, #0d1b2a, #003366); color: #fff; padding: 2.8rem 3rem; display: flex; justify-content: space-between; align-items: center; gap: 1.5rem; flex-wrap: wrap; }
.rd-cta-band .t { font-family: 'Cormorant Garamond', Georgia, serif; font-size: 2.2rem; font-weight: 600; line-height: 1.15; }
.rd-cta-band .s { color: rgba(255,255,255,.78); margin-top: .3rem; }
@media (max-width: 640px) { .rd-cta-band { padding: 2rem 1.4rem; border-radius: 22px; } .rd-cta-band .t { font-size: 1.7rem; } }

.rd-docgrid { display: grid; grid-template-columns: 250px minmax(0, 1fr); gap: 56px; align-items: start; }
.rd-toc { position: sticky; top: calc(var(--nav-h, 72px) + 1.5rem); border-inline-start: 2px solid var(--rd-line); padding-inline-start: 1.1rem; }
.rd-toc small { display: block; font-size: .72rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--rd-muted); margin-bottom: .7rem; }
.rd-toc ol { list-style: none; margin: 0; padding: 0; display: grid; gap: .5rem; counter-reset: toc; }
.rd-toc a { color: var(--rd-navy); text-decoration: none; font-size: .9rem; line-height: 1.35; display: block; }
.rd-toc a:hover { color: var(--rd-blue); }
.rd-prose { max-width: 780px; color: #334155; font-size: 1.02rem; line-height: 1.8; }
.rd-prose h2 { font-family: 'Cormorant Garamond', Georgia, serif; font-size: 1.9rem; font-weight: 600; color: var(--rd-navy); margin: 2.6rem 0 .8rem; scroll-margin-top: calc(var(--nav-h, 72px) + 1.5rem); }
.rd-prose h2:first-child { margin-top: 0; }
.rd-prose h3 { font-size: 1.1rem; color: var(--rd-navy); margin: 1.6rem 0 .5rem; }
.rd-prose p, .rd-prose ul, .rd-prose ol { margin: 0 0 1rem; }
.rd-prose ul, .rd-prose ol { padding-inline-start: 1.3rem; }
.rd-prose li { margin-bottom: .45rem; }
.rd-prose a { color: var(--rd-blue); }
.rd-summary { background: #f0f7ff; border: 1px solid #cfe3fb; border-radius: 18px; padding: 1.3rem 1.5rem; margin-bottom: 2rem; }
.rd-summary b { display: block; color: var(--rd-navy); margin-bottom: .4rem; }
.rd-summary ul { margin: 0; }
.rd-updated { display: inline-flex; align-items: center; gap: 8px; font-size: .82rem; font-weight: 600; color: var(--rd-muted); background: #f1f5f9; border-radius: 50px; padding: 5px 12px; margin-bottom: 1.4rem; }
.rd-callout { display: flex; gap: 14px; align-items: flex-start; border-radius: 16px; padding: 1.1rem 1.3rem; margin: 1.4rem 0; background: #f0f7ff; border: 1px solid #cfe3fb; color: #1e3a5f; }
.rd-callout .icon { flex-shrink: 0; width: 20px; height: 20px; margin-top: 3px; color: var(--rd-blue); }
.rd-callout.is-warn { background: #fffbeb; border-color: #fcd34d; color: #78350f; }
.rd-callout.is-warn .icon { color: #d97706; }
.rd-callout.is-alert { background: #fef2f2; border-color: #fca5a5; color: #7f1d1d; }
.rd-callout.is-alert .icon { color: #dc2626; }
.rd-callout p { margin: 0; }
@media (max-width: 900px) { .rd-docgrid { grid-template-columns: 1fr; gap: 1.5rem; } .rd-toc { position: static; } }
/* Home doctor rail: names sat on light photos (1.25:1). A scrim under the name block. */
.rd-doc-img::after { height: 160px; background: linear-gradient(transparent, rgba(13,27,42,.92)); }
.rd-doc-name { text-shadow: 0 1px 8px rgba(0,0,0,.45); }
.rd-doc-name small { color: #dbeafe; }
/* WhatsApp buttons in rd components: brand green with dark ink for contrast. */
.rd-faq-help a[href*="wa.me"] { color: #0b2e17 !important; }
/* How-we-work stepper art: decorative only, blended so it never boxes over the copy. */
.rd-stepper-panel > img { mix-blend-mode: screen; pointer-events: none; opacity: .18 !important; width: 55% !important; }

/* ===== Inner-page cards and ladders (transparency pages, 2026-09-29) ===== */
.rd-cardgrid { display: grid; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap: 20px; }
.rd-card { background: #fff; border: 1px solid var(--rd-line); border-radius: 22px; padding: 1.5rem 1.6rem; display: flex; flex-direction: column; gap: .6rem; }
.rd-card .ic { width: 44px; height: 44px; border-radius: 14px; display: flex; align-items: center; justify-content: center; background: #e8f1fc; color: var(--rd-blue); }
.rd-card .ic .icon { width: 20px; height: 20px; }
.rd-card h2, .rd-card h3 { font-family: 'Cormorant Garamond', Georgia, serif; font-size: 1.45rem; font-weight: 600; color: var(--rd-navy); margin: .2rem 0 0; line-height: 1.2; }
.rd-card p { margin: 0; color: #475569; line-height: 1.65; font-size: .95rem; }
.rd-card ul { margin: 0; padding-inline-start: 1.1rem; color: #475569; line-height: 1.6; font-size: .95rem; }
.rd-card li { margin-bottom: .35rem; }
.rd-card .more { margin-top: auto; padding-top: .4rem; font-weight: 600; color: var(--rd-blue); text-decoration: none; font-size: .92rem; }
.rd-card.is-alert { border-color: #fca5a5; background: #fff7f7; }
.rd-card.is-alert .ic { background: #fee2e2; color: #dc2626; }
.rd-ladder { list-style: none; margin: 0; padding: 0; display: grid; gap: 16px; counter-reset: ladder; }
.rd-ladder li { position: relative; background: #fff; border: 1px solid var(--rd-line); border-radius: 20px; padding: 1.3rem 1.5rem 1.3rem 4.4rem; }
[dir="rtl"] .rd-ladder li { padding: 1.3rem 4.4rem 1.3rem 1.5rem; }
.rd-ladder li::before { counter-increment: ladder; content: counter(ladder); position: absolute; inset-inline-start: 1.3rem; top: 1.25rem; width: 36px; height: 36px; border-radius: 50%; background: var(--rd-blue); color: #fff; font-weight: 800; display: flex; align-items: center; justify-content: center; }
.rd-ladder b { display: block; color: var(--rd-navy); font-size: 1.05rem; margin-bottom: .3rem; }
.rd-ladder p { margin: 0; color: #475569; line-height: 1.65; }
.rd-badge { display: inline-flex; align-items: center; gap: 6px; font-size: .75rem; font-weight: 700; border-radius: 50px; padding: 3px 10px; background: #e8f1fc; color: #0b4a8f; margin-inline-start: .5rem; vertical-align: middle; }
.rd-badge.is-green { background: #ecfdf5; color: #065f46; }
.rd-badge.is-amber { background: #fffbeb; color: #92400e; }
.rd-urgent { display: flex; gap: 1.2rem; align-items: center; justify-content: space-between; flex-wrap: wrap; background: #fff7f7; border: 1px solid #fca5a5; border-radius: 22px; padding: 1.4rem 1.6rem; margin-bottom: 2.4rem; }
.rd-urgent b { display: block; color: #7f1d1d; font-size: 1.1rem; margin-bottom: .25rem; }
.rd-urgent p { margin: 0; color: #7f1d1d; line-height: 1.6; }
.rd-section.is-tight { padding: 4rem 0; }

/* a11y agent 2026-09-29 */
/* #13 partner-logo marquee: pause while anything inside has keyboard focus, and via the pause/play button rd.js injects. */
.rd-logos-viewport:focus-within .rd-logos-track, .rd-logos.is-paused .rd-logos-track { animation-play-state: paused; }
.rd-logos-toggle { position: absolute; inset-inline-end: .6rem; top: 50%; transform: translateY(-50%); width: 26px; height: 26px; margin: 0; display: inline-flex; align-items: center; justify-content: center; padding: 0; border: 1px solid rgba(255,255,255,.35); border-radius: 50%; background: rgba(13,27,42,.6); color: #fff; font-size: .68rem; line-height: 1; letter-spacing: -1px; cursor: pointer; }
.rd-logos-toggle:hover { background: rgba(255,255,255,.12); }
.rd-logos-toggle:focus-visible { outline: 3px solid #fff; outline-offset: 2px; }
/* #31 estimator attendant buttons at their limits (0 and 2). */
.rd-est-step button:disabled { opacity: .4; cursor: not-allowed; }
/* #8 contact steps: the fieldset takes focus on step change; ring only for keyboard users. */
.rd-stepped [data-step]:focus:not(:focus-visible) { outline: none; }
.rd-stepped [data-step]:focus-visible { outline: 3px solid var(--rd-blue); outline-offset: 6px; border-radius: 8px; }
/* end a11y agent 2026-09-29 */
/* ===== Founders cards (team/about) ===== */
.rd-founders { display: grid; grid-template-columns: repeat(auto-fit, minmax(320px, 1fr)); gap: 20px; }
.rd-founder { display: flex; gap: 1.2rem; align-items: flex-start; background: #fff; border: 1px solid var(--rd-line); border-radius: 22px; padding: 1.4rem 1.5rem; }
.rd-founder img, .rd-founder .mono { flex-shrink: 0; width: 88px; height: 88px; border-radius: 50%; object-fit: cover; }
.rd-founder .mono { display: flex; align-items: center; justify-content: center; background: linear-gradient(135deg, #0d1b2a, #003366); color: #fff; font-family: 'Cormorant Garamond', Georgia, serif; font-size: 1.9rem; font-weight: 600; letter-spacing: .04em; }
.rd-founder b { display: block; font-family: 'Cormorant Garamond', Georgia, serif; font-size: 1.55rem; font-weight: 600; color: var(--rd-navy); line-height: 1.15; }
.rd-founder small { display: block; font-size: .78rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--rd-blue); margin: .2rem 0 .6rem; }
.rd-founder p { margin: 0; color: #475569; line-height: 1.6; font-size: .95rem; }
.rd-founders.is-compact .rd-founder { align-items: center; }
.rd-founders.is-compact .rd-founder img, .rd-founders.is-compact .rd-founder .mono { width: 64px; height: 64px; font-size: 1.4rem; }
.rd-founders.is-compact small { margin-bottom: 0; }


/* Homepage discovery and shared header refinement (2026-10-11). */
body:not(.wl) #navbar .nav-inner { max-width: 1560px; }
.nav-guide { position: relative; }
.nav-guide > summary { display: flex; align-items: center; gap: 8px; min-height: 44px; padding: .5rem .7rem; border-radius: 8px; color: var(--navy); font-size: .9rem; font-weight: 500; cursor: pointer; list-style: none; white-space: nowrap; }
.nav-guide > summary::-webkit-details-marker { display: none; }
.nav-guide > summary:hover, .nav-guide[open] > summary { background: var(--teal-light); color: var(--teal); }
.nav-guide > summary .icon { width: 12px; height: 12px; }
.nav-guide[open] > summary .icon { transform: rotate(180deg); }
.nav-guide-menu { position: absolute; inset-inline-end: 0; top: calc(100% + 8px); min-width: 220px; padding: 6px; border: 1px solid var(--gray-light); border-radius: 12px; background: white; box-shadow: var(--shadow-lg); list-style: none; }
#navbar .nav-guide-menu a { display: flex; align-items: center; min-height: 44px; white-space: normal; }
#navbar a:focus-visible, #navbar summary:focus-visible, #navbar button:focus-visible, .rd-hero-search:focus-visible { outline: 3px solid var(--rd-amber); outline-offset: 3px; }

.rd-hero-discovery { min-height: 0; }
.rd-hero-discovery .rd-hero-inner { padding-block: 4rem 3.5rem; }
.rd-hero-discovery .rd-hero-copy { max-width: 680px; }
.rd-hero-discovery h1 { margin-top: 0; font-size: clamp(2.65rem, 4.5vw, 4.25rem); line-height: 1.08; }
.rd-hero-discovery .rd-hero-sub { max-width: 620px; color: #e2e8f0; margin-bottom: 1.6rem; }
.rd-hero-discovery .rd-hero-map { opacity: .2; pointer-events: none; }
.rd-hero-discovery .rd-hero-map *, .rd-hero-discovery .rd-float, .rd-hero-discovery .rd-plane, .rd-hero-discovery .rd-btn::after { animation: none; }
.rd-hero-discovery .rd-hero-flight { display: none; }
.rd-hero-discovery .rd-hero-cards { bottom: 3rem; gap: 10px; }
.rd-hero-discovery .rd-hero-stats { gap: 1rem; margin-top: 2rem; max-width: 640px; }
.rd-hero-discovery .rd-hero-stats span { color: #cbd5e1; }
.rd-hero-search { display: flex; align-items: center; gap: 14px; max-width: 640px; min-height: 64px; margin-bottom: 1.25rem; padding: 1rem 1.2rem; border: 1px solid #cbd5e1; border-radius: 12px; background: white; color: var(--rd-navy); box-shadow: 0 8px 24px rgba(0,0,0,.12); font-weight: 500; }
.rd-hero-search span { flex: 1; }
.rd-hero-search .icon { flex-shrink: 0; color: var(--rd-blue); }
.rd-hero-search:hover { background: #f0f6ff; border-color: var(--rd-sky); }
.rd-hero-discovery .rd-hero-actions a { min-height: 48px; justify-content: center; text-align: center; }

@media (max-width: 1599px) {
  body:not(.wl) #navbar .nav-links { position: fixed; top: calc(var(--nav-h) + 3px); inset-inline: 0; background: white; flex-direction: column; align-items: stretch; padding: 1rem 1.5rem; box-shadow: 0 15px 30px rgba(0,0,0,.1); display: none; gap: .35rem; max-height: calc(100dvh - var(--nav-h) - 3px); overflow-y: auto; overscroll-behavior: contain; }
  body:not(.wl) #navbar .nav-links.active { display: flex; }
  body:not(.wl) #navbar .mobile-menu-btn { display: block; }
  body:not(.wl) #navbar .nav-links a, body:not(.wl) #navbar .nav-links summary { min-height: 48px; padding: .8rem 1rem; font-size: 1rem; }
  body:not(.wl) #navbar .nav-links > li > a:not(.rd-switch) { display: flex; align-items: center; white-space: normal; }
  body:not(.wl) #navbar .nav-links .nav-search-label { display: inline; }
  body:not(.wl) #navbar .nav-links .rd-switch { margin: .25rem 0; width: fit-content; }
  body:not(.wl) #navbar .nav-links .nav-cta, body:not(.wl) #navbar .nav-links .nav-wa-btn { margin: 0; justify-content: center; }
  body:not(.wl) #navbar .lang-switch > summary { display: flex; justify-content: space-between; }
  body:not(.wl) #navbar .nav-guide-menu, body:not(.wl) #navbar .lang-switch-menu { position: static; min-width: 0; margin: .25rem 0 .5rem; box-shadow: none; background: var(--off-white); }
}
@media (max-width: 1280px) {
  #navbar .nav-links { top: calc(var(--nav-h) + 3px); max-height: calc(100dvh - var(--nav-h) - 3px); overscroll-behavior: contain; }
  #navbar .nav-links > li > a:not(.rd-switch), #navbar .nav-links summary { display: flex; align-items: center; min-height: 48px; }
  #navbar .lang-switch-menu { position: static; min-width: 0; margin-block: .25rem .5rem; box-shadow: none; }
  #navbar .mobile-menu-btn { min-width: 44px; min-height: 44px; }
  .rd-hero-discovery .rd-hero-cards { display: flex; position: relative; inset: auto; max-width: 1280px; margin: 0 auto; padding: 0 1.5rem 2rem; flex-direction: row; align-items: stretch; flex-wrap: wrap; }
}
@media (max-width: 700px) {
  .rd-hero-discovery .rd-hero-map { opacity: .12; }
  .rd-hero-discovery .rd-hero-inner { padding: 2.5rem 1rem 1.8rem; }
  .rd-hero-discovery .rd-hero-actions { gap: .75rem; }
  .rd-hero-discovery .rd-hero-actions a { width: 100%; padding-inline: 1rem; }
  .rd-hero-search { padding: 1rem; gap: 10px; font-size: .95rem; }
  .rd-hero-discovery .rd-hero-stats { gap: .75rem; }
  .rd-hero-discovery .rd-hero-stats span { display: block; font-size: .8rem; line-height: 1.4; }
  .rd-hero-discovery .rd-hero-cards { padding-inline: 1rem; }
  .rd-hero-discovery .rd-glass { width: 100%; }
  #specialties .rd-wrap { padding-inline: 1rem; }
}

/* Keep WhatsApp available in the revised medical header at every breakpoint. */
body:not(.wl) #navbar .nav-wa-btn { display: inline-flex; }

@media (max-width: 768px) {
  #navbar .nav-links { padding-bottom: calc(6rem + env(safe-area-inset-bottom)); }
}


/* Navbar adapted from the owner's Massvaa Vercel site (2026-10-11). */
:root { --nav-h: 110px; }
body #navbar.nav-reference {
  background: linear-gradient(115deg, rgba(244,250,255,.78), rgba(221,237,255,.52) 48%, rgba(247,251,255,.72));
  border-bottom: 1px solid rgba(255,255,255,.65);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.85), inset 0 -1px 0 rgba(147,197,253,.25), 0 8px 32px rgba(0,51,102,.12);
  -webkit-backdrop-filter: blur(24px) saturate(180%); backdrop-filter: blur(24px) saturate(180%);
}
body #navbar.nav-reference.scrolled { background: linear-gradient(115deg, rgba(244,250,255,.84), rgba(224,239,255,.64) 48%, rgba(247,251,255,.8)); }
body #navbar.nav-reference::before { content: ''; position: absolute; inset: 32px 0 0; pointer-events: none; background: linear-gradient(110deg, rgba(255,255,255,.24), transparent 28%, rgba(255,255,255,.14) 62%, transparent 80%); border-top: 1px solid rgba(255,255,255,.6); }
body #navbar.nav-reference .nav-inner { width: min(calc(100% - 40px), 1180px); max-width: 1180px; height: 78px; padding: 0; gap: 22px; position: static; }
.nav-utility { background: linear-gradient(110deg, rgba(0,51,102,.94), rgba(0,102,204,.78)); color: #fff; font-size: 12px; -webkit-backdrop-filter: blur(14px); backdrop-filter: blur(14px); }
.nav-utility-inner { width: min(calc(100% - 40px), 1180px); min-height: 32px; margin-inline: auto; display: flex; align-items: center; justify-content: space-between; gap: 20px; }
.nav-utility-inner p { margin: 0; padding-inline-start: 205px; }
.nav-utility-contact { display: flex; align-items: center; gap: 10px; white-space: nowrap; }
.nav-utility a:hover { color: white; text-decoration: underline; }
body #navbar.nav-reference .nav-logo { display: inline-flex; gap: 8px; width: 190px; flex: 0 0 auto; padding: 0; background: transparent; box-shadow: none; border-radius: 0; backdrop-filter: none; }
.nav-brand-mark { display: grid; place-items: center; width: 58px; height: 56px; overflow: hidden; flex: 0 0 58px; direction: ltr; }
body #navbar.nav-reference .nav-brand-mark img { width: 164px; max-width: none; height: auto; margin-right: auto; object-fit: contain; }
.nav-brand-name { font-family: 'DM Sans', sans-serif; color: var(--rd-navy2); font-size: 22px; font-weight: 700; letter-spacing: -.055em; line-height: 1; white-space: nowrap; }
.nav-brand-name em { font-style: normal; font-weight: 500; color: var(--rd-blue); }
body #navbar.nav-reference .nav-links { display: flex; position: static; flex-direction: row; align-items: center; margin-inline-start: auto; padding: 0; gap: 0; max-height: none; overflow: visible; background: transparent; box-shadow: none; flex: 0 1 auto; }
.nav-reference .nav-primary { display: flex; align-items: center; gap: 18px; padding: 8px 12px; list-style: none; border: 1px solid rgba(255,255,255,.7); border-radius: 18px; background: linear-gradient(145deg, rgba(255,255,255,.52), rgba(231,242,255,.18)); box-shadow: inset 0 1px 0 rgba(255,255,255,.85), inset 0 -1px 0 rgba(147,197,253,.25), 0 8px 24px rgba(0,51,102,.1); -webkit-backdrop-filter: blur(14px) saturate(160%); backdrop-filter: blur(14px) saturate(160%); }
body #navbar.nav-reference .nav-primary a { position: relative; display: inline-flex; align-items: center; min-height: 36px; padding: 0; font-size: 13px; font-weight: 600; color: #244866; background: transparent; border-radius: 0; white-space: nowrap; }
.nav-reference .nav-primary a::after { content: ''; position: absolute; inset-inline: 0; bottom: 0; height: 2px; background: var(--rd-blue); transform: scaleX(0); transition: transform .2s; }
.nav-reference .nav-primary a:hover::after, .nav-reference .nav-primary a:focus-visible::after { transform: scaleX(1); }
.nav-reference .nav-support { display: contents; list-style: none; }
.nav-reference .nav-support > li { display: none; }
.nav-reference .nav-support > .nav-mode { display: block; position: absolute; top: 3px; inset-inline-start: max(20px, calc((100% - 1180px) / 2)); }
body #navbar.nav-reference .nav-mode .rd-switch { display: inline-flex; min-height: 26px; padding: 0; margin: 0; border: 1px solid rgba(255,255,255,.25); background: rgba(255,255,255,.1); box-shadow: inset 0 1px 0 rgba(255,255,255,.2); font-size: 11px; }
body #navbar.nav-reference .nav-mode .rd-switch span { padding: 3px 9px; color: white; }
body #navbar.nav-reference .nav-mode .rd-switch span.is-on { background: #edf5ff; color: var(--rd-navy2); }
.nav-reference .nav-actions { display: flex; align-items: center; gap: 8px; flex-shrink: 0; }
body #navbar.nav-reference .nav-search-link { display: inline-flex; align-items: center; justify-content: center; width: 40px; min-height: 44px; padding: 0; border-radius: 12px; color: var(--rd-navy2); background: rgba(255,255,255,.3); border: 1px solid rgba(255,255,255,.5); box-shadow: inset 0 1px 0 rgba(255,255,255,.65); }
body #navbar.nav-reference .nav-search-link:hover { background: #e8f1fc; }
body #navbar.nav-reference .lang-switch > summary { min-height: 44px; padding: 8px 4px; font-size: 12px; color: #244866; }
body #navbar.nav-reference .lang-switch-current, body #navbar.nav-reference .lang-switch-current .icon { color: inherit; }
body #navbar.nav-reference .lang-switch > summary > .icon:first-of-type { display: none; }
body #navbar.nav-reference .lang-switch-menu { background: #fff; position: absolute; min-width: 180px; margin: 0; box-shadow: var(--shadow-lg); }
body #navbar.nav-reference .lang-switch-menu a { min-height: 44px; color: var(--rd-navy2); }
body #navbar.nav-reference .nav-cta { display: inline-flex; justify-content: center; align-items: center; min-height: 44px; margin: 0; padding: 11px 15px !important; font-size: 13px; border: 1px solid rgba(255,255,255,.3); border-radius: 12px !important; background: linear-gradient(145deg, rgba(0,119,230,.94), rgba(0,82,163,.86)) !important; color: white !important; box-shadow: inset 0 1px 0 rgba(255,255,255,.55), inset 0 -1px 0 rgba(0,51,102,.2), 0 8px 20px rgba(0,102,204,.22); white-space: nowrap; }
body #navbar.nav-reference .nav-cta:hover { background: var(--rd-blue) !important; }
body #navbar.nav-reference .mobile-menu-btn { display: none; color: var(--rd-navy2); min-width: 44px; min-height: 44px; padding: 8px; margin: 0; }
body #navbar.nav-reference .nav-links li.nav-optional { display: block; }

@media (max-width: 1200px) {
  :root { --nav-h: 70px; }
  .nav-reference .nav-utility { display: none; }
  body #navbar.nav-reference::before { inset-block-start: 0; }
  /* Let the drawer blur the page directly instead of sampling the header's backdrop root. */
  body #navbar.nav-reference:has(.nav-links.active) { -webkit-backdrop-filter: none; backdrop-filter: none; }
  body #navbar.nav-reference .nav-inner { height: 70px; width: calc(100% - 28px); gap: 12px; }
  body #navbar.nav-reference .nav-actions { margin-inline-start: auto; gap: 4px; }
  body #navbar.nav-reference .nav-actions > .nav-cta { display: none; }
  body #navbar.nav-reference .mobile-menu-btn { display: block; }
  body #navbar.nav-reference .nav-links { display: none; position: fixed; top: var(--nav-h); inset-inline: 0; margin: 0; flex-direction: column; align-items: stretch; max-height: calc(100dvh - var(--nav-h)); padding: 10px 20px calc(6rem + env(safe-area-inset-bottom)); overflow-y: auto; overscroll-behavior: contain; background: linear-gradient(145deg, rgba(0,40,82,.92), rgba(0,82,163,.84)); color: white; border: 1px solid rgba(147,197,253,.4); border-top: 1px solid rgba(255,255,255,.6); border-radius: 0 0 20px 20px; box-shadow: inset 0 1px 0 rgba(255,255,255,.25), 0 20px 40px rgba(0,51,102,.25); -webkit-backdrop-filter: blur(24px) saturate(170%); backdrop-filter: blur(24px) saturate(170%); }
  body #navbar.nav-reference .nav-links.active { display: flex; }
  .nav-reference .nav-primary { flex-direction: column; align-items: stretch; gap: 0; padding: 0; border: 0; border-radius: 0; background: transparent; box-shadow: none; -webkit-backdrop-filter: none; backdrop-filter: none; }
  body #navbar.nav-reference .nav-primary a { display: flex; min-height: 52px; padding: 15px 4px; color: white; font-size: 15px; border-bottom: 1px solid rgba(255,255,255,.2); white-space: normal; }
  .nav-reference .nav-primary a::after { display: none; }
  .nav-reference .nav-support { display: flex; flex-direction: column; gap: 8px; padding-top: 16px; }
  .nav-reference .nav-support > li { display: block; }
  .nav-reference .nav-support > .nav-mode { position: static; }
  body #navbar.nav-reference .nav-mode .rd-switch { min-height: 44px; font-size: 13px; }
  body #navbar.nav-reference .nav-mode .rd-switch span { padding: 8px 12px; }
  body #navbar.nav-reference .nav-support a:not(.rd-switch), body #navbar.nav-reference .nav-guide > summary { display: flex; align-items: center; min-height: 48px; padding: 12px 4px; color: white; font-size: 15px; white-space: normal; }
  body #navbar.nav-reference .nav-guide > summary:hover, body #navbar.nav-reference .nav-guide[open] > summary { background: rgba(255,255,255,.1); }
  body #navbar.nav-reference .nav-guide-menu { position: static; margin-block: 4px 8px; padding: 6px 12px; min-width: 0; background: rgba(255,255,255,.06); border-color: rgba(255,255,255,.2); box-shadow: none; }
  body #navbar.nav-reference .nav-support .nav-cta, body #navbar.nav-reference .nav-support .nav-wa-btn { justify-content: center; }
  body #navbar.nav-reference .nav-support .nav-cta { background: #edf5ff !important; color: var(--rd-navy2) !important; }
  body #navbar.nav-reference .nav-guide-menu a:hover { background: rgba(255,255,255,.1); }
}
@media (max-width: 600px) {
  body #navbar.nav-reference .nav-logo { width: 47px; }
  .nav-reference .nav-brand-mark { width: 47px; height: 46px; flex-basis: 47px; }
  body #navbar.nav-reference .nav-brand-mark img { width: 132px; }
  .nav-reference .nav-brand-name { display: none; }
}
@media (prefers-reduced-motion: reduce) { .nav-reference .nav-primary a::after { transition: none; } }

/* Gloss on blue actions and readable fallback when backdrop filtering is unavailable. */
body #navbar.nav-reference .nav-cta { position: relative; overflow: hidden; }
body #navbar.nav-reference .nav-cta::before { content: ''; position: absolute; inset: 0; pointer-events: none; background: linear-gradient(115deg, rgba(255,255,255,.25), transparent 45%); }
@supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))) {
  body #navbar.nav-reference { background: #e8f1fc; }
  @media (max-width: 1200px) { body #navbar.nav-reference .nav-links { background: #003366; } }
}

/* Compact category navigation shared by Medical and Wellness search. */
body:not(.wl) .rd-search-scopes,body.wl-refined .rd-search-scopes {
 flex-wrap: nowrap; overflow-x: auto; overflow-y: hidden; gap: 6px;
 padding: 8px 14px; scroll-padding-inline: 14px;
 -webkit-mask-image: linear-gradient(90deg,#000 calc(100% - 16px),transparent);
 mask-image: linear-gradient(90deg,#000 calc(100% - 16px),transparent);
}
html[dir=rtl] body .rd-search-scopes {
 -webkit-mask-image: linear-gradient(270deg,#000 calc(100% - 16px),transparent);
 mask-image: linear-gradient(270deg,#000 calc(100% - 16px),transparent);
}
body .rd-search-scopes button { min-height: 36px; padding: 7px 12px; }
body .rd-search-scopes button:not([aria-pressed=true]) .n { display: none; }
/* Keep the existing circular reveal and lotus composition, using transform-only expansion. */
.rd-veil.is-depart { animation: none; isolation: isolate; }
.rd-veil-reveal-bg {
 position: absolute; border-radius: 50%; z-index: -1; pointer-events: none;
 transform: translate(-50%,-50%) scale(0); will-change: transform;
 animation: rd-circle-expand 950ms cubic-bezier(.22,.61,.36,1) both;
}
.rd-veil.is-depart > div:not(.rd-veil-mandala) { animation: rd-rise 450ms cubic-bezier(.22,.61,.36,1) 250ms both; }
@keyframes rd-circle-expand { to { transform: translate(-50%,-50%) scale(1); } }
@media(prefers-reduced-motion:reduce) { .rd-veil-reveal-bg { animation: none; } }
/* Match both halves of the Medical switch to avoid a colour flash on arrival. */
.rd-veil.to-medical,html.rd-arrive-medical body::before,.rd-veil.is-arrive.to-medical .rd-veil-bg { background: linear-gradient(135deg,#153849,#145e7a); }
.rd-veil.is-arrive.to-medical { background: none; }

/* Long translated selections wrap inside their control rather than pushing the arrow out. */
.medical-select-trigger > .medical-select-value { flex: 1; min-width: 0; white-space: normal; overflow-wrap: anywhere; line-height: 1.5; }


/* Source: assets/css/medical.css */
/* Lotus palette: deep blue-green, off-white and orange. Loaded only on medical pages. */
.medical-select { display: block; position: relative; min-width: 0; }
.medical-select-native { position: absolute !important; width: 1px !important; height: 1px !important; padding: 0 !important; margin: 0 !important; clip-path: inset(50%); overflow: hidden; opacity: 0; }
body:not(.wl) .medical-select-trigger { display: flex; align-items: center; justify-content: space-between; gap: 16px; width: 100%; min-height: 48px; text-align: start; font: inherit; color: #153849; background: #f8fafc; border: 1px solid #cbdde5; border-radius: 12px; padding: 12px 16px; cursor: pointer; }
.medical-select-trigger::after { content: ''; width: 7px; height: 7px; flex-shrink: 0; border-inline-end: 2px solid #145e7a; border-bottom: 2px solid #145e7a; transform: rotate(45deg); transition: transform .18s ease; }
.medical-select-trigger[aria-expanded="true"]::after { transform: rotate(225deg); }
body:not(.wl) .medical-select-trigger:focus-visible, body:not(.wl) input[role="combobox"]:focus-visible { outline: 3px solid rgba(20,94,122,.28); outline-offset: 2px; border-color: #145e7a; }
.medical-select-trigger:disabled { opacity: .55; cursor: not-allowed; }
.medical-dropdown-panel { position: fixed; z-index: 12000; box-sizing: border-box; overflow-y: auto; overscroll-behavior: contain; padding: 6px; border: 1px solid #cbdde5; border-radius: 14px; background: #f8fafc; color: #153849; box-shadow: 0 14px 40px rgba(21,56,73,.18), 0 2px 8px rgba(21,56,73,.07); scrollbar-width: thin; scrollbar-color: #9bb6c2 transparent; font-family: inherit; }
.medical-dropdown-panel[hidden] { display: none; }
.medical-dropdown-search { position: sticky; top: -6px; z-index: 1; padding: 6px 0 10px; background: #f8fafc; border-bottom: 1px solid #d5e2e7; margin-bottom: 4px; }
.medical-dropdown-search input { box-sizing: border-box; width: 100%; min-height: 44px; border: 1px solid #cbdde5; border-radius: 9px; padding: 10px 12px; background: #fff; color: #153849; font: inherit; font-size: .9rem; }
.medical-dropdown-empty { padding: 16px 12px; color: #48606b; font-size: .9rem; }
.medical-dropdown-option { position: relative; min-height: 44px; box-sizing: border-box; padding: 12px 32px 12px 12px; border-radius: 8px; font-size: .9rem; line-height: 1.4; cursor: pointer; overflow-wrap: anywhere; }
.medical-dropdown-option:hover, .medical-dropdown-option.is-active { background: #e7f0f4; color: #104c63; }
.medical-dropdown-option[aria-selected="true"] { color: #145e7a; font-weight: 700; background: #e7f0f4; }
.medical-dropdown-option[aria-selected="true"]::after { content: '\2713'; position: absolute; inset-inline-end: 12px; }
[dir="rtl"] .medical-dropdown-option { padding: 12px 12px 12px 32px; }
@media (prefers-reduced-motion: reduce) { .medical-select-trigger::after { transition: none; } }
body:not(.wl) {
  --teal: #145e7a; --teal-mid: #104c63; --teal-dark: #153849;
  --teal-light: #f8fafc; --navy: #153849; --navy-mid: #153849;
  --text: #48606b; --text-muted: #48606b; --off-white: #f8fafc;
  --gold: #ef7b45; --rd-gold: #ef7b45; --rd-amber: #ef7b45;
  --gray-light: #d5e2e7; --rd-line: #d5e2e7; --rd-muted: #48606b;
  --rd-navy: #153849; --rd-navy2: #153849; --rd-blue: #145e7a; --rd-sky: #f8fafc;
  --rd-accent: linear-gradient(90deg, #153849, #145e7a, #f8fafc);
  --rd-b1: #ffffff; --rd-b2: #f8fafc; --rd-b3: #f8fafc;
  --rd-b4: #f8fafc; --rd-b5: #f8fafc;
}
.medical-treatment-intro.page-hero { background: #f8fafc; color: #153849; text-align: start; padding: calc(var(--nav-h, 94px) + 28px) 0 26px; }
.medical-treatment-intro .hero-title { font-size: clamp(1.8rem, 3vw, 2.6rem); line-height: 1.2; color: #153849; }
.medical-treatment-intro .hero-title strong { color: #145e7a; }
.medical-treatment-intro .hero-sub { max-width: 760px; margin-inline: 0 !important; color: #48606b; font-size: 1rem; line-height: 1.6; }
.medical-treatment-directory { padding-top: 20px; }
.medical-treatment-directory .medical-treatment-paper { height: 180px; display: grid; place-items: center; overflow: hidden; border-radius: 12px; background: #f8fafc; }
.medical-treatment-paper img { width: 100%; height: 100%; max-height: 180px; object-fit: contain; padding: 14px; box-sizing: border-box; transform-origin: 50% 65%; transition: transform 420ms cubic-bezier(.2,.7,.2,1), filter 420ms ease; }
@media (hover: hover) and (pointer: fine) {
  .treatment-card:hover .medical-treatment-paper img { transform: translateY(-4px) rotate(-1.5deg) scale(1.04); filter: drop-shadow(0 8px 6px rgba(21,56,73,.08)); }
}
.treatment-card:focus-within .medical-treatment-paper img { transform: translateY(-4px) scale(1.04); }
@media (prefers-reduced-motion: reduce) {
  .medical-treatment-paper img { transition: none; }
  .treatment-card:is(:hover,:focus-within) .medical-treatment-paper img { transform: none; filter: none; }
}
.medical-treatment-toolbar { position: sticky; top: calc(var(--nav-h, 94px) + 8px); z-index: 30; display: grid; grid-template-columns: minmax(0, 1fr) minmax(240px, 320px); gap: 16px; align-items: start; padding: 16px; margin-bottom: 24px; border: 1px solid #d5e2e7; border-radius: 16px; background: #f8fafc; box-shadow: 0 6px 20px rgba(21,56,73,.07); }
.medical-treatment-toolbar .filter-bar { margin: 0; padding: 0; background: transparent; border: 0; box-shadow: none; gap: 8px; flex-direction: column; align-items: stretch; min-width: 0; }
.medical-treatment-toolbar .search-input-wrap { min-width: 0; height: 48px; min-height: 48px; box-sizing: border-box; background: #fff; border-radius: 12px; padding: 8px 12px; }
.medical-treatment-toolbar .search-input-wrap input { min-width: 0; width: 100%; }
.medical-treatment-specialty label, .medical-treatment-search-label { display: block; margin: 0 0 8px; line-height: 20px; color: #153849; font-size: .8rem; font-weight: 700; }
.medical-treatment-toolbar .medical-treatment-search-label { margin: 0; }
.medical-treatment-specialty .medical-select-trigger { height: 48px; box-sizing: border-box; background: #fff; font-size: .85rem; }
.medical-treatment-toolbar .medical-filters { margin: 0; }
.medical-treatment-toolbar .medical-filters[hidden] { display: none; }
@media (max-width: 700px) {
  .medical-treatment-intro.page-hero { padding-top: calc(var(--nav-h, 94px) + 20px); padding-bottom: 20px; }
  .medical-treatment-toolbar { grid-template-columns: minmax(0,1fr); gap: 10px; padding: 12px; top: calc(var(--nav-h, 94px) + 8px); }
  .medical-treatment-specialty label { margin-bottom: 5px; }
  .medical-treatment-toolbar .search-input-wrap input { font-size: 16px; }
}
.rd-surface { background: linear-gradient(180deg, #fff, #f8fafc); }
.rd-btn:hover { background: #104c63; }
.rd-hero { background: radial-gradient(ellipse at 85% 45%, #145e7a, #153849 75%); }
.rd-hero-discovery { background: #fff; color: var(--rd-navy); }
.rd-hero-discovery h1 { color: var(--rd-navy); }
.rd-hero-discovery h1 strong { color: var(--teal-mid); }
.rd-hero-discovery .rd-hero-sub,
.rd-hero-discovery .rd-hero-stats span { color: var(--rd-muted); }
.rd-hero-discovery .rd-hero-stats { border-top-color: var(--rd-line); }
.rd-hero-discovery .rd-btn-ghost {
  color: var(--teal); border-color: var(--rd-line); background: #fff;
}
.rd-hero-discovery .rd-btn-ghost:hover { color: var(--teal); background: var(--teal-light); }
.rd-hero-discovery .rd-hero-legend .lbl { color: var(--rd-muted); }
.rd-hero-discovery .rd-hero-legend .key {
  background: #fff; color: var(--rd-navy); border-color: var(--rd-line);
}
.rd-hero-discovery .rd-hero-india { color: var(--rd-navy); text-shadow: none; }
.rd-hero-discovery .rd-glass {
  background: #fff; border-color: var(--rd-line);
  box-shadow: 0 6px 20px rgba(21,56,73,.06); color: var(--rd-navy);
}
.rd-hero-discovery .rd-glass span { color: var(--rd-muted); }
.rd-hero-fade, [dir="rtl"] .rd-hero-fade {
  background: linear-gradient(90deg, rgba(21,56,73,.97), rgba(21,56,73,.92) 34%, rgba(21,56,73,.6) 50%, rgba(21,56,73,0) 74%);
}
.rd-pagehero, .rd-contact, .rd-faq-help, .rd-stepper-panel, .rd-founder .mono, .rd-veil.to-medical {
  background: linear-gradient(135deg, #153849, #145e7a);
}
.rd-hero-search:hover, .rd-fee, .rd-panel-art:not(.is-wellness), .rd-proc.has-page,
.rd-hcard-img, .rd-est-seg input:checked + span, .rd-qa summary::after { background: #f8fafc; }
.rd-fee, .rd-proc.has-page { border-color: #d5e2e7; }
.rd-faq-cats button span { background: #f8fafc; color: #153849; }
.rd-faq-cats button[aria-selected="true"] span { background: var(--rd-amber); }
.rd-qa[open] summary::after { background: #145e7a; }
.hospital-specs span { background: #f8fafc; border-color: #d5e2e7; }
.hospital-specs .more { background: transparent; }
.rd-contact::before { background-image: radial-gradient(rgba(248,250,252,.14) 1.2px, transparent 1.2px); }
.rd-promise .icon { background: rgba(248,250,252,.15); }
.rd-step-dot { box-shadow: 0 10px 24px rgba(20,94,122,.18); }
.rd-qa[open] { background: #f8fafc; box-shadow: 0 12px 30px rgba(20,94,122,.1); }
.rd-hero-cards .rd-glass:nth-child(2) .ic { background: #145e7a !important; }
.rd-contact-grid > div > div[style*="#93c5fd"] { color: #f8fafc !important; }

/* Preserve the glass highlights and blur using mint-tinted surfaces. */
body #navbar.nav-reference {
  background: linear-gradient(115deg, rgba(248,250,252,.78), rgba(213,226,231,.52) 48%, rgba(248,250,252,.72));
  box-shadow: inset 0 1px 0 rgba(255,255,255,.85), inset 0 -1px 0 rgba(248,250,252,.25), 0 8px 32px rgba(21,56,73,.12);
}
body #navbar.nav-reference.scrolled {
  background: linear-gradient(115deg, rgba(248,250,252,.84), rgba(213,226,231,.64) 48%, rgba(248,250,252,.8));
}
.nav-reference .nav-utility { background: linear-gradient(110deg, rgba(21,56,73,.94), rgba(20,94,122,.86)); }
.nav-reference .nav-primary {
  background: linear-gradient(145deg, rgba(255,255,255,.52), rgba(248,250,252,.18));
  box-shadow: inset 0 1px 0 rgba(255,255,255,.85), inset 0 -1px 0 rgba(248,250,252,.25), 0 8px 24px rgba(21,56,73,.1);
}
body #navbar.nav-reference .nav-primary a,
body #navbar.nav-reference .lang-switch > summary { color: #48606b; }
body #navbar.nav-reference .nav-search-link:hover,
body #navbar.nav-reference .nav-mode .rd-switch span.is-on { background: #f8fafc; }
body #navbar.nav-reference .nav-cta {
  background: linear-gradient(145deg, rgba(20,94,122,.96), rgba(16,76,99,.94)) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.55), inset 0 -1px 0 rgba(21,56,73,.2), 0 8px 20px rgba(20,94,122,.22);
}
@media (max-width: 1200px) {
  body #navbar.nav-reference .nav-links {
    background: linear-gradient(145deg, rgba(21,56,73,.92), rgba(20,94,122,.84));
    border-color: rgba(248,250,252,.4);
    border-top-color: rgba(255,255,255,.6);
    box-shadow: inset 0 1px 0 rgba(255,255,255,.25), 0 20px 40px rgba(21,56,73,.25);
  }
  .nav-reference .nav-primary { background: transparent; box-shadow: none; }
  body #navbar.nav-reference .nav-primary a { color: white; }
  body #navbar.nav-reference .nav-support .nav-cta { background: #f8fafc !important; }
}
@media (max-width: 700px) {
  .rd-hero-fade, [dir="rtl"] .rd-hero-fade { background: linear-gradient(180deg, rgba(21,56,73,.6), rgba(21,56,73,.92)); }
}
@supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))) {
  body #navbar.nav-reference { background: #f8fafc; }
  @media (max-width: 1200px) { body #navbar.nav-reference .nav-links { background: #153849; } }
}

/* Show the route artwork at full strength without placing it behind the copy. */
.rd-hero-discovery .rd-hero-map {
  opacity: 1;
  inset-inline-start: max(620px, calc((100% - 1280px) / 2 + 620px));
  overflow: hidden;
  --map-blend-direction: to right;
  -webkit-mask-image: linear-gradient(var(--map-blend-direction), rgba(0,0,0,.8), #000 16px);
  mask-image: linear-gradient(var(--map-blend-direction), rgba(0,0,0,.8), #000 16px);
}
/* Fade the clipped edge and soften just that strip, leaving the map's center crisp. */
.rd-hero-discovery .rd-hero-map::after {
  content: ''; position: absolute; inset-block: 0; inset-inline-start: 0;
  width: 32px; z-index: 1; pointer-events: none;
  -webkit-backdrop-filter: blur(2px); backdrop-filter: blur(2px);
  -webkit-mask-image: linear-gradient(var(--map-blend-direction), #000, transparent);
  mask-image: linear-gradient(var(--map-blend-direction), #000, transparent);
}
[dir="rtl"] .rd-hero-discovery .rd-hero-map { --map-blend-direction: to left; }
.rd-hero-discovery .rd-hero-fade { display: none; }
.rd-hero-discovery .rd-hero-map > div { transform: translateX(90px); }
.rd-hero-discovery .rd-hero-actions .rd-btn { background: #145e7a; color: #fff; }
.rd-hero-discovery .rd-hero-actions .rd-btn:hover { background: #104c63; }
.rd-hero-discovery .rd-hero-map path[opacity="0"] { opacity: 1 !important; }
.rd-hero-map [fill="#93c5fd"] { fill: #f8fafc; }
.rd-hero-map [stroke="#93c5fd"] { stroke: #f8fafc; }
.rd-hero-map [fill="#fbbf24"] { fill: #ef7b45; }
.rd-hero-map [stroke="#fbbf24"] { stroke: #ef7b45; }
.rd-hero-map [fill="#0d1b2a"] { fill: #153849; }
.rd-hero-map stop[stop-color="#0066cc"],
.rd-hero-map stop[stop-color="#145e7a"] { stop-color: #104c63; }
.rd-hero-map stop[stop-color="#93c5fd"] { stop-color: #f8fafc; }
.rd-hero-map stop[stop-color="#fbbf24"] { stop-color: #ef7b45; }
/* Recolor visible artwork only: the white SVG land mask must stay white. */
.rd-hero-discovery .rd-hero-map text { fill: #153849; }
.rd-hero-discovery .rd-hero-map svg > path[fill="#fff"] { fill: #145e7a; }
.rd-hero-discovery .rd-hero-map [fill="#93c5fd"] { fill: #8ca7b2; }
.rd-hero-discovery .rd-hero-map [stroke="#93c5fd"],
.rd-hero-discovery .rd-hero-map svg > circle[stroke="#fff"] { stroke: #104c63; }
.rd-hero-discovery .rd-hero-map svg > circle[fill="#0d1b2a"] { fill: #fff; }
.rd-hero-discovery .rd-hero-map [fill="rgba(147,197,253,.05)"] { fill: #f8fafc; }
.rd-hero-discovery .rd-hero-map stop[stop-color="#93c5fd"],
.rd-hero-discovery .rd-hero-map stop[stop-color="#0066cc"],
.rd-hero-discovery .rd-hero-map stop[stop-color="#145e7a"] { stop-color: #f8fafc; }
.rd-hero-cards .rd-glass:first-child .ic { background: #ef7b45 !important; }
.rd-hero-legend .key i { background: #ef7b45 !important; }

@media (max-width: 1200px) {
  .rd-hero-discovery { display: flex; flex-direction: column; }
  .rd-hero-discovery .rd-hero-inner { order: 1; width: 100%; }
  .rd-hero-discovery .rd-hero-legend {
    order: 2; position: static; align-items: center; margin-block: 0 1rem;
  }
  .rd-hero-discovery .rd-hero-map {
    order: 3; position: relative; inset: auto; height: 400px;
    justify-content: center; padding: 0; width: 100%;
    --map-blend-direction: to bottom;
    -webkit-mask-image: linear-gradient(to bottom, transparent, #000 64px);
    mask-image: linear-gradient(to bottom, transparent, #000 64px);
  }
  [dir="rtl"] .rd-hero-discovery .rd-hero-map { --map-blend-direction: to bottom; }
  .rd-hero-discovery .rd-hero-map::after {
    inset: 0 0 auto; width: 100%; height: 80px;
  }
  .rd-hero-discovery .rd-hero-map > div {
    transform: translateX(-170px) scale(.85); transform-origin: 50% 0;
  }
  .rd-hero-discovery .rd-hero-cards { order: 4; width: 100%; }
}
@media (max-width: 700px) {
  .rd-hero-discovery .rd-hero-map { height: 340px; }
  .rd-hero-discovery .rd-hero-map > div { transform: translateX(-132px) scale(.7); }
}

/* Medical navigation: the same five patient tasks on desktop and mobile. */
body #navbar.nav-reference .nav-primary .nav-guide > summary {
  min-height: 36px; padding: 0; gap: 6px; color: #48606b;
  font-size: 13px; font-weight: 600; background: transparent;
}
body #navbar.nav-reference .nav-primary .nav-guide-menu {
  position: absolute; top: calc(100% + 16px); inset-inline-end: 0;
  min-width: 230px; margin: 0; padding: 6px; background: white;
  border: 1px solid var(--rd-line); box-shadow: var(--shadow-lg);
}
body #navbar.nav-reference .nav-primary .nav-guide-menu a {
  display: flex; min-height: 44px; padding: 10px 12px;
  white-space: normal; border-radius: 8px; color: #153849;
}
body #navbar.nav-reference .nav-primary .nav-guide-menu a::after { display: none; }
body #navbar.nav-reference .nav-primary .nav-guide-menu a:hover {
  background: #f8fafc; color: #145e7a;
}
@media (max-width: 1200px) {
  body #navbar.nav-reference .nav-primary .nav-guide > summary {
    min-height: 52px; padding: 15px 4px; color: white; font-size: 15px;
    justify-content: space-between; border-bottom: 1px solid rgba(255,255,255,.2);
  }
  body #navbar.nav-reference .nav-primary .nav-guide-menu {
    position: static; min-width: 0; margin-block: 4px 8px;
    padding: 6px 12px; background: rgba(255,255,255,.06);
    border-color: rgba(255,255,255,.2); box-shadow: none;
  }
  body #navbar.nav-reference .nav-primary .nav-guide-menu a {
    min-height: 48px; color: white; font-size: 15px; border: 0;
  }
  body #navbar.nav-reference .nav-primary .nav-guide-menu a:hover {
    background: rgba(255,255,255,.1); color: white;
  }
}

/* A native mobile selector keeps the chosen specialty beside its results. */
.medical-specialty-picker { display: none; }
@media (max-width: 1100px) {
  #specialties.has-specialty-picker .rd-explorer { gap: 16px; }
  #specialties.has-specialty-picker .rd-spec-list { display: none; }
  #specialties .medical-specialty-picker { display: block; min-width: 0; }
  .medical-specialty-picker label {
    display: block; margin-bottom: 8px; color: var(--rd-navy); font-weight: 600;
  }
  .medical-specialty-picker select {
    display: block; width: 100%; min-height: 52px; padding: 12px;
    border: 1px solid var(--rd-line); border-radius: 12px;
    background: white; color: var(--rd-navy); font: inherit;
  }
  .medical-specialty-picker select:focus-visible {
    outline: 3px solid var(--rd-blue); outline-offset: 3px;
  }
}

/* Restore a compact desktop opening without scaling text or controls globally. */
@media (min-width: 1201px) {
  body:not(.wl) { --nav-h: 94px; }
  body #navbar.nav-reference .nav-utility-inner { min-height: 28px; }
  body #navbar.nav-reference::before { inset-block-start: 28px; }
  body #navbar.nav-reference .nav-inner { height: 66px; }
  body #navbar.nav-reference .nav-support > .nav-mode { top: 1px; }
  .rd-hero-discovery .rd-hero-inner { padding-block: 4.25rem 4rem; }
  .rd-hero-discovery .rd-hero-copy { max-width: 620px; }
  .rd-hero-discovery h1 {
    font-size: clamp(2.65rem, 3.5vw, 3.6rem); line-height: 1.06;
    margin-bottom: 1rem;
  }
  .rd-hero-discovery .rd-hero-sub {
    font-size: 1rem; line-height: 1.6; margin-bottom: 1.25rem;
  }
  .rd-hero-discovery .rd-hero-search {
    min-height: 56px; padding-block: .8rem; margin-bottom: 1rem;
  }
  .rd-hero-discovery .rd-hero-actions a { padding-block: .85rem; }
  .rd-hero-discovery .rd-hero-stats { margin-top: 1.5rem; padding-top: 1.25rem; }
  .rd-hero-discovery .rd-hero-stats b { font-size: 2rem; }
  .rd-hero-discovery .rd-hero-map {
    left: 0; right: 0; height: calc(100% - var(--nav-h));
  }
  .rd-hero-discovery .rd-hero-map > div {
    transform: none; transform-origin: right top;
  }
  /* Geographic artwork stays on the right; Arabic copy already occupies the left. */
  [dir="rtl"] .rd-hero-discovery .rd-hero-map {
    left: 0; right: 0;
    direction: ltr; --map-blend-direction: to right;
  }
  .rd-hero-discovery .rd-hero-cards {
    position: absolute; inset: auto; right: calc(1.5rem + var(--rd-bleed));
    bottom: 1.75rem; max-width: none; margin: 0; padding: 0;
    flex-direction: column; align-items: flex-end; flex-wrap: nowrap;
  }
}
@media (min-width: 1201px) and (max-height: 800px) {
  .rd-hero-discovery .rd-hero-inner { padding-block: 1.75rem; }
  .rd-hero-discovery h1 { font-size: clamp(2.5rem, 3vw, 3.2rem); }
}

/* A single centered India label with the lotus gently rotating above it. */
.rd-hero-discovery .rd-hero-lotus {
  left: 908px; top: 280px; width: 52px; height: 52px;
  transform: translateX(-50%); animation: none;
}
.rd-hero-discovery .rd-hero-lotus img {
  width: 44px; height: 44px; animation: rd-spin 32s linear infinite;
}
.rd-hero-discovery .rd-hero-india {
  display: block; left: 908px; top: 336px; transform: translateX(-50%);
  font-size: 1.75rem; line-height: 1.1; white-space: nowrap;
}
@media (max-width: 1200px) {
  .rd-hero-discovery .rd-hero-map { height: 440px; }
}
@media (max-width: 700px) {
  .rd-hero-discovery .rd-hero-map { height: 374px; }
  .rd-hero-discovery .rd-hero-lotus { top: 284px; width: 44px; height: 44px; }
  .rd-hero-discovery .rd-hero-lotus img { width: 38px; height: 38px; }
}
@media (prefers-reduced-motion: reduce) {
  .rd-hero-discovery .rd-hero-lotus img { animation: none; }
}

/* Keep the copy clear over the wider desktop map without tinting its center. */
@media (min-width: 1201px) {
  .rd-hero-discovery .rd-hero-fade,
  [dir="rtl"] .rd-hero-discovery .rd-hero-fade {
    display: block;
    background: linear-gradient(to right,
      rgba(255,255,255,.72) 0,
      rgba(255,255,255,.72) max(560px, calc((100% - 1280px) / 2 + 560px)),
      rgba(255,255,255,.38) max(650px, calc((100% - 1280px) / 2 + 650px)),
      rgba(255,255,255,0) max(820px, calc((100% - 1280px) / 2 + 820px)));
  }
}

/* Center the emblem on the map's existing India glow and lower the logo strip. */
.rd-hero-discovery .rd-hero-india { display: none; }
.rd-hero-discovery .rd-hero-lotus { left: 907.6px; top: 305.6px; }
@media (min-width: 1201px) {
  .rd-hero-discovery .rd-hero-inner { padding-bottom: 7rem; }
}
@media (min-width: 1201px) and (max-height: 800px) {
  .rd-hero-discovery .rd-hero-inner { padding-bottom: 4.75rem; }
}
@media (max-width: 1200px) {
  .rd-hero-discovery { padding-bottom: 1.5rem; }
}
@media (max-width: 700px) {
  .rd-hero-discovery .rd-hero-lotus { top: 309.6px; }
}

/* Slightly enlarge the desktop artwork and move its focal point right. */
@media (min-width: 1201px) {
  .rd-hero-discovery .rd-hero-map > div {
    transform: translateX(clamp(40px, 4vw, 76px)) scale(1.06);
    transform-origin: 63% 0;
  }
}

/* Match medical typography to the navigation, retaining script-specific faces. */
body { --medical-font: 'Montserrat', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif; }
[lang="ru"] body { --medical-font: 'Montserrat', 'Inter', 'Segoe UI', system-ui, sans-serif; }
[lang="ar"] body { --medical-font: 'Noto Kufi Arabic', 'Segoe UI', Tahoma, sans-serif; }
body :where(h1,h2,h3,h4,h5,h6,p,a,span,div,b,strong,em,small,label,input,select,textarea,button,summary,li,td,th,dt,dd,blockquote):not(#wellness-gateway):not(#wellness-gateway *):not(.is-wellness):not(.is-wellness *):not([class^="wl-"]):not([class*=" wl-"]):not(.fa):not([class*="fa-"]) {
  font-family: var(--medical-font) !important;
}
.rd-hero-discovery h1 { font-size: clamp(2rem, 3vw, 3rem); line-height: 1.16; }
.rd-hero-discovery h1 em { font-style: normal; }

/* A calmer medical type hierarchy; retain localized and wellness typefaces. */
body { --medical-heading-font: var(--medical-font); }
[lang="ar"] body { --medical-heading-font: var(--medical-font); }
body :where(h1,h2,h3,h4,h5,h6):not(#wellness-gateway):not(#wellness-gateway *):not(.is-wellness):not(.is-wellness *):not([class^="wl-"]):not([class*=" wl-"]):not(.fa):not([class*="fa-"]) {
  font-family: var(--medical-heading-font) !important; font-weight: 700;
  letter-spacing: -.025em;
}
.rd-hero-discovery h1 { font-size: clamp(2rem, 2.8vw, 2.8rem); line-height: 1.2; }
.rd-hero-discovery h1 em { font-style: normal !important; }
.rd-h2 { font-size: clamp(1.8rem, 2.6vw, 2.5rem); line-height: 1.25; }
.rd-h2 em, #contact h2 em { font-style: normal; }
.medical-task-links {
  display: grid; grid-template-columns: repeat(5, minmax(0,1fr));
  gap: 12px; padding-block: 28px 4px;
}
.medical-task-links a {
  display: flex; align-items: center; justify-content: space-between; gap: 12px;
  min-height: 60px; padding: 14px 18px; border: 1px solid var(--rd-line);
  border-radius: 14px; background: #fff; color: var(--rd-navy);
  font-size: .95rem; font-weight: 600; text-decoration: none;
}
.medical-task-links a:hover { background: #f8fafc; border-color: var(--rd-blue); }
.medical-task-links a:focus-visible { outline: 3px solid var(--rd-blue); outline-offset: 3px; }
[dir="rtl"] .medical-task-links span { transform: scaleX(-1); }
#contact .rd-contact-grid { align-items: start; gap: 40px; }
#contact h2 { font-size: clamp(1.9rem, 2.6vw, 2.6rem); line-height: 1.25; }
#homepageConsultForm { padding: 1.75rem; box-shadow: 0 16px 40px rgba(21,56,73,.15); }
#homepageConsultForm .rd-seal { align-items: start; }
#homepageConsultForm .form-row { gap: 14px; margin-bottom: 0; }
#homepageConsultForm .form-group { margin-bottom: 16px; }
#homepageConsultForm .form-consent { align-items: start; }
#homepageConsultForm .form-consent input { flex-shrink: 0; margin-top: 4px; }
#homepageConsultForm .form-consent label { line-height: 1.5; }
#homepageConsultForm :where(input,select,textarea,button) { max-width: 100%; }
@media (max-width: 900px) {
  .medical-task-links { grid-template-columns: repeat(3,minmax(0,1fr)); }
}
@media (max-width: 600px) {
  .medical-task-links { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; padding-block: 20px 0; }
  .medical-task-links a { min-height: 56px; padding: 12px; font-size: .9rem; }
  #contact .rd-contact-grid { gap: 24px; }
  #homepageConsultForm { padding: 1.2rem; }
  #homepageConsultForm .rd-steps { gap: 6px; }
  #homepageConsultForm .rd-steps li { gap: 6px; font-size: .75rem; }
}

body :where(h1,h2,h3,h4,h5,h6) :where(em,strong,span):not(#wellness-gateway):not(#wellness-gateway *):not(.is-wellness):not(.is-wellness *):not([class^="wl-"]):not([class*=" wl-"]):not(.fa):not([class*="fa-"]) {
  font-family: var(--medical-heading-font) !important;
}
.rd-hero-discovery h1 strong { font-style: normal; font-weight: 700; }

/* Soften decorative dots while keeping routes, labels and the map visible. */
.rd-hero-discovery #wm-dots circle { opacity: .65; }

/* Clean medical opening: separate reading space from the geographic artwork. */
body #navbar.nav-reference, body #navbar.nav-reference.scrolled {
  background: rgba(255,255,255,.94);
  border-bottom: 1px solid var(--rd-line);
  box-shadow: 0 4px 18px rgba(21,56,73,.06);
  -webkit-backdrop-filter: blur(12px); backdrop-filter: blur(12px);
}
body #navbar.nav-reference::before { background: none; border-top: 0; }
body #navbar.nav-reference .nav-search-link {
  background: transparent; border-color: transparent; box-shadow: none;
}
body #navbar.nav-reference .nav-cta {
  background: #145e7a !important; box-shadow: none;
}
body #navbar.nav-reference .nav-cta::before { display: none; }
.rd-hero-discovery h1 { font-weight: 700; letter-spacing: -.035em; }
.rd-hero-discovery h1 strong { display: block; margin-top: .35rem; font-weight: 500; }
.rd-hero-discovery .rd-hero-sub { line-height: 1.75; }
@media (min-width: 1201px) {
  .nav-reference .nav-primary {
    gap: 14px; padding: 8px 0; background: transparent; border-color: transparent;
    box-shadow: none; -webkit-backdrop-filter: none; backdrop-filter: none;
  }
  body #navbar.nav-reference .nav-primary a,
  body #navbar.nav-reference .nav-primary .nav-guide > summary {
    font-size: 14px; color: #153849;
  }
  body #navbar.nav-reference .lang-switch > summary { font-size: 13px; color: #153849; }
  .rd-hero-discovery .rd-hero-copy { max-width: 560px; }
  .rd-hero-discovery h1 { font-size: clamp(2.35rem, 3vw, 3.25rem); line-height: 1.16; }
  .rd-hero-discovery .rd-hero-map, [dir="rtl"] .rd-hero-discovery .rd-hero-map {
    left: max(600px, calc((100% - 1280px) / 2 + 600px)); right: 0;
    -webkit-mask-image: linear-gradient(to right, rgba(0,0,0,.3), #000 100px);
    mask-image: linear-gradient(to right, rgba(0,0,0,.3), #000 100px);
  }
  .rd-hero-discovery .rd-hero-fade, [dir="rtl"] .rd-hero-discovery .rd-hero-fade { background: none; }
}
@media (min-width: 1201px) and (max-height: 800px) {
  .rd-hero-discovery h1 { font-size: clamp(2.25rem, 2.7vw, 2.9rem); }
}
@media (max-width: 1200px) {
  body #navbar.nav-reference .nav-support .nav-cta { background: #f8fafc !important; }
}

@media (min-width: 1201px) {
  .rd-hero-discovery .rd-hero-map > div { transform: translateX(clamp(60px, 5vw, 96px)) scale(1.06); }
}

@media (min-width: 1201px) {
  [lang="ar"] .rd-hero-discovery h1 { font-size: clamp(2.1rem, 2.5vw, 2.7rem); }
}
@media (min-width: 1201px) and (min-height: 801px) {
  [lang="ar"] .rd-hero-discovery .rd-hero-inner { padding-block: 3rem 4.5rem; }
}

/* Restore the original pulsing lotus halo; the emblem itself stays still. */
.rd-hero-discovery .rd-hero-lotus { animation: rd-markpulse 2.6s ease-in-out infinite; }
.rd-hero-discovery .rd-hero-lotus img { animation: none; }
@media (prefers-reduced-motion: reduce) {
  .rd-hero-discovery .rd-hero-lotus { animation: none; }
}

/* Findability: compact filters, page index and keyboard-accessible recovery. */
.medical-task-links { grid-template-columns: repeat(4,minmax(0,1fr)); }
.medical-filters { margin-bottom: 24px; border: 1px solid var(--rd-line); border-radius: 14px; background: #fff; }
.medical-filters > summary { min-height: 52px; padding: 14px 16px; cursor: pointer; color: var(--rd-navy); font-weight: 600; }
.medical-filter-current { font-size: .85rem; font-weight: 400; margin-inline-start: 12px; color: var(--rd-muted); }
.medical-filters .facet-row { margin: 0; padding: 12px 16px 16px; }
.medical-page-index {
  position: sticky; top: var(--nav-h); z-index: 20;
  background: #fff; border-block: 1px solid var(--rd-line);
}
.medical-page-index > summary { min-height: 44px; padding: 12px 20px; font-weight: 600; color: var(--rd-navy); cursor: pointer; }
.medical-page-index nav { display: flex; overflow-x: auto; gap: 8px; padding: 8px 20px; overscroll-behavior: contain; }
.medical-page-index nav a { flex: 0 0 auto; padding: 10px 14px; border-radius: 8px; color: var(--rd-muted); font-size: .85rem; text-decoration: none; max-width: 320px; }
.medical-page-index nav a[aria-current], .medical-page-index nav a:hover { background: #f8fafc; color: #145e7a; }
.medical-page-index ~ * :where(h2[id],h3[id],.filter-bar[id]) { scroll-margin-top: calc(var(--nav-h) + 116px); }
body #navbar .nav-primary a[aria-current], body #navbar .medical-current-guide { color: var(--rd-blue); font-weight: 700; }
.medical-search-recovery { display: flex; flex-wrap: wrap; gap: 10px; padding: 16px 20px; border-top: 1px solid var(--rd-line); }
.medical-search-recovery[hidden] { display: none; }
.medical-search-recovery :where(a,button) { padding: 12px; min-height: 44px; border: 1px solid var(--rd-line); border-radius: 10px; background: #fff; color: #145e7a; font: inherit; text-decoration: none; cursor: pointer; }
:where(.medical-search-recovery,.medical-page-index,.medical-filters) :where(a,button,summary):focus-visible { outline: 3px solid var(--rd-blue); outline-offset: 2px; }
@media (min-width: 701px) {
  .medical-page-index > summary { display: none; }
}
@media (max-width: 1200px) {
  .rd-hero-copy > .medical-task-links { padding: 20px 0 0; grid-template-columns: repeat(3,minmax(0,1fr)); }
  .rd-hero-copy > .medical-task-links a { min-height: 48px; padding: 10px; font-size: .85rem; }
}
@media (max-width: 700px) {
  .medical-page-index nav { flex-direction: column; max-height: 220px; overflow-y: auto; }
  .medical-page-index nav a { max-width: none; flex-shrink: 0; min-height: 44px; }
  .medical-task-links, .rd-hero-copy > .medical-task-links { grid-template-columns: repeat(2,minmax(0,1fr)); }
  body #navbar .nav-primary a[aria-current], body #navbar .medical-current-guide { color: #fff; text-decoration: underline; text-underline-offset: 5px; }
}

/* Keep the page index compact at every width; expose its links on request. */
.medical-page-index > summary { display: list-item; list-style-position: inside; }
.medical-page-index nav {
  position: absolute; inset-inline: 0; top: 100%; flex-direction: column;
  max-height: min(260px, 45dvh); overflow-y: auto; background: #fff;
  border-bottom: 1px solid var(--rd-line); box-shadow: 0 10px 20px rgba(21,56,73,.1);
}
.medical-page-index nav a { max-width: none; min-height: 44px; flex-shrink: 0; }
.medical-page-index ~ * :where(h2[id],h3[id],.filter-bar[id]) { scroll-margin-top: calc(var(--nav-h) + 64px); }

/* Original medical travel stickers: decorative artwork, visible text remains the label. */
.medical-task-links { gap: 18px; padding-block: 32px 8px; }
.medical-task-links a {
  display: grid; grid-template-columns: minmax(0,1fr) auto;
  grid-template-areas: 'label arrow' 'art art'; gap: 12px;
  min-height: 230px; padding: 20px; border-radius: 24px;
  background: var(--task-bg, #f8fafc); border-color: rgba(20,94,122,.1);
  box-shadow: 0 4px 14px rgba(21,56,73,.04);
  transition: border-color .2s, box-shadow .2s;
}
.medical-task-links a:nth-child(4n+1) { --task-bg: #f8fafc; }
.medical-task-links a:nth-child(4n+2) { --task-bg: #f8fafc; }
.medical-task-links a:nth-child(4n+3) { --task-bg: #f8fafc; }
.medical-task-links a:nth-child(4n+4) { --task-bg: #f8fafc; }
.medical-task-links a:hover { background: var(--task-bg); border-color: #145e7a; box-shadow: 0 8px 22px rgba(21,56,73,.09); }
.medical-task-label { grid-area: label; }
.medical-task-arrow { grid-area: arrow; color: #48606b; }
.medical-task-sticker { grid-area: art; width: 100%; height: 160px; object-fit: contain; }
[dir="rtl"] .medical-task-links .medical-task-label { transform: none; }
@media (max-width: 1200px) {
  .rd-hero-copy > .medical-task-links { gap: 12px; }
  .rd-hero-copy > .medical-task-links a { min-height: 170px; padding: 14px; }
  .rd-hero-copy > .medical-task-links .medical-task-sticker { height: 105px; }
}
@media (max-width: 700px) {
  .rd-hero-copy > .medical-task-links a {
    grid-template-columns: 58px minmax(0,1fr);
    grid-template-areas: 'art label'; gap: 8px; min-height: 96px; padding: 10px;
  }
  .rd-hero-copy > .medical-task-links .medical-task-sticker { width: 58px; height: 70px; }
  .rd-hero-copy > .medical-task-links .medical-task-arrow { display: none; }
  .medical-task-links .medical-task-label { font-size: .83rem; line-height: 1.4; }
}
@keyframes medical-logo-loop {
  from { transform: translate3d(0,0,0); }
  to { transform: translate3d(calc(-1 * var(--logo-loop-distance)),0,0); }
}
/* Travel exactly one measured logo sequence, including the gap at its boundary. */
.rd-logos-track { direction: ltr; animation: none; will-change: transform; backface-visibility: hidden; }
.rd-logos-track.medical-loop-ready { animation: medical-logo-loop var(--logo-loop-duration) linear infinite; }
.rd-logos-track.medical-loop-ready:hover { animation-play-state: paused; }
[dir="rtl"] .rd-logos-track.medical-loop-ready { animation-direction: reverse; }
.rd-logo-tile { flex-shrink: 0; }
.rd-logo-tile:hover { transform: none; }
@media (prefers-reduced-motion: reduce) {
  .rd-logos-viewport { overflow-x: auto; }
  .medical-task-links a { transition: none; }
}

/* Neutral off-white secondary surfaces; primary teal and functional contrast stay intact. */
body:not(.wl) { --medical-secondary: #f8fafc; }
body #navbar.nav-reference, body #navbar.nav-reference.scrolled { background: rgba(248,250,252,.96); }
.rd-hero-discovery :where(.rd-glass,.rd-hero-legend .key,.rd-btn-ghost),
.medical-filters, .medical-page-index, .medical-page-index nav,
.medical-search-recovery :where(a,button) { background: var(--medical-secondary); }


/* Homepage: clear starting points, small previews and details on demand. */
.medical-home .rd-section { padding-block: 56px; }
.medical-home .rd-head { align-items: center; margin-bottom: 28px; }
.medical-home .rd-head .rd-lead { font-size: .95rem; line-height: 1.6; }
.medical-home .rd-h2 { font-size: clamp(1.65rem,2.3vw,2.2rem); line-height: 1.25; }
.medical-home .medical-task-links { padding-block: 28px; }
.medical-home .medical-task-more { grid-column: 1 / -1; }
.medical-task-extra { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; margin-top: 16px; }
.medical-more { border: 1px solid var(--rd-line); border-radius: 14px; background: var(--medical-secondary); }
.medical-more > summary { cursor: pointer; min-height: 48px; padding: 14px 18px; color: var(--rd-navy); font-weight: 600; }
.medical-more-button { display: inline-block; min-height: 44px; margin-top: 16px; padding: 10px 16px; border: 1px solid var(--rd-line); border-radius: 10px; background: var(--medical-secondary); color: var(--rd-navy); font: inherit; cursor: pointer; }
.medical-more :where(a,button,summary):focus-visible, .medical-more-button:focus-visible { outline: 3px solid var(--teal); outline-offset: 3px; }
.medical-home .medical-directory-link { margin-block: 18px; }
.medical-home #specialties > .rd-wrap > .rd-explorer { grid-template-columns: minmax(230px,.75fr) minmax(0,1.5fr); gap: 24px; align-items: start; }
.medical-home #specialties .rd-spec-list { grid-template-columns: 1fr; }
.medical-home #specialties .rd-spec[hidden] { display: none; }
.medical-home #specialties .rd-spec small { display: none; }
.medical-home #specialties .rd-panel-art:not(.is-wellness) { height: 110px; }
.medical-home #specialties .rd-panel-art:not(.is-wellness) > img { object-fit: contain; }
.medical-home #specialties .rd-panel-art:not(.is-wellness) .count { display: none; }
.medical-home #specialties .rd-panel-body { padding: 24px; }
.medical-home #specialties .rd-panel-body h3 { font-size: 1.6rem; }
.medical-home #specialties .rd-panel-body p { font-size: .93rem; }
.medical-home .medical-procedure-more { flex-basis: 100%; background: transparent; border: 0; }
.medical-home .medical-procedure-more > summary { padding: 10px 0; font-size: .9rem; }
.medical-procedure-extra { display: flex; flex-wrap: wrap; gap: 10px; padding-top: 8px; }
.medical-home .medical-text-link { border: 0; padding-inline: 8px; box-shadow: none; }
.medical-home .medical-journey .rd-head { display: block; text-align: center; }
.medical-home .medical-journey .rd-head .rd-lead { margin: 12px auto 0; max-width: 620px !important; }
.medical-home .rd-timeline { gap: 16px; }
.medical-home .rd-timeline::before, .medical-home .rd-timeline::after { display: none; }
.medical-home .rd-step { padding: 24px; border: 1px solid var(--rd-line); border-radius: 20px; background: var(--medical-secondary); gap: 12px; }
.medical-home .rd-step-dot { width: 48px; height: 48px; margin: 0; box-shadow: none !important; transform: none !important; }
.medical-home .rd-step h3 { font-size: 1.15rem; line-height: 1.35; }
.medical-home .rd-step p { font-size: .9rem; }
.medical-home .medical-fee-more { margin-top: 12px; }
.medical-home .medical-fee-more .rd-fee { margin: 0; border: 0; background: transparent; box-shadow: none; }
.medical-hospital-preview, .medical-home .rd-docs { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 20px; }
.medical-hospital-preview .rd-hcard { min-width: 0; width: auto; }
.medical-home .rd-hcard-img { height: 180px; }
.medical-home .rd-doc-img { height: 240px; }
.medical-home .medical-doctor-more { margin-top: 20px; }
.medical-doctor-more .rd-doc { max-width: 360px; margin: 16px; }
.medical-home .medical-hospital-actions { display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.medical-home .medical-hospital-actions .medical-directory-link { margin: 0; }
.medical-home .medical-hospital-carousel { position: relative; padding-inline: 26px; }
.medical-home .medical-hospital-carousel .rd-rail-btns { position: absolute; inset: 0; pointer-events: none; }
.medical-home .medical-hospital-carousel .rd-rail-btns button { position: absolute; top: 50%; transform: translateY(-50%); pointer-events: auto; z-index: 2; box-shadow: 0 4px 16px rgba(21,56,73,.15); }
.medical-home .medical-hospital-carousel [data-rd-rail-prev] { inset-inline-start: 0; }
.medical-home .medical-hospital-carousel [data-rd-rail-next] { inset-inline-end: 0; }
.medical-home .rd-weave { display: none; }
.medical-home #doctors .rd-docs { display: flex; gap: 22px; }
.medical-home #doctors .rd-doc { flex: 0 0 min(330px, 100%); scroll-snap-align: start; }
.medical-home #doctors .rd-doc-img { height: 240px; background: #f1f5f7; }
.medical-home #doctors .rd-doc-img img { object-fit: contain; object-position: center top; transform: none; }
.medical-home #doctors .rd-doc-img::after { display: none; }
.medical-home #doctors .rd-doc-name { position: static; color: var(--rd-navy); margin-bottom: 12px; }
.medical-home #doctors .rd-doc-name small { color: var(--rd-blue); margin-bottom: 6px; }
.medical-home #doctors .rd-doc-name b { display: block; font-family: inherit; font-size: 1.2rem; font-weight: 700; line-height: 1.4; }
.medical-home #hospitals::before, .medical-home #hospitals::after,
.medical-home #hospitals > .rd-wrap::before, .medical-home #hospitals > .rd-wrap::after { content: none !important; }
.medical-hospital-more .rd-filter { padding: 16px; }
.medical-hospital-more .rd-rail { padding: 0 16px 16px; }
.medical-home .rd-brand { padding-block: 24px; }
.medical-home .rd-brand-water { display: none; }
.medical-brand-more .rd-brand-grid { padding: 24px; }
.medical-travel-more { margin-top: 12px; }
.medical-travel-more > :not(summary) { margin: 16px; }
.medical-home .rd-est-points { font-size: .9rem; }
@media (max-width: 1100px) {
  .medical-home #specialties > .rd-wrap > .rd-explorer { grid-template-columns: 1fr; }
  .medical-home #specialties .medical-more-button { display: none; }
  .medical-home #specialties .medical-directory-link { margin-top: 0; }
}
@media (max-width: 700px) {
  .medical-home .rd-section { padding-block: 36px; }
  .medical-home .rd-head { display: block; }
  .medical-home .medical-task-links { gap: 12px; padding-block: 20px; }
  .medical-home .medical-task-links a { grid-template-columns: 58px minmax(0,1fr); grid-template-areas: 'art label'; gap: 8px; min-height: 96px; padding: 10px; border-radius: 20px; }
  .medical-home .medical-task-sticker { width: 58px; height: 70px; }
  .medical-home .medical-task-arrow { display: none; }
  .medical-home .rd-timeline { grid-template-columns: 1fr; }
  .medical-home .rd-step { padding: 18px; display: grid; grid-template-columns: 48px minmax(0,1fr); gap: 8px 14px; }
  .medical-home .rd-step-dot { grid-column: 1; grid-row: 1 / 4; }
  .medical-home .rd-step :where(.rd-step-n,h3,p) { grid-column: 2; }
  .medical-hospital-preview, .medical-home .rd-docs { grid-template-columns: 1fr; }
  .medical-home .medical-hospital-actions { align-items: flex-start; flex-direction: column; }
  .medical-home .rd-doc-img { height: 280px; }
  .medical-home #specialties .rd-panel-body { padding: 18px; }
}

.medical-home :where(section[id],h2[id],h3[id]) { scroll-margin-top: calc(var(--nav-h) + 20px); }

/* Medical-only motion: calm feedback for interactive surfaces and a gentle reading rhythm. */
@keyframes medical-soft-enter {
  from { opacity: 0; transform: translate3d(0, 16px, 0); }
  to { opacity: 1; transform: translate3d(0, 0, 0); }
}
@keyframes medical-disclosure-enter {
  from { opacity: 0; transform: translate3d(0, -6px, 0); }
  to { opacity: 1; transform: translate3d(0, 0, 0); }
}
body:not(.wl) {
  --medical-ease: cubic-bezier(.2,.75,.25,1);
  --medical-fast: 180ms;
  --medical-base: 360ms;
}
.medical-motion-ready .medical-motion-item { opacity: 0; }
.medical-motion-ready .medical-motion-item.medical-motion-in {
  animation: medical-soft-enter var(--medical-base) var(--medical-ease) both;
  animation-delay: var(--medical-motion-delay, 0ms);
}
body:not(.wl) :is(.medical-task-links a, .rd-step, .rd-panel, .rd-hcard, .rd-doc, .rd-est, .testimonial-card, .callout, .info-panel, .rd-qa, .medical-more, .medical-more-button) {
  transition: transform var(--medical-base) var(--medical-ease), box-shadow var(--medical-base) var(--medical-ease), border-color var(--medical-fast) ease, background-color var(--medical-fast) ease, color var(--medical-fast) ease;
}
body:not(.wl) :is(.medical-task-links a, .rd-step, .rd-hcard, .rd-doc, .testimonial-card, .info-panel):focus-within {
  border-color: var(--teal);
  box-shadow: 0 14px 30px rgba(21,56,73,.11);
}
body:not(.wl) :is(.medical-more > summary, .medical-more-button, .rd-qa > summary) {
  transition: color var(--medical-fast) ease, background-color var(--medical-fast) ease, transform var(--medical-fast) ease;
}
.medical-more[open] > :not(summary) { animation: medical-disclosure-enter 260ms var(--medical-ease) both; }
.medical-more[open] > summary { color: var(--teal); }
.medical-more > summary::marker { color: var(--teal); }
body:not(.wl) .rd-btn, body:not(.wl) .rd-btn-line, body:not(.wl) .rd-hcard-actions a, body:not(.wl) .medical-directory-link {
  transition: transform var(--medical-fast) var(--medical-ease), box-shadow var(--medical-fast) var(--medical-ease), background-color var(--medical-fast) ease, color var(--medical-fast) ease, border-color var(--medical-fast) ease;
}
@media (hover: hover) and (pointer: fine) {
  body:not(.wl) :is(.medical-task-links a, .rd-step, .rd-hcard, .rd-doc, .testimonial-card, .info-panel):hover {
    transform: translate3d(0,-4px,0);
    border-color: rgba(20,94,122,.35);
    box-shadow: 0 16px 34px rgba(21,56,73,.12);
  }
  body:not(.wl) :is(.rd-btn, .rd-btn-line, .rd-hcard-actions a, .medical-more-button):hover { transform: translate3d(0,-2px,0); }
  body:not(.wl) .medical-more > summary:hover, body:not(.wl) .rd-qa > summary:hover { color: var(--teal); }
}
body:not(.wl) :is(.rd-btn, .rd-btn-line, .rd-hcard-actions a, .medical-more-button):active { transform: translate3d(0,0,0) scale(.98); }
@media (prefers-reduced-motion: reduce) {
  .medical-motion-ready .medical-motion-item, .medical-motion-ready .medical-motion-item.medical-motion-in { opacity: 1; animation: none; }
  body:not(.wl) :is(.medical-task-links a, .rd-step, .rd-panel, .rd-hcard, .rd-doc, .rd-est, .testimonial-card, .callout, .info-panel, .rd-qa, .medical-more, .medical-more-button, .rd-btn, .rd-btn-line, .rd-hcard-actions a) { transition: none; }
  .medical-more[open] > :not(summary) { animation: none; }
}

/* Shortcut stickers: a slow, individual float gives the first discovery choice a little life. */
@keyframes medical-sticker-float {
  0%, 100% { transform: translate3d(0,0,0) rotate(0deg); }
  50% { transform: translate3d(0,-4px,0) rotate(var(--sticker-tilt, .6deg)); }
}
.medical-task-links a { overflow: hidden; position: relative; }
.medical-task-links a::before,
.medical-task-links a::after {
  content: none; position: absolute; z-index: 0; pointer-events: none;
  border-radius: 18px; inset: 10px 12px 8px 12px;
  background: #fff; box-shadow: 0 2px 5px rgba(21,56,73,.06);
  transform: rotate(-1.4deg) translateY(2px);
  transition: transform 420ms cubic-bezier(.2,.75,.25,1), box-shadow 420ms ease;
}
.medical-task-links a::after {
  inset: 8px 14px 10px 10px; background: #f8fafc;
  transform: rotate(1.1deg) translateY(1px);
}
.medical-task-links .medical-task-label,
.medical-task-links .medical-task-arrow,
.medical-task-links .medical-task-sticker { z-index: 1; }
.medical-task-sticker {
  position: relative; z-index: 1;
  filter: drop-shadow(0 5px 0 rgba(20,94,122,.10)) drop-shadow(0 9px 8px rgba(21,56,73,.09));
  animation: medical-sticker-float var(--sticker-duration, 5.8s) ease-in-out infinite;
  animation-delay: var(--sticker-delay, 0s);
  will-change: transform;
}
.medical-task-sticker.medical-paper-icon { filter: none; overflow: visible; transition: filter 350ms ease; }
.medical-task-links .medical-paper-art { filter: none; object-fit: contain; height: 175px; transition: filter 350ms ease; }
@media (max-width: 700px) { .medical-home .medical-task-links .medical-paper-art { height: 70px; width: 58px; } }
.medical-task-links a:nth-child(1) .medical-task-sticker { --sticker-duration: 5.1s; --sticker-delay: -.4s; --sticker-tilt: 1deg; }
.medical-task-links a:nth-child(2) .medical-task-sticker { --sticker-duration: 4.5s; --sticker-delay: -1.8s; --sticker-tilt: -1deg; }
.medical-task-links a:nth-child(3) .medical-task-sticker { --sticker-duration: 5.4s; --sticker-delay: -2.6s; --sticker-tilt: .8deg; }
.medical-task-links a:nth-child(4) .medical-task-sticker { --sticker-duration: 4.7s; --sticker-delay: -.9s; --sticker-tilt: -1.1deg; }
.medical-task-links a:nth-child(5) .medical-task-sticker { --sticker-duration: 5.2s; --sticker-delay: -3.2s; --sticker-tilt: .7deg; }
.medical-task-links a:nth-child(6) .medical-task-sticker { --sticker-duration: 4.6s; --sticker-delay: -1.2s; --sticker-tilt: -1deg; }
.medical-task-links a:nth-child(7) .medical-task-sticker { --sticker-duration: 5s; --sticker-delay: -2.1s; --sticker-tilt: .9deg; }
.medical-task-links a:nth-child(8) .medical-task-sticker { --sticker-duration: 4.8s; --sticker-delay: -.6s; --sticker-tilt: -1deg; }
.medical-task-arrow { transition: transform var(--medical-fast) var(--medical-ease), color var(--medical-fast) ease; }
@media (hover: hover) and (pointer: fine) {
  .medical-task-links a:hover::before { transform: rotate(-3deg) translate(-2px,3px); box-shadow: 0 6px 12px rgba(21,56,73,.09); }
  .medical-task-links a:hover::after { transform: rotate(2.6deg) translate(2px,-2px); box-shadow: 0 6px 12px rgba(21,56,73,.08); }
  .medical-task-links a:hover .medical-task-sticker { animation-play-state: paused; filter: drop-shadow(0 7px 0 rgba(20,94,122,.12)) drop-shadow(0 14px 12px rgba(21,56,73,.16)); transform: translateY(-5px) rotate(-2deg) scale(1.04); }
  .medical-task-links a:hover .medical-paper-icon { filter: drop-shadow(0 5px 4px rgba(21,56,73,.07)); }
  .medical-task-links a:hover .medical-paper-art { filter: drop-shadow(0 4px 4px rgba(21,56,73,.08)); }
  .medical-task-links a:hover .medical-task-arrow { color: var(--teal); transform: translateX(5px); }
  [dir="rtl"] .medical-task-links a:hover .medical-task-arrow { transform: translateX(-5px); }
}
@media (prefers-reduced-motion: reduce) {
  .medical-task-sticker { animation: none; }
  .medical-task-links a::before, .medical-task-links a::after { transition: none; }
  .medical-task-links a:hover .medical-paper-icon { transform: none; }
  .medical-task-sticker.medical-paper-icon { transition: none; }
  .medical-task-sticker.medical-paper-art { transition: none; }
  .medical-task-links a:hover .medical-paper-art { transform: none; }
}

/* Translucent liquid-glass navbar: light refraction, depth and a clear reading contrast. */
body:not(.wl) #navbar.nav-reference,
body:not(.wl) #navbar.nav-reference.scrolled {
  background: linear-gradient(112deg, rgba(255,255,255,.72), rgba(240,247,250,.52) 46%, rgba(255,255,255,.66));
  border-bottom: 1px solid rgba(255,255,255,.68);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.88), inset 0 -1px 0 rgba(20,94,122,.10), 0 14px 34px rgba(21,56,73,.12);
  -webkit-backdrop-filter: blur(20px) saturate(155%);
  backdrop-filter: blur(20px) saturate(155%);
  isolation: isolate;
}
body:not(.wl) #navbar.nav-reference.scrolled {
  background: linear-gradient(112deg, rgba(255,255,255,.84), rgba(240,247,250,.68) 46%, rgba(255,255,255,.78));
  box-shadow: inset 0 1px 0 rgba(255,255,255,.92), inset 0 -1px 0 rgba(20,94,122,.13), 0 12px 30px rgba(21,56,73,.14);
}
body:not(.wl) #navbar.nav-reference::before {
  inset: 28px 0 0;
  background: linear-gradient(108deg, rgba(255,255,255,.48), transparent 30%, rgba(255,255,255,.20) 58%, transparent 82%);
  border-top: 1px solid rgba(255,255,255,.5);
  z-index: 0;
}
body:not(.wl) #navbar.nav-reference :is(.nav-utility, .nav-inner) { position: relative; z-index: 1; }
body:not(.wl) #navbar.nav-reference .nav-utility {
  background: linear-gradient(108deg, rgba(21,56,73,.90), rgba(20,94,122,.76));
  box-shadow: inset 0 -1px 0 rgba(255,255,255,.16);
  -webkit-backdrop-filter: blur(16px) saturate(145%);
  backdrop-filter: blur(16px) saturate(145%);
}
@media (min-width: 1201px) {
  body:not(.wl) #navbar.nav-reference .nav-primary {
    padding: 7px 12px;
    border: 1px solid rgba(255,255,255,.68);
    border-radius: 18px;
    background: linear-gradient(135deg, rgba(255,255,255,.46), rgba(222,239,244,.20));
    box-shadow: inset 0 1px 0 rgba(255,255,255,.80), inset 0 -1px 0 rgba(20,94,122,.08), 0 9px 22px rgba(21,56,73,.10);
    -webkit-backdrop-filter: blur(14px) saturate(150%);
    backdrop-filter: blur(14px) saturate(150%);
  }
  body:not(.wl) #navbar.nav-reference .nav-search-link,
  body:not(.wl) #navbar.nav-reference .lang-switch > summary {
    border-radius: 13px;
    background: rgba(255,255,255,.26);
    box-shadow: inset 0 1px 0 rgba(255,255,255,.65);
  }
  body:not(.wl) #navbar.nav-reference .nav-search-link { border-color: rgba(255,255,255,.52); }
}
body:not(.wl) #navbar.nav-reference .nav-cta {
  background: linear-gradient(145deg, rgba(20,94,122,.96), rgba(16,76,99,.90)) !important;
  border-color: rgba(255,255,255,.48);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.58), inset 0 -1px 0 rgba(8,54,72,.32), 0 10px 22px rgba(20,94,122,.25);
}
@media (max-width: 1200px) {
  body:not(.wl) #navbar.nav-reference::before { inset-block-start: 0; }
}

/* Keep the care-mode switch beside the brand, using the same glass surface as the navigation. */
@media (min-width: 1201px) {
  body:not(.wl) #navbar.nav-reference .nav-support > .nav-mode {
    top: 16px;
    inset-inline-start: 214px;
    z-index: 2;
  }
  body:not(.wl) #navbar.nav-reference .nav-mode .rd-switch {
    min-height: 34px;
    padding: 3px;
    border: 1px solid rgba(255,255,255,.72);
    background: linear-gradient(135deg, rgba(255,255,255,.44), rgba(222,239,244,.22));
    box-shadow: inset 0 1px 0 rgba(255,255,255,.82), inset 0 -1px 0 rgba(20,94,122,.08), 0 7px 16px rgba(21,56,73,.10);
    -webkit-backdrop-filter: blur(14px) saturate(150%);
    backdrop-filter: blur(14px) saturate(150%);
    transition: transform var(--medical-fast) var(--medical-ease), box-shadow var(--medical-fast) ease;
  }
  body:not(.wl) #navbar.nav-reference .nav-mode .rd-switch span {
    min-height: 26px;
    padding: 4px 10px;
    color: #48606b;
    border-radius: 999px;
    transition: color var(--medical-fast) ease, background-color var(--medical-fast) ease, box-shadow var(--medical-fast) ease;
  }
  body:not(.wl) #navbar.nav-reference .nav-mode .rd-switch span.is-on {
    background: linear-gradient(145deg, #145e7a, #104c63);
    color: #fff;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.28), 0 3px 8px rgba(20,94,122,.20);
  }
  body:not(.wl) #navbar.nav-reference .nav-mode .rd-switch:hover { transform: translateY(-1px); box-shadow: inset 0 1px 0 rgba(255,255,255,.88), 0 10px 20px rgba(21,56,73,.14); }
}

/* Estimator: one compact plan builder with quick starts and a live, legible summary. */
body:not(.wl) .rd-est-grid { grid-template-columns: minmax(0, .65fr) minmax(0, 1.35fr); gap: 40px; }
body:not(.wl) .rd-est-visual { display: grid; grid-template-columns: 1fr 1fr; height: 190px; overflow: hidden; background: #eaf2f5; border-bottom: 1px solid rgba(20,94,122,.12); }
body:not(.wl) .rd-est-photo { width: 100%; height: 190px; object-fit: cover; object-position: center; }
body:not(.wl) .rd-est-treatment-visual { display: flex; flex-direction: column; align-items: center; justify-content: center; padding: 12px 20px; gap: 6px; text-align: center; background: linear-gradient(135deg,#edf5f7,#f8fafc); }
body:not(.wl) .rd-est-treatment-visual img { width: 100%; max-width: 190px; height: 125px; object-fit: contain; }
body:not(.wl) .rd-est-treatment-visual b { color: #153849; font-size: .95rem; line-height: 1.3; }
body:not(.wl) .rd-est-range { min-width: 0; }
body:not(.wl) .rd-est-step output { min-width: 0; }
@media (max-width: 1100px) { body:not(.wl) .rd-est-grid { grid-template-columns: 1fr; gap: 28px; } }
@media (max-width: 560px) { body:not(.wl) .rd-est-visual, body:not(.wl) .rd-est-photo { height: 155px; } body:not(.wl) .rd-est-treatment-visual { padding: 10px; } body:not(.wl) .rd-est-treatment-visual img { height: 95px; } }
body:not(.wl) .rd-est-sec { background: linear-gradient(180deg, rgba(248,250,252,.82), rgba(255,255,255,.96)); }
body:not(.wl) .rd-est {
  padding: 0;
  overflow: hidden;
  border: 1px solid rgba(20,94,122,.14);
  border-radius: 24px;
  background: linear-gradient(135deg, rgba(255,255,255,.92), rgba(248,250,252,.88));
  box-shadow: 0 22px 54px rgba(21,56,73,.11), inset 0 1px 0 rgba(255,255,255,.92);
}
body:not(.wl) .rd-est-top { margin: 0; padding: 1.35rem 1.5rem; border-bottom: 1px solid rgba(20,94,122,.12); background: linear-gradient(110deg, rgba(227,239,242,.64), rgba(255,255,255,.72)); }
body:not(.wl) .rd-est-title b { font-family: var(--medical-heading-font); font-size: 1.35rem; font-weight: 700; }
body:not(.wl) .rd-est-badge { border-color: rgba(239,123,69,.36); background: rgba(255,255,255,.66); color: #ba5528; }
body:not(.wl) .rd-est-body { display: grid; grid-template-columns: minmax(0,1.08fr) minmax(220px,.92fr); }
body:not(.wl) .rd-est-controls { padding: 1.35rem 1.5rem 1.5rem; }
body:not(.wl) .rd-est-lbl { color: #48606b; font-size: .72rem; }
body:not(.wl) .rd-est-select { margin-bottom: .7rem; border-color: rgba(20,94,122,.20); background: rgba(255,255,255,.8); box-shadow: inset 0 1px 0 rgba(255,255,255,.85); }
body:not(.wl) .rd-est-quick { display: flex; flex-wrap: wrap; gap: 7px; margin: 0 0 1.35rem; }
body:not(.wl) .rd-est-quick button { min-height: 32px; padding: 6px 10px; border: 1px solid rgba(20,94,122,.16); border-radius: 999px; background: rgba(255,255,255,.58); color: #48606b; font: 600 .76rem var(--medical-font); cursor: pointer; transition: background-color var(--medical-fast) ease, color var(--medical-fast) ease, border-color var(--medical-fast) ease, transform var(--medical-fast) var(--medical-ease); }
body:not(.wl) .rd-est-quick button[aria-pressed="true"] { background: #145e7a; border-color: #145e7a; color: #fff; box-shadow: 0 4px 10px rgba(20,94,122,.18); }
body:not(.wl) .rd-est-quick button:hover { border-color: #145e7a; color: #145e7a; transform: translateY(-1px); }
body:not(.wl) .rd-est-quick button[aria-pressed="true"]:hover { color: #fff; }
body:not(.wl) .rd-est-seg span { padding: .65rem .35rem; border-color: rgba(20,94,122,.16); background: rgba(255,255,255,.52); color: #48606b; }
body:not(.wl) .rd-est-seg input:checked + span { background: #e3eff2; border-color: #145e7a; color: #145e7a; box-shadow: inset 0 1px 0 rgba(255,255,255,.7); }
body:not(.wl) .rd-est-step button { border-color: rgba(20,94,122,.16); background: rgba(255,255,255,.72); color: #145e7a; transition: transform var(--medical-fast) var(--medical-ease), background-color var(--medical-fast) ease; }
body:not(.wl) .rd-est-step button:hover:not(:disabled) { background: #e3eff2; transform: translateY(-1px); }
body:not(.wl) .rd-est-step output { background: #f8fafc; color: #153849; }
body:not(.wl) .rd-est-range {
  --lotus-progress: 0%; --lotus-direction: to right;
  appearance: none; -webkit-appearance: none;
  height: 44px; margin-top: 0; padding: 0; border: 0; border-radius: 999px;
  background: radial-gradient(circle at 16px 50%, #145e7a 0 5px, transparent 5.5px) center / 100% 100% no-repeat, radial-gradient(circle at calc(100% - 16px) 50%, #dce7ec 0 5px, transparent 5.5px) center / 100% 100% no-repeat, linear-gradient(var(--lotus-direction), #145e7a 0%, #145e7a var(--lotus-progress), #dce7ec var(--lotus-progress), #dce7ec 100%) center / calc(100% - 32px) 10px no-repeat;
  cursor: pointer;
}
[dir="rtl"] body:not(.wl) .rd-est-range { --lotus-direction: to left; }
body:not(.wl) .rd-est-range::-webkit-slider-runnable-track { height: 10px; background: transparent; border: 0; border-radius: 999px; }
body:not(.wl) .rd-est-range::-webkit-slider-thumb {
  appearance: none; -webkit-appearance: none; width: 32px; height: 32px; margin-top: -13px;
  border: 0; border-radius: 50%; background: #fff url('../images/brand/lotus.png') center / 30px 30px no-repeat;
  box-shadow: 0 2px 7px rgba(21,56,73,.24); transition: box-shadow .18s ease;
}
body:not(.wl) .rd-est-range::-moz-range-track { height: 10px; background: transparent; border: 0; border-radius: 999px; }
body:not(.wl) .rd-est-range::-moz-range-progress { background: transparent; }
body:not(.wl) .rd-est-range::-moz-range-thumb {
  width: 32px; height: 32px; border: 0; border-radius: 50%;
  background: #fff url('../images/brand/lotus.png') center / 30px 30px no-repeat;
  box-shadow: 0 2px 7px rgba(21,56,73,.24);
}
body:not(.wl) .rd-est-range:active::-webkit-slider-thumb { box-shadow: 0 0 0 5px rgba(20,94,122,.12), 0 2px 7px rgba(21,56,73,.24); }
@media (prefers-reduced-motion: reduce) { body:not(.wl) .rd-est-range::-webkit-slider-thumb { transition: none; } }
body:not(.wl) .rd-est-well { margin-bottom: 0; border-color: rgba(20,94,122,.16); background: linear-gradient(110deg, rgba(227,239,242,.62), rgba(255,255,255,.72)); }
body:not(.wl) .rd-est-well b { color: #153849; }
body:not(.wl) .rd-est-well small { color: #48606b; }
body:not(.wl) .rd-est-well input:checked ~ .rd-est-knob { background: #145e7a; }
body:not(.wl) .rd-est-out { display: flex; flex-direction: column; justify-content: center; min-height: 100%; padding: 1.5rem; border-radius: 0; background: linear-gradient(145deg, #153849, #145e7a); box-shadow: inset 1px 0 0 rgba(255,255,255,.14); }
body:not(.wl) .rd-est-total b { font-family: var(--medical-heading-font); font-size: clamp(2rem,4vw,2.65rem); letter-spacing: -.04em; }
body:not(.wl) .rd-est-lines { margin: 1.15rem 0; }
body:not(.wl) .rd-est-lines div { font-size: .83rem; }
body:not(.wl) .rd-est-cta .rd-btn { background: #fff; color: #145e7a; box-shadow: 0 7px 16px rgba(0,0,0,.14); }
body:not(.wl) .rd-est-cta .rd-btn:hover { background: #f8fafc; }
body:not(.wl) .rd-est-more { color: #e3eff2; }
body:not(.wl) .rd-est-note { margin: 0; padding: 1rem 1.5rem 1.2rem; border-top: 1px solid rgba(20,94,122,.10); background: rgba(255,255,255,.56); }
@media (max-width: 560px) {
  body:not(.wl) .rd-est-body { grid-template-columns: 1fr; }
  body:not(.wl) .rd-est-out { min-height: auto; }
  body:not(.wl) .rd-est-controls, body:not(.wl) .rd-est-top, body:not(.wl) .rd-est-out { padding: 1.2rem; }
  body:not(.wl) .rd-est-note { padding: .9rem 1.2rem 1.1rem; }
}
@media (prefers-reduced-motion: reduce) {
  body:not(.wl) .rd-est-quick button, body:not(.wl) .rd-est-step button { transition: none; }
}

/* A centred budget workspace with its introduction above the card. */
body:not(.wl) .rd-est-sec { padding-block: 36px; }
body:not(.wl) .rd-est-grid { grid-template-columns: minmax(0,1fr); gap: 22px; max-width: 1280px; }
body:not(.wl) .rd-est-grid > div:first-child:not(.rd-est) { text-align: center; max-width: 1000px; margin-inline: auto; }
body:not(.wl) .rd-est-grid .rd-h2 { margin-block: 4px 10px; }
body:not(.wl) .rd-est-grid .rd-lead { font-size: .95rem; line-height: 1.55; margin-block: 0; }
body:not(.wl) .rd-est-points { display: flex; flex-direction: row; flex-wrap: wrap; justify-content: center; gap: 8px 24px; margin-block: 12px 0; font-size: .8rem; }
body:not(.wl) .rd-est-grid > div:first-child > p:last-child { margin-top: 12px !important; }
body:not(.wl) .rd-est-grid > div:first-child .rd-btn-line { padding: 7px 16px; font-size: .85rem; }
body:not(.wl) .rd-est { width: 100%; margin-inline: auto; }
@media (min-width: 1000px) {
  body:not(.wl) .rd-est { display: grid; grid-template-columns: minmax(0,.72fr) minmax(0,1.25fr) minmax(0,1fr); }
  body:not(.wl) .rd-est-top, body:not(.wl) .rd-est-note { grid-column: 1 / -1; }
  body:not(.wl) .rd-est-top { padding: 12px 22px; }
  body:not(.wl) .rd-est-body { display: contents; }
  body:not(.wl) .rd-est-visual { height: auto; display: flex; flex-direction: column; border-bottom: 0; border-inline-end: 1px solid rgba(20,94,122,.12); }
  body:not(.wl) .rd-est-photo { height: 210px; flex-shrink: 0; }
  body:not(.wl) .rd-est-treatment-visual { flex: 1; padding: 16px; }
  body:not(.wl) .rd-est-treatment-visual img { height: 125px; max-width: 230px; }
  body:not(.wl) .rd-est-controls, body:not(.wl) .rd-est-out { padding: 18px 22px; }
  body:not(.wl) .rd-est-quick { margin-bottom: 16px; }
  body:not(.wl) .rd-est-seg { margin-bottom: 16px; }
  body:not(.wl) .rd-est-row { gap: 14px; margin-bottom: 16px; }
  body:not(.wl) .rd-est-well { padding: 12px; }
  body:not(.wl) .rd-est-well small { line-height: 1.5; }
  body:not(.wl) .rd-est-note { padding: 12px 22px; font-size: .76rem; }
}
@media (max-width: 700px) {
  body:not(.wl) .rd-est-sec { padding-block: 28px; }
  body:not(.wl) .rd-est-points { flex-direction: column; text-align: start; align-items: start; }
}

/* Two calm panels: plan settings and an indicative summary. */
body:not(.wl) .rd-est { display: block; max-width: 1120px; }
body:not(.wl) .rd-est-body { display: grid; grid-template-columns: minmax(0,1.2fr) minmax(0,1fr); }
body:not(.wl) .rd-est-controls, body:not(.wl) .rd-est-out { padding: 28px; }
body:not(.wl) .rd-est-out { justify-content: flex-start; }
body:not(.wl) .rd-est-panel-title { margin: 0 0 22px; font-size: 1.1rem; font-weight: 700; }
body:not(.wl) .rd-est-out .rd-est-panel-title { color: #fff; }
body:not(.wl) .rd-est-procedure-group { display: grid; grid-template-columns: minmax(0,1fr) 94px; gap: 16px; align-items: center; padding-bottom: 22px; margin-bottom: 22px; border-bottom: 1px solid rgba(20,94,122,.12); }
body:not(.wl) .rd-est-procedure-field { min-width: 0; }
body:not(.wl) .rd-est-procedure-field .rd-est-select { margin: 0; font-size: .88rem; padding-inline: 12px; }
body:not(.wl) .rd-est-treatment-thumb { border-radius: 14px; overflow: hidden; background: #edf5f7; }
body:not(.wl) .rd-est-treatment-thumb img { display: block; width: 94px; height: 86px; object-fit: cover; }
body:not(.wl) .rd-est-seg { margin-bottom: 22px; }
body:not(.wl) .rd-est-row { margin: 0; padding-top: 22px; border-top: 1px solid rgba(20,94,122,.12); gap: 22px; }
body:not(.wl) .rd-est-extras { margin-top: 22px; border-top: 1px solid rgba(20,94,122,.12); }
body:not(.wl) .rd-est-extras summary { padding: 16px 0 0; cursor: pointer; color: #48606b; font-size: .88rem; font-weight: 600; }
body:not(.wl) .rd-est-extras .rd-est-well { margin-top: 14px; }
body:not(.wl) .rd-est-total b { font-size: clamp(1.8rem,3vw,2.4rem); font-weight: 700; font-variant-numeric: lining-nums tabular-nums; }
body:not(.wl) .rd-est-lines { gap: 12px; padding-top: 20px; margin: 20px 0 24px; }
body:not(.wl) .rd-est-cta { align-items: flex-start; flex-direction: column; gap: 14px; }
body:not(.wl) .rd-est-cta .rd-btn { width: 100%; justify-content: center; text-align: center; }
body:not(.wl) .rd-est-more { font-size: .8rem; font-weight: 500; text-decoration: underline; text-underline-offset: 4px; }
body:not(.wl) .rd-est-share { margin-top: 18px; padding-top: 16px; gap: 12px; font-size: .76rem; }
body:not(.wl) .rd-est-share a { border: 0; padding: 4px 0; border-radius: 0; background: transparent; font-size: .8rem; }
body:not(.wl) .rd-est-note { font-size: .76rem; padding: 14px 28px; }
@media (max-width: 700px) {
  body:not(.wl) .rd-est-body { grid-template-columns: minmax(0,1fr); }
  body:not(.wl) .rd-est-controls, body:not(.wl) .rd-est-out { padding: 22px; }
  body:not(.wl) .rd-est-procedure-group { grid-template-columns: minmax(0,1fr) 70px; gap: 10px; }
  body:not(.wl) .rd-est-treatment-thumb img { width: 70px; height: 74px; }
  body:not(.wl) .rd-est-note { padding: 14px 22px; }
}


/* Source: assets/css/medical-pages.css */
/* The existing medical homepage palette is the shared visual reference. */
body:not(.wl) :is(#treatmentsContainer,#hospitalsContainer,#doctorsContainer)>[hidden] {display:none!important}
body:not(.wl) .medical-directory-pagination {position:static;display:flex;align-items:center;justify-content:center;gap:22px;padding:18px 0;background:none;box-shadow:none;border:0}
body:not(.wl) .medical-directory-pagination[hidden] {display:none}
body:not(.wl) .medical-directory-pagination button {font:inherit;font-size:13px;color:#235166;background:#fff;border:1px solid #ccdce2;border-radius:6px;padding:10px 18px;min-height:42px;cursor:pointer}
body:not(.wl) .medical-directory-pagination button:disabled {opacity:.4;cursor:default}
body:not(.wl) :is(#treatmentsContainer,#hospitalsContainer,#doctorsContainer)>* {scroll-margin-top:calc(var(--nav-h,95px) + 20px)}
/* Medical partner ribbon and lighter glass navigation, shared across screen sizes. */
body:not(.wl) .rd-logos { background: #f8fafc; border-block: 1px solid #dce7eb; padding: 12px 16px; }
body:not(.wl) .rd-logos-track { gap: 24px; }
body:not(.wl) .rd-logo-tile { width: 144px; height: 54px; padding: 4px 8px; background: transparent; border: 0; border-radius: 0; box-shadow: none; }
body:not(.wl) .rd-logo-tile img { max-width: 120px; max-height: 30px; object-fit: contain; }
body:not(.wl) .rd-logo-tile small { color: #526c79; font-weight: 500; font-size: 10px; letter-spacing: .02em; }
body:not(.wl) .rd-logos-toggle { width: 44px; height: 44px; inset-inline-end: 6px; border-color: #cbdde5; background: #f8fafc; color: #145e7a; }
body:not(.wl) .rd-logos-toggle:hover { background: #eaf2f5; }
body:not(.wl) .rd-logos-toggle:focus-visible { outline-color: #145e7a; }
body:not(.wl) .rd-logos.medical-ribbon-suspended .rd-logos-track { animation-play-state: paused; }
body:not(.wl) .rd-logos.medical-ribbon-browse .rd-logos-track { animation: none !important; }
body:not(.wl) .rd-logos.medical-ribbon-browse .rd-logos-viewport { overflow-x: auto; }
body:not(.wl) .rd-logos.medical-ribbon-browse .rd-logo-tile[aria-hidden=true] { display: none; }
body:not(.wl) #navbar.nav-reference,
body:not(.wl) #navbar.nav-reference.scrolled {
 background: linear-gradient(112deg,rgba(255,255,255,.46),rgba(240,247,250,.28) 46%,rgba(255,255,255,.4));
 border-bottom: 1px solid rgba(255,255,255,.72);
 box-shadow: inset 0 1px 0 rgba(255,255,255,.88),0 8px 24px rgba(21,56,73,.08);
 backdrop-filter: blur(14px) saturate(135%); -webkit-backdrop-filter: blur(14px) saturate(135%);
}
body:not(.wl) #navbar.nav-reference::before { background: linear-gradient(108deg,rgba(255,255,255,.24),transparent 40%,rgba(255,255,255,.1)); }
@media(max-width:1200px) {
 body:not(.wl) #navbar.nav-reference,body:not(.wl) #navbar.nav-reference.scrolled { backdrop-filter: blur(8px) saturate(120%); -webkit-backdrop-filter: blur(8px) saturate(120%); }
 body:not(.wl) #navbar.nav-reference .nav-utility { backdrop-filter: none; -webkit-backdrop-filter: none; }
}
@media(max-width:768px) {
 body:not(.wl) .rd-logos { padding-block: 10px; padding-inline-start: 12px; }
 body:not(.wl) .rd-logos-viewport { overflow-x: auto; overscroll-behavior-x: contain; scrollbar-width: none; touch-action: pan-x pan-y; }
 body:not(.wl) .rd-logos-viewport::-webkit-scrollbar { display: none; }
 body:not(.wl) .rd-logos-track { gap: 20px; }
 body:not(.wl) .rd-logo-tile { width: 104px; height: 48px; padding-inline: 4px; }
 body:not(.wl) .rd-logo-tile img { max-width: 100px; max-height: 27px; }
}
@media(prefers-reduced-motion:reduce) {
 body:not(.wl) .rd-logos { padding-inline-end: 16px; }
 body:not(.wl) .rd-logos .rd-logos-track { animation: none !important; }
 body:not(.wl) .rd-logos .rd-logo-tile[aria-hidden=true] { display: none; }
}
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))) {
 body:not(.wl) #navbar.nav-reference,body:not(.wl) #navbar.nav-reference.scrolled { background: rgba(248,250,252,.96); }
}
/* Approved compact mobile scale: preserve readable inputs and touch targets. */
@media(max-width:768px) {
 body:not(.wl).medical-refined #main h1 { font-size: clamp(26px,7vw,28px) !important; line-height: 1.25; }
 body:not(.wl).medical-refined #main h2 { font-size: clamp(21px,5.8vw,23px) !important; line-height: 1.3; }
 body:not(.wl).medical-refined #main h3,
 body:not(.wl).medical-refined #main .rd-doc-name b { font-size: 18px !important; line-height: 1.4; }
 body:not(.wl).medical-refined #main :is(p,.rd-lead,.rd-hero-sub) { font-size: 15px !important; line-height: 1.6; }
 body:not(.wl).medical-refined #main :is(.rd-hcard,.rd-doc,.rd-card,.rd-step,.medical-stage,.medical-topic-card,.detail-card,.info-panel,.medical-blog-card) p { font-size: 14px !important; line-height: 1.55; }
 body:not(.wl).medical-refined #main :is(.rd-step,.rd-card,.medical-stage,.detail-card,.info-panel,.medical-topic-card,.medical-journey-example,.rd-brand-card,.medical-quote-action) { padding: 16px !important; }
 body:not(.wl).medical-refined #main :is(.rd-hcard-body,.rd-doc-body,.rd-panel-body) { padding: 16px !important; }
 body:not(.wl).medical-refined #main :is(.rd-hcard,.rd-doc,.rd-card,.rd-step,.medical-stage,.medical-topic-card,.detail-card,.info-panel,.medical-blog-card) { min-height: 0; height: auto; }
 body:not(.wl).medical-refined #main :is(.rd-head,.section-heading) { margin-bottom: 20px; }
 body:not(.wl).medical-refined #main :is(.rd-brand-cards,.rd-timeline,.rd-docs,.medical-stage-grid,.medical-accommodation-options,.medical-task-links) { gap: 14px; }
 body:not(.wl).medical-refined #main .medical-task-links a { display: flex; flex-direction: column; justify-content: center; gap: 8px; padding: 14px 10px; font-size: 14px; text-align: center; min-width: 0; min-height: 0; }
 body:not(.wl).medical-refined #main .medical-task-links .medical-task-sticker { width: 48px; height: 48px; flex: 0 0 48px; }
 body:not(.wl).medical-refined #main .rd-hero-discovery .rd-hero-inner { padding-inline: 16px; }
 body:not(.wl).medical-refined #main .rd-hero-actions { gap: 10px; }
 body:not(.wl).medical-refined #main :is(.rd-btn,.rd-btn-line,.rd-btn-ghost,.rd-hcard-actions a) { min-height: 44px; font-size: 14px; padding-block: 11px; box-sizing: border-box; }
 body:not(.wl).medical-refined #main .rd-step { grid-template-columns: 56px minmax(0,1fr); column-gap: 12px; }
 body:not(.wl).medical-refined #main .rd-step .rd-step-dot.medical-paper-holder,
 body:not(.wl).medical-refined #main .rd-step .rd-step-dot .medical-care-paper { width: 56px !important; height: 56px !important; }
 body:not(.wl).medical-refined #main :is(.rd-card,.rd-brand-card,.medical-stage,.medical-topic-card) .medical-paper-holder,
 body:not(.wl).medical-refined #main :is(.rd-card,.rd-brand-card,.medical-stage,.medical-topic-card) .medical-care-paper { width: 56px !important; height: 56px !important; }
}
.medical-lite-flights { display: none; }
@media(max-width:768px) {
 body:not(.wl) #main .medical-lite-map .medical-lite-flights { display: block; position: absolute; inset: 0; pointer-events: none; }
 body:not(.wl) #main .medical-lite-map .medical-lite-plane { position: absolute; top: 0; left: 0; width: 28px; height: 28px; will-change: transform,opacity; }
 body:not(.wl) #main .medical-lite-map .medical-lite-plane svg { display: block; width: 28px; height: 28px; }
 body:not(.wl) #main .medical-lite-map .medical-original-flight,
 body:not(.wl) #main .medical-lite-map .rd-hero-flight { display: none; }
 body:not(.wl) #main .medical-lite-map .rd-hero-map :is(.route,.ring) { animation: none !important; }
 body:not(.wl) #main .medical-lite-map .rd-hero-lotus { animation: medical-lite-lotus 5s ease-in-out infinite; box-shadow: none; filter: none; }
 body:not(.wl) #main .medical-lite-map .rd-hero-map { filter: none; }
 body:not(.wl) #main .medical-map-paused .rd-hero-lotus { animation-play-state: paused; }
 @keyframes medical-lite-lotus { 0%,100% { transform: scale(1); } 50% { transform: scale(1.06); } }
}
@media(max-width:768px) and (prefers-reduced-motion:reduce) {
 body:not(.wl) #main .medical-lite-map .medical-lite-flights { display: none; }
 body:not(.wl) #main .medical-lite-map .rd-hero-lotus { animation: none; }
}
/* Approved phone-only refinement; desktop and Wellness retain their existing layout. */
@media (max-width: 768px) {
 body:not(.wl) #main .medical-hospital-carousel { display: flex; flex-direction: column; padding-inline: 0; }
 body:not(.wl) #main .medical-hospital-carousel .rd-rail-btns { position: static; inset: auto; order: -1; justify-content: flex-end; pointer-events: auto; margin-bottom: 8px; }
 body:not(.wl) #main .medical-hospital-carousel .rd-rail-btns button { position: static; inset: auto; transform: none; width: 44px; height: 44px; }
 body:not(.wl) #main .medical-hospital-carousel .rd-rail { align-items: flex-start; padding-bottom: 12px; }
 body:not(.wl) #main .medical-hospital-carousel :is(.rd-hcard,.rd-doc) { width: 100%; flex: 0 0 100%; height: auto; min-height: 0; box-sizing: border-box; }
 body:not(.wl) #main .medical-hospital-carousel .rd-hcard-body { padding: 16px 18px 18px; }
 body:not(.wl) #main .medical-hospital-carousel .rd-hcard-actions { flex-wrap: wrap; }
 body:not(.wl) #main .medical-hospital-carousel .rd-hcard-actions a { min-height: 44px; display: flex; align-items: center; justify-content: center; box-sizing: border-box; }
 body:not(.wl) #main .rd-brand-grid { grid-template-columns: minmax(0,1fr) 64px; gap: 12px; align-items: center; }
 body:not(.wl) #main .rd-brand-grid > .rd-brand-mark { grid-column: 2; grid-row: 1; width: 64px; height: 64px; opacity: 1; transform: none; }
 body:not(.wl) #main .rd-brand-mark::before { content: none; }
 body:not(.wl) #main .rd-brand-mark img { width: 64px; height: 64px; object-fit: contain; }
 body:not(.wl) #main .rd-brand-grid > .rd-brand-mark + div { display: contents; opacity: 1; transform: none; }
 body:not(.wl) #main .rd-brand-grid > .rd-brand-mark + div > :first-child { grid-column: 1; grid-row: 1; margin-bottom: 0 !important; line-height: 1.6; }
 body:not(.wl) #main .rd-brand-grid > .rd-brand-mark + div > :not(:first-child) { grid-column: 1 / -1; margin-top: 0; }
 body:not(.wl) #main .rd-contact-hero .rd-quick { display: grid; grid-template-columns: minmax(0,1fr); }
 body:not(.wl) #main .rd-contact-hero .rd-quick-card { width: 100%; min-width: 0; display: grid; grid-template-columns: 42px minmax(0,1fr); align-items: center; gap: 14px; padding: 14px 16px; box-sizing: border-box; }
 body:not(.wl) #main .rd-contact-hero .rd-quick-card > span { min-width: 0; }
 body:not(.wl) #main .rd-contact-hero .rd-quick-card small { display: block; font-size: .875rem; white-space: nowrap; }
 body:not(.wl).medical-refined #main > section:is(.rd-est-sec,.rd-contact-main):not(.rd-hero):not(.medical-compact-hero) { padding-top: 20px !important; }
 body:not(.wl)[data-medical-page="cost-estimator"] #main .medical-compact-hero,
 body:not(.wl)[data-medical-page="contact"] #main .rd-contact-hero { padding-bottom: 12px !important; }
 body:not(.wl) #main .rd-cform { padding: 22px 18px; }
 body:not(.wl) #main .rd-cform-head { gap: 12px; }
 body:not(.wl) #main .rd-cform-head > div { min-width: 0; flex: 1; }
 body:not(.wl) #main .rd-cform-head h2 { font-size: clamp(1.35rem,6vw,1.65rem); line-height: 1.35; }
 body:not(.wl) #main .rd-cform-head > img { width: 36px; height: 36px; flex-shrink: 0; object-fit: contain; }
 body:not(.wl) #main .rd-est-title b { font-size: 1.2rem; line-height: 1.35; }
 body:not(.wl) #main .medical-mobile-crumb { flex-wrap: wrap; align-items: flex-start !important; row-gap: 6px !important; }
 body:not(.wl) #main .medical-mobile-crumb > a { flex-shrink: 0; }
 body:not(.wl) #main .medical-mobile-crumb > span:last-child { line-height: 1.5; }
 body:not(.wl) #main .medical-mobile-crumb.medical-mobile-crumb-long > span:last-child { flex-basis: 100%; }
 body:not(.wl) #main :is(.detail-card-header,.rd-dd-head) { align-items: flex-start; gap: 12px; margin-bottom: 18px; }
 body:not(.wl) #main :is(.detail-card-header,.rd-dd-head) > :is(h2,h3) { font-size: clamp(1.25rem,5.8vw,1.6rem); line-height: 1.4; min-width: 0; flex: 1; }
 body:not(.wl) #main :is(.detail-card-header,.rd-dd-head) :is(.detail-card-icon,.medical-paper-holder) { width: 40px !important; height: 40px !important; flex: 0 0 40px; }
 body:not(.wl) #main :is(.detail-card-header,.rd-dd-head) .medical-care-paper { width: 40px; height: 40px; }
 body:not(.wl) #main :is(input:not([type=hidden]):not([type=checkbox]):not([type=radio]),select,textarea,.medical-select-trigger) { font-size: 16px !important; }
 body:not(.wl) #main :is(.rd-stepnav .back,.visa-share,.medical-query-toolbar .search-page-form button) { min-height: 44px; padding-block: 10px; }
 body:not(.wl) #main .medical-treatment-hero.medical-mobile-arranged > .section-inner { display: block; }
 body:not(.wl) #main .medical-treatment-hero.medical-mobile-arranged .medical-profile-paper { float: none; width: min(220px,100%); height: 220px; object-fit: contain; margin: 4px auto 12px; align-self: center; }
 body:not(.wl) #main .medical-treatment-hero.medical-mobile-arranged .medical-profile-cta { width: 100%; margin: 0 0 8px; text-align: center; box-sizing: border-box; }
}
/* Homepage specialty explorer: compact navigation and a clear next step. */
.medical-home #specialties.medical-specialty-redesign .rd-explorer { grid-template-columns: minmax(250px,.72fr) minmax(0,1.5fr); gap: 24px; }
.medical-specialty-search { display: grid; gap: 8px; margin-bottom: 14px; color: #153849; font-size: .82rem; font-weight: 600; }
.medical-specialty-search input { width: 100%; min-width: 0; min-height: 46px; padding: 10px 14px; border: 1px solid #cbdde5; border-radius: 12px; background: #fff; color: #153849; font: inherit; font-weight: 400; box-sizing: border-box; }
.medical-home #specialties.medical-specialty-redesign .rd-spec-list { max-height: 340px; overflow-y: auto; overscroll-behavior: contain; gap: 6px; padding: 2px 4px 6px 2px; scrollbar-width: thin; scrollbar-color: #a4bec8 transparent; }
.medical-home #specialties.medical-specialty-redesign .rd-spec { min-height: 44px; padding: 10px 12px; border-radius: 12px; box-shadow: none; font-size: .85rem; }
.medical-home #specialties.medical-specialty-redesign .medical-more-button { width: 100%; margin: 12px 0 0; min-height: 44px; border-radius: 12px; }
.medical-home #specialties.medical-specialty-redesign .medical-directory-link { display: none; }
.medical-specialty-empty { margin: 12px 0; color: #607b89; font-size: .85rem; }
.medical-home #specialties.medical-specialty-redesign .rd-panel-body { padding: 28px; }
.medical-specialty-overview { display: grid; grid-template-columns: minmax(0,1fr) 180px; gap: 20px; align-items: center; margin-bottom: 20px; }
.medical-home #specialties.medical-specialty-redesign .rd-panel-art { width: 180px; height: 180px; background: transparent; overflow: visible; border: 0; }
.medical-home #specialties.medical-specialty-redesign .rd-panel-art img { width: 100%; height: 100%; object-fit: contain; }
.medical-home #specialties.medical-specialty-redesign .rd-panel-body h3 { font-size: clamp(1.35rem,2vw,1.65rem); margin-bottom: 10px; }
.medical-home #specialties.medical-specialty-redesign .rd-panel-body p { margin-bottom: 0; line-height: 1.6; }
.medical-home #specialties.medical-specialty-redesign :is(.rd-procs,.medical-procedure-extra) { display: grid; grid-template-columns: minmax(0,1fr); gap: 0; }
.medical-home #specialties.medical-specialty-redesign .rd-proc { display: flex; justify-content: space-between; padding: 12px 0; min-height: 44px; border: 0; border-bottom: 1px solid #e1eaee; border-radius: 0; background: transparent; font-size: .9rem; font-weight: 500; }
.medical-home #specialties.medical-specialty-redesign .rd-proc::before { display: none; }
.medical-home #specialties.medical-specialty-redesign .rd-proc::after { content: '→'; flex-shrink: 0; margin-inline-start: 12px; color: #145e7a; }
[dir=rtl] .medical-home #specialties.medical-specialty-redesign .rd-proc::after { content: '←'; }
.medical-home #specialties.medical-specialty-redesign .medical-procedure-more { margin: 14px 0 0; }
.medical-home #specialties.medical-specialty-redesign .medical-procedure-more summary { padding: 12px 14px; font-size: .85rem; }
.medical-home #specialties.medical-specialty-redesign .rd-panel-actions { align-items: center; padding-top: 8px; gap: 12px; }
.medical-home #specialties.medical-specialty-redesign .rd-panel-actions a { min-height: 44px; text-align: center; justify-content: center; }
@media(max-width:1100px) {
  .medical-home #specialties.medical-specialty-redesign .rd-explorer { grid-template-columns: minmax(0,1fr); }
  .medical-home #specialties.medical-specialty-redesign .medical-specialty-search,.medical-home #specialties.medical-specialty-redesign .medical-more-button { display: none; }
}
@media(max-width:600px) {
  .medical-home #specialties.medical-specialty-redesign .rd-panel-body { padding: 20px; }
  .medical-specialty-overview { grid-template-columns: minmax(0,1fr); gap: 14px; }
  .medical-home #specialties.medical-specialty-redesign .rd-panel-art { justify-self: center; width: 160px; height: 160px; }
  .medical-home #specialties.medical-specialty-redesign .rd-panel-actions a { width: 100%; }
}
.medical-mobile-intro,.medical-mobile-explanation { display: none; }
body:not(.wl) #mobileStickyBar.medical-sticky-hidden { display: none !important; }
body:not(.wl) :where(section[id],h2[id],h3[id],.medical-quote-action) { scroll-margin-top: calc(var(--nav-h) + 16px); }
@media(max-width:1200px) {
  body:not(.wl) #navbar.nav-reference .nav-inner { padding-inline: 16px; gap: 8px; }
  body:not(.wl) #navbar.nav-reference .nav-links { position: absolute; top: 100%; max-height: calc(100dvh - var(--nav-h)); overflow-y: auto; overscroll-behavior: contain; background: rgba(21,56,73,.98); }
  body:not(.wl) #navbar.nav-reference .nav-primary a { color: #fff; }
  body:not(.wl) #navbar.nav-reference .nav-support .nav-cta { color: #153849 !important; background: #f8fafc !important; }
  body:not(.wl) #navbar.nav-reference .nav-primary .medical-nav-current,body:not(.wl) #navbar.nav-reference .medical-nav-current-group > summary { color: #fff !important; box-shadow: inset 0 -2px 0 #b8dae5; }
  body:not(.wl) #navbar.nav-reference .nav-logo { width: auto; min-width: 0; gap: 6px; }
  body:not(.wl) #navbar.nav-reference .nav-brand-name { display: inline; font-size: clamp(14px,3.5vw,19px); letter-spacing: -.045em; }
  body:not(.wl) #navbar.nav-reference .nav-brand-mark { width: 38px; height: 40px; flex-basis: 38px; }
  body:not(.wl) #navbar.nav-reference .nav-brand-mark img { width: 108px; }
  body:not(.wl) #navbar.nav-reference .nav-actions { gap: 4px; }
  body:not(.wl) #navbar.nav-reference .nav-search-link { width: 40px; min-height: 44px; }
  body:not(.wl) #navbar.nav-reference .mobile-menu-btn { width: 40px; min-height: 44px; padding: 6px; flex-shrink: 0; }
  body:not(.wl) #navbar.nav-reference .lang-switch > summary { min-height: 44px; font-size: 11px; padding-inline: 5px; }
  .medical-refined .rd-hero-discovery { display: block; isolation: isolate; }
  .medical-refined .rd-hero-discovery .rd-hero-map { position: absolute; inset: var(--nav-h) 0 0 !important; width: 100%; height: auto; padding: 0; opacity: .65; mask-image: none; -webkit-mask-image: none; pointer-events: none; z-index: 0; overflow: hidden; }
  .medical-refined .rd-hero-discovery .rd-hero-map > div { position: absolute !important; left: calc(76% - 600px); top: 20px; transform: scale(.65); transform-origin: left top; }
  .medical-refined .rd-hero-discovery .rd-hero-map::after { display: none; }
  .medical-refined .rd-hero-discovery .rd-hero-fade { display: block; z-index: 1; background: linear-gradient(90deg,rgba(248,250,252,.88),rgba(248,250,252,.56) 65%,rgba(248,250,252,.3)),linear-gradient(0deg,#f8fafc 0%,transparent 55%); }
  .medical-refined .rd-hero-discovery .rd-hero-flight { display: block; pointer-events: none; z-index: 1; opacity: .2; overflow: hidden; }
  .medical-refined .rd-hero-discovery .rd-hero-flight .rd-plane { right: 24%; top: calc(var(--nav-h) + 222px); animation: rd-landing 24s linear infinite; filter: none; }
  .medical-refined .rd-hero-discovery .rd-hero-map .route { animation: rd-dash 4s linear infinite; }
  .medical-refined .rd-hero-discovery .rd-hero-map text { opacity: .28; }
  .medical-refined .rd-hero-discovery .rd-hero-flight path { fill: #145e7a; }
  .medical-refined .rd-hero-discovery .rd-hero-inner { position: relative; z-index: 2; padding: 28px 20px 24px; }
  .medical-refined .rd-hero-discovery .rd-hero-legend { display: none; }
  .medical-refined .rd-hero-discovery .rd-hero-cards { position: relative; z-index: 2; margin-top: 0; padding: 0 20px 24px; box-sizing: border-box; }
}
@media(max-width:768px) {
  body:not(.wl) #navbar.nav-reference .nav-inner { width: 100%; max-width: none; margin-inline: 0; padding-inline: 12px; gap: 6px; }
  .medical-refined #main :is(.treatment-cards-grid,.hospitals-grid,.doctors-grid) { grid-template-columns: repeat(auto-fill,minmax(min(100%,280px),1fr)) !important; }
  .medical-desktop-intro { display: none; }
  .medical-mobile-intro,.medical-mobile-explanation { display: block; }
  .medical-refined .rd-hero-discovery h1 { font-size: clamp(1.7rem,6.9vw,2.5rem); line-height: 1.22; }
  .medical-refined .rd-hero-discovery .rd-hero-sub { font-size: .93rem; line-height: 1.6; margin-bottom: 20px; }
  .medical-refined .rd-hero-discovery .rd-hero-stats { gap: 12px; margin-top: 22px; padding-top: 18px; }
  .medical-refined .rd-hero-discovery .rd-hero-stats span { font-size: .7rem; overflow-wrap: anywhere; }
  body:not(.wl) #mobileStickyBar { padding: 10px 14px calc(10px + env(safe-area-inset-bottom)); gap: 10px; }
  body:not(.wl) #mobileStickyBar .sticky-btn { min-height: 44px; padding: 10px 8px; font-size: .82rem; }
  body:not(.wl).medical-sticky-visible { padding-bottom: var(--medical-bar-space,calc(70px + env(safe-area-inset-bottom))); }
  body:not(.wl) footer { padding-bottom: 24px; }
  .medical-refined #main :is(.rd-wrap,.section-inner) { min-width: 0; }
  .medical-refined #main :is(input,select,textarea) { max-width: 100%; font-size: 16px; box-sizing: border-box; }
  .medical-refined #main :is(.rd-btn,.rd-btn-line,.btn-primary,.btn-secondary) { white-space: normal; text-align: center; min-height: 44px; }
  .medical-refined :is(.medical-more,.rd-qa) > summary { min-height: 44px; box-sizing: border-box; overflow-wrap: anywhere; }
}
@media(max-width:360px) {
  body:not(.wl) #navbar.nav-reference .nav-logo { gap: 4px; }
  body:not(.wl) #navbar.nav-reference .nav-brand-name { font-size: 13px; }
  body:not(.wl) #navbar.nav-reference .nav-brand-mark { width: 32px; height: 36px; flex-basis: 32px; }
  body:not(.wl) #navbar.nav-reference .nav-brand-mark img { width: 92px; }
  body:not(.wl) #navbar.nav-reference .lang-switch > summary { font-size: 10px; padding-inline: 3px; }
}
@media(max-width:600px) {
  .medical-refined .medical-compact-hero .search-page-form { display: grid; grid-template-columns: 20px minmax(0,1fr); gap: 8px; }
  .medical-refined .medical-compact-hero .search-page-form input { width: 100%; min-width: 0; min-height: 44px; }
  .medical-refined .medical-compact-hero .search-page-form button { grid-column: 1 / -1; width: 100%; }
}
@media(prefers-reduced-motion:reduce) { .medical-refined .rd-hero-map *,.medical-refined .rd-hero-flight * { animation: none !important; transition: none !important; } }
body:not(.wl) #navbar.nav-reference :is(.nav-mode,.medical-visible-mode) .rd-switch { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); width: 172px; min-height: 40px; padding: 3px; border: 1px solid #bad1dc; border-radius: 13px; background: rgba(248,250,252,.92); box-shadow: inset 0 1px 0 #fff,0 3px 10px rgba(21,56,73,.08); box-sizing: border-box; }
body:not(.wl) #navbar.nav-reference :is(.nav-mode,.medical-visible-mode) .rd-switch span { display: flex; align-items: center; justify-content: center; gap: 5px; min-height: 32px; padding: 5px 6px; border-radius: 9px; color: #48606b; font-size: .75rem; font-weight: 600; white-space: nowrap; box-sizing: border-box; }
body:not(.wl) #navbar.nav-reference :is(.nav-mode,.medical-visible-mode) .rd-switch span.is-on { background: #145e7a; color: #fff; box-shadow: 0 2px 5px rgba(20,94,122,.2); font-weight: 700; }
@media(max-width:1200px) {
  body:not(.wl) #navbar.nav-reference .nav-inner { height: 66px; padding-top: 0; padding-bottom: 0; box-sizing: border-box; }
}
body:not(.wl) #navbar.nav-reference .nav-utility { display: block !important; }
body:not(.wl) #navbar.nav-reference .nav-utility-inner { display: flex; align-items: center; justify-content: space-between; gap: 16px; min-height: 46px; }
body:not(.wl) #navbar.nav-reference .medical-visible-mode { position: static; flex-shrink: 0; }
body:not(.wl) #navbar.nav-reference .medical-visible-mode .rd-switch { min-height: 36px; width: 172px; }
body:not(.wl) #navbar.nav-reference .medical-visible-mode .rd-switch span { min-height: 28px; }
@media(max-width:900px) { body:not(.wl) #navbar.nav-reference .nav-utility-inner > p { display: none; } body:not(.wl) #navbar.nav-reference .nav-utility-contact { display: none; } }
body:not(.wl) #navbar .nav-primary a.medical-nav-current,body:not(.wl) #navbar .medical-nav-current-group > summary { color: #145e7a !important; background: transparent !important; box-shadow: inset 0 -2px 0 #145e7a; border-radius: 0; font-weight: 700; }
body:not(.wl) #navbar .nav-guide-menu a.medical-nav-current { box-shadow: inset 3px 0 0 #145e7a; }
body:not(.wl) #navbar .medical-nav-whatsapp { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 42px; padding: 10px 14px; border: 1px solid #bfd9d2; border-radius: 13px; background: rgba(232,246,240,.8); color: #14634d; font-size: .8rem; font-weight: 700; white-space: nowrap; text-decoration: none; box-shadow: inset 0 1px 0 rgba(255,255,255,.8); transition: background .2s ease,box-shadow .2s ease; box-sizing: border-box; flex-shrink: 0; }
body:not(.wl) #navbar .medical-nav-whatsapp:hover { background: #d8eee5; box-shadow: 0 4px 12px rgba(20,99,77,.12); }
body:not(.wl) #navbar .medical-nav-whatsapp .icon { width: 18px; height: 18px; }
@media(max-width:1450px) { body:not(.wl) #navbar .medical-nav-whatsapp { width: 42px; padding: 10px; } body:not(.wl) #navbar .medical-nav-whatsapp span { display: none; } }
@media(max-width:1200px) { body:not(.wl) #navbar .nav-actions .medical-nav-whatsapp { display: none; } }
@media(prefers-reduced-motion:reduce) { body:not(.wl) #navbar .medical-nav-whatsapp { transition: none; } }
.medical-refined .medical-paper-scene { width: 100%; height: auto !important; aspect-ratio: 3 / 1; background: #f8fafc; border: 1px solid #d5e2e7; border-radius: 18px; overflow: hidden; box-shadow: none !important; }
.medical-refined img.medical-wide-paper { display: block; position: static !important; width: 100% !important; height: 100% !important; object-fit: contain !important; padding: 0 !important; opacity: 1 !important; background: #f8fafc; }
.medical-refined .medical-more > img.medical-wide-paper { height: auto !important; width: calc(100% - 36px) !important; margin: 0 18px 18px; border-radius: 14px; }
@media(max-width:600px) { .medical-refined .medical-paper-scene { min-height: 140px; } }
.medical-aligned-guide #main > section { padding-inline: 0 !important; }
.medical-aligned-guide #main > section > :is(.rd-wrap,.section-inner) { width: 100%; max-width: 1100px !important; margin-inline: auto !important; padding-inline: 24px !important; box-sizing: border-box; text-align: start; }
.medical-aligned-guide #main .rd-est-points { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px 24px; justify-content: start; text-align: start; margin: 18px 0 24px; }
.medical-aligned-guide #main .rd-est-points li { justify-content: flex-start; }
.medical-aligned-guide #main :is(.rd-lead,.hero-sub) { margin-inline: 0 !important; }
.medical-aligned-guide #main .rd-facts { justify-content: flex-start; text-align: start; }
.medical-aligned-guide #main .rd-fact { text-align: start; }
.medical-aligned-guide #main .medical-more-body > :is(.rd-wrap,.section-inner) { padding-inline: 0 !important; margin-inline: 0 !important; }
@media(max-width:700px) { .medical-aligned-guide #main > section > :is(.rd-wrap,.section-inner) { padding-inline: 20px !important; } .medical-aligned-guide #main .rd-est-points { grid-template-columns: minmax(0,1fr); } }
.medical-refined .medical-care-paper { width: 96px; height: 96px; object-fit: contain; display: block; flex-shrink: 0; transition: transform .3s ease; }
.medical-refined .medical-paper-holder { width: 96px !important; height: 96px !important; padding: 0 !important; background: transparent !important; border: 0 !important; box-shadow: none !important; border-radius: 0 !important; }
.medical-refined #main .medical-paper-holder { background: transparent !important; border: 0 !important; border-radius: 0 !important; box-shadow: none !important; }
.medical-refined #main .rd-step-dot.medical-paper-holder { width: 136px !important; height: 136px !important; }
.medical-refined #main .rd-step-dot .medical-care-paper { width: 136px; height: 136px; }
/* Give paper artwork its own grid track instead of the former 48px icon track. */
@media (max-width: 700px) {
  .medical-home #main .rd-step {
    grid-template-columns: 88px minmax(0, 1fr);
    gap: 8px 16px;
    align-items: start;
  }
  .medical-home #main .rd-step-dot.medical-paper-holder,
  .medical-home #main .rd-step-dot .medical-care-paper {
    width: 88px !important;
    height: 104px !important;
    max-width: 100%;
    object-fit: contain;
  }
  .medical-home #main .rd-step :is(.rd-step-n, h3, p) { min-width: 0; }
  .medical-home #main .rd-step h3 { overflow-wrap: anywhere; }
  /* Older guides contain inline two-column grids; stack those on narrow screens. */
  .medical-refined #main [style*="grid-template-columns: 1fr 1fr"] {
    grid-template-columns: minmax(0, 1fr) !important;
  }
  .medical-refined #main :is(.rd-split, .rd-dodont, .rd-contact-layout) {
    grid-template-columns: minmax(0, 1fr);
  }
  .medical-refined #main :is(.rd-split, .rd-dodont, .rd-contact-layout) > *,
  .medical-refined #main :is(.rd-dd-head, .rd-callout) > *,
  .medical-refined #main :is(form, .form-group) { min-width: 0; }
  .medical-refined #main :is(h1, h2, h3, h4, p, label) { overflow-wrap: anywhere; }
  .medical-refined #main .rd-dd-head { flex-wrap: wrap; }
  .medical-refined #main .rd-dd-head h2 { flex: 1 1 150px; }
}
.medical-refined :is(.rd-card,.medical-stage):hover .medical-care-paper { transform: translateY(-3px) rotate(-2deg); }
.medical-refined .rd-glass .medical-paper-holder,.medical-refined .rd-float .medical-paper-holder { width: 48px !important; height: 48px !important; }
.medical-refined :is(.rd-glass,.rd-float) .medical-care-paper { width: 48px; height: 48px; }
@media(prefers-reduced-motion:reduce) { .medical-refined .medical-care-paper { transition: none; transform: none !important; } }
body:not(.wl) .rd-search { background: rgba(21,56,73,.32); backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px); padding-top: max(24px, 8vh); }
body:not(.wl) .rd-search-box { width: min(760px,100%); max-height: min(720px,84dvh); background: #f8fafc; border: 1px solid rgba(255,255,255,.85); border-radius: 24px; box-shadow: 0 24px 80px rgba(21,56,73,.25), inset 0 1px 0 #fff; font-family: Montserrat,sans-serif; }
body:not(.wl) .rd-search-in { gap: 14px; padding: 20px; background: rgba(255,255,255,.85); border-color: #d5e2e7; }
body:not(.wl) .rd-search-in .icon { width: 22px; height: 22px; color: #145e7a; }
body:not(.wl) .rd-search-in input { min-height: 42px; font: 500 1rem Montserrat,sans-serif; color: #153849; border-radius: 10px; padding: 6px 8px; }
body:not(.wl) .rd-search-in input::placeholder { color: #607b89; opacity: 1; }
body:not(.wl) .rd-search-in input:focus-visible { outline: 2px solid rgba(20,94,122,.35); outline-offset: 2px; }
body:not(.wl) .rd-search-in kbd { font-family: Montserrat,sans-serif; padding: 7px 9px; border-radius: 8px; color: #48606b; background: #f8fafc; }
body:not(.wl) .rd-search-scopes { flex-wrap: nowrap; gap: 6px; padding: 8px 14px; overflow-x: auto; overflow-y: hidden; border-color: #d5e2e7; }
body:not(.wl) .rd-search-scopes button { min-height: 36px; padding: 7px 12px; font-family: Montserrat,sans-serif; color: #153849; border-color: #cbdde5; }
body:not(.wl) .rd-search-scopes button[aria-pressed="true"] { background: #145e7a; border-color: #145e7a; color: #fff; }
body:not(.wl) .rd-search-scopes .n { background: #eaf2f5; color: #48606b; }
body:not(.wl) .rd-search-scopes button[aria-pressed="true"] .n { background: rgba(255,255,255,.18); color: #fff; }
body:not(.wl) .rd-search-results { padding: 8px 14px 16px; scrollbar-width: thin; scrollbar-color: #a8c2ce transparent; }
body:not(.wl) .rd-search-group { color: #48606b; padding: 16px 10px 8px; }
body:not(.wl) .rd-search-hit { gap: 14px; padding: 12px 10px; border-radius: 14px; transition: background .18s ease,border-color .18s ease; }
body:not(.wl) .rd-search-hit:hover,body:not(.wl) .rd-search-hit.is-active { background: #eaf2f5; border-color: #cbdde5; }
body:not(.wl) .rd-search-hit .g { width: 40px; height: 40px; border-radius: 12px; background: #e4eff3 !important; color: #145e7a !important; }
body:not(.wl) .rd-search-hit .g .icon { width: 20px; height: 20px; }
body:not(.wl) .rd-search-hit b { color: #153849; font-weight: 700; }
body:not(.wl) .rd-search-hit small { display: block; color: #607b89; margin-top: 4px; }
body:not(.wl) .rd-search-foot { padding: 12px 20px; background: #fff; color: #607b89; border-color: #d5e2e7; }
@media(max-width:600px) { body:not(.wl) .rd-search-in { padding: 14px; gap: 8px; } body:not(.wl) .rd-search-in input { font-size: .85rem; } body:not(.wl) .rd-search-scopes { padding: 8px 14px; gap: 6px; } body:not(.wl) .rd-search-scopes button { font-size: .7rem; } }
@media(prefers-reduced-motion:reduce) { body:not(.wl) .rd-search-box { animation: none; } body:not(.wl) .rd-search-hit { transition: none; } }
body.medical-refined { background: #fff; }
.medical-refined #main [hidden] { display: none !important; }
.medical-refined #main :is(h1,h2,h3,h4) { font-family: inherit !important; font-weight: 700; }
.medical-refined .medical-compact-hero { background: #f8fafc !important; color: #153849 !important; padding: calc(var(--nav-h,94px) + 26px) 0 26px !important; text-align: start !important; }
.medical-compact-hero > :is(.rd-wrap,.section-inner) { text-align: start !important; }
.medical-compact-hero :is(h1,.hero-title) { color: #153849 !important; font-size: clamp(1.75rem,3vw,2.6rem) !important; line-height: 1.25; margin-bottom: 12px !important; }
.medical-compact-hero :is(h1 strong,.hero-title strong) { color: #145e7a !important; }
.medical-compact-hero :is(h1 strong,.hero-title strong) { font-style: normal; }
.medical-compact-hero .medical-hero-facts { display: flex; flex-wrap: wrap; gap: 12px 24px; margin-top: 18px; }
.medical-hero-facts .rd-fact { padding: 0; border: 0; box-shadow: none; background: transparent; min-width: 0; }
.medical-hero-facts .rd-fact :is(small,b) { color: #48606b; font-size: .8rem; }
.medical-compact-hero :is(p,.hero-sub) { color: #48606b !important; margin-inline: 0 !important; max-width: 780px; font-size: 1rem !important; line-height: 1.65; }
.medical-compact-hero .water { display: none; }
.medical-compact-hero .price-band { background: #fff; color: #153849; max-width: 760px; }
.medical-compact-hero .price-band * { color: #153849 !important; }
.medical-compact-hero :is(.hospital-hero-wrap,.doctor-hero-wrap) [style*="color"] { color: #48606b !important; }
.medical-compact-hero a:not([class*="btn"]) { color: #145e7a !important; }
.medical-compact-hero :is(span,svg)[style*="color"] { color: #145e7a !important; }
.medical-refined #main > section:not(.rd-hero):not(.medical-compact-hero):not(.rd-hospital-strip):not(.hospital-logo-strip) { padding-block: 32px !important; }
.medical-refined .medical-more { border: 1px solid #d5e2e7; border-radius: 14px; background: #f8fafc; margin-block: 12px; min-width: 0; }
.medical-more > summary { color: #153849; font-weight: 600; cursor: pointer; padding: 15px 18px; line-height: 1.5; }
.medical-more-body { padding: 0 18px 18px; }
.medical-more-body { text-align: start; }
.medical-refined .medical-more-body .rd-est-points { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); justify-content: start; align-items: start; gap: 12px 24px; margin: 18px 0; padding: 0; }
.medical-more-body .rd-est-points li { justify-content: flex-start; text-align: start; }
.medical-more-body .rd-facts { justify-content: flex-start; text-align: start; gap: 16px 24px; }
.medical-more-body .rd-fact { text-align: start; }
.medical-more-body .rd-lead { margin-inline: 0; }
@media(max-width:700px) { .medical-refined .medical-more-body .rd-est-points { grid-template-columns: minmax(0,1fr); } }
.medical-refined #main > section.medical-support-section { padding-block: 10px !important; }
.medical-refined .medical-support-wrap { width: 100%; max-width: 1232px !important; padding-inline: 16px !important; margin-inline: auto !important; box-sizing: border-box; }
.medical-support-wrap > .medical-more { width: 100%; margin-block: 0; box-sizing: border-box; }
.medical-support-wrap > .medical-more + .medical-more { margin-top: 12px; }
.medical-more > summary { display: flex; align-items: center; gap: 12px; list-style: none; }
.medical-more > summary::-webkit-details-marker { display: none; }
.medical-more > summary::after { content: '+'; margin-inline-start: auto; color: #145e7a; font-size: 22px; font-weight: 500; }
.medical-more[open] > summary::after { content: '−'; }
.medical-support-section .medical-more > :is(.rd-wrap,.section-inner) { width: 100%; max-width: 100%; padding-inline: 18px; box-sizing: border-box; }
.medical-more-body > :is(section,div) { max-width: 100%; }
.medical-more :is(.rd-dd,.rd-next,.rd-safe,.rd-office) { box-shadow: none; border: 0; background: transparent; padding: 12px 0; }
.medical-visible { opacity: 1 !important; transform: none !important; animation: none !important; }
.medical-refined .medical-result-status { grid-column: 1 / -1; display: flex; justify-content: space-between; gap: 16px; color: #48606b; font-size: .8rem; }
.medical-text-button { border: 0; padding: 0; background: transparent; color: #145e7a; font: inherit; font-weight: 600; cursor: pointer; text-decoration: underline; text-underline-offset: 3px; }
.medical-empty-result { padding: 24px; border: 1px solid #d5e2e7; border-radius: 14px; background: #f8fafc; }
.medical-query-toolbar :is(input,select) { box-sizing: border-box; width: 100%; min-width: 0; }
.medical-query-toolbar select { min-height: 48px; border: 1px solid #cbdde5; border-radius: 12px; background: #fff; color: #153849; font: inherit; padding: 10px 12px; }
.medical-query-toolbar .search-input-wrap input { border: 0; background: transparent; padding: 0; font: inherit; outline-offset: 6px; }
.medical-refined .medical-query-toolbar .filter-bar { display: grid !important; grid-template-rows: 20px 48px; gap: 8px; }
.medical-refined .medical-query-toolbar .search-input-wrap { box-sizing: border-box !important; flex: none !important; height: 48px !important; min-height: 48px !important; max-height: 48px; }
.medical-refined .medical-query-toolbar .search-input-wrap input { box-sizing: border-box; height: 100%; min-height: 0; margin: 0 !important; padding: 0 !important; line-height: normal; }
.medical-refined :is(.treatment-card,.hospital-card,.doctor-card,.rail-card) { border-color: #d5e2e7; border-radius: 20px; box-shadow: 0 6px 20px rgba(21,56,73,.05); }
.medical-refined :is(.treatment-card,.hospital-card,.doctor-card) { display: flex; flex-direction: column; }
.medical-refined :is(.treatment-card,.hospital-card,.doctor-card) > :last-child { margin-top: auto; }
.medical-refined :is(.hospital-card-img,.doctor-avatar) img { object-position: center top; }
.medical-refined .doctor-avatar img { object-fit: contain; }
.medical-refined :is(.doctor-avatar-box,.hospital-avatar-box) { background: #fff; border: 1px solid #d5e2e7; border-radius: 20px; box-shadow: 0 5px 20px rgba(21,56,73,.06); }
.medical-refined .doctor-avatar-box img { object-fit: contain; object-position: center top; }
.medical-refined .medical-profile-content { display: block !important; max-width: 1000px; margin-inline: auto; }
.medical-quote-action { margin-block: 24px; padding: 20px; background: #f8fafc; border: 1px solid #d5e2e7; border-radius: 18px; scroll-margin-top: calc(var(--nav-h,94px) + 24px); }
.medical-profile-cta { margin-top: 20px; }
.medical-treatment-hero > .section-inner { display: grid; grid-template-columns: minmax(0,1.35fr) minmax(0,.9fr); align-items: center; gap: 40px; }
.medical-treatment-hero > .section-inner > .medical-profile-paper { grid-column: 2; grid-row: 1; float: none; width: 100%; height: auto; aspect-ratio: 1; max-width: 500px; margin: 0; justify-self: center; }
.medical-treatment-hero > .section-inner > div { grid-column: 1; grid-row: 1; max-width: none !important; min-width: 0; }
.medical-treatment-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 16px; margin-top: 18px; }
.medical-treatment-actions .medical-profile-cta { margin: 0; }
.medical-compact-hero .price-band .medical-treatment-actions .medical-profile-cta { color: #fff !important; }
@media(max-width:900px) {
  .medical-treatment-hero > .section-inner { grid-template-columns: minmax(0,1fr); gap: 20px; }
  .medical-treatment-hero > .section-inner > .medical-profile-paper { grid-column: 1; grid-row: 2; max-width: 300px; }
  .medical-treatment-hero > .section-inner > div { grid-row: 1; }
}
.medical-profile-paper { float: inline-end; width: clamp(280px, 30vw, 400px); height: clamp(280px, 30vw, 400px); object-fit: contain; margin-inline-start: 32px; }
.medical-country-name { display: flex; align-items: center; gap: 12px; }
.medical-country-flag { width: 32px; height: 24px; object-fit: cover; flex-shrink: 0; border-radius: 3px; box-shadow: 0 0 0 1px rgba(21,56,73,.12); }
.medical-guide-flags { display: flex; align-items: center; gap: 14px; margin: 20px 0 14px; }
.medical-guide-flags .medical-country-flag { width: 48px; height: 36px; border-radius: 4px; }
.medical-flag-route { color: #145e7a; font-size: 24px; }
.medical-compact-hero .visa-fact { background: #fff; border: 1px solid #cbdde5; color: #153849; }
.medical-compact-hero .visa-fact strong { color: #153849; }
.medical-compact-hero .visa-fact-label { color: #48606b; opacity: 1; }
.medical-refined :is(.detail-card,.rd-card,.rd-dd) { border-radius: 20px; border: 1px solid #d5e2e7; box-shadow: 0 5px 18px rgba(21,56,73,.04); }
.medical-refined .detail-card { padding: 24px; }
.medical-refined .medical-section-menu { position: static; margin: 16px auto 0; max-width: 1200px; border-radius: 14px; }
.medical-refined .rd-contact-main .rd-wrap { display: block !important; max-width: 860px; }
.medical-refined .rd-contact-aside { display: block; margin-top: 24px; }
.medical-refined .rd-contact-hero .rd-quick { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 20px; }
.medical-refined .rd-contact-hero .rd-quick-card { padding: 12px 18px; box-shadow: none; }
.medical-refined .rd-contact-hero .rd-quick-card small { font-size: .75rem; }
.medical-refined .rd-contact-hero .rd-quick-card :is(small,b) { color: #153849 !important; }
.medical-refined .rd-contact-hero .rd-quick-card { background: #fff; border: 1px solid #d5e2e7; border-radius: 14px; }
.medical-refined :is(.rd-dd,.rd-card,.rd-flow-card) .ic:not(.medical-paper-holder) { background: #145e7a !important; color: #fff !important; }
.medical-refined :is(.rd-dd,.rd-card,.rd-flow-card) .ic.medical-paper-holder { background: transparent !important; border: 0 !important; border-radius: 0 !important; box-shadow: none !important; }
.medical-refined .rd-flow-card { background: #f8fafc !important; border: 1px solid #d5e2e7 !important; color: #153849 !important; border-radius: 20px; }
.medical-refined .rd-flow-card :is(h3,p,.pill) { color: #153849 !important; }
.medical-refined .medical-stage-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 16px; list-style: none; padding: 0; margin-bottom: 24px; }
.medical-stage { background: #f8fafc; border: 1px solid #d5e2e7; border-radius: 20px; padding: 20px; }
.medical-stage > small { color: #145e7a; font-size: 1.7rem; }
.medical-stage h3 { font-size: 1rem; margin: 12px 0; }
.medical-stage p { font-size: .88rem; color: #48606b; line-height: 1.6; }
.medical-refined .rd-faq { display: block; max-width: 1040px; margin-inline: auto; }
.medical-refined .rd-faq-help { margin-top: 24px; }
.medical-refined .medical-guide-content { display: block !important; max-width: 1000px; margin-inline: auto; }
.medical-country-chooser { max-width: 600px; margin: 20px auto; }
.medical-refined .medical-country-header { text-align: start !important; margin-bottom: 16px; }
.medical-country-header h2 { font-size: 1.35rem; }
.medical-country-header p { margin-inline: 0 !important; font-size: .9rem; }
.medical-accommodation-options { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); list-style: none; padding: 0; gap: 16px; }
.medical-accommodation-options li { padding: 20px; border: 1px solid #d5e2e7; background: #f8fafc; border-radius: 18px; }
.medical-accommodation-options li strong { display: block; margin-bottom: 8px; }
.medical-guide-support { position: static !important; margin-top: 24px; }
.medical-guide-support > div { position: static !important; display: grid !important; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 16px !important; }
.medical-guide-support > div > div { padding: 20px !important; }
.medical-refined .medical-topic-card { border-top: 1px solid #d5e2e7 !important; padding: 24px !important; border-radius: 20px !important; }
.medical-card-excerpt { display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.medical-refined .medical-readable { max-width: 860px; margin-inline: auto; }
.medical-refined .medical-journey-example { padding: 24px !important; gap: 20px !important; }
.medical-refined .medical-journey-example h3 { font-size: 1.35rem !important; }
.medical-blog-card { display: flex; flex-direction: column; border: 1px solid #d5e2e7; border-radius: 20px; box-shadow: 0 5px 18px rgba(21,56,73,.05) !important; }
.medical-blog-card > :last-child { display: flex; flex-direction: column; flex: 1; }
.medical-blog-card > :last-child > a { margin-top: auto; align-self: flex-start; }
.medical-blog-card .medical-guide-paper { object-fit: contain !important; background: #f8fafc; padding: 16px; box-sizing: border-box; }
.medical-refined .medical-mission { grid-template-columns: minmax(0,1fr); }
.medical-refined .medical-boundary-list { display: block; }
.medical-boundary-list .rd-card { margin-bottom: 12px; }
.medical-refined :is(.rd-prose,.medical-policy) { max-width: 820px; line-height: 1.8; }
.medical-refined .rd-docgrid { grid-template-columns: 220px minmax(0,820px); gap: 32px; }
.medical-refined .rd-est-grid { display: flex !important; flex-direction: column; gap: 16px; }
.medical-refined .rd-est-grid > .medical-more { order: 2; width: 100%; }
.medical-refined .rd-est-grid > .rd-est { width: 100%; margin-inline: auto; }
.medical-refined .rd-est-treatment-thumb .medical-paper-thumb { object-fit: contain; padding: 5px; }
.medical-refined .medical-home-faq { max-width: 900px; margin-bottom: 20px; }
.medical-refined .search-page-form { max-width: 900px; margin-inline: 0; }
.medical-refined .medical-compact-hero .search-page-form { background: #fff; border: 1px solid #cbdde5; border-radius: 16px; padding: 8px 12px; }
.medical-refined .medical-compact-hero .search-page-form input { color: #153849 !important; }
.medical-refined .medical-compact-hero .search-page-form input::placeholder { color: #607b89 !important; opacity: 1; }
.medical-refined .medical-query-toolbar .search-page-form { margin: 0; border: 1px solid #cbdde5; display: flex; height: 48px; min-height: 48px; padding: 4px 6px 4px 12px; }
.medical-refined .medical-query-toolbar .search-page-form input { color: #153849 !important; flex: 1; }
.medical-refined .medical-query-toolbar .search-page-form button { min-height: 36px; padding: 6px 16px; font-size: .8rem; flex-shrink: 0; }
.medical-refined .rd-urgent { margin-top: 20px; }
.medical-refined :is(.medical-more > summary,.medical-text-button,.medical-stage,.rd-card,.detail-card) { transition: background-color 180ms ease, box-shadow 180ms ease; }
.medical-refined :is(a,button,summary,input,select):focus-visible { outline: 3px solid rgba(20,94,122,.5); outline-offset: 3px; }
@media (max-width: 900px) {
  .medical-refined .medical-stage-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .medical-refined .rd-docgrid { display: block; }
  .medical-refined .rd-toc { position: static; margin-bottom: 24px; }
}
@media (max-width: 700px) {
  .medical-refined .medical-compact-hero { padding-top: calc(var(--nav-h,70px) + 20px) !important; }
  .medical-refined .medical-stage-grid { grid-template-columns: minmax(0,1fr); }
  .medical-accommodation-options { grid-template-columns: minmax(0,1fr); }
  .medical-guide-support > div { grid-template-columns: minmax(0,1fr); }
  .medical-refined .detail-card { padding: 18px; }
  .medical-profile-paper { float: none; display: block; width: 220px; height: 220px; max-width: 100%; margin: 0 auto 16px; }
  .medical-refined #main [style*="minmax(320px"], .medical-refined #main [style*="minmax(300px"] { grid-template-columns: minmax(0,1fr) !important; }
  .medical-refined .rd-contact-hero .rd-quick-card { flex: 1 1 140px; }
  .medical-refined .medical-result-status { font-size: .78rem; }
}
@media (prefers-reduced-motion: reduce) {
  .medical-refined #main *, .medical-refined #main *::before, .medical-refined #main *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
}

/* Light mobile navigation in the Medical palette. */
@media(max-width:1200px) {
 body:not(.wl) #navbar.nav-reference .nav-links {
  background: linear-gradient(145deg,#fafcfc,#edf5f6); color: #153849;
  border-color: #cbdde5; box-shadow: 0 16px 32px rgba(21,56,73,.14);
  backdrop-filter: none; -webkit-backdrop-filter: none;
  padding-bottom: calc(24px + env(safe-area-inset-bottom));
 }
 body:not(.wl) #navbar.nav-reference .nav-primary a,
 body:not(.wl) #navbar.nav-reference .nav-support a:not(.rd-switch),
 body:not(.wl) #navbar.nav-reference .nav-support summary { color: #153849; border-bottom-color: #cbdde5; }
 body:not(.wl) #navbar.nav-reference .nav-primary .medical-nav-current,
 body:not(.wl) #navbar.nav-reference .medical-nav-current-group > summary {
  color: #153849 !important; box-shadow: inset 0 -2px 0 #145e7a;
 }
 body:not(.wl) #navbar.nav-reference .nav-primary a:is(:hover,:focus-visible) { background: #e3eff2; border-radius: 8px; }
 body:not(.wl) #navbar.nav-reference .nav-primary a:focus-visible { outline: 2px solid #145e7a; outline-offset: -2px; }
 body:not(.wl) #navbar.nav-reference .nav-support .nav-wa-btn {
  display: flex; background: #e5f3ec; border: 1px solid #bddbcb;
  color: #285638 !important; border-radius: 12px; min-height: 48px;
 }
 body:not(.wl) #navbar.nav-reference .nav-support .nav-cta {
  background: #145e7a !important; color: #fff !important; border-radius: 12px; min-height: 48px;
 }
}
@media(max-width:1200px) {
 body:not(.wl) #navbar.nav-reference .nav-primary .nav-guide > summary { color: #153849 !important; }
}

.rd-veil.is-arrive.to-medical { background: none; }

/* A tall filter panel must scroll with the mobile directory, not cover its cards. */
@media(max-width:768px) {
 body:not(.wl) .medical-treatment-toolbar { position: static; top: auto; z-index: auto; }
}

/* Direct disclosure paragraphs receive the same inset as wrapped disclosure bodies. */
.medical-refined .medical-more > p { margin: 0; padding: 0 18px 18px; }
.medical-refined .medical-more-body > p:last-child { margin-bottom: 0; }
.medical-refined .medical-more > summary::after { flex-shrink: 0; }
.medical-refined :is(.medical-more-body,.medical-stage,.detail-card,.rd-card) { min-width: 0; }
.medical-refined :is(.medical-more-body,.medical-stage,.detail-card,.rd-card) :is(p,h2,h3,a) { overflow-wrap: anywhere; }
body:not(.wl) .medical-treatment-specialty .medical-select-trigger { height: auto; min-height: 48px; }
.medical-refined .rd-brand-card :is(h3,p) { min-width: 0; overflow-wrap: anywhere; }
.medical-refined .rd-est-seg label { min-width: 0; }
.medical-refined .rd-est-seg span { display: flex; align-items: center; justify-content: center; height: 100%; min-height: 44px; box-sizing: border-box; overflow-wrap: anywhere; line-height: 1.4; }

/* Clear reassurance beside the first enquiry action. */
.medical-hero-trust { display: flex; flex-wrap: wrap; gap: 8px 16px; list-style: none; margin: 0 0 16px; padding: 0; color: #48606b; font-size: 12px; line-height: 1.5; }
.medical-hero-trust li { display: inline-flex; align-items: center; gap: 6px; min-width: 0; }
.medical-hero-trust .icon { width: 14px; height: 14px; color: #145e7a; flex-shrink: 0; }
.medical-hero-trust a { color: #145e7a; text-underline-offset: 3px; }
@media(max-width:768px) {
 body:not(.wl) #navbar.nav-reference .nav-utility-inner { min-height: 34px; }
 body:not(.wl) #navbar.nav-reference .medical-visible-mode .rd-switch { min-height: 30px; width: 164px; }
 body:not(.wl) #navbar.nav-reference .medical-visible-mode .rd-switch span { min-height: 26px; padding-block: 3px; font-size: 11px; }
 body:not(.wl) #navbar.nav-reference::before { inset-block-start: 34px; }
 .medical-refined .rd-hero-discovery .rd-hero-map { opacity: .48; }
 .medical-refined .rd-hero-discovery .rd-hero-fade { background: linear-gradient(90deg,rgba(248,250,252,.96),rgba(248,250,252,.82) 65%,rgba(248,250,252,.5)),linear-gradient(0deg,#f8fafc 0%,transparent 55%); }
 .medical-refined .rd-hero-discovery .rd-hero-map text { opacity: .16; }
 .medical-hero-trust { font-size: 11px; gap: 6px 12px; margin-bottom: 12px; }
}
.medical-google-reviews { display: flex; align-items: center; justify-content: space-between; gap: 24px; padding-block: 28px; border-bottom: 1px solid #d5e2e7; }
.medical-google-reviews h2 { font-size: 24px; margin: 4px 0 8px; }
.medical-google-reviews p { margin: 0; line-height: 1.6; color: #48606b; }
.medical-google-reviews .medical-google-source { color: #153849; font-weight: 700; font-size: 13px; }
.medical-google-reviews .rd-btn { flex-shrink: 0; font-size: 13px; text-align: center; white-space: normal; }
@media(max-width:768px) { .medical-google-reviews { flex-direction: column; align-items: stretch; gap: 14px; padding-block: 20px; } .medical-google-reviews h2 { font-size: 21px; } .medical-google-reviews p { font-size: 14px; } .medical-google-reviews .rd-btn { justify-content: center; } }
@media(max-width:768px) {
 body:not(.wl) #navbar.nav-reference :is(.nav-mode,.medical-visible-mode) .rd-switch { min-height: 30px; width: 164px; padding: 1px; }
 body:not(.wl) #navbar.nav-reference :is(.nav-mode,.medical-visible-mode) .rd-switch span { min-height: 26px; padding: 3px 6px; font-size: 11px; }
}
@media(max-width:768px) { body:not(.wl) #navbar.nav-reference :is(.nav-mode,.medical-visible-mode) .rd-switch { margin-block: 0; } }
/* Hospital coordination checklist: one readable, start-aligned item per row. */
body:not(.wl) #main .detail-card .hospital-coordination-list {
  display: flex; flex-direction: column; flex-wrap: nowrap;
  justify-content: flex-start; align-items: stretch; text-align: start; gap: 12px;
}
body:not(.wl) #main .detail-card .hospital-coordination-list > li {
  justify-content: flex-start; text-align: start;
}


/* Source: assets/css/mode-transition.css */
/* Both themes use the same departure animation and arrival colour. */
.rd-veil.to-medical {--switch-source:radial-gradient(ellipse at 70% 40%,#4a6b4f,#1f3a2e 75%);--switch-target:linear-gradient(135deg,#153849,#145e7a)}
.rd-veil.to-wellness {--switch-source:linear-gradient(135deg,#153849,#145e7a);--switch-target:radial-gradient(ellipse at 70% 40%,#4a6b4f,#1f3a2e 75%)}
.rd-veil.is-depart { animation: none; isolation: isolate; }
.rd-veil-reveal-bg {
 position: absolute; border-radius: 50%; z-index: -1; pointer-events: none;
 transform: translate(-50%,-50%) scale(0); will-change: transform;
 animation: rd-circle-expand 950ms cubic-bezier(.22,.61,.36,1) both;
}
.rd-veil.is-depart > div:not(.rd-veil-mandala) { animation: rd-rise 450ms cubic-bezier(.22,.61,.36,1) 250ms both; }
@keyframes rd-circle-expand { to { transform: translate(-50%,-50%) scale(1); } }
.rd-veil.to-medical,html.rd-arrive-medical body::before,.rd-veil.is-arrive.to-medical .rd-veil-bg { background: linear-gradient(135deg,#153849,#145e7a); }
.rd-veil.is-arrive.to-medical { background: none; }
.rd-veil-reveal-bg::after {content:'';position:absolute;inset:0;border-radius:inherit;background:var(--switch-target);opacity:0;animation:rd-theme-blend 760ms cubic-bezier(.22,.61,.36,1) 120ms both}
.rd-veil .rd-veil-mandala {opacity:.16;width:min(680px,115vw);height:min(680px,115vw)}
.rd-veil.to-medical .rd-veil-mandala {opacity:.12}
.rd-veil.is-depart>div.rd-veil-orbit,.rd-veil.is-arrive>div.rd-veil-orbit {position:absolute;left:50%;top:50%;width:min(390px,74vw);height:min(390px,74vw);transform:translate(-50%,-50%);opacity:1;pointer-events:none;animation:none;color:#f6eedc}
.rd-orbit-ring {position:absolute;inset:0;border:1px solid #f6eedc38;border-radius:50%;box-shadow:0 0 50px #f7f2e809}
.rd-orbit-ring.is-inner {inset:17%;border-style:dashed;border-color:#f6eedc26}
.rd-orbit-badge {position:absolute;display:grid;place-items:center;width:44px;height:44px;border:1px solid #f6eedc4d;border-radius:50%;background:#ffffff12;color:#fff7e5;box-shadow:0 8px 28px #102b2d18}
.rd-orbit-badge .icon {width:20px;height:20px;fill:currentColor}
.rd-orbit-badge.is-care {top:4%;left:11%}
.rd-orbit-badge.is-medical {bottom:4%;right:11%}
.rd-orbit-spark {position:absolute;width:6px;height:6px;border-radius:50%;background:#ead1a1;box-shadow:0 0 14px #ead1a173}
.rd-orbit-spark.is-one {left:83%;top:12%}.rd-orbit-spark.is-two {left:1%;top:59%;width:4px;height:4px}.rd-orbit-spark.is-three {left:35%;bottom:2%;width:4px;height:4px}
.rd-veil.is-depart .rd-orbit-ring {animation:rd-orbit-open 950ms cubic-bezier(.22,.61,.36,1) both}
.rd-veil.is-depart .rd-orbit-ring.is-inner {animation-delay:80ms}
.rd-veil.is-depart .rd-orbit-badge,.rd-veil.is-depart .rd-orbit-spark {animation:rd-orbit-detail 650ms ease-out 180ms both}
.rd-veil.is-depart .rd-veil-center {z-index:1}
@keyframes rd-theme-blend {from{opacity:0}to{opacity:1}}
@keyframes rd-orbit-open {from{opacity:0;transform:scale(.78) rotate(-18deg)}to{opacity:1;transform:scale(1) rotate(0)}}
@keyframes rd-orbit-detail {from{opacity:0;transform:translateY(10px) scale(.8)}to{opacity:1;transform:translateY(0) scale(1)}}
@media(max-width:600px){.rd-orbit-badge{width:34px;height:34px}.rd-orbit-badge .icon{width:16px;height:16px}.rd-veil .rd-veil-mark{width:108px;height:108px}.rd-veil .rd-veil-mark img{width:86px;height:86px}.rd-veil .rd-veil-title{font-size:clamp(1.8rem,7vw,2.5rem)}}
@media(prefers-reduced-motion:reduce) { .rd-veil-reveal-bg { animation: none; } }
@media(prefers-reduced-motion:reduce){.rd-veil-reveal-bg::after,.rd-veil .rd-orbit-ring,.rd-veil .rd-orbit-badge,.rd-veil .rd-orbit-spark{animation:none!important}.rd-veil-reveal-bg::after{opacity:1}}


/* Source: assets/css/interaction-motion.css */
/* Small interaction transitions shared by Medical and Wellness. */
:root { --ui-motion-time: 180ms; --ui-motion-ease: cubic-bezier(.22,.61,.36,1); }
@media(prefers-reduced-motion:no-preference) {
 :is(.rd-btn,.rd-btn-line,.rd-btn-ghost,.wl-btn,.wl-btn-soft,.wl-ghost,.nav-cta,.sticky-btn,.rd-chip,.medical-dropdown-option) {
  transition: background-color var(--ui-motion-time) ease,color var(--ui-motion-time) ease,border-color var(--ui-motion-time) ease,box-shadow var(--ui-motion-time) ease,transform var(--ui-motion-time) var(--ui-motion-ease);
 }
 :is(.rd-btn,.rd-btn-line,.wl-btn,.wl-btn-soft,.wl-ghost,.nav-cta):active { transform: scale(.98); }
 :is(.rd-rail,.rd-hosp-track,.rd-doc-track,.rd-search-scopes,.rd-tabs,.wl-subnav) { scroll-behavior: smooth; overscroll-behavior-x: contain; -webkit-overflow-scrolling: touch; }
 :is(.rd-rail,.rd-hosp-track,.rd-doc-track) { scroll-snap-type: x proximity; }
 [role=tabpanel]:not([hidden]) { animation: ui-panel-in var(--ui-motion-time) ease both; }
 details[open] > :is(.medical-more-body,.wl-fold-body,.nav-guide-menu,.lang-switch-menu) { animation: ui-panel-in var(--ui-motion-time) ease both; }
 .medical-dropdown-panel {
  opacity: 1; transform: translateY(0);
  transition: opacity var(--ui-motion-time) ease,transform var(--ui-motion-time) var(--ui-motion-ease),display var(--ui-motion-time) allow-discrete;
 }
 .medical-dropdown-panel[hidden] { opacity: 0; transform: translateY(-4px); pointer-events: none; }
 @starting-style { .medical-dropdown-panel:not([hidden]) { opacity: 0; transform: translateY(-4px); } }
 @media(max-width:1200px) {
  body #navbar.nav-reference .nav-links {
   opacity: 0; transform: translateY(-6px);
   transition: opacity 200ms ease,transform 200ms var(--ui-motion-ease),display 200ms allow-discrete;
  }
  body #navbar.nav-reference .nav-links.active { opacity: 1; transform: translateY(0); }
  @starting-style { body #navbar.nav-reference .nav-links.active { opacity: 0; transform: translateY(-6px); } }
 }
 @supports selector(details::details-content) {
  details:is(.medical-more,.rd-qa,.wl-fold,.nav-guide,.lang-switch)::details-content {
   opacity: 0; transition: opacity var(--ui-motion-time) ease,content-visibility var(--ui-motion-time) allow-discrete;
  }
  details:is(.medical-more,.rd-qa,.wl-fold,.nav-guide,.lang-switch)[open]::details-content { opacity: 1; }
  @starting-style { details:is(.medical-more,.rd-qa,.wl-fold,.nav-guide,.lang-switch)[open]::details-content { opacity: 0; } }
 }
}
@keyframes ui-panel-in { from { opacity: 0; } to { opacity: 1; } }
@media(prefers-reduced-motion:reduce) {
 :is(.rd-rail,.rd-hosp-track,.rd-doc-track,.rd-search-scopes,.rd-tabs,.wl-subnav) { scroll-behavior: auto !important; }
 .medical-dropdown-panel,body #navbar.nav-reference .nav-links { transition: none !important; }
 [role=tabpanel],details > :is(.medical-more-body,.wl-fold-body,.nav-guide-menu,.lang-switch-menu) { animation: none !important; }
}
@media(max-width:1200px) { body #navbar.nav-reference .nav-links:not(.active) { pointer-events: none; } body #navbar.nav-reference .nav-links.active { pointer-events: auto; } }


/* Source: assets/css/app-loader.css */
.app-loader { position: fixed; inset: 0; z-index: 11000; display: grid; place-items: center; background: #f7fafc; color: #145e7a; pointer-events: none; opacity: 1; transition: opacity 360ms cubic-bezier(.22,1,.36,1); animation: loader-safety 1ms 4500ms forwards; }
.app-loader[hidden] { display: none; }
.app-loader--wellness { background: #faf8f3; color: #4a6b4f; }
.app-loader-card { position: relative; display: grid; place-items: center; width: 144px; height: 144px; }
.app-loader-card > span { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.app-loader-art { display: block; width: 92px; height: 92px; object-fit: contain; animation: loader-breathe 2600ms ease-in-out infinite; }
.app-loader-orbit { position: absolute; inset: 0; display: block; width: 100%; height: 100%; overflow: visible; animation: loader-orbit 3200ms linear infinite; }
.app-loader-ring-track { fill: none; stroke: currentColor; stroke-width: 1; opacity: .08; }
.app-loader-ring { fill: none; stroke: currentColor; stroke-width: 1.6; stroke-linecap: round; stroke-dasharray: 96 306; opacity: .45; }
.app-loader.is-finished { opacity: 0; }
@keyframes loader-orbit { to { transform: rotate(360deg); } }
@keyframes loader-breathe { 0%,100% { transform: scale(.96); } 50% { transform: scale(1.04); } }
@keyframes loader-safety { to { visibility: hidden; opacity: 0; } }
@media(prefers-reduced-motion:reduce) { .app-loader-orbit,.app-loader-art { animation: none; } .app-loader { transition: none; } }


/* Source: assets/css/phone-layout.css */
.phone-field { display: grid; grid-template-columns: 96px minmax(0,1fr); gap: 8px; align-items: start; direction: ltr; }
.phone-field > .medical-select { min-width: 0; }
.phone-field :is(.medical-select-trigger,input[type=tel],select) { width: 100%; min-width: 0; height: 48px; min-height: 48px; box-sizing: border-box; margin: 0; }
body .phone-field .medical-select-trigger { padding: 10px; gap: 6px; font-size: 16px; }
body .phone-field .medical-select-value { white-space: nowrap; overflow-wrap: normal; flex: 1; }
body .phone-field input[type=tel] { padding-inline: 12px; direction: ltr; text-align: left; }
.footer-contact li { display: grid; grid-template-columns: 24px minmax(0,1fr); align-items: start; column-gap: 12px; }
.footer-contact li > .icon { width: 22px; height: 22px; margin-top: 2px; align-self: start; }
.footer-contact li > :is(a,span) { min-width: 0; line-height: 1.5; overflow-wrap: anywhere; }
@media(max-width:768px) {
 body:not(.wl).medical-refined #main .medical-task-links .medical-task-sticker { width: 72px; height: 72px; flex-basis: 72px; }
 body:not(.wl).medical-refined #main .medical-task-links a { padding: 14px 10px; gap: 10px; }
}


/* Source: assets/css/provider-refresh.css */
/* Compact provider discovery; preserve desktop card sizes and the Medical palette. */
/* The source Metro banner puts the facility on its right; keep it in the crop. */
body:not(.wl) :is(.hospital-card-img,.hospital-avatar-box,.rd-hcard-img) img[src*="metro-hospital-heart-institute-noida-photo-"] { object-position: right center; }
@media(max-width:768px) {
 body:not(.wl) .hospital-card-img img[src*="metro-hospital-heart-institute-noida-photo-"] { transform: scale(1.9); transform-origin: right center; }
}
body:not(.wl) .provider-toolbar { grid-template-columns: minmax(0,1.5fr) minmax(0,1fr); gap: 10px; padding: 12px; margin-bottom: 16px; }
body:not(.wl) .provider-toolbar:has(.provider-city-filter) { grid-template-columns: minmax(0,1.5fr) minmax(0,1fr) minmax(0,.7fr); }
.provider-city-filter { display: grid; gap: 6px; min-width: 0; }
.provider-city-filter label { font-size: 12px; font-weight: 600; color: #345868; }
.provider-city-filter select { width: 100%; height: 44px; border: 1px solid #cbdde5; border-radius: 10px; padding: 8px; background: white; font: inherit; color: #153849; }
body:not(.wl) .provider-toolbar :is(.search-input-wrap,.medical-select-trigger,select) { min-height: 44px; height: 44px; }
body:not(.wl) .provider-toolbar .medical-treatment-specialty .medical-select-trigger { min-height: 44px; height: auto; padding: 9px 10px; }
body:not(.wl) .provider-toolbar .medical-treatment-specialty label { margin-bottom: 6px; }
body:not(.wl) .provider-toolbar .medical-select-value { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
body:not(.wl) .provider-toolbar .medical-result-status { grid-column: 1 / -1; margin: 0; padding: 0; font-size: 12px; }
.provider-image-facts { display: none; }
.provider-experience { color: #145e7a; background: #edf5f7; padding: 5px 10px; border-radius: 20px; margin: 0 0 10px; font-size: 13px; font-weight: 600; }
.rd-doc-body .provider-experience { display: inline-block; }
body:not(.wl) #hospitals .rd-filter { gap: 6px; margin-bottom: 14px; }
body:not(.wl) #hospitals .rd-filter .rd-chip { padding: 8px 12px; min-height: 44px; font-size: 12px; }
.provider-page-hidden { display: none !important; }
.provider-pagination { display: flex; justify-content: space-between; align-items: center; gap: 12px; margin: 16px 0; color: #345868; font-size: 13px; }
.provider-pagination[hidden] { display: none; }
.provider-pagination button { min-height: 44px; padding: 8px 14px; border: 1px solid #cbdde5; border-radius: 12px; background: #fff; color: #145e7a; font: inherit; cursor: pointer; }
.provider-pagination button:disabled { opacity: .5; cursor: default; }
.provider-chat { display: inline-flex; align-items: center; justify-content: center; width: 44px; height: 44px; flex: 0 0 44px; color: #07512e; background: #dcf7e8; border-radius: 50%; }
.telegram-link { color: #145e7a !important; }
.telegram-link .icon { color: #168ac4 !important; width: 18px; height: 18px; flex-shrink: 0; }
.telegram-link:is(.rd-btn,.btn-primary,.btn-outline,.rd-btn-ghost,.rd-quick-card,.nav-wa-btn) { color: #087ab2 !important; background: #eaf6fd !important; border-color: #bddfee !important; }
.telegram-link .icon { background: transparent !important; }
.telegram-link:is(.sticky-btn,.provider-chat) { background: #e5f3fa !important; border-color: #b7d9e9 !important; }
.telegram-link:is(.medical-nav-whatsapp,.wellness-nav-whatsapp,.provider-chat) span { display: none; }
.telegram-link:is(.medical-nav-whatsapp,.wellness-nav-whatsapp) { width: 44px !important; min-width: 44px; padding: 0 !important; justify-content: center; }
.telegram-link:focus-visible,.provider-chat:focus-visible { outline: 3px solid #145e7a; outline-offset: 3px; }
#mobileStickyBar:has(.telegram-link) { gap: 8px; }
#mobileStickyBar .telegram-link { flex: 0 0 44px; width: 44px; min-width: 44px; padding: 10px !important; justify-content: center; }
#mobileStickyBar .telegram-link span { display: none; }
@media(max-width:768px) {
 body:not(.wl) #hospitals .rd-filter .count { flex-basis: 100%; margin-inline-start: 0; font-size: 12px; }
 body:not(.wl) #hospRail { display: flex; flex-direction: column; overflow: visible; gap: 12px; padding-bottom: 0; scroll-margin-top: calc(var(--nav-h,94px) + 12px); }
 body:not(.wl) #hospitalsContainer { scroll-margin-top: calc(var(--nav-h,94px) + 12px); }
 body:not(.wl) #main .medical-hospital-carousel:has(#hospRail) { padding: 0; }
 body:not(.wl) .medical-hospital-carousel:has(#hospRail) .rd-rail-btns { display: none; }
 body:not(.wl) #hospRail .rd-hcard-img { height: 100px; }
 body:not(.wl) #main #hospRail .rd-hcard-body { padding: 12px !important; }
 body:not(.wl) #main #hospRail h3 { font-size: 17px !important; margin-bottom: 4px; }
 body:not(.wl) #main #hospRail .rd-hcard-body p { font-size: 12px !important; margin-bottom: 8px; }
 body:not(.wl) #hospRail .rd-hcard-logo img { max-height: 18px; }
 body:not(.wl) .provider-toolbar,body:not(.wl) .provider-toolbar:has(.provider-city-filter) { grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: 8px; padding: 10px; }
 body:not(.wl) .provider-toolbar .filter-bar { grid-column: 1 / -1; }
 body:not(.wl) .provider-toolbar:not(:has(.provider-city-filter)) .medical-treatment-specialty { grid-column: 1 / -1; }
 body:not(.wl) .provider-toolbar :is(input,select) { font-size: 16px; }
 body:not(.wl) .provider-toolbar .medical-treatment-search-label { display: none; }
 body:not(.wl) .provider-toolbar .search-input-wrap { padding: 8px 10px; }
 body:not(.wl) #hospitalsContainer { grid-template-columns: minmax(0,1fr); gap: 12px; }
 body:not(.wl) #hospitalsContainer .provider-hospital-card { padding: 12px; border-radius: 16px; overflow: hidden; }
 body:not(.wl) #hospitalsContainer .hospital-card-img { position: relative; height: 100px; min-height: 100px; margin: -12px -12px 10px; border: 0; border-radius: 0; }
 body:not(.wl) #hospitalsContainer .provider-original-facts { display: none !important; }
 .provider-image-facts { position: absolute; inset: 8px auto auto 8px; display: flex; gap: 6px; }
 [dir=rtl] .provider-image-facts { inset: 8px 8px auto auto; }
 .provider-image-facts span { padding: 4px 7px; border-radius: 20px; background: #fff; color: #153849; font-size: 11px; font-weight: 700; box-shadow: 0 2px 8px #15384922; }
 .provider-image-facts span:first-child { background: #153849; color: #fff; }
 body:not(.wl) #hospitalsContainer .hospital-name { font-size: 17px; line-height: 1.3; margin-bottom: 4px; }
 body:not(.wl) #hospitalsContainer .hospital-location { font-size: 12px; margin-bottom: 7px; line-height: 1.4; }
 body:not(.wl) #hospitalsContainer .hospital-specs { gap: 4px; margin-bottom: 10px; }
 body:not(.wl) #hospitalsContainer .hospital-specs span { padding: 3px 7px; font-size: 11px; line-height: 1.4; }
 body:not(.wl) #hospitalsContainer .provider-card-actions { flex-wrap: wrap; gap: 6px !important; }
 body:not(.wl) #hospitalsContainer .provider-card-actions > a:first-child { min-height: 44px; background: #145e7a; color: white; flex: 1 !important; border-radius: 24px; }
 body:not(.wl) #hospitalsContainer .provider-card-actions > a:nth-child(2) { display: none; }
 body:not(.wl) #hospitalsContainer .provider-chat { width: 44px; height: 44px; flex: 0 0 44px; }
 body:not(.wl) #doctorsContainer .provider-doctor-summary { display: none; }
 body:not(.wl) #doctorsContainer .provider-experience { margin-bottom: 12px; }
 #mobileStickyBar:has(.telegram-link) .sticky-btn:not(.telegram-link) { min-width: 0; flex: 1 1 0; }
}

/* A flat directory toolbar replaces the large labelled filter panel. */
body:not(.wl) #main .directory-toolbar-slim {
 display: grid; grid-template-columns: minmax(0,1fr) minmax(140px,240px);
 align-items: start; gap: 6px 10px; width: 100%; max-width: 860px;
 padding: 0; margin: 0 0 18px; border: 0; border-radius: 0;
 background: transparent; box-shadow: none; position: static;
}
body:not(.wl) #main .directory-toolbar-slim:has(.provider-city-filter) {
 max-width: 1000px; grid-template-columns: minmax(0,1fr) minmax(140px,240px) minmax(120px,180px);
}
body:not(.wl) #main .directory-toolbar-slim .filter-bar {
 display: block !important; min-width: 0; grid-column: auto; padding: 0; margin: 0;
}
body:not(.wl) #main .directory-toolbar-slim :is(.medical-treatment-search-label,.medical-treatment-specialty label,.provider-city-filter label) {
 display: block !important; position: absolute; width: 1px; height: 1px;
 padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; border: 0;
}
body:not(.wl) #main .directory-toolbar-slim :is(.medical-treatment-specialty,.provider-city-filter) {
 display: block; min-width: 0; grid-column: auto; margin: 0;
}
body:not(.wl) #main .directory-toolbar-slim .search-input-wrap {
 display: flex; align-items: center; gap: 8px; height: 44px !important;
 min-height: 44px !important; max-height: 44px; padding: 8px 12px;
 border: 1px solid #cbdde5; border-radius: 10px; background: #fff;
 box-shadow: none; box-sizing: border-box; margin: 0;
}
body:not(.wl) #main .directory-toolbar-slim .search-input-wrap .icon { width: 16px; height: 16px; flex-shrink: 0; }
body:not(.wl) #main .directory-toolbar-slim .search-input-wrap input {
 width: 100%; min-width: 0; height: 100%; min-height: 0; margin: 0 !important;
 padding: 0 !important; border: 0 !important; border-radius: 0;
 background: transparent; box-shadow: none !important; outline: none; font-size: 16px;
}
body:not(.wl) #main .directory-toolbar-slim .search-input-wrap:focus-within { outline: 3px solid #145e7a; outline-offset: 2px; }
body:not(.wl) #main .directory-toolbar-slim :is(.medical-select-trigger,select) {
 width: 100%; height: 44px; min-height: 44px; padding: 8px 10px;
 border: 1px solid #cbdde5; border-radius: 10px; background: #fff;
 box-sizing: border-box; box-shadow: none; gap: 8px; font-size: 14px;
}
body:not(.wl) #main .directory-toolbar-slim .medical-select-value {
 min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
}
body:not(.wl) #main .directory-toolbar-slim .medical-result-status {
 grid-column: 1 / -1; align-items: center; padding: 0; margin: 0;
 min-height: 18px; font-size: 12px; line-height: 18px; gap: 8px;
}
body:not(.wl) #main .directory-toolbar-slim .medical-result-status button:not([hidden]) { min-height: 44px; margin-block: -6px; }
@media(max-width:768px) {
 body:not(.wl) #main .directory-toolbar-slim,
 body:not(.wl) #main .directory-toolbar-slim:has(.provider-city-filter) {
  grid-template-columns: minmax(0,1.15fr) minmax(0,1fr); gap: 6px 8px; margin-bottom: 14px;
 }
 body:not(.wl) #main .directory-toolbar-slim:has(.provider-city-filter) .medical-result-status { grid-column: 2; min-height: 44px; }
 body:not(.wl) #main .directory-toolbar-slim:has(.provider-city-filter) .provider-city-filter { grid-column: 1; }
 body:not(.wl) #main .directory-toolbar-slim :is(.medical-select-trigger,select) { font-size: 16px; }
}


/* Source: assets/css/medical-bright-accents.css */
/* Original navy + blue-green identity, with brighter accents from the same family. */
body:not(.wl) {
 --medical-bright: #087fa3;
 --medical-bright-soft: #edf8fc;
 --off-white: #fff;
 --rd-b1: #fff; --rd-b2: #fff; --rd-b3: #fff; --rd-b4: #fff; --rd-b5: #fff;
 background: #fff;
}
body:not(.wl) #main > section { background-color: #fff; }
body:not(.wl) :is(.medical-treatment-intro.page-hero,.rd-logos,.medical-treatment-directory) { background: #fff; }
/* Retain the dark original button face; a bright edge and hover add energy. */
body:not(.wl) :is(.rd-btn,.btn-primary,.nav-cta) {
 border-color: var(--medical-bright);
 box-shadow: inset 0 1px 0 rgba(255,255,255,.28),0 3px 0 rgba(8,127,163,.18);
}
body:not(.wl) :is(.rd-btn,.btn-primary,.nav-cta):hover { background: var(--medical-bright); border-color: var(--medical-bright); color: #fff; }
body:not(.wl) :is(.rd-btn,.btn-primary,.nav-cta):focus-visible { outline: 3px solid var(--medical-bright); outline-offset: 3px; }
body:not(.wl) #main :is(.icon-teal,.medical-hero-trust .icon,.hospital-location .icon,.doctor-hospital .icon) { color: var(--medical-bright) !important; }
body:not(.wl) :is(.rd-chip[aria-pressed=true],.facet-active,.rd-est-seg input:checked + span,.doctor-spec-pill,.provider-experience) {
 background: var(--medical-bright-soft); color: #145e7a; border-color: var(--medical-bright);
}
body:not(.wl) #navbar .medical-nav-current { color: #145e7a !important; box-shadow: inset 0 -2px 0 var(--medical-bright); }
body:not(.wl) #navbar .nav-primary a:is(:hover,:focus-visible) { background: var(--medical-bright-soft); }
body:not(.wl) #main .directory-toolbar-slim .search-input-wrap:focus-within { outline-color: var(--medical-bright); }
body:not(.wl) .medical-select-trigger::after { border-color: var(--medical-bright); }
body:not(.wl) .medical-dropdown-option:is(.is-active,[aria-selected=true],:hover) { background: var(--medical-bright-soft); color: #145e7a; }
body:not(.wl) #navbar.nav-reference,
body:not(.wl) #navbar.nav-reference.scrolled {
 background: linear-gradient(110deg,rgba(255,255,255,.88),rgba(221,243,250,.3),rgba(255,255,255,.88));
}
/* The existing blur, highlights and glass shadows remain in the shared styles. */
.medical-useful-title { display: none; }
@media(max-width:768px) {
 body:not(.wl) #main .medical-useful-title { display: block; margin: 18px 0 8px; font-size: 15px !important; line-height: 1.4; color: #153849; }
 body:not(.wl) #main .medical-useful-links { display: flex; flex-direction: column; gap: 0; margin-top: 0; border: 1px solid #d5e2e7; border-radius: 14px; overflow: hidden; background: #fff; }
 body:not(.wl) #main .medical-useful-links .rd-brand-card { display: grid; grid-template-columns: 28px minmax(0,1fr) 16px; align-items: center; gap: 10px; min-height: 56px; padding: 10px 14px; margin: 0; border: 0; border-radius: 0; background: #fff; box-shadow: none; transform: none; }
 body:not(.wl) #main .medical-useful-links .rd-brand-card + .rd-brand-card { border-top: 1px solid #e1eaee; }
 body:not(.wl) #main .medical-useful-links .rd-brand-card .ic { width: 28px !important; height: 28px !important; margin: 0; border-radius: 7px; }
 body:not(.wl) #main .medical-useful-links .rd-brand-card .ic :is(.icon,.medical-care-paper) { width: 24px; height: 24px; margin: 0; object-fit: contain; }
 body:not(.wl) #main .medical-useful-links .rd-brand-card h3 { margin: 0; font-size: 14px !important; line-height: 1.4; }
 body:not(.wl) #main .medical-useful-links .rd-brand-card > :is(p,span,details) { display: none !important; }
 body:not(.wl) #main .medical-useful-links .rd-brand-card::after { content: '\2192'; color: #145e7a; font-size: 18px; line-height: 1; }
 [dir=rtl] body:not(.wl) #main .medical-useful-links .rd-brand-card::after { content: '\2190'; }
 body:not(.wl) #main .medical-useful-links .rd-brand-card:is(:hover,:focus-visible) { background: #edf8fc; }
 body:not(.wl) #main .medical-useful-links .rd-brand-card:focus-visible { outline: 3px solid #087fa3; outline-offset: -3px; }
}
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))) {
 body:not(.wl) #navbar.nav-reference { background: #fff; }
}


/* Source: assets/css/compact-desktop.css */
/* Use available browser space, not device identity or physical display size.
   Large, tall viewports and the existing mobile layout retain their original rules. */
@media (min-width:1025px) and (max-width:1440px),
       (min-width:1025px) and (max-width:1920px) and (max-height:850px) {
 body { --compact-space: clamp(14px,1.15vw,20px); --compact-photo: clamp(112px,18vh,150px); --compact-art: clamp(64px,9vh,96px); --compact-title: clamp(17px,1.3vw,20px); }
 body:not(.wl) #navbar.nav-reference .nav-utility-inner { min-height: 34px; gap: 12px; }
 body:not(.wl) #navbar.nav-reference .nav-utility-inner > p,
 body:not(.wl) #navbar.nav-reference .nav-utility-contact { font-size: 12px; }
 body:not(.wl) #navbar.nav-reference .nav-inner { height: 64px; gap: 14px; }
 body:not(.wl) #navbar.nav-reference::before { inset-block-start: 34px; }
 body:not(.wl) #navbar.nav-reference .nav-brand-name { font-size: 23px; }
 body:not(.wl) #navbar.nav-reference .medical-visible-mode .rd-switch { min-height: 30px; }
 body:not(.wl) #navbar.nav-reference .medical-visible-mode .rd-switch span { min-height: 24px; padding-block: 3px; font-size: 11px; }
 body:not(.wl) #navbar.nav-reference .nav-actions { gap: 6px; }
 body:not(.wl) #navbar.nav-reference .nav-cta { padding: 10px 12px !important; }

 body:not(.wl) #main .rd-hero-discovery { min-height: 0; }
 body:not(.wl) #main .rd-hero-discovery .rd-hero-inner { padding-block: clamp(20px,3vh,28px) 32px; }
 body:not(.wl) #main .rd-hero-discovery .rd-hero-copy { max-width: 580px; }
 body:not(.wl) #main .rd-hero-discovery h1 { font-size: clamp(32px,2.6vw,40px); line-height: 1.15; margin-bottom: 14px; }
 body:not(.wl) #main .rd-hero-discovery h1 strong { margin-top: 6px; }
 body:not(.wl) #main .rd-hero-discovery .rd-hero-sub { font-size: 16px; line-height: 1.6; margin-bottom: 18px; }
 body:not(.wl) #main .rd-hero-discovery .rd-hero-search { min-height: 50px; padding: 10px 16px; gap: 10px; margin-bottom: 14px; font-size: 16px; }
 body:not(.wl) #main .rd-hero-discovery .rd-hero-actions { gap: 10px; align-items: center; }
 body:not(.wl) #main .rd-hero-discovery .rd-hero-actions > a { min-height: 48px; padding: 11px 18px; font-size: 15px; }
 body:not(.wl) #main .rd-hero-discovery .rd-hero-actions > .telegram-link { flex: 0 0 48px; width: 48px; padding: 0; display: inline-flex; align-items: center; justify-content: center; }
 body:not(.wl) #main .rd-hero-discovery .rd-hero-actions > .telegram-link span { display: none; }
 body:not(.wl) #main .rd-hero-discovery .rd-hero-stats { margin-top: 20px; padding-top: 16px; }
 body:not(.wl) #main .rd-hero-discovery .rd-hero-stats b { font-size: 26px; }
 body:not(.wl) #main .rd-hero-discovery .rd-hero-stats span { font-size: 12px; }
 body:not(.wl) #main .rd-hero-discovery .rd-hero-legend { font-size: 12px; }
 body:not(.wl) #main .rd-section { padding-block: 40px; }
 body:not(.wl) #main .page-hero { padding-bottom: 24px; }
 body:not(.wl) #main .page-hero h1 { font-size: clamp(30px,2.8vw,38px); }

 /* Apply the compact scale to discovery cards and supporting content too. */
 body:not(.wl) #main :is(.rd-rail,.rd-docs) { gap: 16px; }
 body:not(.wl) #main #hospRail .rd-hcard,
 body:not(.wl) #main #doctorRail .rd-doc { width: clamp(260px,22vw,300px); flex: 0 0 clamp(260px,22vw,300px); min-height: 0; height: auto; }
 body:not(.wl) #main :is(.rd-hcard-img,.hospital-card-img) { height: var(--compact-photo); min-height: 0; }
 body:not(.wl) #main #doctorRail .rd-doc-img { height: 160px; }
 body:not(.wl) #main :is(.rd-hcard-body,.rd-doc-body,.rd-panel-body,.treatment-card-body) { padding: 16px !important; }
 body:not(.wl) #main :is(.rd-hcard-body h3,.rd-doc-name b,.hospital-name,.doctor-name,.treatment-card-name) { font-size: 18px !important; line-height: 1.35; }
 body:not(.wl) #main :is(.rd-hcard-body p,.rd-doc-body p,.doctor-hospital) { font-size: 13px; line-height: 1.5; margin-block: 6px 10px; }
 body:not(.wl) #main .hospital-specs { gap: 5px; margin-bottom: 12px; }
 body:not(.wl) #main .hospital-specs span { font-size: 11px; padding: 4px 8px; line-height: 1.4; }
 body:not(.wl) #main .rd-hcard-tags { top: 10px; inset-inline-start: 10px; }
 body:not(.wl) #main .rd-hcard-tags span { padding: 4px 8px; font-size: 10px; }
 body:not(.wl) #main .rd-hcard-logo { padding: 4px 7px; bottom: 8px; inset-inline-end: 8px; }
 body:not(.wl) #main .rd-hcard-logo img { height: 20px; max-width: 90px; }
 body:not(.wl) #main .rd-hcard-actions { gap: 8px; }
 body:not(.wl) #main .rd-hcard-actions a { display: flex; align-items: center; justify-content: center; min-height: 44px; padding: 9px 8px; font-size: 13px; }
 body:not(.wl) #main .medical-hospital-carousel .rd-rail-btns button { width: 44px; height: 44px; }
 body:not(.wl) #main :is(.hospital-card,.doctor-card,.rail-card) { padding: 16px; min-height: 0; }
 body:not(.wl) #main :is(.hospitals-grid,.doctors-grid,.treatment-cards-grid) { gap: 16px !important; grid-template-columns: repeat(auto-fill,minmax(250px,1fr)) !important; }
 body:not(.wl) #main .doctor-avatar { width: 88px; height: 88px; margin-bottom: 12px; }
 body:not(.wl) #main .treatment-card-img { height: 120px !important; min-height: 0; }
 body:not(.wl) #main .medical-treatment-paper img { max-height: 108px; object-fit: contain; }
 body:not(.wl) #main :is(.rd-card,.rd-step,.rd-brand-card,.medical-stage,.medical-topic-card,.detail-card,.info-panel,.medical-blog-card) { padding: 18px; min-height: 0; height: auto; }
 body:not(.wl) #main :is(.rd-card,.rd-step,.rd-brand-card,.medical-stage,.medical-topic-card,.detail-card,.info-panel,.medical-blog-card) h3 { font-size: 18px !important; line-height: 1.4; }
 body:not(.wl) #main :is(.rd-card,.rd-step,.rd-brand-card,.medical-stage,.medical-topic-card,.detail-card,.info-panel,.medical-blog-card) p { font-size: 14px; line-height: 1.6; }
 body:not(.wl) #main .rd-head { margin-bottom: 20px; gap: 16px; }
 body:not(.wl) #main :is(.rd-h2,.section-title) { font-size: clamp(25px,2.2vw,32px); line-height: 1.3; }

 body:not(.wl) #main :is(.rd-card,.rd-step,.rd-brand-card,.medical-stage,.medical-topic-card,.detail-card,.info-panel,.medical-blog-card,.testimonial-card,.callout,.rd-quick-card,.rd-dd,.rd-next,.rd-safe,.rd-office,.medical-quote-action,.medical-journey-example,.medical-accommodation-options li) { padding: var(--compact-space) !important; min-height: 0; }
 body:not(.wl) #main :is(.rd-brand-cards,.medical-stage-grid,.medical-accommodation-options,.rd-grid-steps,.rd-dodont,.two-col-grid) { gap: var(--compact-space) !important; }
 body:not(.wl) #main :is(.rd-hcard-body,.rd-doc-body,.rd-panel-body,.treatment-card-body) { padding: var(--compact-space) !important; }
 body:not(.wl) #main :is(.rd-brand-card,.rd-card,.medical-topic-card,.medical-blog-card,.info-panel,.detail-card) h3 { font-size: var(--compact-title) !important; }
 /* Decorative illustrations retain their component size, even on short desktops. */
 body:not(.wl) #main .medical-task-links a { padding: var(--compact-space); gap: 10px; min-height: 0; }
 body:not(.wl) #main :is(.rd-brand-card .ic,.medical-topic-card .ic) { width: var(--compact-art) !important; height: var(--compact-art) !important; }
 body:not(.wl) #main .medical-treatment-hero > .section-inner > .medical-profile-paper,
 body:not(.wl) #main .medical-profile-paper { width: clamp(220px,23vw,340px); height: clamp(220px,23vw,340px); max-width: 100%; object-fit: contain; }
 body:not(.wl) #main :is(.hospital-avatar-box,.doctor-avatar-box) { width: clamp(170px,20vw,260px); height: clamp(170px,24vh,240px); flex-shrink: 0; }
 body:not(.wl) #main .doctor-avatar-box img { object-fit: contain; }
 body:not(.wl) #main :is(.rd-panel-art,.rd-blog-img,.blog-card-img) { height: var(--compact-photo); min-height: 0; }
 body:not(.wl) #main .rd-step-dot { width: 40px; height: 40px; }
 body:not(.wl) #main .rd-brand-mark { max-width: 140px; }
 body:not(.wl) #main .rd-brand-mark img { width: 100%; height: auto; }
 body:not(.wl) #main .medical-guide-flags .medical-country-flag { width: 36px; height: 27px; }

 /* Wellness keeps its reference appearance; only the available-space sizing changes. */
 body.wl #main :is(.wl-trad,.wl-prog-body,.wl-card-body,.wl-promise > div,.wl-thera,.wl-term,.wl-callout,.wl-glance,.wl-dosha,.wl-taste,.wl-stay,.wl-form) { padding: var(--compact-space); min-height: 0; }
 body.wl #main :is(.wl-trads,.wl-progs,.wl-cards,.wl-promise,.wl-thera-grid,.wl-steps) { gap: var(--compact-space); }
 body.wl #main :is(.wl-trad h3,.wl-prog h3,.wl-card-body h3,.wl-thera h3) { font-size: clamp(21px,1.65vw,26px); line-height: 1.3; }
 body.wl #main :is(.wl-card-art,.wl-prog-band) { height: var(--compact-photo); min-height: 0; }
 body.wl #main .wl-dest > a { padding: var(--compact-space); min-height: clamp(160px,25vh,220px); }
 body.wl #main .wl-dest > a b { font-size: clamp(24px,2.2vw,32px); }
 body.wl #main :is(.wl-h2,.wl-article h2) { font-size: clamp(28px,2.5vw,38px); }
 body.wl #main :is(.wl-hero-inner,.wl-ghero) { padding-bottom: 32px; }
 body.wl #main .wl-ghero { min-height: 360px; padding-top: calc(var(--nav-h,72px) + 24px); }
 body.wl #main :is(.wl-ghero h1,.wl-hero h1) { font-size: clamp(36px,3.8vw,52px); }
 body.wl #main .wl-hero-mark { width: clamp(120px,14vw,180px); height: clamp(120px,14vw,180px); }
 body.wl #main :is(.wl-hero-mandala,.wl-ghero-mandala) { width: clamp(340px,36vw,520px); height: clamp(340px,36vw,520px); }
 body.wl #main .wl-breathe { grid-template-columns: minmax(240px,.8fr) minmax(0,1fr); gap: 32px; }
 body.wl #main .wl-breathe-orb { width: clamp(220px,22vw,280px); height: clamp(220px,22vw,280px); }
 body.wl #main .wl-sec { padding-block: 28px; }
}
/* Keep the desktop links and geographic artwork rules out of the drawer layout. */
@media (min-width:1201px) and (max-width:1440px),
       (min-width:1201px) and (max-width:1920px) and (max-height:850px) {
 body:not(.wl) #navbar.nav-reference .nav-primary { gap: 12px; padding: 7px 10px; }
 body:not(.wl) #navbar.nav-reference .nav-primary a,
 body:not(.wl) #navbar.nav-reference .nav-primary .nav-guide > summary { font-size: 13px; }
 body:not(.wl) #main .rd-hero-discovery .rd-hero-map > div { transform: translateX(clamp(30px,3vw,58px)) scale(.86); transform-origin: 63% 0; }
}


/* Source: assets/css/card-actions.css */
/* Card actions keep readable widths instead of squeezing four items into a pill row. */
body:not(.wl) #main .provider-card-actions {
 display: grid !important; grid-template-columns: minmax(0,1fr) 44px 44px;
 gap: 8px !important; align-items: center; width: 100%;
}
body:not(.wl) #main .provider-card-actions > a:first-child { grid-column: 1 / -1; }
body:not(.wl) #main .provider-card-actions > a:not(.provider-chat),
body:not(.wl) #main .rd-hcard-actions > a,
body:not(.wl) #main .doctor-card > div:last-child > a {
 display: flex; align-items: center; justify-content: center; gap: 6px;
 min-width: 0; min-height: 44px; padding: 10px 12px !important;
 border-radius: 12px !important; font-size: 13px !important; line-height: 1.35;
 text-align: center; white-space: normal; box-sizing: border-box;
 box-shadow: none !important; overflow-wrap: normal;
}
body:not(.wl) #main .provider-card-actions > .provider-chat {
 width: 44px; height: 44px; min-width: 44px; padding: 0;
 border-radius: 12px; display: flex; align-items: center; justify-content: center;
}
body:not(.wl) #main .rd-hcard-actions,
body:not(.wl) #main .doctor-card > div:last-child { display: grid !important; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px; align-items: stretch; }
@media(max-width:768px) {
 body:not(.wl) #main #hospitalsContainer .provider-card-actions > a:first-child { grid-column: 1; border-radius: 12px; }
}

/* Shared profile/treatment recommendation cards, in either theme. */
body #main :is(.rail-card,.rd-txcard,.rd-txhosp,.rd-txdoc) { min-width: 0; }
body #main :is(.rail-card-actions,.rd-txcard-actions) {
 display: grid; grid-template-columns: minmax(0,1fr) 44px 44px;
 gap: 8px; align-items: center; width: 100%; min-width: 0;
}
body #main :is(.rail-card-actions,.rd-txcard-actions) > a {
 min-width: 0; min-height: 44px; margin: 0; padding: 9px 10px;
 display: flex; align-items: center; justify-content: center;
 border-radius: 12px; white-space: normal; text-align: center;
 font-size: 13px; line-height: 1.35; box-sizing: border-box;
}
body #main :is(.rail-card-actions,.rd-txcard-actions) > :is(.rail-btn-wa,.rd-txcard-wa) {
 width: 44px; height: 44px; padding: 0; font-size: 0;
}
body #main :is(.rail-card-actions,.rd-txcard-actions) > :is(.rail-btn-wa,.rd-txcard-wa) span { display: none; }
body #main :is(.rail-card-actions,.rd-txcard-actions) .icon { width: 18px; height: 18px; flex: 0 0 18px; }
/* Match the approved compact-icon layout on hospital directories as well. */
body:not(.wl) #main .provider-card-actions > a:first-child { grid-column: 1; }
body:not(.wl) #main .provider-card-actions > a:nth-child(2) { grid-column: 1 / -1; grid-row: 2; }
body:not(.wl) #main .provider-card-actions > .provider-chat { grid-row: 1; grid-column: 2; }
body:not(.wl) #main .provider-card-actions > .provider-chat.telegram-link { grid-column: 3; }

/* Service identity must win over cloned WhatsApp classes and inline colours. */
body a.telegram-link:is(.rail-btn,.rd-txcard-wa,.provider-chat,.nav-wa-btn,.medical-nav-whatsapp,.wellness-nav-whatsapp,.sticky-btn,.btn-primary,.btn-outline,.btn-outline-teal,.rd-btn,.rd-btn-line,.rd-btn-ghost,.rd-quick-card,.wl-btn,.wl-ghost) {
 background: #eaf6fd !important; color: #087ab2 !important; border-color: #bddfee !important;
}
body a.telegram-link .icon { color: #168ac4 !important; }
body a[href*="wa.me/"]:is(.rail-btn-wa,.rd-txcard-wa,.provider-chat,.nav-wa-btn,.medical-nav-whatsapp,.wellness-nav-whatsapp,.sticky-btn-wa,.btn-primary,.btn-outline,.btn-outline-teal,.rd-btn-ghost,.rd-quick-card,.wl-ghost) {
 background: #25d366 !important; color: #073b1e !important; border-color: #25d366 !important;
}
body a[href*="wa.me/"]:is(.rail-btn-wa,.rd-txcard-wa,.provider-chat,.nav-wa-btn,.sticky-btn-wa) .icon { color: #073b1e !important; }
body #main :is(.rd-hero-actions,.card-actions,.rd-txnote-links,.contact-action-row) { flex-wrap: wrap; gap: 10px; min-width: 0; }
body #main :is(.rd-hero-actions,.card-actions,.rd-txnote-links,.contact-action-row) > a { max-width: 100%; min-width: 0; white-space: normal; overflow-wrap: anywhere; }
body #main .contact-action-row > a { flex-shrink: 1; }
body #main :is(.rail-card-photo,.rail-card-avatar) { max-width: 100%; }
/* Footer service links each occupy their own icon/text contact row. */
body .footer-contact li.is-telegram { display: grid; grid-template-columns: 20px minmax(0,1fr); gap: 10px; align-items: center; }
body .footer-contact .is-telegram .icon { width: 20px; height: 20px; color: #8cc8f2; margin-top: 0; }
body .footer-contact .is-telegram a.telegram-link { color: #8cc8f2 !important; width: auto; min-width: 0; white-space: normal; word-break: normal; overflow-wrap: normal; }


/* Source: assets/css/mobile-directory.css */
/* Full introductions remain on desktop. Only the phone opening is compact. */
.directory-mobile-copy { display: none; }
@media(max-width:768px) {
 /* Keep focused search fields at 16px to prevent automatic iOS zoom. */
 body:not(.wl) .rd-search-in input, body.wl .rd-search-in input { font-size: 16px; }
 body .rd-search-in [data-rd-close] { min-width: 44px; min-height: 44px; flex-shrink: 0; }
 .directory-full-copy { display: none; }
 .directory-mobile-copy { display: inline; }
 body:not(.wl) #main :is(.medical-treatment-intro,.mobile-search-intro) { padding-top: calc(var(--nav-h,94px) + 12px) !important; padding-bottom: 12px !important; }
 body:not(.wl) #main :is(.medical-treatment-intro,.mobile-search-intro) .hero-title { font-size: 24px !important; line-height: 1.25; margin-bottom: 6px !important; }
 body:not(.wl) #main .medical-treatment-intro .hero-sub { font-size: 13px; line-height: 1.5; }
 body:not(.wl) #main .medical-treatment-directory { padding-top: 12px; }
 body:not(.wl) #main .directory-toolbar-slim,
 body:not(.wl) #main .directory-toolbar-slim:has(.provider-city-filter) { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 6px 8px; margin-bottom: 10px; }
 body:not(.wl) #main .directory-toolbar-slim .filter-bar { grid-column: 1 / -1; }
 body:not(.wl) #main .directory-toolbar-slim .medical-treatment-specialty { grid-column: 1; }
 body:not(.wl) #main .directory-toolbar-slim:has(.provider-city-filter) .medical-treatment-specialty { grid-column: 1; grid-row: 2; }
 body:not(.wl) #main .directory-toolbar-slim:has(.provider-city-filter) .provider-city-filter { grid-column: 2; grid-row: 2; }
 body:not(.wl) #main .directory-toolbar-slim > [hidden] { display: none !important; }
 body:not(.wl) #main .directory-toolbar-slim:not(:has(.provider-city-filter)) .medical-treatment-specialty { grid-column: 1 / -1; }
 body:not(.wl) #main .directory-toolbar-slim .medical-result-status,
 body:not(.wl) #main .directory-toolbar-slim:has(.provider-city-filter) .medical-result-status { grid-column: 1 / -1; min-height: 18px; margin: 0; font-size: 11px; }
 body:not(.wl) #main .directory-toolbar-slim :is(.search-input-wrap,.medical-select-trigger,select) { height: 40px !important; min-height: 40px !important; padding: 7px 10px; border-radius: 9px; }
 body:not(.wl) #main .directory-toolbar-slim .medical-select { width: 100%; min-width: 0; }
 body:not(.wl) #main .directory-toolbar-slim .medical-select-trigger { font-size: 13px; }
 body:not(.wl) #main .directory-toolbar-slim .search-input-wrap input { font-size: 16px; }
 body:not(.wl) #main .directory-toolbar-slim .medical-select-value { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
 body:not(.wl) #main .mobile-search-intro .search-page-form { display: grid; grid-template-columns: 18px minmax(0,1fr) auto; gap: 8px; padding: 6px 8px; border-radius: 10px; margin: 12px 0 0; }
 body:not(.wl) #main .mobile-search-intro .search-page-form input { min-width: 0; min-height: 44px; font-size: 16px; }
 body:not(.wl) #main .mobile-search-intro .search-page-form button { grid-column: 3; min-height: 44px; width: auto; padding: 8px 12px; font-size: 13px; }
 body:not(.wl) #main .mobile-search-intro + section { padding-top: 16px !important; }
 body:not(.wl) #main .mobile-search-intro .hero-sub { font-size: 13px; line-height: 1.5; margin-bottom: 10px !important; }
 body:not(.wl) #main .mobile-faq-intro { padding-top: calc(var(--nav-h,94px) + 12px); padding-bottom: 12px; }
 body:not(.wl) #main .mobile-faq-intro h1 { font-size: 24px !important; line-height: 1.25; margin-bottom: 6px; }
 body:not(.wl) #main .mobile-faq-intro p { font-size: 13px; line-height: 1.5; margin-bottom: 0; }
 body:not(.wl) #main .mobile-faq-intro .rd-facts { display: none; }
 body:not(.wl) #main .mobile-faq-intro + .rd-section { padding-top: 12px; }
 body:not(.wl) #main .medical-query-toolbar { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: 6px 8px; padding: 0; border: 0; background: transparent; box-shadow: none; margin-bottom: 12px; }
 body:not(.wl) #main .medical-query-toolbar .filter-bar { display: block !important; grid-column: 1 / -1; margin: 0; padding: 0; }
 body:not(.wl) #main .medical-query-toolbar :is(.medical-treatment-search-label,.medical-treatment-specialty > label) { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); margin: -1px; padding: 0; }
 body:not(.wl) #main .medical-query-toolbar .medical-treatment-specialty { min-width: 0; margin: 0; }
 body:not(.wl) #main .medical-query-toolbar :is(select,.search-input-wrap,.medical-select-trigger) { min-height: 40px !important; height: 40px !important; padding: 7px 10px; border-radius: 9px; }
 body:not(.wl) #main .medical-query-toolbar .medical-result-status { min-height: 40px; margin: 0; padding: 0; font-size: 11px; }
 body:not(.wl) #main .medical-query-toolbar .search-page-form { display: flex; align-items: center; gap: 8px; width: 100%; height: 44px !important; min-height: 44px !important; max-height: none; padding: 3px 6px; }
 body:not(.wl) #main .medical-query-toolbar .search-page-form input { min-width: 0; width: auto; flex: 1; min-height: 36px; font-size: 16px; }
 body:not(.wl) #main .medical-query-toolbar .search-page-form button { min-height: 36px; padding: 7px 10px; font-size: 13px; }
 body:not(.wl) #main .mobile-search-intro .search-page-form { min-height: 44px; padding: 3px 6px; }
 body:not(.wl) #main .mobile-search-intro .search-page-form :is(input,button) { min-height: 36px; }
}


/* Source: assets/css/mobile-active-state.css */
/* Selected mobile links use one indicator, not a text underline plus a row line. */
@media(max-width:768px) {
 body #navbar .nav-primary a:is([aria-current],.medical-nav-current,.medical-current-guide),
 body #navbar .nav-guide > summary:is(.medical-current-guide),
 body #navbar .medical-nav-current-group > summary {
  text-decoration: none !important; box-shadow: none !important;
  border-bottom: 2px solid #145e7a !important;
 }
 body #navbar .nav-primary a:is([aria-current],.medical-nav-current,.medical-current-guide)::after { display: none !important; }
 body.wl #navbar .nav-links > li > a:is([aria-current="page"],.active):not(.rd-switch) {
  text-decoration: none !important; box-shadow: none !important;
  border-bottom: 2px solid var(--wl-gold,#e3c28f);
 }
 body #main :is(.rd-tabs,.wl-subnav) a:is(.is-on,[aria-current="page"],[aria-selected="true"]) {
  text-decoration: none !important; border-bottom: 0 !important;
 }
 body #main .rd-tabs a:is(.is-on,[aria-current="page"],[aria-selected="true"]) { box-shadow: inset 0 -2px 0 var(--rd-blue,#145e7a); }
 body #main .wl-subnav a:is(.is-on,[aria-current="page"],[aria-selected="true"]) { box-shadow: inset 0 -2px 0 var(--wl-saffron,#c8862a); }
}


/* Source: assets/css/patient-ux.css */
/* Small component refinements; retain the existing theme and section spacing. */
.patient-enquiry-choice { display: flex; flex-wrap: wrap; gap: 10px; margin-bottom: 16px; }
.patient-enquiry-choice a { min-height: 44px; display: inline-flex; align-items: center; padding: 10px 14px; border: 1px solid #cbdde5; border-radius: 12px; text-align: center; }
body:not(.wl) #main .patient-enquiry-choice a[aria-current="page"] { background: #145e7a; color: #fff !important; border-color: #145e7a; }
.patient-fee-note { margin-block: 16px; padding: 14px 16px; border: 1px solid #cbdde5; border-radius: 14px; background: #f4f9fb; color: #153849; font-size: 14px; line-height: 1.6; }
body #main .patient-fee-note p { margin: 6px 0 8px; font-size: 14px; line-height: 1.6; color: #48606b !important; }
body #main .patient-fee-note :is(strong,a) { color: #145e7a !important; }
.patient-question-response { color: #48606b; font-size: 14px; }
.patient-preview-note { color: #48606b; font-size: 14px; margin: 0 0 12px; }
.patient-question-alternative { margin: 14px 0 0; }
.patient-question-alternative a { display: inline-flex; align-items: center; min-height: 44px; margin-inline-end: 12px; }
body #main .patient-enquiry-choice a:focus-visible, body #main .patient-fee-note a:focus-visible { outline: 3px solid #087fa3; outline-offset: 3px; }
body:not(.wl) #main .rd-brand-card.is-green span { color: #3f6526; }
body:not(.wl) #main .rd-brand-card[href="what-we-dont-do"] > span { color: #3f6526 !important; }
@media(max-width:768px) {
 .patient-enquiry-choice a { flex: 1 1 130px; justify-content: center; }
}


/* Source: assets/css/search-sheet.css */
body #rdSearch { padding: 6vh 20px 20px; background: rgba(21,56,73,.38); }
body #rdSearch .rd-search-box { width: min(720px,100%); max-height: 86dvh; background: #fff; border-radius: 20px; }
body #rdSearch .rd-search-in { padding: 12px 16px; gap: 10px; background: #fff; }
body #rdSearch .rd-search-in input { min-height: 48px; font-size: 16px; padding: 8px; }
body #rdSearch .rd-search-in [data-rd-close] { width: 44px; height: 44px; padding: 0; border-radius: 50%; font-size: 26px; line-height: 1; flex-shrink: 0; }
body #rdSearch .rd-search-scopes { display: flex; gap: 0; padding: 0 12px; mask-image: none; -webkit-mask-image: none; border-bottom: 1px solid #e1eaee; }
body #rdSearch .rd-search-scopes button { flex: 1; justify-content: center; min-width: 0; min-height: 44px; padding: 10px 4px; border: 0; border-radius: 0; background: transparent; color: #48606b; }
body #rdSearch .rd-search-scopes button[aria-pressed="true"] { background: transparent; color: #145e7a; box-shadow: inset 0 -2px #145e7a; }
body.wl #rdSearch .rd-search-scopes button[aria-pressed="true"] { background: transparent; color: var(--wl-forest,#1f3a2e); box-shadow: inset 0 -2px var(--wl-forest,#1f3a2e); }
body #rdSearch .rd-search-scopes .n { display: none !important; }
body #rdSearch .rd-search-results { padding: 4px 12px 16px; background: #fff; }
body #rdSearch .rd-search-hit { min-height: 64px; padding: 8px; gap: 12px; }
body #rdSearch .rd-search-hit .g { width: 44px; height: 44px; flex: 0 0 44px; overflow: hidden; border-radius: 10px; }
body #rdSearch .rd-search-hit .g img { width: 100%; height: 100%; min-width: 0; object-fit: cover; display: block; flex: 0 0 100%; }
body #rdSearch .rd-search-hit .g > [hidden] { display: none !important; }
body #rdSearch .rd-search-hit.is-treatment .g img { object-fit: contain; background: #fff; }
body #rdSearch .rd-search-hit .rd-search-text { flex: 1; min-width: 0; line-height: 1.35; }
body #rdSearch .rd-search-hit .rd-search-arrow { flex: 0 0 auto; color: #607b89; font-size: 18px; }
body #rdSearch .rd-search-hit small { font-size: 12px; line-height: 1.4; }
body #rdSearch .rd-search-more { min-height: 44px; color: #145e7a; font-size: 13px; font-weight: 600; }
@media(max-width:768px) {
 body #rdSearch { padding: 8px; align-items: stretch; }
 body #rdSearch .rd-search-box { width: 100%; height: 100%; max-height: 100%; border-radius: 16px; }
 body #rdSearch .rd-search-in { padding: 8px 12px; }
 body #rdSearch .rd-search-in input { min-height: 48px; font-size: 16px; }
 body #rdSearch .rd-search-scopes { padding: 0 8px; }
 body #rdSearch .rd-search-scopes { overflow-x: auto; }
 body #rdSearch .rd-search-scopes button { flex: 1 0 auto; min-width: max-content; font-size: 13px; padding-inline: 8px; white-space: nowrap; overflow-wrap: normal; word-break: normal; }
 body #rdSearch .rd-search-results { padding: 4px 8px max(16px,env(safe-area-inset-bottom)); }
 body #rdSearch .rd-search-hit { gap: 10px; }
 body #rdSearch .rd-search-hit b { font-size: 13px; line-height: 1.4; }
 body #rdSearch .rd-search-group { padding: 14px 8px 6px; }
 body #rdSearch .rd-search-foot { display: none; }
}


/* Source: assets/css/medical-hero-refresh.css */
/* Medical hero palette: navy, sky blue and warm amber. */
/* Blur only the map's outer edges; the central map and foreground stay sharp. */
@supports ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))) {
 body:not(.wl) #main .rd-hero-discovery .rd-hero-map::before {
  content: '';
  position: absolute;
  inset: 0;
  z-index: 2;
  pointer-events: none;
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
  mask-image: linear-gradient(90deg,#000 0%,transparent 26%,transparent 74%,#000 100%);
  -webkit-mask-image: linear-gradient(90deg,#000 0%,transparent 26%,transparent 74%,#000 100%);
 }
 @media(max-width:768px) {
  body:not(.wl) #main .rd-hero-discovery .rd-hero-map::before {
   backdrop-filter: blur(3px);
   -webkit-backdrop-filter: blur(3px);
   mask-image: linear-gradient(90deg,#000 0%,transparent 20%,transparent 80%,#000 100%);
   -webkit-mask-image: linear-gradient(90deg,#000 0%,transparent 20%,transparent 80%,#000 100%);
  }
 }
}
body:not(.wl) #main .rd-hero-discovery {
 background: radial-gradient(ellipse at 85% 40%,rgba(23,63,112,.93) 0%,rgba(16,43,76,.92) 45%,rgba(11,29,53,.91) 80%);
 color: #fff;
}
body:not(.wl) #main .rd-hero-discovery h1 {
 font-family: 'Cormorant Garamond',Georgia,serif; color: #fff;
 font-weight: 600; letter-spacing: -.02em; line-height: 1.12;
}
body:not(.wl) #main .rd-hero-discovery h1 strong { color: #8cc8f2; font-family: inherit; font-style: italic !important; font-weight: 600; }
body:not(.wl) #main .rd-hero-discovery .rd-hero-sub { color: #e0edf1; }
body:not(.wl) #main .rd-hero-discovery .rd-hero-map::after { background: none; }
body:not(.wl) #main .rd-hero-discovery .rd-hero-map svg { opacity: .7; }
body:not(.wl) #main .rd-hero-discovery .rd-hero-map text { fill: #d2e8ee; }
body:not(.wl) #main .rd-hero-discovery .rd-hero-map [fill="#93c5fd"] { fill: #629cac; }
body:not(.wl) #main .rd-hero-discovery .rd-hero-map [stroke="#93c5fd"] { stroke: #81bbc9; }
body:not(.wl) #main .rd-hero-discovery .rd-hero-map stop[stop-color="#93c5fd"],
body:not(.wl) #main .rd-hero-discovery .rd-hero-map stop[stop-color="#0066cc"],
body:not(.wl) #main .rd-hero-discovery .rd-hero-map stop[stop-color="#145e7a"] { stop-color: #145e7a; }
body:not(.wl) #main .rd-hero-discovery .rd-hero-fade {
 display: block; background: linear-gradient(90deg,#0b1d35 0%,rgba(11,29,53,.9) 32%,rgba(11,29,53,.4) 56%,transparent 78%);
}
body:not(.wl) #main .rd-hero-discovery .rd-hero-search {
 background: rgba(255,255,255,.08); color: #fff; border: 1px solid rgba(140,200,242,.42);
 backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px); box-shadow: inset 0 1px 0 #ffffff18;
}
body:not(.wl) #main .rd-hero-discovery .rd-hero-search .icon { color: #8cc8f2; }
body:not(.wl) #main .rd-hero-discovery .medical-hero-trust { color: #d2e8ee; }
body:not(.wl) #main .rd-hero-discovery .medical-hero-trust a { color: #8cc8f2; }
body:not(.wl) #main .rd-hero-discovery .medical-hero-trust .icon { color: #8cc8f2 !important; }
body:not(.wl) #main .rd-hero-discovery .rd-hero-actions > .rd-btn { background: #f5b544; color: #102b4c; border-color: #f5b544; }
body:not(.wl) #main .rd-hero-discovery .rd-hero-actions > .rd-btn:hover { background: #ffd078; border-color: #ffd078; }
body:not(.wl) #main .rd-hero-discovery .rd-hero-actions { align-items: center; gap: 10px; }
body:not(.wl) #main .rd-hero-discovery .rd-hero-actions > .telegram-link { width: auto; min-width: 0; height: auto; min-height: 48px; flex: 0 1 auto; padding: 11px 18px; gap: 8px; display: inline-flex; justify-content: center; align-items: center; background: #eaf6fd; color: #087ab2; border: 1px solid #bddfee; border-radius: 999px; box-sizing: border-box; }
body:not(.wl) #main .rd-hero-discovery .rd-hero-actions > .telegram-link .icon { display: block; width: 22px; height: 22px; flex: 0 0 22px; color: #168ac4 !important; }
body:not(.wl) #main .rd-hero-discovery .rd-hero-actions > .telegram-link span { display: inline; }
body:not(.wl) #main .rd-hero-discovery .hero-search-mobile { display: none; }
body:not(.wl) .rd-logo-tile-max img { width: 120px; max-width: 100%; height: 28px; object-fit: contain; }
body:not(.wl) #main .rd-hero-discovery .rd-hero-stats { border-top-color: #8cc8f233; }
body:not(.wl) #main .rd-hero-discovery .rd-hero-stats b { color: #fff; }
body:not(.wl) #main .rd-hero-discovery .rd-hero-stats span { color: #c4dde5; }
body:not(.wl) #main .rd-hero-discovery .rd-hero-legend .lbl { color: #c4dde5; }
body:not(.wl) #main .rd-hero-discovery .rd-hero-legend .key { background: #102b4cb3; color: #e0edf1; border-color: #8cc8f233; }
body:not(.wl) #navbar.nav-reference,
body:not(.wl) #navbar.nav-reference.scrolled {
 background: rgba(255,255,255,.88);
 border-bottom: 1px solid rgba(21,56,73,.12);
 box-shadow: 0 4px 16px rgba(21,56,73,.07);
 backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px);
}
body:not(.wl) #navbar.nav-reference::before { background: none; border: 0; box-shadow: none; }
body:not(.wl) #navbar.nav-reference .nav-utility { background: #145e7a; box-shadow: none; backdrop-filter: none; -webkit-backdrop-filter: none; }
body:not(.wl) #navbar.nav-reference a.telegram-link { min-width: 40px; min-height: 40px; padding: 8px; }
body:not(.wl) #navbar.nav-reference a.telegram-link .icon { display: block; width: 20px; height: 20px; flex: 0 0 20px; }
/* Equal circular icon controls; labelled navigation actions remain pills. */
body:not(.wl) #navbar.nav-reference :is(.nav-search-link,.mobile-menu-btn),
body:not(.wl) #navbar.nav-reference .nav-actions > .medical-nav-whatsapp {
 width: 44px; height: 44px; min-width: 44px; min-height: 44px;
 padding: 0; border-radius: 50% !important; box-sizing: border-box;
 align-items: center; justify-content: center; flex-shrink: 0;
 border: 1px solid rgba(20,94,122,.18);
}
body:not(.wl) #navbar.nav-reference .nav-actions > .medical-nav-whatsapp span { display: none; }
body:not(.wl) #navbar.nav-reference .nav-actions > .medical-nav-whatsapp .icon { width: 20px; height: 20px; flex: 0 0 20px; }
body:not(.wl) #navbar.nav-reference :is(.nav-search-link,.mobile-menu-btn) { background: rgba(255,255,255,.65); box-shadow: none; }
body:not(.wl) #navbar.nav-reference .nav-cta { border-radius: 999px; background: #145e7a !important; border-color: transparent; box-shadow: none; }
body:not(.wl) #navbar.nav-reference :is(.nav-mode,.medical-visible-mode) .rd-switch,
body:not(.wl) #navbar.nav-reference :is(.nav-mode,.medical-visible-mode) .rd-switch span { border-radius: 999px; box-shadow: none; }
@media(min-width:1201px) {
 body:not(.wl) #navbar.nav-reference .nav-primary { background: transparent; border-color: transparent; box-shadow: none; backdrop-filter: none; -webkit-backdrop-filter: none; border-radius: 999px; }
 body:not(.wl) #navbar.nav-reference .lang-switch > summary { border-radius: 999px; background: transparent; box-shadow: none; }
}
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))) {
 body:not(.wl) #navbar.nav-reference,body:not(.wl) #navbar.nav-reference.scrolled { background: #fff; }
}
@media(min-width:1201px) {
 body:not(.wl) #main .rd-hero-discovery .rd-hero-map { left: 0; right: 0; }
}
@media(max-width:768px) {
 body:not(.wl) #main .rd-hero-discovery .rd-hero-fade { background: linear-gradient(90deg,rgba(11,29,53,.92),rgba(11,29,53,.78)),linear-gradient(0deg,rgba(11,29,53,.9),transparent); }
 body:not(.wl) #main .rd-hero-discovery .rd-hero-search { min-height: 44px; height: 44px; box-sizing: border-box; padding: 8px 12px; margin-bottom: 14px; gap: 8px; }
 body:not(.wl) #main .rd-hero-discovery .hero-search-full { display: none; }
 body:not(.wl) #main .rd-hero-discovery .hero-search-mobile { display: block; white-space: nowrap; }
 body:not(.wl) #main .rd-hero-discovery .rd-hero-actions > .telegram-link { width: 100%; min-height: 44px; flex: 0 1 100%; }
 body:not(.wl) .rd-logo-tile-max { width: 128px; min-width: 128px; box-sizing: border-box; }
 body:not(.wl) .rd-logo-tile-max small { white-space: nowrap; font-size: 9px; }
}


/* Source: assets/css/animated-lotus.css */
/* Brand vector watermark: twelve waving petals with a stationary centre. */
body:not(.wl) #main .rd-brand { position: relative; overflow: hidden; }
body:not(.wl) #main .rd-brand > .rd-wrap,
body:not(.wl) #main .rd-brand-grid { position: static; }
body:not(.wl) #main .rd-brand .rd-brand-water { display: none; }
body:not(.wl) #main .rd-brand-mark::before { content: none; }
body:not(.wl) #main .rd-brand-grid > .rd-brand-mark {
  position: absolute; left: 0; top: 50%;
  width: clamp(420px, 42vw, 720px); max-width: none;
  height: auto; aspect-ratio: 1;
  transform: translate(-50%, -50%); opacity: .58;
  pointer-events: none; z-index: 0;
}
body:not(.wl) #main .rd-brand-mark .rd-lotus-vector {
  display: block; width: 100%; height: auto; overflow: visible;
}
body:not(.wl) #main .rd-lotus-vector-petal {
  transform-box: fill-box;
  transform-origin: 50% 100%;
  fill: #145e7a;
  animation: rd-lotus-vector-wave 4.2s ease-in-out var(--wave-delay, 0s) infinite;
}
body:not(.wl) #main .rd-brand-grid > .rd-brand-mark + div {
  position: relative; grid-column: 2; z-index: 1;
}
@keyframes rd-lotus-vector-wave {
  0%,100% { transform: rotate(-5deg) scaleY(.92); fill: #145e7a; }
  50% { transform: rotate(5deg) scaleY(1.12); fill: #087fa3; }
}
@media (max-width: 1024px) {
  body:not(.wl) #main .rd-brand-grid > .rd-brand-mark + div { grid-column: 1; }
  body:not(.wl) #main .rd-brand-grid > .rd-brand-mark { opacity: .2; }
}
@media (max-width: 768px) {
  body:not(.wl) #main .rd-brand-grid { grid-template-columns: minmax(0,1fr); }
  body:not(.wl) #main .rd-brand-grid > .rd-brand-mark {
    width: 360px; height: auto; grid-column: auto; grid-row: auto;
    transform: translate(-50%, -50%);
  }
  body:not(.wl) #main .rd-brand-grid > .rd-brand-mark + div > :first-child {
    grid-column: 1 / -1;
  }
}
@media (prefers-reduced-motion: reduce) {
  body:not(.wl) #main .rd-lotus-vector-petal { animation: none; }
}

/* Footer watermark uses the same accessible vector animation as the brand section. */
footer .rd-footer-water {
  display: grid;
  place-items: center;
}
footer .rd-footer-water .rd-lotus-vector {
  display: block;
  width: 100%;
  height: 100%;
  overflow: visible;
}
footer .rd-footer-water .rd-lotus-vector-petal {
  transform-box: fill-box;
  transform-origin: 50% 100%;
  fill: #65aeca;
  animation: rd-lotus-vector-wave 4.2s ease-in-out var(--wave-delay, 0s) infinite;
}
@media (prefers-reduced-motion: reduce) {
  footer .rd-footer-water .rd-lotus-vector-petal { animation: none; }
}


/* Source: assets/css/treatment-images.css */
/* One treatment-specific illustration shared by cards, heroes and overviews. */
body:not(.wl) #main .medical-treatment-paper { background: #fff; }
body:not(.wl) #main .medical-treatment-paper img { padding: 6px; object-fit: contain; }
body:not(.wl) #main .medical-treatment-hero .medical-treatment-image {
 aspect-ratio: 3 / 2; height: auto; max-height: 320px; object-fit: contain;
 border-radius: 16px; background: #fff;
}
@media (max-width:768px) {
 body:not(.wl) #main .medical-treatment-hero .medical-treatment-image,
 body:not(.wl) #main .medical-treatment-hero.medical-mobile-arranged .medical-treatment-image {
  width: min(270px,100%); height: 180px; max-height: 180px; margin: 4px auto 12px;
 }
 body:not(.wl) #main .medical-treatment-overview { height: 180px !important; }
}


/* Source: assets/css/ui-refinements.css */
/* Keep the wide season table inside its own scroll area on Wellness pages. */
body.wl #main .wl-cal-scroll {
  min-width: 0; max-width: 100%; contain: layout paint;
}

/* Shared directory controls: compact search and aligned filter fields. */
body:not(.wl) #main .directory-toolbar-slim,
body:not(.wl) #main .directory-toolbar-slim:has(.provider-city-filter) {
  grid-template-columns: minmax(0, 4fr) minmax(0, 3fr);
  max-width: none;
  gap: 8px 12px;
  align-items: end;
}
body:not(.wl) #main .directory-toolbar-slim:has(.provider-city-filter) {
  grid-template-columns: minmax(0, 4fr) minmax(0, 3fr) minmax(0, 3fr);
}
body:not(.wl) #main .directory-toolbar-slim > :is(.filter-bar,.provider-city-filter,.medical-treatment-specialty) {
  grid-column: auto;
  grid-row: auto;
  min-width: 0;
  margin: 0;
}
body:not(.wl) #main .directory-toolbar-slim > .filter-bar { order: 0; }
body:not(.wl) #main .directory-toolbar-slim > .provider-city-filter { order: 1; }
body:not(.wl) #main .directory-toolbar-slim > .medical-treatment-specialty { order: 2; }
body:not(.wl) #main .directory-toolbar-slim > .medical-result-status {
  order: 3;
  grid-column: 1 / -1;
}
body:not(.wl) #main .directory-toolbar-slim .provider-city-filter label {
  position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px;
  overflow: hidden; clip-path: inset(50%); white-space: nowrap; border: 0;
}
body:not(.wl) #main .directory-toolbar-slim :is(.search-input-wrap,.medical-select-trigger,select) {
  height: 44px !important;
  min-height: 44px !important;
  max-height: 44px;
  box-sizing: border-box;
}
body:not(.wl) #main .directory-toolbar-slim .search-input-wrap .icon {
  width: 16px; height: 16px; flex: 0 0 16px;
}
body:not(.wl) #main .directory-toolbar-slim > [hidden] { display: none !important; }
@media (max-width: 768px) {
  body:not(.wl) #main .directory-toolbar-slim,
  body:not(.wl) #main .directory-toolbar-slim:has(.provider-city-filter) {
    grid-template-columns: minmax(0, 1fr);
  }
  body:not(.wl) #main .directory-toolbar-slim > :is(.filter-bar,.provider-city-filter,.medical-treatment-specialty,.medical-result-status),
  body:not(.wl) #main .directory-toolbar-slim:has(.provider-city-filter) > :is(.provider-city-filter,.medical-treatment-specialty,.medical-result-status) {
    grid-column: 1 / -1;
    grid-row: auto;
  }
}

/* Consolidated from homepage-hospital-mobile.css */
/* Only the homepage hospital preview changes; directory and desktop stay intact. */
@media (max-width: 768px) {
  body:not(.wl) #main .medical-hospital-carousel:has(#hospRail) {
    min-width: 0;
    max-width: 100%;
    padding: 0;
  }
  body:not(.wl) #main #hospRail {
    display: flex;
    flex-direction: row;
    align-items: stretch;
    gap: 12px;
    max-width: 100%;
    overflow-x: auto;
    overflow-y: hidden;
    scroll-snap-type: x mandatory;
    padding: 4px 0 12px;
    overscroll-behavior-x: contain;
  }
  body:not(.wl) #main #hospRail > .rd-hcard {
    flex: 0 0 calc(100% - 28px);
    width: calc(100% - 28px);
    min-width: 0;
    height: auto;
    scroll-snap-align: start;
    box-sizing: border-box;
  }
  body:not(.wl) #main .medical-hospital-carousel:has(#hospRail) .rd-rail-btns {
    display: flex;
    position: static;
    order: -1;
    justify-content: flex-end;
    gap: 8px;
    margin-bottom: 8px;
    pointer-events: auto;
  }
  body:not(.wl) #main .medical-hospital-carousel:has(#hospRail) .rd-rail-btns button {
    position: static;
    transform: none;
    width: 44px;
    height: 44px;
    flex: 0 0 44px;
  }
}

/* Consolidated from care-way-icons.css */
/* A consistent Massvaa teal line style, scoped to the homepage information cards. */
body:not(.wl) #main .massvaa-care-links .massvaa-care-badge {
  width: 44px;
  height: 44px;
  border-radius: 50%;
  border: 1px solid #cbdfe5;
  background: #eef6f8;
  color: #145e7a;
  box-sizing: border-box;
}
.massvaa-care-icon { width: 24px; height: 24px; flex-shrink: 0; }
body:not(.wl) #main .massvaa-care-links > .rd-brand-card > span { color: #145e7a; }

/* Consolidated from layout-alignment.css */
/* Shared alignment corrections. Keep each theme's colours, type and section rhythm. */
body #main :is(.rd-explorer,.content-grid,.rd-split,.rd-contact-grid,.rd-est-grid,.wl-page-grid,.wl-faq) > * {
  min-width: 0;
}
body #main :is(.rd-head,.section-heading,.wl-programme-head) > * { min-width: 0; }
body:not(.wl) #main .rd-head { align-items: flex-start; }
body:not(.wl) #main .rd-head > div > .rd-h2 { margin-bottom: 0; }
body:not(.wl) #main .rd-head > .rd-lead { margin-block: 0; }

/* A centred heading needs a centred paragraph too, even when it has a text measure. */
body:not(.wl) #main .rd-est-grid > div:first-child:not(.rd-est) > .rd-lead {
  margin-inline: auto;
}
body:not(.wl) #main #estimator .rd-est { max-width: none; }
body:not(.wl) #main .rd-est-grid > .rd-est { align-self: stretch; min-width: 0; }

/* Preserve the asymmetric navigation/content proportions, but align their outer edges. */
@media (min-width: 1101px) {
  body:not(.wl) #main #specialties.medical-specialty-redesign .rd-explorer { align-items: stretch; }
  body:not(.wl) #main #specialties.medical-specialty-redesign .rd-explorer > div:has(> .rd-panel) {
    display: flex;
    flex-direction: column;
    min-width: 0;
  }
  body:not(.wl) #main #specialties.medical-specialty-redesign .rd-panel:not([hidden]),
  body:not(.wl) #main #specialties.medical-specialty-redesign .rd-panel-body {
    display: flex;
    flex-direction: column;
    flex: 1;
  }
  body:not(.wl) #main #specialties.medical-specialty-redesign .rd-panel-actions { margin-top: auto; }
  body:not(.wl) #main #specialties.medical-specialty-redesign .medical-specialty-sidebar {
    display: flex;
    flex-direction: column;
    padding: 20px;
    border: 1px solid var(--rd-line);
    border-radius: 26px;
    background: #fff;
    box-sizing: border-box;
  }
  body:not(.wl) #main #specialties.medical-specialty-redesign .medical-specialty-sidebar .medical-more-button {
    margin-top: auto;
  }
  body:not(.wl) #main #specialties.medical-specialty-redesign .rd-spec-list { margin-bottom: 14px; }
}
body:not(.wl) #main #specialties.medical-specialty-redesign .medical-specialty-overview {
  grid-template-columns: minmax(0,1fr) 120px;
  gap: 20px;
  margin-bottom: 16px;
}
body:not(.wl) #main #specialties.medical-specialty-redesign .rd-panel-art { width: 120px; height: 120px; }
body:not(.wl) #main #specialties.medical-specialty-redesign .rd-panel-actions > a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  box-sizing: border-box;
}

/* Let content grow without moving neighbouring cards' actions to different heights. */
body #main :is(.rd-hcard,.rd-doc,.wl-prog):not([hidden]) { display: flex; flex-direction: column; }
body #main :is(.rd-hcard-body,.rd-doc-body,.wl-prog-body) {
  display: flex;
  flex-direction: column;
  flex: 1;
  min-width: 0;
}
body #main :is(.rd-hcard-img,.rd-doc-img,.wl-prog-band) { flex-shrink: 0; }
body #main :is(.rd-hcard-actions,.rd-txcard-actions) { margin-top: auto; }
body:not(.wl) #main :is(.hospital-card,.doctor-card) > .provider-card-actions { margin-top: auto; }
body:not(.wl) #main .doctor-card > div:last-child { margin-top: auto; }
body.wl #main .wl-prog-body > .wl-tags { margin-top: auto; }
body #main .rd-brand-cards > .rd-brand-card { display: flex; flex-direction: column; min-width: 0; }
body #main .rd-brand-cards > .rd-brand-card > span:last-child { margin-top: auto; padding-top: 10px; }
body #main :is(.rd-hcard-body,.rd-doc-body,.wl-prog-body,.wl-card-body) :is(h3,p) { overflow-wrap: anywhere; }
body #main :is(.rd-panel-actions,.wl-prog-actions) { flex-wrap: wrap; }
body #main :is(.rd-panel-actions,.wl-prog-actions) > a { max-width: 100%; min-width: 0; }

@media (max-width: 768px) {
  body:not(.wl) #main .rd-head > .rd-lead { margin-top: 10px; }
  body:not(.wl) #main #specialties.medical-specialty-redesign .medical-specialty-overview {
    grid-template-columns: minmax(0,1fr) 88px;
    gap: 12px;
    align-items: start;
  }
  body:not(.wl) #main #specialties.medical-specialty-redesign .rd-panel-art { width: 88px; height: 88px; }
  body:not(.wl) #main #specialties.medical-specialty-redesign .rd-panel-actions { align-items: stretch; }
}
/* Discovery artwork scales with the wider cards across Medical routes. */
body:not(.wl).medical-refined #main .medical-task-links .medical-task-sticker {
  width: 100%;
  max-width: 100%;
  height: clamp(144px, 12vw, 216px);
  object-fit: contain;
  justify-self: center;
}
@media (min-width: 769px) {
  body:not(.wl).medical-refined #main .medical-task-links a {
    min-height: 0;
    grid-template-rows: auto auto;
    align-content: start;
  }
}
@media (max-width: 768px) {
  body:not(.wl).medical-refined #main .medical-task-links .medical-task-sticker {
    width: clamp(88px, 24vw, 128px);
    height: clamp(88px, 24vw, 128px);
    flex: 0 0 auto;
  }
}
@media (max-width: 380px) {
  body:not(.wl) #main #specialties.medical-specialty-redesign .medical-specialty-overview { grid-template-columns: minmax(0,1fr); }
  body:not(.wl) #main #specialties.medical-specialty-redesign .rd-panel-art { justify-self: center; }
}


/* Source: assets/css/ux-consistency.css */
/* Shared alignment across medical and wellness pages. */
body .icon { vertical-align: middle; flex-shrink: 0; }
body :is(.ic,.rd-ico,.meta-pill-icon,.detail-card-icon,.doctor-avatar,.rd-step-dot,.massvaa-care-badge,.medical-paper-holder) {
  display: inline-flex; align-items: center; justify-content: center;
}
body #main :is(.medical-paper-holder,.medical-care-paper) { object-fit: contain; }
body #main :is(.rd-card,.rd-brand-card,.medical-stage,.medical-topic-card,.rd-step,.rd-flow-card) > :is(.ic,.medical-paper-holder,.medical-care-paper,.rd-step-dot) {
  display: flex; margin-inline: auto;
}
body #main .medical-paper-holder > img { display: block; object-fit: contain; margin: auto; }
body #main :is(.btn-primary,.btn-outline,.btn-outline-teal,.rd-btn,.rd-btn-line,.rd-btn-ghost,.form-submit,.wl-btn,.wl-ghost) {
  align-items: center; justify-content: center; gap: 8px; text-align: center;
}
body #main :is(.doctor-hospital,.hospital-location) { display: flex; align-items: center; gap: 6px; }
body #main .doctor-hospital { justify-content: center; }
body #main .doctor-card .doctor-spec-pill { line-height: 1.45; }
body #main .doctor-card > div:last-child { margin-top: auto; padding-top: 14px; }
body #main .medical-quote-action { padding: 0 !important; border: 0; background: transparent; box-shadow: none; }
/* Secondary information should read as links rather than competing buttons. */
body #main .massvaa-care-links { grid-template-columns: repeat(2,minmax(0,1fr)); }
@media (max-width: 480px) {
  body #main .massvaa-care-links { grid-template-columns: minmax(0,1fr); }
}

/* A text underline gives navigation feedback without a rectangular hover fill. */
body #navbar.nav-reference .nav-primary > li > a:is(:hover,:focus-visible,.active,.medical-nav-current),
body #navbar.nav-reference .nav-primary > li > .nav-guide > summary:is(:hover,:focus-visible) {
  background: transparent !important; box-shadow: none; border-radius: 0;
}
body #navbar.nav-reference .nav-primary > li > a { transition: color .2s ease; }
body #navbar.nav-reference .nav-primary > li > a::after { pointer-events: none; }
body.wl #navbar .nav-links > li > a:not(.rd-switch,.nav-cta,.nav-wa-btn,.telegram-link,.nav-search-link):is(:hover,:focus-visible) {
  background: transparent !important;
  text-decoration: underline;
  text-underline-offset: 6px;
}
body #navbar.nav-reference :is(.nav-search-link,.medical-nav-whatsapp,.wellness-nav-whatsapp) {
  display: inline-flex; align-items: center; justify-content: center;
}
/* Keep keyboard focus visible while avoiding browser click-focus boxes. */
body :is(a,button,summary):focus-visible { outline: 3px solid #1683a5; outline-offset: 4px; }
body :is(a,button,summary):focus:not(:focus-visible) { outline: none; }
@media (prefers-reduced-motion: reduce) {
  body *,body *::before,body *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; transition-duration: .01ms !important; }
}

/* Center page content with 8% breathing room on each desktop side. */
body { --page-gutter: 8vw; }
@media (max-width: 1024px) { body { --page-gutter: 20px; } }
@media (max-width: 600px) { body { --page-gutter: 12px; } }
body #main :is(.rd-wrap,.section-inner,.rd-hero-inner,.medical-support-wrap),
body.medical-aligned-guide #main > section > :is(.rd-wrap,.section-inner) {
  width: 100% !important;
  max-width: none !important;
  margin-inline: auto !important;
  padding-inline: var(--page-gutter) !important;
  box-sizing: border-box;
}
/* Nested wrappers share their parent's gutter instead of adding another one. */
body #main :is(.rd-wrap,.section-inner) :is(.rd-wrap,.section-inner,.medical-support-wrap) {
  padding-inline: 0 !important;
}
body #main > section:has(> :is(.rd-wrap,.section-inner)) { padding-inline: 0 !important; }
body #main :is(.medical-profile-content,.medical-guide-content,.rd-contact-main,.rd-faq,
  .medical-section-menu,.provider-evidence,.rd-est-grid,.wl-page-grid,
  .provider-toolbar,.medical-treatment-toolbar,.search-page-form,
  .rd-prose,.medical-policy,.rd-readable,.medical-readable:not(p)) {
  width: 100%; max-width: none !important; margin-inline: 0;
}
/* Limit prose line length without narrowing card grids, forms or whole sections. */
body #main :is(.rd-prose,.medical-policy,.rd-readable,.premium-structured-content) > p {
  max-width: 90ch;
}
body #navbar .nav-inner,
body #navbar.nav-reference :is(.nav-inner,.nav-utility-inner) {
  width: 100% !important; max-width: none !important; margin-inline: 0;
  padding-inline: var(--page-gutter) !important;
}
body footer :is(.footer-assurance,.footer-inner,.footer-countries,.footer-bottom) {
  width: 100% !important; max-width: none !important; margin-inline: 0;
  padding-inline: var(--page-gutter) !important;
}
/* Wellness swipe rails previously bled by a fixed 24px beyond their container. */
@media (max-width: 700px) {
  body.wl :is(.wl-trads,.wl-progs,.wl-section .wl-cards,.wl-aud) {
    margin-inline: calc(-1 * var(--page-gutter));
    padding-inline: var(--page-gutter);
    scroll-padding-inline: var(--page-gutter);
    max-width: calc(100% + 2 * var(--page-gutter));
  }
}

/* Each care mode is an independent destination with a clear current state. */
.rd-switch.care-mode-switch{display:inline-flex;align-items:center;gap:3px;padding:3px;border-radius:999px;background:#edf2f2;}
.rd-switch.care-mode-switch>a{display:inline-flex!important;align-items:center;justify-content:center;gap:6px;padding:5px 13px!important;border:0!important;border-radius:999px;color:#234754!important;background:transparent!important;text-decoration:none!important;line-height:1.35;font-size:13px;}
.rd-switch.care-mode-switch>a[aria-current="page"]{background:#173e50!important;color:#fff!important;}
.rd-switch.care-mode-switch>a>span{padding:0!important;background:transparent!important;color:inherit!important;}
.rd-switch.care-mode-switch .lotus{width:18px;height:18px;object-fit:contain;}
.enquiry-context{padding:12px 16px;background:#edf5f5;border-radius:10px;line-height:1.5;}
.rd-cform fieldset{scroll-margin-top:145px;}
.rd-prose p a,.rd-prose li a,.medical-readable p a{ text-decoration:underline;text-underline-offset:3px;}
.rd-lang-notice{color:#37535b!important;}
@media(max-width:768px){
 .rd-contact-hero .rd-quick{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;}
 .rd-contact-hero .rd-quick-card{display:flex;flex-direction:column;gap:6px;text-align:center;padding:12px 6px;min-width:0;}
 .rd-contact-hero .rd-quick-card small{font-size:10px;overflow-wrap:anywhere;}
 .rd-contact-hero .rd-quick-card svg{width:22px;height:22px;}
 .provider-toolbar input,.medical-filterbar input{min-width:0;}
 .medical-paper-scene{max-height:220px;overflow:hidden;}
 .rd-cardgrid .medical-wide-paper{max-height:170px;object-fit:contain;}
}
.provider-hospital-filter{min-width:250px;flex:1;}
.provider-hospital-filter select{width:100%;max-width:none;}
.estimate-exclusions{font-size:.84rem;color:#425b65;line-height:1.5;margin:10px 0 18px;max-width:65ch;}
.rd-dodont{align-items:start;}
.rd-flow-arrow{color:#355c2e!important;}
.rd-step small,.rd-step .label{color:#955015;}
.wl-more>a{color:#734e17!important;text-decoration:underline;}
body.medical-page-medical-visa h4{color:#835218!important;}
@media(max-width:768px){
 body #main .provider-doctor-card{display:grid!important;grid-template-columns:66px minmax(0,1fr);gap:7px 14px;padding:20px;text-align:start;align-items:start;}
 body #main .provider-doctor-card[style*="display: none"]{display:none!important;}
 body #main .provider-doctor-card .doctor-avatar{grid-column:1;grid-row:1 / span 4;width:66px;height:76px;margin:0;}
 body #main .provider-doctor-card>:not(.doctor-avatar){grid-column:2;max-width:100%;}
 body #main .provider-doctor-card .doctor-name{font-size:1.12rem;line-height:1.35;}
 body #main .provider-doctor-card .doctor-spec-pill{font-size:.7rem;justify-self:start;}
 body #main .provider-doctor-card .doctor-hospital{justify-content:flex-start;font-size:.78rem;}
 body #main .provider-doctor-card .provider-experience{font-size:.73rem;justify-self:start;}
 body #main .provider-doctor-card>div:last-child{grid-column:1 / -1;padding-top:8px;}
 body #main .provider-doctor-card.provider-page-hidden{display:none!important;}
 .provider-hospital-filter{min-width:0;width:100%;}
 .rd-toc>details>summary{font-weight:700;cursor:pointer;padding:12px 0;}
}
body[data-medical-page="medical-visa"] h4{color:#835218!important;}
.lang-notice-cta{background:#225c70!important;color:#fff!important;}
.rd-toc summary{font-weight:700;color:#193e50;cursor:pointer;}
.provider-hospital-filter .medical-select{width:100%;max-width:none;}
body #main .rd-step-n{color:#955015;}
body.wl .wl-prog-body>p{color:#5e5a50!important;}
body.wl .wl-tags>span{color:#44573f!important;}
body.wl .wl-go{color:#8a4d36!important;}
body:not(.wl) #main .provider-hospital-filter .medical-select{display:block;width:100%!important;max-width:none!important;}
body:not(.wl) #main .provider-hospital-filter .medical-select-trigger{width:100%!important;max-width:none!important;}
body:not(.wl) #main .provider-hospital-filter .medical-select-value{white-space:normal;overflow-wrap:anywhere;}

/* Shared directory controls: compact search and aligned filter fields. */
body:not(.wl) #main .directory-toolbar-slim,
body:not(.wl) #main .directory-toolbar-slim:has(:is(.provider-city-filter,.provider-hospital-filter)) {
  grid-template-columns: minmax(0, 4fr) minmax(0, 3fr);
  max-width: none;
  gap: 8px 12px;
  align-items: end;
}
body:not(.wl) #main .directory-toolbar-slim:has(:is(.provider-city-filter,.provider-hospital-filter)) {
  grid-template-columns: minmax(0, 4fr) minmax(0, 3fr) minmax(0, 3fr);
}
body:not(.wl) #main .directory-toolbar-slim > :is(.filter-bar,.provider-city-filter,.provider-hospital-filter,.medical-treatment-specialty) {
  grid-column: auto;
  grid-row: auto;
  min-width: 0;
  margin: 0;
}
body:not(.wl) #main .directory-toolbar-slim > .filter-bar { order: 0; }
body:not(.wl) #main .directory-toolbar-slim > :is(.provider-city-filter,.provider-hospital-filter) { order: 1; }
body:not(.wl) #main .directory-toolbar-slim > .medical-treatment-specialty { order: 2; }
body:not(.wl) #main .directory-toolbar-slim > .medical-result-status {
  order: 3;
  grid-column: 1 / -1;
}
body:not(.wl) #main .directory-toolbar-slim :is(.provider-city-filter,.provider-hospital-filter) label {
  position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px;
  overflow: hidden; clip-path: inset(50%); white-space: nowrap; border: 0;
}
body:not(.wl) #main .directory-toolbar-slim :is(.search-input-wrap,.medical-select-trigger,select) {
  height: 44px !important;
  min-height: 44px !important;
  max-height: 44px;
  box-sizing: border-box;
}
body:not(.wl) #main .directory-toolbar-slim .search-input-wrap .icon {
  width: 16px; height: 16px; flex: 0 0 16px;
}
body:not(.wl) #main .directory-toolbar-slim > [hidden] { display: none !important; }
@media (max-width: 768px) {
  body:not(.wl) #main .directory-toolbar-slim,
  body:not(.wl) #main .directory-toolbar-slim:has(:is(.provider-city-filter,.provider-hospital-filter)) {
    grid-template-columns: minmax(0, 1fr);
  }
  body:not(.wl) #main .directory-toolbar-slim > :is(.filter-bar,.provider-city-filter,.provider-hospital-filter,.medical-treatment-specialty,.medical-result-status),
  body:not(.wl) #main .directory-toolbar-slim:has(:is(.provider-city-filter,.provider-hospital-filter)) > :is(.provider-city-filter,.provider-hospital-filter,.medical-treatment-specialty,.medical-result-status) {
    grid-column: 1 / -1;
    grid-row: auto;
  }
}


body:not(.wl) #main .directory-toolbar-slim .provider-hospital-filter { min-width:0; margin:0; }


/* Source: assets/css/medical-content-visibility.css */
body:not(.wl) #main .medical-visible-info {
  min-width: 0; padding: 16px 0; margin: 0;
  border: 0; border-block-end: 1px solid #dce7eb;
  background: transparent; box-shadow: none;
}
body:not(.wl) #main .medical-visible-info-title {
  font-size: clamp(18px, 1.4vw, 22px); line-height: 1.4;
  margin: 0 0 10px; color: #153849;
}
body:not(.wl) #main .medical-visible-info > :last-child { margin-bottom: 0; }
body:not(.wl) #main .medical-visible-info p { max-width: 85ch; }
body:not(.wl) #main .medical-visible-info :is(ul,ol) { padding-inline-start: 22px; }
body:not(.wl) #main .medical-visible-info li + li { margin-top: 6px; }
body:not(.wl) #main .medical-supporting-details { margin-block: 0 16px; }
body:not(.wl) #main .medical-readable-section { padding-block: 28px; }
body:not(.wl) #main .medical-step-details {
  display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 0 24px;
}
body:not(.wl) #main .medical-visible-info .medical-wide-paper {
  display: block; width: 100%; height: auto !important; max-width: 260px; max-height: 180px; object-fit: contain;
}
@media (max-width: 768px) {
  body:not(.wl) #main .medical-step-details { grid-template-columns: minmax(0,1fr); }
  body:not(.wl) #main .medical-visible-info { padding-block: 12px; }
}
/* Plain fee guidance should not look like a second bordered form. */
body:not(.wl) #main .patient-fee-note {
  background: transparent; border: 0; border-radius: 0; box-shadow: none;
  padding: 12px 20px; margin-block: 12px;
}
/* A small illustration must not reserve a full-width, fixed-ratio panel. */
body:not(.wl) #main .medical-visible-info .medical-paper-scene {
  width: min(100%, 420px) !important; height: auto !important; min-height: 0;
  max-height: none; aspect-ratio: auto !important; background: transparent;
  border: 0; border-radius: 0 !important; box-shadow: none !important;
  margin: 0 auto 18px !important; overflow: visible !important;
}
body:not(.wl) #main .medical-visible-info .medical-paper-scene img.medical-wide-paper {
  width: 100% !important; max-width: 420px; height: auto !important;
  max-height: 180px; object-fit: contain !important; background: transparent;
  mix-blend-mode: multiply;
}
body:not(.wl) #main .medical-visible-info > img.medical-wide-paper {
  margin-inline: auto;
}
body[data-medical-page="medical-visa"] #main .medical-visible-info > .reveal {
  padding: 0 !important; background: transparent !important;
  border-radius: 0 !important; box-shadow: none !important; margin-bottom: 0 !important;
}
body[data-medical-page="medical-visa"] #main .medical-visible-info:has(.medical-paper-scene) > .medical-visible-info-title,
body[data-medical-page="medical-visa"] #main .medical-visible-info:has(.medical-paper-scene) > .reveal > p {
  text-align: center; margin-inline: auto;
}
body:not(.wl) #main ol.medical-journey-list {
  display: grid; grid-template-columns: minmax(0,1fr); gap: 0;
  list-style: none; width: 100%; max-width: 960px; padding: 0; margin: 0;
}
body:not(.wl) #main .medical-journey-list > .medical-journey-step {
  position: relative; display: grid; grid-template-columns: 42px minmax(0,1fr);
  column-gap: 18px; row-gap: 6px; padding: 18px 0; border: 0;
}
body:not(.wl) #main .medical-journey-number {
  grid-column: 1; grid-row: 1 / 3; display: flex; align-items: center;
  justify-content: center; width: 42px; height: 42px; border-radius: 50%;
  background: #145e7a; color: #fff; font-size: 15px; font-weight: 700;
}
body:not(.wl) #main .medical-journey-step > :not(.medical-journey-number) { grid-column: 2; }
body:not(.wl) #main .medical-journey-step .medical-visible-info-title { margin: 0; font-size: 19px; }
body:not(.wl) #main .medical-journey-step :is(p,.medical-more-body) { padding: 0; margin: 0; }
body:not(.wl) #main .medical-journey-step:not(:last-child)::before {
  content: ''; position: absolute; inset-inline-start: 20px; top: 64px; bottom: -14px;
  width: 2px; background: #dce7eb;
}
@media (max-width: 600px) {
  body:not(.wl) #main .patient-fee-note { padding-inline: 12px; }
  body:not(.wl) #main .medical-journey-list > .medical-journey-step { column-gap: 12px; }
}


/* Source: assets/css/profile-hero-layout.css */
/* Treatment directory artwork follows the same generous, unboxed presentation. */
body:not(.wl) #main .treatment-card .medical-treatment-paper {
  height: clamp(200px, 16vw, 280px) !important;
  min-height: 200px; padding: 0; background: transparent;
  border: 0; border-radius: 0; box-shadow: none;
}
body:not(.wl) #main .treatment-card .medical-treatment-paper img {
  display: block; width: 100%; height: 100%; max-height: none;
  padding: 0; object-fit: contain; mix-blend-mode: multiply;
  filter: brightness(1.01);
}
body:not(.wl) #main .treatment-card :is(.treatment-card-price,.treatment-card-tag) {
  min-height: 72px; box-sizing: border-box; margin-bottom: 12px !important;
}
@media (max-width: 768px) {
  body:not(.wl) #main .treatment-card .medical-treatment-paper {
    height: clamp(200px, 60vw, 280px) !important;
  }
}

/* Shared detail hero: readable copy, contextual CTA, generous unboxed artwork. */
body:not(.wl) #main .profile-hero-aligned .profile-hero-grid {
  display: grid !important;
  grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr);
  align-items: center; gap: clamp(24px, 3vw, 56px);
}
body:not(.wl) #main .profile-hero-aligned .profile-hero-copy {
  grid-column: 1; grid-row: 1; min-width: 0; max-width: none !important;
}
body:not(.wl) #main .profile-hero-aligned .medical-profile-cta {
  display: inline-flex; align-self: flex-start; justify-self: start;
  width: auto !important; max-width: 100%; min-height: 48px;
  margin: 18px 0 0 !important; padding: 13px 24px;
  box-sizing: border-box; white-space: normal; text-align: center;
}
body:not(.wl) #main .profile-hero-aligned .profile-hero-picture {
  grid-column: 2; grid-row: 1; justify-self: center; align-self: center;
  float: none; width: 100% !important; max-width: 680px !important;
  height: auto !important; max-height: 540px; aspect-ratio: auto;
  margin: 0 !important; padding: 0 !important;
  background: transparent !important; border: 0 !important;
  border-radius: 0 !important; box-shadow: none !important;
  object-fit: contain; overflow: visible;
}
body:not(.wl) #main .profile-hero-aligned .medical-treatment-image {
  mix-blend-mode: multiply; filter: brightness(1.01);
}
body:not(.wl) #main .profile-hero-aligned :is(.doctor-avatar-box,.hospital-avatar-box) img {
  display: block; width: 100%; height: auto; max-height: 500px;
  object-fit: contain; object-position: center;
  border: 0; border-radius: 0; box-shadow: none;
}
body:not(.wl) #main .profile-hero-aligned .doctor-avatar-box {
  max-width: 440px !important; mix-blend-mode: multiply;
}
body:not(.wl) #main .profile-hero-aligned .profile-hero-picture:not(img):not(:has(img)) {
  display: grid; place-items: center; min-height: 180px;
}
body:not(.wl) #main .profile-hero-aligned .profile-hero-picture:not(:has(img)) svg {
  width: 96px; height: 96px;
}
@media (max-width: 768px) {
  body:not(.wl) #main .profile-hero-aligned .profile-hero-grid {
    grid-template-columns: minmax(0, 1fr); gap: 24px;
  }
  body:not(.wl) #main .profile-hero-aligned .profile-hero-picture {
    grid-column: 1; grid-row: 2; width: 100% !important;
    max-width: 440px !important; max-height: 340px;
  }
  body:not(.wl) #main .profile-hero-aligned .medical-profile-cta {
    width: 100% !important; align-self: stretch;
  }
  body:not(.wl) #main .profile-hero-aligned :is(.doctor-avatar-box,.hospital-avatar-box) img {
    max-height: 340px;
  }
}


/* Source: assets/css/responsive-density.css */
/* Respond to the usable viewport, including laptop scaling and browser chrome. */
@media (min-width: 769px) and (max-height: 850px) {
  body.wl #main .wl-section { padding-block: clamp(28px, 4vh, 44px); }
  body.wl #main .wl-ghero {
    min-height: 0; padding-top: calc(var(--nav-h, 76px) + 24px); padding-bottom: 28px;
  }
  body.wl #main :is(.wl-hero h1,.wl-ghero h1) { font-size: clamp(36px, 4vw, 54px); }
  body.wl #main :is(.wl-trads,.wl-progs,.wl-cards,.wl-steps) { gap: clamp(12px, 2vh, 20px); }
  body.wl #main :is(.wl-card-art,.wl-prog-band) { height: clamp(120px, 20vh, 170px); min-height: 0; }
  body.wl #main :is(.wl-prog-body,.wl-card-body,.wl-trad) { padding: clamp(16px, 2vh, 22px); }
}
@media (min-width: 769px) {
  body:not(.wl) { --density-gap: clamp(12px, 1.5vh, 20px); }
  body:not(.wl) #navbar.nav-reference .nav-utility-inner { height: 32px; min-height: 32px; padding-block: 0 !important; }
  body:not(.wl) #navbar .care-mode-switch { padding: 2px; }
  body:not(.wl) #navbar .care-mode-switch > a { padding: 3px 10px !important; font-size: 12px; line-height: 1.3; }
  body:not(.wl) #navbar.nav-reference .nav-utility-inner > p,
  body:not(.wl) #navbar.nav-reference .nav-utility-contact { font-size: 12px; }
  body:not(.wl) #navbar.nav-reference .nav-inner { height: 60px; gap: 12px; }
  body:not(.wl) #navbar.nav-reference::before { inset-block-start: 28px; }
  body:not(.wl) #navbar.nav-reference .nav-brand-mark { width: 58px; height: 44px; }
  body:not(.wl) #navbar.nav-reference .nav-brand-mark img { width: 140px; }
  body:not(.wl) #navbar.nav-reference .nav-brand-name { font-size: 24px; }
  body:not(.wl) #main .page-hero {
    padding-top: calc(var(--nav-h, 88px) + clamp(12px, 2vh, 24px)) !important;
    padding-bottom: clamp(12px, 2vh, 24px) !important;
  }
  body:not(.wl) #main .page-hero h1 { font-size: clamp(28px, 2.5vw, 40px) !important; line-height: 1.2; margin-bottom: 8px !important; }
  body:not(.wl) #main .medical-treatment-intro .hero-sub { font-size: 14px !important; line-height: 1.5; margin-bottom: 0 !important; max-width: 95ch; }
  body:not(.wl) #main .medical-treatment-directory { padding-top: var(--density-gap) !important; }
  body:not(.wl) #main .directory-toolbar-slim { margin-bottom: 10px; gap: 4px 12px; }
  body:not(.wl) #main :is(.treatment-cards-grid,.hospitals-grid,.doctors-grid) { gap: var(--density-gap) !important; }
  body:not(.wl) #main .treatment-cards-grid { grid-template-columns: repeat(auto-fill,minmax(300px,1fr)) !important; }
  body:not(.wl) #main .rd-section { padding-block: clamp(24px, 4vh, 48px); }
  body:not(.wl) #main .treatment-card { padding: 12px !important; min-height: 0; }
  body:not(.wl) #main .treatment-card .treatment-card-body { padding: 0 !important; }
  body:not(.wl) #main .treatment-card .medical-treatment-paper {
    height: clamp(120px, 16vh, 200px) !important; min-height: 0;
  }
  body:not(.wl) #main .treatment-card :is(.treatment-card-price,.treatment-card-tag) {
    min-height: 50px; margin: 0 0 8px !important;
  }
  body:not(.wl) #main .treatment-card .treatment-card-name {
    font-size: 18px !important; line-height: 1.3; margin-bottom: 6px !important;
  }
  body:not(.wl) #main .treatment-card .treatment-card-body > p {
    font-size: 13px !important; line-height: 1.45; margin: 0 0 10px !important;
    display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; overflow: hidden;
  }
  body:not(.wl) #main .treatment-card .treatment-card-links {
    display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: 8px;
  }
  body:not(.wl) #main .treatment-card .treatment-card-links > a {
    display: flex; align-items: center; justify-content: center;
    min-height: 44px; padding: 6px 8px; font-size: 12px !important;
    line-height: 1.35; white-space: normal; box-sizing: border-box;
  }
  body:not(.wl) #main .profile-hero-aligned .profile-hero-picture { max-height: min(48vh, 500px); }
  body:not(.wl) #main .profile-hero-aligned .profile-hero-picture img { max-height: min(48vh, 500px); }
  body:not(.wl) #main .medical-task-links .medical-task-sticker { height: clamp(96px, 18vh, 200px); }
}
@media (min-width: 769px) and (max-height: 850px) {
  body:not(.wl) #main :is(.hospital-card,.doctor-card) { padding: 12px !important; }
  body:not(.wl) #main :is(.hospital-card-img,.rd-hcard-img) { height: clamp(80px, 12vh, 120px); min-height: 0; }
  body:not(.wl) #main .doctor-avatar { width: 72px; height: 72px; margin-bottom: 8px; }
  body:not(.wl) #main .rd-head { margin-bottom: 16px; }
  body:not(.wl) #main .rd-hero-discovery .rd-hero-inner { padding-block: 20px 24px; }
}
/* One consistent hierarchy at every size: image, name, price, preview, actions. */
body:not(.wl) #main .treatment-card {
  display: flex; flex-direction: column; padding: 14px !important; min-width: 0;
}
body:not(.wl) #main .treatment-card .treatment-card-body {
  display: flex; flex-direction: column; padding: 0 !important; min-width: 0;
}
body:not(.wl) #main .treatment-card .treatment-card-name {
  order: 0; font-size: 18px !important; line-height: 1.3;
  min-height: 46px; margin: 0 0 6px !important;
}
body:not(.wl) #main .treatment-card :is(.treatment-card-price,.treatment-card-tag) {
  order: 1; min-height: 40px; margin: 0 0 8px !important; padding: 0;
}
body:not(.wl) #main .treatment-card .treatment-card-body > p {
  order: 2; font-size: 14px !important; line-height: 1.4;
  display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2;
  overflow: hidden; margin: 0 0 8px !important;
}
body:not(.wl) #main .treatment-card .treatment-card-links {
  order: 3; margin-top: auto; display: flex; flex-wrap: wrap;
  align-items: center; justify-content: space-between; gap: 8px;
}
body:not(.wl) #main .treatment-card .treatment-card-links > a {
  min-height: 44px; display: inline-flex; align-items: center;
  justify-content: center; padding: 6px 10px; font-size: 13px !important;
  box-sizing: border-box; white-space: normal;
}
@media (min-width: 769px) {
  body:not(.wl) #main .treatment-card .medical-treatment-paper {
    height: clamp(72px, 11vh, 180px) !important; margin-bottom: 8px;
  }
  body:not(.wl).medical-refined #main > section.medical-treatment-directory { padding-top: 12px !important; }
}
body:not(.wl) #main .treatment-card .medical-treatment-paper img {
  width: 100%; height: 100% !important; max-height: 100% !important;
  min-height: 0; object-fit: contain !important;
}
@media (min-width: 769px) and (max-height: 850px) {
  body:not(.wl).medical-refined #main > section.medical-treatment-directory:not(.rd-hero):not(.page-hero) {
    padding-block-start: 8px !important;
  }
}
/* Phone layouts keep their readable text and touch targets, with bounded artwork. */
@media (max-width: 768px) {
  body:not(.wl) #main .treatment-card .medical-treatment-paper {
    height: clamp(140px, 25svh, 220px) !important; min-height: 0;
  }
}


/* Source: assets/css/identity-labels.css */
#main .identity-country-flag {
  display: inline-block; width: 24px; height: 18px; min-width: 24px;
  object-fit: cover; vertical-align: -2px; margin-inline-end: 8px;
  border-radius: 2px; box-shadow: 0 0 0 1px rgba(21,56,73,.12);
}
#main .identity-hospital-name {
  display: flex; align-items: center; gap: 10px; min-width: 0;
}
#main .identity-hospital-logo {
  display: block; width: 72px; height: 32px; flex: 0 0 72px;
  object-fit: contain; background: transparent; border: 0; box-shadow: none;
}
#main .identity-hospital-text { min-width: 0; overflow-wrap: anywhere; }
#main h1.identity-hospital-name .identity-hospital-logo { width: 96px; height: 44px; flex-basis: 96px; }
@media (max-width: 600px) {
  #main .identity-hospital-logo { width: 60px; height: 28px; flex-basis: 60px; }
  #main h1.identity-hospital-name .identity-hospital-logo { width: 72px; height: 36px; flex-basis: 72px; }
}


/* Source: assets/css/ui-polish.css */
/* Shared finishing rules: preserve content while reducing competing decoration. */
/* Transparent hero portraits sit directly on the page and keep the full head and shoulders. */
body:not(.wl) #main .profile-hero-aligned .doctor-avatar-box.doctor-cutout {
  display: flex !important; align-items: flex-end; justify-content: center;
  width: min(100%, 380px) !important; max-width: 380px !important;
  height: clamp(250px, 28vw, 360px) !important; max-height: none !important;
  aspect-ratio: auto; overflow: visible !important; mix-blend-mode: normal;
  background: transparent !important; border: 0 !important; box-shadow: none !important;
}
body:not(.wl) #main .profile-hero-aligned .doctor-avatar-box.doctor-cutout :is(img,.doctor-cutout-art) {
  display: block; width: 100% !important; height: 100% !important;
  max-height: none !important; object-fit: contain !important;
  object-position: center bottom !important; border-radius: 0 !important;
  background: transparent !important; box-shadow: none !important;
}
@media (max-width: 768px) {
  body:not(.wl) #main .profile-hero-aligned .doctor-avatar-box.doctor-cutout {
    width: min(100%, 300px) !important; height: 280px !important;
  }
}
/* Original official headshots: bounded size and top crop retain detail and omit coat logos. */
body:not(.wl) #main .profile-hero-aligned .doctor-avatar-box:has(img[src*="/official-20261019/"]) {
  width: min(100%, 280px) !important; max-width: 280px !important;
  height: auto !important; aspect-ratio: 4 / 3; max-height: none !important;
  overflow: hidden !important; mix-blend-mode: normal;
}
body:not(.wl) #main .profile-hero-aligned .doctor-avatar-box img[src*="/official-20261019/"] {
  width: 100% !important; height: 100% !important; max-height: none !important;
  object-fit: cover !important; object-position: center top !important;
}
#main .doctor-avatar:has(img[src*="/official-20261019/"]) { overflow: hidden; }
#main .doctor-avatar img[src*="/official-20261019/"] {
  object-fit: cover; object-position: center top;
  transform: scale(1.333); transform-origin: center top;
}
#main .ui-directory-action { min-height: 48px; padding: 12px 22px !important; gap: 10px; height: auto !important; }
#main .ui-directory-action svg { width: 20px; height: 20px; flex: 0 0 20px; }
#main :is(a,button) > img.medical-care-paper { display: none; }
#main .ui-directory-actions > a { min-height: 48px; padding: 12px 18px !important; font-size: 14px !important; line-height: 1.4; }
#main .provider-doctor-card { display: flex; flex-direction: column; align-items: center; gap: 10px; padding: 20px !important; }
#main .provider-doctor-card .doctor-avatar { width: 88px; height: 88px; margin: 0; }
#main .provider-doctor-card .doctor-name { order: 1; margin: 0; line-height: 1.3; }
#main .provider-doctor-card .doctor-spec-pill { order: 2; background: transparent; border: 0; border-radius: 0; padding: 0; margin: 0; font-size: 13px; line-height: 1.4; }
#main .provider-doctor-card .doctor-hospital { order: 3; margin: 0; font-size: 13px; line-height: 1.5; }
#main .provider-doctor-card .identity-hospital-logo { width: 64px; height: 28px; }
#main .provider-doctor-card .provider-experience { order: 4; margin: 0; padding: 0; background: transparent; border: 0; font-size: 12px; }
#main .provider-doctor-card .ui-doctor-actions { order: 5; margin-top: auto; padding-top: 8px; }
#main :is(.hospital-card-img,.rd-hcard-img) { aspect-ratio: 16 / 9; height: auto !important; overflow: hidden; }
#main :is(.hospital-card-img,.rd-hcard-img) img { width: 100%; height: 100%; object-fit: cover; }
#main img[src*="metro-hospital-heart-institute-noida-photo"] { object-position: 100% 50%; }
#main img[src*="felix-hospital"] { object-position: 50% 35%; }
.doctor-detail.is-independent .independent-profile-copy + p { display: none; }
@media (min-width: 1101px) and (max-width: 1350px) {
  body:not(.wl) #navbar.nav-reference .nav-brand-name { font-size: 21px; }
  body:not(.wl) #navbar.nav-reference .nav-brand { flex-shrink: 0; }
  body:not(.wl) #navbar.nav-reference .nav-links { gap: 10px; }
}
@media (max-width: 768px) {
  #main .ui-directory-callout { padding: 24px !important; }
  #main .ui-directory-actions > a { width: 100%; box-sizing: border-box; justify-content: center; }
  body.wl #main .wl-hero-mandala { opacity: .09; pointer-events: none; inset-inline-end: -30%; top: 35px; }
  body.wl #main .wl-hero-mark { display: none; }
  body.wl #main .wl-hero { min-height: 0; padding-bottom: 28px; }
  body.wl #main .wl-hero h1 { font-size: clamp(32px, 8.8vw, 42px); line-height: 1.14; }
  body.wl #main .wl-trust { display: flex; flex-wrap: wrap; gap: 10px 16px; margin-top: 24px; }
  body.wl #main .wl-trust > span { padding: 0; font-size: 12px; }
  body.wl #main .wl-hero-stats { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 16px; padding-block: 24px; }
  #main .provider-doctor-card { display: grid !important; grid-template-columns: 66px minmax(0,1fr); gap: 7px 14px; align-items: start; text-align: start; }
  #main .provider-doctor-card .doctor-avatar { grid-column: 1; grid-row: 1 / span 4; width: 66px; height: 76px; }
  #main .provider-doctor-card > :not(.doctor-avatar) { grid-column: 2; }
  #main .provider-doctor-card .ui-doctor-actions { grid-column: 1 / -1 !important; }
  #main .provider-doctor-card .doctor-hospital { justify-content: flex-start; }
  footer .footer-inner { display: grid !important; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 24px 16px; }
  footer .footer-brand { grid-column: 1 / -1; }
  footer .footer-col { min-width: 0; margin: 0; }
  footer .footer-col-title { font-size: 15px; margin-bottom: 8px; }
  footer .footer-links { margin: 0; padding: 0; gap: 0; }
  footer .footer-links li { margin: 0; }
  footer .footer-links a { display: flex; align-items: center; min-height: 44px; padding-block: 5px; font-size: 13px; line-height: 1.35; }
  footer .footer-assurance { display: grid !important; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; padding-block: 20px; }
  body:not(.wl) #main :is(.rd-section,.medical-journey) { padding-block: 32px !important; }
  body:not(.wl) #main .rd-head { margin-bottom: 22px; }
  body:not(.wl) #main .medical-task-links .medical-task-sticker { height: 76px; }
  body:not(.wl) #main .rd-gate-portal { max-height: 180px; margin-block: 12px; overflow: hidden; }
  body:not(.wl) #main .rd-gate-stages { gap: 12px; }
  body:not(.wl) #main .rd-gate-stages { margin-bottom: 28px; text-align: start; }
  body:not(.wl) #main .rd-gate-stages > div { display: grid; grid-template-columns: 44px minmax(0,1fr); gap: 3px 14px; padding: 8px 0; }
  body:not(.wl) #main .rd-gate-stages .rd-gate-dot { grid-column: 1; grid-row: 1 / span 3; width: 44px; height: 44px; margin: 0; border-width: 1px !important; }
  body:not(.wl) #main .rd-gate-dot :is(img,svg) { width: 30px; height: 30px; }
  body:not(.wl) #main .rd-gate-stages :is(small,h3,p) { grid-column: 2; max-width: none; margin: 0; }
  body:not(.wl) #main .rd-gate-stages h3 { font-size: 18px; margin-block: 6px; }
  body:not(.wl) #main .rd-gate-stages p { font-size: 14px; line-height: 1.5; }
  body:not(.wl) #main .rd-gate h2 { font-size: 28px; line-height: 1.2; }
  body:not(.wl) #main .rd-gate-head { margin-bottom: 28px; }
  body:not(.wl) #main .rd-gate-arrive { gap: 20px; }
  body:not(.wl) #main .rd-gate-portal { height: 120px; }
  body:not(.wl) #main .rd-gate-portal .mark { width: 86px; height: 86px; box-shadow: none; }
  body:not(.wl) #main .rd-gate-portal .mark img { width: 68px; height: 68px; }
  body:not(.wl) #main .rd-gate-portal .mandala { width: 120px; height: 120px; }
  body:not(.wl) #main .rd-est-controls { padding: 18px; }
  body:not(.wl) #main .rd-est-row { gap: 16px; margin-bottom: 16px; }
  body:not(.wl) #main .rd-est-extras { margin-top: 16px; }
  body:not(.wl) #main .rd-est-well { gap: 10px; padding: 12px; }
  body:not(.wl) #main .rd-est-well small { font-size: 12px; line-height: 1.5; }
  body:not(.wl) #main .rd-est-well b { font-size: 14px; line-height: 1.4; }
  footer .footer-col { grid-column: auto !important; }
  footer .footer-brand { margin-bottom: 0; }
  footer .footer-brand > p { font-size: 13px; line-height: 1.6; }
  footer .footer-contact { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px 12px; font-size: 12px; }
  footer .footer-contact > li:nth-child(-n+2) { grid-column: 1 / -1; }
  footer .footer-contact a { display: inline-flex; align-items: center; min-height: 44px; overflow-wrap: anywhere; }
  footer .footer-contact li { align-items: center; }
  footer .footer-contact .icon { margin-top: 0; flex-shrink: 0; }
  footer .footer-assurance-item { gap: 8px; align-items: start; }
  footer .footer-assurance-item strong { font-size: 12px; }
  footer .footer-assurance-item span { font-size: 12px; line-height: 1.45; }
  footer .footer-assurance-item > .icon { width: 20px; height: 20px; }
}


/* Source: assets/css/major-changes.css */
/* Patient decision tools, using existing Massvaa colours and component spacing. */
.provider-evidence { min-width: 0; }
.provider-evidence { max-width: 900px; }
.provider-evidence > p { line-height: 1.7; margin: 0 0 24px; }
body #main .major-preview summary:focus-visible { outline: 3px solid #145e7a; outline-offset: 3px; }
.major-preview { border-block: 1px solid #dce7eb; margin-block: 12px 18px; }
.major-preview > summary { min-height: 44px; padding-block: 12px; cursor: pointer; font-weight: 600; color: #145e7a; }
.major-preview > div { padding-bottom: 12px; }
body:not(.wl) #main .info-panel:has(.major-preview) { display: flex; flex-direction: column; }
body:not(.wl) #main .info-panel:has(.major-preview) > a:last-child { margin-top: auto; align-self: flex-start; }



/* Source: assets/css/provider-information.css */
body:not(.wl) #main .provider-research-facts { margin: 0 0 20px; padding-inline-start: 22px; display: grid; gap: 12px; }
body:not(.wl) #main .provider-research-facts li { line-height: 1.7; font-size: 15px; color: #48606b; }
body:not(.wl) #main .provider-source-links { margin: 10px 0; padding-inline-start: 20px; }
body:not(.wl) #main .provider-source-links a { display: inline-block; padding-block: 8px; color: #145e7a; overflow-wrap: anywhere; }
body:not(.wl) #main .provider-source-note { font-size: 13px; line-height: 1.6; color: #48606b; margin-block: 12px; }
body:not(.wl) #main .provider-research h3 { margin-top: 20px; }
body:not(.wl) #main .provider-source-links a:focus-visible { outline: 3px solid #145e7a; outline-offset: 3px; }


/* Source: assets/css/review-changes-20261026.css */
.review-platform-grid,.treatment-planning-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; }
.review-platform-card { padding:28px; border:1px solid #ccdde5; border-radius:20px; background:#fff; display:flex; flex-direction:column; align-items:flex-start; gap:14px; }
.review-platform-card h3,.review-platform-card p { margin:0; }
.review-platform-card a { margin-top:auto; }
.review-platform-name { color:#145e7a; font-size:20px; font-weight:700; }
.treatment-decision-card { margin-block:24px; }
.treatment-decision-card :is(h2,h3) { color:#153849; margin:0 0 16px; }
.treatment-decision-card h3 { font-size:17px; }
.treatment-decision-card :is(p,ul,ol),.visa-application-options :is(p,ul,ol) { margin:0 0 18px; line-height:1.7; }
.treatment-decision-card :is(ul,ol),.visa-application-options :is(ul,ol) { padding-inline-start:22px; }
.treatment-planning-grid { gap:18px; }
.treatment-planning-grid > div:last-child { grid-column:1/-1; }
.treatment-estimate-highlight { display:flex; flex-direction:column; gap:8px; background:#f2f7f9; padding:20px; border-radius:14px; margin-block:20px; }
.treatment-estimate-highlight strong { color:#145e7a; font-size:clamp(19px,2vw,26px); line-height:1.4; }
.treatment-source-note { font-size:13px; color:#526b77; }
.treatment-source-note a { text-decoration:underline; }
.treatment-comparison-scroll { overflow-x:auto; max-width:100%; }
.treatment-comparison-table { width:100%; border-collapse:collapse; margin-bottom:18px; font-size:14px; }
.treatment-comparison-table caption { text-align:start; padding:0 0 12px; color:#526b77; }
.treatment-comparison-table :is(th,td) { text-align:start; vertical-align:top; padding:12px; border-bottom:1px solid #d5e2e8; }
.treatment-comparison-table thead { background:#f2f7f9; }
.patient-region-guide { margin-top:24px; padding:24px; border:1px solid #ccdde5; border-radius:16px; scroll-margin-top:140px; }
.patient-region-guide a { text-decoration:underline; }
.hospital-shared-facts { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; margin:14px 0; font-size:13px; }
.hospital-shared-facts div { min-width:0; }
.hospital-shared-facts dt { color:#526b77; font-size:11px; margin-bottom:4px; }
.hospital-shared-facts dd { margin:0; color:#153849; font-weight:600; }
body #main .provider-hospital-card .provider-image-facts { display:none; }
body #main .provider-hospital-card .provider-card-actions { display:flex; margin-top:auto; }
body #main .provider-hospital-card .provider-card-actions > a { flex:1; }
.medical-treatment-paper:empty { display:none; }
@media(max-width:640px) {
 .review-platform-grid,.treatment-planning-grid { grid-template-columns:1fr; gap:18px; }
 .review-platform-card { padding:22px; }
 .treatment-decision-card { padding:20px; }
 .treatment-planning-grid > div:last-child { grid-column:auto; }
 .treatment-comparison-table :is(th,td) { padding:10px 7px; }
}


/* Source: assets/css/shared-navbar.css */
/* Shared Medical layout, with a section-specific palette. */
body #navbar.nav-reference.shared-nav { --nav-ink:#153849; --nav-accent:#145e7a; --nav-surface:#fff; --nav-soft:#edf4f7; --nav-border:#cadde6; position:fixed; inset:0 0 auto; background:var(--nav-surface)!important; border-bottom:1px solid var(--nav-border)!important; box-shadow:0 3px 16px #1538490a!important; backdrop-filter:none!important; }
body.wl #navbar.nav-reference.shared-nav { --nav-ink:#2d4334; --nav-accent:#49664b; --nav-surface:#faf8f3; --nav-soft:#edf1e8; --nav-border:#d6dece; }
body #navbar.nav-reference.shared-nav::before { content:none!important; }
body #navbar.nav-reference.shared-nav .nav-utility { display:block!important; background:var(--nav-accent)!important; color:#fff; }
body #navbar.nav-reference.shared-nav .nav-utility-inner { display:flex!important; justify-content:space-between; align-items:center; width:84%; max-width:1720px; min-height:28px!important; margin:auto; gap:16px; padding:0; }
body #navbar.nav-reference.shared-nav .nav-utility :is(p,a) { font-size:11px; color:#fff; margin:0; }
body #navbar.nav-reference.shared-nav .nav-utility-contact { display:flex; align-items:center; gap:12px; }
body #navbar.nav-reference.shared-nav .nav-inner { display:flex!important; align-items:center; width:84%!important; max-width:1720px!important; margin:auto!important; padding:0!important; gap:14px!important; height:66px!important; position:static; }
body #navbar.nav-reference.shared-nav .nav-logo { display:flex!important; width:auto!important; min-width:0; flex:0 0 auto; align-items:center; gap:7px!important; padding:0!important; background:transparent!important; border:0!important; box-shadow:none!important; }
body #navbar.nav-reference.shared-nav .nav-brand-mark { display:grid; place-items:center; flex:0 0 44px!important; width:44px!important; height:46px!important; overflow:hidden; direction:ltr; }
body #navbar.nav-reference.shared-nav .nav-brand-mark img { display:block; width:126px!important; max-width:none!important; height:auto!important; margin:0 auto 0 0!important; }
body #navbar.nav-reference.shared-nav .nav-brand-name { display:inline!important; color:var(--nav-ink)!important; font-family:'DM Sans',sans-serif; font-size:21px!important; font-weight:700; white-space:nowrap; letter-spacing:-.045em; line-height:1.1; }
body #navbar.nav-reference.shared-nav .nav-brand-name em { color:var(--nav-accent)!important; font-style:normal; font-weight:500; }
body #navbar.nav-reference.shared-nav .nav-brand-mode { flex:0 0 auto; position:static!important; }
body #navbar.nav-reference.shared-nav .nav-brand-mode .rd-switch { display:inline-flex!important; position:static!important; width:auto!important; min-height:36px!important; padding:3px!important; margin:0!important; gap:0; border:1px solid var(--nav-border)!important; border-radius:22px!important; background:var(--nav-soft)!important; box-shadow:none!important; }
body #navbar.nav-reference.shared-nav .nav-brand-mode .rd-switch > span { display:flex!important; justify-content:center; align-items:center; gap:4px; padding:5px 8px!important; min-height:28px!important; color:var(--nav-ink)!important; font-size:11px!important; font-weight:600; border-radius:18px!important; }
body #navbar.nav-reference.shared-nav .nav-brand-mode .rd-switch > span.is-on { background:var(--nav-accent)!important; color:#fff!important; box-shadow:none!important; }
body #navbar.nav-reference.shared-nav .nav-brand-mode img { width:14px!important; height:14px!important; }
body #navbar.nav-reference.shared-nav .nav-links { display:flex!important; position:static!important; flex:1 1 auto; min-width:0; align-items:center; margin:0 0 0 auto!important; padding:0!important; max-height:none; background:transparent!important; border:0!important; box-shadow:none!important; overflow:visible; }
body #navbar.nav-reference.shared-nav .nav-primary { display:flex; align-items:center; list-style:none; gap:12px; margin:0; padding:0; border:0; box-shadow:none; background:transparent; backdrop-filter:none; }
body #navbar.nav-reference.shared-nav .nav-primary :is(a,summary) { display:flex; align-items:center; min-height:40px; padding:0!important; color:var(--nav-ink)!important; background:transparent; font-size:12px!important; font-weight:600; white-space:nowrap; }
body #navbar.nav-reference.shared-nav .nav-support { display:none!important; }
body #navbar.nav-reference.shared-nav .nav-actions { display:flex!important; align-items:center; gap:6px!important; margin:0!important; flex:0 0 auto; }
body #navbar.nav-reference.shared-nav .nav-actions > :is(.nav-cta,.medical-nav-whatsapp,.wellness-nav-whatsapp,.telegram-link) { min-height:40px!important; }
body #navbar.nav-reference.shared-nav .nav-search-link,body #navbar.nav-reference.shared-nav .mobile-menu-btn { display:flex; align-items:center; justify-content:center; flex:0 0 40px; width:40px!important; height:40px; min-height:40px!important; min-width:40px!important; margin:0; padding:8px!important; border:1px solid var(--nav-border)!important; border-radius:50%; background:var(--nav-surface)!important; box-shadow:none!important; color:var(--nav-ink)!important; }
body #navbar.nav-reference.shared-nav .nav-actions .nav-cta { display:inline-flex; padding:9px 12px!important; border-radius:12px!important; background:var(--nav-accent)!important; color:#fff!important; font-size:12px!important; white-space:nowrap; box-shadow:none!important; }
body #navbar.nav-reference.shared-nav .lang-switch > summary { min-height:40px; padding:6px 2px!important; font-size:12px!important; color:var(--nav-ink)!important; }
body #navbar.nav-reference.shared-nav .mobile-menu-btn { display:none!important; }
body #navbar.nav-reference.shared-nav .nav-guide-menu,body #navbar.nav-reference.shared-nav .lang-switch-menu { background:var(--nav-surface)!important; border:1px solid var(--nav-border); }
body #navbar.nav-reference.shared-nav .nav-guide-menu a { padding:10px 12px!important; }
@media(max-width:1350px) {
 body #navbar.nav-reference.shared-nav .nav-inner { width:92%!important; gap:10px!important; }
 body #navbar.nav-reference.shared-nav .nav-brand-name { font-size:19px!important; }
 body #navbar.nav-reference.shared-nav .nav-primary { gap:9px; }
 body #navbar.nav-reference.shared-nav .nav-primary :is(a,summary) { font-size:11px!important; }
 body #navbar.nav-reference.shared-nav .nav-actions > :is(.medical-nav-whatsapp,.wellness-nav-whatsapp,.telegram-link) { display:none!important; }
}
@media(max-width:1200px) {
 body #navbar.nav-reference.shared-nav .nav-inner { width:92%!important; height:64px!important; }
 body #navbar.nav-reference.shared-nav .nav-utility { display:none!important; }
 body #navbar.nav-reference.shared-nav .mobile-menu-btn { display:flex!important; }
 body #navbar.nav-reference.shared-nav .nav-actions { margin-inline-start:auto!important; }
 body #navbar.nav-reference.shared-nav .nav-actions > .nav-cta { display:none!important; }
 body #navbar.nav-reference.shared-nav .nav-links { display:none!important; position:absolute!important; top:100%!important; inset-inline:0!important; width:auto; margin:0!important; max-height:calc(100dvh - 64px); overflow-y:auto; padding:16px 4% 32px!important; background:var(--nav-surface)!important; box-shadow:0 16px 30px #15384914!important; border-bottom:1px solid var(--nav-border)!important; border-radius:0 0 16px 16px; }
 body #navbar.nav-reference.shared-nav .nav-links.active { display:flex!important; flex-direction:column; align-items:stretch; }
 body #navbar.nav-reference.shared-nav .nav-primary { display:flex; flex-direction:column; align-items:stretch; gap:0; }
 body #navbar.nav-reference.shared-nav .nav-primary :is(a,summary) { min-height:46px; padding:10px 0!important; font-size:15px!important; white-space:normal; }
 body #navbar.nav-reference.shared-nav .nav-guide-menu { position:static; box-shadow:none; padding:6px 14px; margin-block:4px; }
 body #navbar.nav-reference.shared-nav .nav-support { display:flex!important; flex-direction:column; align-items:stretch; gap:12px; margin:12px 0 0; padding:0; list-style:none; }
 body #navbar.nav-reference.shared-nav .nav-support > li { display:block!important; }
 body #navbar.nav-reference.shared-nav .nav-support > li > a:not(.rd-switch) { color:var(--nav-ink)!important; display:inline-flex; min-height:44px; padding:10px 0; }
 body #navbar.nav-reference.shared-nav .nav-support .nav-cta { padding:10px 16px!important; background:var(--nav-accent)!important; color:#fff!important; }
}
@media(max-width:768px) {
 body #navbar.nav-reference.shared-nav .nav-inner { width:calc(100% - 28px)!important; gap:8px!important; }
 body #navbar.nav-reference.shared-nav .nav-brand-name { font-size:19px!important; }
 body #navbar.nav-reference.shared-nav .nav-brand-mark { flex-basis:38px!important; width:38px!important; height:40px!important; }
 body #navbar.nav-reference.shared-nav .nav-brand-mark img { width:108px!important; }
 body #navbar.nav-reference.shared-nav .nav-links .nav-brand-mode .rd-switch { width:190px!important; justify-content:stretch; }
 body #navbar.nav-reference.shared-nav .nav-brand-mode .rd-switch > span { flex:1; font-size:12px!important; }
}
@media(max-width:360px) {
 body #navbar.nav-reference.shared-nav .nav-brand-name { font-size:16px!important; }
 body #navbar.nav-reference.shared-nav .lang-switch > summary { font-size:10px!important; }
 body #navbar.nav-reference.shared-nav .nav-actions { gap:2px!important; }
}
body #navbar.nav-reference.shared-nav .mobile-menu-btn .icon,
body #navbar.nav-reference.shared-nav .nav-search-link .icon,
body #navbar.nav-reference.shared-nav .lang-switch > summary .icon { color:var(--nav-ink)!important; fill:currentColor; }
body #navbar.nav-reference.shared-nav .lang-switch > summary span { color:var(--nav-ink)!important; }
body #navbar.nav-reference.shared-nav .nav-actions :is(.medical-nav-whatsapp,.wellness-nav-whatsapp,.telegram-link) { display:inline-flex; align-items:center; justify-content:center; width:40px!important; min-width:40px!important; height:40px!important; padding:0!important; border-radius:50%!important; background:#20ce63!important; color:#075c2a!important; border:1px solid #9ce4b7; }
body #navbar.nav-reference.shared-nav .nav-actions :is(.medical-nav-whatsapp,.wellness-nav-whatsapp,.telegram-link) span { display:none!important; }
body #navbar.nav-reference.shared-nav .nav-actions .telegram-link { background:#e9f6fc!important; color:#1394c4!important; border-color:#b9e1f3; }
@media(max-width:1350px) { body #navbar.nav-reference.shared-nav .nav-actions > :is(.medical-nav-whatsapp,.wellness-nav-whatsapp,.telegram-link) { display:none!important; } }


/* Source: assets/css/card-layout-refresh-20261026.css */


/* Equal card rows keep content readable without fixed text heights. */
body:not(.wl) #navbar.nav-reference.shared-nav .nav-primary > li > a,
body:not(.wl) #navbar.nav-reference.shared-nav .nav-guide > summary { border-bottom:2px solid transparent !important; border-radius:0; }
body:not(.wl) #navbar.nav-reference.shared-nav .nav-primary > li > a.medical-nav-current,
body:not(.wl) #navbar.nav-reference.shared-nav .nav-guide.medical-nav-current-group > summary,
body:not(.wl) #navbar.nav-reference.shared-nav .nav-guide-menu a.medical-nav-current { border-bottom:2px solid var(--nav-accent,#145e7a) !important; box-shadow:none !important; text-decoration:none !important; color:var(--nav-accent,#145e7a) !important; }
body:not(.wl) #navbar.nav-reference.shared-nav .nav-primary a.medical-nav-current::after { content:none !important; }
body #main .journey-heading { max-width:760px; margin:0 auto 28px; text-align:center; }
body #main .journey-heading > p { margin:12px auto 0; }
body #main .journey-cases { display:grid; gap:28px; }
body #main .journey-case { border:1px solid #d3e2e8; border-radius:20px; padding:28px; background:#fff; }
body #main .journey-case-header { display:flex; align-items:center; justify-content:space-between; gap:20px; margin-bottom:24px; }
body #main .journey-country { display:flex; align-items:center; gap:8px; margin:0 0 8px; color:#15627a; font-size:14px; font-weight:600; }
body #main .journey-country img { width:32px; height:26px; object-fit:contain; }
body #main .journey-case-header h2 { margin:0; font-size:clamp(21px,2vw,27px); line-height:1.35; }
body #main .journey-art { width:180px; height:100px; object-fit:contain; flex:0 0 180px; }
body #main .journey-steps { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; padding:0; margin:0; list-style:none; }
body #main .journey-steps > li { display:grid; grid-template-columns:32px minmax(0,1fr); gap:8px 12px; align-content:start; background:#f7fafc; border:1px solid #e0eaf0; border-radius:14px; padding:20px; }
body #main .journey-step-number { grid-column:1; grid-row:1/3; display:grid; place-items:center; align-self:start; width:32px; height:32px; border-radius:50%; color:#fff; background:#15627a; font-size:14px; font-weight:700; }
body #main .journey-steps h3 { grid-column:2; margin:0 !important; font-size:16px !important; line-height:1.45; }
body #main .journey-steps p { grid-column:2; margin:0 !important; font-size:15px !important; line-height:1.7; color:#526b77; }
body #main .journey-notice { margin:24px 0 0; max-width:100ch; font-size:14px; line-height:1.7; color:#526b77; }
body #main .journey-contact { text-align:center; }
body #main .journey-contact p { margin:14px auto 24px; max-width:65ch; }
@media(max-width:700px) {
 body #main .journey-case { padding:20px; }
 body #main .journey-case-header { align-items:flex-start; gap:12px; }
 body #main .journey-art { width:90px; height:70px; flex-basis:90px; }
 body #main .journey-steps { grid-template-columns:1fr; }
 body #main .journey-steps > li { padding:16px; }
}
body #main :is(.doctor-avatar img,.rail-card-avatar)[src*="/cutouts-"] { object-fit:contain; object-position:center top; }
body #main .medical-journey .rd-head:has(> p) { display:flex; flex-direction:column; align-items:center; text-align:center; }
body #main .medical-journey .rd-head:has(> p) > p { text-align:center; margin:0 auto !important; max-width:72ch !important; }
body #main .provider-hospital-card .hospital-name { font-size:18px !important; line-height:1.4 !important; }
body #main .provider-hospital-card .hospital-name.identity-hospital-name { flex-direction:column; align-items:flex-start; gap:10px; }
body #main .provider-hospital-card .identity-hospital-text { overflow-wrap:normal; word-break:normal; width:100%; }
body #main .provider-hospital-card .identity-hospital-logo { flex:0 0 30px; width:76px; height:30px; object-position:left center; }
body #main .medical-country-chooser { margin:20px 0; width:100%; max-width:600px; }
body #main .medical-country-header + .medical-country-chooser ~ .visa-caption { text-align:start !important; }
.country-map-icon { width:34px; height:28px; flex:0 0 34px; object-fit:contain; }
.medical-country-dropdown .medical-dropdown-option,.medical-select-value:has(.country-map-icon) { display:flex; align-items:center; gap:12px; }
body #main .visa-documents-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:32px; }
body #main .visa-document-heading { display:flex; align-items:center; gap:14px; min-height:56px; margin-bottom:20px; }
body #main .visa-document-heading img { width:56px; height:56px; flex:0 0 56px; object-fit:contain; }
body #main .visa-document-heading h3 { font-size:18px !important; line-height:1.4; margin:0 !important; }
body #main .visa-documents-card > h2 { font-size:clamp(24px,2.3vw,30px) !important; line-height:1.35; }
body #main .visa-documents-grid ul { padding:0; margin:0; }
body #main .visa-documents-grid li .icon { width:16px; height:16px; flex:0 0 16px; }
@media(max-width:640px) {
 body #main .visa-documents-grid { grid-template-columns:1fr; }
 body #main .visa-documents-card { padding:24px !important; }
}
/* Descriptions belong below their section headings; controls can remain alongside. */
body #main .rd-head:has(> p) { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:start; gap:12px 20px; }
body #main .rd-head:has(> p) > p { grid-column:1/-1; grid-row:2; width:100%; max-width:85ch !important; margin:0 !important; text-align:start; }
body #main .rd-head:has(> p) > :first-child { grid-column:1; grid-row:1; }
body #main .section-header:has(> p) { display:block; }
body #main .section-header > p { margin-top:12px; }
body #main .info-panel > .info-panel-actions { margin-top:auto; padding-top:18px; border-top:1px solid #d5e2e7; display:flex; align-items:center; }
body #main .info-panel > .info-panel-actions > a { margin:0; }
body:not(.wl) #main .info-panel > :is(.medical-visible-info,.major-preview) { border:0; margin-bottom:18px; padding-bottom:0; }
body #main .faq-workspace { max-width:100%; }
body:not(.wl) #main .faq-toolbar.directory-toolbar-slim { grid-template-columns:minmax(0,3fr) minmax(220px,2fr); max-width:1000px !important; margin-bottom:24px; }
body:not(.wl) #main .faq-toolbar.directory-toolbar-slim > :is(.filter-bar,.medical-treatment-specialty) { grid-column:auto !important; }
body #main .faq-toolbar #faqFilter { font:inherit; font-size:16px; width:100%; }
body #main .faq-category-group { padding:0; margin:0 0 32px; }
body #main .faq-workspace :is(.rd-faq-group,.rd-qa) { opacity:1 !important; transform:none !important; transition:none !important; }
body #main .faq-group-title { font-size:clamp(20px,2vw,24px); line-height:1.4; margin:0 0 14px; color:var(--rd-navy,#153849); }
body #main .faq-workspace .rd-qa { margin:0 0 10px; }
body #main .faq-workspace .rd-qa summary { padding:18px 22px; font-size:16px; line-height:1.5; gap:18px; }
body #main .faq-workspace .rd-qa .faq-answer { max-width:90ch; margin:0; padding:0 22px 20px; line-height:1.75; font-size:15px; }
body #main .faq-workspace > .rd-faq-help { max-width:650px; margin-top:24px; }
body #main :is(.treatment-cards-grid,.wl-cards,.medical-blog-grid) { align-items:stretch; grid-auto-rows:1fr; }
body #main :is(.treatment-cards-grid,.wl-cards,.medical-blog-grid) > :is(.treatment-card,.wl-card,.medical-blog-card) { align-self:stretch; height:100%; min-width:0; box-sizing:border-box; display:flex; flex-direction:column; }
body #main :is(.two-col-grid,.rd-dodont,.rd-cardgrid,.rd-guide-grid,.rail-grid,.doctors-grid,.hospitals-grid,.treatments-grid,.review-platform-grid,.wl-progs,.wl-trads,.rd-brand-cards) { align-items:stretch; }
body #main :is(.rd-guide-grid,.doctors-grid,.hospitals-grid,.treatments-grid,.wl-progs,.wl-trads) { grid-auto-rows:1fr; }
body #main :is(.two-col-grid,.rd-dodont,.rd-cardgrid,.rd-guide-grid,.rail-grid,.doctors-grid,.hospitals-grid,.treatments-grid,.review-platform-grid,.wl-progs,.wl-trads,.rd-brand-cards) > :is(.info-panel,.rd-dd,.rd-card,.rd-lift,.rail-card,.doctor-card,.hospital-card,.treatment-card,.review-platform-card,.rd-brand-card,.wl-prog,.wl-trad) { height:100%; min-width:0; box-sizing:border-box; align-self:stretch; }
body #main :is(.info-panel,.rd-card,.rail-card,.doctor-card,.hospital-card,.treatment-card,.rd-brand-card) { display:flex; flex-direction:column; }
body #main :is(.info-panel,.rd-brand-card) > a:last-child,
body #main .rd-card > .more,
body #main :is(.rail-card,.doctor-card,.hospital-card,.treatment-card) > :last-child { margin-top:auto; }
body #main .medical-useful-links { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; }
body #main .medical-useful-links .rd-brand-card { padding:20px; text-align:start; gap:10px; }
body #main .medical-useful-links .rd-brand-card :is(h3,p,span) { margin:0; }
body #main .medical-useful-links .massvaa-care-badge { margin:0; width:36px; height:36px; }
body #main .medical-useful-links .rd-brand-card h3 { font-size:18px; }
body #main .medical-useful-links .rd-brand-card p { font-size:14px; line-height:1.6; }
body #main .medical-useful-links .rd-brand-card span { margin-top:auto; padding-top:8px; }
body #main .two-col-grid > .info-panel { padding:clamp(20px,2.2vw,32px); }
body #main .two-col-grid > .info-panel > h3 { margin-bottom:12px; }
body #main .two-col-grid > .info-panel > p { margin-bottom:14px; }
body #main .two-col-grid > .info-panel > a:last-child { align-self:flex-start; }
body #main .two-col-grid > .reveal:has(> h4) { display:flex; flex-direction:column; height:100%; }
.billing-paper-icon { margin-bottom:16px; height:96px; }
.billing-paper-icon img { width:96px; height:96px; object-fit:contain; }
body #main .international-benefits .rd-lead { max-width:800px; margin-bottom:24px; }
body #main .international-benefit-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
body #main .international-benefit-grid .rd-card { padding:24px; }
body #main .international-benefit-grid .rd-card .more { padding-top:16px; }
.billing-review-points { margin:0; padding:8px 0 8px 24px; color:var(--rd-muted,#526b77); line-height:1.7; }
.billing-review-points li + li { margin-top:12px; }
body #main #doctorRail { align-items:stretch; gap:16px; }
body #main #doctorRail .rd-doc { display:flex; flex-direction:column; flex:0 0 250px; width:250px; height:auto; }
body #main #doctorRail .rd-doc-img { height:150px; flex-shrink:0; }
body #main #doctorRail .rd-doc-img img { object-fit:contain; object-position:center top; }
body #main #doctorRail .rd-doc-body { display:flex; flex-direction:column; flex:1; padding:16px; }
body #main #doctorRail .rd-doc-name { position:static; text-shadow:none; }
body #main #doctorRail .rd-doc-name b { font-size:18px; line-height:1.4; }
body #main #doctorRail .rd-doc-name small { font-size:11px; line-height:1.5; }
body #main #doctorRail .rd-doc-body > p { font-size:12px; line-height:1.5; margin:8px 0; }
body #main #doctorRail .provider-experience { margin:8px 0 12px; font-size:12px; }
body #main #doctorRail .rd-doc-body > span { margin-top:auto; font-size:13px; }
body #main #doctorsContainer .doctor-card { padding:20px; gap:8px; }
body #main #doctorsContainer .doctor-avatar { width:76px; height:76px; margin-bottom:6px; flex-shrink:0; }
body #main #doctorsContainer .doctor-name { font-size:19px; margin-bottom:0 !important; }
body #main #doctorsContainer .provider-doctor-summary { display:none; }
body #main #doctorsContainer .provider-experience { margin:6px 0 8px; }
body #main #doctorsContainer .doctor-card > div:last-child { margin-top:auto; padding-top:8px; }
body:not(.wl) #main #doctorRail .rd-doc { width:250px !important; flex:0 0 250px !important; }
body:not(.wl) #main #doctorRail .rd-doc-img { height:140px !important; }
body:not(.wl) #main #doctorRail .rd-doc-name { min-height:72px; }
body:not(.wl) #main #doctorRail .rd-doc-body > p { min-height:36px; }
body:not(.wl) #main .medical-useful-links.massvaa-care-links { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; border:0; border-radius:0; background:transparent; overflow:visible; }
body:not(.wl) #main .medical-useful-links.massvaa-care-links .rd-brand-card { display:flex; flex-direction:column; align-items:flex-start; gap:8px; padding:18px !important; border:1px solid #d5e2e7; border-radius:16px; background:#fff; }
body:not(.wl) #main .medical-useful-links.massvaa-care-links .rd-brand-card::after { content:none; }
body:not(.wl) #main .medical-useful-links.massvaa-care-links .rd-brand-card .ic { width:36px !important; height:36px !important; margin:0; }
body:not(.wl) #main .medical-useful-links.massvaa-care-links .rd-brand-card h3 { font-size:17px !important; }
body:not(.wl) #main .medical-useful-links.massvaa-care-links .medical-visible-info { min-width:0; margin:0; padding:0; }
body:not(.wl) #main .medical-useful-links.massvaa-care-links .medical-visible-info p { margin:0; font-size:13px; }
body:not(.wl) #main .medical-useful-links.massvaa-care-links .rd-brand-card > span { display:inline-flex !important; }
@media(max-width:900px) {
 body:not(.wl) #main .medical-useful-links.massvaa-care-links { grid-template-columns:1fr; }
 body:not(.wl) #main .medical-useful-links.massvaa-care-links .rd-brand-card { display:grid; grid-template-columns:36px minmax(0,1fr); gap:4px 12px; }
 body:not(.wl) #main .medical-useful-links.massvaa-care-links .rd-brand-card .ic { grid-column:1; grid-row:1/4; align-self:start; }
 body:not(.wl) #main .medical-useful-links.massvaa-care-links .rd-brand-card > :is(h3,section,p,span) { grid-column:2; grid-row:auto; }
 body:not(.wl) #main .medical-useful-links.massvaa-care-links .rd-brand-card > span { margin-top:6px; padding:0; }
 body #main .medical-useful-links { grid-template-columns:1fr; }
 body #main .medical-useful-links .rd-brand-card { display:grid; grid-template-columns:36px minmax(0,1fr) auto; gap:6px 14px; }
 body #main .medical-useful-links .rd-brand-card .ic { grid-row:1/3; }
 body #main .medical-useful-links .rd-brand-card p { grid-column:2; }
 body #main .medical-useful-links .rd-brand-card span { grid-column:3; grid-row:1/3; align-self:center; padding:0; }
}
@media(max-width:640px) {
 body:not(.wl) #main .faq-toolbar.directory-toolbar-slim { grid-template-columns:minmax(0,1fr); gap:8px; }
 body #main .faq-workspace .rd-qa summary { padding:16px; }
 body #main .faq-workspace .rd-qa .faq-answer { padding:0 16px 16px; }
 body #main .rd-head:has(> p) { grid-template-columns:minmax(0,1fr); }
 body #main .rd-head:has(> p) > p { grid-column:1; }
 body #main :is(.treatment-cards-grid,.wl-cards,.medical-blog-grid) { grid-auto-rows:auto; }
 body #main :is(.rd-guide-grid,.doctors-grid,.hospitals-grid,.treatments-grid,.wl-progs,.wl-trads) { grid-auto-rows:auto; }
 body #main .international-benefit-grid { grid-template-columns:1fr; }
 body #main #doctorRail .rd-doc { flex-basis:230px; width:230px; }
 body #main #doctorRail .rd-doc-img { height:130px; }
 body #main .medical-useful-links .rd-brand-card { padding:16px; }
}
@media(max-width:768px) {
 body #main #doctorsContainer .doctor-card { grid-template-rows:auto auto 1fr auto; gap:6px 14px; }
 body #main #doctorsContainer .doctor-avatar { grid-row:1/4; margin:0; }
 body #main #doctorsContainer .doctor-name { grid-row:1; }
 body #main #doctorsContainer .doctor-spec-pill { grid-row:2; }
 body #main #doctorsContainer .provider-experience { grid-row:3; align-self:start; margin:4px 0 6px; }
 body #main #doctorsContainer .doctor-card > div:last-child { grid-row:4; align-self:end; padding-top:6px; }
}

/* Medical audit fixes, 28 October 2026. Wellness is intentionally excluded. */
body:not(.wl) #main .medical-query-toolbar { grid-template-columns:minmax(0,2fr) minmax(220px,1fr); gap:10px 16px; align-items:end; }
body:not(.wl) #main .medical-query-toolbar .filter-bar { display:grid !important; grid-template-columns:minmax(0,1fr); justify-content:stretch; align-items:stretch; min-width:0; width:100%; }
body:not(.wl) #main .medical-query-toolbar .search-page-form { width:100%; max-width:none; box-sizing:border-box; margin:0; }
body:not(.wl) #main .medical-query-toolbar .search-page-form input { width:0; min-width:0; flex:1 1 0; }
body:not(.wl) #main .medical-query-toolbar label { font-size:14px; }
body:not(.wl) #main a:is([href*="t.me/"],[href*="telegram.me/"],[data-track="telegram_contact"]) { background:#e6f3fb !important; color:#075579 !important; border:1px solid #b2d5e9; }
body:not(.wl) #main a:is([href*="t.me/"],[href*="telegram.me/"],[data-track="telegram_contact"]) :is(span,.icon) { color:inherit !important; }
body:not(.wl) #main a:is([href*="t.me/"],[href*="telegram.me/"]):hover { background:#d5eaf7 !important; }
body:not(.wl) #main :is(.visa-caption,.rd-est-note,.rd-est-disclaimer,.rd-safe p,.rd-office p,.rd-office-legal,.rd-drop-hint,.medical-result-status,.medical-supporting-copy) { font-size:14px !important; line-height:1.65; }
body:not(.wl)[data-medical-page="accommodation-guide"] #main .medical-paper-scene { height:140px !important; max-width:400px; margin:16px 0 20px !important; box-shadow:none !important; }
body:not(.wl) #main .medical-guide-hub { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }
body:not(.wl) #main .medical-guide-hub article { display:flex; flex-direction:column; padding:22px; border:1px solid #d5e2e7; border-radius:18px; background:#fff; }
body:not(.wl) #main .medical-guide-hub h2 { font-size:20px; line-height:1.35; margin:0 0 12px; }
body:not(.wl) #main .medical-guide-hub p { margin:0 0 20px; }
body:not(.wl) #main .medical-guide-hub a { margin-top:auto; align-self:flex-start; }
body:not(.wl) #main .provider-evidence .patient-enquiry-choice { gap:12px; }
body:not(.wl) #main #doctorRail .rd-doc-img img { width:100%; height:100%; object-fit:contain; }
body:not(.wl) #main #doctorsContainer .doctor-avatar { width:96px; height:96px; }
@media(max-width:900px) { body:not(.wl) #main .medical-guide-hub { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:640px) {
 body:not(.wl) #main .medical-query-toolbar { grid-template-columns:minmax(0,1fr); }
 body:not(.wl) #main .medical-guide-hub { grid-template-columns:minmax(0,1fr); }
 body:not(.wl) #main #doctorsContainer .doctor-avatar { width:76px; height:76px; }
 body:not(.wl)[data-medical-page="accommodation-guide"] #main .medical-paper-scene { max-width:100%; height:120px !important; }
}

/* Consistent insets, compact actions and a visible Medical section switch. */
body:not(.wl) #main .medical-more { box-sizing:border-box; }
body:not(.wl) #main .medical-more > summary { padding:13px 16px; gap:12px; }
body:not(.wl) #main .medical-more-body { padding:0 16px 16px; }
body:not(.wl) #main .medical-more > :is(.medical-procedure-extra,.rd-procs) { box-sizing:border-box; padding:0 16px 12px; margin:0; }
body:not(.wl) #main .medical-procedure-extra .rd-proc { gap:16px; line-height:1.55; padding:12px 0; min-width:0; }
body:not(.wl) #main .medical-procedure-extra .rd-proc:last-child { border-bottom:0; }
body:not(.wl) #main .medical-procedure-extra .rd-proc::after { align-self:center; }
body:not(.wl) #main .medical-task-links { width:calc(100% - 32px) !important; max-width:1232px; margin-inline:auto !important; box-sizing:border-box; }
body:not(.wl) #main .medical-task-extra { padding:8px 16px 16px; margin:0; gap:12px; box-sizing:border-box; }
body:not(.wl) #main .medical-task-extra > a { min-width:0; box-sizing:border-box; padding:14px 10px; }
body:not(.wl) #main :is(.rd-btn,.rd-btn-line,.btn-primary,.btn-secondary,.btn-outline,.btn-outline-teal) { min-height:38px !important; padding:8px 14px !important; font-size:13px !important; line-height:1.4; border-radius:11px; box-sizing:border-box; }
body:not(.wl) #main .rd-panel-actions { flex-wrap:wrap; gap:10px; }
body:not(.wl) #main .rd-panel-actions a { width:auto !important; flex:0 1 auto; }
body:not(.wl) #main .rd-hero-actions { display:flex !important; flex-wrap:wrap; gap:10px; }
body:not(.wl) #main .rd-hero-actions > a { width:auto !important; flex:0 1 auto; }
body:not(.wl) #navbar .medical-nav-identity { display:contents; }
body:not(.wl) #navbar.nav-reference.shared-nav .medical-mode-switch { display:grid !important; grid-template-columns:repeat(2,minmax(0,1fr)); width:148px !important; padding:2px !important; border-radius:11px !important; gap:2px; }
body:not(.wl) #navbar.nav-reference.shared-nav .medical-mode-switch > :is(span,a) { display:flex !important; align-items:center; justify-content:center; min-height:30px !important; margin:0; padding:5px 8px !important; font-size:11px !important; font-weight:600; line-height:1.25; white-space:normal; text-align:center; text-decoration:none; border-radius:8px !important; color:var(--nav-ink) !important; }
body:not(.wl) #navbar.nav-reference.shared-nav .medical-mode-switch > .is-on { background:var(--nav-accent) !important; color:#fff !important; }
body:not(.wl) #navbar .medical-mode-switch > a:hover { background:#dceaf0; }
body:not(.wl) #navbar .medical-mode-switch > a:focus-visible { outline:2px solid var(--nav-accent); outline-offset:2px; }
@media(max-width:1200px) {
 body:not(.wl) #navbar.nav-reference.shared-nav .nav-links { inset-inline:12px !important; top:calc(100% + 8px) !important; border:1px solid var(--nav-border) !important; border-radius:16px !important; padding:14px 16px 18px !important; max-height:calc(100dvh - var(--nav-h,84px) - 20px); box-sizing:border-box; }
 body:not(.wl) #navbar.nav-reference.shared-nav .nav-support { display:flex !important; flex-wrap:wrap; gap:10px; padding-top:12px; border-top:1px solid var(--nav-border); }
 body:not(.wl) #navbar.nav-reference.shared-nav .nav-support > li { display:flex !important; align-items:center; flex-wrap:wrap; gap:8px; min-width:0; max-width:100%; }
 body:not(.wl) #navbar.nav-reference.shared-nav .nav-support > li > :is(a,.contact-action-row) { width:auto !important; box-sizing:border-box; }
 body:not(.wl) #navbar.nav-reference.shared-nav .nav-support a:not(.rd-switch) { display:inline-flex; align-items:center; justify-content:center; gap:6px; min-height:38px !important; padding:8px 12px !important; font-size:12px !important; line-height:1.35; border-radius:10px; }
 body:not(.wl) #navbar.nav-reference.shared-nav .nav-support .nav-cta { padding:8px 12px !important; color:#fff !important; }
}
@media(max-width:768px) {
 body:not(.wl) #navbar.nav-reference.shared-nav .nav-inner { height:86px !important; }
 body:not(.wl) #navbar .medical-nav-identity { display:flex; flex-direction:column; align-items:flex-start; gap:2px; min-width:0; flex:0 0 auto; max-width:calc(100% - 132px); }
 body:not(.wl) #navbar.nav-reference.shared-nav .nav-brand-mode .medical-mode-switch { width:148px !important; min-height:29px !important; max-width:100%; }
 body:not(.wl) #navbar.nav-reference.shared-nav .medical-mode-switch > :is(span,a) { min-height:24px !important; padding:3px 7px !important; font-size:10.5px !important; }
 body:not(.wl) #navbar.nav-reference.shared-nav .nav-actions { margin-inline-start:auto !important; }
 body:not(.wl) #navbar.nav-reference.shared-nav .lang-switch-current { display:none !important; }
 body:not(.wl) #navbar.nav-reference.shared-nav .lang-switch > summary { width:32px; min-width:32px; padding:6px 0 !important; justify-content:center; gap:2px; }
 body:not(.wl) #navbar.nav-reference.shared-nav .lang-switch > summary > .icon:first-of-type { display:inline-block !important; width:15px; height:15px; }
 body:not(.wl) #navbar.nav-reference.shared-nav .lang-switch > summary > .icon:last-of-type { width:9px; height:9px; }
 body:not(.wl) #main :is(.rd-btn,.rd-btn-line,.btn-primary,.btn-secondary,.btn-outline,.btn-outline-teal) { min-height:40px !important; padding:8px 12px !important; }
}

/* Mobile section selection lives in the opened menu; desktop stays unchanged. */
body:not(.wl) #navbar .medical-mobile-section-switch[hidden] { display:none !important; }
body:not(.wl) #navbar .mode-option-icon { display:none !important; }
@media(max-width:768px) {
 body:not(.wl) #navbar.nav-reference.shared-nav .nav-inner { height:64px !important; }
 body:not(.wl) #navbar .medical-nav-identity { display:contents; }
 body:not(.wl) #navbar .medical-mobile-section-switch { margin:0 0 12px; }
 body:not(.wl) #navbar .medical-mobile-section-switch > summary { display:flex; align-items:center; justify-content:space-between; min-height:42px; padding:10px 12px; box-sizing:border-box; border:1px solid var(--nav-border); border-radius:10px; background:var(--nav-soft); color:var(--nav-ink); font-size:13px; font-weight:600; list-style:none; cursor:pointer; }
 body:not(.wl) #navbar .medical-mobile-section-switch > summary::-webkit-details-marker { display:none; }
 body:not(.wl) #navbar .medical-mobile-section-switch > summary::after { content:'▾'; margin-inline-start:12px; }
 body:not(.wl) #navbar .medical-mobile-section-switch[open] > summary::after { content:'▴'; }
 body:not(.wl) #navbar .medical-mobile-section-options { padding:0; }
 body:not(.wl) #navbar.nav-reference.shared-nav .medical-mobile-section-options .medical-mode-switch { display:grid !important; grid-template-columns:repeat(2,minmax(0,1fr)); width:100% !important; max-width:none; padding:3px !important; gap:4px; border-radius:12px !important; background:linear-gradient(100deg,#edf5f8,#edf3e8) !important; }
 body:not(.wl) #navbar.nav-reference.shared-nav .medical-mobile-section-options .medical-mode-switch > :is(span,a) { justify-content:center; gap:8px; width:100%; min-height:40px !important; padding:9px 10px !important; font-size:13px !important; box-sizing:border-box; }
 body:not(.wl) #navbar.nav-reference.shared-nav .medical-mobile-section-options .medical-mode-switch > a { color:#3b5e43 !important; background:#e5efdf; }
 body:not(.wl) #navbar.nav-reference.shared-nav .medical-mobile-section-options .medical-mode-switch > a:hover { background:#d5e6cb; }
 body:not(.wl) #navbar.nav-reference.shared-nav .medical-mobile-section-options .mode-option-icon { display:inline-block !important; flex:0 0 18px; width:18px !important; height:18px !important; margin:0; fill:currentColor; object-fit:contain; }
}

/* Contact actions: compact controls instead of oversized full-width cards. */
body:not(.wl) #main .rd-contact-hero > .rd-wrap > p:not(.contact-direct-details) { margin-bottom:0 !important; }
body:not(.wl) #main .rd-contact-hero .rd-quick { display:grid !important; grid-template-columns:repeat(4,minmax(0,1fr)); max-width:720px; gap:8px; margin-top:16px; }
body:not(.wl) #main .rd-contact-hero .rd-quick-card { display:flex !important; flex-direction:row !important; align-items:center; justify-content:center; gap:8px; width:auto !important; min-width:0 !important; min-height:44px; height:auto; flex:none !important; padding:9px 12px !important; text-align:start; border-radius:10px; box-sizing:border-box; font-size:13px; line-height:1.4; }
body:not(.wl) #main .rd-contact-hero .rd-quick-card > span { display:block; min-width:0; }
body:not(.wl) #main .rd-contact-hero .rd-quick-card b { font-size:13px; line-height:1.4; }
body:not(.wl) #main .rd-contact-hero .rd-quick-card small { display:none; }
body:not(.wl) #main .rd-contact-hero .rd-quick-card .icon { display:inline-block; box-sizing:content-box !important; flex:0 0 18px; width:18px !important; height:18px !important; padding:0 !important; margin:0; border:0; border-radius:0; background:transparent !important; color:#145e7a; fill:currentColor; }
body:not(.wl) #main .rd-contact-hero .rd-quick-card.is-wa:not(.telegram-link) .icon { color:#073b1e; }
body:not(.wl) #main .rd-contact-hero .contact-direct-details { display:flex; flex-wrap:wrap; gap:4px 18px; margin:10px 0 0 !important; padding:0; font-size:13px !important; line-height:1.6; }
body:not(.wl) #main .contact-direct-details a { color:#48606b !important; text-decoration:underline; text-underline-offset:3px; overflow-wrap:anywhere; }
body:not(.wl) #main .rd-contact-main .patient-enquiry-choice { gap:8px; margin-bottom:12px; }
body:not(.wl) #main .rd-contact-main .patient-enquiry-choice > a { width:auto !important; flex:0 1 auto; min-height:36px !important; padding:7px 11px !important; font-size:12px !important; line-height:1.4; }
body:not(.wl) #main .rd-contact-main .patient-fee-note { margin-block:12px; }
body:not(.wl) #main .rd-contact-main .rd-stepnav button { min-height:40px !important; padding:8px 14px !important; font-size:13px; }
@media(max-width:600px) {
 body:not(.wl) #main .rd-contact-hero .rd-quick { grid-template-columns:repeat(2,minmax(0,1fr)); }
 body:not(.wl) #main .rd-contact-hero .rd-quick-card { padding:8px 10px !important; }
 body:not(.wl) #main .rd-contact-hero .contact-direct-details { gap:3px 12px; }
}

/* Phone density: readable rows and bounded artwork, with desktop left intact. */
@media(max-width:768px) {
 body:not(.wl).medical-refined #main > section:not(.rd-hero):not(.medical-compact-hero):not(.rd-hospital-strip):not(.hospital-logo-strip) { padding-block:20px !important; }
 body:not(.wl) #main .medical-compact-hero { padding-top:calc(var(--nav-h,64px) + 18px) !important; padding-bottom:18px !important; }
 body:not(.wl) #main :is(.rd-head,.section-header) { margin-bottom:16px !important; gap:8px; }
 body:not(.wl) #main .rd-section > :is(.rd-wrap,.section-inner) > .rd-h2 { margin-bottom:14px !important; }
 body:not(.wl) #main :is(.rd-cardgrid,.rd-guide-grid,.doctors-grid,.hospitals-grid,.treatment-cards-grid,.medical-stage-grid,.medical-guide-hub,.journey-cases) { gap:12px !important; }
 body:not(.wl) #main :is(.rd-card,.rd-dd,.medical-stage,.medical-topic-card,.medical-guide-hub article,.journey-case,.two-col-grid > .info-panel) { padding:14px !important; min-height:0; border-radius:14px !important; }
 body:not(.wl) #main :is(.rd-card,.rd-dd,.medical-stage,.medical-guide-hub article) > p:last-child { margin-bottom:0; }
 body:not(.wl) #main .cost-guide-list { display:grid; grid-template-columns:minmax(0,1fr) !important; gap:0 !important; border:1px solid #d5e2e7; border-radius:12px; background:#fff; overflow:hidden; }
 body:not(.wl) #main .cost-guide-list > a { display:grid; grid-template-columns:minmax(0,1fr) max-content; align-items:center; column-gap:12px; min-height:48px; padding:10px 12px !important; margin:0; border:0; border-bottom:1px solid #e1e9ed; border-radius:0; background:transparent; box-shadow:none; transform:none; box-sizing:border-box; }
 body:not(.wl) #main .cost-guide-list > a:last-child { border-bottom:0; }
 body:not(.wl) #main .cost-guide-list > a > b { min-width:0; margin:0; font-size:14px; line-height:1.45; }
 body:not(.wl) #main .cost-guide-meta { display:contents; }
 body:not(.wl) #main .cost-guide-price { color:#145e7a; font-size:13px; line-height:1.5; white-space:nowrap; text-align:end; }
 body:not(.wl) #main .cost-guide-specialty { position:absolute !important; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
 body:not(.wl) #main .cost-guide-list > a:focus-visible { outline:2px solid #145e7a; outline-offset:-3px; }
 body:not(.wl) #main #doctorsContainer .doctor-card { grid-template-columns:64px minmax(0,1fr); padding:14px !important; gap:5px 12px; }
 body:not(.wl) #main #doctorsContainer .doctor-avatar { width:64px; height:64px; }
 body:not(.wl) #main #doctorsContainer .doctor-name { font-size:18px; }
 body:not(.wl) #main .hospital-card-img { height:128px !important; min-height:0; }
 body:not(.wl) #main .hospital-card-body { padding:14px !important; }
 body:not(.wl) #main .treatment-card { padding:12px !important; }
 body:not(.wl) #main .treatment-card .medical-treatment-paper { height:110px !important; min-height:0; margin-bottom:8px; }
 body:not(.wl) #main .treatment-card .treatment-card-body { padding:0 !important; }
 body:not(.wl) #main .treatment-card .treatment-card-name { min-height:0; margin-bottom:6px !important; }
 body:not(.wl) #main .treatment-card :is(.treatment-card-price,.treatment-card-tag) { min-height:0; margin-block:6px !important; }
 body:not(.wl) #main .treatment-card .medical-card-excerpt { -webkit-line-clamp:2; }
 body:not(.wl) #main .medical-task-links { gap:10px; padding-block:18px 8px; }
 body:not(.wl) #main .medical-task-links a { min-height:108px !important; height:auto; padding:10px !important; gap:6px; }
 body:not(.wl) #main .medical-task-links .medical-task-sticker { width:64px !important; height:64px !important; }
 body:not(.wl) #main .medical-task-extra { gap:10px; padding:6px 12px 12px; }
 body:not(.wl) #main .medical-more > summary { padding:11px 14px; }
 body:not(.wl) #main .medical-more-body { padding:0 14px 14px; }
 body:not(.wl) #main .rd-qa summary { padding:13px 14px !important; }
 body:not(.wl) #main .rd-qa .faq-answer { padding:0 14px 14px !important; }
 body:not(.wl).medical-home #main .rd-step { grid-template-columns:64px minmax(0,1fr); gap:8px 12px; padding:14px !important; }
 body:not(.wl).medical-home #main .rd-step-dot.medical-paper-holder,
 body:not(.wl).medical-home #main .rd-step-dot .medical-care-paper { width:64px !important; height:72px !important; }
 body:not(.wl) #main .medical-treatment-hero .medical-profile-paper { width:136px !important; height:136px !important; }
 body:not(.wl) #main .medical-guide-support > div { gap:12px !important; }
 body:not(.wl) #main .medical-guide-support > div > div { padding:14px !important; }
}
@media(max-width:600px) {
 body:not(.wl) #main .treatment-cards-grid .treatment-card { display:grid; grid-template-columns:76px minmax(0,1fr); align-items:start; gap:12px; }
 body:not(.wl) #main .treatment-cards-grid .treatment-card .medical-treatment-paper { width:76px !important; height:88px !important; margin:0; }
 body:not(.wl) #main .treatment-cards-grid .treatment-card-body { margin:0 !important; min-width:0; }
 body:not(.wl) #main .treatment-cards-grid .treatment-card-name { font-size:16px !important; line-height:1.35; }
 body:not(.wl) #main .treatment-cards-grid .treatment-card-price b { font-size:14px; line-height:1.4; }
 body:not(.wl) #main .treatment-cards-grid .treatment-card-links a { min-height:32px; display:inline-flex; align-items:center; font-size:13px !important; }
}

/* Country discovery and a text-width active state in the phone navigation. */
body:not(.wl) #main .country-search-form { display:flex; align-items:stretch; gap:8px; margin:0 0 8px; max-width:700px; }
body:not(.wl) #main .country-search-input { display:flex; align-items:center; gap:8px; flex:1; min-width:0; padding:0 12px; background:#fff; border:1px solid #cbdde5; border-radius:10px; }
body:not(.wl) #main .country-search-input .icon { flex:0 0 18px; width:18px; height:18px; fill:currentColor; color:#526e7d; }
body:not(.wl) #main .country-search-input input { width:100%; min-width:0; min-height:42px; border:0; background:transparent; padding:8px 0; color:#153849; font:inherit; font-size:14px; }
body:not(.wl) #main .country-search-form button { min-height:44px !important; flex-shrink:0; }
body:not(.wl) #main .country-search-status { display:flex; justify-content:space-between; align-items:center; gap:12px; min-height:32px; margin-bottom:10px; color:#526e7d; font-size:13px; }
body:not(.wl) #main .country-search-status a { display:inline-flex; align-items:center; min-height:32px; color:#145e7a; text-underline-offset:3px; }
body:not(.wl) #main :is(.country-guide-grid > [hidden],.country-search-empty[hidden],#countrySearchClear[hidden]) { display:none !important; }
body:not(.wl) #main .country-search-empty { padding:16px; background:#f5f9fb; border:1px solid #d5e2e7; border-radius:12px; }
@media(max-width:768px) {
 body:not(.wl) #navbar.nav-reference.shared-nav .nav-primary > li > a.medical-nav-current,
 body:not(.wl) #navbar.nav-reference.shared-nav .nav-guide-menu a.medical-nav-current,
 body:not(.wl) #navbar.nav-reference.shared-nav .nav-guide.medical-nav-current-group > summary { border-bottom-color:transparent !important; text-decoration:none !important; }
 body:not(.wl) #navbar.nav-reference.shared-nav .nav-primary a.medical-nav-current > .medical-nav-label,
 body:not(.wl) #navbar.nav-reference.shared-nav .nav-guide.medical-nav-current-group > summary > .medical-nav-label { text-decoration:underline; text-decoration-color:var(--nav-accent); text-decoration-thickness:2px; text-underline-offset:7px; }
 body:not(.wl) #main .country-search-form { margin-top:0; }
}
/* Phone-only density pass: expandable supporting copy, original desktop layout. */
@media (max-width:768px) {
 body:not(.wl) .medical-phone-disclosure { min-width:0; }
 body:not(.wl) .medical-phone-disclosure > summary { cursor:pointer; min-height:44px; display:flex; align-items:center; gap:12px; font-weight:600; line-height:1.5; list-style:none; }
 body:not(.wl) .medical-phone-disclosure > summary::-webkit-details-marker { display:none; }
 body:not(.wl) .medical-phone-disclosure > summary::after { content:'+'; margin-inline-start:auto; flex-shrink:0; }
 body:not(.wl) .medical-phone-disclosure[open] > summary::after { content:'−'; }
 body:not(.wl) .medical-phone-disclosure > summary:focus-visible { outline:2px solid currentColor; outline-offset:3px; }
 body:not(.wl) footer .footer-col { margin:0; padding-block:0; }
 body:not(.wl) footer .footer-col-title[hidden],body:not(.wl) footer .footer-assurance strong[hidden] { display:none !important; }
 body:not(.wl) footer .medical-phone-footer-links { border-bottom:1px solid #ffffff30; }
 body:not(.wl) footer .medical-phone-footer-links > summary { padding-block:7px; font-size:14px; }
 body:not(.wl) footer .medical-phone-footer-links .footer-links { margin:0 0 12px; }
 body:not(.wl) footer .footer-inner { gap:12px; padding-block:20px; }
 body:not(.wl) footer .footer-assurance { gap:8px 12px; padding-block:12px; }
 body:not(.wl) footer .footer-assurance-item { align-items:start; }
 body:not(.wl) footer .medical-phone-assurance > summary { font-size:12px; }
 body:not(.wl) footer .footer-brand-desc { margin-block:10px; }
 body:not(.wl) footer .footer-bottom { padding-block:16px; }
 body:not(.wl) #main .patient-fee-note:has(.medical-phone-fee) { padding:8px 14px; }
 body:not(.wl) #main .patient-fee-note > strong[hidden] { display:none !important; }
 body:not(.wl) #main .medical-phone-fee > summary { font-size:14px; }
 body:not(.wl)[data-medical-page='contact'] #main .rd-contact-aside { margin-top:12px; }
 body:not(.wl)[data-medical-page='contact'] #main .rd-contact-aside .medical-more { margin-block:8px; }
 body:not(.wl)[data-medical-page='contact'] #main .rd-contact-aside .medical-more:not([open]) > :not(summary) { display:none !important; }
 body:not(.wl)[data-medical-page='doctor'] #main .page-hero { padding-block:20px !important; }
 body:not(.wl)[data-medical-page='doctor'] #main .profile-hero-grid { grid-template-columns:minmax(0,1fr) 92px !important; gap:12px !important; align-items:start; }
 body:not(.wl)[data-medical-page='doctor'] #main .profile-hero-copy { grid-column:1; grid-row:1; gap:6px !important; }
 body:not(.wl)[data-medical-page='doctor'] #main .profile-hero-picture { grid-column:2 !important; grid-row:1 !important; align-self:start; width:92px !important; max-width:92px !important; min-height:0 !important; max-height:130px !important; }
 body:not(.wl)[data-medical-page='doctor'] #main .profile-hero-picture :is(img,svg.doctor-cutout-art) { width:92px !important; height:120px !important; max-height:120px !important; object-fit:contain; }
 body:not(.wl)[data-medical-page='doctor'] #main .hero-title { font-size:24px !important; line-height:1.2; }
 body:not(.wl)[data-medical-page='doctor'] #main .profile-hero-copy > p { font-size:14px !important; margin-bottom:4px !important; }
 body:not(.wl)[data-medical-page='doctor'] #main .profile-hero-copy > div { gap:6px !important; }
 body:not(.wl)[data-medical-page='treatment'] #main .page-hero { padding-block:20px !important; }
 body:not(.wl)[data-medical-page='treatment'] #main .profile-hero-grid { gap:12px !important; }
 body:not(.wl)[data-medical-page='treatment'] #main .profile-hero-copy { gap:8px !important; }
 body:not(.wl)[data-medical-page='treatment'] #main .profile-hero-copy > p { font-size:14px !important; margin-block:0 !important; }
 body:not(.wl)[data-medical-page='treatment'] #main .profile-hero-picture { width:100px !important; height:82px !important; max-height:82px !important; }
 body:not(.wl)[data-medical-page='treatment'] #main .price-band { margin-block:0; padding:12px; }
 body:not(.wl)[data-medical-page='treatment'] #main .price-band-note { font-size:12px; line-height:1.5; margin-block:8px; }
 body:not(.wl)[data-medical-page='treatment'] #main .price-band-value { font-size:20px; }
 body:not(.wl)[data-medical-page='doctor'] #main .medical-profile-cta,body:not(.wl)[data-medical-page='treatment'] #main .medical-profile-cta { width:auto !important; align-self:start; min-height:44px; padding:10px 14px; margin-top:8px !important; font-size:13px; }
}

@media(max-width:768px){
body:not(.wl) #main .rd-contact-aside .medical-visible-info { padding:0; margin-block:8px; }
body:not(.wl) #main .medical-visible-info-title[hidden] { display:none!important; }
body:not(.wl) #main .medical-phone-contact-info { border:1px solid #d5e2e7; border-radius:12px; padding:0 14px; }
body:not(.wl) #main .medical-phone-contact-info > summary { font-size:14px; padding-block:8px; }
body:not(.wl) #main .medical-phone-contact-info:not([open]) > :not(summary) { display:none!important; }
}

@media(max-width:768px){
body:not(.wl)[data-medical-page='doctor'] #main .profile-hero-aligned .doctor-avatar-box.profile-hero-picture { height:120px!important; min-height:0!important; display:flex!important; align-items:start!important; }
body:not(.wl)[data-medical-page='doctor'] #main .profile-hero-copy :is(h1,p) { text-align:start!important; }
body:not(.wl)[data-medical-page='doctor'] #main .profile-hero-copy > div { justify-content:flex-start!important; }
body:not(.wl)[data-medical-page='treatment'] #main .price-band .price-band-note { font-size:14px!important; line-height:1.5!important; }
body:not(.wl) footer .footer-assurance { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); }
body:not(.wl) footer .footer-contact { gap:8px; margin-block:12px; }
}

@media(max-width:768px){
body:not(.wl) footer .footer-countries { gap:6px 12px; padding-block:12px; }
body:not(.wl) footer .footer-countries a { padding:6px 0; border:0; border-radius:0; min-height:32px; display:inline-flex; align-items:center; text-decoration:underline; text-underline-offset:3px; }
body:not(.wl) footer .footer-contact .icon { width:20px; height:20px; flex:0 0 20px; }
}

/* Keep contact icons and labels on the same baseline on phones. */
@media(max-width:768px){
 body:not(.wl) footer .footer-contact { grid-template-columns:minmax(0,1fr); gap:2px; }
 body:not(.wl) footer .footer-contact > li { grid-column:1; display:grid; grid-template-columns:20px minmax(0,1fr); align-items:center; column-gap:10px; }
 body:not(.wl) footer .footer-contact > li > .icon { margin:0; align-self:center; width:20px; height:20px; }
 body:not(.wl) footer .footer-contact > li > a { min-height:44px; width:fit-content; max-width:100%; display:inline-flex; align-items:center; line-height:1.5; }
}

/* Keep profile content below the fixed header and make key phone controls easier to tap. */
@media (max-width:768px) {
 body:not(.wl)[data-medical-page='treatment'] #main .page-hero,
 body:not(.wl)[data-medical-page='doctor'] #main .page-hero { padding-top:calc(var(--nav-h, 65px) + 16px) !important; }
 body:not(.wl) #main .rd-contact-main .rd-stepnav button { min-height:44px !important; }
 body:not(.wl) #main .contact-direct-details a,
 body:not(.wl) #main .rail-head-link,
 body:not(.wl) #main .medical-quote-action a { min-height:44px; display:inline-flex; align-items:center; }
}

@media (max-width:768px) {
 body:not(.wl) #main :is(.rail-card-title a,.related-pages-all,.rd-est-more,.medical-hero-trust a,.price-band a:not(.medical-profile-cta)) { display:inline-flex; align-items:center; min-height:32px; }
}

