    /* ============================================================
       AO MEDICINA — design tokens + base (shared with templates)
       ============================================================ */
:root{
    --color-primary:#0066B3;--color-primary-hover:#004F8C;--color-primary-light:#E6F0F8;
    --color-bg-soft:#E6F0F8;
    --color-text:#1A2027;--color-text-muted:#5A6573;--color-text-inverse:#FFFFFF;
    --color-bg:#FFFFFF;--color-bg-subtle:#F5F7FA;--color-border:#E2E8F0;--color-border-strong:#CBD2DC;
    --color-warning-bg:#FFF7E6;--color-warning-border:#F0B547;--color-warning-text:#8C5A00;
    --color-success:#1E9E5E;--color-error:#D04444;--color-footer-bg:#0F2A44;
    --font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
    --fs-h1:2rem;--fs-h2:1.625rem;--fs-h3:1.25rem;--fs-h4:1.0625rem;
    --fs-body:1.0625rem;--fs-small:.9375rem;--fs-tiny:.8125rem;
    --lh-tight:1.2;--lh-base:1.55;--lh-loose:1.7;
    --fw-regular:400;--fw-medium:500;--fw-semibold:600;--fw-bold:700;
    --space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;
    --space-6:24px;--space-8:32px;--space-10:40px;--space-12:48px;
    --space-16:64px;--space-20:80px;--space-24:96px;
    --radius-sm:4px;--radius-md:8px;--radius-lg:12px;--radius-full:9999px;
    --shadow-sm:0 1px 2px rgba(15,23,42,.05);
    --shadow-md:0 4px 12px rgba(15,23,42,.08);
    --shadow-lg:0 12px 32px rgba(15,23,42,.12);
    --transition-base:200ms ease;
    --container-max:1200px;--container-px:20px;--header-height:64px;
}
@media (max-width:767px){
    :root{--container-px:16px;}
}
@media (min-width:768px){
    :root{--fs-h1:2.25rem;--fs-h2:1.75rem;--fs-h3:1.3125rem;}
}
@media (min-width:1200px){
    :root{--container-px:32px;--fs-h1:2.75rem;--fs-h2:2rem;--fs-h3:1.375rem;--header-height:72px;}
}
@media (prefers-reduced-motion:reduce){
    *,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important}
    html{scroll-behavior:auto}
}

*,*::before,*::after{box-sizing:border-box}*{margin:0;padding:0}
html{font-size:100%;-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{font-family:var(--font-family);font-size:var(--fs-body);line-height:var(--lh-base);
    color:var(--color-text);background:var(--color-bg);min-height:100vh;-webkit-font-smoothing:antialiased}
img,svg{display:block;max-width:100%;height:auto}
a{color:var(--color-primary);text-decoration:none;transition:color var(--transition-base)}
a:hover{text-decoration:underline}
button{font:inherit;cursor:pointer;border:none;background:none;color:inherit}
input,textarea,select{font:inherit}ul,ol{list-style:none}
h1,h2,h3,h4{line-height:var(--lh-tight);font-weight:var(--fw-bold);color:var(--color-text)}
h1{font-size:var(--fs-h1);letter-spacing:-.01em}
h2{font-size:var(--fs-h2);margin-bottom:var(--space-4)}
h3{font-size:var(--fs-h3);margin-bottom:var(--space-3)}
h4{font-size:var(--fs-h4);margin-bottom:var(--space-2)}
p{margin-bottom:var(--space-4);line-height:var(--lh-base)}
.container{max-width:var(--container-max);margin:0 auto;padding:0 var(--container-px); width:100%}

/* Buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);
    padding:12px 22px;min-height:48px;font-size:16px;font-weight:var(--fw-semibold);
    border-radius:var(--radius-md);text-decoration:none;cursor:pointer;
    border:1px solid transparent;white-space:nowrap;
    transition:background-color var(--transition-base),color var(--transition-base),
    border-color var(--transition-base),box-shadow var(--transition-base)}
.btn:hover{text-decoration:none}
.btn:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}
.btn--primary{background:var(--color-primary);color:#fff}
.btn--primary:hover{background:var(--color-primary-hover);color:#fff}
.btn--secondary{background:#fff;color:var(--color-primary);border-color:var(--color-primary)}
.btn--secondary:hover{background:var(--color-primary-light)}
.btn--ghost{background:transparent;color:var(--color-primary);padding:8px 12px}
.btn--ghost:hover{background:var(--color-primary-light)}
.btn--lg{min-height:56px;padding:16px 32px;font-size:17px}
.btn--sm{min-height:40px;padding:8px 16px;font-size:14px}
.btn--block{width:100%}
.btn--white{background:#fff;color:var(--color-primary);border-color:#fff}
.btn--white:hover{background:var(--color-primary-light);color:var(--color-primary)}
.btn svg{width:20px;height:20px;flex-shrink:0}
.btn[disabled]{opacity:.7;cursor:not-allowed}

/* Forms */
.field{margin-bottom:var(--space-4)}
.field__label{display:block;font-size:var(--fs-small);font-weight:var(--fw-medium);color:var(--color-text);margin-bottom:var(--space-2)}
.field__input,.field__textarea,.field__select{display:block;width:100%;min-height:48px;padding:12px 16px;font-size:16px;
    border:1px solid var(--color-border);border-radius:var(--radius-md);background:#fff;color:var(--color-text);
    transition:border-color var(--transition-base),box-shadow var(--transition-base)}
.field__input:focus,.field__textarea:focus,.field__select:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px rgba(0,102,179,.15)}
.field__input[aria-invalid="true"]{border-color:var(--color-error)}
.field__error{display:none;margin-top:6px;font-size:var(--fs-tiny);color:var(--color-error)}
.field__input[aria-invalid="true"]+.field__error{display:block}
.checkbox{display:flex;align-items:flex-start;gap:var(--space-2);font-size:var(--fs-small);color:var(--color-text-muted);cursor:pointer;line-height:1.4}
.checkbox input{margin-top:3px;width:18px;height:18px;accent-color:var(--color-primary);flex-shrink:0;cursor:pointer}
.checkbox a{color:var(--color-primary);text-decoration:underline}
.field__status{margin-top:var(--space-3);font-size:var(--fs-small);color:var(--color-success);font-weight:var(--fw-medium)}

/* Badges */
.badge{display:inline-flex;align-items:center;gap:var(--space-2);padding:6px 12px;border-radius:var(--radius-full);font-size:var(--fs-small);font-weight:var(--fw-medium)}
.badge--verified{background:var(--color-primary-light);color:var(--color-primary)}
.badge--important{background:var(--color-warning-bg);color:var(--color-warning-text);border:1px solid var(--color-warning-border)}

/* Header */
.site-header{position:sticky;top:0;z-index:50;background:#fff;border-bottom:1px solid var(--color-border)}
.site-header__inner{display:flex;align-items:center;justify-content:space-between;min-height:var(--header-height);gap:var(--space-4)}
.site-header__logo{display:inline-flex;align-items:center;gap:var(--space-2);font-size:20px;font-weight:var(--fw-bold);color:var(--color-primary);letter-spacing:-.01em;text-decoration:none;flex-shrink:0}
.site-header__logo svg{width:28px;height:28px;color:var(--color-primary)}
.site-header__logo img{height:40px;width:auto;display:block}
/* Якорные ссылки — компенсация sticky-header */
.section[id],.hero[id],footer[id]{scroll-margin-top:calc(var(--header-height) + 8px)}
.site-nav{display:none;gap:var(--space-6);flex:1;justify-content:center}
@media (min-width:1200px){.site-nav{display:flex}}
.site-nav a{color:var(--color-text);font-size:var(--fs-small);font-weight:var(--fw-medium);text-decoration:none;padding:8px 0}
.site-nav a:hover{color:var(--color-primary);text-decoration:none}
.site-header__right{display:flex;align-items:center;gap:var(--space-3);flex-shrink:0}
.site-header__phone{display:none;font-size:17px;font-weight:var(--fw-semibold);color:var(--color-text);text-decoration:none;align-items:center;gap:var(--space-2)}
.site-header__phone:hover{color:var(--color-primary);text-decoration:none}
.site-header__phone svg{width:20px;height:20px;color:var(--color-primary)}
@media (min-width:768px){.site-header__phone{display:inline-flex;margin-right:20px}}
.site-header__cta{display:none}
@media (min-width:1200px){.site-header__cta{display:inline-flex}}
.menu-toggle{display:flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:var(--radius-md);color:var(--color-text);transition:background-color var(--transition-base)}
.menu-toggle:hover{background:var(--color-bg-subtle)}
.menu-toggle svg{width:24px;height:24px}
@media (min-width:1200px){.menu-toggle{display:none}}

/* Mobile menu */
.mobile-menu{display:none;position:fixed;top:0;right:0;width:min(360px,100%);height:100vh;background:#fff;z-index:120;padding:var(--space-6) var(--space-5);overflow-y:auto;box-shadow:var(--shadow-lg)}
.mobile-menu[aria-hidden="false"]{display:block}
.mobile-menu__close{position:absolute;top:var(--space-3);right:var(--space-3);width:44px;height:44px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-md);color:var(--color-text)}
.mobile-menu__close:hover{background:var(--color-bg-subtle)}
.mobile-menu__close svg{width:24px;height:24px}
.mobile-menu__list{display:flex;flex-direction:column;gap:var(--space-1);margin-top:var(--space-10)}
.mobile-menu__list a{display:block;padding:14px 0;font-size:17px;color:var(--color-text);text-decoration:none;border-bottom:1px solid var(--color-border)}
.mobile-menu__list a:hover{color:var(--color-primary);text-decoration:none}
.mobile-menu__cta{margin-top:var(--space-6)}
.mobile-menu__phone{display:flex;align-items:center;gap:var(--space-2);margin-top:var(--space-4);font-weight:var(--fw-semibold);color:var(--color-text);font-size:18px;text-decoration:none}
.mobile-menu__phone svg{width:20px;height:20px;color:var(--color-primary)}
.backdrop{display:none;position:fixed;inset:0;background:rgba(15,42,68,.6);z-index:115}
.backdrop[aria-hidden="false"]{display:block}

/* Footer */
.site-footer{background:var(--color-footer-bg);color:#C9D2DE;padding:var(--space-12) 0 var(--space-6);margin-top:var(--space-16)}
.site-footer a{color:#C9D2DE;text-decoration:none}
.site-footer a:hover{color:#fff;text-decoration:underline}
.site-footer__grid{display:grid;gap:var(--space-8);grid-template-columns:1fr}
@media (min-width:640px){.site-footer__grid{grid-template-columns:repeat(2,1fr)}}
@media (min-width:1024px){.site-footer__grid{grid-template-columns:repeat(4,1fr)}}
.site-footer__col h4{color:#fff;font-size:14px;text-transform:uppercase;letter-spacing:.05em;margin:0 0 var(--space-4);font-weight:var(--fw-semibold)}
.site-footer__list{display:flex;flex-direction:column;gap:var(--space-2);font-size:var(--fs-small)}
.site-footer__contact{display:flex;gap:var(--space-2);align-items:flex-start;font-size:var(--fs-small);margin-bottom:var(--space-3)}
.site-footer__contact svg{flex-shrink:0;width:18px;height:18px;color:#8FA4BE;margin-top:2px}
.site-footer__social{display:flex;gap:var(--space-3);margin-top:var(--space-4)}
.site-footer__social a{display:flex;align-items:center;justify-content:center;width:36px;height:36px;background:rgba(255,255,255,.08);border-radius:var(--radius-md);transition:background-color var(--transition-base)}
.site-footer__social a:hover{background:var(--color-primary);text-decoration:none}
.site-footer__social svg{width:18px;height:18px;color:#fff}
.site-footer__bottom{margin-top:var(--space-10);padding-top:var(--space-6);border-top:1px solid rgba(255,255,255,.08);display:flex;flex-wrap:wrap;gap:var(--space-3);justify-content:space-between;font-size:var(--fs-tiny);color:#8FA4BE}
.site-footer__bottom a{color:#8FA4BE}

/* Sticky bottom CTA (mobile) */
.sticky-cta{position:fixed;bottom:0;left:0;right:0;z-index:90;background:#fff;border-top:1px solid var(--color-border);padding:var(--space-3) var(--space-4);display:none;gap:var(--space-2);box-shadow:0 -4px 16px rgba(15,23,42,.08);transform:translateY(110%);transition:transform 300ms ease}
.sticky-cta.is-visible{transform:translateY(0)}
.sticky-cta__text{display:none}
.sticky-cta .btn{flex:1;min-height:44px;padding:10px 14px;font-size:15px}
@media (max-width:767px){
    .sticky-cta{display:flex;flex-direction:column;align-items:stretch;gap:6px}
    .sticky-cta__row{display:flex;gap:var(--space-2)}
    .sticky-cta__text{display:block;font-size:var(--fs-tiny);color:var(--color-text-muted);text-align:center;margin:0}
    body.has-sticky{padding-bottom:104px}
}

/* Modal */
.modal{display:none;position:fixed;inset:0;z-index:130;align-items:center;justify-content:center;padding:var(--space-4)}
.modal[aria-hidden="false"]{display:flex}
.modal__dialog{background:#fff;border-radius:var(--radius-lg);width:100%;max-width:460px;padding:var(--space-8);position:relative;box-shadow:var(--shadow-lg);max-height:90vh;overflow-y:auto}
.modal__close{position:absolute;top:12px;right:12px;width:40px;height:40px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-md);color:var(--color-text-muted);transition:background-color var(--transition-base),color var(--transition-base)}
.modal__close:hover{background:var(--color-bg-subtle);color:var(--color-text)}
.modal__close svg{width:22px;height:22px}
.modal__title{font-size:22px;margin:0 0 var(--space-2);line-height:1.25}
.modal__text{font-size:var(--fs-small);color:var(--color-text-muted);margin-bottom:var(--space-5)}
.modal__success{display:none;padding:var(--space-5);background:var(--color-primary-light);border-radius:var(--radius-md);color:var(--color-primary);font-weight:var(--fw-medium);text-align:center}
.modal__success svg{width:42px;height:42px;color:var(--color-success);margin:0 auto var(--space-3)}
.modal--success .lead-form{display:none}
.modal--success .modal__success{display:block}

/* Utility */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.no-scroll{overflow:hidden}

/* IntersectionObserver fade-in */
.io-fade{opacity:0;transform:translateY(24px) scale(.985);transition:opacity 700ms cubic-bezier(.16,1,.3,1),transform 700ms cubic-bezier(.16,1,.3,1);will-change:opacity,transform}
.io-fade.is-visible{opacity:1;transform:translateY(0) scale(1)}
@media (prefers-reduced-motion:reduce){
    .io-fade{opacity:1;transform:none}
}

/* =============================================
   NEW BLOCK STYLES — appended in step 2
   ============================================= */
/* Section base */
.section{padding:var(--space-12) 0}
@media (min-width:1200px){.section{padding:var(--space-16) 0}}
/* ratings: увеличенная высота блока (+~20%) для доп. воздуха */
#ratings{padding-top:74px;padding-bottom:74px}
@media (min-width:1200px){#ratings{padding-top:100px;padding-bottom:100px}}
.section--soft{background:var(--color-bg-soft)}
.section--subtle{background:var(--color-bg-subtle)}
.footer-spacer{height:200px;background:#E6F0F8}
.section__head{max-width:760px;margin-bottom:var(--space-8)}
.section__title{margin:0 0 var(--space-3)}
.section__lead{font-size:17px;color:var(--color-text-muted);line-height:var(--lh-loose);margin:0}
.section__microcopy{margin-top:var(--space-6);font-size:var(--fs-small);color:var(--color-text-muted);max-width:760px;line-height:var(--lh-loose)}
/* Prices block */
.price-group{margin-top:var(--space-8)}
.price-group__title{font-size:var(--fs-h3);margin:0 0 var(--space-4)}
.price-table-wrap{overflow-x:auto;background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);-webkit-overflow-scrolling:touch}
.price-table{width:100%;border-collapse:collapse;min-width:520px;table-layout:fixed}
/* единая ширина колонок в обеих таблицах (эталон — «Дерматологические услуги») */
.price-table th:nth-child(1),.price-table td:nth-child(1){width:22.6%}
.price-table th:nth-child(2),.price-table td:nth-child(2){width:57.9%}
.price-table th:nth-child(3),.price-table td:nth-child(3){width:19.5%}
.price-table th,.price-table td{text-align:left;padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--color-border);vertical-align:top}
.price-table thead th{background:var(--color-primary-light);color:var(--color-primary);font-size:var(--fs-small);font-weight:var(--fw-semibold);text-transform:uppercase;letter-spacing:.02em}
.price-table tbody tr:last-child td{border-bottom:none}
.price-table tbody tr:hover td{background:var(--color-bg-subtle)}
.price-table__code{color:var(--color-text-muted);font-size:var(--fs-small);white-space:nowrap;font-variant-numeric:tabular-nums}
.price-table__price{text-align:right;white-space:nowrap}
.price-table__price{color:var(--color-primary);font-weight:var(--fw-semibold);font-variant-numeric:tabular-nums}

/* ------------- HERO ------------- */
.hero{position:relative;min-height:100vh;min-height:100svh;display:flex;align-items:center;color:#fff;overflow:hidden;background:#0F2A44}
.hero__media{position:absolute;inset:0;z-index:0}
.hero__media img,.hero__media video{width:100%;height:100%;object-fit:cover;object-position:center 30%}
.hero__overlay{position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,rgba(15,42,68,.92) 0%,rgba(15,42,68,.78) 45%,rgba(15,42,68,.35) 100%)}
@media (max-width:767px){.hero__overlay{background:linear-gradient(180deg,rgba(15,42,68,.55) 0%,rgba(15,42,68,.85) 60%,rgba(15,42,68,.92) 100%)}}
.hero__inner{position:relative;z-index:2;padding-top:var(--space-12);padding-bottom:var(--space-12);width:100%}
@media (min-width:768px){.hero__inner{padding-top:var(--space-16);padding-bottom:var(--space-16)}}
.hero__eyebrow{display:inline-flex;align-items:center;gap:var(--space-2);padding:6px 12px;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.22);border-radius:var(--radius-full);font-size:var(--fs-small);font-weight:var(--fw-medium);color:#fff;margin-bottom:var(--space-5);backdrop-filter:blur(6px)}
.hero__eyebrow svg{width:16px;height:16px}
.hero__title{color:#fff;max-width:780px;font-size:clamp(1.875rem,4.5vw,3.25rem);margin-bottom:var(--space-5);line-height:1.15}
.hero__lead{color:rgba(255,255,255,.92);font-size:clamp(1rem,2vw,1.25rem);max-width:640px;line-height:var(--lh-loose);margin-bottom:var(--space-6)}
.hero__bullets{display:flex;flex-direction:column;gap:var(--space-3);margin-bottom:var(--space-8);max-width:560px}
.hero__bullet{display:flex;align-items:center;gap:var(--space-3);color:#fff;font-size:var(--fs-body);font-weight:var(--fw-medium)}
.hero__bullet-icon{flex-shrink:0;width:28px;height:28px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-full);background:rgba(255,255,255,.15)}
.hero__bullet-icon svg{width:16px;height:16px;color:#fff}
.hero__actions{display:flex;flex-wrap:wrap;gap:var(--space-3);align-items:center;margin-bottom:var(--space-5)}
.hero__microcopy{font-size:var(--fs-small);color:rgba(255,255,255,.8);max-width:480px;margin-bottom:var(--space-6)}
.hero__fact{display:inline-flex;align-items:center;gap:var(--space-2);padding:10px 16px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.2);border-radius:var(--radius-md);color:#fff;font-size:var(--fs-small);font-weight:var(--fw-medium)}
.hero__fact svg{width:18px;height:18px;color:#FFC857}

/* ------------- ICON SPRITES (from PNG icon sets) ------------- */
.icon-tile{aspect-ratio:1/1;width:88px;background-repeat:no-repeat;background-color:transparent}
.icon-tile--lg{width:120px}
.icon-b2{background-image:url("content/block-2-icon-set.png");background-size:200% 200%}
.icon-b2--1{background-position:0% 0%}
.icon-b2--2{background-position:100% 0%}
.icon-b2--3{background-position:0% 100%}
.icon-b2--4{background-position:100% 100%}
.icon-b3{background-image:url("content/block-3-icon-set.png");background-size:300% 300%}
.icon-b3--1{background-position:0% 50%}
.icon-b3--2{background-position:50% 50%}
.icon-b3--3{background-position:100% 50%}
.icon-b5{background-image:url("content/block-5-icon-set.png");background-size:200% 200%}
.icon-b5--1{background-position:0% 0%}
.icon-b5--2{background-position:100% 0%}
.icon-b5--3{background-position:0% 100%}
.icon-b5--4{background-position:100% 100%}
.icon-b9{background-repeat:no-repeat;background-size:contain;background-position:center}
.icon-b9--cal{background-image:url("content/block-9-icon-1.png")}
.icon-b9--checks{background-image:url("content/block-9-icon-2.png")}
.icon-b9--doc{background-image:url("content/block-9-icon-3.png")}
.icon-b9--star{background-image:url("content/block-9-icon-4.png")}
.icon-b9--shield{background-image:url("content/block-9-icon-5.png")}

/* ------------- BLOCK 2: showcase cards + swipe ------------- */
.showcase{display:grid;gap:var(--space-4)}
@media (max-width:767px){
    .showcase{display:flex;gap:var(--space-4);overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:var(--space-3);scrollbar-width:none}
    .showcase::-webkit-scrollbar{display:none}
    .showcase__item{flex:0 0 80%;scroll-snap-align:start}
}
@media (min-width:768px){.showcase{grid-template-columns:repeat(2,1fr)}}
@media (min-width:1200px){.showcase{grid-template-columns:repeat(4,1fr)}}
.showcase__item{background:#fff;border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-6);display:flex;flex-direction:column;gap:var(--space-3);box-shadow:var(--shadow-sm);transition:border-color var(--transition-base),box-shadow var(--transition-base)}
.showcase__item:hover{border-color:var(--color-primary);box-shadow:var(--shadow-md)}
.showcase__item--primary{background:var(--color-primary);color:#fff;border-color:var(--color-primary);box-shadow:var(--shadow-md);transform:translateY(-4px)}
.showcase__item--primary:hover{border-color:var(--color-primary);box-shadow:var(--shadow-lg)}
.showcase__item--primary .showcase__title{color:#fff}
.showcase__item--primary .icon-tile{filter:brightness(0) invert(1)}
.showcase__title{font-size:18px;font-weight:var(--fw-semibold);line-height:1.3;margin:var(--space-2) 0 0}
.showcase__text{font-size:var(--fs-small);line-height:var(--lh-base);margin:0}
.showcase__item--primary .showcase__text{color:rgba(255,255,255,.92)}

/* swipe dots */
.swipe-dots{display:flex;gap:8px;justify-content:center;margin-top:var(--space-5)}
@media (min-width:768px){.swipe-dots{display:none}}
.swipe-dot{width:8px;height:8px;border-radius:50%;background:var(--color-border-strong);transition:background-color var(--transition-base),width var(--transition-base)}
.swipe-dot.is-active{background:var(--color-primary);width:24px;border-radius:var(--radius-full)}

/* ------------- BLOCK 3: feature row (pastel bg) ------------- */
.features{display:grid;gap:var(--space-5)}
@media (max-width:767px){
    .features{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:var(--space-3);scrollbar-width:none}
    .features::-webkit-scrollbar{display:none}
    .features__item{flex:0 0 80%;scroll-snap-align:start}
}
@media (min-width:768px){.features{grid-template-columns:repeat(3,1fr)}}
.features__item{background:#fff;border-radius:var(--radius-lg);padding:var(--space-6);text-align:left;box-shadow:var(--shadow-sm)}
.features__title{font-size:18px;font-weight:var(--fw-semibold);margin:var(--space-3) 0 var(--space-2)}
.features__text{font-size:var(--fs-small);color:var(--color-text-muted);line-height:var(--lh-base);margin:0}

/* ------------- BLOCK 4: tech (2 cols + chips) ------------- */
.tech{display:grid;gap:var(--space-8);align-items:center}
@media (min-width:1024px){.tech{grid-template-columns:1fr 1fr;gap:var(--space-12)}}
.tech__media{order:-1;border-radius:var(--radius-lg);overflow:hidden;background:var(--color-bg-subtle);aspect-ratio:4/3}
@media (min-width:1024px){.tech__media{order:0;aspect-ratio:5/4}}
.tech__media img{width:100%;height:100%;object-fit:cover}
.tech__title{margin-bottom:var(--space-4)}
.tech__text{font-size:var(--fs-body);line-height:var(--lh-loose);color:var(--color-text);margin-bottom:var(--space-5)}
.chips{display:flex;flex-wrap:wrap;gap:var(--space-2)}
.chip{display:inline-flex;align-items:center;gap:var(--space-2);padding:8px 14px;background:var(--color-primary-light);color:var(--color-primary);border-radius:var(--radius-full);font-size:var(--fs-small);font-weight:var(--fw-medium)}
.chip svg{width:16px;height:16px;flex-shrink:0}

/* ------------- BLOCK 5: timeline ------------- */
.timeline{position:relative;padding-left:36px;display:flex;flex-direction:column;gap:var(--space-8);width: 100%; right: 0; top: 0;}
.timeline::before{content:"";position:absolute;left:13px;top:8px;bottom:8px;width:2px;background:var(--color-border-strong);border-radius:1px}
.timeline__progress{position:absolute;left:13px;top:8px;width:2px;background:var(--color-primary);border-radius:1px;height:0;transition:height 400ms ease-out;max-height:calc(100% - 16px)}
.timeline__step{position:relative}
.timeline__dot{position:absolute;left:-36px;top:4px;width:28px;height:28px;border-radius:50%;background:#fff;border:2px solid var(--color-border-strong);display:flex;align-items:center;justify-content:center;color:var(--color-text-muted);font-weight:var(--fw-bold);font-size:14px;transition:background-color var(--transition-base),border-color var(--transition-base),color var(--transition-base),transform var(--transition-base);z-index:1}
.timeline__step.is-active .timeline__dot{background:var(--color-primary);border-color:var(--color-primary);color:#fff;transform:scale(1.08)}
.timeline__card{display:grid;gap:var(--space-4);background:#fff;border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-5)}
@media (min-width:768px){.timeline__card{grid-template-columns:96px 1fr;align-items:start}}
.timeline__icon{width:80px;height:80px;background-repeat:no-repeat;flex-shrink:0;margin-bottom:var(--space-2)}
@media (min-width:768px){.timeline__icon{margin-bottom:0}}
.timeline__title{font-size:18px;font-weight:var(--fw-semibold);margin:0 0 var(--space-2)}
.timeline__text{font-size:var(--fs-small);color:var(--color-text);line-height:var(--lh-base);margin:0}

/* ------------- BLOCK 6: cases ------------- */
.cases{display:grid;gap:var(--space-6)}
@media (min-width:1024px){.cases{grid-template-columns:repeat(2,1fr)}}
.case{display:grid;gap:var(--space-5);background:#fff;border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-5);box-shadow:var(--shadow-sm)}
.case__poster{position:relative;aspect-ratio:16/10;border-radius:var(--radius-md);overflow:hidden;background:var(--color-bg-subtle);cursor:pointer;border:none;padding:0;width:100%}
.case__poster img{width:100%;height:100%;object-fit:cover}
.case__poster::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(15,42,68,0) 50%,rgba(15,42,68,.5) 100%)}
.case__play{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:64px;height:64px;border-radius:50%;background:rgba(255,255,255,.95);display:flex;align-items:center;justify-content:center;box-shadow:var(--shadow-md);z-index:1;transition:transform var(--transition-base),background-color var(--transition-base)}
.case__poster:hover .case__play,.case__poster:focus-visible .case__play{background:#fff;transform:translate(-50%,-50%) scale(1.06)}
.case__play svg{width:22px;height:22px;color:var(--color-primary);margin-left:3px}
.case__caption{position:absolute;left:var(--space-4);bottom:var(--space-3);color:#fff;font-size:var(--fs-small);font-weight:var(--fw-medium);z-index:1;text-shadow:0 1px 3px rgba(0,0,0,.4)}
.case__title{font-size:18px;font-weight:var(--fw-semibold);margin:0 0 var(--space-2)}
.case__text{font-size:var(--fs-small);color:var(--color-text);line-height:var(--lh-base);margin:0}
/* Универсальный контейнер для встраивания видео (VK / YouTube / VK Видео / GetReview).
   Сюда вкладывается ЛИБО кнопка-постер (заглушка), ЛИБО iframe из VK. */
.video-embed{position:relative;width:100%;display:block;border-radius:var(--radius-md);overflow:hidden;background:var(--color-bg-subtle)}
.video-embed > iframe{display:block;width:100%;aspect-ratio:16/10;border:0;border-radius:var(--radius-md)}
.video-embed > .case__poster{display:block;width:100%}

/* Video modal */
.modal__dialog--video{max-width:880px;padding:var(--space-5)}
.video-player{aspect-ratio:16/9;background:#0F2A44;border-radius:var(--radius-md);overflow:hidden;display:flex;align-items:center;justify-content:center;color:#fff;text-align:center}
.video-player__stub{padding:var(--space-6);font-size:var(--fs-small)}
.video-player__stub p{margin:0 0 var(--space-2);color:#fff}
.video-player__stub-sub{color:rgba(255,255,255,.7);font-size:var(--fs-tiny)}

/* ------------- BLOCK 7: FAQ accordion (grid-template-rows) ------------- */
.faq{display:flex;flex-direction:column;gap:var(--space-2)}
.faq__item{border:1px solid var(--color-border);border-radius:var(--radius-md);background:#fff;overflow:hidden;transition:border-color var(--transition-base),box-shadow var(--transition-base)}
.faq__item:hover{border-color:var(--color-border-strong)}
.faq__item[aria-expanded="true"]{border-color:var(--color-primary);box-shadow:var(--shadow-sm)}
.faq__question{display:flex;width:100%;align-items:center;justify-content:space-between;gap:var(--space-4);padding:var(--space-4) var(--space-5);font-size:17px;font-weight:var(--fw-semibold);color:var(--color-text);text-align:left;cursor:pointer;background:#fff}
.faq__question:hover{color:var(--color-primary)}
.faq__question:focus-visible{outline:2px solid var(--color-primary);outline-offset:-2px}
.faq__chevron{width:22px;height:22px;flex-shrink:0;color:var(--color-primary);transition:transform var(--transition-base)}
.faq__item[aria-expanded="true"] .faq__chevron{transform:rotate(180deg)}
.faq__answer-wrap{display:grid;grid-template-rows:0fr;transition:grid-template-rows 280ms ease}
.faq__item[aria-expanded="true"] .faq__answer-wrap{grid-template-rows:1fr}
.faq__answer{overflow:hidden}
.faq__answer-inner{padding:0 var(--space-5) var(--space-5);color:var(--color-text);line-height:var(--lh-loose);font-size:var(--fs-body);max-width:800px}
.faq__answer-inner p{margin:0 0 var(--space-3)}
.faq__answer-inner p:last-child{margin-bottom:0}

/* ------------- BLOCK 8: final CTA + form ------------- */
.final-cta{background:var(--color-primary-light);border-radius:var(--radius-lg);padding:var(--space-8) var(--space-5)}
@media (min-width:768px){.final-cta{padding:var(--space-12)}}
.final-cta__head{max-width:680px;margin-bottom:var(--space-6)}
.final-cta__title{margin:0 0 var(--space-3)}
.final-cta__lead{font-size:17px;color:var(--color-text);line-height:var(--lh-loose);margin:0}
.lead-form{display:grid;gap:var(--space-4);max-width:640px}
.lead-form__row{display:grid;gap:var(--space-3)}
@media (min-width:640px){.lead-form__row{grid-template-columns:1fr 1fr 1fr;align-items:end}}
.lead-form .field{margin:0}
.lead-form__loader{display:none;width:18px;height:18px;border:2px solid rgba(255,255,255,.4);border-top-color:#fff;border-radius:50%;animation:lf-spin .8s linear infinite}
.lead-form.is-submitting .lead-form__loader{display:inline-block}
.lead-form.is-submitting .lead-form__label-text{display:none}
@keyframes lf-spin{to{transform:rotate(360deg)}}
.lead-form .checkbox{margin-top:var(--space-1)}
/* Ошибка формы отдельной строкой во всю ширину формы — не влияет на раскладку полей/кнопки.
   Показывается, когда телефон помечен как невалидный (aria-invalid), через :has(). */
.lead-form__error{display:none;margin:0;font-size:var(--fs-tiny);color:var(--color-error)}
.lead-form:has(.field__input[aria-invalid="true"]) .lead-form__error{display:block}

/* ------------- BLOCK 9: trust / metrics ------------- */
.trust-grid{display:grid;gap:var(--space-5)}
@media (max-width:767px){
    .trust-grid{grid-template-columns:repeat(2,1fr)}
}
@media (min-width:768px){.trust-grid{grid-template-columns:repeat(4,1fr)}}
.trust-metric{background:#fff;border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-6) var(--space-4);text-align:center;display:flex;flex-direction:column;align-items:center;gap:var(--space-2)}
.trust-metric__icon{width:64px;height:64px;background-repeat:no-repeat;margin:0 auto var(--space-2)}
.trust-metric__value{font-size:clamp(1.75rem,4vw,2.5rem);font-weight:var(--fw-bold);color:var(--color-primary);line-height:1.1;letter-spacing:-.02em}
.trust-metric__label{font-size:var(--fs-small);color:var(--color-text-muted);line-height:var(--lh-base);margin:0;max-width:200px}

.license-card{margin-top:var(--space-8);background:#fff;border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-6);display:grid;gap:var(--space-4);align-items:center}
@media (min-width:768px){.license-card{grid-template-columns:auto 1fr auto;gap:var(--space-6)}}
.license-card__icon{width:64px;height:64px;background-repeat:no-repeat}
.license-card__body p{margin:0}
.license-card__title{font-size:17px;font-weight:var(--fw-semibold);margin:0 0 var(--space-1)}
.license-card__meta{font-size:var(--fs-small);color:var(--color-text-muted);line-height:var(--lh-base)}
.license-card__actions{display:flex;gap:var(--space-2);flex-wrap:wrap}

/* ------------- BLOCK 10: doctors ------------- */
.doctors{display:grid;gap:var(--space-5)}
@media (max-width:767px){
    .doctors{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:var(--space-3);scrollbar-width:none}
    .doctors::-webkit-scrollbar{display:none}
    .doctors > .doctor-card{flex:0 0 80%;scroll-snap-align:start}
}
@media (min-width:768px){.doctors{grid-template-columns:repeat(2,1fr)}}
@media (min-width:1200px){.doctors{grid-template-columns:repeat(4,1fr)}}
.doctor-card{background:#fff;border:1px solid var(--color-border);border-radius:var(--radius-lg);overflow:hidden;display:flex;flex-direction:column;box-shadow:var(--shadow-sm);transition:border-color var(--transition-base),box-shadow var(--transition-base)}
.doctor-card:hover{border-color:var(--color-primary);box-shadow:var(--shadow-md)}
.doctor-card__photo{position:relative;aspect-ratio:1/1;background:var(--color-bg-subtle);overflow:hidden}
.doctor-card__photo svg,.doctor-card__photo img{width:100%;height:100%;object-fit:cover}
.doctor-card__badge{position:absolute;top:var(--space-3);left:var(--space-3);padding:5px 12px;border-radius:var(--radius-full);font-size:var(--fs-tiny);font-weight:var(--fw-semibold);letter-spacing:.02em;line-height:1.2;z-index:1}
.doctor-card__badge--endo{background:var(--color-primary);color:#fff}
.doctor-card__badge--anest{background:var(--color-primary-light);color:var(--color-primary)}
.doctor-card__body{padding:var(--space-5);display:flex;flex-direction:column;gap:var(--space-2);flex:1}
.doctor-card__name{font-size:17px;font-weight:var(--fw-semibold);color:var(--color-text);margin:0;line-height:1.3}
.doctor-card__role{font-size:var(--fs-small);color:var(--color-text-muted);margin:0;line-height:var(--lh-base)}
.doctor-card__meta{font-size:var(--fs-small);color:var(--color-text-muted);margin:0}
.doctor-card__fact{margin:auto 0 0;padding-top:var(--space-3);font-size:var(--fs-small);color:var(--color-text);border-top:1px solid var(--color-border)}

/* small helper: section content max-width for prose */
.prose-block{max-width:760px;line-height:var(--lh-loose);color:var(--color-text)}


/* ================================================================
   ДОПОЛНИТЕЛЬНЫЕ БЛОКИ — CSS (доноры: cataract / mri / urology)
   Классы не пересекаются с эталонными. Если удалили блок — можно удалить и его CSS.
   ================================================================ */
/* ===== ДОП-БЛОК: CURATOR (донор: cataract) ===== */
/* ------------- BLOCK 3: Curator (CDP-mechanic, two states) ------------- */
.curator{position:relative}
.curator__panel{transition:max-height 600ms ease-out, opacity 600ms ease-out;overflow:hidden}
.curator[data-state="compact"] .curator__panel--compact{max-height:600px;opacity:1}
.curator[data-state="compact"] .curator__panel--expanded{max-height:0;opacity:0;pointer-events:none}
.curator[data-state="expanded"] .curator__panel--compact{max-height:0;opacity:0;pointer-events:none}
.curator[data-state="expanded"] .curator__panel--expanded{max-height:3000px;opacity:1}

/* compact card */
.curator__compact-card{display:grid;gap:var(--space-4);align-items:center;background:#fff;border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-5);box-shadow:var(--shadow-sm)}
.curator__avatar-sm{width:80px;height:80px;border-radius:50%;background:var(--color-bg-soft);flex-shrink:0;overflow:hidden}
.curator__avatar-sm img{width:100%;height:100%;object-fit:cover}
.curator__compact-body{min-width:0}
.curator__compact-title{font-size:18px;font-weight:var(--fw-semibold);color:var(--color-text);margin:0 0 var(--space-1);line-height:1.3}
.curator__compact-text{font-size:var(--fs-small);color:var(--color-text-muted);margin:0;line-height:var(--lh-base)}
.curator__compact-card .btn{align-self:stretch}

/* expanded layout (same DNA as .tech) */
.curator__expanded-grid{display:grid;gap:var(--space-8);align-items:center}
.curator__photo{border-radius:var(--radius-lg);overflow:hidden;background:var(--color-bg-subtle);aspect-ratio:1/1;order:-1}
.curator__photo img{width:100%;height:100%;object-fit:cover}
.curator__expanded-title{margin:0 0 var(--space-4)}
.curator__quote{position:relative;font-size:17px;color:var(--color-text);line-height:var(--lh-loose);margin:0 0 var(--space-5);padding-left:var(--space-5);border-left:3px solid var(--color-primary)}
.curator__quote::before{content:"«";color:var(--color-primary)}
.curator__quote::after{content:"»";color:var(--color-primary)}
.curator__bullets{list-style:none;padding:0;margin:0 0 var(--space-6);display:flex;flex-direction:column;gap:var(--space-3)}
.curator__bullets li{display:flex;align-items:flex-start;gap:var(--space-3);font-size:var(--fs-body);color:var(--color-text);line-height:var(--lh-base)}
.curator__bullets svg{width:22px;height:22px;flex-shrink:0;color:var(--color-primary);margin-top:2px}
.curator__expanded-cta{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-4)}
.curator__expanded-microcopy{font-size:var(--fs-small);color:var(--color-text-muted);margin:0}

/* --- @media --- */
@media (prefers-reduced-motion:reduce){.curator__panel{transition:none}}
@media (min-width:768px){.curator__compact-card{grid-template-columns:auto 1fr auto;gap:var(--space-5);padding:var(--space-5) var(--space-6)}}
@media (min-width:768px){.curator__avatar-sm{width:96px;height:96px}}
@media (min-width:768px){.curator__compact-card .btn{align-self:center}}
@media (min-width:1024px){.curator__expanded-grid{grid-template-columns:5fr 7fr;gap:var(--space-12)}}
@media (min-width:1024px){.curator__photo{order:0;aspect-ratio:4/5}}

/* ===== ДОП-БЛОК: TECH-GRID (донор: cataract) ===== */
/* ------------- Tech card icons (Block 4 — animated icons via SVG) ------------- */
.tech-grid{display:grid;gap:var(--space-5)}
.tech-card{background:#fff;border-radius:var(--radius-lg);padding:var(--space-6);text-align:center;box-shadow:var(--shadow-sm);display:flex;flex-direction:column;align-items:center;gap:var(--space-3)}
.tech-card__icon{width:96px;height:96px;border-radius:50%;background:var(--color-primary-light);color:var(--color-primary);display:flex;align-items:center;justify-content:center;flex-shrink:0}
.tech-card__icon svg{width:50px;height:50px}
.tech-card__title{font-size:18px;font-weight:var(--fw-semibold);margin:var(--space-2) 0 0;line-height:1.3}
.tech-card__text{font-size:var(--fs-small);color:var(--color-text-muted);line-height:var(--lh-base);margin:0}
.tech-card.is-animated .tech-icon-drop{animation:drop-pulse 3s ease-in-out infinite;transform-origin:center}
.tech-card.is-animated .tech-icon-clock-hand{animation:clock-hand 4s linear infinite;transform-origin:center}
.tech-card.is-animated .tech-icon-dot{animation:dot-fade 2s ease-in-out infinite}
@keyframes drop-pulse{0%,100%{transform:scale(1)}50%{transform:scale(1.06)}}
@keyframes clock-hand{from{transform:rotate(0)}to{transform:rotate(360deg)}}
@keyframes dot-fade{0%,100%{opacity:1}50%{opacity:.35}}

/* --- @media --- */
@media (min-width:768px){.tech-grid{grid-template-columns:repeat(3,1fr)}}
@media (min-width:768px){.tech-card__icon{width:120px;height:120px}}
@media (min-width:768px){.tech-card__icon svg{width:60px;height:60px}}
@media (prefers-reduced-motion:reduce){
    .tech-card .tech-icon-drop,.tech-card .tech-icon-clock-hand,.tech-card .tech-icon-dot{animation:none!important}
}


/* ===== ДОП-БЛОК: CARDS-ALERT (донор: mri) ===== */
.cards-grid{display:grid;gap:var(--space-4)}
.card__icon{width:72px;height:72px;border-radius:50%;background:var(--color-primary-light);color:var(--color-primary);display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-bottom:var(--space-2)}
.card__icon svg{width:36px;height:36px}
.card__alert-label{display:inline-flex;align-items:center;gap:6px;font-size:var(--fs-tiny);font-weight:var(--fw-semibold);color:var(--color-accent-warn);text-transform:uppercase;letter-spacing:.04em;margin:0}
.card__alert-label svg{width:14px;height:14px}
.card--alert{border-top:3px solid var(--color-accent-warn)}
.card--alert:hover{border-color:var(--color-border);border-top-color:var(--color-accent-warn)}
.card--alert .card__icon{background:var(--color-accent-warn-soft);color:var(--color-accent-warn)}
.card--alert .card__title{color:var(--color-text)}
.swipe-dots{display:flex;gap:8px;justify-content:center;margin-top:var(--space-5)}
/* --- @media --- */
@media (max-width:767px){
    .cards-grid{display:flex;gap:var(--space-4);overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:var(--space-3);scrollbar-width:none}
    .cards-grid::-webkit-scrollbar{display:none}
}
@media (min-width:768px){.cards-grid{grid-template-columns:repeat(2,1fr)}}
@media (min-width:1200px){.cards-grid{grid-template-columns:repeat(4,1fr)}}
@media (min-width:768px){.card__icon{width:80px;height:80px}}
@media (min-width:768px){.card__icon svg{width:42px;height:42px}}
@media (min-width:768px){.swipe-dots{display:none}}

/* ===== ДОП-БЛОК: PACKAGE-CARD (донор: mri) ===== */
.section--primary{background:var(--color-primary);color:#fff}
.section--primary h1,.section--primary h2,.section--primary h3,.section--primary h4{color:#fff}
.section--primary .section__lead{color:rgba(255,255,255,.9)}
.section--primary .section__microcopy{color:rgba(255,255,255,.75)}
.section--primary p{color:rgba(255,255,255,.9)}
/* Внутри белой .package-card возвращаем тёмный текст (карточка стоит на синем .section--primary) */
.section--primary .package-card,
.section--primary .package-card p{color:var(--color-text)}
.section--primary .package-card .package-card__alt{color:var(--color-text-muted)}
.section--primary .package-card .package-card__price span{color:var(--color-text-muted)}
.badge--accent{background:var(--color-primary);color:#fff}
.badge--accent svg{width:14px;height:14px}
.package-card{max-width:920px;margin:0 auto;background:#fff;color:var(--color-text);border-radius:var(--radius-lg);padding:var(--space-6);box-shadow:var(--shadow-lg);position:relative}
.package-card__head{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-3);margin-bottom:var(--space-5)}
.package-card__title{font-size:22px;font-weight:var(--fw-bold);color:var(--color-text);margin:0;line-height:1.25}
.package-card__grid{display:grid;gap:var(--space-6);margin-bottom:var(--space-6)}
.package-features{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:var(--space-3)}
.package-features li{display:flex;align-items:flex-start;gap:var(--space-3);font-size:var(--fs-body);color:var(--color-text);line-height:var(--lh-base)}
.package-features svg{width:22px;height:22px;flex-shrink:0;color:var(--color-primary);margin-top:2px}
.savings-block{background:var(--color-primary-light);border-radius:var(--radius-md);padding:var(--space-5);display:flex;flex-direction:column;align-items:center;text-align:center;gap:var(--space-2)}
.savings-block__icon{width:56px;height:56px;border-radius:50%;background:#fff;color:var(--color-primary);display:flex;align-items:center;justify-content:center;margin-bottom:var(--space-2)}
.savings-block__icon svg{width:32px;height:32px}
.savings-block__big{font-size:28px;font-weight:var(--fw-bold);color:var(--color-primary);line-height:1.1;font-style:italic}
.savings-block__label{font-size:var(--fs-small);color:var(--color-text);line-height:var(--lh-base);margin:0}
.package-card__cta{display:flex;flex-direction:column;gap:var(--space-4);padding-top:var(--space-5);border-top:1px solid var(--color-border);align-items:stretch}
.package-card__price{display:flex;flex-direction:column;gap:2px;min-width:0}
.package-card__price-label{font-size:var(--fs-tiny);color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.04em;font-weight:var(--fw-medium)}
.package-card__price-value{font-size:28px;color:var(--color-text);font-weight:var(--fw-bold);font-variant-numeric:tabular-nums;line-height:1.1}
.package-card__price-note{font-size:var(--fs-small);color:var(--color-text-muted);line-height:var(--lh-base);margin-top:2px}
.package-card__alt{font-size:var(--fs-small);color:var(--color-text-muted);text-align:center;margin:var(--space-4) 0 0;line-height:var(--lh-base)}
.package-card__alt a{color:var(--color-primary);text-decoration:underline}
/* --- @media --- */
@media (min-width:768px){.package-card{padding:var(--space-10)}}
@media (min-width:768px){.package-card__title{font-size:26px}}
@media (min-width:768px){.package-card__grid{grid-template-columns:2fr 1fr;gap:var(--space-8)}}
@media (min-width:768px){.package-card__cta{flex-direction:row;align-items:center;justify-content:space-between;gap:var(--space-6)}}
@media (max-width:767px){.package-card__cta .btn{width:100%}}

/* ===== ДОП-БЛОК: COMPARISON (донор: mri) ===== */
.badge--accent{background:var(--color-primary);color:#fff}
.badge--accent svg{width:14px;height:14px}
.comparison{display:grid;gap:var(--space-6);position:relative}
.comparison__col{padding:var(--space-6);background:#fff;display:flex;flex-direction:column;gap:var(--space-4)}
.comparison__col--highlight{background:var(--color-bg-soft)}
.comparison__visual{aspect-ratio:3/2;background:#fff;border:1px solid var(--color-border);border-radius:var(--radius-md);overflow:hidden;display:flex;align-items:center;justify-content:center}
.comparison__visual svg{width:100%;height:100%;display:block}
.comparison__col--highlight .comparison__visual{background:#fff}
.comparison__visual--focus svg{transition:filter 600ms ease-out;filter:blur(2px);will-change:filter}
.comparison__visual--focus.is-focused svg{filter:blur(0)}
.comparison__title{font-size:18px;font-weight:var(--fw-semibold);margin:0;display:flex;align-items:center;gap:var(--space-2)}
.comparison__title svg{width:24px;height:24px;color:var(--color-primary)}
.comparison__list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:var(--space-2);font-size:var(--fs-small);color:var(--color-text-muted)}
.comparison__list li{display:flex;align-items:flex-start;gap:var(--space-2);line-height:var(--lh-base)}
.comparison__list svg{width:16px;height:16px;flex-shrink:0;margin-top:3px}
.comparison__list--bad svg{color:var(--color-text-muted)}
.comparison__list--good svg{color:var(--color-primary)}
.comparison__col--highlight .comparison__list{color:var(--color-text)}
.comparison__col--highlight .comparison__list strong{color:var(--color-text);font-weight:var(--fw-semibold)}
.comparison__time{margin-top:auto;padding-top:var(--space-4);border-top:1px dashed var(--color-border);font-size:var(--fs-small);color:var(--color-text-muted)}
.comparison__time strong{display:block;font-size:24px;color:var(--color-text);font-weight:var(--fw-bold);font-variant-numeric:tabular-nums;margin-bottom:2px}
.comparison__col--highlight .comparison__time strong{color:var(--color-primary)}
/* --- @media --- */
@media (min-width:768px){.comparison{grid-template-columns:1fr 1fr;gap:0;border:1px solid var(--color-border);border-radius:var(--radius-lg);overflow:hidden}}
@media (min-width:768px){.comparison__col{padding:var(--space-8)}}
@media (min-width:768px){.comparison__col:first-child{border-right:1px solid var(--color-border)}}
@media (max-width:767px){.comparison__col{border:1px solid var(--color-border);border-radius:var(--radius-lg)}}
@media (prefers-reduced-motion:reduce){.comparison__visual--focus svg{transition:none;filter:blur(0)}}

/* ===== ДОП-БЛОК: COMFORT-GRID (донор: mri) ===== */
.comfort-grid{display:grid;gap:var(--space-4)}
.comfort-card{background:#fff;border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-6);text-align:center;box-shadow:var(--shadow-sm);display:flex;flex-direction:column;align-items:center;gap:var(--space-3);transition:border-color var(--transition-base),box-shadow var(--transition-base)}
.comfort-card:hover{border-color:var(--color-primary);box-shadow:var(--shadow-md)}
.comfort-card__icon{width:96px;height:96px;border-radius:50%;background:var(--color-primary-light);color:var(--color-primary);display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-bottom:var(--space-2)}
.comfort-card__icon svg{width:48px;height:48px}
.comfort-card__title{font-size:17px;font-weight:var(--fw-semibold);margin:0;line-height:1.3;color:var(--color-text)}
.comfort-card__text{font-size:var(--fs-small);color:var(--color-text-muted);line-height:var(--lh-base);margin:0}
/* --- @media --- */
@media (min-width:480px){.comfort-grid{grid-template-columns:repeat(2,1fr)}}
@media (min-width:1200px){.comfort-grid{grid-template-columns:repeat(4,1fr)}}
@media (min-width:768px){.comfort-card__icon{width:120px;height:120px}}
@media (min-width:768px){.comfort-card__icon svg{width:60px;height:60px}}

/* ===== ДОП-БЛОК: EXPERTS-GRID (донор: mri) ===== */
.experts-grid{display:grid;gap:var(--space-8);align-items:start}
.experts-bullets{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:var(--space-5)}
.experts-bullet{display:flex;align-items:flex-start;gap:var(--space-4)}
.experts-bullet__big{flex-shrink:0;font-size:36px;font-weight:var(--fw-bold);color:var(--color-primary);line-height:1;font-variant-numeric:tabular-nums;min-width:64px}
.experts-bullet__body h3{font-size:17px;font-weight:var(--fw-semibold);margin:0 0 var(--space-1)}
.experts-bullet__body p{font-size:var(--fs-small);color:var(--color-text-muted);line-height:var(--lh-base);margin:0}
/* .doctor-card / .doctors — вложены в правую колонку EXPERTS-GRID, копируем как есть */
.doctors{display:grid;gap:var(--space-4)}
.doctor-card{background:#fff;border:1px solid var(--color-border);border-radius:var(--radius-lg);overflow:hidden;display:flex;flex-direction:column;box-shadow:var(--shadow-sm);transition:border-color var(--transition-base),box-shadow var(--transition-base)}
.doctor-card:hover{border-color:var(--color-primary);box-shadow:var(--shadow-md)}
.doctor-card__photo{position:relative;aspect-ratio:1/1;background:var(--color-bg-subtle);overflow:hidden}
.doctor-card__photo svg,.doctor-card__photo img{width:100%;height:100%;object-fit:cover}
.doctor-card__badge{position:absolute;top:var(--space-3);left:var(--space-3);padding:5px 12px;border-radius:var(--radius-full);font-size:var(--fs-tiny);font-weight:var(--fw-semibold);letter-spacing:.02em;line-height:1.2;z-index:1;background:var(--color-primary);color:#fff}
.doctor-card__body{padding:var(--space-5);display:flex;flex-direction:column;gap:var(--space-1);flex:1}
.doctor-card__name{font-size:17px;font-weight:var(--fw-semibold);color:var(--color-text);margin:0;line-height:1.3}
.doctor-card__role{font-size:var(--fs-small);color:var(--color-text-muted);margin:0;line-height:var(--lh-base)}
.doctor-card__meta{font-size:var(--fs-small);color:var(--color-text-muted);margin:0}
/* --- @media --- */
@media (min-width:1024px){.experts-grid{grid-template-columns:1fr 1fr;gap:var(--space-12)}}
@media (max-width:767px){
    .doctors{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:var(--space-3);scrollbar-width:none}
    .doctors::-webkit-scrollbar{display:none}
    .doctors > .doctor-card{flex:0 0 70%;scroll-snap-align:start}
}
@media (min-width:480px){.doctors{grid-template-columns:repeat(2,1fr)}}


/* ===== ДОП-БЛОК: SURGEON-LEAD (донор: urology) ===== */
.expertise-grid{display:grid;gap:var(--space-5)}
.expertise-metric{background:#fff;border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-6) var(--space-5);text-align:center;display:flex;flex-direction:column;align-items:center;gap:var(--space-2);box-shadow:var(--shadow-sm)}
.expertise-metric__icon{width:48px;height:48px;border-radius:var(--radius-full);background:var(--color-primary-light);display:flex;align-items:center;justify-content:center;color:var(--color-primary);margin-bottom:var(--space-2)}
.expertise-metric__icon svg{width:26px;height:26px}
.expertise-metric__value{font-size:clamp(1.75rem,4vw,2.5rem);font-weight:var(--fw-bold);color:var(--color-primary);line-height:1.1;letter-spacing:-.02em}
.expertise-metric__label{font-size:var(--fs-small);color:var(--color-text-muted);line-height:var(--lh-base);margin:0;max-width:260px}

.surgeon-lead{display:grid;gap:0;background:#fff;border:1px solid var(--color-border);border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-sm);margin-top:var(--space-8)}
.surgeon-lead__photo{position:relative;background:var(--color-bg-subtle);overflow:hidden;aspect-ratio:4/3}
.surgeon-lead__photo img,.surgeon-lead__photo svg{width:100%;height:100%;object-fit:cover;display:block}
.surgeon-lead__badge{position:absolute;top:var(--space-3);left:var(--space-3);padding:6px 14px;border-radius:var(--radius-full);font-size:var(--fs-tiny);font-weight:var(--fw-semibold);background:var(--color-primary);color:#fff;z-index:1;letter-spacing:.02em}
.surgeon-lead__body{padding:var(--space-6) var(--space-5);display:flex;flex-direction:column;gap:var(--space-2)}
.surgeon-lead__name{font-size:1.25rem;font-weight:var(--fw-semibold);margin:0;line-height:1.3;color:var(--color-text)}
.surgeon-lead__role{font-size:var(--fs-body);color:var(--color-text-muted);margin:0;line-height:1.4}
.regalia{list-style:none;display:flex;flex-direction:column;gap:var(--space-2);margin:var(--space-4) 0 var(--space-5);padding:0}
.regalia li{display:flex;align-items:flex-start;gap:var(--space-2);font-size:var(--fs-small);color:var(--color-text);line-height:var(--lh-base)}
.regalia li svg{width:18px;height:18px;color:var(--color-primary);flex-shrink:0;margin-top:2px}
.surgeon-lead__actions{margin-top:auto}
/* --- @media --- */
@media (max-width:767px){.expertise-grid{grid-template-columns:1fr}}
@media (min-width:768px){.expertise-grid{grid-template-columns:repeat(3,1fr);gap:var(--space-6)}}
@media (min-width:768px){.surgeon-lead{grid-template-columns:280px 1fr;align-items:stretch}}
@media (min-width:768px){.surgeon-lead__photo{aspect-ratio:auto;min-height:100%}}
@media (min-width:768px){.surgeon-lead__body{padding:var(--space-8)}}

/* ===== ДОП-БЛОК: SAFETY-GRID (донор: urology) ===== */
.safety-grid{display:grid;gap:var(--space-5)}
.safety-card{display:flex;flex-direction:column;background:#fff;border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-6);box-shadow:var(--shadow-sm);transition:border-color var(--transition-base),box-shadow var(--transition-base)}
.safety-card:hover{border-color:var(--color-primary);box-shadow:var(--shadow-md)}
.safety-card__icon{width:56px;height:56px;border-radius:var(--radius-full);background:var(--color-primary-light);display:flex;align-items:center;justify-content:center;color:var(--color-primary);margin-bottom:var(--space-4)}
.safety-card__icon svg{width:28px;height:28px}
.safety-card__question{font-size:1.0625rem;font-weight:var(--fw-semibold);color:var(--color-text);margin:0 0 var(--space-3);line-height:1.35}
.safety-card__value{font-size:clamp(2rem,5vw,2.75rem);font-weight:var(--fw-bold);color:var(--color-primary);line-height:1.1;letter-spacing:-.02em;margin:var(--space-2) 0}
.safety-card__caption{font-size:var(--fs-small);color:var(--color-text-muted);font-style:italic;margin:0 0 var(--space-4);line-height:var(--lh-base)}
.safety-card__divider{height:1px;background:var(--color-border);margin:var(--space-2) 0 var(--space-4)}
.safety-card__explanation{font-size:var(--fs-small);color:var(--color-text);line-height:var(--lh-base);margin:0}
.safety-cta-wrap{margin-top:var(--space-10);text-align:center}
/* --- @media --- */
@media (max-width:767px){
    .safety-grid{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:var(--space-3);scrollbar-width:none}
    .safety-grid::-webkit-scrollbar{display:none}
    .safety-card{flex:0 0 85%;scroll-snap-align:start}
}
@media (min-width:768px){.safety-grid{grid-template-columns:repeat(3,1fr);gap:var(--space-6)}}

/* ===== ДОП-БЛОК: ADVANTAGES (донор: urology) ===== */
.advantages{display:flex;flex-direction:column;gap:var(--space-5)}
.advantage{display:grid;grid-template-columns:48px 1fr;gap:var(--space-3);align-items:start}
.advantage__icon{width:48px;height:48px;border-radius:var(--radius-full);background:var(--color-primary-light);display:flex;align-items:center;justify-content:center;color:var(--color-primary);flex-shrink:0}
.advantage__icon svg{width:24px;height:24px}
.advantage__title{font-size:1.0625rem;font-weight:var(--fw-semibold);color:var(--color-text);margin:0 0 var(--space-1);line-height:1.3}
.advantage__text{font-size:var(--fs-small);color:var(--color-text-muted);line-height:var(--lh-base);margin:0}
/* --- @media --- */
/* (нет @media-правил, относящихся к .advantages/.advantage) */

/* ===== ДОП-БЛОК: FINAL-CTA-SPLIT (донор: urology) ===== */
/* Только модификатор --split и связанные .reassure-list / .lead-form-card.
   Базовый .final-cta берётся из эталона — здесь НЕ дублируется. */
.final-cta--split{display:grid;gap:var(--space-8)}
.reassure-list{list-style:none;display:flex;flex-direction:column;gap:var(--space-3);margin:0;padding:0}
.reassure-list li{display:flex;align-items:flex-start;gap:var(--space-2);font-size:var(--fs-small);color:var(--color-text);line-height:var(--lh-base)}
.reassure-list li svg{width:20px;height:20px;color:var(--color-primary);flex-shrink:0;margin-top:1px}
.lead-form-card{background:#fff;border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-6);box-shadow:var(--shadow-md)}
.lead-form-card__title{font-size:1.125rem;font-weight:var(--fw-semibold);margin:0 0 var(--space-2)}
.lead-form-card__text{font-size:var(--fs-small);color:var(--color-text-muted);margin:0 0 var(--space-5);line-height:var(--lh-base)}
/* --- @media --- */
@media (min-width:1024px){
    .final-cta--split{grid-template-columns:1.1fr 1fr;gap:var(--space-10);align-items:start}
}
@media (min-width:768px){.lead-form-card{padding:var(--space-8)}}


/* ===================================================================
   ФИКСЫ ИНТЕГРАЦИИ ДОП-БЛОКОВ — идут последними, перекрывают донорские
   правила по специфичности/порядку. Базовые стили не трогаются.
   =================================================================== */
/* #5 PACKAGE-CARD: тёмный заголовок на белой карточке (перебиваем широкое
   правило .section--primary h1..h4) + карточка на всю ширину контейнера */
.section--primary .package-card :is(h1,h2,h3,h4),
.section--primary .package-card .package-card__title{color:var(--color-text)}
.package-card{max-width:none;margin:0}

/* #3 FINAL-CTA-SPLIT: форма в карточке — поля в один столбец на всю ширину
   (перебиваем 3-колоночный .lead-form__row эталона внутри узкой карточки);
   иконка-подсказка .lead-form__hint нормального размера (была 411x411) */
.lead-form-card .lead-form__row{grid-template-columns:1fr}
.lead-form__hint{display:flex;align-items:flex-start;gap:8px;margin-top:var(--space-3);
    font-size:var(--fs-tiny);color:var(--color-text-muted);line-height:1.4}
.lead-form__hint svg{width:16px;height:16px;flex:none;color:var(--color-primary);margin-top:1px}

/* #4 Кнопка отправки в форме по высоте = полю ввода (убираем «выпирание» btn--lg) */
.lead-form .btn[type="submit"]{min-height:50px;height:50px;padding-top:0;padding-bottom:0}

/* #2 ADVANTAGES: ограничиваем ширину строки для читабельности
   (в доноре блок жил в узкой колонке рядом с картинкой) */
.advantages{max-width:820px}

/* ===================================================================
   ФИКСЫ v2 — по замечаниям заказчика (идут последними, перекрывают)
   =================================================================== */
/* #1 Инлайн-форма финала: расширяем форму на 24px → поля +~12px каждое,
   кнопка (фикс. ширины) сдвигается ровно на 24px правее */
.final-cta:not(.final-cta--split) .lead-form{max-width:664px}

/* #3 Вертикальный отступ между текстом и списком гарантий в сплит-финале */
.final-cta--split .reassure-list{margin-top:var(--space-6)}

/* Одноколоночный CTA с телефоном (FINAL-CTA-CALL). Подложка и контейнер —
   как у .final-cta--split (базовый .final-cta): тот же голубой фон, закругления,
   отступы и полная ширина контейнера. Контент — в одну колонку, по левому краю. */
/* Голубая подложка — на всю ширину контейнера, как у .final-cta--split. */
.final-cta--call{text-align:left}
/* Область контента сужена до 2/3 ширины (только на планшете/десктопе,
   чтобы на мобильном не ломать читаемость); колонка — по левому краю. */
.final-cta__inner{display:flex;flex-direction:column;align-items:flex-start}
@media (min-width:768px){.final-cta__inner{max-width:66.6667%}}
.final-cta--call .final-cta__title{margin-bottom:var(--space-3)}
.final-cta--call .final-cta__lead{margin-bottom:var(--space-6)}
.final-cta__phone{font-size:clamp(48px,7vw,60px);font-weight:var(--fw-bold);color:var(--color-primary);line-height:1.1;text-decoration:none;white-space:nowrap}
.final-cta__phone:hover{text-decoration:underline}
.final-cta__phone-note{font-size:var(--fs-small);color:var(--color-text-muted);margin:var(--space-2) 0 var(--space-6)}
.final-cta__actions{display:flex;flex-direction:column;gap:var(--space-3);width:100%;max-width:360px}
.final-cta__actions .btn{width:100%}
.final-cta__hours{display:flex;align-items:flex-start;gap:var(--space-2);text-align:left;font-size:var(--fs-small);color:var(--color-text);line-height:var(--lh-base);max-width:560px;margin:var(--space-6) 0 0}
.final-cta__hours svg{width:20px;height:20px;color:var(--color-primary);flex-shrink:0;margin-top:1px}

/* #2 Список преимуществ теперь в секции/контейнере — центрируем колонку */
.advantages{margin-inline:0}

/* #4 Мобильная карусель показаний (.cards-grid): карточки фиксированной
   ширины, чтобы 2/3/4 не сжимались (у эталонного .card не было flex-basis) */
@media (max-width:767px){
    .cards-grid>.card{flex:0 0 82%;scroll-snap-align:start}
}

/* #5 Кнопки на мобильных: текст переносится (не nowrap), центрируется по
   вертикали, интерлиньяж 1.2, кнопка не вылезает за контент */
@media (max-width:767px){
    .btn{white-space:normal;line-height:1.2;height:auto;min-height:48px;
        padding-top:12px;padding-bottom:12px;max-width:100%}
}

/* ===== ФАЗА A: видео-слоты ===== */
.video-embed > img{display:block;width:100%;aspect-ratio:16/10;object-fit:cover;border-radius:var(--radius-md)}

/* ===== ФАЗА B: Триггеры / Рейтинги / Лицензии ===== */
.triggers{display:grid;gap:var(--space-5);border-top:1px solid var(--color-border);border-bottom:1px solid var(--color-border);padding:var(--space-6) 0}
.trigger{position:relative;display:flex;flex-direction:column;align-items:center;text-align:center;gap:var(--space-3)}
.trigger__icon{width:72px;height:72px;object-fit:contain;display:block}
.trigger__text{font-size:var(--fs-small);color:var(--color-text);line-height:var(--lh-base);margin:0;max-width:260px}
@media (min-width:768px){.triggers{grid-template-columns:repeat(4,1fr);gap:var(--space-6)}
    .trigger + .trigger::before{content:"";position:absolute;left:calc(var(--space-6) / -2);top:12%;bottom:12%;width:1px;background:var(--color-border)}
}
@media (max-width:767px){
    .triggers{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:var(--space-3);scrollbar-width:none}
    .triggers::-webkit-scrollbar{display:none}
    .trigger{flex:0 0 64%;scroll-snap-align:start}
}
.ratings__grid{display:flex;gap:var(--space-5);justify-content:safe center;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:var(--space-2);scrollbar-width:none}
.ratings__grid::-webkit-scrollbar{display:none}
.rating-card{flex:0 0 auto;width:160px;display:flex;flex-direction:column;align-items:center;text-align:center;gap:var(--space-2);scroll-snap-align:start}
.rating-card__logo-wrap{height:56px;display:flex;align-items:center;justify-content:center}
.rating-logo{height:44px;width:auto;max-width:140px;object-fit:contain}
.rating-card__label{margin:0;font-size:var(--fs-small);font-weight:var(--fw-semibold);color:var(--color-text)}
.rating-stars{display:flex;gap:2px;color:#FFC857}
.rating-stars svg{width:18px;height:18px}
.rating-card__value{margin:0;font-size:var(--fs-body);font-weight:var(--fw-bold);color:var(--color-text)}
.rating-card__value span{color:var(--color-text-muted);font-weight:var(--fw-medium)}
@media (min-width:768px){.rating-logo{height:52px}}
.licenses__grid{display:flex;gap:var(--space-4);overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:var(--space-3);scrollbar-width:none}
.licenses__grid::-webkit-scrollbar{display:none}
.license-thumb{flex:0 0 calc((100% - var(--space-4)) / 2);scroll-snap-align:start;display:block;border:1px solid var(--color-border);border-radius:var(--radius-md);overflow:hidden;background:#fff;box-shadow:var(--shadow-sm);cursor:zoom-in;transition:box-shadow var(--transition-base),transform var(--transition-base)}
.license-thumb:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}
.license-thumb img{display:block;width:100%;aspect-ratio:634 / 888;object-fit:cover;background:#fff}
@media (min-width:768px){.licenses__grid{gap:var(--space-5)}.license-thumb{flex:0 0 calc((100% - 3 * var(--space-5)) / 4)}}

/* Лайтбокс-галерея лицензий (крупный вид + перелистывание) */
.lightbox{display:none;position:fixed;inset:0;z-index:140;background:rgba(15,23,42,.92);align-items:center;justify-content:center;padding:var(--space-4)}
.lightbox[aria-hidden="false"]{display:flex}
.lightbox__stage{display:flex;align-items:center;justify-content:center;max-width:min(920px,100%);max-height:100%}
.lightbox__img{max-width:100%;max-height:88vh;width:auto;height:auto;object-fit:contain;background:#fff;border-radius:var(--radius-md);box-shadow:var(--shadow-lg)}
.lightbox__close,.lightbox__nav{position:fixed;display:flex;align-items:center;justify-content:center;color:#fff;background:rgba(255,255,255,.14);border-radius:var(--radius-full);transition:background-color var(--transition-base)}
.lightbox__close:hover,.lightbox__nav:hover{background:rgba(255,255,255,.28)}
.lightbox__close{top:16px;right:16px;width:44px;height:44px}
.lightbox__close svg{width:22px;height:22px}
.lightbox__nav{top:50%;transform:translateY(-50%);width:52px;height:52px}
.lightbox__nav svg{width:26px;height:26px}
.lightbox__nav--prev{left:16px}
.lightbox__nav--next{right:16px}
.lightbox__counter{position:fixed;bottom:18px;left:50%;transform:translateX(-50%);margin:0;color:#fff;font-size:var(--fs-small);letter-spacing:.02em}
@media (max-width:767px){.lightbox__nav{width:44px;height:44px}.lightbox__nav--prev{left:8px}.lightbox__nav--next{right:8px}}
.lightbox__dots{position:fixed;bottom:44px;left:50%;transform:translateX(-50%);display:flex;gap:var(--space-2);z-index:141}
.lightbox__dot{width:9px;height:9px;border-radius:50%;background:rgba(255,255,255,.4);cursor:pointer;transition:background-color var(--transition-base),width var(--transition-base)}
.lightbox__dot.is-active{width:24px;border-radius:var(--radius-full);background:#fff}

/* ===== Переиспользуемая карусель: стрелки + точки + краевое затемнение-подсказка =====
   Подсказки/навигация появляются ТОЛЬКО когда контент реально прокручивается (JS ставит can-prev/can-next).
   На десктопе неподвижные блоки (Триггеры/Рейтинги умещаются) остаются без стрелок и точек. */
.carousel{position:relative}
.carousel__viewport{position:relative}
.carousel__arrow{position:absolute;top:50%;transform:translateY(-50%);z-index:3;width:44px;height:44px;border-radius:var(--radius-full);display:none;align-items:center;justify-content:center;background:#fff;color:var(--color-text);box-shadow:var(--shadow-md);border:1px solid var(--color-border);cursor:pointer;transition:background-color var(--transition-base)}
.carousel__arrow:hover{background:var(--color-bg-subtle)}
.carousel__arrow svg{width:22px;height:22px}
.carousel__arrow--prev{left:-8px}
.carousel__arrow--next{right:-8px}
.carousel.can-prev .carousel__arrow--prev{display:flex}
.carousel.can-next .carousel__arrow--next{display:flex}
.carousel__dots{display:flex;justify-content:center;gap:var(--space-2);margin-top:var(--space-4)}
.carousel--static .carousel__dots{display:none}
.carousel__dot{width:8px;height:8px;border-radius:50%;background:var(--color-border-strong);cursor:pointer;transition:background-color var(--transition-base),width var(--transition-base)}
.carousel__dot.is-active{width:22px;border-radius:var(--radius-full);background:var(--color-primary)}
/* Краевое затемнение — сигнал «есть ещё вправо/влево» (цвет фона задаётся --carousel-fade) */
.carousel__viewport::before,.carousel__viewport::after{content:"";position:absolute;top:0;bottom:0;width:44px;pointer-events:none;z-index:2;opacity:0;transition:opacity var(--transition-base)}
.carousel__viewport::before{left:0;background:linear-gradient(90deg,var(--carousel-fade,#fff),rgba(255,255,255,0))}
.carousel__viewport::after{right:0;background:linear-gradient(270deg,var(--carousel-fade,#fff),rgba(255,255,255,0))}
.carousel.can-prev .carousel__viewport::before{opacity:1}
.carousel.can-next .carousel__viewport::after{opacity:1}
@media (max-width:767px){.carousel__arrow{width:40px;height:40px}.carousel__viewport::before,.carousel__viewport::after{width:36px}}

/* ===================================================================
   ФАЗА C: Меню (.mnav) и Футер (.mfoot) — визуальная копия medicina.ru
   =================================================================== */
.mnav{position:sticky;top:0;z-index:900;background:#2962FF;color:#fff;transition:background-color var(--transition-base)}
.mnav.is-scrolled{background:#002CA5}
.mnav__inner{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);min-height:66px}
.mnav a{color:#fff;text-decoration:none}
.mnav__left{display:flex;align-items:center;gap:var(--space-3)}
.mnav__icon-btn{background:none;border:0;color:#fff;cursor:pointer;display:inline-flex;padding:6px}
.mnav__icon-btn img{width:20px;height:20px;filter:brightness(0) invert(1)}
.mnav__logo--m{display:inline-flex;align-items:center}
.mnav__logo--m img{height:42px;width:auto;display:block}
.mnav__phone{display:flex;flex-direction:column;line-height:1.15}
.mnav__phone-num{font-weight:var(--fw-bold);font-size:15px;white-space:nowrap}
.mnav__callback{background:none;border:0;color:#d5deff;font-size:12px;text-decoration:underline;cursor:pointer;padding:0;text-align:left}
.mnav__menu{display:none;align-items:center;gap:var(--space-4)}
.mnav__menu a:not(.mnav__logo){font-size:14px;font-weight:var(--fw-medium);white-space:nowrap;opacity:.95}
.mnav__menu a:not(.mnav__logo):hover{opacity:1;text-decoration:underline}
.mnav__logo{display:inline-flex;align-items:center;margin:0 var(--space-2)}
.mnav__logo img{height:54px;width:auto;display:block}
.mnav__right{display:flex;align-items:center;gap:var(--space-3)}
.mnav__lang{border:1px solid rgba(255,255,255,.55);border-radius:8px;padding:6px 12px;font-size:13px;font-weight:var(--fw-semibold)}
.mnav__lk{display:none;align-items:center;gap:8px;font-size:14px;white-space:nowrap}
.mnav__lk img{width:22px;height:22px;filter:brightness(0) invert(1)}
.mnav__book{display:none;align-items:center;justify-content:center;background:#ED2728;color:#fff;border:0;border-radius:8px;padding:12px 22px;font-size:15px;font-weight:var(--fw-semibold);white-space:nowrap;cursor:pointer;transition:background-color var(--transition-base)}
.mnav__book:hover{background:#d21f20;color:#fff}
.mnav__burger{background:none;border:0;color:#fff;cursor:pointer;display:inline-flex;padding:6px}
.mnav__burger svg{width:28px;height:28px}
@media (min-width:1200px){
    .mnav__inner{max-width:none;padding-left:40px;padding-right:40px}
    .mnav__menu{display:flex}
    .mnav__book{display:inline-flex}
    .mnav__burger{display:none}
    .mnav__logo--m{display:none}
    .mnav__icon-btn img{width:auto;height:30px}
    .mnav__logo{margin:0 var(--space-4)}
    .mnav__logo img{height:56px}
}
@media (max-width:1199px){
    .mnav__icon-btn,.mnav__callback,.mnav__lang{display:none}
    .mnav__phone{flex-direction:row;align-items:center}
}

/* ВЕРХНИЙ ЯРУС ШАПКИ (десктоп): в обычном потоке над .mnav — при скролле уходит вверх, остаётся нижний ярус.
   Высота 52px ≈ 80% от нижнего яруса (66px), округлено до чётного. */
.mnav__top{display:none;position:relative;z-index:950;background:#2962FF;color:#fff;height:52px;font-size:13px}
.mnav__top-inner{display:flex;align-items:center;justify-content:space-between;height:100%;gap:var(--space-4)}
.mnav__top a{color:#fff;text-decoration:none}
.mnav__top-left,.mnav__top-right{display:flex;align-items:center;gap:var(--space-4);height:100%}
.mtop-drop{position:relative;height:100%;display:flex;align-items:center}
.mtop-drop__btn{display:inline-flex;align-items:center;gap:6px;height:100%;padding:0;background:none;border:0;color:#fff;font-size:13px;font-weight:var(--fw-medium);cursor:pointer}
.mtop-drop__btn svg{width:14px;height:14px;transition:transform var(--transition-base)}
.mtop-drop:hover .mtop-drop__btn svg,.mtop-drop:focus-within .mtop-drop__btn svg{transform:rotate(180deg)}
.mtop-drop__panel{position:absolute;top:100%;left:0;min-width:300px;background:#fff;color:var(--color-text);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);padding:var(--space-4);opacity:0;visibility:hidden;transform:translateY(6px);transition:opacity var(--transition-base),transform var(--transition-base),visibility var(--transition-base)}
.mtop-drop:hover .mtop-drop__panel,.mtop-drop:focus-within .mtop-drop__panel{opacity:1;visibility:visible;transform:translateY(0)}
.mtop-drop__panel > p{margin:0 0 var(--space-3);font-size:14px;line-height:var(--lh-base)}
.mtop-drop__links{display:flex;gap:var(--space-4);border-top:1px solid var(--color-border);padding-top:var(--space-3)}
.mtop-drop__links a{color:var(--color-primary);font-weight:var(--fw-semibold);font-size:14px}
.mtop-drop__links a:hover{text-decoration:underline}
.mtop-drop__panel--schedule{min-width:340px}
.mtop-sched__title{margin:0 0 var(--space-2);font-size:14px;font-weight:var(--fw-bold);color:var(--color-text)}
.mtop-sched__row{margin:0;font-size:14px;line-height:1.6;color:var(--color-text)}
.mtop-sched__sub{margin:var(--space-3) 0 var(--space-1);font-size:14px;font-weight:var(--fw-semibold);color:var(--color-text)}
.mtop-sched__list{margin:0 0 var(--space-3);padding:0;list-style:none}
.mtop-sched__list li{font-size:14px;line-height:1.6;color:var(--color-text)}
.mtop-sched__list li::before{content:"— "}
.mtop-lang{background:none;border:1px solid rgba(255,255,255,.6);border-radius:var(--radius-full);color:#fff;font-size:13px;font-weight:var(--fw-semibold);line-height:1;padding:5px 12px;cursor:pointer;transition:background-color var(--transition-base)}
.mtop-lang:hover{background:rgba(255,255,255,.14)}
.mtop-count{display:inline-flex;align-items:center;background:#002CA5;color:#fff;border-radius:var(--radius-full);padding:5px 14px;font-size:13px;font-weight:var(--fw-semibold);white-space:nowrap}
.mtop-note{color:#fff;font-size:13px;white-space:nowrap}
.mtop-lk{display:inline-flex;align-items:center;gap:8px;font-size:13px;font-weight:var(--fw-medium);white-space:nowrap}
.mtop-lk img{width:18px;height:18px;filter:brightness(0) invert(1)}
@media (min-width:1200px){
    .mnav__top{display:block}
    .mnav__top-inner{max-width:none;padding-left:40px;padding-right:40px}
}
/* Широкие экраны: отступы шапки от краёв 160px (края сдвигаются к центру, центр нижнего яруса на месте).
   На 1200–1439px остаётся 40px — при 320px суммарных отступов контент нижнего яруса иначе не умещается. */
@media (min-width:1440px){
    .mnav__inner,.mnav__top-inner{padding-left:160px;padding-right:160px}
}

.mfoot{background:#242931;color:#c7ccd4;font-size:14px}
.mfoot .container{padding-top:var(--space-10);padding-bottom:var(--space-6)}
/* Контентный контейнер футера повторяет боковые отступы контента шапки
   (.mnav__inner): до 1200px — стандартный .container, затем полноширинный
   с отступами 40px, а от 1440px — 160px от краёв. */
@media (min-width:1200px){.mfoot .container{max-width:none;padding-left:40px;padding-right:40px}}
@media (min-width:1440px){.mfoot .container{padding-left:160px;padding-right:160px}}
.mfoot a{color:#c7ccd4;text-decoration:none}
.mfoot a:hover{color:#fff;text-decoration:underline}

/* ── ЯРУСЫ ФУТЕРА ──────────────────────────────────────────────
   Каждый ярус — полоса во всю ширину со своим фоном; контент внутри —
   в .container с боковыми отступами шапки. Вертикальные отступы симметричны.
   Светлые ярусы (1–4) — #F1F4F8, тёмные (5–7) — #242931, противопоказания — #1c2027. */
.mfoot__tier > .container{padding-top:var(--space-8);padding-bottom:var(--space-8)}
.mfoot__tier--light{background:#F1F4F8;color:var(--color-text)}
.mfoot__tier--light a{color:var(--color-primary)}
.mfoot__tier--light a:hover{color:#002CA5;text-decoration:underline}
.mfoot__tier--dark{background:#242931;color:#c7ccd4}
/* Тонкий разделитель между соседними тёмными ярусами */
.mfoot__tier--dark + .mfoot__tier--dark{border-top:1px solid rgba(255,255,255,.12)}

/* Сетки-колонки ярусов */
.mfoot__grid{display:grid;gap:var(--space-6)}
.mfoot__grid--2,.mfoot__grid--3,.mfoot__grid--4,.mfoot__grid--f1{grid-template-columns:1fr}
@media (min-width:768px){
    .mfoot__grid--2{grid-template-columns:repeat(2,1fr)}
    .mfoot__grid--3{grid-template-columns:repeat(3,1fr)}
    .mfoot__grid--4{grid-template-columns:repeat(2,1fr)}
    .mfoot__grid--f1{grid-template-columns:repeat(2,1fr)}
}
@media (min-width:1200px){
    .mfoot__grid--3{grid-template-columns:repeat(3,1fr)}
    .mfoot__grid--4{grid-template-columns:repeat(4,1fr)}
    /* Ярус 1: контейнер 2 (приложение) шире — за счёт 1 и 3 */
    .mfoot__grid--f1{grid-template-columns:0.7fr 2.3fr 1.3fr 1fr}
}
/* ВРЕМЕННО: пустые ячейки-заглушки, чтобы видеть структуру колонок.
   Удалить рамку и min-height после наполнения ярусов контентом. */
.mfoot__cell{min-height:56px;border-radius:var(--radius-md)}
.mfoot__tier--light .mfoot__cell{border:1px dashed #c3cede}
.mfoot__tier--dark .mfoot__cell{border:1px dashed rgba(255,255,255,.14)}
/* Наполненная ячейка — без рамки/мин-высоты заглушки */
.mfoot__cell--filled{min-height:0;border:0!important}
.mfoot__logo{display:inline-flex}
.mfoot__logo img{height:64px;width:auto;display:block}

/* ЯРУС 1 — модули: приложение / телефон / мессенджеры */
.mfoot__mod{display:flex;flex-direction:column;align-items:center;text-align:center;gap:var(--space-2)}
.mfoot__app-title{margin:0;font-size:13px;color:#000;line-height:1.25}
.mfoot__app-sub{margin:0;font-size:11px;color:#000;line-height:1.25}
.mfoot__app-card{display:block;width:100%;max-width:520px;height:auto;margin-top:4px;border-radius:var(--radius-md)}
.mfoot__phone-24{margin:0;font-size:12px}
.mfoot__phone-num{font-size:28px;font-weight:var(--fw-bold);line-height:1.1;white-space:nowrap;text-decoration:none}
.mfoot__phone-num:hover{text-decoration:none}
.mfoot__mess-label{margin:0;font-size:12px}
.mfoot__mess{display:flex;justify-content:center;gap:12px;margin-top:4px}
.mfoot__mess a{width:36px;height:36px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:#fff;border:1px solid #dbe2ec;overflow:hidden;flex:none}
.mfoot__mess a:hover{border-color:var(--color-primary)}
.mfoot__mess img{width:20px;height:20px;object-fit:contain;display:block}

/* ЯРУС 2 — блок «заголовок + картинка», выравнивание по левому краю */
.mfoot__block{display:flex;flex-direction:column;align-items:flex-start;text-align:left;gap:var(--space-3)}
.mfoot__block-title{margin:0;font-size:13px;font-weight:var(--fw-semibold);color:#000}
.mfoot__block-img{display:block;max-width:100%;height:auto}

/* ЯРУС 3 — колонки-списки ссылок с разным выравниванием */
.mfoot__links{display:flex;flex-direction:column;gap:var(--space-2)}
.mfoot__links a{font-size:13px}
.mfoot__links--left{align-items:flex-start;text-align:left}
.mfoot__links--center{align-items:center;text-align:center}
.mfoot__links--right{align-items:flex-end;text-align:right}

/* ЯРУС 4 — юридическая приписка (по левому краю) */
.mfoot__legal{display:flex;flex-direction:column;gap:var(--space-2);text-align:left}
.mfoot__legal p{margin:0;font-size:13px;line-height:1.5;color:var(--color-text-muted)}

/* ЯРУС 5 — колонки с модулями (ссылка + приписки) */
.mfoot__infocol{display:flex;flex-direction:column;align-items:flex-start;gap:var(--space-4);text-align:left}
.mfoot__mod-item{display:flex;flex-direction:column;gap:4px}
.mfoot__infocol a,.mfoot__linklist a{font-size:13px;line-height:1.35}
.mfoot__note{margin:0;font-size:12px;color:#9aa2ad;line-height:1.5}
.mfoot__infocol-title{margin:0;font-size:13px;font-weight:var(--fw-semibold);color:#fff}
.mfoot__linklist{display:flex;flex-direction:column;gap:var(--space-2)}

/* Нейтрализуем старые отступы/разделители — их роль теперь у ярусов */
.mfoot__tier .mfoot__mid{margin-top:0;padding-top:0;border-top:0}
.mfoot__tier .mfoot__disclaimer-star{margin-top:0;padding-top:0;border-top:0}

/* ЯРУС 6: голосование + карта, модули равной ширины */
.mfoot__mid{display:grid;gap:var(--space-5)}
@media (min-width:900px){.mfoot__mid{grid-template-columns:1fr 1fr;align-items:stretch}}
.mfoot__vote{display:flex;gap:var(--space-4);align-items:center;background:#2f3640;border-radius:var(--radius-md);padding:var(--space-5)}
.mfoot__vote-eagle{width:64px;height:auto;flex:none}
.mfoot__vote-body{flex:1;min-width:0}
.mfoot__vote-body p{margin:0 0 6px;color:#e6e9ee;line-height:1.4}
.mfoot__vote-body a{display:block;width:fit-content;color:#8fb4ff;text-decoration:underline;font-size:13px;margin-top:4px}
.mfoot__qr{width:96px;height:96px;flex:none;border-radius:6px}
.mfoot__map{background:#2f3640;border-radius:var(--radius-md);padding:var(--space-3);display:flex;flex-direction:column;gap:var(--space-3)}
.mfoot__map-frame{width:100%;flex:1;min-height:210px;border:0;border-radius:var(--radius-md);display:block}
.mfoot__map-link{color:#8fb4ff;text-decoration:underline;text-align:center}

/* ЯРУС 7: дисклеймер + копирайт */
.mfoot__disclaimer-star{margin:0;font-size:13px;color:#9aa2ad;line-height:1.5}
.mfoot__bottom{display:flex;flex-wrap:wrap;gap:var(--space-4);justify-content:space-between;align-items:center;margin-top:var(--space-6)}
.mfoot__bottom-right{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-6)}
.mfoot__a11y{display:inline-flex;align-items:center;gap:8px}
.mfoot__a11y img{width:20px;height:20px;filter:brightness(0) invert(1);opacity:.85}
.mfoot__tech{display:inline-flex;align-items:center;gap:8px;color:#9aa2ad}
.mfoot__tech-logo{height:24px;width:auto;display:block}
.mfoot__contra{background:#1c2027;color:#727a86;text-align:center;font-size:24px;font-weight:var(--fw-bold);letter-spacing:.03em;padding:14px var(--container-px)}



.cta-contact-card__phone {
    display: inline-block;
    font-size: clamp(28px, 5vw, 40px);
    line-height: 1.05;
    font-weight: 700;
    color: var(--color-text);
    margin: 12px 0 10px;
}
