body {
  background: #f2efe6;
  font-family: Inter, Arial, sans-serif;
  font-weight: 400;
}

.site-head {
  height: 76px;
  padding: 16px max(5vw, 20px) 0;
  align-items: flex-start;
  background: #dceef2;
  border-bottom: 0;
}

.site-head .brand {
  width: 160px;
  aspect-ratio: 992 / 304;
  border-radius: 16px;
  overflow: hidden;
  box-shadow: none;
}

.site-head .brand img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.home-link {
  min-height: 32px;
  padding: 0;
  display: inline-flex;
  align-items: center;
  background: transparent;
  color: #243f92;
  font: 400 13px Onest, Arial, sans-serif;
  text-decoration: none;
}

.home-link:hover,
.home-link:focus-visible {
  background: transparent;
  color: #171816;
}

.draft-note {
  padding: 11px clamp(20px, 3vw, 50px);
  background: #ffd166;
  color: #171816;
  font-size: 12px;
}

.page-top {
  display: flex;
  flex-direction: column;
  background: #dceef2;
}

.page-intro {
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(250px, .55fr);
  align-items: end;
  gap: 6vw;
  min-height: calc(100vh - 76px);
  min-height: calc(100dvh - 76px);
  padding: 88px max(5vw, 20px) 95px;
  background: #dceef2;
  color: #171816;
}

.page-intro h1,
.section-side h2 {
  font-family: Onest, Arial, sans-serif;
  font-weight: 700;
}

.page-intro h1 {
  max-width: 1000px;
  margin: 0;
  font-size: clamp(58px, 6.8vw, 100px);
  line-height: .95;
}

.page-intro h1 em {
  color: #ff5f3d;
  font-style: normal;
}

.page-intro > p:last-child {
  max-width: 320px;
  margin: 0 0 9px;
  color: #5b615c;
  font-size: 16px;
  line-height: 1.55;
}

.document-section {
  --band: #243f92;
  --band-text: #fffdf7;
  --reading: #fffdf7;
  position: relative;
  isolation: isolate;
  grid-template-columns: minmax(260px, 35%) minmax(0, 1fr);
  gap: 6%;
  padding-block: 75px;
  background: var(--reading);
  border-color: rgba(23, 24, 22, .15);
}

.document-section::before {
  content: "";
  position: absolute;
  inset: 0 auto 0 0;
  width: 39%;
  background: var(--band);
  z-index: 0;
}

.document-section > * {
  position: relative;
  z-index: 1;
}

#consent {
  --band: #ff624a;
  --band-text: #171816;
  --reading: #f3eee5;
}

#requisites {
  --band: #ffd166;
  --band-text: #171816;
}

#offer {
  --band: #171816;
  --reading: #f3eee5;
}

#refund {
  --band: #b9dfd0;
  --band-text: #171816;
  border-bottom: 0;
}

.document-section.alt {
  background: var(--reading);
}

.section-side {
  position: sticky;
  top: 30px;
  align-self: start;
  color: var(--band-text);
}

.section-side > span {
  color: inherit;
  opacity: .75;
}

.section-side h2 {
  margin-top: 0;
  font-size: clamp(32px, 3.05vw, 49px);
  line-height: 1.04;
  color: inherit;
}

.document-body {
  max-width: 760px;
  color: #303530;
  line-height: 1.65;
}

.document-body h3 {
  color: #171816;
  font: 600 20px/1.25 Onest, Arial, sans-serif;
}

.document-body strong,
.draft-note strong,
.details dd {
  font-weight: 500;
}

.details > div {
  border-color: rgba(23, 24, 22, .15);
}

.page-footer {
  position: relative;
  isolation: isolate;
  align-items: center;
  padding: 6px max(5vw, 20px) 24px;
  background: #fffdf7;
  color: #171816;
  border: 0;
}

.page-footer::before {
  content: "";
  position: absolute;
  inset: 0 auto 0 0;
  width: 39%;
  background: #b9dfd0;
  z-index: 0;
}

.page-footer > * {
  position: relative;
  z-index: 1;
}

.page-footer > a:last-child {
  color: #243f92;
  font: 400 13px Onest, Arial, sans-serif;
  text-decoration: none;
}

.page-footer > a:last-child:hover,
.page-footer > a:last-child:focus-visible {
  color: #171816;
}

.footer-brand {
  display: block;
  width: 145px;
  aspect-ratio: 992 / 304;
  overflow: hidden;
  border-radius: 14px;
}

.footer-brand img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

@media (max-width: 900px) {
  .site-head {
    height: 64px;
    padding-top: 14px;
  }

  .site-head .brand {
    width: 108px;
    border-radius: 11px;
  }

  .footer-brand {
    width: 118px;
    border-radius: 11px;
  }

  .home-link {
    min-height: 28px;
    font-size: 12px;
  }

  .page-intro {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-end;
    gap: 26px;
    min-height: calc(100vh - 64px);
    min-height: calc(100dvh - 64px);
    padding: 90px 20px 80px;
  }

  .page-intro h1 {
    font-size: clamp(47px, 12vw, 58px);
  }

  .page-intro > p:last-child {
    max-width: 350px;
    font-size: 15px;
  }

  .page-footer {
    padding: 18px 20px;
    background: #b9dfd0;
  }

  .page-footer::before {
    display: none;
  }

  .document-section {
    padding: 0;
  }

  .document-section::before {
    display: none;
  }

  .section-side {
    position: static;
    padding: 40px 20px 37px;
    background: var(--band);
  }

  .document-body {
    padding: 36px 20px 48px;
  }

  .details > div {
    grid-template-columns: 1fr;
    gap: 3px;
  }

  .section-side h2 {
    font-size: 36px;
    margin-bottom: 0;
  }

  .document-body h3 {
    font-size: 18px;
  }
}
