/* ===========================================================
   IPSE · base.css
   Reset, tipografía y componentes compartidos (banner de página)
   =========================================================== */
*,*::before,*::after{box-sizing:border-box}
/* Foco visible solo para navegación con teclado (accesibilidad) */
:focus:not(:focus-visible){outline:none}
:focus-visible{outline:3px solid rgb(204 0 0 / .55);outline-offset:2px;border-radius:4px}
/* scroll-padding evita que el header fijo tape el inicio de cada sección al usar anclas */
html{scroll-behavior:smooth;scroll-padding-top:88px}
/* Transiciones de página tipo app (View Transitions API). Progresivo:
   los navegadores que no lo soportan navegan normal. */
@view-transition{navigation:auto}
::view-transition-old(root){animation-duration:.28s}
::view-transition-new(root){animation-duration:.28s}
@media(prefers-reduced-motion:reduce){@view-transition{navigation:none}}
body{margin:0;font-family:system-ui,Arial,sans-serif;background:#fff;color:#0f172a}
img{max-width:100%}
/* Campo trampa anti-spam (oculto a las personas, lo llenan los bots) */
.hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;opacity:0;pointer-events:none}
/* Botón de WhatsApp dentro de los mensajes de éxito de los formularios */
.frm-ok-wa{display:inline-block;margin-top:10px;background:#16a34a;color:#fff;padding:10px 18px;border-radius:999px;font:800 13.5px/1 system-ui,Arial;text-decoration:none;box-shadow:0 6px 18px rgb(22 163 74 / .24);transition:background .15s ease}
.frm-ok-wa:hover{background:#15803d}

/* Banner superior reutilizable (Cursos, etc.) */
.pg-hero{--red:#FF2C2C;--redD:#B40017;--redDp:#6B0010;--ink:#0f172a;width:100%;position:relative;overflow:hidden;background:#fff;padding:clamp(46px,6vw,76px) clamp(16px,4vw,48px) clamp(36px,4vw,56px)}
.pg-hero::before{content:"";position:absolute;inset:0;pointer-events:none;z-index:0;background:radial-gradient(ellipse 60% 60% at 100% 0%,rgb(255 44 44 / .08),transparent 60%),radial-gradient(ellipse 50% 55% at 0% 100%,rgb(255 44 44 / .05),transparent 55%)}
.pg-hero-in{position:relative;z-index:1;max-width:1380px;margin:0 auto;text-align:center}
.pg-crumbs{display:inline-flex;align-items:center;gap:8px;font:700 12px/1 system-ui,Arial;color:#94a3b8;margin-bottom:16px}
.pg-crumbs a{color:#94a3b8;text-decoration:none;transition:color .15s ease}
.pg-crumbs a:hover{color:var(--redD)}
.pg-crumbs span{color:var(--redD);font-weight:900}
.pg-kicker{display:inline-flex;align-items:center;gap:8px;padding:7px 16px;border-radius:999px;background:rgb(255 44 44 / .07);border:1px solid rgb(255 44 44 / .18);font:900 11px/1 system-ui,Arial;letter-spacing:.18em;text-transform:uppercase;color:rgb(180 0 23 / .88);margin-bottom:16px}
.pg-kicker-dot{width:7px;height:7px;border-radius:99px;background:var(--red);box-shadow:0 0 0 3px rgb(255 44 44 / .20)}
.pg-h1{font:900 clamp(28px,4vw,48px)/1.06 system-ui,Arial;letter-spacing:-.03em;color:var(--ink);margin:0 0 12px}
.pg-h1 span{color:var(--redD)}
.pg-lead{font:500 clamp(14.5px,1.3vw,17px)/1.6 system-ui,Arial;color:rgb(15 23 42 / .62);max-width:620px;margin:0 auto}
