/* Виниры: согласованный production-стиль 2026-09-10 */
.prototype-price-note {
		  margin-top: 18px;
		}
		.prototype-story-player {
		  width: 100%;
		  margin: 24px 0 18px;
		  aspect-ratio: 16 / 9;
		  overflow: hidden;
		}
		.prototype-video-link,
		.prototype-story-player img,
		.prototype-vertical-player img {
		  display: block;
		  width: 100%;
		  height: 100%;
		}
		.prototype-video-link {
		  position: relative;
		}
		.prototype-story-player img,
		.prototype-vertical-player img {
		  object-fit: cover;
		}
		.prototype-video-play {
		  position: absolute;
		  top: 50%;
		  left: 50%;
		  display: grid;
		  width: 58px;
		  height: 58px;
		  place-items: center;
		  border-radius: 50%;
		  background: rgba(17, 17, 17, .82);
		  color: #fff;
		  font-size: 22px;
		  line-height: 1;
		  transform: translate(-50%, -50%);
		  pointer-events: none;
		}
		.prototype-vertical-results {
		  min-width: 0;
		  overflow: hidden;
		}
		.prototype-vertical-results .comments__slider {
		  overflow: visible;
		}
		.prototype-vertical-results .comment {
		  height: auto;
		}
		.prototype-vertical-player {
		  width: 100%;
		  aspect-ratio: 9 / 16;
		  overflow: hidden;
		  background: #111;
		}
		.prototype-vertical-player iframe {
		  display: block;
		  width: 100%;
		  height: 100%;
		  border: 0;
		}
		.prototype-video-poster {
		  position: relative;
		  display: block;
		  width: 100%;
		  height: 100%;
		  margin: 0;
		  padding: 0;
		  overflow: hidden;
		  border: 0;
		  background: #111;
		  cursor: pointer;
		}
		.prototype-video-poster img {
		  display: block;
		  width: 100%;
		  height: 100%;
		  object-fit: cover;
		}
		.prototype-video-poster .prototype-video-play {
		  background: rgba(83, 75, 215, .9);
		}
		@media (max-width: 767px) {
.section-case__colr .twentytwenty-container {
			height: auto !important;
			aspect-ratio: 16 / 9;
		  }
		  .section-case__colr .twentytwenty-container > img {
			width: 100% !important;
			height: 100% !important;
			object-fit: cover;
		  }
		}

.prototype-situation-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 20px;
    margin-top: 30px;
  }

  .section-case__slider.prototype-circular-cases .swiper-button-disabled,
  .section-case__slider.prototype-circular-cases .slider-button-prev.swiper-button-disabled,
  .section-case__slider.prototype-circular-cases .slider-button-next.swiper-button-disabled {
    opacity: 1;
    pointer-events: auto;
    cursor: pointer;
  }

  .prototype-situation-card {
    overflow: hidden;
    border-radius: 20px;
    background: #edf5f7;
  }

  .prototype-situation-card img {
    display: block;
    width: 100%;
    aspect-ratio: 4 / 3;
    object-fit: cover;
    height: auto;
  }

  .prototype-situation-card__title {
    padding: 18px 20px 20px;
    color: #235268;
    font-size: 18px;
    font-weight: 600;
    line-height: 1.25;
  }

  .prototype-situation-note,
  .prototype-source-note {
    margin-top: 20px;
    padding: 18px 22px;
    border-radius: 16px;
    background: #f4f8f9;
    color: #466773;
    font-size: 15px;
    line-height: 1.5;
  }

  .prototype-technologies > .prototype-source-note {
    box-sizing: border-box;
    min-height: 74px;
    padding-right: 126px;
  }

  .prototype-technologies {
    min-width: 0;
    overflow: hidden;
  }

  .prototype-technologies .technology {
    height: auto;
    color: inherit;
    text-decoration: none;
  }

  .prototype-technologies .technology__img img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
  }

  .prototype-tech-copy {
    padding: 0 20px 22px;
    color: #53717c;
    font-size: 15px;
    line-height: 1.45;
  }

  .prototype-tech-step {
    padding: 18px 20px 8px;
    color: #1c89b2;
    font-size: 13px;
    font-weight: 600;
    letter-spacing: .02em;
  }

  .prototype-tech-step + .technology__bot {
    padding-top: 0;
  }

  .prototype-veneer-doctors {
    min-width: 0;
  }

  .prototype-veneer-doctors__lead {
    max-width: 980px;
    margin: 16px 0 28px;
    color: #466773;
    font-size: 18px;
    line-height: 1.5;
  }

  .prototype-veneer-doctors__intro {
    display: grid;
    grid-template-columns: minmax(0, 1.08fr) minmax(360px, .92fr);
    gap: 20px;
    align-items: stretch;
  }

  .prototype-veneer-doctors__photo {
    position: relative;
    min-height: 410px;
    overflow: hidden;
    border-radius: 26px;
    background: #edf5f7;
  }

  .prototype-veneer-doctors__photo img {
    display: block;
    width: 100%;
    height: 100%;
    min-height: 410px;
    object-fit: cover;
    object-position: center 42%;
  }

  .prototype-veneer-doctors__photo-caption {
    position: absolute;
    right: 18px;
    bottom: 18px;
    left: 18px;
    padding: 13px 16px;
    border-radius: 13px;
    background: rgba(18, 62, 80, .88);
    color: #fff;
    font-size: 14px;
    line-height: 1.35;
    backdrop-filter: blur(8px);
  }

  .prototype-veneer-doctors__promise {
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 34px;
    border-radius: 26px;
    background: #d9edf4;
  }

  .prototype-veneer-doctors__promise-title {
    margin-bottom: 16px;
    color: #235268;
    font-size: 30px;
    font-weight: 600;
    line-height: 1.15;
  }

  .prototype-veneer-doctors__promise p {
    margin: 0;
    color: #466773;
    font-size: 16px;
    line-height: 1.55;
  }

  .prototype-veneer-doctors__promise ul {
    display: grid;
    gap: 10px;
    margin: 20px 0 0;
    padding: 0;
    list-style: none;
  }

  .prototype-veneer-doctors__promise li {
    position: relative;
    padding-left: 23px;
    color: #466773;
    font-size: 14px;
    line-height: 1.4;
  }

  .prototype-veneer-doctors__promise li::before {
    position: absolute;
    top: .45em;
    left: 0;
    width: 9px;
    height: 9px;
    border-radius: 50%;
    background: #1c89b2;
    content: '';
  }

  .prototype-veneer-doctors__award {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 16px;
    align-items: center;
    margin-top: 20px;
    padding: 22px 24px;
    border-radius: 20px;
    background: #235268;
    color: #fff;
  }

  .prototype-veneer-doctors__award-mark {
    display: grid;
    width: 48px;
    height: 48px;
    place-items: center;
    border-radius: 13px;
    background: #fff;
    color: #235268;
    font-size: 23px;
  }

  .prototype-veneer-doctors__award strong {
    display: block;
    margin-bottom: 4px;
    font-size: 17px;
    line-height: 1.3;
  }

  .prototype-veneer-doctors__award span {
    color: rgba(255, 255, 255, .82);
    font-size: 14px;
    line-height: 1.45;
  }

  .prototype-why-section > h2 {
    max-width: 1120px;
  }

  .prototype-why-lead {
    max-width: 980px;
    margin: 14px 0 22px;
    color: #466773;
    font-size: 18px;
    line-height: 1.5;
  }

  .prototype-why-grid {
    display: grid;
    grid-template-columns: minmax(300px, .72fr) minmax(520px, 1.28fr);
    gap: 16px;
    align-items: stretch;
  }

  .prototype-why-media {
    position: relative;
    min-height: 430px;
    overflow: hidden;
    border-radius: 22px;
    background: #173f51;
  }

  .prototype-why-media img {
    display: block;
    width: 100%;
    height: 100%;
    min-height: 430px;
    object-fit: cover;
    object-position: 50% 48%;
  }

  .prototype-why-media figcaption {
    position: absolute;
    right: 18px;
    bottom: 18px;
    left: 18px;
    padding: 14px 16px;
    border-radius: 14px;
    background: rgba(18, 62, 80, .9);
    color: #fff;
    font-size: 14px;
    line-height: 1.4;
    backdrop-filter: blur(8px);
  }

  .prototype-why-points {
    display: grid;
    gap: 10px;
  }

  .prototype-why-card {
    display: grid;
    grid-template-columns: 42px minmax(0, 1fr);
    gap: 2px 14px;
    align-content: center;
    padding: 15px 18px;
    border-radius: 18px;
    background: #f4f6f4;
  }

  .prototype-why-card:nth-child(2) {
    background: #d9edf4;
  }

  .prototype-why-card:nth-child(3) {
    background: #235268;
    color: #fff;
  }

  .prototype-why-card__mark {
    display: grid;
    width: 42px;
    height: 42px;
    grid-row: 1 / span 3;
    place-items: center;
    border-radius: 12px;
    background: #235268;
    color: #fff;
    font-size: 20px;
    font-weight: 600;
  }

  .prototype-why-card:nth-child(3) .prototype-why-card__mark {
    background: #fff;
    color: #235268;
  }

  .prototype-why-card__eyebrow {
    color: #1c89b2;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .05em;
    text-transform: uppercase;
  }

  .prototype-why-card:nth-child(3) .prototype-why-card__eyebrow {
    color: #80d1ee;
  }

  .prototype-why-card h3 {
    margin: 1px 0 3px;
    color: #235268;
    font-size: 21px;
    line-height: 1.2;
  }

  .prototype-why-card:nth-child(3) h3 {
    color: #fff;
  }

  .prototype-why-card p {
    margin: 0;
    color: #53717c;
    font-size: 14px;
    line-height: 1.45;
  }

  .prototype-why-card:nth-child(3) p {
    color: rgba(255, 255, 255, .82);
  }

  .prototype-why-link {
    display: inline-flex;
    width: fit-content;
    grid-column: 2;
    align-items: center;
    gap: 8px;
    margin-top: 6px;
    color: inherit;
    font-size: 13px;
    font-weight: 600;
    text-decoration: underline;
    text-decoration-thickness: 1px;
    text-underline-offset: 4px;
  }

  .prototype-lab-card {
    display: grid;
    grid-template-columns: 42px minmax(0, 1fr);
    gap: 14px;
    align-items: center;
    margin-top: 0;
    padding: 15px 18px;
    border: 1px solid rgba(35, 82, 104, .12);
    border-radius: 18px;
    background: #edf5f7;
  }

  .prototype-lab-card__mark {
    display: grid;
    width: 42px;
    height: 42px;
    place-items: center;
    border-radius: 12px;
    background: #235268;
    color: #fff;
    font-weight: 600;
  }

  .prototype-lab-card__label {
    color: #1c89b2;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: .04em;
    text-transform: uppercase;
  }

  .prototype-lab-card h3 {
    margin: 1px 0 3px;
    color: #235268;
    font-size: 24px;
    line-height: 1.2;
  }

  .prototype-lab-card p {
    margin: 0;
    color: #466773;
    font-size: 15px;
    line-height: 1.5;
  }

  .prototype-lab-card__button {
    display: inline-flex;
    min-height: 42px;
    align-items: center;
    justify-content: center;
    padding: 9px 14px;
    border: 1px solid #235268;
    border-radius: 12px;
    color: #235268;
    font-size: 14px;
    font-weight: 600;
    text-align: center;
    text-decoration: none;
    white-space: nowrap;
  }

  .prototype-treatment-stages .consultation__item {
    min-height: 170px;
  }

  .prototype-stage-prices .consultation__grid {
    grid-template-columns: 1fr;
    gap: 14px;
    margin-top: 26px;
  }

  .prototype-stage-prices .consultation__item {
    display: grid;
    min-height: 96px;
    grid-template-columns: 46px minmax(0, 1fr) auto;
    align-items: center;
    gap: 16px;
    padding: 18px 20px;
    border-radius: 18px;
  }

  .prototype-stage-prices .consultation__number {
    display: grid;
    width: 46px;
    height: 46px;
    min-width: 46px;
    place-items: center;
    margin: 0;
    padding: 0;
    border-radius: 12px;
    font-size: 18px;
    line-height: 1;
  }

  .prototype-stage-prices .prototype-cost-row__name {
    min-width: 0;
    font-size: 18px;
    font-weight: 500;
    line-height: 1.2;
  }

  .prototype-stage-prices .prototype-stage-price {
    margin: 0;
    color: #168bb6;
    font-size: 18px;
    font-weight: 600;
    line-height: 1.15;
    text-align: right;
    white-space: nowrap;
  }

  .prototype-stage-prices .prototype-stage-price small {
    display: block;
    margin-top: 5px;
    color: #6b858f;
    font-size: 11px;
    font-weight: 500;
  }

  .prototype-stage-prices .consultation__item._blue .prototype-stage-price {
    color: #fff;
  }

  .prototype-stage-prices .consultation__item._blue .prototype-stage-price small {
    color: rgba(255, 255, 255, .72);
  }

  .prototype-treatment-stages .consultation__grid {
    gap: 14px;
  }

  .prototype-treatment-stages .consultation__item.prototype-stage-card {
    position: relative;
    display: block;
    min-height: 0;
    padding: 0;
    overflow: hidden;
    border-radius: 18px;
  }

  .prototype-stage-card__image {
    position: relative;
    width: 100%;
    aspect-ratio: 16 / 10;
    overflow: hidden;
    background: #d4e6ec;
  }

  .prototype-stage-card__image img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
  }

  .prototype-treatment-stages .prototype-stage-card .consultation__number {
    position: absolute;
    top: 12px;
    left: 12px;
    z-index: 2;
    display: grid;
    width: 42px;
    height: 42px;
    min-width: 42px;
    place-items: center;
    margin: 0;
    padding: 0;
    border-radius: 10px;
    background: rgba(35, 82, 104, .94);
    color: #fff;
    font-size: 18px;
    line-height: 1;
    box-shadow: 0 5px 15px rgba(11, 50, 67, .16);
  }

  .prototype-treatment-stages .prototype-stage-card._blue .consultation__number {
    background: rgba(255, 255, 255, .94);
    color: #235268;
  }

  .prototype-stage-card__body {
    display: flex;
    min-height: 78px;
    align-items: center;
    padding: 14px 16px 16px;
  }

  .prototype-treatment-stages .prototype-stage-card .consultation__desc {
    margin: 0;
    font-size: 17px;
    line-height: 1.2;
  }

  .prototype-stage-price {
    display: block;
    margin-top: 12px;
    color: #1c89b2;
    font-size: 14px;
    font-weight: 600;
  }

  .prototype-package-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 20px;
    margin-top: 28px;
  }

  .prototype-package-card {
    display: flex;
    min-height: 310px;
    flex-direction: column;
    padding: 28px;
    border-radius: 22px;
    background: #edf5f7;
  }

  .prototype-package-card._light {
    background: #f7f7f2;
  }

  .prototype-package-card._blue {
    background: #d9edf4;
  }

  .prototype-package-card__eyebrow {
    margin-bottom: 10px;
    color: #6d8993;
    font-size: 13px;
    font-weight: 600;
    letter-spacing: .04em;
    text-transform: uppercase;
  }

  .prototype-package-card__title {
    color: #235268;
    font-size: 24px;
    font-weight: 600;
    line-height: 1.15;
  }

  .prototype-package-card__price {
    margin: 22px 0 14px;
    color: #1c89b2;
    font-size: 30px;
    font-weight: 650;
    line-height: 1.1;
  }

  .prototype-package-card__desc {
    margin: 0 0 16px;
    color: #466773;
    font-size: 15px;
    line-height: 1.45;
  }

  .prototype-package-card__status {
    margin-top: auto;
    padding-top: 16px;
    border-top: 1px solid rgba(35, 82, 104, .15);
    color: #235268;
    font-size: 13px;
    font-weight: 600;
    line-height: 1.4;
  }

  .prototype-clinic-values {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
    margin: 26px 0 16px;
  }

  .prototype-clinic-about-link {
    color: inherit;
    text-decoration: underline;
    text-decoration-color: rgba(30, 143, 184, 0.32);
    text-decoration-thickness: 1px;
    text-underline-offset: 0.12em;
    transition: color 0.2s ease, text-decoration-color 0.2s ease;
  }

  .prototype-clinic-about-link:hover,
  .prototype-clinic-about-link:focus-visible {
    color: #1e8fb8;
    text-decoration-color: currentColor;
  }

  .prototype-clinic-value {
    padding: 20px;
    border-radius: 18px;
    background: #f4f6f4;
  }

  .prototype-clinic-value:nth-child(2) {
    background: #d9edf4;
  }

  .prototype-clinic-value strong {
    display: block;
    margin-bottom: 7px;
    color: #235268;
    font-size: 18px;
    line-height: 1.25;
  }

  .prototype-clinic-value span {
    color: #53717c;
    font-size: 14px;
    line-height: 1.45;
  }

  .prototype-clinic-grid {
    display: grid;
    height: 410px;
    grid-template-columns: 1.08fr .92fr;
    gap: 12px;
    align-items: stretch;
  }

  .prototype-clinic-grid > img,
  .prototype-clinic-side > img,
  .prototype-clinic-admin img {
    display: block;
    width: 100%;
    height: 100%;
    border-radius: 20px;
    object-fit: cover;
  }

  .prototype-clinic-side {
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-template-rows: 198px 200px;
    gap: 12px;
  }

  .prototype-clinic-admin {
    display: grid;
    grid-column: 1 / -1;
    grid-template-columns: 118px minmax(0, 1fr);
    gap: 16px;
    align-items: center;
    padding: 12px;
    border-radius: 20px;
    background: #edf5f7;
  }

  .prototype-clinic-admin img {
    height: 176px;
    object-position: center 28%;
  }

  .prototype-clinic-admin h3 {
    margin: 0 0 7px;
    color: #235268;
    font-size: 20px;
    line-height: 1.2;
  }

  .prototype-clinic-admin p {
    margin: 0 0 12px;
    color: #53717c;
    font-size: 13px;
    line-height: 1.4;
  }

  .prototype-clinic-admin a,
  .prototype-clinic-admin__appointment {
    display: inline-flex;
    min-height: 38px;
    align-items: center;
    justify-content: center;
    padding: 8px 14px;
    border: 1px solid #235268;
    border-radius: 8px;
    color: #235268;
    font-size: 13px;
    font-weight: 600;
    text-decoration: none;
  }

  .prototype-clinic-admin__appointment {
    border: 0;
    background: #1e90b6;
    color: #fff;
    cursor: pointer;
  }

  .prototype-hero-subtitle {
    display: block;
    margin-bottom: 12px;
    color: #235268;
  }

  .prototype-indications__grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
    margin-top: 28px;
  }

  .prototype-indications__card {
    padding: 28px;
    border-radius: 28px;
    background: #f4f4f1;
  }

  .prototype-indications__card._positive {
    background: #dceff4;
  }

  .prototype-indications__card h3 {
    margin: 0 0 18px;
    color: #235268;
  }

  .prototype-indications__card ul {
    display: grid;
    gap: 12px;
    margin: 0;
    padding: 0;
    color: #466773;
    list-style: none;
  }

  .prototype-indications__card li {
    position: relative;
    padding-left: 29px;
  }

  .prototype-indications__card li::before {
    position: absolute;
    top: -.05em;
    left: 0;
    font-size: 21px;
    font-weight: 800;
    line-height: 1;
  }

  .prototype-indications__card._positive li::before {
    color: #2f9b62;
    content: '✓';
  }

  .prototype-indications__card._caution li::before {
    color: #d75151;
    content: '×';
  }

  .prototype-future-list {
    padding: 0;
    list-style: none;
  }

  .prototype-future-list li {
    position: relative;
    padding-left: 30px;
  }

  .prototype-future-list li::before {
    position: absolute;
    top: .05em;
    left: 0;
    color: #1c89b2;
    content: '✓';
    font-size: 21px;
    font-weight: 800;
    line-height: 1;
  }

  .prototype-package-heading span {
    display: block;
  }

  .prototype-package-heading span + span {
    margin-top: .08em;
  }

  .content__coll.body > .inner-img:has(.inner-img__text:empty),
  .content__coll.body > .inner-img:has(.inner-img__text > p:only-child br:only-child) {
    display: none !important;
  }

  .prototype-reviews-widget {
    position: relative;
    display: flex;
    min-height: 330px;
    justify-content: center;
    align-items: center;
    margin-top: 20px;
    overflow: hidden;
    border-radius: 20px;
    background: #f4f8f9;
  }

  .prototype-reviews-widget iframe {
    position: relative;
    z-index: 2;
    display: block;
    width: 100%;
    min-height: 330px;
    max-width: 1170px;
    border: 0;
  }

  .prototype-reviews-widget__status {
    position: absolute;
    inset: 0;
    z-index: 1;
    display: grid;
    place-items: center;
    padding: 24px;
    color: #53717c;
    text-align: center;
  }

  .prototype-hero-media,
  .prototype-hero-slider,
  .prototype-hero-slider .swiper-wrapper,
  .prototype-hero-slider .swiper-slide {
    min-height: 100%;
    height: 100%;
  }

  .prototype-hero-media {
    min-width: 0;
    overflow: hidden;
    border-radius: 30px;
    background: #edf5f7;
    box-shadow: 0 0 15px 0 rgba(0, 0, 0, .05);
  }

  .prototype-hero-slider {
    position: relative;
    width: 100%;
    overflow: hidden;
  }

  .prototype-hero-slide {
    position: relative;
    display: flex;
    flex-direction: column;
    overflow: hidden;
    background: #fff;
  }

  .prototype-hero-image {
    position: relative;
    display: flex;
    flex: 1 1 auto;
    min-height: 0;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    background: #17161a;
  }

  .prototype-hero-image > img {
    display: block;
    width: 100%;
    height: 100%;
    min-height: 0;
    aspect-ratio: 1 / .78;
    object-fit: contain;
    object-position: center;
    transform: none;
  }

  .prototype-hero-slide_portrait .prototype-hero-image > img {
    object-fit: contain;
    transform: translateY(var(--portrait-shift, 4%)) scale(1.28);
    transform-origin: center;
  }

  .prototype-hero-slide_landscape .prototype-hero-image > img {
    object-fit: cover;
    object-position: center;
    transform: none;
  }

  .prototype-hero-caption {
    display: flex;
    flex: 0 0 auto;
    justify-content: space-between;
    align-items: center;
    gap: 12px;
    min-height: 42px;
    padding: 8px 16px;
    border-top: 1px solid rgba(255, 255, 255, .12);
    background: #173f51;
    color: #fff;
    font-size: 13px;
    line-height: 1.25;
  }

  .prototype-hero-caption span:last-child {
    color: rgba(255, 255, 255, .78);
    font-size: 11px;
    text-align: right;
  }

  .prototype-hero-watermark {
    position: absolute;
    top: 18px;
    left: 18px;
    z-index: 4;
    display: flex;
    width: 118px;
    height: 38px;
    align-items: center;
    justify-content: center;
    padding: 7px 10px;
    border-radius: 9px;
    background: rgba(11, 50, 67, .56);
    opacity: .72;
    pointer-events: none;
  }

  .prototype-hero-watermark img {
    display: block;
    width: 100%;
    height: auto;
    max-height: 24px;
    object-fit: contain;
  }

  .prototype-hero-slider__button {
    position: absolute;
    top: calc(50% - 26px);
    z-index: 5;
    display: grid;
    width: 44px;
    height: 44px;
    place-items: center;
    margin: 0;
    padding: 0;
    border: 0;
    border-radius: 50%;
    background: rgba(255, 255, 255, .92);
    color: #235268;
    box-shadow: 0 6px 18px rgba(11, 50, 67, .14);
    transform: translateY(-50%);
    cursor: pointer;
  }

  .prototype-hero-slider__button:hover,
  .prototype-hero-slider__button:focus-visible {
    background: #fff;
    outline: 2px solid #1986ac;
    outline-offset: 2px;
  }

  .prototype-hero-slider__button_prev {
    left: 16px;
  }

  .prototype-hero-slider__button_next {
    right: 16px;
  }

  .prototype-hero-slider__button_prev svg {
    transform: rotate(180deg);
  }

  .prototype-hero-slider .swiper-pagination {
    position: absolute;
    top: 18px;
    right: 18px;
    bottom: auto;
    left: auto;
    z-index: 5;
    display: flex;
    width: auto;
    gap: 6px;
    padding: 7px 9px;
    border-radius: 99px;
    background: rgba(11, 50, 67, .55);
  }

  .prototype-hero-slider .swiper-pagination-bullet {
    width: 7px;
    height: 7px;
    margin: 0 !important;
    background: #fff;
    opacity: .5;
  }

  .prototype-hero-slider .swiper-pagination-bullet-active {
    opacity: 1;
  }

  .service-top__bot.prototype-hero-form {
    align-items: center;
    padding: 16px;
    gap: 16px;
  }

  .prototype-hero-form .service-top__bot-coll {
    min-width: 0;
  }

  .prototype-hero-form .service-top__bot-box {
    min-width: 0;
  }

  .prototype-hero-form .service-top__info {
    font-size: 12px;
  }

  .prototype-hero-form .service-top__time {
    margin-top: 5px;
    font-size: 17px;
    line-height: 1.2;
  }

  .prototype-hero-form .service-top__bot-colr {
    width: 210px;
  }

  .prototype-hero-form .service-top__btn {
    display: flex;
    min-height: 62px;
    align-items: center;
    justify-content: center;
    padding: 12px 18px;
    font-size: 17px;
    line-height: 1.2;
    text-align: center;
    white-space: normal;
  }

  @media (min-width: 1024px) {
    .service-top__flex {
      align-items: stretch;
    }

    .service-top__coll,
    .service-top__colr {
      width: calc(50% - 15px);
      flex: 0 0 calc(50% - 15px);
    }

    .prototype-hero-media {
      height: auto;
      align-self: stretch;
    }

    .prototype-hero-slider,
    .prototype-hero-slider .swiper-wrapper,
    .prototype-hero-slider .swiper-slide {
      height: 100%;
    }
  }

  .prototype-intro-visual .what-this__flex {
    align-items: stretch;
    gap: 28px;
  }

  .prototype-intro-visual .what-this__coll {
    width: auto;
    flex: 1 1 58%;
  }

  .prototype-intro-visual .what-this__colr {
    width: auto;
    flex: 0 1 42%;
    min-width: 300px;
  }

  .prototype-intro-visual .what-this__img,
  .prototype-intro-picture {
    display: block;
    width: 100% !important;
    height: 100%;
    min-height: 280px;
    overflow: hidden;
    border-radius: 24px;
    background: #d9ebf0;
  }

  .prototype-intro-picture img {
    display: block;
    width: 100% !important;
    height: 100%;
    min-height: 280px;
    object-fit: cover;
    object-position: 50% 50%;
  }

  @media (max-width: 1023px) {
    .prototype-intro-visual .what-this__flex {
      gap: 22px;
    }

    .prototype-intro-visual .what-this__colr {
      min-width: 260px;
    }

    .prototype-situation-grid,
    .prototype-package-grid {
      grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .prototype-stage-prices .consultation__grid {
      grid-template-columns: 1fr;
    }

    .prototype-veneer-doctors__intro {
      grid-template-columns: 1fr;
    }

    .prototype-why-grid {
      grid-template-columns: 1fr;
    }

    .prototype-why-media,
    .prototype-why-media img {
      min-height: 390px;
    }

    .prototype-lab-card {
      grid-template-columns: 42px minmax(0, 1fr);
    }

    .prototype-lab-card__button {
      grid-column: auto;
      width: auto;
    }

    .prototype-veneer-doctors__photo,
    .prototype-veneer-doctors__photo img {
      min-height: 360px;
    }

    .prototype-clinic-grid {
      height: auto;
      grid-template-columns: 1fr;
    }

    .prototype-clinic-grid > img {
      aspect-ratio: 16 / 9;
      height: auto;
    }

    .prototype-hero-media,
    .prototype-hero-slider,
    .prototype-hero-slider .swiper-wrapper,
    .prototype-hero-slider .swiper-slide {
      height: auto;
      min-height: 0;
    }

    .prototype-hero-image > img {
      min-height: 0;
      aspect-ratio: 16 / 8.5;
      object-position: center;
    }

    .prototype-hero-slide_portrait .prototype-hero-image > img {
      transform: translateY(var(--portrait-shift, 4%)) scale(1.28);
    }
  }

  @media (max-width: 639px) {
    .prototype-intro-visual .what-this__flex {
      display: flex;
      flex-direction: column;
      gap: 18px;
    }

    .prototype-intro-visual .what-this__coll,
    .prototype-intro-visual .what-this__colr {
      width: 100%;
      min-width: 0;
      flex: none;
    }

    .prototype-intro-visual .what-this__colr {
      margin: 0 !important;
    }

    .prototype-intro-visual .what-this__img,
    .prototype-intro-picture,
    .prototype-intro-picture img {
      min-height: 0;
      aspect-ratio: 3 / 2;
    }

    .prototype-situation-grid,
    .prototype-package-grid,
    .prototype-indications__grid {
      grid-template-columns: 1fr;
    }

    .prototype-indications__card {
      padding: 22px 20px;
      border-radius: 22px;
    }

    .prototype-situation-card__title {
      font-size: 17px;
    }

    .prototype-package-card {
      min-height: 0;
    }

    .prototype-clinic-values,
    .prototype-clinic-side {
      grid-template-columns: 1fr;
    }

    .prototype-clinic-side {
      grid-template-rows: none;
    }

    .prototype-clinic-side > img {
      height: auto;
      aspect-ratio: 16 / 10;
    }

    .prototype-clinic-admin {
      grid-column: auto;
      grid-template-columns: 96px minmax(0, 1fr);
    }

    .prototype-clinic-admin img {
      height: 138px;
    }

    .prototype-veneer-doctors__lead {
      margin-bottom: 20px;
      font-size: 16px;
    }

    .prototype-veneer-doctors__photo,
    .prototype-veneer-doctors__photo img {
      min-height: 260px;
    }

    .prototype-veneer-doctors__photo-caption {
      right: 12px;
      bottom: 12px;
      left: 12px;
      padding: 10px 12px;
      font-size: 12px;
    }

    .prototype-veneer-doctors__promise {
      padding: 24px 20px;
    }

    .prototype-veneer-doctors__promise-title {
      font-size: 24px;
    }

    .prototype-veneer-doctors__award {
      grid-template-columns: 1fr;
      padding: 20px;
    }

    .prototype-why-lead {
      margin-bottom: 20px;
      font-size: 16px;
    }

    .prototype-why-media,
    .prototype-why-media img {
      min-height: 260px;
    }

    .prototype-why-media figcaption {
      right: 12px;
      bottom: 12px;
      left: 12px;
      padding: 10px 12px;
      font-size: 12px;
    }

    .prototype-why-card {
      grid-template-columns: 38px minmax(0, 1fr);
      gap: 4px 12px;
      padding: 18px;
    }

    .prototype-why-card__mark {
      width: 38px;
      height: 38px;
      border-radius: 10px;
      font-size: 17px;
    }

    .prototype-why-card h3 {
      font-size: 18px;
    }

    .prototype-lab-card {
      grid-template-columns: 38px minmax(0, 1fr);
      gap: 10px 12px;
      padding: 18px;
    }

    .prototype-lab-card__mark {
      width: 38px;
      height: 38px;
      border-radius: 10px;
    }

    .prototype-lab-card h3 {
      font-size: 21px;
    }

    .prototype-lab-card__button {
      width: fit-content;
      grid-column: 2;
    }

    .prototype-stage-prices .consultation__item {
      min-height: 88px;
      grid-template-columns: 40px minmax(0, 1fr);
      gap: 6px 12px;
      padding: 15px 16px;
    }

    .prototype-stage-prices .consultation__number {
      width: 40px;
      height: 40px;
      min-width: 40px;
      grid-row: 1 / span 2;
      border-radius: 10px;
      font-size: 16px;
    }

    .prototype-stage-prices .prototype-cost-row__name {
      font-size: 16px;
    }

    .prototype-stage-prices .prototype-stage-price {
      grid-column: 2;
      font-size: 16px;
      text-align: left;
    }

    .prototype-treatment-stages .consultation__grid {
      gap: 10px;
    }

    .prototype-stage-card__body {
      min-height: 68px;
      padding: 11px 12px 13px;
    }

    .prototype-treatment-stages .prototype-stage-card .consultation__desc {
      font-size: 15px;
    }

    .prototype-treatment-stages .prototype-stage-card .consultation__number {
      top: 9px;
      left: 9px;
      width: 36px;
      height: 36px;
      min-width: 36px;
      border-radius: 9px;
      font-size: 16px;
    }

    .prototype-hero-media {
      border-radius: 15px;
    }

    .prototype-hero-image > img {
      aspect-ratio: 4 / 3;
      height: auto;
    }

    .prototype-hero-slide_portrait .prototype-hero-image > img {
      transform: translateY(var(--portrait-shift, 4%)) scale(1.22);
    }

    .prototype-hero-caption {
      min-height: 40px;
      padding: 7px 10px;
      font-size: 12px;
    }

    .prototype-hero-caption span:last-child {
      display: none;
    }

    .prototype-hero-slider__button {
      width: 38px;
      height: 38px;
    }

    .prototype-hero-slider__button_prev {
      left: 10px;
    }

    .prototype-hero-slider__button_next {
      right: 10px;
    }

    .prototype-hero-slider .swiper-pagination {
      top: 10px;
      right: 10px;
    }

    .prototype-hero-watermark {
      top: 10px;
      left: 10px;
      width: 98px;
      height: 32px;
      padding: 6px 8px;
    }

    .service-top__bot.prototype-hero-form {
      padding: 14px;
    }

    .prototype-hero-form .service-top__bot-colr {
      width: 100%;
    }

    .prototype-hero-form .service-top__btn {
      min-height: 52px;
      font-size: 16px;
      white-space: normal;
    }

    .prototype-technologies > .prototype-source-note {
      min-height: 0;
      padding-right: 96px;
    }

    .prototype-reviews-widget,
    .prototype-reviews-widget iframe {
      min-height: 390px;
    }
  }

:root {
    --prototype-type-heading: 52px;
    --prototype-type-block: 24px;
    --prototype-type-text: 17px;
  }

  main,
  main * {
    font-family: "Onest", Arial, sans-serif !important;
    font-size: var(--prototype-type-text) !important;
    line-height: 1.5;
  }

  main :is(
    h3,
    .advantages__name,
    .inner-advantages__title,
    .inner-service__name,
    .specialist__name,
    .certificate__name,
    .comment__title,
    .faq__title,
    .section-case__title,
    .section-case__doctor-name,
    .table-price__title,
    .table-price__price,
    .service-top__price,
    .service-top__time,
    .technology__name,
    .consultation__desc,
    .consultation__number,
    .prototype-situation-card__title,
    .prototype-veneer-doctors__promise-title,
    .prototype-veneer-doctors__award strong,
    .prototype-cost-row__name,
    .prototype-stage-price,
    .prototype-package-card__title,
    .prototype-package-card__price,
    .prototype-clinic-value strong,
    .prototype-clinic-admin h3,
    .prototype-why-card h3,
    .prototype-why-card__mark,
    .prototype-lab-card h3
  ),
  main :is(
    h3,
    .advantages__name,
    .inner-advantages__title,
    .inner-service__name,
    .specialist__name,
    .certificate__name,
    .comment__title,
    .faq__title,
    .section-case__title,
    .section-case__doctor-name,
    .table-price__title,
    .table-price__price,
    .service-top__price,
    .service-top__time,
    .technology__name,
    .consultation__desc,
    .prototype-situation-card__title,
    .prototype-veneer-doctors__promise-title,
    .prototype-veneer-doctors__award strong,
    .prototype-cost-row__name,
    .prototype-package-card__title,
    .prototype-package-card__price,
    .prototype-clinic-value strong,
    .prototype-clinic-admin h3,
    .prototype-why-card h3,
    .prototype-lab-card h3
  ) * {
    font-size: var(--prototype-type-block) !important;
    line-height: 1.25;
  }

  main :is(h1, h2, .page-title, .main-title),
  main :is(h1, h2, .page-title, .main-title) * {
    font-size: var(--prototype-type-heading) !important;
    line-height: 1.08;
  }

  @media (max-width: 767px) {
    :root {
      --prototype-type-heading: 34px;
      --prototype-type-block: 21px;
      --prototype-type-text: 16px;
    }
  }

@media (max-width: 767px) {
  .make-appointment.prototype-team-appointment .make-appointment__bg {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    height: auto !important;
    min-height: 0 !important;
    overflow: hidden !important;
  }

  .make-appointment.prototype-team-appointment .make-appointment__coll {
    box-sizing: border-box;
    width: 100% !important;
    height: auto !important;
    padding: 28px 24px 22px !important;
  }

  .make-appointment.prototype-team-appointment .make-appointment__box,
  .make-appointment.prototype-team-appointment .main-title,
  .make-appointment.prototype-team-appointment .make-appointment__desc {
    width: 100% !important;
    max-width: none !important;
  }

  .make-appointment.prototype-team-appointment .make-appointment__colr {
    position: relative !important;
    right: auto !important;
    bottom: auto !important;
    box-sizing: border-box;
    width: 100% !important;
    height: 260px !important;
    max-width: none !important;
    margin: 0 !important;
    overflow: hidden !important;
  }

  .make-appointment.prototype-team-appointment .cta-photo::before {
    top: 0 !important;
    width: 100% !important;
  }

  .make-appointment.prototype-team-appointment .cta-photo__image {
    width: 100% !important;
    height: 100% !important;
    object-fit: contain !important;
    object-position: center bottom !important;
  }

  .make-appointment.prototype-team-appointment .cta-photo__caption {
    right: 12px !important;
    left: 12px !important;
    bottom: 10px !important;
  }
}

.prototype-faq-compact .faq__accordion {
    margin-top: 28px !important;
  }

  .prototype-faq-compact .faq__item {
    margin-bottom: 12px !important;
    border-radius: 24px !important;
  }

  .prototype-faq-compact .faq__open {
    min-height: 76px !important;
    padding: 16px 24px !important;
    gap: 20px !important;
  }

  .prototype-faq-compact .faq__title {
    padding-right: 12px !important;
  }

  .prototype-faq-compact .faq__open-btn {
    width: 44px !important;
    min-width: 44px !important;
    height: 44px !important;
  }

  .prototype-faq-compact .faq__data {
    padding: 0 24px 18px !important;
  }

  .prototype-faq-compact .faq__desc {
    padding: 0 !important;
    max-width: 1180px;
  }

  @media (max-width: 767px) {
    .prototype-faq-compact .faq__accordion {
      margin-top: 20px !important;
    }

    .prototype-faq-compact .faq__item {
      margin-bottom: 10px !important;
      border-radius: 18px !important;
    }

    .prototype-faq-compact .faq__open {
      min-height: 64px !important;
      padding: 12px 16px !important;
      gap: 12px !important;
    }

    .prototype-faq-compact .faq__open-btn {
      width: 38px !important;
      min-width: 38px !important;
      height: 38px !important;
    }

    .prototype-faq-compact .faq__data {
      padding: 0 16px 14px !important;
    }
  }

.make-appointment .cta-photo__caption {
    position: absolute;
    right: 28px;
    left: 28px;
    bottom: 22px;
    z-index: 4;
    padding: 8px 14px;
    border-radius: 999px;
    background: rgba(24, 76, 95, 0.9);
    color: #fff;
    font-size: var(--prototype-type-text) !important;
    line-height: 1.2;
    text-align: center;
    white-space: normal;
  }

  @media (max-width: 767px) {
    .make-appointment .cta-photo__caption {
      right: 10px;
      left: 10px;
      bottom: 10px;
      padding: 6px 10px;
    }
  }

.specialist__bot.prototype-specialist-actions {
    display: grid;
    grid-template-columns: 1fr;
    gap: 10px;
  }

  .prototype-specialist-actions__appointment,
  .prototype-specialist-actions__works {
    box-sizing: border-box;
    width: 100%;
    min-height: 50px;
    margin: 0;
    padding: 11px 14px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: var(--prototype-type-text) !important;
    line-height: 1.2 !important;
    text-align: center;
  }

  .prototype-specialist-actions__appointment {
    border: 0;
    cursor: pointer;
  }

  @media (max-width: 767px) {
    .specialist__bot.prototype-specialist-actions {
      gap: 8px;
    }

    .prototype-specialist-actions__appointment,
    .prototype-specialist-actions__works {
      min-height: 46px;
      padding: 9px 11px;
    }
  }

  .prototype-resource-links {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 18px;
  }

  .prototype-resource-links a {
    display: inline-flex;
    min-height: 46px;
    align-items: center;
    justify-content: center;
    padding: 9px 16px;
    border: 1px solid #235268;
    border-radius: 12px;
    color: #235268;
    font-size: var(--prototype-type-text) !important;
    font-weight: 600;
    line-height: 1.2;
    text-align: center;
    text-decoration: none;
  }

  .prototype-related-articles {
    min-width: 0;
    overflow: hidden;
  }

  .prototype-related-articles__grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 16px;
    margin-top: 24px;
  }

  .prototype-related-article {
    display: flex;
    min-height: 96px;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 20px;
    border-radius: 20px;
    background: #f4f6f4;
    color: #235268;
    font-size: var(--prototype-type-block) !important;
    font-weight: 600;
    line-height: 1.2;
    text-decoration: none;
  }

  .prototype-related-article:nth-child(3n + 2) {
    background: #d9edf4;
  }

  .prototype-related-article:nth-child(3n) {
    background: #235268;
    color: #fff;
  }

  .prototype-related-article::after {
    content: '\2192';
    flex: 0 0 auto;
  }

  @media (max-width: 767px) {
    .prototype-resource-links {
      display: grid;
      grid-template-columns: 1fr;
    }

    .prototype-related-articles__grid {
      grid-template-columns: 1fr;
      gap: 10px;
      margin-top: 18px;
    }

    .prototype-related-article {
      min-height: 72px;
      padding: 16px;
    }
  }


/* Карточка преимущества. Правка 12.09.2026.
   Сайтовая вёрстка держит заголовок вверху, а текст прижимает вниз
   (.inner-advantages__desc { margin-top: auto } при min-height: 194px).
   Описания на этой странице короткие, поэтому между заголовком и текстом
   получался зазор 76px и читался как ошибка вёрстки.
   Снимаем принудительную высоту и прижим, заголовок возвращаем к сайтовому
   размеру 32/24px. Почему селектор такой длинный: общее правило выше
   написано через main :is(...), а :is() берёт вес самого тяжёлого аргумента
   в списке (.prototype-why-card h3), то есть (0,1,2). Короткое
   main .inner-advantages__title весит (0,1,1) и проигрывает даже с !important,
   поэтому добавлен класс карточки. */
main .inner-advantages__item {
  min-height: 0;
}

main .inner-advantages__item .inner-advantages__desc {
  margin-top: 0;
}

main .inner-advantages__item .inner-advantages__title,
main .inner-advantages__item .inner-advantages__title * {
  font-size: 32px !important;
  line-height: 1.05;
}

@media (max-width: 767px) {
  main .inner-advantages__item .inner-advantages__title,
  main .inner-advantages__item .inner-advantages__title * {
    font-size: 24px !important;
    line-height: 1.25;
  }
}


/* Блок статей. Правка 12.09.2026 по решению владельца.
   Сниппет getRelArticlesCache выводит свой заголовок «Статьи по теме», и это
   не h2, а div, то есть у блока нет заголовка в структуре страницы. Сам сниппет
   общий для сайта и правке не подлежит. Поэтому в чанке перед вызовом ставится
   настоящий h2 «Полезные статьи о винирах», а штатный заголовок скрывается.
   Отступ секции снимается, иначе заголовок и слайдер разъезжаются. */
main .prototype-articles-block .media-about-us {
  margin-top: 0;
}

main .prototype-articles-block .media-about-us .main-title_slider {
  display: none;
}

main .prototype-articles-block__title {
  margin-bottom: 0;
}
