/*
Theme Name: Postex Custom Theme
Theme URI: https://postex.get-resend.com
Author: Codex
Author URI: https://postex.get-resend.com
Description: Custom WordPress theme built from provided Postex HTML layouts.
Version: 1.0.0
Text Domain: postex
*/

:root {
  --page-width: 1410px;
  --page-narrow: 1281px;
  --site-nav-height: 91px;
  --nav-text: #050f27;
  --body-text: #4b556f;
  --title-text: #050f27;
  --surface: #ffffff;
  --footer-bg: #111111;
  --footer-sub: #bcbcbc;
  --glow: rgba(255, 255, 255, 0.45);
}

/* FAQ page final overrides (keep at end) */
body.faq-page-body .faq-breadcrumb {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  min-height: 24px;
  padding: 6px 20px;
  border: 1px solid #c1c7ef;
  border-radius: 15px;
  background: #fff;
  box-shadow: 4px 6px 18px rgba(0, 0, 0, 0.06);
}

body.faq-page-body .faq-breadcrumb a,
body.faq-page-body .faq-breadcrumb span {
  font-size: 10px;
  font-weight: 500;
  line-height: 1;
  letter-spacing: 0.03em;
}

body.faq-page-body .faq-breadcrumb a {
  color: #050f27;
}

body.faq-page-body .faq-breadcrumb .is-current {
  color: #008d40;
}

body.faq-page-body .faq-breadcrumb img {
  width: 20px;
  height: 20px;
}

@media (max-width: 767.98px) {
  body.faq-page-body .faq-breadcrumb {
    padding: 6px 14px;
  }

  body.faq-page-body .faq-breadcrumb-mobile {
    display: inline;
  }

  body.faq-page-body .faq-breadcrumb-desktop {
    display: none;
  }
}

/* FAQ page (isolated styles, does not affect other pages) */
body.faq-page-body {
  background: #fefefe;
}

body.faq-page-body .faq-page-frame {
  background: #fefefe;
}

body.faq-page-body .faq-page-main {
  position: relative;
  padding: var(--site-nav-height) 0 90px;
  background: #fefefe;
}

body.faq-page-body .faq-page-main::before,
body.faq-page-body .faq-page-main::after {
  position: absolute;
  top: 0;
  bottom: 0;
  width: 114px;
  content: "";
  pointer-events: none;
  opacity: 0.46;
  background: url("assets/side-ornament.svg") center top / 114px auto repeat-y;
}

body.faq-page-body .faq-page-main::before {
  left: 34px;
}

body.faq-page-body .faq-page-main::after {
  right: 34px;
  transform: scaleX(-1);
  transform-origin: center;
}

body.faq-page-body .faq-page-shell {
  position: relative;
  z-index: 1;
  padding-top: 14px;
}

body.faq-page-body .faq-breadcrumb {
  margin: 0;
}

body.faq-page-body .faq-breadcrumb a {
  color: #050f27;
}

body.faq-page-body .faq-breadcrumb-mobile {
  display: none;
}

body.faq-page-body .faq-title {
  margin: 12px 0 30px;
  color: #050f27;
  font-size: 35px;
  font-weight: 500;
  line-height: 1.4;
  text-align: center;
}

body.faq-page-body .faq-panel {
  position: relative;
  overflow: hidden;
  border-radius: 32px;
  background: linear-gradient(180deg, rgba(251, 251, 252, 0.98) 0%, rgba(244, 244, 246, 0.96) 100%);
  box-shadow: 4px 20px 18px rgba(0, 0, 0, 0.03);
}

body.faq-page-body .faq-panel::before {
  position: absolute;
  inset: 0;
  content: "";
  pointer-events: none;
  border: 1px solid rgba(239, 240, 244, 0.96);
  border-radius: 32px;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.8),
    inset 0 -10px 18px rgba(236, 237, 240, 0.45);
}

body.faq-page-body .faq-list {
  position: relative;
  z-index: 1;
  display: block;
  margin-top: 0;
  padding: 40px 45px 57px;
}

body.faq-page-body .faq-item {
  padding: 29px 0 30px;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  overflow: visible;
}

body.faq-page-body .faq-item.is-open {
  padding-top: 0;
}

body.faq-page-body .faq-item:not(:last-child) {
  border-bottom: 1px solid #d7d7d7;
}

body.faq-page-body .faq-question {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  padding: 0;
  border: 0;
  color: #050f27;
  text-align: left;
  background: transparent;
}

body.faq-page-body .faq-question:focus-visible {
  outline: 2px solid rgba(0, 141, 64, 0.35);
  outline-offset: 8px;
  border-radius: 10px;
}

body.faq-page-body .faq-question-text {
  display: block;
  flex: 1 1 auto;
  color: #050f27;
  font-size: 18px;
  font-weight: 500;
  line-height: 1.4;
}

body.faq-page-body .faq-toggle {
  position: relative;
  flex: 0 0 auto;
  width: 32px;
  height: 32px;
  color: #59637c;
  transition: transform 220ms ease, color 220ms ease;
}

body.faq-page-body .faq-toggle::before {
  position: absolute;
  top: 16px;
  left: 8px;
  width: 14px;
  height: 1.5px;
  content: "";
  background: currentColor;
  transform: rotate(-45deg);
  transform-origin: right center;
}

body.faq-page-body .faq-toggle::after {
  position: absolute;
  top: 10px;
  right: 9px;
  width: 7px;
  height: 7px;
  content: "";
  border-top: 1.5px solid currentColor;
  border-right: 1.5px solid currentColor;
}

body.faq-page-body .faq-item:not(.is-open) .faq-toggle {
  transform: rotate(180deg);
}

body.faq-page-body .faq-item:hover .faq-toggle,
body.faq-page-body .faq-question:focus-visible .faq-toggle {
  color: #050f27;
}

body.faq-page-body .faq-answer {
  margin-top: 20px;
  padding: 0;
}

body.faq-page-body .faq-answer p {
  margin: 0;
  color: #050f27;
  font-size: 18px;
  font-weight: 400;
  line-height: 1.6;
  letter-spacing: 0.03em;
}

@media (max-width: 1599.98px) {
  body.faq-page-body .faq-page-main::before,
  body.faq-page-body .faq-page-main::after {
    display: none;
  }
}

@media (max-width: 991.98px) {
  body.faq-page-body .faq-page-main {
    padding-bottom: 72px;
  }

  body.faq-page-body .faq-title {
    font-size: 28px;
  }

  body.faq-page-body .faq-list {
    padding: 30px 26px 34px;
  }

  body.faq-page-body .faq-item {
    padding: 22px 0;
  }

  body.faq-page-body .faq-question-text,
  body.faq-page-body .faq-answer p {
    font-size: 16px;
  }
}

@media (max-width: 767.98px) {
  body.faq-page-body .site-nav::before {
    height: 61px;
    bottom: auto;
  }

  body.faq-page-body .nav-shell {
    min-height: 61px;
    padding-top: 10px;
    padding-bottom: 10px;
  }

  body.faq-page-body .brand-logo {
    width: 144px;
    height: 29px;
  }

  body.faq-page-body .faq-page-main {
    padding-bottom: 0;
  }

  body.faq-page-body .faq-page-shell {
    width: 360px;
    max-width: 100%;
    padding-top: 9px;
  }

  body.faq-page-body .faq-breadcrumb {
    padding: 6px 20px;
  }

  body.faq-page-body .faq-breadcrumb-desktop {
    display: none;
  }

  body.faq-page-body .faq-breadcrumb-mobile {
    display: inline;
  }

  body.faq-page-body .faq-title {
    margin: 19px 0 20px;
    font-size: 20px;
    line-height: 1.4;
    text-align: center;
  }

  body.faq-page-body .faq-panel,
  body.faq-page-body .faq-panel::before {
    border-radius: 32px;
  }

  body.faq-page-body .faq-list {
    padding: 17px 10px 36px;
  }

  body.faq-page-body .faq-item {
    padding: 19px 0;
  }

  body.faq-page-body .faq-item.is-open {
    padding-top: 0;
  }

  body.faq-page-body .faq-question {
    align-items: flex-start;
    gap: 10px;
  }

  body.faq-page-body .faq-question-text {
    font-size: 14px;
    line-height: 1.4;
  }

  body.faq-page-body .faq-answer {
    margin-top: 10px;
  }

  body.faq-page-body .faq-answer p {
    font-size: 14px;
    font-weight: 500;
    line-height: 1.6;
    letter-spacing: 0;
  }

  body.faq-page-body .site-footer {
    margin-top: 60px;
    background: #111;
  }

  body.faq-page-body .footer-main {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-items: center;
    gap: 25px;
    padding: 50px 10px 36px;
    text-align: center;
  }

  body.faq-page-body .footer-logo-image {
    width: 174px;
  }

  body.faq-page-body .footer-brand p {
    margin-top: 10px;
    font-size: 12px;
    font-weight: 500;
    line-height: 1.6;
    letter-spacing: 0.03em;
  }

  body.faq-page-body .footer-links {
    display: grid;
    grid-template-columns: 1fr;
    justify-items: center;
    gap: 15px;
  }

  body.faq-page-body .footer-column {
    display: contents;
  }

  body.faq-page-body .footer-column a {
    color: #bcbcbc;
    font-size: 13px;
    font-weight: 600;
    line-height: 1;
    text-transform: none;
    letter-spacing: 0.03em;
  }

  body.faq-page-body .footer-contact {
    justify-items: center;
    gap: 20px;
  }

  body.faq-page-body .footer-contact span {
    margin-bottom: 4px;
    font-size: 13px;
    line-height: 1.6;
    letter-spacing: 0.03em;
  }

  body.faq-page-body .footer-contact a {
    font-size: 16px;
    line-height: 1.4;
    letter-spacing: 0.01em;
  }

  body.faq-page-body .socials {
    gap: 18px;
  }

  body.faq-page-body .socials a {
    width: 30px;
    height: 30px;
    border-radius: 8px;
  }

  body.faq-page-body .socials img {
    max-width: 16px;
    max-height: 16px;
  }

  body.faq-page-body .socials a:nth-child(1) {
    background: #48c95f;
  }

  body.faq-page-body .socials a:nth-child(2) {
    background: #27a6e5;
  }

  body.faq-page-body .socials a:nth-child(3) {
    background: #0077ff;
  }

  body.faq-page-body .footer-bottom {
    background: #000;
  }

  body.faq-page-body .footer-bottom-shell {
    min-height: 90px;
    padding-top: 20px;
    padding-bottom: 20px;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 20px;
  }

  body.faq-page-body .footer-bottom-shell span {
    color: #fff;
    font-size: 11px;
    line-height: 1;
    letter-spacing: 0;
  }

  body.faq-page-body .footer-policies {
    gap: 10px;
  }

  body.faq-page-body .footer-policies a {
    color: rgba(255, 255, 255, 0.5);
    font-size: 11px;
    line-height: 1;
    text-decoration: underline;
  }
}

body.not-found-page {
  background: #fefefe;
}

body.not-found-page .not-found-main {
  padding-top: var(--site-nav-height);
}

body.not-found-page .not-found-shell {
  padding-top: 14px;
  padding-bottom: 65px;
}

body.not-found-page .not-found-panel {
  padding: 78px 96px 66px;
}

body.not-found-page .not-found-hero {
  display: grid;
  justify-items: center;
  gap: 16px;
}

body.not-found-page .not-found-code {
  display: flex;
  align-items: flex-start;
  justify-content: center;
  gap: 50px;
}

body.not-found-page .not-found-digit {
  width: 214px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #050f27;
  font-size: 300px;
  font-weight: 600;
  line-height: 0.72;
}

body.not-found-page .not-found-zero {
  width: 215.764px;
  height: 213px;
  object-fit: contain;
}

body.not-found-page .not-found-status {
  margin: 0;
  color: #050f27;
  font-size: 18px;
  font-weight: 500;
  line-height: 1.4;
  text-align: center;
}

body.not-found-page .not-found-recommendations {
  margin-top: 52px;
}

body.not-found-page .not-found-news-title {
  text-align: center;
}

body.not-found-page .not-found-related-grid {
  margin-top: 29px;
}

body.not-found-page .not-found-related-grid .article-related-image {
  border-radius: 2px;
}

@media (max-width: 1599.98px) {
  body.not-found-page .contacts-page-main::before,
  body.not-found-page .contacts-page-main::after {
    display: none;
  }
}

@media (max-width: 1199.98px) {
  body.not-found-page .not-found-panel {
    padding: 56px 56px 54px;
  }

  body.not-found-page .not-found-digit {
    width: 160px;
    font-size: 220px;
  }

  body.not-found-page .not-found-zero {
    width: 162px;
    height: 160px;
  }
}

@media (max-width: 991.98px) {
  body.not-found-page .not-found-panel {
    padding: 48px 40px 46px;
  }

  body.not-found-page .not-found-code {
    gap: 26px;
  }

  body.not-found-page .not-found-digit {
    width: 122px;
    font-size: 168px;
  }

  body.not-found-page .not-found-zero {
    width: 126px;
    height: 124px;
  }

  body.not-found-page .not-found-recommendations {
    margin-top: 42px;
  }
}

@media (max-width: 767.98px) {
  body.not-found-page .not-found-shell {
    padding-top: 10px;
    padding-bottom: 50px;
  }

  body.not-found-page .not-found-panel {
    padding: 34px 20px 30px;
  }

  body.not-found-page .not-found-code {
    gap: 10px;
  }

  body.not-found-page .not-found-digit {
    width: 78px;
    font-size: 108px;
  }

  body.not-found-page .not-found-zero {
    width: 90px;
    height: 88px;
  }

  body.not-found-page .not-found-status {
    font-size: 16px;
  }

  body.not-found-page .not-found-recommendations {
    margin-top: 30px;
  }

  body.not-found-page .not-found-news-title {
    font-size: 24px;
  }

  body.not-found-page .not-found-related-grid {
    margin-top: 22px;
  }
}

body.media-page {
  background: #fff;
}

.media-page-frame {
  position: relative;
  background:
    linear-gradient(180deg, rgba(221, 233, 255, 0.36) 0%, rgba(255, 255, 255, 0) 14%),
    #fff;
}

.media-hero {
  position: relative;
  min-height: 900px;
  padding-top: var(--site-nav-height);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.22) 0%, rgba(255, 255, 255, 0.02) 28%, rgba(255, 255, 255, 0) 100%),
    url("assets/media/hero-image.jpg") center top / cover no-repeat;
}

.media-hero::before {
  position: absolute;
  inset: 0;
  content: "";
  background:
    linear-gradient(180deg, rgba(5, 15, 39, 0) 0%, rgba(5, 15, 39, 0.02) 58%, rgba(5, 15, 39, 0.14) 100%),
    radial-gradient(circle at 10% 8%, rgba(255, 255, 255, 0.45) 0%, rgba(255, 255, 255, 0.12) 24%, transparent 50%);
}

.media-hero-crumb-wrap {
  position: relative;
  z-index: 2;
  display: block;
  padding-top: 15px;
}

.media-page-main {
  position: relative;
}

.media-detail-section {
  position: relative;
  z-index: 1;
  margin-top: 0;
  padding-top: 63px;
  padding-bottom: 100px;
}

.media-detail-card {
  position: relative;
  z-index: 0;
  padding: 22px 44px 60px;
  border-radius: 32px;
  isolation: isolate;
}

.media-detail-card::before,
.media-detail-card::after {
  position: absolute;
  content: "";
  pointer-events: none;
  border-radius: 32px;
}

.media-detail-card::before {
  inset: 0;
  z-index: -2;
  background:
    radial-gradient(circle at 50% 22%, rgba(255, 255, 255, 0.82) 0%, rgba(255, 255, 255, 0.26) 28%, rgba(255, 255, 255, 0) 58%),
    linear-gradient(180deg, rgba(244, 244, 245, 0.98) 0%, rgba(240, 241, 243, 0.98) 100%);
  border: 1px solid rgba(232, 233, 236, 0.98);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.78),
    inset 0 0 48px rgba(255, 255, 255, 0.58),
    inset 0 -14px 26px rgba(231, 233, 236, 0.62),
    0 18px 60px rgba(171, 182, 200, 0.18);
}

.media-detail-card::after {
  inset: 24px 22px 24px 24px;
  z-index: -1;
  border: 1px solid rgba(252, 252, 253, 0.98);
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.98) 0%, rgba(251, 251, 252, 0.98) 100%);
  box-shadow:
    0 0 24px rgba(255, 255, 255, 0.96),
    0 0 42px rgba(246, 247, 249, 0.94),
    0 10px 20px rgba(241, 243, 246, 0.46);
}

.media-detail-card > * {
  position: relative;
  z-index: 1;
}

.media-detail-toolbar {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 24px;
  margin-bottom: 18px;
}

.media-breadcrumb {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  min-height: 24px;
  padding: 6px 20px;
  border: 1px solid #c1c7ef;
  border-radius: 15px;
  box-shadow: 4px 6px 18px rgba(0, 0, 0, 0.06);
  background: #fff;
}

.media-breadcrumb a,
.media-breadcrumb span {
  color: #050f27;
  font-size: 10px;
  font-weight: 500;
  line-height: 1;
  letter-spacing: 0.03em;
}

.media-breadcrumb span {
  color: #008d40;
}

.media-breadcrumb img {
  width: 10px;
  height: 10px;
}

.media-detail-actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 26px;
  flex-wrap: wrap;
}

.media-detail-actions-mobile {
  display: none;
}

.media-action-chip {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  min-height: 32px;
  padding: 6px 14px;
  border: 0;
  border-radius: 32px;
  color: #050f27;
  font: inherit;
  text-decoration: none;
  background: rgba(255, 255, 255, 0.5);
  box-shadow: 4px 20px 18px rgba(0, 0, 0, 0.03);
  transition: background-color 200ms ease, transform 200ms ease;
}

.media-action-chip span {
  font-size: 14px;
  font-weight: 600;
  line-height: 1.4;
}

.media-action-chip img {
  width: 20px;
  height: 20px;
  flex: 0 0 auto;
}

.media-action-chip:hover,
.media-action-chip:focus-visible {
  background: rgba(255, 255, 255, 0.78);
  transform: translateY(-1px);
}

.media-action-chip.is-copied {
  background: rgba(0, 141, 64, 0.12);
}

.media-detail-overview {
  display: grid;
  grid-template-columns: minmax(0, 630px) minmax(0, 630px);
  justify-content: space-between;
  gap: 20px;
}

.media-detail-copy {
  min-width: 0;
}

.media-detail-heading {
  display: grid;
  gap: 10px;
  margin-bottom: 30px;
}

.media-detail-heading h1 {
  margin: 0;
  color: #050f27;
  font-size: 35px;
  font-weight: 500;
  line-height: 1.4;
}

.media-detail-heading p {
  margin: 0;
  color: rgba(5, 15, 39, 0.6);
  font-size: 10px;
  font-weight: 500;
  line-height: 1;
  letter-spacing: 0.03em;
}

.media-metrics-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 300px));
  gap: 30px;
}

.media-metric-card {
  display: grid;
  align-content: start;
  gap: 15px;
}

.media-metric-icon {
  position: relative;
  width: 64px;
  height: 64px;
  border-radius: 16px;
  background: linear-gradient(135deg, #61cdf5 0%, #156dde 100%);
  box-shadow:
    inset 15px 13px 0 #65b5eb,
    5px 5px 4px rgba(255, 255, 255, 0.32),
    10px 10px 3.5px #b1defd;
}

.media-metric-icon::after {
  position: absolute;
  inset: 2px;
  content: "";
  border-radius: 14px;
  background: rgba(255, 255, 255, 0.03);
}

.media-metric-icon img {
  position: absolute;
  inset: 10px;
  z-index: 1;
  width: 44px;
  height: 44px;
}

.media-metric-title {
  display: grid;
  gap: 5px;
}

.media-metric-title span {
  color: #050f27;
  font-size: 14px;
  font-weight: 600;
  line-height: 1.4;
}

.media-metric-title strong {
  color: #050f27;
  font-size: 22px;
  font-weight: 500;
  line-height: 1.4;
}

.media-metric-card p {
  margin: 0;
  color: #050f27;
  font-size: 18px;
  font-weight: 400;
  line-height: 1.6;
  letter-spacing: 0.03em;
}

.media-map-card {
  min-width: 0;
  border-radius: 4px;
  overflow: hidden;
}

.media-map-card-mobile {
  display: none;
}

.media-map-card img {
  width: 100%;
  height: 949px;
  object-fit: cover;
}

.media-article {
  display: grid;
  gap: 60px;
  margin-top: 50px;
}

.media-article-block h2 {
  margin: 0 0 20px;
  color: #050f27;
  font-size: 22px;
  font-weight: 500;
  line-height: 1.4;
}

.media-article-block p,
.media-article-block li {
  margin: 0;
  color: #050f27;
  font-size: 18px;
  font-weight: 400;
  line-height: 1.6;
  letter-spacing: 0.03em;
}

.media-article-block ol,
.media-article-block ul {
  margin: 0;
  padding-left: 27px;
}

@media (max-width: 1399.98px) {
  .media-detail-section {
    padding-top: 70px;
  }

  .media-detail-card {
    padding-right: 34px;
    padding-left: 34px;
  }

  .media-detail-overview {
    grid-template-columns: minmax(0, 1fr) minmax(0, 520px);
  }

  .media-metrics-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 22px;
  }

  .media-map-card img {
    height: 870px;
  }
}

@media (max-width: 1199.98px) {
  .media-hero {
    min-height: 720px;
  }

  .media-detail-section {
    padding-top: 80px;
    padding-bottom: 80px;
  }

  .media-detail-toolbar {
    display: grid;
    justify-content: stretch;
    margin-bottom: 30px;
  }

  .media-detail-actions {
    justify-content: flex-start;
  }

  .media-detail-overview {
    grid-template-columns: 1fr;
    gap: 24px;
  }

  .media-map-card img {
    height: 600px;
  }
}

@media (max-width: 991.98px) {
  .media-hero {
    min-height: 610px;
  }

  .media-detail-section {
    padding-top: 68px;
  }

  .media-detail-card {
    padding: 20px 24px 42px;
  }

  .media-detail-card::after {
    inset: 16px;
  }

  .media-detail-heading h1 {
    font-size: 30px;
  }
}

@media (max-width: 767.98px) {
  .media-hero {
    min-height: 600px;
    background-position: 36% top;
  }

  .media-hero-crumb-wrap {
    padding-top: 10px;
  }

  .media-breadcrumb-mobile {
    width: fit-content;
    background: #fff;
  }

  .media-detail-section {
    padding-top: 28px;
    padding-bottom: 0;
  }

  .media-detail-card {
    padding: 96px 10px 60px;
    border-radius: 32px;
    box-shadow: 4px 20px 18px rgba(0, 0, 0, 0.03);
    background: rgba(255, 255, 255, 0.5);
  }

  .media-detail-card::before,
  .media-detail-card::after {
    display: none;
  }

  .media-detail-toolbar {
    margin-bottom: 20px;
  }

  .media-detail-actions {
    width: 100%;
    gap: 10px;
  }

  .media-action-chip {
    width: 100%;
    justify-content: center;
    min-height: 32px;
  }

  .media-copy-chip span {
    max-width: 224px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  .media-detail-actions-mobile {
    display: grid;
    margin-bottom: 20px;
  }

  .media-detail-toolbar .media-detail-actions {
    display: none;
  }

  .media-detail-heading {
    justify-items: center;
    margin-bottom: 20px;
  }

  .media-detail-heading h1 {
    font-size: 20px;
    text-align: center;
  }

  .media-detail-heading p {
    text-align: center;
  }

  .media-metrics-grid {
    grid-template-columns: 1fr;
    gap: 20px;
  }

  .media-metric-card {
    display: grid;
    grid-template-columns: 64px minmax(0, 1fr);
    column-gap: 20px;
    row-gap: 15px;
    align-items: start;
  }

  .media-metric-icon {
    grid-column: 1;
    grid-row: 1;
  }

  .media-metric-title {
    grid-column: 2;
    grid-row: 1;
    align-self: center;
    gap: 5px;
  }

  .media-metric-card p {
    grid-column: 1 / -1;
  }

  .media-metric-card p {
    font-size: 14px;
    font-weight: 500;
    line-height: 1.6;
    letter-spacing: 0;
  }

  .media-map-card {
    border-radius: 4px;
  }

  .media-map-card img {
    height: 320px;
  }

  .media-map-card-mobile {
    display: block;
    margin-bottom: 20px;
  }

  .media-map-card-desktop {
    display: none;
  }

  .media-article {
    gap: 10px;
    margin-top: 20px;
  }

  .media-article-block h2 {
    margin-bottom: 10px;
    font-size: 18px;
  }

  .media-article-block p,
  .media-article-block li {
    font-size: 14px;
    font-weight: 500;
    line-height: 1.6;
    letter-spacing: 0;
  }

  .media-article-block ol,
  .media-article-block ul {
    padding-left: 21px;
  }
}

/* ABOUT PAGE STYLES */
body.about-page {
  background: #fefefe;
}

body.about-page .aboutx-hero {
  position: relative;
}

body.about-page .aboutx-hero-media {
  min-height: 760px;
  padding-top: calc(var(--site-nav-height) + 14px);
  background: url("assets/about/about-hero.png") center top / cover no-repeat;
}

body.about-page .aboutx-breadcrumb {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  margin-top: 0;
  min-height: 24px;
  padding: 6px 20px;
  border: 1px solid #c1c7ef;
  border-radius: 15px;
  background: #fff;
  box-shadow: 4px 6px 18px rgba(0, 0, 0, 0.06);
}

body.about-page .aboutx-breadcrumb a,
body.about-page .aboutx-breadcrumb span {
  font-size: 10px;
  font-weight: 500;
  letter-spacing: 0.03em;
  line-height: 1;
}

body.about-page .aboutx-breadcrumb a {
  color: #050f27;
}

body.about-page .aboutx-breadcrumb span {
  color: #008d40;
}

body.about-page .aboutx-breadcrumb img {
  width: 10px;
  height: 10px;
}

body.about-page .aboutx-main {
  position: relative;
  margin-top: 0;
  background: #fefefe;
}

body.about-page .aboutx-main::before,
body.about-page .aboutx-main::after {
  position: absolute;
  top: 0;
  bottom: 0;
  width: 114px;
  content: "";
  pointer-events: none;
  z-index: 0;
  background: url("assets/side-ornament.svg") center top / 114px auto repeat-y;
}

body.about-page .aboutx-main::before {
  left: 34px;
}

body.about-page .aboutx-main::after {
  right: 34px;
  transform: scaleX(-1);
}

body.about-page .aboutx-section {
  position: relative;
  z-index: 1;
  padding-top: 60px;
}

body.about-page .aboutx-section-first {
  padding-top: 56px;
}

body.about-page .aboutx-section-last {
  padding-bottom: 60px;
}

body.about-page .aboutx-card {
  position: relative;
  z-index: 0;
  padding: 60px 54px;
  border-radius: 32px;
  border: 0;
  background: transparent;
  box-shadow: none;
  isolation: isolate;
}

body.about-page .aboutx-card::before,
body.about-page .aboutx-card::after {
  position: absolute;
  content: "";
  pointer-events: none;
  border-radius: 32px;
}

body.about-page .aboutx-card::before {
  inset: 0;
  z-index: -2;
  background:
    radial-gradient(circle at 50% 44%, rgba(255, 255, 255, 0.62) 0%, rgba(255, 255, 255, 0.26) 28%, rgba(255, 255, 255, 0) 60%),
    linear-gradient(180deg, rgba(244, 244, 245, 0.98) 0%, rgba(240, 241, 243, 0.98) 100%);
  border: 1px solid rgba(232, 233, 236, 0.98);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.78),
    inset 0 0 48px rgba(255, 255, 255, 0.58),
    inset 0 -14px 26px rgba(231, 233, 236, 0.62);
}

body.about-page .aboutx-card::after {
  inset: 24px 22px 24px 24px;
  z-index: -1;
  border: 1px solid rgba(252, 252, 253, 0.98);
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.98) 0%, rgba(251, 251, 252, 0.98) 100%);
  box-shadow:
    0 0 24px rgba(255, 255, 255, 0.96),
    0 0 42px rgba(246, 247, 249, 0.94),
    0 10px 20px rgba(241, 243, 246, 0.46);
}

body.about-page .aboutx-card > * {
  position: relative;
  z-index: 1;
}

body.about-page .aboutx-section-first .aboutx-card {
  margin-top: 0;
}

body.about-page .aboutx-card-leadership {
  padding-right: 40px;
  padding-left: 40px;
}

body.about-page .aboutx-card-evo {
  padding-top: 30px;
  padding-bottom: 30px;
}

body.about-page .aboutx-card h1,
body.about-page .aboutx-card h2 {
  margin: 0;
  color: #050f27;
  font-size: 35px;
  font-weight: 500;
  line-height: 1.4;
}

body.about-page .aboutx-card h3 {
  margin: 0;
  color: #050f27;
  font-size: 22px;
  font-weight: 500;
  line-height: 1.4;
}

body.about-page .aboutx-subtitle {
  margin-top: 30px;
}

body.about-page .aboutx-subtext,
body.about-page .aboutx-lead p,
body.about-page .aboutx-note,
body.about-page .aboutx-activity-item p,
body.about-page .aboutx-portrait figcaption span,
body.about-page .aboutx-faq-answer p,
body.about-page .aboutx-point > span:last-child {
  margin: 0;
  color: #050f27;
  font-size: 18px;
  font-weight: 400;
  line-height: 1.6;
  letter-spacing: 0.03em;
}

body.about-page .aboutx-subtext {
  margin-top: 10px;
}

body.about-page .aboutx-lead {
  margin-top: 20px;
}

body.about-page .aboutx-lead p + p {
  margin-top: 0;
}

body.about-page .aboutx-lead-last p + p,
body.about-page .aboutx-lead-large-gap p + p {
  margin-top: 28px;
}

body.about-page .aboutx-list {
  display: grid;
  gap: 15px;
  margin-top: 20px;
}

body.about-page .aboutx-point {
  display: flex;
  align-items: center;
  gap: 12px;
}

body.about-page .aboutx-check {
  display: inline-flex;
  width: 65px;
  height: 65px;
  flex: 0 0 65px;
  align-items: center;
  justify-content: center;
}

body.about-page .aboutx-check img {
  width: 65px;
  height: 65px;
}

body.about-page .aboutx-points-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 24px 70px;
  margin-top: 15px;
}

body.about-page .aboutx-leadership-grid {
  display: grid;
  grid-template-columns: minmax(0, 702px) minmax(360px, 561px);
  gap: 47px;
}

body.about-page .aboutx-portrait {
  margin: 0;
  display: grid;
  gap: 15px;
}

body.about-page .aboutx-portrait img {
  width: 100%;
  aspect-ratio: 560 / 450;
  object-fit: cover;
  border-radius: 4px;
  box-shadow:
    -8px -8px 4px #fff,
    -10px -10px 4px rgba(0, 0, 0, 0.09);
}

body.about-page .aboutx-portrait figcaption strong {
  display: block;
  color: #050f27;
  font-size: 22px;
  font-weight: 500;
  line-height: 1.4;
}

body.about-page .aboutx-card-leadership h3 {
  margin-top: 30px;
}

body.about-page .aboutx-activity-grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 40px;
  margin-top: 30px;
}

body.about-page .aboutx-activity-item {
  display: grid;
  gap: 20px;
}

body.about-page .aboutx-activity-icon {
  position: relative;
  display: inline-flex;
  width: 64px;
  height: 64px;
  flex: 0 0 64px;
  align-items: center;
  justify-content: center;
  border-radius: 16px;
  overflow: hidden;
}

body.about-page .aboutx-activity-icon::before {
  position: absolute;
  inset: 2px;
  content: "";
  border-radius: 14px;
  background: rgba(255, 255, 255, 0.03);
}

body.about-page .aboutx-activity-icon img {
  position: relative;
  width: 44px;
  height: 44px;
  z-index: 1;
}

body.about-page .aboutx-activity-icon-blue {
  background: linear-gradient(135deg, #61cdf5 0%, #156dde 100%);
  box-shadow:
    5px 5px 4px rgba(255, 255, 255, 0.32),
    10px 10px 3.5px #b1defd;
}

body.about-page .aboutx-activity-icon-green {
  background: linear-gradient(135deg, #9fff6b 0%, #32b23a 100%);
  box-shadow:
    5px 5px 4px rgba(255, 255, 255, 0.32),
    10px 10px 3.5px rgba(79, 192, 96, 0.25);
}

body.about-page .aboutx-note {
  margin-top: 30px;
}

body.about-page .aboutx-geo-grid {
  display: grid;
  grid-template-columns: repeat(4, max-content);
  justify-content: space-between;
  gap: 24px 36px;
  margin-top: 27px;
}

body.about-page .aboutx-point-map {
  align-items: center;
}

body.about-page .aboutx-map {
  display: inline-flex;
  width: 64px;
  height: 64px;
  flex: 0 0 64px;
  align-items: center;
  justify-content: center;
}

body.about-page .aboutx-map img {
  width: 64px;
  height: 64px;
}

body.about-page .aboutx-evo-grid {
  display: grid;
  grid-template-columns: minmax(0, 830px) minmax(320px, 432px);
  gap: 70px;
  align-items: center;
}

body.about-page .aboutx-evo-columns {
  display: grid;
  grid-template-columns: minmax(0, 358px) minmax(0, 389px);
  gap: 32px;
  margin-top: 20px;
}

body.about-page .aboutx-evo-columns > div {
  display: grid;
  gap: 20px;
}

body.about-page .aboutx-evo-image img {
  width: 100%;
  aspect-ratio: 432 / 400;
  object-fit: cover;
  border-radius: 4px;
}

body.about-page .aboutx-faq-list {
  display: grid;
  gap: 20px;
  margin-top: 20px;
}

body.about-page .aboutx-faq-item {
  border-radius: 15px;
  background: rgba(255, 255, 255, 0.01);
  box-shadow: 4px 6px 18px rgba(0, 0, 0, 0.06);
}

body.about-page .aboutx-faq-btn {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  padding: 16px 20px;
  border: 0;
  background: transparent;
  text-align: left;
}

body.about-page .aboutx-faq-btn span {
  color: #050f27;
  font-size: 22px;
  font-weight: 500;
  line-height: 1.4;
}

body.about-page .aboutx-faq-btn i {
  position: relative;
  width: 24px;
  height: 24px;
  flex: 0 0 24px;
}

body.about-page .aboutx-faq-btn i::before,
body.about-page .aboutx-faq-btn i::after {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 14px;
  height: 1.5px;
  content: "";
  background: #7786bd;
  transform: translate(-50%, -50%);
  transition: opacity 0.2s ease;
}

body.about-page .aboutx-faq-btn i::after {
  transform: translate(-50%, -50%) rotate(90deg);
}

body.about-page .aboutx-faq-item.is-open .aboutx-faq-btn i::after {
  opacity: 0;
}

body.about-page .aboutx-faq-answer {
  padding: 0 20px 16px;
}

@media (max-width: 1599px) {
  body.about-page .aboutx-main::before {
    left: 8px;
  }

  body.about-page .aboutx-main::after {
    right: 8px;
  }
}

@media (max-width: 1399px) {
  body.about-page .aboutx-points-grid,
  body.about-page .aboutx-activity-grid,
  body.about-page .aboutx-geo-grid,
  body.about-page .aboutx-evo-grid,
  body.about-page .aboutx-evo-columns,
  body.about-page .aboutx-leadership-grid {
    grid-template-columns: 1fr;
  }

  body.about-page .aboutx-geo-grid {
    justify-content: start;
    gap: 20px;
  }

  body.about-page .aboutx-evo-image {
    max-width: 432px;
  }
}

@media (max-width: 1199px) {
  body.about-page .aboutx-main::before,
  body.about-page .aboutx-main::after {
    display: none;
  }

  body.about-page .aboutx-hero-media {
    min-height: 620px;
  }
}

@media (max-width: 991px) {
  body.about-page .aboutx-card,
  body.about-page .aboutx-card-leadership,
  body.about-page .aboutx-card-evo {
    padding: 36px 28px;
  }

  body.about-page .aboutx-card h1,
  body.about-page .aboutx-card h2 {
    font-size: 30px;
  }

  body.about-page .aboutx-card h3,
  body.about-page .aboutx-faq-btn span {
    font-size: 20px;
  }

  body.about-page .aboutx-subtext,
  body.about-page .aboutx-lead p,
  body.about-page .aboutx-note,
  body.about-page .aboutx-activity-item p,
  body.about-page .aboutx-portrait figcaption span,
  body.about-page .aboutx-faq-answer p,
  body.about-page .aboutx-point > span:last-child {
    font-size: 16px;
  }

  body.about-page .aboutx-activity-grid {
    gap: 28px;
    margin-top: 22px;
  }

  body.about-page .aboutx-activity-item {
    display: flex;
    align-items: center;
    gap: 20px;
  }

  body.about-page .aboutx-activity-item p {
    line-height: 1.35;
  }
}

@media (max-width: 767px) {
  body.about-page .aboutx-hero-media {
    min-height: 600px;
    padding-top: calc(var(--site-nav-height) + 12px);
  }

  body.about-page .aboutx-section-first {
    padding-top: 28px;
  }

  body.about-page .aboutx-main {
    margin-top: 0;
  }

  body.about-page .aboutx-section-first .aboutx-card {
    margin-top: 0;
  }

  body.about-page .aboutx-card h1,
  body.about-page .aboutx-card h2 {
    font-size: 24px;
    line-height: 1.33;
  }

  body.about-page .aboutx-card h3,
  body.about-page .aboutx-faq-btn span {
    font-size: 19px;
  }

  body.about-page .aboutx-point {
    align-items: center;
  }

  body.about-page .aboutx-subtext,
  body.about-page .aboutx-lead p,
  body.about-page .aboutx-note,
  body.about-page .aboutx-activity-item p,
  body.about-page .aboutx-portrait figcaption span,
  body.about-page .aboutx-faq-answer p,
  body.about-page .aboutx-point > span:last-child {
    line-height: 1.5;
  }
}

@media (max-width: 575px) {
  body.about-page .aboutx-section {
    padding-top: 24px;
  }

  body.about-page .aboutx-card,
  body.about-page .aboutx-card-leadership,
  body.about-page .aboutx-card-evo {
    padding: 28px 20px;
    border-radius: 20px;
  }

  body.about-page .aboutx-card::before,
  body.about-page .aboutx-card::after {
    border-radius: 20px;
  }

  body.about-page .aboutx-card::after {
    inset: 10px;
  }

  body.about-page .aboutx-card h1,
  body.about-page .aboutx-card h2 {
    font-size: 22px;
  }

  body.about-page .aboutx-card h3,
  body.about-page .aboutx-faq-btn span {
    font-size: 17px;
  }

  body.about-page .aboutx-subtext,
  body.about-page .aboutx-lead p,
  body.about-page .aboutx-note,
  body.about-page .aboutx-activity-item p,
  body.about-page .aboutx-portrait figcaption span,
  body.about-page .aboutx-faq-answer p,
  body.about-page .aboutx-point > span:last-child {
    font-size: 15px;
  }

  body.about-page .aboutx-check {
    width: 54px;
    height: 54px;
    flex-basis: 54px;
  }

  body.about-page .aboutx-check img {
    width: 54px;
    height: 54px;
  }

  body.about-page .aboutx-map {
    width: 54px;
    height: 54px;
    flex-basis: 54px;
  }

  body.about-page .aboutx-map img {
    width: 54px;
    height: 54px;
  }
}

*,
*::before,
*::after {
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
  scroll-padding-top: var(--site-nav-height);
}

body {
  margin: 0;
  min-width: 320px;
  background: linear-gradient(180deg, #deebff 0%, #eaf2ff 11%, #ffffff 18%, #ffffff 100%);
  color: var(--body-text);
  font-family: "Montserrat", sans-serif;
}

img {
  display: block;
  max-width: 100%;
}

a {
  text-decoration: none;
}

.page-frame {
  position: relative;
  overflow: hidden;
}

.page-container {
  width: min(calc(100% - 80px), var(--page-width));
  margin: 0 auto;
}

.page-container-narrow {
  width: min(calc(100% - 80px), var(--page-narrow));
}

.hero-section {
  position: relative;
  min-height: 910px;
  padding-top: var(--site-nav-height);
  color: #fff;
  background:
    linear-gradient(180deg, rgba(204, 220, 255, 0.22) 0%, rgba(204, 220, 255, 0.1) 28%, rgba(255, 255, 255, 0) 100%),
    url("assets/hero-bg.webp") center top / cover no-repeat;
}

.hero-section::before {
  position: absolute;
  inset: 0;
  content: "";
  background:
    radial-gradient(circle at 8% 10%, rgba(255, 255, 255, 0.52) 0, rgba(255, 255, 255, 0.1) 18%, transparent 38%),
    linear-gradient(180deg, rgba(10, 31, 77, 0.06) 0%, rgba(10, 31, 77, 0.12) 56%, rgba(10, 31, 77, 0.02) 100%);
}

.site-nav {
  position: fixed;
  top: 0;
  right: 0;
  left: 0;
  z-index: 1100;
  padding: 0;
}

.nav-shell {
  position: relative;
  z-index: 1;
  min-height: 91px;
  display: flex;
  align-items: center;
}

.site-nav::before {
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  bottom: 4px;
  content: "";
  background: rgba(255, 255, 255, 0.1);
  backdrop-filter: blur(4px);
  border-bottom: 1px solid rgba(255, 255, 255, 0.24);
  box-shadow:
    inset 0 -1px 0 rgba(255, 255, 255, 0.18),
    0 8px 18px rgba(255, 255, 255, 0.08);
  z-index: 0;
}

.brand-logo {
  width: 291px;
  height: 57px;
  max-width: 100%;
  object-fit: contain;
}

.nav-menu {
  width: 100%;
  max-width: 984px;
  display: flex;
  justify-content: space-between;
  gap: 16px;
}

.nav-menu .nav-link {
  padding: 0;
  color: #050f27;
  font-size: 18px;
  font-weight: 600;
  line-height: 1;
  text-transform: uppercase;
  text-align: center;
}

.nav-menu .nav-link.active,
.nav-menu .nav-link[aria-current="page"] {
  color: #050f27;
}

.nav-menu .nav-link:hover,
.nav-menu .nav-link:focus {
  color: #050f27;
}

.hero-shell {
  position: relative;
  z-index: 2;
  display: flex;
  align-items: flex-start;
  min-height: 819px;
  padding-top: 200px;
}

.hero-copy {
  max-width: 936px;
}

.hero-text {
  display: grid;
  gap: 15px;
}

.hero-text h1 {
  margin: 0;
  font-size: 50px;
  font-weight: 500;
  line-height: 1.2;
}

.hero-text p {
  margin: 0;
  max-width: 788px;
  font-size: 18px;
  font-weight: 400;
  line-height: 1.6;
  letter-spacing: 0.03em;
}

.cta-button {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-top: 40px;
  min-width: 230px;
  min-height: 45px;
  padding: 13px 28px;
  border: 2px solid #81abdd;
  border-radius: 30px;
  color: #fff;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.03em;
  text-transform: none;
  background: linear-gradient(101deg, #063289 0%, #a588dd 100%);
  box-shadow: 0 6px 30.5px 0 #3267bb, 0 4px 4px 0 rgba(0, 0, 0, 0.25);
}

.hero-features {
  margin-top: 42px;
  max-width: 800px;
}

.feature-card {
  position: relative;
  display: flex;
  align-items: center;
  gap: 20px;
  min-height: 106px;
  padding: 20px;
  border: 1px solid rgba(255, 255, 255, 0.42);
  border-radius: 32px;
  overflow: hidden;
  color: #fff;
  background: rgba(166, 188, 216, 0.08);
  backdrop-filter: blur(18px);
}

.feature-card::before {
  position: absolute;
  inset: 0;
  content: "";
  pointer-events: none;
  border: 1px solid rgba(255, 255, 255, 0.42);
  border-radius: 32px;
  background: url("assets/feature-card-bg.svg") center center / 100% 100% no-repeat;
  filter: drop-shadow(0 0 5.4px rgba(255, 255, 255, 0.25));
  z-index: 0;
}

.feature-card > * {
  position: relative;
  z-index: 1;
}

.hero-features > .col-12:nth-child(2) .feature-card {
  padding-left: 31px;
  padding-right: 31px;
}

.feature-card img {
  width: 50px;
  height: 50px;
  flex: 0 0 auto;
  border: 0;
  outline: 0;
  box-shadow: none;
  filter: drop-shadow(0 0 5.4px rgba(255, 255, 255, 0.28));
}

.feature-card span {
  display: block;
  max-width: 250px;
  font-size: 20px;
  font-weight: 500;
  line-height: 1.4;
  color: #fff;
  text-shadow: 0 0 5.4px rgba(255, 255, 255, 0.16);
}

.content-surface {
  position: relative;
  background: #fff;
}

.content-surface::before,
.content-surface::after {
  position: absolute;
  top: 0;
  bottom: 0;
  width: 114px;
  content: "";
  pointer-events: none;
  z-index: 0;
  background: url("assets/side-ornament.svg") center top / 114px auto repeat-y;
}

.content-surface::before {
  left: 34px;
}

.content-surface::after {
  right: 34px;
  transform: scaleX(-1);
  transform-origin: center;
}

.info-section {
  position: relative;
  z-index: 1;
  padding: 86px 0 88px;
}

.info-panel {
  position: relative;
  z-index: 0;
  width: 100%;
  max-width: 1414px;
  margin: 0 auto;
  padding: 70px 62px 69px;
  border-radius: 32px;
  background: transparent;
  box-shadow: none;
  isolation: isolate;
}

.info-panel::before,
.info-panel::after {
  position: absolute;
  content: "";
  pointer-events: none;
  border-radius: 32px;
}

.info-panel::before {
  inset: 0;
  z-index: -2;
  background:
    radial-gradient(circle at 50% 44%, rgba(255, 255, 255, 0.62) 0%, rgba(255, 255, 255, 0.26) 28%, rgba(255, 255, 255, 0) 60%),
    linear-gradient(180deg, rgba(244, 244, 245, 0.98) 0%, rgba(240, 241, 243, 0.98) 100%);
  border: 1px solid rgba(232, 233, 236, 0.98);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.78),
    inset 0 0 48px rgba(255, 255, 255, 0.58),
    inset 0 -14px 26px rgba(231, 233, 236, 0.62);
}

.info-panel::after {
  inset: 26px 21px 29px 26px;
  z-index: -1;
  border: 1px solid rgba(252, 252, 253, 0.98);
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.98) 0%, rgba(251, 251, 252, 0.98) 100%);
  box-shadow:
    0 0 24px rgba(255, 255, 255, 0.96),
    0 0 42px rgba(246, 247, 249, 0.94),
    0 10px 20px rgba(241, 243, 246, 0.46);
}

.info-panel > * {
  position: relative;
  z-index: 1;
}

.info-mobile-brand {
  display: none;
}

.info-section h2 {
  margin: 0 0 20px;
  color: var(--title-text);
  font-size: 35px;
  font-weight: 500;
  line-height: 1.4;
}

.info-grid {
  margin: 0;
  --bs-gutter-x: 50px;
  --bs-gutter-y: 0;
}

.info-block {
  margin-top: 20px;
}

.info-block h3 {
  margin: 0 0 10px;
  color: var(--title-text);
  font-size: 22px;
  font-weight: 500;
  line-height: 1.4;
}

.info-block p,
.info-block li {
  margin: 0;
  color: var(--nav-text);
  font-size: 18px;
  font-weight: 400;
  line-height: 1.6;
  letter-spacing: 0.03em;
}

.info-block ul {
  margin: 0;
  padding-left: 0;
  list-style: none;
}

.screens-section {
  position: relative;
  z-index: 1;
  padding: 41px 0 88px;
}

.screen-stack {
  display: grid;
  gap: 30px;
}

.screen-card {
  position: relative;
  min-height: 630px;
  border-radius: 4px;
  overflow: hidden;
  background: transparent;
  box-shadow: 0 20px 40px rgba(91, 113, 155, 0.14);
}

.screen-card-link {
  display: block;
  height: 100%;
  color: inherit;
  text-decoration: none;
}

.screen-card-link:focus-visible {
  outline: 2px solid rgba(255, 255, 255, 0.9);
  outline-offset: -2px;
}

.screen-card::before,
.screen-card::after {
  position: absolute;
  content: "";
  pointer-events: none;
  z-index: 1;
  border-radius: 4px;
}

.screen-card::before {
  inset: 0;
  box-shadow:
    inset 0 0 18px rgba(255, 255, 255, 0.34),
    inset 0 0 42px rgba(255, 255, 255, 0.2),
    inset 0 -22px 38px rgba(255, 255, 255, 0.18),
    inset 12px 0 28px rgba(255, 255, 255, 0.16),
    inset -12px 0 28px rgba(255, 255, 255, 0.16);
}

.screen-card::after {
  inset: 1px;
  border-left: 1px solid rgba(255, 255, 255, 0.4);
  border-right: 1px solid rgba(255, 255, 255, 0.4);
  border-top: 1px solid rgba(255, 255, 255, 0.16);
  border-bottom: 1px solid rgba(255, 255, 255, 0.16);
}

.screen-photo {
  position: absolute;
  inset: 0;
  z-index: 0;
  border-radius: 4px;
  overflow: hidden;
  background:
    linear-gradient(180deg, rgba(4, 12, 33, 0.04) 0%, rgba(4, 12, 33, 0.03) 100%),
    var(--screen-image) center center / cover no-repeat;
}

.screen-overlay {
  position: relative;
  z-index: 2;
  width: 1372px;
  height: 595px;
  margin: 17px 19px 18px;
  padding: 0;
  color: #fff;
  background: transparent;
  border-radius: 4px;
}

.screen-overlay::before,
.screen-overlay::after,
.screen-card .screen-location::before {
  display: none;
}

.screen-layer {
  position: absolute;
  pointer-events: none;
  z-index: 0;
}

.screen-layer img {
  display: block;
  width: 100%;
  height: 100%;
}

.screen-layer-top {
  inset: 0.08% 0 97.23% 0;
}

.screen-layer-top img {
  position: absolute;
  left: -0.47%;
  top: -40%;
  width: 100.94%;
  height: 180%;
}

.screen-layer-left {
  inset: 0.08% 63.19% -1.26% 0;
  display: flex;
  align-items: center;
  justify-content: center;
}

.screen-layer-left-rot {
  position: relative;
  width: 602px;
  height: 505px;
  flex: 0 0 auto;
  transform: rotate(-90deg);
}

.screen-layer-left-rot img {
  position: absolute;
  left: -2.46%;
  top: -2.93%;
  width: 104.92%;
  height: 105.86%;
}

.screen-layer-right {
  inset: 49.75% -0.01% -0.05% 45.7%;
  display: flex;
  align-items: center;
  justify-content: center;
}

.screen-layer-right-rot {
  position: relative;
  width: 745.109px;
  height: 299.292px;
  flex: 0 0 auto;
  transform: rotate(180deg);
}

.screen-layer-right-rot img {
  position: absolute;
  left: -2.34%;
  top: -5.81%;
  width: 104.68%;
  height: 111.62%;
}

.screen-layer-surface {
  inset: -2.44% -1.17%;
  background: rgba(0, 0, 0, 0.004);
  border-radius: 4px;
}

.screen-layer-blur-dark {
  inset: 73.19% -0.44% -1.26% -0.66%;
  background: rgba(23, 44, 92, 0.34);
  filter: blur(23.2px);
  border-radius: 124px;
}

.screen-layer-blur-light {
  inset: 44.12% -0.44% -1.26% -1.17%;
  background: rgba(255, 255, 255, 0.14);
  filter: blur(23.2px);
  border-radius: 124px;
}

.screen-location {
  position: absolute;
  z-index: 2;
  display: grid;
  gap: 4px;
  width: 294px;
  left: 34px;
  top: 348.5px;
}

.screen-location span,
.screen-note span,
.metric small {
  font-size: 18px;
  font-weight: 400;
  line-height: 1.6;
  letter-spacing: 0.03em;
}

.screen-location h3 {
  margin: 0;
  font-size: 50px;
  font-weight: 500;
  line-height: 1.2;
  white-space: nowrap;
}

.screen-metrics {
  position: absolute;
  z-index: 2;
  display: flex;
  align-items: center;
  gap: 20px;
  width: 660px;
  height: 85px;
  left: 34px;
  top: 448.5px;
}

.metric {
  width: 150px;
  min-width: 150px;
  height: 85px;
  padding: 10px 15px;
  border: 1px solid rgba(255, 255, 255, 0.42);
  border-radius: 0;
  text-align: center;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.1) 0%, rgba(154, 156, 168, 0.22) 100%);
  backdrop-filter: blur(12px);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.2),
    0 8px 24px rgba(24, 34, 58, 0.12);
}

.metric small {
  display: block;
  color: #fff;
}

.metric strong {
  display: block;
  margin-top: 5px;
  font-size: 22px;
  font-weight: 500;
  line-height: 1.4;
}

.screen-note {
  position: absolute;
  z-index: 2;
  display: flex;
  gap: 50px;
  width: 594px;
  height: 29px;
  left: 34px;
  top: 544.5px;
}

.clients-section {
  position: relative;
  z-index: 1;
  padding: 43px 0 120px;
}

.clients-container {
  width: min(calc(100% - 58px), 1866px);
  margin: 0 auto;
}

.clients-title {
  margin: 0 0 30px;
  color: var(--title-text);
  font-size: 35px;
  font-weight: 500;
  line-height: 1.4;
  text-align: center;
}

.clients-carousel {
  width: min(100%, 1404px);
  max-width: 1404px;
  margin: 0 auto;
  overflow: hidden;
}

.client-track {
  display: flex;
  align-items: stretch;
  width: max-content;
  gap: 24px;
  will-change: transform;
}

.client-grid {
  display: grid;
}

.client-card {
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  width: 180px;
  min-width: 180px;
  height: 170px;
  padding: 13px 16px;
  border-radius: 28px;
  isolation: isolate;
  background: rgb(245, 248, 255);
}

.client-card::before {
  position: absolute;
  inset: 3px;
  content: "";
  border-radius: 28px;
  background: rgb(244, 247, 254);
  box-shadow: inset 0 4px 46px rgba(255, 255, 255, 0.77);
  z-index: 0;
}

.client-logo {
  position: relative;
  z-index: 1;
  width: auto;
  height: auto;
  object-fit: contain;
  flex: 0 0 auto;
}

.client-logo-vw {
  width: 142px;
  height: auto;
}

.client-logo-beeline {
  width: 138px;
  height: auto;
}

.client-logo-haval {
  width: 170px;
  height: auto;
}

.client-logo-gasprom {
  width: 142px;
  height: auto;
}

.client-logo-tele2 {
  width: 138px;
  height: auto;
}

.client-logo-a7 {
  width: 138px;
  height: auto;
}

.client-logo-merc {
  width: 138px;
  height: auto;
}

.client-logo-okei {
  width: 140px;
  height: auto;
}

.client-text {
  position: relative;
  z-index: 1;
  color: #707070;
  font-size: 28px;
  font-weight: 700;
  letter-spacing: 0.14em;
}

.client-haval {
  transform: translateY(2px);
}

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

.footer-main {
  display: grid;
  grid-template-columns: minmax(240px, 1.25fr) minmax(360px, 1fr) minmax(240px, 0.95fr);
  align-items: center;
  gap: 56px;
  padding-top: 60px;
  padding-bottom: 60px;
}

.footer-logo-image {
  width: 298px;
  height: auto;
  max-width: 100%;
  object-fit: contain;
  display: block;
}

.footer-logo-image-invert {
  filter: brightness(0) invert(1);
}

.footer-brand p {
  margin: 18px 0 0;
  color: var(--footer-sub);
  font-size: 18px;
  font-weight: 500;
  line-height: 1.4;
}

.footer-links {
  display: grid;
  grid-template-columns: repeat(4, max-content);
  justify-content: center;
  gap: 54px;
}

.footer-column {
  display: grid;
  gap: 15px;
}

.footer-column a {
  color: var(--footer-sub);
  font-size: 18px;
  font-weight: 600;
  line-height: 1.2;
  text-transform: uppercase;
}

.footer-contact {
  display: grid;
  justify-content: end;
  gap: 30px;
}

.footer-contact span {
  display: block;
  margin-bottom: 4px;
  color: #fff;
  font-size: 14px;
  font-weight: 400;
  line-height: 1.6;
  letter-spacing: 0.03em;
}

.footer-contact a {
  color: #fff;
  font-size: 22px;
  font-weight: 700;
  line-height: 1.4;
}

.socials {
  display: flex;
  gap: 16px;
}

.socials a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 52px;
  height: 52px;
  border-radius: 8px;
  color: #fff;
  font-size: 14px;
  font-weight: 700;
  line-height: 1;
}

.socials a:nth-child(1) {
  background: #27a6e5;
}

.socials a:nth-child(2) {
  background: #0077ff;
}

.socials a:nth-child(3) {
  background: linear-gradient(180deg, #1f1f1f 0%, #000 100%);
}

.socials img {
  width: auto;
  height: auto;
  max-width: 28px;
  max-height: 28px;
  object-fit: contain;
  flex: 0 0 auto;
}

.footer-bottom {
  background: #000;
}

.footer-bottom-shell {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  min-height: 60px;
  padding-top: 20px;
  padding-bottom: 20px;
}

.footer-bottom-shell span,
.footer-bottom-shell a {
  color: var(--footer-sub);
  font-size: 14px;
  font-weight: 400;
  line-height: 1.6;
  letter-spacing: 0.03em;
}

.footer-policies {
  display: flex;
  flex-wrap: wrap;
  gap: 24px 90px;
}

@media (max-width: 1599.98px) {
  .page-frame::before,
  .page-frame::after {
    display: none;
  }

  .content-surface::before,
  .content-surface::after {
    display: none;
  }
}

@media (max-width: 1199.98px) {
  .info-section {
    padding-top: 72px;
  }

  .info-panel {
    padding: 54px 42px 52px;
  }

  .info-panel::after {
    inset: 18px;
  }

  .page-container,
  .page-container-narrow {
    width: min(calc(100% - 48px), var(--page-width));
  }

  .hero-section {
    min-height: 820px;
  }

  .hero-shell {
    padding-top: 160px;
  }

  .hero-text h1,
  .screen-location h3 {
    font-size: 42px;
  }

  .feature-card span,
  .info-block h3,
  .metric strong,
  .footer-contact a {
    font-size: 20px;
  }

  .screen-card {
    min-height: 560px;
  }

  .footer-main {
    grid-template-columns: 1fr;
    justify-items: start;
  }

  .footer-links,
  .footer-contact {
    justify-content: start;
  }
}

@media (max-width: 991.98px) {
  .info-section {
    padding-top: 64px;
  }

  .site-nav::before {
    bottom: 0;
    border-bottom: 0;
    box-shadow: none;
  }

  .nav-shell {
    padding-top: 18px;
    padding-bottom: 18px;
    align-items: flex-start;
  }

  .navbar-toggler {
    margin-top: 8px;
  }

  .navbar-toggler-icon {
    position: relative;
    display: block;
    filter: brightness(0.35);
  }

  .navbar-collapse {
    margin-top: 18px;
    padding: 16px 18px;
    border-radius: 24px;
    background: rgba(255, 255, 255, 0.72);
    backdrop-filter: blur(12px);
  }

  .nav-menu {
    max-width: none;
    gap: 14px;
  }

  .nav-menu .nav-link {
    text-align: left;
  }

  .hero-section {
    min-height: 760px;
    background-position: 62% top;
  }

  .hero-shell {
    padding-top: 138px;
    padding-bottom: 64px;
  }

  .hero-text h1,
  .screen-location h3,
  .info-section h2,
  .clients-title {
    font-size: 34px;
  }

  .screen-card {
    min-height: 500px;
  }

  .screen-overlay {
    width: calc(100% - 32px);
    height: calc(100% - 32px);
    margin: 16px;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    gap: 24px;
    padding: 24px;
  }

  .screen-layer {
    display: none;
  }

  .screen-card::before {
    box-shadow:
      inset 0 0 14px rgba(255, 255, 255, 0.28),
      inset 0 -18px 28px rgba(255, 255, 255, 0.14),
      inset 8px 0 18px rgba(255, 255, 255, 0.12),
      inset -8px 0 18px rgba(255, 255, 255, 0.12);
  }

  .screen-location {
    position: relative;
    left: auto;
    top: auto;
    width: auto;
    max-width: calc(100% - 24px);
  }

  .screen-metrics {
    position: relative;
    left: auto;
    top: auto;
    width: 100%;
    height: auto;
    flex-wrap: wrap;
  }

  .metric {
    min-width: calc(50% - 10px);
    width: calc(50% - 10px);
    height: auto;
  }

  .screen-note {
    position: relative;
    left: auto;
    top: auto;
    width: 100%;
    height: auto;
    flex-wrap: wrap;
    gap: 12px 24px;
  }

  .client-card {
    min-height: 160px;
  }

  .clients-carousel {
    width: 100%;
    overflow: visible;
  }

  .client-track {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 18px 24px;
  }
}

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

  .page-container,
  .page-container-narrow {
    width: calc(100% - 32px);
  }

  .brand-logo {
    width: 180px;
    height: auto;
  }

  .hero-section {
    min-height: 640px;
    background-position: 68% top;
  }

  .hero-shell {
    padding-top: 120px;
  }

  .hero-text h1,
  .screen-location h3,
  .info-section h2,
  .clients-title {
    font-size: 28px;
  }

  .hero-text p,
  .screen-location span,
  .screen-note span,
  .metric small,
  .info-block p,
  .info-block li {
    font-size: 15px;
  }

  .cta-button {
    width: 100%;
    max-width: 320px;
  }

  .feature-card {
    min-height: 92px;
    padding: 18px;
    border-radius: 26px;
  }

  .feature-card::before {
    border-radius: 26px;
  }

  .hero-features > .col-12:nth-child(2) .feature-card {
    padding-left: 18px;
    padding-right: 18px;
  }

  .feature-card span,
  .info-block h3,
  .metric strong,
  .footer-column a {
    font-size: 18px;
  }

  .info-section {
    padding-top: 40px;
  }

  .info-panel {
    padding: 32px 22px 34px;
    border-radius: 24px;
  }

  .info-panel::before,
  .info-panel::after {
    border-radius: 24px;
  }

  .info-panel::after {
    inset: 10px;
  }

  .screens-section,
  .clients-section {
    padding-top: 24px;
    padding-bottom: 72px;
  }

  .screen-card {
    min-height: 360px;
  }

  .screen-overlay {
    width: calc(100% - 24px);
    height: calc(100% - 24px);
    margin: 12px;
    gap: 18px;
    padding: 18px;
  }

  .screen-card::after {
    inset: 1px;
    border-left-color: rgba(255, 255, 255, 0.28);
    border-right-color: rgba(255, 255, 255, 0.28);
  }

  .screen-metrics {
    gap: 12px;
  }

  .metric {
    min-width: calc(50% - 6px);
    width: calc(50% - 6px);
    padding: 8px 10px;
  }

  .screen-note {
    gap: 10px;
  }

  .client-card {
    width: 100%;
    min-width: 0;
    min-height: 132px;
    height: 190px;
    border-radius: 24px;
  }

  .client-text {
    font-size: 24px;
  }

  .clients-container {
    width: calc(100% - 32px);
  }

  .client-track {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
  }

  .footer-main {
    gap: 36px;
    padding-top: 42px;
    padding-bottom: 42px;
  }

  .footer-logo-image {
    width: 210px;
    height: auto;
  }

  .footer-links {
    grid-template-columns: repeat(2, max-content);
    gap: 24px 36px;
  }

  .footer-bottom-shell {
    flex-direction: column;
    align-items: flex-start;
  }

  .footer-policies {
    gap: 10px 24px;
  }

  .site-nav::before {
    left: -7px;
    right: -7px;
    top: -1px;
    bottom: auto;
    height: 61px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.16);
    box-shadow: 0 6px 14px rgba(255, 255, 255, 0.06);
  }

  .nav-shell {
    min-height: 61px;
    padding-top: 10px;
    padding-bottom: 10px;
    align-items: center;
    justify-content: space-between;
  }

  .navbar-brand {
    margin-right: 0 !important;
  }

  .brand-logo {
    width: 191px;
    height: 38px;
  }

  .navbar-toggler {
    width: 38px;
    height: 38px;
    margin-top: 0;
    padding: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
  }

  .navbar-toggler-icon {
    width: 18px;
    height: 14px;
    background: linear-gradient(#050f27, #050f27) center / 18px 2px no-repeat;
    filter: none;
  }

  .navbar-toggler-icon::before,
  .navbar-toggler-icon::after {
    position: absolute;
    left: 0;
    width: 18px;
    height: 2px;
    content: "";
    background: #050f27;
    transition:
      transform 220ms ease,
      top 220ms ease,
      bottom 220ms ease,
      opacity 220ms ease;
  }

  .navbar-toggler-icon::before {
    top: 0;
  }

  .navbar-toggler-icon::after {
    bottom: 0;
  }

  .site-nav.nav-open {
    height: 100dvh;
  }

  .site-nav.nav-open::before {
    bottom: 0;
    height: auto;
    border-bottom: 0;
    background: rgba(255, 255, 255, 0.2);
    backdrop-filter: blur(18px);
    box-shadow: none;
    z-index: 1100;
  }

  .site-nav.nav-open .navbar-toggler-icon {
    background: transparent;
  }

  .site-nav.nav-open .navbar-toggler-icon::before {
    top: 6px;
    transform: rotate(45deg);
  }

  .site-nav.nav-open .navbar-toggler-icon::after {
    bottom: 6px;
    transform: rotate(-45deg);
  }

  .site-nav.nav-open .nav-shell {
    position: fixed;
    top: 0;
    left: 16px;
    right: 16px;
    z-index: 1202;
    min-height: 61px;
    padding-top: 10px;
    padding-bottom: 10px;
    align-items: center;
    justify-content: space-between;
  }

  .navbar-collapse {
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 1200;
    margin-top: 0;
    padding: 104px 32px 48px;
    border-radius: 0;
    background: transparent;
    backdrop-filter: none;
    overflow: auto;
  }

  .navbar-collapse.show,
  .navbar-collapse.collapsing {
    display: flex;
    align-items: center;
    justify-content: center;
  }

  .site-nav.nav-open .navbar-toggler {
    position: relative;
    z-index: 1300;
    pointer-events: auto;
  }

  .nav-menu {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 18px;
    width: 100%;
    max-width: none;
  }

  .nav-menu .nav-item {
    width: 100%;
  }

  .nav-menu .nav-link {
    text-align: center;
    color: #050f27;
    font-size: 22px;
    font-weight: 500;
    line-height: 1.3;
    text-transform: none;
  }

  .hero-section {
    min-height: 800px;
    background-position: center top;
    background-size: auto 800px;
  }

  .hero-shell {
    min-height: 739px;
    padding-bottom: 30px;
    justify-content: center;
  }

  .hero-copy {
    width: calc(100% - 4px);
    max-width: 344px;
    margin: 0 auto;
  }

  .hero-text {
    gap: 10px;
  }

  .hero-text h1 {
    font-size: 28px;
    line-height: 1.2;
    text-align: center;
  }

  .hero-text p {
    max-width: 330px;
    font-size: 14px;
    font-weight: 500;
    line-height: 1.6;
    text-align: center;
  }

  .cta-button {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 236px;
    max-width: 236px;
    min-height: 56px;
    margin: 20px auto 0;
  }

  .hero-features {
    max-width: 344px;
    margin: 120px auto 0;
  }

  .hero-features .col-12 {
    flex: 0 0 100%;
    max-width: 100%;
  }

  .feature-card {
    min-height: 90px;
    padding: 16px 18px;
    border-radius: 32px;
    background: rgba(255, 255, 255, 0.08);
    backdrop-filter: blur(18px);
  }

  .feature-card::before {
    inset: 0;
    border-radius: 32px;
    background:
      linear-gradient(180deg, rgba(255, 255, 255, 0.15) 0%, rgba(255, 255, 255, 0.15) 100%),
      linear-gradient(180deg, rgba(171, 191, 218, 0.58) 0%, rgba(130, 153, 184, 0.62) 100%);
    box-shadow:
      inset 0 0 0 3px rgba(255, 255, 255, 0.12),
      inset 0 -2px 3.4px rgba(0, 0, 0, 0.02),
      0 0 5.4px rgba(255, 255, 255, 0.25);
    filter: none;
  }

  .feature-card img {
    width: 50px;
    height: 50px;
    filter: drop-shadow(0 0 5.4px rgba(255, 255, 255, 0.25));
  }

  .feature-card span {
    display: -webkit-box;
    width: calc(100% - 66px);
    max-width: none;
    font-size: 16px;
    line-height: 1.3;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow: hidden;
    text-shadow: none;
  }

  .hero-features > .col-12:nth-child(2) .feature-card {
    padding-left: 20px;
    padding-right: 20px;
  }

  .info-section {
    padding-top: 20px;
    padding-bottom: 28px;
  }

  .info-section .page-container {
    width: 340px;
  }

  .info-panel {
    padding: 20px 17px 28px;
    border-radius: 20px;
    background: #fff;
    box-shadow: 0 4px 24px rgba(23, 44, 92, 0.04);
  }

  .info-panel::before,
  .info-panel::after {
    display: none;
  }

  .info-mobile-brand {
    display: block;
    margin-bottom: 20px;
  }

  .info-mobile-brand-logo {
    width: 307px;
    height: auto;
    max-width: 100%;
  }

  .info-section h2 {
    margin-bottom: 20px;
    font-size: 20px;
    line-height: 1.4;
  }

  .info-block {
    margin-top: 20px;
  }

  .info-grid {
    --bs-gutter-x: 0;
    --bs-gutter-y: 0;
  }

  .info-grid > [class*="col-"] {
    padding-right: 0;
    padding-left: 0;
  }

  .info-block h3 {
    margin-bottom: 10px;
    font-size: 14px;
    line-height: 1.6;
    letter-spacing: 0;
  }

  .info-block p,
  .info-block li {
    font-size: 14px;
    font-weight: 500;
    line-height: 1.6;
    letter-spacing: 0;
  }

  .info-block ul {
    padding-left: 0;
    list-style: none;
  }

  .screens-section {
    padding-top: 60px;
    padding-bottom: 60px;
  }

  .screens-section .page-container {
    width: 100%;
    padding-right: 0;
    padding-left: 0;
  }

  .screen-stack {
    gap: 30px;
  }

  .screen-card {
    display: flex;
    flex-direction: column;
    min-height: 0;
    border-radius: 0;
    overflow: visible;
    box-shadow: none;
    background: transparent;
  }

  .screen-card::before,
  .screen-card::after {
    display: none;
  }

  .screen-photo {
    position: relative;
    inset: auto;
    width: 100%;
    height: 280px;
    border-radius: 0;
    background-position: center center;
    background-size: cover;
  }

  .screen-card:nth-child(2) .screen-photo,
  .screen-card:nth-child(3) .screen-photo {
    height: 296px;
  }

  .screen-overlay {
    width: 100%;
    height: auto;
    margin: 10px 0 0;
    padding: 0;
    color: var(--title-text);
    background: transparent;
    display: block;
  }

  .screen-layer {
    display: none !important;
  }

  .screen-location {
    position: relative;
    left: auto;
    top: auto;
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    width: 340px;
    max-width: 340px;
    margin: 0 auto 10px;
    gap: 16px;
  }

  .screen-location span {
    order: 2;
    margin-top: 2px;
    color: var(--title-text);
    font-size: 12px;
    line-height: 1.6;
    letter-spacing: 0.03em;
    white-space: nowrap;
  }

  .screen-location h3 {
    order: 1;
    max-width: 190px;
    font-size: 18px;
    line-height: 1.4;
    white-space: normal;
    color: var(--title-text);
  }

  .screen-metrics {
    position: relative;
    left: auto;
    top: auto;
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    width: 340px;
    height: auto;
    margin: 0 auto;
    padding: 10px 15px;
    gap: 15px;
    flex-wrap: nowrap;
    border-radius: 32px;
    background: rgba(255, 255, 255, 0.1);
    box-shadow:
      4px 4px 4px rgba(125, 147, 217, 0.07),
      inset 0 -2px 3.4px rgba(0, 0, 0, 0.02);
  }

  .metric {
    flex: 1 1 0;
    min-width: 0;
    width: auto;
    height: auto;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
  }

  .metric small {
    color: #172c5c;
    font-size: 12px;
    line-height: 1.6;
    letter-spacing: 0.03em;
  }

  .metric strong {
    margin-top: 5px;
    color: #172c5c;
    font-size: 18px;
    line-height: 1.4;
  }

  .screen-note {
    position: relative;
    left: auto;
    top: auto;
    display: flex;
    justify-content: space-between;
    width: 340px;
    height: auto;
    margin: 10px auto 0;
    gap: 10px;
  }

  .screen-note span {
    width: 165px;
    color: #6c769a;
    font-size: 12px;
    line-height: 1.6;
    text-align: center;
    letter-spacing: 0.03em;
  }

  .clients-section {
    padding-top: 60px;
    padding-bottom: 60px;
    overflow: hidden;
  }

  .clients-container {
    width: 360px;
    overflow: hidden;
  }

  .clients-title {
    margin-bottom: 15px;
    font-size: 18px;
    line-height: 1.4;
  }

  .clients-carousel {
    width: 416px;
    max-width: none;
    margin-left: -28px;
    overflow: visible;
  }

  .client-track {
    display: flex;
    gap: 10px;
    width: max-content;
  }

  .client-cell {
    flex: 0 0 132px;
    max-width: 132px;
  }

  .client-card {
    width: 132px;
    min-width: 132px;
    height: 126px;
    min-height: 126px;
    padding: 10px 12px;
    border-radius: 24px;
  }

  .client-card::before {
    inset: 3px;
    border-radius: 21px;
  }

  .client-logo-vw {
    width: 89px;
  }

  .client-logo-haval {
    width: 107px;
  }

  .client-logo-beeline {
    width: 85px;
  }

  .site-footer {
    padding-top: 0;
  }

  .footer-main {
    grid-template-columns: 1fr;
    justify-items: center;
    text-align: center;
    gap: 28px;
    padding-top: 40px;
    padding-bottom: 32px;
  }

  .footer-brand {
    display: flex;
    flex-direction: column;
    align-items: center;
  }

  .footer-logo-image {
    width: 183px;
  }

  .footer-brand p {
    margin-top: 16px;
    font-size: 18px;
    text-align: center;
  }

  .footer-links {
    display: grid;
    grid-template-columns: 1fr;
    justify-items: center;
    gap: 16px;
  }

  .footer-column {
    display: contents;
  }

  .footer-column a {
    font-size: 18px;
    text-transform: none;
    text-align: center;
  }

  .footer-contact {
    justify-items: center;
    gap: 20px;
  }

  .footer-contact span {
    text-align: center;
  }

  .footer-contact a {
    font-size: 18px;
  }

  .socials {
    justify-content: center;
    gap: 18px;
  }

  .socials a {
    width: 30px;
    height: 30px;
    border-radius: 8px;
  }

  .socials img {
    max-width: 16px;
    max-height: 16px;
  }

  .footer-bottom-shell {
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 12px;
    padding-top: 16px;
    padding-bottom: 20px;
    text-align: center;
  }

  .footer-policies {
    justify-content: center;
    gap: 10px 16px;
  }
}

body.contacts-page {
  background: #fefefe;
}

.contacts-page-frame {
  background: #fefefe;
}

.contacts-page-main {
  position: relative;
  padding: var(--site-nav-height) 0 0;
  background: #fefefe;
}

.contacts-page-main::before,
.contacts-page-main::after {
  position: absolute;
  top: 0;
  bottom: 0;
  width: 114px;
  content: "";
  pointer-events: none;
  background: url("assets/side-ornament.svg") center top / 114px auto repeat-y;
  opacity: 0.46;
}

.contacts-page-main::before {
  left: 34px;
}

.contacts-page-main::after {
  right: 34px;
  transform: scaleX(-1);
  transform-origin: center;
}

.contacts-page-shell {
  position: relative;
  z-index: 1;
  padding: 14px 0 54px;
}

.contacts-page-container {
  display: grid;
  gap: 30px;
}

.contacts-page-breadcrumb {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  width: fit-content;
  min-height: 24px;
  padding: 6px 20px;
  border: 1px solid #c1c7ef;
  border-radius: 15px;
  color: #050f27;
  font-size: 10px;
  font-weight: 500;
  line-height: 1;
  letter-spacing: 0.03em;
  background: rgba(255, 255, 255, 0.01);
  box-shadow:
    -9px 9px 15px #fefaff,
    15px -15px 15px #f6f8ff,
    4px 6px 18px rgba(0, 0, 0, 0.06);
}

.contacts-page-breadcrumb a {
  color: inherit;
}

.contacts-page-breadcrumb img {
  width: 10px;
  height: 10px;
}

.contacts-page-breadcrumb .is-current {
  color: #008d40;
}

.contacts-glass-card {
  position: relative;
  overflow: hidden;
  border-radius: 32px;
  background: linear-gradient(180deg, rgba(251, 251, 252, 0.98) 0%, rgba(244, 244, 246, 0.96) 100%);
  box-shadow: 4px 20px 18px rgba(0, 0, 0, 0.03);
}

.contacts-glass-card::before {
  position: absolute;
  inset: 0;
  content: "";
  pointer-events: none;
  border: 1px solid rgba(239, 240, 244, 0.96);
  border-radius: 32px;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.8),
    inset 0 -10px 18px rgba(236, 237, 240, 0.45);
}

.contacts-card-top {
  padding: 58px 60px 38px;
}

.contacts-page-top-grid {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(0, 598px) minmax(0, 668px);
  align-items: start;
  justify-content: space-between;
  gap: 62px;
}

.contacts-page-intro h1,
.contacts-card-seo h2 {
  margin: 0;
  color: #050f27;
  font-size: 35px;
  font-weight: 500;
  line-height: 1.4;
}

.contacts-page-intro p,
.contacts-card-seo p,
.contacts-check-columns span {
  margin: 0;
  color: #050f27;
  font-size: 18px;
  font-weight: 400;
  line-height: 1.6;
  letter-spacing: 0.03em;
}

.contacts-page-intro p {
  margin-top: 12px;
}

.contacts-page-map {
  border-radius: 4px;
  overflow: hidden;
  box-shadow: 0 8px 24px rgba(170, 188, 220, 0.22);
}

.contacts-page-map img {
  width: 100%;
  height: auto;
  aspect-ratio: 668 / 380;
  object-fit: cover;
}

.contacts-page-info-grid {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: 626px 210px 288px;
  gap: 30px 34px;
  margin-top: 43px;
}

.contacts-info-card {
  display: flex;
  flex-direction: column;
  gap: 0;
}

.contacts-info-card > .contacts-info-icon {
  margin-bottom: 20px;
}

.contacts-info-wide {
  grid-column: span 1;
}

.contacts-info-span-two {
  grid-column: 2 / span 2;
}

.contacts-info-card h2 {
  margin: 0 0 10px;
  color: #050f27;
  font-size: 18px;
  font-weight: 500;
  line-height: 1.4;
}

.contacts-info-card p {
  margin: 0;
  color: #050f27;
  font-size: 14px;
  font-weight: 400;
  line-height: 1.6;
  letter-spacing: 0.03em;
}

.contacts-info-card p + p {
  margin-top: 4px;
}

.contacts-info-card a {
  color: inherit;
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 2px;
}

.contacts-info-icon {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 64px;
  height: 64px;
  border-radius: 16px;
  overflow: hidden;
}

.contacts-info-icon::before {
  position: absolute;
  inset: 2px;
  content: "";
  border-radius: 14px;
  background: rgba(255, 255, 255, 0.03);
}

.contacts-info-icon::after {
  display: none;
}

.contacts-info-icon img {
  position: relative;
  z-index: 1;
  width: 44px;
  height: 44px;
}

.contacts-info-icon img.contacts-icon-time {
  transform: translate(3px, 1px);
}

.contacts-info-icon-blue {
  background: linear-gradient(135deg, #61cdf5 0%, #156dde 100%);
  box-shadow:
    5px 5px 4px rgba(255, 255, 255, 0.32),
    10px 10px 3.5px rgba(177, 222, 253, 0.45);
}

.contacts-info-icon-blue::after {
  display: none;
}

.contacts-info-icon-green {
  background: linear-gradient(135deg, #9fff6b 0%, #32b23a 100%);
  box-shadow:
    5px 5px 4px rgba(255, 255, 255, 0.32),
    10px 10px 3.5px rgba(79, 192, 96, 0.25);
}

.contacts-info-icon-green::after {
  display: none;
}

.contacts-card-seo {
  padding: 60px 45px 56px;
}

.contacts-card-seo h2 {
  position: relative;
  z-index: 1;
}

.contacts-seo-intro,
.contacts-seo-lead,
.contacts-seo-outro {
  position: relative;
  z-index: 1;
  max-width: 1305px;
}

.contacts-seo-intro {
  margin-top: 20px;
}

.contacts-seo-lead {
  margin-top: 20px;
}

.contacts-seo-outro {
  margin-top: 24px;
}

.contacts-check-columns {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 30px;
  margin-top: 20px;
}

.contacts-check-columns ul {
  margin: 0;
  padding: 0;
  list-style: none;
}

.contacts-check-columns li {
  display: flex;
  align-items: center;
  gap: 12px;
}

.contacts-check-columns li + li {
  margin-top: 15px;
}

.contacts-check-columns img {
  width: 65px;
  height: 65px;
  margin: -17px;
  flex: 0 0 auto;
}

@media (max-width: 1599.98px) {
  .contacts-page-main::before,
  .contacts-page-main::after {
    display: none;
  }
}

@media (max-width: 1199.98px) {
  .contacts-card-top {
    padding: 42px 36px;
  }

  .contacts-page-top-grid {
    grid-template-columns: 1fr;
    gap: 30px;
  }

  .contacts-page-info-grid {
    grid-template-columns: 1fr 1fr;
  }

  .contacts-info-card.contacts-info-wide {
    grid-column: span 2;
  }

  .contacts-info-span-two {
    grid-column: span 2;
  }

  .contacts-card-seo {
    padding: 42px 36px;
  }

  .contacts-check-columns {
    grid-template-columns: 1fr;
    gap: 18px;
  }
}

@media (max-width: 991.98px) {
  .contacts-page-intro h1,
  .contacts-card-seo h2 {
    font-size: 30px;
  }

  .contacts-page-intro p,
  .contacts-card-seo p,
  .contacts-check-columns span {
    font-size: 16px;
  }

  .contacts-page-shell {
    padding-bottom: 40px;
  }
}

@media (max-width: 767.98px) {
  .contacts-page-main {
    padding-top: 61px;
  }

  .contacts-page-shell {
    padding-top: 9px;
    padding-bottom: 50px;
  }

  .contacts-page-container {
    width: 100%;
    gap: 50px;
  }

  .contacts-page-breadcrumb {
    margin-left: 10px;
    padding: 6px 20px;
  }

  .contacts-glass-card {
    border-radius: 32px;
  }

  .contacts-glass-card::before {
    border-radius: 32px;
  }

  .contacts-card-top {
    padding: 20px 10px 30px;
  }

  .contacts-page-intro h1,
  .contacts-card-seo h2 {
    font-size: 20px;
    text-align: center;
  }

  .contacts-page-intro p,
  .contacts-card-seo p,
  .contacts-check-columns span {
    font-size: 14px;
    font-weight: 500;
    text-align: center;
    letter-spacing: 0;
  }

  .contacts-page-top-grid {
    gap: 20px;
  }

  .contacts-page-intro p {
    margin-top: 0;
  }

  .contacts-page-map img {
    aspect-ratio: 340 / 190;
  }

  .contacts-page-info-grid {
    grid-template-columns: 1fr;
    margin-top: 30px;
    gap: 30px;
  }

  .contacts-info-card.contacts-info-wide {
    grid-column: span 1;
  }

  .contacts-info-span-two {
    grid-column: span 1;
  }

  .contacts-info-card {
    align-items: center;
    gap: 0;
    text-align: center;
  }

  .contacts-info-icon {
    width: 64px;
    height: 64px;
    border-radius: 16px;
  }

  .contacts-info-icon::before,
  .contacts-info-icon::after {
    border-radius: 14px;
  }

  .contacts-info-icon img {
    width: 44px;
    height: 44px;
  }

  .contacts-info-icon img.contacts-icon-time {
    transform: translate(3px, 1px);
  }

  .contacts-info-card h2 {
    margin-bottom: 0;
    font-size: 14px;
  }

  .contacts-info-card p {
    font-size: 12px;
    font-weight: 500;
    text-align: center;
    letter-spacing: 0.03em;
  }

  .contacts-card-seo {
    padding: 26px 10px 22px;
  }

  .contacts-seo-intro {
    margin-top: 10px;
  }

  .contacts-seo-lead,
  .contacts-seo-outro {
    margin-top: 20px;
  }

  .contacts-check-columns {
    margin-top: 20px;
  }

  .contacts-check-columns li {
    align-items: center;
    gap: 12px;
  }

  .contacts-check-columns img {
    width: 65px;
    height: 65px;
    margin: -17px;
    margin-top: -17px;
  }
}

/* SALES PAGE STYLES */
.sales-page {
  background: linear-gradient(180deg, #f8f9fb 0%, #fbfcff 8%, #ffffff 24%, #ffffff 100%);
  color: #050f27;
}

.sales-page-frame {
  overflow: hidden;
}

.sales-site-nav::before {
  background: rgba(255, 255, 255, 0.72);
  backdrop-filter: blur(14px);
  border-bottom: 1px solid rgba(236, 239, 246, 0.96);
  box-shadow:
    inset 0 -1px 0 rgba(255, 255, 255, 0.78),
    0 12px 30px rgba(15, 27, 63, 0.05);
}

.sales-site-nav .nav-menu .nav-link {
  color: #050f27;
}

.sales-site-nav .nav-menu .nav-link:hover,
.sales-site-nav .nav-menu .nav-link:focus {
  color: #050f27;
}

.sales-main {
  position: relative;
  padding: calc(var(--site-nav-height) + 14px) 0 110px;
}

.sales-main::before,
.sales-main::after {
  position: absolute;
  top: 0;
  bottom: 0;
  width: 95px;
  content: "";
  pointer-events: none;
  opacity: 0.35;
  background: url("assets/side-ornament.svg") center top / 95px auto repeat-y;
}

.sales-main::before {
  left: 23px;
}

.sales-main::after {
  right: 23px;
  transform: scaleX(-1);
}

.sales-top-section {
  position: relative;
  z-index: 1;
}

body.sales-page .contacts-page-breadcrumb {
  margin-bottom: 30px;
}

.sales-breadcrumb {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  min-height: 40px;
  margin-bottom: 60px;
  padding: 8px 20px;
  border: 1px solid #d8def3;
  border-radius: 15px;
  color: #050f27;
  font-size: 10px;
  font-weight: 500;
  letter-spacing: 0.03em;
  background: rgba(255, 255, 255, 0.9);
  box-shadow:
    -9px 9px 15px rgba(254, 250, 255, 0.92),
    15px -15px 15px rgba(246, 248, 255, 0.92),
    4px 6px 18px rgba(0, 0, 0, 0.06);
}

.sales-breadcrumb a {
  color: #050f27;
}

.sales-breadcrumb [aria-current="page"] {
  color: #008d40;
}

.sales-breadcrumb-separator {
  width: 10px;
  height: 10px;
  opacity: 0.65;
  background:
    linear-gradient(45deg, transparent 41%, #65708f 41%, #65708f 59%, transparent 59%),
    linear-gradient(-45deg, transparent 41%, #65708f 41%, #65708f 59%, transparent 59%);
}

.sales-hero-image {
  overflow: hidden;
  border-radius: 4px;
  background: #eaeff8;
  box-shadow: 0 20px 38px rgba(21, 37, 74, 0.06);
}

.sales-hero-image img {
  width: 100%;
  height: auto;
  display: block;
}

.sales-intro-block {
  display: grid;
  gap: 15px;
  max-width: 1300px;
  padding: 30px 0 0;
}

.sales-intro-block h1,
.sales-card h2 {
  margin: 0;
  color: #050f27;
  font-size: 35px;
  font-weight: 500;
  line-height: 1.4;
}

.sales-intro-block p,
.sales-card-header p,
.sales-card p,
.sales-check-list li,
.sales-filter-list li,
.sales-steps-list p,
.sales-manager-meta p,
.sales-contacts-block p,
.sales-contacts-block a,
.sales-map-note {
  margin: 0;
  color: #050f27;
  font-size: 18px;
  font-weight: 400;
  line-height: 1.6;
  letter-spacing: 0.03em;
}

.sales-card {
  margin-top: 60px;
  padding: 60px;
  border: 1px solid rgba(237, 240, 246, 0.95);
  border-radius: 32px;
  background:
    radial-gradient(circle at top left, rgba(255, 255, 255, 0.95) 0, rgba(255, 255, 255, 0.78) 24%, rgba(255, 255, 255, 0) 52%),
    linear-gradient(180deg, rgba(255, 255, 255, 0.98) 0%, rgba(250, 251, 253, 0.98) 100%);
  box-shadow:
    0 18px 38px rgba(17, 31, 67, 0.05),
    inset 0 1px 0 rgba(255, 255, 255, 0.95);
}

.sales-hero-card {
  margin-top: 0;
  padding: 45px 45px 60px;
}

.sales-hero-card .sales-intro-block {
  max-width: none;
  padding: 30px 0 0;
}

.sales-card-header {
  display: grid;
  gap: 20px;
}

.sales-card h3,
.sales-contacts-block h3 {
  margin: 0;
  color: #050f27;
  font-size: 22px;
  font-weight: 500;
  line-height: 1.4;
}

.sales-services-grid,
.sales-check-list-two-columns {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 30px 88px;
}

.sales-services-grid {
  margin-top: 30px;
}

.sales-check-list,
.sales-filter-list,
.sales-steps-list {
  margin: 0;
  padding: 0;
  list-style: none;
}

.sales-check-list {
  display: grid;
  gap: 20px;
}

.sales-check-list li {
  position: relative;
  min-height: 44px;
  padding-left: 42px;
}

.sales-check-list li::before {
  position: absolute;
  top: 50%;
  left: -17px;
  width: 65px;
  height: 65px;
  content: "";
  transform: translateY(-50%);
  background: url("assets/sales-check.svg") center / contain no-repeat;
}

.sales-filters {
  display: grid;
  gap: 20px;
  margin-top: 30px;
}

.sales-filter-list {
  display: flex;
  flex-wrap: wrap;
  gap: 22px 60px;
}

.sales-filter-list li {
  position: relative;
  max-width: 170px;
  padding-left: 22px;
}

.sales-filter-list li::before {
  position: absolute;
  top: 9px;
  left: 0;
  width: 10px;
  height: 10px;
  content: "";
  border: 2px solid #ffffff;
  border-radius: 50%;
  background:
    radial-gradient(circle at 32% 32%, rgba(255, 255, 255, 0.95) 0, rgba(255, 255, 255, 0.28) 46%, rgba(255, 255, 255, 0) 100%),
    linear-gradient(135deg, rgba(0, 141, 64, 0.2) 0%, rgba(0, 141, 64, 0.7) 100%);
  box-shadow:
    1px 1px 5px rgba(253, 253, 255, 0.96),
    0 3px 9px rgba(229, 254, 235, 0.96),
    0 4px 16px rgba(235, 235, 235, 0.25);
}

.sales-digital-benefits,
.sales-value-list {
  display: grid;
  gap: 20px;
  margin-top: 30px;
}

.sales-contact-person {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 644px;
  gap: 51px;
  align-items: start;
  margin-top: 60px;
}

.sales-contact-copy {
  display: grid;
  gap: 30px;
  min-height: 450px;
}

.sales-contact-copy-note {
  margin-top: 8px;
}

.sales-manager-card {
  display: grid;
  gap: 15px;
}

.sales-manager-photo {
  overflow: hidden;
  padding: 3px;
  border-radius: 4px;
  background: #ffffff;
  box-shadow: 0 16px 30px rgba(16, 29, 61, 0.05);
}

.sales-manager-photo img {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 4px;
}

.sales-manager-meta {
  display: grid;
  gap: 0;
}

.sales-manager-meta h3 {
  margin: 0;
  color: #050f27;
  font-size: 22px;
  font-weight: 500;
  line-height: 1.4;
}

.sales-bottom-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 30px;
  margin-top: 60px;
}

.sales-map-card,
.sales-process-card {
  min-height: 911px;
}

.sales-map-card {
  display: grid;
  align-content: start;
}

.sales-map-header {
  gap: 15px;
}

.sales-map-visual {
  position: relative;
  width: min(100%, 602px);
  margin: 30px auto 0;
  aspect-ratio: 602 / 575;
}

.sales-map-layer,
.sales-map-pin {
  position: absolute;
  display: block;
}

.sales-map-city,
.sales-map-districts,
.sales-map-regions {
  inset: 0;
  width: 100%;
  height: 100%;
}

.sales-map-water {
  top: 7.31%;
  left: 16.84%;
  width: 78.64%;
  height: 87.85%;
}

.sales-map-pin {
  width: 5.09%;
  aspect-ratio: 30.631 / 30.6659;
  max-width: 30.63px;
  background: url("assets/sales-map-pin.svg") center / contain no-repeat;
  pointer-events: none;
}

.sales-map-note {
  margin-top: 16px;
  color: #7d85a2;
  font-size: 12px;
  line-height: 1.5;
  letter-spacing: 0.03em;
}

.sales-process-card {
  display: grid;
  align-content: start;
  gap: 30px;
}

.sales-steps-list {
  display: grid;
  gap: 15px;
}

.sales-steps-list li {
  display: grid;
  grid-template-columns: 24px minmax(0, 1fr);
  gap: 15px;
  align-items: start;
}

.sales-steps-list span {
  color: #008d40;
  font-size: 18px;
  font-weight: 500;
  line-height: 1.4;
}

.sales-contacts-block {
  display: grid;
  gap: 20px;
}

.sales-contacts-company,
.sales-contacts-row p,
.sales-contacts-pair a,
.sales-legal-list p {
  color: #6c769a;
}

.sales-contacts-row,
.sales-contacts-pair > div,
.sales-legal-list > div {
  display: grid;
  gap: 5px;
}

.sales-contacts-block h4 {
  margin: 0;
  color: #050f27;
  font-size: 18px;
  font-weight: 500;
  line-height: 1.4;
}

.sales-contacts-pair {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, max-content));
  justify-content: space-between;
  gap: 20px 32px;
}

.sales-legal-list {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, max-content));
  gap: 20px 50px;
}

.sales-contacts-block a {
  color: #6c769a;
}

@media (max-width: 1399.98px) {
  .sales-contact-person {
    grid-template-columns: minmax(0, 1fr) minmax(420px, 0.9fr);
  }

  .sales-services-grid,
  .sales-check-list-two-columns {
    gap: 30px 48px;
  }

  .sales-filter-list {
    gap: 18px 34px;
  }
}

@media (max-width: 1199.98px) {
  .sales-main {
    padding-bottom: 90px;
  }

  .sales-main::before,
  .sales-main::after {
    display: none;
  }

  .sales-card {
    padding: 44px;
  }

  .sales-hero-card {
    padding: 30px 30px 44px;
  }

  .sales-hero-card .sales-intro-block {
    padding: 24px 0 0;
  }

  .sales-contact-person,
  .sales-bottom-grid,
  .sales-services-grid,
  .sales-check-list-two-columns {
    grid-template-columns: 1fr;
  }

  .sales-contact-person {
    gap: 30px;
  }

  .sales-map-card,
  .sales-process-card {
    min-height: auto;
  }
}

@media (max-width: 991.98px) {
  .sales-site-nav .navbar-collapse {
    margin-top: 12px;
    padding: 18px 20px;
    border: 1px solid rgba(227, 232, 243, 0.96);
    border-radius: 24px;
    background: rgba(255, 255, 255, 0.94);
    box-shadow: 0 16px 34px rgba(15, 27, 63, 0.08);
  }

  .sales-site-nav .nav-menu {
    max-width: none;
    align-items: flex-start;
    gap: 14px;
  }

  .sales-site-nav .nav-menu .nav-link {
    text-align: left;
  }

  .sales-breadcrumb {
    margin-bottom: 36px;
  }

  body.sales-page .contacts-page-breadcrumb {
    margin-bottom: 24px;
  }

  .sales-intro-block h1,
  .sales-card h2 {
    font-size: 31px;
  }

  .sales-card {
    margin-top: 36px;
    padding: 34px 28px;
  }

  .sales-hero-card {
    margin-top: 0;
    padding: 16px 16px 30px;
  }

  .sales-hero-card .sales-intro-block {
    padding: 20px 0 0;
  }

  .sales-contact-copy {
    min-height: auto;
  }

  .sales-contacts-pair,
  .sales-legal-list {
    grid-template-columns: 1fr;
    justify-content: start;
    gap: 18px;
  }
}

@media (max-width: 767.98px) {
  .sales-main {
    padding-top: calc(var(--site-nav-height) + 10px);
    padding-bottom: 72px;
  }

  body.sales-page .page-container,
  body.sales-page .page-container-narrow {
    width: min(calc(100% - 32px), var(--page-width));
  }

  body.sales-page .brand-logo {
    width: 190px;
    height: auto;
  }

  .sales-breadcrumb {
    flex-wrap: wrap;
    row-gap: 6px;
    min-height: auto;
    padding: 10px 16px;
  }

  body.sales-page .contacts-page-breadcrumb {
    margin-bottom: 20px;
  }

  .sales-intro-block {
    gap: 14px;
    padding-top: 24px;
  }

  .sales-intro-block h1,
  .sales-card h2 {
    font-size: 25px;
  }

  .sales-card h3,
  .sales-contacts-block h3,
  .sales-manager-meta h3 {
    font-size: 20px;
  }

  .sales-intro-block p,
  .sales-card-header p,
  .sales-card p,
  .sales-check-list li,
  .sales-filter-list li,
  .sales-steps-list p,
  .sales-manager-meta p,
  .sales-contacts-block p,
  .sales-contacts-block a {
    font-size: 16px;
  }

  .sales-card {
    padding: 28px 22px;
    border-radius: 24px;
  }

  .sales-hero-card {
    padding: 10px 10px 26px;
  }

  .sales-hero-card .sales-intro-block {
    padding: 20px 0 0;
  }

  .sales-check-list li {
    padding-left: 42px;
  }

  .sales-filter-list {
    display: grid;
    gap: 14px;
  }

  .sales-filter-list li {
    max-width: none;
  }

  .sales-steps-list li {
    grid-template-columns: 26px 1fr;
    gap: 12px;
  }
}

/* NEWS PAGE STYLES */
body.news-body {
  background: linear-gradient(180deg, #f5f7fb 0%, #fefefe 220px, #fefefe 100%);
  color: #050f27;
}

.news-main {
  position: relative;
  padding: calc(var(--site-nav-height) + 14px) 0 0;
}

.news-main::before,
.news-main::after {
  position: absolute;
  top: 0;
  bottom: 0;
  width: 95px;
  content: "";
  pointer-events: none;
  opacity: 0.35;
  background: url("assets/side-ornament.svg") center top / 95px auto repeat-y;
}

.news-main::before {
  left: 27px;
}

.news-main::after {
  right: 27px;
  transform: scaleX(-1);
}

.news-page-shell {
  position: relative;
  z-index: 1;
  padding: 0 0 0;
}

.news-page-container {
  display: grid;
  gap: 12px;
}

.news-breadcrumbs {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  width: fit-content;
  min-height: 24px;
  padding: 6px 20px;
  border: 1px solid #c1c7ef;
  border-radius: 15px;
  color: #050f27;
  font-size: 10px;
  font-weight: 500;
  line-height: 1;
  letter-spacing: 0.03em;
  background: rgba(255, 255, 255, 0.01);
  box-shadow:
    -9px 9px 15px #fefaff,
    15px -15px 15px #f6f8ff,
    4px 6px 18px rgba(0, 0, 0, 0.06);
}

.news-breadcrumbs a {
  color: inherit;
}

.news-breadcrumbs .is-current {
  color: #008d40;
}

.news-page-title {
  margin: 0;
  color: #050f27;
  font-size: 35px;
  font-weight: 500;
  line-height: 1.4;
  text-align: center;
}

.news-panel {
  position: relative;
  margin-top: 6px;
  padding: 48px 62px 33px;
  border-radius: 32px;
  background: rgba(255, 255, 255, 0.58);
  box-shadow: 4px 20px 18px rgba(0, 0, 0, 0.03);
}

.news-desktop-layout {
  display: block;
}

.news-mobile-layout {
  display: none;
}

.news-grid-primary {
  display: grid;
  grid-template-columns: 268px 1px minmax(0, 635px) 1px 265px;
  gap: 25px;
  align-items: start;
}

.news-left-column {
  display: grid;
  gap: 20px;
}

.news-grid-divider {
  align-self: stretch;
  width: 1px;
  background: #d6dcee;
}

.news-side-column {
  display: grid;
  gap: 20px;
}

.news-card-image {
  display: block;
  width: 100%;
  object-fit: cover;
}

.news-card-small .news-card-image {
  aspect-ratio: 268 / 180;
}

.news-card-feature .news-card-image {
  aspect-ratio: 635 / 419;
}

.news-card-large .news-card-image {
  aspect-ratio: 410 / 270;
}

.news-card-body {
  padding-top: 10px;
}

.news-card-title,
.news-side-title {
  margin: 0;
  color: #050f27;
  font-size: 22px;
  font-weight: 500;
  line-height: 1.4;
}

.news-card-meta,
.news-side-meta {
  display: block;
  margin-top: 10px;
  color: rgba(5, 15, 39, 0.6);
  font-size: 10px;
  font-weight: 500;
  line-height: 1;
  letter-spacing: 0.03em;
}

.news-card-excerpt {
  margin: 10px 0 0;
  color: #050f27;
  font-size: 18px;
  font-weight: 400;
  line-height: 1.6;
  letter-spacing: 0.03em;
}

.news-card-link {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  margin-top: 10px;
  color: #050f27;
  font-size: 18px;
  font-weight: 500;
  line-height: 1.4;
}

.news-card-title a,
.news-side-title a,
.news-mobile-title a,
.news-mobile-mini-copy h3 a {
  color: inherit;
  text-decoration: none;
}

.news-card-title a:hover,
.news-side-title a:hover,
.news-mobile-title a:hover,
.news-mobile-mini-copy h3 a:hover {
  text-decoration: underline;
}

.news-card-link img {
  width: 15px;
  height: 15px;
  flex: 0 0 auto;
}

.news-card-feature {
  text-align: center;
}

.news-card-feature .news-card-excerpt {
  max-width: 560px;
  margin-right: auto;
  margin-left: auto;
}

.news-side-item {
  display: grid;
  grid-template-columns: 100px minmax(0, 1fr);
  gap: 20px;
}

.news-side-image {
  display: block;
  width: 100%;
  aspect-ratio: 100 / 90;
  object-fit: cover;
}

.news-side-title {
  line-height: 1.12;
}

.news-divider {
  height: 1px;
  margin: 48px 0 47px;
  background: #d6dcee;
}

.news-grid-secondary {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 50px 31px;
}

.news-pagination {
  display: flex;
  align-items: center;
  gap: 20px;
  margin-top: 30px;
}

.news-page-dot {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 30px;
  height: 30px;
  border: 1px solid #d8dce8;
  border-radius: 50%;
  color: #989898;
  font-size: 12px;
  font-weight: 700;
  line-height: 1;
  background: #fff;
}

.news-page-dot.is-active {
  color: #fff;
  border-color: #81abdd;
  background: linear-gradient(101deg, #063289 0%, #a588dd 100%);
}

.news-footer {
  margin-top: 42px;
}

.news-mobile-hero,
.news-mobile-banner,
.news-mobile-feed-card {
  display: grid;
  gap: 10px;
}

.news-mobile-image,
.news-mobile-feed-image {
  display: block;
  width: 100%;
  object-fit: cover;
}

.news-mobile-image {
  aspect-ratio: 2 / 1;
}

.news-mobile-image-hero {
  aspect-ratio: 18 / 13;
}

.news-mobile-feed-image {
  aspect-ratio: 18 / 11;
}

.news-mobile-body {
  display: grid;
  gap: 10px;
  padding: 0 10px;
}

.news-mobile-body-centered {
  text-align: center;
}

.news-mobile-title {
  margin: 0;
  color: #050f27;
  font-size: 18px;
  font-weight: 500;
  line-height: 1.4;
}

.news-mobile-meta {
  color: rgba(5, 15, 39, 0.6);
  font-size: 10px;
  font-weight: 500;
  line-height: 1;
  letter-spacing: 0.03em;
}

.news-mobile-excerpt {
  margin: 0;
  color: #6c769a;
  font-size: 14px;
  font-weight: 500;
  line-height: 1.6;
}

.news-mobile-link {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  color: #050f27;
  font-size: 14px;
  font-weight: 500;
  line-height: 1.4;
}

.news-mobile-link img {
  width: 15px;
  height: 15px;
}

.news-mobile-mini-list {
  display: grid;
  gap: 30px;
  padding: 20px 10px 0;
}

.news-mobile-mini {
  display: grid;
  grid-template-columns: 100px minmax(0, 1fr);
  gap: 20px;
}

.news-mobile-mini-image {
  width: 100%;
  aspect-ratio: 10 / 9;
  object-fit: cover;
}

.news-mobile-mini-copy {
  display: grid;
  align-content: start;
  gap: 10px;
}

.news-mobile-mini-copy h3 {
  margin: 0;
  color: #050f27;
  font-size: 18px;
  font-weight: 500;
  line-height: 1.4;
}

.news-mobile-mini-copy span {
  color: rgba(5, 15, 39, 0.6);
  font-size: 10px;
  font-weight: 500;
  line-height: 1;
  letter-spacing: 0.03em;
}

.news-mobile-feed {
  display: grid;
  gap: 30px;
  padding-top: 30px;
}

@media (max-width: 1599.98px) {
  .news-main::before,
  .news-main::after {
    display: none;
  }
}

@media (max-width: 1299.98px) {
  .news-panel {
    padding-right: 36px;
    padding-left: 36px;
  }

  .news-grid-primary {
    grid-template-columns: 240px minmax(0, 1fr);
    gap: 24px;
  }

  .news-grid-divider {
    display: none;
  }

  .news-side-column {
    grid-column: 1 / -1;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 20px;
  }

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

@media (max-width: 767.98px) {
  .news-main {
    padding: 61px 0 0;
    background: #fff;
  }

  .news-page-shell {
    padding-top: 9px;
  }

  .news-page-container {
    width: 360px;
    max-width: 100%;
    padding-right: 0;
    padding-left: 0;
    gap: 10px;
  }

  .news-breadcrumbs {
    margin-left: 10px;
    padding: 6px 20px;
  }

  .news-page-title {
    font-size: 20px;
  }

  .news-panel {
    margin-top: 9px;
    padding: 0 0 30px;
    border-radius: 32px;
    background: rgba(255, 255, 255, 0.5);
  }

  .news-desktop-layout {
    display: none;
  }

  .news-mobile-layout {
    display: grid;
    gap: 20px;
  }

  .news-mobile-feed {
    padding-top: 0;
  }

  .news-pagination {
    display: none;
  }

  .news-footer {
    margin-top: 0;
  }
}

/* Article Page */
body.article-body .nav-menu .nav-link[aria-current="page"] {
  color: #050f27;
}

.article-main {
  padding-top: 106px;
}

.article-page-shell {
  position: relative;
  z-index: 1;
  padding-bottom: 55px;
}

.article-page-container {
  width: min(calc(100% - 510px), 1410px);
}

.article-breadcrumbs {
  background: #fff;
  box-shadow: 4px 6px 18px rgba(0, 0, 0, 0.06);
}

.article-breadcrumbs img {
  width: 10px;
  height: 10px;
  flex: 0 0 auto;
}

.article-card,
.article-subpanel {
  margin-top: 30px;
  padding: 60px;
  border-radius: 32px;
  background: rgba(255, 255, 255, 0.5);
  box-shadow: 4px 20px 18px rgba(0, 0, 0, 0.03);
}

.article-card {
  margin-top: 11px;
}

.article-header {
  display: grid;
  gap: 10px;
}

.article-reading-badge,
.article-photo-credit {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: fit-content;
  min-height: 24px;
  padding: 6px 20px;
  border: 1px solid #c1c7ef;
  border-radius: 15px;
  background: #fff;
  box-shadow: 4px 6px 18px rgba(0, 0, 0, 0.06);
  color: rgba(5, 15, 39, 0.6);
  font-size: 10px;
  font-weight: 500;
  line-height: 1;
  letter-spacing: 0.03em;
}

.article-title,
.article-section-title {
  margin: 0;
  color: #050f27;
  font-size: 35px;
  font-weight: 500;
  line-height: 1.4;
}

.article-date,
.article-meta {
  margin: 0;
  color: rgba(5, 15, 39, 0.6);
  font-size: 10px;
  font-weight: 500;
  line-height: 1;
  letter-spacing: 0.03em;
}

.article-author {
  display: flex;
  align-items: center;
  gap: 20px;
  margin-top: 10px;
}

.article-author-avatar {
  width: 64px;
  height: 64px;
  border-radius: 50%;
  object-fit: cover;
}

.article-author-text {
  display: grid;
  gap: 5px;
}

.article-author-text strong {
  color: #050f27;
  font-size: 18px;
  font-weight: 500;
  line-height: 1.4;
}

.article-author-text span {
  color: rgba(5, 15, 39, 0.6);
  font-size: 10px;
  font-weight: 500;
  line-height: 1;
  letter-spacing: 0.03em;
}

.article-intro,
.article-content p,
.article-share span,
.article-related-text,
.article-comment-body p {
  margin: 0;
  color: #050f27;
  font-size: 18px;
  font-weight: 400;
  line-height: 1.6;
  letter-spacing: 0.03em;
}

.article-intro {
  margin-top: 30px;
}

.article-hero {
  margin: 30px 0 0;
}

.article-hero-image {
  width: 100%;
  height: auto;
  aspect-ratio: 1288 / 550;
  object-fit: cover;
  border-radius: 4px;
}

.article-photo-credit {
  margin-top: 10px;
}

.article-toc {
  display: grid;
  gap: 0;
  width: fit-content;
  margin-top: 30px;
}

.article-toc a {
  color: #050f27;
  font-size: 18px;
  font-weight: 400;
  line-height: 1.6;
  letter-spacing: 0.03em;
  text-decoration: underline;
}

.article-content {
  display: grid;
  gap: 30px;
  margin-top: 30px;
}

.article-subsection {
  display: grid;
  gap: 10px;
}

.article-subsection h2,
.article-related-body h3,
.article-comment-author strong,
.article-comment-label span {
  margin: 0;
  color: #050f27;
  font-size: 22px;
  font-weight: 500;
  line-height: 1.4;
}

.article-share {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 20px;
  margin-top: 20px;
}

.article-share span {
  white-space: nowrap;
}

.article-share-links {
  display: flex;
  align-items: center;
  gap: 15px;
}

.article-share-links a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  border-radius: 8px;
}

.article-share-links a:nth-child(1) {
  background: #27a6e5;
}

.article-share-links a:nth-child(2) {
  background: #07f;
}

.article-share-links a:nth-child(3) {
  background: linear-gradient(180deg, #1f1f1f 0%, #000 100%);
}

.article-share-links img {
  width: 18px;
  height: 18px;
}

.article-related-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 30px;
  margin-top: 30px;
}

.article-related-card {
  display: grid;
  gap: 20px;
}

.article-related-image {
  width: 100%;
  height: 270px;
  object-fit: cover;
}

.article-related-body {
  display: grid;
  gap: 10px;
}

.article-related-body h3 {
  font-size: 22px;
}

.article-related-text {
  color: #6c769a;
}

.article-read-link,
.article-reply-link {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  width: fit-content;
  color: #050f27;
  font-size: 18px;
  font-weight: 500;
  line-height: 1.4;
}

.article-read-link img,
.article-reply-link img {
  width: 15px;
  height: 15px;
}

.article-comments {
  margin-top: 30px;
}

.article-comment {
  display: flex;
  align-items: flex-start;
  gap: 20px;
  padding: 0 0 20px;
}

.article-comment + .article-comment {
  padding-top: 20px;
  border-top: 1px solid #d7d7d7;
}

.article-comment-avatar {
  width: 60px;
  height: 60px;
  border-radius: 50%;
  object-fit: cover;
}

.article-comment-body {
  width: 100%;
  display: grid;
  gap: 10px;
}

.article-comment-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
}

.article-comment-author {
  display: flex;
  align-items: center;
  gap: 10px;
}

.article-comment-author strong {
  font-size: 18px;
}

.article-comment-author span {
  color: rgba(5, 15, 39, 0.6);
  font-size: 10px;
  font-weight: 500;
  line-height: 1;
  letter-spacing: 0.03em;
}

.article-comment-body p {
  color: #6c769a;
}

.article-reply-link {
  font-size: 12px;
  line-height: 1;
  letter-spacing: 0.03em;
}

.article-reply-link img {
  transform: rotate(180deg);
}

.article-comment-form {
  display: grid;
  justify-items: end;
  gap: 15px;
}

.article-comment-label {
  width: 100%;
  display: grid;
  gap: 17px;
}

.article-comment-label span {
  font-size: 18px;
}

.article-comment-label textarea {
  width: 100%;
  min-height: 108px;
  padding: 12px 18px;
  border: 1px solid #eaeaea;
  border-radius: 16px;
  color: #6c769a;
  font-size: 14px;
  font-weight: 400;
  line-height: 1.6;
  letter-spacing: 0.03em;
  resize: vertical;
}

.article-comment-label textarea::placeholder {
  color: #6c769a;
}

.article-submit-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 230px;
  min-height: 45px;
  border: 2px solid #81abdd;
  border-radius: 30px;
  color: #fff;
  font-size: 12px;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.03em;
  background: linear-gradient(101deg, #063289 0%, #a588dd 100%);
  box-shadow:
    0 6px 30.5px #3267bb,
    0 4px 4px rgba(0, 0, 0, 0.25);
}

@media (max-width: 1599.98px) {
  .article-page-container {
    width: min(calc(100% - 80px), 1410px);
  }
}

@media (max-width: 1199.98px) {
  .article-page-container {
    width: min(calc(100% - 48px), 1410px);
  }

  .article-card,
  .article-subpanel {
    padding: 40px;
  }
}

@media (max-width: 991.98px) {
  .article-page-container {
    width: min(calc(100% - 40px), 1410px);
  }

  .article-card,
  .article-subpanel {
    padding: 30px;
  }

  .article-title,
  .article-section-title {
    font-size: 30px;
  }

  .article-related-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 767.98px) {
  .article-main {
    padding-top: 79px;
  }

  .article-page-shell {
    padding-bottom: 60px;
  }

  .article-page-container {
    width: 100%;
    max-width: 360px;
    padding-right: 0;
    padding-left: 0;
  }

  .article-breadcrumbs {
    margin-left: 10px;
    width: fit-content;
    max-width: calc(100% - 20px);
    padding-right: 10px;
    padding-left: 10px;
    gap: 8px;
  }

  .article-card,
  .article-subpanel {
    margin-top: 24px;
    padding: 30px 10px 20px;
    border-radius: 32px;
  }

  .article-card {
    margin-top: 30px;
  }

  .article-reading-badge,
  .article-photo-credit {
    padding-right: 20px;
    padding-left: 20px;
  }

  .article-title,
  .article-section-title {
    font-size: 20px;
  }

  .article-date,
  .article-meta,
  .article-author-text span {
    font-size: 10px;
  }

  .article-author {
    gap: 10px;
  }

  .article-author-avatar {
    width: 40px;
    height: 40px;
  }

  .article-author-text strong,
  .article-comment-author strong,
  .article-comment-label span {
    font-size: 14px;
  }

  .article-intro,
  .article-content p,
  .article-toc a,
  .article-share span,
  .article-related-text,
  .article-comment-body p {
    font-size: 14px;
    letter-spacing: 0;
  }

  .article-hero-image {
    aspect-ratio: auto;
  }

  .article-subsection h2,
  .article-related-body h3 {
    font-size: 18px;
  }

  .article-share {
    margin-top: 20px;
    justify-content: flex-start;
  }

  .article-subpanel {
    margin-top: 50px;
  }

  .article-related-grid {
    margin-top: 20px;
    gap: 30px;
  }

  .article-related-card {
    gap: 10px;
  }

  .article-related-image {
    height: 220px;
    margin-right: -10px;
    margin-left: -10px;
    width: calc(100% + 20px);
  }

  .article-read-link {
    font-size: 14px;
  }

  .article-comments {
    margin-top: 20px;
  }

  .article-comment {
    gap: 10px;
    padding-bottom: 16px;
  }

  .article-comment + .article-comment {
    padding-top: 16px;
  }

  .article-comment-head {
    align-items: flex-start;
  }

  .article-comment-author {
    flex-direction: column;
    align-items: flex-start;
    gap: 10px;
  }

  .article-reply-link {
    margin-top: 4px;
    font-size: 12px;
  }

  .article-comment-form {
    margin-top: 20px;
    justify-items: center;
  }

  .article-comment-label {
    gap: 20px;
  }

  .article-comment-label textarea {
    min-height: 108px;
    padding: 10px;
  }

  .article-submit-button {
    width: 230px;
    min-width: 230px;
  }
}

/* FAQ page forced tail overrides */
body.faq-page-body {
  background: #fefefe;
}

body.faq-page-body .faq-page-main {
  position: relative;
  padding: var(--site-nav-height) 0 90px;
  background: #fefefe;
}

body.faq-page-body .faq-page-main::before,
body.faq-page-body .faq-page-main::after {
  position: absolute;
  top: 0;
  bottom: 0;
  width: 114px;
  content: "";
  pointer-events: none;
  opacity: 0.46;
  background: url("assets/side-ornament.svg") center top / 114px auto repeat-y;
}

body.faq-page-body .faq-page-main::before {
  left: 34px;
}

body.faq-page-body .faq-page-main::after {
  right: 34px;
  transform: scaleX(-1);
  transform-origin: center;
}

body.faq-page-body .faq-page-shell {
  position: relative;
  z-index: 1;
  padding-top: 14px;
}

body.faq-page-body .faq-breadcrumb {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  min-height: 24px;
  padding: 6px 20px;
  border: 1px solid #c1c7ef;
  border-radius: 15px;
  background: #fff;
  box-shadow: 4px 6px 18px rgba(0, 0, 0, 0.06);
}

body.faq-page-body .faq-breadcrumb a,
body.faq-page-body .faq-breadcrumb span {
  font-size: 10px;
  font-weight: 500;
  line-height: 1;
  letter-spacing: 0.03em;
}

body.faq-page-body .faq-breadcrumb a {
  color: #050f27;
}

body.faq-page-body .faq-breadcrumb .is-current {
  color: #008d40;
}

body.faq-page-body .faq-breadcrumb img {
  width: 20px;
  height: 20px;
}

body.faq-page-body .faq-breadcrumb-mobile {
  display: none;
}

body.faq-page-body .faq-title {
  margin: 12px 0 30px;
  color: #050f27;
  font-size: 35px;
  font-weight: 500;
  line-height: 1.4;
  text-align: center;
}

body.faq-page-body .faq-panel {
  position: relative;
  overflow: hidden;
  border-radius: 32px;
  background: linear-gradient(180deg, rgba(251, 251, 252, 0.98) 0%, rgba(244, 244, 246, 0.96) 100%);
  box-shadow: 4px 20px 18px rgba(0, 0, 0, 0.03);
}

body.faq-page-body .faq-panel::before {
  position: absolute;
  inset: 0;
  content: "";
  pointer-events: none;
  border: 1px solid rgba(239, 240, 244, 0.96);
  border-radius: 32px;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.8),
    inset 0 -10px 18px rgba(236, 237, 240, 0.45);
}

body.faq-page-body .faq-list {
  position: relative;
  z-index: 1;
  display: block;
  margin-top: 0;
  padding: 40px 45px 57px;
}

body.faq-page-body .faq-item {
  padding: 29px 0 30px;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  overflow: visible;
}

body.faq-page-body .faq-item.is-open {
  padding-top: 0;
}

body.faq-page-body .faq-item:not(:last-child) {
  border-bottom: 1px solid #d7d7d7;
}

body.faq-page-body .faq-question {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  padding: 0;
  border: 0;
  color: #050f27;
  text-align: left;
  background: transparent;
}

body.faq-page-body .faq-question-text {
  display: block;
  flex: 1 1 auto;
  color: #050f27;
  font-size: 18px;
  font-weight: 500;
  line-height: 1.4;
}

body.faq-page-body .faq-toggle {
  position: relative;
  flex: 0 0 auto;
  width: 64px;
  height: 64px;
  color: #050f27;
  background: url("assets/article-arrow-up-right.svg") center / 30px 30px no-repeat;
  transition: transform 220ms ease;
}

body.faq-page-body .faq-toggle::before {
  display: none;
}

body.faq-page-body .faq-toggle::after {
  display: none;
}

body.faq-page-body .faq-item:not(.is-open) .faq-toggle {
  transform: rotate(180deg);
}

body.faq-page-body .faq-answer {
  margin-top: 20px;
  padding: 0;
}

body.faq-page-body .faq-answer p {
  margin: 0;
  color: #050f27;
  font-size: 18px;
  font-weight: 400;
  line-height: 1.6;
  letter-spacing: 0.03em;
}

@media (max-width: 1599.98px) {
  body.faq-page-body .faq-page-main::before,
  body.faq-page-body .faq-page-main::after {
    display: none;
  }
}

@media (max-width: 991.98px) {
  body.faq-page-body .faq-page-main {
    padding-bottom: 72px;
  }

  body.faq-page-body .faq-title {
    font-size: 28px;
  }

  body.faq-page-body .faq-list {
    padding: 30px 26px 34px;
  }

  body.faq-page-body .faq-question-text,
  body.faq-page-body .faq-answer p {
    font-size: 16px;
  }
}

@media (max-width: 767.98px) {
  body.faq-page-body .site-nav::before {
    height: 61px;
    bottom: auto;
  }

  body.faq-page-body .nav-shell {
    min-height: 61px;
    padding-top: 10px;
    padding-bottom: 10px;
  }

  body.faq-page-body .brand-logo {
    width: 144px;
    height: 29px;
  }

  body.faq-page-body .faq-page-main {
    padding-bottom: 0;
  }

  body.faq-page-body .faq-page-shell {
    width: 100%;
    max-width: 100%;
    margin: 0;
    padding-top: 9px;
  }

  body.faq-page-body .faq-breadcrumb {
    padding: 6px 14px;
  }

  body.faq-page-body .faq-breadcrumb-desktop {
    display: none;
  }

  body.faq-page-body .faq-breadcrumb-mobile {
    display: inline;
  }

  body.faq-page-body .faq-title {
    margin: 19px 0 20px;
    font-size: 20px;
  }

  body.faq-page-body .faq-panel,
  body.faq-page-body .faq-panel::before {
    border-radius: 32px;
  }

  body.faq-page-body .faq-list {
    padding: 17px 10px 36px;
  }

  body.faq-page-body .faq-item {
    padding: 19px 0;
  }

  body.faq-page-body .faq-question {
    align-items: flex-start;
    gap: 10px;
  }

  body.faq-page-body .faq-question-text {
    font-size: 14px;
  }

  body.faq-page-body .faq-answer {
    margin-top: 10px;
  }

  body.faq-page-body .faq-answer p {
    font-size: 14px;
    font-weight: 500;
    letter-spacing: 0;
  }

  body.faq-page-body .site-footer {
    margin-top: 60px;
    background: #111;
  }

  body.faq-page-body .footer-main {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 25px;
    padding: 50px 10px 36px;
    text-align: center;
  }

  body.faq-page-body .footer-logo-image {
    width: 174px;
  }

  body.faq-page-body .footer-brand p {
    margin-top: 10px;
    font-size: 12px;
    line-height: 1.6;
  }

  body.faq-page-body .footer-links {
    display: grid;
    grid-template-columns: 1fr;
    justify-items: center;
    gap: 15px;
  }

  body.faq-page-body .footer-column {
    display: contents;
  }

  body.faq-page-body .footer-column a {
    color: #bcbcbc;
    font-size: 13px;
    font-weight: 600;
    line-height: 1;
    text-transform: none;
    letter-spacing: 0.03em;
  }

  body.faq-page-body .footer-contact {
    justify-items: center;
    gap: 20px;
  }

  body.faq-page-body .footer-contact span {
    font-size: 13px;
    line-height: 1.6;
  }

  body.faq-page-body .footer-contact a {
    font-size: 16px;
    line-height: 1.4;
  }

  body.faq-page-body .socials {
    gap: 18px;
  }

  body.faq-page-body .socials a {
    width: 30px;
    height: 30px;
    border-radius: 8px;
  }

  body.faq-page-body .socials img {
    max-width: 16px;
    max-height: 16px;
  }

  body.faq-page-body .socials a:nth-child(1) {
    background: #48c95f;
  }

  body.faq-page-body .socials a:nth-child(2) {
    background: #27a6e5;
  }

  body.faq-page-body .socials a:nth-child(3) {
    background: #0077ff;
  }

  body.faq-page-body .footer-bottom {
    background: #000;
  }

  body.faq-page-body .footer-bottom-shell {
    min-height: 90px;
    padding-top: 20px;
    padding-bottom: 20px;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 20px;
  }

  body.faq-page-body .footer-bottom-shell span {
    color: #fff;
    font-size: 11px;
    line-height: 1;
  }

  body.faq-page-body .footer-policies {
    gap: 10px;
  }

  body.faq-page-body .footer-policies a {
    color: rgba(255, 255, 255, 0.5);
    font-size: 11px;
    line-height: 1;
    text-decoration: underline;
  }
}

/* Global mobile spacing normalization (tail override) */
@media (max-width: 767.98px) {
  :root {
    --mobile-side-gap: 12px;
    --mobile-card-x: 14px;
  }

  .page-container,
  .page-container-narrow,
  .news-page-container,
  .article-page-container,
  .contacts-page-container,
  body.faq-page-body .faq-page-shell,
  body.sales-page .page-container,
  body.sales-page .page-container-narrow {
    width: 100% !important;
    max-width: 100% !important;
    padding-left: var(--mobile-side-gap) !important;
    padding-right: var(--mobile-side-gap) !important;
  }

  .info-section .page-container,
  .screens-section .page-container,
  .clients-container {
    width: 100% !important;
    padding-left: var(--mobile-side-gap) !important;
    padding-right: var(--mobile-side-gap) !important;
  }

  .info-panel,
  .news-panel,
  .article-card,
  .article-subpanel,
  .contacts-card-top,
  .contacts-card-seo,
  .sales-card,
  .sales-hero-card,
  .media-detail-card,
  body.faq-page-body .faq-list {
    padding-left: var(--mobile-card-x) !important;
    padding-right: var(--mobile-card-x) !important;
  }

  .news-breadcrumbs,
  .article-breadcrumbs,
  .contacts-page-breadcrumb,
  body.faq-page-body .faq-breadcrumb,
  .media-breadcrumb-mobile,
  .sales-breadcrumb {
    margin-left: 0 !important;
    max-width: 100% !important;
  }

  .news-breadcrumbs,
  .article-breadcrumbs,
  .contacts-page-breadcrumb,
  body.faq-page-body .faq-breadcrumb {
    padding-left: 12px !important;
    padding-right: 12px !important;
  }
}

/* Home screen cards: plain image only (no glass effects) */
.screen-card {
  overflow: hidden;
  background: transparent;
  box-shadow: none;
}

.screen-card::before,
.screen-card::after {
  display: none !important;
}

.screen-card-link {
  display: block;
  width: 100%;
  height: 100%;
}

.screen-photo {
  inset: 0;
  width: 100%;
  height: 100%;
  border-radius: inherit;
  background-size: cover;
  background-position: center;
}

.screen-overlay {
  inset: 0;
  width: 100%;
  height: 100%;
  margin: 0;
  padding: 0;
  background: transparent;
  backdrop-filter: none;
  box-shadow: none;
}

.screen-layer {
  display: none !important;
}

@media (max-width: 767.98px) {
  .screen-card {
    min-height: 280px;
    border-radius: 0;
  }

  .screen-photo {
    height: 100%;
    border-radius: 0;
  }
}
