/* Shared header/footer and page refinements — Corfolíder */
:root{--header:84px;--hero-image:none}body{padding-top:var(--header)}
.site-header{position:fixed;top:0;left:0;right:0;height:var(--header);z-index:2000;background:rgba(249,250,251,.97);backdrop-filter:blur(16px);border-bottom:1px solid rgba(18,27,46,.10);box-shadow:0 3px 20px rgba(18,27,46,.04)}
.site-nav{width:min(1220px,calc(100% - 42px));margin:auto;height:100%;display:flex;align-items:center;justify-content:space-between;gap:24px}.site-brand{display:flex;align-items:center;flex:0 0 auto;padding:11px 0}.site-brand img{width:146px;height:auto;max-height:59px;object-fit:contain}.site-links{display:flex;align-items:center;gap:17px;margin-left:auto}.site-links>a,.nav-group>button{font:750 12.5px/1.2 Inter,system-ui,sans-serif;color:#293448;border:none;background:transparent;padding:15px 3px;cursor:pointer}.site-links a:hover,.nav-group>button:hover{color:#A17F42}.site-links .site-contact{color:#fff;background:#121B2E;border-radius:99px;padding:12px 18px;white-space:nowrap}.nav-group{position:relative}.nav-group>button{display:flex;align-items:center;gap:5px}.nav-group>button:after{content:'⌄';font-size:15px}.nav-sub{display:none;position:absolute;top:calc(100% - 2px);left:-15px;min-width:258px;padding:10px;background:#fff;border:1px solid #121B2E1b;border-radius:15px;box-shadow:0 18px 40px #121B2E26}.nav-group:hover .nav-sub,.nav-group:focus-within .nav-sub,.nav-group.open .nav-sub{display:grid}.nav-sub a{font-size:13px;font-weight:650;line-height:1.35;padding:11px 12px;border-radius:9px;color:#293448}.nav-sub a:hover{background:#F4F0E8}.site-toggle{display:none;border:1px solid #121B2E22;border-radius:10px;background:white;padding:10px 13px;font-size:22px;color:#121B2E}
.site-mobile{display:none;position:fixed;z-index:1999;top:var(--header);left:0;right:0;bottom:0;overflow-y:auto;background:#F9FAFB;padding:16px 24px 40px;box-shadow:0 12px 30px #0002}.site-mobile.open{display:block}.site-mobile a{display:block;padding:12px 9px;border-bottom:1px solid #121B2E12;font-size:14px;font-weight:650}.site-mobile h3{font-size:13px;text-transform:uppercase;color:#947039;letter-spacing:.12em;margin:22px 8px 7px}.site-mobile .site-contact{border-radius:12px;text-align:center;color:white;background:#121B2E;margin-top:19px}
.site-footer{background:#121B2E;color:white;padding:48px 0 26px}.site-footer-wrap{width:min(1200px,calc(100% - 42px));margin:auto}.site-footer-columns{display:grid;grid-template-columns:1.25fr 1fr 1fr;gap:52px;padding-bottom:35px;border-bottom:1px solid #ffffff22}.site-footer-logo{width:168px;height:auto;max-height:107px;object-fit:contain}.site-footer p{font-size:14px;color:#ffffffac;max-width:340px;margin-top:16px}.site-footer h3{font-size:12px!important;text-transform:uppercase;letter-spacing:.10em;color:#C5A058;margin:0 0 13px}.site-footer a{color:#ffffffc7;font-size:13px}.site-footer a:hover{color:#fff}.site-footer-column a{display:block;margin:9px 0}.site-footer-bottom{display:flex;justify-content:space-between;gap:20px;padding-top:22px;font-size:12px;color:#ffffff80}
.site-wa{position:fixed;z-index:2010;right:18px;bottom:18px;background:#20B85B;color:#fff!important;border-radius:999px;display:flex;align-items:center;gap:8px;padding:13px 18px;box-shadow:0 8px 28px #0004;font-size:13px;font-weight:850}.site-wa svg{width:25px;height:25px}.site-wa:hover{background:#15964a}
/* Global background assigned through data-page and site-config.js */
body .hero{background-image:linear-gradient(105deg,rgba(9,18,35,.96) 0%,rgba(14,27,47,.90) 42%,rgba(16,28,45,.44) 100%),var(--hero-image)!important;background-size:cover!important;background-position:center center!important;background-repeat:no-repeat!important}
body .hero:before{opacity:.10!important}
/* Home typography reductions on desktop ~30%; retain sensible mobile minimum */
body.page-home .hero h1{font-size:clamp(34px,4.35vw,55px)!important;line-height:1.09!important}
body.page-home #soluciones .section-title{font-size:clamp(30px,3.5vw,47px)!important;line-height:1.11!important}
body.page-home #metodologia .section-title{font-size:clamp(30px,3.35vw,46px)!important;line-height:1.12!important}
body.page-home #impacto360 .impacto-copy h3{font-size:clamp(29px,3.25vw,44px)!important;line-height:1.12!important}
/* Roomier methodology chart and labels */
body.page-home #metodologia{padding:88px 0 92px!important}body.page-home #metodologia .method-grid{grid-template-columns:minmax(420px,.95fr) minmax(0,1.05fr)!important;gap:clamp(70px,7vw,112px)!important;align-items:center}body.page-home #metodologia .method-visual{width:100%;max-width:500px!important;min-height:450px;overflow:visible}body.page-home #metodologia .method-point{width:145px!important}body.page-home #metodologia .mp2{right:-16px!important}body.page-home #metodologia .mp4{left:-16px!important}body.page-home #metodologia .method-copy{padding-left:12px}
/* Sticky timeline spans until final right-column item; never overflow section */
body.page-home #trayectoria{overflow:visible!important}body.page-home #trayectoria .trajectory-grid{align-items:stretch!important}body.page-home #trayectoria .trajectory-sticky{position:sticky!important;top:calc(var(--header) + 35px)!important;align-self:start;max-height:calc(100vh - var(--header) - 55px);overflow:visible;transition:transform .2s}
@media(max-width:1120px){.site-links{gap:10px}.site-links>a,.nav-group>button{font-size:11.5px}.site-brand img{width:134px}body.page-home #metodologia .method-grid{gap:65px!important;grid-template-columns:minmax(330px,.85fr) minmax(0,1.15fr)!important}}
@media(max-width:940px){:root{--header:76px}.site-links{display:none}.site-toggle{display:block}.site-brand img{width:128px}.site-footer-columns{grid-template-columns:1fr 1fr}.site-footer-about{grid-column:1/-1}body.page-home #metodologia .method-grid{grid-template-columns:1fr!important;gap:45px!important}body.page-home #metodologia .method-visual{width:min(480px,100%);max-width:480px!important;min-height:420px;margin:auto}body.page-home #metodologia .method-copy{padding:0}body.page-home #trayectoria .trajectory-sticky{position:relative!important;top:auto!important;max-height:none}}
@media(max-width:620px){:root{--header:70px}.site-brand img{width:116px}.site-nav{width:calc(100% - 30px)}.site-footer-columns{grid-template-columns:1fr;gap:20px}.site-footer-about{grid-column:auto}.site-footer-bottom{flex-direction:column}.site-footer-logo{width:142px}.site-wa{padding:13px}.site-wa span{display:none}body.page-home .hero h1{font-size:clamp(32px,8.7vw,42px)!important}body.page-home #soluciones .section-title,body.page-home #metodologia .section-title,body.page-home #impacto360 .impacto-copy h3{font-size:clamp(29px,8vw,38px)!important}body.page-home #metodologia{padding:65px 0!important}body.page-home #metodologia .method-visual{min-height:310px;width:290px!important}body.page-home #metodologia .method-point{width:104px!important}body.page-home #metodologia .mp2{right:-5px!important}body.page-home #metodologia .mp4{left:-5px!important}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}}

body.page-home #casos .section-title{font-size:clamp(30px,3.45vw,46px)!important;line-height:1.12!important}

/* 13 Oct 2026 — Final adjustments */
.nav-group>button{display:inline-flex!important;align-items:center!important;justify-content:center;gap:9px;vertical-align:middle;white-space:nowrap;line-height:20px!important}
.nav-group>button::after{content:""!important;display:inline-block;width:6px;height:6px;border-right:1.8px solid currentColor;border-bottom:1.8px solid currentColor;transform:translateY(-2px) rotate(45deg);flex:0 0 6px;transition:transform .18s ease}
.nav-group.open>button::after{transform:translateY(1px) rotate(225deg)}
body.page-home .hero{min-height:calc(86svh - var(--header))!important;padding:54px 0 55px!important;}
body.page-home .hero .hero-grid{gap:clamp(24px,3vw,48px)!important}
body.page-home .hero h1{font-size:clamp(31px,3.48vw,44px)!important;line-height:1.13!important;max-width:780px}
body.page-home .hero .hero-copy{font-size:clamp(16px,1.55vw,20px)!important;line-height:1.56}
body.page-home .hero .hero-actions{margin-top:24px!important}
body.page-home .hero .hero-tags{margin-top:23px!important}
body.page-home .hero .hero-visual{min-height:390px!important;max-width:475px;margin-inline:auto;opacity:.91}
body.page-home .hero .orbit{width:min(100%,410px)!important}
/* Text legible over Medellín photo, while people/city remain visible at the right. */
body .hero{background-image:linear-gradient(95deg,rgba(5,16,32,.85) 0%,rgba(8,20,37,.72) 36%,rgba(10,25,43,.28) 72%,rgba(9,20,35,.33) 100%),var(--hero-image)!important;background-position:center 46%!important}
body.page-home .hero{background-image:linear-gradient(100deg,rgba(7,19,36,.91) 0%,rgba(10,27,47,.76) 41%,rgba(10,27,47,.39) 70%,rgba(10,27,47,.52) 100%),var(--hero-image)!important}
body.page-home .hero::before{opacity:.045!important}
/* Internal pages use different images by data-page while retaining the same branded design. */
body.page-inner .hero{background-image:linear-gradient(105deg,rgba(7,18,35,.93),rgba(9,22,41,.73) 49%,rgba(9,22,41,.25)),var(--hero-image)!important;background-size:cover!important;background-position:center 47%!important}
@media(max-width:1020px){body.page-home .hero{min-height:auto!important;padding:58px 0 54px!important}body.page-home .hero .hero-visual{min-height:310px!important;max-width:385px}body.page-home .hero .orbit{width:min(100%,340px)!important}}
@media(max-width:720px){body.page-home .hero{padding:34px 0 44px!important}body.page-home .hero h1{font-size:clamp(29px,7.6vw,36px)!important}body.page-home .hero .hero-visual{min-height:285px!important}body.page-home .hero .orbit{width:min(100%,285px)!important}body .hero{background-position:55% center!important}}

/* Entrega final: overlay corporativo más oscuro y coherente en las diez páginas. */
:root{--hero-overlay-left:.96;--hero-overlay-middle:.87;--hero-overlay-right:.66}
body.page-home .hero,body.page-inner .hero{
 background-image:linear-gradient(100deg,rgba(5,14,29,var(--hero-overlay-left)) 0%,rgba(7,18,35,var(--hero-overlay-middle)) 43%,rgba(8,20,38,var(--hero-overlay-right)) 100%),var(--hero-image)!important;
 background-color:#091525!important;background-size:cover!important;background-repeat:no-repeat!important;
}
/* Titular de contacto: reducción del veinte por ciento respecto al estilo base. */
body.page-inner .cta h2{font-size:clamp(27px,3.25vw,43px)!important;line-height:1.12!important;max-width:860px;margin-inline:auto}
@media(max-width:720px){body.page-inner .cta h2{font-size:clamp(25px,7.1vw,35px)!important}body.page-home .hero .orbit{width:min(100%,285px)!important}}

body.page-home .program-card{gap:16px}body.page-home .program-card p{line-height:1.63;font-size:15px}

/* 13 oct · Gráfico del hero: fidelidad al index.html adjunto.
   No se modifica ningún elemento HTML del gráfico (órbita, nodos, tarjeta). */
body.page-home .hero .hero-visual{position:relative;min-height:500px;display:grid;place-items:center;opacity:.78!important;isolation:auto!important;max-width:none!important}
body.page-home .hero .orbit{width:min(100%,490px)!important;aspect-ratio:1;border:1px solid rgba(255,255,255,.12)!important}
body.page-home .hero .orbit::before,body.page-home .hero .orbit::after{border-color:rgba(255,255,255,.1)!important}
body.page-home .hero .node{background:rgba(249,250,251,.96)!important;color:#121B2E!important}
body.page-home .hero .floating-card{background:rgba(18,27,46,.78)!important}
@media(max-width:1020px){body.page-home .hero .hero-visual{min-height:400px!important;max-width:650px!important;width:100%!important;margin:auto!important}body.page-home .hero .orbit{width:min(100%,390px)!important}}
@media(max-width:720px){body.page-home .hero .hero-visual{min-height:330px!important;opacity:.65!important}body.page-home .hero .orbit{width:300px!important}}
/* Diseño de fondo: dos secciones azules, sin alterar textos, columnas, gráfico ni navegación. */
body.page-home #publicos,body.page-home #metodologia{background-color:#121B2E!important;isolation:isolate}
body.page-home #publicos::before,body.page-home #metodologia::before{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;
 background:radial-gradient(ellipse 55% 65% at 93% 7%,rgba(197,160,88,.12),transparent 75%),radial-gradient(ellipse 48% 70% at -6% 91%,rgba(68,109,153,.21),transparent 72%),repeating-linear-gradient(135deg,transparent 0,transparent 80px,rgba(255,255,255,.018) 81px,transparent 82px);}
body.page-home #publicos::after{content:"";position:absolute;right:-185px;top:-240px;width:630px;aspect-ratio:1;border:1px solid rgba(197,160,88,.17);border-radius:50%;pointer-events:none;box-shadow:0 0 0 68px rgba(197,160,88,.025),0 0 0 150px rgba(255,255,255,.013);z-index:0}
body.page-home #metodologia::after{content:"";position:absolute;left:-240px;bottom:-310px;width:720px;aspect-ratio:1;border:1px solid rgba(197,160,88,.15);border-radius:50%;box-shadow:0 0 0 86px rgba(197,160,88,.025),0 0 0 174px rgba(255,255,255,.012);pointer-events:none;z-index:0}
body.page-home #publicos>.container,body.page-home #metodologia>.container{position:relative;z-index:1}
@media(max-width:720px){body.page-home #publicos::after{width:380px;right:-230px;top:-165px}body.page-home #metodologia::after{width:430px;left:-275px;bottom:-210px}}


/* 13 oct · Ajustes finales de producción */
.site-links>a,.nav-group>button{font-size:15px!important;line-height:1.15!important}
.nav-sub a{font-size:14px!important}
.nav-group>button:after{content:'⌄';font-size:16px;display:inline-flex;align-items:center;line-height:1;transform:translateY(-1px)}
.site-mobile a{font-size:15px!important}

:root{--hero-overlay-left:.975;--hero-overlay-middle:.91;--hero-overlay-right:.74}
body.page-home .hero,body.page-inner .hero,body.page-contact .hero{
 background-image:linear-gradient(100deg,rgba(5,14,29,var(--hero-overlay-left)) 0%,rgba(7,18,35,var(--hero-overlay-middle)) 46%,rgba(8,20,38,var(--hero-overlay-right)) 100%),var(--hero-image)!important;
}

/* Hero home: tipografía más protagónica */
body.page-home .hero h1{font-size:clamp(50px,7vw,90px)!important;max-width:980px!important}
@media(max-width:720px){body.page-home .hero h1{font-size:clamp(33px,8.3vw,42px)!important}}

/* Gráfico hero exactamente en el estilo aprobado, con C central y nodos girando */
body.page-home .hero .hero-visual{position:relative;min-height:500px;display:grid;place-items:center;opacity:.82!important;max-width:none!important}
body.page-home .hero .orbit{position:relative;width:min(100%,490px)!important;aspect-ratio:1;border-radius:50%;border:1px solid rgba(255,255,255,.12)!important;animation:spin 24s linear infinite!important}
body.page-home .hero .orbit:before,body.page-home .hero .orbit:after{content:"";position:absolute;border-radius:50%;border:1px solid rgba(255,255,255,.1)!important}
body.page-home .hero .orbit:before{inset:13%}
body.page-home .hero .orbit:after{inset:27%}
body.page-home .hero .core{position:absolute;inset:36%;border-radius:50%;background:linear-gradient(135deg,var(--gold),#2D3747)!important;box-shadow:0 0 0 24px rgba(197,160,88,.08),0 0 70px rgba(197,160,88,.28)!important;display:grid;place-items:center;animation:spinReverse 24s linear infinite!important}
body.page-home .hero .core:after{content:"C";font-size:50px;font-weight:900;color:#fff}
body.page-home .hero .node{position:absolute;display:flex;align-items:center;gap:10px;padding:10px 13px;border-radius:999px;background:rgba(249,250,251,.96)!important;color:#121B2E!important;box-shadow:0 14px 40px rgba(18,27,46,.22)!important;font-size:11px;font-weight:850;animation:spinReverse 24s linear infinite!important}
body.page-home .hero .node i{width:8px;height:8px;border-radius:50%;background:var(--gold)}
body.page-home .hero .n1{top:8%;left:46%}
body.page-home .hero .n2{top:47%;right:-8%}
body.page-home .hero .n3{bottom:5%;left:42%}
body.page-home .hero .n4{top:48%;left:-8%}
body.page-home .hero .floating-card{position:absolute;right:-10px;bottom:18px;width:230px;padding:19px;border:1px solid rgba(255,255,255,.13);background:rgba(18,27,46,.78)!important;backdrop-filter:blur(12px);border-radius:22px;box-shadow:0 22px 60px rgba(0,0,0,.2)}
body.page-home .hero .floating-card small{display:block;color:var(--gold);text-transform:uppercase;letter-spacing:.11em;font-weight:850;margin-bottom:8px}
body.page-home .hero .floating-card strong{font-size:28px;line-height:1;display:block;margin-bottom:7px}
body.page-home .hero .floating-card p{margin:0;color:rgba(255,255,255,.62);font-size:12px}
@media(max-width:1020px){body.page-home .hero .hero-visual{min-height:400px!important;max-width:650px!important;width:100%!important;margin:auto!important}body.page-home .hero .orbit{width:min(100%,390px)!important}}
@media(max-width:720px){body.page-home .hero .hero-visual{min-height:330px!important;opacity:.72!important}body.page-home .hero .orbit{width:300px!important}}

/* White cards with more life */
body.page-home .program-card,
body.page-home .service,
body.page-home .problem-card,
body.page-home .trajectory-item,
body.page-home .impacto-shell,
body.page-home .audience,
body.page-inner .item,
body.page-inner .summary,
body.page-inner .related a,
body.page-contact .contact-card,
body.page-contact .contact-form-shell,
body.page-contact .contact-info-card{
 box-shadow:0 18px 48px rgba(18,27,46,.10),0 2px 0 rgba(255,255,255,.55) inset!important;
 border-color:rgba(18,27,46,.10)!important;
 background-image:linear-gradient(180deg,rgba(255,255,255,.98),rgba(249,250,251,.98))!important;
}
body.page-home .program-card:hover,
body.page-home .service:hover,
body.page-home .problem-card:hover,
body.page-home .trajectory-item:hover,
body.page-inner .item:hover,
body.page-inner .related a:hover,
body.page-contact .contact-card:hover,
body.page-contact .contact-info-card:hover{transform:translateY(-4px);box-shadow:0 28px 68px rgba(18,27,46,.14),0 2px 0 rgba(255,255,255,.7) inset!important}
body.page-home .service{transition:transform .25s,box-shadow .25s}
body.page-home .service.featured{background-image:linear-gradient(180deg,rgba(18,27,46,.98),rgba(18,27,46,.96))!important}
body.page-home .audience{background-image:linear-gradient(180deg,rgba(255,255,255,.08),rgba(255,255,255,.04))!important}

/* Metodología dinámica: mismo lenguaje visual del hero */
body.page-home #metodologia .method-visual{position:relative;display:grid;place-items:center;max-width:500px;min-height:500px;overflow:visible}
body.page-home #metodologia .method-ring{border:1px solid rgba(255,255,255,.18)!important;animation:spin 24s linear infinite}
body.page-home #metodologia .method-ring.r2{animation:spinReverse 20s linear infinite;border-color:rgba(255,255,255,.12)!important}
body.page-home #metodologia .method-center{width:140px;height:140px;background:linear-gradient(135deg,var(--gold),#d7b87a)!important;box-shadow:0 0 0 28px rgba(197,160,88,.08),0 0 70px rgba(197,160,88,.22)!important;animation:pulseCenter 4s ease-in-out infinite}
body.page-home #metodologia .method-point{background:rgba(18,27,46,.82)!important;border:1px solid rgba(255,255,255,.12);backdrop-filter:blur(8px);box-shadow:0 16px 36px rgba(0,0,0,.18);animation:floatCard 5.5s ease-in-out infinite}
body.page-home #metodologia .mp2{animation-delay:.8s}
body.page-home #metodologia .mp3{animation-delay:1.6s}
body.page-home #metodologia .mp4{animation-delay:2.4s}
body.page-home #metodologia .method-visual:before,
body.page-home #metodologia .method-visual:after{content:'';position:absolute;border-radius:50%;pointer-events:none}
body.page-home #metodologia .method-visual:before{width:530px;height:530px;border:1px dashed rgba(197,160,88,.16);animation:spin 32s linear infinite}
body.page-home #metodologia .method-visual:after{width:12px;height:12px;background:rgba(197,160,88,.95);top:16%;left:50%;transform:translateX(-50%);box-shadow:155px 150px 0 rgba(255,255,255,.8),0 305px 0 rgba(197,160,88,.75),-155px 150px 0 rgba(255,255,255,.8);animation:spin 16s linear infinite}
@keyframes pulseCenter{0%,100%{transform:scale(1)}50%{transform:scale(1.05)}}
@keyframes floatCard{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}
@media(max-width:720px){body.page-home #metodologia .method-visual{max-width:340px;min-height:360px}body.page-home #metodologia .method-center{width:105px;height:105px}body.page-home #metodologia .method-visual:before{width:360px;height:360px}}

/* Menú activo, mismo dorado que el hover */
.site-links>a.is-active:not(.site-contact),.nav-group>button.is-active,.nav-sub>a.is-active{color:#A17F42!important}
.site-nav .site-links>a.site-contact.is-active{background:#A17F42!important;color:#fff!important}
.site-mobile>a.is-active{color:#A17F42!important;background:rgba(197,160,88,.09)!important;border-radius:10px}
.nav-sub>a.is-active{background:#F4F0E8!important;font-weight:850!important}
