/*
 * The type scale, headings, section and page titles.
 *
 * Edit this file. It is served as it is — nothing compiles it, and the
 * order it loads in is set in resources/css/order.php.
 */

.h1,
.privacy-page .privacy-page__content .privacy-page__title,
.search__input {
  font-size:clamp(32px,-80px + 8.75vw,88px);
  font-weight:600;
  letter-spacing:-.05em;
  line-height:1;
  text-transform:uppercase;
}

.page-title {
  font-size:clamp(48px,-112px + 12.5vw,128px);
  font-weight:600;
  letter-spacing:-.05em;
  line-height:1;
  text-transform:none;
}

@media screen and (max-width:1199px) {

  .page-title {
    font-size:56px;
  }
}

@media (max-width:900px)and (orientation:landscape),screen and (max-width:767px) {

  .page-title {
    font-size:40px;
  }
}

.section-title {
  display:inline-block;
  font-size:clamp(28px,-12px + 3.125vw,48px);
  font-weight:500;
  letter-spacing:-.03em;
  line-height:1.05;
  padding-bottom:18px;
  position:relative;
  text-transform:none;
}

.section-title:after {
  background-color:#e1251b;
  bottom:0;
  content:"";
  height:3px;
  left:0;
  position:absolute;
  width:56px;
}

@media (max-width:900px)and (orientation:landscape),screen and (max-width:767px) {

  .section-title {
    padding-bottom:14px;
  }

  .section-title:after {
    width:44px;
  }
}

.h2 {
  font-size:clamp(24px,-56px + 6.25vw,64px);
  font-weight:400;
  letter-spacing:-.0325em;
  line-height:1;
}

@media screen and (max-width:1199px) {

  .h2 {
    font-size:42px;
  }
}

@media (max-width:900px)and (orientation:landscape),screen and (max-width:767px) {

  .h2 {
    font-size:24px;
  }
}

.h3 {
  font-size:clamp(24px,-16px + 3.125vw,44px);
  font-weight:400;
  letter-spacing:-.0325em;
  line-height:1.2;
}

@media (max-width:900px)and (orientation:landscape),screen and (max-width:767px) {

  .h3 {
    font-size:20px;
  }
}

.h4,
.h4--caps,
.privacy-page .wysiwyg h2,
.search-empty-message {
  font-size:clamp(18px,-10px + 2.1875vw,32px);
  font-weight:400;
  letter-spacing:-.0325em;
  line-height:1;
}

.h4--caps {
  text-transform:uppercase;
}

.h5 {
  font-size:clamp(12px,-4px + 1.25vw,20px);
}

.h5,
.text-2xl {
  font-weight:400;
  letter-spacing:-.0325em;
  line-height:1.3;
}

.text-2xl {
  font-size:clamp(16px,0px + 1.25vw,24px);
}

.privacy-page .wysiwyg p,
.text-xl {
  font-size:clamp(12px,-4px + 1.25vw,20px);
  font-weight:400;
  letter-spacing:-.0325em;
  line-height:1.3;
}

@media screen and (max-width:1440px) {

  .privacy-page .wysiwyg p,
  .text-xl {
    font-size:14px;
  }
}

@media (max-width:900px)and (orientation:landscape),screen and (max-width:767px) {

  .privacy-page .wysiwyg p,
  .text-xl {
    font-size:12px;
  }
}

.text-l {
  font-size:clamp(11px,1px + .78125vw,16px);
  font-weight:400;
  letter-spacing:-.0325em;
  line-height:1.2;
}

.contacts-form .contact-form__input,
.contacts-form .contact-form__input::placeholder,
.contacts-form .contact-form__textarea,
.contacts-form .contact-form__textarea::placeholder,
.text-m,
.text-m--caps {
  font-size:clamp(10px,2px + .625vw,14px);
  font-weight:400;
  letter-spacing:-.52px;
  line-height:1.43;
}

.text-m--caps {
  text-transform:uppercase;
}

.text-m--bold {
  font-size:clamp(12px,8px + .3125vw,14px);
  line-height:1.43;
}

.text-m--bold,
.text-s,
.text-s--caps {
  font-weight:600;
  letter-spacing:-.0325em;
}

.text-s,
.text-s--caps {
  font-size:clamp(10px,6px + .3125vw,12px);
  line-height:1;
}

.text-s--caps {
  text-transform:uppercase;
}

@media screen and (max-width:1440px) {

  .text-s--caps {
    font-size:10px;
  }
}

.text-btn {
  font-size:clamp(12px,8px + .3125vw,14px);
  font-weight:600;
  letter-spacing:-.0325em;
  line-height:1.43;
  text-transform:uppercase;
  z-index:2;
}

.text-num {
  font-size:clamp(72px,-72px + 11.25vw,144px);
  text-transform:uppercase;
}

.text-num,
.text-num--s,
.text-num--s--caps {
  font-weight:400;
  letter-spacing:-.0325em;
  line-height:1.2;
}

.text-num--s,
.text-num--s--caps {
  font-size:clamp(24px,-88px + 8.75vw,80px);
}

.text-num--s--caps {
  text-transform:uppercase;
}
