/* ============================================================
   CGAP · Variables, reset, tipografía y utilidades base
   Color de marca: #AD1E77
   ============================================================ */
:root{
  --magenta:#AD1E77;
  --magenta-dark:#85145b;
  --plum:#3a1f30;
  --blush:#f6e3ef;
  --blush-soft:#fbf2f8;
  --cream:#fdfaf7;
  --line:#ecd7e4;
  --text:#473442;
  --muted:#8a7681;
  --white:#fff;
  --radius:18px;
  --shadow:0 18px 40px -22px rgba(133,20,91,.45);
  --shadow-sm:0 8px 22px -16px rgba(133,20,91,.4);
  --maxw:1180px;
  --ease:cubic-bezier(.22,1,.36,1);
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:'Mulish',system-ui,sans-serif;color:var(--text);background:var(--cream);line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:hidden}
h1,h2,h3{font-family:'Fraunces',Georgia,serif;color:var(--plum);line-height:1.08;font-weight:600}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 24px}

/* ===== SECTION SHELL ===== */
section{padding:80px 0}
.sec-head{text-align:center;max-width:640px;margin:0 auto 48px}
.sec-head h2{font-size:clamp(2rem,4vw,2.9rem)}
.sec-head p{color:var(--muted);font-size:1.08rem;margin-top:.7rem}

.eyebrow{display:inline-flex;align-items:center;gap:.5rem;font-size:.78rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--magenta);background:var(--blush);padding:.4rem .9rem;border-radius:100px;margin-bottom:1.2rem}

/* ===== reveal (animación al hacer scroll) ===== */
.reveal{opacity:0;transform:translateY(26px);transition:opacity .7s var(--ease),transform .7s var(--ease)}
.reveal.in{opacity:1;transform:none}
