/*
Theme Name: Amauta
Theme URI: https://fundacionamauta.org
Author: Fundación "Alianza por la Paz Ecuador Amauta"
Author URI: https://fundacionamauta.org
Description: Tema bilingüe de la Fundación "Alianza por la Paz Ecuador Amauta". Portada con efectos de movimiento, textos escritos para posicionamiento en buscadores, datos estructurados de organización sin fines de lucro, proyectos gestionables desde el escritorio y donaciones. Los textos se editan desde el panel «Textos Amauta» o sobre la propia página.
Version: 2.0
Requires at least: 6.0
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: amauta
*/

:root{
  /* Paleta tomada del escudo de la Fundación */
  --papel:#FBFAF8; --papel2:#F0EDE6; --tinta:#042F41; --azul:#0A4A63;
  --azul2:#12658A; --oro:#C1852F; --verde:#306F42; --gris:#4C5C66;
  --linea:rgba(4,47,65,.14); --linea2:rgba(4,47,65,.28);
  --display:'Fraunces',Georgia,serif; --texto:'Karla',system-ui,sans-serif;
  --mono:'IBM Plex Mono',ui-monospace,monospace; --max:1140px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:96px}
body{margin:0;background:var(--papel);color:var(--gris);font-family:var(--texto);
  font-size:17.5px;line-height:1.7;-webkit-font-smoothing:antialiased;overflow-x:hidden}
img{max-width:100%;height:auto;display:block}
a{color:inherit;text-decoration:none}
h1,h2,h3,h4{font-family:var(--display);color:var(--tinta);margin:0;line-height:1.18;
  font-weight:600;font-variation-settings:'SOFT' 20,'WONK' 1}
h1{font-size:clamp(2.1rem,4.4vw,3.5rem);letter-spacing:-.015em}
h2{font-size:clamp(1.65rem,2.9vw,2.35rem);letter-spacing:-.012em}
h3{font-size:1.16rem}
p{margin:0 0 1.15rem}
:focus-visible{outline:2px solid var(--oro);outline-offset:3px;border-radius:3px}

.env{max-width:var(--max);margin:0 auto;padding:0 clamp(20px,5vw,40px)}
.seccion{padding:clamp(64px,8vw,112px) 0;position:relative}
.seccion.cenida{padding:clamp(46px,5.5vw,74px) 0}
.crema{background:var(--papel2)}
.eyebrow{font-family:var(--mono);font-size:.71rem;letter-spacing:.2em;text-transform:uppercase;
  color:var(--azul);margin:0 0 16px;display:flex;align-items:center;gap:12px}
.eyebrow::before{content:"";width:26px;height:3px;border-radius:2px;flex:none;
  background:linear-gradient(90deg,var(--tinta) 0 33%,var(--oro) 33% 66%,var(--verde) 66%)}
.intro{max-width:690px;font-size:1.05rem;margin-top:16px}
.centro{text-align:center}
.centro .eyebrow{justify-content:center}
.centro .intro{margin-left:auto;margin-right:auto}

/* Franja tejida: el hilo que cose el sitio */
.franja{height:6px;width:100%;
  background:repeating-linear-gradient(90deg,
    var(--tinta) 0 18px, var(--oro) 18px 27px, var(--papel) 27px 31px,
    var(--verde) 31px 46px, var(--oro) 46px 53px, var(--papel) 53px 57px)}

/* ---------- Cabecera ---------- */
.cabecera{position:fixed;top:0;left:0;right:0;z-index:70;background:rgba(251,250,248,.92);
  backdrop-filter:blur(12px);border-bottom:1px solid transparent;transition:border-color .3s,box-shadow .3s}
.cabecera.fija{border-bottom-color:var(--linea);box-shadow:0 10px 30px -24px rgba(4,47,65,.6)}
.barra{display:flex;align-items:center;justify-content:space-between;gap:18px;height:84px}
.marca{display:flex;align-items:center;gap:13px;flex:none;min-width:0}
/* El escudo conserva su proporción pase lo que pase */
.escudo{height:54px;width:auto;max-width:none;flex:none;object-fit:contain}
.marca small{display:block;font-family:var(--mono);font-size:.58rem;letter-spacing:.2em;
  text-transform:uppercase;color:var(--azul);line-height:1.4}
.marca b{font-family:var(--display);font-size:.97rem;color:var(--tinta);display:block;
  line-height:1.25;font-weight:600;max-width:22ch}
.nav{display:flex;gap:24px;align-items:center;list-style:none;margin:0;padding:0}
.nav>li{position:relative}
.nav a{font-size:.92rem;font-weight:500;color:var(--gris);padding:8px 0;display:inline-flex;
  align-items:center;gap:6px;position:relative;transition:color .25s}
.nav a::after{content:"";position:absolute;left:0;bottom:2px;height:2px;width:0;background:var(--oro);transition:width .3s}
.nav a:hover{color:var(--tinta)}
.nav a:hover::after{width:100%}
.nav svg.ch{width:13px;height:13px}
.despl{position:absolute;top:100%;left:-16px;min-width:330px;background:#fff;border:1px solid var(--linea);
  border-radius:14px;padding:9px;opacity:0;visibility:hidden;transform:translateY(8px);list-style:none;margin:10px 0 0;
  transition:opacity .25s,transform .25s,visibility .25s;box-shadow:0 24px 50px -26px rgba(4,47,65,.5)}
.nav li:hover .despl,.nav li:focus-within .despl{opacity:1;visibility:visible;transform:none}
.despl a{display:block;padding:11px 13px;border-radius:9px;font-size:.9rem}
.despl a::after{display:none}
.despl a:hover{background:var(--papel2)}
.despl b{display:block;font-family:var(--display);color:var(--tinta);font-size:.94rem;font-weight:600}
.despl span{font-size:.79rem;color:var(--gris);line-height:1.45;display:block}
.acc{display:flex;align-items:center;gap:12px}

/* Selector de idioma */
.idiomas{display:flex;gap:2px;border:1px solid var(--linea);border-radius:999px;padding:3px;background:#fff}
/* La sigla se dibuja con CSS desde el atributo data-lang: el botón va vacío. */
.lang{border:none;background:none;font-size:0;line-height:1;padding:7px 12px;border-radius:999px;
  cursor:pointer;color:var(--gris);transition:background .25s,color .25s;min-width:38px}
.lang::after{content:attr(data-lang);text-transform:uppercase;font-family:var(--mono);
  font-size:.72rem;letter-spacing:.08em;line-height:1;display:inline-block}
.lang:hover{color:var(--tinta)}
.lang.on{background:var(--tinta);color:#fff}
.menu-btn{display:none;background:none;border:1px solid var(--linea);color:var(--tinta);
  border-radius:9px;padding:9px 11px;cursor:pointer}

/* ---------- Botones ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;font-family:var(--texto);
  font-weight:700;font-size:.95rem;padding:14px 26px;border-radius:999px;border:1.5px solid transparent;
  cursor:pointer;transition:transform .22s,box-shadow .22s,background .22s,border-color .22s;text-align:center}
.btn-primario{background:var(--tinta);color:#fff;box-shadow:0 12px 26px -16px rgba(4,47,65,.9)}
.btn-primario:hover{background:var(--azul);transform:translateY(-2px)}
.btn-secundario{border-color:var(--linea2);color:var(--tinta);background:#fff}
.btn-secundario:hover{border-color:var(--tinta);transform:translateY(-2px)}
.btn-chico{padding:11px 20px;font-size:.87rem}
.enlace{color:var(--azul);font-weight:700;font-size:.92rem}
.mas{margin-top:22px;display:inline-flex;align-items:center;gap:7px;color:var(--azul);transition:gap .25s}
.mas svg{width:15px;height:15px}
.area:hover .mas{gap:12px}

/* ---------- Hero ---------- */
.hero{padding:150px 0 clamp(56px,7vw,92px);position:relative;overflow:hidden;
  background:radial-gradient(70% 90% at 88% 6%,rgba(10,74,99,.10),transparent 60%),
             radial-gradient(50% 70% at 4% 94%,rgba(193,133,47,.12),transparent 62%)}
.hero-grid{display:grid;grid-template-columns:1.12fr .88fr;gap:52px;align-items:center}
.hero h1{margin-bottom:20px}
.hero h1 em{font-style:italic;color:var(--azul)}
.hero .lead{font-size:clamp(1.02rem,1.55vw,1.15rem);max-width:580px}
.acciones{display:flex;flex-wrap:wrap;gap:13px;margin-top:32px}
.sello{background:#fff;border:1px solid var(--linea);border-radius:20px;padding:0 0 26px;
  box-shadow:0 30px 60px -40px rgba(4,47,65,.6);overflow:hidden}
.sello .franja{margin-bottom:0}
.hero-escudo{display:flex;justify-content:center;padding:28px 0 20px}
.hero-escudo img{height:150px;width:auto;max-width:none;object-fit:contain;
  filter:drop-shadow(0 16px 26px rgba(4,47,65,.2))}
.sello-datos{padding:0 26px}
.dato-sello{display:flex;gap:12px;padding:12px 0;border-bottom:1px solid var(--linea);font-size:.9rem;line-height:1.5}
.dato-sello:last-child{border-bottom:none}
.dato-sello b{color:var(--tinta);font-family:var(--mono);font-size:.63rem;letter-spacing:.13em;
  text-transform:uppercase;min-width:96px;flex:none;padding-top:3px}

/* ---------- Tarjetas ---------- */
.tarjeta{background:#fff;border:1px solid var(--linea);border-radius:18px;padding:clamp(24px,2.8vw,34px);
  transition:transform .3s,box-shadow .3s,border-color .3s;position:relative}
.tarjeta:hover{transform:translateY(-4px);box-shadow:0 26px 50px -34px rgba(4,47,65,.55);border-color:var(--linea2)}
.rej2{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}
.rej3{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.rej4{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.mt{margin-top:42px}
.ico{width:38px;height:38px;stroke-width:1.4;margin-bottom:18px;color:var(--azul)}
.num{font-family:var(--mono);font-size:.69rem;letter-spacing:.15em;color:var(--oro);display:block;margin-bottom:11px}
.lista{list-style:none;margin:0;padding:0;display:grid;gap:12px}
.lista li{position:relative;padding-left:24px;font-size:.93rem;line-height:1.6}
.lista li::before{content:"";position:absolute;left:0;top:.62em;width:8px;height:8px;border-radius:50%;
  border:2px solid var(--oro)}
.lista li b{color:var(--tinta);font-weight:700}
.chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:20px}
.chip{font-family:var(--mono);font-size:.68rem;letter-spacing:.08em;text-transform:uppercase;
  border:1px solid var(--linea);border-radius:999px;padding:6px 13px;color:var(--gris);background:#fff}

/* ---------- Áreas ---------- */
.areas-rej{display:grid;grid-template-columns:repeat(2,1fr);gap:20px;margin-top:42px}
.area{cursor:pointer;overflow:hidden;padding-left:calc(clamp(24px,2.8vw,34px) + 6px)}
.area::before{content:"";position:absolute;left:0;top:0;bottom:0;width:6px}
.area[data-color="indigo"]::before{background:var(--tinta)}
.area[data-color="oro"]::before{background:var(--oro)}
.area[data-color="verde"]::before{background:var(--verde)}
.area[data-color="granate"]::before{background:var(--azul2)}
.area.ancha{grid-column:1/-1}
.estado{font-family:var(--mono);font-size:.63rem;letter-spacing:.13em;text-transform:uppercase;
  border-radius:999px;padding:5px 12px;display:inline-block;margin-bottom:14px;
  background:rgba(4,47,65,.07);color:var(--azul)}
.lema-tarjeta{font-family:var(--mono);font-size:.69rem;letter-spacing:.13em;text-transform:uppercase;
  color:var(--oro);margin:6px 0 15px}
.resumen{font-size:.96rem}

/* ---------- Paneles ---------- */
.modal{position:fixed;inset:0;z-index:100;display:none}
.modal.on{display:block}
.modal-fondo{position:absolute;inset:0;background:rgba(4,47,65,.6);backdrop-filter:blur(5px);animation:fundir .3s ease}
@keyframes fundir{from{opacity:0}to{opacity:1}}
@keyframes subir{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}
.modal-caja{position:relative;max-width:1010px;margin:32px auto;background:var(--papel);border-radius:22px;
  max-height:calc(100vh - 64px);display:flex;flex-direction:column;overflow:hidden;
  animation:subir .38s cubic-bezier(.2,.8,.3,1);box-shadow:0 50px 90px -40px rgba(4,47,65,.75)}
.cerrar{position:absolute;top:16px;right:16px;z-index:5;width:40px;height:40px;border-radius:50%;
  background:#fff;border:1px solid var(--linea);color:var(--gris);cursor:pointer;display:flex;
  align-items:center;justify-content:center;transition:color .25s,border-color .25s}
.cerrar:hover{color:var(--tinta);border-color:var(--tinta)}
.cerrar svg{width:17px;height:17px}
.modal-cab{--pad:clamp(26px,4vw,46px);padding:0 var(--pad) 28px;flex:none;background:#fff;
  border-bottom:1px solid var(--linea)}
.modal-cab .franja{margin:0 calc(-1 * var(--pad)) 26px}
.modal-cab .estado{margin-top:0}
.modal-cab h2{font-size:clamp(1.4rem,2.7vw,2rem);margin-bottom:10px;padding-right:52px}
.modal-cab .lema{font-family:var(--mono);font-size:.7rem;letter-spacing:.15em;text-transform:uppercase;
  color:var(--oro);margin-bottom:14px}
.modal-cab .lead{font-size:.98rem;max-width:720px;margin:0}
.modal-cab .btn{margin-top:20px}
.modal-tabs{display:flex;gap:4px;overflow-x:auto;flex:none;padding:0 clamp(26px,4vw,46px);
  background:#fff;border-bottom:1px solid var(--linea);scrollbar-width:none}
.modal-tabs::-webkit-scrollbar{display:none}
.tab{background:none;border:none;border-bottom:2.5px solid transparent;color:var(--gris);
  font-family:var(--texto);font-weight:700;font-size:.87rem;padding:14px 12px;cursor:pointer;
  white-space:nowrap;transition:color .25s,border-color .25s}
.tab:hover{color:var(--tinta)}
.tab.on{color:var(--azul);border-bottom-color:var(--azul)}
.modal-cuerpo{overflow-y:auto;overscroll-behavior:contain;padding:0 0 36px;-webkit-overflow-scrolling:touch}
.panel{display:none}
.panel.on{display:block;animation:fundir .3s ease}
.panel .seccion{padding:28px 0 6px;background:none}
.panel .env{padding:0 clamp(26px,4vw,46px);max-width:none}
.panel h2{font-size:clamp(1.2rem,2.1vw,1.55rem)}
.panel .intro{margin-top:10px;font-size:.99rem}
.panel .mt{margin-top:26px}
body.bloqueado{overflow:hidden}

/* ---------- Pasos ---------- */
.flujo{display:grid;grid-template-columns:repeat(5,1fr);gap:14px;margin-top:38px}
.flujo.tres{grid-template-columns:repeat(3,1fr)}
.paso{position:relative;padding-top:36px}
.paso::before{content:"";position:absolute;top:12px;left:0;right:0;height:2px;background:var(--linea)}
.paso:first-child::before{left:12px}
.paso:last-child::before{right:calc(100% - 12px)}
.paso i{position:absolute;top:4px;left:0;width:18px;height:18px;border-radius:50%;background:#fff;
  border:2px solid var(--azul);font-family:var(--mono);font-size:.56rem;color:var(--azul);
  display:flex;align-items:center;justify-content:center;font-style:normal;font-weight:500}
.paso.fin i{background:var(--oro);border-color:var(--oro);color:#fff}
.paso b{display:block;font-family:var(--display);color:var(--tinta);font-size:1.01rem;margin-bottom:6px;font-weight:600}
.paso span{font-size:.87rem;line-height:1.55;display:block}

/* ---------- Gobierno ---------- */
.roles{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:38px}
.rol{background:#fff;border:1px solid var(--linea);border-radius:16px;padding:24px}
.rol .cargo{font-family:var(--mono);font-size:.63rem;letter-spacing:.14em;text-transform:uppercase;
  color:var(--azul);margin-bottom:10px;line-height:1.5}
.rol h3{font-size:1rem;margin-bottom:6px}
.rol p{font-size:.88rem;margin:0}

/* ---------- Cita y notas ---------- */
.cita{font-family:var(--display);font-weight:500;font-style:italic;color:var(--tinta);
  font-size:clamp(1.3rem,2.6vw,2rem);line-height:1.42;max-width:900px;margin:0 auto;text-align:center}
.cita u{text-decoration:none;color:var(--azul);font-style:normal;font-weight:600}
.nota{border-left:3px solid var(--oro);background:rgba(193,133,47,.08);border-radius:0 12px 12px 0;
  padding:20px 24px;font-size:.92rem;margin-top:34px}
.nota b{color:var(--tinta)}

/* ---------- FAQ ---------- */
.faq{margin-top:34px;display:grid;gap:11px}
details{border:1px solid var(--linea);border-radius:13px;background:#fff;overflow:hidden}
details[open]{border-color:var(--linea2)}
summary{cursor:pointer;padding:18px 22px;font-family:var(--display);font-weight:600;color:var(--tinta);
  font-size:.99rem;list-style:none;display:flex;justify-content:space-between;gap:16px;align-items:center}
summary::-webkit-details-marker{display:none}
summary::after{content:"+";font-family:var(--mono);color:var(--azul);font-size:1.3rem;flex:none;transition:transform .25s}
details[open] summary::after{transform:rotate(45deg)}
details p{padding:0 22px 20px;margin:0;font-size:.94rem}

/* ---------- Contacto ---------- */
.contacto-grid{display:grid;grid-template-columns:.82fr 1.18fr;gap:34px;align-items:start}
.dato{display:flex;gap:13px;align-items:flex-start;padding:16px 0;border-bottom:1px solid var(--linea)}
.dato svg{width:19px;height:19px;color:var(--azul);flex:none;margin-top:4px;stroke-width:1.5}
.dato b{display:block;color:var(--tinta);font-weight:700;font-size:.92rem}
.dato span{font-size:.9rem}
.formulario{background:#fff;border:1px solid var(--linea);border-radius:20px;padding:clamp(24px,3vw,34px)}
.campos{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.campo{display:flex;flex-direction:column;gap:7px}
.campo.ancho{grid-column:1/-1}
label{font-family:var(--mono);font-size:.65rem;letter-spacing:.14em;text-transform:uppercase;color:var(--azul)}
input,select,textarea{background:var(--papel);border:1px solid var(--linea);border-radius:10px;
  padding:13px 14px;color:var(--tinta);font-family:var(--texto);font-size:.95rem;width:100%;transition:border-color .25s}
input:focus,select:focus,textarea:focus{outline:none;border-color:var(--azul);background:#fff}
textarea{resize:vertical;min-height:104px}
select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230A4A63' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 13px center;background-size:17px;padding-right:40px}
.consentimiento{grid-column:1/-1;display:flex;gap:11px;align-items:flex-start;font-size:.83rem;line-height:1.55}
.consentimiento input{width:17px;height:17px;flex:none;margin-top:3px;accent-color:var(--azul)}
.formulario .btn{grid-column:1/-1;width:100%;margin-top:4px}
.trampa{position:absolute;left:-9999px}
.aviso{grid-column:1/-1;font-size:.9rem;padding:13px 15px;border-radius:10px;display:none}
.aviso.ok{display:block;background:rgba(48,111,66,.1);border:1px solid rgba(48,111,66,.4);color:var(--tinta)}
.aviso.error{display:block;background:rgba(193,133,47,.12);border:1px solid rgba(193,133,47,.5);color:var(--tinta)}

/* ---------- Pie ----------
   Fondo claro a propósito: el escudo tiene fondo azul petróleo y sobre
   un pie oscuro se camuflaba. Sobre crema se recorta con nitidez. */
.pie{background:var(--papel2);color:var(--gris);padding:58px 0 26px;border-top:1px solid var(--linea)}
.pie h4{font-family:var(--mono);font-size:.64rem;letter-spacing:.17em;text-transform:uppercase;
  color:var(--azul);margin:0 0 15px;font-weight:500}
.pie-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:32px}
.pie .escudo{height:86px;margin-bottom:18px}
.pie ul{list-style:none;margin:0;padding:0;display:grid;gap:9px;font-size:.9rem}
.pie a:hover{color:var(--tinta)}
.pie-nombre{font-family:var(--display);color:var(--tinta);font-size:1rem;display:block;
  margin-bottom:8px;line-height:1.35;font-weight:600}
.correo{display:inline-flex;align-items:center;gap:9px;border:1px solid var(--linea2);
  border-radius:999px;padding:9px 15px;font-size:.86rem;margin-bottom:9px;background:#fff;
  transition:border-color .25s,background .25s,color .25s}
.correo:hover{border-color:var(--tinta);color:var(--tinta)}
.correo svg{color:var(--azul)}
.pie-legal{margin-top:40px;padding-top:22px;border-top:1px solid var(--linea);
  display:flex;flex-wrap:wrap;gap:10px 22px;justify-content:space-between;font-size:.81rem;
  color:rgba(76,92,102,.85)}

/* ---------- WhatsApp ---------- */
.wsp{position:fixed;right:22px;bottom:22px;z-index:65;width:56px;height:56px;border-radius:50%;
  background:var(--verde);display:none;align-items:center;justify-content:center;
  box-shadow:0 14px 30px -12px rgba(48,111,66,.9);transition:transform .25s}
.wsp:hover{transform:scale(1.08)}
.wsp svg{width:29px;height:29px;color:#fff}

.rev{opacity:0;transform:translateY(20px);transition:opacity .7s ease,transform .7s ease}
.rev.vis{opacity:1;transform:none}
.saltar{position:absolute;left:-9999px;top:0;background:var(--oro);color:#231502;padding:12px 18px;
  border-radius:0 0 8px 0;z-index:200;font-weight:700}
.saltar:focus{left:0}

/* ---------- Responsive ---------- */
@media (max-width:1080px){
  .rej4,.roles{grid-template-columns:repeat(2,1fr)}
  .flujo{grid-template-columns:repeat(2,1fr);gap:22px}
  .flujo.tres{grid-template-columns:repeat(3,1fr)}
  .paso::before{display:none}
  .paso i{position:static;margin-bottom:10px}
  .paso{padding-top:0}
  .hero-grid{grid-template-columns:1fr;gap:38px}
}
@media (max-width:900px){
  .menu-btn{display:block}
  .nav{position:absolute;top:84px;left:0;right:0;flex-direction:column;gap:0;align-items:stretch;
    background:#fff;border-bottom:1px solid var(--linea);max-height:0;overflow:hidden;transition:max-height .35s ease}
  .nav.abierto{max-height:640px;overflow-y:auto}
  .nav>li{width:100%}
  .nav>li>a{padding:16px 24px;width:100%;border-bottom:1px solid var(--linea)}
  .despl{position:static;opacity:1;visibility:visible;transform:none;border:none;box-shadow:none;
    background:var(--papel2);border-radius:0;min-width:0;margin:0;padding:6px 12px}
  .acc .btn-primario{display:none}
  .marca b{max-width:14ch;font-size:.88rem}
  .escudo{height:46px}
  .rej2,.rej3,.rej4,.areas-rej,.roles,.contacto-grid,.campos,.pie-grid,.flujo.tres{grid-template-columns:1fr}
  .area.ancha{grid-column:auto}
  .modal-caja{margin:0;max-width:none;border-radius:0;max-height:100vh;height:100vh}
  body{font-size:16.5px}
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .rev{opacity:1;transform:none;transition:none}
  *{animation-duration:.01ms!important;transition-duration:.01ms!important}
}

/* ---------- Proyectos ---------- */
.filtros{display:flex;flex-wrap:wrap;gap:8px;margin-top:34px}
.filtro{border:1px solid var(--linea);background:#fff;border-radius:999px;padding:9px 18px;
  font-family:var(--texto);font-weight:700;font-size:.85rem;color:var(--gris);cursor:pointer;
  transition:background .25s,color .25s,border-color .25s}
.filtro:hover{border-color:var(--linea2);color:var(--tinta)}
.filtro.on{background:var(--tinta);border-color:var(--tinta);color:#fff}
.proyectos{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:26px}
.proy{background:#fff;border:1px solid var(--linea);border-radius:18px;padding:28px;
  display:flex;flex-direction:column;transition:transform .3s,box-shadow .3s,border-color .3s}
.proy:hover{transform:translateY(-4px);box-shadow:0 26px 50px -34px rgba(4,47,65,.55);border-color:var(--linea2)}
.proy.oculto{display:none}
.proy h3{font-size:1.12rem;margin:12px 0 10px;line-height:1.32}
.proy .desc{font-size:.92rem;flex:1}
.proy-datos{border-top:1px solid var(--linea);margin-top:16px;padding-top:14px;display:grid;gap:8px}
.proy-dato{display:flex;gap:10px;font-size:.84rem;line-height:1.5}
.proy-dato b{font-family:var(--mono);font-size:.6rem;letter-spacing:.12em;text-transform:uppercase;
  color:var(--azul);min-width:88px;flex:none;padding-top:3px}
.proy .btn{margin-top:18px;width:100%}
.estado.ejecucion{background:rgba(48,111,66,.13);color:var(--verde)}
.estado.financiamiento{background:rgba(193,133,47,.16);color:#8a5c14}
.estado.ejecutado{background:rgba(4,47,65,.09);color:var(--azul)}
.sin-proyectos{grid-column:1/-1;text-align:center;padding:40px 0;color:var(--gris);display:none}
.sin-proyectos.on{display:block}

/* ---------- Donaciones ---------- */
.donar-duo{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:40px}
.donar-caja{border-radius:20px;padding:clamp(26px,3vw,38px);display:flex;flex-direction:column}
.donar-caja h3{font-size:1.25rem;margin-bottom:12px}
.donar-caja p{font-size:.95rem;flex:1}
.donar-caja .btn{align-self:flex-start;margin-top:8px}
.donar-principal{background:var(--tinta);color:rgba(255,255,255,.82)}
.donar-principal h3{color:#fff}
.donar-principal .btn{background:var(--oro);color:#231502;border-color:var(--oro)}
.donar-principal .btn:hover{background:#d4952f}
.donar-alterna{background:#fff;border:1px solid var(--linea2)}
.medios{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:34px}
.medio{background:#fff;border:1px solid var(--linea);border-radius:16px;padding:24px}
.medio svg{width:28px;height:28px;color:var(--azul);stroke-width:1.4;margin-bottom:14px}
.medio h4{font-family:var(--display);font-size:1rem;color:var(--tinta);margin:0 0 8px;font-weight:600}
.medio p{font-size:.88rem;margin:0}
@media (max-width:1080px){.proyectos,.medios{grid-template-columns:repeat(2,1fr)}}
@media (max-width:900px){.proyectos,.medios,.donar-duo{grid-template-columns:1fr}}

/* ============================================================
   MOVIMIENTO
   Efectos suaves, siempre respetando a quien pidió reducirlos.
   ============================================================ */

/* Luces que respiran detrás de la portada */
.auroras{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:0}
.auroras i{position:absolute;display:block;border-radius:50%;filter:blur(70px);opacity:.5}
.auroras i:nth-child(1){width:52vw;height:52vw;left:-14%;top:-22%;
  background:radial-gradient(circle,rgba(10,74,99,.5),transparent 66%);animation:respirar 17s ease-in-out infinite}
.auroras i:nth-child(2){width:42vw;height:42vw;right:-10%;top:6%;
  background:radial-gradient(circle,rgba(193,133,47,.42),transparent 66%);animation:respirar 21s ease-in-out infinite 2s}
.auroras i:nth-child(3){width:38vw;height:38vw;left:26%;bottom:-24%;
  background:radial-gradient(circle,rgba(48,111,66,.38),transparent 66%);animation:respirar 25s ease-in-out infinite 4s}
@keyframes respirar{
  0%,100%{transform:translate(0,0) scale(1)}
  33%{transform:translate(3.5%,-3%) scale(1.09)}
  66%{transform:translate(-3%,3.5%) scale(.95)}
}
.hero{position:relative;overflow:hidden}
.hero .env{position:relative;z-index:2}

/* El titular entra línea por línea */
.lin{display:block;overflow:hidden}
.lin>span{display:block;transform:translateY(105%);opacity:0;
  animation:subirLinea .95s cubic-bezier(.16,1,.3,1) forwards}
.lin:nth-child(1)>span{animation-delay:.12s}
.lin:nth-child(2)>span{animation-delay:.26s}
.lin:nth-child(3)>span{animation-delay:.4s}
@keyframes subirLinea{to{transform:translateY(0);opacity:1}}

/* Cifras que cuentan desde cero */
.cifras{display:flex;flex-wrap:wrap;gap:14px 42px;margin-top:40px;padding-top:28px;
  border-top:1px solid var(--linea)}
.cifra b{display:block;font-family:var(--display);font-size:clamp(1.7rem,3vw,2.4rem);
  color:var(--tinta);line-height:1;font-weight:600}
.cifra span{display:block;font-size:.85rem;margin-top:7px;max-width:190px;line-height:1.45}

/* Cinta de palabras en movimiento continuo */
.desfile{overflow:hidden;border-top:1px solid var(--linea);border-bottom:1px solid var(--linea);
  padding:16px 0;background:#fff}
.desfile-pista{display:flex;gap:44px;width:max-content;animation:desfilar 34s linear infinite}
.desfile span{font-family:var(--mono);font-size:.76rem;letter-spacing:.18em;text-transform:uppercase;
  color:var(--gris);display:inline-flex;align-items:center;gap:44px;white-space:nowrap}
.desfile span::after{content:"";width:5px;height:5px;border-radius:50%;background:var(--oro);flex:none}
@keyframes desfilar{from{transform:translateX(0)}to{transform:translateX(-50%)}}
.desfile:hover .desfile-pista{animation-play-state:paused}

/* Las tarjetas responden al ratón */
.tarjeta,.proy,.medio{will-change:transform}
.tarjeta::after,.proy::after{content:"";position:absolute;inset:0;border-radius:inherit;
  pointer-events:none;opacity:0;transition:opacity .35s;
  background:radial-gradient(420px circle at var(--mx,50%) var(--my,50%),rgba(10,74,99,.07),transparent 42%)}
.tarjeta:hover::after,.proy:hover::after{opacity:1}
.proy{position:relative}

/* Aparición escalonada al hacer scroll */
.rev{opacity:0;transform:translateY(22px);
  transition:opacity .75s cubic-bezier(.16,1,.3,1),transform .75s cubic-bezier(.16,1,.3,1)}
.rev.vis{opacity:1;transform:none}

@media (prefers-reduced-motion:reduce){
  .auroras i{animation:none}
  .lin>span{transform:none;opacity:1;animation:none}
  .desfile-pista{animation:none}
  .tarjeta::after,.proy::after{display:none}
}

/* ---------- Ajustes de WordPress ---------- */
.admin-bar .cabecera{top:32px}
@media (max-width:782px){.admin-bar .cabecera{top:46px}}
.pagina-simple{padding:150px 0 90px;max-width:820px;margin:0 auto}
.pagina-simple h1{margin-bottom:26px}
.pagina-simple h2{font-size:1.4rem;margin:34px 0 12px}

/* ---------- Modo edición sobre la página ---------- */
.am-modo .am-fx{outline:1px dashed rgba(10,74,99,.5);outline-offset:4px;border-radius:3px;
  cursor:text;transition:background .2s,outline-color .2s}
.am-modo .am-fx:hover{outline-color:var(--oro);background:rgba(193,133,47,.12)}
.am-modo .am-fx:focus{outline:2px solid var(--oro);background:rgba(193,133,47,.16)}
.am-modo{padding-bottom:76px}
.am-modo .wsp{bottom:94px}
.am-barra{position:fixed;left:0;right:0;bottom:0;z-index:300;background:var(--tinta);
  border-top:3px solid var(--oro);display:flex;align-items:center;gap:14px;
  padding:13px clamp(14px,3vw,26px);font-family:var(--texto);font-size:.9rem;
  color:rgba(255,255,255,.86);flex-wrap:wrap;box-shadow:0 -14px 40px -18px rgba(0,0,0,.7)}
.am-estado{flex:1;min-width:210px}
.am-idioma{font-family:var(--mono);font-size:.72rem;letter-spacing:.1em;
  border:1px solid rgba(255,255,255,.3);border-radius:999px;padding:5px 12px}
.am-cuenta{font-family:var(--mono);font-size:.76rem;color:var(--oro);letter-spacing:.05em}
.am-btn{font-family:var(--texto);font-weight:700;font-size:.86rem;padding:10px 20px;
  border-radius:999px;border:1px solid rgba(255,255,255,.32);background:transparent;color:#fff;
  cursor:pointer;transition:background .2s,opacity .2s;text-decoration:none}
.am-btn:hover{background:rgba(255,255,255,.12)}
.am-guardar{background:var(--oro);border-color:var(--oro);color:#231502}
.am-btn:disabled{opacity:.4;cursor:not-allowed}
.am-lapiz{position:fixed;left:22px;bottom:22px;z-index:66;display:inline-flex;align-items:center;
  gap:9px;background:var(--tinta);color:#fff;border-radius:999px;padding:13px 20px;
  font-family:var(--texto);font-weight:700;font-size:.87rem;
  box-shadow:0 16px 34px -14px rgba(4,47,65,.85);transition:transform .25s}
.am-lapiz:hover{background:var(--azul);transform:translateY(-2px);color:#fff}
.am-lapiz svg{width:17px;height:17px;flex:none}
@media (max-width:640px){
  .am-estado{flex:1 1 100%;font-size:.82rem}
  .am-btn{flex:1;text-align:center;padding:11px 12px}
  .am-lapiz span{display:none}
  .am-lapiz{padding:14px;left:16px;bottom:16px}
}
