/* =========================================================================
   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);
  /* Medical pages load only Cormorant Garamond + DM Sans (self-hosted, assets/fonts/), so the
     wellness accents on medical pages (home gateway card, switch veil) use those. body.wl
     below switches to Marcellus + Jost, which header.php loads on wellness pages only. */
  --wl-display: 'Cormorant Garamond', Georgia, serif; --wl-body: 'DM Sans', '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;
}
body.wl { --wl-display: 'Marcellus', Georgia, serif; --wl-body: 'Jost', 'Segoe UI', sans-serif; }
[lang="ru"] { --wl-display: 'Forum', Georgia, serif; --wl-body: 'Inter', 'Segoe UI', sans-serif; }
[lang="ru"] body.wl { --wl-display: 'Forum', Georgia, serif; --wl-body: 'Jost', 'Segoe UI', sans-serif; }
[lang="ar"], [lang="ar"] body.wl { --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; }
/* rd.js adds .is-looped after cloning the single printed set; without JS the logos sit still. */
.rd-logos-track.is-looped { 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; object-fit: contain; 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; object-fit: contain; 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; object-fit: contain; opacity: .07; animation: rd-spin 140s linear infinite; }
.rd-pagehero > .rd-wrap { position: relative; }
.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; }

/* ===== Treatment detail + treatments listing (treatment.php, treatments.php; 2026-10-09) ===== */
/* Real header height: #navbar is --nav-h plus the 3px accent bar and a hairline (measured 75.8px
   at 72, 67.8px at 64), so sticky bars below it sit at --nav-h + 4px = 76 desktop / 68 mobile. */
:root { --rd-header-h: calc(var(--nav-h, 72px) + 4px); }
.rd-tabs { top: var(--rd-header-h); }
/* Tab bar: snap scrolling plus an edge fade on whichever side has more tabs (rd.js sets the classes). */
.rd-tabs-inner { scroll-snap-type: x proximity; --fl: 0px; --fr: 0px; -webkit-mask-image: linear-gradient(90deg, transparent 0, #000 var(--fl), #000 calc(100% - var(--fr)), transparent 100%); mask-image: linear-gradient(90deg, transparent 0, #000 var(--fl), #000 calc(100% - var(--fr)), transparent 100%); }
.rd-tabs-inner a { scroll-snap-align: start; }
.rd-tabs.is-more-left .rd-tabs-inner { --fl: 40px; }
.rd-tabs.is-more-right .rd-tabs-inner { --fr: 40px; }
.rd-txsec { scroll-margin-top: calc(var(--rd-header-h) + 72px); }

/* hero: copy left, price card / specialty illustration right */
.rd-txhero { padding: calc(var(--nav-h, 72px) + 3rem) 0 3.6rem; }
.rd-txhero-grid { position: relative; display: grid; grid-template-columns: minmax(0, 1fr) 400px; gap: 56px; align-items: center; }
.rd-txhero h1 { font-size: clamp(2.2rem, 3.6vw, 3.4rem); margin: .9rem 0 .9rem; }
.rd-txhero .rd-txhero-copy > p { margin-bottom: 1.4rem; }
.rd-txhero .rd-facts { margin-bottom: 1.6rem; }
.rd-crumbs { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 8px; font-size: .86rem; color: rgba(255,255,255,.7); }
.rd-crumbs a { color: rgba(255,255,255,.9); text-decoration: none; display: inline-flex; align-items: center; min-height: 32px; }
.rd-crumbs a:hover { text-decoration: underline; }
.rd-crumbs [aria-current] { color: var(--rd-sky); font-weight: 600; }
.rd-crumbs-sep { width: 10px; height: 10px; opacity: .6; }
[dir="rtl"] .rd-crumbs-sep { transform: scaleX(-1); }
.rd-pagehero .rd-txreviewed { display: inline-flex; align-items: center; gap: 8px; margin: 1.4rem 0 0; font-size: .84rem; color: rgba(255,255,255,.72); }
.rd-txreviewed .icon { width: 14px; height: 14px; }
.rd-txprice { position: relative; border-radius: 24px; overflow: hidden; background: #fff; color: var(--rd-navy); box-shadow: 0 24px 60px rgba(0,0,0,.3); }
.rd-txprice-art { height: 120px; background: #e8f1fc; }
.rd-txprice-art img { width: 100%; height: 100%; object-fit: cover; display: block; }
.rd-txprice-body { padding: 1.4rem 1.6rem 1.6rem; }
.rd-txprice-body small { display: block; font-size: .72rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--rd-muted); }
.rd-txprice-val { display: block; font-family: 'Cormorant Garamond', Georgia, serif; font-size: 2.5rem; font-weight: 700; line-height: 1.1; margin: .3rem 0 .1rem; direction: ltr; unicode-bidi: isolate; }
[dir="rtl"] .rd-txprice-val { text-align: right; }
.rd-txprice-unit { display: block; font-size: .88rem; font-weight: 600; color: #0b4a8f; }
.rd-pagehero .rd-txprice-body p { font-size: .84rem; line-height: 1.55; color: var(--rd-muted); margin: .9rem 0 1rem; max-width: none; }
.rd-txprice-link { display: inline-flex; align-items: center; min-height: 44px; font-weight: 700; font-size: .92rem; color: var(--rd-blue); text-decoration: none; }
.rd-txprice-link:hover { text-decoration: underline; }
.rd-txart { margin: 0; border-radius: 24px; overflow: hidden; background: rgba(255,255,255,.06); border: 1px solid rgba(255,255,255,.16); }
.rd-txart img { display: block; width: 100%; aspect-ratio: 12 / 7; object-fit: cover; background: #e8f1fc; }
.rd-txart figcaption { display: flex; align-items: center; gap: 10px; padding: 1rem 1.3rem; font-weight: 700; color: #fcd34d; }
.rd-txart figcaption .icon { width: 16px; height: 16px; }

/* body: content column + sticky request form */
.rd-txlayout { display: grid; grid-template-columns: minmax(0, 1fr) 380px; gap: 48px; align-items: start; padding-top: 3.5rem; padding-bottom: 4rem; }
.rd-txbody { padding: 0; }
/* The compact form is ~1,130px tall: sticky only where the whole form fits, or its submit button
   would stay out of reach until the content column ends. */
@media (min-width: 1025px) and (min-height: 1300px) { .rd-txaside { position: sticky; top: calc(var(--rd-header-h) + 76px); } }
.rd-txmain > * + * { margin-top: 3.2rem; }
.rd-txmain > section:not(.rd-txnote) { padding: 0; } /* site.css gives every <section> 4.5rem */
.rd-txsec-h { font-family: 'Cormorant Garamond', Georgia, serif; font-size: clamp(1.9rem, 2.6vw, 2.4rem); font-weight: 600; line-height: 1.15; color: var(--rd-navy); margin: 0 0 1.2rem; }
.rd-txsec-h.is-sm { font-size: clamp(1.6rem, 2.2vw, 1.95rem); }
.rd-txprose { max-width: none; }
.rd-txprose h2 { font-size: 1.65rem; margin: 2rem 0 .7rem; }
.rd-txprose h3 { font-family: 'Cormorant Garamond', Georgia, serif; font-size: 1.45rem; font-weight: 600; margin: 1.8rem 0 .6rem; }
.rd-txprose ul { list-style: none; padding-inline-start: 0; }
.rd-txprose ul > li { position: relative; padding-inline-start: 1.5rem; }
.rd-txprose ul > li::before { content: ''; position: absolute; inset-inline-start: .2rem; top: .7em; width: 7px; height: 7px; border-radius: 50%; background: var(--rd-blue); }
.rd-txinc { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
.rd-txinc-col { background: #fff; border: 1px solid var(--rd-line); border-radius: 20px; padding: 1.4rem 1.5rem; }
.rd-txinc-col.is-us { background: #f0f7ff; border-color: #cfe3fb; }
.rd-txinc-col h3 { display: flex; align-items: center; gap: 10px; font-size: 1.02rem; color: var(--rd-navy); margin: 0 0 1rem; }
.rd-txinc-col h3 .icon { width: 20px; height: 20px; color: var(--rd-blue); flex-shrink: 0; }
.rd-txinc-col ul { list-style: none; margin: 0; padding: 0; display: grid; gap: .65rem; }
.rd-txinc-col li { display: flex; gap: 10px; align-items: flex-start; color: #334155; font-size: .94rem; line-height: 1.5; }
.rd-txinc-col li .icon { width: 14px; height: 14px; margin-top: .3em; color: #16a34a; flex-shrink: 0; }
/* compact rd-timeline for the content column */
.rd-timeline.is-compact { gap: 20px; }
.rd-timeline.is-compact::before, .rd-timeline.is-compact::after { left: 32px; top: 30px; }
[dir="rtl"] .rd-timeline.is-compact::before, [dir="rtl"] .rd-timeline.is-compact::after { left: 8%; right: 32px; }
.rd-timeline.is-compact .rd-step { gap: 10px; }
.rd-timeline.is-compact .rd-step-dot { width: 64px; height: 64px; border-width: 3px; }
.rd-timeline.is-compact .rd-step-dot .icon { width: 24px; height: 24px; }
.rd-timeline.is-compact .rd-step-n { color: #b45309; }
.rd-timeline.is-compact .rd-step h3 { font-size: 1.35rem; }
.rd-timeline.is-compact .rd-step p { font-size: .9rem; }
.rd-txnote { background: linear-gradient(135deg, #f0f7ff, #fff); border: 1px solid #cfe3fb; border-radius: 22px; padding: 1.6rem 1.7rem; }
.rd-txnote p { margin: 0 0 1.1rem; color: #1e3a5f; line-height: 1.7; }
.rd-txnote-links { display: flex; flex-wrap: wrap; gap: 10px; }
.rd-txnote-links .rd-btn-line { min-height: 44px; font-size: .9rem; padding: .6rem 1.1rem; }
.rd-txnote-links .icon { width: 16px; height: 16px; }
.rd-txmain .rd-wcard { margin: 3.2rem 0 0; }

/* related strips: specialists, hospitals, sibling procedures */
.rd-txstrip { padding: 4rem 0; }
.rd-txstrip.is-alt { background: var(--rd-b3); }
.rd-txstrip-head { display: flex; justify-content: space-between; align-items: flex-end; flex-wrap: wrap; gap: 1rem 2rem; margin-bottom: 1.4rem; }
.rd-txstrip-head .rd-h2 { margin: 0; }
.rd-h2.is-sm { font-size: clamp(1.8rem, 2.6vw, 2.3rem); }
.rd-txstrip-links { display: flex; flex-wrap: wrap; gap: 10px; }
.rd-txstrip-links .rd-btn-line { min-height: 44px; font-size: .9rem; padding: .6rem 1.1rem; }
.rd-txstrip-sub { color: var(--rd-muted); margin: -.6rem 0 1.4rem; }
.rd-txstrip-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 20px; }
.rd-txperson { display: flex; flex-direction: column; background: #fff; border: 1px solid var(--rd-line); border-radius: 20px; padding: 1.25rem 1.3rem; box-shadow: 0 4px 20px rgba(13,27,42,.06); }
.rd-txperson-top { display: flex; gap: 14px; align-items: center; text-decoration: none; color: inherit; }
.rd-txperson-ava { width: 64px; height: 64px; border-radius: 50%; object-fit: cover; object-position: top; flex-shrink: 0; background: #dbe7f5; }
.rd-txperson-ava.is-mono { display: inline-flex; align-items: center; justify-content: center; background: linear-gradient(135deg, #0d1b2a, #003366); color: #fff; font-family: 'Cormorant Garamond', Georgia, serif; font-size: 1.5rem; font-weight: 600; }
.rd-txperson-id b { display: block; font-family: 'Cormorant Garamond', Georgia, serif; font-size: 1.35rem; font-weight: 600; color: var(--rd-navy); line-height: 1.15; }
.rd-txperson-top:hover b { color: var(--rd-blue); }
.rd-txperson-id small { display: block; font-size: .84rem; color: var(--rd-muted); margin-top: .2rem; line-height: 1.4; }
.rd-txperson-meta { display: flex; gap: 8px; align-items: flex-start; font-size: .85rem; color: #475569; margin: .9rem 0 0; line-height: 1.45; }
.rd-txperson-meta .icon, .rd-txhosp .rd-hcard-body p .icon { width: 14px; height: 14px; margin-top: .2em; color: var(--rd-blue); flex-shrink: 0; }
.rd-txhosp { width: auto; display: flex; flex-direction: column; }
.rd-txhosp .rd-hcard-img { display: block; height: 160px; }
.rd-txhosp .rd-hcard-body { display: flex; flex-direction: column; flex: 1; }
.rd-txhosp .rd-hcard-body h3 { font-size: 1.35rem; line-height: 1.2; }
.rd-txhosp .rd-hcard-body h3 a { color: inherit; text-decoration: none; }
.rd-txhosp .rd-hcard-body h3 a:hover { color: var(--rd-blue); }
.rd-txhosp .rd-hcard-body p { display: flex; gap: 6px; margin: .4rem 0 0; }
.rd-txcard-actions { display: flex; gap: 10px; align-items: center; margin-top: auto; padding-top: 1rem; }
.rd-txcard-cta { flex: 1; display: inline-flex; align-items: center; justify-content: center; gap: 6px; min-height: 44px; padding: .5rem 1rem; border-radius: 50px; background: var(--rd-blue); color: #fff; font-weight: 600; font-size: .9rem; text-decoration: none; transition: background .2s; }
.rd-txcard-cta:hover { background: #0052a3; color: #fff; }
.rd-txcard-wa { flex-shrink: 0; width: 44px; height: 44px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; background: #25d366; color: #073b1e; }
.rd-txcard-wa:hover { background: #1ebe5b; color: #073b1e; }
.rd-txcard-wa .icon { width: 20px; height: 20px; }
.rd-txcard-cta:focus-visible, .rd-txcard-wa:focus-visible, .rd-txfacet:focus-visible { outline: 3px solid var(--rd-amber); outline-offset: 2px; }
.rd-txrel ul { list-style: none; margin: 0 0 1.4rem; padding: 0; display: flex; flex-wrap: wrap; gap: 10px; }
.rd-txrel li a { display: inline-flex; align-items: center; min-height: 44px; padding: .5rem 1.1rem; border-radius: 50px; background: #fff; border: 1.5px solid var(--rd-line); color: var(--rd-navy); font-weight: 600; font-size: .9rem; text-decoration: none; }
.rd-txrel li a:hover { border-color: var(--rd-blue); color: var(--rd-blue); }
.rd-txrel-count { color: var(--rd-muted); font-weight: 600; }

/* listing: compact hero, filters first, grouped cards */
.rd-txlist-hero { padding: calc(var(--nav-h, 72px) + 2.6rem) 0 2.6rem; }
.rd-txlist-hero h1 { font-size: clamp(2.2rem, 4vw, 3.3rem); margin: .2rem 0 .6rem; }
.rd-pagehero.rd-txlist-hero p { margin: 0; }
.rd-txlist { padding: 2rem 0 4.5rem; }
.rd-txfilter { background: #fff; border: 1px solid var(--rd-line); border-radius: 22px; padding: 1.1rem 1.2rem 1rem; box-shadow: 0 4px 20px rgba(13,27,42,.06); }
.rd-txfacets { display: flex; flex-wrap: wrap; gap: 8px; }
.rd-txfacet { display: inline-flex; align-items: center; gap: 8px; min-height: 40px; padding: .4rem .95rem; border-radius: 50px; border: 1.5px solid var(--rd-line); background: #fff; color: var(--rd-navy); font-weight: 600; font-size: .88rem; text-decoration: none; white-space: nowrap; transition: border-color .2s, color .2s; }
.rd-txfacet:hover { border-color: var(--rd-blue); color: var(--rd-blue); }
.rd-txfacet .n { font-size: .75rem; font-weight: 700; min-width: 22px; padding: 2px 7px; border-radius: 50px; background: #eef2f7; color: var(--rd-muted); text-align: center; }
.rd-txfacet.is-on { background: var(--rd-navy); border-color: var(--rd-navy); color: #fff; }
.rd-txfacet.is-on .n { background: var(--rd-amber); color: var(--rd-navy); }
.rd-txsearch { display: flex; align-items: center; gap: 16px; margin-top: 1rem; }
.rd-txsearch-box { flex: 1; min-width: 0; display: flex; align-items: center; gap: 10px; min-height: 50px; padding: 0 1.1rem; border: 1.5px solid var(--rd-line); border-radius: 50px; background: var(--rd-b1); cursor: text; }
.rd-txsearch-box:focus-within { border-color: var(--rd-blue); box-shadow: 0 0 0 3px rgba(0,102,204,.15); }
.rd-txsearch-box .icon { width: 18px; height: 18px; color: #64748b; flex-shrink: 0; }
.rd-txsearch-box input { flex: 1; min-width: 0; width: 100%; min-height: 48px; border: 0; outline: 0; background: transparent; font: inherit; font-size: 1rem; color: var(--rd-navy); }
.rd-txsearch-count { margin: 0; white-space: nowrap; color: var(--rd-muted); font-size: .9rem; }
.rd-txsearch-count b { color: var(--rd-navy); }
.rd-txprice-note { display: flex; gap: 8px; align-items: flex-start; margin: .9rem 0 0; font-size: .8rem; line-height: 1.5; color: var(--rd-muted); }
.rd-txprice-note .icon { width: 14px; height: 14px; margin-top: .2em; flex-shrink: 0; color: var(--rd-blue); }
.rd-txgroup { margin-top: 2.4rem; padding: 0; }
.rd-txgroup[hidden], .rd-txcard[hidden], .rd-txempty[hidden] { display: none; }
.rd-txgroup-band { display: flex; align-items: center; gap: 18px; min-height: 92px; margin-bottom: 1.1rem; padding-inline-end: 1.4rem; border-radius: 20px; overflow: hidden; background: linear-gradient(135deg, #0d1b2a, #003366); color: #fff; }
.rd-txgroup-band img { align-self: stretch; width: 210px; min-height: 92px; object-fit: cover; flex-shrink: 0; background: #e8f1fc; }
.rd-txgroup-title { padding: .8rem 0; }
.rd-txgroup-band:not(:has(img)) .rd-txgroup-title { padding-inline-start: 1.4rem; }
.rd-txgroup-title h2 { font-family: 'Cormorant Garamond', Georgia, serif; font-size: 1.75rem; font-weight: 600; line-height: 1.15; margin: 0; color: #fff; }
.rd-txgroup-title span { font-size: .84rem; color: var(--rd-sky); font-weight: 600; }
.rd-txgroup-link { margin-inline-start: auto; display: inline-flex; align-items: center; min-height: 44px; color: var(--rd-amber); font-weight: 700; font-size: .9rem; text-decoration: none; white-space: nowrap; }
.rd-txgroup-link:hover { text-decoration: underline; color: var(--rd-amber); }
.rd-txcards { display: grid; grid-template-columns: repeat(auto-fill, minmax(270px, 1fr)); gap: 18px; }
.rd-txcard { display: flex; flex-direction: column; background: #fff; border: 1px solid var(--rd-line); border-radius: 20px; padding: 1.3rem 1.35rem 1.35rem; box-shadow: 0 4px 20px rgba(13,27,42,.06); }
.rd-txcard-head { display: flex; justify-content: space-between; align-items: flex-start; gap: 12px; }
.rd-txcard h3 { font-family: 'Cormorant Garamond', Georgia, serif; font-size: 1.45rem; font-weight: 600; line-height: 1.15; color: var(--rd-navy); margin: 0; }
.rd-txcard h3 a { color: inherit; text-decoration: none; }
.rd-txcard h3 a:hover { color: var(--rd-blue); }
.rd-txcard-art { width: 56px; height: 56px; border-radius: 14px; object-fit: cover; flex-shrink: 0; background: #e8f1fc; }
.rd-txcard > p { font-size: .88rem; line-height: 1.55; color: var(--rd-muted); margin: .55rem 0 1rem; }
.rd-txcard-price { margin-top: auto; padding-top: .85rem; border-top: 1px solid var(--rd-line); display: flex; flex-wrap: wrap; align-items: baseline; gap: 2px 10px; }
.rd-txcard-price small { flex-basis: 100%; font-size: .72rem; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--rd-muted); }
.rd-txcard-price b { font-size: 1.15rem; color: var(--rd-navy); direction: ltr; unicode-bidi: isolate; }
.rd-txcard-price.is-none b { font-size: .95rem; color: #0b4a8f; direction: inherit; }
.rd-txcard-price a { font-size: .82rem; font-weight: 600; color: var(--rd-blue); }
.rd-txcard .rd-txcard-actions { padding-top: .9rem; }
.rd-txexplain-grid { display: grid; grid-template-columns: minmax(0, 1fr) 380px; gap: 40px; align-items: start; }
.rd-txexplain-side { display: flex; flex-direction: column; gap: 16px; }
.rd-txempty { margin-top: 2rem; padding: 3rem 1.5rem; text-align: center; align-items: center; }
.rd-txempty > .icon { width: 40px; height: 40px; color: #94a3b8; }

@media (max-width: 1100px) {
  .rd-txhero-grid { grid-template-columns: minmax(0, 1fr) 340px; gap: 36px; }
}
@media (max-width: 1024px) {
  .rd-txlayout, .rd-txexplain-grid { grid-template-columns: minmax(0, 1fr); }
  .rd-txaside { position: static; }
}
@media (max-width: 860px) {
  .rd-txhero-grid { grid-template-columns: minmax(0, 1fr); }
  .rd-txprice, .rd-txart { max-width: 520px; }
}
@media (max-width: 700px) {
  .rd-txhero { padding: calc(var(--nav-h, 72px) + 1.8rem) 0 2.6rem; }
  .rd-crumbs a { min-height: 44px; }
  .rd-txinc { grid-template-columns: minmax(0, 1fr); }
  .rd-timeline.is-compact .rd-step { display: grid; grid-template-columns: 56px minmax(0, 1fr); column-gap: 14px; row-gap: 4px; align-items: start; }
  .rd-timeline.is-compact .rd-step-dot { grid-row: 1 / span 3; width: 56px; height: 56px; }
  .rd-txstrip { padding: 3rem 0; }
  .rd-txlist-hero { padding: calc(var(--nav-h, 72px) + 1.6rem) 0 1.8rem; }
  .rd-txfilter { padding: .9rem; border-radius: 18px; }
  /* facets: one swipeable row with an end fade instead of seven wrapped rows */
  .rd-txfacets { flex-wrap: nowrap; overflow-x: auto; scroll-snap-type: x proximity; scrollbar-width: none; margin-inline: -.9rem; padding-inline: .9rem; scroll-padding-inline: .9rem; -webkit-mask-image: linear-gradient(90deg, #000 0, #000 calc(100% - 40px), transparent 100%); mask-image: linear-gradient(90deg, #000 0, #000 calc(100% - 40px), transparent 100%); }
  [dir="rtl"] .rd-txfacets { -webkit-mask-image: linear-gradient(270deg, #000 0, #000 calc(100% - 40px), transparent 100%); mask-image: linear-gradient(270deg, #000 0, #000 calc(100% - 40px), transparent 100%); }
  .rd-txfacets::-webkit-scrollbar { display: none; }
  .rd-txfacet { scroll-snap-align: start; min-height: 44px; }
  .rd-txsearch { flex-wrap: wrap; gap: 8px; }
  .rd-txsearch-box { flex-basis: 100%; }
  .rd-txgroup-band { display: grid; grid-template-columns: 88px minmax(0, 1fr); column-gap: 14px; align-items: center; padding-inline-end: 1rem; }
  .rd-txgroup-band:not(:has(img)) { grid-template-columns: minmax(0, 1fr); padding-inline-start: 1.2rem; }
  .rd-txgroup-band img { grid-row: 1 / span 2; width: 88px; height: 100%; }
  .rd-txgroup-title { padding: .8rem 0 0; }
  .rd-txgroup-title h2 { font-size: 1.4rem; }
  .rd-txgroup-link { margin-inline-start: 0; min-height: 36px; padding-bottom: .5rem; }
  .rd-txcards { grid-template-columns: minmax(0, 1fr); }
}

/* ---------- 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; }
/* ---------- thank-you page (thank-you.php, Roadmap 2.6) ---------- */
.rd-thanks { padding: 4rem 0 2rem; }
.rd-thanks-layout { display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr); gap: 28px; align-items: start; }
.rd-thanks-main, .rd-thanks-aside { background: #fff; border: 1px solid var(--rd-line); border-radius: 22px; padding: 1.6rem 1.7rem; }
.rd-thanks-h { font-size: 1.15rem; color: var(--rd-navy); margin: 0 0 1rem; }
.rd-thanks-lead { font-size: 1.05rem; font-weight: 600; color: var(--rd-navy); margin: 0 0 1rem; }
.rd-thanks-note { display: flex; gap: 10px; align-items: flex-start; color: var(--rd-muted); font-size: .92rem; margin: 0 0 1.4rem; }
.rd-thanks-note .icon { width: 18px; height: 18px; flex: none; margin-top: 3px; color: #0f7b6c; }
.rd-thanks .rd-next { margin-top: .4rem; }
.rd-thanks .rd-next span { display: block; }
.rd-thanks-aside p { color: var(--rd-muted); font-size: .95rem; margin: 0 0 1.1rem; }
.rd-thanks-wa { background: #25d366; color: #073b1e; }
.rd-thanks-wa:hover { background: #1fb457; }
.rd-thanks-wa .icon { width: 20px; height: 20px; }
.rd-thanks-aside .rd-thanks-mail { margin: 1.1rem 0 0; font-size: .9rem; }
.rd-thanks-mail a { font-weight: 700; color: #0f7b6c; }
.rd-thanks-more { padding: 2rem 0 5rem; }
.rd-thanks-more .rd-guide-grid { margin: 1.4rem 0 2rem; }
@media (max-width: 900px) { .rd-thanks-layout { grid-template-columns: 1fr; } }
.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 */

/* ===== Home page, shorter on phones (Roadmap 2.1 + header 2.5, 2026-10-09) ===== */
/* hero: map canvas and overlays (were inline styles) */
.rd-hero-canvas { position: relative; width: 1440px; height: 700px; flex-shrink: 0; }
.rd-hero-canvas .rd-hero-lotus { left: 876px; top: 300px; }
.rd-hero-canvas .rd-hero-india { left: 925px; top: 513px; }
/* Labels are positioned for left-to-right anchoring; Arabic names still shape correctly inside. */
.rd-hero-map svg { direction: ltr; }
.rd-hero-legend .key i { background: #fbbf24; border: 2px solid #fff; }
.rd-glass.is-late { animation-delay: 1.6s; }
.rd-glass .ic.is-gold { background: #d97706; } .rd-glass .ic.is-blue { background: #0066cc; }
.rd-lead.is-narrow { max-width: 440px; }
/* RTL logo strip: the track ran off the left edge and left the band empty at 390px (UI #15). */
[dir="rtl"] .rd-logos-viewport { direction: ltr; }

/* journey steps: <details>, a timeline on wide screens and an accordion on phones */
.rd-step { display: block; }
.rd-step > summary { list-style: none; display: flex; flex-direction: column; gap: 14px; cursor: default; }
.rd-step > summary::-webkit-details-marker { display: none; }
.rd-step > p { margin-top: 14px; }
.rd-step:nth-child(2) { transition-delay: .1s; } .rd-step:nth-child(3) { transition-delay: .2s; } .rd-step:nth-child(4) { transition-delay: .3s; }
.rd-timeline.is-accordion { gap: 10px; }
.rd-timeline.is-accordion .rd-step { background: #fff; border: 1.5px solid var(--rd-line); border-radius: 16px; transition-delay: 0s; }
.rd-timeline.is-accordion .rd-step[open] { border-color: var(--rd-blue); }
.rd-timeline.is-accordion .rd-step > summary { display: grid; grid-template-columns: 44px minmax(0, 1fr) 28px; grid-template-areas: "dot n x" "dot h x"; column-gap: 12px; row-gap: 2px; align-items: center; padding: 12px 14px; cursor: pointer; }
.rd-timeline.is-accordion .rd-step > summary::after { content: '+'; grid-area: x; width: 28px; height: 28px; border-radius: 50%; background: #e8f1fc; color: var(--rd-blue); display: flex; align-items: center; justify-content: center; font-size: 1.15rem; transition: transform .25s; }
.rd-timeline.is-accordion .rd-step[open] > summary::after { transform: rotate(45deg); }
.rd-timeline.is-accordion .rd-step-dot { grid-area: dot; width: 44px; height: 44px; border-width: 3px; box-shadow: none; }
.rd-timeline.is-accordion .rd-step-dot .icon { width: 18px; height: 18px; }
.rd-timeline.is-accordion .rd-step-n { grid-area: n; font-size: .72rem; }
.rd-timeline.is-accordion .rd-step h3 { grid-area: h; font-size: 1.3rem; line-height: 1.15; }
.rd-timeline.is-accordion .rd-step > p { margin: 0; padding: 0 14px 14px; padding-inline-start: 70px; font-size: .95rem; }

/* specialty tiles (replaces the tabbed explorer on the home page) */
.rd-stiles { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; }
.rd-stiles.is-folded .is-extra { display: none; }
.rd-stile a { display: flex; flex-direction: column; height: 100%; background: #fff; border: 1.5px solid var(--rd-line); border-radius: 18px; overflow: hidden; text-decoration: none; color: var(--rd-navy); transition: border-color .2s, transform .2s, box-shadow .2s; }
.rd-stile a:hover { border-color: var(--rd-blue); transform: translateY(-3px); box-shadow: 0 14px 30px rgba(13,27,42,.1); color: var(--rd-navy); }
.rd-stile a:focus-visible { outline: 3px solid var(--rd-amber); outline-offset: 2px; }
.rd-stile .art { display: block; aspect-ratio: 12 / 5; background: #e8f1fc; overflow: hidden; }
.rd-stile .art img { display: block; width: 100%; height: 100%; object-fit: cover; }
.rd-stile .name { padding: .9rem 1rem .2rem; font-weight: 700; font-size: .98rem; line-height: 1.3; }
.rd-stile small { margin-top: auto; padding: 0 1rem .95rem; color: var(--rd-muted); font-size: .82rem; font-weight: 600; }
.rd-stile.is-wellness a { background: linear-gradient(90deg, #f7f2e8, #efe5d2); border-color: #d8c9ac; color: var(--wl-forest); font-family: var(--wl-body); }
.rd-stile.is-wellness .art { background: radial-gradient(ellipse at 70% 40%, #4a6b4f, #1f3a2e 75%); display: flex; align-items: center; justify-content: center; }
.rd-stile.is-wellness .art img { width: 56px; height: 56px; object-fit: contain; background: #f7f2e8; border-radius: 50%; padding: 4px; }
.rd-stiles-foot { display: flex; gap: 12px; flex-wrap: wrap; justify-content: center; margin-top: 1.6rem; }
.rd-stiles-foot button { cursor: pointer; font: inherit; font-weight: 600; }
.rd-stiles-foot button[aria-expanded="true"] small { display: none; }

/* accreditation check, now a line under the hospital rail */
.rd-verify { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 14px; margin: 1.2rem 0 0; font-size: .88rem; line-height: 1.5; color: var(--rd-muted); }
.rd-verify .icon { width: 18px; height: 18px; color: var(--rd-blue); flex-shrink: 0; }
.rd-verify span { flex: 1 1 320px; }
.rd-verify a { color: var(--rd-blue); font-weight: 600; white-space: nowrap; }

/* doctors: a stronger scrim so the name reads on light photos (UI #13) */
.rd-doc-img::after { height: 65%; background: linear-gradient(180deg, rgba(13,27,42,0) 0%, rgba(13,27,42,.55) 45%, rgba(13,27,42,.94) 100%); }
.rd-doc-name { inset-inline-end: 18px; }
.rd-doc-name b { display: block; line-height: 1.15; }

/* brand band (were inline colours) */
.rd-brand-kicker { font-size: .78rem; font-weight: 700; letter-spacing: .14em; color: #145e7a; margin-bottom: .9rem; }
.rd-brand .rd-h2 em { color: #145e7a; }
.rd-brand-card.is-teal .ic { background: #145e7a; } .rd-brand-card.is-teal span { color: #145e7a; }
.rd-brand-card.is-green .ic { background: #568531; } .rd-brand-card.is-green span { color: #568531; }
.rd-brand-card.is-gold .ic { background: #d97706; } .rd-brand-card.is-gold span { color: #b45309; }

/* visa & practical cards */
.rd-ticks { list-style: none; margin: .2rem 0 0 !important; padding: 0 !important; display: grid; gap: 6px; }
.rd-ticks li { position: relative; padding-inline-start: 24px; margin: 0 !important; }
.rd-ticks li::before { content: ''; position: absolute; inset-inline-start: 2px; top: .4em; width: 11px; height: 6px; border-left: 2.5px solid var(--rd-blue); border-bottom: 2.5px solid var(--rd-blue); transform: rotate(-45deg); }

/* FAQ: five questions and a link to /faq */
.rd-faq { grid-template-columns: minmax(0, 1fr) 300px; }
.rd-faq-list { display: flex; flex-direction: column; gap: 12px; }
.rd-faq-more { margin: .6rem 0 0; }
.rd-faq > .rd-faq-help { margin-top: 0; }

/* Get your estimate: estimator + enquiry form in one block */
.rd-getest-head { position: relative; display: flex; justify-content: space-between; align-items: flex-end; gap: 1.5rem 3rem; flex-wrap: wrap; margin-bottom: 2.4rem; }
.rd-getest-kicker { font-size: .78rem; font-weight: 700; letter-spacing: .1em; color: var(--rd-sky); margin-bottom: .8rem; }
.rd-getest-head p { font-size: 1.06rem; line-height: 1.65; color: rgba(255,255,255,.8); margin: 0; max-width: 580px; }
.rd-getest .rd-promise { margin: 0; gap: 10px; }
.rd-getest-grid { position: relative; display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 28px; align-items: start; }
.rd-getest .rd-est { box-shadow: 0 30px 60px rgba(0,0,0,.3); }
.rd-getest .contact-form { scroll-margin-top: calc(var(--nav-h, 72px) + 12px); }
.rd-contact.rd-getest { overflow: clip; } /* hidden would stop the sticky form below */
@media (min-width: 1101px) {
  .rd-getest .contact-form { position: sticky; top: calc(var(--nav-h, 72px) + 16px); }
  .rd-visa .rd-cardgrid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
.rd-contact .rd-steps { padding: 0; margin-top: 0; }
.rd-est-attach { display: flex; gap: 12px; align-items: flex-start; justify-content: space-between; padding: .8rem 1rem; margin-bottom: 1rem; border-radius: 14px; background: #e8f1fc; border: 1px solid #cfe0f6; font-size: .88rem; line-height: 1.45; color: var(--rd-navy); }
.rd-est-attach[hidden] { display: none; }
.rd-est-attach b { display: block; }
.rd-est-attach span { color: var(--rd-muted); }
.rd-est-attach button { flex-shrink: 0; background: none; border: 0; padding: 0; color: var(--rd-blue); font: inherit; font-weight: 600; text-decoration: underline; cursor: pointer; }

/* wellness gateway: one compact band */
.rd-gate.is-compact { padding: 5rem 0; background: linear-gradient(180deg, #132a3f 0%, #163a36 38%, #1f3a2e 72%, #2c4a3a 100%); }
.rd-gate-band { position: relative; display: grid; grid-template-columns: 300px minmax(0, 1fr); gap: 56px; align-items: center; font-family: var(--wl-body); }
.rd-gate.is-compact .rd-gate-portal { height: 300px; }
.rd-gate.is-compact .rd-gate-portal .mandala { width: 300px; height: 300px; }
.rd-gate.is-compact .rd-gate-portal .mark { width: 130px; height: 130px; }
.rd-gate.is-compact .rd-gate-portal .mark img { width: 104px; height: 104px; }
.rd-gate.is-compact .rd-gate-portal::after { width: 150px; height: 150px; }
.rd-gate-copy .kicker { font-size: .8rem; letter-spacing: .32em; color: var(--wl-gold); margin-bottom: 1rem; }
.rd-gate-copy h2 { font-family: var(--wl-display); font-weight: 400; font-size: clamp(2rem, 3.4vw, 3rem); line-height: 1.1; margin: 0 0 1rem; color: var(--wl-ivory); }
.rd-gate-copy h2 em { color: var(--wl-gold); font-style: normal; }
.rd-gate-copy p { font-weight: 300; font-size: 1.08rem; line-height: 1.7; color: rgba(247,242,232,.9); margin: 0 0 1.6rem; max-width: 600px; }

/* header: "Get a Quote" stays in the bar beside the menu button at drawer widths (UI #59); the
   drawer drops its copy, and on phones also WhatsApp, which the sticky bar carries (UI #60). */
.nav-cta-bar { display: none; }
@media (min-width: 769px) and (max-width: 1280px) {
  #navbar .nav-cta-bar { display: inline-flex; margin-inline-start: auto; margin-inline-end: .5rem; white-space: nowrap; }
  #navMenu .nav-li-cta { display: none; }
  #navMenu .nav-wa-btn { display: flex; }
}
@media (max-width: 768px) { #navMenu .nav-li-cta, #navMenu .nav-li-wa { display: none; } }
body.wl #navbar a.nav-cta-bar { background: var(--wl-btn) !important; }

@media (max-width: 1100px) {
  .rd-stiles { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .rd-getest-grid { grid-template-columns: minmax(0, 1fr); }
  .rd-faq { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 860px) {
  .rd-gate-band { grid-template-columns: 1fr; gap: 20px; text-align: center; }
  .rd-gate-copy p { margin-inline: auto; }
}
@media (max-width: 700px) {
  .rd-hero ~ .rd-surface .rd-section, .rd-getest, .rd-gate.is-compact { padding: 2.6rem 0; }
  /* Phones carry WhatsApp and the quote button in the sticky bar, and swipe the rail, so these go. */
  #hospitals .rd-rail-btns, .rd-faq > .rd-faq-help, .rd-getest .rd-promise, .rd-getest .rd-seal, .rd-visa .rd-ticks { display: none; }
  .rd-getest .rd-est-lines div { flex-direction: row; gap: 10px; font-size: .85rem; }
  #hospitals .rd-filter { flex-wrap: nowrap; overflow-x: auto; scrollbar-width: none; padding-bottom: 2px; margin-bottom: 1rem; }
  #hospitals .rd-filter::-webkit-scrollbar { display: none; }
  #hospitals .rd-filter button, #hospitals .rd-filter .count { flex-shrink: 0; white-space: nowrap; }
  .rd-getest [data-step="1"] .form-row + .form-row { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 10px; }
  .rd-getest [data-step="1"] .form-row + .form-row select { font-size: .88rem; padding-inline: .6rem; }
  .rd-hero ~ .rd-surface .rd-section.is-tight { padding: 1rem 0 2rem; }
  .rd-hero ~ .rd-surface .rd-head, .rd-getest-head { margin-bottom: 1.5rem; gap: 1rem; }
  .rd-fee { margin-top: 1.2rem; padding: 1.1rem 1.2rem; }
  .rd-stiles { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
  .rd-stile .art { display: none; }
  .rd-stile a { border-radius: 14px; }
  .rd-stile .name { padding: .8rem .85rem .15rem; font-size: .92rem; }
  .rd-stile small { padding: 0 .85rem .8rem; font-size: .78rem; }
  .rd-stiles-foot { margin-top: 1.1rem; }
  /* doctors: one swipeable row */
  .rd-docs { display: flex; overflow-x: auto; scroll-snap-type: x mandatory; gap: 14px; padding: 2px 2px 10px; scrollbar-width: none; }
  .rd-docs::-webkit-scrollbar { display: none; }
  .rd-docs .rd-doc { flex: 0 0 72%; scroll-snap-align: start; }
  .rd-docs .rd-doc-img { height: 250px; }
  .rd-js .rd-docs .rd-reveal-on-scroll { opacity: 1; transform: none; }
  /* brand band: no big lotus, the three links as compact rows */
  .rd-brand-mark, .rd-brand-water { display: none; }
  .rd-brand-cards { gap: 10px; margin-top: 1.2rem; }
  .rd-brand-card { display: grid; grid-template-columns: 40px minmax(0, 1fr); column-gap: 12px; align-items: center; padding: .85rem 1rem; }
  .rd-brand-card .ic { grid-row: span 2; width: 40px; height: 40px; margin: 0; }
  .rd-brand-card h3 { font-size: 1.2rem; margin: 0; }
  .rd-brand-card p { margin: 0; font-size: .85rem; }
  .rd-brand-card span { display: none; }
  .rd-visa .rd-card { padding: 1.2rem; }
  .rd-qa summary { padding: 1rem 1.1rem; font-size: 1rem; gap: 12px; }
  .rd-qa summary::after { width: 32px; height: 32px; }
  .rd-qa p { padding: 0 1.1rem 1.1rem; }
  .rd-getest .rd-promise { gap: 6px; font-size: .92rem; }
  .rd-gate.is-compact .rd-gate-portal { height: 150px; }
  .rd-gate.is-compact .rd-gate-portal .mandala { width: 150px; height: 150px; }
  .rd-gate.is-compact .rd-gate-portal .mark { width: 72px; height: 72px; box-shadow: 0 0 0 8px rgba(247,242,232,.12); }
  .rd-gate.is-compact .rd-gate-portal .mark img { width: 58px; height: 58px; }
  .rd-gate-copy .kicker { margin-bottom: .6rem; }
  .rd-gate-copy p { font-size: 1rem; margin-bottom: 1.2rem; }
}

/* ===== 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; }

/* ===== Legacy page migration, Phase 3 steps 4-6 (2026-10-09) =====
   medical-visa, practical, accommodation-guide, partner, client-journey, search, 404, country-*,
   about/team/international/testimonials and the transparency pages. These modifiers replace the
   inline styles those templates carried. */
.rd-section.is-white { background: #fff; }
.rd-section.is-soft { background: #f8fafc; }
.rd-wrap.is-narrow { max-width: 900px; }
.rd-wrap.is-mid { max-width: 1000px; }
.rd-split.is-top { align-items: start; }
.rd-lead.is-wide { max-width: 860px; }
.rd-lead + .rd-lead { margin-top: 1rem; }
.rd-mb { margin-bottom: 2rem; }
.rd-mt { margin-top: 1.2rem; }
.rd-h2.is-sm { margin-bottom: .6rem; }
.rd-center { text-align: center; }
.rd-center .rd-lead, .rd-lead.rd-center { margin-inline: auto; }
ol.rd-cardgrid, ul.rd-cardgrid { list-style: none; padding: 0; margin: 0; }
.rd-cardgrid.is-stack { grid-template-columns: 1fr; }
.rd-cardgrid.is-wide { grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); }
.rd-cardgrid.is-two { grid-template-columns: repeat(auto-fit, minmax(min(100%, 420px), 1fr)); }
.rd-card .kicker { font-size: .78rem; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--rd-muted); }
.rd-card .ic.is-green { background: #f6f9f2; color: #3f6526; }
.rd-card .ic.is-amber { background: #fffbeb; color: #b45309; }
.rd-card .ic img { width: 22px; height: 22px; }
.rd-card > .rd-badge { margin-inline-start: 0; align-self: flex-start; }
.rd-dd-title { display: flex; align-items: center; gap: 12px; min-width: 0; }
a.rd-card { text-decoration: none; color: inherit; transition: border-color .2s, transform .2s, box-shadow .2s; }
a.rd-card:hover { border-color: var(--rd-blue); transform: translateY(-3px); box-shadow: 0 16px 32px rgba(13,27,42,.08); }
a.rd-card:hover h3 { color: var(--rd-blue); }
.rd-card.is-top { border-top: 4px solid var(--rd-blue); }
.rd-card .rd-mini { list-style: none; padding: 0; margin: .2rem 0 .4rem; display: grid; gap: .45rem; }
.rd-card .rd-mini li { display: flex; gap: 10px; align-items: flex-start; margin: 0; }
.rd-card .rd-mini .icon { flex-shrink: 0; width: 16px; height: 16px; margin-top: 4px; color: var(--rd-blue); }
.rd-dd-head .ic.is-blue { background: #0066cc; }
.rd-dd-head .ic.is-green { background: #568531; }
.rd-dd-head .ic.is-navy { background: #0d1b2a; }
.rd-dd-head.is-count { justify-content: space-between; }
.rd-dd-head h3, .rd-dd-head > b { font-family: 'Cormorant Garamond', Georgia, serif; font-size: 1.55rem; font-weight: 600; color: var(--rd-navy); margin: 0; line-height: 1.2; }
.rd-dd-count { font-weight: 700; color: var(--rd-blue); white-space: nowrap; }
.rd-dd > p { margin: 0 0 1rem; color: var(--rd-muted); line-height: 1.7; }
.rd-dd > p:last-child { margin-bottom: 0; }
.rd-dd + .rd-dd { margin-top: 0; }
.rd-dd.is-dark { background: linear-gradient(135deg, #0d1b2a, #003366); border-color: #0d1b2a; color: #fff; }
.rd-dd.is-dark .rd-dd-head h3 { color: #fff; }
.rd-dd.is-dark li { background: rgba(255,255,255,.07); color: #fff; }
.rd-dd.is-dark li::before { background: var(--rd-sky); }
.rd-dd-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 380px), 1fr)); gap: 24px; align-items: start; }
.rd-check li { position: relative; }
.rd-check label > span:last-child { min-width: 0; }
.rd-actions { display: flex; gap: 12px; flex-wrap: wrap; margin-top: 1.2rem; }
.rd-center .rd-actions { justify-content: center; }
.rd-link { font-weight: 600; color: var(--rd-blue); text-decoration: none; }
.rd-link:hover { text-decoration: underline; }
.rd-tags { display: flex; flex-wrap: wrap; gap: 8px; list-style: none; padding: 0; margin: 0; }
.rd-tags li, .rd-dd .rd-tags li { display: inline-flex; padding: 7px 13px; border-radius: 50px; background: #f1f5f9; border: 1px solid var(--rd-line); color: var(--rd-navy); font-size: .85rem; font-weight: 600; }
.rd-dd ul.rd-tags { flex-direction: row; gap: 8px; }
.rd-dd .rd-tags li::before { content: none; display: none; }
.rd-art { margin: 0; border-radius: 22px; overflow: hidden; background: #e8f1fc; border: 1px solid var(--rd-line); }
.rd-art img { display: block; width: 100%; height: auto; }
/* Cost / figure tiles: a label, one figure, one line of context. */
.rd-tiles { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 230px), 1fr)); gap: 16px; }
.rd-tile { background: #fff; border: 1px solid var(--rd-line); border-radius: 20px; padding: 1.3rem 1.4rem; display: flex; flex-direction: column; gap: .35rem; }
.rd-tile small { font-size: .75rem; font-weight: 700; letter-spacing: .07em; text-transform: uppercase; color: var(--rd-muted); }
.rd-tile b { font-family: 'Cormorant Garamond', Georgia, serif; font-size: 1.85rem; font-weight: 600; color: var(--rd-navy); line-height: 1.1; }
.rd-tile p { margin: 0; color: var(--rd-muted); font-size: .9rem; line-height: 1.55; }
.rd-tile a { font-weight: 600; color: var(--rd-blue); font-size: .9rem; }
.rd-tile.is-accent { background: #e8f1fc; border-color: #cfe0f6; }
.rd-fineprint { margin: 1rem 0 0; font-size: .85rem; color: #64748b; line-height: 1.6; }
/* Guide rows (immigration rules on the visa hub) */
.rd-rules { display: grid; gap: 14px; }
.rd-rules > div { background: #fff; border: 1px solid var(--rd-line); border-radius: 18px; padding: 1.2rem 1.4rem; }
.rd-rules h3 { margin: 0 0 .35rem; font-size: 1.05rem; color: var(--rd-navy); }
.rd-rules p { margin: 0; color: var(--rd-muted); line-height: 1.65; }
.rd-rules a { color: var(--rd-blue); }
/* Story cards with a 4-step timeline (client-journey) */
.rd-story { background: #fff; border: 1px solid var(--rd-line); border-radius: 26px; padding: 2.2rem; box-shadow: 0 10px 30px rgba(13,27,42,.05); }
.rd-story + .rd-story { margin-top: 2rem; }
ol.rd-timeline { list-style: none; padding: 0; margin: 0; }
.rd-story-head { display: flex; justify-content: space-between; align-items: center; gap: 1.5rem; flex-wrap: wrap; margin-bottom: 2rem; }
.rd-story-head h3 { font-family: 'Cormorant Garamond', Georgia, serif; font-size: clamp(1.7rem, 3vw, 2.2rem); font-weight: 600; color: var(--rd-navy); margin: 0 0 .6rem; line-height: 1.15; }
.rd-story-head img { width: 220px; height: auto; border-radius: 16px; background: #e8f1fc; }
.rd-story .rd-timeline::before, .rd-story .rd-timeline::after { top: 31px; left: 32px; }
.rd-story .rd-step-dot { width: 64px; height: 64px; border-width: 3px; }
.rd-story .rd-step-dot .icon { width: 24px; height: 24px; }
.rd-story .rd-step h4 { margin: 0; font-size: 1.05rem; color: var(--rd-navy); }
.rd-story .rd-step p { font-size: .93rem; }
/* Search results and the 404 */
.rd-search-form { display: flex; align-items: center; gap: 10px; max-width: 680px; padding: 6px 6px 6px 20px; border-radius: 50px; background: rgba(255,255,255,.1); border: 1px solid rgba(255,255,255,.25); }
[dir="rtl"] .rd-search-form { padding: 6px 20px 6px 6px; }
.rd-search-form > .icon { flex-shrink: 0; width: 18px; height: 18px; color: rgba(255,255,255,.7); }
.rd-search-form input { flex: 1; min-width: 0; min-height: 44px; border: 0; background: transparent; color: #fff; font: inherit; font-size: 16px; outline: none; }
.rd-search-form input::placeholder { color: rgba(255,255,255,.6); }
.rd-search-form .rd-btn { padding: .8rem 1.6rem; }
.rd-search-form:focus-within { border-color: var(--rd-sky); }
.rd-hit-group { display: flex; align-items: center; gap: 10px; font-family: 'Cormorant Garamond', Georgia, serif; font-size: 1.7rem; font-weight: 600; color: var(--rd-navy); margin: 2.6rem 0 1rem; }
.rd-hit-group:first-of-type { margin-top: 0; }
.rd-hit-group .icon { width: 20px; height: 20px; color: var(--rd-blue); }
.rd-count { display: inline-flex; align-items: center; justify-content: center; min-width: 28px; padding: 3px 10px; border-radius: 50px; background: #e8f1fc; color: #0b4a8f; font-size: .8rem; font-weight: 700; line-height: 1.3; }
.rd-hits { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 300px), 1fr)); gap: 14px; }
.rd-hits a { display: block; padding: 1.2rem 1.3rem; border-radius: 18px; background: #fff; border: 1px solid var(--rd-line); text-decoration: none; color: inherit; transition: border-color .2s, transform .2s; }
.rd-hits a:hover { border-color: var(--rd-blue); transform: translateY(-2px); }
.rd-hits b { display: block; color: var(--rd-navy); font-size: 1.02rem; margin-bottom: .3rem; }
.rd-hits p { margin: .45rem 0 0; color: var(--rd-muted); font-size: .88rem; line-height: 1.55; }
.rd-meta { display: flex; flex-wrap: wrap; gap: 0 .4rem; font-size: .84rem; font-weight: 600; color: #0b4a8f; }
.rd-meta span + span::before { content: '·'; margin-inline-end: .4rem; color: #94a3b8; }
.rd-meta .is-price { color: #047857; }
.rd-empty { text-align: center; background: #fff; border: 1px solid var(--rd-line); border-radius: 24px; padding: 3.5rem 1.5rem; }
.rd-empty > .icon { width: 40px; height: 40px; color: #94a3b8; margin-bottom: 1rem; }
.rd-empty h2 { font-family: 'Cormorant Garamond', Georgia, serif; font-size: 1.8rem; font-weight: 600; color: var(--rd-navy); margin: 0 0 .5rem; }
.rd-empty p { color: var(--rd-muted); max-width: 520px; margin: 0 auto 1.6rem; line-height: 1.6; }
.rd-results-note { color: var(--rd-muted); margin: 0 0 2rem; }
/* Partner form: the agreement checkboxes as rd-check rows (UI #29) */
.rd-cform .rd-check { margin: .4rem 0 1.2rem; }
.rd-cform .rd-check label { padding: 12px 14px; font-size: .92rem; line-height: 1.5; color: var(--rd-navy); }
.rd-cform .rd-check .box { width: 24px; height: 24px; }
.rd-cform .rd-check small { display: block; margin-top: 2px; }
.rd-cform-legend { display: block; font-weight: 700; color: var(--rd-navy); margin: 1.2rem 0 .2rem; font-size: .95rem; }
.rd-cform hr { border: 0; border-top: 1px solid var(--rd-line); margin: 1.5rem 0; }
.rd-cform .rd-hint { display: flex; gap: 6px; align-items: center; flex-wrap: wrap; margin-top: 6px; font-size: .8rem; color: var(--rd-muted); }
.rd-cform .rd-hint b { color: #0f7b6c; display: inline-flex; gap: 4px; align-items: center; }
.rd-cform .form-label .icon { color: var(--rd-blue); margin-inline-end: 6px; }
.rd-cform input[type="file"].form-input { background: #fff; padding: .5rem; }
.rd-ticks { list-style: none; padding: 0; margin: 1.6rem 0 0; display: grid; gap: 12px; }
.rd-ticks li { display: flex; gap: 10px; align-items: center; color: var(--rd-navy); font-weight: 600; }
.rd-ticks li::before { content: none; display: none; }
.rd-ticks .icon { flex-shrink: 0; width: 18px; height: 18px; color: var(--rd-blue); }
/* Quotes on partner/testimonials, shown only once consent is on file: no stars (UI #25). */
.rd-quote { margin: 0; background: #fff; border: 1px solid var(--rd-line); border-radius: 22px; padding: 1.5rem 1.6rem; display: flex; flex-direction: column; gap: 1rem; }
.rd-quote blockquote { margin: 0; color: #334155; line-height: 1.7; }
.rd-quote figcaption { display: flex; gap: 8px; flex-wrap: wrap; align-items: center; color: var(--rd-navy); font-weight: 700; }
.rd-quote figcaption span { font-size: .8rem; font-weight: 600; padding: 4px 10px; border-radius: 50px; background: #f1f5f9; color: var(--rd-muted); }
/* Micro-labels at 12px minimum (UI audit) */
.rd-fact small, .rd-toc small { font-size: .75rem; }
.visa-fact-label, .visa-table th { font-size: .75rem; }
/* RTL: arrows point the way the text reads */
.icon-arrow { display: inline-block; }
[dir="rtl"] .icon-arrow { transform: scaleX(-1); }
/* Tap targets on touch screens: text links that act as buttons get a 44px hit area. */
@media (max-width: 700px) {
  .rd-card .more, .rd-link, .rd-tile a, .rd-cardgrid .rd-card .more { display: inline-flex; align-items: center; min-height: 44px; }
  .rd-toc a { display: flex; align-items: center; min-height: 44px; }
  .rd-story { padding: 1.4rem; border-radius: 22px; }
  .rd-story-head img { width: 100%; max-width: 320px; }
  .rd-search-form { padding-inline-start: 14px; }
  .rd-search-form .rd-btn { padding: .8rem 1.1rem; }
  .rd-dd { padding: 1.4rem; }
}

/* ===== Hospitals + doctors: lists, cards, profiles (hospitals/doctors/hospital/doctor.php, 2026-10-09) ===== */
.rd-arrow { width: 14px; height: 14px; flex-shrink: 0; }
[dir="rtl"] .rd-arrow { transform: scaleX(-1); }
/* Compact list hero: the filters come straight after it. */
.rd-pagehero.is-compact { padding: calc(var(--nav-h, 72px) + 2.4rem) 0 2.4rem; }
.rd-pagehero.is-compact h1 { font-size: clamp(2rem, 3.8vw, 3.1rem); margin: 0 0 .6rem; }
.rd-pagehero.is-compact p { margin: 0; font-size: 1.02rem; }
.rd-section.rd-list { padding: 2rem 0 4.5rem; }
.rd-listbar { display: flex; gap: 16px; align-items: center; justify-content: space-between; flex-wrap: wrap; margin-bottom: 1rem; }
.rd-lsearch { position: relative; flex: 1 1 340px; max-width: 520px; }
.rd-lsearch > .icon { position: absolute; inset-inline-start: 18px; top: 50%; transform: translateY(-50%); width: 17px; height: 17px; color: #64748b; pointer-events: none; }
.rd-lsearch input { width: 100%; min-height: 48px; margin: 0; padding: .7rem 1.2rem; padding-inline-start: 48px; border-radius: 50px; border: 1.5px solid var(--rd-line); background: #fff; font: inherit; font-size: 1rem; color: var(--rd-navy); }
.rd-lsearch input:focus { outline: none; border-color: var(--rd-blue); box-shadow: 0 0 0 3px rgba(0,102,204,.15); }
.rd-list-count { margin: 0; font-size: .9rem; color: #64748b; }
.rd-list-count b { color: var(--rd-navy); }
.rd-facets { display: flex; gap: 8px; flex-wrap: wrap; margin: 0 0 1.8rem; }
.rd-facet { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; padding: 0 16px; border-radius: 50px; border: 1.5px solid var(--rd-line); background: #fff; color: var(--rd-navy); font-weight: 600; font-size: .88rem; text-decoration: none; white-space: nowrap; }
.rd-facet span { font-size: .75rem; font-weight: 700; padding: 2px 8px; border-radius: 50px; background: #eef2f7; color: #475569; }
.rd-facet:hover { border-color: var(--rd-blue); color: var(--rd-blue); }
.rd-facet[aria-current="page"] { background: var(--rd-navy); border-color: var(--rd-navy); color: #fff; }
.rd-facet[aria-current="page"] span { background: rgba(255,255,255,.18); color: #fff; }
.rd-facet:focus-visible, .rd-lcard a:focus-visible, .rd-wa-ico:focus-visible { outline: 3px solid var(--rd-amber); outline-offset: 2px; }
/* Grid: fixed column counts so the lone-last-card rule can be exact. */
.rd-listgrid { display: grid; grid-template-columns: 1fr; gap: 22px; }
@media (min-width: 700px) { .rd-listgrid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 1100px) { .rd-listgrid { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.rd-minigrid { display: grid; grid-template-columns: repeat(auto-fill, minmax(250px, 1fr)); gap: 18px; }
/* Card (rd-hcard family, grid variant). */
.rd-hcard.rd-lcard { width: auto; display: flex; flex-direction: column; scroll-snap-align: none; transition: transform .3s, box-shadow .3s; }
.rd-hcard.rd-lcard:hover { transform: translateY(-4px); box-shadow: 0 18px 36px rgba(13,27,42,.11); }
.rd-hcard.rd-lcard:hover .rd-zoom { transform: scale(1.05); }
.rd-lcard-media { display: block; position: relative; height: 200px; overflow: hidden; background: #e8f1fc; }
.rd-lcard-media:not(.is-small) > img { width: 100%; height: 100%; object-fit: cover; }
.rd-lcard-media.is-art { background: linear-gradient(135deg, #e8f1fc, #f3f7fc); }
.rd-lcard-media.is-art > img { object-fit: contain; padding: 18px; }
.rd-lcard-link { display: block; text-decoration: none; }
.rd-lcard.is-doctor .rd-lcard-media { height: 260px; }
.rd-lcard-media.is-photo > img, .rd-profile-media.is-photo > img { object-position: 50% 15%; }
/* Small source photos: natural size, never stretched (Jha, Popli 92 px; Budhiraja heavily compressed). */
.rd-lcard-media.is-small, .rd-profile-media.is-small { display: flex; align-items: center; justify-content: center; background: linear-gradient(135deg, #dbe7f5, #eef4fb); }
.rd-lcard-media.is-small > img, .rd-profile-media.is-small > img { max-width: 100%; height: auto; aspect-ratio: 1; object-fit: cover; border-radius: 50%; border: 4px solid #fff; box-shadow: 0 10px 26px rgba(13,27,42,.16); }
/* No photo: monogram in brand colours, with the hospital's logo or name underneath. */
.rd-lcard-media.is-mono, .rd-profile-media.is-mono { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 14px; background: radial-gradient(circle at 30% 20%, #145e7a 0%, #003366 55%, #0d1b2a 100%); }
.rd-mono { display: flex; align-items: center; justify-content: center; width: 112px; height: 112px; border-radius: 50%; background: rgba(255,255,255,.08); border: 2px solid rgba(147,197,253,.55); box-shadow: 0 0 0 8px rgba(255,255,255,.04); color: #fff; font-family: 'Cormorant Garamond', Georgia, serif; font-size: 2.7rem; font-weight: 600; letter-spacing: .04em; line-height: 1; }
.rd-mono-chip { max-width: 85%; padding: 6px 12px; border-radius: 50px; background: rgba(255,255,255,.12); color: #dbeafe; font-size: .75rem; font-weight: 700; text-align: center; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.rd-mono-chip.is-logo { background: #fff; border-radius: 10px; padding: 6px 10px; line-height: 0; }
.rd-mono-chip.is-logo img { height: 22px; width: auto; max-width: 110px; }
.rd-lcard-body { display: flex; flex-direction: column; flex: 1; gap: .45rem; padding: 1.15rem 1.3rem 1.3rem; }
.rd-lcard-kicker { margin: 0 !important; font-size: .74rem !important; font-weight: 700; letter-spacing: .07em; text-transform: uppercase; color: var(--rd-blue) !important; }
.rd-lcard-title { font-family: 'Cormorant Garamond', Georgia, serif; font-size: 1.45rem; font-weight: 600; line-height: 1.15; margin: 0; color: var(--rd-navy); }
.rd-lcard-title a { color: inherit; text-decoration: none; }
.rd-lcard-title a:hover { color: var(--rd-blue); }
.rd-hcard-body .rd-lcard-sub { margin: 0; font-size: .86rem; line-height: 1.45; color: #475569; }
/* Icon pinned to the first line, so a wrapped location keeps it aligned. */
.rd-hcard-body .rd-lcard-meta { display: flex; gap: 8px; align-items: flex-start; margin: 0; font-size: .86rem; line-height: 1.45; color: #64748b; }
.rd-lcard-meta .icon { flex-shrink: 0; width: 14px; height: 14px; margin-top: .2em; color: var(--rd-blue); }
.rd-lcard-chips, .rd-lcard-stats { list-style: none; margin: .15rem 0 0; padding: 0; display: flex; flex-wrap: wrap; gap: 6px; }
.rd-lcard-chips li { font-size: .74rem; font-weight: 600; padding: 4px 10px; border-radius: 50px; background: #eef4fb; color: #0b4a8f; }
.rd-lcard-chips li.more { background: #f1f5f9; color: #475569; }
.rd-lcard-stats { gap: 6px 14px; font-size: .82rem; color: #475569; }
.rd-lcard-stats li { display: inline-flex; align-items: center; gap: 5px; }
.rd-lcard-stats b { color: var(--rd-navy); }
.rd-lcard-stats .icon { width: 13px; height: 13px; color: var(--rd-blue); }
.rd-lcard-stats .star { color: #d97706; }
.rd-lcard-stats .muted { color: #64748b; }
.rd-lcard-cta { display: flex; gap: 10px; align-items: center; margin-top: auto; padding-top: .7rem; }
.rd-lcard-go { flex: 1; display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 44px; padding: 0 1rem; border-radius: 50px; background: var(--rd-blue); color: #fff; font-weight: 600; font-size: .9rem; text-decoration: none; }
.rd-lcard-go:hover { background: #0052a3; color: #fff; }
.rd-wa-ico { flex-shrink: 0; display: inline-flex; align-items: center; justify-content: center; width: 44px; height: 44px; border-radius: 50%; background: #25d366; color: #0b2e17; text-decoration: none; }
.rd-wa-ico:hover { background: #1fb855; color: #0b2e17; }
.rd-wa-ico .icon { width: 20px; height: 20px; }
/* A single card left in the last row spans it and lies flat, so it reads as a feature rather than a gap.
   rd.js sets .is-lone after search; the nth-child rules cover the first paint and no-JS. */
@media (min-width: 700px) {
  .rd-listgrid > .is-lone { grid-column: 1 / -1; flex-direction: row; }
  .rd-listgrid > .is-lone > .rd-lcard-media, .rd-listgrid > .is-lone > .rd-lcard-link { flex: 0 0 40%; height: auto; min-height: 230px; }
  .rd-listgrid > .is-lone > .rd-lcard-link > .rd-lcard-media { height: 100%; }
  .rd-listgrid > .is-lone .rd-lcard-cta { max-width: 420px; }
}
@media (min-width: 700px) and (max-width: 1099px) {
  .rd-listgrid:not(.is-js) > :nth-child(2n+1):last-child { grid-column: 1 / -1; flex-direction: row; }
  .rd-listgrid:not(.is-js) > :nth-child(2n+1):last-child > .rd-lcard-media, .rd-listgrid:not(.is-js) > :nth-child(2n+1):last-child > .rd-lcard-link { flex: 0 0 40%; height: auto; min-height: 230px; }
  .rd-listgrid:not(.is-js) > :nth-child(2n+1):last-child > .rd-lcard-link > .rd-lcard-media { height: 100%; }
}
@media (min-width: 1100px) {
  .rd-listgrid:not(.is-js) > :nth-child(3n+1):last-child { grid-column: 1 / -1; flex-direction: row; }
  .rd-listgrid:not(.is-js) > :nth-child(3n+1):last-child > .rd-lcard-media, .rd-listgrid:not(.is-js) > :nth-child(3n+1):last-child > .rd-lcard-link { flex: 0 0 40%; height: auto; min-height: 230px; }
  .rd-listgrid:not(.is-js) > :nth-child(3n+1):last-child > .rd-lcard-link > .rd-lcard-media { height: 100%; }
}
.rd-list-empty { text-align: center; padding: 3rem 1.5rem; background: #fff; border: 1px solid var(--rd-line); border-radius: 22px; }
.rd-list-empty[hidden] { display: none; }
.rd-list-empty > .icon { width: 40px; height: 40px; color: #94a3b8; margin-bottom: .8rem; }
.rd-list-empty h2 { font-family: 'Cormorant Garamond', Georgia, serif; font-size: 1.6rem; font-weight: 600; color: var(--rd-navy); margin: 0 0 .5rem; }
.rd-list-empty p { color: #475569; margin: 0 auto 1.3rem; max-width: 520px; }
.rd-list-empty .rd-btn-line { cursor: pointer; font: inherit; font-weight: 600; min-height: 44px; }
/* Profile header (hospital + doctor detail). */
.rd-crumbs { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; font-size: .85rem; color: rgba(255,255,255,.7); margin: 0 0 1.6rem; }
.rd-crumbs a { color: rgba(255,255,255,.85); text-decoration: none; }
.rd-crumbs a:hover { color: #fff; text-decoration: underline; }
.rd-crumbs .icon { width: 10px; height: 10px; color: rgba(255,255,255,.45); }
.rd-crumbs [aria-current] { color: var(--rd-sky); font-weight: 600; }
.rd-pagehero.rd-profile { padding: calc(var(--nav-h, 72px) + 2.2rem) 0 3rem; }
.rd-profile-head { display: grid; grid-template-columns: 300px minmax(0, 1fr); gap: 2.4rem; align-items: center; }
.rd-profile-head.has-wide, .rd-profile-head:has(> .is-wide) { grid-template-columns: minmax(0, 420px) minmax(0, 1fr); }
.rd-profile-media { position: relative; display: flex; overflow: hidden; border-radius: 24px; background: #e8f1fc; aspect-ratio: 4 / 5; border: 1px solid rgba(255,255,255,.18); box-shadow: 0 24px 50px rgba(0,0,0,.28); }
.rd-profile-media.is-wide { aspect-ratio: 4 / 3; }
.rd-profile-media:not(.is-small) > img { width: 100%; height: 100%; object-fit: cover; }
.rd-profile-media.is-art { background: linear-gradient(135deg, #e8f1fc, #f3f7fc); }
.rd-profile-media.is-art > img { object-fit: contain; padding: 24px; }
.rd-profile-media .rd-hcard-logo { inset-inline-end: 14px; bottom: 14px; }
.rd-profile-media.is-mono .rd-mono { width: 150px; height: 150px; font-size: 3.6rem; }
/* Small source photo: no big frame around it, just the round photo at natural size. */
.rd-profile-head:has(> .is-small) { grid-template-columns: auto minmax(0, 1fr); }
.rd-profile-media.is-small { aspect-ratio: auto; background: none; border: 0; box-shadow: none; overflow: visible; align-self: center; }
.rd-profile-text { min-width: 0; }
.rd-pagehero.rd-profile h1 { font-size: clamp(2.1rem, 4vw, 3.3rem); margin: 0 0 .5rem; }
.rd-profile-kicker { margin: 0 0 .5rem !important; font-size: .78rem !important; font-weight: 700; letter-spacing: .09em; text-transform: uppercase; color: var(--rd-amber) !important; }
.rd-pagehero .rd-profile-role { margin: 0 0 1rem; font-size: 1.08rem; color: var(--rd-sky); font-weight: 600; max-width: 760px; }
.rd-profile-meta { list-style: none; margin: 0 0 1.3rem; padding: 0; display: flex; flex-direction: column; gap: 8px; color: rgba(255,255,255,.88); font-size: .95rem; }
.rd-profile-meta li { display: flex; gap: 10px; align-items: flex-start; }
.rd-profile-meta .icon { flex-shrink: 0; width: 15px; height: 15px; margin-top: .25em; color: var(--rd-sky); }
.rd-profile-meta li.is-gold .icon { color: var(--rd-amber); }
.rd-profile-meta a { color: #fff; text-decoration: underline; text-decoration-color: rgba(255,255,255,.4); text-underline-offset: 3px; }
.rd-profile-facts { display: grid; grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)); gap: 10px; margin-bottom: 1.5rem; }
.rd-profile-facts .rd-fact b { display: block; font-size: .95rem; line-height: 1.35; margin-top: 3px; }
.rd-profile-actions { display: flex; gap: 12px; flex-wrap: wrap; }
/* Profile body: content + sticky quote sidebar. */
.rd-section.rd-profile-body { padding: 3rem 0 5rem; }
.rd-profile-grid { display: grid; grid-template-columns: minmax(0, 1fr) 380px; gap: 2.4rem; align-items: start; }
.rd-profile-main { display: flex; flex-direction: column; gap: 1.4rem; min-width: 0; }
.rd-profile-aside { position: sticky; top: calc(var(--nav-h, 72px) + 20px); }
.rd-anchor { scroll-margin-top: calc(var(--nav-h, 72px) + 20px); }
.rd-aside-alt { margin: .9rem 0 0; text-align: center; font-size: .88rem; }
.rd-aside-alt a { display: inline-flex; align-items: center; gap: 6px; color: var(--rd-blue); font-weight: 600; text-decoration: none; }
.rd-pblock { background: #fff; border: 1px solid var(--rd-line); border-radius: 22px; padding: 1.8rem 2rem; }
.rd-pblock.is-tint { background: #f6f9fd; }
.rd-pblock > h2 { font-family: 'Cormorant Garamond', Georgia, serif; font-size: 1.8rem; font-weight: 600; color: var(--rd-navy); line-height: 1.2; margin: 0 0 1rem; }
.rd-pblock > p, .rd-pblock-lead { color: #475569; line-height: 1.65; margin: -.3rem 0 1.1rem; }
.rd-pblock-note { color: #64748b; font-size: .9rem; margin: 1rem 0 0; }
.rd-pblock-actions { display: flex; gap: 12px; flex-wrap: wrap; }
.rd-pblock .rd-prose { max-width: none; }
.rd-pblock .rd-est-points { margin-top: 0; }
.rd-chiplist { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 8px; }
.rd-chiplist li > a, .rd-chiplist li > span { display: inline-flex; align-items: center; gap: 6px; min-height: 38px; padding: 6px 14px; border-radius: 12px; background: #eef4fb; color: #0b4a8f; font-weight: 600; font-size: .88rem; text-decoration: none; line-height: 1.3; }
.rd-chiplist li > a:hover { background: var(--rd-blue); color: #fff; }
.rd-procs { display: flex; flex-direction: column; gap: 1.2rem; }
.rd-procs-group h3 { margin: 0 0 .6rem; font-size: 1rem; color: var(--rd-navy); }
.rd-procs-group h3 a { display: inline-flex; align-items: center; gap: 6px; color: inherit; text-decoration: none; }
.rd-procs-group h3 a:hover { color: var(--rd-blue); }
.rd-minigrid .rd-lcard.is-doctor .rd-lcard-media { height: 220px; }
.rd-minigrid .rd-lcard-media { height: 160px; }
.rd-minigrid .rd-lcard-title { font-size: 1.3rem; }
@media (max-width: 1100px) {
  .rd-profile-grid { grid-template-columns: 1fr; }
  .rd-profile-aside { position: static; }
}
@media (max-width: 900px) {
  .rd-profile-head, .rd-profile-head:has(> .is-wide), .rd-profile-head:has(> .is-small) { grid-template-columns: 1fr; gap: 1.6rem; }
  .rd-profile-media.is-small { justify-content: flex-start; }
  .rd-profile-media { max-width: 260px; }
  .rd-profile-media.is-wide { max-width: 520px; }
}
@media (max-width: 700px) {
  /* Facets: one horizontal scroll row instead of seven wrapped rows. */
  .rd-facets { flex-wrap: nowrap; overflow-x: auto; scroll-snap-type: x proximity; scrollbar-width: none; margin-inline: -1.5rem; padding: 2px 1.5rem 6px; -webkit-mask-image: linear-gradient(90deg, transparent 0, #000 1.2rem, #000 calc(100% - 2rem), transparent 100%); mask-image: linear-gradient(90deg, transparent 0, #000 1.2rem, #000 calc(100% - 2rem), transparent 100%); }
  .rd-facets::-webkit-scrollbar { display: none; }
  .rd-facet { scroll-snap-align: start; }
  .rd-lsearch { max-width: none; flex-basis: 100%; }
  .rd-hcard.rd-lcard { width: auto; }
  .rd-pagehero.is-compact { padding: calc(var(--nav-h, 72px) + 1.6rem) 0 1.8rem; }
  .rd-pblock { padding: 1.4rem 1.25rem; }
  .rd-pblock > h2 { font-size: 1.55rem; }
  .rd-profile-media { max-width: 200px; }
  .rd-profile-media.is-wide { max-width: none; }
  .rd-profile-media.is-mono .rd-mono { width: 112px; height: 112px; font-size: 2.7rem; }
  .rd-profile-facts { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .rd-profile-facts > :last-child:nth-child(odd) { grid-column: 1 / -1; }
}
/* ===== end hospitals + doctors ===== */

/* ===== Guides (guides.php, guide.php) and specialty hubs (specialty.php), 2026-10-09 ===== */
.rd-guide-sec { background: #fff; }
.rd-guide-h2 { font-size: clamp(1.8rem, 2.8vw, 2.4rem); margin: 0 0 1.3rem; }
.rd-guide-sec .rd-guide-h2 { margin-top: 3rem; }
.rd-guide-sec .rd-guide-h2:first-of-type, .rd-guide-cats + .rd-guide-h2 { margin-top: 0; }
.rd-guide-lead { margin: -.4rem 0 1.4rem; max-width: 760px; }
.rd-guide-more { margin: 1.4rem 0 0; }
.rd-guide-cats { display: flex; flex-wrap: wrap; gap: 10px; margin: 0 0 2.4rem; }
.rd-guide-cats a { display: inline-flex; align-items: center; min-height: 44px; padding: .5rem 1.1rem; border-radius: 50px; border: 1.5px solid var(--rd-line); background: #fff; color: var(--rd-navy); font-weight: 600; font-size: .92rem; text-decoration: none; }
.rd-guide-cats a:hover, .rd-guide-cats a:focus-visible { border-color: var(--rd-blue); color: var(--rd-blue); }
.rd-guide-cards { display: grid; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap: 20px; }
.rd-guide-card { min-width: 0; display: flex; flex-direction: column; overflow: hidden; border-radius: 22px; background: #fff; border: 1px solid var(--rd-line); text-decoration: none; color: inherit; }
.rd-guide-card img { display: block; width: 100%; max-width: 100%; height: auto; aspect-ratio: 12 / 5; object-fit: cover; background: #eef4fb; }
.rd-guide-card-body { display: flex; flex-direction: column; gap: .45rem; padding: 1.2rem 1.4rem 1.5rem; }
.rd-guide-card-body small { font-size: .75rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--rd-blue); }
.rd-guide-card-body b { font-family: 'Cormorant Garamond', Georgia, serif; font-size: 1.45rem; font-weight: 600; line-height: 1.2; color: var(--rd-navy); }
.rd-guide-card-body > span { color: var(--rd-muted); font-size: .94rem; line-height: 1.6; }
.rd-guide-back { display: inline-block; margin-top: 1.4rem; font-size: .88rem; font-weight: 600; color: var(--rd-blue); text-decoration: none; }
.rd-guide-body .rd-answer { font-size: 1.08rem; color: var(--rd-navy); background: #f0f7ff; border-inline-start: 4px solid var(--rd-blue); border-radius: 0 14px 14px 0; padding: .9rem 1.2rem; }
[dir="rtl"] .rd-guide-body .rd-answer { border-radius: 14px 0 0 14px; }
.rd-guide-body .rd-guide-links { list-style: none; padding: 0; display: flex; flex-wrap: wrap; gap: 8px 18px; }
.rd-guide-body .rd-guide-links a { font-weight: 600; text-decoration: none; }
.rd-guide-body .rd-guide-links a::after { content: ' \2192'; }
[dir="rtl"] .rd-guide-body .rd-guide-links a::after { content: ' \2190'; }
.rd-guide-body .rd-faq-list { margin-bottom: 1.6rem; }
.rd-guide-body .rd-guide-grid { margin-top: .4rem; }
.rd-hub-intro { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 480px); gap: 48px; align-items: center; }
.rd-hub-intro .rd-lead { max-width: none; font-size: 1.12rem; color: #1e293b; }
.rd-hub-intro img { width: 100%; height: auto; border-radius: 22px; background: #eef4fb; }
.rd-hub-note { margin: 1rem 0 0; font-size: .9rem; color: var(--rd-muted); }
.rd-hub-small { margin: 1rem 0 0; font-size: .85rem; color: var(--rd-muted); }
.rd-hub-procs { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 14px; }
.rd-hub-proc { display: flex; flex-direction: column; gap: .3rem; padding: 1.1rem 1.3rem; border-radius: 18px; background: #fff; border: 1px solid var(--rd-line); }
.rd-hub-proc-name { color: var(--rd-navy); font-weight: 700; font-size: 1.02rem; text-decoration: none; }
.rd-hub-proc-name:hover { color: var(--rd-blue); }
.rd-hub-proc b { color: #047857; font-size: .98rem; }
.rd-hub-proc b.is-request { color: var(--rd-muted); font-weight: 600; font-size: .9rem; }
.rd-hub-proc small { color: var(--rd-muted); font-size: .82rem; }
.rd-hub-proc-cost { margin-top: auto; padding-top: .3rem; font-size: .88rem; font-weight: 600; color: var(--rd-blue); text-decoration: none; }
.rd-hub-docs { display: grid; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap: 14px; }
.rd-hub-doc { display: flex; gap: 1rem; align-items: center; padding: 1rem 1.2rem; border-radius: 18px; background: #fff; border: 1px solid var(--rd-line); text-decoration: none; }
.rd-hub-doc img, .rd-hub-doc .mono { flex-shrink: 0; width: 72px; height: 72px; border-radius: 50%; object-fit: cover; object-position: top; }
.rd-hub-doc .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.6rem; font-weight: 600; }
.rd-hub-doc b { display: block; color: var(--rd-navy); font-size: 1.02rem; }
.rd-hub-doc small { display: block; color: var(--rd-muted); font-size: .85rem; line-height: 1.45; margin-top: .15rem; }
.rd-hub-doc small.at { color: var(--rd-blue); font-weight: 600; }
.rd-hub-faq { max-width: 900px; }
@media (max-width: 900px) { .rd-hub-intro { grid-template-columns: 1fr; gap: 24px; } .rd-hub-intro img { max-width: 520px; } }
@media (max-width: 520px) { .rd-guide-cards, .rd-hub-docs { grid-template-columns: 1fr; } .rd-guide-body .rd-answer { font-size: 1.02rem; } }
/* ===== end guides + specialty hubs ===== */
