/* Переменные-заглушки, чтобы при отсутствии темы ничего не падало */
:root{
  --radius:16px;
}

*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  font-family:'Manrope',system-ui,sans-serif;
  background:var(--bg);
  color:var(--text);
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
  transition:background .25s ease, color .25s ease;
}

h1,h2,h3{line-height:1.15;font-weight:800;letter-spacing:-.02em}
h2{font-size:clamp(28px,4vw,44px);margin-bottom:16px}

.section-sub{
  color:var(--muted);
  max-width:640px;
  margin-bottom:48px;
  font-size:17px;
}

.btn{
  display:inline-flex;align-items:center;gap:8px;
  padding:14px 26px;border-radius:100px;font-weight:600;
  text-decoration:none;border:none;cursor:pointer;font-size:15px;
  transition:.25s;font-family:inherit;white-space:nowrap;
}
.btn-primary{
  background:var(--accent);
  color:var(--on-accent);
  box-shadow:0 6px 16px var(--accent-soft);
}
.btn-primary:hover{
  background:var(--accent-2);
  transform:translateY(-2px);
}
.btn-ghost{
  background:var(--card);
  color:var(--text);
  border:1px solid var(--line);
}
.btn-ghost:hover{
  border-color:var(--accent);
  color:var(--accent);
  background:var(--accent-soft);
}