/* =========================================================
   ASEPPE theme — compiled stylesheet
   Design tokens taken from the client's AI-generated mockup.
   ========================================================= */

@font-face{font-family:'Public Sans';font-style:normal;font-weight:400;font-display:swap;src:url('fonts/public-sans-vietnamese.woff2') format('woff2');unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB;}
@font-face{font-family:'Public Sans';font-style:normal;font-weight:400;font-display:swap;src:url('fonts/public-sans-latin-ext.woff2') format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;}
@font-face{font-family:'Public Sans';font-style:normal;font-weight:400;font-display:swap;src:url('fonts/public-sans-latin.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}
@font-face{font-family:'Public Sans';font-style:normal;font-weight:500;font-display:swap;src:url('fonts/public-sans-vietnamese.woff2') format('woff2');unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB;}
@font-face{font-family:'Public Sans';font-style:normal;font-weight:500;font-display:swap;src:url('fonts/public-sans-latin-ext.woff2') format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;}
@font-face{font-family:'Public Sans';font-style:normal;font-weight:500;font-display:swap;src:url('fonts/public-sans-latin.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}
@font-face{font-family:'Public Sans';font-style:normal;font-weight:600;font-display:swap;src:url('fonts/public-sans-vietnamese.woff2') format('woff2');unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB;}
@font-face{font-family:'Public Sans';font-style:normal;font-weight:600;font-display:swap;src:url('fonts/public-sans-latin-ext.woff2') format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;}
@font-face{font-family:'Public Sans';font-style:normal;font-weight:600;font-display:swap;src:url('fonts/public-sans-latin.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}
@font-face{font-family:'Public Sans';font-style:normal;font-weight:700;font-display:swap;src:url('fonts/public-sans-vietnamese.woff2') format('woff2');unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB;}
@font-face{font-family:'Public Sans';font-style:normal;font-weight:700;font-display:swap;src:url('fonts/public-sans-latin-ext.woff2') format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;}
@font-face{font-family:'Public Sans';font-style:normal;font-weight:700;font-display:swap;src:url('fonts/public-sans-latin.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}

@font-face{font-family:'Sora';font-style:normal;font-weight:400;font-display:swap;src:url('fonts/sora-a.woff2') format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;}
@font-face{font-family:'Sora';font-style:normal;font-weight:400;font-display:swap;src:url('fonts/sora-b.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}
@font-face{font-family:'Sora';font-style:normal;font-weight:600;font-display:swap;src:url('fonts/sora-a.woff2') format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;}
@font-face{font-family:'Sora';font-style:normal;font-weight:600;font-display:swap;src:url('fonts/sora-b.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}
@font-face{font-family:'Sora';font-style:normal;font-weight:700;font-display:swap;src:url('fonts/sora-a.woff2') format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;}
@font-face{font-family:'Sora';font-style:normal;font-weight:700;font-display:swap;src:url('fonts/sora-b.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}
@font-face{font-family:'Sora';font-style:normal;font-weight:800;font-display:swap;src:url('fonts/sora-a.woff2') format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;}
@font-face{font-family:'Sora';font-style:normal;font-weight:800;font-display:swap;src:url('fonts/sora-b.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}

/* ---------- tokens ---------- */
:root{
  --bg:#FAFAF9; --text:#3D4A5F; --text2:#5B6879; --text3:#7A8699;
  --blue:#1E2F9E; --red:#D9251C; --red-hover:#B01B13;
  --chip-bg:#FDECEA; --chip-text:#B01B13;
  --border:#E8EAF0; --border2:#DDE2EB;
  --panel:#F2F4F8; --panel2:#E9EDF4; --panel2b:#DFE5EF;
  --panel3:#FBE9E7; --panel3b:#F6DCD9; --panel3-text:#B0665F;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--text);font-family:'Public Sans',sans-serif;-webkit-font-smoothing:antialiased}
img{max-width:100%}
a{color:var(--red);text-decoration:none}
a:hover{color:var(--red-hover)}
input,select,textarea,button{font-family:'Public Sans',sans-serif}
h1,h2,h3{font-family:'Sora',sans-serif;margin:0}
.wrap{max-width:1180px;margin:0 auto;padding:0 24px}

/* ---------- placeholder photo pattern ---------- */
.ph{border-radius:18px;background:repeating-linear-gradient(45deg,var(--panel2),var(--panel2) 14px,var(--panel2b) 14px,var(--panel2b) 28px);display:flex;align-items:center;justify-content:center;text-align:center}
.ph span{font-family:monospace;font-size:12px;color:var(--text3);background:#fff;padding:4px 10px;border-radius:6px;display:inline-block}
.ph.red{background:repeating-linear-gradient(45deg,var(--panel3),var(--panel3) 14px,var(--panel3b) 14px,var(--panel3b) 28px)}
.ph.red span{color:var(--panel3-text)}
.ph.on-blue{background:repeating-linear-gradient(45deg,rgba(255,255,255,.08),rgba(255,255,255,.08) 14px,rgba(255,255,255,.14) 14px,rgba(255,255,255,.14) 28px)}
.ph.on-blue span{color:var(--blue)}
.ph.sm{border-radius:14px}
.ph.sm span{font-size:11px}

/* ---------- buttons ---------- */
.btn{display:inline-block;border:none;border-radius:12px;font-family:'Sora',sans-serif;font-weight:700;font-size:16px;cursor:pointer;padding:15px 30px;background:var(--red);color:#fff;text-align:center}
.btn:hover{background:var(--red-hover);color:#fff}
.btn.btn-outline{background:none;color:var(--blue);border:2px solid var(--blue);padding:13px 28px}
.btn.btn-outline:hover{background:var(--blue);color:#fff}
.btn.btn-sm{padding:11px 22px;border-radius:10px;font-size:14.5px}
.btn.btn-block{display:block;width:100%;padding:16px}

/* ---------- header ---------- */
.site-header{position:sticky;top:0;z-index:50;background:rgba(250,250,249,.92);backdrop-filter:blur(10px);border-bottom:1px solid var(--border)}
.site-header .wrap{height:72px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.brand{display:flex;align-items:center;justify-content:flex-start;cursor:pointer}
.brand a{display:flex;align-items:center}
.brand img{height:58px;max-width:220px;width:auto;display:block;object-fit:contain}
.nav-desktop{display:flex;align-items:center;gap:6px}
.nav-item{padding:10px 14px;font-size:15px;font-weight:600;color:var(--blue);cursor:pointer;border-radius:8px;background:none;border:none;font-family:'Public Sans',sans-serif}
.nav-item:hover{background:#EFF1F6;color:var(--blue)}
.nav-dd{position:relative}
.nav-dd-panel{position:absolute;top:100%;left:0;background:#fff;border-radius:12px;box-shadow:0 12px 32px rgba(23,38,120,.14);padding:8px;min-width:210px;display:none;flex-direction:column;gap:2px;z-index:60}
.nav-dd:hover .nav-dd-panel,.nav-dd.open .nav-dd-panel{display:flex}
.nav-dd-item{padding:10px 14px;font-size:14.5px;font-weight:500;color:var(--text);border-radius:8px;cursor:pointer;display:block}
.nav-dd-item:hover{background:#F6F7FA;color:var(--red)}
.nav-cta{margin-left:10px}
.burger{background:none;border:none;padding:10px;cursor:pointer;display:none;flex-direction:column;gap:5px}
.burger span{display:block;width:24px;height:2.5px;background:var(--blue);border-radius:2px}
.burger span.short{width:16px;background:var(--red)}
.mobile-menu{display:none;background:#fff;border-bottom:1px solid var(--border);padding:12px 24px 20px;flex-direction:column;gap:2px}
.mobile-menu.open{display:flex}
.mobile-menu .nav-item{font-size:16px;padding:12px;text-align:left}
.mobile-menu .nav-cta{margin-top:10px;margin-left:0}
.mobile-eyebrow{font-size:11px;font-weight:700;letter-spacing:1px;color:var(--text3);padding:10px 12px 4px;text-transform:uppercase}

@media (max-width:899px){
  .nav-desktop{display:none}
  .burger{display:flex}
}

/* ---------- hero / sections ---------- */
.section{padding:80px 24px}
.section-tight{padding:64px 24px 90px}
.eyebrow{display:inline-block;background:var(--chip-bg);color:var(--chip-text);font-weight:700;font-size:13px;letter-spacing:.8px;padding:7px 14px;border-radius:100px;text-transform:uppercase}
.h1{font-family:'Sora',sans-serif;font-weight:800;font-size:clamp(32px,4vw,48px);color:var(--blue);margin:18px 0 12px}
.h2{font-family:'Sora',sans-serif;font-weight:700;font-size:clamp(24px,3vw,32px);color:var(--blue);margin:0 0 10px}
.hero{max-width:1180px;margin:0 auto;padding:clamp(48px,7vw,88px) 24px 64px;display:flex;flex-wrap:wrap;gap:48px;align-items:center}
.hero-copy{flex:1 1 440px;min-width:300px}
.hero-copy h1{font-size:clamp(34px,4.6vw,56px);line-height:1.12;margin:20px 0 18px}
.hero-copy p{font-size:clamp(16px,1.4vw,18.5px);line-height:1.65;color:var(--text2);margin:0 0 32px;max-width:520px}
.hero-actions{display:flex;flex-wrap:wrap;gap:14px}
.hero-grid{flex:1 1 400px;min-width:280px;display:grid;grid-template-columns:1.4fr 1fr;grid-template-rows:150px 130px;gap:14px}
.hero-grid .ph:first-child{grid-row:1/3}

.stats{background:var(--blue)}
.stats .wrap{padding:52px 24px;display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:32px;text-align:center}
.stat-num{font-family:'Sora',sans-serif;font-weight:800;font-size:46px;color:#fff}
.stat-num.red{color:var(--red)}
.stat-label{font-size:15.5px;color:#B4C5F1;margin-top:6px}

.split{max-width:1180px;margin:0 auto;padding:80px 24px;display:flex;flex-wrap:wrap;gap:48px;align-items:center}
.split .ph{flex:1 1 380px;min-width:280px;height:300px}
.split-copy{flex:1 1 420px;min-width:300px}
.split-copy h2{font-weight:700;font-size:clamp(28px,3vw,38px);color:var(--blue);margin:0 0 16px}
.split-copy p{font-size:17px;line-height:1.7;color:var(--text2);margin:0 0 14px}
.link-arrow{font-family:'Sora',sans-serif;font-weight:700;font-size:15.5px;color:var(--red);cursor:pointer;display:inline-block}
.link-arrow:hover{color:var(--red-hover)}

.panel-section{background:var(--panel)}
.section-head{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:36px}
.section-head h2{font-weight:700;font-size:clamp(28px,3vw,38px);color:var(--blue);margin:0}

/* ---------- cards ---------- */
.card{background:#fff;border-radius:16px;box-shadow:0 2px 12px rgba(23,38,120,.07);transition:transform .2s,box-shadow .2s}
.card:hover{transform:translateY(-4px);box-shadow:0 10px 28px rgba(23,38,120,.13)}
.card-link{display:block;cursor:pointer;color:inherit}
.card-link:hover{color:inherit}

.cards-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:24px}
.novedad-card .ph{height:160px;border-radius:16px 16px 0 0}
.novedad-card .body{padding:22px 24px 26px}
.novedad-card .date{font-size:13px;font-weight:600;color:var(--red);margin-bottom:8px}
.novedad-card .title{font-family:'Sora',sans-serif;font-weight:700;font-size:18px;line-height:1.35;color:var(--blue)}

.novedad-card.big .ph{height:180px}
.novedad-card.big .body{padding:24px 26px 28px;display:flex;flex-direction:column;gap:10px}
.novedad-card.big .title{font-size:19px}
.novedad-card.big .excerpt{font-size:14.5px;line-height:1.6;color:var(--text2);margin:0;flex:1}

.rubro-tile{background:#fff;border:1px solid var(--border);border-radius:16px;padding:26px 18px;text-align:center;cursor:pointer;transition:transform .2s,box-shadow .2s,border-color .2s;display:block}
.rubro-tile:hover{transform:translateY(-4px);box-shadow:0 10px 24px rgba(23,38,120,.12);border-color:var(--red);color:inherit}
.rubro-icon{width:52px;height:52px;margin:0 auto 14px;border-radius:14px;background:var(--chip-bg);display:flex;align-items:center;justify-content:center;font-family:'Sora',sans-serif;font-weight:800;font-size:18px;color:var(--red)}
.rubro-name{font-family:'Sora',sans-serif;font-weight:700;font-size:15px;color:var(--blue);line-height:1.3}

.aliados-label{text-align:center;font-size:12.5px;font-weight:700;letter-spacing:1.5px;color:var(--text3);text-transform:uppercase;margin-bottom:28px}
.aliados-row{display:flex;flex-wrap:wrap;justify-content:center;gap:16px}
.aliado{width:150px;height:60px;border-radius:12px;background:var(--panel);display:flex;align-items:center;justify-content:center;font-family:monospace;font-size:11px;color:var(--text3);text-align:center;padding:4px}

.cta-band{max-width:1180px;margin:0 auto;padding:0 24px 90px}
.cta-band-inner{background:var(--blue);border-radius:24px;padding:clamp(44px,6vw,72px) clamp(28px,5vw,72px);text-align:center;position:relative;overflow:hidden}
.cta-band-inner::before{content:'';position:absolute;top:-60px;right:-60px;width:220px;height:220px;border-radius:50%;background:rgba(217,37,28,.18)}
.cta-band-inner::after{content:'';position:absolute;bottom:-80px;left:-40px;width:180px;height:180px;border-radius:50%;background:rgba(255,255,255,.05)}
.cta-band-inner h2{font-weight:800;font-size:clamp(26px,3.4vw,42px);color:#fff;margin:0 0 14px;position:relative}
.cta-band-inner p{color:#B4C5F1;font-size:17px;margin:0 auto 32px;max-width:560px;position:relative}
.cta-band-inner .btn{position:relative}

/* ---------- Sobre / mision-vision ---------- */
.mv-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:24px;margin-bottom:56px}
.mv-card{background:#fff;border-radius:20px;padding:40px 36px;box-shadow:0 2px 12px rgba(23,38,120,.07)}
.mv-icon{width:52px;height:52px;border-radius:14px;background:var(--chip-bg);display:flex;align-items:center;justify-content:center;margin-bottom:20px}
.mv-icon.blue{background:var(--panel2)}
.mv-icon .diamond{width:18px;height:18px;background:var(--red);transform:rotate(45deg);border-radius:4px}
.mv-icon .dot{width:20px;height:20px;background:var(--blue);border-radius:50%}
.mv-card h2{font-weight:700;font-size:26px;color:var(--blue);margin:0 0 14px}
.mv-card p{font-size:16.5px;line-height:1.7;color:var(--text2);margin:0}

.pill-row{display:flex;flex-wrap:wrap;gap:14px;margin-bottom:72px}
.pill{display:flex;align-items:center;gap:10px;background:#fff;border:1px solid var(--border);border-radius:100px;padding:13px 24px}
.pill-dot{width:10px;height:10px;border-radius:50%;background:var(--red);flex-shrink:0}
.pill span{font-family:'Sora',sans-serif;font-weight:600;font-size:15.5px;color:var(--blue)}

.comision-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:24px}
.comision-card .ph{height:220px;border-radius:16px 16px 0 0}
.comision-card .body{padding:20px 22px 24px}
.comision-card .cargo{font-size:12px;font-weight:700;letter-spacing:.8px;color:var(--red);text-transform:uppercase;margin-bottom:6px}
.comision-card .nombre{font-family:'Sora',sans-serif;font-weight:700;font-size:18px;color:var(--blue);line-height:1.3}
.comision-card .empresa{font-size:14px;color:var(--text3);margin-top:5px}

/* ---------- beneficios ---------- */
.beneficio-card{background:#fff;border:1px solid var(--border);border-radius:16px;padding:26px 26px 24px;box-shadow:0 2px 12px rgba(23,38,120,.06);display:flex;flex-direction:column}
.beneficio-logo{width:100%;height:96px;border-radius:12px;background:var(--panel2);display:flex;align-items:center;justify-content:center;margin-bottom:18px;overflow:hidden}
.beneficio-logo img{max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain}
.beneficio-logo span{font-family:'Sora',sans-serif;font-weight:800;font-size:20px;color:var(--blue)}
.beneficio-card .titulo{font-family:'Sora',sans-serif;font-weight:700;font-size:17.5px;color:var(--blue);margin-bottom:8px}
.beneficio-card .resumen{font-size:15px;line-height:1.6;color:var(--text2);margin-bottom:14px}
.beneficio-modal-data{display:none}
.beneficio-card-actions{margin-top:auto;display:flex;align-items:center;justify-content:space-between;gap:14px;padding-top:6px}
.leermas{font-family:'Sora',sans-serif;font-weight:700;font-size:13px;color:var(--blue);background:none;border:0;padding:0;cursor:pointer;display:inline-flex;align-items:center}
.leermas:hover{color:var(--red)}
.mas-info{font-family:'Sora',sans-serif;font-weight:700;font-size:14.5px;color:var(--red)}
.mas-info:hover{color:var(--red-hover)}

/* modal de detalle de beneficio */
body.modal-open{overflow:hidden}
.beneficio-modal-overlay{position:fixed;inset:0;background:rgba(15,20,45,.55);display:flex;align-items:flex-start;justify-content:center;padding:5vh 20px;z-index:1000;overflow-y:auto}
.beneficio-modal-overlay[hidden]{display:none}
.beneficio-modal{background:#fff;border-radius:18px;max-width:620px;width:100%;padding:36px 36px 32px;position:relative;box-shadow:0 20px 60px rgba(15,20,45,.35)}
.beneficio-modal-close{position:absolute;top:18px;right:18px;width:34px;height:34px;border-radius:50%;border:1px solid var(--border);background:var(--panel2);font-size:20px;line-height:1;color:var(--text2);cursor:pointer}
.beneficio-modal-close:hover{background:var(--panel);color:var(--blue)}
.beneficio-modal-logo{width:100%;max-width:220px;height:110px;border-radius:12px;background:var(--panel2);display:flex;align-items:center;justify-content:center;overflow:hidden;margin-bottom:20px}
.beneficio-modal-logo img{max-width:100%;max-height:100%;object-fit:contain}
.beneficio-modal-title{font-family:'Sora',sans-serif;font-weight:700;font-size:23px;color:var(--blue);margin-bottom:16px}
.beneficio-modal-content{font-size:15.5px;line-height:1.7;color:var(--text2);margin-bottom:26px}
.beneficio-modal-content p{margin:0 0 14px}
.beneficio-modal-content img{max-width:100%;border-radius:10px;margin:6px 0 14px}
.beneficio-modal-cta{display:inline-block}
.beneficio-modal-cta[hidden]{display:none}

/* paginación del archivo de beneficios */
.beneficios-pagination{display:flex;gap:8px;flex-wrap:wrap;justify-content:center;margin:8px 0 40px}
.beneficios-pagination .page-numbers{display:inline-flex;align-items:center;justify-content:center;min-width:38px;height:38px;padding:0 10px;border-radius:10px;border:1px solid var(--border);font-family:'Sora',sans-serif;font-weight:700;font-size:14px;color:var(--text2)}
.beneficios-pagination .page-numbers.current{background:var(--blue);border-color:var(--blue);color:#fff}
.beneficios-pagination a.page-numbers:hover{border-color:var(--blue);color:var(--blue)}

.beneficio-static-card{background:#fff;border:1px solid var(--border);border-radius:16px;padding:26px}
.beneficio-static-icon{width:38px;height:38px;border-radius:10px;background:var(--chip-bg);display:flex;align-items:center;justify-content:center;margin-bottom:16px}
.beneficio-static-icon .diamond{width:12px;height:12px;background:var(--red);transform:rotate(45deg);border-radius:2.5px}
.beneficio-static-card .titulo{font-family:'Sora',sans-serif;font-weight:700;font-size:17.5px;color:var(--blue);margin-bottom:8px}
.beneficio-static-card .texto{font-size:15px;line-height:1.6;color:var(--text2);margin:0}

.capacitaciones-list{display:flex;flex-direction:column;gap:16px}

.alianza-card{background:#fff;border:1px solid var(--border);border-radius:16px;padding:28px;display:flex;flex-direction:column;gap:12px}
.alianza-top{display:flex;align-items:center;justify-content:space-between;gap:10px}
.alianza-icon{width:48px;height:48px;border-radius:12px;background:var(--panel2);display:flex;align-items:center;justify-content:center;font-family:'Sora',sans-serif;font-weight:800;font-size:17px;color:var(--blue)}
.chip{background:var(--panel);color:var(--text2);font-size:12px;font-weight:700;padding:6px 12px;border-radius:100px;white-space:nowrap}
.chip.ok{background:#E7F4EC;color:#1E7A43}
.alianza-nombre{font-family:'Sora',sans-serif;font-weight:700;font-size:17px;color:var(--blue)}
.alianza-tipo{font-size:12.5px;font-weight:700;color:var(--red);text-transform:uppercase;letter-spacing:.5px;margin-top:4px}
.alianza-detalle{font-size:14.5px;line-height:1.6;color:var(--text2);margin:0}

.capacitacion-row{background:#fff;border-radius:14px;padding:22px 26px;box-shadow:0 2px 12px rgba(23,38,120,.07);display:flex;flex-wrap:wrap;align-items:center;gap:18px}
.capacitacion-fecha{min-width:130px;font-size:13px;font-weight:700;color:var(--red);text-transform:uppercase;letter-spacing:.5px}
.capacitacion-titulo{flex:1;min-width:220px;font-family:'Sora',sans-serif;font-weight:700;font-size:16.5px;color:var(--blue)}
.capacitacion-modalidad{font-size:13.5px;font-weight:600;color:var(--text2);background:var(--panel);border-radius:100px;padding:7px 16px}

.plataforma-band{background:var(--blue);border-radius:24px;padding:clamp(36px,5vw,56px);display:flex;flex-wrap:wrap;align-items:center;gap:32px;position:relative;overflow:hidden}
.plataforma-band::before{content:'';position:absolute;top:-60px;right:-60px;width:200px;height:200px;border-radius:50%;background:rgba(217,37,28,.18)}
.plataforma-copy{flex:1 1 380px;min-width:280px;position:relative}
.plataforma-tag{display:inline-block;background:rgba(255,255,255,.14);color:#fff;font-weight:700;font-size:12px;letter-spacing:1px;padding:6px 14px;border-radius:100px;text-transform:uppercase;margin-bottom:16px}
.plataforma-copy h2{font-weight:800;font-size:clamp(24px,3vw,34px);color:#fff;margin:0 0 12px}
.plataforma-copy p{color:#B4C5F1;font-size:16px;line-height:1.65;margin:0}
.plataforma-mock{flex:0 1 300px;min-width:240px;height:190px;border-radius:16px;position:relative}

/* ---------- directorio ---------- */
.tabs-row{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:36px}
.tab{border:none;border-radius:100px;padding:10px 18px;font-family:'Sora',sans-serif;font-weight:600;font-size:13.5px;cursor:pointer;background:#fff;color:var(--blue);box-shadow:inset 0 0 0 1.5px var(--border2)}
.tab.active{background:var(--blue);color:#fff;box-shadow:none}
.tab:hover{color:var(--blue)}

.socios-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:24px}
.socio-card{background:#fff;border-radius:16px;padding:26px;box-shadow:0 2px 12px rgba(23,38,120,.07);display:flex;flex-direction:column;gap:14px;transition:transform .2s,box-shadow .2s;color:inherit}
.socio-card:hover{transform:translateY(-4px);box-shadow:0 10px 28px rgba(23,38,120,.13);color:inherit}
.socio-top{display:flex;align-items:center;gap:14px}
.socio-avatar{width:54px;height:54px;border-radius:14px;background:var(--panel2);display:flex;align-items:center;justify-content:center;font-family:'Sora',sans-serif;font-weight:800;font-size:19px;color:var(--blue);flex-shrink:0;overflow:hidden}
.socio-avatar img{width:100%;height:100%;object-fit:cover;border-radius:14px}
.socio-nombre{font-family:'Sora',sans-serif;font-weight:700;font-size:17px;color:var(--blue);line-height:1.25}
.socio-rubro{font-size:12.5px;font-weight:700;color:var(--red);text-transform:uppercase;letter-spacing:.5px;margin-top:4px}
.socio-desc{font-size:14.5px;line-height:1.6;color:var(--text2);margin:0;flex:1}
.socio-contact{border-top:1px solid #EEF0F5;padding-top:14px;display:flex;flex-direction:column;gap:5px}
.socio-contact .email{font-size:13.5px;color:var(--blue);font-weight:500}
.socio-contact .tel{font-size:13.5px;color:var(--text3)}

/* ---------- forms ---------- */
.form-panel{background:#fff;border-radius:20px;padding:clamp(28px,4vw,44px);box-shadow:0 4px 24px rgba(23,38,120,.09)}
.form-panel h2{font-weight:700;font-size:24px;color:var(--blue);margin:0 0 6px}
.form-panel .sub{font-size:14.5px;color:var(--text3);margin:0 0 28px}
.field{display:flex;flex-direction:column;gap:7px}
.field label{font-size:13.5px;font-weight:600;color:var(--blue)}
.field input,.field select,.field textarea{width:100%;box-sizing:border-box;border:1.5px solid var(--border2);border-radius:10px;padding:13px 15px;font-size:15px;color:var(--text);background:var(--bg)}
.field textarea{resize:vertical}
.form-stack{display:flex;flex-direction:column;gap:18px}
.form-row2{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:18px}
.checkbox-row{display:flex;gap:12px;align-items:flex-start;font-size:14.5px;color:var(--text2);line-height:1.5;cursor:pointer}
.checkbox-row input{margin-top:3px;width:17px;height:17px;accent-color:var(--red)}
.note-row{display:flex;gap:10px;align-items:center;background:var(--panel);border-radius:10px;padding:12px 16px}
.note-dot{width:8px;height:8px;border-radius:50%;background:var(--blue);flex-shrink:0}
.note-row span{font-size:13.5px;color:var(--text2)}
.form-disclaimer{font-size:13.5px;color:var(--text3);line-height:1.5;margin:0}
.form-notice{border-radius:10px;padding:12px 16px;font-size:14px;margin-bottom:18px}
.form-notice-ok{background:#e8f6ec;color:#1c6b34}
.form-notice-error{background:#fbe8e8;color:#a3231f}

/* ---------- asociarme layout ---------- */
.asociarme-wrap{max-width:1180px;margin:0 auto;padding:64px 24px 90px;display:flex;flex-wrap:wrap;gap:56px;align-items:flex-start}
.asociarme-left{flex:1 1 360px;min-width:300px}
.asociarme-left h1{margin:0 0 18px}
.asociarme-left>p{font-size:17px;line-height:1.7;color:var(--text2);margin:0 0 32px}
.asociarme-right{flex:1 1 440px;min-width:300px}
.beneficio-row{display:flex;gap:16px;align-items:flex-start}
.beneficio-row-icon{width:34px;height:34px;border-radius:10px;background:var(--chip-bg);display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-top:2px}
.beneficio-row-icon .diamond{width:11px;height:11px;background:var(--red);transform:rotate(45deg);border-radius:2.5px}
.beneficio-row .titulo{font-family:'Sora',sans-serif;font-weight:700;font-size:16.5px;color:var(--blue);margin-bottom:3px}
.beneficio-row .texto{font-size:15px;line-height:1.6;color:var(--text2)}
.beneficios-list{display:flex;flex-direction:column;gap:18px}

/* ---------- contacto ---------- */
.contacto-wrap{max-width:1180px;margin:0 auto;padding:64px 24px 90px}
.contacto-grid{display:flex;flex-wrap:wrap;gap:48px;align-items:flex-start}
.contacto-info{flex:1 1 340px;min-width:280px;display:flex;flex-direction:column;gap:26px}
.contacto-info .label{font-size:12px;font-weight:700;letter-spacing:1px;color:var(--red);text-transform:uppercase;margin-bottom:6px}
.contacto-info .value{font-size:16.5px;color:var(--blue);font-weight:600}
.contacto-info .sub{font-size:14.5px;color:var(--text3);margin-top:2px}
.contacto-form{flex:1 1 420px;min-width:300px}
.map-ph{height:200px}

/* ---------- article ---------- */
.article-wrap{max-width:820px;margin:0 auto;padding:56px 24px 90px}
.article-date{font-size:14px;font-weight:600;color:var(--red);margin:28px 0 12px}
.article-title{font-weight:800;font-size:clamp(28px,3.6vw,42px);line-height:1.2;color:var(--blue);margin:0 0 28px}
.article-hero{height:clamp(220px,36vw,400px);border-radius:20px;margin-bottom:36px}
.article-lead{font-size:18px;line-height:1.75;color:var(--text);margin:0 0 22px;font-weight:500}
.article-body p{font-size:17px;line-height:1.75;color:var(--text2);margin:0 0 22px}
.article-gallery-label{font-family:'Sora',sans-serif;font-weight:700;font-size:18px;color:var(--blue);margin-bottom:16px}

/* ---------- single asociado ---------- */
.asociado-hero{display:flex;flex-wrap:wrap;gap:28px;align-items:center;margin-bottom:44px}
.asociado-avatar{width:96px;height:96px;border-radius:22px;background:var(--panel2);display:flex;align-items:center;justify-content:center;font-family:'Sora',sans-serif;font-weight:800;font-size:34px;color:var(--blue);flex-shrink:0;overflow:hidden}
.asociado-avatar img{width:100%;height:100%;object-fit:cover;border-radius:22px}
.asociado-info-card{background:#fff;border:1px solid var(--border);border-radius:14px;padding:20px 22px}
.asociado-info-card .label{font-size:12px;font-weight:700;letter-spacing:.8px;color:var(--red);text-transform:uppercase;margin-bottom:6px}
.asociado-info-card .value{font-size:15.5px;color:var(--blue);font-weight:600}
.social-row{display:flex;gap:10px;margin-top:10px}
.social-chip{width:38px;height:38px;border-radius:50%;background:var(--panel2);display:flex;align-items:center;justify-content:center;font-family:'Sora',sans-serif;font-weight:700;font-size:12px;color:var(--blue)}
.social-chip:hover{background:var(--red);color:#fff}

.asociado-contact-card{display:flex;flex-wrap:wrap;justify-content:space-between;gap:32px;background:#fff;border:1px solid var(--border);border-radius:20px;padding:28px 32px;margin-bottom:32px}
.asociado-contact-left{display:flex;flex-direction:column;gap:18px;flex:1 1 260px}
.asociado-contact-row{display:flex;gap:14px;align-items:flex-start}
.asociado-contact-icon{width:40px;height:40px;border-radius:10px;background:var(--chip-bg);color:var(--chip-text);display:flex;align-items:center;justify-content:center;flex-shrink:0}
.asociado-contact-icon svg{width:18px;height:18px}
.asociado-contact-row .label{font-size:11px;font-weight:700;letter-spacing:.8px;color:var(--text3);text-transform:uppercase;margin-bottom:3px}
.asociado-contact-row .value{font-size:15.5px;color:var(--blue);font-weight:600}
.asociado-contact-right{display:flex;flex-direction:column;gap:12px;flex:0 1 260px;min-width:220px}
.btn-whatsapp{background:#25D366}
.btn-whatsapp:hover{background:#1EBE59;color:#fff}
.asociado-follow{display:flex;align-items:center;gap:10px;font-size:13px;color:var(--text3);font-weight:600;justify-content:center}

.asociado-banner{border-radius:20px;overflow:hidden;margin-bottom:32px}
.asociado-banner img{width:100%;aspect-ratio:3/1;object-fit:cover;display:block}

.asociado-split{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:48px;margin-bottom:40px}
.asociado-split h2{font-weight:700;font-size:24px;color:var(--blue);margin:0 0 16px}
.asociado-servicios{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:14px}
.asociado-servicios li{position:relative;padding-left:20px;font-size:15.5px;line-height:1.5;color:var(--text2)}
.asociado-servicios li::before{content:'';position:absolute;left:0;top:8px;width:7px;height:7px;border-radius:50%;background:var(--red)}

.asociado-gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:32px}
.asociado-gallery-video{border:0;border-radius:14px;background:var(--blue);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;color:#fff;aspect-ratio:16/10;text-decoration:none;font-family:'Sora',sans-serif;font-weight:700;font-size:13.5px;cursor:pointer;padding:0}
.asociado-gallery-video:hover{color:#fff;opacity:.92}
.asociado-gallery-video .play{width:38px;height:38px;border-radius:50%;background:#fff;display:flex;align-items:center;justify-content:center}
.asociado-gallery-video .play svg{width:16px;height:16px}
.asociado-gallery-photo{border:0;padding:0;border-radius:14px;overflow:hidden;cursor:pointer;aspect-ratio:16/10}
.asociado-gallery-photo img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .25s ease}
.asociado-gallery-photo:hover img{transform:scale(1.05)}
@media (max-width:720px){.asociado-gallery{grid-template-columns:1fr 1fr}}

/* ---------- asociado gallery lightbox ---------- */
.asociado-lightbox-overlay{position:fixed;inset:0;background:rgba(15,20,45,.85);display:flex;align-items:center;justify-content:center;padding:5vh 20px;z-index:1000}
.asociado-lightbox-overlay[hidden]{display:none}
.asociado-lightbox{position:relative;width:100%;max-width:900px;display:flex;flex-direction:column;align-items:center;gap:14px}
.asociado-lightbox-media{width:100%;max-height:78vh;display:flex;align-items:center;justify-content:center;border-radius:14px;overflow:hidden;background:#000}
.asociado-lightbox-media img{max-width:100%;max-height:78vh;object-fit:contain;display:block}
.asociado-lightbox-media iframe,.asociado-lightbox-media video{width:100%;aspect-ratio:16/9;border:0;display:block}
.asociado-lightbox-caption{color:#fff;font-size:14px;text-align:center;min-height:1em}
.asociado-lightbox-close{position:absolute;top:-44px;right:0;width:36px;height:36px;border-radius:50%;border:1px solid rgba(255,255,255,.4);background:rgba(255,255,255,.1);color:#fff;font-size:22px;line-height:1;cursor:pointer}
.asociado-lightbox-close:hover{background:rgba(255,255,255,.2)}
.asociado-lightbox-nav{position:absolute;top:50%;transform:translateY(-50%);width:44px;height:44px;border-radius:50%;border:1px solid rgba(255,255,255,.4);background:rgba(255,255,255,.1);color:#fff;font-size:26px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center}
.asociado-lightbox-nav:hover{background:rgba(255,255,255,.2)}
.asociado-lightbox-prev{left:-56px}
.asociado-lightbox-next{right:-56px}
@media (max-width:900px){.asociado-lightbox-prev{left:0}.asociado-lightbox-next{right:0}}

.asociado-cta-band{background:#fff;border:1px solid var(--border);border-radius:20px;padding:28px 32px;display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap;margin-top:8px}

/* ---------- footer ---------- */
.site-footer{background:var(--blue)}
.footer-top{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:40px;padding:60px 24px 44px;border-bottom:1px solid rgba(255,255,255,.12);max-width:1180px;margin:0 auto}
.footer-logo-box{display:flex;align-items:center;justify-content:center;background:#fff;border-radius:12px;padding:18px;margin-bottom:16px;width:100%}
.footer-logo-box a{display:flex;align-items:center}
.footer-logo-box img{height:56px;max-width:200px;width:auto;display:block;object-fit:contain}
.footer-blurb{font-size:14px;line-height:1.65;color:#B4C5F1;margin:0;max-width:260px}
.footer-heading{font-family:'Sora',sans-serif;font-weight:700;font-size:14px;color:#fff;margin-bottom:16px;letter-spacing:.5px}
.footer-list{display:flex;flex-direction:column;gap:9px;font-size:14px;color:#B4C5F1}
.footer-list a{color:#B4C5F1;cursor:pointer}
.footer-list a:hover{color:#fff}
.footer-social{display:flex;gap:10px}
.footer-social a{width:38px;height:38px;border-radius:50%;background:rgba(255,255,255,.1);display:flex;align-items:center;justify-content:center;font-family:'Sora',sans-serif;font-weight:700;font-size:12px;color:#fff;cursor:pointer}
.footer-social a:hover{background:var(--red);color:#fff}
.footer-bottom{padding:24px 24px;font-size:13px;color:#8FA3E0;text-align:center;max-width:1180px;margin:0 auto}

@media (max-width:640px){
  .hero{padding-top:36px}
  .article-wrap{padding-top:36px}
}

/* ---------- lead-strong (frase-eje) ---------- */
.lead-strong{font-family:'Sora',sans-serif;font-weight:700;font-size:19px;color:var(--blue);line-height:1.4;margin:0 0 16px}

/* ---------- reveal-on-scroll (progressive enhancement: sin JS, todo visible) ---------- */
.js .reveal{opacity:0;transform:translateY(24px);transition:opacity .6s ease,transform .6s ease}
.js .reveal.visible{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){
  .js .reveal{opacity:1;transform:none;transition:none}
}

/* ---------- contador animado (stats) ---------- */
.counter{font-variant-numeric:tabular-nums}

/* ---------- marquee de aliados ---------- */
.marquee{overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.marquee-track{display:flex;width:max-content;gap:16px;animation:aseppe-marquee 26s linear infinite}
.marquee:hover .marquee-track{animation-play-state:paused}
@keyframes aseppe-marquee{from{transform:translateX(0)}to{transform:translateX(-50%)}}
.marquee{scrollbar-width:none;-ms-overflow-style:none}
.marquee::-webkit-scrollbar{display:none}
@media (prefers-reduced-motion:reduce){
  .marquee-track{animation:none}
  .marquee{overflow-x:auto}
}

/* ---------- checklist de auto-calificación ---------- */
.check-list{display:flex;flex-direction:column;gap:14px;background:var(--panel);border-radius:16px;padding:24px 26px;margin:28px 0}
.check-list-title{font-family:'Sora',sans-serif;font-weight:700;font-size:15px;color:var(--blue);margin-bottom:2px}
.check-item{display:flex;gap:12px;align-items:flex-start;font-size:14.5px;line-height:1.6;color:var(--text2)}
.check-ico{width:22px;height:22px;border-radius:50%;background:var(--chip-bg);color:var(--red);display:flex;align-items:center;justify-content:center;font-weight:800;font-size:12px;flex-shrink:0;margin-top:1px}

/* ---------- pasos del proceso (asociarme) ---------- */
.steps-section{background:var(--panel);border-radius:24px;padding:clamp(32px,5vw,52px)}
.steps-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:28px;margin-top:30px}
.step{display:flex;flex-direction:column;gap:8px}
.step-num{width:40px;height:40px;border-radius:12px;background:#fff;border:1px solid var(--border);display:flex;align-items:center;justify-content:center;font-family:'Sora',sans-serif;font-weight:800;font-size:16px;color:var(--red)}
.step h3{font-family:'Sora',sans-serif;font-weight:700;font-size:16.5px;color:var(--blue);margin:2px 0 0}
.step p{font-size:14.5px;line-height:1.6;color:var(--text2);margin:0}

/* ---------- botón flotante de WhatsApp ---------- */
.wa-float{position:fixed;bottom:22px;right:22px;z-index:900;width:56px;height:56px;border-radius:50%;background:#25D366;color:#fff;display:flex;align-items:center;justify-content:center;box-shadow:0 8px 24px rgba(37,211,102,.38);transition:transform .2s}
.wa-float:hover{transform:scale(1.08);color:#fff}
body.modal-open .wa-float{display:none}
@media (max-width:640px){
  .wa-float{bottom:16px;right:16px;width:52px;height:52px}
}

/* ---------- breadcrumbs ---------- */
.aseppe-breadcrumbs{font-size:13px;color:var(--text2);margin-bottom:18px}
.aseppe-breadcrumbs a{color:var(--text2);text-decoration:none}
.aseppe-breadcrumbs a:hover{text-decoration:underline}
.aseppe-breadcrumbs .separator{margin:0 6px;color:var(--border)}
.aseppe-breadcrumbs .last{color:var(--blue);font-weight:600}
