* { margin: 0; padding: 0; box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  font-family: var(--sans);
  background: var(--cream);
  color: var(--ink);
  overflow-x: hidden;
  -webkit-font-smoothing: antialiased;
}
a { color: var(--red-ink); text-decoration: none; }
a:hover { color: var(--green); }
h1, h2, h3 { font-family: var(--serif); font-weight: 400; }
input, textarea, button, select { font: inherit; }
[hidden] { display: none !important; }
.wrap { max-width: 1280px; margin: 0 auto; padding-left: clamp(20px,5vw,64px); padding-right: clamp(20px,5vw,64px); }
.eyebrow { font-size: 13px; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; color: var(--ink-muted); }
.btn { display: inline-flex; align-items: center; justify-content: center; min-height: 48px; padding: 0 26px; border-radius: 999px; font-weight: 600; font-size: 16px; border: none; cursor: pointer; }
.btn-red { background: var(--red); color: #fff; }
.btn-red:hover { background: var(--red-dark); color: #fff; }
.btn-line { border: 1.5px solid var(--ink); color: var(--ink); background: none; }
.btn-line:hover { background: var(--ink); color: var(--cream); }
.btn[disabled] { opacity: .6; cursor: wait; }
