/* TERRAVEX · sitio informativo — composición propia de cada página (a partir de la v4 aceptada). */

/* Ritmo vertical común */
.sec { padding-block: clamp(4.5rem, 9vw, 8rem); }
.sec-head { display: grid; gap: 1.25rem; margin-bottom: clamp(2.25rem, 5vw, 3.75rem); }
.sec-head .h2 { max-width: 18ch; }
.acciones { display: flex; flex-wrap: wrap; align-items: center; gap: .9rem 1.4rem; }

/* ===================================================================
   Escenas ilustradas (bosque, suelo y raíces): movimiento breve al cargar
   =================================================================== */
.tv-tierra { fill: var(--humus); }
.tv-linea { stroke: var(--surco); }
.tv-hoja { opacity: .95; }
.tv-r-prin { fill: #D1AC7E; }
.tv-r-sec { fill: #BE9A6F; }
.tv-r-fondo { fill: #8C7357; opacity: .6; }
.tv-pelos { fill: none; stroke: #D8BC93; stroke-width: .9; stroke-linecap: round; opacity: .45; }
.tv-r-fondo .tv-pelos { opacity: .5; }
.tv-hifas path { stroke: #EED7A4; stroke-width: .7; opacity: .24; }
.tv-hifas circle { fill: #EED7A4; opacity: .55; }
.tv-gotas { fill: #58C4DA; opacity: .9; }
@media (prefers-reduced-motion: no-preference) {
  .tv .tv-a { transform-box: fill-box; transform-origin: 50% 100%; animation: tv-brota 1100ms var(--ease-out-expo) both; animation-delay: calc(80ms + var(--i) * 45ms); }
  /* las raíces crecen hacia abajo: se descubren de arriba abajo */
  .tv .tv-raices { animation: tv-raiz 1700ms var(--ease-out) 350ms both; }
  .tv .tv-hifas, .tv .tv-gotas { animation: tv-aparece 900ms ease both; animation-delay: 1500ms; }
}
@keyframes tv-brota { from { opacity: 0; transform: translateY(6%) scaleY(.84); } }
@keyframes tv-raiz { from { clip-path: inset(0 0 100% 0); } to { clip-path: inset(0 0 0 0); } }
@keyframes tv-aparece { from { opacity: 0; } }

/* ===================================================================
   INICIO
   =================================================================== */
/* 1 · Portada */
.pt-aire { padding: calc(var(--hdr-space) + clamp(1.25rem, 3.5vh, 2.75rem)) 0 clamp(2.25rem, 5vh, 3.5rem); }
.pt-texto { container-type: inline-size; }
.pt-ceja { color: var(--ink-2); margin-bottom: 1.15rem; }
.pt-title { font-size: min(var(--t-h1), 13cqi, 1rem + 6.4svh); font-weight: 780; line-height: 1.02; letter-spacing: -.032em; max-width: 14ch; }
.pt-title .acento { display: block; color: var(--arcilla); letter-spacing: -.015em; } /* en su propia línea: el titular no cambia de forma al llegar la fuente */
.pt-lead { margin-top: clamp(1.1rem, 2.4vh, 1.6rem); max-width: 44ch; }
.pt-acciones { display: flex; flex-wrap: wrap; align-items: center; gap: .8rem; margin-top: clamp(1.4rem, 3vh, 2rem); }
.pt-estado { flex-basis: 100%; margin-top: .2rem; color: var(--ink-2); font-size: .92rem; }
/* Pantallas estrechas: el estado de la campaña queda justo bajo «Conoce la iniciativa» */
@media (max-width: 599px) {
  .pt-acciones { gap: .7rem; }
  .pt-btn-ini { order: 1; }
  .pt-estado { order: 2; margin: 0 0 .3rem; }
  .pt-btn-hum { order: 3; }
}
/* Pantallas bajas y estrechas: etiqueta en una línea y descripción algo más compacta */
@media (max-width: 380px) { .pt-ceja { font-size: .68rem; letter-spacing: .07em; } }
@media (max-width: 599px) and (max-height: 700px) { .pt-lead { font-size: 1.0625rem; line-height: 1.48; } .pt-aire { padding-top: calc(var(--hdr-space) + .9rem); } }

.pt-escena { position: relative; overflow: hidden; }
.pt-lienzo { position: relative; }
.pt-veg, .pt-suelo { width: 100%; height: auto; }
.pt-veg { background: var(--paper); overflow: visible; }
.pt-nota { position: absolute; right: var(--gutter); bottom: .9rem; max-width: 30ch; text-align: right; font-size: .78rem; line-height: 1.35; color: var(--on-dark-2); }

/* Móvil y tableta: primero el mensaje y las acciones; después la escena, recortada hacia el bosque */
@media (max-width: 959px) {
  .pt-escena { background: var(--paper); }
  .pt-suelo, .pt-nota { background: var(--humus); }
  .pt-lienzo { width: 178%; margin-left: -78%; }
  .pt-nota { position: static; max-width: none; text-align: left; padding: 0 var(--gutter) 1.1rem; }
}
@media (min-width: 600px) and (max-width: 959px) { .pt-lienzo { width: 135%; margin-left: -35%; } }

/* Escritorio: el texto ocupa el claro; el bosque crece a su derecha sobre la línea del suelo */
@media (min-width: 960px) {
  .pt-aire { min-height: calc(100vw * 720 / 1600 + 2.5rem); }
  .pt-texto > * { max-width: min(37rem, calc(46vw - var(--gutter) - max(0px, (100vw - var(--maxw)) / 2))); }
  .pt-escena { overflow: visible; }
  .pt-veg { position: absolute; left: 0; bottom: calc(100% - 1px); background: none; pointer-events: none; }
}

/* 2 · El suelo sostiene */
.s-suelo { padding: clamp(1.5rem, 3vw, 2.5rem) 0 clamp(4.5rem, 8vw, 7rem); }
.ss-head { display: grid; gap: 1.25rem; max-width: 62rem; margin-bottom: clamp(2.5rem, 5vw, 4rem); }
.ss-head .h2 { max-width: 17ch; }
.ss-texto { max-width: var(--medida); color: var(--on-dark-2); }
@media (min-width: 900px) { .ss-head { grid-template-columns: 1fr 1fr; gap: 3rem; align-items: end; } }
.lupas { display: grid; gap: 2.5rem 2rem; }
@media (min-width: 720px) { .lupas { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.lupa { display: grid; justify-items: start; gap: .5rem; }
.lupa-arte { width: min(100%, 15rem); height: auto; margin-bottom: .9rem; }
.lupa-aro { stroke: var(--surco); }
.lp-cielo { fill: var(--paper); }
.lupa-t { font-size: var(--t-h3); }
.lupa p { max-width: 30ch; color: var(--on-dark-2); }
.ss-mas { margin-top: clamp(2.5rem, 5vw, 3.5rem); }
.s-suelo .link-arrow { color: var(--surco); }

/* 3 · Prioridad */
.s-prioridad { padding-block: clamp(4.5rem, 9vw, 8rem); }
.prio-in { display: grid; gap: clamp(2.5rem, 5vw, 4.5rem); align-items: start; }
@media (min-width: 1000px) { .prio-in { grid-template-columns: minmax(0, 1.15fr) minmax(0, .85fr); } }
.prio-texto .h2 { max-width: 14ch; margin-bottom: 1.5rem; }
.prio-texto .texto { color: var(--on-dark-2); }
.orden { display: grid; gap: .1rem; margin-top: 2.25rem; border-top: 1px solid var(--rule); }
.orden li { display: flex; align-items: baseline; gap: 1rem; padding: .85rem 0; border-bottom: 1px solid var(--rule); }
.o-n { flex: none; width: 5.5rem; font: 650 .8rem var(--f-display); letter-spacing: .1em; text-transform: uppercase; color: var(--on-dark-2); }
.o-t { font-family: var(--f-display); font-weight: 720; letter-spacing: -.015em; line-height: 1.1; }
.o-1 .o-t { font-size: clamp(1.7rem, 1.2rem + 1.8vw, 2.5rem); color: var(--lima); }
.o-1 .o-n { color: var(--lima); }
.o-2 .o-t { font-size: clamp(1.25rem, 1.05rem + .7vw, 1.55rem); }
.o-3 .o-t { font-size: 1.15rem; color: var(--on-dark-2); }
.dato { padding: clamp(1.5rem, 3vw, 2.25rem); border-radius: 1.5rem; background: var(--forest-deep); box-shadow: inset 0 0 0 1px oklch(94% .02 84 / .1); }
.dato-ceja { color: var(--surco); margin-bottom: 1rem; }
.dato-cifra { display: grid; gap: .1rem; margin-bottom: 1.1rem; }
.dato-num { font: 780 clamp(3.2rem, 2rem + 4.5vw, 5.4rem)/.95 var(--f-display); letter-spacing: -.035em; color: var(--on-dark); }
.dato-u { font: 600 1.05rem var(--f-display); color: var(--on-dark-2); }
.dato-texto { font-size: 1.05rem; line-height: 1.55; }
.dato-fuente { margin-top: 1rem; font-size: .9rem; line-height: 1.5; color: var(--on-dark-2); }
.dato-fuente a { color: var(--on-dark); text-underline-offset: .2em; }
.dato-aclara { margin-top: 1rem; padding-top: 1rem; border-top: 1px solid var(--rule); font: 600 .92rem/1.45 var(--f-display); color: var(--surco); }

/* 4 · Colaboración */
.s-colabora { padding-block: clamp(4.5rem, 9vw, 8rem); }
.col-head { display: grid; gap: 1.25rem; margin-bottom: clamp(2.5rem, 5vw, 3.75rem); }
.col-head .h2 { max-width: 16ch; }
@media (min-width: 900px) { .col-head { grid-template-columns: 1fr 1fr; gap: 3rem; align-items: end; } }
.secuencia { display: grid; gap: 1.5rem; margin-bottom: 2rem; }
@media (min-width: 900px) { .secuencia { grid-template-columns: 4fr 3fr; gap: 0; } }
.sec-tramo { position: relative; padding: 1.5rem 1.5rem 1.6rem; border-radius: 1.25rem; background: var(--bone); }
.sec-despues { background: none; box-shadow: inset 0 0 0 1.5px var(--rule); }
@media (min-width: 900px) { .sec-tramo { border-radius: 1.25rem 0 0 1.25rem; } .sec-despues { border-radius: 0 1.25rem 1.25rem 0; } }
.sec-cab { font: 650 .8rem var(--f-display); letter-spacing: .12em; text-transform: uppercase; color: var(--ink-2); margin-bottom: 1rem; }
.sec-lista { display: grid; gap: .8rem; counter-reset: paso var(--inicio, 0); }
.sec-despues .sec-lista { --inicio: 4; }
@media (min-width: 600px) { .sec-lista { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 900px) { .sec-tramo:first-child .sec-lista { grid-template-columns: repeat(4, minmax(0, 1fr)); } .sec-despues .sec-lista { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.sec-lista li { counter-increment: paso; display: grid; gap: .5rem; font: 650 1.08rem/1.25 var(--f-display); }
.sec-lista li::before { content: counter(paso, decimal-leading-zero); display: grid; place-items: center; width: 2.3rem; height: 2.3rem; border-radius: 50%; background: var(--forest); color: var(--on-dark); font: 650 .82rem var(--f-display); }
.sec-despues li::before { background: none; box-shadow: inset 0 0 0 1.5px var(--forest); color: var(--forest); }

/* 5 · Producto */
.s-humus { padding-block: clamp(4.5rem, 9vw, 7.5rem); }
.hum-in { display: grid; gap: clamp(2rem, 5vw, 4.5rem); align-items: center; }
@media (min-width: 900px) { .hum-in { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); } }
.hum-arte { border-radius: 1.75rem; background: radial-gradient(ellipse 80% 70% at 50% 95%, oklch(32% .04 55), var(--humus) 70%); padding: clamp(1.5rem, 4vw, 3rem) clamp(1rem, 3vw, 2.5rem) 0; overflow: hidden; }
.hum-arte svg { width: 100%; height: auto; }
.hum-texto { display: grid; gap: 1.2rem; justify-items: start; }
.hum-texto .eyebrow { color: var(--arcilla); }
.hum-texto .h2 { max-width: 15ch; }

/* 6 · Cierre */
.s-cierre { padding: 0 0 clamp(4rem, 8vw, 6rem); }
.cierre { position: relative; overflow: hidden; border-radius: clamp(1.25rem, 3vw, 2.25rem); background: var(--forest); color: var(--on-dark); --focus: var(--lima); }
.cierre-in { position: relative; z-index: 1; display: grid; gap: 1.25rem; justify-items: start; padding: clamp(2.5rem, 6vw, 5rem) clamp(1.5rem, 5vw, 4.5rem) clamp(7rem, 12vw, 10rem); }
.cierre .h2 { max-width: 15ch; }
.cierre .texto { color: var(--on-dark-2); }
.cierre-acciones { display: flex; flex-wrap: wrap; gap: .9rem; margin-top: .5rem; }
.franja { position: absolute; left: 0; right: 0; bottom: 0; width: 100%; height: clamp(5rem, 11vw, 9rem); color: var(--forest-deep); }
.cierre-corto .cierre-in { padding-bottom: clamp(6.5rem, 11vw, 9rem); }
.cierre-corto .h2 { max-width: 20ch; }
.cierre .nota { color: var(--on-dark-2); }

/* ===================================================================
   INICIATIVA: una raíz crece con el desplazamiento y une cada tramo
   =================================================================== */
.raiz-scroll { position: relative; isolation: isolate; --trunk: clamp(.6rem, 2.2vw, 2.2rem); --gap: clamp(1.2rem, 2.6vw, 2.6rem); }
.raiz-svg { position: absolute; z-index: 2; inset: 0; width: 100%; height: 100%; pointer-events: none; overflow: visible; }
.raiz-g path { fill: none; stroke-linecap: round; }
.raiz-g .r-tronco { stroke: oklch(84% .17 128 / .9); stroke-width: 3; }
.raiz-g .r-rama { stroke: oklch(84% .17 128 / .6); stroke-width: 1.8; transition: stroke-dashoffset 900ms var(--ease-out); }
.raiz-g .r-pelo { stroke: oklch(80% .06 76 / .5); stroke-width: 1; transition: stroke-dashoffset 700ms var(--ease-out) 200ms; }
.raiz-scroll .wrap { padding-left: calc(var(--gutter) + var(--trunk) + var(--gap)); }
.raiz-scroll section { position: relative; }
.in-hero-in, .in-cab { position: relative; }
.raiz-nodo { position: absolute; z-index: 3; left: calc(-1 * var(--gap) - 7px); top: .4rem; width: 14px; height: 14px; border-radius: 50%; background: var(--forest-deep); box-shadow: inset 0 0 0 2px oklch(84% .17 128 / .55); transition: background-color 400ms ease, box-shadow 400ms ease, transform 400ms var(--ease-out-expo); }
.raiz-nodo.is-lit { background: var(--lima); box-shadow: 0 0 0 6px oklch(84% .17 128 / .18); transform: scale(1.1); }
.in-hero-in > .raiz-nodo { top: auto; bottom: -3rem; }
.no-js .raiz-scroll section::before { content: ""; position: absolute; z-index: 1; top: 0; bottom: 0; width: 3px; border-radius: 3px; left: calc(max(0px, (100% - var(--maxw)) / 2) + var(--gutter) + var(--trunk) - 1.5px); background: oklch(84% .17 128 / .75); }
.no-js .raiz-nodo { background: var(--lima); box-shadow: 0 0 0 6px oklch(84% .17 128 / .18); }
@media (prefers-reduced-motion: reduce) { .raiz-nodo, .raiz-g path { transition: none !important; } }

.in-hero { overflow: hidden; padding: calc(var(--hdr-space) + clamp(2.5rem, 7vh, 5rem)) 0 clamp(8rem, 16vw, 13rem); }
.in-hero .franja { height: clamp(6rem, 14vw, 12rem); color: oklch(25% .048 166); }
.in-hero .wrap { position: relative; z-index: 1; }
.in-pill { color: var(--on-dark); --pill: var(--lima); margin-bottom: 1.6rem; }
.in-title { font-size: var(--t-h1); font-weight: 780; letter-spacing: -.032em; line-height: 1.02; max-width: 15ch; }
.in-lead { margin-top: 1.5rem; max-width: 52ch; color: var(--on-dark-2); }
.in-acciones { margin-top: 2rem; }
.in-sec { padding-block: clamp(4rem, 8vw, 6.5rem); }
.in-cab { margin-bottom: clamp(2rem, 4vw, 3rem); }
.in-n { color: var(--lima); margin-bottom: .8rem; }
.in-cab .h2 { max-width: 18ch; }
.impulsa { display: grid; gap: 1.75rem 2.5rem; }
@media (min-width: 900px) { .impulsa { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.impulsa li { padding-top: 1.25rem; border-top: 2px solid oklch(84% .17 128 / .5); }
.impulsa .h3 { margin-bottom: .6rem; }
.impulsa p, .in-matiz { color: var(--on-dark-2); }
.in-matiz { max-width: var(--medida); margin-top: clamp(2rem, 4vw, 3rem); padding-left: 1.1rem; border-left: 3px solid var(--surco); }

.donde { display: grid; gap: 1.25rem; }
@media (min-width: 900px) { .donde { grid-template-columns: 1fr 1fr; } .d-1 { grid-column: 1 / -1; } }
.donde li { border-radius: 1.5rem; padding: clamp(1.4rem, 3vw, 2rem); background: oklch(94% .02 84 / .05); box-shadow: inset 0 0 0 1px var(--rule); }
.donde p { color: var(--on-dark-2); max-width: 46ch; }
.d-orden { font: 650 .8rem var(--f-display); letter-spacing: .12em; text-transform: uppercase; color: var(--on-dark-2); margin-bottom: .5rem; }
.d-t { font-size: clamp(1.5rem, 1.2rem + 1vw, 2rem); margin-bottom: .6rem; }
.d-1 { display: grid; gap: 1.5rem; padding: 0 !important; overflow: hidden; background: var(--forest) !important; }
.d-1 .d-texto { padding: 0 clamp(1.4rem, 3vw, 2.25rem) clamp(1.4rem, 3vw, 2.25rem); }
.d-1 .d-orden { color: var(--lima); }
.d-1 .d-t { font-size: clamp(2rem, 1.4rem + 2.4vw, 3.2rem); color: var(--lima); }
.d-1 p { font-size: 1.12rem; }
.d-1 .d-nota { margin-top: 1rem; font-size: .98rem; }
.d-arte { aspect-ratio: 16 / 10; background: var(--paper); }
.d-arte svg { width: 100%; height: 100%; }
@media (min-width: 900px) { .d-1 { grid-template-columns: 1.1fr 1fr; align-items: center; } .d-1 .d-texto { padding: 2.25rem 2.25rem 2.25rem 0; } .d-arte { aspect-ratio: auto; height: 100%; min-height: 24rem; } }

.pasos { display: grid; max-width: 52rem; }
.pasos li { display: grid; grid-template-columns: 3rem 1fr; gap: 1rem; align-items: baseline; padding: 1.1rem 0; border-top: 1px solid var(--rule); }
.pasos li:last-child { border-bottom: 1px solid var(--rule); }
.p-n { font: 760 1.6rem/1 var(--f-display); color: var(--lima); }
.pasos p { font-size: 1.12rem; color: var(--on-dark-2); }
.pasos strong { color: var(--on-dark); font-weight: 680; }

.in-antes { padding-block: clamp(4.5rem, 9vw, 7rem); }
.antes-in { display: grid; gap: 2rem 4rem; }
@media (min-width: 900px) { .antes-in { grid-template-columns: 1fr 1.1fr; } }
.antes-ceja { color: var(--arcilla); margin-bottom: .8rem; }
.antes-texto { display: grid; gap: 1.5rem; justify-items: start; }
.antes-texto > p { max-width: var(--medida); }
.antes-estado { width: 100%; border-top: 1px solid var(--rule); }
.antes-estado li { display: flex; flex-wrap: wrap; justify-content: space-between; gap: .25rem 1rem; padding: .9rem 0; border-bottom: 1px solid var(--rule); }
.antes-estado strong { font-family: var(--f-display); font-weight: 680; color: var(--arcilla); }

.in-participar { padding-block: clamp(4.5rem, 9vw, 7rem); }
.part-head { display: grid; gap: 1rem; margin-bottom: clamp(2rem, 4vw, 3rem); }
.formas { display: grid; gap: 1rem; }
@media (min-width: 700px) { .formas { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 1100px) { .formas { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
.forma { display: grid; align-content: start; gap: .7rem; padding: 1.5rem; border-radius: 1.25rem; background: var(--paper); box-shadow: inset 0 0 0 1px var(--rule); }
.forma .link-arrow { margin-top: auto; padding-top: .5rem; }
.f-din { background: none; box-shadow: inset 0 0 0 1.5px var(--rule); }
.forma .estado { color: var(--arcilla); }
.part-nota { margin-top: 1.5rem; }

/* ===================================================================
   SUELO Y VIDA
   =================================================================== */
.sv-hero { padding: calc(var(--hdr-space) + clamp(2rem, 5vh, 4rem)) 0 clamp(4rem, 8vw, 6.5rem); }
.sv-hero-in { display: grid; gap: clamp(2.5rem, 5vw, 4.5rem); align-items: start; }
@media (min-width: 1000px) { .sv-hero-in { grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr); } }
.sv-ceja { color: var(--arcilla); margin-bottom: 1.1rem; }
.sv-title { font-size: var(--t-h1); font-weight: 780; letter-spacing: -.032em; line-height: 1.02; max-width: 15ch; margin-bottom: 1.5rem; }
.sv-mas { margin-top: clamp(2rem, 5vw, 3.5rem); padding-top: 1.5rem; border-top: 1px solid var(--rule); max-width: var(--medida); display: grid; gap: .8rem; }
.perfil { display: grid; gap: 1.25rem; }
@media (min-width: 560px) { .perfil { grid-template-columns: minmax(0, 15rem) minmax(0, 1fr); align-items: start; } .perfil figcaption { grid-column: 1 / -1; } }
.perfil-marco { border-radius: 1.25rem; overflow: hidden; box-shadow: 0 0 0 1px var(--rule); }
.perfil-arte { width: 100%; height: auto; }
.pf-cielo { fill: var(--paper); }
.pf-letra { font: 760 34px var(--f-display); fill: oklch(95% .018 84); }
.pf-letra:not(.claro) { fill: var(--ink); }
.perfil-capas { display: grid; gap: 1rem; }
.perfil-capas li { display: grid; grid-template-columns: 2.4rem 1fr; gap: .8rem; align-items: baseline; font-size: 1.02rem; line-height: 1.45; }
.capa-n { display: grid; place-items: center; width: 2.4rem; height: 2.4rem; border-radius: .6rem; font: 760 1.1rem var(--f-display); color: var(--on-dark); background: var(--humus); }
.perfil-capas li:nth-child(1) .capa-n { background: oklch(40% .06 75); }
.perfil-capas li:nth-child(3) .capa-n { background: oklch(46% .09 50); }
.perfil-capas li:nth-child(4) .capa-n { background: oklch(66% .04 70); color: var(--ink); }
.perfil figcaption { font-size: .9rem; color: var(--ink-2); }
@media (prefers-reduced-motion: no-preference) {
  .js .perfil .pf-r { stroke-dasharray: 1 1; stroke-dashoffset: 1; transition: stroke-dashoffset 1400ms var(--ease-out); transition-delay: calc(300ms + var(--n) * 280ms); }
  .js .perfil.is-in .pf-r { stroke-dashoffset: 0; }
}

.sv-agua { padding-block: clamp(4.5rem, 9vw, 7.5rem); }
.sv-agua .sec-head .h2 { max-width: 20ch; }
.ag-control { border: 0; margin: 0 0 1.25rem; padding: 0; display: flex; flex-wrap: wrap; align-items: center; gap: .75rem 1rem; }
.ag-control legend { float: left; margin-right: .5rem; font: 650 .95rem var(--f-display); }
.seg { display: inline-flex; padding: 4px; border-radius: 999px; background: var(--paper); box-shadow: inset 0 0 0 1px var(--rule); }
.seg label { position: relative; display: inline-flex; cursor: pointer; }
.seg input { position: absolute; inset: 0; opacity: 0; cursor: pointer; margin: 0; }
.seg span { display: inline-flex; align-items: center; min-height: 2.75rem; padding: 0 1.15rem; border-radius: 999px; font: 650 .98rem var(--f-display); transition: background-color 200ms ease, color 200ms ease; }
.seg input:checked + span { background: var(--forest); color: var(--on-dark); }
.seg input:focus-visible + span { outline: 3px solid var(--ink); outline-offset: 2px; }
.ag-cuerpo { display: grid; gap: 2rem; }
@media (min-width: 1000px) { .ag-cuerpo { grid-template-columns: minmax(0, 1.55fr) minmax(0, 1fr); align-items: start; } }
.ag-figura { display: grid; gap: .6rem; }
.ag-arte { width: 100%; height: auto; border-radius: 1.25rem; box-shadow: 0 0 0 1px var(--rule); }
.ag-figura figcaption { font-size: .9rem; color: var(--ink-2); }
.ag-cielo { fill: oklch(95% .02 220); }
.ag-nube { fill: oklch(99% .005 220); }
.ag-lluvia { stroke: oklch(62% .1 225 / .7); fill: none; }
.ag-ruta { stroke: #1F7E9E; transition: stroke-width 300ms ease, opacity 300ms ease; }
.ag-num circle { fill: var(--ink); }
.ag-num text { fill: var(--paper); font: 700 18px var(--f-display); }
.ag-cobertura { transition: opacity 400ms ease; }
.ag-desnudo, .ag-sedimento { opacity: 0; transition: opacity 400ms ease; }
.ag-sedimento { fill: #7A5636; }
.agua:has(input[value="sin"]:checked) .ag-cobertura { opacity: .12; }
.agua:has(input[value="sin"]:checked) .ag-desnudo, .agua:has(input[value="sin"]:checked) .ag-sedimento { opacity: 1; }
.agua:has(input[value="sin"]:checked) .r-infiltra { stroke-width: 2.5; }
.agua:has(input[value="sin"]:checked) .r-escurre { stroke-width: 9; }
.agua:has(input[value="sin"]:checked) .r-intercepta, .agua:has(input[value="sin"]:checked) .r-usa, .agua:has(input[value="sin"]:checked) .r-transpira { opacity: .2; }
.ag-e-sin { display: none; }
.agua:has(input[value="sin"]:checked) .ag-e-sin { display: block; }
.agua:has(input[value="sin"]:checked) .ag-e-con { display: none; }
@media (prefers-reduced-motion: reduce) { .ag-ruta, .ag-cobertura, .ag-desnudo, .ag-sedimento { transition: none; } }
.ag-leyenda { display: grid; gap: 1.1rem; }
.ag-estado { padding: 1rem 1.15rem; border-radius: 1rem; background: var(--paper); box-shadow: inset 0 0 0 1px var(--rule); }
.rutas { display: grid; gap: .55rem; }
.rutas li { display: grid; grid-template-columns: 1.9rem 1fr; gap: .6rem; align-items: baseline; font-size: 1.02rem; line-height: 1.45; }
.ru-n { display: grid; place-items: center; width: 1.7rem; height: 1.7rem; border-radius: 50%; background: var(--ink); color: var(--paper); font: 700 .85rem var(--f-display); }

.sv-recuperar { padding-block: clamp(4.5rem, 9vw, 7.5rem); }
.sv-recuperar .texto { color: var(--on-dark-2); }
.caminos { display: grid; gap: 1px; border-radius: 1.25rem; overflow: hidden; background: var(--rule); }
@media (min-width: 640px) { .caminos { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 1000px) { .caminos { grid-template-columns: repeat(5, minmax(0, 1fr)); } }
.caminos li { display: grid; gap: 1rem; align-content: start; padding: 1.4rem; background: var(--forest); font: 680 1.1rem/1.25 var(--f-display); }
.caminos svg { width: 2.6rem; height: 2.6rem; fill: none; stroke: var(--lima); stroke-width: 2.4; stroke-linecap: round; stroke-linejoin: round; }
.caminos-nota { margin-top: 2rem; max-width: var(--medida); color: var(--on-dark-2); padding-left: 1.1rem; border-left: 3px solid var(--surco); }

.sv-mexico { padding-block: clamp(4.5rem, 9vw, 7.5rem); }
.mx-in { display: grid; gap: clamp(2rem, 5vw, 4rem); align-items: start; }
@media (min-width: 1000px) { .mx-in { grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); } }
.mx-texto { display: grid; gap: 1rem; max-width: var(--medida); }
.mx-texto .h2 { margin-bottom: .5rem; }
.mx-tabla { display: grid; gap: 1.25rem; }
.mx-tabla table { width: 100%; border-collapse: collapse; font-variant-numeric: tabular-nums; }
.mx-tabla caption { text-align: left; font: 650 1rem/1.4 var(--f-display); margin-bottom: .8rem; }
.mx-tabla th, .mx-tabla td { padding: .7rem .5rem; border-bottom: 1px solid var(--rule); text-align: left; }
.mx-tabla thead th { font: 650 .78rem var(--f-display); letter-spacing: .1em; text-transform: uppercase; color: var(--ink-2); }
.mx-tabla tbody th { font-weight: 650; font-family: var(--f-display); }
.mx-tabla td:nth-child(2) { text-align: right; white-space: nowrap; }
.mx-tabla td:last-child { width: 45%; }
.mx-tabla tfoot th, .mx-tabla tfoot td { font: 760 1.1rem var(--f-display); border-bottom: 0; border-top: 2px solid var(--ink); }
.barra { display: block; height: .7rem; width: calc(var(--v) * 100%); border-radius: 999px; background: var(--arcilla); }
.mx-tabla figcaption { display: grid; gap: .8rem; font-size: .95rem; line-height: 1.55; color: var(--ink-2); }
.mx-tabla figcaption a { color: var(--ink); }

.sv-cuenta { padding-block: clamp(4.5rem, 9vw, 7rem) clamp(3rem, 6vw, 4.5rem); }
.cuenta { display: grid; gap: 1rem; align-items: stretch; }
@media (min-width: 800px) { .cuenta { grid-template-columns: 1fr auto 1fr; } }
.cu-col { padding: 1.5rem; border-radius: 1.25rem; background: var(--paper); box-shadow: inset 0 0 0 1px var(--rule); display: grid; gap: .9rem; align-content: start; }
.cu-col ul { display: grid; gap: .35rem; font: 600 1.15rem var(--f-display); }
.cu-res { background: var(--forest); color: var(--on-dark); }
.cu-res .eyebrow { color: var(--lima); }
.cu-dice { color: var(--ink-2); }
.cu-res .cu-dice { color: var(--on-dark-2); }
.cu-signo { align-self: center; justify-self: center; font: 700 2.6rem var(--f-display); color: var(--arcilla); }
.p-suelo .s-cierre { padding-top: clamp(2rem, 4vw, 3rem); }

/* ===================================================================
   HUMUS
   =================================================================== */
.hm-hero { position: relative; overflow: hidden; min-height: min(100svh, 62rem); display: flex; align-items: flex-end; padding: calc(var(--hdr-space) + 1rem) 0 clamp(3.5rem, 8vh, 5.5rem); }
.hm-punado { position: absolute; inset: 0; }
.punado-canvas { width: 100%; height: 100%; }
/* Sin JavaScript: el mismo material como ilustración estática */
.no-js .punado-canvas { display: none; }
.no-js .hm-monton { display: block; position: absolute; right: 1%; bottom: -4px; width: min(60%, 56rem); height: auto; }
/* En tableta y móvil ocupa el hueco reservado sobre la etiqueta, como el puñado interactivo */
@media (max-width: 999px) { .no-js .hm-monton { right: auto; left: 50%; bottom: auto; top: calc(var(--hdr-space) + .5rem); translate: -50% 0; width: min(100%, 46rem); height: 14rem; } }
@media (max-width: 600px) { .no-js .hm-monton { height: 10rem; width: 100%; } }
.hm-hero-in { position: relative; width: 100%; }
.hm-ceja { color: var(--surco); margin-bottom: 1rem; width: max-content; max-width: 100%; }
.hm-title { font-size: var(--t-h1); font-weight: 780; letter-spacing: -.032em; line-height: 1.02; max-width: 13ch; }
.hm-sub { display: block; margin-top: .3em; font-size: .5em; font-weight: 600; letter-spacing: -.015em; line-height: 1.15; color: var(--surco); max-width: 22ch; }
.hm-copy { margin-top: 1.5rem; max-width: 40rem; }
.hm-copy .lead { color: var(--on-dark-2); max-width: 50ch; }
.hm-copy .acciones { margin-top: 1.75rem; }
.hm-copy .link-arrow { color: var(--on-dark); }
.punado-pista { position: absolute; right: var(--gutter); bottom: 1.25rem; font: 600 .78rem var(--f-display); letter-spacing: .1em; text-transform: uppercase; color: var(--on-dark-2); }
@media (hover: none), (prefers-reduced-motion: reduce) { .punado-pista { display: none; } }
.no-js .punado-pista { display: none; }
@media (max-width: 999px) { .hm-hero { min-height: 0; padding-top: calc(var(--hdr-space) + 15rem); } }
@media (max-width: 600px) { .hm-hero { padding-top: calc(var(--hdr-space) + 11rem); } }

.hm-que { padding-block: clamp(4.5rem, 9vw, 7rem); }
.que-in { display: grid; gap: clamp(2rem, 5vw, 4rem); align-items: center; }
@media (min-width: 1000px) { .que-in { grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); } }
.que-texto .h2 { margin-bottom: 1.25rem; }
.proceso { display: grid; gap: .8rem; }
.proc-pasos { display: grid; gap: 1rem; }
@media (min-width: 600px) { .proc-pasos { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.proc-pasos li { display: grid; gap: .4rem; align-content: start; padding: 1.25rem; border-radius: 1.25rem; background: var(--paper); box-shadow: inset 0 0 0 1px var(--rule); }
.proc-pasos svg { width: 100%; max-width: 9rem; height: auto; margin-bottom: .4rem; }
.pp-t { font: 700 1.08rem/1.2 var(--f-display); }
.pp-d { font-size: .98rem; color: var(--ink-2); }
.proceso figcaption { font-size: .9rem; color: var(--ink-2); }

.hm-evaluar { padding-block: clamp(4.5rem, 9vw, 7rem); }
.usos { display: grid; border-top: 1px solid var(--rule); }
@media (min-width: 800px) { .usos { grid-template-columns: repeat(4, minmax(0, 1fr)); border-top: 0; } }
.usos li { display: flex; gap: 1rem; align-items: baseline; padding: 1.1rem 0; border-bottom: 1px solid var(--rule); }
@media (min-width: 800px) { .usos li { display: grid; gap: .6rem; padding: 1.25rem 1.25rem 1.25rem 0; border-bottom: 0; border-top: 2px solid var(--ink); } }
.uso-n { font: 650 .85rem var(--f-display); color: var(--arcilla); }
.uso-t { font: 720 clamp(1.3rem, 1.1rem + .8vw, 1.8rem)/1.1 var(--f-display); letter-spacing: -.015em; }

.hm-lote { padding-block: clamp(4.5rem, 9vw, 7rem); }
.lote-in { display: grid; gap: clamp(2rem, 5vw, 4rem); align-items: start; }
@media (min-width: 1000px) { .lote-in { grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); } }
.lote-in .h2 { max-width: 14ch; }
.lote-intro { margin-top: 1.25rem; color: var(--on-dark-2); }
.etiqueta { --fg: var(--ink); --rule: oklch(24% .036 166 / .2); --focus: var(--ink); padding: clamp(1.4rem, 3vw, 2rem); border-radius: 1.25rem; background: var(--paper); color: var(--ink); box-shadow: 0 20px 50px -30px oklch(10% .02 50 / .8); transform: rotate(-.8deg); }
.et-cab { display: flex; flex-wrap: wrap; justify-content: space-between; gap: .5rem; padding-bottom: 1rem; margin-bottom: .5rem; border-bottom: 3px solid var(--ink); font: 760 1.25rem var(--f-display); }
.et-marca { font: 600 .8rem var(--f-display); letter-spacing: .1em; text-transform: uppercase; color: var(--arcilla); align-self: center; }
.etiqueta dl > div { display: grid; gap: .2rem; padding: .85rem 0; border-bottom: 1px solid var(--rule); }
@media (min-width: 600px) { .etiqueta dl > div { grid-template-columns: 12rem 1fr; gap: 1rem; } }
.etiqueta dt { font: 700 1rem var(--f-display); }
.etiqueta dd { margin: 0; color: var(--ink-2); }
@media (prefers-reduced-motion: reduce) { .etiqueta { transform: none; } }
@media (prefers-reduced-motion: no-preference) and (hover: hover) { .etiqueta { transition: transform 500ms var(--ease-out); } .etiqueta:hover { transform: none; } }

.hm-forestal { padding-block: clamp(4rem, 8vw, 6rem); }
.for-in { display: grid; gap: 1.5rem 4rem; }
@media (min-width: 900px) { .for-in { grid-template-columns: 1fr 1fr; align-items: start; } }
.for-in .h2 { max-width: 15ch; }
.for-in .texto { color: var(--on-dark-2); }
.for-in .texto > p + p { margin-top: 1.25rem; }
.for-in .link-arrow { color: var(--lima); }
.hm-liquidos { padding-block: clamp(3rem, 6vw, 4.5rem); }
.liq-in { display: grid; gap: .8rem 4rem; }
@media (min-width: 900px) { .liq-in { grid-template-columns: 1fr 2fr; } }
.hm-consulta { padding-block: clamp(3.5rem, 7vw, 5rem); }
.cons-in { display: grid; gap: 1.25rem 3rem; align-items: center; padding: clamp(1.5rem, 4vw, 2.5rem); border-radius: 1.5rem; box-shadow: inset 0 0 0 1.5px var(--rule); }
@media (min-width: 900px) { .cons-in { grid-template-columns: auto 1fr auto; } }
.cons-in .estado { margin-top: .5rem; color: var(--arcilla); }

/* ===================================================================
   NOSOTROS
   =================================================================== */
.ns-hero { padding: calc(var(--hdr-space) + clamp(2.5rem, 7vh, 5rem)) 0 clamp(4rem, 8vw, 6.5rem); }
.ns-hero-in { display: grid; gap: clamp(2rem, 5vw, 4rem); align-items: center; }
@media (min-width: 900px) { .ns-hero-in { grid-template-columns: minmax(0, 1.4fr) minmax(0, .6fr); } }
.ns-ceja { color: var(--arcilla); margin-bottom: 1.1rem; }
.ns-title { font-size: var(--t-h1); font-weight: 780; letter-spacing: -.032em; line-height: 1.02; max-width: 14ch; margin-bottom: 1.5rem; }
.ns-title .acento { display: block; color: var(--hoja); }
.ns-arte { justify-self: center; width: min(100%, 22rem); }
.ns-arte .lupa-arte { width: 100%; height: auto; }
.ns-principios { padding-block: clamp(4.5rem, 9vw, 7rem); }
.pr-title { margin-bottom: clamp(2rem, 4vw, 3rem); }
.principios { display: grid; gap: 1px; border-radius: 1.25rem; overflow: hidden; background: var(--rule); }
@media (min-width: 700px) { .principios { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.principios li { display: grid; gap: .6rem; align-content: start; padding: clamp(1.4rem, 3vw, 2rem); background: var(--forest); }
.pr-n { font: 650 .85rem var(--f-display); color: var(--lima); }
.principios p { color: var(--on-dark-2); }
.ns-personas { padding-block: clamp(4.5rem, 9vw, 7rem); }
.pe-in { display: grid; gap: clamp(2rem, 5vw, 4rem); align-items: center; }
@media (min-width: 900px) { .pe-in { grid-template-columns: 1.2fr .8fr; } }
.pe-texto { display: grid; gap: 1.25rem; }
.identidad { display: grid; gap: 1rem; justify-items: center; text-align: center; padding: clamp(1.5rem, 4vw, 2.5rem); border-radius: 1.5rem; background: var(--forest-deep); color: var(--on-dark-2); }
.id-simbolo { width: min(60%, 12rem); }
.identidad figcaption { max-width: 32ch; font-size: 1.02rem; }
.ns-sigue { padding-block: clamp(3.5rem, 7vw, 5rem); }
.sg-in { display: grid; gap: 2rem 4rem; }
@media (min-width: 900px) { .sg-in { grid-template-columns: 1.3fr 1fr; align-items: start; } }
.sg-smart { max-width: var(--medida); padding-left: 1.1rem; border-left: 3px solid var(--agua); }
.sg-enlaces { display: flex; flex-wrap: wrap; gap: .25rem 1.75rem; margin-top: .5rem; }

/* ===================================================================
   TRANSPARENCIA
   =================================================================== */
.tr-hero { padding: calc(var(--hdr-space) + clamp(2.5rem, 7vh, 5rem)) 0 clamp(3rem, 6vw, 4.5rem); }
.tr-hero-in { display: grid; gap: 2rem 4rem; align-items: end; }
@media (min-width: 1000px) { .tr-hero-in { grid-template-columns: 1.1fr 1fr; } }
.tr-ceja { color: var(--arcilla); margin-bottom: 1.1rem; }
.tr-title { font-size: var(--t-h1); font-weight: 780; letter-spacing: -.032em; line-height: 1.02; max-width: 15ch; }
.tr-respuesta { padding: clamp(1.5rem, 3vw, 2.25rem); border-radius: 1.5rem; background: var(--forest); color: var(--on-dark); }
.tr-r-ceja { color: var(--lima); margin-bottom: .8rem; }
.tr-r-texto { font-size: var(--t-lead); line-height: 1.5; }
.tr-doc { padding: clamp(1rem, 3vw, 2rem) 0 clamp(5rem, 9vw, 7rem); }
.tr-doc-in { display: grid; gap: 2.5rem 4rem; }
@media (min-width: 1000px) { .tr-doc-in { grid-template-columns: 15rem minmax(0, 1fr); } .tr-indice { position: sticky; top: calc(var(--hdr-space) + 1.5rem); align-self: start; } }
.tr-indice .eyebrow { color: var(--ink-2); margin-bottom: .6rem; }
.tr-indice ol { display: grid; border-left: 2px solid var(--rule); }
.tr-indice a { display: flex; align-items: center; min-height: 2.6rem; padding-left: 1rem; font: 600 .98rem var(--f-display); text-decoration: none; }
.tr-indice a:hover { text-decoration: underline; text-underline-offset: .25em; }
.tr-cuerpo { display: grid; gap: clamp(2.5rem, 5vw, 3.5rem); max-width: 48rem; }
.tr-sec { display: grid; gap: 1rem; }
.tr-h { padding-top: 1rem; border-top: 2px solid var(--ink); }
.tr-tabla { width: 100%; border-collapse: collapse; }
.tr-tabla th, .tr-tabla td { padding: .85rem .5rem .85rem 0; text-align: left; border-bottom: 1px solid var(--rule); vertical-align: top; }
.tr-tabla thead th { font: 650 .78rem var(--f-display); letter-spacing: .1em; text-transform: uppercase; color: var(--ink-2); }
.tr-tabla tbody th { font-weight: 600; font-family: var(--f-display); width: 55%; }
.e-prep { --estado: var(--surco-2); }
.e-def { --estado: var(--brasa); }
.e-ok { --estado: oklch(58% .15 145); }
.tr-tabla td a { text-underline-offset: .2em; }
.tr-lista { display: grid; gap: .55rem; counter-reset: c; }
.tr-lista li { counter-increment: c; display: grid; grid-template-columns: 2rem 1fr; gap: .5rem; }
.tr-lista li::before { content: counter(c) "."; font: 700 1rem var(--f-display); color: var(--arcilla); }
.faq { display: grid; border-top: 1px solid var(--rule); }
.faq details { border-bottom: 1px solid var(--rule); }
.faq summary { display: flex; justify-content: space-between; align-items: center; gap: 1rem; min-height: 3.25rem; padding: .6rem 0; cursor: pointer; font: 650 1.08rem/1.3 var(--f-display); list-style: none; }
.faq summary::-webkit-details-marker { display: none; }
.faq summary::after { content: "+"; flex: none; font: 500 1.5rem/1 var(--f-display); transition: transform 200ms var(--ease-out); }
.faq details[open] summary::after { transform: rotate(45deg); }
.faq details p { padding: 0 0 1.1rem; max-width: var(--medida); color: var(--ink-2); }

/* ===================================================================
   CONTACTO
   =================================================================== */
.ct { min-height: 100svh; padding: calc(var(--hdr-space) + clamp(2rem, 6vh, 4rem)) 0 clamp(4rem, 8vw, 6rem); }
.ct-in { display: grid; gap: 3rem; align-items: start; }
.ct-copy { container-type: inline-size; display: grid; gap: 1.4rem; }
.ct-ceja { color: var(--lima); }
.ct-title { font-size: min(var(--t-h1), 12cqi); font-weight: 780; letter-spacing: -.032em; line-height: 1.02; max-width: 16ch; }
.ct-copy .lead { color: var(--on-dark-2); }
.ct-aviso { max-width: 46ch; padding-left: 1rem; border-left: 3px solid var(--surco); color: var(--on-dark-2); font-size: 1rem; }
@media (min-width: 1100px) { .ct-in { grid-template-columns: minmax(0, 1fr) minmax(30rem, 1fr); gap: clamp(3rem, 5vw, 5rem); } }
/* Tarjeta de correo: dirección visible y seleccionable, aviso simplificado antes de los enlaces de envío */
.ct-tarjeta { display: grid; gap: 1.15rem; align-content: start; padding: clamp(1.4rem, 3vw, 2.25rem); border-radius: 1.5rem; background: var(--paper); color: var(--ink); --fg: var(--ink); --rule: oklch(24% .036 166 / .16); --focus: var(--ink); }
.ct-t-ceja { color: var(--arcilla); }
.ct-correo { display: flex; flex-wrap: wrap; align-items: center; gap: .6rem 1rem; }
.ct-dir { font: 760 clamp(1.45rem, 1.1rem + 1.6vw, 2.15rem)/1.1 var(--f-display); letter-spacing: -.015em; user-select: all; overflow-wrap: anywhere; }
.ct-copiar { min-height: 2.75rem; padding: 0 1rem; border: 0; border-radius: 999px; background: var(--bone); box-shadow: inset 0 0 0 1.5px var(--rule); font: 650 .92rem var(--f-display); cursor: pointer; transition: background-color 160ms ease, transform 140ms var(--ease-out); }
.ct-copiar[hidden] { display: none; }
.ct-copiar:active { transform: scale(.97); }
@media (hover: hover) and (pointer: fine) { .ct-copiar:hover { background: oklch(91% .03 84); } }
.ct-copiado { font: 600 .9rem var(--f-display); color: var(--hoja); }
.ct-copiado:empty { display: none; }
.ct-responsable { display: grid; gap: .1rem; padding: .9rem 0; border-block: 1px solid var(--rule); }
.ct-responsable strong { font: 700 1.05rem var(--f-display); }
.ct-responsable span { font-size: .95rem; color: var(--ink-2); }
.ct-privacidad { padding: 1rem 1.1rem; border-radius: 1rem; background: var(--bone); font-size: .9rem; line-height: 1.55; color: var(--ink-2); }
.ct-priv-t { font: 700 .95rem var(--f-display); color: var(--ink); margin-bottom: .4rem; letter-spacing: 0; }
.ct-privacidad a { color: var(--ink); font-weight: 650; text-underline-offset: .2em; }
.ct-escribir { justify-self: start; }
.ct-motivos-t { font: 700 1.02rem var(--f-display); letter-spacing: 0; margin-top: .3rem; }
.ct-motivos { display: grid; gap: .5rem; }
@media (min-width: 560px) { .ct-motivos { grid-template-columns: 1fr 1fr; } }
.ct-motivo { display: flex; align-items: center; justify-content: space-between; gap: .6rem; min-height: 3rem; padding: .6rem .9rem; border-radius: .9rem; text-decoration: none; box-shadow: inset 0 0 0 1.5px var(--rule); font: 650 .98rem/1.25 var(--f-display); transition: box-shadow 160ms ease, background-color 160ms ease; }
.ct-motivo::after { content: "→"; flex: none; transition: transform 200ms var(--ease-out); }
@media (hover: hover) and (pointer: fine) { .ct-motivo:hover { box-shadow: inset 0 0 0 2px var(--forest); } .ct-motivo:hover::after { transform: translateX(3px); } }
.ct-motivo.is-destacado { background: oklch(29% .052 165 / .08); box-shadow: inset 0 0 0 2px var(--forest); }
.ct-nota { font-size: .9rem; color: var(--ink-2); }
@media (prefers-reduced-motion: reduce) { .ct-copiar, .ct-motivo, .ct-motivo::after { transition: none; } .ct-copiar:active { transform: none; } }

/* ===================================================================
   NOSOTROS · responsable actual
   =================================================================== */
.pe-responsable { display: grid; gap: .15rem; padding-left: 1rem; border-left: 3px solid var(--hoja); }
.pe-responsable strong { font: 720 1.12rem var(--f-display); }
.pe-responsable span { color: var(--ink-2); }

/* ===================================================================
   AVISO DE PRIVACIDAD
   =================================================================== */
.pv-hero { padding: calc(var(--hdr-space) + clamp(2rem, 6vh, 4rem)) 0 clamp(1.5rem, 3vw, 2.5rem); }
.pv-ceja { color: var(--arcilla); margin-bottom: 1rem; }
.pv-title { font-size: clamp(2.1rem, 1.2rem + 3vw, 3.6rem); font-weight: 780; letter-spacing: -.03em; line-height: 1.04; max-width: 18ch; }
.pv-fecha { margin-top: 1rem; color: var(--ink-2); }
.pv-cuerpo .tr-sec p, .pv-cuerpo .pv-lista { max-width: var(--medida); }
.pv-lista { display: grid; gap: .45rem; padding-left: 1.2rem; list-style: disc; }
.pv-cuerpo a { text-underline-offset: .2em; }

/* ===================================================================
   ERROR 404
   =================================================================== */
.er { position: relative; overflow: hidden; min-height: 80svh; display: grid; align-content: center; padding: calc(var(--hdr-space) + 3rem) 0 clamp(9rem, 16vw, 13rem); }
.er-in { position: relative; z-index: 1; display: grid; gap: 1.1rem; justify-items: start; }
.er-ceja { color: var(--arcilla); }
.er-title { font-size: var(--t-h1); font-weight: 780; letter-spacing: -.032em; line-height: 1.02; }
.er-enlaces { display: flex; flex-wrap: wrap; align-items: center; gap: .6rem 1.4rem; margin-top: .6rem; }
.er-franja .franja { color: var(--forest); opacity: .9; }

.cons-correo { margin-top: .4rem; font: 650 1rem var(--f-display); color: var(--arcilla); user-select: all; }
