/* ===========================================================
   IPSE · sections.css  ·  Secciones del inicio:
   "¿Por qué elegirnos?", testimonios y preguntas frecuentes (FAQ)
   =========================================================== */
.sec{--red:#FF2C2C;--redD:#B40017;--redDp:#6B0010;--ink:#0f172a;--sub:#475569;--ease:cubic-bezier(.2,.9,.2,1);width:100%;padding:clamp(52px,6vw,90px) clamp(16px,4vw,48px);position:relative;overflow:hidden}
.sec.alt{background:#f8fafc}
.sec-in{max-width:1380px;margin:0 auto;position:relative;z-index:1}
.sec-head{text-align:center;margin-bottom:clamp(32px,4vw,52px)}
.sec-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:14px}
.sec-kicker-dot{width:7px;height:7px;border-radius:99px;background:var(--red);box-shadow:0 0 0 3px rgb(255 44 44 / .20)}
.sec-title{font:900 clamp(26px,3vw,42px)/1.1 system-ui,Arial;letter-spacing:-.025em;color:var(--ink);margin:0 0 10px}
.sec-title span{color:var(--redD)}
.sec-title::after{content:"";display:block;width:72px;height:5px;border-radius:999px;background:linear-gradient(90deg,var(--redDp),var(--red));margin:14px auto 0;box-shadow:0 8px 22px rgb(255 44 44 / .22)}
.sec-sub{font:500 clamp(14px,1.2vw,16.5px)/1.6 system-ui,Arial;color:var(--sub);max-width:640px;margin:14px auto 0}

/* ----- ¿Por qué elegirnos? ----- */
.feat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:20px}
.feat-card{background:#fff;border:1px solid rgb(15 23 42 / .07);border-radius:20px;padding:26px 24px;box-shadow:0 8px 28px rgb(15 23 42 / .07);transition:transform .2s var(--ease),box-shadow .2s var(--ease)}
.feat-card:hover{transform:translateY(-5px);box-shadow:0 20px 48px rgb(15 23 42 / .13)}
.feat-ico{width:54px;height:54px;border-radius:16px;display:grid;place-items:center;font-size:26px;margin-bottom:16px;background:linear-gradient(135deg,rgb(255 44 44 / .12),rgb(255 44 44 / .04));border:1px solid rgb(255 44 44 / .14)}
.feat-card h3{font:900 17px/1.25 system-ui,Arial;color:var(--ink);margin:0 0 8px;letter-spacing:-.01em}
.feat-card p{font:500 14px/1.6 system-ui,Arial;color:var(--sub);margin:0}

/* ----- Testimonios ----- */
.tst-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(290px,1fr));gap:20px}
.tst-card{background:#fff;border:1px solid rgb(15 23 42 / .07);border-radius:20px;padding:24px;box-shadow:0 8px 28px rgb(15 23 42 / .07);display:flex;flex-direction:column;gap:14px;position:relative}
.tst-card::before{content:"\201C";position:absolute;top:6px;right:20px;font:900 70px/1 Georgia,serif;color:rgb(255 44 44 / .10)}
.tst-stars{color:#f59e0b;font-size:15px;letter-spacing:2px}
.tst-text{font:500 14.5px/1.65 system-ui,Arial;color:#334155;margin:0;flex:1}
.tst-person{display:flex;align-items:center;gap:12px}
.tst-avatar{width:46px;height:46px;border-radius:999px;flex-shrink:0;display:grid;place-items:center;font:900 17px/1 system-ui,Arial;color:#fff;background:linear-gradient(135deg,var(--red),var(--redD))}
.tst-name{font:900 14px/1.2 system-ui,Arial;color:var(--ink)}
.tst-role{font:600 12px/1.3 system-ui,Arial;color:var(--sub);margin-top:2px}

/* ----- FAQ ----- */
.faq-list{max-width:820px;margin:0 auto;display:flex;flex-direction:column;gap:12px}
.faq-item{background:#fff;border:1px solid rgb(15 23 42 / .08);border-radius:16px;overflow:hidden;box-shadow:0 4px 16px rgb(15 23 42 / .05);transition:box-shadow .2s ease}
.faq-item.is-open{box-shadow:0 10px 30px rgb(15 23 42 / .10);border-color:rgb(255 44 44 / .18)}
.faq-q{width:100%;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 20px;background:none;border:none;cursor:pointer;text-align:left;font:800 15.5px/1.4 system-ui,Arial;color:var(--ink)}
.faq-q .faq-ico{width:28px;height:28px;flex-shrink:0;border-radius:999px;display:grid;place-items:center;font:900 18px/1 system-ui,Arial;color:var(--redD);background:rgb(255 44 44 / .08);transition:transform .25s var(--ease)}
.faq-item.is-open .faq-q .faq-ico{transform:rotate(45deg)}
.faq-a{max-height:0;overflow:hidden;transition:max-height .3s var(--ease)}
.faq-a-in{padding:0 20px 18px;font:500 14.5px/1.65 system-ui,Arial;color:var(--sub)}
.faq-a-in a{color:var(--redD);font-weight:700;text-decoration:none}
.faq-a-in a:hover{text-decoration:underline}

/* ----- Cómo matricularte (pasos) ----- */
.steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:20px}
.step{position:relative;background:#fff;border:1px solid rgb(15 23 42 / .07);border-radius:20px;padding:28px 22px 22px;box-shadow:0 8px 28px rgb(15 23 42 / .07);text-align:center;transition:transform .2s var(--ease),box-shadow .2s var(--ease)}
.step:hover{transform:translateY(-5px);box-shadow:0 20px 48px rgb(15 23 42 / .13)}
.step-num{width:50px;height:50px;border-radius:999px;margin:0 auto 16px;display:grid;place-items:center;font:900 21px/1 system-ui,Arial;color:#fff;background:linear-gradient(135deg,var(--red),var(--redD));box-shadow:0 8px 20px rgb(180 0 0 / .28)}
.step h3{font:900 16px/1.25 system-ui,Arial;color:var(--ink);margin:0 0 7px;letter-spacing:-.01em}
.step p{font:500 13.5px/1.55 system-ui,Arial;color:var(--sub);margin:0}

/* ----- Convenios / dónde trabajan ----- */
.conv-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:14px}
.conv-item{background:#fff;border:1px solid rgb(15 23 42 / .07);border-radius:16px;padding:22px 16px;text-align:center;box-shadow:0 6px 20px rgb(15 23 42 / .06);transition:transform .18s var(--ease),box-shadow .18s var(--ease),border-color .18s ease}
.conv-item:hover{transform:translateY(-4px);box-shadow:0 14px 34px rgb(15 23 42 / .12);border-color:rgb(255 44 44 / .2)}
.conv-ico{font-size:30px;line-height:1}
.conv-item .t{font:800 13.5px/1.35 system-ui,Arial;color:var(--ink);margin-top:10px}

/* ----- Formulario de inscripción ----- */
.frm{max-width:760px;margin:0 auto;background:#fff;border:1px solid rgb(15 23 42 / .07);border-radius:22px;box-shadow:0 12px 44px rgb(15 23 42 / .09);padding:clamp(22px,3vw,34px);display:grid;grid-template-columns:1fr 1fr;gap:16px}
.frm-field{display:flex;flex-direction:column;gap:6px}
.frm-field.full{grid-column:1/-1}
.frm-field label{font:800 12px/1 system-ui,Arial;letter-spacing:.04em;text-transform:uppercase;color:var(--ink)}
.frm-field input,.frm-field select,.frm-field textarea{padding:13px 15px;border-radius:12px;border:1.5px solid rgb(15 23 42 / .14);font:500 15px/1.4 system-ui,Arial;color:var(--ink);background:#fff;width:100%;transition:border-color .15s ease,box-shadow .15s ease}
.frm-field textarea{resize:vertical;min-height:90px}
.frm-field input:focus,.frm-field select:focus,.frm-field textarea:focus{outline:none;border-color:var(--red);box-shadow:0 0 0 4px rgb(255 44 44 / .12)}
.frm-note{grid-column:1/-1;font:500 12.5px/1.5 system-ui,Arial;color:#94a3b8;margin:0}
.frm-note a{color:var(--redD);font-weight:700;text-decoration:none}
.frm-submit{grid-column:1/-1;display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:15px 28px;border-radius:14px;border:none;background:#C00;color:#fff;font:900 15px/1 system-ui,Arial;cursor:pointer;box-shadow:0 8px 22px rgb(180 0 0 / .26);transition:background .16s ease,transform .14s var(--ease),box-shadow .16s ease}
.frm-submit:hover{background:#b30000;transform:translateY(-1px);box-shadow:0 12px 28px rgb(180 0 0 / .34)}
.frm-ok{max-width:760px;margin:18px auto 0;display:none;background:rgb(22 163 74 / .10);border:1px solid rgb(22 163 74 / .25);color:#15803d;border-radius:14px;padding:16px 18px;font:700 14.5px/1.55 system-ui,Arial;text-align:center}
@media(max-width:560px){.frm{grid-template-columns:1fr}}

/* ----- CTA final ----- */
.sec-cta{margin-top:clamp(28px,4vw,44px);display:flex;justify-content:center}
.sec-cta a{display:inline-flex;align-items:center;gap:9px;padding:15px 34px;border-radius:999px;background:#C00;color:#fff;font:900 15px/1 system-ui,Arial;text-decoration:none;box-shadow:0 8px 24px rgb(180 0 0 / .28);transition:background .16s ease,transform .15s var(--ease),box-shadow .16s ease}
.sec-cta a:hover{background:#b30000;transform:translateY(-2px);box-shadow:0 14px 32px rgb(180 0 0 / .38)}
