/* IThub NN — main styles */
:root {
  --dod-bg: #1a1a1a;
  --dod-surface: #292929;
  --dod-surface-alt: #3d3d3d;
  --dod-purple: #9e39c3;
  --dod-purple-hover: #b24ad8;
  --dod-text: #ffffff;
  --dod-text-muted: #e9e3eb;
  --dod-text-soft: rgba(255, 255, 255, 0.65);
  --dod-border: #595959;
  --dod-container: 1200px;
  --dod-radius: 6px;
  --dod-radius-video: 5px;
  --dod-pill-radius: 50px;
  --color-bg: #1c222d;
  --color-bg-alt: #252b38;
  --color-header: #282822;
  --color-footer: #1d1d1b;
  --color-text: #ffffff;
  --color-text-muted: rgba(255, 255, 255, 0.75);
  --color-accent: #ab00ea;
  --color-accent-light: #d155ff;
  --color-accent-hot: #f05cff;
  --color-card-border: rgba(180, 120, 255, 0.16);
  --color-card-muted: #3e3f56;
  --color-date: #d155ff;
  --color-lilac: #d6d8ff;
  --font: "Montserrat", system-ui, sans-serif;
  --container: 1440px;
  --radius: 20px;
  --radius-lg: 25px;
  --radius-sm: 12px;
  --header-h: 87px;
  --transition: 0.2s ease;
}

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

html {
  scroll-behavior: smooth;
}

body {
  margin: 0;
  font-family: var(--font);
  font-size: 16px;
  line-height: 1.55;
  color: var(--color-text);
  background: var(--color-bg);
  overflow-x: clip;
}

img {
  max-width: 100%;
  height: auto;
  display: block;
}

a {
  color: var(--color-accent-light);
  text-decoration: none;
  transition: color var(--transition);
}

a:hover {
  color: var(--color-accent-hot);
}

.container {
  width: min(100% - 40px, var(--container));
  margin-inline: auto;
}

.container--wide {
  width: min(100% - 40px, 1360px);
}

.section {
  padding: 64px 0;
}

.section--tight {
  padding: 40px 0;
}

.section__title {
  margin: 0 0 12px;
  font-size: clamp(32px, 4vw, 64px);
  font-weight: 700;
  line-height: 1.05;
}

.section__lead {
  margin: 0 0 32px;
  max-width: 720px;
  color: var(--color-text-muted);
  font-size: 18px;
}

/* Header */
.site-header {
  position: sticky;
  top: 0;
  z-index: 1000;
  background: var(--color-header);
  max-width: 100%;
  overflow-x: clip;
}

.site-header__inner {
  display: grid;
  grid-template-columns: auto 1fr auto auto;
  align-items: center;
  gap: 16px 24px;
  min-height: var(--header-h);
  position: relative;
}

.site-header__logo {
  flex-shrink: 0;
}

.site-header__logo img {
  display: block;
  width: auto;
  max-width: min(374px, 42vw);
  height: auto;
}

.site-header__nav {
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  justify-content: center;
  gap: 6px 22px;
  min-width: 0;
}

.site-header__link {
  color: var(--color-text);
  font-size: 14px;
  line-height: 1.55;
  white-space: nowrap;
}

.site-header__link:hover {
  color: var(--color-accent-light);
}

.site-header__actions {
  display: flex;
  align-items: center;
  gap: 14px;
  flex-shrink: 0;
}

.site-header__phone {
  font-size: 18px;
  font-weight: 500;
  color: var(--color-text) !important;
  white-space: nowrap;
}

.site-header__phone:hover {
  color: var(--color-accent-light) !important;
}

.site-header__phone--in-nav {
  display: none;
}

.site-header__social-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  line-height: 0;
}

.site-header__social-btn img {
  display: block;
  width: 33px;
  height: 33px;
}

.site-header__burger {
  display: none;
  padding: 8px;
  border: none;
  background: transparent;
  cursor: pointer;
}

.site-header__burger span {
  display: block;
  width: 24px;
  height: 2px;
  margin: 5px 0;
  background: #fff;
  transition: transform 0.3s ease, opacity 0.2s ease;
}

.site-header__burger[aria-expanded="true"] span:nth-child(1) {
  transform: translateY(7px) rotate(45deg);
}

.site-header__burger[aria-expanded="true"] span:nth-child(2) {
  opacity: 0;
}

.site-header__burger[aria-expanded="true"] span:nth-child(3) {
  transform: translateY(-7px) rotate(-45deg);
}

/* Specialties dropdown */
.nav-item--has-menu {
  position: static;
}

.nav-item--has-menu.is-open .specialties-trigger {
  color: var(--color-accent-light);
}

.specialties-menu {
  display: block;
  position: fixed;
  top: calc(var(--header-h) + 8px);
  left: 50%;
  transform: translateX(-50%) translateY(-10px);
  width: min(1080px, calc(100vw - 32px));
  padding: 28px 36px;
  background: rgba(12, 12, 20, 0.96) !important;
  backdrop-filter: blur(14px);
  border: 1px solid var(--color-card-border);
  border-radius: 22px;
  box-shadow: 0 20px 60px rgba(0, 0, 0, 0.45), 0 0 40px rgba(120, 0, 255, 0.12);
  z-index: 99999;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition:
    opacity 0.3s ease,
    transform 0.35s ease,
    visibility 0s linear 0.35s;
}

.specialties-menu.is-open {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transform: translateX(-50%) translateY(0);
  transition:
    opacity 0.3s ease,
    transform 0.35s ease,
    visibility 0s;
}

.specialties-menu__grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 24px 32px;
}

.specialties-menu__col {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.specialties-menu__title {
  display: block;
  margin-bottom: 4px;
  font-size: 17px;
  font-weight: 700;
  line-height: 1.35;
  color: var(--color-accent-light) !important;
}

.specialties-menu a:not(.specialties-menu__title) {
  display: block;
  font-size: 15px;
  line-height: 1.4;
  color: var(--color-accent-light) !important;
}

.specialties-menu a:hover {
  color: var(--color-accent-hot) !important;
}

/* Hero */
.hero {
  position: relative;
  padding: 30px 0 40px;
  background: var(--color-bg);
  overflow: hidden;
}

.hero__bg {
  position: absolute;
  inset: 0;
  z-index: 0;
  border-radius: inherit;
  overflow: hidden;
  pointer-events: none;
  background: #1c222d;
}

.hero__spline {
  position: absolute;
  inset: 0;
  transform: translateZ(0);
}

.hero__spline--mobile {
  display: none;
}

.hero__spline spline-viewer {
  display: block;
  width: 100%;
  height: 100%;
}

.hero .container {
  position: relative;
  z-index: 1;
}

.hero__panel {
  position: relative;
  overflow: hidden;
  isolation: isolate;
  border: 2px solid #fff;
  border-radius: var(--radius);
  padding: 52px 48px 48px;
  min-height: 560px;
}

.hero__panel-glass {
  position: absolute;
  inset: 0;
  z-index: 1;
  border-radius: inherit;
  background: rgba(28, 34, 45, 0.35);
  backdrop-filter: blur(19px);
  -webkit-backdrop-filter: blur(19px);
  pointer-events: none;
}

.hero__layout {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(0, 0.95fr);
  gap: 32px 40px;
  align-items: start;
}

.hero__title {
  margin: 0 0 20px;
  font-size: clamp(28px, 4.2vw, 55px);
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.5px;
}

.hero__tagline {
  margin: 0 0 18px;
  max-width: 555px;
  font-size: clamp(16px, 2vw, 24px);
  font-weight: 400;
  line-height: 1;
}

.hero__benefits-title {
  margin: 0 0 8px;
  font-size: clamp(16px, 1.6vw, 20px);
}

.hero__list {
  margin: 0 0 28px;
  padding-left: 22px;
  max-width: 555px;
  font-size: clamp(14px, 1.4vw, 18px);
  line-height: 1.45;
}

.hero__list li {
  margin-bottom: 6px;
}

.hero__media {
  position: relative;
  min-height: 420px;
}

.hero__video {
  position: relative;
  width: 100%;
  max-width: 596px;
  aspect-ratio: 596 / 448;
  border-radius: 4px;
  overflow: hidden;
  background: #000;
}

.hero__video iframe {
  position: absolute;
  inset: 0;
  z-index: 0;
  display: none;
  width: 100%;
  height: 100%;
  border: 0;
}

.hero__video.is-playing iframe {
  display: block;
  pointer-events: none;
}

.hero__video.is-native-controls.is-playing .hero__video-play {
  display: none;
}

.hero__video.is-native-controls.is-playing iframe {
  pointer-events: auto;
}

.hero__video.is-playing:not(.is-native-controls) .hero__video-play {
  z-index: 1;
  background: transparent;
}

.hero__video.is-playing:not(.is-native-controls) .hero__video-play:hover {
  background: transparent;
}

.hero__video.is-playing:not(.is-paused):not(.is-native-controls) .hero__video-play-icon,
.hero__video.is-playing:not(.is-paused):not(.is-native-controls) .hero__video-play-text {
  visibility: hidden;
}

.hero__video-play {
  position: absolute;
  inset: 0;
  z-index: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 14px;
  width: 100%;
  height: 100%;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: inherit;
  background: rgba(0, 0, 0, 0.35);
  color: #fff;
  font: inherit;
  cursor: pointer;
  transition: background var(--transition);
}

.hero__video-play:hover {
  background: rgba(0, 0, 0, 0.48);
}

.hero__video-play-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 72px;
  height: 72px;
  border-radius: 50%;
  background: var(--color-accent);
  box-shadow: 0 8px 28px rgba(171, 0, 234, 0.45);
}

.hero__video-play-icon::after {
  content: "";
  width: 0;
  height: 0;
  margin-left: 4px;
  border-top: 12px solid transparent;
  border-bottom: 12px solid transparent;
  border-left: 20px solid #fff;
}

.hero__video-play-text {
  font-size: 16px;
  font-weight: 600;
}

.btn--hero {
  display: inline-flex;
  min-width: 264px;
  min-height: 50px;
  padding: 16px 32px;
  font-size: clamp(17px, 1.8vw, 24px);
  font-weight: 700;
  border-radius: var(--radius);
  background: var(--color-accent);
  color: #fff;
}

.btn--hero:hover {
  background: #9d1fe1;
  color: #fff;
}

.btn--white {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 60px;
  padding: 14px 32px;
  font-size: 24px;
  font-weight: 700;
  border-radius: var(--radius);
  background: #fff;
  color: #000 !important;
}

.btn--white:hover {
  color: #000 !important;
  box-shadow: 0 8px 24px rgba(255, 255, 255, 0.15);
}

/* About college block */
.section--college {
  padding-top: 48px;
  padding-bottom: 64px;
}

.about-college {
  display: grid;
  grid-template-columns: minmax(0, 660px) minmax(0, 1fr);
  gap: 32px 40px;
  align-items: start;
}

.about-college__left {
  display: flex;
  flex-direction: column;
  gap: 24px;
  min-width: 0;
}

.about-college__right {
  display: flex;
  flex-direction: column;
  gap: 24px;
  min-width: 0;
}

.about-college__events {
  display: flex;
  flex-direction: column;
  gap: 24px;
  min-width: 0;
}

@media (min-width: 1025px) {
  .about-college__events {
    min-height: 0;
    overflow: hidden;
  }

  .about-college__events .event-card--photo img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
}

.about-college__video-wrap {
  position: relative;
}

.about-college__video {
  display: block;
  width: 100%;
  padding: 0;
  border: 0;
  background: none;
  cursor: pointer;
  line-height: 0;
  border-radius: var(--radius-lg);
  overflow: hidden;
}

.about-college__video img {
  display: block;
  width: 100%;
  height: auto;
}

.about-college__video-cta {
  position: absolute;
  top: 34px;
  left: 30px;
  z-index: 2;
  padding: 0;
  border: 0;
  background: none;
  font-family: inherit;
  font-size: clamp(24px, 3vw, 36px);
  font-weight: 700;
  line-height: 1;
  color: #fff;
  cursor: pointer;
  text-align: left;
}

.about-college__video-cta:hover {
  color: var(--color-accent-light);
}

.about-college__panel {
  display: flex;
  flex-direction: column;
  min-height: 283px;
  padding: 28px 32px 36px;
  border-radius: var(--radius-lg);
  background: var(--color-card-muted);
}

.about-college__heading {
  margin: 0 0 16px;
  font-size: 36px;
  font-weight: 700;
  line-height: 1;
}

.about-college__text {
  margin: 0 0 20px;
  font-size: 20px;
  line-height: 1.25;
  color: var(--color-text);
  flex: 1;
}

.about-college__text--last {
  margin-bottom: 0;
}

.about-college__panel .btn--white {
  margin-bottom: 28px;
}

.about-college__leader {
  display: flex;
  flex-direction: column;
  gap: 20px;
  padding: 24px 28px 28px;
  border-radius: var(--radius-lg);
  background: var(--color-card-muted);
}

.about-college__leader-head {
  display: flex;
  align-items: flex-start;
  gap: 24px;
}

.about-college__leader-head img {
  width: 128px;
  height: 128px;
  flex-shrink: 0;
  border-radius: 50%;
  object-fit: cover;
}

.about-college__leader-info {
  flex: 1;
  min-width: 0;
  padding-top: 4px;
}

.about-college__leader-name {
  margin: 0 0 10px;
  font-size: 18px;
  font-weight: 600;
  line-height: 1.35;
  color: #fff;
}

.about-college__leader-name strong {
  font-weight: 700;
}

.about-college__leader-role {
  margin: 0;
  font-size: 16px;
  line-height: 1.35;
  color: var(--color-text-muted);
}

.about-college__leader-quote {
  margin: 0;
  font-size: 20px;
  line-height: 1.25;
  color: #fff;
}

/* DOD banner */
.event-banner {
  position: relative;
  min-height: 280px;
  border-radius: var(--radius-lg);
  background: var(--color-accent);
  color: #fff;
  overflow: hidden;
}
.event-banner--primary {
  padding: 35px;
}

.event-banner--sidebar {
  display: flex;
  flex-direction: column;
  flex: 1;
  min-height: 200px;
  padding: 28px 32px 32px;
}

.event-banner--sidebar .event-banner__body {
  margin-bottom: 20px;
  flex: 1;
}

.event-banner--sidebar .event-banner__title {
  font-size: 31px;
}

.event-banner--sidebar .event-banner__btn-bottom {
  margin-top: auto;
  align-self: flex-start;
}
.event-banner__hit {
  position: absolute;
  inset: 0;
  z-index: 0;
}

.event-banner__body {
  position: relative;
  z-index: 1;
  max-width: 568px;
}

.event-banner__title {
  margin: 0 0 8px;
  font-size: 36px;
  font-weight: 700;
  line-height: 1;
}

.event-banner__title--second {
  margin-top: 20px;
}

.event-banner__title a,
.event-banner__date a {
  color: inherit !important;
}

.event-banner__title a:hover,
.event-banner__date a:hover {
  color: var(--color-lilac) !important;
}

.event-banner__date {
  margin: 0;
  font-size: 20px;
  line-height: 1.25;
}

.event-banner__btn-top {
  position: absolute;
  top: 49px;
  right: 30px;
  z-index: 2;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  padding: 8px 20px;
  border: 2px solid #fff;
  border-radius: 30px;
  font-size: 20px;
  font-weight: 400;
  line-height: 1;
  color: #fff !important;
  text-transform: lowercase;
  background: transparent;
}

.event-banner__btn-top:hover {
  background: rgba(255, 255, 255, 0.12);
  color: #fff !important;
}

.event-banner__btn-bottom {
  margin-top: 50px;
  z-index: 2;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 55px;
  padding: 14px 32px;
  border-radius: var(--radius);
  font-size: 24px;
  font-weight: 700;
  line-height: 1;
  color: #000 !important;
  text-transform: lowercase;
  background: #fff;
}

.event-banner__btn-bottom:hover {
  box-shadow: 0 8px 24px rgba(255, 255, 255, 0.2);
  color: #000 !important;
}

.event-banner__social {
  position: absolute;
  right: 30px;
  bottom: 34px;
  z-index: 2;
  display: flex;
  align-items: center;
  gap: 18px;
}

.event-banner__social a {
  display: flex;
  line-height: 0;
}

.event-banner__social img {
  display: block;
  width: 43px;
}

/* Event cards grid */
.event-cards {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 24px;
}

.event-card {
  position: relative;
  display: flex;
  flex-direction: column;
  min-height: 283px;
  padding: 24px 28px 28px;
  border-radius: var(--radius-lg);
  background: var(--color-card-muted);
  color: #fff !important;
  transition: transform var(--transition), box-shadow var(--transition);
}

.event-card__link {
  display: block;
  flex: 1;
  color: inherit !important;
}

.event-card--wide {
  grid-column: 1 / -1;
}

.event-card:hover {
  color: #fff !important;
  transform: translateY(-2px);
  box-shadow: 0 12px 32px rgba(0, 0, 0, 0.35);
}

.event-card h3,
.event-card__title-split,
.event-card__title-lg {
  margin: 0 0 12px;
  font-size: 24px;
  font-weight: 700;
  line-height: 1;
}

.event-card__title-split span {
  display: block;
  margin-top: 4px;
}

.event-card__title-lg {
  font-size: 31px;
}

.event-card p {
  margin: 0 0 10px;
  font-size: 20px;
  line-height: 1.25;
  color: rgba(255, 255, 255, 0.92);
}

.event-card p:last-of-type {
  margin-bottom: 0;
}

.event-card__date {
  margin: 0 0 10px;
  font-size: 24px;
  font-weight: 500;
  line-height: 1.25;
  color: var(--color-date);
}

.event-card__subtitle {
  margin: 0 0 8px;
  font-size: 20px;
  line-height: 1.25;
}

.event-card__tag {
  margin: 0 0 8px;
  font-size: 18px;
  line-height: 1.25;
}

.event-card__topic {
  margin: 8px 0 0;
  font-size: 20px;
  font-weight: 600;
  line-height: 1.25;
  text-decoration: underline;
  text-underline-offset: 3px;
}

.event-card__cta {
  font-weight: 700;
  text-decoration: underline;
  text-underline-offset: 3px;
  font-size: 20px;
  color: var(--color-accent-light);
}

.event-card__more_link {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-top: auto;
}

.event-card__deco--art {
  right: 16px;
  bottom: 16px;
  width: min(80px, 22vw);
  height: auto;
  opacity: 0.9;
}

.event-card--simulator {
  justify-content: flex-start;
}

.event-card--simulator .event-card__pretag {
  margin: 0 0 14px;
  font-size: 18px;
  line-height: 1.25;
  color: #bd36ff;
}

.event-card--simulator .event-card__title-lg {
  margin: 0 0 10px;
  font-size: 31px;
  line-height: 1;
}

.event-card--simulator .event-card__date {
  margin: 0 0 12px;
  font-size: 24px;
  font-weight: 500;
  color: #bd36ff;
}

.event-card--simulator .event-card__lead {
  margin: 0 0 18px;
  max-width: 36em;
  font-size: 18px;
  line-height: 1.25;
  color: #fff;
}

.event-card__cta--underline {
  display: inline-block;
  margin-top: auto;
  font-size: 24px;
  font-weight: 700;
  color: var(--color-date);
  text-decoration: underline;
  text-underline-offset: 3px;
}

.event-card__cta--underline:hover {
  color: var(--color-accent-light);
}

.event-card--photo {
  min-height: 0;
  padding: 0;
  background: transparent;
  overflow: hidden;
}

.event-card--photo:hover {
  transform: none;
  box-shadow: none;
}

.event-card--photo img {
  display: block;
  width: 100%;
  height: auto;
  object-fit: cover;
}

/* Diploma block (rec2213162311) */
.section--diploma,
.section--trajectory {
  padding-top: 48px;
  padding-bottom: 64px;
}

.info-block__title {
  margin: 0 0 32px;
  font-size: clamp(25px, 5vw, 64px);
  font-weight: 700;
  line-height: 1.05;
}

.questions__title{
  font-style: italic;
}


.diploma-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(280px, 42%);
  gap: 24px;
  align-items: start;
}

.diploma-layout__intro {
  margin: 0 0 24px;
  max-width: 649px;
  font-size: 20px;
  line-height: 1.2;
  color: #fff;
}

.diploma-layout__intro p {
  margin: 0 0 0.6em;
}

.diploma-layout__intro p:last-child {
  margin-bottom: 0;
}

.diploma-layout__intro strong {
  font-weight: 700;
}

.diploma-layout__badge {
  padding: 20px 24px;
  border-radius: var(--radius-lg);
  background: var(--color-accent);
  color: #fff;
}

.diploma-layout__badge + .diploma-layout__badge {
  margin-top: 16px;
}

.diploma-layout__badge p {
  margin: 0;
  font-size: 20px;
  line-height: 1.2;
}

.diploma-layout__visual {
  border-radius: var(--radius-lg);
  background: #fff;
  overflow: hidden;
  min-height: 384px;
}

.diploma-layout__visual img {
  width: 100%;
  height: 100%;
  min-height: 384px;
  object-fit: cover;
  object-position: center;
}

/* Trajectory block (rec2261283341) */
.trajectory-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(280px, 38%);
  grid-template-rows: auto 1fr;
  gap: 24px 32px;
  align-items: start;
}

.trajectory-layout__intro {
  grid-column: 1;
  margin: 0;
  max-width: 769px;
  font-size: 20px;
  line-height: 1.2;
  color: #fff;
}

.trajectory-layout__intro p {
  margin: 0 0 0.6em;
}

.trajectory-layout__intro p:last-child {
  margin-bottom: 0;
}

.trajectory-layout__cards {
  grid-column: 1;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 24px;
}

.trajectory-layout__card {
  padding: 24px 28px;
  border-radius: var(--radius-lg);
  background: var(--color-accent);
  color: #fff;
}

.trajectory-layout__card p {
  margin: 0;
  font-size: 20px;
  line-height: 1.2;
}

.trajectory-layout__card > :first-child {
  margin-top: 0;
}

.trajectory-layout__card > :last-child {
  margin-bottom: 0;
}

.trajectory-layout__card strong {
  display: block;
  margin-bottom: 8px;
  font-weight: 700;
}

.trajectory-layout__visual {
  grid-column: 2;
  grid-row: 1 / span 2;
  align-self: stretch;
  border-radius: var(--radius-lg);
  background: #292929;
  overflow: hidden;
  min-height: 302px;
  max-height: 330px;
}

.trajectory-layout__visual img {
  display: block;
  width: 100%;
  height: 100%;
  min-height: 302px;
  object-fit: cover;
  object-position: center;
}

/* Why we're different (rec749375202) */
.section--why,
.section--employment {
  padding-top: 48px;
  padding-bottom: 64px;
}

.why-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 24px;
  align-items: stretch;
}

.why-card--session {
  grid-column: 1;
  grid-row: 1 / 3;
}

.why-card--incubator {
  grid-column: 2;
  grid-row: 1;
  align-self: start;
}

.why-grid__photo--dino {
  grid-column: 3;
  grid-row: 1;
  align-self: start;
}

.why-card--value {
  grid-column: 4;
  grid-row: 1 / 3;
}

.why-grid__photo--group {
  grid-column: 1;
  grid-row: 3;
}

.why-grid__photo--stage {
  grid-column: 2 / 4;
  grid-row: 2 / 4;
  min-height: 280px;
}

.why-card--roles {
  grid-column: 4;
  grid-row: 3 / 5;
}

.why-grid__photo--stickers {
  grid-column: 3;
  grid-row: 4;
}

.why-grid__photo {
  width: 100%;
  height: 100%;
  margin: 0;
  border-radius: var(--radius-lg);
  overflow: hidden;
  background: #292929;
}

.why-grid__photo img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.why-grid__photo--dino,
.why-grid__photo--group,
.why-grid__photo--stickers {
  aspect-ratio: 407 / 271;
}

.why-card {
  position: relative;
  display: flex;
  flex-direction: column;
  padding: 28px 24px 32px;
  border-radius: var(--radius-lg);
  background: var(--color-card-muted);
  color: #fff;
  overflow: hidden;
}

.why-card--accent {
  background: var(--color-accent);
}

.why-card__title {
  position: relative;
  z-index: 2;
  margin: 0 0 16px;
  font-size: 24px;
  font-weight: 700;
  line-height: 1;
}

.why-card__text {
  position: relative;
  z-index: 2;
  margin: 16px 0 0;
  font-size: 20px;
  line-height: 1.25;
}

.why-card__deco {
  position: absolute;
  pointer-events: none;
  object-fit: contain;
}

.why-card__deco--roles {
  top: 0;
  left: -8%;
  width: 72%;
  max-width: 280px;
  max-height: 52%;
  z-index: 1;
  opacity: 0.95;
}

.why-card--roles {

}

.why-card--roles .why-card__title,
.why-card--roles .why-card__text {
  max-width: 100%;
}

.why-person {
  position: relative;
  z-index: 2;
  display: flex;
  align-items: center;
  gap: 12px;
  margin-top: 8px;
}

.why-person__photo {
  flex-shrink: 0;
  width: 50px;
  height: 50px;
  border-radius: 50%;
  object-fit: cover;
}

.why-person__name {
  display: block;
  font-size: 16px;
  font-weight: 400;
  line-height: 1;
}

.why-person__role {
  display: block;
  margin-top: 6px;
  font-size: 14px;
  font-weight: 300;
  line-height: 1.25;
  color: #b4c3d6;
}

.why-card--accent .why-person__role {
  color: rgb(255 255 255 / 85%);
}

.why-banner {
  grid-column: 1 / 3;
  grid-row: 4;
  padding: 32px 28px;
  border-radius: var(--radius-lg);
  background: var(--color-card-muted);
  color: #fff;
}

.why-banner__main {
  min-width: 0;
}

.why-banner__title {
  margin: 0 0 16px;
  font-size: 24px;
  font-weight: 700;
  line-height: 1;
}

.why-banner__text {
  margin: 16px 0 0;
  max-width: 640px;
  font-size: 20px;
  line-height: 1.25;
}

.why-banner__deco {
  align-self: end;
  justify-self: end;
  width: 100%;
  max-width: 315px;
  max-height: 220px;
  object-fit: contain;
  object-position: right bottom;
}

/* Employment (rec929179241) */
.employment-top {
  display: grid;
  grid-template-columns: minmax(280px, 32%) minmax(0, 1fr);
  gap: 24px;
  align-items: stretch;
  margin-bottom: 40px;
}

.employment-stats {
  padding: 32px 28px;
  border-radius: var(--radius-lg);
  background: var(--color-card-muted);
}

.employment-stats__heading {
  margin: 0 0 20px;
  font-size: 20px;
  font-weight: 700;
  line-height: 1.2;
  color: #fff;
}

.employment-stats__text {
  margin: 0;
  font-size: 20px;
  line-height: 1.2;
  color: #fff;
}

.employment-visual {
  border-radius: var(--radius-lg);
  overflow: hidden;
  min-height: 280px;
}

.employment-visual img {
  display: block;
  width: 100%;
  height: 100%;
  min-height: 280px;
  object-fit: cover;
  object-position: center;
}

.employment-stories {
  padding: 30px 32px 32px;
  border-radius: var(--radius-lg);
  background: var(--color-card-muted);
}

.employment-stories__title {
  margin: 0 0 30px;
  font-size: 24px;
  font-weight: 700;
  line-height: 1;
  color: #fff;
}

.employment-videos {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 24px;
}

.employment-video {
  position: relative;
  border-radius: var(--radius-lg);
  overflow: hidden;
  background: #000;
  aspect-ratio: 410 / 230;
}

.employment-video iframe {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  border: 0;
}

/* College video popup */
.video-modal {
  position: fixed;
  inset: 0;
  z-index: 100000;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 24px;
}

.video-modal[hidden] {
  display: none;
}

.video-modal__backdrop {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.82);
}

.video-modal__dialog {
  position: relative;
  z-index: 1;
  width: min(960px, 100%);
}

.video-modal__close {
  position: absolute;
  top: -44px;
  right: 0;
  padding: 4px 12px;
  border: none;
  background: transparent;
  color: #fff;
  font-size: 36px;
  line-height: 1;
  cursor: pointer;
}

.video-modal__frame {
  aspect-ratio: 16 / 9;
  border-radius: var(--radius-sm);
  overflow: hidden;
  background: #000;
}

.video-modal__frame iframe {
  width: 100%;
  height: 100%;
  border: 0;
}

/* Buttons */
.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 14px 28px;
  font-family: inherit;
  font-size: 16px;
  font-weight: 600;
  border: none;
  border-radius: var(--radius);
  cursor: pointer;
  transition: transform var(--transition), box-shadow var(--transition);
}

.btn--primary {
  background: linear-gradient(135deg, #ab00ea, #7b2ff7);
  color: #fff;
}

.btn--secondary {
  background: #fff;
  color: #000;
}

.btn:hover {
  transform: translateY(-1px);
  box-shadow: 0 8px 24px rgba(171, 0, 234, 0.35);
}

/* Cards grid */
.cards {
  display: grid;
  gap: 20px;
}

.cards--2 {
  grid-template-columns: repeat(2, 1fr);
}

.cards--3 {
  grid-template-columns: repeat(3, 1fr);
}

.cards--4 {
  grid-template-columns: repeat(4, 1fr);
}

.card {
  padding: 24px;
  background: var(--color-card-muted);
  border: 1px solid transparent;
  border-radius: var(--radius-lg);
}

.card__title {
  margin: 0 0 8px;
  font-size: 20px;
  font-weight: 700;
}

.card__meta {
  margin: 0 0 12px;
  font-size: 14px;
  color: var(--color-accent-light);
}

.card p {
  margin: 0;
  color: var(--color-text-muted);
  font-size: 15px;
}

.card--link {
  display: block;
  color: inherit;
  transition: border-color var(--transition), transform var(--transition);
}

.card--link:hover {
  color: inherit;
  border-color: var(--color-accent);
  transform: translateY(-2px);
}

/* Specialties (rec749375205) */
.section--specialties {
  padding-top: 48px;
  padding-bottom: 64px;
}

.specialties-panel {
  padding: 56px 48px 48px;
  border-radius: var(--radius-lg);
  background: var(--color-bg);
}

.specialties-panel__title {
  margin: 0 0 40px;
  font-size: clamp(32px, 5vw, 64px);
  font-weight: 700;
  line-height: 1;
}

.specialties-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 24px;
}

.specialty-card {
  position: relative;
  display: flex;
  flex-direction: column;
  min-height: 324px;
  padding: 28px 32px 32px;
  border-radius: var(--radius-lg);
  background: var(--color-card-muted);
  overflow: hidden;
}

.specialty-card__hit {
  position: absolute;
  inset: 0;
  z-index: 0;
}

.specialty-card__content {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  flex: 1;
  max-width: min(100%, 360px);
}

.specialty-card__heading {
  margin: 0 0 12px;
  font-size: 24px;
  font-weight: 700;
  line-height: 1.15;
}

.specialty-card__heading a {
  color: var(--color-accent) !important;
  text-decoration: none;
  transition: color var(--transition);
}

.specialty-card__heading a:hover {
  color: var(--color-accent-hot) !important;
}

.specialty-card__code {
  margin: 0 0 14px;
  font-size: 16px;
  line-height: 1.25;
  color: #b4c3d6;
}

.specialty-card__roles-title {
  margin: 0 0 8px;
  font-size: 20px;
  font-weight: 700;
  line-height: 1.2;
  color: #fff;
}

.specialty-card__roles {
  margin: 0 0 20px;
  padding: 0 0 0 1.15em;
  list-style: disc;
  font-size: 20px;
  line-height: 1.35;
  color: #fff;
}

.specialty-card__roles li {
  margin-bottom: 6px;
}

.specialty-card__roles li:last-child {
  margin-bottom: 0;
}

.specialty-card__roles a {
  color: #fff !important;
  text-decoration: none;
}

.specialty-card__roles a:hover {
  color: var(--color-accent-light) !important;
}

.specialty-card__btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  align-self: flex-start;
  min-width: min(100%, 302px);
  min-height: 60px;
  margin-top: auto;
  padding: 14px 28px;
  border-radius: 20px;
  font-size: 24px;
  font-weight: 700;
  line-height: 1;
  color: #fff !important;
  background: #9d1fe1;
  transition:
    background var(--transition),
    box-shadow var(--transition),
    transform var(--transition);
}

.specialty-card__btn:hover,
.specialty-card__btn:focus-visible {
  color: #fff !important;
  background: #ab00ea;
  box-shadow: 0 8px 28px rgba(171, 0, 234, 0.45);
  transform: translateY(-2px);
}

.specialty-card__btn:focus-visible {
  outline: 2px solid var(--color-accent-light);
  outline-offset: 3px;
}

.specialty-card__art {
  position: absolute;
  top: 50%;
  right: 8px;
  z-index: 1;
  width: auto;
  max-width: 42%;
  max-height: 55%;
  height: auto;
  object-fit: contain;
  pointer-events: none;
  transform: translateY(-50%);
}

.specialty-card--programming .specialty-card__art {
  right: 12px;
  max-width: 38%;
}

.specialty-card--management .specialty-card__art {
  right: 16px;
  max-width: 34%;
}

.specialty-card--design .specialty-card__art {
  right: 20px;
  max-width: 36%;
}

.specialty-card--games .specialty-card__art {
  right: 12px;
  max-width: 40%;
}

.specialty-card--games {
  min-height: 338px;
}

/* Stats */
.stats {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
  text-align: center;
}

.stat__value {
  font-size: 48px;
  font-weight: 700;
  color: var(--color-accent-light);
  line-height: 1;
}

.stat__label {
  margin-top: 8px;
  font-size: 14px;
  color: var(--color-text-muted);
}

/* Booking banner (rec1051656826) */
.section--booking {
  padding-top: 24px;
  padding-bottom: 24px;
}

.booking-banner {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 32px;
  min-height: 281px;
  padding: 56px 48px;
  border-radius: var(--radius-lg);
  background: var(--color-accent);
  color: #fff;
  text-align: center;
}

.booking-banner__text {
  margin: 0;
  max-width: 820px;
  font-size: clamp(25px, 2.5vw, 33px);
  font-weight: 700;
  line-height: 1.15;
}

.booking-banner__btn {
  border-radius: 15px;
  min-width: 290px;
  white-space: nowrap;
  font-weight: 700;
  font-size: 24px;
}

/* Partners (rec749375207) */
.section--partners {
  padding-top: 48px;
  padding-bottom: 48px;
}

.partners-spotlight {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 20px;
  margin-bottom: 32px;
}

.partners-spotlight__item {
  border-radius: var(--radius-lg);
  background: #fff;
  overflow: hidden;
  min-height: 120px;
}

.partners-spotlight__item img {
  display: block;
  width: 100%;
  height: 100%;
  min-height: 120px;
  object-fit: cover;
}

.partners-logos {
  display: grid;
  grid-template-columns: repeat(8, minmax(0, 1fr));
  gap: 16px 20px;
  align-items: center;
}

.partners-logos__item {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 56px;
  padding: 8px;
  border-radius: var(--radius-sm);
  background: #fff;
}

.partners-logos__item img {
  max-width: 100%;
  max-height: 48px;
  object-fit: contain;
}

.partners-logos--cols-7 {
  grid-template-columns: repeat(7, minmax(0, 1fr));
}

.page-mgmt .partners-logos--cols-7 .partners-logos__item {
  min-height: 72px;
  padding: 12px 16px;
  border-radius: 12px;
}

.page-mgmt .partners-logos--cols-7 .partners-logos__item img {
  max-height: 56px;
}

.partners-featured {
  display: flex;
  align-items: center;
  gap: 16px;
  margin: 32px 0 0;
}

.partners-featured__photo {
  width: 134px;
  height: auto;
  border-radius: var(--radius-sm);
  object-fit: cover;
}

.partners-featured__name {
  font-size: 20px;
  font-weight: 600;
}

/* Payment (rec1813928171) */
.section--payment {
  padding-top: 48px;
  padding-bottom: 64px;
}

.payment-layout {
  display: flex;
  flex-direction: column;
  gap: 20px;
}

.payment-methods {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 24px;
  align-items: stretch;
}

.payment-methods__col {
  display: flex;
  flex-direction: column;
  gap: 20px;
}

.payment-method {
  display: flex;
  gap: 20px;
  justify-content: space-between;
  align-items: flex-start;
  min-height: 143px;
  padding: 28px 32px;
  border-radius: var(--radius-lg);
  background: var(--color-card-muted);
  color: #fff;
}

.payment-method--tall {
  min-height: 100%;
}

.payment-method__body {
  flex: 1;
  min-width: 0;
}

.payment-method__num {
  flex-shrink: 0;
  font-size: 24px;
  font-weight: 700;
  line-height: 1;
  color: var(--color-accent-light);
  opacity: 0.95;
}

.payment-method__title {
  margin: 0 0 12px;
  font-size: 20px;
  font-weight: 700;
  line-height: 1.2;
}

.payment-method__text {
  margin: 0;
  font-size: 20px;
  line-height: 1.2;
  color: #fff;
}

.payment-method__text a {
  color: var(--color-accent-light);
  text-decoration: underline;
}

.payment-method__text p,
.payment-tax__link p,
.payment-cost__price-line p,
.payment-cost__price-alt p {
  margin: 0;
}

.payment-method__text p + p,
.payment-cost__price-line p + p,
.payment-cost__price-alt p + p {
  margin-top: 0.5em;
}

.payment-tax {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px 40px;
  min-height: 113px;
  padding: 18px 40px;
  border-radius: var(--radius-lg);
  background: var(--color-accent);
  color: #fff;
}

.payment-tax__title {
  flex: 0 0 auto;
  margin: 0;
  font-size: clamp(20px, 2.2vw, 30px);
  font-weight: 700;
  line-height: 1.2;
}

.payment-tax__text {
  flex: 1 1 auto;
  min-width: 0;
  margin: 0;
  font-size: clamp(16px, 1.8vw, 24px);
  font-weight: 400;
  line-height: 1.25;
}

.payment-tax__link {
  flex: 0 0 auto;
  margin: 0;
}

.payment-tax__btn,
.payment-tax__link a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 14px 28px;
  border-radius: 999px;
  background: #1d1d1b;
  color: #fff;
  font-size: clamp(14px, 1.4vw, 18px);
  font-weight: 500;
  line-height: 1.2;
  text-decoration: none;
  white-space: nowrap;
  transition: background var(--transition), color var(--transition);
}

.payment-tax__btn:hover,
.payment-tax__link a:hover {
  background: #000;
  color: #fff;
}

.payment-cost {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(280px, 590px);
  gap: 24px 48px;
  align-items: start;
  min-height: 235px;
  padding: 16px 40px;
  border-radius: var(--radius-lg);
  background: var(--color-card-muted);
  color: #fff;
}

.payment-cost__info {
  display: flex;
  flex-direction: column;
  align-self: stretch;
  min-height: 100%;
}

.payment-cost__title {
  margin: 0 0 24px;
  font-size: clamp(32px, 4vw, 55px);
  font-weight: 700;
  line-height: 1;
}

.payment-cost__note {
  margin: 0;
  font-size: clamp(18px, 2.2vw, 30px);
  font-weight: 400;
  line-height: 1.2;
}

.payment-cost__period {
  margin: auto 0 0;
  font-size: clamp(14px, 1.6vw, 22px);
  font-weight: 400;
  line-height: 1.2;
  color: rgba(255, 255, 255, 0.9);
}

.payment-cost__pricing {
  padding-top: 15px;
  font-size: clamp(22px, 3vw, 42px);
  font-weight: 400;
  line-height: 1.2;
}

.payment-cost__price-line {
  margin: 0;
}

.payment-cost__price-line strong {
  font-weight: 700;
}

.payment-cost__price-alt {
  margin: 16px 0 0;
  color: var(--color-accent);
}

.payment-cost__price-alt strong {
  font-weight: 700;
}

/* Study space + excursion (rec749375206) */
.section--study-space {
  padding-top: 48px;
  padding-bottom: 64px;
}

.study-space {
  padding: 36px 32px 40px;
  background: var(--color-card-muted);
  border-radius: var(--radius-lg);
}

.study-space__title {
  margin-bottom: 38px;
}

.study-space__gallery {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 24px;
  margin: 0 0 48px;
}

.study-space__photo {
  margin: 0;
  border-radius: var(--radius-lg);
  overflow: hidden;
  aspect-ratio: 407 / 271;
  background: var(--color-bg-alt);
}

.study-space__photo img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.study-space__booking-title {
  margin: 0 0 20px;
  font-size: 36px;
  font-weight: 700;
  line-height: 1;
}

.study-space__form-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) 450px;
  gap: 20px;
  align-items: end;
  width: 100%;
}

.study-space__form-name {
  grid-column: 1;
  grid-row: 1;
}

.study-space__form-phone {
  grid-column: 2;
  grid-row: 1;
}

.study-space__form .form__group {
  min-width: 0;
  margin: 0;
}

.study-space__form label {
  display: block;
  margin-bottom: 5px;
  font-size: 24px;
  font-weight: 400;
  line-height: 1.2;
  color: #fff;
}

.study-space__form .form__group > input {
  width: 100%;
  height: 50px;
  padding: 0 20px;
  font-size: 23px;
  color: #1a1a1a;
  background: #fff;
  border: 1px solid #fff;
  border-radius: var(--radius);
}

.study-space__form .form__group > input::placeholder {
  color: #969696;
}

.study-space__phone {
  position: relative;
  display: flex;
  align-items: center;
  gap: 10px;
  height: 50px;
  padding: 0 16px;
  background: #fff;
  border-radius: var(--radius);
}

.study-space__phone .iti,
.contacts-form__phone .iti {
  flex: 1;
  min-width: 0;
  width: 100%;
}

.iti__tel-input {
  letter-spacing: 0;
  font-variant-numeric: tabular-nums;
}

.study-space__phone .iti__tel-input,
.contacts-form__phone .iti__tel-input {
  padding-left: 72px !important;
}

.study-space__phone .iti__selected-flag,
.contacts-form__phone .iti__selected-flag {
  padding: 0 10px 0 16px;
}

.iti__country {
  font-size: 14px;
  color: #000 !important;
}

.iti__dial-code {
  font-size: 14px;
  color: #000 !important;
}

.study-space__phone input,
.study-space__phone .iti__tel-input {
  flex: 1;
  min-width: 0;
  height: 100%;
  padding: 0;
  font-size: 23px;
  color: #1a1a1a;
  background: transparent;
  border: 0;
  border-radius: 0;
}

.study-space__phone input::placeholder {
  color: #969696;
}

.study-space__phone input:focus {
  outline: none;
}

.study-space__form .form__group > input:focus,
.study-space__phone:focus-within {
  outline: 2px solid var(--color-accent);
  outline-offset: 2px;
}

.study-space__submit-cell {
  grid-column: 3;
  grid-row: 1;
  min-width: 0;
}

.study-space__submit {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 50px;
  padding: 0 32px;
  font-family: inherit;
  font-size: 24px;
  font-weight: 700;
  line-height: 1;
  border: 0;
  border-radius: var(--radius);
  background: var(--color-accent);
  color: #fff;
  cursor: pointer;
  transition: none;
}

.study-space__submit:hover {
  background: var(--color-accent);
  color: #fff;
}

.study-space__consent {
  grid-column: 1 / 3;
  grid-row: 2;
  margin: 0;
  font-size: 14px;
  line-height: 1.4;
  color: #fff;
}

.study-space__consent p {
  margin: 0;
}

.study-space__consent a {
  color: var(--color-accent);
  font-weight: 700;
  text-decoration: none;
}

.study-space__consent a:hover {
  text-decoration: underline;
}

.study-space__lead {
  margin: 24px 0 0;
  max-width: 962px;
  font-size: 24px;
  font-weight: 400;
  line-height: 1.4;
  color: #fff;
}

/* Benefits (rec749375211) */
.section--benefits {
  padding-top: 48px;
  padding-bottom: 64px;
}

.benefits-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 24px;
}

.benefit-card {
  position: relative;
  display: flex;
  align-items: stretch;
  min-height: 255px;
  padding: 28px 32px 24px;
  border-radius: var(--radius-lg);
  background: var(--color-card-muted);
  color: #fff;
  overflow: hidden;
}

.benefit-card__body {
  position: relative;
  z-index: 1;
  flex: 1;
  min-width: 0;
  max-width: calc(100% - 120px);
  padding-right: 12px;
}

.benefit-card__title {
  margin: 0 0 16px;
  font-size: 24px;
  font-weight: 700;
  line-height: 1.1;
}

.benefit-card__text {
  margin: 0;
  font-size: 20px;
  line-height: 1.2;
}

.benefit-card__icon {
  position: absolute;
  right: 20px;
  top: 50%;
  transform: translateY(-50%);
  width: 170px;
  height: 170px;
  object-fit: contain;
  pointer-events: none;
}

/* Admission (rec769905646) */
.section--admission {
  padding-top: 48px;
  padding-bottom: 64px;
}

.admission-layout {
  display: grid;
  grid-template-columns: minmax(0, 653fr) minmax(0, 658fr);
  gap: 30px;
  align-items: start;
}

.admission-layout__left,
.admission-layout__right {
  display: flex;
  flex-direction: column;
  gap: 24px;
  min-width: 0;
}

.admission-intro {
  margin: 0;
  font-size: 20px;
  line-height: 1.2;
  color: #fff;
}

.admission-steps-lead {
  margin: 0;
  font-size: clamp(18px, 2.5vw, 30px);
  font-weight: 700;
  line-height: 1.2;
  color: #fff;
}

.admission-steps-lead p {
  margin: 0;
}

.admission-visual {
  margin: 0;
  border-radius: var(--radius-lg);
  background: var(--color-card-muted);
  overflow: hidden;
}

.admission-visual img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 653 / 613;
  object-fit: cover;
}

.admission-promo {
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 16px;
  padding: 28px 30px;
  border-radius: var(--radius-lg);
  background: var(--color-card-muted);
  color: #fff;
}

.admission-promo__title {
  margin: 0;
  font-size: clamp(22px, 3vw, 36px);
  font-weight: 700;
  line-height: 1.1;
}

.admission-promo__text {
  margin: 0;
  font-size: 20px;
  line-height: 1.2;
}

.admission-steps {
  display: flex;
  flex-direction: column;
  gap: 20px;
}

.admission-step {
  padding: 24px 28px;
  border-radius: var(--radius-lg);
  background: var(--color-accent);
  color: #fff;
}

.admission-step__label {
  margin: 0 0 12px;
  font-size: 24px;
  font-weight: 700;
  line-height: 1.1;
}

.admission-step__text {
  margin: 0;
  font-size: 20px;
  line-height: 1.2;
}

.admission-layout__cta {
  width: 100%;
  min-height: 62px;
  color: var(--color-accent) !important;
  font-size: 24px;
  font-weight: 700;
}

.admission-layout__cta:hover {
  color: var(--color-accent) !important;
}

/* FAQ (rec749375212) */
.section--faq {
  padding-top: 48px;
  padding-bottom: 64px;
}

.faq__lead {
  margin: 0 0 40px;
  max-width: 560px;
  font-size: 20px;
  line-height: 1.3;
  color: #fff;
}

.faq {
  width: 100%;
}

.faq__item {
  border-top: 1px solid #eee;
}

.faq__item:last-child {
  border-bottom: 1px solid #eee;
}

.faq__question {
  width: 100%;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 20px;
  padding: 24px 0;
  border: none;
  background: none;
  color: #fff;
  font-family: inherit;
  font-size: clamp(16px, 2vw, 24px);
  font-weight: 600;
  line-height: 1.2;
  text-align: left;
  cursor: pointer;
}

.faq__question-text {
  flex: 1;
  min-width: 0;
}

.faq__icon {
  flex-shrink: 0;
  width: 24px;
  height: 24px;
  color: var(--color-accent);
  transition: transform var(--transition);
}

.faq__item.is-open .faq__icon {
  transform: rotate(45deg);
}

.faq__answer {
  display: grid;
  grid-template-rows: 0fr;
  transition: grid-template-rows 0.35s ease;
}

.faq__item.is-open .faq__answer {
  grid-template-rows: 1fr;
}

.faq__answer-inner {
  overflow: hidden;
  min-height: 0;
  padding: 0 0 24px;
  font-size: 16px;
  line-height: 1.4;
  color: var(--color-text-muted);
  opacity: 0;
  transform: translateY(-6px);
  transition:
    opacity 0.3s ease,
    transform 0.35s ease;
}

.faq__item.is-open .faq__answer-inner {
  opacity: 1;
  transform: translateY(0);
}

@media (prefers-reduced-motion: reduce) {
  .faq__answer,
  .faq__answer-inner {
    transition: none;
  }

  .faq__item.is-open .faq__answer-inner {
    transform: none;
  }
}

.faq__answer a,
.faq__answer-inner a {
  color: rgb(207, 75, 255);
  text-decoration: underline;
}

.faq__answer ul,
.faq__answer-inner ul {
  margin: 12px 0;
  padding-left: 1.25em;
}

.faq__answer li,
.faq__answer-inner li {
  margin: 6px 0;
}

/* Carousel */
.carousel {
  position: relative;
}

.carousel__track {
  display: flex;
  gap: 20px;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  scrollbar-width: none;
  padding-bottom: 8px;
}

.carousel__track::-webkit-scrollbar {
  display: none;
}

.carousel__slide {
  flex: 0 0 min(320px, 85vw);
  scroll-snap-align: start;
}

.carousel__controls {
  display: flex;
  justify-content: center;
  gap: 12px;
  margin-top: 20px;
}

.carousel__btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 48px;
  height: 48px;
  padding: 0;
  border-radius: 50%;
  border: 1px solid rgba(240, 92, 255, 0.35);
  background: linear-gradient(145deg, rgba(171, 0, 234, 0.85) 0%, rgba(130, 0, 180, 0.95) 100%);
  color: #fff;
  cursor: pointer;
  box-shadow:
    0 4px 18px rgba(171, 0, 234, 0.35),
    inset 0 1px 0 rgba(255, 255, 255, 0.15);
  transition:
    transform 0.25s ease,
    box-shadow 0.25s ease,
    background 0.25s ease,
    border-color 0.25s ease;
}

.carousel__btn-icon {
  display: block;
  flex-shrink: 0;
  transition: transform 0.25s ease;
}

.carousel__btn--prev:hover .carousel__btn-icon,
.carousel__btn--prev:focus-visible .carousel__btn-icon {
  transform: translateX(-2px);
}

.carousel__btn--next:hover .carousel__btn-icon,
.carousel__btn--next:focus-visible .carousel__btn-icon {
  transform: translateX(2px);
}

.carousel__btn:hover,
.carousel__btn:focus-visible {
  background: linear-gradient(145deg, rgba(209, 85, 255, 0.95) 0%, rgba(171, 0, 234, 1) 100%);
  border-color: rgba(255, 220, 255, 0.55);
  box-shadow:
    0 8px 28px rgba(171, 0, 234, 0.5),
    0 0 0 1px rgba(240, 92, 255, 0.25),
    inset 0 1px 0 rgba(255, 255, 255, 0.25);
  transform: scale(1.08);
}

.carousel__btn:active {
  transform: scale(0.96);
  box-shadow: 0 2px 12px rgba(171, 0, 234, 0.4);
}

.carousel__btn:focus-visible {
  outline: 2px solid var(--color-accent-light);
  outline-offset: 3px;
}

@media (prefers-reduced-motion: reduce) {
  .event-card__cta,
  .event-card__cta::after,
  .carousel__btn,
  .carousel__btn-icon {
    transition: none;
  }

  .event-card__cta:hover,
  .event-card__cta:focus-visible,
  .carousel__btn:hover,
  .carousel__btn:focus-visible {
    transform: none;
  }

  .carousel--mts .carousel__btn:hover,
  .carousel--mts .carousel__btn:focus-visible,
  .carousel--mts .carousel__btn:active {
    transform: translateY(-50%);
  }
}

/* Teachers slider (rec749375203) */
.section--teachers {
  padding-top: 48px;
  padding-bottom: 64px;
}

.teachers__title {
  margin-bottom: 32px;
}

.carousel--teachers {
  --teachers-gap: 24px;
  --teacher-thumb-offset: clamp(70px, 9vw, 170px);
  display: grid;
  grid-template-columns: 40px minmax(0, 1fr) 40px;
  gap: 20px;
  align-items: start;
}

.carousel--teachers .carousel__viewport {
  min-width: 0;
  overflow: hidden;
}

.carousel--teachers .carousel__track {
  gap: var(--teachers-gap);
  padding-bottom: 0;
}

.carousel--teachers .carousel__slide {
  flex: 0 0 calc((100% - var(--teachers-gap) * 2) / 3);
  scroll-snap-align: start;
}

.carousel--teachers .carousel__btn {
  align-self: start;
  width: 40px;
  height: 40px;
  margin-top: var(--teacher-thumb-offset);
}

.teacher-card {
  display: flex;
  flex-direction: column;
  min-width: 0;
}

.teacher-card img {
  width: 100%;
  aspect-ratio: 1;
  object-fit: cover;
  border-radius: var(--radius-lg);
  margin-bottom: 16px;
}

.teacher-card__subject {
  margin: 0 0 8px;
  font-size: clamp(12px, 1.2vw, 14px);
  font-weight: 400;
  line-height: 1.2;
  color: #f5f5f5;
}

.teacher-card__name {
  margin: 0 0 12px;
  font-size: clamp(22px, 2.2vw, 32px);
  font-weight: 600;
  line-height: 1.1;
  color: #fff;
}

.teacher-card__bio {
  margin: 0;
  font-size: clamp(14px, 1.4vw, 17px);
  font-weight: 400;
  line-height: 1.2;
  color: #fff;
}

.teacher-card__experience {
  margin: 12px 0 0;
  font-size: clamp(14px, 1.4vw, 17px);
  font-weight: 400;
  line-height: 1.2;
  color: #fff;
}

/* Forms */
.form {
  max-width: 520px;
}

.form__group {
  margin-bottom: 16px;
}

.form label {
  display: block;
  margin-bottom: 6px;
  font-size: 14px;
  font-weight: 500;
}

.form input,
.form select,
.form textarea {
  width: 100%;
  padding: 12px 16px;
  font-family: inherit;
  font-size: 16px;
  color: #fff;
  background: rgba(255, 255, 255, 0.08);
  border: 1px solid rgba(255, 255, 255, 0.2);
  border-radius: var(--radius-sm);
}

.form input:focus,
.form select:focus,
.form textarea:focus {
  outline: 2px solid var(--color-accent);
  outline-offset: 2px;
}

#excursion-phone{
  outline: none;
}

.form__success {
  display: none;
  padding: 16px;
  border-radius: var(--radius-sm);
  background: rgba(76, 175, 80, 0.2);
  color: #a5d6a7;
}

.form__error {
  display: block;
  margin: 0 0 12px;
  padding: 12px 14px;
  border-radius: var(--radius-sm);
  background: rgba(244, 67, 54, 0.16);
  color: #ef9a9a;
  font-size: 14px;
  line-height: 1.4;
}

.form__error[hidden] {
  display: none;
}

.form.is-sent .form__success,
.mgmt-enroll-form.is-sent .form__success,
[data-lead-form].is-sent .form__success {
  display: block;
}

.form.is-sent .form__fields,
.form.is-sent .form__error,
.form.is-sent [type="submit"],
.form.is-sent [data-lead-submit],
.form.is-sent .mgmt-enroll-form__submit,
.form.is-sent .contacts-form__submit,
.form.is-sent .mgmt-enroll-form__consent,
.form.is-sent .contacts-form__consent,
.form.is-sent .study-space__consent,
[data-lead-form].is-sent .form__fields,
[data-lead-form].is-sent .form__error,
[data-lead-form].is-sent [type="submit"],
[data-lead-form].is-sent [data-lead-submit] {
  display: none;
}

.form .is-invalid,
.mgmt-enroll-form .is-invalid,
.contacts-form .is-invalid {
  border-color: #ef5350 !important;
  box-shadow: 0 0 0 1px rgba(239, 83, 80, 0.35);
}

/* Study space excursion form — overrides base .form (rec749375206) */
.study-space__form.form {
  max-width: none;
  width: 100%;
}

.study-space__form .form__group {
  margin-bottom: 0;
}

.study-space__form.form label {
  font-size: 24px;
  font-weight: 400;
  color: #fff;
}

.study-space__form.form .form__group > input {
  height: 50px;
  padding: 0 20px;
  font-size: 23px;
  color: #1a1a1a;
  background: #fff;
  border: 1px solid #fff;
  border-radius: var(--radius);
}

.study-space__form.form .form__group > input::placeholder {
  color: #969696;
}

.study-space__form.form .study-space__phone input,
.study-space__form.form .study-space__phone .iti__tel-input {
  font-size: 23px;
  color: #1a1a1a;
  background: transparent;
  border: 0;
}

.study-space__form.form .study-space__phone input::placeholder,
.study-space__form.form .study-space__phone .iti__tel-input::placeholder {
  color: #969696;
}

.study-space__form.form .btn:hover,
.study-space__submit:hover {
  transform: none;
  box-shadow: none;
}

/* Contacts + admission office (rec839864566) */
.section--contacts {
  padding-top: 48px;
  padding-bottom: 64px;
}

.contacts-card {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 32px 48px;
  padding: 36px 40px;
  background: var(--color-card-muted);
  border-radius: var(--radius-lg);
}

.contacts-card__form-col {
  position: relative;
  min-width: 0;
  padding: 32px 36px 36px;
  background: #141821;
  border-radius: var(--radius-lg);
}

.contacts-card__aside {
  display: flex;
  flex-direction: column;
  gap: 24px;
  min-width: 0;
}

.contacts-card__map-col {
  min-width: 0;
}

.contacts-map {
  min-height: 360px;
  height: 100%;
  border-radius: var(--radius-lg);
  overflow: hidden;
  background: #141821;
}

.contacts-map iframe {
  display: block;
  width: 100%;
  height: 100%;
  min-height: 360px;
  border: 0;
}

.contacts-social {
  display: none;
}

.contacts-social__link {
  position: absolute;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 25px;
  height: 25px;
  pointer-events: auto;
}

.contacts-social__link--tl {
  top: 0;
  left: 0;
}

.contacts-social__link--tr {
  top: 0;
  right: 0;
}

.contacts-social__link--bl {
  bottom: 0;
  left: 0;
}

.contacts-social__link--br {
  right: 0;
  bottom: 0;
}

.contacts-social__link img {
  width: 25px;
  height: 25px;
}

.contacts-form__title {
  position: relative;
  z-index: 2;
  margin: 0 0 24px;
  font-size: clamp(24px, 2.5vw, 36px);
  font-weight: 700;
  line-height: 1.1;
}

.contacts-form {
  position: relative;
  z-index: 2;
  max-width: none;
}

.contacts-form .form__fields {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.contacts-form .form__group {
  margin: 0;
}

.contacts-form label {
  display: block;
  margin-bottom: 5px;
  font-size: clamp(14px, 1.6vw, 20px);
  font-weight: 400;
  line-height: 1.2;
  color: #fff;
}

.contacts-form .form__group > input,
.contacts-form .form__group > select {
  width: 100%;
  height: 50px;
  padding: 0 20px;
  font-size: clamp(16px, 1.8vw, 20px);
  color: #1a1a1a;
  background: #fff;
  border: 1px solid #fff;
  border-radius: var(--radius);
}

.contacts-form .form__group > input::placeholder {
  color: #969696;
}

.contacts-form .form__group > select {
  padding-right: 40px;
  appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8' fill='none'%3E%3Cpath d='M1 1.5L6 6.5L11 1.5' stroke='%23969696' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 18px center;
  cursor: pointer;
}

.contacts-form .form__group > select:invalid {
  color: #969696;
}

.contacts-form__phone {
  position: relative;
  display: flex;
  align-items: center;
  gap: 10px;
  height: 50px;
  padding: 0 16px;
  background: #fff;
  border-radius: var(--radius);
}

.contacts-form__phone input,
.contacts-form__phone .iti__tel-input {
  flex: 1;
  min-width: 0;
  height: 100%;
  padding: 0;
  font-size: clamp(16px, 1.8vw, 20px);
  color: #1a1a1a;
  background: transparent;
  border: 0;
  border-radius: 0;
}

.contacts-form__phone input::placeholder {
  color: #969696;
}

.contacts-form__phone input:focus {
  outline: none;
}

.contacts-form .form__group > input:focus,
.contacts-form .form__group > select:focus,
.contacts-form__phone:focus-within {
  outline: 2px solid var(--color-accent);
  outline-offset: 2px;
}

.contacts-form__submit {
  width: 100%;
  max-width: none;
  min-height: 50px;
  margin: 8px 0 0;
  font-size: clamp(18px, 2vw, 24px);
  font-weight: 700;
  border-radius: var(--radius);
}

.contacts-form__consent {
  margin: 16px 0 0;
  font-size: 14px;
  line-height: 1.4;
  color: rgba(255, 255, 255, 0.85);
}

.contacts-card__info {
  min-width: 0;
}

.contacts-info__title {
  margin: 0 0 16px;
  font-size: clamp(20px, 2vw, 28px);
  font-weight: 700;
}

.contacts-info__grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 16px 32px;
}

.contacts-info__col {
  display: flex;
  flex-direction: column;
  gap: 12px;
  min-width: 0;
}

.contacts-info__item {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  font-size: clamp(14px, 1.6vw, 20px);
  line-height: 1.35;
}

.contacts-info__item img {
  flex-shrink: 0;
  margin-top: 2px;
}

.contacts-info__item a {
  color: inherit;
  text-decoration: none;
}

.contacts-info__item a:hover {
  color: var(--color-accent-light);
}

/* Why choose college compare (rec929207521) */
.section--why-compare {
  padding-top: 48px;
  padding-bottom: 64px;
}

.why-compare {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.why-compare__row {
  display: grid;
  gap: 10px;
  align-items: stretch;
}

.why-compare__row--after-9 {
  grid-template-columns: 481fr 322fr 529fr;
}

.why-compare__row--after-11 {
  grid-template-columns: 577fr 322fr 432fr;
}

.why-compare__row--uni {
  grid-template-columns: 577fr 462fr 292fr;
}

.why-compare__cell {
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-height: 95px;
  padding: 20px 30px;
  border-radius: var(--radius-lg);
}

.why-compare__cell--school {
  background: #f5f5f5;
  color: #1c222d;
}

.why-compare__cell--accent {
  background: var(--color-accent);
  color: #f5f5f5;
}

.why-compare__cell--muted {
  background: #b1b1b1;
  color: #fff;
}

.why-compare__cell--muted-dark {
  background: #737373;
}

.why-compare__head {
  display: flex;
  align-items: center;
  gap: 16px;
  flex-wrap: wrap;
}

.why-compare__institution {
  margin: 0;
  font-size: 24px;
  font-weight: 600;
  line-height: 1;
}

.why-compare__badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 34px;
  padding: 6px 16px;
  border-radius: 20px;
  background: #1c222d;
  color: #fff;
  font-size: 20px;
  font-weight: 400;
  line-height: 1;
  white-space: nowrap;
}

.why-compare__cell--job {
  gap: 6px;
}

.why-compare__cell--job-muted {
  align-items: center;
  text-align: center;
}

.why-compare__note {
  margin: 0;
  font-size: 18px;
  font-weight: 400;
  line-height: 1.2;
  color: inherit;
}

/* After study (rec929203601) */
.section--after-study {
  padding-top: 48px;
  padding-bottom: 64px;
}

.after-study {
  display: grid;
  grid-template-columns: minmax(0, 660fr) minmax(0, 315fr) minmax(0, 315fr);
  grid-template-rows: auto auto;
  gap: 30px;
  align-items: stretch;
}

.after-study__card {
  display: grid;
  grid-template-columns: 45px minmax(0, 1fr);
  column-gap: 15px;
  align-content: start;
  align-items: start;
  min-width: 0;
  padding: 20px;
  border-radius: var(--radius-lg);
  background: var(--color-card-muted);
  color: #f5f5f5;
}

.after-study__card--01 {
  grid-column: 1;
  grid-row: 1 / 3;
  min-height: 309px;
}

.after-study__card--01 .after-study__num {
  grid-column: 1;
  grid-row: 1;
}

.after-study__card--01 .after-study__body {
  grid-column: 2;
  grid-row: 1;
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.after-study__card--02 {
  grid-column: 2;
  grid-row: 1;
  min-height: 173px;
}

.after-study__card--03 {
  grid-column: 3;
  grid-row: 1;
  min-height: 173px;
}

.after-study__card--04 {
  display: grid;
  grid-column: 2 / 4;
  grid-row: 2;
  min-height: 105px;
  align-items: center;
}

.after-study__card--02 .after-study__num,
.after-study__card--03 .after-study__num,
.after-study__card--04 .after-study__num {
  grid-column: 1;
  grid-row: 1;
}

.after-study__card--02 .after-study__text,
.after-study__card--03 .after-study__text,
.after-study__card--04 .after-study__text {
  grid-column: 2;
  grid-row: 1;
  align-self: center;
}

.after-study__num {
  display: flex;
  flex-shrink: 0;
  align-items: center;
  justify-content: center;
  width: 45px;
  height: 45px;
  border-radius: 50%;
  background: var(--color-accent);
  font-size: 24px;
  font-weight: 700;
  line-height: 1;
  color: #f5f5f5;
}

.after-study__text {
  margin: 0;
  font-size: 24px;
  font-weight: 400;
  line-height: 1.2;
}

.after-study__body p,
.after-study__text p {
  margin: 0;
}

.after-study__accent {
  color: var(--color-accent);
  font-weight: 400;
}

/* Footer */
.site-footer {
  padding: 32px 0;
  background: var(--color-footer);
  color: #fff;
  font-size: 14px;
}

.site-footer__grid {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
}

.site-footer a {
  color: #fff;
}

/* Cookie banner */
.cookie-banner {
  position: fixed;
  bottom: 20px;
  left: 20px;
  z-index: 2000;
  max-width: 400px;
  padding: 20px;
  background: #fff;
  color: #000;
  border-radius: 10px;
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.3);
  font-size: 14px;
}

.cookie-banner[hidden] {
  display: none;
}

.cookie-banner a {
  color: #a032ca;
  border-bottom: 1px solid #a032ca;
}

.cookie-banner__close {
  margin-top: 12px;
  padding: 8px 16px;
  border: none;
  border-radius: 8px;
  background: #1c222d;
  color: #fff;
  cursor: pointer;
}

/* Quote block */
.quote {
  padding: 32px;
  border-radius: var(--radius);
  background: var(--color-bg-alt);
  border-left: 4px solid var(--color-accent);
}

.quote__author {
  margin-top: 16px;
  font-weight: 600;
}

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

/* Header: компактнее до включения бургер-меню */
@media (max-width: 1400px) {
  .site-header__inner {
    gap: 12px 16px;
  }

  .site-header__nav {
    gap: 6px 14px;
  }

  .site-header__link {
    font-size: 13px;
  }

  .site-header__logo img {
    max-width: min(280px, 36vw);
  }

  .site-header__phone {
    font-size: 16px;
  }
}

/* Mobile */
@media (max-width: 1200px) {
  .site-header__inner {
    grid-template-columns: auto 1fr auto;
  }

  .site-header__nav {
    gap: 6px 12px;
  }

  .site-header__link {
    font-size: 12px;
  }

  .site-header__phone {
    font-size: 15px;
  }

  .after-study {
    grid-template-columns: 1fr;
  }

  .after-study__card--01 {
    grid-column: 1;
    grid-row: auto;
  }

  .after-study__card--02 {
    grid-column: 1;
    grid-row: auto;
  }

  .after-study__card--03 {
    grid-column: 1;
    grid-row: auto;
  }

  .after-study__card--04 {
    grid-column: 1;
    grid-row: auto;
  }
}

@media (max-width: 1024px) {
  .hero__layout,
  .cards--4,
  .cards--3 {
    grid-template-columns: 1fr;
  }

  .hero__media {
    min-height: 0;
  }

  .hero__title {
    line-height: 1.1;
  }

  .hero__tagline {
    max-width: none;
    line-height: 1.25;
  }

  .btn--hero {
    width: 100%;
    max-width: 320px;
    min-width: 0;
  }

  .about-college {
    grid-template-columns: 1fr;
  }

  .about-college__heading {
    font-size: clamp(24px, 5vw, 32px);
  }

  .about-college__text,
  .about-college__leader-quote {
    font-size: 16px;
  }

  .about-college__right > .event-banner--primary {
    display: none;
  }

  .about-college__video-cta {
    top: 24px;
    left: 20px;
    max-width: calc(100% - 40px);
    font-size: clamp(18px, 4vw, 24px);
  }

  .about-college__panel .specialty-card__btn {
    width: 100%;
    max-width: none;
    min-height: 52px;
    font-size: 18px;
  }

  .event-banner__title {
    font-size: clamp(22px, 5vw, 28px);
  }

  .event-card h3,
  .event-card__title-lg {
    font-size: 20px;
  }

  .event-card p,
  .event-card__lead {
    font-size: 16px;
  }

  .event-card__date {
    font-size: 18px;
  }

  .event-cards {
    grid-template-columns: 1fr;
  }

  .event-banner__btn-top {
    top: 24px;
    right: 20px;
  }

  .event-banner__btn-bottom {
    left: 28px;
    bottom: 24px;
  }

  .event-banner__social {
    right: 20px;
    bottom: 24px;
  }

  .steps {
    grid-template-columns: repeat(2, 1fr);
  }

  .specialties-menu__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .specialties-panel {
    padding: 40px 24px 32px;
  }

  .specialties-panel__title {
    margin-bottom: 28px;
  }

  .specialties-grid {
    grid-template-columns: 1fr;
  }

  .specialty-card {
    min-height: 0;
    padding: 24px 24px 28px;
  }

  .specialty-card__content {
    display: contents;
    max-width: 100%;
    padding-right: 0;
  }

  .specialty-card__heading {
    font-size: 20px;
  }

  .specialty-card__roles {
    font-size: 16px;
  }

  .specialty-card__roles-title {
    font-size: 16px;
  }

  .specialty-card__code {
    font-size: 14px;
    word-break: break-word;
  }

  .specialty-card__btn {
    order: 2;
    min-width: 0;
    width: 100%;
    max-width: 286px;
    min-height: 52px;
    margin-top: 20px;
    font-size: 20px;
  }

  .specialty-card__art {
    order: 1;
    position: static;
    align-self: center;
    max-width: 160px;
    max-height: none;
    margin-top: 20px;
    margin-bottom: 4px;
    transform: none;
  }

  .specialty-card--management {
    order: 1;
  }

  .specialty-card--programming {
    order: 2;
  }

  .specialty-card--design {
    order: 3;
  }

  .specialty-card--games {
    order: 4;
  }

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

  .diploma-layout__visual {
    min-height: 0;
  }

  .diploma-layout__visual img {
    min-height: 0;
    height: auto;
  }

  .trajectory-layout {
    display: flex;
    flex-direction: column;
    gap: 20px;
  }

  .trajectory-layout__intro {
    order: 1;
    max-width: none;
    font-size: 16px;
  }

  .trajectory-layout__visual {
    order: 2;
    grid-column: auto;
    grid-row: auto;
    min-height: 200px;
    max-height: none;
  }

  .trajectory-layout__cards {
    order: 3;
    grid-template-columns: 1fr;
  }

  .trajectory-layout__card p {
    font-size: 16px;
  }

  .trajectory-layout__visual img {
    min-height: 200px;
  }

  .diploma-layout__intro,
  .diploma-layout__badge p {
    font-size: 16px;
  }

  .info-block__title--trajectory {
    max-width: none;
  }

  .why-grid {
    grid-template-columns: 1fr;
  }

  .why-card--session,
  .why-card--incubator,
  .why-card--value,
  .why-card--roles,
  .why-grid__photo--dino,
  .why-grid__photo--group,
  .why-grid__photo--stage,
  .why-grid__photo--stickers,
  .why-banner {
    grid-column: 1;
    grid-row: auto;
  }

  .why-card,
  .why-banner {
    padding: 24px 20px;
  }

  .why-card--roles {
    padding-top: 24px;
  }

  .why-card__deco--roles {
    display: none;
  }

  .why-grid__photo--stage {
    min-height: 200px;
    aspect-ratio: 555 / 416;
  }

  .why-card__title,
  .why-banner__title {
    font-size: 20px;
  }

  .why-card__text,
  .why-banner__text,
  .employment-stats__heading,
  .employment-stats__text,
  .employment-stories__title {
    font-size: 16px;
  }

  .why-banner {
    grid-template-columns: 1fr;
  }

  .why-banner__deco {
    display: none;
  }

  .employment-top {
    grid-template-columns: 1fr;
  }

  .employment-stories {
    padding: 24px 20px;
  }

  .employment-stories__title {
    margin-bottom: 20px;
    font-size: 20px;
  }

  .employment-videos {
    grid-template-columns: 1fr;
  }

  .booking-banner {
    gap: 24px;
    min-height: 0;
    padding: 36px 24px;
  }

  .booking-banner__btn {
    width: 100%;
    max-width: none;
    border-radius: 15px;
    font-size: 18px;
    white-space: normal;
  }

  .booking-banner__text {
    font-size: clamp(20px, 4.5vw, 28px);
  }

  .partners-spotlight {
    grid-template-columns: 1fr;
  }

  .partners-logos {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  .partners-logos--cols-7 {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  .payment-methods {
    grid-template-columns: 1fr;
  }

  .payment-method--tall {
    min-height: 0;
  }

  .payment-tax {
    flex-direction: column;
    align-items: flex-start;
    gap: 12px;
    min-height: 0;
    padding: 24px 20px;
  }

  .payment-tax__title {
    max-width: none;
  }

  .payment-tax__btn,
  .payment-tax__link a {
    white-space: normal;
    text-align: center;
  }

  .payment-cost {
    grid-template-columns: 1fr;
    gap: 20px;
    min-height: 0;
    padding: 24px 20px;
  }

  .payment-cost__period {
    margin-top: 16px;
  }

  .payment-cost__pricing {
    padding-top: 0;
  }

  .study-space {
    padding: 28px 20px 32px;
  }

  .study-space__title {
    margin-bottom: 28px;
  }

  .study-space__booking-title {
    font-size: clamp(24px, 5vw, 32px);
  }

  .study-space__lead {
    font-size: 18px;
  }

  .study-space__form-grid {
    grid-template-columns: 1fr;
    gap: 16px;
  }

  .study-space__form-name,
  .study-space__form-phone,
  .study-space__submit-cell,
  .study-space__consent {
    grid-column: 1;
    grid-row: auto;
  }

  .study-space__submit-cell {
    width: 100%;
  }

  .study-space__form label {
    font-size: 18px;
  }

  .study-space__form .form__group > input,
  .study-space__form .study-space__phone input,
  .study-space__form .study-space__phone .iti__tel-input {
    font-size: 18px;
    height: 48px;
  }

  .study-space__gallery {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 20px;
    margin-bottom: 32px;
  }

  .benefits-grid {
    grid-template-columns: 1fr;
    gap: 20px;
  }

  .benefit-card {
    min-height: 0;
    padding: 24px 20px;
  }

  .benefit-card__body {
    max-width: none;
  }

  .benefit-card__title {
    font-size: 20px;
  }

  .benefit-card__text {
    font-size: 16px;
  }

  .benefit-card__icon {
    position: static;
    width: 80px;
    height: 80px;
    margin-top: 16px;
    margin-left: auto;
  }

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

  .admission-intro,
  .admission-steps-lead,
  .admission-step__text,
  .admission-promo__text {
    font-size: 16px;
  }

  .admission-step__label {
    font-size: 20px;
  }

  .admission-promo .btn--white,
  .admission-layout .btn--white {
    width: 100%;
    min-height: 52px;
    font-size: 18px;
  }

  .why-compare__row--after-9,
  .why-compare__row--after-11,
  .why-compare__row--uni {
    grid-template-columns: 1fr;
    gap: 10px;
  }

  .why-compare__cell {
    min-height: 0;
    padding: 18px 20px;
  }

  .why-compare__institution {
    font-size: 20px;
  }

  .why-compare__badge {
    font-size: 16px;
    min-height: 30px;
    padding: 5px 12px;
    white-space: normal;
    text-align: center;
    line-height: 1.2;
  }

  .why-compare__note {
    font-size: 16px;
  }

  .after-study {
    grid-template-columns: 1fr;
    grid-template-rows: auto;
  }

  .after-study__card--01,
  .after-study__card--02,
  .after-study__card--03,
  .after-study__card--04 {
    grid-column: 1;
    grid-row: auto;
    min-height: 0;
  }

  .after-study__text {
    font-size: 16px;
  }

  .contacts-card {
    grid-template-columns: 1fr;
    gap: 24px;
    padding: 20px 16px;
  }

  .contacts-card__form-col {
    padding: 20px 16px 24px;
  }

  .contacts-social {
    display: flex;
    gap: 12px;
    position: static;
    width: auto;
    height: auto;
    margin-bottom: 16px;
  }

  .contacts-social__link {
    position: static;
    width: 36px;
    height: 36px;
  }

  .contacts-social__link--bl,
  .contacts-social__link--br {
    display: none;
  }

  .contacts-map,
  .contacts-map iframe {
    min-height: 280px;
  }

  .contacts-form__title {
    font-size: 24px;
  }

  .contacts-info__grid {
    grid-template-columns: 1fr;
  }

  .faq__lead {
    margin-bottom: 28px;
    font-size: 16px;
  }

  .faq__question {
    padding: 18px 0;
    font-size: 16px;
  }

  .payment-method__title {
    font-size: 18px;
  }

  .payment-method__text,
  .payment-tax__title,
  .payment-tax__text,
  .payment-tax__link,
  .payment-cost__note,
  .payment-cost__period,
  .partners-featured__name {
    font-size: 14px;
  }

  .payment-method__text {
    overflow-wrap: anywhere;
  }

  .payment-cost__title {
    font-size: clamp(24px, 5vw, 32px);
  }

  .payment-cost__pricing {
    font-size: clamp(18px, 4vw, 28px);
  }

  .hero__video {
    max-width: 100%;
  }

  .carousel--teachers .carousel__slide {
    flex: 0 0 calc((100% - var(--teachers-gap)) / 2);
  }

  .carousel--teachers {
    --teacher-thumb-offset: clamp(60px, 12vw, 120px);
  }
}

@media (max-width: 744px) {
  .study-space__form-grid {
    grid-template-columns: 1fr;
    gap: 16px;
  }

  .study-space__form-name,
  .study-space__form-phone,
  .study-space__submit-cell,
  .study-space__consent {
    grid-column: 1;
    grid-row: auto;
  }

  .study-space__submit-cell {
    width: 100%;
  }

  .study-space__form.form label {
    font-size: 20px;
  }

  .study-space__form.form .form__group > input,
  .study-space__form.form .study-space__phone input,
  .study-space__form.form .study-space__phone .iti__tel-input {
    font-size: 18px;
  }

  .study-space__phone .iti__tel-input,
  .contacts-form__phone .iti__tel-input {
    padding-left: 52px !important;
  }

  .study-space__phone .iti__selected-flag,
  .contacts-form__phone .iti__selected-flag {
    padding: 0 5px 0 15px;
  }

  .study-space__booking-title {
    font-size: 32px;
  }

  .study-space__lead {
    font-size: 20px;
  }
}

@media (max-width: 743px) {
  .carousel--teachers {
    grid-template-columns: 36px minmax(0, 1fr) 36px;
    gap: 12px;
    --teacher-thumb-offset: clamp(50px, 22vw, 90px);
  }

  .carousel--teachers .carousel__slide {
    flex: 0 0 85%;
  }

  .carousel--teachers .carousel__btn {
    width: 36px;
    height: 36px;
  }

  .teachers__title {
    margin-bottom: 24px;
    font-size: 31px;
  }
}

@media (max-width: 1180px) {
  .site-header__inner {
    grid-template-columns: minmax(0, 1fr) auto auto;
    gap: 8px 10px;
  }

  .site-header__logo {
    min-width: 0;
  }

  .site-header__burger {
    display: block;
    order: 4;
    flex-shrink: 0;
  }

  .site-header__nav {
    display: flex;
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    flex-direction: column;
    align-items: stretch;
    padding: 0 20px;
    background: var(--color-header);
    border-bottom: 0 solid rgba(255, 255, 255, 0.1);
    grid-column: 1 / -1;
    order: 5;
    max-height: 0;
    opacity: 0;
    overflow: hidden;
    visibility: hidden;
    transform: translateY(-8px);
    pointer-events: none;
    transition:
      max-height 0.4s ease,
      opacity 0.3s ease,
      transform 0.35s ease,
      padding 0.35s ease,
      border-bottom-width 0.35s ease,
      visibility 0s linear 0.4s;
  }

  .site-header__nav.is-open {
    max-height: min(90vh, 720px);
    padding: 16px 20px 20px;
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
    border-bottom-width: 1px;
    pointer-events: auto;
    transition:
      max-height 0.4s ease,
      opacity 0.3s ease,
      transform 0.35s ease,
      padding 0.35s ease,
      border-bottom-width 0.35s ease,
      visibility 0s;
  }

  .nav-item--has-menu {
    display: flex;
    flex-direction: column;
  }

  .specialties-trigger {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    width: 100%;
  }

  .specialties-trigger::after {
    content: "";
    flex-shrink: 0;
    width: 8px;
    height: 8px;
    border-right: 2px solid currentColor;
    border-bottom: 2px solid currentColor;
    transform: rotate(45deg);
    transition: transform 0.3s ease;
  }

  .nav-item--has-menu.is-open .specialties-trigger::after {
    transform: rotate(-135deg);
  }

  .specialties-menu {
    position: static;
    transform: none;
    width: 100%;
    margin-top: 0;
    padding: 0 18px;
    box-shadow: none;
    border: none;
    border-radius: 14px;
    background: rgba(255, 255, 255, 0.04) !important;
    backdrop-filter: none;
    display: grid;
    grid-template-rows: 0fr;
    opacity: 1;
    visibility: visible;
    pointer-events: none;
    overflow: hidden;
    transition: grid-template-rows 0.35s ease, margin-top 0.3s ease, padding 0.3s ease;
  }

  .specialties-menu.is-open {
    grid-template-rows: 1fr;
    margin-top: 8px;
    padding: 16px 18px;
    pointer-events: auto;
    transform: none;
  }

  .specialties-menu__grid {
    min-height: 0;
    overflow: hidden;
    opacity: 0;
    transform: translateY(-8px);
    transition:
      opacity 0.28s ease,
      transform 0.32s ease;
  }

  .specialties-menu.is-open .specialties-menu__grid {
    opacity: 1;
    transform: translateY(0);
  }

  .site-header__link {
    white-space: normal;
    padding: 6px 0;
  }

  .site-header__actions {
    order: 3;
    gap: 8px;
    min-width: 0;
    flex-shrink: 1;
  }

  .site-header__phone {
    font-size: clamp(12px, 3.1vw, 15px);
  }

  .site-header__social-btn:last-child img {
    width: 36px;
    height: 36px;
  }

  .site-header__logo img {
    max-width: min(200px, 46vw);
  }

  .specialties-menu__grid {
    grid-template-columns: 1fr;
    gap: 20px;
  }

  @media (prefers-reduced-motion: reduce) {
    .site-header__nav,
    .specialties-menu,
    .specialties-menu__grid,
    .site-header__burger span,
    .specialties-trigger::after {
      transition: none !important;
    }
  }
}

@media (max-width: 900px) {
  .cards--2,
  .stats {
    grid-template-columns: 1fr;
  }

  .partners-logos {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .partners-logos--cols-7 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .study-space__gallery {
    grid-template-columns: 1fr;
  }

  .hero__panel {
    padding: 32px 20px 28px;
    min-height: 0;
  }

  .section {
    padding: 48px 0;
  }
}

@media (max-width: 743px) {
  .hero__spline--desktop {
    display: none;
  }

  .hero__spline--mobile {
    display: block;
  }
}

@media (max-width: 560px) {
  .site-header__inner {
    gap: 8px;
    min-height: 64px;
  }

  .site-header__logo img {
    max-width: min(150px, 44vw);
  }

  .site-header__actions .site-header__phone {
    display: none;
  }

  .site-header__phone--in-nav {
    display: block;
    margin-top: 12px;
    padding-top: 14px;
    border-top: 1px solid rgba(255, 255, 255, 0.12);
    font-size: 18px;
    font-weight: 500;
    white-space: nowrap;
  }
}

@media (max-width: 640px) {
  .site-footer__grid {
    flex-direction: column;
    align-items: flex-start;
    gap: 12px;
  }

  .partners-logos,
  .partners-logos--cols-7 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
  }

  .about-college__leader-head {
    gap: 16px;
  }

  .about-college__leader-head img {
    width: 88px;
    height: 88px;
  }

  .cookie-banner {
    left: 12px;
    right: 12px;
    bottom: 12px;
    max-width: none;
  }

  .carousel--teachers .carousel__btn {
    width: 44px;
    height: 44px;
  }

  .carousel--teachers .carousel__slide {
    flex: 0 0 100%;
  }

  .specialties-panel {
    padding: 32px 16px 24px;
  }

  .specialty-card {
    padding: 20px 16px 24px;
  }

  .event-banner--primary {
    padding: 24px 20px;
  }

  .event-banner__social {
    position: static;
    display: flex;
    gap: 10px;
    margin-top: 16px;
  }
}

@media (max-width: 768px), (prefers-reduced-motion: reduce) {
  .hero__panel-glass {
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
    background: rgba(28, 34, 45, 0.82);
  }
}

/* --- DOD 2026 (page-dod) --- */
body.page-dod {
  background: var(--dod-bg);
  color: var(--dod-text);
}

.page-dod a {
  color: inherit;
  text-decoration: none;
}

.page-dod a:hover {
  color: var(--dod-text-muted);
}

.page-dod .container {
  width: min(100% - 40px, var(--dod-container));
  margin-inline: auto;
}

.page-dod .container--wide {
  width: min(100% - 40px, 1360px);
}
/* Buttons */
.dod-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 12px 24px;
  border: 0;
  border-radius: var(--dod-radius);
  background: var(--dod-purple);
  color: #fff;
  font-family: inherit;
  font-size: 17px;
  font-weight: 600;
  line-height: 1.2;
  cursor: pointer;
  transition: background 0.2s ease;
}

.dod-btn:hover {
  background: var(--dod-purple-hover);
  color: #fff;
}

.dod-btn--block {
  width: 100%;
}

/* Pills (date badges) */
.dod-pill {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 36px;
  padding: 6px 18px;
  border-radius: var(--dod-pill-radius);
  background: var(--dod-purple);
  color: #fff;
  font-size: 18px;
  font-weight: 600;
  line-height: 1.2;
}

/* Section titles */
.dod-section-title {
  margin: 0 0 24px;
  font-size: 38px;
  font-weight: 600;
  line-height: 1.15;
}

.dod-section-eyebrow {
  margin: 0 0 8px;
  color: var(--dod-text-soft);
  font-size: 16px;
  font-weight: 500;
}

/* Header */
.dod-header {
  position: sticky;
  top: 0;
  z-index: 100;
}

.dod-header__top {
  background: var(--dod-bg);
  min-height: 80px;
}

.dod-header__top-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  min-height: 80px;
}

.dod-header__logo img {
  width: 120px;
  height: auto;
}

.dod-header__phone {
  color: #fff;
  font-size: 20px;
  font-weight: 500;
  white-space: nowrap;
}

.dod-header__phone--top {
  margin-left: auto;
}

.dod-header__cta {
  margin-left: auto;
  padding: 11px 25px;
  border-radius: 3px;
  font-size: 17px;
  font-weight: 400;
  letter-spacing: -1px;
  flex-shrink: 0;
}

.dod-header__burger {
  display: none;
  width: 44px;
  height: 44px;
  border: 0;
  border-radius: var(--dod-radius);
  background: var(--dod-surface);
  color: #fff;
  font-size: 22px;
  cursor: pointer;
}

.dod-header__nav {
  background: var(--dod-surface);
  min-height: 90px;
}

.dod-header__nav-inner {
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  justify-content: flex-start;
  min-height: 90px;
}

.dod-header__nav-links {
  display: flex;
  flex: 0 0 auto;
  flex-wrap: nowrap;
  align-items: center;
  gap: 33px;
}

.dod-header__nav-links a,
.dod-header__nav a {
  color: #fff;
  font-size: 17px;
  font-weight: 400;
  letter-spacing: -1px;
  white-space: nowrap;
  white-space: nowrap;
}

.dod-header__nav-links a:hover,
.dod-header__nav a:hover {
  color: var(--dod-text-muted);
}

/* Hero */
.dod-hero {
  padding: 0;
  background: var(--dod-bg);
}

.dod-hero__board {
  position: relative;
  min-height: 830px;
  padding: 30px 0 40px;
}

.dod-hero__topbar {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  justify-content: space-between;
  gap: 20px;
  margin-bottom: 26px;
  background: var(--dod-surface);
    padding: 30px 40px;
}

.dod-hero__topbar-title {
  margin: 0 0 5px;
  font-size: 24px;
  font-weight: 600;
  line-height: 1.4;
  letter-spacing: -0.5px;
}

.dod-hero__topbar-sub {
  margin: 0;
  max-width: 436px;
  color: var(--dod-text-muted);
  font-size: 20px;
  font-weight: 400;
  line-height: 1.4;
  letter-spacing: -0.5px;
}

.dod-hero__topbar-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 71px;
  padding: 20px 40px;
  border-radius: var(--dod-radius-video);
  background: var(--dod-purple);
  color: #fff;
  font-size: 20px;
  font-weight: 600;
  letter-spacing: -0.5px;
  white-space: nowrap;
}

.dod-hero__topbar-btn:hover {
  background: var(--dod-purple-hover);
  color: #fff;
}

.dod-hero__main {
  display: grid;
  grid-template-columns: minmax(0, 503px) minmax(0, 600px);
  gap: 55px;
  align-items: center;
  justify-content: space-between;
}

.dod-hero__content {
  position: relative;
  max-width: 503px;
}

.dod-hero__dates {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-bottom: 20px;
}

.dod-hero__date-pill {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 8px 23px;
  border: 1px solid #959595;
  border-radius: 100px;
  color: var(--dod-text-muted);
  font-size: 18px;
  font-weight: 400;
  line-height: 1.55;
}

.dod-hero__title {
  position: relative;
  margin: 0 0 20px;
  max-width: 484px;
  font-size: 42px;
  font-weight: 600;
  line-height: 1.35;
  letter-spacing: -1px;
  color: var(--dod-text-muted);
}

.dod-hero__deco {
  position: absolute;
  pointer-events: none;
}

.dod-hero__deco--title {
  top: 28px;
  right: -120px;
  width: 141px;
  height: auto;
}

.dod-hero__subtitle {
  margin: 0 0 12px;
  max-width: 482px;
  font-size: 24px;
  font-weight: 400;
  line-height: 1.4;
  letter-spacing: -0.5px;
  color: var(--dod-text-muted);
}

.dod-hero__subtitle--muted {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  margin-bottom: 25px;
  padding-bottom: 25px;
  font-size: 18px;
  font-weight: 300;
  line-height: 1.55;
  opacity: 0.8;
}

.dod-hero__subtitle-icon {
  flex-shrink: 0;
  width: 25px;
  height: 25px;
  margin-top: 2px;
}

.dod-hero__cta-wrap {
  position: relative;
  margin-bottom: 28px;
}

.dod-hero__register-bar {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-height: 71px;
  padding: 20px 150px;
  border-radius: var(--dod-radius-video);
  background: var(--dod-purple);
  color: #fff;
  font-size: 20px;
  font-weight: 600;
  letter-spacing: -0.5px;
  text-align: center;
}

.dod-hero__register-bar:hover {
  background: var(--dod-purple-hover);
  color: #fff;
}

.dod-hero__spots {
  position: absolute;
  left: 50%;
  bottom: -14px;
  transform: translateX(-50%);
  display: inline-flex;
  align-items: center;
  gap: 5px;
  margin: 0;
  padding: 8px 30px;
  border-radius: 100px;
  background: #e9e3eb;
  color: var(--dod-purple);
  font-size: 15px;
  font-weight: 600;
  letter-spacing: -0.5px;
  white-space: nowrap;
}

.dod-hero__spots img {
  width: 18px;
  height: 18px;
}

.dod-hero__video-wrap {
  position: relative;
  width: 600px;
  max-width: 100%;
  justify-self: end;
}

.dod-hero__video {
  position: relative;
  width: 100%;
  height: 440px;
  border-radius: var(--dod-radius-video);
  overflow: hidden;
  background: #000;
}

.dod-hero__video iframe {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  border: 0;
}

.dod-hero__deco--video {
  top: -20px;
  right: -19px;
  width: 62px;
  height: auto;
}

.dod-hero__meet {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 50px;
  margin-top: 48px;
  padding: 30px 40px;
  border-radius: 10px;
  background: var(--dod-surface);
}

.dod-hero__meet-title {
  margin: 0 0 4px;
  font-size: 24px;
  font-weight: 600;
  letter-spacing: -0.5px;
}

.dod-hero__meet-text {
  margin: 0;
  color: var(--dod-text-muted);
  font-size: 20px;
  font-weight: 400;
  line-height: 1.4;
}

.dod-hero__meet-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 71px;
  padding: 20px 40px;
  border-radius: var(--dod-radius-video);
  background: var(--dod-purple);
  color: #fff;
  font-size: 20px;
  font-weight: 600;
  white-space: nowrap;
}

.dod-hero__meet-btn:hover {
  background: var(--dod-purple-hover);
  color: #fff;
}

/* Forms */
.dod-form {
  max-width: 480px;
}

.dod-form__group {
  margin-bottom: 12px;
}

.dod-form__group label {
  display: block;
  margin-bottom: 6px;
  color: var(--dod-text-muted);
  font-size: 15px;
}

.dod-form__group input {
  width: 100%;
  padding: 12px 14px;
  border: 1px solid var(--dod-border);
  border-radius: var(--dod-radius);
  background: var(--dod-surface);
  color: #fff;
  font-family: inherit;
  font-size: 16px;
}

.dod-form__group input::placeholder {
  color: rgba(255, 255, 255, 0.4);
}

.dod-form__group input:focus {
  outline: 2px solid var(--dod-purple);
  outline-offset: 1px;
}

.dod-form__group--plain label {
  display: none;
}

.dod-form__consent {
  margin: 12px 0 0;
  color: var(--dod-text-soft);
  font-size: 12px;
  line-height: 1.4;
}

.dod-form__consent a {
  color: var(--dod-purple);
  text-decoration: underline;
}

.dod-form__consent a:hover {
  color: var(--dod-purple-hover);
}

.dod-form__success {
  display: none;
  margin: 12px 0 0;
  color: #7dffb2;
  font-size: 14px;
}

.dod-form.is-sent .dod-form__success,
[data-lead-form].is-sent .dod-form__success {
  display: block;
  margin: 0;
  padding: 12px 0;
  font-size: 16px;
}

.dod-form.is-sent .dod-form__group,
.dod-form.is-sent .dod-form__consent,
.dod-form.is-sent .dod-register__submit,
.dod-form.is-sent .dod-register__submit-wrap,
.dod-form.is-sent .dod-btn--block,
.dod-form.is-sent [type="submit"],
[data-lead-form].is-sent .dod-form__group,
[data-lead-form].is-sent .dod-form__consent,
[data-lead-form].is-sent .dod-register__submit-wrap {
  display: none;
}

.dod-form .iti {
  width: 100%;
}

.dod-form .iti__tel-input {
  width: 100%;
  min-height: 50px;
  padding-left: 52px !important;
}

.dod-form .iti__selected-flag {
  padding-left: 12px;
}

.dod-form .iti__country-list {
  color: #222;
}

.dod-form--spaced {
  margin-top: 28px;
}

/* Features */
.dod-features {
  padding: 31px 0 48px;
  background: var(--dod-bg);
}

.dod-features__grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 0;
  border-radius: 5px;
  background: var(--dod-surface);
  overflow: visible;
}

.dod-feature {
  position: relative;
  padding: 35px 30px 30px;
  min-height: 190px;
  background: transparent;
}

.dod-feature + .dod-feature {
  border-left: 2px solid var(--dod-bg);
}

.dod-feature__icon {
  display: block;
  width: 60px;
  height: 60px;
  margin: -60px 0 0;
}

.dod-feature__title {
  margin: 0 0 0;
  padding-top: 4px;
  font-size: 18px;
  font-weight: 500;
  line-height: 1.55;
  letter-spacing: -0.5px;
}

.dod-feature__text {
  margin: 0;
  padding-top: 4px;
  color: #e9e3eb;
  font-size: 15px;
  font-weight: 300;
  line-height: 1.55;
  opacity: 0.8;
}

@media (max-width: 1199px) {
  .dod-features__grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .dod-feature {
    padding: 35px 25px 30px;
  }

  .dod-feature:nth-child(3),
  .dod-feature:nth-child(4) {
    border-top: 2px solid var(--dod-bg);
  }

  .dod-feature:nth-child(3) {
    border-left: 0;
  }

  .dod-feature__icon {
    width: 40px;
    height: 40px;
    margin-top: -12px;
  }

  .dod-feature__title {
    font-size: 16px;
  }
}

@media (max-width: 959px) {
  .dod-features__grid {
    grid-template-columns: 1fr;
  }

  .dod-feature:nth-child(3) {
    border-left: 0;
  }

  .dod-feature + .dod-feature {
    border-left: 0;
    border-top: 2px solid var(--dod-bg);
  }
}

/* Program */
.dod-program {
  padding: 26px 0 48px;
  background: var(--dod-bg);
}

.dod-program__layout {
  position: relative;
  display: grid;
  grid-template-columns: 430px minmax(0, 1fr);
  gap: 55px;
  align-items: start;
}

.dod-program__photo {
  margin: 0;
  padding-top: 26px;
}

.dod-program__photo img {
  display: block;
  width: 100%;
  height: 556px;
  border-radius: 5px;
  object-fit: cover;
}

.dod-program__deco {
  position: absolute;
  top: 0;
  left: 308px;
  width: 148px;
  height: auto;
  pointer-events: none;
}

.dod-program__head {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  min-height: 58px;
  margin-bottom: 15px;
  padding: 15px 30px;
  border-radius: 3px;
  background: #2c2b2d;
}

.dod-program__head-icon {
  width: 22px;
  height: 22px;
  flex-shrink: 0;
}

.dod-program__title {
  margin: 0;
  font-size: 18px;
  font-weight: 600;
  line-height: 1.55;
  letter-spacing: -0.5px;
}

.dod-program__schedule {
  margin: 0;
  padding: 0;
  list-style: none;
}

.dod-program__item + .dod-program__item {
  margin-top: 20px;
}

.dod-program__item-title {
  margin: 0;
  color: #e9e3eb;
  font-size: 17px;
  font-weight: 600;
  line-height: 1.55;
  letter-spacing: -0.5px;
}

.dod-program__item-title strong {
  font-weight: 600;
}

.dod-program__item-text {
  margin: 4px 0 0;
  color: #e9e3eb;
  font-size: 15px;
  font-weight: 300;
  line-height: 1.55;
  opacity: 0.8;
}

@media (max-width: 1199px) {
  .dod-program__layout {
    grid-template-columns: 1fr;
    gap: 24px;
  }

  .dod-program__photo {
    order: 2;
    padding-top: 0;
  }

  .dod-program__photo img {
    height: auto;
    max-height: 583px;
  }

  .dod-program__content {
    order: 1;
  }

  .dod-program__deco {
    left: auto;
    right: 0;
  }
}

@media (max-width: 959px) {
  .dod-program__deco {
    display: none;
  }
}

/* Gallery */
.dod-gallery {
  background: var(--dod-surface);
}

.dod-gallery__hero {
  position: relative;
  overflow: hidden;
}

.dod-gallery__hero-inner {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 475px) minmax(0, 1fr);
  gap: 48px;
  align-items: start;
  padding: 100px 0 48px;
}

.dod-gallery__deco {
  position: absolute;
  inset: 0;
  pointer-events: none;
}

.dod-gallery__deco-item {
  position: absolute;
  background: var(--dod-surface-alt);
}

.dod-gallery__deco-item--1 {
  top: -3px;
  left: 140px;
  width: 65px;
  height: 65px;
}

.dod-gallery__deco-item--2 {
  top: 0;
  right: 71px;
  width: 36px;
  height: 36px;
}

.dod-gallery__deco-item--3 {
  top: 36px;
  right: 133px;
  width: 26px;
  height: 26px;
}

.dod-gallery__deco-item--4 {
  top: 38px;
  left: -7px;
  width: 39px;
  height: 39px;
}

.dod-gallery__label {
  margin: 0;
  color: #e9e3eb;
  font-size: 15px;
  font-weight: 400;
  line-height: 1.55;
  opacity: 0.8;
}

.dod-gallery__title {
  margin: 0;
  max-width: 506px;
  font-size: 32px;
  font-weight: 600;
  line-height: 1.3;
  letter-spacing: -1px;
}

.dod-gallery__title span {
  color: var(--dod-purple);
}

.dod-gallery__cta {
  display: inline-flex;
  margin-top: 20px;
  padding: 15px 30px;
  border-radius: 5px;
  font-size: 20px;
  font-weight: 600;
  letter-spacing: -0.5px;
}

.dod-gallery__about-title {
  margin: 0;
  font-size: 20px;
  font-weight: 600;
  line-height: 1.55;
  letter-spacing: -0.5px;
}

.dod-gallery__about-text {
  margin: 10px 0 0;
  max-width: 550px;
  color: #fff;
  font-size: 17px;
  font-weight: 300;
  line-height: 1.55;
  letter-spacing: -0.5px;
  opacity: 0.8;
}

.dod-gallery__slider {
  padding: 0 0 90px;
  background: var(--dod-surface);
}

.dod-gallery-slider__carousel {
  position: relative;
  max-width: 100%;
}

.dod-gallery-slider__track {
  display: flex;
  gap: 20px;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  scrollbar-width: none;
  padding: 0 20px;
}

.dod-gallery-slider__track::-webkit-scrollbar {
  display: none;
}

.dod-gallery-slider__slide {
  flex: 0 0 400px;
  width: 400px;
  scroll-snap-align: start;
}

.dod-gallery-slider__slide img {
  display: block;
  width: 400px;
  height: 400px;
  border-radius: 5px;
  object-fit: cover;
}

.dod-gallery-slider__nav {
  position: absolute;
  top: 200px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 48px;
  height: 48px;
  border: 0;
  border-radius: 50%;
  background: var(--dod-purple);
  color: #fff;
  cursor: pointer;
  z-index: 2;
}

.dod-gallery-slider__nav svg {
  width: 24px;
  height: 24px;
}

.dod-gallery-slider__nav--prev {
  left: 50px;
}

.dod-gallery-slider__nav--next {
  right: 50px;
}

@media (max-width: 1199px) {
  .dod-gallery__hero-inner {
    grid-template-columns: 1fr;
    gap: 24px;
    padding-top: 80px;
  }

  .dod-gallery__about-text {
    max-width: none;
  }
}

@media (max-width: 959px) {
  .dod-gallery__hero-inner {
    padding-top: 70px;
  }

  .dod-gallery__cta {
    display: flex;
    justify-content: center;
    width: 100%;
  }
}

@media (max-width: 639px) {
  .dod-gallery__title {
    font-size: 26px;
  }

  .dod-gallery-slider__slide {
    flex: 0 0 400px;
    width: 400px;
  }

  .dod-gallery-slider__slide img {
    width: 400px;
    height: 400px;
  }
}

@media (max-width: 479px) {
  .dod-gallery__title {
    font-size: 21px;
  }

  .dod-gallery__label {
    font-size: 12px;
  }

  .dod-gallery__about-title {
    font-size: 15px;
  }

  .dod-gallery__about-text {
    font-size: 12px;
  }

  .dod-gallery__cta {
    min-height: 42px;
    padding: 10px 30px;
    font-size: 14px;
  }
}

/* Principles */
.dod-intro {
  padding: 64px 0;
  background: var(--dod-bg);
}

.dod-principles__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
}

.dod-principles__header {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}

.dod-principles__eyebrow {
  margin: 0 0 12px;
  color: var(--dod-text-soft);
  font-size: 16px;
  font-weight: 500;
  line-height: 1.2;
}

.dod-principles__title {
  margin: 0 0 16px;
  font-size: 38px;
  font-weight: 600;
  line-height: 1.15;
  letter-spacing: -1px;
}

.dod-principles__arrow {
  width: 101px;
  height: auto;
  margin: 0 0 20px;
}

.dod-principles__intro {
  margin: 0;
  color: #e9e3eb;
  font-size: 18px;
  line-height: 1.45;
}

.dod-principle {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  min-height: 291px;
  padding: 20px;
  border-radius: 10px;
  background: var(--dod-surface);
  overflow: hidden;
}

.dod-principle__tag {
  position: absolute;
  top: 21px;
  left: 18px;
  z-index: 2;
  padding: 7px 20px;
  border: 1px solid #949494;
  border-radius: var(--dod-pill-radius);
  background: transparent;
  color: #fff;
  font-size: 16px;
  font-weight: 400;
  line-height: 1.2;
  text-transform: lowercase;
}

.dod-principle__deco {
  position: absolute;
  top: 58px;
  right: 18px;
  width: 147px;
  height: 147px;
  pointer-events: none;
}

.dod-principle__title {
  position: relative;
  z-index: 1;
  margin: 0 0 10px;
  font-size: 18px;
  font-weight: 600;
  line-height: 1.3;
}

.dod-principle__text {
  position: relative;
  z-index: 1;
  margin: 0;
  color: var(--dod-text-soft);
  font-size: 15px;
  line-height: 1.45;
}

@media (max-width: 1199px) {
  .dod-principles__grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 959px) {
  .dod-principles__title {
    font-size: 32px;
  }

  .dod-principle {
    min-height: 260px;
  }
}

@media (max-width: 640px) {
  .dod-principles__title {
    font-size: 28px;
  }

  .dod-principles__intro {
    font-size: 16px;
  }

  .dod-principle__deco {
    width: 110px;
    height: 110px;
  }
}

/* Why */
.dod-why {
  padding: 80px 0;
  background: var(--dod-bg);
}

.dod-why__layout {
  display: grid;
  grid-template-columns: minmax(0, 700px) minmax(0, 440px);
  gap: 20px;
  align-items: stretch;
}

.dod-why__content {
  padding: 50px 0 50px 20px;
}

.dod-why__eyebrow {
  margin: 0 0 18px;
  color: var(--dod-text-soft);
  font-size: 16px;
  font-weight: 500;
  line-height: 1.2;
}

.dod-why__title-row {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  margin-bottom: 32px;
}

.dod-why__title {
  margin: 0;
  max-width: 420px;
  font-size: 32px;
  font-weight: 600;
  line-height: 1.15;
  letter-spacing: -1px;
}

.dod-why__star {
  flex-shrink: 0;
  width: 116px;
  height: auto;
  margin-top: -8px;
}

.dod-why__list {
  margin: 0;
  padding: 0;
  list-style: none;
}

.dod-why__item {
  display: flex;
  align-items: center;
  gap: 12px;
  font-size: 18px;
  line-height: 1.35;
}

.dod-why__item + .dod-why__item {
  margin-top: 10px;
}

.dod-why__icon {
  flex-shrink: 0;
  width: 25px;
  height: 25px;
}

.dod-why__cta {
  margin-top: 32px;
  padding: 15px 30px;
  font-size: 20px;
  font-weight: 600;
}

.dod-why__photo {
  margin: 0;
  min-height: 100%;
}

.dod-why__photo img {
  display: block;
  width: 100%;
  height: 100%;
  min-height: 621px;
  object-fit: cover;
  border-radius: 5px;
}

@media (max-width: 980px) {
  .dod-why__layout {
    grid-template-columns: 1fr;
  }

  .dod-why__content {
    padding: 0;
  }

  .dod-why__photo img {
    min-height: 320px;
    max-height: 420px;
  }
}

@media (max-width: 640px) {
  .dod-why {
    padding: 48px 0;
  }

  .dod-why__title {
    font-size: 24px;
  }

  .dod-why__star {
    width: 72px;
    margin-top: -4px;
  }

  .dod-why__item {
    font-size: 15px;
  }

  .dod-why__cta {
    width: 100%;
    font-size: 16px;
  }
}

/* Specialties */
.dod-specialties {
  padding: 64px 0;
  background: var(--dod-bg);
}

.dod-spec-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 20px;
}

.dod-spec-card {
  position: relative;
  display: flex;
  flex-direction: column;
  min-height: 338px;
  padding: 28px 32px;
  border-radius: var(--dod-radius);
  background: var(--dod-surface);
  overflow: hidden;
}

.dod-spec-card__img {
  position: absolute;
  top: 50%;
  right: 30px;
  width: 35%;
  max-height: 90%;
  object-fit: contain;
  object-position: center right;
  transform: translateY(-50%);
  pointer-events: none;
}

.dod-spec-card__title {
  color: var(--dod-purple);
  margin: 0 0 8px;
  font-size: 24px;
  font-weight: 600;
}

.dod-spec-card__code {
  margin: 0 0 16px;
  color: var(--dod-text-soft);
  font-size: 14px;
  max-width: 55%;
}

.dod-spec-card__roles-title {
  margin: 0 0 8px;
  font-size: 14px;
  font-weight: 600;
}

.dod-spec-card__roles {
  margin: 0 0 20px;
  padding: 0;
  list-style: none;
  max-width: 55%;
}

.dod-spec-card__roles li {
  margin-bottom: 4px;
  color: var(--dod-text-soft);
  font-size: 14px;
}

.dod-spec-card .dod-btn {
  position: relative;
  z-index: 1;
  align-self: flex-start;
  margin-top: auto;
}

.page-dod .section--college {
  padding-top: 48px;
  padding-bottom: 64px;
  background: var(--dod-bg);
}

.page-dod .event-card__cta {
  color: var(--color-accent-light);
  text-decoration: underline;
  text-underline-offset: 3px;
}

.page-dod .event-card__cta:hover {
  color: var(--color-accent-hot);
}

.page-dod .event-card__cta--underline {
  color: var(--color-date);
}

.page-dod .event-card__cta--underline:hover {
  color: var(--color-accent-light);
}


/* Footer block: register + FAQ + map */
.dod-footer-block {
  padding: 64px 0;
  background: var(--dod-bg);
}

.dod-register {
  display: grid;
  grid-template-columns: minmax(0, 620px) minmax(0, 1fr);
  gap: 20px;
  align-items: stretch;
}

.dod-register__form-card,
.dod-register__map-card {
  border-radius: 5px;
  background: var(--dod-surface);
}

.dod-register__form-card {
  position: relative;
  padding: 40px 30px;
  overflow: visible;
}

.dod-register__star {
  position: absolute;
  top: 20px;
  right: -20px;
  width: 116px;
  height: auto;
  pointer-events: none;
}

.dod-register__dates {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-bottom: 20px;
}

.dod-register__date-pill {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 8px 23px;
  border: 1px solid #959595;
  border-radius: 100px;
  color: var(--dod-text-muted);
  font-size: 18px;
  line-height: 1.55;
}

.dod-register__title {
  margin: 0 0 16px;
  max-width: 520px;
  font-size: 38px;
  font-weight: 600;
  line-height: 1.15;
  letter-spacing: -1px;
}

.dod-register__subtitle {
  margin: 0 0 12px;
  font-size: 24px;
  font-weight: 400;
  line-height: 1.35;
  letter-spacing: -0.5px;
  color: var(--dod-text-muted);
}

.dod-register__benefit {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  margin: 0 0 24px;
  padding-bottom: 25px;
  font-size: 16px;
  line-height: 1.55;
  color: var(--dod-text-soft);
}

.dod-register__benefit img {
  flex-shrink: 0;
  width: 25px;
  height: 25px;
  margin-top: 2px;
}

.dod-register__form {
  max-width: none;
}

.dod-register__form .dod-form__group input {
  min-height: 50px;
  border-color: transparent;
  background: var(--dod-surface-alt);
}

.dod-register__submit-wrap {
  position: relative;
  margin-top: 8px;
  padding-bottom: 18px;
}

.dod-register__submit {
  min-height: 65px;
  font-size: 20px;
  border-radius: 5px;
}

.dod-register__spots {
  position: absolute;
  top: -14px;
  right: 20px;
  display: inline-flex;
  align-items: center;
  gap: 5px;
  margin: 0;
  padding: 8px 16px;
  border-radius: 100px;
  background: #e9e3eb;
  color: var(--dod-purple);
  font-size: 15px;
  font-weight: 600;
  letter-spacing: -0.5px;
  white-space: nowrap;
}

.dod-register__spots img {
  width: 18px;
  height: 18px;
}

.dod-register__map-card {
  display: flex;
  flex-direction: column;
  gap: 20px;
  padding: 30px;
}

.dod-register__map {
  flex: 1;
  min-height: 460px;
  border-radius: 5px;
  overflow: hidden;
  background: var(--dod-bg);
}

.dod-register__contacts {
  display: grid;
  gap: 16px;
}

.dod-register__contact {
  display: flex;
  align-items: center;
  gap: 12px;
  margin: 0;
  color: #fff;
  font-size: 18px;
  line-height: 1.35;
}

.dod-register__contact img {
  flex-shrink: 0;
  width: 25px;
  height: 25px;
}

@media (max-width: 1199px) {
  .dod-register {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 640px) {
  .dod-register__form-card {
    padding: 30px 20px;
  }

  .dod-register__title {
    font-size: 28px;
  }

  .dod-register__subtitle {
    font-size: 18px;
  }

  .dod-register__star {
    width: 80px;
    right: -10px;
  }

  .dod-register__spots {
    right: 10px;
    font-size: 13px;
  }

  .dod-register__map-card {
    padding: 20px;
  }

  .dod-register__map {
    min-height: 320px;
  }

  .dod-register__contact {
    font-size: 16px;
  }
}

/* Consult popup (hero «Получить консультацию») */
.consult-modal {
  position: fixed;
  inset: 0;
  z-index: 100001;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 24px;
  overflow: hidden;
}

.consult-modal[hidden] {
  display: none;
}

.consult-modal__backdrop {
  position: absolute;
  inset: 0;
  background: rgba(28, 34, 45, 0.72);
  -webkit-backdrop-filter: blur(4px);
  backdrop-filter: blur(4px);
}

.consult-modal__dialog {
  position: relative;
  z-index: 1;
  width: min(544px, 100%);
  max-width: 100%;
  min-width: 0;
  max-height: calc(100vh - 48px);
  overflow-x: hidden;
  overflow-y: auto;
  margin: 0;
  box-sizing: border-box;
}

.consult-modal__close {
  position: absolute;
  top: 12px;
  right: 12px;
  z-index: 2;
  padding: 4px 10px;
  border: none;
  background: transparent;
  color: #fff;
  font-size: 32px;
  line-height: 1;
  cursor: pointer;
  opacity: 0.7;
}

.consult-modal__close:hover {
  opacity: 1;
}

.consult-modal .mgmt-enroll-form,
.consult-modal .mgmt-enroll-form__phone .iti {
  max-width: 100%;
}

.consult-modal .form__group,
.consult-modal .mgmt-enroll-form__phone,
.consult-modal .mgmt-enroll-form__phone .iti {
  overflow: visible;
}

.consult-modal .iti__country-list {
  z-index: 5;
}

/* intl-tel-input: список стран поверх модальных окон (mobile fullscreen popup) */
.iti--container {
  z-index: 100010 !important;
}

.consult-modal .mgmt-enroll-form__submit {
  border-radius: 999px;
}

@media (max-width: 640px) {
  .consult-modal {
    align-items: flex-start;
    padding: 16px;
    padding-top: max(16px, env(safe-area-inset-top, 0px));
    padding-bottom: max(16px, env(safe-area-inset-bottom, 0px));
  }

  .consult-modal__dialog {
    max-height: calc(100dvh - 32px - env(safe-area-inset-top, 0px) - env(safe-area-inset-bottom, 0px));
  }

  .consult-modal__dialog.mgmt-enroll__form-card {
    width: 100%;
    max-width: none;
    padding: 24px 20px 28px;
  }
}

/* Register popup (как #zeropopup на Tilda) */
.dod-register-modal {
  position: fixed;
  inset: 0;
  z-index: 100001;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 24px;
  overflow: hidden;
}

.dod-register-modal[hidden] {
  display: none;
}

.dod-register-modal__backdrop {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.82);
}

.dod-register-modal__dialog {
  position: relative;
  z-index: 1;
  width: min(620px, 100%);
  max-width: 100%;
  min-width: 0;
  max-height: calc(100vh - 48px);
  overflow-x: hidden;
  overflow-y: auto;
  margin: 0;
  box-sizing: border-box;
}

.dod-register-modal__dialog.dod-register__form-card {
  overflow-x: hidden;
  overflow-y: auto;
}

.dod-register-modal .dod-register__star {
  right: 0;
  top: 12px;
  width: 96px;
  max-width: 30%;
}

.dod-register-modal .dod-register__form,
.dod-register-modal .dod-form .iti {
  max-width: 100%;
}

.dod-register-modal__close {
  position: absolute;
  top: 12px;
  right: 12px;
  z-index: 2;
  padding: 4px 10px;
  border: none;
  background: transparent;
  color: #fff;
  font-size: 32px;
  line-height: 1;
  cursor: pointer;
  opacity: 0.7;
}

.dod-register-modal__close:hover {
  opacity: 1;
}

.dod-register-modal__subtitle {
  margin-bottom: 24px;
  color: var(--dod-text);
}

.dod-register-modal .dod-register__submit {
  margin-top: 8px;
}

@media (max-width: 640px) {
  .dod-register-modal {
    padding: 16px;
  }

  .dod-register-modal__dialog {
    padding: 32px 20px;
  }

  .dod-register-modal .dod-register__title {
    font-size: 28px;
  }

  .dod-register-modal .dod-register__subtitle {
    font-size: 18px;
  }

  .dod-register-modal .dod-register__star {
    width: 72px;
    right: 0;
    top: 8px;
  }
}

/* FAQ (t585 style) */
.dod-faq {
  margin-top: 48px;
  padding-top: 48px;
  border-top: 1px solid var(--dod-border);
}

.dod-faq__title {
  margin: 0 0 8px;
  font-size: 38px;
  font-weight: 600;
}

.dod-faq__lead {
  margin: 0 0 24px;
  color: var(--dod-text-soft);
  font-size: 16px;
}

.dod-faq__item {
  border-top: 1px solid var(--dod-border);
}

.dod-faq__item:last-child {
  border-bottom: 1px solid var(--dod-border);
}

.dod-faq__question {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  width: 100%;
  padding: 30px 0;
  border: 0;
  background: transparent;
  color: #fff;
  font-family: inherit;
  font-size: 20px;
  font-weight: 500;
  text-align: left;
  cursor: pointer;
}

.dod-faq__icon {
  flex-shrink: 0;
  color: #fff;
  transition: transform 0.2s ease;
}

.dod-faq__item.is-open .dod-faq__icon {
  transform: rotate(45deg);
}

.dod-faq__answer {
  display: none;
  padding: 0 0 24px;
  color: var(--dod-text-soft);
  font-size: 15px;
  line-height: 1.5;
}

.dod-faq__item.is-open .dod-faq__answer {
  display: block;
}

.dod-faq__answer a {
  color: var(--dod-purple);
  text-decoration: underline;
}

/* Site footer */
.dod-site-footer {
  padding: 47px 0;
  background: var(--dod-bg);
}

.dod-site-footer__top,
.dod-site-footer__nav-row,
.dod-site-footer__bottom {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
}

.dod-site-footer__logo {
  display: inline-flex;
  line-height: 0;
}

.dod-site-footer__logo img {
  display: block;
  width: 120px;
  height: auto;
}

.dod-site-footer__phone {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  color: #fff;
  font-size: 18px;
  font-weight: 400;
  line-height: 1.2;
  white-space: nowrap;
}

.dod-site-footer__phone img {
  flex-shrink: 0;
  width: 21px;
  height: 21px;
}

.dod-site-footer__phone:hover {
  color: var(--dod-text-muted);
}

.dod-site-footer__divider {
  height: 1px;
  margin: 30px 0;
  background: var(--dod-border);
}

.dod-site-footer__nav {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 33px;
}

.dod-site-footer__nav a {
  color: #fff;
  font-size: 17px;
  font-weight: 400;
  letter-spacing: -1px;
  white-space: nowrap;
}

.dod-site-footer__nav a:hover {
  color: var(--dod-text-muted);
}

.dod-site-footer__cta {
  flex-shrink: 0;
  padding: 11px 25px;
  border-radius: 3px;
  font-size: 17px;
  font-weight: 400;
  letter-spacing: -1px;
}

.dod-site-footer__bottom {
  font-size: 17px;
  line-height: 1.35;
}

.dod-site-footer__copy,
.dod-site-footer__policy {
  color: var(--dod-text-soft);
}

.dod-site-footer__policy:hover {
  color: #fff;
}

@media (max-width: 1199px) {
  .dod-site-footer__nav-row {
    flex-direction: column;
    align-items: flex-start;
  }

  .dod-site-footer__cta {
    width: 100%;
    justify-content: center;
  }
}

@media (max-width: 768px) {
  .dod-site-footer {
    padding: 32px 0;
  }

  .dod-site-footer__top,
  .dod-site-footer__bottom {
    flex-direction: column;
    align-items: flex-start;
  }

  .dod-site-footer__divider {
    margin: 20px 0;
  }

  .dod-site-footer__nav {
    flex-direction: column;
    align-items: flex-start;
    gap: 16px;
  }

  .dod-site-footer__nav a {
    font-size: 16px;
  }
}

.dod-location-text {
  margin-top: 48px;
}

.dod-location-text p {
  margin: 0 0 8px;
  color: var(--dod-text-soft);
  font-size: 18px;
}

/* Cookie banner */
.page-dod .cookie-banner {
  position: fixed;
  right: 20px;
  bottom: 20px;
  z-index: 300;
  width: min(360px, calc(100% - 40px));
  padding: 20px;
  border-radius: var(--dod-radius);
  background: var(--dod-surface);
  border: 1px solid var(--dod-border);
  box-shadow: 0 12px 40px rgba(0, 0, 0, 0.4);
}

.page-dod .cookie-banner[hidden] {
  display: none;
}

.page-dod .cookie-banner p {
  margin: 0 0 8px;
  font-size: 13px;
  line-height: 1.4;
  color: var(--dod-text-soft);
}

.page-dod .cookie-banner__close {
  margin-top: 12px;
  padding: 8px 16px;
  border: 0;
  border-radius: var(--dod-radius);
  background: var(--dod-purple);
  color: #fff;
  font-family: inherit;
  font-size: 14px;
  font-weight: 600;
  cursor: pointer;
}

/* Responsive */
@media (max-width: 960px) {
  .dod-hero__main {
    grid-template-columns: 1fr;
    gap: 30px;
    align-items: center;
  }

  .dod-hero__title {
    max-width: 620px;
  }

  .dod-hero__video {
    height: 370px;
  }

  .dod-hero__register-bar {
    padding: 15px 40px;
  }

  .dod-hero__spots {
    position: static;
    transform: none;
    margin: 12px auto 0;
    display: flex;
  }
}

@media (max-width: 1100px) {
  .dod-hero__board {
    min-height: auto;
  }

  .dod-hero__main {
    gap: 30px;
  }

  .dod-hero__content {
    max-width: none;
  }

  .dod-hero__video-wrap {
    width: 100%;
    justify-self: stretch;
  }

  .dod-hero__title {
    font-size: 40px;
    max-width: 466px;
  }

  .dod-hero__deco--title {
    right: -80px;
    width: 120px;
  }

  .dod-hero__spots {
    position: static;
    transform: none;
    margin-top: 12px;
  }

  .dod-timeline::before {
    left: 8px;
    transform: none;
  }

  .dod-timeline__item {
    grid-template-columns: 24px 1fr;
    gap: 16px;
  }

  .dod-timeline__item:nth-child(odd) .dod-timeline__card,
  .dod-timeline__item:nth-child(even) .dod-timeline__card {
    grid-column: 2;
    justify-self: stretch;
    max-width: none;
  }

  .dod-timeline__item:nth-child(odd) .dod-timeline__dot,
  .dod-timeline__item:nth-child(even) .dod-timeline__dot {
    grid-column: 1;
    grid-row: 1;
    align-self: start;
    margin-top: 24px;
  }

  .dod-timeline__item:nth-child(odd) .dod-timeline__img-wrap,
  .dod-timeline__item:nth-child(even) .dod-timeline__img-wrap {
    display: none;
  }
}

@media (max-width: 980px) {
  .dod-header {
    position: sticky;
  }

  .dod-header__top {
    background: var(--dod-surface);
    min-height: 70px;
  }

  .dod-header__top-inner {
    min-height: 70px;
  }

  .dod-header__nav {
    display: none;
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    min-height: auto;
    padding: 16px 0 24px;
    box-shadow: 0 15px 30px -10px rgba(0, 11, 48, 0.2);
  }

  .dod-header__nav.is-open {
    display: block;
  }

  .dod-header__nav-inner {
    flex-direction: column;
    align-items: flex-start;
    min-height: auto;
    gap: 16px;
  }

  .dod-header__nav-links {
    flex-direction: column;
    align-items: flex-start;
    gap: 16px;
    width: 100%;
  }

  .dod-header__nav-links a,
  .dod-header__nav a {
    font-size: 20px;
  }

  .dod-header__burger {
    display: inline-flex;
    align-items: center;
    justify-content: center;
  }

  .dod-header__phone--top {
    display: none;
  }

  .dod-header__cta {
    display: none;
  }

  .dod-header__nav .dod-header__mobile-actions {
    display: flex;
    flex-direction: column;
    gap: 12px;
    margin-top: 16px;
    padding-top: 16px;
    border-top: 1px solid var(--dod-border);
    width: 100%;
  }
}

@media (min-width: 981px) {
  .dod-header__nav .dod-header__mobile-actions {
    display: none;
  }
}

@media (max-width: 768px) {
  .dod-section-title,
  .dod-faq__title {
    font-size: 28px;
  }

  .dod-features__grid {
    grid-template-columns: 1fr;
  }

  .dod-feature {
    padding: 35px 20px 25px;
    min-height: auto;
  }

  .dod-feature + .dod-feature {
    border-left: 0;
    border-top: 2px solid var(--dod-bg);
  }

  .dod-feature__icon {
    width: 40px;
    height: 40px;
    margin-top: -14px;
  }

  .dod-feature__title {
    font-size: 13px;
  }

  .dod-feature__text {
    font-size: 12px;
  }

  .dod-program__head {
    min-height: 49px;
    padding: 13px 30px;
  }

  .dod-program__title {
    font-size: 15px;
  }

  .dod-program__head-icon {
    width: 20px;
    height: 20px;
  }

  .dod-program__item-title {
    font-size: 15px;
  }

  .dod-program__item-text {
    font-size: 12px;
  }

  .dod-principles__grid,
  .dod-spec-grid {
    grid-template-columns: 1fr;
  }

  .dod-hero__board {
    padding-top: 25px;
  }

  .dod-hero__topbar-title {
    font-size: 14px;
  }

  .dod-hero__topbar-sub {
    font-size: 14px;
  }

  .dod-hero__topbar-btn,
  .dod-hero__meet-btn {
    width: 100%;
    min-height: auto;
    padding: 10px 20px;
    font-size: 13px;
    white-space: normal;
  }

  .dod-hero__date-pill {
    font-size: 12px;
    padding: 3px 17px;
  }

  .dod-hero__title {
    font-size: 26px;
    max-width: 300px;
  }

  .dod-hero__deco--title {
    right: -40px;
    width: 93px;
    top: 10px;
  }

  .dod-hero__subtitle {
    font-size: 14px;
  }

  .dod-hero__subtitle--muted {
    font-size: 12px;
    padding-bottom: 5px;
  }

  .dod-hero__register-bar {
    padding: 10px 20px;
    font-size: 14px;
    min-height: auto;
  }

  .dod-hero__spots {
    margin-top: 12px;
    padding: 6px 20px;
    font-size: 10px;
  }

  .dod-hero__video {
    height: 190px;
  }

  .dod-hero__deco--video {
    width: 34px;
    right: -8px;
    top: -10px;
  }

  .dod-hero__meet {
    padding: 25px;
    gap: 15px;
  }

  .dod-hero__meet-title {
    font-size: 14px;
  }

  .dod-hero__meet-text {
    font-size: 14px;
  }

  .dod-faq__question {
    font-size: 16px;
    padding: 20px 0;
  }
}

/* --- Intelligence (page-intel) --- */
.page-intel {
  background: var(--color-bg);
}

.site-header__link.is-active {
  color: var(--color-accent-light);
}

.intel-hero {
  padding: 40px 0 32px;
  background: var(--color-bg-alt);
  border-bottom: 1px solid var(--color-card-border);
}

.intel-hero__eyebrow {
  margin: 0 0 12px;
  color: var(--color-accent-light);
  font-size: 14px;
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.intel-hero__title {
  margin: 0 0 16px;
  max-width: 900px;
  font-size: clamp(28px, 4vw, 42px);
  font-weight: 700;
  line-height: 1.15;
}

.intel-hero__lead,
.intel-hero__note {
  margin: 0;
  max-width: 920px;
  color: var(--color-text-muted);
  font-size: 16px;
  line-height: 1.6;
}

.intel-hero__note {
  margin-top: 12px;
  font-size: 14px;
}

.intel-layout {
  padding: 32px 0 64px;
}

.intel-layout__grid {
  display: grid;
  grid-template-columns: minmax(260px, 320px) minmax(0, 1fr);
  gap: 28px;
  align-items: start;
}

.intel-nav {
  position: sticky;
  top: calc(var(--header-h) + 16px);
}

.intel-nav__list {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.intel-nav__btn,
.intel-nav__link {
  display: block;
  width: 100%;
  padding: 12px 16px;
  border: 1px solid var(--color-card-border);
  border-radius: var(--radius-sm);
  background: var(--color-bg-alt);
  color: var(--color-text);
  font-family: inherit;
  font-size: 14px;
  font-weight: 500;
  line-height: 1.35;
  text-align: left;
  text-decoration: none;
  cursor: pointer;
  transition: background var(--transition), border-color var(--transition), color var(--transition);
}

.intel-nav__btn:hover,
.intel-nav__link:hover {
  border-color: rgba(180, 120, 255, 0.35);
  color: var(--color-accent-light);
}

.intel-nav__btn.is-active {
  border-color: var(--color-accent);
  background: var(--color-accent);
  color: #fff;
}

.intel-content {
  min-width: 0;
  padding: 28px 32px;
  border: 1px solid var(--color-card-border);
  border-radius: var(--radius);
  background: var(--color-bg-alt);
}

.intel-panel__heading {
  margin: 0 0 24px;
  padding-bottom: 16px;
  border-bottom: 1px solid var(--color-card-border);
  font-size: clamp(22px, 3vw, 30px);
  font-weight: 700;
  line-height: 1.2;
}

.intel-section__title {
  margin: 24px 0 10px;
  font-size: 18px;
  font-weight: 600;
  line-height: 1.35;
}

.intel-section__title:first-child {
  margin-top: 0;
}

.intel-section__text {
  margin: 0 0 10px;
  color: var(--color-text-muted);
  font-size: 15px;
  line-height: 1.6;
}

.intel-links {
  margin: 16px 0 0;
  padding: 0;
  list-style: none;
}

.intel-links li + li {
  margin-top: 8px;
}

.intel-links a {
  color: var(--color-accent-light);
  font-size: 15px;
  text-decoration: underline;
  text-underline-offset: 3px;
}

.intel-links a:hover {
  color: var(--color-accent-hot);
}

.intel-table-wrap {
  margin: 24px 0;
  overflow-x: auto;
  border: 1px solid var(--color-card-border);
  border-radius: var(--radius-sm);
}

.intel-table__caption {
  margin: 0;
  padding: 12px 16px;
  border-bottom: 1px solid var(--color-card-border);
  background: rgba(171, 0, 234, 0.12);
  font-size: 15px;
  font-weight: 600;
}

.intel-table {
  width: 100%;
  min-width: 720px;
  border-collapse: collapse;
  font-size: 13px;
}

.intel-table th,
.intel-table td {
  padding: 10px 12px;
  border-bottom: 1px solid var(--color-card-border);
  vertical-align: top;
  text-align: left;
}

.intel-table th {
  background: rgba(255, 255, 255, 0.04);
  color: #fff;
  font-weight: 600;
}

.intel-table td {
  color: var(--color-text-muted);
}

.intel-table tbody tr:last-child td {
  border-bottom: none;
}

/* Info cards — tab «Основные сведения» */
.intel-info-cards {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.intel-info-card {
  display: grid;
  grid-template-columns: minmax(200px, 34%) minmax(0, 1fr);
  border-radius: var(--radius-sm);
  background: var(--color-card-muted);
  overflow: hidden;
}

.intel-info-card--accent {
  border-top: 3px solid var(--color-accent);
}

.intel-info-card__label {
  margin: 0;
  padding: 20px 18px;
  border-right: 1px solid rgba(255, 255, 255, 0.08);
  color: #fff;
  font-size: 15px;
  font-weight: 600;
  line-height: 1.4;
}

.intel-info-card__body {
  padding: 20px 22px;
  color: var(--color-text-muted);
  font-size: 15px;
  line-height: 1.55;
}

.intel-info-card__body p {
  margin: 0 0 10px;
}

.intel-info-card__body p:last-child {
  margin-bottom: 0;
}

.intel-info-card__body strong {
  color: #fff;
  font-weight: 600;
}

.intel-info-card__body a {
  color: var(--color-accent-light);
  text-decoration: underline;
  text-underline-offset: 3px;
}

.intel-info-card__body a:hover {
  color: var(--color-accent-hot);
}

.intel-info-card__link {
  color: var(--color-accent-light) !important;
  font-weight: 500;
}

/* Documents — tab «Документы» */
.intel-docs {
  display: flex;
  flex-direction: column;
  gap: 36px;
}

.intel-docs__title {
  margin: 0 0 16px;
  color: #fff;
  font-size: 18px;
  font-weight: 700;
  line-height: 1.35;
}

.intel-docs__list {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.intel-docs__link {
  color: var(--color-accent-light);
  font-size: 15px;
  line-height: 1.45;
  text-decoration: none;
}

.intel-docs__link:hover {
  color: var(--color-accent-hot);
  text-decoration: underline;
  text-underline-offset: 3px;
}

.intel-docs__plain {
  margin: 0;
  color: var(--color-text-muted);
  font-size: 15px;
  line-height: 1.45;
}

/* Education — tab «Образование» */
#tab4 > .intel-panel__heading {
  margin: 0 0 20px;
  padding: 14px 20px;
  border: none;
  border-radius: var(--radius-sm);
  background: var(--color-accent);
  color: #fff;
  font-size: clamp(18px, 2.5vw, 24px);
  font-weight: 700;
  text-align: center;
}

.intel-edu {
  display: flex;
  flex-direction: column;
  gap: 20px;
}

.intel-edu__kv-list {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.intel-edu__kv {
  display: grid;
  grid-template-columns: minmax(180px, 34%) minmax(0, 1fr);
  border-radius: var(--radius-sm);
  background: var(--color-card-muted);
  overflow: hidden;
}

.intel-edu__kv-label,
.intel-edu__kv-value {
  padding: 16px 18px;
  font-size: 15px;
  line-height: 1.45;
}

.intel-edu__kv-label {
  border-right: 1px solid rgba(255, 255, 255, 0.08);
  color: #fff;
  font-weight: 600;
}

.intel-edu__kv-value {
  color: var(--color-text-muted);
}

.intel-edu__section {
  display: flex;
  flex-direction: column;
  gap: 0;
}

.intel-edu__bar {
  padding: 12px 16px;
  border-radius: var(--radius-sm) var(--radius-sm) 0 0;
  background: var(--color-accent);
  color: #fff;
  font-size: 14px;
  font-weight: 600;
  line-height: 1.45;
}

.intel-edu__bar--sm {
  border-radius: var(--radius-sm);
  font-size: 13px;
}

.intel-edu__section > .intel-edu__bar:only-child,
.intel-edu__section > .intel-edu__bar:last-child:not(:first-child) {
  border-radius: var(--radius-sm);
}

.intel-edu__section > .intel-edu__bar + .intel-edu__table-wrap .intel-edu__table thead tr:first-child th:first-child {
  border-top-left-radius: 0;
}

.intel-edu__table-wrap {
  overflow-x: auto;
  border: 1px solid var(--color-card-border);
  border-top: none;
  border-radius: 0 0 var(--radius-sm) var(--radius-sm);
}

.intel-edu__section > .intel-edu__bar:only-child {
  border-radius: var(--radius-sm);
}

.intel-edu__table {
  min-width: 640px;
}

.intel-edu__table--admission {
  min-width: 900px;
}

.intel-edu__table .intel-edu__code {
  color: var(--color-accent-light);
}

.intel-edu__table .intel-edu__code a {
  color: var(--color-accent-light);
  text-decoration: none;
}

.intel-edu__table .intel-edu__code a:hover {
  color: var(--color-accent-hot);
  text-decoration: underline;
  text-underline-offset: 3px;
}

.intel-edu__text {
  margin: 0;
  color: var(--color-text-muted);
  font-size: 15px;
  line-height: 1.6;
}

.intel-edu__inline {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 10px 16px;
}

.intel-edu__inline-label {
  color: #fff;
  font-size: 16px;
  font-weight: 600;
}

.intel-edu__note {
  margin: 12px 0 0;
  color: var(--color-text-muted);
  font-size: 15px;
  line-height: 1.5;
}

.intel-edu__extra {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.intel-edu__link {
  color: var(--color-accent-light);
  font-size: 15px;
  line-height: 1.45;
  text-decoration: none;
}

.intel-edu__link:hover {
  color: var(--color-accent-hot);
  text-decoration: underline;
  text-underline-offset: 3px;
}

.intel-edu__links {
  margin: 0;
  padding: 14px 0 0;
  list-style: none;
}

.intel-edu__links li + li {
  margin-top: 8px;
}

.intel-edu__prog {
  display: flex;
  flex-direction: column;
  gap: 14px;
  margin-top: 8px;
}

.intel-edu__prog-title {
  padding: 12px 16px;
  border-radius: var(--radius-sm);
  background: rgba(171, 0, 234, 0.22);
  color: #fff;
  font-size: 17px;
  font-weight: 700;
  text-align: center;
}

.intel-edu__subsection {
  display: flex;
  flex-direction: column;
  gap: 0;
}

.intel-edu__subsection .intel-edu__links {
  padding: 12px 0 4px 4px;
}

@media (max-width: 640px) {
  .intel-edu__kv {
    grid-template-columns: 1fr;
  }

  .intel-edu__kv-label {
    border-right: none;
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
    padding-bottom: 10px;
  }
}

/* MTS — tab «Материально-техническое обеспечение» */
.intel-mts {
  display: flex;
  flex-direction: column;
  gap: 20px;
}

.intel-mts__section {
  display: flex;
  flex-direction: column;
  gap: 0;
}

.intel-mts__bar {
  padding: 12px 16px;
  border-radius: var(--radius-sm) var(--radius-sm) 0 0;
  background: var(--color-accent);
  color: #fff;
  font-size: 14px;
  font-weight: 600;
  line-height: 1.45;
}

.intel-mts__section > .intel-mts__bar:only-child {
  border-radius: var(--radius-sm);
}

.intel-mts__text {
  margin: 0;
  color: var(--color-text-muted);
  font-size: 15px;
  line-height: 1.6;
}

.intel-mts__text--pad {
  padding-top: 14px;
}

.intel-mts__link {
  color: var(--color-accent-light);
  font-size: 15px;
  line-height: 1.45;
  text-decoration: none;
}

.intel-mts__link:hover {
  color: var(--color-accent-hot);
  text-decoration: underline;
  text-underline-offset: 3px;
}

.intel-mts__links {
  margin: 0;
  padding: 14px 0 4px 4px;
  list-style: none;
}

.intel-mts__links li + li {
  margin-top: 8px;
}

.intel-mts__table-wrap {
  overflow-x: auto;
  margin-top: 14px;
  border: 1px solid var(--color-card-border);
  border-radius: var(--radius-sm);
}

.intel-mts__table {
  min-width: 420px;
}

.intel-mts__group {
  display: flex;
  flex-direction: column;
  gap: 0;
  margin-top: 16px;
}

.intel-mts__group-title {
  padding: 10px 14px;
  border-radius: var(--radius-sm);
  background: rgba(171, 0, 234, 0.22);
  color: #fff;
  font-size: 15px;
  font-weight: 600;
  line-height: 1.4;
}

.intel-mts__group .intel-mts__links {
  padding-top: 12px;
}

.intel-mts__section {
  scroll-margin-top: calc(var(--header-h) + 20px);
}

.intel-mts__section:target .intel-mts__bar {
  box-shadow: 0 0 0 2px rgba(255, 255, 255, 0.25);
}

/* Standalone page — mts.html */
.page-mts {
  background: var(--color-bg);
  font-family: var(--font);
}

.mts-layout {
  padding: 24px 0 64px;
}

.mts-layout__inner {
  display: flex;
  flex-direction: column;
}

.mts-page__back {
  display: inline-flex;
  align-self: flex-start;
  margin-bottom: 24px;
  padding: 10px 18px;
  border: 1px solid rgba(255, 255, 255, 0.2);
  border-radius: 20px;
  background: transparent;
  color: #fff;
  font-size: 14px;
  font-weight: 600;
  line-height: 1.35;
  text-decoration: none;
  transition: border-color var(--transition), background var(--transition);
}

.mts-page__back:hover {
  border-color: rgba(255, 255, 255, 0.45);
  background: rgba(255, 255, 255, 0.04);
  color: #fff;
}

.mts-page__title {
  margin: 0 0 16px;
  color: #fff;
  font-size: clamp(22px, 3vw, 32px);
  font-weight: 700;
  line-height: 1.25;
}

.mts-page__lead {
  margin: 0 0 24px;
  max-width: 920px;
  color: var(--color-text-muted);
  font-size: 16px;
  line-height: 1.6;
}

.mts-page__nav {
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin-bottom: 32px;
  padding: 16px 20px;
  border: 1px solid var(--color-card-border);
  border-radius: var(--radius-sm);
  background: rgba(255, 255, 255, 0.02);
}

.mts-page__nav-link {
  color: var(--color-accent-light);
  font-size: 15px;
  font-weight: 500;
  line-height: 1.45;
  text-decoration: none;
  transition: color var(--transition);
}

.mts-page__nav-link:hover {
  color: var(--color-accent-hot);
  text-decoration: underline;
  text-underline-offset: 3px;
}

.mts-body {
  display: flex;
  flex-direction: column;
  gap: 32px;
}

.mts-section {
  scroll-margin-top: calc(var(--header-h) + 20px);
  padding-bottom: 32px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}

.mts-section:last-child {
  padding-bottom: 0;
  border-bottom: none;
}

.mts-section > .mts-section__title:first-child {
  margin: 0 0 16px;
  padding: 12px 16px;
  border-radius: var(--radius-sm);
  background: var(--color-accent);
  color: #fff;
  font-size: 14px;
  font-weight: 600;
  line-height: 1.45;
}

.mts-section:target > .mts-section__title:first-child {
  box-shadow: 0 0 0 2px rgba(255, 255, 255, 0.25);
}

.mts-section__title:not(:first-child),
.mts-section__subtitle {
  margin: 24px 0 12px;
  color: #fff;
  font-size: 15px;
  font-weight: 600;
  line-height: 1.4;
}

.mts-text {
  margin: 0 0 12px;
  color: var(--color-text-muted);
  font-size: 15px;
  line-height: 1.6;
}

.carousel--mts {
  position: relative;
  width: min(100%, 620px);
  margin: 8px 0 24px;
}

.carousel--mts .carousel__viewport {
  width: 100%;
  overflow: hidden;
  border-radius: var(--radius-sm);
}

.carousel--mts .carousel__track {
  gap: 0;
  padding-bottom: 0;
}

.carousel--mts .carousel__slide {
  flex: 0 0 100%;
  scroll-snap-align: center;
}

.mts-slider__img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 620 / 412;
  object-fit: cover;
  border-radius: var(--radius-sm);
}

.carousel--mts .carousel__btn {
  position: absolute;
  top: 50%;
  z-index: 2;
  width: 40px;
  height: 40px;
  transform: translateY(-50%);
}

.carousel--mts .carousel__btn--prev {
  left: 20px;
}

.carousel--mts .carousel__btn--next {
  right: 20px;
}

.carousel--mts .carousel__btn--next .carousel__btn-icon {
  transform: rotate(180deg);
}

.carousel--mts .carousel__btn:hover,
.carousel--mts .carousel__btn:focus-visible {
  transform: translateY(-50%) scale(1.08);
}

.carousel--mts .carousel__btn:active {
  transform: translateY(-50%) scale(0.96);
}

@media (max-width: 640px) {
  .carousel--mts .carousel__btn {
    width: 32px;
    height: 32px;
  }

  .carousel--mts .carousel__btn--prev {
    left: 12px;
  }

  .carousel--mts .carousel__btn--next {
    right: 12px;
  }
}

.mts-link {
  color: var(--color-accent-light);
  font-size: inherit;
  line-height: 1.45;
  text-decoration: none;
}

.mts-link:hover {
  color: var(--color-accent-hot);
  text-decoration: underline;
  text-underline-offset: 3px;
}

.mts-link--plain {
  cursor: default;
}

.mts-link--plain:hover {
  text-decoration: none;
  color: var(--color-accent-light);
}

.mts-links {
  margin: 0;
  padding: 0;
  list-style: none;
}

.mts-links li + li {
  margin-top: 8px;
}

.mts-links .mts-link {
  font-size: 15px;
}

.mts-bullets {
  margin: 0 0 16px;
  padding-left: 1.2em;
  color: var(--color-text-muted);
  font-size: 15px;
  line-height: 1.6;
}

.mts-bullets li + li {
  margin-top: 6px;
}

.mts-table-wrap {
  overflow-x: auto;
  margin-top: 12px;
  border: 1px solid var(--color-card-border);
  border-radius: var(--radius-sm);
}

.mts-table {
  min-width: 420px;
}

.mts-info-card {
  margin: 12px 0 16px;
  padding: 16px 20px;
  border: 1px solid var(--color-card-border);
  border-radius: var(--radius-sm);
  background: var(--color-bg-alt);
}

.mts-info-card__title {
  margin: 0 0 14px;
  color: #fff;
  font-size: 15px;
  font-weight: 600;
  line-height: 1.4;
}

.mts-info-card__list {
  margin: 0;
  display: grid;
  gap: 10px;
}

.mts-info-card__row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 16px;
  align-items: baseline;
}

.mts-info-card__row dt {
  margin: 0;
  color: var(--color-text-muted);
  font-size: 14px;
  font-weight: 400;
  line-height: 1.45;
}

.mts-info-card__row dd {
  margin: 0;
  color: #fff;
  font-size: 14px;
  font-weight: 600;
  line-height: 1.45;
  text-align: right;
  white-space: nowrap;
}

.mts-group {
  display: flex;
  flex-direction: column;
  gap: 0;
  margin-top: 16px;
}

.mts-group__title {
  padding: 10px 14px;
  border-radius: var(--radius-sm);
  background: rgba(171, 0, 234, 0.22);
  color: #fff;
  font-size: 15px;
  font-weight: 600;
  line-height: 1.4;
}

.mts-group .mts-links {
  padding-top: 12px;
}

@media (max-width: 640px) {
  .mts-page__title {
    font-size: 22px;
  }

  .mts-page__lead,
  .mts-page__nav-link,
  .mts-text,
  .mts-links .mts-link,
  .mts-bullets {
    font-size: 14px;
  }

  .mts-section > .mts-section__title:first-child {
    font-size: 13px;
  }

  .mts-info-card__row {
    grid-template-columns: 1fr;
    gap: 4px;
  }

  .mts-info-card__row dd {
    text-align: left;
  }
}

/* Standalone pages — intelligence program subpages (game_dev, infsys, design) */
.page-intel-program,
.page-game-dev {
  background: var(--color-bg);
  font-family: var(--font);
}

.gd-layout {
  padding: 24px 0 64px;
}

.gd-layout__inner {
  display: flex;
  flex-direction: column;
}

.gd-page__back {
  display: inline-flex;
  align-self: flex-start;
  margin-bottom: 24px;
  padding: 10px 18px;
  border: 1px solid rgba(255, 255, 255, 0.2);
  border-radius: 20px;
  background: transparent;
  color: #fff;
  font-size: 14px;
  font-weight: 600;
  line-height: 1.35;
  text-decoration: none;
  transition: border-color var(--transition), background var(--transition);
}

.gd-page__back:hover {
  border-color: rgba(255, 255, 255, 0.45);
  background: rgba(255, 255, 255, 0.04);
  color: #fff;
}

.gd-page__title {
  margin: 0 0 12px;
  color: #fff;
  font-size: clamp(22px, 3vw, 32px);
  font-weight: 700;
  line-height: 1.25;
}

.gd-page__note {
  margin: 0 0 28px;
  color: var(--color-text-muted);
  font-size: 14px;
  line-height: 1.5;
}

.gd-body {
  display: flex;
  flex-direction: column;
  gap: 32px;
}

.gd-section {
  scroll-margin-top: calc(var(--header-h) + 20px);
  padding-bottom: 32px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}

.gd-section:last-child {
  padding-bottom: 0;
  border-bottom: none;
}

.gd-section__title {
  margin: 0 0 16px;
  padding: 12px 16px;
  border-radius: var(--radius-sm);
  background: var(--color-accent);
  color: #fff;
  font-size: 15px;
  font-weight: 600;
  line-height: 1.4;
}

.gd-section__subtitle {
  margin: -8px 0 16px;
  color: var(--color-text-muted);
  font-size: 15px;
  line-height: 1.5;
}

.gd-text {
  margin: 0 0 12px;
  color: var(--color-text);
  font-size: 15px;
  line-height: 1.6;
}

.gd-inline {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  margin-top: 16px;
  font-size: 15px;
}

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

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

.gd-link {
  color: var(--color-accent-light);
  font-size: 15px;
  font-weight: 500;
  line-height: 1.45;
  text-decoration: none;
  transition: color var(--transition);
}

.gd-link:hover {
  color: var(--color-accent-hot);
  text-decoration: underline;
  text-underline-offset: 3px;
}

.gd-links {
  margin: 0;
  padding: 0;
  list-style: none;
}

.gd-links li + li {
  margin-top: 10px;
}

.gd-cohorts {
  display: flex;
  flex-direction: column;
  gap: 24px;
}

.gd-cohort {
  padding: 20px;
  border: 1px solid var(--color-card-border);
  border-radius: var(--radius-sm);
  background: rgba(255, 255, 255, 0.02);
}

.gd-cohort__title {
  margin: 0 0 12px;
  color: #fff;
  font-size: 16px;
  font-weight: 600;
  line-height: 1.4;
}

.gd-bundle-list {
  margin: 12px 0 0;
  padding-left: 20px;
  color: var(--color-text);
  font-size: 15px;
  line-height: 1.55;
}

.gd-bundle-list li + li {
  margin-top: 6px;
}

.gd-program-hub {
  display: flex;
  flex-direction: column;
  gap: 0;
}

.gd-program-hub__bar {
  padding: 12px 16px;
  border-radius: var(--radius-sm);
  background: var(--color-accent);
  color: #fff;
  font-size: clamp(16px, 2vw, 20px);
  font-weight: 700;
  line-height: 1.4;
  text-align: center;
}

.gd-program-page {
  display: flex;
  flex-direction: column;
  gap: 20px;
}

.gd-program-page__group {
  margin: 0;
  color: var(--color-text);
  font-size: 15px;
  line-height: 1.5;
}

.gd-program-page__program,
.gd-program-page__subtitle {
  margin: 0;
  color: var(--color-text);
  font-size: 15px;
  line-height: 1.5;
}

.gd-program-page__program {
  color: #fff;
  font-weight: 600;
}

.gd-program-page__subtitle {
  margin-top: -8px;
  color: var(--color-text-muted, var(--color-text));
  font-size: 14px;
}

.gd-program-page__subheading {
  margin: 16px 0 8px;
  color: #fff;
  font-size: 16px;
  font-weight: 600;
  line-height: 1.4;
}

.gd-study-plan-grid {
  display: flex;
  flex-direction: column;
  gap: 12px;
  margin: 0 0 24px;
}

.gd-study-plan-grid__row {
  display: grid;
  grid-template-columns: minmax(200px, 2fr) minmax(120px, 1fr) minmax(120px, 1fr);
  gap: 12px;
}

.gd-study-plan-grid__cell {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 64px;
  padding: 14px 16px;
  border-radius: 10px;
  background: rgba(255, 255, 255, 0.04);
  border: 1px solid var(--color-card-border);
  color: var(--color-text);
  font-size: 14px;
  line-height: 1.4;
  text-align: center;
}

.gd-study-plan-grid__cell--title {
  justify-content: flex-start;
  text-align: left;
}

.gd-study-plan-grid__cell--title .gd-link {
  font-weight: 600;
}

.gd-study-plan-grid__cell--head {
  background: rgba(255, 255, 255, 0.06);
  color: #fff;
  font-weight: 600;
}

.gd-study-plan-grid__cell--qual {
  justify-content: flex-start;
  text-align: left;
}

@media (max-width: 960px) {
  .gd-study-plan-grid__row {
    grid-template-columns: 1fr;
  }

  .gd-study-plan-grid__cell--head {
    display: none;
  }

  .gd-study-plan-grid__cell:not(.gd-study-plan-grid__cell--title)::before {
    display: block;
    margin-bottom: 6px;
    color: rgba(255, 255, 255, 0.55);
    font-size: 12px;
    font-weight: 600;
  }

  .gd-study-plan-grid__row:first-child .gd-study-plan-grid__cell:nth-child(2)::before {
    content: "На базе 9 классов";
  }

  .gd-study-plan-grid__row:first-child .gd-study-plan-grid__cell:nth-child(3)::before {
    content: "На базе 11 классов";
  }
}

.gd-program-page__heading {
  margin: 8px 0 0;
  color: #fff;
  font-size: clamp(18px, 2.2vw, 22px);
  font-weight: 700;
  line-height: 1.35;
}

.gd-program-page .gd-cohorts {
  display: flex;
  flex-direction: column;
  gap: 28px;
}

.gd-program-page .gd-cohort__title {
  margin: 0 0 10px;
  color: #fff;
  font-size: 16px;
  font-weight: 600;
  line-height: 1.4;
}

.gd-program-page .gd-links {
  margin: 0;
}

.gd-table--terms thead th:first-child {
  text-align: left;
}

.gd-program-grid {
  display: flex;
  flex-direction: column;
  gap: 12px;
  margin-top: 12px;
}

.gd-program-grid__row {
  display: grid;
  grid-template-columns: minmax(140px, 1.1fr) minmax(200px, 1.55fr) repeat(3, minmax(88px, 0.72fr));
  gap: 12px;
}

.gd-program-grid__cell {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 72px;
  padding: 14px 12px;
  border-radius: 10px;
  background: var(--color-card-muted);
  color: var(--color-text);
  font-size: 14px;
  line-height: 1.35;
  text-align: center;
}

.gd-program-grid__cell--head {
  min-height: 64px;
  background: rgba(255, 255, 255, 0.06);
  color: #fff;
  font-size: 13px;
  font-weight: 600;
}

.gd-program-grid__cell--left {
  justify-content: flex-start;
  text-align: left;
}

.gd-program-grid__cell--stack {
  flex-direction: column;
  align-items: stretch;
  gap: 10px;
  padding: 10px;
}

.gd-program-grid__tracks {
  display: flex;
  flex-direction: column;
  gap: 10px;
  width: 100%;
}

.gd-program-grid__track {
  display: block;
  padding: 12px 14px;
  border-radius: 8px;
  background: rgba(0, 0, 0, 0.22);
  color: var(--color-accent-light);
  font-size: 14px;
  line-height: 1.4;
  text-align: center;
  text-decoration: none;
  transition: color var(--transition);
}

.gd-program-grid__track:hover {
  color: var(--color-accent-hot);
}

.gd-program-hub__ped {
  margin: 16px 0 0;
}

.gd-program-hub__ped .gd-link {
  font-size: 14px;
  line-height: 1.45;
}

@media (max-width: 960px) {
  .gd-program-grid__row {
    grid-template-columns: 1fr;
  }

  .gd-program-grid__cell--head:not(:first-child) {
    display: none;
  }

  .gd-program-grid__row--head .gd-program-grid__cell--head:first-child {
    display: flex;
    grid-column: 1 / -1;
  }

  .gd-program-grid__row:not(.gd-program-grid__row--head) .gd-program-grid__cell::before {
    display: block;
    margin-bottom: 6px;
    color: rgba(255, 255, 255, 0.55);
    font-size: 12px;
    font-weight: 600;
    text-align: left;
  }

  .gd-program-grid__row:not(.gd-program-grid__row--head) .gd-program-grid__cell:nth-child(1)::before {
    content: "Укрупнённая группа";
  }

  .gd-program-grid__row:not(.gd-program-grid__row--head) .gd-program-grid__cell:nth-child(2)::before {
    content: "Специальности";
  }

  .gd-program-grid__row:not(.gd-program-grid__row--head) .gd-program-grid__cell:nth-child(3)::before {
    content: "На базе 11 классов";
  }

  .gd-program-grid__row:not(.gd-program-grid__row--head) .gd-program-grid__cell:nth-child(4)::before {
    content: "На базе 9 классов";
  }

  .gd-program-grid__row:not(.gd-program-grid__row--head) .gd-program-grid__cell:nth-child(5)::before {
    content: "Форма обучения";
  }
}

.gd-table-wrap {
  overflow-x: auto;
  border: 1px solid var(--color-card-border);
  border-radius: var(--radius-sm);
}

.gd-table-wrap--wide {
  -webkit-overflow-scrolling: touch;
}

.gd-table {
  width: 100%;
  min-width: 640px;
  border-collapse: collapse;
}

.gd-table--staff {
  min-width: 1100px;
}

.gd-table th,
.gd-table td {
  padding: 12px 14px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
  color: var(--color-text);
  font-size: 14px;
  line-height: 1.45;
  text-align: left;
  vertical-align: top;
}

.gd-table thead th {
  background: rgba(255, 255, 255, 0.04);
  color: #fff;
  font-weight: 600;
}

.gd-table__code {
  min-width: 220px;
}

.gd-tabs {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 20px;
}

.gd-tab {
  padding: 10px 18px;
  border: 1px solid rgba(255, 255, 255, 0.2);
  border-radius: 20px;
  background: transparent;
  color: #fff;
  font-family: inherit;
  font-size: 14px;
  font-weight: 600;
  cursor: pointer;
  transition: border-color var(--transition), background var(--transition);
}

.gd-tab:hover,
.gd-tab.is-active {
  border-color: var(--color-accent);
  background: rgba(255, 255, 255, 0.06);
}

.gd-track-panel__subtitle {
  margin: 0 0 16px;
  color: var(--color-text-muted);
  font-size: 15px;
}

@media (max-width: 640px) {
  .gd-page__title {
    font-size: 22px;
  }

  .gd-link,
  .gd-text,
  .gd-table th,
  .gd-table td {
    font-size: 14px;
  }
}

/* Standalone page — quality_system.html */
.page-quality {
  background: var(--color-bg);
}

.quality-layout {
  padding: 24px 0 64px;
}

.quality-layout__inner {
  display: flex;
  flex-direction: column;
}

.quality-page__back {
  display: inline-flex;
  align-self: flex-start;
  margin-bottom: 24px;
  padding: 10px 18px;
  border: 1px solid rgba(255, 255, 255, 0.2);
  border-radius: 20px;
  background: transparent;
  color: #fff;
  font-size: 14px;
  font-weight: 600;
  line-height: 1.35;
  text-decoration: none;
  transition: border-color var(--transition), background var(--transition);
}

.quality-page__back:hover {
  border-color: rgba(255, 255, 255, 0.45);
  background: rgba(255, 255, 255, 0.04);
  color: #fff;
}

.quality-page__title {
  margin: 0 0 32px;
  font-size: clamp(22px, 3vw, 32px);
  font-weight: 700;
  line-height: 1.25;
}

.intel-quality {
  display: flex;
  flex-direction: column;
  gap: 32px;
}

.intel-quality__section {
  scroll-margin-top: calc(var(--header-h) + 20px);
}

.intel-quality__heading {
  margin: 0 0 14px;
  font-size: clamp(20px, 2.5vw, 28px);
  font-weight: 700;
  line-height: 1.3;
}

.intel-quality__links {
  margin: 0;
  padding: 0;
  list-style: none;
}

.intel-quality__links li + li {
  margin-top: 10px;
}

.intel-quality__link {
  color: var(--color-accent-light);
  font-size: 15px;
  line-height: 1.45;
  text-decoration: none;
}

.intel-quality__link:hover {
  color: var(--color-accent-hot);
  text-decoration: underline;
  text-underline-offset: 3px;
}

.intel-quality__richtext {
  color: #fff;
  font-size: 15px;
  line-height: 1.55;
}

.intel-quality__richtext > *:first-child {
  margin-top: 0;
}

.intel-quality__richtext > *:last-child {
  margin-bottom: 0;
}

.intel-quality__richtext p + p,
.intel-quality__richtext ul + p,
.intel-quality__richtext p + ul,
.intel-quality__richtext h2 + p,
.intel-quality__richtext h3 + p,
.intel-quality__richtext h4 + p {
  margin-top: 12px;
}

.intel-quality__richtext ul,
.intel-quality__richtext ol {
  margin: 0;
  padding-left: 1.2em;
}

.intel-quality__richtext a {
  color: var(--color-accent-light);
  text-decoration: none;
}

.intel-quality__richtext a:hover {
  color: var(--color-accent-hot);
  text-decoration: underline;
  text-underline-offset: 3px;
}

/* Admissions — tab «Приемная комиссия и правила приема» */
#tab19 > .intel-panel__heading {
  display: none;
}

.intel-admissions {
  display: flex;
  flex-direction: column;
  gap: 28px;
}

.intel-admissions__title {
  margin: 0;
  font-size: clamp(22px, 3vw, 32px);
  font-weight: 700;
  line-height: 1.25;
}

.intel-admissions__section {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.intel-admissions__heading {
  margin: 0;
  font-size: 15px;
  font-weight: 700;
  line-height: 1.45;
}

.intel-admissions__links {
  margin: 0;
  padding: 0;
  list-style: none;
}

.intel-admissions__links li + li {
  margin-top: 10px;
}

.intel-admissions__link {
  color: var(--color-accent-light);
  font-size: 15px;
  line-height: 1.45;
  text-decoration: none;
}

.intel-admissions__link:hover {
  color: var(--color-accent-hot);
  text-decoration: underline;
  text-underline-offset: 3px;
}

.intel-admissions__archive {
  display: inline-flex;
  align-self: flex-start;
  margin-top: 4px;
  padding: 14px 28px;
  border-radius: 999px;
  background: var(--color-accent);
  color: #fff;
  font-size: 15px;
  font-weight: 600;
  line-height: 1.35;
  text-decoration: none;
  transition: background var(--transition), color var(--transition);
}

.intel-admissions__archive:hover {
  background: var(--color-accent-hot);
  color: #fff;
}

/* Paid services — tab «Платные образовательные услуги» */
.intel-paid {
  display: flex;
  flex-direction: column;
  gap: 28px;
}

.intel-paid__docs {
  margin: 0;
  padding: 0;
  list-style: none;
}

.intel-paid__docs li + li {
  margin-top: 10px;
}

.intel-paid__link {
  color: var(--color-accent-light);
  font-size: clamp(15px, 1.6vw, 20px);
  line-height: 1.35;
  text-decoration: none;
}

.intel-paid__link:hover {
  color: var(--color-accent-hot);
  text-decoration: underline;
  text-underline-offset: 3px;
}

.intel-paid__note {
  margin: 0;
  color: #fff;
  font-size: clamp(15px, 1.6vw, 20px);
  line-height: 1.35;
}

.intel-paid__heading {
  margin: 0;
  color: #fff;
  font-size: clamp(22px, 2.4vw, 30px);
  font-weight: 700;
  line-height: 1.2;
}

.intel-paid__methods {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 20px;
  align-items: stretch;
}

.intel-paid__methods-col {
  display: flex;
  flex-direction: column;
  gap: 20px;
}

.intel-paid__method {
  display: flex;
  gap: 20px;
  justify-content: space-between;
  align-items: flex-start;
  min-height: 143px;
  padding: 28px 32px;
  border-radius: var(--radius-lg);
  background: var(--color-card-muted);
  color: #fff;
}

.intel-paid__method--tall {
  min-height: 100%;
  height: 100%;
}

.intel-paid__method-body {
  flex: 1;
  min-width: 0;
}

.intel-paid__method-num {
  flex-shrink: 0;
  font-size: 24px;
  font-weight: 700;
  line-height: 1;
  color: rgba(255, 255, 255, 0.45);
}

.intel-paid__method-title {
  margin: 0 0 12px;
  color: #fff;
  font-size: clamp(18px, 2vw, 22px);
  font-weight: 700;
  line-height: 1.2;
}

.intel-paid__method-text {
  color: #fff;
  font-size: clamp(16px, 1.7vw, 20px);
  line-height: 1.25;
}

.intel-paid__method-text p {
  margin: 0;
}

.intel-paid__method-foot {
  margin-top: 16px !important;
}

.intel-paid__tax {
  display: flex;
  align-items: center;
  gap: 24px 40px;
  min-height: 113px;
  padding: 18px 32px;
  border-radius: var(--radius-lg);
  background: var(--color-accent);
  color: #fff;
}

.intel-paid__tax-title {
  flex-shrink: 0;
  margin: 0;
  font-size: clamp(20px, 2.2vw, 30px);
  font-weight: 700;
  line-height: 1.2;
}

.intel-paid__tax-text {
  flex: 1;
  min-width: 0;
  margin: 0;
  font-size: clamp(16px, 1.8vw, 24px);
  font-weight: 400;
  line-height: 1.25;
}

.intel-paid__tax-btn {
  flex-shrink: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 14px 28px;
  border-radius: 999px;
  background: #1d1d1b;
  color: #fff;
  font-size: clamp(14px, 1.4vw, 18px);
  font-weight: 500;
  line-height: 1.2;
  text-decoration: none;
  white-space: nowrap;
  transition: background var(--transition), color var(--transition);
}

.intel-paid__tax-btn:hover {
  background: #000;
  color: #fff;
}

@media (max-width: 900px) {
  .intel-paid__methods {
    grid-template-columns: 1fr;
  }

  .intel-paid__method--tall {
    min-height: 143px;
    height: auto;
  }

  .intel-paid__tax {
    flex-direction: column;
    align-items: flex-start;
    gap: 12px;
    padding: 20px 24px;
  }

  .intel-paid__tax-btn {
    white-space: normal;
    text-align: center;
  }
}

/* Org chart — tab «Структура» */
.intel-org-chart {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
  margin-bottom: 32px;
}

.intel-org-chart__director {
  grid-column: 1 / -1;
  padding: 18px 20px;
  border-radius: var(--radius-sm);
  background: var(--color-accent);
  color: #fff;
  font-size: 20px;
  font-weight: 700;
  text-align: center;
}

.intel-org-chart__head {
  padding: 14px 16px;
  border-radius: var(--radius-sm);
  background: var(--color-card-muted);
  color: #fff;
  font-size: 15px;
  font-weight: 600;
  line-height: 1.35;
  text-align: center;
}

.intel-org-chart__head--admin {
  grid-column: 1;
}

.intel-org-chart__head--academic {
  grid-column: 2 / -1;
}

.intel-org-chart__panel,
.intel-org-chart__dept {
  border-radius: var(--radius-sm);
  background: var(--color-card-muted);
  overflow: hidden;
}

.intel-org-chart__panel--admin {
  grid-column: 1;
  padding: 16px;
}

.intel-org-chart__dept-title {
  padding: 12px 14px;
  background: rgba(0, 0, 0, 0.22);
  color: #fff;
  font-size: 14px;
  font-weight: 600;
  line-height: 1.35;
  text-align: center;
}

.intel-org-chart__list {
  margin: 0;
  padding: 14px 16px 16px 28px;
  color: var(--color-text-muted);
  font-size: 14px;
  line-height: 1.5;
}

.intel-org-chart__panel .intel-org-chart__list {
  padding-left: 20px;
}

/* Staff — tab «Педагогический состав» */
.intel-staff {
  display: flex;
  flex-direction: column;
  gap: 36px;
}

.intel-staff__intro {
  margin: 0;
  color: #fff;
  font-size: clamp(18px, 2.4vw, 22px);
  font-weight: 700;
  line-height: 1.35;
}

.intel-staff__section {
  display: flex;
  flex-direction: column;
  gap: 14px;
}

.intel-staff__title {
  margin: 0;
  color: #fff;
  font-size: clamp(15px, 2vw, 18px);
  font-weight: 700;
  line-height: 1.4;
}

.intel-staff__table-wrap {
  overflow-x: auto;
  margin: 0 -4px;
  padding: 0 4px;
}

.intel-staff__table {
  width: 100%;
  min-width: 960px;
  border-collapse: collapse;
  font-size: 12px;
  line-height: 1.45;
}

.intel-staff__table thead th {
  padding: 10px 12px 12px 0;
  border: none;
  border-bottom: 1px solid rgba(255, 255, 255, 0.85);
  background: transparent;
  color: #fff;
  font-size: 11px;
  font-weight: 600;
  line-height: 1.35;
  text-align: left;
  vertical-align: top;
}

.intel-staff__table thead th:not(:last-child) {
  padding-right: 16px;
}

.intel-staff__table tbody td {
  padding: 12px 12px 12px 0;
  border: none;
  border-bottom: 1px solid rgba(217, 217, 217, 0.35);
  color: var(--color-text-muted);
  font-size: 12px;
  line-height: 1.45;
  text-align: left;
  vertical-align: top;
}

.intel-staff__table tbody td:not(:last-child) {
  padding-right: 16px;
}

.intel-staff__table tbody tr:last-child td {
  border-bottom-color: rgba(217, 217, 217, 0.2);
}

.intel-staff__name {
  color: #fff;
  font-weight: 600;
}

/* Management — tab «Руководство» */
.intel-mgmt {
  min-width: 0;
}

.intel-mgmt__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 20px;
}

.intel-mgmt__card {
  display: flex;
  align-items: flex-start;
  gap: 20px;
  min-width: 0;
  padding: 20px;
  border-radius: 12px;
  background: #3b3d54;
}

.intel-mgmt__photo {
  flex-shrink: 0;
  width: 132px;
  height: 132px;
  border-radius: 8px;
  object-fit: cover;
}

.intel-mgmt__body {
  display: flex;
  flex: 1;
  flex-direction: column;
  gap: 8px;
  min-width: 0;
  padding-top: 4px;
}

.intel-mgmt__name {
  margin: 0;
  color: #fff;
  font-size: clamp(18px, 2.2vw, 24px);
  font-weight: 700;
  line-height: 1.3;
}

.intel-mgmt__role {
  margin: 0;
  color: #fff;
  font-size: 15px;
  line-height: 1.45;
}

.intel-mgmt__email {
  margin-top: auto;
  color: #fff;
  font-size: 15px;
  line-height: 1.45;
  text-decoration: none;
  overflow-wrap: anywhere;
}

.intel-mgmt__email:hover {
  color: var(--color-accent-light);
  text-decoration: underline;
  text-underline-offset: 3px;
}

@media (max-width: 1024px) {
  .intel-mgmt__grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 768px) {
  .intel-mgmt__card {
    flex-direction: column;
    align-items: flex-start;
    gap: 16px;
  }

  .intel-mgmt__photo {
    width: 112px;
    height: 112px;
  }

  .intel-mgmt__body {
    padding-top: 0;
  }
}

.intel-leaders {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
  margin-bottom: 32px;
}

.intel-leader {
  padding: 20px;
  border: 1px solid var(--color-card-border);
  border-radius: var(--radius-sm);
  background: rgba(255, 255, 255, 0.03);
}

.intel-leader__name {
  margin: 0 0 6px;
  font-size: 18px;
  font-weight: 700;
  line-height: 1.3;
}

.intel-leader__role {
  margin: 0 0 10px;
  color: var(--color-text-muted);
  font-size: 15px;
}

.intel-leader__email {
  color: var(--color-accent-light);
  font-size: 15px;
  text-decoration: underline;
  text-underline-offset: 3px;
}

.intel-leader__email:hover {
  color: var(--color-accent-hot);
}

.intel-dl {
  margin: 0;
}

.intel-dl__row {
  padding: 16px 0;
  border-top: 1px solid var(--color-card-border);
}

.intel-dl__row:first-child {
  border-top: none;
  padding-top: 0;
}

.intel-dl__row dt {
  margin: 0 0 8px;
  font-size: 15px;
  font-weight: 600;
  line-height: 1.4;
}

.intel-dl__row dd {
  margin: 0;
  color: var(--color-text-muted);
  font-size: 15px;
  line-height: 1.5;
}

.intel-finance .intel-dl__row {
  padding: 24px 0;
}

.intel-finance .intel-dl__row dt {
  font-size: 18px;
  font-weight: 500;
  line-height: 1.45;
}

.intel-finance .intel-dl__row dd {
  font-size: 18px;
}

/* Scholarships — tab «Стипендии и меры поддержки обучающихся» */
.intel-scholarship {
  display: flex;
  flex-direction: column;
  gap: 28px;
}

.intel-scholarship__text {
  margin: 0;
  font-size: 15px;
  line-height: 1.6;
  color: var(--color-text-muted);
}

.intel-scholarship__text + .intel-scholarship__text {
  margin-top: -16px;
}

.intel-scholarship__block {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.intel-scholarship__title {
  margin: 0;
  font-size: 15px;
  font-weight: 700;
  line-height: 1.45;
}

/* Standards — tab «Образовательные стандарты» */
.intel-standards__abbr {
  margin-bottom: 28px;
}

.intel-standards__abbr-title {
  margin: 0 0 10px;
  font-size: 15px;
  font-weight: 600;
  line-height: 1.4;
}

.intel-standards__abbr-list {
  margin: 0;
  padding: 0;
  list-style: none;
}

.intel-standards__abbr-item {
  font-size: 15px;
  line-height: 1.55;
  color: var(--color-text-muted);
}

.intel-standards__abbr-item + .intel-standards__abbr-item {
  margin-top: 2px;
}

.intel-standards__grid {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.intel-standards__row {
  display: grid;
  grid-template-columns: minmax(120px, 22%) repeat(3, minmax(0, 1fr));
  gap: 12px;
}

.intel-standards__cell {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 88px;
  padding: 14px 12px;
  border-radius: 10px;
  background: var(--color-card-muted);
  font-size: 14px;
  line-height: 1.35;
  text-align: center;
}

.intel-standards__cell--label {
  justify-content: flex-start;
  text-align: left;
}

.intel-standards__cell--span {
  grid-column: 2 / -1;
}

.intel-standards__link {
  color: var(--color-accent-light);
  font-size: 14px;
  line-height: 1.35;
  text-align: center;
  text-decoration: none;
}

.intel-standards__link:hover {
  color: var(--color-accent-hot);
  text-decoration: underline;
  text-underline-offset: 3px;
}

@media (max-width: 960px) {
  .intel-standards__row {
    grid-template-columns: 1fr;
  }

  .intel-standards__cell--span {
    grid-column: auto;
  }

  .intel-standards__cell--label {
    min-height: auto;
    padding-bottom: 0;
    background: transparent;
  }
}

.intel-vacant__subtitle {
  margin: 0 0 40px;
  font-size: clamp(18px, 2.2vw, 24px);
  font-weight: 400;
  line-height: 1.45;
}

.intel-vacant__program + .intel-vacant__program {
  margin-top: 48px;
}

.intel-vacant__program-title {
  margin: 0 0 20px;
  font-size: clamp(18px, 2.2vw, 24px);
  font-weight: 400;
  line-height: 1.45;
}

.intel-vacant__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 236px));
  gap: 12px 24px;
  max-width: 520px;
}

.intel-vacant__col {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.intel-vacant__label {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  padding: 8px 16px;
  border-radius: 999px;
  background: var(--color-card-muted);
  font-size: 14px;
  line-height: 1.3;
  text-align: center;
}

.intel-vacant__value {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 72px;
  padding: 16px;
  border-radius: 10px;
  background: var(--color-card-muted);
  font-size: clamp(28px, 4vw, 36px);
  font-weight: 400;
  line-height: 1;
}

.intel-vacant__note {
  margin: 48px 0 0;
  font-size: clamp(16px, 2vw, 22px);
  font-weight: 400;
  line-height: 1.45;
}

@media (max-width: 980px) {
  .intel-info-card {
    grid-template-columns: 1fr;
  }

  .intel-info-card__label {
    border-right: none;
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
    padding-bottom: 14px;
  }

  .intel-org-chart {
    grid-template-columns: 1fr;
  }

  .intel-org-chart__director,
  .intel-org-chart__head--admin,
  .intel-org-chart__head--academic,
  .intel-org-chart__panel--admin {
    grid-column: 1;
  }

  .intel-leaders {
    grid-template-columns: 1fr;
  }

  .intel-layout__grid {
    grid-template-columns: 1fr;
  }

  .intel-nav {
    position: static;
  }

  .intel-nav__list {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .intel-content {
    padding: 20px 16px;
    scroll-margin-top: calc(var(--header-h) + 20px);
  }
}

@media (max-width: 640px) {
  .intel-hero {
    padding: 28px 0 24px;
  }

  .intel-vacant__grid {
    max-width: none;
  }

  .intel-mgmt__card {
    padding: 16px;
  }

  .intel-mgmt__photo {
    width: 100px;
    height: 100px;
  }

  .intel-nav__list {
    grid-template-columns: 1fr;
  }

  .intel-nav__btn,
  .intel-nav__link {
    font-size: 13px;
  }
}

/* Standalone pages — management.html, management-project-manager.html */
.page-mgmt {
  background: var(--color-bg);
  overflow-x: clip;
}

.page-mgmt main {
  overflow-x: clip;
}

.mgmt-hero {
  padding: 28px 0 40px;
}

.mgmt-hero__head {
  margin-bottom: 28px;
}

.mgmt-hero__title {
  margin: 0 0 12px;
  max-width: 980px;
  font-size: clamp(26px, 3.4vw, 43px);
  font-weight: 700;
  line-height: 1.1;
  letter-spacing: 0.2px;
}

.mgmt-hero__qualification {
  margin: 0;
  font-size: clamp(16px, 1.8vw, 24px);
  font-weight: 400;
  line-height: 1.35;
  color: var(--color-text-muted);
}

.mgmt-hero__grid {
  display: grid;
  grid-template-columns: minmax(0, 1.02fr) minmax(0, 0.98fr);
  gap: 20px;
  align-items: stretch;
}

.mgmt-hero__cards {
  display: grid;
  grid-template-rows: minmax(0, 1fr) auto;
  gap: 20px;
  min-height: 100%;
}

.mgmt-hero__outcomes {
  display: flex;
  flex-direction: column;
  padding: 32px 36px;
  border-radius: var(--radius);
  background: #333644;
}

.mgmt-hero__outcomes-intro {
  margin: 0 0 14px;
  font-size: clamp(15px, 1.5vw, 18px);
  font-weight: 400;
  line-height: 1.45;
  color: rgba(255, 255, 255, 0.78);
}

.mgmt-hero__outcomes-title {
  margin: 0 0 18px;
  font-size: clamp(22px, 2.4vw, 32px);
  font-weight: 700;
  line-height: 1.2;
}

.mgmt-hero__outcomes-list {
  margin: 0 0 28px;
  padding-left: 22px;
  font-size: clamp(15px, 1.5vw, 18px);
  line-height: 1.55;
}

.mgmt-hero__outcomes-list li + li {
  margin-top: 6px;
}

.mgmt-hero__cta {
  margin-top: auto;
  align-self: flex-start;
  min-width: 0;
  min-height: 52px;
  padding: 14px 36px;
  font-size: clamp(18px, 1.8vw, 24px);
  text-transform: none;
}

.mgmt-hero__events {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 20px;
}

.mgmt-hero__event {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  min-height: 200px;
  padding: 28px 24px 24px;
  border-radius: var(--radius);
  background: var(--color-accent);
  color: #fff;
}

.mgmt-hero__event-title {
  margin: 0 0 16px;
  font-size: clamp(18px, 1.9vw, 26px);
  font-weight: 700;
  line-height: 1.2;
}

.mgmt-hero__event-date {
  margin: 0;
  font-size: clamp(24px, 2.6vw, 32px);
  font-weight: 700;
  line-height: 1.1;
  margin-bottom: 20px;
}

.mgmt-hero__event-btn {
  margin-top: auto;
  align-self: flex-start;
  min-height: 52px;
  padding: 12px 28px;
  font-size: clamp(16px, 1.6vw, 22px);
  text-transform: none;
}

.mgmt-hero__video-col {
  min-height: 100%;
}

.mgmt-hero__video.hero__video {
  width: 100%;
  max-width: none;
  height: 100%;
  min-height: 520px;
  aspect-ratio: auto;
  border-radius: var(--radius);
}

.mgmt-hero__poster {
  position: absolute;
  inset: 0;
  z-index: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.mgmt-hero__video.is-playing .mgmt-hero__poster {
  display: none;
}

.mgmt-hero__video-play {
  background: rgba(0, 0, 0, 0.28);
}

.mgmt-hero__play-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 72px;
  height: 72px;
  border-radius: 50%;
  background: #fff;
  box-shadow: 0 8px 28px rgba(0, 0, 0, 0.25);
}

.mgmt-hero__play-icon::after {
  content: "";
  width: 0;
  height: 0;
  margin-left: 4px;
  border-top: 12px solid transparent;
  border-bottom: 12px solid transparent;
  border-left: 20px solid #1c222d;
}

.mgmt-hero__play-text {
  font-size: clamp(16px, 1.5vw, 24px);
  font-weight: 600;
  line-height: 1;
}

.mgmt-section {
  padding-block: 48px;
}

.mgmt-section--roles,
.mgmt-section--pm-specialty {
  padding-top: 40px;
}

.mgmt-pm-specialty__intro {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(280px, 0.85fr);
  gap: 32px 40px;
  align-items: start;
  margin-bottom: 32px;
}

.mgmt-pm-specialty__copy {
  font-size: 20px;
  line-height: 1.35;
  color: #fff;
}

.mgmt-pm-specialty__copy h2 {
  margin: 0 0 16px;
  font-size: clamp(25px, 5vw, 34px);
  font-weight: 700;
  line-height: 1.05;
}

.mgmt-pm-specialty__copy p {
  margin: 0;
}

.mgmt-pm-specialty__copy p + p {
  margin-top: 16px;
}

.mgmt-pm-specialty__intro-text p {
  margin: 0;
}

.mgmt-pm-specialty__intro-text p + p {
  margin-top: 16px;
}

.mgmt-pm-specialty__visual {
  border-radius: var(--radius-lg);
  overflow: hidden;
}

.mgmt-pm-specialty__visual img {
  display: block;
  width: 100%;
  height: auto;
  object-fit: cover;
}

.mgmt-pm-specialty__features {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0;
  margin-bottom: 40px;
  border-radius: 25px;
  overflow: hidden;
  background: var(--color-accent); 
}

.mgmt-pm-specialty__feature {
  padding: 28px 32px;
  color: #fff;
}

.mgmt-pm-specialty__feature:not(:last-child) {
  border-right: 1px solid rgba(255, 255, 255, 0.12);
}

.mgmt-pm-specialty__feature-title,
.mgmt-pm-specialty__career-title {
  margin: 0 0 10px;
  font-size: 20px;
  font-weight: 700;
  line-height: 1.25;
}

.mgmt-pm-specialty__feature-subtitle {
  display: inline;
  font-weight: 700;
}

.mgmt-pm-specialty__feature-text,
.mgmt-pm-specialty__career-text {
  margin: 0;
  font-size: 20px;
  line-height: 1.3;
  font-weight: 400;
}

.mgmt-pm-specialty__careers-title {
  margin: 0 0 32px;
  font-size: clamp(25px, 5vw, 64px);
  font-weight: 700;
  line-height: 1.05;
  color: #fff;
}

.mgmt-pm-specialty__careers {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 20px;
}

.mgmt-pm-specialty__career {
  padding: 24px 28px;
  border-radius: 25px;
  background: #3e3f56;
  color: #fff;
}

.mgmt-roles__back {
  display: inline-flex;
  margin-bottom: 20px;
  font-size: 14px;
  font-weight: 600;
  color: var(--color-accent-light);
}

.mgmt-roles__title {
  margin: 0 0 20px;
  font-size: clamp(36px, 5vw, 64px);
  font-weight: 700;
  line-height: 1;
}

.mgmt-roles__lead {
  max-width: 100%;
  margin: 0 0 36px;
  font-size: clamp(15px, 1.6vw, 20px);
  line-height: 1.45;
  color: #fff;
}

.mgmt-roles__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 32px;
  align-items: stretch;
}

.mgmt-roles__grid > .mgmt-role-card {
  --mgmt-role-accent: var(--color-accent);
  display: flex;
  flex-direction: column;
  min-width: 0;
  width: auto;
  height: auto;
  max-width: 100%;
}

.mgmt-role-card__tab {
  position: relative;
  display: inline-block;
  max-width: 100%;
  padding: 14px 36px 14px 28px;
  border-radius: 20px 20px 0 0;
  background: var(--mgmt-role-accent);
  color: #fff;
  font-size: clamp(18px, 2vw, 24px);
  font-weight: 700;
  line-height: 1.2;
}

.mgmt-role-card__tab a,
.mgmt-role-card__tab span {
  color: #fff;
  overflow-wrap: anywhere;
}

.mgmt-role-card__tab a:hover {
  color: #fff;
  opacity: 0.92;
}

.mgmt-role-card__tab::after {
  content: "";
  position: absolute;
  right: -1px;
  bottom: 0;
  width: 20px;
  height: 20px;
  background: transparent;
  border-bottom-left-radius: 20px;
  box-shadow: -10px 0 0 0 var(--mgmt-role-accent);
}

.mgmt-role-card__body {
  position: relative;
  display: flex;
  flex: 1;
  flex-direction: column;
  padding: 28px 32px 32px;
  border-radius: 0 20px 20px 20px;
  background: linear-gradient(165deg, #2a2d38 0%, #1f232d 100%);
  box-shadow:
    inset 0 0 0 1px rgba(171, 0, 234, 0.16),
    -8px 8px 36px rgba(171, 0, 234, 0.14),
    0 18px 44px rgba(0, 0, 0, 0.3);
}

.mgmt-role-card__body::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 3px;
  border-radius: 0 0 20px 20px;
  background: linear-gradient(
    90deg,
    var(--color-accent) 0%,
    rgba(171, 0, 234, 0.2) 65%,
    transparent 100%
  );
  pointer-events: none;
}

.mgmt-role-card__text {
  margin: 0 0 24px;
  font-size: 15px;
  line-height: 1.55;
  color: #fff;
}

.mgmt-role-card__text p {
  margin: 0;
}

.mgmt-role-card__skills-image {
  display: block;
  width: 100%;
  max-width: 100%;
  height: auto;
  margin: 0 0 28px;
}

.mgmt-role-card__skills-label {
  margin: 0 0 14px;
  font-size: 15px;
  line-height: 1.4;
  color: #fff;
}

.mgmt-role-card__skills {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 0 0 28px;
  padding: 0;
  list-style: none;
}

.mgmt-role-card__skill {
  padding: 10px 18px;
  border-radius: 999px;
  background: #fff;
  color: #000;
  font-size: 14px;
  font-weight: 600;
  line-height: 1.2;
}

.mgmt-role-card__cta {
  margin-top: auto;
  min-width: 0;
  min-height: 48px;
  padding: 12px 32px;
  font-size: clamp(17px, 1.7vw, 22px);
  text-transform: none;
}

.mgmt-section--facts {
  padding-top: 40px;
}

.mgmt-facts__title {
  margin: 0 0 28px;
  font-size: clamp(36px, 5vw, 64px);
  font-weight: 700;
  line-height: 1;
  text-align: center;
}

.mgmt-facts__panel {
  padding: 40px 48px 48px;
  border-radius: 30px;
  background: #3e3f56;
}

.mgmt-facts__rows {
  display: flex;
  flex-direction: column;
  gap: 0;
}

.mgmt-facts__row {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 24px 40px;
  align-items: center;
  min-height: 220px;
  padding: 24px 0;
}

.mgmt-facts__row--icon-right .mgmt-facts__icon {
  order: 2;
}

.mgmt-facts__row--icon-right .mgmt-facts__text {
  order: 1;
}

.mgmt-facts__icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  padding: 12px 24px;
  box-sizing: border-box;
}

.mgmt-facts__icon img {
  width: min(100%, 384px);
  max-height: 384px;
  height: auto;
  object-fit: contain;
}

.mgmt-facts__text {
  display: flex;
  flex-direction: column;
  justify-content: center;
  width: 100%;
  padding: 12px 32px 12px 24px;
  box-sizing: border-box;
}

.mgmt-facts__row--icon-right .mgmt-facts__text {
  padding: 12px 24px 12px 32px;
}

.mgmt-facts__heading {
  margin: 0 0 12px;
  font-size: clamp(20px, 2vw, 28px);
  font-weight: 700;
  line-height: 1.2;
  color: var(--color-accent-light);
}

.mgmt-facts__description {
  margin: 0;
  font-size: clamp(15px, 1.5vw, 20px);
  line-height: 1.35;
  color: #fff;
}

.mgmt-section--graduate {
  padding-top: 40px;
}

.mgmt-graduate__title {
  margin: 0 0 32px;
  font-size: clamp(36px, 5vw, 64px);
  font-weight: 700;
  line-height: 1;
}

.mgmt-graduate__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 20px;
  align-items: stretch;
}

.mgmt-graduate-card {
  position: relative;
  display: flex;
  flex-direction: column;
  min-height: 586px;
  height: 100%;
  background: transparent;
}

.mgmt-graduate-card__tab {
  position: relative;
  bottom: -20px;
  z-index: 2;
  display: flex;
  align-items: center;
  flex: 0 0 auto;
  width: 100%;
  aspect-ratio: 430 / 99;
  overflow: hidden;
  padding: 0 6.5% 10px;
  box-sizing: border-box;
  background: url("../img/tild3134-6462-4231-b631-393865653832-Union_1.png") left top / 100% auto no-repeat;
  color: #fff;
  font-size: clamp(18px, 1.8vw, 24px);
  font-weight: 700;
  line-height: 1.2;
}

.mgmt-graduate-card__tab span,
.mgmt-graduate-card__tab-text {
  position: relative;
  z-index: 1;
  display: block;
  width: 100%;
  color: #fff;
}

.mgmt-graduate-card__body {
  position: relative;
  z-index: 2;
  flex: 1 1 auto;
  min-height: 507px;
  padding: 12px 5.5% 7%;
  background: url("../img/tild6631-6335-4434-a637-333035643530-Rectangle_149.png") center / 100% 100% no-repeat;
}

.mgmt-graduate-card__list {
  margin: 0;
  padding: 0;
  list-style: none;
}

.mgmt-graduate-card__list li {
  padding: 18px 4px;
  font-size: 19px;
  line-height: 1.45;
  color: #fff;
  border-bottom: 1px solid rgba(255, 255, 255, 0.12);
}

.mgmt-graduate-card__list li:last-child {
  border-bottom: 0;
}

.mgmt-salary {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
  padding: 36px 24px;
  border: 1px solid var(--color-card-border);
  border-radius: var(--radius-lg);
  background:
    radial-gradient(ellipse 60% 80% at 50% 0%, rgba(171, 0, 234, 0.22), transparent 70%),
    rgba(255, 255, 255, 0.03);
  text-align: center;
}

.mgmt-salary__label {
  margin: 0;
  font-size: 18px;
  line-height: 1.4;
  color: var(--color-text-muted);
}

.mgmt-salary__amount {
  margin: 0;
  font-size: clamp(36px, 5vw, 56px);
  font-weight: 700;
  line-height: 1.1;
  color: var(--color-accent-light);
}

@media (max-width: 1024px) {
  .mgmt-graduate__grid {
    grid-template-columns: 1fr;
  }

  .mgmt-pm-specialty__careers {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 1024px) {
  .mgmt-hero__grid {
    grid-template-columns: 1fr;
  }

  .mgmt-hero__video.hero__video {
    min-height: 360px;
  }
}

@media (max-width: 768px) {
  .mgmt-hero__events {
    grid-template-columns: 1fr;
  }

  .mgmt-hero__outcomes {
    padding: 24px 20px;
  }

  .mgmt-facts__panel {
    padding: 24px 20px;
  }

  .mgmt-facts__title {
    text-align: left;
  }

  .mgmt-facts__row,
  .mgmt-facts__row--icon-right {
    grid-template-columns: 1fr;
    gap: 16px;
    min-height: 0;
    padding: 20px 0;
  }

  .mgmt-facts__row--icon-right .mgmt-facts__icon,
  .mgmt-facts__row--icon-right .mgmt-facts__text {
    order: unset;
  }

  .mgmt-facts__text,
  .mgmt-facts__row--icon-right .mgmt-facts__text {
    padding: 0;
  }

  .mgmt-facts__icon {
    padding: 0;
  }

  .mgmt-facts__icon img {
    width: min(100%, 264px);
    max-height: 264px;
    margin-inline: auto;
  }

  .mgmt-section {
    padding-block: 36px;
  }

  .mgmt-pm-specialty__intro {
    grid-template-columns: 1fr;
    gap: 24px;
  }

  .mgmt-pm-specialty__copy {
    font-size: 14px;
  }

  .mgmt-pm-specialty__features,
  .mgmt-pm-specialty__careers {
    grid-template-columns: 1fr;
  }

  .mgmt-roles__grid {
    grid-template-columns: 1fr;
  }

  .mgmt-roles__grid > .mgmt-role-card {
    width: 100%;
    max-width: none;
  }

  .mgmt-pm-specialty__feature:not(:last-child) {
    border-right: none;
    border-bottom: 1px solid rgba(255, 255, 255, 0.12);
  }

  .mgmt-pm-specialty__feature-title,
  .mgmt-pm-specialty__career-title,
  .mgmt-pm-specialty__feature-text,
  .mgmt-pm-specialty__career-text {
    font-size: 14px;
  }

  .mgmt-graduate-card {
    min-height: 0;
  }

  .mgmt-graduate-card__body {
    min-height: 0;
  }

  .mgmt-graduate-card__list li {
    padding: 14px 4px;
    font-size: 16px;
  }

  .mgmt-hero {
    padding: 20px 0 32px;
  }

  .mgmt-hero__head {
    margin-bottom: 20px;
  }

  .mgmt-hero__event-btn,
  .mgmt-hero__cta,
  .mgmt-role-card__cta {
    align-self: stretch;
    width: 100%;
    max-width: none;
    justify-content: center;
  }

  .mgmt-role-card__body {
    padding: 22px 20px 26px;
  }

  .mgmt-role-card__tab {
    padding: 12px 28px 12px 20px;
    font-size: 18px;
  }
}

.mgmt-section--enroll {
  padding-top: 40px;
  padding-bottom: 64px;
}

.mgmt-enroll__title {
  margin: 0 0 32px;
  font-size: clamp(36px, 5vw, 64px);
  font-weight: 700;
  line-height: 1;
}

.mgmt-enroll__layout {
  display: grid;
  grid-template-columns: minmax(0, 544px) minmax(0, 1fr);
  gap: 28px 32px;
  align-items: end;
}

.mgmt-enroll__layout > * {
  min-width: 0;
}

.mgmt-enroll__form-card {
  width: 100%;
  max-width: 544px;
  box-sizing: border-box;
  padding: 28px 32px 32px;
  border-radius: 25px;
  background: #3e3f56;
}

.consult-modal__dialog.mgmt-enroll__form-card {
  width: 100%;
  max-width: min(544px, 100%);
  min-width: 0;
  overflow-x: hidden;
  overflow-y: auto;
}

.mgmt-enroll__form-title {
  margin: 0 0 24px;
  font-size: clamp(22px, 2vw, 28px);
  font-weight: 700;
  line-height: 1.2;
  color: #fff;
}

.mgmt-enroll-form {
  max-width: none;
}

.mgmt-enroll-form .form__fields {
  display: flex;
  flex-direction: column;
  gap: 22px;
}

.mgmt-enroll-form .form__group {
  margin: 0;
}

.mgmt-enroll-form__label {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.mgmt-enroll-form .form__group > input,
.mgmt-enroll-form .form__group > select {
  width: 100%;
  min-height: 44px;
  padding: 8px 0 10px;
  font-size: 18px;
  color: #fff;
  background: transparent;
  border: 0;
  border-bottom: 1px solid rgba(255, 255, 255, 0.85);
  border-radius: 0;
}

.mgmt-enroll-form .form__group > input::placeholder {
  color: rgba(255, 255, 255, 0.45);
}

.mgmt-enroll-form .form__group > select {
  padding-right: 28px;
  appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8' fill='none'%3E%3Cpath d='M1 1.5L6 6.5L11 1.5' stroke='%23ffffff' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 2px center;
  cursor: pointer;
}
.mgmt-enroll-form .form__group > select option{
  color: #000;
}

.mgmt-enroll-form .form__group > select:invalid {
  color: rgba(255, 255, 255, 0.35);
}

.mgmt-enroll-form__phone {
  display: flex;
  align-items: center;
  width: 100%;
  padding: 0;
  background: transparent;
  border: 0;
}

.mgmt-enroll-form__phone .iti {
  width: 100%;
}

.mgmt-enroll-form__phone .iti__tel-input {
  width: 100%;
  min-height: 44px;
  padding: 8px 0 10px 42px !important;
  font-size: 18px;
  color: #fff;
  background: transparent;
  border: 0;
  border-bottom: 1px solid rgba(255, 255, 255, 0.85);
  border-radius: 0;
}

.mgmt-enroll-form__phone .iti__selected-flag {
  padding-left: 0;
  background: transparent;
}

.mgmt-enroll-form .form__group > input:focus,
.mgmt-enroll-form .form__group > select:focus,
.mgmt-enroll-form__phone:focus-within .iti__tel-input {
  outline: none;
  border-bottom-color: var(--color-accent-light);
}

.mgmt-enroll-form__submit {
  width: 100%;
  min-height: 56px;
  margin-top: 28px;
  padding: 14px 24px;
  border: 0;
  background: #ab00ea;
  color: #fff;
  font-size: clamp(18px, 2vw, 22px);
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: 0.02em;
  cursor: pointer;
}

.mgmt-enroll-form__submit:hover {
  background: #bd1aff;
  transform: none;
  box-shadow: none;
}

.mgmt-enroll-form__consent {
  margin: 18px 0 0;
  font-size: 12px;
  line-height: 1.45;
  color: #fff;
}

.mgmt-enroll__gallery {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  grid-template-rows: 280px 255px;
  gap: 16px;
  min-width: 0;
}

.mgmt-enroll__photo {
  display: block;
  width: 100%;
  border-radius: 25px;
  object-fit: cover;
}

.mgmt-enroll__photo--a {
  grid-column: span 5;
  height: 280px;
}

.mgmt-enroll__photo--b {
  grid-column: span 7;
  height: 280px;
}

.mgmt-enroll__photo--c {
  grid-column: span 7;
  height: 255px;
}

.mgmt-enroll__photo--d {
  grid-column: span 5;
  height: 255px;
}

@media (max-width: 1024px) {
  .mgmt-enroll__layout {
    grid-template-columns: 1fr;
    align-items: start;
  }

  .mgmt-enroll__form-card {
    max-width: none;
  }
}

@media (max-width: 768px) {
  .mgmt-section--enroll {
    padding-bottom: 48px;
  }

  .mgmt-enroll__title {
    margin-bottom: 24px;
  }

  .mgmt-enroll__layout {
    gap: 24px;
  }

  .mgmt-enroll__form-card {
    padding: 24px 20px 28px;
  }

  .mgmt-enroll__gallery {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-template-rows: auto;
    gap: 12px;
  }

  .mgmt-enroll__photo--a,
  .mgmt-enroll__photo--b,
  .mgmt-enroll__photo--c,
  .mgmt-enroll__photo--d {
    grid-column: auto;
    height: auto;
  }

  .mgmt-enroll__photo--a {
    aspect-ratio: 315 / 280;
  }

  .mgmt-enroll__photo--b {
    aspect-ratio: 430 / 280;
  }

  .mgmt-enroll__photo--c {
    aspect-ratio: 430 / 255;
  }

  .mgmt-enroll__photo--d {
    aspect-ratio: 315 / 255;
  }

  .mgmt-enroll-form .form__group > input,
  .mgmt-enroll-form .form__group > select,
  .mgmt-enroll-form__phone .iti__tel-input {
    font-size: 16px;
  }

  .mgmt-enroll-form__submit {
    min-height: 52px;
    margin-top: 22px;
    font-size: 18px;
  }

  .mgmt-enroll-form__consent {
    font-size: 11px;
  }
}

@media (max-width: 640px) {
  .mgmt-enroll__gallery {
    grid-template-columns: 1fr;
  }

  .mgmt-enroll__photo--a,
  .mgmt-enroll__photo--b,
  .mgmt-enroll__photo--c,
  .mgmt-enroll__photo--d {
    aspect-ratio: 16 / 10;
  }

  .mgmt-pm-specialty__careers-title {
    font-size: clamp(28px, 8vw, 40px);
    margin-bottom: 24px;
  }

  .mgmt-pm-specialty__feature,
  .mgmt-pm-specialty__career {
    padding: 20px 18px;
  }

  .mgmt-facts__panel {
    border-radius: 20px;
  }

  .mgmt-roles__title,
  .mgmt-facts__title,
  .mgmt-graduate__title,
  .mgmt-enroll__title {
    font-size: clamp(28px, 8vw, 40px);
  }
}

/* --- Test Drive (page-test-drive) --- */
html:has(body.page-test-drive) {
  overflow-x: clip;
}

body.page-test-drive {
  background: #1a1a1a;
  overflow-x: clip;
}

.page-test-drive main {
  color: #111;
  overflow-x: clip;
}


.page-test-drive .container {
  width: min(100% - 40px, 1200px);
  margin-inline: auto;
}

.td-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  padding: 12px 28px;
  border: 0;
  border-radius: 6px;
  background: #ab00ea;
  color: #fff;
  font: inherit;
  font-size: 16px;
  font-weight: 600;
  text-decoration: none;
  cursor: pointer;
  transition: background 0.2s ease;
}

.td-btn:hover {
  background: #c024ff;
  color: #fff;
}

.td-btn--block {
  width: 100%;
}

.td-section {
  padding: 48px 0;
}

.td-section--light {
  background: #fff;
}

.td-section--gray {
  background: #efefef;
}

.td-section-title {
  margin: 0 0 28px;
  font-size: clamp(24px, 4vw, 27px);
  font-weight: 700;
  line-height: 1.15;
  letter-spacing: 0.02em;
}

.td-header {
  position: sticky;
  top: 0;
  z-index: 40;
  background: #fff;
  box-shadow: 0 1px 0 rgba(0, 0, 0, 0.06);
  max-width: 100%;
  overflow-x: clip;
}

.td-header__inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  min-width: 0;
  min-height: 87px;
}

.td-header__logo {
  flex-shrink: 1;
  min-width: 0;
}

.td-header__logo img {
  display: block;
  width: auto;
  max-width: min(374px, 52vw);
  height: auto;
}

.td-header__phone {
  flex-shrink: 0;
  font-size: 16px;
  font-weight: 600;
  color: #111;
  text-decoration: none;
  white-space: nowrap;
}

.td-header__burger {
  display: none;
}

.td-hero {
  padding: 60px 0;
  background: #fff;
}

.td-hero__layout {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(280px, 0.95fr);
  gap: 40px;
  align-items: center;
}

.td-hero__title {
  margin: 0 0 20px;
  font-size: clamp(28px, 4.5vw, 37px);
  font-weight: 700;
  line-height: 1.15;
  color: #111;
}

.td-hero__lead {
  margin: 0;
  color: #111;
  font-size: clamp(18px, 2.2vw, 22px);
  line-height: 1.4;
}

.td-hero__benefits {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 20px 40px;
  margin-top: 36px;
}

.td-hero__list {
  display: grid;
  gap: 8px;
  margin: 0;
  padding-left: 1.15em;
  color: #111;
  font-size: clamp(15px, 1.8vw, 18px);
  line-height: 1.45;
}

.td-hero__cta {
  margin-top: 32px;
  min-height: 54px;
  padding: 14px 36px;
  color: #fff;
  font-size: clamp(16px, 1.8vw, 20px);
  font-weight: 700;
}

.td-hero__video-wrap {
  width: 100%;
}

.td-hero__video.hero__video {
  width: 100%;
  max-width: none;
  aspect-ratio: 519 / 323;
  border-radius: 0;
  overflow: hidden;
  background: #111;
}

.td-hero__poster {
  position: absolute;
  inset: 0;
  z-index: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.td-hero__video.is-playing .td-hero__poster {
  display: none;
}

.td-hero__video-play {
  background: rgba(0, 0, 0, 0.15);
}

.td-hero__play-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 76px;
  height: 64px;
  border-radius: 18px;
  background: #1e9bfa;
  box-shadow: 0 8px 28px rgba(30, 155, 250, 0.4);
}

.td-hero__play-icon::after {
  content: "";
  width: 0;
  height: 0;
  margin-left: 4px;
  border-top: 12px solid transparent;
  border-bottom: 12px solid transparent;
  border-left: 20px solid #fff;
}

.td-about__layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(280px, 565px);
  gap: 40px;
  align-items: stretch;
}

.td-about__title {
  margin: 0 0 24px;
  font-size: clamp(24px, 4vw, 30px);
  font-weight: 700;
  line-height: 1.15;
  text-transform: uppercase;
  letter-spacing: 0.02em;
}

.td-about__text {
  display: grid;
  gap: 16px;
  margin-bottom: 28px;
}

.td-about__text p {
  margin: 0;
  font-size: clamp(16px, 2vw, 20px);
  line-height: 1.45;
  color: #111;
}

.td-about__director {
  display: flex;
  align-items: center;
  gap: 18px;
  margin-bottom: 28px;
}

.td-about__avatar {
  flex-shrink: 0;
  width: 106px;
  height: 106px;
  border-radius: 50%;
  object-fit: cover;
}

.td-about__director-name {
  margin: 0 0 6px;
  font-size: clamp(18px, 2.2vw, 26px);
  font-weight: 700;
  line-height: 1.2;
}

.td-about__director-role {
  margin: 0;
  font-size: clamp(14px, 1.6vw, 18px);
  line-height: 1.4;
  color: #444;
}

.td-about__quote {
  margin: 0;
  font-size: clamp(16px, 2vw, 20px);
  font-weight: 700;
  line-height: 1.45;
  color: #111;
}

.td-about__media {
  min-height: 100%;
}

.td-about__photo {
  display: block;
  width: 100%;
  height: 100%;
  min-height: 100%;
  object-fit: cover;
}

.td-program__inner {
  max-width: 1100px;
}

.td-program__title {
  text-align: center;
}

.td-program__list {
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 36px 56px;
}

.td-program__item:nth-child(1) {
  grid-column: 1;
  grid-row: 1;
}

.td-program__item:nth-child(2) {
  grid-column: 1;
  grid-row: 2;
}

.td-program__item:nth-child(3) {
  grid-column: 2;
  grid-row: 1;
}

.td-program__item:nth-child(4) {
  grid-column: 2;
  grid-row: 2;
}

.td-program__item-title {
  margin: 0 0 10px;
  font-size: clamp(17px, 2vw, 20px);
  font-weight: 700;
  line-height: 1.35;
  color: #111;
}

.td-program__item-num {
  color: #111;
}

.td-program__item-text {
  margin: 0;
  font-size: clamp(15px, 1.8vw, 18px);
  line-height: 1.45;
  color: #666;
}

.td-program__cta-wrap {
  display: flex;
  justify-content: center;
  margin-top: 44px;
}

.td-btn--program {
  min-height: 54px;
  padding: 14px 40px;
  background: #111;
  font-size: clamp(16px, 1.8vw, 18px);
  font-weight: 600;
}

.td-btn--program:hover {
  background: #333;
  color: #fff;
}

.td-gallery__slider {
  margin-top: 8px;
  overflow-x: clip;
}

.td-gallery__carousel {
  position: relative;
  overflow: hidden;
}

.td-gallery__track {
  display: flex;
  gap: 16px;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  scrollbar-width: none;
  padding: 0 20px 8px;
}

.td-gallery__track::-webkit-scrollbar {
  display: none;
}

.td-gallery__slide {
  flex: 0 0 min(78vw, 420px);
  scroll-snap-align: start;
}

.td-gallery__slide img {
  display: block;
  width: 100%;
  height: 280px;
  border-radius: 5px;
  object-fit: cover;
}

.td-gallery__nav {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 39px;
  height: 39px;
  border: 0;
  border-radius: 50%;
  background: #ab00ea;
  color: #fff;
  cursor: pointer;
}

.td-gallery__nav--prev {
  left: 8px;
}

.td-gallery__nav--next {
  right: 8px;
}

.td-principles__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 20px;
}

.td-principle {
  padding: 24px;
  border-radius: 5px;
  background: #f5f5f5;
}

.td-principle__title {
  margin: 0 0 10px;
  font-size: 19px;
  font-weight: 700;
}

.td-principle__text {
  margin: 0;
  font-size: 15px;
  line-height: 1.45;
  color: #444;
}

.page-test-drive .section--after-study {
  background: #fff;
}

.td-after-study__title {
  text-align: center;
  margin-bottom: 36px;
}

.page-test-drive .after-study__card {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 20px;
  min-width: 0;
  border-radius: 4px;
  background: #efefef;
  color: #111;
}

.page-test-drive .after-study__card--04 {
  flex-direction: row;
  flex-wrap: wrap;
  align-items: center;
  gap: 28px;
}

.page-test-drive .after-study__card--01 .after-study__body {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.page-test-drive .after-study__num {
  width: 38px;
  height: 38px;
  border-radius: 0;
  background: #111;
  color: #fff;
  font-size: 17px;
}

.page-test-drive .after-study__text {
  margin: 0;
  font-size: 20px;
  font-weight: 500;
  line-height: 1.35;
}

.page-test-drive .after-study__accent {
  color: inherit;
  font-weight: inherit;
}

.td-employment__title {
  text-align: center;
  margin-bottom: 36px;
}

.td-employment__top {
  display: grid;
  grid-template-columns: minmax(280px, 35%) minmax(0, 1fr);
  gap: 24px;
  align-items: stretch;
}

.td-employment__stats {
  padding: 32px 28px;
  border-radius: var(--radius-lg);
  background: #efefef;
}

.td-employment__stats-heading {
  margin: 0 0 20px;
  font-size: clamp(17px, 2vw, 20px);
  font-weight: 700;
  line-height: 1.2;
  color: #111;
}

.td-employment__stats-text {
  margin: 0;
  font-size: clamp(16px, 2vw, 20px);
  line-height: 1.45;
  color: #111;
}

.td-employment__visual {
  margin: 0;
  border: 1px solid #d8d8d8;
  overflow: hidden;
}

.td-employment__visual img {
  display: block;
  width: 100%;
  height: auto;
}

.td-lxp__layout {
  display: grid;
  grid-template-columns: minmax(280px, 1fr) minmax(0, 1fr);
  gap: 40px;
  align-items: center;
}

.td-lxp__copy {
  min-width: 0;
}

.td-lxp__title {
  margin-bottom: 20px;
  font-size: clamp(24px, 3.5vw, 30px);
  line-height: 1.15;
}

.td-lxp__subtitle {
  margin: 0 0 24px;
  font-size: clamp(16px, 2vw, 20px);
  line-height: 1.45;
  color: #111;
}

.td-lxp__features {
  display: grid;
  gap: 18px;
}

.td-lxp__feature {
  margin: 0;
  font-size: clamp(15px, 1.8vw, 20px);
  line-height: 1.45;
  color: #111;
}

.td-lxp__feature strong {
  font-weight: 700;
}

.td-lxp__visuals {
  position: relative;
  width: 100%;
  min-width: 0;
  min-height: 420px;
  aspect-ratio: 620 / 520;
  overflow: hidden;
}

.td-lxp__screen {
  position: absolute;
  display: block;
  height: auto;
  border-radius: 0;
}

.td-lxp__screen--photo {
  left: 0;
  top: 0;
  width: 64%;
  z-index: 1;
}

.td-lxp__screen--badge {
  right: 4%;
  top: 0;
  width: 24%;
  z-index: 2;
}

.td-lxp__screen--laptop {
  left: 4%;
  right: 0;
  bottom: 0;
  width: auto;
  max-width: 96%;
  z-index: 3;
}

.td-specialties__title {
  text-align: center;
  margin-bottom: 36px;
}

.td-spec-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 24px;
}

.td-spec-card {
  position: relative;
  display: flex;
  min-height: 300px;
  padding: 28px 32px;
  border-radius: 0;
  background: #fff;
  overflow: hidden;
}

.td-spec-card__body {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  max-width: 58%;
}

.td-spec-card__title {
  margin: 0 0 12px;
  font-size: clamp(20px, 2.4vw, 24px);
  font-weight: 700;
  line-height: 1.15;
  color: #111;
}

.td-spec-card__roles-title {
  margin: 0 0 8px;
  font-size: 16px;
  font-weight: 700;
  color: #111;
}

.td-spec-card__roles {
  margin: 0 0 24px;
  padding: 0;
  list-style: none;
  font-size: 16px;
  line-height: 1.45;
  color: #797979;
}


.td-spec-card__img {
  position: absolute;
  top: 50%;
  right: 16px;
  width: min(38%, 170px);
  height: auto;
  transform: translateY(-50%);
  pointer-events: none;
}

.td-btn--spec {
  margin-top: auto;
  min-height: 44px;
  padding: 10px 28px;
  border-radius: 0;
  background: #111;
  font-size: 16px;
  font-weight: 600;
}

.td-btn--spec:hover {
  background: #333;
  color: #fff;
}

.td-license__layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(280px, 0.95fr);
  gap: 28px;
  align-items: start;
}

.td-license__body p {
  margin: 0 0 12px;
  font-size: 18px;
  line-height: 1.45;
}

.td-license__cta {
  display: inline-block;
  margin-top: 16px;
  color: #ab00ea;
  font-size: 19px;
  font-weight: 600;
  text-decoration: underline;
}

.td-license__slider {
  width: 100%;
  max-width: 360px;
  margin-inline: auto;
}

.td-license__viewport {
  padding: 12px;
  background: #fff;
  border: 1px solid #e0e0e0;
}

.td-license__track {
  display: flex;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  scrollbar-width: none;
}

.td-license__track::-webkit-scrollbar {
  display: none;
}

.td-license__slide {
  flex: 0 0 100%;
  scroll-snap-align: center;
  display: block;
  text-decoration: none;
  color: inherit;
  cursor: zoom-in;
}

.td-license__slide img {
  display: block;
  width: 100%;
  height: auto;
  max-height: 480px;
  object-fit: contain;
}

.td-license__dots {
  display: flex;
  justify-content: center;
  gap: 10px;
  margin-top: 18px;
}

.td-license__dot {
  width: 10px;
  height: 10px;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: #c8c8c8;
  cursor: pointer;
  transition: background 0.2s ease;
}

.td-license__dot.is-active {
  background: #111;
}

.td-license__dot:hover {
  background: #666;
}

.td-license__dot.is-active:hover {
  background: #111;
}

.td-register__layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(300px, 0.95fr);
  gap: 24px;
  margin-bottom: 48px;
}

.td-register__form-card,
.td-register__map-card {
  padding: 28px;
  border-radius: 5px;
  background: #fff;
}

.td-form__group + .td-form__group {
  margin-top: 16px;
}

.td-form__label {
  display: block;
  margin-bottom: 8px;
  font-size: 14px;
  font-weight: 600;
}

.td-form__group input,
.td-form__group select {
  width: 100%;
  min-height: 48px;
  padding: 12px 14px;
  border: 1px solid #d8d8d8;
  border-radius: 6px;
  background: #fff;
  font: inherit;
}

.td-form .iti {
  display: block;
  width: 100%;
}

.td-form .iti__tel-input {
  width: 100%;
}

.td-register__submit {
  margin-top: 20px;
}

.td-form__success {
  display: none;
  margin: 12px 0 0;
  color: #1a7f37;
}

.td-form.is-sent .td-form__success,
.td-form.is-success .td-form__success,
[data-lead-form].is-sent .td-form__success {
  display: block;
}

.td-form.is-sent .td-form__group,
.td-form.is-sent .td-form__consent,
.td-form.is-sent .td-register__submit,
.td-form.is-sent .td-btn--block,
.td-form.is-sent [type="submit"],
.td-form.is-success .td-form__group,
.td-form.is-success .td-form__consent,
.td-form.is-success .td-register__submit,
.td-form.is-success .td-btn--block,
.td-form.is-success [type="submit"] {
  display: none;
}

.td-form__consent {
  margin: 14px 0 0;
  font-size: 13px;
  line-height: 1.4;
  color: #555;
}

.td-form__consent a {
  color: #ab00ea;
}

.td-register__map {
  min-height: 420px;
  border-radius: 5px;
  overflow: hidden;
  background: #ddd;
}

.td-register__map iframe {
  display: block;
  width: 100% !important;
  max-width: 100%;
  border: 0;
}

.td-register__contacts {
  display: grid;
  gap: 12px;
  margin-top: 16px;
}

.td-register__contact {
  display: flex;
  align-items: center;
  gap: 10px;
  margin: 0;
  font-size: 16px;
  line-height: 1.35;
  color: #111;
  text-decoration: none;
}

.td-register__contact img {
  flex-shrink: 0;
  display: block;
}

.ic-register .td-register__contacts {
  margin-top: 0;
  margin-bottom: 16px;
}

.ic-register .td-register__contact[href] {
  color: #ab00ea;
}

.ic-register .td-register__contact[href]:hover {
  color: #8c00c2;
}

.td-faq {
  margin-top: 48px;
}

.td-faq__title {
  margin: 0 0 24px;
  text-align: center;
  color: #000;
  font-size: clamp(26px, 3.5vw, 35px);
}

.td-faq__list {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.td-faq__item {
  background: #000;
  border: 0;
}

.td-faq__item:last-child {
  border-bottom: 0;
}

.td-faq__question {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  width: 100%;
  padding: 18px 24px;
  border: 0;
  background: transparent;
  color: #fff;
  font: inherit;
  font-size: clamp(16px, 2vw, 20px);
  font-weight: 400;
  line-height: 1.35;
  text-align: left;
  cursor: pointer;
}

.td-faq__question span {
  flex: 1;
  min-width: 0;
}

.td-faq__answer {
  display: grid;
  grid-template-rows: 0fr;
  transition: grid-template-rows 0.35s ease;
}

.td-faq__item.is-open .td-faq__answer {
  grid-template-rows: 1fr;
}

.td-faq__answer-inner {
  overflow: hidden;
  min-height: 0;
  padding: 0 24px 20px;
  font-size: 16px;
  line-height: 1.45;
  color: #fff;
  opacity: 0;
  transform: translateY(-6px);
  transition:
    opacity 0.3s ease,
    transform 0.35s ease;
}

.td-faq__item.is-open .td-faq__answer-inner {
  opacity: 1;
  transform: translateY(0);
}

.td-faq__answer-inner p {
  margin: 0 0 10px;
  color: #fff;
}

.td-faq__answer-inner a {
  color: #fff;
  text-decoration: underline;
}

.td-faq__answer-inner strong {
  font-weight: 700;
}

.td-faq__icon {
  flex-shrink: 0;
  width: 24px;
  height: 24px;
  color: #fff;
}

.td-faq__icon path:last-child {
  transition: opacity 0.25s ease;
}

.td-faq__item.is-open .td-faq__icon path:last-child {
  opacity: 0;
}

@media (prefers-reduced-motion: reduce) {
  .td-faq__answer,
  .td-faq__answer-inner {
    transition: none;
  }

  .td-faq__item.is-open .td-faq__answer-inner {
    transform: none;
  }
}

.td-footer {
  padding: 24px 0 32px;
  background: #1d1d1b;
  color: #fff;
}

.td-footer__inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
}

.td-footer__copy {
  margin: 0;
  font-size: 14px;
}

.td-register-modal {
  position: fixed;
  inset: 0;
  z-index: 100001;
  display: grid;
  place-items: center;
  padding: 20px;
  overflow: hidden;
}

.td-register-modal[hidden] {
  display: none;
}

.td-register-modal__backdrop {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.65);
}

.td-register-modal__dialog {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
  gap: 28px;
  width: min(100%, 1060px);
  max-height: calc(100vh - 40px);
  overflow: auto;
  padding: 36px;
  border-radius: 5px;
  background: #fff;
  color: #111;
}

.td-register-modal__title {
  text-align: center;
}

.td-register-modal__form {
  min-width: 0;
}

.td-register-modal__aside {
  display: flex;
  flex-direction: column;
  gap: 16px;
  align-self: stretch;
  min-width: 0;
  min-height: 0;
}

.td-register-modal__aside .td-section-title {
  margin: 0 0 4px;
}

.td-register-modal__aside .td-register__contacts {
  margin: 0;
}

.td-register-modal .td-register__contact[href] {
  color: #ab00ea;
}

.td-register-modal .td-register__contact[href]:hover {
  color: #8c00c2;
}

.td-register-modal__map {
  flex: 1 1 auto;
  width: 100%;
  min-height: 300px;
  height: clamp(300px, 42vh, 420px);
  border-radius: 5px;
  overflow: hidden;
  background: #efefef;
}

.td-register-modal__map iframe {
  display: block;
  width: 100% !important;
  max-width: 100%;
  height: 100% !important;
  min-height: inherit;
}

.td-register-modal__close {
  position: absolute;
  top: 12px;
  right: 12px;
  width: 36px;
  height: 36px;
  border: 0;
  border-radius: 50%;
  background: #efefef;
  font-size: 24px;
  line-height: 1;
  cursor: pointer;
}

@media (max-width: 1024px) {
  .td-hero__benefits {
    grid-template-columns: 1fr;
    gap: 12px;
  }

  .td-hero__layout,
  .td-about__layout,
  .td-employment__top,
  .td-lxp__layout,
  .td-license__layout,
  .td-register__layout,
  .td-principles__grid,
  .td-spec-grid {
    grid-template-columns: 1fr;
  }

}

@media (max-width: 768px) {
  .td-header__inner {
    gap: 10px;
  }

  .td-header__logo img {
    max-width: min(180px, 40vw);
  }

  .td-header__phone {
    font-size: 13px;
  }

  .td-register-modal__dialog {
    grid-template-columns: 1fr;
    padding: 28px 18px;
  }

  .td-register-modal__map {
    display: none;
  }

  .page-it-camp .td-register-modal__map,
  body.page-it-camp .td-register-modal__map {
    display: block;
    flex: 0 0 auto;
    height: 260px;
    min-height: 260px;
  }

  .td-lxp__visuals {
    min-height: 320px;
    max-width: 420px;
    margin-inline: auto;
  }

  .td-program__list {
    grid-template-columns: 1fr;
    gap: 28px;
  }

  .td-program__item:nth-child(n) {
    grid-column: auto;
    grid-row: auto;
  }
}

@media (max-width: 640px) {
  .td-section {
    padding: 36px 0;
  }

  .td-header__logo img {
    max-width: min(150px, 38vw);
  }

  .td-header__phone {
    font-size: 12px;
  }

  .td-register__form-card,
  .td-register__map-card {
    padding: 20px 16px;
  }
}

/* --- IT Camp (page-it-camp) --- */
body.page-it-camp {
  background: #fff;
  color: #111;
  overflow-x: clip;
}

body.page-it-camp main {
  background: #fff;
}

.page-it-camp main .container {
  width: min(100% - 40px, 1200px);
  margin-inline: auto;
}

.ic-section {
  padding: 56px 0;
}

.ic-section--light {
  background: #fff;
}

.ic-hero {
  display: flex;
  align-items: center;
  min-height: 100vh;
  padding: clamp(24px, 5vh, 60px) 0;
  background: #fff;
  overflow: hidden;
}

.ic-hero__inner {
  width: 100%;
}

.ic-hero__title {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  grid-template-areas:
    "it tag"
    "sim sim";
  column-gap: clamp(16px, 4vw, 48px);
  align-items: start;
  margin: 0 0 clamp(28px, 5vh, 48px);
  font-weight: 700;
  line-height: 0.9;
  color: #000;
}

.ic-hero__title-it {
  grid-area: it;
  font-size: clamp(75px, 18.3vw, 220px);
  letter-spacing: -0.02em;
  line-height: 0.9;
}

.ic-hero__tagline {
  grid-area: tag;
  margin: clamp(12px, 2.9vw, 35px) 0 0;
  justify-self: end;
  max-width: min(100%, 473px);
  font-size: clamp(26px, 3.6vw, 43px);
  font-weight: 700;
  line-height: 1.15;
  text-align: left;
}

.ic-hero__title-sim {
  grid-area: sim;
  display: block;
  margin-top: clamp(-24px, -2.75vw, -33px);
  font-size: clamp(52px, 16.7vw, 200px);
  letter-spacing: -0.02em;
  line-height: 0.95;
  white-space: nowrap;
}

.ic-hero__letter-m {
  position: relative;
  display: inline-block;
  overflow: visible;
}

.ic-hero__dino {
  position: absolute;
  left: 50%;
  bottom: calc(100% - 6px);
  z-index: 2;
  width: clamp(36px, 5.6vw, 67px);
  height: auto;
  transform: translate(-50%, 10px);
  pointer-events: auto;
  cursor: pointer;
  user-select: none;
  will-change: transform;
  transition: filter 0.2s ease;
}

.ic-hero__dino:hover {
  filter: brightness(1.05);
}

.ic-hero__dino:focus-visible {
  outline: 2px solid #ab00ea;
  outline-offset: 4px;
}

.ic-hero__cta-wrap {
  position: relative;
  width: 100%;
}

.ic-hero__cursor {
  position: absolute;
  right: clamp(12px, 8%, 120px);
  top: 72%;
  z-index: 2;
  width: clamp(30px, 7vw, 85px);
  height: auto;
  transform: rotate(-33deg);
  pointer-events: none;
}

.ic-hero__cta {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-height: clamp(56px, 10vw, 122px);
  padding: 20px 32px;
  border: 5px solid transparent;
  border-radius: 999px;
  background: #bc36ff;
  box-shadow: none;
  color: #fff;
  font-size: clamp(16px, 2.9vw, 35px);
  font-weight: 600;
  line-height: 1.2;
  text-align: center;
  text-decoration: none;
  transition:
    background-color 0.2s ease,
    color 0.2s ease,
    border-color 0.2s ease,
    box-shadow 0.2s ease;
}

.ic-hero__cta:hover {
  background: #fff;
  border-color: #000;
  color: #000;
}

.ic-features {
  background: #fff;
}

.ic-features__layout {
  display: grid;
  grid-template-columns: minmax(280px, 0.42fr) minmax(320px, 0.58fr);
  gap: clamp(24px, 4vw, 48px);
  align-items: start;
}

.ic-features__title {
  margin: 0 0 24px;
  font-size: clamp(24px, 4vw, 30px);
  font-weight: 700;
  line-height: 1.15;
  text-transform: none;
  letter-spacing: 0;
  color: #000;
}

.ic-features__text {
  margin: 0 0 16px;
  font-size: clamp(16px, 2vw, 20px);
  line-height: 1.45;
  color: #000;
}

.ic-features__cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 52px;
  margin-top: 8px;
  padding: 14px 32px;
  border: 3px solid #000;
  border-radius: 999px;
  background: #fff;
  color: #000;
  font-size: 16px;
  font-weight: 700;
  text-decoration: none;
  transition: background 0.2s ease, color 0.2s ease;
}

.ic-features__cta:hover {
  background: #000;
  color: #fff;
}

.ic-features__bubbles {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  grid-template-areas:
    "figma tilda"
    "marketing marketing"
    "project unity";
  gap: 14px 18px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.ic-features__bubble {
  display: flex;
  align-items: center;
  min-height: 98px;
  padding: 18px 20px;
  border: 3px solid #bc36ff;
  border-radius: 24px;
  background: #fff;
  font-size: clamp(14px, 1.6vw, 18px);
  font-weight: 700;
  line-height: 1.35;
  color: #000;
}

.ic-features__bubble--figma {
  grid-area: figma;
}

.ic-features__bubble--tilda {
  grid-area: tilda;
}

.ic-features__bubble--marketing {
  grid-area: marketing;
  justify-self: end;
  width: min(100%, 376px);
  min-height: 88px;
}

.ic-features__bubble--project {
  grid-area: project;
}

.ic-features__bubble--unity {
  grid-area: unity;
}

.ic-program {
  background: #fff;
  overflow-x: clip;
}

.ic-program__wrap {
  position: relative;
  padding-bottom: 24px;
}

.ic-program__parallax {
  position: absolute;
  top: var(--prx-top);
  left: var(--prx-left);
  width: var(--prx-width);
  max-width: 85px;
  height: auto;
  pointer-events: none;
  z-index: 0;
  will-change: transform;
}

.ic-program__title {
  position: relative;
  z-index: 1;
  margin: 0 0 32px;
  font-size: clamp(24px, 4vw, 30px);
  font-weight: 700;
  line-height: 1.15;
  text-transform: none;
  letter-spacing: 0;
  color: #000;
}

.ic-program__grid {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 24px;
  align-items: start;
}

.ic-program__grid > .ic-program__card {
  justify-self: center;
  width: 100%;
  max-width: 360px;
}

.ic-program__col {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 14px;
  width: 100%;
}

.ic-program__col .ic-program__card {
  width: 100%;
  max-width: 360px;
}

.ic-program__card {
  padding: 28px 32px 32px;
  border-radius: 24px;
  background: #ab00ea;
  color: #fff;
  box-sizing: border-box;
}

.ic-program__card-head {
  margin-bottom: 24px;
  text-align: center;
}

.ic-program__card-label {
  margin: 0 0 4px;
  font-size: clamp(22px, 3vw, 28px);
  font-weight: 700;
  color: #fff;
}

.ic-program__card-dates {
  margin: 0;
  font-size: clamp(16px, 2vw, 20px);
  font-weight: 500;
  color: #fff;
}

.ic-program__list {
  margin: 0;
  padding: 0;
  list-style: none;
}

.ic-program__item {
  position: relative;
  padding-left: 18px;
}

.ic-program__item + .ic-program__item {
  margin-top: 18px;
}

.ic-program__item::before {
  content: "•";
  position: absolute;
  left: 0;
  top: 0;
  font-size: 1.1em;
  line-height: 1.35;
}

.ic-program__item-title {
  margin: 0 0 6px;
  font-size: clamp(16px, 2.2vw, 20px);
  font-weight: 700;
  line-height: 1.35;
}

.ic-program__sublist {
  margin: 0;
  padding: 0 0 0 2px;
  list-style: none;
}

.ic-program__sublist li {
  font-size: clamp(15px, 2vw, 18px);
  line-height: 1.4;
}

.ic-program__sublist li + li {
  margin-top: 2px;
}

.ic-program__note {
  margin: 0;
  max-width: 360px;
  padding-right: 6%;
  font-size: clamp(16px, 2.2vw, 20px);
  font-weight: 400;
  line-height: 1.3;
  text-align: right;
  color: #bc36ff;
}

.ic-pricing {
  background: #fff;
}

.ic-pricing__wrap {
  position: relative;
}

.ic-pricing__decor {
  position: absolute;
  width: clamp(34px, 5vw, 63px);
  height: auto;
  pointer-events: none;
}

.ic-pricing__decor--1 {
  bottom: 0;
  left: 0;
}

.ic-pricing__decor--2 {
  top: 8%;
  right: 0;
}

.ic-pricing__decor--3 {
  bottom: 18%;
  left: 46%;
}

.ic-pricing__title {
  position: relative;
  z-index: 1;
  margin: 0 0 32px;
  font-size: clamp(24px, 4vw, 30px);
  font-weight: 700;
  line-height: 1.15;
  color: #000;
}

.ic-pricing__grid {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 24px;
}

.ic-pricing__card {
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-height: 137px;
  padding: 22px 28px 24px;
  border-radius: 24px;
  background: #ab00ea;
  color: #fff;
  text-align: left;
}

.ic-pricing__price {
  margin: 0 0 12px;
  font-size: clamp(23px, 3vw, 28px);
  font-weight: 700;
  line-height: 1.15;
  color: #fff;
}

.ic-pricing__card-note {
  margin: 0;
  max-width: 16em;
  font-size: clamp(16px, 2vw, 20px);
  font-weight: 500;
  line-height: 1.35;
  color: #fff;
}

.ic-audience {
  background: #fff;
  color: #000;
}

.ic-audience__layout {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(0, 0.95fr);
  gap: 40px;
  align-items: center;
}

.ic-audience__title {
  margin: 0 0 28px;
  font-size: clamp(24px, 4vw, 30px);
  font-weight: 700;
  line-height: 1.15;
  color: #000;
}

.ic-audience__list {
  margin: 0 0 32px;
  padding: 0;
  list-style: none;
  display: grid;
  gap: 22px;
}

.ic-audience__item {
  display: grid;
  grid-template-columns: 41px 1fr;
  gap: 16px;
  align-items: start;
}

.ic-audience__num {
  display: grid;
  flex-shrink: 0;
  place-items: center;
  width: 41px;
  height: 41px;
  border-radius: 50%;
  background: #ab00ea;
  color: #fff;
  font-size: 18px;
  font-weight: 700;
}

.ic-audience__item p {
  margin: 0;
  font-size: clamp(16px, 2.2vw, 20px);
  line-height: 1.4;
}

.ic-audience__cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 52px;
  padding: 14px 32px;
  border: 3px solid #000;
  border-radius: 999px;
  background: #fff;
  color: #000;
  font-size: 16px;
  font-weight: 700;
  text-decoration: none;
  transition: background 0.2s ease, color 0.2s ease;
}

.ic-audience__cta:hover {
  background: #000;
  color: #fff;
}

.ic-audience__media {
  display: flex;
  justify-content: center;
  width: 100%;
  min-width: 0;
}

.ic-audience__viewer {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  max-width: 513px;
  height: clamp(280px, 42vw, 514px);
  margin-inline: auto;
  padding: clamp(16px, 4vw, 28px);
  border: 5px solid #bc36ff;
  border-radius: 32px;
  background: #fff;
  box-sizing: border-box;
  overflow: hidden;
}

.ic-audience__viewer > script {
  display: none;
}

.ic-audience__viewer spline-viewer {
  display: block;
  flex: 1 1 auto;
  width: 100%;
  max-width: 100%;
  height: 100%;
  min-width: 0;
  min-height: 0;
  margin: 0;
}

.ic-guide {
  background: #fff;
}

.ic-guide__title {
  margin: 0 0 28px;
  font-size: clamp(24px, 4vw, 30px);
  font-weight: 700;
  line-height: 1.15;
  color: #000;
}

.ic-guide__layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(300px, 1fr);
  gap: 24px;
  align-items: start;
}

.ic-guide__info {
  display: grid;
  gap: 16px;
}

.ic-guide__info-row {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
}

.ic-guide-card {
  padding: 20px 22px;
  border-radius: 20px;
  background: #f2f2f2;
}

.ic-guide-card__label {
  margin: 0 0 8px;
  font-size: clamp(16px, 2vw, 20px);
  font-weight: 700;
  line-height: 1.2;
  color: #ab00ea;
}

.ic-guide-card__value {
  margin: 0;
  font-size: clamp(18px, 2.4vw, 24px);
  font-weight: 700;
  line-height: 1.3;
  color: #000;
}

.ic-guide-card--wide .ic-guide-card__value {
  font-size: clamp(22px, 3vw, 28px);
}

.ic-guide__aside {
  display: grid;
  gap: 16px;
}

.ic-guide-steps {
  padding: 28px 24px;
  border: 4px solid #000;
  border-radius: 24px;
  background: #f2f2f2;
}

.ic-guide-steps__list {
  position: relative;
  margin: 0;
  padding: 0;
  list-style: none;
}

.ic-guide-steps__list::before {
  content: "";
  position: absolute;
  left: 20px;
  top: 20px;
  bottom: 20px;
  width: 2px;
  background: #ab00ea;
}

.ic-guide-steps__item {
  display: grid;
  grid-template-columns: 41px 1fr;
  gap: 16px;
  align-items: center;
  padding: 10px 0;
}

.ic-guide-steps__item:first-child {
  padding-top: 0;
}

.ic-guide-steps__item:last-child {
  padding-bottom: 0;
}

.ic-guide-steps__num {
  position: relative;
  z-index: 1;
  display: grid;
  place-items: center;
  width: 41px;
  height: 41px;
  border-radius: 50%;
  background: #ab00ea;
  color: #fff;
  font-size: 18px;
  font-weight: 700;
}

.ic-guide-steps__title {
  margin: 0;
  font-size: clamp(16px, 2.2vw, 20px);
  font-weight: 700;
  line-height: 1.35;
  color: #000;
}

.ic-guide__outcome {
  margin: 0;
  padding: 24px 22px;
  border-radius: 20px;
  background: #ab00ea;
  color: #fff;
  font-size: clamp(16px, 2.2vw, 20px);
  font-weight: 700;
  line-height: 1.35;
}

.ic-organizers {
  background: #ab00ea;
  color: #fff;
}

.ic-organizers__title {
  margin: 0 0 28px;
  font-size: clamp(24px, 4vw, 30px);
  font-weight: 700;
  line-height: 1.15;
  color: #fff;
}

.ic-organizers__layout {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(260px, 0.85fr);
  gap: 32px;
  align-items: start;
}

.ic-organizers__slider {
  min-width: 0;
}

.ic-organizers__carousel {
  position: relative;
}

.ic-organizers__track {
  display: flex;
  gap: 0;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  scrollbar-width: none;
  border-radius: 8px;
}

.ic-organizers__track::-webkit-scrollbar {
  display: none;
}

.ic-organizers__slide {
  flex: 0 0 100%;
  scroll-snap-align: start;
}

.ic-organizers__slide img {
  display: block;
  width: 100%;
  height: clamp(220px, 32vw, 360px);
  border-radius: 8px;
  object-fit: cover;
}

.ic-organizers__nav {
  position: absolute;
  top: 50%;
  z-index: 2;
  display: grid;
  place-items: center;
  width: 44px;
  height: 44px;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.55);
  color: #fff;
  cursor: pointer;
  transform: translateY(-50%);
}

.ic-organizers__nav svg {
  width: 24px;
  height: 24px;
}

.ic-organizers__nav--prev {
  left: 12px;
}

.ic-organizers__nav--next {
  right: 12px;
}

.ic-organizers__content {
  display: grid;
  gap: 20px;
}

.ic-organizers__logo {
  display: block;
  width: auto;
  max-width: min(100%, 260px);
  height: auto;
  filter: brightness(0) invert(1);
}

.ic-organizers__text {
  margin: 0;
  font-size: clamp(16px, 2.2vw, 20px);
  line-height: 1.45;
  color: #fff;
}

.ic-organizers__cta {
  color: #fff;
  font-size: 16px;
  font-weight: 600;
  text-decoration: underline;
  text-underline-offset: 3px;
}

.ic-organizers__cta:hover {
  color: #fff;
  opacity: 0.9;
}

.ic-contacts-strip {
  padding: 20px 0;
  background: #fff;
  color: #000;
}

.ic-contacts-strip__inner {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: 24px 40px;
}

.ic-contacts-strip__title {
  margin: 0;
  font-size: clamp(26px, 3vw, 30px);
  font-weight: 700;
  line-height: 1.3;
  color: #000;
}

.ic-contacts-strip__items {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-end;
  gap: 12px 36px;
  min-width: 0;
}

.ic-contacts-strip__item {
  margin: 0;
  font-size: 15px;
  font-weight: 700;
  line-height: 1.3;
  color: #000;
  text-decoration: none;
}

a.ic-contacts-strip__item:hover {
  color: #ab00ea;
}

.ic-contacts-strip__social {
  display: flex;
  align-items: center;
  gap: 16px;
}

.ic-contacts-strip__social-link {
  display: block;
  line-height: 0;
}

.ic-contacts-strip__social-link img {
  display: block;
  width: 45px;
  height: 45px;
}

.ic-footer__inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px 24px;
  flex-wrap: wrap;
}

.ic-footer__links {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 12px 20px;
}

.ic-footer__links a {
  color: #fff;
  font-size: 14px;
  text-decoration: none;
  opacity: 0.9;
}

.ic-footer__links a:hover {
  opacity: 1;
}

@media (max-width: 1024px) {
  .ic-features__layout,
  .ic-audience__layout,
  .ic-organizers__layout,
  .ic-guide__layout {
    grid-template-columns: 1fr;
  }

  .ic-features__bubbles {
    grid-template-columns: 1fr;
    grid-template-areas:
      "figma"
      "tilda"
      "marketing"
      "project"
      "unity";
  }

  .ic-features__bubble--marketing {
    justify-self: stretch;
    width: auto;
  }

  .ic-audience__media {
    justify-self: stretch;
    width: 100%;
    max-width: 100%;
  }

  .ic-audience__viewer {
    width: 100%;
    max-width: min(100%, 420px);
    margin-inline: auto;
  }
}

@media (max-width: 768px) {
  .ic-contacts-strip {
    padding: 28px 0 24px;
  }

  .ic-contacts-strip__inner {
    grid-template-columns: 1fr;
    gap: 16px;
  }

  .ic-contacts-strip__items {
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-start;
    gap: 14px;
  }

  .ic-contacts-strip__item {
    font-size: 19px;
  }

  .ic-contacts-strip__social {
    display: flex;
  }
}

@media (max-width: 768px) {
  .page-it-camp main .container {
    width: min(100% - 32px, 1200px);
  }

  .ic-section {
    padding: 36px 0;
  }

  .ic-hero {
    min-height: auto;
    padding: 24px 0 32px;
  }

  .ic-hero__title {
    grid-template-columns: 1fr;
    grid-template-areas:
      "it"
      "sim"
      "tag";
    row-gap: 0;
    margin-bottom: 20px;
  }

  .ic-hero__title-it {
    margin: 0 0 -10px;
    font-size: 75px;
    line-height: 0.85;
  }

  .ic-hero__tagline {
    margin: 14px 0 0;
    justify-self: start;
    max-width: none;
    font-size: 26px;
    line-height: 1.2;
  }

  .ic-hero__title-sim {
    margin-top: 0;
    font-size: 52px;
    line-height: 1;
    white-space: normal;
  }

  .ic-hero__dino {
    width: 36px;
  }

  .ic-hero__cta-wrap {
    margin-top: 4px;
  }

  .ic-hero__cta {
    min-height: 83px;
    padding: 16px 20px;
    font-size: 16px;
  }

  .ic-hero__cursor {
    right: 6px;
    top: 72%;
    width: 28px;
  }

  .ic-features__cta,
  .ic-audience__cta {
    display: flex;
    width: 100%;
    justify-content: center;
  }

  .ic-features__bubble {
    min-height: 0;
    padding: 16px 18px;
    font-size: 16px;
  }

  .ic-program__grid {
    grid-template-columns: 1fr;
  }

  .ic-guide__info-row {
    grid-template-columns: 1fr;
  }

  .ic-program__grid > .ic-program__card,
  .ic-program__col .ic-program__card {
    justify-self: stretch;
    max-width: none;
  }

  .ic-program__card {
    padding: 22px 20px 24px;
  }

  .ic-program__col {
    align-items: stretch;
  }

  .ic-program__note {
    max-width: none;
    padding-right: 0;
    text-align: left;
  }

  .ic-program__parallax {
    display: none;
  }

  .ic-pricing__grid {
    grid-template-columns: 1fr;
  }

  .ic-pricing__wrap {
    overflow: hidden;
  }

  .ic-pricing__decor--1,
  .ic-pricing__decor--2,
  .ic-pricing__decor--3 {
    display: none;
  }

  .ic-audience__layout {
    gap: 24px;
    align-items: stretch;
  }

  .ic-audience__content {
    min-width: 0;
  }

  .ic-audience__media {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    max-width: 100%;
    overflow: hidden;
  }

  .ic-audience__viewer {
    width: 100%;
    max-width: 100%;
    height: min(78vw, 340px);
    padding: 12px;
    border-radius: 20px;
    border-width: 4px;
    margin-inline: auto;
  }

  .ic-audience__viewer spline-viewer {
    flex: none;
    align-self: center;
    justify-self: center;
    margin-inline: auto;
  }

  .ic-guide-steps {
    padding: 22px 18px;
  }

  .ic-guide__outcome {
    padding: 20px 18px;
  }

  .ic-organizers__slide img {
    height: 220px;
  }

  .page-it-camp .td-register__form-card,
  .page-it-camp .td-register__map-card {
    padding: 20px 16px;
  }
}

@media (max-width: 480px) {
  .ic-audience__viewer {
    height: min(85vw, 300px);
    padding: 12px;
    border-radius: 18px;
  }

  .ic-hero__title-it {
    font-size: clamp(56px, 19vw, 75px);
  }

  .ic-hero__tagline {
    font-size: 22px;
  }

  .ic-hero__title-sim {
    font-size: clamp(42px, 13.5vw, 52px);
  }

  .ic-hero__cursor {
    display: none;
  }

  .ic-contacts-strip__title {
    font-size: 24px;
  }
}

/* 404 */
.error-404 {
  display: flex;
  align-items: center;
  min-height: calc(100vh - var(--header-h) - 120px);
  padding: 64px 0 96px;
}

.error-404__content {
  max-width: 720px;
  margin-inline: auto;
  text-align: center;
}

.error-404__code {
  margin: 0 0 12px;
  font-size: clamp(72px, 14vw, 160px);
  font-weight: 700;
  line-height: 1;
  letter-spacing: -0.04em;
  background: linear-gradient(135deg, var(--color-accent-light) 0%, var(--color-accent) 55%, #6b00a8 100%);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}

.error-404__title {
  margin: 0 0 16px;
  font-size: clamp(28px, 4vw, 48px);
  font-weight: 700;
  line-height: 1.15;
}

.error-404__lead {
  margin: 0 auto 32px;
  max-width: 560px;
  font-size: clamp(16px, 1.8vw, 20px);
  line-height: 1.5;
  color: var(--color-text-muted);
}

.error-404__actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 16px;
  margin-bottom: 40px;
}

.error-404__links {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 12px 24px;
  font-size: 15px;
  font-weight: 600;
}

.error-404__links a {
  color: var(--color-accent-light);
}

.error-404__links a:hover {
  color: var(--color-accent-hot);
}

@media (max-width: 768px) {
  .error-404 {
    min-height: auto;
    padding: 48px 0 72px;
  }

  .error-404__actions {
    flex-direction: column;
    align-items: stretch;
  }

  .error-404__actions .btn {
    width: 100%;
    text-align: center;
  }

  .error-404__links {
    flex-direction: column;
    gap: 10px;
  }
}
