/* Montserrat and Open Sans: SIL Open Font License, see fonts/*-OFL.txt */
@font-face {
  font-family: "Montserrat";
  font-weight: 700;
  font-display: swap;
  src: url("/assets/fonts/montserrat-latin-700-normal.woff2") format("woff2");
}
@font-face {
  font-family: "Open Sans";
  font-weight: 400;
  font-display: swap;
  src: url("/assets/fonts/open-sans-latin-400-normal.woff2") format("woff2");
}

:root {
  --bg: #f4eefa;
  --heading: #685369;
  --text: #000;
  --accent: #e5a352;
  --accent-hover: #d48f3a;
}

*, *::before, *::after { box-sizing: border-box; }

body {
  margin: 0;
  background: var(--bg);
  color: var(--text);
  font-family: "Open Sans", system-ui, sans-serif;
  font-size: clamp(1rem, 0.96rem + 0.19vw, 1.125rem);
  line-height: calc(6px + 2ex);
}

.hero {
  min-height: 100vh;
  min-height: 100svh;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 50px;
  padding: 2rem 1.25rem;
  text-align: center;
}

.logo {
  display: block;
  width: min(450px, 100%);
  height: auto;
}

.intro {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 25px;
  max-width: 60%;
}

h1 {
  margin: 0;
  color: var(--heading);
  font-family: "Montserrat", system-ui, sans-serif;
  font-weight: 700;
  font-size: 2.2em;
  line-height: calc(4px + 2ex);
  text-wrap: balance;
}

p { margin: 0; text-wrap: pretty; }

.button {
  display: inline-flex;
  justify-content: center;
  min-width: 15rem;
  padding: 0.75em 1.5em;
  border: 2px solid var(--accent);
  border-radius: 5px;
  background: var(--accent);
  color: #fff;
  font-size: 1.05em;
  line-height: 1.2;
  text-decoration: none;
  transition: background-color 0.2s, border-color 0.2s;
}

.button:hover,
.button:focus-visible {
  background: var(--accent-hover);
  border-color: var(--accent-hover);
}

.button:focus-visible {
  outline: 2px solid var(--heading);
  outline-offset: 3px;
}

@media (max-width: 767px) {
  .hero { gap: 36px; }
  .intro { max-width: 100%; }
  h1 { font-size: 1.9em; }
}
