.clinic-reviews {
  --rv-ink: #132b40;
  --rv-muted: #435b6c;
  --rv-link: #174b7d;
  --rv-line: #cadbe4;
  --rv-canvas: #edf5f8;
  --rv-yellow: #ffd84a;
  --rv-art-paper: #e0edf2;
  --rv-art-street: #aec8d6;
  --rv-art-route: #2b6887;
  --rv-art-quote: #fff1b4;
  padding-block: clamp(48px, 7vw, 94px);
  background: var(--rv-canvas);
  color: var(--rv-ink);
  scroll-margin-top: 100px;
}
.rv-wrap { width: min(1200px, calc(100% - 36px)); margin-inline: auto; }
.rv-heading {
  display: grid;
  grid-template: "mark art" "title art" "action art" / minmax(0, 1fr) minmax(150px, 30%);
  justify-items: start;
  align-items: center;
  gap: 14px 28px;
  margin-bottom: 24px;
}
.rv-heading h1, .rv-heading h2 { margin: 0; font-size: clamp(35px, 6vw, 72px); font-weight: 760; line-height: .99; letter-spacing: -.045em; }
.rv-heading :is(h1, h2) { grid-area: title; }
.rv-heading .rv-button { grid-area: action; }
.clinic-reviews .rv-mark {
  grid-area: mark;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 7px 10px;
  border: 1px solid #d5e1e9;
  border-radius: 14px;
  color: #17212c;
  background: #fff;
  font: 750 14px/1.2 system-ui, sans-serif;
  text-decoration: none;
}
.clinic-reviews .rv-mark:hover { border-color: #829eb0; color: #17212c; }
.rv-mark svg { flex: 0 0 24px; color: #d8352d; }
.rv-mark small { display: block; margin-bottom: 2px; color: #526675; font-size: 10px; font-weight: 700; }
.rv-mark__arrow { color: #526675; font-size: 14px; }
.rv-art { grid-area: art; justify-self: end; width: 100%; max-width: 320px; height: auto; pointer-events: none; }
.rv-art__paper { fill: var(--rv-art-paper); stroke: var(--rv-art-street); stroke-opacity: .45; }
.rv-art__streets { fill: none; stroke: var(--rv-art-street); stroke-width: 1.4; stroke-linecap: round; }
.rv-art__route { fill: none; stroke: var(--rv-art-route); stroke-width: 3; stroke-linecap: round; stroke-dasharray: 5 7; }
.rv-art__point { fill: var(--rv-art-route); stroke: var(--rv-art-paper); stroke-width: 3; }
.rv-art__quote { fill: var(--rv-art-quote); }
.rv-art__quotes { fill: #18374a; }
.clinic-reviews .rv-button { display: inline-flex; min-height: 46px; align-items: center; gap: 12px; padding: 9px 17px; border: 1px solid transparent; border-radius: 999px; color: #fff; background: #154b78; font-size: 15px; font-weight: 750; line-height: 1.3; text-decoration: none; }
.clinic-reviews .rv-button:hover { color: #fff; background: #123d62; }
.rv-sr { position: absolute; inline-size: 1px; block-size: 1px; padding: 0; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.rv-cards { display: grid; padding: 0; margin: 0; list-style: none; gap: 16px; }
.rv-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.rv-card { min-width: 0; display: flex; flex-direction: column; gap: 13px; padding: clamp(17px, 2.5vw, 26px); border: 1px solid var(--rv-line); border-radius: 21px; background: #fff; color: var(--rv-ink); overflow-wrap: anywhere; }
.rv-card__top { display: flex; justify-content: space-between; align-items: center; gap: 12px; }
.rv-card__number { color: #35546a; font-size: 14px; font-weight: 750; font-variant-numeric: tabular-nums; }
.rv-stars { color: #82530e; font-size: 15px; line-height: 1; letter-spacing: .08em; white-space: nowrap; }
.rv-card__title { margin: 0; font-size: clamp(20px, 2.1vw, 27px); font-weight: 750; line-height: 1.12; }
.rv-card blockquote, .rv-card blockquote p { margin: 0; padding: 0; border: 0; font-size: 16px; line-height: 1.54; }
.rv-card__by { margin: auto 0 0; padding-top: 5px; color: var(--rv-muted); font-size: 14px; font-weight: 700; }
.rv-card__source { display: inline-flex; min-height: 44px; width: fit-content; max-width: 100%; align-items: center; gap: 7px; padding: 5px 12px; border: 1px solid #8ca8bc; border-radius: 12px; color: var(--rv-link); background: #fff; font-size: 13px; font-weight: 750; line-height: 1.25; text-decoration: none; }
.rv-card__source:hover { border-color: var(--rv-link); text-decoration: underline; text-underline-offset: 3px; }
.clinic-reviews :is(a, button, summary, .rv-track):focus-visible, .rv-topbar a:focus-visible { outline: 3px solid #1972b8; outline-offset: 3px; }
.rv-home {
  padding-block: clamp(36px, 5.5vw, 74px);
  background: radial-gradient(circle at 1px 1px, rgb(210 232 247 / 11%) 1px, transparent 1.4px) 0 0 / 18px 18px,
              radial-gradient(ellipse at 100% 0%, #245478 0, transparent 60%), #102c42;
  color: #fff;
}
.rv-home .rv-heading {
  grid-template: "mark" "title" "action" / minmax(0, 1fr);
  row-gap: 12px;
  margin-bottom: 18px;
}
.rv-library {
  background: radial-gradient(circle at 1px 1px, rgb(79 116 139 / 13%) 1px, transparent 1.4px) 0 0 / 18px 18px,
              linear-gradient(160deg, #e0edf3, var(--rv-canvas) 520px);
}
.rv-home .rv-button { color: #192734; background: var(--rv-yellow); }
.rv-home .rv-button:hover { color: #192734; background: #ffe574; }
.rv-home :is(a, button, .rv-track):focus-visible { outline-color: #ffd84a; }
.rv-home .rv-card__source:focus-visible { outline-color: #174b7d; }
.rv-track { position: relative; grid-auto-flow: column; grid-auto-columns: calc((100% - 32px) / 3); overflow-x: auto; padding-block: 10px 14px; scroll-snap-type: x mandatory; scrollbar-color: #8eb2c9 #183b54; scrollbar-width: thin; }
.rv-track .rv-card { scroll-snap-align: start; border-color: transparent; }
.rv-track .rv-card:nth-child(5n + 1) { background: #fff2bb; }
.rv-track .rv-card:nth-child(5n + 2) { background: #d9f0ff; }
.rv-track .rv-card:nth-child(5n + 3) { background: #dcf7e9; }
.rv-track .rv-card:nth-child(5n + 4) { background: #f8e6f2; }
.rv-track .rv-card:nth-child(5n + 5) { background: #fff0d9; }
.rv-controls { display: flex; align-items: center; justify-content: flex-end; gap: 8px; }
.rv-position { display: flex; align-items: center; gap: 10px; margin-inline-end: 6px; }
.rv-progress { color: #d2e4ef; font-size: 14px; font-weight: 700; font-variant-numeric: tabular-nums; }
.rv-meter { display: block; width: clamp(58px, 15vw, 120px); height: 5px; border: 0; border-radius: 999px; overflow: hidden; background: #4e6e84; accent-color: var(--rv-yellow); }
.rv-meter::-webkit-progress-bar { background: #4e6e84; }
.rv-meter::-webkit-progress-value { border-radius: inherit; background: var(--rv-yellow); }
.rv-meter::-moz-progress-bar { border-radius: inherit; background: var(--rv-yellow); }
.rv-controls[hidden] { display: none; }
.rv-controls button { min-width: 44px; min-height: 44px; padding: 0; border: 1px solid #80a4be; border-radius: 50%; color: #fff; background: #15374f; cursor: pointer; font-size: 21px; }
.rv-controls button:not([aria-disabled="true"]):hover { color: #192734; background: var(--rv-yellow); border-color: var(--rv-yellow); }
.rv-controls button[aria-disabled="true"] { opacity: .53; cursor: default; }
@media (hover: hover) and (pointer: fine) and (prefers-reduced-motion: no-preference) {
  .rv-art__quote { transition: transform .24s ease; }
  .rv-heading:hover .rv-art__quote, .rv-heading:focus-within .rv-art__quote { transform: translate(5px, -3px); }
  .rv-meter::-webkit-progress-value { transition: width .2s ease; }
  .rv-track .rv-card { transition: transform .2s ease, box-shadow .2s ease; }
  .rv-track .rv-card:hover { transform: translateY(-5px); box-shadow: inset 0 0 0 2px rgba(37, 86, 122, .25); }
}
.reviews-page { margin: 0; min-height: 100vh; color: #132b40; background: #edf5f8; font: 16px/1.5 system-ui, sans-serif; }
.reviews-page *, .reviews-page *::before, .reviews-page *::after { box-sizing: border-box; }
.rv-topbar { background: #fff; border-bottom: 1px solid #d8e4ec; }
.rv-topbar nav { display: flex; justify-content: space-between; flex-wrap: wrap; gap: 4px 24px; padding-block: 7px; }
.rv-topbar a { display: inline-flex; align-items: center; min-height: 44px; color: #174b7d; text-underline-offset: 3px; }
.rv-more { max-width: 760px; margin-top: 28px; }
.rv-panel { min-width: 0; padding: clamp(15px, 3vw, 24px); border: 1px solid var(--rv-line); border-radius: 20px; background: #fff; }
.rv-panel h2, .rv-patient h2 { margin: 0; font-size: clamp(23px, 3.4vw, 34px); line-height: 1.15; }
.rv-panel p { margin: 9px 0 13px; color: var(--rv-muted); }
.rv-widget summary { width: fit-content; min-height: 44px; padding-block: 10px; color: var(--rv-link); font-weight: 750; cursor: pointer; }
.rv-widget iframe { display: block; width: 100%; max-width: 760px; height: 550px; border: 1px solid var(--rv-line); border-radius: 12px; background: #fff; }
.rv-widget a, .rv-jump a { color: var(--rv-link); text-decoration: underline; text-underline-offset: 3px; }
.rv-jump { display: flex; gap: 0 22px; flex-wrap: wrap; margin-bottom: 14px; }
.rv-jump a { display: inline-flex; min-height: 44px; align-items: center; font-weight: 750; }
.rv-library :is(#maps-reviews, #patient-reviews) { scroll-margin-top: 90px; }
.rv-patient { margin-top: clamp(42px, 7vw, 86px); }
.rv-patient h2 { margin-bottom: 19px; }
@media (max-width: 920px) {
  .rv-track { grid-auto-columns: calc((100% - 16px) / 2); }
}
@media (max-width: 650px) {
  .rv-heading { grid-template: "mark art" "title title" "action action" / minmax(0, 1fr) minmax(0, 37%); gap: 12px; }
  .rv-art { max-width: 130px; }
  .rv-grid { grid-template-columns: minmax(0, 1fr); }
  .rv-track { grid-auto-columns: min(88%, 400px); gap: 10px; }
  .rv-panel:has(.rv-widget) { padding-inline: 11px; }
}
@media (max-width: 365px) {
  .rv-library .rv-wrap { width: calc(100% - 16px); }
  .rv-library .rv-panel:has(.rv-widget) { padding-inline: 0; border: 0; background: transparent; }
}
