/* FORGE — Homepage
   A quiet story sequence: opening, record, promise, begin.
*/

.opening-home {
  min-height: 100svh;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: calc(var(--space-24) + 56px) var(--side-pad) var(--space-24);
  text-align: center;
}

.opening-home__inner {
  max-width: 720px;
  margin: 0 auto;
}

.opening-home__title {
  margin: 0 auto;
  max-width: 16ch;
  color: var(--bone);
  font-family: var(--font-serif);
  font-size: clamp(2.7rem, 7.4vw, 5.6rem);
  font-style: italic;
  font-weight: var(--weight-light);
  line-height: 0.96;
  letter-spacing: -0.035em;
}

.opening-home__body {
  margin: var(--space-8) auto 0;
  max-width: 38ch;
  color: var(--n7);
  font-family: var(--font-sans);
  font-size: var(--text-sm);
  font-weight: var(--weight-medium);
  letter-spacing: 0.18em;
  line-height: var(--leading-relaxed);
}

.opening-home .ember,
.promise-home .ember {
  margin-top: var(--space-10);
}

.record-home {
  padding-top: var(--space-32);
  padding-bottom: var(--space-32);
}

.record-home__copy {
  max-width: 740px;
  margin: 0 auto;
}

.record-home__title {
  margin: 0 0 var(--space-8);
  color: var(--bone);
  font-family: var(--font-serif);
  font-size: clamp(2.25rem, 5vw, 4.25rem);
  font-weight: var(--weight-light);
  line-height: var(--leading-tight);
  letter-spacing: -0.03em;
}

.record-home__text {
  max-width: 58ch;
  color: var(--n7);
  font-family: var(--font-serif);
  font-size: clamp(1.1rem, 1.7vw, 1.35rem);
  font-weight: var(--weight-light);
  line-height: 1.75;
}

.record-home__text p + p {
  margin-top: 1.35em;
}

.record-home .arc-container {
  margin: var(--space-16) 0 var(--space-8);
  min-height: 150px;
}

.record-home__scar {
  max-width: 58ch;
  color: var(--bone);
  font-family: var(--font-serif);
  font-size: clamp(1.05rem, 1.5vw, 1.22rem);
  font-style: italic;
  font-weight: var(--weight-light);
  line-height: var(--leading-relaxed);
}

.promise-home {
  min-height: 72svh;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: var(--space-24) var(--side-pad);
  text-align: center;
}

.promise-home__inner {
  max-width: 900px;
  margin: 0 auto;
}

.promise-home__quote {
  margin: 0 auto;
  max-width: 23ch;
  color: var(--bone);
  font-family: var(--font-serif);
  font-size: clamp(2.1rem, 5.8vw, 4.8rem);
  font-style: italic;
  font-weight: var(--weight-light);
  line-height: 1.05;
  letter-spacing: -0.035em;
}

.begin-home {
  padding: clamp(5rem, 10vw, 8rem) var(--side-pad);
  text-align: center;
}

.begin-home .section__inner {
  max-width: 760px;
  display: flex;
  flex-direction: column;
  align-items: center;
}

.begin-home__title {
  width: 100%;
  margin: 0 auto;
  color: var(--bone);
  font-family: var(--font-serif);
  font-size: clamp(2rem, 4.2vw, 3.35rem);
  font-weight: var(--weight-light);
  line-height: var(--leading-tight);
  letter-spacing: -0.025em;
  text-align: center;
}

.begin-home__body {
  width: 100%;
  margin: var(--space-4) auto var(--space-8);
  color: var(--n6);
  font-family: var(--font-sans);
  font-size: var(--text-sm);
  line-height: var(--leading-relaxed);
  text-align: center;
}

@media (max-width: 640px) {
  .opening-home {
    min-height: 92svh;
    padding-top: calc(var(--space-20) + 56px);
  }

  .record-home {
    padding-top: var(--space-24);
    padding-bottom: var(--space-24);
  }

  .begin-home {
    padding-top: var(--space-20);
    padding-bottom: var(--space-20);
  }

  .begin-home .btn-primary {
    width: min(100%, 360px);
  }

  .promise-home {
    min-height: 64svh;
  }
}
