/* Home: texto y fotografía sobre la misma retícula del sitio. */
main,.top,footer{width:100%;min-width:0}
.wrap{width:100%;max-width:1240px;min-width:0}
img{max-width:100%}
.hero{background:#f4f6f7;display:block;min-height:0}
.hero-grid{width:100%;max-width:1240px;margin:0 auto;display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:40px;padding:48px 30px;min-height:0;align-items:center}
.hero-copy{padding:0;min-width:0}
.hero-copy .eyebrow{font-size:10px;letter-spacing:1.25px;line-height:1.6}
.hero-copy h1{font-size:clamp(36px,3.4vw,46px);line-height:1.12;letter-spacing:-1.6px;margin:20px 0}
.hero-copy p{font-size:16px;line-height:1.75;max-width:470px;margin:0;color:#4c5867}
.hero-actions{margin-top:26px}
.hero-actions .button{font-size:13px;padding:14px 22px}
.hero-visual{display:block;min-width:0;min-height:0;padding:0;background:transparent;align-self:center;overflow:hidden;border-radius:16px}
.hero-visual:before,.hero-visual:after{display:none}
.hero-image{position:static;display:block;width:100%;height:auto;aspect-ratio:1672 / 941;object-fit:contain;object-position:center}
.value.value-asset{background:#111b2b;padding:48px 30px 0;aspect-ratio:auto;overflow:visible}
.value-asset img{display:block;width:100%;max-width:1180px;height:auto;object-fit:contain;object-position:center;margin:0 auto;border-radius:16px}
@media(max-width:1100px) and (min-width:951px){.hero-grid{gap:28px;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.hero-copy h1{font-size:36px}.hero-copy p{font-size:15px}.hero-copy .eyebrow{font-size:9px;letter-spacing:1px}}
@media(max-width:950px){.hero-grid{grid-template-columns:1fr;gap:32px;min-height:0;padding:44px 30px}.hero-copy{padding:0}.hero-copy h1{font-size:clamp(36px,5vw,46px)}.hero-copy p{max-width:600px}.hero-visual{min-height:0}.value.value-asset{padding:36px 30px 0}}
@media(max-width:640px){.hero-grid{padding:32px 20px;gap:28px}.hero-copy{padding:0}.hero-copy h1{font-size:clamp(32px,8.5vw,40px);letter-spacing:-1.2px;margin:16px 0}.hero-copy .eyebrow{font-size:9px;letter-spacing:1px}.hero-copy p{font-size:15px;line-height:1.7}.hero-actions{margin-top:22px}.hero-visual{min-height:0;border-radius:12px}.value.value-asset{padding:28px 20px 0}.value-asset img{border-radius:12px}}
/* Pilares discretos: misma retícula y mismo fondo que el bloque principal. */
.hero-principles{width:100%;max-width:1240px;margin:0 auto;padding:0 30px 32px;flex:none}
.hero-principles ul{list-style:none;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:40px;margin:0;padding:24px 0 0;border-top:1px solid #dce3e5}
.hero-principles li{display:flex;align-items:center;gap:14px;position:relative;min-width:0}
.hero-principles li:not(:last-child):after{content:'→';position:absolute;right:-23px;top:50%;transform:translateY(-50%);font-size:17px;color:#98a79f}
.hero-principles svg{width:28px;height:28px;flex:none;fill:none;stroke:#438b38;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.hero-principles strong{display:block;font-size:14px;line-height:1.4;font-weight:650;color:#172236}
.hero-principles span{display:block;font-size:12px;line-height:1.5;margin-top:3px;color:#667080}
@media(max-width:950px){.hero{min-height:0}.hero-principles{padding:0 30px 30px}.hero-principles ul{gap:24px}.hero-principles li{gap:10px}.hero-principles li:not(:last-child):after{right:-17px}.hero-principles span{font-size:11px}}
@media(max-width:640px){.hero-principles{padding:0 20px 28px}.hero-principles ul{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 20px;padding-top:22px}.hero-principles li:not(:last-child):after{display:none}.hero-principles strong{font-size:13px}.hero-principles span{font-size:11px}.hero-principles svg{width:25px;height:25px}}
/* Ajuste óptico: acercar los pilares al texto y a la fotografía. */
@media(min-width:951px){
 .hero-grid{padding-top:64px;padding-bottom:36px}
 .hero-principles{padding-bottom:44px}
 .hero-principles ul{padding-top:24px}
}
@media(min-width:641px) and (max-width:950px){
 .hero-grid{padding-bottom:28px}
 .hero-principles{padding-bottom:36px}
}
@media(max-width:640px){
 .hero-grid{padding-bottom:24px}
 .hero-principles ul{padding-top:20px}
}
/* Reservar la primera pantalla al home sin separar sus elementos. */
.hero{min-height:calc(100svh - 78px)}
@media(max-width:640px){.hero{min-height:calc(100svh - 68px)}}
/* Prueba: fotografía más amplia y altura del home repartida entre ambos bloques. */
@media(min-width:951px){
 .hero{display:flex;flex-direction:column}
 .hero-grid{flex:1;padding-top:40px;padding-bottom:32px}
 .hero-principles{padding-bottom:40px}
}
@media(min-width:1101px){
 .hero-grid{grid-template-columns:minmax(0,1fr) calc((100% - 40px) * .6325);gap:36px}
 .hero-copy h1{font-size:clamp(38px,3.2vw,42px);line-height:1.12;letter-spacing:-1.5px}
 .hero-copy p{max-width:410px;font-size:15px;line-height:1.75}
 .hero-image{width:100%;height:auto;object-fit:contain}
}
/* Soluciones: tres tarjetas compactas y comparables. */
#soluciones{scroll-margin-top:78px;padding:40px 0;background:#fff;min-height:calc(100svh - 78px);display:flex;align-items:center}
#soluciones .wrap{width:100%}
#soluciones .section-head{align-items:center;gap:36px;margin-bottom:26px}
#soluciones .section-head h2{font-size:clamp(30px,3vw,38px);letter-spacing:-1.2px;line-height:1.15;margin:12px 0 0}
#soluciones .section-head>p{font-size:14px;line-height:1.7;max-width:330px;margin:0;flex:0 1 330px}
#soluciones .cards{grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
#soluciones .card{border:1px solid #e1e7e8;background:#fff;color:#172236;border-radius:14px;box-shadow:0 5px 18px #17223606;overflow:hidden;min-width:0}
#soluciones .card img{width:100%;height:160px;aspect-ratio:auto;object-fit:cover;object-position:center 42%;background:#edf1f0;flex:none}
#soluciones .card-content{padding:22px;display:flex;flex-direction:column}
#soluciones .card-num{font-size:10px;line-height:1.5;letter-spacing:1px;color:#438b38;font-weight:750}
#soluciones .card h3{font-size:22px;line-height:1.25;letter-spacing:-.5px;margin:10px 0 18px;font-weight:700}
#soluciones .card ul{border-top:1px solid #e9eded;padding:14px 0 0;margin:auto 0 0;list-style:none}
#soluciones .card li{padding:5px 0;color:#596674;font-size:12px;line-height:1.5;gap:9px;align-items:flex-start}
#soluciones .card li:before{content:'';display:block;width:4px;height:4px;margin-top:7px;background:#55b840;border-radius:50%;flex:none}
.system-section{padding:48px 0;background:#f0f5ee;scroll-margin-top:78px;border-top:1px solid #e1e9df}
.system-section>.wrap{display:flex;align-items:center;justify-content:space-between;gap:48px}
.system-intro{max-width:570px;min-width:0}
.system-intro h2{font-size:28px;letter-spacing:-.7px;line-height:1.2;margin:12px 0}
.system-intro p{font-size:14px;line-height:1.7;color:#596674;margin:0;max-width:530px}
.system-section .flow{gap:10px;flex-wrap:nowrap;flex:none}
.system-section .flow span{display:flex;flex-direction:column;align-items:center;gap:10px;background:transparent;border:0;padding:10px 8px;font-size:10px;letter-spacing:.8px;color:#263a30}
.system-section .flow svg{width:27px;height:27px;color:#438b38}
.system-section .flow i{font-size:19px;color:#739268}
@media(max-width:1100px){#soluciones .card-content{padding:18px}#soluciones .card h3{font-size:20px}#soluciones .card-num{font-size:9px}#soluciones .card img{height:145px}.system-section>.wrap{gap:24px}.system-intro h2{font-size:25px}}
@media(max-width:950px){#soluciones{min-height:0;padding:44px 0}#soluciones .section-head{display:block}#soluciones .section-head>p{max-width:560px;margin-top:14px}#soluciones .cards{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}#soluciones .card h3{font-size:18px}#soluciones .card-content{padding:16px}#soluciones .card li{font-size:11px}.system-section>.wrap{flex-direction:column;align-items:flex-start}.system-section .flow{gap:18px}}
@media(max-width:700px){#soluciones .cards{grid-template-columns:1fr;gap:20px}#soluciones .card img{height:auto;aspect-ratio:2.1;object-position:center 42%}#soluciones .card-content{padding:22px}#soluciones .card h3{font-size:23px;margin-bottom:18px}#soluciones .card-num{font-size:10px}#soluciones .card li{font-size:13px}#soluciones .section-head{margin-bottom:24px}.system-section{padding:36px 0}.system-intro h2{font-size:26px}.system-section .flow{width:100%;justify-content:space-between;gap:4px}.system-section .flow span{padding:8px 0;font-size:9px}}
@media(max-width:640px){#soluciones,.system-section{scroll-margin-top:68px}}
/* Fotografías de soluciones: preservar los rostros en el encuadre. */
#soluciones .card img{object-position:center 12%}

/* Tarjetas: encabezados centrados y bloques de contenido alineados. */
#soluciones .card-content{padding:24px;align-items:stretch}
#soluciones .card-num{text-align:center;min-height:15px;font-size:10px;letter-spacing:.8px}
#soluciones .card h3{text-align:center;font-size:clamp(19px,1.8vw,22px);line-height:1.3;min-height:2.6em;margin:12px 0 22px;letter-spacing:-.4px;text-wrap:balance}
#soluciones .card ul{width:100%;margin:auto 0 0;padding-top:16px}
#soluciones .card li{font-size:12px;line-height:1.6;padding:5px 0}
@media(min-width:701px) and (max-width:950px){#soluciones .card-content{padding:16px}#soluciones .card-num{font-size:8px;letter-spacing:.4px;min-height:24px}#soluciones .card h3{font-size:18px;min-height:3.9em}#soluciones .card li{font-size:11px}}
@media(max-width:700px){#soluciones .card-content{padding:24px}#soluciones .card h3{font-size:22px;min-height:0}#soluciones .card-num{font-size:10px}#soluciones .card li{font-size:13px}}
/* La promesa comercial lleva la jerarquía del encabezado de Soluciones. */
#soluciones .section-head{display:block;margin-bottom:26px}
#soluciones .section-head h2{font-size:18px;font-weight:500;line-height:1.4;letter-spacing:-.2px;color:#667080;margin:8px 0 0}
#soluciones .section-head>.solutions-promise{display:block;max-width:none;margin:16px 0 0;font-size:clamp(24px,2.25vw,28px);font-weight:500;line-height:1.3;letter-spacing:-.5px;color:#172236}
#soluciones .solutions-promise span{display:block}
#soluciones .solutions-promise strong{font-weight:650;color:#438b38}
@media(max-width:640px){#soluciones .section-head h2{font-size:16px}#soluciones .section-head>.solutions-promise{font-size:20px;line-height:1.4;letter-spacing:-.3px;margin-top:14px}}
#soluciones .card img[src*='solucion-inteligencia-v3']{object-position:center 30%}

/* Sistema: diagrama nativo, conectado y adaptable. */
#sistema{background:#f4f6f7;padding:48px 0;min-height:calc(100svh - 78px);display:flex;align-items:center;border-top:1px solid #e5ebeb}
#sistema>.wrap{display:block}
.system-header{max-width:710px;margin:0 auto 32px;text-align:center}
.system-header .eyebrow{justify-content:center;font-size:10px;letter-spacing:1.6px}
.system-header h2{font-size:clamp(30px,3.2vw,42px);line-height:1.12;letter-spacing:-1.3px;margin:16px 0}
.system-header h2 span{color:#438b38}
.system-header>p{font-size:14px;line-height:1.7;color:#667080;max-width:580px;margin:0 auto}
.system-diagram{max-width:1000px;margin:0 auto}
.system-ai>span{display:flex;justify-content:center;align-items:center;gap:9px;color:#438b38;font-size:12px;font-weight:650;margin-bottom:16px}
.system-ai>span svg{width:21px;height:21px;stroke:currentColor;fill:none;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.system-ai-rail{width:66.6667%;height:28px;margin:0 auto;border-top:1px solid #99c693;position:relative}
.system-ai-rail i{position:absolute;top:0;height:27px;width:1px;background:#99c693}
.system-ai-rail i:nth-child(1){left:0}.system-ai-rail i:nth-child(2){left:50%}.system-ai-rail i:nth-child(3){right:0}
.system-ai-rail i:after{content:'';position:absolute;width:5px;height:5px;border-radius:50%;background:#438b38;bottom:0;left:-2px}
.system-nodes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;list-style:none;margin:0;padding:0}
.system-nodes li{text-align:center;position:relative;min-width:0;padding:0 16px}
.system-node-icon{width:76px;height:76px;border:1px solid #bdd4b8;border-radius:50%;background:#eaf2e7;display:grid;place-items:center;margin:0 auto 18px;position:relative;z-index:1}
.system-node-icon svg{width:32px;height:32px;fill:none;stroke:#438b38;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.system-nodes li:not(:last-child):after{content:'';position:absolute;top:38px;left:calc(50% + 49px);width:calc(100% - 98px);height:1px;background:#a2b99e}
.system-nodes li:not(:last-child):before{content:'';position:absolute;top:35px;left:calc(150% - 54px);width:6px;height:6px;border-right:1px solid #789b70;border-top:1px solid #789b70;transform:rotate(45deg)}
.system-stage{color:#438b38;font-size:10px;letter-spacing:1.3px;font-weight:700}
.system-node-copy h3{font-size:20px;letter-spacing:-.5px;margin:9px 0;line-height:1.25}
.system-node-copy p{font-size:13px;line-height:1.6;color:#667080;margin:0}
.system-feedback{position:relative;width:66.6667%;height:46px;margin:16px auto 0;border:1px solid #b5c5b0;border-top:0;border-radius:0 0 18px 18px;display:flex;align-items:flex-end;justify-content:center}
.system-feedback:before{content:'';position:absolute;left:-4px;top:0;width:6px;height:6px;border-top:1px solid #789b70;border-left:1px solid #789b70;transform:rotate(45deg)}
.system-feedback>span{display:none}
.system-feedback p{position:relative;top:9px;background:#f4f6f7;padding:0 16px;margin:0;color:#667a62;font-size:11px;line-height:18px}
.system-summary{text-align:center;color:#667080;font-size:12px;line-height:1.6;margin:32px 0 0}
@media(max-width:950px){#sistema{min-height:0;padding:44px 0}.system-node-copy h3{font-size:18px}.system-node-copy p{font-size:12px}.system-nodes li{padding:0 10px}}
@media(max-width:640px){#sistema{padding:36px 0}.system-header{margin-bottom:28px;text-align:left}.system-header .eyebrow{justify-content:flex-start;font-size:9px}.system-header h2{font-size:31px}.system-header>p{font-size:14px}.system-diagram{position:relative}.system-ai>span{justify-content:flex-start;font-size:11px;margin:0 0 26px}.system-ai-rail{display:none}.system-nodes{grid-template-columns:1fr;gap:32px}.system-nodes li{display:grid;grid-template-columns:58px minmax(0,1fr);gap:18px;text-align:left;padding:0}.system-node-icon{width:58px;height:58px;margin:0;align-self:center}.system-node-icon svg{width:27px;height:27px}.system-node-copy h3{font-size:20px;margin:5px 0}.system-node-copy p{font-size:13px}.system-stage{font-size:9px}.system-nodes li:not(:last-child):after{top:calc(100% + 5px);left:28px;width:1px;height:22px}.system-nodes li:not(:last-child):before{top:calc(100% + 21px);left:25px;transform:rotate(135deg)}.system-feedback{width:100%;height:auto;border:0;border-top:1px dashed #b5c5b0;border-radius:0;margin-top:26px;padding-top:16px;justify-content:flex-start;gap:10px;align-items:center}.system-feedback:before{display:none}.system-feedback>span{display:block;color:#438b38;font-size:24px;line-height:1}.system-feedback p{position:static;padding:0;font-size:12px}.system-summary{text-align:left;margin-top:20px}}
/* Metodología: siete etapas conectadas, con el mismo lenguaje que Sistema. */
#metodologia{background:#fff;color:#172236;padding:48px 0;min-height:calc(100svh - 78px);display:flex;align-items:center;scroll-margin-top:78px;border-top:1px solid #e5ebeb}
.method-header{max-width:710px;margin:0 auto 44px;text-align:center}
.method-header .eyebrow{justify-content:center;color:#438b38;font-size:10px;letter-spacing:1.6px}
.method-header h2{font-size:clamp(30px,3.2vw,42px);line-height:1.12;letter-spacing:-1.3px;margin:16px 0}
.method-header h2 span{color:#438b38}
.method-header>p{font-size:14px;line-height:1.7;color:#667080;max-width:580px;margin:0 auto}
.method-diagram{width:100%;margin:0 auto}
.method-nodes{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:0;list-style:none;margin:0;padding:0}
.method-nodes li{position:relative;min-width:0;padding:0 8px;text-align:center}
.method-node-icon{width:60px;height:60px;border:1px solid #bdd4b8;border-radius:50%;background:#eaf2e7;display:grid;place-items:center;margin:0 auto 16px;position:relative;z-index:1}
.method-node-icon svg{width:27px;height:27px;fill:none;stroke:#438b38;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.method-nodes li:not(:last-child):after{content:'';position:absolute;top:30px;left:calc(50% + 39px);width:calc(100% - 78px);height:1px;background:#a2b99e}
.method-nodes li:not(:last-child):before{content:'';position:absolute;top:27px;left:calc(150% - 44px);width:6px;height:6px;border-right:1px solid #789b70;border-top:1px solid #789b70;transform:rotate(45deg)}
.method-stage{font-size:10px;letter-spacing:1.3px;font-weight:700;color:#438b38}
.method-node-copy h3{font-size:15px;line-height:1.3;letter-spacing:-.2px;margin:8px 0}
.method-node-copy p{font-size:12px;line-height:1.6;color:#667080;margin:0 auto;max-width:140px}
.method-feedback{position:relative;width:85.7143%;height:48px;margin:24px auto 0;border:1px solid #b5c5b0;border-top:0;border-radius:0 0 18px 18px;display:flex;align-items:flex-end;justify-content:center}
.method-feedback:before{content:'';position:absolute;left:-4px;top:0;width:6px;height:6px;border-top:1px solid #789b70;border-left:1px solid #789b70;transform:rotate(45deg)}
.method-feedback>span{display:none}
.method-feedback p{position:relative;top:9px;background:#fff;padding:0 16px;margin:0;color:#667a62;font-size:11px;line-height:18px;text-align:center}
@media(max-width:1100px) and (min-width:851px){.method-nodes li{padding:0 5px}.method-node-copy h3{font-size:13px}.method-node-copy p{font-size:11px}.method-node-icon{width:54px;height:54px}.method-nodes li:not(:last-child):after{top:27px;left:calc(50% + 34px);width:calc(100% - 68px)}.method-nodes li:not(:last-child):before{top:24px;left:calc(150% - 39px)}}
@media(max-width:850px){#metodologia{min-height:0;padding:40px 0}.method-header{margin-bottom:32px;text-align:left}.method-header .eyebrow{justify-content:flex-start}.method-header>p{margin:0}.method-diagram{max-width:580px;margin:0}.method-nodes{grid-template-columns:1fr;gap:26px}.method-nodes li{display:grid;grid-template-columns:58px minmax(0,1fr);gap:18px;text-align:left;padding:0}.method-node-icon{width:58px;height:58px;margin:0;align-self:center}.method-node-copy h3{font-size:18px;margin:4px 0}.method-node-copy p{font-size:13px;max-width:none;margin:0}.method-stage{font-size:9px}.method-nodes li:not(:last-child):after{top:calc(100% + 4px);left:28px;width:1px;height:18px}.method-nodes li:not(:last-child):before{top:calc(100% + 16px);left:25px;transform:rotate(135deg)}.method-feedback{width:100%;height:auto;border:0;border-top:1px dashed #b5c5b0;border-radius:0;margin-top:26px;padding-top:16px;justify-content:flex-start;gap:10px;align-items:center}.method-feedback:before{display:none}.method-feedback>span{display:block;color:#438b38;font-size:24px;line-height:1}.method-feedback p{position:static;padding:0;font-size:12px;text-align:left}}
@media(max-width:640px){#metodologia{padding:36px 0;scroll-margin-top:68px}.method-header h2{font-size:31px}.method-header .eyebrow{font-size:9px}}
/* Sistema: mapa de relaciones. Metodología: ruta de implementación. */
#sistema,#metodologia{min-height:calc(100svh - 78px);padding:40px 0}
.system-header,.method-header{margin-bottom:24px}
.ecosystem{position:relative;max-width:1000px;aspect-ratio:1000 / 390;margin:0 auto}
.ecosystem-lines{position:absolute;inset:0;width:100%;height:100%;fill:none;stroke:#bfd2bb;stroke-width:1.3}
.ecosystem-lines .eco-link{stroke:#69a357;stroke-width:1.8}.ecosystem-lines .eco-flow{stroke:#438b38;stroke-width:1.6}
.eco-node{position:absolute;width:25%;text-align:center;background:#f4f6f7;padding:12px 8px;z-index:1}
.eco-node>svg{display:block;width:32px;height:32px;margin:0 auto 10px;fill:none;stroke:#438b38;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.eco-node h3{font-size:19px;line-height:1.25;letter-spacing:-.4px;margin:0 0 7px}
.eco-node p{font-size:12px;line-height:1.6;color:#667080;margin:0 auto;max-width:210px}
.eco-demand{left:0;top:33%}.eco-intelligence{width:32%;left:34%;top:-3%}.eco-conversion{right:0;top:33%}
.eco-hub{position:absolute;left:50%;top:54%;transform:translate(-50%,-50%);width:20%;aspect-ratio:1;border-radius:50%;background:#172a35;color:white;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;box-shadow:0 0 0 9px #e7eee4}
.eco-hub>svg{width:29px;height:29px;stroke:#a3dc88;fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;margin-bottom:12px}
.eco-hub strong{font-size:21px;line-height:1.2;font-weight:600;letter-spacing:-.5px}
.eco-hub>span{font-size:9px;color:#c5d6ce;margin-top:10px}
.eco-label{position:absolute;font-size:10px;color:#667a62;background:#f4f6f7;padding:3px 6px;z-index:2}
.eco-prospects{left:28%;top:42%}.eco-information{left:61%;top:28%}.eco-results{right:28%;top:42%}
.eco-ai{position:absolute;bottom:0;left:50%;transform:translateX(-50%);white-space:nowrap;color:#438b38;font-size:12px;font-weight:600;display:flex;align-items:center;gap:8px}
.eco-ai>span{font-size:23px;font-weight:400}
.method-journey{list-style:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:40px;padding:0;margin:0}
.journey-phase{position:relative;min-width:0}
.journey-art{height:114px;text-align:center;margin-bottom:12px}
.journey-art svg{width:190px;height:114px;fill:none;stroke:#66816a;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.journey-art .illustration-fill{fill:#f0f5ee;stroke:#9cb499}.journey-art .illustration-emphasis{stroke:#438b38;stroke-width:2.4}.journey-art .illustration-dot{fill:#438b38;stroke:none}
.journey-marker{position:relative;display:flex;align-items:center;justify-content:center;margin-bottom:14px}
.journey-marker:before{content:'';position:absolute;left:0;right:-40px;top:50%;height:1px;background:#b5c9ac}
.journey-phase:first-child .journey-marker:before{left:50%}.journey-phase:last-child .journey-marker:before{right:50%}
.journey-marker span{position:relative;background:#438b38;color:#fff;border:6px solid #fff;box-sizing:content-box;border-radius:50%;display:grid;place-items:center;width:28px;height:28px;font-size:11px;font-weight:650}
.journey-phase h3{font-size:24px;letter-spacing:-.5px;line-height:1.2;text-align:center;margin:0 0 8px}
.journey-purpose{font-size:12px;color:#667080;text-align:center;line-height:1.5;margin:0 0 20px}
.journey-phase>ol{list-style:none;counter-reset:journey-step 0;padding:16px 0 0;margin:0;border-top:1px solid #e4e9e5}
.journey-phase:nth-child(2)>ol{counter-reset:journey-step 2}.journey-phase:nth-child(3)>ol{counter-reset:journey-step 4}
.journey-phase>ol>li{counter-increment:journey-step;position:relative;padding:0 0 12px 30px}
.journey-phase>ol>li:before{content:'0' counter(journey-step);position:absolute;left:0;top:2px;font-size:10px;color:#438b38;font-weight:650}
.journey-phase strong{display:block;font-size:13px;line-height:1.4;font-weight:650}
.journey-phase li>span{display:block;font-size:12px;line-height:1.5;color:#667080;margin-top:3px}
.journey-note{display:flex;align-items:center;justify-content:center;gap:9px;margin:18px 0 0;color:#667a62;font-size:12px;line-height:1.5}
.journey-note>span{font-size:22px;color:#438b38}
@media(max-width:1100px){.eco-hub strong{font-size:18px}.eco-node h3{font-size:17px}.method-journey{gap:24px}.journey-marker:before{right:-24px}.journey-art{height:100px}.journey-art svg{height:100px;width:167px}}
@media(max-width:800px){#sistema,#metodologia{min-height:0;padding:36px 0}.ecosystem{aspect-ratio:auto;display:grid;grid-template-columns:1fr 1fr;gap:24px 20px;max-width:560px;padding-top:16px}.ecosystem-lines,.eco-label{display:none}.eco-node,.eco-intelligence{position:static;width:auto;padding:12px 0;background:transparent}.eco-hub{position:static;transform:none;grid-column:1 / -1;grid-row:1;width:180px;margin:0 auto 8px}.eco-demand,.eco-intelligence,.eco-conversion{border-top:1px solid #cbdac5}.eco-conversion{grid-column:1 / -1;max-width:260px;width:100%;justify-self:center}.eco-ai{position:static;transform:none;grid-column:1 / -1;justify-content:center;font-size:11px;padding-top:4px}.eco-node h3{font-size:18px}.method-journey{display:block}.journey-phase{display:grid;grid-template-columns:110px minmax(0,1fr);gap:0 20px;padding:0 0 30px 30px;margin-left:14px;border-left:1px solid #b5c9ac}.journey-phase:last-child{border-left-color:transparent;padding-bottom:0}.journey-marker{position:absolute;left:-20px;top:0;margin:0}.journey-marker:before{display:none}.journey-art{grid-column:1;grid-row:1 / 4;height:90px;margin:0;align-self:start}.journey-art svg{width:110px;height:90px}.journey-phase h3{grid-column:2;text-align:left;font-size:24px;padding-top:6px}.journey-purpose{grid-column:2;text-align:left;margin-bottom:16px}.journey-phase>ol{grid-column:2;padding-top:12px}.journey-note{justify-content:flex-start;margin-top:24px}}
@media(max-width:480px){.journey-phase{grid-template-columns:1fr;padding-left:26px;gap:0}.journey-art{grid-column:1;grid-row:auto;height:75px;text-align:left;margin-bottom:8px}.journey-art svg{width:125px;height:75px}.journey-phase h3,.journey-purpose,.journey-phase>ol{grid-column:1}.eco-hub{width:165px}.eco-node p{font-size:11px}.eco-ai{font-size:10px}}
/* Nosotros: personas protagonistas, tecnología como apoyo. */
#nosotros{display:block;background:#f4f6f7;scroll-margin-top:78px;min-height:calc(100svh - 78px)}
.about-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:52px;align-items:center;max-width:1240px;margin:0 auto;padding:52px 30px}
.about-visual{min-width:0;margin:0}
.about-visual img{display:block;width:100%;height:auto;aspect-ratio:3 / 2;object-fit:contain;border-radius:16px}
.about-visual figcaption{font-size:11px;letter-spacing:1px;color:#667a62;line-height:1.5;margin-top:14px;text-align:center}
.about-copy{min-width:0}
.about-copy .eyebrow{font-size:10px;letter-spacing:1.3px;line-height:1.6}
#nosotros .about-copy h2{font-size:clamp(30px,2.9vw,38px);line-height:1.15;letter-spacing:-1.1px;margin:18px 0}
.about-copy h2 span{color:#438b38}
.about-copy>p{font-size:14px;line-height:1.75;color:#667080;margin:0}
.about-principles{list-style:none;padding:20px 0 0;margin:24px 0 0;border-top:1px solid #dce3e5;display:grid;gap:18px}
.about-principles li{display:flex;align-items:flex-start;gap:14px;min-width:0}
.about-principles svg{width:24px;height:24px;flex:none;fill:none;stroke:#438b38;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;margin-top:1px}
.about-principles h3{font-size:14px;line-height:1.4;margin:0 0 4px;font-weight:650}
.about-principles p{font-size:12px;line-height:1.6;color:#667080;margin:0}
@media(min-width:951px){#nosotros{display:flex;align-items:center}}
@media(max-width:950px){#nosotros{min-height:0}.about-grid{gap:32px;padding:40px 30px}.about-copy .eyebrow{font-size:9px;letter-spacing:1px}#nosotros .about-copy h2{font-size:30px}.about-copy>p{font-size:13px}}
@media(max-width:700px){.about-grid{grid-template-columns:1fr;gap:28px;padding:36px 20px}.about-copy{grid-row:1}.about-visual{grid-row:2}#nosotros .about-copy h2{font-size:32px}.about-copy>p{font-size:14px}.about-principles{gap:18px}.about-visual img{border-radius:12px}}
@media(max-width:640px){#nosotros{scroll-margin-top:68px}}
/* Cierre editorial: mismo lenguaje visual que el resto del sitio. */
#contacto.closing-section{background:#fff;color:#172236;text-align:center;padding:76px 0;scroll-margin-top:78px;border-top:1px solid #e5ebeb}
.closing-content{max-width:780px;margin:0 auto}
.closing-content .eyebrow{justify-content:center;font-size:10px;letter-spacing:1.6px;color:#438b38}
#contacto .closing-content h2{font-size:clamp(34px,3.8vw,48px);line-height:1.12;letter-spacing:-1.4px;max-width:none;margin:20px 0}
.closing-content h2>span{color:#438b38}
#contacto .closing-description{font-size:15px;line-height:1.8;color:#667080;max-width:560px;margin:0 auto 28px}
.closing-content .button{padding:15px 25px;font-size:13px;gap:14px}
#contacto .closing-note{font-size:11px;line-height:1.6;color:#84909d;max-width:none;margin:18px 0 0}
footer.site-footer{background:#f4f6f7;color:#667080;padding:26px 0;border-top:1px solid #e1e7e8}
.site-footer .wrap{display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap}
.site-footer a{display:block;flex:none}
.site-footer img{display:block;width:140px;height:auto}
.site-footer .footer-status{font-size:10px;color:#84909d}
@media(max-width:700px){#contacto.closing-section{padding:52px 0}#contacto .closing-content h2{font-size:clamp(32px,7.5vw,42px);letter-spacing:-1px}#contacto .closing-description{font-size:14px}.site-footer .wrap{justify-content:center;text-align:center;gap:18px}.site-footer .wrap>span{flex-basis:100%}.site-footer img{width:130px}}
@media(max-width:640px){#contacto.closing-section{scroll-margin-top:68px}}
/* Footer: marca, navegación y contacto con una franja inferior. */
footer.site-footer{padding:44px 0 0;background:#f4f6f7;color:#667080}
.site-footer .footer-layout{display:block;text-align:left}
.footer-columns{display:grid;grid-template-columns:1.2fr .8fr 1fr;gap:64px;padding-bottom:36px;align-items:start}
.footer-brand img{width:160px}
.footer-brand>p{font-size:14px;line-height:1.65;color:#596674;margin:18px 0 0}
.footer-columns h2{font-size:13px;line-height:1.5;letter-spacing:.2px;color:#172236;margin:0 0 15px;font-weight:700}
.footer-navigation ul{list-style:none;padding:0;margin:0;display:grid;gap:10px}
.footer-navigation a{display:inline-block;font-size:12px;line-height:1.6}
.footer-contact>p{font-size:13px;line-height:1.7;max-width:250px;margin:0 0 16px}
.site-footer .footer-contact-link{display:inline-flex;align-items:center;gap:12px;font-size:12px;color:#327e2a;font-weight:650;line-height:1.6;padding:4px 0}
.site-footer a:hover{color:#327e2a}
.footer-bottom{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;padding:20px 0;border-top:1px solid #dce3e5;font-size:11px;line-height:1.6}
.footer-bottom .footer-status{font-size:10px;color:#84909d}
@media(max-width:950px){.footer-columns{gap:32px;grid-template-columns:1fr .8fr 1fr}}
@media(max-width:640px){footer.site-footer{padding-top:32px}.footer-columns{grid-template-columns:1fr 1fr;gap:28px 24px;padding-bottom:28px}.footer-brand{grid-column:1 / -1}.footer-brand img{width:140px}.footer-brand>p{font-size:13px;margin-top:12px}.footer-bottom{justify-content:flex-start;text-align:left;padding:18px 0}.footer-bottom>span{flex-basis:100%}.footer-contact>p{font-size:12px}.footer-navigation a{padding:2px 0}.footer-columns h2{margin-bottom:12px}}
.footer-contact address{font-style:normal;font-size:12px;line-height:1.7;margin-top:14px;color:#667080}.footer-contact-link{overflow-wrap:anywhere}.footer-legal{display:flex;gap:20px;flex-wrap:wrap}.site-footer .footer-legal a{font-size:11px;line-height:1.6}.footer-bottom{row-gap:14px}

/* Redes oficiales en el header, integradas al menú en móvil. */
.top .nav{gap:20px}
.header-socials{display:flex;align-items:center;gap:2px;border-left:1px solid #e0e6e8;padding-left:12px;margin-left:0;flex:none}
.top .header-socials a{display:inline-flex;width:32px;height:36px;align-items:center;justify-content:center;color:#50616a;border:0;padding:0;border-radius:6px;transition:color .2s,background .2s}
.header-socials svg{width:18px;height:18px;display:block;flex:none}
.top .header-socials a:hover{color:#438b38;background:#eef5eb}
@media(min-width:951px) and (max-width:1100px){.top .logo{width:160px}.top .nav{font-size:12px;gap:16px}.top .button{font-size:12px;padding:12px 16px}.header-socials{padding-left:8px}.top .header-socials a{width:28px}}
@media(max-width:950px){.top .nav.is-open{gap:0}.header-socials{border-left:0;border-top:1px solid #e7ebed;padding:12px 0 0;margin:8px 0 0;gap:10px}.top .nav.is-open .header-socials a{width:40px;height:40px;padding:0;border-bottom:0}}