/* ============================================
   ФАЙЛ: style4.css (первым - базовые утилиты)
   ============================================ */

/* ===== RESET & UTILITIES ===== */
.hidden {
  display: none;
}

.visually-hidden {
  position: absolute !important;
  overflow: hidden;
  clip: rect(1px, 1px, 1px, 1px);
  width: 1px;
  height: 1px;
  word-wrap: normal;
}

.visually-hidden.focusable:active,
.visually-hidden.focusable:focus-within {
  position: static !important;
  overflow: visible;
  clip: auto;
  width: auto;
  height: auto;
}

.invisible {
  visibility: hidden;
}

.clearfix::after {
  display: table;
  clear: both;
  content: "";
}

.position-container {
  position: relative;
}

/* ===== TEXT & ALIGNMENT ===== */
.text-align-left {
  text-align: left;
}

.text-align-right {
  text-align: right;
}

.text-align-center {
  text-align: center;
}

.text-align-justify {
  text-align: justify;
}

.align-left {
  float: left;
}

.align-right {
  float: right;
}

.align-center {
  display: block;
  margin-right: auto;
  margin-left: auto;
}

/* ===== CONTAINER INLINE ===== */
.container-inline div,
.container-inline label {
  display: inline-block;
}

.container-inline .details-wrapper {
  display: block;
}

.container-inline .hidden {
  display: none;
}

/* ===== RESIZE ===== */
.resize-none {
  resize: none;
}

.resize-vertical {
  min-height: 2em;
  resize: vertical;
}

.resize-horizontal {
  max-width: 100%;
  resize: horizontal;
}

.resize-both {
  max-width: 100%;
  min-height: 2em;
  resize: both;
}

/* ============================================
   ФАЙЛ: styles.css (вторым - основные стили)
   ============================================ */

/* ============================================
   1. СБРОСЫ И БАЗОВЫЕ ПЕРЕМЕННЫЕ
   ============================================ */
:root {
  --font-size-48: 1.5rem;
  --font-size-36: 1.4375rem;
  --font-size-30: 1.375rem;
  --font-size-24: 1.375rem;
}

@media (min-width: 600px) {
  :root {
    --font-size-48: calc(1.5rem + 2.16998vw - 13.01989px);
    --font-size-36: calc(1.4375rem + 1.17541vw - 7.05244px);
    --font-size-30: calc(1.375rem + 0.72333vw - 4.33996px);
    --font-size-24: calc(1.375rem + 0.18083vw - 1.08499px);
  }
}

@media (min-width: 1706px) {
  :root {
    --font-size-48: 3rem;
    --font-size-36: 2.25rem;
    --font-size-30: 1.875rem;
    --font-size-24: 1.5rem;
  }
}

*,
*:before,
*:after {
  box-sizing: border-box;
  letter-spacing: inherit;
  margin: 0;
}

html {
  -webkit-text-size-adjust: 100%;
}

body {
  margin: 0;
  background-color: #fff;
  font-size: 1rem;
  color: #000;
  font-family: "Open Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif;
  font-weight: 300;
  letter-spacing: 0.05em;
  line-height: 1.875;
  --scrollbar-width: 0px;
  --window-width: calc(100vw - var(--scrollbar-width));
}

main {
  display: block;
}

::selection {
  background-color: #0d0850;
  color: #fff;
}

template {
  display: none;
}

/* ============================================
   2. БАЗОВАЯ ТИПОГРАФИКА
   ============================================ */
h1,
h2,
h3,
h4,
h5,
h6 {
  font-weight: inherit;
}

b,
strong {
  font-weight: 700;
}

sub,
sup {
  position: relative;
  vertical-align: baseline;
  line-height: 0;
  font-size: 75%;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

hr {
  border: 0;
  border-top: 5px solid #ccc;
}

ol,
ul {
  padding: 0;
  list-style: none;
}

address {
  font-style: inherit;
}

/* Ссылки */
a {
  text-decoration: none;
  color: #c40000;
}

a:focus {
  outline-color: currentColor;
}

#main-content:focus,
a:active,
a:hover {
  outline: 0;
}

/* Цитаты */
blockquote:before,
q:before {
  content: open-quote;
}

blockquote:after,
q:after {
  content: close-quote;
}

blockquote {
  font-size: var(--font-size-30);
  color: #0d0850;
  font-family: "Open Sans Condensed", "Avenir Next Condensed", "Segoe UI Condensed", "Helvetica Condensed", "Arial Condensed", sans-serif;
  font-weight: 700;
  line-height: 1.6;
  text-align: center;
}

blockquote:before,
blockquote:after {
  width: 23px;
  height: 60px;
  display: block;
  background: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='100' height='169.8'%3E%3Cpath d='M84.9 0v14.1C62.6 27.7 47.4 40.2 39.3 51.8c-5.9 8.5-8.8 18.6-8.8 30.2 0 7 1.3 12.1 3.9 15.4s5.3 4.9 8.6 4.9 5.2-.8 9.1-2.3c5.9-2 10.7-3 14.5-3 8.7 0 16.5 3.3 23.2 9.9s10.2 14.7 10.2 24.6-3.4 19.8-10.2 25.9A47.9 47.9 0 0157 169.8c-14.8 0-28-6.2-39.6-18.7S0 123.3 0 104.9q0-38.7 28.9-70.5C41.7 20.4 60.4 9 84.9 0z' fill='%23ccc'/%3E%3C/svg%3E") no-repeat top/contain;
  content: "";
}

@media (min-width: 600px) {
  blockquote:before,
  blockquote:after {
    width: calc(11.0651px + 1.98915vw);
    height: calc(51.32007px + 1.44665vw);
  }
}

@media (min-width: 1706px) {
  blockquote:before,
  blockquote:after {
    width: 45px;
    height: 76px;
  }
}

blockquote:after {
  margin-left: auto;
  transform: rotate(180deg);
}

/* ============================================
   3. МЕДИА ЭЛЕМЕНТЫ
   ============================================ */
embed,
object,
video {
  max-width: 100%;
  height: auto;
}

iframe,
img,
svg {
  vertical-align: top;
}

svg {
  max-height: 100%;
  fill: currentColor;
  overflow: hidden;
}

img,
svg {
  max-width: 100%;
}

img {
  height: auto;
  color: #000;
  text-align: center;
}

/* ============================================
   4. ШРИФТЫ
   ============================================ */
@font-face {
  font-display: swap;
  font-family: "Open Sans";
  font-style: normal;
  font-weight: 300;
  src: local("Open Sans Light"), local("OpenSans-Light"), url("../../../../themes/custom/perry/fonts/open-sans-v17-latin-300.woff2") format("woff2"), url("../../../../themes/custom/perry/fonts/open-sans-v17-latin-300.woff") format("woff");
}

@font-face {
  font-display: swap;
  font-family: "Open Sans";
  font-style: normal;
  font-weight: 400;
  src: local("Open Sans Regular"), local("OpenSans-Regular"), url("../../../../themes/custom/perry/fonts/open-sans-v17-latin-regular.woff2") format("woff2"), url("../../../../themes/custom/perry/fonts/open-sans-v17-latin-regular.woff") format("woff");
}

@font-face {
  font-display: swap;
  font-family: "Open Sans";
  font-style: normal;
  font-weight: 700;
  src: local("Open Sans Bold"), local("OpenSans-Bold"), url("../../../../themes/custom/perry/fonts/open-sans-v17-latin-700.woff2") format("woff2"), url("../../../../themes/custom/perry/fonts/open-sans-v17-latin-700.woff") format("woff");
}

@font-face {
  font-family: "Open Sans Condensed";
  font-style: normal;
  font-weight: 700;
  src: local("Open Sans Condensed Bold"), local("OpenSansCondensed-Bold"), url("../../../../themes/custom/perry/fonts/open-sans-condensed-v14-latin-700.woff2") format("woff2"), url("../../../../themes/custom/perry/fonts/open-sans-condensed-v14-latin-700.woff") format("woff");
}

/* ============================================
   5. ВСПОМОГАТЕЛЬНЫЕ КЛАССЫ
   ============================================ */
.visually-hidden {
  margin-left: -1px;
  margin-top: -1px;
}

.visually-hidden.focusable {
  background-color: #000;
  color: #fff;
  padding: 0 1ch;
  z-index: 999;
}

.visually-hidden.focusable[class]:active,
.visually-hidden.focusable[class]:focus {
  position: absolute !important;
}

/* ============================================
   6. КОМПОНЕНТЫ СЕТКИ (L-*)
   ============================================ */
.l-container {
  --container-space-x: 15px;
  --container-space-y: 30px;
  margin-left: auto;
  margin-right: auto;
  max-width: calc(1920px + var(--container-space-x) * 2);
}

@media (min-width: 600px) {
  .l-container {
    --container-space-x: calc(1.43761px + 2.2604vw);
    --container-space-y: calc(19.15009px + 1.80832vw);
  }
}

@media (min-width: 1706px) {
  .l-container {
    --container-space-x: 40px;
    --container-space-y: 50px;
  }
}

.l-container,
.l-container__module {
  padding: calc(var(--container-space-y) / 2) calc(var(--container-space-x) / 2);
}

@supports (-ms-ime-align: auto) {

  .l-container,
  .l-container__module {
    padding: 15px;
  }
}

.l-container--banner {
  --container-space-y: 20px;
}

.l-container--no-gutter-x {
  --container-space-x: 0px;
  padding-left: 0;
  padding-right: 0;
}

.l-container--padded-top {
  --padding-extra-y: 0px;
  padding-top: calc(var(--padding-extra-y) + var(--container-space-y) / 2);
}

@media (min-width: 1706px) {
  .l-container--padded-top {
    --padding-extra-y: calc(14.01869vw - 239.15888px);
  }
}

@media (min-width: 1920px) {
  .l-container--padded-top {
    --padding-extra-y: 30px;
  }
}

.l-container--cosy-y {
  --container-space-y: 20px;
}

.l-container__module--padded-x {
  --padding-extra-x: 0px;
  padding-left: calc(var(--padding-extra-x) + var(--container-space-x) / 2);
  padding-right: calc(var(--padding-extra-x) + var(--container-space-x) / 2);
}

@media (min-width: 1706px) {
  .l-container__module--padded-x {
    --padding-extra-x: calc(50vw - 853px);
  }
}

@media (min-width: 1920px) {
  .l-container__module--padded-x {
    --padding-extra-x: 107px;
  }
}

.l-container__module--flush-x {
  padding-left: 0;
  padding-right: 0;
  margin-left: calc(var(--container-space-x) * -0.5);
  margin-right: calc(var(--container-space-x) * -0.5);
}

/* Гриды */
.l-grid {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  margin: -10px auto;
  padding: 10px;
  max-width: 2000px;
}

@supports (display: grid) {
  .l-grid {
    display: grid;
    margin-top: 0;
    margin-bottom: 0;
    padding: 20px;
    grid-template-columns: repeat(auto-fill, minmax(var(--column-min-width), 1fr));
    gap: 20px;
  }

  @supports (-ms-ime-align: auto) {
    .l-grid {
      gap: 20px;
    }
  }
}

.l-grid--quarters {
  --column-min-width: 377px;
  --column-width: 475px;
}

@media (max-width: 417px) {
  .l-grid--quarters {
    grid-template-columns: 1fr;
  }
}

.l-grid--quarters>.l-grid__item {
  flex-basis: 475px;
}

.l-grid--quarters-filled {
  --column-min-width: 401px;
  --column-width: 500px;
  gap: 0;
  margin-top: 0;
  margin-bottom: 0;
  padding: 0;
}

@media (max-width: 401px) {
  .l-grid--quarters-filled {
    grid-template-columns: 1fr;
  }
}

.l-grid--quarters-filled>.l-grid__item {
  flex-basis: 500px;
  margin: 0;
}

.l-grid--thirds {
  grid-row-gap: 20px;
  margin: -20px -10px;
  max-width: 1505px;
  padding: 0;
  grid-column-gap: 20px;
  --column-min-width: 352.25px;
}

@media (min-width: 600px) {
  .l-grid--thirds {
    grid-row-gap: calc(9.15009px + 1.80832vw);
  }
}

@media (min-width: 1706px) {
  .l-grid--thirds {
    grid-row-gap: 40px;
  }
}

@supports (display: grid) {
  .l-grid--thirds {
    margin: 0 auto;
    max-width: 1465px;
  }
}

@media (max-width: 392.25px) {
  .l-grid--thirds {
    grid-template-columns: 1fr;
  }
}

.l-grid--thirds>.l-grid__item {
  margin: 20px 10px;
}

@supports (display: grid) {
  .l-grid--thirds>.l-grid__item {
    margin: 0;
  }
}

.l-grid--thirds>.l-grid__item--span-2 {
  flex-grow: 3;
}

@media (min-width: 704.5px) {
  .l-grid--thirds>.l-grid__item--span-2 {
    grid-column: span 2;
  }
}

.l-grid--thirds-comfortable {
  --column-min-width: 367.5px;
  --column-width: 515.3333333333px;
  gap: 40px;
  margin: -10px;
  max-width: 1726px;
  padding: 0;
}

@media (min-width: 600px) {
  .l-grid--thirds-comfortable {
    gap: calc(34.57505px + 0.90416vw) calc(18.30018px + 3.61664vw);
  }
}

@media (min-width: 1706px) {
  .l-grid--thirds-comfortable {
    gap: 50px 80px;
  }
}

@supports (display: grid) {
  .l-grid--thirds-comfortable {
    margin: 0 auto;
    max-width: 1706px;
  }
}

@media (max-width: 527.5px) {
  .l-grid--thirds-comfortable {
    grid-template-columns: 1fr;
  }
}

.l-grid--thirds-comfortable>.l-grid__item {
  flex-basis: 515.3333333333px;
}

.l-grid--guided-quarters {
  grid-template-columns: repeat(var(--columns, 1), 1fr);
}

@media (min-width: 600px) {
  .l-grid--guided-quarters {
    --columns: 2;
  }
}

@media (min-width: 1200px) {
  .l-grid--guided-quarters {
    --columns: 4;
  }
}

.l-grid--guided-quarters>.l-grid__item {
  flex-basis: calc(100% - 20px);
}

@media (min-width: 600px) {
  .l-grid--guided-quarters>.l-grid__item {
    flex-basis: calc(50% - 20px);
  }
}

@media (min-width: 1200px) {
  .l-grid--guided-quarters>.l-grid__item {
    flex-basis: calc(25% - 20px);
  }
}

.l-grid__item {
  margin: 10px;
  min-width: 0;
}

@supports (display: grid) {
  .l-grid__item {
    margin: 0;
  }
}

/* Ряды */
.l-row {
  align-items: center;
  justify-content: flex-start;
}

.l-row--scrollable-10 {
  flex-wrap: nowrap;
  margin-bottom: -5px;
  padding-bottom: 5px;
  overflow-x: auto;
  overflow-y: hidden;
}

.l-row--scrollable-10::-webkit-scrollbar {
  height: 10px;
  background-color: #999;
}

.l-row--scrollable-10::-webkit-scrollbar-thumb {
  background-color: #0d0850;
}

.l-row--pager {
  --spacing: 10px;
  justify-content: center;
  margin: calc(var(--spacing) * -1);
}

@media (min-width: 600px) {
  .l-row--pager {
    --spacing: calc(4.57505px + 0.90416vw);
  }
}

@media (min-width: 1706px) {
  .l-row--pager {
    --spacing: 20px;
  }
}

.l-row--options {
  justify-content: space-between;
  margin: -5px;
}

.l-row--exposed-form {
  display: inline-flex;
  margin: -10px;
}

.l-row__item {
  min-width: 0;
}

.l-row--scrollable-10>.l-row__item {
  min-width: auto;
}

.l-row--scrollable-10>.l-row__item:not(:first-child) {
  margin-left: 10px;
}

.l-row--exposed-form>.l-row__item,
.l-row--pager>.l-row__item {
  margin: 10px;
}

.l-row--pager>.l-row__item {
  margin: var(--spacing);
}

.l-row--exposed-form>.l-row__item {
  flex-grow: 1;
}

.l-row--options>.l-row__item {
  margin: 5px;
}

.l-row__item--banner-menu-main {
  order: 98;
  flex: 1.5545112782 1 100%;
}

@media (min-width: 800px) {
  .l-row__item--banner-menu-main {
    order: 0;
    flex-basis: 0px;
  }
}

.l-row__item--banner-menu-secondary {
  flex: 1 1 0px;
}

.l-row__item--banner-menu-secondary~.l-row__item {
  order: 99;
  margin-right: auto;
  margin-left: auto;
}

@media (min-width: 800px) {
  .l-row__item--banner-menu-secondary~.l-row__item {
    order: 0;
  }
}

.l-row--footer>.l-row__item {
  flex-grow: 999;
}

.l-row--footer>.l-row__item:last-child {
  flex-grow: 0;
  margin-left: auto;
  margin-right: auto;
}

/* Side-by-side */
.l-side-by-side {
  display: flex;
  flex-wrap: wrap;
  margin: 0 auto;
  padding: 0 10px;
  max-width: 2000px;
}

.l-side-by-side--fill {
  max-width: none;
  margin-left: -10px;
  margin-right: -10px;
  padding-left: 0;
  padding-right: 0;
}

.l-side-by-side__side {
  flex: 1 1 37.5rem;
  margin: 0 10px 20px;
  min-width: 0;
}

/* ============================================
   7. КОМПОНЕНТЫ UI (C-*)
   ============================================ */

/* Логотип */
.s-site-logo {
  max-width: 200px;
}

@media (min-width: 600px) {
  .s-site-logo {
    max-width: calc(164.73779px + 5.87703vw);
  }
}

@media (min-width: 1706px) {
  .s-site-logo {
    max-width: 265px;
  }
}

/* Карточки */
.c-card {
  --padding-y: 30px;
  --spacing-y: 15px;
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  z-index: 1;
  background-color: #fc3;
  box-shadow: inset 0 -5px 0 0 rgba(255, 255, 255, 0.5), inset 0 5px 0 0 rgba(255, 255, 255, 0.5);
  padding: calc(var(--padding-y) - var(--spacing-y)) 15px;
  overflow: hidden;
  height: 100%;
  color: #0d0850;
  text-align: center;
}

@media (min-width: 600px) {
  .c-card {
    --padding-y: calc(2.87523px + 4.5208vw);
    --spacing-y: calc(9.57505px + 0.90416vw);
  }
}

@media (min-width: 1706px) {
  .c-card {
    --padding-y: 80px;
    --spacing-y: 25px;
  }
}

.c-card--footer {
  --spacing-y: 15px;
}

.c-card--case-study:focus,
.c-card--link:focus,
.c-card--news:focus,
.c-card--product:focus {
  outline: 2px solid #0d0850;
  outline-offset: 3px;
}

.c-card--case-study,
.c-card--link,
.c-card--product {
  --padding-y: 45px;
  min-height: 0;
  background-color: #a4b2d6;
  box-shadow: inset 0 -5px 0 0 rgba(255, 255, 255, 0.3), inset 0 5px 0 0 rgba(255, 255, 255, 0.3);
}

@media (min-width: 600px) {

  .c-card--case-study,
  .c-card--link,
  .c-card--product {
    --padding-y: calc(15.16275px + 4.97288vw);
    min-height: calc(42.94756vw - 257.68535px);
  }
}

@media (min-width: 1706px) {

  .c-card--case-study,
  .c-card--link,
  .c-card--product {
    --padding-y: 100px;
    min-height: 475px;
  }
}

.c-card--news {
  --padding-y: 25px;
  --spacing-y: 10px;
  min-height: 0;
  box-shadow: none;
  background-color: #333;
  color: #fff;
}

@media (min-width: 600px) {
  .c-card--news {
    --padding-y: calc(-4.83725px + 4.97288vw);
    --spacing-y: calc(7.28752px + 0.45208vw);
    min-height: calc(45.20796vw - 271.24774px);
  }
}

@media (min-width: 1706px) {
  .c-card--news {
    --padding-y: 80px;
    --spacing-y: 15px;
    min-height: 500px;
  }
}

.c-card--news:focus {
  z-index: 2;
}

.c-card--news:after {
  position: absolute;
  top: 5px;
  left: 0;
  bottom: 5px;
  z-index: 1;
  background-color: #000;
  width: 100%;
  opacity: 0.4;
  transition: opacity 0.35s;
  content: "";
}

.c-card--news:focus:after,
.c-card--news:hover:after {
  opacity: 0.3;
}

.c-card--pager {
  background: transparent;
}

.c-card--facebook {
  --padding-y: 20px;
  --padding-x: 15px;
  --spacing-y: 10px;
  align-items: flex-start;
  box-shadow: none;
  background-color: #3b5999;
  padding-left: var(--padding-x);
  padding-right: var(--padding-x);
  color: #fff;
  text-align: initial;
  transition: box-shadow 0.35s;
}

@media (min-width: 600px) {
  .c-card--facebook {
    --padding-y: calc(-12.54973px + 5.42495vw);
    --padding-x: calc(4.15009px + 1.80832vw);
    --spacing-y: calc(7.28752px + 0.45208vw);
  }
}

@media (min-width: 1706px) {
  .c-card--facebook {
    --padding-y: 80px;
    --padding-x: 35px;
    --spacing-y: 15px;
  }
}

.c-card--facebook:focus,
.c-card--facebook:hover {
  box-shadow: inset 0 0 0 3px #0d0850, inset 0 0 0 6px #fff;
}

.c-card--case-study,
.c-card--product {
  background-color: #000;
  color: #fff;
}

.c-card--product {
  --spacing-y: 10px;
}

@media (min-width: 600px) {
  .c-card--product {
    --spacing-y: calc(1.86257px + 1.35624vw);
  }
}

@media (min-width: 1706px) {
  .c-card--product {
    --spacing-y: 25px;
  }
}

.c-card__background,
.c-card__content {
  transition: transform 0.35s cubic-bezier(0.215, 0.61, 0.355, 1), opacity 0.35s cubic-bezier(0.215, 0.61, 0.355, 1);
}

.is-outside-viewport .c-card__background,
.is-outside-viewport .c-card__content {
  transition: none;
  opacity: 0;
  transform: translateY(20px);
}

.c-card__content {
  margin-top: var(--spacing-y);
  margin-bottom: var(--spacing-y);
  width: 100%;
  max-width: 44.125rem;
  transition-delay: calc(var(--inview-delay, 0s) + 0.2s);
}

.c-card--news .c-card__content {
  position: relative;
  z-index: 3;
}

.c-card--facebook .c-card__content {
  font-size: 1.125rem;
  line-height: 1.3333333333;
}

.c-card__content--icon {
  height: 30px;
  width: auto;
  transition-delay: var(--inview-delay, 0s);
}

@media (min-width: 600px) {
  .c-card__content--icon {
    height: calc(-3.09222px + 5.51537vw);
  }
}

@media (min-width: 1706px) {
  .c-card__content--icon {
    height: 91px;
  }
}

@media (min-width: 1000px) {
  .c-card__content--icon {
    display: block;
  }
}

.c-card--footer .c-card__content--icon {
  margin-bottom: 15px;
}

@media (min-width: 600px) {
  .c-card--footer .c-card__content--icon {
    margin-bottom: calc(4.15009px + 1.80832vw);
  }
}

@media (min-width: 1706px) {
  .c-card--footer .c-card__content--icon {
    margin-bottom: 35px;
  }
}

.c-card--facebook .c-card__content--icon,
.c-card--link .c-card__content--icon,
.c-card--news .c-card__content--icon {
  display: block;
}

.c-card--facebook .c-card__content--icon,
.c-card--news .c-card__content--icon {
  height: 40px;
}

.c-card--product .c-card__content--icon {
  height: 0;
}

@media (min-width: 600px) {
  .c-card--product .c-card__content--icon {
    height: calc(4.06872vw - 24.4123px);
  }
}

@media (min-width: 1706px) {
  .c-card--product .c-card__content--icon {
    height: 45px;
  }
}

.c-card__content--title {
  font-size: var(--font-size-36);
  line-height: 1.3;
  --border-width: 100px;
  padding-bottom: var(--border-spacing);
  background: linear-gradient(currentColor, currentColor) no-repeat bottom/127px 5px;
  background-size: var(--border-width) 5px;
  font-family: "Open Sans Condensed", "Avenir Next Condensed", "Segoe UI Condensed", "Helvetica Condensed", "Arial Condensed", sans-serif;
  font-weight: 700;
  text-transform: uppercase;
  transition-delay: calc(var(--inview-delay, 0s) + 0.1s);
  --border-spacing: calc(var(--spacing-y) * 2 + 5px);
}

.c-card__content--title:before,
.c-card__content--title:after {
  content: "";
  display: block;
  height: 0;
  width: 0;
}

.c-card__content--title:before {
  margin-bottom: -0.3em;
}

.c-card__content--title:after {
  margin-top: -0.27222em;
}

@media (min-width: 600px) {
  .c-card__content--title {
    --border-width: calc(85.35262px + 2.44123vw);
  }
}

@media (min-width: 1706px) {
  .c-card__content--title {
    --border-width: 127px;
  }
}

a.c-card .c-card__content--title {
  padding-bottom: 0;
}

.c-card--case-study .c-card__content--title,
.c-card--link .c-card__content--title,
.c-card--pager .c-card__content--title,
.c-card--product .c-card__content--title {
  background: transparent;
}

.c-card--news .c-card__content--title {
  font-size: 1.125rem;
  background-position: top;
  background-size: 100px 5px;
  padding-top: var(--border-spacing);
}

.c-card--product .c-card__content--title {
  font-size: var(--font-size-30);
  line-height: 1.3;
}

.c-card--product .c-card__content--title:before,
.c-card--product .c-card__content--title:after {
  content: "";
  display: block;
  height: 0;
  width: 0;
}

.c-card--product .c-card__content--title:before {
  margin-bottom: -0.3em;
}

.c-card--product .c-card__content--title:after {
  margin-top: -0.27222em;
}

.c-card__content--footer {
  margin-top: auto;
  padding-top: var(--spacing-y);
}

.c-card--product .c-card__content--footer {
  padding-top: 0;
}

.c-card__background {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  left: 0;
  z-index: -1;
  width: 100%;
  opacity: 0.15;
}

@supports (object-fit: cover) {
  .c-card__background {
    height: 100%;
    object-fit: cover;
  }
}

.c-card--link .c-card__background {
  opacity: 0.2;
}

.c-card--news .c-card__background {
  opacity: 1;
  z-index: 1;
}

.c-card--case-study .c-card__background,
.c-card--product .c-card__background {
  opacity: 0.6;
}

a.c-card:focus .c-card__background,
a.c-card:hover .c-card__background {
  transform: translateY(-50%) scale(1.1);
}

.c-card--case-study:focus .c-card__background,
.c-card--case-study:hover .c-card__background,
.c-card--product:focus .c-card__background,
.c-card--product:hover .c-card__background {
  opacity: 0.8;
}

.is-outside-viewport .c-card__background {
  opacity: 0;
  transform: translateY(-50%) scale(2);
}

/* Меню */
.c-main-menu {
  --padding-x-top: 10px;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  z-index: 400;
  line-height: 1;
  margin: 0.1875rem 0 -0.4375rem;
}

@media (min-width: 600px) {
  .c-main-menu {
    --padding-x-top: calc(-0.84991px + 1.80832vw);
  }
}

@media (min-width: 1706px) {
  .c-main-menu {
    --padding-x-top: 30px;
  }
}

@media (min-width: 800px) {
  .c-main-menu {
    justify-content: flex-start;
    margin: 0;
  }
}

.c-main-menu--secondary {
  --padding-x-top: 10px;
  margin: 0;
  justify-content: flex-end;
}

@media (min-width: 600px) {
  .c-main-menu--secondary {
    --padding-x-top: calc(4.57505px + 0.90416vw);
  }
}

@media (min-width: 800px) {
  .c-main-menu--secondary {
    justify-content: flex-start;
  }
}

.c-main-menu__link {
  display: block;
  padding: 0 10px;
  text-transform: uppercase;
  color: #999;
  font-family: "Open Sans Condensed", "Avenir Next Condensed", "Segoe UI Condensed", "Helvetica Condensed", "Arial Condensed", sans-serif;
  font-weight: 700;
  letter-spacing: 0.2em;
  transition: color 0.25s;
}

.c-main-menu__link.is-active-trail {
  color: #0d0850;
}

.c-main-menu__link:focus,
li:hover>.c-main-menu__link {
  color: #c40000;
}

:focus-within>.c-main-menu__link {
  color: #c40000;
}

.c-main-menu__link[class]:active {
  color: #0d0850;
  transition-duration: 50ms;
}

.c-main-menu--secondary .c-main-menu__link {
  font-size: 0.875rem;
  text-transform: none;
}

.c-main-menu__link--top {
  padding: 0.4375rem var(--padding-x-top) 0;
}

.c-main-menu--secondary .c-main-menu__link--top {
  padding-top: 0;
  text-transform: none;
}

.c-main-menu__link--top:not(:last-child):after {
  display: inline-block;
  margin-left: 0.625rem;
  background: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 600.1 325'%3E%3Cpath d='M8.2 8L300 308.5 591.9 8' fill='none' stroke='%23999' stroke-width='23'/%3E%3C/svg%3E") no-repeat 50%/contain;
  width: 23px;
  height: 12px;
  content: "";
}

.c-main-menu--secondary .c-main-menu__link--top:not(:last-child):after {
  content: none;
}

.c-main-menu__link-text {
  display: inline-block;
  position: relative;
  padding-top: 10px;
  padding-bottom: 10px;
}

.c-main-menu__link--top>.c-main-menu__link-text {
  padding-top: 0;
  padding-bottom: 0.4375rem;
}

.c-main-menu--secondary .c-main-menu__link--top>.c-main-menu__link-text {
  padding-top: 0.21875rem;
  padding-bottom: 0.21875rem;
}

.c-main-menu__link-text:before {
  position: absolute;
  left: 0;
  bottom: 5px;
  border-bottom: 2px solid;
  width: 100%;
  transform: scaleX(0.3);
  opacity: 0;
  transition: transform 0.25s cubic-bezier(0.23, 1, 0.32, 1), opacity 0.25s;
  content: "";
}

.c-main-menu__link--top>.c-main-menu__link-text:before {
  bottom: 0;
}

:focus>.c-main-menu__link-text:before,
li:hover>a>.c-main-menu__link-text:before,
:focus-within>a>.c-main-menu__link-text:before {
  transform: scaleX(1);
  opacity: 1;
  transition-duration: 0.25s;
}

.c-main-menu__icon {
  display: none;
  margin: 0 auto 1.25rem;
}

.c-main-menu__link--top:not(:last-child)>.c-main-menu__icon {
  box-sizing: content-box;
  border-right: calc(0.625rem + 23px) solid transparent;
}

@media (min-width: 800px) {
  .c-main-menu__icon {
    display: block;
  }
}

.c-main-menu__sub-menu>li,
.c-main-menu__top-menu>li {
  position: relative;
}

.c-main-menu__top-menu {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  align-items: flex-start;
  flex: 0 1 auto;
  margin: 0 calc(var(--padding-x-top) * -1);
  height: 1.875rem;
  pointer-events: none;
}

@media (min-width: 800px) {
  .c-main-menu__top-menu {
    justify-content: flex-start;
    height: calc(28px + 3.125rem);
  }
}

.c-main-menu--secondary .c-main-menu__top-menu {
  height: 1.3125rem;
}

.c-main-menu--secondary .c-main-menu__top-menu.is-compact {
  visibility: hidden;
  min-width: 0;
}

.is-menu-loading .c-main-menu__top-menu {
  overflow: hidden;
}

.c-main-menu__top-menu>li {
  pointer-events: auto;
}

.c-main-menu--secondary .c-main-menu__top-menu>li+li {
  border-left: 1px solid #999;
}

.c-main-menu__sub-menu {
  opacity: 0;
  transform: translateY(10px);
  position: absolute;
  top: 100%;
  left: 0;
  margin-top: 10px;
  margin-right: -9999px;
  box-shadow: 0 5px 5px rgba(0, 0, 0, 0.3);
  background-color: #fff;
  min-width: 100%;
  max-width: 250px;
  pointer-events: none;
  transition: opacity 0.25s, transform 0.25s;
}

.c-main-menu__sub-menu.is-moved {
  left: auto;
  right: 0;
  margin-right: 0;
  margin-left: -9999px;
}

.c-main-menu__sub-menu:before {
  position: absolute;
  left: 0;
  bottom: 100%;
  width: 100%;
  height: 20px;
  transform-origin: bottom;
  transition: inherit;
  content: "";
}

li[aria-hidden="true"] .c-main-menu__sub-menu {
  display: none;
}

li.is-open>.c-main-menu__sub-menu,
li:hover>.c-main-menu__sub-menu,
li:focus-within>.c-main-menu__sub-menu {
  opacity: 1;
  pointer-events: auto;
  transform: none;
  z-index: 1;
}

li.is-open>.c-main-menu__sub-menu:before,
li:hover>.c-main-menu__sub-menu:before,
li:focus-within>.c-main-menu__sub-menu:before {
  transform: scaleY(0.5);
}

@media (hover: none) {
  li:hover:not(.is-open)>.c-main-menu__sub-menu {
    opacity: 0;
    transform: translateY(10px);
  }
}

.c-main-menu__sub-menu>li:not(:first-child) {
  box-shadow: inset 0 1px 0 0 rgba(0, 0, 0, 0.2);
}

.c-main-menu__sub-menu--deep {
  top: 0;
  left: 100%;
  margin-top: 0;
  transform: translateX(10px);
}

.c-main-menu__sub-menu--deep:before {
  top: 0;
  right: 100%;
  width: 10px;
  height: 100%;
  transform: none;
}

.c-main-menu__sub-menu--deep.is-moved {
  left: auto;
  right: 100%;
  transform: translateX(-10px);
}

.c-main-menu__sub-menu--deep.is-moved:before {
  left: 100%;
  right: auto;
}

.c-main-menu__drawer {
  flex: 0 0 auto;
  align-self: center;
  margin-left: 10px;
}

.c-main-menu__open-btn {
  position: relative;
  background: linear-gradient(0deg, #0d0850, #0d0850) no-repeat 50%/100% 3px;
  height: 40px;
  width: 40px;
  text-indent: -9999px;
}

.c-main-menu__open-btn:before,
.c-main-menu__open-btn:after {
  position: absolute;
  left: 0;
  background-color: #0d0850;
  width: 100%;
  height: 3px;
  transition: transform 0.25s, background-color 0.25s;
  content: "";
}

.c-main-menu__open-btn:before {
  top: 5px;
  transform-origin: left;
}

.c-main-menu__open-btn:after {
  bottom: 5px;
  transform-origin: right;
}

.c-main-menu__open-btn:focus:before,
.c-main-menu__open-btn:hover:before,
.c-main-menu__open-btn[aria-expanded="true"]:before {
  background-color: #fc3;
  transform: scaleX(0.5);
}

.c-main-menu__open-btn:focus:after,
.c-main-menu__open-btn:hover:after,
.c-main-menu__open-btn[aria-expanded="true"]:after {
  background-color: #c40000;
  transform: scaleX(0.5);
}

/* Drawer меню */
.c-drawer-menu {
  display: flex;
  flex-direction: column;
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 500;
  background-color: #fff;
  transition-property: transform, visibility, opacity;
  transition-duration: 0.35s;
  transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
  transform: translateX(100px);
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
}

.c-drawer-menu.is-open {
  transform: none;
  visibility: visible;
  pointer-events: auto;
  opacity: 1;
}

.c-drawer-menu__title,
.c-drawer-menu__top-menu {
  transition: inherit;
  transition-duration: 0s;
  transition-delay: 0.35s;
}

.is-open .c-drawer-menu__title,
.is-open .c-drawer-menu__top-menu {
  transition: inherit;
}

.c-drawer-menu__close-btn {
  position: absolute;
  top: 2rem;
  right: 2rem;
  z-index: 3;
  height: 3rem;
  width: 3rem;
  transition: inherit;
  font-size: 0;
  opacity: 0;
  transform: rotate(180deg);
}

.is-open .c-drawer-menu__close-btn {
  opacity: 1;
  transform: none;
}

.c-drawer-menu__close-btn:before,
.c-drawer-menu__close-btn:after {
  position: absolute;
  top: calc(50% - 1.5px);
  left: 0;
  width: 100%;
  height: 3px;
  background-color: #0d0850;
  transition: transform 0.6s cubic-bezier(0.645, 0.045, 0.355, 1);
  content: "";
}

.c-drawer-menu__close-btn:before {
  transform: rotate(45deg);
}

.c-drawer-menu__close-btn:after {
  transform: rotate(-45deg);
}

.c-drawer-menu__close-btn:focus:before,
.c-drawer-menu__close-btn:hover:before {
  transform: rotate(225deg);
}

.c-drawer-menu__close-btn:focus:after,
.c-drawer-menu__close-btn:hover:after {
  transition-delay: 30ms;
  transform: rotate(135deg);
}

.c-drawer-menu__close-btn:focus {
  outline: 1px solid #0d0850;
}

.c-drawer-menu__title {
  padding: 2rem 7rem 2rem 2rem;
  flex: 0 0 auto;
  transform: translateY(-30px);
  opacity: 0;
  color: #0d0850;
  font: 700 3rem/1 "Open Sans Condensed", "Avenir Next Condensed", "Segoe UI Condensed", "Helvetica Condensed", "Arial Condensed", sans-serif;
  text-transform: uppercase;
}

.is-open .c-drawer-menu__title {
  opacity: 1;
  transform: none;
  transition-delay: 0.21s;
}

.c-drawer-menu__title:focus {
  outline: 0;
}

.c-drawer-menu__top-menu {
  font-size: var(--font-size-48);
  overflow-x: hidden;
  overflow-y: auto;
  background-color: #0d0850;
  transform: translateY(20px);
  opacity: 0;
  color: #fff;
}

.is-open .c-drawer-menu__top-menu {
  opacity: 1;
  transform: none;
  transition-delay: 0.35s;
}

.c-drawer-menu__top-menu>li {
  border-bottom: 1px solid rgba(255, 255, 255, 0.2);
  padding: 1rem;
}

.c-drawer-menu__sub-menu {
  display: flex;
  flex-wrap: wrap;
  font-size: 0.6em;
}

.c-drawer-menu__sub-menu>li {
  background-color: rgba(255, 255, 153, 0.08);
  min-width: 0;
  margin: 1rem;
  overflow: hidden;
}

.c-drawer-menu__sub-menu--deep {
  display: block;
  font-size: 1em;
}

.c-drawer-menu__sub-menu--deep>li {
  margin-top: 0;
}

.c-drawer-menu__link {
  display: table;
  color: inherit;
  font-family: "Open Sans Condensed", "Avenir Next Condensed", "Segoe UI Condensed", "Helvetica Condensed", "Arial Condensed", sans-serif;
  font-weight: 700;
}

.c-drawer-menu__link--top {
  text-transform: uppercase;
}

.c-drawer-menu__link-text {
  display: block;
  position: relative;
  padding: 1rem;
}

.c-drawer-menu__link-text:before {
  position: absolute;
  left: 1rem;
  right: 1rem;
  bottom: 0.5rem;
  border-bottom: 3px solid;
  transform: scaleX(0.3);
  opacity: 0;
  transition: transform 0.25s cubic-bezier(0.23, 1, 0.32, 1), opacity 0.25s;
  content: "";
}

:focus>.c-drawer-menu__link-text:before,
:hover>.c-drawer-menu__link-text:before {
  transform: scaleX(1);
  opacity: 1;
  transition-duration: 0.25s;
}

/* Маркированный список */
.c-bullet-list {
  font-size: 1.125rem;
  margin-right: auto;
  margin-left: auto;
  max-width: 1465px;
  column-gap: 20px;
  column-width: 352.25px;
  line-height: 1.3333333333;
}

.c-bullet-list__item {
  padding: 0.2777777778em 0 0.2777777778em 1.875rem;
  background: radial-gradient(circle, #c40000, #c40000 0.3125rem, transparent calc(0.3125rem + 0.3px)) no-repeat top calc(0.94444em - 0.3125rem) left 0/0.625rem 0.625rem;
}

.c-bullet-list--inverted .c-bullet-list__item {
  background-image: radial-gradient(circle, #0d0850, #0d0850 0.3125rem, transparent calc(0.3125rem + 0.3px));
}

.c-bullet-list__link {
  border-bottom: 2px solid transparent;
  color: #0d0850;
  font-family: "Open Sans Condensed", "Avenir Next Condensed", "Segoe UI Condensed", "Helvetica Condensed", "Arial Condensed", sans-serif;
  font-weight: 700;
  text-transform: uppercase;
  transition: border-bottom-color 0.25s;
}

.c-bullet-list__link:hover {
  border-bottom-color: #c40000;
}

.c-bullet-list--inverted .c-bullet-list__link {
  color: #c40000;
}

.c-bullet-list--inverted .c-bullet-list__link:hover {
  border-bottom-color: #0d0850;
}

/* Галерея */
.c-gallery {
  --padding-x: 65px;
  padding-left: var(--padding-x);
  padding-right: var(--padding-x);
  position: relative;
}

@media (min-width: 600px) {
  .c-gallery {
    --padding-x: calc(-1.18445px + 11.03074vw);
  }
}

@media (min-width: 1706px) {
  .c-gallery {
    --padding-x: 187px;
  }
}

.c-gallery__list {
  display: flex;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  -webkit-overflow-scrolling: touch;
}

.c-gallery__item {
  flex: 0 0 auto;
  max-width: 100%;
  scroll-snap-align: start;
}

.c-gallery__item:not(:first-child) {
  margin-left: 10px;
}

@media (min-width: 600px) {
  .c-gallery__item:not(:first-child) {
    margin-left: calc(-6.27486px + 2.71248vw);
  }
}

@media (min-width: 1706px) {
  .c-gallery__item:not(:first-child) {
    margin-left: 40px;
  }
}

.c-gallery__pager {
  position: absolute;
  top: 50%;
  left: 0;
  border-left: 10px solid;
  height: 110px;
  transform: translateY(-50%);
  color: #0d0850;
  font-size: 0;
  transition: visibility 0.1s, opacity 0.1s;
}

.c-gallery__pager.is-hidden {
  opacity: 0;
  visibility: hidden;
}

.c-gallery__pager:before {
  margin-left: 18.0771644663px;
  display: block;
  width: 39px;
  height: 39px;
  border-style: solid;
  border-width: 0 0 10px 10px;
  transform: rotate(45deg);
  content: "";
}

@media (min-width: 600px) {
  .c-gallery__pager:before {
    margin-left: calc(7.22725px + 1.80832vw);
  }
}

@media (min-width: 1706px) {
  .c-gallery__pager:before {
    margin-left: 38.0771644663px;
  }
}

.c-gallery__pager--next {
  left: auto;
  right: 0;
  transform: translateY(-50%) scaleX(-1);
}

.c-gallery__pager:focus {
  outline: 0;
  box-shadow: 0 0 0 2px;
}

/* Контактная информация */
.c-contact-info {
  margin-top: -10px;
  margin-bottom: -10px;
  display: flex;
  flex-wrap: wrap;
  overflow: hidden;
}

@media (min-width: 600px) {
  .c-contact-info {
    margin-top: calc(-15.42495px + 0.90416vw);
    margin-bottom: calc(-15.42495px + 0.90416vw);
  }
}

@media (min-width: 1706px) {
  .c-contact-info {
    margin-top: 0;
    margin-bottom: 0;
  }
}

.c-contact-info__title {
  font-size: var(--font-size-30);
  padding: 20px 0 5px;
  flex: 1 999 25%;
  font-family: "Open Sans Condensed", "Avenir Next Condensed", "Segoe UI Condensed", "Helvetica Condensed", "Arial Condensed", sans-serif;
  font-weight: 700;
  letter-spacing: 0.05em;
  line-height: 1;
  text-align: center;
  text-transform: uppercase;
}

.c-contact-info__title-icon {
  display: none;
  margin: 0 auto 1rem;
}

@media (min-width: 800px) {
  .c-contact-info__title-icon {
    display: block;
  }
}

.c-contact-info__list {
  display: flex;
  flex-wrap: wrap;
  margin-left: -5px;
  flex: 999 1 31.25rem;
}

.c-contact-info__item {
  border-left: 5px solid #696969;
  padding: 20px 15px;
  flex: 1 1 15.625rem;
  min-width: 0;
}

@media (min-width: 1706px) {
  .c-contact-info__item {
    padding-left: calc(-582.8972px + 35.04673vw);
    padding-right: calc(-104.57944px + 7.00935vw);
  }
}

@media (min-width: 1920px) {
  .c-contact-info__item {
    padding-left: 90px;
    padding-right: 30px;
  }
}

.c-contact-info__item--emails {
  padding-left: 15px;
}

@media (min-width: 1706px) {
  .c-contact-info__item--emails {
    padding-left: calc(-822.05607px + 49.06542vw);
  }
}

@media (min-width: 1920px) {
  .c-contact-info__item--emails {
    padding-left: 120px;
  }
}

.c-contact-info__item--address {
  padding-left: 15px;
}

@media (min-width: 1706px) {
  .c-contact-info__item--address {
    padding-left: calc(-503.17757px + 30.37383vw);
  }
}

@media (min-width: 1920px) {
  .c-contact-info__item--address {
    padding-left: 80px;
  }
}

/* Медиа-объект */
.c-media {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  margin: -10px;
}

.c-media__content,
.c-media__title {
  margin: 10px;
  min-width: 0;
}

.c-media__title-icon {
  width: 28px;
  height: 20px;
  fill: #fc3;
}

@media (min-width: 600px) {
  .c-media__title-icon {
    width: calc(18.23508px + 1.62749vw);
    height: calc(12.94756px + 1.17541vw);
  }
}

@media (min-width: 1706px) {
  .c-media__title-icon {
    width: 46px;
    height: 33px;
  }
}

.c-media__content {
  flex: 1 1 9.375rem;
}

/* Изгородь (Fence) */
.c-fence {
  font-size: 0.875rem;
  display: flex;
  flex-wrap: wrap;
  margin: 0 -0.5em -0.7142857143em 0;
  line-height: 1;
  --primary: #c40000;
  --secondary: #333;
}

.c-fence--light {
  --primary: #fc3;
  --secondary: #fff;
}

.c-fence--center {
  justify-content: center;
}

.c-fence__item {
  margin-right: 0.5em;
  margin-bottom: 0.7142857143em;
}

.c-fence__item:not(:first-child) {
  border-left: 1.3px solid var(--secondary);
  padding-left: 0.5em;
}

.c-fence__link {
  border-bottom: 2px solid transparent;
  color: var(--primary);
  transition: border-bottom 0.25s, color 0.25s;
}

.c-fence__link:focus,
.c-fence__link:hover {
  border-bottom-color: currentColor;
  border-bottom-color: var(--secondary);
}

.c-fence__link:active {
  color: var(--secondary);
  transition-duration: 50ms;
}

/* Герой */
.c-hero {
  position: relative;
  overflow: hidden;
}

.c-hero:before {
  position: absolute;
  top: 0;
  left: 0;
  bottom: 20px;
  z-index: 1;
  width: 100%;
  background-color: #000;
  opacity: 0.2;
  content: "";
}

.c-hero__image {
  width: 100%;
}

@supports (object-fit: cover) {
  .c-hero__image {
    height: 25vw;
    object-fit: cover;
  }

  @media (min-width: 2000px) {
    .c-hero__image {
      height: 500px;
    }
  }
}

.c-hero--large .c-hero__image {
  height: 40vw;
}

@media (min-width: 2000px) {
  .c-hero--large .c-hero__image {
    height: 800px;
  }
}

.c-hero__caption {
  position: absolute;
  top: 50%;
  left: 50%;
  z-index: 2;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  padding: 0 10px 20px;
  width: 1746px;
  max-width: 100%;
  transform: translate(-50%, -50%);
  color: #fff;
}

@media (max-width: 799px) {
  .c-hero__caption {
    display: none;
  }
}

@media (min-width: 600px) {
  .c-hero--large .c-hero__caption {
    display: flex;
  }
}

.c-hero__action,
.c-hero__caption-text {
  padding: 10px;
  min-width: 0;
}

.c-hero__caption-text {
  flex: 1 0 37.5rem;
}

.c-hero__caption-line {
  font-size: var(--font-size-36);
  display: block;
  font-family: "Open Sans Condensed", "Avenir Next Condensed", "Segoe UI Condensed", "Helvetica Condensed", "Arial Condensed", sans-serif;
  font-weight: 700;
  letter-spacing: 0.225em;
  line-height: 1;
}

.c-hero__caption-line--large {
  font-size: 1.6875rem;
  margin-bottom: 0.1777777778em;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

@media (min-width: 600px) {
  .c-hero__caption-line--large {
    font-size: calc(1.6875rem + 5.6962vw - 34.17722px);
  }
}

@media (min-width: 1706px) {
  .c-hero__caption-line--large {
    font-size: 5.625rem;
  }
}

.c-hero__action {
  margin-left: auto;
}

/* Текстовое тело */
.c-text-body {
  line-height: 1.875;
}

.c-text-body:before,
.c-text-body:after {
  content: "";
  display: block;
  height: 0;
  width: 0;
}

.c-text-body:before {
  margin-bottom: -0.5625em;
}

.c-text-body:after {
  margin-top: -0.5625em;
  display: table;
  clear: both;
  content: "";
}

.c-text-body--no-text-crop:before,
.c-text-body--no-text-crop:after {
  margin: 0;
}

.c-text-body--small {
  font-size: 1rem;
  font-weight: 400;
}

.c-text-body *+* {
  margin-top: 1.875rem;
}

.c-text-body .align-left+*,
.c-text-body .align-right+* {
  margin-top: 0;
}

.c-text-body hr {
  border-top-color: #c40000;
  margin-left: auto;
  margin-right: auto;
  padding-bottom: 0.625rem;
  max-width: 147px;
}

.c-text-body *+hr {
  margin-top: 2.8125rem;
}

.c-text-body ul {
  list-style-type: none;
}

.c-text-body ul>li {
  padding-left: 1.25rem;
  background: radial-gradient(circle, #c40000, #c40000 0.3125rem, transparent calc(0.3125rem + 0.3px)) no-repeat top 0.625rem left 0/0.625rem 0.625rem;
}

.c-text-body ol {
  padding-left: 1.25rem;
  list-style-type: decimal;
}

.c-text-body br,
.c-text-body img,
.c-text-body li {
  margin-top: 0;
}

.c-text-body h2 {
  font-size: var(--font-size-36);
}

.c-text-body h3 {
  font-size: var(--font-size-30);
}

.c-text-body h4 {
  font-size: var(--font-size-24);
}

.c-text-body h5 {
  font-size: 1.125rem;
}

.c-text-body h6 {
  font-size: 1rem;
  font-weight: 700;
}

.c-text-body h2,
.c-text-body h3,
.c-text-body h4,
.c-text-body h5 {
  color: #0d0850;
  font-family: "Open Sans Condensed", "Avenir Next Condensed", "Segoe UI Condensed", "Helvetica Condensed", "Arial Condensed", sans-serif;
  font-weight: 700;
  text-transform: uppercase;
}

.c-text-body h2,
.c-text-body h3 {
  padding-bottom: 25px;
  --border-width: 100px;
  margin-top: 0;
  padding-top: 1.875rem;
  background: linear-gradient(#c40000, #c40000) no-repeat bottom/147px 5px;
  background-size: var(--border-width) 5px;
  line-height: 1;
  overflow: hidden;
  text-align: center;
}

@media (min-width: 600px) {

  .c-text-body h2,
  .c-text-body h3 {
    padding-bottom: calc(19.57505px + 0.90416vw);
    --border-width: calc(74.50271px + 4.24955vw);
  }
}

@media (min-width: 1706px) {

  .c-text-body h2,
  .c-text-body h3 {
    padding-bottom: 35px;
    --border-width: 147px;
  }
}

.c-text-body img {
  vertical-align: unset;
}

.c-text-body a {
  border-bottom: 2px solid transparent;
  transition: border-bottom-color 0.25s;
  color: #c40000;
  font-weight: 700;
}

.c-text-body a:hover {
  border-bottom-color: currentColor;
}

.c-text-body a:active {
  color: #0d0850;
}

.c-text-body .align-center,
.c-text-body .align-left,
.c-text-body .align-right {
  margin-top: 10px;
  margin-bottom: 10px;
}

.c-text-body .align-left {
  margin-right: 10px;
  clear: left;
}

@media (min-width: 600px) {
  .c-text-body .align-left {
    margin-right: calc(-6.27486px + 2.71248vw);
  }
}

@media (min-width: 1706px) {
  .c-text-body .align-left {
    margin-right: 40px;
  }
}

.c-text-body .align-right {
  margin-left: 10px;
  clear: right;
}

@media (min-width: 600px) {
  .c-text-body .align-right {
    margin-left: calc(-6.27486px + 2.71248vw);
  }
}

@media (min-width: 1706px) {
  .c-text-body .align-right {
    margin-left: 40px;
  }
}

.c-text-body__emphasize {
  font-size: var(--font-size-24);
  line-height: 1.5;
  text-align: center;
}

/* Обертка */
.c-wrapper {
  background: #000 no-repeat 50%/cover;
  color: #fff;
}

@media (min-width: 800px) {
  .c-wrapper.is-extravagant {
    background-image: linear-gradient(rgba(0, 0, 0, 0.75), rgba(0, 0, 0, 0.75)), url("../../../../themes/custom/perry/images/wrapper%400%2c5x.jpg");
  }
}

@media (min-width: 1280px) {
  .c-wrapper.is-extravagant {
    background-image: linear-gradient(rgba(0, 0, 0, 0.75), rgba(0, 0, 0, 0.75)), url("../../../../themes/custom/perry/images/wrapper.jpg");
  }
}

.c-wrapper ::selection {
  background-color: #fff;
  color: #000;
}

.c-wrapper--blue {
  background-color: #0d0850;
}

/* Iconic Info */
.c-iconic-info {
  font-size: var(--font-size-24);
  margin-bottom: -0.75em;
  letter-spacing: 0.05em;
  text-align: center;
}

.c-iconic-info__icon {
  margin-bottom: 10px;
  fill: #0d0850;
}

@media (min-width: 600px) {
  .c-iconic-info__icon {
    margin-bottom: calc(-11.69982px + 3.61664vw);
  }
}

@media (min-width: 1706px) {
  .c-iconic-info__icon {
    margin-bottom: 50px;
  }
}

.c-iconic-info__info,
.c-iconic-info__title {
  line-height: 1.5;
  padding-bottom: 0.75em;
}

.c-iconic-info__info:before,
.c-iconic-info__title:before,
.c-iconic-info__info:after,
.c-iconic-info__title:after {
  content: "";
  display: block;
  height: 0;
  width: 0;
}

.c-iconic-info__info:before,
.c-iconic-info__title:before {
  margin-bottom: -0.4em;
}

.c-iconic-info__info:after,
.c-iconic-info__title:after {
  margin-top: -0.37222em;
}

.c-iconic-info__title {
  color: #0d0850;
  font-family: "Open Sans Condensed", "Avenir Next Condensed", "Segoe UI Condensed", "Helvetica Condensed", "Arial Condensed", sans-serif;
  font-weight: 700;
  text-transform: uppercase;
}

/* Цитата (новый компонент) */
.c-quote__content {
  margin: 0 auto;
  max-width: 87.5rem;
}

.c-quote__attribution {
  font-size: var(--font-size-24);
  padding-top: 20px;
  --border-width: 200px;
  background: linear-gradient(#c40000, #c40000) no-repeat top/294px 3px;
  background-size: var(--border-width) 3px;
  color: #666;
  line-height: 1;
  text-align: center;
}

@media (min-width: 600px) {
  .c-quote__attribution {
    padding-top: calc(3.72514px + 2.71248vw);
    --border-width: calc(149.00542px + 8.4991vw);
  }
}

@media (min-width: 1706px) {
  .c-quote__attribution {
    padding-top: 50px;
    --border-width: 294px;
  }
}

/* ============================================
   8. ОБЪЕКТЫ (O-*)
   ============================================ */
/* Таймстамп */
.o-timestamp {
  font-size: var(--font-size-30);
  line-height: 1;
  display: block;
  color: #0d0850;
  font-family: "Open Sans Condensed", "Avenir Next Condensed", "Segoe UI Condensed", "Helvetica Condensed", "Arial Condensed", sans-serif;
  font-weight: 700;
  letter-spacing: 0.05em;
  text-align: center;
  text-transform: uppercase;
}

.o-timestamp:before,
.o-timestamp:after {
  content: "";
  display: block;
  height: 0;
  width: 0;
}

.o-timestamp:before {
  margin-bottom: -0.15em;
}

.o-timestamp:after {
  margin-top: -0.12222em;
}

.o-timestamp--teaser {
  font-size: 0.875rem;
  color: inherit;
}

/* Заголовки */
.o-title {
  display: block;
  font-size: var(--font-size-48);
  line-height: 1;
  padding-bottom: 25px;
  --border-width: 200px;
  background: linear-gradient(#c40000, #c40000) no-repeat bottom/294px 5px;
  background-size: var(--border-width) 5px;
  color: #0d0850;
  font-family: "Open Sans Condensed", "Avenir Next Condensed", "Segoe UI Condensed", "Helvetica Condensed", "Arial Condensed", sans-serif;
  font-weight: 700;
  text-align: center;
  text-transform: uppercase;
}

.o-title:before,
.o-title:after {
  content: "";
  display: block;
  height: 0;
  width: 0;
}

.o-title:before {
  margin-bottom: -0.15em;
}

.o-title:after {
  margin-top: -0.12222em;
}

@media (min-width: 600px) {
  .o-title {
    padding-bottom: calc(8.72514px + 2.71248vw);
    --border-width: calc(149.00542px + 8.4991vw);
  }
}

@media (min-width: 1706px) {
  .o-title {
    padding-bottom: 55px;
    --border-width: 294px;
  }
}

.o-title--field-label {
  font-size: var(--font-size-36);
  padding-bottom: 25px;
  background-size: 147px 5px;
}

@media (min-width: 600px) {
  .o-title--field-label {
    padding-bottom: calc(19.57505px + 0.90416vw);
  }
}

@media (min-width: 1706px) {
  .o-title--field-label {
    padding-bottom: 35px;
  }
}

.o-title--iconic {
  font-size: var(--font-size-30);
  background-size: 74px 5px;
  padding-bottom: 25px;
}

.o-title--iconic:before {
  content: none;
}

.o-title--inverted {
  background-image: linear-gradient(#0d0850, #0d0850);
  color: #c40000;
}

.o-title__icon {
  display: table;
  margin: 0 auto 15px;
}

/* Кнопки */
.o-button {
  font-size: var(--font-size-24);
  min-width: 55.55556vw;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 1.875rem;
  border: 3px solid #0d0850;
  border-color: var(--color);
  background-color: #0d0850;
  background-color: var(--color);
  min-height: 3.75rem;
  height: 1px;
  padding: 0.5rem 1.5rem;
  color: #fff;
  font-family: "Open Sans Condensed", "Avenir Next Condensed", "Segoe UI Condensed", "Helvetica Condensed", "Arial Condensed", sans-serif;
  font-weight: 700;
  letter-spacing: 0.1em;
  line-height: 1;
  text-transform: uppercase;
  transition: background-color 0.25s, color 0.25s;
  --color: #0d0850;
  margin-left: 20px;
  margin-right: 20px;
}

@media (min-width: 360px) {
  .o-button {
    min-width: 200px;
  }
}

.o-button:focus,
.o-button:hover {
  background-color: #fff;
  color: var(--color);
}

.o-button:focus {
  outline: 0;
}

.o-button--icon {
  border-width: 2px;
  padding: 0;
  width: 40px;
  min-width: 0;
  height: 40px;
  min-height: 0;
  --color: #999;
}

.o-button--icon.o-button--large {
  width: 55px;
  height: 55px;
}

.o-button--ghost {
  background-color: transparent;
  color: var(--color);
}

.o-button--ghost:focus,
.o-button--ghost:hover {
  background-color: var(--color);
  color: #fff;
}

.o-button--static.o-button--ghost {
  background-color: transparent;
  color: var(--color);
}

.o-button--font-small {
  font-size: 1.125rem;
}

.o-button--width-294 {
  min-width: 0;
}

@media (min-width: 600px) {
  .o-button--width-294 {
    min-width: calc(26.58228vw - 159.49367px);
  }
}

@media (min-width: 1706px) {
  .o-button--width-294 {
    min-width: 294px;
  }
}

.o-button--facebook {
  --color: #3b5999;
}

.o-button--instagram {
  --color: #8348c6;
}

.o-button--linkedin {
  --color: #0274b3;
}

.o-button--twitter {
  --color: #00aced;
}

.o-button--white {
  --color: #fff;
}

.o-button--red {
  --color: #c40000;
}

.o-button--indigo {
  --color: #0d0850;
}

.o-button--grey {
  --color: #808080;
}

/* ============================================
   9. ЭЛЕМЕНТЫ ФОРМ
   ============================================ */
label {
  line-height: 1.3;
  font-size: var(--font-size-24);
  display: table;
  cursor: pointer;
}

label:before,
label:after {
  content: "";
  display: block;
  height: 0;
  width: 0;
}

label:before {
  margin-bottom: -0.3em;
}

label:after {
  margin-top: -0.27222em;
}

legend {
  line-height: 1.875;
}

legend:before,
legend:after {
  content: "";
  display: block;
  height: 0;
  width: 0;
}

legend:before {
  margin-bottom: -0.5875em;
}

legend:after {
  margin-top: -0.55972em;
}

input,
select,
textarea {
  border: 3px solid #0d0850;
  border-radius: 1.875rem;
  background-color: transparent;
  font: inherit;
  font-size: 1.125rem;
  line-height: 1.2;
  color: inherit;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  transition: border-color 0.25s, box-shadow 0.25s;
  padding: 0 1.24875rem;
  max-width: 100%;
}

input:focus,
select:focus,
textarea:focus {
  outline: 0;
  border-color: #2c2c2c;
  box-shadow: 0 0 3px #2c2c2c;
}

[type="submit"],
input,
select {
  height: 3.75rem;
}

textarea {
  display: block;
  padding-top: 19.2px;
  padding-bottom: 19.2px;
  resize: vertical;
  overflow: auto;
}

select {
  padding-right: 4.06rem;
  background: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='599.2' height='323.9' viewBox='0 0 599 324'%3E%3Cpath fill='none' stroke='%230d0850' stroke-width='22' d='M8 8l292 300L591 8'/%3E%3C/svg%3E") no-repeat top 50% right 1.24875rem/1.5625rem 0.8125rem;
  cursor: pointer;
}

select::-ms-expand {
  display: none;
}

select[size] {
  overflow: auto;
  resize: vertical;
}

[type="checkbox"],
[type="radio"] {
  position: absolute;
  clip: rect(1px, 1px, 1px, 1px);
  overflow: hidden;
  height: 1px;
  width: 1px;
}

[type="checkbox"]+label,
[type="radio"]+label {
  font-size: 1rem;
}

[type="checkbox"]+label:before,
[type="radio"]+label:before {
  content: none;
}

[type="checkbox"]+label:after,
[type="radio"]+label:after {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  vertical-align: middle;
  margin: 0 0 0 1ch;
  border-radius: 1.40625em;
  border: 3px solid #0d0850;
  width: 2.8125em;
  height: 2.8125em;
  line-height: 1;
  color: transparent;
  transition: border-color 0.25s, box-shadow 0.25s;
  content: "✔";
}

[type="checkbox"]:checked+label:after,
[type="radio"]:checked+label:after {
  color: inherit;
}

[type="checkbox"]:focus+label:after,
[type="radio"]:focus+label:after {
  border-color: #2c2c2c;
  box-shadow: 0 0 3px #0d0850;
}

[type="radio"]+label:after {
  background-image: radial-gradient(circle, transparent 40%, transparent 42%);
  content: "";
}

[type="radio"]:checked+label:after {
  background-image: radial-gradient(circle, currentColor 40%, transparent 42%);
}

::placeholder {
  opacity: 1;
  color: inherit;
}

::-webkit-input-placeholder {
  opacity: 1;
  color: inherit;
}

button {
  margin: 0;
  border: 0;
  padding: 0;
  background-color: transparent;
  color: inherit;
  font: inherit;
  cursor: pointer;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}

button:disabled,
input:disabled,
select:disabled,
textarea:disabled {
  opacity: 0.5;
  cursor: not-allowed;
}

[type="submit"] {
  font-size: var(--font-size-24);
  border-color: #0d0850;
  background-color: #0d0850;
  color: #fff;
  cursor: pointer;
  font-weight: 700;
  text-transform: uppercase;
  transition: color 0.25s, background-color 0.25s, transform 0.25s;
}

[type="submit"]:focus,
[type="submit"]:hover {
  background-color: transparent;
  color: #0d0850;
}

[type="submit"]:active {
  transform: scale(0.98);
  transition-duration: 101ms;
}

fieldset {
  margin: 0;
  border: 0;
  padding: 0;
}

/* ============================================
   10. УТИЛИТЫ (U-*)
   ============================================ */
.u-margin-bottom-20 {
  margin-bottom: 15px;
}

@media (min-width: 600px) {
  .u-margin-bottom-20 {
    margin-bottom: calc(12.28752px + 0.45208vw);
  }
}

@media (min-width: 1706px) {
  .u-margin-bottom-20 {
    margin-bottom: 20px;
  }
}

.u-margin-bottom-30 {
  margin-bottom: 15px;
}

@media (min-width: 600px) {
  .u-margin-bottom-30 {
    margin-bottom: calc(6.86257px + 1.35624vw);
  }
}

@media (min-width: 1706px) {
  .u-margin-bottom-30 {
    margin-bottom: 30px;
  }
}

.u-margin-bottom-50 {
  margin-bottom: 15px;
}

@media (min-width: 600px) {
  .u-margin-bottom-50 {
    margin-bottom: calc(-3.98734px + 3.16456vw);
  }
}

@media (min-width: 1706px) {
  .u-margin-bottom-50 {
    margin-bottom: 50px;
  }
}

.u-margin-bottom-70 {
  margin-bottom: 15px;
}

@media (min-width: 600px) {
  .u-margin-bottom-70 {
    margin-bottom: calc(-14.83725px + 4.97288vw);
  }
}

@media (min-width: 1706px) {
  .u-margin-bottom-70 {
    margin-bottom: 70px;
  }
}

.u-margin-top-10 {
  margin-top: 10px;
}

.u-margin-top-12 {
  margin-top: 12px;
}

.u-margin-top-20 {
  margin-top: 15px;
}

@media (min-width: 600px) {
  .u-margin-top-20 {
    margin-top: calc(12.28752px + 0.45208vw);
  }
}

@media (min-width: 1706px) {
  .u-margin-top-20 {
    margin-top: 20px;
  }
}

.u-margin-top-30 {
  margin-top: 15px;
}

@media (min-width: 600px) {
  .u-margin-top-30 {
    margin-top: calc(6.86257px + 1.35624vw);
  }
}

@media (min-width: 1706px) {
  .u-margin-top-30 {
    margin-top: 30px;
  }
}

*+.u-margin-neighbor-vertical-20 {
  margin-top: 15px;
}

@media (min-width: 600px) {
  *+.u-margin-neighbor-vertical-20 {
    margin-top: calc(12.28752px + 0.45208vw);
  }
}

@media (min-width: 1706px) {
  *+.u-margin-neighbor-vertical-20 {
    margin-top: 20px;
  }
}

*+.u-margin-neighbor-vertical-50 {
  margin-top: 15px;
}

@media (min-width: 600px) {
  *+.u-margin-neighbor-vertical-50 {
    margin-top: calc(-3.98734px + 3.16456vw);
  }
}

@media (min-width: 1706px) {
  *+.u-margin-neighbor-vertical-50 {
    margin-top: 50px;
  }
}

@media (max-width: 799px) {
  .u-hide-mq-800 {
    display: none;
  }
}

.u-display-inline {
  display: inline;
}

.u-width-777 {
  width: 777px;
  max-width: 100%;
}

.u-width-515 {
  width: 515px;
  max-width: 100%;
}

.u-height-full {
  height: 100%;
}

.u-width-full {
  width: 100%;
}

.u-shrink-wrap-center {
  display: table;
  margin-left: auto;
  margin-right: auto;
}

.u-font-size-16 {
  font-size: 1rem;
}

.u-font-size-24 {
  font-size: var(--font-size-24);
}

.u-line-height-1p5 {
  line-height: 1.5;
}

.u-line-height-1p5:before,
.u-line-height-1p5:after {
  content: "";
  display: block;
  height: 0;
  width: 0;
}

.u-line-height-1p5:before {
  margin-bottom: -0.4em;
}

.u-line-height-1p5:after {
  margin-top: -0.37222em;
}

.u-break-word {
  overflow-wrap: break-word;
}

.u-color-red {
  color: #c40000;
}

.u-color-black {
  color: #000;
}

.u-border-bottom {
  border-bottom: 5px solid #ccc;
}

.u-overflow-hidden {
  overflow: hidden;
}

/* ============================================
   11. ДОПОЛНИТЕЛЬНЫЕ СТИЛИ ДЛЯ ИЗОБРАЖЕНИЙ
   ============================================ */
.article-img {
  width: 100%;
  height: auto;
  max-width: 777px;
}

.signature-img {
  width: 100%;
  height: auto;
  max-width: 100px;
}