:root{
  --papel:#f4f1e8;--papel-hondo:#ebe6d8;--tinta:#182417;--verde:#14382a;
  --verde-fondo:#14382a;--sobre-verde:#f4f1e8;--verde-vivo:#1f6b45;
  --sobre-verde-vivo:#f4f1e8;--gris:#5c6b60;--linea:#d8d2bf;
  --tarjeta:#fffdf7;--acento:#a34b19;--sobre-acento:#fffdf7;--lima:#c8e06a;
  --sombra:0 1px 2px rgba(15,20,15,.06),0 10px 26px rgba(15,20,15,.07);
  --radio:16px;--serif:Georgia,"Times New Roman",serif;
  --sans:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;
}
@media(prefers-color-scheme:dark){:root:not([data-theme="light"]){
  --papel:#10160f;--papel-hondo:#0a0f0a;--tinta:#eae6d8;--verde:#8fd6ac;
  --verde-fondo:#122a1f;--sobre-verde:#eae6d8;--verde-vivo:#7fe0a8;
  --sobre-verde-vivo:#08140d;--gris:#a3ad9f;--linea:#2c352a;
  --tarjeta:#161d15;--acento:#f2a46f;--sobre-acento:#10160f;--lima:#c8e06a;
  --sombra:0 1px 2px rgba(0,0,0,.4),0 10px 26px rgba(0,0,0,.4);
}}
:root[data-theme="dark"]{
  --papel:#10160f;--papel-hondo:#0a0f0a;--tinta:#eae6d8;--verde:#8fd6ac;
  --verde-fondo:#122a1f;--sobre-verde:#eae6d8;--verde-vivo:#7fe0a8;
  --sobre-verde-vivo:#08140d;--gris:#a3ad9f;--linea:#2c352a;
  --tarjeta:#161d15;--acento:#f2a46f;--sobre-acento:#10160f;--lima:#c8e06a;
  --sombra:0 1px 2px rgba(0,0,0,.4),0 10px 26px rgba(0,0,0,.4);
}
*{box-sizing:border-box}html{scroll-behavior:smooth}
body{margin:0;background:var(--papel);color:var(--tinta);font:400 16.5px/1.58 var(--sans);-webkit-text-size-adjust:100%}
button,a{font:inherit}a{color:inherit}img{max-width:100%}.shell{width:min(1120px,calc(100% - 40px));margin-inline:auto}
.saltar{position:absolute;left:-9999px;top:0;background:var(--verde-vivo);color:var(--sobre-verde-vivo);padding:10px 16px;z-index:200}.saltar:focus{left:0}
:focus-visible{outline:3px solid var(--verde-vivo);outline-offset:3px}[hidden]{display:none!important}

.cabecera{position:sticky;top:0;z-index:50;background:color-mix(in srgb,var(--papel) 94%,transparent);backdrop-filter:blur(12px);border-bottom:1px solid var(--linea)}
.cabecera-fila{min-height:74px;display:flex;align-items:center;gap:22px}.marca{display:flex;align-items:center;gap:10px;text-decoration:none;white-space:nowrap}
.marca img{width:38px;height:38px;object-fit:contain}.marca strong{display:block;font:700 18px/1.1 var(--serif);color:var(--verde)}
.marca small{display:block;margin-top:3px;color:var(--gris);font:650 9.5px/1.2 var(--sans);letter-spacing:.1em;text-transform:uppercase}
.navegacion{margin-left:auto;min-width:0}.pestanas{display:flex;align-items:center;gap:5px}
.pestanas button,.tema{border:1px solid transparent;background:transparent;color:var(--gris);border-radius:999px;padding:9px 14px;font-weight:650;font-size:14px;cursor:pointer;white-space:nowrap}
.pestanas button:hover{color:var(--tinta);background:var(--papel-hondo)}.pestanas button[aria-selected="true"]{background:var(--verde-fondo);color:var(--sobre-verde);border-color:var(--verde-fondo)}
.herramientas{display:flex;align-items:center;gap:8px}.etapa{border:1px solid var(--linea);border-radius:999px;padding:6px 10px;color:var(--gris);font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}
.tema{border-color:var(--linea);background:var(--tarjeta);color:var(--tinta);padding:8px 11px;font-size:12px}

.panel{padding:54px 0 70px;min-height:620px}.portada{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(260px,.75fr);gap:54px;align-items:center;padding:24px 0 58px;border-bottom:1px solid var(--linea)}
.portada-texto{max-width:730px}.portada h1,.cabecera-panel h1{font:700 clamp(38px,6vw,64px)/1.02 var(--serif);letter-spacing:-.035em;color:var(--verde);margin:8px 0 20px;text-wrap:balance}
.portada-arte{width:min(100%,390px);aspect-ratio:1;object-fit:contain;justify-self:end;filter:drop-shadow(0 22px 28px rgba(16,43,33,.18))}
.eyebrow{margin:0 0 10px;color:var(--verde-vivo);font-size:11px;font-weight:800;letter-spacing:.14em;text-transform:uppercase}
.definicion{max-width:680px;font-size:clamp(18px,2.5vw,22px);line-height:1.45;margin:0 0 20px}.frase{max-width:690px;color:var(--gris);font:17px/1.5 var(--serif);margin:0 0 20px}
.semillas{display:inline-flex;gap:8px;align-items:center;margin:0;background:var(--papel-hondo);border-radius:999px;padding:8px 14px;font-size:13px;color:var(--gris)}.semillas b{color:var(--tinta)}
.portada-acciones{display:flex;flex-wrap:wrap;gap:10px;margin:18px 0 0}
.intro,.cabecera-panel{max-width:790px;margin:54px 0 28px}.intro h2,.titulo-bloque h2,.documentacion h2{font:700 clamp(28px,4vw,38px)/1.12 var(--serif);letter-spacing:-.025em;color:var(--verde);margin:0 0 12px}
.intro p,.cabecera-panel>p:not(.eyebrow),.titulo-bloque>p:not(.eyebrow){font-size:18px;color:var(--gris);margin:0;max-width:760px}.cabecera-panel{margin-top:0}.cabecera-panel h1{font-size:clamp(36px,5.5vw,58px)}
.intro p+p{margin-top:12px}.intro .cifras-proyecto{margin-top:18px;padding:14px 16px;border-left:4px solid var(--verde-vivo);border-radius:0 12px 12px 0;background:var(--papel-hondo);color:var(--tinta);font-size:15px}.cifras-proyecto strong{color:var(--verde)}
.cabecera-panel .objetivo{margin-top:16px!important;color:var(--tinta)!important}

.comparacion{display:grid;grid-template-columns:1fr 1fr;gap:16px}.comparacion-carta{background:var(--tarjeta);border:1px solid var(--linea);border-radius:var(--radio);padding:24px;box-shadow:var(--sombra)}
.comparacion-carta.destacada{background:var(--verde-fondo);color:var(--sobre-verde);border-color:var(--verde-fondo)}.comparacion-carta.destacada .eyebrow{color:var(--lima)}
.comparacion-carta h3{font:700 23px/1.2 var(--serif);margin:0 0 12px}.comparacion-carta p{margin:0}.dato{border-top:1px solid var(--linea);margin-top:18px!important;padding-top:14px;color:var(--gris);font-size:13px}

.bloque-mapa{padding-top:64px}.titulo-bloque{margin-bottom:24px}.mapa-con-detalle{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(290px,.65fr);gap:20px;align-items:stretch}
.mapa-radial{position:relative;min-height:430px;background:var(--papel-hondo);border:1px solid var(--linea);border-radius:22px;padding:28px;display:grid;grid-template:repeat(3,1fr)/repeat(3,1fr);gap:18px;align-items:center;justify-items:center;overflow:hidden}
.mapa-radial::before,.mapa-radial::after{content:"";position:absolute;background:var(--linea);z-index:0}.mapa-radial::before{width:58%;height:1px;left:21%;top:50%}.mapa-radial::after{height:58%;width:1px;top:21%;left:50%}
.nucleo,.nodo{position:relative;z-index:1}.nucleo{grid-area:2/2;background:var(--verde-fondo);color:var(--sobre-verde);width:148px;height:148px;border-radius:50%;display:grid;place-content:center;text-align:center;box-shadow:var(--sombra)}
.nucleo strong{font:700 21px/1.1 var(--serif)}.nucleo span{color:var(--lima);font-size:11px;margin-top:7px;text-transform:uppercase;letter-spacing:.08em}
.nodo{border:1px solid var(--linea);background:var(--tarjeta);color:var(--tinta);border-radius:999px;padding:11px 16px;font-weight:700;font-size:13px;cursor:pointer;box-shadow:var(--sombra)}
.nodo:hover,.nodo[aria-pressed="true"]{border-color:var(--verde-vivo);background:var(--verde-vivo);color:var(--sobre-verde-vivo)}
.n1{grid-area:1/2}.n2{grid-area:2/3}.n3{grid-area:3/2}.n4{grid-area:2/1}.n5{grid-area:1/3}.n6{grid-area:3/1}
.detalle{background:var(--tarjeta);border:1px solid var(--linea);border-radius:22px;padding:28px;box-shadow:var(--sombra);display:flex;flex-direction:column;justify-content:center}
.detalle h3{font:700 25px/1.18 var(--serif);color:var(--verde);margin:0 0 12px}.detalle p:not(.eyebrow){margin:0;color:var(--gris)}.detalle a{margin-top:18px;color:var(--verde-vivo);font-weight:700;text-decoration:none}.detalle a:hover{text-decoration:underline}

.flujo{display:flex;align-items:stretch;gap:0;overflow-x:auto;padding:8px 2px 18px}.flujo button{position:relative;min-width:145px;flex:1;border:1px solid var(--linea);background:var(--tarjeta);color:var(--tinta);padding:16px 24px 16px 16px;font-weight:700;cursor:pointer}
.flujo button:first-child{border-radius:12px 0 0 12px}.flujo button:last-child{border-radius:0 12px 12px 0}.flujo button+button{border-left:0}.flujo button:not(:last-child)::after{content:"›";position:absolute;right:7px;color:var(--verde-vivo);font-size:22px;top:50%;translate:0 -52%;z-index:2}
.flujo button:hover,.flujo button[aria-pressed="true"]{background:var(--verde-fondo);color:var(--sobre-verde)}.detalle-horizontal{min-height:190px;margin-top:4px}
.ejemplo{margin:22px 0;background:var(--papel-hondo);border-radius:var(--radio);padding:20px 22px}.ejemplo p{margin:0}.acciones{display:flex;gap:10px;flex-wrap:wrap}
.btn{display:inline-block;text-decoration:none;border:1px solid var(--linea);border-radius:999px;padding:10px 16px;background:var(--tarjeta);font-weight:700;font-size:14px}.btn:hover{border-color:var(--verde-vivo)}.btn.principal{background:var(--verde-vivo);color:var(--sobre-verde-vivo);border-color:var(--verde-vivo)}

.mt-lista{display:grid;gap:10px}.mt-lista button{display:grid;grid-template-columns:150px 180px 1fr;align-items:center;gap:18px;text-align:left;border:1px solid var(--linea);background:var(--tarjeta);color:var(--tinta);border-radius:14px;padding:17px 20px;cursor:pointer}
.mt-lista button:hover,.mt-lista button[aria-pressed="true"]{border-color:var(--verde-vivo);background:color-mix(in srgb,var(--verde-vivo) 7%,var(--tarjeta))}.mt-lista span{color:var(--verde-vivo);font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.1em}
.mt-lista b{font-family:var(--serif);font-size:18px}.mt-lista small{color:var(--gris);font-size:14px}.regla-mt,.estado-verse{margin:22px 0 0;border-left:3px solid var(--verde-vivo);padding:12px 16px;background:var(--papel-hondo);font-weight:650}.mapa-verse .nucleo{width:156px;height:156px}
.mapa-verse .nodo-civica{border:2px solid var(--verde-fondo);background:var(--verde-fondo);color:var(--sobre-verde);box-shadow:0 0 0 4px color-mix(in srgb,var(--verde-vivo) 18%,transparent),var(--sombra);font-weight:800}
.mapa-verse .nodo-civica:hover,.mapa-verse .nodo-civica[aria-pressed="true"]{background:var(--verde-vivo);color:var(--sobre-verde-vivo);border-color:var(--verde-vivo)}

.documentacion{border-top:1px solid var(--linea);padding:32px 0 54px;display:flex;align-items:center;justify-content:space-between;gap:28px}.documentacion h2{font-size:26px;margin:0}.documentacion nav{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}
.documentacion a,.pie a{text-decoration:none;color:var(--gris)}.documentacion a{border:1px solid var(--linea);border-radius:999px;padding:8px 13px;font-size:13px;font-weight:700;background:var(--tarjeta)}.documentacion a:hover,.pie a:hover{color:var(--verde-vivo);border-color:var(--verde-vivo)}
.recorrido-adopcion{padding:8px 0 44px}.recorrido-adopcion .titulo-bloque{max-width:760px}.recorrido-adopcion ol{list-style:none;margin:22px 0 0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;counter-reset:capa}.recorrido-adopcion li{counter-increment:capa;display:flex;flex-direction:column;gap:8px;min-height:190px;background:var(--tarjeta);border:1px solid var(--linea);border-top:5px solid var(--verde-vivo);border-radius:var(--radio);padding:18px}.recorrido-adopcion li::before{content:"0" counter(capa);color:var(--acento);font-weight:800;font-size:13px}.recorrido-adopcion b{color:var(--verde);font:700 20px/1.2 var(--serif)}.recorrido-adopcion span{color:var(--gris);font-size:14px;line-height:1.5}.recorrido-adopcion a{margin-top:auto;color:var(--verde-vivo);font-weight:800;text-decoration:none}.recorrido-adopcion a:hover{text-decoration:underline}
.video-demostrativo{margin:24px 0 12px;display:grid;grid-template-columns:minmax(0,2fr) minmax(220px,.75fr);background:var(--tarjeta);border:1px solid var(--linea);border-radius:var(--radio);overflow:hidden;box-shadow:var(--sombra)}.video-demostrativo video{display:block;width:100%;aspect-ratio:16/9;background:var(--verde-fondo);color:var(--sobre-verde)}.video-demostrativo figcaption{display:flex;flex-direction:column;gap:10px;justify-content:center;padding:22px}.video-demostrativo figcaption b{color:var(--verde);font:700 24px/1.2 var(--serif)}.video-demostrativo figcaption span{color:var(--gris);font-size:14px;line-height:1.5}.video-demostrativo figcaption a{color:var(--verde-vivo);font-weight:800;text-decoration:none}.video-demostrativo figcaption a:hover{text-decoration:underline}
.pie{border-top:1px solid var(--linea);background:var(--papel-hondo);padding:28px 0;color:var(--gris);font-size:13px}.pie-fila{display:flex;justify-content:space-between;gap:20px;align-items:center}.pie p{margin:0}.pie strong{color:var(--tinta)}.pie nav{display:flex;gap:16px;flex-wrap:wrap}

@media(max-width:920px){.cabecera-fila{gap:12px}.etapa{display:none}.navegacion{overflow-x:auto}.pestanas{width:max-content}.portada{grid-template-columns:1fr 240px;gap:30px}.mapa-con-detalle{grid-template-columns:1fr}.detalle{min-height:210px}.mt-lista button{grid-template-columns:120px 160px 1fr}}
@media(max-width:700px){.shell{width:min(100% - 28px,1120px)}.cabecera-fila{min-height:64px;flex-wrap:wrap;padding:8px 0}.marca small{display:none}.navegacion{order:3;width:100%;margin:0}.pestanas button{padding:8px 12px}.herramientas{margin-left:auto}.panel{padding:36px 0 54px}.portada{grid-template-columns:1fr;padding:6px 0 42px}.portada-arte{grid-row:1;max-width:210px;justify-self:center}.portada h1,.cabecera-panel h1{font-size:38px}.comparacion,.recorrido-adopcion ol,.video-demostrativo{grid-template-columns:1fr}.video-demostrativo figcaption{padding:18px}.recorrido-adopcion li{min-height:0}.mapa-radial{min-height:400px;padding:18px;gap:10px}.nucleo{width:120px;height:120px}.mapa-verse .nucleo{width:126px;height:126px}.nodo{padding:9px 11px;font-size:11px}.mt-lista button{grid-template-columns:1fr;gap:4px}.documentacion,.pie-fila{align-items:flex-start;flex-direction:column}.documentacion nav{justify-content:flex-start}}
@media(max-width:430px){.mapa-radial{min-height:360px}.nucleo{width:104px;height:104px}.nucleo strong{font-size:17px}.nodo{padding:8px 9px;font-size:10px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

.modal-bienvenida{position:fixed;inset:0;z-index:300;display:flex;align-items:center;justify-content:center;padding:20px}
.modal-bienvenida[hidden]{display:none!important}
.modal-bienvenida-fondo{position:absolute;inset:0;background:rgba(8,12,8,.6);backdrop-filter:blur(2px)}
.modal-bienvenida-caja{position:relative;z-index:1;width:100%;max-width:560px;max-height:calc(100vh - 40px);overflow-y:auto;background:var(--tarjeta);color:var(--tinta);border:1px solid var(--linea);border-radius:var(--radio);padding:34px 30px 28px;box-shadow:var(--sombra)}
.modal-bienvenida-caja h2{font:700 clamp(24px,4vw,32px)/1.2 var(--serif);color:var(--verde);letter-spacing:-.02em;margin:4px 0 18px;text-wrap:balance}
.modal-bienvenida-caja p{margin:0 0 14px;font-size:16px;line-height:1.55;color:var(--tinta)}
.modal-bienvenida-caja p:last-child{margin-bottom:0}
.modal-bienvenida-cerrar{position:absolute;top:14px;right:14px;width:34px;height:34px;border-radius:50%;border:1px solid var(--linea);background:transparent;color:var(--gris);font:700 18px/1 var(--sans);cursor:pointer}
.modal-bienvenida-cerrar:hover{color:var(--tinta);border-color:var(--verde-vivo)}
.modal-bienvenida-acciones{margin-top:24px;display:flex;justify-content:flex-end}
.control-bienvenida{border:1px solid var(--linea);border-radius:999px;background:var(--tarjeta);color:var(--tinta);padding:8px 14px;font-size:12px;font-weight:650;cursor:pointer}
.control-bienvenida:hover{border-color:var(--verde-vivo);color:var(--verde-vivo)}
.control-bienvenida.idioma{display:inline-flex;align-items:center;text-decoration:none}
body.bienvenida-bloqueada{overflow:hidden}
/* Conmutadores bicolores de idioma y tema. Segmentados: ambas opciones quedan
   siempre visibles y la activa se rellena. Se conserva texto (ES/EN, Claro/
   Oscuro) en vez de iconos para que auditar-contraste.html siga midiendo su
   contraste y para que un lector de pantalla anuncie el estado sin depender
   del color. El par --verde-vivo / --sobre-verde-vivo ya está diseñado con
   contraste suficiente en ambos temas. */
.conmutador{display:inline-flex;align-items:center;gap:2px;padding:3px;margin:0;border:1px solid var(--linea);border-radius:999px;background:var(--papel-hondo);font:inherit;line-height:1;cursor:pointer}
/* Sin transición de color ni de fondo, a propósito: auditar-contraste.html
   cambia data-theme y mide en el mismo cuadro, así que cualquier propiedad en
   transición devolvería a getComputedStyle el valor viejo a medio interpolar y
   el contraste saldría medido contra el tema anterior (falso fallo de 1.86).
   El cambio instantáneo además responde mejor al clic. */
.conmutador-opcion{display:inline-flex;align-items:center;justify-content:center;min-width:36px;padding:5px 10px;border-radius:999px;font-size:12px;font-weight:700;letter-spacing:.02em;color:var(--gris);text-decoration:none;white-space:nowrap}
.conmutador-opcion.activa{background:var(--verde-vivo);color:var(--sobre-verde-vivo)}
.conmutador-opcion:not(.activa):hover{color:var(--tinta)}
.conmutador:focus-visible{outline:2px solid var(--verde-vivo);outline-offset:2px}
.conmutador-opcion:focus-visible{outline:2px solid var(--verde-vivo);outline-offset:2px}
@media(max-width:700px){.modal-bienvenida{padding:12px}.modal-bienvenida-caja{padding:28px 20px 22px}}
@media(prefers-reduced-motion:reduce){.modal-bienvenida-fondo{backdrop-filter:none}}
