/* Custom side projects menu based on the A5 - 1 composition. */
.header__menu-link-parent {
  background: transparent;
  border: 0;
  cursor: pointer;
  padding: 12px 0;
}

.header__menu-link-parent[aria-expanded="true"] {
  color: var(--color-blue-1573dc);
}

.header__menu-link-parent[aria-expanded="true"]::after {
  transform: rotate(180deg);
}

.header__menu-item-parent:hover .header__menu-link-parent[aria-expanded="false"]::after,
.header__menu-item-parent:focus-within .header__menu-link-parent[aria-expanded="false"]::after {
  transform: rotate(0deg);
}

body.projects-menu-open {
  overflow-x: hidden;
}

.projects-drawer {
  inset: 0;
  pointer-events: none;
  position: fixed;
  z-index: 180;
}

.projects-drawer__backdrop {
  background: rgba(10, 29, 48, .2);
  border: 0;
  inset: 0;
  opacity: 0;
  position: absolute;
  transition: opacity .32s ease;
  width: 100%;
}

.projects-drawer__panel {
  background: linear-gradient(145deg, rgba(247, 251, 255, .92), rgba(227, 239, 250, .78));
  border-right: 1px solid rgba(255, 255, 255, .88);
  box-shadow: 32px 0 80px rgba(24, 52, 79, .18);
  display: grid;
  grid-template-rows: auto auto minmax(0, 1fr) auto;
  height: 100%;
  max-width: calc(100vw - 32px);
  overflow: hidden;
  padding: 22px 22px 18px;
  position: relative;
  transform: translateX(-105%);
  transition: transform .42s cubic-bezier(.22, 1, .36, 1);
  width: 760px;
}

.projects-drawer__panel::before,
.projects-drawer__panel::after {
  border-radius: 50%;
  content: "";
  filter: blur(2px);
  pointer-events: none;
  position: absolute;
}

.projects-drawer__panel::before {
  background: radial-gradient(circle, rgba(52, 156, 255, .2), transparent 68%);
  height: 360px;
  right: -150px;
  top: 18%;
  width: 360px;
}

.projects-drawer__panel::after {
  background: radial-gradient(circle, rgba(255, 103, 75, .13), transparent 68%);
  bottom: -150px;
  height: 330px;
  left: -130px;
  width: 330px;
}

.projects-drawer.is-open {
  pointer-events: auto;
}

.projects-drawer.is-open .projects-drawer__backdrop {
  opacity: 1;
}

.projects-drawer.is-open .projects-drawer__panel {
  transform: translateX(0);
}

.projects-drawer__top {
  align-items: center;
  background: rgba(255, 255, 255, .9);
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  margin: -22px -22px 0;
  min-height: 92px;
  padding: 12px 26px 14px;
  position: relative;
  z-index: 2;
}

.projects-drawer__all {
  align-items: center;
  color: var(--color-blue-004ba0);
  display: inline-flex;
  font-size: 15px;
  font-weight: 700;
  gap: 9px;
  letter-spacing: .02em;
  text-transform: uppercase;
  justify-self: start;
}

.projects-drawer__brand {
  align-items: center;
  display: inline-flex;
  justify-content: center;
  justify-self: center;
  width: 72px;
}

.projects-drawer__brand img {
  display: block;
  height: auto;
  width: 100%;
}

.projects-drawer__all span {
  font-size: 19px;
  transition: transform .2s ease;
}

.projects-drawer__all:hover span,
.projects-drawer__all:focus-visible span {
  transform: translate(2px, -2px);
}

.projects-drawer__close {
  align-items: center;
  background: rgba(255, 255, 255, .74);
  border: 1px solid rgba(34, 77, 113, .1);
  border-radius: 50%;
  cursor: pointer;
  display: inline-flex;
  height: 38px;
  justify-content: center;
  position: relative;
  transition: background .2s ease, transform .2s ease;
  width: 38px;
  justify-self: end;
}

.projects-drawer__close:hover,
.projects-drawer__close:focus-visible {
  background: #fff;
  transform: rotate(5deg);
}

.projects-drawer__close span {
  background: #185c91;
  height: 1.5px;
  position: absolute;
  transform: rotate(45deg);
  width: 16px;
}

.projects-drawer__close span:last-child {
  transform: rotate(-45deg);
}

.projects-drawer__rule {
  background: rgba(255, 255, 255, .96);
  box-shadow: 0 1px 0 rgba(62, 105, 137, .08);
  height: 2px;
  position: relative;
  z-index: 2;
}

.projects-drawer__scroll {
  min-height: 0;
  overflow-x: hidden;
  overflow-y: auto;
  padding: 16px 8px 18px 2px;
  position: relative;
  scrollbar-color: rgba(25, 105, 165, .35) transparent;
  scrollbar-width: thin;
  z-index: 2;
}

.projects-drawer__scroll:focus-visible {
  border-radius: 14px;
  outline: 2px solid rgba(21, 115, 220, .42);
  outline-offset: -2px;
}


.projects-drawer__footer {
  background: rgba(255, 255, 255, .86);
  margin: 0 -22px -18px;
  padding: 2px 22px 8px;
  position: relative;
  z-index: 2;
}

.projects-drawer__bottom {
  align-items: center;
  display: flex;
  justify-content: space-between;
  min-height: 68px;
  padding: 10px 3px 0;
}

.projects-drawer__socials {
  align-items: center;
  display: flex;
  gap: 8px;
}

.projects-drawer__socials a {
  align-items: center;
  background: rgba(255, 255, 255, .76);
  border: 1px solid rgba(255, 255, 255, .96);
  border-radius: 50%;
  display: inline-flex;
  height: 38px;
  justify-content: center;
  transition: background .2s ease, transform .2s ease;
  width: 38px;
}

.projects-drawer__socials a:hover,
.projects-drawer__socials a:focus-visible {
  background: #fff;
  transform: translateY(-2px);
}

.projects-drawer__socials img {
  height: 15px;
  width: 15px;
}

.projects-drawer__actions {
  align-items: center;
  display: flex;
  gap: 8px;
}

.projects-drawer__login,
.projects-drawer__join,
.projects-drawer__lang {
  align-items: center;
  border: 0;
  border-radius: 999px;
  display: inline-flex;
  font-family: inherit;
  font-size: 12px;
  font-weight: 700;
  height: 42px;
  justify-content: center;
  white-space: nowrap;
}

.projects-drawer__login {
  background: linear-gradient(100deg, #ff174d, #ff534f);
  color: #fff;
  gap: 10px;
  padding: 0 17px;
}

.projects-drawer__login img {
  filter: brightness(0) invert(1);
  height: 17px;
  width: 17px;
}

.projects-drawer__join {
  background: linear-gradient(100deg, #075dbb, #177bd8);
  color: #fff;
  cursor: pointer;
  gap: 10px;
  padding: 0 15px;
}

.projects-drawer__join img {
  filter: brightness(0) invert(1);
  height: 15px;
  width: 17px;
}

.projects-drawer__lang {
  background: rgba(255, 255, 255, .76);
  border: 1px solid rgba(255, 255, 255, .96);
  color: #172f43;
  width: 42px;
}

.projects-drawer__login,
.projects-drawer__join,
.projects-drawer__lang {
  transition: filter .2s ease, transform .2s ease;
}

.projects-drawer__login:hover,
.projects-drawer__login:focus-visible,
.projects-drawer__join:hover,
.projects-drawer__join:focus-visible,
.projects-drawer__lang:hover,
.projects-drawer__lang:focus-visible {
  filter: brightness(1.04);
  transform: translateY(-2px);
}

.projects-mobile-toggle {
  display: none;
}

@media (max-width: 1439px) {
  .projects-drawer__panel { width: 700px; }
}

@media (max-width: 1279px) {
  .projects-drawer__panel { width: 640px; }
}

@media (max-width: 799px) {
  body.projects-menu-open {
    overflow: hidden;
  }

  .projects-mobile-toggle {
    align-items: center;
    background: #eef7ff;
    border: 0;
    border-radius: 50%;
    display: grid;
    flex: 0 0 35px;
    gap: 3px;
    grid-template-columns: repeat(2, 5px);
    height: 35px;
    justify-content: center;
    order: 0;
    padding: 0;
    width: 35px;
  }

  .projects-mobile-toggle span {
    background: #1471d9;
    border-radius: 2px;
    height: 5px;
    width: 5px;
  }

  .projects-drawer__panel {
    border-radius: 0;
    max-width: 100vw;
    padding: 16px 14px 12px;
    width: 100vw;
  }
  .projects-drawer__top {
    margin: -16px -14px 0;
    min-height: 74px;
    padding: 8px 18px 12px;
  }
  .projects-drawer__brand { width: 62px; }
  .projects-drawer__footer {
    margin: 0 -14px -12px;
    padding: 2px 14px 10px;
  }
  .projects-drawer__bottom {
    align-items: stretch;
    flex-direction: column;
    gap: 9px;
    padding-top: 10px;
  }
  .projects-drawer__socials { justify-content: center; }
  .projects-drawer__actions {
    display: grid;
    grid-template-columns: minmax(0, 1.35fr) minmax(0, 1fr) 42px;
  }
  .projects-drawer__login,
  .projects-drawer__join { padding-inline: 10px; }
}

/* Project tiles: source artwork, repeating bento rhythm, restrained glass interaction. */
.projects-drawer__panel {
  background:
    radial-gradient(circle at 12% 16%, rgba(255,255,255,.86), transparent 29%),
    radial-gradient(circle at 96% 44%, rgba(79,163,219,.18), transparent 32%),
    linear-gradient(135deg, rgba(235,244,249,.96), rgba(216,229,238,.88));
  backdrop-filter: blur(24px) saturate(1.15);
  -webkit-backdrop-filter: blur(24px) saturate(1.15);
}
.projects-drawer:not(.is-open) .projects-drawer__panel {
  box-shadow: none;
}
.projects-drawer__top,
.projects-drawer__footer { background: rgba(255,255,255,.96); }
.projects-drawer__top {
  background: #fff;
  box-sizing: border-box;
  min-height: 94px;
  padding-block: 0;
}
.projects-drawer__all {
  font-size: 13px;
  letter-spacing: .025em;
  /* Align the label with the regular letter bottoms in the Evrazia wordmark;
     the descender on the Cyrillic "р" intentionally sits lower. */
  transform: translateY(12px);
}
.projects-drawer__brand { width: 104px; }
.projects-drawer__top + .projects-drawer__rule { margin-inline: -22px; }
.projects-drawer__close { background: #f2f6f9; border: 0; }
.projects-drawer__scroll {
  margin-inline: -22px;
  padding: 32px 29px 18px 22px;
}
.projects-drawer__grid {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  grid-auto-flow: row;
  grid-auto-rows: 102px;
  gap: 10px;
}
.projects-drawer__card {
  align-items: center;
  background:
    linear-gradient(145deg, color-mix(in srgb, var(--tile-bg) 84%, white), var(--tile-bg));
  border: 1px solid rgba(255,255,255,.82);
  border-radius: 16px;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.7),
    0 2px 5px rgba(32,56,74,.045),
    0 10px 24px rgba(32,56,74,.06);
  color: #202c3d;
  display: flex;
  gap: 14px;
  grid-column: span 3;
  isolation: isolate;
  min-width: 0;
  overflow: hidden;
  padding: 17px;
  position: relative;
  text-decoration: none;
  transform: translateZ(0);
  transition: transform .26s cubic-bezier(.2,.8,.2,1), box-shadow .26s ease, border-color .26s ease;
}
.projects-drawer__card::before {
  background: linear-gradient(118deg, rgba(255,255,255,.5), rgba(255,255,255,0) 44%);
  content: "";
  inset: 0;
  pointer-events: none;
  position: absolute;
  z-index: 1;
}
.projects-drawer__glow {
  background: radial-gradient(circle, color-mix(in srgb, var(--tile-accent) 26%, transparent), transparent 68%);
  border-radius: 50%;
  height: 180px;
  opacity: .55;
  pointer-events: none;
  position: absolute;
  right: -82px;
  top: -84px;
  transition: opacity .3s ease, transform .35s cubic-bezier(.2,.8,.2,1);
  width: 180px;
  z-index: 0;
}
.projects-drawer__card.dark { color: #fff; }
.projects-drawer__card.full,
.projects-drawer__card.hero-wide { grid-column: span 6; }
.projects-drawer__card.feature-tall { grid-row: span 2; }
.projects-drawer__card.hero-wide { grid-row: span 2; }
a.projects-drawer__card:hover,
a.projects-drawer__card:focus-visible {
  border-color: color-mix(in srgb, var(--tile-accent) 34%, white);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.82),
    0 10px 26px rgba(25,51,75,.14),
    0 22px 50px color-mix(in srgb, var(--tile-accent) 12%, transparent);
  transform: translateY(-3px) scale(1.006);
  z-index: 5;
}
a.projects-drawer__card:hover .projects-drawer__glow,
a.projects-drawer__card:focus-visible .projects-drawer__glow {
  opacity: .9;
  transform: scale(1.18);
}
.projects-drawer__logo,
.projects-drawer__ornament {
  display: block;
  flex: 0 0 54px;
  height: 58px;
  max-width: 54px;
  object-fit: contain;
  position: relative;
  transform: none;
  width: 54px;
  z-index: 2;
}
.projects-drawer__card-copy {
  display: block;
  min-width: 0;
  position: relative;
  z-index: 3;
}
.projects-drawer__card-copy strong {
  display: block;
  font-size: 14px;
  font-weight: 750;
  letter-spacing: -.025em;
  line-height: 1.2;
}
.projects-drawer__card.wordmark .projects-drawer__card-copy {
  clip-path: inset(50%);
  height: 1px;
  overflow: hidden;
  position: absolute;
  white-space: nowrap;
  width: 1px;
}
.projects-drawer__card.wordmark .projects-drawer__logo {
  flex: none;
  height: auto;
  max-height: 66px;
  max-width: calc(100% - 28px);
  width: 188px;
}

/* 9/45: original symbol on the left, original text vector on the right. */
.projects-drawer__card.victory { align-items: center; justify-content: space-between; padding: 15px; }
.projects-drawer__card.victory .projects-drawer__logo {
  height: 104px;
  margin: 0;
  left: 0;
  max-height: none;
  max-width: none;
  object-fit: contain;
  position: relative;
  order: 1;
  width: 106px;
  z-index: 3;
}
.projects-drawer__victory-title {
  height: 144px;
  object-fit: contain;
  order: 2;
  position: relative;
  width: 166px;
  z-index: 3;
}
.projects-drawer__art { pointer-events: none; position: absolute; z-index: 0; }

.projects-drawer__card.media .projects-drawer__logo { width: 174px; }
.projects-drawer__card.kinofest .projects-drawer__logo { width: 188px; }

/* The children are independent artwork from the source hero, not part of the mark. */
.projects-drawer__card.friendship {
  align-items: flex-start;
  background: #fff;
  padding: 0;
}
.projects-drawer__card.friendship .projects-drawer__logo {
  height: auto;
  left: 34px;
  max-height: 86px;
  max-width: 34%;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 210px;
  z-index: 3;
}
.projects-drawer__friendship-children {
  bottom: -130px;
  height: auto;
  left: auto;
  max-width: none;
  object-fit: initial;
  right: -40px;
  width: 520px;
}
.projects-drawer__card.friendship .projects-drawer__glow { display: none; }

.projects-drawer__card.family { align-items: flex-start; flex-direction: column; justify-content: flex-end; }
.projects-drawer__card.family .projects-drawer__ornament { height: 112px; max-width: 112px; width: 112px; }
.projects-drawer__card.family .projects-drawer__card-copy strong { font-size: 17px; font-weight: 800; text-transform: uppercase; }
.projects-drawer__card.leaders { flex-direction: row-reverse; justify-content: space-between; }
.projects-drawer__card.leaders .projects-drawer__card-copy { max-width: 165px; }
.projects-drawer__card.healthy .projects-drawer__logo { flex-basis: 64px; height: 66px; max-width: 64px; width: 64px; }
.projects-drawer__card.healthy .projects-drawer__card-copy { color: #385a98; }
.projects-drawer__card.pedsoviet .projects-drawer__logo { height: 57px; }
.projects-drawer__card.pedsoviet .projects-drawer__card-copy { color: #276779; }
.projects-drawer__card.pedsoviet .projects-drawer__card-copy strong { font-size: 13px; font-style: italic; text-transform: uppercase; }
.projects-drawer__card.russian-language {
  background: linear-gradient(112deg, #d92f40 0%, #d92f40 68%, #273f89 100%);
  gap: 22px;
}
.projects-drawer__card.russian-language .projects-drawer__arrow {
  background: none;
  box-shadow: none;
  color: #000;
}
.projects-drawer__card.dark.russian-language .projects-drawer__arrow { color: #000; }
.projects-drawer__card.russian-language .projects-drawer__card-copy { max-width: 470px; }
.projects-drawer__card.russian-language .projects-drawer__card-copy strong { color: #fff; font-size: 17px; }
.projects-drawer__card.russian-language .projects-drawer__ornament { filter: brightness(0) invert(1); }

/* MIFKI: the source site's original text vector. */
.projects-drawer__card.mifki { align-items: center; justify-content: center; padding: 22px; }
.projects-drawer__card.mifki .projects-drawer__logo {
  height: auto;
  max-height: 112px;
  max-width: 100%;
  position: relative;
  width: 275px;
}

.projects-drawer__card.park { justify-content: center; }
.projects-drawer__card.park .projects-drawer__logo { max-height: 82px; width: 158px; }
.projects-drawer__card.award .projects-drawer__logo { width: 205px; }

/* MAKE wordmark and the large official banner mark from the source site. */
.projects-drawer__card.lab {
  align-items: center;
  justify-content: flex-start;
  padding-left: 24px;
  padding-right: 150px;
}
.projects-drawer__card.lab .projects-drawer__logo {
  flex: 0 0 220px;
  height: auto;
  max-width: 220px;
  width: 220px;
}
.projects-drawer__card.lab .projects-drawer__card-copy {
  color: #30358c;
  display: block;
  left: 50%;
  max-width: 150px;
  position: absolute;
  text-align: left;
  top: 50%;
  transform: translate(-50%, -50%);
  width: 150px;
}
.projects-drawer__card.lab .projects-drawer__card-copy strong { font-size: 16px; }
.projects-drawer__lab-mark {
  height: 88px;
  object-fit: contain;
  opacity: .98;
  right: 30px;
  top: 50%;
  transform: translateY(-50%);
  width: 112px;
}
.projects-drawer__card.center { justify-content: center; gap: 18px; }
.projects-drawer__card.center .projects-drawer__logo { flex-basis: 49px; max-width: 49px; }
.projects-drawer__card.center .projects-drawer__card-copy strong { font-size: 16px; }

.projects-drawer__card.ornament { flex-direction: row-reverse; justify-content: space-between; }
.projects-drawer__card.ornament .projects-drawer__card-copy { max-width: 185px; }
.projects-drawer__card.ornament .projects-drawer__ornament {
  flex: 0 0 60px;
  height: 60px;
  max-width: 60px;
  opacity: .96;
  transform: none;
  width: 60px;
}
.projects-drawer__card.feature-tall.ornament { align-items: flex-end; flex-direction: column; }
.projects-drawer__card.feature-tall.ornament .projects-drawer__ornament { height: 124px; max-width: 124px; width: 124px; }
.projects-drawer__card.ornament .projects-drawer__card-copy strong { font-size: 16px; }
.projects-drawer__card.echo { justify-content: center; gap: 14px; }
.projects-drawer__card.echo .projects-drawer__logo { flex-basis: 150px; height: 58px; max-width: 150px; width: 150px; }
.projects-drawer__card.echo .projects-drawer__card-copy strong { font-size: 14px; }

.projects-drawer__arrow {
  align-items: center;
  color: var(--tile-accent);
  display: flex;
  height: 23px;
  justify-content: center;
  opacity: .68;
  position: absolute;
  right: 10px;
  top: 9px;
  transition: opacity .2s ease, transform .2s ease;
  width: 23px;
  z-index: 4;
}
.projects-drawer__arrow svg { height: 14px; width: 14px; }
.projects-drawer__card.dark .projects-drawer__arrow { color: #fff; }
.projects-drawer__card:hover .projects-drawer__arrow { opacity: 1; transform: translate(2px,-2px); }
.projects-drawer__card.is-static { cursor: default; }
.projects-drawer__footer {
  background: #fff;
  box-shadow: none;
  padding-top: 8px;
}
.projects-drawer__scroll:focus,
.projects-drawer__scroll:focus-visible { outline: none; }
.projects-drawer__footer .projects-drawer__rule { display: none; }
.projects-drawer__socials { gap: 9px; }
.projects-drawer__socials a {
  background: #e7f3ff;
  border: 0;
  border-radius: 15px;
  box-shadow: inset 0 0 0 1px rgba(0,92,188,.025);
  height: 48px;
  width: 48px;
}
.projects-drawer__socials a:hover,
.projects-drawer__socials a:focus-visible { background: #dceeff; }
.projects-drawer__socials img {
  height: 20px;
  width: 20px;
}

@media (min-width: 800px) {
  .projects-drawer__top { min-height: 125px; }
  .projects-drawer__scroll { padding-top: 18px; }
}

@media (max-width: 799px) {
  /* Keep the original mobile header centered. The projects control is taken
     out of the actions flow; Join remains available inside the drawer. */
  .header__brand {
    left: 50%;
    transform: translateX(-50%);
  }
  .header__actions {
    position: relative;
  }
  .header__actions-join {
    display: none;
  }
  .projects-mobile-toggle {
    align-items: center;
    display: grid;
    gap: 2px;
    grid-template-columns: repeat(2, 5px);
    grid-template-rows: repeat(2, 5px);
    justify-content: center;
    left: 0;
    margin: 0;
    order: initial;
    position: absolute;
    place-content: center;
    top: 50%;
    transform: translateY(-50%);
    z-index: 3;
  }
  .projects-mobile-toggle span {
    border-radius: 1.5px;
    height: 5px;
    width: 5px;
  }
  .projects-mobile-toggle span:nth-child(4) {
    display: block;
  }
  .projects-drawer__all {
    transform: translateY(7px);
  }
  .projects-drawer__scroll {
    padding-right: 22px;
    scrollbar-width: none;
  }
  .projects-drawer__scroll::-webkit-scrollbar {
    display: none;
    height: 0;
    width: 0;
  }
  .projects-drawer__top { min-height: 82px; }
  .projects-drawer__brand { width: 88px; }
  .projects-drawer__top + .projects-drawer__rule { margin-inline: -14px; }
  .projects-drawer__grid { grid-auto-rows: 98px; gap: 8px; }
  .projects-drawer__card { border-radius: 14px; gap: 10px; padding: 14px; }
  .projects-drawer__card-copy strong { font-size: 13px; }
  .projects-drawer__friendship-children { bottom: -112px; height: auto; right: -54px; width: 455px; }
  .projects-drawer__card.victory { padding: 10px; }
  .projects-drawer__card.victory .projects-drawer__logo {
    height: 82px;
    left: 0;
    width: 82px;
  }
  .projects-drawer__victory-title { height: 102px; width: 132px; }
  .projects-drawer__card.lab .projects-drawer__logo { flex-basis: 150px; max-width: 150px; width: 150px; }
  .projects-drawer__card.lab .projects-drawer__card-copy { max-width: 110px; width: 110px; }
  .projects-drawer__lab-mark { height: 80px; right: 18px; width: 102px; }
}
@media (max-width: 600px) {
  .projects-drawer__card.echo {
    align-items: flex-start;
    flex-direction: column;
    gap: 5px;
    justify-content: center;
  }
  .projects-drawer__card.echo .projects-drawer__logo {
    flex-basis: auto;
    height: 34px;
    max-width: 112px;
    width: 112px;
  }
  .projects-drawer__card.echo .projects-drawer__card-copy strong {
    font-size: 10px;
    line-height: 1.05;
  }
}
@media (min-width: 480px) and (max-width: 520px) {
  .projects-drawer__card.victory { grid-column: span 6; padding: 12px; }
  .projects-drawer__card.victory .projects-drawer__logo { height: 102px; left: 8px; width: 106px; }
  .projects-drawer__victory-title { height: 120px; width: 154px; }
  .projects-drawer__card.lab { padding-left: 14px; padding-right: 112px; }
  .projects-drawer__card.lab .projects-drawer__logo { flex-basis: 108px; max-width: 108px; width: 108px; }
  .projects-drawer__card.lab .projects-drawer__card-copy strong { font-size: 12px; }
  .projects-drawer__card.lab .projects-drawer__card-copy { left: 50%; max-width: 78px; width: 78px; }
  .projects-drawer__lab-mark { height: 62px; right: 14px; top: 50%; width: 78px; }
}
@media (max-width: 479px) {
  .projects-drawer__grid { grid-auto-rows: 96px; }
  .projects-drawer__card { padding: 12px; }
  .projects-drawer__card.victory { grid-column: span 6; padding: 12px; }
  .projects-drawer__card.victory .projects-drawer__logo { height: 102px; left: 8px; width: 106px; }
  .projects-drawer__victory-title { height: 120px; width: 154px; }
  .projects-drawer__card.friendship .projects-drawer__logo { left: 18px; max-width: 39%; width: 154px; }
  .projects-drawer__friendship-children { bottom: -96px; height: auto; right: -62px; width: 405px; }
  .projects-drawer__card.family .projects-drawer__ornament,
  .projects-drawer__card.feature-tall.ornament .projects-drawer__ornament { height: 90px; max-width: 90px; width: 90px; }
  .projects-drawer__card.leaders,
  .projects-drawer__card.healthy,
  .projects-drawer__card.pedsoviet { align-items: flex-start; flex-direction: column; gap: 5px; justify-content: center; }
  .projects-drawer__card.leaders .projects-drawer__logo,
  .projects-drawer__card.healthy .projects-drawer__logo,
  .projects-drawer__card.pedsoviet .projects-drawer__logo { flex: 0 0 34px; height: 34px; max-width: 34px; width: 34px; }
  .projects-drawer__card.lab { padding-left: 14px; padding-right: 112px; }
  .projects-drawer__card.lab .projects-drawer__logo { flex-basis: 108px; max-width: 108px; width: 108px; }
  .projects-drawer__card.lab .projects-drawer__card-copy strong { font-size: 12px; }
  .projects-drawer__card.lab .projects-drawer__card-copy { left: 50%; max-width: 78px; width: 78px; }
  .projects-drawer__lab-mark { height: 62px; right: 14px; top: 50%; width: 78px; }
  .projects-drawer__card.ornament .projects-drawer__ornament { flex-basis: 42px; height: 42px; max-width: 42px; width: 42px; }
  .projects-drawer__card.ornament .projects-drawer__card-copy strong { font-size: 12px; }
  .projects-drawer__arrow { right: 6px; top: 6px; }
}

/* Forum: use both official marks in the same order as the source site. */
.projects-drawer__grid .projects-drawer__card.forum {
  background:
    radial-gradient(circle at 7% 110%, rgba(31, 85, 168, .18), transparent 46%),
    radial-gradient(circle at 103% -8%, rgba(207, 54, 59, .18), transparent 43%),
    linear-gradient(135deg, #fff 0%, #f7f9fc 58%, #f3f6fa 100%);
  display: grid;
  gap: 6px;
  grid-template-rows: 43px auto;
  justify-items: center;
  padding: 10px 20px 9px;
  text-align: center;
}
.projects-drawer__forum-brands {
  align-items: center;
  column-gap: 15px;
  display: grid;
  grid-template-columns: 58px 42px;
  height: 43px;
  justify-content: center;
  width: 100%;
}
.projects-drawer__forum-brands img {
  display: block;
  height: 100%;
  max-width: 100%;
  object-fit: contain;
  width: 100%;
}
.projects-drawer__forum-eurasia { padding-block: 2px; }
.projects-drawer__forum-pattern { padding: 2px; }
.projects-drawer__grid .projects-drawer__card.forum .projects-drawer__card-copy {
  color: #172a50;
  max-width: 250px;
  text-align: center;
}
.projects-drawer__grid .projects-drawer__card.forum .projects-drawer__card-copy strong {
  font-size: 10.5px;
  font-weight: 800;
  letter-spacing: .01em;
  line-height: 1.08;
  text-transform: uppercase;
}

/* Educational platform: official Eurasia mark on a restrained green field. */
.projects-drawer__grid .projects-drawer__card.education {
  background:
    radial-gradient(circle at 92% 8%, rgba(79, 170, 121, .18), transparent 48%),
    linear-gradient(135deg, #f4fbf6 0%, #e3f2e7 58%, #d5eadc 100%);
  display: grid;
  gap: 3px;
  grid-template-columns: minmax(0, 1fr);
  grid-template-rows: 44px auto;
  justify-items: center;
  padding: 8px 14px;
  text-align: center;
}
.projects-drawer__grid .projects-drawer__card.education .projects-drawer__logo {
  grid-column: 1;
  justify-self: center;
  height: 44px;
  max-height: 44px;
  max-width: 72px;
  width: 72px;
}
.projects-drawer__grid .projects-drawer__card.education .projects-drawer__card-copy {
  color: #196848;
  grid-column: 1;
  justify-self: center;
  max-width: 100%;
  text-align: center;
  width: 100%;
}
.projects-drawer__grid .projects-drawer__card.education .projects-drawer__card-copy strong {
  font-size: 13px;
  font-weight: 800;
  line-height: 1.12;
}
.projects-drawer__grid .projects-drawer__card.education .projects-drawer__card-copy strong span {
  display: block;
  white-space: nowrap;
}

@media (max-width: 479px) {
  .projects-drawer__grid .projects-drawer__card.forum {
    gap: 4px;
    grid-template-rows: 37px auto;
    padding: 9px 8px 8px;
  }
  .projects-drawer__forum-brands {
    column-gap: 10px;
    grid-template-columns: 48px 36px;
    height: 37px;
  }
  .projects-drawer__grid .projects-drawer__card.forum .projects-drawer__card-copy strong {
    font-size: 8.2px;
    line-height: 1.05;
  }
  .projects-drawer__grid .projects-drawer__card.education {
    gap: 2px;
    grid-template-rows: 37px auto;
    padding: 8px 5px 7px;
  }
  .projects-drawer__grid .projects-drawer__card.education .projects-drawer__logo {
    height: 37px;
    max-height: 37px;
    max-width: 60px;
    width: 60px;
  }
  .projects-drawer__grid .projects-drawer__card.education .projects-drawer__card-copy {
    max-width: 100%;
  }
  .projects-drawer__grid .projects-drawer__card.education .projects-drawer__card-copy strong {
    font-size: 8.6px;
    line-height: 1.08;
  }
}
@media (prefers-reduced-motion: reduce) {
  .projects-drawer *, .projects-drawer *::before, .projects-drawer *::after { transition: none !important; }
}

/* Uniform two-column project list. */
.projects-drawer__grid {
  grid-auto-flow: row;
  grid-auto-rows: 102px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.projects-drawer__grid .projects-drawer__card,
.projects-drawer__grid .projects-drawer__card.full,
.projects-drawer__grid .projects-drawer__card.hero-wide,
.projects-drawer__grid .projects-drawer__card.feature-tall {
  align-items: center;
  flex-direction: row;
  grid-column: span 1;
  grid-row: span 1;
  justify-content: flex-start;
  min-height: 0;
  padding: 14px;
}
.projects-drawer__grid .projects-drawer__art {
  display: none;
}
.projects-drawer__grid .projects-drawer__card .projects-drawer__logo,
.projects-drawer__grid .projects-drawer__card .projects-drawer__ornament {
  flex: 0 1 auto;
  height: auto;
  inset: auto;
  margin: 0;
  max-height: 62px;
  max-width: calc(100% - 28px);
  object-fit: contain;
  position: relative;
  transform: none;
  width: auto;
}
.projects-drawer__grid .projects-drawer__card .projects-drawer__ornament {
  flex: 0 0 54px;
  height: 54px;
  max-width: 54px;
  width: 54px;
}
.projects-drawer__grid .projects-drawer__card .projects-drawer__card-copy {
  inset: auto;
  margin: 0;
  max-width: none;
  position: relative;
  text-align: left;
  transform: none;
}
.projects-drawer__grid .projects-drawer__card .projects-drawer__card-copy strong {
  font-size: 12px;
  line-height: 1.16;
}
.projects-drawer__grid .projects-drawer__card.friendship {
  background: #fff;
}
.projects-drawer__grid .projects-drawer__card.friendship .projects-drawer__logo {
  max-height: 64px;
  max-width: 82%;
  width: 184px;
}
.projects-drawer__grid .projects-drawer__card.victory {
  justify-content: space-between;
  padding: 11px 14px;
}
.projects-drawer__grid .projects-drawer__card.victory .projects-drawer__logo {
  flex: 0 1 34%;
  height: 72px;
  max-height: 72px;
  max-width: 34%;
  order: 1;
  width: 86px;
}
.projects-drawer__grid .projects-drawer__victory-title {
  flex: 0 1 52%;
  height: 76px;
  max-width: 52%;
  object-fit: contain;
  order: 2;
  position: relative;
  width: 150px;
  z-index: 3;
}
.projects-drawer__grid .projects-drawer__card.lab {
  gap: 10px;
  padding: 14px;
}
.projects-drawer__grid .projects-drawer__card.lab .projects-drawer__logo {
  flex-basis: 48%;
  max-width: 48%;
}
.projects-drawer__grid .projects-drawer__card.lab .projects-drawer__card-copy {
  flex: 1 1 auto;
  width: auto;
}
.projects-drawer__grid .projects-drawer__card.echo {
  align-items: center;
  flex-direction: row;
  gap: 10px;
  justify-content: flex-start;
}

@media (max-width: 479px) {
  .projects-drawer__grid {
    grid-auto-rows: 96px;
  }
  .projects-drawer__grid .projects-drawer__card,
  .projects-drawer__grid .projects-drawer__card.full,
  .projects-drawer__grid .projects-drawer__card.hero-wide,
  .projects-drawer__grid .projects-drawer__card.feature-tall {
    gap: 8px;
    padding: 10px;
  }
  .projects-drawer__grid .projects-drawer__card .projects-drawer__logo,
  .projects-drawer__grid .projects-drawer__card .projects-drawer__ornament {
    max-height: 54px;
  }
  .projects-drawer__grid .projects-drawer__card .projects-drawer__ornament {
    flex-basis: 42px;
    height: 42px;
    max-width: 42px;
    width: 42px;
  }
  .projects-drawer__grid .projects-drawer__card.friendship .projects-drawer__logo {
    max-height: 58px;
    max-width: 88%;
    width: 138px;
  }
  .projects-drawer__grid .projects-drawer__card.victory {
    padding: 9px 10px;
  }
  .projects-drawer__grid .projects-drawer__card.victory .projects-drawer__logo {
    height: 62px;
    max-height: 62px;
    width: 58px;
  }
  .projects-drawer__grid .projects-drawer__victory-title {
    height: 64px;
    width: 82px;
  }
  .projects-drawer__grid .projects-drawer__card .projects-drawer__card-copy strong {
    font-size: 10.5px;
  }
}

/* Mobile action strip lives inside the scroller, directly before the tiles. */
@media (max-width: 799px) {
  .projects-drawer__scroll {
    margin: 0 -14px -12px;
    padding: 0 14px 18px;
  }
  .projects-drawer__footer {
    background: transparent;
    box-shadow: none;
    margin: 0 -14px 10px;
    padding: 10px 14px;
    position: relative;
  }
  .projects-drawer__bottom {
    align-items: center;
    display: flex;
    flex-direction: row;
    gap: 8px;
    justify-content: space-between;
    min-height: 36px;
    padding: 0;
  }
  .projects-drawer__actions {
    display: flex;
    flex: 0 1 auto;
    gap: 5px;
    grid-template-columns: none;
    order: 1;
  }
  .projects-drawer__socials {
    flex: 0 0 auto;
    gap: 5px;
    justify-content: flex-end;
    order: 2;
  }
  .projects-drawer__login,
  .projects-drawer__join {
    font-size: 10px;
    gap: 6px;
    height: 36px;
    padding-inline: 8px;
  }
  .projects-drawer__login img,
  .projects-drawer__join img {
    height: 14px;
    width: 14px;
  }
  .projects-drawer__socials a {
    background: rgba(231,243,255,.96);
    border: 1px solid rgba(20,120,205,.18);
    border-radius: 11px;
    box-shadow: 0 4px 11px rgba(36,91,133,.14), inset 0 1px 0 rgba(255,255,255,.9);
    height: 34px;
    width: 34px;
  }
  .projects-drawer__socials img {
    height: 15px;
    width: 15px;
  }
  .projects-drawer__lang {
    display: none;
  }
}

/* Desktop/tablet menu: wide responsive tile grid that drops from the header.
   Its glass background wraps the tile area instead of spanning the viewport. */
@media (min-width: 800px) {
  .projects-drawer {
    --projects-header-height: 78px;
    bottom: 0;
    left: 0;
    right: 0;
    top: var(--projects-header-height);
    z-index: 110;
  }
  .projects-drawer__backdrop {
    background: transparent;
  }
  .projects-drawer__panel {
    -webkit-backdrop-filter: none;
    backdrop-filter: none;
    background: transparent;
    border: 0;
    border-radius: 0;
    box-shadow: none;
    display: block;
    height: auto;
    left: calc(var(--projects-menu-left, 32px) - 16px);
    max-height: 100%;
    max-width: calc(100vw - var(--projects-menu-left, 32px));
    overflow: visible;
    padding: 0;
    position: absolute;
    transform: translateY(calc(-100% - 2px));
    transform-origin: top left;
    transition: transform .42s cubic-bezier(.22,1,.36,1), box-shadow .32s ease;
    width: min(1472px, calc(100vw - var(--projects-menu-left, 32px)));
  }
  .projects-drawer.is-open .projects-drawer__panel {
    transform: translateY(0);
  }
  .projects-drawer__panel::before,
  .projects-drawer__panel::after {
    display: none;
  }
  .projects-drawer__top,
  .projects-drawer__rule,
  .projects-drawer__footer {
    display: none;
  }
  .projects-drawer__scroll {
    height: auto;
    margin: 0;
    max-height: calc(100vh - var(--projects-header-height));
    overflow-x: hidden;
    overflow-y: auto;
    padding: 16px 16px 18px;
  }
  .projects-drawer__card {
    box-shadow:
      inset 0 1px 0 rgba(255,255,255,.72),
      0 5px 12px rgba(32,56,74,.07),
      0 13px 28px rgba(32,56,74,.09);
  }
  .projects-drawer__grid {
    gap: 10px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    margin: 0;
    max-width: none;
  }
}

/* When the full grid fits, let tile shadows render beyond the scroll box.
   Short desktop viewports keep the scrollable fallback above. */
@media (min-width: 800px) and (min-height: 800px) {
  .projects-drawer__scroll {
    max-height: none;
    overflow: visible;
  }
}

@media (min-width: 1024px) {
  .projects-drawer__grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (min-width: 1280px) {
  .projects-drawer {
    --projects-header-height: 87px;
  }
  .projects-drawer__grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}

@media (min-width: 1440px) {
  .projects-drawer {
    --projects-header-height: 95px;
  }
}

@media (min-width: 1920px) {
  .projects-drawer {
    --projects-header-height: 127px;
  }
}

.projects-drawer__grid .projects-drawer__card.wordmark:not(.victory) {
  justify-content: center;
}
.projects-drawer__grid .projects-drawer__card.kinofest .projects-drawer__logo {
  margin-inline: auto;
  max-width: 84%;
}
.projects-drawer__grid .projects-drawer__card.park,
.projects-drawer__grid .projects-drawer__card.lab {
  gap: 10px;
  justify-content: center;
}
.projects-drawer__grid .projects-drawer__card.park .projects-drawer__logo {
  flex: 0 1 44%;
  max-height: 58px;
  max-width: 44%;
}
.projects-drawer__grid .projects-drawer__card.park .projects-drawer__card-copy,
.projects-drawer__grid .projects-drawer__card.lab .projects-drawer__card-copy {
  flex: 0 1 auto;
  width: auto;
}
.projects-drawer__grid .projects-drawer__card.lab .projects-drawer__logo {
  flex: 0 0 54px;
  height: 54px;
  max-height: 54px;
  max-width: 54px;
  width: 54px;
}
.projects-drawer__grid .projects-drawer__card.echo {
  align-items: center;
  flex-direction: column;
  gap: 4px;
  justify-content: center;
  text-align: center;
}
.projects-drawer__grid .projects-drawer__card.echo .projects-drawer__logo {
  flex: 0 1 auto;
  height: auto;
  max-height: 34px;
  max-width: 128px;
  width: 128px;
}
.projects-drawer__grid .projects-drawer__card.echo .projects-drawer__card-copy {
  flex: 0 1 auto;
  text-align: center;
}
.projects-drawer__grid .projects-drawer__card.echo .projects-drawer__card-copy strong {
  font-size: 10px;
  line-height: 1.08;
}

@media (max-width: 479px) {
  .projects-drawer__grid .projects-drawer__card.park,
  .projects-drawer__grid .projects-drawer__card.lab {
    gap: 7px;
  }
  .projects-drawer__grid .projects-drawer__card.park .projects-drawer__logo {
    max-height: 46px;
  }
  .projects-drawer__grid .projects-drawer__card.lab .projects-drawer__logo {
    flex-basis: 46px;
    height: 46px;
    max-height: 46px;
    max-width: 46px;
    width: 46px;
  }
  .projects-drawer__grid .projects-drawer__card.echo .projects-drawer__logo {
    max-height: 30px;
    max-width: 112px;
    width: 112px;
  }
}

/* Keep every logo/title composition visually centred inside the uniform grid. */
.projects-drawer__grid .projects-drawer__card:not(.victory) {
  justify-content: center;
}
.projects-drawer__grid .projects-drawer__card.wordmark:not(.victory) .projects-drawer__logo {
  transform: translateX(4px);
}
.projects-drawer__grid .projects-drawer__card:not(.wordmark):not(.echo) .projects-drawer__card-copy {
  color: var(--tile-accent);
}

/* Park Eurasia: the cloud logo is the main mark; the supporting title uses
   the project's turquoise rather than introducing a foreign black accent. */
.projects-drawer__grid .projects-drawer__card.park {
  gap: 12px;
  justify-content: center;
}
.projects-drawer__grid .projects-drawer__card.park .projects-drawer__logo {
  flex: 0 0 150px;
  height: auto;
  max-height: 70px;
  max-width: 150px;
  width: 150px;
}
.projects-drawer__grid .projects-drawer__card.park .projects-drawer__card-copy {
  color: #078d99;
  flex: 0 0 78px;
  max-width: 78px;
  text-align: left;
}
.projects-drawer__grid .projects-drawer__card.park .projects-drawer__card-copy strong {
  font-size: 14px;
  font-weight: 800;
  line-height: 1.05;
}

/* Pattern tiles share one internal grid so every ornament and every title
   begins on the same vertical guide, regardless of the title length. */
.projects-drawer__grid .projects-drawer__card.ornament {
  column-gap: 12px;
  display: grid;
  grid-template-columns: 54px 184px;
  justify-content: center;
  place-items: center start;
}
.projects-drawer__grid .projects-drawer__card.ornament .projects-drawer__ornament,
.projects-drawer__grid .projects-drawer__card.feature-tall.ornament .projects-drawer__ornament {
  flex-basis: 54px;
  grid-column: 1;
  height: 54px;
  justify-self: center;
  max-width: 54px;
  width: 54px;
}
.projects-drawer__grid .projects-drawer__card.ornament .projects-drawer__card-copy {
  grid-column: 2;
  justify-self: start;
  max-width: 184px;
  width: 184px;
}

@media (max-width: 479px) {
  .projects-drawer__grid .projects-drawer__card.park {
    gap: 5px;
    padding-inline: 8px;
  }
  .projects-drawer__grid .projects-drawer__card.park .projects-drawer__logo {
    flex-basis: 98px;
    max-height: 50px;
    max-width: 98px;
    width: 98px;
  }
  .projects-drawer__grid .projects-drawer__card.park .projects-drawer__card-copy {
    flex-basis: 46px;
    max-width: 46px;
  }
  .projects-drawer__grid .projects-drawer__card.park .projects-drawer__card-copy strong {
    font-size: 10.5px;
    line-height: 1.08;
  }
  .projects-drawer__grid .projects-drawer__card.ornament {
    column-gap: 8px;
    grid-template-columns: 42px 94px;
    padding-inline: 8px;
  }
  .projects-drawer__grid .projects-drawer__card.ornament .projects-drawer__card-copy {
    max-width: 94px;
    width: 94px;
  }
  .projects-drawer__grid .projects-drawer__card.ornament .projects-drawer__ornament,
  .projects-drawer__grid .projects-drawer__card.feature-tall.ornament .projects-drawer__ornament {
    flex-basis: 42px;
    height: 42px;
    max-width: 42px;
    width: 42px;
  }
}
