/* Эндопротезирование крупных суставов — кастомная страница.
   Основа: стили страницы «Колено» (/ortopediya/zabolevaniya-sustavov/koleno/knee-center-20261028-v1/),
   корневой класс .mds.knee-center-page заменён на .mds.endo-page.
   Новое — в конце файла, раздел «дополнения». */

.mds.endo-page {
  --canvas: rgb(246 248 244);
  --surface: rgb(255 255 255);
  --surface-strong: rgb(242 248 244);
  --ink: rgb(44 48 40);
  --ink-soft: rgb(101 112 107);
  --line: rgb(222 226 220);
  --line-strong: rgb(190 202 194);
  --green: rgb(143 196 166);
  --green-dark: rgb(103 180 137);
  --green-pale: rgb(242 248 244);
  --brown: rgb(185 150 110);
  --brown-dark: rgb(138 109 71);
  --graphite: rgb(29 29 27);
  --graphite-soft: rgb(44 48 40);
  --success: rgb(143 196 166);
  --radius-action: 6px;
  --radius-panel: 14px;
  --radius-media: 15px;
  --radius-card: 16px;
  --display: "Font1", "Segoe UI", sans-serif;
  --body: "TT_Chocolates", "Segoe UI", sans-serif;
  --text-caption: .75rem;
  --text-small: .8125rem;
  --text-meta: .875rem;
  --text-body: 1.0625rem;
  --text-lead: clamp(1.125rem, 1.5vw, 1.3125rem);
  --text-subheading: clamp(1.25rem, 2vw, 1.5rem);
  --text-heading: clamp(2.125rem, 7.5vw, 3.625rem);
  --text-display: clamp(2.375rem, 10.5vw, 4.125rem);
  --text-number: clamp(1.5rem, 5vw, 2.25rem);
  --page: 1432px;
  --pad: 16px;
  --section: clamp(76px, 11vw, 144px);
  --ease: cubic-bezier(.22, 1, .36, 1);
}

.mds.endo-page *,
.mds.endo-page *::before,
.mds.endo-page *::after {
  box-sizing: border-box;
}

.mds.endo-page {
  color-scheme: light;
  scroll-behavior: smooth;
  scroll-padding-top: 80px;
}

.mds.endo-page {
  margin: 0;
  padding-bottom: 0;
  background:
    radial-gradient(circle at 8% 5%, rgb(143 196 166 / .18), transparent 28rem),
    var(--canvas);
  color: var(--ink);
  font-family: var(--body);
  font-size: var(--text-body);
  line-height: 1.55;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
}

.mds.endo-page img {
  display: block;
  max-width: 100%;
  height: auto;
}

.mds.endo-page a {
  color: inherit;
  text-decoration-thickness: 1px;
  text-underline-offset: .2em;
}

.mds.endo-page button,
.mds.endo-page input {
  font: inherit;
}

.mds.endo-page button,
.mds.endo-page a {
  -webkit-tap-highlight-color: transparent;
}

.mds.endo-page :focus-visible {
  outline: 3px solid rgb(143 196 166 / .55);
  outline-offset: 3px;
}

.mds.endo-page [hidden] {
  display: none !important;
}

.mds.endo-page {
  width: min(100%, calc(var(--page) + 2 * var(--pad)));
  margin-inline: auto;
  padding-inline: var(--pad);
}

.mds.endo-page .breadcrumbs {
  padding-block: 18px 14px;
  color: var(--ink-soft);
  font-size: var(--text-small);
}

.mds.endo-page .breadcrumbs ol {
  display: flex;
  gap: 6px;
  align-items: center;
  margin: 0;
  padding: 0;
  overflow: hidden;
  list-style: none;
  white-space: nowrap;
}

.mds.endo-page .breadcrumbs li {
  display: flex;
  align-items: center;
  min-width: 0;
}

.mds.endo-page .breadcrumbs li:not(:last-child)::after {
  content: "/";
  margin-left: 6px;
  color: var(--line-strong);
}

.mds.endo-page .breadcrumbs a {
  text-decoration: none;
}

.mds.endo-page .breadcrumbs [aria-current="page"] {
  overflow: hidden;
  color: var(--ink);
  text-overflow: ellipsis;
}

.mds.endo-page .first-screen {
  position: relative;
  z-index: 0;
  display: flow-root;
  isolation: isolate;
}

.mds.endo-page .first-screen::before {
  position: absolute;
  z-index: -1;
  top: 0;
  right: 50%;
  bottom: 0;
  left: 50%;
  width: 100vw;
  margin-right: -50vw;
  margin-left: -50vw;
  background:
    radial-gradient(circle at 8% 5%, rgb(143 196 166 / .18), transparent 28rem),
    var(--canvas);
  content: "";
}

.mds.endo-page .hero {
  display: grid;
  gap: 26px;
  padding-block: clamp(44px, 8vw, 92px) clamp(28px, 3vw, 42px);
}

.mds.endo-page .eyebrow {
  margin: 0 0 15px;
  color: var(--brown-dark);
  font-family: var(--display);
  font-size: var(--text-meta);
  font-weight: 700;
  letter-spacing: normal;
  line-height: 1.3;
  text-transform: none;
}

.mds.endo-page .hero .eyebrow {
  margin-bottom: 24px;
  color: #2c3028;
  font-family: var(--display);
  font-size: 16px;
  font-weight: 700;
  letter-spacing: .01em;
  line-height: 1.4;
  opacity: .6;
  text-transform: none;
}

.mds.endo-page h1,
.mds.endo-page h2,
.mds.endo-page h3,
.mds.endo-page p {
  overflow-wrap: break-word;
}

.mds.endo-page h1,
.mds.endo-page h2,
.mds.endo-page h3 {
  margin-top: 0;
  font-family: var(--display);
  font-weight: 600;
  letter-spacing: -.035em;
}

.mds.endo-page h1 {
  max-width: 14ch;
  margin-bottom: 24px;
  font-size: var(--text-display);
  line-height: .98;
}

.mds.endo-page h2 {
  margin-bottom: 20px;
  font-size: var(--text-heading);
  line-height: 1.02;
}

.mds.endo-page h3 {
  margin-bottom: 8px;
  font-size: var(--text-subheading);
  line-height: 1.15;
}

.mds.endo-page p {
  margin-top: 0;
}

.mds.endo-page .hero__lead,
.mds.endo-page .section-lead {
  max-width: 63ch;
  color: var(--ink-soft);
  font-size: var(--text-lead);
  line-height: 1.5;
}

.mds.endo-page .hero__lead {
  margin-bottom: 30px;
}

.mds.endo-page .hero__price {
  display: flex;
  gap: 10px 16px;
  align-items: baseline;
  flex-wrap: wrap;
  margin-bottom: 26px;
  padding-block: 18px;
  border-block: 1px solid var(--line);
}

.mds.endo-page .hero__price-value {
  font-family: var(--display);
  font-size: 2.125rem;
  font-weight: 600;
  letter-spacing: -.03em;
  line-height: 1;
}

.mds.endo-page .hero__price-note {
  color: var(--ink-soft);
  font-size: var(--text-meta);
}

.mds.endo-page .hero__actions {
  display: flex;
  gap: 16px 20px;
  align-items: center;
  flex-wrap: wrap;
}

.mds.endo-page .button {
  display: inline-flex;
  height: 60px;
  align-items: center;
  justify-content: center;
  padding: 0 36px;
  border: 1px solid transparent;
  border-radius: 3px;
  font-family: var(--display);
  font-size: 1.125rem;
  font-weight: 700;
  letter-spacing: .01em;
  line-height: 1;
  white-space: nowrap;
  text-align: center;
  text-decoration: none;
  cursor: pointer;
  appearance: none;
  transition: background-color .2s ease, color .2s ease;
}

.mds.endo-page .button--primary {
  background: rgb(175 142 103);
  color: rgb(246 248 244);
}

.mds.endo-page .button--primary:hover {
  background: rgb(154 122 85);
}

.mds.endo-page .text-link {
  color: inherit;
  font-weight: 700;
}

.mds.endo-page .hero__microcopy {
  max-width: 56ch;
  margin: 16px 0 0;
  color: var(--ink-soft);
  font-size: var(--text-meta);
}

.mds.endo-page .hero__visual {
  position: relative;
  display: flex;
  margin: 0;
  overflow: hidden;
}

.mds.endo-page .hero__photo-wrap {
  width: 100%;
  height: min(132vw, 570px);
  overflow: hidden;
  border-radius: var(--radius-media);
}

.mds.endo-page .hero__photo-wrap img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 44%;
}

.mds.endo-page .facts-line {
  margin: 0 0 clamp(32px, 4vw, 56px);
  border-block: 1px solid var(--line);
}

.mds.endo-page .facts-line > div {
  display: grid;
  grid-template-columns: 92px 1fr;
  gap: 16px;
  padding-block: 16px;
}

.mds.endo-page .facts-line > div + div {
  border-top: 1px solid var(--line);
}

.mds.endo-page .facts-line dt {
  color: var(--ink-soft);
  font-size: var(--text-small);
}

.mds.endo-page .facts-line dd {
  margin: 0;
  font-family: var(--display);
  font-size: var(--text-subheading);
  font-weight: 600;
  letter-spacing: -.02em;
  line-height: 1.25;
}

.mds.endo-page .content-section {
  margin-bottom: var(--section);
}

.mds.endo-page .section-surface {
  position: relative;
  z-index: 0;
  margin-bottom: 0;
  padding-block: clamp(64px, 9vw, 112px);
  isolation: isolate;
}

.mds.endo-page .section-surface::before {
  position: absolute;
  z-index: -1;
  top: 0;
  bottom: 0;
  left: 50%;
  width: 100vw;
  transform: translateX(-50%);
  background: var(--canvas);
  content: "";
}

.mds.endo-page .section-surface--white::before {
  background: var(--surface);
}

.mds.endo-page .section-heading {
  margin-bottom: 34px;
}

.mds.endo-page .section-heading h2 {
  max-width: 20ch;
  margin-bottom: 0;
}

.mds.endo-page .section-heading--split > p,
.mds.endo-page .section-heading--split > div + p {
  max-width: 47ch;
  margin: 18px 0 0;
  color: var(--ink-soft);
  font-size: var(--text-lead);
  line-height: 1.5;
}

.mds.endo-page .anatomy-layout {
  display: grid;
  gap: 34px;
  margin-top: 42px;
}

.mds.endo-page .editorial-image {
  margin: 0;
}

.mds.endo-page .editorial-image img,
.mds.endo-page .equipment__image img {
  width: 100%;
  height: 100%;
  min-height: 320px;
  border-radius: var(--radius-media);
  object-fit: cover;
}

.mds.endo-page .editorial-image--tall img {
  aspect-ratio: 4 / 5;
}

.mds.endo-page .anatomy-list {
  margin: 0;
  padding: 0;
  list-style: none;
}

.mds.endo-page .anatomy-list li {
  position: relative;
  padding-block: 22px;
  padding-left: 44px;
  border-top: 1px solid var(--line);
}

.mds.endo-page .anatomy-list li:last-child {
  border-bottom: 1px solid var(--line);
}

.mds.endo-page .findings-index article > span {
  display: block;
  margin-bottom: 28px;
  color: var(--brown-dark);
  font-family: var(--display);
  font-size: 1.5rem;
  font-weight: 400;
  font-variant-numeric: tabular-nums;
  letter-spacing: .02em;
  line-height: 1;
}

.mds.endo-page .timeline li > span {
  color: var(--green);
  font-size: var(--text-caption);
  font-weight: 700;
  letter-spacing: .08em;
}

.mds.endo-page .anatomy-list h3,
.mds.endo-page .timeline h3 {
  margin-bottom: 5px;
}

.mds.endo-page .anatomy-list li::before,
.mds.endo-page .symptom-list li::before {
  position: absolute;
  left: 0;
  width: 27px;
  height: 27px;
  background: url("../assets/img/list-check.svg") center / contain no-repeat;
  content: "";
}

.mds.endo-page .anatomy-list li::before {
  top: 24px;
}

.mds.endo-page .anatomy-list p,
.mds.endo-page .timeline p,
.mds.endo-page .findings-index p {
  margin: 0;
  color: var(--ink-soft);
}

.mds.endo-page .symptom-list {
  display: grid;
  margin: 0;
  padding: 0;
  border-top: 1px solid var(--line);
  list-style: none;
}

.mds.endo-page .symptom-list li {
  position: relative;
  padding-block: 20px;
  padding-left: 44px;
  border-bottom: 1px solid var(--line);
}

.mds.endo-page .symptom-list li:last-child {
  border-bottom: 0;
}

.mds.endo-page .symptom-list li::before {
  top: 21px;
}

.mds.endo-page .symptom-list strong {
  font-family: var(--display);
  font-size: var(--text-subheading);
  font-weight: 600;
  line-height: 1.15;
}

.mds.endo-page .symptom-list p {
  margin: 4px 0 0;
  color: var(--ink-soft);
}

.mds.endo-page .findings {
  padding-block: clamp(56px, 8vw, 88px);
  border-top: 1px solid var(--line);
}

.mds.endo-page .findings-index {
  display: grid;
  counter-reset: findings;
}

.mds.endo-page .findings-index article {
  position: relative;
  padding: 24px 0;
  border-top: 1px solid var(--line);
}

.mds.endo-page .findings-index h3 {
  max-width: 20ch;
  margin: 0 0 8px;
}

.mds.endo-page .preparation {
  display: grid;
  gap: 36px;
  padding: clamp(24px, 4vw, 48px);
  background: var(--ink);
  color: var(--surface);
  border-radius: var(--radius-panel);
  margin-top: var(--section);
}

.mds.endo-page .preparation__intro > p:last-child {
  max-width: 50ch;
  margin-bottom: 0;
  color: var(--surface-strong);
  font-size: var(--text-lead);
}

.mds.endo-page .preparation .eyebrow {
  color: var(--green);
}

.mds.endo-page .preparation__columns {
  display: grid;
  gap: 32px;
}

.mds.endo-page .preparation__columns > div {
  padding-top: 22px;
}

.mds.endo-page .preparation__columns h3 {
  margin-bottom: 12px;
}

.mds.endo-page .check-list {
  display: grid;
  gap: 10px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.mds.endo-page .check-list li {
  position: relative;
  padding-left: 28px;
}

.mds.endo-page .check-list li::before {
  position: absolute;
  top: .25em;
  left: 0;
  width: 18px;
  height: 18px;
  background: url("../assets/img/list-check.svg") center / contain no-repeat;
  content: "";
}

.mds.endo-page .timeline {
  position: relative;
  margin: 0;
  padding: 0;
  list-style: none;
}

.mds.endo-page .timeline::before {
  position: absolute;
  top: 12px;
  bottom: 28px;
  left: 17px;
  width: 1px;
  background: var(--line-strong);
  content: "";
}

.mds.endo-page .timeline li {
  position: relative;
  display: grid;
  grid-template-columns: 36px 1fr;
  gap: 18px;
  padding-bottom: 30px;
}

.mds.endo-page .timeline li > span {
  position: relative;
  z-index: 1;
  width: 36px;
  height: 36px;
  display: grid;
  place-items: center;
  border: 1px solid var(--green);
  border-radius: 50%;
  background: var(--surface);
}

.mds.endo-page .safety-layout {
  display: grid;
  gap: 18px;
}

.mds.endo-page .safety-block {
  padding: clamp(24px, 3.5vw, 36px);
  border: 0;
  border-radius: var(--radius-card);
  background: var(--surface);
  box-shadow: 0 10px 30px rgb(31 37 31 / .05);
}

.mds.endo-page .safety-block--contrast {
  background: var(--surface);
}

.mds.endo-page .safety-block h3 {
  max-width: 22ch;
  margin-top: 0;
}

.mds.endo-page .safety-block ul {
  margin: 20px 0;
  padding: 0;
  list-style: none;
}

.mds.endo-page .safety-block:first-child li {
  position: relative;
  padding-left: 26px;
}

.mds.endo-page .safety-block:first-child li::before {
  position: absolute;
  top: .7em;
  left: 0;
  width: 14px;
  height: 2px;
  border-radius: 2px;
  background: var(--green);
  content: "";
}

.mds.endo-page .safety-block li + li {
  margin-top: 8px;
}

.mds.endo-page .safety-block p:last-child {
  margin-bottom: 0;
}

.mds.endo-page .equipment {
  display: grid;
  gap: 40px;
  align-items: center;
}

.mds.endo-page .equipment__details {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  margin: 34px 0;
  padding-block: 20px;
  border-block: 1px solid var(--line);
}

.mds.endo-page .equipment__details > div {
  padding-inline: 10px;
}

.mds.endo-page .equipment__details > div:first-child {
  padding-left: 0;
}

.mds.endo-page .equipment__details > div + div {
  border-left: 1px solid var(--line);
}

.mds.endo-page .equipment__details dt {
  color: var(--green);
  font-family: var(--display);
  font-size: var(--text-number);
  font-weight: 600;
  letter-spacing: -.04em;
}

.mds.endo-page .equipment__details dd {
  margin: 5px 0 0;
  color: var(--ink-soft);
  font-size: var(--text-caption);
  line-height: 1.3;
}

.mds.endo-page .equipment__image {
  margin: 0;
}

.mds.endo-page .equipment__image img {
  aspect-ratio: 1.25 / 1;
}

.mds.endo-page .faq-list {
  padding: 10px 0;
  border-radius: 5px;
  background: var(--surface);
}

.mds.endo-page .faq-list details + details {
  border-top: 1px solid rgb(0 0 0 / .2);
}

.mds.endo-page .faq-list summary {
  position: relative;
  padding: 40px 125px 40px 55px;
  font-family: var(--display);
  font-size: 24px;
  font-weight: 700;
  letter-spacing: -.02em;
  line-height: 30px;
  list-style: none;
  cursor: pointer;
}

.mds.endo-page .faq-list summary::-webkit-details-marker {
  display: none;
}

.mds.endo-page .faq-list summary span {
  position: absolute;
  top: 50%;
  right: 50px;
  width: 25px;
  height: 14px;
  background: url("../assets/img/arrow5.svg") center / contain no-repeat;
  transform: translateY(-50%);
  transition: transform .25s var(--ease);
}

.mds.endo-page .faq-list details[data-faq-expanded="true"] summary span {
  transform: translateY(-50%) rotate(180deg);
}

.mds.endo-page .faq-list details > div {
  max-width: none;
  padding: 0 360px 0 55px;
  overflow: hidden;
  color: var(--ink);
  font-size: 19px;
  line-height: 32px;
}

.mds.endo-page .faq-list details > div p {
  min-height: 0;
  margin: 0;
  padding-bottom: 32px;
  overflow: hidden;
}

.mds.endo-page .related .section-lead {
  margin-bottom: 36px;
}

.mds.endo-page .related-list {
  display: grid;
  border-top: 1px solid var(--line-strong);
}

.mds.endo-page .related-list a {
  position: relative;
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 6px 20px;
  padding: 23px 42px 23px 0;
  border-bottom: 1px solid var(--line-strong);
  text-decoration: none;
  transition: padding-left .25s var(--ease), background-color .2s ease;
}

.mds.endo-page .related-list a:hover {
  padding-left: 12px;
  background: var(--green-pale);
}

.mds.endo-page .related-list span {
  font-family: var(--display);
  font-size: var(--text-subheading);
  font-weight: 600;
}

.mds.endo-page .related-list strong {
  font-size: 1rem;
}

.mds.endo-page .related-list small {
  grid-column: 1 / -1;
  color: var(--ink-soft);
  font-size: var(--text-small);
}

.mds.endo-page .related-list i {
  position: absolute;
  top: 26px;
  right: 2px;
  width: 25px;
  height: 14px;
  background: url("../assets/img/arrow5.svg") center / contain no-repeat;
  transform: rotate(-90deg);
}

.mds.endo-page.reveal-enabled .reveal {
  opacity: 0;
  transform: translateY(22px);
  transition: opacity .7s var(--ease), transform .7s var(--ease);
}

.mds.endo-page.reveal-enabled .reveal.is-visible {
  opacity: 1;
  transform: translateY(0);
}

@media (min-width: 720px) {
  .mds.endo-page {
    padding-bottom: 0;
  }

  .mds.endo-page .hero {
    grid-template-columns: minmax(0, 1.15fr) minmax(230px, .85fr);
    align-items: stretch;
  }

  .mds.endo-page .hero__visual {
    align-self: stretch;
    margin-top: 0;
  }

  .mds.endo-page .hero__photo-wrap {
    height: 100%;
    min-height: 0;
  }

  .mds.endo-page .facts-line {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
  }

  .mds.endo-page .facts-line > div {
    display: block;
    padding: 20px;
  }

  .mds.endo-page .facts-line > div:nth-child(odd) {
    padding-left: 0;
  }

  .mds.endo-page .facts-line > div:nth-child(even) {
    border-left: 1px solid var(--line);
  }

  .mds.endo-page .facts-line > div + div {
    border-top: 0;
  }

  .mds.endo-page .facts-line > div:nth-child(n + 3) {
    border-top: 1px solid var(--line);
  }

  .mds.endo-page .facts-line dt {
    margin-bottom: 5px;
  }

  .mds.endo-page .section-heading--split {
    display: grid;
    grid-template-columns: minmax(0, 1.25fr) minmax(260px, .75fr);
    gap: 60px;
    align-items: end;
  }

  .mds.endo-page .section-heading--split > p,
.mds.endo-page .section-heading--split > div + p {
    margin: 0;
  }

  .mds.endo-page .indications-section .section-heading--split,
.mds.endo-page .findings .section-heading--split,
.mds.endo-page .safety .section-heading--split,
.mds.endo-page .faq .section-heading--split {
    display: block;
  }

  .mds.endo-page .indications-section .section-heading--split > p,
.mds.endo-page .indications-section .section-heading--split > div + p,
.mds.endo-page .findings .section-heading--split > p,
.mds.endo-page .findings .section-heading--split > div + p,
.mds.endo-page .safety .section-heading--split > p,
.mds.endo-page .safety .section-heading--split > div + p,
.mds.endo-page .faq .section-heading--split > p,
.mds.endo-page .faq .section-heading--split > div + p {
    max-width: 68ch;
    margin-top: 24px;
  }

  .mds.endo-page .anatomy-layout {
    grid-template-columns: minmax(250px, .75fr) minmax(0, 1.25fr);
    gap: clamp(36px, 6vw, 74px);
    align-items: stretch;
  }

  .mds.endo-page .editorial-image--tall {
    position: relative;
    min-height: 0;
  }

  .mds.endo-page .editorial-image--tall img {
    position: absolute;
    inset: 0;
    height: 100%;
    min-height: 0;
    aspect-ratio: auto;
  }

  .mds.endo-page .symptom-list {
    grid-template-columns: repeat(2, 1fr);
  }

  .mds.endo-page .symptom-list li:nth-child(even) {
    padding-left: 68px;
    border-left: 1px solid var(--line);
  }

  .mds.endo-page .symptom-list li:nth-last-child(-n + 2) {
    border-bottom: 0;
  }

  .mds.endo-page .symptom-list li:nth-child(even)::before {
    left: 24px;
  }

  .mds.endo-page .findings-index {
    grid-template-columns: repeat(2, 1fr);
  }

  .mds.endo-page .findings-index article {
    padding: 28px;
  }

  .mds.endo-page .findings-index article:nth-child(odd) {
    padding-left: 0;
  }

  .mds.endo-page .findings-index article:nth-child(even) {
    border-left: 1px solid var(--line);
  }

  .mds.endo-page .preparation__columns {
    grid-template-columns: 1fr 1fr;
    gap: 50px;
  }

  .mds.endo-page .timeline {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 18px;
  }

  .mds.endo-page .timeline::before {
    top: 18px;
    right: 8%;
    bottom: auto;
    left: 0;
    width: auto;
    height: 1px;
  }

  .mds.endo-page .timeline li {
    display: block;
    padding: 0;
  }

  .mds.endo-page .timeline li > span {
    margin-bottom: 22px;
  }

  .mds.endo-page .timeline h3 {
    min-height: 3.4em;
  }

  .mds.endo-page .safety-layout {
    grid-template-columns: 1fr 1fr;
  }

  .mds.endo-page .equipment {
    grid-template-columns: minmax(0, 1fr) minmax(300px, .85fr);
    gap: clamp(50px, 8vw, 100px);
  }

}

@media (min-width: 720px) and (max-width: 899px) {
  .mds.endo-page .hero {
    grid-template-columns: 1fr;
    gap: 32px;
    align-items: start;
    padding-top: clamp(40px, 6vw, 52px);
  }

  .mds.endo-page .hero h1 {
    max-width: 18ch;
    font-size: clamp(2.625rem, 6.5vw, 3.125rem);
    line-height: 1;
  }

  .mds.endo-page .hero__visual {
    align-self: auto;
  }

  .mds.endo-page .hero__photo-wrap {
    height: auto;
    aspect-ratio: 1 / 1;
  }
}

@media (min-width: 900px) and (max-width: 1079px) {
  .mds.endo-page .hero {
    grid-template-columns: minmax(0, 1.1fr) minmax(320px, .9fr);
    gap: 32px;
    align-items: start;
  }

  .mds.endo-page .hero h1 {
    max-width: 16ch;
    font-size: clamp(2.75rem, 4.8vw, 3.25rem);
    line-height: 1;
  }

  .mds.endo-page .hero__visual {
    align-self: start;
  }

  .mds.endo-page .hero__photo-wrap {
    height: auto;
    aspect-ratio: 4 / 5;
  }
}

@media (min-width: 1080px) {
  .mds.endo-page .service-grid {
    display: block;
  }

  .mds.endo-page .hero {
    padding-top: 64px;
  }

  .mds.endo-page .findings-index {
    grid-template-columns: repeat(3, 1fr);
  }

  .mds.endo-page .findings-index article:nth-child(odd) {
    padding-left: 28px;
  }

  .mds.endo-page .findings-index article:nth-child(3n + 1) {
    padding-left: 0;
  }

  .mds.endo-page .findings-index article:nth-child(even),
.mds.endo-page .findings-index article:nth-child(3n + 2),
.mds.endo-page .findings-index article:nth-child(3n + 3) {
    border-left: 1px solid var(--line);
  }

  .mds.endo-page .findings-index article:nth-child(3n + 1) {
    border-left: 0;
  }

  .mds.endo-page .preparation {
    grid-template-columns: .75fr 1.25fr;
    gap: clamp(50px, 8vw, 110px);
    align-items: start;
  }

  .mds.endo-page .preparation__columns {
    gap: 44px;
  }

}

@media (max-width: 410px) {
  .mds.endo-page .hero__actions .button {
    width: 100%;
  }

  .mds.endo-page .equipment__details {
    grid-template-columns: 1fr;
  }

  .mds.endo-page .equipment__details > div {
    padding: 13px 0;
  }

  .mds.endo-page .equipment__details > div + div {
    border-top: 1px solid var(--line);
    border-left: 0;
  }

}

@media (max-width: 719px) {
  .mds.endo-page .hero {
    padding-top: 16px;
  }

  .mds.endo-page .hero .eyebrow {
    margin-bottom: 14px;
    font-size: 14px;
    line-height: 26px;
  }

  .mds.endo-page .hero__actions .button {
    width: 100%;
    height: 52px;
    padding-inline: 24px;
    border-radius: 4px;
    font-size: 1rem;
  }

  .mds.endo-page .faq-list {
    padding: 0;
  }

  .mds.endo-page .faq-list summary {
    padding: 20px 65px 20px 20px;
    font-size: 16px;
    line-height: normal;
  }

  .mds.endo-page .faq-list summary span {
    right: 20px;
  }

  .mds.endo-page .faq-list details > div {
    padding: 0 65px 0 20px;
    font-size: 16px;
    line-height: 28px;
  }

  .mds.endo-page .faq-list details > div p {
    padding-bottom: 20px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .mds.endo-page {
    scroll-behavior: auto;
  }

  .mds.endo-page *,
.mds.endo-page *::before,
.mds.endo-page *::after {
    scroll-behavior: auto !important;
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .01ms !important;
  }

  .mds.endo-page.reveal-enabled .reveal {
    opacity: 1;
    transform: none;
  }
}

.mds.endo-page [id^="mrt-"] { scroll-margin-top: 88px; }

/* =============================================================
   Дополнения для страницы «МРТ позвоночника»
   Новые блоки собраны из компонентов страницы поясницы;
   ниже только то, чего там не было.
   ============================================================= */

/* Что показывает: заголовок и подводка в правой колонке, фото слева */
.mds.endo-page .anatomy-section .anatomy-layout {
  margin-top: 0;
}

.mds.endo-page .anatomy-intro .section-heading {
  margin-bottom: 24px;
}

.mds.endo-page .anatomy-intro .section-lead {
  margin: 0;
}

/* Отделы: карточки findings-index со ссылкой и ценой */
.mds.endo-page .zone-index article {
  display: flex;
  flex-direction: column;
}

.mds.endo-page .zone-index h3 a {
  text-decoration: none;
}

.mds.endo-page .zone-index h3 a:hover {
  color: var(--brown-dark);
}

.mds.endo-page .zone-index__alias {
  margin: 0 0 10px !important;
  color: var(--green-dark) !important;
  font-size: var(--text-meta);
}

.mds.endo-page .zone-index__price {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-top: auto;
  padding-top: 18px;
  font-family: var(--display);
  font-size: var(--text-subheading);
  font-weight: 600;
  letter-spacing: -.02em;
  text-decoration: none;
}

.mds.endo-page .zone-index__price i {
  width: 25px;
  height: 14px;
  background: url("../assets/img/arrow5.svg") center / contain no-repeat;
  transform: rotate(-90deg);
  transition: transform .25s var(--ease);
}

.mds.endo-page .zone-index__price:hover i {
  transform: rotate(-90deg) translateY(4px);
}

/* Прайс: строки related-list без описания */
.mds.endo-page .price-list a {
  align-items: center;
}

/* Сравнение МРТ / КТ / рентген */
.mds.endo-page .compare-wrap {
  overflow-x: auto;
  border-radius: var(--radius-card);
  background: var(--surface);
  box-shadow: 0 10px 30px rgb(31 37 31 / .05);
}

.mds.endo-page .compare-table {
  width: 100%;
  min-width: 720px;
  border-collapse: collapse;
}

.mds.endo-page .compare-table th,
.mds.endo-page .compare-table td {
  padding: 20px 24px;
  border-bottom: 1px solid var(--line);
  text-align: left;
  vertical-align: top;
}

.mds.endo-page .compare-table tr:last-child th,
.mds.endo-page .compare-table tr:last-child td {
  border-bottom: 0;
}

.mds.endo-page .compare-table thead th {
  font-family: var(--display);
  font-size: var(--text-subheading);
  font-weight: 600;
  letter-spacing: -.02em;
}

.mds.endo-page .compare-table tbody th {
  width: 28%;
  font-family: var(--display);
  font-weight: 600;
}

.mds.endo-page .compare-table td {
  color: var(--ink-soft);
}

.mds.endo-page .compare-table .is-accent {
  background: var(--green-pale);
  color: var(--ink);
}

.mds.endo-page .compare-table thead .is-accent {
  color: var(--green-dark);
}

/* Комфорт: три фото с подписью */
.mds.endo-page .comfort-grid {
  display: grid;
  gap: 34px 24px;
}

.mds.endo-page .comfort-grid figure {
  margin: 0;
}

.mds.endo-page .comfort-grid img {
  width: 100%;
  margin-bottom: 22px;
  border-radius: var(--radius-media);
  /* родная пропорция фото 687×386 — без обрезки */
  aspect-ratio: 687 / 386;
  object-fit: cover;
}

.mds.endo-page .comfort-grid p {
  margin: 0;
  color: var(--ink-soft);
}

@media (min-width: 720px) {
  .mds.endo-page .comfort-grid {
    grid-template-columns: repeat(3, 1fr);
  }

  .mds.endo-page .anatomy-section .anatomy-layout {
    grid-template-areas:
      "image intro"
      "image list";
    grid-template-rows: auto 1fr;
    row-gap: 42px;
  }

  .mds.endo-page .anatomy-section .editorial-image--tall {
    grid-area: image;
  }

  .mds.endo-page .anatomy-intro {
    grid-area: intro;
  }

  .mds.endo-page .anatomy-section .anatomy-list {
    grid-area: list;
  }

  /* Цены: подводка под заголовком, как в показаниях и FAQ */
  .mds.endo-page .prices-section .section-heading--split {
    display: block;
  }

  .mds.endo-page .prices-section .section-heading--split > div + p {
    max-width: 68ch;
    margin-top: 24px;
  }
}

@media (min-width: 1080px) {
  .mds.endo-page .zone-index {
    grid-template-columns: repeat(5, 1fr);
  }

  .mds.endo-page .zone-index article:nth-child(n) {
    padding-left: 28px;
    border-left: 1px solid var(--line);
  }

  .mds.endo-page .zone-index article:first-child {
    padding-left: 0;
    border-left: 0;
  }
}

@media (min-width: 720px) {
  .mds.endo-page .nowrap {
    white-space: nowrap;
  }
}

/* Единый стиль мелких подписей: бирки над значениями, пояснения в прайсе и карточках */
.mds.endo-page {
  --text-label: .9375rem;
}

.mds.endo-page .facts-line dt,
.mds.endo-page .first-screen .facts-line dt,
.mds.endo-page .hero__price-note,
.mds.endo-page .related-list small,
.mds.endo-page .equipment__details dd,
.mds.endo-page .zone-index__alias {
  color: var(--ink-soft) !important;
  font-family: var(--body);
  font-size: var(--text-label);
  font-weight: 400;
  letter-spacing: 0;
  line-height: 1.4;
}

/* Номера шагов в кружках — тоже не мельче 13px */
.mds.endo-page .timeline li > span {
  font-size: .8125rem;
}

/* Контраст и противопоказания: слева заголовок с подводкой, справа карточки одна под другой */
@media (min-width: 900px) {
  .mds.endo-page .safety {
    display: grid;
    grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr);
    gap: clamp(40px, 6vw, 96px);
    align-items: start;
  }

  .mds.endo-page .safety .section-heading {
    position: sticky;
    top: 32px;
    margin-bottom: 0;
  }

  .mds.endo-page .safety .section-heading--split > div + p {
    max-width: 40ch;
  }

  .mds.endo-page .safety h2 {
    max-width: none;
    font-size: clamp(2.25rem, 3.6vw, 3.25rem);
  }
}

.mds.endo-page .safety-block h3 + p {
  margin-top: 20px;
}

/* справа карточки одна под другой на всех ширинах */
@media (min-width: 900px) {
  .mds.endo-page .safety .safety-layout {
    grid-template-columns: 1fr;
  }

  .mds.endo-page .safety-block h3 {
    max-width: none;
  }
}

/* Первый экран: томограф на фоне логотипа с вращающимися кольцами */
.endo_page {
  overflow-x: clip;
}

.mds.endo-page .hero__visual--scanner {
  position: relative;
  z-index: 0;
  display: flex;
  align-items: flex-end;
  justify-content: center;
  min-height: 0;
  margin: 0;
  /* сверху место под кольца логотипа, чтобы кружки не срезались */
  padding-top: 26%;
  overflow: visible;
  /* срезаем сверху и снизу по границам блока, вбок кружки уходят за край экрана */
  clip-path: inset(0 -100vw 0 -100vw);
}

/* Сцена: аппарат задаёт размер, логотип центрирован на тоннеле томографа */
.mds.endo-page .hero__stage {
  position: relative;
  flex: none;
  width: 100%;
  /* основание аппарата уходит под линию */
  margin-bottom: -14%;
}

.mds.endo-page .hero-orbit {
  position: absolute;
  z-index: 0;
  /* центр логотипа — по центру аппарата (49,5% ширины), по высоте на 10% ниже */
  top: -25.5%;
  left: -6.5%;
  width: 112%;
  height: auto;
  overflow: visible;
}

.mds.endo-page .hero-orbit__ring {
  transform-box: view-box;
  /* общий центр всех колец и креста в логотипе */
  transform-origin: 539.2px 557.4px;
  animation: hero-orbit-spin 140s linear infinite;
}

.mds.endo-page .hero-orbit__ring--2 {
  animation-duration: 100s;
  animation-direction: reverse;
}

.mds.endo-page .hero-orbit__ring--3 {
  animation-duration: 75s;
}

.mds.endo-page .hero-orbit__ring--4 {
  animation-duration: 55s;
  animation-direction: reverse;
}

@keyframes hero-orbit-spin {
  to {
    transform: rotate(360deg);
  }
}

.mds.endo-page .hero__scanner {
  position: relative;
  z-index: 1;
  display: block;
  width: 100%;
  height: auto;
}

/* Отбивка — «пол» под аппаратом на всю ширину экрана.
   Строка фактов без внутренних линий: только «пол» сверху. */
.mds.endo-page .first-screen .facts-line {
  position: relative;
  display: grid;
  gap: 18px 32px;
  margin-bottom: 0;
  padding-block: 28px clamp(36px, 4vw, 52px);
  border-block: 0;
}

.mds.endo-page .first-screen .facts-line > div {
  display: block;
  padding: 0;
  border: 0;
}

.mds.endo-page .first-screen .facts-line dt {
  margin-bottom: 6px;
}

.mds.endo-page .first-screen + .findings {
  border-top: 0;
}

@media (min-width: 720px) {
  .mds.endo-page .first-screen .facts-line {
    grid-template-columns: repeat(2, 1fr);
    gap: 24px 40px;
  }
}

@media (min-width: 1080px) {
  .mds.endo-page .first-screen .facts-line {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  .mds.endo-page .first-screen .facts-line dd {
    font-size: 1.25rem;
  }
}

.mds.endo-page .first-screen .facts-line::before {
  position: absolute;
  top: 0;
  left: 50%;
  width: 100vw;
  height: 1px;
  margin-left: -50vw;
  background: var(--line-strong);
  content: "";
}

@media (min-width: 900px) {
  .mds.endo-page .hero:has(.hero__visual--scanner) {
    grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr);
    padding-bottom: 0;
  }

  .mds.endo-page .hero:has(.hero__visual--scanner) .hero__copy {
    position: relative;
    z-index: 2;
    align-self: center;
    /* воздух между текстом и аппаратом */
    padding-right: clamp(32px, 4.5vw, 80px);
    padding-bottom: clamp(28px, 3vw, 42px);
  }

  .mds.endo-page .hero__visual--scanner {
    align-self: stretch;
    justify-content: flex-start;
    /* блок поднимается на высоту верхнего отступа hero */
    margin-top: calc(-1 * clamp(44px, 8vw, 92px));
    padding-top: 0;
  }

  /* аппарат крупнее колонки, правая часть уходит за край экрана; низ срезан линией */
  .mds.endo-page .hero__stage {
    width: 104%;
    margin-left: 2%;
    margin-bottom: -14%;
  }
}

@media (min-width: 1080px) {
  .mds.endo-page .hero__visual--scanner {
    margin-top: -64px;
  }

  /* заголовок плавно уменьшается, чтобы «в Санкт-Петербурге» не заходил на аппарат */
  .mds.endo-page .hero:has(.hero__visual--scanner) h1 {
    max-width: none;
    font-size: clamp(3.125rem, 4.6vw, 4.125rem);
  }
}

@media (max-width: 899px) {
  .mds.endo-page .hero:has(.hero__visual--scanner) {
    padding-bottom: 0;
  }
}

@media (prefers-reduced-motion: reduce) {
  .mds.endo-page .hero-orbit__ring {
    animation: none;
  }
}

/* Изоляция внутри шаблона Bitrix — по аналогии с .mrt_lumbar_test */
.endo_page {
  background:
    radial-gradient(circle at 8% 5%, rgb(143 196 166 / .18), transparent 28rem),
    rgb(246 248 244);
}

.endo_page .mds.endo-page,
.endo_page .mds.endo-page .first-screen::before {
  background: transparent;
}

/* Preview integration: preserve the supplied design and native template fonts. */
.endo_page .inner-page-content { overflow: clip; }
.endo_page .inner-page-breadcrumbs .breadcrumbs {
  grid-column: 1 / 3;
  max-width: none;
}
.endo_page .promo-bottom-mrt,
.endo_page .reviews-section {
  box-sizing: border-box;
  width: calc(100% - 32px);
  max-width: 1432px;
  margin-inline: auto;
}
.mds.endo-page .eyebrow > span + span { margin-left: .7em; }
.mds.endo-page .hero__price-note > span { display: block; }
@media (min-width: 720px) and (max-width: 1079px) {
  .mds.endo-page .faq-list summary { padding: 30px 85px 30px 32px; }
  .mds.endo-page .faq-list summary span { right: 32px; }
  .mds.endo-page .faq-list details > div { padding: 0 85px 0 32px; }
}
@media (max-width: 410px) {
  .mds.endo-page .eyebrow > span { display: block; }
  .mds.endo-page .eyebrow > span + span { margin-left: 0; }
  .mds.endo-page .faq-list details > div { padding-right: 20px; }
}

/* Client composition adapters. Typography, palette and radii come from server CSS. */
.mds.endo-page { --mrt-dark: #22251F; --mrt-dark-line: rgb(255 255 255 / .1); box-sizing: border-box; margin-inline: 0; width: 100%; }
.mds.endo-page .wrap { width: 100%; max-width: var(--page); min-width: 0; margin-inline: auto; }
.mds.endo-page .hero { display: block; }
.mds.endo-page .hero-grid { display: grid; gap: 26px; align-items: center; }
.mds.endo-page .hero-text { min-width: 0; }
.mds.endo-page .hero h1 { max-width: 18ch; }
.mds.endo-page .hero-p { max-width: 63ch; color: var(--ink-soft); margin-bottom: 30px; }
.mds.endo-page .hero-img { margin: 0; min-width: 0; }
.mds.endo-page .hero-img picture { display: block; }
.mds.endo-page .hero-img img { width: 100%; height: auto; border-radius: var(--radius-media); }
.mds.endo-page .hero-img figcaption { margin-top: 12px; color: var(--ink-soft); font-size: var(--text-meta); }
.mds.endo-page #endo-about .hero__price-note { display: inline-flex; flex-wrap: wrap; align-items: center; gap: 4px 8px; width: max-content; max-width: 100%; min-width: 0; }
.mds.endo-page #endo-about .hero__price-note > span { display: inline-flex; align-items: center; gap: 8px; white-space: nowrap; }
.mds.endo-page #endo-about .hero__price-note > span + span::before { content: ''; flex: 0 0 1px; width: 1px; height: 1em; background: currentColor; }
.mds.endo-page .button--secondary { background: transparent; color: var(--brown-dark); border-color: var(--brown); }
.mds.endo-page .button--secondary:hover { background: var(--green-pale); }
.mds.endo-page .facts { display: grid; gap: 0 24px; padding: 0; margin: 42px 0 0; list-style: none; }
.mds.endo-page .facts li { display: grid; gap: 6px; padding: 20px 0; border-top: 1px solid var(--line); }
.mds.endo-page .facts b { font-family: var(--display); font-size: var(--text-subheading); font-weight: 600; }
.mds.endo-page .facts span { color: var(--ink-soft); font-size: var(--text-meta); }
.mds.endo-page #endo-about .facts { gap: 0; border-top: 1px solid var(--line); }
.mds.endo-page #endo-about .facts li { min-width: 0; padding: 20px 28px; border-top: 0; }
.mds.endo-page #endo-about .facts li:nth-child(odd) { padding-left: 0; }
.mds.endo-page #endo-about .facts li:nth-child(even) { padding-right: 0; border-left: 1px solid var(--line); }
.mds.endo-page #endo-about .facts li:nth-child(n + 3) { border-top: 1px solid var(--line); }
.mds.endo-page .sec h2 { max-width: 24ch; }
.mds.endo-page .sec-lead { margin-bottom: 34px; }
.mds.endo-page .hero-tags, .mds.endo-page .sci-k { margin: 0 0 15px; color: var(--brown-dark); font-family: var(--display); font-size: var(--text-meta); font-weight: 700; line-height: 1.3; }
.mds.endo-page .zgrid, .mds.endo-page .mgrid, .mds.endo-page .pr3 { display: grid; gap: 24px; }
.mds.endo-page .zgrid { gap: 0; border-top: 1px solid var(--line); }
.mds.endo-page .zcard { display: flex; flex-direction: column; gap: 8px; min-width: 0; padding: 24px 0; background: transparent; border: 0; border-radius: 0; box-shadow: none; text-decoration: none; }
.mds.endo-page .zcard:hover h3 { color: var(--brown-dark); }
.mds.endo-page #mrt-zones .z-n { display: block; margin-bottom: 20px; color: var(--brown-dark); font-family: var(--display); font-size: 1.5rem; font-weight: 400; font-variant-numeric: tabular-nums; letter-spacing: .02em; line-height: 1; }
.mds.endo-page .zcard h3 { margin: 0; }
.mds.endo-page .z-s { color: var(--green-dark); font-size: var(--text-meta); }
.mds.endo-page .zcard p { margin: 0 0 16px; color: var(--ink-soft); }
.mds.endo-page .z-p { display: flex; justify-content: space-between; align-items: center; gap: 16px; margin-top: auto; padding-top: 18px; font-family: var(--display); font-size: var(--text-subheading); font-weight: 600; }
.mds.endo-page .z-p::after { content: ''; flex: 0 0 10px; width: 10px; height: 10px; margin-right: 4px; border-top: 2px solid var(--green); border-right: 2px solid var(--green); transform: rotate(45deg); }
.mds.endo-page .link-chevron { display: inline-block; flex: 0 0 8px; width: 8px; height: 8px; margin-inline: 8px 3px; border-top: 2px solid var(--green); border-right: 2px solid var(--green); transform: rotate(45deg); vertical-align: .08em; }
.mds.endo-page #mrt-next .link-chevron { border-color: currentColor; }
.mds.endo-page .note, .mds.endo-page .note-light { margin: 24px 0 0; max-width: 75ch; color: var(--ink-soft); font-size: var(--text-meta); }
.mds.endo-page .plist-grid { display: grid; gap: 40px; }
.mds.endo-page .plist-grid > * { min-width: 0; }
.mds.endo-page .pl-h { margin-bottom: 20px; }
.mds.endo-page #mrt-prices .plist-grid > div > h3.pl-h { color: var(--brown-dark); }
.mds.endo-page .pl-h:not(:first-child) { margin-top: 34px; }
.mds.endo-page .plist { padding: 0; margin: 0; list-style: none; }
.mds.endo-page .plist li { border-bottom: 1px solid var(--line); }
.mds.endo-page .price-action { display: flex; width: 100%; gap: 18px; justify-content: space-between; align-items: baseline; padding: 20px 0; border: 0; border-radius: 0; background: transparent; color: var(--ink); text-align: left; cursor: pointer; }
.mds.endo-page .price-action:hover .pl-t { color: var(--brown-dark); }
.mds.endo-page .pl-t { display: grid; gap: 4px; font-family: var(--display); font-size: var(--text-body); font-weight: 600; line-height: 1.35; }
.mds.endo-page .plist small { color: var(--ink-soft); font-family: var(--body); font-size: var(--text-meta); font-weight: 400; }
.mds.endo-page .plist b { flex-shrink: 0; font-family: var(--display); font-size: var(--text-subheading); font-weight: 600; font-variant-numeric: tabular-nums; white-space: nowrap; }
.mds.endo-page .promo { margin-top: 34px; padding: 24px; background: var(--green-pale); border: 0; border-radius: var(--radius-panel); }
.mds.endo-page #mrt-prices .promo > .sci-k { margin: 0 0 20px; color: var(--brown-dark); font-family: var(--display); font-size: var(--text-subheading); font-weight: 600; letter-spacing: -.035em; line-height: 1.15; }
.mds.endo-page .list { margin: 16px 0 0; padding-left: 22px; }
.mds.endo-page .list li + li { margin-top: 12px; }
.mds.endo-page .list li::marker { color: var(--brown-dark); }
.mds.endo-page .promo .list, .mds.endo-page .docs-c .list { display: grid; gap: 16px; padding: 0; list-style: none; }
.mds.endo-page .promo .list li, .mds.endo-page .docs-c .list li { position: relative; min-height: 27px; padding-left: 44px; }
.mds.endo-page .promo .list li + li, .mds.endo-page .docs-c .list li + li { margin-top: 0; }
.mds.endo-page .promo .list li::before, .mds.endo-page .docs-c .list li::before { content: ''; display: block; position: absolute; top: 0; left: 0; width: 27px; height: 27px; background: url("../assets/img/list-check.svg") center / contain no-repeat; }
.mds.endo-page .promo .list li { min-height: 21px; padding-left: 32px; }
.mds.endo-page .promo .list li::before { width: 21px; height: 21px; }
.mds.endo-page #mrt-indications .list, .mds.endo-page #mrt-preparation .callout .list, .mds.endo-page #mrt-contra .list { padding: 0; list-style: none; }
.mds.endo-page #mrt-indications .list li, .mds.endo-page #mrt-preparation .callout .list li, .mds.endo-page #mrt-contra .list li { position: relative; padding-left: 28px; }
.mds.endo-page #mrt-indications .list li::before, .mds.endo-page #mrt-preparation .callout .list li::before, .mds.endo-page #mrt-contra .list li::before { content: ''; display: block; position: absolute; top: .7em; left: 0; width: 14px; height: 2px; background: var(--green); }
.mds.endo-page .mgrid article, .mds.endo-page .pr3 article { min-width: 0; padding: 24px 0; }
.mds.endo-page .mgrid article { border-top: 1px solid var(--line); }
.mds.endo-page #mrt-findings .mgrid { gap: 0; border-top: 1px solid var(--line); }
.mds.endo-page #mrt-findings .mgrid article { border-top: 0; }
.mds.endo-page #mrt-next .mgrid.three { gap: 0; border-top: 1px solid var(--line); }
.mds.endo-page #mrt-next .mgrid.three article { border-top: 0; }
.mds.endo-page .pr3 article { border: 0; }
.mds.endo-page #mrt-comfort .pr3 { gap: 0; border-top: 1px solid var(--line); }
.mds.endo-page #mrt-contra .pr3 article { padding: 24px; background: var(--surface); border-radius: var(--radius-card); box-shadow: 0 10px 30px rgb(31 37 31 / .05); }
.mds.endo-page .mgrid p, .mds.endo-page .pr3 p { color: var(--ink-soft); margin-bottom: 0; }
.mds.endo-page .mgrid p + .pc-go { display: inline-flex; align-items: center; min-height: 44px; margin-top: 12px; }
.mds.endo-page .pc-go { color: var(--brown-dark); font-family: var(--display); font-weight: 600; }
.mds.endo-page button.pc-go { padding: 0; border: 0; background: transparent; cursor: pointer; text-align: left; }
.mds.endo-page .split { display: grid; gap: 34px; align-items: start; }
.mds.endo-page .split > * { min-width: 0; }
.mds.endo-page .split > div > .list { margin-top: 0; }
.mds.endo-page .callout { grid-row: auto; grid-column: auto; padding: 24px; border: 0; border-radius: var(--radius-panel); background: var(--green-pale); }
.mds.endo-page .callout p:last-child { margin-bottom: 0; }
.mds.endo-page #mrt-indications .callout { padding: 24px 0; background: transparent; border-block: 1px solid var(--line); border-radius: 0; box-shadow: none; }
.mds.endo-page #mrt-indications .callout h3 { margin: 0 0 16px; }
.mds.endo-page #mrt-indications .callout p { margin: 0; color: var(--ink-soft); }
.mds.endo-page .steps { display: grid; gap: 0 32px; counter-reset: step; list-style: none; padding: 0; margin: 0; }
.mds.endo-page .steps > li { counter-increment: step; padding: 24px 0; border-top: 1px solid var(--line); }
.mds.endo-page .steps > li::before { content: counter(step, decimal-leading-zero); display: block; margin-bottom: 16px; color: var(--brown-dark); font-family: var(--display); font-size: var(--text-meta); font-weight: 600; }
.mds.endo-page .steps p { margin-bottom: 0; color: var(--ink-soft); }
.mds.endo-page #mrt-protocol .steps, .mds.endo-page #mrt-preparation .steps.two-col { gap: 0; border-top: 1px solid var(--line); }
.mds.endo-page #mrt-protocol .steps { border-top-color: var(--mrt-dark-line); }
.mds.endo-page #mrt-protocol .steps > li, .mds.endo-page #mrt-preparation .steps.two-col > li { min-width: 0; border-top: 0; }
.mds.endo-page #mrt-findings .steps { gap: 0; }
.mds.endo-page #mrt-findings .steps > li { min-width: 0; padding: 24px 0; }
.mds.endo-page #mrt-findings .steps > li::before, .mds.endo-page #mrt-protocol .steps > li::before, .mds.endo-page #mrt-preparation .steps > li::before { margin-bottom: 28px; font-family: var(--display); font-size: 1.5rem; font-weight: 400; font-variant-numeric: tabular-nums; letter-spacing: .02em; line-height: 1; }
.mds.endo-page #mrt-findings .steps h3 { max-width: 20ch; margin: 0 0 8px; }
.mds.endo-page #mrt-findings .steps p { margin: 0; }
.mds.endo-page .sec-dark { color: var(--surface); }
.mds.endo-page .sec-dark::before { background: var(--mrt-dark); }
.mds.endo-page .sec-dark h2, .mds.endo-page .sec-dark h3 { color: var(--surface); }
.mds.endo-page .sec-dark .hero-tags { color: var(--green); }
.mds.endo-page .sec-dark .sec-lead, .mds.endo-page .sec-dark .steps p, .mds.endo-page .sec-dark .note-light { color: var(--surface-strong); }
.mds.endo-page .sec-dark .steps > li { border-color: var(--mrt-dark-line); }
.mds.endo-page .sec-dark .steps > li::before { color: var(--green); }
.mds.endo-page .gal { display: grid; gap: 60px; margin: 42px 0; }
.mds.endo-page .gal-i { display: grid; gap: 24px; align-items: center; margin: 0; min-width: 0; }
.mds.endo-page #mrt-protocol .gal-i { align-items: start; }
.mds.endo-page .gal-i picture { display: block; min-width: 0; }
.mds.endo-page .gal-i img { display: block; width: 100%; height: auto; object-fit: contain; border-radius: var(--radius-media); }
.mds.endo-page .gal-i figcaption { display: grid; gap: 16px; min-width: 0; }
.mds.endo-page .gal-i h3, .mds.endo-page .gal-i p { margin: 0; }
.mds.endo-page .gal-i p { color: var(--surface-strong); }
.mds.endo-page .gal-i figcaption > span { color: rgb(255 255 255 / .72); font-size: var(--text-meta); border-top: 1px solid var(--mrt-dark-line); padding-top: 12px; }
.mds.endo-page .docs-c { margin-top: 34px; padding: 32px; background: rgb(57 67 55); border: 0; box-shadow: none; }
.mds.endo-page .docs-c h3 { margin: 0 0 24px; color: var(--green); }
.mds.endo-page .docs-c .list { margin: 0; color: var(--surface-strong); }
.mds.endo-page #mrt-preparation .callout h3, .mds.endo-page #mrt-contra .pr3 h3 { margin: 0 0 20px; }
.mds.endo-page #mrt-preparation .callout > p, .mds.endo-page #mrt-contra .pr3 p { margin: 0; color: var(--ink-soft); }
.mds.endo-page #mrt-preparation .callout > p + p { margin-top: 24px; }
.mds.endo-page #mrt-preparation .callout > .list { margin: 12px 0 0; }
.mds.endo-page #mrt-preparation .callout > .list + p { margin-top: 32px; }
.mds.endo-page #mrt-contra .pr3 article { padding: 32px; }
.mds.endo-page #mrt-contra .pr3 .list { margin: 0 0 24px; }
.mds.endo-page #mrt-contra .pr3 p + p { margin-top: 20px; }
.mds.endo-page #mrt-protocol .tech { display: grid; gap: 0; margin: 34px 0; padding-block: 20px; border-block: 1px solid var(--mrt-dark-line); }
.mds.endo-page #mrt-protocol .tech > div { display: grid; gap: 5px; padding-inline: 10px; }
.mds.endo-page #mrt-protocol .tech > div:first-child { padding-left: 0; }
.mds.endo-page #mrt-protocol .tech > div + div { border-left: 1px solid var(--mrt-dark-line); }
.mds.endo-page #mrt-protocol .tech b { color: var(--green); font-family: var(--display); font-size: var(--text-number); font-weight: 600; letter-spacing: -.04em; }
.mds.endo-page #mrt-protocol .tech span { color: var(--surface-strong); font-family: var(--body); font-size: .9375rem; font-weight: 400; letter-spacing: 0; line-height: 1.4; }
.mds.endo-page .sub { margin-bottom: 24px; }
.mds.endo-page .tbl-wrap { margin-top: 34px; }
.mds.endo-page .cta { position: relative; isolation: isolate; padding-block: clamp(64px, 9vw, 112px); color: var(--surface); }
.mds.endo-page .cta::before { content: ''; position: absolute; z-index: -1; inset-block: 0; left: 50%; width: 100vw; transform: translateX(-50%); background: var(--mrt-dark); }
.mds.endo-page .cta-grid { display: grid; gap: 34px; align-items: center; }
.mds.endo-page .cta h2 { max-width: 20ch; color: var(--surface); }
.mds.endo-page .cta p { max-width: 65ch; color: var(--surface-strong); }
.mds.endo-page .cta .phone { margin: 24px 0 0; font-family: var(--display); font-size: var(--text-number); font-weight: 600; }
.mds.endo-page .phone a { text-decoration: none; }
.mds.endo-page #mrt-faq .faq-list summary, .mds.endo-page #mrt-faq .faq-list details > div { padding-left: 0; }
/* Light content shares the body face and contrast; eyebrow labels retain their role. */
.mds.endo-page > :is(.hero, .sec):not(#mrt-protocol, #endo-contact, .sec-dark) p:not(.hero-tags, .sci-k) { color: var(--ink); font-family: var(--body); }
@media (min-width: 720px) {
  .mds.endo-page .hero { display: block; }
  .mds.endo-page .hero-grid { grid-template-columns: minmax(0, 1.15fr) minmax(230px, .85fr); gap: 44px; }
  .mds.endo-page .facts { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .mds.endo-page #endo-about .facts li:nth-child(n) { padding: 20px 28px; border-top: 0; border-left: 1px solid var(--line); }
  .mds.endo-page #endo-about .facts li:first-child { padding-left: 0; border-left: 0; }
  .mds.endo-page #endo-about .facts li:last-child { padding-right: 0; }
  .mds.endo-page .zgrid, .mds.endo-page .mgrid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .mds.endo-page .zcard { padding: 28px; }
  .mds.endo-page .zcard:nth-child(odd) { padding-left: 0; }
  .mds.endo-page .zcard:nth-child(even) { border-left: 1px solid var(--line); }
  .mds.endo-page .zcard:nth-child(n + 3) { border-top: 1px solid var(--line); }
  .mds.endo-page #mrt-findings .mgrid article { padding: 28px; }
  .mds.endo-page #mrt-findings .mgrid article:nth-child(odd) { padding-left: 0; }
  .mds.endo-page #mrt-findings .mgrid article:nth-child(even) { border-left: 1px solid var(--line); }
  .mds.endo-page #mrt-findings .mgrid article:nth-child(n + 3) { border-top: 1px solid var(--line); }
  .mds.endo-page #mrt-next .mgrid.three article { padding: 28px; }
  .mds.endo-page #mrt-next .mgrid.three article:nth-child(odd) { padding-left: 0; }
  .mds.endo-page #mrt-next .mgrid.three article:nth-child(even) { padding-right: 0; border-left: 1px solid var(--line); }
  .mds.endo-page #mrt-next .mgrid.three article:nth-child(n + 3) { border-top: 1px solid var(--line); }
  .mds.endo-page .plist-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .mds.endo-page .steps { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .mds.endo-page #mrt-findings .steps { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .mds.endo-page #mrt-findings .steps > li { padding: 28px; }
  .mds.endo-page #mrt-findings .steps > li:nth-child(odd) { padding-left: 0; }
  .mds.endo-page #mrt-findings .steps > li:nth-child(even) { border-left: 1px solid var(--line); }
  .mds.endo-page .steps.two-col { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .mds.endo-page #mrt-protocol .steps > li, .mds.endo-page #mrt-preparation .steps.two-col > li { padding: 28px; }
  .mds.endo-page #mrt-protocol .steps > li:first-child, .mds.endo-page #mrt-preparation .steps.two-col > li:nth-child(odd) { padding-left: 0; }
  .mds.endo-page #mrt-protocol .steps > li:last-child, .mds.endo-page #mrt-preparation .steps.two-col > li:nth-child(even) { padding-right: 0; }
  .mds.endo-page #mrt-protocol .steps > li + li, .mds.endo-page #mrt-preparation .steps.two-col > li:nth-child(even) { border-left: 1px solid var(--line); }
  .mds.endo-page #mrt-protocol .steps > li + li { border-left-color: var(--mrt-dark-line); }
  .mds.endo-page #mrt-preparation .steps.two-col > li:nth-child(n + 3) { border-top: 1px solid var(--line); }
  .mds.endo-page .pr3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .mds.endo-page .pr3.two { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .mds.endo-page #mrt-comfort .pr3 article { padding: 28px; }
  .mds.endo-page #mrt-comfort .pr3 article:first-child { padding-left: 0; }
  .mds.endo-page #mrt-comfort .pr3 article:last-child { padding-right: 0; }
  .mds.endo-page #mrt-comfort .pr3 article + article { border-left: 1px solid var(--line); }
  .mds.endo-page #mrt-protocol .tech { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .mds.endo-page .cta-grid { grid-template-columns: minmax(0, 1fr) auto; gap: 60px; }
}
@media (min-width: 900px) {
  .mds.endo-page .split { grid-template-columns: minmax(0, 1.35fr) minmax(0, .65fr); gap: 48px; }
  .mds.endo-page #mrt-preparation > .wrap { display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(0, .65fr); grid-template-rows: auto 1fr; column-gap: 48px; align-items: start; }
  .mds.endo-page #mrt-preparation > .wrap > h2 { grid-row: 1; grid-column: 1; }
  .mds.endo-page #mrt-preparation .split { display: contents; }
  .mds.endo-page #mrt-preparation .split > div { grid-row: 2; grid-column: 1; }
  .mds.endo-page #mrt-preparation .split > aside { grid-row: 1 / span 2; grid-column: 2; align-self: start; }
  .mds.endo-page .gal-i { grid-template-columns: minmax(0, 1.25fr) minmax(0, .75fr); gap: 44px; }
  .mds.endo-page .mgrid.three { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .mds.endo-page #mrt-next .mgrid.three article:nth-child(n) { padding: 28px; border-top: 0; border-left: 1px solid var(--line); }
  .mds.endo-page #mrt-next .mgrid.three article:nth-child(3n + 1) { padding-left: 0; border-left: 0; }
  .mds.endo-page #mrt-next .mgrid.three article:nth-child(3n) { padding-right: 0; }
  .mds.endo-page #mrt-next .mgrid.three article:nth-child(n + 4) { border-top: 1px solid var(--line); }
}
@media (min-width: 1080px) {
  .mds.endo-page .zgrid, .mds.endo-page .mgrid.five { grid-template-columns: repeat(5, minmax(0, 1fr)); }
  .mds.endo-page .zcard:nth-child(n) { padding: 28px; border-top: 0; border-left: 1px solid var(--line); }
  .mds.endo-page .zcard:first-child { padding-left: 0; border-left: 0; }
  .mds.endo-page .zcard:last-child { padding-right: 0; }
  .mds.endo-page #mrt-findings .mgrid article:nth-child(n) { padding: 28px; border-top: 0; border-left: 1px solid var(--line); }
  .mds.endo-page #mrt-findings .mgrid article:first-child { padding-left: 0; border-left: 0; }
  .mds.endo-page #mrt-findings .mgrid article:last-child { padding-right: 0; }
  .mds.endo-page #mrt-findings .steps { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .mds.endo-page #mrt-findings .steps > li:nth-child(n) { padding-left: 28px; border-left: 1px solid var(--line); }
  .mds.endo-page #mrt-findings .steps > li:nth-child(3n + 1) { padding-left: 0; border-left: 0; }
}
@media (width < 720px) {
  .mds.endo-page #mrt-comfort .pr3 article + article { border-top: 1px solid var(--line); }
  .mds.endo-page #mrt-protocol .tech { grid-template-columns: 1fr; }
  .mds.endo-page #mrt-protocol .tech > div { padding: 13px 0; }
  .mds.endo-page #mrt-protocol .tech > div + div { border-top: 1px solid var(--mrt-dark-line); border-left: 0; }
  .mds.endo-page #endo-about .facts { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .mds.endo-page #mrt-next .mgrid.three article + article, .mds.endo-page #mrt-protocol .steps > li + li, .mds.endo-page #mrt-preparation .steps.two-col > li + li { border-top: 1px solid var(--line); }
  .mds.endo-page #mrt-protocol .steps > li + li { border-top-color: var(--mrt-dark-line); }
}
@media (max-width: 719px) {
  .mds.endo-page .hero-grid { gap: 34px; }
  .mds.endo-page .facts { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .mds.endo-page .zcard + .zcard { border-top: 1px solid var(--line); }
  .mds.endo-page #mrt-findings .mgrid article + article { border-top: 1px solid var(--line); }
  .mds.endo-page .docs-c, .mds.endo-page #mrt-contra .pr3 article { padding: 24px; }
  .mds.endo-page .price-action { gap: 12px; }
  .mds.endo-page .plist b { font-size: 1.125rem; }
  .mds.endo-page .pl-t { font-size: 1rem; }
  .mds.endo-page .gal { gap: 42px; }
  .mds.endo-page .button { height: 52px; padding-inline: 24px; border-radius: 4px; font-size: 1rem; }
  .mds.endo-page .cta-actions .button { width: 100%; }
}
@media (max-width: 410px) {
  .mds.endo-page #endo-about .hero__price-note, .mds.endo-page #endo-about .hero__price-note > span { gap: 4px; }
}

/* Final booking form: supplied composition inside the existing full-width CTA. */
.mds.endo-page #endo-contact .booking { display: grid; gap: clamp(32px, 5vw, 72px); align-items: start; }
.mds.endo-page #endo-contact .booking > * { min-width: 0; }
.mds.endo-page #endo-contact .booking h2 { max-width: 14ch; margin-bottom: 24px; }
.mds.endo-page #endo-contact .booking__lead { max-width: 40ch; margin: 0 0 32px; color: var(--surface-strong); font-size: var(--text-lead); line-height: 1.55; }
.mds.endo-page #endo-contact .booking__contacts { display: grid; gap: 16px; margin: 0 0 32px; padding-top: 24px; border-top: 1px solid var(--mrt-dark-line); }
.mds.endo-page #endo-contact .booking__contacts dt { margin-bottom: 4px; color: rgb(246 248 244 / .65); font-size: var(--text-label); }
.mds.endo-page #endo-contact .booking__contacts dd { margin: 0; font-family: var(--display); font-size: 1.125rem; font-weight: 600; }
.mds.endo-page #endo-contact .booking__contacts a { font-size: var(--text-subheading); text-decoration: none; }
.mds.endo-page #endo-contact .booking__note h3 { margin-bottom: 12px; color: var(--surface); font-size: 1.125rem; }
.mds.endo-page #endo-contact .booking__note ul { display: grid; gap: 8px; margin: 0; padding: 0; list-style: none; color: rgb(246 248 244 / .8); }
.mds.endo-page #endo-contact .booking__note li { position: relative; padding-left: 28px; }
.mds.endo-page #endo-contact .booking__note li::before { position: absolute; top: .75em; left: 0; width: 14px; height: 2px; border-radius: 2px; background: var(--green); content: ''; }
.mds.endo-page #endo-contact .booking__card { align-self: start; min-width: 0; padding: clamp(24px, 3.5vw, 44px); border: 0; border-radius: var(--radius-card); background: var(--surface); color: var(--ink); box-shadow: 0 8px 24px rgb(29 29 27 / .08); }
.mds.endo-page #endo-contact .booking-form { margin: 0; }
.mds.endo-page #endo-contact .booking-form__fields { display: grid; gap: 24px 28px; }
.mds.endo-page #endo-contact .field { display: grid; gap: 8px; min-width: 0; }
.mds.endo-page #endo-contact .field__label { color: var(--ink-soft); font-size: var(--text-label); line-height: 1.4; }
.mds.endo-page #endo-contact .field input,
.mds.endo-page #endo-contact .field select,
.mds.endo-page #endo-contact .field textarea { width: 100%; min-width: 0; min-height: 44px; padding: 8px 0; border: 0; border-bottom: 1px solid var(--line-strong); border-radius: 0; background: transparent; color: var(--ink); font: inherit; font-size: var(--text-body); transition: border-color .2s; }
.mds.endo-page #endo-contact .field select { padding-right: 28px; appearance: none; background: url("../assets/img/arrow5.svg") right 4px center / 12px no-repeat; cursor: pointer; }
.mds.endo-page #endo-contact .field textarea { min-height: 72px; resize: vertical; }
.mds.endo-page #endo-contact .booking-form textarea[name="TEXT"] { max-height: none; overflow-y: hidden; resize: none; }
.mds.endo-page #endo-contact .field input::placeholder,
.mds.endo-page #endo-contact .field textarea::placeholder { color: rgb(101 112 107 / .75); }
.mds.endo-page #endo-contact .field input:focus,
.mds.endo-page #endo-contact .field select:focus,
.mds.endo-page #endo-contact .field textarea:focus { border-bottom-color: var(--green-dark); }
.mds.endo-page #endo-contact .booking-form__consent { display: flex; gap: 12px; align-items: flex-start; margin: 24px 0; color: var(--ink-soft); font-size: var(--text-label); line-height: 1.4; cursor: pointer; }
.mds.endo-page #endo-contact .booking-form__consent input { flex: none; width: 20px; height: 20px; margin: 0; accent-color: var(--green-dark); }
.mds.endo-page #endo-contact .booking-form__actions { display: flex; flex-wrap: wrap; gap: 12px 24px; align-items: center; }
.mds.endo-page #endo-contact .booking-form__actions p { margin: 0; color: var(--ink-soft); font-size: var(--text-label); }
.mds.endo-page #endo-contact .booking-form button:disabled { opacity: .65; cursor: wait; }
.mds.endo-page #endo-contact .booking-form__error { margin: 16px 0 0; color: rgb(176 74 56); font-size: var(--text-label); }
.mds.endo-page #endo-contact .booking-done h3 { margin-bottom: 12px; color: var(--ink); }
.mds.endo-page #endo-contact .booking-done p { margin: 0; color: var(--ink-soft); }
@media (min-width: 720px) {
  .mds.endo-page #endo-contact .booking-form__fields { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .mds.endo-page #endo-contact .field--wide { grid-column: 1 / -1; }
}
@media (min-width: 1080px) {
  .mds.endo-page #endo-contact .booking { grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); }
}
@media (max-width: 719px) {
  .mds.endo-page #endo-contact .booking-form__actions .button { width: 100%; }
}

.mds.endo-page {
  --mds-font-display: "Font1", "Segoe UI", sans-serif;
  --mds-font-body: "TT_Chocolates", "Segoe UI", sans-serif;
  --mds-text-h1: clamp(2.375rem, 10.5vw, 4.125rem);
  --mds-text-h2: clamp(2.125rem, 7.5vw, 3.625rem);
  --mds-text-h3: clamp(1.25rem, 2vw, 1.5rem);
  --mds-text-h4: 1.125rem;
  --mds-text-body: 1.0625rem;
  --mds-text-lead: clamp(1.125rem, 1.5vw, 1.3125rem);
  --mds-text-meta: .875rem;
  --mds-text-small: .8125rem;
  --mds-text-number: clamp(1.5rem, 5vw, 2.25rem);
  --mds-leading-body: 1.55;
  --mds-leading-h1: 1.02;
  --mds-leading-h2: 1.06;
  --mds-leading-h3: 1.2;
  --mds-leading-h4: 1.3;
  --mds-tracking-heading: -.035em;
  --mds-weight-regular: 400;
  --mds-weight-bold: 700;
  --mds-measure: 68ch;
  --mds-page: 1432px;
  --mds-gutter: clamp(16px, 3vw, 40px);
  --mds-section: clamp(76px, 11vw, 144px);
  --mds-section-inset: clamp(64px, 9vw, 112px);
  --mds-panel-padding: clamp(24px, 3.5vw, 44px);
  --mds-radius-action: 4px;
  --mds-radius-panel: 14px;
  --mds-radius-media: 15px;
  --mds-radius-card: 16px;
  --mds-target: 44px;
  --mds-action-height: 60px;
  --mds-action-height-mobile: 52px;
  --mds-field-height: 48px;
  --mds-space-xs: 4px;
  --mds-space-sm: 8px;
  --mds-space-md: 12px;
  --mds-space-lg: 16px;
  --mds-space-xl: 24px;
  --mds-space-2xl: 32px;
  --mds-space-3xl: 48px;
  --mds-space-4xl: 64px;
  --mds-dark: #22251f;
  --mds-on-dark: #f6f8f4;
  --mds-on-dark-muted: #d7dfd4;
  --mds-line-dark: rgb(246 248 244 / 10%);
  --mds-overlay: rgb(34 37 31 / 65%);
  --mds-shadow: 0 8px 24px rgb(34 37 31 / 6%);
  --mds-ease: cubic-bezier(.22, 1, .36, 1);
  --mds-duration: 180ms;
  --mds-canvas: #f6f8f4;
  --mds-surface: #ffffff;
  --mds-surface-soft: #f2f8f4;
  --mds-ink: #2c3028;
  --mds-muted: #536151;
  --mds-line: rgb(34 37 31 / 10%);
  --mds-line-control: #788675;
  --mds-accent: #8fc4a6;
  --mds-accent-text: #306946;
  --mds-action: #8a6d47;
  --mds-action-hover: #705131;
  --mds-action-active: #5f4428;
  --mds-on-action: #ffffff;
  --mds-focus: #306946;
  --mds-focus-dark: #b2d9be;
  --mds-dark-panel: #394337;
  --mds-success: #28643c;
  --mds-success-bg: #e7f2e8;
  --mds-error: #a3342b;
  --mds-error-bg: #fbecea;
  --mds-warning: #79551c;
  --mds-warning-bg: #faf1da;
  --mds-info: #365b73;
  --mds-info-bg: #eaf2f6;
  --mds-disabled-bg: #e3e8df;
  --mds-disabled-text: #55634e;
}

/* New content compositions use the existing MRI scale, panels and functional rules. */
.mds.endo-page { --mrt-price-surface: color-mix(in oklch, var(--brown) 18%, var(--surface)); }
.mds.endo-page .hero-text { container-type: inline-size; }
.mds.endo-page .hero h1 { font-size: min(var(--mds-text-h1), 9cqw); }
.mds.endo-page .hero h1 .city-name { white-space: nowrap; }
.mds.endo-page .link-tail { white-space: nowrap; }
.mds.endo-page .study-title-link { color: inherit; font: inherit; text-decoration: none; }
.mds.endo-page .study-title-link:hover { text-decoration: underline; text-underline-offset: .2em; }
.mds.endo-page .price-unavailable { font-family: var(--mds-font-body); font-size: var(--mds-text-body); font-weight: 400; white-space: normal; }
.mds.endo-page #mrt-zones .z-p0 { font-family: var(--mds-font-body); font-size: var(--mds-text-body); font-weight: 400; line-height: var(--mds-leading-body); }
.mds.endo-page .snav { padding: 16px 0; border-bottom: 1px solid var(--line); }
.mds.endo-page .snav .wrap { display: flex; flex-wrap: wrap; gap: 12px 24px; }
.mds.endo-page .snav a { font-size: var(--text-meta); text-underline-offset: 5px; }
.mds.endo-page .jbs { display: grid; gap: 32px; }
.mds.endo-page .jb { display: grid; grid-template-columns: minmax(0, 3fr) minmax(260px, 1fr); gap: 0; padding: 0; border: 0; border-radius: var(--radius-panel); background: var(--surface); overflow: hidden; }
.mds.endo-page .jb > * { min-width: 0; }
.mds.endo-page .jb-main { padding: 32px; }
.mds.endo-page .jb h3 { margin: 0 0 20px; color: var(--brown-dark); }
.mds.endo-page .jb-when { margin-bottom: 24px; }
.mds.endo-page .jb-cols { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 28px; }
.mds.endo-page .jb-k { font-family: var(--mds-font-display); font-size: var(--mds-text-h4); font-weight: var(--mds-weight-bold); line-height: var(--mds-leading-h4); margin: 0 0 12px; }
.mds.endo-page .jb .list { padding: 0; list-style: none; }
.mds.endo-page .jb .list li { position: relative; padding-left: 28px; }
.mds.endo-page .jb .list li::before { content: ''; display: block; position: absolute; top: .7em; left: 0; width: 14px; height: 2px; background: var(--green); }
.mds.endo-page .jb-side { grid-row: auto; grid-column: auto; padding: 24px; border-left: 1px solid var(--line); background: var(--mrt-price-surface); }
.mds.endo-page .jb-p { display: flex; flex-wrap: wrap; gap: 8px 20px; align-items: baseline; justify-content: space-between; padding: 12px 0; border-bottom: 1px solid var(--line); }
.mds.endo-page .jb-p b { color: var(--brown-dark); font-family: var(--mds-font-display); font-size: var(--text-subheading); white-space: nowrap; }
.mds.endo-page .jb-n { margin: 20px 0; }
.mds.endo-page .jb-side .btn { width: 100%; margin: 0 0 20px; }
.mds.endo-page .jb-side .btn:last-child { margin-bottom: 0; }
.mds.endo-page .jb-side .pc-go { display: block; }
.mds.endo-page #mrt-prices .plist-grid > .promo { margin-top: 0; align-self: start; }
.mds.endo-page .tiles { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 24px; }
.mds.endo-page .tile { min-width: 0; margin: 0; }
.mds.endo-page .tile.s2 { grid-column: span 2; }
.mds.endo-page .tile picture { display: flex; align-items: center; justify-content: center; min-height: 240px; background: var(--graphite); border-radius: var(--radius-media); overflow: hidden; }
.mds.endo-page .tile img { width: 100%; height: 240px; object-fit: contain; }
.mds.endo-page .tile figcaption { margin-top: 12px; color: var(--surface); font-size: var(--mds-text-body); line-height: var(--mds-leading-body); }
.mds.endo-page .sci3 { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0; border-top: 1px solid var(--line); }
.mds.endo-page .sci3 article { min-width: 0; padding: 28px; }
.mds.endo-page .sci3 article:first-child { padding-left: 0; }
.mds.endo-page .sci3 article:last-child { padding-right: 0; }
.mds.endo-page .sci3 article + article { border-left: 1px solid var(--line); }
.mds.endo-page .sci3 b { display: block; margin-bottom: 16px; font-family: var(--mds-font-display); font-weight: var(--mds-weight-bold); font-size: var(--mds-text-number); line-height: 1.15; color: var(--brown-dark); }
.mds.endo-page .sci3 p { margin-bottom: 20px; }
.mds.endo-page .gal-i { min-width: 0; margin: 0; }
.mds.endo-page .gal-i picture { display: block; background: var(--graphite); border-radius: var(--radius-media); overflow: hidden; }
.mds.endo-page .gal-i img { width: 100%; height: auto; object-fit: contain; }
.mds.endo-page .gal-i figcaption > span { font-size: var(--mds-text-body); line-height: var(--mds-leading-body); }
.mds.endo-page .note-light { margin-top: 28px; color: var(--surface); }
.mds.endo-page .refs-l { display: grid; gap: 16px; padding-left: 24px; }
.mds.endo-page #mrt-indications > .wrap > .warn { margin-top: 40px; }
.mds.endo-page #mrt-indications { padding-bottom: var(--mds-space-3xl); }
.mds.endo-page #mrt-science { padding-top: var(--mds-space-3xl); }
@media (min-width: 900px) {
  .mds.endo-page #mrt-indications > .wrap { display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(0, .65fr); column-gap: 48px; align-items: start; }
  .mds.endo-page #mrt-indications > .wrap > h2 { grid-column: 1; grid-row: 1; }
  .mds.endo-page #mrt-indications > .wrap > .section-lead { grid-column: 1; grid-row: 2; }
  .mds.endo-page #mrt-indications .split { display: contents; }
  .mds.endo-page #mrt-indications .split > div { grid-column: 1; grid-row: 3; }
  .mds.endo-page #mrt-indications .split > .callout { grid-column: 2; grid-row: 1 / span 3; padding-top: 0; border-top: 0; }
  .mds.endo-page #mrt-indications > .wrap > .warn { grid-column: 1 / -1; grid-row: 4; }
}
@media (max-width: 1079px) {
  .mds.endo-page .jb { grid-template-columns: 1fr; }
  .mds.endo-page .jb-side { border-left: 0; border-top: 1px solid var(--line); }
  .mds.endo-page .tiles { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .mds.endo-page .mgrid.five { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (min-width: 720px) and (max-width: 1079px) {
  .mds.endo-page #mrt-contra .pr3 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .mds.endo-page #mrt-contra .pr3 article:last-child { grid-column: 1 / -1; }
}
@media (max-width: 719px) {
  .mds.endo-page #mrt-indications { padding-bottom: var(--mds-space-2xl); }
  .mds.endo-page #mrt-science { padding-top: var(--mds-space-2xl); }
  .mds.endo-page .sci3 article { padding: 24px 0; }
  .mds.endo-page .sci3 article + article { border-left: 0; border-top: 1px solid var(--line); }
  .mds.endo-page .jb-main { padding: 24px; }
  .mds.endo-page .jb-cols, .mds.endo-page .sci3, .mds.endo-page .mgrid.five { grid-template-columns: 1fr; }
  .mds.endo-page .tile picture { min-height: 180px; }
  .mds.endo-page .tile img { height: 180px; }
  .mds.endo-page .snav .wrap { flex-wrap: nowrap; overflow-x: auto; padding-block: 8px; }
  .mds.endo-page .snav a { flex: none; min-height: 44px; display: flex; align-items: center; }
}
.mds.endo-page .tbl-wrap { overflow-x: auto; -webkit-overflow-scrolling: touch; }
@media (min-width: 1080px) {
  .mds.endo-page .zcard:nth-child(5n + 1) { padding-left: 0; border-left: 0; }
  .mds.endo-page .zcard:nth-child(5n) { padding-right: 0; }
  .mds.endo-page .zcard:nth-child(n + 6) { border-top: 1px solid var(--line); }
}

/* Approved client medical figure styling only. */
.mds.endo-page :is(.axis-svg,.knee-svg,.zones-svg,.impl){--sage:#8FC4A6;--bone-art:#E4E8E0;--bone-stroke:#AEB6A9;--poly:#D3E6D9;}
.mds.endo-page .schema .bone{fill:var(--bone-art);stroke:var(--bone-stroke);stroke-width:1.5}
.mds.endo-page .schema .imp{fill:var(--bronze);stroke:none}
.mds.endo-page .schema .imp-s{fill:none;stroke:var(--bronze)}
.mds.endo-page .schema .ins{fill:var(--poly);stroke:var(--sage);stroke-width:1.5}
.mds.endo-page .anat .bone,.mds.endo-page .stage-svg .bone,.mds.endo-page .impl .bone{fill:var(--bone-art);stroke:var(--bone-stroke);stroke-width:1.5}
.mds.endo-page .cart{fill:none;stroke:#7FBF9B;stroke-width:6;stroke-linecap:round}
.mds.endo-page .men{fill:#5FA37E}
.mds.endo-page .lig{stroke:#B5762A;stroke-width:5;stroke-linecap:round;fill:none}
.mds.endo-page .lead-l{stroke:var(--muted);stroke-width:1}
.mds.endo-page .lead-d{fill:var(--ink)}
.mds.endo-page .lab{font-family:var(--f-body);font-size:15px;fill:var(--ink)}
.mds.endo-page .impl{width:100%;height:auto;display:block;min-width:300px}
.mds.endo-page .impl .imp,.mds.endo-page .stage-svg .imp{fill:var(--bronze)}
.mds.endo-page .impl .imp-s{fill:none;stroke:var(--bronze)}
.mds.endo-page .impl .ins{fill:var(--poly);stroke:var(--sage);stroke-width:1.5}
.mds.endo-page .impl .ins-s{fill:none;stroke:var(--sage)}
.mds.endo-page .sub{font-size:20px;margin:36px 0 16px}
.mds.endo-page .knee-svg{width:100%;max-width:400px;height:auto;display:block;margin-inline:auto}
.mds.endo-page .knee-svg.sm{max-width:260px}
.mds.endo-page .bn{fill:var(--bone-art);stroke:var(--bone-stroke);stroke-width:1.5}
.mds.endo-page .syn{fill:none;stroke:var(--sage);stroke-width:2;stroke-dasharray:5 5}
.mds.endo-page .hit{fill:none;stroke:transparent;stroke-width:14}
.mds.endo-page .sub{fill:#C9B79A;opacity:.55}
.mds.endo-page .knee-svg .cart{fill:none;stroke:#7FBF9B;stroke-width:6;stroke-linecap:round}
.mds.endo-page .knee-svg .men{fill:#5FA37E}
.mds.endo-page .knee-svg .lig{stroke:#B5762A;stroke-width:7;stroke-linecap:round;fill:none}
.mds.endo-page .knee-svg .lig2{stroke:#8A5A1E}
.mds.endo-page .ligb{fill:none;stroke:#C99A5E;stroke-width:12;stroke-linecap:round;opacity:.85}
.mds.endo-page .ligt{stroke-width:8}
.mds.endo-page .itb{fill:none;stroke:#C9877A;stroke-width:14;stroke-linecap:round;opacity:.45}
.mds.endo-page .pes{fill:none;stroke:#C9877A;stroke-width:5;stroke-linecap:round;opacity:.75}
.mds.endo-page .ten{fill:#D9B98C;stroke:#B5762A;stroke-width:1;opacity:.8}
.mds.endo-page .hof{fill:#E9D68A;opacity:.75}
.mds.endo-page .tubr{fill:#D5C8B0;stroke:var(--bone-stroke)}
.mds.endo-page .pat{fill:var(--bone-art);stroke:var(--bronze);stroke-width:2;fill-opacity:.72}
.mds.endo-page .patc{fill:none;stroke:#7FBF9B;stroke-width:5;stroke-linecap:round}
.mds.endo-page .plica{fill:none;stroke:#0F7F5C;stroke-width:3;stroke-dasharray:4 3}
.mds.endo-page .burs{fill:none;stroke:#7E8F86;stroke-width:1.5;stroke-dasharray:3 3}
.mds.endo-page .gnd{fill:var(--ink)}
.mds.endo-page .ins{fill:var(--paper);stroke:var(--line)}
.mds.endo-page .bak{fill:#E9D68A;stroke:#B5762A}
.mds.endo-page .ins-t,.mds.endo-page .side-t{font-family:var(--f-body);font-size:12px;fill:var(--muted)}
.mds.endo-page .knee-svg.sm .ks:not(.hl){opacity:.28}
.mds.endo-page .knee-svg.sm .ks.hl{opacity:1}
.mds.endo-page .knee-svg .ks.hl .cart,.mds.endo-page .knee-svg .ks.hl .patc{stroke:#B5762A}
.mds.endo-page .knee-svg .ks.hl .men,.mds.endo-page .knee-svg .ks.hl .hof,.mds.endo-page .knee-svg .ks.hl .sub,.mds.endo-page .knee-svg .ks.hl .tubr,.mds.endo-page .knee-svg .ks.hl .bak{fill:#B5762A;opacity:1}
.mds.endo-page .knee-svg .ks.hl .ten{fill:#B5762A;opacity:1}
.mds.endo-page .knee-svg .ks.hl .syn,.mds.endo-page .knee-svg .ks.hl .burs,.mds.endo-page .knee-svg .ks.hl .plica{stroke:#B5762A;stroke-width:3.5}
.mds.endo-page .knee-svg .ks.hl .itb,.mds.endo-page .knee-svg .ks.hl .pes,.mds.endo-page .knee-svg .ks.hl .ligb{stroke:#B5762A;opacity:1}
.mds.endo-page .knee-svg .ks.hl .gnd{fill:#B5762A;transform-box:fill-box}
.mds.endo-page .knee-svg .ks.hl .pat{stroke-width:4;fill:#EADCC6}
.mds.endo-page .ks[role=button]{cursor:pointer;outline:none;transition:opacity .2s}
.mds.endo-page .wh-fig .knee-svg.dim .ks:not(.hl){opacity:.3}
.mds.endo-page .axis-svg{width:100%;max-width:420px;height:auto;display:block}
.mds.endo-page .wedge{fill:#B5762A}
.mds.endo-page .mx{stroke:var(--green);stroke-width:2;stroke-dasharray:6 4}
.mds.endo-page .mxp{fill:#B5762A}
.mds.endo-page .load{fill:#B5762A;opacity:.85}
.mds.endo-page .load2{fill:#0F7F5C;opacity:.85}
.mds.endo-page .ax-t{font-family:var(--f-head);font-size:15px;font-weight:600;fill:var(--ink)}
.mds.endo-page .ax-s{font-family:var(--f-body);font-size:13px;fill:var(--muted)}
.mds.endo-page .zones-svg{width:100%;max-width:360px;height:auto;display:block;margin-inline:auto}
.mds.endo-page .zn-leg{fill:var(--bone-art);stroke:var(--bone-stroke);stroke-width:1.5}
.mds.endo-page .zn-pat{fill:none;stroke:var(--bone-stroke);stroke-width:1.5}
.mds.endo-page .zn{cursor:pointer;outline:none}
.mds.endo-page .zn path{fill:var(--bronze);opacity:.14;transition:opacity .2s}
.mds.endo-page .zn text{font-family:var(--f-head);font-size:15px;fill:var(--ink);pointer-events:none}
.mds.endo-page .zn:hover path,.mds.endo-page .zn:focus-visible path,.mds.endo-page .zn.on path{opacity:.55}
.mds.endo-page .zn.on text{fill:#fff}
.mds.endo-page .mx th,.mds.endo-page .mx td{text-align:center;padding:10px 8px}
.mds.endo-page .mx tbody th{text-align:left}
.mds.endo-page .mx i,.mds.endo-page .legend i{display:inline-block;width:14px;height:14px;border-radius:50%}
.mds.endo-page .loc-m .knee-svg{max-width:120px}
/* Typography: published MRI spine, captured 28.10.2026 in qa/spine-v10-reference.
   Existing knee composition spacing and compact 18px table headers are retained. */
.mds.endo-page { --bronze: var(--brown-dark); --paper: var(--surface); --f-head: var(--mds-font-display); --f-body: var(--mds-font-body); }
.mds.endo-page .hero h1 { font-size:var(--mds-text-h1);max-width:none; }
.mds.endo-page .hero { padding-top:clamp(24px,3vw,40px); }
.mds.endo-page .hero-text { container-type:normal; }
.mds.endo-page .hero-p,.mds.endo-page .muted,.mds.endo-page .note,.mds.endo-page .wh-hint { color:var(--ink); }
.mds.endo-page .section-surface:not(.sec-dark) p { color:var(--ink);font-family:var(--mds-font-body); }
.mds.endo-page .sec.section-surface { padding-block:clamp(32px,4vw,48px); }
.mds.endo-page .list { list-style:none;padding-left:0; }
.mds.endo-page .list li { position:relative;padding-left:28px; }
.mds.endo-page .list li::before { content:'';position:absolute;left:0;top:.7em;width:14px;height:2px;background:var(--green); }
.mds.endo-page figure { margin:0;min-width:0; }
.mds.endo-page picture { display:block; }
.mds.endo-page figure img { display:block;width:100%;height:auto;object-fit:contain;border-radius:var(--mds-radius-media); }
.mds.endo-page figcaption { margin-top:var(--mds-space-md);font-size:var(--mds-text-body);line-height:var(--mds-leading-body);color:var(--ink); }
.mds.endo-page .hero-img figcaption { font-family:var(--mds-font-body);font-size:var(--text-meta);line-height:1.55;color:var(--ink-soft); }
.mds.endo-page .hero-grid { align-items:start; }
.mds.endo-page .hero-img { align-self:start; }
.mds.endo-page .section-surface:not(.sec-dark) :is(h3,h4) { color:var(--ink);opacity:1;font-family:var(--mds-font-display);font-weight:600;letter-spacing:-.035em; }
.mds.endo-page .section-surface:not(.sec-dark) h3 { font-size:var(--text-subheading);line-height:1.15; }
/* The reference uses 18px H3 for subordinate booking titles; this is the H4 role. */
.mds.endo-page .section-surface:not(.sec-dark) h4 { font-size:1.125rem;line-height:1.15; }
.mds.endo-page h3.sub { margin:var(--mds-space-3xl) 0 var(--mds-space-xl);opacity:1; }
.mds.endo-page .split { align-items:start; }
.mds.endo-page .callout { padding:var(--mds-space-2xl);border:0;border-radius:var(--mds-radius-panel);background:var(--surface); }
.mds.endo-page .li-h { font-weight:var(--mds-weight-bold);margin-bottom:var(--mds-space-md); }
.mds.endo-page p + .li-h { margin-top:var(--mds-space-xl); }
.mds.endo-page :is(.list,.stats2,.phases,.tlist) + p { margin-top:var(--mds-space-xl); }
.mds.endo-page p + :is(.list,.stats2,.phases,.tlist) { margin-top:var(--mds-space-xl); }
.mds.endo-page .li-h + .list { margin-top:var(--mds-space-md); }
.mds.endo-page #endo-faq .faq-list summary,
.mds.endo-page #endo-faq .faq-list details > div { padding-left:0; }
.mds.endo-page #endo-diag .split > div > p { margin:0 0 var(--mds-space-lg); }
.mds.endo-page #endo-diag .split > div > .li-h { margin-top:var(--mds-space-xl);margin-bottom:var(--mds-space-md); }
.mds.endo-page #endo-diag .split > div > .list { margin:0 0 var(--mds-space-xl); }
.mds.endo-page #endo-diag .split > div > p:last-child { margin-bottom:0; }
.mds.endo-page #endo-treat > .wrap > .split > div:first-child > .li-h { margin-top:var(--mds-space-xl); }
.mds.endo-page #endo-treat > .wrap > .split > div:nth-child(2) { padding-block:var(--mds-space-xl);border-block:1px solid var(--line); }
.mds.endo-page #endo-treat > .wrap > .split > div:nth-child(2) > p { margin:0; }
.mds.endo-page #endo-treat > .wrap > .split > div:nth-child(2) > p + p { margin-top:var(--mds-space-lg); }
.mds.endo-page .ic { width:24px;height:24px;flex:none;fill:none;stroke:var(--green);stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round; }
.mds.endo-page .ic-lg { width:32px;height:32px; }
.mds.endo-page .asp,.mds.endo-page .cards3,.mds.endo-page .tlist,.mds.endo-page .cat { display:grid;gap:0;margin:0;padding:0;list-style:none; }
.mds.endo-page .asp { grid-template-columns:repeat(4,minmax(0,1fr)); }
.mds.endo-page .asp li,.mds.endo-page .cards3 article,.mds.endo-page .tlist li,.mds.endo-page .cat-g { min-width:0;padding:28px;border-left:1px solid var(--line); }
.mds.endo-page .asp li:nth-child(4n+1) { border-left:0;padding-left:0; }
.mds.endo-page .asp li:nth-child(n+5) { border-top:1px solid var(--line); }
.mds.endo-page .asp :is(a,.activity-static) { display:flex;align-items:center;gap:var(--mds-space-lg);height:100%;font-family:var(--mds-font-display);font-size:var(--mds-text-h4);color:var(--ink);text-decoration:none; }
.mds.endo-page .asp .activity-icon { display:grid;place-items:center;flex:0 0 var(--mds-space-3xl);width:var(--mds-space-3xl);height:var(--mds-space-3xl); }
.mds.endo-page .asp .activity-art { display:block;width:var(--mds-space-3xl);height:var(--mds-space-3xl);object-fit:contain; }
.mds.endo-page .asp .activity-icon > .ic { width:100%;height:100%;stroke-width:.8; }
.mds.endo-page .asp a:hover { color:var(--ink); }
.mds.endo-page #endo-knee .asp :is(a,.activity-static) { font-weight:600;line-height:1.15;letter-spacing:-.035em; }
@media(min-width:900px){
  .mds.endo-page #endo-knee > .wrap { display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,.65fr);grid-template-rows:min-content 1fr;column-gap:var(--mds-space-3xl);align-items:start; }
  .mds.endo-page #endo-knee > .wrap > h2 { grid-column:1;grid-row:1; }
  .mds.endo-page #endo-knee .split { display:contents; }
  .mds.endo-page #endo-knee .split > div:first-child { grid-column:1;grid-row:2; }
  .mds.endo-page #endo-knee .split > .callout { grid-column:2;grid-row:1 / span 2;align-self:start; }
  .mds.endo-page #endo-knee > .wrap > .sub,.mds.endo-page #endo-knee > .wrap > .asp { grid-column:1 / -1; }
}
.mds.endo-page .cards3 { grid-template-columns:repeat(3,minmax(0,1fr)); }
.mds.endo-page .cards3 article:first-child { border-left:0;padding-left:0; }
.mds.endo-page .cards3 article:last-child { padding-right:0; }
.mds.endo-page .cards3 h4 { margin:var(--mds-space-lg) 0 var(--mds-space-md); }
.mds.endo-page .cards3 h4 { margin-top:0;font-size:clamp(20px,1.5vw,24px); }
.mds.endo-page #endo-endo .split > div:first-child > p:has(.inline-booking) { margin-top:var(--mds-space-xl); }
.mds.endo-page #endo-endo .inline-booking { font-size:var(--mds-text-h4); }
.mds.endo-page .tlist,.mds.endo-page .cat { grid-template-columns:repeat(2,minmax(0,1fr)); }
.mds.endo-page .tlist li:nth-child(odd),.mds.endo-page .cat-g:nth-child(odd) { border-left:0;padding-left:0; }
.mds.endo-page .tlist li:nth-child(even),.mds.endo-page .cat-g:nth-child(even) { padding-right:0; }
.mds.endo-page .tlist li:nth-child(n+3),.mds.endo-page .cat-g:nth-child(n+3) { border-top:1px solid var(--line); }
.mds.endo-page .tlist .tn { color:var(--ink);font-family:var(--mds-font-body);font-weight:700;font-size:var(--text-body);line-height:1.55;margin-top:var(--mds-space-lg); }
.mds.endo-page .obc { display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);column-gap:var(--mds-space-3xl);padding:var(--mds-space-2xl) 0; }
.mds.endo-page .obc + .obc { border-top:1px solid var(--line); }
.mds.endo-page .ob-h { grid-column:1;display:flex;align-items:start;gap:var(--mds-space-lg);margin-bottom:var(--mds-space-xl); }
.mds.endo-page .ob-h h4 { margin:0; }
.mds.endo-page .ob-steps { grid-column:1;align-self:start;margin:0;padding-left:var(--mds-space-xl); }
.mds.endo-page .ob-steps li { padding-left:var(--mds-space-sm);margin-bottom:var(--mds-space-md); }
.mds.endo-page .ob-steps li::marker { color:var(--brown-dark);font-family:var(--mds-font-display); }
.mds.endo-page .ob-copy { grid-column:2;grid-row:1 / span 2;border-left:1px solid var(--line);padding-left:var(--mds-space-2xl);min-width:0; }
.mds.endo-page .ob-copy p:last-child { margin-bottom:0; }
.mds.endo-page .ob-sci { padding-top:var(--mds-space-lg); }
.mds.endo-page .media-row { display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:var(--mds-space-3xl);align-items:start; }
.mds.endo-page .media-row.rev { grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr); }
.mds.endo-page .media-row figure { align-self:start; }
.mds.endo-page .stats2 { display:flex;gap:var(--mds-space-2xl);margin-top:var(--mds-space-2xl);padding-top:var(--mds-space-xl);border-top:1px solid var(--line); }
.mds.endo-page .stats2 b { display:block;font-family:var(--mds-font-display);font-size:var(--text-number);font-weight:600;letter-spacing:-.04em;color:var(--ink); }
.mds.endo-page .stats2 span { display:block;font-size:var(--text-label);line-height:1.4; }
.mds.endo-page .axfig,.mds.endo-page .loc2,.mds.endo-page .impl-one { min-width:0;align-self:start; }
.mds.endo-page .axis-svg,.mds.endo-page .knee-svg,.mds.endo-page .zones-svg,.mds.endo-page .impl { display:block;width:100%;height:auto; }
.mds.endo-page .loc2 .knee-svg { max-height:520px; }
.mds.endo-page .impl { min-width:0;max-height:400px; }
.mds.endo-page .impl-one { display:grid;gap:var(--mds-space-2xl); }
@media(min-width:900px) {
  .mds.endo-page #endo-endo > .wrap { display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,.65fr);grid-template-rows:min-content 1fr;column-gap:var(--mds-space-3xl);align-items:start; }
  .mds.endo-page #endo-endo > .wrap > h2 { grid-column:1;grid-row:1; }
  .mds.endo-page #endo-endo > .wrap > .split { display:contents; }
  .mds.endo-page #endo-endo .split > div:first-child { grid-column:1;grid-row:2; }
  .mds.endo-page #endo-endo .split > .impl-one { grid-column:2;grid-row:1 / span 2; }
}
.mds.endo-page .phases { list-style:decimal;padding-left:var(--mds-space-xl);display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--mds-space-lg) var(--mds-space-2xl); }
.mds.endo-page .phases li { display:list-item;padding-left:var(--mds-space-sm); }
.mds.endo-page .phases li::marker { color:var(--brown-dark);font-family:var(--mds-font-display); }
.mds.endo-page .sport { max-width:var(--mds-measure); }
.mds.endo-page .pills { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:var(--mds-space-2xl); }
.mds.endo-page .cat-g h3 { color:var(--ink);margin:0 0 var(--mds-space-lg); }
.mds.endo-page .cat-g ul { list-style:none;padding:0;margin:var(--mds-space-xl) 0 0; }
.mds.endo-page .cat-g a,.mds.endo-page .cat-g button { display:flex;align-items:center;justify-content:space-between;gap:var(--mds-space-lg);width:100%;padding:var(--mds-space-md) 0;color:var(--ink);background:none;border:0;border-bottom:1px solid var(--line);font:inherit;text-align:left;text-decoration:none;cursor:pointer; }
.mds.endo-page .cat-g :is(a,button):hover { color:var(--ink); }
.mds.endo-page .inline-booking { appearance:none;padding:0;border:0;background:none;color:var(--brown-dark);font:inherit;text-align:inherit;text-decoration:underline;text-underline-offset:.2em;cursor:pointer; }
.mds.endo-page .arr { display:inline;color:var(--brown-dark);font-family:var(--mds-font-display);font-size:var(--mds-text-body);margin-left:var(--mds-space-sm); }
.mds.endo-page .arr .link-tail { white-space:nowrap; }
.mds.endo-page .dl { display:inline-block;margin-top:var(--mds-space-xl);color:var(--brown-dark);font-family:var(--mds-font-display); }
.mds.endo-page .knee-price .plist-grid { align-items:start; }
.mds.endo-page .knee-price .plist { margin-top:0; }
.mds.endo-page .mx { min-width:960px; }
.mds.endo-page .mx td { text-align:center; }
.mds.endo-page .mx th:first-child { min-width:220px; }
.mds.endo-page #endo-diag .compare-table thead th { font-family:var(--mds-font-display);font-size:1.125rem;font-weight:600;line-height:1.55;letter-spacing:-.02em; }
.mds.endo-page #endo-diag .compare-table th:first-child { text-align:left; }
.mds.endo-page #endo-diag i.d2,.mds.endo-page #endo-diag i.d1 { display:inline-block;box-sizing:border-box;width:14px;height:14px;border-radius:50%;vertical-align:middle;transform:none;margin:0; }
.mds.endo-page #endo-diag i.d2 { border:2px solid var(--green);background:transparent; }
.mds.endo-page #endo-diag i.d1 { border:0;background:var(--green); }
.mds.endo-page .legend { display:flex;gap:var(--mds-space-lg) var(--mds-space-2xl);align-items:center;flex-wrap:wrap;margin-top:var(--mds-space-lg); }
.mds.endo-page .legend span { display:inline-flex;align-items:center;gap:var(--mds-space-sm); }
.mds.endo-page .tabs2 { display:flex;flex-wrap:wrap;gap:var(--mds-space-md);margin:var(--mds-space-2xl) 0; }
.mds.endo-page .tabs2 button,.mds.endo-page .st-btns button,.mds.endo-page .zbtn,.mds.endo-page .zone-controls button { min-height:var(--mds-target);padding:var(--mds-space-md) var(--mds-space-lg);border:1px solid var(--line);border-radius:var(--mds-radius-action);background:var(--surface);color:var(--ink);font:inherit;cursor:pointer; }
.mds.endo-page .tabs2 button[aria-selected="true"],.mds.endo-page .st-btns button.on,.mds.endo-page .zone-controls button.on,.mds.endo-page .zbtn.on { border-color:var(--brown-dark);background:var(--brown-dark);color:var(--surface); }
.mds.endo-page .wh { display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:var(--mds-space-3xl);align-items:start; }
.mds.endo-page .wh-fig { min-width:0; }
.mds.endo-page .zones-svg { max-height:540px; }
.mds.endo-page .wh-fig .knee-svg { max-height:620px; }
.mds.endo-page .wh-side { border-left:1px solid var(--line);padding-left:var(--mds-space-2xl);min-width:0; }
.mds.endo-page .wh-side > .note { margin-top:var(--mds-space-xl); }
.mds.endo-page .wh-hint { margin-bottom:var(--mds-space-xl); }
.mds.endo-page .wh-list h3 { color:var(--ink); }
.mds.endo-page .dlist { list-style:none;padding:0;margin:var(--mds-space-xl) 0 0; }
.mds.endo-page .dlist :is(a,button) { display:block;width:100%;padding:var(--mds-space-md) 0;border:0;border-bottom:1px solid var(--line);background:none;color:var(--ink);font:inherit;text-decoration:none;text-align:left;cursor:pointer; }
.mds.endo-page .dlist b { display:block;font-family:var(--mds-font-display);font-size:1.125rem;font-weight:600;line-height:1.15; }
.mds.endo-page .dlist span { display:block;margin-top:var(--mds-space-xs); }
.mds.endo-page .dlist :is(a,button):hover b { color:var(--ink); }
.mds.endo-page .st-btns,.mds.endo-page .zone-controls { display:flex;flex-wrap:wrap;gap:var(--mds-space-sm);margin:var(--mds-space-lg) 0;padding:0;list-style:none; }
.mds.endo-page .st-btns li { margin:0;padding:0;list-style:none; }
.mds.endo-page .zn,.mds.endo-page .ks[data-s] { cursor:pointer; }
.mds.endo-page [hidden] { display:none!important; }
.mds.endo-page:not(.endo-enhanced) .wh[hidden],.mds.endo-page:not(.endo-enhanced) .wh-list[hidden] { display:block!important; }
.mds.endo-page:not(.endo-enhanced) .wh { display:block;margin-bottom:var(--mds-space-3xl); }
.mds.endo-page:not(.endo-enhanced) .wh-list { margin-top:var(--mds-space-xl); }
.mds.endo-page .refs { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--mds-space-2xl); }
.mds.endo-page .refs .rl { margin:0;padding-left:var(--mds-space-xl); }
.mds.endo-page .rl li { margin-bottom:var(--mds-space-lg); }
.mds.endo-page .refs > div:last-child { grid-column:1 / -1; }
.mds.endo-page .refs-links { display:flex;flex-wrap:wrap;gap:var(--mds-space-lg) var(--mds-space-2xl); }
.mds.endo-page .refs-links h3 { flex-basis:100%; }
.mds.endo-page :is(a,button,summary,[tabindex]):focus-visible { outline:3px solid var(--green);outline-offset:4px; }
@media(prefers-reduced-motion:reduce){ .mds.endo-page .zn path { transition:none; } }
/* A long clinical H1 spans the tablet grid; type scale remains the MRI scale. */
@media(min-width:720px) and (max-width:1279px){
  .mds.endo-page .hero-text { display:contents; }
  .mds.endo-page .hero-grid { align-items:start;row-gap:var(--mds-space-xl); }
  .mds.endo-page .hero h1 { grid-column:1 / -1;grid-row:1;margin-bottom:var(--mds-space-lg); }
  .mds.endo-page .hero-p,.mds.endo-page .hero__actions { grid-column:1; }
  .mds.endo-page .hero-img { grid-column:2;grid-row:2 / span 3;align-self:start; }
}
@media(max-width:1079px){
  .mds.endo-page .asp { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .mds.endo-page .asp li:nth-child(4n+1) { padding-left:28px; }
  .mds.endo-page .asp li:nth-child(odd) { border-left:0;padding-left:0; }
  .mds.endo-page .asp li:nth-child(n+3) { border-top:1px solid var(--line); }
  .mds.endo-page .media-row,.mds.endo-page .media-row.rev { grid-template-columns:1fr 1fr;gap:var(--mds-space-2xl); }
  .mds.endo-page .wh { gap:var(--mds-space-2xl); }
}
@media(max-width:899px){
  .mds.endo-page .wh { grid-template-columns:1fr; }
  .mds.endo-page .wh-side { border-left:0;padding-left:0; }
  .mds.endo-page .wh-fig { max-width:620px;width:100%;margin-inline:auto; }
}
@media(max-width:719px){
  .mds.endo-page .booking-form .button--primary { white-space:normal;line-height:var(--mds-leading-h4);min-height:var(--mds-action-height-mobile);height:auto;padding-inline:var(--mds-space-lg); }
  .mds.endo-page .asp,.mds.endo-page .cards3,.mds.endo-page .tlist,.mds.endo-page .cat,.mds.endo-page .media-row,.mds.endo-page .media-row.rev,.mds.endo-page .pills,.mds.endo-page .refs { grid-template-columns:1fr; }
  .mds.endo-page .asp li,.mds.endo-page .tlist li,.mds.endo-page .cards3 article,.mds.endo-page .cat-g { padding:var(--mds-space-xl) 0!important;border-left:0; }
  .mds.endo-page .asp li + li,.mds.endo-page .cards3 article + article,.mds.endo-page .tlist li + li,.mds.endo-page .cat-g + .cat-g { border-top:1px solid var(--line); }
  .mds.endo-page .obc { display:block; }
  .mds.endo-page .ob-copy { border-left:0;padding:var(--mds-space-xl) 0 0; }
  .mds.endo-page .phases { grid-template-columns:1fr; }
  .mds.endo-page .booking__intro h2 { overflow-wrap:normal; }
}

/* =============================================================
   Эндопротезирование крупных суставов — дополнения.
   Всё выше — стили страницы «Колено» (knee-center-20261028-v1)
   с заменой корневого класса на .mds.endo-page.
   Ниже только сочетания существующих компонентов для новой страницы.
   ============================================================= */
.mds.endo-page .visually-hidden { position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap; }

/* Ссылки на источники [1] */
.mds.endo-page sup.ref { font-size:.7em;line-height:0; }
.mds.endo-page sup.ref a { color:var(--brown-dark);text-decoration:none; }
.mds.endo-page sup.ref a:hover { text-decoration:underline; }

/* Заголовок и текст слева, плашка справа — схема секции «Коленный сустав» */
.mds.endo-page .section-surface .callout .sci-k { margin:0 0 var(--mds-space-lg);color:var(--brown-dark);font-family:var(--mds-font-display);font-size:var(--text-meta);font-weight:700;line-height:1.3; }
.mds.endo-page .callout h3 { margin:0 0 var(--mds-space-lg); }
.mds.endo-page .callout .list { margin-top:0; }
@media(min-width:900px){
  .mds.endo-page .sec-aside > .wrap { display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,.65fr);grid-template-rows:min-content 1fr;column-gap:var(--mds-space-3xl);align-items:start; }
  .mds.endo-page .sec-aside > .wrap > h2 { grid-column:1;grid-row:1; }
  .mds.endo-page .sec-aside .split { display:contents; }
  .mds.endo-page .sec-aside .split > div:first-child { grid-column:1;grid-row:2; }
  .mds.endo-page .sec-aside .split > .callout { grid-column:2;grid-row:1 / span 2;align-self:start; }
  .mds.endo-page .sec-aside > .wrap > :is(.sub,.tbl-wrap) { grid-column:1 / -1; }
}

/* Три сустава — карточки zcard со страницы «МРТ позвоночника», по три в ряд */
.mds.endo-page .zgrid.three .z-n { display:block;margin-bottom:20px;color:var(--brown-dark);font-family:var(--display);font-size:1.5rem;font-weight:400;font-variant-numeric:tabular-nums;letter-spacing:.02em;line-height:1; }
.mds.endo-page .zgrid.three .z-s { display:block; }
.mds.endo-page .zgrid.three .z-go { font-size:var(--mds-text-body);color:var(--brown-dark); }
@media(max-width:899px){
  .mds.endo-page .zgrid.three { grid-template-columns:1fr; }
  .mds.endo-page .zgrid.three .zcard:nth-child(n) { padding:24px 0;border-left:0;border-top:0; }
  .mds.endo-page .zgrid.three .zcard + .zcard { border-top:1px solid var(--line); }
}
@media(min-width:900px){
  .mds.endo-page .zgrid.three { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .mds.endo-page .zgrid.three .zcard:nth-child(n) { padding:28px;border-top:0;border-left:1px solid var(--line); }
  .mds.endo-page .zgrid.three .zcard:first-child { padding-left:0;border-left:0; }
  .mds.endo-page .zgrid.three .zcard:last-child { padding-right:0; }
}

/* Таблицы-сравнения: заголовки колонок 18px, как в «Комплексной диагностике» */
.mds.endo-page .compare-table thead th { font-family:var(--mds-font-display);font-size:1.125rem;font-weight:600;line-height:1.55;letter-spacing:-.02em; }

/* Этапы лечения: крупные номера, как в «Что видно на снимках» */
.mds.endo-page .steps-big > li::before { margin-bottom:28px;font-size:1.5rem;font-weight:400;font-variant-numeric:tabular-nums;letter-spacing:.02em;line-height:1; }
.mds.endo-page .steps h3 { max-width:20ch;margin:0 0 8px; }
@media(min-width:1080px){
  .mds.endo-page .steps-big { grid-template-columns:repeat(4,minmax(0,1fr)); }
}
/* Этапы в колонке рядом с фото: номер слева */
.mds.endo-page .steps-col { grid-template-columns:1fr!important;margin-top:var(--mds-space-xl); }
.mds.endo-page .steps-col > li { display:grid;grid-template-columns:48px minmax(0,1fr);padding:20px 0; }
.mds.endo-page .steps-col > li::before { grid-row:span 2;margin:0;font-size:1.5rem;font-weight:400;font-variant-numeric:tabular-nums;line-height:1.15; }
.mds.endo-page .steps-col h3 { max-width:none; }

/* Фото + текст */
.mds.endo-page .media-row .callout { margin-top:var(--mds-space-xl); }
.mds.endo-page .media-row > div > p:first-child { margin-top:0; }
.mds.endo-page .sec-dark .media-row > div > p:not(.note-light) { color:var(--surface-strong); }

/* График срока службы */
.mds.endo-page .chartfig { max-width:720px; }
.mds.endo-page .chartfig .legend { margin:0 0 var(--mds-space-lg); }
.mds.endo-page .legend .k-s1 { background:var(--brown-dark); }
.mds.endo-page .legend .k-s2 { background:var(--green-dark); }
.mds.endo-page .fig-scroll { overflow-x:auto;-webkit-overflow-scrolling:touch; }
.mds.endo-page .chart { display:block;width:100%;min-width:480px;height:auto; }
.mds.endo-page .chart .grid { stroke:var(--line); }
.mds.endo-page .chart .base { stroke:var(--line-strong); }
.mds.endo-page .chart .ax { font-family:var(--mds-font-body);font-size:13px;fill:var(--ink-soft); }
.mds.endo-page .chart .val { font-family:var(--mds-font-display);font-size:14px;font-weight:600;fill:var(--ink); }
.mds.endo-page .chart .s1 { fill:var(--brown-dark); }
.mds.endo-page .chart .s2 { fill:var(--green-dark); }

/* Хирурги: список tlist, ФИО первой строкой */
.mds.endo-page .tlist .tn:first-child { margin:0 0 var(--mds-space-md);font-family:var(--mds-font-display);font-size:var(--text-subheading);font-weight:600;letter-spacing:-.035em;line-height:1.15; }
.mds.endo-page .tlist p { margin:0; }
.mds.endo-page .tlist .inline-booking { margin-top:var(--mds-space-lg); }
.mds.endo-page .tlist + .lnk { display:inline-block;margin-top:var(--mds-space-xl);color:var(--brown-dark);font-family:var(--mds-font-display); }

/* Абзацы: отступ 16px, как в «Комплексной диагностике» */
.mds.endo-page :is(.split,.media-row) > div > p { margin:0 0 var(--mds-space-lg); }
.mds.endo-page :is(.split,.media-row) > div > p:last-child { margin-bottom:0; }
.mds.endo-page :is(.split,.media-row) > div > .list { margin:0 0 var(--mds-space-lg); }
.mds.endo-page :is(.split,.media-row) > div > p.li-h { margin:var(--mds-space-xl) 0 var(--mds-space-md); }
.mds.endo-page .callout p + p { margin-top:var(--mds-space-lg); }

/* Список в две колонки: строки выровнены по сетке */
.mds.endo-page .pills { row-gap:var(--mds-space-md);margin-top:var(--mds-space-xl); }
.mds.endo-page .pills li + li { margin-top:0; }

/* Узкие экраны: длинные слова «Эндопротезирование», «Высокотехнологичные» помещаются в строку */
@media(max-width:479px){
  .mds.endo-page .hero h1 { font-size:min(var(--mds-text-h1),8.6vw); }
  .mds.endo-page .sec h2 { font-size:min(var(--mds-text-h2),7.4vw); }
}

/* Ритм страницы: больше воздуха между секциями и под заголовком */
.mds.endo-page .sec.section-surface { padding-block:clamp(56px,7vw,96px); }
.mds.endo-page .sec.section-surface > .wrap > h2 { margin-bottom:var(--mds-space-2xl); }
.mds.endo-page .sec.section-surface > .wrap > h2 + .sec-lead { margin-top:calc(-1 * var(--mds-space-lg)); }

/* Длинные заголовки — в две ровные строки */
.mds.endo-page .sec h2 { max-width:20ch;text-wrap:balance; }
.mds.endo-page .sec-aside > .wrap > h2 { max-width:16ch; }

/* Заголовок в колонке текста, фото выровнено по верху заголовка */
.mds.endo-page .media-head { align-items:start; }
.mds.endo-page .media-head > div > h2 { margin:0 0 var(--mds-space-2xl);line-height:var(--mds-leading-h2); }
@media(min-width:720px){
  .mds.endo-page .media-head > div > h2 { margin-top:calc((1 - var(--mds-leading-h2)) * .5em - .08em); }
}
@media(max-width:719px){
  .mds.endo-page .media-head > div { display:contents; }
  .mds.endo-page .media-head > div > h2 { order:-1;margin-bottom:0; }
}
@media(max-width:719px){
  .mds.endo-page .media-head { gap:0; }
  .mds.endo-page .media-head > figure { margin:var(--mds-space-xl) 0; }
}

/* =============================================================
   Страницы суставов: колено, тазобедренный, плечевой
   ============================================================= */
.mds.endo-page { --muted:var(--ink-soft);--sage:#8FC4A6;--bone-art:#E4E8E0;--bone-stroke:#AEB6A9;--poly:#D3E6D9; }
.mds.endo-page .mt { margin-top:var(--mds-space-2xl); }
.mds.endo-page .more { margin:var(--mds-space-xl) 0 0; }
.mds.endo-page .lnk { color:var(--brown-dark);font-family:var(--mds-font-display); }

/* Схемы клиента в палитре сайта */
.mds.endo-page .fig { margin:0; }
.mds.endo-page .fig figcaption { font-size:var(--text-meta);color:var(--ink-soft); }
.mds.endo-page .anat { display:block;width:100%;height:auto; }
.mds.endo-page :is(.anat,.stage-svg,.impl) .bone { fill:var(--bone-art);stroke:var(--bone-stroke);stroke-width:1.5; }
.mds.endo-page .lig-b { fill:none;stroke:#C99A5E;stroke-width:9;stroke-linecap:round;opacity:.85; }
.mds.endo-page .scl { fill:none;stroke:#6F766B;stroke-width:5; }
.mds.endo-page .ost { fill:#8E9688; }
.mds.endo-page .nec { fill:#B9A27F; }
.mds.endo-page .cuff { fill:none;stroke:#C0763A;stroke-width:12;stroke-linecap:round;opacity:.85; }
.mds.endo-page .cuff-torn { fill:none;stroke:#C0763A;stroke-width:8;stroke-linecap:round; }
.mds.endo-page .delt { fill:none;stroke:#C9877A;stroke-width:16;stroke-linecap:round;opacity:.35; }
.mds.endo-page :is(.impl,.stage-svg) .imp { fill:var(--brown-dark);stroke:none; }
.mds.endo-page .impl .imp-s { fill:none;stroke:var(--brown-dark); }
.mds.endo-page .impl .ins { fill:var(--poly);stroke:var(--sage);stroke-width:1.5; }
.mds.endo-page .impl .ins-s { fill:none;stroke:var(--sage); }
.mds.endo-page .legend .k-imp { background:var(--brown-dark); }
.mds.endo-page .legend .k-ins { background:var(--green); }
.mds.endo-page .legend .k-bone { background:var(--bone-stroke); }
.mds.endo-page .anat-row figure .fig-scroll { overflow-x:auto; }
@media(max-width:719px){
  .mds.endo-page .anat { min-width:440px; }
}

/* Стадии: колонки через линии, схема на светлой подложке */
.mds.endo-page .stages { display:grid;grid-template-columns:repeat(5,minmax(0,1fr));margin:0;padding:0;list-style:none;border-top:1px solid var(--line); }
.mds.endo-page .stages.three { grid-template-columns:repeat(3,minmax(0,1fr)); }
.mds.endo-page .stages li { min-width:0;padding:28px;border-left:1px solid var(--line); }
.mds.endo-page .stages li:first-child { padding-left:0;border-left:0; }
.mds.endo-page .stages li:last-child { padding-right:0; }
.mds.endo-page .st-img { display:grid;place-items:center;margin-bottom:var(--mds-space-xl);padding:var(--mds-space-lg);background:var(--surface);border-radius:var(--radius-card); }
.mds.endo-page .section-surface--white .st-img { background:var(--canvas); }
.mds.endo-page .stage-svg { width:100%;max-width:220px;height:auto; }
#endo-content.mds.endo-page .section-surface .stages li p.st-n { margin:0 0 var(--mds-space-sm);color:var(--brown-dark);font-family:var(--mds-font-display);font-size:var(--text-meta);font-weight:700; }
.mds.endo-page .section-surface:not(.sec-dark) .stages h3 { margin:0 0 var(--mds-space-sm);font-size:var(--mds-text-h4);line-height:1.3; }
.mds.endo-page .stages p:not(.st-n) { margin:0; }
.mds.endo-page .st-treat { display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:var(--mds-space-sm) var(--mds-space-lg);margin-top:var(--mds-space-xl); }
.mds.endo-page .st-treat span { padding:10px 14px;border-radius:var(--mds-radius-action);font-family:var(--mds-font-display);font-size:var(--text-meta);font-weight:600;line-height:1.3; }
.mds.endo-page .st-treat span:nth-child(1) { background:#E3EFE6; }
.mds.endo-page .st-treat span:nth-child(2) { background:#EEF0E2; }
.mds.endo-page .st-treat span:nth-child(3) { background:#F3EADB; }
.mds.endo-page .st-treat span:nth-child(4) { background:#EADCC6; }
@media(max-width:1079px){
  .mds.endo-page .stages,.mds.endo-page .stages.three { grid-template-columns:repeat(2,minmax(0,1fr));column-gap:var(--mds-space-2xl);border-top:0; }
  .mds.endo-page .stages li:nth-child(n) { padding:var(--mds-space-xl) 0;border-left:0;border-top:1px solid var(--line); }
  .mds.endo-page .st-treat { display:none; }
}
@media(max-width:519px){
  .mds.endo-page .stages,.mds.endo-page .stages.three { grid-template-columns:1fr; }
}

/* Виды эндопротезов: две схемы на подложке */
.mds.endo-page .impl-row { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--mds-space-2xl);margin-bottom:var(--mds-space-2xl); }
.mds.endo-page .impl-row .fig { padding:var(--mds-space-xl);background:var(--surface);border-radius:var(--radius-card); }
.mds.endo-page .section-surface--white .impl-row .fig { background:var(--canvas); }
.mds.endo-page .impl { display:block;width:100%;height:auto; }
.mds.endo-page .impl-row + .tbl-wrap { margin-top:0; }
.mds.endo-page .tbl-wrap + p { margin-top:var(--mds-space-xl); }
@media(max-width:719px){ .mds.endo-page .impl-row { grid-template-columns:1fr; } }

/* Опросник: вопросы через линии, ответ — тёмная плашка */
.mds.endo-page .quiz { display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,.65fr);gap:var(--mds-space-3xl);align-items:start; }
.mds.endo-page .qz-list { margin:0;padding:0;list-style:none;border-top:1px solid var(--line); }
.mds.endo-page .qz-list li { display:flex;justify-content:space-between;align-items:center;gap:var(--mds-space-xl);padding:var(--mds-space-lg) 0;border-bottom:1px solid var(--line); }
.mds.endo-page .qz-b { display:flex;flex-shrink:0;gap:var(--mds-space-sm); }
.mds.endo-page .qz-b button { min-width:72px;height:var(--mds-target);padding:0 18px;border:0;border-radius:var(--mds-radius-action);background:var(--surface);color:var(--ink);font-family:var(--mds-font-display);font-size:1rem;font-weight:600;cursor:pointer;transition:background .18s var(--ease),color .18s var(--ease); }
.mds.endo-page .section-surface--white .qz-b button { background:var(--canvas); }
.mds.endo-page .qz-b button:hover { background:var(--green-pale); }
.mds.endo-page .qz-b button[aria-pressed="true"] { background:var(--brown-dark);color:var(--surface); }
.mds.endo-page .qz-res { position:sticky;top:120px;padding:var(--mds-space-2xl);border-radius:var(--radius-panel);background:var(--mrt-dark); }
#endo-content.mds.endo-page .section-surface .quiz .qz-res p.qz-score { margin:0 0 var(--mds-space-md);color:var(--surface);font-family:var(--mds-font-display);font-size:var(--text-subheading);font-weight:600;line-height:1.2; }
#endo-content.mds.endo-page .section-surface .quiz .qz-res p.qz-text { margin:0;color:var(--surface-strong); }
@media(max-width:899px){
  .mds.endo-page .quiz { grid-template-columns:1fr;gap:var(--mds-space-2xl); }
  .mds.endo-page .qz-res { position:static; }
}
@media(max-width:519px){
  .mds.endo-page .qz-list li { flex-direction:column;align-items:flex-start;gap:var(--mds-space-md); }
}

/* Восстановление по срокам: строки через линии */
.mds.endo-page .rehab { margin:0;padding:0;list-style:none;border-top:1px solid var(--line); }
.mds.endo-page .rehab li { display:grid;grid-template-columns:minmax(140px,220px) minmax(0,1fr);gap:var(--mds-space-2xl);padding:var(--mds-space-xl) 0;border-bottom:1px solid var(--line); }
.mds.endo-page .rehab .when { color:var(--brown-dark);font-family:var(--mds-font-display);font-size:1.5rem;font-weight:400;line-height:1.15; }
.mds.endo-page .rehab .what b { display:block;margin-bottom:var(--mds-space-sm);font-family:var(--mds-font-display);font-size:var(--text-subheading);font-weight:600;letter-spacing:-.035em;line-height:1.15; }
@media(max-width:719px){ .mds.endo-page .rehab li { grid-template-columns:1fr;gap:var(--mds-space-sm); } }

/* Тёмные секции: плашка на графитовом фоне, как «Документы» на МРТ */
.mds.endo-page .sec-dark .callout { background:rgb(57 67 55); }
.mds.endo-page .sec-dark .callout h3 { color:var(--green); }
#endo-content.mds.endo-page .sec-dark :is(.callout,.split > div) p { color:var(--surface-strong); }
.mds.endo-page .sec-dark .split > div > p { margin:0 0 var(--mds-space-lg); }
.mds.endo-page .sec-dark .media-head > figure figcaption { color:var(--surface-strong);font-size:var(--text-meta); }

/* Колонки через линии для шести карточек */
@media(min-width:720px){
  .mds.endo-page .cards3 article:nth-child(3n+1) { border-left:0;padding-left:0; }
  .mds.endo-page .cards3 article:nth-child(3n) { padding-right:0; }
  .mds.endo-page .cards3 article:nth-child(n+4) { border-top:1px solid var(--line); }
}
.mds.endo-page .cards3 p { margin:0; }

/* Шесть этапов — по три в ряд */
@media(min-width:1080px){
  .mds.endo-page .steps-big.steps-3 { grid-template-columns:repeat(3,minmax(0,1fr)); }
}

/* Плашка на белой секции — светлая заливка */
.mds.endo-page .section-surface--white .callout { background:var(--canvas); }
/* Анатомическая схема шире текста, чтобы подписи читались */
@media(min-width:1080px){
  .mds.endo-page .media-row.anat-row { grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr); }
}

/* Этапы и упражнения: без полосок над пунктами — вертикальные линии между колонками,
   горизонтальная линия только между рядами (как в .cards3 и карточках суставов) */
.mds.endo-page .steps-big { gap:0; }
.mds.endo-page .steps-big > li { min-width:0;padding:4px 28px 28px;border-top:0;border-left:1px solid var(--line); }
@media(min-width:1080px){
  .mds.endo-page .steps-big:not(.steps-3) > li:nth-child(4n+1) { padding-left:0;border-left:0; }
  .mds.endo-page .steps-big:not(.steps-3) > li:nth-child(4n) { padding-right:0; }
  .mds.endo-page .steps-big:not(.steps-3) > li:nth-child(n+5) { padding-top:28px;border-top:1px solid var(--line); }
  .mds.endo-page .steps-big.steps-3 > li:nth-child(3n+1) { padding-left:0;border-left:0; }
  .mds.endo-page .steps-big.steps-3 > li:nth-child(3n) { padding-right:0; }
  .mds.endo-page .steps-big.steps-3 > li:nth-child(n+4) { padding-top:28px;border-top:1px solid var(--line); }
}
@media(min-width:720px) and (max-width:1079px){
  .mds.endo-page .steps-big > li:nth-child(3n+1) { padding-left:0;border-left:0; }
  .mds.endo-page .steps-big > li:nth-child(3n) { padding-right:0; }
  .mds.endo-page .steps-big > li:nth-child(n+4) { padding-top:28px;border-top:1px solid var(--line); }
}
@media(max-width:719px){
  .mds.endo-page .steps-big > li { padding:var(--mds-space-xl) 0;border-left:0; }
  .mds.endo-page .steps-big > li:first-child { padding-top:0; }
  .mds.endo-page .steps-big > li + li { border-top:1px solid var(--line); }
}
@media(min-width:520px) and (max-width:1079px){
  .mds.endo-page .stages,.mds.endo-page .stages.three { column-gap:0; }
  .mds.endo-page .stages li:nth-child(n) { padding:var(--mds-space-xl) var(--mds-space-xl) var(--mds-space-xl) 0;border-top:0;border-left:0; }
  .mds.endo-page .stages li:nth-child(even) { padding:var(--mds-space-xl) 0 var(--mds-space-xl) var(--mds-space-xl);border-left:1px solid var(--line); }
  .mds.endo-page .stages li:nth-child(n+3) { border-top:1px solid var(--line); }
}
@media(max-width:519px){
  .mds.endo-page .stages li:nth-child(n) { padding:var(--mds-space-xl) 0;border-top:0; }
  .mds.endo-page .stages li:first-child { padding-top:0; }
  .mds.endo-page .stages li + li { border-top:1px solid var(--line); }
}
