/* Accessible local behavior layered over the reference presentation. */
html { scroll-behavior: smooth; scroll-padding-top: 90px; }
body { overflow-x: clip; }
a:focus-visible, button:focus-visible, [tabindex]:focus-visible { outline: 2px solid #00afc4; outline-offset: 5px; border-radius: 4px; }
.home-link { display: flex; align-items: center; color: inherit; flex-shrink: 0; }
.home-link .astra-header-logo { margin: 0; }
.astra-header-nav-item.nav-open [data-dropdown-nav] { grid-template-rows: 1fr; opacity: 1; }
.astra-header-nav-item.nav-open [data-nav-li-unit], .astra-header-nav-item.nav-open [data-nav-banner-card] { opacity: 1; transform: scaleY(1); }
.astra-header-nav-item.nav-open .astra-header-nav-arrow { transform: rotate(180deg); }
.astra-header-nav-text { cursor: pointer; }
.astra-header-main-back[hidden] { display: none; }
.astra-header-dp[inert] { visibility: hidden; }
.yZRE8G h3 { cursor: pointer; }
.tUzFP4 { background: radial-gradient(ellipse at 15% 48%, #ebddfc 0%, transparent 42%), radial-gradient(ellipse at 85% 15%, #d8f2fa 0%, transparent 40%); }
.ciOUx8 { isolation: isolate; }
/* Russian labels need room to wrap instead of being cut off. */
html:lang(ru) .uKI_4y { font-size: 21px; line-height: 1.3; padding: 3px 0; }
html:lang(ru) .uKI_4y > span { white-space: normal; overflow: visible; max-width: calc(100% - 24px); }
html:lang(ru) .astra-header-nav-item { padding-inline: 12px; }
html:lang(ru) .astra-header-actions .Gucr1y { padding-inline: 14px; }
html:lang(ru) .hvtoeY .Gucr1y { white-space: nowrap; }
#language-dialog { width: min(480px, calc(100vw - 40px)); box-sizing: border-box; margin: auto; padding: 36px; border: 1px solid #e8eaed; border-radius: 24px; color: #090c14; background: white; box-shadow: 0 24px 80px #090c1426; }
#language-dialog::backdrop { background: #090c1470; backdrop-filter: blur(5px); }
#language-dialog h2 { font: 600 26px/1.2 'Inter SemiBold', sans-serif; margin: 12px 0; }
#language-dialog p { font-size: 16px; line-height: 1.5; color: #666; }
.dialog-close { position: absolute; right: 14px; top: 8px; padding: 6px 12px; border: 0; background: transparent; font-size: 30px; cursor: pointer; }
.language-options { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-top: 24px; }
.language-options a { padding: 14px; border-radius: 10px; background: #f5f6f8; font-size: 16px; color: inherit; text-decoration: none; }
.language-options a:hover { background: #cff8fb; }
@media (max-width: 1024px) {
  .astra-footer-links .footer-open .astra-footer-link-group { display: block; height: auto; max-height: none; opacity: 1; padding-bottom: 16px; }
  .astra-footer-links .footer-open .astra-footer-link-arrow { transform: rotate(180deg); }
  .mobile-menu-open .astra-header-nav-container { height: calc(100dvh - var(--astra-header-height)); opacity: 1; overflow-y: auto; transition: none; padding-bottom: 36px; }
  .mobile-menu-open .astra-header-nav-list { height: auto; display: block; padding-top: 20px; }
  .mobile-menu-open .astra-header-nav-item { display: block; width: 100%; height: auto; padding: 0; margin: 0; float: none; }
  .mobile-menu-open .astra-header-nav-text { display: flex; align-items: center; justify-content: space-between; padding: 18px 0; font-size: 22px; line-height: 1.4; height: auto; opacity: 1; transform: none; }
  .mobile-menu-open .astra-header-dp { position: static; display: none; width: 100%; transform: none; }
  .mobile-menu-open .nav-open .astra-header-dp { display: block; opacity: 1; }
  .mobile-menu-open .astra-header-dp-list { display: grid; grid-template-columns: 1fr 1fr; padding: 8px 0 20px; gap: 18px; }
  .mobile-menu-open .astra-header-dp-inner { overflow: visible; }
  .mobile-menu-open [data-nav-li-unit] { opacity: 1; transform: none; }
  .mobile-menu-open .astra-header-dp-item a { padding: 8px 0; }
  .mobile-menu-open .astra-header-bread-top { transform: translateY(3px) rotate(45deg); }
  .mobile-menu-open .astra-header-bread-bottom { transform: translateY(-3px) rotate(-45deg); }
}
@media (max-width: 640px) {
  .home-link { margin-right: auto; }
  .TtKeYY .kyVbXK, .N_GbAC { scroll-snap-type: x mandatory; }
  .DORZre, .mgm3p3 { scroll-snap-align: center; }
  .tUzFP4 { height: 100%; }
  .GOrGpK { font-size: 16px !important; }
  .mobile-menu-open .astra-header-dp-list { grid-template-columns: 1fr; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: 0.01ms !important; transition-duration: 0.01ms !important; }
}
