

/* Start:/local/templates/resurs/vendor/slick/slick.css?17891587861776*/
/* Slider */
.slick-slider
{
    position: relative;

    display: block;
    box-sizing: border-box;

    -webkit-user-select: none;
       -moz-user-select: none;
        -ms-user-select: none;
            user-select: none;

    -webkit-touch-callout: none;
    -khtml-user-select: none;
    -ms-touch-action: pan-y;
        touch-action: pan-y;
    -webkit-tap-highlight-color: transparent;
}

.slick-list
{
    position: relative;

    display: block;
    overflow: hidden;

    margin: 0;
    padding: 0;
}
.slick-list:focus
{
    outline: none;
}
.slick-list.dragging
{
    cursor: pointer;
    cursor: hand;
}

.slick-slider .slick-track,
.slick-slider .slick-list
{
    -webkit-transform: translate3d(0, 0, 0);
       -moz-transform: translate3d(0, 0, 0);
        -ms-transform: translate3d(0, 0, 0);
         -o-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0);
}

.slick-track
{
    position: relative;
    top: 0;
    left: 0;

    display: block;
    margin-left: auto;
    margin-right: auto;
}
.slick-track:before,
.slick-track:after
{
    display: table;

    content: '';
}
.slick-track:after
{
    clear: both;
}
.slick-loading .slick-track
{
    visibility: hidden;
}

.slick-slide
{
    display: none;
    float: left;

    height: 100%;
    min-height: 1px;
}
[dir='rtl'] .slick-slide
{
    float: right;
}
.slick-slide img
{
    display: block;
}
.slick-slide.slick-loading img
{
    display: none;
}
.slick-slide.dragging img
{
    pointer-events: none;
}
.slick-initialized .slick-slide
{
    display: block;
}
.slick-loading .slick-slide
{
    visibility: hidden;
}
.slick-vertical .slick-slide
{
    display: block;

    height: auto;

    border: 1px solid transparent;
}
.slick-arrow.slick-hidden {
    display: none;
}

/* End */


/* Start:/local/templates/resurs/vendor/fancybox/jquery.fancybox.min.css?178915879112795*/
body.compensate-for-scrollbar{overflow:hidden}.fancybox-active{height:auto}.fancybox-is-hidden{left:-9999px;margin:0;position:absolute!important;top:-9999px;visibility:hidden}.fancybox-container{-webkit-backface-visibility:hidden;height:100%;left:0;outline:none;position:fixed;-webkit-tap-highlight-color:transparent;top:0;-ms-touch-action:manipulation;touch-action:manipulation;transform:translateZ(0);width:100%;z-index:99992}.fancybox-container *{box-sizing:border-box}.fancybox-bg,.fancybox-inner,.fancybox-outer,.fancybox-stage{bottom:0;left:0;position:absolute;right:0;top:0}.fancybox-outer{-webkit-overflow-scrolling:touch;overflow-y:auto}.fancybox-bg{background:#1e1e1e;opacity:0;transition-duration:inherit;transition-property:opacity;transition-timing-function:cubic-bezier(.47,0,.74,.71)}.fancybox-is-open .fancybox-bg{opacity:.9;transition-timing-function:cubic-bezier(.22,.61,.36,1)}.fancybox-caption,.fancybox-infobar,.fancybox-navigation .fancybox-button,.fancybox-toolbar{direction:ltr;opacity:0;position:absolute;transition:opacity .25s ease,visibility 0s ease .25s;visibility:hidden;z-index:99997}.fancybox-show-caption .fancybox-caption,.fancybox-show-infobar .fancybox-infobar,.fancybox-show-nav .fancybox-navigation .fancybox-button,.fancybox-show-toolbar .fancybox-toolbar{opacity:1;transition:opacity .25s ease 0s,visibility 0s ease 0s;visibility:visible}.fancybox-infobar{color:#ccc;font-size:13px;-webkit-font-smoothing:subpixel-antialiased;height:44px;left:0;line-height:44px;min-width:44px;mix-blend-mode:difference;padding:0 10px;pointer-events:none;top:0;-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.fancybox-toolbar{right:0;top:0}.fancybox-stage{direction:ltr;overflow:visible;transform:translateZ(0);z-index:99994}.fancybox-is-open .fancybox-stage{overflow:hidden}.fancybox-slide{-webkit-backface-visibility:hidden;display:none;height:100%;left:0;outline:none;overflow:auto;-webkit-overflow-scrolling:touch;padding:44px;position:absolute;text-align:center;top:0;transition-property:transform,opacity;white-space:normal;width:100%;z-index:99994}.fancybox-slide:before{content:"";display:inline-block;font-size:0;height:100%;vertical-align:middle;width:0}.fancybox-is-sliding .fancybox-slide,.fancybox-slide--current,.fancybox-slide--next,.fancybox-slide--previous{display:block}.fancybox-slide--image{overflow:hidden;padding:44px 0}.fancybox-slide--image:before{display:none}.fancybox-slide--html{padding:6px}.fancybox-content{background:#fff;display:inline-block;margin:0;max-width:100%;overflow:auto;-webkit-overflow-scrolling:touch;padding:44px;position:relative;text-align:left;vertical-align:middle}.fancybox-slide--image .fancybox-content{animation-timing-function:cubic-bezier(.5,0,.14,1);-webkit-backface-visibility:hidden;background:transparent;background-repeat:no-repeat;background-size:100% 100%;left:0;max-width:none;overflow:visible;padding:0;position:absolute;top:0;transform-origin:top left;transition-property:transform,opacity;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;z-index:99995}.fancybox-can-zoomOut .fancybox-content{cursor:zoom-out}.fancybox-can-zoomIn .fancybox-content{cursor:zoom-in}.fancybox-can-pan .fancybox-content,.fancybox-can-swipe .fancybox-content{cursor:grab}.fancybox-is-grabbing .fancybox-content{cursor:grabbing}.fancybox-container [data-selectable=true]{cursor:text}.fancybox-image,.fancybox-spaceball{background:transparent;border:0;height:100%;left:0;margin:0;max-height:none;max-width:none;padding:0;position:absolute;top:0;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;width:100%}.fancybox-spaceball{z-index:1}.fancybox-slide--iframe .fancybox-content,.fancybox-slide--map .fancybox-content,.fancybox-slide--pdf .fancybox-content,.fancybox-slide--video .fancybox-content{height:100%;overflow:visible;padding:0;width:100%}.fancybox-slide--video .fancybox-content{background:#000}.fancybox-slide--map .fancybox-content{background:#e5e3df}.fancybox-slide--iframe .fancybox-content{background:#fff}.fancybox-iframe,.fancybox-video{background:transparent;border:0;display:block;height:100%;margin:0;overflow:hidden;padding:0;width:100%}.fancybox-iframe{left:0;position:absolute;top:0}.fancybox-error{background:#fff;cursor:default;max-width:400px;padding:40px;width:100%}.fancybox-error p{color:#444;font-size:16px;line-height:20px;margin:0;padding:0}.fancybox-button{background:rgba(30,30,30,.6);border:0;border-radius:0;box-shadow:none;cursor:pointer;display:inline-block;height:44px;margin:0;padding:10px;position:relative;transition:color .2s;vertical-align:top;visibility:inherit;width:44px}.fancybox-button,.fancybox-button:link,.fancybox-button:visited{color:#ccc}.fancybox-button:hover{color:#fff}.fancybox-button:focus{outline:none}.fancybox-button.fancybox-focus{outline:1px dotted}.fancybox-button[disabled],.fancybox-button[disabled]:hover{color:#888;cursor:default;outline:none}.fancybox-button div{height:100%}.fancybox-button svg{display:block;height:100%;overflow:visible;position:relative;width:100%}.fancybox-button svg path{fill:currentColor;stroke-width:0}.fancybox-button--fsenter svg:nth-child(2),.fancybox-button--fsexit svg:first-child,.fancybox-button--pause svg:first-child,.fancybox-button--play svg:nth-child(2){display:none}.fancybox-progress{background:#ff5268;height:2px;left:0;position:absolute;right:0;top:0;transform:scaleX(0);transform-origin:0;transition-property:transform;transition-timing-function:linear;z-index:99998}.fancybox-close-small{background:transparent;border:0;border-radius:0;color:#ccc;cursor:pointer;opacity:.8;padding:8px;position:absolute;right:-12px;top:-44px;z-index:401}.fancybox-close-small:hover{color:#fff;opacity:1}.fancybox-slide--html .fancybox-close-small{color:currentColor;padding:10px;right:0;top:0}.fancybox-slide--image.fancybox-is-scaling .fancybox-content{overflow:hidden}.fancybox-is-scaling .fancybox-close-small,.fancybox-is-zoomable.fancybox-can-pan .fancybox-close-small{display:none}.fancybox-navigation .fancybox-button{background-clip:content-box;height:100px;opacity:0;position:absolute;top:calc(50% - 50px);width:70px}.fancybox-navigation .fancybox-button div{padding:7px}.fancybox-navigation .fancybox-button--arrow_left{left:0;left:env(safe-area-inset-left);padding:31px 26px 31px 6px}.fancybox-navigation .fancybox-button--arrow_right{padding:31px 6px 31px 26px;right:0;right:env(safe-area-inset-right)}.fancybox-caption{background:linear-gradient(0deg,rgba(0,0,0,.85) 0,rgba(0,0,0,.3) 50%,rgba(0,0,0,.15) 65%,rgba(0,0,0,.075) 75.5%,rgba(0,0,0,.037) 82.85%,rgba(0,0,0,.019) 88%,transparent);bottom:0;color:#eee;font-size:14px;font-weight:400;left:0;line-height:1.5;padding:75px 44px 25px;pointer-events:none;right:0;text-align:center;z-index:99996}@supports (padding:max(0px)){.fancybox-caption{padding:75px max(44px,env(safe-area-inset-right)) max(25px,env(safe-area-inset-bottom)) max(44px,env(safe-area-inset-left))}}.fancybox-caption--separate{margin-top:-50px}.fancybox-caption__body{max-height:50vh;overflow:auto;pointer-events:all}.fancybox-caption a,.fancybox-caption a:link,.fancybox-caption a:visited{color:#ccc;text-decoration:none}.fancybox-caption a:hover{color:#fff;text-decoration:underline}.fancybox-loading{animation:a 1s linear infinite;background:transparent;border:4px solid #888;border-bottom-color:#fff;border-radius:50%;height:50px;left:50%;margin:-25px 0 0 -25px;opacity:.7;padding:0;position:absolute;top:50%;width:50px;z-index:99999}@keyframes a{to{transform:rotate(1turn)}}.fancybox-animated{transition-timing-function:cubic-bezier(0,0,.25,1)}.fancybox-fx-slide.fancybox-slide--previous{opacity:0;transform:translate3d(-100%,0,0)}.fancybox-fx-slide.fancybox-slide--next{opacity:0;transform:translate3d(100%,0,0)}.fancybox-fx-slide.fancybox-slide--current{opacity:1;transform:translateZ(0)}.fancybox-fx-fade.fancybox-slide--next,.fancybox-fx-fade.fancybox-slide--previous{opacity:0;transition-timing-function:cubic-bezier(.19,1,.22,1)}.fancybox-fx-fade.fancybox-slide--current{opacity:1}.fancybox-fx-zoom-in-out.fancybox-slide--previous{opacity:0;transform:scale3d(1.5,1.5,1.5)}.fancybox-fx-zoom-in-out.fancybox-slide--next{opacity:0;transform:scale3d(.5,.5,.5)}.fancybox-fx-zoom-in-out.fancybox-slide--current{opacity:1;transform:scaleX(1)}.fancybox-fx-rotate.fancybox-slide--previous{opacity:0;transform:rotate(-1turn)}.fancybox-fx-rotate.fancybox-slide--next{opacity:0;transform:rotate(1turn)}.fancybox-fx-rotate.fancybox-slide--current{opacity:1;transform:rotate(0deg)}.fancybox-fx-circular.fancybox-slide--previous{opacity:0;transform:scale3d(0,0,0) translate3d(-100%,0,0)}.fancybox-fx-circular.fancybox-slide--next{opacity:0;transform:scale3d(0,0,0) translate3d(100%,0,0)}.fancybox-fx-circular.fancybox-slide--current{opacity:1;transform:scaleX(1) translateZ(0)}.fancybox-fx-tube.fancybox-slide--previous{transform:translate3d(-100%,0,0) scale(.1) skew(-10deg)}.fancybox-fx-tube.fancybox-slide--next{transform:translate3d(100%,0,0) scale(.1) skew(10deg)}.fancybox-fx-tube.fancybox-slide--current{transform:translateZ(0) scale(1)}@media (max-height:576px){.fancybox-slide{padding-left:6px;padding-right:6px}.fancybox-slide--image{padding:6px 0}.fancybox-close-small{right:-6px}.fancybox-slide--image .fancybox-close-small{background:#4e4e4e;color:#f2f4f6;height:36px;opacity:1;padding:6px;right:0;top:0;width:36px}.fancybox-caption{padding-left:12px;padding-right:12px}@supports (padding:max(0px)){.fancybox-caption{padding-left:max(12px,env(safe-area-inset-left));padding-right:max(12px,env(safe-area-inset-right))}}}.fancybox-share{background:#f4f4f4;border-radius:3px;max-width:90%;padding:30px;text-align:center}.fancybox-share h1{color:#222;font-size:35px;font-weight:700;margin:0 0 20px}.fancybox-share p{margin:0;padding:0}.fancybox-share__button{border:0;border-radius:3px;display:inline-block;font-size:14px;font-weight:700;line-height:40px;margin:0 5px 10px;min-width:130px;padding:0 15px;text-decoration:none;transition:all .2s;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;white-space:nowrap}.fancybox-share__button:link,.fancybox-share__button:visited{color:#fff}.fancybox-share__button:hover{text-decoration:none}.fancybox-share__button--fb{background:#3b5998}.fancybox-share__button--fb:hover{background:#344e86}.fancybox-share__button--pt{background:#bd081d}.fancybox-share__button--pt:hover{background:#aa0719}.fancybox-share__button--tw{background:#1da1f2}.fancybox-share__button--tw:hover{background:#0d95e8}.fancybox-share__button svg{height:25px;margin-right:7px;position:relative;top:-1px;vertical-align:middle;width:25px}.fancybox-share__button svg path{fill:#fff}.fancybox-share__input{background:transparent;border:0;border-bottom:1px solid #d7d7d7;border-radius:0;color:#5d5b5b;font-size:14px;margin:10px 0 0;outline:none;padding:10px 15px;width:100%}.fancybox-thumbs{background:#ddd;bottom:0;display:none;margin:0;-webkit-overflow-scrolling:touch;-ms-overflow-style:-ms-autohiding-scrollbar;padding:2px 2px 4px;position:absolute;right:0;-webkit-tap-highlight-color:rgba(0,0,0,0);top:0;width:212px;z-index:99995}.fancybox-thumbs-x{overflow-x:auto;overflow-y:hidden}.fancybox-show-thumbs .fancybox-thumbs{display:block}.fancybox-show-thumbs .fancybox-inner{right:212px}.fancybox-thumbs__list{font-size:0;height:100%;list-style:none;margin:0;overflow-x:hidden;overflow-y:auto;padding:0;position:absolute;position:relative;white-space:nowrap;width:100%}.fancybox-thumbs-x .fancybox-thumbs__list{overflow:hidden}.fancybox-thumbs-y .fancybox-thumbs__list::-webkit-scrollbar{width:7px}.fancybox-thumbs-y .fancybox-thumbs__list::-webkit-scrollbar-track{background:#fff;border-radius:10px;box-shadow:inset 0 0 6px rgba(0,0,0,.3)}.fancybox-thumbs-y .fancybox-thumbs__list::-webkit-scrollbar-thumb{background:#2a2a2a;border-radius:10px}.fancybox-thumbs__list a{-webkit-backface-visibility:hidden;backface-visibility:hidden;background-color:rgba(0,0,0,.1);background-position:50%;background-repeat:no-repeat;background-size:cover;cursor:pointer;float:left;height:75px;margin:2px;max-height:calc(100% - 8px);max-width:calc(50% - 4px);outline:none;overflow:hidden;padding:0;position:relative;-webkit-tap-highlight-color:transparent;width:100px}.fancybox-thumbs__list a:before{border:6px solid #ff5268;bottom:0;content:"";left:0;opacity:0;position:absolute;right:0;top:0;transition:all .2s cubic-bezier(.25,.46,.45,.94);z-index:99991}.fancybox-thumbs__list a:focus:before{opacity:.5}.fancybox-thumbs__list a.fancybox-thumbs-active:before{opacity:1}@media (max-width:576px){.fancybox-thumbs{width:110px}.fancybox-show-thumbs .fancybox-inner{right:110px}.fancybox-thumbs__list a{max-width:calc(100% - 10px)}}
/* End */


/* Start:/local/templates/resurs/assets/css/main.css?179432454921783*/
/* ==========================================================================
   Клиника «Ресурс» — базовые стили шаблона.
   Палитра снята с референса (см. _design/PALETTE.md). Шрифт — Manrope (локально).
   Контейнер: на 1920 — 1520px (не уже 1440), секции с фоном — на всю ширину.
   ========================================================================== */

@font-face {
    font-family: 'Manrope';
    font-style: normal;
    font-weight: 200 800;
    font-display: swap;
    src: url('/local/templates/resurs/assets/css/../fonts/manrope-cyrillic.woff2') format('woff2');
    unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
@font-face {
    font-family: 'Manrope';
    font-style: normal;
    font-weight: 200 800;
    font-display: swap;
    src: url('/local/templates/resurs/assets/css/../fonts/manrope-latin.woff2') format('woff2');
    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;
}

:root {
    /* brand (синий) */
    --c-brand-50: #f2f7fc; --c-brand-100: #e3eef8; --c-brand-200: #c5dced; --c-brand-300: #96c0de;
    --c-brand-400: #5f9bc8; --c-brand-500: #3b7fb3; --c-brand-600: #2b6899; --c-brand-700: #24547c;
    --c-brand-800: #214766; --c-brand-900: #1f3c56; --c-brand-950: #14273a;
    /* accent (тёплый) — точечно */
    --c-accent-100: #fdf0f1; --c-accent-400: #e07a7e; --c-accent-700: #8f3b3f;
    /* нейтральные */
    --c-white: #fff; --c-slate-50: #f8fafc; --c-slate-100: #f1f5f9; --c-slate-200: #e2e8f0;
    --c-slate-500: #64748b; --c-slate-600: #475569; --c-slate-700: #334155; --c-slate-900: #0f172a;

    /* роли */
    --bg: var(--c-white);
    --bg-alt: var(--c-slate-50);
    --bg-dark: var(--c-brand-900);
    --text: var(--c-slate-600);
    --text-strong: var(--c-slate-900);
    --heading: var(--c-brand-700);
    --muted: var(--c-slate-500);
    --line: var(--c-slate-200);
    --primary: var(--c-brand-500);
    --primary-hover: var(--c-brand-600);

    /* сетка */
    --container: 1520px;
    --gutter: clamp(16px, 3vw, 60px);
    --section-y: clamp(48px, 6vw, 112px);

    /* типографика */
    --font: 'Manrope', 'Segoe UI', system-ui, -apple-system, sans-serif;
    --fs-h1: clamp(32px, 3.4vw, 56px);
    --fs-h2: clamp(26px, 2.6vw, 42px);
    --fs-h3: clamp(20px, 1.5vw, 24px);
    --fs-body: clamp(16px, 1vw, 18px);

    --radius: 16px;
    --radius-sm: 10px;
    --shadow: 0 10px 30px -12px rgb(31 60 86 / .18);
    --ease: cubic-bezier(.4, 0, .2, 1);
}

/* ---------- reset ---------- */
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; scrollbar-color: var(--c-brand-400) var(--c-brand-50); scrollbar-gutter: stable; }
/* скроллбар в стиле сайта (Chrome/Safari/Edge) */
::-webkit-scrollbar { width: 12px; height: 12px; }
::-webkit-scrollbar-track { background: var(--c-brand-50); }
::-webkit-scrollbar-thumb { background: var(--c-brand-400); border-radius: 8px; border: 3px solid var(--c-brand-50); }
::-webkit-scrollbar-thumb:hover { background: var(--c-brand-500); }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } *, *::before, *::after { animation-duration: .01ms !important; transition-duration: .01ms !important; } }
body { margin: 0; font-family: var(--font); font-size: var(--fs-body); line-height: 1.55; color: var(--text); background: var(--bg); -webkit-font-smoothing: antialiased; }
img, svg, video { display: block; max-width: 100%; }
img { height: auto; }
a { color: var(--primary); text-decoration: none; transition: color .2s var(--ease); }
a:hover { color: var(--primary-hover); }
button { font: inherit; color: inherit; background: none; border: 0; padding: 0; cursor: pointer; }
input, textarea, select { font: inherit; }
ul, ol { margin: 0; padding: 0; list-style: none; }
h1, h2, h3, h4 { margin: 0; color: var(--heading); font-weight: 800; line-height: 1.15; letter-spacing: -.02em; text-wrap: balance; }
p { margin: 0 0 1em; }
:focus-visible { outline: 3px solid var(--c-brand-300); outline-offset: 2px; }
.ico { width: 1em; height: 1em; fill: none; flex: none; }

/* ---------- layout ---------- */
.container { width: min(100% - 2 * var(--gutter), var(--container)); margin-inline: auto; }
.section { padding-block: var(--section-y); }
.section--alt { background: var(--bg-alt); }
.section--dark { background: var(--bg-dark); color: var(--c-brand-200); }
.section--dark h1, .section--dark h2, .section--dark h3 { color: var(--c-white); }
.h1 { font-size: var(--fs-h1); margin-bottom: .6em; }
.h2 { font-size: var(--fs-h2); margin-bottom: .7em; }
.h3 { font-size: var(--fs-h3); margin-bottom: .5em; }
.main { min-height: 40vh; }
.main > .container > .h1 { margin-top: .5em; }

/* ---------- buttons ---------- */
.btn { display: inline-flex; align-items: center; justify-content: center; gap: 10px; min-height: 52px; padding: 0 26px; border-radius: 999px; font-weight: 700; font-size: 16px; line-height: 1; white-space: nowrap; transition: background-color .2s var(--ease), color .2s var(--ease), transform .15s var(--ease), box-shadow .2s var(--ease); }
.btn:active { transform: scale(.97); }
.btn--primary { background: var(--primary); color: var(--c-white); }
.btn--primary:hover { background: var(--primary-hover); color: var(--c-white); box-shadow: var(--shadow); }
.btn--ghost { border: 2px solid var(--c-brand-200); color: var(--heading); }
.btn--ghost:hover { border-color: var(--primary); }
.section--dark .btn--ghost { border-color: rgb(255 255 255 / .25); color: var(--c-white); }
.section--dark .btn--ghost:is(:hover, :focus-visible),
.hero .btn--ghost:is(:hover, :focus-visible),
.post__cta .btn--ghost:is(:hover, :focus-visible) { background: rgb(255 255 255 / .16); border-color: rgb(255 255 255 / .75); color: var(--c-white); }
.btn--block { width: 100%; }

/* ---------- header ---------- */
.hdr { position: sticky; top: 0; z-index: 50; background: var(--c-white); box-shadow: 0 1px 0 var(--line); }
.hdr__top { background: var(--c-brand-50); font-size: 14px; color: var(--c-slate-700); }
.hdr__top-in { display: flex; align-items: center; gap: 24px; min-height: 40px; }
.hdr__city { display: flex; align-items: center; gap: 8px; color: var(--heading); font-weight: 600; }
.hdr__city-switch { color: var(--primary); font-weight: 600; text-decoration: underline dotted; }
.hdr__worktime { color: var(--muted); }
.hdr__contacts { margin-left: auto; display: flex; align-items: center; gap: 14px; }
.hdr__msg { color: var(--c-brand-500); display: inline-flex; }
.hdr__phone { font-weight: 800; color: var(--heading); font-size: 15px; }
.hdr__main-in { display: flex; align-items: center; gap: 32px; min-height: 84px; }
.logo { display: inline-flex; align-items: center; gap: 10px; color: var(--heading); font-weight: 800; font-size: 26px; letter-spacing: -.02em; line-height: 1; }
.logo:hover { color: var(--heading); }
.logo__mark { display: inline-flex; color: var(--c-brand-500); }
.logo__mark svg { width: 40px; height: 40px; }
.logo__text { display: inline-flex; flex-direction: column; gap: 3px; }
.logo__sub { font-size: 10px; font-weight: 700; letter-spacing: .22em; text-transform: uppercase; color: var(--c-slate-500); }
.logo--light { color: var(--c-white); }
.logo--light:hover { color: var(--c-white); }
.logo--light .logo__mark { color: var(--c-brand-300); }
.logo--light .logo__sub { color: var(--c-brand-300); }
.nav { margin-left: auto; }
.hdr__actions { display: flex; align-items: center; gap: 12px; margin-left: auto; }

/* меню верхнее: обычные пункты, выпадающий список и мега-панель «Услуги» (разделы → услуги → подразделы) */
.hdr__main { position: relative; }
.menu { display: flex; gap: 4px; }
.menu__item { position: relative; }
.menu__item--mega { position: static; }
.menu__link { display: inline-flex; align-items: center; gap: 6px; padding: 10px 14px; border-radius: 10px; color: var(--c-slate-700); font-weight: 600; font-size: 16px; transition: background-color .2s var(--ease), color .2s var(--ease); }
.menu__link:hover, .menu__item--active > .menu__link, .menu__item:hover > .menu__link, .menu__item:focus-within > .menu__link { background: var(--c-brand-50); color: var(--heading); }
.menu__link .ico { width: 14px; height: 14px; color: var(--muted); transition: transform .2s var(--ease); }
.menu__item:hover > .menu__link .ico, .menu__item:focus-within > .menu__link .ico { transform: rotate(180deg); }
.menu__toggle { display: none; }
.menu__a { display: block; padding: 8px 10px; border-radius: 8px; color: var(--c-slate-700); font-weight: 500; font-size: 15px; line-height: 1.3; }
.menu__a:hover, .menu__li.is-active > .menu__a { background: var(--c-brand-50); color: var(--heading); }
/* простой выпадающий список (2 уровня) */
.menu__item > .menu__list--l2 { position: absolute; top: calc(100% + 6px); left: 0; min-width: 280px; padding: 8px; background: var(--c-white); border: 1px solid var(--line); border-radius: 14px; box-shadow: var(--shadow); opacity: 0; visibility: hidden; transform: translateY(6px); transition: opacity .2s var(--ease), transform .2s var(--ease), visibility .2s; }
.menu__item:hover > .menu__list--l2, .menu__item:focus-within > .menu__list--l2 { opacity: 1; visibility: visible; transform: none; }
/* мега-панель */
.menu__mega { position: absolute; left: 0; right: 0; top: 100%; z-index: 40; background: var(--c-white); border-top: 1px solid var(--line); box-shadow: 0 30px 60px -30px rgb(20 39 58 / .35); opacity: 0; visibility: hidden; transform: translateY(8px); transition: opacity .22s var(--ease), transform .22s var(--ease), visibility .22s; }
.menu__item--mega:hover > .menu__mega, .menu__item--mega:focus-within > .menu__mega { opacity: 1; visibility: visible; transform: none; }
.menu__mega-in { width: min(100% - 2 * var(--gutter), var(--container)); margin-inline: auto; padding: 28px 0 26px; display: grid; grid-template-columns: repeat(auto-fit, minmax(210px, 1fr)); gap: 22px 28px; }
.menu__col { display: grid; align-content: start; gap: 4px; }
.menu__col-title { display: block; color: var(--heading); font-weight: 800; font-size: 16px; line-height: 1.25; padding: 6px 10px 8px; border-radius: 8px; }
.menu__col-title:hover, .menu__col.is-active > .menu__col-title { background: var(--c-brand-50); color: var(--heading); }
.menu__list--l3 { display: grid; gap: 2px; }
.menu__list--l3 .menu__a { padding: 7px 10px; font-size: 15px; color: var(--c-slate-600); }
/* подраздел внутри колонки: заголовок группы + вложенные услуги */
.menu__list--l4 { display: none; } /* 4-й уровень на ПК не показываем — он на странице подраздела */
.menu__mega-all { grid-column: 1 / -1; justify-self: start; display: inline-flex; align-items: center; gap: 8px; font-weight: 700; margin-top: 4px; }
.menu__mega-all .ico { width: 16px; height: 16px; transition: transform .2s var(--ease); }
.menu__mega-all:hover .ico { transform: translateX(4px); }
/* полупрозрачная подложка страницы под открытой мега-панелью */
.menu__item--mega::before { content: ""; position: fixed; inset: 0; top: var(--hdr-h, 124px); background: rgb(20 39 58 / .35); opacity: 0; visibility: hidden; transition: opacity .25s var(--ease), visibility .25s; pointer-events: none; z-index: 30; }
.menu__item--mega:hover::before, .menu__item--mega:focus-within::before { opacity: 1; visibility: visible; }

.burger { display: none; width: 44px; height: 44px; position: relative; }
.burger span, .burger span::before, .burger span::after { position: absolute; left: 10px; width: 24px; height: 2px; background: var(--heading); border-radius: 2px; transition: transform .25s var(--ease), opacity .2s; }
.burger span { top: 21px; }
.burger span::before, .burger span::after { content: ''; left: 0; }
.burger span::before { top: -7px; } .burger span::after { top: 7px; }
.burger[aria-expanded="true"] span { background: transparent; }
.burger[aria-expanded="true"] span::before { transform: translateY(7px) rotate(45deg); }
.burger[aria-expanded="true"] span::after { transform: translateY(-7px) rotate(-45deg); }

@media (max-width: 1100px) {
    .hdr__worktime { display: none; }
    .hdr__cta span { display: none; }
    .hdr__cta { width: 52px; padding: 0; }
    .burger { display: block; }
    .nav { position: fixed; inset: var(--hdr-h, 124px) 0 0 0; background: var(--c-white); padding: 16px var(--gutter) 40px; overflow: auto; opacity: 0; visibility: hidden; transform: translateY(-8px); transition: opacity .25s var(--ease), transform .25s var(--ease), visibility .25s; margin: 0; }
    .nav.is-open { opacity: 1; visibility: visible; transform: none; }
    .menu { flex-direction: column; gap: 2px; }
    .menu__item { position: relative; }
    .menu__link { font-size: 20px; padding: 14px 8px; width: calc(100% - 48px); }
    .menu__link .ico { display: none; }
    .menu__item--mega::before { display: none; }
    .menu__toggle { display: grid; place-items: center; position: absolute; top: 4px; right: 0; width: 44px; height: 44px; border-radius: 10px; color: var(--heading); }
    .menu__toggle .ico { width: 18px; height: 18px; transition: transform .25s var(--ease); }
    .menu__toggle[aria-expanded="true"] .ico { transform: rotate(180deg); }
    .menu__toggle[aria-expanded="true"] { background: var(--c-brand-50); }
    .menu__toggle--root { top: 8px; }
    /* все вложенные уровни — статично, свёрнуты; раскрываются кнопкой */
    .menu__mega, .menu__item > .menu__list--l2, .menu__col > .menu__list--l3, .menu__li > .menu__list--l4 { display: none; position: static; opacity: 1; visibility: visible; transform: none; box-shadow: none; border: 0; padding: 0; min-width: 0; }
    .is-open > .menu__mega, .is-open > .menu__list--l2, .is-open > .menu__list--l3, .is-open > .menu__list--l4 { display: grid; }
    .menu__mega-in { width: auto; padding: 4px 0 12px 12px; grid-template-columns: 1fr; gap: 2px; }
    .menu__col { position: relative; }
    .menu__col-title { font-size: 17px; padding: 10px 8px; width: calc(100% - 48px); }
    .menu__col .menu__toggle { top: 0; }
    .menu__li { position: relative; }
    .menu__li.has-children > .menu__a { width: calc(100% - 48px); }
    .menu__li .menu__toggle { top: -2px; }
    .menu__list--l3 { padding-left: 8px; }
    .is-open > .menu__list--l4 { display: grid; gap: 2px; padding-left: 12px; }
    .menu__a { font-size: 16px; padding: 9px 8px; }
    .menu__mega-all { margin: 8px 0 0 8px; }
    body.nav-open { overflow: hidden; }
}
@media (max-width: 640px) {
    .hdr__top-in { gap: 12px; }
    .hdr__msg { display: none; }
    .hdr__main-in { min-height: 68px; gap: 12px; }
    .logo { font-size: 22px; } .logo__mark svg { width: 32px; height: 32px; }
}

/* ---------- breadcrumbs ---------- */
.crumbs { display: flex; flex-wrap: wrap; gap: 6px 10px; padding: 20px 0 0; font-size: 14px; color: var(--muted); }
.crumbs__item { display: inline-flex; align-items: center; gap: 10px; }
.crumbs__item + .crumbs__item::before { content: '/'; color: var(--c-slate-200); }
.crumbs a { color: var(--muted); } .crumbs a:hover { color: var(--heading); }

/* ---------- footer ---------- */
.ftr { background: var(--c-brand-950); color: var(--c-brand-200); margin-top: var(--section-y); }
.ftr__in { display: grid; grid-template-columns: 1.3fr 1fr .8fr 1fr; gap: 40px; padding-block: 56px 40px; }
.ftr__all { display: inline-block; margin-top: 14px; font-weight: 600; font-size: 14px; }
.ftr__about { margin: 18px 0 0; max-width: 46ch; color: var(--c-brand-300); }
.ftr__title { color: var(--c-white); font-weight: 700; margin-bottom: 14px; font-size: 15px; letter-spacing: .06em; text-transform: uppercase; }
.ftr a { color: var(--c-brand-200); } .ftr a:hover { color: var(--c-white); }
.ftr__menu li + li { margin-top: 8px; }
.ftr__contacts { font-style: normal; display: grid; gap: 8px; }
.ftr__phone { font-size: 22px; font-weight: 800; color: var(--c-white) !important; }
.ftr__legal { border-top: 1px solid rgb(255 255 255 / .1); font-size: 13px; color: var(--c-brand-300); }
.ftr__legal-in { display: grid; grid-template-columns: 1fr auto auto; gap: 8px 32px; padding-block: 20px 28px; align-items: center; }
.ftr__dev { display: inline-flex; flex-direction: column; align-items: center; gap: 8px; color: var(--c-brand-300) !important; }
.ftr__dev-label { font-size: 12px; font-weight: 500; line-height: 1.4; letter-spacing: .04em; color: var(--c-brand-200); }
.ftr__dev-logo { display: block; width: 90px; height: 27px; object-fit: contain; opacity: .9; transition: opacity .2s var(--ease); }
.ftr__dev:hover .ftr__dev-logo { opacity: 1; }
.ftr__warning { grid-column: 1 / -1; margin: 0; color: var(--c-brand-400); }
@media (max-width: 1100px) { .ftr__in { grid-template-columns: 1fr 1fr; } .ftr__col--about { grid-column: 1 / -1; } }
@media (max-width: 640px) { .ftr__in { grid-template-columns: 1fr; gap: 28px; } .ftr__legal-in { grid-template-columns: 1fr; } .ftr__dev { justify-self: start; } }

/* ---------- формы / модалка ---------- */
.modal { max-width: 460px; width: 100%; padding: 36px 32px; border-radius: var(--radius); }
.modal__title { font-size: 26px; margin-bottom: 8px; }
.modal__text { color: var(--muted); margin-bottom: 20px; }
.form { display: grid; gap: 14px; }
.form__row { display: grid; gap: 6px; }
.form__label { font-size: 14px; font-weight: 600; color: var(--c-slate-700); }
.form__input { min-height: 50px; padding: 0 16px; border: 1px solid var(--line); border-radius: var(--radius-sm); background: var(--c-white); color: var(--text-strong); transition: border-color .2s var(--ease), box-shadow .2s var(--ease); }
.form__input:focus { outline: 0; border-color: var(--primary); box-shadow: 0 0 0 3px var(--c-brand-100); }
.form__input.is-invalid { border-color: var(--c-accent-400); box-shadow: 0 0 0 3px var(--c-accent-100); }
.form__hp { position: absolute; left: -9999px; width: 1px; height: 1px; opacity: 0; }
.form__agree-row { display: grid; gap: 6px; }
.form__agree { display: flex; gap: 10px; align-items: flex-start; font-size: 13px; color: var(--muted); }
.form__agree input { flex: none; margin-top: 3px; accent-color: var(--primary); }
.form__agree-row.is-invalid .form__agree { color: var(--c-accent-700); }
.form__agree input.is-invalid { outline: 2px solid var(--c-accent-400); outline-offset: 2px; }
.form__error { display: none; margin-top: 1px; color: var(--c-accent-700); font-size: 12px; line-height: 1.4; }
.form__error.is-visible { display: block; }
.form__result { min-height: 1em; font-size: 14px; }
.form__result:empty { display: none; }
.form__result.is-ok { color: var(--c-brand-600); font-weight: 600; }
.form__result.is-error { color: var(--c-accent-700); }
.form[aria-busy="true"] .btn[type="submit"] { cursor: wait; opacity: .72; }
.form.is-submitted { display: block; }
.form.is-submitted > :not(.form__result) { display: none !important; }
.form.is-submitted .form__result { display: flex; min-height: 190px; padding: 28px 22px; border: 1px solid var(--c-brand-200); border-radius: var(--radius-sm); background: var(--c-brand-50); flex-direction: column; align-items: center; justify-content: center; gap: 8px; text-align: center; }
.form.is-submitted .form__result::before { content: '✓'; display: grid; place-items: center; width: 48px; height: 48px; margin-bottom: 4px; border-radius: 50%; background: var(--primary); color: var(--c-white); font-size: 26px; font-weight: 800; }
.form__result-title { color: var(--heading); font-size: 20px; line-height: 1.25; }
.form__result-text { max-width: 32ch; color: var(--text); font-weight: 500; line-height: 1.5; }
.fancybox-bg { background: var(--c-brand-950); }
.fancybox-is-open .fancybox-bg { opacity: .8; }
/* The root already reserves the scrollbar gutter; Fancybox must not reserve it twice. */
@supports (scrollbar-gutter: stable) {
    body.fancybox-active.compensate-for-scrollbar { margin-right: 0; }
}

/* ---------- контент ---------- */
.content { max-width: 78ch; }
.content h2 { font-size: var(--fs-h2); margin: 1.4em 0 .6em; }
.content h3 { font-size: var(--fs-h3); margin: 1.2em 0 .5em; }
.content ul, .content ol { padding-left: 1.3em; margin: 0 0 1em; }
.content ul { list-style: disc; } .content ol { list-style: decimal; }
.content li + li { margin-top: .35em; }
.content img { border-radius: var(--radius); }
.content table { border-collapse: collapse; width: 100%; margin: 0 0 1.5em; font-variant-numeric: tabular-nums; }
.content th, .content td { padding: 12px 14px; border-bottom: 1px solid var(--line); text-align: left; }
.content th { color: var(--heading); font-weight: 700; }

/* ---------- утилиты ---------- */
.visually-hidden { position: absolute !important; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }

.ftr__links { display: flex; flex-wrap: wrap; gap: 6px 18px; align-items: center; }
.ftr__cookie { color: var(--c-brand-200); font-size: 13px; text-decoration: underline dotted; }
.ftr__cookie:hover { color: var(--c-white); }

/* End */


/* Start:/local/templates/resurs/assets/css/blocks.css?179432379542934*/
/* ==========================================================================
   Блоки страниц (подключается после main.css)
   ========================================================================== */

/* hero (главная) — full-bleed тёмная секция с фото справа, растворяющимся в фон */
.hero { position: relative; isolation: isolate; overflow: hidden; background: radial-gradient(120% 140% at 85% 10%, var(--c-brand-700) 0%, var(--c-brand-900) 55%, var(--c-brand-950) 100%); color: var(--c-brand-200); padding-block: clamp(56px, 7vw, 120px) clamp(48px, 6vw, 96px); }
.hero__pic { position: absolute; inset: 0 0 0 auto; z-index: -1; width: min(62%, 1240px); pointer-events: none;
    -webkit-mask-image: linear-gradient(to right, transparent 0%, #000 36%), linear-gradient(to top, transparent 0%, #000 26%);
    mask-image: linear-gradient(to right, transparent 0%, #000 36%), linear-gradient(to top, transparent 0%, #000 26%);
    -webkit-mask-composite: source-in; mask-composite: intersect; }
.hero__pic img { width: 100%; height: 100%; object-fit: cover; object-position: 70% 30%; display: block; filter: saturate(.85) brightness(1.05); }
/* тонировка фото в цвет фона — чтобы любой кадр сидел в палитре */
.hero__pic::after { content: ""; position: absolute; inset: 0; background: linear-gradient(to right, var(--c-brand-900) 0%, rgb(31 60 86 / .45) 40%, rgb(31 60 86 / .12) 100%); mix-blend-mode: multiply; }
.hero__in { display: grid; gap: clamp(40px, 5vw, 72px); }
.hero__content { max-width: 50%; }
/* появление контента hero при загрузке — каскадом по --i */
html.js .hero__content > * { animation: heroIn .8s var(--ease) both; animation-delay: calc(var(--i, 0) * 110ms + 80ms); }
html.js .hero__pic { animation: heroPic 1.2s var(--ease) both; }
@keyframes heroIn { from { opacity: 0; transform: translateY(18px); } to { opacity: 1; transform: none; } }
@keyframes heroPic { from { opacity: 0; transform: scale(1.04); } to { opacity: 1; transform: none; } }
.hero__badge { display: inline-block; padding: 8px 14px; border: 1px solid rgb(255 255 255 / .2); border-radius: 999px; font-size: 12px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: var(--c-brand-200); margin-bottom: 26px; }
.hero__title { color: var(--c-white); font-size: clamp(36px, 4.2vw, 68px); line-height: 1.05; margin-bottom: 22px; text-wrap: balance; }
.hero__title span { color: var(--c-brand-300); }
.hero__text { font-size: clamp(17px, 1.15vw, 20px); max-width: 52ch; margin-bottom: 32px; color: var(--c-brand-200); }
.hero__actions { display: flex; flex-wrap: wrap; gap: 14px; }
.hero .btn--ghost { border-color: rgb(255 255 255 / .25); color: var(--c-white); font-size: 18px; }
@media (max-width: 1200px) { .hero__content { max-width: 58%; } }
@media (max-width: 1000px) {
    .hero { padding-top: 0; }
    .hero__content { max-width: none; }
    /* на узких экранах фото — отдельный блок сверху, растворяется вниз в фон, текст под ним */
    .hero__pic { position: relative; inset: auto; z-index: 0; width: 100%; height: clamp(220px, 62vw, 420px); margin-bottom: -40px;
        -webkit-mask-image: linear-gradient(to bottom, #000 55%, transparent 100%); mask-image: linear-gradient(to bottom, #000 55%, transparent 100%); }
    .hero__pic img { object-position: 50% 15%; }
    .hero__pic::after { background: linear-gradient(to bottom, rgb(31 60 86 / .15), rgb(31 60 86 / .5)); mix-blend-mode: multiply; }
}

/* карточки разделов услуг */
.svc-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap: 22px; }
.svc-card { background: var(--c-white); border: 1px solid var(--line); border-radius: var(--radius); padding: 26px 26px 22px; display: flex; flex-direction: column; transition: box-shadow .25s var(--ease), border-color .25s var(--ease); }
.svc-card:hover { box-shadow: var(--shadow); border-color: var(--c-brand-200); }
.svc-card__title { font-size: 21px; margin-bottom: 8px; }
.svc-card__title a { color: var(--heading); }
.svc-card__text { color: var(--muted); font-size: 15px; margin-bottom: 14px; }
.svc-card__list { display: grid; gap: 2px; margin-bottom: 18px; }
.svc-card__list a { display: flex; justify-content: space-between; gap: 12px; align-items: center; padding: 9px 10px; margin: 0 -10px; border-radius: 10px; color: var(--c-slate-700); }
.svc-card__list a:hover { background: var(--c-brand-50); color: var(--heading); }
.svc-card__list b { color: var(--heading); white-space: nowrap; font-variant-numeric: tabular-nums; }
.svc-card__sub a { font-weight: 700; color: var(--heading); }
.svc-card__sub .ico { width: 16px; height: 16px; }
.svc-card__more a { color: var(--muted); font-size: 14px; }
.svc-card__all { margin-top: auto; display: inline-flex; align-items: center; gap: 8px; font-weight: 700; }
.svc-card__all .ico { width: 18px; height: 18px; transition: transform .2s var(--ease); }
.svc-card__all:hover .ico { transform: translateX(4px); }

/* детальная услуги: текст под баннером */
.content--wide { max-width: 88ch; }
.content .checklist { list-style: none; padding: 0; display: grid; gap: 10px; }
.checklist li { display: flex; gap: 10px; align-items: flex-start; }
.checklist .ico { width: 20px; height: 20px; color: var(--primary); margin-top: 3px; }

/* врачи */
.doc-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(320px, 1fr)); gap: 24px; }
.doc-card { background: var(--c-white); border: 1px solid var(--line); border-radius: var(--radius); overflow: hidden; transition: border-color .25s var(--ease), box-shadow .25s var(--ease); }
.doc-card:hover { border-color: var(--c-brand-200); box-shadow: var(--shadow); }
/* фото — вырезанная фигура на фирменном круге (см. _design/gen/make_doctors.py), поэтому contain, а не cover */
.doc-card__photo { display: flex; justify-content: center; align-items: flex-end; height: 280px; padding-top: 12px; overflow: hidden; background: linear-gradient(180deg, var(--c-white) 0%, var(--c-brand-50) 100%); }
.doc-card__photo img { height: 100%; width: auto; max-width: 100%; transform-origin: 50% 100%; object-fit: contain; object-position: bottom; transition: transform .35s var(--ease); }
.doc-card:hover .doc-card__photo img { transform: scale(1.03); }
.doc-card__nophoto { display: block; width: 100%; height: 100%; background: linear-gradient(160deg, var(--c-brand-100), var(--c-brand-50)); }
.doc-card__body { padding: 18px 22px 22px; }
.doc-card__name { font-size: 19px; margin-bottom: 6px; }
.doc-card__name a { color: var(--heading); }
.doc-card__pos { color: var(--c-slate-700); font-size: 15px; }
.doc-card__exp { color: var(--muted); font-size: 14px; margin-top: 6px; }
.doc-card__actions { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-top: 16px; }
.doc-card__more { font-weight: 600; font-size: 14px; }
.docs-section .doc-grid { grid-template-columns: repeat(4, 1fr); }
@media (max-width: 1400px) { .docs-section .doc-grid { grid-template-columns: repeat(3, 1fr); } }
@media (max-width: 1000px) { .docs-section .doc-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 560px) { .doc-grid, .docs-section .doc-grid { grid-template-columns: 1fr; } }
.certs { margin-top: clamp(40px, 5vw, 72px); }
.certs .h2 { margin-bottom: 24px; }
.certs__grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); gap: 20px; }
.certs__item { display: grid; gap: 10px; align-content: start; color: var(--c-slate-700); font-size: 14px; }
.certs__cap { text-align: center; }
.certs__item img { width: 100%; aspect-ratio: 4 / 3; object-fit: contain; background: var(--c-white); padding: 8px; border: 1px solid var(--line); border-radius: var(--radius-sm); box-shadow: var(--shadow); transition: transform .3s var(--ease), box-shadow .3s var(--ease); }
.certs__item:hover img { transform: translateY(-4px); box-shadow: 0 20px 40px -20px rgb(31 60 86 / .35); }
.doctor__grid { display: grid; grid-template-columns: 300px minmax(0, 1fr); gap: clamp(28px, 4vw, 64px); align-items: start; }
.doctor__photo { background: linear-gradient(180deg, var(--c-white) 0%, var(--c-brand-50) 100%); border: 1px solid var(--line); border-radius: var(--radius); overflow: hidden; max-width: 300px; }
.doctor__photo img { display: block; width: 100%; }
.doctor__pos { font-size: 20px; color: var(--c-slate-700); margin-bottom: .3em; }
.doctor__exp { color: var(--muted); }
@media (max-width: 860px) { .doctor__grid { grid-template-columns: 1fr; } }

/* отзывы */
.reviews { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; }
@media (max-width: 1000px) { .reviews { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 640px) { .reviews { grid-template-columns: 1fr; } }
.review { background: var(--c-white); border: 1px solid var(--line); border-radius: var(--radius); padding: 24px 26px; display: flex; flex-direction: column; gap: 12px; }
.review__head { display: flex; flex-wrap: wrap; gap: 6px 14px; align-items: baseline; }
.review__author { font-weight: 700; color: var(--heading); }
.review__stars { color: var(--c-accent-400); letter-spacing: .1em; font-size: 14px; }
.review__date { color: var(--muted); font-size: 13px; margin-left: auto; }
.review__text { color: var(--c-slate-700); }
.review__src { font-size: 13px; color: var(--muted); margin-top: auto; }
.reviews-head__side { display: flex; align-items: center; gap: 24px; flex-wrap: wrap; }
.ya-rating { display: inline-flex; align-items: center; gap: 14px; }
.ya-rating__badge { border: 0; display: block; border-radius: 8px; overflow: hidden; }
.ya-rating__link { display: inline-flex; align-items: center; gap: 6px; font-weight: 700; }
.ya-rating__link .ico { width: 16px; height: 16px; }
.reviews-top { margin-bottom: 28px; }

/* цены */
.price-table { width: 100%; border-collapse: collapse; font-variant-numeric: tabular-nums; }
.price-table td { padding: 16px 12px; border-bottom: 1px solid var(--line); vertical-align: top; }
.price-table__name { color: var(--text-strong); font-weight: 600; }
.price-table__note { color: var(--muted); font-size: 14px; font-weight: 400; margin-top: 4px; }
.price-table__price { text-align: right; white-space: nowrap; font-weight: 800; color: var(--heading); font-size: 18px; }
.price-table__price span { font-weight: 400; color: var(--muted); font-size: 14px; }
.note { color: var(--muted); font-size: 14px; max-width: 70ch; }


/* лицензии */
.lic-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(180px, 1fr)); gap: 18px; }
.lic { display: grid; gap: 8px; align-content: start; color: var(--c-slate-700); font-size: 14px; }
.contacts__lic { margin-top: clamp(40px, 5vw, 72px); }
.contacts__lic .h2 { margin-bottom: 24px; }
.lic img { border: 1px solid var(--line); border-radius: var(--radius-sm); width: 100%; }

/* контакты */
.contacts { display: grid; grid-template-columns: minmax(0, 420px) minmax(0, 1fr); gap: clamp(28px, 4vw, 64px); align-items: start; }
.contacts__list { margin: 0 0 24px; display: grid; grid-template-columns: auto 1fr; gap: 12px 24px; }
.contacts__list dt { color: var(--muted); font-size: 14px; padding-top: 3px; }
.contacts__list dd { margin: 0; color: var(--text-strong); }
.contacts__phone { font-size: 24px; font-weight: 800; color: var(--heading); }
.contacts__map { min-height: 420px; border-radius: var(--radius); overflow: hidden; background: var(--c-brand-50); }
.contacts__map iframe { width: 100%; height: 100%; min-height: 420px; border: 0; display: block; }
.contacts__map-stub { display: grid; place-items: center; min-height: 420px; color: var(--muted); padding: 24px; text-align: center; }
@media (max-width: 900px) { .contacts { grid-template-columns: 1fr; } }

.empty { color: var(--muted); padding: 32px 0; }

/* ==========================================================================
   Общие элементы секций
   ========================================================================== */
.section__head { display: flex; align-items: flex-end; justify-content: space-between; gap: 20px 32px; flex-wrap: wrap; margin-bottom: clamp(24px, 3vw, 44px); }
.section__head .h2 { margin-bottom: 0; }
.section__more { display: inline-flex; align-items: center; gap: 8px; font-weight: 700; white-space: nowrap; padding-bottom: 6px; }
.section__more .ico { width: 18px; height: 18px; transition: transform .2s var(--ease); }
.section__more:hover .ico { transform: translateX(4px); }
.section__sub { color: var(--muted); margin: 10px 0 0; max-width: 60ch; }
.section__actions { display: flex; align-items: center; gap: 12px 24px; flex-wrap: wrap; }
.eyebrow { display: inline-block; font-size: 13px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: var(--primary); margin-bottom: 14px; }
.lead { font-size: clamp(17px, 1.15vw, 20px); color: var(--c-slate-700); max-width: 70ch; margin-bottom: 32px; }
.btn--sm { min-height: 40px; padding: 0 16px; font-size: 14px; }

/* появление при прокрутке (main.js: initReveal). Без JS всё видно сразу. */
html.js [data-reveal] { opacity: 0; transform: translateY(26px); transition: opacity .7s var(--ease), transform .7s var(--ease); transition-delay: var(--reveal-delay, 0ms); }
html.js [data-reveal="fade"] { transform: none; }
html.js [data-reveal="left"] { transform: translateX(-36px); }
html.js [data-reveal="right"] { transform: translateX(36px); }
html.js [data-reveal="zoom"] { transform: scale(.94); }
html.js [data-reveal].is-in { opacity: 1; transform: none; }
@media (prefers-reduced-motion: reduce) { html.js [data-reveal] { opacity: 1; transform: none; transition: none; } }

/* ==========================================================================
   Карточки направлений (главная)
   ========================================================================== */
.cards { display: grid; grid-template-columns: repeat(3, 1fr); gap: 26px; }
.card { position: relative; display: flex; flex-direction: column; background: var(--c-white); border: 1px solid var(--line); border-radius: var(--radius); overflow: hidden; color: inherit; transition: transform .35s var(--ease), box-shadow .35s var(--ease), border-color .35s var(--ease); }
.card:hover { transform: translateY(-6px); box-shadow: 0 24px 50px -24px rgb(31 60 86 / .35); border-color: var(--c-brand-200); color: inherit; }
.card__img { aspect-ratio: 4 / 3; overflow: hidden; background: var(--c-brand-50); }
.card__img img { width: 100%; height: 100%; object-fit: cover; transition: transform .6s var(--ease); }
.card:hover .card__img img { transform: scale(1.04); }
.card__noimg { display: grid; place-items: center; width: 100%; height: 100%; background: linear-gradient(150deg, var(--c-brand-100), var(--c-brand-50)); color: var(--c-brand-300); }
.card__noimg svg { width: 30%; height: 30%; }
.card__img { position: relative; }
.card__body { display: flex; flex-direction: column; flex: 1; padding: 22px 24px 24px; }
.card__title { font-size: 21px; margin-bottom: 8px; transition: color .2s var(--ease); }
.card:hover .card__title { color: var(--primary); }
.card__text { color: var(--muted); font-size: 15px; margin: 0 0 16px; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.card__foot { margin-top: auto; display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.card__meta { font-size: 14px; color: var(--muted); }
.card__arrow { display: grid; place-items: center; width: 40px; height: 40px; border-radius: 50%; background: var(--c-brand-50); color: var(--heading); transition: background-color .25s var(--ease), color .25s var(--ease), transform .25s var(--ease); }
.card__arrow .ico { width: 18px; height: 18px; }
.card:hover .card__arrow { background: var(--primary); color: var(--c-white); transform: translateX(3px); }
@media (max-width: 1100px) { .cards { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 640px) { .cards { grid-template-columns: 1fr; gap: 18px; } }

/* ==========================================================================
   О клинике (главная)
   ========================================================================== */
.about__in { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr); gap: clamp(32px, 5vw, 96px); align-items: center; }
.about__text p { max-width: 60ch; }
.about__facts { display: grid; grid-template-columns: repeat(3, auto); justify-content: start; gap: 18px 40px; margin: 28px 0 32px; }
.about__facts li { display: grid; gap: 4px; }
.about__facts b { font-size: clamp(26px, 2.2vw, 36px); font-weight: 800; color: var(--heading); letter-spacing: -.02em; line-height: 1; font-variant-numeric: tabular-nums; }
.about__facts span { font-size: 14px; color: var(--muted); }
.about__actions { display: flex; flex-wrap: wrap; gap: 12px; }
.about__media { position: relative; }
.about__media img { border-radius: var(--radius); box-shadow: 0 30px 60px -30px rgb(31 60 86 / .4); aspect-ratio: 4 / 3; object-fit: cover; width: 100%; }
.about__media::before { content: ""; position: absolute; inset: 28px -28px -28px 28px; border-radius: var(--radius); background: var(--c-brand-100); z-index: -1; }
@media (max-width: 960px) { .about__in { grid-template-columns: 1fr; } .about__media { order: -1; margin-right: 28px; } .about__facts { grid-template-columns: repeat(auto-fit, minmax(120px, 1fr)); } }

/* ==========================================================================
   Преимущества: иконка + заголовок + текст
   ========================================================================== */
.adv { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; }
.adv__item { position: relative; background: var(--c-white); border: 1px solid var(--line); border-radius: var(--radius); padding: 26px; transition: transform .3s var(--ease), box-shadow .3s var(--ease), border-color .3s var(--ease); }
.adv__item:hover { transform: translateY(-4px); box-shadow: var(--shadow); border-color: var(--c-brand-200); }
.adv__icon { display: grid; place-items: center; width: 56px; height: 56px; border-radius: 16px; background: var(--c-brand-50); color: var(--primary); margin-bottom: 18px; }
.adv__icon svg, .adv__icon img { width: 30px; height: 30px; }
.adv__name { font-weight: 800; color: var(--heading); font-size: 18px; margin-bottom: 6px; }
.adv__text { color: var(--text); font-size: 15px; }
@media (max-width: 1000px) { .adv { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 560px) { .adv { grid-template-columns: 1fr; } }

/* ==========================================================================
   Аккордеон (FAQ, прайс, источники): <details class="acc"> с анимацией через grid
   ========================================================================== */
.acc { background: var(--c-white); border: 1px solid var(--line); border-radius: var(--radius); transition: border-color .25s var(--ease), box-shadow .25s var(--ease); }
.acc[open] { border-color: var(--c-brand-200); box-shadow: var(--shadow); }
.acc__head { list-style: none; display: flex; align-items: center; gap: 16px; padding: 20px 24px; cursor: pointer; font-weight: 700; color: var(--heading); font-size: 17px; line-height: 1.35; user-select: none; }
.acc__head::-webkit-details-marker { display: none; }
.acc__title { flex: 1; }
.acc__icon { display: grid; place-items: center; width: 36px; height: 36px; border-radius: 50%; background: var(--c-brand-50); color: var(--heading); flex: none; transition: transform .3s var(--ease), background-color .3s var(--ease), color .3s var(--ease); }
.acc__icon .ico { width: 16px; height: 16px; }
.acc[open] .acc__icon { transform: rotate(45deg); background: var(--primary); color: var(--c-white); }
.acc__body { overflow: hidden; }
.acc:not([open]) .acc__body { display: none; }
.acc__in { padding: 0 24px 22px; }
.acc__in.content { max-width: none; }
.acc__in > :last-child { margin-bottom: 0; }
.faq { display: grid; gap: 12px; }

/* секция FAQ: заголовок слева, вопросы справа */
.faq-wrap { display: grid; grid-template-columns: minmax(0, 380px) minmax(0, 1fr); gap: clamp(28px, 4vw, 72px); align-items: start; }
.faq-wrap__side { position: sticky; top: calc(var(--hdr-h, 124px) + 24px); }
.faq-wrap__side p { color: var(--muted); }
.faq-wrap__phone { display: inline-block; font-size: 24px; font-weight: 800; color: var(--heading); }
@media (max-width: 960px) { .faq-wrap { grid-template-columns: 1fr; } .faq-wrap__side { position: static; } }

/* ==========================================================================
   Цены: аккордеон по разделам
   ========================================================================== */
.price-acc { display: grid; gap: 14px; }
.price-acc__descr { color: var(--muted); font-size: 15px; margin: 0 0 12px; }
.price-table td { padding: 14px 12px; }
.price-table td:first-child { padding-left: 0; }
.price-table__act { text-align: right; white-space: nowrap; width: 1%; padding-right: 0 !important; }
.price-table tr:last-child td { border-bottom: 0; }
@media (max-width: 640px) { .price-table__act { display: none; } .acc__head { padding: 16px 18px; font-size: 16px; } .acc__in { padding: 0 18px 18px; } }

/* ==========================================================================
   Теги, пагинация
   ========================================================================== */
.tags { display: flex; flex-wrap: wrap; gap: 8px; }
.tag { display: inline-flex; align-items: center; min-height: 36px; padding: 0 14px; border-radius: 999px; background: var(--c-brand-50); color: var(--heading); font-weight: 600; font-size: 14px; transition: background-color .2s var(--ease), color .2s var(--ease); }
.tag:hover { background: var(--c-brand-100); color: var(--heading); }
.tag.is-active { background: var(--primary); color: var(--c-white); }
.tags--sm .tag { min-height: 28px; padding: 0 10px; font-size: 13px; }
.tags--bar { margin-bottom: 32px; }
.pager { display: flex; align-items: center; justify-content: center; flex-wrap: wrap; gap: 10px; margin-top: 48px; }
.pager__list { display: flex; align-items: center; gap: 6px; }
.pager__num { display: grid; place-items: center; min-width: 44px; height: 44px; padding: 0 8px; border-radius: 12px; font-weight: 700; color: var(--c-slate-700); transition: background-color .2s var(--ease), color .2s var(--ease); font-variant-numeric: tabular-nums; }
.pager__num:hover { background: var(--c-brand-50); color: var(--heading); }
.pager__num.is-current { background: var(--primary); color: var(--c-white); }
.pager__dots { color: var(--muted); padding: 0 4px; }
.pager__btn { display: inline-flex; align-items: center; gap: 8px; height: 44px; padding: 0 18px; border-radius: 12px; border: 1px solid var(--line); color: var(--heading); font-weight: 700; transition: border-color .2s var(--ease), background-color .2s var(--ease); }
.pager__btn:hover { border-color: var(--primary); background: var(--c-brand-50); color: var(--heading); }
.pager__btn .ico { width: 16px; height: 16px; }
.pager__btn--prev .ico { transform: scaleX(-1); }
@media (max-width: 520px) { .pager__btn span { display: none; } .pager__btn { padding: 0 14px; } }

/* ==========================================================================
   Блог: карточки, слайдер, детальная
   ========================================================================== */
.post-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 26px; }
.post-card { position: relative; display: flex; flex-direction: column; background: var(--c-white); border: 1px solid var(--line); border-radius: var(--radius); overflow: hidden; transition: transform .35s var(--ease), box-shadow .35s var(--ease), border-color .35s var(--ease); }
.post-card:hover { transform: translateY(-6px); box-shadow: 0 24px 50px -24px rgb(31 60 86 / .35); border-color: var(--c-brand-200); }
.post-card__img { display: block; aspect-ratio: 16 / 10; overflow: hidden; background: var(--c-brand-50); }
.post-card__img img { width: 100%; height: 100%; object-fit: cover; transition: transform .6s var(--ease); }
.post-card:hover .post-card__img img { transform: scale(1.04); }
.post-card__noimg { display: block; width: 100%; height: 100%; background: linear-gradient(150deg, var(--c-brand-100), var(--c-brand-50)); }
.post-card__body { display: flex; flex-direction: column; gap: 10px; padding: 18px 22px 22px; flex: 1; }
.post-card__meta { display: flex; gap: 14px; font-size: 13px; color: var(--muted); }
.post-card__title { font-size: 19px; line-height: 1.3; }
.post-card__title a { color: var(--heading); }
.post-card__title a::after { content: ""; position: absolute; inset: 0; }
.post-card__title a:hover { color: var(--primary); }
.post-card .tags { position: relative; z-index: 1; margin-top: auto; padding-top: 4px; }
@media (max-width: 1100px) { .post-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 640px) { .post-grid { grid-template-columns: 1fr; gap: 18px; } }

/* слайдер статей (slick) */
.post-slider { margin: 0 -13px; }
.post-slider .slick-list { padding: 8px 0 30px; }
.post-slider__slide { padding: 0 13px; height: auto; }
.post-slider .slick-track { display: flex; }
.post-slider .slick-slide { height: auto; }
.post-slider .slick-slide > div, .post-slider .post-card { height: 100%; }
.slick-arrow { position: absolute; top: calc(50% - 40px); z-index: 2; width: 48px; height: 48px; border-radius: 50%; background: var(--c-white); border: 1px solid var(--line); box-shadow: var(--shadow); color: var(--heading); font-size: 0; transition: background-color .2s var(--ease), color .2s var(--ease), opacity .2s; }
.slick-arrow::before { content: ""; display: block; width: 10px; height: 10px; margin: auto; border-right: 2px solid currentColor; border-bottom: 2px solid currentColor; transform: rotate(-45deg) translate(-1px, -1px); }
.slick-prev { left: -10px; } .slick-prev::before { transform: rotate(135deg) translate(-1px, -1px); }
.slick-next { right: -10px; }
.slick-arrow:hover { background: var(--primary); color: var(--c-white); border-color: var(--primary); }
.slick-arrow.slick-disabled { opacity: .35; pointer-events: none; }
@media (max-width: 700px) { .slick-prev { left: 6px; } .slick-next { right: 6px; } }

/* детальная статьи */
.post__head { margin-bottom: 28px; display: grid; gap: 14px; }
.post__meta { display: flex; flex-wrap: wrap; gap: 14px; color: var(--muted); font-size: 14px; }
.post__upd { color: var(--c-slate-500); }
.post__grid { display: grid; grid-template-columns: minmax(0, 1fr) 340px; gap: clamp(32px, 4vw, 72px); align-items: start; }
.post__main { display: flow-root; }
.post__fig { float: left; width: min(50%, 560px); margin: 6px 36px 20px 0; }
.post__fig img { border-radius: var(--radius); width: 100%; }
.post__fig figcaption { font-size: 13px; color: var(--muted); margin-top: 8px; }
.post__lead { font-size: clamp(18px, 1.2vw, 21px); color: var(--c-slate-700); font-weight: 500; margin-bottom: 1.2em; }
.post__body { max-width: none; font-size: clamp(16px, 1.05vw, 18px); line-height: 1.7; }
.post__body h2 { scroll-margin-top: calc(var(--hdr-h, 124px) + 20px); }
.post__body blockquote { margin: 1.6em 0; padding: 20px 26px; border-left: 4px solid var(--primary); background: var(--c-brand-50); border-radius: 0 var(--radius) var(--radius) 0; color: var(--c-slate-700); font-weight: 500; clear: both; }
.post__body blockquote p:last-child { margin: 0; }
.post__body .note-box { clear: both; margin: 1.6em 0; padding: 20px 24px; border-radius: var(--radius); background: var(--c-accent-100); color: var(--c-accent-700); }
.post__sources { margin-top: 36px; clear: both; }
.author { display: flex; gap: 16px; align-items: center; padding: 18px 20px; background: var(--c-brand-50); border-radius: var(--radius); }
.author__photo { width: 64px; height: 64px; border-radius: 50%; object-fit: cover; flex: none; }
.author--foot { margin-top: 36px; clear: both; }
.author--foot .author__photo { width: 80px; height: 80px; }
.author__label { font-size: 12px; letter-spacing: .1em; text-transform: uppercase; color: var(--muted); font-weight: 700; }
.author__name { display: block; font-weight: 800; color: var(--heading); font-size: 17px; margin: 2px 0; }
.author__pos { font-size: 14px; color: var(--c-slate-700); }
.post__cta { clear: both; margin-top: 36px; display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 20px 32px; padding: 28px 32px; border-radius: var(--radius); background: var(--c-brand-900); color: var(--c-brand-200); }
.post__cta p { margin: 0; }
.post__cta-title { color: var(--c-white); font-weight: 800; font-size: 22px; margin-bottom: 6px; }
.post__cta-actions { display: flex; flex-wrap: wrap; gap: 12px; }
.post__cta .btn--ghost { border-color: rgb(255 255 255 / .3); color: var(--c-white); }
.post__sticky { position: sticky; top: calc(var(--hdr-h, 124px) + 24px); display: grid; gap: 18px; }
.toc { padding: 22px 24px; border: 1px solid var(--line); border-radius: var(--radius); background: var(--c-white); }
.toc__title { font-weight: 800; color: var(--heading); margin-bottom: 12px; font-size: 15px; letter-spacing: .06em; text-transform: uppercase; }
.toc__list { display: grid; gap: 2px; counter-reset: toc; }
.toc__list li { counter-increment: toc; }
.toc__link { display: flex; gap: 10px; padding: 7px 8px; border-radius: 8px; color: var(--c-slate-700); font-size: 15px; line-height: 1.35; }
.toc__link::before { content: counter(toc, decimal-leading-zero); color: var(--primary); font-weight: 700; font-variant-numeric: tabular-nums; flex: none; }
.toc__link:hover, .toc__link.is-active { background: var(--c-brand-50); color: var(--heading); }
.aside-cta { padding: 24px; border-radius: var(--radius); background: var(--c-brand-50); border: 1px solid var(--c-brand-100); }
.aside-cta__title { font-weight: 800; color: var(--heading); font-size: 18px; margin-bottom: 6px; }
.aside-cta p { color: var(--muted); font-size: 15px; margin-bottom: 16px; }
.post__related { margin-top: var(--section-y); }
@media (max-width: 1000px) { .post__grid { grid-template-columns: 1fr; } .post__sticky { position: static; } .post__aside .aside-cta { display: none; } }
@media (max-width: 640px) { .post__fig { float: none; width: 100%; margin: 0 0 20px; } .post__cta { padding: 22px; } }

/* ==========================================================================
   Карта сайта
   ========================================================================== */
.smap__grid { display: grid; grid-template-columns: 1.6fr 1fr; gap: clamp(28px, 4vw, 64px); align-items: start; }
.smap__title { font-size: 22px; margin-bottom: 16px; padding-bottom: 12px; border-bottom: 2px solid var(--c-brand-100); }
.smap__title a { color: var(--heading); }
.smap__block + .smap__block { margin-top: 36px; }
.smap__list { display: grid; gap: 8px; }
.smap__list a { color: var(--c-slate-700); }
.smap__list a:hover { color: var(--primary); }
.smap__list small { color: var(--muted); display: block; font-size: 13px; }
.smap__list--sub { margin-bottom: 18px; padding-bottom: 18px; border-bottom: 1px dashed var(--line); }
.smap__col .tags { margin-bottom: 18px; }
.smap__tree { display: grid; gap: 22px; }
.smap__tree > li > ul { display: grid; gap: 6px; margin: 8px 0 0 14px; padding-left: 14px; border-left: 2px solid var(--c-brand-100); }
.smap__tree ul a { color: var(--c-slate-700); font-size: 15px; }
.smap__tree ul a:hover { color: var(--primary); }
.smap__tree .smap__tree { margin: 10px 0 0 14px; gap: 12px; }
.smap__sec { font-weight: 800; color: var(--heading); font-size: 17px; }
@media (max-width: 960px) { .smap__grid { grid-template-columns: 1fr; } }

/* ==========================================================================
   404
   ========================================================================== */
.e404 { padding-block: clamp(40px, 6vw, 96px); }
.e404__in { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: clamp(28px, 5vw, 80px); align-items: center; }
.e404__code { display: flex; align-items: center; gap: 4px; color: var(--c-brand-100); font-size: clamp(120px, 16vw, 260px); font-weight: 800; line-height: 1; letter-spacing: -.06em; user-select: none; }
.e404__mark { width: .82em; height: .82em; color: var(--primary); animation: markIn 1s var(--ease) both; }
@keyframes markIn { from { opacity: 0; transform: translateY(20px) rotate(-8deg); } to { opacity: 1; transform: none; } }
.e404__title { font-size: var(--fs-h1); margin-bottom: .4em; }
.e404__text { font-size: 18px; color: var(--c-slate-700); max-width: 50ch; }
.e404__links { display: flex; flex-wrap: wrap; gap: 12px; margin: 28px 0; }
.e404__help { color: var(--muted); }
.e404__help a { font-weight: 800; color: var(--heading); white-space: nowrap; }
@media (max-width: 860px) { .e404__in { grid-template-columns: 1fr; text-align: center; } .e404__code { justify-content: center; } .e404__links { justify-content: center; } .e404__text { margin-inline: auto; } }

/* ==========================================================================
   Услуги: баннер раздела/услуги (крошки, h1, краткий текст, запись; справа — карточка)
   ========================================================================== */
.svc-hero { position: relative; isolation: isolate; overflow: hidden; background: radial-gradient(120% 140% at 85% 10%, var(--c-brand-700) 0%, var(--c-brand-900) 55%, var(--c-brand-950) 100%); color: var(--c-brand-200); padding-block: 8px clamp(40px, 5vw, 72px); }
.svc-hero__pic { position: absolute; inset: 0 0 0 auto; z-index: -1; width: min(58%, 1100px); pointer-events: none;
    -webkit-mask-image: linear-gradient(to right, transparent 0%, #000 40%), linear-gradient(to top, transparent 0%, #000 30%);
    mask-image: linear-gradient(to right, transparent 0%, #000 40%), linear-gradient(to top, transparent 0%, #000 30%);
    -webkit-mask-composite: source-in; mask-composite: intersect; }
.svc-hero__pic img { width: 100%; height: 100%; object-fit: cover; object-position: 60% 30%; display: block; filter: saturate(.8) brightness(.95); }
.svc-hero__pic::after { content: ""; position: absolute; inset: 0; background: linear-gradient(to right, var(--c-brand-900) 0%, rgb(31 60 86 / .55) 40%, rgb(31 60 86 / .25) 100%); mix-blend-mode: multiply; }
.svc-hero__in { display: grid; grid-template-columns: minmax(0, 1fr) 400px; gap: clamp(28px, 4vw, 72px); align-items: end; }
.svc-hero--single .svc-hero__in { grid-template-columns: minmax(0, 1fr); }
.svc-hero .crumbs { color: var(--c-brand-300); padding-top: 22px; margin-bottom: clamp(24px, 3vw, 44px); }
.svc-hero .crumbs a { color: var(--c-brand-300); } .svc-hero .crumbs a:hover { color: var(--c-white); }
.svc-hero .crumbs__item + .crumbs__item::before { color: rgb(255 255 255 / .25); }
.svc-hero__title { color: var(--c-white); font-size: clamp(32px, 3.4vw, 54px); line-height: 1.08; margin-bottom: 18px; text-wrap: balance; max-width: 18ch; }
.svc-hero__text { font-size: clamp(17px, 1.1vw, 20px); color: var(--c-brand-200); max-width: 56ch; margin-bottom: 28px; }
.svc-hero__actions { display: flex; flex-wrap: wrap; gap: 14px; }
.svc-hero .btn--ghost { border-color: rgb(255 255 255 / .25); color: var(--c-white); font-size: 18px; }
html.js .svc-hero__content > *:not(.crumbs), html.js .svc-hero__aside { animation: heroIn .7s var(--ease) both; animation-delay: calc(var(--i, 0) * 100ms + 60ms); }
html.js .svc-hero__pic { animation: heroPic 1.1s var(--ease) both; }
.svc-hero__aside { align-self: end; }
/* карточка записи (детальная услуги) */
.svc-cta { background: var(--c-white); border-radius: var(--radius); padding: 26px; box-shadow: 0 30px 60px -30px rgb(0 0 0 / .5); display: grid; gap: 14px; color: var(--text); }
.svc-cta__label { font-size: 13px; letter-spacing: .1em; text-transform: uppercase; color: var(--muted); font-weight: 700; }
.svc-cta__text { margin: 0; color: var(--c-slate-700); font-size: 15px; }
.svc-cta__row { display: flex; align-items: center; gap: 8px; color: var(--c-slate-700); font-size: 15px; }
.svc-cta__row .ico { width: 18px; height: 18px; color: var(--primary); }
.svc-cta__phone { font-size: 20px; font-weight: 800; color: var(--heading); text-align: center; }
.svc-cta__note { font-size: 13px; color: var(--muted); text-align: center; }
@media (max-width: 1000px) {
    .svc-hero__in { grid-template-columns: 1fr; gap: 28px; }
    .svc-hero__pic { width: 100%; opacity: .35; -webkit-mask-image: linear-gradient(to bottom, #000 0%, transparent 100%); mask-image: linear-gradient(to bottom, #000 0%, transparent 100%); }
    .svc-hero__title { max-width: none; }
    .svc-hero__aside { max-width: 480px; }
}

/* SEO-текст под услугами / заглушка на его месте — на всю ширину контейнера */
.svc-text .content, .svc-body .content { max-width: none; }
.seo-stub { position: relative; padding: 28px 32px 28px 36px; border: 2px dashed var(--c-brand-200); border-radius: var(--radius); background: var(--c-white); color: var(--c-slate-700); }
.seo-stub__badge { position: absolute; top: -12px; left: 24px; padding: 3px 10px; border-radius: 999px; background: var(--c-accent-400); color: var(--c-white); font-size: 11px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.seo-stub__title { font-size: var(--fs-h3); margin-bottom: 10px; }
.seo-stub p { margin: 0 0 8px; }
.seo-stub__where { font-size: 13px; color: var(--muted); margin: 0; }

/* ==========================================================================
   Типовые блоки текста (сниппеты редактора): показания/противопоказания, список, CTA с формой, текстовый блок
   ========================================================================== */
.content .two-lists { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; margin: 1.6em 0; }
.content .two-lists__col { padding: 24px 26px; border-radius: var(--radius); border: 1px solid var(--line); background: var(--c-white); }
.content .two-lists__col h3 { margin: 0 0 14px; font-size: 19px; display: flex; align-items: center; gap: 10px; }
.content .two-lists__col h3::before { content: ""; flex: none; width: 28px; height: 28px; border-radius: 50%; background-position: center; background-repeat: no-repeat; background-size: 14px; }
.content .two-lists__col--yes { border-color: #cfe8d8; background: #f2faf5; }
.content .two-lists__col--yes h3 { color: #1f6b43; }
.content .two-lists__col--yes h3::before { background-color: #1f6b43; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E"); }
.content .two-lists__col--no { border-color: #f1d3d5; background: var(--c-accent-100); }
.content .two-lists__col--no h3 { color: var(--c-accent-700); }
.content .two-lists__col--no h3::before { background-color: var(--c-accent-700); background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='3' stroke-linecap='round'%3E%3Cpath d='M18 6 6 18M6 6l12 12'/%3E%3C/svg%3E"); }
.content .two-lists ul { list-style: none; padding: 0; margin: 0; display: grid; gap: 8px; }
.content .two-lists li { padding-left: 18px; position: relative; }
.content .two-lists li::before { content: ""; position: absolute; left: 0; top: .6em; width: 7px; height: 7px; border-radius: 50%; background: currentColor; opacity: .5; }
.content .two-lists li + li { margin-top: 0; }
.content ul.list-block { list-style: none; padding: 0; margin: 1.4em 0; display: grid; gap: 10px; counter-reset: lb; }
.content .list-block li { counter-increment: lb; position: relative; min-height: 72px; padding: 16px 20px 16px 72px; border: 1px solid var(--line); border-radius: var(--radius-sm); background: var(--c-white); margin: 0; }
.content .list-block li::before { content: counter(lb, decimal-leading-zero); position: absolute; left: 16px; top: 16px; display: grid; place-items: center; width: 40px; height: 40px; border-radius: 12px; background: var(--c-brand-50); color: var(--primary); font-weight: 800; font-variant-numeric: tabular-nums; font-size: 15px; }
.content .list-block li b { color: var(--heading); }
.content .cta-block { display: grid; grid-template-columns: minmax(0, 1fr) minmax(300px, 400px); gap: clamp(24px, 3vw, 48px); align-items: center; margin: 2em 0; padding: clamp(24px, 3vw, 40px); border-radius: var(--radius); background: radial-gradient(120% 140% at 90% 0%, var(--c-brand-700) 0%, var(--c-brand-900) 60%); color: var(--c-brand-200); }
.content .cta-block h3 { color: var(--c-white); margin: 0 0 10px; font-size: clamp(22px, 1.6vw, 28px); }
.content .cta-block p { margin: 0; }
.content .cta-block__form { background: var(--c-white); border-radius: var(--radius); padding: 22px; color: var(--text); }
.form--inline .form__agree { font-size: 13px; }
.content .text-box { margin: 1.6em 0; padding: 20px 24px; border-radius: var(--radius); background: var(--c-brand-50); border-left: 4px solid var(--primary); color: var(--c-slate-700); }
.content .text-box p:last-child { margin: 0; }
.content .text-box b { color: var(--heading); }
.content .text-box--warn { background: var(--c-accent-100); border-left-color: var(--c-accent-400); color: var(--c-accent-700); }
.content .text-box--warn b { color: var(--c-accent-700); }
@media (max-width: 760px) { .content .two-lists { grid-template-columns: 1fr; } .content .cta-block { grid-template-columns: 1fr; } }
@media (max-width: 520px) { .content .list-block li { padding-left: 58px; } .content .list-block li::before { width: 32px; height: 32px; font-size: 13px; left: 14px; top: 18px; } }

/* End */


/* Start:/local/templates/resurs/assets/css/cookie-consent.css?17891981022376*/
/* Плашка согласия на cookie — снизу слева, не перекрывает контент и кнопку звонка. */
.cc { position: fixed; left: 20px; bottom: 20px; z-index: 90; width: min(480px, calc(100% - 40px)); opacity: 0; transform: translateY(16px); transition: opacity .3s var(--ease), transform .3s var(--ease); }
.cc.is-visible { opacity: 1; transform: none; }
.cc[hidden], .cc [hidden] { display: none !important; }
.cc__card { position: relative; background: var(--c-white); color: var(--c-slate-700); border: 1px solid var(--line); border-radius: var(--radius); box-shadow: 0 20px 50px -20px rgb(20 39 58 / .35); padding: 22px 24px 20px; display: grid; gap: 16px; max-height: calc(100vh - 40px); overflow: auto; }
.cc__title { font-weight: 800; color: var(--heading); font-size: 17px; }
.cc__text { font-size: 14px; line-height: 1.5; }
.cc__text p { margin: 0 0 6px; }
.cc__text a { font-weight: 600; }
.cc__settings { display: grid; gap: 10px; padding-top: 6px; border-top: 1px solid var(--line); }
.cc__opt { display: flex; gap: 12px; align-items: flex-start; cursor: pointer; }
.cc__opt input { margin-top: 3px; width: 18px; height: 18px; accent-color: var(--primary); flex: none; }
.cc__opt--locked { cursor: default; }
.cc__opt-body { display: grid; gap: 2px; font-size: 14px; }
.cc__opt-body b { color: var(--text-strong); }
.cc__opt-body small { color: var(--muted); font-size: 13px; line-height: 1.4; }
.cc__actions { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; }
.cc__btn { min-height: 44px; padding: 0 18px; font-size: 14px; }
.cc__link { color: var(--primary); font-weight: 600; font-size: 14px; text-decoration: underline dotted; padding: 8px 4px; }
.cc__link[aria-expanded="true"] { color: var(--heading); }
.cc__close { position: absolute; top: 8px; right: 10px; width: 36px; height: 36px; font-size: 24px; line-height: 1; color: var(--muted); border-radius: 50%; }
.cc__close:hover { background: var(--c-slate-100); color: var(--heading); }
.cc.is-expanded .cc__btn[data-cc="all"], .cc.is-expanded .cc__btn[data-cc="necessary"] { display: none; }
@media (max-width: 640px) {
    .cc { left: 10px; right: 10px; bottom: 10px; width: auto; }
    .cc__card { padding: 18px 18px 16px; }
    .cc__actions .btn { flex: 1 1 100%; }
}
@media (prefers-reduced-motion: reduce) { .cc { transition: none; } }

/* End */
/* /local/templates/resurs/vendor/slick/slick.css?17891587861776 */
/* /local/templates/resurs/vendor/fancybox/jquery.fancybox.min.css?178915879112795 */
/* /local/templates/resurs/assets/css/main.css?179432454921783 */
/* /local/templates/resurs/assets/css/blocks.css?179432379542934 */
/* /local/templates/resurs/assets/css/cookie-consent.css?17891981022376 */
