:root {
  --bg: #e3e3db;
  --bg200: rgba(227, 227, 219, 0.25);
  --fg: #0f0f0f;
  --fg200: #1f1f1f;
  --primary: #6C5CE7;
  --primary-light: #a29bfe;
}

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

html, body {
  overflow-x: hidden;
  width: 100%;
}

body {
  font-family: "Onest";
  background-color: var(--bg);
  color: var(--fg);
}

img {
  position: relative;
  width: 100%;
  height: 100%;
  object-fit: cover;
  will-change: transform;
}

h1, h2, h3, h4, h5 {
  text-transform: uppercase;
  font-family: "Rader", "Onest", sans-serif;
}

.no-transform {
  text-transform: none !important;
}

h1 { font-size: 8vw; font-weight: 600; letter-spacing: -0.02em; line-height: 1.1; }
h2 { font-size: 5vw; font-weight: 600; letter-spacing: -0.02em; line-height: 1.15; }
h3 { font-size: 4vw; font-weight: 600; letter-spacing: -0.02em; line-height: 1.15; }
h4 { font-size: 2vw; font-weight: 600; letter-spacing: -0.005em; line-height: 1.2; }
h5 { font-size: 1.25rem; }

p {
  font-family: "Onest";
  font-size: 1rem;
  font-weight: 600;
  -webkit-font-smoothing: antialiased;
}

p.primary {
  text-transform: uppercase;
  font-family: "Onest";
  font-size: 1rem;
  font-weight: 600;
  letter-spacing: 0.04em;
}

p.secondary {
  font-family: "Onest";
  font-size: 1rem;
  font-weight: 600;
}

p.primary.sm {
  text-transform: uppercase;
  font-family: "Onest";
  font-size: 0.8rem;
  font-weight: 600;
  letter-spacing: 0.04em;
}

p.secondary.sm {
  font-family: "Onest";
  font-size: 0.8rem;
  font-weight: 600;
}

a {
  display: block;
  text-decoration: none;
  text-transform: uppercase;
  color: var(--fg);
  font-family: "Onest";
  font-size: 0.8rem;
  font-weight: 600;
}

button { outline: none; border: none; cursor: pointer; }

input, textarea, input:active, input:focus, textarea:active, textarea:focus {
  border: none;
  outline: none;
  width: 100%;
  padding: 1em;
  font-family: "Onest";
  font-size: 1rem;
  font-weight: 600;
  border-radius: 0.5rem;
}

input::placeholder, textarea::placeholder {
  font-family: "Onest";
  font-size: 1rem;
  font-weight: 600;
}

.btn {
  text-decoration: none;
  text-transform: uppercase;
  display: block;
  width: max-content;
  padding: 1em 2em;
  font-family: "Onest";
  font-size: 0.8rem;
  font-weight: 600;
  letter-spacing: 0.04em;
  border-radius: 0.4em;
  background-color: var(--fg);
  color: var(--bg);
  cursor: pointer;
  transition: background-color 0.3s, transform 0.2s;
}

.btn:hover {
  background-color: var(--primary);
  transform: translateY(-2px);
}

@media (max-width: 1000px) {
  h1 { font-size: 14vw; line-height: 1.1; }
  h2 { font-size: 10vw; line-height: 1.15; }
  h3 { font-size: 8vw; line-height: 1.15; }
  h4 { font-size: 6vw; line-height: 1.2; }
}
