/* Página independiente: no modifica los estilos del Home ni de Servicios. */
:root{--red:#ff3c2d;--ink:#202020;font-family:Arial,Helvetica,sans-serif;color:var(--ink);scroll-behavior:smooth}*{box-sizing:border-box}body{margin:0;background:var(--red)}h1,h2,h3,p{margin:0}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}a:focus-visible,button:focus-visible{outline:3px solid #70d7e8;outline-offset:5px}img{max-width:100%;display:block}.skip{position:fixed;left:20px;top:-80px;z-index:100;padding:12px;background:white}.skip:focus{top:10px}.training-hero{background:linear-gradient(105deg,#ff3c2d 4%,#ffc9ca 100%);color:white;min-height:750px;overflow:hidden}.training-header{display:flex;align-items:center;justify-content:space-between;padding:40px 5%;gap:28px}.brand{width:270px;flex-shrink:0}.training-header nav{display:flex;align-items:center;justify-content:space-between;gap:22px;border:1px solid #ffffff40;border-radius:60px;background:#ffffff15;padding:23px 30px;font-size:14px;font-weight:600}.training-header nav a{white-space:nowrap}.training-header nav a:hover{text-decoration:underline;text-underline-offset:6px}.contact-link{border:1px solid #ffcf8a75;background:#ff960030;border-radius:40px;padding:22px 25px;font-size:14px;backdrop-filter:blur(12px)}.menu-toggle{display:none}.hero-grid{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:6%;width:84%;max-width:1240px;margin:40px auto 45px}.hero-copy{animation:hero-enter 1s ease-out both;transform-origin:left center}.hero-copy h1{font-size:clamp(42px,4.7vw,68px);letter-spacing:-.055em;line-height:1.12}.hero-copy p{font-size:23px;line-height:1.22;max-width:425px;margin-top:24px}.hero-placeholder{height:530px;border-radius:150px 150px 32px 150px;display:flex;flex-direction:column;justify-content:space-between;padding:45px;background:linear-gradient(145deg,#ff5a4b50,#ff3c2d90);border:1px solid #ffffff30;animation:float 9s ease-in-out infinite;animation-play-state:paused}.hero-placeholder.is-visible{animation-play-state:running}.hero-placeholder span{font-size:12px;letter-spacing:.15em}.hero-placeholder strong{font-size:clamp(40px,5vw,72px);opacity:.45;letter-spacing:-.055em}.training-content{position:relative;z-index:1;margin-top:-1px;border-radius:48px;background:white;padding:140px 0 160px;overflow:hidden}.intro{width:83%;max-width:1200px;margin:auto;display:grid;grid-template-columns:1.12fr 1fr;gap:12%;align-items:start}.intro h2{font-size:clamp(30px,3.5vw,50px);line-height:1.15;letter-spacing:-.045em}.intro em{font-style:normal;color:var(--red)}.intro p{color:#7b7b7b;font-size:23px;line-height:1.22}.intro p+p{margin-top:28px}.programs{width:89%;max-width:1280px;margin:165px auto 0;text-align:center}.programs-title{font-size:clamp(34px,4.7vw,68px);line-height:1.08;letter-spacing:-.05em;margin-bottom:115px}.program-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.program-grid .program:last-child:nth-child(odd){grid-column:1/-1;max-width:calc(50% - 6px);margin:0 auto}.program{background:#ffe7e8;border-radius:28px;min-height:270px;padding:48px 48px 42px 55px;display:grid;grid-template-columns:76px 1fr;gap:50px;align-items:start;text-align:left}.program-icon{background:var(--red);color:white;width:76px;height:76px;border-radius:14px;display:grid;place-items:center}.program-icon svg{width:62px;height:62px}.program h3{font-size:32px;line-height:1.06;font-weight:600;letter-spacing:-.045em;color:var(--red);margin:2px 0 15px}.program p{font-size:23px;line-height:1.22}.return-button{display:inline-block;background:var(--red);color:white;border-radius:60px;font-weight:600;font-size:20px;padding:30px 38px;margin-top:82px;transition:background .2s}.return-button:hover{background:#df2b20}.faq{width:92%;max-width:1150px;margin:82px auto 0;text-align:center}.faq-item{text-align:left}.faq-label{display:inline-block;border:1px solid #ddd;color:#aaa;border-radius:40px;padding:18px 40px;font-size:20px;font-weight:600;letter-spacing:.065em}.faq h2{color:var(--red);font-size:32px;line-height:1.12;letter-spacing:-.035em;margin:50px 0 20px}.faq>p:last-child{font-size:22px;line-height:1.25}.training-footer{position:relative;overflow:hidden;color:white;background:var(--red);padding:110px 5.5% 95px}.footer-main{display:grid;grid-template-columns:1.3fr 1fr;gap:12%;align-items:center;padding-right:18%}.footer-logo{max-width:590px}.footer-message{font-size:21px;line-height:1.15}.footer-socials{display:flex;gap:6px;margin-top:24px}.footer-social{width:30px;height:30px;background:white;color:var(--red);border-radius:3px;display:grid;place-items:center}.footer-social svg{width:26px;height:26px;fill:currentColor}.footer-bottom{border-top:1px solid #ffffff80;margin-top:90px;padding-top:30px;display:flex;justify-content:space-between;gap:30px;align-items:center}.footer-bottom nav{display:flex;gap:35px;font-size:18px;font-weight:600}.footer-bottom small{font-size:12px;white-space:nowrap}.footer-flow{position:absolute;right:0;top:50px;width:18%;pointer-events:none}.back-to-top{position:fixed;right:24px;bottom:max(22px,env(safe-area-inset-bottom));z-index:50;width:56px;height:56px;display:grid;place-items:center;border-radius:50%;border:2px solid #fff;background:var(--red);color:#fff;box-shadow:0 6px 22px #ff40365c;padding:0;animation:back-top-arrive .3s ease-out both;transition:transform .2s,box-shadow .2s,background .2s}.back-to-top[hidden]{display:none}.back-to-top svg{width:24px;height:24px}.back-to-top:hover{transform:translateY(-4px) scale(1.05);background:#e02f21;box-shadow:0 8px 26px #ff403680}@media(max-width:640px){.back-to-top{right:16px;width:48px;height:48px}}@media(prefers-reduced-motion:reduce){.back-to-top{animation:none;transition:none}}@keyframes back-top-arrive{from{opacity:0;translate:0 8px}to{opacity:1;translate:0 0}}.js .reveal{opacity:0;transform:translateX(calc(var(--side,0)*60px)) scale(.85);transition:transform .9s cubic-bezier(.2,.7,.2,1),opacity .7s}.js .reveal.visible{opacity:1;transform:none}@keyframes hero-enter{from{opacity:0;transform:scale(.8)}to{opacity:1;transform:none}}@keyframes float{0%,100%{transform:translate(0,0)}30%{transform:translate(5px,-6px)}65%{transform:translate(-5px,4px)}}
@media(min-width:1600px){.training-hero{min-height:830px}.hero-grid{margin-top:70px}}
@media(max-width:1200px){.training-header{gap:20px;padding:30px 4%}.brand{width:210px}.training-header nav{gap:16px;font-size:12px;padding:20px}.contact-link{padding:20px;font-size:12px}.training-hero{min-height:650px}.hero-placeholder{height:430px}.hero-copy p{font-size:20px}.intro p,.program p{font-size:19px}.program{padding:35px 30px;gap:25px;grid-template-columns:60px 1fr;min-height:235px}.program-icon{width:60px;height:60px}.program-icon svg{width:48px;height:48px}.program h3{font-size:27px}.footer-bottom nav{gap:20px;font-size:14px}.footer-message{font-size:17px}}
@media(max-width:900px){.training-header{position:relative;flex-wrap:wrap}.training-header nav{order:4;width:100%;justify-content:center;flex-wrap:wrap}.hero-grid{margin-top:25px}.hero-copy h1{font-size:42px}.hero-placeholder{height:380px;padding:30px;border-radius:80px 80px 24px 80px}.hero-placeholder.photo{padding:0;border-radius:28px}.training-content{padding:90px 0}.intro{gap:7%}.intro p{font-size:18px}.programs{margin-top:100px}.programs-title{margin-bottom:65px}.program{grid-template-columns:45px 1fr;gap:20px;padding:30px 24px}.program-icon{width:45px;height:45px;border-radius:10px}.program-icon svg{width:38px;height:38px}.program h3{font-size:24px}.program p{font-size:17px}.faq-label{font-size:14px}.faq h2{font-size:27px}.faq>p:last-child{font-size:18px}.footer-bottom{flex-wrap:wrap}.footer-bottom nav{flex-wrap:wrap}.training-footer{padding:75px 5%}.footer-main{gap:8%}.footer-message{font-size:15px}}
@media(max-width:600px){.training-header{padding:25px 6%;gap:12px}.brand{width:205px}.menu-toggle{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;width:46px;height:46px;padding:0;color:white;background:#ffffff20;border:1px solid #ffffff70;border-radius:50%;margin-left:auto}.menu-toggle-icon{width:22px;height:22px;display:block}.menu-toggle-bar{transition:transform .25s,opacity .2s;transform-origin:12px 12px}.menu-toggle[aria-expanded=true] .menu-toggle-bar:nth-child(1){transform:translateY(5px) rotate(45deg)}.menu-toggle[aria-expanded=true] .menu-toggle-bar:nth-child(2){opacity:0}.menu-toggle[aria-expanded=true] .menu-toggle-bar:nth-child(3){transform:translateY(-5px) rotate(-45deg)}.contact-link{display:none}.training-header nav{display:none;background:#ff6258;position:absolute;top:80px;left:6%;width:88%;z-index:10;border-radius:22px;padding:25px;font-size:16px}.training-header nav.open{display:flex;flex-direction:column;align-items:flex-start}.hero-grid{grid-template-columns:1fr;width:84%;gap:35px;margin:35px auto 45px}.hero-copy h1{font-size:45px}.hero-copy p{font-size:18px;max-width:350px}.hero-placeholder{height:280px;border-radius:70px 70px 24px 70px}.hero-placeholder.photo{border-radius:24px}.hero-placeholder strong{font-size:48px}.training-content{border-radius:30px;padding:65px 0 80px}.intro{grid-template-columns:1fr;gap:28px;width:84%}.intro h2{font-size:32px}.intro p{font-size:17px;line-height:1.4}.programs{width:90%;margin-top:75px}.programs-title{font-size:35px;margin-bottom:45px}.program-grid{grid-template-columns:1fr;gap:12px}.program-grid .program:last-child:nth-child(odd){grid-column:auto;max-width:none;margin:0}.program{min-height:190px;border-radius:24px;padding:30px 24px;grid-template-columns:48px 1fr;gap:22px}.program h3{font-size:25px}.program p{font-size:17px;line-height:1.3}.return-button{font-size:16px;padding:22px 25px;margin-top:45px}.faq{width:94%;margin-top:55px}.faq-label{font-size:11px;padding:15px 18px;line-height:1.4}.faq h2{font-size:25px;margin-top:35px}.faq h2 br{display:none}.faq>p:last-child{font-size:16px;line-height:1.4}.training-footer{padding:60px 7%}.footer-main{grid-template-columns:1fr;gap:35px;padding-right:10%}.footer-logo{max-width:290px}.footer-message{font-size:16px}.footer-flow{width:95px;top:150px;opacity:.8}.footer-bottom{margin-top:45px;gap:25px}.footer-bottom nav{gap:18px;font-size:14px}.footer-bottom small{font-size:10px}.js .reveal{transform:translateY(20px) scale(.95)}.js .reveal.visible{transform:none}}
@media(prefers-reduced-motion:reduce){:root{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}.js .reveal{opacity:1;transform:none}}

/* Variantes de las cuatro internas; Entrenamientos conserva su diseño. */
:where(body:not(.page-training)) .training-hero{background:linear-gradient(105deg,var(--accent) 4%,var(--hero-end) 100%);color:white;min-height:750px;overflow:hidden}
:where(body:not(.page-training)) .hero-placeholder{height:530px;border-radius:150px 150px 32px 150px;display:flex;flex-direction:column;justify-content:space-between;padding:45px;background:linear-gradient(145deg,#ffffff20,var(--accent));border:1px solid #ffffff30;animation:float 9s ease-in-out infinite;animation-play-state:paused}
:where(body:not(.page-training)) .intro em{font-style:normal;color:var(--accent)}
:where(body:not(.page-training)) .program{background:var(--soft);border-radius:28px;min-height:270px;padding:48px 48px 42px 55px;display:grid;grid-template-columns:76px 1fr;gap:50px;align-items:start;text-align:left}
:where(body:not(.page-training)) .program h3{font-size:32px;line-height:1.06;font-weight:600;letter-spacing:-.045em;color:var(--accent);margin:2px 0 15px}
:where(body:not(.page-training)) .faq h2{color:var(--accent);font-size:32px;line-height:1.12;letter-spacing:-.035em;margin:50px 0 20px}
@media(max-width:600px){:where(body:not(.page-training)) .training-header nav{display:none;background:var(--accent);position:absolute;top:80px;left:6%;width:88%;z-index:10;border-radius:22px;padding:25px;font-size:16px}}
:where(body:not(.page-training)) .hero-copy h1{font-weight:600}
:where(body:not(.page-training)) .hero-placeholder{position:relative;isolation:isolate;border-radius:150px 150px 32px 150px}
:where(body:not(.page-training)) .hero-placeholder strong{font-size:clamp(30px,3.5vw,52px);line-height:1.1;overflow-wrap:break-word}
:where(body:not(.page-training)) .intro{grid-template-columns:1.2fr 1fr;gap:13%}
:where(body:not(.page-training)) .intro h2{font-weight:600}
:where(body:not(.page-training)) .programs{margin-top:200px}
:where(body:not(.page-training)) .programs-title{font-weight:600;margin-bottom:115px}
:where(body:not(.page-training)) .program{min-height:310px;padding:52px 50px 48px 55px;gap:54px}
:where(body:not(.page-training)) .program-icon{background:transparent;object-fit:contain;border-radius:14px}
:where(body:not(.page-training)) .program h3{font-weight:500;font-size:32px}
:where(body:not(.page-training)) .faq{width:92%;margin-top:62px}
:where(body:not(.page-training)) .faq-label{text-transform:uppercase;font-size:20px;padding:18px 35px;max-width:100%}
:where(body:not(.page-training)) .faq-item h2{max-width:1000px;margin:50px 0 20px;font-weight:500}
:where(body:not(.page-training)) .faq-item p{font-size:22px;line-height:1.25;max-width:1180px;margin:0}
:where(body:not(.page-training)) .faq-item+.faq-item{margin-top:65px}
:where(body:not(.page-training)) .training-content{padding-bottom:125px}
@media(max-width:1200px){:where(body:not(.page-training)) .program{min-height:265px;padding:35px 30px;gap:25px}
:where(body:not(.page-training)) .program h3{font-size:27px}
:where(body:not(.page-training)) .faq-label{font-size:16px}
:where(body:not(.page-training)) .faq-item p{font-size:19px}
:where(body:not(.page-training)) .training-header{flex-wrap:wrap}
:where(body:not(.page-training)) .training-header nav{order:3;width:100%;justify-content:center}
:where(body:not(.page-training)) .programs{margin-top:130px}}
@media(max-width:900px){:where(body:not(.page-training)) .intro{gap:7%}
:where(body:not(.page-training)) .program{grid-template-columns:45px 1fr;gap:20px;padding:30px 24px}
:where(body:not(.page-training)) .program h3{font-size:24px}
:where(body:not(.page-training)) .faq-item h2{font-size:27px}
:where(body:not(.page-training)) .faq-item p{font-size:18px}
:where(body:not(.page-training)) .programs-title{margin-bottom:65px}
:where(body:not(.page-training)) .faq-label{font-size:14px}}
@media(max-width:600px){:where(body:not(.page-training)) .intro{grid-template-columns:1fr;gap:28px}
:where(body:not(.page-training)) .programs{margin-top:75px}
:where(body:not(.page-training)) .program{min-height:190px;grid-template-columns:48px 1fr;gap:22px}
:where(body:not(.page-training)) .program h3{font-size:25px}
:where(body:not(.page-training)) .programs-title{font-size:35px;margin-bottom:45px}
:where(body:not(.page-training)) .faq-label{font-size:11px;padding:15px 18px}
:where(body:not(.page-training)) .faq-item h2{font-size:25px;margin-top:35px}
:where(body:not(.page-training)) .faq-item p{font-size:16px;line-height:1.4}
:where(body:not(.page-training)) .faq-item+.faq-item{margin-top:45px}
:where(body:not(.page-training)) .training-content{padding-bottom:80px}
:where(body:not(.page-training)) .hero-placeholder strong{font-size:36px}
:where(body:not(.page-training)) .training-header nav{width:88%;align-items:flex-start}}
:where(body:not(.page-training)) .hero-visual{position:relative;isolation:isolate}
:where(body:not(.page-training)) .hero-visual::before,:where(body:not(.page-training)) .hero-visual::after{content:"";position:absolute;z-index:-1;height:50%;border-radius:180px;background:linear-gradient(90deg,transparent,var(--accent));inset:0 0 auto 6%}
:where(body:not(.page-training)) .hero-visual::after{inset:auto 12% 0 0;background:linear-gradient(90deg,var(--accent),transparent)}
:where(body:not(.page-training)) .hero-placeholder{background:#ffffff0a;border:1px dashed #ffffff65;border-radius:28px}

/* SOMOS CCK — componentes de esta página */
.page-somos{background:#ff3c2d}.page-somos .eyebrow{text-transform:uppercase;letter-spacing:.15em;font-size:13px;font-weight:700;margin-bottom:22px}.page-somos h1,.page-somos h2{letter-spacing:-.045em;line-height:1.1}.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip-path:inset(50%)!important;white-space:nowrap!important;border:0!important}
.somos-hero{position:relative;min-height:750px;overflow:hidden;color:white}.somos-hero .training-header{position:relative;z-index:2}.somos-hero-copy{position:relative;width:57%;padding:65px 0 145px;margin-left:8%;animation:hero-enter .85s ease-out both}.somos-hero-copy h1{font-size:clamp(38px,4.2vw,64px);font-weight:600;margin-bottom:34px}.somos-hero-copy p{max-width:650px;font-size:21px;line-height:1.28}.somos-hero-flow{position:absolute;right:-15px;top:0;height:100%;width:40%;pointer-events:none}
.somos-values{background:white;border-radius:48px;padding:90px 6% 100px;position:relative}.value-row{max-width:1270px;margin:0 auto 30px;display:grid;grid-template-columns:200px 1fr;gap:38px;align-items:center;background:#ffe7e8;border-radius:28px;padding:45px;min-height:300px}.value-row:last-child{margin-bottom:0}.value-row h2{font-size:32px;color:#ff3c2d;font-weight:500;margin-bottom:15px}.value-row p:not(.eyebrow){font-size:21px;line-height:1.3}.value-row .eyebrow{color:#ff3c2d;font-size:12px}.value-placeholder{width:180px;height:180px;border-radius:50%;background:linear-gradient(140deg,#fff,#ffb7b4);display:grid;place-items:center;color:#ff8078;font-size:60px;font-weight:600;animation:float 9s ease-in-out infinite;animation-play-state:paused}.value-row.visible .value-placeholder{animation-play-state:running}
.leadership{background:linear-gradient(#ff9900 45%,#ffd38e);color:white;padding:80px 0 55px;overflow:hidden}.team-intro{text-align:center;width:80%;max-width:950px;margin:0 auto 80px}.team-intro h2{font-size:34px;font-weight:500;margin-bottom:28px}.team-intro>p:last-child{font-size:18px;line-height:1.3;max-width:790px;margin:auto}.team-track{display:flex;gap:35px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding:8px 7% 25px;overscroll-behavior-x:contain;-webkit-mask-image:linear-gradient(to right,transparent 0,#000 7%,#000 93%,transparent 100%);mask-image:linear-gradient(to right,transparent 0,#000 7%,#000 93%,transparent 100%)}.team-track::-webkit-scrollbar{display:none}.leader{flex:0 0 calc((100% - 175px)/6);min-width:165px;text-align:center;scroll-snap-align:start;display:flex;flex-direction:column;align-items:center}.portrait{width:100%;aspect-ratio:1;border-radius:50%;display:grid;place-items:center;background:linear-gradient(140deg,#fff5d7,#e79e29);border:1px solid #fff6;color:#fff8;overflow:hidden}.portrait span{font-size:clamp(36px,4.2vw,64px);font-weight:600}.leader h3{font-size:17px;margin:22px 0 9px;line-height:1.2}.leader p{font-size:13px;line-height:1.25;min-height:50px;max-width:190px}.read-bio{background:white;border:0;color:#b96900;font-weight:600;border-radius:40px;padding:14px 30px;margin-top:16px;transition:transform .2s}.read-bio:hover{transform:scale(1.05)}.team-controls{width:73%;display:flex;align-items:center;gap:25px;margin:65px auto 0}.team-controls button{background:transparent;border:1px solid #fff8;color:white;border-radius:50%;width:40px;height:40px;font-size:22px;display:grid;place-items:center;transition:background .2s,border-color .2s}
.team-controls button svg{width:18px;height:18px}
.team-controls button:hover{background:#ffffff26;border-color:#fff}.team-progress{height:4px;background:#fff6;flex:1;overflow:hidden}.team-progress span{display:block;background:#ff9d17;height:100%;width:25%;transform:translateX(0)}
.somos-region{position:relative;background:white;border-radius:48px;padding:110px 6% 130px}.region-intro{text-align:center}.region-intro .eyebrow{color:#aaa}.region-intro h2{font-size:40px;color:#0783ff;font-weight:500;margin-bottom:24px}.region-intro>p:last-child{font-size:20px}.map-wrap{position:relative;width:min(920px,100%);margin:50px auto 0}.region-map{display:block;width:100%;height:auto;overflow:hidden}.map-land{fill:#eee;stroke:white;stroke-width:1}.map-country{fill:#aee8ff;stroke:white;stroke-width:1;cursor:pointer;transition:fill .2s}.map-country:hover,.map-country:focus,.map-country.active{fill:#0783ff;outline:none;stroke:#006bc9;stroke-width:2}
.map-country[data-country="DOM"]:hover,.map-country[data-country="DOM"]:focus,.map-country[data-country="DOM"].active{fill:url(#flag-dom)}
.map-country[data-country="GTM"]:hover,.map-country[data-country="GTM"]:focus,.map-country[data-country="GTM"].active{fill:url(#flag-gtm)}
.map-country[data-country="HND"]:hover,.map-country[data-country="HND"]:focus,.map-country[data-country="HND"].active{fill:url(#flag-hnd)}
.map-country[data-country="SLV"]:hover,.map-country[data-country="SLV"]:focus,.map-country[data-country="SLV"].active{fill:url(#flag-slv)}
.map-country[data-country="NIC"]:hover,.map-country[data-country="NIC"]:focus,.map-country[data-country="NIC"].active{fill:url(#flag-nic)}
.map-country[data-country="CRI"]:hover,.map-country[data-country="CRI"]:focus,.map-country[data-country="CRI"].active{fill:url(#flag-cri)}
.map-country[data-country="PAN"]:hover,.map-country[data-country="PAN"]:focus,.map-country[data-country="PAN"].active{fill:url(#flag-pan)}
.map-country[data-country="PRY"]:hover,.map-country[data-country="PRY"]:focus,.map-country[data-country="PRY"].active{fill:url(#flag-pry)}.map-label{position:absolute;left:var(--x);top:var(--y);border:0;border-radius:30px;background:#ededed;color:#777;font-size:15px;padding:10px 22px;transition:background .2s,color .2s}.map-label:hover,.map-label.active,.map-label:focus-visible{background:#0783ff;color:white}.country-contact{position:absolute;left:0;bottom:15%;width:310px;max-width:90%;background:white;box-shadow:0 8px 40px #1234;border:1px solid #cce9ff;border-radius:22px;padding:28px;z-index:2}.country-contact[hidden]{display:none}.country-contact h3{font-size:23px;color:#0783ff;padding-right:12px;margin-bottom:15px}.country-phone{font-size:20px;display:inline-block;color:#006fdc;text-decoration:underline;text-underline-offset:4px;padding:10px 0}.country-note{font-size:14px;color:#666;line-height:1.4}.contact-close{position:absolute;right:10px;top:7px;border:0;background:transparent;color:#567;font-size:28px;width:35px;height:35px}
.social-impact{background:#e5f1ff;max-width:1270px;margin:10px auto 0;padding:20px;display:grid;grid-template-columns:40% 1fr;gap:45px;align-items:center;border-radius:26px}.impact-placeholder{min-height:340px;display:grid;place-items:center;text-align:center;background:linear-gradient(135deg,#c5e3ff,#88c6ff);border-radius:18px;color:#35658a;letter-spacing:.12em;font-size:13px}.social-impact>div:last-child{padding:20px 30px 20px 0}.social-impact h2{font-size:31px;font-weight:500;color:#0783ff;margin-bottom:16px}.social-impact .eyebrow{font-size:12px;color:#0783ff}.social-impact p:not(.eyebrow){font-size:21px;line-height:1.3}.organizations{text-align:center;margin:95px auto 0;max-width:1270px}.organizations h2{color:#0783ff;font-size:40px;font-weight:500;margin-bottom:75px}.organization-logos{display:grid;grid-template-columns:repeat(4,1fr);gap:35px;align-items:center}.organization-logos>div{color:#84929c;padding:18px;font-size:17px;min-height:90px;display:flex;flex-direction:column;justify-content:center;border:1px dashed #c8d6df;border-radius:8px}.organization-logos span{display:block;font-size:10px;letter-spacing:.15em;margin-bottom:10px}
.bio-dialog{width:min(760px,92vw);max-height:85dvh;border:0;border-radius:28px;padding:50px;color:#202020;box-shadow:0 20px 100px #0004;overflow-y:auto}.bio-dialog::backdrop{background:#101820aa;backdrop-filter:blur(5px)}.bio-dialog[open]{animation:bio-in .22s ease-out}.bio-dialog form{position:sticky;top:-35px;height:0;z-index:1;display:flex;justify-content:flex-end}.close-dialog{width:42px;height:42px;border:0;border-radius:50%;font-size:30px;background:#fff0ed;color:#ff3c2d;transform:translate(25px,-25px)}.bio-heading{display:grid;grid-template-columns:100px 1fr;gap:24px;align-items:center;margin-bottom:30px}.portrait.small{width:100px;background:linear-gradient(135deg,#ffe4dc,#ffad86)}.portrait.small span{font-size:34px;color:white}.bio-heading h2{color:#ff3c2d;font-size:32px;margin-bottom:10px}.bio-heading p{color:#777;font-size:17px;line-height:1.3}.bio-text p{font-size:18px;line-height:1.6;margin:0 0 20px}body.modal-open{overflow:hidden}@keyframes bio-in{from{opacity:0;transform:scale(.94)}to{opacity:1;transform:scale(1)}}
@media(max-width:1200px){.somos-hero .training-header{flex-wrap:wrap}.somos-hero .training-header nav{order:3;width:100%;justify-content:center}.somos-hero-copy{padding-top:45px}.somos-hero-copy p{font-size:18px}.value-row{grid-template-columns:145px 1fr;padding:35px;gap:30px;min-height:260px}.value-placeholder{width:140px;height:140px}.value-row h2{font-size:27px}.value-row p:not(.eyebrow){font-size:18px}.leader{flex-basis:calc((100% - 105px)/4)}.social-impact{gap:25px}.social-impact p:not(.eyebrow){font-size:18px}.social-impact h2{font-size:27px}.impact-placeholder{min-height:300px}}
@media(max-width:700px){.somos-hero{min-height:660px}.somos-hero-copy{width:78%;padding-bottom:120px;margin-left:7%}.somos-hero-copy h1{font-size:38px}.somos-hero-copy h1 br{display:none}.somos-hero-copy p{font-size:17px}.somos-hero-flow{right:-90px;width:50%;opacity:.38}.somos-values{padding:50px 6%;border-radius:28px}.value-row{grid-template-columns:1fr;gap:25px;padding:28px}.value-placeholder{width:90px;height:90px;font-size:35px}.value-row h2{font-size:25px}.value-row p:not(.eyebrow){font-size:17px}.team-intro{width:86%;margin-bottom:45px}.team-intro h2{font-size:28px}.team-intro>p:last-child{font-size:16px}.leader{flex-basis:42%;min-width:150px}.team-track{gap:24px}.leader h3{font-size:16px}.leader p{font-size:13px;min-height:65px}.team-controls{margin-top:35px;width:80%}.somos-region{border-radius:28px;padding:65px 6%}.region-intro h2{font-size:30px}.region-intro>p:last-child{font-size:17px}.map-wrap{margin-top:25px}.map-labels{position:relative;display:flex;gap:8px;flex-wrap:wrap;justify-content:center;margin-top:-10px}.map-label{position:static;padding:12px 15px;font-size:13px}.country-contact{position:relative;left:auto;bottom:auto;margin:22px auto;max-width:100%;width:100%}.social-impact{margin-top:45px;grid-template-columns:1fr;gap:20px;padding:18px}.social-impact>div:last-child{padding:10px}.impact-placeholder{min-height:220px}.organizations{margin-top:65px}.organizations h2{font-size:32px;margin-bottom:35px}.organization-logos{grid-template-columns:1fr 1fr;gap:14px}.organization-logos>div{font-size:14px}.bio-dialog{padding:30px 24px}.bio-heading{grid-template-columns:65px 1fr;gap:16px}.portrait.small{width:65px}.portrait.small span{font-size:24px}.bio-heading h2{font-size:25px}.bio-heading p{font-size:14px}.bio-text p{font-size:16px}.close-dialog{transform:translate(10px,-15px)}.bio-dialog form{top:-15px}.page-somos .eyebrow{font-size:11px}}
@media(prefers-reduced-motion:reduce){.value-placeholder,.somos-hero-copy,.bio-dialog[open]{animation:none!important}}
/* Mantener el contenido accesible oculto dentro del carrusel. */
.team-track,.read-bio{position:relative}
.team-track{scroll-padding-inline:7%}
.country-contact{top:44%;bottom:auto}
@media(max-width:700px){.country-contact{top:auto}}
/* Correction de la géométrie des flux et des proportions du footer. */
.page-somos .somos-hero-flow{right:0;width:37.5%;height:100%;top:0}
.page-somos .somos-hero{min-height:750px}
.page-somos .country-contact{position:absolute;width:max-content;min-width:108px;max-width:165px;padding:7px 14px;border-radius:40px;border:0;background:#0783ff;color:white;box-shadow:none;margin:0;bottom:auto;z-index:3;text-align:center}
.page-somos .country-contact::after{content:"";position:absolute;left:calc(100% + 3px);top:50%;transform:translateY(-50%);width:14px;height:14px;border-radius:50%;background:#18cdef;pointer-events:none}
.page-somos .country-contact.flip::after{left:auto;right:calc(100% + 3px)}
.page-somos .country-contact h3{font-size:13px;color:white;margin:0;padding:0;line-height:1.15;font-weight:600}
.page-somos .country-phone{display:block;color:white;text-decoration:none;font-size:10px;font-weight:500;line-height:1.2;padding:2px 0 0}
.page-somos .country-phone:hover{text-decoration:underline}
.page-somos .country-contact[hidden]{display:none}
@media(max-width:700px){.page-somos .somos-hero-flow{width:42%;right:-40px;opacity:.6}.page-somos .country-contact{min-width:92px;max-width:135px;padding:6px 11px}.page-somos .country-contact h3{font-size:11px}.page-somos .country-phone{font-size:9px}.page-somos .country-contact::after{width:11px;height:11px}}

/* Selección manual del mapa, sin pulsación. */
.page-somos .map-country{animation:none}
.page-somos .country-phone[hidden]{display:none}

/* Foto real en el hero: reemplaza el placeholder punteado. */
.hero-placeholder.photo{background:var(--accent,var(--red));border:0;padding:0;overflow:hidden;border-radius:32px;animation:none}
.hero-placeholder.photo img{width:100%;height:100%;object-fit:cover;display:block}

/* Logo real de organización: reemplaza el recuadro punteado "LOGO". */
.organization-logos>div.has-logo{border:0;padding:12px;min-height:auto}
.organization-logos>div.has-logo img{max-width:100%;max-height:56px;width:auto;margin:0 auto;object-fit:contain;filter:grayscale(1);opacity:.7;transition:filter .3s ease,opacity .3s ease}
.organization-logos>div.has-logo:hover img{filter:grayscale(0);opacity:1}

/* Foto real en "La confianza se construye con acciones". */
.impact-placeholder.photo{background:none;overflow:hidden}
.impact-placeholder.photo img{width:100%;height:100%;object-fit:cover;display:block}

/* Fotos reales del equipo de liderazgo, dentro de los círculos .portrait. */
.portrait img{width:100%;height:100%;object-fit:cover;display:block}
.leader .portrait{animation:float-soft 10s ease-in-out infinite;animation-play-state:paused}
.leader:nth-child(even) .portrait{animation-delay:-3s}
@keyframes float-soft{0%,100%{transform:translate(0,0)}30%{transform:translate(2px,-3px)}65%{transform:translate(-2px,2px)}}
@media(prefers-reduced-motion:reduce){.leader .portrait{animation:none!important}}

/* Ilustraciones reales en las 3 tarjetas de "Nuestra promesa / esencia / metodología". */
.value-placeholder.photo{background:linear-gradient(140deg,#fff,#ffb7b4)}
.value-placeholder.photo img{width:68%;height:68%;object-fit:contain;display:block;margin:auto}

/* Hablemos: composición del PDF, aislada de Somos CCK. */
.page-hablemos .hablemos-hero{position:relative;min-height:0;height:48.403vw;background:#ff3c2d;color:#fff;overflow:hidden}
.page-hablemos .training-header{position:relative;z-index:2;padding:2.778vw 5%;gap:2vw;flex-wrap:nowrap}
.page-hablemos .brand{width:18.75vw}
.page-hablemos .training-header nav,.page-somos .training-header nav{order:0;width:auto;flex-wrap:nowrap;font-size:.9722vw;gap:1.65vw;padding:1.6vw 3.3vw}
.page-hablemos .contact-link{font-size:.9722vw;padding:1.6vw 1.8vw}
.page-hablemos .hablemos-heading{position:relative;z-index:1;margin:6.4vw 0 0 7.85%;width:53%;animation:hero-enter .9s ease-out both;transform-origin:left center}
.page-hablemos .hablemos-heading h1{font-size:4.167vw;font-weight:600;line-height:1.06;letter-spacing:-.045em}
.page-hablemos .somos-hero-flow{height:100%;width:37.5%;right:0;opacity:1}
.page-hablemos .hablemos-content{position:relative;z-index:1;background:#fff;border-radius:48px;padding:5.7vw 6.25% 9.75vw;margin-top:-1px}
.page-hablemos .conversation-card{border:1px solid #dedede;border-radius:28px;display:grid;grid-template-columns:1fr 25%;align-items:center;gap:5%;padding:3.15vw 3.5vw;min-height:26.875vw}
.page-hablemos .conversation-card h2{font-size:2.64vw;line-height:1.08;font-weight:500;letter-spacing:-.04em;color:var(--red)}
.page-hablemos .conversation-card p{font-size:1.39vw;line-height:1.2;color:#666;margin:1.8vw 0 2.1vw}
.page-hablemos .conversation-button{display:inline-block;border-radius:50px;padding:1vw 3.6vw;background:var(--red);color:#fff;font-weight:600;font-size:1.67vw;transition:transform .25s,background .25s}
.page-hablemos .conversation-button:hover{transform:scale(1.035);background:#e83125}
.page-hablemos .conversation-image{width:100%;max-width:280px;height:auto;animation:float 8s ease-in-out infinite;animation-play-state:paused}
.page-hablemos .conversation-image.is-visible{animation-play-state:running}
.page-hablemos .recruitment{display:flex;align-items:center;justify-content:space-between;gap:4%;margin:4vw 0 0 1.2vw}
.page-hablemos .recruitment p{font-size:1.39vw;line-height:1.2}
.page-hablemos .recruitment strong{color:var(--red)}
.page-hablemos .recruitment-button{flex-shrink:0;border:1px solid var(--red);border-radius:50px;font-size:1.04vw;font-weight:600;padding:1.5vw 2vw;transition:background .25s,color .25s}
.page-hablemos .recruitment-button:hover{background:var(--red);color:white}
@media(max-width:700px){
.page-hablemos .hablemos-hero{height:auto;min-height:560px}
.page-hablemos .training-header{padding:25px 6%;gap:12px}
.page-hablemos .brand{width:205px}
.page-hablemos .menu-toggle{display:flex}
.page-hablemos .contact-link{display:none}
.page-hablemos .training-header nav{display:none;position:absolute;top:80px;left:6%;width:88%;padding:24px;font-size:16px;background:#ff6258;border-radius:22px;gap:18px}
.page-hablemos .training-header nav.open{display:flex;flex-direction:column;align-items:flex-start}
.page-somos .training-header nav{display:none;position:absolute;top:80px;left:6%;width:88%;padding:24px;font-size:16px;background:#ff6258;border-radius:22px;gap:18px}
.page-somos .training-header nav.open{display:flex;flex-direction:column;align-items:flex-start}
.page-hablemos .hablemos-heading{margin:65px 7% 100px;width:86%}
.page-hablemos .hablemos-heading h1{font-size:clamp(32px,7.5vw,48px)}
.page-hablemos .somos-hero-flow{width:45%;right:-65px;opacity:.35}
.page-hablemos .hablemos-content{border-radius:30px;padding:45px 6% 65px}
.page-hablemos .conversation-card{grid-template-columns:1fr;padding:30px 24px;border-radius:24px;gap:25px}
.page-hablemos .conversation-card h2{font-size:27px}
.page-hablemos .conversation-card h2 br,.page-hablemos .desktop-break{display:none}
.page-hablemos .conversation-card p{font-size:17px;line-height:1.4;margin:22px 0}
.page-hablemos .conversation-button{font-size:17px;padding:15px 22px}
.page-hablemos .conversation-image{width:150px;justify-self:center}
.page-hablemos .recruitment{flex-direction:column;align-items:flex-start;gap:25px;margin:38px 10px 0}
.page-hablemos .recruitment p{font-size:17px;line-height:1.4}
.page-hablemos .recruitment-button{font-size:15px;padding:18px 24px}
}

.page-lab{--lab-blue:#087bff}
.page-lab .lab-hero{position:relative;min-height:52.5vw;color:#fff;background:radial-gradient(ellipse at 77% 0%,#0079ff 0%,transparent 30%),radial-gradient(ellipse at 0% 96%,#007bff 0%,transparent 34%),linear-gradient(130deg,#061323,#070409)}
.page-lab .lab-hero-grid{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:8%;width:84%;margin:6.4vw auto 0}
.page-lab .lab-hero-copy{animation:hero-enter .85s ease-out both;transform-origin:left center}
.page-lab .lab-hero-copy h1{font-size:4.17vw;line-height:1.04;font-weight:600;letter-spacing:-.045em}
.page-lab .lab-hero-copy p{font-size:1.67vw;line-height:1.12;margin-top:2.2vw;max-width:36vw}
.page-lab .lab-wordmark{width:30vw;height:auto;justify-self:center;animation:float 9s ease-in-out infinite;animation-play-state:paused}
.page-lab .lab-panel{background:radial-gradient(ellipse at 50% 75%,#9bc5f9,#cfe0f7)}
.page-lab .lab-team{position:relative;background:white;border-radius:48px;margin-top:-1px;padding:7.1vw 0 7vw;overflow:hidden}
.page-lab .lab-team-heading{text-align:center;margin-bottom:4vw}
.page-lab .lab-team-heading>p{font-size:14px;letter-spacing:.23em;color:#aaa;font-weight:600}
.page-lab .lab-team-heading h2{font-size:clamp(28px,3vw,44px);color:var(--lab-blue);letter-spacing:-.05em;margin-top:18px}
.page-lab .lab-team-track{display:flex;align-items:flex-start;gap:1.55vw;overflow-x:auto;scrollbar-width:none;scroll-snap-type:x proximity;padding:0 7.5% 30px;scroll-padding-inline:7.5%;-webkit-mask-image:linear-gradient(to right,transparent 0,#000 7.5%,#000 92.5%,transparent 100%);mask-image:linear-gradient(to right,transparent 0,#000 7.5%,#000 92.5%,transparent 100%)}
.page-lab .lab-team-track::-webkit-scrollbar{display:none}
.page-lab .lab-member{flex:0 0 17vw;text-align:center;scroll-snap-align:start;color:var(--lab-blue)}
.page-lab .lab-member:nth-child(6n+2){margin-top:8.4vw;flex-basis:13.5vw}
.page-lab .lab-member:nth-child(6n+3){margin-top:8vw}
.page-lab .lab-member:nth-child(6n+4){flex-basis:13.5vw}
.page-lab .lab-member:nth-child(6n+5){margin-top:3vw;flex-basis:13.5vw}
.page-lab .lab-member:nth-child(6n+6){margin-top:3.5vw}
.page-lab .lab-photo{aspect-ratio:1;border-radius:50%;display:grid;place-items:center;background:linear-gradient(135deg,#f4f7fb,#dbe7f3);color:#899bad;animation:float 7s ease-in-out infinite;animation-play-state:paused;overflow:hidden}
.page-lab .lab-photo span{font-size:12px;letter-spacing:.16em}
.page-lab .lab-photo img{width:100%;height:100%;object-fit:cover;display:block}
.page-lab .lab-member:nth-child(even) .lab-photo{animation-delay:-2s}
.page-lab .lab-member h3{font-size:clamp(14px,1.3vw,19px);line-height:1.25;margin-top:15px;font-weight:500}
.page-lab .lab-member p{font-size:clamp(12px,1vw,15px);margin-top:4px}
.page-lab .lab-team-controls{display:flex;align-items:center;gap:20px;width:76%;margin:7.4vw auto 0}
.page-lab .lab-team-controls button{border:1px solid color-mix(in srgb,var(--lab-blue) 35%,transparent);background:transparent;color:var(--lab-blue);padding:0;width:40px;height:40px;border-radius:50%;display:grid;place-items:center;flex-shrink:0;transition:background .2s,border-color .2s}
.page-lab .lab-team-controls button svg{width:18px;height:18px}
.page-lab .lab-team-controls button:hover{background:color-mix(in srgb,var(--lab-blue) 10%,transparent);border-color:var(--lab-blue)}
.page-lab .lab-team-progress{height:4px;background:#d6e7ff;flex:1;overflow:hidden;border-radius:5px}
.page-lab .lab-team-progress span{height:100%;display:block;background:var(--lab-blue);border-radius:5px}
.page-lab .lab-metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:2.1vw;width:77%;margin:auto;padding:9.2vw 0}
.page-lab .lab-metric{border:1px solid #348cff;border-radius:28px;padding:2vw .5vw 2.8vw;text-align:center;color:#fff;background:#8ebcff22}
.page-lab .lab-metric strong{font-size:8vw;font-weight:600;line-height:1.1;letter-spacing:-.06em}
.page-lab .lab-metric span{display:block;font-size:clamp(12px,1vw,16px);margin-top:10px}
.page-lab .lab-contact-panel{background:#fff;border-radius:48px;position:relative;margin-top:-1px;padding:7vw 6.25%}
.page-lab .lab-contact{background:var(--lab-blue);color:#fff;border-radius:28px;padding:4.2vw;display:flex;align-items:center;justify-content:space-between;gap:30px}
.page-lab .lab-contact p{font-size:1.67vw;line-height:1.3}
.page-lab .lab-contact a{border:1px solid #ffffff80;border-radius:40px;padding:1.5vw 2.1vw;font-size:clamp(14px,1.05vw,16px);white-space:nowrap;transition:background .2s,transform .2s}
.page-lab .lab-contact a:hover{background:#ffffff20;transform:scale(1.04)}
.training-header nav a[aria-current]{text-decoration:underline;text-underline-offset:5px}
@media(max-width:700px){
.page-lab .lab-hero{min-height:650px}
.page-lab .training-header nav{background:#092947}
.page-lab .lab-hero-grid{grid-template-columns:1fr;gap:45px;margin:45px auto 60px}
.page-lab .lab-hero-copy h1{font-size:44px}
.page-lab .lab-hero-copy p{font-size:18px;max-width:360px;margin-top:24px;line-height:1.35}
.page-lab .lab-wordmark{width:260px;justify-self:start}
.page-lab .lab-team{border-radius:30px;padding:60px 0 45px}
.page-lab .lab-team-heading{margin-bottom:40px}
.page-lab .lab-member,.page-lab .lab-member:nth-child(n){flex-basis:145px}
.page-lab .lab-team-track{gap:22px}
.page-lab .lab-member:nth-child(6n+2),.page-lab .lab-member:nth-child(6n+3){margin-top:50px}
.page-lab .lab-team-controls{margin-top:35px;width:88%;gap:12px}
.page-lab .lab-metrics{grid-template-columns:1fr 1fr;width:86%;gap:18px;padding:55px 0}
.page-lab .lab-metric{padding:25px 12px;border-radius:22px}
.page-lab .lab-metric strong{font-size:64px}
.page-lab .lab-metric span{font-size:14px}
.page-lab .lab-contact-panel{padding:40px 6%;border-radius:30px}
.page-lab .lab-contact{flex-direction:column;align-items:flex-start;padding:30px 25px;border-radius:24px}
.page-lab .lab-contact p{font-size:18px}
.page-lab .lab-contact a{padding:16px 24px}
}

/* Fondo superior continuo detrás de las esquinas del bloque de contacto. */
.page-lab .lab-contact-background{background:linear-gradient(#cfe0f7 0 50%,var(--red) 50% 100%)}
.page-lab .lab-hero-placeholder{aspect-ratio:430 / 180;border:1px dashed #7799bb80;border-radius:24px;background:#ffffff05;display:grid;place-items:center;color:#adbed0}
.page-lab .lab-hero-placeholder span{font-size:14px;letter-spacing:.1em}

/* Cifras del LAB: cuatro categorías del diseño original. */
.page-lab .lab-metrics{grid-template-columns:repeat(4,minmax(0,1fr));width:77%;gap:2.1vw}
.page-lab .lab-metric strong{font-size:clamp(38px,5.4vw,92px);font-variant-numeric:tabular-nums}
.page-lab .lab-metric span{line-height:1.3;padding:0 8px;min-height:2.6em}
@media(max-width:700px){.page-lab .lab-metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.page-lab .lab-metric strong{font-size:60px}}

/* Footer unificado: mismo diseño exacto que el home (.cck-footer). */
footer.cck-footer{background:var(--red);color:#fff;padding-top:65px;padding-bottom:38px;padding-left:max(6vw,24px);padding-right:max(6vw,24px);position:relative;overflow:hidden}
footer.cck-footer>.footer-top{display:flex;flex-wrap:wrap;justify-content:space-between;gap:30px 40px;padding-right:12%;align-items:flex-start}
.cck-footer .footer-top .brand{display:block;width:min(100%,590px);height:auto}
.cck-footer .footer-top .brand img{display:block;width:100%;height:auto}
.cck-footer .footer-meta{display:flex;flex-direction:column;align-items:flex-end;gap:16px}
.cck-footer .footer-meta p{margin:0;font-size:16px;line-height:1.3;text-align:right}
.cck-footer .footer-links{display:flex;position:static;flex-wrap:wrap;gap:12px 28px;background:none;border:0;border-radius:0;padding:0;box-shadow:none;backdrop-filter:none;margin-left:clamp(8px,3vw,44px)}
.cck-footer .footer-links a{font-size:14px;line-height:1.4;opacity:1}
.cck-footer .footer-bottom{display:flex;flex-wrap:wrap;border-top:1px solid #ffffff35;margin-top:42px;padding-top:25px;padding-right:16%;justify-content:space-between;align-items:center;gap:24px;opacity:1;min-height:32px}
.cck-footer .footer-bottom>span{font-size:11px}
.cck-footer .footer-socials{display:flex;gap:6px;margin-top:0}
.cck-footer .footer-social{width:28px;height:28px;background:white;color:var(--red);border-radius:2px;display:grid;place-items:center}
.cck-footer .footer-social svg{width:24px;height:24px;fill:currentColor}
footer.cck-footer>.footer-flow-right{width:17%;max-width:235px;position:absolute;right:0;top:50px;pointer-events:none}
@media(max-width:1000px){footer.cck-footer>.footer-top{padding-right:10%}.cck-footer .footer-bottom{margin-top:40px;padding-bottom:45px}}
@media(max-width:640px){footer.cck-footer{padding-top:45px;padding-bottom:100px}footer.cck-footer>.footer-top{flex-direction:column;gap:26px;padding-right:0}.cck-footer .footer-top .brand{width:min(100%,290px)}.cck-footer .footer-meta{align-items:flex-start}.cck-footer .footer-meta p{text-align:left;font-size:14px}.cck-footer .footer-links{margin-left:0}.cck-footer .footer-links a{font-size:13px}.cck-footer .footer-bottom{flex-wrap:wrap;justify-content:flex-start;gap:18px;margin-top:30px;padding-top:22px;padding-right:0}footer.cck-footer>.footer-flow-right{width:90px}}

/* Blog: artículo individual, paleta naranja alineada a Centro de ideas. */
.page-blog .blog-header{background:#ff9900;color:white;padding-bottom:5.3vw}
.page-blog .blog-main{position:relative;background:white;border-radius:48px;margin-top:-48px;padding:7.08vw 6.25% 7vw}
.page-blog .blog-cover{width:100%;aspect-ratio:1260/555;border-radius:12px;background:#f2f2f2;border:1px solid #e4e4e4;display:grid;place-items:center;color:#777;overflow:hidden}
.page-blog .blog-cover span{font-size:16px;letter-spacing:.08em}
.page-blog .blog-cover.has-image{aspect-ratio:auto;height:auto;display:block;background:none;border:0}
.page-blog .blog-cover.has-image img{width:100%;height:auto;display:block;border-radius:inherit;object-fit:contain}
.page-blog .blog-article-header{margin-top:6.8vw}
.page-blog .blog-article-header time{display:block;font-size:clamp(16px,1.67vw,24px);padding-left:.9vw;margin-bottom:2.4vw;color:#8a8a8a}
.page-blog .blog-article-header h1{font-size:clamp(38px,5.56vw,80px);line-height:1.06;font-weight:500;letter-spacing:-.04em;color:#ff9900;margin:0 0 2.7vw}
.page-blog .blog-copy{columns:2;column-gap:2.1vw;font-size:clamp(16px,1.12vw,19px);line-height:1.4;text-align:justify;hyphens:auto;orphans:3;widows:3}
.page-blog .blog-copy p{margin:0 0 1.6em}
.page-blog .blog-copy p:last-child{margin-bottom:0}
.page-blog .blog-copy .blog-video,.page-blog .blog-copy .wp-block-video{column-span:all;width:min(100%,1100px);margin:2.2rem auto;break-inside:avoid;text-align:center}
.page-blog .blog-video-frame{position:relative;width:100%;aspect-ratio:16/9;overflow:hidden;border-radius:12px;background:#000}
.page-blog .blog-video-frame iframe{position:absolute;inset:0;width:100%;height:100%;border:0;display:block}
.page-blog .blog-copy .wp-block-video video{display:block;width:min(100%,1100px);height:auto;margin:0 auto;border-radius:12px}
.page-blog .blog-copy figure.wp-block-image:empty{display:none}
@media(max-width:700px){
.page-blog .blog-header{padding-bottom:45px}
.page-blog .training-header nav{background:#ee9000}
.page-blog .blog-main{border-radius:30px;margin-top:-30px;padding:35px 6% 55px}
.page-blog .blog-cover{aspect-ratio:16/9;border-radius:10px}
.page-blog .blog-cover span{font-size:14px}
.page-blog .blog-article-header{margin-top:38px}
.page-blog .blog-article-header time{font-size:16px;margin-bottom:24px;padding:0}
.page-blog .blog-article-header h1{font-size:42px;margin-bottom:30px}
.page-blog .blog-copy{columns:1;font-size:17px;line-height:1.6;text-align:left}
.page-blog .blog-copy .blog-video,.page-blog .blog-copy .wp-block-video{width:100%;margin:1.5rem auto}
.page-blog .blog-video-frame{border-radius:10px}
}

/* Logos de organizaciones a color en móvil/tablet; escala de grises solo en desktop. */
@media(max-width:1023px){.organization-logos>div.has-logo img{filter:none;opacity:1}}

/* Manejo de Crisis: proportions and 2 x 2 solutions from the approved PDF. */
.page-crisis .training-hero{min-height:750px}
.page-crisis .hero-grid{max-width:1280px;margin:32px auto 46px;grid-template-columns:.9fr 1.1fr;gap:7%}
.page-crisis .hero-copy p{max-width:410px;font-size:22px;line-height:1.28}
.page-crisis .training-content{padding:140px 0 125px}
.page-crisis .intro{max-width:1200px;grid-template-columns:1.2fr 1fr;gap:10%}
.page-crisis .programs{margin-top:200px}
.page-crisis .program-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 14px}.page-crisis .program-grid .program:last-child:nth-child(odd){grid-column:1/-1;max-width:calc(50% - 7px);margin:0 auto}
.page-crisis .program{min-height:304px;padding:50px 48px 42px 54px;grid-template-columns:78px minmax(0,1fr);gap:50px}
.page-crisis .program h3{font-size:32px;line-height:1.08;margin-bottom:18px}
.page-crisis .program p{font-size:23px;line-height:1.23}
.page-crisis .faq-item h2{max-width:800px}
.page-crisis .faq-item:first-of-type h2{max-width:560px}
@media(max-width:1200px){.page-crisis .hero-copy p{font-size:20px}.page-crisis .program{padding:34px 28px;grid-template-columns:60px minmax(0,1fr);gap:28px}.page-crisis .program h3{font-size:27px}.page-crisis .program p{font-size:19px}}
@media(max-width:700px){.page-crisis .hero-grid{grid-template-columns:1fr;gap:32px;margin:28px auto 40px}.page-crisis .training-content{padding:65px 0 80px}.page-crisis .intro{grid-template-columns:1fr;gap:28px}.page-crisis .programs{margin-top:75px}.page-crisis .program-grid{grid-template-columns:1fr;gap:14px}.page-crisis .program-grid .program:last-child:nth-child(odd){grid-column:auto;max-width:none;margin:0}.page-crisis .program{min-height:0;padding:30px 24px;grid-template-columns:48px minmax(0,1fr);gap:22px}.page-crisis .program h3{font-size:25px}.page-crisis .program p{font-size:17px;line-height:1.35}.page-crisis .hero-copy p{font-size:18px}}

.page-crisis .hero-visual::before,.page-crisis .hero-visual::after{display:none}
.page-crisis .hero-placeholder.photo{height:auto;aspect-ratio:700/534;border-radius:0;background:transparent;overflow:hidden}
.page-crisis .hero-placeholder.photo img{object-fit:contain;width:100%;height:100%}
.page-crisis .intro h2{font-size:clamp(30px,3.5vw,50px);max-width:none}
@media(min-width:701px){.page-crisis .hero-grid{grid-template-columns:.85fr 1.15fr;gap:3%}.page-crisis .intro{grid-template-columns:1.35fr 1fr;gap:8%}.page-crisis .intro h2{font-size:clamp(30px,3.34vw,48px)}}
.page-crisis .faq-item p{max-width:980px}

/* LAB IA: three metrics above, two centered below. */
.page-lab .lab-metrics{grid-template-columns:repeat(6,minmax(0,1fr));gap:24px;padding:70px 0;width:82%;max-width:1100px}
.page-lab .lab-metric{grid-column:span 2;padding:28px 14px}
.page-lab .lab-metric:nth-child(4){grid-column:2/span 2}
.page-lab .lab-metric:nth-child(5){grid-column:4/span 2}
.page-lab .lab-metric strong{font-size:clamp(48px,5.4vw,84px)}
@media(max-width:600px){.page-lab .lab-metrics{gap:10px;width:92%;padding:40px 0}.page-lab .lab-metric{padding:20px 4px;border-radius:16px}.page-lab .lab-metric strong{font-size:clamp(29px,8vw,48px)}.page-lab .lab-metric span{font-size:11px;padding:0;line-height:1.35}}

/* Transparent service art, matching the treatment of Manejo de Crisis. */
.service-blend .hero-visual::before,.service-blend .hero-visual::after{display:none}
.service-blend .hero-placeholder.photo{height:auto;aspect-ratio:670/560;border:0;padding:0;border-radius:0;background:transparent;overflow:hidden}
.service-blend .hero-placeholder.photo img{display:block;object-fit:contain;width:100%;height:100%}

/* Regional presence: permanent contact list and decorative flag map. */
.somos-region .region-layout{display:grid;grid-template-columns:minmax(280px,.85fr) minmax(0,1.15fr);align-items:center;gap:clamp(40px,6vw,90px);max-width:1200px;margin:55px auto 0}
.somos-region .map-wrap{width:100%;max-width:590px;margin:0 auto;pointer-events:none}
.somos-region .map-country{cursor:default;transition:fill .45s,stroke .45s}
.somos-region .region-offices{display:grid;gap:0}
.somos-region .region-office{display:flex;flex-direction:column;gap:7px;padding:20px 18px;border-bottom:1px solid #dcecf9;border-radius:12px;color:#087cff;transition:background .2s,transform .2s}
.somos-region .office-name{font-size:20px;font-weight:600;line-height:1.25}
.somos-region .office-number{display:flex;align-items:center;justify-content:space-between;color:#647385;font-size:17px;line-height:1.4}
.somos-region a.region-office:hover,.somos-region a.region-office:focus-visible{background:#eff8ff;transform:translateX(4px)}
@media(max-width:700px){.somos-region .region-layout{grid-template-columns:1fr;gap:30px;margin-top:32px}.somos-region .map-wrap{max-width:470px}.somos-region .region-office{padding:17px 12px}.somos-region .office-name{font-size:18px}.somos-region .office-number{font-size:16px}}
@media(prefers-reduced-motion:reduce){.somos-region .map-country,.somos-region .region-office{transition:none}}

/* Recruitment mirrors the conversation card, with artwork on the left. */
.page-hablemos .conversation-card.recruitment-card{grid-template-columns:25% minmax(0,1fr);margin-top:38px;gap:6%}
.page-hablemos .recruitment-card .conversation-image{justify-self:center}
.page-hablemos .recruitment-card .conversation-button{max-width:100%;text-align:center}
@media(max-width:700px){.page-hablemos .conversation-card.recruitment-card{grid-template-columns:1fr;gap:28px;margin-top:28px}.page-hablemos .recruitment-card .conversation-image{width:150px}}

/* Individual phone and email actions for every regional office. */
.somos-region .region-office .office-email{font-size:clamp(12px,1vw,15px);overflow-wrap:anywhere;gap:8px}
.somos-region .region-office a:hover{color:#087cff;text-decoration:underline;text-underline-offset:3px}
.somos-region .region-office:focus-within{background:#eff8ff}

/* Align biography actions under multiline leadership roles. */
.page-somos .leader p{margin-bottom:16px}
.page-somos .leader .read-bio{margin-top:auto}
