

/* Start:/local/templates/Spoda/style.css?178819009073811*/

/* cyrillic */

/* latin-ext */

/* latin */

.no-scroll {
  overflow: hidden;
}
html,
body {
  font-family: "Onest", "Segoe UI", Roboto, Arial, sans-serif;
}
html,
body {
  margin: 0;
  padding: 0;
  background: #f0f0f6;
}
html,
body,
div,
span,
applet,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
a,
abbr,
acronym,
address,
big,
cite,
code,
del,
dfn,
em,
img,
ins,
kbd,
q,
s,
samp,
small,
strike,
strong,
sub,
sup,
tt,
var,
b,
u,
i,
center,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
canvas,
details,
embed,
figure,
figcaption,
footer,
header,
hgroup,
menu,
nav,
output,
ruby,
section,
summary,
time,
mark,
audio,
video {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  vertical-align: baseline;
}
article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section {
  display: block;
}
html {
  height: 100%;
  font-size: 0.833vw;
}
@media (max-width: 64rem) {

  html {
    font-size: 2.083vw;
  }

}

@media (max-width: 33.75rem) {

  html {
    font-size: 4.267vw;
  }

}

body {
  line-height: 1;
}
ol,
ul {
  list-style: none;
}
blockquote,
q {
  quotes: none;
}
blockquote:before,
blockquote:after,
q:before,
q:after {
  content: "";
  content: none;
}
table {
  border-collapse: collapse;
  border-spacing: 0;
}
h3,
ul {
  margin: 0;
}
html {
  overflow-x: clip;
}

:root {
  --sidebar-w: 15.625rem;
  --col-gap: 5.9375rem;
  --pad-r-desktop: 6.375rem;
  --pad-r-tablet: 1.5rem;
  --pad-r-mobile: 1rem;
  --pad-l-mobile: 1rem;
  --radius-16: 1rem;
  --gap-24: 1.5rem;
  --gap-16: 1rem;
  --gap-8: 0.5rem;
  --btn-bg: #e6e6ec;
  --txt-60: rgba(0, 4, 19, 0.6);
  --card-bg: #f0f0f6;
  --font-family: "Onest", "Segoe UI", Roboto, Arial, sans-serif;
}

:root {
  --chernyy-osnovnoy: #000413;
  --servyy-osnovnoy: #e6e6ec;
  --chernyy-600: rgba(0, 4, 19, 0.6);
  --belyy: #fff;
  --cvet-brenda: #332d8d;
  --brendovyy-krasnyy: #ef3122;
  --bg: #f0f0f6;
  --dlya-pochty-i-telefona: #0739f3;
}

:root {
  --font-family: "Onest", sans-serif;
  --second-family: "Inter", sans-serif;
  --third-family: "SF Pro", sans-serif;
  --font3: "Roboto", sans-serif;
  --font4: "Segoe Fluent Icons", sans-serif;
  --font5: "Open Sans", sans-serif;
}

.page-grid {
  display: grid;
  grid-template-columns: var(--sidebar-w) minmax(0, 1fr);
  column-gap: var(--col-gap);
  min-height: 100svh;
  background: var(--card-bg);
}

.page-main {
  display: grid;
  grid-template-rows: auto 1fr;
  padding-right: var(--pad-r-desktop);
  padding-left: 6.375rem;
  box-sizing: border-box;
}

.hdr {
  position: relative;
  z-index: 20;
}

.hdr__bar {
  display: grid;
  grid-auto-flow: column;
  align-items: center;
  justify-content: space-between;
  gap: var(--gap-24);
  padding-top: 1.5rem;
  padding-bottom: 1.5rem;
}

.sidenav__logo {
  display: none;
}
.hdr__logo {
  display: none;
}
.hdr__menu {
  display: none;
}
.hdr__cabinet {
  display: inline-grid;
  border: none;
}
.hdr__report {
  display: inline-grid;
}

.btn {
  display: inline-grid;
  grid-auto-flow: column;
  align-items: center;
  justify-content: center;
  gap: var(--gap-8);
  padding: 1rem 0.75rem;
  border-radius: var(--radius-16);
  background: var(--btn-bg);
  color: var(--txt-60);
  border: 0;
  line-height: 1;
  white-space: nowrap;
  cursor: pointer;
}

.btn,
.hdr__cabinet,
.hdr__menu {
  font-size: 1.125rem;
  font-weight: 500;
}
.backdrop {
  position: fixed;
  inset: 0;
  background: rgba(0, 0, 0, 0.32);
  z-index: 39;
}

.hdr__report .btn__plus {
  font-weight: 500;
  stroke-width: 0.0938rem;
}

.hdr__cabinet {
  display: inline-grid;
  grid-auto-flow: column;
  align-items: center;
  gap: var(--gap-8);
  padding: 1rem 0.75rem;
  border-radius: var(--radius-16);
  background: var(--btn-bg);
  color: var(--txt-60);
  font-family: var(--font-family);
  text-decoration: none;
  line-height: 1;
  cursor: pointer;
}

.hdr__cabinet .icon-user {
  width: 1.5rem;
  height: 1.5rem;
  display: inline-block;
  position: relative;
}

.pill {
  display: inline-grid;
  align-items: center;
  justify-content: center;
  padding: 0.125rem 0.25rem 0.1875rem;
  border-radius: 0.375rem;
  background: rgba(0, 4, 19, 0.6);
  color: #fff;
  font-weight: 500;
  font-size: 0.75rem;
  line-height: 96%;
  transform: translateY(-0.5625rem);
}

.hdr__burger,
.hdr__menu {
  display: none;
}

.hdr__spacer {
  display: none;
}

@media (max-width: 64rem) {

  .page-grid {
    column-gap: var(--gap-24);
  }
  .page-main {
    padding-right: var(--pad-r-tablet);
  }

  .hdr {
    position: sticky;
    top: 0;
    z-index: 100;
    background: #f0f0f6;
    -webkit-backdrop-filter: none;
    backdrop-filter: none;
  }

  .hdr__bar {
    background: transparent;
  }

  .hdr__bar {
    grid-template-columns: auto 1fr auto;
    gap: var(--gap-16);
    padding-top: 1rem;
    padding-bottom: 1rem;
  }

  .btn,
  .hdr__cabinet,
  .hdr__menu {
    font-size: 1rem;
  }

  .hdr__cabinet {
    display: none;
  }
  .hdr__menu {
    display: inline-grid;
    grid-auto-flow: column;
    align-items: center;
    gap: var(--gap-8);
    padding: 0.75rem 1rem;
    border-radius: var(--radius-16);
    background: var(--btn-bg);
    color: var(--txt-60);
  }

  .hdr__bar {
    column-gap: 4.2756rem;
  }

}

@media (max-width: 33.75rem) {

  .page-grid {
    grid-template-columns: 1fr;
    column-gap: 0;
  }
  .page-main {
    padding-right: var(--pad-r-mobile);
    padding-left: var(--pad-l-mobile);
  }

  .hdr {
    position: sticky;
    top: 0;
  }

  .hdr__report {
    display: none;
  }
  .hdr__menu {
    display: inline-grid;
  }

}

.hdr__cabinet,
.hdr__report,
.hdr__menu {
  transition: background-color 0.2s ease, color 0.2s ease, filter 0.2s ease;
}
svg.ico.ico--stroke {
  width: 1.5rem;
  height: 1.5rem;
}
.arrow_right {
  width: 1.125rem;
  height: 1.125rem;
}
.links-web {
  width: 1.25rem;
  height: 1.25rem;
}
.links-web1 {
  width: 1.0625rem;
  height: 1.0625rem;
}

.web_links {
  width: 1.5rem;
  height: 1.5rem;
}

.web-links1 {
  width: 1.5rem;
  height: 1.25rem;
}

@media (hover: hover) and (pointer: fine) {

  .hdr__cabinet:hover,
  .hdr__report:hover,
  .hdr__menu:hover,
  .mnav__actions .hdr__cabinet:hover,
  .mnav__actions .hdr__report:hover {
    background: #fff;
    color: inherit;
    filter: brightness(0.97);
  }

}

.hdr__cabinet:active,
.hdr__cabinet:focus-visible,
.mnav__actions .hdr__cabinet:active,
.mnav__actions .hdr__cabinet:focus-visible,
.hdr__report:active,
.hdr__report:focus-visible,
.mnav__actions .hdr__report:active,
.mnav__actions .hdr__report:focus-visible,
.hdr__menu:active,
.hdr__menu:focus-visible {
  background: #332d8d;
  color: #fff;
}

.hdr__cabinet:active .pill,
.hdr__cabinet:focus-visible .pill,
.mnav__actions .hdr__cabinet:active .pill,
.mnav__actions .hdr__cabinet:focus-visible .pill {
  background: #fff;
  color: #332d8d;
}

.icon-user::before,
.icon-user::after {
  content: "";
  position: absolute;
  inset: 0;
}
.icon-user::before {
  box-sizing: border-box;
  border: 0.125rem solid var(--txt-60);
  border-radius: 0.375rem;
}
.icon-user::after {
  left: 0.3125rem;
  right: 0.3125rem;
  top: 0.3125rem;
  bottom: 0.3125rem;
  background: linear-gradient(currentColor, currentColor) left 0.5rem
      center/.75rem 0.125rem no-repeat,
    linear-gradient(currentColor, currentColor) right 0.5rem center/.5rem
      0.125rem no-repeat;
  transform: translateX(0.125rem);
}

.hdr__burger .burger__icon,
.hdr__menu::after {
  content: "";
  display: inline-block;
  width: 1.375rem;
  height: 0.875rem;
  background: linear-gradient(currentColor, currentColor) 0 0/100% 0.125rem
      no-repeat,
    linear-gradient(currentColor, currentColor) 0 50%/100% 0.125rem no-repeat,
    linear-gradient(currentColor, currentColor) 0 100%/100% 0.125rem no-repeat;
  color: var(--txt-60);
}

.home-top {
  position: relative;
  display: grid;
  grid-auto-rows: min-content;
  gap: 0;
  width: 100%;
}

.home-top__photo {
  top: 0;
  z-index: 2;
  display: grid;
  overflow: hidden;
}
.home-top__photo img {
  display: block;
  width: 100%;
  height: auto;
  will-change: transform;
}

.home-top__panel {
  position: relative;
  z-index: 1;
  background: #332d8d;
  color: #fff;
}

.home-top__inner {
  display: grid;
  grid-template-columns: 1fr 1.74fr 1fr;
  align-items: end;
  gap: 1.5rem;
  padding: 4rem 2rem 2rem;
  box-sizing: border-box;
  max-width: 100%;
}

.home-top__left {
  display: grid;
  grid-auto-flow: row;
  gap: 0.25rem;
  justify-content: start;
  align-self: end;
}
.home-top__left-item {
  display: inline-grid;
  grid-auto-flow: column;
  align-items: center;
  gap: 0.625rem;
  text-decoration: none;
  color: #fff;
  font-weight: 500;
  font-size: 1.125rem;
  line-height: 1.5;
  letter-spacing: -0.02em;
}

.home-top__title {
  font-family: var(--font-family);
  font-weight: 500;
  font-size: 1.5rem;
  line-height: 150%;
  letter-spacing: -0.02em;
  text-transform: uppercase;
  text-align: center;
  color: var(--belyy);
  margin: 0;
}

.home-top__tg,
.home-top__vk,
.home-top__rutube {
  display: grid;
  grid-template-columns: 1.5rem auto;
  align-items: center;
  gap: 0.625rem;
  text-decoration: none;
  color: #fff;
  font-weight: 500;
  font-size: 1.125rem;
  line-height: 1.5;
  letter-spacing: -0.02em;
}

.home-top__social {
  display: grid;
  gap: 0.5rem;
  justify-self: end;
  align-self: end;
}

@media (max-width: 64rem) {

  .home-top__inner {
    grid-template-columns: 1fr;
    justify-items: center;
    gap: 1.5rem;
    padding: 2.75rem 1.5rem 1.5rem;
  }
  .home-top__left {
    justify-content: center;
    text-align: center;
  }
  .home-top__tg,
  .home-top__vk,
  .home-top__rutube {
    justify-self: center;
  }

}

@media (hover: hover) {

  .home-top__left-item:hover,
  .home-top__tg:hover,
  .home-top__vk:hover,
  .home-top__rutube:hover {
    opacity: 0.9;
  }

}

@media (max-width: 33.75rem) {

  .home-top__photo {
    position: static;
  }

}

.sidenav {
  position: sticky;
  top: 0;
  height: 100svh;
  display: grid;
  grid-template-rows: auto 1fr auto;
  padding-left: 2rem;
  padding-top: 1.5rem;
  box-sizing: border-box;
  gap: 4rem;
  background: #f0f0f6;
  z-index: 1;
}
.sidenav__nav {
  display: block;
}
.sidenav__list {
  list-style: none;
  padding: 0;
  display: grid;
  gap: 0.5rem;
}

.sidenav__bottom {
  display: grid;
  gap: 0.75rem;
  padding-bottom: 2.75rem;
}
.snb__contacts {
  display: grid;
  gap: 0.375rem;
  color: #6b7280;
}
.snb__row {
  color: #6b7280;
  text-decoration: none;
  font-family: var(--font-family);
  font-weight: 500;
  font-size: 1rem;
  line-height: 150%;
  letter-spacing: -0.02em;
  text-decoration: none;
}
.snb__links {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}
.snav.snav--external {
  padding: 0;
}
.snb__link {
  font-family: var(--font-family);
  font-weight: 500;
  font-size: 1rem;
  text-wrap: nowrap;
  line-height: 150%;
  letter-spacing: -0.02em;
  text-transform: uppercase;
  color: #332d8d;
  text-decoration: none;
  text-transform: none;
}
.snav--external .ico {
  width: 1.75rem;
  height: 1.75rem;
  flex-shrink: 0;
  display: block;
}

.snav {
  padding: 1rem 1rem 1rem 0.75rem;
  border-radius: 1rem;
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: 0.75rem;
  text-decoration: none;
  color: #111;
  background: transparent;
  transition: background-color 0.3s ease-out, color 0.3s ease-out;
}

.ico,
.arr {
  width: 1.25rem;
  height: 1.5rem;
}
.arr {
  width: 1rem;
  height: 1rem;
  opacity: 0.5;
  transition: opacity 0.3s ease-out, transform 0.3s ease-out;
}

.snav .ico,
.snav .arr {
  overflow: visible;
}
:root {
  --icon-24: 1.5rem;
}

.snav .ico,
.snav .arr {
  width: var(--icon-24);
  height: var(--icon-24);
  flex-shrink: 0;
}
.snav .ico *,
.snav .arr * {
  transition: fill 0.3s ease-out, stroke 0.3s ease-out, opacity 0.3s ease-out,
    transform 0.3s ease-out;
}

.btn-news__arr {
  width: 1.125rem;
  height: 1.125rem;
}

.nav-btn__ico {
  height: 1.375rem;
}
.new-ico {
  width: 2rem;
  height: 2rem;
}
@media (hover: hover) {

  .snav:hover {
    background: #e6e6ec;
  }
  .snav:hover .arr {
    opacity: 0.9;
    transform: translateX(0.125rem);
  }

}

:root {
  --tg-icon-size: 1.25rem; /* 20px */
  --ru-icon-size: 1.0625rem; /* 17px */
}

/* Телеграм */
.links-web.ico {
  width: var(--tg-icon-size);
  height: var(--tg-icon-size);
  display: block;
  flex-shrink: 0;
}

/* Rutube */
.links-web1.ico {
  width: var(--ru-icon-size);
  height: var(--ru-icon-size);
  display: block;
  flex-shrink: 0;
}
.snav--external {
  padding: 0;
  display: grid;
  grid-template-columns: 1.25rem 1fr; /* фиксированная колонка под иконку */
  align-items: center;
  gap: 0.75rem;
}

@media (max-width: 64rem) {

  .sidenav {
    padding: 1.25rem;
    gap: 1.25rem;
  }
  .snav__txt {
    font-size: 0.9375rem;
  }
  .snav {
    max-width: 11.125rem;
    padding: 1rem 1rem 1rem 0.75rem;
  }

}

@media (max-width: 33.75rem) {

  .sidenav {
    padding: 1rem;
    gap: 1rem;
  }
  .snav__txt {
    font-size: 0.875rem;
  }

}

.hdr__logo {
  display: none;
}

.sidenav .sidenav__logo {
  display: grid;
  grid-auto-flow: column;
  align-items: center;
  gap: 0.5rem;
}

.sidenav__logo img {
  display: block;
  mix-blend-mode: multiply;
}
.hdr__logo img {
  display: block;
  mix-blend-mode: multiply;
}
@media (max-width: 64rem) {

  .hdr__logo img {
    width: 4.25rem;
    height: 4.25rem;
  }

}

@media (max-width: 33.75rem) {

  .hdr__logo img {
    width: 3.75rem;
    height: 4rem;
  }

}

:root {
  --footer-bg: #332d8d;
  --footer-pad-l: 2rem;
  --footer-pad-r: 6.375rem;
  --footer-pad-y: 4rem;
  --footer-col-gap: 4rem;
  --footer-row-gap: 6.375rem;
  --footer-title-gap: 1rem;
  --footer-item-gap: 0.625rem;
  --footer-left-gap: 2.75rem;
  --footer-brand-gap: 1.5rem;
}

.site-footer {
  background: var(--footer-bg);
  color: #fff;
}

.site-footer__inner {
  display: grid;
  grid-template-columns: 1fr minmax(0, 2fr);
  column-gap: var(--footer-col-gap);
  row-gap: var(--footer-row-gap);
  padding: var(--footer-pad-y) var(--footer-pad-r) var(--footer-pad-y)
    var(--footer-pad-l);
  box-sizing: border-box;
}

.sf-left {
  display: grid;
  grid-auto-rows: min-content;
  gap: var(--footer-left-gap);
}

.sf-contacts {
  display: grid;
  gap: var(--footer-left-gap);
}

.sf-phone,
.sf-mail {
  display: block;
  font-weight: 800;
  line-height: 1.1;
  text-decoration: none;
  color: #fff;
}
.sf-phone {
  font-size: 3rem;
  letter-spacing: 0.01em;
}
.sf-mail {
  font-size: 2.5rem;
  text-transform: uppercase;
}

.sf-addr {
  margin: 0;
  font-size: 1rem;
  line-height: 1.4;
  opacity: 0.9;
}

.sf-btns {
  display: grid;
  grid-auto-flow: column;
  gap: 0.75rem;
  width: max-content;
}

.sf-brand {
  display: grid;
  grid-template-columns: auto 1fr;
  align-items: center;
  gap: var(--footer-brand-gap);
  padding-top: 11rem;
}
.sf-logo {
  display: block;
  width: 10rem;
  height: auto;
}
.sf-copy {
  display: grid;
  gap: 0.5rem;
}
.sf-brand-title {
  font-weight: 600;
  opacity: 0.95;
}
.sf-brand-name {
  font-weight: 800;
  font-size: 2.5rem;
  letter-spacing: 0.1em;
}
.sf-legal {
  font-size: 0.875rem;
  line-height: 1.4;
  opacity: 0.9;
}

.sf-right {
  display: grid;
  grid-template-columns: repeat(2, minmax(13.75rem, max-content));
  column-gap: var(--footer-col-gap);
  row-gap: var(--footer-row-gap);
  justify-content: end;
  margin-left: auto;
}

/* Раскладка по колонкам через order:
   1,3,5 -&gt; левая колонка; 2,4 -&gt; правая колонка */
.sf-col--nav {
  order: 1;
}
.sf-col--fed {
  order: 2;
}
.sf-col--sport {
  order: 3;
}
.sf-col--anti {
  order: 4;
}
.sf-col--docs {
  order: 5;
}

@media (max-width: 64rem) {

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

}

@media (max-width: 33.75rem) {

  .sf-right {
    grid-template-columns: 1fr;
  }

}

.sf-col {
  display: grid;
  gap: var(--footer-title-gap);
}
.sf-col {
  min-width: 20rem;
}
.sf-col__title {
  font-size: 1.125rem;
  font-weight: 700;
}
.sf-list {
  list-style: none;
  padding: 0;
  display: grid;
  gap: var(--footer-item-gap);
}
.sf-list a {
  color: #fff;
  text-decoration: none;
  font-weight: 500;
  opacity: 0.95;
}
@media (hover: hover) {

  .sf-list a:hover {
    opacity: 1;
    text-decoration: underline;
  }

}

.site-footer .btn {
  display: inline-grid;
  grid-auto-flow: column;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  padding: 0.75rem 1rem;
  border-radius: 1rem;
  background: #e6e6ec;
  color: rgba(0, 4, 19, 0.85);
  text-decoration: none;
  white-space: nowrap;
}

.site-footer__pattern {
  display: block;
  box-sizing: border-box;
}
.site-footer__pattern img {
  display: block;
  width: 100%;
  height: auto;
}

@media (max-width: 64rem) {

  .sf-right {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  .sf-phone {
    font-size: 2.5rem;
  }
  .sf-mail {
    font-size: 2rem;
  }

}

@media (max-width: 33.75rem) {

  .sf-right {
    grid-template-columns: 1fr;
  }
  .sf-phone {
    font-size: 2.125rem;
  }
  .sf-mail {
    font-size: 1.625rem;
  }

}

.site-footer {
  background: #332d8d;
  color: #fff;
}
.site-footer__in {
  display: grid;
  grid-template-columns: minmax(17.5rem, 26.25rem) 1fr;
  column-gap: 4rem;
  padding: 4rem var(--pad-r-desktop) 4rem var(--sidenav-pad-left);
  box-sizing: border-box;
}
.fleft {
  display: grid;
  align-content: start;
}
.fleft__stack {
  display: grid;
  row-gap: 2.75rem;
}
.fleft__big {
  font-weight: 800;
  font-size: 2.75rem;
  line-height: 1.1;
}
.fleft__mail {
  text-decoration: none;
  color: #fff;
}
.fleft__addr {
  opacity: 0.9;
}
.fleft__btns {
  display: grid;
  grid-auto-flow: column;
  gap: 0.75rem;
  width: max-content;
}

.fleft__air {
  height: 11rem;
}
.fleft__logo img {
  display: block;
  max-width: 22.5rem;
  height: auto;
}

.fright {
  display: grid;
  row-gap: 4rem;
}
.ft-row {
  display: grid;
  gap: 4rem;
}
.ft-row--top {
  grid-template-columns: repeat(2, minmax(13.75rem, 1fr));
}
.ft-row--bottom {
  grid-template-columns: repeat(3, minmax(13.75rem, 1fr));
}

.ft-col {
  display: grid;
  align-content: start;
  row-gap: 1rem;
}
.ft-col__title {
  font-weight: 700;
  font-size: 1.25rem;
}
.ft-col__list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: grid;
  row-gap: 0.625rem;
}
.ft-col__list a {
  color: #fff;
  text-decoration: none;
  opacity: 0.95;
}
.ft-col__list a:hover {
  opacity: 1;
}

.site-footer__pattern img {
  display: block;
  width: 100%;
  height: auto;
}

.news-single {
  display: grid;
  row-gap: 2rem;
}
.ns-back {
  display: grid;
}
.ns-back__link {
  display: inline-grid;
  grid-auto-flow: column;
  align-items: center;
  gap: 0.5rem;
  padding: 0.625rem 0.875rem;
  border-radius: 62.4375rem;
  background: #e6e6ec;
  color: #0b0e19;
  text-decoration: none;
  width: max-content;
}
.ns-back__arr {
  width: 0.875rem;
  height: 0.875rem;
  background: linear-gradient(currentColor, currentColor);
  clip-path: polygon(
    30% 50%,
    70% 20%,
    70% 35%,
    100% 35%,
    100% 65%,
    70% 65%,
    70% 80%
  );
}
.ns-head {
  display: grid;
  row-gap: 0.875rem;
}
.ns-title {
  margin: 0;
  font-weight: 800;
  font-size: 2.625rem;
  line-height: 1.15;
  color: #0b0e19;
}
.ns-meta {
  display: grid;
  grid-auto-flow: column;
  justify-content: start;
  align-items: center;
  gap: 1rem;
}
.ns-date {
  color: #6b7280;
  font-size: 0.875rem;
}
.ns-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  list-style: none;
  padding: 0;
}

.ns-media {
  display: grid;
  row-gap: 0.75rem;
}
.ns-cover {
  display: grid;
  overflow: hidden;
  border-radius: 1rem;
}
.ns-cover img {
  display: block;
  width: 100%;
  height: auto;
}
.ns-thumbs {
  display: grid;
  grid-template-columns: repeat(7, minmax(0, 1fr));
  gap: 0.5rem;
}
.ns-thumb {
  display: grid;
  padding: 0;
  border: 0;
  border-radius: 0.75rem;
  overflow: hidden;
  background: #fff;
  cursor: pointer;
}
.ns-thumb img {
  display: block;
  width: 100%;
  height: auto;
}

.ns-lead {
  display: grid;
  row-gap: 0.75rem;
}
.ns-lead p {
  margin: 0;
  font-size: 1rem;
  line-height: 1.6;
  color: #111827;
}

.ns-callout {
  display: grid;
  row-gap: 0.375rem;
}
.ns-link {
  display: inline-grid;
  grid-auto-flow: column;
  align-items: center;
  gap: 0.5rem;
  color: #332d8d;
  text-decoration: none;
  width: max-content;
}
.ns-schedule {
  font-size: 0.875rem;
  color: #6b7280;
}

.ns-quote {
  display: grid;
}
.ns-quote__box {
  display: grid;
  row-gap: 0.75rem;
  padding: 1.25rem;
  border-radius: 1rem;
  background: #e6e6ec;
  color: #0b0e19;
}
.ns-quote__box p {
  margin: 0;
  font-size: 1.125rem;
  line-height: 1.5;
}
.ns-quote__box cite {
  justify-self: end;
  color: #6b7280;
  font-style: normal;
  font-size: 0.875rem;
}

.ns-richtext {
  display: grid;
  row-gap: 0.75rem;
}
.ns-richtext h1,
.ns-richtext h2,
.ns-richtext h3 {
  margin: 0;
}
.ns-richtext h1 {
  font-size: 2.25rem;
  font-weight: 800;
}
.ns-richtext h2 {
  font-size: 1.75rem;
  font-weight: 700;
}
.ns-richtext h3 {
  font-size: 1.375rem;
  font-weight: 700;
}
.ns-richtext p,
.ns-richtext ul,
.ns-richtext ol {
  margin: 0;
}
.ns-richtext ul,
.ns-richtext ol {
  display: grid;
  row-gap: 0.5rem;
  padding-left: 1.125rem;
}

.ns-table {
  display: grid;
  row-gap: 0.75rem;
}
.ns-table__title {
  margin: 0;
  font-weight: 700;
  font-size: 1.375rem;
}
.ns-table__grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0;
  border-top: 0.0625rem solid #e6e6ec;
}
.ns-th,
.ns-td {
  padding: 0.875rem 0;
  border-bottom: 0.0625rem solid #e6e6ec;
}
.ns-th {
  color: #6b7280;
  font-weight: 600;
}
.ns-td a {
  color: #332d8d;
  text-decoration: none;
}

.ns-docs {
  display: grid;
  row-gap: 0.75rem;
}
.ns-docs__title {
  margin: 0;
  font-weight: 700;
  font-size: 1.375rem;
}
.ns-docs__list {
  display: grid;
  gap: 0.625rem;
  list-style: none;
  padding: 0;
}
.ns-doc {
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: center;
  gap: 0.625rem;
  background: #fff;
  border-radius: 0.75rem;
  padding: 0.75rem 0.875rem;
}
.ns-doc__link {
  display: grid;
  grid-auto-flow: column;
  gap: 0.625rem;
  align-items: center;
  text-decoration: none;
  color: #0b0e19;
}
.ns-doc__ico {
  width: 1.25rem;
  height: 1.25rem;
  border-radius: 0.375rem;
  background: #e6e6ec;
}
.ns-doc__name {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.ns-doc__size {
  color: #6b7280;
  font-size: 0.875rem;
}

.ns-related {
  display: grid;
  row-gap: 1rem;
}
.ns-related__title {
  margin: 0;
  font-weight: 700;
  font-size: 1.375rem;
}
.ns-related__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1.5rem;
}
.ns-card {
  display: grid;
  grid-template-rows: auto 1fr;
  background: #fff;
  border-radius: 1rem;
  box-shadow: 0 0.375rem 1.5rem rgba(0, 0, 0, 0.06);
}
.ns-card__media {
  display: grid;
  overflow: hidden;
  border-top-left-radius: 1rem;
  border-top-right-radius: 1rem;
}
.ns-card__media img {
  display: block;
  width: 100%;
  height: auto;
}
.ns-card__body {
  display: grid;
  row-gap: 0.625rem;
  padding: 1rem;
}
.ns-card__tags {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  list-style: none;
  padding: 0;
}
.ns-card__title {
  margin: 0;
  font-weight: 700;
  font-size: 1.125rem;
}
.ns-card__title a {
  text-decoration: none;
  color: #0b0e19;
}
.ns-card__lead {
  margin: 0;
  color: #374151;
  font-size: 0.875rem;
  line-height: 1.5;
}
.ns-card__date {
  color: #6b7280;
  font-size: 0.875rem;
}

@media (max-width: 64rem) {

  .news-single {
    row-gap: 1.5rem;
  }
  .ns-title {
    font-size: 2.25rem;
  }
  .ns-thumbs {
    grid-template-columns: repeat(6, minmax(0, 1fr));
  }
  .ns-related__grid {
    grid-template-columns: 1fr;
    gap: 1.25rem;
  }

}

@media (max-width: 33.75rem) {

  .ns-title {
    font-size: 1.75rem;
  }
  .ns-meta {
    grid-auto-flow: row;
    justify-items: start;
    row-gap: 0.5rem;
  }
  .ns-thumbs {
    grid-template-columns: repeat(5, minmax(0, 1fr));
  }

}

@media (hover: hover) {

  .ns-back__link:hover {
    filter: brightness(0.97);
  }
  .ns-link:hover {
    text-decoration: underline;
  }
  .ns-card__title a:hover {
    opacity: 0.9;
  }

}

:root {
  --ft-bg: #332d8d;
  --ft-pad-x: 2rem;
  --ft-pad-r: 6.375rem;
  --ft-pad-y: 4rem;
  --ft-gap-col: 4rem;
  --ft-gap-row: 4rem;
  --ft-gap-stack: 2.75rem;
  --ft-gap-list: 0.625rem;
  --ft-gap-social: 0.75rem;
  --ft-col-narrow: 16rem;
  --ft-col-std: 20.875rem;
  --ft-nav-min: 13.75rem;
}

.ft {
  background: var(--ft-bg);
  color: #fff;
}
.ft p {
  margin: 0;
}

.ft__in {
  display: grid;
  grid-template-columns:
    42rem
    12rem
    minmax(1.25rem, 1fr)
    var(--ft-col-std)
    var(--ft-col-std);
  column-gap: var(--ft-gap-col);
  row-gap: var(--ft-gap-row);
  padding: var(--ft-pad-y) var(--ft-pad-r) var(--ft-pad-y) var(--ft-pad-x);
  box-sizing: border-box;
}

.ft__col {
  display: grid;
  align-content: start;
  gap: var(--ft-gap-stack);
}
.ft__col--spacer {
  display: block;
}

.ft__stack {
  display: grid;
  gap: var(--ft-gap-stack);
}
.ft__phone,
.ft__mail {
  display: block;
  color: #fff;
  text-decoration: none;
  font-weight: 800;
  line-height: 1.1;
}
.ft__phone {
  font-size: 4rem;
  letter-spacing: 0.01em;
}
.ft__mail {
  font-size: 4rem;
  text-transform: uppercase;
}
.ft__addr {
  font-family: var(--font-family);
  font-weight: 500;
  font-size: 1.125rem;
  line-height: 150%;
  letter-spacing: -0.02em;
  text-transform: uppercase;
  color: var(--belyy);
}
.ft__addr {
  opacity: 0.9;
}

.ft__social {
  display: grid;
  grid-auto-flow: column;
  gap: var(--ft-gap-social);
  width: max-content;
}
.ft-btn {
  display: inline-grid;
  grid-auto-flow: column;
  gap: 0.5rem;
  padding: 1rem;
  border-radius: 1rem;
  background: rgba(255, 255, 255, 0.05);
  text-decoration: none;
  white-space: nowrap;
  font-family: var(--font-family);
  font-weight: 400;
  font-size: 1rem;
  line-height: 96%;
  letter-spacing: -0.03em;
  text-align: center;
  color: var(--belyy);
}

.ft__logo {
  display: block;
  width: 10rem;
  height: auto;
}
.ft__legal {
  display: grid;
  gap: 0.5rem;
}
.ft__brand-title {
  font-weight: 600;
  opacity: 0.95;
}
.ft__brand-name {
  font-weight: 800;
  font-size: 2.5rem;
  letter-spacing: 0.1em;
}

.ft__title {
  margin: 0;
  font-weight: 700;
  font-size: 1.125rem;
  opacity: 0.6;
  line-height: 150%;
}
.ft__list {
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 0.625rem;
}
.ft__list li {
  margin: 0;
  line-height: 150%;
}
.ft__list a {
  color: #fff;
  text-decoration: none;
  opacity: 0.95;
  font-size: 1.125rem;
  line-height: 150%;
}
@media (hover: hover) {

  .ft__list a:hover {
    opacity: 1;
    text-decoration: underline;
  }

}

.ft__right {
  grid-column: 4/6;
  display: grid;
}

.ft__navgrid {
  display: grid;
  grid-template-columns: repeat(2, minmax(var(--ft-nav-min), 1fr));
  grid-auto-rows: min-content;
  column-gap: var(--ft-gap-col);
  row-gap: var(--ft-gap-row);
  justify-content: end;
  align-content: start;
}

.ft__legal-note {
  font-family: var(--font-family);
  font-weight: 400;
  font-size: 1.125rem;
  line-height: 150%;
  letter-spacing: -0.02em;
  opacity: 0.6;
  max-width: 25rem;
}
.ft__section {
  display: grid;
  gap: 1rem;
}

.ft__pattern img {
  display: block;
  width: 100%;
  height: auto;
}

@media (max-width: 64rem) {

  .ft__in {
    grid-template-columns:
      var(--ft-col-narrow)
      var(--ft-col-std)
      var(--ft-col-std);
  }
  .ft__col--spacer {
    display: none;
  }
  .ft__right {
    grid-column: 3/4;
  }
  .ft__navgrid {
    justify-content: start;
    grid-auto-columns: minmax(12.5rem, 1fr);
  }
  .ft__phone {
    font-size: 2.5rem;
  }
  .ft__mail {
    font-size: 2rem;
  }

}

@media (max-width: 64rem) {

  .ft__in {
    grid-template-columns: 1fr 1fr;
  }
  .ft__brand {
    grid-template-columns: 1fr;
  }
  .ft__right {
    grid-column: auto;
  }

}

@media (max-width: 33.75rem) {

  .ft__in {
    grid-template-columns: 1fr;
  }
  .ft__navgrid {
    grid-template-rows: repeat(2, min-content);
    grid-auto-columns: 1fr;
    justify-content: start;
  }
  .ft__phone {
    font-size: 2.125rem;
  }
  .ft__mail {
    font-size: 1.625rem;
  }

}

.ft__brand {
  display: grid;
  grid-template-columns: 1fr;
  row-gap: 1.5rem;
  justify-items: start;
}

.ft__logo {
  display: block;
  width: 16rem;
  height: auto;
}

.ft__in {
  align-items: stretch;
}

.ft__col--left-small {
  display: grid;
  grid-template-rows: auto 1fr auto;
  row-gap: var(--ft-gap-row);
}

.ft__stack {
  grid-row: 1;
}
.ft__brand {
  grid-row: 3;
}

.ft__brand {
  display: grid;
  grid-template-columns: 1fr;
  row-gap: 1.5rem;
  justify-items: start;
}

.ft__in {
  align-items: stretch;
}

.ft__col--left-small {
  display: grid;
  grid-template-rows: auto 1fr auto;
  row-gap: var(--ft-gap-row);
}

.ft__stack {
  grid-row: 1;
}

.ft__brand {
  grid-row: 3;
  display: grid;
  grid-template-columns: 1fr;
  row-gap: 1.5rem;
  justify-items: start;
  padding-top: 0;
}

.ft__logo {
  display: block;
  width: 125x;
  height: auto;
}
.ft__legal-note {
  margin: 0;
}

.ft__right {
  display: grid;
}
.ft__navgrid {
  align-self: end;
}

.ft__right {
  display: grid;
}

.ft__navgrid {
  align-self: stretch;
  height: 100%;
  display: grid;
  grid-template-columns: repeat(2, minmax(var(--ft-nav-min), 1fr));
  grid-auto-rows: min-content;

  align-content: space-between;

  column-gap: var(--ft-gap-col);
  row-gap: 4rem;
}

@media (max-width: 33.75rem) {

  .ft__right,
  .ft__col--left-main,
  .ft__col--spacer {
    display: none;
  }

  .ft__in {
    display: grid;
    grid-template-columns: 1fr;
    gap: var(--ft-gap-stack);
    padding: 1.5rem var(--ft-pad-x) var(--ft-pad-y);
    box-sizing: border-box;
  }

  .ft__col--left-small {
    display: grid;
    gap: var(--ft-gap-stack);
  }

  .ft__stack {
    display: grid;
    gap: 0.75rem;
  }

  .ft__phone,
  .ft__mail {
    display: block;
    font-weight: 800;
    font-size: 1.375rem;
    line-height: 1.2;
    text-transform: uppercase;
    color: #fff;
    text-decoration: none;
    word-break: break-word;
  }

  .ft__addr {
    font-size: 0.75rem;
    line-height: 1.45;
    color: #fff;
    opacity: 0.85;
  }

  .ft__social {
    display: grid;
    grid-auto-flow: column;
    gap: 0.5rem;
    justify-content: start;
  }

  .ft-btn {
    display: inline-grid;
    grid-auto-flow: column;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    padding: 0.625rem 0.75rem;
    border-radius: 0.75rem;
    text-decoration: none;
    white-space: nowrap;
  }

  .ft__brand {
    display: grid;
    gap: 0.5rem;
    align-content: start;
  }

  .ft__logo {
    width: 10rem;
    height: auto;
  }

  .ft__legal-note {
    font-size: 0.75rem;
    line-height: 1.4;
    color: var(--ft-muted);
  }

  .ft__pattern img {
    display: block;
    width: 100%;
    height: auto;
  }

}

@media (hover: hover) {

  .ft-btn:hover {
    filter: brightness(0.97);
  }
  .ft__right a:hover {
    opacity: 0.9;
  }

}

@media (max-width: 64rem) {

  .ft__right,
  .ft__col--left-main,
  .ft__col--spacer {
    display: none;
  }

  .ft__in {
    display: grid;
    grid-template-columns: 1fr;
    gap: 1.5rem;
    padding: 4rem 1.5rem 4rem;
    box-sizing: border-box;
  }

  .ft__col--left-small {
    display: grid;
    gap: 3.5rem;
  }

  .ft__stack {
    display: grid;
    gap: 0.75rem;
  }

  .ft__phone,
  .ft__mail {
    display: block;
    font-weight: 800;
    font-size: 1.75rem;
    line-height: 1.2;
    text-transform: uppercase;
    color: #fff;
    text-decoration: none;
    word-break: break-word;
  }

  .ft__addr {
    font-weight: 500;
    font-size: 1.125rem;
    line-height: 150%;
    letter-spacing: -0.02em;
    text-transform: uppercase;
    color: #fff;
    opacity: 0.9;
    max-width: 21.875rem;
  }

  .ft__social {
    display: grid;
    grid-auto-flow: column;
    gap: 0.625rem;
    justify-content: start;
  }

  .ft__brand {
    display: grid;
    gap: 0.625rem;
    align-content: start;
  }

  .ft__logo {
    width: 11.25rem;
    height: auto;
  }

  .ft__legal-note {
    font-weight: 400;
    font-size: 1.125rem;
    line-height: 150%;
    letter-spacing: -0.02em;
  }

  .ft__pattern img {
    display: block;
    width: 100%;
    height: auto;
  }

}

h3 {
  font-size: 0em;
  margin-block-start: 0em;
  margin-block-end: 0em;
  margin-inline-start: 0rem;
  margin-inline-end: 0rem;
}

.section-head {
  display: inline-flex;
  align-items: center;
  gap: 0.75rem;
}
.section-head__title {
  font-family: var(--font-family);
  font-weight: 500;
  font-size: 2.875rem;
  line-height: 110%;
  letter-spacing: -0.02em;
  color: #332d8d;
}

.section-head__title {
  display: inline-flex;
  align-items: flex-start;
  gap: 0.5rem;
  position: relative;
}

.news-header__rail {
  display: grid;
  justify-items: center;
  width: min(100%, 65.125rem);
}

.nav-btn {
  display: grid;
  place-items: center;
  width: 2rem;
  height: 2rem;
  border: 0;
  border-radius: 0.625rem;
  background: #e6e6ec;
  cursor: pointer;
}

.nav-btn--prev img {
  transform: none;
}

.rail-cell {
  flex: 0 0 calc(50% - 0.5rem);
  max-width: calc(50% - 0.5rem);
  display: flex;
  align-items: center;
}

.nav-btn {
  display: grid;
  place-items: center;
  width: 2rem;
  height: 2rem;
  border: 0;
  border-radius: 0.625rem;
  background: #e6e6ec;
  cursor: pointer;
}

[hidden] {
  display: none;
}

.report-wrap {
  position: relative;
}

.report-popup {
  position: absolute;
  top: calc(100% + 0.5rem);
  left: 0;
  z-index: 1500;
  background: #fff;
  padding: 1.5rem;
  border-radius: 2rem;
  box-shadow: 0 0.375rem 1.5rem rgba(0, 0, 0, 0.12);
  gap: 0.75rem;
  width: max-content;
  min-width: 20rem;
  animation: dropFade 0.3s ease-out;
}

.hdr__report[aria-expanded="true"] + .report-popup {
  display: grid;
}

.report-popup a {
  display: block;
  padding: 1rem 1rem 1rem 0.75rem;
  color: #050e2c;
  text-decoration: none;
  transition: background 0.2s ease;
  border-radius: 1rem;
}
@media (hover: hover) {

  .report-popup a:hover {
    background: #ececf1;
  }

}

@keyframes dropFade {
  from {
    opacity: 0;
    transform: translateY(-0.375rem);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
.hdr__report {
  transition: background-color 0.3s ease, color 0.3s ease, fill 0.3s ease;
}
@media (hover: hover) {

  .hdr__report:hover {
    background: #fff;
    filter: brightness(0.97);
  }

}

.hdr__report.is-active {
  background: #332d8d;
  color: #fff;
}
.hdr__report.is-active svg {
  stroke: #fff;
  fill: #fff;
}
.hdr__report.is-active .pill {
  background: #fff;
  color: #332d8d;
}
.hdr__report {
  transition: background-color 0.3s ease, color 0.3s ease, filter 0.3s ease;
}
@media (hover: hover) {

  .hdr__report:hover {
    background: #fff;
    filter: brightness(0.97);
  }
  .hdr__report[aria-expanded="true"]:hover {
    background: #332d8d;
    filter: none;
    color: #fff;
  }

}

.hdr__report:focus-visible {
  outline: 0;
  box-shadow: 0 0 0 0.1875rem rgba(51, 45, 141, 0.25);
}
.hdr__report[aria-expanded="true"] {
  background: #332d8d !important;
  color: #fff !important;
}
.hdr__report[aria-expanded="true"] .btn__plus,
.hdr__report[aria-expanded="true"] svg {
  fill: #fff;
  stroke: #fff;
}
.hdr__report[aria-expanded="true"] .pill {
  background: #fff;
  color: #332d8d;
}
.report-popup {
  position: absolute;
  z-index: 1201;
  margin-top: 0.5rem;
  min-width: 17.5rem;
  padding: 1rem;
  border-radius: 1.25rem;
  background: #fff;
  box-shadow: 0 0.75rem 2.5rem rgba(21, 20, 42, 0.14);
  opacity: 0;
  transform: translateY(0.5rem);
  pointer-events: none;
  transition: opacity 0.3s ease, transform 0.3s ease;
}
.report-popup.is-open {
  opacity: 1;
  transform: translateY(0);
  pointer-events: auto;
}
.report-link {
  display: block;
  padding: 1.125rem 1.25rem;
  border-radius: 0.875rem;
  text-decoration: none;
  color: inherit;
}
@media (hover: hover) {

  .report-link:hover {
    background: #f0f1f7;
  }

}

.all-news {
  font-family: var(--font-family);
  font-weight: 500;
  font-size: 1.25rem;
  line-height: 150%;
  letter-spacing: -0.02em;
  color: var(--chernyy-600);
}

@media (max-width: 64rem) and (min-width: 33.8125rem) {

  
  .all-news {
    font-weight: 500;
    font-size: 1.125rem;
    line-height: 150%;
    letter-spacing: -0.02em;
  }

}

.chip {
  display: inline-grid;
  align-items: center;
  justify-content: center;
  padding: 0.75rem 0.5rem;
  border-radius: 0.75rem;
  background: var(--servyy-osnovnoy);
  color: rgba(0, 4, 19, 0.6);
  font-size: 1rem;
}
.chip--muted {
  background: var(--servyy-osnovnoy);
  color: rgba(0, 4, 19, 0.6);
}

.btn-news {
  display: inline-grid;
  grid-auto-flow: column;
  align-items: center;
  gap: 0.5rem;
  border-radius: 1rem;
  padding: 1rem;
  background: #e6e6ec;
  color: var(--chernyy-osnovnoy);
  text-decoration: none;
  font-family: var(--font-family);
  font-weight: 500;
  font-size: 1.125rem;
  line-height: 96%;
  letter-spacing: -0.02em;
}
@media (max-width: 64rem) and (min-width: 33.8125rem) {

  .chip {
    font-size: 0.875rem;
  }
  

}

@media (hover: hover) {

  .sec-news__more:hover,
  .btn-news:hover {
    filter: brightness(0.97);
  }

}

.chip {
  border-radius: 0.75rem;
  padding: 0.75rem 0.5rem;
  background: var(--servyy-osnovnoy);
  font-family: var(--font-family);
  font-weight: 500;
  font-size: 1rem;
  line-height: 96%;
  letter-spacing: -0.02em;
  color: var(--chernyy-600);
}
.chip--muted {
  opacity: 0.9;
}

.partners-list {
  display: grid;
  grid-auto-flow: row;
  row-gap: 3rem;
}

.partners-list {
  display: grid;
  grid-auto-flow: row;
  row-gap: 3rem;
}

.snav-pop {
  position: fixed;
  z-index: 1000;
  inset: -624.9375rem auto auto -624.9375rem;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.3s ease;
}

.snav-pop.is-open {
  opacity: 1;
  pointer-events: auto;
}

.snav-pop__panel {
  background: #fff;
  border-radius: 2rem;
  padding: 1.5rem;
  box-shadow: 0 1.5rem 3.75rem rgba(17, 17, 44, 0.18);
  display: grid;
  gap: 0.5rem;
  width: max-content;
  max-width: 18.75rem;
  min-width: 11.25rem;

  max-height: min(80vh, 40rem);
  overflow: auto;
}

.snav-pop__link {
  display: block;
  padding: 1rem 1rem 1rem 0.75rem;
  border-radius: 1rem;
  text-decoration: none;
  color: #1c1c1c;
  font-weight: 500;
  font-size: 1.125rem;
  line-height: 120%;
  letter-spacing: -0.02em;
  white-space: normal;
  overflow-wrap: anywhere;
}
.snav-pop__link:hover {
  background: #f0f0f6;
}

.snav:has(.arr):hover {
  background: #ededf4;
}

.mnav__right {
  display: grid;
  align-content: start;
}
.mnav__sub {
  display: grid;
  gap: 0.5rem;
}
.mnav__sub a {
  display: block;
  max-width: 18.75rem;
  padding: 1.5rem;
  text-decoration: none;
  color: inherit;
}

.mnav[hidden] {
  display: none !important;
}

.mnav {
  position: fixed;
  inset: 0;
  z-index: 1200;
  display: none;
  background: var(--page-bg, #f2f3f8);
  overflow: auto;
}

.mnav.mnav--open {
  display: block;
}

.mnav__wrap {
  min-height: 100%;
  display: flex;
  flex-direction: column;
  padding: 1rem;
  padding-bottom: 4rem;
}
@media (min-width: 33.75rem) and (max-width: 64rem) {

  .mnav__wrap {
    padding-top: 1.875rem;
    padding: 1.5rem;
    padding-bottom: 4rem;
  }

}

.mnav__top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  position: sticky;
  top: 0;
  background: inherit;
  padding-bottom: 0.5rem;
  z-index: 1;
}

.mnav__grid {
  display: grid;
  gap: 1.5rem;
  grid-template-columns: 1fr;
  align-items: start;
}

@media (min-width: 48rem) {

  .mnav__grid {
    grid-template-columns: minmax(15rem, 26.25rem) 1fr;
  }

}

.mnav__left .sidenav__list {
  margin: 0;
  padding: 0;
}

.mnav__bottom {
  display: grid;
  gap: 0.75rem;
}
.mnav__contacts {
  display: grid;
  gap: 0.375rem;
}
.mnav__social {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem 0.75rem;
}

.mnav__right {
  display: grid;
  align-content: start;
}
.mnav__sub {
  display: grid;
  gap: 0.5rem;
  margin: 0;
  padding: 0;
  list-style: none;
}
.mnav__sub a {
  display: block;
  max-width: 18.75rem;
  padding: 1.5rem;
  text-decoration: none;
  color: inherit;
}

@media (max-width: 33.75rem) {

  .mnav__top {
    display: none;
  }
  .mnav__grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-template-areas:
      "actions close"
      "left    close";
    gap: 1.5rem;
    align-content: start;
  }
  .mnav__right {
    display: none;
  }

}

@media (min-width: 33.8125rem) and (max-width: 64rem) {

  .mnav__top {
    display: none;
  }
  .mnav__grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-template-areas:
      "actions close"
      "left    close";
    gap: 1.5rem;
    align-content: start;
  }
  .mnav__right {
    display: block;
  }

}

.mnav__actions {
  grid-area: actions;
  display: grid;
  gap: 0.625rem;
}
.mnav__left {
  grid-area: left;
}
.mnav__close-box {
  grid-area: close;
  display: grid;
  align-content: start;
  justify-items: end;
  position: sticky;
  top: 0;
  padding-top: 0.25rem;
}

.mnav__actions .hdr__cabinet,
.mnav__actions .btn.btn--light {
  display: inline-grid;
  grid-auto-flow: column;
  align-items: center;
  justify-content: center;
  text-decoration: none;
}

@media (max-width: 33.75rem) {

  .mnav__top {
    display: none;
  }

  .mnav__grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-template-areas:
      "close   close"
      "leftcol right";
    column-gap: 1.5rem;
    row-gap: 1.5rem;
    align-content: start;
  }

  .mnav__close-box {
    grid-area: close;
    display: flex;
    justify-content: flex-end;
    align-items: flex-start;
    position: sticky;
    top: 0;
  }

  .mnav__leftcol {
    grid-area: leftcol;
    display: grid;
    row-gap: 2rem;
  }

  .mnav__actions {
    grid-area: unset;
    display: grid;
    gap: 1rem;
  }
  .mnav__left {
    grid-area: unset;
  }

  .mnav__right {
    grid-area: right;
    display: none;
  }

}

@media (min-width: 33.8125rem) and (max-width: 64rem) {

  .mnav__top {
    display: none;
  }
  .mnav__grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-template-areas:
      "close   close"
      "leftcol right";
    column-gap: 1.5rem;
    row-gap: 1.5rem;
    align-content: start;
  }
  .mnav__leftcol {
    grid-area: leftcol;
    display: grid;
    row-gap: 2rem;
  }
  .mnav__actions {
    grid-area: unset;
    display: grid;
    gap: 1rem;
  }
  .mnav__left {
    grid-area: unset;
  }
  .mnav__right {
    grid-area: right;
    display: block;
  }

}

.mnav__close {
  border-radius: 1rem;
  padding: 1rem 0.75rem;
  background: #e6e6ec;
  color: rgba(0, 0, 0, 0.6);
  font-weight: 500;
  font-size: 1rem;
  line-height: 96%;
  letter-spacing: -0.02em;
  border: none;
  font-family: var(--font-family);
}

.mnav__left {
  display: grid;
  gap: 2rem;
}

.mnav__left .sidenav__list {
  margin: 0;
  padding: 0;
  display: grid;
  gap: 0.5rem;
}

@media (max-width: 33.75rem) {

  .mnav__wrap {
    display: flex;
    flex-direction: column;
    gap: 3rem;
  }

  .mnav__bottom {
    gap: 1.5rem;
  }

  .mnav__social {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
    align-items: flex-start;
  }

  .mnav__social .ft-btn {
    width: max-content;
  }
  .snav {
    max-width: 11.125rem;
    padding: 1rem 1rem 1rem 0.75rem;
  }
  .mnav__contacts a {
    font-weight: 500;
    font-size: 1rem;
    line-height: 150%;
    letter-spacing: -0.02em;
    opacity: 0.6;
    text-decoration: none;
    color: #000413;
  }

  .mnav__actions .hdr__cabinet {
    width: 9.625rem;
    justify-content: center;
    border-radius: 1rem;
  }

  .mnav__actions .hdr__report {
    width: 13.25rem;
    justify-content: center;
    padding: 1rem 0.75rem;
  }
  .ico,
  .arr {
    width: 1.25rem;
    height: 1.125rem;
  }
  .snb__link {
    font-weight: 500;
    font-size: 1rem;
    line-height: 150%;
    letter-spacing: -0.02em;
    text-transform: uppercase;
    text-wrap: nowrap;
  }

}

/* FIX: sticky close не должен перекрывать левую колонку кликами */
.mnav__close-box,
.mnav__top {
  align-self: start;
  justify-self: end;
  height: fit-content;
  width: fit-content;
  z-index: 5;
}

/* Если перекрывает именно "div" обёртки — отключаем клики на контейнере */
.mnav__close-box {
  pointer-events: none;
}
.mnav__close-box .mnav__close {
  pointer-events: auto;
}
@media (min-width: 33.8125rem) and (max-width: 64rem) {

  .mnav__wrap {
    gap: 3rem;
  }
  .mnav__bottom {
    gap: 1.5rem;
  }
  .mnav__social {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
    align-items: flex-start;
  }
  .mnav__social .ft-btn {
    width: max-content;
  }

  .mnav__actions .hdr__cabinet {
    width: 9.625rem;
    justify-content: center;
    border-radius: 1rem;
  }
  .mnav__contacts a {
    font-weight: 500;
    font-size: 1rem;
    line-height: 150%;
    letter-spacing: -0.02em;
    opacity: 0.6;
    text-decoration: none;
    color: #000413;
  }
  .mnav__sub a {
    display: block;
    max-width: 18.75rem;
    padding: 0rem;
    text-decoration: none;
    color: inherit;
  }
  .mnav__sub {
    gap: 1.5rem;
    font-weight: 400;
    font-size: 1.125rem;
    line-height: 136%;
    letter-spacing: -0.02em;
  }
  .snb__link {
    font-weight: 500;
    font-size: 1rem;
    line-height: 150%;
    letter-spacing: -0.02em;
    text-transform: uppercase;
    text-wrap: nowrap;
  }
  

}

@media (max-width: 33.75rem) {

  .mnav__sublist {
    display: grid;
    gap: 1rem;
    padding: 0 0 0 2.75rem;
    list-style: none;
  }
  

}

.mnav__sublist a {
  font-weight: 400;
  font-size: 1rem;
  line-height: 136%;
  letter-spacing: -0.02em;
  color: rgba(0, 0, 0, 0.6);
  text-decoration: none;
}

.mnav__sublist a {
  display: block;

  max-width: 11.125rem;
  width: 100%;
}
.mnav__sublist a:last-child {
  margin-bottom: 0;
}

@media (min-width: 33.8125rem) and (max-width: 64rem) {

  .mnav__right {
    display: block;
  }
  .mnav__sublist {
    display: none;
  }

}

@media (max-width: 64rem) {

  .page-grid {
    grid-template-columns: 1fr;
    column-gap: 0;
  }
  .page-main {
    padding-right: var(--pad-r-tablet);
    padding-left: var(--pad-r-tablet);
  }
  .hdr__bar {
    grid-template-columns: auto 1fr auto;
    align-items: center;
    gap: var(--gap-16);
    padding-top: 1rem;
    padding-bottom: 1rem;
    column-gap: 4.2756rem;
  }
  .hdr__logo {
    display: inline-grid;
  }
  .hdr__cabinet {
    display: none;
  }
  .hdr__menu {
    display: inline-grid;
    grid-auto-flow: column;
    align-items: center;
    gap: var(--gap-8);
    padding: 0.75rem 1rem;
    border-radius: 1rem;
    background: var(--btn-bg);
    color: var(--txt-60);
  }
  .btn,
  .hdr__menu {
    font-size: 1rem;
  }

  .sidenav {
    position: fixed;
    top: 0;
    left: 0;
    height: 100svh;
    width: min(86vw, 21.25rem);
    transform: translateX(-100%);
    transition: transform 0.32s ease;
    padding: 1.25rem;
    gap: 1.25rem;
    box-shadow: 0 0.75rem 2.5rem rgba(0, 0, 0, 0.28);
  }
  body.sidebar-open .sidenav {
    transform: translateX(0);
  }
  body.sidebar-open .backdrop {
    display: block;
  }
  .btn.btn--light.hdr__report {
    align-items: left;
  }

}

@media (max-width: 33.75rem) {

  .page-main {
    padding-right: var(--pad-r-mobile);
    padding-left: var(--pad-l-mobile);
  }
  .hdr__report {
    display: none;
  }
  .hdr__menu {
    display: inline-grid;
  }

}

@media (hover: hover) {

  .btn:hover,
  .hdr__menu:hover {
    filter: brightness(0.97);
  }
  .snav:hover {
    background: #e6e6ec;
  }

}

.ft,
.ft__in,
.ft__right,
.ft__navgrid,
.ft__col {
  min-width: 0;
  box-sizing: border-box;
}
.ft {
  overflow-x: hidden;
}
.ft__in {
  max-width: 100%;
}

.ft__contacts {
  display: grid;
  gap: 1rem;
}

@media (max-width: 64rem) {

  .home-top__inner {
    grid-template-columns: 1fr;
    grid-template-rows: auto auto auto;
    grid-template-areas:
      "title"
      "social"
      "left";
    justify-items: stretch;
    gap: 1.5rem;
    padding: 2.75rem 1.5rem 1.5rem;
  }
  .home-top__title {
    grid-area: title;
    text-align: center;
  }
  .home-top__social {
    grid-area: social;
    justify-self: end;
    align-self: start;
  }
  .home-top__left {
    grid-area: left;
    justify-self: start;
    align-self: end;
    text-align: left;
  }

}

@media (max-width: 64rem) {

  .hdr__bar {
    grid-template-columns: auto 1fr auto;
  }
  .hdr__report {
    inline-size: max-content;
    justify-self: center;
  }

}

.hdr__menu {
  border: 0;
  box-shadow: none;
  outline: none;
  border-radius: 1rem;
  padding: 1rem 0.75rem;
  font-family: var(--font-family);
  font-weight: 500;
  font-size: 1rem;
  line-height: 96%;
  letter-spacing: -0.02em;
}
.hdr__menu:focus-visible {
  outline: 0.125rem solid rgba(255, 255, 255, 0.5);
  outline-offset: 0.125rem;
}

.hdr__menu::after {
  content: "";
  display: block;
  width: 1.125rem;
  height: 0.875rem;
  background: url("data:image/svg+xml;utf8,")
    no-repeat center/contain;
}

@media (max-width: 64rem) {

  .home-top__inner {
    grid-template-columns: 1fr auto;
    grid-template-rows: auto auto;
    grid-template-areas:
      "title title"
      "left social";
    justify-items: stretch;
    align-items: end;
    gap: 1.5rem;
    padding: 2.75rem 1.5rem 1.5rem;
  }
  .home-top__title {
    grid-area: title;
    text-align: center;
  }
  .home-top__left {
    grid-area: left;
    justify-self: start;
    align-self: end;
    text-align: left;
  }
  .home-top__social {
    grid-area: social;
    justify-self: end;
    align-self: end;
  }

  .hdr__report {
    inline-size: max-content;
    justify-self: center;
  }
  .hdr__menu {
    border: 0;
    box-shadow: none;
    outline: none;
  }

}

@media (max-width: 33.75rem) {

  .home-top__inner {
    grid-template-columns: 1fr auto;
    grid-template-rows: auto auto;
    grid-template-areas:
      "title title"
      "left social";
    gap: 0rem;
    padding: 2.75rem 1rem 1.5rem;
  }
  .home-top__title {
    text-align: center;
  }
  .home-top__left {
    justify-self: start;
    align-self: end;
  }
  .home-top__social {
    justify-self: end;
    align-self: end;
  }

}

@media (max-width: 64rem) {

  .hdr__logo {
    display: block;
  }
  .hdr__report {
    justify-self: start;
    width: auto;
    min-width: max-content;
    font-family: var(--font-family);
    font-weight: 500;
    font-size: 1rem;
    line-height: 96%;
    letter-spacing: -0.02em;
  }
  

}

@media (max-width: 64rem) {

  .hdr__bar {
    box-sizing: border-box;
  }
  .hdr__menu {
    justify-self: end;
  }

}

@media (max-width: 33.75rem) {

  .page-main {
    padding-inline: var(--pad-r-mobile);
  }
  .hdr__bar {
    padding-inline: var(--pad-r-mobile);
  }
  .page-content {
    padding-inline: var(--pad-r-mobile);
  }

}

@media (max-width: 64rem) {

  
  
  
  
  
  
  
  
  
  .nav-btn {
    display: grid;
    place-items: center;
    border-radius: 1rem;
    width: 2.75rem;
    height: 2.75rem;
    border: 0;
    background: #e6e6ec;
    cursor: pointer;
  }
  
  
  

}

@media (max-width: 64rem) {

  
  
  
  
  
  .ft__phone {
    font-size: 4rem;
    line-height: 96%;
    letter-spacing: -0.02em;
    font-weight: 600;
  }
  .ft__mail {
    font-size: 4rem;
    line-height: 96%;
    letter-spacing: -0.02em;
    font-weight: 600;
  }

}

@media (max-width: 33.75rem) {

  
  
  
  .nav-btn {
    width: 2.75rem;
    height: 2.75rem;
  }
  

}

@media (max-width: 64rem) and (min-width: 33.8125rem) {

  
  
  
  .ft__stack {
    display: grid;
    gap: 2.75rem;
  }

  .ft__contacts {
    display: grid;
    gap: 1rem;
  }

  .ft__social {
    display: grid;
    gap: 0.5rem;
  }

  .ft__brand {
    margin: 0;
  }

  .ft__stack + .ft__brand {
    margin: 0;
    display: grid;
    gap: 1.5rem;
  }
  

}

.ft__section {
  display: block;
}

.ft__list {
  margin: 0;
  padding: 0;
}

.ft__section {
  display: block;
}

.ft__title {
  padding-bottom: 1rem;
}

.ft__list {
  margin: 0;
  padding: 0;
}

@media (max-width: 33.75rem) {

  .page-grid {
    grid-template-columns: 1fr;
    column-gap: 0;
  }

}

@media (max-width: 33.75rem) {

  .page-grid {
    grid-template-columns: 1fr;
    column-gap: 0;
  }
  .sidenav {
    position: fixed;
    top: 0;
    left: 0;
    height: 100svh;
    width: min(86vw, 21.25rem);
    transform: translateX(-100%);
  }
  body.sidebar-open .sidenav {
    transform: translateX(0);
  }
  .hdr__bar,
  .page-content {
    padding-inline: var(--pad-inline-mobile);
    box-sizing: border-box;
  }

  .page-content,
  .home-top,
  .ft,
  .sec-partners,
  .sec-news,
  .home-news,
  .home-news__grid,
  .home-news__left,
  .home-news__right,
  .sec-partners__in,
  .sec-partners__grid {
    min-width: 0;
  }
  
  img,
  video,
  svg {
    max-width: 100%;
    height: auto;
  }

  a,
  p,
  h1,
  h2,
  h3,
  h4,
  h5,
  h6 {
    overflow-wrap: anywhere;
    word-break: break-word;
  }

  html,
  body {
    overflow-x: clip;
  }
  .hdr,
  .home-top,
  .ft {
    width: 100%;
    margin-left: 0;
    margin-right: 0;
  }

  .backdrop {
    position: fixed;
    inset: 0;
    width: auto;
    height: auto;
  }
  .focus-sentinel {
    display: block;
    width: 0;
    height: 0;
    overflow: hidden;
  }

  

  
  

  .hdr,
  .home-top,
  .ft,
  .top-pattern,
  .ft__pattern {
    margin-left: 0;
    margin-right: 0;
  }

}

.focus-sentinel {
  display: none;
}

@media (max-width: 33.75rem) {

  
  
  
  
  
  .home-top__social,
  .home-top__left {
    display: none;
  }
  .home-top__title {
    font-weight: 500;
    font-size: 1rem;
    line-height: 150%;
    letter-spacing: -0.02em;
    text-transform: uppercase;
    text-align: center;
  }
  .hdr__logo {
    width: 3.75rem;
    height: 4rem;
  }
  .hdr__bar {
    column-gap: 0rem;
  }
  
  
  
  
  
  
  
  
  .all-news {
    font-weight: 500;
    font-size: 1rem;
    line-height: 150%;
    letter-spacing: -0.02em;
  }
  
  
  
  
  
  
  .home-top__inner {
    padding-inline: 1rem;
  }
  .section-head__title {
    font-weight: 500;
    font-size: 2.25rem;
    line-height: 110%;
    letter-spacing: -0.02em;
  }
  .section-head__title {
    font-weight: 500;
    font-size: 2.25rem;
    line-height: 110%;
    letter-spacing: -0.02em;
  }
  
  
  
  .chip {
    font-weight: 500;
    font-size: 0.875rem;
    line-height: 96%;
    letter-spacing: -0.02em;
  }
  .ft__phone {
    font-weight: 600;
    font-size: 2rem;
    line-height: 96%;
    letter-spacing: -0.02em;
    text-transform: uppercase;
  }
  .ft__mail {
    font-weight: 600;
    font-size: 2rem;
    line-height: 96%;
    letter-spacing: -0.02em;
    text-transform: uppercase;
  }
  .ft__stack {
    gap: 2.75rem;
  }
  .ft__brand {
    gap: 1.5rem;
  }
  .ft__in {
    padding-inline: 1rem;
    padding: 4rem 1rem 2.75rem;
  }
  .ft__legal-note {
    font-weight: 400;
    font-size: 1rem;
    line-height: 150%;
    letter-spacing: -0.02em;
  }
  

}

@media (min-width: 33.8125rem) and (max-width: 64rem) {

  .home-top__inner {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    grid-template-areas: "left title title social";
    column-gap: 1.25rem;
    row-gap: 0;
    padding: 2.75rem 1.5rem 1.5rem;
    align-items: end;
  }

  .home-top__left {
    grid-area: left;
    justify-self: start;
    align-self: end;
    text-align: left;
  }

  .home-top__title {
    grid-area: title;
    text-align: center;
  }

  .home-top__social {
    grid-area: social;
    justify-self: end;
    align-self: end;
  }
  .home-top__left-item {
    font-size: 0.875rem;
  }
  .home-top__tg,
  .home-top__vk,
  .home-top__rutube {
    font-size: 0.875rem;
  }
  .home-top__title {
    font-size: 1.25rem;
  }

}

@media (max-width: 64rem) {

  .sidenav {
    position: fixed;
    top: 0;
    left: 0;
    width: min(86vw, 21.25rem);
    transform: translateX(calc(-100% - 0.125rem));
    will-change: transform;
  }
  body.sidebar-open .sidenav {
    transform: translateX(0);
  }

}

@media (min-width: 64rem) {

  

  .section-head {
    justify-self: start;
    display: flex;
    align-items: center;
    gap: 0.5rem;
  }

  

}

.home-top__photo {
  position: relative;
  width: 100%;
  height: clamp(6.875rem, 25vw, 7.0625rem);
  overflow: hidden;
}

.home-top__photo img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

.page-grid {
  isolation: isolate;
}

.hdr {
  position: sticky;
  top: 0;
  z-index: 10;
}

.home-top {
  position: sticky;
  top: 0;
  background: transparent;
}

.home-top__photo img {
  width: 100%;
  object-fit: cover;
  object-position: center;
  display: block;
}

.home-top__panel {
  background: #2c2b84;
}

.page-main {
  position: relative;
  z-index: 1;
  background: var(--page-bg, #f0f0f6);
}

@media (max-width: 33.75rem) {

  .home-top__photo {
    height: 6.25rem;
  }

}

.ft {
  position: relative;
  z-index: 5;
  overflow: hidden;
}

.ft__in {
  position: relative;
  z-index: 1;
}

.snav {
  transition: color 0.25s ease;
}

.snav .ico--line {
  opacity: 1;
  transition: opacity 0.25s ease;
}
.snav .ico--fill {
  opacity: 0;
  transition: opacity 0.25s ease;
}

.snav.snav--active {
  color: var(--cvet-brenda);
  font-weight: 500;
}
.snav.snav--active .ico--line {
  opacity: 0;
}
.snav.snav--active .ico--fill {
  opacity: 1;
}

@media (hover: hover) {

  .snav:hover {
    color: var(--chernyy-osnovnoy);
  }

}

@media (hover: hover) {

  .snav--external:hover {
    color: var(--chernyy-osnovnoy);
  }

}

@media (max-width: 33.75rem) {

  
  
  
  .section-head {
    gap: 0.5rem;
  }

}

.sidenav {
  display: flex;
  flex-direction: column;
  min-height: 100svh;
  height: 100svh;
  box-sizing: border-box;
  z-index: 1;
}

:root {
  --snav-gap: clamp(0.5rem, 2vh, 1.25rem);
  --snav-pad: clamp(0.625rem, 2.2vh, 1rem);
  --snav-logo: clamp(3rem, 12vh, 7.25rem);
  --snav-font: clamp(0.875rem, 1.9vh, 1rem);
}

.sidenav__logo img {
  height: 9rem;
  width: auto;
  display: block;
}

.sidenav__nav {
  flex: 1 1 auto;
  min-height: 0;
  display: flex;
  flex-direction: column;
  gap: var(--snav-gap);
}

.snav {
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  column-gap: 0.75rem;
  padding-block: var(--snav-pad);
  font-family: var(--font-family);
  font-weight: 400;
  font-size: 1.125rem;
  line-height: 96%;
  letter-spacing: -0.02em;
  color: var(--chernyy-osnovnoy);
}

.sidenav__bottom {
  margin-top: auto;
  display: grid;
  gap: clamp(0.5rem, 1.6vh, 0.875rem);
}
.snb__contacts {
  display: grid;
  gap: 0.375rem;
  font-size: var(--snav-font);
}
.snb__links {
  display: grid;
  gap: 0.5rem;
}

.ft__pattern {
  width: 100%;
  height: 14.5rem;
  overflow: hidden;
}

.ft__pattern img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  display: block;
}
@media (min-width: 64rem) {

  .hdr {
    position: sticky;
    top: 0;
    z-index: 100;
    background: #f0f0f6;
    -webkit-backdrop-filter: none;
    backdrop-filter: none;
    max-height: 6.5rem;
  }

}

@media (max-width: 33.8125rem) {

  
  
  
  
  .ft__addr {
    font-weight: 500;
    font-size: 1rem;
    line-height: 150%;
    letter-spacing: -0.02em;
    text-transform: uppercase;
    max-width: 15.625rem;
  }

}

.tablebodytext {
  display: none;
}

.cab {
  position: fixed;
  inset: 0;
  display: grid;
  place-items: center;
  z-index: 10000;
}
.cab[hidden] {
  display: none;
}
.cab__backdrop {
  position: absolute;
  inset: 0;
  backdrop-filter: blur(2rem);
  background: rgba(0, 0, 0, 0.5);
}
.cab__panel {
  position: relative;
  display: grid;
  border-radius: 2.75rem;
  background: var(--belyy);
  width: auto;
  height: auto;
  padding: 4rem 1.5rem 2.75rem;

  box-sizing: border-box;
}

.cab__x {
  cursor: pointer;
  border: none;
  position: absolute;
  top: 1.25rem;
  right: 1.5rem;
  display: grid;
  place-items: center;
  width: 2rem;
  height: 2rem;
  border-radius: 62.4375rem;
  background: transparent;
  font: 500 1.125rem/1 var(--font-family);
  color: #00071e;
}
@media (hover: hover) and (pointer: fine) {

  .cab__x {
    transition: opacity 0.2s ease;
  }
  .cab__x:hover {
    opacity: 0.7;
  }

}

.cab__stack {
  display: grid;
  row-gap: 4rem;
  align-content: start;
}
.cab__title {
  font-family: var(--font-family);
  font-weight: 500;
  font-size: 2.75rem;
  line-height: 120%;
  letter-spacing: -0.02em;
  text-align: center;
  color: #00071e;
}
.cab__form {
  display: grid;
}
.cab__fields {
  display: grid;
}
.cab__field {
  display: grid;
}
.cab__field + .cab__field {
  margin: 0;
}
.cab__field {
  row-gap: 0;
}
.cab__form {
  grid-auto-rows: max-content;
}
.cab__form .cab__field {
  margin: 0;
}
.cab__form {
  grid-template-rows: auto;
}
.cab__form {
  row-gap: 4rem;
}
.cab__form .cab__field-wrap {
  display: grid;
  row-gap: 1rem;
}

.cab__form {
  display: grid;
}
.cab__form .cab__field {
  display: grid;
}
.cab__input {
  display: block;
  width: 100%;
  border-radius: 2rem;
  background: #f7f7f7;
  padding: 2rem 1.5rem;
  border: none;
  font-family: var(--font-family);
  font-weight: 400;
  font-size: 1.5rem;
  line-height: 100%;
  letter-spacing: -0.02em;
  color: var(--chernyy-600);
}

.cab__input::placeholder {
  color: var(--chernyy-600);
  opacity: 1;
}
.cab__btn {
  display: grid;
  place-items: center;
  border: none;
  border-radius: 2rem;
  padding: 1.5rem 1rem;
  background: #2e2f8c;
  font-family: var(--font-family);
  font-weight: 500;
  font-size: 1.125rem;
  line-height: 96%;
  letter-spacing: -0.03em;
  color: var(--belyy);
  cursor: pointer;
  transition: background-color 300ms ease, color 300ms ease,
    transform 300ms ease;
}
@media (hover: hover) {

  .cab__btn:hover:not(.cab__btn--error) {
    background: #2e2f8ccc;
  }

}

.cab__btn--error {
  text-align: left;
}

.cab__input {
  border: 0;
  outline: 0;
  box-shadow: none;
  width: auto;
}
.cab__input:focus,
.cab__input:active,
.cab__input:focus-visible {
  outline: 0;
  box-shadow: none;
  border: 0;
}

.cab__input:-webkit-autofill,
.cab__input:-webkit-autofill:hover,
.cab__input:-webkit-autofill:focus {
  -webkit-text-fill-color: var(--chernyy-600);
  -webkit-box-shadow: inset 0 0 0 62.5rem #f7f7f7;
  box-shadow: inset 0 0 0 62.5rem #f7f7f7;
  border: 0;
  outline: 0;
}

.cab__input::-moz-focus-inner {
  border: 0;
}
.cab__input:-moz-focusring {
  outline: 0;
}

@media (hover: hover) and (pointer: fine) {

  .cab__input {
    transition: background-color 0.15s ease;
  }
  .cab__input:hover {
    background: #f3f3f3;
  }

}

.cab__form .cab__field {
  margin: 0;
}
.cab__form .cab__field + .cab__field {
  margin: 0;
}
.cab__form .cab__field {
  display: grid;
}
.cab__form .cab__field {
  grid-auto-flow: row;
}
.cab__form {
  grid-template-rows: auto;
}
.cab__form .cab__field {
  row-gap: 1rem;
}

.cab__form {
  display: grid;
  grid-auto-rows: max-content;
}

.cab__fields {
  display: grid;
  row-gap: 1rem;
}

.cab__field {
  display: grid;
}

.cab__actions {
  display: grid;
}
.cab__btn {
  width: 100%;
}

@media (max-width: 64rem) {

  .cab__panel {
    width: 100vw;
    height: 100vh;
    border-radius: 0;
    padding: 7.75rem 1.5rem 2.75rem;
  }

}

@media (min-width: 64rem) {

  .sidenav {
    align-self: flex-start;
    position: -webkit-sticky;
    position: sticky;
    top: 0;

    height: auto;
    min-height: 100vh;
    width: 100%;

    display: flex;
    flex-direction: column;
    padding: 1.5rem 1rem 1.5rem 2rem;
    box-sizing: border-box;
    background: #f0f0f6;
    z-index: 100;

    overflow: visible;
    will-change: top; /* Оптимизация для плавности */
  }

  .sidenav__logo {
    flex-shrink: 0;
  }

  .sidenav__nav {
    flex-shrink: 0;
  }

  .sidenav__bottom {
    flex-shrink: 0;
    margin-top: auto;
    padding-bottom: 1.5rem;
  }
  .hdr {
    position: sticky;
    top: 0;
    z-index: 50;
    transform: translateZ(0);
  }

  .sidenav {
    position: sticky;
    top: 0;
    z-index: 1;
    transform: translateZ(0);
  }

  .home-top {
    position: sticky;
    top: 0;
    z-index: 1;
    background: transparent;
    transform: translateZ(0);
  }

  .page-grid {
    position: relative;
    z-index: 10;
    isolation: isolate;
  }

  .ft {
    position: relative;
    z-index: 10;
    transform: translateZ(0);
  }

}

@media (max-width: 64rem) and (min-width: 33.75rem) {

  .cab__input {
    width: 25rem;
  }
  .cab__fields {
    justify-content: center;
  }
  .cab__btn {
    width: 25rem;
  }
  .cab__form {
    justify-content: center;
  }

}

@media (max-width: 33.75rem) {

  .cab__panel {
    width: 100vw;
    height: 100vh;
    border-radius: 0;
    padding: 6rem 1.25rem 1.75rem;
  }
  .cab__stack {
    row-gap: 2.75rem;
  }
  .cab__title {
    font-weight: 500;
    font-size: 2rem;
    line-height: 110%;
    letter-spacing: -0.02em;
    text-align: center;
    color: #00071e;
  }
  .cab__input {
    border-radius: 1.5rem;
    padding: 2rem 1.5rem;
    font-weight: 400;
    font-size: 1rem;
    line-height: 100%;
    letter-spacing: -0.02em;
  }
  .cab__btn {
    border-radius: 1.5rem;
    padding: 1.5rem 1rem;
    font-weight: 500;
    font-size: 1rem;
    line-height: 96%;
    letter-spacing: -0.03em;
    color: var(--belyy);
  }

}

.cabmenu {
  position: relative;
  display: grid;
}
.cabmenu__popup {
  position: absolute;
  right: 0;
  top: calc(100% + 0.5rem);
  width: 21.25rem;
  border-radius: 2rem;
  background: var(--belyy);
  box-shadow: 0 0.5rem 4rem 0 rgba(0, 4, 19, 0.1);
  display: grid;
  padding: 0.5rem;
  row-gap: 0.5rem;
  opacity: 0;
  transform: translateY(-0.5rem);
  pointer-events: none;
  transition: opacity 0.3s ease-out, transform 0.3s ease-out;
}
.cabmenu__popup.is-open {
  opacity: 1;
  transform: translateY(0);
  pointer-events: auto;
}
.cabmenu__item {
  display: grid;
  grid-auto-flow: column;
  align-items: center;
  column-gap: 0.5rem;
  border-radius: 2rem;
  padding: 1rem;
  text-decoration: none;
  background: transparent;
}
.cabmenu__item:hover {
  background: var(--servyy-osnovnoy);
}
.cabmenu__ico {
  display: grid;
  place-items: center;
}
.cabmenu__txt {
  font-family: var(--font-family);
  font-weight: 500;
  font-size: 1.125rem;
  line-height: 120%;
  letter-spacing: -0.02em;
  color: var(--chernyy-osnovnoy);
}
@media (max-width: 64rem) {

  .cab {
    background: var(--page-bg, #f0f0f6);
  }

  .cab__backdrop {
    background: transparent;
  }

  .cab__input {
    background: #ffffff;
  }
  .cab__panel {
    background: var(--bg);
  }

}

.cab__btn--error {
  background: #ffffff;
  color: #ef3122;
  justify-content: flex-start;
}

.snav__ico {
  position: relative;
  display: inline-grid;
  place-items: center;
  width: 1.5rem;
  height: 1.5rem;
  flex-shrink: 0;
}

.snav__ico .ico {
  position: absolute;
  inset: 0;
  transition: opacity 0.3s ease-out, fill 0.3s ease-out, stroke 0.3s ease-out;
}

.snav__ico .ico--default {
  opacity: 1;
}
.snav__ico .ico--active {
  opacity: 0;
}

.snav--active .snav__ico .ico--default,
.snav--clicked .snav__ico .ico--default {
  opacity: 0;
}

.snav--active .snav__ico .ico--active,
.snav--clicked .snav__ico .ico--active {
  opacity: 1;
}

.snav {
  transition: background-color 0.3s ease-out, color 0.3s ease-out;
}

.snav .snav__txt,
.snav .arrow_right,
.snav .ico {
  transition: color 0.3s ease-out, fill 0.3s ease-out, stroke 0.3s ease-out,
    transform 0.3s ease-out, opacity 0.3s ease-out;
}
.snav {
  border-radius: 1.5rem;
  background: transparent;
}

.snav .arrow_right--active {
  display: none;
}

.snav.snav--active {
  background: var(--servyy-osnovnoy);
}

.snav.snav--active .arrow_right--default {
  display: none;
}

.snav.snav--active .arrow_right--active {
  display: block;
}
.snav-pop,
.snav-pop__panel {
  max-height: none;
  overflow-y: visible;
}

.page-grid {
  position: relative;
}

.home-top-shadow {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 100%;

  height: 13.5625rem;

  pointer-events: none;
  z-index: 1;
  visibility: hidden;
  opacity: 0;
  transition: opacity 0.3s ease-out, visibility 0s linear 0.3s;

background: linear-gradient(180deg, rgba(255, 255, 255, 0) 0%, rgba(96, 96, 152, 0.4) 63.94%, rgba(1, 0, 90, 0.8) 100%);
}

.home-top-shadow.is-visible {
  opacity: 1;
  visibility: visible;
  transition: opacity 0.3s ease-out, visibility 0s;
}

@media (max-width: 64rem) {

  .home-top-shadow {
    height: 22.75rem;
  }

}

@media (max-width: 33.75rem) {

  .home-top-shadow {
    height: 18.0625rem;
  }

}

/* Контейнер кнопки + текстов */
.mnav__actions {
  display: grid;
  row-gap: 1rem; /* между кнопкой и первым текстом */
}

/* Контейнер ссылок */
.mnav__report-links {
  display: grid;
  row-gap: 1rem; /* между самими <a > */
  padding: 0rem 1rem 0rem 0.75rem;
}

/* Стили текста ссылок */
.mnav__report-links a {
  font-family: var(--font-family);
  font-weight: 400;
  font-size: 1rem;
  line-height: 136%;
  letter-spacing: -0.02em;
  color: var(--chernyy-osnovnoy);
  text-decoration: none;
}
.mnav__report-links[hidden] {
  display: none;
}
.copy-toast {
  position: fixed;
  left: 50%;
  top: 1.5rem;
  transform: translate(-50%, -0.625rem);
  z-index: 9999;

  border-radius: 1.25rem;
  padding: 0.8125rem;
  width: 7.4375rem;
  height: 2.5rem;
  display: flex;
  align-items: center;
  justify-content: center;

  background: var(--cvet-brenda);
  font-family: var(--font-family);
  font-weight: 500;
  font-size: 1rem;
  line-height: 0.96;
  letter-spacing: -0.02em;
  color: var(--belyy);

  opacity: 0;
  pointer-events: none;
  transition: opacity 0.25s ease, transform 0.25s ease;
}

.copy-toast--visible {
  opacity: 1;
  transform: translate(-50%, 0);
}
.snav-pop {
  position: fixed;
  inset: -624.9375rem auto auto -624.9375rem;
  opacity: 0;
  transform: translate3d(0.5rem, 0, 0);
  pointer-events: none;
  transition: opacity 0.2s ease-out, transform 0.2s ease-out;
  z-index: 50;
}

.snav-pop.is-open {
  opacity: 1;
  transform: translate3d(0, 0, 0);
  pointer-events: auto;
}
.to-top {
  position: fixed;
  right: 1.75rem;
  bottom: 1.75rem;
  z-index: 50;

  display: inline-grid;
  grid-auto-flow: column;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;

  padding: 1rem 0.75rem;
  border-radius: 1rem;
  border: none;

  background: var(--belyy);
  box-shadow: 0 0.5rem 4rem 0 rgba(0, 4, 19, 0.1);

  font-family: var(--font-family);
  font-weight: 500;
  font-size: 1.125rem;
  line-height: 96%;
  letter-spacing: -0.02em;
  color: var(--cvet-brenda);

  cursor: pointer;

  opacity: 0;
  pointer-events: none;
  transform: translateY(1rem);
  transition: background 300ms ease-out, box-shadow 300ms ease-out,
    color 300ms ease-out, opacity 300ms ease-out, transform 300ms ease-out;
}

.to-top--visible {
  opacity: 1;
  pointer-events: auto;
  transform: translateY(0);
}

.to-top:hover:not(.to-top--active) {
  background: var(--servyy-osnovnoy);
}

.to-top--active {
  background: var(--cvet-brenda);
  color: var(--belyy);
  box-shadow: 0 0.5rem 4rem 0 rgba(0, 4, 19, 0.1);
}

.to-top__label {
  white-space: nowrap;
}

.to-top__icon {
  display: inline-flex;
}

/* Мобилка до 33.75rem: только круглая иконка, фикс снизу 1.5rem */
@media (max-width: 33.75rem) {

  .to-top {
    width: 3.25rem;
    height: 3.25rem;
    right: 1rem;
    bottom: 1.5rem;
    padding: 1rem 0.75rem;
  }

  .to-top__label {
    display: none;
  }

}

/* Контейнер внешних ссылок — ведёт себя как обычный линк без подложек */
.snav--external,
.snb__row {
  background: transparent;
  box-shadow: none;
  transform: none;
}

/* На всякий случай глушим стандартный hover от .snav именно для контейнера */
@media (hover: hover) {

  .snav--external:hover,
  .snb__row:hover {
    background: transparent;
    box-shadow: none;
    transform: none;
  }

}

/* Иконка + текст: плавное изменение прозрачности */
.snav--external svg,
.snav--external .snb__link,
.snb__row svg,
.snb__row .snb__link {
  transition: opacity 0.3s ease-out;
}
/* Наведение – только иконка и подпись становятся на 50% */
@media (hover: hover) {

  .snb__row:hover svg,
  .snb__row:hover .snb__link,
  .snav--external:hover svg,
  .snav--external:hover .snb__link {
    opacity: 0.5;
  }

}

/* Клавиатурная навигация */
.snb__row:focus-visible svg,
.snb__row:focus-visible .snb__link,
.snav--external:focus-visible svg,
.snav--external:focus-visible .snb__link {
  opacity: 0.5;
}
.btn__plus {
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.btn__plus-icon {
  width: 1.5rem; /* 24px */
  height: 1.5rem;
  flex-shrink: 0;
  display: block;
}
.btn--light:hover .btn__plus-icon path,
.btn--light:focus-visible .btn__plus-icon path {
  stroke: #000413;
  stroke-opacity: 1;
  transition: stroke 0.3s ease, stroke-opacity 0.3s ease;
}
/* фиксируем одинаковый старт текста для внешних ссылок */
.snav.snav--external {
  grid-template-columns: 1.25rem 1fr !important; /* первая колонка = 20px */
}
@media (max-width: 33.75rem) {

  .snav {
    column-gap: 0.5rem;
  }

}


/* End */


/* Start:/local/templates/Spoda/assets/news.css?176605010542812*/
:root {
  --npage-gap-40: 2.5rem;
  --npage-gap-32: 2rem;
  --npage-gap-24: 1.5rem;
  --npage-gap-16: 1rem;
  --npage-bg-chip: #e6e6ec;
  --npage-text: #000413;
  --npage-text-60: rgba(0, 4, 19, 0.6);
  --npage-radius-xl: 2.75rem;
  --npage-radius-lg: 1.5rem;
  --npage-radius-md: 1rem;
}

.npage {
  display: grid;
  gap: 2rem;
  padding-bottom: 9rem;
}
@media (max-width: 33.75rem) {
  .npage {
    gap: 1.5rem;
  }
}
.npage__in {
  display: grid;
  gap: var(--npage-gap-32);
}
.npage-head-top {
  display: grid;
  gap: var(--npage-gap-24);
}
@media (min-width: 48rem) {
  .npage-head-top {
    grid-template-columns: repeat(2, 20.875rem);
    justify-content: start;
    align-items: start;
  }
}
.npage-head {
  display: grid;
  gap: 2rem; /* между группой и тегами */
  position: relative;
}
.npage-found {
  font-family: var(--font-family);
  font-weight: 500;
  font-size: 1.25rem;
  line-height: 150%;
  letter-spacing: -0.02em;
  color: rgb(0, 0, 0, 0.6);
}
@media (max-width: 33.75rem) {
  .npage-found {
    font-family: var(--font-family);
    font-weight: 500;
    font-size: 1rem;
    line-height: 150%;
    letter-spacing: -0.02em;
    color: rgb(0, 0, 0, 0.6);
  }
}
.npage-head-group {
  display: grid;
  gap: 1.5rem; /* между h1 и кнопкой */
}

.npage-period {
  border-radius: 1.5rem;
  padding: 1.5rem 1rem;
  width: 10.875rem;
}
.npage-search {
  border-radius: 1.5rem;
  padding: 1.5rem 1rem;
  width: 20.875rem;
}

.npage-title {
  font-family: var(--font-family);
  font-weight: 500;
  font-size: 2.75rem;
  line-height: 120%;
  letter-spacing: -0.02em;
  color: var(--npage-text);
  padding-top: var(--npage-gap-40);
}

.npage-period {
  display: grid;
  grid-auto-flow: column;
  align-items: center;
  justify-content: start;
  gap: 0.75rem;
  border-radius: 1.5rem;
  padding: 1.5rem 1rem;
  background: var(--npage-bg-chip);
  border: 0;
  color: var(--npage-text);
}
.npage-period.is-active {
  background: #332d8d;
  color: #fff;
}

.npage-period.is-active svg path {
  stroke: #fff;
  fill: #fff;
}

.npage-period__icon,
.npage-period__arr {
  display: grid;
  place-items: center;
}

.npage-period__text {
  font-family: var(--font-family);
  font-weight: 500;
  font-size: 1rem;
  line-height: 120%;
  letter-spacing: -0.02em;
  text-wrap: nowrap;
}

.npage-search_icon {
  width: 1.5rem;
  height: 1.5rem;
  flex-shrink: 0;
}

.npage-pager__arrows {
  width: 0.75rem;
  height: 1.5rem;
  flex-shrink: 0;
}

.npage-cats {
  list-style: none;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}

.npage-cats__item {
  display: grid;
}

.ncal__nav-ico {
  width: 1.375rem;
  height: 1.375rem;
  flex-shrink: 0;
}

.npage-cat {
  display: grid;
  align-items: center;
  border-radius: 1.25rem;
  padding: 1.5rem 1rem;
  background: #fff;
  border: 0.0625rem solid rgba(0, 4, 19, 0.08);
  font-family: var(--font-family);
  font-size: 1rem;
  font-weight: 500;
  color: var(--npage-text);
  text-decoration: none;
  border: none;
}
@media (max-width: 33.75rem) {
  .npage-cat {
    font-weight: 400;
    font-size: 0.875rem;
    line-height: 96%;
    letter-spacing: -0.03em;
    text-align: center;
    padding: 1rem 0.75rem;
    border-radius: 1rem;
  }
  .npage-period {
    border-radius: 1.5rem;
    padding: 1.5rem 1rem;
    font-weight: 400;
    font-size: 1rem;
    line-height: 96%;
    letter-spacing: -0.03em;
    text-align: center;
  }
}
.npage-subcat {
  transition: background 300ms ease-out;
}

@media (hover: hover) {
  .npage-subcat:hover {
    background: var(--belyy);
  }
}
.npage-cat--active {
  background: #2e2f8c;
  color: #fff;
}
/* --- ACTIVE STATE: категории и подкатегории --- */
.npage-cat.npage-cat--active,
.npage-subcat.npage-cat--active {
  background: #2e2f8c;
  color: #fff;
}

/* Чтобы :visited не сбивал цвет текста */
.npage-cat.npage-cat--active:link,
.npage-cat.npage-cat--active:visited,
.npage-subcat.npage-cat--active:link,
.npage-subcat.npage-cat--active:visited {
  color: #fff;
}

.npage-search {
  display: grid;
  grid-template-columns: 1.5rem 1fr;
  align-items: center;
  gap: 0.75rem;
  border-radius: 1.5rem;
  padding: 1.5rem 1rem;
  width: 20.875rem;
  background: var(--npage-bg-chip);
  color: var(--npage-text);
}

.npage-search__icon {
  display: grid;
  place-items: center;
  width: 1.5rem;
  height: 1.5rem;
}
@media (max-width: 33.75rem) {
  .npage-search__icon {
    width: 1.5rem;
    height: 1.5rem;
  }
}
.npage-search__input {
  background: transparent;
  border: 0;
  outline: 0;
  font-family: var(--font-family);
  font-size: 1rem;
  color: var(--npage-text-60);
}

.npage-grid {
  list-style: none;
  padding: 0;
  display: grid;
  gap: 1.25rem;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  align-items: stretch;
  row-gap: 6rem;
}

@media (max-width: 33.75rem) {
  .npage-grid {
    grid-template-columns: 1fr;
    row-gap: 4rem;
  }
}

.npage-card {
  display: grid;
  height: 100%;
  border-radius: var(--npage-radius-md);
}

.npage-card__link {
  display: grid;
  height: 100%;
  gap: var(--npage-gap-16);
  text-decoration: none;
  color: inherit;
  align-content: flex-start;
}

.npage-card__media {
  display: grid;
  border-radius: var(--npage-radius-xl);
  overflow: hidden;
  background: #ececf1;
  aspect-ratio: 16/9;
}

.npage-card__body {
  display: grid;
  gap: 1rem;
  grid-auto-rows: min-content;
}
@media (max-width: 33.75rem) {
  .npage-card__body {
    gap: 0.5rem;
  }
}
.npage-card__tags {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  list-style: none;
  padding: 0;
}

.npage-tag {
  display: inline-grid;
  align-items: center;
  padding: 0.75rem 0.5rem;
  border-radius: 0.75rem;
  background: #e6e6ec;
  font-family: var(--font-family);
  font-weight: 500;
  font-size: 0.875rem;
  line-height: 120%;
  color: rgb(0, 0, 0, 0.6);
  text-decoration: none;
}
.npage-card__title a {
  color: inherit;
  text-decoration: none;
}
@media (max-width: 33.75rem) {
  .npage-tag {
    border-radius: 0.75rem;
    padding: 0.5rem;
    font-size: 0.875rem;
    line-height: 136%;
    letter-spacing: -0.02em;
  }
}
.npage-card__title {
  font-family: var(--font-family);
  font-weight: 500;
  font-size: 2rem;
  line-height: 120%;
  letter-spacing: -0.02em;
  color: #000413;
  text-decoration: none;
}
@media (max-width: 33.75rem) {
  .npage-card__title {
    font-weight: 500;
    font-size: 1.5rem;
    line-height: 120%;
    letter-spacing: -0.02em;
  }
}

.npage-card__excerpt {
  font-family: var(--font-family);
  font-weight: 400;
  font-size: 1.25rem;
  line-height: 150%;
  letter-spacing: -0.02em;
  color: var(--npage-text-60);
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.npage-card__date {
  font-family: var(--font-family);
  font-weight: 500;
  font-size: 1.25rem;
  line-height: 150%;
  letter-spacing: -0.02em;
  color: #000413;
}
/* Якорь и позиционирование */
.npage-period-wrap {
  position: relative;
  display: inline-grid; /* было grid — растягивалось на 100% */
  width: max-content; /* ширина = по содержимому (кнопке) */
  justify-self: start;
  align-self: start;
}
.ncal {
  position: absolute;
  top: 0;
  z-index: 50;
  display: grid;
  grid-template-rows: auto 1fr auto;
  gap: 2rem;
  width: 22.1875rem;
  height: 45.25rem;
  padding: 2rem 1.5rem;
  border-radius: 2.75rem;
  background: #fff;
  box-shadow: 0 0.5rem 4rem 0 rgba(0, 4, 19, 0.1);
  overflow: hidden;
}

/* hover / active для кнопки */
.npage-period {
  transition: background-color 0.15s ease, color 0.15s ease;
  cursor: pointer;
}
.npage-period:hover {
  background: #fff;
  color: var(--npage-text);
  box-shadow: 0 0 0 0.0625rem rgba(0, 4, 19, 0.08) inset;
}
.npage-period.is-active {
  background: #332d8d;
  color: #fff;
}
.npage-period.is-active svg path {
  stroke: #fff;
  fill: #fff;
}

/* Шапка календаря */
.ncal__panel {
  display: grid;
  grid-auto-flow: column;
  align-items: center;
  justify-content: center;
  gap: 1.5rem;
}

.ncal__nav {
  display: grid;
  place-items: center;
  width: 2.5rem;
  height: 2.5rem;
  border-radius: 0.75rem;
  background: #ececf1;
  border: none;
  cursor: pointer;
}

.ncal__year {
  font: 600 1.5rem/1 var(--font-family);
  letter-spacing: -0.02em;
  text-align: center;
}

/* Сетка месяцев */
.ncal__months {
  display: grid;
  gap: 1.8125rem;
  overflow-y: auto;
  scrollbar-width: none;
  -ms-overflow-style: none;
}
.ncal__months::-webkit-scrollbar {
  display: none;
}
.ncal-month {
  display: grid;
  gap: 1rem;
}
/* Маска под зум */
.npage-card__media {
  position: relative;
  overflow: hidden;
}

/* База: картинка без зума */
.npage-card__media img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  transform: scale(1);
  transform-origin: center;
  transition: transform 300ms ease-out;
}

.ncal-month__title {
  font: 600 1.25rem/1 var(--font-family);
  text-align: center;
}

.ncal-month__grid {
  display: grid;
  grid-template-columns: repeat(7, 2.75rem);
  grid-auto-rows: 2.75rem;
  gap: 0;
  justify-content: start;
}

/* день: без бордеров/тени по умолчанию */
.ncal-day {
  width: 2.75rem;
  height: 2.75rem;
  display: grid;
  place-items: center;
  font: 500 1rem/1 var(--font-family);
  border: 0;
  box-shadow: none;
  background: transparent;
  border-radius: 0.625rem; /* мягкие уголки как в фигме */
  cursor: pointer; /* “палец” */
}

/* локальный стек: между категориями и подкатегориями = 2rem */
.npage-cats-stack {
  display: grid;
  gap: 2rem;
}

/* подкатегории — отдельные классы */
.npage-subcats {
  list-style: none;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}
.npage-subcats__item {
  display: grid;
}
.npage-subcat {
  border-radius: 0.75rem;
  padding: 0.75rem;
  font-family: var(--font-family);
  font-weight: 500;
  font-size: 1rem;
  line-height: 96%;
  letter-spacing: -0.02em;
  color: rgb(0, 0, 0, 0.6);
  background: #e6e6ec;
  text-decoration: none;
}
.npage-subcat--active {
  background: #2e2f8c;
  color: #fff;
}
.npage-card__meta {
  display: grid;
  row-gap: 1.5rem;
}
@media (max-width: 33.75rem) {
  .npage-card__meta {
    row-gap: 1rem;
  }
}

:root {
  --npage-gap-64: 4rem;
}

/* 2rem между верхней группой и блоком (теги+поиск) */
.npage-head {
  display: grid;
  gap: var(--npage-gap-32);
}

/* 4rem между (категории+подкатегории) и поиском */
.npage-head-bottom {
  display: grid;
  gap: var(--npage-gap-64);
}

.npage-cats-stack {
  display: grid;
  gap: var(--npage-gap-32);
}

.ncal-day--selected {
  background: #2e2f8c;
  color: #fff;
}
.ncal-day--weekend {
  color: #e24b37;
}

/* серые, если не текущий месяц */
.ncal-day--muted {
  color: rgba(0, 4, 19, 0.35);
}

/* диапазон/края диапазона */
.ncal-day--inrange {
  background: rgba(46, 47, 140, 0.14);
}
.ncal-day--edge {
  background: #2e2f8c;
  color: #fff;
}
/* Быстрые пресеты и Применить */
.ncal__quick {
  display: grid;
  grid-auto-flow: column;
  gap: 0.5rem;
  justify-content: start;
}
.ncal__apply {
  display: grid;
  place-items: center;
  height: 2.75rem;
  border-radius: 1rem;
  border: 0;
  background: #2e2f8c;
  color: #fff;
  font: 600 1rem/1 var(--font-family);
}
.ncal__apply:disabled {
  pointer-events: none;
}
/* гарантированно скрываем поповер, если hidden стоит */
.ncal[hidden] {
  display: none !important;
  pointer-events: none;
  visibility: hidden;
}
.ncal__footer {
  display: grid;
  gap: 1.5rem;
}

.ncal__quick {
  display: flex;
  justify-content: center;
  gap: 0.5rem;
}

.ncal__chip {
  display: grid;
  place-items: center;
  border: 0;
  cursor: pointer;
}

.ncal__apply {
  display: grid;
  place-items: center;
  height: 3.5rem;
  border-radius: 1.5rem;
  border: 0;
  background: #e6e6ec;
  color: var(--npage-text);
  font: 600 1rem/1 var(--font-family);
  cursor: pointer;
}
/* 2.1. Поповер — размеры/тень/раскладка по макету */
.ncal {
  width: 22.1875rem;
  height: 45.25rem;
  border-radius: 2.75rem;
  padding: 2rem 1.5rem; /* 32 сверху, 24 по бокам и снизу */
  padding-bottom: 1.5rem;
  box-shadow: 0 0.5rem 4rem 0 rgba(0, 4, 19, 0.1);
  display: grid;
  grid-template-rows: auto 1fr auto; /* панель — скролл — футер (кнопки) */
}
.npage-period-wrap {
  position: relative;
}

.ncal {
  position: absolute;
  left: calc(100% + 1rem); /* вправо от кнопки */
  z-index: 50;
  display: grid;
  grid-template-rows: auto 1fr auto;
  gap: 2rem;
  box-shadow: 0 0.5rem 4rem 0 rgba(0, 4, 19, 0.1);
  border-radius: 2.75rem;
  background: #fff;
  overflow: hidden;
}

/* 2.2. Панель года/стрелок — по центру, gap 1.5rem */
.ncal__panel {
  display: grid;
  grid-auto-flow: column;
  place-items: center;
  gap: 1.5rem;
}
.ncal__nav {
  width: 2.75rem;
  height: 2.75rem;
  border-radius: 0.75rem;
  background: #ececf1;
  border: 0;
  cursor: pointer;
}

/* 2.3. Контейнер месяцев — скроллим контент внутри */
.ncal__months {
  display: grid;
  gap: 1.8125rem; /* между месяцами */
  overflow: auto;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
}
.ncal__months::-webkit-scrollbar {
  display: none;
}

/* 2.4. Заголовок месяца и сетка */
.ncal-month {
  display: grid;
  gap: 1rem;
}
.ncal-month__title {
  font: 600 1.25rem/1 var(--font-family);
  text-align: center;
}

/* ВАЖНО: здесь у тебя не было display:grid */
.ncal-month__grid {
  display: grid;
  grid-template-columns: repeat(7, 2.75rem);
  grid-auto-rows: 2.75rem;
  gap: 0; /* «впритык» */
  justify-content: center;
}

/* 2.5. День — без бордеров/тени. Ховер — мягкая заливка. */
.ncal-day {
  width: 2.75rem;
  height: 2.75rem;
  display: grid;
  place-items: center;
  font: 500 1rem/1 var(--font-family);
  border: 0;
  box-shadow: none;
  background: transparent;
  border-radius: 0.625rem;
  cursor: pointer;
  padding: 0;
}
.ncal-day:hover {
  background: rgba(0, 4, 19, 0.06);
}
.ncal-day--weekend {
  color: #e24b37;
}
.ncal-day--muted {
  color: rgba(0, 4, 19, 0.35);
}
.ncal-day--inrange {
  background: rgba(46, 47, 140, 0.14);
}
.ncal-day--edge {
  background: #2e2f8c;
  color: #fff;
}

/* 2.6. Нижняя панель — отступы по макету */
.ncal__quick {
  display: flex;
  gap: 0.5rem;
  justify-content: center;
}
.ncal__chip {
  min-width: 7.25rem;
  height: 2.3125rem;
  border-radius: 0.75rem;
  border: 0;
  background: #e6e6ec;
  cursor: pointer;
  font-family: var(--font-family);
  font-weight: 500;
  font-size: 0.875rem;
  line-height: 96%;
  letter-spacing: -0.02em;
  color: rgba(0, 0, 0, 0.6);
}

.ncal__apply {
  height: 3.5rem;
  border-radius: 1.25rem;
  border: 0;
  background: #e6e6ec;
  cursor: pointer;
  font-family: var(--font-family);
  font-weight: 400;
  font-size: 1rem;
  line-height: 96%;
  letter-spacing: -0.02em;
  color: #000;
  transition: background-color 0.25s ease, color 0.25s ease;
}
.ncal__apply:disabled {
  cursor: default;
}

:root {
  --ncal-cell: 2.75rem;
  --ncal-cols: 7;
  --ncal-pad-x: 1.5rem; /* как у тебя в .ncal */
}

/* поповер = ровно контент (7*44) + паддинги слева/справа */
.ncal {
  box-sizing: border-box;
  inline-size: calc(
    2 * var(--ncal-pad-x) + var(--ncal-cols) * var(--ncal-cell)
  );
}

/* сетка дней уже прижата влево, оставляем эти финальные значения */
.ncal-month__grid {
  display: grid;
  grid-template-columns: repeat(var(--ncal-cols), var(--ncal-cell));
  grid-auto-rows: var(--ncal-cell);
  gap: 0;
  justify-content: start;
  width: max-content;
}
.ncal__months {
  justify-items: start;
}

.ncal-month {
  justify-items: center;
}
:root {
  --ncal-cell: 2.75rem;
  --ncal-cols: 7;
  --ncal-pad-x: 1.5rem;
  --ncal-grid: calc(var(--ncal-cols) * var(--ncal-cell));
}

/* поповер строго под контент */
.ncal {
  box-sizing: border-box;
  inline-size: calc(2 * var(--ncal-pad-x) + var(--ncal-grid));
}

/* единое выравнивание внутри */
.ncal__months {
  justify-items: start;
}

/* заголовок месяца — влево */
.ncal-month__title {
  text-align: left;
}

/* панель года и футер «встают» на ту же колонну */
.ncal__panel,
.ncal__footer {
  justify-self: start;
  inline-size: var(--ncal-grid);
}

/* раскладка панели: стрелка — год — стрелка, центр года внутри 19.25rem */
.ncal__panel {
  display: grid;
  grid-template-columns: var(--ncal-cell) 1fr var(--ncal-cell);
  align-items: center;
  gap: 0;
}
.ncal__year {
  justify-self: center;
}

/* сетка дней — как уже сделано: прижата и без воздуха */
.ncal-month__grid {
  display: grid;
  grid-template-columns: repeat(var(--ncal-cols), var(--ncal-cell));
  grid-auto-rows: var(--ncal-cell);
  gap: 0;
  justify-content: start;
  width: max-content;
}

:root {
  --ncal-cell: 2.75rem;
  --ncal-cols: 7;
  --ncal-grid: calc(var(--ncal-cols) * var(--ncal-cell)); /* 19.25rem */
}

/* одна левая колонна для всех секций */
.ncal {
  justify-items: start;
}
.ncal__panel,
.ncal__months,
.ncal__footer {
  justify-self: start;
  inline-size: var(--ncal-grid);
}

/* футер и его содержимое */
.ncal__footer {
  display: grid;
  gap: 1.5rem;
}

/* Чипы — как в макете: авто-ширина по тексту, центрируем группу */
.ncal__quick {
  display: flex;
  gap: 0.5rem;
  justify-content: center; /* центр группы */
  align-items: center;
  flex-wrap: nowrap; /* не переносим, чтобы сохранялась композиция */
  width: 100%;
}

/* УБРАТЬ растяжение и минимальные ширины */
.ncal__chip {
  box-sizing: border-box;
  inline-size: auto; /* ключевое: авто-ширина */
  min-width: 0; /* снимаем «распорку» */
  white-space: nowrap; /* однострочно как в макете */
  height: 2.3125rem;
  padding: 0.75rem 0.5rem;
}

/* Кнопка — на всю полосу */
.ncal__apply {
  width: 100%;
}
/* панель заголовка календаря: ← 1.5rem → Год ← 1.5rem → */
.ncal > .ncal__panel {
  display: grid;
  grid-template-columns: auto auto auto; /* без 1fr, ничего не расталкивает */
  justify-content: center; /* вся тройка по центру */
  align-items: center;
  column-gap: 1.5rem;
}

/* кнопки-стрелки и год — как были */
.ncal__nav {
  display: grid;
  place-items: center;
  width: 2.75rem;
  height: 2.75rem;
  border-radius: 0.75rem;
  background: #ececf1;
  border: 0;
}
.ncal__year {
  font-weight: 500;
  font-size: 2rem;
  line-height: 120%;
  letter-spacing: -0.02em;
  text-align: center;
}

/* когда активна — плавный переход к фиолетовому */
.ncal__apply:not(:disabled) {
  background-color: #332d8d;
  color: #fff;
}

/* необязательно, но можно сделать hover чуть светлее */
@media (hover: hover) {
  .ncal__apply:not(:disabled):hover {
    background-color: #4038b0;
  }
}
/* выбранный диапазон */
.ncal-day--inrange {
  background: #332d8d;
  color: #fff;
}

/* hover-червячок от выбранной даты до текущей под мышью */
.ncal-day--hoverrange {
  background: #e6e6ec;
  color: #000;
}

/* края диапазона — скругления */
.ncal-day--edge {
  background: #332d8d;
  color: #fff;
  border-radius: 0.75rem;
}
.npage-period-info {
  display: grid;
  align-items: center;
  width: max-content;
  padding: 0.5rem 0.75rem;
  border-radius: 0.75rem;
  background: var(--npage-bg-chip);
  color: var(--npage-text-60);
}

.npage-empty {
  display: grid;
  gap: 0.75rem;
  justify-items: start;
  border-radius: 1.25rem;
}
.npage-empty__title {
  font: 600 1.125rem/1.2 var(--font-family);
  color: var(--npage-text);
}
.npage-empty__desc {
  font: 400 0.875rem/1.4 var(--font-family);
  color: var(--npage-text-60);
}
.npage-empty__actions {
  display: grid;
}
.npage-empty__btn {
  display: grid;
  place-items: center;
  height: 2.75rem;
  padding: 0 1rem;
  border-radius: 1rem;
  background: #e6e6ec;
  color: var(--npage-text);
  text-decoration: none;
  font: 600 0.875rem/1 var(--font-family);
}
@media (hover: hover) {
  .npage-empty__btn:hover {
    box-shadow: 0 0 0 0.0625rem rgba(0, 4, 19, 0.08) inset;
  }
}

/* Внутри — свой грид с кастомным gap */
.npage-tags-wrap {
  display: grid;
  gap: 4rem;
}
@media (max-width: 33.75rem) {
  .npage-tags-wrap {
    gap: 2.75rem;
  }
}
/* Контейнер строки поиска: только грид и gap */
.npage-search-wrap {
  display: grid;
  justify-content: start;
}

/* Базовый вид: компактный блок (как у тебя было ~20.875rem) */
.npage-search {
  --search-radius: 1.5rem;
  --search-bg: #e6e6ec;
  --search-h: 3.5rem;

  display: grid;
  grid-auto-flow: column;
  /* 1.5rem иконка + .75rem до поля + поле + группа кнопок */
  grid-template-columns: 1.5rem 1fr auto;
  align-items: center;
  gap: 0.75rem; /* между иконкой и инпутом = .75rem */
  height: var(--search-h);
  width: 20.875rem; /* компактная ширина */
  padding: 0 0.75rem 0 1rem;
  border-radius: var(--search-radius);
  background: var(--search-bg);
  transition: width 700ms cubic-bezier(0.22, 1, 0.36, 1);
}

/* Раскрытое состояние — тянемся на всю доступную ширину родителя */
.npage-search-wrap[data-state="expanded"] .npage-search {
  width: min(100%, 47.5rem); /* при желании подстрой значение */
}

/* Поле ввода — типографика по ТЗ */
.npage-search__input {
  background: transparent;
  border: 0;
  outline: 0;
  font-family: var(--font-family);
  font-weight: 400;
  font-size: 1rem;
  line-height: 96%;
  letter-spacing: -0.03em;
  color: var(--npage-text);
  min-width: 0; /* чтобы текст корректно ужимался в гриде */
}

/* Группа кнопок справа: держим gap .5rem между крестиком и submit */
.npage-search__ctrl {
  display: grid;
  grid-auto-flow: column;
  align-items: center;
  gap: 0.5rem; /* ровно .5rem по ТЗ */
}

/* Крестик */
.npage-search__clear {
  display: grid;
  place-items: center;
  width: 2.25rem;
  height: 2.25rem;
  border-radius: 0.75rem;
  border: 0;
  color: rgba(0, 0, 0);
  background: transparent;
  cursor: pointer;
  opacity: 0;
  transform: scale(0.9);
  transition: opacity 0.25s ease, transform 0.25s ease;
}

/* Кнопка Найти */
.npage-search__submit {
  display: grid;
  place-items: center;
  height: 2.5rem;
  padding: 0 1rem;
  border-radius: 1rem;
  border: 0;
  background: #332d8d;
  color: #fff;
  font: 600 0.875rem/1 var(--font-family);
  cursor: pointer;
  opacity: 0;
  transform: translateX(0.5rem);
  transition: opacity 0.25s ease, transform 0.25s ease,
    background-color 0.25s ease;
}

/* Появление кнопок только в раскрытом состоянии */
.npage-search-wrap[data-state="expanded"] .npage-search__clear,
.npage-search-wrap[data-state="expanded"] .npage-search__submit {
  opacity: 1;
  transform: none;
}

/* Фокус для доступности */
.npage-search__input:focus {
  outline: none;
}

/* Адаптивы (по твоим правилам) */
@media (max-width: 64rem) {
  .npage-search-wrap[data-state="expanded"] .npage-search {
    width: min(100%, 42.5rem);
  }
}

.npage-search {
  --search-bg: #e6e6ec;
  --search-radius: 1.5rem;
  height: 3.9375rem;
  border-radius: var(--search-radius);
  background: var(--search-bg);
  display: grid;
  grid-template-columns: 1.5rem 1fr auto;
  align-items: center;
  gap: 0.75rem;
  padding: 0 0.5rem 0 1rem;
  width: 20.875rem;
  transition: width 700ms cubic-bezier(0.22, 1, 0.36, 1);
}
@media (max-width: 33.75rem) {
  .npage-search {
    width: auto;
  }
}
.npage-search-wrap[data-state="expanded"] .npage-search {
  width: min(43rem);
}
@media (max-width: 33.75rem) {
  .npage-search-wrap[data-state="expanded"] .npage-search {
    width: auto;
  }
}
/* глушим встроенный cancel у webkit */
.npage-search__input[type="search"]::-webkit-search-cancel-button {
  -webkit-appearance: none;
  appearance: none;
  display: none;
}

/* глушим служебные украшалки webkit, чтобы не всплывали иконки */
.npage-search__input[type="search"]::-webkit-search-decoration,
.npage-search__input[type="search"]::-webkit-search-results-button,
.npage-search__input[type="search"]::-webkit-search-results-decoration {
  -webkit-appearance: none;
  appearance: none;
  display: none;
}

/* старый Edge/IE (на случай совместимости) */
.npage-search__input::-ms-clear,
.npage-search__input::-ms-reveal {
  display: none;
  width: 0;
  height: 0;
}
.npage-search__input::placeholder {
  opacity: 1;
  transition: opacity 0.35s cubic-bezier(0.22, 1, 0.36, 1);
}

/* при раскрытии — placeholder исчезает */
[data-state="expanded"] .npage-search__input::placeholder {
  opacity: 0;
}

/* при сворачивании — возвращается */
[data-state="collapsed"] .npage-search__input::placeholder {
  opacity: 1;
}

.from-period {
  width: 1.5rem;
  height: 1.5rem;
}

/* Глобальные переменные для мобилки */
:root {
  --hdr-h: 5.5rem; /* подставь фактическую высоту шапки на мобилке */
  --ncal-pad-x: 1.5rem;
}

/* === Мобильный full-screen sheet === */
@media (max-width: 33.75rem) {
  .npage-period-wrap {
    position: static;
  } /* якорь больше не нужен для позиционирования */

  .ncal {
    position: fixed;
    inset: calc(var(--hdr-h) + 0.625rem) 0 0 0;
    z-index: 1000;
    display: grid;
    grid-template-rows: auto 1fr auto;
    padding: 1.5rem var(--ncal-pad-x) 1.5rem var(--ncal-pad-x);
    border-radius: 1.5rem 1.5rem 0 0;
    box-shadow: 0 0.5rem 4rem rgba(0, 0, 0, 0.15);
    background: #fff;
    max-inline-size: none; /* убираем фикс. ширину */
    inline-size: 100%;
    block-size: calc(100dvh - (var(--hdr-h) + 0.625rem));
    overflow: hidden;
    transform: translateY(0); /* для drag анимации */
    will-change: transform;
  }

  /* Перетягиваемая шторка */
  .ncal::before {
    content: "";
    justify-self: center;
    inline-size: 3.5rem;
    block-size: 0.3125rem;
    border-radius: 62.4375rem;
    background: #e6e6ec;
  }

  /* Панель: стрелка — год — стрелка, gap 2.75rem */
  .ncal__panel {
    display: grid;
    grid-template-columns: auto 1fr auto;
    align-items: center;
    column-gap: 2.75rem;
    justify-items: center;
  }
  .ncal__year {
    justify-self: center;
  }

  /* Сетка месяцев: гибкая, прячем скроллбар */
  .ncal__months {
    display: grid;
    gap: 1.5rem;
    overflow: auto;
    scrollbar-width: none;
    -ms-overflow-style: none;
  }
  .ncal__months::-webkit-scrollbar {
    display: none;
  }

  /* Гибкий размер ячеек от ширины экрана */
  :root {
    --ncal-cell: clamp(
      2.25rem,
      calc((100vw - 2 * var(--ncal-pad-x)) / 7),
      3rem
    );
  }
  .ncal-month__grid {
    display: grid;
    grid-template-columns: repeat(7, var(--ncal-cell));
    grid-auto-rows: var(--ncal-cell);
    gap: 0;
    justify-content: start;
    inline-size: max-content;
  }

  .ncal__footer {
    display: grid;
    gap: 1.25rem;
  }
  .ncal__apply {
    inline-size: 100%;
    block-size: 3.25rem;
    border-radius: 1.25rem;
  }
}

/* Ховеры только там, где они есть */
@media (hover: hover) {
  .ncal__apply:not(:disabled):hover {
    background: #4038b0;
    color: #fff;
  }
}

.ncal-backdrop {
  position: fixed;
  inset: 0;
  background: rgba(0, 0, 0, 0.24);
  z-index: 999;
}
@media (max-width: 33.75rem) {
  .ncal--sheet {
    position: fixed;
    inset: calc(var(--hdr-h, 3.5rem) + 0.625rem) 0 0 0;
    z-index: 1000;
    display: grid;
    grid-template-rows: auto 1fr auto;
    width: 100%;
    height: calc(100dvh - (var(--hdr-h, 3.5rem) + 0.625rem));
    border-radius: 1.5rem 1.5rem 0 0;
    box-shadow: 0 0.375rem 3rem rgba(0, 0, 0, 0.1);
    overflow: hidden;
    animation: slideUp 0.25s ease-out;
  }

  /* Внутренний скролл */
  .ncal--sheet .ncal__months {
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
  }
  .ncal--sheet .ncal__months::-webkit-scrollbar {
    display: none;
  }

  /* Тянем на всю ширину */
  .ncal--sheet .ncal-month__grid {
    width: 100%;
    justify-content: center;
  }

  /* Аккуратная шторка сверху */
  .ncal--sheet::before {
    content: "";
    justify-self: center;
    width: 3.5rem;
    height: 0.3125rem;
    border-radius: 62.4375rem;
    background: #ddd;
  }

  @keyframes slideUp {
    from {
      transform: translateY(100%);
      opacity: 0;
    }
    to {
      transform: translateY(0);
      opacity: 1;
    }
  }
}

/* Мобильный sheet: жёстко переопределяем десктопные размеры/позиции */
@media (max-width: 33.75rem) {
  .ncal--sheet {
    position: fixed;
    left: auto;
    right: auto;
    top: auto;
    inset: calc(var(--hdr-h, 3.5rem) + 0.625rem) 0 0 0;

    z-index: 1000;
    display: grid;
    grid-template-rows: auto 1fr auto;
    width: 100vw;
    max-width: 100vw;
    height: calc(100dvh - (var(--hdr-h, 3.5rem) + 0.625rem));
    border-radius: 1.5rem 1.5rem 0 0;
    overflow: hidden;
    box-shadow: 0 0.375rem 3rem rgba(0, 0, 0, 0.1);
    transform: translateY(0);
  }

  /* скролл только внутри контента */
  .ncal--sheet .ncal__months {
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
  }
  .ncal--sheet .ncal__months::-webkit-scrollbar {
    display: none;
  }

  /* сетка тянется ровно в ширину экрана */
  .ncal--sheet .ncal-month__grid {
    --ncal-pad-x: 1.5rem;
    --ncal-cell: clamp(
      2.25rem,
      calc((100vw - 2 * var(--ncal-pad-x)) / 7),
      3rem
    );
    display: grid;
    grid-template-columns: repeat(7, var(--ncal-cell));
    grid-auto-rows: var(--ncal-cell);
    gap: 0;
    justify-content: center;
    width: 100%;
  }

  /* панель: год и стрелки с gap 2.75rem */
  .ncal--sheet .ncal__panel {
    display: grid;
    grid-template-columns: auto 1fr auto;
    align-items: center;
    justify-items: center;
    column-gap: 2.75rem;
  }

  /* шторка-«пилюля» сверху */
  .ncal--sheet::before {
    content: "";
    justify-self: center;
    width: 3.5rem;
    height: 0.3125rem;
    border-radius: 62.4375rem;
    background: #e6e6ec;
  }
}

@media (max-width: 33.75rem) {
  #jsCalendar.ncal--dragging {
    touch-action: none;
  } /* глушим тач во время драга */
}
/* Ручка для шторки + визуальная "пилюля" */
@media (max-width: 33.75rem) {
  #jsCalendar .ncal__grab {
    display: grid;
    place-items: center;
    height: 4rem; /* зона хвата */
    touch-action: none; /* отдаём жест нам, а не браузеру */
  }
  #jsCalendar .ncal__grab::before {
    content: "";
    width: 3.5rem;
    height: 0.3125rem;
    border-radius: 62.4375rem;
    background: #e6e6ec;
  }

  /* на время драга не даём браузеру скроллить */
  #jsCalendar.ncal--dragging {
    touch-action: none;
  }

  /* уже есть, но на всякий случай — скролл только внутри месяцев */
  #jsCalendar .ncal__months {
    overscroll-behavior: contain;
    -webkit-overflow-scrolling: touch;
  }

  /* между стрелками и годом — 2.75rem (только мобилка) */
  #jsCalendar .ncal__panel {
    grid-template-columns: auto 1fr auto;
    column-gap: 2.75rem;
    justify-items: center;
    align-items: center;
  }
}

/* Hover по дням показываем только там, где есть курсор */
@media (hover: hover) {
  .ncal-day:hover {
    background: rgba(0, 0, 0, 0.06);
  }
}
@media (hover: none) {
  .ncal-day:hover {
    background: transparent;
  }
}
/* На мобилке оставляем только интерактивную шторку .ncal__grab */
@media (max-width: 33.75rem) {
  .ncal::before,
  .ncal--sheet::before {
    content: none;
    display: none;
  }
}
/* Мобилка: дети календаря занимают ширину, ручка центрируется */
@media (max-width: 33.75rem) {
  #jsCalendar {
    justify-items: stretch;
  } /* перебиваем старое start */
  #jsCalendar .ncal__grab {
    display: grid;
    place-items: center;
    height: 4rem;
    touch-action: none;
    justify-self: stretch; /* или: justify-self: center; width:100%; */
    width: 100%;
  }
}
@media (max-width: 33.75rem) {
  /* выравниваем все по сетке */
  #jsCalendar {
    justify-items: stretch;
  }

  /* ручка */
  #jsCalendar .ncal__grab {
    display: grid;
    place-items: center;
    height: 2.75rem; /* делаем чуть меньше, чтобы не отъедала место */
    width: 100%;
    touch-action: none;
    justify-self: stretch;
  }

  /* сама "пилюля" */
  #jsCalendar .ncal__grab::before {
    content: "";
    width: 2.75rem;
    height: 0.125rem;
    border-radius: 62.4375rem;
    background: #e6e6ec;
    padding-top: 0.25rem;
  }

  /* убираем отступ сверху у всей сетки календаря */
  #jsCalendar {
    padding-top: 0;
  }
}

.npage-list {
  display: grid;
  row-gap: 6rem;
}
@media (max-width: 64rem) {
  .npage-list {
    row-gap: 4rem;
  }
}

.npage-pager__in {
  display: grid;
  grid-auto-flow: column;
  align-items: center;
  justify-content: center;
  column-gap: 6.25rem;
}

.npage-pager__arrow {
  display: grid;
  place-items: center;
  width: 4rem;
  height: 4rem;
  border-radius: 1.125rem;
  background: #e6e6ec;
}
.npage-pager__arrow svg path {
  fill: #000;
}
.npage-pager__arrow.is-disabled {
  opacity: 0.5;
  pointer-events: none;
}

.npage-pager__list {
  display: flex;
  align-items: center;
  column-gap: 4rem;
  padding: 0.9375rem;
  border-radius: 1.5rem;
}

.npage-pager__num {
  text-decoration: none;
  font-family: var(--font-family);
  font-weight: 500;
  font-size: 1.5rem;
  line-height: 140%;
  letter-spacing: -0.03em;
  color: rgba(0, 4, 19, 0.5);
}
.npage-pager__num.is-active {
  color: #000413;
  pointer-events: none;
}

.npage-pager__dots {
  font-size: 1.5rem;
  color: rgba(0, 4, 19, 0.5);
  text-decoration: none;
}

.npage-pager {
  display: grid;
  justify-items: center;
}

.npage-pager__arrow--prev svg {
  transform: rotate(180deg);
}
/* планшеты: 541–1024 px */
@media (min-width: 33.8125rem) and (max-width: 64rem) {
  /* 2 карточки в ряд */
  .npage-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  /* квадратные фото внутри карточек */
  .npage-card__media {
    aspect-ratio: 1 / 1;
  }
  .npage-card__media img,
  .npage-card__ph {
    width: 100%;
    height: 100%;
    object-fit: cover; /* вписываем без искажений */
    border-radius: 1.5rem; /* как в макете */
  }
}
@media (max-width: 64rem) {
  .npage-pager {
    /* растянуть саму навигацию */
    justify-items: stretch;
  }

  .npage-pager__in {
    width: 100%; /* важно: тянем на всю ширину контейнера */
    display: grid;
    grid-template-columns: 4rem 1fr 4rem; /* [prev] [numbers] [next] */
    align-items: center;
    column-gap: 0; /* без промежутка между зонами */
  }

  .npage-pager__arrow--prev {
    grid-column: 1;
    justify-self: start; /* прилипает влево */
  }
  .npage-pager__arrow--next {
    grid-column: 3;
    justify-self: end; /* прилипает вправо */
  }

  .npage-pager__list {
    grid-column: 2;
    justify-content: center; /* цифры по центру */
    padding: 0.9375rem; /* как в макете */
    column-gap: 4rem; /* расстояние между 1, 2, 3, … */
  }
}

/* ≤540: компактная пагинация, всё вмещается в экран */
@media (max-width: 33.75rem) {
  .npage-pager {
    justify-items: stretch;
  }

  .npage-pager__in {
    width: 100%;
    display: grid;
    grid-template-columns: 2.75rem minmax(0, 1fr) 2.75rem; /* [←] [числа] [→] */
    align-items: center;
    column-gap: 0;
  }

  /* стрелки: 44×44, радиус 16; svg 8×16 */
  .npage-pager__arrow {
    width: 2.75rem;
    height: 2.75rem;
    border-radius: 1rem;
  }
  .npage-pager__arrow svg {
    width: 0.5rem;
    height: 1rem;
    display: block;
  }
  .npage-pager__arrow--prev svg {
    transform: rotate(180deg);
  }

  /* числа: по центру, шрифт и интервалы как по ТЗ */
  .npage-pager__list {
    grid-column: 2;
    min-width: 0; /* позволяет центру сжиматься */
    display: flex;
    justify-content: center;
    align-items: center;
    column-gap: 2rem; /* gap между 1,2,3, … */
    padding: 0.9375rem; /* внутренние паддинги только у чисел */
    border-radius: 1.5rem;
    white-space: nowrap;
    overflow: hidden; /* на всякий случай, без горизонт.скролла */
  }

  .npage-pager__num,
  .npage-pager__dots {
    font-weight: 500;
    font-size: 1rem;
    line-height: 140%;
    letter-spacing: -0.03em;
  }
  .npage-pager__num {
    color: rgba(0, 4, 19, 0.5);
    text-decoration: none;
  }
  .npage-pager__num.is-active {
    color: #000413;
    pointer-events: none;
  }
  .ncal {
    gap: 1rem;
  }
}
.npage-search__ctrl {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
}

/* Кнопка очистки — такая же капсула по высоте, как "Найти" */
.npage-search__clear {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.75rem;
  height: 2.75rem;
  padding: 0;
  border: none;
  background: transparent;
  cursor: pointer;
  line-height: 0;
  flex-shrink: 0;
}

/* Сам крестик полностью заполняет кнопку */
.npage-search__clear-icon {
  width: 2.75rem;
  height: auto;
  display: block;
}
.npage-search__clear {
  border-radius: 999px;
  transition: background-color 0.3s ease-out;
}

.npage-search__submit {
  transition: opacity 0.3s ease-out;
}
/* когда свёрнуто — кнопки не кликаются и не ховерятся */
.npage-search-wrap[data-state="collapsed"] .npage-search__clear,
.npage-search-wrap[data-state="collapsed"] .npage-search__submit {
  pointer-events: none;
}

/* когда раскрыто — включаем */
.npage-search-wrap[data-state="expanded"] .npage-search__clear,
.npage-search-wrap[data-state="expanded"] .npage-search__submit {
  pointer-events: auto;
}

/* hover только в expanded */
@media (hover: hover) {
  .npage-search-wrap[data-state="expanded"] .npage-search__clear:hover {
    background-color: #dcdce2;
    border-radius: 1rem;
  }

  .npage-search-wrap[data-state="expanded"] .npage-search__submit:hover {
    opacity: 0.8;
  }
}
.npage-cat.has-sub {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem; /* 8px */
}

.npage-cat__arr {
  display: inline-flex;
  line-height: 0;
}

.npage-cat__arr svg {
  width: 1rem; /* 16px */
  height: 1rem; /* 16px */
  flex: 0 0 1rem;
}
.npage-cat.has-sub .npage-cat__arr {
  color: rgba(0, 4, 19, 1); /* как #000413 */
}

.npage-cat.has-sub.npage-cat--active .npage-cat__arr {
  color: #fff;
}

/* End */


/* Start:/local/templates/Spoda/assets/news-detail.css?176646766125427*/
/* =================== КАРКАС СТРАНИЦЫ =================== */
.ndetail {
  display: grid;
  gap: 3rem;
  padding-top: 3rem;
  padding-bottom: 0;
}
.ndetail__in {
  display: grid;
  gap: 2rem;
  justify-items: start;
  max-width: 65.125rem;
  width: 100%;
}
.ndetail-head {
  display: grid;
  gap: 1.5rem;
}
.ndetail-back {
  display: inline-grid;
  grid-auto-flow: column;
  align-items: center;
  gap: 0.5rem;
  font-weight: 400;
  font-size: 1.25rem;
  line-height: 150%;
  letter-spacing: -0.02em;
  text-decoration: none;
  color: rgb(0, 0, 0, 0.6);
  justify-content: left;
}
@media (max-width: 33.75rem) {
  .ndetail-back {
    font-weight: 400;
    font-size: 1rem;
    line-height: 150%;
    letter-spacing: -0.02em;
  }
}

.ndetail-title {
  font-weight: 500;
  font-size: 2.75rem;
  line-height: 120%;
  letter-spacing: -0.02em;
  font-family: var(--font-family);
  color: #000413;
}
@media (max-width: 33.75rem) {
  .ndetail-title {
    font-weight: 500;
    font-size: 2rem;
    line-height: 110%;
    letter-spacing: -0.02em;
  }
}
.ndetail-date {
  font-weight: 500;
  font-size: 1.25rem;
  line-height: 150%;
  letter-spacing: -0.02em;
  color: #000413;
  opacity: 0.6;
}
@media (max-width: 33.75rem) {
  .ndetail-date {
    font-weight: 500;
    font-size: 1rem;
    line-height: 150%;
    letter-spacing: -0.02em;
  }
}
.ndetail-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  list-style: none;
  padding: 0;
}
.ndetail-chip {
  display: grid;
  align-items: center;
  border-radius: 0.75rem;
  padding: 0.75rem;
  background: #e6e6ec;
  font-weight: 500;
  font-size: 1rem;
  line-height: 96%;
  letter-spacing: -0.02em;
  color: rgba(0, 0, 0, 0.6);
  text-decoration: none;
}

/* =================== ГАЛЕРЕЯ (MAIN + THUMBS) =================== */
/* защита от раздувания + базовая геометрия для Свипера */
.ndetail__in,
.ndetail-gallery,
.ndetail-main,
.ndetail .swiper {
  min-width: 0;
  width: 100%;
  height: 100%;
}

.ndetail-gallery {
  display: grid;
  gap: 0.75rem;
  width: 100%;
}

@media (max-width: 33.75rem) {
  .ndetail-gallery {
    gap: 0.25rem;
  }
}

/* ---------- Главный слайдер ---------- */
.ndetail-main {
  position: relative;
  display: grid;
  place-items: center;
  overflow: hidden;
  background: #0e0e12;
  border-radius: 2.75rem;
  height: 36.625rem; /* desktop: фикс по макету */
}
.ndetail-main .swiper {
  width: 100%;
  height: 100%;
}
.ndetail-main .swiper-wrapper {
  height: 100%;
}
.ndetail-main .swiper-slide {
  display: grid;
  place-items: center;
  height: 100%;
}
.ndetail-main .swiper-slide img {
  width: 100%;
  height: 36.625rem;
  object-fit: cover; /* заполняем без «чёрных полей» */
}

/* Навигация: прозрачная зона + «пилюля» */
.ndetail-nav {
  appearance: none;
  -webkit-appearance: none;
  background: transparent;
  border: 0;
  padding: 0;

  position: absolute;
  inset-block-start: 50%;
  transform: translateY(-50%);
  display: grid;
  place-items: center;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.2s ease;
  z-index: 5;
}
.ndetail-prev {
  inset-inline-start: 0.75rem;
}
.ndetail-next {
  inset-inline-end: 0.75rem;
}

@media (hover: hover) {
  .ndetail-main:hover .ndetail-nav {
    opacity: 1;
    pointer-events: auto;
  }
}

.nd-pill {
  display: grid;
  place-items: center;
  border-radius: 1rem;
  padding: 1rem 0.5rem;
  background: rgba(0, 0, 0, 0.5);
  -webkit-backdrop-filter: blur(0.3125rem);
  backdrop-filter: blur(0.3125rem);
  width: 1.5625rem;
}
.ndetail-nav svg {
  display: block;
  width: 0.625rem;
  height: 1.25rem;
  fill: #fff;
}

/* ---------- Превьюшки (7 / 5 / 4) ---------- */
.ndetail-row {
  display: grid;
  grid-template-columns: 1fr;
}
.ndetail-thumbs .swiper {
  width: 100%;
}

/* Зазор только gap'ом (Swiper — spaceBetween: 0 в JS) */
.ndetail-thumbs .swiper-wrapper {
  align-items: center;
  column-gap: 0.75rem;
}

@media (max-width: 33.75rem) {
  .ndetail-thumbs .swiper-wrapper {
    column-gap: 0.25rem;
  }
}

/* DESKTOP: 7 карточек, 6 промежутков * .75rem */
.ndetail-thumbs .swiper-slide {
  width: calc((100% - (6 * 0.75rem)) / 7);
  aspect-ratio: 139 / 96; /* требуется 139×96 */
  border-radius: 1rem;
  overflow: hidden;
  display: block;
}
.ndetail-thumbs .swiper-slide img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

/* =================== КОНТЕНТ И CTA =================== */
.ndetail-body {
  display: grid;
  gap: 1.5rem;
  font-weight: 400;
  font-size: 1.25rem;
  line-height: 150%;
  letter-spacing: -0.02em;
  color: #000413;
}
.ndetail-body {
  width: 100%;
  min-width: 0; /* важно для grid внутри контейнеров */
  justify-self: stretch;
}
@media (max-width: 33.75rem) {
  .ndetail-body {
    font-weight: 400;
    font-size: 1rem;
    line-height: 150%;
    letter-spacing: -0.02em;
  }
}

.ndetail-cta {
  display: grid;
  gap: 0.375rem;
  justify-items: start;
}
.ndetail-cta__link {
  display: inline-grid;
  grid-auto-flow: column;
  gap: 0.625rem;
  text-decoration: none;
  font-weight: 600;
  font-size: 1.25rem;
}

/* =================== АДАПТИВ =================== */
@media (max-width: 64rem) {
  .ndetail-main {
    height: auto;
    aspect-ratio: 1042 / 586;
    border-radius: 2rem;
  }

  /* TABLET: 5 карточек, 4 промежутка */
  .ndetail-thumbs .swiper-slide {
    width: calc((100% - (4 * 0.75rem)) / 5);
    border-radius: 0.75rem;
  }
}

@media (max-width: 33.75rem) {
  .ndetail-chip {
    padding: 0.5rem;
    font-size: 0.875rem;
    line-height: 136%;
  }
  .ndetail-cta__link {
    font-size: 1.0625rem;
  }

  .ndetail-thumbs .swiper-slide {
    width: calc((100% - (2 * 0.375rem)) / 4);
  }
  .ndetail-main {
    height: auto;
    aspect-ratio: 1 / 1;
    border-radius: 2rem;
  }
}

/* ваши кастомные кнопки, если ещё в разметке */
.ndetail .ndetail-row .ndetail-row__nav {
  display: none;
  pointer-events: none;
}

/* на всякий: стандартные кнопки Swiper */
.ndetail-thumbs .swiper-button-prev,
.ndetail-thumbs .swiper-button-next,
.ndetail-thumbs .swiper-button-prev::after,
.ndetail-thumbs .swiper-button-next::after {
  display: none;
  content: none;
}

/* Контейнер блока ссылки под текстом */
.ndetail-cta {
  display: grid;
  gap: 0.5rem; /* расстояние между ссылкой и подписью */
  justify-items: start;
}

/* Ссылка-кнопка с иконкой справа */
.ndetail-cta__link {
  display: inline-grid;
  grid-auto-flow: column;
  align-items: center;
  gap: 0.5rem; /* зазор между текстом и SVG */
  color: #332d8d;
  text-decoration: underline;
  text-decoration-skip-ink: none;
  font-family: var(--font-family);
  font-weight: 500;
  font-size: 1.5rem;
  line-height: 110%;
  letter-spacing: -0.02em;
}
.ndetail-cta__link .ndetail-cta__arr {
  width: 0.4375rem;
  height: 0.875rem;
}

/* Подпись под ссылкой */
.ndetail-cta__note {
  color: #000413;
  opacity: 0.5;
  font-family: var(--font-family);
  font-weight: 400;
  font-size: 1.125rem;
  line-height: 150%;
  letter-spacing: -0.02em;
}

/* ===== Цитата ===== */
.ndetail-quote {
  display: grid;
  gap: 1rem;
  background: #e6e6ec;
  border-radius: 2.75rem;
  padding: 3rem;
}

.ndetail-quote__text {
  font-family: var(--font-family);
  font-weight: 500;
  font-size: 2rem;
  line-height: 120%;
  letter-spacing: -0.02em;
  color: #000413;
}

.ndetail-quote__author {
  justify-self: end;
  font-family: var(--font-family);
  font-weight: 400;
  font-size: 1.25rem;
  line-height: 150%;
  letter-spacing: -0.02em;
  color: #000413;
}

/* ===== Мобильная адаптация ===== */
@media (max-width: 33.75rem) {
  .ndetail-quote {
    padding: 1.5rem;
    gap: 0.75rem;
    border-radius: 1.5rem;
  }

  .ndetail-quote__text {
    font-weight: 500;
    font-size: 1rem;
    line-height: 150%;
    letter-spacing: -0.02em;
  }

  .ndetail-quote__author {
    font-weight: 400;
    font-size: 1rem;
    line-height: 150%;
    letter-spacing: -0.02em;
  }
}

/* Маска под зум */
.mcard__media {
  position: relative;
  overflow: hidden;
}

/* База */
.mcard__media img {
  display: block;
  width: 100%;
  height: auto;
  transform: scale(1);
  transform-origin: center;
  transition: transform 300ms ease-out;
}

/* Hover только там, где он есть */
@media (hover: hover) {
  .mcard__link:hover .mcard__media img {
    transform: scale(1.1);
  }
}

/* Блок под цитатой */
.ndetail-afterquote {
  display: grid;
  gap: 1.5rem; /* отступ между заголовком и подзаголовком */
}

/* Заголовок */
.ndetail-afterquote__title {
  font-family: var(--font-family);
  font-weight: 500;
  font-size: 2rem;
  line-height: 120%;
  letter-spacing: -0.02em;
  color: #000413;
}
@media (max-width: 33.75rem) {
  .ndetail-afterquote__title {
    font-weight: 500;
    font-size: 1.5rem;
    line-height: 110%;
    letter-spacing: -0.02em;
  }
  .ndetail-afterquote__text {
    font-weight: 400;
    font-size: 1rem;
    line-height: 150%;
    letter-spacing: -0.02em;
  }
}
/* Подзаголовок */
.ndetail-afterquote__text {
  font-family: var(--font-family);
  font-weight: 400;
  font-size: 1.25rem;
  line-height: 150%;
  letter-spacing: -0.02em;
  color: #000413;
}

@media (max-width: 33.75rem) {
  .ndetail-afterquote__text {
    font-weight: 400;
    font-size: 1rem;
    line-height: 150%;
    letter-spacing: -0.02em;
  }
}

/* Вьюпорт с прокруткой (у тебя уже есть — оставляем) */
.ndetail-table {
  display: grid;
  gap: 2rem;
}
.ndetail-table__title {
  font-family: var(--font-family);
  font-weight: 500;
  font-size: 2rem;
  line-height: 120%;
  letter-spacing: -0.02em;
  color: #000413;
}
@media (max-width: 33.75rem) {
  .ndetail-table {
    gap: 1.5rem;
  }

  .ndetail-table__title {
    font-weight: 500;
    font-size: 1.5rem;
    line-height: 110%;
    letter-spacing: -0.02em;
  }
}
.nd-table-scroll {
  overflow-x: auto;
  overflow-y: hidden;
  -webkit-overflow-scrolling: touch;
  overscroll-behavior-x: contain;
}

/* САМА ТАБЛИЦА: принудительная типографика и сетка */
.nd-table-scroll table {
  border-collapse: collapse; /* нужно, чтобы линия была сплошной через всю строку */
  width: fit-content;
  min-width: 100%;
  max-width: none;
  background: #fff;
  border-radius: 1rem; /* можно оставить для мягких углов */
  text-align: left; /* базовое выравнивание */
}

.nd-table-scroll td p,
.nd-table-scroll th p {
  margin: 0;
} /* визуальный редактор кладёт <p> — убираем отступы */

/* Шапка (первая строка) */
.nd-table-scroll tr:first-child th,
.nd-table-scroll tr:first-child td {
  font-weight: 400; /* как просили — обычный вес */
  color: rgba(0, 4, 19, 0.6); /* 000413 с прозрачностью 0.6 */
}

/* Разделительные линии через всю ширину (включая первую и последнюю) */
.nd-table-scroll tr > * {
  border-top: 0.0625rem solid #000;
} /* линия «перед» каждой строкой */
.nd-table-scroll tr:last-child > * {
  border-bottom: 0.0625rem solid #000;
} /* линия «после» всей таблицы */

/* Мобилка — компактнее шрифт/отступы при желании */
@media (max-width: 33.75rem) {
  .nd-table-scroll th,
  .nd-table-scroll td {
    font-size: 1rem;
    padding: 1.5rem 1rem;
  }
}
/* вьюпорт со скроллом – без изменений */
.nd-table-scroll {
  overflow-x: auto;
  overflow-y: hidden;
  -webkit-overflow-scrolling: touch;
  overscroll-behavior-x: contain;
}

/* таблица: без фона/радиусов, жёсткая сетка */
.nd-table-scroll table {
  border-collapse: collapse; /* чтобы линии были сплошные */
  table-layout: fixed; /* фиксируем ширины колонок */
  width: fit-content;
  min-width: 100%;
  background: transparent; /* убираем белый фон */
  border-radius: 0;
}

/* ячейки: ширина 20.875rem, «gap» 1.5rem (по .75rem паддинг с каждой стороны),
   вертикальные отступы 2rem */
.nd-table-scroll th,
.nd-table-scroll td {
  width: 20.875rem;
  min-width: 20.875rem; /* колонка из макета */
  padding: 2rem; /* .75rem + .75rem = 1.5rem между колонками */
  text-align: left;
  vertical-align: middle;
  font-family: var(--font-family);
  font-weight: 400;
  font-size: 1.25rem;
  line-height: 150%;
  letter-spacing: -0.02em;
  color: #000413;
  background: transparent; /* на всякий — без фона */
  padding-left: 0;
}

/* редактор часто кладёт <p> — убираем их отступы */
.nd-table-scroll td p,
.nd-table-scroll th p {
  margin: 0;
}

/* шапка: тот же стиль, только цвет 000413 с 0.6 */
.nd-table-scroll tr:first-child th,
.nd-table-scroll tr:first-child td {
  color: rgba(0, 4, 19, 0.6);
  background: transparent; /* без серого фона */
}

/* разделительные линии через всю ширину */
.nd-table-scroll tr > * {
  border-top: 0.0625rem solid rgba(0, 4, 19, 0.1); /* 0.1 opacity */
}
.nd-table-scroll tr:last-child > * {
  border-bottom: 0.0625rem solid rgba(0, 4, 19, 0.1);
}

/* мобилка при желании компактнее */
@media (max-width: 33.75rem) {
  .nd-table-scroll th,
  .nd-table-scroll td {
    font-size: 1rem;
    padding: 2rem 0.625rem;
    width: 9rem;
    min-width: 9rem;
    padding-left: 0;
  }
}
/* сам вьюпорт */
.nd-table-scroll {
  width: calc(100% + (100vw - 100%) / 2);
  overflow-x: auto;
  overflow-y: hidden;

  /* свайп и инерция */
  -webkit-overflow-scrolling: touch;
  overscroll-behavior-x: contain;
  touch-action: auto;

  /* внешний вид при ховере/drag на десктопе */
  cursor: grab;
}

/* полностью скрыть скроллбар во всех браузерах */
.nd-table-scroll::-webkit-scrollbar {
  width: 0;
  height: 0;
  display: none;
}
.nd-table-scroll {
  scrollbar-width: none;
  -ms-overflow-style: none;
}

/* во время перетаскивания */
.nd-table-scroll.is-drag {
  cursor: grabbing;
  user-select: none;
}

.back__to {
  width: 1.125rem;
  height: 1.125rem;
}

.carousel__arrows {
  width: 0.625rem;
  height: 1.25rem;
}

.nd_doc_icon {
  width: 1.5rem;
  height: 1.5rem;
}

/* ===== БЛОК «ДОКУМЕНТЫ» ===== */
.ndetail-docs {
  display: grid;
  gap: 1.5rem; /* расстояние между заголовком и файлами */
}

.ndetail-docs__title {
  font-family: var(--font-family);
  font-weight: 500;
  font-size: 2rem;
  line-height: 120%;
  letter-spacing: -0.02em;
  color: #000413;
}

.ndetail-docs__list {
  display: grid;
  gap: 2rem;
}

.ndetail-docs__item {
  list-style: none;
}

/* ===== ЭЛЕМЕНТ ДОКУМЕНТА ===== */
.nd-doc {
  display: flex;
  align-items: center;
  gap: 1rem;
  text-decoration: none;
  color: inherit;
}

.nd-doc__icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 4rem;
  height: 4rem;
  border-radius: 1.25rem;
  background: #e6e6ec;
  flex-shrink: 0;
}

.nd-doc__cnt {
  display: grid;
  gap: 0.25rem;
}

.nd-doc__name {
  font-weight: 500;
  font-size: 1.25rem;
  line-height: 136%;
  letter-spacing: -0.03em;
  color: #000413;
}

.nd-doc__size {
  font-weight: 500;
  font-size: 1rem;
  line-height: 136%;
  letter-spacing: -0.03em;
  color: rgba(0, 4, 19, 0.6);
}

.ndetail-more__title2 {
  font-family: var(--font-family);
  font-weight: 500;
  font-size: 2.75rem;
  line-height: 120%;
  letter-spacing: -0.02em;
  color: var(--chernyy-osnovnoy, #000413);
}

@media (max-width: 33.75rem) {
  .ndetail-more__title2 {
    font-weight: 500;
    font-size: 2rem;
    line-height: 110%;
    letter-spacing: -0.02em;
  }
}

/* Сверху: «Все новости» ↔ header — 1.5rem */
.ndetail-top {
  display: grid;
  gap: 1.5rem;
}
@media (max-width: 33.75rem) {
  .ndetail-top {
    gap: 1rem;
  }
}
/* Внутри header: заголовок ↔ дата — 1rem; дата ↔ теги — 1.5rem */
.ndetail-head {
  display: grid;
  gap: 1.5rem;
}
.ndetail-titlebox {
  display: grid;
  gap: 1rem;
}

/* Галерея ↔ основной текст — 1.5rem */
.ndetail-galbody {
  display: grid;
  gap: 1.5rem;
}

/* Основной текст ↔ CTA — 4rem, и этот же wrap гарантирует 4rem ДО цитаты */
.ndetail-bodycta {
  display: grid;
  gap: 4rem;
  justify-items: start;
}

/* Цитата ↔ блок под цитатой — 4rem */
.ndetail-quotegrp {
  display: grid;
  gap: 4rem;
}

/* Блок под цитатой ↔ таблица, и таблица ↔ документы — по 4rem */
.ndetail-tabledocs {
  display: grid;
  gap: 4rem;
}
.ndetail-more.nndetail-more {
  padding-top: 7.5rem;
  padding-bottom: 8.875rem;
}

@media (max-width: 64rem) {
  .ndetail-more.nndetail-more {
    padding-top: 2.625rem;
    padding-bottom: 6rem;
  }
}
@media (max-width: 33.75rem) {
  .ndetail-tabledocs {
    gap: 2.75rem;
  }
  .ndetail-more.nndetail-more {
    padding-top: 2.5rem;
    padding-bottom: 4.25rem;
  }
  .mcard__media {
    border-radius: 2rem;
  }
  .mcard__title {
    font-weight: 500;
    font-size: 1.5rem;
    line-height: 120%;
    letter-spacing: -0.02em;
  }
  .mcard__lead {
    font-weight: 400;
    font-size: 1rem;
    line-height: 150%;
    letter-spacing: -0.02em;
  }
  .mcard__date {
    font-weight: 500;
    font-size: 1rem;
    line-height: 150%;
    letter-spacing: -0.02em;
  }
}

@media (max-width: 64rem) and (min-width: 33.8125rem) {
  .mcard__media {
    aspect-ratio: 1 / 1;
    width: 100%;
    overflow: hidden;
  }
  .mdetail-more__grid {
    row-gap: 3.25rem;
  }
}
@media (max-width: 33.75rem) {
  .ndetail-bodycta {
    gap: 2.75rem;
  }
  .ndetail-quotegrp {
    gap: 2.75rem;
  }
}
@media (max-width: 33.75rem) {
  .ndetail-docs__title {
    font-weight: 500;
    font-size: 1.5rem;
    line-height: 110%;
    letter-spacing: -0.02em;
  }
  .nd-doc__name {
    font-weight: 500;
    font-size: 1rem;
    line-height: 136%;
    letter-spacing: -0.03em;
  }
  .nd-doc__size {
    font-weight: 500;
    font-size: 0.875rem;
    line-height: 136%;
    letter-spacing: -0.03em;
  }
  .nd-doc__icon {
    border-radius: 1rem;
    width: 3rem;
    height: 3rem;
  }
}
@media (max-width: 33.75rem) {
  .ndetail-cta__link {
    font-weight: 500;
    font-size: 1rem;
    line-height: 150%;
    letter-spacing: -0.02em;
  }
}
@media (max-width: 33.75rem) {
  .ndetail-cta__note {
    font-weight: 500;
    font-size: 0.875rem;
    line-height: 136%;
    letter-spacing: -0.02em;
  }
}

/* ТАЧ-УСТРОЙСТВА: всегда показывать */
@media (hover: none), (pointer: coarse), (max-width: 64rem) {
  .ndetail-main .ndetail-nav {
    opacity: 1;
    pointer-events: auto;
  }
}

/* Мобилка: стрелки чуть компактнее (у тебя уже есть, дополним при желании) */
@media (max-width: 33.75rem) {
  .nd-pill {
    border-radius: 1.125rem;
    padding: 0.75rem 0.375rem;
    width: 2rem;
    height: 2rem;
  }
  .ndetail-nav svg {
    width: 0.5rem;
    height: 0.875rem;
  }
}

/* ===== БЛОК "ЧИТАТЬ ТАКЖЕ" ===== */
.ndetail-more {
  display: grid;
  padding-top: 0;
}
.ndetail-more__in {
  display: grid;
  row-gap: 2rem;
}

.ndetail-more__head {
  display: flex;
  align-items: flex-end;
  gap: 2.75rem;
}
.ndetail-more__title {
  font-family: var(--font-family);
  font-weight: 500;
  font-size: 2.875rem;
  line-height: 110%;
  letter-spacing: -0.02em;
  color: var(--chernyy-osnovnoy, #000413);
}
.ndetail-more__more {
  display: inline-grid;
  grid-auto-flow: column;
  align-items: center;
  gap: 0.5rem;
  text-decoration: none;
  font-family: var(--font-family);
  font-weight: 500;
  font-size: 1.25rem;
  line-height: 150%;
  letter-spacing: -0.02em;
  color: var(--chernyy-600, #000413);
  opacity: 0.6;
}
.ndetail-more__arr {
  display: block;
  color: currentColor;
}

.ndetail-more__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  column-gap: 1.25rem;
  row-gap: 4rem;
}

/* ===== КАРТОЧКА ===== */
.mcard {
  display: grid;
  align-content: flex-start;
}
.mcard__link {
  display: grid;
  row-gap: 1rem;
  text-decoration: none;
  color: inherit;
}

.mcard__media {
  display: grid;
  overflow: hidden;
  border-radius: 2.75rem;
  aspect-ratio: 16/9;
}
.mcard__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.mcard__chips {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}
.mchip {
  display: inline-grid;
  align-items: center;
  padding: 0.75rem 0.5rem;
  border-radius: 0.75rem;
  background: #e6e6ec;
  color: rgba(0, 0, 0, 0.6);
  font-size: 1rem;
}
.mchip--muted {
  background: #e6e6ec;
}

.mcard__title {
  font-family: var(--font-family);
  font-weight: 500;
  font-size: 2.125rem;
  line-height: 120%;
  letter-spacing: -0.02em;
}

.mcard__lead {
  font-family: var(--font-family);
  font-weight: 400;
  font-size: 1.25rem;
  line-height: 150%;
  letter-spacing: -0.02em;
  color: rgba(0, 4, 19, 0.6);
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.mcard__date {
  font-family: var(--font-family);
  font-weight: 500;
  font-size: 1.25rem;
  line-height: 150%;
  letter-spacing: -0.02em;
  color: #000413;
}

/* ===== АДАПТИВ ===== */
@media (max-width: 64rem) {
  .ndetail-more__grid {
    grid-template-columns: repeat(2, 1fr);
    column-gap: 1.25rem;
    row-gap: 4rem;
  }
}

@media (max-width: 33.75rem) {
  .ndetail-more__title {
    font-size: 2.25rem;
  }
  .ndetail-more__more {
    font-size: 1rem;
  }
  .ndetail-more__in {
    row-gap: 1.5rem;
  }
  .ndetail-more__grid {
    grid-template-columns: 1fr;
    row-gap: 4rem;
  }
}
.ndetail-body iframe[src*="vk.com/video_ext.php"],
.ndetail-body iframe[src*="youtube.com"],
.ndetail-body iframe[src*="rutube.ru"] {
  width: 70.5rem;
  aspect-ratio: 16/9;
  height: auto;
  border: 0;
  display: block;
  border-radius: 1rem;
}

@media (max-width: 64rem) {
  .ndetail-body iframe[src*="vk.com/video_ext.php"],
  .ndetail-body iframe[src*="youtube.com"],
  .ndetail-body iframe[src*="rutube.ru"] {
    border-radius: 14px;
    width: 45rem;
  }
}

@media (max-width: 33.75rem) {
  .ndetail-body iframe[src*="vk.com/video_ext.php"],
  .ndetail-body iframe[src*="youtube.com"],
  .ndetail-body iframe[src*="rutube.ru"] {
    border-radius: 12px;
    width: 21.4375rem;
  }
}
.ndetail-thumbs .swiper-slide {
  cursor: pointer;
  user-select: none;
}

.ndetail-thumbs .swiper-slide img {
  cursor: pointer;
  user-select: none;
  -webkit-user-drag: none;
}
.ndetail-nav {
  cursor: pointer;
}

.ndetail-nav:disabled {
  cursor: default;
}
/* База: стрелки красятся от currentColor */
.ndetail-nav {
  cursor: pointer;
  color: #fff; /* активная стрелка */
}

.ndetail-nav .carousel__arrows path {
  fill: currentColor;
  transition: opacity 180ms ease, filter 180ms ease;
}

/* Disabled: Swiper может ставить класс, aria-disabled, и/или disabled */
.ndetail-nav:disabled,
.ndetail-nav.swiper-button-disabled,
.ndetail-nav[aria-disabled="true"] {
  cursor: default;
  color: rgba(255, 255, 255, 0.45); /* “серее” */
}

/* Если хочешь ещё сильнее “приглушить” */
.ndetail-nav:disabled .carousel__arrows,
.ndetail-nav.swiper-button-disabled .carousel__arrows,
.ndetail-nav[aria-disabled="true"] .carousel__arrows {
  opacity: 0.7;
  filter: grayscale(1);
}

/* End */


/* Start:/local/templates/Spoda/assets/swiper/swiper-bundle.min.css?178818983518454*/
/**
 * Swiper 11.2.10
 * Most modern mobile touch slider and framework with hardware accelerated transitions
 * https://swiperjs.com
 *
 * Copyright 2014-2025 Vladimir Kharlampidi
 *
 * Released under the MIT License
 *
 * Released on: June 28, 2025
 */

@font-face{font-family:swiper-icons;src:url('data:application/font-woff;charset=utf-8;base64, d09GRgABAAAAAAZgABAAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABGRlRNAAAGRAAAABoAAAAci6qHkUdERUYAAAWgAAAAIwAAACQAYABXR1BPUwAABhQAAAAuAAAANuAY7+xHU1VCAAAFxAAAAFAAAABm2fPczU9TLzIAAAHcAAAASgAAAGBP9V5RY21hcAAAAkQAAACIAAABYt6F0cBjdnQgAAACzAAAAAQAAAAEABEBRGdhc3AAAAWYAAAACAAAAAj//wADZ2x5ZgAAAywAAADMAAAD2MHtryVoZWFkAAABbAAAADAAAAA2E2+eoWhoZWEAAAGcAAAAHwAAACQC9gDzaG10eAAAAigAAAAZAAAArgJkABFsb2NhAAAC0AAAAFoAAABaFQAUGG1heHAAAAG8AAAAHwAAACAAcABAbmFtZQAAA/gAAAE5AAACXvFdBwlwb3N0AAAFNAAAAGIAAACE5s74hXjaY2BkYGAAYpf5Hu/j+W2+MnAzMYDAzaX6QjD6/4//Bxj5GA8AuRwMYGkAPywL13jaY2BkYGA88P8Agx4j+/8fQDYfA1AEBWgDAIB2BOoAeNpjYGRgYNBh4GdgYgABEMnIABJzYNADCQAACWgAsQB42mNgYfzCOIGBlYGB0YcxjYGBwR1Kf2WQZGhhYGBiYGVmgAFGBiQQkOaawtDAoMBQxXjg/wEGPcYDDA4wNUA2CCgwsAAAO4EL6gAAeNpj2M0gyAACqxgGNWBkZ2D4/wMA+xkDdgAAAHjaY2BgYGaAYBkGRgYQiAHyGMF8FgYHIM3DwMHABGQrMOgyWDLEM1T9/w8UBfEMgLzE////P/5//f/V/xv+r4eaAAeMbAxwIUYmIMHEgKYAYjUcsDAwsLKxc3BycfPw8jEQA/gZBASFhEVExcQlJKWkZWTl5BUUlZRVVNXUNTQZBgMAAMR+E+gAEQFEAAAAKgAqACoANAA+AEgAUgBcAGYAcAB6AIQAjgCYAKIArAC2AMAAygDUAN4A6ADyAPwBBgEQARoBJAEuATgBQgFMAVYBYAFqAXQBfgGIAZIBnAGmAbIBzgHsAAB42u2NMQ6CUAyGW568x9AneYYgm4MJbhKFaExIOAVX8ApewSt4Bic4AfeAid3VOBixDxfPYEza5O+Xfi04YADggiUIULCuEJK8VhO4bSvpdnktHI5QCYtdi2sl8ZnXaHlqUrNKzdKcT8cjlq+rwZSvIVczNiezsfnP/uznmfPFBNODM2K7MTQ45YEAZqGP81AmGGcF3iPqOop0r1SPTaTbVkfUe4HXj97wYE+yNwWYxwWu4v1ugWHgo3S1XdZEVqWM7ET0cfnLGxWfkgR42o2PvWrDMBSFj/IHLaF0zKjRgdiVMwScNRAoWUoH78Y2icB/yIY09An6AH2Bdu/UB+yxopYshQiEvnvu0dURgDt8QeC8PDw7Fpji3fEA4z/PEJ6YOB5hKh4dj3EvXhxPqH/SKUY3rJ7srZ4FZnh1PMAtPhwP6fl2PMJMPDgeQ4rY8YT6Gzao0eAEA409DuggmTnFnOcSCiEiLMgxCiTI6Cq5DZUd3Qmp10vO0LaLTd2cjN4fOumlc7lUYbSQcZFkutRG7g6JKZKy0RmdLY680CDnEJ+UMkpFFe1RN7nxdVpXrC4aTtnaurOnYercZg2YVmLN/d/gczfEimrE/fs/bOuq29Zmn8tloORaXgZgGa78yO9/cnXm2BpaGvq25Dv9S4E9+5SIc9PqupJKhYFSSl47+Qcr1mYNAAAAeNptw0cKwkAAAMDZJA8Q7OUJvkLsPfZ6zFVERPy8qHh2YER+3i/BP83vIBLLySsoKimrqKqpa2hp6+jq6RsYGhmbmJqZSy0sraxtbO3sHRydnEMU4uR6yx7JJXveP7WrDycAAAAAAAH//wACeNpjYGRgYOABYhkgZgJCZgZNBkYGLQZtIJsFLMYAAAw3ALgAeNolizEKgDAQBCchRbC2sFER0YD6qVQiBCv/H9ezGI6Z5XBAw8CBK/m5iQQVauVbXLnOrMZv2oLdKFa8Pjuru2hJzGabmOSLzNMzvutpB3N42mNgZGBg4GKQYzBhYMxJLMlj4GBgAYow/P/PAJJhLM6sSoWKfWCAAwDAjgbRAAB42mNgYGBkAIIbCZo5IPrmUn0hGA0AO8EFTQAA');font-weight:400;font-style:normal}:root{--swiper-theme-color:#007aff}:host{position:relative;display:block;margin-left:auto;margin-right:auto;z-index:1}.swiper{margin-left:auto;margin-right:auto;position:relative;overflow:hidden;list-style:none;padding:0;z-index:1;display:block}.swiper-vertical>.swiper-wrapper{flex-direction:column}.swiper-wrapper{position:relative;width:100%;height:100%;z-index:1;display:flex;transition-property:transform;transition-timing-function:var(--swiper-wrapper-transition-timing-function,initial);box-sizing:content-box}.swiper-android .swiper-slide,.swiper-ios .swiper-slide,.swiper-wrapper{transform:translate3d(0px,0,0)}.swiper-horizontal{touch-action:pan-y}.swiper-vertical{touch-action:pan-x}.swiper-slide{flex-shrink:0;width:100%;height:100%;position:relative;transition-property:transform;display:block}.swiper-slide-invisible-blank{visibility:hidden}.swiper-autoheight,.swiper-autoheight .swiper-slide{height:auto}.swiper-autoheight .swiper-wrapper{align-items:flex-start;transition-property:transform,height}.swiper-backface-hidden .swiper-slide{transform:translateZ(0);-webkit-backface-visibility:hidden;backface-visibility:hidden}.swiper-3d.swiper-css-mode .swiper-wrapper{perspective:1200px}.swiper-3d .swiper-wrapper{transform-style:preserve-3d}.swiper-3d{perspective:1200px}.swiper-3d .swiper-cube-shadow,.swiper-3d .swiper-slide{transform-style:preserve-3d}.swiper-css-mode>.swiper-wrapper{overflow:auto;scrollbar-width:none;-ms-overflow-style:none}.swiper-css-mode>.swiper-wrapper::-webkit-scrollbar{display:none}.swiper-css-mode>.swiper-wrapper>.swiper-slide{scroll-snap-align:start start}.swiper-css-mode.swiper-horizontal>.swiper-wrapper{scroll-snap-type:x mandatory}.swiper-css-mode.swiper-vertical>.swiper-wrapper{scroll-snap-type:y mandatory}.swiper-css-mode.swiper-free-mode>.swiper-wrapper{scroll-snap-type:none}.swiper-css-mode.swiper-free-mode>.swiper-wrapper>.swiper-slide{scroll-snap-align:none}.swiper-css-mode.swiper-centered>.swiper-wrapper::before{content:'';flex-shrink:0;order:9999}.swiper-css-mode.swiper-centered>.swiper-wrapper>.swiper-slide{scroll-snap-align:center center;scroll-snap-stop:always}.swiper-css-mode.swiper-centered.swiper-horizontal>.swiper-wrapper>.swiper-slide:first-child{margin-inline-start:var(--swiper-centered-offset-before)}.swiper-css-mode.swiper-centered.swiper-horizontal>.swiper-wrapper::before{height:100%;min-height:1px;width:var(--swiper-centered-offset-after)}.swiper-css-mode.swiper-centered.swiper-vertical>.swiper-wrapper>.swiper-slide:first-child{margin-block-start:var(--swiper-centered-offset-before)}.swiper-css-mode.swiper-centered.swiper-vertical>.swiper-wrapper::before{width:100%;min-width:1px;height:var(--swiper-centered-offset-after)}.swiper-3d .swiper-slide-shadow,.swiper-3d .swiper-slide-shadow-bottom,.swiper-3d .swiper-slide-shadow-left,.swiper-3d .swiper-slide-shadow-right,.swiper-3d .swiper-slide-shadow-top{position:absolute;left:0;top:0;width:100%;height:100%;pointer-events:none;z-index:10}.swiper-3d .swiper-slide-shadow{background:rgba(0,0,0,.15)}.swiper-3d .swiper-slide-shadow-left{background-image:linear-gradient(to left,rgba(0,0,0,.5),rgba(0,0,0,0))}.swiper-3d .swiper-slide-shadow-right{background-image:linear-gradient(to right,rgba(0,0,0,.5),rgba(0,0,0,0))}.swiper-3d .swiper-slide-shadow-top{background-image:linear-gradient(to top,rgba(0,0,0,.5),rgba(0,0,0,0))}.swiper-3d .swiper-slide-shadow-bottom{background-image:linear-gradient(to bottom,rgba(0,0,0,.5),rgba(0,0,0,0))}.swiper-lazy-preloader{width:42px;height:42px;position:absolute;left:50%;top:50%;margin-left:-21px;margin-top:-21px;z-index:10;transform-origin:50%;box-sizing:border-box;border:4px solid var(--swiper-preloader-color,var(--swiper-theme-color));border-radius:50%;border-top-color:transparent}.swiper-watch-progress .swiper-slide-visible .swiper-lazy-preloader,.swiper:not(.swiper-watch-progress) .swiper-lazy-preloader{animation:swiper-preloader-spin 1s infinite linear}.swiper-lazy-preloader-white{--swiper-preloader-color:#fff}.swiper-lazy-preloader-black{--swiper-preloader-color:#000}@keyframes swiper-preloader-spin{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}.swiper-virtual .swiper-slide{-webkit-backface-visibility:hidden;transform:translateZ(0)}.swiper-virtual.swiper-css-mode .swiper-wrapper::after{content:'';position:absolute;left:0;top:0;pointer-events:none}.swiper-virtual.swiper-css-mode.swiper-horizontal .swiper-wrapper::after{height:1px;width:var(--swiper-virtual-size)}.swiper-virtual.swiper-css-mode.swiper-vertical .swiper-wrapper::after{width:1px;height:var(--swiper-virtual-size)}:root{--swiper-navigation-size:44px}.swiper-button-next,.swiper-button-prev{position:absolute;top:var(--swiper-navigation-top-offset,50%);width:calc(var(--swiper-navigation-size)/ 44 * 27);height:var(--swiper-navigation-size);margin-top:calc(0px - (var(--swiper-navigation-size)/ 2));z-index:10;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--swiper-navigation-color,var(--swiper-theme-color))}.swiper-button-next.swiper-button-disabled,.swiper-button-prev.swiper-button-disabled{opacity:.35;cursor:auto;pointer-events:none}.swiper-button-next.swiper-button-hidden,.swiper-button-prev.swiper-button-hidden{opacity:0;cursor:auto;pointer-events:none}.swiper-navigation-disabled .swiper-button-next,.swiper-navigation-disabled .swiper-button-prev{display:none!important}.swiper-button-next svg,.swiper-button-prev svg{width:100%;height:100%;object-fit:contain;transform-origin:center}.swiper-rtl .swiper-button-next svg,.swiper-rtl .swiper-button-prev svg{transform:rotate(180deg)}.swiper-button-prev,.swiper-rtl .swiper-button-next{left:var(--swiper-navigation-sides-offset,10px);right:auto}.swiper-button-next,.swiper-rtl .swiper-button-prev{right:var(--swiper-navigation-sides-offset,10px);left:auto}.swiper-button-lock{display:none}.swiper-button-next:after,.swiper-button-prev:after{font-family:swiper-icons;font-size:var(--swiper-navigation-size);text-transform:none!important;letter-spacing:0;font-variant:initial;line-height:1}.swiper-button-prev:after,.swiper-rtl .swiper-button-next:after{content:'prev'}.swiper-button-next,.swiper-rtl .swiper-button-prev{right:var(--swiper-navigation-sides-offset,10px);left:auto}.swiper-button-next:after,.swiper-rtl .swiper-button-prev:after{content:'next'}.swiper-pagination{position:absolute;text-align:center;transition:.3s opacity;transform:translate3d(0,0,0);z-index:10}.swiper-pagination.swiper-pagination-hidden{opacity:0}.swiper-pagination-disabled>.swiper-pagination,.swiper-pagination.swiper-pagination-disabled{display:none!important}.swiper-horizontal>.swiper-pagination-bullets,.swiper-pagination-bullets.swiper-pagination-horizontal,.swiper-pagination-custom,.swiper-pagination-fraction{bottom:var(--swiper-pagination-bottom,8px);top:var(--swiper-pagination-top,auto);left:0;width:100%}.swiper-pagination-bullets-dynamic{overflow:hidden;font-size:0}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{transform:scale(.33);position:relative}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active{transform:scale(1)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-main{transform:scale(1)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev{transform:scale(.66)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev-prev{transform:scale(.33)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next{transform:scale(.66)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next-next{transform:scale(.33)}.swiper-pagination-bullet{width:var(--swiper-pagination-bullet-width,var(--swiper-pagination-bullet-size,8px));height:var(--swiper-pagination-bullet-height,var(--swiper-pagination-bullet-size,8px));display:inline-block;border-radius:var(--swiper-pagination-bullet-border-radius,50%);background:var(--swiper-pagination-bullet-inactive-color,#000);opacity:var(--swiper-pagination-bullet-inactive-opacity, .2)}button.swiper-pagination-bullet{border:none;margin:0;padding:0;box-shadow:none;-webkit-appearance:none;appearance:none}.swiper-pagination-clickable .swiper-pagination-bullet{cursor:pointer}.swiper-pagination-bullet:only-child{display:none!important}.swiper-pagination-bullet-active{opacity:var(--swiper-pagination-bullet-opacity, 1);background:var(--swiper-pagination-color,var(--swiper-theme-color))}.swiper-pagination-vertical.swiper-pagination-bullets,.swiper-vertical>.swiper-pagination-bullets{right:var(--swiper-pagination-right,8px);left:var(--swiper-pagination-left,auto);top:50%;transform:translate3d(0px,-50%,0)}.swiper-pagination-vertical.swiper-pagination-bullets .swiper-pagination-bullet,.swiper-vertical>.swiper-pagination-bullets .swiper-pagination-bullet{margin:var(--swiper-pagination-bullet-vertical-gap,6px) 0;display:block}.swiper-pagination-vertical.swiper-pagination-bullets.swiper-pagination-bullets-dynamic,.swiper-vertical>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic{top:50%;transform:translateY(-50%);width:8px}.swiper-pagination-vertical.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet,.swiper-vertical>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{display:inline-block;transition:.2s transform,.2s top}.swiper-horizontal>.swiper-pagination-bullets .swiper-pagination-bullet,.swiper-pagination-horizontal.swiper-pagination-bullets .swiper-pagination-bullet{margin:0 var(--swiper-pagination-bullet-horizontal-gap,4px)}.swiper-horizontal>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic,.swiper-pagination-horizontal.swiper-pagination-bullets.swiper-pagination-bullets-dynamic{left:50%;transform:translateX(-50%);white-space:nowrap}.swiper-horizontal>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet,.swiper-pagination-horizontal.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{transition:.2s transform,.2s left}.swiper-horizontal.swiper-rtl>.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{transition:.2s transform,.2s right}.swiper-pagination-fraction{color:var(--swiper-pagination-fraction-color,inherit)}.swiper-pagination-progressbar{background:var(--swiper-pagination-progressbar-bg-color,rgba(0,0,0,.25));position:absolute}.swiper-pagination-progressbar .swiper-pagination-progressbar-fill{background:var(--swiper-pagination-color,var(--swiper-theme-color));position:absolute;left:0;top:0;width:100%;height:100%;transform:scale(0);transform-origin:left top}.swiper-rtl .swiper-pagination-progressbar .swiper-pagination-progressbar-fill{transform-origin:right top}.swiper-horizontal>.swiper-pagination-progressbar,.swiper-pagination-progressbar.swiper-pagination-horizontal,.swiper-pagination-progressbar.swiper-pagination-vertical.swiper-pagination-progressbar-opposite,.swiper-vertical>.swiper-pagination-progressbar.swiper-pagination-progressbar-opposite{width:100%;height:var(--swiper-pagination-progressbar-size,4px);left:0;top:0}.swiper-horizontal>.swiper-pagination-progressbar.swiper-pagination-progressbar-opposite,.swiper-pagination-progressbar.swiper-pagination-horizontal.swiper-pagination-progressbar-opposite,.swiper-pagination-progressbar.swiper-pagination-vertical,.swiper-vertical>.swiper-pagination-progressbar{width:var(--swiper-pagination-progressbar-size,4px);height:100%;left:0;top:0}.swiper-pagination-lock{display:none}.swiper-scrollbar{border-radius:var(--swiper-scrollbar-border-radius,10px);position:relative;touch-action:none;background:var(--swiper-scrollbar-bg-color,rgba(0,0,0,.1))}.swiper-scrollbar-disabled>.swiper-scrollbar,.swiper-scrollbar.swiper-scrollbar-disabled{display:none!important}.swiper-horizontal>.swiper-scrollbar,.swiper-scrollbar.swiper-scrollbar-horizontal{position:absolute;left:var(--swiper-scrollbar-sides-offset,1%);bottom:var(--swiper-scrollbar-bottom,4px);top:var(--swiper-scrollbar-top,auto);z-index:50;height:var(--swiper-scrollbar-size,4px);width:calc(100% - 2 * var(--swiper-scrollbar-sides-offset,1%))}.swiper-scrollbar.swiper-scrollbar-vertical,.swiper-vertical>.swiper-scrollbar{position:absolute;left:var(--swiper-scrollbar-left,auto);right:var(--swiper-scrollbar-right,4px);top:var(--swiper-scrollbar-sides-offset,1%);z-index:50;width:var(--swiper-scrollbar-size,4px);height:calc(100% - 2 * var(--swiper-scrollbar-sides-offset,1%))}.swiper-scrollbar-drag{height:100%;width:100%;position:relative;background:var(--swiper-scrollbar-drag-bg-color,rgba(0,0,0,.5));border-radius:var(--swiper-scrollbar-border-radius,10px);left:0;top:0}.swiper-scrollbar-cursor-drag{cursor:move}.swiper-scrollbar-lock{display:none}.swiper-zoom-container{width:100%;height:100%;display:flex;justify-content:center;align-items:center;text-align:center}.swiper-zoom-container>canvas,.swiper-zoom-container>img,.swiper-zoom-container>svg{max-width:100%;max-height:100%;object-fit:contain}.swiper-slide-zoomed{cursor:move;touch-action:none}.swiper .swiper-notification{position:absolute;left:0;top:0;pointer-events:none;opacity:0;z-index:-1000}.swiper-free-mode>.swiper-wrapper{transition-timing-function:ease-out;margin:0 auto}.swiper-grid>.swiper-wrapper{flex-wrap:wrap}.swiper-grid-column>.swiper-wrapper{flex-wrap:wrap;flex-direction:column}.swiper-fade.swiper-free-mode .swiper-slide{transition-timing-function:ease-out}.swiper-fade .swiper-slide{pointer-events:none;transition-property:opacity}.swiper-fade .swiper-slide .swiper-slide{pointer-events:none}.swiper-fade .swiper-slide-active{pointer-events:auto}.swiper-fade .swiper-slide-active .swiper-slide-active{pointer-events:auto}.swiper.swiper-cube{overflow:visible}.swiper-cube .swiper-slide{pointer-events:none;-webkit-backface-visibility:hidden;backface-visibility:hidden;z-index:1;visibility:hidden;transform-origin:0 0;width:100%;height:100%}.swiper-cube .swiper-slide .swiper-slide{pointer-events:none}.swiper-cube.swiper-rtl .swiper-slide{transform-origin:100% 0}.swiper-cube .swiper-slide-active,.swiper-cube .swiper-slide-active .swiper-slide-active{pointer-events:auto}.swiper-cube .swiper-slide-active,.swiper-cube .swiper-slide-next,.swiper-cube .swiper-slide-prev{pointer-events:auto;visibility:visible}.swiper-cube .swiper-cube-shadow{position:absolute;left:0;bottom:0px;width:100%;height:100%;opacity:.6;z-index:0}.swiper-cube .swiper-cube-shadow:before{content:'';background:#000;position:absolute;left:0;top:0;bottom:0;right:0;filter:blur(50px)}.swiper-cube .swiper-slide-next+.swiper-slide{pointer-events:auto;visibility:visible}.swiper-cube .swiper-slide-shadow-cube.swiper-slide-shadow-bottom,.swiper-cube .swiper-slide-shadow-cube.swiper-slide-shadow-left,.swiper-cube .swiper-slide-shadow-cube.swiper-slide-shadow-right,.swiper-cube .swiper-slide-shadow-cube.swiper-slide-shadow-top{z-index:0;-webkit-backface-visibility:hidden;backface-visibility:hidden}.swiper.swiper-flip{overflow:visible}.swiper-flip .swiper-slide{pointer-events:none;-webkit-backface-visibility:hidden;backface-visibility:hidden;z-index:1}.swiper-flip .swiper-slide .swiper-slide{pointer-events:none}.swiper-flip .swiper-slide-active,.swiper-flip .swiper-slide-active .swiper-slide-active{pointer-events:auto}.swiper-flip .swiper-slide-shadow-flip.swiper-slide-shadow-bottom,.swiper-flip .swiper-slide-shadow-flip.swiper-slide-shadow-left,.swiper-flip .swiper-slide-shadow-flip.swiper-slide-shadow-right,.swiper-flip .swiper-slide-shadow-flip.swiper-slide-shadow-top{z-index:0;-webkit-backface-visibility:hidden;backface-visibility:hidden}.swiper-creative .swiper-slide{-webkit-backface-visibility:hidden;backface-visibility:hidden;overflow:hidden;transition-property:transform,opacity,height}.swiper.swiper-cards{overflow:visible}.swiper-cards .swiper-slide{transform-origin:center bottom;-webkit-backface-visibility:hidden;backface-visibility:hidden;overflow:hidden}
/* End */
/* /local/templates/Spoda/style.css?178819009073811 */
/* /local/templates/Spoda/assets/news.css?176605010542812 */
/* /local/templates/Spoda/assets/news-detail.css?176646766125427 */
/* /local/templates/Spoda/assets/swiper/swiper-bundle.min.css?178818983518454 */
