/* ===== BASE: variables, reset, tipografía, utilidades ===== */
@import url("https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600&family=Outfit:wght@500;700;800&display=swap");

:root {
  /* Paleta tomada del sitio de referencia */
  --primary: #ff6600;
  --primary-hover: #ff8533;
  --secondary: #007bd9;
  --dark: #2a2754;
  --light: #f8f9fa;
  --text: #333;
  --muted: #5f6670;
  --font-head: "Outfit", sans-serif;
  --font-body: "Inter", sans-serif;
  --radius: 16px;
  --wrap: 1120px;
}

*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; scroll-padding-top: 80px; }
body { font-family: var(--font-body); color: var(--text); line-height: 1.6; overflow-x: hidden; }
img { max-width: 100%; display: block; }
a { color: inherit; }
:focus-visible { outline: 3px solid var(--secondary); outline-offset: 3px; }

.wrap { width: min(var(--wrap), 100% - 40px); margin-inline: auto; }
.section { padding: 88px 0; }
.section--light { background: var(--light); }
.section--dark { background: var(--dark); color: #fff; }
.section__title { font-family: var(--font-head); font-weight: 800; font-size: clamp(1.9rem, 4vw, 2.6rem); color: var(--dark); line-height: 1.15; margin-bottom: 14px; }
.section--dark .section__title { color: #fff; }
.section__lead { color: var(--muted); max-width: 62ch; margin-bottom: 40px; }

/* Botones */
.btn { display: inline-flex; align-items: center; gap: 8px; padding: 13px 28px; border-radius: 50px; font-weight: 600; text-decoration: none; border: 2px solid transparent; cursor: pointer; transition: transform .2s, background .2s; }
.btn:hover { transform: translateY(-2px); }
.btn--primary { background: var(--primary); color: #fff; }
.btn--primary:hover { background: var(--primary-hover); }
.btn--ghost { border-color: rgba(255,255,255,.6); color: #fff; }
.btn--ghost:hover { background: #fff; color: var(--dark); }
.btn--wa { background: #1fa855; color: #fff; }

@media (prefers-reduced-motion: reduce) { * { animation: none !important; transition: none !important; scroll-behavior: auto !important; } }
