/* =========================================================
   AI for Business Leadership · Pacífico Business School × Colectivo23
   Paleta: azul profundo #00005B · azul eléctrico #1733FF · negro KV #000
   ========================================================= */
*{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;font-family:'Poppins',system-ui,-apple-system,'Segoe UI',sans-serif;color:#00005B;background:#fff;line-height:1.5;-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}
a{color:#1733FF}
button,input,select{font-family:inherit}
p{margin:0}
h1,h2,h3{margin:0}
a:focus-visible,button:focus-visible,input:focus-visible{outline:3px solid #FFCB2A;outline-offset:2px}
.sr_only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

.area_segura{max-width:1200px;margin:0 auto;padding:0 24px}
.eyebrow{font-size:13px;letter-spacing:.14em;text-transform:uppercase;font-weight:600;color:#1733FF;margin:0 0 10px}
.eyebrow_claro{color:#BFC9FF}
.title_v1{font-size:clamp(28px,3.2vw,40px);line-height:1.12;font-weight:600;color:#00005B}
.title_claro{color:#fff}
.titulo_centro{text-align:center;display:flex;flex-direction:column;align-items:center}

/* Botones */
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:12px 26px;border-radius:999px;font-weight:600;font-size:15px;text-decoration:none;border:0;cursor:pointer;transition:transform .2s,box-shadow .2s,background .2s}
.btn:hover{transform:translateY(-2px)}
.btn_azul{background:#1733FF;color:#fff}
.btn_azul:hover{color:#fff;box-shadow:0 10px 24px rgba(23,51,255,.35)}
.btn_blanco{background:#fff;color:#00005B}
.btn_blanco:hover{color:#00005B;box-shadow:0 8px 20px rgba(0,0,40,.3)}
.btn_borde{border:1.5px solid rgba(255,255,255,.7);color:#fff;background:transparent}
.btn_borde:hover{color:#fff;border-color:#fff}

/* Fondos KV: negro con manchas azules */
.fondo_kv{color:#fff;background-color:#000}
.kv_a{background-image:radial-gradient(780px 520px at 12% 18%,rgba(18,64,232,.55) 0%,rgba(18,64,232,0) 62%),radial-gradient(900px 620px at 92% 95%,rgba(0,40,200,.62) 0%,rgba(0,40,200,0) 60%),radial-gradient(520px 360px at 70% 8%,rgba(10,30,150,.45) 0%,rgba(10,30,150,0) 70%)}
.kv_b{background-image:radial-gradient(980px 520px at 38% 58%,rgba(18,64,232,.62) 0%,rgba(18,64,232,0) 62%),radial-gradient(520px 320px at 96% 100%,rgba(0,40,200,.55) 0%,rgba(0,40,200,0) 70%)}
.kv_c{background-image:radial-gradient(860px 520px at 88% 0%,rgba(18,64,232,.58) 0%,rgba(18,64,232,0) 60%),radial-gradient(760px 520px at 0% 100%,rgba(0,40,200,.45) 0%,rgba(0,40,200,0) 62%)}
.kv_d{background-image:radial-gradient(860px 600px at 0% 0%,rgba(18,64,232,.55) 0%,rgba(18,64,232,0) 60%),radial-gradient(700px 520px at 100% 100%,rgba(0,40,200,.55) 0%,rgba(0,40,200,0) 62%)}
.kv_card{background-image:radial-gradient(520px 300px at 92% 0%,rgba(23,64,255,.6) 0%,rgba(23,64,255,0) 68%),radial-gradient(420px 260px at 0% 100%,rgba(0,40,200,.35) 0%,rgba(0,40,200,0) 70%)}

/* ============ HEADER ============ */
.header{position:fixed;top:0;left:0;right:0;z-index:100;background:#00005B;border-bottom:1px solid rgba(255,255,255,.12);transition:box-shadow .2s}
.header.menu_fix{box-shadow:0 6px 20px rgba(0,4,24,.28)}
.header_in{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-top:14px;padding-bottom:14px}
.header_logo{flex:0 1 auto;min-width:0;line-height:0}
.header_logo img{height:38px;width:auto}
.menu_header{display:flex;gap:28px;font-size:14px}
.menu_header a{color:#fff;opacity:.85;text-decoration:none}
.menu_header a:hover{opacity:1;color:#fff}
.header_cta{min-height:44px;padding:10px 22px;font-size:14px;white-space:nowrap;flex:0 0 auto}
.contenedor_general{padding-top:67px}
section[id]{scroll-margin-top:75px}

/* ============ HERO ============ */
.hero_in{display:flex;flex-wrap:wrap;gap:48px;align-items:center;padding-top:56px;padding-bottom:56px}
.hero_texto{flex:1 1 480px;min-width:0;display:flex;flex-direction:column;gap:18px}
.hero_texto .eyebrow{margin:0}
.hero_title{font-size:clamp(38px,5vw,60px);line-height:1.05;font-weight:500;letter-spacing:-.01em;color:#fff}
.hero_tagline{font-size:clamp(20px,2.2vw,26px);font-weight:400;color:#fff}
.hero_tagline strong{font-weight:600}
.hero_desc{font-size:16px;line-height:1.6;color:#DCE2FF;max-width:520px}
.hero_ctas{display:flex;flex-wrap:wrap;gap:12px;margin-top:6px}
.hero_media{flex:1 1 420px;min-width:0;margin:0}
.hero_media img{width:100%;aspect-ratio:16/10;object-fit:cover;border-radius:20px}
.hero_media figcaption{margin-top:10px;font-size:13px;line-height:1.5;font-style:italic;font-weight:300;color:#A9B1D6}

/* ============ INSTITUCIONES ============ */
.inst{padding:40px 0}
.inst_in{display:flex;flex-direction:column;gap:32px}
.inst .eyebrow{margin-bottom:8px}
.inst_split{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:20px;align-items:stretch}
.inst_foto{margin:0;position:relative;border-radius:20px;overflow:hidden;min-height:280px}
.inst_foto img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 70%}
.inst_cards{display:grid;gap:20px}
.inst_card{border:1.5px solid #C9D0F5;border-radius:20px;padding:24px 28px;display:flex;flex-direction:column;gap:12px}
.inst_logo{height:48px;display:flex;align-items:center}
.inst_logo img{width:auto;max-width:100%}
.inst_desc{font-size:15px;color:#2A2E6B;line-height:1.6}
.chips{display:flex;flex-wrap:wrap;gap:8px}
.chip{padding:6px 12px;border-radius:999px;background:#F5F6FA;font-size:13px;font-weight:500;color:#00005B}
.pills{display:flex;flex-wrap:wrap;justify-content:center;gap:10px 16px;font-size:16px;font-weight:600}
.pill{padding:10px 18px;border-radius:999px;background:#00005B;color:#fff}
.pill_plus{color:#8FA2FF;margin-right:6px}

/* ============ VISIÓN ============ */
.vision{background:#F5F6FA;padding:40px 0}
.vision_in{max-width:1100px;display:flex;flex-direction:column;gap:40px}
.vision_title{max-width:760px;font-size:clamp(28px,3.4vw,42px);line-height:1.15;font-weight:300;color:#00005B;margin-bottom:16px}
.vision_title strong{font-weight:600}
.vision_desc{max-width:620px;font-size:16px;line-height:1.6;color:#2A2E6B}
.vision_camino{display:flex;flex-direction:column;gap:28px}
.vision_steps_t{text-align:center;font-size:15px;font-weight:600}
.vision_steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:32px 28px}
.vision_steps li{border-top:3px solid #1733FF;padding-top:20px;display:flex;flex-direction:column;gap:6px}
.step_n{font-size:13px;font-weight:600;color:#1733FF;letter-spacing:.06em}
.vision_steps h3{font-size:20px;font-weight:600}
.vision_steps p{font-size:15px;color:#2A2E6B}
.take{border-radius:20px;padding:clamp(28px,4vw,44px);display:flex;flex-direction:column;gap:10px}
.take_eyebrow{font-size:13px;letter-spacing:.14em;text-transform:uppercase;font-weight:600;color:#BFC9FF}
.take_title{font-size:clamp(20px,2.4vw,28px);line-height:1.3;font-weight:600;max-width:820px}
.take_text{font-size:16px;color:#DCE2FF}

/* ============ CO-CREACIÓN ============ */
.cocrea{padding:40px 0}
.cocrea_in{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:40px;align-items:center}
.cocrea_foto{margin:0;border-radius:20px;overflow:hidden}
.cocrea_foto img{width:100%;aspect-ratio:3/2;object-fit:cover;object-position:50% 40%}
.cocrea_texto{display:flex;flex-direction:column;gap:16px}
.cocrea_p{font-size:16px;line-height:1.6;color:#2A2E6B}
.persona{display:flex;gap:18px;align-items:flex-start;background:#F5F6FA;border-radius:16px;padding:20px;margin-top:8px}
.persona img{width:84px;height:84px;border-radius:50%;object-fit:cover;flex:0 0 auto}
.persona_k{font-size:12px;letter-spacing:.12em;text-transform:uppercase;font-weight:600;color:#1733FF}
.persona_n{font-size:18px;font-weight:600;margin-top:2px}
.persona_r{font-size:14px;color:#2A2E6B}
.persona_b{font-size:13px;color:#3B3F7A;line-height:1.5;margin-top:6px}

/* ============ LA NECESIDAD ============ */
.necesidad{padding:48px 0}
.necesidad_in{max-width:900px;display:flex;flex-direction:column;gap:clamp(28px,4vw,44px)}
.necesidad_head{text-align:center;display:flex;flex-direction:column;gap:12px;align-items:center}
.necesidad_title{font-size:clamp(30px,4vw,48px);line-height:1.1;font-weight:600;color:#fff}
.necesidad_intro{max-width:560px;font-size:clamp(15px,1.6vw,18px);color:#E6EAFF;line-height:1.55}
.necesidad_intro strong,.necesidad_text strong{font-weight:600;color:#fff}
.necesidad_stat{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:12px 40px}
.necesidad_big{font-size:clamp(88px,14vw,168px);font-weight:600;line-height:.9;letter-spacing:-.03em}
.necesidad_text{flex:0 1 340px;min-width:240px;font-size:clamp(17px,2vw,22px);line-height:1.35;color:#E6EAFF}
.necesidad_barwrap{display:flex;flex-direction:column;gap:12px}
.necesidad_bar{display:flex;gap:4px;height:34px;border-radius:999px;overflow:hidden;font-size:13px;font-weight:600}
.bar_a{min-width:56px;background:#fff;color:#00005B;display:flex;align-items:center;justify-content:center}
.bar_b{background:rgba(255,255,255,.2);color:#fff;display:flex;align-items:center;justify-content:center}
.necesidad_fuente{font-size:12px;line-height:1.5;font-style:italic;font-weight:300;color:#A9B1D6}

/* ============ DIRIGIDO A / DIFERENCIADORES ============ */
.aud{padding:40px 0}
.aud_in{display:flex;flex-direction:column;gap:28px}
.aud_head{display:flex;flex-wrap:wrap;gap:16px 32px;align-items:center;justify-content:space-between}
.segmented{display:inline-flex;gap:4px;padding:4px;border-radius:999px;background:#F5F6FA}
.seg_btn{min-height:44px;padding:8px 18px;border-radius:999px;border:0;background:transparent;color:#00005B;font-size:14px;font-weight:600;cursor:pointer}
.seg_btn.is_active{background:#1733FF;color:#fff}
.aud_panel{display:flex;flex-direction:column;gap:20px}
.aud_panel[hidden]{display:none}
.aud_grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,230px),1fr));gap:16px}
.aud_card{border:1.5px solid #E1E4F0;border-radius:16px;padding:22px;display:flex;flex-direction:column;gap:10px}
.num_box{width:40px;height:40px;border-radius:8px;background:#1733FF;color:#fff;font-weight:600;display:flex;align-items:center;justify-content:center;font-size:15px;margin-bottom:6px}
.aud_card h3{font-size:18px;font-weight:600}
.aud_card p{font-size:14px;color:#2A2E6B;line-height:1.55}
.aud_grid_5{grid-template-columns:repeat(5,minmax(0,1fr))}
.aud_grid_5 .aud_card{padding:18px}
.aud_grid_5 .num_box{width:34px;height:34px;font-size:13px}
.aud_grid_5 .aud_card h3{font-size:16px}
.aud_grid_5 .aud_card p{font-size:13px}
.chips_oscuros .chip{background:#00005B;color:#fff;font-size:12px;font-weight:600}

/* ============ MALLA CURRICULAR ============ */
.malla{padding:48px 0;overflow:hidden}
.malla_in{display:flex;flex-direction:column;gap:24px}
.malla_tabs{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,200px),1fr));gap:8px}
.malla_tab{min-height:60px;padding:10px 18px;border-radius:12px;border:1.5px solid rgba(255,255,255,.3);background:transparent;color:#fff;text-align:left;cursor:pointer}
.malla_tab span{display:block;font-size:12px;opacity:.8}
.malla_tab strong{display:block;font-size:16px;font-weight:600}
.malla_tab.is_active{background:#fff;border-color:#fff;color:#00005B}
.malla_panel{background:#fff;color:#00005B;border-radius:20px;padding:clamp(20px,3vw,36px);display:flex;flex-direction:column;gap:24px}
.malla_panel[hidden]{display:none}
.malla_q{font-size:clamp(20px,2vw,26px);font-weight:600;line-height:1.25}
.malla_goal{margin-top:6px;font-size:15px;color:#2A2E6B;line-height:1.6}
.malla_goal strong{font-weight:600;color:#00005B}
.malla_flow_t{margin-bottom:12px;font-size:13px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:#1733FF}
.malla_flow{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,180px),1fr));gap:10px}
.step{border-radius:12px;padding:16px;background:#F5F6FA;color:#00005B}
.step_dark{background:#00005B;color:#fff}
.step_coach{background:#fff;border:1.5px dashed #1733FF}
.step_m{display:block;font-size:12px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;opacity:.75}
.step_t{display:block;font-size:16px;font-weight:600;margin-top:4px}
.step_d{display:block;font-size:13px;margin-top:4px;opacity:.85;line-height:1.45}
.entregable{border-radius:16px;padding:24px 28px;display:flex;flex-wrap:wrap;gap:8px 32px;align-items:center}
.entregable>div{flex:1 1 280px;min-width:0}
.entregable_l{font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:#FFCB2A;font-weight:600}
.entregable_t{margin-top:4px;font-size:22px;font-weight:600;line-height:1.25}
.entregable_d{flex:1.4 1 360px;font-size:14px;color:#DCE2FF;line-height:1.55}

/* ============ PLANA DOCENTE ============ */
.docentes{padding:40px 0;overflow:hidden}
.docentes_in{display:flex;flex-direction:column;gap:32px}
.docentes_head{display:flex;flex-wrap:wrap;gap:12px 56px;align-items:flex-end}
.docentes_head_main{flex:2 1 560px;min-width:0}
.docentes_head .title_v1{max-width:720px}
.docentes_sub{flex:1 1 300px;font-size:15px;color:#2A2E6B;line-height:1.6}
.docentes_grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,250px),1fr));gap:16px}
.docente{background:#F5F6FA;border-radius:16px;padding:20px;display:flex;flex-direction:column;gap:12px}
.docente_row{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}
.docente_foto{width:80px;height:80px;border-radius:50%;object-fit:cover}
.pais{display:inline-flex;align-items:center;gap:7px;padding:4px 10px 4px 5px;border-radius:999px;background:#fff;border:1px solid #E1E4F0;font-size:12px;font-weight:500;white-space:nowrap;line-height:1.3}
.pais img{width:22px;height:15px;border-radius:3px;object-fit:cover;box-shadow:0 0 0 1px rgba(0,0,91,.12)}
.docente_n{font-size:16px;font-weight:600}
.docente_r{margin-top:2px;font-size:13px;color:#3B3F7A;line-height:1.45}
.nota{font-size:12px;color:#3B3F7A}

/* ============ POSTULA / FORMULARIO ============ */
.postula{padding:48px 0}
.postula_in{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:48px;align-items:start}
.postula_texto{display:flex;flex-direction:column;gap:16px;padding-top:8px}
.postula_title{font-size:clamp(26px,3vw,36px);line-height:1.2;font-weight:600;color:#fff}
.postula_meta{font-size:14px;color:#BFC9FF}
.postula_sede{font-size:14px;color:#DCE2FF;line-height:1.6}
.postula_sede strong{color:#fff;font-weight:600}
.form{background:#fff;color:#00005B;border-radius:20px;padding:clamp(22px,3vw,36px)}
.title_form{font-size:20px;font-weight:600}
.form_nota{font-size:12px;color:#3B3F7A;margin:4px 0 18px}
.list_campos{display:grid;grid-template-columns:1fr 1fr;gap:14px 16px}
.label_txt{display:flex;flex-direction:column;gap:6px;font-size:13px;font-weight:500;position:relative}
.label_full{grid-column:1/-1}
.campo{width:100%;min-height:46px;padding:10px 14px;border:1.5px solid #C9D0F5;border-radius:10px;font-size:15px;color:#00005B;background:#fff}
.campo:focus{border-color:#1733FF;outline:none;box-shadow:0 0 0 3px rgba(23,51,255,.15)}
.list_radio{display:flex;flex-direction:column;gap:14px;margin:18px 0 22px}
.item_check{display:flex;gap:10px;align-items:flex-start;font-size:13px;line-height:1.5;color:#2A2E6B;cursor:pointer;position:relative}
.item_check input{width:18px;height:18px;margin:2px 0 0;flex:0 0 auto;accent-color:#1733FF}
.tyc{background:none;border:0;padding:0;font:inherit;color:#1733FF;text-decoration:underline;cursor:pointer}
.item_radio p{font-size:13px;line-height:1.5;color:#2A2E6B}
.radios{display:flex;gap:20px;margin-top:8px;position:relative}
.label_radio{display:inline-flex;align-items:center;gap:8px;font-size:14px;cursor:pointer;min-height:32px}
.label_radio input{width:18px;height:18px;margin:0;accent-color:#1733FF}
.btn_enviar{width:100%;min-height:52px;font-size:16px}

/* ============ FAQ ============ */
.faq{background:#F4F5FB;padding:40px 0}
.faq_in{max-width:860px;display:flex;flex-direction:column;gap:24px}
.faq_title{text-align:center}
.faq_title em{font-style:normal;color:#1733FF}
.list_faq{display:flex;flex-direction:column;gap:10px}
.item_faq{background:#fff;border-radius:14px;box-shadow:0 1px 0 rgba(0,0,91,.04)}
.head_faq{width:100%;display:flex;justify-content:space-between;align-items:center;gap:16px;padding:18px 22px;background:none;border:0;text-align:left;font-size:16px;font-weight:500;color:#00005B;cursor:pointer;min-height:56px}
.cross{position:relative;width:22px;height:22px;border-radius:50%;background:#EEF0FF;flex:0 0 auto}
.cross:before,.cross:after{content:"";position:absolute;left:50%;top:50%;width:10px;height:2px;background:#1733FF;transform:translate(-50%,-50%);transition:transform .25s}
.cross:after{transform:translate(-50%,-50%) rotate(90deg)}
.malla_on .cross:after{transform:translate(-50%,-50%) rotate(0deg)}
.body_faq{height:0;overflow:hidden;transition:height .3s ease}
.body_alto{padding:0 22px 20px;font-size:15px;color:#2A2E6B;line-height:1.6}

/* ============ FOOTER ============ */
.footer{background:#0A0A0A;color:#fff}
.footer_in{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:20px;padding-top:40px;padding-bottom:40px}
.footer_logo{height:40px;width:auto}
.footer_legal{font-size:13px;color:#A3A3A3}

/* ============ MODAL TÉRMINOS ============ */
.overlay{display:none;position:fixed;inset:0;background:rgba(0,0,20,.65);z-index:200}
.modal{display:none;position:fixed;z-index:210;left:50%;top:50%;transform:translate(-50%,-50%);width:min(760px,calc(100% - 32px));max-height:calc(100vh - 64px);background:#fff;border-radius:16px;overflow:hidden}
.modal_content{display:flex;flex-direction:column;max-height:calc(100vh - 64px)}
.modal_close{display:flex;justify-content:flex-end;padding:12px 12px 0}
.modal_close_action{background:none;border:0;cursor:pointer;padding:8px;line-height:0}
.modal_info{padding:0 28px 28px;overflow:auto;font-size:14px;line-height:1.6;color:#2A2E6B}
.modal_info h3{font-size:20px;color:#00005B;margin-bottom:12px}
.modal_info ol{padding-left:20px}
.modal_info li{margin-bottom:8px}

/* ============ RESPUESTA (gracias) ============ */
.gracias_in{min-height:calc(100vh - 67px - 120px);display:flex;align-items:center;padding-top:64px;padding-bottom:64px}
.gracias_box{max-width:640px;display:flex;flex-direction:column;gap:16px}
.gracias_box h1{font-size:clamp(32px,4.4vw,52px);line-height:1.1;font-weight:600;color:#fff}
.gracias_box p{font-size:17px;line-height:1.6;color:#DCE2FF}
.gracias_box .btn{align-self:flex-start;margin-top:8px}
