@import url('https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@400;500;600;700&family=Inter:wght@300;400;500;600;700&display=swap');

:root{
  --font-heading:'Space Grotesk', sans-serif;
  --font-body:'Inter', sans-serif;
  --font:var(--font-body);

  --fs-h1: clamp(2.4rem, 1.8rem + 3vw, 4.2rem);
  --fs-h2: clamp(1.8rem, 1.5rem + 1.5vw, 2.75rem);
  --fs-h3: clamp(1.4rem, 1.2rem + 1vw, 1.9rem);
  --fs-h4: clamp(1.15rem, 1.05rem + .5vw, 1.4rem);
  --fs-h5: 1.1rem;
  --fs-h6: 1rem;
  --fs-body: 1rem;
  --fs-small: .85rem;
}

body,input,textarea,select,button{
  font-family:var(--font-body);
  font-size:var(--fs-body);
  font-synthesis:none;
  text-rendering:optimizeLegibility;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
}

h1,h2,h3,h4,h5,h6{
  font-family:var(--font-heading);
  font-weight:600;
  line-height:1.15;
  letter-spacing:-.02em;
}
h1{ font-size:var(--fs-h1); font-weight:700; letter-spacing:-.03em; }
h2{ font-size:var(--fs-h2); }
h3{ font-size:var(--fs-h3); }
h4{ font-size:var(--fs-h4); }
h5{ font-size:var(--fs-h5); }
h6{ font-size:var(--fs-h6); }

strong,b{ font-weight:600; }
small{ font-size:var(--fs-small); }

.fw-light{ font-weight:300; }
.fw-regular{ font-weight:400; }
.fw-medium{ font-weight:500; }
.fw-bold{ font-weight:700; }

.text-lead{ font-size:1.2rem; line-height:1.6; color:var(--text-muted); }
.text-caps{ text-transform:uppercase; letter-spacing:.08em; font-weight:600; }
.text-muted{ color:var(--text-muted); }

::selection{ background:var(--primary, #7C5CFF); color:#fff; }
