

/* Start:/local/templates/mietcenter/css/base.css?179092396922412*/
/* ЦКО МИЭТ - базовый слой своих компонентов дева (mu-plugin mietcenter-polish: redesign.css, polish.css), только правила mc-*: путь ученика, «О центре», крошки, реквизиты, cookie, «Наверх», юридические тексты. Селекторов Elementor/WP тут нет. */
:root {
  --mc-blue: #1a6fdc;          /* кнопки: белый текст 4.83:1 */
  --mc-blue-hover: #155cc0;    /* 6.32:1 */
  --mc-blue-active: #124fa6;   /* 7.79:1 */
  --mc-blue-brand: #128de6;    /* акцент заголовков сайта, только крупный текст (3.51:1) */
  --mc-blue-text: #1565c0;     /* В2.1 решение 2: мелкий синий текст (ссылки, телефоны, подписи < 18px): 5.75:1 на белом, 5.34:1 на тинте */
  --mc-text: #272b2e;
  --mc-text-muted: #525557;
  --mc-line: #e3e8ee;
  --mc-btn-radius: 10px;
  --mc-btn-min-h: 56px;
  --mc-ease: 180ms cubic-bezier(0.16, 1, 0.3, 1);
  /* волна 2 */
  --mc-grid: 1200px;           /* ширина контента на десктопе */
  --mc-navy: #0f2a4a;          /* тёмная акцентная секция и подвал: белый текст 14.4:1 */
  --mc-tint: #f3f7fc;          /* светлый тинт секций */
  --mc-blue-on-dark: #8cc4ff;  /* акцент и ссылки на тёмно-синем: 7.9:1 */
}
/* 2g масштаб десктопа: до 1440 значения прежние (или поднятый пол), 1440 -> 1920 линейно, выше 1920 - заморозка.
   Формула clamp(V1440, a + b*vw, V1920): b = (V1920 - V1440) / 4.8 vw, a = V1440 - 14.4 * b px. */
@media (min-width: 1025px) {
  :root {
    --mc-grid: clamp(1200px, 50vw + 480px, 1440px);         /* 1200 @1440 -> 1440 @1920 */
    --mc-gap: clamp(24px, 1.667vw, 32px);                   /* зазор рядов карточек 24 -> 32 */
    --mc-fs-xs: clamp(14px, 11px + 0.208vw, 15px);          /* пол мелкого текста */
    --mc-fs-sm: clamp(15px, 12px + 0.208vw, 16px);
    --mc-fs-base: clamp(16px, 10px + 0.417vw, 18px);
    --mc-fs-lead: clamp(18px, 12px + 0.417vw, 20px);
    --mc-fs-card: clamp(18px, 12px + 0.417vw, 20px);        /* заголовок малой карточки */
    --mc-fs-lg: clamp(24px, 18px + 0.417vw, 26px);          /* пункт 01-09, крупная карточка */
    --mc-fs-h3: clamp(32px, 20px + 0.833vw, 36px);
    --mc-fs-h2s: clamp(44px, 32px + 0.833vw, 48px);
    --mc-fs-h2: clamp(54px, 42px + 0.833vw, 58px);
    --mc-fs-h1: clamp(48px, 24px + 1.667vw, 56px);          /* H1 внутренних */
    --mc-fs-h1-home: clamp(56px, 32px + 1.667vw, 64px);     /* H1 главной: 56/820 на 1440, 64/900 на 1920 (2g-hero) */
    --mc-ico: clamp(88px, 64px + 1.667vw, 96px);            /* иконки карточек и бейдж 01-09 */
  }
}
body .mc-cookie {
  position: fixed;
  right: 24px;
  bottom: 24px;
  z-index: 9990;
  box-sizing: border-box;
  width: min(400px, calc(100vw - 48px));
  margin: 0;
  padding: 16px 20px 20px;
  border: 1px solid var(--mc-line);
  border-radius: 12px;
  background: #fff;
  box-shadow: 0 12px 32px rgb(16 24 40 / 0.14);
  color: var(--mc-text);
  font-family: "Wix Madefor Text", "Wix Madefor Text Fallback", sans-serif;
}
.mc-cookie__text {
  margin: 0 0 12px;
  font-size: 14px;
  font-weight: 400;
  line-height: 1.45;
  color: var(--mc-text);
}
.mc-cookie__text a {
  color: var(--mc-blue-text);
  text-decoration: underline;
  text-underline-offset: 2px;
}
.mc-cookie__text a:hover {
  color: var(--mc-blue-active);
}
.mc-cookie__text a:focus-visible {
  outline: 2px solid var(--mc-blue);
  outline-offset: 2px;
  border-radius: 2px;
}
.mc-cookie__ok {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 132px;
  min-height: 44px;
  margin: 0;
  padding: 10px 24px;
  border: 0;
  border-radius: var(--mc-btn-radius);
  background: var(--mc-blue);
  box-shadow: none;
  color: #fff;
  font-family: "Wix Madefor Display", "Wix Madefor Display Fallback", sans-serif;
  font-size: 15px;
  font-weight: 600;
  line-height: 1.2;
  letter-spacing: 0.02em;
  text-transform: none;
  cursor: pointer;
  appearance: none;
  -webkit-appearance: none;
  transition: background-color var(--mc-ease);
}
.mc-cookie__ok:hover {
  background-color: var(--mc-blue-hover);
}
.mc-cookie__ok:active {
  background-color: var(--mc-blue-active);
}
.mc-cookie__ok:focus {
  outline: none;
}
.mc-cookie__ok:focus-visible {
  outline: 2px solid var(--mc-blue);
  outline-offset: 3px;
}
@media (max-width: 767px) {
  body .mc-cookie {
    left: 0;
    right: 0;
    bottom: 0;
    width: auto;
    padding: 14px 16px calc(14px + env(safe-area-inset-bottom));
    border-width: 1px 0 0;
    border-radius: 12px 12px 0 0;
    box-shadow: 0 -8px 24px rgb(16 24 40 / 0.12);
  }
  .mc-cookie__text {
    margin-bottom: 10px;
  }
  html.mc-cookie-on body {
    padding-bottom: var(--mc-cookie-h, 0px);
  }
}
body .mc-legal p {
  margin: 0 0 16px;
}
body .mc-legal h2 {
  margin: 40px 0 12px;
  color: #111;
  font-family: "Wix Madefor Display", "Wix Madefor Display Fallback", sans-serif;
  font-size: 22px;
  font-weight: 600;
  line-height: 1.3;
  letter-spacing: 0;
  text-align: left;
}
body .mc-legal ul {
  margin: 0 0 16px;
  padding-left: 1.25em;
  list-style: disc;
}
body .mc-legal li {
  margin: 0 0 8px;
  padding-left: 4px;
}
body .mc-legal li::marker {
  color: var(--mc-blue-brand);
}
body .mc-legal a {
  color: var(--mc-blue-text);
  text-decoration: underline;
  text-underline-offset: 2px;
}
body .mc-legal a:hover {
  color: var(--mc-blue-active);
}
body .mc-legal a:focus-visible {
  outline: 2px solid var(--mc-blue);
  outline-offset: 2px;
  border-radius: 2px;
}
@media (max-width: 767px) {
  body .mc-legal h2 {
    margin-top: 32px;
    font-size: 20px;
  }
}
body .qmn_accept_answers .qsm-input-label a,
body .mc-cookie .mc-cookie__text a {
  padding-block: 4px;
}
.mc-devline {
  padding: 20px 24px calc(24px + env(safe-area-inset-bottom));
  border-top: 1px solid rgb(255 255 255 / 0.12);
  background: var(--mc-navy);
  color: rgb(255 255 255 / 0.74);
  font-family: "Wix Madefor Display", "Wix Madefor Display Fallback", sans-serif;
}
.mc-devline__in {
  max-width: var(--mc-grid);
  margin-inline: auto;
}
.mc-devline p {
  margin: 0;
  font-size: 13px;
  line-height: 1.5;
}
.mc-devline p + p {
  margin-top: 4px;
}
.mc-devline a {
  color: var(--mc-blue-on-dark);
  text-decoration: underline;
  text-underline-offset: 2px;
}
.mc-devline a:hover {
  color: #fff;
}
.mc-devline a:focus-visible {
  outline: 2px solid #fff;
  outline-offset: 2px;
  border-radius: 2px;
}
.mc-devline .mc-devline__note {
  font-size: 12px;
  font-style: italic;
}
.mc-totop {
  position: fixed;
  right: 24px;
  bottom: 24px;
  z-index: 9000;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 48px;
  height: 48px;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: var(--mc-blue);
  box-shadow: 0 4px 12px rgb(16 24 40 / 0.18);
  color: #fff;
  cursor: pointer;
  opacity: 0;
  visibility: hidden;
  transform: translateY(8px);
  transition: opacity var(--mc-ease), transform var(--mc-ease), visibility 0s linear 180ms, background-color var(--mc-ease);
  appearance: none;
  -webkit-appearance: none;
}
.mc-totop.is-visible {
  opacity: 1;
  visibility: visible;
  transform: none;
  transition: opacity var(--mc-ease), transform var(--mc-ease), visibility 0s, background-color var(--mc-ease);
}
.mc-totop svg {
  width: 24px;
  height: 24px;
}
.mc-totop:hover {
  background-color: var(--mc-blue-hover);
}
.mc-totop:active {
  background-color: var(--mc-blue-active);
}
.mc-totop:focus {
  outline: none;
}
.mc-totop:focus-visible {
  outline: 3px solid var(--mc-blue);
  outline-offset: 3px;
}
html.mc-cookie-on .mc-totop {
  bottom: calc(24px + var(--mc-cookie-h, 0px) + 16px);
}
@media (max-width: 767px) {
  .mc-totop {
    right: 16px;
    bottom: calc(24px + env(safe-area-inset-bottom));
  }
  html.mc-cookie-on .mc-totop {
    bottom: calc(var(--mc-cookie-h, 0px) + 16px);
  }
}
@media (prefers-reduced-motion: reduce) {
  .mc-totop,
  .mc-totop.is-visible {
    transform: none;
    transition: none;
  }
}
.mc-devline {
  --mc-brand-blue: var(--mc-blue-on-dark);
  --e-global-color-primary: var(--mc-blue-on-dark);
  --e-global-color-accent: var(--mc-blue-on-dark);
}
:root {
  --mc-hdr-h: 113px;           /* высота наложенной шапки 45 на десктопе (с кнопкой «Версия для слабовидящих») */
  /* слева под H1 плотнее; справа на 2-колоночных экранах тоже текст - картинка приглушена, но читается */
  --mc-hero-ov: linear-gradient(90deg, rgb(11 31 56 / 0.92) 0%, rgb(11 31 56 / 0.84) 48%, rgb(11 31 56 / 0.62) 100%);
}
@media (max-width: 1024px) {
  :root {
    --mc-hdr-h: 76px;
  }
}
@media (max-width: 767px) {
  :root {
    --mc-hdr-h: 68px;
    --mc-hero-ov: linear-gradient(rgb(11 31 56 / 0.84), rgb(11 31 56 / 0.84));
  }
}
.mc-crumbs {
  font-size: 13px;
  line-height: 1.4;
  color: var(--mc-text-muted);
}
.mc-crumbs__list {
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  min-width: 0;
  margin: 0;
  padding: 0;
  list-style: none;
}
.mc-crumbs__item {
  display: flex;
  flex: 0 1 auto;
  align-items: center;
  min-width: 0;
  margin: 0;
  white-space: nowrap;
}
.mc-crumbs__item:first-child {
  flex: none;
}
.mc-crumbs__item + .mc-crumbs__item::before {
  content: "\203A";
  flex: none;
  margin: 0 8px;
  opacity: 0.7;
}
.mc-crumbs__a,
.mc-crumbs__cur {
  display: block;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
}
.mc-crumbs__a {
  color: inherit;
  text-decoration: underline;
  text-decoration-color: color-mix(in srgb, currentColor 45%, transparent);
  text-underline-offset: 3px;
}
.mc-crumbs__a:hover {
  text-decoration-color: currentColor;
}
.mc-crumbs__a:focus-visible {
  outline: 3px solid currentColor;
  outline-offset: 2px;
  border-radius: 2px;
}
.mc-topstrip {
  position: relative;
  z-index: 50;
  display: flex;
  align-items: center;
  gap: 16px;
  box-sizing: border-box;
  max-width: calc(var(--mc-grid) + 48px);
  margin: 0 auto;
  padding: 4px 24px;
}
.mc-topstrip > .mc-crumbs {
  flex: 1 1 auto;
  min-width: 0;
}
.mc-topstrip > .mc-bvi-bar {
  flex: none;
  max-width: none;
  margin: 0;
  padding: 0;
}
@media (max-width: 767px) {
  .mc-crumbs__a {
    display: flex;
    align-items: center;
    min-height: 44px;
  }
  .mc-crumbs__cur {
    line-height: 44px;
  }
  .mc-crumbs__item:last-child {
    flex-shrink: 30;
  }
  .mc-crumbs__list:has(> :nth-child(4)) > .mc-crumbs__item:not(:first-child):not(:nth-last-child(-n+2)) {
    display: none;
  }
  .mc-crumbs__list:has(> :nth-child(4)) > .mc-crumbs__item:nth-last-child(2)::before {
    content: "\203A\00a0\2026\00a0\203A";
  }
  .mc-topstrip {
    padding: 4px 16px;
  }
}
.mc-path {
  padding: 72px 24px 80px;
  background: #fff;
  color: var(--mc-text);
}
.mc-path__in {
  max-width: var(--mc-grid);
  margin: 0 auto;
}
.mc-path__title {
  margin: 0;
  color: var(--mc-text);
  font-family: "Wix Madefor Display", "Wix Madefor Display Fallback", sans-serif;
  font-size: clamp(32px, 2.4vw + 10px, 48px);
  font-weight: 500;
  line-height: 1.15;
  text-align: center;
}
.mc-path__accent {
  color: var(--mc-blue-brand);
}
.mc-path__lead {
  max-width: 640px;
  margin: 16px auto 0;
  color: var(--mc-text-muted);
  font-size: 18px;
  line-height: 1.5;
  text-align: center;
}
.mc-path__track {
  position: relative;
  margin-top: 56px;
}
.mc-path__steps {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 16px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.mc-path__step {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 16px;
  margin: 0;
  text-align: center;
}
.mc-path__dot {
  display: grid;
  place-items: center;
  width: 64px;
  height: 64px;
  border: 2px solid #cfd8e3;
  border-radius: 50%;
  background: #fff;
  color: #7b8794;
  transition: background-color 0.5s ease, border-color 0.5s ease, color 0.5s ease, box-shadow 0.5s ease;
}
.mc-path__dot svg {
  width: 28px;
  height: 28px;
}
.mc-path__label {
  color: var(--mc-text-muted);
  font-size: 16px;
  font-weight: 600;
  line-height: 1.3;
  transition: color 0.5s ease;
}
.mc-path__step.is-on .mc-path__dot {
  border-color: var(--mc-blue);
  background: var(--mc-blue);
  color: #fff;
  box-shadow: 0 0 0 6px rgb(26 111 220 / 0.12);
}
.mc-path__step.is-on .mc-path__label {
  color: var(--mc-text);
}
.mc-path__step:last-child.is-on .mc-path__dot {
  border-color: #f4c72c;
  background: #f4c72c;
  color: var(--mc-navy);
  box-shadow: 0 0 0 6px rgb(244 199 44 / 0.2);
}
.mc-path__line {
  position: absolute;
  z-index: 0;
  overflow: visible;
  pointer-events: none;
}
.mc-path__line--h {
  top: 31px;
  left: calc(100% / 12);
  width: calc(100% - 100% / 6);
  height: 4px;
}
.mc-path__line--v {
  display: none;
}
.mc-path__line path {
  fill: none;
  stroke-width: 4;
  vector-effect: non-scaling-stroke;
}
.mc-path__base {
  stroke: #e3e8ee;
}
.mc-path__draw {
  stroke: var(--mc-blue);
  stroke-dasharray: 1;
  stroke-dashoffset: var(--mc-path-off, 0);
}
html:not(.mc-motion) .mc-path__step .mc-path__dot {
  border-color: var(--mc-blue);
  background: var(--mc-blue);
  color: #fff;
}
html:not(.mc-motion) .mc-path__step:last-child .mc-path__dot {
  border-color: #f4c72c;
  background: #f4c72c;
  color: var(--mc-navy);
}
html:not(.mc-motion) .mc-path__step .mc-path__label {
  color: var(--mc-text);
}
@media (max-width: 1024px) {
  .mc-path__steps {
    gap: 8px;
  }
  .mc-path__label {
    font-size: 14px;
  }
}
@media (max-width: 767px) {
  .mc-path {
    padding: 56px 16px;
  }
  .mc-path__lead {
    font-size: 16px;
  }
  .mc-path__track {
    margin-top: 32px;
  }
  .mc-path__steps {
    grid-template-columns: minmax(0, 1fr);
    gap: 20px;
  }
  .mc-path__step {
    flex-direction: row;
    gap: 16px;
    text-align: left;
  }
  .mc-path__dot {
    flex: none;
    width: 56px;
    height: 56px;
  }
  .mc-path__dot svg {
    width: 24px;
    height: 24px;
  }
  .mc-path__label {
    font-size: 16px;
  }
  .mc-path__line--h {
    display: none;
  }
  .mc-path__line--v {
    display: block;
    top: 28px;
    bottom: 28px;
    left: 26px;
    width: 4px;
    height: calc(100% - 56px);
  }
}
@media (max-width: 767px) {
  .mc-topstrip .mc-bvi-open__text {
    position: absolute;
    width: 1px;
    height: 1px;
    margin: -1px;
    overflow: hidden;
    clip: rect(0 0 0 0);
    white-space: nowrap;
  }
  .mc-topstrip .mc-bvi-open {
    justify-content: center;
    min-width: 44px;
    min-height: 44px;
  }
}
.mc-devline .mc-devline__req,
.mc-devline .mc-devline__lic {
  font-size: 12px;
  line-height: 1.55;
}
.mc-devline .mc-devline__a11y {
  margin-top: 12px;
}
.mc-devline .mc-devline__dev {
  margin-top: 8px;
}
.mc-nw {
  white-space: nowrap;
}
.mc-oc {
  padding: 64px 24px;
  background: #fff;
  color: var(--mc-text);
  font-family: "Wix Madefor Display", "Wix Madefor Display Fallback", sans-serif;
  font-size: 16px;
  line-height: 1.55;
}
.mc-oc--tint {
  background: var(--mc-tint);
}
.mc-oc--first {
  padding-top: 48px;
}
.mc-oc__in {
  max-width: var(--mc-grid);
  margin: 0 auto;
}
.mc-oc__title {
  margin: 0;
  color: var(--mc-text);
  font-family: "Wix Madefor Display", "Wix Madefor Display Fallback", sans-serif;
  font-size: clamp(28px, 1.6vw + 12px, 40px);
  font-weight: 500;
  line-height: 1.2;
  text-align: center;
}
.mc-oc__accent {
  color: var(--mc-blue-brand);
}
.mc-oc__lead {
  max-width: 640px;
  margin: 12px auto 0;
  color: var(--mc-text-muted);
  font-size: 18px;
  line-height: 1.5;
  text-align: center;
}
.mc-oc .mc-oc__body {
  margin-top: 40px;
}
:where(.mc-oc) p {
  margin: 0;
}
:where(.mc-oc) p + p {
  margin-top: 12px;
}
.mc-oc a {
  color: var(--mc-blue-text);
  text-decoration: underline;
  text-underline-offset: 3px;
}
.mc-oc a:hover {
  color: var(--mc-blue-active);
}
.mc-oc a:focus-visible {
  outline: 3px solid var(--mc-blue-text);
  outline-offset: 2px;
  border-radius: 2px;
}
.mc-oc__src {
  margin-top: 16px;
  color: var(--mc-text-muted);
  font-size: 14px;
  line-height: 1.5;
}
.mc-oc .mc-oc__src a {
  overflow-wrap: anywhere;
}
.mc-oc .mc-oc__center {
  text-align: center;
}
.mc-oc__split {
  display: grid;
  grid-template-columns: minmax(0, 7fr) minmax(0, 5fr);
  gap: 48px;
  align-items: start;
}
.mc-oc__text p {
  font-size: 18px;
  line-height: 1.6;
}
.mc-oc__facts {
  margin: 0;
  padding: 28px;
  border: 1px solid var(--mc-line);
  border-radius: 16px;
  background: var(--mc-tint);
}
.mc-oc__facts div + div {
  margin-top: 16px;
  padding-top: 16px;
  border-top: 1px solid var(--mc-line);
}
.mc-oc__facts dt {
  color: var(--mc-text-muted);
  font-size: 14px;
}
.mc-oc__facts dd {
  margin: 2px 0 0;
  font-size: 17px;
  font-weight: 600;
}
.mc-oc__grid {
  display: grid;
  gap: 24px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.mc-oc__grid--uni {
  grid-template-columns: repeat(6, minmax(0, 1fr));
}
.mc-oc__grid--uni > :nth-child(-n + 2) {
  grid-column: span 3;
}
.mc-oc__grid--uni > :nth-child(n + 3) {
  grid-column: span 2;
}
.mc-oc__grid--3 {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
.mc-oc__card {
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin: 0;
  padding: 28px;
  border: 1px solid var(--mc-line);
  border-radius: 16px;
  background: #fff;
}
.mc-oc__big {
  margin: 0;
  color: var(--mc-blue-brand);
  font-size: 34px;
  font-weight: 600;
  line-height: 1.1;
}
.mc-oc__card h3,
.mc-oc__sub {
  margin: 0;
  color: var(--mc-text);
  font-family: "Wix Madefor Display", "Wix Madefor Display Fallback", sans-serif;
  font-size: 20px;
  font-weight: 600;
  line-height: 1.3;
}
.mc-oc__card p {
  color: var(--mc-text-muted);
}
.mc-oc__card .mc-oc__src {
  margin-top: auto;
  padding-top: 8px;
}
.mc-oc__stat {
  text-align: center;
}
.mc-oc__stat .mc-oc__big {
  font-size: clamp(44px, 3vw + 12px, 60px);
}
.mc-oc__stat p {
  color: var(--mc-text);
  font-size: 17px;
}
.mc-oc__person {
  display: grid;
  grid-template-columns: 56px minmax(0, 1fr);
  gap: 4px 16px;
  align-content: start;
}
.mc-oc__mono {
  display: grid;
  grid-row: span 2;
  place-items: center;
  width: 56px;
  height: 56px;
  border-radius: 50%;
  background: #e6effb;
  color: var(--mc-blue-text);
  font-size: 18px;
  font-weight: 600;
  letter-spacing: 0.02em;
}
.mc-oc__person h3 {
  align-self: end;
}
.mc-oc__role {
  align-self: start;
  color: var(--mc-blue-text);
  font-size: 15px;
  font-weight: 600;
}
.mc-oc__person .mc-oc__about {
  grid-column: 1 / -1;
  margin-top: 12px;
}
.mc-oc__person .mc-oc__src {
  grid-column: 1 / -1;
}
.mc-oc__rating {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 8px 20px;
  margin: 32px auto 0;
  text-align: center;
}
.mc-oc__rating .mc-oc__big {
  font-size: clamp(44px, 3vw + 12px, 60px);
}
.mc-oc__rating p {
  font-size: 18px;
}
.mc-oc__cols {
  display: grid;
  grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
  gap: 48px;
  margin-top: 40px;
}
.mc-oc__docs {
  margin: 16px 0 0;
  padding: 0;
  list-style: none;
}
.mc-oc__docs li {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 4px 10px;
  padding: 12px 0;
  border-bottom: 1px solid var(--mc-line);
  font-size: 17px;
}
.mc-oc__type {
  color: var(--mc-text-muted);
  font-size: 14px;
}
.mc-rekv {
  margin: 16px 0 0;
}
.mc-oc--rekv .mc-rekv {
  margin-top: 32px;
  padding: 8px 28px;
  border: 1px solid var(--mc-line);
  border-radius: 16px;
  background: #fff;
}
.mc-rekv__row {
  display: grid;
  grid-template-columns: 200px minmax(0, 1fr);
  gap: 4px 24px;
  padding: 12px 0;
  border-bottom: 1px solid var(--mc-line);
}
.mc-rekv__row:last-child {
  border-bottom: 0;
}
.mc-rekv dt {
  color: var(--mc-text-muted);
  font-size: 14px;
  line-height: 1.6;
}
.mc-rekv dd {
  margin: 0;
  font-size: 16px;
  line-height: 1.55;
}
.mc-excerpt p {
  margin: 0;
}
.mc-excerpt .mc-excerpt__more {
  margin-top: 8px;
}
.mc-excerpt .mc-excerpt__more a {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  color: var(--mc-blue-text);
  font-weight: 600;
}
@media (max-width: 1024px) {
  .mc-oc__grid--uni,
  .mc-oc__grid--3 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .mc-oc__grid--uni > :nth-child(n) {
    grid-column: auto;
  }
  .mc-oc__split,
  .mc-oc__cols {
    grid-template-columns: minmax(0, 1fr);
    gap: 32px;
  }
}
@media (max-width: 767px) {
  .mc-oc {
    padding: 40px 16px;
  }
  .mc-oc--first {
    padding-top: 32px;
  }
  .mc-oc__lead,
  .mc-oc__text p {
    font-size: 16px;
  }
  .mc-oc .mc-oc__body,
  .mc-oc__cols {
    margin-top: 28px;
  }
  .mc-oc__grid--uni,
  .mc-oc__grid--3 {
    grid-template-columns: minmax(0, 1fr);
    gap: 16px;
  }
  .mc-oc__card,
  .mc-oc__facts {
    padding: 20px;
  }
  .mc-oc--rekv .mc-rekv {
    padding: 4px 20px;
  }
  .mc-oc__docs li {
    flex-direction: column;
    align-items: flex-start;
  }
  .mc-rekv__row {
    grid-template-columns: minmax(0, 1fr);
  }
  .mc-oc__docs a,
  .mc-oc__src a,
  .mc-devline .mc-devline__lic a {
    padding-block: 13px;
  }
  .mc-devline .mc-devline__a11y .mc-devline__dot {
    display: none;
  }
  .mc-devline .mc-devline__a11y .mc-devline__c {
    display: block;
    margin-bottom: 2px;
  }
  .mc-devline .mc-devline__a11y a {
    margin-right: 16px;
  }
}
@media (max-width: 767px) {
  .mc-path__steps {
    gap: 16px;
  }
  .mc-path__step {
    align-items: center;
    width: 100%;
    min-height: 56px;
  }
  .mc-path__dot {
    border-color: #b8c4d3;
    color: #5b6b80;
  }
  .mc-path__dot svg {
    width: 26px;
    height: 26px;
  }
  .mc-path__label {
    flex: 1 1 auto;
    min-width: 0;
    font-size: 16px;
    line-height: 1.35;
  }
  .mc-path__line--v {
    left: calc(28px - 1.5px);
    width: 3px;
  }
  .mc-path__line path {
    stroke-width: 3;
  }
  .mc-path__base {
    stroke: #b8c4d3;
  }
}

.mc-hp {
  position: absolute !important;
  inset-inline-start: -10000px;
  inline-size: 1px;
  block-size: 1px;
  overflow: hidden;
}


/* End */


/* Start:/local/templates/mietcenter/css/mc.css?1791176168144992*/
/* ЦКО МИЭТ - шаблон Битрикса, свои классы mc-* (итерация 2, 01.10.2026).
   Стиль - с эталона dev.mietcenter.ru, сетка - своя: ОДИН контейнер .mc-wrap (1200 + поля 16px до 767, 24px от 768),
   все секции и сетки внутри него; неполный ряд карточек - по центру ряда; на телефоне заголовки и лиды по центру.
   Брейкпоинты: 767 (телефон), 1024 (планшет), 1199 (бургер в шапке). Тире - только дефис. */

:root {
  --mc-pad: 16px;
  --mc-hdr-h: 68px;
  --mc-sec: 56px;
  --mc-font-d: "Wix Madefor Display", "Wix Madefor Display Fallback", system-ui, sans-serif;
  --mc-font-t: "Wix Madefor Text", "Wix Madefor Text Fallback", "Wix Madefor Display", "Wix Madefor Display Fallback", system-ui, sans-serif;
  --mc-radius: 12px;
  --mc-shadow: 0 8px 24px rgb(16 24 40 / 0.08);
  --mc-accent: var(--mc-blue-brand);
  --mc-hero-ov: linear-gradient(rgb(11 31 56 / 0.84), rgb(11 31 56 / 0.84));
}

@media (min-width: 768px) {
  :root {
    --mc-pad: 24px;
    --mc-sec: 72px;
    --mc-hero-ov: linear-gradient(90deg, rgb(11 31 56 / 0.92) 0%, rgb(11 31 56 / 0.84) 48%, rgb(11 31 56 / 0.62) 100%);
  }
}

@media (min-width: 1025px) {
  :root {
    --mc-sec: clamp(96px, 24px + 5vw, 120px); /* 2g: 96 до 1440 -> 120 на 1920 */
  }
}

@media (min-width: 1200px) {
  :root {
    --mc-hdr-h: 141px;
  }
}

/* ================================================================== основа */

*,
*::before,
*::after {
  box-sizing: border-box;
}

html {
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
  scroll-padding-top: 16px;
}

body {
  margin: 0;
  background: #fff;
  color: var(--mc-text);
  font-family: var(--mc-font-t);
  font-size: 16px;
  line-height: 1.5;
  letter-spacing: -0.1px;
  overflow-x: clip;
}

img,
video,
svg {
  max-width: 100%;
}

img,
video {
  height: auto;
}

a {
  color: var(--mc-blue-text);
}

a:focus-visible,
button:focus-visible,
summary:focus-visible,
[tabindex]:focus-visible {
  outline: 2px solid var(--mc-focus, #1565c0);
  outline-offset: 3px;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  margin: 0;
  font-family: var(--mc-font-d);
  font-weight: 400;
  line-height: 1.2;
}

p,
ul,
ol,
dl,
dd,
figure {
  margin: 0;
}

b,
strong {
  font-weight: 700;
}

/* как в глобальных стилях темы дева: без «висячих» коротких слов в конце абзаца и заголовка */
h1,
h2,
h3,
h4,
h5,
h6,
p {
  text-wrap: pretty;
}

.mc-ico {
  display: block;
  flex: none;
}

.mc-sr {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  margin: -1px !important;
  padding: 0 !important;
  overflow: hidden !important;
  clip: rect(0 0 0 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

.mc-main {
  display: block;
  outline: none;
}

/* ================================================================== контейнер и секции */

.mc-wrap {
  width: 100%;
  max-width: calc(var(--mc-grid) + 2 * var(--mc-pad));
  margin-inline: auto;
  padding-inline: var(--mc-pad);
}

.mc-wrap--narrow {
  max-width: calc(840px + 2 * var(--mc-pad));
}

.mc-wrap--text {
  max-width: calc(720px + 2 * var(--mc-pad));
}

.mc-sec {
  padding-block: var(--mc-sec);
}

.mc-sec--tint {
  background: var(--mc-tint);
}

.mc-sec--navy {
  --mc-accent: var(--mc-blue-on-dark);
  --mc-brand-text: var(--mc-blue-on-dark);
  --mc-focus: #8cc4ff;
  background: var(--mc-navy);
  color: #fff;
}

.mc-sec--tight {
  padding-block: calc(var(--mc-sec) * 0.6);
}

.mc-sec--top0 {
  padding-top: 0;
}

.mc-sec--bot0 {
  padding-bottom: 0;
}

.mc-stack > * + * {
  margin-top: 24px;
}

.mc-center {
  text-align: center;
}

.mc-actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 16px;
  margin-top: 40px;
}

.mc-actions--start {
  justify-content: flex-start;
}

@media (max-width: 767px) {
  .mc-actions--start {
    justify-content: center;
  }
}

/* ================================================================== типографика */

.mc-acc {
  color: var(--mc-blue-text);
  font-weight: 600;
}

/* бренд-синий (3.51:1) - только в крупном тексте: заголовки секций, вводные, карточки «картинка + текст» */
:is(.mc-h2, .mc-h3, .mc-intro, .mc-mcard__title, .mc-dialog__title, .mc-home-hero__title, .mc-hero__title) .mc-acc {
  color: var(--mc-accent);
}

.mc-sec--navy .mc-acc,
.mc-hero .mc-acc,
.mc-home-hero .mc-acc {
  color: var(--mc-blue-on-dark);
}

.mc-h1 {
  font-size: 32px;
  font-weight: 300;
  line-height: 1.15;
  letter-spacing: -0.01em;
}

.mc-h2 {
  font-size: 30px;
  font-weight: 300;
  line-height: 1.2;
  text-align: center;
}

.mc-h2--sm {
  font-size: 28px;
}

.mc-h2--start {
  text-align: left;
}

.mc-h3 {
  font-size: 27px;
  font-weight: 300;
  line-height: 1.4;
}

.mc-h4 {
  font-size: 20px;
  font-weight: 500;
  line-height: 1.35;
}

.mc-lead {
  max-width: 62ch;
  margin-inline: auto;
  margin-top: 16px;
  font-family: var(--mc-font-d);
  font-size: 16px;
  font-weight: 300;
  line-height: 1.5;
  text-align: center;
}

.mc-lead b {
  font-weight: 600;
}

.mc-text {
  font-size: 16px;
  line-height: 1.6;
}

.mc-text > * + * {
  margin-top: 12px;
}

.mc-small {
  font-size: 14px;
  line-height: 1.5;
}

.mc-muted {
  color: var(--mc-text-muted);
}

.mc-sec--navy .mc-muted {
  color: rgb(255 255 255 / 0.74);
}

.mc-head {
  margin-bottom: 40px;
}

@media (max-width: 767px) {
  .mc-h2--start,
  .mc-head,
  .mc-head .mc-lead {
    text-align: center;
  }
}

@media (min-width: 768px) {
  .mc-h1 {
    font-size: 40px;
  }

  .mc-h2 {
    font-size: 44px;
  }

  .mc-h2--sm {
    font-size: 36px;
  }

  .mc-h3 {
    font-size: 30px;
  }

  .mc-h4 {
    font-size: 22px;
  }

  .mc-lead {
    font-size: 16px;
  }

  .mc-head {
    margin-bottom: 56px;
  }
}

@media (min-width: 1025px) {
  .mc-h1 {
    font-size: 44px;
  }

  .mc-h2 {
    font-size: 54px;
  }

  .mc-h2--sm {
    font-size: 44px;
  }


  .mc-h3 {
    font-size: 32px;
  }

  .mc-h4 {
    font-size: 23px;
  }
}

/* ================================================================== кнопки */

.mc-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  min-height: var(--mc-btn-min-h);
  padding: 12px 24px;
  border: 0;
  border-radius: var(--mc-btn-radius);
  background: var(--mc-blue);
  color: #fff;
  font-family: var(--mc-font-d);
  font-size: 16px;
  font-weight: 600;
  line-height: 1.25;
  letter-spacing: 0.04em;
  text-align: center;
  text-decoration: none;
  text-transform: uppercase;
  cursor: pointer;
  transition: background-color var(--mc-ease);
}

.mc-btn:hover {
  background: var(--mc-blue-hover);
  color: #fff;
}

.mc-btn:active {
  background: var(--mc-blue-active);
}

.mc-btn--block {
  display: flex;
  width: 100%;
}

.mc-btn--wide {
  min-width: min(100%, 430px);
}

.mc-btn--ghost {
  min-height: 44px;
  padding: 8px 16px;
  border: 1px solid #cfd8e3;
  background: #fff;
  color: var(--mc-blue-text);
  font-size: 12px;
  font-weight: 500;
  letter-spacing: 0.02em;
}

.mc-btn--ghost:hover {
  border-color: var(--mc-blue-text);
  background: #fff;
  color: var(--mc-blue-hover);
}

@media (max-width: 767px) {
  .mc-btn {
    font-size: 14px;
    letter-spacing: 0.02em;
  }

  .mc-btn--wide {
    width: 100%;
  }
}

/* кнопка-направление: текст и круглая стрелка справа (главная, курсы, «Другие курсы») */
.mc-dirs {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 16px 44px;
}

.mc-dir {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  width: 268px;
  min-height: 99px;
  padding: 17px 23px;
  border-radius: 10px;
  background: var(--mc-blue);
  color: #fff;
  font-family: var(--mc-font-d);
  font-size: 21px;
  font-weight: 500;
  line-height: 1.5;
  text-decoration: none;
  transition: background-color var(--mc-ease);
}

.mc-dir:hover {
  background: var(--mc-blue-hover);
  color: #fff;
}

.mc-dir__arr {
  display: grid;
  place-items: center;
  flex: none;
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: #fff;
  color: var(--mc-blue);
}

@media (max-width: 767px) {
  .mc-dirs {
    flex-direction: column;
    align-items: center;
  }

  .mc-dir {
    width: 100%;
    max-width: 343px;
    min-height: 72px;
    font-size: 17px;
  }
}

/* ================================================================== шапка */

.mc-header {
  position: relative;
  z-index: 100;
  border-bottom: 1px solid var(--mc-line);
  background: #fff;
  box-shadow: 0 1px 3px rgb(16 24 40 / 0.04);
}

.mc-header__in {
  display: grid;
  grid-template-columns: 44px 44px 1fr;
  grid-template-areas: "burger bvi logo";
  align-items: center;
  gap: 4px;
  min-height: 67px;
}

.mc-burger {
  grid-area: burger;
  display: grid;
  place-items: center;
  width: 44px;
  height: 44px;
  padding: 0;
  border: 0;
  border-radius: 10px;
  background: transparent;
  color: var(--mc-text);
  cursor: pointer;
}

.mc-burger__close,
.mc-burger[aria-expanded="true"] .mc-burger__open {
  display: none;
}

.mc-burger[aria-expanded="true"] .mc-burger__close {
  display: block;
}

.mc-logo {
  grid-area: logo;
  justify-self: end;
  display: block;
  line-height: 0;
}

.mc-logo img {
  width: auto;
  height: 44px;
}

.mc-header__side {
  display: contents;
}

.mc-header__phone,
.mc-header__addr {
  display: none;
}

.mc-header .mc-bvi-entry {
  grid-area: bvi;
}

.mc-header .mc-bvi-open {
  justify-content: center;
  width: 44px;
  height: 44px;
  border-radius: 10px;
  color: var(--mc-text);
}

.mc-header .mc-bvi-open .mc-bvi-eye {
  width: 28px;
  height: 28px;
}

.mc-header .mc-bvi-open__text {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
  white-space: nowrap;
}

/* меню: выпадающее под шапкой до 1199px */
.mc-nav {
  position: absolute;
  top: 100%;
  left: 0;
  right: 0;
  display: none;
  border-top: 1px solid var(--mc-line);
  border-bottom: 1px solid var(--mc-line);
  background: #fff;
  box-shadow: 0 12px 24px rgb(16 24 40 / 0.08);
}

.mc-nav.is-open {
  display: block;
}

.mc-nav__list {
  margin: 0;
  padding: 0;
  list-style: none;
}

.mc-nav__a {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 48px;
  padding: 12px 20px;
  color: var(--mc-text);
  font-family: var(--mc-font-d);
  font-size: 16px;
  line-height: 24px;
  text-decoration: none;
}

.mc-nav__a:hover,
.mc-nav__a.is-active {
  background: #f2f7fe;
  color: var(--mc-blue-text);
}

@media (min-width: 768px) {
  .mc-header__in {
    grid-template-columns: 44px 44px 1fr auto;
    grid-template-areas: "burger bvi phone logo";
    gap: 8px;
    min-height: 75px;
  }

  .mc-header__phone {
    grid-area: phone;
    justify-self: end;
    display: block;
    margin-right: 16px;
    color: var(--mc-text);
    font-family: var(--mc-font-d);
    font-size: 18px;
    font-weight: 600;
    letter-spacing: -0.3px;
    text-decoration: none;
  }

  .mc-logo img {
    height: 52px;
  }
}

/* десктоп: строка «логотип | телефон, адрес, версия для слабовидящих» и строка меню по центру */
@media (min-width: 1200px) {
  .mc-header__in {
    grid-template-columns: auto 1fr;
    grid-template-areas:
      "logo side"
      "nav nav";
    gap: 0;
    min-height: 0;
    padding-top: 12px;
  }

  .mc-burger {
    display: none;
  }

  .mc-logo {
    justify-self: start;
  }

  .mc-logo img {
    height: 64px;
  }

  .mc-header__side {
    grid-area: side;
    justify-self: end;
    display: grid;
    justify-items: end;
    gap: 2px;
  }

  .mc-header__side > *,
  .mc-header .mc-bvi-entry {
    grid-area: auto;
  }

  .mc-header__phone {
    display: block;
    margin: 0;
    font-size: 20px;
    line-height: 28px;
  }

  .mc-header__addr {
    display: flex;
    align-items: center;
    gap: 6px;
    color: var(--mc-text-muted);
    font-family: var(--mc-font-d);
    font-size: 13px;
    line-height: 20px;
    letter-spacing: -0.3px;
  }

  .mc-header__addr .mc-ico {
    width: 11px;
    height: 14px;
    color: #20a6e6;
  }

  .mc-header .mc-bvi-open {
    width: auto;
    height: 24px;
    color: var(--mc-blue-text);
  }

  .mc-header .mc-bvi-open .mc-bvi-eye {
    width: 20px;
    height: 20px;
  }

  .mc-header .mc-bvi-open__text {
    position: static;
    width: auto;
    height: auto;
    overflow: visible;
    clip: auto;
  }

  .mc-nav {
    grid-area: nav;
    position: static;
    display: block;
    margin-top: 8px;
    padding: 6px 0 8px;
    border: 0;
    border-top: 1px solid var(--mc-line);
    box-shadow: none;
  }

  /* решение Антона 01.10: все 8 пунктов в строке, интервал между текстами 32px (пилюля 14px + зазор 4px + пилюля 14px),
     активный пункт и наведение - светло-голубая пилюля; выпадашек и разделителей нет */
  .mc-nav__list {
    display: flex;
    flex-wrap: nowrap;
    justify-content: center;
    gap: 4px;
  }

  .mc-nav__a {
    min-height: 40px;
    padding: 8px 14px;
    border-radius: 999px;
    font-size: 15px;
    font-weight: 500;
    line-height: 24px;
    white-space: nowrap;
    transition: background-color var(--mc-ease), color var(--mc-ease);
  }

  .mc-nav__a:hover {
    background: #eaf3ff;
    color: var(--mc-blue-text);
  }

  .mc-nav__a.is-active {
    background: #dcebff;
    color: var(--mc-blue-text);
  }

  .mc-nav__a--home .mc-nav__label {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(0 0 0 0);
    white-space: nowrap;
  }
}

/* ================================================================== крошки и первый экран внутренних */

.mc-crumbs {
  margin-bottom: 28px;
}

.mc-hero {
  position: relative;
  padding-block: 20px 40px;
  background-color: var(--mc-navy);
  background-image: var(--mc-hero-ov), var(--mc-hero-img-m, none);
  background-position: right center;
  background-repeat: no-repeat;
  background-size: cover;
  color: #fff;
  --mc-accent: var(--mc-blue-on-dark);
  --mc-brand-text: var(--mc-blue-on-dark);
  --mc-focus: #8cc4ff;
}

.mc-hero .mc-crumbs {
  color: rgb(255 255 255 / 0.86);
}

.mc-hero__in {
  text-align: center;
}

.mc-hero__kicker {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 16px;
  margin-bottom: 12px;
  font-family: var(--mc-font-d);
  font-size: 17px;
  line-height: 1.4;
  color: rgb(255 255 255 / 0.88);
}

.mc-hero__kicker .mc-ico {
  width: 18px;
  color: rgb(255 255 255 / 0.7);
}

.mc-hero__title {
  font-size: 32px;
  font-weight: 600;
  line-height: 1.15;
  letter-spacing: -0.01em;
  color: #fff;
  text-wrap: balance;
}

.mc-hero__title .mc-thin {
  font-weight: 300;
  color: #fff;
}

.mc-hero__lead {
  max-width: 60ch;
  margin: 16px auto 0;
  font-family: var(--mc-font-d);
  font-size: 16px;
  line-height: 1.5;
  color: rgb(255 255 255 / 0.9);
}

.mc-hero__lead b {
  color: #fff;
}

/* второй абзац лида (пока только /for-students/, 03.10) - отступ, у p в base.css margin 0 */
.mc-hero__lead > p + p {
  margin-top: 0.75em;
}

.mc-hero .mc-actions {
  margin-top: 28px;
}

@media (min-width: 768px) {
  .mc-hero {
    padding-block: 24px 56px;
    background-image: var(--mc-hero-ov), var(--mc-hero-img, none);
  }

  .mc-hero__in {
    max-width: 640px;
    text-align: left;
  }

  .mc-hero__kicker {
    justify-content: flex-start;
    font-size: 18px;
  }

  .mc-hero__title {
    font-size: 40px;
  }

  .mc-hero__lead {
    margin-left: 0;
    font-size: 18px;
  }

  .mc-hero .mc-actions {
    justify-content: flex-start;
  }
}

@media (min-width: 1025px) {
  .mc-hero {
    padding-block: 32px 56px;
  }

  .mc-hero__title {
    font-size: 44px;
  }
}

/* «строго центр»: блок текста первого экрана на десктопе слева в сетке 1200, сам контейнер по центру;
   на телефоне всё по центру */
.mc-hero__in--wide {
  max-width: none;
}

/* ================================================================== главная: первый экран */

.mc-home-hero {
  padding-block: 32px 72px;
  background-color: var(--mc-navy);
  background-image: linear-gradient(rgb(11 31 56 / 0.78), rgb(11 31 56 / 0.78)), url("/local/templates/mietcenter/css/../img/mc/hero-home-mob.webp");
  background-position: center;
  background-size: cover;
  color: #fff;
  --mc-accent: var(--mc-blue-on-dark);
}

.mc-home-hero {
  position: relative;
  overflow: hidden;
}

/* сеть «узлы-связи» (js/ui.js, от 768px): под содержимым, вне потока */
.mc-net {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
}

.mc-home-hero > .mc-wrap {
  position: relative;
  z-index: 1;
}

.mc-home-hero__in {
  text-align: center;
}

.mc-home-hero__kicker {
  font-family: var(--mc-font-d);
  font-size: 17px;
  line-height: 1.4;
  color: rgb(255 255 255 / 0.88);
}

.mc-home-hero__title {
  margin-top: 19px;
  font-size: 32px;
  font-weight: 300;
  line-height: 1.2;
  letter-spacing: -0.01em;
  color: #fff;
}

.mc-home-hero__title .mc-acc {
  color: var(--mc-blue-on-dark);
}

.mc-home-hero .mc-actions {
  margin-top: 32px;
}

.mc-gift {
  display: none;
}

@media (min-width: 768px) {
  .mc-home-hero {
    padding-block: 79px 136px;
    background-image: linear-gradient(90deg, rgb(11 31 56 / 0.86) 0%, rgb(11 31 56 / 0.76) 55%, rgb(11 31 56 / 0.4) 68%, rgb(11 31 56 / 0.22) 100%), url("/local/templates/mietcenter/css/../img/mc/hero-home-desk.webp");
  }

  .mc-home-hero__in {
    max-width: 672px;
    text-align: left;
  }

  .mc-home-hero__kicker {
    font-size: 18px;
  }

  .mc-home-hero__title {
    margin-top: 0;
    font-size: 44px;
    line-height: 1.15;
  }

  .mc-home-hero .mc-actions {
    justify-content: flex-start;
  }

  .mc-gift {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    margin-top: 20px;
    padding: 12px 20px 12px 16px;
    border-radius: 12px;
    background: #fff;
    color: var(--mc-text);
    font-family: var(--mc-font-d);
    font-size: 16px;
    font-weight: 500;
    line-height: 1.4;
  }

  .mc-gift .mc-ico {
    color: var(--mc-blue);
  }
}

/* плашки «зачем родителям» под первым экраном (наезжают на него на 30px) */
.mc-whys {
  position: relative;
  z-index: 2;
  margin-top: -40px;
}

.mc-whys__list {
  display: grid;
  gap: 12px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.mc-why {
  display: flex;
  align-items: center;
  gap: 16px;
  min-height: 90px;
  padding: 13px 16px 13px 13px;
  border: 1px solid var(--mc-line);
  border-radius: var(--mc-radius);
  background: #fff;
  color: var(--mc-text-muted);
  font-size: 16px;
  line-height: 1.5;
}

.mc-why img {
  flex: none;
  width: 64px;
  height: 64px;
  object-fit: contain;
}

.mc-why--gift {
  color: var(--mc-text);
  font-family: var(--mc-font-d);
  font-weight: 500;
}

.mc-why--gift .mc-ico {
  width: 40px;
  height: 40px;
  padding: 8px;
  color: var(--mc-blue);
}

@media (min-width: 768px) {
  .mc-whys {
    margin-top: -30px;
  }

  .mc-whys__list {
    grid-template-columns: repeat(2, 1fr);
    gap: 16px;
  }

  .mc-why--gift {
    display: none;
  }
}

@media (min-width: 1025px) {
  .mc-whys__list {
    display: flex;
    justify-content: space-between;
    gap: 20px;
  }

  .mc-why:not(.mc-why--gift) {
    flex: 0 1 auto;
  }
}

/* ================================================================== плитки направлений (главная) */

.mc-tiles {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 16px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.mc-tile {
  flex: 0 0 calc((100% - 16px) / 2);
  display: flex;
}

.mc-tile__a {
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 100%;
  padding: 20px 4px 16px;
  border-radius: var(--mc-radius);
  background: var(--mc-tint);
  color: var(--mc-text);
  text-align: center;
  text-decoration: none;
  transition: box-shadow var(--mc-ease), transform var(--mc-ease);
}

.mc-tile__a:hover {
  box-shadow: var(--mc-shadow);
  transform: translateY(-2px);
}

.mc-tile__ico {
  width: 72px;
  height: 72px;
  margin-bottom: 18px;
}

.mc-tile__name {
  font-size: 15px;
  font-weight: 800;
  line-height: 1.2;
  letter-spacing: -0.2px;
}

.mc-tile__text {
  margin-top: 8px;
  margin-bottom: 16px;
  font-size: 12px;
  line-height: 1.5;
}

.mc-tile .mc-btn--ghost {
  width: calc(100% - 8px);
  margin-top: auto;
  font-size: 10px;
}

@media (min-width: 768px) {
  .mc-tiles {
    gap: 24px;
  }

  .mc-tile {
    flex-basis: calc((100% - 3 * 24px) / 4);
  }
}

@media (min-width: 1025px) {
  .mc-tiles {
    gap: 32px;
  }

  .mc-tile {
    flex-basis: calc((100% - 4 * 32px) / 5);
  }

  .mc-tile__a {
    padding-inline: 10.5px;
  }

  .mc-tile .mc-btn--ghost {
    width: 100%;
  }
}

/* ================================================================== 01-09 «Подробности обучения» */

.mc-nums {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 32px 16px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.mc-nums > .mc-feat {
  flex: 0 0 100%;
}

.mc-feat {
  display: grid;
  grid-template-columns: 64px 1fr;
  align-items: center;
  gap: 4px 20px;
}

.mc-feat .mc-num {
  grid-row: span 2;
}

.mc-feat__title {
  font-size: 16px;
  font-weight: 500;
  line-height: 1.35;
}

.mc-feat__note {
  grid-column: 2;
  font-size: 13px;
  font-weight: 600;
  line-height: 1.45;
}

/* бейдж: растр 01-09 + галка в жёлтом кружке, дорисовывается по скроллу (js/ui.js ставит .is-in) */
.mc-num {
  position: relative;
  display: block;
  width: 64px;
  height: 64px;
  line-height: 0;
}

/* спрайт 9 кадров в ряд (perf 02.10): картинка в 9 раз шире клипа, кадр - сдвигом на свою девятую часть */
.mc-num__pic {
  display: block;
  width: 100%;
  height: 100%;
  overflow: hidden;
}

.mc-num__img {
  display: block;
  width: 900%;
  max-width: none;
  height: 100%;
  transform: translateX(calc(var(--mc-i, 0) * -100% / 9));
}

.mc-num__chk {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  overflow: visible;
}

.mc-num__chk path {
  fill: none;
  stroke: #fff;
  stroke-width: 15;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-dasharray: 1;
  stroke-dashoffset: 0;
}

html.mc-motion .mc-num:not(.is-in) {
  opacity: 0;
  transform: translateY(12px);
}

html.mc-motion .mc-num:not(.is-in) .mc-num__chk path {
  stroke-dashoffset: 1;
}

html.mc-motion .mc-num {
  transition: opacity 0.45s ease-out, transform 0.45s cubic-bezier(0.16, 1, 0.3, 1);
  transition-delay: calc(var(--mc-k, 0) * 120ms + var(--mc-r, 0) * 360ms);
}

html.mc-motion .mc-num__chk path {
  transition: stroke-dashoffset 0.5s ease-out;
  transition-delay: calc(200ms + var(--mc-k, 0) * 120ms + var(--mc-r, 0) * 360ms);
}

@media (min-width: 768px) {
  .mc-nums {
    gap: 48px 40px;
  }

  .mc-nums > .mc-feat {
    flex-basis: calc((100% - 40px) / 2);
  }
}

@media (min-width: 1025px) {
  .mc-nums {
    gap: 53px 120px;
  }

  .mc-nums > .mc-feat {
    flex-basis: calc((100% - 2 * 120px) / 3);
  }

  .mc-feat {
    grid-template-columns: 76px 1fr;
    grid-template-rows: 76px auto;
    align-items: start;
    gap: 5px 16px;
  }

  .mc-feat .mc-num {
    grid-row: 1;
    width: 76px;
    height: 76px;
    /* у растра прозрачное поле 31/512 слева - рамка бейджа встаёт по левому краю текста (как у дева) */
    margin-left: calc(-31px * 76 / 512);
  }

  .mc-feat__title {
    grid-column: 1 / -1;
    font-size: 23px;
    line-height: 1.5;
  }

  .mc-feat__note {
    grid-row: 1;
    align-self: center;
    font-size: 14px;
  }
}

/* ================================================================== два столбца: текст + картинка */

.mc-split {
  display: grid;
  gap: 32px;
  align-items: center;
}

.mc-split__media img {
  display: block;
  width: 100%;
  border-radius: 30px;
}

.mc-split__body > * + * {
  margin-top: 24px;
}

@media (max-width: 767px) {
  .mc-split__body {
    text-align: center;
  }

  .mc-split__media {
    max-width: 420px;
    margin-inline: auto;
  }
}

@media (min-width: 768px) {
  .mc-split {
    grid-template-columns: 1fr 1fr;
    gap: 48px;
  }

  .mc-split--media-first .mc-split__media {
    order: -1;
  }
}

@media (min-width: 1025px) {
  .mc-split {
    gap: 80px;
  }
}

/* текст на тёмной секции «+8 баллов» */
.mc-ege__p {
  font-family: var(--mc-font-d);
  font-size: 18px;
  line-height: 1.8;
  color: rgb(255 255 255 / 0.86);
}

.mc-ege__p b {
  color: #fff;
}

.mc-ege__p a {
  color: inherit;
}

/* карточка «картинка + текст» на белом с рамкой */
.mc-mcard {
  display: grid;
  gap: 24px;
  align-items: center;
  padding: 8px;
  border: 2px solid rgb(0 0 0 / 0.03);
  border-radius: 8px;
  background: #fff;
}

.mc-mcard__img {
  display: block;
  width: 100%;
  border-radius: 30px;
}

.mc-mcard__body {
  padding: 8px 8px 24px;
  text-align: center;
}

.mc-mcard__title {
  font-size: 27px;
  font-weight: 300;
  line-height: 1.4;
}

.mc-mcard__p {
  margin-top: 16px;
  font-family: var(--mc-font-d);
  font-size: 16px;
  font-weight: 300;
  line-height: 1.5;
}

.mc-mcard__p .mc-acc {
  font-weight: 600;
  color: var(--mc-blue-text);
}

@media (min-width: 768px) {
  .mc-mcard {
    grid-template-columns: 511fr 597fr;
    gap: 32px;
    padding: 12px 22px;
  }

  .mc-mcard__body {
    padding: 0;
    text-align: left;
  }

  .mc-mcard__title {
    font-size: 32px;
    line-height: 1.5;
  }

  .mc-mcard__p {
    margin-top: 32px;
  }

  .mc-mcard__p + .mc-mcard__p {
    margin-top: 20px;
  }
}

/* ================================================================== плашки с галкой / с рамкой */

.mc-notes {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 16px 30px;
  margin: 40px 0 0;
  padding: 0;
  list-style: none;
}

.mc-note {
  display: flex;
  align-items: flex-start;
  gap: 16px;
  max-width: 552px;
  padding: 17px 19px;
  border-radius: 10px;
  background: #fff;
  box-shadow: 7px 10px 11px -7px rgb(0 0 0 / 0.37), 0 0 0 1px rgb(0 0 0 / 0.12);
  font-family: var(--mc-font-d);
  font-size: 15px;
  font-weight: 300;
  line-height: 1.5;
}

.mc-note b {
  font-weight: 500;
}

.mc-note .mc-ico {
  width: 32px;
  height: 32px;
}

@media (max-width: 767px) {
  .mc-note {
    width: 100%;
  }

  .mc-lead {
    font-size: 18px;
  }
}

/* на десктопе три плашки - одним рядом, как у дева */
@media (min-width: 1025px) {
  .mc-notes {
    flex-wrap: nowrap;
  }

  .mc-note {
    flex: 0 1 auto;
    max-width: none;
  }
}

/* чипсы с галкой (летняя: «2 недели отдыха» и т.п.) */
.mc-chips {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 16px 20px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.mc-chip {
  display: flex;
  align-items: center;
  gap: 20px;
  min-height: 84px;
  padding: 12px 24px 12px 20px;
  border-radius: 10px;
  background: #fff;
  box-shadow: 0 0 0 1px rgb(0 0 0 / 0.06), 0 6px 16px rgb(16 24 40 / 0.06);
  font-family: var(--mc-font-d);
  font-size: 16px;
  font-weight: 500;
  line-height: 1.3;
}

.mc-chip .mc-ico {
  width: 38px;
  height: 38px;
}

/* ================================================================== форма-карточка (главная «Записаться», контакты) */

.mc-formcard {
  max-width: 1200px;
  margin-inline: auto;
  padding: 48px 16px;
  border: 2px solid rgb(0 0 0 / 0.03);
  border-radius: 8px;
}

.mc-formcard .mc-form {
  max-width: 640px;
  margin: 40px auto 0;
}

/* ================================================================== формы (веб-формы Битрикса) */

.mc-form {
  text-align: left;
}

.mc-form__hidden {
  display: contents;
  margin: 0;
  padding: 0;
  border: 0;
}

.mc-form__fields {
  display: grid;
  gap: 16px;
}

.mc-form__input {
  display: block;
  width: 100%;
  height: 64px;
  padding: 0 16px;
  border: 0;
  border-radius: 6px;
  background: #fff;
  box-shadow: inset 0 0 0 1px #cfd8e3;
  color: var(--mc-text);
  font-family: var(--mc-font-t);
  font-size: 16px;
  transition: box-shadow var(--mc-ease);
}

.mc-form__input::placeholder {
  color: #6b7178;
}

.mc-form__input:focus {
  outline: none;
  box-shadow: inset 0 0 0 2px var(--mc-blue);
}

.mc-form__input[aria-invalid="true"] {
  box-shadow: inset 0 0 0 2px #c62828;
}

.mc-form__tip {
  display: block;
  margin-top: 6px;
  color: #c62828;
  font-size: 14px;
}

.mc-form__checks {
  display: grid;
  gap: 16px;
  margin-top: 24px;
}

.mc-check {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  color: var(--mc-text-muted);
  font-size: 14px;
  line-height: 1.43;
  cursor: pointer;
}

.mc-check input {
  flex: none;
  width: 20px;
  height: 20px;
  margin: 0;
  accent-color: var(--mc-blue);
}

.mc-check a {
  color: var(--mc-blue-text);
}

.mc-form__submit {
  margin-top: 24px;
}

.mc-form__submit .mc-btn {
  width: 100%;
}

.mc-form__out {
  margin-top: 16px;
  font-size: 15px;
  line-height: 1.5;
}

.mc-form__out:empty {
  display: none;
}

.mc-form.is-sent .mc-form__out {
  padding: 12px 16px;
  border-radius: 8px;
  background: #e8f5e9;
  color: #1b5e20;
}

.mc-form.is-invalid .mc-form__out {
  padding: 12px 16px;
  border-radius: 8px;
  background: #fdecea;
  color: #8e1c1c;
}

.mc-sec--navy .mc-check,
.mc-hero .mc-check {
  color: rgb(255 255 255 / 0.86);
}

/* ================================================================== диалог «Связаться с нами» */

.mc-dialog {
  width: 375px;
  max-width: 100vw;
  max-height: calc(100dvh - 24px);
  padding: 0;
  border: 0;
  border-radius: 12px;
  background: #fff;
  box-shadow: 2px 8px 23px 3px rgb(0 0 0 / 0.2);
  overflow: auto;
}

.mc-dialog::backdrop {
  background: rgb(0 0 0 / 0.8);
}

.mc-dialog__body {
  padding: 48px 24px 32px;
  text-align: center;
}

.mc-dialog__title {
  font-size: 32px;
  font-weight: 300;
}

.mc-dialog__lead {
  margin: 8px 0 24px;
  color: var(--mc-text-muted);
}

.mc-dialog__close {
  position: absolute;
  top: 16px;
  right: 16px;
  display: grid;
  place-items: center;
  width: 36px;
  height: 36px;
  padding: 0;
  border: 0;
  background: transparent;
  color: #1284e6;
  cursor: pointer;
}

/* ================================================================== FAQ */

.mc-faq {
  display: grid;
  gap: 16px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.mc-faq__item {
  border: 1px solid #dfe5ec;
  border-radius: 6px;
  background: #fff;
}

.mc-faq__q {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  min-height: 56px;
  padding: 12px 16px;
  font-family: var(--mc-font-d);
  font-size: 17px;
  line-height: 1.4;
  list-style: none;
  cursor: pointer;
}

.mc-faq__q::-webkit-details-marker {
  display: none;
}

.mc-faq__q .mc-ico {
  transition: transform var(--mc-ease);
}

.mc-faq__item[open] .mc-faq__q {
  background: #f7f7f7;
}

.mc-faq__item[open] .mc-faq__q .mc-ico {
  transform: rotate(45deg);
}

.mc-faq__a {
  padding: 12px 16px 16px;
  color: var(--mc-text-muted);
  font-size: 15px;
  line-height: 1.6;
}

@media (min-width: 768px) {
  .mc-faq__q {
    padding: 14px 30px;
    font-size: 22px;
  }

  .mc-faq__a {
    padding: 14px 30px 18px;
  }
}

/* ================================================================== подвал */

.mc-footer {
  --mc-brand-text: var(--mc-blue-on-dark);
  --mc-focus: #8cc4ff;
  background: var(--mc-navy);
  color: #fff;
}

.mc-footer__in {
  display: grid;
  gap: 40px;
  padding-block: 56px 48px;
  text-align: center;
}

.mc-footer__h {
  margin-bottom: 20px;
  /* 2f п.12: подпись колонки - p, а не H2; шрифт заголовков задаётся тут, а не общим правилом h1-h6 */
  font-family: var(--mc-font-d);
  font-size: 22px;
  font-weight: 300;
  line-height: 1.2;
  color: #fff;
}

.mc-footer a {
  color: var(--mc-blue-on-dark);
  font-family: var(--mc-font-d);
  font-weight: 600;
  text-decoration: none;
}

.mc-footer a:hover {
  text-decoration: underline;
}

.mc-footer__nav,
.mc-footer__legal {
  display: grid;
  gap: 11px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.mc-footer__legal {
  gap: 8px;
  margin-top: 24px;
}

.mc-footer__legal a {
  font-size: 14px;
  font-weight: 500;
}

.mc-footer__dl dt {
  margin-top: 16px;
  color: rgb(255 255 255 / 0.74);
  font-family: var(--mc-font-d);
  font-size: 14px;
}

.mc-footer__dl dt:first-child {
  margin-top: 0;
}

.mc-footer__dl dd {
  margin: 6px 0 0;
  line-height: 1.6;
}

.mc-footer__icons {
  display: flex;
  justify-content: center;
  gap: 12px;
}

/* иконки соцсетей - inline svg (perf 02.10), data-mc-pic держит их цветными в версии для слабовидящих */
.mc-footer__icons :is(img, svg) {
  display: block;
  width: 40px;
  height: 40px;
}

.mc-footer__qr {
  display: flex;
  justify-content: center;
  gap: 16px;
  margin: 32px 0 0;
  padding: 0;
  list-style: none;
  font-family: var(--mc-font-d);
  font-size: 12px;
  color: rgb(255 255 255 / 0.74);
}

.mc-footer__qr li {
  display: grid;
  justify-items: center;
  gap: 8px;
}

.mc-footer__qr a,
.mc-footer__qrbox {
  display: block;
  padding: 6px;
  border-radius: 8px;
  background: #fff;
  line-height: 0;
}

.mc-footer__qr img {
  width: 96px;
  height: 96px;
}

.mc-footer__p {
  margin-bottom: 24px;
  color: rgb(255 255 255 / 0.74);
  font-family: var(--mc-font-d);
  font-size: 14px;
  line-height: 1.5;
}

.mc-footer__col--cta {
  justify-self: center;
  width: 100%;
  max-width: 343px;
}

.mc-footer__col--cta .mc-btn {
  color: #fff;
  text-decoration: none;
}

.mc-footer__col--cta .mc-btn + .mc-btn {
  margin-top: 20px;
}

@media (min-width: 768px) {
  .mc-footer__in {
    grid-template-columns: repeat(2, 1fr);
    gap: 48px;
    text-align: left;
  }

  .mc-footer__icons,
  .mc-footer__qr {
    justify-content: flex-start;
  }

  .mc-footer__col--cta {
    justify-self: stretch;
    max-width: none;
  }
}

@media (min-width: 1200px) {
  .mc-footer__in {
    grid-template-columns: 211px 211px 392px 242px;
    justify-content: space-between;
    gap: 40px;
    padding-block: 75px 56px;
  }

  .mc-footer__qr img {
    width: 108px;
    height: 108px;
  }
}

.mc-devline {
  border-top: 1px solid rgb(255 255 255 / 0.12);
}

.mc-devline__in {
  max-width: calc(var(--mc-grid) + 2 * var(--mc-pad));
  padding-block: 20px 24px;
}

@media (max-width: 767px) {
  .mc-devline__in {
    text-align: center;
  }
}

/* «Наверх» и cookie - из base.css (слой дева) */

/* «Путь ученика» (компонент дева из base.css): поля - по сетке шаблона */
.mc-path {
  padding-inline: var(--mc-pad);
}

/* ================================================================== летняя школа и общие блоки контента */

.mc-intro {
  font-family: var(--mc-font-d);
  font-size: 24px;
  font-weight: 400;
  line-height: 1.25;
  text-align: center;
  text-wrap: balance;
}

.mc-intro b {
  font-weight: 600;
}

.mc-intro--sm {
  font-size: 20px;
  line-height: 1.35;
}

.mc-intro--sm .mc-acc {
  color: var(--mc-blue-text);
}

.mc-intro--after {
  margin-top: 40px;
}

.mc-kicker {
  margin-bottom: 12px;
  color: var(--mc-text-muted);
  font-size: 14px;
}

.mc-photo {
  display: block;
  width: 100%;
  border-radius: 30px;
}

.mc-photo--flat {
  border-radius: 12px;
}

.mc-photo--lead {
  margin-top: 32px;
}

/* видео: ярлык-кнопка сверху и карточка с описанием */
.mc-video {
  position: relative;
  margin-top: 40px;
}

.mc-video__tag {
  position: relative;
  z-index: 1;
  width: fit-content;
  margin: 0 auto -16px;
  padding: 16px 28px 28px;
  border-radius: 11px;
  background: var(--mc-blue);
  color: #fff;
  font-size: 14px;
  font-weight: 600;
  letter-spacing: 0.5px;
  text-transform: uppercase;
}

.mc-video__card {
  position: relative;
  z-index: 2;
  padding: 16px;
  border: 1px solid #ededed;
  border-radius: 32px;
  background: #fff;
}

.mc-video__desc {
  max-width: 640px;
  margin-bottom: 16px;
  color: var(--mc-text-muted);
  font-size: 14px;
  line-height: 1.5;
}

.mc-video__box {
  position: relative;
  overflow: hidden;
  border-radius: 20px;
  background: #000;
  aspect-ratio: 16 / 9;
}

.mc-video__box video,
.mc-video__cover,
.mc-video__cover img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.mc-video__cover {
  position: relative;
  padding: 0;
  border: 0;
  background: none;
  cursor: pointer;
}

.mc-video__play {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  transition: transform var(--mc-ease);
}

.mc-video__play .mc-ico {
  width: 72px;
  height: 72px;
}

.mc-video__cover:hover .mc-video__play {
  transform: translate(-50%, -50%) scale(1.06);
}

@media (min-width: 768px) {
  .mc-intro {
    font-size: 40px;
    line-height: 1.2;
  }

  .mc-intro--sm {
    font-size: 26px;
  }

  .mc-photo--lead {
    margin-top: 40px;
  }

  .mc-video__card {
    padding: 24px 16px 16px;
  }
}

/* форма рядом с текстом (летняя: запись на смену, «Что делать теперь») */
.mc-split--form {
  align-items: start;
}

.mc-split--form .mc-split__body > .mc-photo {
  margin-top: 32px;
}

.mc-split__form {
  width: 100%;
  max-width: 420px;
  margin-inline: auto;
}

@media (min-width: 768px) {
  .mc-split--form {
    grid-template-columns: minmax(0, 684fr) minmax(0, 360fr);
  }

  .mc-split__form {
    max-width: none;
  }
}

.mc-phones {
  display: inline-grid;
  gap: 8px;
  margin: 24px 0;
  padding: 16px 24px;
  border: 1px solid #cfd8e3;
  border-radius: 10px;
  background: #fff;
}

.mc-phones a {
  color: var(--mc-text);
  font-family: var(--mc-font-d);
  font-size: 22px;
  font-weight: 600;
}

/* «Главное о школе»: текст + 4 направления */
.mc-sumdirs {
  display: grid;
  gap: 32px;
  align-items: center;
  margin-top: 40px;
}

.mc-sumdirs__text {
  text-align: center;
}

.mc-sumdirs__text .mc-text {
  margin-top: 12px;
}

.mc-sdirs {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 174px));
  justify-content: center;
  gap: 40px 24px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.mc-sdir {
  display: flex;
}

.mc-sdir__a {
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 100%;
  min-height: 130px;
  padding: 52px 6px 12px;
  border: 2px solid rgb(0 0 0 / 0.067);
  color: var(--mc-text);
  text-align: center;
  text-decoration: none;
  position: relative;
}

.mc-sdir__ico {
  position: absolute;
  top: -40px;
  left: 50%;
  width: 86px;
  height: 86px;
  transform: translateX(-50%);
}

.mc-sdir__name {
  margin-top: 14px;
  margin-bottom: 6px;
  font-size: 15px;
  font-weight: 800;
  line-height: 1.2;
}

.mc-sdir__more {
  margin-top: auto;
  color: var(--mc-blue-text);
  font-size: 11px;
  text-decoration: underline;
}

@media (min-width: 768px) {
  .mc-sumdirs {
    grid-template-columns: 1fr auto;
    gap: 48px;
    margin-top: 56px;
  }

  .mc-sumdirs__text {
    text-align: left;
  }

  .mc-sdirs {
    gap: 80px 152px;
  }
}

@media (max-width: 767px) {
  .mc-sdirs {
    margin-top: 40px;
  }
}

/* две фотографии рядом */
.mc-pair {
  display: grid;
  gap: 16px;
}

.mc-pair--even {
  margin-top: 40px;
}

@media (min-width: 768px) {
  .mc-pair {
    grid-template-columns: 536fr 428fr;
  }

  .mc-pair--even {
    grid-template-columns: 1fr 1fr;
  }
}

/* инфо-карточки: заголовок по центру синим, текст */
.mc-infos {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 24px 120px;
  margin: 48px 0 0;
  padding: 0;
  list-style: none;
}

.mc-info {
  width: 100%;
  padding: 24px 20px;
  border: 2px solid rgb(0 0 0 / 0.027);
  border-radius: 12px;
  background: #fff;
  font-size: 15px;
  line-height: 1.5;
  text-align: center;
}

.mc-info--solo {
  margin-top: 32px;
}

.mc-info--left {
  text-align: left;
}

@media (min-width: 768px) {
  .mc-infos {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 24px;
  }
}

.mc-info__h {
  margin-bottom: 12px;
  color: var(--mc-blue-text);
  font-size: 26px;
  font-weight: 600;
  line-height: 1.2;
}

.mc-info--result .mc-ico {
  margin: 0 auto 12px;
}

.mc-info--result p {
  font-family: var(--mc-font-d);
  font-size: 18px;
}

@media (min-width: 1025px) {
  .mc-info__h {
    font-size: 32px;
  }
}

.mc-dash {
  margin: 16px 0 0;
  padding: 0;
  list-style: none;
}

.mc-dash li::before {
  content: "- ";
}

/* команда */
.mc-team {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 36px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.mc-person {
  width: 100%;
  max-width: 376px;
  padding: 2px 8px 24px;
  border: 2px solid rgb(0 0 0 / 0.027);
  border-radius: 24px;
  background: #fff;
}

.mc-person__img {
  display: block;
  width: 100%;
  border-radius: 24px;
  aspect-ratio: 360 / 376;
  object-fit: cover;
}

.mc-person__name {
  margin: 24px 15px 0;
  font-size: 32px;
  font-weight: 300;
  line-height: 1.2;
}

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

@media (min-width: 768px) {
  .mc-person {
    flex: 0 0 calc((100% - 2 * 36px) / 3);
  }
}

@media (max-width: 767px) {
  .mc-person {
    text-align: center;
  }
}

/* расписание дня */
.mc-days {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 40px;
}

.mc-day {
  width: 100%;
  max-width: 396px;
  padding: 31px;
  border-radius: 10px;
  background: #fff;
  box-shadow: inset 0 0 0 7px #fff, inset 0 0 0 9px rgb(0 0 0 / 0.027);
}

.mc-day__h {
  color: var(--mc-blue-text);
  font-size: 32px;
  font-weight: 600;
}

.mc-day__note {
  margin-top: 12px;
  color: var(--mc-blue-text);
  font-size: 13px;
  font-weight: 600;
}

.mc-day__list {
  display: grid;
  gap: 10px;
  margin-top: 20px;
}

.mc-day__list > div {
  display: grid;
  grid-template-columns: 110px 1fr;
  gap: 12px;
  font-family: var(--mc-font-d);
  font-size: 15px;
  line-height: 1.45;
}

.mc-day__list dt {
  font-weight: 600;
}

.mc-day__list dd {
  margin: 0;
  color: var(--mc-text-muted);
}

@media (min-width: 1025px) {
  .mc-days {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    align-items: start;
    gap: 24px;
  }

  .mc-day {
    max-width: none;
  }
}

@media (min-width: 1025px) {
  .mc-day:first-child,
  .mc-day:nth-child(2) {
    flex: 0 1 396px;
  }
}

/* даты и смены */
.mc-dates-h {
  margin-top: 96px;
}

.mc-tariffs {
  display: grid;
  justify-content: center;
  gap: 4px;
  margin: 20px 0 8px;
}

.mc-tariffs > div {
  display: grid;
  grid-template-columns: 120px 120px;
  gap: 24px;
  font-family: var(--mc-font-d);
  font-size: 18px;
  font-weight: 600;
}

.mc-tariffs dt {
  color: var(--mc-blue-text);
  text-align: right;
}

.mc-tariffs dd {
  margin: 0;
}

@media (min-width: 768px) {
  .mc-tariffs {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    justify-content: stretch;
    gap: 16px;
    margin: 24px 0 12px;
  }

  .mc-tariffs > div {
    grid-template-columns: 1fr;
    gap: 4px;
    padding: 16px;
    border: 1px solid #dfe5ec;
    border-radius: 12px;
    background: #fff;
    text-align: center;
  }

  .mc-tariffs dt {
    text-align: center;
  }
}

.mc-shifts {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 30px;
  margin: 32px 0 48px;
  padding: 0;
  list-style: none;
}

.mc-shift {
  width: 100%;
  max-width: 278px;
  padding: 31px 23px;
  border-radius: 10px;
  background: #fff;
  box-shadow: inset 0 0 0 7px #fff, inset 0 0 0 9px rgb(0 0 0 / 0.027);
  text-align: center;
}

.mc-shift__n {
  color: var(--mc-text-muted);
  font-size: 13px;
}

.mc-shift__d {
  margin-top: 8px;
  color: var(--mc-text-muted);
  font-size: 26px;
  font-weight: 600;
  line-height: 1.5;
}

.mc-shift__off {
  margin-top: 4px;
  color: var(--mc-text-muted);
  font-family: var(--mc-font-d);
  font-size: 16px;
}

.mc-shift__price {
  margin-top: 24px;
  color: var(--mc-blue-text);
  font-family: var(--mc-font-d);
  font-size: 32px;
  font-weight: 600;
}

.mc-shift__old {
  color: var(--mc-text-muted);
  font-size: 18px;
}

.mc-shift__sale {
  margin-top: 12px;
  font-size: 13px;
}

.mc-shift__sale b {
  margin-right: 12px;
  color: var(--mc-blue-text);
  font-size: 18px;
}

@media (min-width: 1025px) {
  .mc-shift {
    flex: 0 0 calc((100% - 3 * 30px) / 4);
  }
}

/* отзывы: лента со свайпом, 2 карточки на десктопе */
.mc-reviews {
  display: flex;
  gap: 16px;
  margin: 0;
  padding: 0;
  overflow-x: auto;
  list-style: none;
  scroll-snap-type: x mandatory;
  scrollbar-width: none;
}

.mc-review {
  flex: 0 0 100%;
  padding: 32px;
  border: 2px solid #ededed;
  border-radius: 24px;
  background: #fff;
  scroll-snap-align: start;
}

.mc-review__who {
  display: flex;
  align-items: center;
  gap: 12px;
  font-size: 13px;
  color: var(--mc-text-muted);
  line-height: 1.3;
}

.mc-review__who b {
  color: var(--mc-blue-text);
  font-family: var(--mc-font-d);
  font-size: 17px;
  font-weight: 500;
}

.mc-review__who img {
  width: 50px;
  height: 50px;
  border-radius: 12px;
  object-fit: cover;
}

.mc-review__q {
  margin: 16px 0 0;
  font-family: var(--mc-font-d);
  font-size: 17px;
  line-height: 1.4;
}

.mc-review__q p + p {
  margin-top: 1.2em;
}

@media (min-width: 1025px) {
  .mc-reviews {
    gap: 30px;
  }

  .mc-review {
    flex-basis: calc((100% - 30px) / 2);
  }
}

/* лендинг (/zanyatia/, /qize/): шапка без меню - логотип слева, контакты справа на всех ширинах */
.mc-header--landing .mc-header__in {
  grid-template-columns: auto 1fr;
  grid-template-areas: "logo side";
  min-height: 67px;
  padding-block: 8px;
}

.mc-header--landing .mc-logo {
  justify-self: start;
}

.mc-header--landing .mc-header__side {
  grid-area: side;
  justify-self: end;
  display: grid;
  justify-items: end;
  gap: 2px;
}

.mc-header--landing .mc-header__side > * {
  grid-area: auto;
}

.mc-header--landing .mc-header__phone {
  display: block;
  margin: 0;
  font-size: 16px;
}

.mc-header__phone2 {
  display: none;
}

@media (min-width: 768px) {
  .mc-header--landing .mc-header__phone2 {
    display: block;
    color: var(--mc-text);
    font-family: var(--mc-font-d);
    font-size: 13px;
    text-decoration: none;
  }

  .mc-header--landing .mc-header__addr {
    display: flex;
    align-items: center;
    gap: 6px;
    color: var(--mc-text-muted);
    font-size: 13px;
  }
}

/* ================================================================== внутренние страницы */

.mc-oc {
  padding-inline: var(--mc-pad);
}

.mc-hero--light {
  padding-block: 20px 0;
  background: #fff;
  color: var(--mc-text);
}

.mc-hero--light .mc-crumbs {
  margin-bottom: 0;
  color: var(--mc-text-muted);
}

@media (min-width: 768px) {
  .mc-hero--light {
    padding-block: 24px 0;
  }
}

@media (min-width: 1025px) {
  .mc-hero--light {
    padding-block: 32px 0;
  }
}

.mc-hero__contacts {
  display: grid;
  gap: 6px;
  font-family: var(--mc-font-d);
  font-size: 20px;
  font-weight: 600;
}

.mc-hero__contacts a {
  color: #fff;
}

.mc-hero__lead a {
  color: #fff;
}

.mc-text--lead {
  font-family: var(--mc-font-d);
  font-size: 18px;
  line-height: 1.65;
}

@media (max-width: 767px) {
  .mc-text--lead {
    text-align: center;
  }
}

.mc-wrap--form {
  max-width: calc(640px + 2 * var(--mc-pad));
}

.mc-form-center {
  margin-top: 32px;
}

/* полоса «Дополнительные курсы» */
.mc-band {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 16px 32px;
  padding: 28px 32px;
  border-radius: var(--mc-radius);
  background: #fff;
  box-shadow: 0 0 0 1px var(--mc-line);
}

@media (max-width: 767px) {
  .mc-band {
    flex-direction: column;
    padding: 24px 16px;
    text-align: center;
  }
}

/* вкладки по возрасту */
.mc-tabs__list {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 12px;
  margin-bottom: 48px;
}

.mc-tabs__btn {
  min-height: 48px;
  padding: 10px 28px;
  border: 1px solid #cfd8e3;
  border-radius: 10px;
  background: #fff;
  color: var(--mc-text);
  font-family: var(--mc-font-d);
  font-size: 16px;
  font-weight: 500;
  cursor: pointer;
  transition: background-color var(--mc-ease), color var(--mc-ease), border-color var(--mc-ease);
}

.mc-tabs__btn:hover {
  border-color: var(--mc-blue);
  color: var(--mc-blue-text);
}

.mc-tabs__btn[aria-selected="true"] {
  border-color: var(--mc-blue);
  background: var(--mc-blue);
  color: #fff;
}

.mc-tabs__panel + .mc-tabs__panel {
  margin-top: 64px;
}

.mc-tabs.is-js .mc-tabs__panel + .mc-tabs__panel {
  margin-top: 0;
}

.mc-dirtext {
  margin-top: 16px;
  color: var(--mc-text-muted);
}

.mc-year {
  margin: 40px 0 20px;
  color: var(--mc-blue-text);
  font-size: 22px;
  font-weight: 600;
}

@media (max-width: 767px) {
  .mc-dirtext,
  .mc-year {
    margin-inline: auto;
    text-align: center;
  }

  .mc-tabs__btn {
    flex: 1 1 100%;
  }
}

/* карточки курсов направления: неполный ряд - по центру */
.mc-ccards {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 20px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.mc-ccard {
  flex: 0 0 calc((100% - 20px) / 2);
  display: flex;
}

.mc-ccard__a {
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 100%;
  padding: 20px 12px 16px;
  border-radius: var(--mc-radius);
  background: var(--mc-tint);
  color: var(--mc-text);
  text-align: center;
  text-decoration: none;
  transition: box-shadow var(--mc-ease), transform var(--mc-ease);
}

.mc-ccard__a:hover {
  box-shadow: var(--mc-shadow);
  transform: translateY(-2px);
}

.mc-ccard__ico {
  width: 72px;
  height: 72px;
  margin-bottom: 16px;
}

.mc-ccard__title {
  font-size: 15px;
  font-weight: 700;
  line-height: 1.25;
}

.mc-ccard__age {
  margin-top: 6px;
  color: var(--mc-text-muted);
  font-size: 13px;
}

.mc-ccard__go {
  width: 100%;
  margin-top: auto;
  font-size: 11px;
}

/* 2e: зазор до кнопки - снизу у последнего блока текста, у кнопки margin-top:auto (кнопки ряда на одной линии) */
.mc-ccard__title,
.mc-ccard__age {
  margin-bottom: 16px;
}

.mc-ccard__title:has(+ .mc-ccard__age) {
  margin-bottom: 0;
}

@media (min-width: 768px) {
  .mc-ccard {
    flex-basis: calc((100% - 2 * 20px) / 3);
  }
}

@media (min-width: 1025px) {
  .mc-ccards {
    gap: 24px;
  }

  .mc-ccard {
    flex-basis: calc((100% - 3 * 24px) / 4);
  }
}

/* курс: тело, простой текст старых курсов, плашка цены */
.mc-sec--course {
  padding-top: 40px;
}

.mc-sec--course.mc-sec--top0 {
  padding-top: 8px;
}

.mc-prose {
  font-family: var(--mc-font-d);
  font-size: 18px;
  line-height: 1.65;
}

.mc-prose > * + * {
  margin-top: 16px;
}

.mc-prose h2 {
  margin-top: 40px;
  font-size: 28px;
  font-weight: 600;
}

.mc-prose h3 {
  margin-top: 28px;
  font-size: 22px;
  font-weight: 600;
}

.mc-prose ul,
.mc-prose ol {
  padding-left: 1.4em;
}

.mc-prose hr {
  margin: 28px 0;
  border: 0;
  border-top: 1px solid var(--mc-line);
}

.mc-prose img {
  border-radius: 16px;
}

.mc-course > article {
  margin-top: 0;
}

/* статьи курсов дева: корень #cko-<id> (css/course/*.css) держит max-width 1180 id-селектором - в сетке 1200 снимается;
   id у 26 статей разные, перебить без !important можно только перечнем id */
.mc-course > article[id^="cko-"] {
  max-width: none !important;
}

.mc-stats {
  display: grid;
  gap: 16px;
  margin: 32px 0 0;
  padding: 24px;
  border: 1px solid #d6eaf8;
  border-radius: 24px;
  background: linear-gradient(135deg, #fcfeff 0%, #eaf7ff 100%);
  text-align: center;
}

.mc-stats__name {
  color: var(--mc-text-muted);
  font-size: 14px;
}

.mc-stats__list {
  display: grid;
  gap: 16px;
}

.mc-stats__list dt {
  color: var(--mc-text-muted);
  font-size: 14px;
}

.mc-stats__list dd {
  margin: 4px 0 0;
  color: var(--mc-blue-text);
  font-family: var(--mc-font-d);
  font-size: 26px;
  font-weight: 600;
  line-height: 1.25;
}

.mc-stats__list dd span {
  color: var(--mc-text);
  font-size: 16px;
  font-weight: 500;
}

.mc-stats .mc-btn {
  justify-self: center;
}

@media (min-width: 768px) {
  .mc-stats {
    grid-template-columns: 1fr auto;
    align-items: center;
    padding: 28px 40px;
    text-align: left;
  }

  .mc-stats__name {
    grid-column: 1 / -1;
  }

  .mc-stats__list {
    grid-template-columns: repeat(3, auto);
    justify-content: start;
    gap: 40px;
  }
}

.mc-other {
  padding: 40px 16px;
  border: 2px solid rgb(0 0 0 / 0.03);
  border-radius: 12px;
  background: #fff;
}

/* статья блога */
.mc-post__cover {
  max-width: 1200px;
  margin-inline: auto;
}

.mc-post__date {
  margin: 24px 0 0;
  color: var(--mc-text-muted);
  font-size: 14px;
}

.mc-post {
  max-width: 960px;
  margin: 8px auto 0;
}

/* у статей дева своя мера .cko-article 920/980 - внутри колонки 960 снимается */
.mc-post > .cko-article {
  max-width: none;
  padding-inline: 0;
}

/* лента блога */
.mc-posts {
  display: grid;
  gap: 24px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.mc-postcard {
  display: flex;
  flex-direction: column;
  gap: 20px;
  padding: 12px;
  border: 1px solid #cfd8e3;
  border-radius: 12px;
  background: #fff;
}

.mc-postcard__img img {
  display: block;
  width: 100%;
  border-radius: 8px;
  aspect-ratio: 3 / 2;
  object-fit: cover;
}

.mc-postcard__body {
  display: flex;
  flex: 1 1 auto;
  flex-direction: column;
  align-items: flex-start;
  gap: 12px;
  padding: 0 8px 8px;
}

.mc-postcard__title {
  font-size: 22px;
  font-weight: 500;
  line-height: 1.25;
}

.mc-postcard__title a {
  color: var(--mc-text);
  text-decoration: none;
}

.mc-postcard__title a:hover {
  color: var(--mc-blue-text);
}

.mc-postcard__text {
  color: var(--mc-text-muted);
  font-size: 15px;
}

.mc-postcard__more {
  min-height: 44px;
  padding: 8px 28px;
  font-size: 13px;
}

.mc-postcard__date {
  color: var(--mc-blue-text);
  font-size: 13px;
}

/* 2e: низ карточки - строка «дата · автор» и кнопка, прижат к низу (margin-top:auto), одинаково во всех карточках ряда */
.mc-postcard__foot {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  align-self: stretch;
  gap: 12px;
  margin-top: auto;
}

.mc-postcard__meta {
  color: var(--mc-text-muted);
  font-size: 13px;
}

@media (max-width: 767px) {
  .mc-postcard__body {
    align-items: center;
    text-align: center;
  }

  .mc-postcard__foot {
    align-items: center;
  }
}

@media (min-width: 768px) {
  .mc-postcard {
    display: grid;
    grid-template-columns: 300px 1fr;
    align-items: start;
  }

  .mc-postcard__body {
    align-self: stretch;
    padding: 8px 8px 8px 0;
  }

  .mc-postcard__title {
    font-size: 28px;
  }
}

@media (min-width: 1025px) {
  /* три в ряд на всю сетку; неполный последний ряд - по центру («СТРОГО ЦЕНТР») */
  .mc-posts {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
  }

  .mc-posts > li {
    flex: 0 0 calc((100% - 2 * 24px) / 3);
  }

  .mc-postcard {
    display: flex;
    align-items: stretch;
  }

  .mc-postcard__body {
    padding: 0 8px 8px;
  }

  .mc-postcard__title {
    font-size: 24px;
  }
}

/* прайс */
.mc-price + .mc-price {
  margin-top: 56px;
}

.mc-price__tag {
  width: fit-content;
  max-width: 100%;
  margin: 0 auto -1px;
  padding: 10px 24px;
  border-radius: 10px 10px 0 0;
  background: var(--mc-blue);
  color: #fff;
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 0.04em;
  text-align: center;
  text-transform: uppercase;
}

.mc-price__scroll {
  overflow-x: auto;
  border: 1px solid #dfe5ec;
  border-radius: 10px;
}

.mc-price__table {
  width: 100%;
  border-collapse: collapse;
  font-family: var(--mc-font-d);
  font-size: 16px;
}

.mc-price__table th,
.mc-price__table td {
  padding: 14px 12px;
  border-bottom: 1px solid #edf1f5;
  text-align: left;
  vertical-align: middle;
}

.mc-price__table thead th {
  background: #f3f5f8;
  color: var(--mc-text-muted);
  font-size: 11px;
  font-weight: 500;
  text-transform: uppercase;
}

.mc-price__table tbody th {
  font-weight: 400;
}

.mc-price__table tbody th a {
  color: var(--mc-text);
  text-decoration: none;
}

.mc-price__table tbody th a:hover {
  color: var(--mc-blue-text);
  text-decoration: underline;
}

.mc-price__table td {
  white-space: nowrap;
}

.mc-price__group th {
  color: var(--mc-blue-text);
  font-size: 15px;
  font-weight: 600 !important;
}

.mc-price__table tr:last-child > * {
  border-bottom: 0;
}

@media (min-width: 768px) {
  .mc-price__table thead th:nth-child(2),
  .mc-price__table thead th:nth-child(3) {
    width: 200px;
  }
}

.mc-price-notes {
  margin-top: 56px;
}

.mc-price-notes ul {
  margin-top: 16px;
  padding-left: 1.2em;
  font-family: var(--mc-font-d);
  font-size: 18px;
  line-height: 1.7;
}

@media (max-width: 767px) {
  .mc-price__table {
    font-size: 14px;
  }

  .mc-price__table th,
  .mc-price__table td {
    padding: 12px 8px;
  }

  .mc-price-notes {
    text-align: center;
  }

  .mc-price-notes ul {
    padding-left: 0;
    list-style: none;
  }
}

/* карта: фасад, iframe Яндекса - только по кнопке */
.mc-map {
  overflow: hidden;
  border-radius: 20px;
  background: var(--mc-tint);
}

.mc-map__face {
  display: grid;
  justify-items: center;
  gap: 8px;
  padding: 48px 16px;
  text-align: center;
}

.mc-map__addr {
  font-family: var(--mc-font-d);
  font-size: 20px;
}

.mc-map__note {
  max-width: 52ch;
  color: var(--mc-text-muted);
  font-size: 14px;
}

.mc-map iframe {
  display: block;
  width: 100%;
  height: 480px;
  border: 0;
}

/* 404 */
.mc-404__list {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 12px;
  margin: 32px 0 0;
  padding: 0;
  list-style: none;
}

/* юридические тексты (mc-legal - стили дева в base.css) */
.mc-legal {
  font-family: var(--mc-font-d);
}

/* «строго центр»: блоки первых экранов - во всю ширину контейнера, мера строки - у самих заголовка и лида */
@media (min-width: 768px) {
  .mc-hero__in,
  .mc-home-hero__in {
    max-width: none;
  }

  .mc-hero__title {
    max-width: 680px;
  }

  .mc-home-hero__title,
  .mc-home-hero__kicker {
    max-width: 672px;
  }
}

/* направления: заголовок группы, вводный текст и годы - по центру, как и ряды карточек */
.mc-tabs__panel > .mc-h2 {
  text-align: center;
}

.mc-dirtext {
  margin-inline: auto;
  text-align: center;
}

.mc-year {
  text-align: center;
}

/* «О центре»: сетки карточек - флекс-ряды, неполный ряд по центру (в слое дева - grid, хвост ряда прижимался влево) */
.mc-oc .mc-oc__grid {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}

.mc-oc .mc-oc__grid > * {
  flex: 0 0 100%;
  min-width: 0;
}

@media (min-width: 601px) {
  .mc-oc .mc-oc__grid > * {
    flex-basis: calc((100% - 24px) / 2);
  }
}

@media (min-width: 1025px) {
  .mc-oc .mc-oc__grid--3 > *,
  .mc-oc .mc-oc__grid--uni > :nth-child(n + 3) {
    flex-basis: calc((100% - 2 * 24px) / 3);
  }
}

/* статьи курсов и блога (вёрстка дева): сетки карточек с неполным последним рядом - флекс-ряды по центру.
   Колонки - как у дева: оплата и программа по 3, навыки/«кому подходит» по 2; до 960px по 2, до 640px по 1. */
article[id^="cko-"] :is(.cko-payment-grid, .payment-grid, .cko-program-grid, .program-grid, .cko-skills, .skills, .cko-fit-grid, .fit-grid, .cko-stat-grid, .stat-grid, .cko-advantages, .advantages),
.cko-article .cko-article__grid {
  display: flex !important;
  flex-wrap: wrap;
  justify-content: center;
  gap: 12px !important;
}

.cko-article .cko-article__grid {
  gap: 16px !important;
}

article[id^="cko-"] :is(.cko-payment-grid, .payment-grid, .cko-program-grid, .program-grid) > * {
  flex: 0 0 calc((100% - 2 * 12px) / 3);
  min-width: 0;
}

article[id^="cko-"] :is(.cko-skills, .skills, .cko-fit-grid, .fit-grid, .cko-stat-grid, .stat-grid, .cko-advantages, .advantages) > * {
  flex: 0 0 calc((100% - 12px) / 2);
  min-width: 0;
}

.cko-article .cko-article__grid > * {
  flex: 0 0 calc((100% - 16px) / 2);
  min-width: 0;
}

article[id^="cko-"] :is(.cko-stat-grid, .stat-grid, .cko-advantages, .advantages) > * {
  flex-basis: calc((100% - 3 * 12px) / 4);
}

@media (max-width: 960px) {
  article[id^="cko-"] :is(.cko-payment-grid, .payment-grid, .cko-program-grid, .program-grid, .cko-stat-grid, .stat-grid, .cko-advantages, .advantages) > * {
    flex-basis: calc((100% - 12px) / 2);
  }
}

@media (max-width: 640px) {
  article[id^="cko-"] :is(.cko-payment-grid, .payment-grid, .cko-program-grid, .program-grid, .cko-skills, .skills, .cko-fit-grid, .fit-grid, .cko-stat-grid, .stat-grid, .cko-advantages, .advantages) > *,
  .cko-article .cko-article__grid > * {
    flex-basis: 100%;
  }
}

/* полоса «Дополнительные курсы»: до 1024px - столбиком по центру */
@media (max-width: 1024px) {
  .mc-band {
    flex-direction: column;
    text-align: center;
  }
}

/* «Детали оплаты» на телефоне: заголовок по центру, список - по левому краю карточки */
@media (max-width: 767px) {
  .mc-info--left .mc-info__h {
    text-align: center;
  }
}
.mc-footnote { font-size: 14px; font-style: italic; color: var(--mc-text-muted); }

/* узкие телефоны (320): колонки первых экранов статей курсов не распираются содержимым, плашка cookie - в окно */
article[id^="cko-"] :is(.cko-hero, .hero, header) > *,
article[id^="cko-"] :is(.cko-hero, .hero) {
  min-width: 0;
}

@media (max-width: 640px) {
  article[id^="cko-"] :is(.cko-hero, .hero) {
    grid-template-columns: minmax(0, 1fr) !important;
  }
}

@media (max-width: 359px) {
  body .mc-cookie {
    left: 8px;
    right: 8px;
    width: auto;
    max-width: none;
  }
}

/* экраны уже 360px: длинные слова заголовков («Программирование») не выходят за колонку */
h1,
h2,
h3 {
  overflow-wrap: break-word;
}

@media (max-width: 359px) {
  h1,
  h2,
  h3 {
    hyphens: auto;
  }

  .mc-hero__title,
  .mc-home-hero__title {
    font-size: 26px;
  }

  article[id^="cko-"] :is(h1, h2),
  .cko-article h2 {
    font-size: 24px !important;
    letter-spacing: -0.5px !important;
  }
}

/* ================================================================== летняя: кегли и меры эталона на десктопе */
.mc-video__desc {
  max-width: 662px;
  font-size: 15px;
}

.mc-lead--wide {
  max-width: none;
}

@media (min-width: 1025px) {
  .mc-hero__kicker {
    font-size: 22px;
    line-height: 1.5;
  }

  .mc-intro {
    max-width: none;
  }

  .mc-split--form {
    grid-template-columns: minmax(0, 684px) 360px;
    justify-content: space-between;
  }

  .mc-split--form .mc-text {
    font-family: var(--mc-font-d);
    line-height: 1.5;
  }


  .mc-phones a {
    font-size: 28px;
    font-weight: 700;
    line-height: 1;
  }

  #booking .mc-text:last-child {
    font-size: 20px;
    font-weight: 300;
    line-height: 1.5;
  }

  .mc-sumdirs {
    grid-template-columns: 372px auto;
    justify-content: space-between;
  }

  .mc-sumdirs__text .mc-text {
    font-family: var(--mc-font-d);
    font-weight: 300;
    line-height: 1.5;
  }

  .mc-sumdirs__text .mc-text b {
    font-weight: 600;
  }

  .mc-sumdirs__text .mc-h3 {
    font-weight: 300;
    line-height: 1.2;
  }

  .mc-sdirs {
    grid-template-columns: repeat(2, 174px);
  }

  .mc-info {
    font-family: var(--mc-font-d);
    font-size: 16px;
    line-height: 1.5;
  }

  .mc-info--result p {
    font-size: 22px;
    font-weight: 300;
    letter-spacing: 0.5px;
  }

  .mc-info--left {
    font-size: 18px;
  }

  .mc-person {
    padding-inline: 8px;
  }

  .mc-person__name,
  .mc-person__role {
    margin-inline: 23px;
  }

  .mc-person__role {
    color: var(--mc-text-muted);
    font-family: var(--mc-font-d);
    font-size: 16px;
    line-height: 1.2;
  }

  .mc-day__list > div {
    grid-template-columns: 117px 1fr;
    gap: 32px;
    font-size: 18px;
    line-height: 1.5;
  }

  .mc-tariffs > div {
    grid-template-columns: 127px 153px;
    gap: 32px;
    font-size: 20px;
    line-height: 1.5;
  }

  .mc-tariffs dd {
    text-align: center;
  }

  .mc-shift__n {
    font-size: 14px;
  }

  .mc-shift__off {
    font-size: 18px;
    line-height: 1.5;
  }

  .mc-shift__old {
    font-size: 22px;
  }

  .mc-shift__sale b {
    font-size: 20px;
  }

  .mc-chip {
    letter-spacing: 0.5px;
  }

  .mc-review__who b {
    font-size: 24px;
  }

  .mc-review__who {
    font-size: 16px;
  }

  .mc-review__q {
    font-size: 22px;
    line-height: 1.2;
  }

  .mc-faq__q {
    font-size: 28px;
    font-weight: 500;
    line-height: 1.25;
  }

  .mc-faq__a {
    font-family: var(--mc-font-d);
    font-size: 18px;
    line-height: 1.5;
  }
}

@media (min-width: 1025px) {
  .mc-lead--x {
    font-size: 19px;
    letter-spacing: 0.5px;
  }
}

/* ================================================================== итерация 2b (02.10.2026) */

/* п.1 карточки: рамка 1px #c9d6e5 (к фону белому 1.48:1, к #F3F7FC 1.38:1) + мягкая тень на всех сетках.
   Рамка - кольцом box-shadow: раскладка не сдвигается ни на пиксель; у карточек с рамкой 2px рамка прозрачная
   (фон карточки под ней), видимая граница - то же кольцо. */
:root {
  --mc-card-line: #c9d6e5;
  --mc-card-shadow: 0 0 0 1px var(--mc-card-line), 0 4px 14px rgb(16 24 40 / 0.07);
  --mc-card-shadow-hover: 0 0 0 1px var(--mc-card-line), 0 10px 24px rgb(16 24 40 / 0.12);
}

.mc-tile__a,
.mc-ccard__a,
.mc-mcard,
.mc-why,
.mc-info,
.mc-person,
.mc-review,
.mc-oc__card,
.mc-postcard,
.mc-other,
.mc-video__card,
.mc-chip,
.mc-band,
.mc-day,
.mc-shift,
.mc-formcard,
.mc-faq__item,
.mc-pro-card,
.mc-pro-dir,
.mc-pro-step {
  border-color: transparent;
  box-shadow: var(--mc-card-shadow);
}

.mc-tile__a:hover,
.mc-ccard__a:hover {
  box-shadow: var(--mc-card-shadow-hover);
}

/* карточки статей курсов и блога (вёрстка дева, правила на id записи): только цвет рамки и тень */
article[id^="cko-"] :is(.skill, .adv, .stat, .fit-card, .cko-skill, .cko-adv, .cko-stat, .cko-fit-card),
.cko-article :is(.cko-article__card, details) {
  border-color: transparent !important;
  box-shadow: var(--mc-card-shadow) !important;
}

/* пустые абзацы из выдачи дева в телах курсов и постов давали «дыры» по 64px на 375 */
.mc-prose > p:empty,
.mc-post p:empty,
.mc-course p:empty,
.mc-post p:has(> a.main-btn) > br {
  display: none;
}

/* п.3 первый экран внутренних на телефоне: всё по центру, подложка 0.6 + темнее к низу, фон без деталей под текстом */
@media (max-width: 767px) {
  :root {
    --mc-hero-ov: linear-gradient(180deg, rgb(11 31 56 / 0.6) 0%, rgb(11 31 56 / 0.65) 30%, rgb(11 31 56 / 0.86) 100%);
  }

  .mc-hero {
    background-position: center bottom;
  }

  .mc-hero .mc-crumbs__list {
    justify-content: center;
  }

  .mc-hero__kicker .mc-ico {
    display: none;
  }

  .mc-hero__title {
    font-size: 30px;
    line-height: 1.15;
  }

  .mc-hero__lead {
    font-size: 16px;
    line-height: 1.4;
  }

  .mc-hero .mc-actions .mc-btn,
  .mc-hero .mc-actions .mc-btn--wide {
    width: 100%;
    min-width: 0;
  }

  /* первый экран статей курсов (вёрстка дева) */
  article[id^="cko-"] > header.hero,
  header.cko-hero {
    text-align: center;
  }

  article[id^="cko-"] > header.hero :is(h1, p),
  header.cko-hero :is(h1, p) {
    margin-inline: auto !important;
  }

  article[id^="cko-"] > header.hero > div > p,
  header.cko-hero > div > p {
    font-size: 16px !important;
    line-height: 1.4 !important;
  }

  article[id^="cko-"] > header.hero :is(.hero-actions, .cko-hero__actions),
  header.cko-hero :is(.hero-actions, .cko-hero__actions) {
    display: flex;
    justify-content: center;
  }

  article[id^="cko-"] > header.hero :is(.hero-button, .cko-hero__button),
  header.cko-hero :is(.hero-button, .cko-hero__button) {
    width: 100% !important;
  }

  article[id^="cko-"] > header.hero .label,
  header.cko-hero :is(.label, .cko-label) {
    margin-inline: auto;
  }
}

/* мобильная шапка внутренних, светлая (02.10): картинка 1080x1440, верх 60% - чистая подложка под текст, сюжет в нижней трети;
   читаемость компоновкой: оверлей снят, текст navy, полоса под сюжет = (1 - 0.60) * 4/3 ширины + 16px */
@media (max-width: 767px) {
  .mc-hero:not(.mc-hero--light) {
    --mc-hero-ov: none;
    --mc-accent: var(--mc-blue);
    --mc-brand-text: var(--mc-blue);
    --mc-focus: var(--mc-navy);
    padding-bottom: calc(53.5% + 16px);
    background-color: #EBF4FD;
    background-position: center bottom;
    background-size: 100% auto;
    color: var(--mc-navy);
  }
  .mc-hero:not(.mc-hero--light) .mc-crumbs { color: #3A5068; }
  .mc-hero__title,
  .mc-hero__title .mc-thin { color: var(--mc-navy); }
  .mc-hero__kicker,
  .mc-hero__lead,
  .mc-hero__contacts,
  .mc-hero .mc-check { color: #22364D; }
  .mc-hero__lead b,
  .mc-hero__lead a,
  .mc-hero__contacts a { color: var(--mc-navy); }
}

/* десктопная шапка внутренних, светлая (02.10): кадр mc-hero-NN-<slug>-d.webp 1200x600 (2:1) - подложка #EBF4FD со свечением
   до #CFE2F8 за сюжетом, края кадра = #EBF4FD (= background-color), поэтому кадр ставится любой высоты и в любую точку без шва;
   коробка сюжета x 0.408..1.880 высоты кадра, y 0.04..0.96. Оверлей снят, текст navy - как в мобильном блоке выше.
   Белая полоса крошек курса (.mc-hero--light) не трогается. */
@media (min-width: 768px) {
  .mc-hero:not(.mc-hero--light) {
    --mc-hero-ov: none;
    --mc-accent: var(--mc-blue);
    --mc-brand-text: var(--mc-blue);
    --mc-focus: var(--mc-navy);
    background-color: #EBF4FD;
    color: var(--mc-navy);
  }
  .mc-hero:not(.mc-hero--light) .mc-crumbs { color: #3A5068; }
  .mc-hero__title,
  .mc-hero__title .mc-thin { color: var(--mc-navy); }
  .mc-hero__kicker,
  .mc-hero__lead,
  .mc-hero__contacts,
  .mc-hero .mc-check { color: #22364D; }
  .mc-hero__kicker .mc-ico { color: var(--mc-blue); }   /* на тёмном была белая 0.7 */
  .mc-hero__lead b,
  .mc-hero__lead a,
  .mc-hero__contacts a { color: var(--mc-navy); }
}

/* 768-1024: текст занимает колонку почти целиком (лид 60ch до 735px) - сюжет полосой ПОД текстом, справа.
   Кадр 220px, коробка сюжета 202px; полоса 244 = кадр 220 + 24, зазор до текста 24 + поле кадра 9 = 33px */
@media (min-width: 768px) and (max-width: 1024px) {
  .mc-hero:not(.mc-hero--light) {
    padding-bottom: 244px;
    background-position: right bottom;
    background-size: auto 220px;
  }
}

/* от 1025: сюжет справа от текста. Высота кадра = высота шапки, но не больше, чем позволяет свободная ширина справа от колонки:
   левый край коробки сюжета = правый край кадра - 1.592 высоты кадра >= правый край коробки H1 + 24 (+17 под системный скроллбар,
   100vw его включает). Правый край коробки H1 (2g: потолок clamp(740px, 380px + 25vw, 860px), лид 60ch уже): 764 при 1025-1248,
   0.5 * 100vw + 140 выше. От 1440 кадр едет вместе с сеткой 2g (сдвиг 50vw - 720 = поле сетки 1440), потолок 343px. */
@media (min-width: 1025px) {
  .mc-hero:not(.mc-hero--light) {
    background-position: right max(0px, 50vw - 720px) center;
    background-size: auto min(100%, 62.8vw - 506px, 31.4vw - 109px, 343px);
  }
}

/* п.2 пробелы на телефоне: ритм 24-32px внутри секции, дыр больше 48px нет */
@media (max-width: 767px) {
  .mc-dates-h {
    margin-top: 40px;
  }

  .mc-price + .mc-price,
  .mc-price-notes {
    margin-top: 32px;
  }

  .mc-phones {
    margin-block: 16px;
  }

  .mc-split--form {
    gap: 24px;
  }
}

/* п.4 «Наверх»: левый нижний угол (правый - под лаунчер Чипа); totop-always 02.10: видна после первого экрана
   при любом направлении прокрутки (js/ui.js), над текстом не гаснет, появление/исчезание - opacity 200 мс */
.mc-totop {
  right: auto;
  left: 16px;
  bottom: 16px;
  width: 44px;
  height: 44px;
  translate: none;
  transition: opacity 200ms ease, transform 200ms ease, visibility 0s linear 200ms, background-color var(--mc-ease);
}

.mc-totop.is-visible {
  transition: opacity 200ms ease, transform 200ms ease, visibility 0s, background-color var(--mc-ease);
}

.mc-totop.is-visible.is-covered {
  opacity: 0;
  visibility: hidden;
  transition: opacity 200ms ease, visibility 0s linear 200ms;
}

html.mc-cookie-on .mc-totop {
  bottom: calc(var(--mc-cookie-h, 0px) + 16px);
}

/* totop-mobile 02.10: на телефоне - левый нижний угол (Чип справа), над текстом не гаснет */
@media (max-width: 767px) {
  .mc-totop {
    left: 16px;
    right: auto;
    bottom: calc(12px + env(safe-area-inset-bottom));
    translate: none;
  }
}

/* totop-desktop 02.10: от 1025 - левый нижний угол (Чип справа), не по центру над строками подвала;
   над подвалом на 1025-1439 гаснет (js/ui.js, overFooter) */
@media (min-width: 1025px) {
  .mc-totop {
    left: 24px;
    right: auto;
    bottom: 24px;
    translate: none;
  }
}

/* п.5 подвал: ссылка приёмной комиссии; строка «© · Политика · Согласие...» на телефоне - столбиком по центру */
.mc-devline__off {
  margin-top: 8px;
}

/* 2f п.11: сноска к налоговому вычету - кеглем строки лицензии */
.mc-devline .mc-devline__tax {
  margin-top: 8px;
  font-size: 12px;
  line-height: 1.55;
}

@media (max-width: 767px) {
  /* цель касания по высоте, как у ссылки на выписку лицензии */
  .mc-devline .mc-devline__tax a {
    padding-block: 13px;
  }
}

@media (max-width: 767px) {
  .mc-devline__a11y {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 6px;
  }

  .mc-devline__a11y .mc-devline__dot {
    display: none;
  }

  /* 2c п.5: поле справа из a11y.css (разделитель строки на десктопе) сдвигало ссылки столбика на 8px влево */
  .mc-devline .mc-devline__a11y > a {
    margin-right: 0;
  }
}

/* кнопка-контур в размер основной (404) */
.mc-btn--line {
  border: 2px solid var(--mc-blue);
  background: #fff;
  color: var(--mc-blue-text);
}

.mc-btn--line:hover {
  background: var(--mc-tint);
  color: var(--mc-blue-text);
}

/* п.6 страница 404 с Чипом */
.mc-404__in {
  text-align: center;
}

.mc-404__chip {
  display: block;
  width: 180px;
  height: auto;
  margin: 0 auto 16px;
}

.mc-404__title {
  font-size: 30px;
  font-weight: 600;
  line-height: 1.15;
}

.mc-404__lead {
  font-size: 16px;
  line-height: 1.4;
}

.mc-404__actions {
  margin-top: 28px;
}

.mc-404 .mc-404__list {
  gap: 10px 24px;
  margin-top: 28px;
  font-family: var(--mc-font-d);
  font-size: 16px;
}

.mc-404__list a {
  display: inline-flex;
  align-items: center;
  min-height: 32px;
  color: var(--mc-blue-text);
  font-weight: 600;
}

@media (max-width: 767px) {
  .mc-404__actions .mc-btn {
    width: 100%;
  }

  .mc-404 .mc-404__list {
    flex-direction: column;
    align-items: center;
  }
}

@media (min-width: 768px) {
  .mc-404__chip {
    width: 220px;
  }

  .mc-404__title {
    font-size: 40px;
  }

  .mc-404__lead {
    font-size: 18px;
    line-height: 1.5;
  }
}

/* п.7 «Для профессионалов» */
.mc-pro-who,
.mc-pro-dirs,
.mc-pro-steps {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 20px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.mc-pro-dirs {
  margin-top: 32px;
}

.mc-pro-card,
.mc-pro-dir,
.mc-pro-step {
  flex: 0 0 100%;
  padding: 24px 20px;
  border-radius: var(--mc-radius);
  background: #fff;
  text-align: center;
}

.mc-pro-card {
  background: var(--mc-tint);
}

.mc-pro-card__h,
.mc-pro-dir__h,
.mc-pro-step__h {
  font-family: var(--mc-font-d);
  font-size: 20px;
  font-weight: 600;
  line-height: 1.25;
}

.mc-pro-card p,
.mc-pro-step p {
  margin-top: 8px;
  color: var(--mc-text-muted);
  font-size: 16px;
  line-height: 1.5;
}

.mc-pro-dir__ico {
  display: block;
  width: 72px;
  height: 72px;
  margin: 0 auto 12px;
}

.mc-pro-dir__h {
  font-size: 18px;
}

.mc-pro-dir__p {
  margin-top: 8px;
  color: var(--mc-text-muted);
  font-size: 15px;
  line-height: 1.5;
}

.mc-pro-step__n {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  margin-bottom: 12px;
  border-radius: 50%;
  background: var(--mc-blue);
  color: #fff;
  font-family: var(--mc-font-d);
  font-size: 20px;
  font-weight: 600;
}

.mc-pro-note,
.mc-pro-call {
  margin-top: 24px;
  text-align: center;
}

.mc-pro-trial {
  text-align: center;
}

.mc-pro-form .mc-form {
  margin-inline: auto;
}

.mc-form__area {
  height: auto;
  min-height: 128px;
  padding-block: 16px;
  resize: vertical;
  font: inherit;
  line-height: 1.5;
}

@media (min-width: 768px) {
  .mc-pro-card,
  .mc-pro-dir,
  .mc-pro-step {
    flex-basis: calc((100% - 20px) / 2);
  }
}

@media (min-width: 1025px) {
  .mc-pro-who,
  .mc-pro-dirs,
  .mc-pro-steps {
    gap: 24px;
  }

  .mc-pro-card {
    flex-basis: calc((100% - 2 * 24px) / 3);
  }

  .mc-pro-dir,
  .mc-pro-step {
    flex-basis: calc((100% - 3 * 24px) / 4);
  }
}

/* курсив строки подвала синтезирован (у Wix Madefor нет курсива): на 12px пробел схлопывается - «одинпрограммист» */
.mc-devline .mc-devline__note {
  word-spacing: 0.12em;
}

/* корень виджета Чипа (js/chip.js) носит тот же класс, что карточка .mc-chip летней школы: правила карточки делали из него
   белую плашку 84px со скруглением в потоке после подвала - «белая полоса под футером» (02.10). Сам корень - только контейнер,
   все видимые части виджета fixed; коробку карточки с него снимаем, карточку на /summer-it-school/ не трогаем */
#mc-chip.mc-chip {
  display: block;
  min-height: 0;
  padding: 0;
  border-radius: 0;
  background: none;
  box-shadow: none;
}

/* ================================================================== итерация 2g (02.10.2026): масштаб десктопа
   Аудит context/AUDIT-mietcenter-desktop-scale-20261002.md, раздел 4; решения Антона: сетка 1440 на 1920, 01-09 вариант Б,
   колонка статьи 760, H1 главной 52/780 на 1440. Токены - base.css :root (@media min-width 1025). Слоем в конце файла,
   как 2b и «летняя»: в блоках компонентов выше те же свойства перебиты поздними слоями (.mc-split--form, «строго центр»).
   До 1440 меняются только пол 14, потолки меры, лид 18, H1, плитки и 01-09; 375-1024 не трогаются. */
@media (min-width: 1025px) {
  /* п.4 заголовки */
  .mc-h2 {
    font-size: var(--mc-fs-h2);
  }

  .mc-h2--sm {
    font-size: var(--mc-fs-h2s);
  }

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

  .mc-hero__title {
    max-width: clamp(740px, 380px + 25vw, 860px); /* при 680 H1 48 уходил бы в лишнюю строку */
    font-size: var(--mc-fs-h1);
  }

  .mc-home-hero__in,
  .mc-home-hero__title {
    max-width: clamp(780px, 420px + 25vw, 900px); /* прежний потолок 672 стоял в двух местах */
  }

  .mc-home-hero__title {
    font-size: var(--mc-fs-h1-home);
  }

  /* H1 2f длиннее («...7-17 лет в Зеленограде»): при 52/780 «лет» на 1280-1440 встаёт на кромку башни, где оверлей был 0.6
     (2.68:1 и 2.94:1). Плотная часть оверлея продлена с 55% до 60%, спад - до 72%: худшее слово 4.27:1 */
  .mc-home-hero {
    background-image: linear-gradient(90deg, rgb(11 31 56 / 0.86) 0%, rgb(11 31 56 / 0.78) 60%, rgb(11 31 56 / 0.4) 72%, rgb(11 31 56 / 0.22) 100%), url("/local/templates/mietcenter/css/../img/mc/hero-home-desk.webp");
  }

  /* п.5 лид и тело (.mc-oc__lead уже 18 на десктопе - идёт по шкале лида, а не тела) */
  .mc-home-hero__kicker,
  .mc-lead,
  .mc-oc__lead {
    font-size: var(--mc-fs-lead);
  }

  .mc-text,
  .mc-mcard__p,
  .mc-why {
    font-size: var(--mc-fs-base);
  }

  /* п.2 литералы ширины -> сетка и доли ряда */
  .mc-post__cover,
  .mc-formcard {
    max-width: var(--mc-grid);
  }

  .mc-person,
  .mc-shift {
    max-width: none; /* ширину держит flex-basis ряда: 1/3 и 1/4 */
  }

  /* п.3 потолки меры строки (em, не ch: «0» у Wix Madefor шире средней кириллической буквы) */
  .mc-dirtext,
  .mc-rekv__row dd,
  .mc-split--form .mc-split__body .mc-text {
    max-width: 38em;
  }

  .mc-post {
    max-width: 760px; /* развилка (в): 960 -> 760, около 72 знаков при 18px */
  }

  .mc-devline p {
    max-width: 90ch;
  }

  /* п.6 пол 14 (xs) */
  .mc-crumbs__a,
  .mc-crumbs__cur,
  .mc-postcard__date,
  .mc-postcard__author,
  .mc-postcard__meta,
  .mc-sdir__more,
  .mc-shift__sale,
  .mc-day__note,
  .mc-ccard__age,
  .mc-tile__text,
  .mc-price__tag,
  .mc-price__table thead th,
  .mc-devline .mc-devline__in p {
    font-size: var(--mc-fs-xs); /* у юр. строк 12px держат .mc-devline .mc-devline__req/__lic/__note/__tax (0,2,0) */
  }

  .mc-crumbs__a,
  .mc-crumbs__cur {
    line-height: 24px; /* цель клика 24 (WCAG 2.5.8), было 18 */
  }

  /* у кнопки плитки 10px держит .mc-tile .mc-btn--ghost (0,2,0) - перебивается только своим селектором */
  .mc-btn--ghost,
  .mc-tile .mc-btn--ghost,
  .mc-ccard__go,
  .mc-postcard__more {
    min-height: 48px;
    font-size: 14px;
  }

  /* п.7 карточки под hero: равные доли вместо space-between по длине текста */
  .mc-whys__list {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: var(--mc-gap);
  }

  .mc-why img {
    width: clamp(64px, 40px + 1.667vw, 72px);
    height: clamp(64px, 40px + 1.667vw, 72px);
  }

  /* п.8 плитки направлений главной: 4 в ряд (4+4+3 вместо 5+5+1) */
  .mc-tiles {
    gap: var(--mc-gap);
  }

  .mc-tile {
    flex-basis: calc((100% - 3 * var(--mc-gap)) / 4);
  }

  .mc-tile__a {
    padding: 28px 24px 24px;
  }

  .mc-tile__ico {
    width: var(--mc-ico);
    height: var(--mc-ico);
    margin-bottom: 20px;
  }

  .mc-tile__name {
    font-size: var(--mc-fs-card);
    font-weight: 700;
  }

  /* п.9 карточки курсов направлений (2e: зазор снизу у текста, у кнопки margin-top:auto - не тронуто) */
  .mc-ccards {
    gap: var(--mc-gap);
  }

  .mc-ccard {
    flex-basis: calc((100% - 3 * var(--mc-gap)) / 4);
  }

  .mc-ccard__a {
    padding: 24px clamp(16px, -8px + 1.667vw, 24px) 24px; /* 16 @1440 -> 24 @1920: заголовок 18 в 282 не рвётся на 3 строки */
  }

  .mc-ccard__ico {
    width: var(--mc-ico);
    height: var(--mc-ico);
    margin-bottom: 20px;
  }

  .mc-ccard__title {
    font-size: var(--mc-fs-card);
  }

  /* п.10 01-09, вариант Б: белые карточки 3x3 на тинте, бейдж -> пункт -> примечание столбиком; анимация .is-in прежняя */
  .mc-nums {
    gap: var(--mc-gap);
  }

  .mc-nums > .mc-feat {
    flex-basis: calc((100% - 2 * var(--mc-gap)) / 3);
  }

  .mc-feat {
    grid-template-columns: minmax(0, 1fr);
    grid-template-rows: auto;
    align-content: start;
    gap: 16px;
    padding: clamp(28px, 10px + 1.25vw, 34px);
    border-radius: var(--mc-radius);
    background: #fff;
    box-shadow: var(--mc-card-shadow);
  }

  .mc-feat .mc-num {
    grid-row: 1;
    width: var(--mc-ico);
    height: var(--mc-ico);
    margin-left: calc(var(--mc-ico) * -31 / 512); /* прозрачное поле спрайта 31/512 */
  }

  .mc-feat__title {
    grid-row: 2;
    grid-column: 1;
    font-size: var(--mc-fs-lg);
    line-height: 1.4;
  }

  .mc-feat__note {
    grid-row: 3;
    grid-column: 1;
    align-self: start;
    color: var(--mc-text-muted);
    font-size: var(--mc-fs-sm);
    font-weight: 500;
  }

  /* п.11 форма split: колонки долями, форма 360 -> 440 */
  .mc-split--form {
    grid-template-columns: minmax(0, 1fr) clamp(360px, 120px + 16.667vw, 440px);
    column-gap: clamp(80px, 32px + 3.333vw, 96px);
    justify-content: stretch;
  }

  /* п.12 состояния */
  .mc-btn--ghost:active {
    border-color: var(--mc-blue-active);
    background: #eef4fc;
    color: var(--mc-blue-active);
  }

  .mc-dir:active {
    background: var(--mc-blue-active);
  }

  .mc-tile__a:active,
  .mc-ccard__a:active {
    box-shadow: var(--mc-card-shadow);
    transform: none;
  }

  .mc-sdir__a {
    transition: border-color var(--mc-ease), box-shadow var(--mc-ease), transform var(--mc-ease);
  }

  .mc-sdir__a:hover {
    box-shadow: var(--mc-shadow);
    transform: translateY(-2px);
  }

  .mc-postcard__img img {
    transition: filter var(--mc-ease);
  }

  .mc-postcard__img:hover img {
    filter: brightness(0.9);
  }
}

/* 2g п.12: отправка формы - antispam.js ставит кнопке aria-busy, затем disabled; на всех ширинах (двойной клик и на телефоне) */
.mc-btn[aria-busy="true"] {
  background: var(--mc-blue-active);
  cursor: progress;
}

.mc-btn:disabled:not([aria-busy="true"]) {
  opacity: 0.6;
  cursor: not-allowed;
}

/* ================================================================== итерация 2g: мобильная часть (375-767, Антон 02.10 «тут мелко») */
@media (max-width: 767px) {
  /* п.1 «Путь ученика»: столбик ступеней, иконка 48 в круге, номер ступени, подпись 17, финал с акцентом */
  .mc-path__steps {
    counter-reset: mc-path;
  }

  .mc-path__step {
    counter-increment: mc-path;
    min-height: 48px;
  }

  .mc-path__dot {
    width: 48px;
    height: 48px;
  }

  .mc-path__dot svg {
    width: 24px;
    height: 24px;
  }

  .mc-path__label {
    font-size: 17px;
  }

  /* номер ступени: список уже <ol>, цифру читалке не дублируем (альтернативный текст "") */
  .mc-path__label::before {
    content: counter(mc-path, decimal-leading-zero);
    content: counter(mc-path, decimal-leading-zero) / "";
    display: block;
    margin-bottom: 2px;
    color: var(--mc-blue-text);
    font-size: 14px;
    font-weight: 700;
    letter-spacing: 0.04em;
  }

  .mc-path__line--v {
    top: 24px;
    bottom: 24px;
    left: calc(24px - 1.5px);
    height: calc(100% - 48px);
  }

  /* финальная ступень «До +8 баллов к ЕГЭ» */
  .mc-path__step:last-child .mc-path__label {
    padding: 8px 12px;
    border-radius: 10px;
    background: #fdf3cf;
    color: var(--mc-navy);
    font-weight: 700;
  }

  .mc-path__step:last-child .mc-path__label::before {
    color: var(--mc-navy);
  }

  /* п.2 пол 14 в main (примечания .mc-feat__note и .mc-day__note остаются 13; шапка внутренних - под п.4, не трогается) */
  .mc-tile__text,
  .mc-tile .mc-btn--ghost,
  .mc-ccard__go,
  .mc-ccard__age,
  .mc-sdir__more,
  .mc-shift__n,
  .mc-shift__sale,
  .mc-review__who {
    font-size: 14px;
  }

  /* тела курсов дева (25 файлов css/course, правила на #id записи): мелкое 11-13 -> 14 */
  article[id^="cko-"]:not(#mc-z) :is(.kicker, .cko-kicker, .code-badge, .cko-code-badge, .program-mark, .cko-program-mark, .skill-icon, .cko-skill-icon, small, .related span, .cko-related span) {
    font-size: 14px;
  }

  /* иконка «В результате» (летняя) 32 -> 40 */
  .mc-info--result .mc-ico {
    width: 40px;
    height: 40px;
  }
}

/* ================================================================== итерация 2g-hero (02.10.2026): масштаб первого экрана главной
   ТЗ context/TZ-mietcenter-home-hero-scale-20261002.md (Антон: «всё выросло, но не hero»). Только 1025+, 375-1024 не трогаются.
   Высота clamp(600, 100vh - 250, 720) (hero-fit; было 640/50vh + 300): на 1440x900 650, на 1920x1080 720.
   Содержимое по центру полосы над нижним отступом 136 (под наезд карточек). H1 - токен --mc-fs-h1-home в base.css. */
@media (min-width: 1025px) {
  .mc-home-hero {
    display: flex;
    flex-direction: column;
    justify-content: center;
    min-height: clamp(600px, 100vh - 250px, 720px);
  }

  /* hero-fit (02.10, Антон: «чтоб влезли 4 плашки, а не резались внизу»): низ ряда карточек = окно - 28 (шапка 152 + hero - наезд + карточка ~100),
     т.е. 12px запаса сверх 16 на 1440x900 (hero 650) и 1280x800. Ниже 850 hero упирается в 600, дальше карточки наезжают глубже
     (100vh - 880, до 96: при 1280x720 видно 64% карточек). 1680x1050 и 1920x1080 - прежние 720 и наезд 30. */
  /* post-launch-1 (05.10, Антон): наезд постоянный 40, как на мобиле; clamp до -96 на низких окнах выглядел багом.
     Цена: на окнах ниже ~850 низ плашек уходит за экран (Антон выбрал это). */
  .mc-whys {
    margin-top: -40px;
  }

  /* H1 56/820 выше и шире: на 1280 «лет» уходило на кромку башни (2.88:1). Плотная часть оверлея 60% -> 64%, спад 72% -> 76%,
     правый край фото (башня) не тронут: худшее слово H1 и кикера 4.34:1 на 1280 */
  .mc-home-hero {
    background-image: linear-gradient(90deg, rgb(11 31 56 / 0.86) 0%, rgb(11 31 56 / 0.78) 64%, rgb(11 31 56 / 0.4) 76%, rgb(11 31 56 / 0.22) 100%), url("/local/templates/mietcenter/css/../img/mc/hero-home-desk.webp");
  }

  .mc-home-hero__in,
  .mc-home-hero__title {
    max-width: clamp(820px, 580px + 16.667vw, 900px); /* 820 @1440 -> 900 @1920 */
  }

  .mc-home-hero__kicker {
    font-size: 20px;
  }

  /* при 64/900 на 1920 «лет» отрывалось от «7-17» на третью строку - акцент возраста не переносится */
  .mc-home-hero__title .mc-acc:last-child {
    white-space: nowrap;
  }

  /* кнопка 16 -> 18, паддинги в той же пропорции (12/24 -> 13.5/27), высота 56 держит --mc-btn-min-h */
  .mc-home-hero .mc-btn {
    padding: 13.5px 27px;
    font-size: 18px;
  }

  /* плашка «годовой цикл мастер-классов» 16 -> 18, иконка 22 -> 24 */
  .mc-gift {
    gap: 13.5px;
    padding: 13.5px 22.5px 13.5px 18px;
    font-size: 18px;
  }

  .mc-gift .mc-ico {
    width: 24px;
    height: 24px;
  }
}

/* ================================================================== путь ученика v2 (02.10.2026, Антон по 375 после 2g: «всё равно мелко»)
   На < 768: каждая ступень - карточка во всю ширину контейнера (поля секции 16), круг 64 / глиф 32 слева, справа номер 13
   серым над подписью 22/700 navy (до 374px - 20). Линия по центрам кругов: SVG под карточками (z-index 0), видна в зазорах 12px;
   центр x = паддинг карточки 16 + радиус 32 = 48. Финал «До +8 баллов к ЕГЭ» - жёлтая карточка; подпись в одну строку на всю колонку: кегль = (100vw - 144px) / 9.8
   (144 = поля 32 + паддинги 32 + круг 64 + зазор 16; 9.8 - ширина строки в кеглях с запасом ~4%, на 9.6 строка на 380 уже переносилась): 375 -> 24, 414 -> 26 (потолок). Десктоп не тронут. */
@media (max-width: 767px) {
  .mc-path__title {
    font-size: 32px;
  }

  .mc-path__lead {
    font-size: 17px;
  }

  .mc-path__steps {
    gap: 12px;
  }

  .mc-path__step {
    align-items: center;
    gap: 16px;
    min-height: 96px;
    padding: 16px;
    border-radius: 14px;
    background: #fff;
    box-shadow: var(--mc-card-shadow);
  }

  .mc-path__dot {
    width: 64px;
    height: 64px;
  }

  .mc-path__dot svg {
    width: 32px;
    height: 32px;
  }

  .mc-path__label,
  .mc-path__step.is-on .mc-path__label,
  html:not(.mc-motion) .mc-path__step .mc-path__label {
    flex: 1 1 auto;
    min-width: 0;
    color: var(--mc-navy);
    font-size: 22px;
    font-weight: 700;
    line-height: 1.2;
  }

  .mc-path__label::before {
    margin-bottom: 4px;
    color: var(--mc-text-muted);
    font-size: 13px;
    font-weight: 600;
    line-height: 1.3;
  }

  .mc-path__line--v {
    top: 48px;
    bottom: 48px;
    left: calc(48px - 2px);
    height: calc(100% - 96px);
  }

  /* финал: жёлтая карточка вместо жёлтой плашки подписи (слой 2g) */
  .mc-path__step:last-child {
    background: #fff3c4;
  }

  .mc-path__step:last-child .mc-path__label,
  .mc-path__step.is-on:last-child .mc-path__label,
  html:not(.mc-motion) .mc-path__step:last-child .mc-path__label {
    padding: 0;
    border-radius: 0;
    background: none;
    font-size: clamp(24px, calc((100vw - 144px) / 9.8), 26px);
  }

  .mc-path__step:last-child .mc-path__label::before {
    color: var(--mc-navy);
  }
}

@media (max-width: 374px) {
  .mc-path__label,
  .mc-path__step.is-on .mc-path__label,
  html:not(.mc-motion) .mc-path__step .mc-path__label {
    font-size: 20px;
  }

  .mc-path__step:last-child .mc-path__label,
  .mc-path__step.is-on:last-child .mc-path__label,
  html:not(.mc-motion) .mc-path__step:last-child .mc-path__label {
    font-size: clamp(20px, calc((100vw - 144px) / 9.8), 24px);
  }
}

/* финал уже 336px в одну строку не влезает - две строки, первая «До +8 баллов к» доходит до края колонки */
@media (max-width: 335px) {
  .mc-path__step:last-child .mc-path__label,
  .mc-path__step.is-on:last-child .mc-path__label,
  html:not(.mc-motion) .mc-path__step:last-child .mc-path__label {
    font-size: 22px;
  }
}

/* ================================================================== липкая шапка (02.10, ТЗ header-sticky)
   Шапка прибита к верху окна: до 1199px - вся полоса (68px на <768, 76px на 768-1199, бургер-режим);
   от 1200px - только строка меню: шапка липнет с top = -(высота строки «логотип | контакты»), верхняя строка уезжает.
   Узлы не переносятся, sticky не вынимает шапку из потока - CLS 0. Высоты --mc-head-h (видимая липкая часть) и
   --mc-head-off (уезжающая верхняя строка) уточняет js/mc.js по ResizeObserver; значения ниже - те же числа до JS.
   В режиме для слабовидящих шапка под фиксированной панелью: top сдвинут на --mc-bvi-h (js/a11y.js).
   Слои: шапка 100 - выше контента (max z-index контента 50), ниже «Наверх» 9000, Чипа 9100/9995, cookie 9990, bvi 100000;
   диалоги - top layer. Якоря и фокус: scroll-padding-top у html = панель bvi + липкая часть + 16. */
:root {
  --mc-head-h: 68px;
  --mc-head-off: 0px;
}

html {
  scroll-padding-top: calc(var(--mc-bvi-h, 0px) + var(--mc-head-h) + 16px);
}

.mc-header {
  position: sticky;
  top: calc(var(--mc-bvi-h, 0px) - var(--mc-head-off));
  transition: box-shadow var(--mc-ease);
}

.mc-header.is-stuck {
  box-shadow: 0 6px 16px rgb(16 24 40 / 0.1);
}

@media (min-width: 768px) {
  :root {
    --mc-head-h: 76px;
  }
}

/* выпадающее меню под прибитой шапкой не длиннее окна - иначе нижние пункты недостижимы */
@media (max-width: 1199px) {
  .mc-nav {
    max-height: calc(100vh - var(--mc-bvi-h, 0px) - var(--mc-head-h));
    max-height: calc(100dvh - var(--mc-bvi-h, 0px) - var(--mc-head-h));
    overflow-y: auto;
    overscroll-behavior: contain;
  }
}

@media (min-width: 1200px) {
  :root {
    --mc-head-h: 56px;
    --mc-head-off: 96px;
  }
}

/* лендинги (/zanyatia/, /qize/): меню нет, шапка в 3 строки контактов (87px на 375, 136px на 768, 112px на 1440).
   Липнет только на телефоне; от 768 прибитая полоса такой высоты съела бы 11-13% окна - остаётся в потоке, как было */
html:has(.mc-header--landing) {
  --mc-head-h: 87px;
  --mc-head-off: 0px;
}

@media (min-width: 768px) {
  .mc-header--landing {
    position: relative;
  }

  html:has(.mc-header--landing) {
    --mc-head-h: 0px;
  }
}

/* ccards-mobile 02.10: карточки курсов направлений на телефоне - сетка 2 колонки вместо flex-wrap с центровкой.
   Во flex длинное слово заголовка («Программирование») распирало карточку по min-content, пара не влезала - столбик
   одиночек половинной ширины. Нечётная последняя - на всю ширину; ряд одной высоты (stretch), «Перейти» прижата
   правилом 2e (margin-top:auto). 320-359 - одна колонка. От 768 не трогается */
@media (max-width: 767px) {
  .mc-ccards {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
  }

  .mc-ccard {
    min-width: 0;
  }

  .mc-ccard:last-child:nth-child(odd) {
    grid-column: 1 / -1;
  }

  .mc-ccard__title {
    max-width: 100%;
    overflow-wrap: break-word;
    -webkit-hyphens: auto; /* iOS Safari до 17 */
    hyphens: auto;
  }
}

@media (max-width: 359px) {
  .mc-ccards {
    grid-template-columns: minmax(0, 1fr);
  }
}

/* devline-wide (02.10): юр. строка подвала на 1025+ - на всю контентную сетку подвала, по левому краю, компактно.
   Прежний слой devline-center (колонка 62ch по центру, высота 516-521) отклонён: «портянка». Потолок 90ch из 2g снят,
   кегль 12px, интерлиньяж 1.4, промежутки 4-6px; девлайн и сноска «* При разработке...» - одной строкой через «·».
   Телефон и планшет не трогаются */
@media (min-width: 1025px) {
  /* поля самого .mc-devline (24px из base.css) сдвигали сетку строки на 8px правее сетки колонок на 1025-1440 */
  .mc-devline {
    padding-inline: 0;
  }

  .mc-devline .mc-devline__in {
    display: flex;
    flex-wrap: wrap;
    column-gap: 0;
    row-gap: 4px;
    padding-block: 16px 20px;
    text-align: left;
  }

  .mc-devline .mc-devline__in > p {
    flex: 0 0 100%;
    max-width: none;
    margin: 0;
    font-size: 12px;
    line-height: 1.4;
  }

  /* строки-ссылки: 18px + зазор 6px = шаг центров 24px (цели касания 2.5.8 соседних строк не перекрываются) */
  .mc-devline .mc-devline__in > .mc-devline__off,
  .mc-devline .mc-devline__in > .mc-devline__a11y,
  .mc-devline .mc-devline__in > .mc-devline__dev,
  .mc-devline .mc-devline__in > .mc-devline__note {
    margin-top: 2px;
    line-height: 18px;
  }

  .mc-devline .mc-devline__in > .mc-devline__dev,
  .mc-devline .mc-devline__in > .mc-devline__note {
    flex: 0 1 auto;
  }

  .mc-devline .mc-devline__in > .mc-devline__note::before {
    content: "\00a0·\00a0";
    content: "\00a0·\00a0" / "";
    font-style: normal;
  }

  .mc-devline .mc-devline__a11y > a {
    white-space: nowrap;
  }
}

/* пачка Екатерины A (03.10): летняя АйТи-школа - раскладка старой страницы прода в новом дизайне + общий блок формы.
   Эталон - mietcenter.ru/summer-it-school/ на 1440 (замер context/mietcenter-ekaterina-pachka-20261003/A): форма 960
   (текст 547 + форма 360), «Что делать теперь?» 1012 (580 + 360), одиночные карточки 760/754, ряды 2+1 */

/* п.1/13 «Главное о школе»: текст + плитки главной 2 в ряд; ширина плитки = ширине плитки главной на каждой ширине
   (две плитки + зазор = половина сетки: (G - 3g) / 4 * 2 + g = (G - g) / 2) */
.mc-tiles--sum .mc-tile {
  flex-basis: calc((100% - 16px) / 2);
}

/* у летних плиток нет строки-описания: её нижний отступ главной (16) держит заголовок, иначе кнопка липнет */
.mc-tiles--sum .mc-tile__name {
  margin-bottom: 16px;
}

@media (max-width: 767px) {
  .mc-sumdirs {
    row-gap: 40px; /* зазор «заголовок -> сетка карточек» главной на 375 */
  }
}

@media (min-width: 768px) {
  .mc-sumdirs {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    column-gap: 24px;
    align-items: start;
  }

  .mc-tiles--sum .mc-tile {
    flex-basis: calc((100% - 24px) / 2);
  }
}

@media (min-width: 1025px) {
  .mc-sumdirs {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    column-gap: var(--mc-gap);
  }

  .mc-tiles--sum .mc-tile {
    flex-basis: calc((100% - var(--mc-gap)) / 2);
  }
}

/* п.13 ряды как на старой странице: «Место проведения» 2+1, «Расписание дня» 2+1, тарифы списком */
@media (min-width: 768px) {
  .mc-infos {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .mc-infos > .mc-info:last-child:nth-child(odd) {
    grid-column: 1 / -1;
    justify-self: center;
    width: 67%;
  }

  .mc-days {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: flex-start;
    gap: 40px;
  }

  .mc-day,
  .mc-day:first-child,
  .mc-day:nth-child(2) {
    flex: 0 1 calc((100% - 40px) / 2);
    max-width: 396px;
  }

  .mc-tariffs {
    grid-template-columns: max-content;
    justify-content: center;
    gap: 4px;
  }

  .mc-tariffs > div {
    grid-template-columns: 120px 120px;
    gap: 24px;
    padding: 0;
    border: 0;
    background: none;
    text-align: left;
  }

  .mc-tariffs dt {
    text-align: right;
  }
}

@media (min-width: 1025px) {
  .mc-day:nth-child(2) {
    flex-basis: 360px; /* эталон: «Утро» 396, «День» 360, «Половина дня» 396 */
  }

  .mc-tariffs > div {
    grid-template-columns: 127px 153px; /* мера эталона 1440 (слой «летняя: кегли и меры») */
    gap: 32px;
  }

  /* одиночные карточки по центру: «Безопасность» и «В результате» 760, «Детали оплаты» 754 */
  .mc-info--solo {
    max-width: 760px;
    margin-inline: auto;
  }

  .mc-info--solo.mc-info--left {
    max-width: 754px;
  }
}

/* п.20 на 768-1024 колонка формы 232 резала подсказку «ФИО родителя/контактного лица»: форма 320, как на 1024 */
@media (min-width: 768px) and (max-width: 1024px) {
  .mc-split--form {
    grid-template-columns: minmax(0, 1fr) 320px;
  }
}

/* п.17-20, 22 блок формы (один компонент на всех страницах): компактно, текст + форма в коробке 80% сетки
   (960 при сетке 1200, как на проде), «Что делать теперь?» (.mc-split--wide) - 1012; поля по бокам по центру */
@media (min-width: 1025px) {
  .mc-wrap.mc-split--form {
    max-width: calc(var(--mc-grid) * 0.8 + 2 * var(--mc-pad));
    column-gap: 53px; /* эталон: текст 547 + 53 + форма 360 = 960 */
  }

  .mc-wrap.mc-split--form.mc-split--wide {
    max-width: calc(var(--mc-grid) * 0.8433 + 2 * var(--mc-pad));
    column-gap: 72px; /* эталон: текст 580 + 72 + форма 360 = 1012 */
  }
}
/* end пачка A */

/* пачка Екатерины B (03.10): п.7 прайс крупнее, п.9-10 контакты по раскладке прода (телефоны в рамке, карта сразу),
   п.21 обложка статьи по кромкам колонки текста. Маркер конца нужен прибору --oldcss (B/tools/b.cjs). */

/* п.7 прайс: строки кеглем основного текста (абзацы курсов 16 на телефоне, 18 от 768), подзаголовки соразмерно */
.mc-price__table {
  font-size: 16px;
}

.mc-price__group th {
  font-size: 16px;
}

.mc-price__table thead th {
  font-size: 13px;
}

.mc-price__tag {
  font-size: 15px;
}

@media (max-width: 767px) {
  .mc-price__table,
  .mc-price__group th {
    font-size: 16px; /* было 14/15 */
  }

  .mc-price__tag {
    font-size: 14px; /* было 13 (xs) */
  }

  .mc-price__table thead th {
    font-size: 13px; /* было 11 (xs) */
  }

  /* на 16px колонку названий распирало слово «администрирование» (164px) - таблица уходила в скролл на 36px */
  .mc-price__table tbody th {
    hyphens: auto;
  }
}

@media (min-width: 768px) {
  .mc-price__table,
  .mc-price__group th {
    font-size: 18px; /* было 16/15 */
  }

  .mc-price__tag {
    font-size: 16px;
  }

  .mc-price__table thead th {
    font-size: 14px;
  }
}

/* п.9-10 контакты: адрес и почта слева, телефоны в рамке справа (как на проде); на телефоне столбиком */
.mc-hero__contacts {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  gap: 16px 32px;
}

.mc-hero__where {
  display: grid;
  gap: 6px;
  margin: 0;
}

.mc-phonebox {
  display: grid;
  gap: 8px;
  margin: 0;
  padding: 14px 24px;
  border: 1px solid #c9d6e5;
  border-radius: 14px;
  background: rgb(255 255 255 / 0.7);
  font-size: 22px;
}

@media (max-width: 767px) {
  .mc-hero__contacts {
    justify-content: center; /* текст hero на телефоне по центру - рамка телефонов с ним */
  }

  .mc-phonebox {
    font-size: 20px;
  }
}

/* карта видна сразу: своё превью (img) ссылкой на Яндекс Карты, после согласия на cookie - iframe (js/mc.js).
   Рамка как у карты прода: 960x480 по центру, на телефоне во всю колонку */
.mc-map {
  position: relative;
  max-width: 960px;
  height: 480px;
  margin-inline: auto;
}

.mc-map__static {
  display: block;
  height: 100%;
  color: var(--mc-navy);
  text-decoration: none;
}

.mc-map__static img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.mc-map__open {
  position: absolute;
  bottom: 16px;
  left: 16px;
  padding: 10px 16px;
  border-radius: 10px;
  background: #fff;
  box-shadow: 0 2px 10px rgb(15 42 74 / 0.18);
  font-family: var(--mc-font-d);
  font-size: 15px;
  font-weight: 600;
}

.mc-map__static:hover .mc-map__open {
  color: var(--mc-blue-text);
}

.mc-map__static:focus-visible {
  outline: 3px solid var(--mc-focus, var(--mc-navy));
  outline-offset: 3px;
}

.mc-map__osm {
  position: absolute;
  right: 0;
  bottom: 0;
  margin: 0;
  padding: 0 8px;
  border-top-left-radius: 8px;
  background: rgb(255 255 255 / 0.85);
  color: var(--mc-text-muted);
  font-size: 12px;
  line-height: 24px;
}

.mc-map__osm a {
  color: inherit;
}

.mc-map iframe {
  height: 100%;
}

/* п.21 обложка статьи: от 1025 шириной колонки текста .mc-post (760, слой 2g), по центру; ниже 1025 колонка и так во всю сетку */
@media (min-width: 1025px) {
  .mc-post__cover,
  .mc-post__date {
    max-width: 760px; /* строка «дата · автор» стояла под левым краем обложки - остаётся под ним */
    margin-inline: auto;
  }
}
/* end пачка B */

/* пачка Екатерины B2 (03.10): карта контактов только по клику «Показать карту» поверх превью;
   прайс на <768 карточками без переносов по слогам. Маркер конца нужен прибору --oldcss (B2/tools/b2.cjs). */

/* карта: превью стоит всегда, в нижнем левом углу кнопка «Показать карту» и ссылка «Открыть в Яндекс Картах».
   Превью больше не ссылка: ссылка уехала в полосу рядом с кнопкой, абсолютное позиционирование B с неё снято */
.mc-map__bar {
  position: absolute;
  bottom: 16px;
  left: 16px;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 0;
}

.mc-map__show[hidden] {
  display: none; /* .mc-btn ставит inline-flex и перебивает [hidden] браузера: без JS кнопки нет */
}

.mc-map .mc-map__open {
  position: static;
  display: inline-flex;
  align-items: center;
  min-height: var(--mc-btn-min-h);
  color: var(--mc-navy);
  text-decoration: none;
}

.mc-map .mc-map__open:hover {
  color: var(--mc-blue-text);
}

.mc-map .mc-map__open:focus-visible {
  outline: 3px solid var(--mc-focus, var(--mc-navy));
  outline-offset: 3px;
}

@media (max-width: 767px) {
  .mc-map__bar {
    right: 16px;
    bottom: 40px; /* над подписью OSM в правом нижнем углу */
  }

  .mc-map__bar > * {
    flex: 1 1 100%;
    justify-content: center;
  }
}

/* прайс <768: строка таблицы = карточка. Название на всю ширину, ниже строкой «срок · стоимость».
   Подзаголовки групп и плашки как в B. Шапка таблицы скрыта визуально, для чтения с экрана остаётся (роли ARIA в шаблоне).
   Переносов по слогам нет: hyphens manual, слова с дефисом в .mc-price__nw неразрывны. От 768 таблица как в B */
@media (max-width: 767px) {
  .mc-price__table,
  .mc-price__table tbody,
  .mc-price__table tr,
  .mc-price__table th,
  .mc-price__table td {
    display: block;
  }

  .mc-price__table thead {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip-path: inset(50%);
    white-space: nowrap;
  }

  .mc-price__table tbody tr:not(.mc-price__group) {
    padding: 12px 8px; /* поля ячеек B на телефоне: название стоит там же, где стояло, и по кромке подзаголовков групп */
    border-bottom: 1px solid #edf1f5;
  }

  .mc-price__table tbody tr:last-child {
    border-bottom: 0;
  }

  .mc-price__table tbody tr:not(.mc-price__group) > * {
    padding: 0;
    border-bottom: 0;
  }

  .mc-price__table tbody tr:not(.mc-price__group) th {
    margin-bottom: 4px;
    hyphens: manual;
    overflow-wrap: normal;
  }

  .mc-price__nw {
    white-space: nowrap;
  }

  .mc-price__table tbody tr:not(.mc-price__group) td {
    display: inline;
    color: var(--mc-text-muted);
  }

  .mc-price__table tbody tr:not(.mc-price__group) td + td::before {
    content: " · "; /* литерал: в "\00B7 " пробел после экранирования съедается */
  }

  .mc-price__table tbody tr:not(.mc-price__group) td:last-child {
    color: var(--mc-text);
    font-weight: 600;
  }
}
/* end пачка B2 */

/* пачка Екатерины A2 (03.10): летняя школа на телефоне (<768) - преподаватели 2+1 (обратная пирамида, третий по центру
   той же ширины), факты строкой чипов. На 768+ слой не действует */
@media (max-width: 767px) {
  /* п.39-43: две карточки в ряд, неполный ряд центрует justify-content: center у .mc-team */
  .mc-team {
    gap: 16px;
  }

  .mc-person {
    flex: 0 0 calc((100% - 16px) / 2);
    max-width: none;
    padding-bottom: 16px;
  }

  .mc-person__name {
    margin: 12px 0 0;
    font-size: 20px;
  }

  .mc-person__role {
    margin: 4px 0 0;
  }

  /* п.45-46: факты - чипы «иконка + текст» по 38px в строку с переносом, зазор 8 */
  .mc-chips {
    gap: 8px;
  }

  /* только факты летней: корень виджета Чипа (#mc-chip) носит тот же класс .mc-chip, nowrap и кегль ушли бы в его облачка */
  .mc-chips .mc-chip {
    gap: 6px;
    min-height: 38px;
    padding: 0 14px 0 10px;
    font-size: 15px;
    white-space: nowrap;
  }

  .mc-chips .mc-chip .mc-ico {
    width: 20px;
    height: 20px;
  }
}

/* на 320 при полях 8 фото преподавателя 116 px, порог ТЗ - 120 */
@media (max-width: 359px) {
  .mc-person {
    padding-inline: 4px;
  }
}
/* end пачка A2 */

/* пачка Екатерины C+D (03.10): шапка Б1, первый экран главной, «Подробности обучения» на телефоне, блок D (три предложения
   и полоса условий), выбор предложения в диалоге «Связаться с нами». ТЗ context/TZ-mietcenter-ekaterina-pachka-20261003.md, раздел C+D.
   Лендинги /zanyatia/, /qize/ делят разметку главной (include/home.php) - их первый экран и шапка-лендинг не трогаются:
   селекторы hero через :not(.mc-page--landing), шапки через :not(.mc-header--landing). */

/* --- C1 шапка Б1: логотип (SVG школы, img/logo-mc.svg, 1240x467) по центру.
   Высота полосы прежняя: 68 на < 768, 76 на 768-1199, 152 от 1200. Воздух над и под логотипом >= 10px:
   < 768 - 124px (46.7 в полосе 67; 130-140 из ТЗ при 67 дают 9.0-6.6), 768-1199 - 140px (52.7 в 75), от 1200 - 200px (75.3) */
@media (max-width: 1199px) {
  .mc-header:not(.mc-header--landing) .mc-header__in {
    grid-template-columns: 44px 1fr auto 1fr 44px;
    grid-template-areas: "burger . logo . bvi";
  }

  .mc-header:not(.mc-header--landing) .mc-logo {
    justify-self: center;
  }

  .mc-header:not(.mc-header--landing) .mc-logo img {
    width: 124px;
    height: auto;
  }

  .mc-header:not(.mc-header--landing) .mc-header__phone {
    display: none;
  }
}

@media (min-width: 768px) and (max-width: 1199px) {
  .mc-header:not(.mc-header--landing) .mc-logo img {
    width: 140px;
  }
}

/* от 1200: ряд 1 «пусто | логотип | телефон, адрес, глаз», ряд 2 - меню; левая треть пустая (вариант Б1 выбран школой) */
@media (min-width: 1200px) {
  .mc-header:not(.mc-header--landing) .mc-header__in {
    grid-template-columns: 1fr auto 1fr;
    grid-template-areas:
      ". logo side"
      "nav nav nav";
    align-items: center;
    padding-top: 10px;
  }

  /* воздух под логотипом - зазор ряда меню до пунктов (15px), свой отступ не нужен: полоса 10 + 76 + 64 = 150 <= 152 */
  .mc-header:not(.mc-header--landing) .mc-logo {
    justify-self: center;
  }

  .mc-header:not(.mc-header--landing) .mc-logo img {
    width: 200px;
    height: auto;
  }

  /* запасная константа липкой шапки до запуска JS: уезжающая часть = поле 10 + ряд 76 + 8 до строки меню (было 12 + 76 + 8 = 96);
     stickyHead() уточняет по ResizeObserver */
  :root {
    --mc-head-off: 94px;
  }
}

/* --- C2/C3 первый экран главной. Синий градиент на весь экран снят.
   < 768: картинка старого первого экрана прода (hero-home-mob-prod.webp = Frame-1948755654-2), кадр как на проде:
   cover по высоте «hero + шапка» (на проде шапка лежала поверх картинки), низ к низу; высота 760 = 828 прода - шапка 68.
   Тёмный текст на светлом небе, как было; кнопка наша. */
@media (max-width: 767px) {
  .mc-page--home:not(.mc-page--landing) .mc-home-hero {
    min-height: 760px;
    padding-block: 40px 72px;
    background: #eceeec url("/local/templates/mietcenter/css/../img/mc/hero-home-mob-prod.webp") no-repeat 50% 100% / auto calc(100% + var(--mc-head-h));
    color: var(--mc-text);
  }

  .mc-nwm {
    white-space: nowrap;
  }

  .mc-h1city {
    display: block;
  }

  /* лёгкая подложка под кикером и H1: на 375 нижняя строка H1 задевает крышу башни (без неё 1.64:1 по худшему пикселю);
     отрицательные поля = внутренние, текст не сдвигается */
  .mc-page--home:not(.mc-page--landing) .mc-home-hero__txt {
    margin: -8px;
    padding: 8px;
    border-radius: var(--mc-radius);
    background: rgb(255 255 255 / 0.7);
    -webkit-backdrop-filter: blur(6px);
    backdrop-filter: blur(6px);
  }
}

.mc-page--home:not(.mc-page--landing) .mc-home-hero__kicker {
  color: var(--mc-text);
}

.mc-page--home:not(.mc-page--landing) .mc-home-hero__title {
  color: var(--mc-navy);
}

.mc-page--home:not(.mc-page--landing) .mc-home-hero .mc-acc {
  color: var(--mc-blue-active);
}

/* от 768: фото дева без затемнения, под кикером и H1 - локальная светлая подложка с размытием. Текст не сдвигается:
   отрицательные поля подложки = её внутренние поля. Сеть «узлы-связи» (декор поверх текста) на главной снята */
@media (min-width: 768px) {
  .mc-page--home:not(.mc-page--landing) .mc-home-hero {
    background: #c9d3dc url("/local/templates/mietcenter/css/../img/mc/hero-home-desk.webp") no-repeat 50% 50% / cover;
  }

  .mc-page--home:not(.mc-page--landing) .mc-net {
    display: none;
  }

  .mc-page--home:not(.mc-page--landing) .mc-home-hero__txt {
    margin-inline: -16px;
    padding: 16px;
    border-radius: var(--mc-radius);
    background: rgb(255 255 255 / 0.86);
    -webkit-backdrop-filter: blur(12px);
    backdrop-filter: blur(12px);
  }
}

/* от 1025: крыльцо на 0.6715 ширины окна, как на проде (замер REPORT-mietcenter-hero-photo-compare): зум 1.0764 к ширине
   (крыльцо x 1207 из 1920 кадра), сдвиг 6.8%, низ к низу; не меньше высоты hero (clamp из 2g-hero) x 1920/860 - без пустых краёв */
@media (min-width: 1025px) {
  .mc-page--home:not(.mc-page--landing) .mc-home-hero {
    background-size: max(107.64%, calc(clamp(600px, 100vh - 250px, 720px) * 2.2326)) auto;
    background-position: 6.8% 100%;
  }

  .mc-page--home:not(.mc-page--landing) .mc-home-hero__txt {
    margin-inline: -32px;
    padding: 24px 32px;
  }
}

/* --- C4/CD3 «Подробности обучения» < 768 - подача прода (слово Антона 03.10): колонка по центру, сверху крупный номер,
   под ним примечание и текст пункта, без бейджа и галки. Кегль номера и шаги - замер прода на 320/375/414
   (номер 80px, коробка 89; номер -> примечание 4, номер -> текст 12, примечание -> текст 8, между пунктами 64).
   Номер - .mc-feat__n (aria-hidden: номер для чтения даёт сам ol). От 768 он скрыт, бейджи как были */
.mc-feat__n {
  display: none;
}

@media (max-width: 767px) {
  .mc-nums {
    gap: 64px;
  }

  .mc-feat {
    grid-template-columns: minmax(0, 1fr);
    align-items: start;
    gap: 0;
    text-align: center;
  }

  .mc-feat .mc-num {
    display: none;
  }

  .mc-feat__n {
    display: block;
    color: var(--mc-blue);
    font-family: var(--mc-font-d);
    font-size: 80px;
    font-weight: 600;
    line-height: 1.1;
    letter-spacing: -0.02em;
    font-variant-numeric: tabular-nums;
  }

  .mc-feat__title,
  .mc-feat__note {
    grid-column: 1;
  }

  .mc-feat__title {
    margin-top: 12px;
    font-size: 17px;
    line-height: 1.4;
  }

  .mc-feat__note {
    margin-top: 4px;
  }

  .mc-feat__note + .mc-feat__title {
    margin-top: 8px;
  }

  /* текст по центру: без автопереноса слов (на 320 резал «налого-вый»), короткое слово держится со следующим */
  .mc-feat__title,
  .mc-feat__note {
    hyphens: manual;
  }

  .mc-nbm {
    white-space: nowrap;
  }
}

/* --- D: три предложения после первого экрана и полоса условий (include/home_offers.php) */
.mc-ofr .mc-lead {
  margin-top: 12px;
}

.mc-ofr__grid {
  display: grid;
  gap: 16px;
  margin: 32px 0 0;
  padding: 0;
  list-style: none;
}

.mc-ofr__card {
  display: flex;
  flex-direction: column;
  gap: 14px;
  min-width: 0;
  margin: 0;
  padding: 24px;
  border-radius: var(--mc-radius);
  background: #fff;
  box-shadow: 0 0 0 1px #c9d6e5, 0 4px 14px rgb(16 24 40 / 0.07);
}

.mc-ofr__h {
  margin: 0;
  color: var(--mc-text);
  font-family: var(--mc-font-d);
  font-size: 22px;
  font-weight: 600;
  line-height: 1.3;
}

.mc-ofr__age {
  color: var(--mc-blue-text);
}

.mc-ofr__cnt {
  color: var(--mc-text-muted);
  font-size: 16px;
  font-weight: 500;
}

.mc-ofr__tgl {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  column-gap: 6px;
  width: 100%;
  min-height: 44px;
  padding: 0;
  border: 0;
  background: none;
  color: inherit;
  font: inherit;
  text-align: left;
  cursor: pointer;
}

.mc-ofr__tgl:focus-visible {
  outline: 2px solid var(--mc-blue);
  outline-offset: 4px;
  border-radius: 6px;
}

.mc-ofr__chev {
  display: grid;
  margin-left: auto;
  color: var(--mc-blue-text);
  transform: rotate(90deg);
  transition: transform var(--mc-ease);
}

.mc-ofr__card.is-open .mc-ofr__chev {
  transform: rotate(-90deg);
}

.mc-ofr__list {
  display: grid;
  gap: 10px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.mc-ofr__list li {
  position: relative;
  padding-left: 22px;
  color: var(--mc-text);
  font-size: 16px;
  line-height: 1.45;
  overflow-wrap: break-word;
}

.mc-ofr__list li::before {
  content: "";
  position: absolute;
  top: 0.5em;
  left: 4px;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--mc-blue);
}

.mc-ofr__terms {
  display: grid;
  justify-items: center;
  gap: 12px;
  margin-top: 28px;
  text-align: center;
}

.mc-ofr__free {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 10px 18px;
  border-radius: var(--mc-btn-radius);
  background: #fff3c4;
  color: var(--mc-text);
  font-family: var(--mc-font-d);
  font-size: 18px;
  font-weight: 600;
  line-height: 1.35;
}

.mc-ofr__free .mc-ico {
  flex: none;
  color: var(--mc-blue-text);
}

.mc-ofr__once {
  color: var(--mc-text);
  font-size: 18px;
  line-height: 1.4;
}

.mc-ofr .mc-actions {
  margin-top: 28px;
}

/* предложение 2: компактная акцентная карточка - на телефоне столбиком, от 768 текст слева, цена и кнопка справа */
.mc-ofr__deal {
  display: grid;
  gap: 20px;
  padding: 28px 20px;
  box-shadow: 0 0 0 2px var(--mc-blue-brand), 0 4px 14px rgb(16 24 40 / 0.07);
  text-align: center;
}

.mc-ofr__deal .mc-h2 {
  text-align: center;
}

.mc-ofr__p {
  margin-top: 12px;
  color: var(--mc-text);
  font-size: 18px;
  line-height: 1.45;
}

.mc-ofr__price {
  color: var(--mc-blue-text);
  font-family: var(--mc-font-d);
  font-size: 48px;
  font-weight: 600;
  line-height: 1.1;
  white-space: nowrap;
}

.mc-ofr__note {
  margin: 8px 0 20px;
  color: var(--mc-text-muted);
  font-size: 16px;
  line-height: 1.45;
}

.mc-ofr__deal-buy .mc-btn {
  width: 100%;
}

/* предложение 3: кнопка внизу карточки */
.mc-ofr__card--combo .mc-btn {
  width: 100%;
  min-width: 0;
  margin-top: auto;
}

.mc-ofr__card--combo .mc-ofr__list {
  margin-bottom: 8px;
}

/* полоса условий: 2 x 2 на телефоне (одна колонка < 360), 4 в ряд от 768 */
.mc-ofr__h2 {
  color: var(--mc-text);
  font-family: var(--mc-font-d);
  font-size: 24px;
  font-weight: 600;
  line-height: 1.3;
  text-align: center;
}

.mc-ofr__for {
  margin-top: 8px;
  color: var(--mc-text-muted);
  font-size: 16px;
  line-height: 1.45;
  text-align: center;
}

.mc-ofr__conds {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  margin: 24px 0 0;
  padding: 0;
  list-style: none;
}

.mc-ofr__cond {
  align-items: center;
  gap: 10px;
  padding: 20px 12px;
  color: var(--mc-text);
  font-size: 15px;
  font-weight: 500;
  line-height: 1.4;
  text-align: center;
}

.mc-ofr__ico {
  flex: none;
  width: 40px;
  height: 40px;
  color: var(--mc-blue);
}

@media (max-width: 359px) {
  .mc-ofr__conds {
    grid-template-columns: minmax(0, 1fr);
  }
}

/* на телефоне возрастные карточки мастер-классов - раскрывающиеся списки */
@media (max-width: 767px) {
  .mc-ofr__card--mk {
    gap: 0;
    padding: 6px 16px;
  }

  .mc-ofr__card--mk:not(.is-open) .mc-ofr__panel {
    display: none;
  }

  .mc-ofr__card--mk.is-open .mc-ofr__panel {
    padding: 6px 0 14px;
  }

  .mc-ofr__card--mk .mc-ofr__h {
    font-size: 20px;
  }

  .mc-ofr__grid {
    gap: 12px;
  }
}

@media (min-width: 768px) {
  .mc-ofr__grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: var(--mc-gap, 24px);
  }

  .mc-ofr__tgl {
    cursor: default;
  }

  .mc-ofr__chev {
    display: none;
  }

  .mc-ofr__deal {
    grid-template-columns: minmax(0, 1fr) minmax(260px, auto);
    align-items: center;
    gap: 40px;
    padding: 40px 48px;
    text-align: left;
  }

  .mc-ofr__deal .mc-h2 {
    text-align: left;
  }

  .mc-ofr__deal-buy {
    text-align: center;
  }

  .mc-ofr__conds {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 16px;
  }
}

@media (min-width: 1025px) {
  .mc-ofr__h {
    font-size: var(--mc-fs-lg);
  }

  .mc-ofr__list li,
  .mc-ofr__cond {
    font-size: var(--mc-fs-base);
  }

  .mc-ofr__card {
    padding: 28px;
  }

  .mc-ofr__price {
    font-size: 56px;
  }

  .mc-ofr__h2 {
    font-size: 28px;
  }

  .mc-ofr__conds {
    gap: var(--mc-gap, 24px);
  }
}

/* выбор предложения в диалоге «Связаться с нами» (шаблон формы, MC_OFFERS = Y) */
.mc-ofr-pick {
  min-width: 0;
  margin: 0 0 16px;
  padding: 0;
  border: 0;
  text-align: left;
}

.mc-ofr-pick[hidden],
.mc-ofr-pick__part[hidden] {
  display: none;
}

.mc-ofr-pick__lg {
  margin-bottom: 12px;
  padding: 0;
  color: var(--mc-text);
  font-family: var(--mc-font-d);
  font-size: 16px;
  line-height: 1.4;
}

.mc-ofr-pick__part {
  display: grid;
  gap: 8px;
  min-width: 0;
  margin: 0;
  padding: 0;
  border: 0;
}

.mc-ofr-pick__q {
  padding: 0;
  color: var(--mc-text);
  font-size: 15px;
  font-weight: 600;
}

.mc-ofr-pick__hint {
  margin-top: -4px;
  color: var(--mc-text-muted);
  font-size: 13px;
}

.mc-ofr-pick__age {
  margin-top: 6px;
  color: var(--mc-blue-text);
  font-size: 13px;
  font-weight: 700;
}

.mc-ofr-pick__c {
  min-height: 24px;
  color: var(--mc-text);
}

.mc-ofr-pick__help {
  margin-top: 6px;
  font-weight: 600;
}

.mc-ofr-pick__sel {
  width: 100%;
}
/* end пачка C+D */

/* осенняя школа 04.10 (правка Надежды): карточка направления без своей страницы курса (Blender, Робототехника) -
   тот же вид .mc-ccard__a, но не ссылка: без подъёма и усиленной тени на hover, курсор обычный */
.mc-ccard__a--static,
.mc-ccard__a--static:hover {
  box-shadow: var(--mc-card-shadow);
  transform: none;
  cursor: default;
}
/* end осенняя школа 04.10 */

/* осенняя школа: карточка главной по макету Екатерины 04.10 (include/home.php, #mc-h-autumn) - вид .mc-ofr__card
   с акцентной рамкой как у «Дополнительных групп»; на телефоне столбиком и кнопка во всю ширину,
   от 768 текст слева, список и кнопки справа. Цены в карточке нет (правка Надежды) */
.mc-aut {
  display: grid;
  gap: 24px;
  padding: 28px 20px;
  box-shadow: 0 0 0 2px var(--mc-blue-brand), 0 4px 14px rgb(16 24 40 / 0.07);
}

.mc-aut__meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px 16px;
}

.mc-aut__badge {
  padding: 6px 14px;
  border-radius: var(--mc-btn-radius);
  background: #fff3c4;
  color: var(--mc-text);
  font-family: var(--mc-font-d);
  font-size: 15px;
  font-weight: 600;
  line-height: 1.35;
}

.mc-aut__date {
  color: var(--mc-blue-text);
  font-family: var(--mc-font-d);
  font-size: 16px;
  font-weight: 600;
  line-height: 1.35;
  white-space: nowrap;
}

.mc-aut .mc-aut__h {
  margin-top: 16px;
  text-align: left;
}

.mc-aut__lead {
  margin-top: 12px;
  color: var(--mc-text);
  font-size: 16px;
  line-height: 1.5;
}

.mc-aut__list {
  display: grid;
  gap: 12px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.mc-aut__list li {
  display: flex;
  align-items: center;
  gap: 12px;
  color: var(--mc-text);
  font-size: 16px;
  font-weight: 500;
  line-height: 1.4;
}

.mc-aut__list .mc-ico {
  flex: none;
  width: 28px;
  height: 28px;
}

.mc-aut__acts {
  display: grid;
  justify-items: center;
  gap: 8px;
}

.mc-aut__go {
  width: 100%;
}

.mc-aut__more {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  padding-inline: 8px;
  color: var(--mc-blue-text);
  font-weight: 600;
  text-decoration: underline;
  text-underline-offset: 3px;
}

.mc-aut__more:hover {
  color: var(--mc-blue-hover);
}

@media (min-width: 768px) {
  .mc-aut {
    grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr);
    grid-template-areas: "txt list" "acts acts";
    align-items: center;
    gap: 32px 40px;
    padding: 40px 48px;
  }

  .mc-aut__txt {
    grid-area: txt;
  }

  .mc-aut__list {
    grid-area: list;
  }

  .mc-aut__acts {
    grid-area: acts;
  }

  .mc-aut__lead {
    font-size: 18px;
  }
}

/* 768-1024: правая колонка узка для кнопки в одну строку - кнопка и «Подробнее» рядом под обеими колонками */
@media (min-width: 768px) and (max-width: 1024px) {
  .mc-aut__acts {
    display: flex;
    align-items: center;
    gap: 16px 24px;
  }

  .mc-aut__go {
    width: auto;
  }
}

/* от 1025: текст слева, список и кнопки справа (как в макете - кнопка под списком) */
@media (min-width: 1025px) {
  .mc-aut {
    grid-template-areas: "txt list" "txt acts";
    align-content: center;
    row-gap: 24px;
  }

  .mc-aut__txt {
    align-self: center;
  }

  .mc-aut__list {
    align-self: end;
  }

  .mc-aut__acts {
    align-self: start;
  }

  .mc-aut__lead,
  .mc-aut__list li {
    font-size: var(--mc-fs-base);
  }

  .mc-aut__badge,
  .mc-aut__date {
    font-size: var(--mc-fs-sm);
  }
}
/* end осенняя школа: карточка главной */

/* post-launch-2 п.3 (05.10): «Наверх» по центру пузыря Чипа. Переменные Чипа подняты на :root из css/chip.css
   (одно место на оба элемента), низ кнопки = низ лаунчера + половина разницы высот -> центры по вертикали совпадают
   на всех ширинах, с куки-полосой и safe-area. Горизонталь и z-index кнопки прежние. */
:root {
  --chip-gap: 24px;
  --chip-size: 64px;
  --chip-bottom: var(--chip-gap);
  --mc-totop-size: 44px;
}
html.mc-cookie-on {
  --chip-bottom: calc(var(--chip-gap) + var(--mc-cookie-h, 0px) + 16px);
}
@media (max-width: 767px) {
  :root {
    --chip-gap: 16px;
    --chip-size: 48px; /* 2g моб. п.3: лаунчер не закрывает последние строки секций (было 60) */
    --chip-bottom: calc(16px + env(safe-area-inset-bottom));
  }
  html.mc-cookie-on {
    --chip-bottom: calc(var(--mc-cookie-h, 0px) + 16px);
  }
}
.mc-totop,
html.mc-cookie-on .mc-totop {
  width: var(--mc-totop-size);
  height: var(--mc-totop-size);
  bottom: calc(var(--chip-bottom) + (var(--chip-size) - var(--mc-totop-size)) / 2);
}
/* end post-launch-2 п.3 */

/* post-launch-2 п.2 (05.10): /autumn-it-school/ по макету Екатерины (cko-offers-v3). Бейдж/дата - .mc-aut__* карточки главной,
   карточки - .mc-ofr__card, условия - .mc-ofr__conds главной; здесь только строка над H1, карточки направлений (.mc-adir)
   и тёмная полоса (.mc-aband, цвета .mc-sec--navy). Hero - кадр 13 через Ui::hero, правила светлых шапок не тронуты. */
/* акцент H1: правило 2b «.mc-hero .mc-acc» (голубой для тёмных шапок, 1.7:1 на светлой подложке) перебивает --mc-accent светлой
   шапки; на этой странице акцент в H1 первый, остальные шапки без акцента не трогаем */
.mc-page--autumn .mc-hero .mc-acc {
  color: var(--mc-blue);
}

.mc-aband__h {
  text-align: inherit;
}

.mc-aut__meta--hero {
  justify-content: center;
  margin: 0 0 16px;
}

.mc-aut__date {
  display: inline-flex;
  align-items: center;
  gap: 6px;
}

.mc-aut__cal {
  flex: none;
}

.mc-adir {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 12px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.mc-adir__card {
  gap: 12px;
  text-align: left;
}

.mc-adir__h {
  display: flex;
  align-items: center;
  gap: 12px;
  margin: 0;
  color: var(--mc-text);
  font-family: var(--mc-font-d);
  font-size: 19px;
  font-weight: 600;
  line-height: 1.3;
}

.mc-adir__badge {
  display: flex;
  flex: none;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  border-radius: 12px;
  background: #EBF4FD;
  color: var(--mc-blue);
}

.mc-adir__list {
  display: grid;
  gap: 6px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.mc-adir__list li {
  position: relative;
  padding-left: 16px;
  color: #3A4654;
  font-size: 15px;
  line-height: 1.45;
}

.mc-adir__list li::before {
  content: "";
  position: absolute;
  top: 0.6em;
  left: 2px;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--mc-blue);
}

.mc-adir__go {
  align-self: flex-start;
  display: inline-flex;
  align-items: center;
  min-height: 32px;
  margin-top: auto;
  color: var(--mc-blue-text);
  font-family: var(--mc-font-d);
  font-size: 15px;
  font-weight: 600;
  text-decoration: underline;
  text-underline-offset: 3px;
}

.mc-adir__go:hover {
  text-decoration-thickness: 2px;
}

.mc-aband {
  --mc-accent: var(--mc-blue-on-dark);
  --mc-brand-text: var(--mc-blue-on-dark);
  --mc-focus: #8cc4ff;
  position: relative;
  display: grid;
  gap: 24px;
  overflow: hidden;
  padding: 32px 20px;
  border-radius: var(--mc-radius);
  background: var(--mc-navy);
  color: #fff;
  text-align: center;
}

.mc-aband::before {
  content: "";
  position: absolute;
  top: -120px;
  left: 38%;
  width: 260px;
  height: 260px;
  border: 40px solid rgb(255 255 255 / 0.05);
  border-radius: 50%;
  pointer-events: none;
}

.mc-aband > * {
  position: relative;
}

.mc-aband__badge {
  display: inline-block;
  margin: 0 0 14px;
}

.mc-aband__h {
  color: #fff;
}

.mc-aband .mc-acc {
  color: var(--mc-blue-on-dark);
}

.mc-aband__p {
  max-width: 60ch;
  margin: 12px auto 0;
  color: rgb(255 255 255 / 0.9);
  font-size: 16px;
  line-height: 1.5;
}

.mc-aband__a {
  color: var(--mc-blue-on-dark);
  font-weight: 600;
  text-decoration: underline;
  text-underline-offset: 3px;
}

.mc-aband__buy .mc-btn {
  width: 100%;
}

.mc-ofr--terms .mc-ofr__h2 + .mc-ofr__conds {
  margin-top: 32px;
}

@media (min-width: 768px) {
  .mc-aut__meta--hero {
    justify-content: flex-start;
  }

  .mc-adir {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
  }

  .mc-aband {
    grid-template-columns: minmax(0, 1fr) minmax(260px, auto);
    align-items: center;
    gap: 40px;
    padding: 40px 48px;
    text-align: left;
  }

  .mc-aband__p {
    margin-left: 0;
  }
}

@media (min-width: 1025px) {
  .mc-adir {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: var(--mc-gap, 24px);
  }

  .mc-adir__h {
    font-size: 20px;
  }

  .mc-adir__list li,
  .mc-adir__go,
  .mc-aband__p {
    font-size: var(--mc-fs-sm);
  }

  .mc-aband {
    padding: 48px 56px;
  }
}
/* end post-launch-2 п.2 */

/* post-launch-3 (05.10): цена осенней АйТи-школы вернулась (слово Антона) - блок .mc-aut__price (число .mc-ofr__price
   и подпись .mc-ofr__note как у «Дополнительных групп») в карточке главной над кнопкой (как в макете Екатерины) и в hero
   /autumn-it-school/ над кнопкой. При mc_prices_show=N блока нет, и сетка с рядом price не включается (:has) - раскладка карточки прежняя. */
.mc-aut__price .mc-ofr__price {
  margin: 0;
}

.mc-aut__price .mc-ofr__note {
  margin: 6px 0 0;
}

.mc-aut__price--hero {
  margin: 24px 0 0; /* снизу отступ даёт .mc-actions hero */
}

@media (min-width: 768px) {
  .mc-aut:has(.mc-aut__price) {
    grid-template-areas: "txt list" "price price" "acts acts";
  }

  .mc-aut > .mc-aut__price {
    grid-area: price;
  }
}

@media (min-width: 1025px) {
  .mc-aut:has(.mc-aut__price) {
    grid-template-areas: "txt list" "txt price" "txt acts";
  }

  .mc-aut__price {
    align-self: start;
  }
}
/* end post-launch-3 */

/* предложения Надежды (05.10): годовые направления в карточке доп. групп, «+ мастер-классы в подарок», блок краткосрочных
   курсов на плитках .mc-adir с /autumn-it-school/ (include/home_offers.php). ТЗ context/TZ-mietcenter-offers-nadezhda-20261005.md */
.mc-ofr__sub {
  margin-top: 20px;
  color: var(--mc-text);
  font-family: var(--mc-font-d);
  font-size: 18px;
  font-weight: 600;
  line-height: 1.35;
}

.mc-ofr__dirs {
  display: inline-grid;
  margin-top: 12px;
  text-align: left;
}

.mc-ofr__dirs a {
  color: var(--mc-blue-text);
  text-decoration: underline;
  text-underline-offset: 3px;
}

.mc-ofr__dirs a:hover {
  text-decoration-thickness: 2px;
}

.mc-ofr__deal-txt .mc-ofr__free {
  margin-top: 20px;
}

.mc-adir--short {
  margin-top: 32px;
}

.mc-adir--short .mc-adir__h {
  hyphens: auto;
  overflow-wrap: break-word;
}

@media (max-width: 767px) {
  .mc-adir--short {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .mc-adir--short .mc-adir__card {
    padding: 16px;
  }

  .mc-adir--short .mc-adir__h {
    flex-direction: column;
    align-items: flex-start;
    gap: 10px;
    font-size: 17px;
  }
}

@media (min-width: 768px) {
  .mc-ofr__dirs {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, max-content));
    column-gap: 32px;
  }

  .mc-ofr__deal-txt .mc-ofr__free {
    display: flex;
    width: fit-content;
  }
}
/* end предложения Надежды */

/* End */


/* Start:/local/templates/mietcenter/css/a11y.css?179092821817217*/
/* ЦКО МИЭТ - доступность (ГОСТ Р 52872-2019): вход в режим, фокус, режим html.mc-bvi. Слой a11y дева без правил Elementor/WP. */
:root {
  --mc-brand-text: var(--mc-blue-text);   /* фирменный синий мелким текстом на белом: #1767d4, 5.2:1 (был #128DE6, 3.51:1) */
  --mc-focus: #1565c0;                    /* рамка фокуса: 5.75:1 к белому */
}
.mc-devline {
  --mc-brand-text: var(--mc-blue-on-dark);
  --mc-focus: #8cc4ff;
}
.mc-sr {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  margin: -1px !important;
  padding: 0 !important;
  overflow: hidden !important;
  clip: rect(0 0 0 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}
.mc-skip {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 100001;
}
.mc-skip__a {
  position: absolute;
  top: 8px;
  left: -10000px;
  padding: 12px 18px;
  border-radius: 10px;
  background: #fff;
  color: #0f2a4a;
  font: 600 16px/20px "Wix Madefor Text", "Wix Madefor Text Fallback", Arial, sans-serif;
  text-decoration: underline;
  white-space: nowrap;
  box-shadow: 0 8px 24px rgb(16 24 40 / 0.18);
}
.mc-skip__a:focus {
  left: 8px;
}
.mc-bvi-entry {
  display: flex;
}
.mc-bvi-open {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 6px;
  background: none;
  color: var(--mc-blue-text);
  font: 500 13px/20px "Wix Madefor Text", "Wix Madefor Text Fallback", "Wix Madefor Display", "Wix Madefor Display Fallback", Arial, sans-serif;
  text-decoration: underline 1px transparent;
  text-underline-offset: 3px;
  white-space: nowrap;
  cursor: pointer;
}
.mc-bvi-open:hover {
  background: none;
  color: var(--mc-blue-hover);
  text-decoration-color: currentColor;
}
.mc-bvi-open:active {
  color: var(--mc-blue-active);
}
.mc-bvi-open .mc-bvi-eye {
  flex: none;
  width: 20px;
  height: 20px;
}
.mc-bvi-bar {
  display: flex;
  justify-content: flex-end;
  box-sizing: border-box;
  max-width: calc(1200px + 48px);
  margin: 0 auto;
  padding: 4px 24px;
  /* Лендинги (/zanyatia/, /qize/): верхний контейнер страницы absolute от top:0 и z-index 4 - прозрачный, но перехватывал тап */
  position: relative;
  z-index: 50;
}
.mc-bvi-bar .mc-bvi-open {
  min-height: 44px;
  font-size: 14px;
}
html body :focus-visible {
  outline: 3px solid var(--mc-focus) !important;
  outline-offset: 2px !important;
}
html body :focus:not(:focus-visible) {
  outline: none;
}
#mc-main:focus {
  outline: none !important;
}
:is(h1, h2, h3, h4, h5).mc-h4 {
  font-size: var(--wp--preset--font-size--medium);
}
:is(h1, h2, h3, h4, h5).mc-h5 {
  font-size: var(--wp--preset--font-size--small);
  letter-spacing: 0.5px;
}
:is(h1, h2, h3, h4, h5).mc-h6 {
  font-size: var(--wp--preset--font-size--small);
  font-weight: 700;
  letter-spacing: 1.4px;
  text-transform: uppercase;
}
.qsm-btn.qmn_btn,
.qsm-quiz-container .qsm-btn {
  background-color: var(--mc-blue) !important;
  border-color: var(--mc-blue) !important;
  color: #fff !important;
}
.progressbar-text {
  color: #1565c0 !important;
}
[style*="#2F80ED" i] {
  color: var(--mc-blue-text) !important;
}
.mc-devline__a11y {
  margin: 0;
}
.mc-devline__a11y a {
  color: var(--mc-blue-on-dark);
  text-decoration: underline;
  text-underline-offset: 3px;
}
.mc-devline__a11y .mc-bvi-link {
  margin: 0;
  padding: 0;
  border: 0;
  background: none;
  color: var(--mc-blue-on-dark);
  font: inherit;
  text-decoration: underline;
  text-underline-offset: 3px;
  cursor: pointer;
}
@media (max-width: 767px) {
  .mc-devline__a11y a {
    display: inline-flex;
    align-items: center;
    min-height: 44px;
  }
}
.mc-bvi-alt,
.mc-tts-sel {
  display: none;
}
.mc-video-desc {
  box-sizing: border-box;
  width: 100%;
  max-width: calc(70ch + 32px);
  margin: 0;
  padding: 16px 16px 4px;
  font-size: 15px;
  line-height: 1.5;
  color: var(--mc-text-muted);
}
@media (max-width: 767px) {
  .mc-video-desc {
    padding: 12px 8px 4px;
  }
}
@media (prefers-reduced-motion: reduce) {
  html body *,
  html body *::before,
  html body *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
}
html.mc-bvi:not(#mc0) {
  --bvi-bg: #fff; --bvi-fg: #000;
}
html.mc-bvi:not(#mc0)[data-bvi-sc="wb"] {
  --bvi-bg: #000; --bvi-fg: #fff;
}
html.mc-bvi:not(#mc0)[data-bvi-sc="blue"] {
  --bvi-bg: #9dd1ff; --bvi-fg: #063462;
}
html.mc-bvi:not(#mc0)[data-bvi-sc="brown"] {
  --bvi-bg: #f7f3d6; --bvi-fg: #4d4b43;
}
html.mc-bvi:not(#mc0)[data-bvi-sc="green"] {
  --bvi-bg: #3b2716; --bvi-fg: #a9e44d;
}
html.mc-bvi:not(#mc0) {
  font-size: 100% !important; --bvi-lh: 1.5; --bvi-ls: 0;
}
html.mc-bvi:not(#mc0)[data-bvi-fs="2"] {
  font-size: 150% !important;
}
html.mc-bvi:not(#mc0)[data-bvi-fs="3"] {
  font-size: 200% !important;
}
html.mc-bvi:not(#mc0)[data-bvi-lh="1"] {
  --bvi-lh: 1.8;
}
html.mc-bvi:not(#mc0)[data-bvi-lh="2"] {
  --bvi-lh: 2;
}
html.mc-bvi:not(#mc0)[data-bvi-ls="1"] {
  --bvi-ls: 0.06em;
}
html.mc-bvi:not(#mc0)[data-bvi-ls="2"] {
  --bvi-ls: 0.12em;
}
html.mc-bvi:not(#mc0) body,
html.mc-bvi:not(#mc0) body * {
  font-size: 1.125rem !important;
  line-height: var(--bvi-lh) !important;
  letter-spacing: var(--bvi-ls) !important;
  word-spacing: normal !important;
  text-transform: none !important;
  overflow-wrap: break-word;
  hyphens: manual;
}
html.mc-bvi:not(#mc0) body :is(h1, h2, h3, h4, h5, h6) {
  line-height: 1.3 !important;
  letter-spacing: var(--bvi-ls) !important;
  text-transform: none !important;
  overflow-wrap: break-word;
  hyphens: manual;
}
html.mc-bvi:not(#mc0) body h1 {
  font-size: 1.75rem !important;
}
html.mc-bvi:not(#mc0) body h2 {
  font-size: 1.5rem !important;
}
html.mc-bvi:not(#mc0) body h3 {
  font-size: 1.3rem !important;
}
html.mc-bvi:not(#mc0) body :is(h4, h5, h6) {
  font-size: 1.15rem !important;
}
html.mc-bvi:not(#mc0) body :is(h1, h2, h3, h4, h5, h6) * {
  font-size: inherit !important;
  line-height: inherit !important;
}
html.mc-bvi:not(#mc0) body *:not(pre, pre *, code, textarea) {
  white-space: normal !important;
}
html.mc-bvi:not(#mc0) body table {
  display: block !important;
  overflow-x: auto !important;
  max-width: 100% !important;
}
@media (max-width: 767px) {
  html.mc-bvi:not(#mc0):is([data-bvi-fs="2"], [data-bvi-fs="3"]) body *:not(.mc-bvi-panel, .mc-bvi-panel *) {
    overflow-wrap: anywhere !important;
  }
}
html.mc-bvi:not(#mc0)[data-bvi-ff="sans"] body,
html.mc-bvi:not(#mc0)[data-bvi-ff="sans"] body * {
  font-family: Arial, "Helvetica Neue", Helvetica, "Liberation Sans", sans-serif !important;
}
html.mc-bvi:not(#mc0),
html.mc-bvi:not(#mc0) body,
html.mc-bvi:not(#mc0) body *:not(svg, svg *, img, video, iframe, canvas) {
  background-color: var(--bvi-bg) !important;
  background-image: none !important;
  color: var(--bvi-fg) !important;
  border-color: var(--bvi-fg) !important;
  box-shadow: none !important;
  text-shadow: none !important;
  -webkit-text-fill-color: currentColor !important;
}
html.mc-bvi:not(#mc0) body *::before,
html.mc-bvi:not(#mc0) body *::after {
  background-image: none !important;
  background-color: transparent !important;
  box-shadow: none !important;
  text-shadow: none !important;
  border-color: var(--bvi-fg) !important;
  color: inherit !important;
}
html.mc-bvi:not(#mc0) body svg:not([data-mc-pic]) {
  color: var(--bvi-fg) !important;
}
html.mc-bvi:not(#mc0) body svg:not([data-mc-pic]) :is(path, circle, rect, polygon, polyline, line, ellipse, g, use)[fill]:not([fill="none"]) {
  fill: var(--bvi-fg) !important;
}
html.mc-bvi:not(#mc0) body svg:not([data-mc-pic]) :is(path, circle, rect, polygon, polyline, line, ellipse, g, use)[stroke]:not([stroke="none"]) {
  stroke: var(--bvi-fg) !important;
}
html.mc-bvi:not(#mc0) body svg:not([fill="none"], [data-mc-pic]) {
  fill: var(--bvi-fg) !important;
}
html.mc-bvi:not(#mc0) body .mc-devline a {
  text-decoration: underline !important;
  text-decoration-thickness: 2px !important;
  text-underline-offset: 0.2em !important;
}
html.mc-bvi:not(#mc0) body .js-toggle-btn.active,
html.mc-bvi:not(#mc0) body .js-toggle-btn.active * {
  background-color: var(--bvi-fg) !important;
  color: var(--bvi-bg) !important;
  -webkit-text-fill-color: var(--bvi-bg) !important;
}
html.mc-bvi:not(#mc0) body :is(input:not([type="checkbox"], [type="radio"], [type="submit"], [type="button"], [type="hidden"]), select, textarea) {
  border: 2px solid var(--bvi-fg) !important;
  border-radius: 6px !important;
  min-height: 44px;
}
html.mc-bvi:not(#mc0) body ::placeholder {
  color: var(--bvi-fg) !important;
  -webkit-text-fill-color: var(--bvi-fg) !important;
  opacity: 0.85 !important;
}
html.mc-bvi:not(#mc0) body :is(input[type="checkbox"], input[type="radio"]) {
  width: 24px !important;
  height: 24px !important;
  accent-color: var(--bvi-fg) !important;
  outline: 2px solid var(--bvi-fg);
  outline-offset: 1px;
}
html.mc-bvi:not(#mc0) body :focus-visible {
  outline: 3px solid var(--bvi-fg) !important;
  outline-offset: 3px !important;
}
html.mc-bvi:not(#mc0)[data-bvi-img="off"] body .mc-bvi-panel svg,
html.mc-bvi:not(#mc0)[data-bvi-img="off"] body .mc-bvi-open svg {
  display: inline-block !important;
}
html.mc-bvi:not(#mc0)[data-bvi-img="off"] body .mc-bvi-alt {
  display: inline-block !important;
  margin: 4px 0;
  padding: 6px 10px;
  border: 2px dashed var(--bvi-fg) !important;
  font-size: 1rem !important;
}
html.mc-bvi:not(#mc0)[data-bvi-img="gray"] body :is(img, video, picture, iframe, svg[data-mc-pic]) {
  filter: grayscale(1) !important;
}
html.mc-bvi:not(#mc0),
html.mc-bvi:not(#mc0) body *,
html.mc-bvi:not(#mc0) body *::before,
html.mc-bvi:not(#mc0) body *::after {
  animation: none !important;
  transition: none !important;
  scroll-behavior: auto !important;
}
html.mc-bvi:not(#mc0) body .animated {
  visibility: visible !important;
  opacity: 1 !important;
  transform: none !important;
}
html.mc-bvi:not(#mc0) body {
  position: relative;
  margin-top: var(--mc-bvi-h, 0px) !important;
}
html.mc-bvi:not(#mc0) body :is(img, video, iframe, table, pre, svg) {
  max-width: 100% !important;
}
/* спрайт бейджей 01-09 шире своего клипа по замыслу (perf 02.10) */
html.mc-bvi:not(#mc0) body .mc-num__img {
  max-width: none !important;
}
html.mc-bvi:not(#mc0) body .mc-bvi-entry,
html.mc-bvi:not(#mc0) body .mc-bvi-bar {
  display: none !important;
}
.mc-bvi-panel {
  display: none;
}
html.mc-bvi:not(#mc0) body .mc-bvi-panel {
  position: fixed;
  top: 0;
  right: 0;
  left: 0;
  z-index: 100000;
  display: block;
  max-height: 100dvh;
  overflow-y: auto;
  overscroll-behavior: contain;
  border-bottom: 3px solid var(--bvi-fg) !important;
  padding: 8px 16px calc(8px) !important;
  padding-left: max(16px, env(safe-area-inset-left)) !important;
  padding-right: max(16px, env(safe-area-inset-right)) !important;
  padding-top: max(8px, env(safe-area-inset-top)) !important;
}
html.mc-bvi:not(#mc0) body .mc-bvi-panel,
html.mc-bvi:not(#mc0) body .mc-bvi-panel * {
  font-family: Arial, "Helvetica Neue", Helvetica, sans-serif !important;
  font-size: 16px !important;
  line-height: 1.25 !important;
  letter-spacing: 0 !important;
  overflow-wrap: normal;
  hyphens: none;
}
html.mc-bvi:not(#mc0) body .mc-bvi-panel__in {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 20px;
  align-items: flex-end;
  max-width: 1400px;
  margin: 0 auto;
}
html.mc-bvi:not(#mc0) body .mc-bvi-panel__bar {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
}
html.mc-bvi:not(#mc0) body .mc-bvi-panel__title {
  margin: 0 8px 0 0 !important;
  font-weight: 700 !important;
}
html.mc-bvi:not(#mc0) body .mc-bvi-panel__body {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 20px;
  align-items: flex-end;
}
html.mc-bvi:not(#mc0) body .mc-bvi-group {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  align-items: center;
  margin: 0;
  padding: 0;
  border: 0 !important;
}
html.mc-bvi:not(#mc0) body .mc-bvi-group__label {
  flex: 0 0 100%;
  margin: 0 0 2px !important;
  font-size: 14px !important;
  font-weight: 700 !important;
}
html.mc-bvi:not(#mc0) body .mc-bvi-panel button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  min-width: 44px;
  min-height: 44px;
  margin: 0;
  padding: 6px 12px !important;
  border: 2px solid var(--bvi-fg) !important;
  border-radius: 8px !important;
  cursor: pointer;
}
html.mc-bvi:not(#mc0) body .mc-bvi-panel button[aria-pressed="true"],
html.mc-bvi:not(#mc0) body .mc-bvi-panel button[aria-pressed="true"] *,
html.mc-bvi:not(#mc0) body .mc-bvi-panel button:hover,
html.mc-bvi:not(#mc0) body .mc-bvi-panel button:hover * {
  background-color: var(--bvi-fg) !important;
  color: var(--bvi-bg) !important;
  -webkit-text-fill-color: var(--bvi-bg) !important;
}
html.mc-bvi:not(#mc0) body .mc-bvi-panel button.mc-bvi-sw {
  min-width: 52px;
  font-weight: 700 !important;
}
html.mc-bvi:not(#mc0) body .mc-bvi-panel button.mc-bvi-sw[data-v="bw"],
html.mc-bvi:not(#mc0) body .mc-bvi-panel button.mc-bvi-sw[data-v="bw"] * {
  background-color: #fff !important; color: #000 !important; -webkit-text-fill-color: #000 !important; border-color: #000 !important;
}
html.mc-bvi:not(#mc0) body .mc-bvi-panel button.mc-bvi-sw[data-v="wb"],
html.mc-bvi:not(#mc0) body .mc-bvi-panel button.mc-bvi-sw[data-v="wb"] * {
  background-color: #000 !important; color: #fff !important; -webkit-text-fill-color: #fff !important; border-color: #fff !important;
}
html.mc-bvi:not(#mc0) body .mc-bvi-panel button.mc-bvi-sw[data-v="blue"],
html.mc-bvi:not(#mc0) body .mc-bvi-panel button.mc-bvi-sw[data-v="blue"] * {
  background-color: #9dd1ff !important; color: #063462 !important; -webkit-text-fill-color: #063462 !important; border-color: #063462 !important;
}
html.mc-bvi:not(#mc0) body .mc-bvi-panel button.mc-bvi-sw[data-v="brown"],
html.mc-bvi:not(#mc0) body .mc-bvi-panel button.mc-bvi-sw[data-v="brown"] * {
  background-color: #f7f3d6 !important; color: #4d4b43 !important; -webkit-text-fill-color: #4d4b43 !important; border-color: #4d4b43 !important;
}
html.mc-bvi:not(#mc0) body .mc-bvi-panel button.mc-bvi-sw[data-v="green"],
html.mc-bvi:not(#mc0) body .mc-bvi-panel button.mc-bvi-sw[data-v="green"] * {
  background-color: #3b2716 !important; color: #a9e44d !important; -webkit-text-fill-color: #a9e44d !important; border-color: #a9e44d !important;
}
html.mc-bvi:not(#mc0) body .mc-bvi-panel button.mc-bvi-sw[aria-pressed="true"] {
  outline: 3px solid var(--bvi-fg) !important;
  outline-offset: 2px !important;
}
html.mc-bvi:not(#mc0) body .mc-bvi-panel .mc-bvi-a1 {
  font-size: 16px !important;
}
html.mc-bvi:not(#mc0) body .mc-bvi-panel .mc-bvi-a2 {
  font-size: 21px !important;
}
html.mc-bvi:not(#mc0) body .mc-bvi-panel .mc-bvi-a3 {
  font-size: 26px !important;
}
html.mc-bvi:not(#mc0) body .mc-bvi-panel :is(.mc-bvi-a1, .mc-bvi-a2, .mc-bvi-a3) {
  font-weight: 700 !important;
  line-height: 1 !important;
}
html.mc-bvi:not(#mc0) body .mc-bvi-panel svg {
  width: 20px;
  height: 20px;
  flex: none;
}
html.mc-bvi:not(#mc0) body .mc-bvi-status,
html.mc-bvi:not(#mc0) body .mc-bvi-note {
  flex: 1 1 100%;
  margin: 0 !important;
  font-size: 14px !important;
}
html.mc-bvi:not(#mc0) body .mc-bvi-status:empty {
  display: none;
}
html.mc-bvi:not(#mc0) body .mc-bvi-panel [hidden] {
  display: none !important;
}
html.mc-bvi:not(#mc0) body .mc-bvi-panel__toggle {
  display: none !important;
}
@media (max-width: 767px) {
  html.mc-bvi:not(#mc0) body .mc-bvi-panel {
    max-height: 85dvh;
  }
  html.mc-bvi:not(#mc0) body .mc-bvi-panel__toggle {
    display: inline-flex !important;
  }
  html.mc-bvi:not(#mc0) body .mc-bvi-panel__title {
    flex: 0 0 100%;
  }
  html.mc-bvi:not(#mc0) body .mc-bvi-panel.is-collapsed .mc-bvi-panel__body {
    display: none !important;
  }
  html.mc-bvi:not(#mc0) body .mc-bvi-panel__body {
    flex-direction: column;
    align-items: stretch;
    gap: 12px;
    margin-top: 8px;
  }
}
/* отступ якорей от панели и липкой шапки - scroll-padding-top у html (mc.css, липкая шапка 02.10), здесь не добавляем */
html.mc-bvi:not(#mc0) body * {
  scroll-margin-top: 0px;
}
html.mc-bvi:not(#mc0) body .mc-tts-current {
  outline: 4px solid var(--bvi-fg) !important;
  outline-offset: 4px !important;
}
html.mc-bvi:not(#mc0) body .mc-tts-current,
html.mc-bvi:not(#mc0) body .mc-tts-current * {
  background-color: var(--bvi-fg) !important;
  color: var(--bvi-bg) !important;
  -webkit-text-fill-color: var(--bvi-bg) !important;
}
html.mc-bvi:not(#mc0) body .mc-tts-sel {
  position: absolute;
  z-index: 100002;
  display: inline-flex !important;
  align-items: center;
  gap: 6px;
  min-height: 44px;
  padding: 6px 12px !important;
  border: 2px solid var(--bvi-fg) !important;
  border-radius: 8px !important;
  font: 700 16px/1.2 Arial, sans-serif !important;
  cursor: pointer;
}
html.mc-bvi:not(#mc0) body .mc-tts-sel[hidden] {
  display: none !important;
}


/* End */


/* Start:/local/templates/mietcenter/css/cko.css?17908825424992*/
/* ЦКО МИЭТ - правки дева для статей курсов и блога (вёрстка cko): контраст, кнопки, фокус. Из слоя mu-plugin (redesign.css, a11y.css), без селекторов Elementor. */
article[id^="cko-"] :is(.hero-button, .cko-hero-btn, .faq-button, .cko-faq-button) {
  border-radius: var(--mc-btn-radius) !important;
  background: var(--mc-blue) none !important;
  box-shadow: none !important;
  transform: none !important;
  transition: background-color var(--mc-ease) !important;
}
article[id^="cko-"] :is(.hero-button, .cko-hero-btn) {
  min-height: var(--mc-btn-min-h) !important;
  font-size: 16px;
  font-weight: 600;
  letter-spacing: 0.04em;
}
article[id^="cko-"] :is(.faq-button, .cko-faq-button) {
  min-height: 44px !important;
}
article[id^="cko-"] :is(.hero-button, .cko-hero-btn, .faq-button, .cko-faq-button):hover {
  background-color: var(--mc-blue-hover) !important;
}
article[id^="cko-"] :is(.hero-button, .cko-hero-btn, .faq-button, .cko-faq-button):active {
  background-color: var(--mc-blue-active) !important;
}
article[id^="cko-"] :is(.hero-button, .cko-hero-btn, .faq-button, .cko-faq-button):focus-visible {
  outline: 2px solid var(--mc-blue);
  outline-offset: 3px;
}

@media (max-width: 1024px) {
  article[id^="cko-"] > header:is(.hero, .cko-hero) {
    grid-template-columns: minmax(0, 1fr) !important;
    overflow-x: clip; /* декоративный круг ::before (right: -125px) у hero с overflow: visible давал скролл */
  }
}
@media (max-width: 640px) {
  article[id^="cko-"] > header:is(.hero, .cko-hero) h1 {
    font-size: clamp(24px, 7.8vw, 34px) !important;
    overflow-wrap: break-word;
    hyphens: auto;
  }
}
@media (max-width: 640px) {
  article[id^="cko-"] [class*="grid"] > *,
  article[id^="cko-"] > header:is(.hero, .cko-hero) > * {
    min-width: 0;
  }
  article[id^="cko-"] :is(h1, h2, h3) {
    overflow-wrap: anywhere;
    hyphens: auto;
  }
}

[id^="cko-"] {
  --muted: #5f6b73 !important;
  --blue-dark: #1565c0 !important;
  --blue: #1a6fdc !important;
}
[id^="cko-"] :is(.cko-program-section, .program, .cko-teacher-accent, .teacher-accent, .cko-payment:nth-child(5), .cko-contact, .contact),
[id^="cko-"]:not(#cko-cpp2) .payment:nth-child(5),
#cko-cpp2 .payment:nth-child(6) {
  background: linear-gradient(135deg, #1565c0, #1a6fdc) !important;
}
[id^="cko-"] :is(.cko-program-section, .program, .cko-teacher-accent, .teacher-accent, .cko-payment:nth-child(5), .cko-contact, .contact) p,
[id^="cko-"]:not(#cko-cpp2) .payment:nth-child(5) p,
#cko-cpp2 .payment:nth-child(6) p {
  color: #fff !important;
}
[id^="cko-"] :is(.hero-button, .cko-hero-btn) {
  background: var(--mc-blue) !important;
}
[id^="cko-"] :is(.code-card, .cko-code-card, .tech, .cko-tech) small {
  color: #c3d1d8 !important;
}
.cko-article {
  --cko-blue-dark: #1565c0 !important;
}
[id^="cko-"] :is(.cko-program-card, .program-card) {
  background: rgb(8 30 70 / 0.22) !important;
}
.cko-article a:not([class]) {
  color: #1565c0;
}
.cko-article .cko-article__label {
  color: #1565c0;
}
.cko-article section.cko-article__cta .cko-article__button {
  background-color: var(--mc-blue);
  color: #fff !important;
}
.cko-article section.cko-article__cta .cko-article__button:hover {
  background-color: var(--mc-blue-hover);
}
.cko-article .cko-article__cta:not(section) {
  background: linear-gradient(135deg, #1565c0, var(--mc-blue));
}
body:is(.archive, .author, .category, .tag) .cko-article .cko-article__cta {
  background: linear-gradient(135deg, #1565c0, var(--mc-blue)) !important;
}
body:is(.archive, .author, .category, .tag) .cko-article section.cko-article__cta .cko-article__button {
  background-color: #fff;
  color: #1565c0 !important;
}
@media (max-width: 767px) {
  [id^="cko-"] .cko-faq-actions a {
    min-height: 44px !important;
  }
}
html.mc-bvi:not(#mc0):is([data-bvi-fs="2"], [data-bvi-fs="3"]) body :is([id^="cko-"], .cko-article) * {
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 12em), 1fr)) !important;
}

/* 2c: «Похожие курсы» из инфоблока в статьях дева без своего блока (java, sysadmin) - разметка и вид как у #cko-1c .related */
article[id^="cko-"] .related{display:grid;grid-template-columns:repeat(4,1fr);gap:11px;margin-top:22px}
article[id^="cko-"] .related a{min-height:145px;padding:20px;border:1px solid #DFE7EB;border-radius:19px;background:#fff;display:flex;flex-direction:column;justify-content:space-between;color:inherit;text-decoration:none}
article[id^="cko-"] .related small{color:#5f6b72;font-size:12px}
article[id^="cko-"] .related h3{margin:6px 0 0;font-size:17px;line-height:1.2}
article[id^="cko-"] .related span{margin-top:15px;color:#1565c0;font-size:13px;font-weight:800}
@media (max-width:960px){article[id^="cko-"] .related{grid-template-columns:1fr 1fr}}
@media (max-width:640px){article[id^="cko-"] .related{grid-template-columns:1fr}}

/* End */
/* /local/templates/mietcenter/css/base.css?179092396922412 */
/* /local/templates/mietcenter/css/mc.css?1791176168144992 */
/* /local/templates/mietcenter/css/a11y.css?179092821817217 */
/* /local/templates/mietcenter/css/cko.css?17908825424992 */
