@import url("https://fonts.googleapis.com/css2?family=Karla:wght@400;500;600;700&family=Poppins:wght@400;500;600;700&display=swap");

:root{--navy:#29292b;--navy2:#333335;--blue:#2856a3;--mint:#ffde20;--paper:#fafafa;--ink:#303033;--muted:#676767;--line:#e4e4e4}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:Karla,Arial,Helvetica,sans-serif}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}h1,h2,h3,p{overflow-wrap:break-word}
.site-header{height:78px;display:flex;align-items:center;justify-content:space-between;padding:0 5vw;background:#fff;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:30}.brand{display:inline-flex;align-items:center;gap:10px;font-weight:800;letter-spacing:.14em;font-size:1.12rem}.brand-mark{display:grid;place-items:center;width:38px;height:38px;background:var(--navy);color:var(--mint);font-family:Georgia,serif;font-size:1.45rem;letter-spacing:0;clip-path:polygon(0 0,100% 0,100% 75%,75% 100%,0 100%)}.site-header nav{display:flex;gap:2rem;font-size:.92rem;font-weight:650}.site-header nav a:hover,.text-link:hover{color:var(--blue)}.header-cta,.primary-button,.outline-button{display:inline-flex;align-items:center;justify-content:center;gap:12px;font-weight:700}.header-cta{background:var(--navy);color:white;padding:13px 18px;font-size:.9rem}.mobile-menu{display:none}
.hero{min-height:670px;display:grid;grid-template-columns:1.08fr .92fr;background:var(--navy);color:white}.hero-copy{align-self:center;padding:clamp(56px,8vw,120px) 5vw;max-width:830px}.eyebrow,.section-kicker{font-size:.78rem;font-weight:800;letter-spacing:.13em;text-transform:uppercase}.eyebrow{color:var(--mint)}h1{font-size:clamp(3.3rem,6vw,6.4rem);letter-spacing:-.065em;line-height:1.02;font-weight:600;font-family:Poppins,Arial,sans-serif;margin:28px 0}.hero-lead{max-width:610px;font-size:1.2rem;line-height:1.65;color:#c3d2dc}.hero-actions{display:flex;align-items:center;gap:28px;margin-top:36px}.primary-button{background:var(--mint);color:var(--navy);padding:17px 23px;font-size:.96rem;min-height:56px}.primary-button:hover{background:#b3f6df}.text-link{display:inline-flex;align-items:center;gap:10px;font-size:.98rem;font-weight:700}.hero-small{color:#9bb1bd;font-size:.9rem;margin-top:26px}.hero-visual{position:relative;overflow:hidden;background:#171717;min-height:600px}.hero-visual:before{content:"";position:absolute;inset:0;background-image:linear-gradient(#ffffff12 1px,transparent 1px),linear-gradient(90deg,#ffffff12 1px,transparent 1px);background-size:52px 52px;mask-image:radial-gradient(circle,#000 10%,transparent 75%)}.orbital{position:absolute;border:1px solid #ffde2088;border-radius:50%;transform:rotate(-28deg)}.orbital-one{width:68%;height:43%;top:27%;left:17%}.orbital-two{width:92%;height:60%;top:19%;left:4%;transform:rotate(35deg);border-color:#ffffff33}.visual-center{position:absolute;top:44%;left:47%;display:grid;place-items:center;width:124px;height:124px;background:transparent;color:white;box-shadow:none}.visual-label{position:absolute;padding:9px 12px;border:1px solid #ffffff44;background:#28282bcc;color:#e0f4f3;font-size:.7rem;font-weight:800;letter-spacing:.12em}.label-one{top:26%;left:22%}.label-two{top:38%;right:13%}.label-three{bottom:27%;left:15%}.visual-caption{position:absolute;bottom:8%;right:8%;display:flex;flex-direction:column;gap:7px;padding:20px 24px;border-left:2px solid var(--mint);background:#29292bcc}.visual-caption span{color:#bfd0d7;font-size:.8rem}.visual-caption strong{font-size:1.1rem}
.intro-band{display:grid;grid-template-columns:1fr 1fr;gap:10vw;align-items:end;padding:90px 7vw;background:white}.intro-band span{color:var(--blue);font-size:.78rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.intro-band h2{margin:20px 0 0}.intro-band p{font-size:1.2rem;line-height:1.7;color:var(--muted)}.section-wrap{padding:100px 7vw}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:30px}.section-heading>p{max-width:400px;color:var(--muted);line-height:1.6}.section-kicker{color:var(--blue)}h2{font-size:clamp(2.6rem,4.6vw,4.9rem);line-height:1.06;letter-spacing:-.052em;font-weight:600;font-family:Poppins,Arial,sans-serif;margin:14px 0 38px;max-width:780px}h3{font-size:1.45rem;letter-spacing:-.025em}.area-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}.area-card{background:#fff;min-height:330px;padding:34px;display:flex;flex-direction:column}.area-card:hover{background:#f2f4fb}.area-card svg{color:var(--blue)}.area-number{color:#78909e;font-size:.8rem;margin-bottom:38px}.area-card h3{margin:24px 0 8px}.area-card p{color:var(--muted);line-height:1.55;margin:0}.area-action{display:flex;align-items:center;gap:9px;color:var(--blue);font-weight:700;margin-top:auto;padding-top:30px}.area-note{font-size:.9rem;color:var(--muted);margin-top:22px}.institutions-preview{background:#f1f1f1}.outline-button{border:1px solid var(--navy);padding:15px 19px;white-space:nowrap}.section-intro{font-size:1.1rem;line-height:1.6;color:var(--muted);max-width:700px;margin:-12px 0 34px}.preview-grid,.resource-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.preview-card,.resource-card,.empty-card{background:#fff;min-height:270px;padding:30px;display:flex;flex-direction:column}.preview-card>span,.resource-card>span{color:var(--blue);font-size:.78rem;letter-spacing:.1em;text-transform:uppercase;font-weight:800}.preview-card h3,.resource-card h3{font-size:1.6rem;margin:30px 0 9px}.preview-card p,.resource-card p,.empty-card p{color:var(--muted);line-height:1.55}.preview-card strong,.resource-card strong,.empty-card a{display:flex;gap:8px;align-items:center;margin-top:auto;color:var(--blue);font-size:.9rem}.process{background:var(--navy);color:white}.process .section-kicker{color:var(--mint)}.process-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:40px;border-top:1px solid #ffffff40}.process-grid>div{padding-top:27px}.process-grid span{color:var(--mint)}.process-grid h3{margin:50px 0 12px}.process-grid p{line-height:1.6;color:#b8cbd6;max-width:320px}.resources-preview{background:#fff}.resources-preview .resource-card{border:1px solid var(--line);min-height:300px}.empty-inline{color:var(--muted);font-size:1.1rem}.closing{text-align:center;background:#4b2c7b;color:white;padding:100px 24px}.closing .section-kicker{color:var(--mint)}.closing h2{margin:10px auto 15px}.closing p:not(.section-kicker){color:#d6e7ed;font-size:1.1rem}.closing .primary-button{margin-top:20px}footer{background:#fff;color:#676767;padding:65px 7vw;display:grid;grid-template-columns:2fr 1fr 1fr;gap:40px}footer .brand{color:#676767}footer .brand-mark{background:var(--mint);color:var(--navy)}footer p{max-width:300px;line-height:1.6}footer>div:not(:first-child){display:flex;flex-direction:column;gap:13px}footer>div:not(:first-child) p{color:var(--ink);font-weight:700;margin:0 0 8px}footer small{grid-column:1/-1;border-top:1px solid var(--line);padding-top:28px;color:#777}
.subhero{background:var(--navy);color:#fff;padding:90px 7vw 80px}.subhero .section-kicker{color:var(--mint)}.subhero h1{font-size:clamp(3.1rem,6vw,5.5rem);max-width:850px}.subhero p:last-child{font-size:1.15rem;line-height:1.65;color:#c5d4dd;max-width:740px}.listing{padding:70px 7vw 110px}.listing-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.article-wrap{max-width:850px;margin:0 auto;padding:70px 24px 110px}.article-wrap .back-link{color:var(--blue);font-weight:700}.article-wrap h1{font-size:clamp(2.8rem,5vw,4.7rem);color:var(--navy);margin:35px 0 18px}.article-wrap .summary{font-size:1.25rem;color:var(--muted);line-height:1.6}.article-body{white-space:pre-line;font-size:1.1rem;line-height:1.85;margin:45px 0;border-top:1px solid var(--line);padding-top:40px}.article-cta{background:#e3f2ef;padding:30px}.article-cta h2{font-size:1.8rem;margin:0 0 14px}.article-cta a{color:#075c8a;font-weight:700}.empty-state{background:white;border:1px solid var(--line);padding:35px;max-width:700px}.admin-layout{max-width:1050px;margin:auto;padding:50px 24px 100px}.admin-layout h1{font-size:3rem}.admin-list{display:grid;gap:10px;margin:25px 0 45px}.admin-row{background:white;border:1px solid var(--line);padding:18px;display:flex;justify-content:space-between;gap:20px}.admin-row button,.admin-controls button{padding:10px 14px;border:1px solid var(--navy);background:white;cursor:pointer}.admin-form{display:grid;grid-template-columns:1fr 1fr;gap:18px}.admin-form label{display:flex;flex-direction:column;gap:7px;font-weight:700}.admin-form input,.admin-form select,.admin-form textarea{background:white;border:1px solid #aebdc5;padding:12px;border-radius:2px}.admin-form .wide{grid-column:1/-1}.admin-form textarea{min-height:190px}.admin-controls{display:flex;gap:10px;align-items:center;grid-column:1/-1}.admin-controls .save{background:var(--navy);color:white}.admin-status{color:#075c8a;font-weight:700}
@media(max-width:1000px){.site-header nav{gap:1rem}.hero{grid-template-columns:1fr 1fr}.hero-visual{min-height:520px}.preview-grid,.listing-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){.site-header{height:68px;padding:0 20px}.site-header nav{display:none}.header-cta{margin-left:auto;margin-right:15px;font-size:.78rem;padding:10px}.header-cta svg{display:none}.mobile-menu{display:block;position:relative}.mobile-menu summary{list-style:none;cursor:pointer}.mobile-menu summary::-webkit-details-marker{display:none}.mobile-menu>div{position:absolute;right:-20px;top:43px;width:240px;display:flex;flex-direction:column;gap:20px;padding:25px;background:#fff;box-shadow:0 14px 25px #0002}.hero{display:block}.hero-copy{padding:70px 24px}.hero-visual{min-height:330px}.hero h1{font-size:clamp(3.1rem,11vw,5.3rem)}.hero-actions{align-items:flex-start;flex-direction:column}.intro-band{grid-template-columns:1fr;padding:70px 24px;gap:12px}.section-wrap{padding:75px 24px}.section-heading{display:block}.section-heading>p{margin-top:-15px;margin-bottom:35px}.area-grid,.process-grid,.preview-grid,.resource-grid,.listing-grid{grid-template-columns:1fr}.area-card{min-height:270px}.area-number{margin-bottom:20px}.process-grid{gap:10px}.process-grid h3{margin-top:20px}.outline-button{margin-bottom:30px}.closing{padding:75px 24px}footer{grid-template-columns:1fr;gap:35px;padding:55px 24px}footer small{grid-column:1}.subhero{padding:65px 24px}.listing{padding:45px 24px}.admin-form{grid-template-columns:1fr}.admin-form .wide,.admin-controls{grid-column:1}}
@media(max-width:420px){.header-cta{font-size:0;padding:10px;width:38px;height:38px}.header-cta svg{display:block}.brand{font-size:.95rem}.hero-actions .primary-button{width:100%}}

.brand img{display:block;width:210px;height:auto}.footer-brand img{width:250px}.visual-center img{width:105px;height:auto}.visual-center{transform:translate(-25%,-25%)}.site-header .brand{letter-spacing:0}footer .brand{letter-spacing:0}
@media(max-width:760px){.brand img{width:165px}.footer-brand img{width:220px}.visual-center{width:105px;height:105px}.visual-center img{width:90px}}
@media(max-width:420px){.brand img{width:145px}}

/* Símbolo sobre negro, sin recuadro; composición móvil despejada. */
.hero-visual{background:#171717}.visual-center{background:transparent;box-shadow:none}.hero{background:#171717}.process{background:#171717}.visual-caption{background:#171717d9}
@media(max-width:760px){.hero-visual{min-height:360px}.hero-visual .visual-label,.hero-visual .visual-caption{display:none}.visual-center{top:38%;left:50%;transform:translate(-50%,-25%);width:132px;height:132px}.visual-center img{width:118px}.orbital-one{top:20%;left:15%;width:70%;height:52%}.orbital-two{top:17%;left:8%;width:84%;height:60%}}
.closing{background:#171717}

.visual-countries{position:absolute;inset:0;pointer-events:none}.label-four{top:18%;right:22%}
@media(max-width:760px){.hero-visual .visual-countries{inset:auto 16px 20px;display:flex;flex-wrap:wrap;justify-content:center;gap:8px}.hero-visual .visual-countries .visual-label{display:block;position:static;font-size:.65rem;padding:8px 9px}.hero-visual .visual-caption{display:none}.hero-visual{min-height:390px}.visual-center{top:35%}}

.map-visual{display:flex;align-items:center;justify-content:center;background:#171717;padding:30px;min-height:600px}.map-visual:before{display:none}.world-map{display:block;width:100%;height:auto;max-width:920px;filter:drop-shadow(0 20px 45px #0005)}.map-caption{position:absolute;bottom:36px;left:40px;display:flex;flex-direction:column;gap:5px;padding:14px 18px;background:#171717db;border-left:2px solid #f4b51c}.map-caption span{font-size:.78rem;color:#bbb}.map-caption strong{font-size:1rem;color:white}
@media(max-width:760px){.map-visual{min-height:280px;padding:10px 0 24px}.map-caption{display:none}.world-map{width:100%;height:auto}}
.floating-whatsapp{position:fixed;right:22px;bottom:22px;z-index:60;display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:58px;padding:0 20px;border-radius:999px;background:#198b58;color:#fff;font-weight:700;font-size:1rem;box-shadow:0 9px 28px #0004;transition:transform .18s,background .18s}
.floating-whatsapp:hover{background:#11794b;transform:translateY(-2px)}.floating-whatsapp:focus-visible{outline:3px solid #ffde20;outline-offset:3px}
@media(max-width:760px){.floating-whatsapp{right:16px;bottom:max(16px,env(safe-area-inset-bottom));min-height:56px;padding:0 16px;font-size:.94rem}}

/* Acceso directo persistente en la esquina inferior izquierda. */
.floating-whatsapp{left:20px;right:auto;bottom:20px;width:60px;height:60px;min-height:60px;padding:0;border-radius:50%;background:#25d366;box-shadow:0 6px 22px #0005}.floating-whatsapp:hover{background:#1fbd5a}.floating-whatsapp img{display:block;width:31px;height:31px}
@media(max-width:760px){.floating-whatsapp{left:16px;right:auto;bottom:max(16px,env(safe-area-inset-bottom));width:56px;height:56px;min-height:56px;padding:0}.floating-whatsapp img{width:29px;height:29px}}
.institution-logo{height:80px;display:flex;align-items:center;margin-bottom:20px}.institution-logo img{max-width:200px;max-height:72px;width:auto;height:auto;object-fit:contain}.preview-card:has(.institution-logo) h3{margin-top:16px}.listing-note{margin-top:32px;color:var(--muted);line-height:1.6;max-width:760px}.careers{background:#fff}.careers>p:not(.section-kicker){max-width:650px;font-size:1.15rem;line-height:1.6;color:var(--muted);margin-bottom:28px}.careers .outline-button{display:inline-flex}
.preview-card[href$="/cesuma"] .institution-logo,.article-wrap:has(.section-kicker) .institution-logo:has(img[src*="CESUMA.webp"]){background:#164d76;border-radius:4px;padding:10px 18px;width:230px;height:94px}.preview-card[href$="/cesuma"] .institution-logo img{max-height:80px}.area-list-card h2{font-size:1.45rem;letter-spacing:-.025em;line-height:1.2;margin:24px 0 8px}.area-list-card a{margin-top:auto;color:var(--blue);font-weight:700}.all-areas-link{padding:0 7vw 75px;background:#fafafa}.about-page p:not(.section-kicker),.testimonial-intro p,.testimonial-home p:not(.section-kicker){font-size:1.2rem;line-height:1.7;color:var(--muted);max-width:850px}.about-page .primary-button,.testimonial-intro .primary-button{margin-top:24px}.testimonial-home{background:#f1f1f1}.testimonial-home .outline-button{margin-top:20px}
@media(max-width:760px){.all-areas-link{padding:0 24px 65px}}
.institutions-hero{background:radial-gradient(circle at 85% 25%,#2856a344,transparent 32%),#171717}.institutions-hero h1{max-width:900px}.institutions-hero .primary-button{margin-top:25px}.institution-jump{display:flex;gap:12px;padding:23px 7vw;background:#fff;border-bottom:1px solid var(--line);flex-wrap:wrap}.institution-jump a{border:1px solid #d2dce9;padding:10px 16px;border-radius:100px;font-weight:700;color:#2856a3}.institution-jump a:hover{background:#2856a3;color:#fff}.institution-section{scroll-margin-top:90px}.institution-section.tinted{background:#f0f3f8}.institution-section .section-heading h2{margin-bottom:35px}.institution-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}.institution-card{background:#fff;border:1px solid #dce3e9;min-height:320px;padding:24px;display:flex;flex-direction:column;box-shadow:0 8px 20px #10233b08;transition:transform .2s,box-shadow .2s,border-color .2s}.institution-card:hover{transform:translateY(-4px);box-shadow:0 16px 30px #10233b1b;border-color:#89a8d8}.institution-card .institution-logo{height:94px;margin-bottom:14px}.institution-card .institution-logo img{max-width:100%;max-height:75px}.institution-card .cesuma-logo{background:#164d76;border-radius:4px;width:100%;padding:8px 18px}.institution-country{font-size:.73rem;color:#2856a3;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.institution-card h3{font-size:1.25rem;line-height:1.25;margin:13px 0 7px}.institution-card p{color:var(--muted);line-height:1.5;margin:0 0 25px;font-size:.94rem}.institution-card strong{display:flex;align-items:center;gap:7px;color:#2856a3;margin-top:auto;font-size:.9rem}.institution-end{padding:90px 7vw;background:#1d293b;color:#fff}.institution-end p{color:#cfdae8;font-size:1.15rem;margin-bottom:32px}.institution-end h2{margin-bottom:15px}
@media(max-width:1050px){.institution-grid{grid-template-columns:repeat(3,1fr)}}@media(max-width:760px){.institution-grid{grid-template-columns:repeat(2,1fr)}.institution-jump{padding:18px 24px}.institution-end{padding:70px 24px}}@media(max-width:530px){.institution-grid{grid-template-columns:1fr}.institution-card{min-height:270px}}
.article-wrap .institution-logo:has(img[src*="logo_tec.png"]){background:#164d76;border-radius:4px;padding:20px;width:230px;height:94px}

.about-pillars{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:32px;margin:48px 0}.about-pillars article{padding:32px;background:#f3f6fa;border-top:4px solid var(--blue)}.about-pillars article:last-child{border-color:var(--yellow,#ffde20)}.about-pillars h2{font-size:2rem;line-height:1.15}.about-page>h2{margin-top:18px}.about-page>p{margin-bottom:24px}@media(max-width:760px){.about-pillars{grid-template-columns:1fr}.about-pillars article{padding:24px}}

.about-founder-photo{margin:0 0 3rem}.about-founder-photo img{display:block;width:100%;height:auto;border-radius:20px}.about-founder-photo figcaption{font-size:14px;line-height:1.6;color:#555;margin-top:12px}

.floating-whatsapp{left:22px;right:auto;width:58px;height:58px;padding:0;border-radius:50%}
