/* Mers Academy — сайт v7, общий стиль. Все классы с префиксом x7.
   Подключается после v4-10.css: из него берутся шрифт Raleway, форма заявки GetCourse, подвал и нижняя панель. */
body { overflow-x: clip; }
@media (min-width: 1100px) {
  .ftr > .wrap { max-width: 1344px; padding-left: 24px; padding-right: 24px; }
}
@media (min-width: 768px) {
  .mbar { display: none !important; }
}

.x7 {
  --navy: #0F2A44; --navy2: #1A3E62; --teal: #00A8A8; --ink: #00706F; --tod: #7FE0DF;
  --gr: #1F2933; --mu: #4A5462; --gy: #545C69; --hair: #E4E9EC; --hair2: #EEF1F4;
  --wash: #F7F9FA; --panel: #F2F5F7; --tile: #EEF2F5; --edge: #C3D2DC; --chip: #EDF3F3;
  --r: 12px; --rc: 20px; --rb: 28px;
  --hd: 78px;
  --ease: cubic-bezier(.22, .61, .36, 1);
  --shadow: 0 1px 2px rgba(31, 41, 51, .05), 0 18px 40px -22px rgba(15, 42, 68, .35);
  position: relative;
  color: var(--gr); background: #fff;
  font-size: 16px; line-height: 1.55;
  font-variant-numeric: lining-nums; font-feature-settings: "lnum" 1;
}
.x7 *, .x7 *::before, .x7 *::after { box-sizing: border-box; }
.x7 h1, .x7 h2, .x7 h3, .x7 p, .x7 ul, .x7 ol, .x7 figure, .x7 blockquote { margin: 0; }
.x7 ul, .x7 ol { padding: 0; list-style: none; }
.x7 section { padding: 0; }
.x7 a { color: inherit; text-decoration: none; }
.x7 img { max-width: 100%; height: auto; display: block; }
.x7 button { font: inherit; cursor: pointer; }
.x7 [hidden] { display: none !important; }
.x7 .x7-i { flex-shrink: 0; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.x7 .x7-f { flex-shrink: 0; fill: currentColor; }
.x7 .x7-max { width: 24px; height: 24px; flex-shrink: 0; }
.x7 .x7-vh { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }
.x7 .x7-nw { white-space: nowrap; }
.x7 .x7-w { width: 100%; max-width: 1344px; margin: 0 auto; padding: 0 24px; }
.x7 a:focus-visible, .x7 button:focus-visible, .x7 input:focus-visible { outline: 3px solid rgba(0, 168, 168, .55); outline-offset: 2px; }

/* ---------- кнопки, метки, заголовки секций ---------- */
.x7 .x7-btn { display: inline-flex; align-items: center; justify-content: center; gap: 10px; min-height: 50px; padding: 0 24px; border: 1.5px solid transparent; border-radius: var(--r); font-size: 16px; font-weight: 600; line-height: 1.2; text-align: center; white-space: nowrap; transition: background-color .2s var(--ease), color .2s var(--ease), border-color .2s var(--ease), transform .2s var(--ease), box-shadow .2s var(--ease); }
.x7 .x7-btn--lg { min-height: 56px; padding: 0 28px; font-size: 16.5px; }
.x7 .x7-btn--sm { min-height: 42px; padding: 0 18px; font-size: 15px; }
.x7 .x7-btn--n { background: var(--navy); color: #fff; }
.x7 .x7-btn--n:hover { background: #163A5C; }
.x7 .x7-btn--o { background: #fff; color: var(--navy); border-color: var(--edge); }
.x7 .x7-btn--o:hover { border-color: var(--navy); }
.x7 .x7-btn--w { background: #fff; color: var(--navy); box-shadow: 0 10px 24px -12px rgba(0, 0, 0, .5); }
.x7 .x7-btn--w:hover { background: #EAF6F6; transform: translateY(-1px); }
.x7 .x7-btn--wo { background: transparent; color: #fff; border-color: rgba(255, 255, 255, .45); }
.x7 .x7-btn--wo:hover { background: rgba(255, 255, 255, .08); border-color: #fff; }
.x7 .x7-btn--full { width: 100%; }
.x7 .x7-chip { display: inline-flex; align-items: center; min-height: 26px; padding: 3px 11px; border-radius: 100px; background: var(--chip); color: var(--ink); font-size: 12.5px; font-weight: 600; line-height: 1.3; letter-spacing: .01em; }
.x7 .x7-eye { display: inline-flex; align-items: center; gap: 10px; font-size: 13px; font-weight: 700; line-height: 1.3; letter-spacing: .09em; text-transform: uppercase; color: var(--ink); }
.x7 .x7-eye::before { content: ""; width: 22px; height: 2px; border-radius: 2px; background: var(--teal); }
.x7 .x7-eye--d { color: var(--tod); }
.x7 .x7-eye--d::before { background: var(--tod); }

.x7 .x7-sec { margin-top: 104px; }
.x7 .x7-sh { display: flex; align-items: flex-end; justify-content: space-between; gap: 24px; margin-bottom: 32px; }
.x7 .x7-sh__l { max-width: 1000px; display: flex; flex-direction: column; align-items: flex-start; gap: 14px; }
.x7 .x7-h2 { font-size: 40px; line-height: 1.1; font-weight: 700; letter-spacing: -.025em; color: var(--gr); }
.x7 .x7-h2--w { color: #fff; }
.x7 .x7-sub { font-size: 17.5px; line-height: 1.55; color: var(--mu); max-width: 760px; }
.x7 .x7-more { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; flex-shrink: 0; color: var(--ink); font-size: 15.5px; font-weight: 600; white-space: nowrap; }
.x7 .x7-more .x7-i { transition: transform .2s var(--ease); }
.x7 .x7-more:hover .x7-i { transform: translateX(3px); }
.x7 .x7-ck { display: flex; flex-direction: column; gap: 10px; }
.x7 .x7-ck li { display: flex; align-items: flex-start; gap: 10px; font-size: 15px; line-height: 1.5; }
.x7 .x7-ck .x7-i { margin-top: 1px; color: var(--ink); }
.x7 .x7-ck--d li { color: rgba(255, 255, 255, .88); }
.x7 .x7-ck--d .x7-i { color: var(--tod); }
.x7 .x7-st { display: inline-flex; align-items: center; gap: 8px; font-size: 14px; font-weight: 600; color: var(--ink); }
.x7 .x7-st::before { content: ""; width: 8px; height: 8px; border-radius: 50%; background: var(--teal); flex-shrink: 0; }

/* ---------- верхняя строка ---------- */
.x7 .x7-top { border-bottom: 1px solid var(--hair2); }
.x7 .x7-top__in { height: 42px; display: flex; align-items: center; gap: 26px; font-size: 13px; font-weight: 500; color: var(--mu); }
.x7 .x7-top__i { display: flex; align-items: center; gap: 8px; white-space: nowrap; }
.x7 .x7-top__i .x7-i { color: var(--ink); }
.x7 .x7-top__sp { flex: 1; }
.x7 .x7-top a:hover { color: var(--navy); }
.x7 .x7-top__msg { display: flex; align-items: center; gap: 4px; }
.x7 .x7-top__msg a { width: 32px; height: 32px; display: flex; align-items: center; justify-content: center; border-radius: 8px; color: var(--navy); }
.x7 .x7-top__msg a:hover { background: var(--panel); }
.x7 .x7-top__msg .x7-max { width: 18px; height: 18px; }

/* ---------- шапка ---------- */
.x7 .x7-hd { position: sticky; top: 0; z-index: 70; background: rgba(255, 255, 255, .97); -webkit-backdrop-filter: blur(12px); backdrop-filter: blur(12px); border-bottom: 1px solid transparent; transition: border-color .2s var(--ease), box-shadow .25s var(--ease); }
.x7 .x7-hd.is-stuck { border-bottom-color: var(--hair); box-shadow: 0 12px 28px -24px rgba(15, 42, 68, .55); }
.x7 .x7-hd__in { display: flex; align-items: center; gap: 28px; min-height: var(--hd); }
.x7 .x7-logo { display: flex; flex-direction: column; gap: 6px; flex-shrink: 0; }
.x7 .x7-logo__img { width: 216px; height: auto; }
.x7 .x7-logo__tag { font-size: 11.5px; font-weight: 500; color: var(--mu); letter-spacing: .01em; white-space: nowrap; }
.x7 .x7-nav { flex: 1; min-width: 0; display: flex; justify-content: center; }
.x7 .x7-nav__ul { display: flex; align-items: center; gap: 2px; }
.x7 .x7-nav__it { position: relative; display: flex; align-items: center; }
.x7 .x7-nav__a { position: relative; display: flex; align-items: center; min-height: 44px; padding: 0 10px; font-size: 15.5px; font-weight: 500; color: var(--gr); white-space: nowrap; border-radius: 10px; transition: color .2s; }
.x7 .x7-nav__a:hover, .x7 .x7-nav__it.is-open > .x7-nav__a { color: var(--ink); }
.x7 .x7-nav__it.is-on > .x7-nav__a { color: var(--navy); font-weight: 700; }
.x7 .x7-nav__it.is-on > .x7-nav__a::after { content: ""; position: absolute; left: 10px; right: 10px; bottom: -3px; height: 3px; border-radius: 3px; background: var(--teal); }
.x7 .x7-nav__tg { width: 26px; height: 32px; margin-left: -8px; display: flex; align-items: center; justify-content: center; padding: 0; border: 0; border-radius: 8px; background: transparent; color: var(--gy); }
.x7 .x7-nav__tg .x7-i { transition: transform .2s var(--ease); }
.x7 .x7-nav__it.is-open .x7-nav__tg .x7-i { transform: rotate(180deg); }
.x7 .x7-nav__tg:hover { color: var(--ink); }
.x7 .x7-hd__act { display: flex; align-items: center; gap: 12px; flex-shrink: 0; }
.x7 .x7-sbtn { width: 48px; height: 48px; display: flex; align-items: center; justify-content: center; padding: 0; border: 1.5px solid var(--hair); border-radius: 50%; background: #fff; color: var(--navy); transition: border-color .2s; }
.x7 .x7-sbtn:hover { border-color: var(--navy); }
.x7 .x7-burger { display: none; }

/* выпадающие подразделы */
.x7 .x7-dd { position: absolute; z-index: 5; top: calc(100% + 12px); left: -8px; display: none; min-width: 330px; padding: 10px; border: 1px solid var(--hair); border-radius: 18px; background: #fff; box-shadow: var(--shadow); }
.x7 .x7-dd::before { content: ""; position: absolute; left: 0; right: 0; top: -14px; height: 14px; }
.x7 .x7-nav__it.is-open > .x7-dd { display: flex; }
.x7 .x7-dd--wide { width: 640px; gap: 10px; }
.x7 .x7-dd__list { flex: 1; display: flex; flex-direction: column; }
.x7 .x7-dd__i { display: flex; flex-direction: column; gap: 2px; padding: 11px 14px; border-radius: 12px; }
.x7 .x7-dd__i b { font-size: 15.5px; font-weight: 600; color: var(--gr); line-height: 1.35; }
.x7 .x7-dd__i span { font-size: 13.5px; color: var(--mu); line-height: 1.4; }
.x7 .x7-dd__i:hover { background: var(--panel); }
.x7 .x7-dd__i:hover b { color: var(--ink); }
.x7 .x7-dd__side { flex: 0 0 236px; display: flex; flex-direction: column; gap: 10px; padding: 16px; border-radius: 14px; background: var(--panel); }
.x7 .x7-dd__q { font-size: 14px; font-weight: 700; color: var(--gr); }
.x7 .x7-dd__test { display: flex; align-items: flex-start; gap: 10px; padding: 12px; border-radius: 12px; background: #fff; font-size: 15px; font-weight: 600; line-height: 1.35; }
.x7 .x7-dd__test small { display: block; margin-top: 4px; font-size: 12.5px; font-weight: 500; color: var(--mu); }
.x7 .x7-dd__test .x7-i { color: var(--ink); margin-top: 1px; }
.x7 .x7-dd__test:hover { color: var(--ink); }
.x7 .x7-dd__all { margin-top: auto; display: flex; align-items: center; justify-content: space-between; min-height: 40px; color: var(--ink); font-size: 14.5px; font-weight: 600; }

/* ---------- окно поиска ---------- */
.x7 .x7-sd { position: fixed; inset: 0; z-index: 10200; padding: 88px 24px 24px; background: rgba(15, 42, 68, .45); -webkit-backdrop-filter: blur(4px); backdrop-filter: blur(4px); overflow-y: auto; }
.x7 .x7-sd__box { max-width: 780px; margin: 0 auto; padding: 14px; border-radius: 22px; background: #fff; box-shadow: 0 40px 80px -40px rgba(0, 0, 0, .5); }
.x7 .x7-find { position: relative; display: flex; align-items: stretch; gap: 10px; height: 56px; }
.x7 .x7-find__f { flex: 1; min-width: 0; display: flex; align-items: center; gap: 10px; padding: 0 16px; border: 1.5px solid var(--edge); border-radius: var(--r); background: #fff; color: var(--gy); cursor: text; transition: border-color .2s var(--ease); }
.x7 .x7-find__f:focus-within { border-color: var(--navy); }
.x7 .x7-find input { flex: 1; min-width: 0; height: 100%; border: 0; outline: 0; background: transparent; font-size: 16px; font-weight: 500; color: var(--gr); }
.x7 .x7-find input::placeholder { color: #6B7482; opacity: 1; }
.x7 .x7-find input::-webkit-search-cancel-button { display: none; }
.x7 .x7-find__go { flex-shrink: 0; padding: 0 26px; border: 0; border-radius: var(--r); background: var(--navy); color: #fff; font-size: 16px; font-weight: 600; }
.x7 .x7-find__go:hover { background: #163A5C; }
.x7 .x7-sd__x { flex-shrink: 0; width: 56px; display: flex; align-items: center; justify-content: center; padding: 0; border: 1.5px solid var(--hair); border-radius: var(--r); background: #fff; color: var(--gr); }
.x7 .x7-sd__x:hover { border-color: var(--navy); }
.x7 .x7-res { max-height: min(520px, 62vh); overflow-y: auto; margin-top: 10px; }
.x7 .x7-res__h { padding: 8px 12px 6px; font-size: 12px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--gy); }
.x7 .x7-res__i { display: flex; align-items: center; justify-content: space-between; gap: 14px; padding: 11px 12px; border-radius: 10px; font-size: 15.5px; line-height: 1.35; color: var(--gr); }
.x7 .x7-res__i:hover, .x7 .x7-res__i.is-act { background: var(--panel); }
.x7 .x7-res__i mark { background: none; color: var(--ink); font-weight: 700; }
.x7 .x7-res__k { flex-shrink: 0; font-size: 12px; font-weight: 600; color: var(--gy); }
.x7 .x7-res__none { padding: 12px; font-size: 15px; color: var(--mu); }
.x7 .x7-res__none a { color: var(--ink); font-weight: 600; text-decoration: underline; text-underline-offset: 3px; }

/* ---------- шторка меню (телефон и планшет) ---------- */
.x7 .x7-dr { position: fixed; inset: 0; z-index: 10210; overflow-y: auto; padding: 0 20px 32px; background: #fff; }
.x7 .x7-dr__top { position: sticky; top: 0; z-index: 1; display: flex; align-items: center; justify-content: space-between; min-height: 64px; margin: 0 -20px 6px; padding: 0 12px 0 20px; background: #fff; border-bottom: 1px solid var(--hair2); }
.x7 .x7-dr__top .x7-logo__img { width: 170px; }
.x7 .x7-dr__x { width: 46px; height: 46px; display: flex; align-items: center; justify-content: center; padding: 0; border: 1.5px solid var(--hair); border-radius: 50%; background: #fff; color: var(--gr); }
.x7 .x7-dr__msg { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; margin-top: 12px; }
.x7 .x7-dr__msg a { display: flex; align-items: center; justify-content: center; gap: 8px; min-height: 48px; border: 1.5px solid var(--hair); border-radius: var(--r); font-size: 14.5px; font-weight: 600; color: var(--navy); }
.x7 .x7-dr__tel { display: flex; flex-direction: column; gap: 2px; margin: 14px 0 12px; }
.x7 .x7-dr__tel b { font-size: 19px; font-weight: 700; color: var(--gr); }
.x7 .x7-dr__tel span { font-size: 13.5px; color: var(--mu); }
.x7 .x7-dr__nav { margin-top: 18px; border-top: 1px solid var(--hair2); }
.x7 .x7-dr__g { padding: 14px 0; border-bottom: 1px solid var(--hair2); }
.x7 .x7-dr__h { display: flex; align-items: center; min-height: 40px; font-size: 20px; font-weight: 700; letter-spacing: -.01em; color: var(--gr); }
.x7 .x7-dr__g.is-on .x7-dr__h { color: var(--ink); }
.x7 .x7-dr__sub { display: flex; flex-direction: column; }
.x7 .x7-dr__sub a { display: flex; align-items: center; min-height: 42px; font-size: 16px; font-weight: 500; color: var(--mu); }

/* ---------- тёмные блоки ---------- */
.x7 .x7-dark { position: relative; isolation: isolate; overflow: hidden; border-radius: var(--rb); background: var(--navy); color: #fff; }
.x7 .x7-dark__c1 { position: absolute; z-index: -1; width: 620px; height: 620px; border-radius: 50%; background: var(--navy2); }
.x7 .x7-dark__c2 { position: absolute; z-index: -1; width: 300px; height: 300px; border-radius: 50%; border: 42px solid rgba(0, 168, 168, .28); }

/* ---------- заявка (общая для обеих страниц) ---------- */
.x7 .x7-call { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 560px); gap: 48px; align-items: center; padding: 56px; }
.x7 .x7-call .x7-dark__c1 { left: -200px; bottom: -330px; }
.x7 .x7-call .x7-dark__c2 { right: -110px; top: -140px; }
.x7 .x7-call__txt { display: flex; flex-direction: column; align-items: flex-start; gap: 16px; }
.x7 .x7-call__txt > p { font-size: 16.5px; line-height: 1.6; color: rgba(255, 255, 255, .86); max-width: 560px; }
.x7 .x7-call__ct { display: grid; grid-template-columns: repeat(3, auto); gap: 8px 28px; margin-top: 6px; }
.x7 .x7-call__ct li { display: flex; flex-direction: column; gap: 3px; }
.x7 .x7-call__ct span { font-size: 12.5px; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; color: rgba(255, 255, 255, .6); }
.x7 .x7-call__ct a, .x7 .x7-call__ct b { font-size: 16.5px; font-weight: 600; color: #fff; white-space: nowrap; }
.x7 .x7-call__ct a:hover { color: var(--tod); }
.x7 .x7-call__msg { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 6px; }
.x7 .x7-call__msg a { display: inline-flex; align-items: center; gap: 8px; min-height: 46px; padding: 0 16px; border: 1.5px solid rgba(255, 255, 255, .34); border-radius: var(--r); font-size: 15px; font-weight: 600; color: #fff; }
.x7 .x7-call__msg a:hover { border-color: #fff; background: rgba(255, 255, 255, .06); }
.x7 .x7-call__form .form { margin: 0; color: var(--gr); }
.x7 .x7-call__form .form a { color: var(--ink); text-decoration: underline; text-underline-offset: 2px; }

.x7 .x7-end { height: 88px; }

/* ================== главная ================== */

/* ---------- первый экран ---------- */
.x7 .x7-hero-s { margin-top: 18px; }
.x7 .x7-hero { position: relative; isolation: isolate; overflow: hidden; display: grid; grid-template-columns: minmax(0, 1.08fr) minmax(0, .92fr); align-items: center; min-height: 540px; border-radius: var(--rb); background: var(--navy); color: #fff; }
.x7 .x7-hero__c1 { position: absolute; z-index: -1; left: -120px; top: -170px; width: 640px; height: 640px; border-radius: 50%; background: var(--navy2); }
.x7 .x7-hero__c2 { position: absolute; z-index: -1; right: -150px; top: -190px; width: 380px; height: 380px; border-radius: 50%; border: 54px solid rgba(0, 168, 168, .30); }
.x7 .x7-hero__c3 { position: absolute; z-index: -1; right: 16%; bottom: -170px; width: 300px; height: 300px; border-radius: 50%; background: rgba(255, 255, 255, .045); }
.x7 .x7-hero__txt { display: flex; flex-direction: column; align-items: flex-start; gap: 22px; padding: 64px 8px 60px 64px; }
.x7 .x7-h1 { display: flex; flex-direction: column; gap: 16px; }
.x7 .x7-h1__over { display: block; font-size: 16.5px; line-height: 1.4; font-weight: 600; letter-spacing: .01em; color: var(--tod); }
.x7 .x7-h1__big { display: block; font-size: 58px; line-height: 1.04; font-weight: 700; letter-spacing: -.028em; color: #fff; }
.x7 .x7-hero__lead { max-width: 610px; font-size: 18px; line-height: 1.55; color: rgba(255, 255, 255, .86); }
.x7 .x7-hero__act { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 4px; }
.x7 .x7-hero__act .x7-f { color: #fff; }
.x7 .x7-hero__ticks { display: flex; flex-wrap: wrap; gap: 10px 24px; }
.x7 .x7-hero__ticks li { display: flex; align-items: center; gap: 8px; font-size: 14.5px; font-weight: 500; color: rgba(255, 255, 255, .84); }
.x7 .x7-hero__ticks .x7-i { color: var(--tod); }
.x7 .x7-hero__pic { align-self: center; padding: 36px 48px 36px 8px; }
.x7 .x7-hero__pic img { width: 100%; max-width: 620px; margin: 0 auto; }

.x7 .x7-proof { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); margin-top: 16px; padding: 22px 12px; border-radius: var(--rc); background: var(--panel); }
.x7 .x7-proof__i { display: flex; align-items: center; gap: 14px; padding: 0 24px; font-size: 15.5px; line-height: 1.35; font-weight: 500; color: var(--mu); }
.x7 .x7-proof__i + .x7-proof__i { border-left: 1px solid #DCE3E8; }
.x7 .x7-proof__i b { color: var(--gr); font-weight: 700; }
.x7 .x7-proof__i .x7-i { color: var(--ink); }

/* ---------- развилка ---------- */
.x7 .x7-fork { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }
.x7 .x7-fk { display: flex; flex-direction: column; min-height: 312px; padding: 26px 26px 24px; border: 1px solid var(--hair); border-radius: 22px; background: #fff; transition: border-color .25s var(--ease), box-shadow .25s var(--ease), transform .25s var(--ease); }
.x7 .x7-fk:hover { border-color: #C9D6DF; box-shadow: var(--shadow); transform: translateY(-3px); }
.x7 .x7-fk__top { display: flex; align-items: center; justify-content: space-between; }
.x7 .x7-fk__n { width: 42px; height: 42px; display: flex; align-items: center; justify-content: center; border-radius: 12px; background: var(--navy); color: #fff; font-size: 15px; font-weight: 700; }
.x7 .x7-fk__top .x7-i { color: var(--ink); }
.x7 .x7-fk__t { margin-top: 20px; font-size: 22px; line-height: 1.2; font-weight: 700; letter-spacing: -.012em; color: var(--gr); }
.x7 .x7-fk__s { margin-top: 10px; flex: 1; font-size: 15px; line-height: 1.5; color: var(--mu); }
.x7 .x7-fk__go { margin-top: 20px; padding-top: 16px; border-top: 1px solid var(--hair2); display: flex; flex-direction: column; gap: 4px; }
.x7 .x7-fk__to { font-size: 12px; font-weight: 700; letter-spacing: .07em; text-transform: uppercase; color: var(--gy); }
.x7 .x7-fk__p { display: flex; align-items: center; gap: 8px; font-size: 17.5px; line-height: 1.3; font-weight: 700; color: var(--ink); }
.x7 .x7-fk__p .x7-i { transition: transform .2s var(--ease); }
.x7 .x7-fk:hover .x7-fk__p .x7-i { transform: translateX(4px); }
.x7 .x7-fk__m { font-size: 14px; color: var(--mu); }
.x7 .x7-fstrip { display: flex; align-items: center; justify-content: space-between; gap: 24px; margin-top: 20px; padding: 18px 24px; border-radius: 18px; background: var(--panel); }
.x7 .x7-fstrip__t { display: flex; align-items: center; gap: 14px; font-size: 15.5px; line-height: 1.5; color: var(--mu); }
.x7 .x7-fstrip__t b { color: var(--gr); }
.x7 .x7-fstrip__t .x7-i { color: var(--ink); }
.x7 .x7-fstrip__a { display: flex; align-items: center; gap: 22px; flex-shrink: 0; }

/* ---------- программы ---------- */
.x7 .x7-pgs { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: 20px; align-items: stretch; }
.x7 .x7-pgs__side { display: flex; flex-direction: column; gap: 20px; }
.x7 .x7-pg { display: flex; flex-direction: column; padding: 24px; border: 1px solid var(--hair); border-radius: 22px; background: #fff; transition: border-color .25s var(--ease), box-shadow .25s var(--ease); }
.x7 .x7-pg:hover { border-color: #D5DEE4; box-shadow: var(--shadow); }
.x7 .x7-pg__top { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.x7 .x7-pg__cnt { font-size: 13.5px; font-weight: 600; color: var(--gy); white-space: nowrap; }
.x7 .x7-pg--main .x7-pg__img { width: 100%; height: 300px; margin: 8px 0 2px; object-fit: contain; }
.x7 .x7-pg__h { margin-top: 12px; font-size: 22px; line-height: 1.2; font-weight: 700; letter-spacing: -.012em; color: var(--gr); }
.x7 .x7-pg--main .x7-pg__h { font-size: 30px; letter-spacing: -.02em; }
.x7 .x7-pg__p { margin-top: 10px; font-size: 15px; line-height: 1.55; color: var(--mu); }
.x7 .x7-pg--main .x7-pg__p { font-size: 16.5px; max-width: 620px; }
.x7 .x7-ck--2 { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px 24px; margin-top: 18px; }
.x7 .x7-pg__ft { margin-top: auto; padding-top: 18px; display: flex; align-items: center; justify-content: space-between; gap: 16px; flex-wrap: wrap; }
.x7 .x7-pg--main .x7-pg__ft { margin-top: 22px; border-top: 1px solid var(--hair2); }
.x7 .x7-pg__price { display: flex; flex-direction: column; gap: 4px; }
.x7 .x7-pg__price b { font-size: 17px; font-weight: 700; color: var(--gr); }
.x7 .x7-pg__btns { display: flex; gap: 10px; flex-wrap: wrap; }
.x7 .x7-pg--s { flex: 1; display: grid; grid-template-columns: minmax(0, 42%) minmax(0, 1fr); gap: 18px; align-items: center; padding: 18px 22px 18px 14px; }
.x7 .x7-pg__pic img { width: 100%; height: auto; }
.x7 .x7-pg__b { display: flex; flex-direction: column; height: 100%; padding: 6px 0; }
.x7 .x7-pg--s .x7-pg__h { margin-top: 10px; }
.x7 .x7-pg--s .x7-pg__p { font-size: 14.5px; }
.x7 .x7-pg--s .x7-pg__ft { padding-top: 12px; }
.x7 .x7-catband { display: grid; grid-template-columns: auto minmax(0, 1.2fr) minmax(0, 1fr) auto; align-items: center; gap: 20px 28px; margin-top: 20px; padding: 22px 26px; border-radius: 22px; background: var(--tile); transition: background-color .2s var(--ease); }
.x7 .x7-catband:hover { background: #E6ECF0; }
.x7 .x7-catband__ic { width: 56px; height: 56px; display: flex; align-items: center; justify-content: center; border-radius: 16px; background: #fff; color: var(--ink); }
.x7 .x7-catband__t { display: flex; flex-direction: column; gap: 4px; }
.x7 .x7-catband__t b { font-size: 20px; font-weight: 700; letter-spacing: -.01em; color: var(--gr); }
.x7 .x7-catband__t span { font-size: 15px; line-height: 1.5; color: var(--mu); }
.x7 .x7-catband__chips { display: flex; flex-wrap: wrap; gap: 8px; }
.x7 .x7-catband__chips span { display: inline-flex; align-items: center; min-height: 30px; padding: 0 12px; border-radius: 100px; background: #fff; font-size: 13.5px; font-weight: 600; color: var(--gr); }

/* ---------- три ступени ---------- */
.x7 .x7-lvs { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }
.x7 .x7-lv { display: flex; flex-direction: column; overflow: hidden; border: 1px solid var(--hair); border-radius: 22px; background: #fff; }
.x7 .x7-lv__pic { position: relative; flex-shrink: 0; min-height: 0; aspect-ratio: 16 / 10; background: #fff; }
/* В блоке трёх ступеней — живые кадры (возврат 23.09), поэтому кадрируем по площади, без полей. */
.x7 .x7-lv__pic img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center; }
.x7 .x7-lv__n { position: absolute; left: 20px; bottom: -22px; width: 48px; height: 48px; display: flex; align-items: center; justify-content: center; border: 4px solid #fff; border-radius: 50%; background: var(--navy); color: #fff; font-size: 15px; font-weight: 700; }
.x7 .x7-lv__b { flex: 1; display: flex; flex-direction: column; padding: 38px 24px 24px; }
.x7 .x7-lv__st { font-size: 12.5px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--ink); }
.x7 .x7-lv__h { margin: 6px 0 16px; font-size: 22px; line-height: 1.2; font-weight: 700; letter-spacing: -.012em; }
.x7 .x7-lv__p { margin-top: auto; padding-top: 16px; border-top: 1px solid var(--hair2); font-size: 14.5px; line-height: 1.55; color: var(--mu); }
.x7 .x7-lv .x7-ck { margin-bottom: 18px; }

/* ---------- как проходит обучение ---------- */
.x7 .x7-steps { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 20px; counter-reset: none; }
.x7 .x7-step { position: relative; display: flex; flex-direction: column; gap: 10px; padding: 26px 24px 24px; border-radius: 22px; background: var(--panel); }
.x7 .x7-step__n { width: 44px; height: 44px; display: flex; align-items: center; justify-content: center; margin-bottom: 6px; border-radius: 50%; background: var(--navy); color: #fff; font-size: 16px; font-weight: 700; }
.x7 .x7-step b { font-size: 19px; line-height: 1.25; font-weight: 700; }
.x7 .x7-step > span:last-child { font-size: 15px; line-height: 1.55; color: var(--mu); }
.x7 .x7-step:not(:last-child)::after { content: ""; position: absolute; z-index: 1; top: 46px; right: -17px; width: 14px; height: 14px; border-top: 2px solid #B9C7D1; border-right: 2px solid #B9C7D1; transform: rotate(45deg); }
.x7 .x7-fmt { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 20px; margin-top: 20px; }
.x7 .x7-fmt__i { display: flex; flex-direction: column; gap: 8px; padding: 22px 24px; border: 1px solid var(--hair); border-radius: 20px; }
.x7 .x7-fmt__i .x7-i { color: var(--ink); margin-bottom: 4px; }
.x7 .x7-fmt__i b { font-size: 17px; font-weight: 700; }
.x7 .x7-fmt__i span { font-size: 14.5px; line-height: 1.5; color: var(--mu); }
.x7 .x7-sim { display: grid; grid-template-columns: minmax(0, 1.08fr) minmax(0, .92fr); align-items: center; margin-top: 20px; }
.x7 .x7-sim .x7-dark__c1 { right: -120px; top: -90px; }
.x7 .x7-sim .x7-dark__c2 { left: -110px; bottom: -150px; }
.x7 .x7-sim__txt { display: flex; flex-direction: column; align-items: flex-start; gap: 16px; padding: 56px 24px 56px 56px; }
.x7 .x7-sim__txt > p { font-size: 16.5px; line-height: 1.6; color: rgba(255, 255, 255, .86); }
.x7 .x7-sim__txt .x7-ck { margin: 4px 0; }
.x7 .x7-sim__note { font-size: 15.5px !important; color: rgba(255, 255, 255, .76) !important; }
.x7 .x7-sim__pic { padding: 40px 40px 40px 0; }
.x7 .x7-sim__pic img { width: 100%; max-width: 560px; margin: 0 auto; }

/* ---------- преподаватели ---------- */
.x7 .x7-team { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 24px; }
.x7 .x7-tm__ph img { width: 100%; aspect-ratio: 1 / 1; object-fit: contain; object-position: bottom; }
.x7 .x7-tm figcaption { display: flex; flex-direction: column; gap: 6px; padding-top: 14px; border-top: 1px solid var(--hair); }
.x7 .x7-tm b { font-size: 19px; line-height: 1.3; font-weight: 700; }
.x7 .x7-tm span { font-size: 14.5px; line-height: 1.5; color: var(--mu); }

/* ---------- отзывы ---------- */
.x7 .x7-rh { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin: 4px 0 14px; }
.x7 .x7-rh h3 { font-size: 20px; line-height: 1.3; font-weight: 700; }
.x7 .x7-rh + .x7-rail + .x7-rh { margin-top: 32px; }
.x7 .x7-rh__nav { display: flex; gap: 10px; }
.x7 .x7-arr { width: 46px; height: 46px; display: flex; align-items: center; justify-content: center; padding: 0; border: 1.5px solid var(--edge); border-radius: 50%; background: #fff; color: var(--navy); }
.x7 .x7-arr:hover { border-color: var(--navy); }
.x7 .x7-arr:disabled { opacity: .35; cursor: default; border-color: var(--edge); }
.x7 .x7-hint { display: none; flex-shrink: 0; white-space: nowrap; font-size: 13px; font-weight: 600; color: var(--gy); }
.x7 .x7-rail { display: grid; grid-auto-flow: column; grid-auto-columns: calc((100% - 72px) / 4); gap: 24px; overflow-x: auto; overscroll-behavior-x: contain; scroll-snap-type: x mandatory; scrollbar-width: thin; scrollbar-color: #C3D2DC transparent; padding-bottom: 10px; }
.x7 .x7-rail > * { scroll-snap-align: start; }
.x7 .x7-rail::-webkit-scrollbar { height: 6px; }
.x7 .x7-rail::-webkit-scrollbar-thumb { background: #C3D2DC; border-radius: 6px; }
.x7 .x7-vid { display: flex; flex-direction: column; gap: 4px; }
.x7 .x7-vid__ph { position: relative; display: block; overflow: hidden; margin-bottom: 8px; border-radius: 16px; aspect-ratio: 16 / 9; background: var(--navy); }
.x7 .x7-vid__ph img { width: 100%; height: 100%; object-fit: cover; transition: transform .4s var(--ease); }
.x7 .x7-vid:hover .x7-vid__ph img { transform: scale(1.04); }
.x7 .x7-vid__play { position: absolute; left: 12px; bottom: 12px; width: 44px; height: 44px; display: flex; align-items: center; justify-content: center; border-radius: 50%; background: rgba(15, 42, 68, .82); color: #fff; }
.x7 .x7-vid__play svg { width: 18px; height: 18px; margin-left: 2px; fill: currentColor; }
.x7 .x7-vid b { font-size: 16px; line-height: 1.3; font-weight: 700; }
.x7 .x7-vid > span:last-child { font-size: 14px; line-height: 1.4; color: var(--mu); }
.x7 .x7-shots { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; }
.x7 .x7-shot { overflow: hidden; border: 1px solid var(--hair); border-radius: var(--rc); background: #fff; }
.x7 .x7-shot img { width: 100%; aspect-ratio: 16 / 10; object-fit: cover; object-position: top; }
.x7 .x7-shot figcaption { padding: 14px 18px; border-top: 1px solid var(--hair2); font-size: 15px; font-weight: 600; }

/* ---------- Братство ---------- */
.x7 .x7-br { position: relative; isolation: isolate; overflow: hidden; display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr); align-items: center; gap: 24px; padding: 56px; border-radius: var(--rb); background: var(--tile); }
.x7 .x7-br__c { position: absolute; z-index: -1; right: -120px; top: 50%; width: 560px; height: 560px; margin-top: -280px; border-radius: 50%; background: #fff; opacity: .7; }
.x7 .x7-br__txt { display: flex; flex-direction: column; align-items: flex-start; gap: 18px; }
.x7 .x7-br__lead { font-size: 17px; line-height: 1.6; color: var(--mu); max-width: 620px; }
.x7 .x7-br__stats { width: 100%; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.x7 .x7-br__stats li { display: flex; flex-direction: column; gap: 2px; padding: 16px 18px; border-radius: 16px; background: #fff; }
.x7 .x7-br__stats b { font-size: 20px; line-height: 1.25; font-weight: 700; color: var(--navy); }
.x7 .x7-br__stats span { font-size: 14px; color: var(--mu); }
.x7 .x7-br__terms { display: flex; flex-direction: column; gap: 10px; }
.x7 .x7-br__terms p { display: flex; align-items: flex-start; gap: 12px; font-size: 15.5px; line-height: 1.5; color: var(--mu); }
.x7 .x7-br__terms b { color: var(--gr); }
.x7 .x7-br__terms .x7-i { color: var(--ink); margin-top: 1px; }
.x7 .x7-br__act { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 4px; }
.x7 .x7-br__pic img { width: 100%; max-width: 560px; margin: 0 auto; }

/* ---------- кто стоит за обучением ---------- */
.x7 .x7-who { display: grid; grid-template-columns: 300px minmax(0, 1fr); gap: 32px; align-items: start; }
.x7 .x7-doc { padding: 16px; border: 1px solid var(--hair); border-radius: var(--rc); background: #fff; }
.x7 .x7-doc img { width: 100%; border-radius: 8px; box-shadow: 0 1px 3px rgba(31, 41, 51, .12); }
.x7 .x7-doc figcaption { margin-top: 12px; font-size: 14px; line-height: 1.45; color: var(--mu); }
.x7 .x7-who__lead { max-width: 860px; font-size: 18px; line-height: 1.6; color: var(--gr); }
.x7 .x7-tl { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; margin-top: 24px; }
.x7 .x7-tl__i { display: flex; flex-direction: column; gap: 8px; min-height: 118px; padding: 18px; border-radius: 16px; background: var(--panel); }
.x7 .x7-tl__y { font-size: 14px; font-weight: 700; color: var(--ink); }
.x7 .x7-tl__t { font-size: 15.5px; line-height: 1.4; font-weight: 600; color: var(--gr); }
.x7 .x7-tl__i--now { grid-column: span 2; background: var(--navy); }
.x7 .x7-tl__i--now .x7-tl__y { color: var(--tod); }
.x7 .x7-tl__i--now .x7-tl__t { color: #fff; }
.x7 .x7-legal { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 18px; }
.x7 .x7-legal span, .x7 .x7-legal a { display: inline-flex; align-items: center; gap: 8px; min-height: 40px; padding: 0 14px; border: 1px solid var(--hair); border-radius: 100px; font-size: 14px; font-weight: 600; color: var(--gr); }
.x7 .x7-legal a:hover { border-color: var(--navy); }
.x7 .x7-legal .x7-i { color: var(--ink); }

/* ---------- бесплатно ---------- */
.x7 .x7-free { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 20px; }
.x7 .x7-fr { display: flex; flex-direction: column; padding: 22px 22px 20px; border-radius: 22px; background: var(--panel); transition: background-color .2s var(--ease), transform .25s var(--ease); }
.x7 .x7-fr:hover { background: #E8EEF2; transform: translateY(-2px); }
.x7 .x7-fr__pic { height: 150px; display: flex; align-items: center; justify-content: center; margin-bottom: 14px; }
.x7 .x7-fr__pic img { max-height: 150px; width: auto; max-width: 100%; object-fit: contain; mix-blend-mode: multiply; }
.x7 .x7-fr__t { font-size: 19px; line-height: 1.25; font-weight: 700; }
.x7 .x7-fr__d { margin-top: 8px; flex: 1; font-size: 14.5px; line-height: 1.5; color: var(--mu); }
.x7 .x7-fr__go { margin-top: 14px; display: inline-flex; align-items: center; gap: 6px; font-size: 15px; font-weight: 600; color: var(--ink); }

/* ---------- вопросы ---------- */
.x7 .x7-faq { display: grid; grid-template-columns: minmax(0, 400px) minmax(0, 1fr); gap: 56px; align-items: start; }
.x7 .x7-faq__l { position: sticky; top: calc(var(--hd) + 24px); display: flex; flex-direction: column; align-items: flex-start; gap: 16px; }
.x7 .x7-faq__msg { display: flex; flex-wrap: wrap; gap: 10px; }
.x7 .x7-faq__msg .x7-btn { min-height: 46px; padding: 0 16px; }
.x7 .x7-faq__msg .x7-f { color: var(--navy); }
.x7 .x7-acc { border-top: 1px solid var(--hair); }
.x7 .x7-acc__i { border-bottom: 1px solid var(--hair); }
.x7 .x7-acc__h { font-size: inherit; font-weight: inherit; }
.x7 .x7-acc__h button { width: 100%; display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 20px 0; border: 0; background: transparent; text-align: left; font-size: 18px; line-height: 1.35; font-weight: 600; color: var(--gr); }
.x7 .x7-acc__h button:hover { color: var(--ink); }
.x7 .x7-acc__x { width: 36px; height: 36px; flex-shrink: 0; display: flex; align-items: center; justify-content: center; border-radius: 50%; background: var(--panel); color: var(--navy); transition: transform .25s var(--ease), background-color .2s; }
.x7 .x7-acc__i.is-open .x7-acc__x { transform: rotate(45deg); background: var(--navy); color: #fff; }
.x7 .x7-acc__b { padding: 0 56px 22px 0; }
.x7 .x7-acc__b p { font-size: 16px; line-height: 1.65; color: var(--mu); }

/* ---------- SEO ---------- */
.x7 .x7-seo { padding: 34px 36px; border-radius: 22px; background: var(--wash); }
.x7 .x7-seo h2 { margin-bottom: 12px; font-size: 20px; line-height: 1.3; font-weight: 700; }
.x7 .x7-seo p { max-width: 920px; font-size: 15px; line-height: 1.65; color: var(--mu); }
.x7 .x7-seo p + p { margin-top: 10px; }

/* Карточки преподавателей: ровная сетка, сверху два ключевых тезиса, остальное — под «Подробнее» (правка владельца 23.09). */
.x7 .x7-team { align-items: stretch; }
.x7 .x7-tm { display: flex; flex-direction: column; height: 100%; }
.x7 .x7-tm figcaption { flex: 1; display: flex; flex-direction: column; gap: 6px; padding-top: 14px; border-top: 1px solid var(--hair); }
.x7 .x7-tm__n { font-size: 19px; line-height: 1.25; font-weight: 700; }
.x7 .x7-tm__r { font-size: 13px; line-height: 1.2; font-weight: 600; letter-spacing: .04em; text-transform: uppercase; color: var(--ink); }
.x7 .x7-tm__l { list-style: none; margin: 8px 0 0; padding: 0; display: grid; gap: 7px; }
.x7 .x7-tm__l li { display: grid; grid-template-columns: 18px 1fr; gap: 8px; align-items: start; font-size: 14.5px; line-height: 1.45; color: var(--mu); }
.x7 .x7-tm__l li svg { margin-top: 3px; color: var(--teal); }
.x7 .x7-tm__d { margin-top: auto; padding-top: 12px; }
.x7 .x7-tm__d > summary { list-style: none; cursor: pointer; display: inline-flex; align-items: center; gap: 6px;
  font-size: 14px; font-weight: 600; color: var(--ink); }
.x7 .x7-tm__d > summary::-webkit-details-marker { display: none; }
.x7 .x7-tm__d > summary::after { content: ''; width: 7px; height: 7px; border-right: 2px solid currentColor; border-bottom: 2px solid currentColor;
  transform: rotate(45deg) translate(-2px, -2px); transition: transform .18s ease; }
.x7 .x7-tm__d[open] > summary::after { transform: rotate(-135deg) translate(-2px, -2px); }
.x7 .x7-tm__d[open] > summary { margin-bottom: 4px; }
.x7 .x7-tm__br { margin: 12px 0 0; padding: 10px 12px; border-radius: 12px; background: var(--chip); font-size: 14px; line-height: 1.45; color: var(--gy); }
.x7 .x7-tm__br b { font-size: 14px; font-weight: 700; color: var(--gr); }
@media (max-width: 1100px) { .x7 .x7-team { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 620px) { .x7 .x7-team { grid-template-columns: 1fr; } }

/* Карусель кадров «что внутри» — правка владельца 23.09: разборов должно быть больше, идут лентой. */
.x7 .x7-rail--sh { display: flex; gap: 20px; overflow-x: auto; scroll-snap-type: x mandatory;
  scroll-padding-left: 2px; padding-bottom: 6px; scrollbar-width: none; }
.x7 .x7-rail--sh::-webkit-scrollbar { display: none; }
.x7 .x7-kadr { flex: 0 0 clamp(280px, 36%, 460px); scroll-snap-align: start; border: 1px solid var(--hair);
  border-radius: var(--rc); background: #fff; overflow: hidden; display: flex; flex-direction: column; }
.x7 .x7-kadr__pic { position: relative; aspect-ratio: 4 / 3; flex: 0 0 auto; min-height: 0; overflow: hidden; background: var(--wash); }
.x7 .x7-kadr__pic img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: top center; }
.x7 .x7-kadr__pic--fit { background: #fff; }
.x7 .x7-kadr__pic--fit img { object-fit: contain; object-position: center; padding: 10px; }
.x7 .x7-kadr figcaption { padding: 14px 18px; border-top: 1px solid var(--hair2); display: grid; gap: 4px; }
.x7 .x7-kadr figcaption b { font-size: 15.5px; line-height: 1.3; }
.x7 .x7-kadr figcaption span { font-size: 14px; line-height: 1.45; color: var(--mu); }
@media (max-width: 620px) { .x7 .x7-kadr { flex-basis: 84%; } }

/* «Старт в любой день» + ближайший эфир — честная срочность на страницах программ (решение владельца 23.09). */
.x7 .x7-se { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; margin: 26px 0 0; }
.x7 .x7-se__i { display: flex; gap: 14px; align-items: flex-start; padding: 18px 20px; border-radius: var(--rc);
  background: var(--wash); border: 1px solid var(--hair); }
.x7 .x7-se__i > svg { flex: 0 0 26px; color: var(--ink); margin-top: 2px; }
.x7 .x7-se__i b { display: block; font-size: 16px; line-height: 1.3; margin-bottom: 4px; }
.x7 .x7-se__i b:last-child { margin-bottom: 0; }
.x7 .x7-se__i span { font-size: 14.5px; line-height: 1.5; color: var(--mu); }
@media (max-width: 760px) { .x7 .x7-se { grid-template-columns: 1fr; } }

/* Карусель курсов библиотеки Братства автоэлектриков (правка владельца 23.09). */
.x7 .x7-rail--lib { display: flex; gap: 20px; overflow-x: auto; scroll-snap-type: x mandatory; padding-bottom: 6px; scrollbar-width: none; }
.x7 .x7-rail--lib::-webkit-scrollbar { display: none; }
.x7 .x7-lc { flex: 0 0 clamp(260px, 30%, 360px); scroll-snap-align: start; border: 1px solid var(--hair);
  border-radius: var(--rc); background: #fff; overflow: hidden; display: flex; flex-direction: column; }
.x7 .x7-lc__pic { aspect-ratio: 3 / 2; background: #fff; }
.x7 .x7-lc__pic img { width: 100%; height: 100%; object-fit: contain; padding: 14px 16px; }
.x7 .x7-lc__b { padding: 0 18px 18px; display: grid; gap: 6px; align-content: start; }
.x7 .x7-lc__n { font-size: 12.5px; font-weight: 600; color: var(--ink); text-transform: uppercase; letter-spacing: .04em; }
.x7 .x7-lc__t { margin: 0; font-size: 17px; line-height: 1.3; }
.x7 .x7-lc__d { margin: 0; font-size: 14.5px; line-height: 1.45; color: var(--mu); }
@media (max-width: 620px) { .x7 .x7-lc { flex-basis: 78%; } }

/* Отступ между соседними блоками, чтобы карточки не наезжали на блок выше. */
.x7 .x7-gap { margin-top: 32px; }

/* Кадр с эфира в первом экране: кнопка play поверх фото (правка владельца 23.09). */
.x7 .x7-hero__pic--play { position: relative; }
.x7 .x7-hero__pic--play .x7-efp__play { position: absolute; inset: 0; margin: auto; width: 72px; height: 72px;
  display: flex; align-items: center; justify-content: center; border-radius: 50%; background: rgba(255,255,255,.92);
  color: #0d2030; box-shadow: 0 10px 30px rgba(0,0,0,.28); }
.x7 .x7-hero__pic--play .x7-efp__play svg { margin-left: 4px; }
.x7 .x7-hero__pic--play .x7-efp__cap { position: absolute; left: 14px; right: 14px; bottom: 14px; padding: 8px 12px;
  border-radius: 12px; background: rgba(8,24,38,.78); color: #fff; font-size: 13px; line-height: 1.3; }

/* Разбор вашей ситуации — строка условий и кнопка под карточками */
.x7 .x7-rzf { display: flex; flex-wrap: wrap; gap: 10px 26px; margin: 22px 0 0; padding: 18px 22px;
  border: 1px solid var(--hair); border-radius: var(--rc); background: var(--wash); }
.x7 .x7-rzf li { display: flex; align-items: center; gap: 10px; font-size: 15px; line-height: 1.4; color: var(--ink); }
.x7 .x7-rzf li svg { flex: 0 0 20px; color: var(--teal); }
.x7 .x7-rzb__act { margin-top: 22px; }
@media (max-width: 767px) {
  .x7 .x7-rzf { flex-direction: column; gap: 12px; padding: 16px 18px; }
  .x7 .x7-rzf li { font-size: 14.5px; }
}

/* Кадр с эфира в блоке симулятора — та же кнопка play, что в первых экранах */
.x7 .x7-sim__pic--play { position: relative; }
.x7 .x7-sim__pic--play .x7-efp__play { position: absolute; inset: 0; margin: auto; width: 72px; height: 72px;
  display: flex; align-items: center; justify-content: center; border-radius: 50%; background: rgba(255,255,255,.92);
  color: #0d2030; box-shadow: 0 10px 30px rgba(0,0,0,.28); }
.x7 .x7-sim__pic--play .x7-efp__play svg { margin-left: 4px; }
.x7 .x7-sim__pic--play .x7-efp__cap { position: absolute; left: 14px; right: 14px; bottom: 14px; padding: 8px 12px;
  border-radius: 12px; background: rgba(8,24,38,.78); color: #fff; font-size: 13px; line-height: 1.3; }

.x7 .x7-sim__pic { position: relative; }

/* ================== каталог курсов ================== */
.x7 .x7-kh { margin-top: 22px; }
.x7 .x7-crumbs { display: flex; align-items: center; gap: 8px; font-size: 14px; font-weight: 500; color: var(--mu); }
.x7 .x7-crumbs a:hover { color: var(--ink); }
.x7 .x7-crumbs span[aria-hidden] { color: #9AA4AF; }
.x7 .x7-kh__row { display: flex; align-items: flex-end; justify-content: space-between; gap: 32px; margin-top: 14px; }
.x7 .x7-kh__t { display: flex; flex-direction: column; gap: 12px; }
.x7 .x7-kh__h { font-size: 48px; line-height: 1.06; font-weight: 700; letter-spacing: -.028em; color: var(--gr); }
.x7 .x7-kh__lead { max-width: 760px; font-size: 17.5px; line-height: 1.55; color: var(--mu); }
.x7 .x7-kh__test { flex: 0 0 auto; max-width: 400px; display: flex; align-items: center; gap: 14px; padding: 16px 20px; border: 1px solid var(--hair); border-radius: 18px; background: #fff; transition: border-color .2s, box-shadow .2s; }
.x7 .x7-kh__test:hover { border-color: #C9D6DF; box-shadow: var(--shadow); }
.x7 .x7-kh__test > .x7-i:first-child { color: var(--ink); }
.x7 .x7-kh__test span { display: flex; flex-direction: column; gap: 2px; font-size: 14px; line-height: 1.4; color: var(--mu); }
.x7 .x7-kh__test b { font-size: 15.5px; color: var(--gr); }
.x7 .x7-kh__test > .x7-i:last-child { color: var(--ink); }
.x7 .x7-ktool { display: flex; align-items: center; gap: 16px 20px; flex-wrap: wrap; margin-top: 26px; }
.x7 .x7-kfind { flex: 1 1 420px; display: flex; height: 54px; min-width: 0; }
.x7 .x7-kfind__f { flex: 1; min-width: 0; display: flex; align-items: center; gap: 10px; padding: 0 16px; border: 1.5px solid var(--edge); border-right: 0; border-radius: var(--r) 0 0 var(--r); background: #fff; color: var(--gy); cursor: text; transition: border-color .2s var(--ease); }
.x7 .x7-kfind__f:focus-within { border-color: var(--navy); }
.x7 .x7-kfind input { flex: 1; min-width: 0; height: 100%; border: 0; outline: 0; background: transparent; font-size: 16px; font-weight: 500; color: var(--gr); }
.x7 .x7-kfind input::placeholder { color: #6B7482; opacity: 1; }
.x7 .x7-kfind__go { flex-shrink: 0; padding: 0 28px; border: 0; border-radius: 0 var(--r) var(--r) 0; background: var(--navy); color: #fff; font-size: 16px; font-weight: 600; }
.x7 .x7-kfind__go:hover { background: #163A5C; }
.x7 .x7-kf { display: flex; flex-wrap: wrap; gap: 8px; }
.x7 .x7-kf__b { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; padding: 0 16px; border: 1.5px solid var(--hair); border-radius: 100px; background: #fff; font-size: 14.5px; font-weight: 600; color: var(--gr); transition: border-color .2s, background-color .2s, color .2s; }
.x7 .x7-kf__b .x7-i { color: var(--ink); }
.x7 .x7-kf__b:hover { border-color: var(--navy); }
.x7 .x7-kf__b.is-on { border-color: var(--navy); background: var(--navy); color: #fff; }
.x7 .x7-kf__b.is-on .x7-i { color: var(--tod); }
.x7 .x7-kres { min-height: 22px; margin-top: 12px; font-size: 14.5px; font-weight: 500; color: var(--mu); }

.x7 .x7-kl { display: grid; grid-template-columns: 280px minmax(0, 1fr); gap: 32px; align-items: start; margin-top: 18px; }
.x7 .x7-ks { position: sticky; top: calc(var(--hd) + 18px); display: flex; flex-direction: column; gap: 14px; }
.x7 .x7-ks__nav { display: flex; flex-direction: column; padding: 6px 16px; border: 1px solid var(--hair); border-radius: var(--rc); background: #fff; }
.x7 .x7-ks__i { position: relative; display: flex; align-items: center; gap: 12px; min-height: 56px; border-bottom: 1px solid var(--hair2); font-size: 15.5px; font-weight: 500; line-height: 1.25; color: var(--gr); }
.x7 .x7-ks__i:last-child { border-bottom: 0; }
.x7 .x7-ks__i img { width: 36px; height: 36px; object-fit: contain; flex-shrink: 0; }
.x7 .x7-ks__i span { flex: 1; }
.x7 .x7-ks__i em { font-style: normal; font-size: 13px; font-weight: 600; color: var(--gy); }
.x7 .x7-ks__i:hover { color: var(--ink); }
.x7 .x7-ks__i.is-cur { color: var(--ink); font-weight: 700; }
.x7 .x7-ks__i.is-cur::before { content: ""; position: absolute; left: -16px; top: 12px; bottom: 12px; width: 3px; border-radius: 0 3px 3px 0; background: var(--teal); }
.x7 .x7-ks__i.is-empty { opacity: .45; }
.x7 .x7-ks__help { display: flex; flex-direction: column; gap: 8px; padding: 18px; border-radius: 18px; background: var(--panel); }
.x7 .x7-ks__help b { font-size: 15.5px; }
.x7 .x7-ks__help p { font-size: 14px; line-height: 1.5; color: var(--mu); }
.x7 .x7-ks__msg { display: flex; gap: 8px; margin-top: 4px; }
.x7 .x7-ks__msg a { flex: 1; display: inline-flex; align-items: center; justify-content: center; gap: 6px; min-height: 42px; border: 1.5px solid var(--edge); border-radius: 10px; background: #fff; font-size: 14px; font-weight: 600; color: var(--navy); }
.x7 .x7-ks__msg a:hover { border-color: var(--navy); }

.x7 .x7-km { min-width: 0; }
.x7 .x7-ksec { scroll-margin-top: calc(var(--hd) + 20px); }
.x7 .x7-ksec + .x7-ksec { margin-top: 56px; }
.x7 .x7-ksec__h { display: flex; flex-direction: column; gap: 8px; margin-bottom: 20px; }
.x7 .x7-h2--k { font-size: 30px; letter-spacing: -.02em; }
.x7 .x7-ksec__h .x7-sub { font-size: 16px; }

.x7 .x7-pcs { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }
.x7 .x7-pc { display: flex; flex-direction: column; padding: 16px 18px 18px; border: 1px solid var(--hair); border-radius: var(--rc); background: #fff; transition: border-color .25s var(--ease), box-shadow .25s var(--ease); }
.x7 .x7-pc:hover { border-color: #D5DEE4; box-shadow: var(--shadow); }
.x7 .x7-pc__top { display: flex; align-items: center; flex-wrap: wrap; gap: 6px 8px; min-height: 26px; }
.x7 .x7-pc__meta { margin-left: auto; font-size: 13px; font-weight: 600; color: var(--gy); }
.x7 .x7-badge { display: inline-flex; align-items: center; min-height: 26px; padding: 3px 10px; border-radius: 100px; font-size: 12px; font-weight: 700; line-height: 1.3; }
.x7 .x7-badge--free { background: var(--ink); color: #fff; }
.x7 .x7-badge--brat { background: var(--navy); color: #fff; }
.x7 .x7-pc__img { height: 196px; display: flex; align-items: center; justify-content: center; margin: 10px 0 4px; overflow: hidden; border-radius: 14px; background: #fff; }
.x7 .x7-pc__img--contain img { max-height: 188px; width: auto; max-width: 100%; object-fit: contain; }
.x7 .x7-pc__img--icon img { width: 168px; height: 168px; object-fit: contain; }
.x7 .x7-pc__img--cover img { width: 100%; height: 100%; object-fit: cover; }
.x7 .x7-pc__h { margin-top: 10px; font-size: 18.5px; line-height: 1.3; font-weight: 700; letter-spacing: -.005em; }
.x7 .x7-pc__h a:hover { color: var(--ink); }
.x7 .x7-pc__p { margin-top: 8px; flex: 1; font-size: 14.5px; line-height: 1.5; color: var(--mu); }
.x7 .x7-pc__ft { display: flex; flex-direction: column; align-items: stretch; gap: 12px; margin-top: 16px; padding-top: 14px; border-top: 1px solid var(--hair2); }
.x7 .x7-pc__ft .x7-btn { width: 100%; }
.x7 .x7-pc__pr { min-height: 30px; display: flex; flex-direction: column; justify-content: center; gap: 2px; }
.x7 .x7-price { display: flex; align-items: baseline; flex-wrap: wrap; column-gap: 10px; }
.x7 .x7-price b { font-size: 22px; font-weight: 700; letter-spacing: -.01em; color: var(--gr); }
.x7 .x7-price s { font-size: 14.5px; font-weight: 500; color: var(--gy); }
.x7 .x7-price--note { flex-direction: column; align-items: flex-start; gap: 2px; }
.x7 .x7-price--note b { font-size: 16px; line-height: 1.3; letter-spacing: 0; }
.x7 .x7-price--note .x7-st { font-size: 13.5px; }

.x7 .x7-bks { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 18px; }
.x7 .x7-bk { display: flex; flex-direction: column; padding: 14px 14px 16px; border: 1px solid var(--hair); border-radius: 18px; background: #fff; transition: border-color .25s var(--ease), box-shadow .25s var(--ease); }
.x7 .x7-bk:hover { border-color: #D5DEE4; box-shadow: var(--shadow); }
.x7 .x7-bk__a { display: flex; flex-direction: column; gap: 12px; }
.x7 .x7-bk__pic { height: 196px; display: flex; align-items: center; justify-content: center; border-radius: 12px; background: var(--panel); overflow: hidden; }
.x7 .x7-bk__pic img { max-height: 176px; width: auto; max-width: 92%; object-fit: contain; }
.x7 .x7-bk__pic--gen { background: var(--panel); }
.x7 .x7-bk__cov { position: relative; width: 118px; height: 166px; display: flex; flex-direction: column; justify-content: space-between; padding: 14px 12px 12px 18px; border-radius: 4px 10px 10px 4px; background: linear-gradient(160deg, #1A3E62 0%, #0F2A44 70%); color: #fff; box-shadow: 0 14px 24px -14px rgba(15, 42, 68, .7); }
.x7 .x7-bk__cov::before { content: ""; position: absolute; left: 6px; top: 0; bottom: 0; width: 2px; background: rgba(127, 224, 223, .55); }
.x7 .x7-bk__brand { font-size: 9px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--tod); }
.x7 .x7-bk__ct { font-size: 10.5px; line-height: 1.3; font-weight: 700; overflow-wrap: break-word; -webkit-hyphens: auto; hyphens: auto; overflow: hidden; }
.x7 .x7-bk__t { font-size: 15.5px; line-height: 1.35; font-weight: 700; color: var(--gr); }
.x7 .x7-bk__a:hover .x7-bk__t { color: var(--ink); }
.x7 .x7-bk__d { margin-top: 6px; flex: 1; font-size: 13.5px; line-height: 1.45; color: var(--mu); }
.x7 .x7-bk__pr { display: flex; align-items: baseline; gap: 8px; margin-top: 12px; }
.x7 .x7-bk__pr b { font-size: 17px; font-weight: 700; color: var(--gr); }
.x7 .x7-bk__pr s { font-size: 13.5px; color: var(--gy); }
.x7 .x7-bk__pr--free b { color: var(--ink); }

.x7 .x7-kb { padding: 44px; }
.x7 .x7-kb .x7-dark__c1 { right: -200px; top: -260px; }
.x7 .x7-kb .x7-dark__c2 { left: -130px; bottom: -170px; }
.x7 .x7-kb__h { display: flex; flex-direction: column; align-items: flex-start; gap: 14px; max-width: 760px; }
.x7 .x7-kb__h p { font-size: 16.5px; line-height: 1.6; color: rgba(255, 255, 255, .84); }
.x7 .x7-kb__g { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; margin-top: 28px; }
.x7 .x7-kb__i { display: flex; flex-direction: column; gap: 8px; padding: 20px; border: 1px solid rgba(255, 255, 255, .14); border-radius: 18px; background: rgba(255, 255, 255, .05); }
.x7 a.x7-kb__i:hover { background: rgba(255, 255, 255, .09); border-color: rgba(255, 255, 255, .3); }
.x7 .x7-kb__t { font-size: 16.5px; font-weight: 700; color: #fff; }
.x7 .x7-kb__d { flex: 1; font-size: 14px; line-height: 1.5; color: rgba(255, 255, 255, .78); }
.x7 .x7-kb__v { margin-top: 6px; font-size: 20px; line-height: 1.2; font-weight: 700; color: var(--tod); }
.x7 .x7-kb__act { display: flex; align-items: center; flex-wrap: wrap; gap: 14px 24px; margin-top: 26px; }
.x7 .x7-kb__act span { font-size: 15px; color: rgba(255, 255, 255, .82); }

.x7 .x7-kempty { display: flex; flex-direction: column; align-items: center; gap: 10px; margin-bottom: 32px; padding: 40px 24px; border-radius: 22px; background: var(--panel); text-align: center; }
.x7 .x7-kempty b { font-size: 21px; }
.x7 .x7-kempty p { max-width: 520px; font-size: 15.5px; line-height: 1.55; color: var(--mu); }
.x7 .x7-kempty a { color: var(--ink); font-weight: 600; text-decoration: underline; text-underline-offset: 3px; }
.x7 .x7-kempty .x7-btn { margin-top: 8px; }
.x7 .x7-is-off { display: none !important; }

/* Рассрочка в карточке каталога — зелёная строка с точкой, мельче основного текста (правка владельца 23.09). */
.x7 .x7-price--ras b { font-size: 14px; font-weight: 600; color: var(--ink); display: inline-flex; align-items: center; gap: 7px; }
.x7 .x7-price--ras b::before { content: ''; width: 6px; height: 6px; border-radius: 50%; background: currentColor; flex: 0 0 6px; }

/* ================== адаптив ================== */
@media (max-width: 1279px) {
  .x7 .x7-hd__in { gap: 20px; }
  .x7 .x7-logo__img { width: 200px; }
  .x7 .x7-nav__a { padding: 0 9px; font-size: 15px; }
  .x7 .x7-hd__cta { padding: 0 20px; }
  .x7 .x7-h1__big { font-size: 50px; }
  .x7 .x7-hero__txt { padding: 54px 8px 52px 48px; }
  .x7 .x7-proof__i { padding: 0 16px; font-size: 14.5px; }
  .x7 .x7-catband { grid-template-columns: auto minmax(0, 1fr) auto; }
  .x7 .x7-catband__chips { grid-column: 1 / -1; grid-row: 2; }
  .x7 .x7-kb__g { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 1199px) {
  .x7 { --hd: 68px; }
  .x7 .x7-top, .x7 .x7-nav { display: none; }
  .x7 .x7-hd__in { justify-content: space-between; }
  .x7 .x7-logo__tag { display: none; }
  .x7 .x7-logo__img { width: 190px; }
  .x7 .x7-burger { display: flex; align-items: center; justify-content: center; width: 48px; height: 48px; margin-right: -6px; padding: 0; border: 0; background: transparent; color: var(--gr); }
  .x7 .x7-h1__big { font-size: 46px; }
  .x7 .x7-steps { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .x7 .x7-step:not(:last-child)::after { display: none; }
  .x7 .x7-fmt, .x7 .x7-free { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .x7 .x7-tl { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .x7 .x7-tl__i--now { grid-column: span 3; }
  .x7 .x7-faq { grid-template-columns: minmax(0, 1fr); gap: 28px; }
  .x7 .x7-faq__l { position: static; }
  .x7 .x7-call { grid-template-columns: minmax(0, 1fr); padding: 44px 40px; }
  .x7 .x7-rail { grid-auto-columns: calc((100% - 48px) / 3); }
  .x7 .x7-kh__row { flex-direction: column; align-items: flex-start; gap: 18px; }
  .x7 .x7-pcs { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .x7 .x7-bks { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 1023px) {
  .x7 .x7-sec { margin-top: 80px; }
  .x7 .x7-h2 { font-size: 34px; }
  .x7 .x7-hero { grid-template-columns: minmax(0, 1fr); min-height: 0; }
  .x7 .x7-hero__txt { padding: 44px 40px 8px; }
  .x7 .x7-hero__pic { padding: 8px 40px 36px; }
  .x7 .x7-hero__pic img { max-width: 520px; }
  .x7 .x7-hero__c1 { left: -160px; top: auto; bottom: -260px; }
  .x7 .x7-proof { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px 0; padding: 18px 8px; }
  .x7 .x7-proof__i:nth-child(3) { border-left: 0; }
  .x7 .x7-fork { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .x7 .x7-pgs { grid-template-columns: minmax(0, 1fr); }
  .x7 .x7-lvs { grid-template-columns: minmax(0, 1fr); }
  .x7 .x7-lv { display: grid; grid-template-columns: minmax(0, 42%) minmax(0, 1fr); }
  .x7 .x7-lv__pic { aspect-ratio: auto; min-height: 100%; }
  .x7 .x7-lv__n { left: auto; right: -24px; top: 24px; bottom: auto; }
  .x7 .x7-lv__b { padding: 28px 28px 24px 44px; }
  .x7 .x7-sim { grid-template-columns: minmax(0, 1fr); }
  .x7 .x7-sim__txt { padding: 40px 36px 8px; }
  .x7 .x7-sim__pic { padding: 8px 36px 36px; }
  .x7 .x7-sim__pic img { max-width: 440px; }
  .x7 .x7-br { grid-template-columns: minmax(0, 1fr); padding: 40px; }
  .x7 .x7-br__pic img { max-width: 420px; }
  .x7 .x7-br__c { right: 50%; top: auto; bottom: -300px; margin: 0 -280px 0 0; }
  .x7 .x7-who { grid-template-columns: minmax(0, 1fr); }
  .x7 .x7-doc { display: grid; grid-template-columns: 150px minmax(0, 1fr); gap: 18px; align-items: center; max-width: 560px; }
  .x7 .x7-doc figcaption { margin-top: 0; }
  .x7 .x7-tl { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .x7 .x7-tl__i--now { grid-column: span 2; }
  /* каталог: разделы — лентой под шапкой */
  .x7 .x7-kl { grid-template-columns: minmax(0, 1fr); gap: 8px; }
  .x7 .x7-ks { position: sticky; top: var(--hd); z-index: 40; margin: 0 -24px; padding: 10px 24px; background: rgba(255, 255, 255, .97); -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px); border-bottom: 1px solid var(--hair2); }
  .x7 .x7-ks__nav { flex-direction: row; gap: 8px; padding: 0; border: 0; border-radius: 0; overflow-x: auto; scrollbar-width: none; }
  .x7 .x7-ks__nav::-webkit-scrollbar { display: none; }
  .x7 .x7-ks__i { flex-shrink: 0; min-height: 44px; gap: 8px; padding: 0 14px 0 8px; border: 1.5px solid var(--hair); border-radius: 100px; font-size: 14.5px; white-space: nowrap; }
  .x7 .x7-ks__i:last-child { border-bottom: 1.5px solid var(--hair); }
  .x7 .x7-ks__i img { width: 28px; height: 28px; }
  .x7 .x7-ks__i.is-cur { border-color: var(--navy); background: var(--navy); color: #fff; }
  .x7 .x7-ks__i.is-cur::before { display: none; }
  .x7 .x7-ks__i.is-cur em { color: var(--tod); }
  .x7 .x7-ks__help { display: none; }
  .x7 .x7-ksec { scroll-margin-top: calc(var(--hd) + 80px); }
}
@media (max-width: 767px) {
  .x7 { font-size: 15px; --hd: 60px; }
  .x7 .x7-w { padding: 0 16px; }
  .x7 .x7-logo__img { width: 166px; }
  .x7 .x7-hd__act { gap: 6px; }
  .x7 .x7-hd__cta { display: none; }
  .x7 .x7-sbtn { width: 44px; height: 44px; }
  .x7 .x7-sd { padding: 12px; }
  .x7 .x7-sd__box { padding: 10px; border-radius: 18px; }
  .x7 .x7-find { height: 50px; gap: 6px; }
  .x7 .x7-find__go { padding: 0 14px; font-size: 15px; }
  .x7 .x7-sd__x { width: 50px; }
  .x7 .x7-res { max-height: calc(100vh - 110px); }
  .x7 .x7-dr { padding: 0 16px 28px; }
  .x7 .x7-dr__top { margin: 0 -16px 6px; padding: 0 10px 0 16px; }
  .x7 .x7-sec { margin-top: 64px; }
  .x7 .x7-sh { flex-direction: column; align-items: flex-start; gap: 10px; margin-bottom: 22px; }
  .x7 .x7-sh__l { gap: 10px; }
  .x7 .x7-h2 { font-size: 27px; letter-spacing: -.02em; }
  .x7 .x7-sub { font-size: 15.5px; }
  .x7 .x7-more { min-height: 36px; }
  .x7 .x7-eye { font-size: 12px; }
  .x7 .x7-hero-s { margin-top: 10px; }
  .x7 .x7-hero { border-radius: 22px; }
  .x7 .x7-hero__txt { gap: 16px; padding: 28px 20px 4px; }
  .x7 .x7-h1 { gap: 12px; }
  .x7 .x7-h1__over { font-size: 14px; }
  .x7 .x7-h1__big { font-size: 35px; line-height: 1.06; letter-spacing: -.024em; }
  .x7 .x7-hero__lead { font-size: 15.5px; }
  .x7 .x7-hero__act { flex-direction: column; align-self: stretch; gap: 10px; }
  .x7 .x7-hero__act .x7-btn { width: 100%; min-height: 52px; }
  .x7 .x7-hero__ticks { flex-direction: column; gap: 8px; }
  .x7 .x7-hero__ticks li { font-size: 14px; }
  .x7 .x7-hero__pic { padding: 4px 20px 20px; }
  .x7 .x7-hero__pic img { max-width: 340px; }
  .x7 .x7-hero__c2 { right: -110px; top: -120px; width: 240px; height: 240px; border-width: 36px; }
  .x7 .x7-hero__c3 { display: none; }
  .x7 .x7-proof { gap: 8px; padding: 0; background: none; border-radius: 0; margin-top: 10px; }
  .x7 .x7-proof__i { flex-direction: column; align-items: flex-start; gap: 8px; padding: 14px; border-radius: 16px; background: var(--panel); font-size: 13.5px; }
  .x7 .x7-proof__i + .x7-proof__i { border-left: 0; }
  .x7 .x7-proof__i .x7-i { width: 26px; height: 26px; }
  .x7 .x7-proof__i b { display: block; font-size: 15px; }
  .x7 .x7-fork { grid-template-columns: minmax(0, 1fr); gap: 12px; }
  .x7 .x7-fk { min-height: 0; padding: 20px; border-radius: 18px; }
  .x7 .x7-fk__t { margin-top: 14px; font-size: 19px; }
  .x7 .x7-fk__s { font-size: 14.5px; }
  .x7 .x7-fk__go { margin-top: 14px; padding-top: 12px; }
  .x7 .x7-fk__p { font-size: 16.5px; }
  .x7 .x7-fstrip { flex-direction: column; align-items: flex-start; gap: 14px; padding: 18px; }
  .x7 .x7-fstrip__t { align-items: flex-start; font-size: 14.5px; }
  .x7 .x7-fstrip__a { flex-wrap: wrap; gap: 8px 18px; }
  .x7 .x7-pg { padding: 18px; border-radius: 18px; }
  .x7 .x7-pg--main .x7-pg__img { height: 190px; }
  .x7 .x7-pg--main .x7-pg__h { font-size: 24px; }
  .x7 .x7-pg--main .x7-pg__p { font-size: 15px; }
  .x7 .x7-ck--2 { grid-template-columns: minmax(0, 1fr); }
  .x7 .x7-pg__ft { flex-direction: column; align-items: flex-start; }
  .x7 .x7-pg__btns { width: 100%; flex-direction: column; }
  .x7 .x7-pg__btns .x7-btn { width: 100%; }
  .x7 .x7-pg--s { grid-template-columns: minmax(0, 1fr); gap: 4px; padding: 16px 18px 18px; }
  .x7 .x7-pg__pic img { max-height: 170px; width: auto; margin: 0 auto; }
  .x7 .x7-pg--s .x7-pg__ft { flex-direction: row; align-items: center; justify-content: space-between; }
  .x7 .x7-catband { grid-template-columns: auto minmax(0, 1fr); gap: 14px; padding: 18px; border-radius: 18px; }
  .x7 .x7-catband__ic { width: 48px; height: 48px; border-radius: 14px; }
  .x7 .x7-catband__t b { font-size: 18px; }
  .x7 .x7-catband__t span { font-size: 14px; }
  .x7 .x7-catband__chips { grid-column: 1 / -1; grid-row: auto; }
  .x7 .x7-catband__btn { grid-column: 1 / -1; width: 100%; }
  .x7 .x7-lv { display: flex; border-radius: 18px; }
  .x7 .x7-lv__pic { aspect-ratio: 16 / 10; min-height: 0; }
  .x7 .x7-lv__n { left: 18px; right: auto; top: auto; bottom: -22px; }
  .x7 .x7-lv__b { padding: 34px 18px 20px; }
  .x7 .x7-lv__h { font-size: 20px; }
  .x7 .x7-lvs { gap: 12px; }
  .x7 .x7-steps { grid-template-columns: minmax(0, 1fr); gap: 10px; }
  .x7 .x7-step { display: grid; grid-template-columns: 40px minmax(0, 1fr); column-gap: 14px; row-gap: 4px; padding: 18px; border-radius: 18px; }
  .x7 .x7-step__n { grid-row: span 2; width: 40px; height: 40px; margin: 0; font-size: 15px; }
  .x7 .x7-step b { font-size: 17px; }
  .x7 .x7-step > span:last-child { font-size: 14.5px; }
  .x7 .x7-fmt { gap: 10px; margin-top: 10px; }
  .x7 .x7-fmt__i { padding: 16px; border-radius: 16px; }
  .x7 .x7-fmt__i b { font-size: 15.5px; }
  .x7 .x7-fmt__i span { font-size: 13.5px; }
  .x7 .x7-dark { border-radius: 22px; }
  .x7 .x7-sim { margin-top: 12px; }
  .x7 .x7-sim__txt { padding: 28px 20px 4px; gap: 14px; }
  .x7 .x7-sim__txt > p { font-size: 15.5px; }
  .x7 .x7-sim__pic { padding: 8px 20px 24px; }
  .x7 .x7-sim .x7-dark__c1 { right: -170px; top: auto; bottom: -250px; width: 520px; height: 520px; }
  .x7 .x7-sim .x7-dark__c2 { left: auto; right: -90px; top: -120px; bottom: auto; width: 220px; height: 220px; border-width: 32px; }
  .x7 .x7-team { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px 14px; }
  .x7 .x7-tm b { font-size: 16px; }
  .x7 .x7-tm span { font-size: 13.5px; }
  .x7 .x7-rh { margin: 0 0 12px; }
  .x7 .x7-rh h3 { font-size: 18px; }
  .x7 .x7-rh__nav { display: none; }
  .x7 .x7-hint { display: inline; }
  .x7 .x7-rail { grid-auto-columns: 78%; gap: 12px; margin: 0 -16px; padding: 0 16px 10px; scroll-padding: 0 16px; }
  .x7 .x7-shots { grid-template-columns: minmax(0, 1fr); gap: 12px; }
  .x7 .x7-br { padding: 28px 20px 12px; border-radius: 22px; gap: 8px; }
  .x7 .x7-br__lead { font-size: 15.5px; }
  .x7 .x7-br__stats { gap: 8px; }
  .x7 .x7-br__stats li { padding: 12px 14px; }
  .x7 .x7-br__stats b { font-size: 17px; }
  .x7 .x7-br__stats span { font-size: 13px; }
  .x7 .x7-br__terms p { font-size: 14.5px; }
  .x7 .x7-br__act { flex-direction: column; align-self: stretch; }
  .x7 .x7-br__act .x7-btn { width: 100%; }
  .x7 .x7-br__pic img { max-width: 320px; }
  .x7 .x7-doc { grid-template-columns: 110px minmax(0, 1fr); padding: 12px; gap: 14px; }
  .x7 .x7-who__lead { font-size: 16px; }
  .x7 .x7-tl { grid-template-columns: minmax(0, 1fr); gap: 8px; margin-top: 18px; }
  .x7 .x7-tl__i--now { grid-column: auto; }
  .x7 .x7-tl__i { flex-direction: row; gap: 14px; min-height: 0; padding: 14px 16px; }
  .x7 .x7-tl__y { flex: 0 0 104px; }
  .x7 .x7-tl__t { font-size: 14.5px; }
  .x7 .x7-legal span, .x7 .x7-legal a { min-height: 38px; font-size: 13.5px; }
  .x7 .x7-free { grid-template-columns: minmax(0, 1fr); gap: 10px; }
  .x7 .x7-fr { display: grid; grid-template-columns: 84px minmax(0, 1fr); column-gap: 14px; align-items: start; padding: 16px; border-radius: 18px; }
  .x7 .x7-fr__pic { grid-row: span 3; height: 84px; margin: 0; }
  .x7 .x7-fr__pic img { max-height: 84px; }
  .x7 .x7-fr__t { font-size: 17px; }
  .x7 .x7-fr__d { font-size: 14px; }
  .x7 .x7-fr__go { margin-top: 8px; }
  .x7 .x7-acc__h button { padding: 16px 0; font-size: 16.5px; gap: 14px; }
  .x7 .x7-acc__x { width: 32px; height: 32px; }
  .x7 .x7-acc__b { padding: 0 0 18px; }
  .x7 .x7-acc__b p { font-size: 15px; }
  .x7 .x7-call { padding: 28px 20px 20px; gap: 24px; }
  .x7 .x7-call__ct { grid-template-columns: minmax(0, 1fr); gap: 10px; }
  .x7 .x7-call__form .form { padding: 22px 18px; }
  .x7 .x7-call__form .form--2 { grid-template-columns: minmax(0, 1fr); }
  .x7 .x7-seo { padding: 22px 18px; }
  .x7 .x7-seo h2 { font-size: 17px; }
  .x7 .x7-seo p { font-size: 14.5px; }
  /* каталог */
  .x7 .x7-kh { margin-top: 14px; }
  .x7 .x7-kh__h { font-size: 34px; }
  .x7 .x7-kh__lead { font-size: 15.5px; }
  .x7 .x7-kh__test { max-width: none; width: 100%; padding: 14px 16px; }
  .x7 .x7-ktool { margin-top: 18px; gap: 12px; }
  .x7 .x7-kfind { flex-basis: 100%; height: 50px; }
  .x7 .x7-kfind__go { padding: 0 16px; font-size: 15px; }
  .x7 .x7-kf { flex-wrap: nowrap; overflow-x: auto; margin: 0 -16px; padding: 0 16px 4px; scrollbar-width: none; }
  .x7 .x7-kf::-webkit-scrollbar { display: none; }
  .x7 .x7-kf__b { flex-shrink: 0; min-height: 42px; padding: 0 14px; font-size: 14px; }
  .x7 .x7-ks { margin: 0 -16px; padding: 8px 16px; }
  .x7 .x7-ksec + .x7-ksec { margin-top: 44px; }
  .x7 .x7-h2--k { font-size: 24px; }
  .x7 .x7-ksec__h .x7-sub { font-size: 14.5px; }
  .x7 .x7-pcs { grid-template-columns: minmax(0, 1fr); gap: 12px; }
  .x7 .x7-pc { display: grid; grid-template-columns: 104px minmax(0, 1fr); column-gap: 14px; align-items: start; padding: 14px; border-radius: 18px; }
  .x7 .x7-pc__top { grid-column: 1 / -1; }
  .x7 .x7-pc__img { grid-row: span 2; height: 104px; margin: 12px 0 0; border-radius: 12px; }
  .x7 .x7-pc__img--contain img { max-height: 100px; }
  .x7 .x7-pc__img--icon img { width: 100px; height: 100px; }
  .x7 .x7-pc__h { margin-top: 12px; font-size: 16.5px; }
  .x7 .x7-pc__p { margin-top: 6px; font-size: 14px; display: -webkit-box; -webkit-line-clamp: 4; -webkit-box-orient: vertical; overflow: hidden; }
  .x7 .x7-pc__ft { grid-column: 1 / -1; margin-top: 12px; padding-top: 12px; }
  .x7 .x7-price b { font-size: 19px; }
  .x7 .x7-bks { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
  .x7 .x7-bk { padding: 10px 10px 12px; border-radius: 16px; }
  .x7 .x7-bk__pic { height: 150px; }
  .x7 .x7-bk__pic img { max-height: 134px; }
  .x7 .x7-bk__cov { width: 92px; height: 130px; padding: 10px 8px 8px 14px; }
  .x7 .x7-bk__ct { font-size: 9.5px; }
  .x7 .x7-bk__t { font-size: 14px; }
  .x7 .x7-bk__d { font-size: 12.5px; }
  .x7 .x7-bk__pr b { font-size: 15.5px; }
  .x7 .x7-kb { padding: 28px 20px; }
  .x7 .x7-kb__g { grid-template-columns: minmax(0, 1fr); gap: 10px; margin-top: 20px; }
  .x7 .x7-kb__i { padding: 16px; }
  .x7 .x7-kb__act .x7-btn { width: 100%; }
}
@media (max-width: 380px) {
  .x7 .x7-logo__img { width: 150px; }
  .x7 .x7-h1__big { font-size: 31px; }
  .x7 .x7-h2 { font-size: 25px; }
  .x7 .x7-proof__i { padding: 12px; }
  .x7 .x7-dr__msg a { font-size: 13.5px; gap: 6px; }
  .x7 .x7-tl__y { flex-basis: 92px; }
  .x7 .x7-pc { grid-template-columns: 88px minmax(0, 1fr); }
  .x7 .x7-pc__img { height: 88px; }
  .x7 .x7-pc__img--contain img { max-height: 84px; }
  .x7 .x7-pc__img--icon img { width: 84px; height: 84px; }
  .x7 .x7-kh__h { font-size: 30px; }
}
@media (hover: none) {
  .x7 .x7-fk:hover, .x7 .x7-fr:hover { transform: none; }
}
@media (prefers-reduced-motion: reduce) {
  .x7 *, .x7 *::before, .x7 *::after { transition: none !important; animation: none !important; scroll-behavior: auto !important; }
}


/* ---------- оболочка сайта v7: подвал на пять колонок, текущий пункт меню ---------- */
.x7-ftr .x7-ftr__g { display: grid; gap: 36px 28px; padding-bottom: 52px; grid-template-columns: minmax(0, 1fr); }
.x7-ftr .ftr__txt { font-size: 15px; line-height: 1.6; color: rgba(255, 255, 255, .6); max-width: 34ch; }
.x7-ftr .ftr__req { margin-top: 18px; }
.x7-ftr .ftr__req li { margin-bottom: 6px; font-size: 14px; color: rgba(255, 255, 255, .55); }
.x7-ftr li a { transition: color .2s ease; }
@media (min-width: 560px) {
  .x7-ftr .x7-ftr__g { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .x7-ftr .ftr__brand { grid-column: 1 / -1; }
}
@media (min-width: 900px) {
  .x7-ftr .x7-ftr__g { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}
@media (min-width: 1200px) {
  .x7-ftr .x7-ftr__g { grid-template-columns: 1.45fr repeat(4, minmax(0, 1fr)); }
  .x7-ftr .ftr__brand { grid-column: auto; }
}
.x7 .x7-dd__i.is-cur b { color: var(--ink); }
.x7 .x7-dr__sub a.is-cur { color: var(--ink); font-weight: 700; }
@media (min-width: 360px) and (max-width: 559px) {
  .x7-ftr .x7-ftr__g { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 32px 20px; }
  .x7-ftr .ftr__brand, .x7-ftr .x7-ftr__g > div:last-child { grid-column: 1 / -1; }
}
@media (min-width: 560px) and (max-width: 899px) {
  .x7-ftr .x7-ftr__g > div:last-child { grid-column: 1 / -1; }
}


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

/* ---------- крошки со списком (микроразметка) ---------- */
.x7 .x7-crumbs--ol ol { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 8px; margin: 0; padding: 0; list-style: none; }
.x7 .x7-crumbs--ol li { display: inline-flex; align-items: center; gap: 8px; }
.x7 .x7-crumbs--ol li + li::before { content: "/"; color: #9AA4AF; }
.x7 .x7-crumbs--ol a:hover { color: var(--ink); }
.x7 .x7-crumbs--ol [aria-current] { color: var(--gr); }

/* ---------- первый экран внутренней страницы ---------- */
.x7 .x7-hero-s--pg { margin-top: 22px; }
.x7 .x7-hero-s--pg .x7-crumbs { margin-bottom: 16px; }
.x7 .x7-hero--pg { min-height: 480px; }
.x7 .x7-hero--pg .x7-hero__txt { padding: 56px 8px 52px 60px; gap: 20px; }
.x7 .x7-hero--pg .x7-h1__big { font-size: 50px; line-height: 1.06; }
.x7 .x7-hero--pg .x7-hero__lead { font-size: 17.5px; }
.x7 .x7-hero--nopic { grid-template-columns: minmax(0, 1fr); }
.x7 .x7-hero--nopic .x7-hero__txt { padding-right: 60px; max-width: 980px; }
.x7 .x7-hero__chip { display: inline-flex; align-items: center; gap: 8px; min-height: 30px; padding: 4px 14px; border-radius: 100px; background: rgba(127, 224, 223, .14); color: var(--tod); font-size: 13.5px; font-weight: 700; letter-spacing: .02em; }
.x7 .x7-proof--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.x7 .x7-proof--5 { grid-template-columns: repeat(5, minmax(0, 1fr)); }
.x7 .x7-proof--5 .x7-proof__i { padding: 0 18px; font-size: 15px; }

/* ---------- карточки с иконкой ---------- */
.x7 .x7-ics { display: grid; gap: 20px; }
.x7 .x7-ics--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.x7 .x7-ics--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.x7 .x7-ics--4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.x7 .x7-ic { display: flex; flex-direction: column; gap: 10px; padding: 26px 26px 24px; border: 1px solid var(--hair); border-radius: 22px; background: #fff; }
.x7 .x7-ics--soft .x7-ic { border-color: transparent; background: var(--panel); }
.x7 .x7-ic__top { display: flex; align-items: center; min-height: 28px; margin-bottom: 6px; color: var(--ink); }
.x7 .x7-ic__n { width: 42px; height: 42px; display: flex; align-items: center; justify-content: center; border-radius: 12px; background: var(--navy); color: #fff; font-size: 15px; font-weight: 700; }
.x7 .x7-ic__t { font-size: 20px; line-height: 1.25; font-weight: 700; letter-spacing: -.01em; color: var(--gr); }
.x7 .x7-ic__d { font-size: 15.5px; line-height: 1.55; color: var(--mu); }

/* ---------- сомнения: вопрос — честный ответ ---------- */
.x7 .x7-qa { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
.x7 .x7-qa__i { display: flex; flex-direction: column; gap: 12px; padding: 26px 28px; border-radius: 22px; background: var(--panel); }
.x7 .x7-qa__q { display: flex; align-items: flex-start; gap: 12px; font-size: 20px; line-height: 1.3; font-weight: 700; color: var(--gr); }
.x7 .x7-qa__q .x7-i { margin-top: 2px; color: var(--ink); }
.x7 .x7-qa__a { font-size: 15.5px; line-height: 1.6; color: var(--mu); padding-left: 36px; }

/* ---------- что получите: колонки ---------- */
.x7 .x7-oc { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
.x7 .x7-oc__c { display: flex; flex-direction: column; align-items: flex-start; gap: 12px; padding: 30px 30px 28px; border: 1px solid var(--hair); border-radius: 24px; background: #fff; }
.x7 .x7-oc__t { font-size: 24px; line-height: 1.2; font-weight: 700; letter-spacing: -.015em; color: var(--gr); }
.x7 .x7-oc__lead { font-size: 16px; line-height: 1.55; color: var(--mu); }
.x7 .x7-oc .x7-ck { margin-top: 4px; }
.x7 .x7-oc__act { margin-top: auto; padding-top: 10px; }

/* ---------- аккордеон шагов программы ---------- */
.x7 .x7-acc--steps .x7-acc__h button { justify-content: flex-start; }
.x7 .x7-acc__num { width: 40px; height: 40px; flex-shrink: 0; display: flex; align-items: center; justify-content: center; border-radius: 12px; background: var(--panel); color: var(--navy); font-size: 15px; font-weight: 700; }
.x7 .x7-acc__i.is-open .x7-acc__num { background: var(--navy); color: #fff; }
.x7 .x7-acc__tt { flex: 1; }
.x7 .x7-acc__tag { flex-shrink: 0; display: inline-flex; align-items: center; min-height: 26px; padding: 3px 11px; border-radius: 100px; background: var(--chip); color: var(--ink); font-size: 12.5px; font-weight: 600; }
.x7 .x7-acc__tag--plus { background: #FFF4E5; color: #8A4B00; }
.x7 .x7-acc--steps .x7-acc__b { padding-left: 60px; }
.x7 .x7-acc__b .x7-ck li { font-size: 15.5px; }
.x7 .x7-acc__b ul + p, .x7 .x7-acc__b p + ul, .x7 .x7-acc__b p + p { margin-top: 10px; }

/* ---------- связанные программы ---------- */
.x7 .x7-rls { display: grid; gap: 20px; }
.x7 .x7-rls--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.x7 .x7-rls--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.x7 .x7-rls--4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.x7 .x7-rl { display: flex; flex-direction: column; overflow: hidden; border: 1px solid var(--hair); border-radius: 22px; background: #fff; transition: border-color .25s var(--ease), box-shadow .25s var(--ease), transform .25s var(--ease); }
.x7 .x7-rl:hover { border-color: #C9D6DF; box-shadow: var(--shadow); transform: translateY(-3px); }
.x7 .x7-rl__pic { display: flex; align-items: center; justify-content: center; aspect-ratio: 16 / 10; background: #fff; overflow: hidden; }
/* предметная съёмка на светлом фоне — показываем целиком, не режем (правка владельца 23.09) */
.x7 .x7-rl__pic img { width: 100%; height: 100%; object-fit: contain; padding: 14px 16px; }
.x7 .x7-rl__b { display: flex; flex-direction: column; align-items: flex-start; gap: 10px; flex: 1; padding: 20px 22px 22px; }
.x7 .x7-rl__t { font-size: 19px; line-height: 1.25; font-weight: 700; color: var(--gr); }
.x7 .x7-rl__d { flex: 1; font-size: 15px; line-height: 1.5; color: var(--mu); }
.x7 .x7-rl__go { display: inline-flex; align-items: center; gap: 8px; font-size: 15.5px; font-weight: 600; color: var(--ink); }

/* ---------- картинка + текст ---------- */
.x7 .x7-split { display: grid; grid-template-columns: minmax(0, .95fr) minmax(0, 1.05fr); align-items: center; gap: 48px; }
.x7 .x7-split--soft { padding: 28px; border-radius: var(--rb); background: var(--wash); }
.x7 .x7-split--r .x7-split__pic { order: 2; }
.x7 .x7-split__pic img { width: 100%; border-radius: 20px; max-height: 520px; object-fit: cover; object-position: center; }
.x7 .x7-split__txt { display: flex; flex-direction: column; align-items: flex-start; gap: 16px; padding: 12px 20px 12px 0; }
.x7 .x7-split--r .x7-split__txt { padding: 12px 0 12px 20px; }
.x7 .x7-split__txt > p { font-size: 16.5px; line-height: 1.65; color: var(--mu); }
.x7 .x7-split__act { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 6px; }

/* ---------- тёмный блок без картинки ---------- */
.x7 .x7-dbox--nopic { grid-template-columns: minmax(0, 1fr); }
.x7 .x7-dbox--nopic .x7-sim__txt { padding-right: 56px; max-width: 1040px; }
.x7 .x7-dbox__act { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 8px; }
.x7 .x7-dbox .x7-ck--2 { margin-top: 4px; }

/* ---------- врезка ---------- */
.x7 .x7-note { display: flex; align-items: flex-start; gap: 14px; margin-top: 20px; padding: 18px 22px; border-left: 3px solid var(--teal); border-radius: 0 16px 16px 0; background: var(--wash); font-size: 15.5px; line-height: 1.6; color: var(--mu); }
.x7 .x7-note .x7-i { color: var(--ink); margin-top: 1px; }
.x7 .x7-note b { color: var(--gr); }

/* ---------- таблица ---------- */
.x7 .x7-tblhint { display: none; margin: 0 0 10px; font-size: 14px; color: var(--mu); align-items: center; gap: 6px; }
.x7 .x7-tblw { overflow-x: auto; border: 1px solid var(--hair); border-radius: 20px; -webkit-overflow-scrolling: touch; }
.x7 .x7-tbl { width: 100%; min-width: 640px; border-collapse: collapse; font-size: 15px; line-height: 1.45; }
.x7 .x7-tbl th, .x7 .x7-tbl td { padding: 14px 18px; border-bottom: 1px solid var(--hair2); text-align: left; vertical-align: top; }
.x7 .x7-tbl thead th { background: var(--panel); font-size: 13px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--gy); }
.x7 .x7-tbl tbody th { font-weight: 600; color: var(--gr); }
.x7 .x7-tbl td { color: var(--mu); }
.x7 .x7-tbl tr:last-child th, .x7 .x7-tbl tr:last-child td { border-bottom: 0; }
.x7 .x7-tbl .x7-y { color: var(--ink); font-weight: 700; }
.x7 .x7-tbl .x7-n { color: #9AA4AF; }

/* ---------- тарифы ---------- */
.x7 .x7-tfs { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; align-items: stretch; }
.x7 .x7-tf { position: relative; display: flex; flex-direction: column; gap: 14px; padding: 30px 28px 28px; border: 1px solid var(--hair); border-radius: 24px; background: #fff; }
.x7 .x7-tf--hit { border: 2px solid var(--navy); box-shadow: var(--shadow); }
.x7 .x7-tf__hit { position: absolute; top: -14px; left: 26px; display: inline-flex; align-items: center; min-height: 28px; padding: 4px 12px; border-radius: 100px; background: var(--navy); color: #fff; font-size: 12.5px; font-weight: 700; letter-spacing: .03em; }
.x7 .x7-tf__n { font-size: 26px; line-height: 1.15; font-weight: 700; letter-spacing: -.02em; color: var(--gr); }
.x7 .x7-tf__d { font-size: 15.5px; line-height: 1.55; color: var(--mu); }
.x7 .x7-tf__p { display: flex; flex-direction: column; gap: 4px; padding: 14px 0; border-top: 1px solid var(--hair2); border-bottom: 1px solid var(--hair2); }
.x7 .x7-tf__p b { font-size: 17px; color: var(--gr); }
.x7 .x7-tf .x7-ck { flex: 1; }
.x7 .x7-tf .x7-btn { margin-top: 6px; }
.x7 .x7-tfnote { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; margin-top: 20px; }

/* ---------- блоки текста для поиска ---------- */
.x7 .x7-seo--pg { padding: 40px 44px; }
.x7 .x7-seo--pg h2 { font-size: 26px; margin-bottom: 16px; }
.x7 .x7-seo--pg h3 { margin: 22px 0 10px; font-size: 19px; line-height: 1.3; font-weight: 700; color: var(--gr); }
.x7 .x7-seo--pg ul { display: flex; flex-direction: column; gap: 8px; margin: 12px 0; max-width: 920px; }
.x7 .x7-seo--pg ul li { position: relative; padding-left: 22px; font-size: 15px; line-height: 1.6; color: var(--mu); }
.x7 .x7-seo--pg ul li::before { content: ""; position: absolute; left: 4px; top: 10px; width: 7px; height: 7px; border-radius: 50%; background: var(--teal); }
.x7 .x7-seo--pg p + ul, .x7 .x7-seo--pg ul + p { margin-top: 10px; }
.x7 .x7-seo--pg a { color: var(--ink); text-decoration: underline; text-underline-offset: 2px; }

/* ---------- адаптив ---------- */
@media (max-width: 1199px) {
  .x7 .x7-hero--pg .x7-h1__big { font-size: 44px; }
  .x7 .x7-ics--4 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .x7 .x7-rls--4 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .x7 .x7-proof--5 { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px 0; }
}
@media (max-width: 1023px) {
  .x7 .x7-hero--pg .x7-hero__txt { padding: 44px 40px 20px; }
  .x7 .x7-hero--nopic .x7-hero__txt { padding-bottom: 44px; }
  .x7 .x7-hero--pg .x7-h1__big { font-size: 40px; }
  .x7 .x7-ics--3 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .x7 .x7-qa { grid-template-columns: minmax(0, 1fr); }
  .x7 .x7-oc { grid-template-columns: minmax(0, 1fr); }
  .x7 .x7-rls--3 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .x7 .x7-split { grid-template-columns: minmax(0, 1fr); gap: 24px; }
  .x7 .x7-split--r .x7-split__pic { order: 0; }
  .x7 .x7-split__txt, .x7 .x7-split--r .x7-split__txt { padding: 0; }
  .x7 .x7-tfs { grid-template-columns: minmax(0, 1fr); max-width: 640px; }
  .x7 .x7-tfnote { grid-template-columns: minmax(0, 1fr); }
  .x7 .x7-dbox--nopic .x7-sim__txt { padding: 44px 40px; }
}
@media (max-width: 767px) {
  .x7 .x7-hero-s--pg { margin-top: 12px; }
  .x7 .x7-hero-s--pg .x7-crumbs { margin-bottom: 12px; font-size: 13px; }
  .x7 .x7-hero--pg .x7-hero__txt { padding: 30px 22px 14px; gap: 16px; }
  .x7 .x7-hero--nopic .x7-hero__txt { padding-bottom: 30px; }
  .x7 .x7-hero--pg .x7-h1__big { font-size: 32px; }
  .x7 .x7-hero--pg .x7-hero__lead { font-size: 16px; }
  .x7 .x7-proof--3, .x7 .x7-proof--5 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .x7 .x7-ics--2, .x7 .x7-ics--3, .x7 .x7-ics--4 { grid-template-columns: minmax(0, 1fr); gap: 14px; }
  .x7 .x7-ic { padding: 22px 20px 20px; }
  .x7 .x7-ic__t { font-size: 18.5px; }
  .x7 .x7-qa__i { padding: 22px 20px; }
  .x7 .x7-qa__q { font-size: 18px; }
  .x7 .x7-qa__a { padding-left: 0; font-size: 15px; }
  .x7 .x7-oc__c { padding: 24px 20px 22px; }
  .x7 .x7-oc__t { font-size: 21px; }
  .x7 .x7-acc--steps .x7-acc__b { padding-left: 0; }
  .x7 .x7-acc__tag { display: none; }
  .x7 .x7-acc__num { width: 34px; height: 34px; font-size: 14px; border-radius: 10px; }
  .x7 .x7-rls--2, .x7 .x7-rls--3, .x7 .x7-rls--4 { grid-template-columns: minmax(0, 1fr); gap: 14px; }
  .x7 .x7-split--soft { padding: 16px; border-radius: 22px; }
  .x7 .x7-tf { padding: 26px 20px 22px; }
  .x7 .x7-tf__n { font-size: 23px; }
  .x7 .x7-seo--pg { padding: 26px 20px; }
  .x7 .x7-seo--pg h2 { font-size: 21px; }
  .x7 .x7-dbox--nopic .x7-sim__txt { padding: 30px 22px; }
  .x7 .x7-note { padding: 16px 16px; font-size: 15px; }
}
@media (max-width: 380px) {
  .x7 .x7-hero--pg .x7-h1__big { font-size: 28px; }
}

/* ---------- программа: ступени + шаги ---------- */
.x7 .x7-prog { margin-top: 28px; }
.x7 .x7-h3 { font-size: 24px; line-height: 1.2; font-weight: 700; letter-spacing: -.015em; color: var(--gr); }
.x7 .x7-cmp__h { margin: 40px 0 16px; }
.x7 .x7-tfnote-w { margin-top: 24px; }
@media (max-width: 767px) {
  .x7 .x7-h3 { font-size: 20px; }
  .x7 .x7-cmp__h { margin: 30px 0 12px; }
}
.x7 .x7-acc__why { font-size: 15px !important; font-weight: 600; color: var(--ink) !important; }

/* подсказка «таблица листается вбок» — только там, где таблица шире экрана */
@media (max-width: 719px) {
  .x7 .x7-tblhint { display: flex; }
}

/* ---------- страницы курсов: ступени, «подойдёт / не подойдёт», цифры, карточки цены ---------- */
.x7 .x7-steps--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.x7 .x7-steps--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.x7 .x7-step a { color: var(--ink); font-weight: 600; }
.x7 .x7-ck--no li svg { color: #B4BCC6; }
.x7 .x7-vd { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
.x7 .x7-vd__c { padding: 30px 32px; border-radius: 24px; background: var(--panel); }
.x7 .x7-vd__c--y { background: #E9F7F6; }
.x7 .x7-vd__t { margin: 0 0 16px; font-size: 21px; line-height: 1.25; font-weight: 700; color: var(--gr); }
.x7 .x7-vd__foot { margin: 20px 0 0; font-size: 16px; line-height: 1.55; color: var(--mu); max-width: 860px; }
.x7 .x7-vd__foot a { color: var(--ink); font-weight: 600; }
.x7 .x7-stats { display: grid; gap: 16px; }
.x7 .x7-stats--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.x7 .x7-stats--4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.x7 .x7-stat { display: flex; flex-direction: column; gap: 6px; padding: 22px 24px; border-radius: 20px; background: var(--panel); }
.x7 .x7-stat b { font-size: 34px; line-height: 1.05; font-weight: 700; color: var(--navy); letter-spacing: -.01em; }
.x7 .x7-stat span { font-size: 15px; line-height: 1.45; color: var(--mu); }
.x7 .x7-stats--d .x7-stat { background: rgba(255,255,255,.07); }
.x7 .x7-stats--d .x7-stat b { color: #fff; }
.x7 .x7-stats--d .x7-stat span { color: rgba(255,255,255,.72); }
.x7 .x7-tfs--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.x7 .x7-tfs--1 { grid-template-columns: minmax(0, 560px); }
@media (max-width: 1023px) {
  .x7 .x7-steps--3 { grid-template-columns: minmax(0, 1fr); }
  .x7 .x7-stats--4 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .x7 .x7-tfs--2 { grid-template-columns: minmax(0, 1fr); max-width: 640px; }
}
@media (max-width: 767px) {
  .x7 .x7-steps--2 { grid-template-columns: minmax(0, 1fr); }
  .x7 .x7-vd { grid-template-columns: minmax(0, 1fr); gap: 14px; }
  .x7 .x7-vd__c { padding: 22px 20px; border-radius: 20px; }
  .x7 .x7-vd__t { font-size: 19px; }
  .x7 .x7-stats--3 { grid-template-columns: minmax(0, 1fr); }
  .x7 .x7-stat { padding: 18px 20px; }
  .x7 .x7-stat b { font-size: 28px; }
}

.x7 .x7-fmt + .x7-steps { margin-top: 20px; }
.x7 .x7-tf__p--big b { font-size: 32px; line-height: 1.1; letter-spacing: -.01em; color: var(--navy); }
@media (max-width: 767px) {
  .x7 .x7-fmt + .x7-steps { margin-top: 10px; }
  .x7 .x7-tf__p--big b { font-size: 28px; }
}

/* ---------- галерея, текстовые отзывы, преподаватель, одно видео, четыре карточки цены ---------- */
.x7 .x7-gal { display: grid; gap: 20px; }
.x7 .x7-gal--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.x7 .x7-gal--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.x7 .x7-gal__i { margin: 0; display: flex; flex-direction: column; gap: 12px; }
.x7 .x7-gal__ph { display: block; aspect-ratio: 4 / 3; border-radius: 20px; overflow: hidden; background: var(--panel); }
.x7 .x7-gal__ph img { width: 100%; height: 100%; object-fit: cover; display: block; }
.x7 .x7-gal__i figcaption { font-size: 15px; line-height: 1.5; color: var(--mu); }
.x7 .x7-gal + .x7-acc, .x7 .x7-gal + .x7-prog { margin-top: 28px; }
.x7 .x7-qts { display: grid; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap: 20px; }
.x7 .x7-qt { margin: 0; display: flex; flex-direction: column; justify-content: space-between; gap: 18px; padding: 28px 28px 24px; border-radius: 24px; background: var(--panel); }
.x7 .x7-qt blockquote { margin: 0; }
.x7 .x7-qt blockquote p { margin: 0; font-size: 16.5px; line-height: 1.6; color: var(--gr); }
.x7 .x7-qt blockquote p::before { content: "«"; }
.x7 .x7-qt blockquote p::after { content: "»"; }
.x7 .x7-qt figcaption { display: flex; flex-direction: column; gap: 2px; }
.x7 .x7-qt figcaption b { font-size: 16px; color: var(--gr); }
.x7 .x7-qt figcaption span { font-size: 14px; color: var(--mu); }
.x7 .x7-person { display: grid; grid-template-columns: minmax(0, 360px) minmax(0, 1fr); gap: 48px; align-items: center; padding: 40px; border-radius: 28px; background: var(--panel); }
.x7 .x7-person__ph img { width: 100%; height: auto; border-radius: 22px; background: #fff; display: block; }
.x7 .x7-person__txt { display: flex; flex-direction: column; gap: 14px; }
.x7 .x7-person__role { margin: 0; font-size: 17px; line-height: 1.55; color: var(--mu); }
.x7 .x7-vid--solo { max-width: 640px; }
.x7 .x7-tfs--4 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.x7 .x7-tf__old { font-size: 15px; color: #8A94A2; text-decoration: line-through; }
@media (max-width: 1023px) {
  .x7 .x7-gal--3 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .x7 .x7-person { grid-template-columns: minmax(0, 1fr); gap: 24px; padding: 28px; }
  .x7 .x7-person__ph { max-width: 320px; }
  .x7 .x7-tfs--4 { grid-template-columns: minmax(0, 1fr); max-width: 640px; }
}
@media (max-width: 767px) {
  .x7 .x7-gal--3, .x7 .x7-gal--2 { grid-template-columns: minmax(0, 1fr); gap: 16px; }
  .x7 .x7-qts { grid-template-columns: minmax(0, 1fr); gap: 14px; }
  .x7 .x7-qt { padding: 22px 20px 20px; border-radius: 20px; }
  .x7 .x7-person { padding: 20px; border-radius: 22px; }
  .x7 .x7-person__ph { max-width: 240px; }
}

.x7 .x7-fig { margin: 0; padding: 24px; border-radius: 24px; background: var(--panel); }
.x7 .x7-fig img { display: block; width: 100%; height: auto; border-radius: 12px; }
@media (max-width: 767px) { .x7 .x7-fig { padding: 12px; border-radius: 18px; } }

/* ---------- фото в первом экране, двое ведущих, сравнение двух вариантов, календарь эфиров ---------- */
.x7 .x7-hero__pic--photo img { border-radius: 22px; box-shadow: 0 24px 60px rgba(4, 16, 30, .45); }
.x7 .x7-duo { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
.x7 .x7-duo__i { display: grid; grid-template-columns: 132px minmax(0, 1fr); gap: 22px; align-items: center; padding: 24px; border-radius: 24px; background: var(--panel); }
.x7 .x7-duo__i img { width: 132px; height: 132px; border-radius: 50%; object-fit: cover; background: #fff; }
.x7 .x7-duo__n { margin: 0 0 8px; font-size: 20px; line-height: 1.25; color: var(--gr); }
.x7 .x7-duo__t { margin: 0; font-size: 15.5px; line-height: 1.55; color: var(--mu); }
.x7 .x7-pair { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
.x7 .x7-pair__c { display: flex; flex-direction: column; align-items: flex-start; gap: 12px; padding: 30px 32px; border-radius: 24px; border: 1px solid var(--hair); background: #fff; }
.x7 .x7-pair__c--hl { border-color: transparent; background: #E9F7F6; }
.x7 .x7-pair__t { margin: 0; font-size: 22px; line-height: 1.25; color: var(--gr); }
.x7 .x7-pair__d { margin: 0 0 6px; font-size: 16px; line-height: 1.6; color: var(--mu); flex: 1 1 auto; }
.x7 .x7-cal { display: flex; flex-direction: column; gap: 10px; }
.x7 .x7-cal__i { display: grid; grid-template-columns: 96px minmax(0, 1fr) auto; gap: 18px; align-items: center; padding: 16px 22px; border-radius: 18px; background: var(--panel); }
.x7 .x7-cal__d { display: flex; flex-direction: column; font-weight: 700; color: var(--navy); font-size: 22px; line-height: 1.1; }
.x7 .x7-cal__d small { font-size: 13px; font-weight: 600; color: var(--mu); letter-spacing: .04em; text-transform: uppercase; }
.x7 .x7-cal__t b { display: block; font-size: 17px; line-height: 1.35; color: var(--gr); }
.x7 .x7-cal__t span { font-size: 14px; color: var(--mu); }
.x7 .x7-cal__s { font-size: 13px; font-weight: 700; padding: 6px 12px; border-radius: 999px; background: #fff; color: var(--mu); white-space: nowrap; }
.x7 .x7-cal__i.is-now { background: #E9F7F6; box-shadow: inset 0 0 0 2px var(--teal); }
.x7 .x7-cal__i.is-now .x7-cal__s { background: var(--teal); color: #fff; }
.x7 .x7-cal__i.is-past { opacity: .6; }
.x7 .x7-cal.is-collapsed .x7-cal__i.is-past { display: none; }
.x7 .x7-cal__more { align-self: flex-start; margin-top: 6px; }
.x7 .x7-next { display: flex; flex-wrap: wrap; align-items: baseline; gap: 6px 12px; margin: 0 0 18px; padding: 18px 22px; border-radius: 18px; background: var(--navy); color: #fff; }
.x7 .x7-next em { font-style: normal; font-size: 14px; color: var(--tod); font-weight: 700; letter-spacing: .04em; text-transform: uppercase; }
.x7 .x7-next b { font-size: 20px; }
.x7 .x7-next span { font-size: 17px; color: rgba(255,255,255,.85); }
@media (max-width: 1023px) {
  .x7 .x7-duo, .x7 .x7-pair { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 767px) {
  .x7 .x7-duo__i { grid-template-columns: 88px minmax(0, 1fr); gap: 16px; padding: 18px; border-radius: 20px; }
  .x7 .x7-duo__i img { width: 88px; height: 88px; }
  .x7 .x7-pair__c { padding: 22px 20px; border-radius: 20px; }
  .x7 .x7-pair__t { font-size: 19px; }
  .x7 .x7-cal__i { grid-template-columns: 64px minmax(0, 1fr); padding: 14px 16px; gap: 12px; }
  .x7 .x7-cal__s { grid-column: 2; justify-self: start; }
  .x7 .x7-cal__d { font-size: 19px; }
}

/* Распорка между блоками. Раньше называлась .x7-gap и конфликтовала с одноимённой обёрткой
   из home.css (margin-top: 32px): обёртка схлопывалась до 24 px, и карточки внутри неё
   вылезали на соседнюю секцию — на Братстве заголовок «Что внутри чата» ложился поверх карточек. */
.x7 .x7-spacer { height: 24px; }
.x7 .x7-lib { list-style: none; margin: 24px 0 0; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px 20px; counter-reset: lib; }
.x7 .x7-lib li { counter-increment: lib; position: relative; display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 4px 16px; padding: 16px 20px 16px 58px; border-radius: 18px; background: var(--panel); }
.x7 .x7-lib li::before { content: counter(lib, decimal-leading-zero); position: absolute; left: 18px; top: 17px; font-size: 14px; font-weight: 700; color: var(--ink); }
.x7 .x7-lib b { font-size: 16.5px; line-height: 1.35; color: var(--gr); }
.x7 .x7-lib span { grid-column: 1; font-size: 14.5px; line-height: 1.5; color: var(--mu); }
.x7 .x7-lib em { grid-column: 2; grid-row: 1; font-style: normal; font-size: 14px; font-weight: 700; color: var(--ink); white-space: nowrap; }
@media (max-width: 767px) {
  .x7 .x7-lib { grid-template-columns: minmax(0, 1fr); gap: 10px; }
  .x7 .x7-lib li { padding: 14px 16px 14px 50px; }
  .x7 .x7-lib li::before { left: 16px; top: 15px; }
}

/* ---------- портреты преподавателей 20.09: единый фон, одна кадровка 4:5 ---------- */
.x7 .x7-tm__ph img { aspect-ratio: 4 / 5; object-fit: cover; object-position: 50% 0; border-radius: 22px; background: #0B2038; }
.x7 .x7-tm figcaption { border-top: 0; padding-top: 16px; }
.x7 .x7-person__ph img { aspect-ratio: 4 / 5; object-fit: cover; object-position: 50% 0; background: #0B2038; }
.x7 .x7-duo__i img { object-fit: cover; object-position: 50% 18%; background: #0B2038; }
@media (max-width: 767px) { .x7 .x7-tm__ph img { border-radius: 18px; } }

/* ---------- база знаний: разделы, карточки статей, списки по темам (20.09) ---------- */
.x7 .x7-tiles { display: grid; gap: 16px; }
.x7 .x7-tiles--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.x7 .x7-tiles--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.x7 .x7-tile { display: flex; align-items: flex-start; gap: 16px; padding: 22px 22px 22px 20px; border: 1px solid var(--hair); border-radius: 20px; background: #fff; color: var(--gr); transition: border-color .25s var(--ease), box-shadow .25s var(--ease), transform .25s var(--ease); }
.x7 .x7-tile:hover { border-color: #C9D6DF; box-shadow: var(--shadow); transform: translateY(-2px); }
.x7 .x7-tile__i { flex: none; display: inline-flex; align-items: center; justify-content: center; width: 48px; height: 48px; border-radius: 14px; background: var(--chip); color: var(--ink); }
.x7 .x7-tile__b { display: flex; flex-direction: column; gap: 6px; flex: 1; min-width: 0; }
.x7 .x7-tile__t { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; font-size: 18px; line-height: 1.25; font-weight: 700; }
.x7 .x7-tile__n { display: inline-flex; align-items: center; min-height: 24px; padding: 2px 9px; border-radius: 100px; background: var(--navy); color: #fff; font-size: 12.5px; font-weight: 700; }
.x7 .x7-tile__d { font-size: 15px; line-height: 1.5; color: var(--mu); }
.x7 .x7-tile__go { flex: none; align-self: center; color: var(--ink); }

.x7 .x7-acs { display: grid; gap: 18px; }
.x7 .x7-acs--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.x7 .x7-acs--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.x7 .x7-ac { position: relative; display: flex; flex-direction: column; align-items: flex-start; gap: 12px; padding: 22px 22px 20px; border: 1px solid var(--hair); border-radius: 20px; background: #fff; transition: border-color .25s var(--ease), box-shadow .25s var(--ease), transform .25s var(--ease); }
.x7 .x7-ac:hover { border-color: #C9D6DF; box-shadow: var(--shadow); transform: translateY(-2px); }
.x7 .x7-ac__m { display: flex; align-items: center; flex-wrap: wrap; gap: 10px; font-size: 13.5px; color: var(--gy); }
.x7 .x7-ac__t { font-size: 19px; line-height: 1.3; font-weight: 700; color: var(--gr); }
.x7 .x7-ac__t a { color: inherit; }
.x7 .x7-ac__t a::after { content: ""; position: absolute; inset: 0; border-radius: 20px; }
.x7 .x7-ac__t a:focus-visible { outline: none; }
.x7 .x7-ac:focus-within { outline: 3px solid var(--teal); outline-offset: 2px; }
.x7 .x7-ac__d { flex: 1; font-size: 15px; line-height: 1.5; color: var(--mu); }
.x7 .x7-ac__go { display: inline-flex; align-items: center; gap: 8px; font-size: 15px; font-weight: 600; color: var(--ink); }

.x7 .x7-tps { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 26px; }
.x7 .x7-tp { display: inline-flex; align-items: center; gap: 8px; min-height: 40px; padding: 6px 14px; border: 1px solid var(--hair); border-radius: 100px; background: #fff; color: var(--gr); font-size: 14.5px; font-weight: 600; transition: border-color .2s var(--ease), background .2s var(--ease); }
.x7 .x7-tp:hover { border-color: var(--teal); background: var(--chip); }
.x7 .x7-tp b { font-size: 12.5px; font-weight: 700; color: var(--ink); }
.x7 .x7-ags { columns: 2; column-gap: 24px; }
.x7 .x7-ag { break-inside: avoid; margin: 0 0 24px; padding: 20px 22px 12px; border: 1px solid var(--hair); border-radius: 20px; background: #fff; scroll-margin-top: calc(var(--hd) + 24px); }
.x7 .x7-ag__h { display: flex; align-items: center; gap: 10px; margin: 0 0 6px; font-size: 18px; line-height: 1.3; font-weight: 700; color: var(--gr); }
.x7 .x7-ag__h .x7-i { flex: none; color: var(--ink); }
.x7 .x7-ag__h b { margin-left: auto; font-size: 13px; font-weight: 700; color: var(--gy); }
.x7 .x7-ag__l { list-style: none; margin: 0; padding: 0; }
.x7 .x7-ag__l li + li { border-top: 1px solid var(--hair2); }
.x7 .x7-ag__l a { display: flex; align-items: baseline; justify-content: space-between; gap: 14px; padding: 11px 0; color: var(--gr); font-size: 15.5px; line-height: 1.4; }
.x7 .x7-ag__l a:hover span { color: var(--ink); text-decoration: underline; text-underline-offset: 3px; }
.x7 .x7-ag__l time { flex: none; font-size: 13px; color: var(--gy); font-variant-numeric: tabular-nums; }
@media (max-width: 1023px) {
  .x7 .x7-tiles--3, .x7 .x7-acs--3 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .x7 .x7-ags { columns: 1; }
}
@media (max-width: 767px) {
  .x7 .x7-tiles--2, .x7 .x7-tiles--3, .x7 .x7-acs--2, .x7 .x7-acs--3 { grid-template-columns: minmax(0, 1fr); gap: 12px; }
  .x7 .x7-tile { padding: 18px 16px; gap: 14px; }
  .x7 .x7-tile__i { width: 42px; height: 42px; }
  .x7 .x7-ac { padding: 18px 18px 16px; }
  .x7 .x7-ac__t { font-size: 17.5px; }
  .x7 .x7-tps { flex-wrap: nowrap; overflow-x: auto; margin: 0 -16px 20px; padding: 0 16px 4px; scrollbar-width: none; }
  .x7 .x7-tps::-webkit-scrollbar { display: none; }
  .x7 .x7-tp { flex: none; }
  .x7 .x7-ag { padding: 16px 16px 8px; }
  .x7 .x7-ag__l a { flex-direction: column; gap: 2px; font-size: 15px; }
}

/* ---------- каталог: упрощённый верх (20.09) ---------- */
.x7 .x7-kh__lead { max-width: 660px; font-size: 16.5px; }
.x7 .x7-kh__lead a { color: var(--ink); font-weight: 600; text-decoration: underline; text-underline-offset: 3px; }
.x7 .x7-kfind--top { flex: 0 0 380px; height: 50px; }
.x7 .x7-kfind--top .x7-kfind__f { padding: 0 18px; border-right: 1.5px solid var(--edge); border-radius: 100px; }
.x7 .x7-kh > .x7-kf { margin-top: 22px; }
.x7 .x7-kh .x7-kf__b { min-height: 38px; padding: 0 14px; border-width: 1px; font-size: 14px; }
.x7 .x7-kh .x7-kf__b.is-on { border-color: var(--ink); background: var(--chip); color: var(--ink); }
.x7 .x7-kh .x7-kf__b.is-on .x7-i { color: var(--ink); }
@media (max-width: 1023px) {
  .x7 .x7-kfind--top { flex: 0 0 auto; width: 100%; }
}
@media (max-width: 767px) {
  .x7 .x7-kfind--top { height: 48px; }
  .x7 .x7-kh > .x7-kf { margin-top: 14px; }
}
.x7 .x7-kres:empty { min-height: 0; margin-top: 0; }
.x7 .x7-tps--page { margin-top: 28px; margin-bottom: 0; }
@media (max-width: 767px) { .x7 .x7-tps--page { margin-top: 18px; } }

/* ---------- каталог 20.09 (2): блок теста после «С чего начать»; на телефоне без поля поиска, фильтры в две строки ---------- */
.x7 .x7-ktest { display: flex; align-items: center; gap: 20px; margin-top: 22px; padding: 22px 24px; border-radius: var(--r); background: var(--chip); }
.x7 .x7-ktest__i { flex: none; display: grid; place-items: center; width: 56px; height: 56px; border-radius: 16px; background: #fff; color: var(--ink); }
.x7 .x7-ktest__t { flex: 1; min-width: 0; }
.x7 .x7-ktest__t b { display: block; font-size: 18px; font-weight: 700; color: var(--gr); }
.x7 .x7-ktest__t p { margin: 6px 0 0; font-size: 15px; line-height: 1.5; color: var(--mu); }
.x7 .x7-ktest .x7-btn { flex: none; }
.x7--kat.is-flt .x7-ktest { display: none; }
.x7--kat:not(.is-flt) .x7-pc[data-x7-testcard] { display: none; }
@media (max-width: 767px) {
  .x7 .x7-kfind--top { display: none; }
  .x7 .x7-kh > .x7-kf { flex-wrap: wrap; overflow: visible; margin: 16px 0 0; padding: 0; }
  .x7 .x7-kh .x7-kf__b { min-height: 38px; padding: 0 13px; font-size: 13.5px; }
  .x7 .x7-ktest { flex-wrap: wrap; gap: 14px; padding: 18px; }
  .x7 .x7-ktest__i { width: 48px; height: 48px; border-radius: 14px; }
  .x7 .x7-ktest__t { flex-basis: calc(100% - 62px); }
  .x7 .x7-ktest__t b { font-size: 16.5px; }
  .x7 .x7-ktest .x7-btn { width: 100%; justify-content: center; }
}

/* ---------- отзывы и интервью (20.09) ---------- */
.x7 .x7-vgrid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 28px 20px; }
.x7 .x7-rvs { columns: 3; column-gap: 20px; }
.x7 .x7-rv { break-inside: avoid; display: flex; flex-direction: column; gap: 16px; margin: 0 0 20px; padding: 24px 24px 18px; border-radius: 22px; background: var(--panel); }
.x7 .x7-rv__q { margin: 0; }
.x7 .x7-rv__q::before { content: "«"; display: block; height: 34px; margin-bottom: 2px; font-size: 34px; line-height: 34px; font-weight: 700; color: var(--ink); }
.x7 .x7-rv__q p { margin: 0 0 10px; font-size: 15.5px; line-height: 1.6; color: var(--gr); }
.x7 .x7-rv__q p:last-child { margin-bottom: 0; }
.x7 .x7-rv__ft { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding-top: 14px; border-top: 1px solid var(--hair); }
.x7 .x7-rv__who { min-width: 0; }
.x7 .x7-rv__n { margin: 0; font-size: 16.5px; line-height: 1.3; font-weight: 700; }
.x7 .x7-rv__n a { color: var(--gr); text-decoration: none; }
.x7 .x7-rv__n a:hover { color: var(--ink); text-decoration: underline; text-underline-offset: 3px; }
.x7 .x7-rv__c, .x7 .x7-rv__s { display: block; margin-top: 2px; font-size: 13.5px; line-height: 1.4; color: var(--mu); }
.x7 .x7-rv__lk { flex: none; display: flex; align-items: center; gap: 8px; }
.x7 .x7-rv__v { display: inline-flex; align-items: center; gap: 6px; height: 36px; padding: 0 12px; border: 1px solid var(--edge); border-radius: 100px; background: #fff; font-size: 13.5px; font-weight: 600; color: var(--gr); text-decoration: none; }
.x7 .x7-rv__v:hover { border-color: var(--navy); }
.x7 .x7-rv__go { display: grid; place-items: center; width: 36px; height: 36px; border-radius: 50%; background: var(--navy); color: #fff; }
.x7 .x7-rv__go:hover { background: var(--navy2); }
.x7 .x7-cty { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 8px; margin: 0; padding: 0; list-style: none; }
.x7 .x7-cty a { display: block; padding: 11px 14px; border: 1px solid var(--hair); border-radius: 12px; background: #fff; font-size: 14.5px; font-weight: 600; line-height: 1.3; color: var(--gr); text-decoration: none; transition: border-color .2s; }
.x7 .x7-cty a:hover { border-color: var(--navy); }
.x7 .x7-ask { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 32px; padding: 36px 40px; border-radius: 28px; background: var(--chip); }
.x7 .x7-ask__t p { max-width: 680px; margin: 12px 0 0; font-size: 16px; line-height: 1.6; color: var(--mu); }
.x7 .x7-ask__a { display: flex; flex-direction: column; gap: 10px; }
.x7 .x7-ivv { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr); align-items: start; gap: 32px; }
.x7 .x7-ivv .x7-vid--solo { max-width: none; }
.x7 .x7-ivv .x7-stats--4 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.x7 .x7-ivv .x7-stat b { font-size: 28px; }
.x7 .x7-iv { max-width: 840px; }
.x7 .x7-iv__i { padding: 28px 0; border-top: 1px solid var(--hair); }
.x7 .x7-iv__i:first-child { padding-top: 0; border-top: 0; }
.x7 .x7-iv__q { display: flex; gap: 14px; margin: 0 0 14px; font-size: 21px; line-height: 1.35; font-weight: 700; color: var(--gr); }
.x7 .x7-iv__q span { flex: none; align-self: flex-start; padding: 4px 8px; border-radius: 10px; background: var(--chip); font-size: 14px; line-height: 1.3; color: var(--ink); }
.x7 .x7-iv p { margin: 0 0 12px; font-size: 16.5px; line-height: 1.7; color: var(--gr); }
.x7 .x7-iv + .x7-note { margin-top: 12px; }
@media (max-width: 1199px) {
  .x7 .x7-vgrid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .x7 .x7-cty { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}
@media (max-width: 1023px) {
  .x7 .x7-rvs { columns: 2; }
  .x7 .x7-ivv { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 767px) {
  .x7 .x7-vgrid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px 12px; }
  .x7 .x7-vgrid .x7-vid b { font-size: 14.5px; }
  .x7 .x7-vgrid .x7-vid > span:last-child { font-size: 12.5px; }
  .x7 .x7-vgrid .x7-vid__ph { border-radius: 12px; }
  .x7 .x7-rvs { columns: 1; }
  .x7 .x7-rv { margin-bottom: 14px; padding: 20px 18px 16px; }
  .x7 .x7-cty { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .x7 .x7-cty a { padding: 10px 12px; font-size: 14px; }
  .x7 .x7-ask { grid-template-columns: minmax(0, 1fr); gap: 20px; padding: 24px 20px; border-radius: 22px; }
  .x7 .x7-ask__a .x7-btn { width: 100%; justify-content: center; }
  .x7 .x7-iv__q { font-size: 18px; gap: 10px; }
  .x7 .x7-iv p { font-size: 16px; }
  .x7 .x7-ivv .x7-stat b { font-size: 24px; }
}

.x7 .x7-ivl { display: grid; grid-template-columns: minmax(0, 1fr) 320px; align-items: start; gap: 56px; }
.x7 .x7-iva { position: sticky; top: 110px; display: flex; flex-direction: column; gap: 12px; padding: 26px 24px; border-radius: 22px; background: var(--chip); }
.x7 .x7-iva b { font-size: 20px; line-height: 1.3; color: var(--gr); }
.x7 .x7-iva p { margin: 0 0 4px; font-size: 15px; line-height: 1.55; color: var(--mu); }
.x7 .x7-iva .x7-btn { justify-content: center; }
.x7 .x7-iva__l { align-self: center; font-size: 14.5px; font-weight: 600; color: var(--ink); }
@media (max-width: 1023px) {
  .x7 .x7-ivl { grid-template-columns: minmax(0, 1fr); gap: 28px; }
  .x7 .x7-iva { position: static; }
}

/* ---------- О школе (20.09): реквизиты ---------- */
.x7 .x7-req { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; margin: 0; }
.x7 .x7-req > div { padding: 18px 20px; border-radius: 18px; background: var(--panel); }
.x7 .x7-req dt { margin: 0 0 4px; font-size: 13px; font-weight: 600; letter-spacing: .02em; text-transform: uppercase; color: var(--mu); }
.x7 .x7-req dd { margin: 0; font-size: 16px; line-height: 1.5; font-weight: 600; color: var(--gr); }
.x7 .x7-req dd a { color: var(--ink); }
.x7 .x7-req > div:last-child { grid-column: 1 / -1; }
.x7 .x7-req > div:last-child dd { font-weight: 500; }
@media (max-width: 767px) {
  .x7 .x7-req { grid-template-columns: minmax(0, 1fr); }
}

/* ---------- юр. страницы, карта сайта, 404, вакансии (20.09) ---------- */
.x7 .x7-sec.x7-sec--legal { margin-top: 22px; }
@media (max-width: 767px) { .x7 .x7-sec.x7-sec--legal { margin-top: 12px; } }
.x7 .x7-lg { display: grid; grid-template-columns: minmax(0, 1fr) 300px; align-items: start; gap: 56px; }
.x7 .x7-lg__h { margin: 10px 0 12px; font-size: clamp(32px, 3.4vw, 46px); line-height: 1.12; font-weight: 700; letter-spacing: -.01em; color: var(--gr); }
.x7 .x7-lg__meta { max-width: 760px; margin: 0 0 28px; font-size: 17px; line-height: 1.55; color: var(--mu); }
.x7 .x7-lgdoc { max-width: 820px; font-size: 16px; line-height: 1.7; color: var(--gr); overflow-wrap: anywhere; }
.x7 .x7-lgdoc p { margin: 0 0 12px; }
.x7 .x7-lgdoc h2 { margin: 28px 0 14px; font-size: 22px; line-height: 1.3; font-weight: 700; color: var(--gr); }
.x7 .x7-lgdoc b { font-weight: 700; }
.x7 .x7-lgdoc img { display: block; max-width: 100%; height: auto; margin: 12px 0 16px; border-radius: 10px; }
.x7 .x7-lgdoc img[src="/podpis.png"] { max-width: 220px; border-radius: 0; }
.x7 .x7-lg__a { position: sticky; top: 110px; display: flex; flex-direction: column; gap: 8px; padding: 24px; border-radius: 22px; background: var(--panel); }
.x7 .x7-lg__a b { font-size: 13px; font-weight: 700; letter-spacing: .03em; text-transform: uppercase; color: var(--mu); }
.x7 .x7-lg__a ul { margin: 0 0 14px; padding: 0; list-style: none; }
.x7 .x7-lg__a li + li { margin-top: 6px; }
.x7 .x7-lg__a a { color: var(--ink); font-weight: 600; }
.x7 .x7-lg__a p { margin: 0; font-size: 15px; line-height: 1.6; color: var(--gr); }
.x7 .x7-smap { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 28px; margin-top: 8px; }
.x7 .x7-smap--wide { grid-template-columns: repeat(6, minmax(0, 1fr)); margin-top: 44px; }
.x7 .x7-smap__c--2 { grid-column: span 3; }
.x7 .x7-smap__c--3 { grid-column: 1 / -1; }
.x7 .x7-smap__c--2 ul { columns: 2; column-gap: 24px; }
.x7 .x7-smap__c--3 ul { columns: 6; column-gap: 20px; }
.x7 .x7-smap__h { margin: 0 0 12px; padding-bottom: 10px; border-bottom: 1px solid var(--hair); font-size: 18px; line-height: 1.3; font-weight: 700; color: var(--gr); }
.x7 .x7-smap ul { margin: 0; padding: 0; list-style: none; }
.x7 .x7-smap li { break-inside: avoid; padding: 4px 0; font-size: 15px; line-height: 1.45; }
.x7 .x7-smap a { color: var(--gr); text-decoration: none; }
.x7 .x7-smap a:hover { color: var(--ink); text-decoration: underline; text-underline-offset: 3px; }
.x7 .x7-nf { max-width: 760px; margin: 24px 0 40px; }
.x7 .x7-nf__code { display: block; font-size: clamp(72px, 10vw, 128px); line-height: 1; font-weight: 700; letter-spacing: -.03em; color: var(--chip); -webkit-text-stroke: 2px var(--ink); }
.x7 .x7-nf__act { display: flex; flex-wrap: wrap; gap: 12px; }
.x7 .x7-vacs { display: grid; gap: 20px; }
.x7 .x7-vac { padding: 30px 32px; border: 1px solid var(--hair); border-radius: 24px; background: #fff; }
.x7 .x7-vac__h { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 8px 20px; margin-bottom: 18px; }
.x7 .x7-vac__h h3 { margin: 0; font-size: 24px; line-height: 1.25; color: var(--gr); }
.x7 .x7-vac__pay { font-size: 20px; font-weight: 700; color: var(--ink); white-space: nowrap; }
.x7 .x7-vac__g { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; margin-bottom: 22px; }
.x7 .x7-vac__b h4 { margin: 0 0 10px; font-size: 16px; font-weight: 700; color: var(--gr); }
.x7 .x7-vac__b .x7-ck li { font-size: 15px; }
@media (max-width: 1199px) {
  .x7 .x7-smap { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .x7 .x7-smap--wide { grid-template-columns: minmax(0, 1fr); }
  .x7 .x7-smap__c--2, .x7 .x7-smap__c--3 { grid-column: auto; }
  .x7 .x7-smap__c--3 ul { columns: 4; }
  .x7 .x7-vac__g { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 1023px) {
  .x7 .x7-lg { grid-template-columns: minmax(0, 1fr); gap: 28px; }
  .x7 .x7-lg__a { position: static; }
}
@media (max-width: 767px) {
  .x7 .x7-smap { grid-template-columns: minmax(0, 1fr); gap: 22px; }
  .x7 .x7-smap__c--2 ul { columns: 1; }
  .x7 .x7-smap__c--3 ul { columns: 2; }
  .x7 .x7-lgdoc { font-size: 15.5px; }
  .x7 .x7-vac { padding: 22px 18px; border-radius: 20px; }
  .x7 .x7-vac__h h3 { font-size: 20px; }
  .x7 .x7-vac .x7-btn { width: 100%; justify-content: center; }
}

.x7--about .x7-qts { grid-template-columns: repeat(3, minmax(0, 1fr)); }
@media (max-width: 1023px) { .x7--about .x7-qts { grid-template-columns: minmax(0, 1fr); } }

/* ---------- шаблоны v7: статья, город, отзыв (20.09) ---------- */
.x7 .x7-lg__h--2 .x7-h1__over { display: block; margin-bottom: 10px; font-size: 15px; line-height: 1.4; font-weight: 600; letter-spacing: .01em; color: var(--ink); }
.x7 .x7-lg__h--2 .x7-h1__big { display: block; font-size: inherit; line-height: inherit; letter-spacing: inherit; color: inherit; }
.x7 .x7-art__m { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; margin-top: 6px; font-size: 14px; color: var(--mu); }
.x7 .x7-prose { max-width: 780px; font-size: 17px; line-height: 1.75; color: var(--gr); overflow-wrap: break-word; }
.x7 .x7-prose p { margin: 0 0 16px; }
.x7 .x7-prose h2 { margin: 40px 0 14px; font-size: 26px; line-height: 1.25; font-weight: 700; letter-spacing: -.005em; color: var(--gr); }
.x7 .x7-prose h3 { margin: 28px 0 10px; font-size: 20px; line-height: 1.3; font-weight: 700; color: var(--gr); }
.x7 .x7-prose h4 { margin: 22px 0 8px; font-size: 17px; font-weight: 700; }
.x7 .x7-prose ul, .x7 .x7-prose ol { margin: 0 0 18px; padding-left: 24px; }
.x7 .x7-prose li { margin: 6px 0; }
.x7 .x7-prose li::marker { color: var(--ink); }
.x7 .x7-prose a { color: var(--ink); text-decoration: underline; text-underline-offset: 3px; }
.x7 .x7-prose strong, .x7 .x7-prose b { font-weight: 700; }
.x7 .x7-prose img { display: block; max-width: 100%; height: auto; margin: 10px 0 18px; border-radius: 14px; }
.x7 .x7-prose figure { margin: 22px 0; }
.x7 .x7-prose figcaption, .x7 .x7-prose em { color: var(--mu); }
.x7 .x7-prose figcaption { margin-top: 8px; font-size: 14.5px; line-height: 1.5; }
.x7 .x7-prose blockquote { margin: 22px 0; padding: 16px 22px; border-left: 4px solid var(--teal); border-radius: 0 14px 14px 0; background: var(--panel); }
.x7 .x7-prose blockquote p:last-child { margin-bottom: 0; }
.x7 .x7-prose hr { margin: 34px 0; border: 0; border-top: 1px solid var(--hair); }
.x7 .x7-prose table { display: block; max-width: 100%; overflow-x: auto; margin: 18px 0; border-collapse: collapse; font-size: 15px; }
.x7 .x7-prose th, .x7 .x7-prose td { padding: 10px 12px; border: 1px solid var(--hair); text-align: left; vertical-align: top; }
.x7 .x7-prose th { background: var(--panel); font-weight: 700; }
.x7 .x7-prose svg { max-width: 100%; height: auto; }
.x7 .x7-prose .elementor-heading-title { margin-top: 0; }
.x7 .x7-art__l { margin: 0 0 12px; padding: 0; list-style: none; }
.x7 .x7-art__l li { padding: 9px 0; border-bottom: 1px solid var(--hair); font-size: 15px; line-height: 1.45; }
.x7 .x7-art__l li:last-child { border-bottom: 0; }
.x7 .x7-art__l a { color: var(--gr); text-decoration: none; font-weight: 500; }
.x7 .x7-art__l a:hover { color: var(--ink); }
.x7 .x7-art__cta { display: flex; flex-direction: column; gap: 8px; margin-top: 12px; padding: 18px; border-radius: 16px; background: #fff; }
.x7 .x7-art__cta b { font-size: 16px; text-transform: none; letter-spacing: 0; color: var(--gr); }
.x7 .x7-art__cta p { margin: 0 0 6px; font-size: 14.5px; line-height: 1.5; color: var(--mu); }
.x7 .x7-art__cta .x7-btn { justify-content: center; }
.x7 .x7-art__a p { font-size: 15px; line-height: 1.55; color: var(--mu); }
.x7 .x7-artcta { margin-top: 40px; padding: 30px 32px; border-radius: 24px; background: var(--chip); }
.x7 .x7-artcta .x7-h2 { margin: 6px 0 10px; font-size: 26px; }
.x7 .x7-artcta p { margin: 0 0 18px; font-size: 16px; line-height: 1.6; color: var(--mu); }
.x7 .x7-artcta__g { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; margin: 0; padding: 0; list-style: none; }
.x7 .x7-artcta__g a { display: flex; flex-direction: column; gap: 3px; height: 100%; padding: 14px 16px; border-radius: 14px; background: #fff; text-decoration: none; transition: box-shadow .2s; }
.x7 .x7-artcta__g a:hover { box-shadow: 0 6px 20px rgba(15, 42, 68, .1); }
/* Тематическая врезка в статье: оффер по теме текста — мягче основной, чтобы не спорить с ней. */
.x7 .x7-artcta--th { margin-top: 32px; background: var(--wash); border: 1px solid var(--hair); }
.x7 .x7-artcta--th .x7-h2 { font-size: 23px; }
.x7 .x7-artcta--th .x7-artcta__g { grid-template-columns: repeat(2, minmax(0, 1fr)); }
@media (max-width: 720px) { .x7 .x7-artcta--th .x7-artcta__g { grid-template-columns: minmax(0, 1fr); } }
.x7 .x7-artcta__g b { font-size: 16px; color: var(--gr); }
.x7 .x7-artcta__g span { font-size: 14px; color: var(--mu); }
.x7 .x7-sh--in { margin-top: 56px; }
.x7 .x7-rvp__q { margin: 8px 0 24px; padding: 26px 28px; border-radius: 22px; background: var(--panel); font-size: 17.5px; line-height: 1.75; color: var(--gr); }
.x7 .x7-rvp__q p { margin: 0 0 14px; }
.x7 .x7-rvp__q p:last-child { margin-bottom: 0; }
.x7 .x7-rvp__v { max-width: 560px; }
.x7 .x7-rvl { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; margin: 0; padding: 0; list-style: none; }
.x7 .x7-rvl a { display: flex; flex-direction: column; gap: 2px; padding: 16px 18px; border: 1px solid var(--hair); border-radius: 16px; text-decoration: none; }
.x7 .x7-rvl a:hover { border-color: var(--navy); }
.x7 .x7-rvl b { color: var(--gr); font-size: 16px; }
.x7 .x7-rvl span { color: var(--mu); font-size: 14px; }
.x7 .x7-rvp__more { margin-top: 28px; }
@media (max-width: 767px) {
  .x7 .x7-prose { font-size: 16px; }
  .x7 .x7-prose h2 { margin-top: 32px; font-size: 22px; }
  .x7 .x7-prose h3 { font-size: 18px; }
  .x7 .x7-artcta { padding: 22px 18px; border-radius: 20px; }
  .x7 .x7-artcta .x7-h2 { font-size: 22px; }
  .x7 .x7-artcta__g { grid-template-columns: minmax(0, 1fr); }
  .x7 .x7-rvp__q { padding: 20px 18px; font-size: 16.5px; }
  .x7 .x7-rvl { grid-template-columns: minmax(0, 1fr); }
  .x7 .x7-sh--in { margin-top: 40px; }
}

/* узкие телефоны (320–400): длинная подпись кнопки переносится, а не вылезает за карточку (тест-драйв 21.09, /avtoelektrik-s-nulya-do-profi-v7 на 320) */
@media (max-width: 400px) {
  .x7 .x7-btn { max-width: 100%; white-space: normal; padding-top: 10px; padding-bottom: 10px; }
}

.x7 .x7-vid__h { margin: 0; font-size: 16px; line-height: 1.3; font-weight: 700; color: var(--gr); }
.x7 .x7-seo--in { margin-top: 0; }
@media (max-width: 767px) { .x7 .x7-vgrid .x7-vid__h { font-size: 14.5px; } }

/* ---------- видео (22.09): плеер по клику, длительность, вертикальные ролики ---------- */
.x7 .x7-vid__ph iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.x7 .x7-vid.is-on { cursor: default; }
.x7 .x7-vid.is-on .x7-vid__play, .x7 .x7-vid.is-on .x7-vid__t { display: none; }
.x7 .x7-vid__t { position: absolute; right: 10px; bottom: 12px; padding: 3px 8px; border-radius: 6px; background: rgba(15, 42, 68, .82); color: #fff; font-size: 12.5px; font-weight: 600; font-variant-numeric: tabular-nums; }
.x7 .x7-vid--v .x7-vid__ph { aspect-ratio: 9 / 16; }
.x7 .x7-vstrip { display: grid; grid-auto-flow: column; grid-auto-columns: 220px; gap: 16px; overflow-x: auto; overscroll-behavior-x: contain; scroll-snap-type: x mandatory; padding-bottom: 10px; scrollbar-width: thin; scrollbar-color: #C3D2DC transparent; }
.x7 .x7-vv { margin: 0; scroll-snap-align: start; display: flex; flex-direction: column; gap: 4px; min-width: 0; }
.x7 .x7-vv__v { display: block; width: 100%; height: auto; aspect-ratio: 9 / 16; margin-bottom: 8px; border-radius: 16px; background: var(--navy); object-fit: cover; }
.x7 .x7-vv figcaption { display: flex; flex-direction: column; gap: 4px; }
.x7 .x7-vv figcaption b { font-size: 16px; line-height: 1.3; font-weight: 700; color: var(--gr); }
.x7 .x7-vv figcaption span { font-size: 14px; line-height: 1.4; color: var(--mu); }
.x7 .x7-vv--yt .x7-vid__h { font-size: 16px; }
.x7 .x7-rv--vid .x7-vid { margin-bottom: 14px; }
.x7 .x7-rvs.x7-rvs--1 { columns: 1; max-width: 720px; }
.x7 .x7-rvp__src { margin: 10px 0 0; font-size: 14px; line-height: 1.5; color: var(--mu); }
.x7 .x7-cty--pl { grid-template-columns: repeat(3, minmax(0, 1fr)); }
@media (max-width: 767px) {
  .x7 .x7-vstrip { grid-auto-columns: 62%; gap: 12px; }
  .x7 .x7-cty--pl { grid-template-columns: minmax(0, 1fr); }
}
/* 22.09: вертикальные карточки — единые обложки, ролик играет на месте обложки; расшифровки */
.x7 .x7-vid__ph video { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: contain; background: #000; }
.x7 .x7-vv .x7-vid { margin: 0; }
.x7 .x7-tr { margin-top: 10px; border-top: 1px solid var(--hair); padding-top: 8px; }
.x7 .x7-tr summary { cursor: pointer; font-size: 14px; font-weight: 700; color: var(--ink); list-style: none; }
.x7 .x7-tr summary::-webkit-details-marker { display: none; }
.x7 .x7-tr summary::after { content: " ↓"; }
.x7 .x7-tr[open] summary::after { content: " ↑"; }
.x7 .x7-tr__b { margin-top: 8px; font-size: 15px; line-height: 1.6; color: var(--gr); }
.x7 .x7-tr__b p { margin: 0 0 10px; }
.x7 .x7-tr__n { font-size: 12.5px !important; color: var(--mu); }
.x7 .x7-vq { margin: 10px 0 0; padding: 0; list-style: none; display: flex; flex-direction: column; gap: 8px; }
.x7 .x7-vq li { position: relative; padding-left: 14px; font-size: 14.5px; line-height: 1.55; color: var(--gr); }
.x7 .x7-vq li::before { content: ""; position: absolute; left: 0; top: 4px; bottom: 4px; width: 3px; border-radius: 2px; background: var(--teal); }
.x7 .x7-vtr { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px 24px; margin-top: 18px; }
.x7 .x7-vtr__i b { display: block; font-size: 15px; color: var(--gr); }
.x7 .x7-vtr__i span { font-size: 13.5px; color: var(--mu); }
.x7 .x7-vcell { display: flex; flex-direction: column; min-width: 0; }
.x7 .x7-rvp__tr h2 { margin: 26px 0 10px; }
@media (max-width: 767px) { .x7 .x7-vtr { grid-template-columns: minmax(0, 1fr); } }
.x7 .x7-more.x7-more--s { white-space: normal; font-size: 14px; min-height: 0; margin-top: 8px; }
.x7 .x7-cityv { display: grid; grid-template-columns: minmax(0, 560px) minmax(0, 1fr); gap: 24px; align-items: start; }
.x7 .x7-cityv .x7-vv--solo { max-width: 300px; }
.x7 .x7-rvp__h { margin: 28px 0 12px; font-size: 22px; }
@media (max-width: 900px) { .x7 .x7-cityv { grid-template-columns: minmax(0, 1fr); } }
/* 22.09: YouTube в РФ не открывается — плеер RuTube, под карточкой ссылки «Смотреть на RuTube · YouTube» */
.x7 .x7-vid > .x7-vid__s { font-size: 14px; line-height: 1.4; color: var(--mu); }
.x7 .x7-vid > span.x7-vid__src { display: block; margin-top: 2px; font-size: 13px; line-height: 1.4; color: var(--mu); }
.x7 .x7-vid__src a { color: var(--ink); font-weight: 600; text-decoration: underline; text-decoration-color: #C3D2DC; text-underline-offset: 3px; }
.x7 .x7-vid__src a:hover { text-decoration-color: currentColor; }
.x7 .x7-vid.is-on .x7-vid__ph { cursor: default; }
@media (max-width: 767px) { .x7 .x7-vgrid .x7-vid > .x7-vid__s { font-size: 12.5px; } .x7 .x7-vgrid .x7-vid > span.x7-vid__src { font-size: 12px; } }
/* 22.09: город v7 «Курсы автоэлектрика в <городе>» (8 городов с текстом о рынке) */
.x7 .x7-hero--city + .x7-stats { margin-top: 16px; }
.x7 .x7-hero--city + .x7-stats .x7-stat b { font-size: 30px; }
.x7 .x7-hero__fmt { display: flex; gap: 10px; align-items: flex-start; max-width: 640px; margin: 0; font-size: 15.5px; line-height: 1.5; color: rgba(255, 255, 255, .78); }
.x7 .x7-hero__fmt svg { flex: 0 0 auto; margin-top: 3px; color: var(--tod); }
.x7 .x7-obs { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; align-items: start; }
.x7 .x7-ob { display: flex; flex-direction: column; gap: 12px; padding: 26px 26px 24px; border: 1px solid var(--hair); border-radius: var(--rc); background: #fff; }
.x7 .x7-ob__top { display: flex; align-items: center; gap: 12px; color: var(--ink); }
.x7 .x7-ob__t { margin: 0; font-size: 19px; line-height: 1.3; font-weight: 700; color: var(--gr); }
.x7 .x7-ob > p { margin: 0; font-size: 15.5px; line-height: 1.55; color: var(--mu); }
.x7 .x7-oq { margin: 4px 0 0; padding: 14px 16px; border-left: 3px solid var(--teal); border-radius: 0 12px 12px 0; background: var(--panel); }
.x7 .x7-oq blockquote { margin: 0; }
.x7 .x7-oq p { margin: 0; font-size: 15px; line-height: 1.55; color: var(--gr); font-style: italic; }
.x7 .x7-oq figcaption { margin-top: 8px; font-size: 13.5px; font-weight: 600; color: var(--mu); }
.x7 #vzhivuyu .x7-obs + .x7-oq { max-width: 860px; margin-top: 24px; }
.x7 .x7-cta-row { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 28px; }
.x7 .x7-rvh { margin: 28px 0 14px; font-size: 20px; line-height: 1.3; font-weight: 700; color: var(--gr); }
.x7 .x7-sec--tight { margin-top: 48px; }
.x7 .x7-demo { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 24px 28px; border-radius: var(--rc); background: var(--panel); }
.x7 .x7-demo b { font-size: 18px; color: var(--gr); }
.x7 .x7-demo p { margin: 4px 0 0; font-size: 15px; line-height: 1.5; color: var(--mu); }
.x7 .x7-near__t { margin: 0 0 12px; font-size: 16px; font-weight: 700; color: var(--gr); }
.x7 .x7-cty--near { grid-template-columns: repeat(4, minmax(0, 1fr)); max-width: 820px; }
.x7 .x7-near__all { margin: 14px 0 0; font-size: 15px; }
@media (max-width: 1023px) { .x7 .x7-obs { grid-template-columns: minmax(0, 1fr); max-width: 720px; } }
@media (max-width: 767px) {
  .x7 .x7-hero--city + .x7-stats { grid-template-columns: minmax(0, 1fr); gap: 0; padding: 6px 16px; border-radius: 16px; background: var(--panel); }
  .x7 .x7-hero--city + .x7-stats .x7-stat { flex-direction: row; align-items: baseline; gap: 12px; padding: 10px 0; border-radius: 0; background: none; }
  .x7 .x7-hero--city + .x7-stats .x7-stat + .x7-stat { border-top: 1px solid var(--hair); }
  .x7 .x7-hero--city + .x7-stats .x7-stat b { flex: 0 0 auto; font-size: 20px; }
  .x7 .x7-hero--city + .x7-stats .x7-stat span { font-size: 13.5px; line-height: 1.35; }
  .x7 .x7-hero__fmt { font-size: 14.5px; }
  .x7 .x7-ob { padding: 20px 18px; }
  .x7 .x7-demo { flex-direction: column; align-items: stretch; padding: 20px 18px; }
  .x7 .x7-demo .x7-btn { width: 100%; }
  .x7 .x7-cty--near { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .x7 .x7-cta-row .x7-btn { width: 100%; }
}
.x7 #rynok-h { margin-bottom: 18px; }
/* 22.09: статьи-истории — ролик в начале и пометка об источнике */
.x7 .x7-artv { margin: 20px 0 28px; }
.x7 .x7-artv .x7-vid--solo { max-width: none; }
.x7 .x7-artnote { margin-top: 28px; padding-top: 14px; border-top: 1px solid var(--hair); font-size: 14px !important; line-height: 1.55; color: var(--mu); }
.x7 .x7-lg__a a.x7-btn--n, .x7 .x7-lg__a a.x7-btn--n:hover { color: #fff; }
/* 22.09: на обложках цитата и имя слева внизу — кнопка «смотреть» уходит в правый верхний угол */
.x7 .x7-vid__play { left: auto; right: 12px; top: 12px; bottom: auto; }

/* 22.09 (2): спрос из Вордстата — иконка + цифра + текст, одна плашка */
.x7 .x7-ws { display: flex; gap: 20px; align-items: flex-start; margin: 8px 0 28px; padding: 22px 24px; border-radius: 20px; background: var(--chip); }
.x7 .x7-ws__ic { flex: none; display: flex; align-items: center; justify-content: center; width: 56px; height: 56px; border-radius: 16px; background: var(--navy); color: var(--tod); }
.x7 .x7-ws__b { display: grid; grid-template-columns: auto 1fr; gap: 6px 16px; align-items: baseline; }
.x7 .x7-ws__b b { font-size: 40px; line-height: 1; font-weight: 700; color: var(--navy); letter-spacing: -.02em; }
.x7 .x7-ws__b p { margin: 0; font-size: 16px; line-height: 1.5; color: var(--gr); }
.x7 .x7-ws__b small { grid-column: 1 / -1; font-size: 13px; line-height: 1.45; color: var(--mu); }
@media (max-width: 640px) { .x7 .x7-ws { gap: 14px; padding: 18px; } .x7 .x7-ws__ic { width: 44px; height: 44px; border-radius: 12px; } .x7 .x7-ws__ic svg { width: 22px; height: 22px; } .x7 .x7-ws__b { grid-template-columns: 1fr; } .x7 .x7-ws__b b { font-size: 34px; } }
@media (max-width: 900px) { .x7 .x7-rz__img { max-height: 220px; object-fit: contain; } }
/* разбор в колонке рядом с текстом о рынке: одна тёмная карточка с картинкой вместо «карточки в карточке» */
.x7 .x7-lg__a--rz { padding: 0; background: none; }
.x7 .x7-rz { display: flex; flex-direction: column; gap: 10px; padding: 22px; border-radius: 22px; background: var(--navy); color: #fff; overflow: hidden; }
.x7 .x7-rz__img { width: 100%; height: auto; margin: -6px 0 4px; border-radius: 14px; background: #fff; }
.x7 .x7-rz__chip { align-self: flex-start; padding: 5px 11px; border-radius: 999px; background: rgba(127, 224, 223, .14); color: var(--tod); font-size: 13px; font-weight: 600; }
.x7 .x7 .x7-rz__t, .x7 .x7-rz__t { font-size: 22px; line-height: 1.25; font-weight: 700; color: #fff; text-transform: none; letter-spacing: 0; }
.x7 .x7-rz p { margin: 0 0 8px; font-size: 15px; line-height: 1.55; color: rgba(255, 255, 255, .78); }
.x7 .x7-rz .x7-btn { width: 100%; justify-content: center; }
/* что понадобится — карточки с картинкой предмета */
.x7 .x7-need { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }
.x7 .x7-need__i { display: flex; flex-direction: column; border: 1px solid var(--hair); border-radius: 20px; overflow: hidden; background: #fff; }
.x7 .x7-need__pic { display: flex; align-items: center; justify-content: center; height: 180px; padding: 18px; background: var(--wash); }
.x7 .x7-need__pic img { max-width: 100%; max-height: 100%; width: auto; height: auto; object-fit: contain; }
.x7 .x7-need__i h3 { margin: 18px 22px 6px; font-size: 18px; line-height: 1.3; color: var(--gr); }
.x7 .x7-need__i p { margin: 0 22px 22px; font-size: 15px; line-height: 1.55; color: var(--mu); }
@media (max-width: 900px) { .x7 .x7-need { grid-template-columns: 1fr; } .x7 .x7-need__pic { height: 150px; } }
/* 22.09: картинки с белым фоном в карточках «Что понадобится» — сливаем с серым фоном */
.x7 .x7-need__pic img { mix-blend-mode: multiply; }
/* 22.09: подпись об источнике цифр в тексте рынка города */
.x7 .x7-prose .x7-src { margin-top: 18px; font-size: 13px; line-height: 1.5; color: var(--mu); }

/* ---- Эфир недели: кадр со значком play (правка владельца 23.09) ---- */
.x7 .x7-efp { position: relative; border-radius: 20px; overflow: hidden; background: #0d2030; aspect-ratio: 4 / 3; }
.x7 .x7-efp img { width: 100%; height: 100%; object-fit: cover; object-position: center 22%; display: block; }
.x7 .x7-efp__play { position: absolute; inset: 0; margin: auto; width: 72px; height: 72px; display: flex;
  align-items: center; justify-content: center; border-radius: 50%; background: rgba(255,255,255,.92);
  color: #0d2030; box-shadow: 0 10px 30px rgba(0,0,0,.28); }
.x7 .x7-efp__play svg { margin-left: 4px; }
.x7 .x7-efp__cap { position: absolute; left: 14px; right: 14px; bottom: 14px; padding: 8px 12px; border-radius: 12px;
  background: rgba(8,24,38,.78); color: #fff; font-size: 13px; line-height: 1.3; backdrop-filter: blur(4px); }
.x7 .x7-efl { margin: 14px 0 0; padding: 0; list-style: none; display: grid; gap: 8px; }
.x7 .x7-efl li { position: relative; padding-left: 16px; color: rgba(255,255,255,.86); font-size: 15px; line-height: 1.5; }
.x7 .x7-efl li::before { content: ''; position: absolute; left: 0; top: 9px; width: 6px; height: 6px; border-radius: 50%; background: #4fd1c5; }
.x7 .x7-efl b { color: #fff; }
.x7 .x7-efn { margin: 12px 0 0; color: rgba(255,255,255,.66); font-size: 14px; }

/* ---- Прошедшие эфиры: приглушённые карточки с датой ---- */
.x7 .x7-pes { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.x7 .x7-pe { background: #f3f5f7; border: 1px solid #e7ebee; border-radius: 18px; padding: 20px; opacity: .82;
  transition: opacity .18s ease, box-shadow .18s ease; display: flex; flex-direction: column; }
.x7 .x7-pe:hover { opacity: 1; box-shadow: 0 8px 24px rgba(13,32,48,.08); }
.x7 .x7-pe__h { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; margin-bottom: 10px; }
.x7 .x7-pe__d { font-size: 13px; font-weight: 600; color: #5d6b76; }
.x7 .x7-pe__b { font-size: 12px; padding: 3px 9px; border-radius: 999px; background: #e3e8ec; color: #6b7883; }
.x7 .x7-pe__t { margin: 0 0 4px; font-size: 18px; line-height: 1.3; color: #22333f; }
.x7 .x7-pe__w { margin: 0 0 8px; font-size: 14px; color: #6b7883; }
.x7 .x7-pe__x { margin: 0 0 16px; font-size: 15px; line-height: 1.5; color: #55636d; flex: 1; }
.x7 .x7-pe__go { display: inline-flex; align-items: center; gap: 6px; font-size: 15px; font-weight: 600;
  color: #10788a; text-decoration: none; }
.x7 .x7-pe__go:hover { text-decoration: underline; }
.x7 .x7-pes__more { margin: 18px 0 0; font-size: 15px; color: #6b7883; line-height: 1.55; }
@media (max-width: 900px) { .x7 .x7-pes { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 620px) { .x7 .x7-pes { grid-template-columns: 1fr; } }

/* Предохранитель для карточек с заданной пропорцией.
   Причина: обёртка с aspect-ratio внутри flex/grid имеет min-height:auto и распирается натуральной
   высотой картинки — карточки в каруселях вырастали вдвое, а текст вылезал за край.
   Лечение общее: обёртка — система координат с обрезкой, картинка — абсолютная внутри неё. */
.x7 .x7-lc__pic,
.x7 .x7-rl__pic,
.x7 .x7-gal__ph,
.x7 .x7-kadr__pic { position: relative; flex: 0 0 auto; min-height: 0; overflow: hidden; }
.x7 .x7-lc__pic img,
.x7 .x7-rl__pic img,
.x7 .x7-gal__ph img,
.x7 .x7-kadr__pic img { position: absolute; inset: 0; width: 100%; height: 100%; }
.x7 .x7-lc__pic img { object-fit: contain; padding: 14px 16px; }
.x7 .x7-rl__pic img { object-fit: contain; }
.x7 .x7-gal__ph img { object-fit: cover; }
/* Карточки каруселей — одинаковой высоты, текст внутри не обрезается */
.x7 .x7-lc, .x7 .x7-kadr { display: flex; flex-direction: column; }
.x7 .x7-lc__b { flex: 1 1 auto; }

/* Закрытый <details> обязан прятать содержимое.
   В текущем Chrome содержимое закрытой карточки преподавателя рендерилось ниже карточки
   и ложилось на следующую секцию («В Братстве автоэлектриков…» поверх заголовка «Отзывы»).
   Правило страхует поведение браузера во всех наших раскрывашках: карточки экспертов, программы, FAQ. */
.x7 details:not([open]) > *:not(summary) { display: none !important; }

/* 24.09: предметная раскладка без фона в блоке split — показываем целиком, а не кадрируем */
.x7 .x7-split--obj .x7-split__pic img { object-fit: contain; max-height: 460px; border-radius: 0; }

/* 24.09: в карусели записей подписки стоят обложки-коробки — им нужна вертикальная ячейка,
   иначе коробка в горизонтальном окне 3:2 съёживается до трети ширины карточки. */
.x7 .x7-rail--lib .x7-lc__pic { aspect-ratio: 4 / 5; background: #f5f7f9; }
.x7 .x7-rail--lib .x7-lc__pic img { padding: 10px 12px; }

/* 24.09: карусель «Курсы в подписке» — коробки были 358×448, слишком крупные рядом с остальными блоками.
   Уменьшаем карточку примерно на треть; правило по классу, поэтому действует на любой такой карусели. */
.x7 .x7-rail--lib .x7-lc { flex: 0 0 clamp(148px, 16%, 205px); width: clamp(148px, 16%, 205px); }
/* воздух вокруг коробки внутри серой ячейки */
.x7 .x7-rail--lib .x7-lc__pic img { padding: 24px 26px; }
.x7 .x7-rail--lib .x7-lc__b { padding-top: 10px; }
@media (max-width: 640px) { .x7 .x7-rail--lib .x7-lc__pic img { padding: 14px 16px; } }

/* 24.09: в карточке каталога две кнопки — «Подробнее» и «Помочь с выбором» */
.x7 .x7-pc__btns { display: flex; flex-wrap: wrap; gap: 8px; width: 100%; }
.x7 .x7-pc__btns .x7-btn { flex: 1 1 140px; justify-content: center; }

/* 24.09: длинные цитаты под карточкой видео сворачиваются — на виду одна зацепка */
.x7 .x7-vqd { margin-top: 8px; }
.x7 .x7-vqd > summary { display: inline-flex; align-items: center; gap: 6px; cursor: pointer;
  font-size: 14px; font-weight: 600; color: var(--teal); list-style: none; padding: 2px 0; }
.x7 .x7-vqd > summary::-webkit-details-marker { display: none; }
.x7 .x7-vqd > summary::after { content: ""; width: 7px; height: 7px; border-right: 2px solid currentColor;
  border-bottom: 2px solid currentColor; transform: rotate(45deg) translateY(-2px); transition: transform .15s; }
.x7 .x7-vqd[open] > summary::after { transform: rotate(-135deg) translateY(-1px); }
.x7 .x7-vqd > summary:hover { text-decoration: underline; }
.x7 .x7-vqd--q > summary { margin-top: 4px; }
.x7 .x7-vqd--q > p { margin-top: 12px; }

/* 24.09: карточки реквизитов шли вплотную к серому блоку выше и налезали на его скруглённый низ */
.x7 .x7-seo + .x7-req { margin-top: 20px; }

/* 24.09: картинка в тёмном блоке (darkbox) стояла голым прямоугольником и растягивалась (object-fit: fill).
   Делаем врезку: скругление, мягкая тень, тонкая светлая кромка, пропорции не ломаем. */
.x7 .x7-dbox .x7-sim__pic { border-radius: 18px; overflow: hidden; box-shadow: 0 18px 40px rgba(0, 0, 0, .35);
  outline: 1px solid rgba(255, 255, 255, .10); outline-offset: -1px; }
.x7 .x7-dbox .x7-sim__pic img { display: block; width: 100%; height: 100%; object-fit: cover; border-radius: inherit; }

/* 24.09: кнопка play в блоке Братства центрировалась по всей картинке и стояла рядом с экраном.
   Ставим её по центру экрана ноутбука (замер по углам экрана в файле x7-brat-laptop-n.webp). */
.x7 .x7-br__pic .x7-efp__play { inset: auto; left: 67.6%; top: 37.5%; transform: translate(-50%, -50%); margin: 0; }
@media (max-width: 767px) {
  .x7 .x7-hero__scr .x7-efp__play--scr { width: 46px; height: 46px; }
  .x7 .x7-hero__scr .x7-efp__play--scr svg { width: 20px; height: 20px; }
}

/* 24.09: hero страницы эфиров — кадр разбора вклеен прямо в экран ноутбука на рендере.
   Обёртка .x7-hero__scr повторяет размер картинки, поэтому кнопка play садится на экран
   (левее и ниже центра, чтобы не перекрывать лицо эксперта; замер по углам экрана). */
.x7 .x7-hero__scr { position: relative; display: block; }
.x7 .x7-hero__scr img { display: block; width: 100%; height: auto; }
.x7 .x7-hero__scr .x7-efp__play--scr {
  position: absolute; inset: auto; left: 21%; top: 52%;
  transform: translate(-50%, -50%); margin: 0; z-index: 2;
  width: 60px; height: 60px;
}
.x7 .x7-hero__scr .x7-efp__play--scr svg { width: 26px; height: 26px; }

/* 25.09: страницы отдельных пособий (J9) — плитка «другие пособия»: обложка, название, цена */
.x7 .x7-bkls { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }
.x7 .x7-bkl { display: flex; align-items: center; gap: 14px; padding: 12px 14px; border-radius: 16px;
  background: var(--card, #fff); border: 1px solid rgba(15, 32, 55, .10); text-decoration: none; color: inherit;
  transition: border-color .18s ease, transform .18s ease, box-shadow .18s ease; }
.x7 .x7-bkl:hover { border-color: rgba(15, 32, 55, .22); transform: translateY(-2px); box-shadow: 0 10px 24px rgba(15, 32, 55, .10); }
.x7 .x7-bkl__pic { flex: 0 0 56px; width: 56px; display: block; }
.x7 .x7-bkl__pic img { display: block; width: 100%; height: auto; border-radius: 6px; }
.x7 .x7-bkl__b { display: flex; flex-direction: column; gap: 3px; min-width: 0; }
.x7 .x7-bkl__t { font-weight: 600; line-height: 1.3; font-size: 15px; }
.x7 .x7-bkl__p { font-size: 13px; color: var(--teal); font-weight: 700; }
@media (max-width: 1023px) { .x7 .x7-bkls { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 640px) { .x7 .x7-bkls { grid-template-columns: 1fr; } }
/* обложка пособия в первом экране: портретная картинка не должна растягиваться на всю ширину блока */
.x7 .x7-hero__pic--bk img { max-height: 420px; width: auto; margin: 0 auto; display: block; }

/* 26.09. Календарь эфиров: неделю закрывает эфир, до понедельника следующая помечается «Готовимся». */
.x7 .x7-cal__i.is-prep { box-shadow: inset 0 0 0 1.5px var(--teal); background: #F4FBFA; opacity: 1; }
.x7 .x7-cal__i.is-prep .x7-cal__s { background: #E9F7F6; color: var(--teal); }

/* 26.09, по скриншоту владельца: на узком экране длинная надпись в кнопке уезжала за край карточки
   («Смотреть запись в Братстве автоэлектриков»). Кнопки на мобильном переносят текст. */
@media (max-width: 720px) {
  .x7 .x7-btn { white-space: normal; padding-top: 12px; padding-bottom: 12px; }
}

/* 26.09. Круг тем: кольцо из 15 тем + внешняя дуга «и снова по кругу».
   Широкий экран — карточки-акценты внутри картинки, телефон — плашки под ней. */
.x7 .x7-sp { display: block; }
.x7 .x7-sp__nar { display: none; }
.x7 .x7-sp__svg { width: 100%; max-width: 1020px; height: auto; display: block; margin: 0 auto; }
.x7 .x7-sp__nar .x7-sp__svg { max-width: 380px; }
.x7 .x7-sp__ring { stroke: #DEE7EC; stroke-width: 2; }
.x7 .x7-sp__arc { stroke: #9FB4C0; stroke-width: 2.4; stroke-linecap: round; stroke-dasharray: 7 7; }
.x7 .x7-sp__ar { stroke: #9FB4C0; stroke-width: 2.4; stroke-linecap: round; stroke-linejoin: round; }
.x7 .x7-sp__lead { stroke: #C6D3DA; stroke-width: 1.5; stroke-dasharray: 3 4; }
.x7 .x7-sp__c rect { fill: #F3F7F9; stroke: #E0E9EE; stroke-width: 1; }
.x7 .x7-sp__eb { font-size: 11px; font-weight: 700; letter-spacing: .09em; text-transform: uppercase; fill: var(--teal); }
.x7 .x7-sp__ct { font-size: 17px; font-weight: 700; fill: var(--navy); }
.x7 .x7-sp__n circle { fill: #fff; stroke: #9FB4C0; stroke-width: 2; }
.x7 .x7-sp__n text { font-weight: 700; fill: var(--gr); }
.x7 .x7-sp__n.is-key circle { fill: var(--navy); stroke: var(--navy); }
.x7 .x7-sp__n.is-key text { fill: #fff; }
.x7 .x7-sp__n.is-on circle { fill: var(--teal); stroke: var(--teal); }
.x7 .x7-sp__n.is-on text { fill: #fff; }
.x7 .x7-sp__mid { font-size: 15px; fill: var(--mu); }
.x7 .x7-sp__mid--b { font-size: 34px; font-weight: 700; fill: var(--navy); }
.x7 .x7-sp__tag { font-size: 14px; font-weight: 600; fill: var(--mu); letter-spacing: .02em; }
.x7 .x7-sp__tag--up { fill: var(--teal); }
.x7 .x7-sp__pl { list-style: none; margin: 18px 0 0; padding: 0; display: grid; gap: 10px; }
.x7 .x7-sp__p { display: flex; gap: 12px; align-items: center; background: #F3F7F9;
                border: 1px solid #E0E9EE; border-radius: 14px; padding: 12px 14px; }
.x7 .x7-sp__pn { flex: 0 0 30px; height: 30px; border-radius: 50%; background: var(--navy); color: #fff;
                 font-weight: 700; font-size: 14px; display: flex; align-items: center; justify-content: center; }
.x7 .x7-sp__pb { display: block; font-size: 16px; font-weight: 700; color: var(--navy); line-height: 1.3; }
.x7 .x7-sp__pb b { display: block; font-size: 11px; font-weight: 700; letter-spacing: .09em;
                   text-transform: uppercase; color: var(--teal); margin-bottom: 2px; }
.x7 .x7-sp__all { margin: 16px auto 0; max-width: 840px; text-align: center; font-size: 14px; line-height: 1.6; color: var(--mu); }
.x7 .x7-sp__all b { color: var(--gr); font-weight: 700; }
@media (max-width: 860px) {
  .x7 .x7-sp__wide { display: none; }
  .x7 .x7-sp__nar { display: block; }
}

/* 26.09. Тема недели: полоса под первым экраном и блок «живой эфир» (главная, Братство). */
.x7 .x7-wk-s { padding: 0; }
.x7 .x7-wk { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 18px; margin: 18px 0 0;
             padding: 14px 20px; border: 1px solid #E0E9EE; border-radius: 16px; background: #F3F7F9; }
.x7 .x7-wk__eye { display: inline-flex; align-items: center; gap: 8px; font-size: 12px; font-weight: 700;
                  letter-spacing: .09em; text-transform: uppercase; color: var(--teal); }
.x7 .x7-wk__eye svg { flex: 0 0 auto; }
.x7 .x7-wk__b { font-size: 16px; color: var(--navy); }
.x7 .x7-wk__b b { font-weight: 700; }
.x7 .x7-wk__d { font-size: 15px; color: var(--mu); }
.x7 .x7-wk__d b { color: var(--gr); font-weight: 600; }
.x7 .x7-wk__a { margin-left: auto; display: inline-flex; align-items: center; gap: 6px; white-space: nowrap;
                font-size: 15px; font-weight: 600; color: var(--teal); text-decoration: none; }
.x7 .x7-wk__a:hover { text-decoration: underline; }
.x7 .x7-wks { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 24px; align-items: center; }
.x7 .x7-wkc { display: block; padding: 26px 28px; border-radius: 20px; background: var(--navy); color: #fff; }
.x7 .x7-wkc__eye { display: block; font-size: 12px; font-weight: 700; letter-spacing: .09em;
                   text-transform: uppercase; color: #7FD3D0; margin-bottom: 10px; }
.x7 .x7-wkc__t { display: block; font-size: 26px; line-height: 1.22; font-weight: 700; margin-bottom: 16px; }
.x7 .x7-wkc__d { display: block; font-size: 16px; color: #D5E2EA; }
/* иконка инлайном: flex здесь разрывал строку пробелами вокруг <b> */
.x7 .x7-wkc__d svg { vertical-align: -4px; margin-right: 8px; }
.x7 .x7-wkc__d b { color: #fff; font-weight: 700; }
.x7 .x7-wkc__n { display: block; margin-top: 8px; font-size: 14px; color: #9FB6C6; }
.x7 .x7-wkc__n b { color: #D5E2EA; font-weight: 700; }
.x7 .x7-wks__l { list-style: none; margin: 0 0 20px; padding: 0; display: grid; gap: 12px; }
.x7 .x7-wks__l li { display: flex; gap: 10px; align-items: flex-start; font-size: 16px; line-height: 1.45; color: var(--gr); }
.x7 .x7-wks__l li svg { flex: 0 0 auto; margin-top: 3px; color: var(--teal); }
@media (max-width: 860px) {
  .x7 .x7-wks { grid-template-columns: 1fr; }
  /* полоса под первым экраном: на телефоне держим её компактной — три короткие строки */
  .x7 .x7-wk { gap: 2px 12px; padding: 12px 14px; margin-top: 14px; }
  .x7 .x7-wk__eye { font-size: 10px; }
  .x7 .x7-wk__b { font-size: 15px; line-height: 1.35; }
  .x7 .x7-wk__d { font-size: 13px; }
  .x7 .x7-wk__a { margin-left: 0; font-size: 14px; }
  .x7 .x7-wkc__t { font-size: 22px; }
}

/* 27.09 (правка владельца, вторая итерация). Первый экран пособия: раньше плоская обложка лежала
   на светлой подставке — получалась «рамка в рамке». Теперь в hero стоит сама книга: реальная
   обложка вклеена в 3D-болванку, у картинки свой тёмно-синий фон и тень, подставка не нужна.
   Остаётся только бейдж PDF — формат люди путали с бумажной книгой. */
.x7 .x7-bkw { position: relative; display: inline-block; }
.x7 .x7-bkw__in { display: block; }
.x7 .x7-hero__pic--bk img { max-height: 360px; width: auto; display: block; margin: 0 auto;
  filter: drop-shadow(0 26px 34px rgba(0, 0, 0, .5)); }
.x7 .x7-bkw__pdf { position: absolute; right: 6px; top: 8px; background: var(--teal); color: #fff;
  font: 700 13px/1 var(--f, inherit); letter-spacing: .05em; padding: 7px 13px; border-radius: 999px;
  box-shadow: 0 8px 18px rgba(0, 0, 0, .3); }
@media (max-width: 767px) {
  .x7 .x7-hero__pic--bk img { max-height: 258px; }
  .x7 .x7-bkw::before { height: 40%; filter: blur(12px); }
}

/* 27.09. Длинные списки (например, все 10 пособий в комплекте) занимали целый экран.
   Первые пункты видны, остальные — под небольшой кнопкой. Работает без скриптов. */
.x7 .x7-fold { margin-top: 6px; }
.x7 .x7-fold > summary { display: inline-flex; align-items: center; gap: 8px; cursor: pointer;
  list-style: none; font-weight: 600; font-size: 15px; color: var(--teal); padding: 8px 0; }
.x7 .x7-fold > summary::-webkit-details-marker { display: none; }
.x7 .x7-fold > summary::after { content: ''; width: 8px; height: 8px; border-right: 2px solid currentColor;
  border-bottom: 2px solid currentColor; transform: rotate(45deg) translateY(-2px); }
.x7 .x7-fold[open] > summary::after { transform: rotate(-135deg) translateY(-2px); }
.x7 .x7-fold > summary .x7-fold__l { display: none; }
.x7 .x7-fold[open] > summary .x7-fold__m { display: none; }
.x7 .x7-fold[open] > summary .x7-fold__l { display: inline; }
.x7 .x7-dbox .x7-fold > summary { color: #7FD8D2; }

/* 27.09. Метка формата на карточке пособия. */
.x7 .x7-badge--pdf { background: #EAF4F4; color: #0E6B67; border: 1px solid #C9E5E3; font-weight: 700; letter-spacing: .04em; }

/* 27.09: скриншоты из личного кабинета — кадр целиком, без обрезки под 4:3 */
.x7 .x7-gal--shot .x7-gal__ph { aspect-ratio: auto; background: #fff; border: 1px solid var(--line); border-radius: 16px; overflow: hidden; }
.x7 .x7-gal--shot .x7-gal__ph img { position: static; inset: auto; width: 100%; height: auto; object-fit: contain; }
.x7 .x7-gal--shot.x7-gal--1 { grid-template-columns: minmax(0, 1fr); max-width: 760px; }

/* 27.09 (правка владельца, третья итерация). Книги стояли на собственном фоне — на тёмном блоке
   получался прямоугольник чужого оттенка. Фон у картинок вырезан, а «сцена» собрана здесь:
   мягкое свечение под предметом и растворяющаяся линия стола. Никакой подложки — только свет. */
.x7 .x7-bkw::before,
.x7 .x7-glow::before {
  content: ''; position: absolute; left: 50%; bottom: -10%; transform: translateX(-50%);
  width: 190%; height: 32%; pointer-events: none; z-index: 0;
  background: radial-gradient(ellipse at 50% 50%, rgba(255, 255, 255, .42) 0%, rgba(160, 240, 235, .22) 36%, rgba(45, 212, 191, 0) 70%);
  filter: blur(12px);
}
.x7 .x7-bkw::after,
.x7 .x7-glow::after {
  content: ''; position: absolute; left: 50%; bottom: -3%; transform: translateX(-50%);
  width: 118%; height: 26px; pointer-events: none; z-index: 0;
  background:
    linear-gradient(90deg, rgba(255,255,255,0), rgba(255,255,255,.26) 26%, rgba(255,255,255,.26) 74%, rgba(255,255,255,0)) center / 100% 2px no-repeat,
    radial-gradient(ellipse at 50% 50%, rgba(0, 0, 0, .55), rgba(0, 0, 0, 0) 70%);
  filter: blur(4px);
}
.x7 .x7-bkw__in { position: relative; z-index: 1; }
.x7 .x7-bkw__pdf { z-index: 2; }
.x7 .x7-glow { position: relative; display: inline-block; }
.x7 .x7-glow img { position: relative; z-index: 1; display: block; width: 100%; height: auto;
  filter: drop-shadow(0 22px 28px rgba(0, 0, 0, .45)); }
@media (max-width: 767px) {
  .x7 .x7-bkw::before, .x7 .x7-glow::before { height: 26%; width: 165%; filter: blur(10px); }
  .x7 .x7-bkw::after, .x7 .x7-glow::after { height: 18px; }
}

/* 27.09 (правка владельца, четвёртая итерация): «если сделать чуть компактнее, меньше зазоров —
   может оно более цельно будет смотреться». Здесь мешала не ширина полей, а врезка вокруг картинки:
   у .x7-sim__pic скруглённая рамка со светлой кромкой и тенью, и вокруг предмета с вырезанным фоном
   она читалась как отдельная панель поверх блока. Для таких картинок врезку снимаем, поля ужимаем,
   картинку даём крупнее — предмет стоит прямо на фоне блока. */
.x7 .x7-dbox .x7-sim__pic--free { border-radius: 0; overflow: visible; box-shadow: none; outline: none;
  padding: 18px 26px 18px 0; }
.x7 .x7-dbox:has(.x7-sim__pic--free) .x7-sim__txt { padding-top: 44px; padding-bottom: 44px; }
.x7 .x7-sim__pic--free .x7-glow { width: 116%; margin-left: -10%; }
@media (max-width: 1023px) {
  .x7 .x7-dbox .x7-sim__pic--free { padding: 0 22px 22px; }
  .x7 .x7-sim__pic--free .x7-glow { width: 100%; margin-left: 0; }
}

/* 27.09 (правка владельца): «расположение фиговое». Книга в первом экране пособия прижималась
   к левому краю своей колонки — справа оставалось больше 300 px пустоты. Причина: обёртка .x7-bkw
   инлайновая, а у колонки text-align: start, поэтому margin: 0 auto у самой картинки не работал. */
.x7 .x7-hero__pic--bk { text-align: center; padding-left: 28px; padding-right: 28px; }

/* 27.09 (правка владельца, пятая итерация): «приблизить книги друг к другу, чтобы в нахлёст
   и цельной картинкой, и подсветку под ними — как будто на столе». Композицию пересобрали
   в самой картинке (x7-knigi-set-t3.webp): предметы сдвинуты в нахлёст, тени, контактные
   блики и отражение запечены в файл. Поэтому CSS-свечение и линия стола для неё отключаются —
   иначе двойная подсветка. Для обложек в первом экране (.x7-bkw) они остаются. */
.x7 .x7-sim__pic--free .x7-glow::before,
.x7 .x7-sim__pic--free .x7-glow::after { content: none; }
.x7 .x7-sim__pic--free .x7-glow img { filter: none; }

/* 27.09: врезка бесплатного материала в статье (лид-магнит).
   Отличается от блока «Обучение» под ней: светлый фон, тонкая рамка и акцентная полоса слева,
   чтобы читалось как «это бесплатно», а не как ещё один блок про курсы. */
.x7 .x7-artcta--lm { margin-top: 32px; padding-left: 28px; background: var(--wash);
  border: 1px solid var(--hair); border-left: 4px solid var(--teal); }
.x7 .x7-artcta--lm .x7-h2 { font-size: 23px; }
.x7 .x7-artcta--lm .x7-eye { color: var(--ink); }
.x7 .x7-artcta--lm .btn { margin-top: 2px; }
@media (max-width: 720px) { .x7 .x7-artcta--lm { padding-left: 16px; border-left-width: 3px; } }

/* 27.09: каталог на телефоне — две кнопки в ряд не влезали («Помочь с выбором» ломался
   на две строки, кнопка вырастала до 63px). На узком экране кнопки карточки идут в столбик. */
@media (max-width: 560px) {
  .x7 .x7-pc__btns .x7-btn { flex: 1 1 100%; }
}
