:root{--blue:#063f84;--blue2:#082e65;--green:#08a247;--yellow:#ffd300;--text:#17304f;--muted:#6e7b8c;--bg:#f4f7fb}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,Segoe UI,Arial,sans-serif;color:var(--text);background:#fff}a{color:inherit}.utility{min-height:34px;background:#063576;color:#fff;padding:7px max(24px,calc((100vw - 1240px)/2));display:flex;justify-content:space-between;gap:20px;font-size:12px}.utility a{text-decoration:none}.utility-links{display:flex;gap:22px}.site-head{max-width:1240px;margin:auto;display:flex;align-items:center;justify-content:space-between;padding:14px 18px;gap:28px;background:#fff}.brand-public{display:flex;align-items:center;gap:12px;text-decoration:none;min-width:350px}.brand-public img{width:82px;height:72px;object-fit:contain}.brand-seal{width:70px;height:70px;border-radius:50%;display:grid;place-items:center;background:#eef5ff;border:5px solid var(--blue);font-size:13px;font-weight:900}.brand-public small{display:block;font-size:10px;color:#1b4e88;font-weight:800}.brand-public strong{display:block;font-size:27px;color:#0d4d92;line-height:1}.brand-public em{display:block;font-size:10px;color:#52708e;margin-top:4px;font-style:normal}.head-info{display:flex;gap:20px}.head-info span{display:grid;grid-template-columns:auto auto;column-gap:8px;align-items:center;font-size:12px}.head-info span:first-letter{font-size:24px;color:#198245}.head-info b{font-size:11px}.head-info small{grid-column:2;color:#536276}.mainnav{position:sticky;top:0;z-index:50;background:linear-gradient(90deg,#0755a5,#063d84);box-shadow:0 2px 5px #0002}.nav-list{max-width:1240px;margin:auto;padding:0 8px;list-style:none;display:flex;align-items:stretch}.nav-list>li>a{color:#fff;text-decoration:none;padding:14px 14px;display:flex;gap:6px;align-items:center;font-size:14px;white-space:nowrap}.nav-list>li:first-child>a{background:var(--green)}.nav-list>li:hover>a{background:var(--yellow);color:#203049}.has-sub{position:relative}.submenu{display:none;position:absolute;left:0;top:100%;min-width:245px;list-style:none;padding:0;margin:0;background:#273e69;box-shadow:0 12px 30px #0003}.has-sub:hover>.submenu{display:block}.submenu li{position:relative;border-bottom:1px solid #ffffff18}.submenu a{display:flex;justify-content:space-between;color:#fff;text-decoration:none;padding:13px 14px;font-size:13px}.submenu .submenu{left:100%;top:0}.submenu a:hover{background:#324f82}.nav-toggle{display:none;background:none;border:0;color:#fff;font-weight:800;padding:13px 18px}.hero-slider{height:min(560px,60vw);min-height:430px;position:relative;overflow:hidden;background:linear-gradient(110deg,#00468d,#0b65a9 60%,#d7e4ed)}.hero-slide{position:absolute;inset:0;opacity:0;transition:opacity .7s;background-size:cover;background-position:center;display:flex;align-items:center}.hero-slide.active{opacity:1;z-index:1}.hero-content{width:min(1240px,100%);margin:auto;padding:0 65px;color:#fff}.hero-content h1{font-size:clamp(38px,5vw,70px);max-width:720px;line-height:1.03;margin:0 0 18px;text-shadow:0 2px 12px #001b3f55}.hero-content p{font-size:18px;max-width:650px;line-height:1.6}.hero-btn,.outline-btn{display:inline-block;background:#0ca54d;color:#fff;text-decoration:none;padding:12px 18px;border-radius:6px;font-weight:800}.outline-btn{background:#fff;color:#0b4b8a;border:1px solid #b7c9db;margin-left:8px}.slide-prev,.slide-next{position:absolute;z-index:3;top:48%;width:48px;height:48px;border-radius:50%;border:1px solid #fff9;background:#0002;color:#fff;font-size:32px;cursor:pointer}.slide-prev{left:18px}.slide-next{right:18px}.slide-dots{position:absolute;z-index:3;bottom:18px;left:50%;transform:translateX(-50%);display:flex;gap:8px}.slide-dots button{width:13px;height:13px;border-radius:50%;border:2px solid #fff;background:transparent}.slide-dots button.active{background:#fff}.quick-section{display:flex;max-width:1300px;margin:18px auto 0;padding:0 18px;gap:18px}.quick-title{flex:0 0 100px;background:linear-gradient(#0a54a5,#073f87);color:#fff;border-radius:10px;display:grid;place-items:center;text-align:center;font-size:12px;font-weight:900}.quick-track{display:flex;gap:10px;overflow-x:auto;scrollbar-width:thin;padding:0 0 10px;flex:1}.quick-card{min-width:220px;display:flex;align-items:center;gap:12px;border:1px solid #e1e8ef;border-radius:12px;padding:14px;background:#fff;text-decoration:none;box-shadow:0 5px 16px #143d6a0b}.quick-card:hover{transform:translateY(-2px);box-shadow:0 8px 22px #143d6a17}.quick-card img{width:48px;height:48px;object-fit:contain}.quick-icon{font-size:34px}.quick-card b,.quick-card small{display:block}.quick-card small{color:var(--muted);margin-top:3px}.section{max-width:1240px;margin:70px auto;padding:0 20px}.section-head{display:flex;justify-content:space-between;align-items:end;margin-bottom:24px}.section-head span,.center-head span,.location>div>span,.eyebrow{font-size:12px;font-weight:900;letter-spacing:1.6px;color:#0a68b5}.section-head h2,.center-head h2,.location h2{font-size:34px;margin:5px 0}.section-head>a{color:#0a5ba8;font-weight:800}.news-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.news-card{text-decoration:none;border:1px solid #e1e8ef;border-radius:12px;overflow:hidden;background:#fff;box-shadow:0 7px 22px #0d3b6d10}.news-card img,.news-placeholder{width:100%;height:165px;object-fit:cover}.news-placeholder{display:grid;place-items:center;background:linear-gradient(135deg,#0a5aa6,#0d3971);color:#fff;font-weight:900}.news-body{padding:15px}.news-body span{font-size:11px;color:#6e7b8c;font-weight:700}.news-body h3{font-size:17px;margin:8px 0}.news-body p{font-size:13px;color:#6d7988;line-height:1.5}.stats-section{background:#061149;color:#fff;padding:45px 20px;text-align:center}.stats-section h2{margin:0 0 30px}.stats-grid{max-width:1150px;margin:auto;display:grid;grid-template-columns:repeat(5,1fr)}.stats-grid>div{display:flex;flex-direction:column;gap:8px}.stats-grid span{font-size:34px}.stats-grid strong{font-size:43px;font-weight:500}.stats-grid small{font-size:14px}.center-head{text-align:center;max-width:760px;margin:0 auto 30px}.center-head p{color:var(--muted)}.program-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}.program-card{text-decoration:none;border:1px solid #dbe5ee;border-radius:12px;overflow:hidden;border-top:5px solid var(--pc);box-shadow:0 8px 20px #183f670c}.program-card img,.program-placeholder{width:100%;height:190px;object-fit:cover}.program-placeholder{display:grid;place-items:center;background:linear-gradient(135deg,#eff6ff,#f8fbff)}.program-placeholder span{font-size:72px}.program-card>div:last-child{padding:18px}.program-card h3{color:var(--pc);font-size:20px;margin:0 0 10px}.program-card p{font-size:14px;color:#647286;line-height:1.5}.program-card b{color:var(--pc);font-size:13px}.service-band{max-width:1240px;margin:70px auto;display:grid;grid-template-columns:repeat(3,1fr);gap:16px;padding:0 20px}.service-band>div{background:#f4f7fb;border-radius:14px;padding:25px}.service-band span{font-size:38px}.service-band h3{margin:9px 0}.service-band p{color:#6d7987}.teacher-call{background:linear-gradient(135deg,#064a90,#092e62)!important;color:#fff}.teacher-call p{color:#d9e7f5}.teacher-call a{color:#ffd94e;font-weight:900}.location{display:grid;grid-template-columns:.7fr 1.3fr;gap:30px;align-items:center}.mapbox{height:360px;background:#eef3f7;border-radius:14px;overflow:hidden}.mapbox iframe{width:100%;height:100%;border:0}.map-empty{height:100%;display:grid;place-items:center;text-align:center;padding:30px;color:#708093}.sitemap{background:#0a2e5f;color:#fff;padding:50px max(20px,calc((100vw - 1200px)/2))}.section-head.light span,.section-head.light h2{color:#fff}.sitemap-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:28px}.sitemap-col h4{margin:0 0 12px;color:#ffd54c}.sitemap-col ul{list-style:none;padding:0;margin:0}.sitemap-col li{margin:8px 0}.sitemap-col a{color:#d9e7f7;text-decoration:none;font-size:13px}.footer{background:#061a38;color:#d6e3f2;padding:40px max(20px,calc((100vw - 1200px)/2)) 18px}.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:40px}.footer h3{color:#fff}.footer a{color:#d6e3f2}.socials{display:flex;gap:9px}.socials a{width:38px;height:38px;background:#0d4e90;display:grid;place-items:center;text-decoration:none;border-radius:5px;font-weight:900}.copyright{border-top:1px solid #ffffff1c;margin-top:30px;padding-top:15px;font-size:12px;text-align:center}.inner{max-width:1100px;margin:60px auto;padding:0 22px;min-height:450px}.inner h1{font-size:42px}.notice-box{background:#f2f7fb;border-left:5px solid #0a5ca8;padding:24px;border-radius:8px;margin-top:28px}.inner-map{color:#17304f}.inner-map .sitemap-col a{color:#34516f}.article{max-width:900px}.article-img{width:100%;max-height:520px;object-fit:cover;border-radius:14px}.article-text{font-size:17px;line-height:1.8;margin-top:25px}.lead{font-size:20px;line-height:1.6}.contest-list{display:grid;gap:16px;margin-top:35px}.contest-list article{display:grid;grid-template-columns:130px 1fr;gap:25px;border:1px solid #dce5ed;border-radius:12px;padding:24px}.year{display:block;font-size:34px;color:#095ca7}.contest-state{font-size:11px;background:#e8f2fb;color:#0b548f;padding:6px 8px;border-radius:999px}.contest-list h2{margin-top:0}.contest-actions{margin-top:15px}@media(max-width:1100px){.head-info{display:none}.nav-list>li>a{padding:14px 9px;font-size:12px}.news-grid,.program-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:900px){.utility{display:none}.site-head{padding:10px 15px}.brand-public{min-width:0}.brand-public small,.brand-public em{display:none}.brand-public strong{font-size:20px}.brand-public img{width:60px;height:55px}.mainnav{position:relative}.nav-toggle{display:block}.nav-list{display:none;flex-direction:column;padding:0}.nav-list.open{display:flex}.nav-list>li>a{padding:13px 18px}.submenu,.submenu .submenu{position:static;box-shadow:none;min-width:0;margin-left:14px}.has-sub:hover>.submenu{display:none}.has-sub.open-sub>.submenu{display:block}.hero-slider{height:470px;min-height:470px}.hero-content{padding:0 45px}.quick-title{display:none}.stats-grid{grid-template-columns:repeat(3,1fr);gap:25px}.service-band{grid-template-columns:1fr}.location{grid-template-columns:1fr}.sitemap-grid{grid-template-columns:repeat(2,1fr)}.footer-grid{grid-template-columns:1fr 1fr}}@media(max-width:600px){.hero-content{padding:0 28px}.hero-content h1{font-size:38px}.hero-content p{font-size:15px}.slide-prev,.slide-next{width:38px;height:38px}.quick-section{padding:0 12px}.quick-card{min-width:185px}.section{margin:45px auto}.news-grid,.program-grid{grid-template-columns:1fr}.stats-grid{grid-template-columns:repeat(2,1fr)}.sitemap-grid,.footer-grid{grid-template-columns:1fr}.contest-list article{grid-template-columns:1fr}.section-head{align-items:start;gap:10px}.section-head h2,.center-head h2,.location h2{font-size:28px}}

/* ETAPA 3.1 - legibilidad, estilo y animación */
body{font-family:"Source Sans 3",Arial,sans-serif;font-size:17px;line-height:1.55}h1,h2,h3,h4,.nav-list,.hero-btn,.outline-btn,.quick-card b{font-family:Montserrat,Arial,sans-serif}.nav-list>li>a{font-size:13px;font-weight:600}.submenu{min-width:270px}.submenu a{font-size:14px;font-weight:600;padding:13px 16px}.submenu .submenu{left:100%;top:0}.submenu .submenu .chev{transform:rotate(-90deg)}.hero-content p{font-size:20px}.hero-btn,.outline-btn{transition:transform .22s,box-shadow .22s,filter .22s}.hero-btn{background:linear-gradient(135deg,#09a94a,#16c760);box-shadow:0 9px 22px rgba(7,154,68,.3)}.hero-btn:hover,.outline-btn:hover{transform:translateY(-3px) scale(1.02);box-shadow:0 14px 28px rgba(5,60,110,.25)}.quick-card,.news-card,.program-card,.service-band>div{transition:transform .23s,box-shadow .23s,border-color .23s}.quick-card:hover,.news-card:hover,.program-card:hover,.service-band>div:hover{transform:translateY(-6px);box-shadow:0 16px 34px rgba(5,55,105,.2)}.inner h1{font-size:44px}.lead{font-size:21px}.rich-content{font-size:18px;line-height:1.75;margin-top:28px}.rich-content h2{font-size:28px;color:#0a4f91;margin-top:32px}.rich-content blockquote{background:#f1f7fd;border-left:5px solid #0b61b2;padding:20px 24px;border-radius:8px}.value-chips{display:flex;gap:10px;flex-wrap:wrap}.value-chips span{background:#0a559c;color:#fff;padding:9px 15px;border-radius:999px;font-weight:700}.table-responsive{overflow:auto}.content-table{width:100%;border-collapse:collapse;min-width:680px}.content-table th,.content-table td{border:1px solid #d8e3ed;padding:12px 14px;text-align:left}.content-table th{background:#0a559c;color:#fff}.content-table tr:nth-child(even) td{background:#f7fafc}.feature-list{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.feature-list span{background:#f4f9fd;border-left:4px solid #0baa4b;padding:13px 15px;border-radius:7px}.info-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.info-cards div{background:linear-gradient(135deg,#075aae,#093d77);color:#fff;border-radius:13px;padding:20px;text-align:center}.info-cards strong{display:block;font-size:28px;font-family:Montserrat}.timeline-list{list-style:none;padding:0}.timeline-list li{background:#f5f9fc;border-radius:8px;padding:13px 15px;margin:8px 0}.sitemap-sub{margin:7px 0 10px 12px!important;padding-left:10px!important;border-left:1px solid #ffffff33}.info-popup{display:none;position:fixed;inset:0;z-index:2000;align-items:center;justify-content:center;padding:22px}.info-popup.is-open{display:flex}.popup-backdrop{position:absolute;inset:0;background:rgba(0,22,51,.76);backdrop-filter:blur(4px)}.popup-card{position:relative;z-index:2;width:min(760px,95vw);max-height:88vh;overflow:auto;background:#fff;border-radius:20px;box-shadow:0 28px 80px rgba(0,20,50,.4);display:grid;grid-template-columns:minmax(0,280px) 1fr;animation:popupIn .35s ease}.popup-image{width:100%;height:100%;min-height:320px;object-fit:cover}.popup-content{padding:34px}.popup-content>span{color:#0a60aa;font-size:12px;font-weight:900;letter-spacing:1.3px}.popup-content h2{font-size:31px;color:#0b3f78;line-height:1.15;margin:8px 0 12px}.popup-content p{font-size:17px;color:#586b80}.popup-close{position:absolute;right:12px;top:10px;z-index:5;width:38px;height:38px;border:0;border-radius:50%;background:#0b3f78;color:#fff;font-size:25px;cursor:pointer}.popup-close:hover{background:#e34a3d;transform:scale(1.06)}@keyframes popupIn{from{opacity:0;transform:translateY(25px) scale(.96)}to{opacity:1;transform:none}}@media(max-width:940px){.popup-card{grid-template-columns:1fr}.popup-image{height:220px;min-height:0}.feature-list,.info-cards{grid-template-columns:1fr}}@media(max-width:620px){body{font-size:16px}.inner h1{font-size:36px}.rich-content{font-size:17px}.popup-content{padding:27px 22px}.popup-content h2{font-size:27px}}

/* ETAPA 3.2 - visual institucional, mayor legibilidad y WhatsApp */
:root{--brand:#0756A3;--accent:#FFD400;--base-font:18px;--ink:#10263f;--muted:#5e7185;--soft:#f4f8fc;--navy:#073b78}
html{scroll-behavior:smooth}body{font-family:"Manrope",Arial,sans-serif;font-size:var(--base-font);line-height:1.68;color:var(--ink);background:#fff;letter-spacing:.005em}button,input,select,textarea{font:inherit}p,li{font-size:1em}.utility{font-size:14px;letter-spacing:.01em}.site-head{min-height:105px}.brand-public strong{font-size:28px;letter-spacing:-.4px;color:var(--brand)}.brand-public small{font-size:12px;letter-spacing:.03em}.brand-public em{font-size:13px}.head-info span b{font-size:14px}.head-info span small{font-size:13px;line-height:1.35}.mainnav{background:linear-gradient(90deg,var(--brand),#073b78);box-shadow:0 5px 14px rgba(3,39,79,.18)}.nav-list>li>a{font-family:"Manrope",sans-serif;font-size:14.5px;font-weight:700;letter-spacing:.005em;padding:16px 13px;transition:background .2s,color .2s,transform .2s}.nav-list>li>a:hover,.nav-list>li.has-sub:hover>a{background:var(--accent);color:#13263b;transform:translateY(-1px)}.submenu{border-radius:0 0 10px 10px;overflow:visible;background:#203f6e;border-top:3px solid var(--accent);box-shadow:0 18px 35px rgba(4,30,60,.28)}.submenu li{border-bottom:1px solid rgba(255,255,255,.11)}.submenu a{font-size:15px;font-weight:650;padding:15px 18px;line-height:1.35;color:#fff;transition:padding-left .2s,background .2s,color .2s}.submenu a:hover{padding-left:23px;background:#2e568b;color:#fff}.hero-slider{min-height:560px;height:clamp(560px,67vh,720px)}.hero-content{max-width:720px}.hero-content h1{font-family:"Playfair Display",Georgia,serif;font-size:clamp(48px,5vw,72px);line-height:1.06;letter-spacing:-1px;text-shadow:0 4px 18px rgba(0,0,0,.18)}.hero-content p{font-size:clamp(18px,1.7vw,23px);line-height:1.65;max-width:690px;font-weight:500}.hero-btn,.outline-btn,.btn-link{font-family:"Manrope",sans-serif;font-size:16px;font-weight:800;border-radius:12px;min-height:48px;padding:13px 22px;display:inline-flex;align-items:center;gap:8px}.hero-btn{background:linear-gradient(135deg,#08a84b,#12c75d);box-shadow:0 12px 28px rgba(6,151,65,.32)}.hero-btn:hover{filter:brightness(1.06);transform:translateY(-4px) scale(1.025);box-shadow:0 18px 38px rgba(6,151,65,.38)}.quick-section{margin-top:-1px;padding:16px 2vw 18px;background:#f4f8fd}.quick-title{font-size:15px;font-weight:900;letter-spacing:.04em;border-radius:12px}.quick-card{border-radius:15px;padding:17px 19px;min-height:92px;border:1px solid #dbe7f2;background:#fff}.quick-card b{font-family:"Manrope";font-size:15.5px;line-height:1.3;color:#12345a}.quick-card small{font-size:13.5px;line-height:1.35}.section{margin-top:72px;margin-bottom:72px}.section-head span,.center-head span,.location>div>span{font-size:13px;font-weight:900;letter-spacing:.14em;color:var(--brand)}.section-head h2,.center-head h2,.location h2,.stats-section h2{font-family:"Playfair Display",Georgia,serif;font-size:clamp(34px,3.2vw,48px);line-height:1.12;color:#0b315c;letter-spacing:-.5px}.center-head p{font-size:18px;color:var(--muted)}.news-card,.program-card,.service-band>div{border-radius:17px;box-shadow:0 8px 24px rgba(7,53,96,.09);border:1px solid #e0e9f2}.news-body{padding:22px}.news-body span{font-size:12.5px;font-weight:800;color:var(--brand)}.news-body h3,.program-card h3,.service-band h3{font-size:21px;line-height:1.28}.news-body p,.program-card p,.service-band p{font-size:15.5px;line-height:1.62}.program-card b{font-size:15px}.stats-section{padding:58px 20px;background:linear-gradient(120deg,#061d46,#073b78 58%,#0c5795);position:relative;overflow:hidden}.stats-section:before{content:"";position:absolute;width:360px;height:360px;border-radius:50%;background:rgba(255,212,0,.08);right:-130px;top:-150px}.stats-section h2{color:#fff}.stats-grid strong{font-family:"Playfair Display",Georgia,serif;font-size:48px}.stats-grid small{font-size:15px;font-weight:650}.service-band>div{padding:30px}.sitemap{padding-top:58px;padding-bottom:58px}.sitemap-col h4{font-size:18px}.sitemap-col a{font-size:14.5px;line-height:1.5}.footer{font-size:15px}.footer h3{font-size:20px}.inner{max-width:1120px}.inner h1{font-family:"Playfair Display",Georgia,serif;font-size:clamp(42px,4vw,58px);line-height:1.12;color:#0b315c}.lead{font-size:22px}.rich-content{font-size:18.5px;line-height:1.82}.rich-content h2{font-family:"Playfair Display",Georgia,serif;font-size:34px}.info-popup{z-index:9999}.popup-card{width:min(860px,94vw);border-radius:24px;box-shadow:0 35px 90px rgba(0,20,50,.48);border:1px solid rgba(255,255,255,.4)}.popup-content{padding:42px}.popup-content>span{display:inline-block;background:#eaf4ff;color:var(--brand);padding:7px 10px;border-radius:999px;font-size:12px;font-weight:900}.popup-content h2{font-family:"Playfair Display",Georgia,serif;font-size:38px;line-height:1.1;color:#0b315c}.popup-content p{font-size:18px;line-height:1.7;color:#52677d}.popup-close{width:44px;height:44px;background:#0b315c;box-shadow:0 5px 15px rgba(0,0,0,.15)}.whatsapp-float{position:fixed;right:24px;bottom:24px;z-index:1500;display:flex;align-items:center;gap:10px;background:#20ba5a;color:#fff;text-decoration:none;border-radius:999px;padding:12px 17px 12px 13px;font-weight:800;font-size:15px;box-shadow:0 13px 32px rgba(12,116,56,.35);transition:transform .22s,box-shadow .22s,filter .22s;animation:waPulse 3s infinite}.whatsapp-float svg{width:29px;height:29px}.whatsapp-float:hover{transform:translateY(-4px) scale(1.035);box-shadow:0 18px 40px rgba(12,116,56,.42);filter:brightness(1.04)}@keyframes waPulse{0%,72%,100%{box-shadow:0 13px 32px rgba(12,116,56,.35)}82%{box-shadow:0 13px 32px rgba(12,116,56,.35),0 0 0 10px rgba(32,186,90,.12)}}
.reveal-on-scroll{opacity:0;transform:translateY(24px);transition:opacity .65s ease,transform .65s ease}.reveal-on-scroll.is-visible{opacity:1;transform:none}
@media(max-width:1100px){.nav-list>li>a{font-size:13.4px;padding:15px 9px}.hero-slider{min-height:520px;height:570px}.head-info{gap:18px}}
@media(max-width:900px){body{font-size:max(17px,var(--base-font))}.site-head{min-height:auto}.brand-public strong{font-size:24px}.nav-toggle{font-size:16px;font-weight:800}.nav-list>li>a{font-size:16px;padding:14px 18px}.submenu a{font-size:15.5px}.hero-slider{height:520px;min-height:520px}.hero-content h1{font-size:48px}.whatsapp-float span{display:none}.whatsapp-float{width:58px;height:58px;padding:0;justify-content:center;right:17px;bottom:17px}}
@media(max-width:600px){body{font-size:17px}.hero-slider{height:500px;min-height:500px}.hero-content h1{font-size:41px}.hero-content p{font-size:17px}.section{margin-top:52px;margin-bottom:52px}.section-head h2,.center-head h2,.location h2,.stats-section h2{font-size:34px}.popup-card{display:block}.popup-image{height:200px}.popup-content{padding:28px 22px}.popup-content h2{font-size:31px}.popup-content p{font-size:17px}.rich-content{font-size:17.5px}}
/* ETAPA 3.3 - rediseño interno inspirado en referencia, con identidad propia */
.site-head{padding-top:18px;padding-bottom:18px}.brand-public{min-width:410px}.brand-public img{width:92px;height:82px}.brand-public strong{font-size:31px}.mainnav{border-top:1px solid rgba(255,255,255,.12)}.nav-list>li>a{padding:17px 14px}.submenu{min-width:270px}.submenu .submenu{left:100%;top:-3px;border-top:0;border-left:3px solid var(--accent);border-radius:0 10px 10px 10px}.submenu .has-sub>a:after{content:'›';float:right;font-size:20px;line-height:1}.internal-layout{display:grid;grid-template-columns:minmax(0,1fr) 290px;gap:48px;align-items:start}.internal-main{min-width:0}.context-nav{position:sticky;top:92px;background:#fff;border:1px solid #dce7f2;border-radius:16px;overflow:hidden;box-shadow:0 12px 32px rgba(6,50,95,.10)}.context-nav-title{background:linear-gradient(135deg,var(--brand),#073b78);color:#fff;font-size:19px;font-weight:900;padding:18px 20px}.context-nav ul{list-style:none;margin:0;padding:0}.context-nav li+li{border-top:1px solid #e6edf4}.context-nav a{display:block;padding:14px 18px;text-decoration:none;font-size:15.5px;font-weight:700;color:#29435f;transition:.2s}.context-nav a:hover,.context-nav a.active{background:#edf6ff;color:var(--brand);padding-left:23px}.leadership-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;margin-top:30px}.leader-card{background:#fff;border:1px solid #dfe9f2;border-radius:20px;padding:22px;display:grid;grid-template-columns:125px 1fr;gap:20px;align-items:center;box-shadow:0 10px 28px rgba(7,53,96,.09);transition:.25s}.leader-card:hover{transform:translateY(-5px);box-shadow:0 18px 40px rgba(7,53,96,.16)}.leader-primary{grid-column:1/-1;grid-template-columns:210px 1fr;padding:30px;background:linear-gradient(135deg,#f8fbff,#edf6ff);border:2px solid #c8def4}.leader-primary img,.leader-primary .person-avatar{width:210px;height:240px}.leader-card img,.staff-card img{width:125px;height:145px;object-fit:cover;border-radius:16px;background:#edf3f8}.person-avatar{width:125px;height:145px;border-radius:16px;display:grid;place-items:center;background:linear-gradient(135deg,var(--brand),#0b78c6);color:#fff;font-size:48px;font-weight:900}.person-role{display:inline-block;color:var(--brand);font-weight:900;font-size:13px;letter-spacing:.05em;text-transform:uppercase}.leader-card h2{font-family:"Playfair Display",Georgia,serif;font-size:27px;margin:5px 0 6px;color:#0b315c}.leader-primary h2{font-size:38px}.person-profession,.staff-meta{color:#61758a;font-weight:700}.person-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:15px}.person-actions a{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;border:1px solid #bfd2e6;color:var(--brand);padding:9px 14px;border-radius:10px;font-size:14px;font-weight:800;transition:.2s}.person-actions a:hover{transform:translateY(-2px);background:#edf6ff}.person-actions .cv-btn{background:linear-gradient(135deg,var(--brand),#0b75bd);border-color:transparent;color:#fff;box-shadow:0 8px 20px rgba(7,86,163,.20)}.staff-section{margin-top:42px}.staff-section>h2{font-family:"Playfair Display",Georgia,serif;font-size:31px;color:#0b315c;border-bottom:3px solid #e6edf4;padding-bottom:10px;position:relative}.staff-section>h2:after{content:"";position:absolute;left:0;bottom:-3px;width:90px;height:3px;background:var(--accent)}.staff-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;margin-top:22px}.staff-card{background:#fff;border:1px solid #e0e9f2;border-top:5px solid var(--staff-color,var(--brand));border-radius:18px;overflow:hidden;box-shadow:0 10px 28px rgba(7,53,96,.09);transition:.25s}.staff-card:hover{transform:translateY(-6px);box-shadow:0 18px 38px rgba(7,53,96,.15)}.staff-card img,.staff-card>.person-avatar{width:100%;height:240px;border-radius:0}.staff-card>.person-avatar{font-size:64px}.staff-body{padding:20px}.staff-body h3{font-family:"Playfair Display",Georgia,serif;font-size:23px;color:#0b315c;margin:0 0 6px}.staff-body p{font-size:15.5px;margin:6px 0}.admin-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.article-img{border-radius:22px;box-shadow:0 16px 38px rgba(8,45,80,.14)}.rich-content{background:#fff}.rich-content>p:first-child{font-size:20px}.notice-box{border-radius:16px;padding:24px;border:1px solid #d9e8f6;background:#f4f9fe}.notice-box h2{margin-top:0;color:#0b315c}.footer{margin-top:70px}@media(max-width:1080px){.internal-layout{grid-template-columns:1fr}.context-nav{position:static;order:-1}.context-nav ul{display:flex;overflow:auto}.context-nav li{border-top:0!important;border-right:1px solid #e6edf4;flex:0 0 auto}.context-nav a{white-space:nowrap}.leadership-grid{grid-template-columns:1fr}.leader-primary{grid-column:auto}.staff-grid,.admin-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:700px){.brand-public{min-width:0}.leadership-grid,.staff-grid,.admin-grid{grid-template-columns:1fr}.leader-card,.leader-primary{grid-template-columns:1fr;text-align:center}.leader-card img,.leader-primary img,.leader-card .person-avatar,.leader-primary .person-avatar{width:150px;height:170px;margin:auto}.leader-primary h2{font-size:32px}.person-actions{justify-content:center}.staff-card img,.staff-card>.person-avatar{height:280px}.context-nav-title{font-size:17px}}

/* ETAPA 3.3A - Personal a ancho completo */
.personal-fullwidth{max-width:1380px!important;margin:0 auto!important;padding:46px 34px 64px!important;display:block!important}
.personal-fullwidth>.internal-main{width:100%!important;max-width:none!important}
.personal-fullwidth .leadership-grid{width:100%;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}
.personal-fullwidth .leader-primary{grid-column:1/-1;display:grid;grid-template-columns:300px 1fr;align-items:center;padding:36px;min-height:360px}
.personal-fullwidth .leader-primary img,.personal-fullwidth .leader-primary .person-avatar{width:260px;height:300px;border-radius:24px;object-fit:cover}
.personal-fullwidth .leader-primary h2{font-size:clamp(32px,3vw,46px);margin:8px 0 10px}
.personal-fullwidth .leader-card{padding:26px;min-height:250px}
.personal-fullwidth .staff-section{margin-top:38px}
.personal-fullwidth .staff-section>h2{font-size:clamp(26px,2.4vw,36px);margin-bottom:20px}
.personal-fullwidth .staff-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:24px}
.personal-fullwidth .staff-card{min-width:0}
.personal-fullwidth .staff-card img,.personal-fullwidth .staff-card>.person-avatar{height:285px}
.personal-fullwidth .staff-body{padding:22px}
.personal-fullwidth .staff-body h3{font-size:21px;line-height:1.25}
.personal-fullwidth .person-actions a{font-size:15px;padding:11px 16px}
@media(max-width:1100px){.personal-fullwidth .staff-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.personal-fullwidth .leadership-grid{grid-template-columns:1fr 1fr}}
@media(max-width:820px){.personal-fullwidth{padding:34px 18px 50px!important}.personal-fullwidth .leader-primary{grid-template-columns:1fr;text-align:center}.personal-fullwidth .leader-primary img,.personal-fullwidth .leader-primary .person-avatar{margin:auto}.personal-fullwidth .staff-grid,.personal-fullwidth .leadership-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.personal-fullwidth .staff-grid,.personal-fullwidth .leadership-grid{grid-template-columns:1fr}.personal-fullwidth .leader-primary{padding:24px}.personal-fullwidth .leader-primary img,.personal-fullwidth .leader-primary .person-avatar{width:210px;height:245px}}

/* Logo institucional oficial cargado por el usuario */
.brand-public img{width:96px!important;height:96px!important;object-fit:contain!important;flex:0 0 auto}
.site-head{min-height:124px}
@media(max-width:760px){.brand-public img{width:78px!important;height:78px!important}.site-head{min-height:auto}}

/* ETAPA 4 - INICIO MODERNO Y EDITABLE */
.hero-v4{min-height:620px}.hero-v4 .hero-slide{min-height:620px;background-size:cover;background-position:center}.hero-v4 .hero-content{max-width:720px;padding:90px 5.5vw}.hero-kicker{display:inline-block;font-weight:800;letter-spacing:.18em;font-size:.82rem;color:#fff;background:rgba(255,255,255,.14);padding:9px 14px;border-radius:999px;margin-bottom:18px}.hero-v4 h1{font-size:clamp(2.8rem,5vw,5.2rem);line-height:1.02;letter-spacing:-.045em;max-width:800px}.hero-v4 p{font-size:1.16rem;max-width:680px;line-height:1.75}.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}.hero-btn.ghost,.hero-btn.ghost-light{background:transparent;border:1px solid rgba(255,255,255,.65);color:#fff}.hero-btn.accent{background:var(--accent);color:#12345b}.hero-btn:hover,.btn-modern:hover{transform:translateY(-3px);box-shadow:0 14px 34px rgba(0,0,0,.18)}
.quick-v4{max-width:1280px;margin:-28px auto 0;position:relative;z-index:5;border-radius:18px;box-shadow:0 18px 45px rgba(19,52,91,.14);overflow:hidden}.quick-v4 .quick-title{min-width:140px;display:flex;flex-direction:column;justify-content:center}.quick-v4 .quick-title span{font-size:.78rem;letter-spacing:.13em}.quick-v4 .quick-title strong{font-size:1.05rem}.quick-v4 .quick-card{min-width:180px;padding:22px 18px}.quick-v4 .quick-card b{font-size:.98rem}.quick-v4 .quick-card small{font-size:.76rem;line-height:1.35}
.eyebrow{display:block;color:var(--brand);font-weight:800;font-size:.8rem;letter-spacing:.14em;margin-bottom:12px}.home-intro{display:grid;grid-template-columns:1.02fr .98fr;gap:56px;align-items:center;padding-top:92px;padding-bottom:92px}.home-intro-media img{width:100%;height:500px;object-fit:cover;border-radius:28px;box-shadow:0 24px 60px rgba(14,55,105,.17)}.home-photo-placeholder{height:500px;border-radius:28px;background:linear-gradient(135deg,#0b4c98,#0e71ba);display:flex;flex-direction:column;align-items:center;justify-content:center;color:#fff;box-shadow:0 24px 60px rgba(14,55,105,.17)}.home-photo-placeholder span{font-size:1.3rem;letter-spacing:.25em}.home-photo-placeholder strong{font-size:4rem}.home-photo-placeholder small{margin-top:16px;opacity:.8}.home-intro-copy h2,.learning-copy h2,.service-copy h2{font-size:clamp(2.15rem,3.5vw,3.6rem);line-height:1.08;margin:.2rem 0 1rem;color:#102d52}.home-intro-copy h3,.learning-copy h3{font-size:1.15rem;color:#49617e;line-height:1.55;font-weight:600}.home-intro-copy p,.learning-copy p,.service-copy p{font-size:1.03rem;line-height:1.85;color:#53657a}.btn-modern{display:inline-flex;align-items:center;gap:10px;background:var(--brand);color:#fff!important;padding:14px 21px;border-radius:12px;font-weight:800;margin-top:12px;transition:.25s}
.programs-v4{padding-top:86px;padding-bottom:96px}.program-grid-v4{grid-template-columns:repeat(4,1fr);gap:22px}.program-grid-v4 .program-card{border-radius:22px;overflow:hidden;background:#fff;box-shadow:0 14px 40px rgba(26,52,83,.1);border:1px solid #edf1f6;transition:.28s}.program-grid-v4 .program-card:hover{transform:translateY(-8px);box-shadow:0 24px 54px rgba(26,52,83,.18)}.program-grid-v4 .program-card img,.program-grid-v4 .program-placeholder{height:230px;width:100%;object-fit:cover}.program-grid-v4 .program-placeholder{background:linear-gradient(135deg,color-mix(in srgb,var(--pc) 20%,white),#f8fbff);display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--pc);font-size:3rem}.program-grid-v4 .program-placeholder small{font-size:.8rem;margin-top:8px}.program-body{padding:25px 24px 27px;position:relative;border-top:5px solid var(--pc)}.program-icon{position:absolute;right:20px;top:-24px;width:48px;height:48px;border-radius:50%;display:grid;place-items:center;background:var(--pc);color:#fff;box-shadow:0 9px 22px rgba(0,0,0,.16)}.program-body h3{font-size:1.22rem;line-height:1.3;margin:0 48px 10px 0;color:#132f54}.program-body p{font-size:.9rem;line-height:1.65;color:#627187;min-height:92px}.program-body b{color:var(--pc);font-size:.9rem}.program-body b span{transition:.2s}.program-card:hover .program-body b span{margin-left:6px}
.admission-feature{position:relative;overflow:hidden;background:linear-gradient(120deg,#073d80,#075ca9 68%,#0876bd);min-height:480px;color:#fff;display:flex;align-items:center;padding:80px max(6vw,40px)}.admission-feature:after{content:"";position:absolute;right:-160px;top:-160px;width:500px;height:500px;border-radius:50%;border:90px solid rgba(255,255,255,.055)}.admission-bg{position:absolute;inset:0 0 0 51%;background-size:cover;background-position:center;opacity:.35;mask-image:linear-gradient(90deg,transparent,#000 30%)}.admission-content{position:relative;z-index:1;max-width:690px}.admission-content>span{font-weight:800;letter-spacing:.16em;font-size:.78rem;color:#ffe268}.admission-content h2{font-size:clamp(2.4rem,4vw,4.2rem);margin:10px 0;line-height:1.05}.admission-content h3{font-size:1.15rem;font-weight:600;line-height:1.5}.admission-content p{font-size:1rem;line-height:1.8;max-width:650px}
.learning-section{display:grid;grid-template-columns:.85fr 1.15fr;gap:58px;align-items:center;padding-top:92px;padding-bottom:92px}.learning-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.learning-cards article{background:#fff;border-radius:20px;padding:28px 22px;border:1px solid #e8edf4;box-shadow:0 14px 35px rgba(20,50,85,.08);min-height:270px;transition:.25s}.learning-cards article:hover{transform:translateY(-6px);border-color:color-mix(in srgb,var(--brand) 30%,white)}.learning-cards span{font-size:2rem;font-weight:900;color:var(--accent)}.learning-cards h3{font-size:1.12rem;color:#15375e;margin:18px 0 9px}.learning-cards p{font-size:.87rem;line-height:1.65;color:#667589}
.news-v4{padding-top:90px;padding-bottom:95px}.news-grid-v4{grid-template-columns:repeat(3,1fr)}.news-grid-v4 .news-card{border-radius:20px;overflow:hidden;box-shadow:0 14px 38px rgba(18,47,82,.08);transition:.25s}.news-grid-v4 .news-card:hover{transform:translateY(-7px);box-shadow:0 22px 50px rgba(18,47,82,.15)}.news-grid-v4 .news-card img,.news-grid-v4 .news-placeholder{height:220px}.news-grid-v4 .news-body{padding:23px}.news-grid-v4 .news-body h3{font-size:1.1rem}.news-grid-v4 .news-body b{display:block;margin-top:14px;color:var(--brand);font-size:.86rem}
.gallery-section{background:#072f67;padding:88px max(4vw,35px);color:#fff}.center-head.light h2,.center-head.light p{color:#fff}.center-head.light span{color:#ffe367}.home-gallery{max-width:1280px;margin:34px auto 0;display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:240px;gap:14px}.gallery-item{position:relative;border-radius:18px;overflow:hidden;color:#fff;background:#0e559d}.gallery-item:nth-child(1),.gallery-item:nth-child(6){grid-column:span 2}.gallery-item img,.gallery-placeholder{width:100%;height:100%;object-fit:cover;transition:.35s}.gallery-item:after{content:"";position:absolute;inset:35% 0 0;background:linear-gradient(transparent,rgba(1,18,40,.9))}.gallery-item>div:last-child{position:absolute;left:20px;right:20px;bottom:17px;z-index:2}.gallery-item h3{margin:0 0 4px;font-size:1rem}.gallery-item p{margin:0;font-size:.78rem;color:#dce8f6}.gallery-item:hover img{transform:scale(1.05)}.gallery-placeholder{display:grid;place-items:center;background:linear-gradient(135deg,#0b4f98,#0876bd)}.gallery-empty{max-width:900px;margin:25px auto;text-align:center;padding:30px;border:1px dashed rgba(255,255,255,.35);border-radius:18px}
.stats-v4{padding:70px max(5vw,40px);background:#f5f8fc}.stats-heading{text-align:center;margin-bottom:35px}.stats-heading span{color:var(--brand);font-weight:800;letter-spacing:.12em;font-size:.78rem}.stats-heading h2{color:#18375c;font-size:2rem}.stats-v4 .stats-grid{max-width:1100px;margin:auto}.stats-v4 .stats-grid>div{background:#fff;padding:25px 14px;border-radius:18px;box-shadow:0 10px 28px rgba(18,50,88,.07)}
.services-v4{display:grid;grid-template-columns:.7fr 1.3fr;gap:54px;align-items:center;padding-top:88px;padding-bottom:90px}.service-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.service-cards a{display:block;background:#fff;border:1px solid #e8edf4;border-radius:20px;padding:28px 22px;color:#1c385b;box-shadow:0 12px 34px rgba(20,50,85,.08);transition:.25s}.service-cards a:hover{transform:translateY(-6px);box-shadow:0 20px 46px rgba(20,50,85,.15)}.service-cards span{font-size:2.4rem}.service-cards h3{font-size:1.02rem;margin:15px 0 8px}.service-cards p{font-size:.84rem;line-height:1.6;color:#65758a}.location-v4{padding-top:88px;padding-bottom:88px}.reveal{animation:homeFade .6s ease both}@keyframes homeFade{from{opacity:.15;transform:translateY(16px)}to{opacity:1;transform:none}}
@media(max-width:1100px){.program-grid-v4{grid-template-columns:repeat(2,1fr)}.home-gallery{grid-template-columns:repeat(2,1fr)}.learning-section,.services-v4{grid-template-columns:1fr}.learning-cards,.service-cards{grid-template-columns:repeat(3,1fr)}}
@media(max-width:760px){.hero-v4,.hero-v4 .hero-slide{min-height:570px}.hero-v4 .hero-content{padding:78px 24px}.hero-v4 h1{font-size:2.65rem}.quick-v4{margin:0;border-radius:0}.home-intro{grid-template-columns:1fr;padding-top:65px;gap:30px}.home-intro-media img,.home-photo-placeholder{height:330px}.program-grid-v4{grid-template-columns:1fr}.program-body p{min-height:0}.admission-feature{padding:62px 24px}.admission-bg{inset:0;opacity:.13}.learning-cards,.service-cards{grid-template-columns:1fr}.news-grid-v4{grid-template-columns:1fr}.home-gallery{grid-template-columns:1fr;grid-auto-rows:230px}.gallery-item:nth-child(1),.gallery-item:nth-child(6){grid-column:auto}.services-v4{gap:30px}}

/* ETAPA 4.1 - tamaños editables */
.home-gallery{grid-auto-rows:auto!important;align-items:stretch}.gallery-item{min-height:240px}.gallery-item img{min-height:100%}.admin-edit-hint{font-size:.9rem}

/* =========================================================
   ETAPA 4.3 - TIPOGRAFIA + CARRUSEL NITIDO
   Referencia visual: portal institucional mostrado por usuario
   ========================================================= */
:root{--font-ui:'Montserrat',Arial,sans-serif;--font-title:'Merriweather',Georgia,serif}
html{font-size:var(--base-font,18px)}
body{font-family:var(--font-ui);font-size:1rem;line-height:1.65;color:#13233d;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
button,input,select,textarea{font-family:var(--font-ui)}
.utility{font-size:.82rem;font-weight:700;letter-spacing:.01em}
.site-head{padding-top:20px;padding-bottom:20px}
.brand-public small{font-size:.72rem;font-weight:800;letter-spacing:.025em}
.brand-public strong{font-size:1.55rem;font-weight:900;line-height:1.05;letter-spacing:-.02em}
.brand-public em{font-size:.84rem;font-weight:600}
.brand-public img{width:92px;height:92px;object-fit:contain;image-rendering:auto}
.head-info b{font-size:.82rem;font-weight:800}.head-info small{font-size:.78rem;line-height:1.35}
.mainnav{min-height:58px}
.nav-list>li>a{font-family:var(--font-ui);font-size:.88rem;font-weight:800;letter-spacing:-.015em;padding:18px 14px}
.submenu a{font-size:.88rem;font-weight:600;line-height:1.35;padding:14px 16px}
.hero-slider{background:#0b376f;overflow:hidden}
.hero-slide{background-repeat:no-repeat!important;background-color:#0a376c;image-rendering:auto;backface-visibility:hidden;transform:translateZ(0)}
.hero-content{max-width:760px}
.hero-kicker{font-size:.84rem;font-weight:900;letter-spacing:.13em}
.hero-content h1{font-family:var(--font-ui);font-weight:900;font-size:clamp(2.35rem,5vw,4.9rem);line-height:1.02;letter-spacing:-.045em;text-shadow:0 3px 22px rgba(0,0,0,.22)}
.hero-content p{font-size:clamp(1rem,1.5vw,1.24rem);line-height:1.7;font-weight:500;max-width:680px}
.hero-btn,.btn-modern{font-family:var(--font-ui);font-size:.92rem;font-weight:800;letter-spacing:.005em;border-radius:8px;transition:transform .22s ease,box-shadow .22s ease,background .22s ease}
.hero-btn:hover,.btn-modern:hover{transform:translateY(-3px);box-shadow:0 12px 28px rgba(0,0,0,.18)}
.quick-section{margin-top:-38px;position:relative;z-index:6}
.quick-card{min-height:112px}.quick-card b{font-size:.92rem;font-weight:800}.quick-card small{font-size:.76rem}
.center-head h2,.section-head h2,.home-intro-copy h2,.admission-content h2,.learning-copy h2,.stats-heading h2,.service-copy h2,.location h2{font-family:var(--font-ui);font-weight:900;letter-spacing:-.035em;line-height:1.08}
.center-head h2,.section-head h2{font-size:clamp(2rem,3.5vw,3.15rem)}
.center-head p,.home-intro-copy p,.learning-copy p,.service-copy p,.location p{font-size:1.02rem;line-height:1.78}
.program-body h3,.news-body h3,.service-cards h3,.learning-cards h3{font-family:var(--font-ui);font-weight:800;letter-spacing:-.025em}
.program-card img,.news-card img,.gallery-item img,.home-intro-media img{image-rendering:auto;filter:none!important}
.program-card{transition:transform .25s ease,box-shadow .25s ease}.program-card:hover{transform:translateY(-7px)}
.program-body p,.news-body p{font-size:.92rem;line-height:1.62}
.stats-grid strong{font-family:var(--font-ui);font-size:2.45rem;font-weight:900}
.footer{font-size:.91rem}
/* asegurar imagenes claras y sin filtros borrosos */
.hero-slide:before,.hero-slide:after{pointer-events:none}
@media (max-width:1100px){.nav-list>li>a{font-size:.82rem;padding:16px 9px}.brand-public strong{font-size:1.35rem}}
@media (max-width:760px){html{font-size:17px}.brand-public img{width:74px;height:74px}.hero-content h1{font-size:2.35rem}.hero-content p{font-size:1rem}.quick-section{margin-top:0}.nav-toggle{font-size:1rem;font-weight:800}}

/* =========================================================
   ETAPA 4.4 - REDISEÑO MODERNO IESTP CHOTA
   ========================================================= */
:root{--navy:#06396f;--blue:#075aa8;--blue2:#0d78c7;--gold:#f6c515;--green:#08a64b;--soft:#f4f8fc;--text:#17283b}
body{color:var(--text);background:#fff}
.utility{min-height:34px;background:linear-gradient(90deg,#073b76,#0a61ad);color:#fff;padding:0 max(24px,calc((100vw - 1180px)/2));display:flex;align-items:center;justify-content:space-between}
.site-head{min-height:126px;padding:14px max(24px,calc((100vw - 1180px)/2));display:flex;align-items:center;justify-content:space-between;background:#fff;border-bottom:1px solid #e8eef5}
.brand-public{display:flex;align-items:center;gap:18px;text-decoration:none;min-width:520px}
.brand-public img{width:112px!important;height:112px!important;max-width:112px!important;object-fit:contain!important;filter:drop-shadow(0 5px 10px rgba(3,52,100,.14))}
.brand-public small{display:block;font-size:12px!important;font-weight:800;color:#38628c;letter-spacing:.055em}
.brand-public strong{display:block;font-size:31px!important;line-height:1.05;color:#07529b!important;font-weight:900;letter-spacing:-.7px}
.brand-public em{display:block;margin-top:6px;font-style:normal;font-size:14px!important;font-weight:700;color:#188044}
.head-info{gap:20px}.head-info span{padding-left:14px;border-left:1px solid #dce7f1}.head-info span b{color:#0a4e90}.head-info span small{color:#61748a}
.mainnav{position:relative;z-index:900;background:linear-gradient(90deg,#06447f,#075da7 55%,#06447f);box-shadow:0 8px 20px rgba(4,51,96,.16)}
.nav-list{max-width:1220px;margin:auto}.nav-list>li>a{font-size:14px!important;font-weight:800!important;padding:17px 12px!important;color:#fff}.nav-list>li>a:hover,.nav-list>li.has-sub:hover>a{background:var(--gold)!important;color:#18314d!important;transform:none!important}.nav-list>li:first-child>a{background:#08a64b;color:#fff}
.submenu{background:#183e6c!important;border-top:4px solid var(--gold)!important;min-width:280px!important}.submenu a{font-size:14.5px!important;padding:14px 18px!important}.submenu a:hover{background:#0d5b9d!important;border-left:4px solid var(--gold);padding-left:21px!important}
.hero-slider{height:clamp(500px,61vh,650px)!important;min-height:500px!important;background:#073b70}.hero-slide:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(3,42,83,.88) 0%,rgba(4,64,116,.65) 38%,rgba(3,35,67,.13) 72%,rgba(0,0,0,.16) 100%);z-index:1}.hero-content{position:relative;z-index:2;max-width:650px!important;margin-left:max(7vw,70px)!important;padding:52px 0!important}.hero-content>span{display:inline-flex;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.25);border-radius:999px;padding:7px 14px;font-size:12px!important;letter-spacing:.12em;font-weight:900}.hero-content h1{font-family:Montserrat,Arial,sans-serif!important;font-size:clamp(40px,4.2vw,64px)!important;line-height:1.02!important;max-width:620px!important;letter-spacing:-2px!important;margin:14px 0 16px!important;text-shadow:0 4px 18px rgba(0,0,0,.18)}.hero-content p{font-size:19px!important;line-height:1.55!important;max-width:590px!important;color:#f4f8fc!important}.hero-btn{border-radius:10px!important;padding:13px 20px!important;font-weight:900!important;background:linear-gradient(135deg,#09a94a,#14c760)!important;box-shadow:0 10px 24px rgba(5,120,55,.28)!important}.hero-arrow{width:48px!important;height:48px!important;background:rgba(4,34,67,.55)!important;border:1px solid rgba(255,255,255,.65)!important}.hero-dots{bottom:25px!important}.hero-dots button{width:11px!important;height:11px!important;border:2px solid #fff!important;background:transparent!important}.hero-dots button.active{background:var(--gold)!important;border-color:var(--gold)!important;transform:scale(1.15)}
.quick-strip{position:relative!important;margin:-28px auto 0!important;z-index:20!important;max-width:1120px!important;border-radius:18px!important;box-shadow:0 18px 50px rgba(3,47,91,.18)!important;border:1px solid #e3ebf3!important;overflow:hidden!important}.quick-card{background:#fff!important;border-right:1px solid #e8eef4!important}.quick-card:hover{background:#f5f9fd!important}.quick-card b{color:#0a4e90!important}
.section-head h2,.center-head h2,.home-intro-copy h2,.learning-copy h2,.service-copy h2,.location h2,.stats-heading h2{font-family:Montserrat,Arial,sans-serif!important;letter-spacing:-1px;color:#083e73}.eyebrow,.section-head span,.center-head>span,.stats-heading>span{color:#0b69b5!important;font-weight:900!important;letter-spacing:.1em!important}
.program-card,.news-card,.service-cards a{border-radius:18px!important;overflow:hidden!important;box-shadow:0 10px 30px rgba(6,50,92,.11)!important;border:1px solid #e2eaf2!important}.program-card:hover,.news-card:hover,.service-cards a:hover{transform:translateY(-7px)!important;box-shadow:0 20px 44px rgba(6,50,92,.18)!important}.program-body h3,.news-body h3,.service-cards h3{color:#083f77!important}
.admission-feature{border-radius:0!important}.stats-section{background:linear-gradient(120deg,#062f5c,#075ca7)!important}.footer{background:#052e59!important}
.whatsapp-float{right:24px!important;bottom:24px!important;border-radius:999px!important;background:#12b95c!important;color:#fff!important;padding:13px 18px!important;box-shadow:0 12px 32px rgba(0,120,55,.32)!important;font-weight:900!important;z-index:99990!important}.whatsapp-float svg{width:25px!important;height:25px!important}
.info-popup{z-index:100000!important;align-items:center!important;justify-content:center!important}.info-popup.is-open{display:flex!important}.popup-backdrop{background:rgba(2,18,36,.78)!important;backdrop-filter:blur(6px)!important}.popup-card{width:min(920px,94vw)!important;max-height:90vh!important;margin:0!important;border-radius:22px!important;overflow:hidden!important;grid-template-columns:minmax(330px,.95fr) minmax(340px,1.05fr)!important;box-shadow:0 35px 100px rgba(0,0,0,.42)!important;border:1px solid rgba(255,255,255,.25)!important}.popup-image{width:100%!important;height:100%!important;min-height:470px!important;max-height:78vh!important;object-fit:contain!important;background:#eef3f8!important}.popup-content{padding:42px!important;background:linear-gradient(145deg,#fff,#f4f8fc)!important}.popup-content>span{display:inline-block;background:#fff1b5;color:#7a5900!important;border-radius:999px;padding:7px 12px;font-size:12px!important;font-weight:900!important}.popup-content h2{font-family:Montserrat,Arial,sans-serif!important;font-size:36px!important;color:#073f77!important;line-height:1.1!important;margin:14px 0!important}.popup-content p{font-size:17.5px!important;line-height:1.65!important;color:#53687d!important}.popup-close{width:42px!important;height:42px!important;background:#073f77!important;box-shadow:0 7px 20px rgba(0,0,0,.18)!important}
@media(max-width:1050px){.site-head{padding:12px 20px}.brand-public{min-width:0}.brand-public img{width:92px!important;height:92px!important}.brand-public strong{font-size:27px!important}.head-info{display:none}.nav-list>li>a{font-size:13px!important;padding:16px 9px!important}.hero-content{margin-left:55px!important}}
@media(max-width:900px){.site-head{min-height:105px}.brand-public img{width:82px!important;height:82px!important}.brand-public strong{font-size:24px!important}.brand-public small{font-size:10px!important}.hero-slider{height:520px!important;min-height:520px!important}.hero-content{margin-left:28px!important;margin-right:28px!important}.hero-content h1{font-size:44px!important;letter-spacing:-1.2px!important}.popup-card{grid-template-columns:1fr!important;width:min(94vw,720px)!important;max-height:95vh!important}.popup-image{height:300px!important;min-height:0!important}.popup-content{padding:28px!important}.popup-content h2{font-size:30px!important}}
@media(max-width:600px){.utility{display:none}.site-head{justify-content:center}.brand-public img{width:72px!important;height:72px!important}.brand-public strong{font-size:21px!important}.brand-public small{font-size:9px!important}.brand-public em{font-size:11px!important}.hero-slider{height:500px!important;min-height:500px!important}.hero-content{margin-left:22px!important;margin-right:22px!important;padding:36px 0!important}.hero-content h1{font-size:38px!important}.hero-content p{font-size:16.5px!important}.whatsapp-float{width:58px!important;height:58px!important;padding:0!important;justify-content:center!important}.whatsapp-float span{display:none!important}.popup-image{height:240px!important}.popup-content h2{font-size:27px!important}}

/* =========================================================
   ACCESOS RAPIDOS - REDISEÑO PORTAL IESTP CHOTA
   ========================================================= */

.quick-section.quick-v4{
    max-width:1180px !important;
    margin:-34px auto 38px !important;
    padding:0 !important;
    display:grid !important;
    grid-template-columns:170px minmax(0,1fr) !important;
    align-items:stretch !important;
    overflow:hidden !important;
    border-radius:20px !important;
    background:#fff !important;
    box-shadow:0 18px 50px rgba(19,52,91,.14) !important;
}

/* Título azul lateral */
.quick-v4 .quick-title{
    min-width:0 !important;
    width:auto !important;
    padding:24px 20px !important;
    display:flex !important;
    flex-direction:column !important;
    align-items:center !important;
    justify-content:center !important;
    text-align:center !important;
    background:linear-gradient(145deg,#07549b,#0d69ba) !important;
    color:#fff !important;
    border-radius:0 !important;
}

.quick-v4 .quick-title span{
    color:#fff !important;
    font-size:.74rem !important;
    letter-spacing:.13em !important;
    font-weight:800 !important;
}

.quick-v4 .quick-title strong{
    color:#fff !important;
    font-size:1.12rem !important;
    line-height:1.15 !important;
    margin-top:4px !important;
}

/* 10 accesos = 5 columnas x 2 filas */
.quick-v4 .quick-track{
    width:100% !important;
    display:grid !important;
    grid-template-columns:repeat(5,minmax(0,1fr)) !important;
    gap:1px !important;
    overflow:visible !important;
    overflow-x:visible !important;
    background:#e4ebf3 !important;
    scrollbar-width:none !important;
}

.quick-v4 .quick-track::-webkit-scrollbar{
    display:none !important;
}

/* Tarjetas */
.quick-v4 .quick-card{
    min-width:0 !important;
    width:auto !important;
    min-height:126px !important;
    padding:17px 13px !important;
    margin:0 !important;
    border:0 !important;
    border-radius:0 !important;
    background:#fff !important;
    display:flex !important;
    flex-direction:column !important;
    justify-content:center !important;
    align-items:center !important;
    text-align:center !important;
    transition:transform .22s ease, background .22s ease, box-shadow .22s ease !important;
}

.quick-v4 .quick-card:hover{
    background:#f3f8fd !important;
    transform:translateY(-3px) !important;
    box-shadow:0 8px 22px rgba(15,80,145,.10) !important;
    position:relative;
    z-index:2;
}

/* Iconos */
.quick-v4 .quick-icon{
    display:block !important;
    font-size:27px !important;
    line-height:1 !important;
    margin:0 0 9px !important;
    min-height:29px !important;
}

/* Títulos */
.quick-v4 .quick-card b{
    color:#074c8c !important;
    font-size:.88rem !important;
    line-height:1.18 !important;
    font-weight:800 !important;
    margin-bottom:5px !important;
}

/* Descripción */
.quick-v4 .quick-card small{
    color:#718096 !important;
    font-size:.73rem !important;
    line-height:1.30 !important;
    max-width:150px !important;
}

/* TABLET */
@media (max-width:1000px){
    .quick-section.quick-v4{
        margin:-24px 18px 32px !important;
        grid-template-columns:1fr !important;
    }

    .quick-v4 .quick-title{
        min-height:auto !important;
        padding:14px 20px !important;
        flex-direction:row !important;
        gap:7px !important;
    }

    .quick-v4 .quick-track{
        grid-template-columns:repeat(3,minmax(0,1fr)) !important;
    }
}

/* MOVIL */
@media (max-width:650px){
    .quick-section.quick-v4{
        margin:-18px 10px 28px !important;
        border-radius:16px !important;
    }

    .quick-v4 .quick-track{
        grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    }

    .quick-v4 .quick-card{
        min-height:112px !important;
        padding:14px 8px !important;
    }

    .quick-v4 .quick-icon{
        font-size:24px !important;
    }

    .quick-v4 .quick-card b{
        font-size:.80rem !important;
    }

    .quick-v4 .quick-card small{
        font-size:.68rem !important;
    }
}

/* =========================================================
   BLOQUE INSTITUCIONAL MODERNO - IESTP CHOTA
   ========================================================= */

.home-intro{
    max-width:1200px !important;
    margin:70px auto !important;
    padding:34px !important;
    display:grid !important;
    grid-template-columns:1.05fr .95fr !important;
    gap:50px !important;
    align-items:center !important;

    background:
        radial-gradient(circle at 90% 10%, rgba(18,123,91,.12), transparent 32%),
        linear-gradient(135deg,#f4f9ff 0%,#ffffff 55%,#f1fbf6 100%) !important;

    border:1px solid #dce9f5 !important;
    border-radius:30px !important;
    box-shadow:0 24px 65px rgba(7,53,96,.13) !important;
    position:relative !important;
    overflow:hidden !important;
}

.home-intro::before{
    content:"";
    position:absolute;
    width:260px;
    height:260px;
    border-radius:50%;
    background:rgba(10,174,91,.07);
    right:-90px;
    top:-100px;
    pointer-events:none;
}

.home-intro::after{
    content:"";
    position:absolute;
    width:180px;
    height:180px;
    border-radius:50%;
    background:rgba(8,83,151,.06);
    left:-70px;
    bottom:-90px;
    pointer-events:none;
}

/* FOTO */
.home-intro-media{
    position:relative !important;
    z-index:2 !important;
}

.home-intro-media img{
    width:100% !important;
    height:430px !important;
    object-fit:cover !important;
    border-radius:24px !important;
    box-shadow:0 22px 45px rgba(7,53,96,.22) !important;
    display:block !important;
    transition:transform .35s ease !important;
}

.home-intro-media:hover img{
    transform:scale(1.015);
}

/* TEXTO */
.home-intro-copy{
    position:relative !important;
    z-index:2 !important;
    padding:15px 12px 15px 0 !important;
}

.home-intro-copy .eyebrow{
    display:inline-flex !important;
    align-items:center !important;
    background:#e8f4ff !important;
    color:#07559b !important;
    border-radius:999px !important;
    padding:8px 15px !important;
    font-size:.78rem !important;
    font-weight:900 !important;
    letter-spacing:.12em !important;
    margin-bottom:17px !important;
}

.home-intro-copy h2{
    font-size:clamp(2.4rem,4vw,4.2rem) !important;
    line-height:.98 !important;
    letter-spacing:-.045em !important;
    color:#07467f !important;
    margin:0 0 18px !important;
    max-width:600px !important;
}

.home-intro-copy h3{
    font-size:1.15rem !important;
    line-height:1.55 !important;
    color:#16834f !important;
    margin:0 0 15px !important;
    font-weight:800 !important;
}

.home-intro-copy p{
    color:#536579 !important;
    font-size:1.03rem !important;
    line-height:1.75 !important;
    margin-bottom:23px !important;
}

/* BOTÓN */
.home-intro-copy .btn-modern{
    min-height:50px !important;
    padding:13px 24px !important;
    border-radius:13px !important;
    background:linear-gradient(135deg,#0aad59,#08a85b) !important;
    color:#fff !important;
    font-weight:900 !important;
    box-shadow:0 12px 26px rgba(10,174,91,.25) !important;
}

.home-intro-copy .btn-modern:hover{
    transform:translateY(-3px) !important;
    box-shadow:0 17px 34px rgba(10,174,91,.32) !important;
}

/* TABLET */
@media(max-width:900px){
    .home-intro{
        margin:45px 20px !important;
        grid-template-columns:1fr !important;
        gap:25px !important;
        padding:25px !important;
    }

    .home-intro-media img{
        height:360px !important;
    }

    .home-intro-copy{
        padding:5px !important;
    }
}

/* CELULAR */
@media(max-width:600px){
    .home-intro{
        margin:32px 14px !important;
        padding:16px !important;
        border-radius:22px !important;
    }

    .home-intro-media img{
        height:260px !important;
        border-radius:18px !important;
    }

    .home-intro-copy h2{
        font-size:2.35rem !important;
    }

    .home-intro-copy h3{
        font-size:1rem !important;
    }

    .home-intro-copy p{
        font-size:.95rem !important;
    }
}


/* =========================================================
   AJUSTE FINAL - BLOQUE INSTITUTO AL ANCHO DEL CARRUSEL
   ========================================================= */

.home-intro{
    width:100% !important;
    max-width:none !important;
    margin:0 !important;
    padding:70px max(7vw,40px) !important;

    display:grid !important;
    grid-template-columns:minmax(0,1.15fr) minmax(380px,.85fr) !important;
    gap:65px !important;
    align-items:center !important;

    background:
      radial-gradient(circle at 85% 20%,rgba(10,174,91,.10),transparent 28%),
      linear-gradient(135deg,#f2f8fd 0%,#ffffff 48%,#eef9f4 100%) !important;

    border:0 !important;
    border-radius:0 !important;
    box-shadow:none !important;
}

/* FOTO GRANDE, EN COHERENCIA CON EL HERO */
.home-intro-media{
    width:100% !important;
}

.home-intro-media img{
    width:100% !important;
    height:520px !important;
    object-fit:cover !important;
    object-position:center !important;
    border-radius:24px !important;
    box-shadow:0 25px 55px rgba(5,55,100,.20) !important;
}

/* CONTENIDO */
.home-intro-copy{
    max-width:620px !important;
    padding:25px 20px 25px 0 !important;
}

.home-intro-copy h2{
    font-size:clamp(3rem,4.4vw,5rem) !important;
    line-height:.95 !important;
}

/* Evita separación excesiva con accesos rápidos */
.quick-section + .home-intro,
.home-intro{
    margin-top:0 !important;
}

/* TABLET */
@media(max-width:1000px){
    .home-intro{
        grid-template-columns:1fr !important;
        padding:50px 30px !important;
        gap:30px !important;
    }

    .home-intro-media img{
        height:430px !important;
    }

    .home-intro-copy{
        max-width:100% !important;
    }
}

/* CELULAR */
@media(max-width:600px){
    .home-intro{
        padding:35px 16px !important;
    }

    .home-intro-media img{
        height:280px !important;
        border-radius:18px !important;
    }

    .home-intro-copy h2{
        font-size:2.5rem !important;
    }
}


/* =========================================================
   POPUP RESPONSIVO - CELULAR Y TABLET
   ========================================================= */

@media (max-width: 900px){

    .popup-backdrop{
        padding:16px !important;
        align-items:center !important;
        justify-content:center !important;
    }

    .popup-card{
        width:min(94vw,680px) !important;
        max-width:94vw !important;
        max-height:88vh !important;
        grid-template-columns:1fr !important;
        overflow:auto !important;
        border-radius:20px !important;
    }

    .popup-image{
        width:100% !important;
        height:220px !important;
        min-height:220px !important;
        max-height:220px !important;
        object-fit:cover !important;
    }

    .popup-content{
        padding:22px !important;
    }

    .popup-content h2{
        font-size:2rem !important;
        line-height:1.05 !important;
    }

    .popup-content p{
        font-size:.95rem !important;
        line-height:1.55 !important;
    }

    .popup-close{
        width:36px !important;
        height:36px !important;
        right:10px !important;
        top:10px !important;
    }
}

@media (max-width: 600px){

    .popup-backdrop{
        padding:10px !important;
    }

    .popup-card{
        width:96vw !important;
        max-width:96vw !important;
        max-height:90vh !important;
        border-radius:16px !important;
    }

    .popup-image{
        height:170px !important;
        min-height:170px !important;
        max-height:170px !important;
    }

    .popup-content{
        padding:18px 16px 20px !important;
    }

    .popup-content h2{
        font-size:1.65rem !important;
        line-height:1.08 !important;
        margin-bottom:10px !important;
    }

    .popup-content p{
        font-size:.90rem !important;
        line-height:1.5 !important;
        margin-bottom:14px !important;
    }

    .popup-content .btn-modern,
    .popup-content a{
        max-width:100% !important;
    }
}


/* ==========================================================
   POPUP FINAL RESPONSIVE IESTP CHOTA
   Compacto en PC / especialmente compacto en celular
   ========================================================== */

.info-popup .popup-backdrop,
.popup-backdrop{
    padding:20px !important;
    box-sizing:border-box !important;
}

/* ESCRITORIO */
.info-popup .popup-card,
.popup-card{
    width:min(820px,92vw) !important;
    max-width:820px !important;
    max-height:82vh !important;
    grid-template-columns:42% 58% !important;
    border-radius:20px !important;
    overflow:hidden !important;
}

.info-popup .popup-image,
.popup-image{
    width:100% !important;
    height:100% !important;
    min-height:340px !important;
    max-height:520px !important;
    object-fit:cover !important;
}

.info-popup .popup-content,
.popup-content{
    padding:28px !important;
    overflow:auto !important;
}

.info-popup .popup-content h2,
.popup-content h2{
    font-size:2rem !important;
    line-height:1.08 !important;
    margin:7px 0 12px !important;
}

.info-popup .popup-content p,
.popup-content p{
    font-size:.95rem !important;
    line-height:1.55 !important;
}

/* TABLET */
@media(max-width:760px){

    .info-popup .popup-card,
    .popup-card{
        width:min(500px,92vw) !important;
        max-width:500px !important;
        max-height:86vh !important;
        display:block !important;
        border-radius:18px !important;
        overflow:auto !important;
    }

    .info-popup .popup-image,
    .popup-image{
        width:100% !important;
        height:180px !important;
        min-height:180px !important;
        max-height:180px !important;
        object-fit:cover !important;
    }

    .info-popup .popup-content,
    .popup-content{
        padding:20px !important;
    }
}

/* CELULAR */
@media(max-width:520px){

    .info-popup .popup-backdrop,
    .popup-backdrop{
        padding:12px !important;
    }

    .info-popup .popup-card,
    .popup-card{
        width:90vw !important;
        max-width:380px !important;
        max-height:76vh !important;
        margin:auto !important;
        border-radius:16px !important;
        overflow:auto !important;
    }

    .info-popup .popup-image,
    .popup-image{
        height:125px !important;
        min-height:125px !important;
        max-height:125px !important;
    }

    .info-popup .popup-content,
    .popup-content{
        padding:16px 17px 18px !important;
    }

    .info-popup .popup-content span,
    .popup-content span{
        font-size:.67rem !important;
    }

    .info-popup .popup-content h2,
    .popup-content h2{
        font-size:1.35rem !important;
        line-height:1.08 !important;
        margin:5px 0 8px !important;
    }

    .info-popup .popup-content p,
    .popup-content p{
        font-size:.82rem !important;
        line-height:1.42 !important;
        margin:0 0 10px !important;
    }

    .info-popup .popup-close,
    .popup-close{
        width:34px !important;
        height:34px !important;
        top:7px !important;
        right:7px !important;
        font-size:20px !important;
    }
}


/* ==========================================================
   POPUP MOVIL FINAL - COMPACTO Y SIN DESBORDAMIENTO
   ========================================================== */

@media (max-width:520px){

    .info-popup,
    .popup-backdrop{
        width:100vw !important;
        max-width:100vw !important;
        box-sizing:border-box !important;
        padding:14px !important;
        overflow:hidden !important;
    }

    .info-popup .popup-card,
    .popup-card{
        display:block !important;
        width:100% !important;
        max-width:360px !important;
        min-width:0 !important;
        margin:0 auto !important;
        max-height:72vh !important;
        box-sizing:border-box !important;
        border-radius:20px !important;
        overflow:auto !important;
    }

    .info-popup .popup-image,
    .popup-image{
        display:none !important;
    }

    .info-popup .popup-content,
    .popup-content{
        width:100% !important;
        max-width:100% !important;
        min-width:0 !important;
        box-sizing:border-box !important;
        padding:20px 18px 22px !important;
        overflow:hidden !important;
    }

    .info-popup .popup-content h2,
    .popup-content h2{
        width:100% !important;
        max-width:100% !important;
        font-size:1.38rem !important;
        line-height:1.12 !important;
        margin:8px 0 10px !important;
        white-space:normal !important;
        overflow-wrap:anywhere !important;
    }

    .info-popup .popup-content p,
    .popup-content p{
        width:100% !important;
        max-width:100% !important;
        font-size:.88rem !important;
        line-height:1.48 !important;
        margin:0 0 15px !important;
        white-space:normal !important;
        overflow-wrap:anywhere !important;
    }

    .info-popup .popup-content .btn-modern,
    .popup-content .btn-modern{
        display:flex !important;
        width:100% !important;
        max-width:100% !important;
        min-height:48px !important;
        justify-content:center !important;
        align-items:center !important;
        box-sizing:border-box !important;
        text-align:center !important;
    }
}


/* =========================================================
   INSTITUCIONES Y PLATAFORMAS VINCULADAS
   ========================================================= */

.partners-section{
    position:relative;
    width:100%;
    overflow:hidden;
    padding:70px 0 75px;
    background:
        radial-gradient(circle at 8% 20%,rgba(9,168,91,.08),transparent 25%),
        linear-gradient(180deg,#ffffff 0%,#f5f9fd 100%);
}

.partners-head{
    max-width:1180px;
    margin:0 auto 34px;
    padding:0 28px;
    text-align:center;
}

.partners-head span{
    display:inline-block;
    color:#07834e;
    font-size:.78rem;
    font-weight:900;
    letter-spacing:.16em;
    margin-bottom:10px;
}

.partners-head h2{
    margin:0 0 10px;
    color:#074d89;
    font-family:"Playfair Display",Georgia,serif;
    font-size:clamp(2rem,3.4vw,3.1rem);
    line-height:1.05;
}

.partners-head p{
    max-width:720px;
    margin:0 auto;
    color:#65768a;
    font-size:1rem;
    line-height:1.6;
}

/* Ventana del carrusel */
.partners-marquee{
    width:100%;
    overflow:hidden;
    position:relative;
    padding:10px 0 18px;
}

/* Suavizado lateral */
.partners-marquee::before,
.partners-marquee::after{
    content:"";
    position:absolute;
    top:0;
    bottom:0;
    width:90px;
    z-index:3;
    pointer-events:none;
}

.partners-marquee::before{
    left:0;
    background:linear-gradient(90deg,#f7fafc 0%,rgba(247,250,252,0) 100%);
}

.partners-marquee::after{
    right:0;
    background:linear-gradient(270deg,#f7fafc 0%,rgba(247,250,252,0) 100%);
}

/* Pista animada */
.partners-track{
    display:flex;
    width:max-content;
    gap:24px;
    padding-left:24px;
    animation:partnersMove 32s linear infinite;
    will-change:transform;
}

.partners-marquee:hover .partners-track{
    animation-play-state:paused;
}

/* Tarjetas */
.partner-card{
    flex:0 0 220px;
    min-height:145px;
    display:flex;
    flex-direction:column;
    justify-content:center;
    align-items:center;
    gap:12px;

    padding:20px 18px;
    box-sizing:border-box;

    background:#fff;
    border:1px solid #e4edf5;
    border-radius:18px;
    box-shadow:0 12px 30px rgba(7,61,104,.09);

    text-decoration:none;
    transition:
        transform .25s ease,
        box-shadow .25s ease,
        border-color .25s ease;
}

.partner-card:hover{
    transform:translateY(-5px);
    border-color:#bcd9ed;
    box-shadow:0 18px 38px rgba(7,61,104,.15);
}

.partner-card img{
    display:block;
    width:100%;
    height:78px;
    object-fit:contain;
}

.partner-card span{
    color:#164d7e;
    font-size:.84rem;
    line-height:1.25;
    font-weight:800;
    text-align:center;
}

/* Como el contenido está duplicado 2 veces,
   desplazamos exactamente la mitad */
@keyframes partnersMove{
    from{
        transform:translateX(0);
    }
    to{
        transform:translateX(-50%);
    }
}

/* TABLET */
@media(max-width:900px){

    .partners-section{
        padding:55px 0 60px;
    }

    .partners-head{
        margin-bottom:26px;
    }

    .partner-card{
        flex-basis:185px;
        min-height:130px;
    }

    .partner-card img{
        height:66px;
    }

    .partners-track{
        gap:18px;
        animation-duration:27s;
    }
}

/* CELULAR */
@media(max-width:600px){

    .partners-section{
        padding:42px 0 48px;
    }

    .partners-head{
        padding:0 18px;
        margin-bottom:22px;
    }

    .partners-head h2{
        font-size:1.9rem;
    }

    .partners-head p{
        font-size:.9rem;
    }

    .partners-marquee::before,
    .partners-marquee::after{
        width:35px;
    }

    .partners-track{
        gap:14px;
        padding-left:14px;
        animation-duration:23s;
    }

    .partner-card{
        flex-basis:150px;
        min-height:112px;
        padding:14px 12px;
        border-radius:15px;
    }

    .partner-card img{
        height:55px;
    }

    .partner-card span{
        font-size:.75rem;
    }
}

/* Accesibilidad: evita movimiento si el usuario lo solicita */
@media(prefers-reduced-motion:reduce){
    .partners-track{
        animation:none;
    }
}


/* =========================================================
   CORRECCION FINAL - INSTITUCIONES VINCULADAS
   1-3 logos estáticos / 4+ logos animados
   ========================================================= */

.partners-marquee.is-static{
    max-width:1180px;
    margin:0 auto;
    padding-left:24px;
    padding-right:24px;
    box-sizing:border-box;
}

.partners-marquee.is-static::before,
.partners-marquee.is-static::after{
    display:none !important;
}

.partners-marquee.is-static .partners-track{
    width:100% !important;
    padding:0 !important;
    gap:24px !important;
    justify-content:center !important;
    align-items:stretch !important;
    animation:none !important;
    transform:none !important;
}

.partners-marquee.is-static .partner-card{
    flex:0 1 240px !important;
    width:240px !important;
    max-width:240px !important;
}

/* Solo se mueve cuando tenemos suficientes logos */
.partners-marquee.is-animated .partners-track{
    animation:partnersMove 32s linear infinite !important;
}

/* Forzar correcta visualización del logo */
.partner-card img{
    display:block !important;
    width:auto !important;
    max-width:180px !important;
    height:78px !important;
    max-height:78px !important;
    object-fit:contain !important;
    object-position:center !important;
    opacity:1 !important;
    visibility:visible !important;
}

/* La tarjeta debe mantener el logo centrado */
.partner-card{
    overflow:hidden !important;
    justify-content:center !important;
    align-items:center !important;
}

/* CELULAR */
@media(max-width:600px){

    .partners-marquee.is-static{
        padding-left:18px;
        padding-right:18px;
    }

    .partners-marquee.is-static .partners-track{
        gap:14px !important;
        flex-wrap:wrap !important;
    }

    .partners-marquee.is-static .partner-card{
        flex:0 1 150px !important;
        width:150px !important;
        max-width:150px !important;
    }

    .partner-card img{
        max-width:120px !important;
        height:58px !important;
        max-height:58px !important;
    }
}


/* ==========================================================
   CORRECCION VISUAL DEFINITIVA LOGOS VINCULADOS
   ========================================================== */

.partners-section .partner-card{
    position:relative !important;
    display:flex !important;
    flex-direction:column !important;
    align-items:center !important;
    justify-content:center !important;
    gap:10px !important;
    min-height:150px !important;
    background:#ffffff !important;
    opacity:1 !important;
    visibility:visible !important;
}

.partners-section .partner-card img{
    display:block !important;
    position:relative !important;
    float:none !important;

    width:160px !important;
    max-width:90% !important;
    height:80px !important;
    max-height:80px !important;

    margin:0 auto !important;
    padding:0 !important;

    object-fit:contain !important;
    object-position:center !important;

    opacity:1 !important;
    visibility:visible !important;

    filter:none !important;
    transform:none !important;
    clip:auto !important;
    clip-path:none !important;

    z-index:5 !important;
}

.partners-section .partner-card span{
    display:block !important;
    position:relative !important;

    width:100% !important;
    margin:2px 0 0 !important;
    padding:0 !important;

    color:#07559a !important;
    font-size:.86rem !important;
    font-weight:800 !important;
    line-height:1.2 !important;
    text-align:center !important;

    opacity:1 !important;
    visibility:visible !important;

    filter:none !important;
    transform:none !important;

    z-index:5 !important;
}

@media(max-width:600px){

    .partners-section .partner-card{
        min-height:120px !important;
    }

    .partners-section .partner-card img{
        width:115px !important;
        height:58px !important;
    }

    .partners-section .partner-card span{
        font-size:.75rem !important;
    }
}


/* ==========================================================
   INSTITUCIONES VINCULADAS - ESTILO LIMPIO TIPO REFERENCIA
   ========================================================== */

.partners-section{
    background:#ffffff !important;
    padding:55px 0 60px !important;
}

.partners-head{
    margin-bottom:30px !important;
}

.partners-head span{
    background:#eef5fb !important;
    color:#0b4f8a !important;
    padding:7px 16px !important;
    border-radius:999px !important;
    letter-spacing:.04em !important;
    font-size:.78rem !important;
}

.partners-head h2{
    font-family:"Montserrat",Arial,sans-serif !important;
    font-size:clamp(1.8rem,3vw,2.45rem) !important;
    font-weight:900 !important;
    color:#0a4c8a !important;
    letter-spacing:-.02em !important;
    margin-top:14px !important;
}

.partners-head p{
    display:none !important;
}

/* Franja limpia */
.partners-marquee{
    background:#ffffff !important;
    padding:20px 0 24px !important;
}

/* Quitar degradados laterales */
.partners-marquee::before,
.partners-marquee::after{
    display:none !important;
}

/* Logos alineados */
.partners-track{
    align-items:center !important;
    gap:58px !important;
}

/* QUITAR TARJETAS BLANCAS */
.partners-section .partner-card{
    background:transparent !important;
    border:0 !important;
    box-shadow:none !important;
    border-radius:0 !important;

    min-height:100px !important;
    width:210px !important;
    max-width:210px !important;
    flex:0 0 210px !important;

    padding:8px 4px !important;
    gap:7px !important;

    overflow:visible !important;
}

/* Sin efecto de levantar tarjeta */
.partners-section .partner-card:hover{
    transform:none !important;
    box-shadow:none !important;
}

/* LOGOS MÁS GRANDES */
.partners-section .partner-card img{
    width:190px !important;
    max-width:190px !important;
    height:82px !important;
    max-height:82px !important;

    object-fit:contain !important;
    object-position:center !important;

    margin:0 auto !important;
}

/* Nombre debajo, discreto */
.partners-section .partner-card span{
    margin-top:4px !important;
    color:#324a60 !important;
    font-family:"Montserrat",Arial,sans-serif !important;
    font-size:.72rem !important;
    font-weight:700 !important;
    line-height:1.15 !important;
    text-align:center !important;
}

/* Con pocos logos también sin cajas */
.partners-marquee.is-static{
    max-width:1200px !important;
}

.partners-marquee.is-static .partners-track{
    justify-content:center !important;
    gap:55px !important;
}

.partners-marquee.is-static .partner-card{
    width:210px !important;
    max-width:210px !important;
    flex:0 0 210px !important;
}

/* CELULAR */
@media(max-width:600px){

    .partners-section{
        padding:38px 0 42px !important;
    }

    .partners-head{
        padding:0 16px !important;
        margin-bottom:18px !important;
    }

    .partners-head h2{
        font-size:1.55rem !important;
        line-height:1.15 !important;
    }

    .partners-track{
        gap:28px !important;
    }

    .partners-section .partner-card{
        width:145px !important;
        max-width:145px !important;
        flex:0 0 145px !important;
        min-height:82px !important;
    }

    .partners-section .partner-card img{
        width:130px !important;
        max-width:130px !important;
        height:58px !important;
    }

    .partners-section .partner-card span{
        font-size:.64rem !important;
    }
}


/* ==========================================================
   LOGOS VINCULADOS - FORMATO HORIZONTAL LIMPIO
   ========================================================== */

.partners-section .partner-card{
    background:transparent !important;
    border:0 !important;
    box-shadow:none !important;
    border-radius:0 !important;
    padding:4px 10px !important;
    min-height:95px !important;
    width:230px !important;
    max-width:230px !important;
    flex:0 0 230px !important;
}

/* Ya no mostramos el nombre debajo */
.partners-section .partner-card span{
    display:none !important;
}

/* Logos horizontales */
.partners-section .partner-card img{
    display:block !important;
    width:210px !important;
    max-width:210px !important;
    height:78px !important;
    max-height:78px !important;
    object-fit:contain !important;
    object-position:center !important;
    margin:0 auto !important;
}

/* Separación entre logos */
.partners-track{
    gap:42px !important;
    align-items:center !important;
}

/* Sin efecto de tarjeta */
.partners-section .partner-card:hover{
    transform:scale(1.04) !important;
    box-shadow:none !important;
}

/* CELULAR */
@media(max-width:600px){

    .partners-section .partner-card{
        width:165px !important;
        max-width:165px !important;
        flex:0 0 165px !important;
        min-height:75px !important;
    }

    .partners-section .partner-card img{
        width:150px !important;
        max-width:150px !important;
        height:58px !important;
    }

    .partners-track{
        gap:24px !important;
    }
}


/* ==========================================================
   PROGRAMAS DE ESTUDIO - AJUSTE FINAL
   ========================================================== */

.program-grid-v4{
    align-items:stretch !important;
}

.program-grid-v4 .program-card{
    display:flex !important;
    flex-direction:column !important;
    height:100% !important;
    overflow:hidden !important;
}

.program-grid-v4 .program-card > img{
    width:100% !important;
    height:205px !important;
    object-fit:cover !important;
    object-position:center !important;
}

.program-grid-v4 .program-body{
    display:flex !important;
    flex-direction:column !important;
    flex:1 !important;
    padding:18px 18px 20px !important;
}

.program-grid-v4 .program-body h3{
    min-height:58px !important;
    margin-bottom:10px !important;
}

.program-grid-v4 .program-body p{
    flex:1 !important;
    margin-bottom:18px !important;
}

.program-grid-v4 .program-body b{
    margin-top:auto !important;
}

/* Ícono circular */
.program-grid-v4 .program-icon{
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    width:44px !important;
    height:44px !important;
    border-radius:50% !important;
    font-size:1.15rem !important;
    line-height:1 !important;
}

/* Responsive */
@media(max-width:900px){
    .program-grid-v4{
        grid-template-columns:repeat(2,1fr) !important;
    }
}

@media(max-width:600px){
    .program-grid-v4{
        grid-template-columns:1fr !important;
    }

    .program-grid-v4 .program-card > img{
        height:190px !important;
    }

    .program-grid-v4 .program-body h3{
        min-height:0 !important;
    }
}


/* ==========================================================

/* ==========================================================
   PROGRAMAS DE ESTUDIO - DISEÑO FINAL IMAGEN 2
   ========================================================== */

.programs-v4{
    padding:70px 20px 80px !important;
    background:#ffffff !important;
}

.programs-v4 .center-head{
    max-width:820px !important;
    margin:0 auto 38px !important;
    text-align:center !important;
}

.programs-v4 .center-head span{
    display:inline-block !important;
    color:#07559a !important;
    background:#eef6fc !important;
    border-radius:999px !important;
    padding:7px 16px !important;
    font-size:.78rem !important;
    font-weight:900 !important;
    letter-spacing:.1em !important;
    margin-bottom:12px !important;
}

.programs-v4 .center-head h2{
    color:#073b78 !important;
    font-family:"Montserrat",Arial,sans-serif !important;
    font-size:clamp(2.3rem,4vw,3.7rem) !important;
    font-weight:900 !important;
    line-height:1.04 !important;
    letter-spacing:-.04em !important;
    margin:0 0 18px !important;
}

.programs-v4 .center-head p{
    color:#6b7d93 !important;
    font-size:1.04rem !important;
    line-height:1.7 !important;
    max-width:700px !important;
    margin:0 auto !important;
}

/* GRID DE 4 PROGRAMAS */
.program-grid-v4{
    width:100% !important;
    max-width:1120px !important;
    margin:0 auto !important;
    display:grid !important;
    grid-template-columns:repeat(4,minmax(0,1fr)) !important;
    gap:20px !important;
    align-items:stretch !important;
}

/* TARJETA */
.program-grid-v4 .program-card{
    position:relative !important;
    display:flex !important;
    flex-direction:column !important;
    height:100% !important;
    min-width:0 !important;
    background:#fff !important;
    border:1px solid #e4ebf2 !important;
    border-radius:18px !important;
    overflow:hidden !important;
    text-decoration:none !important;
    box-shadow:0 10px 30px rgba(20,55,90,.08) !important;
    transition:.25s ease !important;
}

.program-grid-v4 .program-card:hover{
    transform:translateY(-6px) !important;
    box-shadow:0 18px 42px rgba(20,55,90,.15) !important;
}

/* FOTOGRAFÍA */
.program-grid-v4 .program-card > img{
    display:block !important;
    width:100% !important;
    height:205px !important;
    object-fit:cover !important;
    object-position:center !important;
}

/* CUERPO */
.program-grid-v4 .program-body{
    position:relative !important;
    display:flex !important;
    flex-direction:column !important;
    flex:1 !important;
    padding:21px 17px 20px !important;
    border-top:4px solid var(--pc,#07559a) !important;
}

/* CÍRCULO DE ÍCONO */
.program-grid-v4 .program-icon{
    position:absolute !important;
    top:-27px !important;
    right:16px !important;
    width:50px !important;
    height:50px !important;
    border-radius:50% !important;
    background:var(--pc,#07559a) !important;
    border:4px solid #fff !important;
    box-shadow:0 5px 14px rgba(0,0,0,.16) !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    color:#fff !important;
    font-size:0 !important;
}

/* ÍCONOS SIN GUARDAR EMOJIS EN MYSQL */
.program-grid-v4 .program-card:nth-child(1) .program-icon::before{
    content:"\2618";
    font-size:24px;
}

.program-grid-v4 .program-card:nth-child(2) .program-icon::before{
    content:"\2665";
    font-size:22px;
}

.program-grid-v4 .program-card:nth-child(3) .program-icon::before{
    content:"\002B";
    font-size:27px;
    font-weight:900;
}

.program-grid-v4 .program-card:nth-child(4) .program-icon::before{
    content:"\25A3";
    font-size:24px;
}

/* TÍTULOS */
.program-grid-v4 .program-body h3{
    color:#073b78 !important;
    font-family:"Montserrat",Arial,sans-serif !important;
    font-size:1.08rem !important;
    font-weight:900 !important;
    line-height:1.27 !important;
    margin:0 0 14px !important;
    min-height:72px !important;
}

/* DESCRIPCIÓN */
.program-grid-v4 .program-body p{
    color:#71839a !important;
    font-size:.93rem !important;
    line-height:1.55 !important;
    margin:0 0 20px !important;
    flex:1 !important;
}

/* CONOCER PROGRAMA */
.program-grid-v4 .program-body b{
    margin-top:auto !important;
    color:var(--pc,#07559a) !important;
    font-family:"Montserrat",Arial,sans-serif !important;
    font-size:.86rem !important;
    font-weight:900 !important;
}

/* TABLET */
@media(max-width:1000px){
    .program-grid-v4{
        max-width:760px !important;
        grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    }

    .program-grid-v4 .program-card > img{
        height:220px !important;
    }
}

/* CELULAR */
@media(max-width:600px){
    .programs-v4{
        padding:48px 16px 55px !important;
    }

    .programs-v4 .center-head h2{
        font-size:2rem !important;
    }

    .program-grid-v4{
        grid-template-columns:1fr !important;
        max-width:390px !important;
        gap:22px !important;
    }

    .program-grid-v4 .program-card > img{
        height:210px !important;
    }

    .program-grid-v4 .program-body h3{
        min-height:0 !important;
        font-size:1.17rem !important;
    }
}


/* ==========================================================
   AJUSTE FINAL PROGRAMAS - FONDO Y BLOQUE
   ========================================================== */

.programs-v4{
    position:relative !important;
    width:100% !important;
    max-width:none !important;
    margin:0 !important;
    padding:75px 0 85px !important;
    background:linear-gradient(180deg,#f4f9fd 0%,#eaf4fa 100%) !important;
    overflow:hidden !important;
}

.programs-v4 .center-head{
    width:min(1120px,calc(100% - 40px)) !important;
    max-width:1120px !important;
    margin:0 auto 38px !important;
    text-align:center !important;
}

.program-grid-v4{
    width:min(1120px,calc(100% - 40px)) !important;
    max-width:1120px !important;
    margin:0 auto !important;
    display:grid !important;
    grid-template-columns:repeat(4,minmax(0,1fr)) !important;
    gap:22px !important;
    align-items:stretch !important;
}

.program-grid-v4 .program-card{
    height:100% !important;
    min-height:520px !important;
    background:#ffffff !important;
    border-radius:18px !important;
    overflow:hidden !important;
}

.program-grid-v4 .program-card > img{
    width:100% !important;
    height:220px !important;
    object-fit:cover !important;
    display:block !important;
}

@media(max-width:1000px){
    .program-grid-v4{
        grid-template-columns:repeat(2,minmax(0,1fr)) !important;
        max-width:760px !important;
    }
}

@media(max-width:600px){
    .programs-v4{
        padding:48px 0 55px !important;
    }

    .programs-v4 .center-head,
    .program-grid-v4{
        width:calc(100% - 28px) !important;
    }

    .program-grid-v4{
        grid-template-columns:1fr !important;
        max-width:390px !important;
    }

    .program-grid-v4 .program-card{
        min-height:0 !important;
    }

    .program-grid-v4 .program-card > img{
        height:210px !important;
    }
}

/* =========================================================
   FORMACION DESTACADA V2 - SOLO ESTE BLOQUE
   ========================================================= */

.learning-feature-v2{
    position:relative;
    overflow:hidden;
    padding:85px 0 95px !important;
    background:
        radial-gradient(circle at 8% 12%, rgba(31,122,214,.10), transparent 25%),
        radial-gradient(circle at 92% 15%, rgba(255,190,0,.10), transparent 24%),
        linear-gradient(135deg,#f8fbff 0%,#ffffff 52%,#eef7ff 100%) !important;
}

.learning-feature-v2::before{
    content:"";
    position:absolute;
    left:-120px;
    bottom:-170px;
    width:390px;
    height:390px;
    border-radius:50%;
    background:rgba(20,105,190,.07);
}

.learning-feature-v2::after{
    content:"";
    position:absolute;
    right:-100px;
    top:-120px;
    width:320px;
    height:320px;
    border-radius:50%;
    background:rgba(255,190,0,.08);
}

.learning-feature-v2 > div{
    position:relative;
    z-index:2;
    width:min(1160px,calc(100% - 40px));
    margin:auto;
}

.learning-feature-v2 .learning-copy{
    padding:12px 10px 12px 0;
}

.learning-feature-v2 .learning-copy .eyebrow{
    display:inline-flex !important;
    align-items:center;
    gap:8px;
    margin-bottom:17px !important;
    padding:8px 14px !important;
    border-radius:999px;
    background:#e9f4ff;
    color:#075ca8 !important;
    font-size:.78rem !important;
    font-weight:900 !important;
    letter-spacing:.08em;
    text-transform:uppercase;
}

.learning-feature-v2 .learning-copy h2{
    max-width:570px;
    margin:0 0 22px !important;
    color:#073f7d !important;
    font-size:clamp(2.8rem,4.5vw,4.9rem) !important;
    line-height:.96 !important;
    font-weight:900 !important;
    letter-spacing:-.05em;
}

.learning-feature-v2 .learning-copy h3{
    max-width:590px;
    margin-bottom:20px !important;
    color:#395b80 !important;
    font-size:1.25rem !important;
    line-height:1.55 !important;
    font-weight:800 !important;
}

.learning-feature-v2 .learning-copy > p{
    max-width:600px;
    color:#657b98 !important;
    font-size:1.06rem !important;
    line-height:1.72 !important;
}

.learning-feature-v2 .learning-copy .btn-modern{
    margin-top:10px !important;
    min-height:54px;
    padding:0 25px !important;
    border-radius:14px !important;
    background:linear-gradient(135deg,#07549a,#0c72d1) !important;
    color:#fff !important;
    box-shadow:0 15px 32px rgba(10,80,150,.23);
    transition:all .25s ease;
}

.learning-feature-v2 .learning-copy .btn-modern:hover{
    transform:translateY(-3px);
    box-shadow:0 20px 38px rgba(10,80,150,.30);
}

.learning-feature-v2 .learning-cards{
    display:grid !important;
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
    gap:18px !important;
    align-items:stretch;
}

.learning-feature-v2 .learning-cards article{
    position:relative;
    min-height:365px;
    padding:28px 22px 78px !important;
    overflow:hidden;
    border:1px solid #dbe7f3 !important;
    border-radius:24px !important;
    background:rgba(255,255,255,.96) !important;
    box-shadow:0 18px 46px rgba(18,62,105,.11);
    transition:transform .25s ease,box-shadow .25s ease;
}

.learning-feature-v2 .learning-cards article:hover{
    transform:translateY(-8px);
    box-shadow:0 27px 55px rgba(18,62,105,.17);
}

.learning-feature-v2 .learning-cards article::before{
    content:"";
    position:absolute;
    top:0;
    left:0;
    right:0;
    height:7px;
    background:#1778d5;
}

.learning-feature-v2 .learning-cards article:nth-child(2)::before{
    background:#f0b000;
}

.learning-feature-v2 .learning-cards article:nth-child(3)::before{
    background:#14a466;
}

.learning-feature-v2 .learning-cards article > span{
    display:flex !important;
    align-items:center;
    justify-content:center;
    width:68px;
    height:68px;
    margin-bottom:24px !important;
    border-radius:20px;
    background:#eaf4ff !important;
    color:#1778d5 !important;
    font-size:1.75rem !important;
    font-weight:900 !important;
    box-shadow:inset 0 0 0 1px rgba(23,120,213,.08);
}

.learning-feature-v2 .learning-cards article:nth-child(2) > span{
    background:#fff4d3 !important;
    color:#df9f00 !important;
}

.learning-feature-v2 .learning-cards article:nth-child(3) > span{
    background:#e7f8ef !important;
    color:#12975d !important;
}

.learning-feature-v2 .learning-cards h3{
    margin:0 0 15px !important;
    color:#0b396d !important;
    font-size:1.35rem !important;
    line-height:1.15 !important;
    font-weight:900 !important;
}

.learning-feature-v2 .learning-cards p{
    margin:0 !important;
    color:#6f829b !important;
    font-size:1rem !important;
    line-height:1.65 !important;
}

.learning-feature-v2 .learning-cards article::after{
    position:absolute;
    left:22px;
    right:22px;
    bottom:22px;
    padding-top:15px;
    border-top:1px solid #e7edf5;
    font-size:.76rem;
    line-height:1.2;
    font-weight:900;
    letter-spacing:.045em;
    text-transform:uppercase;
}

.learning-feature-v2 .learning-cards article:nth-child(1)::after{
    content:"Técnicos que resuelven";
    color:#1676cf;
}

.learning-feature-v2 .learning-cards article:nth-child(2)::after{
    content:"Talento que crece";
    color:#d89c00;
}

.learning-feature-v2 .learning-cards article:nth-child(3)::after{
    content:"Aprendizaje con impacto";
    color:#118f59;
}

@media(max-width:1050px){
    .learning-feature-v2 .learning-cards{
        grid-template-columns:1fr !important;
    }

    .learning-feature-v2 .learning-cards article{
        min-height:250px;
    }
}

@media(max-width:760px){
    .learning-feature-v2{
        padding:60px 0 70px !important;
    }

    .learning-feature-v2 > div{
        width:min(100% - 28px,1160px);
    }

    .learning-feature-v2 .learning-copy h2{
        font-size:clamp(2.3rem,11vw,3.5rem) !important;
    }
}


/* AJUSTE FINAL FORMACION V2 */
.learning-feature-v2{
    padding:68px 0 72px !important;
}

.learning-feature-v2 .learning-copy h2{
    max-width:540px !important;
    font-size:clamp(2.7rem,3.7vw,4.15rem) !important;
    line-height:.98 !important;
    letter-spacing:-.045em !important;
}

.learning-feature-v2 .learning-copy h3{
    max-width:540px !important;
    font-size:1.16rem !important;
    line-height:1.48 !important;
    margin-bottom:16px !important;
}

.learning-feature-v2 .learning-copy > p{
    max-width:550px !important;
    font-size:1rem !important;
    line-height:1.62 !important;
    margin-bottom:18px !important;
}

.learning-feature-v2 .learning-cards article{
    min-height:340px !important;
    padding-top:24px !important;
}

@media(max-width:760px){
    .learning-feature-v2{
        padding:52px 0 60px !important;
    }

    .learning-feature-v2 .learning-copy h2{
        font-size:clamp(2.25rem,10vw,3.25rem) !important;
    }
}

/* =========================================================
   FORMACION - MEJORA VISUAL SEGURA
   NO ALTERA GRID NI ANCHO GENERAL
   ========================================================= */

.learning-feature-v2{
    position:relative !important;
    isolation:isolate;
    overflow:hidden !important;
}

/* fotografía integrada al fondo */
.learning-feature-v2 .learning-feature-photo{
    position:absolute;
    z-index:0;
    top:35px;
    left:43%;
    width:49%;
    height:285px;
    border-radius:28px;
    overflow:hidden;
    opacity:.20;
    pointer-events:none;
    box-shadow:0 24px 55px rgba(6,61,116,.18);
}

.learning-feature-v2 .learning-feature-photo img{
    width:100%;
    height:100%;
    display:block;
    object-fit:cover;
    object-position:center;
}

.learning-feature-v2 .learning-feature-photo::after{
    content:"";
    position:absolute;
    inset:0;
    background:
        linear-gradient(90deg,
            rgba(248,252,255,.95) 0%,
            rgba(248,252,255,.45) 28%,
            rgba(255,255,255,.08) 70%,
            rgba(238,247,255,.55) 100%);
}

/* contenido por encima de la foto */
.learning-feature-v2 .learning-copy,
.learning-feature-v2 .learning-cards{
    position:relative !important;
    z-index:2 !important;
}

/* distintivo superior */
.learning-feature-v2 .learning-copy .eyebrow{
    box-shadow:0 7px 20px rgba(7,91,165,.09);
}

/* línea amarilla bajo parte del título */
.learning-feature-v2 .learning-copy h2{
    position:relative;
}

.learning-feature-v2 .learning-copy h2::after{
    content:"";
    display:block;
    width:145px;
    height:6px;
    margin-top:13px;
    border-radius:999px;
    background:linear-gradient(90deg,#f4b400,#ffd24a);
}

/* botón con mayor presencia */
.learning-feature-v2 .learning-copy .btn-modern{
    border:1px solid rgba(255,255,255,.45) !important;
    box-shadow:
        0 15px 32px rgba(8,80,151,.24),
        inset 0 1px 0 rgba(255,255,255,.25) !important;
}

/* TARJETAS: mismo tamaño, mejor diseño */
.learning-feature-v2 .learning-cards article{
    backdrop-filter:blur(5px);
    background:rgba(255,255,255,.96) !important;
    border:1px solid rgba(201,220,238,.88) !important;
}

.learning-feature-v2 .learning-cards article:nth-child(1){
    box-shadow:0 20px 44px rgba(18,117,207,.12) !important;
}

.learning-feature-v2 .learning-cards article:nth-child(2){
    box-shadow:0 20px 44px rgba(225,166,0,.12) !important;
}

.learning-feature-v2 .learning-cards article:nth-child(3){
    box-shadow:0 20px 44px rgba(15,150,91,.12) !important;
}

/* convertir 01 / 02 / 03 en círculos */
.learning-feature-v2 .learning-cards article > span{
    width:62px !important;
    height:62px !important;
    border-radius:50% !important;
    color:#fff !important;
    box-shadow:0 9px 20px rgba(0,0,0,.10);
}

.learning-feature-v2 .learning-cards article:nth-child(1) > span{
    background:linear-gradient(135deg,#1688e8,#066cca) !important;
}

.learning-feature-v2 .learning-cards article:nth-child(2) > span{
    background:linear-gradient(135deg,#ffc21a,#eba700) !important;
}

.learning-feature-v2 .learning-cards article:nth-child(3) > span{
    background:linear-gradient(135deg,#20b875,#0b955a) !important;
}

/* ligero movimiento */
.learning-feature-v2 .learning-cards article:hover{
    transform:translateY(-7px) scale(1.01) !important;
}

/* decoración inferior azul + dorado */
.learning-feature-v2::before{
    content:"" !important;
    position:absolute !important;
    z-index:0 !important;
    left:-8% !important;
    bottom:-175px !important;
    width:66% !important;
    height:225px !important;
    border-radius:50% !important;
    background:#07549a !important;
    transform:rotate(4deg);
    opacity:.07 !important;
}

@media(max-width:900px){
    .learning-feature-v2 .learning-feature-photo{
        top:25px;
        left:auto;
        right:0;
        width:55%;
        height:230px;
        opacity:.12;
    }
}

@media(max-width:600px){
    .learning-feature-v2 .learning-feature-photo{
        display:none;
    }

    .learning-feature-v2 .learning-copy h2::after{
        width:105px;
        height:5px;
    }
}


/* =========================================================
   FORMACION REFERENCIA V4
   DISEÑO AISLADO - NO MODIFICA OTROS BLOQUES
   ========================================================= */

.formation-ref-v4{
    position:relative;
    width:100%;
    overflow:hidden;
    padding:72px 0 100px;
    background:
        radial-gradient(
            circle at 3% 12%,
            rgba(28,128,222,.10),
            transparent 23%
        ),
        radial-gradient(
            circle at 97% 8%,
            rgba(255,190,0,.12),
            transparent 19%
        ),
        linear-gradient(
            135deg,
            #ffffff 0%,
            #f8fbff 48%,
            #eef7ff 100%
        );
}


/* decoración inferior */
.formation-ref-v4::before{
    content:"";
    position:absolute;
    z-index:0;
    left:-8%;
    bottom:-175px;
    width:64%;
    height:230px;
    border-radius:50%;
    background:rgba(8,103,193,.12);
    transform:rotate(4deg);
}


/* círculo dorado superior */
.formation-ref-v4::after{
    content:"";
    position:absolute;
    z-index:0;
    right:-110px;
    top:-145px;
    width:330px;
    height:330px;
    border-radius:50%;
    background:rgba(255,190,0,.08);
}


/* =========================================================
   CONTENEDOR
   ========================================================= */

.formation-ref-v4-inner{
    position:relative;
    z-index:2;
    display:grid;
    grid-template-columns:minmax(360px,.88fr) minmax(620px,1.55fr);
    gap:34px;
    width:min(1180px,calc(100% - 42px));
    margin:0 auto;
    align-items:center;
}


/* =========================================================
   IZQUIERDA
   ========================================================= */

.formation-ref-v4-copy{
    min-width:0;
    padding:12px 0 32px;
}

.formation-ref-v4-badge{
    display:inline-flex;
    align-items:center;
    gap:8px;
    margin-bottom:16px;
    padding:8px 15px;
    border-radius:999px;
    background:#e8f4ff;
    color:#0868b9;
    font-size:.78rem;
    line-height:1;
    font-weight:900;
    letter-spacing:.045em;
    text-transform:uppercase;
}

.formation-ref-v4-badge span{
    color:#126fc0;
}


.formation-ref-v4-copy h2{
    max-width:520px;
    margin:0 !important;
    color:#074886 !important;
    font-size:clamp(3rem,4vw,4.5rem) !important;
    line-height:.96 !important;
    font-weight:950 !important;
    letter-spacing:-.05em !important;
}


/* línea amarilla */
.formation-ref-v4-line{
    width:155px;
    height:6px;
    margin:18px 0 24px;
    border-radius:999px;
    background:linear-gradient(
        90deg,
        #f1ad00,
        #ffd447
    );
}


.formation-ref-v4-copy h3{
    max-width:535px;
    margin:0 0 20px !important;
    color:#244c76 !important;
    font-size:1.18rem !important;
    line-height:1.5 !important;
    font-weight:850 !important;
}


.formation-ref-v4-description{
    max-width:535px;
    color:#687e99;
    font-size:1rem;
    line-height:1.67;
}


/* =========================================================
   BOTÓN
   ========================================================= */

.formation-ref-v4-actions{
    display:flex;
    align-items:center;
    gap:20px;
    margin-top:28px;
}


.formation-ref-v4-button{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:11px;
    min-height:58px;
    padding:0 22px;
    border-radius:17px;
    background:
        linear-gradient(
            135deg,
            #064c91,
            #0876d6
        );
    color:#fff !important;
    text-decoration:none !important;
    box-shadow:
        0 16px 34px rgba(5,78,148,.24);
    transition:
        transform .25s ease,
        box-shadow .25s ease;
}


.formation-ref-v4-button:hover{
    transform:translateY(-3px);
    box-shadow:
        0 22px 42px rgba(5,78,148,.31);
}


.formation-ref-v4-arrow{
    display:flex;
    align-items:center;
    justify-content:center;
    width:34px;
    height:34px;
    border-radius:50%;
    background:#fff;
    color:#075aa8;
    font-size:1.25rem;
}


.formation-ref-v4-message{
    position:relative;
    color:#075aab;
    font-size:1rem;
    line-height:1.2;
    font-weight:900;
    font-style:italic;
    transform:rotate(-5deg);
}

.formation-ref-v4-message::after{
    content:"";
    position:absolute;
    left:0;
    right:0;
    bottom:-8px;
    height:4px;
    border-radius:999px;
    background:#f3b400;
}


/* =========================================================
   ZONA DERECHA
   ========================================================= */

.formation-ref-v4-visual{
    position:relative;
    min-width:0;
    padding-bottom:245px;
}


/* =========================================================
   FOTO
   ========================================================= */

.formation-ref-v4-photo{
    position:relative;
    width:100%;
    height:370px;
    overflow:hidden;
    border-radius:32px;
    background:#dceeff;
    box-shadow:
        0 20px 55px rgba(18,66,107,.13);
}


.formation-ref-v4-photo img{
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:center;
    display:block;
}


/* degradado izquierda foto */
.formation-ref-v4-photo::after{
    content:"";
    position:absolute;
    inset:0;
    pointer-events:none;
    background:
        linear-gradient(
            90deg,
            rgba(248,252,255,.35) 0%,
            rgba(248,252,255,.05) 25%,
            transparent 60%
        );
}


.formation-ref-v4-empty{
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    text-align:center;
    color:#07579f;
}

.formation-ref-v4-empty strong{
    font-size:2rem;
}

.formation-ref-v4-empty span{
    max-width:300px;
    margin-top:10px;
}


/* =========================================================
   TARJETAS
   ========================================================= */

.formation-ref-v4-cards{
    position:absolute;
    z-index:5;
    left:20px;
    right:20px;
    bottom:0;
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:14px;
}


.formation-ref-v4-card{
    position:relative;
    display:flex;
    flex-direction:column;
    min-width:0;
    min-height:365px;
    padding:24px 20px 0;
    overflow:hidden;
    border:1px solid #dce7f2;
    border-radius:25px;
    background:rgba(255,255,255,.98);
    box-shadow:
        0 18px 46px rgba(19,65,105,.13);
    transition:
        transform .25s ease,
        box-shadow .25s ease;
}


.formation-ref-v4-card:hover{
    transform:translateY(-7px);
    box-shadow:
        0 27px 58px rgba(19,65,105,.19);
}


/* barras superiores */
.formation-ref-v4-card::before{
    content:"";
    position:absolute;
    top:0;
    left:0;
    right:0;
    height:7px;
}


.formation-card-blue::before{
    background:#1684df;
}

.formation-card-gold::before{
    background:#f2b400;
}

.formation-card-green::before{
    background:#16a765;
}


/* encabezado tarjeta */
.formation-ref-v4-card-head{
    display:flex;
    align-items:center;
    justify-content:space-between;
    margin-bottom:20px;
}


/* número */
.formation-ref-v4-number{
    display:flex;
    align-items:center;
    justify-content:center;
    width:62px;
    height:62px;
    border-radius:50%;
    color:#fff;
    font-size:1.55rem;
    font-weight:950;
}


.formation-card-blue .formation-ref-v4-number{
    background:
        linear-gradient(
            135deg,
            #1a94ef,
            #0871cf
        );
}

.formation-card-gold .formation-ref-v4-number{
    background:
        linear-gradient(
            135deg,
            #ffc51c,
            #eca900
        );
}

.formation-card-green .formation-ref-v4-number{
    background:
        linear-gradient(
            135deg,
            #21b979,
            #0d9a5c
        );
}


/* icono */
.formation-ref-v4-icon{
    display:flex;
    align-items:center;
    justify-content:center;
    width:57px;
    height:57px;
    border-radius:50%;
    background:#f3f8fc;
    color:#126ebc;
    font-size:1.9rem;
    font-weight:900;
}

.formation-card-gold .formation-ref-v4-icon{
    color:#e1a200;
    background:#fff7dc;
}

.formation-card-green .formation-ref-v4-icon{
    color:#13965c;
    background:#e9f9f1;
}


/* textos tarjeta */
.formation-ref-v4-card h3{
    margin:0 0 14px !important;
    color:#083d72 !important;
    font-size:1.3rem !important;
    line-height:1.08 !important;
    font-weight:950 !important;
}


.formation-ref-v4-card p{
    margin:0 0 20px !important;
    color:#71839a !important;
    font-size:.96rem !important;
    line-height:1.55 !important;
}


/* pie tarjeta */
.formation-ref-v4-card-footer{
    display:flex;
    align-items:center;
    gap:11px;
    margin:auto -20px 0;
    padding:16px 18px;
    font-size:.74rem;
    line-height:1.18;
    font-weight:950;
    letter-spacing:.02em;
}


.formation-ref-v4-card-footer > span{
    font-size:1.55rem;
}


.formation-card-blue .formation-ref-v4-card-footer{
    color:#0874d0;
    background:#eaf5ff;
}


.formation-card-gold .formation-ref-v4-card-footer{
    color:#d89c00;
    background:#fff6d9;
}


.formation-card-green .formation-ref-v4-card-footer{
    color:#11965a;
    background:#e8f9f0;
}


/* =========================================================
   RESPONSIVE
   ========================================================= */

@media(max-width:1050px){

    .formation-ref-v4-inner{
        grid-template-columns:1fr;
        max-width:900px;
    }

    .formation-ref-v4-copy{
        padding-bottom:10px;
    }

    .formation-ref-v4-copy h2,
    .formation-ref-v4-copy h3,
    .formation-ref-v4-description{
        max-width:720px;
    }

    .formation-ref-v4-visual{
        padding-bottom:230px;
    }

}


@media(max-width:760px){

    .formation-ref-v4{
        padding:55px 0 65px;
    }

    .formation-ref-v4-inner{
        width:min(100% - 28px,900px);
    }

    .formation-ref-v4-copy h2{
        font-size:clamp(
            2.45rem,
            11vw,
            3.5rem
        ) !important;
    }

    .formation-ref-v4-actions{
        align-items:flex-start;
        flex-direction:column;
    }

    .formation-ref-v4-message{
        margin-left:30px;
    }

    .formation-ref-v4-photo{
        height:300px;
        border-radius:23px;
    }

    .formation-ref-v4-visual{
        padding-bottom:0;
    }

    .formation-ref-v4-cards{
        position:relative;
        left:auto;
        right:auto;
        bottom:auto;
        grid-template-columns:1fr;
        margin-top:-35px;
        padding:0 12px;
    }

    .formation-ref-v4-card{
        min-height:275px;
    }

}

