:root {
  color-scheme: dark;
  --ink: #000;
  --champagne: #bca277;
  --highlight: #ddba87;
  --ivory: #f0dfc6;
  font-family: "Century Gothic", "Avenir Next", "Avenir", "Trebuchet MS", sans-serif;
}
*, *::before, *::after { box-sizing: border-box; }
body { margin: 0; background: var(--ink); color: var(--ivory); }

.landing {
  position: relative;
  isolation: isolate;
  display: grid;
  grid-template-rows: 1fr auto;
  min-height: 100vh;
  min-height: 100svh;
  min-height: max(27rem, 100svh);
  overflow: hidden;
}
.scene {
  position: absolute;
  z-index: -1;
  right: 0;
  bottom: 0;
  width: 100%;
  height: auto;
  pointer-events: none;
  user-select: none;
}
.hero {
  display: grid;
  justify-items: center;
  align-content: center;
  width: min(47.5vw, 66rem);
  justify-self: center;
  text-align: center;
  padding-block-start: min(13vh, 7.75rem);
}
.wordmark { width: 100%; margin: 0; }
.wordmark img {
  display: block;
  width: 100%;
  height: auto;
  color: var(--highlight);
  font-size: clamp(1.65rem, 5vw, 5rem);
  letter-spacing: .12em;
  text-transform: uppercase;
}
.divider {
  width: 100%;
  height: clamp(2px, .23vw, 4px);
  margin-block-start: clamp(.65rem, 1.25vw, 1.3rem);
  background: linear-gradient(90deg, #c3a375, #f0d7ad 53%, #c5a87f);
}
.tagline {
  margin: clamp(.55rem, .9vw, 1rem) 0 0;
  font-size: clamp(1.3rem, 2.72vw, 3.15rem);
  font-weight: 400;
  letter-spacing: .025em;
  line-height: 1.2;
  white-space: nowrap;
}
.launch {
  margin: clamp(2.1rem, 4.3vw, 5.1rem) 0 0;
  color: var(--highlight);
  font-size: clamp(.68rem, 1.68vw, 1.9rem);
  font-weight: 400;
  line-height: 1.5;
  letter-spacing: .38em;
  text-indent: .38em;
  text-transform: uppercase;
}
.contact {
  color: var(--champagne);
  text-align: center;
  font-size: clamp(.77rem, 1.35vw, 1.22rem);
  line-height: 1.55;
  padding: .6rem 1rem calc(clamp(1.25rem, 3.55vh, 2.4rem) + env(safe-area-inset-bottom));
}
.contact a { color: inherit; text-decoration: none; }
.contact a:hover, .contact a:focus-visible {
  color: var(--ivory);
  text-decoration: underline;
  text-underline-offset: .2em;
}
.contact a:focus-visible { outline: 1px solid currentColor; outline-offset: 4px; }

@media (max-width: 650px) {
  .hero { width: 81vw; padding-block-start: 0; }
  .scene { width: max(185vw, 42rem); }
  .tagline { font-size: clamp(1rem, 4.7vw, 1.9rem); }
  .launch { font-size: clamp(.68rem, 2.8vw, .88rem); }
}

@media (max-height: 540px) and (min-width: 651px) {
  .hero { width: min(47.5vw, 34rem); padding-block-start: 2rem; }
  .tagline { font-size: min(2.72vw, 2rem); }
  .launch { margin-top: 1.65rem; font-size: min(1.68vw, 1rem); }
}

@media (forced-colors: active) {
  .divider { background: CanvasText; forced-color-adjust: none; }
  .contact a { text-decoration: underline; }
}
