:root {
  color-scheme: dark;
  font-family: "Noto Serif SC", "Songti SC", "STSong", serif;
  background: #251020;
}

* { box-sizing: border-box; }

html, body { min-height: 100%; }

body { margin: 0; }

.hero {
  position: relative;
  min-height: 100svh;
  display: grid;
  place-items: center start;
  overflow: hidden;
  color: #fffaf3;
  background: #2b1126 url("/birthday-hero.png") center / cover no-repeat;
}

.shade {
  position: absolute;
  inset: 0;
  background:
    linear-gradient(90deg, rgba(27, 8, 24, .92), rgba(36, 11, 30, .7) 43%, rgba(36, 11, 30, .08) 78%),
    linear-gradient(0deg, rgba(20, 6, 18, .38), transparent 44%);
}

.content {
  position: relative;
  width: min(1120px, calc(100% - 44px));
  margin: 0 auto;
  padding: 70px 0;
}

.eyebrow {
  margin: 0 0 20px;
  color: #f2c68f;
  font: 600 .72rem/1.4 ui-sans-serif, system-ui, sans-serif;
  letter-spacing: .28em;
}

h1 {
  margin: 0;
  font-size: clamp(4rem, 10vw, 8rem);
  font-weight: 500;
  line-height: 1;
  letter-spacing: -.07em;
  text-shadow: 0 16px 50px rgba(20, 6, 18, .3);
}

.subtitle {
  margin: 30px 0 0;
  color: rgba(255, 250, 243, .76);
  font-size: clamp(1rem, 2vw, 1.2rem);
  letter-spacing: .06em;
}

.footnote {
  position: absolute;
  left: 50%;
  bottom: 26px;
  z-index: 1;
  margin: 0;
  transform: translateX(-50%);
  color: rgba(255,255,255,.56);
  font: .65rem/1 ui-sans-serif, system-ui, sans-serif;
  letter-spacing: .18em;
  text-transform: uppercase;
  white-space: nowrap;
}

@media (max-width: 700px) {
  .hero { place-items: end start; background-position: 62% center; }
  .shade { background: linear-gradient(180deg, rgba(30, 8, 25, .36), rgba(28, 7, 24, .88)); }
  .content { padding-bottom: 120px; }
  h1 { font-size: clamp(4rem, 20vw, 6rem); }
}

