/* base.css: reset + variables + tipografía */
:root{
    /* Light theme variables (inspired by target site) */
    --bg: #ffffff;
    --surface: #ffffff;
    --surface-2: #f7f7fb;
    --text: #0b1220;
    --muted: #6b7280;
    --border: rgba(11,18,32,0.06);

    --primary: #7c5cff;
    --primary-2: #9d87ff;

    --radius: 18px;
    --shadow: 0 12px 28px rgba(11,18,32,.06);

    --max: 1120px;
  }
  
  *,
  *::before,
  *::after { box-sizing: border-box; }
  
  html { scroll-behavior: smooth; }
  
  body{
    margin: 0;
    font-family: 'Inter', system-ui, -apple-system, 'Segoe UI', Roboto, Arial, sans-serif;
    background: var(--bg);
    color: var(--text);
    line-height: 1.55;
  }
  
  img{ max-width: 100%; display:block; }
  a{ color: inherit; text-decoration: none; }
  a:hover{ opacity: .92; }

/* Prevent background scroll when mobile menu is open */
body.menu-open{ overflow: hidden; position: fixed; width: 100%; }
  
  .container{
    width: min(var(--max), calc(100% - 2rem));
    margin-inline: auto;
  }
  
  .section{ padding: 72px 0; }
  .section.alt{ background: linear-gradient(180deg, transparent, rgba(255,255,255,.02), transparent); }
  
  h1,h2,h3{ line-height: 1.1; margin: 0 0 .6rem; font-family: 'Montserrat', system-ui, sans-serif; }
  p{ margin: 0 0 1rem; color: var(--muted); }
  small{ color: var(--muted); }
  