/* Clinical preview. Layer the new visual system over the existing route and feature styles. */
:root {
  --navy: #007455;
  --navy-2: #005942;
  --ink: #17232d;
  --muted: #50606c;
  --sky: #fff;
  --sky-1: #f6f8f7;
  --sky-2: #f0f5f2;
  --ivory: #fff;
  --peri: #dde7e2;
  --line: #dde7e2;
  --yellow: #007455;
  --yellow-soft: #edf6f1;
  --r-lg: 18px;
  --shadow: none;
}
body, body .field, .top, .top .nav, footer, .foot { background: #fff; color: var(--ink); }
body { font-size: 16px; }
a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible, summary:focus-visible {
  outline: 3px solid #007455 !important;
  outline-offset: 3px;
}
.top { border-color: var(--line); }
.top .nav { height: 74px; }
.top .menu a[aria-current="page"], .top .lang, .top .burger { background: var(--sky-2); color: var(--navy); }
.top .logo img { filter: saturate(.85); }
.btn { border-radius: 10px; font-size: 15px; min-height: 46px; }
.btn-navy:hover { background: var(--navy-2); }
.btn-ghost:hover { border-color: var(--navy); }
h1, h2, h3 { overflow-wrap: break-word; }
:where(h1,h2,h3, .lead) { word-break: keep-all; }
section { padding-block: clamp(48px, 6vw, 88px); }
section[id] { scroll-margin-top: 96px; }
.rd-label { margin-bottom: 14px; color: var(--navy); }
.rd-label img { display: none; }
.rd-label:has(img)::before { display: inline-block; }
#view-home > .hero {
  background: white; overflow: visible; grid-template-columns: .87fr 1.13fr;
  align-items: center; gap: clamp(26px, 5vw, 72px); min-height: unset; margin-block: 36px 0;
}
#view-home > .hero > div:first-child { padding: 30px 0; background: white; }
#view-home > .hero h1 {
  color: var(--ink); font-size: clamp(34px, 4.5vw, 64px); font-weight: 800; line-height: 1.17;
  max-width: 13em; margin-top: 17px; text-wrap: balance;
}
#view-home > .hero h1 strong { display: block; color: var(--navy); font-weight: inherit; }
#view-home > .hero .lead { color: var(--muted); max-width: 33em; }
#view-home > .hero .visual > .ph { aspect-ratio: 1.25; border-radius: 21px; }
#view-home > .hero .visual img { aspect-ratio: 1.25; object-position: 62% center !important; }
#view-home > .hero .btn-ghost { border-color: var(--line); }
.rd-hero-note { background: #fffffff0; color: var(--muted); bottom: 14px; right: 14px; }
.rd-trust { margin-top: 30px; padding: 20px 0; border-block: 1px solid var(--line); }
.rd-trust-item { font-size: 14px; }
.rd-trust-item img { max-width: 23px; }
.rd-services, .clinical-editorial, .clinical-split {
  display: grid; grid-template-columns: .72fr 1.28fr; gap: clamp(24px, 6vw, 86px); align-items: start;
}
.rd-services h2 { margin-bottom: 22px; }
.rd-service-photo { display: none; }
.rd-service { border-top: 1px solid var(--line); border-bottom: 0; padding: 17px 0; }
.rd-service:last-child { border-bottom: 1px solid var(--line); }
.rd-service > b, .rd-service > span:last-child { color: var(--navy); }
.rd-service:hover { background: var(--sky-1); }
.rd-service h3 { color: var(--ink); }
.rd-service p { font-size: 15px; margin-top: 3px; }
.clinical-specialists { padding-top: 16px; }
.clinical-split { grid-template-columns: .91fr 1.09fr; align-items: center; }
.clinical-doctor-photo { display: block; width: 100%; height: auto; aspect-ratio: 1.26; object-fit: cover; border-radius: 18px; }
.clinical-label { color: var(--navy); font-weight: 700; font-size: 14px; margin-bottom: 8px; }
.clinical-intro { color: var(--muted); margin-top: 12px; }
.clinical-specialty-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 11px; margin: 22px 0 18px; }
.clinical-specialty-grid a {
  display: flex; align-items: center; justify-content: space-between; gap: 7px; min-height: 51px;
  padding: 10px 13px; border: 1px solid var(--line); border-radius: 10px; text-decoration: none; font-weight: 700;
}
.clinical-specialty-grid a span:last-child, .clinical-textlink { color: var(--navy); }
.clinical-specialty-grid a:hover { background: var(--sky-2); border-color: var(--navy); }
.clinical-textlink { display: inline-block; min-height: 44px; padding-block: 9px; font-size: 14px; font-weight: 700; }
#partners { background: #fff; }
.rd-network { border-top: 1px solid var(--line); padding-top: 24px; }
.rd-network-heading h2, #packages h2 { color: var(--ink); }
.rd-network-stats { gap: 12px; margin: 24px 0; }
.rd-network-stats > div { border: 0; border-radius: 11px; background: var(--sky-1); padding: 15px; }
.rd-network-stats b { color: var(--navy); font-size: clamp(27px, 4vw, 43px); }
.rd-network-stats span { font-size: 14px; margin-top: 5px; }
.rd-hospitals a { border: 1px solid var(--line); font-size: 15px; padding: 13px; }
.rd-hospitals small { color: var(--muted); background: var(--sky-1); }
.rd-matching { color: var(--ink); background: var(--sky-1); border: 1px solid var(--line); padding: clamp(20px, 4vw, 38px); }
.rd-matching .rd-label, .rd-match-steps small, .rd-matching .rd-textlink { color: var(--navy); }
.rd-matching > p, .rd-match-steps p { color: var(--muted); }
.rd-match-steps > div + div { border-color: var(--line); }
#packages { background: #fff; }
#packages .v2-tabs button { border: 1px solid var(--line); }
#view-home:not([data-sub]) #packages .pkgs { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }
#view-home:not([data-sub]) #packages .pkgs .pkg:nth-child(n) { grid-column: auto; border: 1px solid var(--line); border-radius: 12px; }
#view-home:not([data-sub]) #packages .pkg .ph { display: none; }
#view-home:not([data-sub]) #packages .pkg-body { padding: 17px; }
#view-home:not([data-sub]) #packages .pkg h3 { font-size: 19px; }
#view-home:not([data-sub]) #packages .pkg-body p { font-size: 14px; }
#journey, #insight, #concierge, #virtual, #contact { background: #fff; color: var(--ink); }
#view-home:not([data-sub]) #concierge .ph { display: none; }
#view-home:not([data-sub]) #concierge .wrap { grid-template-columns: 1fr; }
#view-home:not([data-sub]) #insight .v2-art .th { display: none; }
#journey .v3-step { min-width: 0; }
#journey .v3-card, #journey .v3-body { box-shadow: none; }
#virtual :is(h2,h3,strong), #virtual .rd-label { color: var(--ink); }
#virtual :is(.vh-item,.rd-app-caption) { border-color: var(--line); }
#virtual .vh > div:last-child > p, #virtual .rd-app-caption { color: var(--muted); }
#virtual .rd-phone { box-shadow: 0 24px 64px -38px #1228216b; }
#contact .contact, #contact form { background: #fff; border-color: var(--line); box-shadow: none; }
#contact .contact > div:first-child { background: var(--sky-1); color: var(--ink); }
#contact .contact > div:first-child :is(h2,p,strong,span,a), #contact .consult-flow b { color: var(--ink); }
.clinical-faq details { border-block-start: 1px solid var(--line); padding: 16px 0; }
.clinical-faq details:last-child { border-block-end: 1px solid var(--line); }
.clinical-faq summary { cursor: pointer; font-weight: 700; min-height: 26px; }
.clinical-faq details p { color: var(--muted); margin: 10px 0 0; }
footer, .foot { border-top: 1px solid var(--line); }
#view-page .wrap.page > .page-hero, .sub-head .page-hero, .health-intro, .p-hero {
  border-bottom: 1px solid var(--line); padding-block: clamp(22px, 4vw, 50px); margin-bottom: 28px;
}
#view-page :is(.page-hero,.p-hero) h1, .sub-head .page-hero h1, .health-intro h1 { color: var(--ink); }
#view-page :is(.hcard,.dcard,.glass,.health-card,.ins-feat,.ins-list),
#view-home[data-sub] :is(.glass,.hcard,.dcard) { box-shadow: none; border-color: var(--line); }
#view-page :is(.hcard,.dcard,.ins-feat,.ins-list) { border-radius: 16px; }
#view-page :is(.filters,.ins-chips,.v3-seg) { gap: 8px; }
#view-page .ins-grid { gap: 18px; }
#view-page .detail { gap: clamp(20px, 4vw, 56px); }
#view-page .crumb { color: var(--navy); }

@media (max-width: 800px) {
  .top .nav { height: 66px; }
  #view-home > .hero { width: calc(100% - 36px); grid-template-columns: 1fr; gap: 21px; margin-top: 14px; }
  #view-home > .hero > div:first-child { order: 0; padding: 16px 0 0; }
  #view-home > .hero .visual { order: 1; max-height: none; height: auto; }
  #view-home > .hero .visual > .ph, #view-home > .hero .visual img { aspect-ratio: 1.32; }
  #view-home > .hero h1 { font-size: clamp(31px, 7vw, 46px); margin: 12px 0 0; text-wrap: initial; }
  #view-home > .hero .lead { margin-top: 14px; font-size: 15px; }
  #view-home > .hero .hero-actions { margin-top: 18px; }
  #view-home > .hero .hero-actions .btn { padding: 11px 13px; font-size: 14px; }
  .rd-hero-note { bottom: 10px; right: 10px; font-size: 10px; }
  .rd-services, .clinical-editorial, .clinical-split { grid-template-columns: 1fr; gap: 20px; }
  .clinical-split > div { order: -1; }
  .clinical-doctor-photo { aspect-ratio: 1.65; }
  .rd-network-stats, .rd-hospitals { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .rd-network-heading { align-items: start; flex-direction: column; gap: 4px; }
  .rd-hospitals a { flex-wrap: wrap; gap: 4px; }
  .rd-match-steps { grid-template-columns: 1fr; gap: 16px; }
  .rd-match-steps > div + div { padding: 12px 0 0; border: 0; border-top: 1px solid var(--line); }
  #view-home:not([data-sub]) #packages .pkgs { grid-template-columns: 1fr; }
  #view-home:not([data-sub]) #contact .contact { border-radius: 14px; }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; }
}

/* Keep content legible immediately, including on long-page previews. */
body .rv { opacity: 1; transform: none; }
.top { background: #fffffffa !important; }
.site-foot { background: #fff; border-top: 1px solid var(--line); color: var(--muted); }
.site-foot :is(.foot-brand,.foot-brand b,.foot-nav a,.biz,.copy) { color: var(--ink); }
.site-foot .foot-top { border-color: var(--line); }
.progress { background: var(--navy); }
.mcta { background: #fff; }
#virtual .vh > div > p { color: var(--muted) !important; }
#virtual .device { max-width: 100%; }
#virtual .rd-phone { max-width: 100%; }
#contact .contact > div:first-child { background: transparent; }
#contact #inq { border: 1px solid var(--line); }
#view-home:not([data-sub]) #packages .pkgs .pkg { min-height: 0; }
#view-home:not([data-sub]) #packages .pkg .pkg-body { min-height: 0; flex: 1; }
#view-home:not([data-sub]) #concierge .conc > div:last-child { max-width: 100%; }
#view-page .wrap.page { padding-block: clamp(24px, 5vw, 74px); }
#view-page .page-hero .lead, .sub-head .page-hero .lead { max-width: 53ch; line-height: 1.7; }
#view-page :is(.hcard,.dcard,.health-card,.ins-feat,.ins-list), #packages .pkg { background-color: #fff; }
#view-page :is(.hcard,.dcard) .ph { border-radius: 12px; }
#view-page :is(.v3-seg,.filters,.ins-chips) :is(a,button) { min-height: 42px; }
@media (max-width: 800px) {
  #contact .contact { gap: 24px; }
  #view-home:not([data-sub]) #packages .pkg-body { padding: 12px 15px; }
}
.clinical-doctor-quick { margin-block: 20px 32px; padding: clamp(16px, 4vw, 30px); border: 1px solid var(--line); border-radius: 16px; }
.clinical-doctor-quick h2 { font-size: clamp(21px, 3vw, 28px); }
.clinical-doctor-quick .clinical-specialty-grid { margin-bottom: 0; }
@media (min-width: 801px) {
  .clinical-doctor-quick .clinical-specialty-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

/* Hospital identities, concierge and follow-up details */
.rd-hospitals a { align-items: center; }
.rd-hospital-name { display: grid; gap: 8px; min-width: 0; }
.rd-hospital-name img { width: 120px; max-width: 100%; height: 35px; object-fit: contain; object-position: left center; }
.rd-hospital-name b { font-size: inherit; line-height: 1.35; }
#concierge .conc-list {
  display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 12px; margin-top: 22px;
}
#concierge .conc-item {
  display: flex; align-items: flex-start; gap: 12px; padding: 15px; border: 1px solid var(--line); border-radius: 12px;
}
#concierge .conc-item .ic { display: grid; flex: 0 0 32px; place-items: center; color: var(--navy); background: var(--sky-2); }
#concierge .conc-item b { color: var(--ink); font-size: 16px; white-space: normal; }
#concierge .conc-item > span > span { display: block; margin-top: 4px; color: var(--muted); font-size: 14px; line-height: 1.48; }
#concierge .secretary { background: var(--sky-1); border-left-color: var(--navy); }
#concierge .secretary b { color: var(--navy); }
#virtual .vh #vh .vh-item h3 { color: var(--ink); font-weight: 700; }
#virtual .vh #vh .vh-item p { display: block; color: var(--muted); margin-top: 5px; line-height: 1.55; }
#virtual .vh #vh .vh-item { border-top-color: var(--line); }
#view-home:not([data-sub]) #insight .v2-art .th:has(img) { display: block; background: var(--sky-2); }
#insight .v2-arts { grid-template-columns: repeat(3,minmax(0,1fr)); gap: 16px; }
#insight .v2-art { border: 1px solid var(--line); border-radius: 14px; }
#insight .v2-art .bd { padding: 17px; }
#insight .v2-art h3 { font-size: clamp(17px, 2vw, 20px); }
#insight .v2-art .mt em { color: var(--navy); background: var(--sky-2); }
@media (max-width: 1000px) {
  #concierge .conc-list { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width: 760px) {
  #insight .v2-arts { grid-template-columns: minmax(0,1fr); }
}
@media (max-width: 520px) {
  #concierge .conc-list, #virtual .vh-grid { grid-template-columns: minmax(0,1fr); }
  .rd-hospital-name img { width: 96px; height: 28px; }
}
@keyframes clinical-enter {
  from { opacity: .82; transform: translateY(14px); }
  to { opacity: 1; transform: translateY(0); }
}
@media (prefers-reduced-motion: no-preference) {
  .clinical-enter { animation: clinical-enter .48s cubic-bezier(.2,.7,.3,1) both; }
}

/* Color roles for the featured article on its white surface. */
#view-page .ins-feat { color: var(--ink); border: 1px solid var(--line); }
#view-page .ins-feat :is(.ins-src,p) { color: var(--muted); }
#view-page .ins-feat .ins-src b { color: var(--ink); }
#view-page .ins-feat .ins-tag { background: var(--yellow-soft); color: var(--navy-2); }
#view-page .ins-feat .ins-tie { color: var(--ink); background: var(--sky-1); border-color: var(--line); }
#view-page .ins-feat .ins-more { color: var(--navy); border-color: var(--line); }
@media(prefers-reduced-motion:no-preference) {
  #journey .v3-card, #journey .v3-n b, #journey .v3-ic { transition-duration: .16s; }
}
#contact #inq .clinical-month {
  display: flex; align-items: center; justify-content: space-between; gap: 6px; width: 100%;
  min-height: 46px; padding: 10px 13px; border: 1px solid var(--line); border-radius: 10px;
  color: var(--ink); background: var(--sky-1); font: inherit; text-align: left; cursor: pointer;
}
.clinical-month svg { flex: none; color: var(--navy); }
.clinical-month-dialog {
  width: min(360px, calc(100% - 32px)); max-height: calc(100% - 32px); margin: auto;
  padding: 20px; border: 1px solid var(--line); border-radius: 18px; color: var(--ink); background: #fff;
}
.clinical-month-dialog::backdrop { background: #17232d66; }
.clinical-month-dialog h2 { font-size: 20px; }
.clinical-month-nav, .clinical-month-actions { display: flex; align-items: center; justify-content: space-between; gap: 8px; margin-top: 12px; }
.clinical-month-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 6px; margin-top: 12px; }
.clinical-month-dialog button {
  min-height: 42px; min-width: 42px; padding: 5px 9px; border: 1px solid var(--line);
  border-radius: 8px; background: #fff; color: var(--ink); font: inherit; cursor: pointer;
}
.clinical-month-dialog button:hover { background: var(--sky-2); }
.clinical-month-dialog button[aria-pressed="true"], .clinical-month-dialog [data-close] {
  background: var(--navy); color: #fff; border-color: var(--navy);
}

/* The call controls sit over a bright photo and use white artwork. */
#virtual .rd-phone-controls span {
  background: #18372f;
  border: 1px solid #ffffffb3;
}
#virtual .rd-phone-controls span:last-child { background: #bd303a; }

/* The text-only homepage cards size to content in every filter. */
#view-home:not([data-sub]) #packages .pkgs {
  grid-auto-rows: auto;
  align-items: stretch;
}
#view-home:not([data-sub]) #packages .pkgs .pkg:nth-child(n) {
  grid-row: auto;
  height: auto;
}
#v2-partner .v2-band {
  padding: clamp(18px, 3vw, 30px);
  border: 1px solid var(--line);
  border-inline-start: 4px solid var(--navy);
  border-radius: 14px;
  background: var(--sky-1);
}
#v2-partner .v2-band p { margin-top: 6px; }
@media (max-width: 520px) {
  #v2-partner .v2-band { gap: 12px; }
}
