

/* Start:/local/templates/dnk174_2026/css/reset.css?1792577113592*/
/* Сброс стилей. Подключается перед style.css */

*,
*::before,
*::after {
  box-sizing: border-box;
}

/* hidden должен побеждать display из компонентных правил */
[hidden] {
  display: none !important;
}

html {
  -webkit-text-size-adjust: 100%;
}

img {
  max-width: 100%;
  display: block;
}

a {
  color: inherit;
  text-decoration: none;
}

button {
  font: inherit;
  color: inherit;
  cursor: pointer;
}

p {
  margin: 0;
}

ul {
  margin: 0;
  padding: 0;
  list-style: none;
}

/* End */


/* Start:/local/templates/dnk174_2026/js/swiper/swiper-bundle.min.css?179257711314609*/
/**
 * Swiper 12.2.0
 * Most modern mobile touch slider and framework with hardware accelerated transitions
 * https://swiperjs.com
 *
 * Copyright 2014-2026 Vladimir Kharlampidi
 *
 * Released under the MIT License
 *
 * Released on: May 27, 2026
 */

:root{--swiper-theme-color:#007aff}:host{display:block;margin-left:auto;margin-right:auto;position:relative;z-index:1}.swiper{display:block;list-style:none;margin-left:auto;margin-right:auto;overflow:hidden;padding:0;position:relative;z-index:1}.swiper-vertical>.swiper-wrapper{flex-direction:column}.swiper-wrapper{box-sizing:initial;display:flex;height:100%;position:relative;transition-property:transform;transition-timing-function:var(--swiper-wrapper-transition-timing-function,initial);width:100%;z-index:1}.swiper-android .swiper-slide,.swiper-ios .swiper-slide,.swiper-wrapper{transform:translateZ(0)}.swiper-horizontal{touch-action:pan-y}.swiper-vertical{touch-action:pan-x}.swiper-slide{display:block;flex-shrink:0;height:100%;position:relative;transition-property:transform;width:100%}.swiper-slide-invisible-blank{visibility:hidden}.swiper-autoheight,.swiper-autoheight .swiper-slide{height:auto}.swiper-autoheight .swiper-wrapper{align-items:flex-start;transition-property:transform,height}.swiper-backface-hidden .swiper-slide{backface-visibility:hidden;transform:translateZ(0)}.swiper-3d.swiper-css-mode .swiper-wrapper{perspective:1200px}.swiper-3d .swiper-wrapper{transform-style:preserve-3d}.swiper-3d{perspective:1200px;.swiper-cube-shadow,.swiper-slide{transform-style:preserve-3d}}.swiper-css-mode{>.swiper-wrapper{overflow:auto;scrollbar-width:none;-ms-overflow-style:none;&::-webkit-scrollbar{display:none}}>.swiper-wrapper>.swiper-slide{scroll-snap-align:start start}&.swiper-horizontal{>.swiper-wrapper{scroll-snap-type:x mandatory}>.swiper-wrapper>.swiper-slide:first-child{margin-inline-start:var(--swiper-slides-offset-before);scroll-margin-inline-start:var(--swiper-slides-offset-before)}>.swiper-wrapper>.swiper-slide:last-child{margin-inline-end:var(--swiper-slides-offset-after)}}&.swiper-vertical{>.swiper-wrapper{scroll-snap-type:y mandatory}>.swiper-wrapper>.swiper-slide:first-child{margin-block-start:var(--swiper-slides-offset-before);scroll-margin-block-start:var(--swiper-slides-offset-before)}>.swiper-wrapper>.swiper-slide:last-child{margin-block-end:var(--swiper-slides-offset-after)}}&.swiper-free-mode{>.swiper-wrapper{scroll-snap-type:none}>.swiper-wrapper>.swiper-slide{scroll-snap-align:none}}&.swiper-centered{>.swiper-wrapper:before{content:"";flex-shrink:0;order:9999}>.swiper-wrapper>.swiper-slide{scroll-snap-align:center center;scroll-snap-stop:always}}&.swiper-centered.swiper-horizontal{>.swiper-wrapper>.swiper-slide:first-child{margin-inline-start:var(--swiper-centered-offset-before)}>.swiper-wrapper:before{height:100%;min-height:1px;width:var(--swiper-centered-offset-after)}}&.swiper-centered.swiper-vertical{>.swiper-wrapper>.swiper-slide:first-child{margin-block-start:var(--swiper-centered-offset-before)}>.swiper-wrapper:before{height:var(--swiper-centered-offset-after);min-width:1px;width:100%}}}.swiper-3d{.swiper-slide-shadow,.swiper-slide-shadow-bottom,.swiper-slide-shadow-left,.swiper-slide-shadow-right,.swiper-slide-shadow-top{height:100%;left:0;pointer-events:none;position:absolute;top:0;width:100%;z-index:10}.swiper-slide-shadow{background:#00000026}.swiper-slide-shadow-left{background-image:linear-gradient(270deg,#00000080,#0000)}.swiper-slide-shadow-right{background-image:linear-gradient(90deg,#00000080,#0000)}.swiper-slide-shadow-top{background-image:linear-gradient(0deg,#00000080,#0000)}.swiper-slide-shadow-bottom{background-image:linear-gradient(180deg,#00000080,#0000)}}.swiper-lazy-preloader{border:4px solid var(--swiper-preloader-color,var(--swiper-theme-color));border-radius:50%;border-top:4px solid #0000;box-sizing:border-box;height:42px;left:50%;margin-left:-21px;margin-top:-21px;position:absolute;top:50%;transform-origin:50%;width:42px;z-index:10}.swiper-watch-progress .swiper-slide-visible,.swiper:not(.swiper-watch-progress){.swiper-lazy-preloader{animation:swiper-preloader-spin 1s linear infinite}}.swiper-lazy-preloader-white{--swiper-preloader-color:#fff}.swiper-lazy-preloader-black{--swiper-preloader-color:#000}@keyframes swiper-preloader-spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.swiper-virtual .swiper-slide{-webkit-backface-visibility:hidden;transform:translateZ(0)}.swiper-virtual.swiper-css-mode{.swiper-wrapper:after{content:"";left:0;pointer-events:none;position:absolute;top:0}}.swiper-virtual.swiper-css-mode.swiper-horizontal{.swiper-wrapper:after{height:1px;width:var(--swiper-virtual-size)}}.swiper-virtual.swiper-css-mode.swiper-vertical{.swiper-wrapper:after{height:var(--swiper-virtual-size);width:1px}}:root{--swiper-navigation-size:44px}.swiper-button-next,.swiper-button-prev{align-items:center;color:var(--swiper-navigation-color,var(--swiper-theme-color));cursor:pointer;display:flex;height:var(--swiper-navigation-size);justify-content:center;position:absolute;width:var(--swiper-navigation-size);z-index:10;&.swiper-button-disabled{cursor:auto;opacity:.35;pointer-events:none}&.swiper-button-hidden{cursor:auto;opacity:0;pointer-events:none}.swiper-navigation-disabled &{display:none!important}::slotted(svg),svg{height:100%;object-fit:contain;transform-origin:center;width:100%;fill:currentColor;pointer-events:none}}.swiper-button-lock{display:none}.swiper-button-next,.swiper-button-prev{margin-top:calc(0px - var(--swiper-navigation-size)/2);top:var(--swiper-navigation-top-offset,50%)}.swiper-button-prev{left:var(--swiper-navigation-sides-offset,4px);right:auto;.swiper-navigation-icon,::slotted(.swiper-navigation-icon){transform:rotate(180deg)}}.swiper-button-next{left:auto;right:var(--swiper-navigation-sides-offset,4px)}.swiper-horizontal{.swiper-button-next,.swiper-button-prev,~.swiper-button-next,~.swiper-button-prev{margin-left:0;margin-top:calc(0px - var(--swiper-navigation-size)/2);top:var(--swiper-navigation-top-offset,50%)}&.swiper-rtl .swiper-button-next,&.swiper-rtl~.swiper-button-next,&~.swiper-button-prev,.swiper-button-prev{left:var(--swiper-navigation-sides-offset,4px);right:auto}&.swiper-rtl .swiper-button-prev,&.swiper-rtl~.swiper-button-prev,&~.swiper-button-next,.swiper-button-next{left:auto;right:var(--swiper-navigation-sides-offset,4px)}&.swiper-rtl .swiper-button-next,&.swiper-rtl~.swiper-button-next,&~.swiper-button-prev,.swiper-button-prev{.swiper-navigation-icon,::slotted(.swiper-navigation-icon){transform:rotate(180deg)}}&.swiper-rtl .swiper-button-prev,&.swiper-rtl~.swiper-button-prev{.swiper-navigation-icon,::slotted(.swiper-navigation-icon){transform:rotate(0deg)}}}.swiper-vertical{.swiper-button-next,.swiper-button-prev,~.swiper-button-next,~.swiper-button-prev{left:var(--swiper-navigation-top-offset,50%);margin-left:calc(0px - var(--swiper-navigation-size)/2);margin-top:0;right:auto}.swiper-button-prev,~.swiper-button-prev{bottom:auto;top:var(--swiper-navigation-sides-offset,4px);.swiper-navigation-icon,::slotted(.swiper-navigation-icon){transform:rotate(-90deg)}}.swiper-button-next,~.swiper-button-next{bottom:var(--swiper-navigation-sides-offset,4px);top:auto;.swiper-navigation-icon,::slotted(.swiper-navigation-icon){transform:rotate(90deg)}}}.swiper-pagination{position:absolute;text-align:center;transform:translateZ(0);transition:opacity .3s;z-index:10;&.swiper-pagination-hidden{opacity:0}&.swiper-pagination-disabled,.swiper-pagination-disabled>&{display:none!important}}.swiper-horizontal>.swiper-pagination-bullets,.swiper-pagination-bullets.swiper-pagination-horizontal,.swiper-pagination-custom,.swiper-pagination-fraction{bottom:var(--swiper-pagination-bottom,8px);left:0;top:var(--swiper-pagination-top,auto);width:100%}.swiper-pagination-bullets-dynamic{font-size:0;overflow:hidden;.swiper-pagination-bullet{position:relative;transform:scale(.33)}.swiper-pagination-bullet-active,.swiper-pagination-bullet-active-main{transform:scale(1)}.swiper-pagination-bullet-active-prev{transform:scale(.66)}.swiper-pagination-bullet-active-prev-prev{transform:scale(.33)}.swiper-pagination-bullet-active-next{transform:scale(.66)}.swiper-pagination-bullet-active-next-next{transform:scale(.33)}}.swiper-pagination-bullet{background:var(--swiper-pagination-bullet-inactive-color,#000);border-radius:var(--swiper-pagination-bullet-border-radius,50%);display:inline-block;height:var(--swiper-pagination-bullet-height,var(--swiper-pagination-bullet-size,8px));opacity:var(--swiper-pagination-bullet-inactive-opacity,.2);width:var(--swiper-pagination-bullet-width,var(--swiper-pagination-bullet-size,8px));button&{appearance:none;border:none;box-shadow:none;margin:0;padding:0}.swiper-pagination-clickable &{cursor:pointer}&:only-child{display:none!important}}.swiper-pagination-bullet-active{background:var(--swiper-pagination-color,var(--swiper-theme-color));opacity:var(--swiper-pagination-bullet-opacity,1)}.swiper-pagination-vertical.swiper-pagination-bullets,.swiper-vertical>.swiper-pagination-bullets{left:var(--swiper-pagination-left,auto);right:var(--swiper-pagination-right,8px);top:50%;transform:translate3d(0,-50%,0);.swiper-pagination-bullet{display:block;margin:var(--swiper-pagination-bullet-vertical-gap,6px) 0}&.swiper-pagination-bullets-dynamic{top:50%;transform:translateY(-50%);width:8px;.swiper-pagination-bullet{display:inline-block;transition:transform .2s,top .2s}}}.swiper-horizontal>.swiper-pagination-bullets,.swiper-pagination-horizontal.swiper-pagination-bullets{.swiper-pagination-bullet{margin:0 var(--swiper-pagination-bullet-horizontal-gap,4px)}&.swiper-pagination-bullets-dynamic{left:50%;transform:translateX(-50%);white-space:nowrap;.swiper-pagination-bullet{transition:transform .2s,left .2s}}}.swiper-horizontal.swiper-rtl>.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{transition:transform .2s,right .2s}.swiper-pagination-fraction{color:var(--swiper-pagination-fraction-color,inherit)}.swiper-pagination-progressbar{background:var(--swiper-pagination-progressbar-bg-color,#00000040);position:absolute;.swiper-pagination-progressbar-fill{background:var(--swiper-pagination-color,var(--swiper-theme-color));height:100%;left:0;position:absolute;top:0;transform:scale(0);transform-origin:left top;width:100%}.swiper-rtl & .swiper-pagination-progressbar-fill{transform-origin:right top}&.swiper-pagination-horizontal,&.swiper-pagination-vertical.swiper-pagination-progressbar-opposite,.swiper-horizontal>&,.swiper-vertical>&.swiper-pagination-progressbar-opposite{height:var(--swiper-pagination-progressbar-size,4px);left:0;top:0;width:100%}&.swiper-pagination-horizontal.swiper-pagination-progressbar-opposite,&.swiper-pagination-vertical,.swiper-horizontal>&.swiper-pagination-progressbar-opposite,.swiper-vertical>&{height:100%;left:0;top:0;width:var(--swiper-pagination-progressbar-size,4px)}}.swiper-pagination-lock{display:none}.swiper-scrollbar{background:var(--swiper-scrollbar-bg-color,#0000001a);border-radius:var(--swiper-scrollbar-border-radius,10px);position:relative;touch-action:none;&.swiper-scrollbar-disabled,.swiper-scrollbar-disabled>&{display:none!important}&.swiper-scrollbar-horizontal,.swiper-horizontal>&{bottom:var(--swiper-scrollbar-bottom,4px);height:var(--swiper-scrollbar-size,4px);left:var(--swiper-scrollbar-sides-offset,1%);position:absolute;top:var(--swiper-scrollbar-top,auto);width:calc(100% - var(--swiper-scrollbar-sides-offset, 1%)*2);z-index:50}&.swiper-scrollbar-vertical,.swiper-vertical>&{height:calc(100% - var(--swiper-scrollbar-sides-offset, 1%)*2);left:var(--swiper-scrollbar-left,auto);position:absolute;right:var(--swiper-scrollbar-right,4px);top:var(--swiper-scrollbar-sides-offset,1%);width:var(--swiper-scrollbar-size,4px);z-index:50}}.swiper-scrollbar-drag{background:var(--swiper-scrollbar-drag-bg-color,#00000080);border-radius:var(--swiper-scrollbar-border-radius,10px);height:100%;left:0;position:relative;top:0;width:100%}.swiper-scrollbar-cursor-drag{cursor:move}.swiper-scrollbar-lock{display:none}.swiper-zoom-container{align-items:center;display:flex;height:100%;justify-content:center;text-align:center;width:100%;>canvas,>img,>svg{max-height:100%;max-width:100%;object-fit:contain}}.swiper-slide-zoomed{cursor:move;touch-action:none}.swiper .swiper-notification{left:0;opacity:0;pointer-events:none;position:absolute;top:0;z-index:-1000}.swiper-free-mode>.swiper-wrapper{margin:0 auto;transition-timing-function:ease-out}.swiper-grid>.swiper-wrapper{flex-wrap:wrap}.swiper-grid-column>.swiper-wrapper{flex-direction:column;flex-wrap:wrap}.swiper-fade{&.swiper-free-mode{.swiper-slide{transition-timing-function:ease-out}}.swiper-slide{pointer-events:none;transition-property:opacity;.swiper-slide{pointer-events:none}}.swiper-slide-active{pointer-events:auto;& .swiper-slide-active{pointer-events:auto}}}.swiper.swiper-cube{overflow:visible}.swiper-cube{.swiper-slide{backface-visibility:hidden;height:100%;pointer-events:none;transform-origin:0 0;visibility:hidden;width:100%;z-index:1;.swiper-slide{pointer-events:none}}&.swiper-rtl .swiper-slide{transform-origin:100% 0}.swiper-slide-active{&,& .swiper-slide-active{pointer-events:auto}}.swiper-slide-active,.swiper-slide-next,.swiper-slide-prev{pointer-events:auto;visibility:visible}.swiper-cube-shadow{bottom:0;height:100%;left:0;opacity:.6;position:absolute;width:100%;z-index:0;&:before{background:#000;bottom:0;content:"";filter:blur(50px);left:0;position:absolute;right:0;top:0}}}.swiper-cube{.swiper-slide-next+.swiper-slide{pointer-events:auto;visibility:visible}}.swiper-cube{.swiper-slide-shadow-cube.swiper-slide-shadow-bottom,.swiper-slide-shadow-cube.swiper-slide-shadow-left,.swiper-slide-shadow-cube.swiper-slide-shadow-right,.swiper-slide-shadow-cube.swiper-slide-shadow-top{backface-visibility:hidden;z-index:0}}.swiper.swiper-flip{overflow:visible}.swiper-flip{.swiper-slide{backface-visibility:hidden;pointer-events:none;z-index:1;.swiper-slide{pointer-events:none}}.swiper-slide-active{&,& .swiper-slide-active{pointer-events:auto}}}.swiper-flip{.swiper-slide-shadow-flip.swiper-slide-shadow-bottom,.swiper-slide-shadow-flip.swiper-slide-shadow-left,.swiper-slide-shadow-flip.swiper-slide-shadow-right,.swiper-slide-shadow-flip.swiper-slide-shadow-top{backface-visibility:hidden;z-index:0}}.swiper-creative{.swiper-slide{backface-visibility:hidden;overflow:hidden;transition-property:transform,opacity,height}}.swiper.swiper-cards{overflow:visible}.swiper-cards{.swiper-slide{backface-visibility:hidden;overflow:hidden;transform-origin:center bottom}}
/* End */


/* Start:/local/templates/dnk174_2026/js/bvi/bvi.min.css?179257711378736*/
/*!
 * Button visually impaired v1.0.0 (https://bvi.isvek.ru/)
 * Copyright 2014-2021 <bvi@isvek.ru>
 * Licensed under MIT (https://github.com/veks/button-visually-impaired-javascript/blob/master/LICENSE.md)
 */html:not(.bvi-panel){font-size:100%}html:not(.bvi-panel) *,html:not(.bvi-panel) ::after,html:not(.bvi-panel) ::before{box-sizing:border-box}html body .bvi-panel{font-family:Arial,serif!important;font-size:1rem!important;padding:.5rem;color:#000;top:0;left:0;right:0;letter-spacing:0;position:relative;text-shadow:none;line-height:normal;border:0;margin-bottom:.3rem;background-color:#f7f7f7;box-shadow:0 1px 3px 0 rgba(0,0,0,.23);z-index:999999!important}html body .bvi-panel *{font-family:Arial,serif!important;font-size:1rem!important}html body .bvi-panel.bvi-fixed-top{position:fixed;top:0;right:0;left:0;z-index:999999}html body .bvi-panel.bvi-panel-hide{display:none}html body .bvi-panel a{color:#000!important;outline:0!important;background-color:transparent!important;text-decoration:none!important}html body .bvi-panel a:focus,html body .bvi-panel a:hover{color:#000!important;outline:0!important;background-color:transparent!important;text-decoration:none!important}html body .bvi-panel a.bvi-link{display:inline-block;line-height:1.5;font-size:.875rem!important;color:#212529!important;text-align:center;text-decoration:none;vertical-align:middle;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;background-color:#e0e0e0!important;border:1px solid #c6c6c6!important;padding:.375rem .75rem;border-radius:.25rem;position:relative;font-weight:700;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}html body .bvi-panel a.bvi-link::after{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;content:""}html body .bvi-panel a.bvi-link:focus,html body .bvi-panel a.bvi-link:hover{background-color:#b6b6b6!important}html body .bvi-panel a.bvi-link.active{color:#212529!important;background-color:#b6b6b6!important}html body .bvi-panel a.bvi-link.bvi-theme-white{background-color:#fff!important;color:#000!important}html body .bvi-panel a.bvi-link.bvi-theme-black{background-color:#000!important;color:#fff!important}html body .bvi-panel a.bvi-link.bvi-theme-blue{background-color:#9dd1ff!important;color:#063462!important}html body .bvi-panel a.bvi-link.bvi-theme-brown{background-color:#f7f3d6!important;color:#4d4b43!important}html body .bvi-panel a.bvi-link.bvi-theme-green{background-color:#3b2716!important;color:#a9e44d!important}html body .bvi-panel .bvi-blocks{margin:0 auto;text-align:center;display:flex;flex-flow:row wrap}html body .bvi-panel .bvi-blocks.bvi-block-start{justify-content:flex-start}html body .bvi-panel .bvi-blocks.bvi-block-center{justify-content:center}html body .bvi-panel .bvi-blocks.bvi-block-end{justify-content:flex-end}html body .bvi-panel .bvi-block{padding:.688rem .938rem}html body .bvi-panel .bvi-block .bvi-block-title{text-align:center;font-weight:600!important;font-size:1rem!important;display:block;margin-bottom:.8rem}html body .bvi-panel .bvi-modal{position:fixed;top:0;left:0;width:100%;height:100%;overflow-x:hidden;overflow-y:auto;visibility:hidden;z-index:1050;outline:0;opacity:0;background:rgba(0,0,0,.5);-webkit-transition:opacity .2s ease-in;-moz-transition:opacity .2s ease-in;transition:opacity .2s ease-in}html body .bvi-panel .bvi-modal.show{visibility:visible;opacity:1}html body .bvi-panel .bvi-modal .bvi-modal-dialog{max-width:500px;margin:1.75rem auto;display:flex;align-items:center;height:calc(100% - 3.5rem);pointer-events:none}html body .bvi-panel .bvi-modal .bvi-modal-content{position:relative;display:flex;flex-direction:column;width:100%;pointer-events:auto;background-color:#fff;background-clip:padding-box;border:1px solid rgba(0,0,0,.2);border-radius:.3rem;outline:0;max-height:100%;overflow:hidden}html body .bvi-panel .bvi-modal .bvi-modal-header{display:flex;flex-shrink:0;align-items:center;justify-content:space-between;padding:.8rem .8rem;border-bottom:1px solid #dee2e6;border-top-left-radius:calc(.3rem - 1px);border-top-right-radius:calc(.3rem - 1px)}html body .bvi-panel .bvi-modal .bvi-modal-title{margin-top:0;margin-bottom:0;line-height:1.5;font-size:1.25rem;font-weight:600;color:#000}html body .bvi-panel .bvi-modal .bvi-modal-body{position:relative;flex:1 1 auto;padding:1rem;overflow-y:auto}html body .bvi-panel .bvi-modal .bvi-modal-body::-webkit-scrollbar{width:.5rem;background-color:transparent;opacity:0}html body .bvi-panel .bvi-modal .bvi-modal-body::-webkit-scrollbar-thumb{background-color:#dee2e6;border-radius:.25rem}html body .bvi-panel .bvi-modal .bvi-modal-footer{display:flex;flex-wrap:wrap;flex-shrink:0;align-items:center;justify-content:flex-end;padding:.8rem .8rem;border-top:1px solid #dee2e6;border-bottom-right-radius:calc(.3rem - 1px);border-bottom-left-radius:calc(.3rem - 1px)}html body .bvi-panel .bvi-modal .bvi-modal-close{float:right;font-size:1.2rem!important;font-weight:700;line-height:1;text-shadow:0 1px 0 #fff;opacity:.5}html body .bvi-panel .bvi-modal .bvi-modal-close:focus,html body .bvi-panel .bvi-modal .bvi-modal-close:hover{cursor:pointer;opacity:.75}body.bvi-active{margin:0;padding:0;top:0;left:0}body.bvi-active.bvi-noscroll{overflow:hidden!important}body .bvi-body{padding:0 .5rem}body .bvi-body[data-bvi-theme=white]:not(.bvi-no-styles){background-color:#fff!important;color:#000!important;fill:#000000!important;border-color:#000!important;box-shadow:none!important;text-shadow:none!important}body .bvi-body[data-bvi-theme=white] :not(.bvi-no-styles){background-color:#fff!important;color:#000!important;fill:#000000!important;border-color:#000!important;box-shadow:none!important;text-shadow:none!important}body .bvi-body[data-bvi-theme=white] :not(.bvi-no-styles) .bvi-speech-link,body .bvi-body[data-bvi-theme=white] :not(.bvi-no-styles) .bvi-speech-text{border-color:#000}body .bvi-body[data-bvi-theme=white] :not(.bvi-no-styles) .bvi-link:not(.bvi-no-styles){color:#000!important;background-color:transparent!important;text-underline:none!important;outline:0!important;text-decoration:none!important}body .bvi-body[data-bvi-theme=white] :not(.bvi-no-styles) .bvi-link:not(.bvi-no-styles).disabled{color:rgba(0,0,0,.5)!important;border:1px solid rgba(0,0,0,.5)!important;pointer-events:none;cursor:no-drop;text-decoration:none!important}body .bvi-body[data-bvi-theme=white] :not(.bvi-no-styles) .bvi-link:not(.bvi-no-styles).disabled:focus{color:rgba(0,0,0,.5)!important;border:1px solid rgba(0,0,0,.5)!important;text-underline:none!important;text-decoration:none!important}body .bvi-body[data-bvi-theme=white] :not(.bvi-no-styles) .bvi-link:not(.bvi-no-styles):hover{color:#fff!important;background-color:#000!important;text-underline:none!important;text-decoration:none!important}body .bvi-body[data-bvi-theme=white] :not(.bvi-no-styles) .bvi-link:not(.bvi-no-styles):focus{color:#000!important;background-color:#fff!important;text-underline:none!important;text-decoration:none!important}body .bvi-body[data-bvi-theme=white] :not(.bvi-no-styles) :checked:not(.bvi-no-styles),body .bvi-body[data-bvi-theme=white] :not(.bvi-no-styles) :default:not(.bvi-no-styles),body .bvi-body[data-bvi-theme=white] :not(.bvi-no-styles) :disabled:not(.bvi-no-styles),body .bvi-body[data-bvi-theme=white] :not(.bvi-no-styles) :empty:not(.bvi-no-styles),body .bvi-body[data-bvi-theme=white] :not(.bvi-no-styles) :enabled:not(.bvi-no-styles),body .bvi-body[data-bvi-theme=white] :not(.bvi-no-styles) :first-child:first-letter:not(.bvi-no-styles),body .bvi-body[data-bvi-theme=white] :not(.bvi-no-styles) :first-child:not(.bvi-no-styles),body .bvi-body[data-bvi-theme=white] :not(.bvi-no-styles) :first-of-type:not(.bvi-no-styles),body .bvi-body[data-bvi-theme=white] :not(.bvi-no-styles) :focus:not(.bvi-no-styles),body .bvi-body[data-bvi-theme=white] :not(.bvi-no-styles) :hover:not(.bvi-no-styles),body .bvi-body[data-bvi-theme=white] :not(.bvi-no-styles) :indeterminate:not(.bvi-no-styles),body .bvi-body[data-bvi-theme=white] :not(.bvi-no-styles) :last-child:not(.bvi-no-styles),body .bvi-body[data-bvi-theme=white] :not(.bvi-no-styles) :last-of-type:not(.bvi-no-styles),body .bvi-body[data-bvi-theme=white] :not(.bvi-no-styles) :link:not(.bvi-no-styles),body .bvi-body[data-bvi-theme=white] :not(.bvi-no-styles) :nth-last-child:not(.bvi-no-styles),body .bvi-body[data-bvi-theme=white] :not(.bvi-no-styles) :nth-last-of-type:not(.bvi-no-styles),body .bvi-body[data-bvi-theme=white] :not(.bvi-no-styles) :nth-of-type:not(.bvi-no-styles),body .bvi-body[data-bvi-theme=white] :not(.bvi-no-styles) :only-child:not(.bvi-no-styles),body .bvi-body[data-bvi-theme=white] :not(.bvi-no-styles) :only-of-type:not(.bvi-no-styles),body .bvi-body[data-bvi-theme=white] :not(.bvi-no-styles) :optional:not(.bvi-no-styles),body .bvi-body[data-bvi-theme=white] :not(.bvi-no-styles) :read-write:not(.bvi-no-styles),body .bvi-body[data-bvi-theme=white] :not(.bvi-no-styles) :required:not(.bvi-no-styles),body .bvi-body[data-bvi-theme=white] :not(.bvi-no-styles) :root:not(.bvi-no-styles),body .bvi-body[data-bvi-theme=white] :not(.bvi-no-styles) :target:not(.bvi-no-styles),body .bvi-body[data-bvi-theme=white] :not(.bvi-no-styles) :valid:not(.bvi-no-styles),body .bvi-body[data-bvi-theme=white] :not(.bvi-no-styles) :visited:not(.bvi-no-styles){background-color:#fff!important;box-shadow:none!important;text-shadow:none!important;border-color:#000!important;color:#000!important;fill:#000000!important}body .bvi-body[data-bvi-theme=white] :not(.bvi-no-styles)::after:not(.bvi-no-styles){background-color:rgba(255,255,255,0)!important;color:#000!important;box-shadow:none!important;text-shadow:none!important;border-color:transparent!important}body .bvi-body[data-bvi-theme=white] :not(.bvi-no-styles)::before:not(.bvi-no-styles){background-color:rgba(255,255,255,0)!important;color:#000!important;box-shadow:none!important;text-shadow:none!important;border-color:transparent!important}body .bvi-body[data-bvi-theme=white] :not(.bvi-no-styles)::selection:not(.bvi-no-styles){background-color:#000!important;color:#fff!important}body .bvi-body[data-bvi-theme=white] :not(.bvi-no-styles) a:not(.bvi-no-styles){outline:0!important;color:#000!important;background-color:transparent!important}body .bvi-body[data-bvi-theme=white] :not(.bvi-no-styles) a:not(.bvi-no-styles).active{color:#000!important;background-color:#fff!important}body .bvi-body[data-bvi-theme=white] :not(.bvi-no-styles) a:not(.bvi-no-styles):hover:not(.bvi-no-styles){color:#fff!important;background-color:#000!important}body .bvi-body[data-bvi-theme=white] :not(.bvi-no-styles) a:not(.bvi-no-styles):hover:not(.bvi-no-styles):after{background-color:rgba(255,255,255,0)!important;color:#fff!important;border-color:transparent!important}body .bvi-body[data-bvi-theme=white] :not(.bvi-no-styles) a:not(.bvi-no-styles):hover:not(.bvi-no-styles):before{background-color:rgba(255,255,255,0)!important;color:#fff!important;border-color:transparent!important}body .bvi-body[data-bvi-theme=white] :not(.bvi-no-styles) button:not(.bvi-no-styles),body .bvi-body[data-bvi-theme=white] :not(.bvi-no-styles) button[type=button]:not(.bvi-no-styles),body .bvi-body[data-bvi-theme=white] :not(.bvi-no-styles) button[type=submit]:not(.bvi-no-styles),body .bvi-body[data-bvi-theme=white] :not(.bvi-no-styles) input[type=button]:not(.bvi-no-styles),body .bvi-body[data-bvi-theme=white] :not(.bvi-no-styles) input[type=submit]:not(.bvi-no-styles){color:#fff!important;background-color:#000!important}body .bvi-body[data-bvi-theme=white] :not(.bvi-no-styles) button:hover.active,body .bvi-body[data-bvi-theme=white] :not(.bvi-no-styles) button[type=button]:hover:not(.bvi-no-styles).active,body .bvi-body[data-bvi-theme=white] :not(.bvi-no-styles) button[type=submit]:hover:not(.bvi-no-styles).active,body .bvi-body[data-bvi-theme=white] :not(.bvi-no-styles) input[type=button]:hover:not(.bvi-no-styles).active,body .bvi-body[data-bvi-theme=white] :not(.bvi-no-styles) input[type=submit]:hover:not(.bvi-no-styles).active{color:#fff!important;background-color:#000!important}body .bvi-body[data-bvi-theme=white] :not(.bvi-no-styles) button:hover:hover,body .bvi-body[data-bvi-theme=white] :not(.bvi-no-styles) button[type=button]:hover:not(.bvi-no-styles):hover,body .bvi-body[data-bvi-theme=white] :not(.bvi-no-styles) button[type=submit]:hover:not(.bvi-no-styles):hover,body .bvi-body[data-bvi-theme=white] :not(.bvi-no-styles) input[type=button]:hover:not(.bvi-no-styles):hover,body .bvi-body[data-bvi-theme=white] :not(.bvi-no-styles) input[type=submit]:hover:not(.bvi-no-styles):hover{color:#fff!important;background-color:#000!important}body .bvi-body[data-bvi-theme=black]:not(.bvi-no-styles){background-color:#000!important;color:#fff!important;fill:#ffffff!important;border-color:#fff!important;box-shadow:none!important;text-shadow:none!important}body .bvi-body[data-bvi-theme=black] :not(.bvi-no-styles){background-color:#000!important;color:#fff!important;fill:#ffffff!important;border-color:#fff!important;box-shadow:none!important;text-shadow:none!important}body .bvi-body[data-bvi-theme=black] :not(.bvi-no-styles) .bvi-speech-link,body .bvi-body[data-bvi-theme=black] :not(.bvi-no-styles) .bvi-speech-text{border-color:#fff}body .bvi-body[data-bvi-theme=black] :not(.bvi-no-styles) .bvi-link:not(.bvi-no-styles){color:#fff!important;background-color:transparent!important;text-underline:none!important;outline:0!important;text-decoration:none!important}body .bvi-body[data-bvi-theme=black] :not(.bvi-no-styles) .bvi-link:not(.bvi-no-styles).disabled{color:rgba(255,255,255,.5)!important;border:1px solid rgba(255,255,255,.5)!important;pointer-events:none;cursor:no-drop;text-decoration:none!important}body .bvi-body[data-bvi-theme=black] :not(.bvi-no-styles) .bvi-link:not(.bvi-no-styles).disabled:focus{color:rgba(255,255,255,.5)!important;border:1px solid rgba(255,255,255,.5)!important;text-underline:none!important;text-decoration:none!important}body .bvi-body[data-bvi-theme=black] :not(.bvi-no-styles) .bvi-link:not(.bvi-no-styles):hover{color:#000!important;background-color:#fff!important;text-underline:none!important;text-decoration:none!important}body .bvi-body[data-bvi-theme=black] :not(.bvi-no-styles) .bvi-link:not(.bvi-no-styles):focus{color:#fff!important;background-color:#000!important;text-underline:none!important;text-decoration:none!important}body .bvi-body[data-bvi-theme=black] :not(.bvi-no-styles) :checked:not(.bvi-no-styles),body .bvi-body[data-bvi-theme=black] :not(.bvi-no-styles) :default:not(.bvi-no-styles),body .bvi-body[data-bvi-theme=black] :not(.bvi-no-styles) :disabled:not(.bvi-no-styles),body .bvi-body[data-bvi-theme=black] :not(.bvi-no-styles) :empty:not(.bvi-no-styles),body .bvi-body[data-bvi-theme=black] :not(.bvi-no-styles) :enabled:not(.bvi-no-styles),body .bvi-body[data-bvi-theme=black] :not(.bvi-no-styles) :first-child:first-letter:not(.bvi-no-styles),body .bvi-body[data-bvi-theme=black] :not(.bvi-no-styles) :first-child:not(.bvi-no-styles),body .bvi-body[data-bvi-theme=black] :not(.bvi-no-styles) :first-of-type:not(.bvi-no-styles),body .bvi-body[data-bvi-theme=black] :not(.bvi-no-styles) :focus:not(.bvi-no-styles),body .bvi-body[data-bvi-theme=black] :not(.bvi-no-styles) :hover:not(.bvi-no-styles),body .bvi-body[data-bvi-theme=black] :not(.bvi-no-styles) :indeterminate:not(.bvi-no-styles),body .bvi-body[data-bvi-theme=black] :not(.bvi-no-styles) :last-child:not(.bvi-no-styles),body .bvi-body[data-bvi-theme=black] :not(.bvi-no-styles) :last-of-type:not(.bvi-no-styles),body .bvi-body[data-bvi-theme=black] :not(.bvi-no-styles) :link:not(.bvi-no-styles),body .bvi-body[data-bvi-theme=black] :not(.bvi-no-styles) :nth-last-child:not(.bvi-no-styles),body .bvi-body[data-bvi-theme=black] :not(.bvi-no-styles) :nth-last-of-type:not(.bvi-no-styles),body .bvi-body[data-bvi-theme=black] :not(.bvi-no-styles) :nth-of-type:not(.bvi-no-styles),body .bvi-body[data-bvi-theme=black] :not(.bvi-no-styles) :only-child:not(.bvi-no-styles),body .bvi-body[data-bvi-theme=black] :not(.bvi-no-styles) :only-of-type:not(.bvi-no-styles),body .bvi-body[data-bvi-theme=black] :not(.bvi-no-styles) :optional:not(.bvi-no-styles),body .bvi-body[data-bvi-theme=black] :not(.bvi-no-styles) :read-write:not(.bvi-no-styles),body .bvi-body[data-bvi-theme=black] :not(.bvi-no-styles) :required:not(.bvi-no-styles),body .bvi-body[data-bvi-theme=black] :not(.bvi-no-styles) :root:not(.bvi-no-styles),body .bvi-body[data-bvi-theme=black] :not(.bvi-no-styles) :target:not(.bvi-no-styles),body .bvi-body[data-bvi-theme=black] :not(.bvi-no-styles) :valid:not(.bvi-no-styles),body .bvi-body[data-bvi-theme=black] :not(.bvi-no-styles) :visited:not(.bvi-no-styles){background-color:#000!important;box-shadow:none!important;text-shadow:none!important;border-color:#fff!important;color:#fff!important;fill:#ffffff!important}body .bvi-body[data-bvi-theme=black] :not(.bvi-no-styles)::after:not(.bvi-no-styles){background-color:rgba(255,255,255,0)!important;color:#fff!important;box-shadow:none!important;text-shadow:none!important;border-color:transparent!important}body .bvi-body[data-bvi-theme=black] :not(.bvi-no-styles)::before:not(.bvi-no-styles){background-color:rgba(255,255,255,0)!important;color:#fff!important;box-shadow:none!important;text-shadow:none!important;border-color:transparent!important}body .bvi-body[data-bvi-theme=black] :not(.bvi-no-styles)::selection:not(.bvi-no-styles){background-color:#fff!important;color:#000!important}body .bvi-body[data-bvi-theme=black] :not(.bvi-no-styles) a:not(.bvi-no-styles){outline:0!important;color:#fff!important;background-color:transparent!important}body .bvi-body[data-bvi-theme=black] :not(.bvi-no-styles) a:not(.bvi-no-styles).active{color:#fff!important;background-color:#000!important}body .bvi-body[data-bvi-theme=black] :not(.bvi-no-styles) a:not(.bvi-no-styles):hover:not(.bvi-no-styles){color:#000!important;background-color:#fff!important}body .bvi-body[data-bvi-theme=black] :not(.bvi-no-styles) a:not(.bvi-no-styles):hover:not(.bvi-no-styles):after{background-color:rgba(255,255,255,0)!important;color:#000!important;border-color:transparent!important}body .bvi-body[data-bvi-theme=black] :not(.bvi-no-styles) a:not(.bvi-no-styles):hover:not(.bvi-no-styles):before{background-color:rgba(255,255,255,0)!important;color:#000!important;border-color:transparent!important}body .bvi-body[data-bvi-theme=black] :not(.bvi-no-styles) button:not(.bvi-no-styles),body .bvi-body[data-bvi-theme=black] :not(.bvi-no-styles) button[type=button]:not(.bvi-no-styles),body .bvi-body[data-bvi-theme=black] :not(.bvi-no-styles) button[type=submit]:not(.bvi-no-styles),body .bvi-body[data-bvi-theme=black] :not(.bvi-no-styles) input[type=button]:not(.bvi-no-styles),body .bvi-body[data-bvi-theme=black] :not(.bvi-no-styles) input[type=submit]:not(.bvi-no-styles){color:#000!important;background-color:#fff!important}body .bvi-body[data-bvi-theme=black] :not(.bvi-no-styles) button:hover.active,body .bvi-body[data-bvi-theme=black] :not(.bvi-no-styles) button[type=button]:hover:not(.bvi-no-styles).active,body .bvi-body[data-bvi-theme=black] :not(.bvi-no-styles) button[type=submit]:hover:not(.bvi-no-styles).active,body .bvi-body[data-bvi-theme=black] :not(.bvi-no-styles) input[type=button]:hover:not(.bvi-no-styles).active,body .bvi-body[data-bvi-theme=black] :not(.bvi-no-styles) input[type=submit]:hover:not(.bvi-no-styles).active{color:#000!important;background-color:#fff!important}body .bvi-body[data-bvi-theme=black] :not(.bvi-no-styles) button:hover:hover,body .bvi-body[data-bvi-theme=black] :not(.bvi-no-styles) button[type=button]:hover:not(.bvi-no-styles):hover,body .bvi-body[data-bvi-theme=black] :not(.bvi-no-styles) button[type=submit]:hover:not(.bvi-no-styles):hover,body .bvi-body[data-bvi-theme=black] :not(.bvi-no-styles) input[type=button]:hover:not(.bvi-no-styles):hover,body .bvi-body[data-bvi-theme=black] :not(.bvi-no-styles) input[type=submit]:hover:not(.bvi-no-styles):hover{color:#000!important;background-color:#fff!important}body .bvi-body[data-bvi-theme=blue]:not(.bvi-no-styles){background-color:#9dd1ff!important;color:#063462!important;fill:#063462!important;border-color:#063462!important;box-shadow:none!important;text-shadow:none!important}body .bvi-body[data-bvi-theme=blue] :not(.bvi-no-styles){background-color:#9dd1ff!important;color:#063462!important;fill:#063462!important;border-color:#063462!important;box-shadow:none!important;text-shadow:none!important}body .bvi-body[data-bvi-theme=blue] :not(.bvi-no-styles) .bvi-speech-link,body .bvi-body[data-bvi-theme=blue] :not(.bvi-no-styles) .bvi-speech-text{border-color:#063462}body .bvi-body[data-bvi-theme=blue] :not(.bvi-no-styles) .bvi-link:not(.bvi-no-styles){color:#063462!important;background-color:transparent!important;text-underline:none!important;outline:0!important;text-decoration:none!important}body .bvi-body[data-bvi-theme=blue] :not(.bvi-no-styles) .bvi-link:not(.bvi-no-styles).disabled{color:rgba(6,52,98,.5)!important;border:1px solid rgba(6,52,98,.5)!important;pointer-events:none;cursor:no-drop;text-decoration:none!important}body .bvi-body[data-bvi-theme=blue] :not(.bvi-no-styles) .bvi-link:not(.bvi-no-styles).disabled:focus{color:rgba(6,52,98,.5)!important;border:1px solid rgba(6,52,98,.5)!important;text-underline:none!important;text-decoration:none!important}body .bvi-body[data-bvi-theme=blue] :not(.bvi-no-styles) .bvi-link:not(.bvi-no-styles):hover{color:#9dd1ff!important;background-color:#063462!important;text-underline:none!important;text-decoration:none!important}body .bvi-body[data-bvi-theme=blue] :not(.bvi-no-styles) .bvi-link:not(.bvi-no-styles):focus{color:#063462!important;background-color:#9dd1ff!important;text-underline:none!important;text-decoration:none!important}body .bvi-body[data-bvi-theme=blue] :not(.bvi-no-styles) :checked:not(.bvi-no-styles),body .bvi-body[data-bvi-theme=blue] :not(.bvi-no-styles) :default:not(.bvi-no-styles),body .bvi-body[data-bvi-theme=blue] :not(.bvi-no-styles) :disabled:not(.bvi-no-styles),body .bvi-body[data-bvi-theme=blue] :not(.bvi-no-styles) :empty:not(.bvi-no-styles),body .bvi-body[data-bvi-theme=blue] :not(.bvi-no-styles) :enabled:not(.bvi-no-styles),body .bvi-body[data-bvi-theme=blue] :not(.bvi-no-styles) :first-child:first-letter:not(.bvi-no-styles),body .bvi-body[data-bvi-theme=blue] :not(.bvi-no-styles) :first-child:not(.bvi-no-styles),body .bvi-body[data-bvi-theme=blue] :not(.bvi-no-styles) :first-of-type:not(.bvi-no-styles),body .bvi-body[data-bvi-theme=blue] :not(.bvi-no-styles) :focus:not(.bvi-no-styles),body .bvi-body[data-bvi-theme=blue] :not(.bvi-no-styles) :hover:not(.bvi-no-styles),body .bvi-body[data-bvi-theme=blue] :not(.bvi-no-styles) :indeterminate:not(.bvi-no-styles),body .bvi-body[data-bvi-theme=blue] :not(.bvi-no-styles) :last-child:not(.bvi-no-styles),body .bvi-body[data-bvi-theme=blue] :not(.bvi-no-styles) :last-of-type:not(.bvi-no-styles),body .bvi-body[data-bvi-theme=blue] :not(.bvi-no-styles) :link:not(.bvi-no-styles),body .bvi-body[data-bvi-theme=blue] :not(.bvi-no-styles) :nth-last-child:not(.bvi-no-styles),body .bvi-body[data-bvi-theme=blue] :not(.bvi-no-styles) :nth-last-of-type:not(.bvi-no-styles),body .bvi-body[data-bvi-theme=blue] :not(.bvi-no-styles) :nth-of-type:not(.bvi-no-styles),body .bvi-body[data-bvi-theme=blue] :not(.bvi-no-styles) :only-child:not(.bvi-no-styles),body .bvi-body[data-bvi-theme=blue] :not(.bvi-no-styles) :only-of-type:not(.bvi-no-styles),body .bvi-body[data-bvi-theme=blue] :not(.bvi-no-styles) :optional:not(.bvi-no-styles),body .bvi-body[data-bvi-theme=blue] :not(.bvi-no-styles) :read-write:not(.bvi-no-styles),body .bvi-body[data-bvi-theme=blue] :not(.bvi-no-styles) :required:not(.bvi-no-styles),body .bvi-body[data-bvi-theme=blue] :not(.bvi-no-styles) :root:not(.bvi-no-styles),body .bvi-body[data-bvi-theme=blue] :not(.bvi-no-styles) :target:not(.bvi-no-styles),body .bvi-body[data-bvi-theme=blue] :not(.bvi-no-styles) :valid:not(.bvi-no-styles),body .bvi-body[data-bvi-theme=blue] :not(.bvi-no-styles) :visited:not(.bvi-no-styles){background-color:#9dd1ff!important;box-shadow:none!important;text-shadow:none!important;border-color:#063462!important;color:#063462!important;fill:#063462!important}body .bvi-body[data-bvi-theme=blue] :not(.bvi-no-styles)::after:not(.bvi-no-styles){background-color:rgba(255,255,255,0)!important;color:#063462!important;box-shadow:none!important;text-shadow:none!important;border-color:transparent!important}body .bvi-body[data-bvi-theme=blue] :not(.bvi-no-styles)::before:not(.bvi-no-styles){background-color:rgba(255,255,255,0)!important;color:#063462!important;box-shadow:none!important;text-shadow:none!important;border-color:transparent!important}body .bvi-body[data-bvi-theme=blue] :not(.bvi-no-styles)::selection:not(.bvi-no-styles){background-color:#063462!important;color:#9dd1ff!important}body .bvi-body[data-bvi-theme=blue] :not(.bvi-no-styles) a:not(.bvi-no-styles){outline:0!important;color:#063462!important;background-color:transparent!important}body .bvi-body[data-bvi-theme=blue] :not(.bvi-no-styles) a:not(.bvi-no-styles).active{color:#063462!important;background-color:#9dd1ff!important}body .bvi-body[data-bvi-theme=blue] :not(.bvi-no-styles) a:not(.bvi-no-styles):hover:not(.bvi-no-styles){color:#9dd1ff!important;background-color:#063462!important}body .bvi-body[data-bvi-theme=blue] :not(.bvi-no-styles) a:not(.bvi-no-styles):hover:not(.bvi-no-styles):after{background-color:rgba(255,255,255,0)!important;color:#9dd1ff!important;border-color:transparent!important}body .bvi-body[data-bvi-theme=blue] :not(.bvi-no-styles) a:not(.bvi-no-styles):hover:not(.bvi-no-styles):before{background-color:rgba(255,255,255,0)!important;color:#9dd1ff!important;border-color:transparent!important}body .bvi-body[data-bvi-theme=blue] :not(.bvi-no-styles) button:not(.bvi-no-styles),body .bvi-body[data-bvi-theme=blue] :not(.bvi-no-styles) button[type=button]:not(.bvi-no-styles),body .bvi-body[data-bvi-theme=blue] :not(.bvi-no-styles) button[type=submit]:not(.bvi-no-styles),body .bvi-body[data-bvi-theme=blue] :not(.bvi-no-styles) input[type=button]:not(.bvi-no-styles),body .bvi-body[data-bvi-theme=blue] :not(.bvi-no-styles) input[type=submit]:not(.bvi-no-styles){color:#9dd1ff!important;background-color:#063462!important}body .bvi-body[data-bvi-theme=blue] :not(.bvi-no-styles) button:hover.active,body .bvi-body[data-bvi-theme=blue] :not(.bvi-no-styles) button[type=button]:hover:not(.bvi-no-styles).active,body .bvi-body[data-bvi-theme=blue] :not(.bvi-no-styles) button[type=submit]:hover:not(.bvi-no-styles).active,body .bvi-body[data-bvi-theme=blue] :not(.bvi-no-styles) input[type=button]:hover:not(.bvi-no-styles).active,body .bvi-body[data-bvi-theme=blue] :not(.bvi-no-styles) input[type=submit]:hover:not(.bvi-no-styles).active{color:#9dd1ff!important;background-color:#063462!important}body .bvi-body[data-bvi-theme=blue] :not(.bvi-no-styles) button:hover:hover,body .bvi-body[data-bvi-theme=blue] :not(.bvi-no-styles) button[type=button]:hover:not(.bvi-no-styles):hover,body .bvi-body[data-bvi-theme=blue] :not(.bvi-no-styles) button[type=submit]:hover:not(.bvi-no-styles):hover,body .bvi-body[data-bvi-theme=blue] :not(.bvi-no-styles) input[type=button]:hover:not(.bvi-no-styles):hover,body .bvi-body[data-bvi-theme=blue] :not(.bvi-no-styles) input[type=submit]:hover:not(.bvi-no-styles):hover{color:#9dd1ff!important;background-color:#063462!important}body .bvi-body[data-bvi-theme=brown]:not(.bvi-no-styles){background-color:#f7f3d6!important;color:#4d4b43!important;fill:#4D4B43!important;border-color:#4d4b43!important;box-shadow:none!important;text-shadow:none!important}body .bvi-body[data-bvi-theme=brown] :not(.bvi-no-styles){background-color:#f7f3d6!important;color:#4d4b43!important;fill:#4D4B43!important;border-color:#4d4b43!important;box-shadow:none!important;text-shadow:none!important}body .bvi-body[data-bvi-theme=brown] :not(.bvi-no-styles) .bvi-speech-link,body .bvi-body[data-bvi-theme=brown] :not(.bvi-no-styles) .bvi-speech-text{border-color:#4d4b43}body .bvi-body[data-bvi-theme=brown] :not(.bvi-no-styles) .bvi-link:not(.bvi-no-styles){color:#4d4b43!important;background-color:transparent!important;text-underline:none!important;outline:0!important;text-decoration:none!important}body .bvi-body[data-bvi-theme=brown] :not(.bvi-no-styles) .bvi-link:not(.bvi-no-styles).disabled{color:rgba(77,75,67,.5)!important;border:1px solid rgba(77,75,67,.5)!important;pointer-events:none;cursor:no-drop;text-decoration:none!important}body .bvi-body[data-bvi-theme=brown] :not(.bvi-no-styles) .bvi-link:not(.bvi-no-styles).disabled:focus{color:rgba(77,75,67,.5)!important;border:1px solid rgba(77,75,67,.5)!important;text-underline:none!important;text-decoration:none!important}body .bvi-body[data-bvi-theme=brown] :not(.bvi-no-styles) .bvi-link:not(.bvi-no-styles):hover{color:#f7f3d6!important;background-color:#4d4b43!important;text-underline:none!important;text-decoration:none!important}body .bvi-body[data-bvi-theme=brown] :not(.bvi-no-styles) .bvi-link:not(.bvi-no-styles):focus{color:#4d4b43!important;background-color:#f7f3d6!important;text-underline:none!important;text-decoration:none!important}body .bvi-body[data-bvi-theme=brown] :not(.bvi-no-styles) :checked:not(.bvi-no-styles),body .bvi-body[data-bvi-theme=brown] :not(.bvi-no-styles) :default:not(.bvi-no-styles),body .bvi-body[data-bvi-theme=brown] :not(.bvi-no-styles) :disabled:not(.bvi-no-styles),body .bvi-body[data-bvi-theme=brown] :not(.bvi-no-styles) :empty:not(.bvi-no-styles),body .bvi-body[data-bvi-theme=brown] :not(.bvi-no-styles) :enabled:not(.bvi-no-styles),body .bvi-body[data-bvi-theme=brown] :not(.bvi-no-styles) :first-child:first-letter:not(.bvi-no-styles),body .bvi-body[data-bvi-theme=brown] :not(.bvi-no-styles) :first-child:not(.bvi-no-styles),body .bvi-body[data-bvi-theme=brown] :not(.bvi-no-styles) :first-of-type:not(.bvi-no-styles),body .bvi-body[data-bvi-theme=brown] :not(.bvi-no-styles) :focus:not(.bvi-no-styles),body .bvi-body[data-bvi-theme=brown] :not(.bvi-no-styles) :hover:not(.bvi-no-styles),body .bvi-body[data-bvi-theme=brown] :not(.bvi-no-styles) :indeterminate:not(.bvi-no-styles),body .bvi-body[data-bvi-theme=brown] :not(.bvi-no-styles) :last-child:not(.bvi-no-styles),body .bvi-body[data-bvi-theme=brown] :not(.bvi-no-styles) :last-of-type:not(.bvi-no-styles),body .bvi-body[data-bvi-theme=brown] :not(.bvi-no-styles) :link:not(.bvi-no-styles),body .bvi-body[data-bvi-theme=brown] :not(.bvi-no-styles) :nth-last-child:not(.bvi-no-styles),body .bvi-body[data-bvi-theme=brown] :not(.bvi-no-styles) :nth-last-of-type:not(.bvi-no-styles),body .bvi-body[data-bvi-theme=brown] :not(.bvi-no-styles) :nth-of-type:not(.bvi-no-styles),body .bvi-body[data-bvi-theme=brown] :not(.bvi-no-styles) :only-child:not(.bvi-no-styles),body .bvi-body[data-bvi-theme=brown] :not(.bvi-no-styles) :only-of-type:not(.bvi-no-styles),body .bvi-body[data-bvi-theme=brown] :not(.bvi-no-styles) :optional:not(.bvi-no-styles),body .bvi-body[data-bvi-theme=brown] :not(.bvi-no-styles) :read-write:not(.bvi-no-styles),body .bvi-body[data-bvi-theme=brown] :not(.bvi-no-styles) :required:not(.bvi-no-styles),body .bvi-body[data-bvi-theme=brown] :not(.bvi-no-styles) :root:not(.bvi-no-styles),body .bvi-body[data-bvi-theme=brown] :not(.bvi-no-styles) :target:not(.bvi-no-styles),body .bvi-body[data-bvi-theme=brown] :not(.bvi-no-styles) :valid:not(.bvi-no-styles),body .bvi-body[data-bvi-theme=brown] :not(.bvi-no-styles) :visited:not(.bvi-no-styles){background-color:#f7f3d6!important;box-shadow:none!important;text-shadow:none!important;border-color:#4d4b43!important;color:#4d4b43!important;fill:#4D4B43!important}body .bvi-body[data-bvi-theme=brown] :not(.bvi-no-styles)::after:not(.bvi-no-styles){background-color:rgba(255,255,255,0)!important;color:#4d4b43!important;box-shadow:none!important;text-shadow:none!important;border-color:transparent!important}body .bvi-body[data-bvi-theme=brown] :not(.bvi-no-styles)::before:not(.bvi-no-styles){background-color:rgba(255,255,255,0)!important;color:#4d4b43!important;box-shadow:none!important;text-shadow:none!important;border-color:transparent!important}body .bvi-body[data-bvi-theme=brown] :not(.bvi-no-styles)::selection:not(.bvi-no-styles){background-color:#4d4b43!important;color:#f7f3d6!important}body .bvi-body[data-bvi-theme=brown] :not(.bvi-no-styles) a:not(.bvi-no-styles){outline:0!important;color:#4d4b43!important;background-color:transparent!important}body .bvi-body[data-bvi-theme=brown] :not(.bvi-no-styles) a:not(.bvi-no-styles).active{color:#4d4b43!important;background-color:#f7f3d6!important}body .bvi-body[data-bvi-theme=brown] :not(.bvi-no-styles) a:not(.bvi-no-styles):hover:not(.bvi-no-styles){color:#f7f3d6!important;background-color:#4d4b43!important}body .bvi-body[data-bvi-theme=brown] :not(.bvi-no-styles) a:not(.bvi-no-styles):hover:not(.bvi-no-styles):after{background-color:rgba(255,255,255,0)!important;color:#f7f3d6!important;border-color:transparent!important}body .bvi-body[data-bvi-theme=brown] :not(.bvi-no-styles) a:not(.bvi-no-styles):hover:not(.bvi-no-styles):before{background-color:rgba(255,255,255,0)!important;color:#f7f3d6!important;border-color:transparent!important}body .bvi-body[data-bvi-theme=brown] :not(.bvi-no-styles) button:not(.bvi-no-styles),body .bvi-body[data-bvi-theme=brown] :not(.bvi-no-styles) button[type=button]:not(.bvi-no-styles),body .bvi-body[data-bvi-theme=brown] :not(.bvi-no-styles) button[type=submit]:not(.bvi-no-styles),body .bvi-body[data-bvi-theme=brown] :not(.bvi-no-styles) input[type=button]:not(.bvi-no-styles),body .bvi-body[data-bvi-theme=brown] :not(.bvi-no-styles) input[type=submit]:not(.bvi-no-styles){color:#f7f3d6!important;background-color:#4d4b43!important}body .bvi-body[data-bvi-theme=brown] :not(.bvi-no-styles) button:hover.active,body .bvi-body[data-bvi-theme=brown] :not(.bvi-no-styles) button[type=button]:hover:not(.bvi-no-styles).active,body .bvi-body[data-bvi-theme=brown] :not(.bvi-no-styles) button[type=submit]:hover:not(.bvi-no-styles).active,body .bvi-body[data-bvi-theme=brown] :not(.bvi-no-styles) input[type=button]:hover:not(.bvi-no-styles).active,body .bvi-body[data-bvi-theme=brown] :not(.bvi-no-styles) input[type=submit]:hover:not(.bvi-no-styles).active{color:#f7f3d6!important;background-color:#4d4b43!important}body .bvi-body[data-bvi-theme=brown] :not(.bvi-no-styles) button:hover:hover,body .bvi-body[data-bvi-theme=brown] :not(.bvi-no-styles) button[type=button]:hover:not(.bvi-no-styles):hover,body .bvi-body[data-bvi-theme=brown] :not(.bvi-no-styles) button[type=submit]:hover:not(.bvi-no-styles):hover,body .bvi-body[data-bvi-theme=brown] :not(.bvi-no-styles) input[type=button]:hover:not(.bvi-no-styles):hover,body .bvi-body[data-bvi-theme=brown] :not(.bvi-no-styles) input[type=submit]:hover:not(.bvi-no-styles):hover{color:#f7f3d6!important;background-color:#4d4b43!important}body .bvi-body[data-bvi-theme=green]:not(.bvi-no-styles){background-color:#3b2716!important;color:#a9e44d!important;fill:#A9E44D!important;border-color:#a9e44d!important;box-shadow:none!important;text-shadow:none!important}body .bvi-body[data-bvi-theme=green] :not(.bvi-no-styles){background-color:#3b2716!important;color:#a9e44d!important;fill:#A9E44D!important;border-color:#a9e44d!important;box-shadow:none!important;text-shadow:none!important}body .bvi-body[data-bvi-theme=green] :not(.bvi-no-styles) .bvi-speech-link,body .bvi-body[data-bvi-theme=green] :not(.bvi-no-styles) .bvi-speech-text{border-color:#a9e44d}body .bvi-body[data-bvi-theme=green] :not(.bvi-no-styles) .bvi-link:not(.bvi-no-styles){color:#a9e44d!important;background-color:transparent!important;text-underline:none!important;outline:0!important;text-decoration:none!important}body .bvi-body[data-bvi-theme=green] :not(.bvi-no-styles) .bvi-link:not(.bvi-no-styles).disabled{color:rgba(169,228,77,.5)!important;border:1px solid rgba(169,228,77,.5)!important;pointer-events:none;cursor:no-drop;text-decoration:none!important}body .bvi-body[data-bvi-theme=green] :not(.bvi-no-styles) .bvi-link:not(.bvi-no-styles).disabled:focus{color:rgba(169,228,77,.5)!important;border:1px solid rgba(169,228,77,.5)!important;text-underline:none!important;text-decoration:none!important}body .bvi-body[data-bvi-theme=green] :not(.bvi-no-styles) .bvi-link:not(.bvi-no-styles):hover{color:#3b2716!important;background-color:#a9e44d!important;text-underline:none!important;text-decoration:none!important}body .bvi-body[data-bvi-theme=green] :not(.bvi-no-styles) .bvi-link:not(.bvi-no-styles):focus{color:#a9e44d!important;background-color:#3b2716!important;text-underline:none!important;text-decoration:none!important}body .bvi-body[data-bvi-theme=green] :not(.bvi-no-styles) :checked:not(.bvi-no-styles),body .bvi-body[data-bvi-theme=green] :not(.bvi-no-styles) :default:not(.bvi-no-styles),body .bvi-body[data-bvi-theme=green] :not(.bvi-no-styles) :disabled:not(.bvi-no-styles),body .bvi-body[data-bvi-theme=green] :not(.bvi-no-styles) :empty:not(.bvi-no-styles),body .bvi-body[data-bvi-theme=green] :not(.bvi-no-styles) :enabled:not(.bvi-no-styles),body .bvi-body[data-bvi-theme=green] :not(.bvi-no-styles) :first-child:first-letter:not(.bvi-no-styles),body .bvi-body[data-bvi-theme=green] :not(.bvi-no-styles) :first-child:not(.bvi-no-styles),body .bvi-body[data-bvi-theme=green] :not(.bvi-no-styles) :first-of-type:not(.bvi-no-styles),body .bvi-body[data-bvi-theme=green] :not(.bvi-no-styles) :focus:not(.bvi-no-styles),body .bvi-body[data-bvi-theme=green] :not(.bvi-no-styles) :hover:not(.bvi-no-styles),body .bvi-body[data-bvi-theme=green] :not(.bvi-no-styles) :indeterminate:not(.bvi-no-styles),body .bvi-body[data-bvi-theme=green] :not(.bvi-no-styles) :last-child:not(.bvi-no-styles),body .bvi-body[data-bvi-theme=green] :not(.bvi-no-styles) :last-of-type:not(.bvi-no-styles),body .bvi-body[data-bvi-theme=green] :not(.bvi-no-styles) :link:not(.bvi-no-styles),body .bvi-body[data-bvi-theme=green] :not(.bvi-no-styles) :nth-last-child:not(.bvi-no-styles),body .bvi-body[data-bvi-theme=green] :not(.bvi-no-styles) :nth-last-of-type:not(.bvi-no-styles),body .bvi-body[data-bvi-theme=green] :not(.bvi-no-styles) :nth-of-type:not(.bvi-no-styles),body .bvi-body[data-bvi-theme=green] :not(.bvi-no-styles) :only-child:not(.bvi-no-styles),body .bvi-body[data-bvi-theme=green] :not(.bvi-no-styles) :only-of-type:not(.bvi-no-styles),body .bvi-body[data-bvi-theme=green] :not(.bvi-no-styles) :optional:not(.bvi-no-styles),body .bvi-body[data-bvi-theme=green] :not(.bvi-no-styles) :read-write:not(.bvi-no-styles),body .bvi-body[data-bvi-theme=green] :not(.bvi-no-styles) :required:not(.bvi-no-styles),body .bvi-body[data-bvi-theme=green] :not(.bvi-no-styles) :root:not(.bvi-no-styles),body .bvi-body[data-bvi-theme=green] :not(.bvi-no-styles) :target:not(.bvi-no-styles),body .bvi-body[data-bvi-theme=green] :not(.bvi-no-styles) :valid:not(.bvi-no-styles),body .bvi-body[data-bvi-theme=green] :not(.bvi-no-styles) :visited:not(.bvi-no-styles){background-color:#3b2716!important;box-shadow:none!important;text-shadow:none!important;border-color:#a9e44d!important;color:#a9e44d!important;fill:#A9E44D!important}body .bvi-body[data-bvi-theme=green] :not(.bvi-no-styles)::after:not(.bvi-no-styles){background-color:rgba(255,255,255,0)!important;color:#a9e44d!important;box-shadow:none!important;text-shadow:none!important;border-color:transparent!important}body .bvi-body[data-bvi-theme=green] :not(.bvi-no-styles)::before:not(.bvi-no-styles){background-color:rgba(255,255,255,0)!important;color:#a9e44d!important;box-shadow:none!important;text-shadow:none!important;border-color:transparent!important}body .bvi-body[data-bvi-theme=green] :not(.bvi-no-styles)::selection:not(.bvi-no-styles){background-color:#a9e44d!important;color:#3b2716!important}body .bvi-body[data-bvi-theme=green] :not(.bvi-no-styles) a:not(.bvi-no-styles){outline:0!important;color:#a9e44d!important;background-color:transparent!important}body .bvi-body[data-bvi-theme=green] :not(.bvi-no-styles) a:not(.bvi-no-styles).active{color:#a9e44d!important;background-color:#3b2716!important}body .bvi-body[data-bvi-theme=green] :not(.bvi-no-styles) a:not(.bvi-no-styles):hover:not(.bvi-no-styles){color:#3b2716!important;background-color:#a9e44d!important}body .bvi-body[data-bvi-theme=green] :not(.bvi-no-styles) a:not(.bvi-no-styles):hover:not(.bvi-no-styles):after{background-color:rgba(255,255,255,0)!important;color:#3b2716!important;border-color:transparent!important}body .bvi-body[data-bvi-theme=green] :not(.bvi-no-styles) a:not(.bvi-no-styles):hover:not(.bvi-no-styles):before{background-color:rgba(255,255,255,0)!important;color:#3b2716!important;border-color:transparent!important}body .bvi-body[data-bvi-theme=green] :not(.bvi-no-styles) button:not(.bvi-no-styles),body .bvi-body[data-bvi-theme=green] :not(.bvi-no-styles) button[type=button]:not(.bvi-no-styles),body .bvi-body[data-bvi-theme=green] :not(.bvi-no-styles) button[type=submit]:not(.bvi-no-styles),body .bvi-body[data-bvi-theme=green] :not(.bvi-no-styles) input[type=button]:not(.bvi-no-styles),body .bvi-body[data-bvi-theme=green] :not(.bvi-no-styles) input[type=submit]:not(.bvi-no-styles){color:#3b2716!important;background-color:#a9e44d!important}body .bvi-body[data-bvi-theme=green] :not(.bvi-no-styles) button:hover.active,body .bvi-body[data-bvi-theme=green] :not(.bvi-no-styles) button[type=button]:hover:not(.bvi-no-styles).active,body .bvi-body[data-bvi-theme=green] :not(.bvi-no-styles) button[type=submit]:hover:not(.bvi-no-styles).active,body .bvi-body[data-bvi-theme=green] :not(.bvi-no-styles) input[type=button]:hover:not(.bvi-no-styles).active,body .bvi-body[data-bvi-theme=green] :not(.bvi-no-styles) input[type=submit]:hover:not(.bvi-no-styles).active{color:#3b2716!important;background-color:#a9e44d!important}body .bvi-body[data-bvi-theme=green] :not(.bvi-no-styles) button:hover:hover,body .bvi-body[data-bvi-theme=green] :not(.bvi-no-styles) button[type=button]:hover:not(.bvi-no-styles):hover,body .bvi-body[data-bvi-theme=green] :not(.bvi-no-styles) button[type=submit]:hover:not(.bvi-no-styles):hover,body .bvi-body[data-bvi-theme=green] :not(.bvi-no-styles) input[type=button]:hover:not(.bvi-no-styles):hover,body .bvi-body[data-bvi-theme=green] :not(.bvi-no-styles) input[type=submit]:hover:not(.bvi-no-styles):hover{color:#3b2716!important;background-color:#a9e44d!important}body .bvi-body[data-bvi-fontsize="40"] *{font-size:40px!important}body .bvi-body[data-bvi-fontsize="40"] * h1,body .bvi-body[data-bvi-fontsize="40"] * h1 *{font-size:47px!important}body .bvi-body[data-bvi-fontsize="40"] * h2,body .bvi-body[data-bvi-fontsize="40"] * h2 *{font-size:46px!important}body .bvi-body[data-bvi-fontsize="40"] * h3,body .bvi-body[data-bvi-fontsize="40"] * h3 *{font-size:45px!important}body .bvi-body[data-bvi-fontsize="40"] * h4,body .bvi-body[data-bvi-fontsize="40"] * h4 *{font-size:44px!important}body .bvi-body[data-bvi-fontsize="40"] * h5,body .bvi-body[data-bvi-fontsize="40"] * h5 *{font-size:43px!important}body .bvi-body[data-bvi-fontsize="40"] * h6,body .bvi-body[data-bvi-fontsize="40"] * h6 *{font-size:42px!important}body .bvi-body[data-bvi-fontsize="39"] *{font-size:39px!important}body .bvi-body[data-bvi-fontsize="39"] * h1,body .bvi-body[data-bvi-fontsize="39"] * h1 *{font-size:46px!important}body .bvi-body[data-bvi-fontsize="39"] * h2,body .bvi-body[data-bvi-fontsize="39"] * h2 *{font-size:45px!important}body .bvi-body[data-bvi-fontsize="39"] * h3,body .bvi-body[data-bvi-fontsize="39"] * h3 *{font-size:44px!important}body .bvi-body[data-bvi-fontsize="39"] * h4,body .bvi-body[data-bvi-fontsize="39"] * h4 *{font-size:43px!important}body .bvi-body[data-bvi-fontsize="39"] * h5,body .bvi-body[data-bvi-fontsize="39"] * h5 *{font-size:42px!important}body .bvi-body[data-bvi-fontsize="39"] * h6,body .bvi-body[data-bvi-fontsize="39"] * h6 *{font-size:41px!important}body .bvi-body[data-bvi-fontsize="38"] *{font-size:38px!important}body .bvi-body[data-bvi-fontsize="38"] * h1,body .bvi-body[data-bvi-fontsize="38"] * h1 *{font-size:45px!important}body .bvi-body[data-bvi-fontsize="38"] * h2,body .bvi-body[data-bvi-fontsize="38"] * h2 *{font-size:44px!important}body .bvi-body[data-bvi-fontsize="38"] * h3,body .bvi-body[data-bvi-fontsize="38"] * h3 *{font-size:43px!important}body .bvi-body[data-bvi-fontsize="38"] * h4,body .bvi-body[data-bvi-fontsize="38"] * h4 *{font-size:42px!important}body .bvi-body[data-bvi-fontsize="38"] * h5,body .bvi-body[data-bvi-fontsize="38"] * h5 *{font-size:41px!important}body .bvi-body[data-bvi-fontsize="38"] * h6,body .bvi-body[data-bvi-fontsize="38"] * h6 *{font-size:40px!important}body .bvi-body[data-bvi-fontsize="37"] *{font-size:37px!important}body .bvi-body[data-bvi-fontsize="37"] * h1,body .bvi-body[data-bvi-fontsize="37"] * h1 *{font-size:44px!important}body .bvi-body[data-bvi-fontsize="37"] * h2,body .bvi-body[data-bvi-fontsize="37"] * h2 *{font-size:43px!important}body .bvi-body[data-bvi-fontsize="37"] * h3,body .bvi-body[data-bvi-fontsize="37"] * h3 *{font-size:42px!important}body .bvi-body[data-bvi-fontsize="37"] * h4,body .bvi-body[data-bvi-fontsize="37"] * h4 *{font-size:41px!important}body .bvi-body[data-bvi-fontsize="37"] * h5,body .bvi-body[data-bvi-fontsize="37"] * h5 *{font-size:40px!important}body .bvi-body[data-bvi-fontsize="37"] * h6,body .bvi-body[data-bvi-fontsize="37"] * h6 *{font-size:39px!important}body .bvi-body[data-bvi-fontsize="36"] *{font-size:36px!important}body .bvi-body[data-bvi-fontsize="36"] * h1,body .bvi-body[data-bvi-fontsize="36"] * h1 *{font-size:43px!important}body .bvi-body[data-bvi-fontsize="36"] * h2,body .bvi-body[data-bvi-fontsize="36"] * h2 *{font-size:42px!important}body .bvi-body[data-bvi-fontsize="36"] * h3,body .bvi-body[data-bvi-fontsize="36"] * h3 *{font-size:41px!important}body .bvi-body[data-bvi-fontsize="36"] * h4,body .bvi-body[data-bvi-fontsize="36"] * h4 *{font-size:40px!important}body .bvi-body[data-bvi-fontsize="36"] * h5,body .bvi-body[data-bvi-fontsize="36"] * h5 *{font-size:39px!important}body .bvi-body[data-bvi-fontsize="36"] * h6,body .bvi-body[data-bvi-fontsize="36"] * h6 *{font-size:38px!important}body .bvi-body[data-bvi-fontsize="35"] *{font-size:35px!important}body .bvi-body[data-bvi-fontsize="35"] * h1,body .bvi-body[data-bvi-fontsize="35"] * h1 *{font-size:42px!important}body .bvi-body[data-bvi-fontsize="35"] * h2,body .bvi-body[data-bvi-fontsize="35"] * h2 *{font-size:41px!important}body .bvi-body[data-bvi-fontsize="35"] * h3,body .bvi-body[data-bvi-fontsize="35"] * h3 *{font-size:40px!important}body .bvi-body[data-bvi-fontsize="35"] * h4,body .bvi-body[data-bvi-fontsize="35"] * h4 *{font-size:39px!important}body .bvi-body[data-bvi-fontsize="35"] * h5,body .bvi-body[data-bvi-fontsize="35"] * h5 *{font-size:38px!important}body .bvi-body[data-bvi-fontsize="35"] * h6,body .bvi-body[data-bvi-fontsize="35"] * h6 *{font-size:37px!important}body .bvi-body[data-bvi-fontsize="34"] *{font-size:34px!important}body .bvi-body[data-bvi-fontsize="34"] * h1,body .bvi-body[data-bvi-fontsize="34"] * h1 *{font-size:41px!important}body .bvi-body[data-bvi-fontsize="34"] * h2,body .bvi-body[data-bvi-fontsize="34"] * h2 *{font-size:40px!important}body .bvi-body[data-bvi-fontsize="34"] * h3,body .bvi-body[data-bvi-fontsize="34"] * h3 *{font-size:39px!important}body .bvi-body[data-bvi-fontsize="34"] * h4,body .bvi-body[data-bvi-fontsize="34"] * h4 *{font-size:38px!important}body .bvi-body[data-bvi-fontsize="34"] * h5,body .bvi-body[data-bvi-fontsize="34"] * h5 *{font-size:37px!important}body .bvi-body[data-bvi-fontsize="34"] * h6,body .bvi-body[data-bvi-fontsize="34"] * h6 *{font-size:36px!important}body .bvi-body[data-bvi-fontsize="33"] *{font-size:33px!important}body .bvi-body[data-bvi-fontsize="33"] * h1,body .bvi-body[data-bvi-fontsize="33"] * h1 *{font-size:40px!important}body .bvi-body[data-bvi-fontsize="33"] * h2,body .bvi-body[data-bvi-fontsize="33"] * h2 *{font-size:39px!important}body .bvi-body[data-bvi-fontsize="33"] * h3,body .bvi-body[data-bvi-fontsize="33"] * h3 *{font-size:38px!important}body .bvi-body[data-bvi-fontsize="33"] * h4,body .bvi-body[data-bvi-fontsize="33"] * h4 *{font-size:37px!important}body .bvi-body[data-bvi-fontsize="33"] * h5,body .bvi-body[data-bvi-fontsize="33"] * h5 *{font-size:36px!important}body .bvi-body[data-bvi-fontsize="33"] * h6,body .bvi-body[data-bvi-fontsize="33"] * h6 *{font-size:35px!important}body .bvi-body[data-bvi-fontsize="32"] *{font-size:32px!important}body .bvi-body[data-bvi-fontsize="32"] * h1,body .bvi-body[data-bvi-fontsize="32"] * h1 *{font-size:39px!important}body .bvi-body[data-bvi-fontsize="32"] * h2,body .bvi-body[data-bvi-fontsize="32"] * h2 *{font-size:38px!important}body .bvi-body[data-bvi-fontsize="32"] * h3,body .bvi-body[data-bvi-fontsize="32"] * h3 *{font-size:37px!important}body .bvi-body[data-bvi-fontsize="32"] * h4,body .bvi-body[data-bvi-fontsize="32"] * h4 *{font-size:36px!important}body .bvi-body[data-bvi-fontsize="32"] * h5,body .bvi-body[data-bvi-fontsize="32"] * h5 *{font-size:35px!important}body .bvi-body[data-bvi-fontsize="32"] * h6,body .bvi-body[data-bvi-fontsize="32"] * h6 *{font-size:34px!important}body .bvi-body[data-bvi-fontsize="31"] *{font-size:31px!important}body .bvi-body[data-bvi-fontsize="31"] * h1,body .bvi-body[data-bvi-fontsize="31"] * h1 *{font-size:38px!important}body .bvi-body[data-bvi-fontsize="31"] * h2,body .bvi-body[data-bvi-fontsize="31"] * h2 *{font-size:37px!important}body .bvi-body[data-bvi-fontsize="31"] * h3,body .bvi-body[data-bvi-fontsize="31"] * h3 *{font-size:36px!important}body .bvi-body[data-bvi-fontsize="31"] * h4,body .bvi-body[data-bvi-fontsize="31"] * h4 *{font-size:35px!important}body .bvi-body[data-bvi-fontsize="31"] * h5,body .bvi-body[data-bvi-fontsize="31"] * h5 *{font-size:34px!important}body .bvi-body[data-bvi-fontsize="31"] * h6,body .bvi-body[data-bvi-fontsize="31"] * h6 *{font-size:33px!important}body .bvi-body[data-bvi-fontsize="30"] *{font-size:30px!important}body .bvi-body[data-bvi-fontsize="30"] * h1,body .bvi-body[data-bvi-fontsize="30"] * h1 *{font-size:37px!important}body .bvi-body[data-bvi-fontsize="30"] * h2,body .bvi-body[data-bvi-fontsize="30"] * h2 *{font-size:36px!important}body .bvi-body[data-bvi-fontsize="30"] * h3,body .bvi-body[data-bvi-fontsize="30"] * h3 *{font-size:35px!important}body .bvi-body[data-bvi-fontsize="30"] * h4,body .bvi-body[data-bvi-fontsize="30"] * h4 *{font-size:34px!important}body .bvi-body[data-bvi-fontsize="30"] * h5,body .bvi-body[data-bvi-fontsize="30"] * h5 *{font-size:33px!important}body .bvi-body[data-bvi-fontsize="30"] * h6,body .bvi-body[data-bvi-fontsize="30"] * h6 *{font-size:32px!important}body .bvi-body[data-bvi-fontsize="29"] *{font-size:29px!important}body .bvi-body[data-bvi-fontsize="29"] * h1,body .bvi-body[data-bvi-fontsize="29"] * h1 *{font-size:36px!important}body .bvi-body[data-bvi-fontsize="29"] * h2,body .bvi-body[data-bvi-fontsize="29"] * h2 *{font-size:35px!important}body .bvi-body[data-bvi-fontsize="29"] * h3,body .bvi-body[data-bvi-fontsize="29"] * h3 *{font-size:34px!important}body .bvi-body[data-bvi-fontsize="29"] * h4,body .bvi-body[data-bvi-fontsize="29"] * h4 *{font-size:33px!important}body .bvi-body[data-bvi-fontsize="29"] * h5,body .bvi-body[data-bvi-fontsize="29"] * h5 *{font-size:32px!important}body .bvi-body[data-bvi-fontsize="29"] * h6,body .bvi-body[data-bvi-fontsize="29"] * h6 *{font-size:31px!important}body .bvi-body[data-bvi-fontsize="28"] *{font-size:28px!important}body .bvi-body[data-bvi-fontsize="28"] * h1,body .bvi-body[data-bvi-fontsize="28"] * h1 *{font-size:35px!important}body .bvi-body[data-bvi-fontsize="28"] * h2,body .bvi-body[data-bvi-fontsize="28"] * h2 *{font-size:34px!important}body .bvi-body[data-bvi-fontsize="28"] * h3,body .bvi-body[data-bvi-fontsize="28"] * h3 *{font-size:33px!important}body .bvi-body[data-bvi-fontsize="28"] * h4,body .bvi-body[data-bvi-fontsize="28"] * h4 *{font-size:32px!important}body .bvi-body[data-bvi-fontsize="28"] * h5,body .bvi-body[data-bvi-fontsize="28"] * h5 *{font-size:31px!important}body .bvi-body[data-bvi-fontsize="28"] * h6,body .bvi-body[data-bvi-fontsize="28"] * h6 *{font-size:30px!important}body .bvi-body[data-bvi-fontsize="27"] *{font-size:27px!important}body .bvi-body[data-bvi-fontsize="27"] * h1,body .bvi-body[data-bvi-fontsize="27"] * h1 *{font-size:34px!important}body .bvi-body[data-bvi-fontsize="27"] * h2,body .bvi-body[data-bvi-fontsize="27"] * h2 *{font-size:33px!important}body .bvi-body[data-bvi-fontsize="27"] * h3,body .bvi-body[data-bvi-fontsize="27"] * h3 *{font-size:32px!important}body .bvi-body[data-bvi-fontsize="27"] * h4,body .bvi-body[data-bvi-fontsize="27"] * h4 *{font-size:31px!important}body .bvi-body[data-bvi-fontsize="27"] * h5,body .bvi-body[data-bvi-fontsize="27"] * h5 *{font-size:30px!important}body .bvi-body[data-bvi-fontsize="27"] * h6,body .bvi-body[data-bvi-fontsize="27"] * h6 *{font-size:29px!important}body .bvi-body[data-bvi-fontsize="26"] *{font-size:26px!important}body .bvi-body[data-bvi-fontsize="26"] * h1,body .bvi-body[data-bvi-fontsize="26"] * h1 *{font-size:33px!important}body .bvi-body[data-bvi-fontsize="26"] * h2,body .bvi-body[data-bvi-fontsize="26"] * h2 *{font-size:32px!important}body .bvi-body[data-bvi-fontsize="26"] * h3,body .bvi-body[data-bvi-fontsize="26"] * h3 *{font-size:31px!important}body .bvi-body[data-bvi-fontsize="26"] * h4,body .bvi-body[data-bvi-fontsize="26"] * h4 *{font-size:30px!important}body .bvi-body[data-bvi-fontsize="26"] * h5,body .bvi-body[data-bvi-fontsize="26"] * h5 *{font-size:29px!important}body .bvi-body[data-bvi-fontsize="26"] * h6,body .bvi-body[data-bvi-fontsize="26"] * h6 *{font-size:28px!important}body .bvi-body[data-bvi-fontsize="25"] *{font-size:25px!important}body .bvi-body[data-bvi-fontsize="25"] * h1,body .bvi-body[data-bvi-fontsize="25"] * h1 *{font-size:32px!important}body .bvi-body[data-bvi-fontsize="25"] * h2,body .bvi-body[data-bvi-fontsize="25"] * h2 *{font-size:31px!important}body .bvi-body[data-bvi-fontsize="25"] * h3,body .bvi-body[data-bvi-fontsize="25"] * h3 *{font-size:30px!important}body .bvi-body[data-bvi-fontsize="25"] * h4,body .bvi-body[data-bvi-fontsize="25"] * h4 *{font-size:29px!important}body .bvi-body[data-bvi-fontsize="25"] * h5,body .bvi-body[data-bvi-fontsize="25"] * h5 *{font-size:28px!important}body .bvi-body[data-bvi-fontsize="25"] * h6,body .bvi-body[data-bvi-fontsize="25"] * h6 *{font-size:27px!important}body .bvi-body[data-bvi-fontsize="24"] *{font-size:24px!important}body .bvi-body[data-bvi-fontsize="24"] * h1,body .bvi-body[data-bvi-fontsize="24"] * h1 *{font-size:31px!important}body .bvi-body[data-bvi-fontsize="24"] * h2,body .bvi-body[data-bvi-fontsize="24"] * h2 *{font-size:30px!important}body .bvi-body[data-bvi-fontsize="24"] * h3,body .bvi-body[data-bvi-fontsize="24"] * h3 *{font-size:29px!important}body .bvi-body[data-bvi-fontsize="24"] * h4,body .bvi-body[data-bvi-fontsize="24"] * h4 *{font-size:28px!important}body .bvi-body[data-bvi-fontsize="24"] * h5,body .bvi-body[data-bvi-fontsize="24"] * h5 *{font-size:27px!important}body .bvi-body[data-bvi-fontsize="24"] * h6,body .bvi-body[data-bvi-fontsize="24"] * h6 *{font-size:26px!important}body .bvi-body[data-bvi-fontsize="23"] *{font-size:23px!important}body .bvi-body[data-bvi-fontsize="23"] * h1,body .bvi-body[data-bvi-fontsize="23"] * h1 *{font-size:30px!important}body .bvi-body[data-bvi-fontsize="23"] * h2,body .bvi-body[data-bvi-fontsize="23"] * h2 *{font-size:29px!important}body .bvi-body[data-bvi-fontsize="23"] * h3,body .bvi-body[data-bvi-fontsize="23"] * h3 *{font-size:28px!important}body .bvi-body[data-bvi-fontsize="23"] * h4,body .bvi-body[data-bvi-fontsize="23"] * h4 *{font-size:27px!important}body .bvi-body[data-bvi-fontsize="23"] * h5,body .bvi-body[data-bvi-fontsize="23"] * h5 *{font-size:26px!important}body .bvi-body[data-bvi-fontsize="23"] * h6,body .bvi-body[data-bvi-fontsize="23"] * h6 *{font-size:25px!important}body .bvi-body[data-bvi-fontsize="22"] *{font-size:22px!important}body .bvi-body[data-bvi-fontsize="22"] * h1,body .bvi-body[data-bvi-fontsize="22"] * h1 *{font-size:29px!important}body .bvi-body[data-bvi-fontsize="22"] * h2,body .bvi-body[data-bvi-fontsize="22"] * h2 *{font-size:28px!important}body .bvi-body[data-bvi-fontsize="22"] * h3,body .bvi-body[data-bvi-fontsize="22"] * h3 *{font-size:27px!important}body .bvi-body[data-bvi-fontsize="22"] * h4,body .bvi-body[data-bvi-fontsize="22"] * h4 *{font-size:26px!important}body .bvi-body[data-bvi-fontsize="22"] * h5,body .bvi-body[data-bvi-fontsize="22"] * h5 *{font-size:25px!important}body .bvi-body[data-bvi-fontsize="22"] * h6,body .bvi-body[data-bvi-fontsize="22"] * h6 *{font-size:24px!important}body .bvi-body[data-bvi-fontsize="21"] *{font-size:21px!important}body .bvi-body[data-bvi-fontsize="21"] * h1,body .bvi-body[data-bvi-fontsize="21"] * h1 *{font-size:28px!important}body .bvi-body[data-bvi-fontsize="21"] * h2,body .bvi-body[data-bvi-fontsize="21"] * h2 *{font-size:27px!important}body .bvi-body[data-bvi-fontsize="21"] * h3,body .bvi-body[data-bvi-fontsize="21"] * h3 *{font-size:26px!important}body .bvi-body[data-bvi-fontsize="21"] * h4,body .bvi-body[data-bvi-fontsize="21"] * h4 *{font-size:25px!important}body .bvi-body[data-bvi-fontsize="21"] * h5,body .bvi-body[data-bvi-fontsize="21"] * h5 *{font-size:24px!important}body .bvi-body[data-bvi-fontsize="21"] * h6,body .bvi-body[data-bvi-fontsize="21"] * h6 *{font-size:23px!important}body .bvi-body[data-bvi-fontsize="20"] *{font-size:20px!important}body .bvi-body[data-bvi-fontsize="20"] * h1,body .bvi-body[data-bvi-fontsize="20"] * h1 *{font-size:27px!important}body .bvi-body[data-bvi-fontsize="20"] * h2,body .bvi-body[data-bvi-fontsize="20"] * h2 *{font-size:26px!important}body .bvi-body[data-bvi-fontsize="20"] * h3,body .bvi-body[data-bvi-fontsize="20"] * h3 *{font-size:25px!important}body .bvi-body[data-bvi-fontsize="20"] * h4,body .bvi-body[data-bvi-fontsize="20"] * h4 *{font-size:24px!important}body .bvi-body[data-bvi-fontsize="20"] * h5,body .bvi-body[data-bvi-fontsize="20"] * h5 *{font-size:23px!important}body .bvi-body[data-bvi-fontsize="20"] * h6,body .bvi-body[data-bvi-fontsize="20"] * h6 *{font-size:22px!important}body .bvi-body[data-bvi-fontsize="19"] *{font-size:19px!important}body .bvi-body[data-bvi-fontsize="19"] * h1,body .bvi-body[data-bvi-fontsize="19"] * h1 *{font-size:26px!important}body .bvi-body[data-bvi-fontsize="19"] * h2,body .bvi-body[data-bvi-fontsize="19"] * h2 *{font-size:25px!important}body .bvi-body[data-bvi-fontsize="19"] * h3,body .bvi-body[data-bvi-fontsize="19"] * h3 *{font-size:24px!important}body .bvi-body[data-bvi-fontsize="19"] * h4,body .bvi-body[data-bvi-fontsize="19"] * h4 *{font-size:23px!important}body .bvi-body[data-bvi-fontsize="19"] * h5,body .bvi-body[data-bvi-fontsize="19"] * h5 *{font-size:22px!important}body .bvi-body[data-bvi-fontsize="19"] * h6,body .bvi-body[data-bvi-fontsize="19"] * h6 *{font-size:21px!important}body .bvi-body[data-bvi-fontsize="18"] *{font-size:18px!important}body .bvi-body[data-bvi-fontsize="18"] * h1,body .bvi-body[data-bvi-fontsize="18"] * h1 *{font-size:25px!important}body .bvi-body[data-bvi-fontsize="18"] * h2,body .bvi-body[data-bvi-fontsize="18"] * h2 *{font-size:24px!important}body .bvi-body[data-bvi-fontsize="18"] * h3,body .bvi-body[data-bvi-fontsize="18"] * h3 *{font-size:23px!important}body .bvi-body[data-bvi-fontsize="18"] * h4,body .bvi-body[data-bvi-fontsize="18"] * h4 *{font-size:22px!important}body .bvi-body[data-bvi-fontsize="18"] * h5,body .bvi-body[data-bvi-fontsize="18"] * h5 *{font-size:21px!important}body .bvi-body[data-bvi-fontsize="18"] * h6,body .bvi-body[data-bvi-fontsize="18"] * h6 *{font-size:20px!important}body .bvi-body[data-bvi-fontsize="17"] *{font-size:17px!important}body .bvi-body[data-bvi-fontsize="17"] * h1,body .bvi-body[data-bvi-fontsize="17"] * h1 *{font-size:24px!important}body .bvi-body[data-bvi-fontsize="17"] * h2,body .bvi-body[data-bvi-fontsize="17"] * h2 *{font-size:23px!important}body .bvi-body[data-bvi-fontsize="17"] * h3,body .bvi-body[data-bvi-fontsize="17"] * h3 *{font-size:22px!important}body .bvi-body[data-bvi-fontsize="17"] * h4,body .bvi-body[data-bvi-fontsize="17"] * h4 *{font-size:21px!important}body .bvi-body[data-bvi-fontsize="17"] * h5,body .bvi-body[data-bvi-fontsize="17"] * h5 *{font-size:20px!important}body .bvi-body[data-bvi-fontsize="17"] * h6,body .bvi-body[data-bvi-fontsize="17"] * h6 *{font-size:19px!important}body .bvi-body[data-bvi-fontsize="16"] *{font-size:16px!important}body .bvi-body[data-bvi-fontsize="16"] * h1,body .bvi-body[data-bvi-fontsize="16"] * h1 *{font-size:23px!important}body .bvi-body[data-bvi-fontsize="16"] * h2,body .bvi-body[data-bvi-fontsize="16"] * h2 *{font-size:22px!important}body .bvi-body[data-bvi-fontsize="16"] * h3,body .bvi-body[data-bvi-fontsize="16"] * h3 *{font-size:21px!important}body .bvi-body[data-bvi-fontsize="16"] * h4,body .bvi-body[data-bvi-fontsize="16"] * h4 *{font-size:20px!important}body .bvi-body[data-bvi-fontsize="16"] * h5,body .bvi-body[data-bvi-fontsize="16"] * h5 *{font-size:19px!important}body .bvi-body[data-bvi-fontsize="16"] * h6,body .bvi-body[data-bvi-fontsize="16"] * h6 *{font-size:18px!important}body .bvi-body[data-bvi-fontsize="15"] *{font-size:15px!important}body .bvi-body[data-bvi-fontsize="15"] * h1,body .bvi-body[data-bvi-fontsize="15"] * h1 *{font-size:22px!important}body .bvi-body[data-bvi-fontsize="15"] * h2,body .bvi-body[data-bvi-fontsize="15"] * h2 *{font-size:21px!important}body .bvi-body[data-bvi-fontsize="15"] * h3,body .bvi-body[data-bvi-fontsize="15"] * h3 *{font-size:20px!important}body .bvi-body[data-bvi-fontsize="15"] * h4,body .bvi-body[data-bvi-fontsize="15"] * h4 *{font-size:19px!important}body .bvi-body[data-bvi-fontsize="15"] * h5,body .bvi-body[data-bvi-fontsize="15"] * h5 *{font-size:18px!important}body .bvi-body[data-bvi-fontsize="15"] * h6,body .bvi-body[data-bvi-fontsize="15"] * h6 *{font-size:17px!important}body .bvi-body[data-bvi-fontsize="14"] *{font-size:14px!important}body .bvi-body[data-bvi-fontsize="14"] * h1,body .bvi-body[data-bvi-fontsize="14"] * h1 *{font-size:21px!important}body .bvi-body[data-bvi-fontsize="14"] * h2,body .bvi-body[data-bvi-fontsize="14"] * h2 *{font-size:20px!important}body .bvi-body[data-bvi-fontsize="14"] * h3,body .bvi-body[data-bvi-fontsize="14"] * h3 *{font-size:19px!important}body .bvi-body[data-bvi-fontsize="14"] * h4,body .bvi-body[data-bvi-fontsize="14"] * h4 *{font-size:18px!important}body .bvi-body[data-bvi-fontsize="14"] * h5,body .bvi-body[data-bvi-fontsize="14"] * h5 *{font-size:17px!important}body .bvi-body[data-bvi-fontsize="14"] * h6,body .bvi-body[data-bvi-fontsize="14"] * h6 *{font-size:16px!important}body .bvi-body[data-bvi-fontsize="13"] *{font-size:13px!important}body .bvi-body[data-bvi-fontsize="13"] * h1,body .bvi-body[data-bvi-fontsize="13"] * h1 *{font-size:20px!important}body .bvi-body[data-bvi-fontsize="13"] * h2,body .bvi-body[data-bvi-fontsize="13"] * h2 *{font-size:19px!important}body .bvi-body[data-bvi-fontsize="13"] * h3,body .bvi-body[data-bvi-fontsize="13"] * h3 *{font-size:18px!important}body .bvi-body[data-bvi-fontsize="13"] * h4,body .bvi-body[data-bvi-fontsize="13"] * h4 *{font-size:17px!important}body .bvi-body[data-bvi-fontsize="13"] * h5,body .bvi-body[data-bvi-fontsize="13"] * h5 *{font-size:16px!important}body .bvi-body[data-bvi-fontsize="13"] * h6,body .bvi-body[data-bvi-fontsize="13"] * h6 *{font-size:15px!important}body .bvi-body[data-bvi-fontsize="12"] *{font-size:12px!important}body .bvi-body[data-bvi-fontsize="12"] * h1,body .bvi-body[data-bvi-fontsize="12"] * h1 *{font-size:19px!important}body .bvi-body[data-bvi-fontsize="12"] * h2,body .bvi-body[data-bvi-fontsize="12"] * h2 *{font-size:18px!important}body .bvi-body[data-bvi-fontsize="12"] * h3,body .bvi-body[data-bvi-fontsize="12"] * h3 *{font-size:17px!important}body .bvi-body[data-bvi-fontsize="12"] * h4,body .bvi-body[data-bvi-fontsize="12"] * h4 *{font-size:16px!important}body .bvi-body[data-bvi-fontsize="12"] * h5,body .bvi-body[data-bvi-fontsize="12"] * h5 *{font-size:15px!important}body .bvi-body[data-bvi-fontsize="12"] * h6,body .bvi-body[data-bvi-fontsize="12"] * h6 *{font-size:14px!important}body .bvi-body[data-bvi-fontsize="11"] *{font-size:11px!important}body .bvi-body[data-bvi-fontsize="11"] * h1,body .bvi-body[data-bvi-fontsize="11"] * h1 *{font-size:18px!important}body .bvi-body[data-bvi-fontsize="11"] * h2,body .bvi-body[data-bvi-fontsize="11"] * h2 *{font-size:17px!important}body .bvi-body[data-bvi-fontsize="11"] * h3,body .bvi-body[data-bvi-fontsize="11"] * h3 *{font-size:16px!important}body .bvi-body[data-bvi-fontsize="11"] * h4,body .bvi-body[data-bvi-fontsize="11"] * h4 *{font-size:15px!important}body .bvi-body[data-bvi-fontsize="11"] * h5,body .bvi-body[data-bvi-fontsize="11"] * h5 *{font-size:14px!important}body .bvi-body[data-bvi-fontsize="11"] * h6,body .bvi-body[data-bvi-fontsize="11"] * h6 *{font-size:13px!important}body .bvi-body[data-bvi-fontsize="10"] *{font-size:10px!important}body .bvi-body[data-bvi-fontsize="10"] * h1,body .bvi-body[data-bvi-fontsize="10"] * h1 *{font-size:17px!important}body .bvi-body[data-bvi-fontsize="10"] * h2,body .bvi-body[data-bvi-fontsize="10"] * h2 *{font-size:16px!important}body .bvi-body[data-bvi-fontsize="10"] * h3,body .bvi-body[data-bvi-fontsize="10"] * h3 *{font-size:15px!important}body .bvi-body[data-bvi-fontsize="10"] * h4,body .bvi-body[data-bvi-fontsize="10"] * h4 *{font-size:14px!important}body .bvi-body[data-bvi-fontsize="10"] * h5,body .bvi-body[data-bvi-fontsize="10"] * h5 *{font-size:13px!important}body .bvi-body[data-bvi-fontsize="10"] * h6,body .bvi-body[data-bvi-fontsize="10"] * h6 *{font-size:12px!important}body .bvi-body[data-bvi-fontsize="9"] *{font-size:9px!important}body .bvi-body[data-bvi-fontsize="9"] * h1,body .bvi-body[data-bvi-fontsize="9"] * h1 *{font-size:16px!important}body .bvi-body[data-bvi-fontsize="9"] * h2,body .bvi-body[data-bvi-fontsize="9"] * h2 *{font-size:15px!important}body .bvi-body[data-bvi-fontsize="9"] * h3,body .bvi-body[data-bvi-fontsize="9"] * h3 *{font-size:14px!important}body .bvi-body[data-bvi-fontsize="9"] * h4,body .bvi-body[data-bvi-fontsize="9"] * h4 *{font-size:13px!important}body .bvi-body[data-bvi-fontsize="9"] * h5,body .bvi-body[data-bvi-fontsize="9"] * h5 *{font-size:12px!important}body .bvi-body[data-bvi-fontsize="9"] * h6,body .bvi-body[data-bvi-fontsize="9"] * h6 *{font-size:11px!important}body .bvi-body[data-bvi-fontsize="8"] *{font-size:8px!important}body .bvi-body[data-bvi-fontsize="8"] * h1,body .bvi-body[data-bvi-fontsize="8"] * h1 *{font-size:15px!important}body .bvi-body[data-bvi-fontsize="8"] * h2,body .bvi-body[data-bvi-fontsize="8"] * h2 *{font-size:14px!important}body .bvi-body[data-bvi-fontsize="8"] * h3,body .bvi-body[data-bvi-fontsize="8"] * h3 *{font-size:13px!important}body .bvi-body[data-bvi-fontsize="8"] * h4,body .bvi-body[data-bvi-fontsize="8"] * h4 *{font-size:12px!important}body .bvi-body[data-bvi-fontsize="8"] * h5,body .bvi-body[data-bvi-fontsize="8"] * h5 *{font-size:11px!important}body .bvi-body[data-bvi-fontsize="8"] * h6,body .bvi-body[data-bvi-fontsize="8"] * h6 *{font-size:10px!important}body .bvi-body[data-bvi-fontsize="7"] *{font-size:7px!important}body .bvi-body[data-bvi-fontsize="7"] * h1,body .bvi-body[data-bvi-fontsize="7"] * h1 *{font-size:14px!important}body .bvi-body[data-bvi-fontsize="7"] * h2,body .bvi-body[data-bvi-fontsize="7"] * h2 *{font-size:13px!important}body .bvi-body[data-bvi-fontsize="7"] * h3,body .bvi-body[data-bvi-fontsize="7"] * h3 *{font-size:12px!important}body .bvi-body[data-bvi-fontsize="7"] * h4,body .bvi-body[data-bvi-fontsize="7"] * h4 *{font-size:11px!important}body .bvi-body[data-bvi-fontsize="7"] * h5,body .bvi-body[data-bvi-fontsize="7"] * h5 *{font-size:10px!important}body .bvi-body[data-bvi-fontsize="7"] * h6,body .bvi-body[data-bvi-fontsize="7"] * h6 *{font-size:9px!important}body .bvi-body[data-bvi-fontsize="6"] *{font-size:6px!important}body .bvi-body[data-bvi-fontsize="6"] * h1,body .bvi-body[data-bvi-fontsize="6"] * h1 *{font-size:13px!important}body .bvi-body[data-bvi-fontsize="6"] * h2,body .bvi-body[data-bvi-fontsize="6"] * h2 *{font-size:12px!important}body .bvi-body[data-bvi-fontsize="6"] * h3,body .bvi-body[data-bvi-fontsize="6"] * h3 *{font-size:11px!important}body .bvi-body[data-bvi-fontsize="6"] * h4,body .bvi-body[data-bvi-fontsize="6"] * h4 *{font-size:10px!important}body .bvi-body[data-bvi-fontsize="6"] * h5,body .bvi-body[data-bvi-fontsize="6"] * h5 *{font-size:9px!important}body .bvi-body[data-bvi-fontsize="6"] * h6,body .bvi-body[data-bvi-fontsize="6"] * h6 *{font-size:8px!important}body .bvi-body[data-bvi-fontsize="5"] *{font-size:5px!important}body .bvi-body[data-bvi-fontsize="5"] * h1,body .bvi-body[data-bvi-fontsize="5"] * h1 *{font-size:12px!important}body .bvi-body[data-bvi-fontsize="5"] * h2,body .bvi-body[data-bvi-fontsize="5"] * h2 *{font-size:11px!important}body .bvi-body[data-bvi-fontsize="5"] * h3,body .bvi-body[data-bvi-fontsize="5"] * h3 *{font-size:10px!important}body .bvi-body[data-bvi-fontsize="5"] * h4,body .bvi-body[data-bvi-fontsize="5"] * h4 *{font-size:9px!important}body .bvi-body[data-bvi-fontsize="5"] * h5,body .bvi-body[data-bvi-fontsize="5"] * h5 *{font-size:8px!important}body .bvi-body[data-bvi-fontsize="5"] * h6,body .bvi-body[data-bvi-fontsize="5"] * h6 *{font-size:7px!important}body .bvi-body[data-bvi-fontsize="4"] *{font-size:4px!important}body .bvi-body[data-bvi-fontsize="4"] * h1,body .bvi-body[data-bvi-fontsize="4"] * h1 *{font-size:11px!important}body .bvi-body[data-bvi-fontsize="4"] * h2,body .bvi-body[data-bvi-fontsize="4"] * h2 *{font-size:10px!important}body .bvi-body[data-bvi-fontsize="4"] * h3,body .bvi-body[data-bvi-fontsize="4"] * h3 *{font-size:9px!important}body .bvi-body[data-bvi-fontsize="4"] * h4,body .bvi-body[data-bvi-fontsize="4"] * h4 *{font-size:8px!important}body .bvi-body[data-bvi-fontsize="4"] * h5,body .bvi-body[data-bvi-fontsize="4"] * h5 *{font-size:7px!important}body .bvi-body[data-bvi-fontsize="4"] * h6,body .bvi-body[data-bvi-fontsize="4"] * h6 *{font-size:6px!important}body .bvi-body[data-bvi-fontsize="3"] *{font-size:3px!important}body .bvi-body[data-bvi-fontsize="3"] * h1,body .bvi-body[data-bvi-fontsize="3"] * h1 *{font-size:10px!important}body .bvi-body[data-bvi-fontsize="3"] * h2,body .bvi-body[data-bvi-fontsize="3"] * h2 *{font-size:9px!important}body .bvi-body[data-bvi-fontsize="3"] * h3,body .bvi-body[data-bvi-fontsize="3"] * h3 *{font-size:8px!important}body .bvi-body[data-bvi-fontsize="3"] * h4,body .bvi-body[data-bvi-fontsize="3"] * h4 *{font-size:7px!important}body .bvi-body[data-bvi-fontsize="3"] * h5,body .bvi-body[data-bvi-fontsize="3"] * h5 *{font-size:6px!important}body .bvi-body[data-bvi-fontsize="3"] * h6,body .bvi-body[data-bvi-fontsize="3"] * h6 *{font-size:5px!important}body .bvi-body[data-bvi-fontsize="2"] *{font-size:2px!important}body .bvi-body[data-bvi-fontsize="2"] * h1,body .bvi-body[data-bvi-fontsize="2"] * h1 *{font-size:9px!important}body .bvi-body[data-bvi-fontsize="2"] * h2,body .bvi-body[data-bvi-fontsize="2"] * h2 *{font-size:8px!important}body .bvi-body[data-bvi-fontsize="2"] * h3,body .bvi-body[data-bvi-fontsize="2"] * h3 *{font-size:7px!important}body .bvi-body[data-bvi-fontsize="2"] * h4,body .bvi-body[data-bvi-fontsize="2"] * h4 *{font-size:6px!important}body .bvi-body[data-bvi-fontsize="2"] * h5,body .bvi-body[data-bvi-fontsize="2"] * h5 *{font-size:5px!important}body .bvi-body[data-bvi-fontsize="2"] * h6,body .bvi-body[data-bvi-fontsize="2"] * h6 *{font-size:4px!important}body .bvi-body[data-bvi-fontsize="1"] *{font-size:1px!important}body .bvi-body[data-bvi-fontsize="1"] * h1,body .bvi-body[data-bvi-fontsize="1"] * h1 *{font-size:8px!important}body .bvi-body[data-bvi-fontsize="1"] * h2,body .bvi-body[data-bvi-fontsize="1"] * h2 *{font-size:7px!important}body .bvi-body[data-bvi-fontsize="1"] * h3,body .bvi-body[data-bvi-fontsize="1"] * h3 *{font-size:6px!important}body .bvi-body[data-bvi-fontsize="1"] * h4,body .bvi-body[data-bvi-fontsize="1"] * h4 *{font-size:5px!important}body .bvi-body[data-bvi-fontsize="1"] * h5,body .bvi-body[data-bvi-fontsize="1"] * h5 *{font-size:4px!important}body .bvi-body[data-bvi-fontsize="1"] * h6,body .bvi-body[data-bvi-fontsize="1"] * h6 *{font-size:3px!important}body .bvi-body[data-bvi-images=true]:not(.bvi-no-styles) .bvi-background-image:not(.bvi-no-styles),body .bvi-body[data-bvi-images=true]:not(.bvi-no-styles) img.bvi-background-image:not(.bvi-no-styles),body .bvi-body[data-bvi-images=true]:not(.bvi-no-styles) img.bvi-img:not(.bvi-no-styles){-webkit-filter:grayscale(0);filter:grayscale(0);visibility:visible}body .bvi-body[data-bvi-images=false]:not(.bvi-no-styles) .bvi-background-image:not(.bvi-no-styles),body .bvi-body[data-bvi-images=false]:not(.bvi-no-styles) img.bvi-background-image:not(.bvi-no-styles),body .bvi-body[data-bvi-images=false]:not(.bvi-no-styles) img.bvi-img:not(.bvi-no-styles){display:none;position:relative;border:1px dashed}body .bvi-body[data-bvi-images=grayscale]:not(.bvi-no-styles) .bvi-background-image:not(.bvi-no-styles),body .bvi-body[data-bvi-images=grayscale]:not(.bvi-no-styles) img.bvi-background-image:not(.bvi-no-styles),body .bvi-body[data-bvi-images=grayscale]:not(.bvi-no-styles) img.bvi-img:not(.bvi-no-styles){-moz-filter:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg'><filter id='grayscale'><feColorMatrix type='matrix' values='0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0 0 0 1 0'/></filter></svg>#grayscale");-o-filter:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg'><filter id='grayscale'><feColorMatrix type='matrix' values='0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0 0 0 1 0'/></filter></svg>#grayscale");-webkit-filter:grayscale(1);filter:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg'><filter id='grayscale'><feColorMatrix type='matrix' values='1 0 0 0 0, 0 1 0 0 0, 0 0 1 0 0, 0 0 0 1 0'/></filter></svg>#grayscale");filter:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg'><filter id='grayscale'><feColorMatrix type='saturate' values='0'/></filter></svg>#grayscale");filter:grayscale(1);visibility:visible}body .bvi-body[data-bvi-lineheight=normal]:not(.bvi-no-styles){line-height:1.5!important}body .bvi-body[data-bvi-lineheight=average]:not(.bvi-no-styles){line-height:2!important}body .bvi-body[data-bvi-lineheight=big]:not(.bvi-no-styles){line-height:2.5!important}body .bvi-body[data-bvi-letterspacing=normal]:not(.bvi-no-styles){letter-spacing:0!important}body .bvi-body[data-bvi-letterspacing=average]:not(.bvi-no-styles){letter-spacing:2px!important}body .bvi-body[data-bvi-letterspacing=big]:not(.bvi-no-styles){letter-spacing:4px!important}body .bvi-body[data-bvi-fontfamily=arial]:not(i):not(span):not(.bvi-no-styles){font-family:Arial,sans-serif!important}body .bvi-body[data-bvi-fontfamily=times]:not(i):not(span):not(.bvi-no-styles){font-family:"Times New roman",serif!important}body .bvi-body[data-bvi-builtelements=true]:not(.bvi-no-styles) .wp-audio-shortcode,body .bvi-body[data-bvi-builtelements=true]:not(.bvi-no-styles) figure,body .bvi-body[data-bvi-builtelements=true]:not(.bvi-no-styles) iframe,body .bvi-body[data-bvi-builtelements=true]:not(.bvi-no-styles) object,body .bvi-body[data-bvi-builtelements=true]:not(.bvi-no-styles) video,body .bvi-body[data-bvi-builtelements=true]:not(.bvi-no-styles) ymaps{display:block!important}body .bvi-body[data-bvi-builtelements=false]:not(.bvi-no-styles) .wp-audio-shortcode,body .bvi-body[data-bvi-builtelements=false]:not(.bvi-no-styles) figure,body .bvi-body[data-bvi-builtelements=false]:not(.bvi-no-styles) iframe,body .bvi-body[data-bvi-builtelements=false]:not(.bvi-no-styles) object,body .bvi-body[data-bvi-builtelements=false]:not(.bvi-no-styles) video,body .bvi-body[data-bvi-builtelements=false]:not(.bvi-no-styles) ymaps{display:none!important}body .bvi-body .bvi-speech{margin-bottom:1.5rem}body .bvi-body .bvi-speech .bvi-speech-link{display:inline-block;border:1px dashed transparent;border-bottom:0;padding:.7rem}body .bvi-body .bvi-speech .bvi-speech-text{border:1px dashed transparent;padding:.7rem}body .bvi-body .bvi-speech .bvi-highlighting mark{font-weight:700;text-decoration:underline}body .bvi-body a.bvi-link{display:inline-block;font-weight:400;line-height:1.5;font-size:.875rem!important;color:#212529!important;text-align:center;text-decoration:none;vertical-align:middle;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;background-color:#e0e0e0!important;border:1px solid #c6c6c6!important;padding:.375rem .75rem;border-radius:.25rem;position:relative;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}body .bvi-body a.bvi-link::after{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;content:""}body .bvi-body .bvi-link-fixed-top{position:fixed!important;top:2.5rem!important;right:1.5rem!important;z-index:999999!important}body .bvi-body .bvi-hide{display:none!important}body .bvi-body .bvi-show{display:block!important}.bvi-images{width:18px;height:18px;letter-spacing:normal;display:inline-block;vertical-align:middle;z-index:1;background-size:100% 100%;-o-background-size:100% 100%;-webkit-background-size:100% 100%}.bvi-images.bvi-images-cog{background-image:url("/local/templates/dnk174_2026/js/bvi/../img/cog.svg");background-repeat:no-repeat}.bvi-images.bvi-images-eye-slash{background-image:url("/local/templates/dnk174_2026/js/bvi/../img/eye-slash.svg");background-repeat:no-repeat}.bvi-images.bvi-images-volume-up{background-image:url("/local/templates/dnk174_2026/js/bvi/../img/volume-up.svg");background-repeat:no-repeat}.bvi-images.bvi-images-volume-off{background-image:url("/local/templates/dnk174_2026/js/bvi/../img/volume-off.svg");background-repeat:no-repeat}.bvi-images.bvi-images-adjust{background-image:url("/local/templates/dnk174_2026/js/bvi/../img/adjust.svg");background-repeat:no-repeat}.bvi-images.bvi-images-minus-circle{background-image:url("/local/templates/dnk174_2026/js/bvi/../img/minus-circle.svg");background-repeat:no-repeat}.bvi-images.bvi-images-image{background-image:url("/local/templates/dnk174_2026/js/bvi/../img/image.svg");background-repeat:no-repeat}.bvi-images.bvi-images-minus{background-image:url("/local/templates/dnk174_2026/js/bvi/../img/minus.svg");background-repeat:no-repeat}.bvi-images.bvi-images-eye{background-image:url("/local/templates/dnk174_2026/js/bvi/../img/eye.svg");background-repeat:no-repeat;fill:green}.bvi-images.bvi-images-size-32{width:32px!important;height:32px!important}
/*# sourceMappingURL=bvi.min.css.map */
/* End */


/* Start:/local/templates/dnk174_2026/css/style.css?1793257240544091*/
@charset "UTF-8";
/* ============================================================
   ДНК Клиника — дизайн-токены нового бренда
   Палитра извлечена из dnk_brandbook.pdf (векторные заливки),
   значения соответствуют исходным scn-операторам PDF.
   ============================================================ */
:root {
  --s: calc(100vw / 1440);
  --c-navy: #202F5A;
  --c-navy-600: #2B3C6B;
  --c-navy-400: #464972;
  --c-graphite: #3F4E55;
  --c-berry: #B13B63;
  --c-berry-600: #9A3255;
  --c-berry-100: #F6E3EA;
  --c-bg: #FBF6F2;
  --c-cream: #FEF2E8;
  --c-beige: #EBDDD0;
  --c-sand: #FDE4D1;
  --c-sky: #8FC5EC;
  --c-sky-2: #87C3E5;
  --c-sky-strong: #69ACDF;
  --c-lime: #CCDB78;
  --c-maya: #8AC9FF;
  --c-alert: #CD1719;
  --c-white: #FFFFFF;
  --c-grey-100: #EBEEF0;
  --c-grey-200: #DDDEE0;
  --c-grey-300: #C3CCD1;
  --c-grey-400: #B2BCC3;
  --c-grey-500: #9DA9B1;
  --bg-page: var(--c-bg);
  --bg-surface: var(--c-white);
  --bg-muted: var(--c-beige);
  --text-strong: var(--c-navy);
  --text-body: var(--c-graphite);
  --text-muted: var(--c-grey-500);
  --text-invert: var(--c-white);
  --accent: var(--c-berry);
  --link: var(--c-sky-strong);
  --border-soft: rgba(177, 59, 99, 0.16);
  --border-hair: rgba(63, 78, 85, 0.14);
  --font-sans: "Golos Text", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
  --fs-h1: 40px;
  --fs-h2: 30px;
  --fs-h3: 22px;
  --fs-lg: 17px;
  --fs-base: 15px;
  --fs-sm: 14px;
  --fs-xs: 13px;
  --fs-2xs: 12px;
  --container: 1440px;
  --gutter: 20px;
  --r-sm: 8px;
  --r-md: 14px;
  --r-lg: 20px;
  --r-xl: 28px;
  --r-pill: 999px;
  --sh-sm: 0 2px 8px rgba(32, 47, 90, 0.05);
  --sh-md: 0 6px 22px rgba(32, 47, 90, 0.07);
  --sh-lg: 0 14px 44px rgba(32, 47, 90, 0.10);
  --t-fast: 0.15s ease;
  --t-base: 0.25s ease;
}

@font-face {
  font-family: "Golos Text";
  src: url("/local/templates/dnk174_2026/css/../fonts/GolosText/golos-text-cyrillic-ext.woff2") format("woff2");
  font-weight: 400 700;
  font-style: normal;
  font-display: swap;
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
@font-face {
  font-family: "Inter";
  src: url("/local/templates/dnk174_2026/css/../fonts/Inter/inter-cyrillic-ext.woff2") format("woff2");
  font-weight: 200 300;
  font-style: normal;
  font-display: swap;
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
@font-face {
  font-family: "Golos Text";
  src: url("/local/templates/dnk174_2026/css/../fonts/GolosText/golos-text-cyrillic.woff2") format("woff2");
  font-weight: 400 700;
  font-style: normal;
  font-display: swap;
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
@font-face {
  font-family: "Inter";
  src: url("/local/templates/dnk174_2026/css/../fonts/Inter/inter-cyrillic.woff2") format("woff2");
  font-weight: 200 300;
  font-style: normal;
  font-display: swap;
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
@font-face {
  font-family: "Golos Text";
  src: url("/local/templates/dnk174_2026/css/../fonts/GolosText/golos-text-latin-ext.woff2") format("woff2");
  font-weight: 400 700;
  font-style: normal;
  font-display: swap;
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: "Inter";
  src: url("/local/templates/dnk174_2026/css/../fonts/Inter/inter-latin-ext.woff2") format("woff2");
  font-weight: 200 300;
  font-style: normal;
  font-display: swap;
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: "Golos Text";
  src: url("/local/templates/dnk174_2026/css/../fonts/GolosText/golos-text-latin.woff2") format("woff2");
  font-weight: 400 700;
  font-style: normal;
  font-display: swap;
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: "Inter";
  src: url("/local/templates/dnk174_2026/css/../fonts/Inter/inter-latin.woff2") format("woff2");
  font-weight: 200 300;
  font-style: normal;
  font-display: swap;
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* ============================================================
   Базовые стили, сквозные компоненты, шапка и подвал
   ============================================================ */
/* ширина системной полосы прокрутки: ноль, пока страница скроллится.
   На время модалок и меню (телу ставится overflow: hidden, полоса
   пропадает) скрипт кладёт сюда её ширину — поле остаётся на месте */
:root {
  --sbw: 0px;
}

body {
  margin: 0;
  padding-right: var(--sbw);
  font-family: var(--font-sans);
  font-size: var(--fs-base);
  line-height: 1.5;
  color: var(--text-body);
  background: var(--bg-page);
  -webkit-font-smoothing: antialiased;
}

h1,
h2,
h3,
h4 {
  margin: 0;
  color: var(--text-strong);
  font-weight: 600;
  line-height: 1.2;
  letter-spacing: -0.01em;
}

h1 {
  font-size: var(--fs-h1);
}

h2 {
  font-size: var(--fs-h2);
}

h3 {
  font-size: var(--fs-h3);
}

:focus-visible {
  outline: 2px solid var(--c-sky-strong);
  outline-offset: 2px;
}

/* --- Контейнер --- */
/* Единая ширина контента на всём сайте — та же, что на «Услугах»:
   1050 единиц макета, то есть 1400px при 1920 и 72.9% на любой ширине. */
.container {
  width: 100%;
  max-width: calc(1050 * var(--s));
  margin-inline: auto;
  padding-inline: 0;
}

@media (max-width: 1100px) {
  .container {
    max-width: 100%;
    padding-inline: var(--gutter);
  }
}
/* --- Секции --- */
.section {
  padding-block: 60px;
}
.section--cream {
  background: var(--c-bg);
}
.section--beige {
  background: var(--c-beige);
}

.section-head {
  margin-bottom: 28px;
}
.section-head p {
  margin-top: 10px;
  max-width: 620px;
  color: var(--text-muted);
  font-size: var(--fs-sm);
}

/* Фирменный паттерн бренда (из макета) */
.pattern {
  position: relative;
}
.pattern::before {
  content: "";
  position: absolute;
  inset: 0;
  background: url("/local/templates/dnk174_2026/css/../images/pattern.svg") repeat;
  background-size: 620px 620px;
  mix-blend-mode: multiply;
  opacity: 0.3;
  pointer-events: none;
}
.pattern > * {
  position: relative;
  z-index: 1;
}

/* ============================================================
   Кнопки
   ============================================================ */
.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding: 13px 28px 15px;
  border: 1px solid transparent;
  border-radius: var(--r-pill);
  font-size: var(--fs-sm);
  font-weight: 600;
  white-space: nowrap;
  transition: background var(--t-base), color var(--t-base), border-color var(--t-base), box-shadow var(--t-base);
}
.btn--primary {
  background: var(--c-berry);
  color: var(--text-invert);
  box-shadow: 0 4px 14px rgba(177, 59, 99, 0.28);
}
.btn--primary:hover {
  background: var(--c-berry-600);
}
.btn--outline {
  background: transparent;
  border-color: var(--c-berry);
  color: var(--c-berry);
}
.btn--outline:hover {
  background: var(--c-berry);
  color: var(--text-invert);
}
.btn--ghost-navy {
  background: transparent;
  border-color: var(--c-navy);
  color: var(--c-navy);
}
.btn--ghost-navy:hover {
  background: var(--c-navy);
  color: var(--text-invert);
}
.btn--wide {
  width: 100%;
}

/* Ripple с донора: vanilla-ripplejs, волна по наведению.
   У донора .ripple-animate перебивает цвет и длительность через !important —
   значит по факту это чёрная волна 40% за 1.2s linear, от scale(0) до scale(2). */
.js-ripple,
.has-ripple {
  position: relative;
  overflow: hidden;
  -webkit-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0);
}

.ripple {
  display: block;
  position: absolute;
  pointer-events: none;
  border-radius: 50%;
  transform: scale(0);
  background: rgba(255, 255, 255, 0.5);
  opacity: 0.26;
  z-index: 10;
}

.ripple-animate {
  animation: ripple 2.4s ease-out;
}

@keyframes ripple {
  100% {
    opacity: 0;
    transform: scale(2);
  }
}
@media (prefers-reduced-motion: reduce) {
  .ripple {
    display: none;
  }
}
/* Ссылка со стрелкой */
.link-arrow {
  display: inline-flex;
  align-items: center;
  gap: 1px;
  color: var(--link);
  font-size: var(--fs-xs);
  font-weight: 500;
  transition: color var(--t-fast), gap var(--t-fast);
}
.link-arrow:hover {
  color: var(--c-berry);
  gap: 5px;
}
.link-arrow--berry {
  color: var(--c-berry);
}

/* Кнопка «показать ещё» */
.more-bar {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  width: 100%;
  margin-top: 22px;
  padding: 16px;
  border: 0;
  border-radius: var(--r-lg);
  background: rgba(255, 255, 255, 0.55);
  color: var(--c-berry);
  font-size: var(--fs-sm);
  transition: background var(--t-base), color var(--t-base);
}
.more-bar:hover {
  background: var(--c-white);
  color: var(--c-berry);
}
.more-bar svg {
  transition: transform var(--t-base);
}
.more-bar[aria-expanded=true] svg {
  transform: rotate(180deg);
}

/* Карточка */
.card {
  background: var(--bg-surface);
  border-radius: var(--r-xl);
  box-shadow: var(--sh-sm);
}
.card--outline {
  background: transparent;
  border: 1px solid rgba(229, 218, 208, 0.5);
  box-shadow: none;
}
.card--pad {
  padding: 30px 32px;
}

/* ============================================================
   Верхняя служебная панель
   ============================================================ */
/* Размеры шапки сняты с донора при 1440px:
   topbar 42px, main 68px, всего 110px; контейнер на всю ширину, отступ 20px */
/* служебная строка в закреплении не участвует — уезжает при прокрутке */
.topbar {
  position: relative;
  z-index: 61;
  background: #F8FAFC;
  font-size: var(--fs-2xs);
  color: var(--text-body);
}
.topbar__in {
  display: flex;
  align-items: center;
  gap: 22px;
  min-height: 42px;
}

/* контейнер шапки донора: максимум 1770px с полями 20px, по центру
   (при 1440 → контент 1385, при 1920 → контент 1730) */
.topbar > .container,
.header > .container {
  max-width: 1770px;
  padding-inline: 20px;
}

.topbar__spacer {
  margin-left: auto;
}
.topbar__item {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  color: #8297A4;
  white-space: nowrap;
  transition: color var(--t-fast);
}
.topbar__item:hover {
  color: var(--c-berry);
}
.topbar__item svg {
  flex: none;
}
.topbar__ico {
  flex: none;
  width: 20px;
  height: 20px;
  object-fit: contain;
}
.topbar__ico--wide {
  width: 26px;
  height: 10px;
}

.ico-point {
  width: 17px;
  height: 17px;
}

.ico-search {
  width: 20px;
  height: 20px;
}

.ico-phone {
  flex: none;
  width: 19px;
  height: 19px;
}

.topbar__status {
  color: var(--c-sky-strong);
  font-weight: 500;
}
.topbar__dot {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--c-sky-strong);
}
.topbar__socials {
  display: flex;
  flex: none;
  gap: 9px;
}
.topbar__soc {
  display: grid;
  place-items: center;
  transition: opacity var(--t-fast), transform var(--t-fast);
}
.topbar__soc img {
  width: 30px;
  height: 30px;
}
.topbar__soc:hover {
  opacity: 0.75;
  transform: translateY(-1px);
}

/* ============================================================
   Шапка
   ============================================================ */
.header {
  position: sticky;
  top: 0;
  z-index: 60;
  background: var(--c-white);
  transition: background var(--t-base), backdrop-filter var(--t-base);
}
.header.is-stuck {
  background: rgba(255, 255, 255, 0.7);
  -webkit-backdrop-filter: blur(10px);
  backdrop-filter: blur(10px);
  box-shadow: 0 4px 30px rgba(0, 0, 0, 0.15);
}
.header__in {
  display: flex;
  align-items: center;
  gap: 20px;
  min-height: 68px;
}

/* Блок логотипа держит ширину, чтобы меню начиналось на той же позиции, что у донора */
.logo {
  display: flex;
  align-items: center;
  flex: none;
  width: 236px;
}
.logo img {
  height: 56px;
  width: auto;
}

@media (max-width: 760px) {
  .logo {
    width: auto;
  }
  .logo img {
    height: 40px;
  }
}
.burger {
  display: grid;
  place-items: center;
  align-self: center;
  width: 27px;
  height: 30px;
  padding: 0;
  border: 0;
  background: none;
  transition: opacity var(--t-fast);
}
.burger img {
  width: 27px;
  height: 11px;
}
.burger:hover {
  opacity: 0.65;
}

/* шаг между пунктами меню у донора — 25px, высота пункта во всю шапку */
.nav {
  display: flex;
  align-items: stretch;
  gap: 25px;
  align-self: stretch;
}
.nav a {
  position: relative;
  display: inline-flex;
  align-items: center;
  gap: 7px;
  color: var(--c-navy);
  font-size: 16px;
  font-weight: 400;
  white-space: nowrap;
  transition: color var(--t-fast);
}
.nav a::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 18px;
  height: 2px;
  background: var(--c-berry);
  transform: scaleX(0);
  transition: transform var(--t-base);
}
.nav a:hover {
  color: var(--c-berry);
}
.nav a:hover::after {
  transform: scaleX(1);
}
.nav a.is-current {
  color: var(--c-berry);
  font-weight: 500;
}
.nav a.is-current::after {
  transform: scaleX(1);
}
.nav__more {
  display: flex;
  align-items: center;
}
.nav__more-btn {
  display: grid;
  place-items: center;
  width: 36px;
  height: 36px;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: none;
  color: var(--c-navy);
  cursor: pointer;
  transition: color var(--t-fast), background var(--t-fast);
}
.nav__more-btn:hover {
  background: rgba(32, 47, 90, 0.08);
  color: var(--c-berry);
}
.nav__more-btn.is-hot, .nav__more-btn.is-current {
  color: var(--c-berry);
}

/* правая группа донора: поиск 43×43, шаг 28px, кнопка 168×48 */
.header__tools {
  display: flex;
  align-items: center;
  gap: 28px;
  margin-left: auto;
}

.icon-btn {
  display: grid;
  place-items: center;
  width: 43px;
  height: 43px;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: none;
  color: var(--c-berry);
  transition: background var(--t-fast);
}
.icon-btn:hover {
  background: rgba(32, 47, 90, 0.08);
  color: var(--c-navy);
}
.icon-btn:hover .ico-search {
  content: url("/local/templates/dnk174_2026/css/../images/icons/search-navy.svg");
}

.header__cta {
  width: 168px;
  height: 48px;
  padding: 0 0 2px;
  border-radius: 100px;
  font-size: 16px;
  font-weight: 500;
}
.header__phone {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  color: var(--c-navy);
  font-size: 16px;
  font-weight: 700;
  white-space: nowrap;
}
.header__phone svg {
  color: var(--c-sky-strong);
}
.header__phone:hover {
  color: var(--c-berry);
}

/* ============================================================
   Подвал
   ============================================================ */
.footer {
  position: relative;
  overflow: hidden;
  background: var(--c-navy);
  color: var(--text-invert);
}
.footer::before {
  content: "";
  position: absolute;
  inset: 0;
  background: url("/local/templates/dnk174_2026/css/../images/pattern-white.svg") repeat;
  background-size: 620px 620px;
  opacity: 0.028;
  pointer-events: none;
}
.footer > * {
  position: relative;
  z-index: 1;
}
.footer > .container {
  max-width: calc(1050 * var(--s));
  padding-inline: 0;
}
.footer__in {
  position: relative;
  padding-block: 28px 26px;
}
.footer__grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  column-gap: 14px;
}
.footer h4 {
  margin-bottom: 14px;
  color: var(--c-sky);
  font-size: 25px;
  font-weight: 600;
  line-height: 1.1;
}
.footer li + li {
  margin-top: 5px;
}
.footer li a {
  color: rgba(255, 255, 255, 0.88);
  font-size: 14px;
  line-height: 1.2;
  transition: color var(--t-fast);
}
.footer li a:hover {
  color: var(--c-sky);
}
.footer__contacts li + li {
  margin-top: 12px;
}
.footer__city {
  display: block;
  color: rgba(143, 197, 236, 0.55);
  font-size: 14px;
}
.footer__tel {
  color: var(--c-white);
  font-size: 16px;
  font-weight: 500;
}
.footer__tel:hover {
  color: var(--c-sky);
}
.footer__tel-top {
  display: none;
}
.footer__socials {
  position: absolute;
  top: 28px;
  right: 0;
  display: flex;
  gap: 10px;
}
.footer__soc {
  display: grid;
  place-items: center;
  transition: opacity var(--t-fast), transform var(--t-fast);
}
.footer__soc img {
  width: 26px;
  height: 26px;
}
.footer__soc:hover {
  opacity: 0.8;
  transform: translateY(-1px);
}

/* Соцсети лежат в колонке «Контакты», но выведены абсолютом в правый
   верхний угол подвала (колонки не позиционированы, отсчёт идёт от
   .footer__in). На 1101–1499 четверть контейнера уже, чем заголовок
   «Контакты» вместе с иконками, и они наезжали на него — здесь
   возвращаем их в поток, под телефоны. */
@media (min-width: 1101px) and (max-width: 1499px) {
  .footer__socials {
    position: static;
    margin-top: 18px;
  }
}
.footer__bottom {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  gap: 20px;
  margin-top: 30px;
  font-size: var(--fs-xs);
}
.footer__legal a {
  display: block;
  line-height: 1.2;
  color: rgba(143, 197, 236, 0.62);
  text-decoration: underline;
}
.footer__legal a + a {
  margin-top: 0;
}
.footer__copy {
  color: rgba(255, 255, 255, 0.82);
}
.footer__note {
  display: none;
  grid-column: 1/-1;
  max-width: 640px;
  margin: 14px auto 0;
  color: rgba(255, 255, 255, 0.82);
  line-height: 1.45;
  text-align: center;
}
.footer__brand {
  justify-self: end;
  color: rgba(255, 255, 255, 0.28);
  font-size: var(--fs-lg);
  font-weight: 600;
  letter-spacing: 0.08em;
}

/* Кнопка «наверх»: закреплена в левом нижнем углу окна и появляется,
   когда прокручено больше двух с половиной экранов. Лежит в подвале,
   но position: fixed считает от окна, так что разметку не трогаем. */
.to-top {
  position: fixed;
  left: 32px;
  bottom: 104px;
  z-index: 60;
  display: grid;
  place-items: center;
  width: 60px;
  height: 60px;
  border: 1px solid rgba(255, 255, 255, 0.8);
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.38);
  -webkit-backdrop-filter: blur(14px) saturate(140%);
  backdrop-filter: blur(14px) saturate(140%);
  box-shadow: 0 6px 20px rgba(32, 47, 90, 0.1);
  color: var(--c-navy);
  cursor: pointer;
  opacity: 0;
  visibility: hidden;
  transform: translateY(12px);
  transition: opacity var(--t-base), transform var(--t-base), background var(--t-fast), color var(--t-fast), visibility 0s linear 0.3s;
}
.to-top.is-shown {
  opacity: 1;
  visibility: visible;
  transform: none;
  transition-delay: 0s;
}
.to-top:hover {
  background: var(--c-berry);
  border-color: var(--c-berry);
  color: var(--c-white);
}

@media (max-width: 760px) {
  .to-top {
    left: 16px;
    bottom: 16px;
    width: 48px;
    height: 48px;
  }
}
/* Полоса предупреждения: кегль и отступы донора (42px / 300, padding 11px) */
.disclaimer {
  padding: 11px 20px;
  font-family: "Inter", "Golos Text", sans-serif;
  background: #F8FAFC;
  color: var(--c-berry);
  text-align: center;
  font-size: clamp(13px, (100vw - 60px) / 43, 42px);
  font-weight: 200;
  letter-spacing: 0.02em;
  text-transform: uppercase;
  text-wrap: balance;
}

/* ============================================================
   Адаптив
   ============================================================ */
@media (max-width: 1280px) {
  .nav {
    gap: 16px;
  }
  :root {
    --gutter: 24px;
  }
  .logo {
    width: auto;
  }
  .header__tools {
    gap: 18px;
  }
  .header__cta {
    width: auto;
    padding-inline: 24px;
  }
}
/* ============================================================
   Шапка на широких экранах — три состояния донора:
   <1500: h68, лого 220×50, шаг меню 25, телефон 16
   1500–1799: h75, лого 250×57, шаг меню 35, группы 30, телефон 18
   ≥1800: то же, но шаг меню и групп 60
   ============================================================ */
@media (min-width: 1500px) {
  .header__in {
    min-height: 82px;
    gap: 30px;
  }
  .logo {
    width: 270px;
  }
  .logo img {
    height: 68px;
  }
  .nav {
    gap: 35px;
  }
  .header__phone {
    font-size: 18px;
  }
  .icon-btn {
    width: 76px;
    border-radius: 22px;
  }
}
@media (min-width: 1800px) {
  .header__in {
    gap: 60px;
  }
  .nav {
    gap: 60px;
  }
}
/* кнопке «наверх» нужно свободное поле слева от контейнера */
/* ============================================================
   Шапка планшета (до 979): как на телефоне, слева от логотипа остаётся
   бургер, а пункты меню уходят в боковую панель. От 980 строка меню
   на месте: что в неё не влезает, уходит в меню «⋯» (main.js).
   Порог совпадает с main.js (sideMq).
   ============================================================ */
@media (max-width: 979px) {
  .nav {
    order: -1;
    gap: 0;
    margin-right: 10px;
  }
  .nav > a, .nav__more {
    display: none;
  }
  .header__cta {
    height: 42px;
    padding-inline: 22px;
  }
}
/* Служебная строка планшета. Целиком она помещается от ~1100px; ниже
   сначала остаётся только значок у «Слабовидящим», с 960 — и у «Личного
   кабинета», а часы работы уходят (они есть в списке адресов). Подписи
   скрыты через font-size: 0, поэтому экранный диктор их по-прежнему
   читает. На телефоне строка прокручивается вбок (ниже). */
@media (min-width: 761px) and (max-width: 1100px) {
  .topbar__in {
    gap: 18px;
  }
  .topbar__spacer ~ a.topbar__item:last-child {
    font-size: 0;
    gap: 0;
  }
}
@media (min-width: 761px) and (max-width: 960px) {
  .topbar__spacer ~ a.topbar__item {
    font-size: 0;
    gap: 0;
  }
  .topbar__status + .topbar__item {
    display: none;
  }
}
@media (max-width: 1100px) {
  .footer > .container {
    max-width: none;
    padding-inline: var(--gutter);
  }
  .footer__socials {
    right: var(--gutter);
  }
  .footer__grid {
    grid-template-columns: 1fr 1fr;
    justify-content: start;
  }
}
@media (max-width: 720px) {
  .header__cta {
    display: none;
  }
  .header__tools {
    gap: 14px;
  }
}
@media (max-width: 760px) {
  :root {
    --fs-h1: 27px;
    --fs-h2: 22px;
    --fs-h3: 18px;
    --gutter: 14px;
  }
  .header__in {
    gap: 14px;
    min-height: 62px;
  }
  .header__phone {
    padding-left: 12px;
    border-left: 1px solid rgba(32, 47, 90, 0.16);
  }
  .header__tools {
    gap: 10px;
  }
  .footer h4 {
    margin-bottom: 8px;
    font-size: 18px;
  }
  .footer__grid li {
    line-height: 1.2;
  }
  .footer__grid li a {
    display: block;
    line-height: 1.45;
  }
  .footer__contacts .footer__city {
    line-height: 1.1;
  }
  .footer__contacts .footer__tel {
    display: block;
    line-height: 1.1;
  }
  .footer li + li {
    margin-top: 3px;
  }
  .footer li a {
    font-size: 13px;
  }
  .footer__in {
    padding-block: 22px 20px;
  }
  .header__phone {
    font-size: 0;
    gap: 0;
  }
  .header__phone svg {
    width: 20px;
    height: 20px;
  }
  .section {
    padding-block: 40px;
  }
  .topbar__in {
    overflow-x: auto;
    white-space: nowrap;
    padding-right: 22px;
  }
  .topbar__in::-webkit-scrollbar {
    height: 2px;
  }
  .topbar__in::-webkit-scrollbar-track {
    background: transparent;
  }
  .topbar__in::-webkit-scrollbar-thumb {
    border-radius: 2px;
    background: rgba(130, 151, 164, 0.5);
  }
  .topbar {
    scrollbar-width: thin;
  }
  .topbar::after {
    content: "";
    position: absolute;
    top: 50%;
    right: 12px;
    width: 6px;
    height: 6px;
    border-top: 2px solid #8297A4;
    border-right: 2px solid #8297A4;
    transform: translateY(-60%) rotate(45deg);
    pointer-events: none;
  }
  .topbar__in > .topbar__item:first-child {
    margin-left: -3px;
  }
  .footer__tel-top {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 30px;
    color: var(--c-white);
    font-size: 17px;
    font-weight: 600;
  }
  .footer__tel-top img {
    width: 20px;
    height: 20px;
  }
  .footer__socials {
    top: 18px;
    gap: 4px;
  }
  .footer__soc img {
    width: 32px;
    height: 32px;
  }
  .footer__grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 18px 14px;
  }
  .footer__note {
    display: block;
    line-height: 1.2;
  }
  .footer__legal a {
    line-height: 1.45;
  }
  .footer__legal a + a {
    margin-top: 0;
  }
  .footer__bottom {
    grid-template-columns: 1fr;
    text-align: center;
    gap: 10px;
    margin-top: 16px;
  }
  .footer__note {
    margin-top: 4px;
  }
  .footer__brand {
    justify-self: center;
  }
  .carousel__foot .btn,
  .us-spec__foot .btn {
    padding: 9px 18px 11px;
    font-size: 14px;
  }
  .disclaimer {
    padding: 14px 16px;
    background: #E3E3E3;
    color: rgba(32, 47, 90, 0.72);
    font-family: "Golos Text", sans-serif;
    font-weight: 500;
    font-size: 13px;
    line-height: 1.45;
    white-space: normal;
    overflow: visible;
  }
  .card--pad {
    padding: 22px 18px;
  }
}
/* ============================================================
   Появление блоков при прокрутке
   Медленное, с мягким замедлением: 0.9s, подъём на 26px.
   Класс вешает скрипт, поэтому при выключенном JS всё видно сразу.
   ============================================================ */
@media (prefers-reduced-motion: no-preference) {
  .reveal {
    opacity: 0;
    transform: translateY(26px);
    transition: opacity 0.9s cubic-bezier(0.16, 1, 0.3, 1), transform 0.9s cubic-bezier(0.16, 1, 0.3, 1);
    transition-delay: var(--reveal-delay, 0s);
  }
  .reveal.is-in {
    opacity: 1;
    transform: none;
  }
  .enter > * {
    opacity: 0;
    transform: translateY(18px);
    animation: enter-up 1s cubic-bezier(0.16, 1, 0.3, 1) forwards;
  }
  .enter > *:nth-child(1) {
    animation-delay: 0.05s;
  }
  .enter > *:nth-child(2) {
    animation-delay: 0.14s;
  }
  .enter > *:nth-child(3) {
    animation-delay: 0.23s;
  }
  .enter > *:nth-child(4) {
    animation-delay: 0.32s;
  }
  .enter > *:nth-child(5) {
    animation-delay: 0.41s;
  }
  .enter > *:nth-child(6) {
    animation-delay: 0.5s;
  }
  .enter > *:nth-child(7) {
    animation-delay: 0.59s;
  }
  @keyframes enter-up {
    to {
      opacity: 1;
      transform: none;
    }
  }
}
/* Донор режет страницу по .wrapper, а не по body: карусели внутри могут
   свободно выпускать карточки за пределы контейнера, а лишняя ширина
   срезается по краю окна. У body такое правило не работает — overflow
   с body уходит на вьюпорт, и сам body перестаёт обрезать. clip, а не
   hidden: hidden сделал бы обёртку прокручиваемой и сломал sticky. */
main {
  overflow-x: clip;
}

/* секция, которая заканчивается полноширинным блоком вплотную к подвалу */
.section--flush {
  padding-bottom: 0;
}

/* Звезда рейтинга. Была символом ★ — у него острые лучи, поэтому рисуем
   свою: тот же контур с толстой обводкой и скруглением стыков даёт
   мягкие кончики. Размер и цвет наследуются от текста. */
.star {
  display: inline-block;
  width: 1em;
  height: 1em;
  vertical-align: -0.12em;
  background: currentColor;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 4.2l2.5 5 5.5.8-4 3.9 1 5.5-5-2.6-5 2.6 1-5.5-4-3.9 5.5-.8z' fill='%23000' stroke='%23000' stroke-width='2.8' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 4.2l2.5 5 5.5.8-4 3.9 1 5.5-5-2.6-5 2.6 1-5.5-4-3.9 5.5-.8z' fill='%23000' stroke='%23000' stroke-width='2.8' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat;
}

/* Мелкие иконки в строках-подписях. Рисуются маской, поэтому цвет
   берут от текста, а размер — от кегля. */
.ico {
  display: inline-block;
  width: 1.35em;
  height: 1.35em;
  margin-right: 0.45em;
  vertical-align: -0.3em;
  background: currentColor;
  -webkit-mask-size: contain;
  mask-size: contain;
  -webkit-mask-position: center;
  mask-position: center;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
}
.ico--clock {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M12 7v5.5l3.5 2'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M12 7v5.5l3.5 2'/%3E%3C/svg%3E");
}
.ico--phone {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6.2 3.5h3l1.5 3.8-2 1.4a12 12 0 0 0 6.6 6.6l1.4-2 3.8 1.5v3a1.8 1.8 0 0 1-2 1.8A16.5 16.5 0 0 1 4.4 5.5a1.8 1.8 0 0 1 1.8-2Z'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6.2 3.5h3l1.5 3.8-2 1.4a12 12 0 0 0 6.6 6.6l1.4-2 3.8 1.5v3a1.8 1.8 0 0 1-2 1.8A16.5 16.5 0 0 1 4.4 5.5a1.8 1.8 0 0 1 1.8-2Z'/%3E%3C/svg%3E");
}

/* ============================================================
   Поиск в шапке — как на доноре: клик по лупе открывает
   полноэкранную подложку с одной строкой ввода.
   ============================================================ */
.search-pop {
  position: fixed;
  inset: 0;
  z-index: 200;
  display: grid;
  place-items: center;
  padding: 20px;
  background: rgba(255, 255, 255, 0.8);
  -webkit-backdrop-filter: blur(6px) saturate(120%);
  backdrop-filter: blur(6px) saturate(120%);
  opacity: 0;
  visibility: hidden;
  transition: opacity var(--t-base), visibility 0s linear var(--t-base);
}
.search-pop.is-open {
  opacity: 1;
  visibility: visible;
  transition: opacity var(--t-base), visibility 0s;
}
.search-pop__form {
  position: relative;
  width: min(1220px, 100%);
  margin-bottom: 8vh;
}
.search-pop__input {
  width: 100%;
  height: 50px;
  padding: 0 130px 2px 54px;
  border: 1px solid var(--c-white);
  border-radius: 25px;
  background: rgba(255, 255, 255, 0.8) url("/local/templates/dnk174_2026/css/../images/icons/search.svg") no-repeat 22px center;
  background-size: 18px 18px;
  -webkit-backdrop-filter: blur(14px) saturate(140%);
  backdrop-filter: blur(14px) saturate(140%);
  color: var(--c-navy);
  font: inherit;
  font-size: 15px;
  box-shadow: 0 10px 30px rgba(32, 47, 90, 0.1);
}
.search-pop__input::placeholder {
  color: rgba(32, 47, 90, 0.5);
}
.search-pop__input:focus {
  outline: 0;
  border-color: var(--c-berry);
}
.search-pop__input::-webkit-search-cancel-button {
  display: none;
}
.search-pop__submit {
  position: absolute;
  top: 0;
  right: 0;
  width: 110px;
  height: 50px;
  border: 0;
  border-radius: 25px;
  background: var(--c-berry);
  color: var(--c-white);
  font: inherit;
  font-size: 14px;
  font-weight: 500;
  padding-bottom: 2px;
  cursor: pointer;
  transition: background var(--t-base);
}
.search-pop__submit:hover {
  background: var(--c-berry-600);
}
.search-pop__close {
  position: absolute;
  top: 26px;
  right: 32px;
  display: grid;
  place-items: center;
  width: 44px;
  height: 44px;
  border: 0;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.6);
  color: var(--c-navy);
  font-size: 22px;
  line-height: 1;
  cursor: pointer;
  transition: background var(--t-fast), color var(--t-fast);
}
.search-pop__close:hover {
  background: var(--c-berry);
  color: var(--c-white);
}

@media (max-width: 760px) {
  .search-pop__input {
    padding-right: 96px;
  }
  .search-pop__submit {
    width: 86px;
  }
}
/* ---------- Поиск в шапке: подсказки и очистка строки ---------- */
.search-pop__clear {
  position: absolute;
  top: 0;
  right: 118px;
  display: none;
  width: 32px;
  height: 50px;
  padding: 0 0 2px;
  border: 0;
  background: none;
  color: rgba(32, 47, 90, 0.4);
  font-size: 22px;
  line-height: 1;
  cursor: pointer;
  transition: color var(--t-fast);
}
.search-pop__form.has-text .search-pop__clear {
  display: block;
}
.search-pop__clear:hover {
  color: var(--c-berry);
}
.search-pop__results {
  position: absolute;
  top: 58px;
  left: 0;
  right: 0;
  z-index: 2;
  max-height: 46vh;
  padding: 6px;
  overflow-y: auto;
  border: 1px solid var(--c-white);
  border-radius: 18px;
  background: rgba(255, 255, 255, 0.92);
  -webkit-backdrop-filter: blur(14px) saturate(140%);
  backdrop-filter: blur(14px) saturate(140%);
  box-shadow: 0 16px 40px rgba(32, 47, 90, 0.12);
  text-align: left;
}
.search-pop__results::-webkit-scrollbar {
  width: 3px;
}
.search-pop__results::-webkit-scrollbar-thumb {
  border-radius: 3px;
  background: var(--c-berry);
}

.search-sug {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 18px;
  padding: 9px 16px;
  border-radius: 12px;
  color: var(--c-navy);
  font-size: 14px;
  transition: background var(--t-fast);
}
.search-sug b {
  color: var(--c-berry);
  font-weight: 600;
}
.search-sug__t {
  min-width: 0;
}
.search-sug__s {
  flex: none;
  max-width: 45%;
  overflow: hidden;
  color: rgba(32, 47, 90, 0.45);
  font-size: 12px;
  white-space: nowrap;
  text-overflow: ellipsis;
}
.search-sug.is-active, .search-sug:hover {
  background: rgba(32, 47, 90, 0.06);
}
.search-sug--empty {
  color: rgba(32, 47, 90, 0.5);
  cursor: default;
}
.search-sug--empty:hover {
  background: none;
}

/* ============================================================
   Выпадающие меню шапки, бургер и плашка онлайн-записи
   ============================================================ */
.nav a.nav__has-drop.is-hot {
  color: var(--c-berry);
}

.hdrop {
  position: fixed;
  left: 0;
  right: 0;
  top: 0;
  z-index: 80;
  padding: 10px 16px 0;
  background: none;
  opacity: 0;
  transform: translateY(-8px);
  transition: opacity var(--t-fast), transform var(--t-fast);
}
.hdrop.is-open {
  opacity: 1;
  transform: none;
}
.hdrop__in {
  display: grid;
  max-width: none;
  padding: 0;
  gap: 10px;
}
.hdrop__in--services {
  grid-template-columns: calc(50% - 5px) 1fr;
}
.hdrop__cats {
  display: flex;
  flex-direction: column;
  gap: 2px;
  padding: 14px 22px 26px calc(var(--x, 0px) - 30px);
  border-radius: 22px;
  background: rgba(255, 255, 255, 0.72);
  -webkit-backdrop-filter: blur(13px) saturate(140%);
  backdrop-filter: blur(13px) saturate(140%);
  will-change: backdrop-filter;
  box-shadow: 0 24px 50px rgba(32, 47, 90, 0.16);
}
.hdrop__panes {
  display: grid;
  padding: 26px 24px 26px 40px;
  border-radius: 22px;
  background: rgba(255, 255, 255, 0.72);
  -webkit-backdrop-filter: blur(13px) saturate(140%);
  backdrop-filter: blur(13px) saturate(140%);
  will-change: backdrop-filter;
  box-shadow: 0 24px 50px rgba(32, 47, 90, 0.16);
}
.hdrop__cat {
  display: block;
  text-decoration: none;
  padding: 5px 14px;
  border: 0;
  border-radius: 12px;
  background: none;
  color: var(--c-navy);
  font: inherit;
  font-size: 16px;
  text-align: left;
  cursor: pointer;
  transition: background var(--t-fast), color var(--t-fast);
}
.hdrop__cat:hover {
  background: rgba(32, 47, 90, 0.05);
}
.hdrop__cat.is-active {
  background: var(--c-berry);
  color: var(--c-white);
}
.hdrop__pane {
  display: none;
}
.hdrop__pane.is-active {
  display: block;
}
.hdrop__list {
  columns: 3;
  column-gap: 26px;
  column-fill: auto;
  margin: 0;
  padding: 0;
  list-style: none;
}
.hdrop__list li {
  break-inside: avoid;
  margin-bottom: 9px;
}
.hdrop__list a {
  display: block;
  color: rgba(32, 47, 90, 0.78);
  font-size: 14px;
  line-height: 1.45;
}
.hdrop__list a:hover {
  color: var(--c-berry);
}
.hdrop__all {
  color: var(--c-berry);
  font-size: 15px;
  font-weight: 500;
}
.hdrop__in--about {
  padding: 22px 24px 40px calc(var(--x, 0px) - 16px);
  border-radius: 22px;
  background: rgba(255, 255, 255, 0.72);
  -webkit-backdrop-filter: blur(13px) saturate(140%);
  backdrop-filter: blur(13px) saturate(140%);
  will-change: backdrop-filter;
  box-shadow: 0 24px 50px rgba(32, 47, 90, 0.16);
}
.hdrop__cols {
  display: grid;
  grid-auto-flow: column;
  grid-template-rows: repeat(4, auto);
  grid-template-columns: repeat(3, max-content);
  gap: 5px 80px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.hdrop__cols li {
  margin: 0;
}
.hdrop__cols a {
  color: rgba(32, 47, 90, 0.78);
  font-size: 15px;
}
.hdrop__cols a:hover {
  color: var(--c-berry);
}

/* ---------- Бургер ---------- */
.hmenu {
  position: fixed;
  inset: 0;
  z-index: 210;
  background: rgba(32, 47, 90, 0.35);
  -webkit-backdrop-filter: blur(4px);
  backdrop-filter: blur(4px);
  opacity: 0;
  visibility: hidden;
  transition: opacity var(--t-base), visibility 0s linear var(--t-base);
}
.hmenu.is-open {
  opacity: 1;
  visibility: visible;
  transition: opacity var(--t-base), visibility 0s;
}
.hmenu__panel {
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  width: min(520px, 92vw);
  padding: 34px 38px 40px;
  overflow-y: auto;
  background: var(--c-bg);
  box-shadow: 0 0 60px rgba(32, 47, 90, 0.2);
  transform: translateX(-100%);
  transition: transform 0.42s cubic-bezier(0.22, 0.61, 0.36, 1);
}
.hmenu.is-open .hmenu__panel {
  transform: none;
}
.hmenu__panel::-webkit-scrollbar, .hmenu__fold::-webkit-scrollbar {
  width: 4px;
}
.hmenu__panel::-webkit-scrollbar-thumb, .hmenu__fold::-webkit-scrollbar-thumb {
  border-radius: 4px;
  background: transparent;
}
.hmenu__panel.is-scrolling::-webkit-scrollbar-thumb, .hmenu__fold.is-scrolling::-webkit-scrollbar-thumb {
  background: rgba(32, 47, 90, 0.28);
}
.hmenu__panel, .hmenu__fold {
  scrollbar-width: none;
}
.hmenu__close {
  position: absolute;
  top: 18px;
  right: 22px;
  border: 0;
  background: none;
  color: rgba(32, 47, 90, 0.5);
  font-size: 30px;
  line-height: 1;
  cursor: pointer;
}
.hmenu__close:hover {
  color: var(--c-berry);
}
.hmenu__label {
  margin: 0 0 12px;
  color: var(--c-berry);
  font-size: 13px;
  text-transform: uppercase;
  letter-spacing: 0.06em;
}
.hmenu__list {
  margin: 0 0 28px;
  padding: 0;
  list-style: none;
}
.hmenu__list li {
  margin-bottom: 10px;
}
.hmenu__list a {
  color: var(--c-navy);
  font-size: 18px;
  font-weight: 500;
}
.hmenu__list a:hover {
  color: var(--c-berry);
}
.hmenu__list--two {
  columns: 2;
  column-gap: 24px;
}
.hmenu__list--two li {
  break-inside: avoid;
}
.hmenu__list--two a {
  font-size: 15px;
  font-weight: 400;
}
.hmenu__foot {
  display: flex;
  align-items: center;
  gap: 18px;
  flex-wrap: wrap;
}
.hmenu__tel {
  color: var(--c-navy);
  font-size: 17px;
  font-weight: 600;
}

/* ---------- Онлайн-запись ---------- */
.bookpop__panel {
  position: relative;
  width: min(760px, 100%);
  max-height: 88vh;
  overflow-y: auto;
  padding: 26px 30px 30px;
  border: 1px solid #fff;
  border-radius: 26px;
  background: rgba(251, 246, 242, 0.88);
  -webkit-backdrop-filter: blur(22px) saturate(140%);
  backdrop-filter: blur(22px) saturate(140%);
  box-shadow: 0 30px 70px rgba(32, 47, 90, 0.22);
}
.bookpop__panel::-webkit-scrollbar {
  width: 3px;
}
.bookpop__panel::-webkit-scrollbar-thumb {
  border-radius: 3px;
  background: var(--c-berry);
}
.bookpop__close {
  position: absolute;
  top: 16px;
  right: 20px;
  border: 0;
  background: none;
  color: rgba(32, 47, 90, 0.45);
  font-size: 28px;
  line-height: 1;
  cursor: pointer;
}
.bookpop__close:hover {
  color: var(--c-berry);
}
.bookpop__kicker {
  margin: 0 0 6px;
  color: var(--c-berry);
  font-size: 13px;
  text-transform: uppercase;
  letter-spacing: 0.06em;
}
.bookpop__title {
  margin: -9px 0 19px;
  color: var(--c-navy);
  font-size: 23px;
  font-weight: 700;
}
.bookpop__note {
  margin: -12px 0 16px;
  color: rgba(32, 47, 90, 0.6);
  font-size: 15px;
  line-height: 1.4;
}
.bookpop__form {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 9px;
}
.bookpop__field {
  display: flex;
  flex-direction: column;
  gap: 3px;
  min-width: 0;
}
.bookpop__field--wide {
  grid-column: 1/-1;
}
.bookpop__field span {
  color: rgba(32, 47, 90, 0.6);
  font-size: 13px;
}
.bookpop__field input,
.bookpop__field select,
.bookpop__field textarea {
  width: 100%;
  padding: 9px 14px;
  border: 1px solid rgba(32, 47, 90, 0.14);
  border-radius: 14px;
  background: var(--c-white);
  color: var(--c-navy);
  font: inherit;
  font-size: 15px;
}
.bookpop__field textarea {
  resize: vertical;
}
.bookpop__field input:focus,
.bookpop__field select:focus,
.bookpop__field textarea:focus {
  outline: 0;
  border-color: var(--c-berry);
}
.bookpop__field input.is-bad {
  border-color: var(--c-berry);
  background: var(--c-berry-100);
}
.bookpop__agree {
  grid-column: 1/2;
  align-self: center;
  display: flex;
  align-items: flex-start;
  gap: 10px;
  color: rgba(32, 47, 90, 0.6);
  font-size: 13px;
  line-height: 1.35;
}
.bookpop__agree input {
  flex: none;
  -webkit-appearance: none;
  appearance: none;
  width: 15px;
  height: 15px;
  margin: 2px 0 0;
  border: 1px solid var(--c-berry);
  border-radius: 4px;
  background: #fff;
  cursor: pointer;
  transition: background var(--t-fast);
}
.bookpop__agree input:checked {
  border-color: var(--c-berry);
  background-color: var(--c-berry);
  background-image: url("data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 24 24%27 fill=%27none%27 stroke=%27%23fff%27 stroke-width=%273.4%27 stroke-linecap=%27round%27 stroke-linejoin=%27round%27%3E%3Cpath d=%27M5 12.5l4.5 4.5L19 7.5%27/%3E%3C/svg%3E");
  background-position: center;
  background-size: 11px 11px;
  background-repeat: no-repeat;
}
.bookpop__submit {
  grid-column: 2/-1;
  justify-self: end;
  align-self: center;
  min-width: 200px;
}
.bookpop__done {
  margin: 0;
  padding: 26px 0 4px;
  color: var(--c-navy);
  font-size: 17px;
  line-height: 1.45;
}

/* выпадающие панели разделов — только при строке меню (см. шапку планшета) */
@media (max-width: 979px) {
  .hdrop {
    display: none;
  }
}
@media (max-width: 640px) {
  .bookpop__form {
    grid-template-columns: minmax(0, 1fr);
  }
  .hmenu__list--two {
    columns: 1;
  }
}
/* строка «Спецпредложения» внизу списка разделов — иконка с донора */
.hdrop__stock {
  border-radius: 12px;
  display: flex;
  align-items: center;
  gap: 10px;
  margin-top: 8px;
  margin-left: -34px;
  padding: 5px 14px;
  color: var(--c-berry);
  font-size: 16px;
  font-weight: 500;
  transition: background var(--t-fast), color var(--t-fast);
}
.hdrop__stock:hover {
  background: rgba(177, 59, 99, 0.08);
  color: var(--c-berry-600);
}
.hdrop__stock-ico {
  flex: none;
  width: 24px;
  height: 24px;
}

/* Стрелка у списков в плашке записи: системную убираем — она липла
   к самому краю поля, рисуем свою и отводим от границы */
.bookpop__field select {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  padding-right: 46px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8' fill='none'%3E%3Cpath d='M1 1.5L6 6.5L11 1.5' stroke='%23202F5A' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 20px center;
  background-size: 12px 8px;
}
.bookpop__field select::-ms-expand {
  display: none;
}
.bookpop .doc-select__btn {
  height: 46px;
  padding: 0 46px 2px 16px;
  border: 1px solid rgba(32, 47, 90, 0.14);
  border-radius: 14px;
  background-color: var(--c-white);
  -webkit-backdrop-filter: none;
  backdrop-filter: none;
  font-size: 15px;
}
.bookpop .doc-select__btn::after {
  top: 20px;
  right: 20px;
}
.bookpop .doc-select__btn:hover {
  background-color: var(--c-white);
  border-color: var(--c-berry);
}
.bookpop .doc-select.is-open .doc-select__btn {
  border-radius: 14px 14px 0 0;
  border-color: var(--c-berry);
  border-bottom-color: transparent;
}
.bookpop .doc-select__list {
  padding: 4px 0 8px;
  border: 1px solid var(--c-berry);
  border-top: 0;
  border-radius: 0 0 14px 14px;
  background-color: var(--c-white);
  -webkit-backdrop-filter: none;
  backdrop-filter: none;
  max-height: 260px;
}
.bookpop .doc-select__opt {
  padding: 8px 16px;
  font-size: 15px;
}

/* Полосы прокрутки не доезжают до скруглений: дорожку отводим от углов */
.search-pop__results::-webkit-scrollbar-track {
  margin: 12px 0;
}

.hmenu__panel::-webkit-scrollbar-track {
  margin: 16px 0;
}

.bookpop__panel::-webkit-scrollbar-track {
  margin: 20px 0;
}
.bookpop .doc-select__list::-webkit-scrollbar-track {
  margin: 8px 0 12px;
}

/* ---------- Пошаговая онлайн-запись ---------- */
.bookpop__body {
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.bstep {
  border: 0;
  border-radius: 18px;
  background: var(--c-white);
  padding: 11px 16px 13px;
}
.bstep--done {
  padding: 8px 16px 10px;
}
.bstep--done .bstep__no {
  background: var(--c-berry);
  color: var(--c-white);
}
.bstep__head {
  display: flex;
  align-items: center;
  gap: 10px;
}
.bstep__no {
  flex: none;
  display: grid;
  place-items: center;
  width: 30px;
  height: 30px;
  border-radius: 50%;
  background: var(--c-berry-100);
  color: var(--c-berry);
  font-size: 14px;
  font-weight: 600;
  padding-bottom: 1px;
}
.bstep__title {
  color: var(--c-navy);
  font-size: 15px;
  font-weight: 600;
}
.bstep__edit {
  margin-left: auto;
  border: 0;
  background: none;
  color: var(--c-berry);
  font: inherit;
  font-size: 13px;
  cursor: pointer;
}
.bstep__edit:hover {
  color: var(--c-berry-600);
}
.bstep__value {
  margin: 3px 0 0 34px;
  color: var(--c-navy);
  font-size: 15px;
}
.bstep__hint {
  margin: -5px 0 0 40px;
  color: rgba(32, 47, 90, 0.5);
  font-size: 13px;
}
.bstep--open > .bk-chips, .bstep--open > .bk-list, .bstep--open > .bk-docs, .bstep--open > .bk-dates, .bstep--open > .bk-times {
  margin: 9px 0 0 30px;
}
.bstep--open > .bookpop__form {
  margin: 9px 0 0;
}
.bstep--open > .bk-times {
  margin-top: 8px;
}
.bstep--open {
  padding-bottom: 26px;
}

.bk-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}

.bk-chip {
  padding: 6px 12px 7px;
  border: 1px solid rgba(32, 47, 90, 0.14);
  border-radius: var(--r-pill);
  background: none;
  color: var(--c-navy);
  font: inherit;
  font-size: 14px;
  cursor: pointer;
  transition: background var(--t-fast), color var(--t-fast), border-color var(--t-fast);
}
.bk-chip:hover {
  border-color: var(--c-berry);
  color: var(--c-berry);
}
.bk-chip.is-active {
  background: var(--c-berry);
  border-color: var(--c-berry);
  color: var(--c-white);
}

.bk-list {
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.bk-row {
  padding: 8px 14px;
  border: 1px solid transparent;
  border-radius: 12px;
  background: rgba(32, 47, 90, 0.03);
  color: var(--c-navy);
  font: inherit;
  font-size: 14px;
  text-align: left;
  cursor: pointer;
  transition: background var(--t-fast), border-color var(--t-fast);
}
.bk-row:hover {
  border-color: var(--c-berry);
}
.bk-row.is-active {
  background: var(--c-berry-100);
  border-color: var(--c-berry);
  color: var(--c-berry);
}

.bk-docs {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 6px;
  max-height: 320px;
  overflow-y: auto;
}
.bk-docs::-webkit-scrollbar {
  width: 3px;
}
.bk-docs::-webkit-scrollbar-track {
  margin: 8px 0;
}
.bk-docs::-webkit-scrollbar-thumb {
  border-radius: 3px;
  background: var(--c-berry);
}

.bk-doc {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 8px 10px;
  border: 1px solid transparent;
  border-radius: 14px;
  background: rgba(32, 47, 90, 0.03);
  font: inherit;
  text-align: left;
  cursor: pointer;
  transition: background var(--t-fast), border-color var(--t-fast);
}
.bk-doc:hover {
  border-color: var(--c-berry);
}
.bk-doc.is-active {
  background: var(--c-berry-100);
  border-color: var(--c-berry);
}
.bk-doc img, .bk-doc__ph {
  flex: none;
  width: 44px;
  height: 44px;
  border-radius: 12px;
  object-fit: cover;
  object-position: top center;
  background: rgba(138, 201, 255, 0.25);
}
.bk-doc__body {
  display: flex;
  flex-direction: column;
  gap: 2px;
  min-width: 0;
}
.bk-doc__name {
  color: var(--c-navy);
  font-size: 14px;
  font-weight: 500;
  line-height: 1.45;
}
.bk-doc__role {
  color: rgba(32, 47, 90, 0.5);
  font-size: 12px;
  line-height: 1.3;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.bk-dates {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}

.bk-date {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 2px;
  padding: 6px 12px 7px;
  border: 1px solid rgba(32, 47, 90, 0.14);
  border-radius: 14px;
  background: none;
  font: inherit;
  cursor: pointer;
  transition: background var(--t-fast), border-color var(--t-fast);
}
.bk-date b {
  color: var(--c-navy);
  font-size: 14px;
  font-weight: 600;
}
.bk-date span {
  color: rgba(32, 47, 90, 0.5);
  font-size: 12px;
}
.bk-date:hover {
  border-color: var(--c-berry);
}
.bk-date.is-active {
  background: var(--c-berry);
  border-color: var(--c-berry);
}
.bk-date.is-active b, .bk-date.is-active span {
  color: var(--c-white);
}

.bk-times {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}

.bk-time {
  padding: 6px 14px 7px;
  border: 1px solid rgba(32, 47, 90, 0.14);
  border-radius: var(--r-pill);
  background: none;
  color: var(--c-navy);
  font: inherit;
  font-size: 14px;
  cursor: pointer;
  transition: background var(--t-fast), color var(--t-fast), border-color var(--t-fast);
}
.bk-time:hover {
  border-color: var(--c-berry);
  color: var(--c-berry);
}
.bk-time.is-active {
  background: var(--c-berry);
  border-color: var(--c-berry);
  color: var(--c-white);
}

/* две колонки: итоги слева, эмблема с кнопкой — справа одной стопкой,
   поэтому знак всегда по центру кнопки */
.bstep--final {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  column-gap: 30px;
  padding: 30px;
  text-align: left;
}

.bk-final__side {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 28px;
}
.bk-final__mark {
  width: 94px;
  height: auto;
  opacity: 0.12;
  pointer-events: none;
}

.bk-summary {
  margin: 0 0 18px;
  padding: 0;
  list-style: none;
  display: grid;
  gap: 8px;
}

/* итоги опущены от верха плашки, идёт после общего правила — иначе margin сбрасывается */
.bstep--final .bk-summary {
  margin: 0;
}

.bk-summary li {
  display: flex;
  align-items: baseline;
  gap: 12px;
}
.bk-summary span {
  flex: none;
  width: 140px;
  color: rgba(32, 47, 90, 0.5);
  font-size: 13px;
  text-align: right;
}
.bk-summary b {
  color: var(--c-navy);
  font-size: 14px;
  font-weight: 500;
}

@media (max-width: 640px) {
  .bk-docs {
    grid-template-columns: 1fr;
  }
  .bstep--open > .bk-chips,
  .bstep--open > .bk-list,
  .bstep--open > .bk-docs,
  .bstep--open > .bk-dates,
  .bstep--open > .bookpop__form {
    margin-left: 0;
  }
}
/* портрет врача в свёрнутом шаге записи */
.bstep__value--doc {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-top: 5px;
}
.bstep__value--doc img {
  flex: none;
  width: 34px;
  height: 34px;
  border-radius: 10px;
  object-fit: cover;
  object-position: top center;
  background: rgba(138, 201, 255, 0.25);
}

/* подсказка в шаге времени, пока не выбрана дата */
.bk-empty {
  margin: 12px 0 0 34px;
  color: rgba(32, 47, 90, 0.45);
  font-size: 14px;
}

/* шаг «Услуга»: название слева, цена справа */
.bk-serv__row {
  display: flex;
  align-items: center;
  gap: 14px;
}
.bk-serv__name {
  display: flex;
  flex-direction: column;
  gap: 2px;
  text-align: left;
}
.bk-serv__name em {
  color: var(--c-berry);
  font-size: 12px;
  font-style: normal;
}
.bk-serv__price {
  margin-left: auto;
  flex: none;
  color: var(--c-berry);
  font-size: 15px;
  font-weight: 600;
  white-space: nowrap;
}

/* стоимость в итоге записи — ягодным (вес больше, чем у .bk-summary b) */
.bk-summary b.bk-summary__price {
  color: var(--c-berry);
  font-weight: 600;
}

/* ---------- Пройденные шаги записи: компактная строка ---------- */
.bstep--done {
  display: flex;
  align-items: center;
  gap: 10px;
  min-height: 50px;
  padding: 4px 14px;
}
.bstep--done .bstep__title {
  flex: none;
  width: 116px;
  font-size: 14px;
  font-weight: 500;
}
.bstep--done .bstep__value {
  flex: 1;
  min-width: 0;
  margin: 0;
  font-size: 14px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.bstep--done .bstep__value--doc {
  display: flex;
  align-items: center;
  gap: 8px;
  margin: 0;
}
.bstep--done .bstep__value--doc img {
  width: 26px;
  height: 26px;
  border-radius: 8px;
}
.bstep--done .bstep__edit {
  margin-left: 0;
  flex: none;
}

/* Межстрочные интервалы в плашке записи — минимальные.
   Все значения держим здесь одним списком: правка в базовых
   правилах выше отсюда всё равно перекрывается */
.bk-doc__name {
  line-height: 1.1;
}
.bk-doc__role {
  line-height: 1.15;
}

.bk-serv__name {
  line-height: 1.15;
}

.bk-summary b {
  line-height: 1.15;
}

.bstep__title {
  line-height: 1.15;
}
.bstep__hint {
  line-height: 1.15;
}

.bk-date b,
.bk-date span {
  line-height: 1.1;
}

.bk-row {
  line-height: 1.2;
}

.bookpop__agree {
  line-height: 1.2;
}
.bookpop__note {
  line-height: 1.25;
}

.bstep__value {
  line-height: 1.2;
}
.bstep--open > .bk-docs {
  margin-right: -12px;
  padding-right: 12px;
}

/* ссылка в тексте согласия */
.bookpop__agree a {
  color: var(--c-navy);
  text-decoration: underline;
}
.bookpop__agree a:hover {
  color: var(--c-berry);
}

/* портрет в списке врачей — квадрат 50×50, прижат к верху карточки */
.bk-doc {
  align-items: flex-start;
}
.bk-doc img, .bk-doc__ph {
  align-self: flex-start;
  width: 50px;
  height: 50px;
  min-height: 0;
}

/* строка «Услуга» — единственная, которой разрешены две строки:
   там длинное название вместе с ценой */
/* фиксированной высоты нет: строка выше соседних, только если название
   услуги реально не влезло в одну строку (дальше обрезаем по двум) */
.bstep--wrap .bstep__value {
  white-space: normal;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  line-height: 1.2;
}
.bstep__price {
  margin-left: 8px;
  color: var(--c-berry);
  font-weight: 600;
  white-space: nowrap;
}

/* согласие и кнопка: текст занимает всё место до кнопки */
.bookpop__foot {
  grid-column: 1/-1;
  display: flex;
  align-items: center;
  gap: 24px;
}
.bookpop__foot .bookpop__agree {
  flex: 1;
  min-width: 0;
}
.bookpop__foot .bookpop__submit {
  flex: none;
  margin-left: auto;
}
.bookpop__agrees {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 7px;
}
.bookpop__foot .bookpop__agree {
  flex: none;
  align-self: stretch;
}
.bookpop__agree.is-bad span {
  color: var(--c-berry);
}
.bookpop__agree.is-bad input {
  outline: 2px solid var(--c-berry);
  outline-offset: 1px;
  border-radius: 3px;
}

/* боковое меню на телефоне и планшете: поля как у контента страницы.
   Блок вынесен в конец файла — базовое .hmenu__panel лежит ниже
   мобильного блока выше и перебивало его. */
@media (max-width: 979px) {
  .hmenu__panel {
    padding: 0 14px 32px;
  }
  .hmenu__close {
    top: 14px;
    right: 14px;
  }
}
@media (max-width: 760px) {
  .bookpop__panel {
    padding: 20px 12px 24px;
    border-radius: 20px;
  }
  .bookpop__close {
    top: 12px;
    right: 12px;
  }
}
/* ============================================================
   Мобильное меню по раскладке донора, в нашей палитре: сверху
   строка с крестиком, логотипом, поиском и трубкой, ниже —
   строки во всю ширину с тонкими разделителями. «О клинике»
   и «Услуги» разворачиваются гармошкой.
   ============================================================ */
.hmenu__top {
  position: sticky;
  top: 0;
  z-index: 5;
  margin: 0 -14px;
  border-bottom: 1px solid rgba(32, 47, 90, 0.1);
  background: var(--c-white);
}
.hmenu__top > .container {
  max-width: none;
  padding-inline: 20px;
}
.hmenu__close {
  position: static;
  display: grid;
  place-items: center;
  margin-right: 10px;
  color: var(--c-navy);
}
.hmenu__logo {
  margin-right: auto;
}
.hmenu__logo img {
  display: block;
  height: 40px;
  width: auto;
}
.hmenu__ico {
  display: grid;
  place-items: center;
  width: 43px;
  height: 43px;
  flex: none;
  border: 0;
  background: none;
  cursor: pointer;
}
.hmenu__ico img {
  width: 20px;
  height: 20px;
}
.hmenu__ico + .hmenu__ico {
  width: 32px;
  height: 30px;
  padding-left: 12px;
  border-left: 1px solid rgba(32, 47, 90, 0.16);
  border-radius: 0;
}
.hmenu__city {
  position: sticky;
  top: 62px;
  z-index: 4;
  margin: 0 -14px;
  border-bottom: 1px solid rgba(32, 47, 90, 0.1);
  background: var(--c-bg);
}
.hmenu__city a {
  position: relative;
  display: flex;
  align-items: center;
  gap: 8px;
  min-height: 44px;
  padding: 0 27px 0 44px;
  color: rgba(32, 47, 90, 0.55);
  font-size: 15px;
}
.hmenu__city img {
  position: absolute;
  left: 16px;
  top: 50%;
  width: 20px;
  height: 20px;
  transform: translateY(-50%);
}
.hmenu__city svg {
  flex: none;
}
.hmenu__rows {
  margin: 0 -14px;
  padding: 0;
  list-style: none;
}
.hmenu__rows--sub {
  margin: 0;
}
.hmenu__row {
  border-bottom: 1px solid rgba(32, 47, 90, 0.1);
}
.hmenu__row > a, .hmenu__head {
  position: relative;
  display: block;
  width: 100%;
  padding: 11px 27px 11px 16px;
  border: 0;
  background: none;
  color: var(--c-navy);
  font-family: inherit;
  font-size: 15px;
  font-weight: 500;
  line-height: 1.2;
  text-align: left;
  cursor: pointer;
}
.hmenu__row--ico > a {
  padding-left: 44px;
}
.hmenu__row > a img,
.hmenu__row > a > svg {
  position: absolute;
  left: 16px;
  top: 50%;
  width: 20px;
  height: 20px;
  transform: translateY(-50%);
}
.hmenu__row--city > a {
  color: rgba(32, 47, 90, 0.55);
}
.hmenu__row--accent > a {
  color: var(--c-sky-strong);
  font-weight: 500;
}
.hmenu__row--book > a {
  color: var(--c-berry);
  font-weight: 600;
}
.hmenu__row > a:hover, .hmenu__head:hover {
  color: var(--c-berry);
}
.hmenu__head {
  padding-right: 44px;
}
.hmenu__chev {
  position: absolute;
  width: 6px;
  height: 10px;
  right: 27px;
  top: 50%;
  transform: translateY(-50%);
  color: var(--c-berry);
}
.hmenu__panel.is-deep, .hmenu__fold.is-deep {
  overflow: hidden;
}
.hmenu__panel, .hmenu__fold {
  overflow-x: hidden;
}
.hmenu__fold {
  position: absolute;
  top: 106px;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 2;
  overflow-y: auto;
  background: var(--c-bg);
  transform: translateX(100%);
  visibility: hidden;
  transition: transform var(--t-base), visibility 0s linear var(--t-base);
}
.hmenu__row.is-open > .hmenu__fold {
  transform: none;
  visibility: visible;
  transition: transform var(--t-base);
}
.hmenu__back {
  position: sticky;
  top: 0;
  z-index: 2;
  display: block;
  width: 100%;
  text-align: left;
  padding: 11px 27px 11px 44px;
  border: 0;
  border-bottom: 1px solid rgba(32, 47, 90, 0.1);
  background: rgba(255, 255, 255, 0.62);
  -webkit-backdrop-filter: blur(14px) saturate(140%);
  backdrop-filter: blur(14px) saturate(140%);
  color: var(--c-navy);
  font-family: inherit;
  font-size: 15px;
  font-weight: 600;
  cursor: pointer;
}
.hmenu__fold .hmenu__fold {
  top: 0;
  z-index: 3;
}
.hmenu__fold .hmenu__fold .hmenu__fold {
  z-index: 4;
}
.hmenu__back svg {
  position: absolute;
  left: 16px;
  top: 50%;
  transform: translateY(-50%);
  color: var(--c-berry);
}
.hmenu__back:hover {
  color: var(--c-berry);
}

@media (max-width: 979px) {
  .hmenu__panel {
    width: 100vw;
    display: flex;
    flex-direction: column;
    padding-bottom: 0;
  }
  .hmenu__rows {
    flex: 1 0 auto;
  }
  .hmenu__bottom {
    flex: none;
    margin-top: auto;
  }
}
/* на планшете меню во весь экран слишком разреженное — выезжает
   панелью слева, справа остаётся затемнённая страница */
@media (min-width: 761px) and (max-width: 979px) {
  .hmenu__panel {
    width: 420px;
  }
}
/* нижний блок меню, как у донора: кнопка, соцсети, телефон */
.hmenu__bottom {
  margin: 0 -14px;
  padding: 25px;
  background: var(--c-navy);
  text-align: center;
}
.hmenu__order {
  width: 100%;
  height: 50px;
  border-radius: 50px;
  font-size: 16px;
  font-weight: 500;
}
.hmenu__contact {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 18px;
}
.hmenu__socials {
  display: flex;
  gap: 8px;
}
.hmenu__socials img {
  width: 28px;
  height: 28px;
}
.hmenu__phone {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: var(--c-white);
  font-size: 15px;
  font-weight: 600;
  white-space: nowrap;
}
.hmenu__phone img {
  width: 18px;
  height: 18px;
}
.hmenu__phone:hover {
  color: var(--c-sky);
}
.hmenu__phone:hover {
  color: var(--c-berry);
}

/* Вторая строка меню под шапкой: её раскрывает бургер на широком
   экране. Подложка — то же стекло со скруглением и полями, что у
   панелей «Услуг»; высота больше прежней, по донору 75.
   Левое поле считает скрипт: --x = позиция бургера от края шапки. */
.navrow {
  position: fixed;
  left: 0;
  right: 0;
  top: 0;
  z-index: 80;
  padding: 10px 16px 0;
  opacity: 0;
  visibility: hidden;
  transform: translateY(-8px);
  transition: opacity var(--t-fast), transform var(--t-fast), visibility 0s linear var(--t-fast);
}
.navrow.is-open {
  opacity: 1;
  visibility: visible;
  transform: none;
  transition: opacity var(--t-fast), transform var(--t-fast);
}
.navrow__in {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0;
  max-width: none;
  padding: 27px 24px 27px calc(var(--x, 276px) - 16px);
  border-radius: 22px;
  background: rgba(255, 255, 255, 0.72);
  -webkit-backdrop-filter: blur(13px) saturate(140%);
  backdrop-filter: blur(13px) saturate(140%);
  will-change: backdrop-filter;
  box-shadow: 0 24px 50px rgba(32, 47, 90, 0.16);
}
.navrow__in a {
  color: var(--c-navy);
  font-size: 15px;
  font-weight: 500;
  line-height: 21px;
  transition: color var(--t-fast), opacity 0.2s ease-out;
}
.navrow__in a:not(:last-child) {
  padding-right: 75px;
}
.navrow__in a:hover {
  color: var(--c-berry);
}
.navrow__in:has(> a:hover) > a:not(:hover), .navrow__in:has(> a:focus-visible) > a:not(:focus-visible) {
  opacity: 0.3;
}

@media (prefers-reduced-motion: reduce) {
  .navrow__in a {
    transition: color var(--t-fast);
  }
}
/* на планшете и телефоне бургер открывает боковое меню, а не строку */
@media (max-width: 979px) {
  .navrow {
    display: none;
  }
}
/* Панель меню «⋯» — пункты основного меню, которые не поместились в
   строку. Подложка та же, что у «О клинике» (.hdrop__in--about), ссылки
   в ряд, как в строке бургера. Левое поле — по линии бургера (--x). */
.hdrop__in--more {
  padding-top: 27px;
  padding-bottom: 27px;
}
.hdrop__row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px 0;
  margin: 0;
  padding: 0;
  list-style: none;
}
.hdrop__row a {
  display: block;
  padding-right: 75px;
  color: var(--c-navy);
  font-size: 15px;
  font-weight: 500;
  line-height: 21px;
  transition: color var(--t-fast), opacity 0.2s ease-out;
}
.hdrop__row li:last-child a {
  padding-right: 0;
}
.hdrop__row a:hover,
.hdrop__row a.is-current {
  color: var(--c-berry);
}
.hdrop__in--more:has(a:hover) a:not(:hover), .hdrop__in--more:has(a:focus-visible) a:not(:focus-visible) {
  opacity: 0.3;
}

@media (prefers-reduced-motion: reduce) {
  .hdrop__row a {
    transition: color var(--t-fast);
  }
}
/* Узкий десктоп (980–1279): строка меню здесь есть, но места мало.
   Выравнивание панелей по линии бургера съедало слева до 250px:
   колонка разделов «Услуг» выходила узкой (названия рвались на две-три
   строки, панель вырастала выше окна и «Спецпредложения» уходили за
   нижний край), колонки «О клинике» вылезали за подложку, а строка
   бургера рвалась на две. Здесь текст всех панелей начинается от края
   подложки — с одинаковым полем 52px от края окна (16 — поле панели,
   у разделов ещё 14 — поле самой кнопки), шаги между ссылками меньше. */
@media (max-width: 1279px) {
  .hdrop__cats {
    padding-left: 22px;
  }
  .hdrop__in--about,
  .navrow__in {
    padding-left: 36px;
  }
  .hdrop__cols {
    column-gap: 48px;
  }
  .navrow__in a:not(:last-child),
  .hdrop__row a {
    padding-right: 40px;
  }
}
/* «Спецпредложения» в меню — ягодным, как в выпадающем меню шапки */
.hmenu__row--stock > a {
  color: var(--c-berry);
}
.hmenu__top {
  box-shadow: 0 4px 30px rgba(0, 0, 0, 0.15);
}

/* ============================================================
   Бургер по донору: шапка страницы остаётся на месте, снизу
   выезжает только тело меню, а иконка превращается в крестик.
   ============================================================ */
@media (max-width: 979px) {
  .hmenu {
    top: 0;
  }
  .hmenu__panel {
    top: 0;
    bottom: 0;
    height: auto;
  }
  .hmenu__city {
    position: relative;
    top: auto;
    z-index: auto;
  }
  .hmenu__fold {
    top: 0;
  }
}
/* три полоски складываются в крестик */
.burger {
  position: relative;
}
.burger img {
  transition: opacity var(--t-fast), transform var(--t-fast);
}
.burger.is-open img {
  opacity: 0;
  transform: scale(0.6);
}
.burger::before, .burger::after {
  content: "";
  position: absolute;
  left: 50%;
  top: 50%;
  width: 22px;
  height: 2px;
  border-radius: 2px;
  background: var(--c-navy);
  opacity: 0;
  transform: translate(-50%, -50%) scaleX(0.2);
  transition: transform var(--t-base), opacity var(--t-fast);
}
.burger.is-open::before {
  opacity: 1;
  transform: translate(-50%, -50%) rotate(45deg) scaleX(1);
}
.burger.is-open::after {
  opacity: 1;
  transform: translate(-50%, -50%) rotate(-45deg) scaleX(1);
}

/* ---------- Появление меню ----------
   Панель выезжает слева, а строки всплывают по очереди. Анимируем
   содержимое строки, а не сам <li>: transform на нём сделал бы его
   системой координат для вложенных экранов. */
@keyframes hmenuRowIn {
  from {
    opacity: 0;
    transform: translateY(10px);
  }
  to {
    opacity: 1;
    transform: none;
  }
}
@media (max-width: 979px) {
  .hmenu.is-open .hmenu__city > a, .hmenu.is-open .hmenu__panel > ul > .hmenu__row > a, .hmenu.is-open .hmenu__panel > ul > .hmenu__row > .hmenu__head, .hmenu.is-open .hmenu__bottom {
    animation: hmenuRowIn 0.42s cubic-bezier(0.22, 0.61, 0.36, 1) both;
  }
  .hmenu.is-open .hmenu__city > a {
    animation-delay: 0.06s;
  }
  .hmenu.is-open .hmenu__panel > ul > .hmenu__row > * {
    animation-delay: min(0.09s + var(--i, 0) * 0.03s, 0.42s);
  }
  .hmenu.is-open .hmenu__bottom {
    animation-delay: 0.45s;
  }
  .hmenu__fold * {
    animation: none !important;
  }
}
@media (prefers-reduced-motion: reduce) {
  .hmenu__panel {
    transition: none;
  }
  .hmenu.is-open .hmenu__city > a, .hmenu.is-open .hmenu__panel > ul > .hmenu__row > *, .hmenu.is-open .hmenu__bottom {
    animation: none;
  }
}
/* «Детское здоровье» — лаймовая плашка, как на главной */
.hdrop__cat--lime.is-active {
  background: var(--c-lime);
  color: var(--c-navy);
}
.hdrop__stock {
  margin-left: 0;
  gap: 10px;
}
.hdrop__cat--indigo.is-active {
  background: var(--c-navy);
  color: var(--c-white);
}

/* ---------- Выпадающие списки города и адреса ----------
   Как на доноре: белая панель со скруглением и мягкой тенью, строки
   подсвечиваются, у адресов под названием — часы работы. */
.tdrop {
  position: relative;
  display: inline-flex;
  align-items: center;
}
.tdrop__btn {
  position: relative;
  padding: 0;
  border: 0;
  background: none;
  font: inherit;
  cursor: pointer;
}
.tdrop__btn::after {
  content: "";
  position: absolute;
  inset: -8px;
}
.tdrop.is-open > .tdrop__btn {
  color: var(--c-berry);
}
.tdrop__caret {
  width: 13px;
  height: 13px;
  pointer-events: none;
  transition: transform var(--t-fast);
}
.tdrop.is-open .tdrop__caret {
  transform: rotate(180deg);
}
.tdrop__pop {
  position: absolute;
  left: -14px;
  top: calc(100% + 10px);
  z-index: 60;
  min-width: 360px;
  max-height: 70vh;
  overflow-y: auto;
  padding: 14px;
  border-radius: 22px;
  background: rgba(255, 255, 255, 0.72);
  -webkit-backdrop-filter: blur(13px) saturate(140%);
  backdrop-filter: blur(13px) saturate(140%);
  will-change: backdrop-filter;
  box-shadow: 0 24px 50px rgba(32, 47, 90, 0.16);
}
.tdrop__row {
  display: block;
  width: 100%;
  padding: 9px 14px;
  border: 0;
  border-radius: 12px;
  background: none;
  color: var(--c-navy);
  font: inherit;
  font-size: 15px;
  text-align: left;
  cursor: pointer;
  transition: background var(--t-fast), color var(--t-fast);
}
.tdrop__row:hover {
  background: rgba(32, 47, 90, 0.05);
}
.tdrop__row.is-current {
  color: var(--c-berry);
}
.tdrop__row--addr b {
  display: block;
  font-weight: 500;
}
.tdrop__row--addr span {
  display: block;
  margin-top: 2px;
  color: rgba(32, 47, 90, 0.45);
  font-size: 13px;
  line-height: 1.3;
}

@media (max-width: 1100px) {
  .tdrop__pop {
    left: 0;
    min-width: 200px;
  }
}
/* иконка города выше строки текста и растягивала кнопку — из-за этого
   «Челябинск» вставал на 2px выше соседних пунктов панели */
.tdrop__btn {
  height: 18px;
}

/* ---------- Соцсети: при наведении плитка в цвет сети ----------
   Иконки — <img> в статичной разметке, цвет из CSS им не задать,
   поэтому подкладываем перекрашенную копию фоном и прячем картинку. */
.topbar__soc {
  background-position: center;
  background-repeat: no-repeat;
  background-size: 30px 30px;
}
.topbar__soc img {
  transition: opacity var(--t-fast);
}
.topbar__soc:hover img {
  opacity: 0;
}
.topbar__soc:hover {
  opacity: 1;
}
.topbar__soc[aria-label=MAX]:hover {
  background-image: url("/local/templates/dnk174_2026/css/../images/icons/Max-hover.svg");
}
.topbar__soc[aria-label=ВКонтакте]:hover {
  background-image: url("/local/templates/dnk174_2026/css/../images/icons/Vk-hover.svg");
}
.topbar__soc[aria-label=Telegram]:hover {
  background-image: url("/local/templates/dnk174_2026/css/../images/icons/Telegram-hover.svg");
}
.topbar__soc[aria-label=Rutube]:hover {
  background-image: url("/local/templates/dnk174_2026/css/../images/icons/Rutube-hover.svg");
}

/* ---------- Дрейф фирменных кругов на плашках ----------
   Полупрозрачные круги, у которых центры уведены за кромку, едва
   двигаются: два периода, некратные друг другу, чтобы пара не ходила
   в такт. Двигаем только transform — макет не пересчитывается, браузер
   держит круги на композиторе, так что нагрузки это не даёт. Правило
   собрано в одном месте: сами круги живут в doctor.css и uslugi.css. */
@keyframes brand-drift-a {
  0% {
    transform: translate3d(0, 0, 0) scale(1);
  }
  50% {
    transform: translate3d(-18px, 10px, 0) scale(1.08);
  }
  100% {
    transform: translate3d(0, 0, 0) scale(1);
  }
}
@keyframes brand-drift-b {
  0% {
    transform: translate3d(0, 0, 0) scale(1);
  }
  50% {
    transform: translate3d(15px, -8px, 0) scale(1.05);
  }
  100% {
    transform: translate3d(0, 0, 0) scale(1);
  }
}
.us-banner::before,
.us-tariff.is-active::before,
.quote__bg::before,
.achieve::before,
.booking::before,
.plast-band::before {
  animation: brand-drift-a 17s ease-in-out infinite;
}

.us-banner::after,
.us-tariff.is-active::after,
.quote__bg::after,
.achieve::after,
.booking::after,
.plast-band::after {
  animation: brand-drift-b 22s ease-in-out infinite;
}

@media (prefers-reduced-motion: reduce) {
  .us-banner::before,
  .us-banner::after,
  .us-tariff.is-active::before,
  .us-tariff.is-active::after,
  .quote__bg::before,
  .quote__bg::after,
  .achieve::before,
  .achieve::after,
  .booking::before,
  .booking::after,
  .plast-band::before,
  .plast-band::after {
    animation: none;
  }
}
/* ---------- Знак бренда на фоне плашек ----------
   Еле заметный белый знак из favicon: берём его маской и заливаем белым,
   чтобы не плодить отдельный перекрашенный файл. Лежит ниже содержимого
   и кругов, обрезается кромкой плашки. Вставляется скриптом — у этих
   плашек оба псевдоэлемента заняты кругами. */
/* селектор с тегом: у этих плашек есть своё `> *` с position: relative,
   а их файлы подключаются после base.css и перебили бы абсолют */
i.brand-mark {
  position: absolute;
  left: 18%;
  top: 59%;
  z-index: 0;
  height: max(104%, 128px);
  aspect-ratio: 118/150;
  transform: translate(-50%, -50%);
  background: #FFFFFF;
  opacity: 0.11;
  -webkit-mask: url("/local/templates/dnk174_2026/css/../images/favicon.svg") center/contain no-repeat;
  mask: url("/local/templates/dnk174_2026/css/../images/favicon.svg") center/contain no-repeat;
  pointer-events: none;
}

/* Плашки «Подписка на соцсети» — такие же голубые, знак ложится и на них:
   обрезаем по кромке и поднимаем содержимое над подложкой. */
.social-cta a {
  position: relative;
  overflow: hidden;
}
.social-cta a > *:not(.brand-mark) {
  position: relative;
  z-index: 1;
}

/* Стрелка у ссылок-переходов — тот же шеврон, что в служебной панели у
   города и адреса: одна и та же кривая, только повёрнута остриём вправо.
   Цвет наследуется от ссылки: голубой в покое, ягодный при наведении.
   Маска задана прямо в стилях, поэтому работает и с диска. */
.link-arrow::after {
  content: "";
  flex: none;
  width: 13px;
  height: 13px;
  background: currentColor;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='3'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E") center/contain no-repeat;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='3'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E") center/contain no-repeat;
  transform: rotate(-90deg);
}

/* ---------- Подвал формы записи на телефоне ----------
   В ряд кнопка и три согласия не помещаются: текст согласий сжимался
   в колонку по два слова. Ставим их друг под другом, кнопку — вниз
   во всю ширину. */
@media (max-width: 760px) {
  .bookpop__foot {
    flex-direction: column;
    align-items: stretch;
    gap: 22px;
  }
  .bookpop__foot .bookpop__submit {
    width: 100%;
    min-width: 0;
    margin-left: 0;
    justify-self: stretch;
  }
}
/* ---------- Экран «Заявка принята» на телефоне ----------
   На широком экране итоги и кнопка стоят в два столбца. На узком
   столбец с кнопкой наезжал на список, а подписи шириной 140px
   оставляли значениям полторы сотни пикселей — адрес рвался
   на четыре строки. Ставим в одну колонку, кнопку — вниз во всю
   ширину, подписи ужимаем. */
@media (max-width: 760px) {
  .bstep--final {
    grid-template-columns: minmax(0, 1fr);
    row-gap: 20px;
    padding: 20px 14px;
  }
  .bk-final__side {
    align-items: stretch;
    gap: 0;
  }
  .bk-final__mark {
    display: none;
  }
  .bk-final__side .bk-restart {
    width: 100%;
    min-width: 0;
  }
  .bk-summary {
    gap: 12px;
  }
  .bk-summary li {
    flex-direction: column;
    align-items: flex-start;
    gap: 0;
  }
  .bk-summary span {
    width: auto;
    text-align: left;
    line-height: 1.1;
  }
}
/* ---------- Чипсы специальностей на телефоне ----------
   «Терапевт» не влезал в строку к «Репродуктологу-гинекологу» ровно на
   4px и падал на отдельную строку. Поля и зазор чуть ужимаем. */
@media (max-width: 760px) {
  .bk-chips {
    gap: 5px;
  }
  .bk-chip {
    padding: 6px 10px 7px;
  }
}
/* ---------- Кнопка «наверх» на телефоне ----------
   Показывается только пока страница прокручивается: класс is-scrolling
   вешает main.js и снимает через паузу после остановки. На широком
   экране поведение прежнее — кнопка видна после первого экрана. */
@media (max-width: 760px) {
  .to-top.is-shown {
    opacity: 0;
    visibility: hidden;
    transform: translateY(12px);
  }
  .to-top.is-shown.is-scrolling {
    opacity: 1;
    visibility: visible;
    transform: none;
  }
}
/* ---------- Выпадающие списки служебной панели на телефоне ----------
   Панель прокручивается по горизонтали (overflow-x: auto), и список,
   выведенный абсолютом, обрезался её кромкой — при нажатии на город
   или адрес на экране не появлялось ничего. Переводим список в fixed:
   из прокрутки он выходит и ложится листом под панелью, во всю ширину
   экрана. */
@media (max-width: 760px) {
  .tdrop__pop {
    position: fixed;
    top: 40px;
    left: 14px;
    right: 14px;
    min-width: 0;
    max-height: calc(100vh - 90px);
  }
}
/* ---------- Лист адресов на телефоне: плотнее ----------
   Семь клиник с тремя строками часов занимали весь экран. Поля строки
   и межстрочный сводим к минимуму, часы идут вплотную под адресом. */
@media (max-width: 760px) {
  .tdrop__pop.is-sheet {
    padding: 8px;
  }
  .tdrop__pop.is-sheet .tdrop__row {
    padding: 6px 10px;
    line-height: 1.2;
  }
  .tdrop__pop.is-sheet .tdrop__row--addr b {
    line-height: 1.2;
  }
  .tdrop__pop.is-sheet .tdrop__row--addr span {
    margin-top: 0;
    line-height: 1.15;
  }
}
/* ============================================================
   Главная и список врачей — структура донора dnk174.ru
   в палитре нового бренда
   ============================================================ */
/* ---------- Заголовок секции в стиле донора ---------- */
/* Заголовки секций донора: 35px / 500, интерлиньяж 42px, отбивка 64px */
.stitle {
  margin-bottom: 64px;
  text-align: center;
}
.stitle h2 {
  font-size: clamp(24px, 2.45vw, 35px);
  font-weight: 500;
  line-height: 1.2;
  text-transform: uppercase;
  letter-spacing: 0.01em;
}
.stitle h2 .first {
  color: inherit;
}
.stitle h2 .stitle__sub {
  text-transform: none;
}
.stitle__rule {
  width: 150px;
  height: 2px;
  margin: 16px auto 0;
  border-radius: 0;
  background: var(--c-sky-strong);
}
.stitle p {
  max-width: 760px;
  margin: 14px auto 0;
  color: var(--text-muted);
  font-size: var(--fs-sm);
}

/* ============================================================
   Промо-слайдер — геометрия донора, палитра нового бренда.
   Донор @1920: слайд 720px, обёртка 1600 (поля 160), контент 550 c отступом 30,
   заголовок 70/600, цена 240×64 r30.5 (46/900), кнопка 240×50 r42.5,
   стрелки 58×58 rgba(255,255,255,.1) по 30px от краёв,
   счётчик 360×44 r23 rgba(255,255,255,.5) справа 30 / снизу 20.
   ============================================================ */
.promo {
  position: relative;
  background: var(--c-bg);
  overflow: hidden;
}
.promo__track {
  position: relative;
  height: 720px;
}

.slide {
  display: flex;
  align-items: center;
  overflow: hidden;
  background: var(--c-beige);
}

/* декоративные круги бренда: слева 949×720, справа 676×720 */
.slide::before, .slide::after {
  content: "";
  position: absolute;
  top: 0;
  height: 100%;
  background-repeat: no-repeat;
  background-size: 100% 100%;
  pointer-events: none;
}
.slide::before {
  left: -40%;
  width: 150%;
  z-index: 2;
  opacity: 0.5;
  background-image: url("/local/templates/dnk174_2026/css/../images/icons/leftround-white.svg");
}
.slide::after {
  right: 0;
  width: 676px;
  z-index: 2;
  background-image: url("/local/templates/dnk174_2026/css/../images/icons/rightround-white.svg");
}
.slide__video {
  position: absolute;
  top: 0;
  right: 0;
  z-index: 1;
  width: 1280px;
  max-width: 72%;
  height: 100%;
  object-fit: cover;
  pointer-events: none;
}
.slide__video {
  -webkit-mask-image: linear-gradient(to right, transparent 0%, rgba(0, 0, 0, 0.35) 14%, #000 42%);
  mask-image: linear-gradient(to right, transparent 0%, rgba(0, 0, 0, 0.35) 14%, #000 42%);
}
.slide__wrap {
  position: relative;
  z-index: 3;
  width: 100%;
  max-width: 1600px;
  margin-inline: auto;
  padding-inline: 30px;
}
.slide__content {
  max-width: 780px;
}
.slide h2 {
  margin-bottom: 20px;
  color: var(--c-navy);
  font-size: clamp(31px, 3.3vw, 63px);
  font-weight: 600;
  line-height: 1;
}
.slide__price {
  display: inline-grid;
  place-items: center;
  min-width: 220px;
  height: 58px;
  margin-bottom: 34px;
  padding-inline: 28px;
  border: 1px solid #FFFFFF;
  border-radius: 27.5px;
  background: rgba(255, 255, 255, 0.42);
  -webkit-backdrop-filter: blur(10px) saturate(130%);
  backdrop-filter: blur(10px) saturate(130%);
  color: var(--c-berry);
  font-size: clamp(24px, 2.15vw, 41px);
  font-weight: 900;
  line-height: 1;
  box-shadow: 0 4px 16px rgba(32, 47, 90, 0.08);
}
.slide__desc {
  margin-bottom: 34px;
  color: var(--c-navy);
  font-size: clamp(15px, 1.6vw, 31px);
  font-weight: 500;
  line-height: 1.15;
}
.slide__lead {
  margin-bottom: 14px;
  color: var(--c-navy);
  font-size: clamp(17px, 1.45vw, 27px);
  font-weight: 600;
}
.slide__list {
  margin-bottom: 34px;
}
.slide__list li {
  position: relative;
  padding-left: 22px;
  color: var(--c-graphite);
  font-size: clamp(14px, 0.95vw, 18px);
  line-height: 1.55;
}
.slide__list li::before {
  content: "";
  position: absolute;
  left: 4px;
  top: 0.62em;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--c-berry);
}
.slide__btn {
  position: relative;
  display: inline-grid;
  place-items: center;
  width: 240px;
  height: 50px;
  padding-bottom: 3px;
  border-radius: 42.5px;
  background: linear-gradient(95deg, var(--c-berry) 44.87%, var(--c-berry-600) 97.89%);
  color: var(--c-white);
  font-size: 18px;
  font-weight: 500;
  overflow: hidden;
  box-shadow: 0 5px 15px 0 rgba(177, 59, 99, 0.32);
  transition: box-shadow 0.2s linear;
}
.slide__btn:hover {
  box-shadow: 0 5px 22px 0 rgba(177, 59, 99, 0.5);
}

.promo__nav {
  position: absolute;
  top: 50%;
  z-index: 3;
  transform: translateY(-50%);
  display: grid;
  place-items: center;
  width: 58px;
  height: 58px;
  border: 0;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.28);
  -webkit-backdrop-filter: blur(18px) saturate(150%);
  backdrop-filter: blur(18px) saturate(150%);
  color: var(--c-berry);
  box-shadow: 0 8px 26px rgba(32, 47, 90, 0.1);
  transition: background var(--t-fast), color var(--t-fast);
}
.promo__nav:hover {
  background: rgba(177, 59, 99, 0.85);
  color: var(--c-white);
}
.promo__nav--prev {
  left: 30px;
}
.promo__nav--next {
  right: 30px;
}
.promo__pag {
  position: absolute;
  right: 30px;
  bottom: 20px;
  z-index: 3;
  display: flex;
  align-items: center;
  gap: 0;
  width: 360px;
  height: 44px;
  padding-inline: 26px;
  border-radius: 23px;
  background: rgba(255, 255, 255, 0.28);
  -webkit-backdrop-filter: blur(18px) saturate(150%);
  backdrop-filter: blur(18px) saturate(150%);
  box-shadow: 0 8px 26px rgba(32, 47, 90, 0.1);
  font-size: 17px;
}
.promo__pag b {
  color: var(--c-berry);
  font-weight: 600;
}
.promo__pag i {
  color: var(--c-navy);
  font-style: normal;
}
.promo__pag span {
  flex: 1;
  height: 3px;
  margin-left: 18px;
  border-radius: 2px;
  background: var(--c-white);
}
.promo__pag span i {
  display: block;
  height: 100%;
  border-radius: 2px;
  background: var(--c-berry);
  opacity: 1;
  transition: width var(--t-base);
}

/* ---------- Цифры ----------
   Донор @1920: список 1570, ячейка 393×188 (4 колонки, 2 ряда без зазора),
   плитка 353×95 с полем 20px, подпись 16px через 15px под плиткой */
/* ---------- Цифры о клинике ----------
   Вместо восьми синих плиток — карточки на стекле: крупное число
   градиентом, круг бренда в углу, иконка в голубой «таблетке».
   Числа набираются скриптом при появлении блока в кадре. */
.stats__grid {
  position: relative;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  grid-auto-rows: 1fr;
  gap: 18px;
}
.stats__grid::before {
  content: "";
  position: absolute;
  inset: -16% -9%;
  z-index: 0;
  border-radius: 50%;
  background: radial-gradient(62% 66% at 50% 50%, rgba(32, 47, 90, 0.16) 0%, rgba(32, 47, 90, 0) 74%);
  filter: blur(46px);
  pointer-events: none;
}

.stat {
  z-index: 1;
}

.stat {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 6px;
  min-height: 136px;
  padding: 20px 22px 18px;
  overflow: hidden;
  border: 1px solid #fff;
  border-radius: 22px;
  background: rgba(255, 250, 249, 0.5);
  -webkit-backdrop-filter: blur(14px) saturate(140%);
  backdrop-filter: blur(14px) saturate(140%);
  transition: transform var(--t-base), background var(--t-base), border-color var(--t-base);
}
.stat:hover {
  transform: translateY(-6px);
  border-color: var(--c-berry);
  background: rgba(255, 252, 252, 0.72);
}
.stat__num {
  position: relative;
  display: flex;
  align-items: flex-end;
  height: clamp(38px, 3.4vw, 52px);
  font-size: clamp(38px, 3.4vw, 52px);
  font-weight: 700;
  line-height: 1;
  letter-spacing: -0.02em;
  background: linear-gradient(120deg, var(--c-navy) 0%, var(--c-berry) 100%);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
}
.stat__num--small {
  font-size: clamp(32px, 2.8vw, 44px);
}
.stat__chip {
  position: relative;
  display: block;
  width: 52px;
  height: clamp(38px, 3.4vw, 52px);
}
.stat__chip img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: left center;
}
.stat__text {
  position: relative;
  margin: 0;
  color: rgba(32, 47, 90, 0.72);
  font-size: 14px;
  line-height: 1.35;
}
.stat__text b {
  color: var(--c-berry);
  font-weight: 600;
}

@media (max-width: 1100px) {
  .stats__grid {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (max-width: 560px) {
  .stats__grid {
    grid-template-columns: 1fr;
  }
}
/* ---------- Миссия ----------
   Донор @1920: голубая полоса 320px с паттерном, цитата 960px / 25px,
   ниже ряд карточек 396px, список 1330px с наездом -70px,
   карточка 665px, превью 631×396 с радиусом 20 */
.mission {
  position: relative;
}
.mission__top {
  position: relative;
  height: 320px;
  padding-bottom: 70px;
  display: flex;
  align-items: center;
  overflow: hidden;
  background: transparent;
  text-align: center;
}
.mission__top > .container {
  position: relative;
  z-index: 1;
}
.mission .stitle {
  margin-bottom: 26px;
}
.mission blockquote {
  max-width: 960px;
  margin: 0 auto;
  color: var(--c-navy);
  font-size: clamp(16px, 1.35vw, 21px);
  font-weight: 500;
  line-height: 1.2;
}
.mission__video {
  background: var(--c-bg);
}
.mission__list {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0;
  width: 100%;
  max-width: calc(1050 * var(--s) + 34px);
  margin: -70px auto 0;
}
.mission__item {
  padding-inline: 17px;
}

.mission-video {
  position: relative;
  display: block;
  height: 396px;
  border-radius: 20px;
  overflow: hidden;
  background: var(--c-grey-200);
}
.mission-video img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.mission-video::after {
  content: "";
  position: absolute;
  inset: auto 0 0 0;
  height: 55%;
  background: linear-gradient(to bottom, rgba(32, 47, 90, 0) 0%, rgba(32, 47, 90, 0.55) 100%);
  pointer-events: none;
}
.mission-video__label {
  position: absolute;
  left: 30px;
  bottom: 24px;
  z-index: 2;
  color: var(--c-white);
  font-size: 28px;
  white-space: nowrap;
  font-weight: 700;
  line-height: 1.05;
  text-transform: uppercase;
}
.mission-video__label i {
  color: inherit;
  font-style: normal;
}
.mission-video img.mission-video__play {
  position: absolute;
  top: 50%;
  left: 50%;
  z-index: 2;
  width: 85px;
  height: 85px;
  transform: translate(-50%, -50%);
  transition: transform var(--t-base);
}
.mission-video:hover img.mission-video__play {
  transform: translate(-50%, -50%) scale(1.07);
}

/* ============================================================
   Карусель (спецпредложения и врачи) — по донору:
   лента 1330, стрелки по краям, снизу полоса прогресса
   ============================================================ */
.carousel {
  position: relative;
}
.carousel__viewport {
  overflow: hidden;
}
.carousel__track {
  display: flex;
  gap: 40px;
  transition: transform 0.45s ease;
}
.carousel__track > * {
  flex: none;
}
.carousel__nav {
  position: absolute;
  top: 50%;
  z-index: 3;
  transform: translateY(-50%);
  display: grid;
  place-items: center;
  width: 38px;
  height: 38px;
  border: 0;
  border-radius: 50%;
  background: var(--c-berry-100);
  color: var(--c-berry);
  transition: background var(--t-fast), color var(--t-fast), opacity var(--t-fast);
}
.carousel__nav:hover {
  background: var(--c-berry);
  color: var(--c-white);
}
.carousel__nav[disabled] {
  opacity: 0.35;
  pointer-events: none;
}
.carousel__nav--prev {
  left: -52px;
}
.carousel__nav--next {
  right: -52px;
}
.carousel__foot {
  display: flex;
  align-items: center;
  gap: 40px;
  margin-top: 34px;
}
.carousel__bar {
  flex: 1;
  height: 2px;
  border-radius: 2px;
  background: var(--c-grey-200);
}
.carousel__bar i {
  display: block;
  width: 20%;
  height: 100%;
  border-radius: 2px;
  background: var(--c-berry);
  transition: width var(--t-base), margin-left var(--t-base);
}

/* карточка акции: у донора 619×384, радиус 20 */
.offer-card {
  display: block;
  width: 619px;
  max-width: 100%;
  border-radius: 20px;
  overflow: hidden;
}
.offer-card img {
  width: 100%;
  aspect-ratio: 619/384;
  height: auto;
  object-fit: cover;
  transition: transform var(--t-base);
}
.offer-card:hover img {
  transform: scale(1.04);
}

/* карточка врача: у донора 303×527, фото 237, опыт 25px/500 */
.doc-slide {
  width: 303px;
  max-width: 100%;
  text-align: center;
}
.doc-slide__ava {
  display: block;
  width: 237px;
  height: 300px;
  margin: 0 auto 34px;
  object-fit: contain;
}
.doc-slide__name {
  margin-bottom: 14px;
  color: var(--c-navy);
  font-size: 16px;
  font-weight: 500;
  line-height: 1.3;
}
.doc-slide__exp {
  margin-bottom: 18px;
}
.doc-slide__exp span {
  display: block;
  color: var(--c-berry);
  font-size: 14px;
}
.doc-slide__exp b {
  display: block;
  color: var(--c-berry);
  font-size: 25px;
  font-weight: 500;
  line-height: 1.2;
}
.doc-slide__btn {
  position: relative;
  display: inline-grid;
  place-items: center;
  width: 222px;
  max-width: 100%;
  height: 44px;
  padding-bottom: 2px;
  border: 1px solid var(--c-sky-strong);
  border-radius: var(--r-pill);
  overflow: hidden;
  color: var(--c-sky-strong);
  font-size: 16px;
  transition: background var(--t-base), color var(--t-base);
}
.doc-slide__btn:hover, .doc-slide:hover .doc-slide__btn {
  background: var(--c-berry);
  border-color: var(--c-berry);
  color: var(--c-white);
}
.doc-slide__btn {
  transition: background var(--t-base), color var(--t-base), border-color var(--t-base);
}

/* стрелкам нужно по 90px снаружи контейнера; если их нет — убираем внутрь,
   иначе они вылезают за экран и дают горизонтальную прокрутку */
@media (max-width: 1580px) {
  .carousel__nav--prev {
    left: 4px;
  }
  .carousel__nav--next {
    right: 4px;
  }
}
/* ---------- Спецпредложения ---------- */
.offers__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 26px;
}

.offer {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  min-height: 290px;
  padding: 28px;
  border-radius: var(--r-lg);
  background: linear-gradient(140deg, var(--c-cream) 0%, var(--c-beige) 100%);
  overflow: hidden;
  transition: transform var(--t-base), box-shadow var(--t-base);
}
.offer:hover {
  transform: translateY(-4px);
  box-shadow: var(--sh-md);
}
.offer--b {
  background: linear-gradient(140deg, #FBEFF3 0%, var(--c-berry-100) 100%);
}
.offer--c {
  background: linear-gradient(140deg, #EAF3FB 0%, var(--c-sky) 130%);
}
.offer__logo {
  position: absolute;
  top: 24px;
  left: 28px;
  width: 132px;
  opacity: 0.95;
}
.offer h3 {
  margin-bottom: 12px;
  font-size: 21px;
  font-weight: 600;
  line-height: 1.25;
}
.offer h3 mark {
  padding: 1px 8px;
  border-radius: 6px;
  background: var(--c-berry);
  color: var(--c-white);
}
.offer__free {
  color: var(--c-berry);
  font-weight: 700;
}

.center-more {
  display: flex;
  justify-content: center;
  margin-top: 34px;
}

/* ---------- Услуги клиники ----------
   Донор @1920: сетка 1400 в две колонки по 696, отступы 40px по вертикали / 8 по горизонтали,
   плитка 696×320 (фото cover, позиция 82% 50%, радиус 20),
   плашка названия 25px/500, высота 46, радиус 23, поля 0 30px */
.cat__grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 40px;
}
.cat__item {
  position: relative;
}
.cat__card {
  position: relative;
  display: block;
  height: 320px;
  border-radius: 20px;
  overflow: hidden;
  isolation: isolate;
  -webkit-clip-path: inset(0 round 20px);
  clip-path: inset(0 round 20px);
  background-position: 82% 50%;
  background-size: cover;
  background-repeat: no-repeat;
  transition: box-shadow var(--t-base);
}
.cat__item:hover .cat__card {
  box-shadow: var(--sh-lg);
}
.cat__sub {
  position: absolute;
  inset: -1px;
  border-radius: 21px;
  padding: 15px 29px 77px;
  overflow: hidden;
  background: linear-gradient(90deg, rgba(255, 255, 255, 0.9) 0%, rgba(255, 255, 255, 0.78) 34%, rgba(255, 255, 255, 0) 68%);
  -webkit-mask-image: linear-gradient(90deg, #000 62%, rgba(0, 0, 0, 0) 100%);
  mask-image: linear-gradient(90deg, #000 62%, rgba(0, 0, 0, 0) 100%);
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: left center;
  mask-position: left center;
  -webkit-mask-size: 0% 100%;
  mask-size: 0% 100%;
  opacity: 0;
  visibility: hidden;
  transition: -webkit-mask-size 0.65s cubic-bezier(0.22, 0.61, 0.36, 1), mask-size 0.65s cubic-bezier(0.22, 0.61, 0.36, 1), opacity 0.5s ease, visibility 0s linear 0.65s;
}
.cat__item:hover .cat__sub, .cat__item:focus-within .cat__sub {
  opacity: 1;
  visibility: visible;
  -webkit-mask-size: 100% 100%;
  mask-size: 100% 100%;
  transition: -webkit-mask-size 0.65s cubic-bezier(0.22, 0.61, 0.36, 1), mask-size 0.65s cubic-bezier(0.22, 0.61, 0.36, 1), opacity 0.5s ease, visibility 0s;
}
.cat__sub > * {
  opacity: 0;
  transition: opacity 0.25s ease;
}
.cat__item:hover .cat__sub > *, .cat__item:focus-within .cat__sub > * {
  opacity: 1;
  transition: opacity 0.35s ease 0.3s;
}
.cat__more {
  display: inline-flex;
  align-items: center;
  gap: 2px;
  margin-top: 10px;
  color: var(--c-berry);
  font-size: 14px;
  font-weight: 600;
}
.cat__more::after {
  content: "";
  width: 14px;
  height: 14px;
  transform: translateY(1px) rotate(-90deg);
  background: currentColor;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='3'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E") center/contain no-repeat;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='3'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E") center/contain no-repeat;
}
.cat__more:hover {
  text-decoration: underline;
}
.cat__sub ul {
  display: grid;
  gap: 3px;
}
.cat__sub li a {
  color: var(--c-navy);
  font-size: 14px;
  line-height: 1.2;
  transition: color var(--t-fast);
}
.cat__sub li a:hover {
  color: var(--c-berry);
}

@media (prefers-reduced-motion: reduce) {
  .cat__sub {
    transition: none;
  }
}
.cat__title {
  position: absolute;
  left: 12px;
  bottom: 18px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 42px;
  max-width: calc(100% - 24px);
  padding: 0 26px 3px;
  border-radius: 21px;
  background: var(--c-sky-strong);
  color: var(--c-white);
  font-size: 21px;
  font-weight: 500;
  line-height: 1;
  overflow: hidden;
  transition: background var(--t-base), color var(--t-base);
}
.cat__title--lime {
  background: var(--c-lime);
  color: var(--c-navy);
}
.cat__title--indigo {
  background: #0F295D;
  color: var(--c-white);
}
.cat__item:hover .cat__title {
  background: var(--c-berry);
  color: var(--c-white);
}

/* ---------- Услуги клиники (старый список) ---------- */
/* ---------- Врачи ---------- */
.docs-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 26px;
}

.doc-card {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 28px 22px;
  border-radius: var(--r-lg);
  background: var(--c-white);
  box-shadow: var(--sh-sm);
  text-align: center;
  transition: transform var(--t-base), box-shadow var(--t-base);
}
.doc-card:hover {
  transform: translateY(-4px);
  box-shadow: var(--sh-md);
}
.doc-card__ava {
  display: block;
  width: 158px;
  height: 200px;
  margin: 0 auto 16px;
  object-fit: contain;
}
.doc-card__name {
  margin-bottom: 6px;
  color: var(--c-navy);
  font-size: var(--fs-base);
  font-weight: 600;
}
.doc-card__degree {
  margin-bottom: 6px;
  color: var(--c-berry);
  font-size: var(--fs-2xs);
}
.doc-card__spec {
  margin-bottom: 12px;
  color: var(--c-sky-strong);
  font-size: var(--fs-2xs);
  line-height: 1.45;
}
.doc-card__exp {
  margin-top: auto;
  color: var(--text-muted);
  font-size: var(--fs-2xs);
}
.doc-card__exp b {
  display: block;
  margin-top: 2px;
  color: var(--c-navy);
  font-size: var(--fs-sm);
  font-weight: 600;
}
.doc-card .btn {
  margin-top: 16px;
}

/* ---------- Журнал ---------- */
/* ---------- Корпоративный журнал ----------
   Донор @1440: заголовок ВНЕ полосы; полоса 1440×705 (90px 20px),
   лента обложек 1065, обложка 355×525, фон прижат влево-вверх */
.journal .stitle {
  margin-bottom: 20px;
}
.journal__wrap {
  padding: 40px 20px 56px;
  background: #1E3054 url("/local/templates/dnk174_2026/css/../images/journal/journal-bg.jpg") center/cover no-repeat fixed;
}
.journal__wrap > .container {
  max-width: calc(1050 * var(--s));
}
.journal__track {
  gap: 10px;
}

.journal-cover {
  display: block;
  max-width: 100%;
  transition: transform var(--t-base);
}
.journal-cover img {
  display: block;
  width: 100%;
  aspect-ratio: 490/630;
  object-fit: contain;
}
.journal-cover:hover {
  transform: translateY(-6px);
}

/* стрелки и полоса — стеклянные, как в промо-слайдере: лежат поверх фото */
.journal .carousel__nav {
  width: 58px;
  height: 58px;
  background: rgba(255, 255, 255, 0.28);
  -webkit-backdrop-filter: blur(18px) saturate(150%);
  backdrop-filter: blur(18px) saturate(150%);
  color: var(--c-white);
  box-shadow: 0 8px 26px rgba(32, 47, 90, 0.1);
}
.journal .carousel__nav:hover:not(:disabled) {
  background: var(--c-berry);
  color: var(--c-white);
}

@media (max-width: 1560px) {
  .journal .carousel__nav--prev {
    left: 8px;
  }
  .journal .carousel__nav--next {
    right: 8px;
  }
}
/* дорожка полосы: фоновая фотография справа светлая, и белая полупрозрачная
   линия на ней пропадала — берём ягодный оттенок, он читается и на тёмном,
   и на светлом */
.journal .carousel__bar {
  background: rgba(177, 59, 99, 0.32);
}
.journal .carousel__bar i {
  background: var(--c-berry);
}
.journal .carousel__foot {
  margin-top: 26px;
}

/* полоса короче ширины ленты и по центру кадра */
@media (min-width: 761px) {
  .journal .carousel__bar {
    flex: 0 0 auto;
    width: 60%;
    margin-inline: auto;
  }
}
/* ---------- Новости ----------
   Донор @1440: лента 1200, карточка 333, гэп 100, картинка 333×223 (3:2),
   отступы 30 / 6 / 22 / 17, «Подробнее...» 14/500 */
/* в новостях и услугах паттерн белый полупрозрачный: красим белым через маску по форме тайла */
#news.pattern::before,
#services.pattern::before {
  background: url("/local/templates/dnk174_2026/css/../images/pattern-white.svg") repeat;
  background-size: 900px 900px;
  mix-blend-mode: normal;
  opacity: 0.12;
}

/* под «Услугами» узор тает к низу: вторым слоем маски идёт градиент,
   пересечение двух масок и даёт растворение */
#services.pattern::before {
  -webkit-mask-image: linear-gradient(to bottom, #000 45%, rgba(0, 0, 0, 0) 100%);
  mask-image: linear-gradient(to bottom, #000 45%, rgba(0, 0, 0, 0) 100%);
}

/* на бежевом фоне дорожка прогресса белая, а не серая */
/* сплошной белый на беже слишком ярок — приглушаем */
/* от тёмной полосы журнала до заголовка новостей — больше воздуха */
#news.section--beige {
  padding-top: 120px;
}

#news .carousel__bar,
#doctors .carousel__bar {
  background: rgba(255, 255, 255, 0.5);
}

.news__track {
  gap: 40px;
}

.news-card {
  display: flex;
  flex-direction: column;
  width: 333px;
  max-width: 100%;
}
.news-card__media {
  position: relative;
}
.news-card__img {
  position: relative;
  display: block;
  overflow: hidden;
  border-radius: var(--r-lg);
}
.news-card__img::after {
  content: "";
  position: absolute;
  inset: 0;
  background-image: linear-gradient(to top right, rgba(32, 47, 90, 0.6) 0%, rgba(32, 47, 90, 0.22) 16%, rgba(32, 47, 90, 0) 34%);
  pointer-events: none;
}
.news-card__img img {
  display: block;
  width: 100%;
  aspect-ratio: 333/223;
  object-fit: cover;
  transition: transform var(--t-base);
}
.news-card__img:hover img {
  transform: scale(1.04);
}
.news-card__date {
  margin: 10px 0 3px;
  color: rgba(32, 47, 90, 0.5);
  font-size: 13px;
  line-height: 1.2;
}
.news-card__date b {
  color: var(--c-berry);
  font-weight: 400;
}
.news-card h3 {
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  min-height: 2.1em;
  margin-bottom: 8px;
  font-size: 16px;
  font-weight: 600;
  line-height: 1.05;
}
.news-card h3 a {
  color: var(--c-navy);
}
.news-card h3 a:hover {
  color: var(--c-berry);
}
.news-card p {
  position: absolute;
  left: 12px;
  bottom: 12px;
  z-index: 1;
  margin: 0;
  padding: 5px 13px 6px;
  border: 1px solid transparent;
  border-radius: 8px;
  background: var(--c-berry);
  color: var(--c-white);
  font-size: 12px;
  line-height: 1.2;
}
.news-card p:empty {
  display: none;
}
.news-card__more {
  position: absolute;
  right: 12px;
  bottom: 12px;
  z-index: 1;
  display: inline-flex;
  align-items: center;
  padding: 5px 13px 6px;
  border: 1px solid transparent;
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.72);
  -webkit-backdrop-filter: blur(10px) saturate(140%);
  backdrop-filter: blur(10px) saturate(140%);
  color: var(--c-berry);
  font-size: 12px;
  font-weight: 500;
  line-height: 1.2;
  opacity: 0;
  pointer-events: none;
  transition: opacity var(--t-fast);
}
.news-card:hover .news-card__more, .news-card:focus-within .news-card__more {
  opacity: 1;
  pointer-events: auto;
}
.news-card__more:hover {
  color: var(--c-berry-600);
}

@media (max-width: 1100px) {
  .news__track {
    gap: 30px;
  }
}
@media (max-width: 760px) {
  .news__track {
    gap: 24px;
  }
}
/* ---------- Подписка на соцсети ---------- */
.social-cta {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 26px;
  margin-top: 44px;
}
.social-cta a {
  display: flex;
  align-items: center;
  gap: 18px;
  padding: 24px 28px;
  border-radius: var(--r-lg);
  background: linear-gradient(105deg, var(--c-sky) 0%, var(--c-sky-strong) 100%);
  color: var(--c-navy);
  font-size: var(--fs-base);
  font-weight: 500;
  transition: transform var(--t-base);
}
.social-cta a:hover {
  transform: translateY(-3px);
}
.social-cta svg {
  flex: none;
}

/* ============================================================
   Список врачей
   ============================================================ */
.page-head {
  padding-block: 34px 10px;
  background: var(--c-bg);
}
.page-head .crumbs-line {
  color: var(--text-muted);
  font-size: var(--fs-xs);
}
.page-head .crumbs-line a:hover {
  color: var(--c-berry);
}
.page-head h1 {
  margin-top: 12px;
  text-transform: uppercase;
}

.doc-filters {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-bottom: 32px;
}
.doc-filters button {
  padding: 10px 24px;
  border: 1px solid transparent;
  border-radius: var(--r-pill);
  background: var(--c-white);
  color: var(--text-body);
  font-size: var(--fs-sm);
  box-shadow: var(--sh-sm);
  transition: background var(--t-base), color var(--t-base);
}
.doc-filters button:hover {
  color: var(--c-berry);
}
.doc-filters button.is-active {
  background: var(--c-berry);
  color: var(--text-invert);
  box-shadow: 0 4px 14px rgba(177, 59, 99, 0.26);
}

/* ============================================================
   Адаптив
   ============================================================ */
@media (max-width: 1200px) {
  .stats__grid,
  .docs-grid,
  .news__grid {
    grid-template-columns: repeat(2, 1fr);
  }
  .offers__grid {
    grid-template-columns: repeat(2, 1fr);
  }
  .cat__grid {
    grid-template-columns: 1fr;
  }
  .promo__track {
    height: 560px;
  }
  .slide__video {
    max-width: 88%;
    opacity: 0.5;
    -webkit-mask-image: linear-gradient(to right, transparent 0%, rgba(0, 0, 0, 0.3) 28%, #000 72%);
    mask-image: linear-gradient(to right, transparent 0%, rgba(0, 0, 0, 0.3) 28%, #000 72%);
  }
}
@media (max-width: 760px) {
  .docs-grid,
  .news__grid,
  .offers__grid,
  .cat__grid,
  .social-cta {
    grid-template-columns: 1fr;
  }
  .slide__wrap {
    position: static;
    padding-top: 34px;
  }
  .slide {
    align-items: flex-start;
  }
  .us-spec__carousel {
    --s: calc(100vw / 360);
  }
  .us-spec__carousel .us-doc__name {
    font-size: 15px;
  }
  .us-spec__carousel .us-doc__roles {
    font-size: 12px;
    line-height: 1.25;
  }
  .cat__grid {
    gap: 15px;
  }
  .cat__card {
    height: 168px;
  }
  .cat__sub {
    display: none;
  }
  #offers .stitle {
    margin-bottom: 20px;
  }
  #offers .carousel {
    padding-top: 0;
  }
  #offers .carousel__nav {
    top: auto;
    bottom: -56px;
  }
  #offers .carousel__nav--prev {
    left: auto;
    right: 42px;
  }
  #offers .carousel__nav--next {
    right: 0;
  }
  #offers .carousel__foot {
    display: grid;
    grid-template-rows: 38px auto;
    align-items: center;
    gap: 12px;
    margin-top: 18px;
  }
  #offers .carousel__bar {
    margin-right: 86px;
  }
  #offers .carousel__foot .btn {
    width: 100%;
  }
  #services .stitle {
    margin-bottom: 24px;
  }
  .cat__title {
    height: auto;
    right: 12px;
    bottom: 12px;
    max-width: none;
    min-height: 42px;
    padding: 10px 18px 11px;
    font-size: 18px;
    line-height: 1.15;
  }
  .carousel {
    position: relative;
    padding-top: 48px;
  }
  .carousel__nav {
    top: 0;
    transform: none;
  }
  .carousel__nav--prev {
    left: auto;
    right: 42px;
  }
  .carousel__nav--next {
    right: 0;
  }
  #doctors .stitle {
    margin-bottom: 10px;
  }
  .carousel.us-spec__carousel {
    margin-top: 40px;
    padding-top: 0;
  }
  .carousel.us-spec__carousel .carousel__nav {
    top: auto;
    bottom: -56px;
    width: 38px;
    height: 38px;
  }
  .carousel.us-spec__carousel .carousel__nav svg {
    width: 14px;
    height: 14px;
  }
  .carousel.us-spec__carousel .carousel__nav--prev {
    left: auto;
    right: 42px;
  }
  .carousel.us-spec__carousel .carousel__nav--next {
    right: 0;
  }
  #doctors .carousel__foot {
    display: grid;
    grid-template-rows: 38px auto;
    align-items: center;
    gap: 12px;
    margin-top: 18px;
  }
  #doctors .carousel__bar {
    margin-right: 86px;
  }
  #doctors .carousel__foot .btn {
    width: 100%;
  }
  .us-map.home-map.home-map {
    --s: calc(100vw / 430);
  }
  .us-map.home-map.home-map {
    --k: 0.5;
  }
  .journal__wrap > .container {
    max-width: none;
  }
  .journal-cover img {
    width: 85%;
    margin-inline: auto;
  }
  .journal .carousel {
    position: relative;
    padding-top: 0;
  }
  .journal .carousel__foot {
    position: relative;
    min-height: 38px;
    margin-top: 18px;
    padding-right: 86px;
  }
  .journal .carousel__nav {
    position: absolute;
    top: auto;
    bottom: -56px;
    width: 38px;
    height: 38px;
  }
  .journal .carousel__nav--prev {
    left: auto;
    right: 42px;
  }
  .journal .carousel__nav--next {
    right: 0;
  }
  .journal .carousel__nav svg {
    width: 14px;
    height: 14px;
  }
  .social-cta {
    gap: 14px;
    margin-top: 40px;
  }
  .social-cta a {
    gap: 12px;
    padding: 14px 16px;
    border: 1px solid rgba(255, 255, 255, 0.55);
    background: rgba(105, 172, 223, 0.3);
    -webkit-backdrop-filter: blur(12px) saturate(140%);
    backdrop-filter: blur(12px) saturate(140%);
    font-size: 15px;
    line-height: 1.1;
  }
  .social-cta svg {
    width: 30px;
    height: 30px;
  }
  .social-cta a {
    align-items: center;
    text-align: left;
    font-size: 14px;
    line-height: 1.15;
  }
  .social-cta a span {
    min-width: 0;
  }
  .section {
    padding-block: 50px;
  }
  #offers.section.section--cream,
  #news.section.section--beige,
  #reviews.section.section--cream {
    padding-block: 50px;
  }
  #services.section.section--beige {
    padding-block: 50px 16px;
  }
  #doctors.section.section--cream {
    padding-block: 84px 50px;
  }
  .journal__wrap {
    padding: 50px 0;
    background-position: right center;
  }
  .news-card__date {
    margin: 0 0 2px;
  }
  .news-card h3 {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    min-height: 0;
    margin-bottom: 8px;
  }
  .news-card__more {
    opacity: 1;
    pointer-events: auto;
  }
  #news .carousel__track {
    align-items: flex-start;
  }
  #news .carousel {
    padding-top: 0;
  }
  #news .carousel__nav {
    top: auto;
    bottom: -56px;
  }
  #news .carousel__nav--prev {
    left: auto;
    right: 42px;
  }
  #news .carousel__nav--next {
    right: 0;
  }
  #news .carousel__foot {
    display: grid;
    grid-template-rows: 38px auto;
    align-items: center;
    gap: 12px;
    margin-top: 18px;
  }
  #news .carousel__bar {
    margin-right: 86px;
  }
  #news .carousel__foot .btn {
    width: 100%;
  }
  .mission-video img.mission-video__play {
    width: 64px;
    height: 64px;
  }
  .mission__top {
    height: auto;
    padding: 24px 0 104px;
  }
  .mission__list {
    grid-template-columns: 1fr;
    gap: 14px;
    max-width: none;
    margin-inline: 0;
    padding-inline: var(--gutter);
  }
  .mission__item {
    padding-inline: 0;
  }
  .mission-video {
    height: 198px;
  }
  .mission-video__label {
    font-size: 21px;
  }
  .stitle {
    margin-bottom: 26px;
  }
  .stitle__rule {
    margin-top: 8px;
  }
  .stitle h2 .stitle__logo {
    margin-top: -8px;
    margin-bottom: 6px;
  }
  .stitle h2 .stitle__sub {
    line-height: 1.05;
  }
  .stats__grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 10px;
  }
  .stat {
    min-height: 0;
    padding: 12px 12px 12px;
    gap: 3px;
  }
  .stat__num {
    height: 32px;
    font-size: 30px;
  }
  .stat__chip {
    width: 34px;
    height: 32px;
  }
  .stat__text {
    font-size: 12px;
    line-height: 1.3;
  }
  .promo__track {
    height: 470px;
  }
  .slide__video {
    max-width: 100%;
    opacity: 1;
    -webkit-mask-image: none;
    mask-image: none;
  }
  .slide::before {
    display: none;
  }
  .slide::after {
    left: 0;
    right: auto;
    width: 100%;
    background-image: linear-gradient(166deg, rgba(32, 47, 90, 0.4) 0%, rgba(32, 47, 90, 0.34) 34%, rgba(32, 47, 90, 0) 62%);
  }
  .slide h2, .slide__desc, .slide__lead {
    color: var(--c-white);
  }
  .slide__list li {
    color: rgba(255, 255, 255, 0.92);
  }
  .slide__list li::before {
    background: var(--c-white);
  }
  .slide__price {
    min-width: 0;
    height: 46px;
    margin-bottom: 22px;
    padding-inline: 22px;
    border-radius: 23px;
    font-size: 20px;
    border: 1px solid rgba(255, 255, 255, 0.7);
    background: rgba(255, 255, 255, 0.55);
    -webkit-backdrop-filter: blur(14px) saturate(140%);
    backdrop-filter: blur(14px) saturate(140%);
    color: var(--c-berry);
    box-shadow: none;
  }
  .slide::before {
    display: none;
  }
  .promo__nav {
    display: none;
  }
  .promo__pag {
    left: calc(50% + 10px);
    right: 16px;
    bottom: 18px;
    width: auto;
    min-width: 0;
    height: 42px;
    padding-inline: 16px;
    gap: 0;
    font-size: 15px;
  }
  .promo__pag span {
    width: auto;
    margin-left: 12px;
  }
  .slide__btn {
    position: absolute;
    left: 16px;
    right: calc(50% + 10px);
    bottom: 18px;
    width: auto;
    height: 42px;
    font-size: 15px;
  }
  .slide__content {
    padding-bottom: 60px;
  }
}
/* ---------- Карта клиник в конце главной ----------
   Разметка общая с «Услугами» (uslugi.css), размеры — как на «Ценах».
   Свой множитель нужен потому, что на главной нет обёртки .uslugi. */
.us-map.home-map {
  --s: calc(100vw / 1440);
  min-height: calc(296.25 * var(--s));
  margin-top: calc(40 * var(--s));
}

.home-map .us-map__canvas,
.home-map .us-map__pins {
  top: 0;
  height: calc(296.25 * var(--s));
}
.home-map .us-map__pin {
  width: 59.5px;
  height: 53.9px;
}

/* ---------- Фон «Услуг» на главной ----------
   Снимок закреплён за окном: секция едет по нему при прокрутке,
   как полоса журнала, и тянется дальше под секцию врачей — обе
   держат один и тот же закреплённый кадр, поэтому стыка не видно. */
#services.section--beige,
#doctors.section--cream {
  background: var(--c-beige) url("/local/templates/dnk174_2026/css/../images/services-bg.webp") center/cover no-repeat fixed;
}

/* Закреплённый фон отключён на сенсорных экранах и планшетах, как было
   у донора; телефон (<= 760px) исключён — там заказчик попросил закреп.
   iOS Safari fixed не поддерживает и всё равно покажет его как scroll. */
@media (min-width: 761px) and (hover: none), (min-width: 761px) and (max-width: 900px) {
  #services.section--beige,
  #doctors.section--cream {
    background-attachment: scroll;
  }
}
/* ---------- Растушёвка низа «Новостей» ----------
   Бежевая полоса упиралась в фон страницы резкой чертой; уводим её
   в прозрачность перед картой. Слой лежит под содержимым секции
   (у .pattern дети подняты на z-index 1). */
#news {
  position: relative;
}

#news::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 160px;
  background: linear-gradient(to bottom, rgba(235, 221, 208, 0) 0%, var(--c-bg) 100%);
  pointer-events: none;
}

/* ---------- Плашка рейтинга на главной ----------
   Здесь она не стеклянная, а тёплая: бежевая подложка со световым
   пятном в центре. Вес в два класса нужен потому, что базовый
   .score живёт в doctor.css, который подключён позже. */
/* ---------- Заголовок журнала внутри тёмной полосы ----------
   Он переехал на снимок, поэтому набирается светлым; белого
   зазора над полосой больше нет. */
/* заголовок лежит на тёмном снимке: индиго из базовых стилей на нём
   не читался, поэтому красим сам h2 — правило на элемент сильнее
   унаследованного цвета */
.journal .stitle {
  margin-bottom: 20px;
}
.journal .stitle h2 {
  color: var(--c-berry);
}
.journal .stitle__rule {
  background: var(--c-white);
  opacity: 0.6;
}

/* первое слово заголовка — белым, второе остаётся ягодным */
.stitle h2 .stitle__light {
  color: var(--c-white);
}

/* после врачей полоса со снимком тянется дальше: переход к тёмному
   журналу перестаёт быть резким, параллакс работает на всю высоту */
#doctors.section--cream {
  padding-bottom: 110px;
}

/* ---------- Переход от снимка к отзывам ----------
   Снимок «Услуг» продолжается и под «Нам доверяют», а кремовая
   заливка наезжает на него сверху вниз: от прозрачной до полной. */
/* до тёмной полосы журнала даём воздуха: кремовая заливка успевает
   дойти до полной, и стык не выглядит обрывом */
#reviews.section--cream {
  padding-bottom: 130px;
}

#reviews.section--cream {
  background: linear-gradient(to bottom, rgba(254, 242, 232, 0) 0, var(--c-cream) 260px, var(--c-cream) 100%), url("/local/templates/dnk174_2026/css/../images/services-bg.webp") center/cover no-repeat fixed;
}

@media (min-width: 761px) and (hover: none), (min-width: 761px) and (max-width: 900px) {
  #reviews.section--cream {
    background-attachment: scroll, scroll;
  }
}
/* карточки «О клинике» наезжают на эту секцию сверху, поэтому
   заголовку нужен отдельный запас — общих 60px мало */
#offers.section--cream {
  padding-top: 130px;
}

/* ---------- Растушёвка верха «Услуг» ----------
   Кремовая полоса акций упиралась в бежевую секцию услуг резкой чертой —
   уводим стык в прозрачность. Слой под содержимым: у .pattern дети
   подняты на z-index 1. */
#services {
  position: relative;
}

#services::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  height: 150px;
  background: linear-gradient(to bottom, var(--c-bg) 0%, rgba(251, 246, 242, 0) 100%);
  pointer-events: none;
}

/* В заголовке блока цифр вместо набранного названия — сам логотип,
   подпись под ним чуть мельче */
.stitle__logo {
  display: block;
  width: clamp(250px, 23vw, 330px);
  height: auto;
  margin: 0 auto 16px;
}
.stitle h2 .stitle__sub {
  display: block;
  font-size: clamp(20px, 2vw, 29px);
  text-transform: none;
}

/* стрелки ленты новостей — по центру снимка, а не всей карточки:
   над снимком стоят дата и заголовок (71px), под ним остаётся 19px */
@media (min-width: 761px) {
  #news .carousel__nav {
    top: calc(71px + (100% - 90px) / 2);
    transform: translateY(-50%);
  }
}
/* ============================================================
   Появление карточек как в ленте врачей: всё, что вне видимой
   тройки (четвёрки), погашено и уменьшено до 0.8; на шаге вперёд
   крайняя гаснет, следующая проявляется (классы Swiper). Окно не обрезаем, иначе
   карточка проявлялась бы уже за краем и эффекта не видно.
   Узкие экраны не трогаем — там своя раскладка.
   ============================================================ */
@media (min-width: 1101px) and (prefers-reduced-motion: no-preference) {
  #offers .carousel__viewport,
  #news .carousel__viewport {
    overflow: visible;
  }
  .offers__track > *,
  .news__track > * {
    opacity: 0;
    scale: 0.8;
    pointer-events: none;
    transition: opacity 0.5s ease-in-out, scale 0.5s ease-in-out;
  }
  .offers__track > .swiper-slide-visible,
  .news__track > .swiper-slide-visible {
    opacity: 1;
    scale: 1;
    pointer-events: auto;
  }
}
/* ============================================================
   Журнал: центральная обложка крупная, соседние — за ней,
   уменьшенные и притемнённые. Роли обложек — по классам Swiper
   (centeredSlides): prev — слева, active — в центре, next — справа.
   ============================================================ */
@media (min-width: 1101px) and (prefers-reduced-motion: no-preference) {
  .journal .carousel__viewport {
    overflow: visible;
  }
  .journal__track {
    align-items: center;
  }
  .journal__track > * {
    position: relative;
    opacity: 0;
    scale: 0.67;
    pointer-events: none;
    transition: opacity 0.5s ease-in-out, scale 0.5s ease-in-out, filter 0.5s ease-in-out, translate 0.5s ease-in-out;
  }
  .journal__track > :is(.swiper-slide-prev, .swiper-slide-active, .swiper-slide-next) {
    opacity: 1;
    pointer-events: auto;
  }
  .journal__track > .swiper-slide-prev {
    translate: 122px 0;
  }
  .journal__track > .swiper-slide-active {
    z-index: 2;
    scale: 0.9;
    filter: none;
    translate: 0 0;
  }
  .journal__track > .swiper-slide-next {
    translate: -122px 0;
  }
  .journal__track > * {
    overflow: hidden;
  }
  .journal__track > *::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 1;
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.5s ease-in-out;
  }
  .journal__track > .swiper-slide-prev::after {
    opacity: 1;
    background-image: linear-gradient(to left, rgba(0, 0, 0, 0.82) 0%, rgba(0, 0, 0, 0.62) 14%, rgba(0, 0, 0, 0.28) 30%, rgba(0, 0, 0, 0) 50%);
  }
  .journal__track > .swiper-slide-next::after {
    opacity: 1;
    background-image: linear-gradient(to right, rgba(0, 0, 0, 0.82) 0%, rgba(0, 0, 0, 0.62) 14%, rgba(0, 0, 0, 0.28) 30%, rgba(0, 0, 0, 0) 50%);
  }
  .journal__track > .swiper-slide-active::after {
    opacity: 0;
  }
  .journal .carousel__nav--prev {
    left: calc(52px + 5.25%);
  }
  .journal .carousel__nav--next {
    right: calc(52px + 5.25%);
  }
  .journal-cover, .journal-cover:hover {
    transform: perspective(1200px) rotateX(var(--rx, 0deg)) rotateY(var(--ry, 0deg));
  }
  .journal-cover.is-tilt {
    transition: transform 0.08s linear;
  }
  .journal__track > *.is-tilt::after {
    opacity: 1;
    background-image: radial-gradient(360px circle at var(--gx, 50%) var(--gy, 50%), rgba(255, 255, 255, 0.45), rgba(255, 255, 255, 0) 46%);
  }
}
/* заголовок новости на телефоне — одной строкой с многоточием */
@media (max-width: 760px) {
  .news-card h3 {
    -webkit-line-clamp: 1;
  }
}
/* служебная строка прокручивается вбок — правый край уводим
   в прозрачность, чтобы текст не обрывался по кромке экрана */
@media (max-width: 760px) {
  .topbar .topbar__in {
    -webkit-mask-image: linear-gradient(to right, #000 calc(100% - 92px), transparent 100%);
    mask-image: linear-gradient(to right, #000 calc(100% - 92px), transparent 100%);
  }
}
/* плашки со счётчиками: компактнее по высоте, строки плотнее */
@media (max-width: 760px) {
  .stat {
    padding: 10px 12px;
    gap: 1px;
  }
  .stat__num {
    line-height: 1;
  }
  .stat__text {
    line-height: 1.2;
  }
}
/* ---------- Листание акций на телефоне ----------
   Как у блока врачей: лента не обрезается, карточка уходит
   в прозрачность с уменьшением, следующая из неё проявляется.
   Видимую карточку отмечает Swiper (.swiper-slide-visible). */
@media (max-width: 760px) {
  #offers .carousel__viewport {
    overflow: visible;
  }
  .offers__track > * {
    opacity: 0;
    scale: 0.8;
    pointer-events: none;
    transition: opacity 0.5s ease-in-out, scale 0.5s ease-in-out;
  }
  .offers__track > .swiper-slide-visible {
    opacity: 1;
    scale: 1;
    pointer-events: auto;
  }
}
/* кнопки «все …» под лентой: во всю ширину и пониже */
@media (max-width: 760px) {
  .center-more .btn {
    width: 100%;
    min-height: 0;
    height: 44px;
    padding-block: 0;
  }
}
/* карточки подписки: равной высоты, текст мельче, сам блок ниже */
@media (max-width: 760px) {
  .social-cta {
    margin-top: 22px;
    grid-auto-rows: 1fr;
  }
  .social-cta a {
    font-size: 13px;
  }
}
/* «Все врачи клиники» на телефоне — как «все предложения»:
   ягодная обводка и текст, без заливки */
@media (max-width: 760px) {
  #doctors .carousel__foot .btn--primary {
    background: transparent;
    border-color: var(--c-berry);
    color: var(--c-berry);
  }
}
/* раздел с карточками подписки: поля по вертикали заметно меньше */
@media (max-width: 760px) {
  .section.section--beige:has(.social-cta) {
    padding-block: 24px 28px;
  }
}
/* карточки подписки лежат внутри раздела новостей — его нижнее поле
   и давало провал перед картой. Верх оставляем, низ ужимаем. */
@media (max-width: 760px) {
  #news.section.section--beige {
    padding-block: 50px 12px;
  }
  #news .social-cta {
    margin-top: 56px;
    gap: 8px;
  }
}
/* ягодный бегунок прокрутки на телефоне: ширину ему задаёт JS в процентах
   от числа слайдов, на узком экране выходила совсем короткая чёрточка */
@media (max-width: 760px) {
  .carousel__bar i {
    min-width: 56px;
  }
}
/* кадр первого слайда («Розовый октябрь») на телефоне сдвинут левее:
   при кадрировании по центру модель уходила к правой кромке */
@media (max-width: 760px) {
  .promo__track .slide:first-child .slide__video {
    object-position: 62% center;
  }
}
/* ============================================================
   Страница врача — структура по Figma-макету (1920×8286)
   ============================================================ */
/* ---------- Герой ---------- */
.hero {
  position: relative;
  overflow: hidden;
  background: none;
  height: 727px;
}
.hero__photo {
  position: absolute;
  left: -56px;
  bottom: -120px;
  z-index: 0;
  width: auto;
  max-width: none;
  height: 740px;
  pointer-events: none;
}
.hero__video {
  z-index: 1;
}

/* на узких десктопах портрет крупного размера заезжал бы под заголовок —
   там он мельче и сдвинут левее */
@media (max-width: 1699px) {
  .hero__photo {
    height: 620px;
    left: -86px;
  }
}
/* белой вуали справа больше нет — снимок открыт целиком */
.hero::before {
  content: none;
}
.hero::after {
  content: none;
}
.hero__in {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(320px, 520px) 1fr;
  gap: 40px;
  align-items: end;
  min-height: 645px;
}

/* крошки как на остальных страницах: один цвет на всю строку,
   13px, без выделения ссылки */
.crumbs {
  position: absolute;
  top: 16px;
  left: var(--gutter);
  z-index: 2;
  color: rgba(32, 47, 90, 0.5);
  font-size: 13px;
  font-weight: 400;
}
.crumbs a {
  color: inherit;
  font-weight: inherit;
}
.crumbs a:hover {
  color: var(--c-berry);
}

/* Видеовизитка поверх фото врача */
.hero__figure {
  position: relative;
  align-self: end;
  min-height: 300px;
}
.hero__video {
  position: absolute;
  left: 0;
  bottom: 34px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
}
.hero__video-label {
  position: relative;
  z-index: 2;
  display: grid;
  place-items: center;
  width: 153px;
  height: 44px;
  padding: 0;
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.72);
  -webkit-backdrop-filter: blur(14px) saturate(140%);
  backdrop-filter: blur(14px) saturate(140%);
  box-shadow: 0 6px 18px rgba(32, 47, 90, 0.1);
  color: var(--c-navy);
  font-size: 14px;
}
.hero__video-label::after {
  content: "";
  position: absolute;
  top: 100%;
  left: 50%;
  width: 20px;
  height: 10px;
  transform: translateX(-50%);
  background: rgba(255, 255, 255, 0.72);
  -webkit-clip-path: polygon(0 0, 100% 0, 50% 100%);
  clip-path: polygon(0 0, 100% 0, 50% 100%);
}
.hero__video-label {
  opacity: 0;
  visibility: hidden;
  transform: translateY(8px);
  transition: opacity var(--t-base), transform var(--t-base), visibility var(--t-base);
}
.hero__video:has(.hero__play:hover) .hero__video-label, .hero__video:has(.hero__play:focus-visible) .hero__video-label {
  opacity: 1;
  visibility: visible;
  transform: none;
}
.hero__play {
  display: grid;
  place-items: center;
  width: 85px;
  height: 85px;
  padding: 0;
  border: 0;
  background: none;
  transition: transform var(--t-base);
}
.hero__play img {
  width: 85px;
  height: 85px;
}
.hero__play:hover {
  transform: scale(1.07);
}
.hero__body {
  position: relative;
  z-index: 1;
  padding-block: 26px 68px;
  max-width: 880px;
}
.hero__body h1 {
  margin-bottom: 14px;
}

.rating-line {
  display: flex;
  align-items: center;
  gap: 9px;
  margin-bottom: 22px;
  font-size: var(--fs-lg);
}
.rating-line__star {
  color: var(--c-berry);
}
.rating-line__value {
  color: var(--c-navy);
  font-weight: 600;
}
.rating-line a {
  color: var(--c-sky-strong);
  font-size: var(--fs-sm);
  text-decoration: underline;
}
.rating-line a:hover {
  color: var(--c-berry);
}

.hero__degree {
  margin-bottom: 8px;
  color: var(--c-berry);
  font-size: var(--fs-lg);
  font-weight: 500;
}
.hero__lead {
  max-width: 740px;
  margin-bottom: 26px;
  color: var(--c-navy);
  font-size: var(--fs-sm);
  line-height: 1.55;
}

.facts {
  display: flex;
  flex-wrap: wrap;
  gap: 42px;
  margin-bottom: 28px;
}
.facts__label {
  display: block;
  margin-bottom: 3px;
  color: var(--c-berry);
  font-size: var(--fs-xs);
}
.facts__value {
  color: var(--c-navy);
  font-size: var(--fs-lg);
  font-weight: 500;
}

.addr-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px;
  margin-bottom: 26px;
  max-width: 920px;
}

.addr {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 14px 20px;
  border: 1px solid rgba(255, 255, 255, 0.8);
  border-radius: var(--r-lg);
  background: rgba(255, 255, 255, 0.42);
  -webkit-backdrop-filter: blur(14px) saturate(140%);
  backdrop-filter: blur(14px) saturate(140%);
  box-shadow: none;
}
.addr__pin {
  display: grid;
  place-items: center;
  width: 36px;
  height: 36px;
  flex: none;
  color: var(--c-navy);
}

.ico-point-lg {
  width: 28px;
  height: 28px;
  object-fit: contain;
}

/* строки внутри карточки прижаты друг к другу */
.addr > span {
  line-height: 1.15;
}
.addr__label {
  color: var(--text-muted);
  font-size: var(--fs-2xs);
}
.addr__value {
  color: var(--c-navy);
  font-size: var(--fs-sm);
  white-space: nowrap;
}
.addr .link-arrow {
  margin-left: auto;
  white-space: nowrap;
}
.addr:hover .link-arrow {
  color: var(--c-berry);
  gap: 5px;
}

/* ---------- Липкие табы ---------- */
/* липкие табы — под всей закреплённой шапкой (42 + 68, на широких 42 + 75) */
@media (min-width: 1500px) {
  .tabs {
    top: 82px !important;
  }
}
.tabs {
  position: sticky;
  top: 68px;
  margin-top: -62px;
  z-index: 50;
  background: rgba(255, 255, 255, 0.35);
  -webkit-backdrop-filter: blur(20px) saturate(150%);
  backdrop-filter: blur(20px) saturate(150%);
  border-bottom: 1px solid rgba(255, 255, 255, 0.45);
}
.tabs__in {
  display: flex;
  gap: 24px;
  overflow-x: auto;
  scrollbar-width: none;
}
.tabs__in::-webkit-scrollbar {
  display: none;
}
.tabs__in.is-more-right {
  -webkit-mask-image: linear-gradient(to right, #000 calc(100% - 40px), transparent);
  mask-image: linear-gradient(to right, #000 calc(100% - 40px), transparent);
}
.tabs__in.is-more-left {
  -webkit-mask-image: linear-gradient(to right, transparent, #000 40px);
  mask-image: linear-gradient(to right, transparent, #000 40px);
}
.tabs__in.is-more-left.is-more-right {
  -webkit-mask-image: linear-gradient(to right, transparent, #000 40px, #000 calc(100% - 40px), transparent);
  mask-image: linear-gradient(to right, transparent, #000 40px, #000 calc(100% - 40px), transparent);
}
.tabs a {
  position: relative;
  padding: 20px 14px;
  color: var(--c-navy);
  font-size: var(--fs-sm);
  white-space: nowrap;
  transition: color var(--t-fast);
}
.tabs a::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 2px;
  background: var(--c-berry);
  transform: scaleX(0);
  transition: transform var(--t-base);
}
.tabs a:hover {
  color: var(--c-berry);
}
.tabs a.is-active {
  color: var(--c-berry);
}
.tabs a.is-active::after {
  transform: scaleX(1);
}

/* узкий ноутбук и планшет: ещё плотнее — у страницы врача контейнер уже
   (на 1101 — 803px), и семь пунктов не помещались */
@media (min-width: 761px) and (max-width: 1279px) {
  .tabs__in {
    gap: 16px;
  }
  .tabs a {
    padding-inline: 10px;
  }
}
@media (min-width: 761px) and (max-width: 900px) {
  .tabs__in {
    gap: 12px;
  }
  .tabs a {
    padding-inline: 8px;
  }
}
/* ---------- Причины обращения ---------- */
.reasons {
  margin-top: 30px;
  padding: 30px 32px;
}
.reasons h3 {
  margin-bottom: 6px;
}
.reasons__note {
  margin-bottom: 20px;
  color: var(--text-muted);
  font-size: var(--fs-xs);
}
.reasons__grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
}

.reason {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 13px 18px;
  border-radius: var(--r-md);
  border: 1px solid var(--c-white);
  background: rgba(229, 218, 208, 0.2);
  font-size: var(--fs-sm);
  transition: background var(--t-base);
}
.reason:hover {
  background: var(--c-white);
}
.reason__ico {
  flex: none;
  width: 42px;
  height: 42px;
  object-fit: contain;
}

/* ---------- Цитата врача ---------- */
.quote {
  position: relative;
  overflow: visible;
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: end;
  gap: 30px;
  margin-top: 90px;
  padding: 22px 38px;
  border-radius: var(--r-xl);
  background: linear-gradient(105deg, var(--c-sky) 0%, var(--c-sky-strong) 100%);
  color: var(--c-navy);
}
.quote .quote__bg {
  position: absolute;
  inset: 0;
  z-index: 0;
  overflow: hidden;
  border-radius: var(--r-xl);
  pointer-events: none;
}
.quote__bg::before, .quote__bg::after {
  content: "";
  position: absolute;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.07);
}
.quote__bg::before {
  width: 300px;
  height: 300px;
  top: -132px;
  right: 168px;
}
.quote__bg::after {
  width: 390px;
  height: 390px;
  top: -120px;
  right: -54px;
}
.quote > * {
  position: relative;
  z-index: 1;
}
.quote > div {
  position: relative;
  padding: 4px 0 0 236px;
}
.quote__mark {
  position: absolute;
  left: 200px;
  top: 2px;
  color: rgba(255, 255, 255, 0.65);
  font-size: 36px;
  line-height: 1;
}
.quote__text {
  margin: 8px 0 16px;
  max-width: none;
  font-family: "Inter", "Golos Text", sans-serif;
  font-size: 16px;
  font-weight: 300;
  font-style: italic;
  line-height: 1.5;
}
.quote__author {
  display: flex;
  align-items: center;
  gap: 14px;
  margin-left: -36px;
}
.quote__author > span {
  display: inline-block;
  line-height: 1.25;
}
.quote .quote__photo {
  position: absolute;
  left: 26px;
  bottom: -23px;
  clip-path: inset(0 0 22px 0);
  z-index: 2;
  width: auto;
  max-width: none;
  height: 250px;
  border: 0;
  border-radius: 0;
  background: none;
  pointer-events: none;
}
.quote__name {
  color: var(--c-navy);
  font-size: var(--fs-sm);
  font-weight: 600;
}
.quote__role {
  color: rgba(255, 255, 255, 0.92);
  font-size: var(--fs-xs);
}

/* ---------- Направления ---------- */
.fields {
  margin-top: 34px;
  padding: 30px 32px;
}
.fields h3 {
  margin-bottom: 22px;
}
.fields__grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px 40px;
}
.fields li {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  font-size: var(--fs-sm);
}
.fields li svg {
  flex: none;
  margin-top: 2px;
  color: var(--c-berry);
}
.fields__hidden {
  display: none;
}
.fields__hidden.is-open {
  display: contents;
}
.fields__foot {
  display: flex;
  justify-content: flex-end;
  margin-top: 24px;
}
.fields__foot .btn[aria-expanded=true] svg {
  transform: rotate(180deg);
}

/* ---------- Услуги ---------- */
.services__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 22px;
}

.service {
  display: flex;
  flex-direction: column;
  min-height: 210px;
  padding: 26px 28px;
  border: 1px solid var(--c-white);
  border-radius: var(--r-lg);
  background: rgba(255, 255, 255, 0.3);
  -webkit-backdrop-filter: blur(14px) saturate(140%);
  backdrop-filter: blur(14px) saturate(140%);
  transition: transform var(--t-base), background var(--t-base);
}
.service:hover {
  transform: translateY(-4px);
  background: rgba(255, 255, 255, 0.42);
}
.service h3 {
  margin-bottom: 10px;
  font-size: var(--fs-h3);
  font-weight: 500;
}
.service:hover h3 {
  color: var(--c-berry);
}
.service__desc {
  color: var(--text-muted);
  font-size: var(--fs-xs);
  line-height: 1.5;
}
.service__foot {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  margin-top: auto;
  padding-top: 22px;
}
.service__price {
  color: var(--c-berry);
  font-size: 20px;
  font-weight: 600;
}
.service__price small {
  margin-right: 5px;
  color: var(--text-muted);
  font-size: var(--fs-2xs);
  text-transform: uppercase;
}
.service .link-arrow {
  color: var(--c-berry);
}
.service:hover .link-arrow {
  color: var(--c-berry);
}
.service__hidden {
  display: none;
}
.service__hidden.is-open {
  display: flex;
}

/* ---------- Образование ---------- */
.edu__grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 18px;
}

.edu-card {
  padding: 18px 30px 16px;
  box-shadow: none;
}
.edu-card__head {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 12px;
}
.edu-card__head svg {
  color: var(--c-sky-strong);
}
.edu-card__head .edu-ico {
  width: 30px;
  height: 30px;
  object-fit: contain;
}
.edu-card__head .edu-ico[src$="08.svg"] {
  width: 34px;
  height: 34px;
}
.edu-card__head h3 {
  font-size: 20px;
}

.timeline li {
  display: grid;
  grid-template-columns: 52px 1fr;
  gap: 10px;
  padding-block: 14px;
  border-bottom: 1px dashed var(--border-hair);
}
.timeline li:last-child {
  border-bottom: 0;
}
.timeline__year {
  color: var(--c-sky-strong);
  font-size: var(--fs-xs);
}
.timeline__title {
  display: block;
  color: var(--c-navy);
  font-size: var(--fs-sm);
  font-weight: 600;
  line-height: 1.2;
}
.timeline__sub {
  display: block;
  margin-top: 1px;
  color: var(--text-body);
  font-size: var(--fs-xs);
  line-height: 1.2;
}
.timeline__note {
  display: block;
  margin-top: 1px;
  color: var(--text-muted);
  font-size: var(--fs-2xs);
  line-height: 1.2;
}
.timeline li.timeline__hidden {
  display: none;
}
.timeline li.timeline__hidden.is-open {
  display: grid;
}

.edu-card__more {
  display: flex;
  justify-content: flex-end;
  margin-top: 6px;
}
.edu-card__more button {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  padding: 4px 2px;
  border: 0;
  background: none;
  color: var(--text-muted);
  font-size: var(--fs-xs);
}
.edu-card__more button:hover {
  color: var(--c-berry);
}
.edu-card__more svg {
  transition: transform var(--t-base);
}
.edu-card__more button[aria-expanded=true] svg {
  transform: rotate(180deg);
}
.edu-card--wide {
  margin-top: 18px;
}
.edu-card--wide .timeline {
  max-width: 62%;
}

/* Плашка достижений */
.achieve {
  position: relative;
  overflow: hidden;
  display: flex;
  align-items: center;
  gap: 22px;
  margin-top: 48px;
  padding: 22px 30px;
  border-radius: var(--r-lg);
  background: linear-gradient(105deg, var(--c-sky) 0%, var(--c-sky-strong) 100%);
  color: var(--c-navy);
}
.achieve::before, .achieve::after {
  content: "";
  position: absolute;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.16);
  pointer-events: none;
}
.achieve::before {
  width: 210px;
  height: 210px;
  top: -118px;
  right: 132px;
}
.achieve::after {
  width: 280px;
  height: 280px;
  top: -128px;
  right: -42px;
}
.achieve > * {
  position: relative;
  z-index: 1;
}
.achieve svg {
  flex: none;
  color: var(--c-navy);
}

.achieve-ico {
  flex: none;
  width: 34px;
  height: 34px;
  object-fit: contain;
}

.achieve p {
  font-size: var(--fs-sm);
  line-height: 1.5;
}
.achieve .btn {
  margin-left: auto;
  flex: none;
}

/* ---------- Документы ---------- */
.docs {
  padding: 30px 32px;
}
.docs h3 {
  margin-bottom: 6px;
}
.docs__note {
  margin-bottom: 22px;
  color: var(--text-muted);
  font-size: var(--fs-xs);
}
.docs__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
}

.doc {
  padding: 16px 18px;
  border-radius: var(--r-md);
  background: var(--c-white);
  box-shadow: var(--sh-sm);
  transition: box-shadow var(--t-base);
}
.doc:hover {
  box-shadow: var(--sh-md);
}
.doc__top {
  display: flex;
  align-items: flex-start;
  gap: 11px;
}
.doc__top svg {
  flex: none;
  color: var(--c-sky-strong);
}

.doc-ico {
  flex: none;
  width: 22px;
  height: 22px;
  object-fit: contain;
}

.doc__title {
  color: var(--c-navy);
  font-size: var(--fs-xs);
  font-weight: 600;
}
.doc__badge {
  margin-left: auto;
  flex: none;
  padding: 3px 10px;
  border-radius: var(--r-pill);
  background: var(--c-grey-100);
  color: var(--text-body);
  font-size: 10px;
  white-space: nowrap;
}
.doc__meta {
  margin: 8px 0 12px 31px;
  color: var(--text-muted);
  font-size: var(--fs-2xs);
  line-height: 1.45;
}
.doc__view {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  color: var(--text-body);
  font-size: var(--fs-2xs);
}
.doc__view:hover {
  color: var(--c-berry);
}

/* ---------- Отзывы ---------- */
/* верхний ряд держит ту же сетку, что список отзывов под ним:
   три колонки и один зазор, иначе колонки не совпадали по вертикали */
.reviews__top {
  --gap: 22px;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--gap);
}

/* белая плашка, узор на ней — нежно-розовый E5DAD0 */
.score {
  display: grid;
  place-content: center;
  justify-items: center;
  grid-template-columns: auto;
  row-gap: 8px;
  min-height: 178px;
  border: 1px solid var(--c-white);
  border-radius: var(--r-lg);
  background: rgba(255, 255, 255, 0.12);
  -webkit-backdrop-filter: blur(14px) saturate(140%);
  backdrop-filter: blur(14px) saturate(140%);
  overflow: hidden;
}
.score.pattern::before {
  background: var(--c-white);
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 xml:space=%22preserve%22 width=%221181px%22 height=%221181px%22 version=%221.1%22 style=%22shape-rendering:geometricPrecision; text-rendering:geometricPrecision; image-rendering:optimizeQuality; fill-rule:evenodd; clip-rule:evenodd%22 viewBox=%220 0 182.83 182.83%22 xmlns:xlink=%22http://www.w3.org/1999/xlink%22 xmlns:xodm=%22http://www.corel.com/coreldraw/odm/2003%22%3E%3Cdefs%3E%3Cstyle type=%22text/css%22%3E%3C![CDATA[ .fil0 %7Bfill:%23F0F0F0%7D ]]%3E%3C/style%3E%3C/defs%3E%3Cg id=%22%D0%A1%D0%BB%D0%BE%D0%B9_x0020_1%22%3E%3Cmetadata id=%22CorelCorpID_0Corel-Layer%22/%3E%3Cpath class=%22fil0%22 d=%22M91.18 32.16c4.64,-0.04 8.58,-3.96 8.62,-8.59 0.04,-4.82 -3.95,-8.78 -8.77,-8.7 -4.75,0.08 -8.42,3.87 -8.4,8.69 0.02,4.67 3.97,8.64 8.55,8.6z%22/%3E%3Cpath class=%22fil0%22 d=%22M62.23 6.43c0,0.01 0.01,0.03 0.01,0.03 1.27,1.49 3.29,3.41 3.29,5.56 0.03,2.18 -1.97,4.14 -3.26,5.65 -0.01,0.01 -0.01,0.02 -0.02,0.03 -1.43,1.58 -2.26,3.71 -2.19,6.11 0.15,4.73 3.98,8.31 8.81,8.23 4.7,-0.07 8.32,-3.88 8.3,-8.72 -0.01,-2.03 -0.75,-3.85 -1.93,-5.29 0,-0.01 -0.01,-0.02 -0.01,-0.03 -1.41,-1.48 -3.57,-4.13 -3.56,-5.98 0.01,-2.33 2.11,-4.39 3.53,-5.89 0.01,0 0.01,-0.01 0.02,-0.02 1.18,-1.44 1.91,-3.26 1.92,-5.29 0,-0.28 -0.01,-0.55 -0.03,-0.82l-17.05 0c0,0.11 -0.02,0.22 -0.02,0.33 -0.08,2.4 0.76,4.52 2.19,6.1z%22/%3E%3Cpath class=%22fil0%22 d=%22M23.15 32.16c4.64,-0.04 8.57,-3.96 8.61,-8.59 0.05,-4.82 -3.95,-8.78 -8.77,-8.7 -4.75,0.08 -8.42,3.87 -8.39,8.69 0.02,4.67 3.96,8.64 8.55,8.6z%22/%3E%3Cpath class=%22fil0%22 d=%22M136.99 9.34c4.64,-0.04 8.58,-3.96 8.62,-8.59 0,-0.26 -0.02,-0.5 -0.04,-0.75l-17.1 0c-0.02,0.24 -0.04,0.49 -0.03,0.73 0.02,4.67 3.96,8.64 8.55,8.61z%22/%3E%3Cpath class=%22fil0%22 d=%22M136.84 174.87c-4.51,0.08 -8.04,3.5 -8.37,7.96l17.1 0c-0.35,-4.48 -4.17,-8.03 -8.73,-7.96z%22/%3E%3Cpath class=%22fil0%22 d=%22M160.18 8.64c4.64,-0.03 8.58,-3.96 8.62,-8.58 0,-0.02 0,-0.04 0,-0.06l-17.17 0c0,0.01 0,0.03 0,0.04 0.02,4.67 3.97,8.64 8.55,8.6z%22/%3E%3Cpath class=%22fil0%22 d=%22M160.18 31.81c4.64,-0.04 8.58,-3.97 8.62,-8.59 0.04,-4.83 -3.95,-8.79 -8.77,-8.7 -4.76,0.08 -8.42,3.87 -8.4,8.68 0.02,4.67 3.97,8.64 8.55,8.61z%22/%3E%3Cpath class=%22fil0%22 d=%22M165.1 175.75c-0.99,-1.31 -1.86,-2.81 -1.85,-3.99 0.01,-2.33 2.1,-4.38 3.53,-5.88 0,-0.01 0.01,-0.02 0.01,-0.03 1.18,-1.44 1.92,-3.26 1.93,-5.29 0.02,-4.84 -3.6,-8.65 -8.3,-8.72 -4.83,-0.08 -8.66,3.5 -8.81,8.23 -0.07,2.4 0.76,4.53 2.19,6.11 0.01,0.01 0.01,0.02 0.02,0.03 1.27,1.49 3.29,3.41 3.28,5.55 0.02,1.41 -0.81,2.72 -1.74,3.89 -2.27,1.53 -3.73,4.15 -3.73,7.18l17.17 0c0,-2.92 -1.47,-5.51 -3.7,-7.08z%22/%3E%3Cpath class=%22fil0%22 d=%22M113.84 151.63c-4.76,0.08 -8.42,3.87 -8.4,8.68 0.02,4.67 3.96,8.64 8.55,8.61 4.64,-0.04 8.58,-3.97 8.62,-8.59 0.04,-4.82 -3.95,-8.79 -8.77,-8.7z%22/%3E%3Cpath class=%22fil0%22 d=%22M22.63 9.25c2.4,0.08 4.53,-0.76 6.11,-2.18 0.01,-0.01 0.02,-0.02 0.03,-0.02 1.49,-1.27 3.41,-3.29 5.55,-3.29 2.19,-0.02 4.15,1.98 5.66,3.26 0,0.01 0.01,0.01 0.02,0.02 1.54,1.43 3.56,2.31 5.73,2.3 1.19,-0.01 2.34,-0.28 3.38,-0.75 2.54,-1.04 4.41,-3.27 5.02,-6.05 0.01,-0.06 0.03,-0.12 0.04,-0.17 0.03,-0.15 0.05,-0.3 0.07,-0.45 0.03,-0.17 0.05,-0.33 0.07,-0.5 0.01,-0.1 0.01,-0.21 0.02,-0.31 0,-0.12 0.02,-0.24 0.02,-0.36 0,-0.05 -0.01,-0.1 -0.01,-0.15 0,-0.06 0.01,-0.11 0.01,-0.17 -0.01,-0.15 -0.02,-0.29 -0.03,-0.43l-39.89 0c-0.01,0.15 -0.03,0.3 -0.03,0.45 -0.08,4.83 3.5,8.66 8.23,8.8z%22/%3E%3Cpath class=%22fil0%22 d=%22M39.27 28.9c1.41,1.49 3.57,4.14 3.56,5.99 -0.01,2.33 -2.11,4.38 -3.53,5.88 -0.01,0.01 -0.01,0.02 -0.02,0.03 -1.18,1.44 -1.91,3.26 -1.92,5.29 -0.03,4.84 3.6,8.65 8.3,8.72 4.83,0.08 8.65,-3.5 8.8,-8.23 0.08,-2.4 -0.76,-4.53 -2.19,-6.11 0,-0.01 -0.01,-0.02 -0.01,-0.03 -1.27,-1.49 -3.29,-3.41 -3.29,-5.55 -0.03,-2.19 1.97,-4.14 3.26,-5.65 0.01,-0.01 0.01,-0.03 0.02,-0.04 1.43,-1.58 2.26,-3.7 2.19,-6.1 -0.15,-4.74 -3.98,-8.31 -8.81,-8.24 -4.7,0.08 -8.32,3.89 -8.3,8.73 0.01,2.03 0.75,3.85 1.93,5.29 0,0.01 0.01,0.02 0.01,0.02z%22/%3E%3Cpath class=%22fil0%22 d=%22M9.13 23.32c-0.01,-2.03 -0.74,-3.85 -1.92,-5.29 -0.01,-0.01 -0.01,-0.02 -0.02,-0.03 -1.41,-1.48 -3.56,-4.13 -3.55,-5.98 0.01,-2.33 2.1,-4.39 3.53,-5.89 0,0 0.01,-0.01 0.01,-0.02 1.18,-1.44 1.92,-3.26 1.93,-5.29 0,-0.28 -0.01,-0.55 -0.04,-0.82l-9.07 0 0 32.02c0.27,0.02 0.55,0.03 0.83,0.02 4.7,-0.07 8.33,-3.88 8.3,-8.72z%22/%3E%3Cpath class=%22fil0%22 d=%22M68.84 174.92c-4.72,-0.08 -8.46,3.34 -8.78,7.91l17.05 0c-0.37,-4.45 -3.83,-7.84 -8.27,-7.91z%22/%3E%3Cpath class=%22fil0%22 d=%22M45.62 174.95c-2.03,0.01 -3.85,0.75 -5.29,1.93 -0.01,0 -0.01,0.01 -0.02,0.01 -1.49,1.41 -4.14,3.57 -5.99,3.56 -2.33,-0.01 -4.38,-2.11 -5.88,-3.53 -0.01,-0.01 -0.02,-0.01 -0.03,-0.02 -1.44,-1.18 -3.25,-1.91 -5.29,-1.92 -4.68,-0.03 -8.39,3.37 -8.69,7.85l39.89 0c-0.3,-4.49 -4.01,-7.9 -8.7,-7.88z%22/%3E%3Cpath class=%22fil0%22 d=%22M0.81 174.92c-0.28,0 -0.54,0.01 -0.81,0.03l0 7.88 9.07 0c-0.36,-4.45 -3.83,-7.84 -8.26,-7.91z%22/%3E%3Cpath class=%22fil0%22 d=%22M174.86 182.83l7.97 0 0 -7.88c-4.34,0.3 -7.68,3.57 -7.97,7.88z%22/%3E%3Cpath class=%22fil0%22 d=%22M105.3 69.11c0,0.04 0.01,0.08 0.01,0.12 0,0.05 -0.01,0.09 -0.01,0.14 0.06,3.25 1.9,5.99 4.64,7.36 1.18,0.64 2.52,1 3.91,0.99 0.7,-0.01 1.38,-0.11 2.03,-0.28 0.09,-0.02 0.18,-0.05 0.27,-0.07 0.1,-0.03 0.19,-0.05 0.28,-0.08 0.84,-0.27 1.63,-0.67 2.34,-1.17 0.05,-0.03 0.1,-0.07 0.15,-0.1 0.13,-0.1 0.27,-0.18 0.4,-0.28 0.01,0 0.01,-0.01 0.02,-0.01 1.48,-1.41 4.14,-2.91 5.99,-2.9 2.33,0.01 4.38,1.45 5.88,2.87 0.01,0.01 0.02,0.01 0.03,0.02 1.44,1.18 3.25,1.91 5.28,1.92 4.85,0.03 8.65,-3.6 8.73,-8.3 0.08,-4.83 -3.5,-8.65 -8.23,-8.8 -2.4,-0.08 -4.53,0.76 -6.11,2.19 -0.01,0 -0.02,0.01 -0.03,0.01 -1.49,1.27 -3.41,2.64 -5.55,2.63 -1.92,0.03 -3.65,-1.01 -5.07,-2.14 -1.33,-1.52 -2.65,-3.93 -2.64,-5.66 0.01,-2.33 1.45,-4.39 2.87,-5.89 0.01,-0.01 0.01,-0.02 0.02,-0.03 1.18,-1.43 1.92,-3.25 1.93,-5.28 0.02,-4.85 -3.6,-8.65 -8.31,-8.73 -4.83,-0.08 -8.65,3.5 -8.8,8.24 -0.07,2.39 0.76,4.52 2.19,6.1 0,0.01 0.01,0.02 0.02,0.03 1.27,1.49 2.63,3.41 2.63,5.56 0.02,2.02 -1.13,3.84 -2.32,5.3 -1.59,1.57 -2.56,3.77 -2.55,6.24z%22/%3E%3Cpath class=%22fil0%22 d=%22M143.07 131.32c-0.69,-0.62 -1.51,-1.11 -2.38,-1.48 -1.14,-0.49 -2.39,-0.78 -3.74,-0.76 -4.7,0.08 -8.32,3.89 -8.3,8.73 0.01,1.79 0.61,3.4 1.55,4.74 0.03,0.05 0.07,0.1 0.11,0.15 0.09,0.13 0.17,0.27 0.27,0.4 0,0.01 0.01,0.01 0.01,0.02 1.41,1.49 2.91,4.14 2.9,5.99 -0.01,2.33 -1.45,4.38 -2.87,5.88 -0.01,0.01 -0.01,0.02 -0.02,0.03 -1.18,1.44 -1.91,3.25 -1.92,5.29 -0.03,4.84 3.6,8.65 8.3,8.72 4.83,0.08 8.65,-3.5 8.8,-8.23 0.08,-2.4 -0.76,-4.53 -2.19,-6.11 0,-0.01 -0.01,-0.02 -0.01,-0.03 -1.27,-1.49 -2.64,-3.41 -2.63,-5.55 -0.03,-1.92 1.01,-3.65 2.14,-5.07 1.52,-1.33 3.93,-2.65 5.66,-2.64 2.33,0.01 4.39,1.45 5.89,2.88 0.01,0 0.02,0.01 0.03,0.01 1.43,1.18 3.25,1.92 5.28,1.93 4.85,0.02 8.65,-3.6 8.73,-8.31 0.08,-4.83 -3.5,-8.65 -8.24,-8.8 -2.39,-0.07 -4.52,0.76 -6.1,2.19 -0.01,0.01 -0.02,0.01 -0.03,0.02 -1.49,1.27 -3.41,2.63 -5.56,2.63 -2.18,0.02 -4.14,-1.32 -5.65,-2.61 -0.01,0 -0.02,-0.01 -0.03,-0.02z%22/%3E%3Cpath class=%22fil0%22 d=%22M176.06 40.86c-1.26,0.92 -2.74,1.69 -4.35,1.68 -2.18,0.03 -4.14,-1.31 -5.65,-2.6 -0.01,-0.01 -0.03,-0.01 -0.04,-0.02 -0.69,-0.63 -1.5,-1.11 -2.38,-1.48 -1.13,-0.49 -2.38,-0.78 -3.73,-0.76 -4.7,0.08 -8.32,3.88 -8.3,8.73 0.01,1.78 0.6,3.39 1.54,4.74 0.04,0.05 0.07,0.1 0.11,0.15 0.09,0.13 0.17,0.27 0.27,0.39 0.01,0.01 0.01,0.02 0.02,0.03 1.41,1.48 2.91,4.13 2.9,5.98 -0.01,2.33 -1.45,4.39 -2.88,5.89 0,0.01 -0.01,0.02 -0.01,0.02 -1.18,1.44 -1.92,3.26 -1.93,5.29 -0.02,4.84 3.6,8.65 8.3,8.73 4.84,0.08 8.66,-3.5 8.81,-8.24 0.07,-2.39 -0.76,-4.52 -2.19,-6.1 -0.01,-0.01 -0.01,-0.02 -0.02,-0.03 -1.27,-1.49 -2.63,-3.41 -2.63,-5.56 -0.02,-1.91 1.02,-3.64 2.14,-5.06 1.52,-1.33 3.93,-2.65 5.67,-2.64 1.68,0.01 3.22,0.76 4.51,1.72 1.59,1.94 3.98,3.21 6.57,3.18 0.01,0 0.03,0 0.04,0l0 -17.28c-0.07,0 -0.13,-0.01 -0.19,0 -2.7,0.04 -5.05,1.29 -6.58,3.24z%22/%3E%3Cpath class=%22fil0%22 d=%22M90.76 9.18c2.39,0.08 4.52,-0.76 6.1,-2.18 0.01,-0.01 0.02,-0.02 0.03,-0.02 1.49,-1.27 3.41,-2.63 5.56,-2.63 1.91,-0.03 3.64,1.02 5.06,2.14 1.33,1.52 2.65,3.93 2.64,5.67 -0.01,2.33 -1.45,4.38 -2.87,5.88 -0.01,0.01 -0.01,0.02 -0.02,0.03 -1.18,1.44 -1.91,3.25 -1.92,5.29 -0.03,4.84 3.6,8.64 8.3,8.72 4.83,0.08 8.65,-3.5 8.8,-8.23 0.08,-2.4 -0.76,-4.53 -2.19,-6.11 0,-0.01 -0.01,-0.02 -0.01,-0.03 -1.27,-1.49 -2.64,-3.41 -2.63,-5.55 -0.03,-2.19 1.31,-4.15 2.6,-5.66 0.01,-0.01 0.01,-0.02 0.02,-0.03 0.63,-0.69 1.11,-1.5 1.48,-2.38 0.5,-1.13 0.78,-2.39 0.76,-3.73 0,-0.12 -0.02,-0.24 -0.02,-0.36l-39.9 0c-0.01,0.13 -0.03,0.25 -0.03,0.38 -0.08,4.83 3.5,8.66 8.24,8.8z%22/%3E%3Cpath class=%22fil0%22 d=%22M113.74 174.88c-1.79,0.01 -3.39,0.6 -4.74,1.55 -0.05,0.03 -0.1,0.07 -0.15,0.1 -0.13,0.1 -0.27,0.18 -0.39,0.28 -0.01,0 -0.02,0.01 -0.03,0.01 -1.48,1.41 -4.13,2.91 -5.98,2.9 -2.33,-0.01 -4.39,-1.45 -5.89,-2.87 -0.01,-0.01 -0.02,-0.01 -0.03,-0.02 -1.43,-1.18 -3.25,-1.91 -5.28,-1.92 -4.71,-0.03 -8.43,3.4 -8.7,7.92l39.9 0c-0.26,-4.53 -3.99,-7.97 -8.71,-7.95z%22/%3E%3Cpath class=%22fil0%22 d=%22M130.37 108.9c-1.42,1.58 -2.26,3.71 -2.18,6.1 0.14,4.74 3.97,8.32 8.8,8.24 4.7,-0.08 8.32,-3.88 8.3,-8.73 -0.01,-2.03 -0.74,-3.84 -1.93,-5.28 0,-0.01 0,-0.02 -0.01,-0.03 -1.41,-1.48 -3.56,-4.13 -3.55,-5.98 0.01,-2.33 2.1,-4.39 3.53,-5.89 0,-0.01 0.01,-0.02 0.01,-0.03 1.18,-1.43 1.92,-3.25 1.93,-5.28 0.02,-4.84 -3.6,-8.65 -8.31,-8.73 -4.83,-0.08 -8.65,3.5 -8.8,8.24 -0.07,2.4 0.76,4.52 2.19,6.1 0.01,0.01 0.01,0.02 0.02,0.03 1.27,1.49 3.28,3.41 3.28,5.56 0.03,2.18 -1.97,4.14 -3.26,5.65 0,0.01 -0.01,0.02 -0.02,0.03z%22/%3E%3Cpath class=%22fil0%22 d=%22M177.61 108.17c-0.01,0.01 -0.02,0.01 -0.02,0.02 -1.49,1.41 -4.14,3.56 -5.99,3.55 -1.72,-0.01 -3.3,-1.16 -4.61,-2.33 -0.04,-0.06 -0.08,-0.12 -0.13,-0.18 -0.01,-0.01 -0.01,-0.02 -0.02,-0.03 -1.41,-1.48 -3.56,-4.13 -3.55,-5.98 0.01,-2.33 2.1,-4.39 3.53,-5.89 0,-0.01 0.01,-0.02 0.01,-0.03 1.18,-1.43 1.92,-3.25 1.93,-5.28 0.02,-4.84 -3.6,-8.65 -8.3,-8.73 -4.83,-0.08 -8.66,3.5 -8.81,8.24 -0.07,2.4 0.76,4.52 2.19,6.1 0.01,0.01 0.01,0.02 0.02,0.03 1.27,1.49 3.29,3.41 3.28,5.56 0.03,2.18 -1.97,4.14 -3.26,5.65 0,0.01 -0.01,0.02 -0.01,0.03 -1.16,1.28 -1.91,2.91 -2.13,4.76 0,0.03 0,0.07 -0.01,0.1 -0.02,0.23 -0.04,0.45 -0.04,0.68 -0.01,0.04 -0.01,0.09 -0.01,0.13 0,0.05 0,0.1 0,0.14 0,0.1 -0.01,0.2 0,0.29 0,0.1 0.01,0.19 0.02,0.28 0.01,0.13 0.02,0.26 0.03,0.38 0.01,0.14 0.03,0.27 0.05,0.4 0.03,0.2 0.07,0.4 0.11,0.6 0.01,0.04 0.01,0.07 0.02,0.11 0.86,3.74 4.01,6.48 8,6.6 2.4,0.08 4.53,-0.76 6.11,-2.18 0.01,-0.01 0.02,-0.01 0.03,-0.02 1.49,-1.27 3.4,-3.29 5.55,-3.29 2.19,-0.02 4.15,1.98 5.66,3.26 0.01,0.01 0.02,0.02 0.03,0.02 0.29,0.26 0.6,0.5 0.93,0.72 1.09,1.39 2.12,3.05 2.11,4.33 -0.01,2.33 -2.1,4.38 -3.53,5.88 0,0.01 -0.01,0.02 -0.01,0.03 -1.18,1.44 -1.92,3.26 -1.93,5.29 -0.02,4.72 3.43,8.45 7.97,8.7l0 -39.9c-0.48,0.02 -0.95,0.07 -1.4,0.17 -1.44,0.27 -2.74,0.9 -3.82,1.79z%22/%3E%3Cpath class=%22fil0%22 d=%22M91.27 123.36c4.64,-0.04 8.58,-3.96 8.62,-8.59 0.04,-4.83 -3.95,-8.78 -8.77,-8.7 -4.76,0.08 -8.42,3.87 -8.4,8.68 0.02,4.67 3.96,8.64 8.55,8.61z%22/%3E%3Cpath class=%22fil0%22 d=%22M45.82 100.53c4.64,-0.03 8.57,-3.96 8.62,-8.59 0.04,-4.82 -3.96,-8.78 -8.77,-8.69 -4.76,0.08 -8.43,3.87 -8.4,8.68 0.02,4.67 3.96,8.64 8.55,8.6z%22/%3E%3Cpath class=%22fil0%22 d=%22M45.67 151.84c-4.76,0.08 -8.43,3.87 -8.4,8.68 0.02,4.67 3.96,8.64 8.55,8.61 4.64,-0.04 8.57,-3.97 8.62,-8.59 0.04,-4.83 -3.96,-8.78 -8.77,-8.7z%22/%3E%3Cpath class=%22fil0%22 d=%22M62.84 75.39c0.69,0.62 1.5,1.11 2.38,1.48 1.13,0.49 2.39,0.78 3.73,0.76 4.71,-0.08 8.33,-3.89 8.3,-8.73 0,-1.79 -0.6,-3.39 -1.54,-4.74 -0.04,-0.05 -0.07,-0.1 -0.11,-0.15 -0.09,-0.13 -0.17,-0.27 -0.27,-0.4 -0.01,0 -0.01,-0.01 -0.02,-0.02 -1.41,-1.48 -2.9,-4.13 -2.89,-5.98 0.01,-2.33 1.44,-4.39 2.87,-5.89 0.01,-0.01 0.01,-0.02 0.02,-0.03 1.18,-1.44 1.91,-3.25 1.92,-5.28 0.02,-4.85 -3.6,-8.65 -8.3,-8.73 -4.83,-0.08 -8.66,3.5 -8.8,8.24 -0.08,2.39 0.76,4.52 2.18,6.1 0.01,0.01 0.02,0.02 0.02,0.03 1.27,1.49 2.63,3.41 2.63,5.56 0.03,1.91 -1.02,3.64 -2.14,5.06 -1.52,1.33 -3.93,2.65 -5.67,2.64 -2.33,-0.01 -4.38,-1.45 -5.88,-2.87 -0.01,-0.01 -0.02,-0.01 -0.03,-0.02 -1.44,-1.18 -3.25,-1.92 -5.29,-1.92 -4.84,-0.03 -8.64,3.59 -8.72,8.3 -0.08,4.83 3.5,8.65 8.23,8.8 2.4,0.08 4.53,-0.76 6.11,-2.19 0.01,0 0.02,-0.01 0.03,-0.02 1.49,-1.27 3.41,-2.63 5.55,-2.62 2.19,-0.03 4.15,1.31 5.66,2.6 0.01,0.01 0.02,0.01 0.03,0.02z%22/%3E%3Cpath class=%22fil0%22 d=%22M90.76 100.45c2.39,0.08 4.52,-0.76 6.1,-2.19 0.01,0 0.02,-0.01 0.03,-0.01 1.49,-1.27 3.41,-3.29 5.56,-3.29 2.18,-0.02 4.14,1.97 5.65,3.26 0.01,0.01 0.02,0.01 0.02,0.02 1.54,1.42 3.56,2.31 5.73,2.29 1.19,-0.01 2.34,-0.27 3.38,-0.74 2.55,-1.05 4.42,-3.27 5.02,-6.05 0.02,-0.06 0.03,-0.12 0.04,-0.18 0.03,-0.14 0.05,-0.3 0.08,-0.45 0.02,-0.16 0.04,-0.33 0.06,-0.49 0.01,-0.11 0.01,-0.21 0.02,-0.32 0.01,-0.12 0.02,-0.23 0.02,-0.36 0,-0.05 -0.01,-0.09 -0.01,-0.14 0,-0.06 0.01,-0.12 0.01,-0.18 0,-0.19 -0.02,-0.37 -0.04,-0.56 0,0 0,-0.01 0,-0.01 -0.22,-2.65 -1.62,-4.9 -3.71,-6.28 -1.43,-0.98 -3.16,-1.56 -5.02,-1.52 -2.59,0.04 -4.84,1.19 -6.37,3 -1.49,1.25 -3.43,2.57 -4.88,2.57 -2.33,-0.01 -4.39,-2.1 -5.89,-3.53 -0.01,-0.01 -0.02,-0.01 -0.03,-0.02 -1.43,-1.18 -3.25,-1.91 -5.28,-1.92 -4.85,-0.03 -8.65,3.6 -8.73,8.3 -0.08,4.83 3.5,8.65 8.24,8.8z%22/%3E%3Cpath class=%22fil0%22 d=%22M84.55 51.84c1.41,1.48 3.57,4.13 3.56,5.99 -0.01,2.32 -2.1,4.38 -3.53,5.88 -0.01,0.01 -0.01,0.02 -0.02,0.03 -1.18,1.44 -1.91,3.25 -1.92,5.28 -0.02,4.85 3.6,8.65 8.3,8.73 4.83,0.08 8.66,-3.5 8.8,-8.23 0.08,-2.4 -0.76,-4.53 -2.18,-6.11 -0.01,-0.01 -0.02,-0.02 -0.02,-0.03 -1.27,-1.49 -3.29,-3.41 -3.29,-5.55 -0.02,-2.19 1.98,-4.15 3.26,-5.66 0.01,-0.01 0.01,-0.02 0.02,-0.03 1.43,-1.58 2.26,-3.71 2.19,-6.1 -0.15,-4.74 -3.97,-8.32 -8.8,-8.24 -4.71,0.08 -8.33,3.88 -8.31,8.73 0.01,2.03 0.75,3.85 1.93,5.28 0,0.01 0.01,0.02 0.01,0.03z%22/%3E%3Cpath class=%22fil0%22 d=%22M120.37 120.4c1.43,-1.58 2.26,-3.71 2.19,-6.1 -0.15,-4.74 -3.97,-8.32 -8.8,-8.24 -4.71,0.08 -8.33,3.88 -8.3,8.73 0,2.03 0.74,3.85 1.92,5.28 0.01,0.01 0.01,0.02 0.02,0.03 1.41,1.48 3.56,4.13 3.55,5.99 -0.01,2.32 -2.1,4.38 -3.53,5.88 -0.01,0.01 -0.01,0.02 -0.02,0.03 -1.18,1.43 -1.91,3.25 -1.92,5.28 -0.02,4.85 3.6,8.65 8.3,8.73 4.83,0.08 8.66,-3.5 8.8,-8.23 0.08,-2.4 -0.76,-4.53 -2.18,-6.11 -0.01,-0.01 -0.02,-0.02 -0.02,-0.03 -1.27,-1.49 -3.29,-3.41 -3.29,-5.55 -0.02,-2.19 1.98,-4.15 3.26,-5.66 0.01,-0.01 0.02,-0.02 0.02,-0.03z%22/%3E%3Cpath class=%22fil0%22 d=%22M130.39 28.99c1.42,1.49 3.57,4.14 3.56,5.99 -0.01,2.33 -2.1,4.38 -3.53,5.88 -0.01,0.01 -0.01,0.02 -0.02,0.03 -1.18,1.44 -1.91,3.26 -1.92,5.29 -0.02,4.84 3.6,8.65 8.3,8.72 4.83,0.08 8.66,-3.5 8.8,-8.23 0.08,-2.4 -0.76,-4.53 -2.18,-6.11 -0.01,-0.01 -0.02,-0.02 -0.02,-0.03 -1.27,-1.49 -3.29,-3.41 -3.29,-5.55 -0.02,-2.19 1.98,-4.15 3.26,-5.66 0.01,0 0.01,-0.02 0.02,-0.03 1.43,-1.58 2.26,-3.7 2.19,-6.1 -0.15,-4.74 -3.97,-8.31 -8.8,-8.24 -4.71,0.08 -8.33,3.89 -8.31,8.73 0.01,2.03 0.75,3.85 1.93,5.29 0,0.01 0.01,0.02 0.01,0.02z%22/%3E%3Cpath class=%22fil0%22 d=%22M77.25 114.51c0,-2.03 -0.74,-3.84 -1.92,-5.28 -0.01,-0.01 -0.01,-0.02 -0.02,-0.03 -1.41,-1.48 -3.56,-4.13 -3.55,-5.98 0.01,-2.33 2.1,-4.39 3.53,-5.89 0.01,-0.01 0.01,-0.02 0.02,-0.03 1.18,-1.43 1.91,-3.25 1.92,-5.28 0.02,-4.84 -3.6,-8.65 -8.3,-8.73 -4.83,-0.08 -8.66,3.5 -8.8,8.24 -0.08,2.4 0.76,4.52 2.18,6.1 0.01,0.01 0.02,0.02 0.02,0.03 1.27,1.49 3.29,3.41 3.29,5.56 0.02,2.07 -1.77,3.93 -3.06,5.41 -1.57,1.57 -2.52,3.79 -2.51,6.28 0.01,2.03 0.74,3.85 1.92,5.29 0.01,0.01 0.01,0.02 0.02,0.02 1.41,1.49 3.56,4.14 3.55,5.99 -0.01,2.33 -2.1,4.38 -3.53,5.88 0,0.01 -0.01,0.02 -0.01,0.03 -1.18,1.44 -1.92,3.26 -1.93,5.29 -0.02,4.84 3.6,8.65 8.3,8.72 4.83,0.08 8.66,-3.5 8.81,-8.23 0.07,-2.4 -0.76,-4.53 -2.19,-6.11 -0.01,-0.01 -0.01,-0.02 -0.02,-0.03 -1.27,-1.49 -3.29,-3.41 -3.28,-5.55 -0.03,-2.07 1.76,-3.94 3.05,-5.41 1.57,-1.58 2.53,-3.79 2.51,-6.29z%22/%3E%3Cpath class=%22fil0%22 d=%22M9.2 91.95c0.04,-4.82 -3.95,-8.78 -8.77,-8.7 -0.15,0.01 -0.29,0.02 -0.43,0.03l0 17.24c0.19,0.01 0.38,0.02 0.58,0.02 4.64,-0.04 8.58,-3.96 8.62,-8.59z%22/%3E%3Cpath class=%22fil0%22 d=%22M23.01 37.62c-4.75,0.08 -8.42,3.87 -8.4,8.68 0.02,4.67 3.97,8.64 8.55,8.6 4.64,-0.03 8.58,-3.96 8.62,-8.59 0.04,-4.82 -3.95,-8.78 -8.77,-8.69z%22/%3E%3Cpath class=%22fil0%22 d=%22M8.58 46.31c0.05,-4.76 -3.84,-8.67 -8.58,-8.69l0 17.28c4.63,-0.05 8.54,-3.97 8.58,-8.59z%22/%3E%3Cpath class=%22fil0%22 d=%22M6.17 75.45c0.01,-0.01 0.02,-0.01 0.03,-0.02 1.49,-1.27 3.41,-3.29 5.56,-3.28 2.18,-0.03 4.14,1.97 5.65,3.26 0.01,0 0.02,0.01 0.03,0.02 1.58,1.42 3.71,2.26 6.11,2.18 4.73,-0.15 8.31,-3.97 8.23,-8.8 -0.08,-4.7 -3.88,-8.32 -8.73,-8.3 -2.03,0.01 -3.84,0.74 -5.28,1.92 -0.01,0.01 -0.02,0.01 -0.03,0.02 -1.48,1.41 -4.13,3.56 -5.98,3.55 -2.33,-0.01 -4.39,-2.1 -5.89,-3.53 -0.01,0 -0.02,-0.01 -0.02,-0.01 -1.44,-1.18 -3.26,-1.92 -5.29,-1.93 -0.19,0 -0.37,0.02 -0.56,0.03l0 17.07c0.02,0 0.04,0.01 0.07,0.01 2.4,0.07 4.52,-0.76 6.1,-2.19z%22/%3E%3Cpath class=%22fil0%22 d=%22M91.29 146.1c4.64,-0.04 8.57,-3.96 8.61,-8.59 0.05,-4.82 -3.95,-8.78 -8.77,-8.7 -4.75,0.08 -8.42,3.87 -8.4,8.69 0.03,4.67 3.97,8.64 8.56,8.6z%22/%3E%3Cpath class=%22fil0%22 d=%22M53.04 132.39c-0.1,-0.13 -0.18,-0.27 -0.28,-0.39 0,-0.01 -0.01,-0.02 -0.01,-0.03 -1.41,-1.48 -2.91,-4.13 -2.9,-5.98 0.01,-2.33 1.45,-4.39 2.87,-5.89 0.01,-0.01 0.01,-0.02 0.02,-0.02 1.18,-1.44 1.91,-3.26 1.92,-5.29 0.03,-4.85 -3.6,-8.65 -8.3,-8.73 -4.83,-0.08 -8.65,3.5 -8.8,8.24 -0.08,2.4 0.76,4.52 2.19,6.1 0,0.01 0.01,0.02 0.01,0.03 1.27,1.49 2.64,3.41 2.63,5.56 0.03,1.91 -1.01,3.64 -2.14,5.06 -1.52,1.33 -3.93,2.65 -5.66,2.64 -1.96,-0.01 -3.73,-1.03 -5.13,-2.2 -1.61,-1.68 -3.87,-2.72 -6.36,-2.68 -2.29,0.04 -4.33,0.95 -5.82,2.41 -0.02,0.02 -0.05,0.04 -0.07,0.07 -0.08,0.07 -0.15,0.15 -0.22,0.23 -1.42,1.47 -2.29,3.44 -2.33,5.66 -0.05,3.37 1.67,6.24 4.33,7.73 1.27,0.76 2.73,1.2 4.26,1.19 2.14,-0.02 4.13,-0.87 5.65,-2.22 0.03,-0.03 0.07,-0.06 0.1,-0.08 0.01,-0.01 0.02,-0.02 0.03,-0.02 1.49,-1.27 3.41,-2.64 5.56,-2.63 2.18,-0.03 4.14,1.32 5.65,2.6 0.01,0.01 0.02,0.01 0.03,0.02 0.69,0.63 1.51,1.11 2.39,1.48 1.13,0.5 2.38,0.78 3.73,0.76 4.7,-0.08 8.32,-3.88 8.3,-8.72 -0.01,-1.79 -0.6,-3.4 -1.55,-4.75 -0.03,-0.05 -0.07,-0.1 -0.1,-0.15z%22/%3E%3Cpath class=%22fil0%22 d=%22M85.57 166.62c1.57,1.43 3.7,2.27 6.1,2.19 4.73,-0.15 8.31,-3.97 8.23,-8.8 -0.07,-4.71 -3.88,-8.33 -8.72,-8.31 -2.03,0.01 -3.85,0.75 -5.29,1.93 -0.01,0.01 -0.02,0.01 -0.03,0.02 -1.48,1.41 -4.13,3.56 -5.98,3.55 -2.33,-0.01 -4.39,-2.1 -5.89,-3.53 0,-0.01 -0.01,-0.01 -0.02,-0.01 -1.44,-1.19 -3.26,-1.92 -5.29,-1.93 -4.84,-0.02 -8.65,3.6 -8.73,8.3 -0.07,4.83 3.5,8.66 8.24,8.8 2.4,0.08 4.52,-0.76 6.1,-2.18 0.01,-0.01 0.03,-0.02 0.04,-0.02 1.48,-1.27 3.4,-3.29 5.55,-3.29 2.18,-0.02 4.14,1.98 5.65,3.26 0.01,0.01 0.03,0.02 0.04,0.02z%22/%3E%3Cpath class=%22fil0%22 d=%22M6.26 166.65c0.01,-0.01 0.02,-0.02 0.03,-0.02 1.49,-1.27 3.41,-3.29 5.55,-3.29 2.19,-0.02 4.15,1.98 5.66,3.26 0,0.01 0.01,0.01 0.02,0.02 1.54,1.43 3.56,2.31 5.73,2.3 1.19,-0.01 2.34,-0.28 3.38,-0.75 2.54,-1.04 4.42,-3.27 5.02,-6.05 0.01,-0.06 0.03,-0.12 0.04,-0.18 0.03,-0.14 0.05,-0.29 0.07,-0.44 0.03,-0.17 0.05,-0.33 0.07,-0.5 0.01,-0.1 0.01,-0.21 0.02,-0.31 0,-0.12 0.02,-0.24 0.02,-0.36 0,-0.05 -0.01,-0.1 -0.01,-0.15 0,-0.06 0.01,-0.11 0.01,-0.17 -0.01,-0.19 -0.02,-0.38 -0.04,-0.57 0,0 0,-0.01 0,-0.01 -0.22,-2.64 -1.62,-4.9 -3.72,-6.27 -1.42,-0.99 -3.15,-1.56 -5.01,-1.53 -2.59,0.04 -4.85,1.19 -6.37,3 -1.49,1.25 -3.43,2.58 -4.89,2.57 -2.32,-0.01 -4.38,-2.1 -5.88,-3.53 -0.01,-0.01 -0.02,-0.01 -0.03,-0.01 -1.44,-1.19 -3.25,-1.92 -5.28,-1.93 -0.22,0 -0.44,0.01 -0.65,0.03l0 17.06c0.05,0 0.1,0.01 0.15,0.01 2.4,0.08 4.53,-0.76 6.11,-2.18z%22/%3E%3Cpath class=%22fil0%22 d=%22M9.14 137.9c0.08,-2.4 -0.76,-4.53 -2.19,-6.11 0,-0.01 -0.01,-0.02 -0.01,-0.03 -1.27,-1.49 -3.29,-3.41 -3.29,-5.55 -0.03,-2.19 1.97,-4.15 3.26,-5.65 0.01,-0.01 0.01,-0.03 0.02,-0.04 1.43,-1.58 2.26,-3.7 2.19,-6.1 -0.15,-4.74 -3.98,-8.31 -8.81,-8.24 -0.1,0.01 -0.2,0.02 -0.31,0.03l0 39.9c0.11,0.01 0.22,0.02 0.34,0.02 4.83,0.08 8.65,-3.5 8.8,-8.23z%22/%3E%3Cpath class=%22fil0%22 d=%22M177.02 6.43c0,0.01 0.01,0.03 0.02,0.03 1.26,1.49 3.28,3.41 3.28,5.56 0.03,2.18 -1.97,4.14 -3.26,5.65 -0.01,0.01 -0.01,0.02 -0.02,0.03 -1.43,1.58 -2.26,3.71 -2.19,6.11 0.14,4.46 3.54,7.89 7.98,8.21l0 -32.02 -7.97 0c-0.01,0.11 -0.03,0.22 -0.03,0.33 -0.08,2.4 0.76,4.52 2.19,6.1z%22/%3E%3Cpath class=%22fil0%22 d=%22M174.85 91.94c0.02,4.47 3.64,8.29 7.98,8.58l0 -17.24c-4.55,0.3 -8,3.99 -7.98,8.66z%22/%3E%3Cpath class=%22fil0%22 d=%22M174.66 68.83c-0.08,4.81 3.46,8.62 8.17,8.8l0 -17.07c-4.58,0.24 -8.1,3.75 -8.17,8.27z%22/%3E%3Cpath class=%22fil0%22 d=%22M174.75 160.03c-0.08,4.78 3.42,8.57 8.08,8.79l0 -17.06c-4.53,0.28 -8.01,3.78 -8.08,8.27z%22/%3E%3Cpath class=%22fil0%22 d=%22M16.79 97.38c1.41,1.48 3.57,4.13 3.56,5.98 -0.01,2.33 -2.11,4.39 -3.53,5.88 -0.01,0.01 -0.01,0.02 -0.02,0.03 -1.18,1.44 -1.91,3.26 -1.92,5.29 -0.03,4.84 3.6,8.65 8.3,8.72 4.83,0.08 8.65,-3.49 8.8,-8.23 0.08,-2.4 -0.76,-4.53 -2.19,-6.1 0,-0.01 -0.01,-0.03 -0.01,-0.04 -1.27,-1.48 -3.29,-3.4 -3.29,-5.55 -0.02,-2.18 1.97,-4.14 3.26,-5.65 0.01,-0.01 0.01,-0.03 0.02,-0.04 1.43,-1.57 2.26,-3.7 2.19,-6.1 -0.15,-4.73 -3.97,-8.31 -8.81,-8.23 -4.7,0.07 -8.32,3.88 -8.3,8.72 0.01,2.03 0.75,3.85 1.93,5.29 0,0.01 0.01,0.02 0.01,0.03z%22/%3E%3C/g%3E%3C/svg%3E ") repeat;
  mask: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 xml:space=%22preserve%22 width=%221181px%22 height=%221181px%22 version=%221.1%22 style=%22shape-rendering:geometricPrecision; text-rendering:geometricPrecision; image-rendering:optimizeQuality; fill-rule:evenodd; clip-rule:evenodd%22 viewBox=%220 0 182.83 182.83%22 xmlns:xlink=%22http://www.w3.org/1999/xlink%22 xmlns:xodm=%22http://www.corel.com/coreldraw/odm/2003%22%3E%3Cdefs%3E%3Cstyle type=%22text/css%22%3E%3C![CDATA[ .fil0 %7Bfill:%23F0F0F0%7D ]]%3E%3C/style%3E%3C/defs%3E%3Cg id=%22%D0%A1%D0%BB%D0%BE%D0%B9_x0020_1%22%3E%3Cmetadata id=%22CorelCorpID_0Corel-Layer%22/%3E%3Cpath class=%22fil0%22 d=%22M91.18 32.16c4.64,-0.04 8.58,-3.96 8.62,-8.59 0.04,-4.82 -3.95,-8.78 -8.77,-8.7 -4.75,0.08 -8.42,3.87 -8.4,8.69 0.02,4.67 3.97,8.64 8.55,8.6z%22/%3E%3Cpath class=%22fil0%22 d=%22M62.23 6.43c0,0.01 0.01,0.03 0.01,0.03 1.27,1.49 3.29,3.41 3.29,5.56 0.03,2.18 -1.97,4.14 -3.26,5.65 -0.01,0.01 -0.01,0.02 -0.02,0.03 -1.43,1.58 -2.26,3.71 -2.19,6.11 0.15,4.73 3.98,8.31 8.81,8.23 4.7,-0.07 8.32,-3.88 8.3,-8.72 -0.01,-2.03 -0.75,-3.85 -1.93,-5.29 0,-0.01 -0.01,-0.02 -0.01,-0.03 -1.41,-1.48 -3.57,-4.13 -3.56,-5.98 0.01,-2.33 2.11,-4.39 3.53,-5.89 0.01,0 0.01,-0.01 0.02,-0.02 1.18,-1.44 1.91,-3.26 1.92,-5.29 0,-0.28 -0.01,-0.55 -0.03,-0.82l-17.05 0c0,0.11 -0.02,0.22 -0.02,0.33 -0.08,2.4 0.76,4.52 2.19,6.1z%22/%3E%3Cpath class=%22fil0%22 d=%22M23.15 32.16c4.64,-0.04 8.57,-3.96 8.61,-8.59 0.05,-4.82 -3.95,-8.78 -8.77,-8.7 -4.75,0.08 -8.42,3.87 -8.39,8.69 0.02,4.67 3.96,8.64 8.55,8.6z%22/%3E%3Cpath class=%22fil0%22 d=%22M136.99 9.34c4.64,-0.04 8.58,-3.96 8.62,-8.59 0,-0.26 -0.02,-0.5 -0.04,-0.75l-17.1 0c-0.02,0.24 -0.04,0.49 -0.03,0.73 0.02,4.67 3.96,8.64 8.55,8.61z%22/%3E%3Cpath class=%22fil0%22 d=%22M136.84 174.87c-4.51,0.08 -8.04,3.5 -8.37,7.96l17.1 0c-0.35,-4.48 -4.17,-8.03 -8.73,-7.96z%22/%3E%3Cpath class=%22fil0%22 d=%22M160.18 8.64c4.64,-0.03 8.58,-3.96 8.62,-8.58 0,-0.02 0,-0.04 0,-0.06l-17.17 0c0,0.01 0,0.03 0,0.04 0.02,4.67 3.97,8.64 8.55,8.6z%22/%3E%3Cpath class=%22fil0%22 d=%22M160.18 31.81c4.64,-0.04 8.58,-3.97 8.62,-8.59 0.04,-4.83 -3.95,-8.79 -8.77,-8.7 -4.76,0.08 -8.42,3.87 -8.4,8.68 0.02,4.67 3.97,8.64 8.55,8.61z%22/%3E%3Cpath class=%22fil0%22 d=%22M165.1 175.75c-0.99,-1.31 -1.86,-2.81 -1.85,-3.99 0.01,-2.33 2.1,-4.38 3.53,-5.88 0,-0.01 0.01,-0.02 0.01,-0.03 1.18,-1.44 1.92,-3.26 1.93,-5.29 0.02,-4.84 -3.6,-8.65 -8.3,-8.72 -4.83,-0.08 -8.66,3.5 -8.81,8.23 -0.07,2.4 0.76,4.53 2.19,6.11 0.01,0.01 0.01,0.02 0.02,0.03 1.27,1.49 3.29,3.41 3.28,5.55 0.02,1.41 -0.81,2.72 -1.74,3.89 -2.27,1.53 -3.73,4.15 -3.73,7.18l17.17 0c0,-2.92 -1.47,-5.51 -3.7,-7.08z%22/%3E%3Cpath class=%22fil0%22 d=%22M113.84 151.63c-4.76,0.08 -8.42,3.87 -8.4,8.68 0.02,4.67 3.96,8.64 8.55,8.61 4.64,-0.04 8.58,-3.97 8.62,-8.59 0.04,-4.82 -3.95,-8.79 -8.77,-8.7z%22/%3E%3Cpath class=%22fil0%22 d=%22M22.63 9.25c2.4,0.08 4.53,-0.76 6.11,-2.18 0.01,-0.01 0.02,-0.02 0.03,-0.02 1.49,-1.27 3.41,-3.29 5.55,-3.29 2.19,-0.02 4.15,1.98 5.66,3.26 0,0.01 0.01,0.01 0.02,0.02 1.54,1.43 3.56,2.31 5.73,2.3 1.19,-0.01 2.34,-0.28 3.38,-0.75 2.54,-1.04 4.41,-3.27 5.02,-6.05 0.01,-0.06 0.03,-0.12 0.04,-0.17 0.03,-0.15 0.05,-0.3 0.07,-0.45 0.03,-0.17 0.05,-0.33 0.07,-0.5 0.01,-0.1 0.01,-0.21 0.02,-0.31 0,-0.12 0.02,-0.24 0.02,-0.36 0,-0.05 -0.01,-0.1 -0.01,-0.15 0,-0.06 0.01,-0.11 0.01,-0.17 -0.01,-0.15 -0.02,-0.29 -0.03,-0.43l-39.89 0c-0.01,0.15 -0.03,0.3 -0.03,0.45 -0.08,4.83 3.5,8.66 8.23,8.8z%22/%3E%3Cpath class=%22fil0%22 d=%22M39.27 28.9c1.41,1.49 3.57,4.14 3.56,5.99 -0.01,2.33 -2.11,4.38 -3.53,5.88 -0.01,0.01 -0.01,0.02 -0.02,0.03 -1.18,1.44 -1.91,3.26 -1.92,5.29 -0.03,4.84 3.6,8.65 8.3,8.72 4.83,0.08 8.65,-3.5 8.8,-8.23 0.08,-2.4 -0.76,-4.53 -2.19,-6.11 0,-0.01 -0.01,-0.02 -0.01,-0.03 -1.27,-1.49 -3.29,-3.41 -3.29,-5.55 -0.03,-2.19 1.97,-4.14 3.26,-5.65 0.01,-0.01 0.01,-0.03 0.02,-0.04 1.43,-1.58 2.26,-3.7 2.19,-6.1 -0.15,-4.74 -3.98,-8.31 -8.81,-8.24 -4.7,0.08 -8.32,3.89 -8.3,8.73 0.01,2.03 0.75,3.85 1.93,5.29 0,0.01 0.01,0.02 0.01,0.02z%22/%3E%3Cpath class=%22fil0%22 d=%22M9.13 23.32c-0.01,-2.03 -0.74,-3.85 -1.92,-5.29 -0.01,-0.01 -0.01,-0.02 -0.02,-0.03 -1.41,-1.48 -3.56,-4.13 -3.55,-5.98 0.01,-2.33 2.1,-4.39 3.53,-5.89 0,0 0.01,-0.01 0.01,-0.02 1.18,-1.44 1.92,-3.26 1.93,-5.29 0,-0.28 -0.01,-0.55 -0.04,-0.82l-9.07 0 0 32.02c0.27,0.02 0.55,0.03 0.83,0.02 4.7,-0.07 8.33,-3.88 8.3,-8.72z%22/%3E%3Cpath class=%22fil0%22 d=%22M68.84 174.92c-4.72,-0.08 -8.46,3.34 -8.78,7.91l17.05 0c-0.37,-4.45 -3.83,-7.84 -8.27,-7.91z%22/%3E%3Cpath class=%22fil0%22 d=%22M45.62 174.95c-2.03,0.01 -3.85,0.75 -5.29,1.93 -0.01,0 -0.01,0.01 -0.02,0.01 -1.49,1.41 -4.14,3.57 -5.99,3.56 -2.33,-0.01 -4.38,-2.11 -5.88,-3.53 -0.01,-0.01 -0.02,-0.01 -0.03,-0.02 -1.44,-1.18 -3.25,-1.91 -5.29,-1.92 -4.68,-0.03 -8.39,3.37 -8.69,7.85l39.89 0c-0.3,-4.49 -4.01,-7.9 -8.7,-7.88z%22/%3E%3Cpath class=%22fil0%22 d=%22M0.81 174.92c-0.28,0 -0.54,0.01 -0.81,0.03l0 7.88 9.07 0c-0.36,-4.45 -3.83,-7.84 -8.26,-7.91z%22/%3E%3Cpath class=%22fil0%22 d=%22M174.86 182.83l7.97 0 0 -7.88c-4.34,0.3 -7.68,3.57 -7.97,7.88z%22/%3E%3Cpath class=%22fil0%22 d=%22M105.3 69.11c0,0.04 0.01,0.08 0.01,0.12 0,0.05 -0.01,0.09 -0.01,0.14 0.06,3.25 1.9,5.99 4.64,7.36 1.18,0.64 2.52,1 3.91,0.99 0.7,-0.01 1.38,-0.11 2.03,-0.28 0.09,-0.02 0.18,-0.05 0.27,-0.07 0.1,-0.03 0.19,-0.05 0.28,-0.08 0.84,-0.27 1.63,-0.67 2.34,-1.17 0.05,-0.03 0.1,-0.07 0.15,-0.1 0.13,-0.1 0.27,-0.18 0.4,-0.28 0.01,0 0.01,-0.01 0.02,-0.01 1.48,-1.41 4.14,-2.91 5.99,-2.9 2.33,0.01 4.38,1.45 5.88,2.87 0.01,0.01 0.02,0.01 0.03,0.02 1.44,1.18 3.25,1.91 5.28,1.92 4.85,0.03 8.65,-3.6 8.73,-8.3 0.08,-4.83 -3.5,-8.65 -8.23,-8.8 -2.4,-0.08 -4.53,0.76 -6.11,2.19 -0.01,0 -0.02,0.01 -0.03,0.01 -1.49,1.27 -3.41,2.64 -5.55,2.63 -1.92,0.03 -3.65,-1.01 -5.07,-2.14 -1.33,-1.52 -2.65,-3.93 -2.64,-5.66 0.01,-2.33 1.45,-4.39 2.87,-5.89 0.01,-0.01 0.01,-0.02 0.02,-0.03 1.18,-1.43 1.92,-3.25 1.93,-5.28 0.02,-4.85 -3.6,-8.65 -8.31,-8.73 -4.83,-0.08 -8.65,3.5 -8.8,8.24 -0.07,2.39 0.76,4.52 2.19,6.1 0,0.01 0.01,0.02 0.02,0.03 1.27,1.49 2.63,3.41 2.63,5.56 0.02,2.02 -1.13,3.84 -2.32,5.3 -1.59,1.57 -2.56,3.77 -2.55,6.24z%22/%3E%3Cpath class=%22fil0%22 d=%22M143.07 131.32c-0.69,-0.62 -1.51,-1.11 -2.38,-1.48 -1.14,-0.49 -2.39,-0.78 -3.74,-0.76 -4.7,0.08 -8.32,3.89 -8.3,8.73 0.01,1.79 0.61,3.4 1.55,4.74 0.03,0.05 0.07,0.1 0.11,0.15 0.09,0.13 0.17,0.27 0.27,0.4 0,0.01 0.01,0.01 0.01,0.02 1.41,1.49 2.91,4.14 2.9,5.99 -0.01,2.33 -1.45,4.38 -2.87,5.88 -0.01,0.01 -0.01,0.02 -0.02,0.03 -1.18,1.44 -1.91,3.25 -1.92,5.29 -0.03,4.84 3.6,8.65 8.3,8.72 4.83,0.08 8.65,-3.5 8.8,-8.23 0.08,-2.4 -0.76,-4.53 -2.19,-6.11 0,-0.01 -0.01,-0.02 -0.01,-0.03 -1.27,-1.49 -2.64,-3.41 -2.63,-5.55 -0.03,-1.92 1.01,-3.65 2.14,-5.07 1.52,-1.33 3.93,-2.65 5.66,-2.64 2.33,0.01 4.39,1.45 5.89,2.88 0.01,0 0.02,0.01 0.03,0.01 1.43,1.18 3.25,1.92 5.28,1.93 4.85,0.02 8.65,-3.6 8.73,-8.31 0.08,-4.83 -3.5,-8.65 -8.24,-8.8 -2.39,-0.07 -4.52,0.76 -6.1,2.19 -0.01,0.01 -0.02,0.01 -0.03,0.02 -1.49,1.27 -3.41,2.63 -5.56,2.63 -2.18,0.02 -4.14,-1.32 -5.65,-2.61 -0.01,0 -0.02,-0.01 -0.03,-0.02z%22/%3E%3Cpath class=%22fil0%22 d=%22M176.06 40.86c-1.26,0.92 -2.74,1.69 -4.35,1.68 -2.18,0.03 -4.14,-1.31 -5.65,-2.6 -0.01,-0.01 -0.03,-0.01 -0.04,-0.02 -0.69,-0.63 -1.5,-1.11 -2.38,-1.48 -1.13,-0.49 -2.38,-0.78 -3.73,-0.76 -4.7,0.08 -8.32,3.88 -8.3,8.73 0.01,1.78 0.6,3.39 1.54,4.74 0.04,0.05 0.07,0.1 0.11,0.15 0.09,0.13 0.17,0.27 0.27,0.39 0.01,0.01 0.01,0.02 0.02,0.03 1.41,1.48 2.91,4.13 2.9,5.98 -0.01,2.33 -1.45,4.39 -2.88,5.89 0,0.01 -0.01,0.02 -0.01,0.02 -1.18,1.44 -1.92,3.26 -1.93,5.29 -0.02,4.84 3.6,8.65 8.3,8.73 4.84,0.08 8.66,-3.5 8.81,-8.24 0.07,-2.39 -0.76,-4.52 -2.19,-6.1 -0.01,-0.01 -0.01,-0.02 -0.02,-0.03 -1.27,-1.49 -2.63,-3.41 -2.63,-5.56 -0.02,-1.91 1.02,-3.64 2.14,-5.06 1.52,-1.33 3.93,-2.65 5.67,-2.64 1.68,0.01 3.22,0.76 4.51,1.72 1.59,1.94 3.98,3.21 6.57,3.18 0.01,0 0.03,0 0.04,0l0 -17.28c-0.07,0 -0.13,-0.01 -0.19,0 -2.7,0.04 -5.05,1.29 -6.58,3.24z%22/%3E%3Cpath class=%22fil0%22 d=%22M90.76 9.18c2.39,0.08 4.52,-0.76 6.1,-2.18 0.01,-0.01 0.02,-0.02 0.03,-0.02 1.49,-1.27 3.41,-2.63 5.56,-2.63 1.91,-0.03 3.64,1.02 5.06,2.14 1.33,1.52 2.65,3.93 2.64,5.67 -0.01,2.33 -1.45,4.38 -2.87,5.88 -0.01,0.01 -0.01,0.02 -0.02,0.03 -1.18,1.44 -1.91,3.25 -1.92,5.29 -0.03,4.84 3.6,8.64 8.3,8.72 4.83,0.08 8.65,-3.5 8.8,-8.23 0.08,-2.4 -0.76,-4.53 -2.19,-6.11 0,-0.01 -0.01,-0.02 -0.01,-0.03 -1.27,-1.49 -2.64,-3.41 -2.63,-5.55 -0.03,-2.19 1.31,-4.15 2.6,-5.66 0.01,-0.01 0.01,-0.02 0.02,-0.03 0.63,-0.69 1.11,-1.5 1.48,-2.38 0.5,-1.13 0.78,-2.39 0.76,-3.73 0,-0.12 -0.02,-0.24 -0.02,-0.36l-39.9 0c-0.01,0.13 -0.03,0.25 -0.03,0.38 -0.08,4.83 3.5,8.66 8.24,8.8z%22/%3E%3Cpath class=%22fil0%22 d=%22M113.74 174.88c-1.79,0.01 -3.39,0.6 -4.74,1.55 -0.05,0.03 -0.1,0.07 -0.15,0.1 -0.13,0.1 -0.27,0.18 -0.39,0.28 -0.01,0 -0.02,0.01 -0.03,0.01 -1.48,1.41 -4.13,2.91 -5.98,2.9 -2.33,-0.01 -4.39,-1.45 -5.89,-2.87 -0.01,-0.01 -0.02,-0.01 -0.03,-0.02 -1.43,-1.18 -3.25,-1.91 -5.28,-1.92 -4.71,-0.03 -8.43,3.4 -8.7,7.92l39.9 0c-0.26,-4.53 -3.99,-7.97 -8.71,-7.95z%22/%3E%3Cpath class=%22fil0%22 d=%22M130.37 108.9c-1.42,1.58 -2.26,3.71 -2.18,6.1 0.14,4.74 3.97,8.32 8.8,8.24 4.7,-0.08 8.32,-3.88 8.3,-8.73 -0.01,-2.03 -0.74,-3.84 -1.93,-5.28 0,-0.01 0,-0.02 -0.01,-0.03 -1.41,-1.48 -3.56,-4.13 -3.55,-5.98 0.01,-2.33 2.1,-4.39 3.53,-5.89 0,-0.01 0.01,-0.02 0.01,-0.03 1.18,-1.43 1.92,-3.25 1.93,-5.28 0.02,-4.84 -3.6,-8.65 -8.31,-8.73 -4.83,-0.08 -8.65,3.5 -8.8,8.24 -0.07,2.4 0.76,4.52 2.19,6.1 0.01,0.01 0.01,0.02 0.02,0.03 1.27,1.49 3.28,3.41 3.28,5.56 0.03,2.18 -1.97,4.14 -3.26,5.65 0,0.01 -0.01,0.02 -0.02,0.03z%22/%3E%3Cpath class=%22fil0%22 d=%22M177.61 108.17c-0.01,0.01 -0.02,0.01 -0.02,0.02 -1.49,1.41 -4.14,3.56 -5.99,3.55 -1.72,-0.01 -3.3,-1.16 -4.61,-2.33 -0.04,-0.06 -0.08,-0.12 -0.13,-0.18 -0.01,-0.01 -0.01,-0.02 -0.02,-0.03 -1.41,-1.48 -3.56,-4.13 -3.55,-5.98 0.01,-2.33 2.1,-4.39 3.53,-5.89 0,-0.01 0.01,-0.02 0.01,-0.03 1.18,-1.43 1.92,-3.25 1.93,-5.28 0.02,-4.84 -3.6,-8.65 -8.3,-8.73 -4.83,-0.08 -8.66,3.5 -8.81,8.24 -0.07,2.4 0.76,4.52 2.19,6.1 0.01,0.01 0.01,0.02 0.02,0.03 1.27,1.49 3.29,3.41 3.28,5.56 0.03,2.18 -1.97,4.14 -3.26,5.65 0,0.01 -0.01,0.02 -0.01,0.03 -1.16,1.28 -1.91,2.91 -2.13,4.76 0,0.03 0,0.07 -0.01,0.1 -0.02,0.23 -0.04,0.45 -0.04,0.68 -0.01,0.04 -0.01,0.09 -0.01,0.13 0,0.05 0,0.1 0,0.14 0,0.1 -0.01,0.2 0,0.29 0,0.1 0.01,0.19 0.02,0.28 0.01,0.13 0.02,0.26 0.03,0.38 0.01,0.14 0.03,0.27 0.05,0.4 0.03,0.2 0.07,0.4 0.11,0.6 0.01,0.04 0.01,0.07 0.02,0.11 0.86,3.74 4.01,6.48 8,6.6 2.4,0.08 4.53,-0.76 6.11,-2.18 0.01,-0.01 0.02,-0.01 0.03,-0.02 1.49,-1.27 3.4,-3.29 5.55,-3.29 2.19,-0.02 4.15,1.98 5.66,3.26 0.01,0.01 0.02,0.02 0.03,0.02 0.29,0.26 0.6,0.5 0.93,0.72 1.09,1.39 2.12,3.05 2.11,4.33 -0.01,2.33 -2.1,4.38 -3.53,5.88 0,0.01 -0.01,0.02 -0.01,0.03 -1.18,1.44 -1.92,3.26 -1.93,5.29 -0.02,4.72 3.43,8.45 7.97,8.7l0 -39.9c-0.48,0.02 -0.95,0.07 -1.4,0.17 -1.44,0.27 -2.74,0.9 -3.82,1.79z%22/%3E%3Cpath class=%22fil0%22 d=%22M91.27 123.36c4.64,-0.04 8.58,-3.96 8.62,-8.59 0.04,-4.83 -3.95,-8.78 -8.77,-8.7 -4.76,0.08 -8.42,3.87 -8.4,8.68 0.02,4.67 3.96,8.64 8.55,8.61z%22/%3E%3Cpath class=%22fil0%22 d=%22M45.82 100.53c4.64,-0.03 8.57,-3.96 8.62,-8.59 0.04,-4.82 -3.96,-8.78 -8.77,-8.69 -4.76,0.08 -8.43,3.87 -8.4,8.68 0.02,4.67 3.96,8.64 8.55,8.6z%22/%3E%3Cpath class=%22fil0%22 d=%22M45.67 151.84c-4.76,0.08 -8.43,3.87 -8.4,8.68 0.02,4.67 3.96,8.64 8.55,8.61 4.64,-0.04 8.57,-3.97 8.62,-8.59 0.04,-4.83 -3.96,-8.78 -8.77,-8.7z%22/%3E%3Cpath class=%22fil0%22 d=%22M62.84 75.39c0.69,0.62 1.5,1.11 2.38,1.48 1.13,0.49 2.39,0.78 3.73,0.76 4.71,-0.08 8.33,-3.89 8.3,-8.73 0,-1.79 -0.6,-3.39 -1.54,-4.74 -0.04,-0.05 -0.07,-0.1 -0.11,-0.15 -0.09,-0.13 -0.17,-0.27 -0.27,-0.4 -0.01,0 -0.01,-0.01 -0.02,-0.02 -1.41,-1.48 -2.9,-4.13 -2.89,-5.98 0.01,-2.33 1.44,-4.39 2.87,-5.89 0.01,-0.01 0.01,-0.02 0.02,-0.03 1.18,-1.44 1.91,-3.25 1.92,-5.28 0.02,-4.85 -3.6,-8.65 -8.3,-8.73 -4.83,-0.08 -8.66,3.5 -8.8,8.24 -0.08,2.39 0.76,4.52 2.18,6.1 0.01,0.01 0.02,0.02 0.02,0.03 1.27,1.49 2.63,3.41 2.63,5.56 0.03,1.91 -1.02,3.64 -2.14,5.06 -1.52,1.33 -3.93,2.65 -5.67,2.64 -2.33,-0.01 -4.38,-1.45 -5.88,-2.87 -0.01,-0.01 -0.02,-0.01 -0.03,-0.02 -1.44,-1.18 -3.25,-1.92 -5.29,-1.92 -4.84,-0.03 -8.64,3.59 -8.72,8.3 -0.08,4.83 3.5,8.65 8.23,8.8 2.4,0.08 4.53,-0.76 6.11,-2.19 0.01,0 0.02,-0.01 0.03,-0.02 1.49,-1.27 3.41,-2.63 5.55,-2.62 2.19,-0.03 4.15,1.31 5.66,2.6 0.01,0.01 0.02,0.01 0.03,0.02z%22/%3E%3Cpath class=%22fil0%22 d=%22M90.76 100.45c2.39,0.08 4.52,-0.76 6.1,-2.19 0.01,0 0.02,-0.01 0.03,-0.01 1.49,-1.27 3.41,-3.29 5.56,-3.29 2.18,-0.02 4.14,1.97 5.65,3.26 0.01,0.01 0.02,0.01 0.02,0.02 1.54,1.42 3.56,2.31 5.73,2.29 1.19,-0.01 2.34,-0.27 3.38,-0.74 2.55,-1.05 4.42,-3.27 5.02,-6.05 0.02,-0.06 0.03,-0.12 0.04,-0.18 0.03,-0.14 0.05,-0.3 0.08,-0.45 0.02,-0.16 0.04,-0.33 0.06,-0.49 0.01,-0.11 0.01,-0.21 0.02,-0.32 0.01,-0.12 0.02,-0.23 0.02,-0.36 0,-0.05 -0.01,-0.09 -0.01,-0.14 0,-0.06 0.01,-0.12 0.01,-0.18 0,-0.19 -0.02,-0.37 -0.04,-0.56 0,0 0,-0.01 0,-0.01 -0.22,-2.65 -1.62,-4.9 -3.71,-6.28 -1.43,-0.98 -3.16,-1.56 -5.02,-1.52 -2.59,0.04 -4.84,1.19 -6.37,3 -1.49,1.25 -3.43,2.57 -4.88,2.57 -2.33,-0.01 -4.39,-2.1 -5.89,-3.53 -0.01,-0.01 -0.02,-0.01 -0.03,-0.02 -1.43,-1.18 -3.25,-1.91 -5.28,-1.92 -4.85,-0.03 -8.65,3.6 -8.73,8.3 -0.08,4.83 3.5,8.65 8.24,8.8z%22/%3E%3Cpath class=%22fil0%22 d=%22M84.55 51.84c1.41,1.48 3.57,4.13 3.56,5.99 -0.01,2.32 -2.1,4.38 -3.53,5.88 -0.01,0.01 -0.01,0.02 -0.02,0.03 -1.18,1.44 -1.91,3.25 -1.92,5.28 -0.02,4.85 3.6,8.65 8.3,8.73 4.83,0.08 8.66,-3.5 8.8,-8.23 0.08,-2.4 -0.76,-4.53 -2.18,-6.11 -0.01,-0.01 -0.02,-0.02 -0.02,-0.03 -1.27,-1.49 -3.29,-3.41 -3.29,-5.55 -0.02,-2.19 1.98,-4.15 3.26,-5.66 0.01,-0.01 0.01,-0.02 0.02,-0.03 1.43,-1.58 2.26,-3.71 2.19,-6.1 -0.15,-4.74 -3.97,-8.32 -8.8,-8.24 -4.71,0.08 -8.33,3.88 -8.31,8.73 0.01,2.03 0.75,3.85 1.93,5.28 0,0.01 0.01,0.02 0.01,0.03z%22/%3E%3Cpath class=%22fil0%22 d=%22M120.37 120.4c1.43,-1.58 2.26,-3.71 2.19,-6.1 -0.15,-4.74 -3.97,-8.32 -8.8,-8.24 -4.71,0.08 -8.33,3.88 -8.3,8.73 0,2.03 0.74,3.85 1.92,5.28 0.01,0.01 0.01,0.02 0.02,0.03 1.41,1.48 3.56,4.13 3.55,5.99 -0.01,2.32 -2.1,4.38 -3.53,5.88 -0.01,0.01 -0.01,0.02 -0.02,0.03 -1.18,1.43 -1.91,3.25 -1.92,5.28 -0.02,4.85 3.6,8.65 8.3,8.73 4.83,0.08 8.66,-3.5 8.8,-8.23 0.08,-2.4 -0.76,-4.53 -2.18,-6.11 -0.01,-0.01 -0.02,-0.02 -0.02,-0.03 -1.27,-1.49 -3.29,-3.41 -3.29,-5.55 -0.02,-2.19 1.98,-4.15 3.26,-5.66 0.01,-0.01 0.02,-0.02 0.02,-0.03z%22/%3E%3Cpath class=%22fil0%22 d=%22M130.39 28.99c1.42,1.49 3.57,4.14 3.56,5.99 -0.01,2.33 -2.1,4.38 -3.53,5.88 -0.01,0.01 -0.01,0.02 -0.02,0.03 -1.18,1.44 -1.91,3.26 -1.92,5.29 -0.02,4.84 3.6,8.65 8.3,8.72 4.83,0.08 8.66,-3.5 8.8,-8.23 0.08,-2.4 -0.76,-4.53 -2.18,-6.11 -0.01,-0.01 -0.02,-0.02 -0.02,-0.03 -1.27,-1.49 -3.29,-3.41 -3.29,-5.55 -0.02,-2.19 1.98,-4.15 3.26,-5.66 0.01,0 0.01,-0.02 0.02,-0.03 1.43,-1.58 2.26,-3.7 2.19,-6.1 -0.15,-4.74 -3.97,-8.31 -8.8,-8.24 -4.71,0.08 -8.33,3.89 -8.31,8.73 0.01,2.03 0.75,3.85 1.93,5.29 0,0.01 0.01,0.02 0.01,0.02z%22/%3E%3Cpath class=%22fil0%22 d=%22M77.25 114.51c0,-2.03 -0.74,-3.84 -1.92,-5.28 -0.01,-0.01 -0.01,-0.02 -0.02,-0.03 -1.41,-1.48 -3.56,-4.13 -3.55,-5.98 0.01,-2.33 2.1,-4.39 3.53,-5.89 0.01,-0.01 0.01,-0.02 0.02,-0.03 1.18,-1.43 1.91,-3.25 1.92,-5.28 0.02,-4.84 -3.6,-8.65 -8.3,-8.73 -4.83,-0.08 -8.66,3.5 -8.8,8.24 -0.08,2.4 0.76,4.52 2.18,6.1 0.01,0.01 0.02,0.02 0.02,0.03 1.27,1.49 3.29,3.41 3.29,5.56 0.02,2.07 -1.77,3.93 -3.06,5.41 -1.57,1.57 -2.52,3.79 -2.51,6.28 0.01,2.03 0.74,3.85 1.92,5.29 0.01,0.01 0.01,0.02 0.02,0.02 1.41,1.49 3.56,4.14 3.55,5.99 -0.01,2.33 -2.1,4.38 -3.53,5.88 0,0.01 -0.01,0.02 -0.01,0.03 -1.18,1.44 -1.92,3.26 -1.93,5.29 -0.02,4.84 3.6,8.65 8.3,8.72 4.83,0.08 8.66,-3.5 8.81,-8.23 0.07,-2.4 -0.76,-4.53 -2.19,-6.11 -0.01,-0.01 -0.01,-0.02 -0.02,-0.03 -1.27,-1.49 -3.29,-3.41 -3.28,-5.55 -0.03,-2.07 1.76,-3.94 3.05,-5.41 1.57,-1.58 2.53,-3.79 2.51,-6.29z%22/%3E%3Cpath class=%22fil0%22 d=%22M9.2 91.95c0.04,-4.82 -3.95,-8.78 -8.77,-8.7 -0.15,0.01 -0.29,0.02 -0.43,0.03l0 17.24c0.19,0.01 0.38,0.02 0.58,0.02 4.64,-0.04 8.58,-3.96 8.62,-8.59z%22/%3E%3Cpath class=%22fil0%22 d=%22M23.01 37.62c-4.75,0.08 -8.42,3.87 -8.4,8.68 0.02,4.67 3.97,8.64 8.55,8.6 4.64,-0.03 8.58,-3.96 8.62,-8.59 0.04,-4.82 -3.95,-8.78 -8.77,-8.69z%22/%3E%3Cpath class=%22fil0%22 d=%22M8.58 46.31c0.05,-4.76 -3.84,-8.67 -8.58,-8.69l0 17.28c4.63,-0.05 8.54,-3.97 8.58,-8.59z%22/%3E%3Cpath class=%22fil0%22 d=%22M6.17 75.45c0.01,-0.01 0.02,-0.01 0.03,-0.02 1.49,-1.27 3.41,-3.29 5.56,-3.28 2.18,-0.03 4.14,1.97 5.65,3.26 0.01,0 0.02,0.01 0.03,0.02 1.58,1.42 3.71,2.26 6.11,2.18 4.73,-0.15 8.31,-3.97 8.23,-8.8 -0.08,-4.7 -3.88,-8.32 -8.73,-8.3 -2.03,0.01 -3.84,0.74 -5.28,1.92 -0.01,0.01 -0.02,0.01 -0.03,0.02 -1.48,1.41 -4.13,3.56 -5.98,3.55 -2.33,-0.01 -4.39,-2.1 -5.89,-3.53 -0.01,0 -0.02,-0.01 -0.02,-0.01 -1.44,-1.18 -3.26,-1.92 -5.29,-1.93 -0.19,0 -0.37,0.02 -0.56,0.03l0 17.07c0.02,0 0.04,0.01 0.07,0.01 2.4,0.07 4.52,-0.76 6.1,-2.19z%22/%3E%3Cpath class=%22fil0%22 d=%22M91.29 146.1c4.64,-0.04 8.57,-3.96 8.61,-8.59 0.05,-4.82 -3.95,-8.78 -8.77,-8.7 -4.75,0.08 -8.42,3.87 -8.4,8.69 0.03,4.67 3.97,8.64 8.56,8.6z%22/%3E%3Cpath class=%22fil0%22 d=%22M53.04 132.39c-0.1,-0.13 -0.18,-0.27 -0.28,-0.39 0,-0.01 -0.01,-0.02 -0.01,-0.03 -1.41,-1.48 -2.91,-4.13 -2.9,-5.98 0.01,-2.33 1.45,-4.39 2.87,-5.89 0.01,-0.01 0.01,-0.02 0.02,-0.02 1.18,-1.44 1.91,-3.26 1.92,-5.29 0.03,-4.85 -3.6,-8.65 -8.3,-8.73 -4.83,-0.08 -8.65,3.5 -8.8,8.24 -0.08,2.4 0.76,4.52 2.19,6.1 0,0.01 0.01,0.02 0.01,0.03 1.27,1.49 2.64,3.41 2.63,5.56 0.03,1.91 -1.01,3.64 -2.14,5.06 -1.52,1.33 -3.93,2.65 -5.66,2.64 -1.96,-0.01 -3.73,-1.03 -5.13,-2.2 -1.61,-1.68 -3.87,-2.72 -6.36,-2.68 -2.29,0.04 -4.33,0.95 -5.82,2.41 -0.02,0.02 -0.05,0.04 -0.07,0.07 -0.08,0.07 -0.15,0.15 -0.22,0.23 -1.42,1.47 -2.29,3.44 -2.33,5.66 -0.05,3.37 1.67,6.24 4.33,7.73 1.27,0.76 2.73,1.2 4.26,1.19 2.14,-0.02 4.13,-0.87 5.65,-2.22 0.03,-0.03 0.07,-0.06 0.1,-0.08 0.01,-0.01 0.02,-0.02 0.03,-0.02 1.49,-1.27 3.41,-2.64 5.56,-2.63 2.18,-0.03 4.14,1.32 5.65,2.6 0.01,0.01 0.02,0.01 0.03,0.02 0.69,0.63 1.51,1.11 2.39,1.48 1.13,0.5 2.38,0.78 3.73,0.76 4.7,-0.08 8.32,-3.88 8.3,-8.72 -0.01,-1.79 -0.6,-3.4 -1.55,-4.75 -0.03,-0.05 -0.07,-0.1 -0.1,-0.15z%22/%3E%3Cpath class=%22fil0%22 d=%22M85.57 166.62c1.57,1.43 3.7,2.27 6.1,2.19 4.73,-0.15 8.31,-3.97 8.23,-8.8 -0.07,-4.71 -3.88,-8.33 -8.72,-8.31 -2.03,0.01 -3.85,0.75 -5.29,1.93 -0.01,0.01 -0.02,0.01 -0.03,0.02 -1.48,1.41 -4.13,3.56 -5.98,3.55 -2.33,-0.01 -4.39,-2.1 -5.89,-3.53 0,-0.01 -0.01,-0.01 -0.02,-0.01 -1.44,-1.19 -3.26,-1.92 -5.29,-1.93 -4.84,-0.02 -8.65,3.6 -8.73,8.3 -0.07,4.83 3.5,8.66 8.24,8.8 2.4,0.08 4.52,-0.76 6.1,-2.18 0.01,-0.01 0.03,-0.02 0.04,-0.02 1.48,-1.27 3.4,-3.29 5.55,-3.29 2.18,-0.02 4.14,1.98 5.65,3.26 0.01,0.01 0.03,0.02 0.04,0.02z%22/%3E%3Cpath class=%22fil0%22 d=%22M6.26 166.65c0.01,-0.01 0.02,-0.02 0.03,-0.02 1.49,-1.27 3.41,-3.29 5.55,-3.29 2.19,-0.02 4.15,1.98 5.66,3.26 0,0.01 0.01,0.01 0.02,0.02 1.54,1.43 3.56,2.31 5.73,2.3 1.19,-0.01 2.34,-0.28 3.38,-0.75 2.54,-1.04 4.42,-3.27 5.02,-6.05 0.01,-0.06 0.03,-0.12 0.04,-0.18 0.03,-0.14 0.05,-0.29 0.07,-0.44 0.03,-0.17 0.05,-0.33 0.07,-0.5 0.01,-0.1 0.01,-0.21 0.02,-0.31 0,-0.12 0.02,-0.24 0.02,-0.36 0,-0.05 -0.01,-0.1 -0.01,-0.15 0,-0.06 0.01,-0.11 0.01,-0.17 -0.01,-0.19 -0.02,-0.38 -0.04,-0.57 0,0 0,-0.01 0,-0.01 -0.22,-2.64 -1.62,-4.9 -3.72,-6.27 -1.42,-0.99 -3.15,-1.56 -5.01,-1.53 -2.59,0.04 -4.85,1.19 -6.37,3 -1.49,1.25 -3.43,2.58 -4.89,2.57 -2.32,-0.01 -4.38,-2.1 -5.88,-3.53 -0.01,-0.01 -0.02,-0.01 -0.03,-0.01 -1.44,-1.19 -3.25,-1.92 -5.28,-1.93 -0.22,0 -0.44,0.01 -0.65,0.03l0 17.06c0.05,0 0.1,0.01 0.15,0.01 2.4,0.08 4.53,-0.76 6.11,-2.18z%22/%3E%3Cpath class=%22fil0%22 d=%22M9.14 137.9c0.08,-2.4 -0.76,-4.53 -2.19,-6.11 0,-0.01 -0.01,-0.02 -0.01,-0.03 -1.27,-1.49 -3.29,-3.41 -3.29,-5.55 -0.03,-2.19 1.97,-4.15 3.26,-5.65 0.01,-0.01 0.01,-0.03 0.02,-0.04 1.43,-1.58 2.26,-3.7 2.19,-6.1 -0.15,-4.74 -3.98,-8.31 -8.81,-8.24 -0.1,0.01 -0.2,0.02 -0.31,0.03l0 39.9c0.11,0.01 0.22,0.02 0.34,0.02 4.83,0.08 8.65,-3.5 8.8,-8.23z%22/%3E%3Cpath class=%22fil0%22 d=%22M177.02 6.43c0,0.01 0.01,0.03 0.02,0.03 1.26,1.49 3.28,3.41 3.28,5.56 0.03,2.18 -1.97,4.14 -3.26,5.65 -0.01,0.01 -0.01,0.02 -0.02,0.03 -1.43,1.58 -2.26,3.71 -2.19,6.11 0.14,4.46 3.54,7.89 7.98,8.21l0 -32.02 -7.97 0c-0.01,0.11 -0.03,0.22 -0.03,0.33 -0.08,2.4 0.76,4.52 2.19,6.1z%22/%3E%3Cpath class=%22fil0%22 d=%22M174.85 91.94c0.02,4.47 3.64,8.29 7.98,8.58l0 -17.24c-4.55,0.3 -8,3.99 -7.98,8.66z%22/%3E%3Cpath class=%22fil0%22 d=%22M174.66 68.83c-0.08,4.81 3.46,8.62 8.17,8.8l0 -17.07c-4.58,0.24 -8.1,3.75 -8.17,8.27z%22/%3E%3Cpath class=%22fil0%22 d=%22M174.75 160.03c-0.08,4.78 3.42,8.57 8.08,8.79l0 -17.06c-4.53,0.28 -8.01,3.78 -8.08,8.27z%22/%3E%3Cpath class=%22fil0%22 d=%22M16.79 97.38c1.41,1.48 3.57,4.13 3.56,5.98 -0.01,2.33 -2.11,4.39 -3.53,5.88 -0.01,0.01 -0.01,0.02 -0.02,0.03 -1.18,1.44 -1.91,3.26 -1.92,5.29 -0.03,4.84 3.6,8.65 8.3,8.72 4.83,0.08 8.65,-3.49 8.8,-8.23 0.08,-2.4 -0.76,-4.53 -2.19,-6.1 0,-0.01 -0.01,-0.03 -0.01,-0.04 -1.27,-1.48 -3.29,-3.4 -3.29,-5.55 -0.02,-2.18 1.97,-4.14 3.26,-5.65 0.01,-0.01 0.01,-0.03 0.02,-0.04 1.43,-1.57 2.26,-3.7 2.19,-6.1 -0.15,-4.73 -3.97,-8.31 -8.81,-8.23 -4.7,0.07 -8.32,3.88 -8.3,8.72 0.01,2.03 0.75,3.85 1.93,5.29 0,0.01 0.01,0.02 0.01,0.03z%22/%3E%3C/g%3E%3C/svg%3E ") repeat;
  -webkit-mask-size: 430px 430px;
  mask-size: 430px 430px;
  mix-blend-mode: normal;
  opacity: 0.3;
}
.score__num {
  color: var(--c-navy);
  font-size: 52px;
  font-weight: 300;
  line-height: 1;
}
.score__count {
  order: 1;
  color: var(--c-navy);
  font-size: 14px;
  white-space: nowrap;
}
.score__stars {
  color: var(--c-berry);
  font-size: 20px;
  letter-spacing: 3px;
}

/* внутри блока площадок зазор свой, 5px — плашки читаются одной группой */
.platforms {
  grid-column: span 2;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 5px;
}

.platform {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-content: center;
  align-items: center;
  column-gap: 14px;
  row-gap: 2px;
  padding: 20px 24px 20px 52px;
  border-radius: var(--r-lg);
  background: var(--c-white);
  box-shadow: var(--sh-sm);
}
.platform__row {
  display: flex;
  align-items: center;
  gap: 12px;
  line-height: 1;
}
.platform__logo {
  grid-row: 1/3;
  width: 42px;
  height: 42px;
  object-fit: contain;
}

.review__src {
  width: 22px;
  height: 22px;
  object-fit: contain;
}

.platform__val {
  color: var(--c-navy);
  font-size: 32px;
  font-weight: 500;
}
.platform__stars {
  color: var(--c-berry);
  font-size: 20px;
  letter-spacing: 3px;
  white-space: nowrap;
}

/* Узкие карточки площадок (блок площадок уже 660px — на «Отзывах»,
   главной и странице врача это ноутбук до ~1250, у всех — около 900–1000):
   поле слева в 52px, логотип и звёзды не оставляли места, и пятая звезда
   уходила на вторую строку. Поджимаем только такие карточки — по ширине
   самого блока, а не окна; телефон (до 900) настроен отдельно ниже. */
@media (min-width: 901px) {
  .platforms {
    container-type: inline-size;
  }
  @container (max-width: 660px) {
    .platform {
      column-gap: 12px;
      padding: 18px 18px 18px 24px;
    }
    .platform__logo {
      width: 36px;
      height: 36px;
    }
    .platform__row {
      gap: 8px;
    }
    .platform__stars {
      font-size: 17px;
      letter-spacing: 2px;
    }
  }
}
/* подпись площадки — индиго логотипа, как прочие служебные строки;
   сдвиг = ширина логотипа (36) + зазор строки (14), чтобы она
   начиналась ровно под числом, а не под иконкой */
.platform__meta {
  color: #0F295D;
  font-size: var(--fs-2xs);
}

.filters {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin: 26px 0 22px;
}
.filters button {
  padding: 10px 28px;
  border: 1px solid transparent;
  border-radius: var(--r-pill);
  background: var(--c-white);
  color: var(--text-body);
  font-size: var(--fs-sm);
  box-shadow: var(--sh-sm);
  transition: background var(--t-base), color var(--t-base);
}
.filters button:hover {
  color: var(--c-berry);
}
.filters button.is-active {
  background: var(--c-berry);
  color: var(--text-invert);
  box-shadow: 0 4px 14px rgba(177, 59, 99, 0.26);
}

.reviews__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 22px;
}

/* карточка отзыва — стекло, как в списке на странице «Отзывы» */
.review {
  display: flex;
  flex-direction: column;
  padding: 22px 24px;
  border: 1px solid var(--c-white);
  border-radius: var(--r-lg);
  background: rgba(255, 255, 255, 0.38);
  -webkit-backdrop-filter: blur(14px) saturate(140%);
  backdrop-filter: blur(14px) saturate(140%);
  box-shadow: none;
}
.review__foot {
  display: flex;
  align-items: center;
  gap: 12px;
  min-height: 29px;
  margin-top: auto;
}
.review__foot .link-arrow {
  margin-left: auto;
}
.review__answer {
  display: inline-flex;
  align-items: center;
  gap: 3px;
  padding: 0;
  border: 0;
  background: none;
  color: var(--c-navy);
  font: inherit;
  font-size: var(--fs-xs);
  cursor: pointer;
}
.review__answer img {
  width: 20px;
  height: auto;
  margin: 0 5px 4px 0;
}
.review__answer::after {
  content: "";
  width: 9px;
  height: 9px;
  transition: transform var(--t-fast);
  background: url("data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 24 24%27 fill=%27none%27 stroke=%27%23202F5A%27 stroke-width=%273%27 stroke-linecap=%27round%27 stroke-linejoin=%27round%27%3E%3Cpath d=%27M6 9l6 6 6-6%27/%3E%3C/svg%3E") center/contain no-repeat;
}
.review__answer.is-open::after {
  transform: rotate(180deg);
}
.review__reply {
  display: grid;
  grid-template-rows: 0fr;
  overflow: hidden;
  margin-top: 0;
  padding: 0 14px;
  border-radius: 14px;
  background: rgba(255, 255, 255, 0);
  transition: grid-template-rows var(--t-base), margin-top var(--t-base), padding var(--t-base), background var(--t-base);
}
.review__reply.is-open {
  grid-template-rows: 1fr;
  margin-top: 12px;
  padding: 12px 14px;
  background: rgba(255, 255, 255, 0.55);
}
.review__reply > p {
  overflow: hidden;
}
.review__reply p {
  margin: 0;
  color: rgba(32, 47, 90, 0.72);
  font-size: var(--fs-xs);
  line-height: 1.5;
}
.review .link-arrow {
  color: var(--c-berry);
}
.review .link-arrow:hover {
  color: var(--c-berry-600);
}
.review__head {
  display: flex;
  align-items: flex-start;
  gap: 13px;
  margin-bottom: 14px;
}
.review__ava {
  width: 38px;
  height: 38px;
  flex: none;
  padding: 0;
  background: none;
  object-fit: contain;
}
.review__date {
  color: rgba(32, 47, 90, 0.4);
  font-size: var(--fs-2xs);
}
.review__name {
  color: var(--c-navy);
  font-size: var(--fs-sm);
  font-weight: 600;
}
.review__mark {
  display: inline-flex;
  align-items: baseline;
  gap: 5px;
  margin-left: 8px;
  color: var(--c-berry);
  font-size: var(--fs-2xs);
}
.review__mark img {
  align-self: center;
  flex: none;
}
.review__topic {
  color: var(--c-berry);
  font-size: var(--fs-2xs);
}
.review__src {
  margin-left: auto;
  flex: none;
}
.review__text {
  margin-bottom: 14px;
  color: var(--c-navy);
  font-size: var(--fs-xs);
  line-height: 1.55;
}

/* ---------- FAQ ---------- */
.faq {
  display: grid;
  gap: 2px;
}
.faq__item {
  border-radius: var(--r-md);
  overflow: hidden;
  background: rgba(255, 255, 255, 0.22);
  transition: background var(--t-base);
}
.faq__wrap {
  display: grid;
  grid-template-rows: 0fr;
  transition: grid-template-rows 0.5s cubic-bezier(0.33, 0, 0.12, 1);
}
.faq__item.is-open .faq__wrap {
  grid-template-rows: 1fr;
}
.faq__q {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  width: 100%;
  padding: 19px 26px;
  border: 0;
  background: transparent;
  color: var(--c-navy);
  font-size: var(--fs-base);
  font-weight: 500;
  text-align: left;
  transition: color var(--t-fast);
}
.faq__q:hover {
  color: var(--c-berry);
}
.faq__item.is-open {
  background: rgba(255, 255, 255, 0.42);
}
.faq__item.is-open .faq__q {
  color: var(--c-berry);
}
.faq__sign {
  flex: none;
  color: var(--c-navy);
  font-size: 18px;
}
.faq__item.is-open .faq__sign {
  color: var(--c-berry);
}
.faq__a {
  display: flex;
  gap: 22px;
  min-height: 0;
  overflow: hidden;
  padding-inline: 26px;
}
.faq__a > * {
  padding-block: 4px 26px;
}
.faq__a > * {
  opacity: 0;
  transform: translateY(-16px);
  transition: opacity 0.3s ease, transform 0.62s cubic-bezier(0.18, 1.5, 0.38, 1);
}
.faq__item.is-open .faq__a > * {
  opacity: 1;
  transform: none;
  transition-delay: 0.1s;
}
.faq__sign {
  transition: color var(--t-fast), transform 0.45s cubic-bezier(0.22, 1.4, 0.36, 1);
}
.faq__item.is-open .faq__sign {
  transform: rotate(180deg);
}

@media (prefers-reduced-motion: reduce) {
  .faq__wrap,
  .faq__a > *,
  .faq__sign {
    transition: none;
  }
}
/* в ответах без фото врача слева стоит знак клиники — как аватар отвечающего.
   Появляется вместе с текстом, с той же оттяжкой */
.faq__a::before {
  content: "";
  flex: none;
  align-self: flex-start;
  width: 22px;
  height: 28px;
  margin-top: 3px;
  background: url("/local/templates/dnk174_2026/css/../images/favicon.svg") center/contain no-repeat;
  opacity: 0;
  transform: translateY(-16px);
  transition: opacity 0.3s ease, transform 0.62s cubic-bezier(0.18, 1.5, 0.38, 1);
}
.faq__item.is-open .faq__a::before {
  opacity: 1;
  transform: none;
  transition-delay: 0.1s;
}
.faq__a:has(img)::before {
  content: none;
}
.faq__a img {
  width: 58px;
  height: 58px;
  flex: none;
  padding-block: 0;
  margin-top: 4px;
  margin-bottom: 26px;
  border-radius: 50%;
  object-fit: cover;
  object-position: 50% 4%;
  object-view-box: inset(1.4% 23.4% 55.8% 23.2%);
  background: rgba(255, 255, 255, 0.9);
}
.faq__a p {
  color: rgba(32, 47, 90, 0.6);
  font-size: var(--fs-sm);
  line-height: 1.6;
}

/* ---------- Другие врачи ---------- */
.peers {
  position: relative;
}
.peers__track {
  display: grid;
  grid-auto-flow: column;
  grid-auto-columns: calc((100% - 44px) / 3);
  gap: 22px;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  scrollbar-width: none;
  padding-bottom: 4px;
}
.peers__track::-webkit-scrollbar {
  display: none;
}

.peer {
  display: flex;
  gap: 18px;
  padding: 20px 24px 20px 20px;
  border-radius: var(--r-lg);
  background: var(--c-white);
  box-shadow: var(--sh-sm);
  scroll-snap-align: start;
  transition: box-shadow var(--t-base);
}
.peer:hover {
  box-shadow: var(--sh-md);
}
.peer img {
  width: 104px;
  height: 132px;
  flex: none;
  object-fit: contain;
}
.peer__name {
  color: var(--c-navy);
  font-size: var(--fs-sm);
  font-weight: 600;
}
.peer__degree {
  margin: 3px 0 4px;
  color: var(--c-berry);
  font-size: var(--fs-2xs);
}
.peer img {
  object-position: top;
}
.peer__spec {
  color: var(--c-sky-strong);
  font-size: var(--fs-2xs);
  line-height: 1.4;
}
.peer__rate {
  display: flex;
  align-items: center;
  gap: 6px;
  margin: 8px 0 2px;
  color: var(--c-navy);
  font-size: var(--fs-2xs);
}
.peer__rate span:first-child {
  color: var(--c-berry);
}
.peer__exp {
  color: var(--text-muted);
  font-size: var(--fs-2xs);
}
.peer .link-arrow {
  margin-top: 8px;
  color: var(--c-berry);
}

.peers__nav {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  display: grid;
  place-items: center;
  width: 38px;
  height: 38px;
  border: 0;
  border-radius: 50%;
  background: var(--c-white);
  color: var(--c-berry);
  box-shadow: var(--sh-md);
  transition: background var(--t-fast), color var(--t-fast);
}
.peers__nav:hover {
  background: var(--c-berry);
  color: var(--c-white);
}
.peers__nav--prev {
  left: -18px;
}
.peers__nav--next {
  right: -18px;
}
.peers__bar {
  width: 240px;
  height: 2px;
  margin: 26px auto 0;
  background: var(--c-grey-200);
}
.peers__bar span {
  display: block;
  width: 45%;
  height: 100%;
  background: var(--c-sky-strong);
}

/* ---------- Запись на приём ---------- */
.booking {
  position: relative;
  overflow: hidden;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 40px;
  padding: 40px 44px;
  border-radius: var(--r-xl);
  background: linear-gradient(105deg, var(--c-sky) 0%, var(--c-sky-strong) 100%);
  color: var(--c-navy);
}
.booking::before, .booking::after {
  content: "";
  position: absolute;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.14);
  pointer-events: none;
}
.booking::before {
  width: 420px;
  height: 420px;
  top: -186px;
  right: 236px;
}
.booking::after {
  width: 540px;
  height: 540px;
  top: -168px;
  right: -96px;
}
.booking > * {
  position: relative;
  z-index: 1;
}
.booking h2 {
  margin-bottom: 10px;
}
.booking__note {
  margin-bottom: 30px;
  color: var(--c-navy);
  font-size: var(--fs-sm);
  opacity: 0.85;
}
.booking__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
}
.booking h3 {
  margin-bottom: 16px;
  font-size: var(--fs-lg);
}

.slots li {
  display: flex;
  align-items: center;
  gap: 16px;
  padding: 13px 20px;
  border-radius: var(--r-md);
  background: rgba(255, 255, 255, 0.55);
  font-size: var(--fs-xs);
}
.slots li + li {
  margin-top: 10px;
}
.slots__day {
  flex: none;
  color: var(--c-navy);
  font-weight: 600;
}
.slots__where {
  color: var(--text-body);
}
.slots__times {
  margin-left: auto;
  color: var(--c-navy);
}
.slots li.is-online .slots__day {
  color: var(--c-berry);
}

/* ---------- Клиники / карта ---------- */
.clinics {
  position: relative;
  padding-top: 56px;
}
.clinics__head {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 20px;
  margin-bottom: 24px;
}
.clinics__head h2 {
  font-size: 24px;
  text-transform: uppercase;
  letter-spacing: 0.01em;
}
.clinics__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 22px;
}

/* карточки клиник — стекло: под ними карта, и сплошная заливка её глушила */
.clinic {
  padding: 22px 26px;
  border: 1px solid var(--c-white);
  border-radius: var(--r-lg);
  background: rgba(255, 255, 255, 0.55);
  -webkit-backdrop-filter: blur(16px) saturate(140%);
  backdrop-filter: blur(16px) saturate(140%);
}
.clinic__city {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 16px;
  color: var(--c-navy);
  font-size: var(--fs-base);
  font-weight: 600;
}
.clinic__city em {
  color: var(--c-berry);
  font-style: normal;
  font-weight: 400;
  font-size: var(--fs-xs);
}
.clinic__dot {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--c-berry);
}
.clinic__addr {
  padding-block: 11px;
  border-bottom: 1px dashed var(--border-hair);
}
.clinic__addr:last-of-type {
  border-bottom: 0;
}
.clinic__addr b {
  display: block;
  color: var(--c-navy);
  font-size: var(--fs-sm);
  font-weight: 500;
}
.clinic__addr span {
  color: var(--text-muted);
  font-size: var(--fs-2xs);
}
.clinic__more {
  display: inline-block;
  margin-top: 14px;
  color: var(--c-berry);
  font-size: var(--fs-xs);
}
.clinic__note {
  margin-top: 12px;
  padding-top: 12px;
  border-top: 1px dashed var(--border-hair);
  color: var(--text-muted);
  font-size: var(--fs-2xs);
}

/* Карта — как на «Услугах»: живой виджет поверх картинки-заглушки,
   проявляется снизу вверх, обесцвечена и оживает под курсором,
   колесо мыши не перехватывает. */
.map {
  height: 420px;
  margin-top: -90px;
  background: var(--c-grey-100) url("/local/templates/dnk174_2026/css/../images/map-bg.jpg") center/cover no-repeat;
  -webkit-mask-image: linear-gradient(0deg, #000 40%, rgba(0, 0, 0, 0) 100%);
  mask-image: linear-gradient(0deg, #000 40%, rgba(0, 0, 0, 0) 100%);
  filter: grayscale(1);
  transition: filter 0.6s ease;
}
.map:hover {
  filter: none;
}
.map iframe {
  display: block;
  width: 100%;
  height: 100%;
  border: 0;
  pointer-events: none;
}

/* ============================================================
   Адаптив страницы врача
   ============================================================ */
@media (max-width: 1200px) {
  .hero {
    background-position: 82% bottom;
  }
  .hero::before {
    background: linear-gradient(180deg, rgba(255, 251, 246, 0.86) 0%, rgba(255, 250, 244, 0.93) 100%);
  }
  .hero::after {
    inset: 0;
  }
  .hero__in {
    grid-template-columns: 1fr;
  }
  .hero__figure {
    display: none;
  }
  .hero__body {
    padding-block: 44px 30px;
  }
  .edu-card--wide .timeline {
    max-width: 100%;
  }
  .docs__grid,
  .services__grid,
  .reviews__grid,
  .clinics__grid {
    grid-template-columns: 1fr 1fr;
  }
  .peers__track {
    grid-auto-columns: calc((100% - 22px) / 2);
  }
  .peers__nav {
    display: none;
  }
}
@media (max-width: 900px) {
  .tabs {
    top: 0;
  }
  .reasons__grid,
  .fields__grid,
  .edu__grid,
  .reviews__top,
  .booking {
    grid-template-columns: 1fr;
  }
  .platforms {
    grid-column: auto;
    grid-template-columns: repeat(2, 1fr);
    gap: 10px;
  }
  .platform {
    column-gap: 8px;
    row-gap: 4px;
    padding: 12px;
  }
  .platform__logo {
    width: 28px;
    height: 28px;
  }
  .platform__row {
    gap: 6px;
  }
  .platform__val {
    font-size: 20px;
  }
  .platform__stars {
    font-size: 12px;
    letter-spacing: 0;
    white-space: nowrap;
  }
  .platform__meta {
    grid-column: 1/-1;
    font-size: 11px;
    line-height: 1.25;
  }
  .addr-row {
    grid-template-columns: 1fr;
  }
  .quote {
    grid-template-columns: 1fr;
    align-items: start;
  }
  .quote .btn {
    justify-self: start;
  }
  .achieve {
    flex-wrap: wrap;
  }
  .achieve .btn {
    margin-left: 0;
  }
  .map {
    margin-top: 24px;
    height: 300px;
  }
}
@media (max-width: 680px) {
  .docs__grid,
  .services__grid,
  .reviews__grid,
  .clinics__grid {
    grid-template-columns: 1fr;
  }
  .peers__track {
    grid-auto-columns: 86%;
  }
  .addr__value {
    white-space: normal;
  }
  .addr {
    flex-wrap: wrap;
    row-gap: 8px;
  }
  .addr .link-arrow {
    margin-left: 50px;
  }
  .facts {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px 20px;
  }
  .peer {
    flex-direction: column;
    align-items: center;
    text-align: center;
  }
  .quote {
    padding: 24px 20px;
  }
  .quote__text {
    font-size: var(--fs-base);
  }
  .booking {
    padding: 26px 20px;
  }
  .reasons,
  .fields,
  .docs {
    padding: 22px 18px;
  }
  .clinics {
    padding-top: 40px;
  }
}
/* ============================================================
   Вертикальный ритм по макету «Врач 1922» (1920×8286):
   контент-блоки шириной 1400 на x=260, между блоками 90px,
   после панели вкладок — 143px
   ============================================================ */
#reasons {
  padding-block: 128px 45px;
}

#services,
#education,
#reviews,
#faq,
#peers,
#booking {
  padding-block: 45px;
}

/* ---------- Блок «карта» по макету ----------
   вся полоса 1920×711; заголовок сверху, три карточки 454×218 на y=47
   (x = 260 / 733 / 1206 при контейнере 1400), полоса карты 1920×536 с y=160,
   кремовая подложка 1920×191 с y=160 — на ней и лежит низ карточек */
.clinics {
  position: relative;
  height: calc(600 * var(--s));
  padding: 0;
  overflow: hidden;
}
.clinics > .container {
  position: relative;
  z-index: 2;
}
.clinics__head {
  margin-bottom: 27px;
}
.clinics__grid {
  grid-template-columns: repeat(3, 1fr);
  gap: 19px;
}
.clinics__grid .clinic {
  height: 218px;
}
.clinics::after {
  content: "";
  position: absolute;
  top: calc(112.5 * var(--s));
  left: 0;
  right: 0;
  height: calc(191 * var(--s));
  background: var(--c-bg);
  z-index: 1;
}

/* полотно карты — как на «Услугах»; слой меток совпадает с ним */
.map .us-map__pins {
  top: 0;
  height: 100%;
}

.map {
  position: absolute;
  top: calc(303.5 * var(--s));
  left: 0;
  right: 0;
  height: calc(296.25 * var(--s));
  margin: 0;
  z-index: 0;
}

/* кнопка в герое — по макету 264×48 */
.hero__body > .btn--primary {
  width: 264px;
  height: 48px;
  padding-inline: 0;
}

/* Узор на полосе «Часто задаваемые вопросы»: серый узор из base.css на
   бежевом почти не читался, поэтому рисуем его белым по маске. */
#faq.pattern::before {
  background: url("/local/templates/dnk174_2026/css/../images/pattern-white.svg") repeat;
  background-size: 620px 620px;
  mix-blend-mode: normal;
  opacity: 0.12;
}

/* «Что говорят пациенты»: заголовок стоял почти вплотную к верхней
   границе полосы и к карточкам — добавляем воздуха сверху и под ним */
#reviews.section {
  padding-top: 78px;
}

#reviews .section-head {
  margin-bottom: 44px;
}

/* ---------- Страница врача: закреплённый фон ----------
   Как на «Услугах»: снимок лежит под всей страницей и закреплён за
   окном, содержимое едет по нему. Кремовую заливку секций снимаем —
   иначе она перекрывает снимок; бежевые полосы с узором остаются. */
.doc-page {
  position: relative;
}
.doc-page::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  background: url("/local/templates/dnk174_2026/css/../images/vrachi-bg.png") center top/cover no-repeat fixed;
  background-color: var(--c-bg);
  pointer-events: none;
}
.doc-page > section {
  position: relative;
  z-index: 1;
}
.doc-page section.section--cream {
  background-color: transparent;
}
.doc-page #reasons {
  position: relative;
}
.doc-page #reasons::before {
  content: "";
  position: absolute;
  inset: 0 calc(50% - 50vw) auto;
  height: 420px;
  z-index: 0;
  background: linear-gradient(to bottom, rgb(234, 217, 204) 0%, rgba(234, 217, 204, 0) 100%);
  pointer-events: none;
}
.doc-page #reasons > * {
  position: relative;
  z-index: 1;
}
.doc-page .section-head p {
  line-height: 1.3;
}
.doc-page #reasons .section-head p,
.doc-page .reasons__note {
  color: rgba(32, 47, 90, 0.6);
}
.doc-page .reason {
  color: var(--c-navy);
}
.doc-page #faq,
.doc-page #services {
  background: transparent;
  padding-block: calc(30 * var(--s));
}
.doc-page #faq.pattern::before,
.doc-page #services.pattern::before {
  content: none;
}
.doc-page #services::after {
  content: none;
}
.doc-page #faq > .container,
.doc-page #services > .container {
  position: relative;
  overflow: hidden;
  padding: 28px calc(22.5 * var(--s)) 45px;
  border-radius: calc(22.5 * var(--s));
  background: var(--c-beige);
}
.doc-page #faq > .container::before,
.doc-page #services > .container::before {
  content: "";
  position: absolute;
  inset: 0;
  background: url("/local/templates/dnk174_2026/css/../images/pattern.svg") repeat;
  background-size: 620px 620px;
  opacity: 0.3;
  pointer-events: none;
}
.doc-page #faq > .container > *,
.doc-page #services > .container > * {
  position: relative;
  z-index: 1;
}
.doc-page .card--outline {
  background: transparent;
  -webkit-backdrop-filter: none;
  backdrop-filter: none;
  border-color: rgba(255, 255, 255, 0.6);
}
.doc-page .reason {
  background: rgba(255, 255, 255, 0.34);
  -webkit-backdrop-filter: blur(14px) saturate(140%);
  backdrop-filter: blur(14px) saturate(140%);
}
.doc-page .edu-card {
  background: rgba(255, 255, 255, 0.4);
  -webkit-backdrop-filter: blur(16px) saturate(140%);
  backdrop-filter: blur(16px) saturate(140%);
  border: 1px solid rgba(255, 255, 255, 0.6);
}
.doc-page .doc {
  background: rgba(255, 255, 255, 0.4);
  -webkit-backdrop-filter: blur(14px) saturate(140%);
  backdrop-filter: blur(14px) saturate(140%);
  border: 1px solid rgba(255, 255, 255, 0.6);
}
.doc-page .fields li {
  color: var(--c-navy);
}
.doc-page .hero .btn--primary {
  box-shadow: none;
}
.doc-page .fields__grid {
  padding-left: 24px;
}
.doc-page .docs__note {
  color: rgba(32, 47, 90, 0.5);
}
.doc-page .doc-ico {
  width: 26px;
  height: 26px;
}
.doc-page .doc__title {
  font-size: var(--fs-base);
}
.doc-page .doc__meta {
  margin-left: 37px;
  color: rgba(32, 47, 90, 0.6);
  font-size: var(--fs-xs);
}
.doc-page .doc__view {
  color: var(--c-navy);
  font-size: var(--fs-xs);
}
.doc-page .doc__badge {
  font-size: 11px;
  background: var(--c-berry);
  color: #fff;
}
.doc-page .fields {
  background: rgba(255, 255, 255, 0.22);
  -webkit-backdrop-filter: blur(8px) saturate(120%);
  backdrop-filter: blur(8px) saturate(120%);
}
.doc-page #services .section-head p,
.doc-page .service__desc {
  color: rgba(32, 47, 90, 0.6);
}
.doc-page .timeline__year {
  color: var(--c-berry);
  font-weight: 600;
}
.doc-page .edu-card .more-bar,
.doc-page .edu-card__more button {
  color: var(--c-berry);
  font-weight: 600;
}
.doc-page .timeline__note {
  color: var(--c-berry);
}
.doc-page .doc__view {
  display: flex;
  width: max-content;
  margin-left: auto;
  color: var(--c-berry);
}
.doc-page #reviews.section--cream {
  background: none;
}
.doc-page .booking {
  background: linear-gradient(105deg, var(--c-sky) 0%, var(--c-sky-strong) 100%);
  border: 1px solid #fff;
}
.doc-page .achieve {
  background: linear-gradient(105deg, var(--c-sky) 0%, var(--c-sky-strong) 100%);
  border: 1px solid #fff;
  color: var(--c-navy);
}
.doc-page .achieve-ico {
  filter: none;
}
.doc-page .achieve .btn--primary,
.doc-page .achieve .btn--primary:hover {
  background: var(--c-berry);
  color: #fff;
  box-shadow: none;
}
.doc-page .quote {
  background: linear-gradient(to right, rgba(32, 47, 90, 0.92) 0%, rgba(32, 47, 90, 0.92) 50%, rgba(32, 47, 90, 0.1) 100%);
  border: 1px solid #fff;
  color: #fff;
}
.doc-page .quote__mark {
  color: rgba(255, 255, 255, 0.5);
}
.doc-page .quote__text {
  color: #fff;
}
.doc-page .quote__name {
  color: #fff;
}
.doc-page .quote__role {
  color: rgba(255, 255, 255, 0.7);
}
.doc-page #peers .us-spec__foot {
  margin-top: calc(22 * var(--s));
}
.doc-page #peers {
  padding-bottom: 130px;
}
.doc-page .more-bar {
  background: rgba(255, 255, 255, 0.18);
  border: 1px solid #fff;
}
.doc-page .more-bar:hover {
  background: rgba(255, 255, 255, 0.34);
}
.doc-page #reviews .reviews__grid {
  margin-top: 30px;
}

/* ---------- Волна на блоке записи ----------
   .booking — грид на две колонки; спан волны в потоке добавлял бы
   третий элемент и целый ряд высотой с диаметр круга, растягивая
   плашку. Держим его вне потока и под содержимым. */
.booking > .ripple {
  position: absolute;
}
.booking > div {
  position: relative;
  z-index: 11;
}

/* строкам слотов нужны своя точка отсчёта и обрезка по скруглению */
.slots li.js-ripple {
  position: relative;
  overflow: hidden;
}

/* ---------- Волна на плашках страницы врача ----------
   Плашка достижений уже обрезает содержимое — ей достаточно класса. */
.achieve > .ripple {
  position: absolute;
  z-index: 0;
}

.achieve-ico,
.achieve p,
.achieve .btn {
  position: relative;
  z-index: 1;
}

/* У цитаты overflow оставлен видимым — портрет выходит за верхнюю
   кромку на 21px. Поэтому волну заводим в отдельный слой: он лежит
   поверх текста, обрезает по скруглению плашки и ловит наведение,
   а кнопка поднята над ним, чтобы оставаться кликабельной. */
.quote .quote__wave {
  position: absolute;
  inset: 0;
  z-index: 2;
  overflow: hidden;
  border-radius: var(--r-xl);
}
.quote > .btn {
  z-index: 3;
}

/* ягодная плашка тёмная — волну на ней гасим так же, как на индиго */
.achieve > .ripple {
  opacity: 0.14;
  animation-duration: 3.4s;
}

/* Волна при наведении на цитату — самая спокойная на проекте. Резкость
   давала не плотность, а чёткая кромка диска и рывок в начале роста:
   поэтому заливку меняем на растушёванный круг без края, разгон берём
   ease-in-out (медленный старт вместо хлопка) и растягиваем до 6s. */
.quote .quote__wave > .ripple {
  opacity: 0.16;
  background: radial-gradient(circle, rgba(255, 255, 255, 0.55) 0%, rgba(255, 255, 255, 0.18) 55%, rgba(255, 255, 255, 0) 72%);
  animation-duration: 5.5s;
  animation-timing-function: cubic-bezier(0.3, 0.1, 0.3, 1);
}

/* Подпись «Адрес приёма» — фирменный индиго вполсилы: серый из общей
   палитры рядом с индиговым адресом читался чужеродно. */
.addr__label {
  color: rgba(32, 47, 90, 0.5);
}

/* Правая колонка героя ближе к портрету: первая колонка только держит
   место под вырезанное фото (само оно лежит абсолютом), и 520px были
   избыточны — информация уезжала к середине экрана. */
@media (min-width: 1001px) {
  .doc-page .hero__in {
    grid-template-columns: minmax(330px, 450px) 1fr;
    gap: 26px;
  }
}
/* ---------- Первый экран врача на ноутбуке и планшете (от 761) ----------
   Раньше ломался по-разному:
   — 1201–1440: правая колонка «1fr» тянулась по содержимому (две плашки
     адреса с неразрывными адресами — ~780px), и блок с именем, фактами и
     адресами вылезал за контейнер; на 1280 вторую плашку срезал край окна;
   — 761–1200: колонку под портрет снимали, а сам портрет (он давно вынесен
     из .hero__figure, которую прячет адаптив) оставался — текст ложился
     прямо на лицо врача.
   Теперь до телефона раскладка одна: портрет слева, текст справа. Колонка
   портрета и сам портрет уменьшаются с окном, текстовая колонка не шире
   остатка, плашки адресов встают в ряд, только если помещаются, а высота
   героя растёт, когда текст не влезает. */
@media (min-width: 761px) {
  .doc-page .hero {
    height: auto;
    min-height: 727px;
  }
  .doc-page .hero__in {
    grid-template-columns: clamp(260px, 30vw, 450px) minmax(0, 1fr);
    gap: 26px;
  }
  .doc-page .hero__figure {
    display: block;
  }
  .doc-page .hero__body {
    grid-column: 2;
    padding-top: 48px;
  }
  .doc-page .hero .addr-row {
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 360px), 1fr));
  }
}
@media (min-width: 761px) and (max-width: 1699px) {
  .doc-page .hero__photo {
    height: clamp(420px, 43vw, 620px);
  }
}
/* полоса разделов заходит на низ героя на 62px: при высоком тексте она
   накрывала «Записаться» — снизу держим запас (адаптив до 1200 давал 30) */
@media (min-width: 761px) and (max-width: 1200px) {
  .doc-page .hero__body {
    padding-bottom: 96px;
  }
}
/* Документы — по два в ряд до 1300: в три колонки на 1280 рядом со
   значком и плашкой года заголовку оставалось ~135px, и «Диплом о высшем
   образовании» шёл в три строки. Ниже 1200 свои правила (два в ряд,
   на телефоне — один) */
@media (min-width: 1201px) and (max-width: 1300px) {
  .docs__grid {
    grid-template-columns: 1fr 1fr;
  }
}
/* Множитель страницы врача — не меньше, чем при 1440, как на «Услугах».
   От него здесь зависят контейнер, карта и карусель «Других врачей»: ниже
   1440 всё ужималось с окном — на 1101 контейнер был 803px, карточки врачей
   по 260 (имена в три строки, вылезали из плашки), подписи на карте — 7–8px,
   на 761 — 5px. Подписям карты — пол кегля, как на «Услугах» (через max():
   на больших экранах он ничего не уменьшает). */
@media (min-width: 761px) {
  .doc-page {
    --s: max(1px, 100vw / 1440);
  }
  .doc-page .us-map :is(.us-map__hours, .us-map__hours span) {
    font-size: max(13px, 9.5 * var(--s));
    line-height: 1.3;
  }
  .doc-page .us-map :is(.us-map__addr p, .us-map__city-name span, .us-map__more, .us-map__all) {
    font-size: max(14px, 10.5 * var(--s));
    line-height: 1.35;
  }
  .doc-page .us-map .us-map__city-name {
    font-size: max(15px, 12 * var(--s));
    line-height: 1.25;
  }
}
/* Текстовая колонка в плашке адреса на 2px выше: две строки с разным
   кеглем вставали оптически ниже значка. Сдвигаем сам блок, а не поля,
   чтобы высота плашки не менялась. */
.addr > span:not(.addr__pin) {
  position: relative;
  top: -2px;
}

/* Плашка «видеовизитка» в герое — как на карточках врачей: тот же
   донорский силуэт со скруглением и хвостиком одной картинкой, белая
   заливка 0.6 с белой обводкой, подпись приглушённым индиго. Отличие
   только в размере: в герое она крупнее. Хвостик из CSS больше не
   нужен — он уже есть в самой картинке. */
.hero__video-label {
  width: 150px;
  height: 52px;
  padding-bottom: 9px;
  border-radius: 0;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 126 44'%3E%3Cpath d='M10 .5h106a9.5 9.5 0 0 1 9.5 9.5v16a9.5 9.5 0 0 1-9.5 9.5H70.2l-5.3 6.9a2 2 0 0 1-3.1 0L56.1 35.5H10A9.5 9.5 0 0 1 .5 26V10A9.5 9.5 0 0 1 10 .5Z' fill='%23ffffff' fill-opacity='.6' stroke='%23ffffff'/%3E%3C/svg%3E") center/100% 100% no-repeat;
  -webkit-backdrop-filter: none;
  backdrop-filter: none;
  box-shadow: none;
  color: rgba(32, 47, 90, 0.5);
  font-size: 12.5px;
  font-weight: 500;
}
.hero__video-label::after {
  content: none;
}
.hero__video {
  gap: 0;
}
.hero__video-label {
  margin-bottom: -12px;
}

/* ---------- Портрет врача на телефоне — после заголовка ----------
   Донорский портрет стоит абсолютом и вылезает за левую кромку: на
   телефоне он ложился поверх текста. Ставим его в поток и показываем
   сразу после имени и оценки — дальше идут степень, описание и цифры.
   Раскрываем .hero__body в сетку героя (display: contents), иначе фото
   и текст лежат в разных строках и порядок не выстроить. */
@media (max-width: 760px) {
  .doc-page .hero {
    height: auto;
    padding-bottom: 72px;
  }
  .doc-page .hero__in {
    position: relative;
    display: grid;
    grid-template-columns: 170px minmax(0, 1fr);
    column-gap: 14px;
    row-gap: 0;
  }
  .doc-page .hero__body {
    display: contents;
  }
  .doc-page .hero__figure {
    display: none;
  }
  .doc-page .hero__in > .crumbs {
    position: static;
    order: 0;
  }
  .doc-page .hero__in > .crumbs,
  .doc-page .hero__body h1,
  .doc-page .hero__body .hero__degree,
  .doc-page .hero__body .hero__lead,
  .doc-page .hero__body .addr-row,
  .doc-page .hero__body .btn {
    grid-column: 1/-1;
  }
  .doc-page .hero__body h1 {
    order: 1;
    margin: 22px 0 0;
    font-size: 24px;
    line-height: 1.1;
  }
  .doc-page .hero__in > .hero__photo {
    position: absolute;
    grid-column: 1;
    grid-row: 3/span 2;
    left: 0;
    top: 0;
    width: 230px;
    max-width: none;
    margin-left: -30px;
    height: 215px;
    object-fit: cover;
    object-position: center top;
    align-self: start;
    border-radius: 0;
  }
  .doc-page .hero__body .rating-line {
    order: 3;
    grid-column: 2;
    align-self: start;
    margin: 55px 0 0;
  }
  .doc-page .hero__body .hero__degree {
    order: 5;
    margin: 14px 0 0;
  }
  .doc-page .hero__body .hero__lead {
    order: 6;
    margin: 8px 0 0;
  }
  .doc-page .hero__body .facts {
    order: 4;
    grid-column: 2;
    align-self: start;
    min-height: 128px;
    grid-template-columns: 1fr;
    gap: 10px;
    margin: 10px 0 0;
  }
  .doc-page .hero__body .rating-line,
  .doc-page .hero__body .hero__degree,
  .doc-page .hero__body .hero__lead,
  .doc-page .hero__body .facts {
    position: relative;
    z-index: 1;
  }
  .doc-page .hero__body .rating-line,
  .doc-page .hero__body .hero__degree,
  .doc-page .hero__body .hero__lead,
  .doc-page .hero__body .facts,
  .doc-page .hero__body .facts * {
    line-height: 1.15;
  }
  .doc-page .hero__body .addr-row {
    order: 7;
    margin: 18px 0 0;
  }
  .doc-page .hero__body .btn {
    order: 8;
    width: 100%;
    margin-top: 10px;
  }
}
/* ---------- Карточки адресов у врача — как на странице услуги ----------
   Там это уже эталон: поля 8/10, значок 32, ссылка у правого края,
   город со своей строки. У врача поля были 14/20, значок 36, и ссылка
   у двух карточек вставала по-разному — то под текстом, то справа. */
@media (max-width: 760px) {
  .doc-page .addr-row {
    gap: 8px;
  }
  .doc-page .addr {
    gap: 0 8px;
    padding: 8px 10px;
  }
  .doc-page .addr__pin {
    width: 32px;
    height: 32px;
  }
  .doc-page .ico-point-lg {
    width: 24px;
    height: 24px;
  }
  .doc-page .addr .link-arrow {
    margin-left: auto;
  }
  .doc-page .addr > span:not([class]) {
    min-width: 0;
  }
}
/* ---------- Полоса разделов у врача — как на странице услуги ----------
   Там она 45px и липнет на 62px; у врача была 62px и на 68px. */
@media (max-width: 760px) {
  .doc-page .tabs {
    top: 62px;
  }
  .doc-page .tabs__in {
    gap: 40px;
  }
  .doc-page .tabs a {
    padding: 11px 0 12px;
    font-size: 14px;
  }
  .doc-page .hero__body .facts {
    align-content: start;
  }
  .doc-page .hero__body .facts__label {
    margin-bottom: 0;
  }
}
/* первый блок под полосой разделов: донорские 128px сверху на телефоне
   читались пустой полосой — оставляем ту же отбивку, что на страницах
   услуг (18px) */
@media (max-width: 760px) {
  .doc-page .tabs + .section {
    padding-top: 18px;
  }
  .doc-page .reasons {
    padding: 14px 12px;
  }
  .doc-page .reasons__grid {
    gap: 8px;
  }
  .doc-page .fields {
    padding: 14px 20px;
  }
  .doc-page .fields__grid {
    padding-left: 0;
    gap: 8px 40px;
  }
  .doc-page .fields__grid li {
    line-height: 1.2;
  }
  .doc-page .docs {
    padding: 14px 14px;
  }
  .doc-page .docs__grid {
    gap: 8px;
  }
  .doc-page .doc__top,
  .doc-page .doc__top * {
    line-height: 1.15;
  }
  .doc-page .doc__meta {
    margin-left: 0;
    margin-block: 4px 6px;
    line-height: 1.25;
  }
  .doc-page .doc {
    padding: 12px 14px;
  }
  .doc-page .edu__grid {
    gap: 10px;
  }
  .doc-page .edu-card {
    padding: 14px 16px;
  }
  .doc-page .edu-card__head h3 {
    font-size: 18px;
  }
  .doc-page .achieve {
    padding: 14px 16px;
  }
  .doc-page .achieve .btn {
    width: 100%;
  }
  .doc-page #faq .faq__a {
    flex-direction: column;
    gap: 6px;
  }
  .doc-page #faq .faq__a p {
    margin: 0;
  }
  .doc-page #faq .faq__a img {
    margin-bottom: 0;
    width: 44px;
    height: 44px;
  }
  .doc-page #faq .faq__q {
    padding: 12px 16px;
  }
  .doc-page #faq .faq__a {
    padding: 0 16px 12px;
  }
  .doc-page .docs__list {
    gap: 10px;
  }
  .doc-page .quote {
    margin-top: 10px;
    padding: 14px 16px;
    min-height: 370px;
    grid-template-rows: 1fr auto;
    align-items: stretch;
    overflow: hidden;
  }
  .doc-page .quote .btn {
    align-self: end;
  }
  .doc-page .quote__text {
    line-height: 1.25;
  }
  .doc-page .quote > div {
    padding: 0;
    display: flex;
    flex-direction: column;
  }
  .doc-page .quote__mark {
    display: none;
  }
  .doc-page .quote__photo {
    left: -45px;
  }
  .doc-page .quote__author {
    margin-left: 0;
    margin-top: auto;
    padding-left: 120px;
  }
  .doc-page .quote .btn {
    width: 100%;
    justify-self: stretch;
  }
  .doc-page .fields__foot .btn,
  .doc-page .docs__foot .btn,
  .doc-page .reasons__foot .btn {
    width: 100%;
  }
  .doc-page .fields__foot .btn {
    position: relative;
  }
  .doc-page .fields__foot .btn svg {
    position: absolute;
    top: 50%;
    right: 20px;
    transform: translateY(-50%);
  }
  .doc-page .fields__foot .btn[aria-expanded=true] svg {
    transform: translateY(-50%) rotate(180deg);
  }
  #reasons {
    padding-block: 28px 45px;
  }
}
/* ---------- Страница врача по правилам страницы услуги ----------
   Там шаг между блоками 60px, поля секций обнулены, заголовки блоков
   20px. Здесь поля были заданы по id и шли вразнобой: 45/45, 50/16,
   7.8/7.8, 45/130. Перебиваем такими же id. */
@media (max-width: 760px) {
  .doc-page #reasons {
    padding-block: 28px 0;
  }
  .doc-page #services.section,
  .doc-page #faq.section {
    padding-block: 0;
  }
  .doc-page #services,
  .doc-page #education,
  .doc-page #reviews,
  .doc-page #faq,
  .doc-page #peers,
  .doc-page #booking {
    padding-block: 0;
  }
  .doc-page .section + .section {
    margin-top: 60px;
  }
  .doc-page .section--beige > .container,
  .doc-page .section--cream.pattern > .container {
    padding-block: 16px;
  }
  .doc-page .section h2 {
    font-size: 20px;
  }
}
/* ---------- Плашка записи у врача — по правилам страницы услуги ----------
   Там поля 24/16 и единый внутренний шаг 16px; здесь на телефоне стояли
   донорские 26/20 с шагом 40. Правило для услуг привязано к id у самой
   плашки, а у врача id висит на секции — поэтому отдельное. */
@media (max-width: 760px) {
  .doc-page .booking {
    padding: 24px 16px;
    gap: 16px;
  }
  .doc-page .booking h2 {
    margin-bottom: 0;
  }
  .doc-page .booking .booking__note {
    margin-bottom: 0;
    line-height: 1.15;
  }
  .doc-page .booking h3 {
    margin-bottom: 0;
  }
  .doc-page .booking__actions {
    gap: 8px;
  }
  .doc-page .booking {
    padding-bottom: 16px;
  }
}
/* поле страницы на телефоне — те же 14px, что на остальных разделах:
   у донорского контейнера оно считается от ширины экрана и давало 6px */
@media (max-width: 760px) {
  .doc-page .container {
    padding-inline: 14px;
  }
  .doc-page #services > .container,
  .doc-page #faq > .container {
    padding: 16px 14px;
    border-radius: 0;
  }
}
/* ---------- Карточки услуг у врача: компактнее ----------
   Поля 26/28 и шаг 22px растягивали список: на экран помещалось
   полторы карточки. */
@media (max-width: 760px) {
  .doc-page .services__grid {
    gap: 10px;
  }
  .doc-page .service {
    padding: 14px 16px;
    min-height: 0;
  }
  .doc-page .service h3 {
    margin-bottom: 6px;
    line-height: 1.2;
  }
  .doc-page .service__desc {
    line-height: 1.25;
  }
  .doc-page .service__foot {
    margin-top: 10px;
  }
}
/* ---------- Шапка карточки отзыва: плотнее и выше ----------
   Дата, имя и тема шли с интерлиньяжем 1.5 (22.5px при 15px), и блок
   занимал 68px при трёх коротких строках. */
@media (max-width: 760px) {
  .doc-page #reviews .review__head,
  .doc-page #reviews .review__head * {
    line-height: 1.2;
  }
  .doc-page #reviews .review {
    padding-top: 10px;
  }
  .doc-page #reviews .review__ava {
    margin-top: 6px;
  }
}
/* ---------- Лента «Другие врачи» — как у врачей на страницах услуг ----------
   Подвал там grid: полоса в первой строке, кнопка во второй. Здесь кнопки
   нет, и полоса шла во всю ширину — под стрелками. Оставляем ей место. */
@media (max-width: 760px) {
  .doc-page #peers .carousel {
    padding-bottom: 0;
  }
  .doc-page #peers .carousel__foot {
    display: flex;
    align-items: center;
    min-height: 38px;
    margin-top: 12px;
    padding-inline: 0;
  }
  .doc-page #peers .carousel__nav {
    top: auto;
    bottom: 0;
    width: 38px;
    height: 38px;
  }
  .doc-page #peers .carousel__foot .carousel__bar {
    margin-right: 86px;
  }
}
/* ============================================================
   Внутренние страницы: общие блоки
   ============================================================ */
/* ---------- Хлебные крошки: вся строка одним цветом — индиго 50% ---------- */
.crumbs-page {
  display: flex;
  align-items: center;
  padding-block: 14px 0;
  color: rgba(32, 47, 90, 0.5);
  font-size: 13px;
  font-weight: 400;
}
.crumbs-page a {
  color: inherit;
  font-weight: inherit;
}
.crumbs-page a:hover {
  color: var(--c-berry);
}
.crumbs-page span + span::before {
  content: "›";
  margin: 0 7px;
  color: inherit;
}

/* ---------- Шапка страницы: по донору h1 36/500, uppercase, по центру ---------- */
.pg-head {
  padding-block: 40px 24px;
  text-align: center;
}
.pg-head h1 {
  margin-bottom: 15px;
  color: var(--c-navy);
  font-size: 40px;
  font-weight: 500;
  line-height: 1.2;
  text-transform: uppercase;
}
.pg-head h1 .first {
  color: inherit;
}
.pg-head__rule {
  width: 150px;
  height: 2px;
  margin: 0 auto 16px;
  border-radius: 0;
  background: var(--c-sky-strong);
}
.pg-head p {
  max-width: 820px;
  margin: 0 auto;
  color: #0F295D;
  font-size: var(--fs-sm);
  line-height: 1.5;
}

/* ---------- Переключатель городов ---------- */
.city-tabs {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-bottom: 34px;
}

/* все вкладки одной ширины: длина названия города на неё не влияет */
.city-tab {
  min-height: 48px;
  min-width: 210px;
  padding: 4px 26px 6px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid var(--c-sky-strong);
  border-radius: var(--r-pill);
  color: var(--c-sky-strong);
  font-size: 16px;
  transition: background var(--t-base), color var(--t-base), border-color var(--t-base);
}
.city-tab:hover {
  background: var(--c-berry-100);
}
.city-tab.is-active {
  border-color: var(--c-berry);
  background: var(--c-berry);
  color: var(--c-white);
}

/* ---------- Карточка клиники ---------- */
.clinic-cards {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 26px;
}

.clinic-card {
  display: flex;
  flex-direction: column;
  padding: 14px 14px 16px;
  border-radius: var(--r-lg);
  transition: box-shadow var(--t-base), background var(--t-base);
}
.clinic-card__photo {
  width: 100%;
  height: 140px;
  margin-bottom: 10px;
  border-radius: 12px;
  object-fit: cover;
}
.clinic-card__type {
  margin-bottom: 4px;
  color: var(--c-berry);
  font-size: var(--fs-2xs);
}
.clinic-card__addr {
  margin-bottom: 10px;
  color: var(--c-navy);
  font-size: var(--fs-base);
  font-weight: 600;
}
.clinic-card__label {
  display: flex;
  align-items: center;
  margin-bottom: 2px;
  color: var(--c-navy);
  font-size: var(--fs-sm);
  font-weight: 600;
}
.clinic-card__label .ico {
  color: var(--c-berry);
}
.clinic-card__hours {
  margin: 0 0 8px;
  padding: 0;
  list-style: none;
}
.clinic-card__hours li {
  color: var(--c-graphite);
  font-size: var(--fs-xs);
  line-height: 1.3;
}
.clinic-card__tel {
  display: inline-block;
  margin-bottom: 8px;
  color: var(--c-sky-strong);
  font-size: 17px;
  font-weight: 600;
  align-self: flex-start;
  transition: color var(--t-fast);
}
.clinic-card__tel:hover {
  color: var(--c-berry);
}
.clinic-card__mail {
  margin-bottom: 10px;
  align-self: flex-start;
  color: var(--c-sky-strong);
  font-size: var(--fs-xs);
  text-decoration: underline;
  transition: color var(--t-fast);
}
.clinic-card__mail:hover {
  color: var(--c-berry);
}
.clinic-card .btn {
  margin-top: auto;
  width: 100%;
  padding-block: 10px;
}

/* На десктопе кнопка проявляется при наведении на карточку, место под
   неё зарезервировано всегда — соседние карточки не прыгают. На тач-
   устройствах наведения нет, поэтому там она видна сразу. */
@media (hover: hover) and (pointer: fine) {
  .clinic-card .btn {
    opacity: 0;
    transform: translateY(6px);
    pointer-events: none;
    transition: opacity var(--t-base), transform var(--t-base), background var(--t-base);
  }
  .clinic-card:hover .btn, .clinic-card:focus-within .btn {
    opacity: 1;
    transform: none;
    pointer-events: auto;
  }
}
/* ---------- Двухколонник «контент + боковое меню» ---------- */
.page-cols {
  display: grid;
  grid-template-columns: 270px 1fr;
  gap: 50px;
  align-items: start;
}

.side-menu {
  padding: 22px 24px;
  border-radius: var(--r-lg);
  background: var(--c-white);
  box-shadow: var(--sh-sm);
}
.side-menu li + li {
  margin-top: 10px;
}
.side-menu a {
  color: #0F295D;
  font-size: var(--fs-xs);
  line-height: 1.35;
  transition: color var(--t-fast);
}
.side-menu a:hover {
  color: var(--c-berry);
}
.side-menu .is-current {
  color: var(--c-berry);
  font-weight: 600;
}

/* ---------- Плитки достижений ---------- */
.merits {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
  margin-top: 28px;
}

.merit {
  padding: 22px 24px;
  border-radius: var(--r-lg);
  background: var(--c-white);
  box-shadow: var(--sh-sm);
  color: var(--c-navy);
  font-size: var(--fs-xs);
  line-height: 1.45;
}

/* ---------- Сетки карточек на внутренних страницах ---------- */
.grid-news {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 40px;
}

.grid-offers {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 40px;
}
.grid-offers .offer-card {
  width: 100%;
}

.grid-reviews {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 26px;
}

/* ---------- Фильтр по годам ---------- */
.years {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 34px;
}

.year {
  min-width: 68px;
  height: 36px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: var(--r-pill);
  background: var(--c-white);
  color: var(--c-graphite);
  padding-bottom: 2px;
  font-size: var(--fs-xs);
  transition: background var(--t-base), color var(--t-base);
}
.year:hover {
  background: var(--c-berry-100);
  color: var(--c-berry);
}
.year.is-active {
  background: var(--c-berry);
  color: var(--c-white);
}

/* ---------- Каталог услуг ---------- */
.catalog {
  display: grid;
  grid-template-columns: 340px 1fr;
  gap: 50px;
  align-items: start;
}

.cat-nav {
  display: grid;
  gap: 6px;
}
.cat-nav button {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 12px 18px;
  border: 0;
  border-radius: var(--r-md);
  background: transparent;
  color: var(--c-navy);
  font-size: var(--fs-sm);
  font-weight: 500;
  line-height: 1.25;
  text-align: left;
  transition: background var(--t-base), color var(--t-base);
}
.cat-nav img {
  width: 34px;
  height: 34px;
  flex: none;
  object-fit: contain;
}
.cat-nav button:hover {
  background: var(--c-white);
}
.cat-nav button.is-active {
  background: var(--c-white);
  box-shadow: var(--sh-sm);
  color: var(--c-berry);
}

/* ---------- Адаптив ---------- */
@media (max-width: 1200px) {
  .clinic-cards,
  .grid-offers,
  .grid-reviews {
    grid-template-columns: 1fr 1fr;
  }
  .grid-news {
    grid-template-columns: 1fr 1fr;
    gap: 30px;
  }
  .catalog,
  .page-cols {
    grid-template-columns: 1fr;
    gap: 30px;
  }
  .cat-nav {
    grid-template-columns: 1fr 1fr;
  }
  .merits {
    grid-template-columns: 1fr 1fr;
  }
}
@media (max-width: 760px) {
  .clinic-cards,
  .grid-offers,
  .grid-reviews,
  .grid-news {
    grid-template-columns: 1fr;
  }
  .cat-nav {
    grid-template-columns: 1fr;
  }
  .merits {
    grid-template-columns: 1fr;
  }
}
/* ---------- Ссылки на карточках врачей ---------- */
.doc-card__name a,
.doc-slide__name a {
  color: inherit;
}

.doc-card__name a:hover,
.doc-slide__name a:hover {
  color: var(--c-berry);
}

/* масштаб не годится: лента карусели обрезает по overflow и срезает макушку */
.doc-card__ava,
.doc-slide__ava {
  transition: opacity var(--t-base);
}

a:hover > .doc-card__ava,
a:hover > .doc-slide__ava {
  opacity: 0.88;
}

/* ---------- Ширина контента по донору ----------
   классические внутренние страницы: .page_container 1200 при вьюпорте 1425;
   каталог услуг собран на новом шаблоне донора — там контейнер 1050 */
/* ============================================================
   Страница «Врачи» — структура донора:
   фильтр 1160×45, список в две колонки по 675 с шагом 50,
   карточка 675×299: фото 237×300 слева, справа текст 394
   ============================================================ */
.doc-filter {
  display: flex;
  align-items: center;
  gap: 22px;
  margin-bottom: 40px;
}
.doc-filter__select, .doc-filter__input {
  height: 45px;
  padding: 0 22px;
  border: 1px solid var(--c-white);
  border-radius: var(--r-pill);
  background-color: rgba(255, 255, 255, 0.28);
  -webkit-backdrop-filter: blur(14px) saturate(140%);
  backdrop-filter: blur(14px) saturate(140%);
  color: var(--c-navy);
  font-size: 16px;
  font-family: inherit;
  transition: background-color var(--t-fast), border-color var(--t-fast);
}
.doc-filter__input::placeholder {
  color: rgba(32, 47, 90, 0.5);
}
.doc-filter__select:hover, .doc-filter__input:hover {
  background-color: rgba(255, 255, 255, 0.42);
}
.doc-filter__select option {
  background: var(--c-white);
  color: var(--c-graphite);
}
.doc-filter__select {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  padding-right: 50px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='11' height='6' viewBox='0 0 14 8' fill='none'%3E%3Cpath d='M1 1l6 6 6-6' stroke='%23B13B63' stroke-width='2.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-size: 9px 5px;
  background-position: right 22px center;
  cursor: pointer;
}
.doc-filter__select::-ms-expand {
  display: none;
}
.doc-filter .doc-select:first-of-type {
  flex: 0 0 348px;
}
.doc-filter .doc-select + .doc-select {
  flex: 0 0 308px;
}

/* поле поиска обёрнуто скриптом, чтобы подвесить под ним подсказки */
.doc-search {
  position: relative;
  flex: 1 1 259px;
  min-width: 200px;
}

.doc-filter__input {
  width: 100%;
}

/* подсказки — то же стекло с белой обводкой, что у плашки видеовизитки */
.doc-suggest {
  position: absolute;
  top: calc(100% + 6px);
  left: 0;
  right: 0;
  z-index: 20;
  margin: 0;
  padding: 6px 0;
  list-style: none;
  border: 1px solid var(--c-white);
  border-radius: 18px;
  background-color: rgba(255, 255, 255, 0.28);
  -webkit-backdrop-filter: blur(14px) saturate(140%);
  backdrop-filter: blur(14px) saturate(140%);
}
.doc-suggest__item {
  padding: 8px 22px;
  color: var(--c-navy);
  font-size: 15px;
  cursor: pointer;
  transition: background-color var(--t-fast), color var(--t-fast);
}
.doc-suggest__item:hover {
  background-color: rgba(255, 255, 255, 0.45);
  color: var(--c-berry);
}

/* Свой выпадающий список: системный попап <select> оформить нельзя,
   поэтому нативный список прячем, а рисуем кнопку и панель — одно
   стекло, которое при открытии как будто вытягивается вниз. */
.doc-select {
  position: relative;
}
.doc-select__native {
  display: none;
}
.doc-select__btn {
  display: flex;
  align-items: center;
  width: 100%;
  height: 45px;
  padding: 0 50px 0 22px;
  border: 1px solid var(--c-white);
  border-radius: var(--r-pill);
  background-color: rgba(255, 255, 255, 0.28);
  -webkit-backdrop-filter: blur(14px) saturate(140%);
  backdrop-filter: blur(14px) saturate(140%);
  color: var(--c-navy);
  font: inherit;
  font-size: 16px;
  text-align: left;
  cursor: pointer;
  transition: background-color var(--t-fast), border-radius var(--t-fast);
}
.doc-select__btn::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 22px;
  width: 11px;
  height: 6px;
  transform: translateY(-50%);
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='11' height='6' viewBox='0 0 14 8' fill='none'%3E%3Cpath d='M1 1l6 6 6-6' stroke='%23B13B63' stroke-width='2.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat;
  transition: transform var(--t-fast);
}
.doc-select__btn:hover {
  background-color: rgba(255, 255, 255, 0.42);
}
.doc-select.is-open .doc-select__btn {
  border-radius: 22.5px 22.5px 0 0;
  border-bottom-color: transparent;
}
.doc-select.is-open .doc-select__btn {
  color: var(--c-berry);
}
.doc-select.is-open .doc-select__btn::after {
  transform: translateY(-50%) rotate(180deg);
}
.doc-select__list {
  position: absolute;
  top: 100%;
  left: 0;
  right: 0;
  z-index: 20;
  margin: -1px 0 0;
  padding: 6px 0 10px;
  list-style: none;
  border: 1px solid var(--c-white);
  border-top: 0;
  border-radius: 0 0 22.5px 22.5px;
  background-color: rgba(255, 255, 255, 0.28);
  -webkit-backdrop-filter: blur(14px) saturate(140%);
  backdrop-filter: blur(14px) saturate(140%);
  max-height: 320px;
  overflow-y: auto;
}
.doc-select__list::-webkit-scrollbar {
  width: 2px;
}
.doc-select__list::-webkit-scrollbar-track {
  margin: 10px 0 14px;
  border-radius: 2px;
  background: rgba(105, 172, 223, 0.22);
}
.doc-select__list::-webkit-scrollbar-thumb {
  border-radius: 2px;
  background: var(--c-berry);
}
.doc-select__list::-webkit-scrollbar-button {
  display: none;
}
.doc-select__opt {
  padding: 9px 22px;
  color: var(--c-navy);
  font-size: 15px;
  cursor: pointer;
  transition: background-color var(--t-fast), color var(--t-fast);
}
.doc-select__opt:hover {
  background-color: rgba(255, 255, 255, 0.45);
  color: var(--c-berry);
}
.doc-select__opt.is-active {
  color: var(--c-berry);
  font-weight: 500;
}

.doc-filter__select:focus, .doc-filter__input:focus {
  outline: 0;
  background-color: rgba(255, 255, 255, 0.5);
  border-color: var(--c-berry);
}
.doc-filter__btn {
  flex: 0 0 149px;
  height: 45px;
  padding-inline: 0;
}

.doctors__title {
  margin: 115px 0 48px;
  color: var(--c-navy);
  font-size: 25px;
  font-weight: 500;
}
.doctors__title b {
  color: var(--c-berry);
  font-weight: inherit;
}
.doctors__list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: calc(52 * var(--s)) calc(12 * var(--s));
  padding-top: calc(36 * var(--s));
}
.doctors__list .us-doc[hidden] {
  display: none;
}

@media (max-width: 1100px) {
  .doctors__list {
    grid-template-columns: repeat(2, 1fr);
  }
  .doc-filter {
    flex-wrap: wrap;
  }
  .doc-filter__select:first-of-type, .doc-filter__select + .doc-filter__select {
    flex: 1 1 260px;
  }
}
@media (max-width: 680px) {
  .doctors__list {
    grid-template-columns: 1fr;
  }
}
/* у донора контент начинается сразу под шапкой, без отступа секции */
.page-inner {
  padding-top: 0;
}

/* контент не прижимается к подвалу: 150px по всему сайту.
   Исключение — страницы, где последней идёт карта: она упирается
   в подвал вплотную. */
.page-inner {
  padding-bottom: 150px;
}

.section:has(> .us-map:last-child),
.page-inner:has(> .us-map:last-child) {
  padding-bottom: 0;
}

@media (max-width: 1420px) {
  .doctors__list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    width: auto;
    margin-left: 0;
    transform: none;
  }
}
/* ============================================================
   «О клинике» — раскладка донора: полоса во всю ширину,
   слева меню 458 на белой подложке 40% с радиусом 20,
   справа текст 937; между колонками 13
   ============================================================ */
/* полоса без заливки: за страницей закреплён снимок, он и служит фоном */
.pg-band {
  margin-top: 16px;
  padding-block: 20px 60px;
  background: transparent;
}
.pg-band__wrap {
  display: grid;
  grid-template-columns: 458px 1fr;
  gap: 13px;
  width: min(1400px, 100% - 16px);
  margin-inline: auto;
}

.price-nav {
  align-self: start;
  position: sticky;
  top: 98px;
  padding-bottom: 14px;
  border-radius: 20px;
  background: rgba(255, 255, 255, 0.4);
}
.price-nav__title {
  padding: 26px 30px 14px;
  color: var(--c-sky-strong);
  font-size: 20px;
  font-weight: 500;
}
.price-nav li a {
  display: block;
  padding: 9px 12px 9px 30px;
}
.price-nav li + li {
  border-top: 1px solid rgba(255, 255, 255, 0.55);
}
.price-nav > ul:first-child {
  padding-top: 22px;
}
.price-nav li a {
  color: #0F295D;
  font-size: 16px;
  transition: color var(--t-fast), background var(--t-fast);
}
.price-nav li a:hover {
  background: rgba(255, 255, 255, 0.45);
  color: var(--c-berry);
}
.price-nav li.is-current a {
  color: var(--c-berry);
  font-weight: 600;
}

/* стеклянная подложка под текстом — как панели на «Ценах» */
.pg-band__text {
  padding: 28px 32px;
  border: 1px solid var(--c-white);
  border-radius: 18px;
  background: rgba(255, 255, 255, 0.6);
  -webkit-backdrop-filter: blur(14px) saturate(140%);
  backdrop-filter: blur(14px) saturate(140%);
}
.pg-band__text > *:last-child {
  margin-bottom: 0;
}
.pg-band__text p {
  margin-bottom: 16px;
  color: #0F295D;
  font-size: 14px;
  line-height: 1.5;
}
.pg-band__text ul {
  margin-bottom: 16px;
}
.pg-band__text ul li {
  position: relative;
  margin-bottom: 16px;
  padding-left: 22px;
  color: #0F295D;
  font-size: 14px;
  line-height: 1.5;
}
.pg-band__text ul li::before {
  content: "";
  position: absolute;
  top: 8px;
  left: 2px;
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: var(--c-berry);
}

.video-list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
  margin-top: 34px;
}
.video-list__item {
  display: block;
}
.video-list__item img, .video-list__ph {
  display: block;
  width: 100%;
  aspect-ratio: 16/9;
  border-radius: var(--r-lg);
  background: var(--c-beige) url("/local/templates/dnk174_2026/css/../images/icons/Video.svg") center/64px 64px no-repeat;
  object-fit: cover;
}
.video-list__cap {
  display: block;
  margin-top: 10px;
  color: var(--c-navy);
  font-size: 14px;
}

@media (max-width: 1100px) {
  .pg-band__wrap {
    grid-template-columns: 1fr;
  }
  .video-list {
    grid-template-columns: 1fr;
  }
}
/* ============================================================
   Новости — раскладка донора: контейнер 1280, лента 1240,
   две колонки по 582 с шагом 75, карточка 583×152
   ============================================================ */
.news-years {
  position: relative;
  margin-bottom: 40px;
}
.news-years select {
  width: 450px;
  max-width: 100%;
  height: 45px;
  padding: 0 50px 0 48px;
  border: 1px solid var(--c-white);
  border-radius: var(--r-pill);
  background-color: rgba(255, 255, 255, 0.28);
  -webkit-backdrop-filter: blur(14px) saturate(140%);
  backdrop-filter: blur(14px) saturate(140%);
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='8' viewBox='0 0 14 8' fill='none'%3E%3Cpath d='M1 1l6 6 6-6' stroke='%23202F5A' stroke-width='2.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 22px center;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  color: var(--c-graphite);
  font-size: 16px;
  font-family: inherit;
  cursor: pointer;
}
.news-years .doc-select {
  width: 450px;
  max-width: 100%;
}
.news-years .doc-select__btn {
  padding-left: 48px;
}
.news-years::before {
  content: "";
  position: absolute;
  left: 16px;
  top: 50%;
  z-index: 1;
  width: 22px;
  height: 22px;
  transform: translateY(-50%);
  background: url("/local/templates/dnk174_2026/css/../images/icons/calendar-icon.svg") center/contain no-repeat;
  pointer-events: none;
}

/* три карточки в ряд: снимок сверху, под ним дата, название и ссылка */
.news-list {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 40px 30px;
}

/* Дата и название над снимком, под ним строка «время — подробнее».
   display: contents у обёртки, иначе её детей не расставить по сетке */
.news-item {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 3px 14px;
  align-content: start;
}
.news-item__content {
  display: contents;
}
.news-item__date {
  grid-column: 1/-1;
  grid-row: 1;
}
.news-item__name {
  grid-column: 1/-1;
  grid-row: 2;
}
.news-item__img {
  grid-column: 1/-1;
  grid-row: 3;
  margin-top: 0;
}
.news-item__text {
  position: relative;
  z-index: 1;
  grid-column: 1;
  grid-row: 3;
  justify-self: start;
  align-self: end;
  margin: 0 0 12px 12px;
}
.news-item__link {
  position: relative;
  z-index: 1;
  display: inline-flex;
  align-items: center;
  grid-column: 1/-1;
  grid-row: 3;
  justify-self: end;
  align-self: end;
  margin: 0 12px 12px 0;
  padding: 5px 13px 6px;
  border: 1px solid transparent;
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.72);
  -webkit-backdrop-filter: blur(10px) saturate(140%);
  backdrop-filter: blur(10px) saturate(140%);
  opacity: 0;
  pointer-events: none;
  transition: opacity var(--t-fast);
}
.news-item:hover .news-item__link, .news-item:focus-within .news-item__link {
  opacity: 1;
  pointer-events: auto;
}
.news-item__img {
  position: relative;
  display: block;
  overflow: hidden;
  border-radius: var(--r-lg);
}
.news-item__img::after {
  content: "";
  position: absolute;
  inset: 0;
  background-image: linear-gradient(to top right, rgba(32, 47, 90, 0.6) 0%, rgba(32, 47, 90, 0.22) 16%, rgba(32, 47, 90, 0) 34%);
  pointer-events: none;
}
.news-item__img img {
  width: 100%;
  height: 290px;
  object-fit: cover;
  transition: transform var(--t-base);
}
.news-item__img:hover img {
  transform: scale(1.04);
}
.news-item__date {
  margin-top: 10px;
  color: rgba(32, 47, 90, 0.5);
  font-size: 13px;
  font-weight: 600;
  line-height: 1.2;
}
.news-item__date b {
  color: var(--c-berry);
  font-weight: 600;
}
.news-item__name {
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  margin-top: 0;
  min-height: 2.4em;
  font-size: 16px;
  font-weight: 500;
  line-height: 1.2;
}
.news-item__name a {
  color: var(--c-navy);
}
.news-item__name a:hover {
  color: var(--c-berry);
}
.news-item__text {
  justify-self: start;
  margin-top: 0;
  padding: 5px 13px 6px;
  border: 1px solid transparent;
  border-radius: 8px;
  background: var(--c-berry);
  color: var(--c-white);
  font-size: 13px;
  font-weight: 400;
  line-height: 1.2;
}
.news-item__text:empty {
  display: none;
}
.news-item__link {
  color: var(--c-berry);
  font-size: 13px;
  font-weight: 500;
  line-height: 1.2;
}
.news-item__link:hover {
  color: var(--c-berry-600);
}

/* ноутбуки (до 1599 — сюда же 1536 от экрана 1920 с масштабом 125%
   и MacBook 1440–1512) — по две карточки в ряд: в три колонки при
   контенте в 1050px карточка выходила 330px. Три — от 1600 */
@media (max-width: 1599px) {
  .news-list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .news-item__img img {
    height: auto;
    aspect-ratio: 500/335;
  }
}
@media (max-width: 1100px) {
  .news-list {
    gap: 30px;
  }
}
@media (max-width: 640px) {
  .news-list {
    grid-template-columns: 1fr;
  }
}
/* ---------- Страница новости ---------- */
/* Короткие новости и акции: если текста мало, подвал поднимался
   под самый заголовок. Держим высоту первого экрана — шапка 82
   плюс верхняя строка 42. */
.page-inner:has(.news-page) {
  min-height: calc(100vh - 184px);
  padding-bottom: 150px;
}

@media (max-width: 760px) {
  .page-inner:has(.news-page) {
    min-height: calc(100vh - 154px);
    padding-bottom: 60px;
  }
}
/* блок прижат к левому краю контента, от крошек — 40px */
.news-page {
  max-width: none;
  margin: 40px 0 0;
}

/* Широкий экран: снимок обтекается текстом — пока текста мало, он идёт
   справа от снимка, а дальше заходит под него во всю ширину. Сетка так
   не умеет, поэтому обычный float. */
@media (min-width: 761px) {
  .news-page__img {
    float: left;
    margin: 0 40px 24px 0;
  }
  .news-page__body > * {
    display: flow-root;
  }
  .news-page__date, .news-page__title {
    display: flow-root;
    min-width: min(400px, 100%);
  }
  .news-page__actions,
  .docs-rec {
    clear: both;
  }
}
.news-page__date {
  margin: 0 0 6px;
  color: rgba(32, 47, 90, 0.5);
  font-size: 13px;
  line-height: 1.2;
}
.news-page__date b {
  color: var(--c-berry);
  font-weight: 400;
}
.news-page__title {
  margin: 0 0 20px;
  color: var(--c-navy);
  font-size: 28px;
  font-weight: 500;
  line-height: 1.2;
}
.news-page__img {
  width: fit-content;
  max-width: 100%;
  margin-bottom: 26px;
  overflow: hidden;
  border-radius: var(--r-lg);
}
.news-page__img img {
  display: block;
  width: auto;
  max-width: 100%;
  height: auto;
}
.news-page__body {
  color: #0F295D;
  font-size: 16px;
  line-height: 20px;
}
.news-page__body p {
  margin: 0 0 12px;
}
.news-page__body p:has(+ ul),
.news-page__body p:has(+ ol) {
  margin-bottom: 8px;
  font-weight: 600;
}
.news-page__body ul {
  margin: 0 0 12px;
  padding-left: 20px;
  list-style: disc;
}
.news-page__body ul li {
  margin-bottom: 3px;
}
.news-page__body ul li::marker {
  color: var(--c-berry);
  font-size: 0.7em;
}
.news-page__body ol {
  margin: 0 0 12px;
  padding-left: 22px;
}
.news-page__body ol li {
  margin-bottom: 3px;
}
.news-page__body ol li::marker {
  color: var(--c-berry);
}
.news-page__body h2,
.news-page__body h3 {
  margin: 18px 0 8px;
  color: var(--c-navy);
  font-size: 20px;
  font-weight: 500;
  line-height: 1.25;
  text-transform: none;
}
.news-page__body h2:first-child,
.news-page__body h3:first-child {
  margin-top: 0;
}
.news-page__body a {
  color: var(--c-berry);
  text-decoration: underline;
}
.news-page__body a:hover {
  color: var(--c-berry-600);
}
.news-page__when {
  display: block;
  width: max-content;
  max-width: 100%;
  margin: 12px 0 2px;
  padding: 5px 13px 6px;
  border-radius: 8px;
  background: var(--c-berry);
  color: var(--c-white);
  font-size: 13px;
  font-weight: 500;
  line-height: 1.2;
}
.news-page__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 30px;
}
.news-page__back {
  padding-inline: 22px 26px;
  gap: 8px;
}
.news-page__back::before {
  content: "";
  width: 6px;
  height: 6px;
  border-left: 2px solid currentColor;
  border-bottom: 2px solid currentColor;
  transform: rotate(45deg);
}
.news-page__cta {
  padding-inline: 46px;
}

@media (max-width: 760px) {
  .news-page {
    margin-top: 18px;
  }
  .news-page__title {
    font-size: 20px;
    margin-bottom: 14px;
  }
  .news-page__img {
    margin-bottom: 18px;
  }
  .news-page__body {
    font-size: 14px;
    line-height: 20px;
  }
  .news-page__actions {
    flex-direction: column;
    gap: 8px;
  }
  .news-page__back, .news-page__cta {
    width: 100%;
    padding-inline: 0;
  }
  .news-page__cta {
    order: 1;
  }
  .news-page__back {
    order: 2;
  }
}
/* ---------- «Рекомендуемые врачи» на странице акции ----------
   Карточка та же, что на «Врачах», и все её размеры идут через
   множитель --s. Раньше он считался от ширины окна, и при сужении
   экрана карточка мельчала вместе с ним, хотя колонка под неё не
   сужалась: на 1024 имя врача было 8.7px, специализация — 7.5px.
   Теперь множитель — от ширины колонки (контейнерный запрос): карточка
   рисовалась под колонку 342px (1050 при 1440 на три), так что меньше
   1 он почти не бывает, а сверху ограничен 1.333 — размер при 1920. */
.docs-rec {
  margin-top: 56px;
}
.docs-rec__title {
  margin: 0 0 10px;
  color: var(--c-navy);
  font-size: 24px;
  font-weight: 500;
  line-height: 1.2;
  text-transform: none;
}
.docs-rec__list {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(max(min(330px, 100%), (100% - 24px) / 3), 1fr));
  gap: 16px 12px;
}
.docs-rec .us-doc {
  container-type: inline-size;
}
.docs-rec .us-doc__card {
  --s: clamp(0.95px, 100cqw / 342, 1.333px);
  margin-top: calc(36 * var(--s));
}

@media (max-width: 760px) {
  .docs-rec {
    margin-top: 34px;
  }
  .docs-rec__title {
    font-size: 20px;
  }
  .docs-rec__list {
    grid-template-columns: 1fr;
    gap: 14px;
  }
  .docs-rec .us-doc__name {
    font-size: 15px;
  }
  .docs-rec .us-doc__roles {
    font-size: 12px;
    line-height: 1.25;
  }
  .docs-rec .us-doc__status,
  .docs-rec .us-doc__rating,
  .docs-rec .us-doc__book {
    font-size: 12px;
    right: auto;
    left: 0;
  }
}
/* ---------- Акции: три карточки в ряд, пропорции 570×352 ---------- */
.stock-list {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 30px;
}

.stock-item {
  display: block;
  overflow: hidden;
  border-radius: var(--r-lg);
}
.stock-item img {
  width: 100%;
  aspect-ratio: 570/352;
  object-fit: cover;
  transition: transform var(--t-base);
}
.stock-item:hover img {
  transform: scale(1.03);
}

@media (max-width: 1100px) {
  .stock-list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 640px) {
  .stock-list {
    grid-template-columns: 1fr;
  }
}
/* ---------- Отзывы: лента 1340 шире контейнера, две колонки по 652 ---------- */
/* ширина как на «Услугах» — 1400 при 1920, три карточки в ряд */
.reviews-list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
}

/* стекло, как панели на «Ценах»: снимок за страницей просвечивает */
/* на этой странице список идёт с зазором 30 — верхний ряд следом */
.reviews__top {
  --gap: 20px;
  margin-top: 36px;
}

.review-item {
  min-height: 176px;
  padding: 18px 24px;
  border: 1px solid var(--c-white);
  border-radius: 18px;
  background: rgba(255, 255, 255, 0.38);
  -webkit-backdrop-filter: blur(14px) saturate(140%);
  backdrop-filter: blur(14px) saturate(140%);
  box-shadow: none;
}

/* внутренности карточки поджимаем только здесь: те же правила
   работают и в блоке отзывов на странице врача */
.reviews-list .review__head {
  gap: 11px;
  margin-bottom: 10px;
}
.reviews-list .review__text {
  margin-bottom: 10px;
  line-height: 1.45;
}

@media (max-width: 1400px) {
  .reviews-list {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (max-width: 1100px) {
  .reviews-list {
    grid-template-columns: 1fr;
  }
}
/* ============================================================
   Карточка врача. Общая для карусели «Ведущих специалистов»
   на «Услугах» и для сетки на странице «Врачи», поэтому лежит
   здесь, а не в uslugi.css. Величины — пиксели донора при 1920,
   делённые на 1.3333, поэтому множитель --s обязателен.
   ============================================================ */
.us-doc__card {
  position: relative;
  display: flex;
  gap: calc(3 * var(--s));
  height: calc(148 * var(--s));
  margin-left: calc(58 * var(--s));
  border: 1px solid var(--c-white);
  border-radius: calc(36 * var(--s));
  background: rgba(255, 255, 255, 0.3);
  -webkit-backdrop-filter: blur(7px) saturate(125%);
  backdrop-filter: blur(7px) saturate(125%);
  transition: background var(--t-base);
}
.us-doc__card:hover {
  background: rgba(255, 255, 255, 0.5);
}
.us-doc__hit {
  position: absolute;
  inset: 0 0 0 calc(-58 * var(--s));
  z-index: 2;
}
.us-doc__img {
  flex: none;
  width: calc(145 * var(--s));
  height: calc(184 * var(--s) - 1px);
  margin: calc(-36 * var(--s)) 0 0 calc(-58 * var(--s));
  border-radius: calc(36 * var(--s)) 0 0 calc(36 * var(--s));
  overflow: hidden;
}
.us-doc__img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: top center;
}
.us-doc__body {
  display: flex;
  flex-direction: column;
  min-width: 0;
  padding: calc(12 * var(--s)) calc(24 * var(--s)) calc(12 * var(--s)) 0;
}
.us-doc__name {
  margin: 0 0 calc(4.5 * var(--s));
  color: var(--c-navy);
  font-size: calc(12.25 * var(--s));
  font-weight: 700;
  line-height: calc(13 * var(--s));
}
.us-doc__status {
  margin: 0 0 calc(6 * var(--s));
  color: var(--c-berry);
  font-size: calc(10.5 * var(--s));
  font-weight: 500;
  line-height: calc(10.5 * var(--s));
}
.us-doc__status:empty {
  display: none;
}
.us-doc__roles {
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  margin: 0 0 calc(11 * var(--s));
  color: rgba(32, 47, 90, 0.5);
  font-size: calc(10.5 * var(--s));
  line-height: calc(11.5 * var(--s));
}
.us-doc__rating {
  display: flex;
  align-items: center;
  gap: calc(12 * var(--s));
  color: #0F295D;
  font-size: calc(10.5 * var(--s));
  font-weight: 500;
  line-height: calc(12.75 * var(--s));
}
.us-doc__rating span {
  position: relative;
  padding-left: calc(16.5 * var(--s));
  color: var(--c-berry);
}
.us-doc__rating span::before {
  content: "";
  position: absolute;
  left: 0;
  top: calc(-1.5 * var(--s));
  width: calc(15 * var(--s));
  height: calc(15 * var(--s));
  background: var(--c-berry);
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 4.2l2.5 5 5.5.8-4 3.9 1 5.5-5-2.6-5 2.6 1-5.5-4-3.9 5.5-.8z' fill='%23000' stroke='%23000' stroke-width='2.8' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 4.2l2.5 5 5.5.8-4 3.9 1 5.5-5-2.6-5 2.6 1-5.5-4-3.9 5.5-.8z' fill='%23000' stroke='%23000' stroke-width='2.8' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat;
}
.us-doc__book {
  position: relative;
  z-index: 3;
  margin-top: auto;
  color: var(--c-berry);
  font-size: calc(10.5 * var(--s));
  font-weight: 700;
  line-height: calc(12 * var(--s));
  display: inline-flex;
  align-items: center;
  align-self: flex-start;
  margin-left: calc(10 * var(--s));
  gap: calc(4 * var(--s));
  transition: color var(--t-fast);
}
.us-doc__book::before {
  content: "";
  position: absolute;
  inset: calc(-7 * var(--s)) calc(-13 * var(--s));
  z-index: -1;
  border-radius: var(--r-pill);
  background: var(--c-berry);
  opacity: 0;
  transition: opacity var(--t-fast);
}
.us-doc__book:hover::before {
  opacity: 1;
}
.us-doc__book:hover {
  color: var(--c-white);
}
.us-doc__book::after {
  content: "";
  position: relative;
  top: 1px;
  width: calc(3.2 * var(--s));
  height: calc(5.6 * var(--s));
  background: currentColor;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 14' fill='none'%3E%3Cpath d='M1 1l6 6-6 6' stroke='%23000' stroke-width='2.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 14' fill='none'%3E%3Cpath d='M1 1l6 6-6 6' stroke='%23000' stroke-width='2.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat;
}
.us-doc__play {
  position: absolute;
  left: calc(-53 * var(--s));
  bottom: 0;
  z-index: 3;
  width: calc(38 * var(--s));
  height: calc(38 * var(--s));
  border: 0;
  border-radius: 50%;
  background: url("/local/templates/dnk174_2026/css/../images/icons/Video.svg") center/contain no-repeat;
}
.us-doc__play::before {
  content: "видеовизитка";
  position: absolute;
  left: 50%;
  bottom: calc(100% - 3 * var(--s));
  z-index: 4;
  display: grid;
  place-items: center;
  width: calc(94.5 * var(--s));
  height: calc(33 * var(--s));
  padding-bottom: calc(6 * var(--s));
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 126 44'%3E%3Cpath d='M10 .5h106a9.5 9.5 0 0 1 9.5 9.5v16a9.5 9.5 0 0 1-9.5 9.5H70.2l-5.3 6.9a2 2 0 0 1-3.1 0L56.1 35.5H10A9.5 9.5 0 0 1 .5 26V10A9.5 9.5 0 0 1 10 .5Z' fill='%23ffffff' fill-opacity='.6' stroke='%23ffffff'/%3E%3C/svg%3E") center/100% 100% no-repeat;
  color: rgba(32, 47, 90, 0.5);
  font-size: calc(9.75 * var(--s));
  font-weight: 500;
  white-space: nowrap;
  opacity: 0;
  transform: translateX(-50%);
  pointer-events: none;
  transition: opacity var(--t-fast);
}
.us-doc__play:hover::before {
  opacity: 1;
}

/* Телефон, «Рекомендуемые врачи» и страница «Врачи»: плашка растёт по
   тексту. В фиксированные 148 не влезали ФИО и учёная степень в две
   строки — «Записаться» прижималась вплотную к рейтингу, и подложка
   кнопки (выступает на 7) его накрывала. Снимок тянется на всю высоту
   плашки плюс вынос вверх, как и раньше доходя до её нижнего края;
   картинка внутри — абсолютом, чтобы не распирать плашку своей высотой. */
@media (max-width: 760px) {
  .docs-rec .us-doc__card,
  .page-inner--doctors .us-doc__card {
    height: auto;
    min-height: calc(148 * var(--s));
  }
  .docs-rec .us-doc__img,
  .page-inner--doctors .us-doc__img {
    position: relative;
    align-self: stretch;
    height: auto;
    margin-bottom: -1px;
  }
  .docs-rec .us-doc__img img,
  .page-inner--doctors .us-doc__img img {
    position: absolute;
    inset: 0;
  }
  .docs-rec .us-doc__rating,
  .page-inner--doctors .us-doc__rating {
    margin-bottom: 10px;
  }
}
/* наведение на карточку подсвечивает «Записаться» ягодным */
/* Снимок интерьера закреплён за окном и не едет при прокрутке.
   На iOS background-attachment: fixed не работает — там снимок
   просто прокручивается вместе со страницей, вёрстка не ломается. */
.page-inner--photo {
  background-attachment: fixed;
  background-position: center top;
  background-repeat: no-repeat;
  background-size: cover;
}
.page-inner--doctors {
  --s: calc(100vw / 1440);
  padding-bottom: 150px;
  background-image: url("/local/templates/dnk174_2026/css/../images/vrachi-bg.png");
}
.page-inner--reviews {
  padding-bottom: 150px;
  background-image: url("/local/templates/dnk174_2026/css/../images/otzyvy-bg.png");
}
.page-inner--about {
  background-image: url("/local/templates/dnk174_2026/css/../images/o-klinike-bg.png");
}
.page-inner--contacts {
  background-image: url("/local/templates/dnk174_2026/css/../images/kontakty-bg.png");
}
.page-inner--prices {
  background-image: url("/local/templates/dnk174_2026/css/../images/prays-bg.png");
}
.page-inner--news {
  background-image: url("/local/templates/dnk174_2026/css/../images/o-klinike-bg.png");
}
.page-inner--offers {
  background-image: url("/local/templates/dnk174_2026/css/../images/o-klinike-bg.png");
}
.page-inner--doctors > .container {
  position: relative;
  z-index: 1;
}

/* ============================================================
   Стекло на страницах с закреплённым снимком. Сплошные белые
   панели перекрывали бы фото, поэтому на «Врачах», «Отзывах»,
   «О клинике», «Контактах» и «Ценах» они одинаково прозрачные:
   заливка 0.6, размытие и белая обводка вместо тени.
   ============================================================ */
.clinic-card,
.side-menu,
.merit,
.platform,
.price-nav {
  border: 1px solid var(--c-white);
  background: rgba(255, 255, 255, 0.6);
  -webkit-backdrop-filter: blur(14px) saturate(140%);
  backdrop-filter: blur(14px) saturate(140%);
  box-shadow: none;
}

.clinic-card:hover {
  box-shadow: none;
  background: rgba(255, 255, 255, 0.72);
}

/* боковое меню разделов — легче остальных панелей, оно длинное
   и сплошной заливкой перекрывало бы снимок на всю высоту */
.price-nav {
  background: rgba(255, 255, 255, 0.12);
}

/* фильтры отзывов — те же таблетки-стёклышки */
.filters button {
  border-color: rgba(255, 255, 255, 0.8);
  background: rgba(255, 255, 255, 0.45);
  -webkit-backdrop-filter: blur(12px) saturate(140%);
  backdrop-filter: blur(12px) saturate(140%);
}
.filters button.is-active {
  background: var(--c-berry);
  border-color: var(--c-berry);
  color: var(--c-white);
}

/* карта на «Контактах»: та же, что на «Услугах», во всю ширину секции */
/* uslugi.css подключён после page.css, поэтому нужен вес двух классов */
.us-map.ct-map {
  min-height: calc(400 * var(--s));
  margin-top: calc(70 * var(--s));
}

.ct-map .us-map__canvas,
.ct-map .us-map__pins {
  top: 0;
  height: calc(400 * var(--s));
}

/* «Звонки принимаются» уходит во вторую колонку — карточка становится ниже */
.clinic-card__cols {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px 18px;
  margin-bottom: 14px;
}
.clinic-card__cols > div {
  display: flex;
  flex-direction: column;
}

/* ============================================================
   Контакты по схеме донора: карта во всю ширину, поверх неё слева
   стеклянная панель с адресами-гармошкой, сверху — города.
   ============================================================ */
.ct {
  position: relative;
  padding-block: calc(30 * var(--s)) 150px;
}
.ct__over {
  display: grid;
  grid-template-columns: calc(285 * var(--s)) 1fr;
  gap: calc(19 * var(--s));
  align-items: stretch;
}
.ct__side {
  grid-column: 1;
  grid-row: 1;
}
.ct__right {
  grid-column: 2;
  grid-row: 1;
  position: relative;
  display: flex;
  flex-direction: column;
}
.ct__map {
  flex: none;
  height: calc(100vh - 182px);
  border: 1px solid var(--c-white);
  border-radius: calc(15 * var(--s));
  overflow: hidden;
}
.ct__map iframe {
  display: block;
  width: 100%;
  height: 100%;
  border: 0;
  pointer-events: none;
  filter: grayscale(1);
  opacity: 0.55;
  transition: filter 0.6s ease, opacity 0.6s ease;
}
.ct__map:hover iframe {
  filter: none;
  opacity: 1;
}
.ct__side {
  display: flex;
  flex-direction: column;
  gap: calc(14 * var(--s));
  padding-bottom: 360px;
}
.ct__cities {
  z-index: 2;
  display: grid;
  grid-auto-flow: column;
  grid-auto-columns: 1fr;
  width: max-content;
  max-width: 100%;
  gap: calc(9 * var(--s));
  margin-bottom: calc(12 * var(--s));
}
.ct__cities .city-tab {
  min-width: 0;
  min-height: 48px;
  font-size: 16px;
  font-weight: 500;
  padding-inline: 46px;
}
.ct__cities .city-tab {
  position: relative;
  border-color: var(--c-white);
  color: var(--c-navy);
  background: rgba(255, 255, 255, 0.4);
  -webkit-backdrop-filter: blur(12px) saturate(140%);
  backdrop-filter: blur(12px) saturate(140%);
}
.ct__cities .city-tab:hover {
  border-color: var(--c-navy);
  background: var(--c-navy);
  color: var(--c-white);
}
.ct__cities .city-tab.is-active {
  border-color: var(--c-berry);
  background: var(--c-berry);
  color: var(--c-white);
}
.ct__cities .city-tab i {
  margin-left: 8px;
  color: rgba(32, 47, 90, 0.45);
  font-style: normal;
  font-weight: 400;
}
.ct__cities .city-tab:hover i,
.ct__cities .city-tab.is-active i {
  color: rgba(255, 255, 255, 0.7);
}
.ct__cities .city-tab::before {
  content: "";
  position: absolute;
  left: 18px;
  top: 50%;
  width: 24px;
  height: 24px;
  transform: translateY(-50%);
  background: currentColor;
  -webkit-mask: url("data:image/svg+xml,%3Csvg width=%2226%22 height=%2226%22 viewBox=%220 0 26 26%22 fill=%22none%22 xmlns=%22http://www.w3.org/2000/svg%22%3E%3Cpath fill-rule=%22evenodd%22 clip-rule=%22evenodd%22 d=%22M4 10.937C4 5.65349 8.20404 1.34601 13.4201 1.34601C18.6361 1.34601 22.8401 5.65349 22.8401 10.937C22.8401 13.4876 22.1145 16.227 20.8312 18.5932C19.5501 20.9562 17.679 23.0096 15.3374 24.1064C14.7373 24.3879 14.0827 24.5338 13.4201 24.5338C12.7574 24.5338 12.1028 24.3879 11.5027 24.1064C9.16111 23.0096 7.29002 20.9572 6.00889 18.5932C4.72561 16.227 4 13.4876 4 10.937ZM13.4201 2.96374C9.12236 2.96374 5.61487 6.51951 5.61487 10.937C5.61487 13.1986 6.26404 15.6737 7.42782 17.821C8.59268 19.9704 10.2398 21.7294 12.1863 22.6407C12.5723 22.8219 12.9933 22.9158 13.4195 22.9158C13.8457 22.9158 14.2668 22.8219 14.6527 22.6407C16.6003 21.7294 18.2474 19.9704 19.4123 17.821C20.5761 15.6748 21.2252 13.1986 21.2252 10.937C21.2252 6.51951 17.7178 2.96374 13.4201 2.96374ZM13.4201 8.35618C13.102 8.35618 12.787 8.41894 12.4931 8.54089C12.1992 8.66284 11.9322 8.84158 11.7072 9.06691C11.4823 9.29224 11.3039 9.55975 11.1821 9.85416C11.0604 10.1486 10.9978 10.4641 10.9978 10.7828C10.9978 11.1014 11.0604 11.417 11.1821 11.7114C11.3039 12.0058 11.4823 12.2733 11.7072 12.4986C11.9322 12.724 12.1992 12.9027 12.4931 13.0247C12.787 13.1466 13.102 13.2094 13.4201 13.2094C14.0625 13.2094 14.6786 12.9537 15.1329 12.4986C15.5871 12.0436 15.8424 11.4263 15.8424 10.7828C15.8424 10.1392 15.5871 9.52199 15.1329 9.06691C14.6786 8.61184 14.0625 8.35618 13.4201 8.35618ZM9.38289 10.7828C9.38289 9.71015 9.80823 8.68146 10.5653 7.923C11.3225 7.16454 12.3493 6.73845 13.4201 6.73845C14.4908 6.73845 15.5176 7.16454 16.2748 7.923C17.0319 8.68146 17.4572 9.71015 17.4572 10.7828C17.4572 11.8554 17.0319 12.8841 16.2748 13.6425C15.5176 14.401 14.4908 14.8271 13.4201 14.8271C12.3493 14.8271 11.3225 14.401 10.5653 13.6425C9.80823 12.8841 9.38289 11.8554 9.38289 10.7828Z%22 fill=%22%230F295D%22/%3E%3C/svg%3E") center/contain no-repeat;
  mask: url("data:image/svg+xml,%3Csvg width=%2226%22 height=%2226%22 viewBox=%220 0 26 26%22 fill=%22none%22 xmlns=%22http://www.w3.org/2000/svg%22%3E%3Cpath fill-rule=%22evenodd%22 clip-rule=%22evenodd%22 d=%22M4 10.937C4 5.65349 8.20404 1.34601 13.4201 1.34601C18.6361 1.34601 22.8401 5.65349 22.8401 10.937C22.8401 13.4876 22.1145 16.227 20.8312 18.5932C19.5501 20.9562 17.679 23.0096 15.3374 24.1064C14.7373 24.3879 14.0827 24.5338 13.4201 24.5338C12.7574 24.5338 12.1028 24.3879 11.5027 24.1064C9.16111 23.0096 7.29002 20.9572 6.00889 18.5932C4.72561 16.227 4 13.4876 4 10.937ZM13.4201 2.96374C9.12236 2.96374 5.61487 6.51951 5.61487 10.937C5.61487 13.1986 6.26404 15.6737 7.42782 17.821C8.59268 19.9704 10.2398 21.7294 12.1863 22.6407C12.5723 22.8219 12.9933 22.9158 13.4195 22.9158C13.8457 22.9158 14.2668 22.8219 14.6527 22.6407C16.6003 21.7294 18.2474 19.9704 19.4123 17.821C20.5761 15.6748 21.2252 13.1986 21.2252 10.937C21.2252 6.51951 17.7178 2.96374 13.4201 2.96374ZM13.4201 8.35618C13.102 8.35618 12.787 8.41894 12.4931 8.54089C12.1992 8.66284 11.9322 8.84158 11.7072 9.06691C11.4823 9.29224 11.3039 9.55975 11.1821 9.85416C11.0604 10.1486 10.9978 10.4641 10.9978 10.7828C10.9978 11.1014 11.0604 11.417 11.1821 11.7114C11.3039 12.0058 11.4823 12.2733 11.7072 12.4986C11.9322 12.724 12.1992 12.9027 12.4931 13.0247C12.787 13.1466 13.102 13.2094 13.4201 13.2094C14.0625 13.2094 14.6786 12.9537 15.1329 12.4986C15.5871 12.0436 15.8424 11.4263 15.8424 10.7828C15.8424 10.1392 15.5871 9.52199 15.1329 9.06691C14.6786 8.61184 14.0625 8.35618 13.4201 8.35618ZM9.38289 10.7828C9.38289 9.71015 9.80823 8.68146 10.5653 7.923C11.3225 7.16454 12.3493 6.73845 13.4201 6.73845C14.4908 6.73845 15.5176 7.16454 16.2748 7.923C17.0319 8.68146 17.4572 9.71015 17.4572 10.7828C17.4572 11.8554 17.0319 12.8841 16.2748 13.6425C15.5176 14.401 14.4908 14.8271 13.4201 14.8271C12.3493 14.8271 11.3225 14.401 10.5653 13.6425C9.80823 12.8841 9.38289 11.8554 9.38289 10.7828Z%22 fill=%22%230F295D%22/%3E%3C/svg%3E") center/contain no-repeat;
  opacity: 0;
  transition: opacity var(--t-base);
}
.ct__cities .city-tab.is-active::before {
  opacity: 1;
}
.ct__panel {
  display: flex;
  flex-direction: column;
}
.ct__list {
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.ct__item {
  scroll-margin-top: 98px;
  border: 1px solid var(--c-white);
  border-radius: calc(12 * var(--s));
  background: rgba(255, 255, 255, 0.42);
  -webkit-backdrop-filter: blur(16px) saturate(140%);
  backdrop-filter: blur(16px) saturate(140%);
  overflow: hidden;
}
.ct__title {
  position: relative;
  z-index: 1;
  margin: 0;
  padding: calc(6 * var(--s)) 0 calc(14 * var(--s)) calc(15 * var(--s));
  color: var(--c-navy);
  font-size: calc(16.5 * var(--s));
  font-weight: 500;
}
.ct__head {
  position: relative;
  display: block;
  width: 100%;
  padding: calc(16 * var(--s)) calc(46 * var(--s)) calc(16 * var(--s)) calc(24 * var(--s));
  border: 0;
  background: none;
  font: inherit;
  text-align: left;
  cursor: pointer;
}
.ct__head::after {
  content: "";
  position: absolute;
  right: calc(15 * var(--s));
  top: 50%;
  width: calc(21 * var(--s));
  height: calc(21 * var(--s));
  background: var(--c-sky-strong);
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32'%3E%3Ccircle cx='16' cy='16' r='14.6' fill='none' stroke='%23000' stroke-width='1.2'/%3E%3Cpath d='M11.8 14.2L16 18.3l4.2-4.1' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32'%3E%3Ccircle cx='16' cy='16' r='14.6' fill='none' stroke='%23000' stroke-width='1.2'/%3E%3Cpath d='M11.8 14.2L16 18.3l4.2-4.1' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat;
  opacity: 0.59;
  transform: translateY(-50%);
  transition: transform var(--t-fast), opacity var(--t-fast), background var(--t-fast);
}
.ct__head:hover::after {
  background: var(--c-berry);
  opacity: 1;
}
.ct__item.is-open .ct__head::after {
  background: var(--c-berry);
  opacity: 1;
  transform: translateY(-50%) rotate(180deg);
}
.ct__head span {
  display: block;
  color: var(--c-berry);
  font-size: calc(10.5 * var(--s));
  line-height: 1.15;
}
.ct__head b {
  display: block;
  color: var(--c-navy);
  font-size: calc(12.5 * var(--s));
  font-weight: 600;
  line-height: 1.2;
}
.ct__body {
  display: none;
  padding: 0 calc(12 * var(--s)) calc(12 * var(--s));
}
.ct__label, .ct__hours, .ct__tel, .ct__mail {
  padding-left: calc(12 * var(--s));
}
.ct__item.is-open .ct__body {
  display: block;
}
.ct__photo {
  width: 100%;
  height: calc(140 * var(--s));
  margin-bottom: calc(9 * var(--s));
  border-radius: calc(15 * var(--s));
  object-fit: cover;
}
.ct__label {
  display: flex;
  align-items: center;
  margin: 0 0 calc(2 * var(--s));
  color: var(--c-navy);
  font-size: calc(10.5 * var(--s));
  font-weight: 600;
}
.ct__label .ico {
  color: var(--c-berry);
}
.ct__hours {
  margin: 0 0 calc(7 * var(--s));
  padding: 0 0 0 calc(12 * var(--s));
  list-style: none;
}
.ct__hours li {
  color: rgba(32, 47, 90, 0.5);
  font-size: calc(10 * var(--s));
  line-height: 1.3;
}
.ct__tel {
  display: block;
  margin-top: calc(-2 * var(--s));
  margin-bottom: calc(7 * var(--s));
  color: var(--c-sky-strong);
  font-size: calc(13 * var(--s));
  font-weight: 600;
  line-height: 1.15;
  transition: color var(--t-fast);
}
.ct__tel:hover {
  color: var(--c-berry);
}
.ct__mail {
  display: block;
  margin-bottom: calc(10 * var(--s));
  color: var(--c-sky-strong);
  font-size: calc(10 * var(--s));
  text-decoration: underline;
}
.ct__mail:hover {
  color: var(--c-berry);
}
.ct__body .btn {
  width: 100%;
  padding-block: calc(9 * var(--s));
}

/* Планшет и ноутбук (от 761). Блок собран в пропорциях 1440, и множитель
   от окна ужимал его ниже 1440: часы работы на 1280 были 8.9px, на 1101 —
   7.6px. Множитель — не меньше, чем при 1440, шире — растёт с окном,
   а строкам даём пол в пикселях (через max(): на больших экранах он
   ничего не уменьшает).
   Раскладка — две колонки до самого телефона: закреп карты в main.js
   рассчитан на них. Раньше на 761–1100 сетка становилась одноколоночной,
   а колонка карты (grid-column: 2) порождала вторую колонку в ~680px —
   адреса сжимались до 150px, карта уходила за край экрана. */
@media (min-width: 761px) {
  .ct {
    --s: max(1px, 100vw / 1440);
  }
  .ct__title {
    font-size: max(18px, 16.5 * var(--s));
  }
  .ct__head span {
    font-size: max(13px, 10.5 * var(--s));
  }
  .ct__head b {
    font-size: max(15px, 12.5 * var(--s));
  }
  .ct__label {
    font-size: max(14px, 10.5 * var(--s));
  }
  .ct__hours li, .ct__mail {
    font-size: max(14px, 10 * var(--s));
  }
  .ct__tel {
    font-size: max(16px, 13 * var(--s));
  }
}
/* планшет: колонка карты уже — три города делят её поровну, без метки
   (ей нужно поле в 46px), как на телефоне */
@media (min-width: 761px) and (max-width: 1100px) {
  .ct__cities {
    grid-auto-flow: row;
    grid-template-columns: repeat(3, 1fr);
    width: 100%;
  }
  .ct__cities .city-tab {
    padding-inline: 8px;
    font-size: 15px;
  }
  .ct__cities .city-tab::before {
    display: none;
  }
}
/* метка выбранного адреса: виджет центрируется на точке, поэтому
   держим её ровно по центру карты, остриём на середину */
.ct__map {
  position: relative;
}
.ct__pin {
  position: absolute;
  left: 50%;
  top: 50%;
  z-index: 2;
  width: 64px;
  height: 58px;
  transform: translate(-50%, -97%);
  background: url("/local/templates/dnk174_2026/css/../images/icons/point-map.svg") center/contain no-repeat;
  pointer-events: none;
}

/* ============================================================
   Стрелки каруселей: спят, пока курсор не над блоком, и
   проявляется только та, в чью половину он вошёл. Класс ставит
   скрипт. Правило только для мыши: на тач-устройствах наведения
   нет, там стрелки видны всегда.
   ============================================================ */
@media (hover: hover) and (pointer: fine) {
  .carousel__nav,
  .promo__nav,
  .peers__nav {
    opacity: 0;
    pointer-events: none;
    transition: opacity var(--t-base), background var(--t-fast), color var(--t-fast);
  }
  .carousel__nav[disabled] {
    opacity: 0;
  }
  .is-aim-prev > .carousel__nav--prev:not([disabled]),
  .is-aim-prev > .promo__nav--prev,
  .is-aim-prev > .peers__nav--prev,
  .is-aim-next > .carousel__nav--next:not([disabled]),
  .is-aim-next > .promo__nav--next,
  .is-aim-next > .peers__nav--next {
    opacity: 1;
    pointer-events: auto;
  }
}
/* ---------- Метки клиник на карте ----------
   Общие для «Услуг», «Цен», главной и страницы врача, поэтому
   лежат здесь, а не в uslugi.css. Величины top/height подогнаны
   под полотно «Услуг»; остальные страницы их переопределяют. */
.us-map__pins {
  position: absolute;
  top: calc(112.5 * var(--s));
  left: 0;
  right: 0;
  height: calc(412.5 * var(--s));
  pointer-events: none;
}
.us-map__pin {
  position: absolute;
  left: calc(50% + var(--x) * var(--k, 1));
  top: calc(50% + var(--y) * var(--k, 1));
  width: 64px;
  height: 58px;
  transform: translate(-50%, -97%);
  background: url("/local/templates/dnk174_2026/css/../images/icons/point-map.svg") center/contain no-repeat;
}

/* ---------- Один снимок снят крупнее остальных ----------
   Кадр 206 (Окуловских, Слепых, Миломаева, Жиянгулова) взят ближе,
   голова в нём заметно больше. Ужимаем его прямо в рамке, низ
   остаётся на краю плашки. Фон рамки не трогаем: у снимка прозрачный
   фон, и белая заливка вылезала прямоугольником. */
.us-doc__img img[src$="okulovskih.webp"],
.us-doc__img img[src$="slepyh.webp"],
.us-doc__img img[src$="milomaeva.webp"],
.us-doc__img img[src$="zhiyangulova.webp"] {
  transform: scale(0.88);
  transform-origin: bottom center;
}

/* ---------- Значок площадки в углу карточки отзыва ---------- */
.review,
.review-item {
  position: relative;
}

.review__src {
  position: absolute;
  top: 18px;
  right: 20px;
  width: 22px;
  height: 22px;
  object-fit: contain;
  opacity: 0.9;
  pointer-events: none;
}

/* ---------- Вкладки и сортировка на «Отзывах» ---------- */
/* панель вкладок лежит на стеклянной подложке — как карточки рейтинга выше */
.rv-tools {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 34px;
  padding: 10px 10px 10px 12px;
  border: 1px solid var(--c-white);
  border-radius: 33px;
  background: rgba(255, 255, 255, 0.3);
  -webkit-backdrop-filter: blur(14px) saturate(140%);
  backdrop-filter: blur(14px) saturate(140%);
}

.rv-tabs {
  display: flex;
  gap: 4px;
}

.rv-tab {
  height: 46px;
  padding: 0 12px 2px;
  border: 1px solid transparent;
  border-radius: var(--r-pill);
  background: none;
  color: var(--c-navy);
  font: inherit;
  font-size: 15px;
  font-weight: 600;
  cursor: pointer;
  transition: background var(--t-fast), color var(--t-fast), border-color var(--t-fast);
}
.rv-tab:hover {
  color: var(--c-berry);
}
.rv-tab.is-active {
  border-color: transparent;
  background: var(--c-berry);
  color: var(--c-white);
  font-weight: 600;
}
.rv-tab.is-active:hover {
  color: var(--c-white);
}

.rv-add {
  height: 46px;
  padding-inline: 20px;
}
.rv-add__ico {
  display: none;
}

/* сортировка стоит между вкладками и кнопкой, в той же стеклянной панели */
.rv-sort {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 6px;
  margin-left: auto;
}
.rv-sort__label {
  margin-right: 2px;
  color: rgba(32, 47, 90, 0.5);
  font-size: 14px;
}

/* подложек у сортировки нет — выбранный пункт отмечаем ягодным цветом */
.rv-chip {
  height: 34px;
  padding: 0 10px 2px;
  border: 1px solid transparent;
  border-radius: var(--r-pill);
  background: none;
  color: #0F295D;
  font: inherit;
  font-size: 14px;
  cursor: pointer;
  transition: color var(--t-fast), border-color var(--t-fast);
}
.rv-chip:hover {
  color: var(--c-berry);
}
.rv-chip.is-active {
  border-color: var(--c-white);
  color: var(--c-berry);
  font-weight: 600;
}

.rv-empty {
  margin: 28px 0 0;
  color: rgba(32, 47, 90, 0.6);
  font-size: 16px;
}

.reviews-list {
  margin-top: 22px;
}

/* ============================================================
   Страница результатов поиска
   Снято с донора @1440: чипы 38px со скруглением 100 и рамкой,
   заголовок раздела 20/600, строки 69px со скруглением 22 и
   зазором 5px, картинка 51×51, кнопка 151×48 со скруглением 25.
   Цвета — наши.
   ============================================================ */
.sr-form {
  margin-bottom: 0;
}

.sr-found {
  margin-top: 26px;
}
.sr-found__label {
  margin: 0 0 10px;
  color: rgba(32, 47, 90, 0.5);
  font-size: 15px;
}
.sr-found__chips {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.sr-chip {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  height: 38px;
  padding: 0 20px 2px;
  border: 1px solid var(--c-white);
  border-radius: 100px;
  background: rgba(255, 255, 255, 0.45);
  color: var(--c-navy);
  font-size: 16px;
  font-weight: 500;
  transition: background var(--t-fast), color var(--t-fast);
}
.sr-chip b {
  color: var(--c-berry);
  font-weight: 600;
}
.sr-chip:hover {
  background: rgba(255, 255, 255, 0.8);
  color: var(--c-berry);
}

.sr-results {
  margin-top: 36px;
}

.sr-group + .sr-group {
  margin-top: 38px;
}
.sr-group__title {
  margin: 0 0 14px;
  color: var(--c-navy);
  font-size: 20px;
  font-weight: 600;
}
.sr-group__list {
  display: flex;
  flex-direction: column;
  gap: 5px;
}

.sr-item {
  display: flex;
  align-items: center;
  gap: 16px;
  min-height: 69px;
  padding: 9px 9px 9px 12px;
  border: 1px solid var(--c-white);
  border-radius: 22px;
  background: rgba(255, 255, 255, 0.55);
  -webkit-backdrop-filter: blur(14px) saturate(140%);
  backdrop-filter: blur(14px) saturate(140%);
  transition: background var(--t-fast), transform var(--t-fast);
}
.sr-item:hover {
  background: rgba(255, 255, 255, 0.82);
  transform: translateY(-1px);
}
.sr-item__left {
  display: flex;
  align-items: center;
  gap: 16px;
  flex: 1;
  min-width: 0;
}
.sr-item__pic {
  flex: none;
  display: block;
  width: 51px;
  height: 51px;
  border-radius: 14px;
  overflow: hidden;
  background: rgba(138, 201, 255, 0.22);
}
.sr-item__pic img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: top center;
}
.sr-item__pic--empty {
  background: #fff;
  border: 1px solid rgba(32, 47, 90, 0.08);
  display: grid;
  place-items: center;
}
.sr-item__pic--empty img {
  width: 34px;
  height: 34px;
  object-fit: contain;
}
.sr-item__info {
  display: flex;
  flex-direction: column;
  gap: 2px;
  min-width: 0;
}
.sr-item__main {
  display: flex;
  align-items: baseline;
  gap: 10px;
  min-width: 0;
}
.sr-item__title {
  color: var(--c-navy);
  font-size: 18px;
  line-height: 1.25;
}
.sr-item__title b {
  color: var(--c-berry);
  font-weight: 600;
}
.sr-item__spec {
  color: rgba(32, 47, 90, 0.55);
  font-size: 14px;
  line-height: 1.35;
}
.sr-item__section {
  color: var(--c-sky-strong);
  font-size: 13px;
}
.sr-item__code {
  flex: none;
  color: rgba(32, 47, 90, 0.45);
  font-size: 13px;
}
.sr-item__right {
  display: flex;
  align-items: center;
  gap: 18px;
  flex: none;
}
.sr-item__price {
  color: var(--c-berry);
  font-size: 18px;
  font-weight: 600;
  white-space: nowrap;
}
.sr-item__btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 151px;
  height: 48px;
  padding-bottom: 2px;
  border: 1px solid var(--c-berry);
  border-radius: 25px;
  color: var(--c-berry);
  font-size: 14px;
  font-weight: 500;
  transition: background var(--t-fast), color var(--t-fast);
}
.sr-item__btn:hover {
  background: var(--c-berry);
  color: var(--c-white);
}

.sr-more {
  display: block;
  margin: 14px auto 0;
  padding: 10px 26px 12px;
  border: 1px solid var(--c-berry);
  border-radius: var(--r-pill);
  background: none;
  color: var(--c-berry);
  font: inherit;
  font-size: 14px;
  cursor: pointer;
  transition: background var(--t-fast), color var(--t-fast);
}
.sr-more:hover {
  background: var(--c-berry);
  color: var(--c-white);
}

.sr-empty {
  margin: 34px 0 0;
  color: rgba(32, 47, 90, 0.6);
  font-size: 16px;
}

.search-page .page-inner {
  padding-bottom: 150px;
}

/* цена и кнопка уходят под название только на телефоне: на планшете
   строка помещается, а перенос делал карточки высокими и пустыми */
@media (max-width: 760px) {
  .sr-item {
    flex-wrap: wrap;
  }
  .sr-item__right {
    width: 100%;
    justify-content: flex-end;
  }
  .sr-item__main {
    flex-wrap: wrap;
    row-gap: 0;
  }
}
/* ============================================================
   Плашка «Оставить отзыв» — те же стили, что у формы записи
   ============================================================ */
.rvpop__panel {
  position: relative;
  width: min(560px, 100%);
  max-height: 88vh;
  overflow-y: auto;
  padding: 24px 30px 26px;
  border: 1px solid var(--c-white);
  border-radius: 26px;
  background: var(--c-bg);
  box-shadow: 0 30px 70px rgba(32, 47, 90, 0.25);
}
.rvpop__panel::-webkit-scrollbar {
  width: 3px;
}
.rvpop__panel::-webkit-scrollbar-track {
  margin: 20px 0;
}
.rvpop__panel::-webkit-scrollbar-thumb {
  border-radius: 3px;
  background: var(--c-berry);
}
.rvpop__close {
  position: absolute;
  top: 16px;
  right: 20px;
  border: 0;
  background: none;
  color: rgba(32, 47, 90, 0.45);
  font-size: 28px;
  line-height: 1;
  cursor: pointer;
}
.rvpop__close:hover {
  color: var(--c-berry);
}
.rvpop__title {
  margin: 0 0 10px;
  color: var(--c-navy);
  font-size: 23px;
  font-weight: 700;
}
.rvpop__title span {
  color: inherit;
}
.rvpop__form {
  display: flex;
  flex-direction: column;
  gap: 9px;
}
.rvpop__label {
  margin: 0;
  color: rgba(32, 47, 90, 0.6);
  font-size: 13px;
}
.rvpop__mood {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 9px;
}
.rvpop__mood-btn {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 9px 14px;
  border: 1px solid rgba(32, 47, 90, 0.14);
  border-radius: 14px;
  background: var(--c-white);
  color: var(--c-navy);
  font: inherit;
  font-size: 15px;
  line-height: 1.2;
  text-align: left;
  cursor: pointer;
  transition: border-color var(--t-fast), color var(--t-fast);
}
.rvpop__mood-btn:hover {
  border-color: var(--c-berry);
}
.rvpop__mood-btn.is-active {
  border-color: var(--c-berry);
  color: var(--c-berry);
}
.rvpop__mood-btn[data-mood=improve]:hover, .rvpop__mood-btn[data-mood=improve].is-active {
  border-color: var(--c-sky-strong);
  color: var(--c-sky-strong);
}
.rvpop__face {
  flex: none;
  width: 26px;
  height: 26px;
  background: center/contain no-repeat;
}
.rvpop__face--good {
  background-image: url("/local/templates/dnk174_2026/css/../images/icons/smile-good.svg");
}
.rvpop__face--bad {
  background-image: url("/local/templates/dnk174_2026/css/../images/icons/smile-bad.svg");
}
.rvpop__field {
  width: 100%;
  padding: 9px 14px;
  border: 1px solid rgba(32, 47, 90, 0.14);
  border-radius: 14px;
  background: var(--c-white);
  color: var(--c-navy);
  font: inherit;
  font-size: 15px;
}
.rvpop__field::placeholder {
  color: rgba(32, 47, 90, 0.45);
}
.rvpop__field:focus {
  outline: 0;
  border-color: var(--c-berry);
}
.rvpop__field.is-bad {
  border-color: var(--c-berry);
  background: var(--c-berry-100);
}
.rvpop__field--text {
  resize: vertical;
  min-height: 96px;
}
.rvpop__agree {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  color: rgba(32, 47, 90, 0.6);
  font-size: 13px;
  line-height: 1.2;
}
.rvpop__agree input {
  margin-top: 2px;
  accent-color: var(--c-berry);
}
.rvpop__agree a {
  color: var(--c-navy);
  text-decoration: underline;
}
.rvpop__agree a:hover {
  color: var(--c-berry);
}
.rvpop__agree.is-bad span {
  color: var(--c-berry);
}
.rvpop__submit {
  align-self: flex-end;
  margin-top: 12px;
  min-width: 200px;
}
.rvpop__done {
  margin: 16px 0 0;
  color: var(--c-navy);
  font-size: 16px;
  line-height: 1.45;
}

/* смайлы у сортировки — значки с донора, перекрашенные в нашу палитру */
.rv-chip {
  display: inline-flex;
  align-items: center;
  gap: 6px;
}

.rv-face {
  flex: none;
  width: 19px;
  height: 19px;
  background: center/contain no-repeat;
}
.rv-face--good {
  background-image: url("/local/templates/dnk174_2026/css/../images/icons/smile-good.svg");
}
.rv-face--bad {
  background-image: url("/local/templates/dnk174_2026/css/../images/icons/smile-bad.svg");
}

/* выбранная оценка: «отлично» — ягодным, «есть что улучшить» — голубым */
.rv-chip[data-mood=improve].is-active {
  color: var(--c-sky-strong);
}
.rv-chip[data-mood=improve]:hover {
  color: var(--c-sky-strong);
}

/* отметка «есть что улучшить» в карточке отзыва — голубая */
.review__mark--bad {
  color: var(--c-sky-strong);
}

/* ---------- Кольцо вокруг оценки на «Отзывах» ----------
   Рисует canvas (см. main.js) — как на доноре. Здесь только размер. */
/* на «Отзывах» в плашке стоит кольцо — ему нужен воздух по краям */
.reviews__top .score {
  padding-block: 24px;
}

/* на главной плашка залита кремовым, на «Отзывах» осталась стеклянной */
.score--cream {
  background: #F4E4D7;
  -webkit-backdrop-filter: none;
  backdrop-filter: none;
}
.score__ring {
  position: relative;
  width: 196px;
  height: 196px;
}
.score__ring .score__num {
  font-size: 46px;
}
.score__ring .score__stars {
  font-size: 23px;
}
.score__canvas {
  display: block;
  width: 100%;
  height: 100%;
}
.score__in {
  position: absolute;
  inset: 0;
  display: grid;
  place-content: center;
  justify-items: center;
  row-gap: 6px;
}
.score__split {
  color: var(--c-berry);
  margin: 2px 0 0;
  line-height: 1.2;
  font-size: 16px;
  font-weight: 600;
  text-align: center;
}
.score__split b {
  font-size: 19px;
}
.score__split span {
  display: block;
  color: var(--c-sky-strong);
  font-size: 14px;
  font-weight: 400;
}
.score__split i {
  font-style: normal;
  font-weight: 700;
}

/* Звёзды в кольце зажигаются слева направо, одна за другой, вместе
   с ягодной дугой. Класс js-stars ставит строчный скрипт в шапке
   страницы — до первой отрисовки, иначе звёзды успевали мелькнуть.
   Без JS класса нет, и звёзды просто видны. */
.js-stars .score__ring .score__stars .star {
  opacity: 0;
  transform: scale(0.55);
}

.score__ring.is-lit .score__stars .star {
  animation: star-lit 0.62s cubic-bezier(0.22, 0.9, 0.3, 1.25) forwards;
}
.score__ring.is-lit .score__stars .star:nth-child(1) {
  animation-delay: 0.45s;
}
.score__ring.is-lit .score__stars .star:nth-child(2) {
  animation-delay: 0.63s;
}
.score__ring.is-lit .score__stars .star:nth-child(3) {
  animation-delay: 0.81s;
}
.score__ring.is-lit .score__stars .star:nth-child(4) {
  animation-delay: 0.99s;
}
.score__ring.is-lit .score__stars .star:nth-child(5) {
  animation-delay: 1.17s;
}
.score__ring .score__stars .star:nth-child(5) {
  color: var(--c-sky-strong);
}

/* там, где оценка не круглая — 2ГИС 4,8 и Google 4,9, — последняя
   звезда тоже голубая, как в кольце. У Яндекса и Продокторов ровные 5,0 —
   там все пять ягодные */
.platforms .platform:nth-child(2) .platform__stars .star:nth-child(5),
.platforms .platform:nth-child(3) .platform__stars .star:nth-child(5) {
  color: var(--c-sky-strong);
}

/* Звёзды на карточках площадок — второй заход: стартуют, когда дуга
   кольца дочерчена и его собственные звёзды уже зажглись (2,1 с против
   1,79 с у левой группы). Прячет их класс js-stars, зажигает скрипт
   кольца тем же is-lit. */
.js-stars .reviews__top:has(.score__ring) .platform__stars .star {
  opacity: 0;
  transform: scale(0.55);
}

.reviews__top.is-lit .platform__stars .star {
  animation: star-lit 0.62s cubic-bezier(0.22, 0.9, 0.3, 1.25) forwards;
}

/* Карточки идут внахлёст: шаг между ними короче, чем длина самой
   волны внутри карточки: вторая вступает, когда в первой ещё горят
   последние звёзды. Номер карточки и номер звезды держим
   в переменных, задержку считаем одной формулой. */
.platforms {
  --card-step: 0.36s;
}
.platforms .platform:nth-child(1) {
  --card: 0;
}
.platforms .platform:nth-child(2) {
  --card: 1;
}
.platforms .platform:nth-child(3) {
  --card: 2;
}
.platforms .platform:nth-child(4) {
  --card: 3;
}

.platform__stars .star:nth-child(1) {
  --i: 0;
}
.platform__stars .star:nth-child(2) {
  --i: 1;
}
.platform__stars .star:nth-child(3) {
  --i: 2;
}
.platform__stars .star:nth-child(4) {
  --i: 3;
}
.platform__stars .star:nth-child(5) {
  --i: 4;
}

.reviews__top.is-lit .platform__stars .star {
  animation-delay: calc(1.42s + var(--card, 0) * var(--card-step, 0s) + var(--i, 0) * 0.16s);
}

@media (prefers-reduced-motion: reduce) {
  .js-stars .reviews__top:has(.score__ring) .platform__stars .star {
    opacity: 1;
    transform: none;
  }
  .reviews__top.is-lit .platform__stars .star {
    animation: none;
  }
}
@keyframes star-lit {
  0% {
    opacity: 0;
    transform: scale(0.55);
  }
  60% {
    opacity: 1;
    transform: scale(1.14);
  }
  100% {
    opacity: 1;
    transform: scale(1);
  }
}
@media (prefers-reduced-motion: reduce) {
  .js-stars .score__ring .score__stars .star {
    opacity: 1;
    transform: none;
  }
  .score__ring.is-lit .score__stars .star {
    animation: none;
  }
}
/* ---------- Полный отзыв во всплывающей плашке ----------
   Текст в карточке обрезаем по четырём строкам, а «подробнее»
   скрипт оставляет только там, где он действительно не поместился. */
.reviews-list .review__text,
.review__text {
  display: -webkit-box;
  -webkit-line-clamp: 4;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.review__foot .link-arrow[hidden] {
  display: none;
}

.rvfull__panel {
  position: relative;
  width: min(620px, 100%);
  max-height: 86vh;
  overflow-y: auto;
  padding: 26px 30px 28px;
  border: 1px solid #fff;
  border-radius: 26px;
  scrollbar-width: thin;
  scrollbar-color: var(--c-berry) transparent;
  background: var(--c-bg);
  box-shadow: 0 30px 70px rgba(32, 47, 90, 0.25);
}
.rvfull__panel::-webkit-scrollbar {
  width: 4px;
}
.rvfull__panel::-webkit-scrollbar-track {
  background: transparent;
}
.rvfull__panel::-webkit-scrollbar-thumb {
  border-radius: 2px;
  background: var(--c-berry);
}
.rvfull__close {
  position: absolute;
  top: 16px;
  right: 18px;
  width: 30px;
  height: 30px;
  padding: 0 0 3px;
  border: 0;
  border-radius: 50%;
  background: none;
  color: rgba(32, 47, 90, 0.45);
  font-size: 26px;
  line-height: 1;
  cursor: pointer;
}
.rvfull__close:hover {
  color: var(--c-berry);
}
.rvfull__head {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 14px;
}
.rvfull__head .review__ava {
  width: 44px;
  height: 44px;
}
.rvfull__text {
  display: block;
  margin: 0;
  color: rgba(32, 47, 90, 0.8);
  font-size: 15px;
  line-height: 1.55;
}
.rvfull__reply {
  display: flex;
  gap: 12px;
  margin-top: 16px;
  padding: 14px 16px;
  border-radius: 14px;
  background: rgba(255, 255, 255, 0.7);
}
.rvfull__reply img {
  flex: none;
  align-self: flex-start;
  width: 22px;
  height: auto;
  margin-top: 2px;
}
.rvfull__reply p {
  margin: 0;
  color: rgba(32, 47, 90, 0.72);
  font-size: 14px;
  line-height: 1.5;
}

/* имя врача внутри отзыва */
.review__doc {
  color: var(--c-berry);
  font-weight: inherit;
}

/* ---------- Карточка отзыва на телефоне ----------
   Строки шли с интервалом 1.55 и с полями 22/24 — карточка занимала
   почти весь экран. Вес «два класса» нужен, чтобы перебить правила
   .reviews-list выше по файлу. */
@media (max-width: 900px) {
  .review {
    padding: 14px 16px;
  }
  .reviews__grid,
  .reviews-list {
    gap: 10px;
  }
  .reviews-list .review__head,
  .review__head {
    gap: 10px;
    margin-bottom: 8px;
  }
  .reviews-list .review__text,
  .review__text {
    margin-bottom: 8px;
    line-height: 1.3;
  }
  .review__foot {
    min-height: 22px;
  }
  .pg-head h1 {
    font-size: 24px;
    margin-top: 10px;
    margin-bottom: 6px;
  }
  .pg-head__rule {
    margin-bottom: 12px;
  }
  .pg-head {
    padding: 12px 0 18px;
  }
  .pg-head p {
    line-height: 1.1;
  }
  .reviews__top {
    margin-top: 0;
  }
  .rv-tab {
    height: auto;
    min-height: 40px;
    padding: 7px 11px;
    font-size: 13px;
    line-height: 1.05;
  }
  .rv-sort--out {
    flex-wrap: nowrap;
    gap: 2px;
    margin: 14px 0 0;
    overflow-x: auto;
    scrollbar-width: none;
  }
  .rv-sort--out::-webkit-scrollbar {
    display: none;
  }
  .rv-sort--out .rv-sort__label {
    flex: 0 0 auto;
    font-size: 13px;
  }
  .rv-sort--out .rv-chip {
    flex: 0 0 auto;
    height: 30px;
    padding: 0 8px 2px;
    font-size: 13px;
  }
  .rv-add--fixed {
    position: fixed;
    left: auto;
    right: var(--gutter);
    bottom: 14px;
    height: 46px;
    z-index: 70;
    width: 46px;
    padding-inline: 0;
    gap: 0;
    box-shadow: 0 14px 34px rgba(32, 47, 90, 0.28);
    background: rgba(177, 59, 99, 0.88);
    -webkit-backdrop-filter: blur(10px) saturate(140%);
    backdrop-filter: blur(10px) saturate(140%);
    opacity: 0;
    visibility: hidden;
    transform: translateY(14px);
    transition: opacity var(--t-base), transform var(--t-base), width 0.32s ease, padding 0.32s ease, visibility 0s linear var(--t-base);
  }
  .rv-add--fixed:hover {
    background: rgba(177, 59, 99, 0.94);
  }
  .rv-add--fixed .rv-add__ico {
    display: flex;
    flex: none;
    align-items: center;
  }
  .rv-add--fixed .rv-add__label {
    max-width: 0;
    opacity: 0;
    overflow: hidden;
    white-space: nowrap;
    transition: max-width 0.32s ease, opacity 0.18s ease;
  }
  .rv-add--fixed.is-open {
    width: calc(100vw - var(--gutter) * 2 - 54px);
    padding-inline: 18px;
    gap: 10px;
  }
  .rv-add--fixed.is-open .rv-add__label {
    max-width: 260px;
    opacity: 1;
    transition: max-width 0.32s ease, opacity 0.22s ease 0.1s;
  }
  .rv-add--fixed.is-shown {
    opacity: 1;
    visibility: visible;
    transform: none;
    transition: opacity var(--t-base), transform var(--t-base);
  }
  body.has-rv-bar .to-top {
    left: var(--gutter);
    bottom: 14px;
    width: 46px;
    height: 46px;
  }
  .rv-tools {
    margin-top: 20px;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: none;
    -webkit-backdrop-filter: none;
    backdrop-filter: none;
  }
  .rv-sort--out {
    margin-top: 16px;
  }
  .rv-sort--out ~ .reviews-list {
    margin-top: 6px;
  }
  .doc-filter {
    flex-direction: column;
    align-items: stretch;
    gap: 5px;
    margin-bottom: 26px;
  }
  .doc-filter .doc-select,
  .doc-filter .doc-select:first-of-type,
  .doc-filter .doc-select + .doc-select,
  .doc-filter .doc-search {
    flex: 1 1 auto;
    width: 100%;
    min-width: 0;
  }
  .doc-filter .btn, .doc-filter__btn {
    flex: 0 0 auto;
    width: 100%;
    height: 45px;
  }
  .doc-filter .doc-select__btn {
    padding-bottom: 4px;
  }
  .doc-filter .doc-filter__input {
    padding-bottom: 4px;
  }
}
/* ============================================================
   Телефон: сетка врачей собрана в пропорциях 1440 — множитель
   0.26 делал имена в 3px. Пересчитываем от 430.
   ============================================================ */
@media (max-width: 760px) {
  .page-inner--prices {
    background-position: left top;
  }
  .section:has(> .us-map:last-child),
  .page-inner:has(> .us-map:last-child) {
    padding-bottom: 0;
  }
  .page-inner {
    padding-bottom: 60px;
  }
  .ct {
    padding-bottom: 60px;
  }
  .section:has(> .us-map:last-child),
  .page-inner:has(> .us-map:last-child) {
    padding-bottom: 0;
  }
  .page-inner--doctors {
    --s: calc(100vw / 360);
    padding-bottom: 50px;
  }
  .page-inner--doctors .us-doc__name {
    font-size: 15px;
  }
  .page-inner--doctors .us-doc__roles {
    font-size: 12px;
    line-height: 1.25;
  }
  .page-inner--doctors .us-doc__status, .page-inner--doctors .us-doc__rating, .page-inner--doctors .us-doc__book {
    font-size: 12px;
    right: auto;
    left: 0;
  }
  .doctors__list,
  .doctors__grid,
  .docs-grid {
    grid-template-columns: 1fr;
    gap: 14px;
  }
  .doc-filters {
    gap: 8px;
    margin-bottom: 20px;
  }
  .doctors__title {
    margin: 34px 0 18px;
    font-size: 20px;
  }
  .doctors__title b {
    white-space: nowrap;
  }
  .doc-filters button {
    padding: 8px 16px;
    font-size: 13px;
  }
}
/* ============================================================
   Телефон: «Контакты», «Лаборатория» и страница врача собраны
   в пропорциях 1440 — при множителе 0.26 текст падал до 3px.
   Пересчитываем от 430 и задаём служебным строкам пол в px.
   ============================================================ */
@media (max-width: 760px) {
  .ct,
  .ct__over,
  .kontakty {
    --s: calc(100vw / 430);
  }
  .us-map.ct-map {
    --s: calc(100vw / 430);
  }
  .ct__title {
    padding: 2px 0 4px 14px;
    font-size: 15px;
    font-weight: 400;
  }
  .ct__item {
    scroll-margin-top: 68px;
  }
  .ct__list {
    gap: 7px;
  }
  .ct__item {
    border-radius: 18px;
  }
  .ct__head span, .ct__label, .ct__mail, .ct__hours li {
    font-size: 12px;
  }
  .ct__head b, .ct__tel {
    font-size: 15px;
  }
  .ct__over {
    grid-template-columns: 1fr;
    gap: 16px;
  }
  .ct__right {
    grid-column: 1;
    grid-row: 1;
  }
  .ct__side {
    grid-column: 1;
    grid-row: 2;
    padding-bottom: 0;
    gap: 4px;
  }
  .ct__cities {
    grid-auto-flow: row;
    grid-template-columns: repeat(3, auto);
    width: 100%;
    gap: 5px;
  }
  .ct__cities .city-tab {
    min-height: 40px;
    padding-inline: 8px;
    font-size: 13px;
  }
  .ct__cities .city-tab::before {
    display: none;
  }
  .ct__cities--stick {
    position: static;
    margin-bottom: 2px;
    padding: 0;
    border: 0;
    background: none;
    -webkit-backdrop-filter: none;
    backdrop-filter: none;
  }
  .ct__map.ct__map--in {
    height: 140px;
    margin-bottom: 12px;
    border-radius: 14px;
  }
  .ct__map--in .ct__pin {
    width: 48px;
    height: 44px;
  }
  .ct__right {
    display: none;
  }
  .ct {
    padding-top: 0;
  }
  .page-inner--contacts .pg-head {
    padding-bottom: 0;
  }
  .page-inner--contacts .pg-head__rule {
    margin-bottom: 14px;
  }
  .ct__over .ct__side {
    grid-row: auto;
  }
  .ct__map {
    height: 300px;
  }
  .clinics__grid {
    grid-template-columns: 1fr;
    gap: 12px;
  }
  .clinics__grid .clinic {
    height: auto;
  }
  .doc__badge {
    font-size: 12px;
  }
}
/* Текст акций мельче новостного: там сплошное полотно с перечнями,
   на 16px оно расползалось на две трети экрана */
.page-inner--offers .news-page__body {
  font-size: 14px;
  line-height: 1.4;
}
.page-inner--offers .docs-rec {
  margin-top: 96px;
}

/* ---------- Ролик в круглом окне карточки акции ----------
   Если у акции есть видео, оно играет на месте круглого снимка:
   круг на карточке 500×310 — центр (386, 163), радиус 147, справа он
   срезан краем карточки. Держим его в процентах, чтобы окно совпадало
   при любом масштабе; кромку чуть растушёвываем, чтобы стык не читался. */
.news-page__img {
  position: relative;
}
.news-page__img video {
  position: absolute;
  left: 45.2%;
  top: 4.2%;
  width: 64%;
  height: 103.2%;
  object-fit: cover;
  object-position: 62% 28%;
  border-radius: 50%;
  -webkit-mask-image: radial-gradient(circle at 50% 50%, #000 98%, transparent 100%);
  mask-image: radial-gradient(circle at 50% 50%, #000 98%, transparent 100%);
  pointer-events: none;
}
.news-page__img[data-video*=pink-october] video {
  object-position: 84% 28%;
}

/* ---------- Логотип во вступлении «О клинике» ----------
   Знак стоит отдельной строкой, текст идёт под ним на всю ширину:
   обтекание рвало первый абзац на короткие строки. */
.pg-band__logo {
  display: block;
  width: calc(190 * var(--s));
  height: auto;
  margin: 0 0 calc(18 * var(--s));
}

@media (max-width: 760px) {
  .pg-band__logo {
    width: 170px;
    margin-bottom: 14px;
  }
}
/* ---------- Знак бренда на фоне под боковым меню ----------
   Знак — слой фона самой полосы, закреплённый в окне: при прокрутке
   стоит на месте, а содержимое и плашка меню идут поверх. Отдельным
   псевдоэлементом не вышло: на слое z-index: -1 его закрывал фон
   секции, а выше он лёг бы на текст. Прозрачность вшита в сам файл —
   у фоновой картинки своей opacity нет. */
/* ---------- Парящий знак на фоне «О клинике» ----------
   Знак — отдельный слой, а не фон секции: фоновую картинку пришлось бы
   двигать через background-position, это перерисовка на каждый кадр.
   Здесь же анимируется transform — браузер держит слой на композиторе.
   z-index: 0 ставит знак над фотографией секции, но ниже плашек: они
   позиционированы и идут в разметке после него. */
/* знак — обычная картинка, а не маска и не фон: так он не зависит ни от
   слоёв фона секции, ни от загрузки маски, и одинаково показывается
   хоть с сервера, хоть при открытии файла с диска */
.pg-mark {
  position: fixed;
  z-index: 0;
  left: calc(50% - 50vw + 60px);
  top: 215px;
  width: 300px;
  animation: mark-float 16s ease-in-out infinite;
  pointer-events: none;
}
.pg-mark img {
  display: block;
  width: 100%;
  height: auto;
}

/* парение: медленный подъём вправо-вверх и возврат, амплитуда в
   десяток пикселей — движение ловится краем глаза */
@keyframes mark-float {
  0% {
    transform: translate3d(0, 0, 0) scale(1);
  }
  /* зеркально: подъём уходит влево-вверх */
  50% {
    transform: translate3d(-20px, -28px, 0) scale(1.07);
  }
  100% {
    transform: translate3d(0, 0, 0) scale(1);
  }
}
@media (prefers-reduced-motion: reduce) {
  .pg-mark {
    animation: none;
  }
}
@media (max-width: 1000px) {
  .pg-mark {
    display: none;
  }
}
/* ---------- Кадры роликов «О клинике» ----------
   Подставляем снимки из проекта: общий кадр клиники, материнство под
   ролик про ЭКО и микроскоп под генетику. Значок проигрывания остаётся
   верхним слоем фона, поэтому разметку трогать не пришлось. */
.pg-band .video-list__item:nth-child(1) .video-list__ph {
  background-image: url("/local/templates/dnk174_2026/css/../images/icons/Video.svg"), url("/local/templates/dnk174_2026/css/../images/mission-2.webp");
}
.pg-band .video-list__item:nth-child(2) .video-list__ph {
  background-image: url("/local/templates/dnk174_2026/css/../images/icons/Video.svg"), url("/local/templates/dnk174_2026/css/../images/services/besplodie.webp");
}
.pg-band .video-list__item:nth-child(3) .video-list__ph {
  background-image: url("/local/templates/dnk174_2026/css/../images/icons/Video.svg"), url("/local/templates/dnk174_2026/css/../images/services/laboratoriya.webp");
}
.pg-band .video-list__ph {
  background-size: 64px 64px, cover;
  background-position: center, center;
  background-repeat: no-repeat, no-repeat;
  overflow: hidden;
}

/* Строка фильтра врачей чуть выше: 45px смотрелись мелко рядом с
   крупной шапкой страницы. Мобильные размеры не трогаем. */
@media (min-width: 761px) {
  .doc-filter__select,
  .doc-filter__input,
  .doc-filter__btn,
  .doc-filter .doc-select__btn {
    height: 54px;
  }
}
/* текст в полях фильтра оптически проседал — поднимаем на 1px нижним
   полем (при выравнивании по центру оно сдвигает строку на половину) */
@media (min-width: 761px) {
  .doc-select__btn,
  .doc-filter__input,
  .doc-filter__select {
    padding-bottom: 2px;
  }
}
/* ---------- Хлебные крошки на телефоне ----------
   Длинная цепочка переносилась на вторую строку и наезжала на
   заголовок. Держим её в одну строку и даём сдвигать пальцем;
   полосу прокрутки прячем — она тут только мешает. */
@media (max-width: 760px) {
  .crumbs-page {
    flex-wrap: nowrap;
    overflow-x: auto;
    white-space: nowrap;
    scrollbar-width: none;
    -ms-overflow-style: none;
    overscroll-behavior-x: contain;
    -webkit-overflow-scrolling: touch;
  }
  .crumbs-page::-webkit-scrollbar {
    display: none;
  }
  .crumbs-page > * {
    flex: none;
  }
}
/* ---------- Карусели внутренних страниц на телефоне ----------
   Стрелки уходят под ленту в правый угол, полоса прокрутки — слева
   от них, на одной строке. Карусели главной (акции, новости, врачи)
   не трогаем: там подвал двухрядный, с кнопкой внутри. */
@media (max-width: 760px) {
  .uslugi .carousel {
    position: relative;
    padding-top: 0;
    padding-bottom: 50px;
  }
  .uslugi .carousel .carousel__nav {
    top: auto;
    bottom: 0;
    margin-top: 0;
    width: 40px;
    height: 40px;
    transform: none;
  }
  .uslugi .carousel .carousel__nav svg {
    width: 17px;
    height: 17px;
  }
  .uslugi .carousel .carousel__nav--prev {
    left: auto;
    right: 48px;
  }
  .uslugi .carousel .carousel__nav--next {
    left: auto;
    right: 0;
  }
  .uslugi .carousel .carousel__foot {
    position: absolute;
    left: 0;
    right: 104px;
    bottom: 0;
    height: 40px;
    margin: 0;
    display: flex;
    align-items: center;
  }
  .uslugi .center-more .btn {
    width: 100%;
  }
}
/* ---------- Блок записи на телефоне ----------
   Кнопка стояла над списком слотов и занимала половину ширины.
   Раскрываем левую колонку в сетку блока (display: contents),
   тогда кнопку можно увести под слоты и растянуть. */
@media (max-width: 760px) {
  .booking > div:not([class]) {
    display: contents;
  }
  .booking > div:not([class]) > * {
    position: relative;
    z-index: 1;
  }
  .booking .booking__actions {
    order: 2;
  }
  .booking .booking__actions .btn {
    width: 100%;
  }
  .slots li {
    display: block;
  }
  .slots li .slots__day,
  .slots li .slots__where,
  .slots li .slots__times {
    display: block;
    margin-left: 0;
  }
  .slots li .slots__where {
    margin-top: 0;
  }
  .slots li .slots__times {
    margin-top: 0;
  }
  .slots li {
    padding: 9px 14px;
    line-height: 1.3;
  }
  .slots li + li {
    margin-top: 8px;
  }
}
/* крошки прижимаем к заголовку: воздух давала не щель, а собственный
   интерлиньяж строки и верхнее поле */
@media (max-width: 760px) {
  .crumbs-page {
    padding-block: 12px 0;
    line-height: 1.1;
  }
  .doc-page .crumbs {
    padding-top: 12px;
  }
}
/* ============================================================
   Листание на телефоне — единое правило проекта.
   Как в блоке врачей: лента не обрезается кромкой, уходящая
   карточка гаснет с уменьшением, следующая проявляется из
   прозрачности. Работает на каруселях с циклом (data-loop),
   видимые карточки отмечает Swiper (.swiper-slide-visible).
   ============================================================ */
@media (max-width: 760px) {
  [data-loop] .carousel__viewport {
    overflow: visible;
  }
  [data-loop] .carousel__track > * {
    opacity: 0;
    scale: 0.8;
    pointer-events: none;
    transition: opacity 0.5s ease-in-out, scale 0.5s ease-in-out !important;
  }
  [data-loop] .carousel__track > .swiper-slide-visible {
    opacity: 1;
    scale: 1;
    pointer-events: auto;
  }
}
@media (max-width: 760px) and (prefers-reduced-motion: reduce) {
  [data-loop] .carousel__track > * {
    transition: none !important;
  }
}
/* ---------- Боковое меню разделов на телефоне ----------
   Семнадцать пунктов в донорских полях занимали почти 900px и уводили
   содержимое страницы далеко вниз. Ужимаем строки и поля панели,
   а заодно подтягиваем её к заголовку раздела. */
@media (max-width: 760px) {
  .pg-head {
    padding-bottom: 6px;
  }
  .pg-head__rule {
    margin-bottom: 6px;
  }
  .pg-band {
    margin-top: 4px;
    padding-block: 4px 60px;
  }
  .price-nav {
    padding-bottom: 8px;
  }
  .price-nav > ul:first-child {
    padding-top: 10px;
  }
  .price-nav li a {
    padding: 6px 16px;
    font-size: 14px;
    line-height: 1.25;
  }
  .pg-band__wrap {
    display: block;
  }
  .pg-band__text {
    margin-top: 13px;
  }
  .price-nav {
    position: sticky;
    top: 72px;
    padding-top: 8px;
    z-index: 5;
    background: var(--c-cream);
    -webkit-backdrop-filter: none;
    backdrop-filter: none;
  }
  .price-nav::before {
    content: "";
    position: absolute;
    z-index: -1;
    left: 50%;
    width: 100vw;
    margin-left: -50vw;
    top: -11px;
    bottom: -40px;
    opacity: 0;
    pointer-events: none;
    background: linear-gradient(to bottom, var(--c-cream) 0%, rgba(254, 242, 232, 0) 100%);
    transition: opacity var(--t-base);
  }
  .price-nav.is-stuck::before {
    opacity: 1;
  }
  .price-nav.is-open > ul {
    max-height: calc(100vh - 150px);
    overflow-y: auto;
  }
  body:has(.price-nav.is-open) .to-top {
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
  }
  .price-nav.is-open > ul::-webkit-scrollbar {
    width: 2px;
  }
  .price-nav.is-open > ul::-webkit-scrollbar-track {
    background: transparent;
  }
  .price-nav.is-open > ul::-webkit-scrollbar-thumb {
    border-radius: 2px;
    background: var(--c-berry);
  }
  .pg-band__text {
    padding: 20px 16px;
  }
  .pg-band__text p,
  .pg-band__text ul li {
    line-height: 1.3;
  }
}
/* ---------- Боковое меню разделов: шапка-переключатель ----------
   Кнопку рисует main.js. На широком экране её нет и список открыт
   всегда — донорская раскладка не меняется. */
.price-nav__toggle {
  display: none;
}

@media (max-width: 760px) {
  .price-nav__toggle {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    width: 100%;
    padding: 4px 16px 12px;
    border: 0;
    border-radius: 20px;
    background: none;
    color: var(--c-berry);
    font: inherit;
    font-size: 14px;
    font-weight: 600;
    text-align: left;
    cursor: pointer;
  }
  .price-nav__toggle span, .price-nav__chev {
    transform: translateY(-1px);
  }
  .price-nav__chev {
    flex: none;
    width: 11px;
    height: 7px;
    transition: transform var(--t-base);
  }
  .price-nav.is-open .price-nav__chev {
    transform: translateY(-1px) rotate(180deg);
  }
  .price-nav > ul {
    display: none;
  }
  .price-nav.is-open > ul {
    display: block;
  }
  .price-nav > ul:first-child, .price-nav.is-open > ul {
    padding-top: 0;
  }
  .price-nav.is-open {
    padding-bottom: 8px;
  }
  .price-nav:not(.is-open) {
    padding-bottom: 0;
  }
  .price-nav.is-open li.is-current {
    display: none;
  }
}
/* ---------- Полоса прокрутки лент: единая дорожка ----------
   Правило проекта на обеих версиях: дорожка белая полупрозрачная, как
   в ленте врачей. Базовый серый читался на светлых и фотографических
   подложках по-разному. Вес в два класса — чтобы перебить поблочные
   перекраски (журнал, новости, страницы услуг). */
.carousel .carousel__bar,
.carousel__foot .carousel__bar {
  background: rgba(255, 255, 255, 0.5);
}

/* ---------- Карта: единый множитель на телефоне ----------
   Мобильный --s задаётся на корнях разделов (.uslugi, .ct, .prices, .zh),
   и на страницах врачей карта его не получала — высота считалась от 1440
   и холст падал с 258 до 77px. Задаём множитель самой карте. */
@media (max-width: 760px) {
  .us-map {
    --s: calc(100vw / 430);
  }
}
/* ---------- Карта на телефоне — как на главной ----------
   На главной в блоке карты только сам снимок с метками. На остальных
   страницах над ним шли заголовок, ссылка «все адреса» и список клиник
   по городам — из-за них блок выглядел иначе. На телефоне убираем:
   адреса целиком остаются на странице «Контакты», куда ведёт меню. */
@media (max-width: 760px) {
  .us-map__wrap {
    display: none;
  }
}
/* ---------- Снимки новостей на телефоне: своя высота ----------
   Жёсткие 290px делали кадр выше самой картинки (500×335), и object-fit
   срезал её по бокам — у афиш уходил логотип. Высоту отдаём картинке:
   на всю ширину плашки и в своей пропорции. */
@media (max-width: 760px) {
  .news-item__img img {
    height: auto;
  }
}
/* ---------- Значок раскрытия у адресов на телефоне: крупнее ----------
   Донорские 21 единица дают 18px — кружок со стрелкой терялся
   у правой кромки строки. */
@media (max-width: 760px) {
  .ct__head::after {
    width: 26px;
    height: 26px;
  }
}
/* ---------- Лента акций на телефоне ----------
   В столбик карточки шли с десктопным шагом в 30px — между афишами
   зияли пустые полосы. И наоборот, от вводного абзаца до первой афиши
   оставалось 6px: заголовок страницы сливался с лентой. */
@media (max-width: 760px) {
  .stock-list {
    gap: 14px;
    margin-top: 18px;
  }
}
/* ---------- Плашка оценки на телефоне: компактнее ----------
   Кольцо в 196px с полями в 24 занимало почти треть экрана до первого
   отзыва. Кольцо меньше, набор внутри него по размеру кольца. */
@media (max-width: 760px) {
  .reviews__top .score {
    padding-block: 16px;
  }
  .score__ring {
    width: 150px;
    height: 150px;
  }
  .score__ring .score__num {
    font-size: 36px;
  }
  .score__ring .score__stars {
    font-size: 18px;
  }
  .score__in {
    row-gap: 2px;
  }
  .score__split {
    font-size: 14px;
  }
  .score__split b {
    font-size: 16px;
  }
  .score__split span {
    font-size: 13px;
  }
}
/* плашка оценки подходила к вводному абзацу вплотную — отбивка
   та же, что у ленты акций */
@media (max-width: 760px) {
  .reviews__top {
    margin-top: 18px;
  }
}
/* поля плашки отзыва на телефоне: донорские 30px по бокам съедали
   ширину — поля в ней становились уже самой плашки на 60px */
@media (max-width: 760px) {
  .rvpop__panel {
    padding: 20px 16px 20px;
  }
  .rvpop__submit {
    align-self: stretch;
    width: 100%;
    min-width: 0;
  }
  .rvpop__label {
    line-height: 1.15;
    margin-bottom: -2px;
  }
}
/* поля плашки полного отзыва на телефоне: донорские 30px по бокам
   сжимали строку до полутора слов */
@media (max-width: 760px) {
  .rvfull__panel {
    padding: 20px 12px 20px 16px;
  }
  .rvfull__reply {
    padding: 12px 12px;
    gap: 10px;
  }
}
/* ============================================================
   Страница «Услуги» — копия донора при вьюпорте 1425
   (контейнер 1050 на x=188), палитра нового бренда.
   Донор свёрстан в rem при уменьшенном корневом кегле,
   поэтому все величины здесь — его фактические пиксели.
   ============================================================ */
/* донор масштабирует всю страницу линейно от ширины окна:
   при 1920 контейнер 1400, при 1600 — 1167. Один множитель на всё. */
.uslugi {
  --s: calc(100vw / 1440);
  padding: 0;
  background: var(--c-bg);
}

/* фото интерьера — фон только первого экрана, как у донора */
.us-top {
  position: relative;
  background: var(--c-bg);
}

/* Фото лежит отдельным слоем под всей страницей и закреплено за окном:
   при прокрутке содержимое едет по нему. Слой один на весь main, поэтому
   кремовую заливку секций снимаем — иначе она перекрывала бы снимок. */
.uslugi {
  position: relative;
}
.uslugi::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  background: url("/local/templates/dnk174_2026/css/../images/uslugi-bg.webp") center top/cover no-repeat fixed;
  -webkit-mask-image: linear-gradient(to bottom, #000 92%, transparent 100%);
  mask-image: linear-gradient(to bottom, #000 92%, transparent 100%);
  pointer-events: none;
}
.uslugi.lab::before {
  background-image: url("/local/templates/dnk174_2026/css/../images/lab-bg.webp");
  background-size: auto 125%;
  background-position: 50% top;
}
.uslugi.lab::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  -webkit-backdrop-filter: blur(1.5px);
  backdrop-filter: blur(1.5px);
}
.uslugi > section {
  position: relative;
  z-index: 1;
}
.uslugi section.section--cream {
  background-color: transparent;
}

.us-top > .container {
  position: relative;
  z-index: 1;
}

.uslugi .container {
  max-width: calc(1050 * var(--s));
  padding-inline: 0;
}

/* ---------- Герой: 1050×152, текст 468 слева, УТП 582 справа ---------- */
.us-hero {
  display: flex;
  align-items: flex-start;
  min-height: calc(152 * var(--s));
}
.us-hero__title {
  width: calc(468 * var(--s));
  flex: none;
  padding-top: calc(10 * var(--s));
}
.us-hero__h1 {
  margin: 0 0 calc(15 * var(--s));
  color: var(--c-navy);
  font-size: 40px;
  font-weight: 500;
  line-height: 1.15;
  letter-spacing: 0;
}
.us-hero__lead {
  max-width: calc(438 * var(--s));
  color: rgba(32, 47, 90, 0.5);
  font-size: calc(12 * var(--s));
  line-height: 1.25;
}
.us-hero__utp {
  display: flex;
  gap: calc(20 * var(--s));
  width: calc(582 * var(--s));
  margin-left: auto;
  margin-top: calc(30.5 * var(--s));
  padding: calc(22.5 * var(--s)) calc(15 * var(--s)) calc(28.5 * var(--s)) calc(45 * var(--s));
}
.us-hero__utp-item {
  display: flex;
  align-items: flex-start;
  gap: calc(10 * var(--s));
  width: calc(125 * var(--s));
  color: #0F295D;
  font-size: calc(11 * var(--s));
  line-height: 1.15;
}
.us-hero__utp-item img {
  flex: none;
  width: calc(22 * var(--s));
  height: calc(22 * var(--s));
  object-fit: contain;
}
.us-hero__utp-item b {
  display: block;
  color: var(--c-berry);
  font-weight: 600;
}

/* ---------- Категории: 14 плиток 257×82, шаг 7.5 / 9.75 ---------- */
.us-cats {
  display: flex;
  flex-wrap: wrap;
  gap: calc(9.75 * var(--s)) calc(7.5 * var(--s));
  margin-top: calc(26 * var(--s));
}

/* ---------- Услуги с вложенными подуслугами ----------
   Как у донора: у родителя стрелка, по клику раскрывается список.
   Стрелка лежит поверх плитки справа, поэтому сама ссылка остаётся
   ссылкой и ведёт на страницу услуги. */
.us-sub__head {
  position: relative;
}
.us-sub__arrow {
  position: absolute;
  right: calc(12 * var(--s));
  top: 50%;
  transform: translateY(-50%);
  display: grid;
  place-items: center;
  width: calc(18 * var(--s));
  height: calc(18 * var(--s));
  padding: 0;
  border: 0;
  background: none;
  color: var(--c-navy);
  cursor: pointer;
  transition: color var(--t-fast), transform var(--t-base);
}
.us-sub__arrow svg {
  width: 9px;
  height: auto;
}

/* у раскрывающейся услуги правое поле под стрелку, иначе текст под неё уходит */
.us-list__col .us-sub__head > a {
  padding-right: calc(34 * var(--s));
}

.us-sub__arrow:hover {
  color: var(--c-berry);
}
.us-sub.is-open .us-sub__arrow {
  transform: translateY(-50%) rotate(180deg);
  color: var(--c-berry);
}

/* раскрытая услуга подсвечена ягодным, как на доноре */
.us-list__col .us-sub.is-open .us-sub__head > a {
  color: var(--c-berry);
}

.us-sub__list {
  display: none;
  margin: calc(2 * var(--s)) 0 calc(6 * var(--s));
  padding: 0 0 0 calc(16 * var(--s));
  list-style: none;
}
.us-sub.is-open .us-sub__list {
  display: block;
}

/* Разворот капсулой, как у выпадающего списка на «Врачах»: плитка
   срастается с панелью — сверху скругления остаются, снизу их нет,
   а панель подхватывает то же стекло и нижние углы. */
.us-services:not(.is-list) .us-list__col .us-sub.is-open .us-sub__head > a {
  border-radius: calc(11.25 * var(--s)) calc(11.25 * var(--s)) 0 0;
  border-color: var(--c-berry);
  border-bottom-color: transparent;
  background: var(--c-berry);
  color: var(--c-white);
}
.us-services:not(.is-list) .us-sub.is-open .us-sub__arrow {
  color: var(--c-white);
}
.us-services:not(.is-list) .us-sub.is-open .us-sub__list {
  margin: -1px 0 0;
  padding: calc(6 * var(--s)) 0 calc(10 * var(--s));
  border: 1px solid rgba(255, 255, 255, 0.75);
  border-top: 0;
  border-radius: 0 0 calc(11.25 * var(--s)) calc(11.25 * var(--s));
  background: rgba(255, 255, 255, 0.28);
  -webkit-backdrop-filter: blur(14px) saturate(140%);
  backdrop-filter: blur(14px) saturate(140%);
}
.us-services:not(.is-list) .us-list__col .us-sub__list a {
  padding: calc(3 * var(--s)) calc(16 * var(--s)) calc(3 * var(--s)) calc(15.7 * var(--s));
}
.us-services:not(.is-list) .us-list__col .us-sub__list a:hover {
  background: rgba(255, 255, 255, 0.45);
}

/* вес в два класса: правила плитки услуги лежат ниже по файлу
   и иначе перебивают эти — подпункты выглядели такими же плитками */
.us-list__col .us-sub__list a {
  display: block;
  height: auto;
  min-height: 0;
  padding: calc(3 * var(--s)) 0;
  border: 0;
  border-radius: 0;
  background: none;
  -webkit-backdrop-filter: none;
  backdrop-filter: none;
  color: rgba(32, 47, 90, 0.72);
  font-size: 13px;
  font-weight: 400;
  line-height: 1.25;
  white-space: normal;
}
.us-list__col .us-sub__list a:hover {
  color: var(--c-berry);
}

/* в списочном виде строки ниже плиточных — стрелку поднимаем */
/* в списочном виде вложения не разворачиваем: там и так весь перечень */
.us-services.is-list .us-sub__arrow, .us-services.is-list .us-sub__list {
  display: none;
}
.us-services.is-list .us-sub__head > a {
  padding-right: 0;
}

/* ---------- Переключатель вида каталога ---------- */
/* скрыт по просьбе заказчика: каталог всегда плитками. Разметка и
   обработчик оставлены — чтобы вернуть, достаточно снять display: none */
.us-view {
  display: none;
  gap: calc(6 * var(--s));
  margin-bottom: calc(12 * var(--s));
}
.us-view__btn {
  display: grid;
  place-items: center;
  width: calc(34 * var(--s));
  height: calc(34 * var(--s));
  padding: calc(8 * var(--s));
  border: 1px solid rgba(255, 255, 255, 0.55);
  border-radius: calc(11 * var(--s));
  background: rgba(255, 255, 255, 0.18);
  -webkit-backdrop-filter: blur(7px) saturate(125%);
  backdrop-filter: blur(7px) saturate(125%);
  color: var(--c-navy);
  cursor: pointer;
  transition: background var(--t-fast), border-color var(--t-fast), color var(--t-fast);
}
.us-view__btn svg {
  width: 100%;
  height: 100%;
}
.us-view__btn:hover {
  border-color: var(--c-berry);
  color: var(--c-berry);
}
.us-view__btn.is-active {
  border-color: var(--c-berry);
  background: var(--c-berry);
  color: var(--c-white);
}

/* ---------- Списочный вид ----------
   Плитки категорий прячем, а панели показываем все сразу: каждая —
   карточка с иконкой и названием категории в заголовке. Остальные
   блоки страницы не трогаем. */
.us-phead {
  display: none;
}

/* в плиточном виде над списком стоит название выбранной категории:
   показываем заголовок той панели, что открыта */
.us-services:not(.is-list) .us-phead:has(+ .us-panel.is-active) {
  display: block;
  margin: calc(34 * var(--s)) 0 calc(8 * var(--s));
  color: var(--c-berry);
}
.us-services:not(.is-list) .us-phead + .us-panel.is-active {
  margin-top: 0;
}
.us-services:not(.is-list) .us-phead:has(+ .us-panel.is-active) h3 {
  margin: 0;
  color: var(--c-berry);
  font-size: calc(16 * var(--s));
  font-weight: 600;
  line-height: 1.2;
}
.us-services:not(.is-list) .us-phead__ico, .us-services:not(.is-list) .us-phead__text {
  display: none;
}
.us-services.is-list .us-cats {
  display: none;
}
.us-services.is-list .us-panel {
  display: block;
}
.us-services.is-list .us-phead {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: center;
  column-gap: calc(11.25 * var(--s));
  row-gap: calc(5 * var(--s));
  margin-top: calc(14 * var(--s));
  padding: calc(14 * var(--s)) calc(20 * var(--s)) calc(10 * var(--s)) calc(14 * var(--s));
  border: 1px solid rgba(255, 255, 255, 0.55);
  border-bottom: 0;
  border-radius: calc(22.5 * var(--s)) calc(22.5 * var(--s)) 0 0;
  background: rgba(255, 255, 255, 0.28);
  -webkit-backdrop-filter: blur(12px) saturate(130%);
  backdrop-filter: blur(12px) saturate(130%);
}
.us-services.is-list .us-phead__ico {
  grid-row: 1/span 2;
  align-self: center;
  flex: none;
  display: grid;
  place-items: center;
  width: calc(66 * var(--s));
  height: calc(66 * var(--s));
  padding: calc(19 * var(--s));
  border-radius: calc(14 * var(--s));
  background: rgba(255, 255, 255, 0.35);
}
.us-services.is-list .us-phead__ico img {
  width: 100%;
  height: 100%;
  padding: 0;
  background: none;
}
.us-services.is-list .us-phead h3 {
  margin: 0;
  color: var(--c-berry);
  font-size: calc(16 * var(--s));
  font-weight: 600;
  line-height: 1.2;
}
.us-services.is-list .us-phead__text {
  grid-column: 2;
  align-self: start;
  margin: 0;
  max-width: none;
  color: rgba(32, 47, 90, 0.62);
  font-size: 13px;
  line-height: 1.15;
}
.us-services.is-list .us-panel {
  margin-top: 0;
  padding: calc(6 * var(--s)) calc(20 * var(--s)) calc(18 * var(--s)) calc(20 * var(--s) + 20px);
  border: 1px solid rgba(255, 255, 255, 0.55);
  border-top: 0;
  border-radius: 0 0 calc(22.5 * var(--s)) calc(22.5 * var(--s));
  background: rgba(255, 255, 255, 0.28);
  -webkit-backdrop-filter: blur(12px) saturate(130%);
  backdrop-filter: blur(12px) saturate(130%);
}
.us-services.is-list .us-panel {
  display: block;
  column-count: 3;
  column-gap: calc(24 * var(--s));
}
.us-services.is-list .us-list__col {
  display: contents;
}
.us-services.is-list .us-list__col a {
  break-inside: avoid;
}

/* на широком экране описание переносится по половине ширины карточки */
@media (min-width: 1400px) {
  .us-services.is-list .us-phead__text {
    max-width: 50%;
  }
}
.us-services.is-list .us-list__col a {
  height: auto;
  min-height: 0;
  padding: calc(5 * var(--s)) 0;
  border: 0;
  border-radius: 0;
  background: none;
  -webkit-backdrop-filter: none;
  backdrop-filter: none;
  white-space: normal;
  font-size: 14px;
  line-height: 1.35;
}

@media (max-width: 760px) {
  .us-services.is-list .us-phead h3 {
    font-size: 15px;
  }
  .us-services.is-list .us-phead__ico {
    width: 44px;
    height: 44px;
    padding: 10px;
  }
}
.us-cat {
  display: flex;
  align-items: center;
  gap: calc(11.25 * var(--s));
  width: calc(256.5 * var(--s));
  height: calc(82 * var(--s));
  padding: calc(9 * var(--s) - 1px);
  border: 1px solid rgba(255, 255, 255, 0.55);
  border-radius: calc(22.5 * var(--s));
  background: rgba(255, 255, 255, 0.18);
  -webkit-backdrop-filter: blur(7px) saturate(125%);
  backdrop-filter: blur(7px) saturate(125%);
  text-align: left;
  transition: background var(--t-base), border-color var(--t-base);
}
.us-cat img {
  flex: none;
  width: calc(64 * var(--s));
  height: calc(64 * var(--s));
  padding: calc(17 * var(--s));
  border: 0;
  border-radius: calc(15 * var(--s));
  background: transparent;
  -webkit-backdrop-filter: blur(4px) saturate(108%);
  backdrop-filter: blur(4px) saturate(108%);
  object-fit: contain;
}
.us-cat[data-cat="5"] img {
  padding: calc(20 * var(--s));
}
.us-cat span {
  color: var(--c-navy);
  font-size: calc(13.5 * var(--s));
  font-weight: 500;
  line-height: 1.2;
  transition: color var(--t-fast);
}
.us-cat:hover span {
  color: var(--c-berry);
}
.us-cat:hover {
  background: rgba(255, 255, 255, 0.32);
  border-color: rgba(255, 255, 255, 0.75);
}
.us-cat.is-active {
  background: rgba(255, 255, 255, 0.18);
}
.us-cat.is-active span {
  color: var(--c-berry);
}

/* ---------- Поиск: поле 1050×41, радиус 75 ---------- */
/* строка поиска по донору: поле во всю ширину, справа счётчик,
   очистка, микрофон и кнопка «Найти» */
.us-search {
  position: relative;
  margin-top: calc(26 * var(--s));
}
.us-search input {
  width: 100%;
  height: calc(41 * var(--s));
  padding: 0 calc(250 * var(--s)) 0 calc(42 * var(--s));
  border: 0;
  border-radius: calc(75 * var(--s));
  background: rgba(255, 255, 255, 0.6) url("/local/templates/dnk174_2026/css/../images/icons/search.svg") no-repeat;
  background-position: calc(17 * var(--s)) center;
  background-size: calc(15 * var(--s)) calc(15 * var(--s));
  color: var(--c-navy);
  font-size: calc(11.25 * var(--s));
  font-family: inherit;
}
.us-search input::placeholder {
  color: rgba(32, 47, 90, 0.5);
}
.us-search input:focus {
  outline: 0;
  background-color: var(--c-white);
}
.us-search input::-webkit-search-cancel-button {
  display: none;
}
.us-search__tools {
  position: absolute;
  top: 50%;
  right: calc(128 * var(--s));
  transform: translateY(-50%);
  display: flex;
  align-items: center;
  gap: calc(10 * var(--s));
}
.us-search__count {
  color: var(--c-sky-strong);
  font-size: calc(10.5 * var(--s));
  font-weight: 500;
}
.us-search__clear, .us-search__mic {
  display: grid;
  place-items: center;
  padding: 0 calc(9 * var(--s));
  border: 0;
  border-left: 1px solid var(--c-grey-200);
  background: none;
  color: var(--c-navy);
}
.us-search__clear svg {
  width: calc(9 * var(--s));
  height: calc(9 * var(--s));
}
.us-search__mic {
  color: var(--c-berry);
}
.us-search__mic svg {
  width: calc(16 * var(--s));
  height: calc(16 * var(--s));
}
.us-search__clear:hover {
  color: var(--c-berry);
}
.us-search__btn {
  position: absolute;
  top: 0;
  right: 0;
  display: grid;
  place-items: center;
  width: calc(116 * var(--s));
  height: calc(41 * var(--s));
  border: 0;
  border-radius: calc(75 * var(--s));
  background: var(--c-berry);
  color: var(--c-white);
  font-size: calc(10.5 * var(--s));
  font-weight: 500;
  letter-spacing: 0.04em;
  overflow: hidden;
  transition: background var(--t-base);
}
.us-search__btn:hover {
  background: var(--c-berry-600);
}

/* ---------- Список услуг активной категории: 4 колонки по 257 ---------- */
.us-list {
  display: flex;
  gap: calc(7.5 * var(--s));
  margin-top: calc(32 * var(--s));
}
.us-list__col {
  display: flex;
  flex-direction: column;
  gap: calc(3 * var(--s));
  width: calc(257 * var(--s));
}
.us-list__col a {
  display: flex;
  align-items: center;
  min-height: calc(40 * var(--s));
  padding: calc(6 * var(--s)) calc(15.7 * var(--s));
  border-radius: calc(11.25 * var(--s));
  border: 1px solid rgba(255, 255, 255, 0.75);
  background: rgba(255, 255, 255, 0.28);
  -webkit-backdrop-filter: blur(14px) saturate(140%);
  backdrop-filter: blur(14px) saturate(140%);
  color: #202F5A;
  font-size: 14px;
  font-weight: 500;
  line-height: 1.1;
  white-space: normal;
  transition: color var(--t-base), background var(--t-base), border-color var(--t-base);
}
.us-list__col a:hover {
  border-color: var(--c-white);
  background: rgba(255, 255, 255, 0.45);
  color: var(--c-berry);
}

.us-panel {
  display: none;
}
.us-panel.is-active {
  display: flex;
}

/* ---------- Баннер ОМС: 1050×82, радиус 22.5 ---------- */
.us-banner {
  display: flex;
  position: relative;
  overflow: hidden;
  align-items: center;
  gap: calc(24 * var(--s));
  height: calc(82 * var(--s));
  margin-top: calc(33 * var(--s));
  padding: calc(19.5 * var(--s)) calc(22.5 * var(--s)) calc(21 * var(--s));
  border-radius: calc(22.5 * var(--s));
  background: linear-gradient(95deg, var(--c-navy) 0%, var(--c-navy-600) 100%);
  color: var(--c-white);
}
.us-banner::before, .us-banner::after {
  content: "";
  position: absolute;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.1);
  pointer-events: none;
}
.us-banner::before {
  width: calc(172.5 * var(--s));
  height: calc(172.5 * var(--s));
  top: calc(-114 * var(--s));
  right: calc(105 * var(--s));
}
.us-banner::after {
  width: calc(226.5 * var(--s));
  height: calc(226.5 * var(--s));
  top: calc(-109.5 * var(--s));
  right: calc(12.75 * var(--s));
}
.us-banner > * {
  position: relative;
  z-index: 1;
}
.us-banner__tag {
  flex: none;
  display: grid;
  place-items: center;
  height: calc(30 * var(--s));
  padding: 0 calc(11.25 * var(--s));
  border-radius: calc(3.75 * var(--s));
  background: rgba(255, 255, 255, 0.15);
  font-size: calc(10.5 * var(--s));
  font-weight: 700;
  letter-spacing: 0.02em;
}
.us-banner__text h2 {
  margin: 0;
  color: var(--c-white);
  font-size: calc(13.5 * var(--s));
  font-weight: 700;
}
.us-banner__text p {
  margin-top: calc(4 * var(--s));
  color: rgba(255, 255, 255, 0.55);
  font-size: calc(10.5 * var(--s));
}
.us-banner__btn {
  flex: none;
  display: grid;
  place-items: center;
  width: calc(172 * var(--s));
  height: calc(34 * var(--s));
  margin-left: auto;
  border-radius: calc(75 * var(--s));
  background: var(--c-berry);
  color: var(--c-white);
  font-size: calc(10.5 * var(--s));
  font-weight: 700;
  transition: background var(--t-fast);
}
.us-banner__btn:hover {
  background: var(--c-berry-600);
}

/* ---------- ЧекАп: 1050×398, слева 484, справа 508 ---------- */
.us-checkup {
  display: flex;
  gap: calc(11.25 * var(--s));
  margin-top: calc(60 * var(--s));
  padding: calc(22.5 * var(--s));
  border-radius: calc(22.5 * var(--s));
  position: relative;
  overflow: hidden;
  background: var(--c-beige);
}
.us-checkup::before {
  content: "";
  position: absolute;
  inset: 0;
  background: url("/local/templates/dnk174_2026/css/../images/pattern-white.svg") repeat;
  background-size: 620px 620px;
  opacity: 0.25;
  pointer-events: none;
}
.us-checkup > * {
  position: relative;
  z-index: 1;
}
.us-checkup__content {
  width: calc(484 * var(--s));
  flex: none;
}

.us-title-mini {
  color: var(--text-muted);
  font-size: calc(8.25 * var(--s));
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.us-title {
  margin: calc(10 * var(--s)) 0 0;
  color: var(--c-navy);
  font-size: calc(18.75 * var(--s));
  font-weight: 600;
  line-height: 1.25;
}

/* индиго: серый тонул на светлом снимке */
.us-title-desc {
  margin-top: calc(10 * var(--s));
  color: var(--c-navy);
  font-size: calc(10.5 * var(--s));
  line-height: 1.4;
}

.us-tariffs {
  display: flex;
  flex-direction: column;
  gap: calc(7.5 * var(--s));
  margin-top: calc(30 * var(--s));
}

.us-tariff {
  display: flex;
  position: relative;
  overflow: hidden;
  align-items: center;
  justify-content: space-between;
  gap: calc(12 * var(--s));
  height: calc(50 * var(--s));
  padding: 0 calc(15 * var(--s)) 0 calc(16.5 * var(--s));
  border: 1px solid var(--c-white);
  border-radius: calc(15 * var(--s));
  background: rgba(255, 255, 255, 0.5);
  cursor: pointer;
  transition: border-color var(--t-fast);
}
.us-tariff p {
  color: var(--c-navy);
  font-size: calc(11.25 * var(--s));
  font-weight: 600;
  transition: color var(--t-fast);
}
.us-tariff span {
  display: block;
  color: var(--text-muted);
  font-size: calc(9.75 * var(--s));
}
.us-tariff__status {
  flex: none;
  color: var(--c-berry);
  font-size: calc(10.5 * var(--s));
  font-weight: 600;
}
.us-tariff:hover {
  border-color: var(--c-berry);
}
.us-tariff:hover p {
  color: var(--c-berry);
}
.us-tariff.is-active:hover {
  border-color: var(--c-white);
}
.us-tariff.is-active {
  background: var(--c-berry);
}
.us-tariff.is-active::before, .us-tariff.is-active::after {
  content: "";
  position: absolute;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.1);
  pointer-events: none;
}
.us-tariff.is-active::before {
  width: calc(172.5 * var(--s));
  height: calc(172.5 * var(--s));
  top: calc(-114 * var(--s));
  right: calc(45 * var(--s));
}
.us-tariff.is-active::after {
  width: calc(226.5 * var(--s));
  height: calc(226.5 * var(--s));
  top: calc(-109.5 * var(--s));
  right: calc(-48 * var(--s));
}
.us-tariff > * {
  position: relative;
  z-index: 1;
}
.us-tariff.is-active p, .us-tariff.is-active span, .us-tariff.is-active .us-tariff__status {
  color: var(--c-white);
}

.us-why {
  display: flex;
  flex-direction: column;
  gap: calc(30 * var(--s));
  width: calc(508 * var(--s));
  flex: none;
  padding: calc(22.5 * var(--s));
  border-radius: calc(20 * var(--s));
  background: rgba(255, 255, 255, 0.5);
}
.us-why h2 {
  margin: 0;
  color: var(--c-navy);
  font-size: calc(22.5 * var(--s));
  font-weight: 700;
  text-transform: uppercase;
}
.us-why h2 span {
  color: var(--c-berry);
}
.us-why ul {
  display: flex;
  flex-direction: column;
  gap: calc(16.5 * var(--s));
  padding-left: calc(15 * var(--s));
}
.us-why li {
  position: relative;
  padding-left: calc(18 * var(--s));
  color: var(--c-graphite);
  font-size: calc(11.25 * var(--s));
  line-height: 1.3;
}
.us-why li::before {
  content: "";
  position: absolute;
  top: calc(1 * var(--s));
  left: 0;
  width: calc(13 * var(--s));
  height: calc(13 * var(--s));
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none'%3E%3Crect x='0.8' y='0.8' width='14.4' height='14.4' rx='3' stroke='%23B13B63' stroke-width='1.4'/%3E%3Cpath d='M4.4 8.2l2.4 2.4 5-5.4' stroke='%23B13B63' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat;
}
.us-why li {
  padding-left: calc(22 * var(--s));
}
.us-why__btn {
  display: grid;
  place-items: center;
  width: 100%;
  height: calc(33.75 * var(--s));
  padding-bottom: calc(1.5 * var(--s));
  margin-top: auto;
  border-radius: calc(75 * var(--s));
  background: var(--c-berry);
  color: var(--c-white);
  font-size: calc(10.5 * var(--s));
  font-weight: 700;
  transition: background var(--t-base);
}
.us-why__btn:hover {
  background: var(--c-berry-600);
  color: var(--c-white);
}

/* ---------- Частые вопросы — оформление как на странице врача ----------
   бежевая полоса во всю ширину окна с фирменным узором; подложки строк
   полупрозрачные, чтобы узор читался сквозь них */
.us-faq {
  position: relative;
  overflow: hidden;
  margin-top: calc(84 * var(--s));
  padding-block: 45px;
  padding-inline: calc(22.5 * var(--s));
  border-radius: calc(22.5 * var(--s));
}
.us-faq.pattern::before {
  inset: 0;
  background: var(--c-beige);
  mix-blend-mode: normal;
  opacity: 1;
}
.us-faq::after {
  content: "";
  position: absolute;
  inset: 0;
  background: url("/local/templates/dnk174_2026/css/../images/pattern-white.svg") repeat;
  background-size: 620px 620px;
  opacity: 0.12;
  pointer-events: none;
}
.us-faq__h2 {
  margin: 0 0 28px;
  color: var(--c-navy);
  font-size: 30px;
  font-weight: 600;
  line-height: 1.2;
}
.us-faq .faq {
  margin-top: 0;
}

/* ---------- УТП ---------- */
.us-utp {
  position: relative;
  display: flex;
  gap: calc(19 * var(--s));
  margin-top: calc(124 * var(--s));
}
.us-utp__item {
  width: calc(248 * var(--s));
  flex: none;
  padding: calc(10 * var(--s)) calc(10.5 * var(--s)) calc(10 * var(--s)) calc(22.5 * var(--s));
  border: 1px solid var(--c-white);
  border-radius: calc(22.5 * var(--s));
  background: rgba(255, 255, 255, 0.26);
  -webkit-backdrop-filter: blur(14px) saturate(140%);
  backdrop-filter: blur(14px) saturate(140%);
}
.us-utp__top {
  display: flex;
  align-items: center;
  gap: calc(20 * var(--s));
  min-height: calc(48 * var(--s));
}
.us-utp__top img {
  flex: none;
  width: calc(77 * var(--s));
  height: calc(98 * var(--s));
  margin-top: calc(-44 * var(--s));
  object-fit: contain;
}
.us-utp__top img[src*=utp-1] {
  margin-right: calc(-10 * var(--s));
  transform: translateY(calc(-7 * var(--s))) scale(1.044);
  transform-origin: 50% 97%;
}
.us-utp__top img[src*=utp-2] {
  transform: translateY(calc(3 * var(--s))) scale(1.2);
  transform-origin: 50% 88.5%;
}
.us-utp__top img[src*=utp-4] {
  transform: translateY(calc(3 * var(--s)));
}
.us-utp__title {
  color: var(--c-sky-strong);
  font-size: calc(13.5 * var(--s));
  font-weight: 500;
  line-height: 1.2;
}
.us-utp__title b {
  display: block;
  color: var(--c-berry);
  font-weight: 500;
}
.us-utp__text {
  margin-top: calc(12 * var(--s));
  color: var(--c-navy);
  font-size: calc(10.5 * var(--s));
  line-height: 1.4;
}

/* декоративные пятна бренда по краям, как у донора (465×465) */
.us-decor {
  position: absolute;
  z-index: 0;
  width: calc(465 * var(--s));
  height: calc(465 * var(--s));
  border-radius: 50%;
  background: radial-gradient(circle, rgba(177, 59, 99, 0.1) 0%, rgba(177, 59, 99, 0) 70%);
  pointer-events: none;
}
.us-decor--left {
  left: -180px;
}
.us-decor--right {
  right: -180px;
}

/* ---------- Карта: по донору, при 1920 секция 1905×700 ----------
   заголовок 20/700 uppercase, ссылка справа абсолютом, три стеклянные
   карточки 453×225 в ряд через 20, а сама карта — во всю ширину окна,
   абсолютом от y=150, высотой 550: карточки ложатся поверх неё. */
:where(.theme-services) .us-map {
  position: relative;
  min-height: calc(525 * var(--s));
  margin-top: calc(84 * var(--s));
}

:where(.theme-services) .us-map__wrap {
  position: relative;
}

:where(.theme-services) .us-map__title {
  margin: 0 0 calc(18.75 * var(--s));
  padding-top: calc(7.5 * var(--s));
  color: var(--c-navy);
  font-size: calc(15 * var(--s));
  font-weight: 700;
  line-height: calc(15 * var(--s));
  text-transform: uppercase;
}

:where(.theme-services) .us-map__all {
  position: absolute;
  top: 0;
  right: 0;
  display: flex;
  align-items: center;
  height: calc(22.5 * var(--s));
  color: var(--c-berry);
  font-size: calc(10.5 * var(--s));
  font-weight: 500;
  line-height: calc(15 * var(--s));
  transition: color var(--t-fast);
}

:where(.theme-services) .us-map__cities {
  position: relative;
  z-index: 1;
  display: flex;
  gap: calc(15 * var(--s));
}

:where(.theme-services) .us-map__city {
  flex: 1;
  position: relative;
  padding: calc(22.5 * var(--s)) calc(33.75 * var(--s)) calc(22.5 * var(--s)) calc(31.5 * var(--s));
  border: 1px solid var(--c-white);
  border-radius: calc(22.5 * var(--s));
  background: rgba(255, 255, 255, 0.42);
  -webkit-backdrop-filter: blur(16px) saturate(140%);
  backdrop-filter: blur(16px) saturate(140%);
}

/* точка перед городом вынесена в поле карточки */
:where(.theme-services) .us-map__city-name {
  position: relative;
  margin: 0 0 calc(10.5 * var(--s));
  color: var(--c-navy);
  font-size: calc(12 * var(--s));
  font-weight: 700;
  line-height: calc(13.5 * var(--s));
}

/* точка привязана к самой карточке: от строки с названием её сдвигал
   боковой вынос первой буквы, и в трёх карточках точки стояли по-разному */
:where(.theme-services) .us-map__city::before {
  content: "";
  position: absolute;
  left: calc(22.5 * var(--s));
  top: calc(27 * var(--s));
  width: calc(4.5 * var(--s));
  height: calc(4.5 * var(--s));
  border-radius: 50%;
  background: var(--c-berry);
}

:where(.theme-services) .us-map__city-name span {
  color: var(--c-berry);
  font-size: calc(10.5 * var(--s));
}

:where(.theme-services) .us-map__addr {
  margin-bottom: calc(7.5 * var(--s));
  padding-bottom: calc(3 * var(--s));
  border-bottom: 1px dashed rgba(105, 172, 223, 0.45);
}

:where(.theme-services) .us-map__addr p {
  margin: 0 0 calc(3 * var(--s));
  color: var(--c-navy);
  font-size: calc(10.5 * var(--s));
  font-weight: 500;
  line-height: calc(12 * var(--s));
}

:where(.theme-services) .us-map__hours span {
  color: var(--text-muted);
  font-size: calc(9 * var(--s));
  line-height: calc(12 * var(--s));
}

/* у донора куски расписания слипаются — разводим их пробелом */
:where(.theme-services) .us-map__hours span + span {
  margin-left: calc(7 * var(--s));
}

:where(.theme-services) .us-map__more {
  padding: 0;
  border: 0;
  background: none;
  color: var(--c-berry);
  font: inherit;
  font-size: calc(10.5 * var(--s));
  font-weight: 500;
  line-height: calc(15 * var(--s));
  cursor: pointer;
  transition: color var(--t-fast);
}

/* секция и так во всю ширину окна, растягивать по 100vw не нужно:
   100vw считает и полосу прокрутки и даёт лишние 15px */
:where(.theme-services) .us-map__canvas {
  position: absolute;
  top: calc(112.5 * var(--s));
  left: 0;
  right: 0;
  height: calc(412.5 * var(--s));
  -webkit-mask-image: linear-gradient(0deg, #000 40%, rgba(0, 0, 0, 0) 100%);
  mask-image: linear-gradient(0deg, #000 40%, rgba(0, 0, 0, 0) 100%);
  background: var(--c-grey-100) url("/local/templates/dnk174_2026/css/../images/map-bg.jpg") center/cover no-repeat;
  filter: grayscale(1);
}

/* живая карта поверх картинки-заглушки: она остаётся фоном и видна,
   пока карта грузится или если внешний сервис недоступен */
:where(.theme-services) .us-map__canvas iframe {
  display: block;
  width: 100%;
  height: 100%;
  border: 0;
  pointer-events: none;
}

/* Планшет и ноутбук: множитель не меньше, чем при 1440. Раньше он везде
   считался от окна (100vw/1440), и ниже 1440 весь блок ужимался: на 1090
   при контейнере во всю ширину (1035px — почти те же 1050, что при 1440)
   масштаб был 0.76, на 1280 — 0.89, подписи падали до 6–9px. Теперь до 1440
   раскладка та же, что при 1440, шире — растёт с окном, как и раньше. Самые
   мелкие строки добирают пол в пикселях (см. «Нижний предел кегля на
   планшете и ноутбуке»). */
@media (min-width: 761px) {
  .uslugi {
    --s: max(1px, 100vw / 1440);
  }
}
@media (max-width: 1100px) {
  .uslugi .container {
    max-width: 100%;
    padding-inline: 20px;
  }
  .us-hero {
    flex-direction: column;
    gap: 24px;
  }
  .us-hero__title, .us-hero__utp {
    width: 100%;
    padding: 0;
  }
  .us-cat,
  .us-list__col,
  .us-utp__item {
    width: 100%;
  }
  .us-cats,
  .us-list,
  .us-utp {
    flex-wrap: wrap;
  }
  .us-checkup {
    flex-direction: column;
  }
  .us-checkup__content,
  .us-why {
    width: 100%;
  }
  .us-search input {
    padding-right: 42px;
  }
  :where(.theme-services) .us-map__cities {
    grid-template-columns: 1fr;
  }
}
/* ---------- Ведущие специалисты: карточки, как на доноре ----------
   у донора при 1920: слайд 451.33 + зазор 23, карточка 411.33×232
   с отступом слева 40 — в него выступает фото 198×250.
   Здесь всё то же, делённое на 1.3333 (наши единицы при --s = 1). */
.us-spec {
  position: relative;
  margin-top: calc(70 * var(--s));
}
.us-spec__head {
  position: relative;
}
.us-spec .us-title {
  margin-top: 0;
  padding-top: calc(7.5 * var(--s));
  font-weight: 700;
  line-height: calc(18.75 * var(--s));
  text-transform: uppercase;
}
.us-spec .us-title-desc {
  margin-top: calc(7.5 * var(--s));
  line-height: calc(15 * var(--s));
}

/* «Все врачи» прижата к правому краю заголовочного блока */
.us-more {
  position: absolute;
  top: 0;
  right: 0;
  display: grid;
  place-items: center;
  width: calc(107 * var(--s));
  height: calc(22.5 * var(--s));
  border-radius: calc(3 * var(--s));
  background: transparent;
  color: var(--c-berry);
  font-size: calc(9 * var(--s));
  font-weight: 700;
  letter-spacing: 0.02em;
  text-transform: uppercase;
  transition: background var(--t-base), color var(--t-base);
}
.us-more:hover {
  background: var(--c-berry);
  color: var(--c-white);
}

/* 54 — как у донора до верха карточки, но фото выступает вверх на 36,
   поэтому зазор от описания считаем до фото: 39.75 + 36 */
:where(.theme-services) .us-spec__carousel {
  margin-top: calc(76 * var(--s));
}

:where(.theme-services) .us-docs__track {
  gap: calc(10 * var(--s));
  align-items: flex-start;
}

/* стрелки донора: 28.5 в кружке, вынесены на 47.25 за края блока */
:where(.theme-services) .us-spec__carousel .carousel__nav {
  top: calc(52.25 * var(--s));
  width: calc(43.5 * var(--s));
  height: calc(43.5 * var(--s));
  background: rgba(255, 255, 255, 0.45);
  -webkit-backdrop-filter: blur(14px) saturate(140%);
  backdrop-filter: blur(14px) saturate(140%);
  box-shadow: 0 8px 26px rgba(32, 47, 90, 0.1);
  transform: none;
}

:where(.theme-services) .us-spec__carousel .carousel__nav--prev {
  left: calc(-47.25 * var(--s));
}

:where(.theme-services) .us-spec__carousel .carousel__nav--next {
  right: calc(-47.25 * var(--s));
}

@media (max-width: 1100px) {
  .us-more {
    position: static;
    margin-top: 16px;
  }
  :where(.theme-services) .us-spec__carousel .carousel__nav--prev {
    left: 4px;
  }
  :where(.theme-services) .us-spec__carousel .carousel__nav--next {
    right: 4px;
  }
}
/* полоса прокрутки под лентой: у донора 1320×2 на x=40, бегунок ягодный */
:where(.theme-services) .us-spec__foot {
  gap: calc(40 * var(--s));
  margin-top: calc(64.5 * var(--s));
  padding-inline: calc(30 * var(--s));
}

:where(.theme-services) .us-spec__foot .carousel__bar {
  height: calc(1.5 * var(--s));
  border-radius: calc(10 * var(--s));
  background: rgba(255, 255, 255, 0.5);
}

:where(.theme-services) .us-spec__foot .carousel__bar i {
  border-radius: calc(10 * var(--s));
  background: var(--c-berry);
}

/* Гашение карточек за пределами тройки — как на доноре:
   лента не обрезается, а всё, что вне окна, уходит в opacity 0 / scale .8. */
/* по горизонтали лента всё-таки обрезается, иначе скрытые карточки
   растягивают страницу; по вертикали фото свободно выступает */
/* лента не обрезается вовсе — как у донора: карточки въезжают и уезжают
   за края контейнера, а режет их только край окна (body: overflow-x clip) */
:where(.theme-services) .us-spec__carousel .carousel__viewport {
  overflow: visible;
}

:where(.theme-services) .us-doc {
  flex: none;
  opacity: 0;
  scale: 0.8;
  pointer-events: none;
  transition: opacity 0.5s ease-in-out, scale 0.5s ease-in-out;
}

/* видимые карточки отмечает Swiper: на шаге вперёд класс переезжает сразу —
   первая гаснет, следующая проявляется, пока лента едет */
:where(.theme-services) .us-docs__track > .us-doc.swiper-slide-visible {
  opacity: 1;
  scale: 1;
  pointer-events: auto;
}

/* Метки клиник поверх карты. Карта статична (ll=61.30,54.30, z=6) и не
   двигается, поэтому положение считаем один раз: смещение в пикселях от
   центра по проекции Яндекса (эллипсоидальный Меркатор) на этом зуме.
   Слой отдельный от .us-map__canvas, чтобы маска растворения его не гасила. */
/* галочка внутри увеличенной стрелки — крупнее штатных 16px */
:where(.theme-services) .us-spec__carousel .carousel__nav svg {
  width: 20px;
  height: 20px;
}

/* надписи в блоке ЧекАп — индиго */
.us-checkup .us-title-mini,
.us-checkup .us-title-desc {
  color: var(--c-navy);
}

/* ============================================================
   Страница «Лаборатория»
   Единственная страница, собранная не по донору, а по макету:
   герой с поиском, липкая навигация, каталог с фильтром,
   оснащение, цены, лицензии и текстовый блок.
   ============================================================ */
/* ---------- Герой ---------- */
.lab-hero {
  position: relative;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  min-height: calc(520 * var(--s));
  padding: 0 0 calc(86 * var(--s));
  background: url("/local/templates/dnk174_2026/css/../images/lab-hero.webp") center/cover no-repeat;
}
.lab-hero__in {
  position: relative;
}

/* у страницы пластической хирургии свой кадр в герое: модель справа,
   слева чистое поле под заголовок */
.uslugi.plast .lab-hero {
  background-image: url("/local/templates/dnk174_2026/css/../images/plast-hero-2.webp");
}
.uslugi.svc .plast-life {
  margin-top: calc(100 * var(--s));
}
.uslugi.svc .us-spec__foot {
  margin-top: calc(26 * var(--s));
}
.uslugi.svc .plast-life__list {
  grid-template-columns: repeat(4, 1fr);
}
.uslugi.svc .plast-life__list .video-list__item {
  overflow: hidden;
  border: 1px solid var(--c-white);
  border-radius: calc(20 * var(--s));
  background: rgba(255, 255, 255, 0.45);
  -webkit-backdrop-filter: blur(14px) saturate(140%);
  backdrop-filter: blur(14px) saturate(140%);
  transition: background var(--t-fast), transform var(--t-fast);
}
.uslugi.svc .plast-life__list .video-list__item:hover {
  background: rgba(255, 255, 255, 0.72);
  transform: translateY(-4px);
}
.uslugi.svc .plast-life__list .video-list__ph {
  border-radius: 0;
}
.uslugi.svc .plast-life__list .video-list__cap {
  margin: 0;
  padding: calc(11 * var(--s)) calc(16 * var(--s)) calc(14 * var(--s));
}
.uslugi.svc .plast-life__list .video-list__ph {
  aspect-ratio: 2.45/1;
}
.uslugi.svc .lab-hero__utp .us-hero__utp-item {
  width: auto;
}
.uslugi.svc .lab-hero__utp .us-hero__utp-item b {
  white-space: nowrap;
}
.uslugi.svc .plast-band {
  position: relative;
  overflow: hidden;
  margin-top: calc(100 * var(--s));
  padding: calc(26 * var(--s)) calc(34 * var(--s)) calc(26 * var(--s)) calc(62 * var(--s));
  border-radius: calc(20 * var(--s));
  background: linear-gradient(105deg, var(--c-navy) 0%, var(--c-navy-600) 100%);
}
.uslugi.svc .plast-band__grid {
  display: grid;
  grid-template-columns: repeat(4, auto);
  justify-content: start;
  gap: calc(20 * var(--s)) calc(100 * var(--s));
}
.uslugi.svc .plast-band .lab-stat b {
  color: #fff;
  font-size: calc(20 * var(--s));
}
.uslugi.svc .plast-band .lab-stat span {
  color: rgba(255, 255, 255, 0.8);
}
.uslugi.svc .plast-band::before, .uslugi.svc .plast-band::after {
  content: "";
  position: absolute;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.07);
  pointer-events: none;
}
.uslugi.svc .plast-band::before {
  width: calc(210 * var(--s));
  height: calc(210 * var(--s));
  top: calc(-118 * var(--s));
  right: calc(132 * var(--s));
}
.uslugi.svc .plast-band::after {
  width: calc(280 * var(--s));
  height: calc(280 * var(--s));
  top: calc(-128 * var(--s));
  right: calc(-42 * var(--s));
}
.uslugi.svc .plast-band__grid {
  position: relative;
  z-index: 1;
}
.uslugi.svc .plast-pay {
  margin-top: calc(100 * var(--s));
}
.uslugi.svc .plast-pay__grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: calc(20 * var(--s));
  margin-top: calc(20 * var(--s));
}
.uslugi.svc .plast-pay__card {
  display: block;
  padding: calc(18 * var(--s)) calc(26 * var(--s)) calc(20 * var(--s));
}
.uslugi.svc .plast-pay__card h3 {
  color: var(--c-navy);
  font-size: calc(12 * var(--s));
}
.uslugi.svc .plast-pay__list {
  margin: calc(10 * var(--s)) 0 0;
  padding: 0;
  list-style: none;
  display: grid;
  gap: calc(7 * var(--s));
}
.uslugi.svc .plast-pay__list li {
  position: relative;
  padding-left: calc(14 * var(--s));
  color: var(--c-navy);
  font-size: calc(10 * var(--s));
  line-height: 1.35;
}
.uslugi.svc .plast-pay__list li::before {
  content: "";
  position: absolute;
  left: 0;
  top: calc(5 * var(--s));
  width: calc(4 * var(--s));
  height: calc(4 * var(--s));
  border-radius: 50%;
  background: var(--c-berry);
}
.uslugi.svc .plast-pay__chips {
  margin-top: calc(14 * var(--s));
}
.uslugi.svc .plast-price {
  margin-top: calc(100 * var(--s));
}
.uslugi.svc .plast-price__list {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: calc(6 * var(--s)) calc(16 * var(--s));
  margin-top: calc(22 * var(--s));
}
.uslugi.svc .plast-price__row {
  gap: calc(16 * var(--s));
}
.uslugi.svc .plast-price__name {
  flex: 1;
  line-height: 1.2;
  color: var(--c-navy);
  font-size: calc(11 * var(--s));
  font-weight: 600;
}
.uslugi.svc .plast-price__name i {
  display: block;
  margin-top: calc(1 * var(--s));
  line-height: 1.2;
  color: rgba(32, 47, 90, 0.5);
  font-size: calc(9.5 * var(--s));
  font-style: normal;
  font-weight: 400;
}
.uslugi.svc .plast-price__row b {
  flex: none;
}
.uslugi.svc .plast-price__code {
  flex: none;
  width: calc(96 * var(--s));
  padding-left: calc(14 * var(--s));
  border-left: 1px solid rgba(32, 47, 90, 0.12);
  color: rgba(32, 47, 90, 0.45);
  font-size: calc(9.5 * var(--s));
}
.uslugi.svc .plast-price__book {
  flex: none;
  padding: calc(7 * var(--s)) calc(18 * var(--s));
  border: 1px solid var(--c-white);
  border-radius: 999px;
  background: none;
  color: var(--c-navy);
  font-size: calc(9.5 * var(--s));
  white-space: nowrap;
  transition: background var(--t-fast), border-color var(--t-fast), color var(--t-fast);
}
.uslugi.svc .plast-price__book:hover, .uslugi.svc .plast-price__row:hover .plast-price__book {
  background: var(--c-berry);
  border-color: var(--c-berry);
  color: #fff;
}
.uslugi.svc .plast-life__list .video-list__ph {
  background-size: calc(48.6 * var(--s)) calc(48.6 * var(--s)), cover;
  background-position: center, center;
  background-repeat: no-repeat, no-repeat;
  background-color: var(--c-beige);
}
.uslugi.svc .plast-life__list .video-list__item[data-life="1"] .video-list__ph {
  background-image: url("/local/templates/dnk174_2026/css/../images/icons/Video.svg"), url("/local/templates/dnk174_2026/css/../images/plastic/life-1.webp");
}
.uslugi.svc .plast-life__list .video-list__item[data-life="2"] .video-list__ph {
  background-image: url("/local/templates/dnk174_2026/css/../images/icons/Video.svg"), url("/local/templates/dnk174_2026/css/../images/plastic/life-2.webp");
}
.uslugi.svc .plast-life__list .video-list__item[data-life="3"] .video-list__ph {
  background-image: url("/local/templates/dnk174_2026/css/../images/icons/Video.svg"), url("/local/templates/dnk174_2026/css/../images/plastic/life-3.webp");
}
.uslugi.svc .plast-life__list .video-list__item[data-life="4"] .video-list__ph {
  background-image: url("/local/templates/dnk174_2026/css/../images/icons/Video.svg"), url("/local/templates/dnk174_2026/css/../images/plastic/life-4.webp");
}
.uslugi.svc .lab-why__item img {
  width: calc(36 * var(--s));
  height: calc(36 * var(--s));
}
.uslugi.svc .lab-hero__utp {
  display: flex;
  flex-wrap: wrap;
  gap: calc(14 * var(--s)) calc(40 * var(--s));
  margin-top: calc(24 * var(--s));
}

/* крошки поверх снимка, остальное — по центру оставшейся высоты */
.lab-crumbs {
  position: relative;
}
.lab-crumbs .crumbs-page {
  padding-block: calc(14 * var(--s)) 0;
}

/* содержимое прижато к низу кадра: над полосой табов остаётся 24px */
.lab-hero__in {
  margin-top: auto;
}
.lab-hero__grid {
  display: block;
}
.lab-hero__panels {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  align-items: stretch;
  gap: calc(20 * var(--s));
  margin-top: calc(46 * var(--s));
}
.lab-hero__h1 {
  margin: 0;
  color: var(--c-navy);
  font-size: 40px;
  font-weight: 700;
  line-height: 1.12;
}
.lab-hero__lead {
  max-width: calc(450 * var(--s));
  margin: calc(12 * var(--s)) 0 0;
  color: rgba(32, 47, 90, 0.62);
  font-size: calc(11 * var(--s));
  line-height: 1.5;
}
.lab-hero__panel {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: calc(20 * var(--s)) calc(22 * var(--s));
  border: 1px solid rgba(255, 255, 255, 0.85);
  border-radius: calc(22 * var(--s));
  background: rgba(255, 255, 255, 0.38);
  -webkit-backdrop-filter: blur(16px) saturate(150%);
  backdrop-filter: blur(16px) saturate(150%);
}
.lab-hero__stats {
  display: flex;
  align-items: center;
  gap: calc(34 * var(--s));
}

.lab-stat {
  display: grid;
  gap: calc(2 * var(--s));
}
.lab-stat span {
  color: rgba(32, 47, 90, 0.5);
  font-size: calc(9.5 * var(--s));
}
.lab-stat b {
  color: var(--c-berry);
  font-size: calc(14 * var(--s));
  font-weight: 600;
}

.lab-hero__cta {
  margin-left: auto;
  display: inline-grid;
  place-items: center;
  height: calc(34 * var(--s));
  padding: 0 calc(26 * var(--s)) calc(2 * var(--s));
  font-size: calc(10.5 * var(--s));
}
.lab-hero__addrs {
  grid-template-columns: 1fr;
  gap: calc(8 * var(--s));
  max-width: none;
  margin: calc(16 * var(--s)) 0 0;
}
.lab-hero__addrs .addr {
  gap: calc(10 * var(--s));
  padding: calc(9 * var(--s)) calc(14 * var(--s));
  border: 1px solid #fff;
  border-radius: calc(14 * var(--s));
  background: none;
  box-shadow: none;
}
.lab-hero__addrs .addr__pin {
  width: calc(26 * var(--s));
  height: calc(26 * var(--s));
}
.lab-hero__addrs .ico-point-lg {
  width: calc(20 * var(--s));
  height: calc(20 * var(--s));
}
.lab-hero__addrs .addr > span {
  line-height: 1.1;
}
.lab-hero__addrs .addr__label {
  font-size: calc(9 * var(--s));
}
.lab-hero__addrs .addr__value {
  font-size: calc(10.5 * var(--s));
}
.lab-hero__addrs .link-arrow {
  font-size: calc(10 * var(--s));
}

/* ---------- Карточка поиска ---------- */
.lab-search {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: calc(20 * var(--s)) calc(22 * var(--s));
  border: 1px solid rgba(255, 255, 255, 0.85);
  border-radius: calc(22 * var(--s));
  background: rgba(255, 255, 255, 0.38);
  -webkit-backdrop-filter: blur(16px) saturate(150%);
  backdrop-filter: blur(16px) saturate(150%);
}
.lab-search__t {
  margin: 0;
  color: var(--c-navy);
  font-size: calc(16 * var(--s));
  font-weight: 600;
}
.lab-search__hint {
  margin: calc(4 * var(--s)) 0 calc(6 * var(--s));
  color: rgba(32, 47, 90, 0.5);
  font-size: calc(9.5 * var(--s));
}
.lab-search__row {
  position: relative;
}
.lab-search__input {
  width: 100%;
  height: calc(34 * var(--s));
  padding: 0 calc(84 * var(--s)) 0 calc(34 * var(--s));
  border: 1px solid var(--c-white);
  border-radius: calc(17 * var(--s));
  background: rgba(255, 255, 255, 0.8) url("/local/templates/dnk174_2026/css/../images/icons/search.svg") no-repeat calc(13 * var(--s)) center;
  background-size: calc(13 * var(--s)) calc(13 * var(--s));
  -webkit-backdrop-filter: blur(14px) saturate(140%);
  backdrop-filter: blur(14px) saturate(140%);
  color: var(--c-navy);
  font: inherit;
  font-size: calc(10 * var(--s));
  box-shadow: 0 calc(6 * var(--s)) calc(18 * var(--s)) rgba(32, 47, 90, 0.08);
}
.lab-search__input::placeholder {
  color: rgba(32, 47, 90, 0.5);
}
.lab-search__input:focus {
  outline: 0;
  border-color: var(--c-berry);
}
.lab-search__input::-webkit-search-cancel-button {
  display: none;
}
.lab-search__submit {
  position: absolute;
  top: 0;
  right: 0;
  width: calc(76 * var(--s));
  height: calc(34 * var(--s));
  border: 0;
  border-radius: calc(17 * var(--s));
  background: var(--c-berry);
  color: var(--c-white);
  font: inherit;
  font-size: calc(10 * var(--s));
  font-weight: 500;
  cursor: pointer;
  transition: background var(--t-base);
}
.lab-search__submit:hover {
  background: var(--c-berry-600);
}
.lab-search__clear {
  position: absolute;
  top: 0;
  right: calc(80 * var(--s));
  display: none;
  width: calc(22 * var(--s));
  height: calc(34 * var(--s));
  padding: 0;
  border: 0;
  background: none;
  color: rgba(32, 47, 90, 0.4);
  font-size: calc(16 * var(--s));
  line-height: 1;
  cursor: pointer;
  transition: color var(--t-fast);
}
.lab-search.has-text .lab-search__clear {
  display: block;
}
.lab-search__clear:hover {
  color: var(--c-berry);
}
.lab-search__sug {
  top: calc(100% + 6px);
  max-height: calc(260 * var(--s));
}
.lab-search__pop {
  margin: calc(12 * var(--s)) 0 calc(5 * var(--s));
  color: rgba(32, 47, 90, 0.45);
  font-size: calc(9.5 * var(--s));
}
.lab-search__tags {
  display: flex;
  flex-wrap: wrap;
  gap: calc(6 * var(--s));
}
.lab-search__tags a {
  padding: calc(7 * var(--s)) calc(15 * var(--s));
  border: 1px solid #fff;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.18);
  color: var(--c-navy);
  font-size: calc(9.5 * var(--s));
  transition: border-color var(--t-fast), color var(--t-fast), background var(--t-fast);
}
.lab-search__tags a:hover {
  border-color: var(--c-berry);
  background: rgba(255, 255, 255, 0.45);
  color: var(--c-berry);
}

/* ---------- Почему ДНК Лаборатория ---------- */
/* отступ держит сама секция — иначе margin вылезает за неё
   и между липкой полосой и блоком появляется пустая лента */
/* «Почему» идёт без снимка — фон-фото начинается с каталога */
/* 150px из .page-inner нужны только перед подвалом; здесь ниже идёт
   следующий блок, поэтому зазор до «Каталога» короче */
.lab-intro {
  background: var(--c-bg);
  padding-top: calc(34 * var(--s));
  padding-bottom: calc(40 * var(--s));
}

.lab .us-top {
  padding-top: calc(50 * var(--s));
}
.lab .us-top::before {
  -webkit-mask-image: linear-gradient(to bottom, transparent 0%, #000 20%, #000 58%, transparent 100%);
  mask-image: linear-gradient(to bottom, transparent 0%, #000 20%, #000 58%, transparent 100%);
}

/* подложка под блоком: кремовая плотность сверху сходит в ноль книзу,
   поэтому карточки читаются, а снимок ниже остаётся открытым */
.lab-why {
  position: relative;
  margin-top: 0;
}
.lab-why::before {
  content: "";
  position: absolute;
  inset: calc(-60 * var(--s)) calc(50% - 50vw) auto;
  height: 600px;
  z-index: 0;
  background: linear-gradient(to bottom, var(--c-beige) 0%, rgba(235, 221, 208, 0) 100%);
  pointer-events: none;
}
.lab-why > * {
  position: relative;
  z-index: 1;
}
.lab-why__grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: calc(12 * var(--s));
  margin-top: calc(24 * var(--s));
}
.lab-why__item {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: center;
  align-content: start;
  column-gap: calc(10 * var(--s));
  padding: calc(20 * var(--s)) calc(20 * var(--s)) calc(22 * var(--s));
  border: 1px solid var(--c-white);
  border-radius: calc(20 * var(--s));
  background: rgba(255, 255, 255, 0.45);
  -webkit-backdrop-filter: blur(14px) saturate(140%);
  backdrop-filter: blur(14px) saturate(140%);
  transition: background var(--t-fast), transform var(--t-fast);
}
.lab-why__item:hover {
  background: rgba(255, 255, 255, 0.72);
  transform: translateY(-3px);
}
.lab-why__item img {
  width: calc(24 * var(--s));
  height: calc(24 * var(--s));
  object-fit: contain;
}
.lab-why__item h3 {
  margin: 0;
  color: var(--c-navy);
  font-size: calc(12 * var(--s));
  font-weight: 600;
}
.lab-why__item p {
  grid-column: 1/-1;
  margin: calc(9 * var(--s)) 0 0;
  color: rgba(32, 47, 90, 0.62);
  font-size: calc(10 * var(--s));
  line-height: 1.45;
}

/* ---------- Каталог анализов ---------- */
/* верхний отступ держит секция со снимком */
.lab-cat {
  margin-top: 0;
}
.lab-cat__pop {
  margin: calc(24 * var(--s)) 0 calc(10 * var(--s));
  color: rgba(32, 47, 90, 0.45);
  font-size: calc(8.5 * var(--s));
  letter-spacing: 0.06em;
  text-transform: uppercase;
}
.lab-cat__chips {
  display: flex;
  flex-wrap: wrap;
  gap: calc(7 * var(--s));
}

.lab-chip {
  padding: calc(7 * var(--s)) calc(16 * var(--s));
  border: 1px solid var(--c-white);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.5);
  -webkit-backdrop-filter: blur(12px) saturate(140%);
  backdrop-filter: blur(12px) saturate(140%);
  color: var(--c-navy);
  font: inherit;
  font-size: calc(10 * var(--s));
  cursor: pointer;
  transition: background var(--t-fast), color var(--t-fast), border-color var(--t-fast);
}
.lab-chip:hover {
  border-color: var(--c-berry);
  color: var(--c-berry);
}
.lab-chip.is-active {
  border-color: transparent;
  background: var(--c-berry);
  color: #fff;
  font-weight: 600;
}

.lab-cat__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: calc(12 * var(--s));
  margin-top: calc(20 * var(--s));
}

.lab-an {
  display: flex;
  flex-direction: column;
  padding: calc(18 * var(--s)) calc(20 * var(--s)) calc(16 * var(--s));
  border: 1px solid var(--c-white);
  border-radius: calc(18 * var(--s));
  background: rgba(255, 255, 255, 0.45);
  -webkit-backdrop-filter: blur(14px) saturate(140%);
  backdrop-filter: blur(14px) saturate(140%);
  transition: background var(--t-fast), transform var(--t-fast);
}
.lab-an:hover {
  background: rgba(255, 255, 255, 0.75);
  transform: translateY(-3px);
}
.lab-an__kicker {
  margin: 0;
  color: var(--c-sky-strong);
  font-size: calc(8.5 * var(--s));
  font-weight: 400;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}
.lab-an h3 {
  margin: calc(8 * var(--s)) 0 calc(6 * var(--s));
  color: var(--c-navy);
  font-size: calc(12 * var(--s));
  font-weight: 600;
}
.lab-an__desc {
  margin: 0;
  color: rgba(32, 47, 90, 0.6);
  font-size: calc(10 * var(--s));
  line-height: 1.45;
}
.lab-an__foot {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-top: calc(16 * var(--s));
  padding-top: calc(12 * var(--s));
  border-top: 1px solid rgba(32, 47, 90, 0.08);
}
.lab-an__price {
  color: var(--c-berry);
  font-size: calc(11 * var(--s));
  font-weight: 700;
}
.lab-an__foot a {
  color: var(--c-sky-strong);
  font-size: calc(10 * var(--s));
}
.lab-an__foot a:hover {
  color: var(--c-berry);
}
.lab-an[hidden] {
  display: none;
}

/* ---------- Оснащение ---------- */
.lab-equip {
  display: grid;
  grid-template-columns: calc(430 * var(--s)) minmax(0, 1fr);
  gap: calc(30 * var(--s));
  align-items: start;
  margin-top: calc(70 * var(--s));
}
.lab-equip .us-title {
  margin-top: 0;
}
.lab-equip__chips {
  display: flex;
  flex-wrap: wrap;
  gap: calc(7 * var(--s));
  margin-top: calc(20 * var(--s));
}
.lab-equip__chips span {
  padding: calc(7 * var(--s)) calc(15 * var(--s));
  border: 1px solid var(--c-white);
  border-radius: 999px;
  background: none;
  color: var(--c-navy);
  font-size: calc(9.5 * var(--s));
}
.lab-equip__photos {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: calc(10 * var(--s));
}
.lab-equip__photos img {
  width: 100%;
  aspect-ratio: 742/356;
  border-radius: calc(16 * var(--s));
  object-fit: cover;
}

/* ---------- Гарантии ---------- */
.lab-guarantee {
  margin-top: calc(70 * var(--s));
}
.lab-guarantee__grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: calc(12 * var(--s));
  margin-top: calc(24 * var(--s));
}

.lab-card {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: center;
  column-gap: calc(10 * var(--s));
  align-content: start;
  padding: calc(22 * var(--s)) calc(20 * var(--s)) calc(24 * var(--s));
  border: 1px solid var(--c-white);
  border-radius: calc(20 * var(--s));
  background: rgba(255, 255, 255, 0.45);
  -webkit-backdrop-filter: blur(14px) saturate(140%);
  backdrop-filter: blur(14px) saturate(140%);
  transition: background var(--t-fast), transform var(--t-fast);
}
.lab-card:hover {
  background: rgba(255, 255, 255, 0.72);
  transform: translateY(-4px);
}
.lab-card img {
  width: calc(24 * var(--s));
  height: calc(24 * var(--s));
  object-fit: contain;
}
.lab-card h3 {
  margin: 0;
  color: var(--c-navy);
  font-size: calc(12 * var(--s));
  font-weight: 600;
}
.lab-card p {
  grid-column: 1/-1;
  margin: calc(9 * var(--s)) 0 0;
  color: rgba(32, 47, 90, 0.62);
  font-size: calc(10 * var(--s));
  line-height: 1.45;
}

/* ---------- Правила: полоса с узором ---------- */
/* подложка не во всю ширину, а карточкой со скруглением — как блок
   вопросов на «Услугах»: бежевый с узором живёт внутри контейнера */
/* до карточки с правилами зазор короче: 150px из .page-inner нужны
   только перед подвалом */
.lab .us-top {
  padding-bottom: calc(40 * var(--s));
}

.lab-rules-band {
  padding-block: calc(30 * var(--s)) calc(60 * var(--s));
  background: transparent;
}
.lab-rules-band.pattern::before {
  content: none;
}
.lab-rules-band > .container {
  position: relative;
  overflow: hidden;
  padding: 28px calc(22.5 * var(--s)) 45px;
  border-radius: calc(22.5 * var(--s));
  background: var(--c-beige);
}
.lab-rules-band > .container::before {
  content: "";
  position: absolute;
  inset: 0;
  background: url("/local/templates/dnk174_2026/css/../images/pattern-white.svg") repeat;
  background-size: 620px 620px;
  opacity: 0.12;
  pointer-events: none;
}
.lab-rules-band > .container > * {
  position: relative;
  z-index: 1;
}

.lab-rules {
  margin-top: calc(30 * var(--s));
}

/* ---------- Популярные анализы и цены ---------- */
.lab-prices {
  position: relative;
  margin-top: calc(60 * var(--s));
}
.lab-prices__grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: calc(14 * var(--s)) calc(40 * var(--s));
  margin-top: calc(24 * var(--s));
}
.lab-prices__city {
  margin: 0 0 calc(4 * var(--s));
  color: var(--c-navy);
  font-size: calc(12 * var(--s));
  font-weight: 600;
}
.lab-prices__col {
  display: grid;
  gap: calc(4 * var(--s));
}
.lab-prices__row {
  display: flex;
  align-items: center;
  gap: calc(10 * var(--s));
  padding: calc(14 * var(--s));
  border: 1px solid var(--c-white);
  border-radius: calc(14 * var(--s));
  background: rgba(255, 255, 255, 0.22);
  -webkit-backdrop-filter: blur(12px) saturate(140%);
  backdrop-filter: blur(12px) saturate(140%);
  transition: border-color var(--t-fast), background var(--t-fast);
}
.lab-prices__row:hover {
  border-color: var(--c-berry);
  background: rgba(255, 255, 255, 0.42);
}
.lab-prices__row span {
  flex: 1;
  color: rgba(32, 47, 90, 0.72);
  font-size: calc(10.5 * var(--s));
}
.lab-prices__row b {
  color: var(--c-berry);
  font-size: calc(10.5 * var(--s));
  font-weight: 600;
  white-space: nowrap;
}
.lab-prices__all {
  position: absolute;
  top: 0;
  right: 0;
  color: var(--c-berry);
  font-size: calc(10.5 * var(--s));
  font-weight: 600;
}
.lab-prices__all:hover {
  color: var(--c-berry-600);
}

/* ---------- Лицензии ---------- */
.lab-lic {
  display: grid;
  grid-template-columns: calc(300 * var(--s)) minmax(0, 1fr);
  gap: calc(30 * var(--s));
  align-items: start;
  margin-top: calc(70 * var(--s));
}
.lab-lic .us-title {
  margin-top: 0;
}
.lab-lic__track {
  gap: calc(12 * var(--s));
}
.lab-lic__item {
  display: grid;
  place-items: center;
  padding: calc(10 * var(--s));
  border: 1px solid var(--c-white);
  border-radius: calc(14 * var(--s));
  background: rgba(255, 255, 255, 0.26);
  -webkit-backdrop-filter: blur(12px) saturate(130%);
  backdrop-filter: blur(12px) saturate(130%);
}
.lab-lic__item img {
  width: 100%;
  aspect-ratio: 5/7;
  border-radius: calc(6 * var(--s));
  object-fit: contain;
  background: #fff;
}
.lab-lic__carousel .carousel__nav {
  width: calc(30 * var(--s));
  height: calc(30 * var(--s));
  margin-top: -18px;
}

/* Листание как у врачей на главной: лента не обрезается, а всё, что вне
   окна, уходит в прозрачность с уменьшением. В окне четыре листа. */
@media (min-width: 1101px) and (prefers-reduced-motion: no-preference) {
  .lab-lic__carousel .carousel__viewport {
    overflow: visible;
  }
  .lab-lic__track > * {
    opacity: 0;
    scale: 0.8;
    pointer-events: none;
    transition: opacity 0.5s ease-in-out, scale 0.5s ease-in-out;
  }
  .lab-lic__track > .swiper-slide-visible {
    opacity: 1;
    scale: 1;
    pointer-events: auto;
  }
}
/* ---------- Текстовый блок ---------- */
/* еле заметная подложка: текст отделён от снимка, но плашка не читается как карточка */
.lab-seo {
  margin-top: calc(60 * var(--s));
  margin-bottom: calc(50 * var(--s));
  padding: calc(24 * var(--s)) calc(26 * var(--s));
  border-radius: calc(22.5 * var(--s));
  background: rgba(255, 255, 255, 0.16);
  -webkit-backdrop-filter: blur(10px) saturate(120%);
  backdrop-filter: blur(10px) saturate(120%);
}
.lab-seo__row {
  margin-bottom: calc(18 * var(--s));
}
.lab-seo .us-title {
  margin: 0 0 calc(8 * var(--s));
  font-size: calc(14 * var(--s));
  font-weight: 600;
}
.lab-seo__text p {
  margin: 0 0 calc(8 * var(--s));
  color: rgba(32, 47, 90, 0.78);
  font-size: calc(10.5 * var(--s));
  line-height: 1.55;
}
.lab-seo__text p:last-child {
  margin-bottom: 0;
}
.lab-seo__toggle {
  display: inline-flex;
  align-items: center;
  gap: calc(6 * var(--s));
  padding: 0;
  border: 0;
  background: none;
  color: var(--c-berry);
  font: inherit;
  font-size: calc(10.5 * var(--s));
  font-weight: 600;
  cursor: pointer;
}
.lab-seo__toggle svg {
  width: calc(11 * var(--s));
  height: auto;
  transition: transform var(--t-fast);
}
.lab-seo__toggle.is-open svg {
  transform: rotate(180deg);
}
.lab-seo__toggle:hover {
  color: var(--c-berry-600);
}

@media (max-width: 1100px) {
  .lab-hero__grid,
  .lab-equip,
  .lab-lic,
  .lab-seo__row {
    grid-template-columns: minmax(0, 1fr);
  }
  .lab-why__grid,
  .lab-guarantee__grid,
  .lab-cat__grid {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (max-width: 640px) {
  .lab-why__grid,
  .lab-guarantee__grid,
  .lab-cat__grid,
  .lab-prices__grid {
    grid-template-columns: 1fr;
  }
  .lab-hero__stats {
    flex-wrap: wrap;
  }
}
/* подписи под заголовками на странице лаборатории — индиго 50% */
/* подзаголовок разделов — чуть темнее: на светлом фоне половинная
   прозрачность читалась блёкло */
.lab .us-title-desc {
  color: rgba(32, 47, 90, 0.68);
}

/* ============================================================
   Телефон: блоки «Услуг» собраны в пропорциях 1440, и при
   --s = 100vw/1440 весь текст ужимался до 3px. Пересчитываем
   множитель от 430 — как карточку врача на главной — и сводим
   оставшиеся ряды в одну колонку.
   ============================================================ */
@media (max-width: 760px) {
  .uslugi {
    --s: calc(100vw / 430);
  }
  .uslugi .container {
    padding-inline: var(--gutter);
  }
  .uslugi .container {
    padding-inline: var(--gutter);
  }
  .us-cats,
  .us-list,
  .us-utp {
    gap: 14px;
  }
  :where(.theme-services) .us-map__cities {
    gap: 10px;
  }
  .us-hero__lead,
  .us-hero__utp-item,
  .us-search__count,
  .us-search__btn,
  .us-banner__tag,
  .us-banner__text,
  .us-cat__name,
  .us-list__col a,
  .us-checkup__list li,
  .us-utp__item,
  .us-faq__q,
  .us-faq__a,
  .us-title-desc {
    font-size: 14px;
    line-height: 1.3;
  }
  .us-cat__name,
  .us-faq__q {
    font-size: 15px;
  }
  .us-search input {
    height: 46px;
    padding: 0 96px 0 40px;
    font-size: 14px;
  }
  .us-search input {
    background-position: 15px center;
    background-size: 17px 17px;
  }
  .us-search__tools {
    right: 84px;
  }
  .us-search__btn {
    width: 78px;
    height: 46px;
    font-size: 14px;
  }
  .us-search__tools {
    display: none;
  }
  .us-search input {
    padding-right: 90px;
  }
  .us-hero__utp {
    flex-wrap: wrap;
    width: 100%;
    gap: 14px 20px;
    margin-top: 18px;
    padding: 0;
  }
  .us-hero__utp-item {
    width: calc(50% - 10px);
  }
  .us-banner {
    flex-wrap: wrap;
    height: auto;
    gap: 12px;
    padding: 14px 16px;
    border-radius: 18px;
  }
  .us-banner__btn {
    width: 100%;
    height: 38px;
    margin-left: 0;
  }
  :where(.theme-services) .us-map__cities {
    flex-direction: column;
  }
  :where(.theme-services) .us-map__city {
    padding: 14px 16px;
    border-radius: 16px;
  }
  :where(.theme-services) .us-map__addr,
  :where(.theme-services) .us-map__hours,
  :where(.theme-services) .us-map__more,
  :where(.theme-services) .us-map__city p,
  :where(.theme-services) .us-map__city span {
    font-size: 14px;
    line-height: 1.35;
  }
  :where(.theme-services) .us-map__city-name {
    font-size: 15px;
  }
  .us-title-mini,
  .us-tariff__status,
  .us-tariff__name,
  .us-tariff__desc,
  .us-tariff__note,
  .us-checkup__content p,
  .us-why p,
  .us-why__btn,
  .us-banner__btn {
    font-size: 14px;
    line-height: 1.35;
  }
  .us-tariff__price,
  .us-why h3 {
    font-size: 15px;
  }
  .us-banner__text p,
  .us-banner__text span,
  .us-checkup ul li,
  .us-more,
  .us-utp__text,
  .us-utp__text span {
    font-size: 14px;
    line-height: 1.35;
  }
  .us-more {
    width: auto;
    height: 30px;
    padding-inline: 14px;
    border-radius: 15px;
  }
  .lab-hero__lead,
  .lab-search__hint,
  .lab-search__submit,
  .lab-why__item p,
  .lab-card p,
  .lab-an__item,
  .lab-prices__row,
  .lab-equip__left p,
  .lab-seo__row p,
  .lab-lic__left p {
    font-size: 14px;
    line-height: 1.35;
  }
  .lab-hero__stats {
    flex-wrap: wrap;
    gap: 10px;
  }
  .lab-hero__panels {
    grid-template-columns: 1fr;
    gap: 12px;
  }
  .lab .addr__label,
  .lab .link-arrow,
  .lab-search__pop,
  .lab .btn {
    font-size: 14px;
  }
  .lab .addr__value {
    font-size: 14px;
  }
  .lab-cat__pop,
  .lab-chip,
  .lab-an__kicker,
  .lab-an__desc,
  .lab-an__price,
  .lab-cat__item,
  .lab-an__name {
    font-size: 14px;
    line-height: 1.3;
  }
  :where(.theme-services) .lab-stat span,
  :where(.theme-services) .lab-search__tags a,
  :where(.theme-services) .lab-an__foot a,
  :where(.theme-services) .lab-equip__chips span,
  :where(.theme-services) .lab-prices__row span,
  :where(.theme-services) .lab-prices__row b,
  :where(.theme-services) .lab-prices__all,
  :where(.theme-services) .lab-seo__toggle,
  :where(.theme-services) .lab-seo__toggle-t,
  :where(.theme-services) .us-map__all {
    font-size: 14px;
  }
  .lab-why__item h3,
  .lab-an h3,
  .lab-card h3,
  .lab-prices__city {
    font-size: 15px;
  }
  .us-decor {
    display: none;
  }
  :where(.theme-services) .us-map.us-map {
    --k: 0.5;
    min-height: calc(296.25 * var(--s));
  }
  :where(.theme-services) .us-map.us-map .us-map__canvas,
  :where(.theme-services) .us-map.us-map .us-map__pins {
    top: 0;
    height: calc(296.25 * var(--s));
  }
}
/* ---------- ВИП ведение беременности ----------
   Страница собрана из тех же компонентов, что пластика (.svc);
   своё здесь только кадр в герое. */
.uslugi.vip .lab-hero {
  background-image: url("/local/templates/dnk174_2026/css/../images/vip-hero.webp");
}
.uslugi.svc .vip-steps-sec {
  margin-top: calc(100 * var(--s));
}
.uslugi.svc .vip-steps {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: calc(10 * var(--s)) calc(40 * var(--s));
  margin-top: calc(18 * var(--s));
}
.uslugi.svc .vip-steps .timeline__year {
  color: var(--c-berry);
  font-weight: 600;
}
.uslugi.svc .vip-steps .timeline__title {
  line-height: 1.2;
}
.uslugi.svc .vip-steps .timeline__sub {
  margin-top: calc(2 * var(--s));
  line-height: 1.3;
}
.uslugi.vip .us-top {
  position: relative;
}
.uslugi.vip .us-top::before {
  content: "";
  position: absolute;
  inset: calc(-18 * var(--s)) calc(50% - 50vw) auto;
  height: 600px;
  z-index: 0;
  background: linear-gradient(to bottom, var(--c-beige) 0%, rgba(235, 221, 208, 0) 100%);
  -webkit-mask-image: none;
  mask-image: none;
  pointer-events: none;
}
.uslugi.vip .us-top > * {
  position: relative;
  z-index: 1;
}
.uslugi.vip .lab-why::before {
  content: none;
}
.uslugi.vip .us-top > .container > .plast-band:first-child {
  margin-top: 0;
}
.uslugi.vip .us-top > .container > .plast-band__title:first-child {
  margin-top: 0;
}
.uslugi.vip .plast-band__title + .plast-band {
  margin-top: calc(22 * var(--s));
}
.uslugi.svc .vip-steps .timeline__year {
  font-size: calc(20 * var(--s));
  line-height: 1.1;
}
.uslugi.svc .vip-steps .timeline li {
  grid-template-columns: calc(62 * var(--s)) 1fr;
}
.uslugi.vip .plast-band + .lab-why {
  margin-top: calc(74 * var(--s));
}
.uslugi.vip #comfort .lab-card img {
  width: calc(34 * var(--s));
  height: calc(34 * var(--s));
}
.uslugi.vip .section:has(> .container > .lab-lic) {
  padding-bottom: 90px;
}

/* ======================= Кольпоскопия ======================= */
.uslugi.kolpo .lab-hero {
  background-image: url("/local/templates/dnk174_2026/css/../images/kolpo-hero-2.webp");
}
.uslugi.kolpo .us-top {
  position: relative;
}
.uslugi.kolpo .us-top::before {
  content: "";
  position: absolute;
  inset: calc(-18 * var(--s)) calc(50% - 50vw) auto;
  height: 600px;
  z-index: 0;
  background: linear-gradient(to bottom, var(--c-beige) 0%, rgba(235, 221, 208, 0) 100%);
  -webkit-mask-image: none;
  mask-image: none;
  pointer-events: none;
}
.uslugi.kolpo .us-top > * {
  position: relative;
  z-index: 1;
}
.uslugi.kolpo .lab-why::before {
  content: none;
}
.uslugi.kolpo .kolpo-ind {
  margin-top: 0;
}
.uslugi.kolpo .kolpo-yes li::before {
  background: var(--c-sky-strong);
}
.uslugi.kolpo .kolpo-no li::before {
  background: var(--c-berry);
}
.uslugi.kolpo .kolpo-kinds {
  margin-top: calc(74 * var(--s));
}
.uslugi.kolpo .kolpo-kinds__grid {
  grid-template-columns: repeat(3, 1fr);
}
.uslugi.kolpo .lab-why__item img {
  width: calc(34 * var(--s));
  height: calc(34 * var(--s));
}
.uslugi.kolpo .kolpo-prep {
  margin-top: calc(74 * var(--s));
}
.uslugi.kolpo .kolpo-prep__faq {
  margin-top: calc(22 * var(--s));
}
.uslugi.kolpo .kolpo-prep__chips {
  margin-top: calc(18 * var(--s));
}
.uslugi.kolpo .us-spec {
  margin-top: calc(74 * var(--s));
}
.uslugi.kolpo .us-spec__foot {
  margin-top: calc(26 * var(--s));
}
.uslugi.kolpo .plast-price {
  margin-top: calc(74 * var(--s));
}
.uslugi.kolpo .section:has(> .container > .lab-lic) {
  padding-bottom: 90px;
}
.uslugi.kolpo .kolpo-yes li, .uslugi.kolpo .kolpo-no li {
  padding-left: calc(24 * var(--s));
}
.uslugi.kolpo .kolpo-yes li::before, .uslugi.kolpo .kolpo-no li::before {
  top: calc(1 * var(--s));
  width: calc(15 * var(--s));
  height: calc(15 * var(--s));
  border-radius: 0;
  background-color: transparent;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
}
.uslugi.kolpo .kolpo-yes li::before {
  background-image: url("/local/templates/dnk174_2026/css/../images/services/icons/kolpo-yes.svg");
}
.uslugi.kolpo .kolpo-no li::before {
  background-image: url("/local/templates/dnk174_2026/css/../images/services/icons/kolpo-no.svg");
}
.uslugi.kolpo .kolpo-kinds__grid .lab-why__item {
  display: block;
  overflow: hidden;
  padding: 0 0 calc(14 * var(--s));
}
.uslugi.kolpo .kolpo-kinds__ph {
  display: block;
  aspect-ratio: 2.45/1;
  border-radius: 0;
  background-color: var(--c-beige);
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
}
.uslugi.kolpo .kolpo-kinds__ph--lab-control {
  background-image: url("/local/templates/dnk174_2026/css/../images/plastic/life-1.webp");
}
.uslugi.kolpo .kolpo-kinds__ph--kolpo-video {
  background-image: url("/local/templates/dnk174_2026/css/../images/plastic/life-2.webp");
}
.uslugi.kolpo .kolpo-kinds__ph--kolpo-biopsy {
  background-image: url("/local/templates/dnk174_2026/css/../images/plastic/life-3.webp");
}
.uslugi.kolpo .kolpo-kinds__grid .lab-why__item h3 {
  margin: calc(11 * var(--s)) 0 0;
  padding: 0 calc(16 * var(--s));
}
.uslugi.kolpo .kolpo-kinds__grid .lab-why__item p {
  margin: calc(5 * var(--s)) 0 0;
  padding: 0 calc(16 * var(--s));
}
.uslugi.kolpo .kolpo-prep__chips {
  align-items: center;
}
.uslugi.kolpo .kolpo-prep__chips-label {
  margin-right: calc(6 * var(--s));
  color: var(--c-navy);
  font-size: calc(10 * var(--s));
  font-weight: 600;
}
.uslugi.kolpo .kolpo-prep__chips span {
  display: inline-flex;
  align-items: center;
  gap: calc(7 * var(--s));
}
.uslugi.kolpo .kolpo-prep__chips span::before {
  content: "";
  flex: none;
  width: calc(13 * var(--s));
  height: calc(13 * var(--s));
  background: url("/local/templates/dnk174_2026/css/../images/services/icons/kolpo-no.svg") center/contain no-repeat;
}
.uslugi.kolpo .kolpo-prep__chips span {
  padding-left: calc(12 * var(--s));
}
.uslugi.kolpo .kolpo-prep__chips span::before {
  width: calc(16 * var(--s));
  height: calc(16 * var(--s));
}

/* ======================= Маммопластика ======================= */
.uslugi.mammo .lab-hero {
  background-image: url("/local/templates/dnk174_2026/css/../images/mammo-hero-3.webp");
}
.uslugi.mammo .us-top {
  position: relative;
}
.uslugi.mammo .us-top::before {
  content: "";
  position: absolute;
  inset: calc(-18 * var(--s)) calc(50% - 50vw) auto;
  height: 600px;
  z-index: 0;
  background: linear-gradient(to bottom, var(--c-beige) 0%, rgba(235, 221, 208, 0) 100%);
  -webkit-mask-image: none;
  mask-image: none;
  pointer-events: none;
}
.uslugi.mammo .us-top > * {
  position: relative;
  z-index: 1;
}
.uslugi.mammo .lab-why::before {
  content: none;
}
.uslugi.mammo .us-top > .container > .lab-why:first-child {
  margin-top: 0;
}
.uslugi.mammo .lab-why__item img {
  width: calc(34 * var(--s));
  height: calc(34 * var(--s));
}
.uslugi.mammo .mammo-kinds {
  margin-top: calc(100 * var(--s));
}
.uslugi.mammo .mammo-kinds__grid .lab-why__item {
  display: block;
  overflow: hidden;
  padding: 0 0 calc(14 * var(--s));
}
.uslugi.mammo .mammo-kinds__ph {
  display: block;
  aspect-ratio: 2.45/1;
  border-radius: 0;
  background-color: var(--c-beige);
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
}
.uslugi.mammo .mammo-kinds__ph--1 {
  background-image: url("/local/templates/dnk174_2026/css/../images/plastic/life-1.webp");
}
.uslugi.mammo .mammo-kinds__ph--2 {
  background-image: url("/local/templates/dnk174_2026/css/../images/plastic/life-2.webp");
}
.uslugi.mammo .mammo-kinds__ph--3 {
  background-image: url("/local/templates/dnk174_2026/css/../images/plastic/life-3.webp");
}
.uslugi.mammo .mammo-kinds__ph--4 {
  background-image: url("/local/templates/dnk174_2026/css/../images/plastic/life-4.webp");
}
.uslugi.mammo .mammo-kinds__grid .lab-why__item h3 {
  margin: calc(11 * var(--s)) 0 0;
  padding: 0 calc(16 * var(--s));
}
.uslugi.mammo .mammo-kinds__grid .lab-why__item p {
  margin: calc(5 * var(--s)) 0 0;
  padding: 0 calc(16 * var(--s));
}
.uslugi.mammo .mammo-ind {
  margin-top: calc(100 * var(--s));
}
.uslugi.mammo .mammo-yes li, .uslugi.mammo .mammo-no li {
  padding-left: calc(24 * var(--s));
}
.uslugi.mammo .mammo-yes li::before, .uslugi.mammo .mammo-no li::before {
  top: calc(1 * var(--s));
  width: calc(15 * var(--s));
  height: calc(15 * var(--s));
  border-radius: 0;
  background-color: transparent;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
}
.uslugi.mammo .mammo-yes li::before {
  background-image: url("/local/templates/dnk174_2026/css/../images/services/icons/kolpo-yes.svg");
}
.uslugi.mammo .mammo-no li::before {
  background-image: url("/local/templates/dnk174_2026/css/../images/services/icons/kolpo-no.svg");
}
.uslugi.mammo .vip-steps-sec {
  margin-top: calc(100 * var(--s));
}
.uslugi.mammo .mammo-ba {
  margin-top: calc(100 * var(--s));
}
.uslugi.mammo .mammo-ba__grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: calc(16 * var(--s));
  margin-top: calc(22 * var(--s));
}
.uslugi.mammo .mammo-ba__item {
  overflow: hidden;
  border: 1px solid var(--c-white);
  border-radius: calc(20 * var(--s));
  background: rgba(255, 255, 255, 0.45);
  -webkit-backdrop-filter: blur(14px) saturate(140%);
  backdrop-filter: blur(14px) saturate(140%);
  transition: background var(--t-fast), transform var(--t-fast);
}
.uslugi.mammo .mammo-ba__item:hover {
  background: rgba(255, 255, 255, 0.72);
  transform: translateY(-4px);
}
.uslugi.mammo .mammo-ba__pair {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1px;
}
.uslugi.mammo .mammo-ba__ph {
  position: relative;
  display: block;
  aspect-ratio: 3/4;
  background-color: var(--c-beige);
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
}
.uslugi.mammo .mammo-ba__ph i {
  position: absolute;
  left: calc(8 * var(--s));
  top: calc(8 * var(--s));
  padding: calc(3 * var(--s)) calc(8 * var(--s));
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.82);
  color: var(--c-navy);
  font-size: calc(8.5 * var(--s));
  font-style: normal;
  font-weight: 600;
}
.uslugi.mammo .mammo-ba__cap {
  margin: 0;
  padding: calc(11 * var(--s)) calc(16 * var(--s)) 0;
  color: rgba(32, 47, 90, 0.7);
  font-size: calc(10 * var(--s));
  line-height: 1.3;
}
.uslugi.mammo .mammo-ba__cap b {
  display: block;
  color: var(--c-navy);
  font-weight: 600;
}
.uslugi.mammo .mammo-ba__note {
  margin: calc(14 * var(--s)) 0 0;
  color: rgba(32, 47, 90, 0.5);
  font-size: calc(9.5 * var(--s));
}
.uslugi.mammo .lab-equip {
  margin-top: calc(100 * var(--s));
}
.uslugi.mammo .plast-pay {
  margin-top: calc(100 * var(--s));
}
.uslugi.mammo .us-spec {
  margin-top: calc(100 * var(--s));
}
.uslugi.mammo .us-spec__foot {
  margin-top: calc(26 * var(--s));
}
.uslugi.mammo .plast-price {
  margin-top: calc(100 * var(--s));
}
.uslugi.mammo .section:has(> .container > .lab-lic) {
  padding-bottom: 90px;
}
.uslugi.mammo .mammo-ba__ph {
  aspect-ratio: 1/1;
  background-color: #fff;
}
.uslugi.mammo .mammo-ba__ph--1a {
  background-image: url("/local/templates/dnk174_2026/css/../images/plastic/mammo-ba-1a.webp");
}
.uslugi.mammo .mammo-ba__ph--1b {
  background-image: url("/local/templates/dnk174_2026/css/../images/plastic/mammo-ba-1b.webp");
}
.uslugi.mammo .mammo-ba__ph {
  background-color: transparent;
}
.uslugi.mammo .mammo-ba__ph--1a, .uslugi.mammo .mammo-ba__ph--2a, .uslugi.mammo .mammo-ba__ph--3a, .uslugi.mammo .mammo-ba__ph--4a {
  background-image: url("/local/templates/dnk174_2026/css/../images/plastic/mammo-ba-1a.webp");
}
.uslugi.mammo .mammo-ba__ph--1b, .uslugi.mammo .mammo-ba__ph--2b, .uslugi.mammo .mammo-ba__ph--3b, .uslugi.mammo .mammo-ba__ph--4b {
  background-image: url("/local/templates/dnk174_2026/css/../images/plastic/mammo-ba-1b.webp");
}
.uslugi.mammo .mammo-ba__cap b {
  color: var(--c-berry);
}
.uslugi.mammo .mammo-ba__cap {
  padding-top: calc(8 * var(--s));
  padding-bottom: calc(12 * var(--s));
}
.uslugi.mammo .plast-pay__card {
  border-color: var(--c-white);
  background: rgba(205, 231, 255, 0.46);
}
.uslugi.mammo .plast-pay__card:hover {
  background: rgba(205, 231, 255, 0.66);
}
.uslugi.mammo .plast-pay__list:not(.mammo-yes):not(.mammo-no) li::before {
  width: 6px;
  height: 6px;
  top: 5px;
}
.uslugi.mammo .mammo-ba__ph i {
  min-width: calc(54 * var(--s));
  padding: calc(4 * var(--s)) calc(12 * var(--s));
  background: rgba(234, 244, 255, 0.92);
  text-align: center;
}
.uslugi.mammo .mammo-ba__ph--1b i, .uslugi.mammo .mammo-ba__ph--2b i, .uslugi.mammo .mammo-ba__ph--3b i, .uslugi.mammo .mammo-ba__ph--4b i {
  left: auto;
  right: calc(8 * var(--s));
}

/* ======================= Приём гинеколога + цитология ======================= */
.uslugi.gyn .lab-hero {
  background-image: url("/local/templates/dnk174_2026/css/../images/gyn-hero.webp");
}
.uslugi.gyn .us-top {
  position: relative;
}
.uslugi.gyn .us-top::before {
  content: "";
  position: absolute;
  inset: calc(-18 * var(--s)) calc(50% - 50vw) auto;
  height: 600px;
  z-index: 0;
  background: linear-gradient(to bottom, var(--c-beige) 0%, rgba(235, 221, 208, 0) 100%);
  -webkit-mask-image: none;
  mask-image: none;
  pointer-events: none;
}
.uslugi.gyn .us-top > * {
  position: relative;
  z-index: 1;
}
.uslugi.gyn .lab-why::before {
  content: none;
}
.uslugi.gyn .lab-why__item img {
  width: calc(34 * var(--s));
  height: calc(34 * var(--s));
}
.uslugi.gyn .gyn-two {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: calc(16 * var(--s));
  margin-top: calc(26 * var(--s));
}
.uslugi.gyn .gyn-two__card {
  display: block;
}
.uslugi.gyn .gyn-two__card h3 {
  margin: 0 0 calc(14 * var(--s));
  color: var(--c-navy);
  font-size: calc(15 * var(--s));
  font-weight: 600;
}
.uslugi.gyn .gyn-list li {
  padding-left: calc(16 * var(--s));
}
.uslugi.gyn .gyn-list li::before {
  width: 6px;
  height: 6px;
  top: 5px;
  background: var(--c-berry);
}
.uslugi.gyn .gyn-age {
  margin: 0;
}
.uslugi.gyn .gyn-age > div {
  display: flex;
  gap: calc(14 * var(--s));
  padding: calc(9 * var(--s)) 0;
  border-bottom: 1px solid rgba(32, 47, 90, 0.1);
}
.uslugi.gyn .gyn-age > div:last-child {
  border-bottom: 0;
  padding-bottom: 0;
}
.uslugi.gyn .gyn-age dt {
  flex: none;
  width: calc(96 * var(--s));
  color: var(--c-berry);
  font-size: 13px;
  font-weight: 600;
  line-height: 1.3;
}
.uslugi.gyn .gyn-age dd {
  margin: 0;
  color: rgba(32, 47, 90, 0.75);
  font-size: 13px;
  line-height: 1.3;
}
.uslugi.gyn .gyn-note {
  margin: calc(16 * var(--s)) 0 0;
  padding: calc(12 * var(--s)) calc(18 * var(--s));
  border-radius: calc(14 * var(--s));
  background: rgba(255, 255, 255, 0.4);
  color: rgba(32, 47, 90, 0.72);
  font-size: 13px;
  line-height: 1.4;
}
.uslugi.gyn .gyn-steps-sec {
  margin-top: calc(100 * var(--s));
}
.uslugi.gyn .gyn-kinds__grid {
  grid-template-columns: repeat(3, 1fr);
  margin-top: calc(22 * var(--s));
}
.uslugi.gyn .gyn-kinds__grid .lab-why__item {
  display: block;
  overflow: hidden;
  padding: 0 0 calc(14 * var(--s));
}
.uslugi.gyn .gyn-kinds__ph {
  display: block;
  aspect-ratio: 2.45/1;
  background-color: var(--c-beige);
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
}
.uslugi.gyn .gyn-kinds__ph--1 {
  background-image: url("/local/templates/dnk174_2026/css/../images/plastic/life-1.webp");
}
.uslugi.gyn .gyn-kinds__ph--2 {
  background-image: url("/local/templates/dnk174_2026/css/../images/plastic/life-2.webp");
}
.uslugi.gyn .gyn-kinds__ph--3 {
  background-image: url("/local/templates/dnk174_2026/css/../images/plastic/life-3.webp");
}
.uslugi.gyn .gyn-kinds__grid .lab-why__item h3 {
  margin: calc(11 * var(--s)) 0 0;
  padding: 0 calc(16 * var(--s));
}
.uslugi.gyn .gyn-kinds__grid .lab-why__item p {
  margin: calc(5 * var(--s)) 0 0;
  padding: 0 calc(16 * var(--s));
}
.uslugi.gyn .gyn-steps {
  margin-top: calc(26 * var(--s));
}
.uslugi.gyn .gyn-steps .timeline__year {
  color: var(--c-berry);
  font-weight: 600;
  font-size: calc(20 * var(--s));
  line-height: 1.1;
}
.uslugi.gyn .gyn-steps .timeline li {
  grid-template-columns: calc(62 * var(--s)) 1fr;
}
.uslugi.gyn .gyn-steps .timeline__title {
  line-height: 1.2;
}
.uslugi.gyn .gyn-steps .timeline__sub {
  margin-top: calc(2 * var(--s));
  line-height: 1.3;
}
.uslugi.gyn .gyn-prep {
  margin-top: calc(100 * var(--s));
}
.uslugi.gyn .kolpo-prep__faq {
  margin-top: calc(22 * var(--s));
}
.uslugi.gyn .kolpo-prep__chips {
  margin-top: calc(18 * var(--s));
  align-items: center;
}
.uslugi.gyn .kolpo-prep__chips-label {
  margin-right: calc(6 * var(--s));
  color: var(--c-navy);
  font-size: calc(10 * var(--s));
  font-weight: 600;
}
.uslugi.gyn .kolpo-prep__chips span {
  display: inline-flex;
  align-items: center;
  gap: calc(7 * var(--s));
  padding-left: calc(12 * var(--s));
}
.uslugi.gyn .kolpo-prep__chips span::before {
  content: "";
  flex: none;
  width: calc(16 * var(--s));
  height: calc(16 * var(--s));
  background: url("/local/templates/dnk174_2026/css/../images/services/icons/kolpo-no.svg") center/contain no-repeat;
}
.uslugi.gyn .gyn-video {
  margin-top: calc(100 * var(--s));
}
.uslugi.gyn .us-spec {
  margin-top: calc(100 * var(--s));
}
.uslugi.gyn .us-spec__foot {
  margin-top: calc(26 * var(--s));
}
.uslugi.gyn .plast-price {
  margin-top: calc(100 * var(--s));
}
.uslugi.gyn .section:has(> .container > .lab-lic) {
  padding-bottom: 90px;
}
.uslugi.mammo .booking {
  background: var(--c-maya);
}
.uslugi.mammo .mammo-ba__ph i {
  left: 0;
  padding: calc(5 * var(--s)) calc(14 * var(--s));
  border-radius: 0 999px 999px 0;
}
.uslugi.mammo .mammo-ba__ph--1b i, .uslugi.mammo .mammo-ba__ph--2b i, .uslugi.mammo .mammo-ba__ph--3b i, .uslugi.mammo .mammo-ba__ph--4b i {
  left: auto;
  right: 0;
  border-radius: 999px 0 0 999px;
}
.uslugi.mammo .plast-pay__card {
  position: relative;
  overflow: hidden;
}
.uslugi.mammo .plast-pay__card::before, .uslugi.mammo .plast-pay__card::after {
  content: "";
  position: absolute;
  border-radius: 50%;
  background: rgba(138, 201, 255, 0.2);
  pointer-events: none;
}
.uslugi.mammo .plast-pay__card::before {
  width: calc(210 * var(--s));
  height: calc(210 * var(--s));
  top: calc(-118 * var(--s));
  right: calc(132 * var(--s));
}
.uslugi.mammo .plast-pay__card::after {
  width: calc(280 * var(--s));
  height: calc(280 * var(--s));
  top: calc(-128 * var(--s));
  right: calc(-42 * var(--s));
}
.uslugi.mammo .plast-pay__card > * {
  position: relative;
  z-index: 1;
}
.uslugi.mammo .mammo-ba__ph i {
  top: calc(24 * var(--s));
}
.uslugi.mammo .plast-pay__card::before, .uslugi.mammo .plast-pay__card::after {
  background: rgba(138, 201, 255, 0.1);
}
.uslugi.mammo .plast-pay__card::before {
  right: calc(48 * var(--s));
}
.uslugi.mammo .plast-pay__card::after {
  right: calc(-120 * var(--s));
}
.uslugi.mammo .plast-pay__card {
  padding-bottom: calc(34 * var(--s));
}
.uslugi.gyn .gyn-note {
  position: relative;
  margin-top: calc(18 * var(--s));
  padding: calc(16 * var(--s)) calc(22 * var(--s)) calc(16 * var(--s)) calc(26 * var(--s));
  border-radius: calc(12 * var(--s));
  background: rgba(205, 231, 255, 0.46);
  color: var(--c-navy);
  font-size: 14px;
  line-height: 1.45;
}
.uslugi.gyn .gyn-note::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  width: calc(4 * var(--s));
  border-radius: calc(12 * var(--s)) 0 0 calc(12 * var(--s));
  background: var(--c-maya);
}
.uslugi.gyn .gyn-note b {
  color: var(--c-sky-strong);
  font-weight: 600;
}
.uslugi.gyn .gyn-video__ph {
  background-image: url("/local/templates/dnk174_2026/css/../images/icons/Video.svg"), url("/local/templates/dnk174_2026/css/../images/gyn-video.webp");
  background-size: calc(54 * var(--s)) calc(54 * var(--s)), cover;
  background-position: center, center top;
  background-repeat: no-repeat, no-repeat;
}

/* ---- «Врач рассказывает о приёме» по утверждённому образцу ---- */
.uslugi.gyn .gyn-video__grid {
  display: grid;
  grid-template-columns: 1.05fr 1fr;
  gap: calc(18 * var(--s));
  margin-top: calc(22 * var(--s));
  align-items: start;
}
.uslugi.gyn .gyn-video__player {
  position: relative;
  overflow: hidden;
  border-radius: calc(20 * var(--s));
}
.uslugi.gyn .gyn-video__ph {
  display: block;
  aspect-ratio: 4/3;
  background-color: var(--c-beige);
  cursor: pointer;
}
.uslugi.gyn .gyn-video__cap {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  padding: calc(46 * var(--s)) calc(22 * var(--s)) calc(20 * var(--s));
  background: linear-gradient(to top, rgba(32, 47, 90, 0.72) 0%, rgba(32, 47, 90, 0) 100%);
  pointer-events: none;
}
.uslugi.gyn .gyn-video__cap b {
  display: block;
  color: var(--c-white);
  font-size: calc(18 * var(--s));
  font-weight: 600;
  line-height: 1.2;
}
.uslugi.gyn .gyn-video__cap i {
  display: block;
  margin-top: calc(3 * var(--s));
  color: var(--c-maya);
  font-size: calc(11 * var(--s));
  font-style: normal;
  line-height: 1.3;
}
.uslugi.gyn .gyn-video__right {
  display: grid;
  gap: calc(16 * var(--s));
  align-content: start;
}
.uslugi.gyn .gyn-video__card {
  display: block;
}
.uslugi.gyn .gyn-video__card h3 {
  margin: 0 0 calc(10 * var(--s));
  color: var(--c-navy);
  font-size: calc(19 * var(--s));
  font-weight: 600;
}
.uslugi.gyn .gyn-video__card p {
  margin: 0;
  color: rgba(32, 47, 90, 0.62);
  font-size: 14px;
  line-height: 1.5;
}
.uslugi.gyn .gyn-video__doc {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: center;
  column-gap: calc(14 * var(--s));
  padding: calc(16 * var(--s)) calc(20 * var(--s));
}
.uslugi.gyn .gyn-video__doc img {
  width: calc(58 * var(--s));
  height: calc(58 * var(--s));
  border-radius: 50%;
  object-fit: cover;
  object-position: 50% 12%;
}
.uslugi.gyn .gyn-video__doc-body b {
  display: block;
  color: var(--c-navy);
  font-size: calc(14 * var(--s));
  font-weight: 600;
  line-height: 1.25;
}
.uslugi.gyn .gyn-video__doc-body em {
  display: block;
  margin-top: calc(4 * var(--s));
  color: rgba(32, 47, 90, 0.55);
  font-size: 13px;
  font-style: normal;
}
.uslugi.gyn .gyn-video__exp {
  display: block;
  margin-top: calc(4 * var(--s));
  color: rgba(32, 47, 90, 0.55);
  font-size: 13px;
}
.uslugi.gyn .gyn-video__exp i {
  color: var(--c-sky-strong);
  font-style: normal;
  font-weight: 600;
}
.uslugi.gyn .gyn-video__cap {
  background: linear-gradient(to top, rgba(32, 47, 90, 0.92) 0%, rgba(32, 47, 90, 0.62) 45%, rgba(32, 47, 90, 0) 100%);
}
.uslugi.gyn .gyn-note {
  background: rgba(177, 59, 99, 0.07);
}
.uslugi.gyn .gyn-note::before {
  background: var(--c-berry);
}
.uslugi.gyn .gyn-note b {
  color: var(--c-berry);
}
.uslugi.gyn .gyn-video__ph {
  aspect-ratio: 16/9;
}
.uslugi.gyn .gyn-video__grid > .gyn-video__card {
  align-self: start;
}
.uslugi.gyn .gyn-video__doc {
  margin-top: calc(18 * var(--s));
  padding: calc(16 * var(--s)) 0 0;
  border-top: 1px solid rgba(255, 255, 255, 0.34);
  border-radius: 0;
  background: none;
  -webkit-backdrop-filter: none;
  backdrop-filter: none;
}
.uslugi.gyn .gyn-video__grid {
  align-items: stretch;
}
.uslugi.gyn .gyn-video__grid > .gyn-video__card {
  align-self: stretch;
  display: flex;
  flex-direction: column;
  align-items: stretch;
}
.uslugi.gyn .gyn-video__doc {
  margin-top: auto;
}
.uslugi.gyn .gyn-two__card {
  padding-top: calc(16 * var(--s));
}
.uslugi.gyn .gyn-note {
  margin-top: calc(12 * var(--s));
}
.uslugi.gyn .gyn-note::before {
  top: calc(12 * var(--s));
  bottom: calc(12 * var(--s));
  border-radius: 0;
}

/* ---- «Клиника, которой можно доверять»: карусель карточек + список ---- */
.uslugi.gyn .gyn-trust {
  margin-top: calc(100 * var(--s));
}
.uslugi.gyn .gyn-trust__carousel {
  margin-top: calc(22 * var(--s));
}
.uslugi.gyn .gyn-trust__track {
  display: flex;
  gap: calc(16 * var(--s));
}
.uslugi.gyn .gyn-trust__item {
  align-items: center;
  padding: calc(18 * var(--s)) calc(20 * var(--s));
}
.uslugi.gyn .gyn-trust__item h3 {
  margin: 0;
  color: var(--c-navy);
  font-size: calc(12.5 * var(--s));
  font-weight: 500;
  line-height: 1.3;
}
.uslugi.gyn .gyn-trust__item img {
  width: calc(38 * var(--s));
  height: calc(38 * var(--s));
}
.uslugi.gyn .gyn-trust__list {
  margin: calc(30 * var(--s)) 0 0;
  padding: 0;
  list-style: none;
}
.uslugi.gyn .gyn-trust__list li {
  position: relative;
  padding-left: calc(18 * var(--s));
  margin-top: calc(9 * var(--s));
  color: rgba(32, 47, 90, 0.75);
  font-size: 14px;
  line-height: 1.4;
}
.uslugi.gyn .gyn-trust__list li:first-child {
  margin-top: 0;
}
.uslugi.gyn .gyn-trust__list li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 7px;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--c-berry);
}
.uslugi.gyn .gyn-trust__list b {
  color: var(--c-navy);
  font-weight: 600;
}
.uslugi.gyn .gyn-trust__list {
  margin-top: calc(52 * var(--s));
}
.uslugi.gyn .gyn-steps {
  display: block;
}
.uslugi.gyn .gyn-steps .timeline {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: calc(22 * var(--s));
}
.uslugi.gyn .gyn-steps .timeline li {
  padding-block: 0;
  border-bottom: 0;
}
.uslugi.gyn .gyn-note {
  border-radius: 0 calc(12 * var(--s)) calc(12 * var(--s)) 0;
}
.uslugi.gyn .gyn-note::before {
  top: 0;
  bottom: 0;
}
.uslugi.gyn .gyn-steps .timeline li {
  align-content: start;
  padding: calc(16 * var(--s)) calc(18 * var(--s));
  border: 1px solid var(--c-white);
  border-radius: calc(20 * var(--s));
  background: rgba(255, 255, 255, 0.45);
  -webkit-backdrop-filter: blur(14px) saturate(140%);
  backdrop-filter: blur(14px) saturate(140%);
}
.uslugi.gyn .gyn-video__grid {
  grid-template-columns: 1fr 1fr;
}
.uslugi.gyn .gyn-trust__item img {
  width: calc(28 * var(--s));
  height: calc(28 * var(--s));
}
.uslugi.gyn .gyn-trust__item h3 {
  line-height: 1.15;
}
.uslugi.gyn .gyn-trust__carousel .carousel__nav {
  top: calc(50% - 18px);
}
.uslugi.gyn .gyn-trust__item h3 {
  font-size: calc(11 * var(--s));
}
.uslugi.gyn .gyn-note::before {
  width: 3px;
}
.uslugi.gyn .gyn-steps .timeline li {
  grid-template-columns: auto minmax(0, 1fr);
  gap: calc(9 * var(--s));
  align-items: baseline;
}
.uslugi.gyn .gyn-kinds__grid .lab-why__item, .uslugi.gyn .gyn-steps .timeline li {
  background: rgba(255, 255, 255, 0.3);
}
.uslugi.gyn .gyn-kinds__grid .lab-why__item:hover {
  background: rgba(255, 255, 255, 0.5);
}
.uslugi.gyn .gyn-steps .timeline__title {
  font-size: calc(14 * var(--s));
}
.uslugi.gyn .gyn-trust__item {
  flex: none;
  opacity: 0;
  scale: 0.8;
  pointer-events: none;
  transition: opacity 0.5s ease-in-out, scale 0.5s ease-in-out, background var(--t-fast);
}
.uslugi.gyn .gyn-trust__track > .gyn-trust__item.swiper-slide-visible {
  opacity: 1;
  scale: 1;
  pointer-events: auto;
}

/* зазор между шагами — как между карточками выше */
.uslugi.gyn .gyn-steps .timeline {
  gap: calc(12 * var(--s));
}
.uslugi.gyn .gyn-trust__carousel .carousel__viewport {
  overflow: visible;
}
.uslugi.gyn .gyn-steps .timeline__title {
  font-size: calc(16 * var(--s));
}
.uslugi.gyn .gyn-video__player {
  position: relative;
  cursor: pointer;
}
.uslugi.gyn .gyn-video__ph {
  transition: background-size 0.28s ease;
}
.uslugi.gyn .gyn-video__player:hover .gyn-video__ph {
  background-size: calc(66 * var(--s)) calc(66 * var(--s)), cover;
}
.uslugi.gyn .gyn-video__player::after {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(32, 47, 90, 0.14);
  opacity: 0;
  transition: opacity 0.28s ease;
  pointer-events: none;
}
.uslugi.gyn .gyn-video__player:hover::after {
  opacity: 1;
}
.uslugi.gyn .gyn-video__cap {
  z-index: 1;
}
.uslugi.gyn .gyn-video__ph {
  background-image: url("/local/templates/dnk174_2026/css/../images/gyn-video.webp");
  background-size: cover;
  background-position: center top;
  transition: none;
}
.uslugi.gyn .gyn-video__player:hover .gyn-video__ph {
  background-size: cover;
}
.uslugi.gyn .gyn-video__player::after {
  content: none;
}
.uslugi.gyn .gyn-video__play {
  position: absolute;
  top: 50%;
  left: 50%;
  z-index: 2;
  width: calc(72 * var(--s));
  height: calc(72 * var(--s));
  transform: translate(-50%, -50%);
  transition: transform var(--t-base);
  pointer-events: none;
}
.uslugi.gyn .gyn-video__player:hover .gyn-video__play {
  transform: translate(-50%, -50%) scale(1.07);
}
.uslugi.gyn .gyn-trust__item:hover {
  background: rgba(255, 255, 255, 0.45);
  transform: none;
}
.uslugi.gyn .gyn-video__player {
  border: 1px solid var(--c-white);
}
.uslugi.svc .plast-band > .ripple {
  position: absolute;
  z-index: 0;
}

/* волна на полосе ОМС: вне потока (баннер — флекс-строка), под
   содержимым и в том же спокойном темпе, что на других крупных плашках */
.us-banner > .ripple {
  position: absolute;
  z-index: 0;
}
.us-banner__tag, .us-banner__text, .us-banner__btn {
  position: relative;
  z-index: 1;
}

/* на тёмных плашках белая волна читается ярче, чем на светлых:
   та же длительность ощущается резче — растягиваем и гасим сильнее */
.us-banner > .ripple,
.uslugi.svc .plast-band > .ripple {
  opacity: 0.14;
  animation-duration: 3.4s;
}

/* На телефоне прайс оставался в два столбца: строка не умещалась в экран,
   «Записаться» уезжала за кромку, а страница горизонтально не скроллится.
   Складываем в одну колонку — десктоп не затрагиваем. */
@media (max-width: 760px) {
  .uslugi.svc .plast-price__list {
    grid-template-columns: 1fr;
  }
  .uslugi.svc .plast-price__row {
    min-width: 0;
    flex-wrap: wrap;
    row-gap: calc(8 * var(--s));
  }
  .uslugi.svc .plast-price__name {
    flex: 1 1 100%;
  }
  .uslugi.svc .plast-price__code {
    width: auto;
    padding-left: 0;
    border-left: 0;
  }
  .uslugi .plast-price__code:empty {
    display: none;
  }
  .uslugi.svc .plast-price__book {
    margin-left: auto;
  }
}
/* Баннер ОМС стоит на стыке двух секций: сверху к нему приходил подвал
   .page-inner в 150px плюс собственные 33px баннера, снизу до чек-апа —
   60px. Срезаем подвал, чтобы просвет был одинаковым с обеих сторон. */
.us-top--tight {
  padding-bottom: 27px;
}

/* Шаги приёма — голубые плашки, той же заливкой, что и плашка записи.
   Стекло здесь больше не нужно: фон непрозрачный, размытие подложки
   только зря грузило бы отрисовку. Подпись набираем индиго — серый
   по голубому читается плохо. */
.uslugi.gyn .gyn-steps .timeline li {
  background: linear-gradient(100deg, var(--c-sky) 0%, var(--c-sky-strong) 48%, rgba(105, 172, 223, 0.42) 76%, rgba(105, 172, 223, 0) 100%);
  -webkit-backdrop-filter: none;
  backdrop-filter: none;
}
.uslugi.gyn .gyn-steps .timeline__sub {
  color: rgba(32, 47, 90, 0.78);
}
.uslugi.gyn .gyn-steps .timeline__title {
  font-size: calc(15 * var(--s));
}
.uslugi.gyn .gyn-steps .timeline li {
  overflow: hidden;
}
.uslugi.gyn .gyn-steps .timeline li::before, .uslugi.gyn .gyn-steps .timeline li::after {
  content: none;
}
.uslugi.gyn .gyn-steps .timeline li > * {
  position: relative;
  z-index: 1;
}

/* Подпись и значение в плашке героя — вплотную: межстрочный по
   умолчанию 1.5 добавлял по паре пикселей сверху и снизу каждой строки,
   и пара читалась как два отдельных блока. */
.lab-hero__stats .lab-stat {
  gap: 0;
}
.lab-hero__stats .lab-stat span {
  line-height: 1.15;
}
.lab-hero__stats .lab-stat b {
  line-height: 1.1;
}

/* последняя цифра полосы — чуть правее остальных: справа у подложки
   оставался заметный хвост, шаг между колонками трогать нельзя,
   иначе разъедется вся группа */
.uslugi.svc .plast-band__grid .lab-stat:last-child {
  margin-left: calc(28 * var(--s));
}
.uslugi.gyn .gyn-video__card {
  background: rgba(255, 255, 255, 0.12);
  -webkit-backdrop-filter: blur(2px) saturate(108%);
  backdrop-filter: blur(2px) saturate(108%);
}

/* ---------- Шаги приёма: новое оформление ----------
   Было: четыре голубых прямоугольника с растворением вправо — они
   спорили с кремовыми карточками выше и читались как баннеры.
   Стало: светлое стекло в одном ключе со страницей, номер в круге
   фирменного голубого. */
.uslugi.gyn .gyn-steps .timeline {
  position: relative;
}
.uslugi.gyn .gyn-steps .timeline li {
  position: relative;
  overflow: visible;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: start;
  gap: calc(12 * var(--s));
  padding: calc(16 * var(--s)) calc(18 * var(--s)) calc(18 * var(--s));
  border: 1px solid #fff;
  border-radius: calc(18 * var(--s));
  background: rgba(255, 255, 255, 0.5);
  -webkit-backdrop-filter: blur(10px) saturate(130%);
  backdrop-filter: blur(10px) saturate(130%);
  box-shadow: 0 calc(8 * var(--s)) calc(22 * var(--s)) rgba(32, 47, 90, 0.06);
}
.uslugi.gyn .gyn-steps .timeline__year {
  display: grid;
  place-items: center;
  width: calc(34 * var(--s));
  height: calc(34 * var(--s));
  border-radius: 50%;
  background: rgba(138, 201, 255, 0.3);
  color: var(--c-berry);
  font-size: calc(13 * var(--s));
  font-weight: 700;
  line-height: 1;
}
.uslugi.gyn .gyn-steps .timeline__title {
  margin-top: calc(4 * var(--s));
  font-size: calc(15 * var(--s));
}
.uslugi.gyn .gyn-steps .timeline__sub {
  margin-top: calc(4 * var(--s));
  color: rgba(32, 47, 90, 0.62);
  line-height: 1.35;
}
.uslugi.gyn .gyn-kinds__grid .lab-why__item p {
  line-height: 1.2;
}
.uslugi.gyn .kolpo-prep__chips-label {
  color: var(--c-berry);
}
.uslugi.gyn .kolpo-prep__chips span::before {
  background-image: url("/local/templates/dnk174_2026/css/../images/services/icons/kolpo-no-berry.svg");
}
.uslugi.gyn .gyn-video__doc-body em {
  color: var(--c-berry);
  font-weight: 600;
}

/* ---------- Свечение под значками программы (VIP) ----------
   Радиальная подложка фирменного голубого: плотная в центре и к краям
   уходит в ноль. Коробку значка расширяем полем — иначе кромка срезала
   бы свечение; при border-box сама картинка остаётся прежних 36px. */
/* свечение вынесено в отдельный слой под значком: раньше оно жило на
   самой картинке, и круглая кромка срезала ей углы. Теперь значок лежит
   поверх пятна, ничем не обрезан, а размеры у них независимые */
.uslugi.svc .lab-why__item .lab-why__ico {
  display: grid;
  place-items: center;
  margin: calc(-8 * var(--s)) 0 0 calc(-9 * var(--s));
  width: calc(46 * var(--s));
  height: calc(46 * var(--s));
  background: radial-gradient(circle at 50% 50%, rgba(255, 255, 255, 0.52) 0%, rgba(255, 255, 255, 0.4) 38%, rgba(255, 255, 255, 0.16) 64%, rgba(255, 255, 255, 0) 82%);
}
.uslugi.svc .lab-why__item .lab-why__ico img {
  width: calc(36 * var(--s));
  height: calc(36 * var(--s));
  padding: 0;
  border-radius: 0;
  background: none;
  box-shadow: none;
}
.uslugi.svc .plast-band .lab-stat span {
  white-space: nowrap;
}
.uslugi.vip .plast-band__grid {
  gap: calc(20 * var(--s)) calc(74 * var(--s));
}
.uslugi.vip #comfort .lab-card img[src*=vip-c-priem] {
  width: calc(29 * var(--s));
  height: calc(29 * var(--s));
}

/* ---------- Плашка «Лаборатории» на телефоне ----------
   Кнопка лежит в одной строке со счётчиками и на узком экране
   прижималась к ним справа. Раскрываем строку счётчиков в сетку
   самой плашки (display: contents) — тогда кнопку можно увести
   вниз, под адреса, через order. */
@media (max-width: 760px) {
  .lab-hero__panel {
    display: grid;
    grid-template-columns: auto auto 1fr;
    justify-content: start;
    gap: 14px 20px;
  }
  .lab-hero__stats {
    display: contents;
  }
  .lab-hero__addrs {
    grid-column: 1/-1;
  }
  .lab-hero__cta {
    order: 1;
    grid-column: 1/-1;
    width: 100%;
    height: 44px;
    margin-left: 0;
    padding-inline: 0;
  }
}
/* ссылка на полный прайс стоит абсолютом в правом верхнем углу блока
   и на узком экране наезжала на заголовок — отпускаем её в поток,
   она идёт в разметке сразу за заголовком */
@media (max-width: 760px) {
  .lab-prices__all {
    position: static;
    display: inline-block;
    margin: 2px 0 10px;
  }
}
/* ---------- Правила сдачи: знак над текстом ----------
   В ответе знак клиники стоит слева, и на узком экране текст шёл
   колонкой в половину плашки. Ставим знак отдельной строкой сверху,
   текст — во всю ширину, межстрочный плотнее. Ответы с фотографией
   врача (у него аватаром служит снимок) не трогаем. */
@media (max-width: 760px) {
  .faq__a:not(:has(img)) {
    flex-direction: column;
    padding-inline: 16px;
  }
  .faq__a:not(:has(img))::before {
    margin: 0 0 6px;
  }
  :where(.theme-services) .faq__a p {
    line-height: 1.35;
  }
}
/* ---------- Лицензии на телефоне: соседние листы выглядывают ----------
   Поля окна карусели скрипт вычитает при расчёте ширины карточки,
   поэтому через padding получаем лист поуже, а в самих полях видны
   соседние: слева и справа по 40% листа. */
/* знак в ответе гармошки — вплотную к тексту: у самого знака снизу
   поля нет, убираем верхнее поле абзаца */
@media (max-width: 760px) {
  .faq__a:not(:has(img)) {
    gap: 0;
  }
  .faq__a:not(:has(img))::before {
    margin: 0;
  }
  .faq__a:not(:has(img)) > * {
    padding-block: 0 26px;
  }
}
/* ---------- Ещё правки под телефон ---------- */
@media (max-width: 760px) {
  .uslugi .plast-price__row {
    padding: 14px 16px;
  }
  .uslugi .plast-price__name {
    font-size: 14px;
    line-height: 1.25;
  }
  .uslugi .plast-price__name i {
    font-size: 12px;
    line-height: 1.3;
  }
  .uslugi .plast-price__code {
    font-size: 11px;
  }
  .uslugi .plast-price__row b {
    font-size: 15px;
  }
  .uslugi .plast-price__book {
    font-size: 12px;
  }
  .plast-rev .reviews__top {
    margin-top: 6px;
  }
}
/* кегли строк прайса — поверх правила .uslugi.svc, у него тот же вес */
@media (max-width: 760px) {
  .uslugi.svc .plast-price__name, .uslugi.gyn .plast-price__name {
    font-size: 14px;
    line-height: 1.25;
  }
  .uslugi.svc .plast-price__name i, .uslugi.gyn .plast-price__name i {
    font-size: 12px;
    line-height: 1.3;
  }
  .uslugi.svc .plast-price__code, .uslugi.gyn .plast-price__code {
    font-size: 11px;
  }
  .uslugi.svc .plast-price__book, .uslugi.gyn .plast-price__book {
    font-size: 12px;
  }
}
/* ---------- Заголовки на телефоне ----------
   Межстрочный у заголовков считается от кегля, и на узком экране
   двух-трёхстрочные названия разъезжались. Ставим общий минимум.
   Файл подключается последним, поэтому правило перебивает частные. */
@media (max-width: 760px) {
  :where(.theme-services) h1,
  :where(.theme-services) h2,
  :where(.theme-services) h3,
  :where(.theme-services) h4,
  :where(.theme-services) h5,
  :where(.theme-services) .us-title,
  :where(.theme-services) .stitle,
  :where(.theme-services) .pg-head h1,
  :where(.theme-services) .lab-hero h1,
  :where(.theme-services) .section-head h2,
  :where(.theme-services) .lab-card h3,
  :where(.theme-services) .faq__q,
  :where(.theme-services) .bstep__title,
  :where(.theme-services) .news-page__title,
  :where(.theme-services) .doc-page h1 {
    line-height: 1.05;
  }
}
/* ---------- Нижний предел кегля на телефоне ----------
   Внутренние страницы свёрстаны пропорционально (calc от --s), и даже
   с поднятым множителем служебные строки падали до 9–12px. Задаём им
   пол в пикселях: мельче 14 на телефоне ничего не остаётся. */
@media (max-width: 760px) {
  .uslugi li,
  .uslugi .gyn-list li,
  .uslugi .plast-pay__list li,
  .uslugi .kolpo-prep__chips-label,
  .uslugi .plast-price__name i,
  .uslugi .plast-price__code,
  .uslugi .plast-price__book,
  .uslugi .us-doc__book,
  .uslugi .us-doc__status,
  .uslugi .us-doc__roles,
  .uslugi .platform__meta,
  .uslugi .review__date,
  .uslugi .review__mark,
  .uslugi .timeline__sub,
  .uslugi .gyn-video__exp,
  .uslugi .lab-prices__all,
  .uslugi .lab-hero__lead,
  .uslugi .us-title-desc,
  .uslugi .review__text,
  .uslugi .addr__label,
  .uslugi .link-arrow,
  .uslugi .slots__day,
  .uslugi dt,
  .uslugi dd,
  .uslugi .btn {
    font-size: 14px;
  }
  .uslugi .timeline__year {
    font-size: 17px;
  }
  .uslugi .us-title {
    font-size: 20px;
  }
}
/* ---------- Карточки шагов: текст во всю ширину ----------
   Номер занимал отдельную колонку в 62px, и на узкой карточке описанию
   оставалось меньше ста пикселей. Ставим номер отдельной строкой сверху,
   текст идёт во всю ширину плашки. */
@media (max-width: 760px) {
  .uslugi.gyn .gyn-steps .timeline li,
  .uslugi.svc .vip-steps .timeline li {
    grid-template-columns: 1fr;
    gap: 4px;
  }
}
/* добор кеглей, которые перебивались более весомыми правилами */
@media (max-width: 760px) {
  .uslugi.uslugi .kolpo-prep__chips-label, .uslugi.svc .plast-pay__list li, .uslugi.gyn .plast-pay__list li, .uslugi.gyn .gyn-video__cap i, .uslugi.gyn .gyn-two__card h3 {
    font-size: 14px;
  }
  .uslugi.gyn .gyn-two__card h3 {
    font-size: 15px;
  }
}
/* ---------- Нижний предел кегля на планшете и ноутбуке (от 761) ----------
   Множитель здесь не меньше, чем при 1440 (см. начало файла), но и при нём
   подписи макета — 8–12px: это кегли донора с 1920, ужатые на четверть.
   Даём пол, как на телефоне: метки и чипсы — 13px, текст — 14px, заголовки
   карточек — 15px. Через max(): на больших экранах, где кегль макета и так
   крупнее, пол ничего не уменьшает. Корень утроен: часть кеглей задана
   селекторами с двумя-тремя классами (.uslugi.kolpo …). */
@media (min-width: 761px) {
  .uslugi.uslugi.uslugi :is(.us-title-mini, .us-tariff span, .us-search__count, .us-banner__tag,
  .addr__label, .us-map__hours, .us-map__hours span,
  .lab-stat span, .lab-equip__chips span, .lab-chip, .lab-cat__pop,
  .lab-an__kicker, .lab-an__foot a, .lab-search__hint, .lab-search__tags a,
  .plast-price__name i, .plast-price__code, .plast-price__book,
  .kolpo-prep__chips-label, .mammo-ba__ph i, .mammo-ba__note,
  .platform__meta, .review__date, .review__mark) {
    font-size: max(13px, 9.5 * var(--s));
    line-height: 1.3;
  }
  .uslugi.uslugi.uslugi :is(.us-title-desc, .us-hero__lead, .us-hero__utp-item b, .us-hero__utp-item span,
  .us-banner__text p, .us-why li,
  .us-utp__text, .us-tariff p, .us-tariff__status,
  .us-map__addr p, .us-map__city-name span, .us-map__more, .us-map__all,
  .link-arrow, .addr__value, .addr__city,
  .lab-why__item p, .lab-card p, .lab-an__desc, .lab-an__price,
  .lab-search__pop,
  .lab-prices__row span, .lab-prices__row b, .lab-prices__all,
  .lab-seo__text p, .lab-seo__toggle-t,
  .plast-price__name, .plast-pay__list li,
  .mammo-ba__cap, .mammo-ba__cap b, .gyn-video__cap i) {
    font-size: max(14px, 10.5 * var(--s));
    line-height: 1.35;
  }
  .uslugi.uslugi.uslugi :is(.btn, .us-search__btn, .us-banner__btn, .us-why__btn, .lab-search__submit) {
    font-size: max(14px, 10.5 * var(--s));
    line-height: 1.15;
  }
  .uslugi.uslugi.uslugi span.plast-price__code {
    font-size: max(13px, 9.5 * var(--s));
  }
  .uslugi.uslugi.uslugi :is(.lab-why__item h3, .lab-card h3, .lab-an h3, .lab-prices__city, .us-map__city-name) {
    font-size: max(15px, 12 * var(--s));
    line-height: 1.25;
  }
  :where(.theme-services) :is(.uslugi, .doc-page) .us-doc {
    container-type: inline-size;
  }
  :where(.theme-services) :is(.uslugi, .doc-page) .us-doc__card {
    --s: clamp(0.95px, 100cqw / 342, 1.333px);
    height: auto;
    min-height: calc(148 * var(--s));
  }
  :where(.theme-services) :is(.uslugi, .doc-page) .us-doc__img {
    position: relative;
    align-self: stretch;
    height: auto;
    margin-bottom: -1px;
  }
  :where(.theme-services) :is(.uslugi, .doc-page) .us-doc__img img {
    position: absolute;
    inset: 0;
  }
  :where(.theme-services) :is(.uslugi.uslugi, .doc-page.doc-page) .us-doc__name {
    font-size: max(14px, 12.25 * var(--s));
    line-height: 1.1;
  }
  :where(.theme-services) :is(.uslugi.uslugi, .doc-page.doc-page) :is(.us-doc__status, .us-doc__roles, .us-doc__rating, .us-doc__book) {
    font-size: max(12px, 10.5 * var(--s));
    line-height: 1.2;
  }
  :where(.theme-services) :is(.uslugi.uslugi, .doc-page.doc-page) .us-doc__rating {
    margin-bottom: 10px;
  }
}
/* Раскладка планшета под крупный кегль */
@media (min-width: 761px) and (max-width: 1100px) {
  .uslugi.svc .plast-price__list {
    grid-template-columns: 1fr;
  }
  .uslugi .lab-hero__stats {
    flex-wrap: wrap;
  }
  .uslugi .lab-hero__cta {
    flex: none;
  }
}
/* ---------- Каталог услуг под крупный кегль (от 761) ----------
   Преимущества в первом экране стояли четырьмя колонками по 125 в полосе
   470: при кегле 14px подписи разваливались по слову в строку («9 / клиник
   / в 3 / городах»). Подписи теперь не переносятся; на десктопе четыре
   пункта встают сеткой 2×2 на том же месте, на планшете (первый экран там
   в колонку, полоса во всю ширину) — в ряд, каждый по своей ширине.
   Кнопка в баннере ОМС была фиксированной ширины 172 — надпись со
   стрелкой переносилась; теперь ширина по надписи. */
@media (min-width: 761px) {
  .us-hero__utp .us-hero__utp-item {
    width: auto;
  }
  .us-hero__utp .us-hero__utp-item span {
    white-space: nowrap;
  }
  .uslugi .us-banner__btn {
    width: auto;
    height: max(40px, 34 * var(--s));
    padding-inline: max(24px, 22 * var(--s));
    white-space: nowrap;
  }
}
@media (min-width: 1101px) {
  .us-hero__utp {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px 24px;
    align-content: start;
  }
}
/* Полоса цифр (VIP, пластика). Подписи с полом в 13px вместо 9.5 и без
   переноса шли с прежним шагом 74–100: на VIP четыре пункта (857px) не
   влезали в полосу (954) и край срезал последнюю цифру. Теперь колонки по
   содержимому разнесены по ширине полосы с шагом не меньше 32px, а если
   места всё же мало — подпись переносится, а не обрезается. На планшете
   четыре в ряд не помещаются — 2×2. Телефон: цифры сменяют друг друга. */
@media (min-width: 761px) {
  .uslugi.svc .plast-band__grid {
    grid-template-columns: repeat(4, minmax(0, auto));
    justify-content: space-between;
    column-gap: 32px;
  }
  .uslugi.svc .plast-band__grid .lab-stat:last-child {
    margin-left: 0;
  }
  .uslugi.svc .plast-band .lab-stat span {
    white-space: normal;
    text-wrap: balance;
  }
}
@media (min-width: 761px) and (max-width: 1100px) {
  .uslugi.svc .plast-band__grid {
    grid-template-columns: repeat(2, minmax(0, auto));
    justify-content: start;
    gap: 20px 48px;
  }
}
@media (min-width: 761px) and (max-width: 1100px) {
  .uslugi .us-banner {
    height: auto;
    min-height: calc(82 * var(--s));
  }
}
/* Строка поиска каталога — как на странице поиска: текст 15px, высота 46.
   Поле справа держим под счётчик, крестик, микрофон и кнопку и на
   планшете: адаптив до 1100 сводил его к 42px, и запрос уходил под них. */
@media (min-width: 761px) {
  .uslugi .us-search input {
    height: max(46px, 41 * var(--s));
    padding-right: calc(250 * var(--s) + 40px);
    font-size: max(15px, 11.25 * var(--s));
    background-size: max(17px, 15 * var(--s)) max(17px, 15 * var(--s));
  }
  .uslugi .us-search__btn {
    height: max(46px, 41 * var(--s));
  }
}
/* колонка кода — по содержимому: длинные коды («A03.20.001.001») при
   поле в 13px были шире её 96 */
@media (min-width: 761px) {
  .uslugi.svc .plast-price__code {
    width: auto;
    min-width: calc(96 * var(--s));
  }
}
/* шаги приёма — по два в ряд, как на телефоне: при четырёх в ряд на
   узком планшете тексту оставалось 87px, и «Исследование» вылезало */
@media (min-width: 761px) and (max-width: 960px) {
  .uslugi.gyn .gyn-steps .timeline {
    grid-template-columns: 1fr 1fr;
  }
}
/* ---------- Подложка «Частых вопросов» на телефоне ----------
   Бежевая плашка упиралась в кромки экрана. Отводим её от краёв
   и оставляем внутренние поля, чтобы текст не лип к рамке. */
@media (max-width: 760px) {
  .lab-rules-band > .container {
    width: auto;
    margin-inline: 12px;
    padding-inline: 16px;
  }
}
/* ---------- Карточки адресов на телефоне ----------
   Значок был мельче строки, а ссылка на карту стояла сразу за текстом.
   Увеличиваем пин и уводим ссылку в правый угол карточки. */
@media (max-width: 760px) {
  .uslugi .lab-hero__addrs .addr {
    gap: 0 8px;
    padding: 8px 10px;
  }
  .uslugi .lab-hero__addrs .addr__pin {
    width: 32px;
    height: 32px;
  }
  .uslugi .lab-hero__addrs .ico-point-lg {
    width: 24px;
    height: 24px;
  }
  .uslugi .lab-hero__addrs .addr .link-arrow {
    margin-left: auto;
  }
  .uslugi .lab-hero__addrs .addr > span:not([class]) {
    min-width: 0;
  }
  :where(.theme-services) .addr__city {
    display: block;
  }
}
/* отступ от строки вкладок до первой карточки — меньше */
@media (max-width: 760px) {
  .uslugi .us-top {
    padding-top: 18px;
  }
  .uslugi.gyn .gyn-two {
    margin-top: 14px;
  }
}
/* ---------- «Что входит в приём» — обычная карусель ----------
   Блок переведён на общий компонент: те же стрелки и полоса, что
   у остальных лент. Класс сетки на ленте оставлен ради оформления
   карточек, но раскладку задаёт карусель. */
.uslugi.gyn .gyn-kinds__track {
  display: flex;
  grid-template-columns: none;
  gap: calc(14 * var(--s));
}
.uslugi.gyn .gyn-kinds__carousel {
  margin-top: calc(22 * var(--s));
}

/* ---------- Шаги: номер и название в строку ----------
   Номер пускаем обтеканием, описание уходит под него во всю ширину. */
@media (max-width: 760px) {
  .uslugi.gyn .gyn-steps .timeline li, .uslugi.svc .vip-steps .timeline li {
    display: block;
  }
  .uslugi.gyn .gyn-steps .timeline__year, .uslugi.svc .vip-steps .timeline__year {
    float: none;
    display: inline;
    margin-right: 8px;
  }
  .uslugi.gyn .gyn-steps .timeline__title, .uslugi.svc .vip-steps .timeline__title {
    display: inline;
  }
  .uslugi.gyn .gyn-steps .timeline__sub, .uslugi.svc .vip-steps .timeline__sub {
    display: block;
    clear: both;
  }
}
/* заголовок вопроса и текст ответа — по одной левой линии:
   у вопроса поле было 26px против 16 у ответа. Правило общее для всех
   блоков вопросов: на каталоге список тот же, только без .lab-rules */
@media (max-width: 760px) {
  .lab-rules .faq__q,
  .uslugi .faq__q {
    padding-inline: 16px;
  }
}
/* подпись врача в карточке видео — плотнее по строкам */
@media (max-width: 760px) {
  .uslugi.gyn .gyn-video__cap,
  .uslugi.gyn .gyn-video__cap b,
  .uslugi.gyn .gyn-video__cap i,
  .uslugi.gyn .gyn-video__cap span,
  .uslugi.gyn .gyn-video__exp {
    line-height: 1.15;
  }
}
/* строка специализации в карточке врача на телефоне не помещается
   в отведённую высоту и обрезается посередине буквы — убираем её:
   имя, степень, рейтинг и кнопка остаются */
@media (max-width: 760px) {
  .uslugi .us-doc__roles {
    display: none;
  }
}
/* ---------- Каталог без развёрнутого списка ----------
   Перечень услуг под плитками убран: страница заканчивается каталогом
   категорий. Списки остаются в разметке и показываются только как
   результаты поиска — класс is-searching вешает на блок main.js.
   Вес в три класса — чтобы перебить `.us-phead:has(+ .us-panel.is-active)`
   выше в этом же файле. */
.us-services.us-services:has(.us-cats):not(.is-searching) .us-panel.us-panel,
.us-services.us-services:has(.us-cats):not(.is-searching) .us-phead.us-phead.us-phead {
  display: none;
}

/* ---------- Каталог услуг: отбивки шапки раздела ----------
   Крошки стояли вплотную к заголовку, а строка поиска, наоборот,
   далеко от вводного абзаца. Модификатор есть только у каталога
   и у страниц категорий, собранных по его шаблону. */
.us-top--tight .crumbs-page {
  margin-bottom: calc(14 * var(--s));
}
.us-top--tight .us-search {
  margin-top: calc(12 * var(--s));
}

/* ---------- Страница категории ----------
   Собрана по шаблону каталога, только вместо плиток — заголовок
   категории и её список. Плитки в каталоге стали ссылками на эти
   страницы, поэтому им нужен сброс подчёркивания. */
.us-cat {
  text-decoration: none;
  color: inherit;
}

.us-cat-title {
  margin: calc(20 * var(--s)) 0 calc(14 * var(--s));
  color: var(--c-navy);
  font-size: calc(24 * var(--s));
  font-weight: 600;
  line-height: 1.2;
}

@media (max-width: 760px) {
  .us-cat-title {
    margin: 18px 0 12px;
    font-size: 17px;
    line-height: 1.05;
  }
}
/* ---------- Заголовки страниц в один размер ----------
   На широком экране все h1 раздела — 40px (как .pg-head h1). На телефоне
   40px не помещается, поэтому держим 24px — ровно столько же, сколько
   у .pg-head h1 в page.css, чтобы единый размер сохранялся и там. */
@media (max-width: 760px) {
  .us-hero__h1,
  .lab-hero__h1 {
    font-size: 24px;
  }
}
/* ---------- Шапка каталога ----------
   Раскладка донорская: заголовок с лидом слева, ряд наград прижат
   вправо. Начертание заголовка — как на странице услуги (700).
   С кеглем 40 заголовок не укладывался в колонку 468 и шёл в три-четыре
   строки. У ряда наград было 183px запаса (плашки растягивались шире
   своего содержимого) — отдаём этот запас заголовку: колонка 560,
   награды 470 без левого поля. Обе величины в --s, поэтому пропорция
   держится на любой ширине экрана. */
.us-hero__h1 {
  font-weight: 700;
  line-height: 1.05;
}

/* только там, где заголовок и награды стоят рядом: ниже 1101 первый экран
   в колонку, и ширина в --s перебивала «во всю ширину» из адаптива — на
   телефоне ряд наград выходил шире экрана (на 375 — на 64px) */
@media (min-width: 1101px) {
  .us-hero__title {
    width: calc(560 * var(--s));
  }
  .us-hero__utp {
    width: calc(470 * var(--s));
    padding-left: 0;
  }
}
/* ---------- Единый зазор от крошек до заголовка на телефоне ----------
   Эталон — страницы с .pg-head (22px). Страницы услуг давали 18,
   каталог и категории — 12: у них отбивку задаёт не заголовок,
   а нижнее поле самих крошек. */
@media (max-width: 760px) {
  .lab-hero__h1 {
    margin-top: 4px;
  }
  .us-top--tight .crumbs-page {
    margin-bottom: 22px;
  }
}
/* ---------- Страница услуги на телефоне ----------
   Поля плашек в герое донорские (20/22 единицы) — на узком экране они
   съедали ширину. Полоса разделов липнет под шапку (62px), а не к
   самому верху. Чипсы направлений идут одной строкой с прокруткой,
   правый край уходит в прозрачность — как у топбара. */
@media (max-width: 760px) {
  .lab-hero__panel {
    padding: 14px 12px;
  }
  :where(.theme-services) .tabs {
    top: 62px;
  }
  .lab-cat__chips {
    flex-wrap: nowrap;
    overflow-x: auto;
    scrollbar-width: none;
    padding-right: 34px;
    -webkit-mask-image: linear-gradient(to right, #000 calc(100% - 46px), transparent 100%);
    mask-image: linear-gradient(to right, #000 calc(100% - 46px), transparent 100%);
  }
  .lab-cat__chips::-webkit-scrollbar {
    display: none;
  }
  .lab-chip {
    flex: none;
  }
}
/* ---------- Врачи на странице услуги: подвал ленты как на главной ----------
   Полоса прокрутки и стрелки в одну строку, кнопка отдельной строкой
   во всю ширину. В донорской раскладке все трое стояли в ряд, и на
   телефоне кнопка сжималась до 83px — текст обрезался. */
@media (max-width: 760px) {
  .uslugi .carousel .carousel__foot.us-spec__foot {
    position: static;
    left: auto;
    right: auto;
    bottom: auto;
    height: auto;
    display: grid;
    grid-template-rows: 38px auto;
    align-items: center;
    gap: 12px;
    margin-top: 18px;
    padding-inline: 0;
  }
  .uslugi .carousel .carousel__foot.us-spec__foot .carousel__bar {
    margin-right: 86px;
  }
  .uslugi .carousel .carousel__foot.us-spec__foot .btn {
    width: 100%;
  }
  .uslugi .us-spec__foot .carousel__bar,
  .uslugi .us-spec__foot .carousel__bar i {
    height: 2px;
    border-radius: 2px;
  }
}
/* ---------- Герой страницы услуги: зазор под крошками ----------
   Содержимое героя прижималось к низу кадра (margin-top: auto), и
   расстояние от крошек до заголовка плавало от высоты экрана — то 22,
   то 4px. На телефоне фиксируем: 22px, как на остальных страницах. */
@media (max-width: 760px) {
  .lab-hero__in {
    margin-top: 0;
  }
  .lab-hero__h1 {
    margin-top: 22px;
  }
}
/* ---------- Стрелки ленты врачей — в строку с полосой ----------
   Подвал этой ленты вернулся в поток, поэтому нижнее поле карусели
   больше не нужно, а стрелки поднимаем на высоту кнопки с отбивкой. */
@media (max-width: 760px) {
  .uslugi .carousel.us-spec__carousel {
    padding-bottom: 0;
  }
  .uslugi .carousel .carousel__foot.us-spec__foot {
    transform: none;
    opacity: 1;
  }
  .uslugi .carousel.us-spec__carousel .carousel__nav {
    top: auto;
    bottom: 55px;
    width: 38px;
    height: 38px;
  }
  .uslugi .carousel.us-spec__carousel .carousel__nav svg {
    width: 14px;
    height: 14px;
  }
  .uslugi .carousel.us-spec__carousel .carousel__nav--prev {
    left: auto;
    right: 42px;
  }
  .uslugi .carousel.us-spec__carousel .carousel__nav--next {
    left: auto;
    right: 0;
  }
}
/* ---------- Кнопка под лентой врачей — как на главной ----------
   На главной «Все врачи клиники» на телефоне идёт ягодной обводкой
   без заливки (#doctors .carousel__foot .btn--primary). Здесь она
   оставалась залитой — приводим к тому же виду. */
@media (max-width: 760px) {
  .uslugi .us-spec__foot .btn--primary {
    background: transparent;
    border-color: var(--c-berry);
    color: var(--c-berry);
  }
}
/* ---------- «Пластика Life» — лента вместо сетки ----------
   На широком экране вид прежний: четыре карточки в ряд с шагом 24,
   стрелки и полоса скрыты. Ширину карточек считает сам скрипт ленты
   из числа колонок и этого же шага, поэтому сетка не разъезжается. */
.plast-life__carousel .carousel__track {
  gap: 24px;
}
.plast-life__carousel .carousel__viewport {
  overflow: visible;
}
.plast-life__carousel .carousel__nav, .plast-life__foot {
  display: none;
}

/* На телефоне — по одной карточке, полоса и стрелки в строку,
   как в ленте врачей. */
@media (max-width: 760px) {
  .uslugi .carousel.plast-life__carousel {
    position: relative;
    padding-bottom: 50px;
  }
  .uslugi .carousel.plast-life__carousel .carousel__nav {
    display: grid;
    top: auto;
    bottom: 0;
    width: 38px;
    height: 38px;
  }
  .uslugi .carousel.plast-life__carousel .carousel__nav svg {
    width: 14px;
    height: 14px;
  }
  .uslugi .carousel.plast-life__carousel .carousel__nav--prev {
    left: auto;
    right: 42px;
  }
  .uslugi .carousel.plast-life__carousel .carousel__nav--next {
    left: auto;
    right: 0;
  }
  .uslugi .carousel .carousel__foot.plast-life__foot {
    display: flex;
    align-items: center;
    position: absolute;
    left: 0;
    right: 86px;
    bottom: 0;
    height: 38px;
    margin: 0;
    padding: 0;
  }
  .uslugi .plast-life__foot .carousel__bar,
  .uslugi .plast-life__foot .carousel__bar i {
    height: 2px;
    border-radius: 2px;
  }
  .uslugi .plast-life__foot .carousel__bar {
    background: rgba(255, 255, 255, 0.5);
  }
}
/* ---------- Герой страницы услуги: плотнее набор ----------
   Вводный абзац и строки преимуществ шли с донорским интерлиньяжем
   1.5 — на телефоне блок получался рыхлым. */
@media (max-width: 760px) {
  .uslugi .lab-hero__lead {
    line-height: 1.3;
  }
  .uslugi .lab-hero__utp .us-hero__utp-item,
  .uslugi .lab-hero__utp .us-hero__utp-item b,
  .uslugi .lab-hero__utp .us-hero__utp-item span {
    line-height: 1.25;
  }
}
/* ---------- «Доступная хирургия» на телефоне ----------
   Две карточки в ряд не помещались: текст рвался по два слова. */
@media (max-width: 760px) {
  .uslugi.svc .plast-pay__grid {
    grid-template-columns: 1fr;
    gap: 10px;
  }
}
/* ---------- «Доступная хирургия» на телефоне: набор ----------
   Заголовок карточки был 10.5px — мельче собственного текста в 14px.
   Маркеры списка в 3.5px не попадали в пиксельную сетку и рисовались
   не кружками, а чёрточками.
   Списки «показания / противопоказания» исключены: там вместо точки
   стоит галочка или крестик. Вес у правил одинаковый (три класса),
   и это, которое ниже по файлу, сминало иконки до 5px — от них
   оставались еле заметные крапинки. */
@media (max-width: 760px) {
  .uslugi.svc .plast-pay__card h3 {
    font-size: 15px;
    line-height: 1.2;
  }
  .uslugi.svc .plast-pay__list:not(.kolpo-yes):not(.kolpo-no):not(.mammo-yes):not(.mammo-no) li::before {
    width: 5px;
    height: 5px;
    top: 7px;
  }
  .uslugi.svc .plast-pay__list:not(.kolpo-yes):not(.kolpo-no):not(.mammo-yes):not(.mammo-no) li {
    padding-left: 14px;
  }
}
/* ---------- «Подготовка к операции»: убрать провал над заголовком ----------
   До заголовка набегало 63px: поле секции, отбивка самого заголовка и
   поле внутреннего контейнера. */
@media (max-width: 760px) {
  .uslugi .lab-rules-band {
    padding-block: 0;
    margin-top: 60px;
    margin-bottom: 0;
  }
  .uslugi .lab-rules-band > .container {
    padding-block: 16px;
  }
  .uslugi .lab-rules-band .us-title {
    margin-top: 0;
  }
  .uslugi .lab-rules-band .faq {
    margin-top: 12px;
  }
}
/* ---------- Отзывы на страницах услуг — как на главной ----------
   Разметка блока совпадает с главной, расходился только кегль подписи
   под оценкой: общий запрет «не мельче 14» растягивал её на три строки
   и карточка вырастала с 86 до 111px. Здесь возвращаем донорские 11. */
@media (max-width: 760px) {
  .uslugi .plast-rev .platform__meta {
    font-size: 11px;
    line-height: 1.25;
  }
}
/* ---------- Рубрика над названием услуги ----------
   Надстрочная метка («ГРУДЬ», «ЛИЦО») попала в общий запрет «не мельче
   14» и сравнялась с заголовком карточки в 15px. Это подпись-рубрика,
   она должна быть заметно мельче. */
@media (max-width: 760px) {
  .uslugi .lab-an__kicker {
    font-size: 11px;
    line-height: 1.2;
    letter-spacing: 0.08em;
  }
}
/* ---------- Отзывы: плита оценки и площадки ближе ----------
   Между большой плитой и карточками площадок было 20px. */
@media (max-width: 760px) {
  .uslugi .plast-rev .reviews__top {
    gap: 10px;
  }
}
/* ---------- Лицензии на телефоне: две в ряд ----------
   Растворение — общее правило проекта, оно остаётся. Выглядывающий
   край соседа при нём невозможен: соседние карточки прозрачны.
   Поэтому поля окна убираем, две лицензии заполняют ширину. */
@media (max-width: 760px) {
  .lab-lic__carousel .carousel__viewport {
    padding-left: 0;
    padding-right: 0;
  }
}
/* ---------- Полоса разделов на телефоне: ниже ----------
   Донорские поля 20px сверху и снизу давали полосу в 62px — почти
   столько же, сколько шапка. Делаем её компактнее. */
@media (max-width: 760px) {
  .uslugi .tabs a {
    padding: 11px 0 12px;
  }
  .uslugi .tabs__in {
    gap: 40px;
  }
}
/* ---------- Единый шаг между блоками на телефоне: 60px ----------
   Донорские отбивки заданы в единицах --s и давали разброс 26…87px,
   причём у каждой страницы свой набор правил вида .uslugi.gyn .блок.
   Поэтому корень утроен — иначе эти правила не перебить. */
@media (max-width: 760px) {
  .uslugi.uslugi.uslugi .lab-why, .uslugi.uslugi.uslugi .lab-cat, .uslugi.uslugi.uslugi .lab-equip, .uslugi.uslugi.uslugi .lab-guarantee, .uslugi.uslugi.uslugi .us-spec, .uslugi.uslugi.uslugi .lab-prices, .uslugi.uslugi.uslugi .lab-lic, .uslugi.uslugi.uslugi .lab-seo, .uslugi.uslugi.uslugi .plast-life, .uslugi.uslugi.uslugi .plast-band, .uslugi.uslugi.uslugi .plast-pay, .uslugi.uslugi.uslugi .plast-price, .uslugi.uslugi.uslugi .plast-rev, .uslugi.uslugi.uslugi .kolpo-kinds, .uslugi.uslugi.uslugi .kolpo-prep, .uslugi.uslugi.uslugi .mammo-kinds, .uslugi.uslugi.uslugi .mammo-ba, .uslugi.uslugi.uslugi .vip-steps-sec, .uslugi.uslugi.uslugi .gyn-steps-sec, .uslugi.uslugi.uslugi .gyn-video, .uslugi.uslugi.uslugi .gyn-trust {
    margin-top: 60px;
  }
  .uslugi.uslugi.uslugi .section.page-inner {
    padding-block: 0;
  }
  .uslugi #reviews,
  .uslugi #faq,
  .uslugi #services,
  .uslugi #education,
  .uslugi #peers {
    padding-block: 0;
  }
}
/* ---------- Герой услуги: плашки ближе к преимуществам ----------
   Между строкой преимуществ и блоком с адресами было 40px. */
@media (max-width: 760px) {
  .uslugi .lab-hero__panels {
    margin-top: 20px;
  }
}
/* ---------- Кнопка «все отзывы» ближе к ленте ----------
   Между последней карточкой и кнопкой было 34px. */
@media (max-width: 760px) {
  .uslugi .plast-rev .center-more {
    margin-top: 16px;
  }
}
/* ---------- Плашка с общей оценкой компактнее ----------
   Было 178px: поля по 24 и шаг 8 между цифрой, звёздами и подписью. */
@media (max-width: 760px) {
  .uslugi .plast-rev .score {
    padding-block: 14px;
    gap: 4px;
    min-height: 0;
  }
  .uslugi .plast-rev .score__num {
    font-size: 42px;
    line-height: 1.05;
  }
  .uslugi .plast-rev .score__stars {
    font-size: 17px;
  }
}
/* ---------- Строки преимуществ в герое: без межстрочной «ступеньки» ----------
   Жирная строка и пояснение шли с интерлиньяжем 1.25 и визуально
   расходились. Прижимаем их друг к другу. */
@media (max-width: 760px) {
  .uslugi .lab-hero__utp .us-hero__utp-item,
  .uslugi .lab-hero__utp .us-hero__utp-item b,
  .uslugi .lab-hero__utp .us-hero__utp-item span {
    line-height: 1.1;
  }
}
/* ---------- Счётчики в герое на телефоне ----------
   Строка «Операций / Консультация / Хирургов» стояла вплотную к левому
   верхнему углу плашки, а адресные карточки под ней имеют собственные
   поля — текст выглядел выпавшим из общей сетки. Сдвигаем строку внутрь
   плашки: вправо до линии карточек и чуть вниз от её верхнего края. */
@media (max-width: 760px) {
  .uslugi .lab-hero__panel .lab-stat {
    padding-top: 6px;
  }
  .uslugi .lab-hero__panel .lab-stat:first-child {
    padding-left: 8px;
  }
}
/* ---------- Полоса цифр: одна на телефоне ----------
   Класс is-rotating ставит скрипт и только на узком экране — донорский
   ряд из четырёх цифр на десктопе остаётся как был. Цифры лежат в одной
   ячейке сетки: полоса равна самой высокой и не меняет высоту при смене
   кадра. Подписи здесь переносятся: в одну строку их держали ради ровного
   низа ряда, а в стопке ряда нет. */
@media (max-width: 760px) {
  .uslugi.svc .plast-band__grid.is-rotating {
    display: grid;
    grid-template-columns: 1fr;
    gap: 0;
  }
  .uslugi.svc .plast-band__grid.is-rotating .lab-stat {
    grid-area: 1/1;
    margin-left: 0;
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.6s ease-in-out;
  }
  .uslugi.svc .plast-band__grid.is-rotating .lab-stat.is-on {
    opacity: 1;
    pointer-events: auto;
  }
  .uslugi.svc .plast-band__grid.is-rotating .lab-stat span {
    white-space: normal;
  }
}
/* ---------- Блок записи в общий шаг ----------
   У плашки записи своих отбивок нет, и к предыдущему блоку она подходила
   вплотную. Ставим тот же шаг, что и между остальными блоками. */
@media (max-width: 760px) {
  .uslugi.uslugi.uslugi .booking {
    margin-top: 60px;
  }
}
/* ---------- Плашка записи на телефоне: собрать по высоте ----------
   Поля в 45px заданы по id (#booking) — перебить их можно только таким же
   id. Внутри плашки колонки раскрыты в её сетку (display: contents), и
   шаг сетки в 40px складывался с собственными отбивками заголовков: между
   строками получалось по 50-74px. Держим шаг одной сеткой, отбивки
   обнуляем. */
@media (max-width: 760px) {
  #booking.booking {
    padding: 24px 16px;
    gap: 16px;
  }
  :where(.theme-services) .booking h2 {
    margin-bottom: 0;
  }
  :where(.theme-services) .booking .booking__note {
    margin-bottom: 0;
    line-height: 1.15;
  }
  :where(.theme-services) .booking h3 {
    margin-bottom: 0;
  }
}
/* ---------- Карточки списков на телефоне: поля уже ----------
   Донорские поля в 22.7px съедали ширину: строки списка ломались
   посередине слова. Текст ставим на 14px от кромки — вровень с полем
   самой страницы. */
@media (max-width: 760px) {
  .uslugi.uslugi .plast-pay__card {
    padding: 14px 14px 16px;
  }
  .uslugi.uslugi .kolpo-yes li::before, .uslugi.uslugi .kolpo-no li::before, .uslugi.uslugi .mammo-yes li::before, .uslugi.uslugi .mammo-no li::before {
    top: 2px;
    width: 16px;
    height: 16px;
  }
}
/* ---------- «Виды процедуры» — лента, как «Пластика Life» ----------
   На широком экране вид прежний: три карточки в ряд с донорским шагом,
   стрелки и полоса скрыты. Ширину карточек считает сам скрипт ленты из
   числа колонок и этого же шага. Сетку снимаем: дорожка ленты — флекс,
   иначе скрипт не сможет её двигать. */
.uslugi.kolpo .kolpo-kinds__carousel {
  margin-top: calc(24 * var(--s));
}
.uslugi.kolpo .kolpo-kinds__carousel .carousel__track {
  display: flex;
  gap: calc(12 * var(--s));
  margin-top: 0;
}

.kolpo-kinds__carousel .carousel__viewport {
  overflow: visible;
}
.kolpo-kinds__carousel .carousel__nav, .kolpo-kinds__foot {
  display: none;
}

/* На телефоне — по одной карточке, полоса и стрелки в строку,
   как в ленте врачей и в «Пластике Life». */
@media (max-width: 760px) {
  .uslugi .carousel.kolpo-kinds__carousel {
    position: relative;
    padding-bottom: 50px;
  }
  .uslugi .carousel.kolpo-kinds__carousel .carousel__nav {
    display: grid;
    top: auto;
    bottom: 0;
    width: 38px;
    height: 38px;
  }
  .uslugi .carousel.kolpo-kinds__carousel .carousel__nav svg {
    width: 14px;
    height: 14px;
  }
  .uslugi .carousel.kolpo-kinds__carousel .carousel__nav--prev {
    left: auto;
    right: 42px;
  }
  .uslugi .carousel.kolpo-kinds__carousel .carousel__nav--next {
    left: auto;
    right: 0;
  }
  .uslugi .carousel .carousel__foot.kolpo-kinds__foot {
    display: flex;
    align-items: center;
    position: absolute;
    left: 0;
    right: 86px;
    bottom: 0;
    height: 38px;
    margin: 0;
    padding: 0;
  }
  .uslugi .kolpo-kinds__foot .carousel__bar,
  .uslugi .kolpo-kinds__foot .carousel__bar i {
    height: 2px;
    border-radius: 2px;
  }
  .uslugi .kolpo-kinds__foot .carousel__bar {
    background: rgba(255, 255, 255, 0.5);
  }
}
/* ---------- Пустая полоса под закреплённой строкой разделов ----------
   Первый блок внутри .us-top несёт общий шаг в 60px, а собственных полей
   у секции нет — поле схлопывалось наружу и повисало отдельной полосой
   между строкой разделов и текстом. Шаг первому блоку снимаем, а отбивку
   от строки разделов задаёт сама секция. */
@media (max-width: 760px) {
  .uslugi.uslugi.uslugi .tabs + .section.page-inner.us-top {
    padding-top: 18px;
  }
  .uslugi.uslugi.uslugi .tabs + .us-top > .container > :first-child {
    margin-top: 0;
  }
  .uslugi.uslugi.uslugi .section.page-inner.us-top--tight {
    padding-top: 0;
  }
}
/* ---------- Текстовый блок внизу страницы: плотный набор ----------
   Донорский интерлиньяж 1.6 на узком экране растягивал абзацы
   на пол-экрана. */
@media (max-width: 760px) {
  .uslugi .lab-seo__text p,
  .uslugi .lab-seo__text li {
    line-height: 1.15;
  }
}
/* ---------- Кадр героя кольпоскопии на телефоне ----------
   При кадрировании по центру модель выходила на левую половину и
   перекрывала строки преимуществ. Смещаем кадр так, чтобы фигура
   ушла к правой кромке. */
@media (max-width: 760px) {
  .uslugi.kolpo .lab-hero {
    background-position: 34% center;
  }
}
/* ---------- Полоса цифр: плотный набор на телефоне ----------
   Цифра и подпись шли с интерлиньяжем 1.5 — между ними зияла строка
   пустоты, а в стопке это единственный видимый кадр. */
@media (max-width: 760px) {
  .uslugi.uslugi .plast-band .lab-stat {
    gap: 0;
  }
  .uslugi.uslugi .plast-band .lab-stat b {
    line-height: 1.1;
  }
  .uslugi.uslugi .plast-band .lab-stat span {
    line-height: 1.2;
  }
}
/* ---------- Этапы наблюдения: строки двух колонок на одной линии ----------
   Колонки — два отдельных списка, и высоты пунктов в них не совпадали:
   04 стоял вровень с серединой 01, 05 — с 02. Раскрываем списки в сетку
   блока (display: contents) и задаём три строки с заполнением по колонкам:
   порядок 01-03 слева, 04-06 справа сохраняется, а высоту строки держит
   самый высокий пункт пары. */
@media (max-width: 760px) {
  .uslugi.svc .vip-steps > .timeline {
    display: contents;
  }
  .uslugi.svc .vip-steps {
    grid-auto-flow: column;
    grid-template-rows: repeat(3, auto);
  }
}
/* ---------- Этапы: плотный набор ----------
   Название пущено в строку (display: inline), и высоту его строк задавал
   не сам заголовок, а подпорка пункта — донорские 1.5. Сводим их. */
@media (max-width: 760px) {
  .uslugi.svc .vip-steps .timeline li {
    line-height: 1.2;
  }
  .uslugi.svc .vip-steps .timeline__sub {
    line-height: 1.2;
  }
}
/* ---------- Плитки каталога на телефоне: шаг минимальный ----------
   В столбик они идут одна под другой, и донорские 14px между ними
   читались как пустые полосы. */
@media (max-width: 760px) {
  .uslugi .us-cats {
    gap: 6px;
  }
}
/* ---------- Значки плиток каталога на телефоне: крупнее ----------
   Само стёклышко 56px, но донорское поле в 15px съедало его изнутри —
   от рисунка оставалось 26px. Поле ужимаем, коробка прежняя. */
@media (max-width: 760px) {
  .uslugi .us-cat img {
    padding: 8px;
  }
}
/* ---------- Заголовок каталога на телефоне: по ширине экрана ----------
   Колонку в 560 единиц заголовок получил ради десктопной раскладки, но
   правило стоит вне медиазапроса и на телефоне давало 488px — строки
   уходили за правую кромку. Ширину отпускаем, поле держит контейнер. */
@media (max-width: 760px) {
  .uslugi .us-hero__title {
    width: auto;
  }
  .uslugi .us-hero__lead {
    max-width: none;
  }
}
/* ---------- Блок чек-апов на телефоне ----------
   Поля плашки были почти 20px — на узком экране они съедали строку.
   Надстрочник набран прописными: в 14px полужирным он спорил с самим
   заголовком, поэтому кегль меньше и начертание обычное (общий пол
   в 14px на прописной служебной строке не нужен). */
@media (max-width: 760px) {
  .uslugi .us-checkup {
    padding: 14px;
  }
  .uslugi .us-checkup .us-title-mini {
    font-size: 12px;
    font-weight: 500;
  }
}
/* ---------- Значки списка «Почему ЧекАп» на телефоне: крупнее ----------
   Донорские 13 единиц давали 11px — галочка в рамке читалась как точка. */
@media (max-width: 760px) {
  .uslugi .us-why li::before {
    width: 17px;
    height: 17px;
    top: 1px;
  }
  .uslugi .us-why li {
    padding-left: 25px;
  }
}
/* ---------- Панель чек-апа: набор плотнее и список по левой линии ----------
   Вводный абзац шёл с донорским интерлиньяжем — на узком экране абзац
   растягивался. Список был отбит внутрь на 13px и не совпадал по левой
   линии с заголовком панели. */
@media (max-width: 760px) {
  .uslugi .us-checkup__content p {
    line-height: 1.15;
  }
  .uslugi .us-why ul {
    padding-left: 0;
  }
}
/* ---------- Плашки чек-апов на телефоне: выше ----------
   Донорские 50 единиц дают 44px: название с подписью в две строки
   упиралось в кромки. Высоту отпускаем, её держит поле. */
@media (max-width: 760px) {
  .uslugi .us-tariff {
    height: auto;
    min-height: 52px;
    padding-block: 8px;
  }
}
/* ---------- Кнопка в панели «Почему ЧекАп»: стандартная высота ----------
   Донорские 33.75 единицы дают 29px — вдвое ниже остальных кнопок
   проекта (44px) и ниже минимальной цели для пальца. */
@media (max-width: 760px) {
  .uslugi .us-why__btn {
    height: 44px;
    padding-bottom: 0;
  }
}
/* ---------- «Частые вопросы» на каталоге: по общим правилам ----------
   Заголовок блока на телефоне везде 20px, а здесь оставался донорским
   тридцатым и с отбивкой в 28px. Поля бежевой плашки тоже донорские:
   45px сверху и снизу против 14px по краям страницы. */
@media (max-width: 760px) {
  .uslugi .us-faq__h2 {
    font-size: 20px;
    line-height: 1.2;
    margin-bottom: 16px;
  }
  .uslugi .us-faq {
    padding: 24px 14px;
  }
}
/* ---------- Значок «Мужское здоровье» ----------
   Рисунок у него плотнее остальных и при общем поле в 8px упирался
   в кромки стёклышка — добавляем ему пару пикселей поля. */
@media (max-width: 760px) {
  .uslugi .us-cat img[src$="cat-5.svg"] {
    padding: 11px;
  }
}
/* ---------- Плашки преимуществ на телефоне: поля шире ----------
   Донорские 8.7px сверху и снизу: текст в три строки упирался в кромки
   плашки. Левое поле держит колонку со значком — его не трогаем. */
@media (max-width: 760px) {
  .uslugi .us-utp__item {
    padding-block: 14px;
    padding-right: 14px;
  }
}
/* ---------- «Фото до и после» — лента ----------
   На широком экране вид прежний: четыре карточки в ряд с донорским
   шагом, стрелки и полоса скрыты. Сетку снимаем: дорожка ленты — флекс,
   иначе скрипт не сможет её двигать. */
.uslugi.mammo .mammo-ba__carousel {
  margin-top: calc(22 * var(--s));
}
.uslugi.mammo .mammo-ba__carousel .carousel__track {
  display: flex;
  gap: calc(16 * var(--s));
  margin-top: 0;
}

.mammo-ba__carousel .carousel__viewport {
  overflow: visible;
}
.mammo-ba__carousel .carousel__nav, .mammo-ba__foot {
  display: none;
}

/* На телефоне — по одной карточке, полоса и стрелки в строку,
   как в ленте врачей. */
@media (max-width: 760px) {
  .uslugi .carousel.mammo-ba__carousel {
    position: relative;
    padding-bottom: 50px;
  }
  .uslugi .carousel.mammo-ba__carousel .carousel__nav {
    display: grid;
    top: auto;
    bottom: 0;
    width: 38px;
    height: 38px;
  }
  .uslugi .carousel.mammo-ba__carousel .carousel__nav svg {
    width: 14px;
    height: 14px;
  }
  .uslugi .carousel.mammo-ba__carousel .carousel__nav--prev {
    left: auto;
    right: 42px;
  }
  .uslugi .carousel.mammo-ba__carousel .carousel__nav--next {
    left: auto;
    right: 0;
  }
  .uslugi .carousel .carousel__foot.mammo-ba__foot {
    display: flex;
    align-items: center;
    position: absolute;
    left: 0;
    right: 86px;
    bottom: 0;
    height: 38px;
    margin: 0;
    padding: 0;
  }
  .uslugi .mammo-ba__foot .carousel__bar,
  .uslugi .mammo-ba__foot .carousel__bar i {
    height: 2px;
    border-radius: 2px;
  }
  .uslugi .mammo-ba__foot .carousel__bar {
    background: rgba(255, 255, 255, 0.5);
  }
}
/* ---------- Номер шага и название — одной строкой ----------
   У длинного первого слова («Предоперационное») не оставалось места
   рядом с номером, и строка уезжала вниз: номер оставался один.
   Разрешаем переносить слово по слогам — тогда название начинается
   в той же строке, что и номер, по общей базовой линии. */
@media (max-width: 760px) {
  .uslugi.gyn .gyn-steps .timeline__title,
  .uslugi.svc .vip-steps .timeline__title {
    hyphens: auto;
  }
}
/* ---------- Значки «Наши преимущества» на телефоне: крупнее ----------
   Донорские 36 единиц дают 31px — рядом с заголовком в 15px рисунок
   терялся. */
@media (max-width: 760px) {
  .uslugi.uslugi .lab-why__item img {
    width: 44px;
    height: 44px;
  }
  .uslugi.uslugi .lab-why__item .lab-why__ico {
    width: 54px;
    height: 54px;
  }
  .uslugi.uslugi .lab-why__item .lab-why__ico img {
    width: 44px;
    height: 44px;
  }
}
/* ---------- Сноска под «Фото до и после»: общий пол в 14px ----------
   Донорские 9 единиц давали 8px — строка не читалась. */
@media (max-width: 760px) {
  .uslugi.uslugi .mammo-ba__note {
    font-size: 14px;
    line-height: 1.3;
  }
}
/* подпись под парой снимков — в общий пол 14px */
@media (max-width: 760px) {
  .uslugi.uslugi .mammo-ba__cap {
    font-size: 14px;
    line-height: 1.3;
  }
}
/* метки «До» и «После» на снимках — крупнее: донорские 8.5 единиц
   давали 7.4px, подпись читалась с трудом */
@media (max-width: 760px) {
  .uslugi.uslugi .mammo-ba__ph i {
    padding: 4px 10px;
    font-size: 12px;
  }
}
/* подпись на плитке каталога крупнее: 15px рядом со значком в 40px
   читались мелко */
@media (max-width: 760px) {
  .uslugi .us-cat span {
    font-size: 16px;
  }
}
/* ---------- Список услуг: плашки одной высоты ----------
   Названия в одну и в две строки давали плашки 35 и 49px — ряд выглядел
   рваным. Задаём общую минимальную высоту и центруем текст. */
@media (max-width: 760px) {
  .uslugi .us-list__col > a,
  .uslugi .us-sub__head > a {
    display: flex;
    align-items: center;
    min-height: 49px;
  }
}
/* ---------- Список услуг: единый шаг между плашками ----------
   Внутри колонки плашки стояли через 2.6px, а между колонками — через
   14px, и ряд ломался на группы. Шаг один и небольшой. */
@media (max-width: 760px) {
  .uslugi .us-list {
    gap: 4px;
  }
  .uslugi .us-list__col {
    gap: 4px;
  }
}
/* ---------- Шаги приёма на телефоне ----------
   Плашки стояли вплотную друг к другу, а номер был мельче названия. */
@media (max-width: 760px) {
  .uslugi.gyn .gyn-steps .timeline li + li {
    margin-top: 4px;
  }
  .uslugi.gyn .gyn-steps .timeline__year {
    font-size: 16px;
  }
}
/* ---------- Парные блоки на телефоне — в столбик ----------
   Две карточки в ряд делили 347px пополам: строки рассыпались на два-три
   слова, а у видео подпись наезжала на портрет. Ставим друг под другом. */
@media (max-width: 760px) {
  .uslugi.gyn .gyn-two,
  .uslugi.gyn .gyn-video__grid {
    grid-template-columns: 1fr;
    gap: 10px;
  }
}
/* ---------- Лента «Клиника, которой можно доверять» ----------
   Стрелки висели поверх карточки по центру и были на два пикселя крупнее
   наших, полоса шла во всю ширину под ними. Приводим к виду ленты врачей:
   стрелки 38×38 под карточкой у правого края, полоса в той же строке. */
@media (max-width: 760px) {
  .uslugi .carousel.gyn-trust__carousel {
    position: relative;
    padding-bottom: 50px;
  }
  .uslugi .carousel.gyn-trust__carousel .carousel__nav {
    display: grid;
    top: auto;
    bottom: 0;
    width: 38px;
    height: 38px;
  }
  .uslugi .carousel.gyn-trust__carousel .carousel__nav svg {
    width: 14px;
    height: 14px;
  }
  .uslugi .carousel.gyn-trust__carousel .carousel__nav--prev {
    left: auto;
    right: 42px;
  }
  .uslugi .carousel.gyn-trust__carousel .carousel__nav--next {
    left: auto;
    right: 0;
  }
  .uslugi .carousel.gyn-trust__carousel .carousel__foot {
    display: flex;
    align-items: center;
    position: absolute;
    left: 0;
    right: 86px;
    bottom: 0;
    height: 38px;
    margin: 0;
    padding: 0;
    transform: none;
    opacity: 1;
  }
  .uslugi .gyn-trust__carousel .carousel__bar,
  .uslugi .gyn-trust__carousel .carousel__bar i {
    height: 2px;
    border-radius: 2px;
  }
  .uslugi .gyn-trust__carousel .carousel__bar {
    background: rgba(255, 255, 255, 0.5);
  }
}
/* ---------- «Клиника, которой можно доверять»: набор ----------
   Подпись на карточке была 9.6px — мельче всего остального на экране.
   В списке под лентой интерлиньяж 1.4 растягивал каждый пункт. */
@media (max-width: 760px) {
  .uslugi.gyn .gyn-trust__item h3 {
    font-size: 14px;
    line-height: 1.25;
  }
  .uslugi.gyn .gyn-trust__list li {
    line-height: 1.25;
  }
}
/* ---------- Шаги приёма: номер без плашки, название крупнее ----------
   У номера донорский голубой кружок: в строке с названием он читался
   прямоугольным пятном под текстом. Название было 13px — мельче
   собственного описания под ним. */
@media (max-width: 760px) {
  .uslugi.gyn .gyn-steps .timeline__year {
    background: none;
  }
  .uslugi.gyn .gyn-steps .timeline__title {
    font-size: 16px;
  }
}
/* ---------- Карточка «Что вы узнаете»: плотный набор ----------
   Абзац шёл с интерлиньяжем 1.5, строки подписи врача — с 1.5 и 1.25
   вразнобой. Сводим к минимальному. */
@media (max-width: 760px) {
  .uslugi.gyn .gyn-video__card p {
    line-height: 1.2;
  }
  .uslugi.gyn .gyn-video__doc, .uslugi.gyn .gyn-video__doc b, .uslugi.gyn .gyn-video__doc em, .uslugi.gyn .gyn-video__exp {
    line-height: 1.15;
  }
}
/* ============================================================
   Страница «Цены» — по макету, в палитре нового бренда.
   Как и на «Услугах», всё масштабируется одним множителем:
   величины ниже — размеры макета, приведённые к ширине 1440.
   ============================================================ */
.prices {
  --s: calc(100vw / 1440);
}
.prices .container {
  max-width: calc(1050 * var(--s));
  padding-inline: 0;
}

/* ---------- Строка поиска ---------- */
.pr-search {
  position: relative;
  margin-top: calc(6 * var(--s));
}
.pr-search input {
  width: 100%;
  height: calc(41 * var(--s));
  padding: 0 calc(330 * var(--s)) 0 calc(42 * var(--s));
  border: 1px solid var(--c-white);
  border-radius: calc(75 * var(--s));
  background: rgba(255, 255, 255, 0.6) url("/local/templates/dnk174_2026/css/../images/icons/search.svg") no-repeat;
  background-position: calc(17 * var(--s)) center;
  background-size: calc(15 * var(--s)) calc(15 * var(--s));
  -webkit-backdrop-filter: blur(14px) saturate(140%);
  backdrop-filter: blur(14px) saturate(140%);
  color: var(--c-navy);
  font: inherit;
  font-size: calc(11.25 * var(--s));
}
.pr-search input::placeholder {
  color: rgba(32, 47, 90, 0.5);
}
.pr-search input:focus {
  outline: 0;
  border-color: var(--c-berry);
}
.pr-search input::-webkit-search-cancel-button {
  display: none;
}
.pr-search__tools {
  position: absolute;
  top: 50%;
  right: calc(128 * var(--s));
  transform: translateY(-50%);
  display: flex;
  align-items: center;
  gap: calc(10 * var(--s));
}
.pr-search__count {
  display: flex;
  align-items: baseline;
  gap: calc(9 * var(--s));
  margin: 0;
  font-size: calc(10.5 * var(--s));
}
.pr-search__count b {
  color: var(--c-sky-strong);
  font-weight: 500;
}
.pr-search__count i {
  color: rgba(32, 47, 90, 0.5);
  font-style: normal;
}
.pr-search__clear, .pr-search__mic {
  display: grid;
  place-items: center;
  padding: 0 calc(9 * var(--s));
  border: 0;
  border-left: 1px solid var(--c-grey-200);
  background: none;
  color: var(--c-navy);
  cursor: pointer;
  transition: color var(--t-fast);
}
.pr-search__clear svg {
  width: calc(9 * var(--s));
  height: calc(9 * var(--s));
}
.pr-search__mic {
  color: var(--c-berry);
}
.pr-search__mic svg {
  width: calc(16 * var(--s));
  height: calc(16 * var(--s));
}
.pr-search__clear:hover {
  color: var(--c-berry);
}
.pr-search__btn {
  position: absolute;
  top: 0;
  right: 0;
  display: grid;
  place-items: center;
  width: calc(116 * var(--s));
  height: calc(41 * var(--s));
  padding-bottom: calc(1.5 * var(--s));
  border: 0;
  border-radius: calc(75 * var(--s));
  background: var(--c-berry);
  color: var(--c-white);
  font: inherit;
  font-size: calc(10.5 * var(--s));
  font-weight: 500;
  letter-spacing: 0.04em;
  cursor: pointer;
  overflow: hidden;
  transition: background var(--t-base);
}
.pr-search__btn:hover {
  background: var(--c-berry-600);
}

/* ---------- Фильтры-таблетки ---------- */
.pr-chips {
  display: flex;
  flex-wrap: wrap;
  gap: calc(9 * var(--s));
  margin-top: calc(22 * var(--s));
}

.pr-chip {
  display: flex;
  align-items: center;
  gap: calc(6 * var(--s));
  height: calc(29 * var(--s));
  padding: 0 calc(15 * var(--s)) calc(1.5 * var(--s));
  border: 1px solid var(--c-white);
  border-radius: calc(75 * var(--s));
  background: rgba(255, 255, 255, 0.6);
  color: var(--c-navy);
  font: inherit;
  font-size: calc(10.5 * var(--s));
  cursor: pointer;
  transition: background var(--t-fast), color var(--t-fast), border-color var(--t-fast);
}
.pr-chip i {
  color: rgba(32, 47, 90, 0.5);
  font-style: normal;
}
.pr-chip:hover {
  background: var(--c-white);
  color: var(--c-berry);
}
.pr-chip.is-active {
  background: var(--c-berry);
  border-color: var(--c-berry);
  color: var(--c-white);
}
.pr-chip.is-active i {
  color: rgba(255, 255, 255, 0.65);
}

/* ---------- Две колонки: каталог и список ---------- */
.pr-body {
  display: grid;
  grid-template-columns: calc(340 * var(--s)) 1fr;
  gap: calc(14.5 * var(--s));
  margin-top: calc(24 * var(--s));
  align-items: start;
}

.pr-cat {
  position: sticky;
  top: 98px;
  padding: calc(16 * var(--s)) 0 calc(10 * var(--s));
  border: 1px solid var(--c-white);
  border-radius: calc(18 * var(--s));
  background: rgba(255, 255, 255, 0.22);
  -webkit-backdrop-filter: blur(14px) saturate(140%);
  backdrop-filter: blur(14px) saturate(140%);
}
.pr-cat__title {
  margin: 0 0 calc(8 * var(--s));
  padding: 0 calc(26 * var(--s));
  color: rgba(32, 47, 90, 0.5);
  font-size: calc(13 * var(--s));
}
.pr-cat__list {
  margin: 0;
  padding: 0;
  list-style: none;
}
.pr-cat__item + .pr-cat__item {
  border-top: 1px solid rgba(255, 255, 255, 0.55);
}
.pr-cat__head {
  position: relative;
  width: 100%;
  padding: calc(8.5 * var(--s)) calc(26 * var(--s));
  border: 0;
  background: none;
  color: var(--c-navy);
  font: inherit;
  font-size: calc(12 * var(--s));
  text-align: left;
  cursor: pointer;
  transition: color var(--t-fast), background var(--t-fast);
}
.pr-cat__head::before {
  content: "";
  position: absolute;
  left: calc(10 * var(--s));
  top: 50%;
  width: calc(7 * var(--s));
  height: calc(4 * var(--s));
  background: currentColor;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='11' height='6' viewBox='0 0 14 8' fill='none'%3E%3Cpath d='M1 1l6 6 6-6' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='11' height='6' viewBox='0 0 14 8' fill='none'%3E%3Cpath d='M1 1l6 6 6-6' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat;
  opacity: 0.45;
  transform: translateY(-50%);
  transition: transform var(--t-fast), opacity var(--t-fast);
}
.pr-cat__head:hover {
  background: rgba(255, 255, 255, 0.45);
  color: var(--c-berry);
}
.pr-cat__item.is-open > .pr-cat__head {
  color: var(--c-berry);
  font-weight: 600;
}
.pr-cat__item.is-open > .pr-cat__head::before {
  opacity: 1;
  transform: translateY(-50%) rotate(180deg);
}
.pr-cat__sub {
  display: none;
  margin: 0;
  padding: 0 calc(26 * var(--s)) calc(8 * var(--s)) calc(32 * var(--s));
  list-style: none;
}
.pr-cat__item.is-open .pr-cat__sub {
  display: block;
}
.pr-cat__sub a {
  display: block;
  padding: calc(3.5 * var(--s)) 0;
  color: var(--c-sky-strong);
  font-size: calc(10.5 * var(--s));
  transition: color var(--t-fast);
}
.pr-cat__sub a:hover {
  color: var(--c-berry);
}

/* ---------- Список услуг ---------- */
.pr-list {
  display: flex;
  flex-direction: column;
  gap: calc(14 * var(--s));
}

.pr-panel {
  padding-bottom: calc(10 * var(--s));
  border: 1px solid var(--c-white);
  border-radius: calc(18 * var(--s));
  background: rgba(255, 255, 255, 0.22);
  -webkit-backdrop-filter: blur(14px) saturate(140%);
  backdrop-filter: blur(14px) saturate(140%);
}
.pr-panel__top, .pr-panel__head {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: calc(20 * var(--s));
  padding: calc(18 * var(--s)) calc(24 * var(--s)) calc(14 * var(--s));
}
.pr-panel__head {
  background: rgba(255, 255, 255, 0.26);
}
.pr-panel__top {
  padding: calc(6 * var(--s)) calc(24 * var(--s)) calc(2 * var(--s));
}
.pr-panel > :first-child {
  border-radius: calc(18 * var(--s)) calc(18 * var(--s)) 0 0;
}
.pr-panel__top h2 {
  margin: 0;
  color: var(--c-berry);
  font-size: calc(15 * var(--s));
  font-weight: 600;
}
.pr-panel__top span, .pr-panel__head span {
  color: #0F295D;
  font-size: calc(10.5 * var(--s));
}
.pr-panel__head h3 {
  margin: 0;
  color: var(--c-sky-strong);
  font-size: calc(13 * var(--s));
  font-weight: 600;
}
.pr-panel__top + .pr-panel__head {
  padding-top: 0;
}

.pr-row {
  display: grid;
  grid-template-columns: 1fr calc(46 * var(--s)) calc(100 * var(--s)) calc(80 * var(--s));
  align-items: center;
  gap: calc(16 * var(--s));
  padding: calc(10 * var(--s)) calc(24 * var(--s));
  transition: background var(--t-fast);
}
.pr-row + .pr-row {
  border-top: 1px solid rgba(255, 255, 255, 0.55);
}
.pr-row:hover {
  background: rgba(255, 255, 255, 0.55);
}
.pr-row__name p {
  display: flex;
  align-items: center;
  gap: calc(10 * var(--s));
  margin: 0 0 calc(1 * var(--s));
  color: var(--c-navy);
  font-size: calc(11.5 * var(--s));
  line-height: calc(14 * var(--s));
}
.pr-row__name > span {
  display: block;
  color: rgba(32, 47, 90, 0.45);
  font-size: calc(9.75 * var(--s));
  line-height: calc(12 * var(--s));
}
.pr-row__name > span b {
  margin-left: calc(4 * var(--s));
  font-weight: 400;
}

/* бейдж скидки у акционной позиции */
.pr-sale {
  display: grid;
  place-items: center;
  justify-self: center;
  height: calc(17 * var(--s));
  padding: 0 calc(9 * var(--s));
  border-radius: calc(75 * var(--s));
  background: var(--c-berry-100);
  color: var(--c-berry);
  font-size: calc(9.75 * var(--s));
  font-weight: 600;
}
.pr-sale:empty {
  background: none;
}

.pr-tag {
  display: grid;
  place-items: center;
  justify-self: end;
  height: calc(18 * var(--s));
  padding: 0 calc(10 * var(--s));
  border-radius: calc(5 * var(--s));
  background: rgba(105, 172, 223, 0.16);
  color: rgba(32, 47, 90, 0.6);
  font-size: calc(9.75 * var(--s));
  white-space: nowrap;
}

.pr-price {
  color: var(--c-berry);
  font-size: calc(12.5 * var(--s));
  font-weight: 600;
  text-align: right;
  white-space: nowrap;
}

/* ---------- Карта во всю ширину ---------- */
/* карта та же, что на главной: 395px при 1920, метки донора */
.pr-map {
  min-height: calc(296.25 * var(--s));
  margin-top: calc(110 * var(--s));
}
.pr-map .us-map__canvas {
  top: 0;
  height: calc(296.25 * var(--s));
}
.pr-map .us-map__pins {
  top: 0;
  height: calc(296.25 * var(--s));
}
.pr-map .us-map__pin {
  width: 59.5px;
  height: 53.9px;
}

@media (max-width: 1100px) {
  .prices .container {
    max-width: 100%;
    padding-inline: 20px;
  }
  .pr-body {
    grid-template-columns: 1fr;
  }
  .pr-search input {
    padding-right: 20px;
  }
  .pr-search__tools {
    position: static;
    transform: none;
    margin-top: 12px;
    justify-content: flex-end;
  }
  .pr-row {
    grid-template-columns: 1fr auto;
  }
  .pr-sale {
    display: none;
  }
  .pr-price {
    grid-column: 2;
  }
}
/* ---------- Строка на странице поиска (от 761) ----------
   Строка взята с «Цен» и считалась от окна: на 1280 текст в поле был 10px,
   на 1101 — 8.6px, на 761 — 5.9px, кнопка — до 22px в высоту. Множитель —
   не меньше, чем при 1440, кегли и высота — с полом. Правее поля — только
   крестик и кнопка: место под них держим и на планшете, где правило «Цен»
   выше снимало поле справа (запрос уходил под «НАЙТИ») и уводило крестик
   под строку. */
@media (min-width: 761px) {
  .search-page {
    --s: max(1px, 100vw / 1440);
  }
  .search-page .pr-search input {
    height: max(46px, 41 * var(--s));
    padding-right: calc(128 * var(--s) + 44px);
    font-size: max(15px, 11.25 * var(--s));
    background-size: max(17px, 15 * var(--s)) max(17px, 15 * var(--s));
  }
  .search-page .pr-search__tools {
    position: absolute;
    top: 50%;
    right: calc(128 * var(--s));
    margin-top: 0;
    transform: translateY(-50%);
  }
  .search-page .pr-search__clear svg {
    width: 11px;
    height: 11px;
  }
  .search-page .pr-search__btn {
    height: max(46px, 41 * var(--s));
    font-size: max(14px, 10.5 * var(--s));
  }
}
/* сообщение, когда по запросу ничего не нашлось */
.pr-empty {
  margin: calc(20 * var(--s)) 0 0;
  padding: calc(18 * var(--s)) calc(24 * var(--s));
  border: 1px solid var(--c-white);
  border-radius: calc(16 * var(--s));
  background: rgba(255, 255, 255, 0.35);
  color: rgba(32, 47, 90, 0.65);
  font-size: calc(11.5 * var(--s));
  line-height: 1.4;
}

/* прайс: группа строк одного раздела каталога — без своей раскладки, раздел виден целиком или скрыт */
.pr-group {
  display: contents;
}

/* ============================================================
   Телефон: прайс собран в пропорциях 1440 — при --s = 100vw/1440
   текст падал до 3px. Пересчитываем множитель от 430 и сводим
   двухколоночную раскладку в одну.
   ============================================================ */
@media (max-width: 760px) {
  .prices,
  .search-page {
    --s: calc(100vw / 430);
  }
  .prices .container,
  .search-page .container {
    padding-inline: var(--gutter);
  }
  .pr-body {
    grid-template-columns: 1fr;
    gap: 16px;
  }
  .pr-search input {
    height: 46px;
    padding: 0 92px 0 42px;
    background-position: 15px center;
    background-size: 18px 18px;
    font-size: 14px;
  }
  .pr-search__tools {
    display: none;
  }
  .pr-search__btn {
    width: 78px;
    height: 46px;
    font-size: 13px;
  }
  .pr-chips {
    flex-wrap: nowrap;
    overflow-x: auto;
    gap: 8px;
    margin-inline: calc(var(--gutter) * -1);
    padding: 2px var(--gutter);
    scrollbar-width: none;
    -webkit-overflow-scrolling: touch;
    overscroll-behavior-x: contain;
    -webkit-mask-image: linear-gradient(to right, #000 calc(100% - 46px), transparent);
    mask-image: linear-gradient(to right, #000 calc(100% - 46px), transparent);
  }
  .pr-chips::-webkit-scrollbar {
    display: none;
  }
  .pr-chip {
    flex: 0 0 auto;
    height: 38px;
    padding: 0 16px 2px;
    font-size: 13px;
  }
  .pr-cat__title,
  .pr-cat__head {
    font-size: 15px;
  }
  .pr-cat a,
  .pr-row,
  .pr-row__name {
    font-size: 13px;
  }
  .pr-row {
    grid-template-columns: 1fr auto;
    gap: 4px 10px;
  }
  .pr-row .pr-row__name {
    grid-row: 1/3;
  }
  .pr-row .pr-price {
    grid-column: 2;
    grid-row: 1;
    align-self: start;
  }
  .pr-row .pr-tag {
    grid-column: 2;
    grid-row: 2;
    align-self: end;
    margin-bottom: -3px;
  }
  .pr-tag {
    height: auto;
    padding: 3px 10px;
    border-radius: 6px;
    line-height: 1.25;
  }
  .pr-row__name p {
    margin-bottom: 1px;
    line-height: 1;
  }
  .pr-row__name > span {
    line-height: 1.2;
  }
  .pr-row__name p,
  .pr-tag,
  .pr-price,
  .pr-cat__head span,
  .pr-chip b {
    font-size: 13px;
  }
  .pr-row__name small,
  .pr-note {
    font-size: 12px;
  }
  .pr-search__count,
  .pr-search__count b,
  .pr-search__count i,
  .pr-cat__item,
  .pr-cat__sub a,
  .pr-row span,
  .pr-row b {
    font-size: 13px;
  }
  .pr-panel span,
  .pr-panel b,
  .pr-panel i {
    font-size: 13px;
  }
  .pr-panel__head h3 {
    color: var(--c-berry);
    font-size: 14px;
    line-height: 1.1;
  }
  .pr-panel__head span {
    line-height: 1.1;
  }
  .pr-panel__head,
  .pr-row {
    padding-inline: 16px;
  }
}
/* ============================================================
   Плашка выбранного раздела — только телефон. На широком экране
   каталог остаётся прежним, плашки нет.
   ============================================================ */
.pr-pick {
  display: none;
}

@media (max-width: 760px) {
  .pr-cat {
    display: none;
  }
  .pr-body {
    gap: 0;
  }
  .pr-pick {
    display: block;
    position: sticky;
    top: calc(var(--hh, 62px) + 10px);
    z-index: 40;
    margin-bottom: 14px;
  }
  .pr-pick__btn {
    position: relative;
    display: grid;
    grid-template-columns: 1fr auto;
    align-items: center;
    column-gap: 10px;
    width: 100%;
    padding: 11px 40px 14px 16px;
    border: 1px solid var(--c-white);
    border-radius: 14px;
    background: rgba(255, 255, 255, 0.55);
    -webkit-backdrop-filter: blur(14px) saturate(140%);
    backdrop-filter: blur(14px) saturate(140%);
    box-shadow: 0 10px 26px rgba(32, 47, 90, 0.1);
    font: inherit;
    text-align: left;
    cursor: pointer;
  }
  .pr-pick__name {
    grid-column: 1;
    color: var(--c-berry);
    font-size: 15px;
    font-weight: 600;
    line-height: 1.2;
  }
  .pr-pick.is-empty .pr-pick__name {
    color: rgba(32, 47, 90, 0.5);
    font-weight: 500;
  }
  .pr-pick.is-empty .pr-pick__count {
    display: none;
  }
  .pr-pick__count {
    grid-column: 2;
    color: var(--c-navy);
    font-size: 13px;
    white-space: nowrap;
  }
  .pr-panel__top {
    display: none;
  }
  .pr-pick__btn::after {
    content: "";
    position: absolute;
    top: 50%;
    right: 16px;
    width: 11px;
    height: 6px;
    background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='11' height='6' viewBox='0 0 14 8' fill='none'%3E%3Cpath d='M1 1l6 6 6-6' stroke='%23B13B63' stroke-width='2.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat;
    transform: translateY(-50%);
    transition: transform var(--t-fast);
  }
  .pr-pick.is-open .pr-pick__btn::after {
    transform: translateY(-50%) rotate(180deg);
  }
  .pr-pick__drop {
    display: none;
    position: absolute;
    left: 0;
    right: 0;
    top: calc(100% + 6px);
    z-index: 2;
    max-height: calc(100vh - var(--hh, 62px) - 106px);
    overflow-y: auto;
    border: 1px solid var(--c-white);
    border-radius: 14px;
    background: rgba(255, 255, 255, 0.45);
    -webkit-backdrop-filter: blur(14px) saturate(140%);
    backdrop-filter: blur(14px) saturate(140%);
    box-shadow: 0 18px 40px rgba(32, 47, 90, 0.16);
  }
  .pr-pick.is-open .pr-pick__drop {
    display: block;
  }
  .pr-pick__list {
    margin: 0;
    padding: 6px 0;
    list-style: none;
  }
  .pr-pick__list button {
    display: block;
    width: 100%;
    padding: 10px 16px;
    border: 0;
    background: none;
    color: var(--c-navy);
    font: inherit;
    font-size: 15px;
    line-height: 1.25;
    text-align: left;
    cursor: pointer;
  }
  .pr-pick__list button.is-active {
    color: var(--c-berry);
    font-weight: 600;
  }
}
/* ---------- «Записаться» в строке прайса ----------
   При наведении справа выезжает кнопка, а название, раздел и цена
   уезжают влево: место ей освобождает правое поле самой строки, поэтому
   колонки не перестраиваются и цифры не прыгают по вертикали.
   Только для мыши: на тач-устройствах наведения нет, а сдвиг там
   съел бы и без того узкую строку. */
@media (hover: hover) {
  .pr-row {
    position: relative;
    transition: background var(--t-fast), padding-right var(--t-base);
  }
  .pr-row__book {
    position: absolute;
    right: calc(12 * var(--s));
    top: 50%;
    display: grid;
    place-items: center;
    height: calc(26 * var(--s));
    padding: 0 calc(15 * var(--s));
    border-radius: calc(75 * var(--s));
    background: var(--c-berry);
    color: var(--c-white);
    font-size: calc(10 * var(--s));
    font-weight: 600;
    white-space: nowrap;
    opacity: 0;
    transform: translate(calc(10 * var(--s)), -50%);
    transition: opacity var(--t-fast), transform var(--t-base);
    pointer-events: none;
  }
  .pr-row:hover {
    padding-right: calc(132 * var(--s));
  }
  .pr-row:hover .pr-row__book {
    opacity: 1;
    transform: translate(0, -50%);
    pointer-events: auto;
  }
}
/* без мыши кнопка не нужна: запись открывается с карточки услуги */
@media not all and (hover: hover) {
  .pr-row__book {
    display: none;
  }
}
/* Длинное название не переносим: при наведении колонка сужается, строка
   становилась двухэтажной и вся таблица подпрыгивала. Вместо переноса —
   многоточие. min-width: 0 обязателен: элемент сетки по умолчанию не
   ужимается уже своего содержимого и обрезка не включилась бы. */
.pr-row__name {
  min-width: 0;
}
.pr-row__name p {
  min-width: 0;
}
.pr-row__title {
  min-width: 0;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
}
.pr-row__name > span {
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
}
.pr-row__name p {
  font-size: 14px;
  line-height: 1.25;
}

/* выбранная подкатегория в каталоге */
.pr-cat__sub a.is-current {
  color: var(--c-berry);
  font-weight: 600;
}

/* ============================================================
   Корпоративный журнал — страница со списком выпусков.
   Донор @1440: полоса-анонс со свежим выпуском, под ней год-табы
   и сетка обложек 4 × 305px с шагом 40px. Раскладка донорская,
   цвет и пластика — наши.
   ============================================================ */
.zh {
  --s: calc(100vw / 1440);
}

/* ---------- Анонс свежего выпуска ---------- */
/* полоса во всю ширину окна: тот же снимок, что под журналом на главной,
   и так же закреплён за окном — при прокрутке полоса едет по нему */
.zh-band {
  position: relative;
  margin-top: 64px;
  background: #1E3054 url("/local/templates/dnk174_2026/css/../images/journal/journal-bg.jpg") center/cover no-repeat fixed;
}
.zh-band::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(23, 36, 70, 0.72) 0%, rgba(23, 36, 70, 0.42) 52%, rgba(23, 36, 70, 0.1) 100%);
}
.zh-band > * {
  position: relative;
  z-index: 1;
}

.zh-hero {
  display: grid;
  grid-template-columns: calc(300 * var(--s)) minmax(0, 1fr);
  align-items: start;
  gap: calc(40 * var(--s));
  padding-block: calc(32 * var(--s)) calc(56 * var(--s));
}
.zh-hero__pic {
  position: relative;
  perspective: 1600px;
  margin-top: calc(-112 * var(--s));
}
.zh-hero__pic img {
  display: block;
  width: 100%;
  aspect-ratio: 490/630;
  object-fit: cover;
}

/* живая обложка: следует за курсором с небольшим наклоном, по глянцу
   бежит блик, тень уезжает в противоположную сторону. Углы и точку
   блика скрипт кладёт в переменные, вся отрисовка — на CSS */
.zh-tilt {
  display: block;
  position: relative;
  transform: rotateX(var(--rx, 0deg)) rotateY(var(--ry, 0deg));
  box-shadow: calc(var(--sx, 0px)) 26px 60px rgba(9, 18, 40, 0.45);
  transition: transform 0.45s ease, box-shadow 0.45s ease;
  will-change: transform;
}

.zh-hero__pic.is-tilting .zh-tilt {
  transition: transform 0.08s linear, box-shadow 0.08s linear;
}

.zh-glare {
  position: absolute;
  inset: 0;
  z-index: 1;
  opacity: 0;
  pointer-events: none;
  mix-blend-mode: screen;
  background: radial-gradient(420px circle at var(--gx, 50%) var(--gy, 50%), rgba(255, 255, 255, 0.5), rgba(255, 255, 255, 0) 46%);
  transition: opacity 0.45s ease;
}

.zh-hero__pic.is-tilting .zh-glare {
  opacity: 1;
}

@media (prefers-reduced-motion: reduce) {
  .zh-tilt {
    transform: none;
  }
  .zh-glare {
    display: none;
  }
}
/* перелистывание: копия прежней обложки
 отгибается вокруг своего
   края, как страница, и под ней открывается новая. Тень по сгибу
   едет вместе с поворотом, backface прячет изнанку */
.zh-flip {
  position: absolute;
  inset: 0;
  z-index: 1;
  backface-visibility: hidden;
  box-shadow: 0 26px 60px rgba(9, 18, 40, 0.45);
  transition: transform 0.75s cubic-bezier(0.45, 0.05, 0.25, 1), opacity 0.12s linear 0.6s;
}
.zh-flip img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.zh-flip i {
  position: absolute;
  inset: 0;
  opacity: 0;
  transition: opacity 0.75s ease;
}
.zh-flip.is-turn {
  opacity: 0;
}
.zh-flip.is-turn i {
  opacity: 1;
}
.zh-flip--left {
  transform-origin: left center;
}
.zh-flip--right {
  transform-origin: right center;
}
.zh-flip--left.is-turn {
  transform: rotateY(-168deg);
}
.zh-flip--right.is-turn {
  transform: rotateY(168deg);
}
.zh-flip--left i {
  background: linear-gradient(90deg, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.6) 100%);
}
.zh-flip--right i {
  background: linear-gradient(270deg, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.6) 100%);
}

/* новая обложка чуть всплывает из-под страницы */
@keyframes zhRise {
  from {
    opacity: 0.4;
    transform: scale(0.965);
  }
  to {
    opacity: 1;
    transform: none;
  }
}
.zh-hero__pic img.is-rise {
  animation: zhRise 0.6s ease both;
}

@media (prefers-reduced-motion: reduce) {
  .zh-flip {
    display: none;
  }
  .zh-hero__pic img.is-rise {
    animation: none;
  }
}
/* стрелки листают выпуски по номеру
: стеклянные кругляши на краях
   обложки, как у ленты журнала на главной */
.zh-nav {
  position: absolute;
  top: 50%;
  z-index: 2;
  transform: translateY(-50%);
  display: grid;
  place-items: center;
  width: 44px;
  height: 44px;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.28);
  -webkit-backdrop-filter: blur(18px) saturate(150%);
  backdrop-filter: blur(18px) saturate(150%);
  color: var(--c-white);
  box-shadow: 0 8px 26px rgba(9, 18, 40, 0.28);
  cursor: pointer;
  transition: background var(--t-fast), color var(--t-fast);
}
.zh-nav:hover {
  background: var(--c-berry);
  color: var(--c-white);
}
.zh-nav--prev {
  left: -22px;
}
.zh-nav--next {
  right: -22px;
}

.zh-hero__date {
  display: block;
  width: max-content;
  margin-bottom: 14px;
  padding: 5px 13px 6px;
  border-radius: var(--r-sm);
  background: var(--c-berry);
  color: var(--c-white);
  font-size: 13px;
  line-height: 20px;
}
.zh-hero__name {
  margin: 0 0 10px;
  color: var(--c-white);
  font-size: calc(28 * var(--s));
  font-weight: 600;
  line-height: 1.05;
  text-transform: uppercase;
}
.zh-hero__num {
  color: var(--c-berry);
}
.zh-hero__text {
  max-width: calc(560 * var(--s));
  margin: 0 0 28px;
  font-family: "Inter", "Golos Text", sans-serif;
  font-weight: 300;
  color: rgba(255, 255, 255, 0.82);
  letter-spacing: 0.01em;
  font-size: 14px;
  line-height: 22px;
}
.zh-hero__text + .zh-hero__text {
  margin-top: -18px;
}
.zh-hero__text a {
  color: var(--c-sky-strong);
}
.zh-hero__text a:hover {
  color: var(--c-white);
}
.zh-hero__body {
  align-self: stretch;
  display: flex;
  flex-direction: column;
}
.zh-hero .btn {
  margin-top: auto;
  align-self: start;
  padding-inline: 46px;
}

/* ---------- Год-капсулы ---------- */
.zh-years {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin: 46px 0 30px;
}

.zh-year {
  padding: 11px 26px 12px;
  border: 1px solid var(--border-soft);
  border-radius: var(--r-pill);
  background: rgba(255, 255, 255, 0.55);
  -webkit-backdrop-filter: blur(14px) saturate(140%);
  backdrop-filter: blur(14px) saturate(140%);
  color: var(--c-navy);
  font-family: inherit;
  font-size: 15px;
  font-weight: 500;
  line-height: 20px;
  cursor: pointer;
  transition: background var(--t-fast), color var(--t-fast), border-color var(--t-fast);
}
.zh-year:hover {
  border-color: var(--c-berry);
  color: var(--c-berry);
}
.zh-year.is-active {
  border-color: var(--c-berry);
  background: var(--c-berry);
  color: var(--c-white);
}

/* ---------- Выпуски года ---------- */
.zh-panel {
  display: none;
}
.zh-panel.is-active {
  display: block;
}
.zh-panel__title {
  margin: 0 0 22px;
  color: var(--c-navy);
  font-size: 30px;
  font-weight: 600;
  line-height: 1.1;
}

.zh-list {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: calc(40 * var(--s));
}

.zh-item__link {
  display: block;
  color: var(--c-navy);
}
.zh-item__name {
  display: block;
  width: max-content;
  max-width: 100%;
  margin-bottom: 12px;
  padding: 5px 14px 6px;
  border-radius: var(--r-sm);
  background: var(--c-berry);
  color: var(--c-white);
  font-size: 15px;
  line-height: 20px;
  transition: background var(--t-fast);
}
.zh-item__pic {
  display: block;
  position: relative;
  overflow: hidden;
  box-shadow: var(--sh-md);
  transform: perspective(900px) rotateX(var(--rx, 0deg)) rotateY(var(--ry, 0deg));
  transition: transform 0.45s ease;
}
.zh-item__pic.is-tilt {
  transition: transform 0.08s linear;
}
.zh-item__pic::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  opacity: 0;
  pointer-events: none;
  mix-blend-mode: screen;
  background: radial-gradient(300px circle at var(--gx, 50%) var(--gy, 50%), rgba(255, 255, 255, 0.4), rgba(255, 255, 255, 0) 46%);
  transition: opacity 0.4s ease;
}
.zh-item__pic.is-tilt::after {
  opacity: 1;
}

@media (prefers-reduced-motion: reduce) {
  .zh-item__pic {
    transform: none;
  }
  .zh-item__pic::after {
    display: none;
  }
}
.zh-item__pic img {
  display: block;
  width: 100%;
  aspect-ratio: 490/630;
  object-fit: cover;
  transition: transform var(--t-base);
}
.zh-item__link:hover .zh-item__name {
  background: var(--c-berry-600);
}
.zh-item__link:hover .zh-item__pic img {
  transform: scale(1.04);
}

/* ---------- Планшет ---------- */
@media (max-width: 1100px) {
  .zh {
    --s: calc(100vw / 1100);
  }
  .zh-list {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}
/* ---------- Телефон ---------- */
@media (max-width: 760px) {
  .zh {
    --s: calc(100vw / 430);
  }
  .zh-band {
    margin-top: 24px;
    background-position: right center;
  }
  .zh-band::before {
    background: linear-gradient(180deg, rgba(23, 36, 70, 0.78) 0%, rgba(23, 36, 70, 0.9) 100%);
  }
  .zh-hero {
    grid-template-columns: minmax(0, 1fr);
    gap: 22px;
    padding-block: 26px;
  }
  .zh-hero__pic {
    max-width: 240px;
    margin: 0 auto;
  }
  .zh-nav {
    width: 38px;
    height: 38px;
  }
  .zh-nav--prev {
    left: -14px;
  }
  .zh-nav--next {
    right: -14px;
  }
  .zh-hero__name {
    font-size: 26px;
  }
  .zh-hero__text {
    max-width: none;
    font-size: 14px;
    margin-bottom: 20px;
  }
  .zh-hero .btn {
    width: 100%;
  }
  .zh-years {
    gap: 8px;
    margin: 26px -14px 20px;
    padding-inline: 14px;
    overflow-x: auto;
    scrollbar-width: none;
    -webkit-overflow-scrolling: touch;
  }
  .zh-years::-webkit-scrollbar {
    display: none;
  }
  .zh-year {
    flex: 0 0 auto;
    padding: 9px 18px 10px;
    font-size: 14px;
    border-color: #fff;
  }
  .zh-year.is-active {
    border-color: var(--c-berry);
  }
  .zh-panel__title {
    margin-bottom: 16px;
    font-size: 22px;
  }
  .zh-list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
  }
  .zh-item__name {
    margin-bottom: 8px;
    padding: 4px 11px 5px;
    font-size: 13px;
  }
}
.carousel__track.is-swiper {
  gap: 0 !important;
}

.carousel__track > .swiper-slide {
  height: auto;
}

.promo.swiper {
  z-index: auto;
}

.popups {
  display: none;
}

/*# sourceMappingURL=style.css.map */

/* End */


/* Start:/local/templates/dnk174_2026/css/luxar_custom.css?179361464760907*/
@charset "UTF-8";
.stitle h1 {
  font-size: clamp(24px, 2.45vw, 35px);
  font-weight: 500;
  line-height: 1.2;
  text-transform: uppercase;
  letter-spacing: 0.01em;
}
.stitle h1 .stitle__sub {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
  white-space: nowrap;
}

.mission blockquote {
  max-width: none;
  font-size: clamp(20px, 2vw, 29px);
  font-weight: 500;
  line-height: 1.2;
  letter-spacing: 0.01em;
  text-wrap: balance;
}

@media (min-width: 761px) {
  .mission blockquote {
    white-space: nowrap;
  }
}
@media (max-width: 760px) {
  .stitle h1 .stitle__logo {
    margin-top: -8px;
    margin-bottom: 6px;
  }
  .mission blockquote {
    line-height: 1.05;
  }
}
.slide__img {
  position: absolute;
  top: 0;
  right: 0;
  z-index: 1;
  width: 1280px;
  max-width: 72%;
  height: 100%;
  object-fit: cover;
  pointer-events: none;
  -webkit-mask-image: linear-gradient(to right, transparent 0%, rgba(0, 0, 0, 0.35) 14%, #000 42%);
  mask-image: linear-gradient(to right, transparent 0%, rgba(0, 0, 0, 0.35) 14%, #000 42%);
}

.topbar__status.is-closed {
  color: var(--c-berry);
}
.topbar__status.is-closed .topbar__dot {
  background: var(--c-berry);
}

.reviews__top--no-score {
  grid-template-columns: 1fr;
  margin-bottom: 22px;
}
.reviews__top--no-score .platforms {
  grid-column: auto;
  grid-template-columns: repeat(4, 1fr);
}

@media (max-width: 1100px) {
  .reviews__top--no-score .platforms {
    grid-template-columns: repeat(2, 1fr);
  }
}
.platforms .platform:nth-child(n) .platform__stars .star:nth-child(5) {
  color: inherit;
}

.platforms .platform:nth-child(n) .platform__stars.is-partial .star:nth-child(5) {
  color: var(--c-sky-strong);
}

span.platform__logo {
  display: block;
}
span.platform__logo svg {
  display: block;
  width: 100%;
  height: 100%;
}

a.platform {
  color: inherit;
  transition: box-shadow var(--t-fast), transform var(--t-fast);
}
@media (hover: hover) {
  a.platform:hover {
    transform: translateY(-2px);
  }
}

.home-map .us-map__canvas {
  filter: none;
  overflow: hidden;
}

.bk-find {
  position: relative;
  margin: 18px 0 20px;
}

.bk-find__field {
  display: flex;
  align-items: center;
  gap: 10px;
  height: 50px;
  padding: 0 14px;
  border: 1px solid rgba(32, 47, 90, 0.14);
  border-radius: 14px;
  background: #fff;
  transition: border-color var(--t-fast), box-shadow var(--t-fast);
}

.bk-find__field:focus-within {
  border-color: var(--c-berry);
  box-shadow: 0 0 0 3px var(--c-berry-100);
}

.bk-find__field svg {
  flex: none;
  color: rgba(32, 47, 90, 0.45);
}

.bk-find__input {
  flex: 1;
  min-width: 0;
  height: 100%;
  padding: 0;
  border: 0;
  outline: 0;
  background: none;
  color: var(--c-navy);
  font: inherit;
  font-size: 16px;
  text-overflow: ellipsis;
}

.bk-find__input::placeholder {
  color: rgba(32, 47, 90, 0.45);
}

.bk-find__clear {
  display: grid;
  flex: none;
  place-items: center;
  width: 28px;
  height: 28px;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: rgba(32, 47, 90, 0.06);
  color: var(--c-navy);
  font-size: 18px;
  line-height: 1;
  cursor: pointer;
}

.bk-find__clear[hidden] {
  display: none;
}

.bk-find__drop {
  max-height: 118px;
  margin-top: 6px;
  padding: 6px;
  overflow-y: auto;
  overscroll-behavior: contain;
  border: 1px solid rgba(32, 47, 90, 0.1);
  border-radius: 14px;
  background: #fff;
  box-shadow: 0 18px 44px rgba(32, 47, 90, 0.16);
}

.bk-find__opt {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  width: 100%;
  padding: 8px 12px;
  border: 0;
  border-radius: 10px;
  background: none;
  color: var(--c-navy);
  font: inherit;
  font-size: 15px;
  line-height: 1.25;
  text-align: left;
  cursor: pointer;
}

.bk-find__opt mark {
  background: none;
  color: var(--c-berry);
  font-weight: 600;
}

.bk-find__opt small {
  flex: none;
  color: rgba(32, 47, 90, 0.5);
  font-size: 12.5px;
}

@media (hover: hover) {
  .bk-find__opt:hover {
    background: var(--c-berry-100);
  }
}
.bk-find__opt.is-active {
  color: var(--c-berry);
  font-weight: 600;
}

.bk-find__empty {
  margin: 0;
  padding: 12px;
  color: rgba(32, 47, 90, 0.6);
  font-size: 14px;
}

.bk-find__hint {
  margin: 0 0 8px;
  color: rgba(32, 47, 90, 0.5);
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}

.bstep--open > .bk-chips.bk-find__chips {
  margin: 0;
}

.bookpop__error {
  grid-column: 1/-1;
  margin: 0;
  padding: 10px 14px;
  border-radius: 12px;
  background: var(--c-berry-100);
  color: var(--c-berry-600);
  font-size: var(--fs-sm);
}

.bnpop {
  text-align: center;
}
.bnpop__img {
  display: block;
  margin: 18px 0 0;
  overflow: hidden;
  border-radius: 18px;
}
.bnpop__img img {
  width: 100%;
  height: auto;
}
.bnpop__text {
  margin-top: 18px;
  color: var(--text-body);
  font-size: var(--fs-base);
  text-align: left;
}
.bnpop__btn {
  margin-top: 20px;
}

.carousel__bar.swiper-pagination-progressbar {
  position: relative;
  overflow: hidden;
}
.carousel__bar.swiper-pagination-progressbar.swiper-pagination-horizontal {
  height: 2px;
}
.carousel__bar.swiper-pagination-progressbar .swiper-pagination-progressbar-fill {
  border-radius: 2px;
  background: var(--c-berry);
}

@media (min-width: 761px) {
  .uslugi.svc .plast-price__row b {
    width: calc(80 * var(--s));
    text-align: right;
  }
  .uslugi.svc .plast-price__book {
    min-width: calc(86 * var(--s));
    text-align: center;
  }
}
.us-map__canvas[data-clinics-map] {
  filter: none;
  overflow: hidden;
}

.uslugi.svc .us-top > .container > .plast-band:first-child {
  margin-top: 0;
}

.uslugi.svc .us-top > .container > .plast-band__title:first-child {
  margin-top: 0;
}

.uslugi.svc .plast-band__title + .plast-band {
  margin-top: calc(22 * var(--s));
}

.uslugi.svc .plast-band + .lab-why {
  margin-top: calc(74 * var(--s));
}

.uslugi.svc .lab-why.kolpo-kinds::before {
  content: none;
}

.uslugi.svc .kolpo-ind {
  margin-top: 0;
}

.uslugi.svc .kolpo-yes li::before {
  background: var(--c-sky-strong);
}

.uslugi.svc .kolpo-no li::before {
  background: var(--c-berry);
}

.uslugi.svc .kolpo-kinds {
  margin-top: calc(74 * var(--s));
}

.uslugi.svc .kolpo-kinds__grid {
  grid-template-columns: repeat(3, 1fr);
}

.uslugi.svc .kolpo-kinds .lab-why__item img {
  width: calc(34 * var(--s));
  height: calc(34 * var(--s));
}

.uslugi.svc .kolpo-yes li,
.uslugi.svc .kolpo-no li {
  padding-left: calc(24 * var(--s));
}

.uslugi.svc .kolpo-yes li::before,
.uslugi.svc .kolpo-no li::before {
  top: calc(1 * var(--s));
  width: calc(15 * var(--s));
  height: calc(15 * var(--s));
  border-radius: 0;
  background-color: transparent;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
}

.uslugi.svc .kolpo-yes li::before {
  background-image: url("/local/templates/dnk174_2026/css/../images/services/icons/kolpo-yes.svg");
}

.uslugi.svc .kolpo-no li::before {
  background-image: url("/local/templates/dnk174_2026/css/../images/services/icons/kolpo-no.svg");
}

.uslugi.svc .kolpo-kinds__grid .lab-why__item {
  display: block;
  overflow: hidden;
  padding: 0 0 calc(14 * var(--s));
}

.uslugi.svc .kolpo-kinds__ph {
  display: block;
  aspect-ratio: 2.45/1;
  border-radius: 0;
  background-color: var(--c-beige);
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
}

.uslugi.svc .kolpo-kinds__ph--lab-control {
  background-image: url("/local/templates/dnk174_2026/css/../images/plastic/life-1.webp");
}

.uslugi.svc .kolpo-kinds__ph--kolpo-video {
  background-image: url("/local/templates/dnk174_2026/css/../images/plastic/life-2.webp");
}

.uslugi.svc .kolpo-kinds__ph--kolpo-biopsy {
  background-image: url("/local/templates/dnk174_2026/css/../images/plastic/life-3.webp");
}

.uslugi.svc .kolpo-kinds__grid .lab-why__item h3 {
  margin: calc(11 * var(--s)) 0 0;
  padding: 0 calc(16 * var(--s));
}

.uslugi.svc .kolpo-kinds__grid .lab-why__item p {
  margin: calc(5 * var(--s)) 0 0;
  padding: 0 calc(16 * var(--s));
}

.uslugi.svc .lab-why:not(.kolpo-kinds)::before {
  content: none;
}

.uslugi.svc .us-top > .container > .lab-why:not(.kolpo-kinds):first-child {
  margin-top: 0;
}

.uslugi.svc .lab-why:not(.kolpo-kinds) .lab-why__item img {
  width: calc(34 * var(--s));
  height: calc(34 * var(--s));
}

.uslugi.svc .mammo-ba {
  margin-top: calc(100 * var(--s));
}

.uslugi.svc .mammo-ba__grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: calc(16 * var(--s));
  margin-top: calc(22 * var(--s));
}

.uslugi.svc .mammo-ba__item {
  overflow: hidden;
  border: 1px solid var(--c-white);
  border-radius: calc(20 * var(--s));
  background: rgba(255, 255, 255, 0.45);
  -webkit-backdrop-filter: blur(14px) saturate(140%);
  backdrop-filter: blur(14px) saturate(140%);
  transition: background var(--t-fast), transform var(--t-fast);
}

.uslugi.svc .mammo-ba__item:hover {
  background: rgba(255, 255, 255, 0.72);
  transform: translateY(-4px);
}

.uslugi.svc .mammo-ba__pair {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1px;
}

.uslugi.svc .mammo-ba__ph {
  position: relative;
  display: block;
  aspect-ratio: 3/4;
  background-color: var(--c-beige);
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
}

.uslugi.svc .mammo-ba__ph i {
  position: absolute;
  left: calc(8 * var(--s));
  top: calc(8 * var(--s));
  padding: calc(3 * var(--s)) calc(8 * var(--s));
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.82);
  color: var(--c-navy);
  font-size: calc(8.5 * var(--s));
  font-style: normal;
  font-weight: 600;
}

.uslugi.svc .mammo-ba__cap {
  margin: 0;
  padding: calc(11 * var(--s)) calc(16 * var(--s)) 0;
  color: rgba(32, 47, 90, 0.7);
  font-size: calc(10 * var(--s));
  line-height: 1.3;
}

.uslugi.svc .mammo-ba__cap b {
  display: block;
  color: var(--c-navy);
  font-weight: 600;
}

.uslugi.svc .mammo-ba__note {
  margin: calc(14 * var(--s)) 0 0;
  color: rgba(32, 47, 90, 0.5);
  font-size: calc(9.5 * var(--s));
}

.uslugi.svc .lab-equip {
  margin-top: calc(100 * var(--s));
}

.uslugi.svc .plast-pay:not(.kolpo-ind) {
  margin-top: calc(100 * var(--s));
}

.uslugi.svc .mammo-ba__ph {
  aspect-ratio: 1/1;
  background-color: #fff;
}

.uslugi.svc .mammo-ba__ph--1a {
  background-image: url("/local/templates/dnk174_2026/css/../images/plastic/mammo-ba-1a.webp");
}

.uslugi.svc .mammo-ba__ph--1b {
  background-image: url("/local/templates/dnk174_2026/css/../images/plastic/mammo-ba-1b.webp");
}

.uslugi.svc .mammo-ba__ph {
  background-color: transparent;
}

.uslugi.svc .mammo-ba__ph--1a,
.uslugi.svc .mammo-ba__ph--2a,
.uslugi.svc .mammo-ba__ph--3a,
.uslugi.svc .mammo-ba__ph--4a {
  background-image: url("/local/templates/dnk174_2026/css/../images/plastic/mammo-ba-1a.webp");
}

.uslugi.svc .mammo-ba__ph--1b,
.uslugi.svc .mammo-ba__ph--2b,
.uslugi.svc .mammo-ba__ph--3b,
.uslugi.svc .mammo-ba__ph--4b {
  background-image: url("/local/templates/dnk174_2026/css/../images/plastic/mammo-ba-1b.webp");
}

.uslugi.svc .mammo-ba__cap b {
  color: var(--c-berry);
}

.uslugi.svc .mammo-ba__cap {
  padding-top: calc(8 * var(--s));
  padding-bottom: calc(12 * var(--s));
}

.uslugi.svc .plast-pay:not(.kolpo-ind) .plast-pay__card {
  border-color: var(--c-white);
  background: rgba(205, 231, 255, 0.46);
}

.uslugi.svc .plast-pay:not(.kolpo-ind) .plast-pay__card:hover {
  background: rgba(205, 231, 255, 0.66);
}

.uslugi.svc .plast-pay:not(.kolpo-ind) .plast-pay__list:not(.mammo-yes):not(.mammo-no) li::before {
  width: 6px;
  height: 6px;
  top: 5px;
}

.uslugi.svc .mammo-ba__ph i {
  min-width: calc(54 * var(--s));
  padding: calc(4 * var(--s)) calc(12 * var(--s));
  background: rgba(234, 244, 255, 0.92);
  text-align: center;
}

.uslugi.svc .mammo-ba__ph--1b i,
.uslugi.svc .mammo-ba__ph--2b i,
.uslugi.svc .mammo-ba__ph--3b i,
.uslugi.svc .mammo-ba__ph--4b i {
  left: auto;
  right: calc(8 * var(--s));
}

.uslugi.svc .mammo-ba__ph i {
  left: 0;
  padding: calc(5 * var(--s)) calc(14 * var(--s));
  border-radius: 0 999px 999px 0;
}

.uslugi.svc .mammo-ba__ph--1b i,
.uslugi.svc .mammo-ba__ph--2b i,
.uslugi.svc .mammo-ba__ph--3b i,
.uslugi.svc .mammo-ba__ph--4b i {
  left: auto;
  right: 0;
  border-radius: 999px 0 0 999px;
}

.uslugi.svc .plast-pay:not(.kolpo-ind) .plast-pay__card {
  position: relative;
  overflow: hidden;
}

.uslugi.svc .plast-pay:not(.kolpo-ind) .plast-pay__card::before,
.uslugi.svc .plast-pay:not(.kolpo-ind) .plast-pay__card::after {
  content: "";
  position: absolute;
  border-radius: 50%;
  background: rgba(138, 201, 255, 0.2);
  pointer-events: none;
}

.uslugi.svc .plast-pay:not(.kolpo-ind) .plast-pay__card::before {
  width: calc(210 * var(--s));
  height: calc(210 * var(--s));
  top: calc(-118 * var(--s));
  right: calc(132 * var(--s));
}

.uslugi.svc .plast-pay:not(.kolpo-ind) .plast-pay__card::after {
  width: calc(280 * var(--s));
  height: calc(280 * var(--s));
  top: calc(-128 * var(--s));
  right: calc(-42 * var(--s));
}

.uslugi.svc .plast-pay:not(.kolpo-ind) .plast-pay__card > * {
  position: relative;
  z-index: 1;
}

.uslugi.svc .mammo-ba__ph i {
  top: calc(24 * var(--s));
}

.uslugi.svc .plast-pay:not(.kolpo-ind) .plast-pay__card::before,
.uslugi.svc .plast-pay:not(.kolpo-ind) .plast-pay__card::after {
  background: rgba(138, 201, 255, 0.1);
}

.uslugi.svc .plast-pay:not(.kolpo-ind) .plast-pay__card::before {
  right: calc(48 * var(--s));
}

.uslugi.svc .plast-pay:not(.kolpo-ind) .plast-pay__card::after {
  right: calc(-120 * var(--s));
}

.uslugi.svc .plast-pay:not(.kolpo-ind) .plast-pay__card {
  padding-bottom: calc(34 * var(--s));
}

.uslugi.svc .plast-band__grid {
  gap: calc(20 * var(--s)) calc(74 * var(--s));
}

.uslugi.svc .kolpo-kinds__carousel {
  margin-top: calc(24 * var(--s));
}

.uslugi.svc .kolpo-kinds__carousel .carousel__track {
  display: flex;
  gap: calc(12 * var(--s));
  margin-top: 0;
}

.uslugi.svc .mammo-ba__carousel {
  margin-top: calc(22 * var(--s));
}

.uslugi.svc .mammo-ba__carousel .carousel__track {
  display: flex;
  gap: calc(16 * var(--s));
  margin-top: 0;
}

body .uslugi.uslugi.uslugi.svc .page-inner > .container > * {
  margin-top: 0;
  margin-bottom: 80px;
}

body .uslugi.uslugi.uslugi.svc .page-inner > .container > .plast-band__title {
  margin-bottom: 20px;
}

body .uslugi.uslugi.uslugi.svc .page-inner > .container > :last-child {
  margin-bottom: 0;
}

body .uslugi.uslugi.uslugi.svc .page-inner > .container > * > .us-title:first-child {
  margin-top: 0;
}

body .uslugi.uslugi.uslugi.svc .section.page-inner {
  padding-top: 0;
  padding-bottom: 80px;
}

body .uslugi.uslugi.uslugi.svc .section.page-inner.us-top {
  padding-top: 60px;
}

body .uslugi.uslugi.uslugi.svc .lab-rules-band + .section.page-inner {
  padding-top: 80px;
}

body .uslugi.uslugi.uslugi.svc .section.page-inner:has(> .us-map:last-child) {
  padding-bottom: 0;
}

body .uslugi.uslugi.uslugi.svc #faq.lab-rules-band,
body .uslugi.uslugi.uslugi.svc .page-inner #reviews.plast-rev {
  padding-block: 0;
}

body .uslugi.uslugi.uslugi.svc #faq.lab-rules-band {
  margin-block: 0;
}

body .uslugi.uslugi.uslugi.svc .section.page-inner > .us-map {
  margin-top: 80px;
}

body .uslugi.uslugi.uslugi.svc .section.page-inner > .us-map:first-child {
  margin-top: 0;
}

body .uslugi.uslugi.uslugi.svc .us-spec .us-title {
  padding-top: 0;
}

body .uslugi.uslugi.uslugi.svc .vip-steps .timeline li:last-child {
  padding-bottom: 0;
}

body .uslugi.uslugi.uslugi.svc .page-inner > .container > .gyn-two:has(+ .gyn-note) {
  margin-bottom: 0;
}

body .uslugi.uslugi.uslugi.svc .page-inner > .container > .gyn-note {
  margin-top: calc(12 * var(--s));
}

body .uslugi.uslugi.uslugi.svc .svc-dis .plast-pay__card {
  grid-column: 1/-1;
}

body .uslugi.uslugi.uslugi.svc .svc-dis .plast-pay__list + h3 {
  margin-top: calc(22 * var(--s));
}

body .uslugi.uslugi.uslugi.svc .svc-res > .gyn-two:first-child {
  margin-top: 0;
}

body .uslugi.uslugi.uslugi.svc .svc-res .gyn-two__card:only-child {
  grid-column: 1/-1;
}

body .uslugi.uslugi.uslugi.svc .svc-res__text > p:first-child {
  margin-top: 0;
}

@media (min-width: 761px) {
  body .uslugi.uslugi.uslugi.svc .svc-dis .plast-pay__list,
  body .uslugi.uslugi.uslugi.svc .svc-res .gyn-two__card:only-child .plast-pay__list {
    grid-template-columns: 1fr 1fr;
    column-gap: calc(40 * var(--s));
  }
}
.doc-results.is-loading {
  opacity: 0.5;
  transition: opacity var(--t-fast);
}

.doc-results__empty {
  margin: 0;
  color: var(--c-navy);
  font-size: var(--fs-sm);
}
.doc-results__empty a {
  color: var(--c-berry);
}

.pager {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 20px;
  margin-top: 60px;
}
.pager__pages {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: 8px;
}
.pager .lab-chip {
  min-width: 42px;
  font-size: 15px;
  text-align: center;
}
.pager .lab-chip.is-active {
  border-color: var(--c-berry);
  background: var(--c-berry);
  color: var(--c-white);
  cursor: default;
}
.pager__gap {
  color: rgba(32, 47, 90, 0.5);
}

@media (min-width: 761px) {
  .pager {
    display: grid;
    grid-template-columns: 1fr auto 1fr;
  }
  .pager__more {
    grid-column: 2;
  }
  .pager__pages {
    grid-column: 3;
    justify-self: end;
    justify-content: flex-end;
  }
}
.faq__item--static {
  pointer-events: none;
}

.faq__text {
  flex: 1;
  min-width: 0;
  color: rgba(32, 47, 90, 0.6);
  font-size: var(--fs-sm);
  line-height: 1.6;
}
.faq__text > * + * {
  margin-top: 10px;
}

.us-spec__head .us-title-desc {
  max-width: 42em;
}

.lab-cat .lab-an__foot {
  margin-top: auto;
}

.lab-cat .lab-an > :nth-last-child(2) {
  margin-bottom: calc(16 * var(--s));
}

.lab-cat__more {
  display: flex;
  margin: 34px auto 0;
}

.lab-cat__more[hidden] {
  display: none;
}

.lab-cat.is-loading .lab-cat__grid {
  opacity: 0.5;
  transition: opacity var(--t-fast);
}

@media (min-width: 761px) {
  .lab-hero__in {
    display: flex;
    flex: 1;
    flex-direction: column;
    margin-top: 0;
  }
  .lab-hero__grid {
    display: flex;
    flex: 1;
    flex-direction: column;
  }
  .lab-hero__h1 {
    margin-top: calc(28 * var(--s));
  }
  .lab-hero__panels {
    margin-top: auto;
    padding-top: calc(46 * var(--s));
  }
}
.plast-price.is-loading .plast-price__list {
  opacity: 0.5;
  transition: opacity var(--t-fast);
}

.us-search__sug {
  top: calc(100% + 6px);
  z-index: 20;
  max-height: calc(300 * var(--s));
}

@media (min-width: 761px) {
  .uslugi.svc .kolpo-kinds__carousel--many,
  .uslugi.svc .mammo-ba__carousel--many {
    position: relative;
    padding-bottom: calc(60 * var(--s));
  }
  .uslugi.svc .kolpo-kinds__carousel--many .carousel__viewport,
  .uslugi.svc .mammo-ba__carousel--many .carousel__viewport {
    overflow: hidden;
  }
  .uslugi.svc .kolpo-kinds__carousel--many .carousel__nav,
  .uslugi.svc .mammo-ba__carousel--many .carousel__nav {
    display: grid;
    top: auto;
    bottom: 0;
    transform: none;
    opacity: 1;
    pointer-events: auto;
  }
  .uslugi.svc .kolpo-kinds__carousel--many .carousel__nav--prev,
  .uslugi.svc .mammo-ba__carousel--many .carousel__nav--prev {
    left: auto;
    right: 46px;
  }
  .uslugi.svc .kolpo-kinds__carousel--many .carousel__nav--next,
  .uslugi.svc .mammo-ba__carousel--many .carousel__nav--next {
    left: auto;
    right: 0;
  }
  .uslugi.svc .kolpo-kinds__carousel--many .carousel__foot,
  .uslugi.svc .mammo-ba__carousel--many .carousel__foot {
    display: flex;
    align-items: center;
    position: absolute;
    left: 0;
    right: 100px;
    bottom: 0;
    height: 38px;
    margin: 0;
  }
}
.lab-why__mask {
  display: block;
  width: calc(36 * var(--s));
  height: calc(36 * var(--s));
  background: var(--c-maya);
  -webkit-mask: var(--ico) center/contain no-repeat;
  mask: var(--ico) center/contain no-repeat;
}

.svc-lab .lab-why__mask {
  background: var(--c-berry);
}

.lab-guarantee .lab-why__mask {
  background: var(--c-berry);
}

.uslugi.svc:not(.svc-lab) .lab-guarantee .lab-card img,
.uslugi.svc:not(.svc-lab) .lab-guarantee .lab-card__mask {
  width: calc(34 * var(--s));
  height: calc(34 * var(--s));
}

.uslugi.svc .kolpo-kinds__carousel--many .carousel__viewport {
  padding-top: 4px;
}

.lab-hero:has(.lab-search__sug:not([hidden])) {
  z-index: 60;
  overflow: visible;
}

.us-spec__foot:has(> .swiper-pagination-lock) {
  justify-content: center;
}

.us-spec__foot:has(> .swiper-pagination-lock) > .btn {
  margin-left: 0;
}

#education .docs {
  margin-top: 48px;
}

.docs__foot {
  display: flex;
  justify-content: flex-end;
  margin-top: 24px;
}
.docs__foot .btn[aria-expanded=true] svg {
  transform: rotate(180deg);
}

.achieve__text {
  display: -webkit-box;
  flex: 1;
  min-width: 0;
  margin-right: 24px;
  overflow: hidden;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  line-clamp: 2;
}

.achieve__more {
  flex: none;
  margin-right: 24px;
  padding: 0;
  border: 0;
  background: none;
  color: var(--c-navy);
  font: inherit;
  font-size: var(--fs-sm);
  font-weight: 600;
  text-decoration: underline;
  text-underline-offset: 3px;
  white-space: nowrap;
  cursor: pointer;
}
.achieve__more:hover {
  color: var(--c-berry);
}
.achieve__more[hidden] {
  display: none;
}

#doctor-achieve .rvfull__head b {
  color: var(--c-navy);
  font-size: 17px;
}

.order1c.is-loading .bookpop__body {
  opacity: 0.5;
  pointer-events: none;
  transition: opacity var(--t-fast);
}

.order1c__foot {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  margin-top: 14px;
}

.order1c__sum {
  display: flex;
  flex-direction: column;
  color: var(--c-navy);
}
.order1c__sum span {
  color: rgba(32, 47, 90, 0.55);
  font-size: 13px;
}
.order1c__sum b {
  font-size: 20px;
}

.order1c__call {
  margin: 12px 0 0 30px;
}

.order1c [data-o1c-contacts] {
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.order1c [data-o1c-contacts][hidden],
.order1c [data-o1c-choose][hidden] {
  display: none;
}

.order1c [data-o1c-choose] {
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.order1c .bookpop__error {
  white-space: pre-line;
}

.request2026 .bookpop__form[hidden],
.request2026 .bstep--final[hidden] {
  display: none;
}

.bookpop__panel--narrow {
  width: min(480px, 100%);
}

.bookpop__panel--mid {
  width: min(640px, 100%);
}

.bookpop__form--stack {
  grid-template-columns: minmax(0, 1fr);
  gap: 10px;
}
.bookpop__form--stack .bookpop__foot {
  flex-direction: column;
  align-items: stretch;
  gap: 16px;
}
.bookpop__form--stack .bookpop__submit {
  width: 100%;
  min-width: 0;
  margin-left: 0;
}

.bookpop__form--pairs {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px 12px;
}

@media (max-width: 560px) {
  .bookpop__form--pairs {
    grid-template-columns: minmax(0, 1fr);
  }
}
.dnkcap__row {
  display: flex;
  align-items: center;
  gap: 10px;
}
.dnkcap__row input {
  flex: 1 1 120px;
  min-width: 0;
}

.dnkcap__img {
  flex: none;
  width: 180px;
  height: 40px;
  border: 1px solid rgba(32, 47, 90, 0.14);
  border-radius: 12px;
  background: var(--c-white);
}

.dnkcap__reload {
  flex: none;
  display: grid;
  place-items: center;
  width: 40px;
  height: 40px;
  padding: 0;
  border: 1px solid rgba(32, 47, 90, 0.14);
  border-radius: 50%;
  background: var(--c-white);
  color: var(--c-berry);
  cursor: pointer;
  transition: border-color var(--t-fast), color var(--t-fast);
}
.dnkcap__reload:hover {
  border-color: var(--c-berry);
}

@media (max-width: 420px) {
  .dnkcap__row {
    flex-wrap: wrap;
  }
  .dnkcap__row input {
    flex-basis: 100%;
  }
}
.request2026__ok {
  margin: 0;
  color: var(--c-navy);
  font-size: 16px;
  line-height: 1.5;
}

.pr-box.is-loading {
  opacity: 0.5;
  pointer-events: none;
  transition: opacity var(--t-fast);
}

.pr-row.is-active {
  background: rgba(255, 255, 255, 0.75);
  box-shadow: inset 3px 0 0 var(--c-berry);
}

.pr-row {
  grid-template-columns: 1fr calc(46 * var(--s)) calc(100 * var(--s)) calc(80 * var(--s)) auto;
}

.pr-row__book {
  padding: calc(7 * var(--s)) calc(18 * var(--s));
  border: 1px solid var(--c-white);
  border-radius: 999px;
  color: var(--c-navy);
  font-size: calc(9.5 * var(--s));
  white-space: nowrap;
  transition: background var(--t-fast), border-color var(--t-fast), color var(--t-fast);
}
.pr-row__book:hover, .pr-row:hover .pr-row__book {
  background: var(--c-berry);
  border-color: var(--c-berry);
  color: #fff;
}

.pr-row__title b {
  color: var(--c-berry);
  font-weight: inherit;
}

@media (max-width: 760px) {
  .pr-row {
    grid-template-columns: 1fr auto;
  }
  .pr-row .pr-row__book {
    grid-column: 2;
    grid-row: 3;
    justify-self: end;
    padding: 5px 12px;
    font-size: 12px;
  }
}
.rv-tab,
.rv-chip {
  display: inline-flex;
  align-items: center;
  text-decoration: none;
}

.rv-doctor {
  flex: 0 1 280px;
  min-width: 200px;
}
.rv-doctor[hidden] {
  display: none;
}

.rv-tools {
  position: relative;
  z-index: 5;
  container-type: inline-size;
}

.rv-tab__short {
  display: none;
}

.rv-doctor .doc-select__list {
  background-color: rgba(255, 255, 255, 0.96);
  box-shadow: 0 18px 40px rgba(32, 47, 90, 0.14);
}

.rv-doctor .doc-select.is-open .doc-select__btn {
  background-color: rgba(255, 255, 255, 0.96);
}

@media (min-width: 1101px) {
  .rv-tools:has(.rv-doctor:not([hidden])) {
    flex-wrap: nowrap;
  }
  .rv-tools:has(.rv-doctor:not([hidden])) .rv-doctor {
    flex: 1 1 260px;
    min-width: 180px;
    max-width: 320px;
  }
  .rv-tools:has(.rv-doctor:not([hidden])) .rv-sort {
    flex: none;
    flex-wrap: nowrap;
  }
  .rv-tools:has(.rv-doctor:not([hidden])) .rv-add {
    flex: none;
  }
  @container (max-width: 1360px) {
    .rv-tools:has(.rv-doctor:not([hidden])) .rv-tab__full {
      display: none;
    }
    .rv-tools:has(.rv-doctor:not([hidden])) .rv-tab__short {
      display: inline;
    }
  }
  @container (max-width: 1040px) {
    .rv-tools:has(.rv-doctor:not([hidden])) .rv-sort__label {
      display: none;
    }
  }
}
.rv-results {
  margin-top: 24px;
  transition: opacity var(--t-fast);
}
.rv-results.is-loading {
  opacity: 0.5;
}

.score__in .score__num {
  font-size: 40px;
}

.page-text__body--card:not(:has(> .pg-band)) {
  width: calc(100% - 32px);
  max-width: calc(1050 * var(--s));
  margin: 24px auto 0;
}

.pg-band__grid {
  display: contents;
}

.pg-band .price-group__col.type-tab,
.page-text__body--card:not(:has(> .pg-band)) {
  padding: 28px 32px;
  border: 1px solid var(--c-white);
  border-radius: 18px;
  background: rgba(255, 255, 255, 0.6);
  -webkit-backdrop-filter: blur(14px) saturate(140%);
  backdrop-filter: blur(14px) saturate(140%);
  color: #0F295D;
  font-size: 14px;
  line-height: 1.5;
}
.pg-band .price-group__col.type-tab > *:last-child,
.page-text__body--card:not(:has(> .pg-band)) > *:last-child {
  margin-bottom: 0;
}
.pg-band .price-group__col.type-tab p,
.page-text__body--card:not(:has(> .pg-band)) p {
  margin-bottom: 16px;
  color: #0F295D;
  font-size: 14px;
  line-height: 1.5;
}
.pg-band .price-group__col.type-tab ul,
.page-text__body--card:not(:has(> .pg-band)) ul {
  margin-bottom: 16px;
}
.pg-band .price-group__col.type-tab ul li,
.page-text__body--card:not(:has(> .pg-band)) ul li {
  position: relative;
  margin-bottom: 16px;
  padding-left: 22px;
  color: #0F295D;
  font-size: 14px;
  line-height: 1.5;
}
.pg-band .price-group__col.type-tab ul li::before,
.page-text__body--card:not(:has(> .pg-band)) ul li::before {
  content: "";
  position: absolute;
  top: 8px;
  left: 2px;
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: var(--c-berry);
}
.pg-band .price-group__col.type-tab ol,
.page-text__body--card:not(:has(> .pg-band)) ol {
  margin: 0 0 16px 20px;
  list-style: decimal;
}
.pg-band .price-group__col.type-tab h2,
.page-text__body--card:not(:has(> .pg-band)) h2,
.pg-band .price-group__col.type-tab h3,
.page-text__body--card:not(:has(> .pg-band)) h3 {
  margin: 24px 0 12px;
  color: var(--c-navy);
  line-height: 1.25;
}
.pg-band .price-group__col.type-tab h2,
.page-text__body--card:not(:has(> .pg-band)) h2 {
  font-size: 20px;
}
.pg-band .price-group__col.type-tab h3,
.page-text__body--card:not(:has(> .pg-band)) h3 {
  font-size: 17px;
}
.pg-band .price-group__col.type-tab a,
.page-text__body--card:not(:has(> .pg-band)) a {
  color: var(--c-berry);
  text-decoration: underline;
  text-underline-offset: 3px;
}
.pg-band .price-group__col.type-tab img,
.page-text__body--card:not(:has(> .pg-band)) img {
  max-width: 100%;
  height: auto;
}
.pg-band .price-group__col.type-tab table,
.page-text__body--card:not(:has(> .pg-band)) table {
  width: 100%;
  margin-bottom: 16px;
  border-collapse: collapse;
}
.pg-band .price-group__col.type-tab td,
.page-text__body--card:not(:has(> .pg-band)) td,
.pg-band .price-group__col.type-tab th,
.page-text__body--card:not(:has(> .pg-band)) th {
  padding: 8px 10px;
  border: 1px solid rgba(32, 47, 90, 0.15);
  vertical-align: top;
}

@media (max-width: 760px) {
  .pg-band .price-group__col.type-tab {
    margin-top: 13px;
  }
  .pg-band .price-group__col.type-tab,
  .page-text__body--card:not(:has(> .pg-band)) {
    padding: 20px 16px;
  }
  .pg-band .price-group__col.type-tab p,
  .pg-band .price-group__col.type-tab ul li,
  .page-text__body--card:not(:has(> .pg-band)) p,
  .page-text__body--card:not(:has(> .pg-band)) ul li {
    line-height: 1.3;
  }
}
.ct__canvas {
  width: 100%;
  height: 100%;
}

[data-list-ajax].is-loading {
  opacity: 0.5;
  pointer-events: none;
  transition: opacity var(--t-fast);
}

.news-empty {
  margin: 24px 0 0;
  color: var(--c-navy);
  font-size: 15px;
}

.sr-item__text {
  display: block;
  margin-top: 4px;
  color: rgba(32, 47, 90, 0.7);
  font-size: 13px;
  line-height: 1.4;
}

.sr-found + .sr-found__chips,
.sr-empty + .sr-found__chips {
  margin-top: 16px;
}

.lic-list,
.smi-list {
  display: grid;
  gap: 28px;
}
.lic-list h3,
.smi-list h3 {
  margin: 0 0 8px;
  color: var(--c-navy);
  font-size: 17px;
}

.lic-list__photos {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 12px;
}
.lic-list__photos a {
  display: block;
  overflow: hidden;
  border-radius: 10px;
  box-shadow: 0 6px 18px rgba(32, 47, 90, 0.12);
}
.lic-list__photos img {
  display: block;
  width: 120px;
  height: auto;
}

.smi-list__date {
  display: block;
  margin-bottom: 4px;
  color: rgba(32, 47, 90, 0.55);
  font-size: 13px;
}

.smi-list__prop {
  margin: 4px 0 0;
  font-size: 13px;
}

.smi-list__item--pic {
  display: grid;
  grid-template-columns: 120px 1fr;
  gap: 20px;
  align-items: start;
}

.smi-list__pic {
  width: 100%;
  border-radius: 12px;
}

.awards2026__lead {
  margin-bottom: 20px;
}

.awards2026__thumbs {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-bottom: 32px;
}
.awards2026__thumbs img {
  display: block;
  width: 110px;
  height: 110px;
  object-fit: contain;
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.7);
}

.awards2026__item {
  display: grid;
  grid-template-columns: 260px 1fr;
  gap: 28px;
  padding-top: 28px;
  border-top: 1px solid rgba(32, 47, 90, 0.12);
}
.awards2026__item + .awards2026__item {
  margin-top: 28px;
}
.awards2026__item h2 {
  margin-top: 0;
}

.awards2026__pic {
  width: 100%;
  border-radius: 14px;
}

.awards2026__gallery {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 16px;
}
.awards2026__gallery img {
  display: block;
  width: 120px;
  height: 120px;
  object-fit: cover;
  border-radius: 10px;
}

@media (max-width: 760px) {
  .smi-list__item--pic,
  .awards2026__item {
    grid-template-columns: 1fr;
  }
}
.us-doc__img img.us-doc__cut {
  object-fit: cover;
  object-position: 50% 0;
  transform: scale(1.3);
  transform-origin: 50% 0;
}

@media (min-width: 761px) {
  .doc-page .hero__photo.hero__photo--cut {
    bottom: -150px;
    left: min(0px, clamp(420px, 43vw, 620px) * (0.72 - var(--cut-ratio, 0)));
  }
}
@media (min-width: 1700px) {
  .doc-page .hero__photo.hero__photo--cut {
    left: min(0px, 465px - 740px * var(--cut-ratio, 0));
  }
}
@media (hover: hover) {
  .pr-row__book {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding-top: 0;
    padding-bottom: 0;
    line-height: 1;
    text-align: center;
  }
}
.news-page__video {
  clear: both;
  position: relative;
  width: 100%;
  max-width: 860px;
  aspect-ratio: 16/9;
  margin: 32px 0;
  overflow: hidden;
  border-radius: var(--r-lg);
  background: var(--c-navy);
  box-shadow: 0 18px 50px rgba(32, 47, 90, 0.18);
}
.news-page__video iframe,
.news-page__video video {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  border: 0;
  object-fit: cover;
}

.docs-rec__carousel {
  margin-top: 6px;
}
.docs-rec__carousel .carousel__track {
  gap: 12px;
  align-items: stretch;
}
.docs-rec__carousel .us-doc {
  height: auto;
}
.docs-rec__carousel .carousel__nav {
  top: calc(50% + 18px);
}
.docs-rec__carousel .carousel__foot {
  margin-top: 24px;
}

@media (max-width: 760px) {
  .docs-rec__carousel .carousel__nav {
    display: none;
  }
}
.err404 {
  display: grid;
  grid-template-columns: minmax(0, 460px) minmax(0, 1fr);
  align-items: center;
  gap: 40px;
  margin: 40px 0 0;
  padding: 32px 48px 0 32px;
  border: 1px solid var(--c-white);
  border-radius: 26px;
  background: rgba(255, 255, 255, 0.45);
  -webkit-backdrop-filter: blur(14px) saturate(140%);
  backdrop-filter: blur(14px) saturate(140%);
  overflow: hidden;
}
.err404__img {
  align-self: end;
}
.err404__img img {
  display: block;
  width: 100%;
  height: auto;
}
.err404__body {
  padding-bottom: 32px;
}
.err404__kicker {
  margin: 0 0 8px;
  color: var(--c-berry);
  font-size: 15px;
  font-weight: 600;
}
.err404__title {
  margin: 0;
  color: var(--c-navy);
  font-size: 40px;
  font-weight: 600;
  line-height: 1.15;
}
.err404__text {
  max-width: 520px;
  margin: 16px 0 0;
  color: #0F295D;
  font-size: 16px;
  line-height: 1.5;
}
.err404__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 28px;
}
.err404__links {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 24px 0 0;
  padding: 0;
  list-style: none;
}
.err404__links li::before {
  content: none;
}

@media (max-width: 900px) {
  .err404 {
    grid-template-columns: minmax(0, 1fr);
    gap: 0;
    padding: 24px 20px 0;
  }
  .err404__img {
    order: 2;
    max-width: 340px;
    margin: 8px auto 0;
  }
  .err404__body {
    padding-bottom: 0;
  }
  .err404__title {
    font-size: 28px;
  }
}
.bookpop__submit:disabled,
.rvpop__submit:disabled {
  opacity: 0.45;
  cursor: not-allowed;
  pointer-events: none;
  box-shadow: none;
}

.rvpop__agree + .rvpop__agree {
  margin-top: -4px;
}

.pr-row__title,
.pr-row__name > span {
  overflow: visible;
  white-space: normal;
  text-overflow: clip;
  overflow-wrap: anywhere;
}

.pr-cat__head {
  line-height: 1.4;
}
.pr-cat__head::before {
  top: calc(8.5 * var(--s) + 0.7em);
}

.luxarpopup--glass .has-iframe .luxarpopup__content {
  padding: 0;
  background: transparent;
}
.luxarpopup--glass .luxarpopup__iframe {
  border: 1px solid var(--c-white);
  border-radius: max(12px, 15 * var(--s));
  background: #000;
}
.luxarpopup--glass .has-image .luxarpopup__content {
  overflow: hidden;
  border: 1px solid var(--c-white);
  border-radius: max(12px, 15 * var(--s));
}

a.mammo-ba__ph {
  cursor: zoom-in;
  transition: filter var(--t-fast);
}
a.mammo-ba__ph:hover {
  filter: brightness(1.06);
}

.ckp {
  margin-top: calc(40 * var(--s));
}
.ckp__cities {
  margin: calc(18 * var(--s)) 0 calc(20 * var(--s));
}
.ckp__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: calc(14 * var(--s));
  margin-top: calc(20 * var(--s));
}
.ckp__cities + .ckp__grid {
  margin-top: 0;
}
.ckp__card {
  display: flex;
  flex-direction: column;
  padding: calc(22 * var(--s)) calc(24 * var(--s)) calc(24 * var(--s));
  border: 1px solid var(--c-white);
  border-radius: calc(20 * var(--s));
  background: rgba(255, 255, 255, 0.45);
  -webkit-backdrop-filter: blur(14px) saturate(140%);
  backdrop-filter: blur(14px) saturate(140%);
}
.ckp__head {
  display: flex;
  align-items: center;
  gap: calc(14 * var(--s));
  margin-bottom: calc(14 * var(--s));
}
.ckp__img {
  width: calc(64 * var(--s));
  height: calc(64 * var(--s));
  flex: none;
  border-radius: 50%;
  object-fit: cover;
  background: rgba(255, 255, 255, 0.9);
}
.ckp__name {
  margin: 0;
  color: var(--c-navy);
  font-size: max(18px, 16 * var(--s));
  font-weight: 600;
}
.ckp__count {
  margin: 2px 0 0;
  color: var(--text-muted);
  font-size: max(12px, 10 * var(--s));
}
.ckp__list {
  display: grid;
  gap: calc(6 * var(--s));
  margin: 0;
  padding: 0;
  list-style: none;
}
.ckp__list li {
  position: relative;
  padding-left: calc(16 * var(--s));
  color: var(--c-navy);
  font-size: max(14px, 11 * var(--s));
  line-height: 1.45;
}
.ckp__list li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.6em;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--c-berry);
}
.ckp__list li[hidden] {
  display: none;
}
.ckp__more {
  align-self: flex-start;
  margin-top: calc(10 * var(--s));
  padding: 0;
  border: 0;
  background: none;
  color: var(--c-sky-strong);
  font: inherit;
  font-size: max(13px, 10.5 * var(--s));
  cursor: pointer;
  transition: color var(--t-fast);
}
.ckp__more:hover {
  color: var(--c-berry);
}
.ckp__foot {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: calc(14 * var(--s));
  margin-top: auto;
  padding-top: calc(18 * var(--s));
}
.ckp__price {
  margin: 0;
  color: var(--c-navy);
  font-size: max(20px, 18 * var(--s));
  font-weight: 700;
  white-space: nowrap;
}

@media (max-width: 1100px) {
  .ckp__grid {
    grid-template-columns: minmax(0, 1fr);
  }
}
@media (max-width: 760px) {
  .ckp {
    margin-top: 28px;
  }
  .ckp__card {
    padding: 18px 16px 20px;
  }
  .ckp__img {
    width: 52px;
    height: 52px;
  }
  .ckp__name {
    font-size: 18px;
  }
  .ckp__count, .ckp__more {
    font-size: 13px;
  }
  .ckp__list li {
    font-size: 14px;
  }
  .ckp__price {
    font-size: 20px;
  }
  .ckp .city-tab {
    min-width: 0;
    flex: 1;
  }
}
.section:has(> .dnk-footer-map:last-child),
main:has(> .dnk-footer-map) > .section:last-of-type {
  padding-bottom: 0;
}

.dnk-footer-map {
  padding-top: 80px;
}

.dnk-footer-map > .us-map {
  margin-top: 0;
}

@media (max-width: 760px) {
  .dnk-footer-map {
    padding-top: 50px;
  }
}
.doc-landing {
  background: none;
}
.doc-landing::before {
  content: none;
}

.dspec__list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: calc(18 * var(--s)) calc(40 * var(--s));
  margin: calc(20 * var(--s)) 0 0;
  padding: calc(26 * var(--s)) calc(30 * var(--s));
  list-style: none;
}
.dspec__list:hover {
  transform: none;
}

.dspec__item {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: baseline;
  row-gap: 8px;
}

.dspec__label {
  color: var(--c-navy);
  font-size: max(14px, 12 * var(--s));
  font-weight: 500;
}

.dspec__value {
  color: var(--c-berry);
  font-size: max(14px, 12 * var(--s));
  font-weight: 700;
}

.dspec__bar {
  grid-column: 1/-1;
  height: 8px;
  overflow: hidden;
  border-radius: 999px;
  background: rgba(32, 47, 90, 0.08);
}
.dspec__bar i {
  display: block;
  width: 0;
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, var(--c-sky-strong), var(--c-berry));
  transition: width 1.1s cubic-bezier(0.22, 1, 0.36, 1);
}

.dspec__list.is-visible .dspec__bar i {
  width: var(--p);
}

.dgal__carousel {
  margin-top: calc(20 * var(--s));
}

.dgal__item {
  display: block;
  overflow: hidden;
  border: 1px solid var(--c-white);
  border-radius: calc(16 * var(--s));
  background: rgba(255, 255, 255, 0.7);
  cursor: zoom-in;
}
.dgal__item img {
  display: block;
  width: 100%;
  aspect-ratio: 1;
  object-fit: cover;
  transition: transform 0.4s ease;
}
.dgal__item:hover img {
  transform: scale(1.04);
}

.dgal__carousel--shot .dgal__item img,
.dgal__carousel--doc .dgal__item img {
  aspect-ratio: 3/4;
  object-fit: contain;
  padding: 8px;
}

.dabout__grid {
  display: grid;
  grid-template-columns: calc(330 * var(--s)) minmax(0, 1fr);
  gap: calc(16 * var(--s));
  margin-top: calc(20 * var(--s));
}
.dabout__grid--text {
  grid-template-columns: minmax(0, 1fr);
}

.dabout__photo {
  width: 100%;
  height: 100%;
  max-height: calc(520 * var(--s));
  object-fit: cover;
  object-position: 50% 15%;
  border: 1px solid var(--c-white);
  border-radius: calc(20 * var(--s));
}

.dabout__card {
  display: block;
  min-width: 0;
  padding: calc(26 * var(--s)) calc(30 * var(--s));
}
.dabout__card:hover {
  transform: none;
}

.dabout__head {
  display: flex;
  align-items: center;
  gap: 16px;
}

.dabout__emblem {
  width: calc(64 * var(--s));
  min-width: 52px;
  height: auto;
  flex: none;
}

.dabout__name {
  margin: 0;
  color: var(--c-navy);
  font-size: max(18px, 16 * var(--s));
  font-weight: 700;
}

.dabout__org {
  margin: 4px 0 0;
  color: var(--text-muted);
  font-size: max(14px, 11 * var(--s));
}

.dabout__text {
  margin-top: calc(18 * var(--s));
  color: var(--c-navy);
  font-size: max(14px, 11 * var(--s));
  line-height: 1.55;
}
.dabout__text ul {
  margin: 8px 0 0;
  padding-left: 1.2em;
}
.dabout__text li + li {
  margin-top: 4px;
}
.dabout__text > * + * {
  margin-top: 12px;
}

.dabout__diplomas .dgal__carousel {
  margin-top: calc(22 * var(--s));
}

.dabout__card .dgal__item img {
  width: 100%;
  height: auto;
}

.dabout__card .dabout__emblem {
  height: auto;
  object-fit: contain;
}

.dstock__carousel {
  margin-top: calc(20 * var(--s));
}

.dstock__item {
  display: block;
  width: 100%;
  padding: 0;
  overflow: hidden;
  border: 1px solid var(--c-white);
  border-radius: calc(20 * var(--s));
  background: rgba(255, 255, 255, 0.45);
  cursor: pointer;
}
.dstock__item img {
  display: block;
  width: 100%;
  aspect-ratio: 474/489;
  object-fit: cover;
  transition: transform 0.4s ease;
}
.dstock__item:hover img {
  transform: scale(1.03);
}

.dstock__pop {
  max-width: 720px;
}

.dstock__pop-img {
  display: block;
  width: 100%;
  margin-bottom: 18px;
  border-radius: 16px;
}

.dstock__pop-text {
  color: var(--c-navy);
  font-size: 15px;
  line-height: 1.6;
}
.dstock__pop-text > * + * {
  margin-top: 10px;
}

.dstock__pop-btn {
  margin-top: 20px;
}

@media (max-width: 1100px) {
  .dspec__list {
    grid-template-columns: minmax(0, 1fr);
  }
  .dabout__grid {
    grid-template-columns: minmax(0, 1fr);
  }
  .dabout__photo {
    max-height: 420px;
  }
}
@media (max-width: 760px) {
  .dspec__list,
  .dabout__card {
    padding: 18px 16px;
  }
  .dgal__item,
  .dstock__item,
  .dabout__photo {
    border-radius: 14px;
  }
}
main:has(> .page-inner--prices) > .dnk-footer-map,
main:has(> .page-inner--doctors) > .dnk-footer-map,
main:has(> .page-inner--reviews) > .dnk-footer-map,
.page-index main > .dnk-footer-map {
  background-position: 50% 0;
  background-size: cover;
  background-repeat: no-repeat;
  background-attachment: fixed;
}

main:has(> .page-inner--prices) > .dnk-footer-map {
  background-image: url("/local/templates/dnk174_2026/css/../images/prays-bg.png");
}

main:has(> .page-inner--doctors) > .dnk-footer-map {
  background-image: url("/local/templates/dnk174_2026/css/../images/vrachi-bg.png");
}

main:has(> .page-inner--reviews) > .dnk-footer-map {
  background-image: url("/local/templates/dnk174_2026/css/../images/otzyvy-bg.png");
}

.page-index main > .dnk-footer-map {
  background-image: linear-gradient(to bottom, rgb(251, 246, 242) 0, rgba(251, 246, 242, 0.85) 90px, rgba(251, 246, 242, 0) 340px), url("/local/templates/dnk174_2026/css/../images/services-bg.webp");
  background-position: 0 0, 50% 50%;
  background-size: auto, cover;
  background-attachment: scroll, fixed;
}

main.doc-page > section:not(.hero):not(.us-map):not(#_),
main.doc-page > .doc-landing > .page-inner:not(#_) {
  padding-top: 40px;
  padding-bottom: 40px;
}

main.doc-page > section:not(.hero):not(.pattern):not(#_) > .container {
  padding-top: 0;
  padding-bottom: 0;
}
main.doc-page > section:not(.hero):not(.pattern):not(#_) > .container > :first-child {
  margin-top: 0;
}
main.doc-page > section:not(.hero):not(.pattern):not(#_) > .container > :last-child {
  margin-bottom: 0;
}

main.doc-page > .us-map:not(#_) {
  margin-top: 40px;
}

@media (max-width: 760px) {
  main.doc-page > section:not(.hero):not(.us-map):not(#_),
  main.doc-page > .doc-landing > .page-inner:not(#_) {
    padding-top: 25px;
    padding-bottom: 25px;
  }
  main.doc-page > .us-map:not(#_) {
    margin-top: 25px;
  }
}
.review__ava {
  flex: none;
  object-fit: contain;
}

.review__ava--photo {
  border-radius: 50%;
  object-fit: cover;
}

.ctform__clinic {
  margin: -6px 0 14px;
  color: var(--c-berry);
  font-size: 14px;
  font-weight: 500;
}

.dcal-field {
  position: relative;
}
.dcal-field input {
  padding-right: 44px;
  background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%23202F5A' stroke-width='1.8' stroke-linecap='round'%3E%3Crect x='3.5' y='5' width='17' height='15.5' rx='3'/%3E%3Cpath d='M3.5 10h17M8 3v4M16 3v4'/%3E%3C/svg%3E") right 16px center/18px no-repeat;
  cursor: pointer;
}

.dcal {
  position: absolute;
  top: calc(100% + 6px);
  left: 0;
  z-index: 30;
  width: 300px;
  padding: 14px;
  border: 1px solid var(--c-white);
  border-radius: 18px;
  background: rgba(255, 255, 255, 0.97);
  box-shadow: 0 18px 50px rgba(32, 47, 90, 0.18);
  -webkit-backdrop-filter: blur(14px);
  backdrop-filter: blur(14px);
}
.dcal[hidden] {
  display: none;
}

.dcal__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 10px;
}
.dcal__head b {
  color: var(--c-navy);
  font-size: 15px;
  font-weight: 600;
}

.dcal__nav {
  display: grid;
  place-items: center;
  width: 32px;
  height: 32px;
  padding: 0;
  border: 1px solid rgba(32, 47, 90, 0.12);
  border-radius: 50%;
  background: #fff;
  color: var(--c-navy);
  cursor: pointer;
  transition: background var(--t-fast), color var(--t-fast), border-color var(--t-fast);
}
.dcal__nav:hover:not(:disabled) {
  border-color: var(--c-berry);
  background: var(--c-berry);
  color: #fff;
}
.dcal__nav:disabled {
  opacity: 0.3;
  cursor: default;
}

.dcal__grid {
  display: grid;
  grid-template-columns: repeat(7, 1fr);
  gap: 3px;
}

.dcal__dow {
  padding: 4px 0;
  color: var(--text-muted);
  font-size: 12px;
  text-align: center;
}

.dcal__day {
  aspect-ratio: 1;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: none;
  color: var(--c-navy);
  font: inherit;
  font-size: 14px;
  cursor: pointer;
  transition: background var(--t-fast), color var(--t-fast);
}
.dcal__day:hover:not(:disabled) {
  background: var(--c-berry-100);
}
.dcal__day.is-other {
  color: rgba(32, 47, 90, 0.4);
}
.dcal__day.is-today {
  box-shadow: inset 0 0 0 1px var(--c-berry);
}
.dcal__day.is-selected, .dcal__day.is-selected:hover {
  background: var(--c-berry);
  color: #fff;
}
.dcal__day:disabled {
  color: rgba(32, 47, 90, 0.2);
  cursor: default;
}

@media (max-width: 760px) {
  .dcal {
    width: min(300px, 100vw - 48px);
  }
}
main.doc-page .doc-landing ~ #reasons::before {
  content: none;
}

main.doc-page > .doc-landing > .page-inner {
  position: relative;
}
main.doc-page > .doc-landing > .page-inner::before {
  content: "";
  position: absolute;
  inset: 0 calc(50% - 50vw) auto;
  height: 640px;
  background: linear-gradient(to bottom, rgba(234, 217, 204, 0.95) 0%, rgba(234, 217, 204, 0.55) 35%, rgba(234, 217, 204, 0) 100%);
  pointer-events: none;
}
main.doc-page > .doc-landing > .page-inner > .container {
  position: relative;
  z-index: 1;
}

.slots li[data-booking-open],
.slots li[data-order1c] {
  cursor: pointer;
  transition: background var(--t-fast);
}
.slots li[data-booking-open]:hover,
.slots li[data-order1c]:hover {
  background: rgba(255, 255, 255, 0.85);
}
.slots li[data-booking-open]:hover .slots__times,
.slots li[data-order1c]:hover .slots__times {
  color: var(--c-berry);
}

.luxarpopup__content.rvfull__panel.mappop {
  display: grid;
  grid-template-columns: minmax(0, 1.6fr) minmax(0, 1fr);
  width: min(980px, 100vw - 40px);
  max-width: none;
  height: min(520px, 86vh);
  padding: 0;
  overflow: hidden;
}

.mappop__map {
  min-height: 0;
  background: #eef0f3;
}

.mappop__side {
  display: flex;
  flex-direction: column;
  min-height: 0;
  padding: 26px 26px 22px;
}

.mappop__info {
  align-self: stretch;
  min-height: 0;
  padding-right: 24px;
}

.mappop__all {
  margin-top: auto;
  padding-top: 16px;
  align-self: flex-start;
}

.mappop__name {
  margin: 0 0 8px;
  color: var(--text-muted);
  font-size: 14px;
}

.mappop__addr {
  margin: 0 0 14px;
  color: var(--c-navy);
  font-size: 20px;
  font-weight: 600;
  line-height: 1.3;
}
.mappop__addr span {
  color: var(--text-muted);
  font-size: 15px;
  font-weight: 400;
}

.mappop__hours {
  margin: 0 0 18px;
  padding: 0;
  list-style: none;
  color: var(--c-navy);
  font-size: 14px;
  line-height: 1.7;
}

.mappop--list .mappop__info {
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;
}

.mappop__title {
  margin: 0 0 12px;
  color: var(--c-navy);
  font-size: 20px;
  font-weight: 600;
}
.mappop__title span {
  color: var(--text-muted);
  font-size: 15px;
  font-weight: 400;
}

.mappop__list {
  flex: 1 1 auto;
  min-height: 0;
  margin: 0 -8px 0 0;
  padding: 0 8px 0 0;
  overflow-y: auto;
  list-style: none;
  scrollbar-width: thin;
  scrollbar-color: var(--c-berry) transparent;
}

.mappop__item {
  border-bottom: 1px solid rgba(32, 47, 90, 0.1);
}
.mappop__item .mappop__hours {
  display: none;
  margin: -4px 0 12px;
  font-size: 13px;
}
.mappop__item.is-active .mappop__hours {
  display: block;
}

.mappop__pick {
  display: block;
  width: 100%;
  padding: 10px 0;
  border: 0;
  background: none;
  text-align: left;
  cursor: pointer;
}
.mappop__pick .mappop__name {
  margin: 0 0 2px;
  font-size: 13px;
}
.mappop__pick .mappop__addr {
  display: block;
  margin: 0;
  font-size: 16px;
  transition: color var(--t-fast);
}

.mappop__item.is-active .mappop__addr {
  color: var(--c-berry);
}

@media (hover: hover) {
  .mappop__pick:hover .mappop__addr {
    color: var(--c-berry);
  }
}
@media (max-width: 760px) {
  .luxarpopup__content.rvfull__panel.mappop {
    grid-template-columns: minmax(0, 1fr);
    grid-template-rows: 260px minmax(0, 1fr);
    height: auto;
    max-height: 90vh;
  }
  .mappop__side {
    padding: 18px 16px 18px;
  }
  .mappop__info {
    padding-right: 0;
  }
  .mappop--list .mappop__list {
    max-height: 34vh;
  }
}
.lab-hero__more {
  align-self: flex-start;
  margin-top: max(10px, 12 * var(--s));
}

.is-offscreen::before,
.is-offscreen::after,
.pg-mark.is-offscreen {
  animation-play-state: paused;
}

:where(.luxarpopup) {
  --luxarpopup-bg: rgba(24, 24, 27, 0.98);
  --luxarpopup-color: #dbdbdb;
  --luxarpopup-hover: #fff;
  position: fixed;
  inset: 0;
  z-index: 1050;
  display: flex;
  flex-direction: column;
  color: var(--luxarpopup-color);
  outline: none;
  -webkit-tap-highlight-color: transparent;
}

:where(.luxarpopup) :where(.luxarpopup__backdrop) {
  position: fixed;
  inset: 0;
  z-index: -1;
  background: var(--luxarpopup-bg);
}

:where(.luxarpopup) :where(.luxarpopup__carousel) {
  position: relative;
  flex: 1 1 auto;
  min-height: 0;
}

:where(.luxarpopup) :where(.luxarpopup__viewport, .luxarpopup__track) {
  height: 100%;
}

:where(.luxarpopup) :where(.luxarpopup__slide) {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 100%;
  height: 100%;
  padding: 4px;
  overflow: auto;
  overscroll-behavior: contain;
}
:where(.luxarpopup) :where(.luxarpopup__slide)::before, :where(.luxarpopup) :where(.luxarpopup__slide)::after {
  content: "";
  flex: 0 0 0;
  margin: auto;
}

:where(.luxarpopup) :where(.luxarpopup__content) {
  position: relative;
  z-index: 20;
  align-self: center;
  flex-shrink: 0;
  max-width: 100%;
  margin: 0;
  padding: 2rem;
  background: #fff;
  color: #374151;
  cursor: default;
}

:where(.luxarpopup) :where(.has-image, .has-iframe) > :where(.luxarpopup__content) {
  padding: 0;
  background: transparent;
}

:where(.luxarpopup.is-zoomed) :where(.luxarpopup__content) {
  max-width: none;
}

:where(.luxarpopup) :where(.luxarpopup__iframe) {
  display: block;
  width: 100%;
  height: 100%;
  border: 0;
}

:where(.luxarpopup) :where(.has-pdf .luxarpopup__iframe) {
  background: #fff;
}

:where(.luxarpopup) :where(.luxarpopup__image) {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
  user-select: none;
  -webkit-user-drag: none;
}

:where(.luxarpopup.can-zoom) :where(.luxarpopup__image) {
  cursor: zoom-in;
}

:where(.luxarpopup.is-zoomed) :where(.luxarpopup__image) {
  cursor: zoom-out;
}

:where(.luxarpopup) :where(.luxarpopup__caption) {
  align-self: center;
  flex-shrink: 0;
  max-width: 100%;
  padding: 14px 0 4px;
  overflow-wrap: anywhere;
  line-height: 1.375;
  color: var(--luxarpopup-color);
}

.luxarpopup--glass {
  --luxarpopup-bg: rgba(32, 47, 90, 0.35);
}
.luxarpopup--glass .luxarpopup__backdrop {
  -webkit-backdrop-filter: blur(5px);
  backdrop-filter: blur(5px);
}
.luxarpopup--glass .luxarpopup__slide {
  padding: 20px;
}

.luxarpopup__content:is(.bookpop__panel, .rvpop__panel, .rvfull__panel) {
  display: block;
  color: var(--text-body);
}

@media (max-width: 760px) {
  .luxarpopup--booking .luxarpopup__slide {
    padding: 10px 8px;
  }
}
.luxarpopup.is-media:not(.has-toolbar) .luxarpopup__slide {
  padding-top: 40px;
}

.luxarpopup__close {
  position: absolute;
  top: -38px;
  right: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 34px;
  height: 34px;
  padding: 0;
  border: 0;
  border-radius: 4px;
  background: transparent;
  color: var(--luxarpopup-color);
  cursor: pointer;
}
.luxarpopup__close svg {
  width: 22px;
  height: 22px;
  stroke-width: 2;
  filter: drop-shadow(1px 1px 1px rgba(24, 24, 27, 0.5));
}
.luxarpopup__close:hover {
  color: var(--luxarpopup-hover);
}

.luxarpopup__toolbar {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  z-index: 30;
  display: flex;
  justify-content: space-between;
  height: 46px;
  pointer-events: none;
}
.luxarpopup__toolbar > * {
  pointer-events: auto;
}

.luxarpopup__counter {
  padding: 0 5px;
  font: 17px/46px -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Liberation Sans", sans-serif;
  text-shadow: 1px 1px 1px rgba(0, 0, 0, 0.5);
  user-select: none;
}

.luxarpopup__actions {
  display: flex;
}

.luxarpopup__btn {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 46px;
  height: 46px;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: rgba(24, 24, 27, 0.65);
  color: var(--luxarpopup-color);
  cursor: pointer;
}
.luxarpopup__btn svg {
  width: 24px;
  height: 24px;
  stroke-width: 1.5;
  filter: drop-shadow(1px 1px 1px rgba(24, 24, 27, 0.15));
}
.luxarpopup__btn:hover {
  color: var(--luxarpopup-hover);
}

.luxarpopup:not(.has-image) [data-luxarpopup-zoom],
.luxarpopup.has-image:not(.can-zoom):not(.is-zoomed) [data-luxarpopup-zoom] {
  opacity: 0.5;
  pointer-events: none;
}

.luxarpopup__nav {
  position: absolute;
  top: 50%;
  z-index: 30;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 50px;
  height: 50px;
  margin-top: -25px;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: transparent;
  color: var(--luxarpopup-color);
  cursor: pointer;
  transition: background-color 0.15s;
}
.luxarpopup__nav svg {
  width: 26px;
  height: 26px;
  stroke-width: 2.5;
  filter: drop-shadow(1px 1px 1px rgba(24, 24, 27, 0.5));
}
.luxarpopup__nav:hover {
  background: rgba(24, 24, 27, 0.65);
  color: var(--luxarpopup-hover);
}
.luxarpopup__nav--prev {
  left: 16px;
}
.luxarpopup__nav--next {
  right: 16px;
}

.luxarpopup__thumbs {
  flex: 0 0 auto;
  overflow-x: auto;
  scrollbar-width: none;
}
.luxarpopup__thumbs::-webkit-scrollbar {
  display: none;
}

.luxarpopup__thumbs-track {
  display: flex;
  gap: 8px;
  width: max-content;
  margin: 0 auto;
  padding: 10px 8px;
}

.luxarpopup__thumb {
  flex: 0 0 auto;
  width: 96px;
  height: 72px;
  padding: 0;
  border: 0;
  border-radius: 2px;
  overflow: hidden;
  background: rgba(255, 255, 255, 0.1);
  opacity: 0.5;
  cursor: pointer;
  transition: opacity 0.15s;
}
.luxarpopup__thumb img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.luxarpopup__thumb:hover, .luxarpopup__thumb.is-selected {
  opacity: 1;
}

.luxarpopup.is-thumbs-hidden .luxarpopup__thumbs {
  display: none;
}

.luxarpopup__spinner {
  position: absolute;
  top: 50%;
  left: 50%;
  z-index: 25;
  width: 50px;
  height: 50px;
  margin: -25px 0 0 -25px;
  border: 3px solid rgba(255, 255, 255, 0.1);
  border-top-color: rgba(255, 255, 255, 0.7);
  border-radius: 50%;
  opacity: 0;
  pointer-events: none;
  animation: luxarpopup-spin 0.8s linear infinite;
  transition: opacity 0.2s;
}

.luxarpopup__slide.is-loading .luxarpopup__spinner {
  opacity: 1;
}

.luxarpopup.is-opening .luxarpopup__backdrop {
  animation: luxarpopup-fade-in 0.35s ease backwards;
}

.luxarpopup.is-opening .luxarpopup__content,
.luxarpopup.is-opening .luxarpopup__toolbar,
.luxarpopup.is-opening .luxarpopup__thumbs,
.luxarpopup.is-opening .luxarpopup__nav {
  animation: luxarpopup-zoom-in 0.2s ease 0.1s both;
}

.luxarpopup.is-closing .luxarpopup__backdrop {
  animation: luxarpopup-fade-out 0.25s ease forwards;
}

.luxarpopup.is-closing .luxarpopup__content,
.luxarpopup.is-closing .luxarpopup__caption,
.luxarpopup.is-closing .luxarpopup__toolbar,
.luxarpopup.is-closing .luxarpopup__thumbs,
.luxarpopup.is-closing .luxarpopup__nav {
  animation: luxarpopup-zoom-out 0.2s ease forwards;
}

.luxarpopup__slide.is-from-next .luxarpopup__content {
  animation: luxarpopup-from-next 0.25s ease both;
}

.luxarpopup__slide.is-from-prev .luxarpopup__content {
  animation: luxarpopup-from-prev 0.25s ease both;
}

@keyframes luxarpopup-fade-in {
  from {
    opacity: 0;
  }
}
@keyframes luxarpopup-fade-out {
  to {
    opacity: 0;
  }
}
@keyframes luxarpopup-zoom-in {
  from {
    opacity: 0;
    transform: scale(0.975) translate3d(0, 16px, 0);
  }
}
@keyframes luxarpopup-zoom-out {
  to {
    opacity: 0;
    transform: scale(0.975) translate3d(0, 16px, 0);
  }
}
@keyframes luxarpopup-from-next {
  from {
    opacity: 0;
    transform: translate3d(40px, 0, 0);
  }
}
@keyframes luxarpopup-from-prev {
  from {
    opacity: 0;
    transform: translate3d(-40px, 0, 0);
  }
}
@keyframes luxarpopup-spin {
  to {
    transform: rotate(360deg);
  }
}
body.luxarpopup-lock {
  overflow: hidden !important;
  margin-right: var(--luxarpopup-scrollbar, 0);
}

@media (max-width: 576px) {
  .luxarpopup__nav {
    display: none;
  }
}
@media (prefers-reduced-motion: reduce) {
  .luxarpopup *,
  .luxarpopup *::before,
  .luxarpopup *::after {
    animation-duration: 0.01ms !important;
  }
}
@media (max-width: 760px) {
  .doctors__list {
    row-gap: calc(14px + 36 * var(--s));
  }
}
@media (max-width: 760px) {
  body .uslugi.uslugi.uslugi.svc .vip-steps {
    display: block;
  }
  body .uslugi.uslugi.uslugi.svc .vip-steps > .timeline {
    display: block;
  }
  body .uslugi.uslugi.uslugi.svc .vip-steps > .timeline:not(:last-child) > li:last-child {
    padding-bottom: 14px;
    border-bottom: 1px dashed var(--border-hair);
  }
}
@media (max-width: 760px) {
  .uslugi.svc .lab-hero__utp {
    gap: 14px 20px;
  }
  .uslugi.svc .lab-hero__utp .us-hero__utp-item {
    width: calc(50% - 10px);
  }
  .uslugi.svc .lab-hero__utp .us-hero__utp-item b {
    white-space: normal;
  }
}
.header__phone::before,
.hmenu__phone::before,
.footer__tel-top::before {
  content: "";
  flex: none;
  width: 19px;
  height: 19px;
  background: url("/local/templates/dnk174_2026/css/../images/icons/phone.svg") center/contain no-repeat;
}

.hmenu__phone::before {
  width: 18px;
  height: 18px;
}

.footer__tel-top::before {
  width: 20px;
  height: 20px;
}

.nav > [id^=bx_incl_area_] {
  display: flex;
  align-items: inherit;
  gap: inherit;
}

.topbar__soc[aria-label="VK Видео"]:hover {
  background-image: url("/local/templates/dnk174_2026/css/../images/icons/Vkvideo-hover.svg");
}

#diagnostics.section--beige {
  padding-top: 0;
  background: var(--c-beige) url("/local/templates/dnk174_2026/css/../images/services-bg.webp") center/cover no-repeat fixed;
}

@media (min-width: 761px) and (hover: none), (min-width: 761px) and (max-width: 900px) {
  #diagnostics.section--beige {
    background-attachment: scroll;
  }
}
#services:has(+ #diagnostics) {
  padding-bottom: 45px;
}

#diagnostics.pattern::before {
  content: none;
}

.lab-hero__panel [data-city-addrs][hidden] {
  display: none;
}

.bk-empty.bk-empty--msg {
  color: rgba(32, 47, 90, 0.85);
}

.lab-hero__panel.reveal {
  opacity: 1;
  transform: none;
  transition: none;
}

.pr-sale:empty,
.pr-tag:empty {
  visibility: hidden;
}

.pr-panel--root {
  padding: 0;
  overflow: hidden;
}

/*# sourceMappingURL=luxar_custom.css.map */

/* End */
/* /local/templates/dnk174_2026/css/reset.css?1792577113592 */
/* /local/templates/dnk174_2026/js/swiper/swiper-bundle.min.css?179257711314609 */
/* /local/templates/dnk174_2026/js/bvi/bvi.min.css?179257711378736 */
/* /local/templates/dnk174_2026/css/style.css?1793257240544091 */
/* /local/templates/dnk174_2026/css/luxar_custom.css?179361464760907 */
