.list--svoboda{
  padding: 0;
  display: grid;

  grid-template-columns: 40fr 60fr;
  min-height: 100vh;
  background: var(--glubokiy);
  color: var(--krem);
  --volos: rgba(212, 175, 78, 0.24);
}

.svoboda__slovo{
  background: var(--krasnyy);
  color: var(--belyy);
  display: flex; flex-direction: column; justify-content: center;

  padding: calc(var(--rost-shapki, 110px) + var(--vozduh-metki)) var(--pole-ekrana)
           var(--vozduh-metki) var(--pole-ekrana);
}

.svoboda__vhod .knopka{ margin-bottom: calc(var(--k-zagolovok) * 0.06); }
.svoboda__vhod .knopka{ position: relative; overflow: hidden; isolation: isolate; }
.svoboda__vhod .knopka::after{
  content: '';
  position: absolute; top: -40%; bottom: -40%; width: 34%; left: -50%;
  z-index: 1; pointer-events: none;
  background: linear-gradient(100deg,
    rgba(255, 247, 227, 0) 0%, rgba(255, 247, 227, .48) 50%, rgba(255, 247, 227, 0) 100%);
  transform: skewX(-18deg);

  animation: blik-vstupleniya 6.5s linear infinite;
}
@keyframes blik-vstupleniya{
  0%{ left: -50%; }
  14%{ left: 116%; }
  100%{ left: 116%; }
}
@media (prefers-reduced-motion: reduce){
  .svoboda__vhod .knopka::after{ animation: none; opacity: 0; }
}

.list--svoboda.vidno .yavlenie .stroka{ transform: translateY(115%); }
.list--svoboda.yavleno .yavlenie .stroka{
  transform: none;
  transition: transform .62s var(--hod-out) var(--zaderzhka, 0ms);
}
.list--svoboda.vidno [data-hod]{ opacity: 0; transform: translateY(20px); }
.list--svoboda.yavleno [data-hod]{ opacity: 1; transform: none; }
@media (prefers-reduced-motion: reduce){
  .list--svoboda .yavlenie .stroka{ transform: none; }
  .list--svoboda.vidno [data-hod]{ opacity: 1; transform: none; }
}

.svoboda__zag{
  font-weight: 900;

  font-size: var(--k-ekran);
  line-height: var(--shag-zag);
  margin-left: var(--kray-bukvy);
  letter-spacing: 0.004em;
  text-transform: uppercase;
  color: var(--krem);
}
.svoboda__zag span{ display: block; }

.svoboda__tekst{
  margin-top: var(--otstup-za-zag);
  margin-left: var(--kray-bukvy);
  font-weight: 400;
  font-size: var(--k-lid);
  line-height: var(--shag-tekst);
  max-width: 34ch;
  color: rgba(255, 247, 227, 0.94);
}
.svoboda__udar{
  margin-top: var(--otstup-abzaca);
  margin-left: var(--kray-bukvy);
  font-weight: 700;
  font-size: var(--k-lid);
  line-height: var(--shag-tekst);
  max-width: 38ch;
  color: var(--krem);
}
.svoboda__udar span{ display: block; }

.svoboda__gerb-pole{
  position: relative;

  display: flex; flex-direction: column; align-items: center; justify-content: center;

  gap: clamp(1.4rem, 2.2vw, 2.8rem);

  padding: calc(var(--rost-shapki, 110px) + var(--vozduh-metki)) var(--pole-ekrana)
           var(--vozduh-metki);

  background: var(--barhat);
  background-attachment: fixed;
}

.list--svoboda .gerb-gnezdo{
  margin: 0; position: relative;

  perspective: 1100px;

  will-change: transform;
}
.gerb-gnezdo::before{
  content: ''; position: absolute; left: 50%; top: 50%; z-index: -1;
  width: 150%; height: 135%; translate: -50% -50%; pointer-events: none;
  background: radial-gradient(closest-side, color-mix(in srgb, var(--zoloto-svet) 30%, transparent) 0%, transparent 72%);
  opacity: var(--zhar-sveta, .55);
  transition: opacity .4s var(--hod-out);
}
.list--svoboda.ruka-na-liste .gerb-gnezdo::before{ --zhar-sveta: .95; }

@media (hover: hover) and (pointer: fine){
  .list--svoboda .gerb-gnezdo:hover::before{ --zhar-sveta: 1; }
}

.gerb-gnezdo__gerb{

  display: block; height: clamp(14rem, 30vw, 30rem); width: auto; max-width: 100%;
  transform-origin: 50% 60%;
  scale: var(--rost, 1);
  transition: scale .6s var(--hod-out), filter .5s var(--hod-out);
  transform: rotateX(var(--naklon-x, 0deg)) rotateY(var(--naklon-y, 0deg));
  filter: drop-shadow(var(--ten-x, 0px) 14px 34px rgba(0, 0, 0, 0.34));
}

.gerb-gnezdo::after{
  content: ''; position: absolute; inset: -8%; z-index: 1; pointer-events: none;
  border-radius: 50%;
  background: radial-gradient(32% 32% at var(--blik-x, 50%) var(--blik-y, 38%),
    rgba(255, 247, 227, 0.22) 0%, rgba(255, 247, 227, 0.08) 46%, transparent 74%);
  mix-blend-mode: screen;
  opacity: var(--zhar-blika, 0);
  transition: opacity .45s var(--hod-out);
}
.gerb-gnezdo:focus{ outline: none; }
.gerb-gnezdo:focus-visible{ outline: 3px solid var(--zoloto-svet); outline-offset: 8px; }

.svoboda__vhod{
  display: flex; align-items: center; justify-content: center;
  gap: clamp(1.2rem, 3vw, 2.6rem);
  flex-wrap: wrap;
}

.svoboda__schet{
  display: flex; align-items: baseline; gap: 0.9rem;
  margin-top: calc(var(--k-zagolovok) * 0.06);
}
.svoboda__schet .schet{ position: relative; }

.svoboda__cifra{
  display: flex; align-items: flex-end;
  font-weight: 900;
  font-size: var(--k-zagolovok);
  line-height: 1;
  letter-spacing: -0.01em;
  font-variant-numeric: tabular-nums;
  color: var(--krem);
  transition: color .3s ease;
}
.svoboda__cifra .cifra{ display: block; height: 1em; overflow: clip; }
.svoboda__cifra .cifra__lenta{ display: block; transform: translateY(calc(var(--c, 0) * -1em)); transition: transform .55s var(--hod-out); }
.svoboda__cifra .cifra__lenta span{ display: block; height: 1em; line-height: 1; }
.svoboda__cifra .cifra__probel{ display: block; width: .24em; }
.svoboda__cifra.bezhit .cifra__lenta{ transition: none; }

.svoboda__cifra.tik{ color: var(--zoloto-svet); transition: color .12s ease; }
.svoboda__schet{ position: relative; }
.svoboda__plyus{
  position: absolute; left: 100%; top: -.2em; margin-left: .3em;
  font-weight: 900; font-size: var(--k-lid); line-height: 1; color: var(--zoloto-svet);
  pointer-events: none; white-space: nowrap; opacity: 0;
  animation: plyus-vverh .9s var(--hod-out) forwards;
}
@keyframes plyus-vverh{ 0%{ opacity: 1; transform: translateY(0); } 100%{ opacity: 0; transform: translateY(-22px); } }
.svoboda__pod{
  font-weight: 700;
  font-size: var(--k-melko);
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--zoloto-svet);
}

.list--svoboda .svoboda__slovo [data-hod]:nth-child(2){ --zaderzhka: 90ms; }
.list--svoboda .svoboda__slovo [data-hod]:nth-child(3){ --zaderzhka: 180ms; }
.list--svoboda .svoboda__ruka{ --zaderzhka: 120ms; }
.list--svoboda .svoboda__vhod{ --zaderzhka: 300ms; }

@media (min-width: 901px){
  .list--svoboda{
    grid-template-rows: calc(var(--rost-shapki, 110px) + var(--vozduh-metki)) 1fr auto auto auto 1fr var(--vozduh-metki);
  }
  .svoboda__slovo, .svoboda__gerb-pole{
    grid-row: 1 / -1; display: grid; gap: 0; padding-block: 0;
    grid-template-rows: subgrid; grid-template-columns: minmax(0, 1fr);
  }
  .svoboda__zag{ grid-row: 3; align-self: start; margin-top: calc((var(--shag-zag) / 2 - 0.447) * -1em); }
  .svoboda__tekst{ grid-row: 4; align-self: start; }
  .svoboda__udar{ grid-row: 5; align-self: end; margin-bottom: calc((var(--shag-tekst) / 2 - 0.22) * -1em); }

  .list--svoboda .svoboda__ruka{
    grid-row: 3 / 5; align-self: stretch; justify-self: center;
    contain: size; aspect-ratio: 1035 / 749;
    margin-bottom: clamp(1.4rem, 2.2vw, 2.8rem);
  }
  .svoboda__ruka .gerb-gnezdo__gerb{ height: 100%; width: 100%; }
  .svoboda__vhod{ grid-row: 5; align-self: end; margin-bottom: calc(var(--k-zagolovok) * 0.22 - var(--k-lid) * 1.5775); }
}

@media (max-width: 900px){
  .list--svoboda{ grid-template-columns: minmax(0, 1fr); }
  .svoboda__slovo{ padding: calc(var(--rost-shapki, 110px) + var(--vozduh-metki)) var(--pole-ekrana) clamp(2.4rem, 6vh, 4rem); }
  .svoboda__gerb-pole{ padding: clamp(2.4rem, 6vh, 4rem) var(--pole-ekrana) clamp(3rem, 7vh, 5rem); min-height: 0; }
  .gerb-gnezdo__gerb{ height: min(34vh, 70vw); }
}
@media (prefers-reduced-motion: reduce){

  .gerb-gnezdo__gerb{ animation: none; }
  .svoboda__cifra .cifra__lenta{ transition: none; }
}

@media (max-width: 860px){
  .list--svoboda{
    grid-template-rows: auto minmax(0, 1fr);
    min-height: 100svh;
  }
  .svoboda__slovo{
    padding: calc(var(--rost-shapki, 79px) + var(--vozduh-lista, 2rem)) var(--pole-ekrana)
             var(--vozduh-lista, 2rem);
  }
  .svoboda__gerb-pole{
    padding: calc(var(--vozduh-lista, 2rem) * 0.7) var(--pole-ekrana);
    gap: clamp(0.8rem, 2vh, 1.5rem);
  }

  .gerb-gnezdo__gerb{ height: min(22vh, 52vw); }
}
