@font-face {
  font-family: 'Rosarivo';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/rosarivo/v22/PlI-Fl2lO6N9f8HaNDeF0Hk.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: 'Alice';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/alice/v20/OpNCnoEEmtHa6GcArg7shw.woff2) format('woff2');
  unicode-range: U+0100-02AF, U+0304, U+0308, U+0329, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

*, ::before, ::after {
  box-sizing: border-box;
}

html {
  font-size: 10px;
}

body {
  padding: 0;
  margin: 0;
}

.page-wrapper {
  width: 100%;
  height: 100vh;
  background-color: #451B2A;
}

.bg {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 0;
  overflow: hidden;
}

.top-left {
  width: 33.5rem;
  height: 24rem;
  position: absolute;
  top: 0;
  left: 0;
}

.bottom-right {
  width: 17.6rem;
  height: 20.4rem;
  position: absolute;
  bottom: 0;
  right: 0;
}

.bg-svg {
  width: 100%;
  height: 100%;
}

.content {
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 18rem;
  z-index: 1;
}

.content .text {
  max-width: 56rem;
  display: flex;
  flex-direction: column;
  gap: 4.5rem;
}

.content .text .title {
  font-family: 'Rosarivo', serif;
  font-size: 12.8rem;
  line-height: 16.2rem;
  color: white;
}

.content .text .image-mobile {
  display: none;
}

.content .text .info {
  display: flex;
  flex-direction: column;
  gap: 2rem;
  font-family: 'Alice', serif;
  font-size: 3.2rem;
  line-height: 3.5rem;
  color: white;
}

.content .image {
  max-width: 87.5rem;
}

.content-img {
  width: 100%;
}

@media only screen and (max-width: 1760px) {
  html {
    font-size: 8px;
  }
}

@media only screen and (max-width: 1441px) {
  html {
    font-size: 6px;
  }
}

@media only screen and (max-width: 1025px) {
  html {
    font-size: 4px;
  }
}

@media only screen and (max-width: 769px) {
  html {
    font-size: 5px;
  }

  .content .image {
    display: none;
  }

  .content .text {
    text-align: center;
  }

  .content .text .title {
    font-size: 8rem;
    line-height: 12rem;
  }

  .content .text .image-mobile {
    display: unset;
  }
}

@media only screen and (max-width: 426px) {
  html {
    font-size: 4px;
  }
}