/* ================================================================
   proyecto.css — componentes de las páginas de proyecto (mini-webs)
   Depende de site.css (tokens). Cada página fija su propio tema con
   variables --acc / --acc-d / --acc-dd / --acc-soft / --acc-grad en
   un <style> inline, de modo que cada proyecto "cambia de piel".
   ================================================================ */
:root{
  --acc:#159a5b; --acc-d:#0e7c47; --acc-dd:#0a5c35;
  --acc-soft:#eaf7ef; --acc-grad:linear-gradient(135deg,#159a5b,#7bc043);
}

/* ---- migas de pan ---- */
.crumbs{font-family:var(--font-ui);font-size:.85rem;color:var(--tinta-suave);display:flex;
  flex-wrap:wrap;gap:.4em;align-items:center}
.crumbs a{color:var(--tinta-suave);text-decoration:none}
.crumbs a:hover{color:var(--acc-d)}
.crumbs .sep{opacity:.5}
.crumbs .cur{color:var(--acc-dd);font-weight:600}

/* ================= HERO de proyecto (3 variantes) ================= */
.p-hero{position:relative;overflow:hidden}
.p-hero .wrap{position:relative;z-index:2}
.p-kicker{display:inline-flex;align-items:center;gap:.5em;font-family:var(--font-ui);
  font-weight:700;font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;
  padding:.5em 1em;border-radius:var(--r-pill);background:var(--acc-soft);color:var(--acc-dd);
  border:1px solid color-mix(in srgb,var(--acc) 22%,transparent)}
.p-hero h1{font-family:var(--font-display);font-weight:700;line-height:1.02;
  font-size:clamp(2.3rem,5.2vw,4rem);letter-spacing:-.02em;color:var(--oliva);margin:.32em 0 .16em}
.p-hero .p-sub{font-family:var(--font-display);font-style:italic;font-weight:500;
  font-size:clamp(1.05rem,2vw,1.4rem);color:var(--acc-dd);margin-bottom:.7em;max-width:34ch}
.p-hero .p-lema{font-size:1.1rem;color:var(--tinta-suave);max-width:52ch;line-height:1.6}

/* badges de metadatos */
.p-badges{display:flex;flex-wrap:wrap;gap:.55em;margin:1.5em 0 1.7em}
.p-badge{display:inline-flex;align-items:center;gap:.5em;font-family:var(--font-ui);
  font-weight:600;font-size:.86rem;color:var(--tinta);background:var(--blanco-calido);
  border:1px solid var(--linea);border-radius:var(--r-pill);padding:.5em .95em;box-shadow:var(--sombra-xs)}
.p-badge svg{width:16px;height:16px;color:var(--acc-d)}
.p-badge b{color:var(--acc-dd)}
.p-badge .flag{font-size:1.05em;line-height:1}

.p-actions{display:flex;flex-wrap:wrap;gap:.8em}

/* variante SPLIT: texto + foto blob */
.p-hero.v-split{background:var(--grad-crema);padding:56px 0 60px}
.p-hero.v-split .hg{display:grid;grid-template-columns:1.05fr .95fr;gap:52px;align-items:center}
.p-hero.v-split .p-media{position:relative;aspect-ratio:4/3;border:7px solid #fff;
  box-shadow:var(--sombra-lg);border-radius:58% 42% 55% 45% / 52% 48% 52% 48%;overflow:hidden}
.p-hero.v-split .p-media img{width:100%;height:100%;object-fit:cover}

/* variante COVER: foto a sangre con overlay */
.p-hero.v-cover{min-height:clamp(440px,60vh,600px);display:flex;align-items:flex-end;
  padding:0 0 54px;color:#fff}
.p-hero.v-cover .p-bg{position:absolute;inset:0;z-index:0}
.p-hero.v-cover .p-bg img{width:100%;height:100%;object-fit:cover}
.p-hero.v-cover .p-bg::after{content:"";position:absolute;inset:0;
  background:linear-gradient(180deg,rgba(20,30,8,.15) 0%,rgba(20,30,8,.55) 55%,rgba(15,22,6,.86) 100%)}
.p-hero.v-cover h1{color:#fff}
.p-hero.v-cover .p-sub{color:#fff}
.p-hero.v-cover .p-lema{color:rgba(255,255,255,.9)}
.p-hero.v-cover .p-kicker{background:rgba(255,255,255,.16);color:#fff;border-color:rgba(255,255,255,.3);
  backdrop-filter:blur(4px)}
.p-hero.v-cover .p-badge{background:rgba(255,255,255,.14);border-color:rgba(255,255,255,.25);color:#fff}
.p-hero.v-cover .p-badge svg{color:var(--lima-claro)}
.p-hero.v-cover .p-badge b{color:#fff}
.p-hero.v-cover .crumbs,.p-hero.v-cover .crumbs a,.p-hero.v-cover .crumbs .cur{color:rgba(255,255,255,.85)}

/* variante CENTER: texto centrado sobre gradiente de acento */
.p-hero.v-center{text-align:center;padding:62px 0 64px;color:#fff;
  background:var(--acc-grad)}
.p-hero.v-center::before{content:"";position:absolute;inset:0;
  background:radial-gradient(120% 80% at 50% -10%,rgba(255,255,255,.22),transparent 60%);z-index:1}
.p-hero.v-center h1{color:#fff}
.p-hero.v-center .p-kicker{background:rgba(255,255,255,.18);color:#fff;border-color:rgba(255,255,255,.35)}
.p-hero.v-center .p-sub{color:rgba(255,255,255,.95);margin-left:auto;margin-right:auto}
.p-hero.v-center .p-lema{color:rgba(255,255,255,.9);margin:0 auto}
.p-hero.v-center .p-badges{justify-content:center}
.p-hero.v-center .p-badge{background:rgba(255,255,255,.16);border-color:rgba(255,255,255,.3);color:#fff}
.p-hero.v-center .p-badge svg{color:#fff}
.p-hero.v-center .p-badge b{color:#fff}
.p-hero.v-center .p-actions{justify-content:center}
.p-hero.v-center .crumbs,.p-hero.v-center .crumbs a,.p-hero.v-center .crumbs .cur{color:rgba(255,255,255,.9)}

/* ================= secciones de proyecto ================= */
.p-body .wrap{max-width:1080px}
.p-block{padding:60px 0}
.p-block + .p-block{border-top:1px solid var(--linea)}
.p-ey{display:inline-flex;align-items:center;gap:.5em;font-family:var(--font-ui);font-weight:700;
  font-size:.72rem;letter-spacing:.15em;text-transform:uppercase;color:var(--acc-dd);margin-bottom:.7em}
.p-ey::before{content:"";width:22px;height:2px;background:var(--acc);border-radius:2px}
.p-block h2{font-family:var(--font-display);font-weight:700;font-size:clamp(1.6rem,3vw,2.2rem);
  color:var(--oliva);letter-spacing:-.01em;margin-bottom:.5em}
.p-prose{font-size:1.08rem;color:var(--tinta-suave);line-height:1.75;max-width:70ch}
.p-prose p{margin-bottom:1em}

/* objetivos */
.obj-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:18px;margin-top:6px}
.obj-item{background:var(--blanco-calido);border:1px solid var(--linea);border-radius:var(--r-md);
  padding:22px 22px 24px;box-shadow:var(--sombra-xs);position:relative}
.obj-item .n{width:34px;height:34px;border-radius:10px;background:var(--acc-grad);color:#fff;
  display:flex;align-items:center;justify-content:center;font-weight:800;font-size:.95rem;margin-bottom:12px}
.obj-item p{color:var(--tinta);font-size:.98rem;line-height:1.55;margin:0}

/* galería */
.p-gallery{display:grid;grid-template-columns:repeat(12,1fr);gap:14px}
.p-gallery figure{margin:0;overflow:hidden;border-radius:var(--r-md);box-shadow:var(--sombra-sm);
  grid-column:span 4;aspect-ratio:4/3;position:relative}
.p-gallery figure:first-child{grid-column:span 8;aspect-ratio:16/9}
.p-gallery figure img{width:100%;height:100%;object-fit:cover;transition:transform .6s ease}
.p-gallery figure:hover img{transform:scale(1.05)}

/* tarjeta de coordinación / datos */
.p-meta-card{background:var(--oliva);color:var(--crema);border-radius:var(--r-lg);
  padding:34px 34px 30px;box-shadow:var(--sombra-md);position:relative;overflow:hidden}
.p-meta-card h3{font-family:var(--font-display);color:#fff;font-size:1.35rem;margin-bottom:.7em}
.p-meta-list{display:flex;flex-direction:column;gap:14px}
.p-meta-list .row{display:flex;gap:12px;align-items:flex-start;font-size:.95rem}
.p-meta-list .row svg{width:18px;height:18px;color:var(--lima-claro);flex:none;margin-top:2px}
.p-meta-list .row .k{display:block;font-size:.72rem;text-transform:uppercase;letter-spacing:.1em;
  color:rgba(255,255,255,.6)}
.p-meta-list .row .v{color:#fff;font-weight:600}
.p-meta-list code{background:rgba(255,255,255,.12);padding:.15em .5em;border-radius:6px;
  font-size:.82rem;color:#fff;word-break:break-all}
.p-official{display:inline-flex;align-items:center;gap:.5em;margin-top:22px;font-weight:700;
  font-size:.9rem;color:var(--oliva);background:var(--lima-claro);padding:.7em 1.1em;
  border-radius:var(--r-pill);text-decoration:none;transition:transform .15s,box-shadow .15s}
.p-official:hover{transform:translateY(-2px);box-shadow:var(--sombra-verde)}

/* documentos */
.doc-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:14px}
.doc-item{display:flex;align-items:center;gap:14px;background:var(--blanco-calido);
  border:1px solid var(--linea);border-radius:var(--r-md);padding:16px 18px;text-decoration:none;
  color:var(--tinta);transition:border-color .15s,transform .15s,box-shadow .15s}
.doc-item:hover{border-color:var(--acc);transform:translateY(-2px);box-shadow:var(--sombra-sm)}
.doc-item .di{width:42px;height:42px;border-radius:11px;background:var(--acc-soft);color:var(--acc-d);
  display:flex;align-items:center;justify-content:center;flex:none}
.doc-item .dt{font-weight:600;font-size:.95rem;line-height:1.3}
.doc-item .ds{font-size:.78rem;color:var(--tinta-suave)}

/* enlaces externos */
.link-list{display:flex;flex-direction:column;gap:10px}
.link-list a{display:inline-flex;align-items:center;gap:.6em;color:var(--acc-dd);font-weight:600;
  text-decoration:none;font-size:.98rem}
.link-list a:hover{text-decoration:underline}
.link-list a svg{width:16px;height:16px}

/* dos columnas contenido + aside */
.p-cols{display:grid;grid-template-columns:1fr 340px;gap:44px;align-items:start}

/* proyectos relacionados */
.p-related{background:var(--crema-2)}
.rel-grid{display:grid;grid-template-columns:repeat(auto-ffill,minmax(240px,1fr));gap:20px}

/* tarjeta de proyecto reutilizable (índice + relacionados) */
.pcard{display:flex;flex-direction:column;background:var(--blanco-calido);border:1px solid var(--linea);
  border-radius:var(--r-lg);overflow:hidden;text-decoration:none;color:inherit;box-shadow:var(--sombra-xs);
  transition:transform .18s,box-shadow .18s}
.pcard:hover{transform:translateY(-5px);box-shadow:var(--sombra-md)}
.pcard .pc-thumb{aspect-ratio:16/10;overflow:hidden;position:relative;background:var(--crema-3)}
.pcard .pc-thumb img{width:100%;height:100%;object-fit:cover;transition:transform .5s}
.pcard:hover .pc-thumb img{transform:scale(1.06)}
.pcard .pc-year{position:absolute;top:12px;left:12px;font-family:var(--font-ui);font-weight:700;
  font-size:.72rem;letter-spacing:.06em;background:rgba(255,255,255,.92);color:var(--oliva);
  padding:.35em .7em;border-radius:var(--r-pill)}
.pcard .pc-ka{position:absolute;top:12px;right:12px;font-family:var(--font-ui);font-weight:700;
  font-size:.68rem;letter-spacing:.04em;color:#fff;padding:.35em .7em;border-radius:var(--r-pill);
  background:var(--acc-d)}
.pcard .pc-body{padding:18px 20px 22px;display:flex;flex-direction:column;flex:1}
.pcard .pc-body h3{font-family:var(--font-display);font-weight:600;font-size:1.16rem;color:var(--oliva);
  line-height:1.2;margin-bottom:.35em}
.pcard .pc-tag{font-size:.76rem;color:var(--acc-dd);font-weight:700;text-transform:uppercase;
  letter-spacing:.06em;margin-bottom:.55em;display:flex;align-items:center;gap:.4em}
.pcard .pc-desc{font-size:.9rem;color:var(--tinta-suave);line-height:1.5;margin-bottom:.9em;flex:1}
.pcard .pc-foot{display:flex;align-items:center;justify-content:space-between;font-size:.82rem;
  color:var(--tinta-suave);border-top:1px solid var(--linea);padding-top:12px}
.pcard .pc-foot .more{color:var(--acc-dd);font-weight:700;display:inline-flex;align-items:center;gap:.3em}
/* tamaños de iconos en componentes de proyecto (evita SVG gigantes) */
.pc-tag svg{width:15px;height:15px;flex:none}
.pc-foot svg,.pc-foot .more svg{width:15px;height:15px;flex:none}
.p-ey svg{width:16px;height:16px;flex:none;vertical-align:-2px}
.doc-item .di svg{width:20px;height:20px}
.p-official svg{width:16px;height:16px;flex:none}
.crumbs svg{width:14px;height:14px}

/* ===== logo del proyecto (tarjeta + hero) ===== */
.pc-thumb.is-logo{background:var(--crema-2);display:flex;align-items:center;justify-content:center;padding:20px}
.pc-thumb.is-logo img{max-width:80%;max-height:78%;width:auto;height:auto;object-fit:contain;transition:transform .5s}
.pcard:hover .pc-thumb.is-logo img{transform:scale(1.05)}
.p-logo-chip{display:inline-flex;align-items:center;justify-content:center;background:#fff;
  border-radius:20px;padding:22px 28px;box-shadow:var(--sombra-md);margin:0 auto 22px;max-width:320px}
.p-logo-chip img{max-width:100%;max-height:128px;width:auto;height:auto;display:block}

/* ===== documentos / publicaciones (visor tipo boletines) ===== */
.doc-wall{display:grid;grid-template-columns:repeat(auto-fill,minmax(148px,1fr));gap:16px}
.doc-card{cursor:pointer;background:none;border:none;padding:0;font:inherit;color:inherit;text-align:left;display:flex;flex-direction:column;gap:9px}
.doc-card .dc-cov{position:relative;aspect-ratio:3/4;border-radius:10px;overflow:hidden;border:1px solid var(--linea);
  box-shadow:var(--sombra-xs);background:var(--crema-3);display:flex;align-items:center;justify-content:center;
  transition:transform .16s,box-shadow .16s}
.doc-card:hover .dc-cov{transform:translateY(-3px);box-shadow:var(--sombra-sm);border-color:var(--acc)}
.doc-card .dc-cov img{width:100%;height:100%;object-fit:cover}
.doc-card .dc-cov .dc-ic{color:var(--acc-d);width:46px;height:46px}
.doc-card .dc-t{font-size:.8rem;line-height:1.35;color:var(--tinta)}

/* ===== socios del proyecto ===== */
.socios-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:16px}
.socio{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;text-align:center;
  text-decoration:none;color:var(--tinta-suave);background:#fff;border:1px solid var(--linea);border-radius:var(--r-md);
  padding:18px 14px;box-shadow:var(--sombra-xs);transition:transform .15s,box-shadow .15s;min-height:118px}
a.socio:hover{transform:translateY(-3px);box-shadow:var(--sombra-sm);border-color:var(--acc)}
.socio img{max-width:100%;max-height:62px;width:auto;height:auto;object-fit:contain}
.socio .sn{font-size:.76rem;line-height:1.3;font-weight:600;color:var(--tinta)}

/* ===== índice de proyectos ===== */
.filters{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin:0 0 8px}
.filters button{font-family:var(--font-ui);font-weight:600;font-size:.9rem;cursor:pointer;
  background:var(--blanco-calido);border:1px solid var(--linea);color:var(--tinta);
  padding:.55em 1.1em;border-radius:var(--r-pill);transition:all .15s}
.filters button:hover{border-color:var(--acc)}
.filters button.on{background:var(--oliva);color:#fff;border-color:var(--oliva)}
.year-group{margin-top:46px}
.year-group > h2{font-family:var(--font-display);font-size:1.9rem;color:var(--oliva);
  display:flex;align-items:center;gap:.5em;margin-bottom:6px}
.year-group > h2 .cnt{font-family:var(--font-ui);font-size:.8rem;font-weight:700;color:var(--acc-dd);
  background:var(--acc-soft);padding:.3em .8em;border-radius:var(--r-pill)}
.year-group > p{color:var(--tinta-suave);margin-bottom:24px;max-width:70ch}

/* archivo (tier B) — tarjeta compacta */
.arch-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px}
.arch-card{background:var(--blanco-calido);border:1px solid var(--linea);border-radius:var(--r-md);
  padding:18px 20px 16px;box-shadow:var(--sombra-xs);display:flex;flex-direction:column;min-height:158px}
.arch-card h3{font-family:var(--font-display);font-weight:600;font-size:1.06rem;color:var(--oliva);
  line-height:1.2;margin-bottom:9px}
.arch-card .ac-meta{font-size:.76rem;color:var(--tinta-suave);display:flex;gap:.45em;flex-wrap:wrap;margin-bottom:9px}
.arch-card .ac-chip{font-size:.68rem;font-weight:700;color:var(--musgo);background:var(--menta);
  padding:.25em .65em;border-radius:var(--r-pill)}
.arch-card .ac-chip.alt{color:#fff;background:var(--musgo-claro)}
.arch-card p{font-size:.85rem;color:var(--tinta-suave);line-height:1.5;margin:0;flex:1}
.arch-card .ac-code{margin-top:10px;padding-top:9px;border-top:1px solid var(--linea)}
.arch-card code{font-size:.7rem;color:var(--tinta-suave);word-break:break-all}
/* nota al pie de la caja de datos */
.p-meta-note{margin:16px 0 0;font-size:.8rem;line-height:1.5;color:rgba(255,255,255,.72)}

/* ===== boletines (hemeroteca) — igual que ONG Pasos:
   pestañas por año + muro de portadas (una sola año visible) + visor a pantalla ===== */
.bol-bar{display:flex;align-items:flex-end;justify-content:space-between;gap:1rem 1.6rem;flex-wrap:wrap;
  border-bottom:1px solid var(--linea);padding-bottom:1rem;margin-bottom:26px}
.bol-years{display:flex;gap:.5rem;flex-wrap:wrap;overflow-x:auto;scrollbar-width:none}
.bol-years::-webkit-scrollbar{display:none}
.bol-years button{font-family:var(--font-ui);font-size:.82rem;font-weight:700;color:var(--tinta-suave);
  background:var(--blanco-calido);border:1px solid var(--linea);border-radius:999px;padding:8px 16px;cursor:pointer;
  white-space:nowrap;display:inline-flex;align-items:center;gap:8px;transition:all .2s}
.bol-years button b{color:var(--esmeralda-dd);font-weight:800}
.bol-years button:hover{border-color:var(--esmeralda)}
.bol-years button.on{background:var(--oliva);border-color:var(--oliva);color:#fff}
.bol-years button.on b{color:var(--lima-claro)}
.bol-count{font-size:.85rem;color:var(--tinta-suave);white-space:nowrap;display:flex;align-items:baseline;gap:.5rem}
.bol-count b{color:var(--oliva);font-family:var(--font-display);font-size:1.8rem;line-height:1;font-weight:700}

.bol-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:16px}
.bol-grid[hidden]{display:none}
@media(max-width:520px){.bol-grid{grid-template-columns:repeat(2,1fr);gap:12px}}

.bol-cover{display:block;position:relative;padding:0;margin:0;border:1px solid var(--linea);border-radius:var(--r-md);
  background:var(--crema-3);cursor:pointer;overflow:hidden;text-align:left;font:inherit;color:inherit;
  box-shadow:var(--sombra-xs);transition:transform .35s,border-color .3s,box-shadow .35s}
.bol-cover img{width:100%;height:auto;display:block;transition:transform .5s}
.bol-cover:hover{border-color:var(--esmeralda);transform:translateY(-4px);box-shadow:var(--sombra-md)}
.bol-cover:hover img{transform:scale(1.04)}
.bol-cap{position:absolute;left:0;right:0;bottom:0;padding:1.6rem .8rem .6rem;display:flex;align-items:baseline;
  justify-content:space-between;gap:.5rem;color:#fff;font-size:.92rem;
  background:linear-gradient(0deg,rgba(20,26,12,.92),rgba(20,26,12,.35) 55%,transparent)}
.bol-cap b{font-family:var(--font-display);font-weight:600}
.bol-cap span{color:var(--lima-claro);font-weight:600;font-size:.82rem}
.bol-open{position:absolute;top:.6rem;right:.6rem;font-size:.6rem;font-weight:700;text-transform:uppercase;
  letter-spacing:.06em;color:var(--oliva);background:rgba(255,255,255,.94);border-radius:999px;padding:5px 10px;
  display:inline-flex;align-items:center;gap:6px;opacity:0;transform:translateY(-5px);transition:.3s;pointer-events:none}
.bol-open svg{width:12px;height:12px}
.bol-cover:hover .bol-open,.bol-cover:focus-visible .bol-open{opacity:1;transform:none}

/* visor a pantalla completa */
.bol-lb{position:fixed;inset:0;z-index:1000;display:flex;flex-direction:column;background:rgba(15,20,8,.92);
  -webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);opacity:0;visibility:hidden;transition:opacity .3s,visibility .3s}
.bol-lb.on{opacity:1;visibility:visible}
.bol-lb-bar{display:flex;align-items:center;gap:.6rem .9rem;flex-wrap:wrap;color:#fff;padding:14px clamp(1rem,3vw,2rem)}
.bol-lb-t{display:flex;align-items:baseline;gap:.6rem;margin-right:auto;min-width:0}
.bol-lb-t b{font-family:var(--font-display);font-size:1.4rem;color:#fff}
.bol-lb-t span{font-size:.7rem;text-transform:uppercase;letter-spacing:.1em;color:var(--lima-claro)}
.bol-lb-bar button,.bol-lb-bar a{font-size:.75rem;font-weight:700;color:#fff;background:rgba(255,255,255,.1);
  border:1px solid rgba(255,255,255,.22);border-radius:999px;padding:9px 14px;cursor:pointer;display:inline-flex;
  align-items:center;gap:7px;white-space:nowrap;text-decoration:none;transition:.2s}
.bol-lb-bar button:hover,.bol-lb-bar a:hover{background:var(--esmeralda);border-color:var(--esmeralda)}
.bol-lb-bar button:disabled{opacity:.3;pointer-events:none}
.bol-lb-nav{display:flex;gap:.4rem}
.bol-lb-bar a svg,.bol-lb-nav svg{width:14px;height:14px}
.bol-lb-stage{flex:1;min-height:0;display:flex;padding:0 clamp(.7rem,3vw,2rem) clamp(.9rem,3vw,2rem)}
.bol-lb-frame{flex:1;min-height:0;width:100%;border:0;background:#fff;border-radius:4px;box-shadow:var(--sombra-lg)}
@media(max-width:600px){.bol-lb-t{order:-1;flex-basis:100%;margin-right:0}}
/* visor */
.bol-lb{position:fixed;inset:0;z-index:1000;background:rgba(20,26,12,.82);backdrop-filter:blur(4px);
  display:flex;align-items:center;justify-content:center;padding:24px}
.bol-lb[hidden]{display:none}
.bol-lb-in{background:#111;border-radius:var(--r-md);overflow:hidden;width:min(880px,100%);max-height:92vh;
  display:flex;flex-direction:column;box-shadow:var(--sombra-lg)}
.bol-lb-bar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 14px 12px 20px;
  background:var(--oliva);color:#fff}
.bol-lb-bar #bolT{font-family:var(--font-display);font-weight:600;font-size:1.05rem}
.bol-lb-actions{display:flex;align-items:center;gap:10px}
.bol-lb-actions .btn{padding:.5em 1em;font-size:.85rem;background:rgba(255,255,255,.12);color:#fff;border-color:rgba(255,255,255,.3)}
.bol-lb-actions .btn svg{width:14px;height:14px}
#bolX{background:rgba(255,255,255,.14);border:none;color:#fff;width:38px;height:38px;border-radius:10px;
  cursor:pointer;font-size:1.1rem;line-height:1}
#bolX:hover{background:rgba(255,255,255,.28)}
.bol-lb-frame{position:relative;width:100%;aspect-ratio:1.3/1;background:#000}
.bol-lb-frame iframe{position:absolute;inset:0;width:100%;height:100%;border:0}

/* elementos de diseño para páginas sin foto (design-led) */
.design-blob{aspect-ratio:4/3;border-radius:58% 42% 55% 45% / 52% 48% 52% 48%;background:var(--grad-oliva);
  display:flex;align-items:center;justify-content:center;box-shadow:var(--sombra-md);position:relative;overflow:hidden}
.design-blob::after{content:"";position:absolute;width:70%;height:70%;top:-20%;right:-20%;border-radius:50%;
  background:radial-gradient(circle,rgba(255,255,255,.16),transparent 70%)}
.design-blob--verde{background:var(--grad)}
.design-blob .anos{width:132px;height:132px;border-radius:50%;background:var(--grad);color:#fff;display:flex;
  flex-direction:column;align-items:center;justify-content:center;border:6px solid #fff;box-shadow:var(--sombra-md);z-index:1}
.design-blob .anos b{font-family:var(--font-display);font-size:2.6rem;line-height:1}
.design-blob .anos small{text-transform:uppercase;letter-spacing:.12em;font-size:.72rem;margin-top:.2em}

/* equipo (Quiénes somos) — tarjetas con hover que despliega cargo + descripción */
.team-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(184px,1fr));gap:18px}
.team-card{position:relative;padding:0;margin:0;border:none;cursor:pointer;font:inherit;color:inherit;text-align:left;
  border-radius:var(--r-md);overflow:hidden;box-shadow:var(--sombra-sm);background:var(--oliva);aspect-ratio:3/4;display:block}
.team-card img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s,filter .35s}
.team-card .tc-base{position:absolute;left:0;right:0;bottom:0;padding:16px 14px 13px;color:#fff;transition:opacity .3s;
  background:linear-gradient(0deg,rgba(20,26,12,.94),rgba(20,26,12,.35) 62%,transparent)}
.team-card .tc-name{display:block;font-family:var(--font-display);font-weight:600;font-size:1.04rem;line-height:1.16}
.team-card .tc-role{display:block;font-size:.74rem;color:var(--lima-claro);font-weight:700;margin-top:2px}
.team-card .tc-about{position:absolute;inset:0;padding:16px 15px;display:flex;flex-direction:column;justify-content:flex-start;gap:3px;
  color:#fff;opacity:0;transform:translateY(10px);transition:opacity .3s,transform .3s;overflow-y:auto;
  background:linear-gradient(180deg,rgba(30,45,10,.92),rgba(18,28,6,.98))}
.team-card .tc-about::-webkit-scrollbar{width:5px}
.team-card .tc-about::-webkit-scrollbar-thumb{background:rgba(255,255,255,.28);border-radius:5px}
.team-card .tc-about .tc-name{font-size:1.05rem}
.team-card .tc-txt{font-size:.76rem;line-height:1.48;color:rgba(255,255,255,.92);margin-top:6px}
.team-card:hover img{transform:scale(1.05);filter:brightness(.45)}
.team-card:hover .tc-base{opacity:0}
.team-card:hover .tc-about,.team-card.open .tc-about{opacity:1;transform:none}
.team-card.open img{filter:brightness(.45)}
.team-card:focus-visible{outline:2px solid var(--esmeralda);outline-offset:2px}
.team-card .tc-ph{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-family:var(--font-display);font-weight:700;font-size:3rem;color:#fff;background:var(--grad-oliva);letter-spacing:.02em}
.team-card.no-photo{cursor:default}


/* cabeceras de tarjeta de blog sin foto (gradiente + icono) */
.thumb-grad{display:flex;align-items:center;justify-content:center;position:relative}
.thumb-grad svg{width:66px;height:66px;color:#fff;opacity:.55}
.tg-musgo{background:var(--grad-oliva)}
.tg-terra{background:linear-gradient(135deg,#b5623c,#d99a6a)}
.tg-ocre{background:linear-gradient(135deg,#c9a227,#e0c34a)}

/* ===== banda "Hazte socio colaborador" (antes del footer, en todas las páginas) ===== */
.socio-band{background:var(--crema-2);border-top:1px solid var(--linea);padding:58px 0}
.socio-inner{max-width:760px;margin:0 auto;text-align:center}
.socio-band h2{font-family:var(--font-display);font-weight:700;font-size:clamp(1.6rem,3.4vw,2.4rem);
  color:var(--oliva);line-height:1.16;margin:.5em 0 0}
.socio-hl{font-style:italic;background:var(--lima-claro);color:var(--oliva);padding:.02em .3em;border-radius:6px;
  -webkit-box-decoration-break:clone;box-decoration-break:clone}
.socio-list{list-style:none;margin:1.3em auto 0;padding:0;display:flex;flex-direction:column;gap:12px;
  text-align:left;max-width:540px}
.socio-list li{display:flex;align-items:flex-start;gap:12px;color:var(--tinta);font-size:1.02rem;line-height:1.4}
.socio-list li b{color:var(--oliva)}
.socio-list .ck{flex:none;width:26px;height:26px;border-radius:50%;background:var(--esmeralda);color:#fff;
  display:flex;align-items:center;justify-content:center;margin-top:1px}
.socio-list .ck svg{width:15px;height:15px}
.socio-more{font-family:var(--font-display);font-style:italic;font-weight:500;font-size:1.3rem;color:var(--musgo);margin:.8em 0 1.3em}

/* ficha de archivo: logo pequeño + título */
.arch-card .ac-head{display:flex;align-items:center;gap:11px;margin-bottom:10px}
.arch-card .ac-head h3{margin:0}
.ac-logo{flex:none;width:42px;height:42px;border-radius:9px;background:#fff;border:1px solid var(--linea);
  display:flex;align-items:center;justify-content:center;overflow:hidden;padding:4px}
.ac-logo img{max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain}
.ac-logo--ph{background:var(--grad-oliva);color:#fff;font-family:var(--font-display);font-weight:700;font-size:1rem;padding:0}

/* filtro por años del archivo */
.arch-filter{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 26px}
.arch-filter button{font-family:var(--font-ui);font-weight:700;font-size:.82rem;cursor:pointer;
  background:var(--blanco-calido);border:1px solid var(--linea);color:var(--tinta-suave);
  padding:.45em 1.05em;border-radius:var(--r-pill);transition:all .15s}
.arch-filter button:hover{border-color:var(--esmeralda);color:var(--oliva)}
.arch-filter button.on{background:var(--oliva);border-color:var(--oliva);color:#fff}

/* tarjeta de proyecto propio (thumb con gradiente) — .pcard para ganar especificidad a .pcard .pc-thumb */
.pcard .pc-thumb--viernes{background:var(--grad-oliva);display:flex;flex-direction:column;align-items:center;
  justify-content:center;gap:10px;color:#fff}
.pc-thumb--viernes .vt-ic{width:54px;height:54px;border-radius:50%;background:rgba(255,255,255,.16);
  display:flex;align-items:center;justify-content:center}
.pc-thumb--viernes .vt-ic svg{width:24px;height:24px;color:#fff}
.pc-thumb--viernes .vt-t{font-family:var(--font-display);font-weight:600;font-size:1.15rem;line-height:1.12;text-align:center}

/* páginas de contenido simple (contacto, quiénes somos…) */
.page-hero{background:var(--grad-crema);padding:54px 0 46px;position:relative;overflow:hidden}
.page-hero h1{font-family:var(--font-display);font-weight:700;font-size:clamp(2rem,4.4vw,3.2rem);
  color:var(--oliva);letter-spacing:-.02em;margin:.2em 0 .2em}
.page-hero .lead{font-size:1.15rem;color:var(--tinta-suave);max-width:60ch}

/* banda de estadísticas */
.stat-band{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.stat{background:var(--blanco-calido);border:1px solid var(--linea);border-radius:var(--r-lg);
  padding:26px 22px;text-align:center;box-shadow:var(--sombra-xs)}
.stat b{display:block;font-family:var(--font-display);font-weight:700;font-size:2rem;color:var(--acc-dd);line-height:1}
.stat span{display:block;margin-top:8px;font-size:.9rem;color:var(--tinta-suave)}

/* formulario de contacto */
.c-form{display:flex;flex-direction:column;gap:16px;margin-top:22px;max-width:560px}
.c-form label{display:flex;flex-direction:column;gap:6px;font-weight:600;font-size:.9rem;color:var(--tinta)}
.c-form .cf-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.c-form input,.c-form textarea{font-family:var(--font-ui);font-size:1rem;padding:.7em .9em;
  border:1px solid var(--linea);border-radius:var(--r-sm);background:var(--blanco-calido);color:var(--tinta);
  font-weight:400}
.c-form input:focus,.c-form textarea:focus{outline:none;border-color:var(--acc);box-shadow:0 0 0 3px var(--acc-soft)}
.c-form .btn{align-self:flex-start;margin-top:4px}
.c-form .hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;opacity:0;pointer-events:none}

/* ===== responsive ===== */
@media (max-width:760px){.stat-band{grid-template-columns:repeat(2,1fr)}.c-form .cf-row{grid-template-columns:1fr}}
@media (max-width:900px){
  .p-hero.v-split .hg{grid-template-columns:1fr;gap:34px}
  .p-cols{grid-template-columns:1fr;gap:30px}
  .p-gallery figure,.p-gallery figure:first-child{grid-column:span 6;aspect-ratio:4/3}
}
@media (max-width:640px){
  .p-gallery figure,.p-gallery figure:first-child{grid-column:span 12}
  .p-block{padding:44px 0}
}

/* sellos de calidad en el footer (ISO + Cuerpo Europeo de Solidaridad) */
.foot-seals{display:flex;flex-wrap:wrap;gap:14px;align-items:center;justify-content:center;padding:24px 0 6px;margin-top:14px;border-top:1px solid rgba(255,255,255,.12)}
.foot-seals img{height:62px;width:auto;background:#fff;border-radius:8px;padding:5px;box-shadow:var(--sombra-xs)}
@media(max-width:520px){.foot-seals img{height:52px}}

/* franja de certificaciones en el header (ISO + Cuerpo Europeo de Solidaridad) */
.top-seals{background:var(--crema-2);border-bottom:1px solid var(--linea)}
.top-seals .wrap{display:flex;align-items:center;justify-content:flex-end;gap:16px;padding:6px 0;flex-wrap:wrap}
.top-seals .ts-lbl{margin-right:auto;font-size:.72rem;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:var(--tinta-suave)}
.top-seals img{height:34px;width:auto;display:block;position:relative;z-index:1;background:#fff;border-radius:5px;
  padding:2px;cursor:zoom-in;transition:transform .22s cubic-bezier(.16,1,.3,1),box-shadow .22s;transform-origin:top right}
.top-seals img:hover,.top-seals img:focus{transform:scale(4.6);z-index:300;
  box-shadow:0 24px 60px -14px rgba(20,26,12,.55);border:1px solid var(--linea);border-radius:10px}
@media(max-width:700px){
  .top-seals .wrap{justify-content:center;gap:12px}.top-seals .ts-lbl{display:none}.top-seals img{height:26px;transform-origin:center top}
  .top-seals img:hover,.top-seals img:active{transform:scale(4.2)}
}

/* páginas legales */
.legal-content{color:var(--tinta-suave);line-height:1.7;font-size:1.02rem}
.legal-content p{margin:0 0 1em}
.legal-content h2{font-family:var(--font-display);color:var(--oliva);font-size:1.3rem;margin:1.6em 0 .5em}
.legal-content ul{margin:0 0 1em 1.2em;padding:0}
.legal-content li{margin:.2em 0}
.legal-content a{color:var(--esmeralda-dd);font-weight:600}
/* enlaces legales del pie */
.foot-legal{display:flex;flex-wrap:wrap;justify-content:center;gap:10px 22px;padding:18px 0 4px;border-top:1px solid rgba(255,255,255,.12);margin-top:14px}
.foot-legal a{color:rgba(255,255,255,.72);font-size:.82rem;text-decoration:none}
.foot-legal a:hover{color:#fff;text-decoration:underline}
