/* GO PASTO+RES. Hoja de estilos principal */

/* ---------- Tipografía (Poppins, licencia OFL, alojada en la web) ---------- */
@font-face { font-family: "Poppins"; font-style: normal; font-weight: 400; font-display: swap; src: url("../fonts/poppins-latin-400-normal.woff2") format("woff2"); }
@font-face { font-family: "Poppins"; font-style: italic; font-weight: 400; font-display: swap; src: url("../fonts/poppins-latin-400-italic.woff2") format("woff2"); }
@font-face { font-family: "Poppins"; font-style: normal; font-weight: 500; font-display: swap; src: url("../fonts/poppins-latin-500-normal.woff2") format("woff2"); }
@font-face { font-family: "Poppins"; font-style: normal; font-weight: 600; font-display: swap; src: url("../fonts/poppins-latin-600-normal.woff2") format("woff2"); }
@font-face { font-family: "Poppins"; font-style: normal; font-weight: 700; font-display: swap; src: url("../fonts/poppins-latin-700-normal.woff2") format("woff2"); }
@font-face { font-family: "Poppins"; font-style: normal; font-weight: 800; font-display: swap; src: url("../fonts/poppins-latin-800-normal.woff2") format("woff2"); }

/* ---------- Tokens ---------- */
:root {
  --monte: #0B4426; --tierra: #6E4526; --fuego: #E2600B; --hoja: #5E9B44; --nuez: #93BD52; --brasa: #F6A11A; --nervio: #3E7A2E;
  --fuego-o: #C2520A; --hoja-o: #4A8034; --tierra-c: #D9A57A;
  --crema: #FBF6EC; --crema2: #F3EAD8; --blanco: #fff; --tinta: #1D2A21; --gris: #55645A; --linea: #E4DAC6;
  --ig: linear-gradient(45deg, #F9B233 0%, #F2582B 30%, #D62976 60%, #962FBF 85%, #4F5BD5 100%);
  --x: #0F1419; --wa: #128C7E; --tg: #1C7FB5; --fb: #1466D2; --in: #0A66C2;
  --fin-h: 44px; --cab-h: 70px;
  --r: 24px; --r-s: 14px;
  --sombra: 0 10px 30px -12px rgba(11, 68, 38, .35);
  --sombra-g: 0 24px 60px -20px rgba(11, 68, 38, .45);
  --fuente: "Poppins", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
}

/* ---------- Base ---------- */
*, *::before, *::after { box-sizing: border-box; }
html { overflow-x: clip; -webkit-text-size-adjust: 100%; scroll-behavior: smooth; scroll-padding-top: calc(var(--cab-h) + 16px); }
body { margin: 0; font-family: var(--fuente); font-size: 17px; line-height: 1.65; color: var(--tinta); background: var(--crema); overflow-x: clip; }
img, svg, picture { display: block; max-width: 100%; }
img { height: auto; }
picture img { width: 100%; }
a { color: var(--nervio); text-decoration-thickness: 2px; text-underline-offset: 3px; }
a:hover { color: var(--fuego-o); }
h1, h2, h3 { line-height: 1.08; margin: 0 0 .5em; letter-spacing: -.02em; }
h2 { font-size: clamp(2rem, 4.4vw, 3.3rem); font-weight: 800; color: var(--monte); }
h3 { font-size: 1.25rem; font-weight: 700; color: var(--monte); }
p { margin: 0 0 1em; }
button { font: inherit; cursor: pointer; }
:focus-visible { outline: 3px solid var(--brasa); outline-offset: 3px; border-radius: 6px; }
svg use { pointer-events: none; }
.saltar { position: absolute; left: 12px; top: -60px; z-index: 100; background: var(--monte); color: #fff; padding: 10px 16px; border-radius: 10px; }
.saltar:focus { top: 12px; }
main:focus { outline: none; }
.envoltura { width: 100%; max-width: 1220px; margin: 0 auto; padding: 0 20px; }
.envoltura--texto { max-width: 800px; }
.centrado { text-align: center; }
.centrado .btn { margin-inline: auto; }
mark { padding: 0 .2em; border-radius: .25em; color: inherit; }
.m-tierra { background: rgba(110, 69, 38, .16); }
.m-hoja { background: rgba(147, 189, 82, .38); }
.m-fuego { background: rgba(246, 161, 26, .42); }

/* ---------- Botones ---------- */
.btn { display: inline-flex; align-items: center; justify-content: center; gap: .55em; padding: .8em 1.35em; border-radius: 999px; border: 2px solid transparent; font-weight: 700; font-size: 1rem; line-height: 1.1; text-decoration: none; transition: transform .2s, box-shadow .2s, background .2s; white-space: nowrap; }
.btn svg { width: 1.2em; height: 1.2em; flex: none; }
.btn:hover { transform: translateY(-2px); box-shadow: var(--sombra); }
.btn--xl { font-size: 1.1rem; padding: 1em 1.6em; }
.btn small { font-weight: 500; opacity: .8; }
.btn--fuego { background: var(--fuego-o); color: #fff; }
.btn--fuego:hover { background: var(--fuego); color: #fff; }
.btn--monte { background: var(--monte); color: #fff; }
.btn--monte:hover { background: var(--nervio); color: #fff; }
.btn--ig { background: var(--ig); color: #fff; }
.btn--ig:hover { color: #fff; filter: saturate(1.2); }
.btn--x { background: var(--x); color: #fff; }
.btn--x:hover { color: #fff; }
.btn--claro { background: #fff; color: var(--monte); border-color: rgba(11, 68, 38, .15); }
.btn--claro:hover { color: var(--monte); }
.btn--linea { background: transparent; color: var(--monte); border-color: var(--monte); }
.btn--linea:hover { background: var(--monte); color: #fff; }

.btn-red { display: inline-flex; align-items: center; gap: .45em; padding: .5em .95em; border-radius: 999px; color: #fff; font-weight: 700; font-size: .92rem; text-decoration: none; transition: transform .2s; }
.btn-red svg { width: 1.25em; height: 1.25em; flex: none; }
.btn-red:hover { color: #fff; transform: translateY(-2px) scale(1.03); }
.btn-red--ig { background: var(--ig); }
.btn-red--x { background: var(--x); }
.btn-red--xl { font-size: 1.05rem; padding: .75em 1.2em; }

.antetitulo { display: inline-flex; align-items: center; gap: .6em; font-size: .8rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: var(--fuego-o); margin-bottom: .9em; }
.antetitulo::before { content: ""; width: 28px; height: 3px; border-radius: 3px; background: currentColor; }
.subraya { background: linear-gradient(transparent 60%, rgba(246, 161, 26, .55) 60%, rgba(246, 161, 26, .55) 92%, transparent 92%); padding: 0 .08em; }
.subraya--fuego { background: linear-gradient(transparent 60%, rgba(226, 96, 11, .35) 60%, rgba(226, 96, 11, .35) 92%, transparent 92%); }
.subraya--nuez { background: linear-gradient(transparent 60%, rgba(147, 189, 82, .6) 60%, rgba(147, 189, 82, .6) 92%, transparent 92%); }
.chip { display: inline-block; padding: .25em .8em; border-radius: 999px; font-size: .75rem; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; color: #fff; background: var(--monte); }
.chip--fuego { background: var(--fuego-o); } .chip--hoja { background: var(--hoja-o); } .chip--tierra { background: var(--tierra); }
.chip--brasa { background: var(--brasa); color: var(--monte); } .chip--nuez { background: var(--nuez); color: var(--monte); } .chip--nervio { background: var(--nervio); }
.punto-vivo { width: 10px; height: 10px; border-radius: 50%; background: #FF3B30; box-shadow: 0 0 0 0 rgba(255, 59, 48, .7); animation: vivo 1.6s infinite; flex: none; }
@keyframes vivo { 70% { box-shadow: 0 0 0 10px rgba(255, 59, 48, 0); } 100% { box-shadow: 0 0 0 0 rgba(255, 59, 48, 0); } }

/* ---------- Barra de financiación (visible al llegar, sin desplazarse) ---------- */
.finbar { background: #fff; border-bottom: 1px solid var(--linea); position: relative; z-index: 60; }
.finbar__in { max-width: 1220px; margin: 0 auto; padding: 8px 20px; display: flex; align-items: center; gap: 10px 28px; flex-wrap: wrap; }
.finbar__logos { display: flex; align-items: center; gap: 22px; flex: none; }
.finbar__logos img { height: var(--fin-h); width: auto; }
.finbar__txt { margin: 0; font-size: .78rem; line-height: 1.4; color: var(--gris); flex: 1 1 320px; max-width: 620px; }
.finbar__txt strong { color: var(--monte); }
.finbar__corto { display: none; }

/* ---------- Cabecera ---------- */
.cab { position: sticky; top: 0; z-index: 50; border-bottom: 1px solid rgba(228, 218, 198, .9); transition: box-shadow .3s; }
.cab::before { content: ""; position: absolute; inset: 0; z-index: -1; background: rgba(251, 246, 236, .93); backdrop-filter: saturate(1.4) blur(12px); -webkit-backdrop-filter: saturate(1.4) blur(12px); }
.cab.con-sombra { box-shadow: 0 6px 24px -14px rgba(11, 68, 38, .45); }
.cab__in { max-width: 1220px; margin: 0 auto; padding: 0 20px; height: var(--cab-h); display: flex; align-items: center; gap: 22px; }
.cab__marca img { height: 40px; width: auto; }
.cab__nav { margin-left: auto; }
.cab__nav ul { list-style: none; display: flex; gap: 4px; margin: 0; padding: 0; }
.cab__nav a { display: block; padding: .5em .9em; border-radius: 999px; text-decoration: none; color: var(--monte); font-weight: 600; font-size: .98rem; transition: background .2s; }
.cab__nav a:hover { background: rgba(147, 189, 82, .28); color: var(--monte); }
.cab__nav a[aria-current="page"] { background: var(--monte); color: #fff; }
.cab__redes { display: flex; gap: 8px; }
.cab__redes .btn-red--x { padding: .55em; }
.cab__redes-movil { display: none; }
.cab__burger { display: none; margin-left: auto; width: 48px; height: 48px; border-radius: 14px; border: 0; background: var(--monte); color: #fff; align-items: center; justify-content: center; }
.cab__burger svg { width: 26px; height: 26px; }
.cab__burger .ico-cerrar { display: none; }
.menu-abierto .cab__burger .ico-abrir { display: none; }
.menu-abierto .cab__burger .ico-cerrar { display: block; }

/* ---------- Hero ---------- */
.hero { position: relative; min-height: min(86vh, 820px); display: flex; align-items: center; color: #fff; overflow: hidden; isolation: isolate; }
.hero__foto, .hero__foto picture, .hero__foto img { position: absolute; inset: 0; width: 100%; height: 100%; }
.hero__foto img { object-fit: cover; object-position: 50% 40%; animation: zoom 22s ease-out forwards; }
.hero__foto::after { content: ""; position: absolute; inset: 0; background: linear-gradient(100deg, rgba(8, 48, 27, .94) 0%, rgba(11, 68, 38, .72) 42%, rgba(11, 68, 38, .15) 78%), linear-gradient(0deg, rgba(8, 48, 27, .65), transparent 40%); }
@keyframes zoom { from { transform: scale(1.12); } to { transform: scale(1); } }
.hero__in { position: relative; z-index: 2; padding-top: 70px; padding-bottom: 90px; }
.hero__ante { display: inline-flex; align-items: center; gap: .5em; font-weight: 600; font-size: .95rem; background: rgba(255, 255, 255, .14); border: 1px solid rgba(255, 255, 255, .25); padding: .35em .9em; border-radius: 999px; backdrop-filter: blur(6px); }
.hero__ante svg { width: 18px; height: 18px; color: var(--brasa); }
.hero__tit { font-size: clamp(3rem, 9vw, 7rem); font-weight: 800; line-height: .94; letter-spacing: -.04em; margin: .35em 0 .3em; max-width: 9.5em; color: #fff; }
.hero__bombero { position: relative; display: inline-block; color: var(--brasa); }
.hero__bombero svg { position: absolute; left: 0; right: 0; bottom: -.08em; width: 100%; height: .22em; color: var(--fuego); stroke-dasharray: 320; stroke-dashoffset: 320; animation: trazo 1.2s .6s ease-out forwards; }
@keyframes trazo { to { stroke-dashoffset: 0; } }
.hero__sub { font-size: clamp(1.08rem, 1.9vw, 1.35rem); max-width: 36em; color: rgba(255, 255, 255, .92); }
.hero__ctas { display: flex; flex-wrap: wrap; gap: 14px; margin: 1.6em 0 1.4em; }
.hero__proxima { display: inline-flex; align-items: center; gap: .8em; padding: .7em 1.1em; border-radius: 16px; background: rgba(255, 255, 255, .95); color: var(--monte); text-decoration: none; font-size: .95rem; box-shadow: var(--sombra-g); animation: entra .7s 1s both; }
.hero__proxima:hover { color: var(--monte); transform: translateY(-2px); }
.hero__proxima strong { color: var(--fuego-o); }
@keyframes entra { from { opacity: 0; transform: translateY(14px); } to { opacity: 1; transform: none; } }
.hero__tit, .hero__sub, .hero__ctas { animation: entra .8s both; }
.hero__sub { animation-delay: .15s; } .hero__ctas { animation-delay: .3s; }
.sello { position: absolute; right: max(5vw, 20px); top: 70px; width: 176px; z-index: 3; color: var(--fuego-o); filter: drop-shadow(0 16px 30px rgba(0, 0, 0, .35)); }
.sello svg { overflow: visible; }
.sello text { fill: #fff; font-size: 13.5px; font-weight: 700; }
.sello__giro { transform-origin: 100px 100px; animation: gira 18s linear infinite; }
.sello__oveja { color: #fff; --cabeza: var(--monte); }
@keyframes gira { to { transform: rotate(360deg); } }

/* ---------- Cinta de palabras ---------- */
.ticker { background: var(--fuego-o); color: #fff; overflow: hidden; padding: 14px 0; transform: rotate(-1.2deg) scale(1.02); margin: -18px 0 0; position: relative; z-index: 4; box-shadow: 0 10px 30px -12px rgba(194, 82, 10, .6); }
.ticker__pista { display: flex; align-items: center; gap: 26px; width: max-content; animation: desliza 45s linear infinite; }
.ticker span { font-weight: 800; font-size: 1.1rem; text-transform: uppercase; letter-spacing: .06em; white-space: nowrap; }
.ticker svg { width: 26px; height: 26px; color: var(--brasa); flex: none; }
@keyframes desliza { to { transform: translateX(-50%); } }

/* ---------- Secciones ---------- */
.seccion { padding: clamp(64px, 9vw, 120px) 0; position: relative; }
.seccion--crema { background: var(--crema2); }
.seccion--monte { background: var(--monte); color: #fff; }
.seccion--monte h2, .seccion--monte h3 { color: #fff; }
.seccion--monte .antetitulo { color: var(--brasa); }
.seccion__cab { max-width: 760px; margin-bottom: clamp(32px, 5vw, 56px); }
.seccion__cab > p:last-child { font-size: 1.12rem; color: var(--gris); }
.seccion--monte .seccion__cab > p:last-child, .seccion__cab--claro > p:last-child { color: rgba(255, 255, 255, .85); }
.seccion__cab--claro h2 { color: #fff; }
.seccion__cab--claro .antetitulo { color: var(--brasa); }
.seccion__cab--fila { max-width: none; display: flex; align-items: flex-end; justify-content: space-between; gap: 20px; flex-wrap: wrap; }
.seccion__cab--fila h2 { margin: 0; }
.destacado { font-size: clamp(1.2rem, 2.2vw, 1.5rem); line-height: 1.5; color: var(--monte); font-weight: 500; }

/* ---------- Agenda ---------- */
.agenda-bloque { padding-top: 70px; padding-bottom: 10px; }
.agenda-card { display: grid; grid-template-columns: auto 1fr auto; gap: 28px; align-items: center; padding: 28px 32px; border-radius: 30px; background: linear-gradient(120deg, var(--monte) 0%, #14603A 55%, var(--nervio) 100%); color: #fff; box-shadow: var(--sombra-g); position: relative; overflow: hidden; }
.agenda-card::after { content: ""; position: absolute; right: -60px; top: -60px; width: 220px; height: 220px; border-radius: 50%; background: radial-gradient(circle, rgba(246, 161, 26, .45), transparent 70%); }
.agenda-card h2 { color: #fff; font-size: clamp(1.5rem, 3vw, 2.2rem); margin-bottom: .3em; }
.agenda-card .antetitulo { color: var(--brasa); margin-bottom: .5em; }
.agenda-card .antetitulo::before { display: none; }
.agenda-card p { margin: 0 0 .4em; color: rgba(255, 255, 255, .9); }
.agenda-card__fecha { width: 118px; text-align: center; background: #fff; color: var(--monte); border-radius: 22px; padding: 14px 8px; box-shadow: inset 0 -6px 0 var(--fuego); }
.agenda-card__fecha b { display: block; font-size: 3rem; line-height: 1; font-weight: 800; color: var(--fuego-o); }
.agenda-card__fecha span { display: block; font-weight: 700; text-transform: uppercase; font-size: .85rem; letter-spacing: .08em; }
.agenda-card__fecha small { display: block; font-size: .85rem; color: var(--gris); margin-top: 4px; }
.agenda-card__lugar { display: flex; align-items: center; gap: .4em; font-weight: 600; }
.agenda-card__lugar svg { width: 18px; height: 18px; color: var(--brasa); }
.agenda-card__cuenta { font-weight: 700; color: var(--brasa) !important; }
.agenda-card__btns { display: flex; flex-direction: column; gap: 10px; position: relative; z-index: 1; }

/* ---------- Servicios ecosistémicos ---------- */
.serv-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; align-items: start; }
.serv { --c: var(--monte); --t: #fff; border-radius: var(--r); background: var(--c); color: var(--t); box-shadow: var(--sombra); transition: transform .35s cubic-bezier(.2, .9, .3, 1.3), box-shadow .3s; position: relative; overflow: hidden; }
.serv::before { content: ""; position: absolute; width: 240px; height: 240px; border-radius: 50%; right: -90px; top: -90px; background: rgba(255, 255, 255, .1); transition: transform .5s; }
.serv:hover { transform: translateY(-6px) rotate(-.6deg); box-shadow: var(--sombra-g); }
.serv:hover::before { transform: scale(1.35); }
.serv--fuego { --c: var(--fuego-o); } .serv--hoja { --c: var(--hoja-o); } .serv--tierra { --c: var(--tierra); } .serv--nervio { --c: var(--nervio); }
.serv--brasa { --c: var(--brasa); --t: var(--monte); } .serv--nuez { --c: var(--nuez); --t: var(--monte); }
.serv__btn { all: unset; box-sizing: border-box; display: grid; grid-template-columns: auto 1fr auto; grid-template-areas: "ico num mas" "tit tit tit" "corto corto corto"; align-items: center; gap: 6px 14px; width: 100%; padding: 26px 26px 24px; cursor: pointer; position: relative; }
.serv__btn:focus-visible { outline: 3px solid #fff; outline-offset: -6px; border-radius: var(--r); }
.serv__ico { grid-area: ico; width: 64px; height: 64px; border-radius: 20px; background: rgba(255, 255, 255, .2); display: grid; place-items: center; transition: transform .4s; }
.serv:hover .serv__ico { transform: rotate(-10deg) scale(1.08); }
.serv__ico svg { width: 36px; height: 36px; }
.serv__num { grid-area: num; font-size: 2.6rem; font-weight: 800; opacity: .22; line-height: 1; justify-self: end; }
.serv__mas { grid-area: mas; width: 38px; height: 38px; border-radius: 50%; display: grid; place-items: center; background: rgba(255, 255, 255, .25); font-size: 1.6rem; font-weight: 500; line-height: 1; transition: transform .3s; }
.serv__btn[aria-expanded="true"] .serv__mas { transform: rotate(45deg); }
.serv__tit { grid-area: tit; font-size: 1.4rem; font-weight: 800; line-height: 1.15; margin-top: 12px; }
.serv__corto { grid-area: corto; font-size: 1rem; opacity: .92; }
.serv__largo { padding: 0 26px 24px; position: relative; font-size: .98rem; }
.serv__largo p { margin-bottom: .8em; }
.serv__dato { display: flex; align-items: center; gap: .5em; font-weight: 700; background: rgba(255, 255, 255, .18); padding: .55em .9em; border-radius: 12px; margin: 0; }
.serv__dato svg { width: 20px; height: 20px; flex: none; }

/* ---------- Ciclo ---------- */
.ciclo { background: var(--crema2); overflow: hidden; }
.ciclo__in { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(30px, 5vw, 70px); align-items: center; }
.ciclo__lista { list-style: none; margin: 1.4em 0 0; padding: 0; display: grid; gap: 8px; }
.ciclo__paso { display: flex; gap: 14px; align-items: flex-start; padding: 12px 14px; border-radius: 16px; transition: background .3s, transform .3s; cursor: default; }
.ciclo__paso strong { display: block; color: var(--monte); font-size: 1.05rem; }
.ciclo__paso span:not(.ciclo__n) { display: block; font-size: .95rem; color: var(--gris); line-height: 1.5; }
.ciclo__n { flex: none; width: 34px; height: 34px; border-radius: 50%; display: grid; place-items: center; font-weight: 800; color: #fff; background: var(--c, var(--monte)); }
.ciclo__paso--hoja { --c: var(--hoja-o); } .ciclo__paso--fuego { --c: var(--fuego-o); } .ciclo__paso--brasa { --c: #B87508; } .ciclo__paso--nuez { --c: #5F8A23; } .ciclo__paso--tierra { --c: var(--tierra); } .ciclo__paso--nervio { --c: var(--nervio); }
.ciclo__paso.activo { background: #fff; transform: translateX(6px); box-shadow: var(--sombra); }
.ciclo__fig svg { width: 100%; max-width: 540px; margin: 0 auto; overflow: visible; }
.ciclo__anillo { stroke: var(--hoja); stroke-dasharray: 4 16; stroke-linecap: round; transform-origin: 260px 260px; animation: gira 60s linear infinite; }
.ciclo__punta { fill: var(--hoja-o); }
.ciclo__esc { transform-box: fill-box; transform-origin: center; transition: transform .45s cubic-bezier(.2, .9, .3, 1.4); }
.ciclo__nodo circle { fill: var(--c); stroke: #fff; stroke-width: 6; }
.ciclo__nodo use { color: #fff; --cabeza: var(--monte); }
.ciclo__nodo--hoja { --c: var(--hoja-o); } .ciclo__nodo--fuego { --c: var(--fuego-o); } .ciclo__nodo--tierra { --c: var(--tierra); } .ciclo__nodo--nervio { --c: var(--nervio); }
.ciclo__nodo--brasa { --c: var(--brasa); } .ciclo__nodo--nuez { --c: var(--nuez); }
.ciclo__nodo--brasa use, .ciclo__nodo--nuez use { color: var(--monte); }
.ciclo__nodo .ciclo__badge { fill: var(--monte); stroke: #fff; stroke-width: 3; }
.ciclo__num { fill: #fff; font-size: 16px; font-weight: 800; text-anchor: middle; }
.ciclo__nodo.activo .ciclo__esc { transform: scale(1.18); }
.ciclo__centro { text-anchor: middle; font-size: 34px; font-weight: 800; fill: var(--monte); letter-spacing: -.02em; }

/* ---------- Metas ---------- */
.metas { background: var(--monte); color: #fff; overflow: hidden; }
.metas::before { content: ""; position: absolute; inset: 0; background: radial-gradient(circle at 12% 20%, rgba(147, 189, 82, .22), transparent 40%), radial-gradient(circle at 88% 80%, rgba(246, 161, 26, .18), transparent 40%); pointer-events: none; }
.metas .envoltura { position: relative; }
.metas__grid { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
.meta { padding: 26px 26px 22px; border-radius: var(--r); background: rgba(255, 255, 255, .07); border: 1px solid rgba(255, 255, 255, .12); transition: transform .3s, background .3s; }
.meta:hover { transform: translateY(-4px); background: rgba(255, 255, 255, .11); }
.meta__num { display: block; font-size: clamp(3rem, 6vw, 4.6rem); font-weight: 800; line-height: 1; letter-spacing: -.03em; color: var(--c); }
.meta__num small { font-size: .45em; letter-spacing: 0; }
.meta__txt { display: block; margin-top: .5em; font-size: 1.05rem; color: rgba(255, 255, 255, .88); }
.meta--tierra { --c: var(--tierra-c); } .meta--brasa { --c: var(--brasa); } .meta--fuego { --c: #FF8A3D; } .meta--hoja { --c: #A8D98A; } .meta--nervio { --c: var(--nuez); } .meta--monte { --c: #fff; }

/* ---------- Mapa ---------- */
.mapa-caja { display: grid; grid-template-columns: 1fr 340px; gap: 18px; }
.mapa { height: 540px; border-radius: var(--r); overflow: hidden; background: #DCE6D2; box-shadow: var(--sombra); z-index: 1; }
.mapa__aviso { padding: 20px; }
.mapa__panel { display: flex; flex-direction: column; gap: 14px; }
.mapa__fondos { display: grid; grid-template-columns: 1fr 1fr; background: #fff; border-radius: 999px; padding: 5px; box-shadow: var(--sombra); }
.mapa__fondo { border: 0; background: transparent; border-radius: 999px; padding: .6em; font-weight: 700; color: var(--monte); }
.mapa__fondo[aria-pressed="true"] { background: var(--monte); color: #fff; }
.mapa__leyenda { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; }
.mapa__leyenda button { width: 100%; display: flex; gap: 12px; align-items: flex-start; text-align: left; padding: 14px 16px; border-radius: 18px; border: 2px solid transparent; background: #fff; box-shadow: var(--sombra); color: var(--tinta); font-size: .9rem; line-height: 1.35; transition: transform .2s, border-color .2s; }
.mapa__leyenda button:hover, .mapa__leyenda button.activo { transform: translateX(4px); border-color: var(--hoja); }
.mapa__leyenda strong { display: block; font-size: 1.02rem; color: var(--monte); }
.sw { flex: none; display: inline-block; width: 22px; height: 22px; border-radius: 7px; margin-top: 2px; }
.sw--hoja { background: var(--hoja); } .sw--brasa { background: var(--brasa); } .sw--fuego { background: var(--fuego); }
.sw--diseno { background: repeating-linear-gradient(45deg, var(--monte) 0 4px, var(--nuez) 4px 8px); }
.mapa__fuente { font-size: .78rem; color: var(--gris); margin: 0; }
.leaflet-container { font-family: var(--fuente); }
.leaflet-popup-content-wrapper { border-radius: 16px; }
.leaflet-popup-content { margin: 14px 18px; font-size: .92rem; line-height: 1.45; }
.leaflet-popup-content strong { color: var(--monte); font-size: 1.05rem; }
.etq-monte { background: rgba(255, 255, 255, .92); border: 0; border-radius: 999px; padding: 3px 10px; font-weight: 700; color: var(--monte); box-shadow: 0 4px 12px rgba(0, 0, 0, .25); }
.etq-monte::before { display: none; }

/* ---------- Noticias ---------- */
.tnot-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
.tnot { background: #fff; border-radius: var(--r); overflow: hidden; box-shadow: var(--sombra); transition: transform .3s, box-shadow .3s; }
.tnot:hover { transform: translateY(-6px); box-shadow: var(--sombra-g); }
.tnot__a { display: flex; flex-direction: column; height: 100%; color: inherit; text-decoration: none; }
.tnot__a:hover { color: inherit; }
.tnot__foto { aspect-ratio: 16 / 10; overflow: hidden; }
.tnot__foto picture { height: 100%; }
.tnot__foto img { width: 100%; height: 100%; object-fit: cover; transition: transform .6s; }
.tnot:hover .tnot__foto img { transform: scale(1.06); }
.tnot__txt { padding: 20px 22px 22px; display: flex; flex-direction: column; flex: 1; }
.tnot__meta { display: flex; align-items: center; gap: 10px; font-size: .85rem; color: var(--gris); margin-bottom: .7em; }
.tnot h3 { font-size: 1.22rem; margin-bottom: .45em; }
.tnot__txt > p:not(.tnot__meta) { font-size: .95rem; color: var(--gris); line-height: 1.55; }
.tnot__leer { margin-top: auto; display: inline-flex; align-items: center; gap: .4em; font-weight: 700; color: var(--fuego-o); }
.tnot__leer svg { width: 20px; height: 20px; transition: transform .2s; }
.tnot:hover .tnot__leer svg { transform: translateX(4px); }
.tnot[hidden] { display: none; }
.filtros { display: flex; flex-wrap: wrap; gap: 10px; margin-bottom: 32px; }
.filtro { border: 2px solid var(--monte); background: transparent; color: var(--monte); padding: .5em 1.1em; border-radius: 999px; font-weight: 700; }
.filtro[aria-pressed="true"] { background: var(--monte); color: #fff; }
.aviso-redes { margin-top: 48px; display: flex; flex-wrap: wrap; align-items: center; gap: 14px 18px; padding: 22px 26px; border-radius: var(--r); background: #fff; box-shadow: var(--sombra); }
.aviso-redes > svg { width: 40px; height: 40px; color: var(--fuego-o); }
.aviso-redes p { margin: 0; flex: 1 1 280px; }

/* ---------- Redes ---------- */
.redes { padding: clamp(64px, 9vw, 120px) 0; background: radial-gradient(circle at 85% 10%, rgba(214, 41, 118, .1), transparent 40%), radial-gradient(circle at 10% 90%, rgba(246, 161, 26, .16), transparent 45%), var(--crema); }
.redes__cab { max-width: 720px; margin-bottom: 36px; }
.redes__intro { font-size: 1.12rem; color: var(--gris); }
.redes__tarjetas { display: grid; grid-template-columns: 1fr 1fr; gap: 22px; }
.red-card { position: relative; display: grid; grid-template-columns: auto 1fr; grid-template-areas: "ico red" "ico user" "txt txt" "btn btn"; gap: 2px 18px; align-items: center; padding: 30px; border-radius: 30px; color: #fff; text-decoration: none; overflow: hidden; box-shadow: var(--sombra-g); transition: transform .35s cubic-bezier(.2, .9, .3, 1.3); }
.red-card:hover { color: #fff; transform: translateY(-8px) rotate(-1deg); }
.red-card--ig { background: var(--ig); }
.red-card--x { background: var(--x); }
.red-card::after { content: ""; position: absolute; right: -50px; bottom: -70px; width: 220px; height: 220px; border-radius: 50%; background: rgba(255, 255, 255, .12); }
.red-card__ico { grid-area: ico; width: 84px; height: 84px; border-radius: 26px; background: rgba(255, 255, 255, .2); display: grid; place-items: center; }
.red-card__ico svg { width: 48px; height: 48px; }
.red-card:hover .red-card__ico { animation: menea .6s; }
@keyframes menea { 25% { transform: rotate(-12deg); } 50% { transform: rotate(10deg); } 75% { transform: rotate(-6deg); } }
.red-card__red { grid-area: red; font-size: .9rem; font-weight: 700; text-transform: uppercase; letter-spacing: .1em; opacity: .85; align-self: end; }
.red-card__user { grid-area: user; font-size: clamp(1.4rem, 2.6vw, 2rem); font-weight: 800; align-self: start; word-break: break-word; }
.red-card__txt { grid-area: txt; margin-top: 16px; font-size: 1.02rem; opacity: .92; }
.red-card__btn { grid-area: btn; justify-self: start; margin-top: 14px; display: inline-flex; align-items: center; gap: .5em; background: #fff; color: var(--x); padding: .7em 1.3em; border-radius: 999px; font-weight: 800; position: relative; z-index: 1; }
.red-card__btn svg { width: 20px; height: 20px; }
.redes__tags { margin-top: 30px; padding: 24px 26px; border-radius: var(--r); background: #fff; box-shadow: var(--sombra); display: grid; gap: 14px; justify-items: start; }
.redes__tags p { margin: 0; font-weight: 600; color: var(--monte); }
.tags { display: flex; flex-wrap: wrap; gap: 8px; }
.tag { padding: .3em .8em; border-radius: 999px; background: var(--crema2); color: var(--monte); font-weight: 700; font-size: .92rem; }
.seccion--monte .tag { background: rgba(255, 255, 255, .14); color: #fff; }

/* ---------- Pásalo ---------- */
.pasalo { background: var(--brasa); }
.pasalo__in { display: grid; grid-template-columns: 1fr 1.1fr; gap: 30px 50px; align-items: center; }
.pasalo h2 { font-size: clamp(1.7rem, 3.4vw, 2.6rem); }
.pasalo p { font-size: 1.1rem; color: var(--monte); }

/* ---------- Compartir ---------- */
.compartir { margin: 2em 0; }
.compartir__tit { font-weight: 800; color: var(--monte); margin-bottom: .6em; font-size: 1.05rem; }
.compartir__btns { display: flex; flex-wrap: wrap; gap: 10px; }
.sh { display: inline-flex; align-items: center; gap: .5em; border: 0; padding: .7em 1.1em; border-radius: 999px; color: #fff; font-weight: 700; font-size: .95rem; text-decoration: none; transition: transform .2s, filter .2s; }
.sh svg { width: 1.3em; height: 1.3em; flex: none; }
.sh:hover { color: #fff; transform: translateY(-3px) scale(1.04); filter: brightness(1.08); }
.sh--wa { background: var(--wa); font-size: 1.02rem; padding: .8em 1.3em; } .sh--tg { background: var(--tg); } .sh--x { background: var(--x); } .sh--fb { background: var(--fb); }
.sh--in { background: var(--in); } .sh--mail { background: var(--monte); } .sh--copiar { background: var(--tierra); } .sh--nativo { background: var(--fuego-o); }
.sh[hidden] { display: none; }
.compartir--mini { margin: 0 0 1.8em; display: flex; align-items: center; gap: 12px; flex-wrap: wrap; }
.compartir--mini .compartir__tit { margin: 0; font-size: .9rem; text-transform: uppercase; letter-spacing: .08em; }
.compartir--mini .sh { padding: .55em; }
.compartir--mini .sh span { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }

/* ---------- Dock social flotante ---------- */
.dock { position: fixed; right: 18px; bottom: 22px; z-index: 70; display: flex; flex-direction: column; gap: 10px; }
.dock__b { position: relative; width: 58px; height: 58px; border-radius: 50%; border: 0; display: grid; place-items: center; color: #fff; text-decoration: none; box-shadow: 0 10px 24px -8px rgba(0, 0, 0, .45); transition: transform .25s cubic-bezier(.2, .9, .3, 1.5); }
.dock__b svg { width: 28px; height: 28px; }
.dock__b span { position: absolute; right: calc(100% + 12px); top: 50%; transform: translate(8px, -50%); opacity: 0; pointer-events: none; background: var(--monte); color: #fff; padding: .35em .8em; border-radius: 10px; font-size: .85rem; font-weight: 700; white-space: nowrap; transition: opacity .2s, transform .2s; }
.dock__b:hover, .dock__b:focus-visible { transform: scale(1.12); color: #fff; }
.dock__b:hover span, .dock__b:focus-visible span { opacity: 1; transform: translate(0, -50%); }
.dock__b--ig { background: var(--ig); animation: late 2.8s ease-in-out infinite; }
.dock__b--x { background: var(--x); } .dock__b--wa { background: var(--wa); } .dock__b--sh { background: var(--fuego-o); }
@keyframes late { 0%, 80%, 100% { transform: scale(1); } 88% { transform: scale(1.14); } 94% { transform: scale(.98); } }
.toast { position: fixed; left: 50%; bottom: 100px; transform: translateX(-50%); z-index: 90; background: var(--monte); color: #fff; padding: .8em 1.3em; border-radius: 14px; font-weight: 700; box-shadow: var(--sombra-g); }
.hoja { border: 0; border-radius: 28px; padding: 26px 26px 10px; max-width: 520px; width: calc(100% - 32px); box-shadow: var(--sombra-g); }
.hoja::backdrop { background: rgba(8, 48, 27, .55); backdrop-filter: blur(3px); }
.hoja .compartir { margin: 0 0 1em; }
.hoja__cerrar { position: absolute; right: 14px; top: 14px; width: 40px; height: 40px; border-radius: 50%; border: 0; background: var(--crema2); color: var(--monte); display: grid; place-items: center; }
.hoja__cerrar svg { width: 20px; height: 20px; }

/* ---------- Cabecera de página (banda) ---------- */
.banda { --ov: 11, 68, 38; position: relative; color: #fff; background: var(--monte); padding: clamp(70px, 10vw, 130px) 0 clamp(90px, 11vw, 140px); overflow: hidden; isolation: isolate; }
.banda--fuego { --ov: 140, 50, 5; background: var(--fuego-o); } .banda--hoja { --ov: 40, 90, 32; background: var(--hoja-o); } .banda--brasa { --ov: 110, 69, 38; background: var(--tierra); }
.banda--nervio { --ov: 36, 84, 30; background: var(--nervio); } .banda--tierra { --ov: 90, 55, 28; background: var(--tierra); }
.banda__foto, .banda__foto picture, .banda__foto img { position: absolute; inset: 0; width: 100%; height: 100%; z-index: -1; }
.banda__foto img { object-fit: cover; }
.banda__foto::after { content: ""; position: absolute; inset: 0; background: linear-gradient(100deg, rgba(var(--ov), .95) 0%, rgba(var(--ov), .78) 50%, rgba(var(--ov), .45) 100%); }
.banda h1 { font-size: clamp(2.5rem, 6.5vw, 5rem); font-weight: 800; letter-spacing: -.035em; line-height: .98; max-width: 14em; color: #fff; animation: entra .7s both; }
.banda .antetitulo { color: var(--brasa); }
.banda--brasa .antetitulo, .banda--fuego .antetitulo { color: #FFE2B8; }
.banda__entradilla { font-size: clamp(1.08rem, 1.8vw, 1.3rem); max-width: 40em; color: rgba(255, 255, 255, .92); margin: .6em 0 0; animation: entra .7s .12s both; }
.resalta { color: var(--brasa); }
.banda--fuego .resalta, .banda--brasa .resalta { color: #FFE2B8; }
.banda__ola, .noticia__ola { position: absolute; left: 0; right: 0; bottom: -1px; width: 100%; height: 60px; color: var(--crema); }

/* ---------- Noticia ---------- */
.noticia__cab { position: relative; color: #fff; padding: clamp(60px, 9vw, 120px) 0 clamp(50px, 7vw, 90px); overflow: hidden; isolation: isolate; background: var(--monte); --ov: 11, 68, 38; }
.noticia__cab--fuego { --ov: 140, 50, 5; } .noticia__cab--hoja { --ov: 40, 90, 32; } .noticia__cab--tierra { --ov: 90, 55, 28; } .noticia__cab--brasa { --ov: 110, 69, 38; }
.noticia__foto, .noticia__foto picture, .noticia__foto img { position: absolute; inset: 0; width: 100%; height: 100%; z-index: -1; }
.noticia__foto img { object-fit: cover; }
.noticia__foto::after { content: ""; position: absolute; inset: 0; background: linear-gradient(0deg, rgba(var(--ov), .96) 0%, rgba(var(--ov), .7) 55%, rgba(var(--ov), .4) 100%); }
.noticia__cab-in { max-width: 900px; }
.noticia h1 { font-size: clamp(2.1rem, 5vw, 3.8rem); font-weight: 800; color: #fff; letter-spacing: -.03em; }
.noticia__meta { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; font-weight: 600; margin: 1.2em 0 .8em; }
.noticia__entradilla { font-size: clamp(1.1rem, 1.9vw, 1.35rem); color: rgba(255, 255, 255, .92); max-width: 40em; margin: 0; }
.volver { display: inline-flex; align-items: center; gap: .4em; color: #fff; font-weight: 700; text-decoration: none; opacity: .9; }
.volver svg { width: 18px; height: 18px; transform: rotate(180deg); }
.volver:hover { color: var(--brasa); }
.noticia__cuerpo { padding-top: 48px; padding-bottom: 40px; }
.noticia__cuerpo h2 { font-size: clamp(1.5rem, 3vw, 2.1rem); margin-top: 1.4em; }
.noticia__cuerpo ul, .noticia__cuerpo ol { padding-left: 1.2em; }
.noticia__cuerpo li { margin-bottom: .45em; }
.noticia__cuerpo li::marker { color: var(--fuego-o); }
.noticia__cuerpo blockquote { margin: 2em 0; padding: 18px 22px; border-left: 6px solid var(--brasa); background: #fff; border-radius: 0 16px 16px 0; font-size: .95rem; color: var(--gris); }
.noticia__cuerpo table { width: 100%; border-collapse: collapse; margin: 1.4em 0; font-size: .95rem; background: #fff; border-radius: 16px; overflow: hidden; box-shadow: var(--sombra); display: block; overflow-x: auto; }
.noticia__cuerpo th { background: var(--monte); color: #fff; text-align: left; padding: 12px 14px; white-space: nowrap; }
.noticia__cuerpo td { padding: 11px 14px; border-top: 1px solid var(--linea); }
.figura { margin: 2em 0; }
.figura img { border-radius: 20px; box-shadow: var(--sombra); }
.figura figcaption { font-size: .88rem; color: var(--gris); margin-top: .6em; }
.noticia__redes { margin-top: 2em; padding: 24px; border-radius: var(--r); background: var(--monte); color: #fff; }
.noticia__redes p { margin-bottom: 1em; }
.noticia__redes div { display: flex; flex-wrap: wrap; gap: 10px; }
.noticia__nav { display: flex; justify-content: space-between; gap: 16px; padding-bottom: 70px; max-width: 800px; }
.noticia__nav-a { flex: 1 1 0; max-width: 48%; padding: 16px 20px; background: #fff; border-radius: 18px; box-shadow: var(--sombra); text-decoration: none; color: var(--monte); font-weight: 700; line-height: 1.35; }
.noticia__nav-a span { display: block; font-size: .78rem; text-transform: uppercase; letter-spacing: .1em; color: var(--fuego-o); margin-bottom: .3em; }
.noticia__nav-a--sig { text-align: right; margin-left: auto; }

/* ---------- El GO ---------- */
.socios { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; }
.socio { background: #fff; border-radius: var(--r); padding: 28px; box-shadow: var(--sombra); border-top: 8px solid var(--c, var(--monte)); }
.socio--hoja { --c: var(--hoja); } .socio--tierra { --c: var(--tierra); } .socio--monte { --c: var(--monte); }
.socio__logos { display: flex; align-items: center; gap: 14px; min-height: 40px; margin-bottom: 18px; }
.socio__logo { height: 32px; width: auto; }
.socio__siglas { font-size: .8rem; font-weight: 700; text-transform: uppercase; letter-spacing: .12em; color: var(--fuego-o); margin-bottom: .3em; }
.socio__detalle { font-size: .88rem; color: var(--gris); }
.socio > p:last-of-type { font-size: .98rem; }
.etiquetas { list-style: none; padding: 0; margin: 14px 0 0; display: flex; flex-wrap: wrap; gap: 6px; }
.etiquetas li { font-size: .8rem; font-weight: 700; padding: .3em .75em; border-radius: 999px; background: var(--crema2); color: var(--monte); }
.ganaderos__in { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(30px, 5vw, 64px); align-items: center; }
.ganaderos__foto img { border-radius: 30px; box-shadow: var(--sombra-g); transform: rotate(-2deg); }
.ganaderos__lista { list-style: none; padding: 0; margin: 1.4em 0 0; display: grid; gap: 12px; }
.ganaderos__lista li { display: flex; gap: 14px; align-items: center; padding: 14px 16px; background: #fff; border-radius: 18px; box-shadow: var(--sombra); }
.ganaderos__lista strong { display: block; color: var(--monte); }
.ganaderos__lista span:not(.ganaderos__ico) { font-size: .92rem; color: var(--gris); }
.ganaderos__ico { flex: none; width: 52px; height: 52px; border-radius: 16px; background: var(--nuez); color: var(--monte); display: grid; place-items: center; }
.ganaderos__ico svg { width: 36px; height: 28px; }

/* ---------- Proyecto ---------- */
.objetivo { background: #fff; border-radius: 32px; padding: clamp(28px, 5vw, 56px); box-shadow: var(--sombra-g); position: relative; overflow: hidden; }
.objetivo::before { content: "“"; position: absolute; right: 20px; top: -40px; font-size: 16rem; line-height: 1; font-weight: 800; color: var(--crema2); }
.objetivo__txt { position: relative; font-size: clamp(1.25rem, 2.6vw, 1.85rem); line-height: 1.45; font-weight: 500; color: var(--monte); margin: 0; }
.objetivos { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
.obj { background: #fff; border-radius: var(--r); padding: 26px; box-shadow: var(--sombra); position: relative; }
.obj__n { display: grid; place-items: center; width: 54px; height: 54px; border-radius: 18px; font-size: 1.6rem; font-weight: 800; color: #fff; background: var(--c); margin-bottom: 16px; transform: rotate(-6deg); }
.obj--tierra { --c: var(--tierra); } .obj--brasa { --c: #B87508; } .obj--nervio { --c: var(--nervio); } .obj--fuego { --c: var(--fuego-o); } .obj--hoja { --c: var(--hoja-o); } .obj--nuez { --c: #5F8A23; }
.obj p { margin: 0; }
.dos-col { display: grid; grid-template-columns: 1.3fr 1fr; gap: clamp(30px, 5vw, 60px); align-items: start; }
.modos { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; margin: 1.4em 0; }
.modo { border-radius: 22px; padding: 22px; color: #fff; background: var(--c); }
.modo--hoja { --c: var(--hoja-o); } .modo--fuego { --c: var(--fuego-o); }
.modo h3 { color: #fff; font-size: 1.1rem; }
.modo p { font-size: .95rem; margin: 0; }
.modo__sig { font-size: 2.4rem; font-weight: 800; line-height: 1; margin: 0 0 .25em !important; opacity: .9; }
.rapca { background: var(--brasa); color: var(--monte); border-radius: 30px; padding: 30px; box-shadow: var(--sombra-g); position: sticky; top: calc(var(--cab-h) + 20px); transform: rotate(1deg); }
.rapca h3 { font-size: 1.6rem; }
.rapca__ante { font-size: .8rem; font-weight: 800; text-transform: uppercase; letter-spacing: .12em; }
.rapca__fuente { font-size: .78rem; opacity: .85; margin: 0; }
.acciones { list-style: none; margin: 0; padding: 0; position: relative; display: grid; gap: 16px; }
.acciones::before { content: ""; position: absolute; left: 35px; top: 10px; bottom: 10px; width: 4px; border-radius: 4px; background: linear-gradient(var(--monte), var(--hoja), var(--fuego), var(--brasa), var(--nuez)); }
.accion { position: relative; display: flex; gap: 22px; align-items: flex-start; }
.accion__cod { flex: none; width: 74px; height: 74px; border-radius: 24px; display: grid; place-items: center; font-size: 1.5rem; font-weight: 800; color: #fff; background: var(--c); box-shadow: var(--sombra); position: relative; }
.accion--monte { --c: var(--monte); } .accion--nervio { --c: var(--nervio); } .accion--hoja { --c: var(--hoja-o); } .accion--tierra { --c: var(--tierra); } .accion--fuego { --c: var(--fuego-o); } .accion--brasa { --c: #B87508; } .accion--nuez { --c: #5F8A23; }
.accion > div { background: #fff; border-radius: 20px; padding: 18px 22px; box-shadow: var(--sombra); flex: 1; }
.accion h3 { font-size: 1.15rem; margin-bottom: .3em; }
.accion p { margin: 0; font-size: .96rem; color: var(--gris); }
.beneficios { display: grid; grid-template-columns: repeat(4, 1fr); gap: 18px; }
.benef { padding: 26px; border-radius: var(--r); background: rgba(255, 255, 255, .08); border: 1px solid rgba(255, 255, 255, .14); }
.benef svg { width: 44px; height: 44px; color: var(--brasa); margin-bottom: 14px; }
.benef h3 { font-size: 1.1rem; }
.benef p { margin: 0; font-size: .95rem; color: rgba(255, 255, 255, .86); }
.progreso { margin-top: 1.4em; }
.progreso__barra { height: 26px; border-radius: 999px; background: var(--crema2); overflow: hidden; box-shadow: inset 0 2px 6px rgba(0, 0, 0, .08); }
.progreso__lleno { display: block; height: 100%; border-radius: 999px; background: linear-gradient(90deg, var(--hoja), var(--nuez), var(--brasa)); transition: width 1.6s cubic-bezier(.2, .8, .2, 1); }
.progreso__eti { display: flex; justify-content: space-between; gap: 10px; font-size: .9rem; color: var(--gris); margin-top: .6em; }
.progreso__eti [data-progreso-txt] { font-weight: 800; color: var(--monte); text-align: center; }
.financ { background: #fff; border-radius: 32px; padding: clamp(26px, 5vw, 54px); box-shadow: var(--sombra-g); }
.financ__logos { display: flex; flex-wrap: wrap; align-items: center; gap: 24px 36px; margin-bottom: 28px; }
.financ__logos img, .pie__fin-logos img { height: var(--fin-h); width: auto; }
.financ h2 { font-size: clamp(1.6rem, 3vw, 2.3rem); }
.reparto { display: flex; height: 54px; border-radius: 16px; overflow: hidden; margin: 1.4em 0 .8em; font-weight: 800; font-size: .95rem; }
.reparto__p { display: flex; align-items: center; justify-content: center; color: #fff; white-space: nowrap; min-width: 0; }
.reparto__p--ue { background: #003399; } .reparto__p--mapa { background: #B8860B; font-size: .75rem; } .reparto__p--jccm { background: #8B1E2D; }
.reparto__ley { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 10px; font-size: .88rem; color: var(--gris); margin: 0; }
.reparto__ley .sw { width: 14px; height: 14px; border-radius: 4px; margin: 0 0 0 8px; }
.reparto__ley .sw:first-child { margin-left: 0; }
.sw--ue { background: #003399; } .sw--mapa { background: #B8860B; } .sw--jccm { background: #8B1E2D; }

/* ---------- Material ---------- */
.descargas { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; }
.desc { background: #fff; border-radius: var(--r); padding: 24px; box-shadow: var(--sombra); display: flex; flex-direction: column; gap: 6px; border-top: 8px solid var(--c, var(--monte)); transition: transform .3s; }
.desc:hover { transform: translateY(-5px); }
.desc--hoja { --c: var(--hoja); } .desc--fuego { --c: var(--fuego); } .desc--tierra { --c: var(--tierra); } .desc--brasa { --c: var(--brasa); } .desc--nuez { --c: var(--nuez); } .desc--nervio { --c: var(--nervio); }
.desc__tipo { align-self: flex-start; font-size: .75rem; font-weight: 800; letter-spacing: .1em; padding: .25em .7em; border-radius: 8px; background: var(--crema2); color: var(--monte); }
.desc h3 { font-size: 1.12rem; margin: .4em 0 .2em; }
.desc p { font-size: .92rem; color: var(--gris); flex: 1; }
.desc .btn { align-self: flex-start; padding: .65em 1.1em; font-size: .92rem; }
.desc__btns { display: flex; flex-wrap: wrap; gap: 8px; }
.desc--qr img { width: 110px; height: 110px; border-radius: 12px; }
.kit { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
.kit__item { padding: 26px; border-radius: var(--r); background: rgba(255, 255, 255, .08); border: 1px solid rgba(255, 255, 255, .14); display: flex; flex-direction: column; align-items: flex-start; gap: 10px; }
.kit__item p { margin: 0; color: rgba(255, 255, 255, .88); }
.kit__cita { margin: 0; padding: 14px 16px; border-radius: 14px; background: rgba(0, 0, 0, .2); font-size: .95rem; }
.kit__reglas { margin: 0; padding-left: 1.1em; font-size: .95rem; }
.kit__reglas li { margin-bottom: .5em; }
.galeria { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; }
.galeria li:nth-child(5n+1) { grid-row: span 2; }
.galeria a { display: block; height: 100%; border-radius: 18px; overflow: hidden; box-shadow: var(--sombra); }
.galeria picture, .galeria img { height: 100%; }
.galeria img { object-fit: cover; aspect-ratio: 4 / 3; transition: transform .5s; }
.galeria li:nth-child(5n+1) img { aspect-ratio: auto; }
.galeria a:hover img { transform: scale(1.06); }
.visor { border: 0; padding: 0; background: transparent; max-width: 100vw; max-height: 100vh; width: 100vw; height: 100vh; }
.visor::backdrop { background: rgba(6, 30, 17, .92); }
.visor[open] { display: grid; place-items: center; }
.visor img { max-width: min(92vw, 1600px); max-height: 82vh; width: auto; border-radius: 12px; }
.visor__pie { color: #fff; text-align: center; margin: 12px 0 0; }
.visor__cerrar, .visor__nav { position: fixed; border: 0; width: 52px; height: 52px; border-radius: 50%; background: rgba(255, 255, 255, .15); color: #fff; display: grid; place-items: center; }
.visor__cerrar svg, .visor__nav svg { width: 26px; height: 26px; }
.visor__cerrar { right: 18px; top: 18px; }
.visor__nav { top: 50%; transform: translateY(-50%); }
.visor__nav--ant { left: 14px; } .visor__nav--ant svg { transform: rotate(180deg); }
.visor__nav--sig { right: 14px; }

/* ---------- Contacto ---------- */
.contacto { display: grid; grid-template-columns: 1fr 1fr; gap: 30px; align-items: start; }
.contacto__vias { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.via { display: flex; flex-direction: column; gap: 4px; padding: 24px; border-radius: var(--r); color: #fff; text-decoration: none; box-shadow: var(--sombra); transition: transform .3s cubic-bezier(.2, .9, .3, 1.3); }
.via:hover { color: #fff; transform: translateY(-6px) rotate(-1deg); }
.via--mail { background: var(--monte); grid-column: span 2; } .via--ig { background: var(--ig); } .via--x { background: var(--x); }
.via--qr { background: #fff; color: var(--monte); grid-column: span 2; display: grid; grid-template-columns: auto 1fr; grid-template-areas: "qr red" "qr dato" "qr btn"; gap: 4px 20px; align-items: center; }
.via--qr:hover { color: var(--monte); transform: none; }
.via--qr img { grid-area: qr; width: 120px; height: 120px; }
.via--qr .via__red { grid-area: red; } .via--qr .via__dato { grid-area: dato; font-size: .95rem; font-weight: 500; } .via--qr .sh { grid-area: btn; justify-self: start; }
.via__ico svg { width: 38px; height: 38px; margin-bottom: 8px; }
.via__red { font-size: .82rem; font-weight: 700; text-transform: uppercase; letter-spacing: .1em; opacity: .85; }
.via__dato { font-size: 1.2rem; font-weight: 800; word-break: break-word; }
.formu { background: #fff; border-radius: 30px; padding: clamp(24px, 4vw, 40px); box-shadow: var(--sombra-g); display: grid; gap: 14px; }
.formu h2 { font-size: 2rem; margin: 0; }
.formu__nota { font-size: .88rem; color: var(--gris); margin: 0; }
.formu label { display: grid; gap: 6px; font-weight: 700; color: var(--monte); font-size: .95rem; }
.formu input, .formu select, .formu textarea { font: inherit; font-weight: 400; padding: .8em 1em; border-radius: 14px; border: 2px solid var(--linea); background: var(--crema); color: var(--tinta); }
.formu input:focus, .formu select:focus, .formu textarea:focus { border-color: var(--hoja); outline: none; background: #fff; }
.formu .btn { justify-self: start; }
.formu .invalido { border-color: var(--fuego); }

/* ---------- Legal y 404 ---------- */
.legal h2 { font-size: 1.5rem; margin-top: 1.6em; }
.legal h2:first-child { margin-top: 0; }
.oveja-perdida { width: 160px; height: 120px; margin: 0 auto 30px; color: var(--tierra); animation: bala 2.4s ease-in-out infinite; }
@keyframes bala { 50% { transform: translateY(-10px) rotate(-4deg); } }

/* ---------- Pie ---------- */
.pie { position: relative; background: var(--monte); color: rgba(255, 255, 255, .88); padding: 70px 0 30px; margin-top: 60px; }
.pie__ola { position: absolute; left: 0; right: 0; top: 1px; transform: translateY(-100%); width: 100%; height: 60px; color: var(--monte); }
.pie a { color: #fff; }
.pie a:hover { color: var(--brasa); }
.pie__cols { display: grid; grid-template-columns: 1.4fr 1fr 1.2fr; gap: 36px; margin-bottom: 44px; }
.pie__marca img { height: 44px; width: auto; margin-bottom: 16px; }
.pie__marca p { font-size: .95rem; max-width: 26em; }
.pie__tit { font-weight: 800; color: #fff; text-transform: uppercase; letter-spacing: .12em; font-size: .82rem; margin-bottom: .8em; }
.pie__nav ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 6px; }
.pie__nav a { text-decoration: none; }
.pie__mail { display: inline-flex; align-items: center; gap: .5em; font-weight: 700; text-decoration: none; margin-bottom: 14px; word-break: break-all; }
.pie__mail svg { width: 22px; height: 22px; flex: none; }
.pie__redes { display: flex; flex-wrap: wrap; gap: 8px; }
.pie__panel { background: #fff; color: var(--tinta); border-radius: 28px; padding: 28px clamp(20px, 4vw, 40px); }
.pie__panel-tit { font-size: .8rem; font-weight: 800; text-transform: uppercase; letter-spacing: .12em; color: var(--gris); margin-bottom: 14px; }
.pie__socios { display: flex; flex-wrap: wrap; align-items: center; gap: 18px 32px; padding-bottom: 24px; border-bottom: 1px solid var(--linea); margin-bottom: 24px; }
.pie__socios img { height: 32px; width: auto; }
.pie__ganaderos { font-size: .88rem; font-weight: 600; color: var(--gris); }
.pie__fin-logos { display: flex; flex-wrap: wrap; align-items: center; gap: 18px 36px; margin-bottom: 16px; }
.pie__leyenda { font-size: .82rem; line-height: 1.55; color: var(--gris); margin: 0; max-width: 980px; }
.pie__base { display: flex; flex-wrap: wrap; gap: 8px 28px; margin-top: 26px; font-size: .85rem; color: rgba(255, 255, 255, .7); }
.pie__base p { margin: 0; }

/* ---------- Aparición al desplazarse ---------- */
.rv { opacity: 0; transform: translateY(28px); transition: opacity .7s ease, transform .7s cubic-bezier(.2, .8, .2, 1); transition-delay: var(--d, 0ms); }
.rv.visto { opacity: 1; transform: none; }

/* ---------- Adaptación a pantallas ---------- */
@media (max-width: 1100px) {
  .cab__redes span { display: none; }
  .cab__redes .btn-red--ig { padding: .55em; }
  .descargas { grid-template-columns: repeat(3, 1fr); }
  .beneficios { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 980px) {
  .cab__burger { display: inline-flex; }
  .cab__redes { margin-left: auto; }
  .cab__burger { margin-left: 0; }
  .cab__nav { position: fixed; left: 0; right: 0; top: var(--nav-top, 120px); bottom: 0; background: var(--crema); padding: 24px 20px 120px; opacity: 0; transform: translateY(-12px); visibility: hidden; transition: opacity .25s, transform .3s cubic-bezier(.2, .8, .2, 1), visibility .3s; overflow-y: auto; margin: 0; }
  .menu-abierto .cab__nav { opacity: 1; transform: none; visibility: visible; }
  .cab__nav ul { flex-direction: column; gap: 6px; }
  .cab__nav a { font-size: 1.6rem; font-weight: 800; padding: .45em .7em; border-radius: 16px; }
  .cab__redes-movil { display: flex; gap: 10px; margin-top: 24px; flex-wrap: wrap; }
  .cab__nav .cab__redes-movil .btn-red { display: inline-flex; color: #fff; font-size: 1.1rem; font-weight: 700; padding: .8em 1.3em; border-radius: 999px; }
  .cab__nav .cab__redes-movil .btn-red:hover { background-color: transparent; }
  .cab__nav .cab__redes-movil .btn-red--x { background: var(--x); }
  .cab__nav .cab__redes-movil .btn-red--ig { background: var(--ig); }
  .serv-grid, .tnot-grid, .socios, .objetivos { grid-template-columns: repeat(2, 1fr); }
  .metas__grid { grid-template-columns: repeat(2, 1fr); }
  .ciclo__in, .dos-col, .ganaderos__in, .contacto, .pasalo__in { grid-template-columns: 1fr; }
  .ciclo__fig { order: -1; max-width: 460px; margin: 0 auto; width: 100%; }
  .mapa-caja { grid-template-columns: 1fr; }
  .mapa { height: 460px; }
  .mapa__leyenda { grid-template-columns: 1fr 1fr; }
  .rapca { position: static; transform: none; }
  .agenda-card { grid-template-columns: auto 1fr; }
  .agenda-card__btns { grid-column: 1 / -1; flex-direction: row; flex-wrap: wrap; }
  .kit { grid-template-columns: 1fr; }
  .pie__cols { grid-template-columns: 1fr 1fr; }
  .pie__marca { grid-column: 1 / -1; }
  .galeria { grid-template-columns: repeat(3, 1fr); }
}
@media (max-width: 720px) {
  :root { --fin-h: 32px; --cab-h: 62px; }
  body { font-size: 16px; padding-bottom: calc(72px + env(safe-area-inset-bottom)); }
  .finbar__in { padding: 7px 16px; gap: 6px; }
  .finbar__logos { gap: 12px; }
  .finbar__txt { font-size: .7rem; line-height: 1.35; flex-basis: 100%; }
  .finbar__largo { display: none; }
  .finbar__corto { display: inline; }
  .cab__in { padding: 0 16px; gap: 10px; }
  .cab__marca img { height: 30px; }
  .cab__redes .btn-red { padding: .5em; }
  .cab__burger { width: 44px; height: 44px; }
  .envoltura { padding: 0 16px; }
  .hero { min-height: auto; }
  .hero__in { padding-top: 48px; padding-bottom: 130px; }
  .hero__ctas .btn { width: 100%; }
  .sello { display: none; }
  .ticker span { font-size: .95rem; }
  .serv-grid, .tnot-grid, .socios, .objetivos, .modos, .redes__tarjetas, .contacto__vias, .descargas { grid-template-columns: 1fr; }
  .metas__grid { gap: 12px; }
  .meta { padding: 20px 18px; }
  .meta__txt { font-size: .92rem; }
  .agenda-card { grid-template-columns: 1fr; padding: 24px 20px; }
  .agenda-card__fecha { width: auto; display: flex; align-items: baseline; justify-content: center; gap: 10px; }
  .agenda-card__fecha b { font-size: 2.4rem; }
  .agenda-card__btns .btn { width: 100%; }
  .mapa { height: 400px; }
  .mapa__leyenda { grid-template-columns: 1fr; }
  .red-card { padding: 24px; grid-template-areas: "ico red" "ico user" "txt txt" "btn btn"; }
  .red-card__ico { width: 64px; height: 64px; border-radius: 20px; }
  .red-card__ico svg { width: 36px; height: 36px; }
  .via--mail, .via--qr { grid-column: auto; }
  .via--qr { grid-template-columns: 1fr; grid-template-areas: "qr" "red" "dato" "btn"; }
  .accion { gap: 14px; }
  .accion__cod { width: 56px; height: 56px; border-radius: 18px; font-size: 1.15rem; }
  .acciones::before { left: 26px; }
  .beneficios { grid-template-columns: 1fr; }
  .galeria { grid-template-columns: repeat(2, 1fr); }
  .pie__socios img, .socio__logo { height: 24px; }
  .pie__marca img { height: 32px; }
  .pie__cols { grid-template-columns: 1fr; }
  .noticia__nav { flex-direction: column; }
  .noticia__nav-a { max-width: none; }
  .noticia__nav-a--sig { margin-left: 0; }
  .dock { left: 0; right: 0; bottom: 0; flex-direction: row; gap: 0; padding: 8px 10px calc(8px + env(safe-area-inset-bottom)); background: rgba(255, 255, 255, .96); backdrop-filter: blur(10px); box-shadow: 0 -8px 24px -12px rgba(11, 68, 38, .4); }
  .dock__b { flex: 1; width: auto; height: 54px; border-radius: 16px; margin: 0 4px; box-shadow: none; display: flex; flex-direction: column; gap: 2px; justify-content: center; }
  .dock__b svg { width: 24px; height: 24px; }
  .dock__b span { position: static; opacity: 1; transform: none; background: none; padding: 0; font-size: .7rem; }
  .dock__b:hover, .dock__b:focus-visible { transform: none; }
  .dock__b:hover span { transform: none; }
  .dock__b--ig { animation: none; }
  .toast { bottom: calc(90px + env(safe-area-inset-bottom)); }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; scroll-behavior: auto !important; }
  .rv { opacity: 1; transform: none; }
  .ticker__pista { animation: none; }
}
@media print {
  .dock, .cab__burger, .cab__redes, .compartir, .ticker, .sello { display: none !important; }
  .cab { position: static; }
}
