/* Haunt Industries — hauntindustries.com. Automatic light/dark.
   Fonts self-hosted: Montserrat (SIL OFL) 400-600 variable, and a
   modified Montserrat Bold with added discretionary ligatures, renamed
   "Hauntserrat" per the OFL Reserved Font Name clause. */

/* Type ---------------------------------------------------------------- */

@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 400 600;
  font-display: swap;
  src: url('fonts/montserrat-latin-wght.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6,
    U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122,
    U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url('fonts/hauntserrat-latin-700.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6,
    U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122,
    U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

:root {
  color-scheme: light dark;

  --bg: #FBFBFD;
  --surface: #FFFFFF;
  --ink: #1D1D1F;
  --muted: #6E6E73;
  --hair: #D2D2D7;
  --tint: #A5624F;
  --on-tint: #FFFFFF;
}

@media (prefers-color-scheme: dark) {
  :root {
    --bg: #000000;
    --surface: #161617;
    --ink: #F5F5F7;
    --muted: #86868B;
    --hair: #424245;
    --tint: #E0A89A;
    --on-tint: #1D1D1F;
  }
}

* { box-sizing: border-box; }

html { -webkit-text-size-adjust: 100%; }

body {
  margin: 0;
  background: var(--bg);
  color: var(--ink);
  font: 400 16px/1.6 'Montserrat', 'Gotham', 'Avenir Next', 'Futura',
    Helvetica, Arial, sans-serif;
  letter-spacing: normal;
  font-variant-ligatures: common-ligatures discretionary-ligatures;
  -webkit-font-smoothing: antialiased;
}

main {
  max-width: 692px;
  margin: 0 auto;
  padding: clamp(4rem, 12vh, 7.5rem) 22px 0;
}

/* Header ------------------------------------------------------------- */

.wordmark {
  margin: 0;
  font-size: 0.75rem;
  font-weight: 500;      /* wide tracking wants lighter weight */
  letter-spacing: 0.24em; /* em, not rem: tracks this element's own size */
  text-transform: uppercase;
  color: var(--ink);
}

.lead {
  margin: 1.75rem 0 0;
  font-size: clamp(2.75rem, 1.55rem + 5.2vw, 4.25rem);
  font-weight: 700;
  line-height: 1.05;
  letter-spacing: -0.02em;
  text-wrap: balance;
}

/* Non-zero letter-spacing suppresses optional ligatures in most engines;
   zero it on the pair so the f_t ligature can form. */
.lead .lig { letter-spacing: normal; }

.intro {
  margin: 2rem 0 0;
  max-width: 58ch;
  font-size: 1.125rem;
  color: var(--ink);
}

/* Structure ---------------------------------------------------------- */

.note {
  margin: 0.5rem 0 0;
  font-size: 0.875rem;
  line-height: 1.5;
  color: var(--muted);
}

.waitlist-section,
.contact {
  margin-top: 3rem;
}

.waitlist-section h2,
.contact h2 {
  margin: 0 0 0.75rem;
  font-size: 0.75rem;
  font-weight: 600;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--muted);
}

/* Controls ----------------------------------------------------------- */

.wl-cta { margin: 1.25rem 0 0.75rem; }

.wl-btn {
  display: inline-block;
  min-height: 44px;
  line-height: 44px;
  font-weight: 600;
  color: var(--on-tint);
  background: var(--tint);
  border-radius: 980px;
  padding: 0 1.5rem;
  transition: background-color 0.15s ease;
}

.wl-btn:hover {
  background: color-mix(in srgb, var(--tint) 88%, #FFFFFF);
  color: var(--on-tint);
  text-decoration: none;
}

.wl-btn:active {
  background: color-mix(in srgb, var(--tint) 90%, #000000);
}

.wl-btn:focus-visible {
  outline: 2px solid var(--tint);
  outline-offset: 3px;
  border-radius: 980px;
}

/* Contact ------------------------------------------------------------ */

.contact p {
  margin: 0;
  line-height: 1.9;
}

.contact .biz {
  color: var(--muted);
  font-size: 0.875rem;
}

a {
  color: var(--tint);
  text-decoration: none;
  transition: color 0.15s ease;
}

a:hover {
  text-decoration: underline;
  text-underline-offset: 3px;
}

a:focus-visible {
  outline: 2px solid var(--tint);
  outline-offset: 2px;
  border-radius: 3px;
}

/* Footer ------------------------------------------------------------- */
/* Body-level sibling of <main> so it lands the contentinfo landmark;
   mirrors main's column so the layout holds. */

footer {
  width: min(100% - 44px, 648px);
  margin: 4rem auto 0;
  padding: 1.5rem 0 3.5rem;
  border-top: 1px solid var(--hair);
  font-size: 0.75rem;
  line-height: 1.5;
  color: var(--muted);
}

/* Motion ------------------------------------------------------------- */

@media (prefers-reduced-motion: reduce) {
  * { transition: none !important; }
}
