/* ====================================================================
   АКДЕНТИС — EDITORIAL вариант (стилистика каталога a-dec)
   Отдельные стили, не связаны с основным styles.css
   ==================================================================== */

:root {
  /* палитра */
  --e-ink:      #33333a;   /* заголовки/тёмный текст */
  --e-body:     #55555d;   /* body-текст */
  --e-muted:    #8b8b93;   /* приглушённый */
  --e-coral:    #0061BB;   /* главный акцент — синий */
  --e-coral-dk: #004a90;   /* тёмно-синий (hover) */
  --e-accent:   #ec6a4c;   /* коралл — полоски, линии, телефон */
  --e-accent-dk:#d5522f;
  --e-blue:     #0061BB;   /* синий (чевроны) */
  --e-amber:    #e3a03a;   /* янтарные выноски */
  --e-bg:       #ffffff;
  --e-surface:  #f3f2ef;   /* светло-серые плитки */
  --e-surface2: #e8e7e2;
  --e-line:     #dedcd6;
  --e-dark:     #1c1c22;   /* тёмные секции */
  --e-dark2:    #16161b;

  /* шрифты */
  --e-display: "Oswald", "Arial Narrow", system-ui, sans-serif;
  --e-serif:   "PT Serif", Georgia, serif;
  --e-sans:    "PT Sans", system-ui, -apple-system, "Segoe UI", sans-serif;

  --e-max: 1910px;
  --e-pad: 40px;
  --ease: cubic-bezier(.22,.61,.36,1);
}

*, *::before, *::after { box-sizing: border-box; }
* { margin: 0; padding: 0; }
html { scroll-behavior: smooth; -webkit-text-size-adjust: 100%; overflow-x: clip; }
body {
  font-family: var(--e-sans);
  color: var(--e-body);
  background: var(--e-bg);
  line-height: 1.5;
  font-size: 16px;
  overflow-x: clip;
}
img { display: block; max-width: 100%; }
a { color: var(--e-coral); text-decoration: none; }
a:hover {
  text-decoration: revert;
}
button { font: inherit; cursor: pointer; border: none; background: none; color: inherit; }
input, textarea { font: inherit; }

.e-container { width: 100%; max-width: var(--e-max); margin: 0 auto; padding: 0 var(--e-pad); }

.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; }
:focus-visible { outline: 3px solid var(--e-coral); outline-offset: 3px; }

/* ---------- типовые элементы ---------- */
.e-h2 {
  font-family: var(--e-display);
  font-weight: 700;
  text-transform: uppercase;
  font-size: clamp(38px, 6vw, 86px);
  line-height: .92;
  letter-spacing: -0.005em;
  color: var(--e-ink);
}
.e-h2--light { color: #fff; }
.e-h2 .dot { color: var(--e-coral); }

.e-intro {
  font-size: 17px;
  line-height: 1.6;
  color: var(--e-body);
  max-width: 62ch;
}

.e-kicker {
  display: inline-flex; align-items: center; gap: 12px;
  font-family: var(--e-display); font-weight: 500;
  text-transform: uppercase; letter-spacing: .14em; font-size: 13px;
  color: var(--e-ink);
}
.e-kicker i {
  width: 0; height: 0;
  border-left: 7px solid var(--e-coral);
  border-top: 5px solid transparent; border-bottom: 5px solid transparent;
}

.d-none {
  display: none !important;
}
/* треугольный буллет (общий) */
.tri { width:0; height:0; border-left:7px solid var(--e-coral); border-top:5px solid transparent; border-bottom:5px solid transparent; }

/* ---------- кнопки ---------- */
.e-btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 10px;
  font-family: var(--e-display); font-weight: 500;
  text-transform: uppercase; letter-spacing: .06em; font-size: 14px;
  padding: 14px 26px; border-radius: 2px;
  transition: background .25s var(--ease), color .25s var(--ease), transform .2s var(--ease), border-color .25s;
}
.e-btn--lg { padding: 17px 34px; font-size: 15px; }
.e-btn--block { width: 100%; }
.e-btn--coral { background: var(--e-coral); color: #fff; }
.e-btn--coral:hover { background: var(--e-coral-dk); transform: translateY(-2px); }
.e-btn--ghost { border: 1.5px solid rgba(255,255,255,.6); color: #fff; }
.e-btn--ghost:hover { background: #fff; color: var(--e-ink); }
.e-btn--e-accent { background: var(--e-accent); color: #fff; }
.e-btn--e-accent:hover { background: var(--e-coral-dk); transform: translateY(-2px); }


/* ====================================================================
   HEADER
   ==================================================================== */
.eh {
  position: sticky; top: 0; z-index: 50;
  background: rgba(255,255,255,.92);
  backdrop-filter: blur(12px);
  border-bottom: 1px solid var(--e-line);
}
.eh__inner { display: flex; align-items: center; gap: 32px; height: 76px; }
.eh__logo {
  font-family: var(--e-display); font-weight: 700; text-transform: uppercase;
  font-size: 26px; letter-spacing: .02em; color: var(--e-ink); flex-shrink: 0;
}
.eh__logo span { color: var(--e-coral); }
.eh__nav { display: flex; gap: 28px; margin: 0 auto; }
.eh__nav a {
  font-family: var(--e-display); font-weight: 500; text-transform: uppercase;
  letter-spacing: .06em; font-size: 14px; color: var(--e-ink);
  padding: 6px 0; position: relative;
}
.eh__nav a::after { content:""; position:absolute; left:0; bottom:0; height:2px; width:0; background:var(--e-coral); transition:width .3s var(--ease); }
.eh__nav a:hover::after { width: 100%; }
.eh__actions { display: flex; align-items: center; gap: 20px; flex-shrink: 0; }
.eh__phone { font-family: var(--e-display); font-weight: 600; font-size: 20px; color: var(--e-ink); white-space: nowrap; }

.eh__burger { display: none; width: 44px; height: 44px; flex-direction: column; justify-content: center; align-items: center; gap: 6px; }
.eh__burger span { display: block; width: 26px; height: 2px; background: var(--e-ink); transition: transform .3s var(--ease), opacity .2s; }
.eh__burger.is-open span:nth-child(1) { transform: translateY(8px) rotate(45deg); }
.eh__burger.is-open span:nth-child(2) { opacity: 0; }
.eh__burger.is-open span:nth-child(3) { transform: translateY(-8px) rotate(-45deg); }

.e-mobile {
  position: fixed; inset: 76px 0 auto 0; z-index: 49;
  background: #fff; border-bottom: 1px solid var(--e-line);
  display: flex; flex-direction: column; gap: 14px; padding: 26px var(--e-pad) 34px;
  transform: translateY(-130%); transition: transform .4s var(--ease);
  box-shadow: 0 30px 60px rgba(0,0,0,.14);
}
.e-mobile.is-open { transform: translateY(0); }
.e-mobile a { font-family: var(--e-display); text-transform: uppercase; letter-spacing: .05em; font-size: 18px; color: var(--e-ink); }
.e-mobile__phone { font-size: 22px !important; font-weight: 600; }

/* ====================================================================
   HERO
   ==================================================================== */
.hero-e { position: relative; background: var(--e-dark); overflow: hidden; }
.hero-e__media { position: absolute; inset: 0; }
.hero-e__media::after {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    content: "";
    
  }
.hero-e__media img { width: 100%; height: 100%; object-fit: cover; }
.hero-e::before {
  content: ""; position: absolute; inset: 0 auto 0 0; width: 62%;
  background: #fff;
  clip-path: polygon(0 0, 100% 0, calc(100% - 150px) 100%, 0 100%);
  z-index: 1;
}
/* hero: смешение фото по центру*/
.hero-e__media img.MID {
  left: 365px;
  position: relative;
}
 /* hero: смешение фото по левому краю, */

.hero-e__media img.LEFT {
  left: 650px;
  position: relative;
}

.hero-e__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  /*object-position: var(--focus-x, 50%) center; */
  left: var(--focus-x, 50%);
  position: relative;
}
.hero-e__inner {
  position: relative; z-index: 2;
  min-height: 86vh; display: flex; flex-direction: column; justify-content: center;
  padding: 90px 0; max-width: calc(var(--e-max) * 0.8 + var(--e-pad));
}
.hero-e__title {
  font-family: var(--e-display); font-weight: 700; text-transform: uppercase;
  font-size: clamp(42px, 6.6vw, 92px); line-height: .92; letter-spacing: -0.01em;
  color: var(--e-ink); margin: 22px 0 24px;
}
.hero-e__title span { color: var(--e-coral); }
.hero-e__lead { font-size: 18px; line-height: 1.6; color: var(--e-body); max-width: 46ch; margin-bottom: 34px; }
.hero-e__cta { display: flex; gap: 14px; flex-wrap: wrap; }
.hero-e__cta .e-btn--ghost { border-color: var(--e-line); color: var(--e-ink); }
.hero-e__cta .e-btn--ghost:hover { background: var(--e-ink); color: #fff; }
.hero-e__tag {
  position: absolute; left: var(--e-pad); bottom: 26px; z-index: 2;
  font-family: var(--e-display); text-transform: uppercase; letter-spacing: .12em;
  font-size: 12px; color: var(--e-muted);
}

/* ====================================================================
   WELCOME (формат 2.jpg)
   ==================================================================== */
.wl {
  display: grid; grid-template-columns: 44% 1fr; align-items: center;
  gap: clamp(32px, 5vw, 88px);
  max-width: 1440px; margin: 0 auto; padding: clamp(60px,7vw,110px) var(--e-pad);
}
.wl__photo { position: relative; align-self: stretch; min-height: 560px; overflow: hidden;
  clip-path: polygon(0 0, 100% 0, calc(100% - 90px) 100%, 0 100%); }
.wl__photo img { width: 100%; height: 100%; object-fit: cover; object-position: top center; }
.wl__num { font-family: var(--e-display); font-weight: 700; font-size: 30px; color: var(--e-coral); display: block; margin-bottom: 6px; }
.wl__title { font-family: var(--e-display); font-weight: 700; text-transform: uppercase; font-size: clamp(30px,3.6vw,52px); line-height: .96; color: var(--e-ink); }
.wl__sub { font-family: var(--e-serif); font-style: italic; font-size: clamp(22px,2.2vw,30px); line-height: 1.2; color: var(--e-ink); margin: 22px 0 26px; }
.wl__text { border-left: 2px solid var(--e-coral); padding-left: 26px; }
.wl__text p { font-size: 16px; line-height: 1.65; color: var(--e-body); margin-bottom: 14px; }
.wl__sign { margin-top: 26px; }
.wl__name { display: block; font-family: var(--e-serif); font-weight: 700; font-size: 19px; color: var(--e-ink); }
.wl__post { display: block; font-size: 14px; color: var(--e-muted); margin-top: 3px; }

/* ====================================================================
   SERVICES — шевроны (формат 51.jpg)
   ==================================================================== */
.sv { padding: clamp(60px,7vw,110px) 0; background: var(--e-bg); }
.sv .e-intro { margin: 22px 0 8px; }
.chev-mosaic { margin-top: 46px; }
.chev-row { display: flex; }
.chev-row + .chev-row { margin-top: 18px; }
.chev {
  position: relative; flex: 1 1 0; min-width: 0; height: 200px;
  display: flex; align-items: flex-end;
  padding: 24px 44px 24px 50px; color: #fff;
  margin-left: -26px;
  clip-path: polygon(0 0, calc(100% - 28px) 0, 100% 50%, calc(100% - 28px) 100%, 0 100%, 28px 50%);
  transition: filter .3s var(--ease), transform .3s var(--ease);
}
.chev--first { margin-left: 0; clip-path: polygon(0 0, calc(100% - 28px) 0, 100% 50%, calc(100% - 28px) 100%, 0 100%); }
.chev:hover { filter: brightness(1.08); }
/* базовая плитка: фото сверху чистое, затемнение только снизу под подпись */
.chev, .chev--photo {
  background: linear-gradient(to top, rgba(18,18,24,.88) 0%, rgba(18,18,24,.5) 32%, rgba(18,18,24,.12) 62%, rgba(18,18,24,0) 100%),
              var(--img, none) center/cover no-repeat;
  background-color: #2a2a30;
}
/* акцентные плитки: фирменная тонировка поверх того же фото (фото остаётся видимым) */
.chev--coral { background: linear-gradient(to top, rgba(196,66,36,.92) 0%, rgba(220,88,52,.55) 34%, rgba(236,106,76,.18) 68%, rgba(236,106,76,0) 100%), var(--img, none) center/cover no-repeat; background-color: var(--e-coral); }
.chev--blue  { background: linear-gradient(to top, rgba(0,74,144,.92) 0%, rgba(0,97,187,.58) 34%, rgba(0,97,187,.2) 68%, rgba(0,97,187,0) 100%), var(--img, none) center/cover no-repeat; background-color: var(--e-blue); }
.chev--amber { background: linear-gradient(to top, rgba(160,102,16,.92) 0%, rgba(204,136,34,.58) 34%, rgba(227,160,58,.2) 68%, rgba(227,160,58,0) 100%), var(--img, none) center/cover no-repeat; background-color: var(--e-amber); color: #fff; }
.chev__label { display: flex; flex-direction: column; gap: 10px; font-family: var(--e-display); font-weight: 600; text-transform: uppercase; font-size: clamp(14px,1.1vw,18px); line-height: 1.05; letter-spacing: .02em; text-shadow: 0 2px 10px rgba(0,0,0,.4); }
.chev__label i { width:0; height:0; border-bottom: 9px solid currentColor; border-left: 6px solid transparent; border-right: 6px solid transparent; opacity: .95; }

/* ====================================================================
   PRICES
   ==================================================================== */
.pr { position: relative; background: var(--e-dark); color: #fff; overflow: hidden; padding: clamp(60px,7vw,110px) 0; }
.pr__bg { position: absolute; inset: 0; background: var(--img) center/cover no-repeat; opacity: .16; filter: grayscale(.3); }
.pr__inner { position: relative; z-index: 1; }
.pr__head { display: grid; grid-template-columns: auto 1fr; gap: 40px; align-items: end; margin-bottom: 50px; }
.pr__note { color: rgba(255,255,255,.72); max-width: 46ch; font-size: 16px; line-height: 1.6; }
.pr__list { display: grid; grid-template-columns: 1fr 1fr; gap: 30px 70px; }
.pr__cat {
  font-family: var(--e-display); font-weight: 600; text-transform: uppercase;
  letter-spacing: .04em; font-size: 15px; color: #fff;
  display: flex; align-items: center; gap: 12px;
  margin: 28px 0 14px; padding-bottom: 12px; border-bottom: 1px solid rgba(255,255,255,.16);
}
.pr__cat:first-child { margin-top: 0; }
.pr__cat i { width:0; height:0; border-left: 8px solid var(--e-coral); border-top: 5px solid transparent; border-bottom: 5px solid transparent; }
.pr__row { display: flex; align-items: baseline; gap: 14px; padding: 11px 0; border-bottom: 1px dashed rgba(255,255,255,.14); }
.pr__row span { color: rgba(255,255,255,.82); font-size: 15px; }
.pr__row b { margin-left: auto; font-family: var(--e-display); font-weight: 600; font-size: 18px; white-space: nowrap; }
.pr__free { color: var(--e-coral); }
.pr__cta { margin-top: 44px; }

/* ====================================================================
   DOCTORS
   ==================================================================== */
.dc { padding: clamp(60px,7vw,110px) 0; }
.dc__head { display: grid; grid-template-columns: auto 1fr; gap: 44px; align-items: end; margin-bottom: 50px; }
.dc__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 30px 26px; }
.doc-e__photo { position: relative; overflow: hidden; aspect-ratio: 3/4.4;
  }
.doc-e__photo img { width: 100%; height: 100%; object-fit: cover; object-position: 50% 18%; transition: transform .5s var(--ease); }
.doc-e:hover .doc-e__photo img { transform: scale(1.05); }
.doc-e__body { padding-top: 18px; }
.doc-e__tag { font-family: var(--e-display); font-weight: 500; text-transform: uppercase; letter-spacing: .05em; font-size: 12px; color: var(--e-coral); }
.doc-e__name { font-family: var(--e-serif); font-weight: 700; font-size: 20px; color: var(--e-ink); margin: 8px 0 8px; line-height: 1.15; }
.doc-e__role { font-size: 14px; color: var(--e-body); line-height: 1.5; }
.doc-e__exp { display: flex; align-items: center; gap: 9px; margin-top: 10px;
  font-family: var(--e-display); text-transform: uppercase; letter-spacing: .05em;
  font-size: 12px; color: var(--e-ink); }
.doc-e__exp i { width:0; height:0; border-left: 7px solid var(--e-coral); border-top: 4px solid transparent; border-bottom: 4px solid transparent; }

/* ====================================================================
   ADVANTAGES (формат 5.jpg)
   ==================================================================== */
.adv { padding: clamp(60px,7vw,30px) 0 0; }
.adv__title { font-family: var(--e-serif); font-style: italic; font-weight: 400; font-size: clamp(30px,4vw,54px); line-height: 1.05; color: var(--e-ink); }
.adv__intro { font-size: 17px; line-height: 1.65; color: var(--e-body); max-width: 90ch; margin: 24px 0 40px; }
.adv__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 26px 60px; margin-bottom: clamp(50px,6vw,80px); }
.adv__item { font-size: 16px; line-height: 1.6; color: var(--e-body); }
.adv__item b { font-family: var(--e-display); font-weight: 600; text-transform: uppercase; letter-spacing: .02em; color: var(--e-ink); }
.adv__photo { overflow: hidden; clip-path: polygon(0 70px, 100% 0, 100% 100%, 0 100%); }
.adv__photo img { width: 100%; height: clamp(320px,42vw,540px); object-fit: cover; }

/* ====================================================================
   LICENSES
   ==================================================================== */
.lic { padding: clamp(60px,7vw,110px) 0; }
.lic__head { display: grid; grid-template-columns: auto 1fr; gap: 44px; align-items: end; margin-bottom: 44px; }
.lic__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 26px; }
.lic__item { position: relative; overflow: hidden; aspect-ratio: 3/4; border: 1px solid var(--e-line); background: var(--e-surface);
  transition: transform .35s var(--ease), box-shadow .35s var(--ease); }
.lic__item:hover { transform: translateY(-6px); box-shadow: 0 20px 50px rgba(0,0,0,.14); }
.lic__item img { width: 100%; height: 100%; object-fit: cover; object-position: top center; }

/* ====================================================================
   REVIEWS (отзывы)
   ==================================================================== */
.rv { padding: clamp(60px,7vw,110px) 0; background: var(--e-surface); }
.rv__head { display: grid; grid-template-columns: auto 1fr; gap: 44px; align-items: end; margin-bottom: 46px; }
.rv__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 26px; }
.rv-card {
  background: #fff; border: 1px solid var(--e-line); padding: 32px 30px;
  display: flex; flex-direction: column; gap: 18px;
  transition: transform .35s var(--ease), box-shadow .35s var(--ease);
}
.rv-card:hover { transform: translateY(-6px); box-shadow: 0 22px 55px rgba(0,0,0,.1); }
.rv-card__quote { font-family: var(--e-display); font-weight: 700; font-size: 42px; line-height: .7; color: var(--e-coral); }
.rv-card__text { font-size: 15px; line-height: 1.65; color: var(--e-body); flex: 1; }
.rv-card__person { display: flex; align-items: center; gap: 14px; padding-top: 18px; border-top: 1px solid var(--e-line); }
.rv-card__photo { width: 96px; height: 96px; flex-shrink: 0; overflow: hidden; border-radius: 50%; background: var(--e-surface2); }
.rv-card__photo img { width: 100%; height: 100%; object-fit: cover; object-position: 50% 15%; }
.rv-card__name { display: block; font-family: var(--e-serif); font-weight: 700; font-size: 18px; color: var(--e-ink); }
.rv-card__degree { display: block; font-size: 13px; line-height: 1.45; color: var(--e-coral); margin-top: 3px; }
.rv-card__meta { display: block; font-size: 13px; color: var(--e-body); margin-top: 5px; }
.rv-card__stars { color: var(--e-amber); font-size: 14px; letter-spacing: 2px; }


/* ====================================================================
   ОТЗЫВЫ — ВАРИАНТ B: агрегатор рейтинга + слайдер
   ==================================================================== */
.rv3 { padding: clamp(56px,6vw,100px) 0; }
/* левая рейтинг-панель — квадрат фиксированной ширины, справа широкий слайдер */
.rv3__inner { display: grid; grid-template-columns: 340px 1fr; gap: clamp(28px,3.5vw,56px); align-items: start; }
.rv3__rating { background: linear-gradient(150deg, #0a4c8f 0%, var(--e-coral) 55%, #004a90 100%); color: #fff;
  aspect-ratio: 1 / 1; padding: clamp(28px,2.6vw,40px); display: flex; flex-direction: column; justify-content: center; }
.rv3__label { font-family: var(--e-display); text-transform: uppercase; letter-spacing: .08em; font-size: 13px; color: rgba(255,255,255,.8); }
.rv3__score { font-family: var(--e-display); font-weight: 700; font-size: clamp(56px,5vw,86px); line-height: .9; margin: 6px 0 6px; }
.rv3__score span { font-size: .42em; color: rgba(255,255,255,.7); }
.rv3__stars { color: #ffd166; letter-spacing: 4px; font-size: 20px; }
.rv3__count { color: rgba(255,255,255,.85); font-size: 14px; margin: 12px 0 22px; }
.rv3__ya { display: inline-flex; align-items: center; gap: 10px; align-self: flex-start; background: #fff; color: var(--e-ink);
  font-family: var(--e-display); text-transform: uppercase; letter-spacing: .04em; font-size: 12px; padding: 11px 16px; }
.rv3__ya:hover { background: rgba(255,255,255,.88); }
.rv3__ya i { display: inline-flex; align-items: center; justify-content: center; width: 22px; height: 22px; background: #fc3f1d; color: #fff; border-radius: 50%; font-weight: 700; font-size: 12px; font-style: normal; }
.rv3__slider { min-width: 0; }
/* карточка отзыва — крупная, горизонтальная: фото 170 + большой текст */
.rv3-card { background: #fff; border: 1px solid var(--e-line); padding: clamp(28px,3vw,44px); height: auto;
  display: grid; grid-template-columns: 170px 1fr; gap: clamp(24px,3vw,44px); align-items: center; }
.rv3-card__avatar { width: 200px; height: 200px; border-radius: 20px; overflow: hidden; flex-shrink: 0; background: var(--e-surface2); }
.rv3-card__avatar img { width: 100%; height: 100%; object-fit: cover; object-position: 50% 15%; }
.rv3-card__body { min-width: 0; }
.rv3-card__text { font-family: var(--e-serif); font-style: italic; font-size: 17px; line-height: 1.7; color: var(--e-ink); }
.rv3-card__foot { display: flex; align-items: center; gap: 16px; flex-wrap: wrap; margin-top: 24px; padding-top: 20px; border-top: 1px solid var(--e-line); }
.rv3-card__name { display: block; font-family: var(--e-serif); font-weight: 700; font-size: 19px; color: var(--e-ink); }
.rv3-card__meta { display: block; font-size: 14px; color: var(--e-coral); margin-top: 2px; }
.rv3-card__source { display: inline-flex; align-items: center; gap: 9px; margin-left: auto; font-family: var(--e-display);
  text-transform: uppercase; letter-spacing: .04em; font-size: 12px; color: var(--e-ink);
  border-bottom: 1px solid var(--e-line); padding-bottom: 4px; transition: color .25s, border-color .25s; }
.rv3-card__source:hover { color: var(--e-coral); border-color: var(--e-coral); }
.rv3-card__ya { display: inline-flex; align-items: center; justify-content: center; width: 22px; height: 22px; background: #fc3f1d; color: #fff; border-radius: 50%; font-weight: 700; font-size: 12px; }
.rv3__nav { display: flex; gap: 12px; margin-top: 22px; }
.rv3__btn { width: 48px; height: 48px; border: 1.5px solid var(--e-line); background: #fff; color: var(--e-ink);
  font-size: 18px; display: inline-flex; align-items: center; justify-content: center;
  transition: background .25s var(--ease), color .25s, border-color .25s; }
.rv3__btn:hover { background: var(--e-coral); color: #fff; border-color: var(--e-coral); }

@media (max-width: 860px) {
  .rv3__inner { grid-template-columns: 1fr; }
  .rv3__rating { aspect-ratio: auto; }
}
@media (max-width: 560px) {
  .rv3-card { grid-template-columns: 1fr; justify-items: start; gap: 20px; }
  .rv3-card__avatar { width: 120px; height: 120px; }
  .rv3-card__foot { margin-top: 18px; }
  .rv3-card__source { margin-left: 0; }
}

/* ====================================================================
   ONLINE (дистанционная консультация)
   ==================================================================== */
.on { position: relative; background: var(--e-dark); color: #fff; overflow: hidden; }
.on__inner { display: grid; grid-template-columns: 1fr 1fr; align-items: stretch; }
.on__media { position: relative; min-height: 560px; overflow: hidden;
  clip-path: polygon(0 0, 100% 0, calc(100% - 100px) 100%, 0 100%); }
.on__media img { width: 100%; height: 100%; object-fit: cover; }
.on__media::after { content: ""; position: absolute; inset: 0; background: linear-gradient(120deg, rgba(20,20,26,.15), rgba(20,20,26,.55)); }
.on__badge {
  position: absolute; z-index: 2; left: 34px; bottom: 34px;
  display: inline-flex; align-items: center; gap: 10px;
  background: var(--e-coral); color: #fff; padding: 10px 18px;
  font-family: var(--e-display); text-transform: uppercase; letter-spacing: .06em; font-size: 13px;
}
.on__badge i { width: 8px; height: 8px; border-radius: 50%; background: #fff; animation: onPulse 1.8s infinite; }
@keyframes onPulse { 0%,100% { opacity: 1; } 50% { opacity: .3; } }
.on__body { padding: clamp(50px,5vw,90px) var(--e-pad) clamp(50px,5vw,90px) clamp(30px,4vw,70px); display: flex; flex-direction: column; justify-content: center; max-width: 780px; }
.on__title { font-family: var(--e-display); font-weight: 700; text-transform: uppercase; font-size: clamp(28px,3.2vw,46px); line-height: .96; color: #fff; }
.on__title span { color: var(--e-coral); }
.on__lead { color: rgba(255,255,255,.72); font-size: 16px; line-height: 1.6; margin: 20px 0 12px; max-width: 52ch; }
.on__list { display: flex; flex-wrap: wrap; gap: 10px 22px; margin-bottom: 28px; }
.on__list li { display: flex; align-items: center; gap: 9px; font-size: 14px; color: rgba(255,255,255,.85); }
.on__list--col { flex-direction: column; align-items: flex-start; gap: 12px; margin-top: 28px; }
.on__list--col li { font-size: 15px; }
.on__list i { width:0; height:0; border-left: 7px solid var(--e-coral); border-top: 5px solid transparent; border-bottom: 5px solid transparent; }
.on__form { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }
.on__form .e-field:nth-child(3), .on__form .e-check, .on__form .e-btn { grid-column: 1 / -1; }

/* ====================================================================
   CONTACTS
   ==================================================================== */
.ct { background: var(--e-dark); color: #fff; padding: clamp(60px,7vw,110px) 0; }
.ct__inner { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(40px,6vw,90px); align-items: start; }
.ct__info .wl__num { color: var(--e-coral); }
.ct__lead { color: rgba(255,255,255,.72); font-size: 16px; line-height: 1.6; max-width: 42ch; margin: 22px 0 30px; }
.ct__phone { font-family: var(--e-display); font-weight: 600; font-size: clamp(28px,3vw,42px); color: #fff; display: inline-block; margin-bottom: 22px; }
.ct__line { display: block; font-size: 17px; color: rgba(255,255,255,.9); margin-bottom: 10px; }
.ct__hours { font-size: 14px; color: var(--e-muted); margin-top: 12px; }

.ct__form { display: flex; flex-direction: column; gap: 22px; }
.ct__form-msg { margin-top: 14px; font-size: 15px; }
.ct__form-msg.is-ok  { color: #7ec8a2; }
.ct__form-msg.is-err { color: #ff9b83; }
.e-field { display: flex; flex-direction: column; gap: 8px; }
.e-field span { font-family: var(--e-display); text-transform: uppercase; letter-spacing: .06em; font-size: 12px; color: var(--e-coral); }
.e-field input, .e-field textarea {
  background: transparent; color: #fff; border: none; border-bottom: 1.5px solid rgba(255,255,255,.28);
  padding: 12px 2px; font-size: 17px; resize: vertical;
}
.e-field input::placeholder, .e-field textarea::placeholder { color: rgba(255,255,255,.4); }
.e-field input:focus, .e-field textarea:focus { outline: none; border-bottom-color: var(--e-coral); }
.e-check { display: flex; align-items: flex-start; gap: 12px; font-size: 14px; color: rgba(255,255,255,.75); }
.e-check input { width: 18px; height: 18px; flex-shrink: 0; accent-color: var(--e-coral); margin-top: 2px; }
.e-check a { text-decoration: underline; }

/* ====================================================================
   FOOTER
   ==================================================================== */
.ef { background: var(--e-dark2); color: #fff; padding: clamp(50px,5vw,72px) 0 28px; }
.ef__inner { display: grid; grid-template-columns: 1.5fr 1fr 1fr; gap: 50px; padding-bottom: 40px; border-bottom: 1px solid rgba(255,255,255,.12); }
.ef__logo { font-family: var(--e-display); font-weight: 700; text-transform: uppercase; font-size: 26px; color: #fff; }
.ef__logo span { color: var(--e-coral); }
.ef__desc { margin-top: 16px; color: rgba(255,255,255,.55); font-size: 15px; line-height: 1.6; max-width: 42ch; }
.ef__col { display: flex; flex-direction: column; gap: 12px; }
.ef__cap { display: inline-flex; align-items: center; gap: 10px; font-family: var(--e-display); text-transform: uppercase; letter-spacing: .08em; font-size: 12px; color: var(--e-muted); margin-bottom: 4px; }
.ef__cap i { width:0; height:0; border-left: 7px solid var(--e-coral); border-top: 4px solid transparent; border-bottom: 4px solid transparent; }
.ef__col a { color: rgba(255,255,255,.82); font-size: 16px; transition: color .2s; }
.ef__col a:hover { color: var(--e-coral); }
.ef__muted { color: rgba(255,255,255,.45); font-size: 14px; }
.ef__bottom { display: flex; justify-content: space-between; gap: 16px; padding-top: 24px; flex-wrap: wrap; font-size: 13px; color: rgba(255,255,255,.5); }

/* ====================================================================
   ССЫЛКА-СТРЕЛКА (общий элемент)
   ==================================================================== */
.e-link {
  display: inline-flex; align-items: center; gap: 9px;
  font-family: var(--e-display); font-weight: 500; text-transform: uppercase;
  letter-spacing: .05em; font-size: 13px; color: var(--e-coral);
  border-bottom: 1px solid rgba(236,106,76,.4); padding-bottom: 3px;
  transition: color .25s var(--ease), border-color .25s, gap .25s var(--ease);
}
.e-link i { width:0; height:0; border-left: 7px solid currentColor; border-top: 5px solid transparent; border-bottom: 5px solid transparent; }
.e-link:hover { color: var(--e-coral-dk); border-color: var(--e-coral-dk); gap: 14px; }
.wl__links { display: flex; flex-direction: column; align-items: flex-start; gap: 12px; margin-top: 24px; }

/* ====================================================================
   PARTNERS (Swiper)
   ==================================================================== */
.pt { padding: clamp(56px,6vw,96px) 0; background: var(--e-surface); }
.pt__head { display: grid; grid-template-columns: auto 1fr; gap: 44px; align-items: end; margin-bottom: 44px; }
.pt__swiper { padding: 0 var(--e-pad); }
.pt__slide { display: flex; align-items: center; justify-content: center;
  height: 155px; background: #fff; border: 1px solid var(--e-line);
  transition: transform .3s var(--ease), box-shadow .3s var(--ease); padding: 0 10px;}
.pt__slide:hover { transform: translateY(-4px); box-shadow: 0 14px 34px rgba(0,0,0,.08); }
.pt__slide img { max-width: 50%; height: auto; opacity: .78; transition: opacity .3s; margin-right: 8px;}
.pt__slide p {font-size: 14px;}
.pt__slide:hover img { opacity: 1; }
.pt__slide a {display: flex;align-items: center;}


/* ====================================================================
   BLOG
   ==================================================================== */
.bl { padding: clamp(56px,6vw,100px) 0; }
.bl__head { display: grid; grid-template-columns: auto 1fr; gap: 44px; align-items: end; margin-bottom: 46px; }
.bl__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 28px; }
.bl-card { display: flex; flex-direction: column; background: #fff; border: 1px solid var(--e-line);
  transition: transform .35s var(--ease), box-shadow .35s var(--ease); }
.bl-card:hover { transform: translateY(-6px); box-shadow: 0 22px 55px rgba(0,0,0,.1); }
.bl-card__photo { overflow: hidden; aspect-ratio: 16/10;
  clip-path: polygon(0 0, 100% 0, 100% calc(100% - 34px), calc(100% - 34px) 100%, 0 100%); }
.bl-card__photo img { width: 100%; height: 100%; object-fit: cover; transition: transform .5s var(--ease); }
.bl-card:hover .bl-card__photo img { transform: scale(1.05); }
.bl-card__body { padding: 26px 26px 28px; display: flex; flex-direction: column; gap: 12px; flex: 1; }
.bl-card__date { display: inline-flex; align-items: center; gap: 9px; font-family: var(--e-display);
  text-transform: uppercase; letter-spacing: .07em; font-size: 12px; color: var(--e-body); }
.bl-card__date i { width:0; height:0; border-left: 7px solid var(--e-coral); border-top: 4px solid transparent; border-bottom: 4px solid transparent; }
.bl-card__title { font-family: var(--e-serif); font-weight: 700; font-size: 20px; line-height: 1.25; color: var(--e-ink); }
.bl-card__text { font-size: 15px; line-height: 1.6; color: var(--e-body); flex: 1; }
.bl-card .e-link { align-self: flex-start; margin-top: 4px; }

/* ====================================================================
   УЧЕБНЫЙ ЦЕНТР
   ==================================================================== */
.ed { position: relative; background: var(--e-dark); color: #fff; overflow: hidden; padding: clamp(56px,6vw,100px) 0; }
.ed__bg { position: absolute; inset: 0; background: var(--img, none) center/cover no-repeat; opacity: .14; filter: grayscale(.4); }
.ed__inner { position: relative; z-index: 1; }
.ed__head { margin-bottom: 48px; }
.ed__lead { color: rgba(255,255,255,.72); font-size: 17px; line-height: 1.6; max-width: 62ch; margin-top: 20px; }
.ed__cols { display: grid; grid-template-columns: .8fr 1.2fr; gap: clamp(34px,4vw,70px); }
.ed__sub { display: flex; align-items: center; gap: 12px; font-family: var(--e-display); font-weight: 600;
  text-transform: uppercase; letter-spacing: .05em; font-size: 15px; color: #fff;
  padding-bottom: 14px; margin-bottom: 22px; border-bottom: 1px solid rgba(255,255,255,.18); }
.ed__sub i { width:0; height:0; border-left: 8px solid var(--e-coral); border-top: 5px solid transparent; border-bottom: 5px solid transparent; }
.ed__lect { display: flex; flex-direction: column; gap: 22px; }
.ed__lect-name { display: block; font-family: var(--e-serif); font-weight: 700; font-size: 19px; color: #fff; }
.ed__lect-role { display: block; font-size: 14px; line-height: 1.55; color: rgba(255,255,255,.66); margin-top: 6px; }
.ed__lect-img img {max-width: 88px; border-radius: 50px}
.ed__lect li { display: flex; gap: 20px;}
.ed__courses { display: flex; flex-direction: column; }
.ed__course { padding: 18px 0; border-bottom: 1px dashed rgba(255,255,255,.16); }
.ed__course-top { display: flex; align-items: baseline; gap: 16px; flex-wrap: wrap; }
.ed__course-name { font-size: 17px; font-weight: 400; line-height: 1.35; color: #fff; flex: 1; min-width: 200px; }
.ed__course-meta { font-size: 13px; color: rgba(255,255,255,.6); margin-top: 8px; }
.ed__badge { font-family: var(--e-display); text-transform: uppercase; letter-spacing: .05em;
  font-size: 11px; padding: 6px 12px; white-space: nowrap; }
.ed__badge--open { background: rgba(236,106,76,.18); color: #ffb9a4; border: 1px solid rgba(236,106,76,.5); }
.ed__badge--few { background: var(--e-coral); color: #fff; }
.ed__cta { margin-top: 30px; }


/* ====================================================================
   УЧЕБНЫЙ ЦЕНТР — ВАРИАНТ 2: курсы карточками с фото
   ==================================================================== */
.edu2 { position: relative; overflow: hidden; padding: clamp(60px,6.5vw,110px) 0;
  background: linear-gradient(135deg, #0a4c8f 0%, #0a2b4d 52%, #0a1c30 100%);
  border-top: 4px solid var(--e-accent); border-bottom: 4px solid var(--e-accent); color: #fff; }
.edu2::after { content: ""; position: absolute; top: 0; right: 0; width: clamp(120px,14vw,240px); height: clamp(120px,14vw,240px);
  background: var(--e-accent); clip-path: polygon(100% 0, 0 0, 100% 100%); opacity: .9; pointer-events: none; }
.edu2__inner { position: relative; z-index: 1; }
.edu2__head { margin-bottom: 46px; max-width: 820px; }
.edu2__lead { color: rgba(255,255,255,.72); font-size: 17px; line-height: 1.6; margin-top: 18px; }

.edu2__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 26px; }
.course-card { display: flex; flex-direction: column; background: #fff; color: var(--e-ink);
  overflow: hidden; transition: transform .35s var(--ease), box-shadow .35s var(--ease); }
.course-card:hover { transform: translateY(-6px); box-shadow: 0 26px 60px rgba(0,0,0,.3); }
.course-card__photo { position: relative; overflow: hidden; aspect-ratio: 16/10;
  clip-path: polygon(0 0, 100% 0, 100% calc(100% - 30px), calc(100% - 30px) 100%, 0 100%); }
.course-card__photo img { width: 100%; height: 100%; object-fit: cover; transition: transform .5s var(--ease); }
.course-card:hover .course-card__photo img { transform: scale(1.06); }
.course-card__badge { position: absolute; top: 14px; left: 14px; font-family: var(--e-display);
  text-transform: uppercase; letter-spacing: .05em; font-size: 11px; padding: 6px 12px; color: #fff; }
.course-card__badge--open { background: var(--e-coral); }
.course-card__badge--few  { background: var(--e-accent); }
.course-card__body { padding: 22px 24px 26px; display: flex; flex-direction: column; gap: 12px; flex: 1; }
.course-card__meta { display: inline-flex; align-items: center; gap: 9px; font-family: var(--e-display);
  text-transform: uppercase; letter-spacing: .06em; font-size: 12px; color: var(--e-body); }
.course-card__meta i { width:0; height:0; border-left: 7px solid var(--e-accent); border-top: 4px solid transparent; border-bottom: 4px solid transparent; }
.course-card__title { font-family: var(--e-serif); font-weight: 700; font-size: 19px; line-height: 1.28; color: var(--e-ink); }
.course-card__foot { margin-top: auto; padding-top: 16px; border-top: 1px solid var(--e-line);
  display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.course-card__price { font-family: var(--e-display); font-weight: 600; font-size: 16px; color: var(--e-ink); }
.course-card__price span { color: var(--e-coral); }

@media (max-width: 1000px) { .edu2__grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 640px)  { .edu2__grid { grid-template-columns: 1fr; } }


/* ====================================================================
   ВАКАНСИИ
   ==================================================================== */
.vc { padding: clamp(56px,6vw,100px) 0; background: var(--e-surface); }
.vc__head { display: grid; grid-template-columns: auto 1fr; gap: 44px; align-items: end; margin-bottom: 40px; }
.vc__list { display: flex; flex-direction: column; border-top: 2px solid var(--e-ink); }
.vc__item { display: flex; align-items: center; justify-content: space-between; gap: 24px; flex-wrap: wrap;
  padding: 26px 0; border-bottom: 1px solid var(--e-line); transition: padding-left .3s var(--ease); }
.vc__item:hover { padding-left: 10px; }
.vc__title { font-family: var(--e-display); font-weight: 600; text-transform: uppercase;
  font-size: clamp(18px,1.8vw,24px); letter-spacing: .02em; color: var(--e-ink); }
.vc__meta { font-size: 14px; color: var(--e-body); margin-top: 6px; }
.vc__cta { margin-top: 36px; }

/* ====================================================================
   КАК ДОБРАТЬСЯ + КАРТА
   ==================================================================== */
.rt { padding: clamp(56px,6vw,100px) 0; }
.rt__head { display: grid; grid-template-columns: auto 1fr; gap: 44px; align-items: end; margin-bottom: 44px; }
.rt__grid { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(30px,4vw,60px); align-items: start; }
.rt__list { display: flex; flex-direction: column; gap: 20px; margin-bottom: 34px; }
.rt__list li { display: flex; gap: 14px; align-items: flex-start; }
.rt__list i { flex-shrink: 0; margin-top: 8px; width:0; height:0;
  border-left: 8px solid var(--e-coral); border-top: 5px solid transparent; border-bottom: 5px solid transparent; }
.rt__list span { font-size: 16px; line-height: 1.6; color: var(--e-body); }
.rt__list b { color: var(--e-ink); font-weight: 700; }
.rt__contact { padding-top: 28px; border-top: 1px solid var(--e-line); }
.rt__phone { display: inline-block; font-family: var(--e-display); font-weight: 600;
  font-size: clamp(26px,2.6vw,36px); color: var(--e-ink); }
.rt__mail { display: block; font-size: 17px; color: var(--e-body); margin-top: 8px; }
.rt__mail:hover { color: var(--e-coral); }
.rt__socials { display: flex; gap: 12px; flex-wrap: wrap; margin: 22px 0 26px; }
.soc { display: inline-flex; align-items: center; gap: 9px; padding: 10px 16px;
  border: 1px solid var(--e-line); font-family: var(--e-display); text-transform: uppercase;
  letter-spacing: .05em; font-size: 12px; color: var(--e-ink);
  transition: background .25s var(--ease), color .25s, border-color .25s; }
.soc__ic { display: inline-flex; align-items: center; justify-content: center;
  width: 24px; height: 24px; border-radius: 50%; background: var(--e-surface2); font-size: 12px; }
.soc:hover { background: var(--e-coral); color: #fff; border-color: var(--e-coral); }
.soc:hover .soc__ic { background: rgba(255,255,255,.22); }
.rt__map { overflow: hidden; border: 1px solid var(--e-line);
  clip-path: polygon(0 0, 100% 0, 100% 100%, 0 calc(100% - 46px)); }
.rt__map img { width: 100%; height: clamp(340px,38vw,560px); object-fit: cover; display: block; }

/* ====================================================================
   INNER PAGES — шапка страницы
   ==================================================================== */
.ph { position: relative; background: var(--e-dark); color: #fff; overflow: hidden;
  padding: clamp(46px,6vw,88px) 0 clamp(50px,6vw,92px); }
.ph__bg { position: absolute; inset: 0; background: var(--img, none) center/cover no-repeat; opacity: .2; filter: grayscale(.35); }
.ph__inner { position: relative; z-index: 1; }
.ph__crumbs { display: flex; align-items: center; gap: 10px; flex-wrap: wrap;
  font-family: var(--e-display); text-transform: uppercase; letter-spacing: .08em; font-size: 12px;
  color: rgba(255,255,255,.55); margin-bottom: 20px; }
.ph__crumbs a { transition: color .2s; }
.ph__crumbs a:hover { color: var(--e-coral); }
.ph__num { display: block; font-family: var(--e-display); font-weight: 700; font-size: 26px; color: var(--e-coral); margin-bottom: 4px; }
.ph__title { font-family: var(--e-display); font-weight: 700; text-transform: uppercase;
  font-size: clamp(34px,5.4vw,76px); line-height: .94; color: #fff; }
.ph__title .dot { color: var(--e-coral); }
.ph__lead { color: rgba(255,255,255,.75); font-size: 17px; line-height: 1.6; max-width: 62ch; margin-top: 20px; }

/* секция-обёртка внутренних страниц */
.pg { padding: clamp(54px,6vw,100px) 0; }
.pg--soft { background: var(--e-surface); }

/* статистика */
.st { display: grid; grid-template-columns: repeat(4, 1fr); gap: 30px;
  padding: clamp(36px,4vw,60px) 0; border-top: 1px solid var(--e-line); border-bottom: 1px solid var(--e-line); }
.st__i b { display: block; font-family: var(--e-display); font-weight: 700; font-size: clamp(30px,3.2vw,50px); line-height: 1; color: var(--e-ink); }
.st__i span { display: block; margin-top: 10px; font-size: 14px; line-height: 1.5; color: var(--e-body); }

/* полный прайс (светлый) */
.pl__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 0 70px; }
.pl__cat { font-family: var(--e-display); font-weight: 600; text-transform: uppercase; letter-spacing: .04em;
  font-size: 16px; color: var(--e-ink); display: flex; align-items: center; gap: 12px;
  margin: 38px 0 12px; padding-bottom: 12px; border-bottom: 2px solid var(--e-ink); }
.pl__col > .pl__cat:first-child { margin-top: 0; }
.pl__cat i { width:0; height:0; border-left: 8px solid var(--e-coral); border-top: 5px solid transparent; border-bottom: 5px solid transparent; }
.pl__row { display: flex; align-items: baseline; gap: 14px; padding: 12px 0; border-bottom: 1px dashed var(--e-line); }
.pl__row span { color: var(--e-body); font-size: 15px; }
.pl__row b { margin-left: auto; font-family: var(--e-display); font-weight: 600; font-size: 17px; color: var(--e-ink); white-space: nowrap; }
.pl__row b.pl__free { color: var(--e-coral); }
.pl__note { margin-top: 46px; background: var(--e-line); padding: 26px 30px; display: flex; gap: 14px; align-items: flex-start; }
.pl__note i { flex-shrink: 0; margin-top: 6px; width:0; height:0; border-left: 8px solid var(--e-coral); border-top: 5px solid transparent; border-bottom: 5px solid transparent; }
.pl__note p { font-size: 14px; line-height: 1.65; color: var(--e-body); }

/* CTA-полоса */
.cta { background: var(--e-surface); padding: clamp(46px,5vw,80px) 0; }
.cta__inner { display: flex; align-items: center; justify-content: space-between; gap: 30px; flex-wrap: wrap; }
.cta__title { font-family: var(--e-display); font-weight: 700; text-transform: uppercase;
  font-size: clamp(22px,2.6vw,38px); line-height: 1.02; color: var(--e-ink); }
.cta__title span { color: var(--e-coral); }
.cta__text { font-size: 15px; color: var(--e-body); margin-top: 10px; max-width: 46ch; }

/* карта */
.mapblk img { width: 100%; height: clamp(280px,30vw,460px); object-fit: cover; display: block; }

/* ====================================================================
   REVEAL (JS-gated)
   ==================================================================== */
.js .e-reveal { opacity: 0; transform: translateY(30px); }

/* ====================================================================
   RESPONSIVE
   ==================================================================== */
@media (max-width: 1100px) {
  .dc__grid { grid-template-columns: repeat(2, 1fr); gap: 30px; }
  .rv__grid { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 1024px) {
  :root { --e-pad: 24px; }
  .eh__nav, .eh__actions { display: none; }
  /* лого слева, бургер справа */
  .eh__inner { justify-content: space-between; gap: 16px; }
  /* фиксируем шапку: при открытом меню body получает overflow:hidden, что ломает sticky */
  .eh { position: fixed; top: 0; left: 0; right: 0; }
  body { padding-top: 76px; }
  .eh__burger { display: flex; }
  .hero-e::before { width: 74%; }
  .pr__head, .dc__head, .lic__head, .rv__head,
  .pt__head, .bl__head, .vc__head, .rt__head { grid-template-columns: 1fr; gap: 18px; }
  .ed__cols { grid-template-columns: 1fr; }
  .rt__grid { grid-template-columns: 1fr; }
  .bl__grid { grid-template-columns: repeat(2, 1fr); }
  .pl__grid { grid-template-columns: 1fr; gap: 0; }
  .st { grid-template-columns: repeat(2, 1fr); gap: 26px; }
  /* онлайн-консультация: фото сверху, форма снизу */
  .on__inner { grid-template-columns: 1fr; }
  .on__media { min-height: 320px; clip-path: polygon(0 0, 100% 0, 100% 100%, 0 calc(100% - 60px)); }
  .on__body { padding: 40px var(--e-pad) 56px; max-width: none; }
  .pr__list { grid-template-columns: 1fr; gap: 0 0; }
  .ct__inner { grid-template-columns: 1fr; }
  .ef__inner { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 760px) {
  body { font-size: 15px; }
  /* hero: фото сверху, текст на белом снизу */
  .hero-e { background: #fff; }
  .hero-e::before { display: none; }
  .hero-e__media { position: relative; inset: auto; height: 300px; }
  

  .hero-e__media img { height: 100%; }
  .hero-e__inner { min-height: auto; padding: 44px var(--e-pad) 40px; max-width: none; }
  .hero-e__tag { display: none; }
  /* hero: смешение фото по центру для мобильных */
  .hero-e__media img {left: 0;position: relative;}


  /* welcome: фото сверху */
  .wl { grid-template-columns: 1fr; gap: 30px; }
  .wl__photo { min-height: 380px; clip-path: polygon(0 0, 100% 0, 100% 100%, 0 calc(100% - 50px)); }

  /* шевроны -> вертикальные бары без клипа */
  .chev-row { flex-direction: column; }
  .chev-row + .chev-row { margin-top: 14px; }
  .chev { margin-left: 0 !important; height: auto; min-height: 96px; padding: 20px 22px;
    clip-path: none !important; align-items: center; border-radius: 3px; }
  .chev-row { gap: 14px; }
  .chev__label { flex-direction: row; align-items: center; gap: 12px; font-size: 16px; }
  .chev__label i { transform: rotate(90deg); }

  .dc__grid { grid-template-columns: 1fr; }
  .rv__grid { grid-template-columns: 1fr; }
  .bl__grid { grid-template-columns: 1fr; }
  .vc__item { flex-direction: column; align-items: flex-start; gap: 14px; }
  .rt__map { clip-path: polygon(0 0, 100% 0, 100% 100%, 0 calc(100% - 28px)); }
  .st { grid-template-columns: 1fr 1fr; gap: 20px; }
  .cta__inner { flex-direction: column; align-items: flex-start; }
  .on__form { grid-template-columns: 1fr; gap: 18px; }
  .adv__grid { grid-template-columns: 1fr; gap: 20px; }
  .lic__grid { grid-template-columns: 1fr 1fr; }
  .ef__inner { grid-template-columns: 1fr; gap: 30px; }
  .eh__inner { height: 62px; }
  body { padding-top: 62px; }
  .e-mobile { inset: 62px 0 auto 0; }
}

@media (max-width: 440px) {
  .lic__grid { grid-template-columns: 1fr; }
}

@media (prefers-reduced-motion: reduce) {
  .js .e-reveal { opacity: 1 !important; transform: none !important; }
  * { scroll-behavior: auto !important; }
}

/* ====================================================================
   CLINIC — синяя тема: коралловые акценты поверх синей базы
   ==================================================================== */
/* коралл для телефонов */
.eh__phone, .e-mobile__phone, .ct__phone, .rt__phone { color: var(--e-accent); }
.eh__phone:hover, .rt__phone:hover { color: var(--e-accent-dk); }

/* коралл для вертикальных полосок/линий */
.wl__text { border-left-color: var(--e-accent); }

/* коралл для треугольных маркеров-«линий» */
.e-kicker i,
.pr__cat i, .pl__cat i, .pl__note i,
.ed__sub i, .rt__list i, .on__list i,
.ef__cap i, .bl-card__date i, .doc-e__exp i,
.vc__title + *,
.rt__list i { border-left-color: var(--e-accent); }
.e-link i { color: inherit; }

/* декоративная кавычка и «горящий» бейдж — тёплый коралл */
.ed__badge--few { background: var(--e-accent); color: #fff; }

/* логотип-картинка в шапке */
.eh__logo--img { display: inline-flex; align-items: center; }
.eh__logo--img img { height: 46px; width: auto; display: block; }

/* логотип-картинка в подвале */
.ef__logo--img { display: inline-flex; }
.ef__logo--img img { height: 52px; width: auto; display: block; }

/* значок зума на лицензиях (Fancybox) */
.lic__item { position: relative; display: block; }
.lic__zoom {
  position: absolute; right: 14px; bottom: 14px;
  width: 40px; height: 40px; display: flex; align-items: center; justify-content: center;
  background: var(--e-coral); color: #fff; font-size: 18px;
  opacity: 0; transform: translateY(8px); transition: opacity .3s var(--ease), transform .3s var(--ease);
}
.lic__item:hover .lic__zoom { opacity: 1; transform: translateY(0); }

/* ====================================================================
   REVIEWS — Swiper: большое фото слева, текст справа
   ==================================================================== */
.rv__swiper { padding: 0 var(--e-pad); }
.rv-slide {
  display: grid; grid-template-columns: 300px 1fr; align-items: stretch;
  background: #fff; border: 1px solid var(--e-line); height: auto;
}
.rv-slide__photo { position: relative; overflow: hidden; min-height: 340px; }
.rv-slide__photo img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: 50% 20%; }
.rv-slide__body { padding: clamp(28px,3vw,44px); display: flex; flex-direction: column; }
.rv-slide__quote { font-family: var(--e-display); font-weight: 700; font-size: 60px; line-height: .6; color: var(--e-accent); }
.rv-slide__text { font-size: 17px; line-height: 1.65; color: var(--e-body); margin: 18px 0 26px; flex: 1; }
.rv-slide__foot { display: flex; flex-direction: column; gap: 5px; padding-top: 20px; border-top: 1px solid var(--e-line); }
.rv-slide__name { font-family: var(--e-serif); font-weight: 700; font-size: 19px; color: var(--e-ink); }
.rv-slide__degree { font-size: 14px; color: var(--e-coral); }
.rv-slide__stars { color: var(--e-amber); letter-spacing: 3px; font-size: 16px; margin-top: 2px; }
.rv-slide__source {
  display: inline-flex; align-items: center; gap: 9px; margin-top: 12px; align-self: flex-start;
  font-family: var(--e-display); text-transform: uppercase; letter-spacing: .04em; font-size: 12px;
  color: var(--e-ink); border-bottom: 1px solid var(--e-line); padding-bottom: 4px;
  transition: color .25s, border-color .25s;
}
.rv-slide__source:hover { color: var(--e-coral); border-color: var(--e-coral); }
.rv-slide__ya { display: inline-flex; align-items: center; justify-content: center; width: 22px; height: 22px;
  background: #fc3f1d; color: #fff; border-radius: 50%; font-weight: 700; font-size: 13px; }

.rv__nav { display: flex; align-items: center; justify-content: center; gap: 20px; margin-top: 30px; }
.rv__btn { width: 52px; height: 52px; border: 1.5px solid var(--e-line); background: #fff; color: var(--e-ink);
  font-size: 20px; display: inline-flex; align-items: center; justify-content: center; border-radius: 2px;
  transition: background .25s var(--ease), color .25s, border-color .25s, transform .2s; }
.rv__btn:hover { background: var(--e-coral); color: #fff; border-color: var(--e-coral); transform: translateY(-2px); }
.rv__pagination { display: flex; gap: 8px; align-items: center; }
.rv__pagination .swiper-pagination-bullet { width: 8px; height: 8px; background: var(--e-line); opacity: 1; border-radius: 50%; transition: background .3s, width .3s; }
.rv__pagination .swiper-pagination-bullet-active { background: var(--e-coral); width: 26px; border-radius: 4px; }

@media (max-width: 760px) {
  .rv-slide { grid-template-columns: 1fr; }
  .rv-slide__photo { min-height: 260px; }
  .eh__logo--img img { height: 38px; }
}


/* ====================================================================
   СТРАНИЦА ВАКАНСИЙ — раскрытые карточки
   ==================================================================== */
.docp__bio {margin-top: 25px}
.vac-list { display: flex; flex-direction: column; gap: clamp(24px,3vw,40px); }
.vac {
  border: 1px solid var(--e-line); background: #fff;
  padding: clamp(26px,3vw,44px);
  border-top: 3px solid var(--e-coral);
  transition: box-shadow .35s var(--ease);
}
.vac:hover { box-shadow: 0 22px 55px rgba(0,0,0,.08); }
.vac__top { display: flex; align-items: flex-start; justify-content: space-between; gap: 24px; flex-wrap: wrap; }
.vac__title { font-family: var(--e-display); font-weight: 700; text-transform: uppercase;
  font-size: clamp(24px,2.6vw,36px); line-height: 1.02; color: var(--e-ink); }
.vac__chips { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 14px; }
.vac-chip { font-family: var(--e-display); text-transform: uppercase; letter-spacing: .04em;
  font-size: 12px; padding: 7px 13px; background: var(--e-surface); color: var(--e-ink); }
.vac-chip--salary { background: var(--e-coral); color: #fff; }
.vac__apply { flex-shrink: 0; }
.vac__lead { font-size: 16px; line-height: 1.6; color: var(--e-body); margin: 22px 0 6px; max-width: 90ch; }
.vac__cols { display: grid; grid-template-columns: repeat(3, 1fr); gap: clamp(24px,3vw,48px); margin-top: 22px; }
.vac__sub { display: flex; align-items: center; gap: 11px; font-family: var(--e-display); font-weight: 600;
  text-transform: uppercase; letter-spacing: .05em; font-size: 14px; color: var(--e-ink);
  padding-bottom: 12px; margin-bottom: 14px; border-bottom: 1px solid var(--e-line); }
.vac__sub i { width:0; height:0; border-left: 8px solid var(--e-accent); border-top: 5px solid transparent; border-bottom: 5px solid transparent; }
.vac__ul { display: flex; flex-direction: column; gap: 10px; margin-top: 22px;}
.vac__ul li { display: flex; gap: 11px; font-size: 15px; line-height: 1.5; color: var(--e-body); }
.vac__ul li::before { content: ""; flex-shrink: 0; margin-top: 8px; width: 6px; height: 6px; background: var(--e-coral); border-radius: 50%; }

@media (max-width: 960px)  { .vac__cols { grid-template-columns: 1fr 1fr; } }
@media (max-width: 640px)  {
  .vac__cols { grid-template-columns: 1fr; }
  .vac__top { flex-direction: column; }
  .vac__apply { width: 100%; }
  .vac__apply .e-btn { width: 100%; }
}

/* ====================================================================
   БЛОГ — страница списка
   ==================================================================== */
.blog-list { display: grid; grid-template-columns: repeat(3, 1fr); gap: 28px; }
.post-card { display: flex; flex-direction: column; background: #fff; border: 1px solid var(--e-line);
  transition: transform .35s var(--ease), box-shadow .35s var(--ease); }
.post-card:hover { transform: translateY(-6px); box-shadow: 0 22px 55px rgba(0,0,0,.1); }
.post-card__photo { display: block; overflow: hidden; aspect-ratio: 16/10;
  clip-path: polygon(0 0, 100% 0, 100% calc(100% - 34px), calc(100% - 34px) 100%, 0 100%); }
.post-card__photo img { width: 100%; height: 100%; object-fit: cover; transition: transform .5s var(--ease); }
.post-card:hover .post-card__photo img { transform: scale(1.05); }
.post-card__body { padding: 24px 26px 28px; display: flex; flex-direction: column; gap: 12px; flex: 1; }
.post-card__cat { align-self: flex-start; font-family: var(--e-display); text-transform: uppercase;
  letter-spacing: .05em; font-size: 11px; color: #fff; background: var(--e-coral); padding: 5px 11px; }
.post-card__date { display: inline-flex; align-items: center; gap: 9px; font-family: var(--e-display);
  text-transform: uppercase; letter-spacing: .07em; font-size: 12px; color: var(--e-body); }
.post-card__date i { width:0; height:0; border-left: 7px solid var(--e-accent); border-top: 4px solid transparent; border-bottom: 4px solid transparent; }
.post-card__title { font-family: var(--e-serif); font-weight: 700; font-size: 21px; line-height: 1.25; color: var(--e-ink); }
.post-card__title a:hover { color: var(--e-coral); }
.post-card__text { font-size: 15px; line-height: 1.6; color: var(--e-body); flex: 1; }
.post-card .e-link { align-self: flex-start; margin-top: 4px; }

/* пагинация */
.blog-pager { display: flex; justify-content: center; align-items: center; gap: 8px; margin-top: clamp(36px,4vw,56px); flex-wrap: wrap; }
.blog-pager a, .blog-pager span { min-width: 46px; height: 46px; display: inline-flex; align-items: center; justify-content: center;
  border: 1.5px solid var(--e-line); font-family: var(--e-display); font-size: 15px; color: var(--e-ink);
  padding: 0 14px; transition: background .25s var(--ease), color .25s, border-color .25s; }
.blog-pager a:hover { background: var(--e-ink); color: #fff; border-color: var(--e-ink); }
.blog-pager .is-active { background: var(--e-coral); color: #fff; border-color: var(--e-coral); }
.blog-pager__dots { min-width: auto; border: none; background: none; color: var(--e-muted); }
.blog-pager .is-disabled { opacity: .4; pointer-events: none; }
.blog-pager__arrow { white-space: nowrap; }

/* ====================================================================
   БЛОГ — детальная статья
   ==================================================================== */
.article { padding: clamp(40px,5vw,72px) 0; }
.article__wrap { max-width: 820px; margin: 0 auto; }
.article__meta { display: flex; align-items: center; gap: 16px; flex-wrap: wrap; margin-bottom: 22px; }
.article__cat { font-family: var(--e-display); text-transform: uppercase; letter-spacing: .05em;
  font-size: 12px; color: #fff; background: var(--e-coral); padding: 6px 13px; }
.article__date { display: inline-flex; align-items: center; gap: 9px; font-family: var(--e-display);
  text-transform: uppercase; letter-spacing: .06em; font-size: 13px; color: var(--e-body); }
.article__date i { width:0; height:0; border-left: 7px solid var(--e-accent); border-top: 4px solid transparent; border-bottom: 4px solid transparent; }
.article__cover { margin: 0 0 clamp(26px,3vw,40px); overflow: hidden;
  clip-path: polygon(0 0, 100% 0, 100% 100%, 0 calc(100% - 46px));margin: 0 auto; }
.article__cover img { width: 100%; height: clamp(280px,36vw,520px); object-fit: cover; display: block; }

/* контент статьи (из визуального редактора) */
.article__body { font-size: 17px; line-height: 1.75; color: var(--e-body); }
.article__body > * + * { margin-top: 20px; }
.article__body h2 { font-family: var(--e-display); font-weight: 600; text-transform: uppercase; letter-spacing: .01em;
  font-size: clamp(24px,2.4vw,32px); color: var(--e-ink); margin-top: 40px; line-height: 1.1; }
.article__body h3 { font-family: var(--e-serif); font-weight: 700; font-size: 22px; color: var(--e-ink); margin-top: 30px; }
.article__body p { margin-top: 18px; }
.article__body ul, .article__body ol { margin-top: 18px; padding-left: 4px; display: flex; flex-direction: column; gap: 10px; }
.article__body ul li { display: flex; gap: 12px; }
.article__body ul li::before { content: ""; flex-shrink: 0; margin-top: 10px; width: 6px; height: 6px; background: var(--e-coral); border-radius: 50%; }
.article__body ol { counter-reset: n; }
.article__body ol li { display: flex; gap: 12px; counter-increment: n; }
.article__body ol li::before { content: counter(n); flex-shrink: 0; font-family: var(--e-display); font-weight: 600; color: var(--e-coral); }
.article__body img { max-width: 100%; height: auto; margin: 26px 0; }
.article__body blockquote { border-left: 3px solid var(--e-accent); padding: 6px 0 6px 24px; margin: 26px 0;
  font-family: var(--e-serif); font-style: italic; font-size: 20px; color: var(--e-ink); }
.article__body a { color: var(--e-coral); border-bottom: 1px solid rgba(0,97,187,.35); }
.article__body a:hover { border-color: var(--e-coral); }

/* низ статьи: навигация + похожие */
.article__foot { max-width: 820px; margin: clamp(36px,4vw,56px) auto 0; padding-top: 30px; border-top: 1px solid var(--e-line);
  display: flex; justify-content: space-between; gap: 18px; flex-wrap: wrap; }
.article__nav { display: inline-flex; align-items: center; gap: 9px; font-family: var(--e-display);
  text-transform: uppercase; letter-spacing: .05em; font-size: 13px; color: var(--e-ink); }
.article__nav:hover { color: var(--e-coral); }
.article__share { display: flex; gap: 10px; align-items: center; }

.related { padding: clamp(50px,6vw,90px) 0; background: var(--e-surface); }

@media (max-width: 1000px) { .blog-list { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 640px)  { .blog-list { grid-template-columns: 1fr; } }

/* ====================================================================
   ВРАЧИ — карточка в списке (ссылка "подробнее")
   ==================================================================== */
.doc-e__more { align-self: flex-start; margin-top: 12px; }
.doc-e__body { display: flex; flex-direction: column; }