.actualization-page {
  overflow: hidden;
}

.actualization-kicker {
  margin: 0 0 18px;

  color: var(--color-primary);

  font-size: .76rem;
  font-weight: 850;
  letter-spacing: .14em;
  text-transform: uppercase;
}


/* Hero */

.actualization-hero {
  padding:
    clamp(125px, 11vw, 170px)
    0
    clamp(85px, 8vw, 120px);

  background:
    radial-gradient(
      circle at 83% 18%,
      rgba(169,240,74,.18),
      transparent 27%
    ),
    var(--color-bg);
}

.actualization-breadcrumbs {
  display: flex;
  flex-wrap: wrap;
  gap: 9px;

  margin-bottom: 40px;

  color: var(--color-text-secondary);

  font-size: .86rem;
}

.actualization-breadcrumbs a {
  color: inherit;
  text-decoration: none;
}

.actualization-hero__grid {
  display: grid;

  grid-template-columns:
    minmax(0, 1fr)
    minmax(300px, 380px);

  gap: clamp(55px, 7vw, 105px);

  align-items: center;
}

.actualization-hero h1 {
  max-width: 980px;

  margin: 0;

  font-size:
    clamp(3.2rem, 5.4vw, 6rem);

  line-height: .94;
  letter-spacing: -.062em;
}

.actualization-hero__lead {
  max-width: 790px;

  margin: 30px 0 0;

  color: var(--color-text-secondary);

  font-size:
    clamp(1.05rem, 1.45vw, 1.25rem);

  line-height: 1.62;
}

.actualization-hero__actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;

  gap: 22px;

  margin-top: 34px;
}

.actualization-hero__secondary {
  display: inline-flex;
  align-items: center;

  gap: 9px;

  color: var(--color-text);

  font-weight: 760;

  text-decoration: none;
}

.actualization-hero__secondary span {
  color: var(--color-primary);
}

.actualization-hero__note {
  padding:
    clamp(28px, 3vw, 38px);

  border: 1px solid rgba(21,21,21,.08);
  border-radius: 30px;

  background: #fff;

  box-shadow: var(--shadow-soft);
}

.actualization-hero__note > span {
  display: inline-flex;

  margin-bottom: 34px;
  padding: 7px 12px;

  border-radius: 999px;

  background: rgba(169,240,74,.22);

  font-size: .72rem;
  font-weight: 900;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.actualization-hero__note h2 {
  margin: 0 0 15px;

  font-size:
    clamp(1.65rem, 2.3vw, 2.35rem);

  line-height: 1.03;
  letter-spacing: -.04em;
}

.actualization-hero__note p {
  margin: 0;

  color: var(--color-text-secondary);

  line-height: 1.65;
}


/* Shared section head */

.actualization-section-head {
  max-width: 930px;

  margin-bottom:
    clamp(42px, 6vw, 70px);
}

.actualization-section-head h2 {
  margin: 0;

  font-size:
    clamp(2.6rem, 4.6vw, 5rem);

  line-height: .96;
  letter-spacing: -.058em;
}

.actualization-section-head > p:last-child {
  max-width: 790px;

  margin: 25px 0 0;

  color: var(--color-text-secondary);

  font-size: 1.05rem;
  line-height: 1.7;
}


/* Reasons */

.actualization-reasons {
  padding:
    clamp(90px, 10vw, 150px)
    0;

  background: #fff;
}

.actualization-reasons__grid,
.actualization-work__grid {
  display: grid;

  grid-template-columns:
    repeat(4, minmax(0, 1fr));

  gap: 16px;
}

.actualization-reasons__grid article,
.actualization-work__grid article {
  display: flex;
  flex-direction: column;

  min-height: 310px;

  padding: 28px;

  border: 1px solid rgba(21,21,21,.09);
  border-radius: 26px;

  background: var(--color-bg);
}

.actualization-reasons__grid article > span,
.actualization-work__grid article > span {
  align-self: flex-start;

  margin-bottom: auto;

  padding: 7px 11px;

  border-radius: 999px;

  background: rgba(169,240,74,.23);

  font-size: .72rem;
  font-weight: 900;
}

.actualization-reasons__grid h3,
.actualization-work__grid h3 {
  margin: 48px 0 12px;

  font-size:
    clamp(1.25rem, 1.7vw, 1.55rem);

  line-height: 1.08;
  letter-spacing: -.03em;
}

.actualization-reasons__grid p,
.actualization-work__grid p {
  margin: 0;

  color: var(--color-text-secondary);

  line-height: 1.62;
}


/* Periodicity */

.actualization-periods {
  padding:
    clamp(90px, 10vw, 150px)
    0;

  background: #f8f5ef;
}

.actualization-periods__list {
  border-top:
    1px solid rgba(21,21,21,.12);
}

.actualization-period {
  display: grid;

  grid-template-columns:
    55px
    minmax(220px, .7fr)
    minmax(180px, .4fr)
    minmax(300px, 1fr);

  gap: 26px;
  align-items: start;

  padding: 28px 0;

  border-bottom:
    1px solid rgba(21,21,21,.12);
}

.actualization-period__number {
  color: var(--color-primary);

  font-size: .76rem;
  font-weight: 900;
}

.actualization-period__name h3 {
  margin: 0 0 7px;

  font-size: 1.25rem;
  line-height: 1.15;
}

.actualization-period__name p,
.actualization-period__description {
  margin: 0;

  color: var(--color-text-secondary);

  line-height: 1.55;
}

.actualization-period > strong {
  line-height: 1.4;
}

.actualization-periods__note {
  max-width: 850px;

  margin: 32px 0 0;

  color: var(--color-text-secondary);

  font-size: .9rem;
  line-height: 1.65;
}


/* Work */

.actualization-work {
  padding:
    clamp(90px, 10vw, 150px)
    0;

  background: #fff;
}


/* Documents */

.actualization-documents {
  padding:
    clamp(90px, 10vw, 150px)
    0;

  background: var(--color-bg);
}

.actualization-documents__grid {
  display: grid;

  grid-template-columns:
    minmax(0, .8fr)
    minmax(400px, 1.2fr);

  gap: clamp(55px, 8vw, 120px);

  align-items: start;
}

.actualization-documents h2 {
  max-width: 570px;

  margin: 0;

  font-size:
    clamp(2.5rem, 4vw, 4.4rem);

  line-height: .97;
  letter-spacing: -.055em;
}

.actualization-documents__grid > div > p:last-child {
  max-width: 550px;

  margin: 24px 0 0;

  color: var(--color-text-secondary);

  line-height: 1.7;
}

.actualization-documents ol {
  margin: 0;
  padding: 0;

  list-style: none;

  border-top:
    1px solid rgba(21,21,21,.12);
}

.actualization-documents li {
  display: grid;

  grid-template-columns:
    45px minmax(0, 1fr);

  gap: 18px;

  padding: 23px 0;

  border-bottom:
    1px solid rgba(21,21,21,.12);
}

.actualization-documents li span {
  color: var(--color-primary);

  font-size: .76rem;
  font-weight: 900;
}

.actualization-documents li p {
  margin: 0;

  line-height: 1.55;
}


/* FAQ */

.actualization-faq {
  padding:
    clamp(90px, 10vw, 150px)
    0;

  background: #fff;
}

.actualization-faq__list {
  max-width: 1000px;

  border-top:
    1px solid rgba(21,21,21,.12);
}

.actualization-faq details {
  border-bottom:
    1px solid rgba(21,21,21,.12);
}

.actualization-faq summary {
  position: relative;

  padding: 26px 50px 26px 0;

  cursor: pointer;

  list-style: none;

  font-size:
    clamp(1.15rem, 1.8vw, 1.45rem);

  font-weight: 760;
  line-height: 1.25;
}

.actualization-faq summary::-webkit-details-marker {
  display: none;
}

.actualization-faq summary::after {
  content: "+";

  position: absolute;

  right: 0;
  top: 24px;

  color: var(--color-primary);

  font-size: 1.6rem;
  font-weight: 500;
}

.actualization-faq details[open] summary::after {
  content: "−";
}

.actualization-faq details p {
  max-width: 840px;

  margin: -4px 0 28px;

  color: var(--color-text-secondary);

  line-height: 1.7;
}


@media (max-width: 1000px) {
  .actualization-hero__grid {
    grid-template-columns: 1fr;
  }

  .actualization-hero__note {
    max-width: 680px;
  }

  .actualization-reasons__grid,
  .actualization-work__grid {
    grid-template-columns:
      repeat(2, minmax(0, 1fr));
  }

  .actualization-period {
    grid-template-columns:
      45px minmax(0, 1fr) minmax(180px, .55fr);
  }

  .actualization-period__description {
    grid-column: 2 / -1;
  }

  .actualization-documents__grid {
    grid-template-columns: 1fr;
  }
}


@media (max-width: 620px) {
  .actualization-hero {
    padding:
      108px
      0
      72px;
  }

  .actualization-hero h1 {
    font-size:
      clamp(2.5rem, 12vw, 3.8rem);
  }

  .actualization-hero__actions {
    flex-direction: column;
    align-items: stretch;
  }

  .actualization-hero__actions .button {
    width: 100%;
  }

  .actualization-reasons__grid,
  .actualization-work__grid {
    grid-template-columns: 1fr;
  }

  .actualization-reasons__grid article,
  .actualization-work__grid article {
    min-height: 250px;
  }

  .actualization-period {
    grid-template-columns:
      36px minmax(0, 1fr);

    gap: 16px;
  }

  .actualization-period > strong,
  .actualization-period__description {
    grid-column: 2;
  }
}


/* ==========================================================
   Actualization contrast redesign
   ========================================================== */


/* ----------------------------------------------------------
   Общие микроакценты
   ---------------------------------------------------------- */

.actualization-kicker {
  display: flex;
  align-items: center;
  gap: 11px;

  color: #111111;
}

.actualization-kicker::before {
  content: "";

  width: 24px;
  height: 4px;

  flex: 0 0 auto;

  border-radius: 999px;

  background: #a9f04a;
}


/* ----------------------------------------------------------
   HERO — чёрная информационная карточка
   ---------------------------------------------------------- */

.actualization-hero__note {
  border-color: #111111;

  background: #111111;
  color: #ffffff;

  box-shadow:
    0 28px 70px rgba(17, 17, 17, 0.16);
}

.actualization-hero__note > span {
  background: #a9f04a;
  color: #111111;
}

.actualization-hero__note h2 {
  color: #ffffff;
}

.actualization-hero__note p {
  color: rgba(255, 255, 255, 0.72);
}


/* ----------------------------------------------------------
   Причины для проверки
   ---------------------------------------------------------- */

.actualization-reasons__grid article {
  position: relative;

  overflow: hidden;

  border-color: rgba(17, 17, 17, 0.12);

  background: #f8f5ef;

  transition:
    transform 180ms ease,
    border-color 180ms ease,
    box-shadow 180ms ease;
}

.actualization-reasons__grid article::before {
  content: "";

  position: absolute;

  top: 0;
  left: 28px;
  right: 28px;

  height: 4px;

  border-radius:
    0 0 999px 999px;

  background: #a9f04a;
}

.actualization-reasons__grid article > span {
  min-width: 40px;

  justify-content: center;

  background: #111111;
  color: #a9f04a;
}

.actualization-reasons__grid h3 {
  color: #111111;
}

@media (hover: hover) and (pointer: fine) {
  .actualization-reasons__grid article:hover {
    border-color: rgba(169, 240, 74, 0.95);

    box-shadow:
      0 18px 45px rgba(17, 17, 17, 0.07);
  }
}


/* ----------------------------------------------------------
   Периодичность — усиление ключевого срока
   ---------------------------------------------------------- */

.actualization-period {
  transition:
    background-color 180ms ease,
    box-shadow 180ms ease;
}

.actualization-period__number {
  display: inline-flex;
  align-items: center;
  justify-content: center;

  width: 36px;
  height: 28px;

  border-radius: 999px;

  background: #111111;
  color: #a9f04a;

  font-size: .69rem;
}

.actualization-period > strong {
  position: relative;

  display: inline-flex;
  align-items: center;
  gap: 9px;

  width: fit-content;
  max-width: 210px;

  padding: 9px 14px 9px 12px;

  border: 1px solid rgba(169, 240, 74, 0.95);
  border-radius: 14px;

  background: rgba(169, 240, 74, 0.14);
  color: #111111;

  font-size: .82rem;
  font-weight: 800;
  line-height: 1.28;

  box-shadow:
    inset 0 0 0 1px rgba(255, 255, 255, 0.28);
}

.actualization-period > strong::before {
  content: "";

  width: 8px;
  height: 8px;

  flex: 0 0 auto;

  border-radius: 50%;

  background: #a9f04a;

  box-shadow:
    0 0 0 4px rgba(169, 240, 74, 0.16);
}

@media (hover: hover) and (pointer: fine) {
  .actualization-period:hover {
    background: rgba(255, 255, 255, 0.58);

    box-shadow:
      inset 4px 0 0 #a9f04a;
  }
}


/* ----------------------------------------------------------
   Порядок работы — другой характер карточек
   ---------------------------------------------------------- */

.actualization-work__grid article {
  border-color: rgba(17, 17, 17, 0.14);

  background: #ffffff;

  box-shadow:
    0 12px 32px rgba(17, 17, 17, 0.045);

  transition:
    border-color 180ms ease,
    box-shadow 180ms ease;
}

.actualization-work__grid article > span {
  min-width: 40px;

  justify-content: center;

  background: #111111;
  color: #a9f04a;
}

.actualization-work__grid h3 {
  color: #111111;
}

@media (hover: hover) and (pointer: fine) {
  .actualization-work__grid article:hover {
    border-color: #a9f04a;

    box-shadow:
      0 20px 48px rgba(17, 17, 17, 0.075);
  }
}


/* ----------------------------------------------------------
   Документы — чёрная панель слева
   ---------------------------------------------------------- */

.actualization-documents__grid > div:first-child {
  padding:
    clamp(30px, 3.5vw, 48px);

  border-radius: 30px;

  background: #111111;
  color: #ffffff;

  box-shadow:
    0 28px 65px rgba(17, 17, 17, 0.12);
}

.actualization-documents__grid > div:first-child .actualization-kicker {
  color: #ffffff;
}

.actualization-documents__grid > div:first-child h2 {
  color: #ffffff;
}

.actualization-documents__grid > div:first-child > p:last-child {
  color: rgba(255, 255, 255, 0.68);
}

.actualization-documents li span {
  display: inline-flex;
  align-items: center;
  justify-content: center;

  width: 34px;
  height: 26px;

  border-radius: 999px;

  background: #a9f04a;
  color: #111111;

  font-size: .68rem;
  font-weight: 900;
}

.actualization-documents li {
  transition:
    padding-left 180ms ease,
    background-color 180ms ease;
}

@media (hover: hover) and (pointer: fine) {
  .actualization-documents li:hover {
    padding-left: 12px;

    background:
      rgba(255, 255, 255, 0.44);
  }
}


/* ----------------------------------------------------------
   FAQ
   ---------------------------------------------------------- */

.actualization-faq summary::after {
  display: grid;
  place-items: center;

  width: 32px;
  height: 32px;

  top: 50%;
  right: 0;

  border-radius: 50%;

  background: #111111;
  color: #a9f04a;

  font-size: 1.15rem;
  font-weight: 500;
  line-height: 1;

  transform: translateY(-50%);
}


/* ----------------------------------------------------------
   Mobile
   ---------------------------------------------------------- */

@media (max-width: 620px) {
  .actualization-kicker::before {
    width: 18px;
  }

  .actualization-hero__note {
    border-radius: 24px;
  }

  .actualization-reasons__grid article::before {
    left: 24px;
    right: 24px;
  }

  .actualization-period > strong {
    margin-top: 2px;
  }

  .actualization-documents__grid > div:first-child {
    padding: 26px;

    border-radius: 24px;
  }

  .actualization-faq summary {
    padding-right: 48px;
  }
}


/* ==========================================================
   /Actualization contrast redesign
   ========================================================== */


/* ==========================================================
   Actualization badges + FAQ polish
   ========================================================== */


/* ----------------------------------------------------------
   Периодичность — аккуратные информационные бейджи
   ---------------------------------------------------------- */

.actualization-period > strong {
  position: relative;

  display: inline-flex;
  align-items: center;
  gap: 9px;

  width: fit-content;
  max-width: 210px;

  padding: 9px 14px 9px 12px;

  border: 1px solid rgba(169, 240, 74, 0.95);
  border-radius: 14px;

  background: rgba(169, 240, 74, 0.14);
  color: #111111;

  font-size: .82rem;
  font-weight: 800;
  line-height: 1.28;

  box-shadow:
    inset 0 0 0 1px rgba(255, 255, 255, 0.28);
}

.actualization-period > strong::before {
  content: "";

  width: 8px;
  height: 8px;

  flex: 0 0 auto;

  border-radius: 50%;

  background: #a9f04a;

  box-shadow:
    0 0 0 4px rgba(169, 240, 74, 0.16);
}


/* ----------------------------------------------------------
   FAQ — строгое выравнивание + / −
   ---------------------------------------------------------- */

.actualization-faq summary::after {
  display: grid;
  place-items: center;

  width: 32px;
  height: 32px;

  top: 50%;
  right: 0;

  border-radius: 50%;

  background: #111111;
  color: #a9f04a;

  font-size: 1.15rem;
  font-weight: 500;
  line-height: 1;

  transform: translateY(-50%);
}


/* Mobile */

@media (max-width: 620px) {
  .actualization-period > strong {
    max-width: 190px;

    padding: 8px 12px 8px 11px;

    font-size: .78rem;
  }

  .actualization-faq summary::after {
    width: 30px;
    height: 30px;

    font-size: 1.05rem;
  }
}


/* ==========================================================
   /Actualization badges + FAQ polish
   ========================================================== */


/* ==========================================================
   FAQ geometric plus / minus
   ========================================================== */

.actualization-faq summary::after {
  content: "";

  position: absolute;

  top: 50%;
  right: 0;

  width: 32px;
  height: 32px;

  padding: 0;

  border-radius: 50%;

  background:
    linear-gradient(
      #a9f04a,
      #a9f04a
    )
    center / 10px 2px
    no-repeat,

    linear-gradient(
      #a9f04a,
      #a9f04a
    )
    center / 2px 10px
    no-repeat,

    #111111;

  transform: translateY(-50%);
}


/* Открытый пункт — только горизонтальная линия */

.actualization-faq details[open] summary::after {
  content: "";

  background:
    linear-gradient(
      #a9f04a,
      #a9f04a
    )
    center / 10px 2px
    no-repeat,

    #111111;
}


@media (max-width: 620px) {
  .actualization-faq summary::after {
    width: 30px;
    height: 30px;

    background:
      linear-gradient(
        #a9f04a,
        #a9f04a
      )
      center / 9px 2px
      no-repeat,

      linear-gradient(
        #a9f04a,
        #a9f04a
      )
      center / 2px 9px
      no-repeat,

      #111111;
  }

  .actualization-faq details[open] summary::after {
    background:
      linear-gradient(
        #a9f04a,
        #a9f04a
      )
      center / 9px 2px
      no-repeat,

      #111111;
  }
}

/* ==========================================================
   /FAQ geometric plus / minus
   ========================================================== */
