/* ===== Romeo Lantigua · Sabaneta — identidad PPG (azul/verde/rojo/oro) ===== */
:root{
  --azul:#013c87;        /* PPG principal */
  --azul-osc:#012a5e;
  --azul-br:#0085ba;     /* azul brillante */
  --azul-claro:#e7eff8;
  --verde:#4ea52f;       /* verde natural (sin neon) para detalles */
  --verde-osc:#357a2c;   /* verde profundo para botones y franjas */
  --verde-hi:#63b544;    /* verde claro (sin brillo neon) para resaltar sobre azul */
  --verde-claro:#e9f2e1;
  --rojo:#d84500;
  --oro:#f2a341;
  --oro-osc:#d98a24;
  --tinta:#13233a;
  --gris:#5a6675;
  --gris-claro:#8b97a6;
  --linea:#e2e8f0;
  --papel:#f5f8fc;
  --blanco:#ffffff;
  --sombra:0 1px 2px rgba(19,35,58,.05), 0 10px 30px rgba(19,35,58,.07);
  --sombra-alta:0 20px 50px rgba(1,42,94,.16);
  --radio:16px;
  --ancho:1160px;
  --serif:"Fraunces",Georgia,"Times New Roman",serif;
  --sans:"Inter",system-ui,-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
}
*{box-sizing:border-box}
[hidden]{display:none!important}
html{scroll-behavior:smooth}
body{margin:0;font-family:var(--sans);color:var(--tinta);background:var(--papel);
  line-height:1.6;-webkit-font-smoothing:antialiased;font-size:17px;overflow-x:hidden}
h1,h2,h3,h4{font-family:var(--serif);font-weight:600;line-height:1.1;margin:0 0 .4em;letter-spacing:-.015em}
h1{font-size:clamp(2.3rem,6vw,4.4rem)}
h2{font-size:clamp(1.7rem,3.8vw,2.8rem)}
h3{font-size:1.28rem}
p{margin:0 0 1em}
a{color:var(--azul);text-decoration:none}
a:hover{text-decoration:underline}
img{max-width:100%;display:block}
.contenedor{max-width:var(--ancho);margin:0 auto;padding:0 22px}
.eyebrow{font-family:var(--sans);letter-spacing:.02em;font-size:.9rem;font-weight:700;color:var(--verde-osc)}
.tricolor{height:4px;background:linear-gradient(90deg,var(--azul) 0 33%,var(--rojo) 33% 66%,var(--verde) 66% 100%)}

/* ---- Botones ---- */
.btn{display:inline-flex;align-items:center;gap:.55em;font-family:var(--sans);font-weight:600;font-size:1rem;
  padding:.82em 1.6em;border-radius:999px;border:2px solid transparent;cursor:pointer;text-decoration:none;
  transition:transform .14s ease,box-shadow .22s ease,background .2s ease,color .2s ease}
.btn:hover{text-decoration:none;transform:translateY(-2px)}
.btn svg{width:1.15em;height:1.15em}
.btn-primario{background:var(--azul);color:#fff;box-shadow:0 2px 6px rgba(0,0,0,.14)}
.btn-primario:hover{background:var(--azul-osc);color:#fff}
.btn-verde{background:var(--verde-osc);color:#fff;box-shadow:0 2px 6px rgba(0,0,0,.14)}
.btn-verde:hover{background:#25642a;color:#fff}
.btn-oro{background:var(--oro);color:#3a2500}
.btn-oro:hover{background:var(--oro-osc);color:#3a2500}
.btn-linea{background:transparent;border-color:currentColor}
.btn-linea:hover{background:currentColor}
.btn-linea.claro{color:#fff}.btn-linea.claro:hover{background:#fff;color:var(--azul)}
.btn-bloque{width:100%;justify-content:center}
.btn-sm{padding:.5em 1em;font-size:.9rem}
.btn[disabled]{opacity:.55;cursor:not-allowed;transform:none}

/* ---- Nav ---- */
.nav{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.9);backdrop-filter:saturate(1.3) blur(10px);
  border-bottom:1px solid var(--linea)}
.nav-in{display:flex;align-items:center;justify-content:space-between;height:70px}
.marca{display:flex;align-items:center;gap:.6em;font-family:var(--serif);font-weight:600;font-size:1.18rem;color:var(--tinta)}
.marca:hover{text-decoration:none}
.marca .logo{width:40px;height:40px;flex:0 0 auto}
.nav-links{display:flex;align-items:center;gap:1.7rem}
.nav-links a:not(.btn){color:var(--tinta);font-weight:500;font-size:.97rem}
.nav-links a.btn-primario{color:#fff}
.nav-links a:not(.btn):hover{color:var(--azul);text-decoration:none}
.nav-toggle{display:none;background:none;border:0;cursor:pointer;padding:8px}
.nav-toggle span{display:block;width:24px;height:2px;background:var(--tinta);margin:5px 0;transition:.2s}
@media(max-width:900px){
  .nav-links{position:absolute;top:74px;left:0;right:0;background:#fff;flex-direction:column;align-items:stretch;
    gap:0;padding:8px 22px 18px;border-bottom:1px solid var(--linea);box-shadow:var(--sombra);display:none}
  .nav-links.abierto{display:flex}
  .nav-links a:not(.btn){padding:13px 0;border-bottom:1px solid var(--linea)}
  .nav-links .btn{margin-top:12px;justify-content:center}
  .nav-toggle{display:block}
}

/* ---- Hero ---- */
.hero{position:relative;overflow:hidden;background:var(--azul);color:#fff}
.hero:before{content:"";position:absolute;top:0;bottom:0;right:0;width:42%;z-index:0;background:var(--azul-osc);
  clip-path:polygon(22% 0,100% 0,100% 100%,0 100%)}
.hero-in{position:relative;z-index:1}
.hero-in{position:relative;display:grid;grid-template-columns:1.1fr .9fr;gap:44px;align-items:center;padding:70px 0 78px}
.hero .eyebrow{color:#bfe38a}
.hero h1{color:#fff}
.hero h1 .g{color:var(--verde-hi);position:relative;white-space:nowrap}
.hero .lema{font-size:1.18rem;max-width:46ch;color:#dbe6f4}
.badge-ppg{display:inline-flex;align-items:center;gap:.6em;background:rgba(255,255,255,.1);
  border:1px solid rgba(255,255,255,.2);padding:.4em .9em;border-radius:999px;font-size:.82rem;font-weight:600;
  color:#fff;margin-bottom:18px}
.badge-ppg .pt{width:8px;height:8px;border-radius:50%;background:var(--verde)}
.hero-cta{display:flex;flex-wrap:wrap;gap:13px;margin-top:28px}
.hero-datos{display:flex;gap:34px;margin-top:38px;flex-wrap:wrap}
.hero-datos .n{font-family:var(--serif);font-size:2.1rem;line-height:1;color:#fff}
.hero-datos .l{font-size:.84rem;color:#a9c1de;margin-top:4px}
.hero-foto{position:relative;aspect-ratio:4/5;border-radius:22px;overflow:hidden;box-shadow:var(--sombra-alta);
  border:1px solid rgba(255,255,255,.15)}
.hero-foto .cinta{position:absolute;left:0;right:0;bottom:0;padding:22px;
  background:linear-gradient(transparent,rgba(1,42,94,.85));color:#fff}
.hero-foto .cinta b{font-family:var(--serif);font-size:1.4rem;display:block}
.hero-foto .cinta span{font-size:.88rem;color:#cfe0f4}
@media(max-width:900px){
  .hero-in{grid-template-columns:1fr;padding:32px 0 44px;gap:26px}
  .hero-foto{max-width:280px;order:-1;margin:0 auto}
  .hero-foto.brand{max-width:240px;padding:16px}
  .hero-foto.banner{max-width:100%}
  .hero h1{font-size:clamp(2rem,9vw,2.8rem)}
  .hero .lema{font-size:1.05rem}
}

/* ---- Secciones ---- */
section{padding:78px 0}
.sec-cabeza{max-width:660px;margin-bottom:44px}
.sec-cabeza.centro{margin-inline:auto;text-align:center}
.bg-azul{background:var(--azul);color:#fff}
.bg-azul .eyebrow{color:#bfe38a}
.bg-claro{background:#fff}

/* Reveal on scroll */
.reveal{opacity:0;transform:translateY(22px);transition:opacity .6s ease,transform .6s ease}
.reveal.visible{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none;transition:none}}

/* ---- Split ---- */
.split{display:grid;grid-template-columns:1fr 1fr;gap:52px;align-items:center}
.split .media{aspect-ratio:1/1;border-radius:var(--radio);overflow:hidden;box-shadow:var(--sombra);background:var(--azul-claro)}
.quote{border-left:4px solid var(--verde);padding:6px 0 6px 20px;margin:22px 0;font-family:var(--serif);
  font-size:1.2rem;font-style:italic;color:var(--azul-osc)}
@media(max-width:840px){.split{grid-template-columns:1fr;gap:30px}}

/* ---- Propuestas ---- */
.grid-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
@media(max-width:940px){.grid-cards{grid-template-columns:repeat(2,1fr)}}
@media(max-width:580px){.grid-cards{grid-template-columns:1fr}}
.card{background:#fff;border:1px solid var(--linea);border-radius:var(--radio);padding:28px;box-shadow:var(--sombra);
  height:100%;transition:transform .18s ease,box-shadow .22s ease;position:relative;overflow:hidden}
.card:hover{transform:translateY(-4px);box-shadow:var(--sombra-alta)}
.card .ico{width:50px;height:50px;border-radius:13px;background:var(--azul-claro);color:var(--azul);
  display:flex;align-items:center;justify-content:center;margin-bottom:18px}
.card .ico svg{width:26px;height:26px}
.card h3{margin-bottom:.35em}
.card p{color:var(--gris);margin:0;font-size:.97rem}
.card .num{position:absolute;top:16px;right:20px;font-family:var(--serif);font-size:2.4rem;color:var(--linea);line-height:1}

/* ---- Pilares / valores ---- */
.pilares{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
@media(max-width:780px){.pilares{grid-template-columns:1fr}}
.pilar{text-align:center;padding:8px}
.pilar .ic{width:64px;height:64px;border-radius:50%;margin:0 auto 16px;display:flex;align-items:center;justify-content:center;
  background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.22)}
.pilar .ic svg{width:30px;height:30px;color:#fff}
.pilar h3{color:#fff}.pilar p{color:#cfe0f4;font-size:.96rem}

/* ---- Galería ---- */
.galeria{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:150px;gap:14px}
.galeria .g{border-radius:12px;overflow:hidden;box-shadow:var(--sombra);background:var(--azul-claro)}
.galeria .g.ancho{grid-column:span 2}.galeria .g.alto{grid-row:span 2}
.galeria .g svg,.galeria .g img{width:100%;height:100%;object-fit:cover}
@media(max-width:720px){.galeria{grid-template-columns:repeat(2,1fr);grid-auto-rows:130px}.galeria .g.alto{grid-row:span 1}}

/* ---- Franja CTA ---- */
.franja{background:var(--verde-osc);color:#fff;border-radius:20px;
  padding:56px;text-align:center;box-shadow:var(--sombra);position:relative;overflow:hidden}
.franja h2{color:#fff}
.franja p{color:#eafce0;max-width:54ch;margin:0 auto 28px}

/* ---- Pie ---- */
footer{background:var(--tinta);color:#aeb9c8;padding:56px 0 30px;font-size:.92rem}
footer a{color:#dbe6f4}
.pie-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:36px;margin-bottom:30px}
.pie-grid h4{color:#fff;font-family:var(--sans);font-size:.82rem;text-transform:uppercase;letter-spacing:.13em;margin:0 0 14px}
.pie-grid a{display:block;padding:4px 0;color:#aeb9c8}
.pie-grid a:hover{color:#fff}
.pie-legal{border-top:1px solid rgba(255,255,255,.12);padding-top:20px;color:#7d8b9d;font-size:.82rem}
@media(max-width:740px){.pie-grid{grid-template-columns:1fr;gap:24px}}

/* ===== Portal / formularios ===== */
.portal-body{background:var(--azul-osc);min-height:100vh;display:flex;flex-direction:column;position:relative;isolation:isolate}
.portal-body:before{content:"";position:absolute;inset:0;z-index:-1;
  background:radial-gradient(70% 60% at 80% 10%,rgba(88,189,0,.25),transparent 55%),
  radial-gradient(80% 70% at 10% 95%,rgba(0,133,186,.4),transparent 55%),linear-gradient(160deg,#013c87,#012a5e)}
.portal-top{padding:22px 0}
.portal-top .marca{color:#fff}
.portal-wrap{flex:1;display:flex;align-items:center;justify-content:center;padding:20px}
.tarjeta{background:#fff;border-radius:22px;box-shadow:var(--sombra-alta);width:100%;max-width:450px;padding:36px;overflow:hidden}
.tarjeta h1{font-size:1.8rem}
.tarjeta .sub{color:var(--gris);margin-top:-.4em}
.tabs{display:flex;background:var(--papel);border-radius:13px;padding:5px;margin:22px 0 24px}
.tabs button{flex:1;border:0;background:none;padding:11px;border-radius:10px;font-weight:600;color:var(--gris);
  cursor:pointer;font-family:var(--sans);font-size:.95rem;transition:.15s}
.tabs button.activo{background:#fff;color:var(--azul);box-shadow:var(--sombra)}

.campo{margin-bottom:17px}
.campo label{display:block;font-weight:600;font-size:.9rem;margin-bottom:7px}
.campo input,.campo textarea,.campo select{width:100%;padding:13px 15px;border:1.5px solid var(--linea);
  border-radius:12px;font:inherit;font-size:1rem;background:#fff;color:var(--tinta);transition:border .15s,box-shadow .15s}
.campo input:focus,.campo textarea:focus,.campo select:focus{outline:none;border-color:var(--azul);
  box-shadow:0 0 0 3px rgba(1,60,135,.14)}
.campo .pista{font-size:.82rem;color:var(--gris);margin-top:6px}
.campo.ok input{border-color:var(--verde)}
.campo.error input{border-color:var(--rojo)}
.campo.aviso-dup input{border-color:var(--oro-osc)}

.aviso{padding:13px 15px;border-radius:12px;font-size:.92rem;margin-bottom:17px;display:none}
.aviso.error{display:block;background:#fbe9e6;color:#a02f1c;border:1px solid #f3c8bf}
.aviso.ok{display:block;background:var(--verde-claro);color:var(--verde-osc);border:1px solid #cbe9ad}
.aviso.info{display:block;background:var(--azul-claro);color:var(--azul-osc);border:1px solid #cadff2}
.aviso.warn{display:block;background:#fdf3e2;color:#8a5a13;border:1px solid #f3ddb4}

/* ===== App dirigente / admin ===== */
.app-body{background:var(--papel);min-height:100vh}
.app-top{background:#fff;border-bottom:1px solid var(--linea);position:sticky;top:0;z-index:40}
.app-top .nav-in{height:66px}
.app-top .marca{font-size:1.06rem}
/* Menú de secciones (admin / dirigente) */
.tabs-nav{display:flex;gap:6px;align-items:center;overflow-x:auto;padding:12px 0;border-bottom:1px solid var(--linea);margin-bottom:24px;-webkit-overflow-scrolling:touch}
.tabs-nav button{border:0;background:none;padding:10px 16px;border-radius:10px;font-weight:600;color:var(--gris);cursor:pointer;font-family:var(--sans);font-size:.98rem;white-space:nowrap;display:flex;align-items:center;gap:7px}
.tabs-nav button:hover{background:var(--azul-claro);color:var(--azul)}
.tabs-nav button.activo{background:var(--azul);color:#fff}
.tabs-nav button.activo .cuenta{background:rgba(255,255,255,.25);color:#fff}
.tabs-nav .cuenta{background:var(--azul-claro);color:var(--azul);border-radius:999px;font-size:.75rem;padding:.1em .55em;font-weight:700}
.tabs-nav .cuenta.alerta{background:#fdf3e2;color:#8a5a13}
.pane{display:none}
.pane.activo{display:block;animation:aparece .25s ease}
@keyframes aparece{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
/* En móvil el menú de secciones es vertical (lista apilada) */
@media(max-width:640px){
  .tabs-nav{flex-direction:column;align-items:stretch;overflow:visible;gap:8px;border-bottom:none;padding:8px 0 16px}
  .tabs-nav button{justify-content:space-between;width:100%;border:1px solid var(--linea);background:#fff;padding:14px 16px;font-size:1.02rem}
  .tabs-nav button:hover{background:var(--azul-claro)}
  .tabs-nav button.activo{background:var(--azul);color:#fff;border-color:var(--azul)}
}

.chip-user{display:flex;align-items:center;gap:12px;font-size:.9rem;color:var(--gris)}
.chip-user b{color:var(--tinta)}
@media(max-width:560px){.chip-user span.saludo{display:none}}

.tablero{display:grid;grid-template-columns:400px 1fr;gap:28px;padding:28px 0}
@media(max-width:960px){.tablero{grid-template-columns:1fr}}
.panel{background:#fff;border:1px solid var(--linea);border-radius:var(--radio);padding:26px;box-shadow:var(--sombra)}
.panel h2{font-size:1.4rem}
.panel.sticky{position:sticky;top:90px}
@media(max-width:960px){.panel.sticky{position:static}}

.kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:18px;margin-bottom:26px}
.kpi{background:#fff;border:1px solid var(--linea);border-radius:var(--radio);padding:22px;box-shadow:var(--sombra)}
.kpi .n{font-family:var(--serif);font-size:2.3rem;line-height:1;color:var(--azul)}
.kpi .l{color:var(--gris);font-size:.87rem;margin-top:7px}
.kpi.verde .n{color:var(--verde-osc)}

/* Progreso meta */
.meta-caja{background:linear-gradient(140deg,var(--azul),var(--azul-osc));color:#fff;border-radius:var(--radio);
  padding:22px;margin-bottom:22px;box-shadow:var(--sombra)}
.meta-caja .top{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:12px}
.meta-caja .big{font-family:var(--serif);font-size:2rem;line-height:1}
.meta-caja .lbl{font-size:.84rem;color:#bcd2ec}
.barra{height:12px;background:rgba(255,255,255,.2);border-radius:8px;overflow:hidden}
.barra.slim{height:8px;background:var(--azul-claro)}
.barra i{display:block;height:100%;background:linear-gradient(90deg,var(--verde),#8fe03a);border-radius:8px;transition:width .6s ease}
.barra.slim i{background:var(--azul)}

/* Buscador */
.buscador{position:relative;margin-bottom:16px}
.buscador input{width:100%;padding:11px 14px 11px 40px;border:1.5px solid var(--linea);border-radius:11px;font:inherit;font-size:.95rem}
.buscador input:focus{outline:none;border-color:var(--azul)}
.buscador svg{position:absolute;left:13px;top:50%;transform:translateY(-50%);width:18px;height:18px;color:var(--gris-claro)}

/* Foto de cédula */
.dropfoto{border:2px dashed var(--linea);border-radius:13px;padding:20px;text-align:center;cursor:pointer;
  background:var(--papel);transition:.15s;display:block}
.dropfoto:hover{border-color:var(--azul);background:var(--azul-claro)}
.dropfoto.tiene{padding:8px;border-style:solid;border-color:var(--verde)}
.dropfoto img{border-radius:9px;margin:0 auto;max-height:190px;width:auto}
.dropfoto .txt{color:var(--gris);font-size:.9rem}.dropfoto .txt b{color:var(--azul)}

/* Lista de apoyos */
.lista-apoyos{display:flex;flex-direction:column;gap:11px}
.item-apoyo{display:flex;align-items:center;gap:14px;padding:13px 15px;border:1px solid var(--linea);border-radius:13px;background:#fff;transition:.15s}
.item-apoyo:hover{border-color:var(--azul-claro);box-shadow:var(--sombra)}
.item-apoyo .av{width:46px;height:46px;border-radius:11px;background:var(--azul-claro);color:var(--azul);
  display:flex;align-items:center;justify-content:center;font-weight:700;flex:0 0 auto;font-family:var(--serif);font-size:1.15rem}
.item-apoyo .info{flex:1;min-width:0}
.item-apoyo .info b{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.item-apoyo .info span{color:var(--gris);font-size:.85rem}
.item-apoyo .acc{display:flex;gap:6px;flex:0 0 auto}
.icobtn{border:1px solid var(--linea);background:#fff;border-radius:10px;width:38px;height:38px;cursor:pointer;
  display:flex;align-items:center;justify-content:center;color:var(--gris);transition:.15s}
.icobtn:hover{border-color:var(--rojo);color:var(--rojo)}
.icobtn.ver:hover{border-color:var(--azul);color:var(--azul)}
.icobtn.wa:hover{border-color:var(--verde);color:var(--verde)}

.tabla{width:100%;border-collapse:collapse;font-size:.92rem}
.tabla th,.tabla td{text-align:left;padding:12px 13px;border-bottom:1px solid var(--linea);white-space:nowrap}
.tabla th{font-size:.76rem;text-transform:uppercase;letter-spacing:.06em;color:var(--gris);cursor:pointer;user-select:none}
.tabla th:hover{color:var(--azul)}
.tabla-scroll{overflow-x:auto}
.tabla tr:hover td{background:var(--papel)}
.pill{display:inline-block;padding:.2em .7em;border-radius:999px;font-size:.78rem;font-weight:600;background:var(--azul-claro);color:var(--azul)}

.vacio{text-align:center;color:var(--gris);padding:36px 12px}
.vacio svg{width:58px;height:58px;color:var(--linea);margin:0 auto 12px}

/* Grafico admin */
.chart{display:flex;align-items:flex-end;gap:8px;height:150px;padding-top:10px}
.chart .col{flex:1;display:flex;flex-direction:column;align-items:center;gap:6px;min-width:0}
.chart .barv{width:100%;max-width:34px;background:linear-gradient(180deg,var(--azul-br),var(--azul));border-radius:6px 6px 0 0;
  min-height:3px;transition:height .5s ease}
.chart .dia{font-size:.68rem;color:var(--gris-claro);white-space:nowrap}
.chart .val{font-size:.72rem;font-weight:700;color:var(--azul)}

/* Modal */
.modal{position:fixed;inset:0;background:rgba(1,20,44,.72);display:none;align-items:center;justify-content:center;z-index:100;padding:20px}
.modal.abierto{display:flex}
.modal img{max-width:min(92vw,760px);max-height:88vh;border-radius:14px;box-shadow:0 20px 60px rgba(0,0,0,.5)}
.modal .cerrar{position:absolute;top:18px;right:24px;color:#fff;font-size:2.1rem;cursor:pointer;background:none;border:0;line-height:1}

.cargando{display:inline-block;width:18px;height:18px;border:2.5px solid rgba(255,255,255,.5);border-top-color:#fff;border-radius:50%;animation:giro .7s linear infinite}
@keyframes giro{to{transform:rotate(360deg)}}
.oculto{display:none!important}
.centro-txt{text-align:center}
.mt{margin-top:16px}
.enlace-tenue{color:var(--gris);font-size:.9rem}

/* Logo en marca (imagen PPG) */
.marca .logo{display:inline-block;line-height:0}
.marca .logo img{border-radius:50%}

/* Tarjeta de marca en hero / media */
.hero-foto.brand,.media.brand{background:#fff;display:flex;align-items:center;justify-content:center;padding:22px}
.hero-foto.brand{aspect-ratio:auto}
.hero-foto.brand img,.media.brand img{width:100%;height:auto;border-radius:12px}
.hero-foto.brand .cinta{background:linear-gradient(transparent,rgba(1,42,94,.9))}
/* Banner del candidato (foto + logo) que se funde con el azul del hero */
.hero-foto.banner{aspect-ratio:auto;background:transparent;border:none;box-shadow:none;overflow:visible;display:flex;align-items:center;justify-content:center}
.hero-foto.banner img{width:100%;height:auto;border-radius:14px}

/* Redes sociales */
.redes{display:flex;gap:12px;margin-top:22px;align-items:center}
.red{width:44px;height:44px;border-radius:50%;border:1.5px solid rgba(255,255,255,.28);display:flex;
  align-items:center;justify-content:center;color:#fff;transition:.15s}
.red:hover{background:#fff;color:var(--azul);text-decoration:none;transform:translateY(-2px)}
.red svg{width:20px;height:20px}
footer .redes{margin-top:12px}
footer .red{border-color:rgba(255,255,255,.22);color:#dbe6f4}
footer .red:hover{background:#fff;color:var(--tinta)}

/* Trayectoria: logos de afiliacion */
.afil{display:flex;align-items:center;gap:14px;background:#fff;border:1px solid var(--linea);border-radius:14px;
  padding:14px 16px;box-shadow:var(--sombra);margin-bottom:12px}
.afil img{width:52px;height:52px;object-fit:contain;flex:0 0 auto}
.afil b{display:block}.afil span{color:var(--gris);font-size:.9rem}
