
  
  
  /* =========================================================
   AX / CE CLEANUP FINAL PATCH
   Безопасный слой: подключить ПОСЛЕ основного CSS.
   Ничего не удаляет из шаблона, только чинит битые селекторы,
   недостающие токены и нормализует повторяющиеся элементы.
   ========================================================= */

/* 1) Корректный импорт шрифтов — если внешние импорты разрешены в шаблоне */
@import url("https://fonts.googleapis.com/css2?family=Inter:ital,wght@0,400;0,500;0,600;0,700;1,400&family=Montserrat:wght@600;700;800&display=swap");

/* 2) Совместимые токены: старые CE-секции + новый AX design system */
:root {
  --ax-container-max: 1360px;
  --ax-container-wide: 1440px;
  --ax-container-narrow: 960px;
  --ax-gutter: clamp(20px, 4vw, 48px);

  --ax-bg: #f8fafc;
  --ax-bg-elevated: #ffffff;
  --ax-panel: #ffffff;
  --ax-panel-soft: #f1f5f9;
  --ax-panel-subtle: #f8fafc;
  --ax-text: #0f172a;
  --ax-text-soft: #475569;
  --ax-text-muted: #64748b;
  --ax-text-inverse: #ffffff;

  --ax-primary: #1e40af;
  --ax-primary-hover: #1d3b99;
  --ax-primary-active: #172554;
  --ax-primary-soft: rgba(30, 64, 175, 0.08);
  --ax-primary-line: rgba(30, 64, 175, 0.16);

  --ax-accent: #7a5c2e;
  --ax-accent-hover: #654a22;
  --ax-accent-dark: #654a22;
  --ax-accent-active: #4f3919;
  --ax-accent-soft: rgba(122, 92, 46, 0.06);
  --ax-accent-line: rgba(122, 92, 46, 0.18);

  --ax-border-soft: rgba(15, 23, 42, 0.06);
  --ax-border-mid: rgba(15, 23, 42, 0.12);
  --ax-border-strong: rgba(15, 23, 42, 0.18);
  --ax-border: rgba(122, 92, 46, 0.28);
  --ax-border-hover: rgba(122, 92, 46, 0.22);
  --ax-link-hover: #0f172a;

  --ax-shadow-xs: 0 1px 2px rgba(15, 23, 42, 0.04);
  --ax-shadow-sm:
    0 2px 8px -2px rgba(15, 23, 42, 0.05),
    0 4px 12px -1px rgba(15, 23, 42, 0.03);
  --ax-shadow-md:
    0 12px 20px -8px rgba(15, 23, 42, 0.08),
    0 4px 12px -2px rgba(15, 23, 42, 0.03);
  --ax-shadow-lg:
    0 20px 32px -12px rgba(15, 23, 42, 0.12),
    0 8px 16px -4px rgba(15, 23, 42, 0.04);
  --ax-shadow-xl:
    0 28px 60px -18px rgba(15, 23, 42, 0.18),
    0 12px 24px -8px rgba(15, 23, 42, 0.06);
  --ax-shadow: 0 18px 44px rgba(15, 23, 42, 0.08);
  --ax-shadow-hover: 0 24px 64px rgba(15, 23, 42, 0.12);
  --ax-shadow-image: 0 28px 76px rgba(15, 23, 42, 0.16);

  --ax-focus: rgba(122, 92, 46, 0.35);
  --ax-focus-ring: 0 0 0 3px #ffffff, 0 0 0 6px rgba(30, 64, 175, 0.95);

  --ax-radius-xs: 8px;
  --ax-radius-sm: 10px;
  --ax-radius-md: 14px;
  --ax-radius-card: 28px;
  --ax-radius-lg: 24px;
  --ax-radius-xl: 32px;
  --ax-radius-pill: 999px;

  --ax-font-body: "Montserrat", "Inter", sans-serif;
  --ax-font-heading: "Montserrat", "Inter", sans-serif;

  --ax-f-xs: clamp(0.72rem, 0.68rem + 0.1vw, 0.8rem);
  --ax-f-sm: clamp(0.82rem, 0.78rem + 0.12vw, 0.92rem);
  --ax-f-body: clamp(15px, 0.9rem + 0.15vw, 17px);
  --ax-f-lead: clamp(1rem, 0.95rem + 0.3vw, 1.125rem);
  --ax-f-h1: clamp(2.2rem, 1.55rem + 2.4vw, 4.2rem);
  --ax-f-h2: clamp(1.8rem, 1.35rem + 1.5vw, 2.8rem);
  --ax-note-size: 1rem;

  --ax-ease: cubic-bezier(0.16, 1, 0.3, 1);
  --ax-ease-soft: 0.28s cubic-bezier(0.16, 1, 0.3, 1);
  --ax-transition-fast: 0.2s cubic-bezier(0.16, 1, 0.3, 1);
  --ax-transition: 0.35s cubic-bezier(0.16, 1, 0.3, 1);
}

/* 3) Базовая страховка от вылезания контента */
html {
  -webkit-text-size-adjust: 100%;
  scroll-behavior: smooth;
}

body {
  overflow-x: hidden;
  background: var(--ax-bg);
  color: var(--ax-text);
  font-family: var(--ax-font-body);
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

img,
picture,
svg,
video,
canvas {
  display: block;
  max-width: 100%;
}

img {
  height: auto;
}

/* 4) Единый контейнер для всех CE/KCE секций */
.ce-hero-container,
.ce-about-container,
.ce-requirements-container,
.ce-courses-container,
.ce-stats-container,
.ce-success-container,
.ce-sessions-container,
.ce-sessions-teaser-container,
.ce-credentials-container,
.ce-certificates-container,
.kcew-container {
  width: min(100% - clamp(32px, 6vw, 80px), var(--ax-container-max));
  max-width: var(--ax-container-max);
  margin-inline: auto;
  padding-inline: 0;
}

.kcefaq-container,
.kcecontact-container,
.kcereviews-container,
.kcearticles-container,
.kceprojects-container,
.kcenews-container,
.kcefinal-container,
.kcef-container,
.kcev-container,
.kcetrust-container,
.kcebasic-container,
#frequencies .ax-container,
.ax-container {
  width: min(100% - var(--ax-gutter), var(--ax-container-max));
  margin-inline: auto;
}

@media (max-width: 640px) {
  .ce-hero-container,
  .ce-about-container,
  .ce-requirements-container,
  .ce-courses-container,
  .ce-stats-container,
  .ce-success-container,
  .ce-sessions-container,
  .ce-sessions-teaser-container,
  .ce-credentials-container,
  .ce-certificates-container,
  .kcew-container,
  .kcefaq-container,
  .kcecontact-container,
  .kcereviews-container,
  .kcearticles-container,
  .kceprojects-container,
  .kcenews-container,
  .kcefinal-container,
  .kcef-container,
  .kcev-container,
  .kcetrust-container,
  .kcebasic-container,
  #frequencies .ax-container,
  .ax-container {
    width: calc(100% - 32px);
  }
}

/* 5) Исправления HTML-escaped селекторов из вставки */
.ce-course-card--featured > * {
  position: relative;
  z-index: 1;
}

.kcefaq-copy > * + *,
.ax-prose > * + * {
  margin-top: 14px;
}

/* 6) Исправление секции frequencies: в исходнике был битый selector вида #[frequencies.ax](...) */
#frequencies.ax-section,
section#frequencies {
  position: relative;
  width: 100%;
  overflow: hidden;
  padding-block: clamp(72px, 8vw, 120px);
  color: var(--ax-text);
  background:
    radial-gradient(
      circle at 50% -10%,
      rgba(122, 92, 46, 0.1),
      transparent 40%
    ),
    linear-gradient(
      180deg,
      rgba(255, 255, 255, 0.94),
      rgba(248, 250, 252, 0.98)
    ),
    var(--ax-bg);
}

@media (max-width: 640px) {
  #frequencies.ax-section,
  section#frequencies {
    padding-block: clamp(48px, 7vw, 72px);
  }
}

/* 7) Безопасный :has-блок. Старые браузеры просто проигнорируют его. */
@supports selector(:has(*)) {
  .kceprojects-content:has(> article),
  .kceprojects-content:has(> div) {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: clamp(20px, 2.5vw, 32px);
  }

  .kcenews-carousel:not(.owl-loaded):has(> article),
  .kcenews-carousel:not(.owl-loaded):has(> div) {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: clamp(20px, 2.5vw, 32px);
  }

  @media (max-width: 1100px) {
    .kceprojects-content:has(> article),
    .kceprojects-content:has(> div),
    .kcenews-carousel:not(.owl-loaded):has(> article),
    .kcenews-carousel:not(.owl-loaded):has(> div) {
      grid-template-columns: repeat(2, minmax(0, 1fr));
    }
  }

  @media (max-width: 720px) {
    .kceprojects-content:has(> article),
    .kceprojects-content:has(> div),
    .kcenews-carousel:not(.owl-loaded):has(> article),
    .kcenews-carousel:not(.owl-loaded):has(> div) {
      grid-template-columns: 1fr;
      max-width: 760px;
      margin-left: auto;
      margin-right: auto;
    }
  }
}

/* 8) Карточки: единая, но мягкая нормализация без ломки структуры */
.ce-feature-card,
.ce-about-card,
.ce-requirements-card,
.ce-course-card,
.ce-stats-card,
.ce-story-card,
.ce-session-format-card,
.ce-sessions-info-card,
.ce-credentials-card,
.ce-certificate-card,
.kcew-card,
.kcef-card,
.kcev-card,
.kcecontact-card,
.kcereview-card,
.kcearticle-card,
.kcebasic-card,
.kcebasic-aside,
.kcefaq-item {
  border-color: var(--ax-border-soft);
  box-shadow: var(--ax-shadow);
}

.ce-feature-card:hover,
.ce-about-card:hover,
.ce-requirements-card:hover,
.ce-course-card:hover,
.ce-course-card:focus-visible,
.ce-stats-card:hover,
.ce-story-card:hover,
.ce-session-format-card:hover,
.ce-credentials-card:hover,
.ce-certificate-card:hover,
.kcew-card:hover,
.kcef-card:hover,
.kcev-card:hover,
.kcecontact-card:hover,
.kcereview-card:hover,
.kcearticle-card:hover {
  border-color: var(--ax-border-hover);
  box-shadow: var(--ax-shadow-hover);
}

/* 9) Кнопки: компактная высота, единая геометрия */
.ax-btn,
.ax-btn--primary,
.ax-btn--dark,
.ax-btn--outline,
.ax-btn-primary,
.ax-btn-dark,
.ax-btn-secondary,
.ce-btn,
.ce-hero-btn,
.ce-about-btn,
.ce-req-btn,
.ce-courses-btn,
.ce-sessions-btn,
.ce-success-btn,
.ce-credentials-btn,
.ce-sessions-teaser-btn,
.kcef-btn,
.kcev-btn,
.kcecontact-btn,
.kcefinal-btn,
.kcenews-btn,
.kceprojects-btn,
.kcebasic-btn,
.button,
.button.medium,
.button.color,
.button.dark,
.button.light,
.button.white {
  min-height: 44px !important;
  height: auto !important;
  padding-top: 11px !important;
  padding-bottom: 11px !important;
  line-height: 1.15 !important;
  border-radius: var(--ax-radius-pill) !important;
}

@media (max-width: 640px) {
  .ax-btn,
  .ce-btn,
  .ce-hero-btn,
  .ce-about-btn,
  .ce-req-btn,
  .ce-courses-btn,
  .ce-sessions-btn,
  .ce-success-btn,
  .ce-credentials-btn,
  .ce-sessions-teaser-btn,
  .kcef-btn,
  .kcev-btn,
  .kcecontact-btn,
  .kcefinal-btn,
  .kcenews-btn,
  .kceprojects-btn,
  .kcebasic-btn,
  .button,
  .button.medium {
    min-height: 42px !important;
    padding-top: 10px !important;
    padding-bottom: 10px !important;
  }
}

/* 10) Все dark-кнопки переводим в синий CTA, как было задумано в конце исходника */
.ce-btn--dark,
.ce-hero-btn--dark,
.ce-about-btn--dark,
.ce-req-btn--dark,
.ce-courses-btn--dark,
.ce-sessions-btn--dark,
.ce-success-btn--dark,
.ce-credentials-btn--dark,
.kcef-btn--dark,
.kcev-btn--dark,
.kcecontact-btn--dark,
.kcefinal-btn--dark,
.dt-btn--dark,
.ax-btn--dark,
.ax-btn-dark,
#frequencies .ax-btn--dark,
.kcebasic-btn--secondary {
  color: #ffffff !important;
  background: linear-gradient(135deg, #0f172a, #1e293b) !important;
  border-color: #0f172a !important;
  box-shadow: 0 16px 36px rgba(15, 23, 42, 0.28) !important;
}

.ce-btn--dark:hover,
.ce-btn--dark:focus-visible,
.ce-hero-btn--dark:hover,
.ce-hero-btn--dark:focus-visible,
.ce-about-btn--dark:hover,
.ce-about-btn--dark:focus-visible,
.ce-req-btn--dark:hover,
.ce-req-btn--dark:focus-visible,
.ce-courses-btn--dark:hover,
.ce-courses-btn--dark:focus-visible,
.ce-sessions-btn--dark:hover,
.ce-sessions-btn--dark:focus-visible,
.ce-success-btn--dark:hover,
.ce-success-btn--dark:focus-visible,
.ce-credentials-btn--dark:hover,
.ce-credentials-btn--dark:focus-visible,
.kcef-btn--dark:hover,
.kcef-btn--dark:focus-visible,
.kcev-btn--dark:hover,
.kcev-btn--dark:focus-visible,
.kcecontact-btn--dark:hover,
.kcecontact-btn--dark:focus-visible,
.kcefinal-btn--dark:hover,
.kcefinal-btn--dark:focus-visible,
.dt-btn--dark:hover,
.dt-btn--dark:focus-visible,
.ax-btn--dark:hover,
.ax-btn--dark:focus-visible,
.ax-btn-dark:hover,
.ax-btn-dark:focus-visible,
#frequencies .ax-btn--dark:hover,
#frequencies .ax-btn--dark:focus-visible,
.kcebasic-btn--secondary:hover,
.kcebasic-btn--secondary:focus-visible {
  color: #ffffff !important;
  background: linear-gradient(135deg, #020617, #0f172a) !important;
  border-color: #020617 !important;
  box-shadow: 0 20px 46px rgba(15, 23, 42, 0.36) !important;
}

/* 11) Навигация: защита от длинных пунктов и горизонтального скролла */
.ax-nav {
  position: sticky;
  top: 0;
  z-index: 999;
  width: 100%;
  background: rgba(255, 255, 255, 0.95);
  border-bottom: 1px solid var(--ax-border-soft);
  box-shadow: 0 4px 12px rgba(15, 23, 42, 0.06);
  backdrop-filter: blur(12px);
}

.ax-nav-container {
  width: min(100% - var(--ax-gutter), var(--ax-container-max));
  margin-inline: auto;
  padding-block: 10px;
}

.ax-nav-list {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 6px 10px;
  margin: 0;
  padding: 6px 0;
  list-style: none;
}

.ax-nav-link {
  display: inline-flex;
  align-items: center;
  padding: 10px 18px;
  color: var(--ax-text-soft);
  font-family: var(--ax-font-body);
  font-size: 0.93rem;
  font-weight: 700;
  line-height: 1.3;
  text-decoration: none;
  border-radius: var(--ax-radius-pill);
  white-space: nowrap;
  transition:
    color var(--ax-transition-fast),
    background-color var(--ax-transition-fast),
    box-shadow var(--ax-transition-fast);
}

.ax-nav-link:hover {
  color: var(--ax-accent);
  background: var(--ax-accent-soft);
}

.ax-nav-link--active {
  color: #ffffff;
  background: var(--ax-accent);
  box-shadow: 0 4px 12px rgba(122, 92, 46, 0.25);
}

.ax-nav-link--active:hover {
  color: #ffffff;
  background: var(--ax-accent-hover);
}

@media (max-width: 768px) {
  .ax-nav-list {
    justify-content: flex-start;
    overflow-x: auto;
    flex-wrap: nowrap;
    padding-bottom: 10px;
    scrollbar-width: thin;
  }

  .ax-nav-link {
    padding: 8px 14px;
    font-size: 0.88rem;
  }
}

/* 12) Доступность и reduced motion */
:focus-visible {
  outline: none;
  box-shadow: var(--ax-focus-ring);
  border-radius: 8px;
}

@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }

  *,
  *::before,
  *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    scroll-behavior: auto !important;
    transition-duration: 0.01ms !important;
  }

  .ce-hero-section .ce-btn:hover,
  .ce-feature-card:hover,
  .ce-about-card:hover,
  .ce-about-btn:hover,
  .ce-requirements-card:hover,
  .ce-requirements-card:hover .ce-requirements-image,
  .ce-course-card:hover,
  .ce-course-card:focus-visible,
  .ce-course-card:hover .ce-course-image,
  .ce-course-card:focus-visible .ce-course-image,
  .ce-stats-card:hover,
  .ce-story-card:hover,
  .ce-session-format-card:hover,
  .ce-sessions-btn:hover,
  .ce-certificate-card:hover,
  .kcew-card:hover,
  .kcef-card:hover,
  .kcev-card:hover,
  .kcecontact-card:hover,
  .kcereview-card:hover,
  .kcearticle-card:hover,
  .kceprojects-btn:hover,
  .kcenews-btn:hover,
  .kcefinal-btn:hover,
  .ax-btn:hover,
  .button:hover {
    transform: none !important;
  }
}

@import url("https://fonts.googleapis.com/css2?family=Inter:ital,wght@0,400;0,500;0,600;0,700;1,400&family=Montserrat:wght@600;700;800&display=swap");

/* =========================================================
   CE HERO PROFESSIONAL
   Под ax-design-system.css + ax-ui-kit.css
   Ограничение контейнера: 1360px
   ========================================================= */

.ce-hero-section,
.ce-hero-section * {
  box-sizing: border-box;
}

.ce-hero-section {
  position: relative;
  overflow: hidden;
  padding: clamp(56px, 7vw, 96px) 0 clamp(60px, 8vw, 112px);
  color: var(--ax-text, #17202b);
  background:
    radial-gradient(
      circle at 50% -10%,
      rgba(154, 110, 57, 0.12),
      transparent 38%
    ),
    linear-gradient(
      180deg,
      rgba(255, 255, 255, 0.78),
      rgba(250, 247, 241, 0.96)
    ),
    var(--ax-bg, #faf7f1);
}

.ce-hero-container {
  width: 100%;
  max-width: 1360px;
  margin: 0 auto;
  padding: 0 clamp(16px, 3vw, 40px);
}

/* ========== HEADER ========== */

.ce-hero-header {
  max-width: 1180px;
  margin: 0 auto;
  text-align: center;
}

.ce-hero-kicker {
  display: block;
  margin: 0 auto clamp(16px, 2vw, 22px);
  text-align: center;
}

.ce-main-headline {
  max-width: 1120px;
  margin: 0 auto;
  color: var(--ax-text, #17202b);
  font-family: var(--ax-font-heading, inherit);
  font-size: clamp(2.25rem, 1.3rem + 3.6vw, 4.85rem);
  font-weight: 700;
  line-height: 1.08;
  letter-spacing: -0.045em;
  text-align: center;
  text-wrap: balance;
}

.ce-main-headline span {
  display: block;
}

.ce-main-headline__accent {
  max-width: 980px;
  margin: 0.18em auto 0;
  color: var(--ax-accent, #9a6e39);
  font-size: 0.58em;
  line-height: 1.18;
  letter-spacing: -0.025em;
}

.ce-hero-lead {
  max-width: 940px;
  margin: clamp(22px, 2.8vw, 32px) auto 0;
  color: var(--ax-text-soft, rgba(23, 32, 43, 0.7));
  font-size: clamp(1.02rem, 0.96rem + 0.28vw, 1.2rem);
  line-height: 1.72;
  text-align: center;
  text-wrap: balance;
}

/* ========== TEXT + IMAGE ========== */

.ce-hero-layout {
  display: grid;
  grid-template-columns: minmax(0, 1.06fr) minmax(360px, 0.94fr);
  align-items: stretch;
  gap: clamp(28px, 4.8vw, 72px);
  margin-top: clamp(42px, 5.6vw, 76px);
}

.ce-hero-copy {
  align-self: center;
  min-width: 0;
  padding: clamp(24px, 3vw, 42px);
  background: var(--ax-panel, #ffffff);
  border: 1px solid var(--ax-border-soft, rgba(23, 32, 43, 0.08));
  border-radius: var(--ax-radius-card, 28px);
  box-shadow: var(--ax-shadow, 0 18px 44px rgba(23, 32, 43, 0.08));
}

.ce-hero-copy p {
  margin: 0;
  color: var(--ax-text-soft, rgba(23, 32, 43, 0.72));
  font-size: clamp(1rem, 0.96rem + 0.18vw, 1.08rem);
  line-height: 1.78;
}

.ce-hero-copy p + p {
  margin-top: 18px;
}

.ce-hero-copy strong {
  color: var(--ax-text, #17202b);
  font-weight: 700;
}

.ce-hero-media {
  position: relative;
  min-width: 0;
  margin: 0;
  overflow: hidden;
  border-radius: var(--ax-radius-card, 30px);
  background: var(--ax-panel-soft, #f4efe7);
  box-shadow: var(--ax-shadow-image, 0 28px 76px rgba(23, 32, 43, 0.16));
  isolation: isolate;
}

.ce-hero-media::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background:
    linear-gradient(180deg, transparent 58%, rgba(23, 32, 43, 0.12)),
    linear-gradient(90deg, rgba(255, 255, 255, 0.12), transparent 38%);
}

.ce-hero-media picture {
  display: block;
  width: 100%;
  height: 100%;
}

.ce-hero-image {
  display: block;
  width: 100%;
  height: 100%;
  min-height: clamp(460px, 38vw, 640px);
  object-fit: cover;
  transform: scale(1.001);
  filter: saturate(1.03) contrast(1.03);
}

/* ========== BUTTONS ========== */

.ce-hero-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 14px;
  max-width: 1040px;
  margin: clamp(38px, 5vw, 62px) auto 0;
  text-align: center;
}

.ce-hero-section .ce-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 54px;
  padding: 16px 26px;
  border: 1px solid transparent;
  border-radius: 999px;
  font-family: var(--ax-font-body, inherit);
  font-size: 0.96rem;
  font-weight: 700;
  line-height: 1.2;
  text-align: center;
  text-decoration: none;
  white-space: normal;
  cursor: pointer;
  transition:
    color var(--ax-ease, 0.2s ease),
    background-color var(--ax-ease, 0.2s ease),
    border-color var(--ax-ease, 0.2s ease),
    box-shadow var(--ax-ease-soft, 0.28s ease),
    transform var(--ax-ease-soft, 0.28s ease);
}

.ce-hero-section .ce-btn:hover {
  transform: translateY(-2px);
}

.ce-hero-section .ce-btn:focus-visible {
  outline: 3px solid var(--ax-focus, rgba(154, 110, 57, 0.35));
  outline-offset: 4px;
}

.ce-btn--primary {
  color: #ffffff;
  background: var(--ax-accent, #9a6e39);
  border-color: var(--ax-accent, #9a6e39);
  box-shadow: 0 16px 36px rgba(154, 110, 57, 0.26);
}

.ce-btn--primary:hover,
.ce-btn--primary:focus-visible {
  color: #ffffff;
  background: var(--ax-accent-dark, #7c552c);
  border-color: var(--ax-accent-dark, #7c552c);
  box-shadow: 0 20px 46px rgba(154, 110, 57, 0.34);
}

.ce-btn--dark {
  color: #ffffff;
  background: var(--ax-text, #17202b);
  border-color: var(--ax-text, #17202b);
  box-shadow: 0 16px 36px rgba(23, 32, 43, 0.18);
}

.ce-btn--dark:hover,
.ce-btn--dark:focus-visible {
  color: #ffffff;
  background: #000000;
  border-color: #000000;
  box-shadow: 0 20px 46px rgba(23, 32, 43, 0.26);
}

.ce-btn--ghost {
  color: var(--ax-accent, #9a6e39);
  background: rgba(255, 255, 255, 0.5);
  border-color: var(--ax-border, rgba(154, 110, 57, 0.32));
  box-shadow: none;
}

.ce-btn--ghost:hover,
.ce-btn--ghost:focus-visible {
  color: var(--ax-text, #17202b);
  background: var(--ax-accent-soft, rgba(154, 110, 57, 0.1));
  border-color: var(--ax-accent, #9a6e39);
}

/* ========== FEATURE CARDS ========== */

.ce-hero-features {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(18px, 2.4vw, 30px);
  margin-top: clamp(42px, 5.8vw, 72px);
}

.ce-feature-card {
  position: relative;
  display: flex;
  flex-direction: column;
  min-width: 0;
  height: 100%;
  padding: clamp(24px, 2.8vw, 36px);
  overflow: hidden;
  background: var(--ax-panel, #ffffff);
  border: 1px solid var(--ax-border-soft, rgba(23, 32, 43, 0.08));
  border-radius: var(--ax-radius-card, 28px);
  box-shadow: var(--ax-shadow, 0 18px 44px rgba(23, 32, 43, 0.08));
  transition:
    transform var(--ax-ease-soft, 0.28s ease),
    box-shadow var(--ax-ease-soft, 0.28s ease),
    border-color var(--ax-ease-soft, 0.28s ease);
}

.ce-feature-card::before {
  content: "";
  position: absolute;
  top: 0;
  left: clamp(24px, 2.8vw, 36px);
  right: clamp(24px, 2.8vw, 36px);
  height: 3px;
  border-radius: 999px;
  background: linear-gradient(
    90deg,
    var(--ax-accent, #9a6e39),
    rgba(154, 110, 57, 0.16)
  );
}

.ce-feature-card:hover {
  transform: translateY(-6px);
  border-color: var(--ax-border-hover, rgba(154, 110, 57, 0.22));
  box-shadow: var(--ax-shadow-hover, 0 24px 64px rgba(23, 32, 43, 0.12));
}

.ce-feature-meta {
  display: inline-block;
  margin: 0 0 16px;
}

.ce-feature-title {
  margin: 0;
  color: var(--ax-text, #17202b);
  font-family: var(--ax-font-heading, inherit);
  font-size: clamp(1.12rem, 1rem + 0.45vw, 1.38rem);
  font-weight: 700;
  line-height: 1.3;
  letter-spacing: -0.025em;
  text-wrap: balance;
}

.ce-feature-text {
  margin: 16px 0 0;
  color: var(--ax-text-soft, rgba(23, 32, 43, 0.7));
  font-size: clamp(0.98rem, 0.94rem + 0.12vw, 1.04rem);
  line-height: 1.72;
}

.ce-feature-link {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  width: fit-content;
  margin-top: auto;
  padding-top: 22px;
  color: var(--ax-accent, #9a6e39);
  font-size: 0.95rem;
  font-weight: 700;
  line-height: 1.4;
  text-decoration: none;
  transition:
    color var(--ax-ease, 0.2s ease),
    gap var(--ax-ease, 0.2s ease);
}

.ce-feature-link::after {
  content: "→";
  line-height: 1;
  transition: transform var(--ax-ease, 0.2s ease);
}

.ce-feature-link:hover,
.ce-feature-link:focus-visible {
  gap: 12px;
  color: var(--ax-link-hover, #17202b);
}

.ce-feature-link:hover::after,
.ce-feature-link:focus-visible::after {
  transform: translateX(2px);
}

.ce-feature-link:focus-visible {
  outline: 3px solid var(--ax-focus, rgba(154, 110, 57, 0.35));
  outline-offset: 5px;
  border-radius: 8px;
}

/* ========== RESPONSIVE ========== */

@media (max-width: 1120px) {
  .ce-hero-layout {
    grid-template-columns: minmax(0, 1fr) minmax(320px, 0.9fr);
    gap: clamp(24px, 4vw, 44px);
  }

  .ce-hero-features {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 940px) {
  .ce-hero-section {
    padding-top: clamp(44px, 8vw, 68px);
  }

  .ce-main-headline {
    max-width: 820px;
    font-size: clamp(2.15rem, 1.35rem + 5vw, 4rem);
  }

  .ce-main-headline__accent {
    font-size: 0.62em;
  }

  .ce-hero-layout {
    grid-template-columns: 1fr;
  }

  .ce-hero-copy {
    order: 1;
  }

  .ce-hero-media {
    order: 2;
    max-width: 720px;
    width: 100%;
    margin: 0 auto;
  }

  .ce-hero-image {
    min-height: auto;
    aspect-ratio: 680 / 750;
  }

  .ce-hero-features {
    grid-template-columns: 1fr;
    max-width: 720px;
    margin-left: auto;
    margin-right: auto;
  }
}

@media (max-width: 640px) {
  .ce-hero-container {
    padding: 0 16px;
  }

  .ce-main-headline {
    font-size: clamp(2rem, 10.5vw, 3.15rem);
    line-height: 1.1;
    letter-spacing: -0.038em;
  }

  .ce-main-headline__accent {
    font-size: 0.64em;
    line-height: 1.22;
  }

  .ce-hero-lead {
    font-size: 1rem;
    line-height: 1.68;
  }

  .ce-hero-copy {
    padding: 24px;
  }

  .ce-hero-actions {
    align-items: stretch;
    gap: 12px;
  }

  .ce-hero-section .ce-btn {
    width: 100%;
    max-width: 380px;
    margin: 0 auto;
    min-height: 52px;
    padding: 15px 22px;
  }

  .ce-feature-card {
    padding: 24px;
  }
}

/* ========== REDUCED MOTION ========== */

@media (prefers-reduced-motion: reduce) {
  .ce-hero-section .ce-btn,
  .ce-feature-card,
  .ce-feature-link,
  .ce-feature-link::after {
    transition: none;
  }

  .ce-hero-section .ce-btn:hover,
  .ce-feature-card:hover {
    transform: none;
  }
}
/* =========================================================
   CE ABOUT SECTION
   Под ax-design-system.css + ax-ui-kit.css
   Резиновая ширина, ограничение: 1360px
   ========================================================= */

.ce-about-section,
.ce-about-section * {
  box-sizing: border-box;
}

.ce-about-section {
  position: relative;
  overflow: hidden;
  padding: clamp(56px, 7vw, 96px) 0 clamp(60px, 8vw, 108px);
  color: var(--ax-text, #17202b);
  background:
    radial-gradient(
      circle at 50% 0%,
      rgba(154, 110, 57, 0.08),
      transparent 42%
    ),
    var(--ax-bg, #faf7f1);
}

.ce-about-container {
  width: 100%;
  max-width: 1360px;
  margin: 0 auto;
  padding: 0 clamp(16px, 3vw, 40px);
}

/* ========== HEADER ========== */

.ce-about-header {
  max-width: 1120px;
  margin: 0 auto;
  text-align: center;
}

.ce-about-kicker {
  display: block;
  margin: 0 auto clamp(16px, 2vw, 22px);
  text-align: center;
}

.ce-about-title {
  max-width: 1040px;
  margin: 0 auto;
  color: var(--ax-text, #17202b);
  font-family: var(--ax-font-heading, inherit);
  font-size: clamp(2rem, 1.25rem + 3vw, 4.1rem);
  font-weight: 700;
  line-height: 1.1;
  letter-spacing: -0.045em;
  text-align: center;
  text-wrap: balance;
}

.ce-about-lead {
  max-width: 920px;
  margin: clamp(20px, 2.6vw, 30px) auto 0;
  color: var(--ax-text-soft, rgba(23, 32, 43, 0.7));
  font-size: clamp(1.02rem, 0.96rem + 0.26vw, 1.18rem);
  line-height: 1.72;
  text-align: center;
  text-wrap: balance;
}

/* ========== CARDS GRID ========== */

.ce-about-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(18px, 2.4vw, 30px);
  margin-top: clamp(40px, 5.5vw, 72px);
}

.ce-about-card {
  position: relative;
  display: flex;
  flex-direction: column;
  min-width: 0;
  height: 100%;
  padding: clamp(24px, 2.8vw, 36px);
  overflow: hidden;
  background: var(--ax-panel, #ffffff);
  border: 1px solid var(--ax-border-soft, rgba(23, 32, 43, 0.08));
  border-radius: var(--ax-radius-card, 28px);
  box-shadow: var(--ax-shadow, 0 18px 44px rgba(23, 32, 43, 0.08));
  transition:
    transform var(--ax-ease-soft, 0.28s ease),
    box-shadow var(--ax-ease-soft, 0.28s ease),
    border-color var(--ax-ease-soft, 0.28s ease);
}

.ce-about-card::before {
  content: "";
  position: absolute;
  top: 0;
  left: clamp(24px, 2.8vw, 36px);
  right: clamp(24px, 2.8vw, 36px);
  height: 3px;
  border-radius: 999px;
  background: linear-gradient(
    90deg,
    var(--ax-accent, #9a6e39),
    rgba(154, 110, 57, 0.16)
  );
}

.ce-about-card:hover {
  transform: translateY(-6px);
  border-color: var(--ax-border-hover, rgba(154, 110, 57, 0.22));
  box-shadow: var(--ax-shadow-hover, 0 24px 64px rgba(23, 32, 43, 0.12));
}

.ce-about-meta {
  display: inline-block;
  margin: 0 0 16px;
}

.ce-about-card-title {
  margin: 0;
  color: var(--ax-text, #17202b);
  font-family: var(--ax-font-heading, inherit);
  font-size: clamp(1.12rem, 1rem + 0.45vw, 1.38rem);
  font-weight: 700;
  line-height: 1.3;
  letter-spacing: -0.025em;
  text-wrap: balance;
}

.ce-about-card-text {
  margin: 16px 0 0;
  color: var(--ax-text-soft, rgba(23, 32, 43, 0.7));
  font-size: clamp(0.98rem, 0.94rem + 0.12vw, 1.04rem);
  line-height: 1.74;
}

/* ========== BUTTONS ========== */

.ce-about-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 14px;
  max-width: 920px;
  margin: clamp(38px, 5vw, 62px) auto 0;
  text-align: center;
}

.ce-about-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 54px;
  padding: 16px 28px;
  border: 1px solid transparent;
  border-radius: 999px;
  font-family: var(--ax-font-body, inherit);
  font-size: 0.96rem;
  font-weight: 700;
  line-height: 1.2;
  text-align: center;
  text-decoration: none;
  white-space: normal;
  cursor: pointer;
  appearance: none;
  transition:
    color var(--ax-ease, 0.2s ease),
    background-color var(--ax-ease, 0.2s ease),
    border-color var(--ax-ease, 0.2s ease),
    box-shadow var(--ax-ease-soft, 0.28s ease),
    transform var(--ax-ease-soft, 0.28s ease);
}

.ce-about-btn:hover {
  text-decoration: none;
  transform: translateY(-2px);
}

.ce-about-btn:focus-visible {
  outline: 3px solid var(--ax-focus, rgba(154, 110, 57, 0.35));
  outline-offset: 4px;
}

.ce-about-btn--primary {
  color: #ffffff;
  background: var(--ax-accent, #9a6e39);
  border-color: var(--ax-accent, #9a6e39);
  box-shadow: 0 16px 36px rgba(154, 110, 57, 0.26);
}

.ce-about-btn--primary:hover,
.ce-about-btn--primary:focus-visible {
  color: #ffffff;
  background: var(--ax-accent-dark, #7c552c);
  border-color: var(--ax-accent-dark, #7c552c);
  box-shadow: 0 20px 46px rgba(154, 110, 57, 0.34);
}

.ce-about-btn--dark {
  color: #ffffff;
  background: var(--ax-text, #17202b);
  border-color: var(--ax-text, #17202b);
  box-shadow: 0 16px 36px rgba(23, 32, 43, 0.18);
}

.ce-about-btn--dark:hover,
.ce-about-btn--dark:focus-visible {
  color: #ffffff;
  background: #000000;
  border-color: #000000;
  box-shadow: 0 20px 46px rgba(23, 32, 43, 0.26);
}

/* ========== RESPONSIVE ========== */

@media (max-width: 1024px) {
  .ce-about-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 20px;
  }

  .ce-about-card {
    padding: 24px;
  }
}

@media (max-width: 900px) {
  .ce-about-grid {
    grid-template-columns: 1fr;
    max-width: 720px;
    margin-left: auto;
    margin-right: auto;
  }

  .ce-about-title {
    max-width: 820px;
    font-size: clamp(2rem, 1.35rem + 4.2vw, 3.6rem);
  }
}

@media (max-width: 640px) {
  .ce-about-container {
    padding: 0 16px;
  }

  .ce-about-title {
    font-size: clamp(1.9rem, 9.5vw, 3rem);
    line-height: 1.12;
    letter-spacing: -0.038em;
  }

  .ce-about-lead {
    font-size: 1rem;
    line-height: 1.68;
  }

  .ce-about-actions {
    align-items: stretch;
    gap: 12px;
  }

  .ce-about-btn {
    width: 100%;
    max-width: 380px;
    margin: 0 auto;
    min-height: 52px;
    padding: 15px 22px;
  }
}

/* ========== REDUCED MOTION ========== */

@media (prefers-reduced-motion: reduce) {
  .ce-about-card,
  .ce-about-btn {
    transition: none;
  }

  .ce-about-card:hover,
  .ce-about-btn:hover {
    transform: none;
  }
}
/* =========================================================
   CE REQUIREMENTS SECTION
   Под ax-design-system.css + ax-ui-kit.css
   Резиновая ширина, ограничение: 1360px
   ========================================================= */

.ce-requirements-section,
.ce-requirements-section * {
  box-sizing: border-box;
}

.ce-requirements-section {
  position: relative;
  overflow: hidden;
  padding: clamp(56px, 7vw, 96px) 0 clamp(60px, 8vw, 112px);
  color: var(--ax-text, #17202b);
  background:
    radial-gradient(
      circle at 50% 0%,
      rgba(154, 110, 57, 0.08),
      transparent 42%
    ),
    linear-gradient(
      180deg,
      rgba(255, 255, 255, 0.9),
      rgba(250, 247, 241, 0.98)
    ),
    var(--ax-bg, #faf7f1);
}

.ce-requirements-container {
  width: 100%;
  max-width: 1360px;
  margin: 0 auto;
  padding: 0 clamp(16px, 3vw, 40px);
}

/* ========== HEADER ========== */

.ce-requirements-header {
  max-width: 1120px;
  margin: 0 auto;
  text-align: center;
}

.ce-requirements-kicker {
  display: block;
  margin: 0 auto clamp(16px, 2vw, 22px);
  text-align: center;
}

.ce-requirements-title {
  max-width: 1060px;
  margin: 0 auto;
  color: var(--ax-text, #17202b);
  font-family: var(--ax-font-heading, inherit);
  font-size: clamp(2rem, 1.25rem + 3vw, 4.1rem);
  font-weight: 700;
  line-height: 1.1;
  letter-spacing: -0.045em;
  text-align: center;
  text-wrap: balance;
}

.ce-requirements-lead {
  max-width: 940px;
  margin: clamp(20px, 2.6vw, 30px) auto 0;
  color: var(--ax-text-soft, rgba(23, 32, 43, 0.7));
  font-size: clamp(1.02rem, 0.96rem + 0.26vw, 1.18rem);
  line-height: 1.72;
  text-align: center;
  text-wrap: balance;
}

/* ========== GRID ========== */

.ce-requirements-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(18px, 2.4vw, 30px);
  margin-top: clamp(42px, 5.6vw, 76px);
}

/* ========== CARD ========== */

.ce-requirements-card {
  display: flex;
  flex-direction: column;
  min-width: 0;
  height: 100%;
  overflow: hidden;
  background: var(--ax-panel, #ffffff);
  border: 1px solid var(--ax-border-soft, rgba(23, 32, 43, 0.08));
  border-radius: var(--ax-radius-card, 30px);
  box-shadow: var(--ax-shadow, 0 18px 44px rgba(23, 32, 43, 0.08));
  transition:
    transform var(--ax-ease-soft, 0.28s ease),
    box-shadow var(--ax-ease-soft, 0.28s ease),
    border-color var(--ax-ease-soft, 0.28s ease);
}

.ce-requirements-card:hover {
  transform: translateY(-6px);
  border-color: var(--ax-border-hover, rgba(154, 110, 57, 0.22));
  box-shadow: var(--ax-shadow-hover, 0 24px 64px rgba(23, 32, 43, 0.12));
}

/* ========== FULL WIDTH IMAGE IN CARD ========== */

.ce-requirements-media {
  position: relative;
  display: block;
  width: 100%;
  margin: 0;
  overflow: hidden;
  background: var(--ax-panel-soft, #f4efe7);
  aspect-ratio: 1200 / 630;
  line-height: 0;
}

.ce-requirements-media::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background:
    linear-gradient(180deg, transparent 58%, rgba(23, 32, 43, 0.14)),
    linear-gradient(90deg, rgba(255, 255, 255, 0.16), transparent 42%);
}

.ce-requirements-media picture {
  display: block;
  width: 100%;
  height: 100%;
}

.ce-requirements-image {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transform: scale(1.001);
  filter: saturate(1.03) contrast(1.03);
  transition:
    transform 0.7s ease,
    filter 0.5s ease;
}

.ce-requirements-card:hover .ce-requirements-image {
  transform: scale(1.045);
  filter: saturate(1.07) contrast(1.05);
}

/* ========== CARD BODY ========== */

.ce-requirements-body {
  display: flex;
  flex: 1 1 auto;
  flex-direction: column;
  min-width: 0;
  padding: clamp(24px, 2.6vw, 34px);
}

.ce-requirements-meta {
  display: inline-block;
  margin: 0 0 16px;
}

.ce-requirements-card-title {
  margin: 0;
  color: var(--ax-text, #17202b);
  font-family: var(--ax-font-heading, inherit);
  font-size: clamp(1.12rem, 1rem + 0.45vw, 1.36rem);
  font-weight: 700;
  line-height: 1.3;
  letter-spacing: -0.025em;
  text-wrap: balance;
}

.ce-requirements-card-text {
  margin: 16px 0 0;
  color: var(--ax-text-soft, rgba(23, 32, 43, 0.7));
  font-size: clamp(0.98rem, 0.94rem + 0.12vw, 1.04rem);
  line-height: 1.72;
}

.ce-requirements-group {
  margin-top: 22px;
  padding-top: 20px;
  border-top: 1px solid var(--ax-border-soft, rgba(23, 32, 43, 0.08));
}

.ce-requirements-subtitle {
  margin: 0 0 12px;
  color: var(--ax-text, #17202b);
  font-family: var(--ax-font-heading, inherit);
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.35;
  letter-spacing: -0.015em;
}

.ce-requirements-list {
  display: grid;
  gap: 10px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.ce-requirements-list li {
  position: relative;
  padding-left: 22px;
  color: var(--ax-text-soft, rgba(23, 32, 43, 0.72));
  font-size: 0.97rem;
  line-height: 1.62;
}

.ce-requirements-list li::before {
  content: "";
  position: absolute;
  top: 0.72em;
  left: 0;
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--ax-accent, #9a6e39);
  box-shadow: 0 0 0 4px var(--ax-accent-soft, rgba(154, 110, 57, 0.12));
  transform: translateY(-50%);
}

.ce-requirements-note {
  margin: 22px 0 0;
  padding: 16px 18px;
  color: var(--ax-accent, #9a6e39);
  font-size: 0.95rem;
  line-height: 1.62;
  background: var(--ax-accent-soft, rgba(154, 110, 57, 0.09));
  border: 1px solid rgba(154, 110, 57, 0.14);
  border-radius: 18px;
}

.ce-requirements-link {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  width: fit-content;
  margin-top: auto;
  padding-top: 24px;
  color: var(--ax-accent, #9a6e39);
  font-size: 0.95rem;
  font-weight: 700;
  line-height: 1.4;
  text-decoration: none;
  transition:
    color var(--ax-ease, 0.2s ease),
    gap var(--ax-ease, 0.2s ease);
}

.ce-requirements-link::after {
  content: "→";
  line-height: 1;
  transition: transform var(--ax-ease, 0.2s ease);
}

.ce-requirements-link:hover,
.ce-requirements-link:focus-visible {
  gap: 12px;
  color: var(--ax-link-hover, #17202b);
}

.ce-requirements-link:hover::after,
.ce-requirements-link:focus-visible::after {
  transform: translateX(2px);
}

.ce-requirements-link:focus-visible {
  outline: 3px solid var(--ax-focus, rgba(154, 110, 57, 0.35));
  outline-offset: 5px;
  border-radius: 8px;
}

/* ========== ACTION BUTTONS ========== */

.ce-requirements-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 14px;
  max-width: 1080px;
  margin: clamp(40px, 5vw, 64px) auto 0;
  text-align: center;
}

.ce-req-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 54px;
  padding: 16px 28px;
  border: 1px solid transparent;
  border-radius: 999px;
  font-family: var(--ax-font-body, inherit);
  font-size: 0.96rem;
  font-weight: 700;
  line-height: 1.2;
  text-align: center;
  text-decoration: none;
  white-space: normal;
  cursor: pointer;
  appearance: none;
  transition:
    color var(--ax-ease, 0.2s ease),
    background-color var(--ax-ease, 0.2s ease),
    border-color var(--ax-ease, 0.2s ease),
    box-shadow var(--ax-ease-soft, 0.28s ease),
    transform var(--ax-ease-soft, 0.28s ease);
}

.ce-req-btn:hover {
  text-decoration: none;
  transform: translateY(-2px);
}

.ce-req-btn:focus-visible {
  outline: 3px solid var(--ax-focus, rgba(154, 110, 57, 0.35));
  outline-offset: 4px;
}

.ce-req-btn--primary {
  color: #ffffff;
  background: var(--ax-accent, #9a6e39);
  border-color: var(--ax-accent, #9a6e39);
  box-shadow: 0 16px 36px rgba(154, 110, 57, 0.26);
}

.ce-req-btn--primary:hover,
.ce-req-btn--primary:focus-visible {
  color: #ffffff;
  background: var(--ax-accent-dark, #7c552c);
  border-color: var(--ax-accent-dark, #7c552c);
  box-shadow: 0 20px 46px rgba(154, 110, 57, 0.34);
}

.ce-req-btn--dark {
  color: #ffffff;
  background: var(--ax-text, #17202b);
  border-color: var(--ax-text, #17202b);
  box-shadow: 0 16px 36px rgba(23, 32, 43, 0.18);
}

.ce-req-btn--dark:hover,
.ce-req-btn--dark:focus-visible {
  color: #ffffff;
  background: #000000;
  border-color: #000000;
  box-shadow: 0 20px 46px rgba(23, 32, 43, 0.26);
}

.ce-req-btn--ghost {
  color: var(--ax-accent, #9a6e39);
  background: rgba(255, 255, 255, 0.58);
  border-color: var(--ax-border, rgba(154, 110, 57, 0.32));
  box-shadow: none;
}

.ce-req-btn--ghost:hover,
.ce-req-btn--ghost:focus-visible {
  color: var(--ax-text, #17202b);
  background: var(--ax-accent-soft, rgba(154, 110, 57, 0.1));
  border-color: var(--ax-accent, #9a6e39);
}

.ce-requirements-actions-note {
  max-width: 900px;
  margin: clamp(20px, 2.6vw, 28px) auto 0;
  color: var(--ax-text-soft, rgba(23, 32, 43, 0.68));
  font-size: var(--ax-note-size, 1rem);
  line-height: 1.68;
  text-align: center;
}

/* ========== RESPONSIVE ========== */

@media (max-width: 1100px) {
  .ce-requirements-grid {
    grid-template-columns: 1fr;
    max-width: 820px;
    margin-left: auto;
    margin-right: auto;
  }

  .ce-requirements-media {
    aspect-ratio: 1200 / 560;
  }
}

@media (max-width: 770px) {
  .ce-requirements-media {
    aspect-ratio: 770 / 500;
  }
}

@media (max-width: 640px) {
  .ce-requirements-container {
    padding: 0 16px;
  }

  .ce-requirements-title {
    font-size: clamp(1.9rem, 9.5vw, 3rem);
    line-height: 1.12;
    letter-spacing: -0.038em;
  }

  .ce-requirements-lead {
    font-size: 1rem;
    line-height: 1.68;
  }

  .ce-requirements-body {
    padding: 24px;
  }

  .ce-requirements-actions {
    align-items: stretch;
    gap: 12px;
  }

  .ce-req-btn {
    width: 100%;
    max-width: 380px;
    margin: 0 auto;
    min-height: 52px;
    padding: 15px 22px;
  }

  .ce-requirements-actions-note {
    text-align: left;
  }
}

/* ========== REDUCED MOTION ========== */

@media (prefers-reduced-motion: reduce) {
  .ce-requirements-card,
  .ce-requirements-image,
  .ce-requirements-link,
  .ce-requirements-link::after,
  .ce-req-btn {
    transition: none;
  }

  .ce-requirements-card:hover,
  .ce-requirements-card:hover .ce-requirements-image,
  .ce-req-btn:hover {
    transform: none;
  }
}
/* =========================================================
   CE COURSES SECTION
   Главная секция программ обучения
   Под ax-design-system.css + ax-ui-kit.css
   Резиновая ширина, ограничение: 1360px
   ========================================================= */

.ce-courses-section,
.ce-courses-section * {
  box-sizing: border-box;
}

.ce-courses-section {
  position: relative;
  overflow: hidden;
  padding: clamp(56px, 7vw, 96px) 0 clamp(60px, 8vw, 112px);
  color: var(--ax-text, #17202b);
  background:
    radial-gradient(
      circle at 50% -8%,
      rgba(154, 110, 57, 0.14),
      transparent 40%
    ),
    linear-gradient(
      180deg,
      rgba(250, 247, 241, 0.96),
      rgba(255, 255, 255, 0.92)
    ),
    var(--ax-bg, #faf7f1);
}

.ce-courses-container {
  width: 100%;
  max-width: 1360px;
  margin: 0 auto;
  padding: 0 clamp(16px, 3vw, 40px);
}

/* ========== HEADER ========== */

.ce-courses-header {
  max-width: 1140px;
  margin: 0 auto;
  text-align: center;
}

.ce-courses-kicker {
  display: block;
  margin: 0 auto clamp(16px, 2vw, 22px);
  text-align: center;
}

.ce-courses-title {
  max-width: 1120px;
  margin: 0 auto;
  color: var(--ax-text, #17202b);
  font-family: var(--ax-font-heading, inherit);
  font-size: clamp(2rem, 1.2rem + 3.15vw, 4.15rem);
  font-weight: 700;
  line-height: 1.1;
  letter-spacing: -0.045em;
  text-align: center;
  text-wrap: balance;
}

.ce-courses-title span {
  display: block;
}

.ce-courses-lead {
  max-width: 940px;
  margin: clamp(20px, 2.6vw, 30px) auto 0;
  color: var(--ax-text-soft, rgba(23, 32, 43, 0.7));
  font-size: clamp(1.02rem, 0.96rem + 0.26vw, 1.18rem);
  line-height: 1.72;
  text-align: center;
  text-wrap: balance;
}

/* ========== GRID ========== */

.ce-courses-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(18px, 2.4vw, 30px);
  margin-top: clamp(42px, 5.8vw, 78px);
}

/* ========== CARD ========== */

.ce-course-card {
  position: relative;
  display: flex;
  flex-direction: column;
  min-width: 0;
  height: 100%;
  overflow: hidden;
  color: inherit;
  text-decoration: none;
  background: var(--ax-panel, #ffffff);
  border: 1px solid var(--ax-border-soft, rgba(23, 32, 43, 0.08));
  border-radius: var(--ax-radius-card, 30px);
  box-shadow: var(--ax-shadow, 0 18px 44px rgba(23, 32, 43, 0.08));
  isolation: isolate;
  transition:
    transform var(--ax-ease-soft, 0.28s ease),
    box-shadow var(--ax-ease-soft, 0.28s ease),
    border-color var(--ax-ease-soft, 0.28s ease);
}

.ce-course-card:hover,
.ce-course-card:focus-visible {
  transform: translateY(-6px);
  border-color: var(--ax-border-hover, rgba(154, 110, 57, 0.22));
  box-shadow: var(--ax-shadow-hover, 0 24px 64px rgba(23, 32, 43, 0.12));
}

.ce-course-card:focus-visible {
  outline: 3px solid var(--ax-focus, rgba(154, 110, 57, 0.35));
  outline-offset: 6px;
}

/* ========== FEATURED BASIC COURSE ========== */

.ce-course-card--featured {
  grid-column: span 2;
  background:
    linear-gradient(
      180deg,
      rgba(255, 255, 255, 0.98),
      rgba(250, 247, 241, 0.96)
    ),
    var(--ax-panel, #ffffff);
  border-color: rgba(154, 110, 57, 0.34);
  box-shadow:
    0 26px 76px rgba(154, 110, 57, 0.16),
    0 18px 44px rgba(23, 32, 43, 0.08);
}

.ce-course-card--featured::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  background:
    radial-gradient(
      circle at 18% 0%,
      rgba(154, 110, 57, 0.18),
      transparent 34%
    ),
    linear-gradient(90deg, rgba(154, 110, 57, 0.08), transparent 52%);
}

.ce-course-card--featured > * {
  position: relative;
  z-index: 1;
}

.ce-course-card--featured:hover,
.ce-course-card--featured:focus-visible {
  border-color: rgba(154, 110, 57, 0.52);
  box-shadow:
    0 32px 86px rgba(154, 110, 57, 0.2),
    0 24px 64px rgba(23, 32, 43, 0.12);
}

/* ========== IMAGE ========== */

.ce-course-media {
  position: relative;
  display: block;
  width: 100%;
  margin: 0;
  overflow: hidden;
  background: var(--ax-panel-soft, #f4efe7);
  aspect-ratio: 1200 / 630;
  line-height: 0;
}

.ce-course-media::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background:
    linear-gradient(180deg, transparent 58%, rgba(23, 32, 43, 0.14)),
    linear-gradient(90deg, rgba(255, 255, 255, 0.16), transparent 42%);
}

.ce-course-media picture {
  display: block;
  width: 100%;
  height: 100%;
}

.ce-course-image {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transform: scale(1.001);
  filter: saturate(1.03) contrast(1.03);
  transition:
    transform 0.7s ease,
    filter 0.5s ease;
}

.ce-course-card:hover .ce-course-image,
.ce-course-card:focus-visible .ce-course-image {
  transform: scale(1.045);
  filter: saturate(1.07) contrast(1.05);
}

/* ========== BODY ========== */

.ce-course-body {
  display: flex;
  flex: 1 1 auto;
  flex-direction: column;
  min-width: 0;
  padding: clamp(24px, 2.6vw, 34px);
}

.ce-course-card--featured .ce-course-body {
  padding: clamp(26px, 3vw, 40px);
}

.ce-course-topline {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px 12px;
  margin-bottom: 16px;
}

.ce-course-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 30px;
  padding: 7px 12px;
  color: #ffffff;
  background: var(--ax-accent, #9a6e39);
  border-radius: 999px;
  box-shadow: 0 10px 24px rgba(154, 110, 57, 0.24);
  font-size: 0.74rem;
  font-weight: 800;
  line-height: 1;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.ce-course-meta {
  display: inline-block;
  margin: 0 0 14px;
}

.ce-course-topline .ce-course-meta {
  margin: 0;
}

.ce-course-title {
  margin: 0;
  color: var(--ax-text, #17202b);
  font-family: var(--ax-font-heading, inherit);
  font-size: clamp(1.12rem, 1rem + 0.45vw, 1.38rem);
  font-weight: 700;
  line-height: 1.3;
  letter-spacing: -0.025em;
  text-wrap: balance;
}

.ce-course-card--featured .ce-course-title {
  max-width: 880px;
  font-size: clamp(1.32rem, 1.08rem + 0.9vw, 1.82rem);
  line-height: 1.24;
  letter-spacing: -0.035em;
}

.ce-course-text {
  margin: 16px 0 0;
  color: var(--ax-text-soft, rgba(23, 32, 43, 0.7));
  font-size: clamp(0.98rem, 0.94rem + 0.12vw, 1.04rem);
  line-height: 1.72;
}

.ce-course-card--featured .ce-course-text {
  max-width: 940px;
  font-size: clamp(1rem, 0.96rem + 0.18vw, 1.08rem);
  line-height: 1.76;
}

/* ========== FEATURED POINTS ========== */

.ce-course-points {
  display: grid;
  gap: 10px;
  margin: 22px 0 0;
  padding: 18px 20px;
  list-style: none;
  background: rgba(154, 110, 57, 0.08);
  border: 1px solid rgba(154, 110, 57, 0.14);
  border-radius: 20px;
}

.ce-course-points li {
  position: relative;
  padding-left: 22px;
  color: var(--ax-text, #17202b);
  font-size: 0.98rem;
  line-height: 1.55;
}

.ce-course-points li::before {
  content: "";
  position: absolute;
  top: 0.75em;
  left: 0;
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--ax-accent, #9a6e39);
  box-shadow: 0 0 0 4px var(--ax-accent-soft, rgba(154, 110, 57, 0.12));
  transform: translateY(-50%);
}

/* ========== CARD LINK ========== */

.ce-course-link {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  width: fit-content;
  margin-top: auto;
  padding-top: 24px;
  color: var(--ax-accent, #9a6e39);
  font-size: 0.95rem;
  font-weight: 700;
  line-height: 1.4;
  text-decoration: none;
  transition:
    color var(--ax-ease, 0.2s ease),
    gap var(--ax-ease, 0.2s ease);
}

.ce-course-link::after {
  content: "→";
  line-height: 1;
  transition: transform var(--ax-ease, 0.2s ease);
}

.ce-course-card:hover .ce-course-link,
.ce-course-card:focus-visible .ce-course-link {
  gap: 12px;
  color: var(--ax-link-hover, #17202b);
}

.ce-course-card:hover .ce-course-link::after,
.ce-course-card:focus-visible .ce-course-link::after {
  transform: translateX(2px);
}

/* ========== ACTION BUTTONS ========== */

.ce-courses-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 14px;
  max-width: 1080px;
  margin: clamp(40px, 5vw, 64px) auto 0;
  text-align: center;
}

.ce-courses-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 54px;
  padding: 16px 28px;
  border: 1px solid transparent;
  border-radius: 999px;
  font-family: var(--ax-font-body, inherit);
  font-size: 0.96rem;
  font-weight: 700;
  line-height: 1.2;
  text-align: center;
  text-decoration: none;
  white-space: normal;
  cursor: pointer;
  appearance: none;
  transition:
    color var(--ax-ease, 0.2s ease),
    background-color var(--ax-ease, 0.2s ease),
    border-color var(--ax-ease, 0.2s ease),
    box-shadow var(--ax-ease-soft, 0.28s ease),
    transform var(--ax-ease-soft, 0.28s ease);
}

.ce-courses-btn:hover {
  text-decoration: none;
  transform: translateY(-2px);
}

.ce-courses-btn:focus-visible {
  outline: 3px solid var(--ax-focus, rgba(154, 110, 57, 0.35));
  outline-offset: 4px;
}

.ce-courses-btn--primary {
  color: #ffffff;
  background: var(--ax-accent, #9a6e39);
  border-color: var(--ax-accent, #9a6e39);
  box-shadow: 0 16px 36px rgba(154, 110, 57, 0.26);
}

.ce-courses-btn--primary:hover,
.ce-courses-btn--primary:focus-visible {
  color: #ffffff;
  background: var(--ax-accent-dark, #7c552c);
  border-color: var(--ax-accent-dark, #7c552c);
  box-shadow: 0 20px 46px rgba(154, 110, 57, 0.34);
}

.ce-courses-btn--dark {
  color: #ffffff;
  background: var(--ax-text, #17202b);
  border-color: var(--ax-text, #17202b);
  box-shadow: 0 16px 36px rgba(23, 32, 43, 0.18);
}

.ce-courses-btn--dark:hover,
.ce-courses-btn--dark:focus-visible {
  color: #ffffff;
  background: #000000;
  border-color: #000000;
  box-shadow: 0 20px 46px rgba(23, 32, 43, 0.26);
}

.ce-courses-btn--ghost {
  color: var(--ax-accent, #9a6e39);
  background: rgba(255, 255, 255, 0.58);
  border-color: var(--ax-border, rgba(154, 110, 57, 0.32));
  box-shadow: none;
}

.ce-courses-btn--ghost:hover,
.ce-courses-btn--ghost:focus-visible {
  color: var(--ax-text, #17202b);
  background: var(--ax-accent-soft, rgba(154, 110, 57, 0.1));
  border-color: var(--ax-accent, #9a6e39);
}

.ce-courses-note {
  max-width: 920px;
  margin: clamp(20px, 2.6vw, 28px) auto 0;
  color: var(--ax-text-soft, rgba(23, 32, 43, 0.68));
  font-size: var(--ax-note-size, 1rem);
  line-height: 1.68;
  text-align: center;
}

/* ========== RESPONSIVE ========== */

@media (max-width: 1120px) {
  .ce-courses-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .ce-course-card--featured {
    grid-column: span 2;
  }
}

@media (max-width: 760px) {
  .ce-courses-grid {
    grid-template-columns: 1fr;
    max-width: 720px;
    margin-left: auto;
    margin-right: auto;
  }

  .ce-course-card--featured {
    grid-column: span 1;
  }

  .ce-course-media {
    aspect-ratio: 770 / 500;
  }
}

@media (max-width: 640px) {
  .ce-courses-container {
    padding: 0 16px;
  }

  .ce-courses-title {
    font-size: clamp(1.9rem, 9.5vw, 3rem);
    line-height: 1.12;
    letter-spacing: -0.038em;
  }

  .ce-courses-lead {
    font-size: 1rem;
    line-height: 1.68;
  }

  .ce-course-body,
  .ce-course-card--featured .ce-course-body {
    padding: 24px;
  }

  .ce-course-card--featured .ce-course-title {
    font-size: clamp(1.22rem, 6vw, 1.58rem);
  }

  .ce-course-points {
    padding: 16px;
  }

  .ce-courses-actions {
    align-items: stretch;
    gap: 12px;
  }

  .ce-courses-btn {
    width: 100%;
    max-width: 380px;
    margin: 0 auto;
    min-height: 52px;
    padding: 15px 22px;
  }

  .ce-courses-note {
    text-align: left;
  }
}

/* ========== REDUCED MOTION ========== */

@media (prefers-reduced-motion: reduce) {
  .ce-course-card,
  .ce-course-image,
  .ce-course-link,
  .ce-course-link::after,
  .ce-courses-btn {
    transition: none;
  }

  .ce-course-card:hover,
  .ce-course-card:focus-visible,
  .ce-course-card:hover .ce-course-image,
  .ce-course-card:focus-visible .ce-course-image,
  .ce-courses-btn:hover {
    transform: none;
  }
}
/* =========================================================
   CE STATISTICS SECTION
   Под ax-design-system.css + ax-ui-kit.css
   Резиновая ширина, ограничение: 1360px
   ========================================================= */

.ce-stats-section,
.ce-stats-section * {
  box-sizing: border-box;
}

.ce-stats-section {
  position: relative;
  overflow: hidden;
  padding: clamp(56px, 7vw, 96px) 0 clamp(60px, 8vw, 112px);
  color: var(--ax-text, #17202b);
  background:
    radial-gradient(
      circle at 50% -10%,
      rgba(154, 110, 57, 0.13),
      transparent 38%
    ),
    linear-gradient(
      180deg,
      rgba(255, 255, 255, 0.94),
      rgba(250, 247, 241, 0.98)
    ),
    var(--ax-bg, #faf7f1);
}

.ce-stats-container {
  width: 100%;
  max-width: 1360px;
  margin: 0 auto;
  padding: 0 clamp(16px, 3vw, 40px);
}

/* ========== HEADER ========== */

.ce-stats-header {
  max-width: 1120px;
  margin: 0 auto;
  text-align: center;
}

.ce-stats-kicker {
  display: block;
  margin: 0 auto clamp(16px, 2vw, 22px);
  text-align: center;
}

.ce-stats-title {
  max-width: 1080px;
  margin: 0 auto;
  color: var(--ax-text, #17202b);
  font-family: var(--ax-font-heading, inherit);
  font-size: clamp(2rem, 1.2rem + 3.15vw, 4.15rem);
  font-weight: 700;
  line-height: 1.1;
  letter-spacing: -0.045em;
  text-align: center;
  text-wrap: balance;
}

.ce-stats-lead {
  max-width: 940px;
  margin: clamp(20px, 2.6vw, 30px) auto 0;
  color: var(--ax-text-soft, rgba(23, 32, 43, 0.7));
  font-size: clamp(1.02rem, 0.96rem + 0.26vw, 1.18rem);
  line-height: 1.72;
  text-align: center;
  text-wrap: balance;
}

/* ========== GRID ========== */

.ce-stats-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: clamp(18px, 2.4vw, 30px);
  margin-top: clamp(42px, 5.8vw, 76px);
}

/* ========== CARD ========== */

.ce-stats-card {
  position: relative;
  display: flex;
  flex-direction: column;
  min-width: 0;
  min-height: 280px;
  padding: clamp(24px, 2.8vw, 36px);
  overflow: hidden;
  background: var(--ax-panel, #ffffff);
  border: 1px solid var(--ax-border-soft, rgba(23, 32, 43, 0.08));
  border-radius: var(--ax-radius-card, 30px);
  box-shadow: var(--ax-shadow, 0 18px 44px rgba(23, 32, 43, 0.08));
  isolation: isolate;
  transition:
    transform var(--ax-ease-soft, 0.28s ease),
    box-shadow var(--ax-ease-soft, 0.28s ease),
    border-color var(--ax-ease-soft, 0.28s ease);
}

.ce-stats-card::before {
  content: "";
  position: absolute;
  top: 0;
  left: clamp(24px, 2.8vw, 36px);
  right: clamp(24px, 2.8vw, 36px);
  height: 3px;
  border-radius: 999px;
  background: linear-gradient(
    90deg,
    var(--ax-accent, #9a6e39),
    rgba(154, 110, 57, 0.16)
  );
}

.ce-stats-card:hover {
  transform: translateY(-6px);
  border-color: var(--ax-border-hover, rgba(154, 110, 57, 0.22));
  box-shadow: var(--ax-shadow-hover, 0 24px 64px rgba(23, 32, 43, 0.12));
}

.ce-stats-card__top {
  display: flex;
  flex-direction: column;
  gap: 18px;
  min-width: 0;
}

.ce-stats-card__badge {
  display: inline-flex;
  align-items: center;
  width: fit-content;
  min-height: 30px;
  padding: 7px 12px;
  color: var(--ax-accent, #9a6e39);
  background: var(--ax-accent-soft, rgba(154, 110, 57, 0.1));
  border: 1px solid rgba(154, 110, 57, 0.14);
  border-radius: 999px;
  font-size: 0.74rem;
  font-weight: 800;
  line-height: 1;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.ce-stats-card__value-wrap {
  min-width: 0;
}

.ce-stats-card__value {
  display: block;
  color: var(--ax-text, #17202b);
  font-family: var(--ax-font-heading, inherit);
  font-size: clamp(2.8rem, 2rem + 3vw, 5rem);
  font-weight: 800;
  line-height: 0.95;
  letter-spacing: -0.06em;
  white-space: nowrap;
}

.ce-stats-card__text {
  margin: auto 0 0;
  padding-top: 26px;
  color: var(--ax-text-soft, rgba(23, 32, 43, 0.7));
  font-size: clamp(0.98rem, 0.94rem + 0.12vw, 1.04rem);
  line-height: 1.68;
}

/* ========== PRIMARY CARD ========== */

.ce-stats-card--primary {
  background:
    radial-gradient(
      circle at 24% 0%,
      rgba(255, 255, 255, 0.22),
      transparent 34%
    ),
    linear-gradient(135deg, var(--ax-accent, #9a6e39), #6f4b24);
  border-color: rgba(154, 110, 57, 0.42);
  box-shadow:
    0 30px 80px rgba(154, 110, 57, 0.26),
    0 18px 44px rgba(23, 32, 43, 0.1);
}

.ce-stats-card--primary::before {
  background: linear-gradient(
    90deg,
    rgba(255, 255, 255, 0.8),
    rgba(255, 255, 255, 0.18)
  );
}

.ce-stats-card--primary .ce-stats-card__badge {
  color: #ffffff;
  background: rgba(255, 255, 255, 0.14);
  border-color: rgba(255, 255, 255, 0.22);
}

.ce-stats-card--primary .ce-stats-card__value,
.ce-stats-card--primary .ce-stats-card__text {
  color: #ffffff;
}

.ce-stats-card--primary .ce-stats-card__text {
  opacity: 0.9;
}

.ce-stats-card--primary:hover {
  border-color: rgba(154, 110, 57, 0.58);
  box-shadow:
    0 36px 92px rgba(154, 110, 57, 0.32),
    0 24px 64px rgba(23, 32, 43, 0.14);
}

/* ========== RESPONSIVE ========== */

@media (max-width: 1120px) {
  .ce-stats-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .ce-stats-card {
    min-height: 260px;
  }
}

@media (max-width: 640px) {
  .ce-stats-container {
    padding: 0 16px;
  }

  .ce-stats-title {
    font-size: clamp(1.9rem, 9.5vw, 3rem);
    line-height: 1.12;
    letter-spacing: -0.038em;
  }

  .ce-stats-lead {
    font-size: 1rem;
    line-height: 1.68;
  }

  .ce-stats-grid {
    grid-template-columns: 1fr;
    max-width: 520px;
    margin-left: auto;
    margin-right: auto;
  }

  .ce-stats-card {
    min-height: auto;
    padding: 24px;
  }

  .ce-stats-card__value {
    font-size: clamp(3rem, 16vw, 4.6rem);
  }

  .ce-stats-card__text {
    padding-top: 22px;
  }
}

/* ========== REDUCED MOTION ========== */

@media (prefers-reduced-motion: reduce) {
  .ce-stats-card {
    transition: none;
  }

  .ce-stats-card:hover {
    transform: none;
  }
}
/* =========================================================
   CE SUCCESS STORIES SECTION
   Под ax-design-system.css + ax-ui-kit.css
   Резиновая ширина, ограничение: 1360px
   ========================================================= */

.ce-success-section,
.ce-success-section * {
  box-sizing: border-box;
}

.ce-success-section {
  position: relative;
  overflow: hidden;
  padding: clamp(56px, 7vw, 96px) 0 clamp(60px, 8vw, 112px);
  color: var(--ax-text, #17202b);
  background:
    radial-gradient(
      circle at 50% -10%,
      rgba(154, 110, 57, 0.12),
      transparent 40%
    ),
    linear-gradient(
      180deg,
      rgba(250, 247, 241, 0.98),
      rgba(255, 255, 255, 0.94)
    ),
    var(--ax-bg, #faf7f1);
}

.ce-success-container {
  width: 100%;
  max-width: 1360px;
  margin: 0 auto;
  padding: 0 clamp(16px, 3vw, 40px);
}

/* ========== HEADER ========== */

.ce-success-header {
  max-width: 1140px;
  margin: 0 auto;
  text-align: center;
}

.ce-success-kicker {
  display: block;
  margin: 0 auto clamp(16px, 2vw, 22px);
  text-align: center;
}

.ce-success-title {
  max-width: 1080px;
  margin: 0 auto;
  color: var(--ax-text, #17202b);
  font-family: var(--ax-font-heading, inherit);
  font-size: clamp(2rem, 1.2rem + 3.15vw, 4.15rem);
  font-weight: 700;
  line-height: 1.1;
  letter-spacing: -0.045em;
  text-align: center;
  text-wrap: balance;
}

.ce-success-lead {
  max-width: 960px;
  margin: clamp(20px, 2.6vw, 30px) auto 0;
  color: var(--ax-text-soft, rgba(23, 32, 43, 0.7));
  font-size: clamp(1.02rem, 0.96rem + 0.26vw, 1.18rem);
  line-height: 1.72;
  text-align: center;
  text-wrap: balance;
}

/* ========== GRID ========== */

.ce-success-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  align-items: stretch;
  gap: clamp(18px, 2.4vw, 30px);
  margin-top: clamp(42px, 5.8vw, 78px);
}

/* ========== STORY CARD ========== */

.ce-story-card {
  position: relative;
  display: flex;
  flex-direction: column;
  min-width: 0;
  height: 100%;
  padding: clamp(24px, 2.8vw, 36px);
  overflow: hidden;
  background: var(--ax-panel, #ffffff);
  border: 1px solid var(--ax-border-soft, rgba(23, 32, 43, 0.08));
  border-radius: var(--ax-radius-card, 30px);
  box-shadow: var(--ax-shadow, 0 18px 44px rgba(23, 32, 43, 0.08));
  isolation: isolate;
  transition:
    transform var(--ax-ease-soft, 0.28s ease),
    box-shadow var(--ax-ease-soft, 0.28s ease),
    border-color var(--ax-ease-soft, 0.28s ease);
}

.ce-story-card::before {
  content: "";
  position: absolute;
  top: 0;
  left: clamp(24px, 2.8vw, 36px);
  right: clamp(24px, 2.8vw, 36px);
  height: 3px;
  border-radius: 999px;
  background: linear-gradient(
    90deg,
    var(--ax-accent, #9a6e39),
    rgba(154, 110, 57, 0.16)
  );
}

.ce-story-card::after {
  content: "“";
  position: absolute;
  top: 18px;
  right: 28px;
  z-index: -1;
  color: rgba(154, 110, 57, 0.08);
  font-family: Georgia, serif;
  font-size: clamp(5rem, 8vw, 8rem);
  line-height: 1;
  pointer-events: none;
}

.ce-story-card:hover {
  transform: translateY(-6px);
  border-color: var(--ax-border-hover, rgba(154, 110, 57, 0.22));
  box-shadow: var(--ax-shadow-hover, 0 24px 64px rgba(23, 32, 43, 0.12));
}

.ce-story-card--accent {
  background:
    radial-gradient(
      circle at 18% 0%,
      rgba(154, 110, 57, 0.13),
      transparent 36%
    ),
    linear-gradient(
      180deg,
      rgba(255, 255, 255, 0.98),
      rgba(250, 247, 241, 0.96)
    ),
    var(--ax-panel, #ffffff);
  border-color: rgba(154, 110, 57, 0.28);
  box-shadow:
    0 26px 76px rgba(154, 110, 57, 0.14),
    0 18px 44px rgba(23, 32, 43, 0.08);
}

/* ========== CARD CONTENT ========== */

.ce-story-meta {
  display: inline-block;
  margin: 0 0 16px;
}

.ce-story-title {
  margin: 0;
  color: var(--ax-text, #17202b);
  font-family: var(--ax-font-heading, inherit);
  font-size: clamp(1.12rem, 1rem + 0.45vw, 1.38rem);
  font-weight: 700;
  line-height: 1.3;
  letter-spacing: -0.025em;
  text-wrap: balance;
}

.ce-story-quote {
  margin: 18px 0 0;
  padding: 0;
  border: 0;
}

.ce-story-quote p {
  margin: 0;
  color: var(--ax-text-soft, rgba(23, 32, 43, 0.72));
  font-size: clamp(0.98rem, 0.94rem + 0.12vw, 1.04rem);
  line-height: 1.74;
}

.ce-story-quote p + p {
  margin-top: 14px;
}

.ce-story-quote strong {
  color: var(--ax-text, #17202b);
  font-weight: 700;
}

/* ========== STEPS ========== */

.ce-story-steps {
  margin-top: auto;
  padding-top: 24px;
}

.ce-story-steps-title {
  margin: 0 0 12px;
  color: var(--ax-text, #17202b);
  font-family: var(--ax-font-heading, inherit);
  font-size: 0.98rem;
  font-weight: 700;
  line-height: 1.35;
  letter-spacing: -0.01em;
}

.ce-story-steps-list {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.ce-story-steps-list li {
  display: inline-flex;
  align-items: center;
  min-height: 30px;
  padding: 7px 11px;
  color: var(--ax-accent, #9a6e39);
  background: var(--ax-accent-soft, rgba(154, 110, 57, 0.1));
  border: 1px solid rgba(154, 110, 57, 0.14);
  border-radius: 999px;
  font-size: 0.82rem;
  font-weight: 700;
  line-height: 1.2;
}

/* ========== NOTE ========== */

.ce-success-note {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: start;
  gap: 14px;
  max-width: 980px;
  margin: clamp(38px, 5vw, 64px) auto 0;
  padding: clamp(20px, 2.5vw, 28px);
  background:
    linear-gradient(
      180deg,
      rgba(255, 255, 255, 0.86),
      rgba(250, 247, 241, 0.9)
    ),
    var(--ax-panel, #ffffff);
  border: 1px solid var(--ax-border-soft, rgba(23, 32, 43, 0.08));
  border-radius: var(--ax-radius-card, 28px);
  box-shadow: var(--ax-shadow, 0 18px 44px rgba(23, 32, 43, 0.08));
}

.ce-success-note__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 42px;
  height: 42px;
  flex: 0 0 auto;
  background: var(--ax-accent-soft, rgba(154, 110, 57, 0.1));
  border: 1px solid rgba(154, 110, 57, 0.14);
  border-radius: 999px;
  font-size: 1.25rem;
}

.ce-success-note p {
  margin: 0;
  color: var(--ax-text-soft, rgba(23, 32, 43, 0.72));
  font-size: var(--ax-note-size, 1rem);
  line-height: 1.68;
}

.ce-success-note strong {
  color: var(--ax-text, #17202b);
}

/* ========== ACTION BUTTONS ========== */

.ce-success-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 14px;
  max-width: 920px;
  margin: clamp(32px, 4vw, 48px) auto 0;
  text-align: center;
}

.ce-success-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 54px;
  padding: 16px 28px;
  border: 1px solid transparent;
  border-radius: 999px;
  font-family: var(--ax-font-body, inherit);
  font-size: 0.96rem;
  font-weight: 700;
  line-height: 1.2;
  text-align: center;
  text-decoration: none;
  white-space: normal;
  cursor: pointer;
  appearance: none;
  transition:
    color var(--ax-ease, 0.2s ease),
    background-color var(--ax-ease, 0.2s ease),
    border-color var(--ax-ease, 0.2s ease),
    box-shadow var(--ax-ease-soft, 0.28s ease),
    transform var(--ax-ease-soft, 0.28s ease);
}

.ce-success-btn:hover {
  text-decoration: none;
  transform: translateY(-2px);
}

.ce-success-btn:focus-visible {
  outline: 3px solid var(--ax-focus, rgba(154, 110, 57, 0.35));
  outline-offset: 4px;
}

.ce-success-btn--primary {
  color: #ffffff;
  background: var(--ax-accent, #9a6e39);
  border-color: var(--ax-accent, #9a6e39);
  box-shadow: 0 16px 36px rgba(154, 110, 57, 0.26);
}

.ce-success-btn--primary:hover,
.ce-success-btn--primary:focus-visible {
  color: #ffffff;
  background: var(--ax-accent-dark, #7c552c);
  border-color: var(--ax-accent-dark, #7c552c);
  box-shadow: 0 20px 46px rgba(154, 110, 57, 0.34);
}

.ce-success-btn--ghost {
  color: var(--ax-accent, #9a6e39);
  background: rgba(255, 255, 255, 0.58);
  border-color: var(--ax-border, rgba(154, 110, 57, 0.32));
  box-shadow: none;
}

.ce-success-btn--ghost:hover,
.ce-success-btn--ghost:focus-visible {
  color: var(--ax-text, #17202b);
  background: var(--ax-accent-soft, rgba(154, 110, 57, 0.1));
  border-color: var(--ax-accent, #9a6e39);
}

/* ========== RESPONSIVE ========== */

@media (max-width: 1120px) {
  .ce-success-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 760px) {
  .ce-success-grid {
    grid-template-columns: 1fr;
    max-width: 720px;
    margin-left: auto;
    margin-right: auto;
  }
}

@media (max-width: 640px) {
  .ce-success-container {
    padding: 0 16px;
  }

  .ce-success-title {
    font-size: clamp(1.9rem, 9.5vw, 3rem);
    line-height: 1.12;
    letter-spacing: -0.038em;
  }

  .ce-success-lead {
    font-size: 1rem;
    line-height: 1.68;
  }

  .ce-story-card {
    padding: 24px;
  }

  .ce-success-note {
    grid-template-columns: 1fr;
  }

  .ce-success-actions {
    align-items: stretch;
    gap: 12px;
  }

  .ce-success-btn {
    width: 100%;
    max-width: 380px;
    margin: 0 auto;
    min-height: 52px;
    padding: 15px 22px;
  }
}

/* ========== REDUCED MOTION ========== */

@media (prefers-reduced-motion: reduce) {
  .ce-story-card,
  .ce-success-btn {
    transition: none;
  }

  .ce-story-card:hover,
  .ce-success-btn:hover {
    transform: none;
  }
}
/* =========================================================
   CE SESSIONS SECTION
   Онлайн сеансы космоэнергетики
   Под ax-design-system.css + ax-ui-kit.css
   Резиновая ширина, ограничение: 1360px
   ========================================================= */

.ce-sessions-section,
.ce-sessions-section * {
  box-sizing: border-box;
}

.ce-sessions-section {
  position: relative;
  overflow: hidden;
  padding: clamp(56px, 7vw, 96px) 0 clamp(60px, 8vw, 112px);
  color: var(--ax-text, #17202b);
  background:
    radial-gradient(
      circle at 50% -10%,
      rgba(154, 110, 57, 0.13),
      transparent 40%
    ),
    linear-gradient(
      180deg,
      rgba(255, 255, 255, 0.94),
      rgba(250, 247, 241, 0.98)
    ),
    var(--ax-bg, #faf7f1);
}

.ce-sessions-container {
  width: 100%;
  max-width: 1360px;
  margin: 0 auto;
  padding: 0 clamp(16px, 3vw, 40px);
}

/* ========== HEADER ========== */

.ce-sessions-header {
  max-width: 1140px;
  margin: 0 auto;
  text-align: center;
}

.ce-sessions-kicker {
  display: block;
  margin: 0 auto clamp(16px, 2vw, 22px);
  text-align: center;
}

.ce-sessions-title {
  max-width: 1100px;
  margin: 0 auto;
  color: var(--ax-text, #17202b);
  font-family: var(--ax-font-heading, inherit);
  font-size: clamp(2rem, 1.2rem + 3.15vw, 4.15rem);
  font-weight: 700;
  line-height: 1.1;
  letter-spacing: -0.045em;
  text-align: center;
  text-wrap: balance;
}

.ce-sessions-lead {
  max-width: 960px;
  margin: clamp(20px, 2.6vw, 30px) auto 0;
  color: var(--ax-text-soft, rgba(23, 32, 43, 0.7));
  font-size: clamp(1.02rem, 0.96rem + 0.26vw, 1.18rem);
  line-height: 1.72;
  text-align: center;
  text-wrap: balance;
}

/* ========== HERO ========== */

.ce-sessions-hero {
  display: grid;
  grid-template-columns: minmax(0, 0.95fr) minmax(360px, 1.05fr);
  align-items: stretch;
  gap: clamp(18px, 2.4vw, 30px);
  margin-top: clamp(42px, 5.8vw, 78px);
}

.ce-sessions-hero__content {
  display: flex;
  flex-direction: column;
  min-width: 0;
  padding: clamp(28px, 3.4vw, 48px);
  background:
    radial-gradient(circle at 0% 0%, rgba(154, 110, 57, 0.12), transparent 36%),
    var(--ax-panel, #ffffff);
  border: 1px solid rgba(154, 110, 57, 0.18);
  border-radius: var(--ax-radius-card, 30px);
  box-shadow: var(--ax-shadow, 0 18px 44px rgba(23, 32, 43, 0.08));
}

.ce-sessions-label {
  display: inline-flex;
  align-items: center;
  width: fit-content;
  min-height: 32px;
  padding: 8px 13px;
  color: var(--ax-accent, #9a6e39);
  background: var(--ax-accent-soft, rgba(154, 110, 57, 0.1));
  border: 1px solid rgba(154, 110, 57, 0.14);
  border-radius: 999px;
  font-size: 0.74rem;
  font-weight: 800;
  line-height: 1;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.ce-sessions-hero__title {
  margin: clamp(20px, 2.4vw, 28px) 0 0;
  color: var(--ax-text, #17202b);
  font-family: var(--ax-font-heading, inherit);
  font-size: clamp(1.45rem, 1.08rem + 1.2vw, 2.2rem);
  font-weight: 700;
  line-height: 1.18;
  letter-spacing: -0.035em;
  text-wrap: balance;
}

.ce-sessions-hero__text {
  margin: 18px 0 0;
  color: var(--ax-text-soft, rgba(23, 32, 43, 0.72));
  font-size: clamp(1rem, 0.96rem + 0.16vw, 1.08rem);
  line-height: 1.74;
}

.ce-sessions-hero__points {
  display: grid;
  gap: 12px;
  margin-top: 24px;
}

.ce-sessions-point {
  padding: 16px 18px;
  background: rgba(255, 255, 255, 0.68);
  border: 1px solid var(--ax-border-soft, rgba(23, 32, 43, 0.08));
  border-radius: 20px;
}

.ce-sessions-point span {
  display: block;
  color: var(--ax-text-soft, rgba(23, 32, 43, 0.68));
  font-size: 0.92rem;
  line-height: 1.4;
}

.ce-sessions-point strong {
  display: block;
  margin-top: 5px;
  color: var(--ax-text, #17202b);
  font-size: 1rem;
  line-height: 1.45;
}

.ce-sessions-hero__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: auto;
  padding-top: 30px;
}

.ce-sessions-hero__media {
  position: relative;
  min-width: 0;
  margin: 0;
  overflow: hidden;
  background: var(--ax-panel-soft, #f4efe7);
  border-radius: var(--ax-radius-card, 30px);
  box-shadow: var(--ax-shadow-image, 0 28px 76px rgba(23, 32, 43, 0.16));
  isolation: isolate;
}

.ce-sessions-hero__media::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background:
    linear-gradient(180deg, transparent 58%, rgba(23, 32, 43, 0.16)),
    linear-gradient(90deg, rgba(255, 255, 255, 0.16), transparent 42%);
}

.ce-sessions-hero__media picture {
  display: block;
  width: 100%;
  height: 100%;
}

.ce-sessions-hero__image {
  display: block;
  width: 100%;
  height: 100%;
  min-height: clamp(440px, 38vw, 620px);
  object-fit: cover;
  transform: scale(1.001);
  filter: saturate(1.03) contrast(1.03);
}

/* ========== FORMAT CARDS ========== */

.ce-sessions-formats {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(18px, 2.4vw, 30px);
  margin-top: clamp(30px, 4vw, 48px);
}

.ce-session-format-card {
  position: relative;
  display: flex;
  flex-direction: column;
  min-width: 0;
  height: 100%;
  padding: clamp(24px, 2.8vw, 36px);
  overflow: hidden;
  background: var(--ax-panel, #ffffff);
  border: 1px solid var(--ax-border-soft, rgba(23, 32, 43, 0.08));
  border-radius: var(--ax-radius-card, 30px);
  box-shadow: var(--ax-shadow, 0 18px 44px rgba(23, 32, 43, 0.08));
  transition:
    transform var(--ax-ease-soft, 0.28s ease),
    box-shadow var(--ax-ease-soft, 0.28s ease),
    border-color var(--ax-ease-soft, 0.28s ease);
}

.ce-session-format-card:hover {
  transform: translateY(-6px);
  border-color: var(--ax-border-hover, rgba(154, 110, 57, 0.22));
  box-shadow: var(--ax-shadow-hover, 0 24px 64px rgba(23, 32, 43, 0.12));
}

.ce-session-format-card--primary {
  background:
    radial-gradient(
      circle at 18% 0%,
      rgba(154, 110, 57, 0.13),
      transparent 36%
    ),
    linear-gradient(
      180deg,
      rgba(255, 255, 255, 0.98),
      rgba(250, 247, 241, 0.96)
    ),
    var(--ax-panel, #ffffff);
  border-color: rgba(154, 110, 57, 0.28);
  box-shadow:
    0 26px 76px rgba(154, 110, 57, 0.14),
    0 18px 44px rgba(23, 32, 43, 0.08);
}

.ce-session-format-card__head {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 18px;
}

.ce-session-format-card__meta {
  margin: 0;
}

.ce-session-format-card__price {
  display: inline-flex;
  align-items: center;
  min-height: 34px;
  padding: 8px 14px;
  color: #ffffff;
  background: var(--ax-accent, #9a6e39);
  border-radius: 999px;
  box-shadow: 0 12px 28px rgba(154, 110, 57, 0.24);
  font-size: 0.9rem;
  font-weight: 800;
  line-height: 1;
}

.ce-session-format-card--free .ce-session-format-card__price {
  color: var(--ax-accent, #9a6e39);
  background: var(--ax-accent-soft, rgba(154, 110, 57, 0.1));
  box-shadow: none;
}

.ce-session-format-card__title {
  margin: 0;
  color: var(--ax-text, #17202b);
  font-family: var(--ax-font-heading, inherit);
  font-size: clamp(1.22rem, 1rem + 0.75vw, 1.7rem);
  font-weight: 700;
  line-height: 1.25;
  letter-spacing: -0.03em;
  text-wrap: balance;
}

.ce-session-format-card__text {
  margin: 16px 0 0;
  color: var(--ax-text-soft, rgba(23, 32, 43, 0.72));
  font-size: clamp(0.98rem, 0.94rem + 0.12vw, 1.04rem);
  line-height: 1.72;
}

.ce-session-format-card__list {
  display: grid;
  gap: 10px;
  margin: 22px 0 0;
  padding: 0;
  list-style: none;
}

.ce-session-format-card__list li {
  position: relative;
  padding-left: 22px;
  color: var(--ax-text-soft, rgba(23, 32, 43, 0.72));
  font-size: 0.98rem;
  line-height: 1.62;
}

.ce-session-format-card__list li::before {
  content: "";
  position: absolute;
  top: 0.74em;
  left: 0;
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--ax-accent, #9a6e39);
  box-shadow: 0 0 0 4px var(--ax-accent-soft, rgba(154, 110, 57, 0.12));
  transform: translateY(-50%);
}

.ce-session-format-card__link {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  width: fit-content;
  margin-top: auto;
  padding-top: 24px;
  color: var(--ax-accent, #9a6e39);
  font-size: 0.95rem;
  font-weight: 700;
  line-height: 1.4;
  text-decoration: none;
  transition:
    color var(--ax-ease, 0.2s ease),
    gap var(--ax-ease, 0.2s ease);
}

.ce-session-format-card__link::after {
  content: "→";
  line-height: 1;
  transition: transform var(--ax-ease, 0.2s ease);
}

.ce-session-format-card__link:hover,
.ce-session-format-card__link:focus-visible {
  gap: 12px;
  color: var(--ax-link-hover, #17202b);
}

.ce-session-format-card__link:hover::after,
.ce-session-format-card__link:focus-visible::after {
  transform: translateX(2px);
}

/* ========== INFO GRID ========== */

.ce-sessions-info-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: clamp(18px, 2.4vw, 30px);
  margin-top: clamp(30px, 4vw, 48px);
}

.ce-sessions-info-card {
  min-width: 0;
  padding: clamp(24px, 2.6vw, 34px);
  background: var(--ax-panel, #ffffff);
  border: 1px solid var(--ax-border-soft, rgba(23, 32, 43, 0.08));
  border-radius: var(--ax-radius-card, 30px);
  box-shadow: var(--ax-shadow, 0 18px 44px rgba(23, 32, 43, 0.08));
}

.ce-sessions-info-card__meta {
  display: inline-block;
  margin: 0 0 16px;
}

.ce-sessions-info-card__title {
  margin: 0;
  color: var(--ax-text, #17202b);
  font-family: var(--ax-font-heading, inherit);
  font-size: clamp(1.12rem, 1rem + 0.45vw, 1.36rem);
  font-weight: 700;
  line-height: 1.3;
  letter-spacing: -0.025em;
  text-wrap: balance;
}

.ce-sessions-info-card__text {
  margin: 16px 0 0;
  color: var(--ax-text-soft, rgba(23, 32, 43, 0.72));
  font-size: 0.98rem;
  line-height: 1.7;
}

.ce-sessions-check-list,
.ce-sessions-steps-list {
  display: grid;
  gap: 10px;
  margin: 18px 0 0;
  padding: 0;
  list-style: none;
}

.ce-sessions-check-list li,
.ce-sessions-steps-list li {
  position: relative;
  padding-left: 24px;
  color: var(--ax-text-soft, rgba(23, 32, 43, 0.72));
  font-size: 0.97rem;
  line-height: 1.62;
}

.ce-sessions-check-list li::before {
  content: "";
  position: absolute;
  top: 0.74em;
  left: 0;
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--ax-accent, #9a6e39);
  box-shadow: 0 0 0 4px var(--ax-accent-soft, rgba(154, 110, 57, 0.12));
  transform: translateY(-50%);
}

.ce-sessions-steps-list {
  counter-reset: ceSessionStep;
}

.ce-sessions-steps-list li {
  counter-increment: ceSessionStep;
  padding-left: 36px;
}

.ce-sessions-steps-list li::before {
  content: counter(ceSessionStep);
  position: absolute;
  top: 0.05em;
  left: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 24px;
  height: 24px;
  color: #ffffff;
  background: var(--ax-accent, #9a6e39);
  border-radius: 999px;
  font-size: 0.76rem;
  font-weight: 800;
}

/* ========== SAFETY ========== */

.ce-sessions-safety {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 16px;
  max-width: 1080px;
  margin: clamp(34px, 4.6vw, 58px) auto 0;
  padding: clamp(22px, 2.8vw, 32px);
  background:
    linear-gradient(
      180deg,
      rgba(255, 255, 255, 0.86),
      rgba(250, 247, 241, 0.92)
    ),
    var(--ax-panel, #ffffff);
  border: 1px solid rgba(154, 110, 57, 0.18);
  border-radius: var(--ax-radius-card, 30px);
  box-shadow: var(--ax-shadow, 0 18px 44px rgba(23, 32, 43, 0.08));
}

.ce-sessions-safety__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 42px;
  height: 42px;
  color: #ffffff;
  background: var(--ax-accent, #9a6e39);
  border-radius: 999px;
  font-size: 1.1rem;
  font-weight: 800;
}

.ce-sessions-safety__title {
  margin: 0;
  color: var(--ax-text, #17202b);
  font-family: var(--ax-font-heading, inherit);
  font-size: clamp(1.12rem, 1rem + 0.45vw, 1.36rem);
  font-weight: 700;
  line-height: 1.3;
}

.ce-sessions-safety__text {
  margin: 10px 0 0;
  color: var(--ax-text-soft, rgba(23, 32, 43, 0.72));
  font-size: var(--ax-note-size, 1rem);
  line-height: 1.68;
}

/* ========== CTA ========== */

.ce-sessions-cta {
  max-width: 1040px;
  margin: clamp(34px, 4.6vw, 58px) auto 0;
  padding: clamp(28px, 3.6vw, 44px);
  text-align: center;
  background:
    radial-gradient(
      circle at 50% 0%,
      rgba(154, 110, 57, 0.13),
      transparent 38%
    ),
    var(--ax-panel, #ffffff);
  border: 1px solid var(--ax-border-soft, rgba(23, 32, 43, 0.08));
  border-radius: var(--ax-radius-card, 30px);
  box-shadow: var(--ax-shadow, 0 18px 44px rgba(23, 32, 43, 0.08));
}

.ce-sessions-cta__title {
  margin: 0;
  color: var(--ax-text, #17202b);
  font-family: var(--ax-font-heading, inherit);
  font-size: clamp(1.45rem, 1.08rem + 1.2vw, 2.2rem);
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: -0.035em;
  text-align: center;
  text-wrap: balance;
}

.ce-sessions-cta__text {
  max-width: 760px;
  margin: 16px auto 0;
  color: var(--ax-text-soft, rgba(23, 32, 43, 0.72));
  font-size: clamp(1rem, 0.96rem + 0.16vw, 1.08rem);
  line-height: 1.72;
  text-align: center;
}

.ce-sessions-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 14px;
  max-width: 980px;
  margin: clamp(26px, 3.2vw, 36px) auto 0;
  text-align: center;
}

/* ========== BUTTONS ========== */

.ce-sessions-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 54px;
  padding: 16px 28px;
  border: 1px solid transparent;
  border-radius: 999px;
  font-family: var(--ax-font-body, inherit);
  font-size: 0.96rem;
  font-weight: 700;
  line-height: 1.2;
  text-align: center;
  text-decoration: none;
  white-space: normal;
  cursor: pointer;
  appearance: none;
  transition:
    color var(--ax-ease, 0.2s ease),
    background-color var(--ax-ease, 0.2s ease),
    border-color var(--ax-ease, 0.2s ease),
    box-shadow var(--ax-ease-soft, 0.28s ease),
    transform var(--ax-ease-soft, 0.28s ease);
}

.ce-sessions-btn:hover {
  text-decoration: none;
  transform: translateY(-2px);
}

.ce-sessions-btn:focus-visible {
  outline: 3px solid var(--ax-focus, rgba(154, 110, 57, 0.35));
  outline-offset: 4px;
}

.ce-sessions-btn--primary {
  color: #ffffff;
  background: var(--ax-accent, #9a6e39);
  border-color: var(--ax-accent, #9a6e39);
  box-shadow: 0 16px 36px rgba(154, 110, 57, 0.26);
}

.ce-sessions-btn--primary:hover,
.ce-sessions-btn--primary:focus-visible {
  color: #ffffff;
  background: var(--ax-accent-dark, #7c552c);
  border-color: var(--ax-accent-dark, #7c552c);
  box-shadow: 0 20px 46px rgba(154, 110, 57, 0.34);
}

.ce-sessions-btn--dark {
  color: #ffffff;
  background: var(--ax-text, #17202b);
  border-color: var(--ax-text, #17202b);
  box-shadow: 0 16px 36px rgba(23, 32, 43, 0.18);
}

.ce-sessions-btn--dark:hover,
.ce-sessions-btn--dark:focus-visible {
  color: #ffffff;
  background: #000000;
  border-color: #000000;
  box-shadow: 0 20px 46px rgba(23, 32, 43, 0.26);
}

.ce-sessions-btn--ghost {
  color: var(--ax-accent, #9a6e39);
  background: rgba(255, 255, 255, 0.58);
  border-color: var(--ax-border, rgba(154, 110, 57, 0.32));
  box-shadow: none;
}

.ce-sessions-btn--ghost:hover,
.ce-sessions-btn--ghost:focus-visible {
  color: var(--ax-text, #17202b);
  background: var(--ax-accent-soft, rgba(154, 110, 57, 0.1));
  border-color: var(--ax-accent, #9a6e39);
}

/* ========== RESPONSIVE ========== */

@media (max-width: 1120px) {
  .ce-sessions-hero {
    grid-template-columns: 1fr;
  }

  .ce-sessions-hero__media {
    order: -1;
  }

  .ce-sessions-hero__image {
    min-height: auto;
    aspect-ratio: 1200 / 630;
  }

  .ce-sessions-info-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 760px) {
  .ce-sessions-formats,
  .ce-sessions-info-grid {
    grid-template-columns: 1fr;
  }

  .ce-sessions-hero,
  .ce-sessions-formats,
  .ce-sessions-info-grid {
    max-width: 720px;
    margin-left: auto;
    margin-right: auto;
  }

  .ce-sessions-hero__image {
    aspect-ratio: 770 / 500;
  }
}

@media (max-width: 640px) {
  .ce-sessions-container {
    padding: 0 16px;
  }

  .ce-sessions-title {
    font-size: clamp(1.9rem, 9.5vw, 3rem);
    line-height: 1.12;
    letter-spacing: -0.038em;
  }

  .ce-sessions-lead {
    font-size: 1rem;
    line-height: 1.68;
  }

  .ce-sessions-hero__content,
  .ce-session-format-card,
  .ce-sessions-info-card,
  .ce-sessions-cta {
    padding: 24px;
  }

  .ce-sessions-hero__actions,
  .ce-sessions-actions {
    align-items: stretch;
    gap: 12px;
  }

  .ce-sessions-btn {
    width: 100%;
    max-width: 380px;
    margin: 0 auto;
    min-height: 52px;
    padding: 15px 22px;
  }

  .ce-sessions-safety {
    grid-template-columns: 1fr;
  }

  .ce-sessions-cta__text {
    text-align: left;
  }
}

/* ========== REDUCED MOTION ========== */

@media (prefers-reduced-motion: reduce) {
  .ce-session-format-card,
  .ce-sessions-btn,
  .ce-session-format-card__link,
  .ce-session-format-card__link::after {
    transition: none;
  }

  .ce-session-format-card:hover,
  .ce-sessions-btn:hover {
    transform: none;
  }
}
/* =========================================================
   CE SESSIONS TEASER SECTION
   Анонс онлайн-сеансов на главной странице
   Резиновая ширина, ограничение: 1360px
   ========================================================= */

.ce-sessions-teaser-section,
.ce-sessions-teaser-section * {
  box-sizing: border-box;
}

.ce-sessions-teaser-section {
  position: relative;
  overflow: hidden;
  padding: clamp(56px, 7vw, 96px) 0 clamp(60px, 8vw, 112px);
  color: var(--ax-text, #17202b);
  background:
    radial-gradient(
      circle at 50% -10%,
      rgba(154, 110, 57, 0.13),
      transparent 40%
    ),
    linear-gradient(
      180deg,
      rgba(255, 255, 255, 0.94),
      rgba(250, 247, 241, 0.98)
    ),
    var(--ax-bg, #faf7f1);
}

.ce-sessions-teaser-container {
  width: 100%;
  max-width: 1360px;
  margin: 0 auto;
  padding: 0 clamp(16px, 3vw, 40px);
}

.ce-sessions-teaser-card {
  display: grid;
  grid-template-columns: minmax(0, 0.98fr) minmax(360px, 1.02fr);
  align-items: stretch;
  gap: clamp(18px, 2.4vw, 30px);
  overflow: hidden;
  background:
    radial-gradient(circle at 0% 0%, rgba(154, 110, 57, 0.13), transparent 34%),
    var(--ax-panel, #ffffff);
  border: 1px solid rgba(154, 110, 57, 0.18);
  border-radius: var(--ax-radius-card, 30px);
  box-shadow:
    0 26px 76px rgba(154, 110, 57, 0.12),
    var(--ax-shadow, 0 18px 44px rgba(23, 32, 43, 0.08));
}

/* CONTENT */

.ce-sessions-teaser-content {
  display: flex;
  flex-direction: column;
  min-width: 0;
  padding: clamp(28px, 3.6vw, 52px);
}

.ce-sessions-teaser-kicker {
  display: block;
  margin: 0 0 clamp(16px, 2vw, 22px);
}

.ce-sessions-teaser-title {
  max-width: 760px;
  margin: 0;
  color: var(--ax-text, #17202b);
  font-family: var(--ax-font-heading, inherit);
  font-size: clamp(1.8rem, 1.15rem + 2.4vw, 3.35rem);
  font-weight: 700;
  line-height: 1.08;
  letter-spacing: -0.045em;
  text-wrap: balance;
}

.ce-sessions-teaser-text {
  max-width: 740px;
  margin: clamp(18px, 2.4vw, 26px) 0 0;
  color: var(--ax-text-soft, rgba(23, 32, 43, 0.72));
  font-size: clamp(1rem, 0.96rem + 0.18vw, 1.1rem);
  line-height: 1.72;
}

/* FORMATS */

.ce-sessions-teaser-formats {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
  margin-top: clamp(24px, 3vw, 34px);
}

.ce-sessions-teaser-format {
  min-width: 0;
  padding: 18px;
  background: rgba(255, 255, 255, 0.72);
  border: 1px solid var(--ax-border-soft, rgba(23, 32, 43, 0.08));
  border-radius: 22px;
}

.ce-sessions-teaser-format__label {
  display: inline-flex;
  align-items: center;
  width: fit-content;
  min-height: 28px;
  margin-bottom: 12px;
  padding: 7px 11px;
  color: var(--ax-accent, #9a6e39);
  background: var(--ax-accent-soft, rgba(154, 110, 57, 0.1));
  border: 1px solid rgba(154, 110, 57, 0.14);
  border-radius: 999px;
  font-size: 0.72rem;
  font-weight: 800;
  line-height: 1;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.ce-sessions-teaser-format strong {
  display: block;
  color: var(--ax-text, #17202b);
  font-family: var(--ax-font-heading, inherit);
  font-size: 1.05rem;
  font-weight: 700;
  line-height: 1.35;
}

.ce-sessions-teaser-format p {
  margin: 8px 0 0;
  color: var(--ax-text-soft, rgba(23, 32, 43, 0.7));
  font-size: 0.95rem;
  line-height: 1.55;
}

/* BUTTONS */

.ce-sessions-teaser-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
  margin-top: auto;
  padding-top: clamp(28px, 3.6vw, 42px);
}

.ce-sessions-teaser-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 54px;
  padding: 16px 28px;
  border: 1px solid transparent;
  border-radius: 999px;
  font-family: var(--ax-font-body, inherit);
  font-size: 0.96rem;
  font-weight: 700;
  line-height: 1.2;
  text-align: center;
  text-decoration: none;
  white-space: normal;
  cursor: pointer;
  appearance: none;
  transition:
    color var(--ax-ease, 0.2s ease),
    background-color var(--ax-ease, 0.2s ease),
    border-color var(--ax-ease, 0.2s ease),
    box-shadow var(--ax-ease-soft, 0.28s ease),
    transform var(--ax-ease-soft, 0.28s ease);
}

.ce-sessions-teaser-btn:hover {
  text-decoration: none;
  transform: translateY(-2px);
}

.ce-sessions-teaser-btn:focus-visible {
  outline: 3px solid var(--ax-focus, rgba(154, 110, 57, 0.35));
  outline-offset: 4px;
}

.ce-sessions-teaser-btn--primary {
  color: #ffffff;
  background: var(--ax-accent, #9a6e39);
  border-color: var(--ax-accent, #9a6e39);
  box-shadow: 0 16px 36px rgba(154, 110, 57, 0.26);
}

.ce-sessions-teaser-btn--primary:hover,
.ce-sessions-teaser-btn--primary:focus-visible {
  color: #ffffff;
  background: var(--ax-accent-dark, #7c552c);
  border-color: var(--ax-accent-dark, #7c552c);
  box-shadow: 0 20px 46px rgba(154, 110, 57, 0.34);
}

.ce-sessions-teaser-btn--ghost {
  color: var(--ax-accent, #9a6e39);
  background: rgba(255, 255, 255, 0.58);
  border-color: var(--ax-border, rgba(154, 110, 57, 0.32));
  box-shadow: none;
}

.ce-sessions-teaser-btn--ghost:hover,
.ce-sessions-teaser-btn--ghost:focus-visible {
  color: var(--ax-text, #17202b);
  background: var(--ax-accent-soft, rgba(154, 110, 57, 0.1));
  border-color: var(--ax-accent, #9a6e39);
}

/* MEDIA */

.ce-sessions-teaser-media {
  position: relative;
  min-width: 0;
  margin: 0;
  overflow: hidden;
  background: var(--ax-panel-soft, #f4efe7);
  isolation: isolate;
}

.ce-sessions-teaser-media::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background:
    linear-gradient(180deg, transparent 58%, rgba(23, 32, 43, 0.16)),
    linear-gradient(90deg, rgba(255, 255, 255, 0.16), transparent 42%);
}

.ce-sessions-teaser-media picture {
  display: block;
  width: 100%;
  height: 100%;
}

.ce-sessions-teaser-image {
  display: block;
  width: 100%;
  height: 100%;
  min-height: clamp(440px, 36vw, 620px);
  object-fit: cover;
  transform: scale(1.001);
  filter: saturate(1.03) contrast(1.03);
}

/* RESPONSIVE */

@media (max-width: 1024px) {
  .ce-sessions-teaser-card {
    grid-template-columns: 1fr;
  }

  .ce-sessions-teaser-media {
    order: -1;
  }

  .ce-sessions-teaser-image {
    min-height: auto;
    aspect-ratio: 1200 / 630;
  }
}

@media (max-width: 760px) {
  .ce-sessions-teaser-card {
    max-width: 720px;
    margin: 0 auto;
  }

  .ce-sessions-teaser-formats {
    grid-template-columns: 1fr;
  }

  .ce-sessions-teaser-image {
    aspect-ratio: 770 / 500;
  }
}

@media (max-width: 640px) {
  .ce-sessions-teaser-container {
    padding: 0 16px;
  }

  .ce-sessions-teaser-content {
    padding: 24px;
  }

  .ce-sessions-teaser-title {
    font-size: clamp(1.9rem, 9.5vw, 3rem);
    line-height: 1.12;
    letter-spacing: -0.038em;
  }

  .ce-sessions-teaser-text {
    font-size: 1rem;
    line-height: 1.68;
  }

  .ce-sessions-teaser-actions {
    align-items: stretch;
    gap: 12px;
  }

  .ce-sessions-teaser-btn {
    width: 100%;
    max-width: 380px;
    margin: 0 auto;
    min-height: 52px;
    padding: 15px 22px;
  }
}

/* REDUCED MOTION */

@media (prefers-reduced-motion: reduce) {
  .ce-sessions-teaser-btn {
    transition: none;
  }

  .ce-sessions-teaser-btn:hover {
    transform: none;
  }
}
/* =========================================================
   CE CREDENTIALS SECTION
   Квалификация и экспертность Академии
   Резиновая ширина, ограничение: 1360px
   ========================================================= */

.ce-credentials-section,
.ce-credentials-section * {
  box-sizing: border-box;
}

.ce-credentials-section {
  position: relative;
  overflow: hidden;
  padding: clamp(56px, 7vw, 96px) 0 clamp(60px, 8vw, 112px);
  color: var(--ax-text, #17202b);
  background:
    radial-gradient(
      circle at 50% -10%,
      rgba(154, 110, 57, 0.12),
      transparent 40%
    ),
    linear-gradient(
      180deg,
      rgba(255, 255, 255, 0.94),
      rgba(250, 247, 241, 0.98)
    ),
    var(--ax-bg, #faf7f1);
}

.ce-credentials-container {
  width: 100%;
  max-width: 1360px;
  margin: 0 auto;
  padding: 0 clamp(16px, 3vw, 40px);
}

/* ========== HEAD ========== */

.ce-credentials-head {
  max-width: 1140px;
  margin: 0 auto;
  text-align: center;
}

.ce-credentials-kicker {
  display: block;
  margin: 0 auto clamp(16px, 2vw, 22px);
  text-align: center;
}

.ce-credentials-title {
  max-width: 1100px;
  margin: 0 auto;
  color: var(--ax-text, #17202b);
  font-family: var(--ax-font-heading, inherit);
  font-size: clamp(2rem, 1.2rem + 3.15vw, 4.15rem);
  font-weight: 700;
  line-height: 1.1;
  letter-spacing: -0.045em;
  text-align: center;
  text-wrap: balance;
}

.ce-credentials-lead {
  max-width: 960px;
  margin: clamp(20px, 2.6vw, 30px) auto 0;
  color: var(--ax-text-soft, rgba(23, 32, 43, 0.7));
  font-size: clamp(1.02rem, 0.96rem + 0.26vw, 1.18rem);
  line-height: 1.72;
  text-align: center;
  text-wrap: balance;
}

/* ========== GRID ========== */

.ce-credentials-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(18px, 2.4vw, 30px);
  margin-top: clamp(42px, 5.8vw, 78px);
}

/* ========== CARD ========== */

.ce-credentials-card {
  position: relative;
  display: flex;
  flex-direction: column;
  min-width: 0;
  height: 100%;
  padding: clamp(24px, 2.8vw, 36px);
  overflow: hidden;
  background: var(--ax-panel, #ffffff);
  border: 1px solid var(--ax-border-soft, rgba(23, 32, 43, 0.08));
  border-radius: var(--ax-radius-card, 30px);
  box-shadow: var(--ax-shadow, 0 18px 44px rgba(23, 32, 43, 0.08));
  isolation: isolate;
  transition:
    transform var(--ax-ease-soft, 0.28s ease),
    box-shadow var(--ax-ease-soft, 0.28s ease),
    border-color var(--ax-ease-soft, 0.28s ease);
}

.ce-credentials-card::before {
  content: "";
  position: absolute;
  top: 0;
  left: clamp(24px, 2.8vw, 36px);
  right: clamp(24px, 2.8vw, 36px);
  height: 3px;
  border-radius: 999px;
  background: linear-gradient(
    90deg,
    var(--ax-accent, #9a6e39),
    rgba(154, 110, 57, 0.16)
  );
}

.ce-credentials-card:hover {
  transform: translateY(-6px);
  border-color: var(--ax-border-hover, rgba(154, 110, 57, 0.22));
  box-shadow: var(--ax-shadow-hover, 0 24px 64px rgba(23, 32, 43, 0.12));
}

/* Featured card */

.ce-credentials-card--featured {
  grid-column: span 2;
  background:
    radial-gradient(
      circle at 18% 0%,
      rgba(154, 110, 57, 0.14),
      transparent 36%
    ),
    linear-gradient(
      180deg,
      rgba(255, 255, 255, 0.98),
      rgba(250, 247, 241, 0.96)
    ),
    var(--ax-panel, #ffffff);
  border-color: rgba(154, 110, 57, 0.3);
  box-shadow:
    0 26px 76px rgba(154, 110, 57, 0.14),
    0 18px 44px rgba(23, 32, 43, 0.08);
}

.ce-credentials-card--featured::after {
  content: "";
  position: absolute;
  right: -90px;
  bottom: -90px;
  width: 220px;
  height: 220px;
  border-radius: 50%;
  background: rgba(154, 110, 57, 0.08);
  pointer-events: none;
  z-index: -1;
}

.ce-credentials-card--featured:hover {
  border-color: rgba(154, 110, 57, 0.5);
  box-shadow:
    0 32px 86px rgba(154, 110, 57, 0.18),
    0 24px 64px rgba(23, 32, 43, 0.12);
}

/* ========== CONTENT ========== */

.ce-credentials-meta {
  display: inline-block;
  margin: 0 0 16px;
}

.ce-credentials-card-title {
  margin: 0;
  color: var(--ax-text, #17202b);
  font-family: var(--ax-font-heading, inherit);
  font-size: clamp(1.12rem, 1rem + 0.45vw, 1.38rem);
  font-weight: 700;
  line-height: 1.3;
  letter-spacing: -0.025em;
  text-wrap: balance;
}

.ce-credentials-card--featured .ce-credentials-card-title {
  max-width: 860px;
  font-size: clamp(1.28rem, 1.05rem + 0.9vw, 1.82rem);
  line-height: 1.24;
  letter-spacing: -0.035em;
}

.ce-credentials-card-text {
  margin: 16px 0 0;
  color: var(--ax-text-soft, rgba(23, 32, 43, 0.7));
  font-size: clamp(0.98rem, 0.94rem + 0.12vw, 1.04rem);
  line-height: 1.72;
}

.ce-credentials-card--featured .ce-credentials-card-text {
  max-width: 920px;
  font-size: clamp(1rem, 0.96rem + 0.16vw, 1.08rem);
  line-height: 1.76;
}

/* ========== TEXT LINK ========== */

.ce-credentials-link {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  width: fit-content;
  margin-top: auto;
  padding-top: 24px;
  color: var(--ax-accent, #9a6e39);
  font-size: 0.95rem;
  font-weight: 700;
  line-height: 1.4;
  text-decoration: none;
  transition:
    color var(--ax-ease, 0.2s ease),
    gap var(--ax-ease, 0.2s ease);
}

.ce-credentials-link::after {
  content: "→";
  line-height: 1;
  transition: transform var(--ax-ease, 0.2s ease);
}

.ce-credentials-link:hover,
.ce-credentials-link:focus-visible {
  gap: 12px;
  color: var(--ax-link-hover, #17202b);
}

.ce-credentials-link:hover::after,
.ce-credentials-link:focus-visible::after {
  transform: translateX(2px);
}

.ce-credentials-link:focus-visible {
  outline: 3px solid var(--ax-focus, rgba(154, 110, 57, 0.35));
  outline-offset: 5px;
  border-radius: 8px;
}

/* ========== NOTE ========== */

.ce-credentials-note {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: start;
  gap: 14px;
  max-width: 1040px;
  margin: clamp(38px, 5vw, 64px) auto 0;
  padding: clamp(20px, 2.5vw, 28px);
  background:
    linear-gradient(
      180deg,
      rgba(255, 255, 255, 0.86),
      rgba(250, 247, 241, 0.9)
    ),
    var(--ax-panel, #ffffff);
  border: 1px solid rgba(154, 110, 57, 0.18);
  border-radius: var(--ax-radius-card, 28px);
  box-shadow: var(--ax-shadow, 0 18px 44px rgba(23, 32, 43, 0.08));
}

.ce-credentials-note__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 42px;
  height: 42px;
  flex: 0 0 auto;
  color: var(--ax-accent, #9a6e39);
  background: var(--ax-accent-soft, rgba(154, 110, 57, 0.1));
  border: 1px solid rgba(154, 110, 57, 0.14);
  border-radius: 999px;
  font-size: 1.25rem;
  font-weight: 800;
}

.ce-credentials-note p {
  margin: 0;
  color: var(--ax-text-soft, rgba(23, 32, 43, 0.72));
  font-size: var(--ax-note-size, 1rem);
  line-height: 1.68;
}

.ce-credentials-note strong {
  color: var(--ax-text, #17202b);
}

/* ========== ACTION BUTTONS ========== */

.ce-credentials-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 14px;
  max-width: 920px;
  margin: clamp(32px, 4vw, 48px) auto 0;
  text-align: center;
}

.ce-credentials-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 54px;
  padding: 16px 28px;
  border: 1px solid transparent;
  border-radius: 999px;
  font-family: var(--ax-font-body, inherit);
  font-size: 0.96rem;
  font-weight: 700;
  line-height: 1.2;
  text-align: center;
  text-decoration: none;
  white-space: normal;
  cursor: pointer;
  appearance: none;
  transition:
    color var(--ax-ease, 0.2s ease),
    background-color var(--ax-ease, 0.2s ease),
    border-color var(--ax-ease, 0.2s ease),
    box-shadow var(--ax-ease-soft, 0.28s ease),
    transform var(--ax-ease-soft, 0.28s ease);
}

.ce-credentials-btn:hover {
  text-decoration: none;
  transform: translateY(-2px);
}

.ce-credentials-btn:focus-visible {
  outline: 3px solid var(--ax-focus, rgba(154, 110, 57, 0.35));
  outline-offset: 4px;
}

.ce-credentials-btn--primary {
  color: #ffffff;
  background: var(--ax-accent, #9a6e39);
  border-color: var(--ax-accent, #9a6e39);
  box-shadow: 0 16px 36px rgba(154, 110, 57, 0.26);
}

.ce-credentials-btn--primary:hover,
.ce-credentials-btn--primary:focus-visible {
  color: #ffffff;
  background: var(--ax-accent-dark, #7c552c);
  border-color: var(--ax-accent-dark, #7c552c);
  box-shadow: 0 20px 46px rgba(154, 110, 57, 0.34);
}

.ce-credentials-btn--ghost {
  color: var(--ax-accent, #9a6e39);
  background: rgba(255, 255, 255, 0.58);
  border-color: var(--ax-border, rgba(154, 110, 57, 0.32));
  box-shadow: none;
}

.ce-credentials-btn--ghost:hover,
.ce-credentials-btn--ghost:focus-visible {
  color: var(--ax-text, #17202b);
  background: var(--ax-accent-soft, rgba(154, 110, 57, 0.1));
  border-color: var(--ax-accent, #9a6e39);
}

/* ========== RESPONSIVE ========== */

@media (max-width: 1120px) {
  .ce-credentials-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .ce-credentials-card--featured {
    grid-column: span 2;
  }
}

@media (max-width: 760px) {
  .ce-credentials-grid {
    grid-template-columns: 1fr;
    max-width: 720px;
    margin-left: auto;
    margin-right: auto;
  }

  .ce-credentials-card--featured {
    grid-column: span 1;
  }
}

@media (max-width: 640px) {
  .ce-credentials-container {
    padding: 0 16px;
  }

  .ce-credentials-title {
    font-size: clamp(1.9rem, 9.5vw, 3rem);
    line-height: 1.12;
    letter-spacing: -0.038em;
  }

  .ce-credentials-lead {
    font-size: 1rem;
    line-height: 1.68;
  }

  .ce-credentials-card {
    padding: 24px;
  }

  .ce-credentials-card--featured .ce-credentials-card-title {
    font-size: clamp(1.22rem, 6vw, 1.58rem);
  }

  .ce-credentials-note {
    grid-template-columns: 1fr;
  }

  .ce-credentials-actions {
    align-items: stretch;
    gap: 12px;
  }

  .ce-credentials-btn {
    width: 100%;
    max-width: 380px;
    margin: 0 auto;
    min-height: 52px;
    padding: 15px 22px;
  }
}

/* ========== REDUCED MOTION ========== */

@media (prefers-reduced-motion: reduce) {
  .ce-credentials-card,
  .ce-credentials-link,
  .ce-credentials-link::after,
  .ce-credentials-btn {
    transition: none;
  }

  .ce-credentials-card:hover,
  .ce-credentials-btn:hover {
    transform: none;
  }
}
/* =========================================================
   CE CERTIFICATES SECTION
   Сертификаты Академии
   Резиновая ширина, ограничение: 1360px
   ========================================================= */

.ce-certificates-section,
.ce-certificates-section * {
  box-sizing: border-box;
}

.ce-certificates-section {
  position: relative;
  overflow: hidden;
  padding: clamp(56px, 7vw, 96px) 0 clamp(60px, 8vw, 112px);
  color: var(--ax-text, #17202b);
  background:
    radial-gradient(
      circle at 50% -10%,
      rgba(154, 110, 57, 0.12),
      transparent 40%
    ),
    linear-gradient(
      180deg,
      rgba(250, 247, 241, 0.98),
      rgba(255, 255, 255, 0.94)
    ),
    var(--ax-bg, #faf7f1);
}

.ce-certificates-container {
  width: 100%;
  max-width: 1360px;
  margin: 0 auto;
  padding: 0 clamp(16px, 3vw, 40px);
}

/* ========== HEAD ========== */

.ce-certificates-head {
  max-width: 1140px;
  margin: 0 auto;
  text-align: center;
}

.ce-certificates-kicker {
  display: block;
  margin: 0 auto clamp(16px, 2vw, 22px);
  text-align: center;
}

.ce-certificates-title {
  max-width: 1100px;
  margin: 0 auto;
  color: var(--ax-text, #17202b);
  font-family: var(--ax-font-heading, inherit);
  font-size: clamp(2rem, 1.2rem + 3.15vw, 4.15rem);
  font-weight: 700;
  line-height: 1.1;
  letter-spacing: -0.045em;
  text-align: center;
  text-wrap: balance;
}

.ce-certificates-lead {
  max-width: 960px;
  margin: clamp(20px, 2.6vw, 30px) auto 0;
  color: var(--ax-text-soft, rgba(23, 32, 43, 0.7));
  font-size: clamp(1.02rem, 0.96rem + 0.26vw, 1.18rem);
  line-height: 1.72;
  text-align: center;
  text-wrap: balance;
}

/* ========== GRID ========== */

.ce-certificates-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(18px, 2.4vw, 30px);
  margin-top: clamp(42px, 5.8vw, 78px);
}

/* ========== CARD ========== */

.ce-certificate-card {
  display: flex;
  flex-direction: column;
  min-width: 0;
  height: 100%;
  overflow: hidden;
  background: var(--ax-panel, #ffffff);
  border: 1px solid var(--ax-border-soft, rgba(23, 32, 43, 0.08));
  border-radius: var(--ax-radius-card, 30px);
  box-shadow: var(--ax-shadow, 0 18px 44px rgba(23, 32, 43, 0.08));
  transition:
    transform var(--ax-ease-soft, 0.28s ease),
    box-shadow var(--ax-ease-soft, 0.28s ease),
    border-color var(--ax-ease-soft, 0.28s ease);
}

.ce-certificate-card:hover {
  transform: translateY(-6px);
  border-color: var(--ax-border-hover, rgba(154, 110, 57, 0.22));
  box-shadow: var(--ax-shadow-hover, 0 24px 64px rgba(23, 32, 43, 0.12));
}

/* ========== CERTIFICATE IMAGE ========== */

.ce-certificate-media {
  position: relative;
  display: block;
  width: 100%;
  margin: 0;
  overflow: hidden;
  background:
    radial-gradient(
      circle at 50% 0%,
      rgba(154, 110, 57, 0.12),
      transparent 42%
    ),
    var(--ax-panel-soft, #f4efe7);
  aspect-ratio: 800 / 1131;
  line-height: 0;
  text-decoration: none;
}

.ce-certificate-media::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.08), transparent 32%),
    linear-gradient(180deg, transparent 72%, rgba(23, 32, 43, 0.08));
}

.ce-certificate-image {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transform: scale(1.001);
  filter: saturate(1.02) contrast(1.02);
  transition:
    transform 0.7s ease,
    filter 0.5s ease;
}

.ce-certificate-card:hover .ce-certificate-image {
  transform: scale(1.035);
  filter: saturate(1.05) contrast(1.04);
}

/* ========== BODY ========== */

.ce-certificate-body {
  display: flex;
  flex: 1 1 auto;
  flex-direction: column;
  min-width: 0;
  padding: clamp(24px, 2.6vw, 34px);
}

.ce-certificate-meta {
  display: inline-block;
  margin: 0 0 16px;
}

.ce-certificate-card-title {
  margin: 0;
  color: var(--ax-text, #17202b);
  font-family: var(--ax-font-heading, inherit);
  font-size: clamp(1.12rem, 1rem + 0.45vw, 1.38rem);
  font-weight: 700;
  line-height: 1.3;
  letter-spacing: -0.025em;
  text-wrap: balance;
}

.ce-certificate-card-text {
  margin: 16px 0 0;
  color: var(--ax-text-soft, rgba(23, 32, 43, 0.7));
  font-size: clamp(0.98rem, 0.94rem + 0.12vw, 1.04rem);
  line-height: 1.72;
}

/* ========== NOTE ========== */

.ce-certificates-note {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: start;
  gap: 14px;
  max-width: 980px;
  margin: clamp(38px, 5vw, 64px) auto 0;
  padding: clamp(20px, 2.5vw, 28px);
  background:
    linear-gradient(
      180deg,
      rgba(255, 255, 255, 0.86),
      rgba(250, 247, 241, 0.9)
    ),
    var(--ax-panel, #ffffff);
  border: 1px solid rgba(154, 110, 57, 0.18);
  border-radius: var(--ax-radius-card, 28px);
  box-shadow: var(--ax-shadow, 0 18px 44px rgba(23, 32, 43, 0.08));
}

.ce-certificates-note__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 42px;
  height: 42px;
  flex: 0 0 auto;
  color: var(--ax-accent, #9a6e39);
  background: var(--ax-accent-soft, rgba(154, 110, 57, 0.1));
  border: 1px solid rgba(154, 110, 57, 0.14);
  border-radius: 999px;
  font-size: 1.2rem;
  font-weight: 800;
}

.ce-certificates-note p {
  margin: 0;
  color: var(--ax-text-soft, rgba(23, 32, 43, 0.72));
  font-size: var(--ax-note-size, 1rem);
  line-height: 1.68;
}

.ce-certificates-note strong {
  color: var(--ax-text, #17202b);
}

/* ========== RESPONSIVE ========== */

@media (max-width: 1120px) {
  .ce-certificates-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 760px) {
  .ce-certificates-grid {
    grid-template-columns: 1fr;
    max-width: 520px;
    margin-left: auto;
    margin-right: auto;
  }
}

@media (max-width: 640px) {
  .ce-certificates-container {
    padding: 0 16px;
  }

  .ce-certificates-title {
    font-size: clamp(1.9rem, 9.5vw, 3rem);
    line-height: 1.12;
    letter-spacing: -0.038em;
  }

  .ce-certificates-lead {
    font-size: 1rem;
    line-height: 1.68;
  }

  .ce-certificate-body {
    padding: 24px;
  }

  .ce-certificates-note {
    grid-template-columns: 1fr;
  }
}

/* ========== REDUCED MOTION ========== */

@media (prefers-reduced-motion: reduce) {
  .ce-certificate-card,
  .ce-certificate-image {
    transition: none;
  }

  .ce-certificate-card:hover,
  .ce-certificate-card:hover .ce-certificate-image {
    transform: none;
  }
}
/* =========================================================
   KCEFAQ SECTION
   FAQ: Частые вопросы
   Резиновая ширина, ограничение: 1360px
   ========================================================= */

.kcefaq-section,
.kcefaq-section * {
  box-sizing: border-box;
}

.kcefaq-section {
  position: relative;
  width: 100%;
  overflow: hidden;
  padding-block: clamp(72px, 8vw, 120px);
  color: var(--ax-text, #0f172a);
  background:
    radial-gradient(
      circle at 50% -10%,
      rgba(122, 92, 46, 0.1),
      transparent 40%
    ),
    linear-gradient(
      180deg,
      rgba(255, 255, 255, 0.94),
      rgba(248, 250, 252, 0.98)
    ),
    var(--ax-bg, #f8fafc);
}

.kcefaq-container {
  width: min(
    100% - var(--ax-gutter, clamp(20px, 4vw, 48px)),
    var(--ax-container-max, 1360px)
  );
  margin-inline: auto;
}

.kcefaq-head {
  max-width: 1140px;
  margin-inline: auto;
  text-align: center;
}

.kcefaq-kicker {
  display: block;
  width: fit-content;
  margin: 0 auto clamp(16px, 2vw, 22px);
  color: var(--ax-accent, #7a5c2e);
  font-size: var(--ax-f-xs, 0.78rem);
  font-weight: 800;
  line-height: 1.35;
  letter-spacing: 0.14em;
  text-align: center;
  text-transform: uppercase;
}

.kcefaq-title {
  max-width: 1080px;
  margin: 0 auto;
  color: var(--ax-text, #0f172a);
  font-family: var(--ax-font-heading, inherit);
  font-size: var(--ax-f-h2, clamp(2rem, 1.2rem + 3.15vw, 4.15rem));
  font-weight: 800;
  line-height: 1.1;
  letter-spacing: -0.045em;
  text-align: center;
  text-wrap: balance;
}

.kcefaq-lead {
  max-width: 980px;
  margin: clamp(20px, 2.6vw, 30px) auto 0;
  color: var(--ax-text-soft, #475569);
  font-size: var(--ax-f-lead, clamp(1.02rem, 0.96rem + 0.26vw, 1.18rem));
  line-height: 1.72;
  text-align: center;
  text-wrap: balance;
}

/* FAQ LIST */

.kcefaq-list {
  display: grid;
  gap: 14px;
  max-width: 1040px;
  margin: clamp(42px, 5.8vw, 78px) auto 0;
}

.kcefaq-item {
  overflow: hidden;
  background: var(--ax-panel, #ffffff);
  border: 1px solid var(--ax-border-soft, rgba(15, 23, 42, 0.06));
  border-radius: var(--ax-radius-lg, 24px);
  box-shadow: var(--ax-shadow-sm, 0 2px 8px rgba(15, 23, 42, 0.06));
  transition:
    border-color var(--ax-transition, 0.35s ease),
    box-shadow var(--ax-transition, 0.35s ease),
    transform var(--ax-transition, 0.35s ease);
}

.kcefaq-item:hover {
  border-color: var(--ax-border-mid, rgba(15, 23, 42, 0.12));
  box-shadow: var(--ax-shadow-md, 0 12px 20px rgba(15, 23, 42, 0.08));
}

.kcefaq-item[open] {
  border-color: var(--ax-accent-line, rgba(122, 92, 46, 0.18));
  box-shadow:
    0 20px 44px rgba(122, 92, 46, 0.08),
    var(--ax-shadow-sm, 0 2px 8px rgba(15, 23, 42, 0.06));
}

.kcefaq-question {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  min-height: 72px;
  padding: clamp(20px, 2.6vw, 28px);
  color: var(--ax-text, #0f172a);
  font-family: var(--ax-font-heading, inherit);
  font-size: clamp(1.05rem, 0.98rem + 0.35vw, 1.26rem);
  font-weight: 700;
  line-height: 1.35;
  letter-spacing: -0.02em;
  cursor: pointer;
  list-style: none;
}

.kcefaq-question::-webkit-details-marker {
  display: none;
}

.kcefaq-question::after {
  content: "+";
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 34px;
  height: 34px;
  flex: 0 0 auto;
  color: #ffffff;
  background: var(--ax-accent, #7a5c2e);
  border-radius: var(--ax-radius-pill, 999px);
  font-family: var(--ax-font-body, inherit);
  font-size: 1.2rem;
  font-weight: 700;
  line-height: 1;
  transition:
    transform var(--ax-transition-fast, 0.2s ease),
    background-color var(--ax-transition-fast, 0.2s ease);
}

.kcefaq-item[open] .kcefaq-question::after {
  content: "−";
  transform: rotate(180deg);
  background: var(--ax-accent-hover, #654a22);
}

.kcefaq-question:focus-visible {
  outline: none;
  box-shadow: var(
    --ax-focus-ring,
    0 0 0 3px #ffffff,
    0 0 0 6px rgba(30, 64, 175, 0.95)
  );
}

.kcefaq-answer {
  padding: 0 clamp(20px, 2.6vw, 28px) clamp(22px, 2.8vw, 32px);
}

.kcefaq-copy {
  max-width: 900px;
  color: var(--ax-text-soft, #475569);
  font-size: var(--ax-f-body, 1rem);
  line-height: 1.75;
}

.kcefaq-copy > * + * {
  margin-top: 14px;
}

.kcefaq-copy strong {
  color: var(--ax-text, #0f172a);
  font-weight: 700;
}

.kcefaq-copy ul,
.kcefaq-copy ol {
  display: grid;
  gap: 10px;
  margin: 14px 0 0;
  padding: 0;
  list-style: none;
}

.kcefaq-copy li {
  position: relative;
  padding-left: 24px;
}

.kcefaq-copy li::before {
  content: "";
  position: absolute;
  top: 0.76em;
  left: 0;
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--ax-accent, #7a5c2e);
  box-shadow: 0 0 0 4px var(--ax-accent-soft, rgba(122, 92, 46, 0.06));
  transform: translateY(-50%);
}

/* RESPONSIVE */

@media (max-width: 640px) {
  .kcefaq-section {
    padding-block: clamp(48px, 7vw, 72px);
  }

  .kcefaq-title {
    font-size: clamp(1.9rem, 9.5vw, 3rem);
    line-height: 1.12;
    letter-spacing: -0.038em;
  }

  .kcefaq-lead {
    font-size: 1rem;
    line-height: 1.68;
  }

  .kcefaq-list {
    gap: 12px;
  }

  .kcefaq-question {
    align-items: flex-start;
    min-height: auto;
    padding: 20px;
    font-size: 1.02rem;
  }

  .kcefaq-question::after {
    width: 30px;
    height: 30px;
    font-size: 1.05rem;
  }

  .kcefaq-answer {
    padding: 0 20px 22px;
  }
}

/* REDUCED MOTION */

@media (prefers-reduced-motion: reduce) {
  .kcefaq-item,
  .kcefaq-question::after {
    transition: none;
  }
}
/* =========================================================
   KCECONTACT SECTION
   Контакты / Запись на обучение
   Резиновая ширина, ограничение: 1360px
   ========================================================= */

.kcecontact-section,
.kcecontact-section * {
  box-sizing: border-box;
}

.kcecontact-section {
  position: relative;
  width: 100%;
  overflow: hidden;
  padding-block: clamp(72px, 8vw, 120px);
  color: var(--ax-text, #0f172a);
  background:
    radial-gradient(
      circle at 50% -10%,
      rgba(122, 92, 46, 0.1),
      transparent 40%
    ),
    linear-gradient(
      180deg,
      rgba(255, 255, 255, 0.94),
      rgba(248, 250, 252, 0.98)
    ),
    var(--ax-bg, #f8fafc);
}

.kcecontact-container {
  width: min(
    100% - var(--ax-gutter, clamp(20px, 4vw, 48px)),
    var(--ax-container-max, 1360px)
  );
  margin-inline: auto;
}

/* ========== HEAD ========== */

.kcecontact-head {
  max-width: 1140px;
  margin-inline: auto;
  text-align: center;
}

.kcecontact-kicker {
  display: block;
  width: fit-content;
  margin: 0 auto clamp(16px, 2vw, 22px);
  color: var(--ax-accent, #7a5c2e);
  font-size: var(--ax-f-xs, 0.78rem);
  font-weight: 800;
  line-height: 1.35;
  letter-spacing: 0.14em;
  text-align: center;
  text-transform: uppercase;
}

.kcecontact-title {
  max-width: 1080px;
  margin: 0 auto;
  color: var(--ax-text, #0f172a);
  font-family: var(--ax-font-heading, inherit);
  font-size: var(--ax-f-h2, clamp(2rem, 1.2rem + 3.15vw, 4.15rem));
  font-weight: 800;
  line-height: 1.1;
  letter-spacing: -0.045em;
  text-align: center;
  text-wrap: balance;
}

.kcecontact-lead {
  max-width: 980px;
  margin: clamp(20px, 2.6vw, 30px) auto 0;
  color: var(--ax-text-soft, #475569);
  font-size: var(--ax-f-lead, clamp(1.02rem, 0.96rem + 0.26vw, 1.18rem));
  line-height: 1.72;
  text-align: center;
  text-wrap: balance;
}

/* ========== GRID ========== */

.kcecontact-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(360px, 0.92fr);
  gap: clamp(20px, 2.5vw, 32px);
  margin-top: clamp(42px, 5.8vw, 78px);
}

/* ========== CARD ========== */

.kcecontact-card {
  position: relative;
  display: flex;
  flex-direction: column;
  min-width: 0;
  height: 100%;
  padding: clamp(24px, 3vw, 36px);
  overflow: hidden;
  background: var(--ax-panel, #ffffff);
  border: 1px solid var(--ax-border-soft, rgba(15, 23, 42, 0.06));
  border-radius: var(--ax-radius-lg, 24px);
  box-shadow: var(--ax-shadow-sm, 0 2px 8px rgba(15, 23, 42, 0.06));
  isolation: isolate;
  transition:
    transform var(--ax-transition, 0.35s ease),
    box-shadow var(--ax-transition, 0.35s ease),
    border-color var(--ax-transition, 0.35s ease);
}

.kcecontact-card::before {
  content: "";
  position: absolute;
  top: 0;
  left: clamp(24px, 3vw, 36px);
  right: clamp(24px, 3vw, 36px);
  height: 4px;
  border-radius: var(--ax-radius-pill, 999px);
  background: linear-gradient(
    90deg,
    var(--ax-accent, #7a5c2e),
    rgba(122, 92, 46, 0.16)
  );
  pointer-events: none;
}

.kcecontact-card:hover {
  transform: translateY(-6px);
  border-color: var(--ax-border-mid, rgba(15, 23, 42, 0.12));
  box-shadow: var(--ax-shadow-lg, 0 20px 32px rgba(15, 23, 42, 0.12));
}

.kcecontact-card--action {
  background:
    radial-gradient(circle at 18% 0%, rgba(122, 92, 46, 0.13), transparent 36%),
    linear-gradient(
      180deg,
      rgba(255, 255, 255, 0.98),
      rgba(248, 250, 252, 0.96)
    ),
    var(--ax-panel, #ffffff);
  border-color: var(--ax-accent-line, rgba(122, 92, 46, 0.18));
}

.kcecontact-card-head {
  display: grid;
  gap: 14px;
  min-width: 0;
}

.kcecontact-card-badge {
  display: inline-flex;
  align-items: center;
  width: fit-content;
  min-height: 30px;
  padding: 7px 11px;
  color: var(--ax-accent, #7a5c2e);
  background: var(--ax-accent-soft, rgba(122, 92, 46, 0.06));
  border: 1px solid var(--ax-accent-line, rgba(122, 92, 46, 0.18));
  border-radius: var(--ax-radius-pill, 999px);
  font-size: 0.72rem;
  font-weight: 800;
  line-height: 1;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.kcecontact-card-title {
  margin: 0;
  color: var(--ax-text, #0f172a);
  font-family: var(--ax-font-heading, inherit);
  font-size: clamp(1.25rem, 1.05rem + 0.75vw, 1.7rem);
  font-weight: 700;
  line-height: 1.25;
  letter-spacing: -0.03em;
  text-wrap: balance;
}

.kcecontact-card-text {
  margin: 0;
  color: var(--ax-text-soft, #475569);
  font-size: clamp(0.98rem, 0.94rem + 0.12vw, 1.04rem);
  line-height: 1.72;
}

/* ========== CONTACT LIST ========== */

.kcecontact-list {
  display: grid;
  gap: 14px;
  margin-top: clamp(24px, 3vw, 34px);
}

.kcecontact-row {
  display: grid;
  grid-template-columns: minmax(110px, 0.28fr) minmax(0, 1fr);
  gap: 16px;
  align-items: start;
  min-width: 0;
  padding: 16px 0;
  border-top: 1px solid var(--ax-border-soft, rgba(15, 23, 42, 0.06));
}

.kcecontact-row:first-child {
  padding-top: 0;
  border-top: 0;
}

.kcecontact-label {
  color: var(--ax-text-muted, #64748b);
  font-size: var(--ax-f-sm, 0.9rem);
  font-weight: 700;
  line-height: 1.45;
}

.kcecontact-value,
.kcecontact-link {
  min-width: 0;
  color: var(--ax-text, #0f172a);
  font-size: clamp(0.98rem, 0.94rem + 0.12vw, 1.04rem);
  font-weight: 600;
  line-height: 1.55;
  overflow-wrap: anywhere;
}

.kcecontact-link {
  display: inline-flex;
  width: fit-content;
  text-decoration: none;
  transition:
    color var(--ax-transition-fast, 0.2s ease),
    opacity var(--ax-transition-fast, 0.2s ease);
}

.kcecontact-link:hover,
.kcecontact-link:focus-visible {
  color: var(--ax-accent, #7a5c2e);
}

/* ========== ACTIONS ========== */

.kcecontact-actions {
  display: grid;
  gap: 14px;
  margin-top: clamp(26px, 3.2vw, 38px);
}

.kcecontact-actions-row {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}

.kcecontact-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  min-height: 54px;
  padding: 16px 24px;
  color: inherit;
  border: 1px solid transparent;
  border-radius: var(--ax-radius-pill, 999px);
  font-family: var(--ax-font-body, inherit);
  font-size: 0.96rem;
  font-weight: 700;
  line-height: 1.2;
  text-align: center;
  text-decoration: none;
  white-space: normal;
  cursor: pointer;
  appearance: none;
  transition:
    color var(--ax-transition-fast, 0.2s ease),
    background-color var(--ax-transition-fast, 0.2s ease),
    border-color var(--ax-transition-fast, 0.2s ease),
    box-shadow var(--ax-transition, 0.35s ease),
    transform var(--ax-transition, 0.35s ease);
}

.kcecontact-btn:hover {
  text-decoration: none;
  transform: translateY(-2px);
}

.kcecontact-btn:focus-visible {
  outline: none;
  box-shadow: var(
    --ax-focus-ring,
    0 0 0 3px #ffffff,
    0 0 0 6px rgba(30, 64, 175, 0.95)
  );
}

.kcecontact-btn--primary {
  color: #ffffff;
  background: var(--ax-accent, #7a5c2e);
  border-color: var(--ax-accent, #7a5c2e);
  box-shadow: 0 16px 36px rgba(122, 92, 46, 0.24);
}

.kcecontact-btn--primary:hover,
.kcecontact-btn--primary:focus-visible {
  color: #ffffff;
  background: var(--ax-accent-hover, #654a22);
  border-color: var(--ax-accent-hover, #654a22);
}

.kcecontact-btn--dark {
  color: #ffffff;
  background: var(--ax-text, #0f172a);
  border-color: var(--ax-text, #0f172a);
  box-shadow: 0 16px 36px rgba(15, 23, 42, 0.18);
}

.kcecontact-btn--dark:hover,
.kcecontact-btn--dark:focus-visible {
  color: #ffffff;
  background: #020617;
  border-color: #020617;
}

.kcecontact-btn--outline {
  color: var(--ax-accent, #7a5c2e);
  background: rgba(255, 255, 255, 0.58);
  border-color: var(--ax-accent-line, rgba(122, 92, 46, 0.18));
  box-shadow: none;
}

.kcecontact-btn--outline:hover,
.kcecontact-btn--outline:focus-visible {
  color: var(--ax-text, #0f172a);
  background: var(--ax-accent-soft, rgba(122, 92, 46, 0.06));
  border-color: var(--ax-accent, #7a5c2e);
}

.kcecontact-btn-icon {
  flex: 0 0 auto;
  stroke: currentColor;
  fill: none;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
}

/* ========== NOTE ========== */

.kcecontact-note {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 12px;
  align-items: start;
  margin-top: auto;
  padding-top: clamp(24px, 3vw, 34px);
  color: var(--ax-text-soft, #475569);
  font-size: var(--ax-f-sm, 0.9rem);
  line-height: 1.6;
}

.kcecontact-note-dot {
  width: 9px;
  height: 9px;
  margin-top: 0.55em;
  border-radius: 50%;
  background: var(--ax-accent, #7a5c2e);
  box-shadow: 0 0 0 5px var(--ax-accent-soft, rgba(122, 92, 46, 0.06));
}

.kcecontact-note p {
  margin: 0;
}

/* ========== RESPONSIVE ========== */

@media (max-width: 980px) {
  .kcecontact-grid {
    grid-template-columns: 1fr;
    max-width: 760px;
    margin-left: auto;
    margin-right: auto;
  }
}

@media (max-width: 640px) {
  .kcecontact-section {
    padding-block: clamp(48px, 7vw, 72px);
  }

  .kcecontact-title {
    font-size: clamp(1.9rem, 9.5vw, 3rem);
    line-height: 1.12;
    letter-spacing: -0.038em;
  }

  .kcecontact-lead {
    font-size: 1rem;
    line-height: 1.68;
  }

  .kcecontact-card {
    padding: 24px;
  }

  .kcecontact-row {
    grid-template-columns: 1fr;
    gap: 6px;
  }

  .kcecontact-actions-row {
    grid-template-columns: 1fr;
  }

  .kcecontact-btn {
    width: 100%;
    min-height: 52px;
    padding: 15px 22px;
  }
}

/* ========== REDUCED MOTION ========== */

@media (prefers-reduced-motion: reduce) {
  .kcecontact-card,
  .kcecontact-btn,
  .kcecontact-link {
    transition: none;
  }

  .kcecontact-card:hover,
  .kcecontact-btn:hover {
    transform: none;
  }
}
/* =========================================================
   KCECONTACT COMPACT FIX
   Убираем пустое место, кнопки в одну колонку
   ========================================================= */

.kcecontact-grid {
  align-items: stretch;
}

.kcecontact-card {
  justify-content: flex-start;
}

.kcecontact-card-head {
  gap: 12px;
}

.kcecontact-actions {
  display: grid;
  grid-template-columns: 1fr;
  gap: 12px;
  width: 100%;
  margin-top: clamp(22px, 2.6vw, 30px);
}

.kcecontact-actions-row {
  display: grid;
  grid-template-columns: 1fr;
  gap: 12px;
  width: 100%;
}

.kcecontact-btn {
  width: 100%;
  justify-content: center;
  min-height: 54px;
}

.kcecontact-note {
  margin-top: 18px;
  padding-top: 18px;
  border-top: 1px solid var(--ax-border-soft, rgba(15, 23, 42, 0.06));
}

.kcecontact-list {
  margin-top: clamp(20px, 2.4vw, 28px);
}

.kcecontact-row {
  padding: 13px 0;
}

@media (max-width: 980px) {
  .kcecontact-grid {
    align-items: start;
  }
}

@media (max-width: 640px) {
  .kcecontact-actions {
    gap: 10px;
  }

  .kcecontact-actions-row {
    gap: 10px;
  }

  .kcecontact-note {
    margin-top: 16px;
    padding-top: 16px;
  }
}
/* =========================================================
   KCEREVIEWS SECTION
   Отзывы учеников
   Резиновая ширина, ограничение: 1360px
   ========================================================= */

.kcereviews-section,
.kcereviews-section * {
  box-sizing: border-box;
}

.kcereviews-section {
  position: relative;
  width: 100%;
  overflow: hidden;
  padding-block: clamp(72px, 8vw, 120px);
  color: var(--ax-text, #0f172a);
  background:
    radial-gradient(
      circle at 50% -10%,
      rgba(122, 92, 46, 0.1),
      transparent 40%
    ),
    linear-gradient(
      180deg,
      rgba(255, 255, 255, 0.94),
      rgba(248, 250, 252, 0.98)
    ),
    var(--ax-bg, #f8fafc);
}

.kcereviews-container {
  width: min(
    100% - var(--ax-gutter, clamp(20px, 4vw, 48px)),
    var(--ax-container-max, 1360px)
  );
  margin-inline: auto;
}

/* ========== HEAD ========== */

.kcereviews-head {
  max-width: 1140px;
  margin-inline: auto;
  text-align: center;
}

.kcereviews-kicker {
  display: block;
  width: fit-content;
  margin: 0 auto clamp(16px, 2vw, 22px);
  color: var(--ax-accent, #7a5c2e);
  font-size: var(--ax-f-xs, 0.78rem);
  font-weight: 800;
  line-height: 1.35;
  letter-spacing: 0.14em;
  text-align: center;
  text-transform: uppercase;
}

.kcereviews-title {
  max-width: 1080px;
  margin: 0 auto;
  color: var(--ax-text, #0f172a);
  font-family: var(--ax-font-heading, inherit);
  font-size: var(--ax-f-h2, clamp(2rem, 1.2rem + 3.15vw, 4.15rem));
  font-weight: 800;
  line-height: 1.1;
  letter-spacing: -0.045em;
  text-align: center;
  text-wrap: balance;
}

.kcereviews-lead {
  max-width: 980px;
  margin: clamp(20px, 2.6vw, 30px) auto 0;
  color: var(--ax-text-soft, #475569);
  font-size: var(--ax-f-lead, clamp(1.02rem, 0.96rem + 0.26vw, 1.18rem));
  line-height: 1.72;
  text-align: center;
  text-wrap: balance;
}

/* ========== GRID ========== */

.kcereviews-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(20px, 2.5vw, 32px);
  margin-top: clamp(42px, 5.8vw, 78px);
}

/* ========== CARD ========== */

.kcereview-card {
  position: relative;
  display: flex;
  flex-direction: column;
  min-width: 0;
  height: 100%;
  padding: clamp(24px, 3vw, 36px);
  overflow: hidden;
  background: var(--ax-panel, #ffffff);
  border: 1px solid var(--ax-border-soft, rgba(15, 23, 42, 0.06));
  border-radius: var(--ax-radius-lg, 24px);
  box-shadow: var(--ax-shadow-sm, 0 2px 8px rgba(15, 23, 42, 0.06));
  isolation: isolate;
  transition:
    transform var(--ax-transition, 0.35s ease),
    box-shadow var(--ax-transition, 0.35s ease),
    border-color var(--ax-transition, 0.35s ease);
}

.kcereview-card::before {
  content: "“";
  position: absolute;
  top: 12px;
  right: 24px;
  z-index: -1;
  color: rgba(122, 92, 46, 0.08);
  font-family: Georgia, serif;
  font-size: clamp(5rem, 8vw, 8rem);
  line-height: 1;
  pointer-events: none;
}

.kcereview-card::after {
  content: "";
  position: absolute;
  top: 0;
  left: clamp(24px, 3vw, 36px);
  right: clamp(24px, 3vw, 36px);
  height: 4px;
  border-radius: var(--ax-radius-pill, 999px);
  background: linear-gradient(
    90deg,
    var(--ax-accent, #7a5c2e),
    rgba(122, 92, 46, 0.16)
  );
  pointer-events: none;
}

.kcereview-card:hover {
  transform: translateY(-6px);
  border-color: var(--ax-border-mid, rgba(15, 23, 42, 0.12));
  box-shadow: var(--ax-shadow-lg, 0 20px 32px rgba(15, 23, 42, 0.12));
}

.kcereview-card--accent {
  background:
    radial-gradient(circle at 18% 0%, rgba(122, 92, 46, 0.13), transparent 36%),
    linear-gradient(
      180deg,
      rgba(255, 255, 255, 0.98),
      rgba(248, 250, 252, 0.96)
    ),
    var(--ax-panel, #ffffff);
  border-color: var(--ax-accent-line, rgba(122, 92, 46, 0.18));
  box-shadow:
    0 26px 76px rgba(122, 92, 46, 0.12),
    var(--ax-shadow-sm, 0 2px 8px rgba(15, 23, 42, 0.06));
}

/* ========== TEXT ========== */

.kcereview-card-content {
  min-width: 0;
}

.kcereview-text {
  margin: 0;
  color: var(--ax-text-soft, #475569);
  font-size: clamp(0.98rem, 0.94rem + 0.12vw, 1.04rem);
  line-height: 1.76;
}

/* ========== FOOTER ========== */

.kcereview-footer {
  display: grid;
  gap: 6px;
  margin-top: auto;
  padding-top: 24px;
}

.kcereview-author {
  color: var(--ax-text, #0f172a);
  font-family: var(--ax-font-heading, inherit);
  font-size: 1rem;
  font-weight: 800;
  line-height: 1.3;
}

.kcereview-role {
  color: var(--ax-accent, #7a5c2e);
  font-size: var(--ax-f-sm, 0.9rem);
  font-weight: 700;
  line-height: 1.45;
}

/* ========== NOTE ========== */

.kcereviews-note {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: start;
  gap: 14px;
  max-width: 980px;
  margin: clamp(38px, 5vw, 64px) auto 0;
  padding: clamp(20px, 2.5vw, 28px);
  background: var(--ax-panel, #ffffff);
  border: 1px solid var(--ax-accent-line, rgba(122, 92, 46, 0.18));
  border-radius: var(--ax-radius-lg, 24px);
  box-shadow: var(--ax-shadow-sm, 0 2px 8px rgba(15, 23, 42, 0.06));
}

.kcereviews-note-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 42px;
  height: 42px;
  flex: 0 0 auto;
  color: #ffffff;
  background: var(--ax-accent, #7a5c2e);
  border-radius: var(--ax-radius-pill, 999px);
  font-size: 1rem;
  font-weight: 800;
}

.kcereviews-note p {
  margin: 0;
  color: var(--ax-text-soft, #475569);
  font-size: var(--ax-f-body, 1rem);
  line-height: 1.68;
}

.kcereviews-note strong {
  color: var(--ax-text, #0f172a);
}

.kcereviews-note a {
  color: var(--ax-accent, #7a5c2e);
  font-weight: 800;
  text-decoration: none;
}

.kcereviews-note a:hover,
.kcereviews-note a:focus-visible {
  color: var(--ax-accent-hover, #654a22);
  text-decoration: underline;
}

/* ========== RESPONSIVE ========== */

@media (max-width: 1100px) {
  .kcereviews-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 760px) {
  .kcereviews-grid {
    grid-template-columns: 1fr;
    max-width: 760px;
    margin-left: auto;
    margin-right: auto;
  }
}

@media (max-width: 640px) {
  .kcereviews-section {
    padding-block: clamp(48px, 7vw, 72px);
  }

  .kcereviews-title {
    font-size: clamp(1.9rem, 9.5vw, 3rem);
    line-height: 1.12;
    letter-spacing: -0.038em;
  }

  .kcereviews-lead {
    font-size: 1rem;
    line-height: 1.68;
  }

  .kcereview-card {
    padding: 24px;
  }

  .kcereviews-note {
    grid-template-columns: 1fr;
  }
}

/* ========== REDUCED MOTION ========== */

@media (prefers-reduced-motion: reduce) {
  .kcereview-card {
    transition: none;
  }

  .kcereview-card:hover {
    transform: none;
  }
}
/* =========================================================
   KCEARTICLES SECTION
   Связанные материалы / статьи
   Резиновая ширина, ограничение: 1360px
   ========================================================= */

.kcearticles-section,
.kcearticles-section * {
  box-sizing: border-box;
}

.kcearticles-section {
  position: relative;
  width: 100%;
  overflow: hidden;
  padding-block: clamp(72px, 8vw, 120px);
  color: var(--ax-text, #0f172a);
  background:
    radial-gradient(
      circle at 50% -10%,
      rgba(122, 92, 46, 0.1),
      transparent 40%
    ),
    linear-gradient(
      180deg,
      rgba(255, 255, 255, 0.94),
      rgba(248, 250, 252, 0.98)
    ),
    var(--ax-bg, #f8fafc);
}

.kcearticles-container {
  width: min(
    100% - var(--ax-gutter, clamp(20px, 4vw, 48px)),
    var(--ax-container-max, 1360px)
  );
  margin-inline: auto;
}

/* ========== HEAD ========== */

.kcearticles-head {
  max-width: 1140px;
  margin-inline: auto;
  text-align: center;
}

.kcearticles-kicker {
  display: block;
  width: fit-content;
  margin: 0 auto clamp(16px, 2vw, 22px);
  color: var(--ax-accent, #7a5c2e);
  font-size: var(--ax-f-xs, 0.78rem);
  font-weight: 800;
  line-height: 1.35;
  letter-spacing: 0.14em;
  text-align: center;
  text-transform: uppercase;
}

.kcearticles-title {
  max-width: 1080px;
  margin: 0 auto;
  color: var(--ax-text, #0f172a);
  font-family: var(--ax-font-heading, inherit);
  font-size: var(--ax-f-h2, clamp(2rem, 1.2rem + 3.15vw, 4.15rem));
  font-weight: 800;
  line-height: 1.1;
  letter-spacing: -0.045em;
  text-align: center;
  text-wrap: balance;
}

.kcearticles-lead {
  max-width: 980px;
  margin: clamp(20px, 2.6vw, 30px) auto 0;
  color: var(--ax-text-soft, #475569);
  font-size: var(--ax-f-lead, clamp(1.02rem, 0.96rem + 0.26vw, 1.18rem));
  line-height: 1.72;
  text-align: center;
  text-wrap: balance;
}

/* ========== GRID ========== */

.kcearticles-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(14px, 1.8vw, 22px);
  margin-top: clamp(42px, 5.8vw, 78px);
}

/* ========== CARD ========== */

.kcearticle-card {
  position: relative;
  min-width: 0;
  overflow: hidden;
  background: var(--ax-panel, #ffffff);
  border: 1px solid var(--ax-border-soft, rgba(15, 23, 42, 0.06));
  border-radius: var(--ax-radius-lg, 24px);
  box-shadow: var(--ax-shadow-sm, 0 2px 8px rgba(15, 23, 42, 0.06));
  transition:
    transform var(--ax-transition, 0.35s ease),
    box-shadow var(--ax-transition, 0.35s ease),
    border-color var(--ax-transition, 0.35s ease);
}

.kcearticle-card::before {
  content: "";
  position: absolute;
  top: 0;
  left: 24px;
  right: 24px;
  height: 3px;
  border-radius: var(--ax-radius-pill, 999px);
  background: linear-gradient(
    90deg,
    var(--ax-accent, #7a5c2e),
    rgba(122, 92, 46, 0.16)
  );
  opacity: 0.7;
  pointer-events: none;
}

.kcearticle-card:hover {
  transform: translateY(-4px);
  border-color: var(--ax-border-mid, rgba(15, 23, 42, 0.12));
  box-shadow: var(--ax-shadow-lg, 0 20px 32px rgba(15, 23, 42, 0.12));
}

.kcearticle-card--all {
  background:
    radial-gradient(circle at 18% 0%, rgba(122, 92, 46, 0.13), transparent 36%),
    linear-gradient(
      180deg,
      rgba(255, 255, 255, 0.98),
      rgba(248, 250, 252, 0.96)
    ),
    var(--ax-panel, #ffffff);
  border-color: var(--ax-accent-line, rgba(122, 92, 46, 0.18));
}

/* ========== LINK ========== */

.kcearticle-link {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 18px;
  min-height: 86px;
  padding: clamp(20px, 2.4vw, 28px);
  color: inherit;
  text-decoration: none;
}

.kcearticle-title {
  min-width: 0;
  color: var(--ax-text, #0f172a);
  font-family: var(--ax-font-heading, inherit);
  font-size: clamp(1.05rem, 0.98rem + 0.3vw, 1.28rem);
  font-weight: 700;
  line-height: 1.32;
  letter-spacing: -0.02em;
  text-wrap: balance;
}

.kcearticle-arrow {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 38px;
  height: 38px;
  flex: 0 0 auto;
  color: #ffffff;
  background: var(--ax-accent, #7a5c2e);
  border-radius: var(--ax-radius-pill, 999px);
  font-size: 1.1rem;
  font-weight: 800;
  line-height: 1;
  transition:
    transform var(--ax-transition-fast, 0.2s ease),
    background-color var(--ax-transition-fast, 0.2s ease);
}

.kcearticle-link:hover .kcearticle-arrow,
.kcearticle-link:focus-visible .kcearticle-arrow {
  transform: translateX(3px);
  background: var(--ax-accent-hover, #654a22);
}

.kcearticle-link:focus-visible {
  outline: none;
  box-shadow: var(
    --ax-focus-ring,
    0 0 0 3px #ffffff,
    0 0 0 6px rgba(30, 64, 175, 0.95)
  );
}

/* ========== RESPONSIVE ========== */

@media (max-width: 900px) {
  .kcearticles-grid {
    grid-template-columns: 1fr;
    max-width: 760px;
    margin-left: auto;
    margin-right: auto;
  }
}

@media (max-width: 640px) {
  .kcearticles-section {
    padding-block: clamp(48px, 7vw, 72px);
  }

  .kcearticles-title {
    font-size: clamp(1.9rem, 9.5vw, 3rem);
    line-height: 1.12;
    letter-spacing: -0.038em;
  }

  .kcearticles-lead {
    font-size: 1rem;
    line-height: 1.68;
  }

  .kcearticle-link {
    min-height: 76px;
    padding: 20px;
  }

  .kcearticle-arrow {
    width: 34px;
    height: 34px;
  }
}

/* ========== REDUCED MOTION ========== */

@media (prefers-reduced-motion: reduce) {
  .kcearticle-card,
  .kcearticle-arrow {
    transition: none;
  }

  .kcearticle-card:hover,
  .kcearticle-link:hover .kcearticle-arrow,
  .kcearticle-link:focus-visible .kcearticle-arrow {
    transform: none;
  }
}
/* =========================================================
   KCEPROJECTS SECTION
   Проекты / Выполненные заказы
   Резиновая ширина, ограничение: 1360px
   ========================================================= */

.kceprojects-section,
.kceprojects-section * {
  box-sizing: border-box;
}

.kceprojects-section {
  position: relative;
  width: 100%;
  overflow: hidden;
  padding-block: clamp(72px, 8vw, 120px);
  color: var(--ax-text, #0f172a);
  background:
    radial-gradient(
      circle at 50% -10%,
      rgba(122, 92, 46, 0.1),
      transparent 40%
    ),
    linear-gradient(
      180deg,
      rgba(255, 255, 255, 0.94),
      rgba(248, 250, 252, 0.98)
    ),
    var(--ax-bg, #f8fafc);
}

.kceprojects-container {
  width: min(
    100% - var(--ax-gutter, clamp(20px, 4vw, 48px)),
    var(--ax-container-max, 1360px)
  );
  margin-inline: auto;
}

/* ========== HEAD ========== */

.kceprojects-head {
  max-width: 1140px;
  margin-inline: auto;
  text-align: center;
}

.kceprojects-kicker {
  display: block;
  width: fit-content;
  margin: 0 auto clamp(16px, 2vw, 22px);
  color: var(--ax-accent, #7a5c2e);
  font-size: var(--ax-f-xs, 0.78rem);
  font-weight: 800;
  line-height: 1.35;
  letter-spacing: 0.14em;
  text-align: center;
  text-transform: uppercase;
}

.kceprojects-title {
  max-width: 1080px;
  margin: 0 auto;
  color: var(--ax-text, #0f172a);
  font-family: var(--ax-font-heading, inherit);
  font-size: var(--ax-f-h2, clamp(2rem, 1.2rem + 3.15vw, 4.15rem));
  font-weight: 800;
  line-height: 1.1;
  letter-spacing: -0.045em;
  text-align: center;
  text-wrap: balance;
}

.kceprojects-lead {
  max-width: 860px;
  margin: clamp(18px, 2.4vw, 28px) auto 0;
  color: var(--ax-text-soft, #475569);
  font-size: var(--ax-f-lead, clamp(1.02rem, 0.96rem + 0.26vw, 1.18rem));
  line-height: 1.72;
  text-align: center;
  text-wrap: balance;
}

/* ========== CONTENT ========== */

.kceprojects-content {
  width: 100%;
  margin-top: clamp(42px, 5.8vw, 78px);
}

/*
  Мягкая сетка для элементов, которые выводит $MYINF_1$.
  Если внутри $MYINF_1$ уже есть своя сетка, эти стили не должны её ломать.
*/

.kceprojects-content:has(> article),
.kceprojects-content:has(> div) {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(20px, 2.5vw, 32px);
}

/* Базовое оформление прямых карточек, если $MYINF_1$ выводит простые div/article */

.kceprojects-content > article,
.kceprojects-content > div {
  min-width: 0;
}

/* Если у карточек нет своего оформления — аккуратно задаём внешний вид */

.kceprojects-content > article:not([class]),
.kceprojects-content > div:not([class]) {
  position: relative;
  overflow: hidden;
  background: var(--ax-panel, #ffffff);
  border: 1px solid var(--ax-border-soft, rgba(15, 23, 42, 0.06));
  border-radius: var(--ax-radius-lg, 24px);
  box-shadow: var(--ax-shadow-sm, 0 2px 8px rgba(15, 23, 42, 0.06));
}

/* ========== ACTIONS ========== */

.kceprojects-actions {
  display: flex;
  justify-content: center;
  margin-top: clamp(36px, 5vw, 64px);
  text-align: center;
}

.kceprojects-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  min-height: 54px;
  padding: 16px 28px;
  color: #ffffff;
  background: var(--ax-accent, #7a5c2e);
  border: 1px solid var(--ax-accent, #7a5c2e);
  border-radius: var(--ax-radius-pill, 999px);
  box-shadow: 0 16px 36px rgba(122, 92, 46, 0.24);
  font-family: var(--ax-font-body, inherit);
  font-size: 0.96rem;
  font-weight: 700;
  line-height: 1.2;
  text-align: center;
  text-decoration: none;
  white-space: normal;
  cursor: pointer;
  transition:
    color var(--ax-transition-fast, 0.2s ease),
    background-color var(--ax-transition-fast, 0.2s ease),
    border-color var(--ax-transition-fast, 0.2s ease),
    box-shadow var(--ax-transition, 0.35s ease),
    transform var(--ax-transition, 0.35s ease);
}

.kceprojects-btn:hover,
.kceprojects-btn:focus-visible {
  color: #ffffff;
  background: var(--ax-accent-hover, #654a22);
  border-color: var(--ax-accent-hover, #654a22);
  text-decoration: none;
  transform: translateY(-2px);
}

.kceprojects-btn:focus-visible {
  outline: none;
  box-shadow: var(
    --ax-focus-ring,
    0 0 0 3px #ffffff,
    0 0 0 6px rgba(30, 64, 175, 0.95)
  );
}

.kceprojects-btn-icon {
  display: inline-flex;
  line-height: 1;
  transition: transform var(--ax-transition-fast, 0.2s ease);
}

.kceprojects-btn:hover .kceprojects-btn-icon,
.kceprojects-btn:focus-visible .kceprojects-btn-icon {
  transform: translateX(3px);
}

/* ========== RESPONSIVE ========== */

@media (max-width: 1100px) {
  .kceprojects-content:has(> article),
  .kceprojects-content:has(> div) {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 720px) {
  .kceprojects-content:has(> article),
  .kceprojects-content:has(> div) {
    grid-template-columns: 1fr;
    max-width: 760px;
    margin-left: auto;
    margin-right: auto;
  }
}

@media (max-width: 640px) {
  .kceprojects-section {
    padding-block: clamp(48px, 7vw, 72px);
  }

  .kceprojects-title {
    font-size: clamp(1.9rem, 9.5vw, 3rem);
    line-height: 1.12;
    letter-spacing: -0.038em;
  }

  .kceprojects-lead {
    font-size: 1rem;
    line-height: 1.68;
  }

  .kceprojects-btn {
    width: 100%;
    max-width: 380px;
    min-height: 52px;
    padding: 15px 22px;
  }
}

/* ========== REDUCED MOTION ========== */

@media (prefers-reduced-motion: reduce) {
  .kceprojects-btn,
  .kceprojects-btn-icon {
    transition: none;
  }

  .kceprojects-btn:hover,
  .kceprojects-btn:focus-visible,
  .kceprojects-btn:hover .kceprojects-btn-icon,
  .kceprojects-btn:focus-visible .kceprojects-btn-icon {
    transform: none;
  }
}
/* =========================================================
   KCENEWS SECTION
   Новости
   Резиновая ширина, ограничение: 1360px
   ========================================================= */

.kcenews-section,
.kcenews-section * {
  box-sizing: border-box;
}

.kcenews-section {
  position: relative;
  width: 100%;
  overflow: hidden;
  padding-block: clamp(72px, 8vw, 120px);
  color: var(--ax-text, #0f172a);
  background:
    radial-gradient(
      circle at 50% -10%,
      rgba(122, 92, 46, 0.1),
      transparent 40%
    ),
    linear-gradient(
      180deg,
      rgba(255, 255, 255, 0.94),
      rgba(248, 250, 252, 0.98)
    ),
    var(--ax-bg, #f8fafc);
}

.kcenews-container {
  width: min(
    100% - var(--ax-gutter, clamp(20px, 4vw, 48px)),
    var(--ax-container-max, 1360px)
  );
  margin-inline: auto;
}

/* ========== HEAD ========== */

.kcenews-head {
  max-width: 1140px;
  margin-inline: auto;
  text-align: center;
}

.kcenews-kicker {
  display: block;
  width: fit-content;
  margin: 0 auto clamp(16px, 2vw, 22px);
  color: var(--ax-accent, #7a5c2e);
  font-size: var(--ax-f-xs, 0.78rem);
  font-weight: 800;
  line-height: 1.35;
  letter-spacing: 0.14em;
  text-align: center;
  text-transform: uppercase;
}

.kcenews-title {
  max-width: 1080px;
  margin: 0 auto;
  color: var(--ax-text, #0f172a);
  font-family: var(--ax-font-heading, inherit);
  font-size: var(--ax-f-h2, clamp(2rem, 1.2rem + 3.15vw, 4.15rem));
  font-weight: 800;
  line-height: 1.1;
  letter-spacing: -0.045em;
  text-align: center;
  text-wrap: balance;
}

.kcenews-lead {
  max-width: 860px;
  margin: clamp(18px, 2.4vw, 28px) auto 0;
  color: var(--ax-text-soft, #475569);
  font-size: var(--ax-f-lead, clamp(1.02rem, 0.96rem + 0.26vw, 1.18rem));
  line-height: 1.72;
  text-align: center;
  text-wrap: balance;
}

/* ========== CONTENT ========== */

.kcenews-content {
  width: 100%;
  margin-top: clamp(42px, 5.8vw, 78px);
}

.kcenews-carousel {
  width: 100%;
}

/*
  Если $MYINF_2$ выводит простые div/article — делаем аккуратную сетку.
  Если внутри уже есть owl-carousel или своя карусель, стили не должны ломать логику.
*/

.kcenews-carousel:not(.owl-loaded):has(> article),
.kcenews-carousel:not(.owl-loaded):has(> div) {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(20px, 2.5vw, 32px);
}

.kcenews-carousel > article,
.kcenews-carousel > div {
  min-width: 0;
}

/* Аккуратное оформление прямых элементов без собственных классов */

.kcenews-carousel > article:not([class]),
.kcenews-carousel > div:not([class]) {
  position: relative;
  overflow: hidden;
  background: var(--ax-panel, #ffffff);
  border: 1px solid var(--ax-border-soft, rgba(15, 23, 42, 0.06));
  border-radius: var(--ax-radius-lg, 24px);
  box-shadow: var(--ax-shadow-sm, 0 2px 8px rgba(15, 23, 42, 0.06));
}

/* ========== ACTIONS ========== */

.kcenews-actions {
  display: flex;
  justify-content: center;
  margin-top: clamp(36px, 5vw, 64px);
  text-align: center;
}

.kcenews-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  min-height: 54px;
  padding: 16px 28px;
  color: #ffffff;
  background: var(--ax-accent, #7a5c2e);
  border: 1px solid var(--ax-accent, #7a5c2e);
  border-radius: var(--ax-radius-pill, 999px);
  box-shadow: 0 16px 36px rgba(122, 92, 46, 0.24);
  font-family: var(--ax-font-body, inherit);
  font-size: 0.96rem;
  font-weight: 700;
  line-height: 1.2;
  text-align: center;
  text-decoration: none;
  white-space: normal;
  cursor: pointer;
  transition:
    color var(--ax-transition-fast, 0.2s ease),
    background-color var(--ax-transition-fast, 0.2s ease),
    border-color var(--ax-transition-fast, 0.2s ease),
    box-shadow var(--ax-transition, 0.35s ease),
    transform var(--ax-transition, 0.35s ease);
}

.kcenews-btn:hover,
.kcenews-btn:focus-visible {
  color: #ffffff;
  background: var(--ax-accent-hover, #654a22);
  border-color: var(--ax-accent-hover, #654a22);
  text-decoration: none;
  transform: translateY(-2px);
}

.kcenews-btn:focus-visible {
  outline: none;
  box-shadow: var(
    --ax-focus-ring,
    0 0 0 3px #ffffff,
    0 0 0 6px rgba(30, 64, 175, 0.95)
  );
}

.kcenews-btn-icon {
  display: inline-flex;
  line-height: 1;
  transition: transform var(--ax-transition-fast, 0.2s ease);
}

.kcenews-btn:hover .kcenews-btn-icon,
.kcenews-btn:focus-visible .kcenews-btn-icon {
  transform: translateX(3px);
}

/* ========== RESPONSIVE ========== */

@media (max-width: 1100px) {
  .kcenews-carousel:not(.owl-loaded):has(> article),
  .kcenews-carousel:not(.owl-loaded):has(> div) {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 720px) {
  .kcenews-carousel:not(.owl-loaded):has(> article),
  .kcenews-carousel:not(.owl-loaded):has(> div) {
    grid-template-columns: 1fr;
    max-width: 760px;
    margin-left: auto;
    margin-right: auto;
  }
}

@media (max-width: 640px) {
  .kcenews-section {
    padding-block: clamp(48px, 7vw, 72px);
  }

  .kcenews-title {
    font-size: clamp(1.9rem, 9.5vw, 3rem);
    line-height: 1.12;
    letter-spacing: -0.038em;
  }

  .kcenews-lead {
    font-size: 1rem;
    line-height: 1.68;
  }

  .kcenews-btn {
    width: 100%;
    max-width: 380px;
    min-height: 52px;
    padding: 15px 22px;
  }
}

/* ========== REDUCED MOTION ========== */

@media (prefers-reduced-motion: reduce) {
  .kcenews-btn,
  .kcenews-btn-icon {
    transition: none;
  }

  .kcenews-btn:hover,
  .kcenews-btn:focus-visible,
  .kcenews-btn:hover .kcenews-btn-icon,
  .kcenews-btn:focus-visible .kcenews-btn-icon {
    transform: none;
  }
}
/* =========================================================
   KCEFINAL SECTION
   Финальный CTA + контакты
   Резиновая ширина, ограничение: 1360px
   ========================================================= */

.kcefinal-section,
.kcefinal-section * {
  box-sizing: border-box;
}

.kcefinal-section {
  position: relative;
  width: 100%;
  overflow: hidden;
  padding-block: clamp(72px, 8vw, 120px);
  color: var(--ax-text, #0f172a);
  background:
    radial-gradient(
      circle at 50% -10%,
      rgba(122, 92, 46, 0.12),
      transparent 40%
    ),
    linear-gradient(
      180deg,
      rgba(248, 250, 252, 0.98),
      rgba(255, 255, 255, 0.96)
    ),
    var(--ax-bg, #f8fafc);
}

.kcefinal-container {
  width: min(
    100% - var(--ax-gutter, clamp(20px, 4vw, 48px)),
    var(--ax-container-max, 1360px)
  );
  margin-inline: auto;
}

/* ========== CARD ========== */

.kcefinal-card {
  position: relative;
  max-width: 1180px;
  margin-inline: auto;
  padding: clamp(28px, 4.5vw, 64px);
  overflow: hidden;
  text-align: center;
  background:
    radial-gradient(circle at 50% 0%, rgba(122, 92, 46, 0.14), transparent 38%),
    linear-gradient(
      180deg,
      rgba(255, 255, 255, 0.98),
      rgba(248, 250, 252, 0.96)
    ),
    var(--ax-panel, #ffffff);
  border: 1px solid var(--ax-accent-line, rgba(122, 92, 46, 0.18));
  border-radius: var(--ax-radius-xl, 32px);
  box-shadow:
    0 30px 90px rgba(122, 92, 46, 0.12),
    var(--ax-shadow-lg, 0 20px 32px rgba(15, 23, 42, 0.12));
  isolation: isolate;
}

.kcefinal-card::before {
  content: "";
  position: absolute;
  top: 0;
  left: clamp(28px, 4vw, 64px);
  right: clamp(28px, 4vw, 64px);
  height: 4px;
  border-radius: var(--ax-radius-pill, 999px);
  background: linear-gradient(
    90deg,
    rgba(122, 92, 46, 0.18),
    var(--ax-accent, #7a5c2e),
    rgba(122, 92, 46, 0.18)
  );
  pointer-events: none;
}

.kcefinal-card::after {
  content: "";
  position: absolute;
  right: -120px;
  bottom: -120px;
  z-index: -1;
  width: 280px;
  height: 280px;
  border-radius: 50%;
  background: rgba(122, 92, 46, 0.08);
  pointer-events: none;
}

/* ========== TEXT ========== */

.kcefinal-kicker {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: fit-content;
  max-width: 100%;
  margin: 0 auto clamp(18px, 2.4vw, 26px);
  padding: 8px 14px;
  color: var(--ax-accent, #7a5c2e);
  background: var(--ax-accent-soft, rgba(122, 92, 46, 0.06));
  border: 1px solid var(--ax-accent-line, rgba(122, 92, 46, 0.18));
  border-radius: var(--ax-radius-pill, 999px);
  font-size: var(--ax-f-xs, 0.78rem);
  font-weight: 800;
  line-height: 1.3;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.kcefinal-title {
  max-width: 980px;
  margin: 0 auto;
  color: var(--ax-text, #0f172a);
  font-family: var(--ax-font-heading, inherit);
  font-size: clamp(2rem, 1.2rem + 3.15vw, 4.15rem);
  font-weight: 800;
  line-height: 1.08;
  letter-spacing: -0.045em;
  text-align: center;
  text-wrap: balance;
}

.kcefinal-title span {
  display: block;
  max-width: 840px;
  margin: clamp(12px, 1.8vw, 18px) auto 0;
  color: var(--ax-accent, #7a5c2e);
  font-size: 0.46em;
  font-weight: 700;
  line-height: 1.28;
  letter-spacing: -0.02em;
}

.kcefinal-content {
  display: grid;
  gap: 16px;
  max-width: 920px;
  margin: clamp(24px, 3vw, 36px) auto 0;
  color: var(--ax-text-soft, #475569);
  font-size: clamp(1rem, 0.96rem + 0.16vw, 1.08rem);
  line-height: 1.78;
  text-align: left;
}

.kcefinal-content strong {
  color: var(--ax-text, #0f172a);
}

/* ========== FEATURES ========== */

.kcefinal-features {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 10px;
  max-width: 980px;
  margin: clamp(26px, 3.5vw, 42px) auto 0;
}

.kcefinal-features span {
  display: inline-flex;
  align-items: center;
  min-height: 34px;
  padding: 8px 13px;
  color: var(--ax-accent, #7a5c2e);
  background: rgba(255, 255, 255, 0.72);
  border: 1px solid var(--ax-accent-line, rgba(122, 92, 46, 0.18));
  border-radius: var(--ax-radius-pill, 999px);
  font-size: 0.9rem;
  font-weight: 700;
  line-height: 1.2;
}

/* ========== ACTIONS ========== */

.kcefinal-actions {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
  max-width: 980px;
  margin: clamp(30px, 4vw, 48px) auto 0;
}

.kcefinal-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  min-height: 54px;
  padding: 16px 22px;
  border: 1px solid transparent;
  border-radius: var(--ax-radius-pill, 999px);
  font-family: var(--ax-font-body, inherit);
  font-size: 0.96rem;
  font-weight: 800;
  line-height: 1.2;
  text-align: center;
  text-decoration: none;
  white-space: normal;
  cursor: pointer;
  appearance: none;
  transition:
    color var(--ax-transition-fast, 0.2s ease),
    background-color var(--ax-transition-fast, 0.2s ease),
    border-color var(--ax-transition-fast, 0.2s ease),
    box-shadow var(--ax-transition, 0.35s ease),
    transform var(--ax-transition, 0.35s ease);
}

.kcefinal-btn:hover {
  text-decoration: none;
  transform: translateY(-2px);
}

.kcefinal-btn:focus-visible {
  outline: none;
  box-shadow: var(
    --ax-focus-ring,
    0 0 0 3px #ffffff,
    0 0 0 6px rgba(30, 64, 175, 0.95)
  );
}

.kcefinal-btn-icon {
  flex: 0 0 auto;
  line-height: 1;
}

.kcefinal-btn--primary {
  color: #ffffff;
  background: var(--ax-accent, #7a5c2e);
  border-color: var(--ax-accent, #7a5c2e);
  box-shadow: 0 16px 36px rgba(122, 92, 46, 0.24);
}

.kcefinal-btn--primary:hover,
.kcefinal-btn--primary:focus-visible {
  color: #ffffff;
  background: var(--ax-accent-hover, #654a22);
  border-color: var(--ax-accent-hover, #654a22);
}

.kcefinal-btn--dark {
  color: #ffffff;
  background: var(--ax-text, #0f172a);
  border-color: var(--ax-text, #0f172a);
  box-shadow: 0 16px 36px rgba(15, 23, 42, 0.18);
}

.kcefinal-btn--dark:hover,
.kcefinal-btn--dark:focus-visible {
  color: #ffffff;
  background: #020617;
  border-color: #020617;
}

.kcefinal-btn--outline {
  color: var(--ax-accent, #7a5c2e);
  background: rgba(255, 255, 255, 0.68);
  border-color: var(--ax-accent-line, rgba(122, 92, 46, 0.18));
  box-shadow: none;
}

.kcefinal-btn--outline:hover,
.kcefinal-btn--outline:focus-visible {
  color: var(--ax-text, #0f172a);
  background: var(--ax-accent-soft, rgba(122, 92, 46, 0.06));
  border-color: var(--ax-accent, #7a5c2e);
}

/* ========== FOOTER ========== */

.kcefinal-footer {
  display: grid;
  gap: 10px;
  max-width: 980px;
  margin: clamp(28px, 3.6vw, 44px) auto 0;
  padding-top: clamp(22px, 3vw, 34px);
  border-top: 1px solid var(--ax-border-soft, rgba(15, 23, 42, 0.06));
}

.kcefinal-meta,
.kcefinal-schedule {
  margin: 0;
  color: var(--ax-text-soft, #475569);
  font-size: var(--ax-f-sm, 0.92rem);
  line-height: 1.65;
  text-align: center;
}

.kcefinal-schedule strong {
  color: var(--ax-text, #0f172a);
}

.kcefinal-schedule span {
  display: block;
  margin-top: 4px;
  color: var(--ax-accent, #7a5c2e);
  font-weight: 700;
}

/* ========== RESPONSIVE ========== */

@media (max-width: 1100px) {
  .kcefinal-actions {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    max-width: 720px;
  }
}

@media (max-width: 760px) {
  .kcefinal-content {
    text-align: left;
  }
}

@media (max-width: 640px) {
  .kcefinal-section {
    padding-block: clamp(48px, 7vw, 72px);
  }

  .kcefinal-card {
    padding: 28px 20px;
    border-radius: var(--ax-radius-lg, 24px);
  }

  .kcefinal-kicker {
    width: 100%;
    border-radius: 18px;
    letter-spacing: 0.06em;
  }

  .kcefinal-title {
    font-size: clamp(1.9rem, 9.5vw, 3rem);
    line-height: 1.12;
    letter-spacing: -0.038em;
  }

  .kcefinal-title span {
    font-size: 0.5em;
  }

  .kcefinal-content {
    font-size: 1rem;
    line-height: 1.68;
  }

  .kcefinal-features {
    justify-content: flex-start;
  }

  .kcefinal-features span {
    width: 100%;
    justify-content: center;
  }

  .kcefinal-actions {
    grid-template-columns: 1fr;
    max-width: 380px;
  }

  .kcefinal-btn {
    width: 100%;
    min-height: 52px;
    padding: 15px 22px;
  }
}

/* ========== REDUCED MOTION ========== */

@media (prefers-reduced-motion: reduce) {
  .kcefinal-btn {
    transition: none;
  }

  .kcefinal-btn:hover {
    transform: none;
  }
}

/* ==========================================================
   AX PREMIUM DESIGN SYSTEM — FINAL CLEAN MASTER
   Version: 2.1
   ========================================================== */

/* ==========================================================
   1. FONTS
   ========================================================== */

/* ==========================================================
   2. ROOT TOKENS
   ========================================================== */

:root {
  /* Layout */
  --ax-container-max: 1360px;
  --ax-container-wide: 1440px;
  --ax-container-narrow: 960px;
  --ax-gutter: clamp(20px, 4vw, 48px);

  --ax-section-y: clamp(72px, 8vw, 120px);
  --ax-section-y-sm: clamp(48px, 5vw, 72px);
  --ax-section-y-lg: clamp(96px, 10vw, 160px);

  /* Spacing */
  --ax-space-0: 0;
  --ax-space-1: 4px;
  --ax-space-2: 8px;
  --ax-space-3: 12px;
  --ax-space-4: 16px;
  --ax-space-5: 20px;
  --ax-space-6: 24px;
  --ax-space-7: 28px;
  --ax-space-8: 32px;
  --ax-space-9: 40px;
  --ax-space-10: 48px;
  --ax-space-11: 56px;
  --ax-space-12: 64px;

  /* Colors */
  --ax-bg: #f8fafc;
  --ax-bg-elevated: #ffffff;

  --ax-panel: #ffffff;
  --ax-panel-soft: #f1f5f9;
  --ax-panel-subtle: #f8fafc;
  --ax-panel-strong: #e2e8f0;

  --ax-text: #0f172a;
  --ax-text-soft: #475569;
  --ax-text-muted: #64748b;
  --ax-text-inverse: #ffffff;

  --ax-primary: #1e40af;
  --ax-primary-hover: #1d3b99;
  --ax-primary-active: #172554;
  --ax-primary-soft: rgba(30, 64, 175, 0.08);
  --ax-primary-line: rgba(30, 64, 175, 0.16);

  --ax-accent: #7a5c2e;
  --ax-accent-hover: #654a22;
  --ax-accent-active: #4f3919;
  --ax-accent-soft: rgba(122, 92, 46, 0.06);
  --ax-accent-line: rgba(122, 92, 46, 0.18);

  --ax-success: #15803d;
  --ax-success-soft: rgba(21, 128, 61, 0.08);

  --ax-warning: #b45309;
  --ax-warning-soft: rgba(180, 83, 9, 0.08);

  --ax-danger: #b91c1c;
  --ax-danger-soft: rgba(185, 28, 28, 0.08);

  --ax-border-soft: rgba(15, 23, 42, 0.06);
  --ax-border-mid: rgba(15, 23, 42, 0.12);
  --ax-border-strong: rgba(15, 23, 42, 0.18);

  /* Shadows */
  --ax-shadow-xs: 0 1px 2px rgba(15, 23, 42, 0.04);
  --ax-shadow-sm:
    0 2px 8px -2px rgba(15, 23, 42, 0.05),
    0 4px 12px -1px rgba(15, 23, 42, 0.03);
  --ax-shadow-md:
    0 12px 20px -8px rgba(15, 23, 42, 0.08),
    0 4px 12px -2px rgba(15, 23, 42, 0.03);
  --ax-shadow-lg:
    0 20px 32px -12px rgba(15, 23, 42, 0.12),
    0 8px 16px -4px rgba(15, 23, 42, 0.04);
  --ax-shadow-xl:
    0 28px 60px -18px rgba(15, 23, 42, 0.18),
    0 12px 24px -8px rgba(15, 23, 42, 0.06);

  --ax-focus-ring: 0 0 0 3px #ffffff, 0 0 0 6px rgba(30, 64, 175, 0.95);

  /* Radius */
  --ax-radius-xs: 8px;
  --ax-radius-sm: 10px;
  --ax-radius-md: 14px;
  --ax-radius-card: 18px;
  --ax-radius-lg: 24px;
  --ax-radius-xl: 32px;
  --ax-radius-pill: 999px;

  /* Typography */
  --ax-font-body: "Montserrat", "Inter", sans-serif;
  --ax-font-heading: "Montserrat", "Inter", sans-serif;

  --ax-f-xs: clamp(0.72rem, 0.68rem + 0.1vw, 0.8rem);
  --ax-f-sm: clamp(0.82rem, 0.78rem + 0.12vw, 0.92rem);
  --ax-f-body: clamp(15px, 0.9rem + 0.15vw, 17px);
  --ax-f-lead: clamp(1rem, 0.95rem + 0.3vw, 1.125rem);

  --ax-f-h1: clamp(2.2rem, 1.55rem + 2.4vw, 4.2rem);
  --ax-f-h2: clamp(1.8rem, 1.35rem + 1.5vw, 2.8rem);
  --ax-f-h3: clamp(1.25rem, 1.1rem + 0.6vw, 1.7rem);
  --ax-f-h4: clamp(1.05rem, 1rem + 0.35vw, 1.2rem);

  --ax-lh-tight: 1.08;
  --ax-lh-heading: 1.18;
  --ax-lh-body: 1.68;
  --ax-lh-relaxed: 1.8;

  /* Motion */
  --ax-ease: cubic-bezier(0.16, 1, 0.3, 1);
  --ax-transition-fast: 0.2s var(--ax-ease);
  --ax-transition: 0.35s var(--ax-ease);
  --ax-transition-slow: 0.5s var(--ax-ease);

  /* Compatibility tokens for CE sections */
  --ax-accent-dark: #654a22;
  --ax-border: rgba(122, 92, 46, 0.28);
  --ax-border-hover: rgba(122, 92, 46, 0.22);
  --ax-link-hover: var(--ax-text);
  --ax-shadow: 0 18px 44px rgba(15, 23, 42, 0.08);
  --ax-shadow-hover: 0 24px 64px rgba(15, 23, 42, 0.12);
  --ax-shadow-image: 0 28px 76px rgba(15, 23, 42, 0.16);
  --ax-focus: rgba(122, 92, 46, 0.35);
  --ax-ease-soft: 0.28s var(--ax-ease);
  --ax-note-size: 1rem;
}

/* ==========================================================
   3. RESET
   ========================================================== */

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

html {
  -webkit-text-size-adjust: 100%;
  scroll-behavior: smooth;
}

body,
h1,
h2,
h3,
h4,
p,
ul,
ol,
dl,
dd,
figure,
blockquote {
  margin: 0;
}

ul[role="list"],
ol[role="list"] {
  list-style: none;
}

body {
  min-height: 100vh;
  background: var(--ax-bg);
  color: var(--ax-text);
  font-family: var(--ax-font-body);
  font-size: var(--ax-f-body);
  line-height: var(--ax-lh-body);
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

img,
picture,
svg,
video,
canvas {
  display: block;
  max-width: 100%;
}

img {
  height: auto;
}

input,
button,
textarea,
select {
  font: inherit;
}

button,
a {
  touch-action: manipulation;
}

a {
  color: inherit;
  text-decoration: none;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

:target {
  scroll-margin-top: 32px;
}

/* ==========================================================
   4. ACCESSIBILITY
   ========================================================== */

.skip-link {
  position: absolute;
  top: -120%;
  left: 16px;
  z-index: 10000;
  padding: 12px 20px;
  background: #ffffff;
  color: #020304;
  font-weight: 700;
  border-radius: 0 0 10px 10px;
  transition: top var(--ax-transition-fast);
}

.skip-link:focus {
  top: 0;
}

:focus-visible {
  outline: none;
  box-shadow: var(--ax-focus-ring);
  border-radius: 8px;
}

@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }

  *,
  *::before,
  *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }
}

/* ==========================================================
   5. LAYOUT
   ========================================================== */

.ax-container {
  width: min(100% - var(--ax-gutter), var(--ax-container-max));
  margin-inline: auto;
}

.ax-container--wide {
  width: min(100% - clamp(20px, 3vw, 40px), var(--ax-container-wide));
  margin-inline: auto;
}

.ax-container--narrow {
  width: min(100% - var(--ax-gutter), var(--ax-container-narrow));
  margin-inline: auto;
}

.ax-section {
  position: relative;
  padding-block: var(--ax-section-y);
}

.ax-section--sm {
  padding-block: var(--ax-section-y-sm);
}

.ax-section--lg {
  padding-block: var(--ax-section-y-lg);
}

.ax-section--pt-0 {
  padding-top: 0;
}

.ax-section--pb-0 {
  padding-bottom: 0;
}

.ax-section--panel {
  background: var(--ax-panel);
}

.ax-section--soft {
  background: var(--ax-panel-soft);
}

.ax-section--accent-soft {
  background: linear-gradient(
    180deg,
    var(--ax-accent-soft) 0%,
    rgba(255, 255, 255, 0) 100%
  );
}

.ax-section--screen {
  display: flex;
  align-items: center;
  min-height: 100svh;
}

.ax-stack {
  display: flex;
  flex-direction: column;
  gap: clamp(20px, 2vw, 32px);
}

.ax-stack--sm {
  gap: 16px;
}

.ax-stack--lg {
  gap: 40px;
}

.ax-row {
  display: flex;
  flex-wrap: wrap;
  gap: clamp(16px, 2vw, 28px);
}

.ax-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 340px), 1fr));
  gap: clamp(20px, 2.5vw, 32px);
  container-type: inline-size;
}

.ax-grid--sm {
  gap: 20px;
}

.ax-grid--lg {
  gap: 40px;
}

.ax-grid-2,
.ax-grid-3,
.ax-grid-4 {
  display: grid;
  gap: clamp(20px, 2.5vw, 32px);
}

.ax-grid-2 {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.ax-grid-3 {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.ax-grid-4 {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

@media (max-width: 1100px) {
  .ax-grid-4,
  .ax-grid-3 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 720px) {
  .ax-grid-2,
  .ax-grid-3,
  .ax-grid-4 {
    grid-template-columns: 1fr;
  }
}

/* ==========================================================
   6. TYPOGRAPHY
   ========================================================== */

.ax-super-title,
.ax-kicker {
  font-family: var(--ax-font-heading);
  font-size: var(--ax-f-xs);
  font-weight: 800;
  line-height: 1.35;
  text-transform: uppercase;
  letter-spacing: 0.16em;
  color: var(--ax-accent);
}

.ax-title-main,
.ax-h1 {
  font-family: var(--ax-font-heading);
  font-size: var(--ax-f-h1);
  font-weight: 800;
  line-height: var(--ax-lh-tight);
  letter-spacing: -0.045em;
  color: var(--ax-text);
  text-wrap: balance;
}

.ax-title,
.ax-h2 {
  font-family: var(--ax-font-heading);
  font-size: var(--ax-f-h2);
  font-weight: 800;
  line-height: var(--ax-lh-heading);
  letter-spacing: -0.03em;
  color: var(--ax-text);
  text-wrap: balance;
}

.ax-h3,
.ax-card-title {
  font-family: var(--ax-font-heading);
  font-size: var(--ax-f-h3);
  font-weight: 700;
  line-height: 1.24;
  letter-spacing: -0.02em;
  color: var(--ax-text);
  text-wrap: balance;
}

.ax-h4 {
  font-family: var(--ax-font-heading);
  font-size: var(--ax-f-h4);
  font-weight: 700;
  line-height: 1.3;
  color: var(--ax-text);
}

.ax-lead,
.ax-subtitle,
.ax-title-sub,
.ax-subtitle-main {
  font-size: var(--ax-f-lead);
  color: var(--ax-text-soft);
  line-height: 1.75;
  text-wrap: balance;
}

.ax-text {
  color: var(--ax-text);
}

.ax-text-soft {
  color: var(--ax-text-soft);
}

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

.ax-head,
.ax-header-group {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 12px;
  max-width: 1140px;
  margin: 0 auto clamp(40px, 6vw, 64px);
  text-align: center;
}

.ax-heading {
  display: grid;
  gap: clamp(16px, 2vw, 22px);
  justify-items: center;
}

.ax-head .ax-title-main,
.ax-head .ax-title,
.ax-header-group > .ax-title-main,
.ax-header-group > .ax-h2 {
  max-width: 24ch;
}

.ax-head .ax-title-sub,
.ax-head .ax-subtitle,
.ax-header-group > .ax-subtitle-main,
.ax-header-group > .ax-lead {
  max-width: 62ch;
}

.ax-prose {
  color: var(--ax-text-soft);
  line-height: var(--ax-lh-relaxed);
}

.ax-prose > * + * {
  margin-top: 1em;
}

.ax-prose h2,
.ax-prose h3,
.ax-prose h4 {
  margin-top: 1.5em;
  margin-bottom: 0.5em;
  color: var(--ax-text);
  line-height: 1.25;
}

.ax-prose ul,
.ax-prose ol {
  padding-left: 1.2em;
}

.ax-prose li + li {
  margin-top: 0.4em;
}

.ax-prose strong {
  color: var(--ax-text);
}

/* ==========================================================
   7. BADGES
   ========================================================== */

.ax-badge,
.ax-pill,
.ax-card-tag,
.ax-card__badge {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  align-self: flex-start;
  min-height: 32px;
  padding: 4px 12px;
  color: var(--ax-accent);
  background: var(--ax-accent-soft);
  border: 1px solid var(--ax-accent-line);
  border-radius: var(--ax-radius-pill);
  font-size: var(--ax-f-xs);
  font-weight: 700;
  line-height: 1;
}

.ax-badge--primary {
  color: var(--ax-primary);
  background: var(--ax-primary-soft);
  border-color: var(--ax-primary-line);
}

.ax-badge--success {
  color: var(--ax-success);
  background: var(--ax-success-soft);
  border-color: rgba(21, 128, 61, 0.18);
}

/* ==========================================================
   8. BUTTONS
   ========================================================== */

.ax-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  min-height: 50px;
  padding: 12px 22px;
  border: 1px solid transparent;
  border-radius: 12px;
  background: transparent;
  font-family: var(--ax-font-body);
  font-size: 15px;
  font-weight: 600;
  line-height: 1;
  white-space: nowrap;
  cursor: pointer;
  transition:
    transform var(--ax-transition),
    background-color var(--ax-transition),
    color var(--ax-transition),
    border-color var(--ax-transition),
    box-shadow var(--ax-transition),
    opacity var(--ax-transition-fast);
}

.ax-btn:hover {
  transform: translateY(-1px);
}

.ax-btn:active {
  transform: translateY(0);
}

.ax-btn:focus-visible {
  outline: none;
  box-shadow: var(--ax-focus-ring);
}

.ax-btn:disabled,
.ax-btn[aria-disabled="true"] {
  opacity: 0.55;
  pointer-events: none;
}

/* Primary aliases */
.ax-btn-primary,
.ax-btn--primary {
  color: var(--ax-text-inverse);
  background: var(--ax-primary);
  border-color: var(--ax-primary);
  box-shadow: var(--ax-shadow-sm);
}

.ax-btn-primary:hover,
.ax-btn--primary:hover {
  background: var(--ax-primary-hover);
  border-color: var(--ax-primary-hover);
  box-shadow: var(--ax-shadow-md);
}

/* Dark aliases */
.ax-btn-dark,
.ax-btn--dark {
  color: #ffffff;
  background: var(--ax-text);
  border-color: var(--ax-text);
  box-shadow: var(--ax-shadow-sm);
}

.ax-btn-dark:hover,
.ax-btn--dark:hover {
  background: #020617;
  border-color: #020617;
  box-shadow: var(--ax-shadow-md);
}

/* Secondary / outline aliases */
.ax-btn-secondary,
.ax-btn--outline {
  color: var(--ax-accent);
  background: #ffffff;
  border-color: var(--ax-accent-line);
}

.ax-btn-secondary:hover,
.ax-btn--outline:hover {
  background: var(--ax-accent-soft);
  border-color: var(--ax-accent);
}

.ax-btn-ghost {
  color: var(--ax-text);
  background: transparent;
  border-color: var(--ax-border-soft);
}

.ax-btn-ghost:hover {
  background: rgba(15, 23, 42, 0.03);
  border-color: var(--ax-border-mid);
}

.ax-btn-block {
  width: 100%;
}

.ax-btn-group,
.ax-actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 12px;
}

/* ==========================================================
   9. CARD SYSTEM
   ========================================================== */

.ax-card {
  position: relative;
  display: flex;
  flex-direction: column;
  min-width: 0;
  height: 100%;
  padding: clamp(24px, 3vw, 36px);
  overflow: hidden;
  background: var(--ax-panel);
  border: 1px solid var(--ax-border-soft);
  border-radius: var(--ax-radius-card);
  box-shadow: var(--ax-shadow-sm);
  transition:
    transform var(--ax-transition),
    box-shadow var(--ax-transition),
    border-color var(--ax-transition),
    background-color var(--ax-transition);
}

.ax-card::after {
  content: "";
  position: absolute;
  inset: 0 0 auto;
  height: 4px;
  background: var(--ax-accent);
  opacity: 0;
  transition: opacity var(--ax-transition);
}

.ax-card:hover {
  transform: translateY(-4px);
  border-color: var(--ax-border-mid);
  box-shadow: var(--ax-shadow-lg);
}

.ax-card:hover::after {
  opacity: 1;
}

.ax-card--accent {
  border-color: var(--ax-accent-line);
  background:
    radial-gradient(circle at 18% 0%, rgba(122, 92, 46, 0.08), transparent 36%),
    var(--ax-panel);
}

.ax-card-body {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.ax-card-head {
  display: flex;
  align-items: flex-start;
  gap: 16px;
}

.ax-card-footer {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 12px;
  margin-top: 24px;
  padding-top: 20px;
  border-top: 1px solid var(--ax-border-soft);
}

.ax-card-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 52px;
  height: 52px;
  flex: 0 0 52px;
  color: var(--ax-accent);
  background: var(--ax-accent-soft);
  border: 1px solid var(--ax-accent-line);
  border-radius: 14px;
  font-size: 1.25rem;
}

.ax-card-title {
  margin: 0;
}

.ax-card-text {
  color: var(--ax-text-soft);
  line-height: 1.7;
}

.ax-card-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 14px;
  color: var(--ax-text-muted);
  font-size: var(--ax-f-sm);
}

.ax-card-link,
.ax-link {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  width: fit-content;
  color: var(--ax-primary);
  font-weight: 600;
}

.ax-card-link:hover,
.ax-link:hover {
  color: var(--ax-primary-hover);
}

.ax-card__list,
.ax-card-list {
  display: grid;
  gap: 10px;
  margin: 16px 0 0;
  padding: 0;
  list-style: none;
}

.ax-card__list li,
.ax-card-list li {
  position: relative;
  padding-left: 22px;
  color: var(--ax-text-soft);
  line-height: 1.6;
}

.ax-card__list li::before,
.ax-card-list li::before {
  content: "";
  position: absolute;
  top: 0.72em;
  left: 0;
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--ax-accent);
  transform: translateY(-50%);
}

.ax-card-subtitle {
  color: var(--ax-text);
  font-weight: 700;
}

.ax-card-group {
  display: grid;
  gap: 16px;
  margin-top: 20px;
}

/* ==========================================================
   10. PANELS
   ========================================================== */

.ax-panel {
  background: var(--ax-panel);
  border: 1px solid var(--ax-border-soft);
  border-radius: var(--ax-radius-lg);
  box-shadow: var(--ax-shadow-sm);
}

.ax-panel--soft {
  background: var(--ax-panel-soft);
}

.ax-panel--padded {
  padding: clamp(24px, 3vw, 40px);
}

/* ==========================================================
   11. NOTES
   ========================================================== */

.ax-note {
  max-width: 980px;
  margin: clamp(32px, 4vw, 48px) auto 0;
  color: var(--ax-text-soft);
  font-size: var(--ax-f-body);
  line-height: 1.68;
  text-align: center;
}

.ax-note strong {
  color: var(--ax-text);
}

/* ==========================================================
   12. MEDIA
   ========================================================== */

.ax-media {
  position: relative;
  overflow: hidden;
  background: var(--ax-panel-soft);
  border-radius: var(--ax-radius-lg);
}

.ax-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.ax-media--ratio-16x9 {
  aspect-ratio: 16 / 9;
}

.ax-media--ratio-4x3 {
  aspect-ratio: 4 / 3;
}

.ax-media--ratio-1x1 {
  aspect-ratio: 1 / 1;
}

/* ==========================================================
   13. FORMS
   ========================================================== */

.ax-form {
  display: grid;
  gap: 18px;
}

.ax-field {
  display: grid;
  gap: 8px;
}

.ax-label {
  color: var(--ax-text);
  font-size: var(--ax-f-sm);
  font-weight: 600;
}

.ax-input,
.ax-textarea,
.ax-select {
  width: 100%;
  min-height: 50px;
  padding: 12px 14px;
  color: var(--ax-text);
  background: #ffffff;
  border: 1px solid var(--ax-border-mid);
  border-radius: 12px;
  transition:
    border-color var(--ax-transition-fast),
    box-shadow var(--ax-transition-fast),
    background-color var(--ax-transition-fast);
}

.ax-textarea {
  min-height: 140px;
  resize: vertical;
}

.ax-input::placeholder,
.ax-textarea::placeholder {
  color: var(--ax-text-muted);
}

.ax-input:hover,
.ax-textarea:hover,
.ax-select:hover {
  border-color: var(--ax-border-strong);
}

.ax-input:focus,
.ax-textarea:focus,
.ax-select:focus {
  outline: none;
  border-color: var(--ax-primary);
  box-shadow: var(--ax-focus-ring);
}

.ax-help {
  color: var(--ax-text-muted);
  font-size: var(--ax-f-xs);
}

.ax-error {
  color: var(--ax-danger);
  font-size: var(--ax-f-xs);
}

/* ==========================================================
   14. TABLES
   ========================================================== */

.ax-table-wrap {
  overflow-x: auto;
  background: var(--ax-panel);
  border: 1px solid var(--ax-border-soft);
  border-radius: var(--ax-radius-md);
  box-shadow: var(--ax-shadow-xs);
}

.ax-table {
  width: 100%;
  min-width: 680px;
}

.ax-table th,
.ax-table td {
  padding: 14px 16px;
  text-align: left;
  border-bottom: 1px solid var(--ax-border-soft);
}

.ax-table th {
  color: var(--ax-text);
  font-weight: 700;
  background: var(--ax-panel-soft);
}

.ax-table td {
  color: var(--ax-text-soft);
}

.ax-table tr:last-child td {
  border-bottom: 0;
}

/* ==========================================================
   15. UTILITIES
   ========================================================== */

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

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

.ax-mx-auto {
  margin-inline: auto;
}

.ax-w-full {
  width: 100%;
}

.ax-h-full {
  height: 100%;
}

.ax-rounded {
  border-radius: var(--ax-radius-card);
}

.ax-shadow-sm {
  box-shadow: var(--ax-shadow-sm);
}

.ax-shadow-md {
  box-shadow: var(--ax-shadow-md);
}

.ax-shadow-lg {
  box-shadow: var(--ax-shadow-lg);
}

.ax-border {
  border: 1px solid var(--ax-border-soft);
}

.ax-bg-panel {
  background: var(--ax-panel);
}

.ax-bg-soft {
  background: var(--ax-panel-soft);
}

/* ==========================================================
   16. SAFE AREA SUPPORT
   ========================================================== */

@supports (padding: env(safe-area-inset-bottom)) {
  body {
    padding-bottom: env(safe-area-inset-bottom);
  }
}

/* ==========================================================
   17. KCEF + KCEV FINAL SECTIONS
   Formats + Video
   Fluid layout, max-width: 1360px
   ========================================================== */

/* ==========================================================
   COMMON SECTION BASE
   ========================================================== */

#formats.kcef-section,
#video.kcev-section,
#formats.kcef-section *,
#video.kcev-section * {
  box-sizing: border-box;
}

#formats.kcef-section,
#video.kcev-section {
  display: block;
  position: relative;
  width: 100%;
  overflow: hidden;
  padding-block: clamp(72px, 8vw, 120px);
  color: var(--ax-text, #0f172a);
  background:
    radial-gradient(
      circle at 50% -10%,
      rgba(122, 92, 46, 0.1),
      transparent 40%
    ),
    linear-gradient(
      180deg,
      rgba(255, 255, 255, 0.94),
      rgba(248, 250, 252, 0.98)
    ),
    var(--ax-bg, #f8fafc);
}

.kcef-container,
.kcev-container {
  width: min(
    100% - var(--ax-gutter, clamp(20px, 4vw, 48px)),
    var(--ax-container-max, 1360px)
  );
  margin-inline: auto;
}

.kcef-head,
.kcev-head {
  max-width: 1140px;
  margin-inline: auto;
  text-align: center;
}

.kcef-kicker,
.kcev-kicker {
  display: block;
  width: fit-content;
  margin: 0 auto clamp(16px, 2vw, 22px);
  color: var(--ax-accent, #7a5c2e);
  font-size: var(--ax-f-xs, 0.78rem);
  font-weight: 800;
  line-height: 1.35;
  letter-spacing: 0.14em;
  text-align: center;
  text-transform: uppercase;
}

.kcef-title,
.kcev-title {
  max-width: 1080px;
  margin: 0 auto;
  color: var(--ax-text, #0f172a);
  font-family: var(--ax-font-heading, inherit);
  font-size: var(--ax-f-h2, clamp(2rem, 1.2rem + 3.15vw, 4.15rem));
  font-weight: 800;
  line-height: 1.1;
  letter-spacing: -0.045em;
  text-align: center;
  text-wrap: balance;
}

.kcef-lead,
.kcev-lead {
  max-width: 980px;
  margin: clamp(20px, 2.6vw, 30px) auto 0;
  color: var(--ax-text-soft, #475569);
  font-size: var(--ax-f-lead, clamp(1.02rem, 0.96rem + 0.26vw, 1.18rem));
  line-height: 1.72;
  text-align: center;
  text-wrap: balance;
}

/* ==========================================================
   FORMATS SECTION
   ========================================================== */

.kcef-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(20px, 2.5vw, 32px);
  margin-top: clamp(42px, 5.8vw, 78px);
}

.kcef-card {
  position: relative;
  display: flex;
  flex-direction: column;
  min-width: 0;
  height: 100%;
  padding: clamp(24px, 3vw, 36px);
  overflow: hidden;
  background: var(--ax-panel, #ffffff);
  border: 1px solid var(--ax-border-soft, rgba(15, 23, 42, 0.06));
  border-radius: var(--ax-radius-lg, 24px);
  box-shadow: var(--ax-shadow-sm, 0 2px 8px rgba(15, 23, 42, 0.06));
  isolation: isolate;
  transition:
    transform var(--ax-transition, 0.35s ease),
    box-shadow var(--ax-transition, 0.35s ease),
    border-color var(--ax-transition, 0.35s ease);
}

.kcef-card::before {
  content: "";
  position: absolute;
  top: 0;
  left: clamp(24px, 3vw, 36px);
  right: clamp(24px, 3vw, 36px);
  height: 4px;
  border-radius: var(--ax-radius-pill, 999px);
  background: linear-gradient(
    90deg,
    var(--ax-accent, #7a5c2e),
    rgba(122, 92, 46, 0.16)
  );
  pointer-events: none;
}

.kcef-card:hover {
  transform: translateY(-6px);
  border-color: var(--ax-border-mid, rgba(15, 23, 42, 0.12));
  box-shadow: var(--ax-shadow-lg, 0 20px 32px rgba(15, 23, 42, 0.12));
}

.kcef-card--accent {
  background:
    radial-gradient(circle at 18% 0%, rgba(122, 92, 46, 0.13), transparent 36%),
    linear-gradient(
      180deg,
      rgba(255, 255, 255, 0.98),
      rgba(248, 250, 252, 0.96)
    ),
    var(--ax-panel, #ffffff);
  border-color: var(--ax-accent-line, rgba(122, 92, 46, 0.18));
  box-shadow:
    0 26px 76px rgba(122, 92, 46, 0.12),
    var(--ax-shadow-sm, 0 2px 8px rgba(15, 23, 42, 0.06));
}

.kcef-card-top {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px 12px;
  margin-bottom: 18px;
}

.kcef-card-number {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 42px;
  height: 32px;
  padding-inline: 11px;
  color: #ffffff;
  background: var(--ax-accent, #7a5c2e);
  border-radius: var(--ax-radius-pill, 999px);
  box-shadow: 0 12px 26px rgba(122, 92, 46, 0.22);
  font-size: 0.78rem;
  font-weight: 800;
  line-height: 1;
  letter-spacing: 0.08em;
}

.kcef-card-badge {
  display: inline-flex;
  align-items: center;
  min-height: 30px;
  padding: 7px 11px;
  color: var(--ax-accent, #7a5c2e);
  background: var(--ax-accent-soft, rgba(122, 92, 46, 0.06));
  border: 1px solid var(--ax-accent-line, rgba(122, 92, 46, 0.18));
  border-radius: var(--ax-radius-pill, 999px);
  font-size: 0.72rem;
  font-weight: 800;
  line-height: 1;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.kcef-card-title {
  margin: 0;
  color: var(--ax-text, #0f172a);
  font-family: var(--ax-font-heading, inherit);
  font-size: clamp(1.18rem, 1rem + 0.55vw, 1.5rem);
  font-weight: 700;
  line-height: 1.28;
  letter-spacing: -0.025em;
  text-wrap: balance;
}

.kcef-card-text {
  margin: 16px 0 0;
  color: var(--ax-text-soft, #475569);
  font-size: clamp(0.98rem, 0.94rem + 0.12vw, 1.04rem);
  line-height: 1.72;
}

.kcef-list {
  display: grid;
  gap: 10px;
  margin: 22px 0 0;
  padding: 0;
  list-style: none;
}

.kcef-list li {
  position: relative;
  padding-left: 24px;
  color: var(--ax-text-soft, #475569);
  font-size: 0.97rem;
  line-height: 1.62;
}

.kcef-list li::before {
  content: "";
  position: absolute;
  top: 0.74em;
  left: 0;
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--ax-accent, #7a5c2e);
  box-shadow: 0 0 0 4px var(--ax-accent-soft, rgba(122, 92, 46, 0.06));
  transform: translateY(-50%);
}

.kcef-card-link {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  width: fit-content;
  margin-top: auto;
  padding-top: 24px;
  color: var(--ax-accent, #7a5c2e);
  font-size: 0.95rem;
  font-weight: 700;
  line-height: 1.4;
  text-decoration: none;
  cursor: pointer;
  transition:
    color var(--ax-transition-fast, 0.2s ease),
    gap var(--ax-transition-fast, 0.2s ease);
}

.kcef-card-link::after {
  content: "→";
  display: inline-block;
  line-height: 1;
  transition: transform var(--ax-transition-fast, 0.2s ease);
}

.kcef-card-link:hover,
.kcef-card-link:focus-visible {
  gap: 12px;
  color: var(--ax-accent-hover, #654a22);
  text-decoration: none;
}

.kcef-card-link:hover::after,
.kcef-card-link:focus-visible::after {
  transform: translateX(2px);
}

/* ========== FORMATS BUTTONS ========== */

.kcef-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 14px;
  max-width: 980px;
  margin: clamp(40px, 5vw, 64px) auto 0;
  text-align: center;
}

.kcef-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 54px;
  padding: 16px 28px;
  border: 1px solid transparent;
  border-radius: var(--ax-radius-pill, 999px);
  font-family: var(--ax-font-body, inherit);
  font-size: 0.96rem;
  font-weight: 700;
  line-height: 1.2;
  text-align: center;
  text-decoration: none;
  white-space: normal;
  cursor: pointer;
  appearance: none;
  transition:
    color var(--ax-transition-fast, 0.2s ease),
    background-color var(--ax-transition-fast, 0.2s ease),
    border-color var(--ax-transition-fast, 0.2s ease),
    box-shadow var(--ax-transition, 0.35s ease),
    transform var(--ax-transition, 0.35s ease);
}

.kcef-btn:hover {
  text-decoration: none;
  transform: translateY(-2px);
}

.kcef-btn:focus-visible {
  outline: none;
  box-shadow: var(
    --ax-focus-ring,
    0 0 0 3px #ffffff,
    0 0 0 6px rgba(30, 64, 175, 0.95)
  );
}

.kcef-btn--primary {
  color: #ffffff;
  background: var(--ax-accent, #7a5c2e);
  border-color: var(--ax-accent, #7a5c2e);
  box-shadow: 0 16px 36px rgba(122, 92, 46, 0.24);
}

.kcef-btn--primary:hover,
.kcef-btn--primary:focus-visible {
  color: #ffffff;
  background: var(--ax-accent-hover, #654a22);
  border-color: var(--ax-accent-hover, #654a22);
}

.kcef-btn--dark {
  color: #ffffff;
  background: var(--ax-text, #0f172a);
  border-color: var(--ax-text, #0f172a);
  box-shadow: 0 16px 36px rgba(15, 23, 42, 0.18);
}

.kcef-btn--dark:hover,
.kcef-btn--dark:focus-visible {
  color: #ffffff;
  background: #020617;
  border-color: #020617;
}

/* ==========================================================
   VIDEO SECTION
   ========================================================== */

.kcev-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(20px, 2.5vw, 32px);
  margin-top: clamp(42px, 5.8vw, 78px);
}

.kcev-card {
  display: flex;
  flex-direction: column;
  min-width: 0;
  height: 100%;
  overflow: hidden;
  background: var(--ax-panel, #ffffff);
  border: 1px solid var(--ax-border-soft, rgba(15, 23, 42, 0.06));
  border-radius: var(--ax-radius-lg, 24px);
  box-shadow: var(--ax-shadow-sm, 0 2px 8px rgba(15, 23, 42, 0.06));
  transition:
    transform var(--ax-transition, 0.35s ease),
    box-shadow var(--ax-transition, 0.35s ease),
    border-color var(--ax-transition, 0.35s ease);
}

.kcev-card:hover {
  transform: translateY(-6px);
  border-color: var(--ax-border-mid, rgba(15, 23, 42, 0.12));
  box-shadow: var(--ax-shadow-lg, 0 20px 32px rgba(15, 23, 42, 0.12));
}

.kcev-card--featured {
  background:
    radial-gradient(circle at 18% 0%, rgba(122, 92, 46, 0.13), transparent 36%),
    linear-gradient(
      180deg,
      rgba(255, 255, 255, 0.98),
      rgba(248, 250, 252, 0.96)
    ),
    var(--ax-panel, #ffffff);
  border-color: var(--ax-accent-line, rgba(122, 92, 46, 0.18));
}

.kcev-video {
  position: relative;
  width: 100%;
  overflow: hidden;
  background: #111827;
  aspect-ratio: 16 / 9;
  line-height: 0;
}

.kcev-video iframe {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  border: 0;
}

.kcev-card-body {
  display: flex;
  flex: 1 1 auto;
  flex-direction: column;
  min-width: 0;
  padding: clamp(24px, 3vw, 36px);
}

.kcev-card-top {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px 12px;
  margin-bottom: 16px;
}

.kcev-video-badge,
.kcev-video-meta {
  display: inline-flex;
  align-items: center;
  min-height: 30px;
  padding: 7px 11px;
  border-radius: var(--ax-radius-pill, 999px);
  font-size: 0.72rem;
  font-weight: 800;
  line-height: 1;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.kcev-video-badge {
  color: #ffffff;
  background: var(--ax-accent, #7a5c2e);
  box-shadow: 0 12px 26px rgba(122, 92, 46, 0.22);
}

.kcev-video-meta {
  color: var(--ax-accent, #7a5c2e);
  background: var(--ax-accent-soft, rgba(122, 92, 46, 0.06));
  border: 1px solid var(--ax-accent-line, rgba(122, 92, 46, 0.18));
}

.kcev-card-title {
  margin: 0;
  color: var(--ax-text, #0f172a);
  font-family: var(--ax-font-heading, inherit);
  font-size: clamp(1.18rem, 1rem + 0.55vw, 1.5rem);
  font-weight: 700;
  line-height: 1.28;
  letter-spacing: -0.025em;
  text-wrap: balance;
}

.kcev-card-text {
  margin: 16px 0 0;
  color: var(--ax-text-soft, #475569);
  font-size: clamp(0.98rem, 0.94rem + 0.12vw, 1.04rem);
  line-height: 1.72;
}

.kcev-card-link {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  width: fit-content;
  margin-top: auto;
  padding-top: 24px;
  color: var(--ax-accent, #7a5c2e);
  font-size: 0.95rem;
  font-weight: 700;
  line-height: 1.4;
  text-decoration: none;
  cursor: pointer;
  transition:
    color var(--ax-transition-fast, 0.2s ease),
    gap var(--ax-transition-fast, 0.2s ease);
}

.kcev-card-link::after {
  content: "→";
  display: inline-block;
  line-height: 1;
}

.kcev-card-link:hover,
.kcev-card-link:focus-visible {
  gap: 12px;
  color: var(--ax-accent-hover, #654a22);
  text-decoration: none;
}

/* ========== VIDEO NOTE ========== */

.kcev-note {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: start;
  gap: 14px;
  max-width: 980px;
  margin: clamp(38px, 5vw, 64px) auto 0;
  padding: clamp(20px, 2.5vw, 28px);
  background: var(--ax-panel, #ffffff);
  border: 1px solid var(--ax-accent-line, rgba(122, 92, 46, 0.18));
  border-radius: var(--ax-radius-lg, 24px);
  box-shadow: var(--ax-shadow-sm, 0 2px 8px rgba(15, 23, 42, 0.06));
}

.kcev-note-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 42px;
  height: 42px;
  flex: 0 0 auto;
  color: #ffffff;
  background: var(--ax-accent, #7a5c2e);
  border-radius: var(--ax-radius-pill, 999px);
  font-size: 1rem;
  font-weight: 800;
}

.kcev-note p {
  margin: 0;
  color: var(--ax-text-soft, #475569);
  font-size: var(--ax-f-body, 1rem);
  line-height: 1.68;
}

.kcev-note strong {
  color: var(--ax-text, #0f172a);
}

/* ========== VIDEO BUTTONS ========== */

.kcev-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 14px;
  max-width: 920px;
  margin: clamp(32px, 4vw, 48px) auto 0;
  text-align: center;
}

.kcev-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 54px;
  padding: 16px 28px;
  border: 1px solid transparent;
  border-radius: var(--ax-radius-pill, 999px);
  font-family: var(--ax-font-body, inherit);
  font-size: 0.96rem;
  font-weight: 700;
  line-height: 1.2;
  text-align: center;
  text-decoration: none;
  white-space: normal;
  cursor: pointer;
  appearance: none;
  transition:
    color var(--ax-transition-fast, 0.2s ease),
    background-color var(--ax-transition-fast, 0.2s ease),
    border-color var(--ax-transition-fast, 0.2s ease),
    box-shadow var(--ax-transition, 0.35s ease),
    transform var(--ax-transition, 0.35s ease);
}

.kcev-btn:hover {
  text-decoration: none;
  transform: translateY(-2px);
}

.kcev-btn:focus-visible {
  outline: none;
  box-shadow: var(
    --ax-focus-ring,
    0 0 0 3px #ffffff,
    0 0 0 6px rgba(30, 64, 175, 0.95)
  );
}

.kcev-btn--primary {
  color: #ffffff;
  background: var(--ax-accent, #7a5c2e);
  border-color: var(--ax-accent, #7a5c2e);
  box-shadow: 0 16px 36px rgba(122, 92, 46, 0.24);
}

.kcev-btn--primary:hover,
.kcev-btn--primary:focus-visible {
  color: #ffffff;
  background: var(--ax-accent-hover, #654a22);
  border-color: var(--ax-accent-hover, #654a22);
}

.kcev-btn--ghost {
  color: var(--ax-accent, #7a5c2e);
  background: rgba(255, 255, 255, 0.58);
  border-color: var(--ax-accent-line, rgba(122, 92, 46, 0.18));
  box-shadow: none;
}

.kcev-btn--ghost:hover,
.kcev-btn--ghost:focus-visible {
  color: var(--ax-text, #0f172a);
  background: var(--ax-accent-soft, rgba(122, 92, 46, 0.06));
  border-color: var(--ax-accent, #7a5c2e);
}

/* ==========================================================
   RESPONSIVE
   ========================================================== */

@media (max-width: 1100px) {
  .kcef-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 940px) {
  .kcef-grid,
  .kcev-grid {
    grid-template-columns: 1fr;
    max-width: 760px;
    margin-left: auto;
    margin-right: auto;
  }
}

@media (max-width: 640px) {
  #formats.kcef-section,
  #video.kcev-section {
    padding-block: clamp(48px, 7vw, 72px);
  }

  .kcef-title,
  .kcev-title {
    font-size: clamp(1.9rem, 9.5vw, 3rem);
    line-height: 1.12;
    letter-spacing: -0.038em;
  }

  .kcef-lead,
  .kcev-lead {
    font-size: 1rem;
    line-height: 1.68;
  }

  .kcef-card,
  .kcev-card-body {
    padding: 24px;
  }

  .kcef-actions,
  .kcev-actions {
    align-items: stretch;
    gap: 12px;
  }

  .kcef-btn,
  .kcev-btn {
    width: 100%;
    max-width: 380px;
    min-height: 52px;
    margin: 0 auto;
    padding: 15px 22px;
  }

  .kcev-note {
    grid-template-columns: 1fr;
  }
}

/* ==========================================================
   REDUCED MOTION
   ========================================================== */

@media (prefers-reduced-motion: reduce) {
  .kcef-card,
  .kcef-card-link,
  .kcef-card-link::after,
  .kcef-btn,
  .kcev-card,
  .kcev-card-link,
  .kcev-card-link::after,
  .kcev-btn {
    transition: none;
  }

  .kcef-card:hover,
  .kcef-btn:hover,
  .kcev-card:hover,
  .kcev-btn:hover {
    transform: none;
  }
}

/* =========================================================
   KCEW ADVANTAGES SECTION
   Новая независимая секция преимуществ Академии
   Резиновая ширина, ограничение: 1360px
   ========================================================= */

.kcew-section,
.kcew-section * {
  box-sizing: border-box;
}

.kcew-section {
  position: relative;
  width: 100%;
  overflow: hidden;
  padding: clamp(56px, 7vw, 96px) 0 clamp(60px, 8vw, 112px);
  color: var(--ax-text, #17202b);
  background:
    radial-gradient(
      circle at 50% -10%,
      rgba(154, 110, 57, 0.12),
      transparent 40%
    ),
    linear-gradient(
      180deg,
      rgba(255, 255, 255, 0.94),
      rgba(250, 247, 241, 0.98)
    ),
    var(--ax-bg, #faf7f1);
}

.kcew-container {
  width: 100%;
  max-width: 1360px;
  margin: 0 auto;
  padding: 0 clamp(16px, 3vw, 40px);
}

/* ========== HEAD ========== */

.kcew-head {
  max-width: 1140px;
  margin: 0 auto;
  text-align: center;
}

.kcew-kicker {
  display: block;
  width: fit-content;
  margin: 0 auto clamp(16px, 2vw, 22px);
  color: var(--ax-accent, #9a6e39);
  font-size: 0.78rem;
  font-weight: 800;
  line-height: 1.35;
  letter-spacing: 0.14em;
  text-align: center;
  text-transform: uppercase;
}

.kcew-title {
  max-width: 1080px;
  margin: 0 auto;
  color: var(--ax-text, #17202b);
  font-family: var(--ax-font-heading, inherit);
  font-size: clamp(2rem, 1.2rem + 3.15vw, 4.15rem);
  font-weight: 700;
  line-height: 1.1;
  letter-spacing: -0.045em;
  text-align: center;
  text-wrap: balance;
}

.kcew-lead {
  max-width: 980px;
  margin: clamp(20px, 2.6vw, 30px) auto 0;
  color: var(--ax-text-soft, rgba(23, 32, 43, 0.7));
  font-size: clamp(1.02rem, 0.96rem + 0.26vw, 1.18rem);
  line-height: 1.72;
  text-align: center;
  text-wrap: balance;
}

/* ========== GRID ========== */

.kcew-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(18px, 2.4vw, 30px);
  margin-top: clamp(42px, 5.8vw, 78px);
}

/* ========== CARD ========== */

.kcew-card {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  min-width: 0;
  height: 100%;
  padding: clamp(24px, 2.8vw, 36px);
  overflow: hidden;
  background: var(--ax-panel, #ffffff);
  border: 1px solid var(--ax-border-soft, rgba(23, 32, 43, 0.08));
  border-radius: var(--ax-radius-card, 30px);
  box-shadow: var(--ax-shadow, 0 18px 44px rgba(23, 32, 43, 0.08));
  isolation: isolate;
  transition:
    transform var(--ax-ease-soft, 0.28s ease),
    box-shadow var(--ax-ease-soft, 0.28s ease),
    border-color var(--ax-ease-soft, 0.28s ease);
}

.kcew-card::before {
  content: "";
  position: absolute;
  top: 0;
  left: clamp(24px, 2.8vw, 36px);
  right: clamp(24px, 2.8vw, 36px);
  z-index: -1;
  height: 3px;
  border-radius: 999px;
  background: linear-gradient(
    90deg,
    var(--ax-accent, #9a6e39),
    rgba(154, 110, 57, 0.16)
  );
  pointer-events: none;
}

.kcew-card:hover {
  transform: translateY(-6px);
  border-color: var(--ax-border-hover, rgba(154, 110, 57, 0.22));
  box-shadow: var(--ax-shadow-hover, 0 24px 64px rgba(23, 32, 43, 0.12));
}

/* ========== MAIN CARD ========== */

.kcew-card--main {
  background:
    radial-gradient(
      circle at 18% 0%,
      rgba(154, 110, 57, 0.14),
      transparent 36%
    ),
    linear-gradient(
      180deg,
      rgba(255, 255, 255, 0.98),
      rgba(250, 247, 241, 0.96)
    ),
    var(--ax-panel, #ffffff);
  border-color: rgba(154, 110, 57, 0.3);
  box-shadow:
    0 26px 76px rgba(154, 110, 57, 0.14),
    0 18px 44px rgba(23, 32, 43, 0.08);
}

.kcew-card--main::after {
  content: "";
  position: absolute;
  right: -90px;
  bottom: -90px;
  z-index: -1;
  width: 220px;
  height: 220px;
  border-radius: 50%;
  background: rgba(154, 110, 57, 0.08);
  pointer-events: none;
}

.kcew-card--main:hover {
  border-color: rgba(154, 110, 57, 0.5);
  box-shadow:
    0 32px 86px rgba(154, 110, 57, 0.18),
    0 24px 64px rgba(23, 32, 43, 0.12);
}

/* ========== CARD CONTENT ========== */

.kcew-card-top {
  position: relative;
  z-index: 2;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px 12px;
  margin-bottom: 18px;
}

.kcew-number {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 42px;
  height: 32px;
  padding: 0 11px;
  color: #ffffff;
  background: var(--ax-accent, #9a6e39);
  border-radius: 999px;
  box-shadow: 0 12px 26px rgba(154, 110, 57, 0.24);
  font-size: 0.78rem;
  font-weight: 800;
  line-height: 1;
  letter-spacing: 0.08em;
}

.kcew-tag {
  display: inline-flex;
  align-items: center;
  min-height: 30px;
  padding: 7px 11px;
  color: var(--ax-accent, #9a6e39);
  background: var(--ax-accent-soft, rgba(154, 110, 57, 0.1));
  border: 1px solid rgba(154, 110, 57, 0.14);
  border-radius: 999px;
  font-size: 0.72rem;
  font-weight: 800;
  line-height: 1;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.kcew-card-title {
  position: relative;
  z-index: 2;
  margin: 0;
  color: var(--ax-text, #17202b);
  font-family: var(--ax-font-heading, inherit);
  font-size: clamp(1.18rem, 1rem + 0.55vw, 1.5rem);
  font-weight: 700;
  line-height: 1.28;
  letter-spacing: -0.025em;
  text-wrap: balance;
}

.kcew-card-text {
  position: relative;
  z-index: 2;
  margin: 16px 0 0;
  color: var(--ax-text-soft, rgba(23, 32, 43, 0.7));
  font-size: clamp(0.98rem, 0.94rem + 0.12vw, 1.04rem);
  line-height: 1.72;
}

.kcew-card--main .kcew-card-title {
  font-size: clamp(1.28rem, 1.05rem + 0.75vw, 1.72rem);
  line-height: 1.24;
  letter-spacing: -0.032em;
}

.kcew-card--main .kcew-card-text {
  font-size: clamp(1rem, 0.96rem + 0.16vw, 1.08rem);
  line-height: 1.76;
}

/* ========== LINKS ========== */

.kcew-links {
  position: relative;
  z-index: 5;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px 14px;
  margin-top: auto;
  padding-top: 24px;
  pointer-events: auto;
}

.kcew-link {
  position: relative;
  z-index: 6;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  width: fit-content;
  color: var(--ax-accent, #9a6e39);
  font-size: 0.95rem;
  font-weight: 700;
  line-height: 1.4;
  text-decoration: none;
  cursor: pointer;
  pointer-events: auto;
  transition:
    color var(--ax-ease, 0.2s ease),
    gap var(--ax-ease, 0.2s ease);
}

.kcew-link::after {
  content: "→";
  display: inline-block;
  line-height: 1;
  transition: transform var(--ax-ease, 0.2s ease);
}

.kcew-link:hover,
.kcew-link:focus-visible {
  gap: 12px;
  color: var(--ax-link-hover, #17202b);
  text-decoration: none;
}

.kcew-link:hover::after,
.kcew-link:focus-visible::after {
  transform: translateX(2px);
}

.kcew-link:focus-visible {
  outline: 3px solid var(--ax-focus, rgba(154, 110, 57, 0.35));
  outline-offset: 5px;
  border-radius: 8px;
}

/* ========== RESPONSIVE ========== */

@media (max-width: 900px) {
  .kcew-grid {
    grid-template-columns: 1fr;
    max-width: 720px;
    margin-left: auto;
    margin-right: auto;
  }
}

@media (max-width: 640px) {
  .kcew-container {
    padding: 0 16px;
  }

  .kcew-title {
    font-size: clamp(1.9rem, 9.5vw, 3rem);
    line-height: 1.12;
    letter-spacing: -0.038em;
  }

  .kcew-lead {
    font-size: 1rem;
    line-height: 1.68;
  }

  .kcew-card {
    padding: 24px;
  }

  .kcew-card-top {
    margin-bottom: 16px;
  }

  .kcew-card--main .kcew-card-title {
    font-size: clamp(1.22rem, 6vw, 1.58rem);
  }

  .kcew-links {
    gap: 10px 12px;
    padding-top: 22px;
  }

  .kcew-link {
    font-size: 0.94rem;
  }
}

/* ========== REDUCED MOTION ========== */

@media (prefers-reduced-motion: reduce) {
  .kcew-card,
  .kcew-link,
  .kcew-link::after {
    transition: none;
  }

  .kcew-card:hover {
    transform: none;
  }
}

/* =========================================================
   CE BUTTON DARK → BLUE THEME
   Замена чёрной кнопки ce-btn--dark на синюю
   ========================================================= */

.ce-btn.ce-btn--dark,
.ce-btn--dark {
  color: #ffffff;
  background: linear-gradient(135deg, #0f172a, #1e293b);
  border-color: #0f172a;
  box-shadow: 0 16px 36px rgba(15, 23, 42, 0.28);
}

.ce-btn.ce-btn--dark:hover,
.ce-btn.ce-btn--dark:focus-visible,
.ce-btn--dark:hover,
.ce-btn--dark:focus-visible {
  color: #ffffff;
  background: linear-gradient(135deg, #020617, #0f172a);
  border-color: #020617;
  box-shadow: 0 20px 46px rgba(15, 23, 42, 0.36);
}

.ce-btn.ce-btn--dark:active,
.ce-btn--dark:active {
  background: linear-gradient(135deg, #1e40af, #1d4ed8);
  border-color: #1e40af;
}
.ce-btn--dark,
.ce-hero-btn--dark,
.ce-about-btn--dark,
.ce-req-btn--dark,
.ce-courses-btn--dark,
.ce-sessions-btn--dark,
.ce-success-btn--dark,
.ce-credentials-btn--dark,
.kcef-btn--dark,
.kcev-btn--dark,
.kcecontact-btn--dark,
.kcefinal-btn--dark,
.dt-btn--dark,
.ax-btn--dark {
  color: #ffffff !important;
  background: linear-gradient(135deg, #0f172a, #1e293b) !important;
  border-color: #0f172a !important;
  box-shadow: 0 16px 36px rgba(15, 23, 42, 0.28) !important;
}

/* =========================================================
   COMPACT BUTTON HEIGHT
   Уменьшаем высоту кнопок, секции не трогаем
   ========================================================= */

.ax-btn,
.ax-btn--primary,
.ax-btn--dark,
.ax-btn--outline,
.ax-btn-primary,
.ax-btn-dark,
.ax-btn-secondary,
.ce-btn,
.ce-hero-btn,
.ce-about-btn,
.ce-req-btn,
.ce-courses-btn,
.ce-sessions-btn,
.ce-success-btn,
.ce-credentials-btn,
.kcef-btn,
.kcev-btn,
.kcecontact-btn,
.kcefinal-btn,
.kcenews-btn,
.kceprojects-btn,
.kcefaq-btn,
.kcereviews-btn {
  min-height: 44px !important;
  padding-top: 11px !important;
  padding-bottom: 11px !important;
  line-height: 1.15 !important;
}

/* Если есть большие кнопки */
.button.big,
.ax-btn.big,
.ax-btn--big {
  min-height: 48px !important;
  height: auto !important;
  padding-top: 12px !important;
  padding-bottom: 12px !important;
  line-height: 1.15 !important;
}

/* Старые кнопки темы */
.button,
.button.medium,
.button.color,
.button.dark,
.button.light,
.button.white {
  min-height: 44px !important;
  height: auto !important;
  padding-top: 11px !important;
  padding-bottom: 11px !important;
  line-height: 1.15 !important;
}

/* Кнопки в футере */
#footer .dt-btn,
#footer .button,
#footer .button.medium {
  min-height: 42px !important;
  height: auto !important;
  padding-top: 10px !important;
  padding-bottom: 10px !important;
  line-height: 1.15 !important;
}

/* Мобильные — ещё чуть компактнее */
@media (max-width: 640px) {
  .ax-btn,
  .ce-btn,
  .ce-hero-btn,
  .ce-about-btn,
  .ce-req-btn,
  .ce-courses-btn,
  .ce-sessions-btn,
  .ce-success-btn,
  .ce-credentials-btn,
  .kcef-btn,
  .kcev-btn,
  .kcecontact-btn,
  .kcefinal-btn,
  .kcenews-btn,
  .kceprojects-btn,
  .button,
  .button.medium {
    min-height: 42px !important;
    padding-top: 10px !important;
    padding-bottom: 10px !important;
  }
}

/* =========================================================
   FREQUENCIES SECTION
   7 базовых частот космоэнергетики
   Резиновая ширина, ограничение: 1360px
   Работает с HTML: #frequencies
   ========================================================= */

#frequencies,
#frequencies * {
  box-sizing: border-box;
}

#frequencies.ax-section {
  position: relative;
  width: 100%;
  overflow: hidden;
  padding-block: clamp(72px, 8vw, 120px);
  color: var(--ax-text, #0f172a);
  background:
    radial-gradient(
      circle at 50% -10%,
      rgba(122, 92, 46, 0.1),
      transparent 40%
    ),
    linear-gradient(
      180deg,
      rgba(255, 255, 255, 0.94),
      rgba(248, 250, 252, 0.98)
    ),
    var(--ax-bg, #f8fafc);
}

#frequencies .ax-container {
  width: min(
    100% - var(--ax-gutter, clamp(20px, 4vw, 48px)),
    var(--ax-container-max, 1360px)
  );
  margin-inline: auto;
}

/* ========== HEADER ========== */

#frequencies .ax-header {
  max-width: 1140px;
  margin-inline: auto;
  text-align: center;
}

#frequencies .ax-heading {
  display: grid;
  justify-items: center;
  gap: clamp(16px, 2vw, 22px);
}

#frequencies .ax-kicker {
  display: block;
  width: fit-content;
  margin: 0 auto;
  color: var(--ax-accent, #7a5c2e);
  font-size: var(--ax-f-xs, 0.78rem);
  font-weight: 800;
  line-height: 1.35;
  letter-spacing: 0.14em;
  text-align: center;
  text-transform: uppercase;
}

#frequencies .ax-title-main {
  max-width: 1080px;
  margin: 0 auto;
  color: var(--ax-text, #0f172a);
  font-family: var(--ax-font-heading, inherit);
  font-size: var(--ax-f-h2, clamp(2rem, 1.2rem + 3.15vw, 4.15rem));
  font-weight: 800;
  line-height: 1.1;
  letter-spacing: -0.045em;
  text-align: center;
  text-wrap: balance;
}

#frequencies .ax-title-sub {
  max-width: 980px;
  margin: 0 auto;
  color: var(--ax-text-soft, #475569);
  font-size: var(--ax-f-lead, clamp(1.02rem, 0.96rem + 0.26vw, 1.18rem));
  line-height: 1.72;
  text-align: center;
  text-wrap: balance;
}

/* ========== PROGRAM LIST ========== */

#frequencies .ax-program-list {
  display: grid;
  gap: clamp(18px, 2.4vw, 28px);
  max-width: 1180px;
  margin: clamp(42px, 5.8vw, 78px) auto 0;
}

#frequencies .ax-program-card {
  position: relative;
  display: grid;
  grid-template-columns: 92px minmax(0, 1fr);
  align-items: start;
  gap: clamp(18px, 2.4vw, 30px);
  min-width: 0;
  padding: clamp(24px, 3vw, 36px);
  overflow: hidden;
  background: var(--ax-panel, #ffffff);
  border: 1px solid var(--ax-border-soft, rgba(15, 23, 42, 0.06));
  border-radius: var(--ax-radius-lg, 24px);
  box-shadow: var(--ax-shadow-sm, 0 2px 8px rgba(15, 23, 42, 0.06));
  transition:
    transform var(--ax-transition, 0.35s ease),
    box-shadow var(--ax-transition, 0.35s ease),
    border-color var(--ax-transition, 0.35s ease);
}

#frequencies .ax-program-card::before {
  content: "";
  position: absolute;
  top: 0;
  left: clamp(24px, 3vw, 36px);
  right: clamp(24px, 3vw, 36px);
  height: 4px;
  border-radius: var(--ax-radius-pill, 999px);
  background: linear-gradient(
    90deg,
    var(--ax-accent, #7a5c2e),
    rgba(122, 92, 46, 0.16)
  );
  pointer-events: none;
}

#frequencies .ax-program-card:hover {
  transform: translateY(-6px);
  border-color: var(--ax-border-mid, rgba(15, 23, 42, 0.12));
  box-shadow: var(--ax-shadow-lg, 0 20px 32px rgba(15, 23, 42, 0.12));
}

#frequencies .ax-program-card__number {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 72px;
  height: 72px;
  color: #ffffff;
  background:
    radial-gradient(
      circle at 30% 20%,
      rgba(255, 255, 255, 0.25),
      transparent 34%
    ),
    linear-gradient(135deg, var(--ax-accent, #7a5c2e), #9a6e39);
  border-radius: 22px;
  box-shadow: 0 16px 34px rgba(122, 92, 46, 0.22);
  font-family: var(--ax-font-heading, inherit);
  font-size: 1.18rem;
  font-weight: 800;
  line-height: 1;
  letter-spacing: -0.02em;
}

#frequencies .ax-program-card__body {
  min-width: 0;
}

#frequencies .ax-card-title {
  margin: 0;
  color: var(--ax-text, #0f172a);
  font-family: var(--ax-font-heading, inherit);
  font-size: clamp(1.18rem, 1rem + 0.55vw, 1.5rem);
  font-weight: 700;
  line-height: 1.28;
  letter-spacing: -0.025em;
  text-wrap: balance;
}

#frequencies .ax-card-text {
  margin: 16px 0 0;
  color: var(--ax-text-soft, #475569);
  font-size: clamp(0.98rem, 0.94rem + 0.12vw, 1.04rem);
  line-height: 1.76;
}

#frequencies .ax-link {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  width: fit-content;
  margin-top: 22px;
  color: var(--ax-accent, #7a5c2e);
  font-size: 0.95rem;
  font-weight: 800;
  line-height: 1.4;
  text-decoration: none;
  transition:
    color var(--ax-transition-fast, 0.2s ease),
    gap var(--ax-transition-fast, 0.2s ease);
}

#frequencies .ax-link::after {
  content: "→";
  display: inline-block;
  line-height: 1;
  transition: transform var(--ax-transition-fast, 0.2s ease);
}

#frequencies .ax-link:hover,
#frequencies .ax-link:focus-visible {
  gap: 12px;
  color: var(--ax-accent-hover, #654a22);
  text-decoration: none;
}

#frequencies .ax-link:hover::after,
#frequencies .ax-link:focus-visible::after {
  transform: translateX(2px);
}

/* ========== NOTE ========== */

#frequencies .ax-note {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 14px;
  align-items: start;
  max-width: 980px;
  margin: clamp(38px, 5vw, 64px) auto 0;
  padding: clamp(20px, 2.5vw, 28px);
  color: var(--ax-text-soft, #475569);
  background: var(--ax-panel, #ffffff);
  border: 1px solid var(--ax-accent-line, rgba(122, 92, 46, 0.18));
  border-radius: var(--ax-radius-lg, 24px);
  box-shadow: var(--ax-shadow-sm, 0 2px 8px rgba(15, 23, 42, 0.06));
  font-size: var(--ax-f-body, 1rem);
  line-height: 1.68;
  text-align: left;
}

#frequencies .ax-note::before {
  content: "✦";
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 42px;
  height: 42px;
  color: #ffffff;
  background: var(--ax-accent, #7a5c2e);
  border-radius: var(--ax-radius-pill, 999px);
  font-size: 1rem;
  font-weight: 800;
}

#frequencies .ax-note strong {
  color: var(--ax-text, #0f172a);
}

/* ========== ACTIONS ========== */

#frequencies .ax-actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 14px;
  max-width: 920px;
  margin: clamp(32px, 4vw, 48px) auto 0;
  text-align: center;
}

#frequencies .ax-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  padding: 11px 24px;
  border-radius: var(--ax-radius-pill, 999px);
  font-family: var(--ax-font-body, inherit);
  font-size: 0.95rem;
  font-weight: 800;
  line-height: 1.15;
  text-align: center;
  text-decoration: none;
  white-space: normal;
  transition:
    color var(--ax-transition-fast, 0.2s ease),
    background-color var(--ax-transition-fast, 0.2s ease),
    border-color var(--ax-transition-fast, 0.2s ease),
    box-shadow var(--ax-transition, 0.35s ease),
    transform var(--ax-transition, 0.35s ease);
}

#frequencies .ax-btn:hover {
  transform: translateY(-2px);
  text-decoration: none;
}

#frequencies .ax-btn--primary {
  color: #ffffff !important;
  background: #7a5c2e !important;
  border-color: #7a5c2e !important;
  box-shadow: 0 16px 36px rgba(122, 92, 46, 0.26) !important;
}

#frequencies .ax-btn--primary:hover,
#frequencies .ax-btn--primary:focus-visible {
  color: #ffffff !important;
  background: #654a22 !important;
  border-color: #654a22 !important;
  box-shadow: 0 20px 46px rgba(122, 92, 46, 0.34) !important;
}

#frequencies .ax-btn--dark {
  color: #ffffff !important;
  background: linear-gradient(135deg, #0f172a, #1e293b) !important;
  border-color: #0f172a !important;
  box-shadow: 0 16px 36px rgba(15, 23, 42, 0.28) !important;
}

#frequencies .ax-btn--dark:hover,
#frequencies .ax-btn--dark:focus-visible {
  color: #ffffff !important;
  background: linear-gradient(135deg, #020617, #0f172a) !important;
  border-color: #020617 !important;
  box-shadow: 0 20px 46px rgba(15, 23, 42, 0.36) !important;
}

/* ========== RESPONSIVE ========== */

@media (max-width: 760px) {
  #frequencies .ax-program-card {
    grid-template-columns: 1fr;
  }

  #frequencies .ax-program-card__number {
    width: 58px;
    height: 58px;
    border-radius: 18px;
    font-size: 1rem;
  }
}

@media (max-width: 640px) {
  #frequencies.ax-section {
    padding-block: clamp(48px, 7vw, 72px);
  }

  #frequencies .ax-title-main {
    font-size: clamp(1.9rem, 9.5vw, 3rem);
    line-height: 1.12;
    letter-spacing: -0.038em;
  }

  #frequencies .ax-title-sub {
    font-size: 1rem;
    line-height: 1.68;
  }

  #frequencies .ax-program-list {
    gap: 16px;
  }

  #frequencies .ax-program-card {
    padding: 24px;
  }

  #frequencies .ax-note {
    grid-template-columns: 1fr;
  }

  #frequencies .ax-actions {
    align-items: stretch;
    gap: 12px;
  }

  #frequencies .ax-btn {
    width: 100%;
    max-width: 380px;
    margin: 0 auto;
    min-height: 42px;
    padding: 10px 22px;
  }
}

/* ========== REDUCED MOTION ========== */

@media (prefers-reduced-motion: reduce) {
  #frequencies .ax-program-card,
  #frequencies .ax-link,
  #frequencies .ax-link::after,
  #frequencies .ax-btn {
    transition: none;
  }

  #frequencies .ax-program-card:hover,
  #frequencies .ax-btn:hover {
    transform: none;
  }
}

/* =========================================================
   KCETRUST SECTION
   Короткая полоса доверия
   Резиновая ширина, ограничение: 1360px
   ========================================================= */

.kcetrust-section,
.kcetrust-section * {
  box-sizing: border-box;
}

.kcetrust-section {
  position: relative;
  width: 100%;
  padding: clamp(24px, 3.5vw, 42px) 0;
  color: var(--ax-text, #0f172a);
  background:
    linear-gradient(
      180deg,
      rgba(255, 255, 255, 0.96),
      rgba(248, 250, 252, 0.98)
    ),
    var(--ax-bg, #f8fafc);
  border-block: 1px solid var(--ax-border-soft, rgba(15, 23, 42, 0.06));
}

.kcetrust-container {
  width: min(
    100% - var(--ax-gutter, clamp(20px, 4vw, 48px)),
    var(--ax-container-max, 1360px)
  );
  margin-inline: auto;
}

.kcetrust-grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: clamp(12px, 1.6vw, 20px);
}

.kcetrust-item {
  display: grid;
  gap: 6px;
  min-width: 0;
  padding: clamp(16px, 2vw, 22px);
  text-align: center;
  background: var(--ax-panel, #ffffff);
  border: 1px solid var(--ax-border-soft, rgba(15, 23, 42, 0.06));
  border-radius: var(--ax-radius-lg, 24px);
  box-shadow: var(--ax-shadow-xs, 0 1px 2px rgba(15, 23, 42, 0.04));
}

.kcetrust-item strong {
  color: var(--ax-accent, #7a5c2e);
  font-family: var(--ax-font-heading, inherit);
  font-size: clamp(1rem, 0.95rem + 0.35vw, 1.2rem);
  font-weight: 800;
  line-height: 1.2;
}

.kcetrust-item span {
  color: var(--ax-text-soft, #475569);
  font-size: 0.92rem;
  line-height: 1.45;
}

@media (max-width: 1100px) {
  .kcetrust-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

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

  .kcetrust-item {
    text-align: left;
  }
}

/* =========================================================
   KCEBASIC SECTION
   Акцент на базовом курсе
   Резиновая ширина, ограничение: 1360px
   ========================================================= */

.kcebasic-section,
.kcebasic-section * {
  box-sizing: border-box;
}

.kcebasic-section {
  position: relative;
  width: 100%;
  overflow: hidden;
  padding-block: clamp(72px, 8vw, 120px);
  color: var(--ax-text, #0f172a);
  background:
    radial-gradient(
      circle at 50% -10%,
      rgba(122, 92, 46, 0.1),
      transparent 40%
    ),
    linear-gradient(
      180deg,
      rgba(255, 255, 255, 0.94),
      rgba(248, 250, 252, 0.98)
    ),
    var(--ax-bg, #f8fafc);
}

.kcebasic-container {
  width: min(
    100% - var(--ax-gutter, clamp(20px, 4vw, 48px)),
    var(--ax-container-max, 1360px)
  );
  margin-inline: auto;
}

.kcebasic-card {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(320px, 0.85fr);
  gap: clamp(22px, 3vw, 36px);
  align-items: stretch;
  padding: clamp(26px, 4vw, 54px);
  background:
    radial-gradient(circle at 18% 0%, rgba(122, 92, 46, 0.13), transparent 36%),
    linear-gradient(
      180deg,
      rgba(255, 255, 255, 0.98),
      rgba(248, 250, 252, 0.96)
    ),
    var(--ax-panel, #ffffff);
  border: 1px solid var(--ax-accent-line, rgba(122, 92, 46, 0.18));
  border-radius: var(--ax-radius-xl, 32px);
  box-shadow:
    0 26px 76px rgba(122, 92, 46, 0.12),
    var(--ax-shadow-sm, 0 2px 8px rgba(15, 23, 42, 0.06));
}

.kcebasic-content {
  min-width: 0;
}

.kcebasic-kicker {
  display: inline-flex;
  align-items: center;
  width: fit-content;
  min-height: 32px;
  margin: 0 0 clamp(16px, 2vw, 22px);
  padding: 8px 13px;
  color: var(--ax-accent, #7a5c2e);
  background: var(--ax-accent-soft, rgba(122, 92, 46, 0.06));
  border: 1px solid var(--ax-accent-line, rgba(122, 92, 46, 0.18));
  border-radius: var(--ax-radius-pill, 999px);
  font-size: 0.74rem;
  font-weight: 800;
  line-height: 1;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.kcebasic-title {
  max-width: 860px;
  margin: 0;
  color: var(--ax-text, #0f172a);
  font-family: var(--ax-font-heading, inherit);
  font-size: var(--ax-f-h2, clamp(2rem, 1.2rem + 3.15vw, 4.15rem));
  font-weight: 800;
  line-height: 1.1;
  letter-spacing: -0.045em;
  text-wrap: balance;
}

.kcebasic-text {
  max-width: 900px;
  margin: clamp(18px, 2.4vw, 26px) 0 0;
  color: var(--ax-text-soft, #475569);
  font-size: var(--ax-f-lead, clamp(1.02rem, 0.96rem + 0.26vw, 1.18rem));
  line-height: 1.72;
}

.kcebasic-list {
  display: grid;
  gap: 10px;
  margin: clamp(22px, 3vw, 32px) 0 0;
  padding: 0;
  list-style: none;
}

.kcebasic-list li {
  position: relative;
  padding-left: 24px;
  color: var(--ax-text-soft, #475569);
  font-size: 0.98rem;
  line-height: 1.62;
}

.kcebasic-list li::before {
  content: "";
  position: absolute;
  top: 0.74em;
  left: 0;
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--ax-accent, #7a5c2e);
  box-shadow: 0 0 0 4px var(--ax-accent-soft, rgba(122, 92, 46, 0.06));
  transform: translateY(-50%);
}

.kcebasic-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: clamp(26px, 3.5vw, 40px);
}

.kcebasic-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  padding: 11px 24px;
  border: 1px solid transparent;
  border-radius: var(--ax-radius-pill, 999px);
  font-family: var(--ax-font-body, inherit);
  font-size: 0.95rem;
  font-weight: 800;
  line-height: 1.15;
  text-align: center;
  text-decoration: none;
  white-space: normal;
  transition:
    color var(--ax-transition-fast, 0.2s ease),
    background-color var(--ax-transition-fast, 0.2s ease),
    border-color var(--ax-transition-fast, 0.2s ease),
    box-shadow var(--ax-transition, 0.35s ease),
    transform var(--ax-transition, 0.35s ease);
}

.kcebasic-btn:hover {
  text-decoration: none;
  transform: translateY(-2px);
}

.kcebasic-btn--primary {
  color: #ffffff;
  background: #7a5c2e;
  border-color: #7a5c2e;
  box-shadow: 0 16px 36px rgba(122, 92, 46, 0.26);
}

.kcebasic-btn--primary:hover,
.kcebasic-btn--primary:focus-visible {
  color: #ffffff;
  background: #654a22;
  border-color: #654a22;
  box-shadow: 0 20px 46px rgba(122, 92, 46, 0.34);
}

.kcebasic-btn--secondary {
  color: #ffffff;
  background: linear-gradient(135deg, #0f172a, #1e293b);
  border-color: #0f172a;
  box-shadow: 0 16px 36px rgba(15, 23, 42, 0.28);
}

.kcebasic-btn--secondary:hover,
.kcebasic-btn--secondary:focus-visible {
  color: #ffffff;
  background: linear-gradient(135deg, #020617, #0f172a);
  border-color: #020617;
  box-shadow: 0 20px 46px rgba(15, 23, 42, 0.36);
}

.kcebasic-aside {
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-width: 0;
  padding: clamp(24px, 3vw, 34px);
  background: var(--ax-panel, #ffffff);
  border: 1px solid var(--ax-border-soft, rgba(15, 23, 42, 0.06));
  border-radius: var(--ax-radius-lg, 24px);
  box-shadow: var(--ax-shadow-xs, 0 1px 2px rgba(15, 23, 42, 0.04));
}

.kcebasic-badge {
  display: inline-flex;
  align-items: center;
  width: fit-content;
  min-height: 32px;
  margin-bottom: 18px;
  padding: 8px 13px;
  color: #ffffff;
  background: var(--ax-accent, #7a5c2e);
  border-radius: var(--ax-radius-pill, 999px);
  font-size: 0.78rem;
  font-weight: 800;
  line-height: 1;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.kcebasic-aside-title {
  color: var(--ax-text, #0f172a);
  font-family: var(--ax-font-heading, inherit);
  font-size: clamp(1.5rem, 1.15rem + 1vw, 2.1rem);
  font-weight: 800;
  line-height: 1.1;
  letter-spacing: -0.04em;
}

.kcebasic-aside p {
  margin-top: 16px;
  color: var(--ax-text-soft, #475569);
  font-size: 1rem;
  line-height: 1.68;
}

@media (max-width: 920px) {
  .kcebasic-card {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 640px) {
  .kcebasic-section {
    padding-block: clamp(48px, 7vw, 72px);
  }

  .kcebasic-card {
    padding: 24px;
    border-radius: var(--ax-radius-lg, 24px);
  }

  .kcebasic-title {
    font-size: clamp(1.9rem, 9.5vw, 3rem);
    line-height: 1.12;
    letter-spacing: -0.038em;
  }

  .kcebasic-text {
    font-size: 1rem;
    line-height: 1.68;
  }

  .kcebasic-actions {
    align-items: stretch;
  }

  .kcebasic-btn {
    width: 100%;
    max-width: 380px;
  }
}
/* =========================================================
   AX STICKY NAVIGATION — Горизонтальная с переносом
   Светлая тема, золотой акцент (тусклее #c8a15a)
   ========================================================= */

.ax-nav {
  position: sticky;
  top: 0;
  z-index: 999;
  width: 100%;
  background: rgba(255, 255, 255, 0.95);
  border-bottom: 1px solid var(--ax-border-soft, rgba(15, 23, 42, 0.08));
  box-shadow: 0 4px 12px rgba(15, 23, 42, 0.06);
  backdrop-filter: blur(12px);
}

.ax-nav-container {
  width: min(100% - var(--ax-gutter, clamp(20px, 4vw, 48px)), 1360px);
  margin-inline: auto;
  padding: 10px 0;
}

.ax-nav-list {
  display: flex;
  flex-wrap: wrap; /* Автоматический перенос на новую строку */
  align-items: center;
  justify-content: center;
  gap: 6px 10px;
  margin: 0;
  padding: 6px 0;
  list-style: none;
}

.ax-nav-item {
  flex: 0 0 auto;
}

.ax-nav-link {
  display: inline-flex;
  align-items: center;
  padding: 10px 18px;
  color: var(--ax-text-soft, #475569);
  font-family: var(--ax-font-body, inherit);
  font-size: 0.93rem;
  font-weight: 700;
  line-height: 1.3;
  text-decoration: none;
  border-radius: 999px;
  white-space: nowrap;
  transition: all 0.25s ease;
}

.ax-nav-link:hover {
  color: #9a7640;
  background: rgba(154, 118, 64, 0.08);
}

.ax-nav-link--active {
  color: #ffffff;
  background: #9a7640;
  box-shadow: 0 4px 12px rgba(154, 118, 64, 0.25);
}

.ax-nav-link--active:hover {
  background: #8a6a38;
}

/* =========================================================
   Адаптив
   ========================================================= */

@media (max-width: 1100px) {
  .ax-nav-link {
    padding: 9px 16px;
    font-size: 0.9rem;
  }
}

@media (max-width: 768px) {
  .ax-nav-list {
    gap: 5px 8px;
    justify-content: flex-start;
    padding: 8px 0;
  }

  .ax-nav-link {
    padding: 8px 14px;
    font-size: 0.88rem;
  }
}

/* =========================================================
   Reduced Motion
   ========================================================= */

@media (prefers-reduced-motion: reduce) {
  .ax-nav-link {
    transition: none;
  }
}

/* =========================================================
   FINAL SAFE NORMALIZATION
   Аккуратные правки без изменения HTML-шаблона
   ========================================================= */

.ce-course-card--featured > * {
  position: relative;
  z-index: 1;
}

.kcefaq-copy > * + *,
.ax-prose > * + * {
  margin-top: 14px;
}

#frequencies.ax-section,
section#frequencies {
  position: relative;
  width: 100%;
  overflow: hidden;
}

@supports selector(:has(*)) {
  .kceprojects-content:has(> article),
  .kceprojects-content:has(> div),
  .kcenews-carousel:not(.owl-loaded):has(> article),
  .kcenews-carousel:not(.owl-loaded):has(> div) {
    min-width: 0;
  }
}

@media (max-width: 768px) {
  .ax-nav-list {
    justify-content: flex-start;
    overflow-x: auto;
    flex-wrap: nowrap;
    padding-bottom: 10px;
    scrollbar-width: thin;
  }
}

/* =========================================================
   AXC CONTACT — SHORT PATCH
   Для hero + form + map. Вставить в конец ax-components.css
   ========================================================= */

.axc-container {
  width: min(
    100% - var(--ax-gutter, clamp(20px, 4vw, 48px)),
    var(--ax-container-max, 1360px)
  );
  margin-inline: auto;
}

.axc-hero,
.axc-form-section,
.axc-map-section {
  overflow: hidden;
  padding-block: clamp(56px, 7vw, 96px);
  background:
    radial-gradient(
      circle at 50% -10%,
      rgba(122, 92, 46, 0.1),
      transparent 40%
    ),
    linear-gradient(
      180deg,
      rgba(255, 255, 255, 0.96),
      rgba(248, 250, 252, 0.98)
    ),
    var(--ax-bg, #f8fafc);
}

.axc-head {
  max-width: 1140px;
  margin: 0 auto clamp(42px, 5.8vw, 78px);
  text-align: center;
}

.axc-head--compact {
  margin-bottom: clamp(32px, 4.8vw, 58px);
}

.axc-kicker,
.axc-label {
  display: inline-flex;
  width: fit-content;
  max-width: 100%;
  color: var(--ax-accent, #7a5c2e);
  background: var(--ax-accent-soft, rgba(122, 92, 46, 0.06));
  border: 1px solid var(--ax-accent-line, rgba(122, 92, 46, 0.18));
  border-radius: 999px;
  font-size: var(--ax-f-xs, 0.78rem);
  font-weight: 800;
  line-height: 1.2;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.axc-kicker {
  justify-content: center;
  margin: 0 auto clamp(16px, 2vw, 22px);
  padding: 8px 14px;
}

.axc-label {
  margin-bottom: 16px;
  padding: 7px 11px;
  font-size: 0.72rem;
}

.axc-title {
  max-width: 1120px;
  margin: 0 auto;
  color: var(--ax-text, #0f172a);
  font-family: var(--ax-font-heading, inherit);
  font-size: clamp(2.05rem, 1.25rem + 3.2vw, 4.25rem);
  font-weight: 800;
  line-height: 1.08;
  letter-spacing: -0.045em;
  text-wrap: balance;
}

.axc-title--section {
  max-width: 980px;
  font-size: clamp(1.8rem, 1.2rem + 2.4vw, 3.35rem);
  line-height: 1.1;
}

.axc-lead,
.axc-text,
.axc-panel__text,
.axc-card__text,
.axc-route-list li {
  color: var(--ax-text-soft, #475569);
  line-height: 1.72;
}

.axc-lead {
  max-width: 980px;
  margin: clamp(18px, 2.4vw, 26px) auto 0;
  font-size: var(--ax-f-lead, clamp(1rem, 0.95rem + 0.3vw, 1.125rem));
  text-wrap: balance;
}

.axc-text--center {
  max-width: 1040px;
  margin: clamp(24px, 3vw, 36px) auto 0;
  text-align: center;
}

.axc-hero a,
.axc-form-section a,
.axc-map-section a {
  color: var(--ax-accent, #7a5c2e);
  font-weight: 700;
  text-decoration: none;
}

.axc-hero a:hover,
.axc-form-section a:hover,
.axc-map-section a:hover {
  color: var(--ax-accent-hover, #654a22);
  text-decoration: underline;
}

.axc-info-grid,
.axc-card-grid,
.axc-map-layout {
  display: grid;
  gap: clamp(20px, 2.5vw, 32px);
}

.axc-info-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin-top: clamp(36px, 5vw, 64px);
}

.axc-card-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin-top: clamp(30px, 4.5vw, 56px);
}

.axc-map-layout {
  grid-template-columns: minmax(0, 1.25fr) minmax(320px, 0.75fr);
  align-items: stretch;
}

.axc-panel,
.axc-card,
.axc-map-card,
.axc-route-card {
  position: relative;
  overflow: hidden;
  background: var(--ax-panel, #fff);
  border: 1px solid var(--ax-border-soft, rgba(15, 23, 42, 0.06));
  border-radius: var(--ax-radius-lg, 24px);
  box-shadow: var(--ax-shadow, 0 18px 44px rgba(15, 23, 42, 0.08));
}

.axc-panel,
.axc-card,
.axc-route-card {
  padding: clamp(24px, 3vw, 36px);
}

.axc-panel::before,
.axc-card::before,
.axc-route-card::before {
  content: "";
  position: absolute;
  top: 0;
  left: clamp(24px, 3vw, 36px);
  right: clamp(24px, 3vw, 36px);
  height: 4px;
  border-radius: 999px;
  background: linear-gradient(
    90deg,
    var(--ax-accent, #7a5c2e),
    rgba(122, 92, 46, 0.16)
  );
}

.axc-card {
  display: flex;
  flex-direction: column;
  height: 100%;
  transition:
    transform 0.28s ease,
    box-shadow 0.28s ease,
    border-color 0.28s ease;
}

.axc-card:hover {
  transform: translateY(-6px);
  border-color: var(--ax-border-hover, rgba(122, 92, 46, 0.22));
  box-shadow: var(--ax-shadow-hover, 0 24px 64px rgba(15, 23, 42, 0.12));
}

.axc-panel__title,
.axc-card__title,
.axc-route-card__title {
  margin: 0;
  color: var(--ax-text, #0f172a);
  font-family: var(--ax-font-heading, inherit);
  font-size: clamp(1.15rem, 1rem + 0.48vw, 1.5rem);
  font-weight: 800;
  line-height: 1.28;
  letter-spacing: -0.025em;
  text-wrap: balance;
}

.axc-panel__text,
.axc-card__text {
  margin: 16px 0 0;
}

.axc-link {
  display: inline-flex;
  width: fit-content;
  margin-top: auto;
  padding-top: 24px;
}

.axc-link::after {
  content: "→";
  margin-left: 8px;
}

.axc-contact-list,
.axc-route-list {
  display: grid;
  gap: 12px;
  margin: 18px 0 0;
  padding: 0;
  list-style: none;
}

.axc-contact-list li {
  display: grid;
  grid-template-columns: minmax(150px, 0.35fr) minmax(0, 1fr);
  gap: 10px 16px;
  color: var(--ax-text-soft, #475569);
  line-height: 1.6;
}

.axc-contact-list span:first-child {
  color: var(--ax-text, #0f172a);
  font-weight: 800;
}

.axc-map-card {
  padding: 0;
  line-height: 0;
}

.axc-map {
  display: block;
  width: 100%;
  height: 100%;
  min-height: clamp(420px, 42vw, 620px);
  border: 0;
}

.axc-route-list li {
  position: relative;
  padding-left: 24px;
}

.axc-route-list li::before {
  content: "";
  position: absolute;
  top: 0.75em;
  left: 0;
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--ax-accent, #7a5c2e);
  transform: translateY(-50%);
}

.axc-route-actions {
  display: grid;
  gap: 12px;
  margin-top: auto;
  padding-top: 28px;
}

.axc-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  padding: 11px 22px;
  border: 1px solid transparent;
  border-radius: 999px;
  font-weight: 800;
  line-height: 1.15;
  text-align: center;
  text-decoration: none !important;
}

.axc-btn--primary {
  color: #fff !important;
  background: var(--ax-accent, #7a5c2e);
  border-color: var(--ax-accent, #7a5c2e);
}

.axc-btn--outline {
  color: var(--ax-accent, #7a5c2e) !important;
  background: rgba(255, 255, 255, 0.7);
  border-color: var(--ax-accent-line, rgba(122, 92, 46, 0.18));
}

.axc-anchor {
  position: relative;
  top: -80px;
  width: 1px;
  height: 1px;
  overflow: hidden;
}

@media (max-width: 1100px) {
  .axc-card-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .axc-map-layout {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 900px) {
  .axc-info-grid,
  .axc-card-grid {
    grid-template-columns: 1fr;
    max-width: 760px;
    margin-left: auto;
    margin-right: auto;
  }
}

@media (max-width: 640px) {
  .axc-container {
    width: calc(100% - 32px);
  }

  .axc-hero,
  .axc-form-section,
  .axc-map-section {
    padding-block: clamp(48px, 7vw, 72px);
  }

  .axc-title {
    font-size: clamp(1.9rem, 9.5vw, 3rem);
    line-height: 1.12;
  }

  .axc-title--section {
    font-size: clamp(1.7rem, 8.5vw, 2.6rem);
  }

  .axc-panel,
  .axc-card,
  .axc-route-card {
    padding: 24px;
  }

  .axc-contact-list li {
    grid-template-columns: 1fr;
    gap: 4px;
  }

  .axc-map {
    min-height: 360px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .axc-card {
    transition: none;
  }

  .axc-card:hover {
    transform: none;
  }
}

/* =========================================================
   AX CONTACT HERO — SHORT POINT STYLES
   ========================================================= */

.ax-contact-hero {
  overflow: hidden;
  padding-block: clamp(56px, 7vw, 96px);
  background:
    radial-gradient(
      circle at 50% -10%,
      rgba(122, 92, 46, 0.1),
      transparent 40%
    ),
    linear-gradient(
      180deg,
      rgba(255, 255, 255, 0.96),
      rgba(248, 250, 252, 0.98)
    ),
    var(--ax-bg, #f8fafc);
}

.ax-contact-head {
  max-width: 1140px;
  margin: 0 auto clamp(42px, 5.8vw, 78px);
  text-align: center;
}

.ax-contact-kicker {
  display: inline-flex;
  justify-content: center;
  width: fit-content;
  max-width: 100%;
  margin: 0 auto clamp(16px, 2vw, 22px);
  padding: 8px 14px;
  color: var(--ax-accent, #7a5c2e);
  background: var(--ax-accent-soft, rgba(122, 92, 46, 0.06));
  border: 1px solid var(--ax-accent-line, rgba(122, 92, 46, 0.18));
  border-radius: var(--ax-radius-pill, 999px);
  font-size: var(--ax-f-xs, 0.78rem);
  font-weight: 800;
  line-height: 1.35;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.ax-contact-title {
  max-width: 1120px;
  margin-inline: auto;
  font-size: clamp(2.05rem, 1.25rem + 3.2vw, 4.25rem);
  line-height: 1.08;
  letter-spacing: -0.045em;
}

.ax-contact-subtitle {
  max-width: 980px;
  margin-inline: auto;
  color: var(--ax-text-soft, #475569);
  line-height: 1.72;
}

.ax-contact-desc {
  max-width: 1040px;
  margin: clamp(24px, 3vw, 36px) auto 0;
  color: var(--ax-text-soft, #475569);
  font-size: clamp(1rem, 0.96rem + 0.16vw, 1.08rem);
  line-height: 1.78;
  text-align: center;
}

.ax-contact-desc strong,
.ax-contact-panel strong,
.ax-contact-card strong {
  color: var(--ax-text, #0f172a);
}

.ax-contact-hero a {
  color: var(--ax-accent, #7a5c2e);
  font-weight: 700;
  text-decoration: none;
}

.ax-contact-hero a:hover {
  color: var(--ax-accent-hover, #654a22);
  text-decoration: underline;
}

.ax-contact-info-grid {
  gap: clamp(20px, 2.5vw, 32px);
  margin-top: clamp(36px, 5vw, 64px);
}

.ax-contact-panel,
.ax-contact-card {
  position: relative;
  overflow: hidden;
  background: var(--ax-panel, #ffffff);
  border: 1px solid var(--ax-border-soft, rgba(15, 23, 42, 0.06));
  border-radius: var(--ax-radius-lg, 24px);
  box-shadow: var(--ax-shadow, 0 18px 44px rgba(15, 23, 42, 0.08));
}

.ax-contact-panel {
  padding: clamp(24px, 3vw, 36px);
}

.ax-contact-panel::before,
.ax-contact-card::before {
  content: "";
  position: absolute;
  top: 0;
  left: clamp(24px, 3vw, 36px);
  right: clamp(24px, 3vw, 36px);
  height: 4px;
  border-radius: var(--ax-radius-pill, 999px);
  background: linear-gradient(
    90deg,
    var(--ax-accent, #7a5c2e),
    rgba(122, 92, 46, 0.16)
  );
}

.ax-contact-panel h2 {
  margin: 0;
  color: var(--ax-text, #0f172a);
  font-family: var(--ax-font-heading, inherit);
  font-size: clamp(1.18rem, 1rem + 0.55vw, 1.5rem);
  font-weight: 800;
  line-height: 1.28;
  letter-spacing: -0.025em;
}

.ax-contact-panel p {
  margin: 16px 0 0;
  color: var(--ax-text-soft, #475569);
  line-height: 1.72;
}

.ax-contact-card-grid {
  gap: clamp(20px, 2.5vw, 32px);
  margin-top: clamp(30px, 4.5vw, 56px);
}

.ax-contact-card {
  display: flex;
  flex-direction: column;
  min-width: 0;
  height: 100%;
  padding: clamp(24px, 3vw, 36px);
  transition:
    transform var(--ax-transition, 0.35s ease),
    box-shadow var(--ax-transition, 0.35s ease),
    border-color var(--ax-transition, 0.35s ease);
}

.ax-contact-card:hover {
  transform: translateY(-6px);
  border-color: var(--ax-border-hover, rgba(122, 92, 46, 0.22));
  box-shadow: var(--ax-shadow-hover, 0 24px 64px rgba(15, 23, 42, 0.12));
}

.ax-contact-card-meta {
  display: inline-flex;
  width: fit-content;
  margin: 0 0 16px;
  padding: 7px 11px;
  color: var(--ax-accent, #7a5c2e);
  background: var(--ax-accent-soft, rgba(122, 92, 46, 0.06));
  border: 1px solid var(--ax-accent-line, rgba(122, 92, 46, 0.18));
  border-radius: var(--ax-radius-pill, 999px);
  font-size: 0.72rem;
  font-weight: 800;
  line-height: 1;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.ax-contact-card .ax-card-title {
  margin: 0;
  color: var(--ax-text, #0f172a);
  font-family: var(--ax-font-heading, inherit);
  font-size: clamp(1.15rem, 1rem + 0.48vw, 1.42rem);
  font-weight: 800;
  line-height: 1.28;
  letter-spacing: -0.025em;
}

.ax-contact-card .ax-card-text {
  margin: 16px 0 0;
  color: var(--ax-text-soft, #475569);
  line-height: 1.72;
}

.ax-contact-card .ax-link {
  display: inline-flex;
  width: fit-content;
  margin-top: auto;
  padding-top: 24px;
  color: var(--ax-accent, #7a5c2e);
  font-weight: 800;
}

.ax-contact-card .ax-link::after {
  content: "→";
  margin-left: 8px;
}

@media (max-width: 900px) {
  .ax-contact-info-grid,
  .ax-contact-card-grid {
    grid-template-columns: 1fr;
    max-width: 760px;
    margin-left: auto;
    margin-right: auto;
  }
}

@media (max-width: 640px) {
  .ax-contact-hero {
    padding-block: clamp(48px, 7vw, 72px);
  }

  .ax-contact-title {
    font-size: clamp(1.9rem, 9.5vw, 3rem);
    line-height: 1.12;
  }

  .ax-contact-kicker {
    width: 100%;
    border-radius: 18px;
    letter-spacing: 0.06em;
  }

  .ax-contact-panel,
  .ax-contact-card {
    padding: 24px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .ax-contact-card {
    transition: none;
  }

  .ax-contact-card:hover {
    transform: none;
  }
}

.ax-mag,
.ax-mag * {
  box-sizing: border-box;
}

.ax-mag {
  position: relative;
  width: 100%;
  overflow: hidden;
  padding: clamp(56px, 7vw, 96px) 0 clamp(60px, 8vw, 112px);
  color: var(--ax-text, #0f172a);
  background:
    radial-gradient(
      circle at 50% -10%,
      rgba(122, 92, 46, 0.1),
      transparent 40%
    ),
    linear-gradient(
      180deg,
      rgba(255, 255, 255, 0.96),
      rgba(248, 250, 252, 0.98)
    ),
    var(--ax-bg, #f8fafc);
}

.ax-mag--light {
  background:
    radial-gradient(
      circle at 50% -10%,
      rgba(122, 92, 46, 0.08),
      transparent 40%
    ),
    linear-gradient(
      180deg,
      rgba(248, 250, 252, 0.98),
      rgba(255, 255, 255, 0.96)
    ),
    var(--ax-bg, #f8fafc);
}

.ax-mag__container {
  position: relative;
  z-index: 1;
  width: min(
    100% - var(--ax-gutter, clamp(20px, 4vw, 48px)),
    var(--ax-container-max, 1360px)
  );
  max-width: var(--ax-container-max, 1360px);
  margin-inline: auto;
}

.ax-mag__head {
  max-width: 1140px;
  margin: 0 auto clamp(42px, 5.8vw, 78px);
  text-align: center;
}

.ax-mag__badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: fit-content;
  max-width: 100%;
  margin: 0 auto clamp(16px, 2vw, 22px);
  padding: 8px 14px;
  color: var(--ax-accent, #7a5c2e);
  background: var(--ax-accent-soft, rgba(122, 92, 46, 0.06));
  border: 1px solid var(--ax-accent-line, rgba(122, 92, 46, 0.18));
  border-radius: var(--ax-radius-pill, 999px);
  font-family: var(--ax-font-heading, inherit);
  font-size: var(--ax-f-xs, 0.78rem);
  font-weight: 800;
  line-height: 1.35;
  letter-spacing: 0.1em;
  text-align: center;
  text-transform: uppercase;
}

.ax-mag__title {
  max-width: 1120px;
  margin: 0 auto;
  color: var(--ax-text, #0f172a);
  font-family: var(--ax-font-heading, inherit);
  font-size: clamp(2.05rem, 1.25rem + 3.2vw, 4.25rem);
  font-weight: 800;
  line-height: 1.08;
  letter-spacing: -0.045em;
  text-align: center;
  text-wrap: balance;
}

.ax-mag__title--section {
  max-width: 1040px;
  font-size: clamp(1.8rem, 1.2rem + 2.4vw, 3.35rem);
  line-height: 1.1;
}

.ax-mag__lead {
  max-width: 980px;
  margin: clamp(18px, 2.4vw, 26px) auto 0;
  color: var(--ax-text-soft, #475569);
  font-size: var(--ax-f-lead, clamp(1rem, 0.95rem + 0.3vw, 1.125rem));
  line-height: 1.72;
  text-align: center;
  text-wrap: balance;
}

.ax-mag__content {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(24px, 4vw, 56px);
  max-width: 1180px;
  margin: 0 auto clamp(40px, 5vw, 64px);
}

.ax-mag__text {
  min-width: 0;
  color: var(--ax-text-soft, #475569);
  font-size: clamp(1rem, 0.96rem + 0.16vw, 1.08rem);
  line-height: 1.82;
}

.ax-mag__text p {
  margin: 0 0 20px;
}

.ax-mag__text p:last-child {
  margin-bottom: 0;
}

.ax-mag__text strong {
  color: var(--ax-text, #0f172a);
  font-weight: 800;
}

.ax-mag__text h3 {
  margin: 0 0 16px;
  color: var(--ax-text, #0f172a);
  font-family: var(--ax-font-heading, inherit);
  font-size: clamp(1.25rem, 1.05rem + 0.8vw, 1.75rem);
  font-weight: 800;
  line-height: 1.25;
  letter-spacing: -0.025em;
}

.ax-mag__text a {
  color: var(--ax-accent, #7a5c2e);
  font-weight: 800;
  text-decoration: underline;
  text-underline-offset: 3px;
}

.ax-mag__text a:hover,
.ax-mag__text a:focus-visible {
  color: var(--ax-accent-hover, #654a22);
}

.ax-mag__text ul {
  display: grid;
  gap: 10px;
  margin: 20px 0 0;
  padding: 0;
  list-style: none;
}

.ax-mag__text li {
  position: relative;
  padding-left: 24px;
  color: var(--ax-text-soft, #475569);
  line-height: 1.65;
}

.ax-mag__text li::before {
  content: "";
  position: absolute;
  top: 0.75em;
  left: 0;
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--ax-accent, #7a5c2e);
  box-shadow: 0 0 0 4px var(--ax-accent-soft, rgba(122, 92, 46, 0.06));
  transform: translateY(-50%);
}

.ax-mag__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(20px, 2.5vw, 32px);
  max-width: 1180px;
  margin: 0 auto;
}

.ax-mag-card {
  position: relative;
  display: flex;
  flex-direction: column;
  min-width: 0;
  height: 100%;
  padding: clamp(24px, 3vw, 36px);
  overflow: hidden;
  background: var(--ax-panel, #ffffff);
  border: 1px solid var(--ax-border-soft, rgba(15, 23, 42, 0.06));
  border-radius: var(--ax-radius-lg, 24px);
  box-shadow: var(--ax-shadow, 0 18px 44px rgba(15, 23, 42, 0.08));
  isolation: isolate;
  transition:
    transform var(--ax-transition, 0.35s ease),
    box-shadow var(--ax-transition, 0.35s ease),
    border-color var(--ax-transition, 0.35s ease);
}

.ax-mag-card::before {
  content: "";
  position: absolute;
  top: 0;
  left: clamp(24px, 3vw, 36px);
  right: clamp(24px, 3vw, 36px);
  height: 4px;
  border-radius: var(--ax-radius-pill, 999px);
  background: linear-gradient(
    90deg,
    var(--ax-accent, #7a5c2e),
    rgba(122, 92, 46, 0.16)
  );
  pointer-events: none;
}

.ax-mag-card:hover {
  transform: translateY(-6px);
  border-color: var(--ax-border-hover, rgba(122, 92, 46, 0.22));
  box-shadow: var(--ax-shadow-hover, 0 24px 64px rgba(15, 23, 42, 0.12));
}

.ax-mag-card__meta {
  display: inline-flex;
  align-items: center;
  width: fit-content;
  min-height: 30px;
  margin: 0 0 16px;
  padding: 7px 11px;
  color: var(--ax-accent, #7a5c2e);
  background: var(--ax-accent-soft, rgba(122, 92, 46, 0.06));
  border: 1px solid var(--ax-accent-line, rgba(122, 92, 46, 0.18));
  border-radius: var(--ax-radius-pill, 999px);
  font-size: 0.72rem;
  font-weight: 800;
  line-height: 1;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.ax-mag-card__title {
  margin: 0;
  color: var(--ax-text, #0f172a);
  font-family: var(--ax-font-heading, inherit);
  font-size: clamp(1.15rem, 1rem + 0.48vw, 1.5rem);
  font-weight: 800;
  line-height: 1.28;
  letter-spacing: -0.025em;
}

.ax-mag-card__text {
  margin: 16px 0 0;
  color: var(--ax-text-soft, #475569);
  line-height: 1.72;
}

.ax-mag-card__link {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  width: fit-content;
  margin-top: auto;
  padding-top: 24px;
  color: var(--ax-accent, #7a5c2e);
  font-size: 0.95rem;
  font-weight: 800;
  line-height: 1.4;
  text-decoration: none;
}

.ax-mag-card__link::after {
  content: "→";
}

.ax-mag-card__link:hover,
.ax-mag-card__link:focus-visible {
  gap: 12px;
  color: var(--ax-accent-hover, #654a22);
  text-decoration: none;
}

@media (max-width: 980px) {
  .ax-mag__content,
  .ax-mag__grid {
    grid-template-columns: 1fr;
    max-width: 760px;
  }
}

@media (max-width: 640px) {
  .ax-mag {
    padding-block: clamp(48px, 7vw, 72px);
  }

  .ax-mag__container {
    width: calc(100% - 32px);
  }

  .ax-mag__badge {
    width: 100%;
    border-radius: 18px;
    letter-spacing: 0.06em;
  }

  .ax-mag__title {
    font-size: clamp(1.9rem, 9.5vw, 3rem);
    line-height: 1.12;
  }

  .ax-mag__title--section {
    font-size: clamp(1.7rem, 8.5vw, 2.6rem);
  }

  .ax-mag-card {
    padding: 24px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .ax-mag-card,
  .ax-mag-card__link {
    transition: none;
  }

  .ax-mag-card:hover {
    transform: none;
  }
}  