/* Identidad institucional compartida; se carga después de los estilos de página. */
:root{
  --bosque:#173e32;--hoja:#32664e;--verde-claro:#b8d5c0;
  --crema:#ffffff;--crema-alta:#f3f6f3;--nuez:#66564a;
  --dorado:#d9b575;--dorado-vivo:#e6c791;--terracota:#a64e35;
  --carbon:#202a26;--fondo:#ffffff;--superficie:#ffffff;
  --tinta:#25322c;--tinta-suave:#526059;--tinta-tenue:#647169;
  --linea:#dce4de;--linea-fuerte:#aebfb3;
  --sobre-verde:#f4f8f5;--sobre-verde-2:#d6e3da;
  --max:1280px;--gut:40px;--r:6px;
}
html{scroll-padding-top:100px;}
body{font-size:16px;line-height:1.7;background:#fff;}
*,*::before,*::after{letter-spacing:0;}
h1,h2,h3,h4{letter-spacing:0;font-variation-settings:"SOFT" 0,"WONK" 0,"opsz" 48,"wght" 550;}
p,h1,h2,h3,h4,li,a,button,label{overflow-wrap:break-word;}
.grano::before,.topo::after{display:none;}
.rv{opacity:1;transform:none;transition:opacity .3s ease;}
:focus-visible{outline:3px solid #ad613c;outline-offset:4px;box-shadow:none;border-radius:3px;}
img{display:block;}
.sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;}

/* Marca y navegación */
header,header.solid,header.fija{background:#fff;border-bottom:1px solid var(--linea);box-shadow:none;backdrop-filter:none;}
header .bar{min-height:88px;padding:16px var(--gut);gap:24px;}
.logo{gap:12px;}
.logo img{width:58px;height:44px;object-fit:contain;}
.brand-name{display:block;font-family:var(--serif);font-size:26px;font-weight:600;line-height:1.1;color:var(--bosque);}
.brand-name small{display:block;font-family:var(--sans);font-size:10px;line-height:1.5;font-weight:600;margin-top:4px;color:var(--tinta-suave);}
nav.principal{gap:22px;}
nav.principal a{font-size:13px;color:#46544c;}
nav.principal a.activo{color:var(--bosque);}
nav.principal a:not(.cta-nav)::after{background:var(--bosque);bottom:-9px;}
nav.principal a.activo::after{transform:scaleX(1);}
.btn,.btn.grande,.chip{border-radius:4px;font-size:14px;padding:14px 22px;min-height:48px;line-height:1.35;box-shadow:none;}
.btn:hover,.btn-bosque:hover,.btn-oro:hover{transform:none;box-shadow:none;}
.btn-oro{background:var(--dorado);color:#263429;}
.btn-oro:hover{background:var(--dorado-vivo);}
.btn-bosque,.cta-nav .btn{background:var(--bosque);color:white;}
.btn-bosque:hover,.cta-nav .btn:hover{background:#285742;}
.btn-linea{border:1px solid #b9cabe;color:white;background:transparent;}
.btn-linea.oscuro{color:var(--bosque);border-color:var(--linea-fuerte);}
.btn-linea:hover{border-color:var(--dorado);color:var(--dorado-vivo);}
.btn-linea.oscuro:hover{background:var(--crema-alta);color:var(--bosque);}
.acciones{display:flex;flex-wrap:wrap;gap:12px;}

/* Portada: imagen de producto a sangre, texto y marca sin recuadro. */
.hero{margin-top:88px;min-height:620px;height:min(76svh,760px);padding:64px 0;align-items:center;background:#263d30;}
.hero .escena{inset:0;}
.hero .escena img{width:100%;height:100%;object-fit:cover;object-position:center 72%;}
.hero .velo{background:linear-gradient(90deg,rgba(13,32,23,.55),rgba(13,32,23,.12) 52%,transparent 72%);}
.hero .kicker{font-size:13px;color:#e4cfad;margin-bottom:20px;}
.hero h1{font-size:86px;font-weight:500;line-height:1.04;margin:0 0 24px;max-width:100%;text-shadow:none;}
.hero p.entrada{font-size:19px;line-height:1.75;max-width:49ch;margin-bottom:30px;text-shadow:none;}
.hero .acciones{max-width:590px;}
.hero-axes{display:flex;flex-wrap:wrap;gap:22px;list-style:none;padding:24px 0 0;margin:38px 0 0;max-width:540px;border-top:1px solid rgba(255,255,255,.28);font-size:12px;color:#e2eade;}
.hero-axes li{display:flex;gap:10px;align-items:center;}
.hero-axes li::before{content:"";width:4px;height:4px;background:var(--dorado);}

/* Páginas interiores: títulos editoriales, no otra portada a pantalla completa. */
.hero-int,.hero-claro,.hero-doc{min-height:0;margin-top:88px;padding:44px 0 48px;background:#f3f6f3;color:var(--tinta);border-bottom:1px solid var(--linea);}
.hero-int .wrap,.hero-claro .wrap{position:relative;}
.hero-int h1,.hero-claro h1,.hero-doc h1{font-size:48px;color:var(--bosque);line-height:1.14;max-width:28ch;margin:0 0 20px;text-shadow:none;}
.hero-int p.entrada,.hero-int p.entrada.segunda,.hero-claro .entradilla,.hero-doc .entrada{font-size:17px;line-height:1.75;color:var(--tinta-suave);max-width:80ch;text-shadow:none;margin-bottom:22px;}
.hero-int .btn-linea{color:var(--bosque);border-color:var(--linea-fuerte);}
.hero-int .btn-linea:hover{background:#fff;color:var(--bosque);}
.hero-int .btn-oro{background:var(--bosque);color:#fff;}
.hero-int .btn-oro:hover{background:#285742;}
.hero-int .etiqueta,.hero-claro .etiqueta{color:var(--terracota);}
.etiqueta{border:none;background:none;border-radius:0;padding:0;font-size:12px;margin:0 0 12px;}
.miga,.miga a,.miga.oscura,.miga.oscura a{font-size:12px;color:var(--tinta-tenue);margin-bottom:22px;border:0;}
.miga a{margin:0;text-decoration:underline;text-underline-offset:4px;}
.miga span[aria-current]{color:var(--hoja);}
.frase-hero{font-family:var(--sans);font-style:normal;font-size:13px;color:var(--tinta-tenue);margin-top:20px;}
.hc-grid{display:block;}
.nota-hero{font-size:13px;color:var(--tinta-tenue);margin:20px 0 0;}
.sellos{display:flex;flex-wrap:wrap;gap:20px;margin:22px 0 0;padding:0;list-style:none;}
.sellos li{border:0;background:none;color:var(--hoja);font-size:12px;padding:0;}

/* Ritmo de lectura y bloques de contenido */
section.bloque{padding:72px 0;}
section.suave{background:#f3f6f3;}
section.oscuro{background:var(--bosque);}
.encabezado{max-width:80ch;margin-bottom:38px;}
h2.titulo{font-size:38px;line-height:1.18;max-width:30ch;margin:0 0 20px;}
h3.sub{font-size:26px;}
.eyebrow{font-size:11px;font-weight:750;color:var(--terracota);gap:12px;margin-bottom:14px;}
.eyebrow::before{width:22px;background:currentColor;height:1px;}
.entradilla{font-size:17px;line-height:1.8;margin-bottom:18px;}
.subtitulo-serif{font-family:var(--sans);font-size:18px;line-height:1.65;color:var(--sobre-verde-2);max-width:65ch;}
.dos{gap:48px;}
.tres,.pilares,.perfiles{gap:32px;}
.pilar,.perfil,.perfil.compacto,.ruta-card,.sost-item{background:none;border:none;border-top:1px solid var(--linea);border-radius:0;padding:24px 0 0;box-shadow:none;}
.pilar:hover,.perfil:hover,.ruta-card:hover{transform:none;box-shadow:none;}
.pilar .ico,.pf-ico{width:30px;height:30px;margin-bottom:18px;}
.pilar h3,.perfil h3,.perfil.compacto h3,.ruta-card h3{font-size:22px;line-height:1.3;margin-bottom:12px;}
.pilar p,.perfil p,.ruta-card p{font-size:15px;line-height:1.75;}
.pilar > a{display:inline-block;margin-top:18px;font-size:14px;font-weight:700;text-decoration:underline;text-underline-offset:5px;color:var(--hoja);}
.leyenda-datos{font-size:12px;line-height:1.75;border-left-width:2px;margin-top:26px;max-width:90ch;}
.escenas{gap:32px;}
.escenas-intro{margin-bottom:26px;}
.escenas-intro h3{font-size:24px;margin:0;}
figure.foto.vertical{border-top:1px solid var(--linea);padding-top:24px;}
.figure-number{font-family:var(--serif);font-size:44px;line-height:1;color:var(--terracota);display:block;margin-bottom:20px;}
figure.foto figcaption{padding:0;gap:9px;}
figure.foto .pie-s{font-size:11px;color:var(--hoja);}
figure.foto .pie-t{font-size:23px;line-height:1.3;}
figure.foto .pie-x{font-size:15px;line-height:1.75;margin:0;}
.cta-quienes{margin-top:30px;}
.editorial-image{width:100%;height:auto;aspect-ratio:2.6;object-fit:cover;border-radius:0;}
.foto.panoramica figcaption{max-width:78ch;padding-top:20px;}
.banda-col{display:flex;flex-direction:column;gap:26px;margin-bottom:30px;}
.banda-txt{position:static;transform:none;width:auto;padding:0;order:-1;}
.banda-txt .titulo{font-size:38px;}
.frase-ancha,.frase-red{font-size:25px;line-height:1.45;max-width:50ch;margin-top:32px;}
.territory-list{padding:28px;background:#e8efea;}
.territory-list ul{list-style:none;margin:18px 0;padding:0;}
.territory-list li{padding:18px 0;border-bottom:1px solid #c5d4c9;font-family:var(--serif);font-size:30px;display:flex;align-items:center;gap:24px;}
.territory-list li span{font-family:var(--sans);font-size:12px;color:var(--hoja);}
.tarjetas-terr{display:grid;gap:24px;}
.camino{gap:12px;}
.camino li{border-radius:4px;padding:22px 14px;}
.camino h3{font-family:var(--sans);font-size:14px;}
.camino p{font-size:13px;line-height:1.7;}
.sost{gap:28px;}
.sost-item{padding:20px 0;}
.sost-item span{font-size:15px;}
.declara{background:none;border-radius:0;border-top:1px solid var(--linea);padding:24px 0;color:var(--bosque);}
.declara p{font-family:var(--sans);font-size:17px;}
.declara svg{color:var(--hoja);}
.recurso{border:1px solid var(--linea);border-radius:6px;padding:28px;box-shadow:none;}
.recurso:hover{transform:none;background:#fff;border-color:var(--hoja);box-shadow:none;}
.recurso h3{font-size:23px;}
.recurso .ico{width:30px;height:30px;}
.recurso p{font-size:15px;}
.recurso .ir{font-size:13px;}
section.final{text-align:left;}
.final .final-caja{max-width:100%;}
.final .encabezado,.final h2,.final .entradilla{margin-left:0;margin-right:0;}
.final .entradilla{max-width:75ch;}
.final .acciones{justify-content:flex-start;margin-top:26px;}

/* El SGMP se explora con pestañas, con tamaño estable y controles de teclado. */
.flujo-intro{display:block;margin-bottom:28px;}
.ruta-etapas{border:0;background:transparent;padding:0;overflow:visible;margin-bottom:0;}
#re-nodos{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:0;border-bottom:1px solid var(--linea-fuerte);}
.re-nodo{appearance:none;border:0;border-bottom:3px solid transparent;background:transparent;padding:18px 10px;min-height:110px;font:inherit;color:var(--tinta-suave);text-align:left;cursor:pointer;}
.step-index{display:block;font-size:12px;color:var(--terracota);margin-bottom:10px;}
.step-title{display:block;font-size:13px;line-height:1.5;font-weight:650;}
.re-nodo[aria-selected="true"]{border-bottom-color:var(--hoja);background:#e6eee7;color:var(--bosque);}
.re-nodo:hover{background:#eaf0eb;}
.etapa-ficha{padding:28px 0;background:transparent;border:0;border-radius:0;min-height:200px;}
.etapa-ficha h3{font-size:28px;}
.etapa-ficha .k{font-family:var(--sans);font-size:11px;}
.etapa-ficha p{font-size:16px;max-width:90ch;}
.etapas-lista li{border:0;border-top:1px solid var(--linea);border-radius:0;padding:20px 0;background:none;}
.etapas-lista .n{border-radius:4px;background:var(--bosque);color:white;}
.comp{border-radius:4px;}
.comp-et{font-size:12px;}
.comp li{font-size:15px;}
.proceso .pasos{gap:28px;}
.pasos h3{font-size:21px;}
.pasos p{font-size:15px;}
.proceso-riel{display:none;}
.cta-linea{background:none;border:0;border-top:1px solid var(--linea);border-radius:0;padding:24px 0;margin-top:32px;justify-content:space-between;}
.cta-linea p{font-family:var(--sans);font-size:16px;}
.red-mov{gap:12px;}
.red-mov li{border-radius:4px;font-size:14px;}

/* Formularios legibles en un único registro, incluso en secciones oscuras. */
.form,.form-claro{background:#fff;border:1px solid var(--linea);border-radius:6px;padding:32px;color:var(--tinta);box-shadow:none;}
.form-tit{font-size:25px;color:var(--bosque);}
.campos{gap:18px;}
.form .campo label,.form-claro .campo label{font-size:12px;color:var(--tinta);text-transform:none;letter-spacing:0;}
.form .campo input,.form .campo select,.form .campo textarea,.form-claro .campo input,.form-claro .campo select,.form-claro .campo textarea{
  background:#fff;color:var(--tinta);border:1px solid #b9c8bd;border-radius:4px;padding:12px 13px;font-size:16px;box-shadow:none;
}
.form .campo input:focus,.form .campo select:focus,.form .campo textarea:focus,.form-claro .campo input:focus,.form-claro .campo select:focus,.form-claro .campo textarea:focus{border-color:var(--hoja);outline:2px solid #d4e4d8;outline-offset:1px;}
.form .casilla,.form-claro .casilla{color:var(--tinta-suave);font-size:13px;line-height:1.7;text-transform:none;font-weight:400;}
.form .casilla input,.form-claro .casilla input{accent-color:var(--hoja);width:20px;height:20px;flex-shrink:0;}
.form .casilla a,.form .privacidad a,.form .confianza a,.form-claro a.priv{color:var(--hoja);text-decoration:underline;}
.form .req,.form-claro .req{color:#9c3e28;}
.form .error,.form-claro .error{color:#a32f20;font-size:12px;}
.form .enviar,.form-claro .enviar{background:var(--bosque);color:#fff;font-size:15px;min-height:50px;padding:14px 20px;}
.confianza,.confianza-clara,.privacidad{color:var(--tinta-tenue);font-size:12px;font-weight:400;line-height:1.7;}
.form .exito,.exito-claro{background:#eaf3eb;color:var(--bosque);border:1px solid #bbd2c1;border-radius:4px;font-size:14px;}
.rutas-grid{gap:28px;}
.rutas-grid .ruta{background:none;border:0;border-top:1px solid var(--linea);border-radius:0;padding:24px 0;box-shadow:none;margin-top:0;}
.rutas-grid .ruta:hover{transform:none;box-shadow:none;}
.rutas-grid .ruta h3{font-size:22px;}
.rutas-grid .ruta p{font-size:15px;}
.rutas-grid .ruta .btn{align-self:flex-start;}
.mapa-caja{background:transparent;border:0;border-left:1px solid var(--linea);border-radius:0;}
.mapa-pie{padding:0 0 0 28px;border:0;}
.ficha-contacto .fc-val{font-size:18px;color:var(--bosque);}
.acordeon{gap:0;}
.acordeon details{background:none;border:0;border-top:1px solid var(--linea);border-radius:0;}
.acordeon details:last-child{border-bottom:1px solid var(--linea);}
.acordeon summary{font-family:var(--sans);font-size:16px;line-height:1.5;padding:22px 0;gap:20px;}
.acordeon .resp{padding:0 32px 24px 0;}
.acordeon .resp p{font-size:15px;}

/* Recursos: categorías compactas y referencias fáciles de comparar. */
.temas{gap:20px;}
.tarjeta-portada{background:none;border:0;border-top:1px solid var(--linea);border-radius:0;box-shadow:none;}
.tp-cuerpo{padding:22px 0;gap:8px;}
.tp-cat{display:none;}
.tp-tit{font-size:22px;}
.tp-res{font-size:14px;line-height:1.75;}
.tp-accion{font-size:13px;margin-top:10px;}
.tarjeta-portada:hover,.tarjeta-portada:focus-visible{transform:none;box-shadow:none;}
.tarjeta-portada[aria-pressed="true"]{border-top:3px solid var(--hoja);}
.buscador{border-radius:4px;background:#fff;max-width:620px;}
.buscador input{font-size:16px;min-height:50px;padding:12px 0;}
.chip{min-height:38px;padding:8px 14px;border-width:1px;font-size:12px;}
.filtros-movil{border-radius:4px;}
.rec{background:#fff;border-radius:4px;padding:24px;}
.rec:hover{transform:none;box-shadow:none;}
.rec-ico{border-radius:4px;width:44px;height:44px;}
.rec h3{font-size:21px;}
.rec .extracto{font-size:14px;}
.rec .accion .btn{font-size:12px;padding:12px 16px;}
.cat,.fecha{background:none;border:0;border-radius:0;padding:0;font-size:11px;}
.rec-meta{gap:12px;}
.tag{font-size:11px;color:var(--tinta-tenue);}
.tag::before{content:"";}
.noti{border-radius:6px;}
.noti-img{min-height:0;padding:22px 24px 0;line-height:1.4;}
.noti-cat{position:static;padding:0;background:none;color:var(--verde-claro);font-size:11px;}
.noti-cuerpo{padding:16px 24px 28px;}
.noti h3{font-size:25px;}
.vacio{background:transparent;border:1px solid var(--linea);border-radius:4px;padding:32px;}
.vacio > svg{display:none;}
.vacio h3{font-size:22px;}
.vacio p{font-size:15px;}
.susc{display:block;}
.susc-form{max-width:760px;}
.visual-credits{border-top:1px solid var(--linea);}
.visual-credits h2{font-size:20px;margin-bottom:12px;}
.visual-credits p{font-size:13px;color:var(--tinta-tenue);max-width:90ch;}
.doc{max-width:880px;}
.doc h2{font-size:27px;}
.doc p,.doc li{font-size:16px;}
.doc .resumen{border-radius:4px;background:var(--crema-alta);}
.tabla-datos{font-size:14px;}

footer{background:#202c26;padding:56px 0 24px;}
.f-grid{grid-template-columns:1.5fr 1fr 1fr 1fr;gap:40px;}
footer h4{font-family:var(--sans);font-size:12px;color:#d6e1d8;margin-bottom:20px;}
footer a,footer .lema{font-size:13px;line-height:1.8;color:#c2cdc5;}
footer .marca-pie .txt{font-size:28px;}
.f-legal{font-size:11px;gap:16px;}
.f-links{flex-wrap:wrap;gap:16px;}
.f-links a{font-size:11px;}

@media(min-width:861px){
  .etapas-lista.solo-mov{display:none;}
}
@media(max-width:1080px){
  :root{--gut:32px;}
  header .bar{min-height:80px;padding:14px var(--gut);}
  nav.principal.abierta{background:white;border-color:var(--linea);box-shadow:0 18px 30px -26px #1c3928;max-height:calc(100svh - 80px);}
  nav.principal.abierta a{font-size:16px;padding:13px 0;}
  .hero,.hero-int,.hero-claro,.hero-doc{margin-top:80px;}
  .hero{height:auto;min-height:610px;}
  .hero h1{font-size:72px;}
  .hero p.entrada{max-width:44ch;font-size:18px;}
  .hero .velo{background:linear-gradient(90deg,rgba(13,32,23,.78),rgba(13,32,23,.32) 70%,rgba(13,32,23,.08));}
  .hero-int h1,.hero-claro h1,.hero-doc h1{font-size:42px;}
  h2.titulo,.banda-txt .titulo{font-size:34px;}
  #valor .pilares{gap:28px;}
  .dos{gap:32px;}
  .f-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:36px;}
}
@media(max-width:600px){
  :root{--gut:22px;}
  header .bar{min-height:74px;padding:12px var(--gut);}
  .logo img{width:46px;height:36px;}
  .brand-name{font-size:23px;}
  .brand-name small{font-size:9px;}
  .logo{gap:8px;}
  html{scroll-padding-top:90px;}
  .hero,.hero-int,.hero-claro,.hero-doc{margin-top:74px;}
  .hero{min-height:0;height:auto;padding:180px 0 30px;}
  .hero .escena img{height:360px;object-position:90% center;object-fit:cover;}
  .hero .velo{background:linear-gradient(180deg,rgba(16,35,25,.04) 0%,rgba(16,35,25,.35) 21%,rgba(16,35,25,.94) 43%,#172f23 100%);}
  .hero .kicker{font-size:11px;margin-bottom:10px;}
  .hero h1{font-size:54px;margin-bottom:16px;}
  .hero p.entrada{font-size:16px;line-height:1.65;max-width:100%;margin-bottom:24px;}
  .hero .acciones{display:grid;grid-template-columns:1fr;gap:10px;}
  .hero-axes{font-size:10px;gap:16px;margin-top:24px;padding-top:18px;}
  .hero-axes li{gap:6px;}
  .btn,.btn.grande{padding:13px 18px;min-height:48px;font-size:13px;}
  .hero-int,.hero-claro,.hero-doc{padding:28px 0 36px;}
  .hero-int h1,.hero-claro h1,.hero-doc h1{font-size:34px;margin-bottom:16px;}
  .hero-int p.entrada,.hero-int p.entrada.segunda,.hero-claro .entradilla,.hero-doc .entrada{font-size:15px;line-height:1.75;}
  .miga{font-size:11px;flex-wrap:wrap;gap:7px;margin-bottom:20px;}
  .etiqueta{font-size:10px;}
  section.bloque{padding:44px 0;}
  h2.titulo,.banda-txt .titulo{font-size:29px;line-height:1.2;max-width:100%;}
  .entradilla{font-size:15px;line-height:1.8;}
  .encabezado{margin-bottom:28px;}
  .eyebrow{font-size:10px;}
  .escenas,.tres,.pilares,.perfiles{gap:24px;}
  .figure-number{font-size:36px;margin-bottom:14px;}
  figure.foto .pie-t,.pilar h3,.perfil h3,.ruta-card h3{font-size:22px;}
  figure.foto .pie-x,.pilar p,.perfil p{font-size:14px;line-height:1.8;}
  .editorial-image{aspect-ratio:1.5;}
  .territory-list{padding:22px;}
  .territory-list li{font-size:26px;}
  .recurso{padding:24px;}
  .form,.form-claro{padding:22px;}
  .campos{gap:16px;}
  .form .casilla,.form-claro .casilla{font-size:12px;}
  .mapa-caja{border:0;}
  .mapa-pie{padding:0;}
  .rec{padding:20px;gap:12px;}
  .rec h3{font-size:20px;}
  .rec .extracto{font-size:14px;}
  .rec-meta{gap:10px;}
  .vacio{padding:24px 18px;}
  .frase-red,.frase-ancha{font-size:23px;padding-left:18px;}
  .susc-form .form-claro{padding:20px;}
  .f-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:30px 20px;}
  .f-grid>div:first-child,.f-grid>div:last-child{grid-column:1/-1;}
  .f-legal{display:flex;flex-direction:column;align-items:flex-start;}
  .f-links{display:flex;flex-wrap:wrap;}
}
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important;}
}
