@import url(../style.css);
body {
  font-family: 'Montserrat', 'Helvetica Neue', Helvetica, Arial, sans-serif; }

.header {
  width: 100%;
  min-height: 135px;
  background: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 45px 0 0 0; }
  .header__link {
    width: 100%;
    min-height: 135px;
    display: flex;
    align-items: center;
    justify-content: center; }
  .header__logo {
    display: block;
    width: 84px;
    height: auto; }

.top-banner-section {
  padding: 45px 0 45px;
  background: #fff;
  text-align: center;
  color: #24346f; }
  .top-banner-section .container {
    max-width: 820px;
    margin: 0 auto;
    padding: 0 15px; }
  .top-banner-section__title {
    max-width: 800px;
    margin: 0 auto 16px;
    color: #24346f;
    font-size: 34px;
    line-height: 1.3;
    font-weight: 700;
    letter-spacing: 1px;
    text-transform: uppercase; }
  .top-banner-section__subtitle {
    max-width: 610px;
    margin: 0 auto 29px;
    color: #24346f;
    font-size: 23px;
    line-height: 1.2;
    font-weight: 700; }
  .top-banner-section__text {
    max-width: 610px;
    margin: 0 auto;
    color: #24346f;
    font-size: 14px;
    line-height: 1.35;
    font-weight: 400; }
    .top-banner-section__text p {
      margin: 0; }
    .top-banner-section__text p + p {
      margin-top: 8px; }
  @media only screen and (max-width: 767px) {
    .top-banner-section {
      padding: 36px 0 38px; }
      .top-banner-section__title {
        font-size: 27px;
        line-height: 1.25; }
      .top-banner-section__subtitle {
        font-size: 20px; } }

.products-section {
  padding: 16px 0 44px;
  background-color: var(--products-section-bg, #8bd3ee);
  transition: background-color 0.7s ease; }
  .products-section .container {
    max-width: 970px;
    margin: 0 auto;
    padding: 0 24px; }
  .products-section.has-dark-background .products-section__title,
  .products-section.has-dark-background .products-category > h2 {
    color: #ffffff; }
  .products-section__title {
    margin: 0 0 32px;
    color: #24346f;
    font-size: 32px;
    line-height: 1.2;
    font-weight: 700;
    text-align: center;
    transition: color 0.3s ease;
    padding: 45px 0; }

@media (prefers-reduced-motion: reduce) {
  .products-section {
    transition: none; } }
.products-category + .products-category {
  margin-top: 42px; }
.products-category > h2 {
  margin: 0 0 22px;
  color: #24346f;
  font-size: 28px;
  line-height: 1.2;
  font-weight: 700;
  text-align: center;
  transition: color 0.3s ease; }
.products-category__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 24px; }

.product-card {
  position: relative;
  min-width: 0;
  min-height: 336px;
  padding: 24px 10px 10px;
  background: #fff;
  border-radius: 14px;
  display: flex;
  flex-direction: column;
  overflow: hidden; }
  .product-card__badge {
    position: absolute;
    top: 9px;
    left: 10px;
    z-index: 2;
    min-width: 35px;
    padding: 6px 7px;
    border-radius: 8px;
    background: #24346f;
    color: #fff;
    font-size: 12px;
    line-height: 1;
    font-weight: 500;
    text-align: center;
    text-transform: uppercase; }
  .product-card__image {
    width: 100%;
    min-width: 0;
    height: 134px;
    margin: 0 auto 15px;
    display: flex;
    align-items: center;
    justify-content: center; }
    .product-card__image img {
      width: auto;
      max-width: 100%;
      max-height: 134px;
      object-fit: contain; }
  .product-card__content {
    min-width: 0;
    padding: 0 8px;
    flex: 1; }
  .product-card__title {
    max-width: 100%;
    margin: 0 0 8px;
    color: #24346f;
    font-size: 16px;
    line-height: 1.22;
    font-weight: 700;
    text-transform: uppercase;
    overflow-wrap: anywhere;
    word-break: break-word; }
  .product-card__text {
    max-width: 100%;
    margin: 0;
    color: #24346f;
    font-size: 12px;
    line-height: 1.28;
    font-weight: 400;
    overflow-wrap: anywhere;
    word-break: break-word; }
    .product-card__text p {
      margin: 0;
      max-width: 100%; }
    .product-card__text p + p {
      margin-top: 6px; }
  .product-card__actions {
    min-width: 0;
    margin-top: 17px;
    display: grid;
    gap: 9px; }
  .product-card__button {
    min-height: 38px;
    padding: 10px 14px;
    border-radius: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #24346f;
    font-size: 15px;
    line-height: 1.2;
    font-weight: 700;
    text-align: center;
    text-decoration: none;
    overflow-wrap: anywhere;
    word-break: break-word;
    transition: transform 0.2s ease, box-shadow 0.2s ease; }
    .product-card__button:hover, .product-card__button:focus {
      color: #24346f;
      transform: translateY(-1px);
      text-decoration: none; }
    .product-card__button--primary {
      background: #ffc934; }
    .product-card__button--secondary {
      background: #fff;
      box-shadow: 0 5px 18px rgba(36, 52, 111, 0.08); }
  @media only screen and (max-width: 991px) {
    .product-card__title {
      font-size: 15px; } }

.form_container {
  padding: 44px 0 54px;
  background: #ffffff; }
  .form_container__inner {
    max-width: 1080px;
    margin: 0 auto;
    padding: 0 24px; }
  .form_container__title {
    margin: 0 0 36px;
    color: #24346f;
    font-size: 28px;
    line-height: 1.2;
    font-weight: 700;
    text-align: center;
    text-transform: uppercase; }
  .form_container__panel {
    padding: 34px 34px 31px;
    border-radius: 16px;
    background: #24346c;
    display: grid;
    grid-template-columns: minmax(280px, 0.95fr) minmax(280px, 0.85fr);
    gap: 56px;
    align-items: stretch; }
  .form_container__info {
    min-height: 438px;
    padding: 38px 26px 26px;
    border-radius: 16px;
    background: #ffffff;
    color: #24346f;
    display: flex;
    flex-direction: column; }
  .form_container__icon {
    display: block;
    width: 34px;
    height: auto;
    margin: 0 0 35px; }
  .form_container__intro {
    max-width: 300px;
    margin: 0;
    color: #24346f;
    font-size: 18px;
    line-height: 1.05;
    font-weight: 700; }
  .form_container__contact {
    margin-top: auto;
    color: #24346f;
    font-size: 16px;
    line-height: 1.18;
    font-weight: 400; }
    .form_container__contact address,
    .form_container__contact p {
      margin: 0;
      font-style: normal; }
    .form_container__contact address {
      max-width: 310px;
      padding-bottom: 18px;
      border-bottom: 1px solid rgba(36, 52, 111, 0.36); }
    .form_container__contact p {
      margin-top: 18px; }
    .form_container__contact a {
      color: #24346f;
      text-decoration: underline;
      text-underline-offset: 2px; }
      .form_container__contact a:hover, .form_container__contact a:focus {
        color: #24346f; }
  .form_container__form {
    padding: 20px 14px 0 0;
    display: flex;
    flex-direction: column; }
  .form_container__field + .form_container__field {
    margin-top: 12px; }
  .form_container__field label {
    margin: 0 0 6px;
    display: block;
    color: #ffffff;
    font-size: 12px;
    line-height: 1.2;
    font-weight: 400; }
  .form_container__field input {
    width: 100%;
    min-height: 37px;
    padding: 10px 15px;
    border: 1px solid transparent;
    border-radius: 9px;
    background: #ffffff;
    color: #24346f;
    font-size: 12px;
    line-height: 1.2;
    outline: none;
    transition: border-color 0.2s ease, box-shadow 0.2s ease; }
    .form_container__field input::placeholder {
      color: #9b9b9b;
      opacity: 1; }
    .form_container__field input:focus {
      border-color: #ffcc43;
      box-shadow: 0 0 0 3px rgba(255, 204, 67, 0.28); }
  .form_container__actions {
    margin-top: auto;
    padding-top: 62px;
    display: flex;
    justify-content: flex-end; }
  .form_container__submit {
    min-height: 37px;
    padding: 10px 21px;
    border: 0;
    border-radius: 9px;
    background: #ffcc43;
    color: #24346f;
    font-size: 14px;
    line-height: 1.2;
    font-weight: 700;
    cursor: pointer;
    transition: transform 0.2s ease, box-shadow 0.2s ease; }
    .form_container__submit:hover, .form_container__submit:focus {
      transform: translateY(-1px);
      box-shadow: 0 10px 22px rgba(0, 0, 0, 0.16); }

@media only screen and (max-width: 991px) {
  .products-category__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)); }

  .form_container__panel {
    gap: 28px;
    grid-template-columns: 1fr; }
  .form_container__info {
    min-height: 320px; }
  .form_container__form {
    padding: 0; }
  .form_container__actions {
    padding-top: 26px; } }
@media only screen and (max-width: 575px) {
  .products-section .container {
    padding: 0 16px; }

  .products-category__grid {
    grid-template-columns: 1fr; }

  .form_container {
    padding: 36px 0 42px; }
    .form_container__inner {
      padding: 0 16px; }
    .form_container__title {
      margin-bottom: 26px;
      font-size: 25px; }
    .form_container__panel {
      padding: 18px;
      border-radius: 14px; }
    .form_container__info {
      min-height: 300px;
      padding: 28px 22px 24px;
      border-radius: 14px; }
    .form_container__intro {
      font-size: 17px; }
    .form_container__contact {
      font-size: 15px; }
    .form_container__actions {
      justify-content: stretch; }
    .form_container__submit {
      width: 100%; } }

/*# sourceMappingURL=style.css.map */
