:root {
  --night: #050506;
  --ink: #e9e6df;
  --dim: #8a877f;
  --faint: #4a4843;
  --dawn: #f2b774;
  color-scheme: dark;
}

* { box-sizing: border-box; margin: 0; }

html, body { height: 100%; }

body {
  background: var(--night);
  color: var(--ink);
  font-family: "Iowan Old Style", "Palatino Linotype", Palatino, "Book Antiqua", Georgia, serif;
  display: grid;
  grid-template-rows: 1fr auto;
  min-height: 100svh;
  overflow: hidden;
  -webkit-font-smoothing: antialiased;
}

/* First light: a low warm glow that rises out of the dark, once, on arrival. */
.horizon {
  position: fixed;
  inset: auto -20vw -62vh -20vw;
  height: 100vh;
  background: radial-gradient(ellipse 50% 42% at 50% 100%,
    rgba(242, 183, 116, 0.22) 0%,
    rgba(196, 110, 70, 0.10) 38%,
    rgba(60, 40, 60, 0.05) 62%,
    transparent 78%);
  opacity: 0;
  transform: translateY(8vh);
  animation: dawn 5.5s cubic-bezier(.2, .6, .2, 1) .4s forwards;
  pointer-events: none;
}

.horizon::after {
  content: "";
  position: absolute;
  left: 22%;
  right: 22%;
  top: 38%;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(242, 183, 116, 0.35), transparent);
}

main {
  position: relative;
  align-self: center;
  justify-self: center;
  text-align: center;
  padding: 0 24px;
}

.mark {
  font-weight: 400;
  font-size: clamp(2.4rem, 7vw, 4.6rem);
  letter-spacing: 0.42em;
  margin-right: -0.42em; /* balance trailing tracking */
  text-transform: uppercase;
  opacity: 0;
  animation: rise 2.4s ease-out .2s forwards;
}

.line {
  margin-top: 1.6rem;
  font-style: italic;
  color: var(--dim);
  font-size: clamp(1rem, 2.2vw, 1.2rem);
  letter-spacing: 0.02em;
  opacity: 0;
  animation: rise 2.4s ease-out 1.2s forwards;
}

.line a { color: inherit; text-underline-offset: 0.2em; }

.product {
  margin-top: 4.5rem;
  display: inline-flex;
  align-items: center;
  gap: 0.9rem;
  font-family: ui-sans-serif, "Segoe UI", system-ui, -apple-system, sans-serif;
  font-size: 0.72rem;
  letter-spacing: 0.28em;
  text-transform: uppercase;
  opacity: 0;
  animation: rise 2.4s ease-out 2.4s forwards;
}

.product .name { color: var(--ink); }
.product .rule { width: 2.2rem; height: 1px; background: var(--dawn); opacity: 0.6; }
.product .status { color: var(--dim); }

footer {
  position: relative;
  text-align: center;
  padding: 0 16px 28px;
  font-family: ui-sans-serif, "Segoe UI", system-ui, sans-serif;
  font-size: 0.68rem;
  letter-spacing: 0.18em;
  color: var(--faint);
}

@keyframes rise {
  from { opacity: 0; transform: translateY(6px); }
  to { opacity: 1; transform: none; }
}

@keyframes dawn {
  to { opacity: 1; transform: none; }
}

@media (prefers-reduced-motion: reduce) {
  .horizon, .mark, .line, .product { animation: none; opacity: 1; transform: none; }
}
