/* =====================================================================
   CALS — UI Kit / Components
   Строгий корпоративный. Носится поверх tokens.css.
   ===================================================================== */

/* ── Reset / base ─────────────────────────────────────────────────── */
*, *::before, *::after { box-sizing: border-box; }
* { margin: 0; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }
body {
  font-family: var(--font-sans);
  font-size: var(--fs-body);
  line-height: var(--lh-body);
  color: var(--c-ink);
  background: var(--c-bg);
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}
img, svg, video { display: block; max-width: 100%; height: auto; }
a { color: var(--c-accent-700); text-decoration: none; transition: color var(--t-fast); }
a:hover { color: var(--c-primary); }
ul, ol { padding-left: 1.1rem; }
:focus-visible { outline: 2px solid var(--c-accent); outline-offset: 2px; }

/* ── Layout ───────────────────────────────────────────────────────── */
.container { width: 100%; max-width: var(--container); margin: 0 auto; padding: 0 var(--s-5); }
.container.narrow { max-width: var(--container-narrow); }
.section { padding: var(--s-9) 0; }
.section--soft { background: var(--c-bg-soft); }
.section--dark { background: var(--c-primary-deep); color: var(--c-on-dark); }
.section--tint { background: var(--c-bg-tint-2); }

.section-head { max-width: 860px; margin-bottom: var(--s-7); }
.section-head--center { margin-inline: auto; text-align: center; }
.eyebrow {
  display: inline-flex; align-items: center; gap: var(--s-2);
  font-family: var(--font-mono); font-size: var(--fs-xs);
  letter-spacing: var(--ls-wide); text-transform: uppercase;
  color: var(--c-accent-700); font-weight: var(--fw-medium);
  margin-bottom: var(--s-3);
}
.eyebrow::before { content: ""; width: 22px; height: 1px; background: currentColor; opacity: .6; }
.section--dark .eyebrow { color: var(--c-accent); }
h1, h2, h3, h4 { line-height: var(--lh-tight); font-weight: var(--fw-semibold); letter-spacing: var(--ls-tight); color: var(--c-ink); }
h1 { font-size: var(--fs-h1); }
h2 { font-size: var(--fs-h2); margin-bottom: var(--s-3); }
h3 { font-size: var(--fs-h3); }
.section--dark h1, .section--dark h2, .section--dark h3 { color: var(--c-on-dark); }
.lead { font-size: 1.125rem; color: var(--c-muted); line-height: var(--lh-body); }
.section--dark .lead { color: var(--c-on-dark-muted); }

/* ── Buttons ──────────────────────────────────────────────────────── */
.btn {
  display: inline-flex; align-items: center; gap: var(--s-2);
  font-family: var(--font-sans); font-weight: var(--fw-semibold);
  font-size: var(--fs-sm); line-height: 1; letter-spacing: 0.01em;
  padding: 0.85rem 1.4rem; border-radius: var(--r-sm);
  border: 1px solid transparent; cursor: pointer;
  transition: all var(--t-fast); white-space: nowrap;
}
.btn--primary { background: var(--c-primary); color: #fff; }
.btn--primary:hover { background: var(--c-primary-700); color: #fff; }
.btn--accent  { background: var(--c-accent); color: #fff; }
.btn--accent:hover { background: var(--c-accent-700); color: #fff; }
.btn--gold    { background: var(--c-gold); color: var(--c-primary-deep); }
.btn--ghost   { background: transparent; color: var(--c-primary); border-color: var(--c-line); }
.btn--ghost:hover { border-color: var(--c-primary); color: var(--c-primary); }
.btn--on-dark { background: #fff; color: var(--c-primary-deep); }
.btn--on-dark:hover { background: var(--c-bg-tint); color: var(--c-primary-deep); }
.btn--link { background: none; color: var(--c-accent-700); padding: 0; border: none; }
.btn--link:hover { color: var(--c-primary); }

/* Gutenberg block styles */
.is-style-primary .wp-block-button__link, .wp-block-button__link.is-style-primary { background: var(--c-primary); color: #fff; border: 1px solid var(--c-primary); border-radius: var(--r-sm); padding: 0.85rem 1.4rem; font-weight: var(--fw-semibold); cursor: pointer; text-decoration: none; display: inline-flex; align-items: center; gap: var(--s-2); }
.is-style-primary .wp-block-button__link:hover, .wp-block-button__link.is-style-primary:hover { background: var(--c-primary-700); color: #fff; }
.is-style-secondary .wp-block-button__link, .wp-block-button__link.is-style-secondary { background: transparent; color: var(--c-primary); border: 1px solid var(--c-line); border-radius: var(--r-sm); padding: 0.85rem 1.4rem; font-weight: var(--fw-semibold); cursor: pointer; text-decoration: none; display: inline-flex; align-items: center; gap: var(--s-2); }
.is-style-secondary .wp-block-button__link:hover, .wp-block-button__link.is-style-secondary:hover { border-color: var(--c-primary); color: var(--c-primary); background: transparent; }
.btn--lg { padding: 1.05rem 1.75rem; font-size: var(--fs-body); }
.btn .arr { transition: transform var(--t-fast); }
.btn:hover .arr { transform: translateX(3px); }

/* ── Header ───────────────────────────────────────────────────────── */
.site-header {
  position: sticky; top: 0; z-index: var(--z-header);
  background: rgba(255,255,255,0.92);
  backdrop-filter: saturate(1.4) blur(10px);
  border-bottom: 1px solid var(--c-line);
}
.site-header__inner {
  height: var(--header-h); display: flex; align-items: center; gap: var(--s-6);
}
.brand { display: inline-flex; align-items: center; gap: var(--s-3); color: var(--c-ink); font-weight: var(--fw-bold); flex: none; }
.brand:hover { color: var(--c-primary); }
.brand__mark {
  width: 34px; height: 34px; border-radius: var(--r-xs);
  background: var(--c-primary); color: #fff;
  display: grid; place-items: center;
  font-family: var(--font-mono); font-weight: var(--fw-bold); font-size: 0.95rem;
  letter-spacing: -0.02em;
}
.brand__name { font-size: 1.0625rem; line-height: 1.05; letter-spacing: -0.01em; }
.brand__sub  { display: block; font-size: var(--fs-xs); font-weight: var(--fw-regular); color: var(--c-muted); letter-spacing: 0.02em; }
.brand__logo { height: calc(var(--header-h) - 16px); width: auto; max-width: none; flex: none; display: block; object-fit: contain; aspect-ratio: 1535 / 591; }
.footer__brand .brand__logo { width: 51px; height: 40px; }

.nav { margin-left: auto; display: flex; align-items: center; gap: var(--s-1); }
.nav__list { display: flex; align-items: center; gap: 0; list-style: none; padding: 0; margin: 0; }
.nav__item { position: static; }
.nav__link {
  display: inline-flex; align-items: center; gap: var(--s-2);
  padding: 0.5rem 0.65rem; border-radius: var(--r-xs);
  font-size: var(--fs-sm); font-weight: var(--fw-medium); color: var(--c-ink-2);
  white-space: nowrap;
}
.nav__link:hover { color: var(--c-primary); background: var(--c-bg-soft); }
.nav__link.has-sub { cursor: pointer; }
.nav__link.has-sub::after { content: "▾"; font-size: .65em; opacity: .6; transition: transform var(--t-fast); display: inline-block; }
.nav__item.is-open > .nav__link { color: var(--c-primary); background: var(--c-bg-soft); }
.nav__item.is-open > .nav__link.has-sub::after { transform: rotate(180deg); }

/* бэкдроп открытого меню (Databricks-like) */
.nav-backdrop { position: fixed; inset: var(--header-h) 0 0 0; background: rgba(11,31,51,0.30); opacity: 0; visibility: hidden; transition: opacity var(--t-fast); z-index: 90; }
body.nav-open .nav-backdrop { opacity: 1; visibility: visible; }

/* Бургер */
.nav__burger { display: none; flex-direction: column; gap: 5px; background: none; border: none; cursor: pointer; padding: 8px; z-index: 100; }
.nav__burger span { display: block; width: 24px; height: 2px; background: var(--c-ink); border-radius: 1px; transition: transform var(--t-fast), opacity var(--t-fast); }
body.menu-open .nav__burger span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
body.menu-open .nav__burger span:nth-child(2) { opacity: 0; }
body.menu-open .nav__burger span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }
.nav__sub {
  position: absolute; top: 100%; left: 0; right: 0;
  background: #fff; border-top: 1px solid var(--c-line); border-bottom: 1px solid var(--c-line);
  box-shadow: var(--sh-3); padding: var(--s-7) 0 var(--s-6);
  opacity: 0; visibility: hidden; transform: translateY(8px);
  transition: opacity var(--t-fast), visibility var(--t-fast), transform var(--t-fast);
}
.nav__item.is-open .nav__sub { opacity: 1; visibility: visible; transform: translateY(0); }

/* контент mega-панели */
.mega { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: var(--s-6) var(--s-7); }
.mega--products { grid-template-columns: repeat(4, minmax(0,1fr)); }
.mega__col { display: flex; flex-direction: column; gap: var(--s-1); }
.mega__title { font-family: var(--font-mono); font-size: var(--fs-xs); letter-spacing: var(--ls-wide); text-transform: uppercase; color: var(--c-muted); margin-bottom: var(--s-3); }
.mega__link { display: flex; flex-direction: column; gap: 2px; padding: var(--s-2); border-radius: var(--r-xs); transition: background var(--t-fast); }
.mega__link:hover { background: var(--c-bg-soft); }
.mega__link strong { font-weight: var(--fw-semibold); color: var(--c-ink); font-size: var(--fs-sm); }
.mega__link span { font-size: var(--fs-xs); color: var(--c-muted); }
.mega__link:hover strong { color: var(--c-primary); }
.mega__feature { background: var(--c-bg-soft); border: 1px solid var(--c-line); border-radius: var(--r-sm); padding: var(--s-5); display: flex; flex-direction: column; gap: var(--s-2); }
@media (max-width: 980px) { .mega, .mega--products { grid-template-columns: 1fr 1fr; } }
.header__actions { display: flex; align-items: center; gap: var(--s-3); margin-left: var(--s-3); }
.header__phone { font-family: var(--font-mono); font-size: var(--fs-sm); font-weight: var(--fw-semibold); color: var(--c-ink); white-space: nowrap; }
.header__phone:hover { color: var(--c-primary); }
/* Кнопка «Связаться»/«Записаться»: на мобильных вместо текста — иконки телефона и почты. */
.header__cta-icons { display: none; align-items: center; gap: 0.4rem; }
.header__cta-icons svg { width: 1.3rem; height: 1.3rem; fill: currentColor; }

/* ── Hero / Banner (редактируемый блок, см. план §5.2) ────────────── */
.hero { position: relative; background: var(--c-primary); color: var(--c-on-dark); overflow: hidden; }
.hero__bg { position: absolute; inset: 0; z-index: 0; }
.hero__bg img { width: 100%; height: 100%; object-fit: cover; opacity: .38; }
.hero::after { /* лёгкий scrim сверху для читаемости текста (фон #173B8C) */
  content: ""; position: absolute; inset: 0; z-index: 1;
  background: linear-gradient(180deg, var(--hero-overlay) 0%, rgba(23,59,140,0.05) 100%);
}
.hero__inner { position: relative; z-index: 2; padding: clamp(2.75rem, 5vw, 4.5rem) 0 clamp(2.5rem, 4vw, 4rem); }
.hero__eyebrow {
  font-family: var(--font-mono); font-size: var(--fs-xs); letter-spacing: var(--ls-wide);
  text-transform: uppercase; color: var(--c-accent); margin-bottom: var(--s-4);
}
.hero__title {
  font-size: var(--fs-display); font-weight: var(--fw-bold); line-height: var(--lh-tight);
  letter-spacing: -0.025em; max-width: none; color: #fff;
}
.hero__title em { font-style: normal; color: var(--c-accent); }
.hero__lead { margin-top: var(--s-4); font-size: 1.1rem; line-height: 1.5; color: var(--c-on-dark-muted); max-width: 60ch; }
.hero__actions { margin-top: var(--s-5); display: flex; flex-wrap: wrap; gap: var(--s-3); }
/* слайдер hero: точки */
.hero__dots { position: relative; z-index: 2; display: flex; gap: var(--s-2); margin-top: var(--s-5); }
.hero__dot { width: 28px; height: 3px; background: rgba(255,255,255,.25); border: none; padding: 0; cursor: pointer; transition: background var(--t-fast); }
.hero__dot.is-active { background: var(--c-accent); }
.hero__slides { display: grid; }
.hero__slide { grid-area: 1 / 1; opacity: 0; visibility: hidden; transition: opacity .5s var(--ease); }
.hero__slide.is-active { opacity: 1; visibility: visible; }

/* ── Слайд с фоновым изображением (фон на весь hero) ── */
.hero__slide.has-bg .hero__slide-bg { position: absolute; left: 50%; transform: translateX(-50%); width: 100vw; top: 0; bottom: 0; z-index: 0; background-position: center; background-size: cover; background-repeat: no-repeat; }
.hero__slide-bg--tgbanner { background-image: url('/wp-content/uploads/2026/07/tgbuilder-3d-banner.webp'); }
.hero__slide-bg--overlay { background: linear-gradient(90deg, rgba(11,31,51,.92) 0%, rgba(11,31,51,.5) 45%, rgba(11,31,51,.12) 100%); }
.hero__slide-inner { position: relative; z-index: 1; }

/* ── Форма заявки ── */
.cals-input { width: 100%; box-sizing: border-box; padding: var(--s-3); border: 1px solid var(--c-line); border-radius: var(--r-xs); font-family: inherit; font-size: var(--fs-sm); background: #fff; color: var(--c-ink); }
.cals-input:focus { outline: none; border-color: var(--c-accent); box-shadow: 0 0 0 2px rgba(77,159,216,.2); }
.cals-signup__ok { background: rgba(63,127,95,.08); border: 1px solid var(--c-success); border-radius: var(--r-xs); padding: var(--s-3); }

/* ── Cookie-consent ── */
.cookie-consent { position: fixed; left: var(--s-5); right: var(--s-5); bottom: var(--s-5); z-index: 950; background: var(--c-primary-deep); color: var(--c-on-dark); border-radius: var(--r-sm); box-shadow: var(--sh-3); padding: var(--s-5); display: flex; align-items: center; justify-content: space-between; gap: var(--s-5); flex-wrap: wrap; max-width: var(--container); margin: 0 auto; }
.cookie-consent__text { font-size: var(--fs-sm); max-width: 70ch; }
.cookie-consent__text a { color: var(--c-accent); text-decoration: underline; }
.cookie-consent__btns { display: flex; gap: var(--s-3); }
@media (max-width: 640px) { .cookie-consent { left: var(--s-3); right: var(--s-3); bottom: var(--s-3); } .cookie-consent__btns { width: 100%; } .cookie-consent__btns .btn { flex: 1; } }
html.a11y .cookie-consent { background: #fff; color: #000; border: 2px solid #000; }

/* ── Trust / stats bar ────────────────────────────────────────────── */
.stats { display: grid; grid-template-columns: repeat(4, 1fr); gap: 0; border-top: 1px solid var(--c-line); border-bottom: 1px solid var(--c-line); }
.stat { padding: var(--s-6) var(--s-2); border-right: 1px solid var(--c-line); }
.stat:last-child { border-right: none; }
.stat__num { font-family: var(--font-mono); font-size: 2rem; font-weight: var(--fw-semibold); color: var(--c-primary); letter-spacing: -0.02em; line-height: 1; }
.stat__num small { font-size: 1rem; color: var(--c-muted); font-weight: var(--fw-regular); }
.stat__label { margin-top: var(--s-2); font-size: var(--fs-sm); color: var(--c-muted); }

/* ── Cards grid ───────────────────────────────────────────────────── */
.grid { display: grid; gap: var(--s-5); }
.grid--2 { grid-template-columns: repeat(2, 1fr); }
.grid--3 { grid-template-columns: repeat(3, 1fr); }
.grid--4 { grid-template-columns: repeat(4, 1fr); }

/* Product card */
.card {
  background: var(--c-bg); border: 1px solid var(--c-line); border-radius: var(--r-sm);
  padding: var(--s-6); display: flex; flex-direction: column; gap: var(--s-3);
  transition: transform var(--t), box-shadow var(--t), border-color var(--t);
}
.card:hover { transform: translateY(-3px); box-shadow: var(--sh-2); border-color: transparent; }
.card__icon { width: 44px; height: 44px; border-radius: var(--r-xs); background: var(--c-bg-tint); display: grid; place-items: center; color: var(--c-primary); }
.card__logo { width: 28px; height: 28px; object-fit: contain; display: block; align-self: flex-start; }
.card__title { font-size: var(--fs-h3); font-weight: var(--fw-semibold); }
.card__title a { color: var(--c-ink); }
.card__title a:hover { color: var(--c-primary); }
.card__desc { color: var(--c-muted); font-size: var(--fs-sm); }
.card__tag { font-family: var(--font-mono); font-size: var(--fs-xs); letter-spacing: 0.04em; color: var(--c-accent-700); text-transform: uppercase; }
.card__foot { margin-top: auto; padding-top: var(--s-3); }

/* News / event card */
.post {
  background: var(--c-bg); border: 1px solid var(--c-line); border-radius: var(--r-sm);
  overflow: hidden; display: flex; flex-direction: column; transition: transform var(--t), box-shadow var(--t);
}
.post:hover { transform: translateY(-3px); box-shadow: var(--sh-2); }
.post__media { aspect-ratio: 16/9; background: var(--c-bg-soft); overflow: hidden; }
.post__media img { width: 100%; height: 100%; object-fit: cover; transition: transform var(--t); }
.post:hover .post__media img { transform: scale(1.04); }
.post__body { padding: var(--s-5); display: flex; flex-direction: column; gap: var(--s-3); flex: 1; }
.post__meta { display: flex; align-items: center; gap: var(--s-3); font-family: var(--font-mono); font-size: var(--fs-xs); color: var(--c-muted); }
.post__cat { color: var(--c-accent-700); font-weight: var(--fw-medium); }
.post__title { font-size: 1.0625rem; line-height: var(--lh-snug); }
.post__title a { color: var(--c-ink); }
.post__title a:hover { color: var(--c-primary); }
.post__excerpt { font-size: var(--fs-sm); color: var(--c-muted); }

/* Service card */
.svc {
  background: var(--c-bg); border: 1px solid var(--c-line); border-top: 3px solid var(--c-primary);
  border-radius: var(--r-sm); padding: var(--s-6);
  display: flex; flex-direction: column; gap: var(--s-3);
  transition: transform var(--t), box-shadow var(--t);
}
.svc:hover { transform: translateY(-3px); box-shadow: var(--sh-2); }
.svc__num { font-family: var(--font-mono); font-size: var(--fs-xs); color: var(--c-accent-700); letter-spacing: var(--ls-wide); }
.svc__title { margin: 0; }
.svc__list { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: var(--s-2); }
.svc__list li { font-size: var(--fs-sm); color: var(--c-ink-2); padding-left: 1.1rem; position: relative; }
.svc__list li::before { content: "—"; position: absolute; left: 0; color: var(--c-accent); }

/* ── CTA band ─────────────────────────────────────────────────────── */
.cta { background: var(--c-primary); color: #fff; border-radius: var(--r-sm); padding: var(--s-8) var(--s-7); display: flex; align-items: center; justify-content: space-between; gap: var(--s-6); flex-wrap: wrap; }
.cta__title { font-size: var(--fs-h2); color: #fff; max-width: 20ch; }
.cta__desc { color: var(--c-on-dark-muted); margin-top: var(--s-3); max-width: 48ch; }

/* ── Footer ───────────────────────────────────────────────────────── */
.site-footer { background: var(--c-primary-deep); color: var(--c-on-dark-muted); padding: var(--s-9) 0 var(--s-6); }
.footer__grid { display: grid; grid-template-columns: 1.4fr 1fr 1fr 1fr; gap: var(--s-7); }
/* Футер УЦ: сетка остаётся 4-колоночной — блок «Программы» шириной в две
   колонки, в четвёртой колонке «Сведения» и «Документы» друг под другом.
   Левая колонка уже, колонки программ шире (длинные названия в одну строку),
   промежутки компактнее базовых. */
.footer__grid--dpo { grid-template-columns: 1.1fr 1.3fr 1.3fr 1fr; gap: var(--s-6); }
.footer__grid--dpo .footer__programs { grid-column: span 2; }
.footer__brand .brand__name { color: var(--c-on-dark); }
.footer__brand p { margin-top: var(--s-4); font-size: var(--fs-sm); max-width: 36ch; }
.footer h4 { color: var(--c-on-dark); font-size: var(--fs-sm); text-transform: uppercase; letter-spacing: var(--ls-wide); margin-bottom: var(--s-4); font-family: var(--font-mono); font-weight: var(--fw-medium); }
.footer ul { list-style: none; padding: 0; display: flex; flex-direction: column; gap: var(--s-2); }
.footer ul a { color: var(--c-on-dark-muted); font-size: var(--fs-sm); }
.footer ul a:hover { color: var(--c-on-dark); }
.footer__bottom { margin-top: var(--s-8); padding-top: var(--s-5); border-top: 1px solid rgba(255,255,255,.1); display: flex; justify-content: space-between; gap: var(--s-4); flex-wrap: wrap; font-size: var(--fs-xs); }
.footer__legal { display: flex; gap: var(--s-5); flex-wrap: wrap; }

/* ── Utility ──────────────────────────────────────────────────────── */
.text-muted { color: var(--c-muted); }
.mt-auto { margin-top: auto; }
.divider { height: 1px; background: var(--c-line); border: none; }
.link-more { display: inline-flex; align-items: center; gap: var(--s-2); font-size: var(--fs-sm); font-weight: var(--fw-semibold); color: var(--c-accent-700); }
.link-more .arr { transition: transform var(--t-fast); }
.link-more:hover .arr { transform: translateX(3px); }
.eyebrow--plain::before { display: none; }

/* ── Responsive ───────────────────────────────────────────────────── */
@media (max-width: 980px) {
  .grid--4 { grid-template-columns: repeat(2, 1fr); }
  .grid--3 { grid-template-columns: repeat(2, 1fr); }
  .stats { grid-template-columns: repeat(2, 1fr); }
  .stat:nth-child(2) { border-right: none; }
  .stat:nth-child(1), .stat:nth-child(2) { border-bottom: 1px solid var(--c-line); }
  .footer__grid { grid-template-columns: 1fr 1fr; }
  .footer__grid--dpo .footer__programs { grid-column: auto; } /* на планшете/телефоне — обычная ячейка сетки */
  .nav__burger { display: flex; }
  .nav__list { display: none; flex-direction: column; align-items: stretch; position: absolute; top: 100%; left: 0; right: 0; background: #fff; border-bottom: 1px solid var(--c-line); box-shadow: var(--sh-2); padding: var(--s-3) var(--s-5); max-height: calc(100vh - var(--header-h)); overflow-y: auto; }
  body.menu-open .nav__list { display: flex; }
  .nav__item { position: relative; }
  .nav__sub { position: static; box-shadow: none; border: none; padding: var(--s-2) 0 var(--s-2) var(--s-4); opacity: 1; visibility: visible; transform: none; background: var(--c-bg-soft); border-radius: var(--r-xs); display: none; }
  .nav__item.is-open .nav__sub { display: block; }
  .nav__link { width: 100%; white-space: normal; }
  .mega, .mega--products { grid-template-columns: 1fr; gap: var(--s-3); }
  .header__actions { margin-left: 0; margin-top: var(--s-3); width: 100%; justify-content: center; } /* моб.меню — отдельный компонент в теме */
}
@media (max-width: 640px) {
  .header__phone { display: none; }
  .site-header__inner { gap: var(--s-3); }
  .header__actions { gap: var(--s-2); }
  .header__cta { padding: 0 0.6rem; height: 3.25rem; }
  .header__cta-text { display: none; }
  .header__cta-icons { display: inline-flex; gap: 0.35rem; }
  .header__cta-icons svg { width: 1.6rem; height: 1.6rem; }
  .site-header__inner { padding-left: 0; } /* логотип вплотную к краю; контейнер панели a11y не трогаем */
  .a11y-toggle__text { display: none; }
  .a11y-toggle { padding: 0 0.55rem; height: 3.25rem; }
  .a11y-toggle__icon { font-size: 2rem; line-height: 1; }
  .section { padding: var(--s-8) 0; }
  .grid--2, .grid--3, .grid--4 { grid-template-columns: 1fr; }
  .footer__grid { grid-template-columns: 1fr; }
  .cta { flex-direction: column; align-items: flex-start; }
}

/* =====================================================================
   INNER PAGES — компоненты
   ===================================================================== */

/* Hero внутренней страницы */
.page-hero { background: var(--c-primary); color: var(--c-on-dark); padding: clamp(2.5rem, 5vw, 4rem) 0; }
.page-hero--dpo { padding: 0; background: var(--c-primary); }
.page-hero--dpo .banner-img { width: 100%; height: auto; display: block; }
.page-head { padding: var(--s-7) 0 var(--s-2); }
.page-head .breadcrumb, .page-head .breadcrumb a, .page-head .breadcrumb .sep { color: var(--c-muted); }
.page-head .breadcrumb a:hover { color: var(--c-primary); }
.page-head h1 { margin-top: var(--s-3); }
.page-head .lead { color: var(--c-muted); }
.page-hero h1 { color: #fff; font-size: var(--fs-h1); margin-top: var(--s-2); }
.page-hero .lead { color: var(--c-on-dark-muted); margin-top: var(--s-4); max-width: 64ch; }

/* Хлебные крошки */
.breadcrumb { display: flex; flex-wrap: wrap; align-items: center; gap: var(--s-2); font-family: var(--font-mono); font-size: var(--fs-xs); color: var(--c-on-dark-muted); }
.breadcrumb a { color: var(--c-on-dark-muted); }
.breadcrumb a:hover { color: #fff; }
.breadcrumb .sep { opacity: .5; }

/* Article / prose */
.prose { font-size: 1.0625rem; line-height: 1.75; color: var(--c-ink-2); }
.prose > * + * { margin-top: var(--s-4); }
.prose h2 { font-size: var(--fs-h2); margin-top: var(--s-7); color: var(--c-ink); }
.prose h3 { font-size: var(--fs-h3); margin-top: var(--s-6); color: var(--c-ink); }
.prose h4 { font-size: var(--fs-h4); margin-top: var(--s-5); color: var(--c-ink); }
.prose h4 + * { margin-top: var(--s-5); }
.prose ul, .prose ol { padding-left: 1.3rem; }
.prose li { margin-bottom: var(--s-2); }
.prose blockquote { border-left: 3px solid var(--c-accent); padding: var(--s-1) var(--s-4); color: var(--c-muted); font-style: italic; }
.prose img { border-radius: var(--r-sm); }
.prose table { width: 100%; border-collapse: collapse; font-size: var(--fs-sm); }
.prose th, .prose td { border: 1px solid var(--c-line); padding: var(--s-3); text-align: left; }
.prose th { background: var(--c-bg-soft); font-weight: var(--fw-semibold); }
.prose-fig { width: 100%; margin: var(--s-5) 0; border: 1px solid var(--c-line); border-radius: var(--r-sm); overflow: hidden; background: #fff; cursor: pointer; transition: transform var(--t), box-shadow var(--t), border-color var(--t); }
.prose-fig:hover, .prose-fig:focus-visible { transform: translateY(-3px); box-shadow: var(--sh-2); border-color: transparent; outline: none; }
.prose-fig img { display: block; margin: 0 auto; max-width: 80%; max-height: 400px; width: auto; height: auto; }
.prose-fig figcaption { font-size: var(--fs-xs); color: var(--c-muted); padding: var(--s-3) var(--s-4); font-family: var(--font-mono); border-top: 1px solid var(--c-line); }

/* Lightbox — модальное окно для иллюстраций */
.lightbox { position: fixed; inset: 0; z-index: 1000; background: rgba(11,31,51,0.92); display: none; align-items: center; justify-content: center; padding: var(--s-6); }
.lightbox.is-open { display: flex; }
.lightbox figure { max-width: 1100px; width: 100%; text-align: center; }
.lightbox img { max-width: 100%; max-height: 84vh; border-radius: var(--r-sm); box-shadow: var(--sh-3); }
.lightbox__cap { color: var(--c-on-dark-muted); font-family: var(--font-mono); font-size: var(--fs-xs); margin-top: var(--s-4); }
.lightbox__close { position: absolute; top: var(--s-5); right: var(--s-5); color: #fff; font-size: 1.75rem; line-height: 1; background: none; border: none; cursor: pointer; }
.lightbox__close:hover { color: var(--c-accent); }

/* =====================================================================
   ОБРАЗОВАТЕЛЬНЫЙ ЦЕНТР + ВЕРСИЯ ДЛЯ СЛАБОВИДЯЩИХ (ГОСТ Р 52872-2019)
   ===================================================================== */

/* A11y-тулбар (только подсайт ОЦ) */
.a11y-toolbar { position: relative; display: flex; align-items: center; gap: var(--s-2); flex-wrap: wrap; }
.a11y-toggle { display: inline-flex; align-items: center; gap: 4px; font-size: var(--fs-sm); font-weight: var(--fw-medium); color: var(--c-primary); padding: 0.25rem 0.5rem; border: 1px solid var(--c-line); border-radius: var(--r-pill); cursor: pointer; background: #fff; text-align: left; line-height: 1.15; }
.a11y-toggle:hover { border-color: var(--c-primary); }
.a11y-toggle.is-active { background: var(--c-primary); color: #fff; border-color: var(--c-primary); }
/* Панель настроек режима — полосой во всю ширину под рядом кнопок хедера */
.a11y-panel { display: none; align-items: center; flex-wrap: wrap; gap: var(--s-2); row-gap: var(--s-2); padding: var(--s-2) 0; background: #fff; border-top: 1px solid var(--c-line); }
html.a11y .a11y-panel { display: flex; }
.a11y-btn { font-size: var(--fs-xs); padding: 0.2rem 0.4rem; border: 1px solid var(--c-line); background: #fff; border-radius: var(--r-xs); cursor: pointer; color: var(--c-ink); }
.a11y-btn:hover { border-color: var(--c-primary); }
.a11y-btn.is-active { background: var(--c-primary); color: #fff; border-color: var(--c-primary); }

/* Узкие экраны: «Обычная версия» — с новой строки панели-полосы.
   Блок идёт после базовых правил .a11y-panel: при равной специфичности
   побеждает последнее в файле, поэтому раннее размещение внутри @media 980 не срабатывало. */
@media (max-width: 980px) {
  .a11y-panel .a11y-btn[data-a11y="reset"] { flex-basis: 100%; }
}

/* Режим «Версия для слабовидящих» (класс .a11y на <html>) */
html.a11y { font-size: var(--a11y-root, 112.5%); }
html.a11y.a11y-fs-l { --a11y-root: 125%; }
html.a11y.a11y-fs-s { --a11y-root: 100%; }
html.a11y body { background: #fff; }
html.a11y .hero, html.a11y .page-hero, html.a11y .cta, html.a11y .site-footer, html.a11y .section--dark { background: #fff !important; color: #000 !important; border-color: #000 !important; }
html.a11y .hero *, html.a11y .page-hero *, html.a11y .cta *, html.a11y .site-footer *, html.a11y .section--dark * { color: #000 !important; }
html.a11y a { color: #0000EE !important; text-decoration: underline; }
html.a11y .btn { background: #fff !important; color: #000 !important; border: 1px solid #000 !important; }
html.a11y .card, html.a11y .post, html.a11y .sidebox, html.a11y .svc, html.a11y .program, html.a11y .sved-table, html.a11y .factrow { border-color: #000 !important; box-shadow: none !important; background: #fff !important; }
html.a11y .section--soft, html.a11y .section--tint { background: #fff !important; }
html.a11y .stat__num, html.a11y .eyebrow, html.a11y .chip, html.a11y .post__cat, html.a11y .svc__num, html.a11y .program__n, html.a11y .sved-row__n { color: #000 !important; }
html.a11y .brand__logo { height: calc(var(--header-h) - 16px) !important; width: auto !important; }
html.a11y-noimg img { display: none !important; }

/* Программа курса */
.program { border: 1px solid var(--c-line); border-radius: var(--r-sm); overflow: hidden; }
.program__row { display: grid; grid-template-columns: 48px 1fr; gap: var(--s-4); padding: var(--s-4) var(--s-5); border-bottom: 1px solid var(--c-line); align-items: baseline; }
.program__row:last-child { border-bottom: none; }
.program__n { font-family: var(--font-mono); color: var(--c-accent-700); font-weight: var(--fw-semibold); }
.program__row h4 { font-size: var(--fs-body); margin-bottom: var(--s-1); }
.program__row p { font-size: var(--fs-sm); color: var(--c-muted); margin: 0; }

/* Сведения об ОО */
.sved-table { border: 1px solid var(--c-line); border-radius: var(--r-sm); overflow: hidden; }
.sved-row { display: flex; align-items: center; gap: var(--s-4); padding: var(--s-4) var(--s-5); border-bottom: 1px solid var(--c-line); transition: background var(--t-fast); text-decoration: none; color: var(--c-ink); }
.sved-row:last-child { border-bottom: none; }
.sved-row:hover { background: var(--c-bg-soft); color: var(--c-ink); }
.sved-row__n { font-family: var(--font-mono); font-size: var(--fs-xs); color: var(--c-accent-700); width: 26px; flex: none; }
.sved-row__t { font-weight: var(--fw-semibold); flex: 1; }
.sved-row__t small { display: block; font-weight: var(--fw-regular); color: var(--c-muted); font-size: var(--fs-sm); margin-top: 2px; }
.sved-row .arr { color: var(--c-accent); flex: none; }

/* Двухколоночная раскладка (контент + сайдбар) */
.layout { display: grid; grid-template-columns: minmax(0, 1fr) 300px; gap: var(--s-8); align-items: start; }
.layout > aside { position: sticky; top: calc(var(--header-h) + var(--s-5)); }
@media (max-width: 760px) { .layout { grid-template-columns: 1fr; } .layout > aside { position: static; } }

/* Чипы */
.chips { display: flex; flex-wrap: wrap; gap: var(--s-2); margin-top: var(--s-5); }
.chip { font-family: var(--font-mono); font-size: var(--fs-xs); padding: var(--s-1) var(--s-3); border: 1px solid var(--c-line); border-radius: var(--r-pill); color: var(--c-muted); }

/* Сайдбар-блок */
.sidebox { border: 1px solid var(--c-line); border-radius: var(--r-sm); padding: var(--s-5); }
.sidebox + .sidebox { margin-top: var(--s-5); }
.sidebox h4 { font-family: var(--font-mono); font-size: var(--fs-xs); text-transform: uppercase; letter-spacing: var(--ls-wide); color: var(--c-muted); margin-bottom: var(--s-3); }
.factrow { display: flex; justify-content: space-between; gap: var(--s-3); padding: var(--s-2) 0; border-bottom: 1px dashed var(--c-line); font-size: var(--fs-sm); }
.factrow:last-child { border-bottom: none; }
.factrow dt { color: var(--c-muted); }
.factrow dd { font-weight: var(--fw-semibold); margin: 0; text-align: right; }

/* Список в сайдбаре */
.minilist { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: var(--s-3); }
.minilist a { display: block; font-size: var(--fs-sm); color: var(--c-ink-2); line-height: var(--lh-snug); }
.minilist a:hover { color: var(--c-primary); }
.minilist time { display: block; font-family: var(--font-mono); font-size: var(--fs-xs); color: var(--c-muted); margin-top: 2px; }

/* =====================================================================
   СВЕДЕНИЯ ОБ ОО — спойлеры-аккордеон (механика как uc-echelon.ru/sveden)
   Иконки: Font Awesome Free (CC BY 4.0), перекрашены в палитру темы.
   ===================================================================== */
.sved-acc { display: flex; flex-direction: column; gap: var(--s-3); margin-top: var(--s-6); }
.sved-acc__item { border: 1px solid var(--c-line); border-radius: var(--r-sm); background: var(--c-bg); transition: border-color var(--t-fast), box-shadow var(--t-fast); }
.sved-acc__item[open] { border-color: var(--c-accent); box-shadow: var(--sh-1); }
.sved-acc__head { display: flex; align-items: center; gap: var(--s-4); padding: var(--s-4) var(--s-5); cursor: pointer; list-style: none; border-radius: var(--r-sm); }
.sved-acc__head::-webkit-details-marker { display: none; }
.sved-acc__head::marker { content: none; }
.sved-acc__head:focus-visible { outline: 2px solid var(--c-accent); outline-offset: -2px; }
.sved-acc__title { flex: 1; font-size: var(--fs-h4); font-weight: var(--fw-semibold); color: var(--c-ink); line-height: var(--lh-snug); transition: color var(--t-fast); }
.sved-acc__head:hover .sved-acc__title { color: var(--c-primary); }
.sved-acc__body { padding: var(--s-4) var(--s-5) var(--s-5); border-top: 1px solid var(--c-line-soft); }
.sved-acc__empty { color: var(--c-muted); font-size: var(--fs-sm); font-style: italic; margin: 0; }
.sved-acc__body h4 { font-size: var(--fs-h4); margin: var(--s-5) 0 var(--s-4); }
.sved-acc__body h4:first-child { margin-top: 0; }
.sved-acc__body h4:empty { display: none; }
.sved-acc__body h4 + * { margin-top: 0; }
.sved-teacher { padding: var(--s-3) 0; border-bottom: 1px dashed var(--c-line); }
.sved-teacher:last-child { border-bottom: none; }
.sved-teacher p { margin: var(--s-1) 0 0; color: var(--c-muted); font-size: var(--fs-sm); }
@media (max-width: 600px) {
  .sved-acc__head { padding: var(--s-3) var(--s-4); gap: var(--s-3); }
  .sved-acc__body { padding: var(--s-3) var(--s-4) var(--s-4); }
}
html.a11y .sved-acc__item { border-color: #000; box-shadow: none; }

/* Блок лицензии в hero (мотив uc-echelon.ru/sveden) */
/* Hero с правой колонкой (как product-hero__body--support) */
.page-hero__grid { display: grid; grid-template-columns: minmax(0, 1fr) 340px; align-items: center; gap: var(--s-8); }
.page-hero__main { min-width: 0; }
@media (max-width: 800px) { .page-hero__grid { grid-template-columns: 1fr; gap: var(--s-5); } }

.lic-card { max-width: 460px; border: 1px solid rgba(226, 232, 240, 0.28); border-radius: var(--r-sm); padding: var(--s-4) var(--s-5); background: rgba(255, 255, 255, 0.07); }
.lic-card__tag { font-family: var(--font-mono); font-size: var(--fs-xs); text-transform: uppercase; letter-spacing: var(--ls-wide); color: var(--c-gold); margin-bottom: var(--s-2); }
.lic-card__t { font-weight: var(--fw-semibold); color: #fff; line-height: var(--lh-snug); }
.lic-card__n { margin-top: var(--s-1); font-family: var(--font-mono); font-size: var(--fs-sm); }
.lic-card__n a { color: var(--c-on-dark); text-decoration: none; border-bottom: 1px dashed rgba(226, 232, 240, 0.5); }
.lic-card__n a:hover { color: #fff; border-bottom-color: #fff; }
.lic-card__d { margin-top: var(--s-2); font-size: var(--fs-xs); color: var(--c-on-dark-muted); }

/* Hero курса: мета-строка (объём/формат/даты) и карточка стоимости */
.course-meta { list-style: none; padding: 0; margin: var(--s-5) 0 0; display: flex; flex-wrap: wrap; gap: var(--s-3) var(--s-6); }
.course-meta li { display: flex; align-items: center; gap: var(--s-2); color: var(--c-on-dark); font-size: var(--fs-sm); }
.course-meta svg { width: 16px; height: 16px; flex: none; fill: var(--c-gold); }
.price-card__price { margin-top: var(--s-1); font-size: 1.9rem; font-weight: var(--fw-bold); letter-spacing: -0.01em; color: #fff; }
.price-card__price--ask { font-size: 1.3rem; }
.price-card__btn { display: flex; justify-content: center; width: 100%; margin-top: var(--s-3); }
.price-card__perks { list-style: none; padding: var(--s-3) 0 0; margin: var(--s-4) 0 0; border-top: 1px solid rgba(226,232,240,.18); display: grid; gap: var(--s-2); }
.price-card__perks li { display: flex; gap: var(--s-2); align-items: flex-start; font-size: var(--fs-xs); color: var(--c-on-dark-muted); line-height: var(--lh-snug); }
.price-card__perks svg { width: 14px; height: 14px; flex: none; fill: var(--c-gold); margin-top: 1px; }
.btn--ghost-dark { background: transparent; color: var(--c-on-dark); border-color: rgba(226,232,240,.35); }
.btn--ghost-dark:hover { border-color: #fff; color: #fff; }

/* Сайдбар-навигация по разделам «Сведений об ОО» */
.sved-nav { display: flex; flex-direction: column; }
.sved-nav a { display: flex; gap: var(--s-3); align-items: baseline; padding: var(--s-2) 0; border-bottom: 1px dashed var(--c-line); font-size: var(--fs-sm); color: var(--c-ink-2); line-height: var(--lh-snug); text-decoration: none; }
.sved-nav a:last-child { border-bottom: none; }
.sved-nav a:hover { color: var(--c-primary); }
.sved-nav__n { font-family: var(--font-mono); font-size: var(--fs-xs); color: var(--c-accent-700); flex: none; }

/* Цель якоря — подсветка и отступ от шапки */
.sved-acc__item { scroll-margin-top: calc(var(--header-h) + var(--s-4)); }
.sved-acc__item:target { border-color: var(--c-accent); box-shadow: var(--sh-1); }

/* Аккордеон первым в prose — без верхнего отступа, выравнивание с сайдбаром */
.prose > .sved-acc:first-child { margin-top: 0; }

/* Иконки/шевроны спойлеров — через CSS-псевдоэлементы (background data-URI),
   чтобы TinyMCE при правках страницы не вырезал inline-SVG из контента. */
.sved-acc__head::before { content: ""; flex: none; width: 44px; height: 44px; border-radius: var(--r-sm); background-color: var(--c-bg-tint-2); background-repeat: no-repeat; background-position: center; background-size: 22px 22px; transition: background-color var(--t-fast); }
.sved-acc__item[open] .sved-acc__head::before { background-color: var(--c-bg-tint); }
#sved-01 .sved-acc__head::before { background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20512%20512%22%20fill%3D%22%23173B8C%22%3E%3Cpath%20d%3D%22M256%208C119.043%208%208%20119.083%208%20256c0%20136.997%20111.043%20248%20248%20248s248-111.003%20248-248C504%20119.083%20392.957%208%20256%208zm0%20110c23.196%200%2042%2018.804%2042%2042s-18.804%2042-42%2042-42-18.804-42-42%2018.804-42%2042-42zm56%20254c0%206.627-5.373%2012-12%2012h-88c-6.627%200-12-5.373-12-12v-24c0-6.627%205.373-12%2012-12h12v-64h-12c-6.627%200-12-5.373-12-12v-24c0-6.627%205.373-12%2012-12h64c6.627%200%2012%205.373%2012%2012v100h12c6.627%200%2012%205.373%2012%2012v24z%22%2F%3E%3C%2Fsvg%3E"); }
#sved-02 .sved-acc__head::before { background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20640%20512%22%20fill%3D%22%23173B8C%22%3E%3Cpath%20d%3D%22M384%20320H256c-17.67%200-32%2014.33-32%2032v128c0%2017.67%2014.33%2032%2032%2032h128c17.67%200%2032-14.33%2032-32V352c0-17.67-14.33-32-32-32zM192%2032c0-17.67-14.33-32-32-32H32C14.33%200%200%2014.33%200%2032v128c0%2017.67%2014.33%2032%2032%2032h95.72l73.16%20128.04C211.98%20300.98%20232.4%20288%20256%20288h.28L192%20175.51V128h224V64H192V32zM608%200H480c-17.67%200-32%2014.33-32%2032v128c0%2017.67%2014.33%2032%2032%2032h128c17.67%200%2032-14.33%2032-32V32c0-17.67-14.33-32-32-32z%22%2F%3E%3C%2Fsvg%3E"); }
#sved-03 .sved-acc__head::before { background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20384%20512%22%20fill%3D%22%23173B8C%22%3E%3Cpath%20d%3D%22M288%20248v28c0%206.6-5.4%2012-12%2012H108c-6.6%200-12-5.4-12-12v-28c0-6.6%205.4-12%2012-12h168c6.6%200%2012%205.4%2012%2012zm-12%2072H108c-6.6%200-12%205.4-12%2012v28c0%206.6%205.4%2012%2012%2012h168c6.6%200%2012-5.4%2012-12v-28c0-6.6-5.4-12-12-12zm108-188.1V464c0%2026.5-21.5%2048-48%2048H48c-26.5%200-48-21.5-48-48V48C0%2021.5%2021.5%200%2048%200h204.1C264.8%200%20277%205.1%20286%2014.1L369.9%2098c9%208.9%2014.1%2021.2%2014.1%2033.9zm-128-80V128h76.1L256%2051.9zM336%20464V176H232c-13.3%200-24-10.7-24-24V48H48v416h288z%22%2F%3E%3C%2Fsvg%3E"); }
#sved-04 .sved-acc__head::before { background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20640%20512%22%20fill%3D%22%23173B8C%22%3E%3Cpath%20d%3D%22M622.34%20153.2L343.4%2067.5c-15.2-4.67-31.6-4.67-46.79%200L17.66%20153.2c-23.54%207.23-23.54%2038.36%200%2045.59l48.63%2014.94c-10.67%2013.19-17.23%2029.28-17.88%2046.9C38.78%20266.15%2032%20276.11%2032%20288c0%2010.78%205.68%2019.85%2013.86%2025.65L20.33%20428.53C18.11%20438.52%2025.71%20448%2035.94%20448h56.11c10.24%200%2017.84-9.48%2015.62-19.47L82.14%20313.65C90.32%20307.85%2096%20298.78%2096%20288c0-11.57-6.47-21.25-15.66-26.87.76-15.02%208.44-28.3%2020.69-36.72L296.6%20284.5c9.06%202.78%2026.44%206.25%2046.79%200l278.95-85.7c23.55-7.24%2023.55-38.36%200-45.6zM352.79%20315.09c-28.53%208.76-52.84%203.92-65.59%200l-145.02-44.55L128%20384c0%2035.35%2085.96%2064%20192%2064s192-28.65%20192-64l-14.18-113.47-145.03%2044.56z%22%2F%3E%3C%2Fsvg%3E"); }
#sved-05 .sved-acc__head::before { background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20640%20512%22%20fill%3D%22%23173B8C%22%3E%3Cpath%20d%3D%22M256%20336h-.02c0-16.18%201.34-8.73-85.05-181.51-17.65-35.29-68.19-35.36-85.87%200C-2.06%20328.75.02%20320.33.02%20336H0c0%2044.18%2057.31%2080%20128%2080s128-35.82%20128-80zM128%20176l72%20144H56l72-144zm511.98%20160c0-16.18%201.34-8.73-85.05-181.51-17.65-35.29-68.19-35.36-85.87%200-87.12%20174.26-85.04%20165.84-85.04%20181.51H384c0%2044.18%2057.31%2080%20128%2080s128-35.82%20128-80h-.02zM440%20320l72-144%2072%20144H440zm88%20128H352V153.25c23.51-10.29%2041.16-31.48%2046.39-57.25H528c8.84%200%2016-7.16%2016-16V48c0-8.84-7.16-16-16-16H383.64C369.04%2012.68%20346.09%200%20320%200s-49.04%2012.68-63.64%2032H112c-8.84%200-16%207.16-16%2016v32c0%208.84%207.16%2016%2016%2016h129.61c5.23%2025.76%2022.87%2046.96%2046.39%2057.25V448H112c-8.84%200-16%207.16-16%2016v32c0%208.84%207.16%2016%2016%2016h416c8.84%200%2016-7.16%2016-16v-32c0-8.84-7.16-16-16-16z%22%2F%3E%3C%2Fsvg%3E"); }
#sved-06 .sved-acc__head::before { background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20640%20512%22%20fill%3D%22%23173B8C%22%3E%3Cpath%20d%3D%22M610.5%20373.3c2.6-14.1%202.6-28.5%200-42.6l25.8-14.9c3-1.7%204.3-5.2%203.3-8.5-6.7-21.6-18.2-41.2-33.2-57.4-2.3-2.5-6-3.1-9-1.4l-25.8%2014.9c-10.9-9.3-23.4-16.5-36.9-21.3v-29.8c0-3.4-2.4-6.4-5.7-7.1-22.3-5-45-4.8-66.2%200-3.3.7-5.7%203.7-5.7%207.1v29.8c-13.5%204.8-26%2012-36.9%2021.3l-25.8-14.9c-2.9-1.7-6.7-1.1-9%201.4-15%2016.2-26.5%2035.8-33.2%2057.4-1%203.3.4%206.8%203.3%208.5l25.8%2014.9c-2.6%2014.1-2.6%2028.5%200%2042.6l-25.8%2014.9c-3%201.7-4.3%205.2-3.3%208.5%206.7%2021.6%2018.2%2041.1%2033.2%2057.4%202.3%202.5%206%203.1%209%201.4l25.8-14.9c10.9%209.3%2023.4%2016.5%2036.9%2021.3v29.8c0%203.4%202.4%206.4%205.7%207.1%2022.3%205%2045%204.8%2066.2%200%203.3-.7%205.7-3.7%205.7-7.1v-29.8c13.5-4.8%2026-12%2036.9-21.3l25.8%2014.9c2.9%201.7%206.7%201.1%209-1.4%2015-16.2%2026.5-35.8%2033.2-57.4%201-3.3-.4-6.8-3.3-8.5l-25.8-14.9zM496%20400.5c-26.8%200-48.5-21.8-48.5-48.5s21.8-48.5%2048.5-48.5%2048.5%2021.8%2048.5%2048.5-21.7%2048.5-48.5%2048.5zM224%20256c70.7%200%20128-57.3%20128-128S294.7%200%20224%200%2096%2057.3%2096%20128s57.3%20128%20128%20128zm201.2%20226.5c-2.3-1.2-4.6-2.6-6.8-3.9l-7.9%204.6c-6%203.4-12.8%205.3-19.6%205.3-10.9%200-21.4-4.6-28.9-12.6-18.3-19.8-32.3-43.9-40.2-69.6-5.5-17.7%201.9-36.4%2017.9-45.7l7.9-4.6c-.1-2.6-.1-5.2%200-7.8l-7.9-4.6c-16-9.2-23.4-28-17.9-45.7.9-2.9%202.2-5.8%203.2-8.7-3.8-.3-7.5-1.2-11.4-1.2h-16.7c-22.2%2010.2-46.9%2016-72.9%2016s-50.6-5.8-72.9-16h-16.7C60.2%20288%200%20348.2%200%20422.4V464c0%2026.5%2021.5%2048%2048%2048h352c10.1%200%2019.5-3.2%2027.2-8.5-1.2-3.8-2-7.7-2-11.8v-9.2z%22%2F%3E%3C%2Fsvg%3E"); }
#sved-07 .sved-acc__head::before { background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20640%20512%22%20fill%3D%22%23173B8C%22%3E%3Cpath%20d%3D%22M96%20224c35.3%200%2064-28.7%2064-64s-28.7-64-64-64-64%2028.7-64%2064%2028.7%2064%2064%2064zm448%200c35.3%200%2064-28.7%2064-64s-28.7-64-64-64-64%2028.7-64%2064%2028.7%2064%2064%2064zm32%2032h-64c-17.6%200-33.5%207.1-45.1%2018.6%2040.3%2022.1%2068.9%2062%2075.1%20109.4h66c17.7%200%2032-14.3%2032-32v-32c0-35.3-28.7-64-64-64zm-256%200c61.9%200%20112-50.1%20112-112S381.9%2032%20320%2032%20208%2082.1%20208%20144s50.1%20112%20112%20112zm76.8%2032h-8.3c-20.8%2010-43.9%2016-68.5%2016s-47.6-6-68.5-16h-8.3C179.6%20288%20128%20339.6%20128%20403.2V432c0%2026.5%2021.5%2048%2048%2048h288c26.5%200%2048-21.5%2048-48v-28.8c0-63.6-51.6-115.2-115.2-115.2zm-223.7-13.4C161.5%20263.1%20145.6%20256%20128%20256H64c-35.3%200-64%2028.7-64%2064v32c0%2017.7%2014.3%2032%2032%2032h65.9c6.3-47.4%2034.9-87.3%2075.2-109.4z%22%2F%3E%3C%2Fsvg%3E"); }
#sved-08 .sved-acc__head::before { background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20448%20512%22%20fill%3D%22%23173B8C%22%3E%3Cpath%20d%3D%22M128%20148v-40c0-6.6%205.4-12%2012-12h40c6.6%200%2012%205.4%2012%2012v40c0%206.6-5.4%2012-12%2012h-40c-6.6%200-12-5.4-12-12zm140%2012h40c6.6%200%2012-5.4%2012-12v-40c0-6.6-5.4-12-12-12h-40c-6.6%200-12%205.4-12%2012v40c0%206.6%205.4%2012%2012%2012zm-128%2096h40c6.6%200%2012-5.4%2012-12v-40c0-6.6-5.4-12-12-12h-40c-6.6%200-12%205.4-12%2012v40c0%206.6%205.4%2012%2012%2012zm128%200h40c6.6%200%2012-5.4%2012-12v-40c0-6.6-5.4-12-12-12h-40c-6.6%200-12%205.4-12%2012v40c0%206.6%205.4%2012%2012%2012zm-76%2084v-40c0-6.6-5.4-12-12-12h-40c-6.6%200-12%205.4-12%2012v40c0%206.6%205.4%2012%2012%2012h40c6.6%200%2012-5.4%2012-12zm76%2012h40c6.6%200%2012-5.4%2012-12v-40c0-6.6-5.4-12-12-12h-40c-6.6%200-12%205.4-12%2012v40c0%206.6%205.4%2012%2012%2012zm180%20124v36H0v-36c0-6.6%205.4-12%2012-12h19.5V24c0-13.3%2010.7-24%2024-24h337c13.3%200%2024%2010.7%2024%2024v440H436c6.6%200%2012%205.4%2012%2012zM79.5%20463H192v-67c0-6.6%205.4-12%2012-12h40c6.6%200%2012%205.4%2012%2012v67h112.5V49L80%2048l-.5%20415z%22%2F%3E%3C%2Fsvg%3E"); }
#sved-09 .sved-acc__head::before { background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20512%20512%22%20fill%3D%22%23173B8C%22%3E%3Cpath%20d%3D%22M432%2C320H400a16%2C16%2C0%2C0%2C0-16%2C16V448H64V128H208a16%2C16%2C0%2C0%2C0%2C16-16V80a16%2C16%2C0%2C0%2C0-16-16H48A48%2C48%2C0%2C0%2C0%2C0%2C112V464a48%2C48%2C0%2C0%2C0%2C48%2C48H400a48%2C48%2C0%2C0%2C0%2C48-48V336A16%2C16%2C0%2C0%2C0%2C432%2C320ZM488%2C0h-128c-21.37%2C0-32.05%2C25.91-17%2C41l35.73%2C35.73L135%2C320.37a24%2C24%2C0%2C0%2C0%2C0%2C34L157.67%2C377a24%2C24%2C0%2C0%2C0%2C34%2C0L435.28%2C133.32%2C471%2C169c15%2C15%2C41%2C4.5%2C41-17V24A24%2C24%2C0%2C0%2C0%2C488%2C0Z%22%2F%3E%3C%2Fsvg%3E"); }
#sved-10 .sved-acc__head::before { background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20512%20512%22%20fill%3D%22%23173B8C%22%3E%3Cpath%20d%3D%22M396.8%20352h22.4c6.4%200%2012.8-6.4%2012.8-12.8V108.8c0-6.4-6.4-12.8-12.8-12.8h-22.4c-6.4%200-12.8%206.4-12.8%2012.8v230.4c0%206.4%206.4%2012.8%2012.8%2012.8zm-192%200h22.4c6.4%200%2012.8-6.4%2012.8-12.8V140.8c0-6.4-6.4-12.8-12.8-12.8h-22.4c-6.4%200-12.8%206.4-12.8%2012.8v198.4c0%206.4%206.4%2012.8%2012.8%2012.8zm96%200h22.4c6.4%200%2012.8-6.4%2012.8-12.8V204.8c0-6.4-6.4-12.8-12.8-12.8h-22.4c-6.4%200-12.8%206.4-12.8%2012.8v134.4c0%206.4%206.4%2012.8%2012.8%2012.8zM496%20400H48V80c0-8.84-7.16-16-16-16H16C7.16%2064%200%2071.16%200%2080v336c0%2017.67%2014.33%2032%2032%2032h464c8.84%200%2016-7.16%2016-16v-16c0-8.84-7.16-16-16-16zm-387.2-48h22.4c6.4%200%2012.8-6.4%2012.8-12.8v-70.4c0-6.4-6.4-12.8-12.8-12.8h-22.4c-6.4%200-12.8%206.4-12.8%2012.8v70.4c0%206.4%206.4%2012.8%2012.8%2012.8z%22%2F%3E%3C%2Fsvg%3E"); }
#sved-11 .sved-acc__head::before { background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20640%20512%22%20fill%3D%22%23173B8C%22%3E%3Cpath%20d%3D%22M624%20208h-64v-64c0-8.8-7.2-16-16-16h-32c-8.8%200-16%207.2-16%2016v64h-64c-8.8%200-16%207.2-16%2016v32c0%208.8%207.2%2016%2016%2016h64v64c0%208.8%207.2%2016%2016%2016h32c8.8%200%2016-7.2%2016-16v-64h64c8.8%200%2016-7.2%2016-16v-32c0-8.8-7.2-16-16-16zm-400%2048c70.7%200%20128-57.3%20128-128S294.7%200%20224%200%2096%2057.3%2096%20128s57.3%20128%20128%20128zm89.6%2032h-16.7c-22.2%2010.2-46.9%2016-72.9%2016s-50.6-5.8-72.9-16h-16.7C60.2%20288%200%20348.2%200%20422.4V464c0%2026.5%2021.5%2048%2048%2048h352c26.5%200%2048-21.5%2048-48v-41.6c0-74.2-60.2-134.4-134.4-134.4z%22%2F%3E%3C%2Fsvg%3E"); }
#sved-12 .sved-acc__head::before { background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20576%20512%22%20fill%3D%22%23173B8C%22%3E%3Cpath%20d%3D%22M271.06%2C144.3l54.27%2C14.3a8.59%2C8.59%2C0%2C0%2C1%2C6.63%2C8.1c0%2C4.6-4.09%2C8.4-9.12%2C8.4h-35.6a30%2C30%2C0%2C0%2C1-11.19-2.2c-5.24-2.2-11.28-1.7-15.3%2C2l-19%2C17.5a11.68%2C11.68%2C0%2C0%2C0-2.25%2C2.66%2C11.42%2C11.42%2C0%2C0%2C0%2C3.88%2C15.74%2C83.77%2C83.77%2C0%2C0%2C0%2C34.51%2C11.5V240c0%2C8.8%2C7.83%2C16%2C17.37%2C16h17.37c9.55%2C0%2C17.38-7.2%2C17.38-16V222.4c32.93-3.6%2C57.84-31%2C53.5-63-3.15-23-22.46-41.3-46.56-47.7L282.68%2C97.4a8.59%2C8.59%2C0%2C0%2C1-6.63-8.1c0-4.6%2C4.09-8.4%2C9.12-8.4h35.6A30%2C30%2C0%2C0%2C1%2C332%2C83.1c5.23%2C2.2%2C11.28%2C1.7%2C15.3-2l19-17.5A11.31%2C11.31%2C0%2C0%2C0%2C368.47%2C61a11.43%2C11.43%2C0%2C0%2C0-3.84-15.78%2C83.82%2C83.82%2C0%2C0%2C0-34.52-11.5V16c0-8.8-7.82-16-17.37-16H295.37C285.82%2C0%2C278%2C7.2%2C278%2C16V33.6c-32.89%2C3.6-57.85%2C31-53.51%2C63C227.63%2C119.6%2C247%2C137.9%2C271.06%2C144.3ZM565.27%2C328.1c-11.8-10.7-30.2-10-42.6%2C0L430.27%2C402a63.64%2C63.64%2C0%2C0%2C1-40%2C14H272a16%2C16%2C0%2C0%2C1%2C0-32h78.29c15.9%2C0%2C30.71-10.9%2C33.25-26.6a31.2%2C31.2%2C0%2C0%2C0%2C.46-5.46A32%2C32%2C0%2C0%2C0%2C352%2C320H192a117.66%2C117.66%2C0%2C0%2C0-74.1%2C26.29L71.4%2C384H16A16%2C16%2C0%2C0%2C0%2C0%2C400v96a16%2C16%2C0%2C0%2C0%2C16%2C16H372.77a64%2C64%2C0%2C0%2C0%2C40-14L564%2C377a32%2C32%2C0%2C0%2C0%2C1.28-48.9Z%22%2F%3E%3C%2Fsvg%3E"); }
#sved-13 .sved-acc__head::before { background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20496%20512%22%20fill%3D%22%23173B8C%22%3E%3Cpath%20d%3D%22M336.5%20160C322%2070.7%20287.8%208%20248%208s-74%2062.7-88.5%20152h177zM152%20256c0%2022.2%201.2%2043.5%203.3%2064h185.3c2.1-20.5%203.3-41.8%203.3-64s-1.2-43.5-3.3-64H155.3c-2.1%2020.5-3.3%2041.8-3.3%2064zm324.7-96c-28.6-67.9-86.5-120.4-158-141.6%2024.4%2033.8%2041.2%2084.7%2050%20141.6h108zM177.2%2018.4C105.8%2039.6%2047.8%2092.1%2019.3%20160h108c8.7-56.9%2025.5-107.8%2049.9-141.6zM487.4%20192H372.7c2.1%2021%203.3%2042.5%203.3%2064s-1.2%2043-3.3%2064h114.6c5.5-20.5%208.6-41.8%208.6-64s-3.1-43.5-8.5-64zM120%20256c0-21.5%201.2-43%203.3-64H8.6C3.2%20212.5%200%20233.8%200%20256s3.2%2043.5%208.6%2064h114.6c-2-21-3.2-42.5-3.2-64zm39.5%2096c14.5%2089.3%2048.7%20152%2088.5%20152s74-62.7%2088.5-152h-177zm159.3%20141.6c71.4-21.2%20129.4-73.7%20158-141.6h-108c-8.8%2056.9-25.6%20107.8-50%20141.6zM19.3%20352c28.6%2067.9%2086.5%20120.4%20158%20141.6-24.4-33.8-41.2-84.7-50-141.6h-108z%22%2F%3E%3C%2Fsvg%3E"); }
#sved-14 .sved-acc__head::before { background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20416%20512%22%20fill%3D%22%23173B8C%22%3E%3Cpath%20d%3D%22M207.9%2015.2c.8%204.7%2016.1%2094.5%2016.1%20128.8%200%2052.3-27.8%2089.6-68.9%20104.6L168%20486.7c.7%2013.7-10.2%2025.3-24%2025.3H80c-13.7%200-24.7-11.5-24-25.3l12.9-238.1C27.7%20233.6%200%20196.2%200%20144%200%20109.6%2015.3%2019.9%2016.1%2015.2%2019.3-5.1%2061.4-5.4%2064%2016.3v141.2c1.3%203.4%2015.1%203.2%2016%200%201.4-25.3%207.9-139.2%208-141.8%203.3-20.8%2044.7-20.8%2047.9%200%20.2%202.7%206.6%20116.5%208%20141.8.9%203.2%2014.8%203.4%2016%200V16.3c2.6-21.6%2044.8-21.4%2048-1.1zm119.2%20285.7l-15%20185.1c-1.2%2014%209.9%2026%2023.9%2026h56c13.3%200%2024-10.7%2024-24V24c0-13.2-10.7-24-24-24-82.5%200-221.4%20178.5-64.9%20300.9z%22%2F%3E%3C%2Fsvg%3E"); }
.sved-acc__head::after { content: ""; flex: none; width: 18px; height: 18px; background-repeat: no-repeat; background-position: center; background-size: contain; transition: transform var(--t); background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20320%20512%22%20fill%3D%22%234D9FD8%22%3E%3Cpath%20d%3D%22M31.3%20192h257.3c17.8%200%2026.7%2021.5%2014.1%2034.1L174.1%20354.8c-7.8%207.8-20.5%207.8-28.3%200L17.2%20226.1C4.6%20213.5%2013.5%20192%2031.3%20192z%22%2F%3E%3C%2Fsvg%3E"); }
.sved-acc__item[open] .sved-acc__head::after { transform: rotate(180deg); }
@media (max-width: 600px) { .sved-acc__head::before { width: 36px; height: 36px; background-size: 18px 18px; } }
html.a11y .sved-acc__head::before { background-color: #fff; border: 1px solid #000; }
