/* Palette: the owl's purples, a deep ink for text, and plenty of white */
:root {
  --ink: #1e1b4b;
  --muted: #5b5880;
  --white: #ffffff;
  --mist: #faf8ff;
  --lav-50: #f5f3ff;
  --lav-100: #ede9fe;
  --lav-200: #ddd6fe;
  --lav-300: #c4b5fd;
  --violet: #7c3aed;
  --violet-600: #6d28d9;
  --violet-700: #5b21b6;
  --violet-800: #4c1d95;
  --grad: linear-gradient(135deg, #8b5cf6 0%, #7c3aed 45%, #5b21b6 100%);
  --line: #e9e5f7;
  --radius: 18px;
  --shadow: 0 1px 2px rgba(30, 27, 75, .04), 0 12px 32px -16px rgba(76, 29, 149, .22);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 76px; }
body {
  margin: 0;
  font-family: "Rubik", system-ui, "Segoe UI", Arial, sans-serif;
  background: var(--white);
  color: var(--ink);
  line-height: 1.6;
  overflow-x: hidden;
  -webkit-font-smoothing: antialiased;
}
a { color: inherit; }
h1, h2, h3 { line-height: 1.15; margin: 0; }
h2 { font-size: clamp(30px, 4.2vw, 46px); font-weight: 800; letter-spacing: -.5px; }
h2 em, h1 em { font-style: normal; color: var(--violet); }
h3 { font-size: 19px; font-weight: 700; }
.wrap { max-width: 1120px; margin: 0 auto; padding: 0 20px; }
.wrap-narrow { max-width: 760px; }
section { position: relative; padding: 96px 0; }
.kicker {
  display: inline-flex; align-items: center; gap: 10px; color: var(--violet); font-size: 14px; font-weight: 700; letter-spacing: .5px; margin-bottom: 14px;
}
.kicker::before { content: ""; width: 22px; height: 2px; border-radius: 2px; background: currentColor; }
@media (max-width: 700px) { section { padding: 68px 0; } }
