  :root{
    --ink:#10182B;
    --navy:#1E2F4F;
    --navy-light:#2B4269;
    --paper:#EDEAE2;
    --paper-2:#E3DFD3;
    --ash:#5B6472;
    --ash-light:#8A93A1;
    --brass:#A9803C;
    --brass-light:#C9A05F;
    --line:#D3CDBC;
    --line-dark:#33456B;
    --white:#FBFAF7;
    --serif: 'Source Serif 4', Georgia, serif;
    --sans: 'IBM Plex Sans', -apple-system, sans-serif;
    --mono: 'IBM Plex Mono', monospace;
    --maxw: 1120px;
  }
  *{box-sizing:border-box; margin:0; padding:0;}
  html{scroll-behavior:smooth;}
  body{
    font-family: var(--sans);
    background: var(--paper);
    color: var(--ink);
    line-height:1.55;
    -webkit-font-smoothing:antialiased;
  }
  img{max-width:100%; display:block;}
  a{color:inherit; text-decoration:none;}
  .wrap{max-width:var(--maxw); margin:0 auto; padding:0 32px;}
  h1,h2,h3{font-family:var(--serif); font-weight:600; line-height:1.15; letter-spacing:-0.01em;}
  .eyebrow{
    font-family:var(--mono); font-size:12.5px; color:var(--brass);
    letter-spacing:0.02em; margin-bottom:14px; display:flex; align-items:center; gap:10px;
  }
  .eyebrow::before{content:""; width:22px; height:1px; background:var(--brass); display:inline-block;}
  section{padding:96px 0;}
  @media(max-width:720px){ section{padding:64px 0;} .wrap{padding:0 20px;} }


  /* ---------- Botones ---------- */
  .btn{
    display:inline-flex; align-items:center; justify-content:center;
    padding:15px 28px; font-family:var(--sans); font-weight:600; font-size:15px;
    border-radius:2px; cursor:pointer; border:1px solid transparent; transition: background .15s ease, color .15s ease, border-color .15s ease;
  }
  .btn-primary{ background:var(--brass); color:var(--ink); }
  .btn-primary:hover{ background:var(--brass-light); }
  .btn-outline-dark{ border-color: rgba(16,24,43,0.25); color:var(--ink); background:transparent; }
  .btn-outline-dark:hover{ border-color:var(--ink); background:var(--ink); color:var(--white); }
  .btn-outline-light{ border-color: rgba(251,250,247,0.35); color:var(--white); background:transparent; }
  .btn-outline-light:hover{ border-color:var(--white); background:var(--white); color:var(--ink); }
  .btn-text{ font-family:var(--sans); font-weight:600; font-size:14.5px; border-bottom:1px solid currentColor; padding-bottom:2px; }


  ::selection{ background:var(--brass); color:var(--ink);}


  /* ---------- WhatsApp flotante ---------- */
  .wa-float{
    position:fixed; right:20px; bottom:20px; z-index:9997;
    width:56px; height:56px; border-radius:50%;
    background:#2E4A3B; color:var(--white);
    display:flex; align-items:center; justify-content:center;
    box-shadow:0 10px 24px rgba(16,24,43,0.3);
    transition: background .15s ease, transform .15s ease;
  }
  .wa-float:hover{ background:#375A47; transform:translateY(-2px); }
  .wa-float svg{ width:28px; height:28px; }
  @media(max-width:720px){
    .wa-float{ right:16px; bottom:16px; width:50px; height:50px; }
    .wa-float svg{ width:24px; height:24px; }
  }
