:root {
  --color-accent: #C33323;
  --color-primary: #000;
  --color-text: #E1DAB1;

  --border-radius-sm: 5px;
  --border-radius-full: 50px;
  --font-main: "Zen Antique", serif;
}

/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */
/* Document
   ========================================================================== */
/**
 * 1. Correct the line height in all browsers.
 * 2. Prevent adjustments of font size after orientation changes in iOS.
 */
html {
  line-height: 1.15;
  /* 1 */
  -webkit-text-size-adjust: 100%;
  /* 2 */
}

/* Sections
     ========================================================================== */
/**
   * Remove the margin in all browsers.
   */
body {
  margin: 0;
}

/**
   * Render the `main` element consistently in IE.
   */
main {
  display: block;
}

/**
   * Correct the font size and margin on `h1` elements within `section` and
   * `article` contexts in Chrome, Firefox, and Safari.
   */
h1 {
  font-size: 2em;
  margin: 0.67em 0;
}

/* Grouping content
     ========================================================================== */
/**
   * 1. Add the correct box sizing in Firefox.
   * 2. Show the overflow in Edge and IE.
   */
hr {
  box-sizing: content-box;
  /* 1 */
  height: 0;
  /* 1 */
  overflow: visible;
  /* 2 */
}

/**
   * 1. Correct the inheritance and scaling of font size in all browsers.
   * 2. Correct the odd `em` font sizing in all browsers.
   */
pre {
  font-family: monospace, monospace;
  /* 1 */
  font-size: 1em;
  /* 2 */
}

/* Text-level semantics
     ========================================================================== */
/**
   * Remove the gray background on active links in IE 10.
   */
a {
  background-color: transparent;
}

/**
   * 1. Remove the bottom border in Chrome 57-
   * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
   */
abbr[title] {
  border-bottom: none;
  /* 1 */
  text-decoration: underline;
  /* 2 */
  text-decoration: underline dotted;
  /* 2 */
}

/**
   * Add the correct font weight in Chrome, Edge, and Safari.
   */
b,
strong {
  font-weight: bolder;
}

/**
   * 1. Correct the inheritance and scaling of font size in all browsers.
   * 2. Correct the odd `em` font sizing in all browsers.
   */
code,
kbd,
samp {
  font-family: monospace, monospace;
  /* 1 */
  font-size: 1em;
  /* 2 */
}

/**
   * Add the correct font size in all browsers.
   */
small {
  font-size: 80%;
}

/**
   * Prevent `sub` and `sup` elements from affecting the line height in
   * all browsers.
   */
sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

/* Embedded content
     ========================================================================== */
/**
   * Remove the border on images inside links in IE 10.
   */
img {
  border-style: none;
}

/* Forms
     ========================================================================== */
/**
   * 1. Change the font styles in all browsers.
   * 2. Remove the margin in Firefox and Safari.
   */
button,
input,
optgroup,
select,
textarea {
  font-family: inherit;
  /* 1 */
  font-size: 100%;
  /* 1 */
  line-height: 1.15;
  /* 1 */
  margin: 0;
  /* 2 */
}

/**
   * Show the overflow in IE.
   * 1. Show the overflow in Edge.
   */
button,
input {
  /* 1 */
  overflow: visible;
}

/**
   * Remove the inheritance of text transform in Edge, Firefox, and IE.
   * 1. Remove the inheritance of text transform in Firefox.
   */
button,
select {
  /* 1 */
  text-transform: none;
}

/**
   * Correct the inability to style clickable types in iOS and Safari.
   */
button,
[type=button],
[type=reset],
[type=submit] {
  -webkit-appearance: button;
}

/**
   * Remove the inner border and padding in Firefox.
   */
button::-moz-focus-inner,
[type=button]::-moz-focus-inner,
[type=reset]::-moz-focus-inner,
[type=submit]::-moz-focus-inner {
  border-style: none;
  padding: 0;
}

/**
   * Restore the focus styles unset by the previous rule.
   */
button:-moz-focusring,
[type=button]:-moz-focusring,
[type=reset]:-moz-focusring,
[type=submit]:-moz-focusring {
  outline: 1px dotted ButtonText;
}

/**
   * Correct the padding in Firefox.
   */
fieldset {
  padding: 0.35em 0.75em 0.625em;
}

/**
   * 1. Correct the text wrapping in Edge and IE.
   * 2. Correct the color inheritance from `fieldset` elements in IE.
   * 3. Remove the padding so developers are not caught out when they zero out
   *    `fieldset` elements in all browsers.
   */
legend {
  box-sizing: border-box;
  /* 1 */
  color: inherit;
  /* 2 */
  display: table;
  /* 1 */
  max-width: 100%;
  /* 1 */
  padding: 0;
  /* 3 */
  white-space: normal;
  /* 1 */
}

/**
   * Add the correct vertical alignment in Chrome, Firefox, and Opera.
   */
progress {
  vertical-align: baseline;
}

/**
   * Remove the default vertical scrollbar in IE 10+.
   */
textarea {
  overflow: auto;
}

/**
   * 1. Add the correct box sizing in IE 10.
   * 2. Remove the padding in IE 10.
   */
[type=checkbox],
[type=radio] {
  box-sizing: border-box;
  /* 1 */
  padding: 0;
  /* 2 */
}

/**
   * Correct the cursor style of increment and decrement buttons in Chrome.
   */
[type=number]::-webkit-inner-spin-button,
[type=number]::-webkit-outer-spin-button {
  height: auto;
}

/**
   * 1. Correct the odd appearance in Chrome and Safari.
   * 2. Correct the outline style in Safari.
   */
[type=search] {
  -webkit-appearance: textfield;
  /* 1 */
  outline-offset: -2px;
  /* 2 */
}

/**
   * Remove the inner padding in Chrome and Safari on macOS.
   */
[type=search]::-webkit-search-decoration {
  -webkit-appearance: none;
}

/**
   * 1. Correct the inability to style clickable types in iOS and Safari.
   * 2. Change font properties to `inherit` in Safari.
   */
::-webkit-file-upload-button {
  -webkit-appearance: button;
  /* 1 */
  font: inherit;
  /* 2 */
}

/* Interactive
     ========================================================================== */
/*
   * Add the correct display in Edge, IE 10+, and Firefox.
   */
details {
  display: block;
}

/*
   * Add the correct display in all browsers.
   */
summary {
  display: list-item;
}

/* Misc
     ========================================================================== */
/**
   * Add the correct display in IE 10+.
   */
template {
  display: none;
}

/**
   * Add the correct display in IE 10.
   */
[hidden] {
  display: none;
}

/* zen-antique-regular - cyrillic_latin */
@font-face {
  font-display: swap;
  /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Zen Antique';
  font-style: normal;
  font-weight: 400;
  src: url('../fonts/zen-antique-v14-cyrillic_latin-regular.woff2') format('woff2');
  /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

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

html,
body {
  scrollbar-gutter: stable;
}

body {
  font-family: var(--font-main);
  font-size: 1rem;
  line-height: normal;
  font-weight: 500;
  color: var(--color-text);

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

ul {
  padding: 0;
  margin: 0;
  list-style: none;
}

a {
  color: inherit;
  text-decoration: none;
}

h1,
h2,
h3,
h4,
h5,
h6,
p {
  margin: 0;
  font-weight: 400;
}

.wrapper {
  position: relative;
  padding-left: 95px;
}

@media (max-width: 992px) {
  .wrapper {
    padding-left: 0;
    padding-top: 60px;
  }
}

main {
  height: 100dvh;
  overflow-x: auto;
  overflow-y: hidden;
  scrollbar-width: none;
}

main::-webkit-scrollbar {
  display: none;
}

.sections-track {
  display: flex;
  height: 100dvh;
  width: auto;
}

.section {
  flex: 0 0 100%;
  height: 100dvh;
  overflow: hidden;
  position: relative;
}

@media (max-width: 992px) {
  main {
    height: auto;
    overflow-x: hidden;
    overflow-y: hidden;
    scrollbar-width: auto;
  }

  main::-webkit-scrollbar {
    display: initial;
  }

  .sections-track {
    display: block;
    /* было flex */
    height: auto;
    width: 100%;
  }

  .section {
    flex: none;
    /* сброс flex-поведения */
    width: 100%;
    height: auto;
    min-height: 100dvh;
    /* если хочешь, чтобы каждая занимала экран */
    overflow: visible;
    /* было hidden — теперь контент может вылезать */
  }
}

.btn {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 5px;
  padding: 3px 32px;
  font-family: var(--font-main);
  font-size: 1rem;
  text-transform: uppercase;
  color: #000;
  line-height: 1.4;

  border: 0;
  border-radius: 14px;
  background: linear-gradient(to bottom, #C33323, #5D1811);

  transition: 0.3s linear;
}

.btn:hover {
  border-color: var(--color-white);
}

.header {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  z-index: 10;

  height: 100%;
  width: 95px;

  display: flex;
  flex-direction: column;
  justify-content: space-between;
  align-items: center;
  gap: 20px;

  padding-bottom: 31px;

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

@media (max-width: 992px) {
  .header {
    position: fixed;
    bottom: auto;
    right: 0;
    width: 100%;
    height: 57px;

    padding: 0 10px;

    flex-direction: row;
    justify-content: space-between;
  }
}


.header__logo {
  display: flex;
  align-items: center;
}

.header__logo img {
  display: block;
  max-width: 100%;
  height: auto;
}

@media (max-width: 992px) {
  .header__logo {
    max-height: 100%;
  }

  .header__logo img {
    max-height: 50px;
  }
}

/* nav */
.nav ul {
  display: flex;
  flex-direction: column;
  gap: 20px;
  align-items: center;
}

@media (max-width: 992px) {
  .nav ul {
    flex-direction: row;
  }
}

.nav a {
  display: flex;
  color: var(--color-accent);

  transition: color .3s ease;
}

.nav a:hover {
  color: #fff;
}

.nav a.is-active {
  color: #fff;
}

@media (max-width: 992px) {
  .nav svg {
    width: 22px;
    height: auto;
  }
}

/* section */
.section__title {
  position: relative;

  font-size: clamp(2.188rem, 1.634vw + 1.789rem, 3.75rem);
  font-weight: 400;
  text-transform: uppercase;
  color: var(--color-text);

  padding-bottom: 30px;
}

@media (max-width: 992px) {
  .section__title {
    text-align: center;
  }
}

.section__title::after {
  content: '';

  display: block;
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);

  width: 100%;
  height: 22px;

  background: url('../img/decor/decor-white.png') no-repeat center/contain;
}

.section__subtitle {
  font-size: clamp(0.813rem, 2.346vw + 0.241rem, 2rem);
  font-weight: 400;
  text-transform: uppercase;
  color: var(--color-text);
}

.section__text {
  font-size: clamp(0.813rem, 0.327vw + 0.733rem, 1.125rem);

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

.section__text span {
  color: var(--color-accent);
}

.section__bg {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}

.section__num {
  display: block;

  font-size: clamp(0.938rem, 0.247vw + 0.877rem, 1.063rem);
  color: var(--color-accent);
  text-align: center;
}

/* hero */
.hero {
  position: relative;
  z-index: 1;

  width: 100vw;
  height: 100dvh;
  min-width: 0;

  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 20px;


  padding: 30px;

  /* background: url(../img/hero/hero-bg-full.webp) no-repeat center/contain; */
}

@media (max-width: 992px) {
  .hero {
    grid-template-columns: 1fr;
    height: auto;
  }
}

.hero__bg {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}

.hero__bg img {
  width: 100%;
  height: 100%;
}

.hero__rose {
  position: absolute;
  z-index: -2;
  top: 0;
  left: 0;

  max-width: 625px;
  height: auto;
  transform: rotate(-45deg) translate(-20%, -50%);
  transform-origin: center;
}


.hero__text-block {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 20px;

  align-self: end;
  margin-bottom: 40%;

  text-align: center;
}

@media (max-width: 992px) {
  .hero__text-block {
    margin-bottom: 0;
  }
}

.hero__title {
  background: url('../img/decor/text-bg.png') center/cover;
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  -webkit-text-fill-color: transparent;
}

.hero__video {
  display: block;
  max-width: 100%;
  height: 80%;

  object-fit: cover;
  object-position: center;

  align-self: end;
}

@media (max-width: 992px) {
  .hero__video {
    position: relative;
    z-index: 1;
    height: auto;

    width: 100%;

    object-fit: contain;
    object-position: center;
  }
}

/* manifesto */
.manifesto {
  position: relative;

  display: flex;
  align-items: center;

  padding: 20px 20px 30px 162px;
}

@media (max-width: 1200px) {
  .manifesto {

    grid-template-columns: 1fr 40%;
    padding: 20px 20px 30px 70px;
  }
}

@media (max-width: 992px) {
  .manifesto {

    grid-template-columns: 1fr;

    padding: 40px 40px 150px;
  }
}

.manifesto::before {
  content: '';

  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  z-index: 1;

  height: 100%;
  width: 40%;

  background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0), rgba(0, 0, 0, 51%));
}

.manifesto__inner {
  position: relative;
  z-index: 1;

  display: grid;
  grid-template-columns: 40% 1fr;
  align-items: center;
  gap: 20px;
}

@media (max-width: 1200px) {
  .manifesto__inner {
    grid-template-columns: 1fr 40%;
  }
}

@media (max-width: 992px) {
  .manifesto__inner {
    grid-template-columns: 1fr;
  }
}


.manifesto__header {
  grid-column: 1;
}

@media (max-width: 992px) {
  .manifesto__header {
    grid-column: auto;
  }
}


.manifesto__title {
  text-align: center;

  margin-bottom: 20px;
}

@media (max-width: 992px) {
  .manifesto__title {
    margin-bottom: 0;
  }
}

.manifesto__title::after {
  background-image: url(../img/decor/decor-white-red.png);
}

.manifesto__subtitle {
  grid-column: 1;
  grid-row: 2;

  display: flex;
  flex-direction: column;

  font-size: clamp(0.813rem, 1.111vw + 0.542rem, 1.375rem);
  text-transform: uppercase;
  color: var(--color-text);
}

@media (max-width: 992px) {
  .manifesto__subtitle {
    grid-column: auto;
    grid-row: 2;
    gap: 8px;

    margin: 0;

    text-align: center;
  }
}

.manifesto__subtitle .text-red {
  color: var(--color-accent);
}

.manifesto__text {
  grid-column: 1;
  grid-row: 3;

  position: relative;
  z-index: 1;

  display: flex;
  flex-direction: column;
  gap: 22px;

  text-align: justify;
}

@media (max-width: 992px) {
  .manifesto__text {
    grid-column: auto;
    grid-row: 4;
    
    text-align: center;
  }
}

.manifesto__image {

  grid-column: 2;
  grid-row: 1/4;

  position: relative;

  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

@media (max-width: 992px) {
  .manifesto__image {
    grid-column: auto;
    grid-row: 3;

    max-width: 70%;
    margin: 0 auto;
  }
}

@media (max-width: 576px) {
  .manifesto__image {
    max-width: 100%;
    margin: 0 auto;
  }
}

/* cards */
.cards {
  position: relative;

  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 20px 200px 30px 300px;

}

@media (max-width: 1600px) {
  .cards {
    padding: 20px 150px 30px 160px;
  }
}

@media (max-width: 1200px) {
  .cards {
    padding: 100px 20px 100px 70px;
  }
}

@media (max-width: 992px) {
  .cards {
    padding: 100px 20px 100px 20px;
  }
}

.cards::before {
  content: '';

  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  z-index: 1;

  height: 100%;
  width: 40%;

  background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0), rgba(0, 0, 0, 51%));
}

.cards__header {
  position: relative;
  z-index: 1;

  width: fit-content;
}

.cards__inner {
  position: relative;
  z-index: 1;

  display: grid;
  grid-template-columns: 30% 1fr;
  gap: 20px;
  align-items: center;
}

@media (max-width: 992px) {
  .cards__inner {
    grid-template-columns: 1fr;
  }
}

.cards__card-img {
  position: absolute;
  z-index: 1;
  right: 200px;
  transform: rotate(16deg) translateY(-50%);

  transform-origin: center;
  top: 50%;

  width: 20%;
  height: auto;
}

@media (max-width: 992px) {
  .cards__card-img {
    width: auto;
    height: 50%;
    right: auto;
    left: 50%;
    top: 60%;

    transform: rotate(16deg) translate(-50%, -50%);
  }
}

@media (max-width: 576px) {
  .cards__card-img {
    width: 60%;
    height: auto;
  }
}

@media (max-width: 992px) {
  .cards__header {
    margin: 0 auto;
  }
}

.cards__title {
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  -webkit-text-fill-color: transparent;
  background-image: linear-gradient(to bottom right, #E1DAB1, #905832);

  padding-bottom: 20px;
}

.cards__title::after {
  display: none;
}

@media (max-width: 992px) {
  .cards__title {
    padding: 0;
    margin-bottom: 50px;
  }
}

.cards__subtitle {
  grid-column: 1;
  grid-row: 2;

  font-size: 1.25rem;
  text-transform: uppercase;
  color: var(--color-text);
}

@media (max-width: 992px) {
  .cards__subtitle {
    max-width: 80%;
    margin: 0 auto;

    grid-column: auto;
    grid-row: 3;
  }
}

.cards__subtitle span {
  color: var(--color-accent);
}

.cards__decor-text {
  margin: 17px 0;
}

@media (max-width: 992px) {
  .cards__decor-text {
    display: none;
  }
}

.cards__text {
  grid-column: 1;
  grid-row: 1;

  display: flex;
  flex-direction: column;
  gap: 25px;
}

@media (max-width: 992px) {
  .cards__text {
    max-width: 90%;
    margin: 0 auto;
    grid-column: auto;
    text-align: center;
  }
}

.card {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 26px;
}

.card__video {
  display: block;

  max-width: 100%;
  height: auto;

}

/* slider */
.cards__slider {
  grid-column: 2;
  grid-row: 1/4;
  position: relative;

  min-width: 0;
  max-width: 100%;

  height: fit-content;
  padding: 0 55px;
}

@media (max-width: 992px) {
  .cards__slider {
    grid-column: auto;
    grid-row: 2;
    padding: 0;
  }
}

@media (max-width: 992px) {
  .swiper {
    padding: 0 80px;
    margin: 0 -20px;
  }
}

.swiper-button-prev {
  left: 0;
  /* transform: translateY(-50%); */
}

.swiper-button-prev,
.swiper-button-next {
  background: none;

  color: var(--color-text);

  fill: none !important;
}

.swiper-button-prev svg,
.swiper-button-next svg {
  fill: none !important
}

/* contacts */
.contacts {
  position: relative;

  display: flex;
  flex-direction: column;
  justify-content: center;

  padding: 20px 200px 30px 300px;

}

@media (max-width: 1600px) {
  .contacts {
    /* grid-template-columns: 1fr 40%; */
    padding: 20px 100px 30px 160px;
  }
}

@media (max-width: 1200px) {
  .contacts {

    padding: 20px 20px 30px 70px;
  }
}


@media (max-width: 992px) {
  .contacts {
    padding: 50px 20px 130px;
  }
}

.contacts::before {
  content: '';

  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  z-index: 1;

  height: 100%;
  width: 40%;

  background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0), rgba(0, 0, 0, 51%));
}

.contacts__inner {
  position: relative;
  z-index: 1;

  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px;
  align-items: center;
}

@media (max-width: 992px) {
  .contacts__inner {
    grid-template-columns: 1fr;
    align-items: center;
    place-items: center;
  }
}

.contacts__header {
  position: relative;
  z-index: 1;

  width: fit-content;
}

@media (max-width: 992px) {
  .contacts__header {
    margin: 0 auto;
  }
}

.contacts__header {
  grid-column: 1;
  grid-row: 1;
}

@media (max-width: 992px) {
  .contacts__header {
    grid-column: auto;
    grid-row: 1;
  }
}

.contacts__title {
  padding-bottom: 0;

  color: var(--color-accent);
}

.contacts__title::after {
  display: none;
}

.contacts__img {

  grid-column: 2;
  grid-row: 1/ 4;

  display: block;
  max-width: 100%;
  height: auto;
}

@media (max-width: 992px) {
  .contacts__img {
    grid-column: auto;
    grid-row: 3;
  }
}

.contacts__text {
  grid-column: 1;
  grid-row: 2;

  text-align: justify;
}

@media (max-width: 992px) {
  .contacts__text {
    grid-column: auto;
    grid-row: 4;
    
    text-align: center;
  }
}

.contacts__info {
  grid-column: 1;
  grid-row: 3;

  display: flex;
  flex-direction: column;
  gap: 19px;
  color: var(--color-text);

  margin-top: 48px;
  margin-bottom: 24px;
}

@media (max-width: 992px) {
  .contacts__info {
    grid-column: auto;
    grid-row: 2;

    margin: 0;
  }
}

.contacts__info-row {
  display: flex;
  align-items: center;
  gap: 22px;

  font-size: 1.3125rem;
}

.contacts__footer {
  position: relative;
  z-index: 1;

  font-size: clamp(0.813rem, 1.235vw + 0.512rem, 1.438rem);
  text-transform: uppercase;
  text-align: center;
  color: var(--color-accent);
}

@media (max-width: 992px) {
  .contacts__footer {
    display: none;
  }
}

/* socials */
.socials {
  display: flex;
  align-items: center;
  gap: 39px
}

.socials a {
  color: var(--color-accent);
  transition: color .3s ease;
}

.socials a:hover {
  color: #fff;
}