:root {
  --red: #FF3131;
  --white: #FAF6E8;
  --black: #042830;
  --triangle-size: min(48vw, 48vh);
}

* {
  box-sizing: border-box;
}

body {
  margin: 0;
  min-height: 100vh;
  background: var(--white);
  color: var(--black);
  overflow-x: hidden;
  overflow-y: auto;
  font-family: "Anton", sans-serif;
}

.corner-triangle {
  position: absolute;
  top: 0;
  left: 0;
  width: 0;
  height: 0;
  border-top: var(--triangle-size) solid var(--red);
  border-right: var(--triangle-size) solid transparent;
}

.heading-wrap {
  position: absolute;
  top: 3vw;
  right: 4vw;
  left: 4vw;
  width: auto;
  max-width: none;
  padding-right: 0;
  text-align: right;
  color: var(--black);
  line-height: 1;
  z-index: 2;
}

.heading-wrap h1 {
  margin: 0;
  font-size: clamp(5rem, 16vw, 14rem);
  font-weight: 400;
  letter-spacing: 0.03em;
}

.heading-wrap p {
  margin: 1vw 0 0;
  font-size: clamp(1rem, 1.9vw, 5rem);
  font-weight: 400;
  letter-spacing: 0.02em;
}

.home-content {
  position: relative;
  width: 56vw;
  max-width: 56vw;
  margin: 18vw auto 6vw;
  text-align: center;
  font-family: sans-serif;
  line-height: 1.5;
}

.home-content img {
  display: block;
  max-width: 100%;
  height: auto;
  margin: 1.5vw auto;
}

.content-box {
  margin: 2vw 0;
  padding: 1.5vw 1.75vw;
  border: 0.2vw solid var(--black);
  background: rgba(250, 246, 232, 0.8);
  text-align: left;
}

.content-box-title {
  margin: 0 0 0.8vw;
  font-family: "Anton", sans-serif;
  font-size: 2vw;
  letter-spacing: 0.02em;
  line-height: 1;
}

.content-box-body > :first-child {
  margin-top: 0;
}

.content-box-body > :last-child {
  margin-bottom: 0;
}

.home-content > :first-child {
  margin-top: 0;
}

.home-content > :last-child {
  margin-bottom: 0;
}

@media (max-width: 768px) {
  .heading-wrap {
    top: 4vw;
    right: 4vw;
    left: 4vw;
    width: auto;
    max-width: none;
    padding-right: 0;
  }

  .heading-wrap h1 {
    font-size: clamp(4rem, 28vw, 9rem);
    letter-spacing: 0.02em;
  }

  .heading-wrap p {
    font-size: clamp(1rem, 4.5vw, 1.6rem);
  }

  .home-content {
    width: 92vw;
    max-width: none;
    margin: 42vw auto 10vw;
  }

  .content-box {
    margin: 6vw 0;
    padding: 4vw;
    border-width: 0.7vw;
  }

  .content-box-title {
    margin-bottom: 2vw;
    font-size: 6vw;
  }
}


