/* 06-pages.css — pie de pagina, cabeceras de subpagina, filtros y rejillas */
/* ============ FOOTER ============ */
footer{border-top:1px solid var(--line-soft);padding:3.6rem 0 2rem;background:rgba(3,16,22,.6)}
.foot-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:2.4rem}
.foot-brand p{color:var(--ink-dim);font-size:.92rem;max-width:34ch;margin-top:1rem}
.foot-col h4{font-family:var(--fm);font-size:.68rem;letter-spacing:.22em;color:var(--ink-faint);text-transform:uppercase;margin-bottom:1.1rem}
.foot-col a{display:block;padding:.28rem 0;color:var(--ink-dim);font-size:.92rem;transition:color .3s,transform .3s var(--ease)}
.foot-col a:hover{color:var(--green);transform:translateX(4px)}
.foot-bottom{margin-top:3rem;padding-top:1.4rem;border-top:1px solid var(--line-soft);display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between;font-family:var(--fm);font-size:.68rem;letter-spacing:.1em;color:var(--ink-faint)}
/* ============ SUBPAGE HEADERS ============ */
.page-head{position:relative;padding:calc(var(--nav-h) + clamp(3rem,9vh,6rem)) 0 2.4rem;overflow:clip}
.page-head h1{font-size:clamp(2rem,5.6vw,4rem);margin:1rem 0 1.1rem}
.ph-bg{position:absolute;inset:0;pointer-events:none}
.ph-bg::before{content:"";position:absolute;inset:0;background-image:repeating-linear-gradient(90deg,var(--line-soft) 0 1px,transparent 1px 110px);mask-image:linear-gradient(180deg,transparent,#000 30%,transparent 95%);opacity:.7}
.ph-bg::after{content:"";position:absolute;top:-120px;right:-80px;width:520px;height:520px;border-radius:50%;background:radial-gradient(circle,rgba(60,232,158,.09),transparent 65%);animation:orb 9s ease-in-out infinite alternate}
@keyframes orb{from{transform:translate(0,0) scale(1)}to{transform:translate(-60px,40px) scale(1.12)}}
.ln{display:block;overflow:hidden;padding-bottom:.06em}
.ph-stats{margin-top:1.6rem;font-size:.72rem;letter-spacing:.18em;color:var(--ink-faint);text-transform:uppercase;display:flex;flex-wrap:wrap;gap:.7rem 1rem}
.ph-stats b{color:var(--green);font-weight:500}
.ph-stats i{font-style:normal;color:var(--line)}
/* ============ FILTERS ============ */
.filters{display:flex;gap:.6rem;flex-wrap:wrap;margin:2rem 0 2.4rem}
.chip{font-family:var(--fm);font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;padding:.55rem 1.1rem;border:1px solid var(--line);border-radius:999px;color:var(--ink-dim);transition:all .3s;display:inline-flex;gap:.5rem;align-items:center}
.chip b{font-weight:500;color:var(--green);font-size:.66rem}
.chip:hover{border-color:var(--green);color:var(--green);transform:translateY(-2px)}
.chip.on{background:var(--green);border-color:var(--green);color:#04241a;font-weight:500}
.chip.on b{color:#04241a}
/* ============ PROYECTOS ============ */
.grid-proj{display:grid;gap:1.6rem;grid-template-columns:1fr;padding-bottom:3.5rem}
.proj-card{position:relative;border:1px solid var(--line-soft);border-radius:var(--r);overflow:hidden;background:var(--panel);display:flex;flex-direction:column;transition:transform .45s var(--ease),border-color .35s,box-shadow .45s;min-width:0}
.proj-card::after{content:"";position:absolute;inset:0;background:radial-gradient(240px circle at var(--mx,50%) var(--my,50%),rgba(60,232,158,.09),transparent 65%);opacity:0;transition:opacity .35s;pointer-events:none;z-index:3}
.proj-card:hover{transform:translateY(-7px);border-color:rgba(60,232,158,.35);box-shadow:0 24px 60px -30px rgba(0,0,0,.7)}
.proj-card:hover::after{opacity:1}
.pc-media{position:relative;aspect-ratio:16/10;overflow:hidden;display:block}
.pc-media img{width:100%;height:100%;object-fit:cover;transition:transform .8s var(--ease),filter .5s}
.proj-card:hover .pc-media img{transform:scale(1.06);filter:saturate(1.15) brightness(1.04)}
.pc-media::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 55%,rgba(3,18,25,.75))}
.pc-cat{position:absolute;top:.9rem;left:.9rem;z-index:2;font-family:var(--fm);font-size:.62rem;letter-spacing:.18em;text-transform:uppercase;background:rgba(3,18,25,.72);backdrop-filter:blur(6px);border:1px solid rgba(60,232,158,.4);color:var(--green);padding:.32rem .7rem;border-radius:999px}
.pc-year{position:absolute;left:.9rem;bottom:.9rem;z-index:2;font-family:var(--fm);font-size:.62rem;letter-spacing:.16em;color:var(--ink-dim);background:rgba(3,18,25,.6);padding:.3rem .65rem;border-radius:999px;border:1px solid var(--line-soft)}
.pc-go{position:absolute;right:.9rem;bottom:.9rem;z-index:2;font-family:var(--fm);font-size:.66rem;letter-spacing:.14em;color:var(--ink);background:rgba(60,232,158,.14);border:1px solid rgba(60,232,158,.5);padding:.4rem .8rem;border-radius:999px;opacity:0;transform:translateY(8px);transition:opacity .35s,transform .4s var(--ease)}
.proj-card:hover .pc-go,.proj-card:focus-within .pc-go{opacity:1;transform:none}
.pc-body{padding:1.4rem 1.4rem 1.5rem;display:flex;flex-direction:column;gap:.7rem;flex:1;min-width:0}
.pc-top{display:flex;justify-content:space-between;gap:1rem;font-family:var(--fm);font-size:.64rem;letter-spacing:.16em;color:var(--ink-faint);text-transform:uppercase}
.pc-top .idx{color:var(--green)}
.pc-body h3{font-size:1.08rem;min-width:0}
.pc-body h3 a{transition:color .3s}
.pc-body h3 a:hover{color:var(--green)}
.pc-body p{color:var(--ink-dim);font-size:.92rem;flex:1}
.chips{display:flex;flex-wrap:wrap;gap:.4rem}
.chips li{font-family:var(--fm);font-size:.62rem;letter-spacing:.06em;color:var(--ink-dim);border:1px solid var(--line);padding:.26rem .6rem;border-radius:999px}
/* tarjeta destacada (primera del índice) */
@media(min-width:760px){
  .grid-proj{grid-template-columns:repeat(2,1fr)}
  .proj-card.feat{grid-column:span 2;display:grid;grid-template-columns:1.15fr 1fr}
  .proj-card.feat .pc-media{aspect-ratio:auto;height:100%;min-height:330px}
  .proj-card.feat .pc-body{padding:2rem;justify-content:center}
  .proj-card.feat h3{font-size:1.5rem}
}
@media(min-width:1160px){.grid-proj{grid-template-columns:repeat(3,1fr)}}
/* banda CTA proyectos */
.band{border:1px solid var(--line-soft);border-radius:var(--r);background:linear-gradient(120deg,rgba(7,48,60,.55),rgba(5,33,43,.25));padding:clamp(2rem,5vw,3.2rem);display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1.6rem;margin-bottom:5rem;position:relative;overflow:hidden}
.band::before{content:"";position:absolute;top:-60px;right:-40px;width:300px;height:300px;border-radius:50%;background:radial-gradient(circle,rgba(60,232,158,.12),transparent 65%)}
.band h3{font-size:clamp(1.2rem,2.6vw,1.7rem);max-width:24ch}
.band h3 .g{color:var(--green)}
/* ============ PUBLICACIONES ============ */
.grid-posts{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(330px,100%),1fr));gap:1.6rem;padding-bottom:3rem}
.post-card{position:relative;border:1px solid var(--line-soft);border-radius:var(--r);overflow:hidden;background:var(--panel);display:flex;flex-direction:column;min-width:0;transition:transform .45s var(--ease),border-color .35s,box-shadow .45s}
.post-card::after{content:"";position:absolute;inset:0;background:radial-gradient(220px circle at var(--mx,50%) var(--my,50%),rgba(60,232,158,.07),transparent 65%);opacity:0;transition:opacity .35s;pointer-events:none;z-index:3}
.post-card:hover{transform:translateY(-6px);border-color:rgba(242,237,225,.25);box-shadow:0 22px 54px -30px rgba(0,0,0,.7)}
.post-card:hover::after{opacity:1}
.po-media{position:relative;aspect-ratio:3/2;overflow:hidden}
.po-media img{width:100%;height:100%;object-fit:cover;transition:transform .8s var(--ease)}
.post-card:hover .po-media img{transform:scale(1.05)}
.po-cat{position:absolute;top:.9rem;left:.9rem;font-family:var(--fm);font-size:.62rem;letter-spacing:.18em;text-transform:uppercase;background:rgba(3,18,25,.72);border:1px solid var(--line);color:var(--ink);padding:.32rem .7rem;border-radius:999px;z-index:2}
.po-date{position:absolute;left:.9rem;bottom:.9rem;font-family:var(--fm);font-size:.6rem;letter-spacing:.14em;color:var(--ink-dim);background:rgba(3,18,25,.62);padding:.28rem .6rem;border-radius:999px;border:1px solid var(--line-soft);z-index:2}
.po-body{padding:1.3rem 1.3rem 1.4rem;display:flex;flex-direction:column;gap:.65rem;flex:1;min-width:0}
.po-meta{display:flex;justify-content:space-between;gap:1rem;font-family:var(--fm);font-size:.62rem;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-faint)}
.po-meta .c{color:var(--green)}
.po-body h3{font-size:1.02rem;min-width:0;background-image:linear-gradient(var(--green),var(--green));background-repeat:no-repeat;background-size:0% 1px;background-position:0 100%;transition:background-size .45s var(--ease);padding-bottom:.15rem;display:inline}
.post-card:hover .po-body h3{background-size:100% 1px}
.po-excerpt{color:var(--ink-dim);font-size:.9rem;min-width:0;overflow-wrap:anywhere}
.po-more{display:grid;grid-template-rows:0fr;transition:grid-template-rows .55s var(--ease)}
.post-card.open .po-more{grid-template-rows:1fr}
.po-more-in{overflow:hidden;min-width:0}
.po-more-in>div{padding-top:.4rem;color:var(--ink-dim);font-size:.9rem;min-width:0;overflow-wrap:anywhere;word-break:break-word}
.po-more-in a{color:var(--green);overflow-wrap:anywhere}
.po-toggle{margin-top:auto;align-self:flex-start;font-family:var(--fm);font-size:.7rem;letter-spacing:.16em;text-transform:uppercase;color:var(--green);display:inline-flex;gap:.5rem;align-items:center;padding:.3rem 0}
.po-toggle b{font-weight:500;transition:transform .4s var(--ease)}
.post-card.open .po-toggle b{transform:rotate(45deg)}
@media(min-width:900px){
  .post-card.feat{grid-column:1/-1;display:grid;grid-template-columns:1.1fr 1fr}
  .post-card.feat .po-media{aspect-ratio:auto;height:100%;min-height:320px}
  .post-card.feat .po-body{padding:2rem;justify-content:center}
  .post-card.feat h3{font-size:1.45rem}
}
/* newsletter */
.news-band{border:1px solid var(--line-soft);border-radius:var(--r);background:linear-gradient(120deg,rgba(7,48,60,.5),rgba(5,33,43,.3));padding:clamp(1.8rem,4vw,2.6rem);display:grid;grid-template-columns:1fr auto;gap:1.6rem;align-items:center;margin-bottom:5rem;position:relative;overflow:hidden}
.news-band::before{content:"";position:absolute;bottom:-80px;left:-60px;width:280px;height:280px;border-radius:50%;background:radial-gradient(circle,rgba(60,232,158,.1),transparent 65%)}
.news-band h3{font-size:clamp(1.1rem,2.4vw,1.5rem);margin-bottom:.4rem}
.news-band p{color:var(--ink-dim);font-size:.9rem}
.news-form{display:flex;gap:.7rem;flex-wrap:wrap}
.news-form input{background:rgba(3,18,25,.6);border:1px solid var(--line);border-radius:999px;color:var(--ink);padding:.8rem 1.2rem;font:inherit;font-size:.9rem;min-width:min(280px,72vw)}
.news-form input:focus{outline:none;border-color:var(--green)}
@media(max-width:760px){.news-band{grid-template-columns:1fr}}
