:root {
  --color-ink: #172024;
  --color-muted: #627078;
  --color-soft: #fff8ec;
  --color-card: #ffffff;
  --color-white: #ffffff;
  --color-maple: #b23a2f;
  --color-maple-dark: #7f251f;
  --color-gold: #e8a94f;
  --color-green: #31664b;
  --shadow-soft: 0 24px 70px rgba(55, 43, 31, .13);
  --shadow-card: 0 16px 34px rgba(55, 43, 31, .08);
  --radius-xl: 34px;
  --radius-lg: 24px;
  --radius-md: 18px;
  --max-width: 1180px;
}

* { box-sizing: border-box; }

html { scroll-behavior: smooth; }

body {
  margin: 0;
  font-family: Inter, Arial, sans-serif;
  color: var(--color-ink);
  background:
    radial-gradient(circle at 8% 4%, rgba(232, 169, 79, .22), transparent 28%),
    radial-gradient(circle at 92% 2%, rgba(178, 58, 47, .12), transparent 26%),
    linear-gradient(180deg, #fff8ec 0%, #fff3df 54%, #fffaf3 100%);
  line-height: 1.55;
}

body.menu-open { overflow: hidden; }

img {
  max-width: 100%;
  display: block;
}

a {
  color: inherit;
  text-decoration: none;
}

button,
input,
textarea,
select { font: inherit; }

h1,
h2,
h3,
p { margin-top: 0; }

h1,
h2,
h3 {
  font-family: "Space Grotesk", Inter, sans-serif;
  letter-spacing: -.04em;
}

h1 {
  margin-bottom: 24px;
  font-size: clamp(3rem, 8vw, 7.2rem);
  line-height: .9;
}

h2 {
  margin-bottom: 16px;
  font-size: clamp(2.1rem, 4.5vw, 4.6rem);
  line-height: .98;
}

h3 {
  margin-bottom: 10px;
  font-size: 1.35rem;
}

p { color: var(--color-muted); }

::selection {
  color: var(--color-white);
  background: var(--color-maple);
}
