/* ─────────────────────────────────────────────────────────────
   Páginas de projeto — complementa css/site.css
   Gerado junto com scripts/projetos.py. Editar aqui, não no HTML.
   ───────────────────────────────────────────────────────────── */

/* o cabeçalho das páginas internas nasce sólido, não há hero escuro atrás */
body.interna{padding-top:0}
body.interna header{background:rgba(255,255,255,.97);backdrop-filter:blur(12px);
  border-bottom:1px solid var(--linha)}
body.interna header .hlogo img{filter:none;width:clamp(68px,5.8vw,90px)}
body.interna header nav.menu a{color:var(--grafite)}
body.interna header #burger i{background:var(--grafite)}

/* ── capa ── */
.capa{position:relative;background:var(--grafite);overflow:hidden}
.capa img{width:100%;height:clamp(340px,62vh,640px);object-fit:cover;opacity:.74}
.capa::after{content:"";position:absolute;inset:0;
  background:linear-gradient(180deg,rgba(43,39,36,.55) 0%,rgba(43,39,36,.12) 42%,rgba(43,39,36,.86) 100%)}
.capa-in{position:absolute;left:0;right:0;bottom:0;z-index:2;
  padding-bottom:clamp(2rem,5vw,3.6rem);color:#fff}
.capa-in .display{color:#fff;margin:.5rem 0 .7rem}
.capa-in .label{color:rgba(255,255,255,.72)}
.capa-in .onde{font-family:var(--serif);font-style:italic;font-weight:300;
  font-size:clamp(1.05rem,2vw,1.4rem);color:rgba(255,255,255,.9)}

/* ── trilha de navegação ── */
.trilha{font-size:.64rem;letter-spacing:.24em;text-transform:uppercase;
  color:var(--suave);padding:clamp(1.4rem,3vw,2.2rem) 0 0}
.trilha a{color:var(--suave);text-decoration:none;border-bottom:1px solid transparent}
.trilha a:hover{color:var(--cobre-texto);border-bottom-color:var(--cobre)}
.trilha span{margin:0 .5rem;opacity:.45}

/* ── ficha + texto ── */
.corpo{padding:clamp(2.6rem,6vw,4.6rem) 0}
.corpo-grade{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(0,.9fr);
  gap:clamp(2rem,5vw,4.2rem);align-items:start}
.corpo-txt p{font-size:clamp(.96rem,1.25vw,1.04rem);color:var(--cinza);margin-bottom:1.1rem;max-width:62ch}
.corpo-txt p b{color:var(--cobre-texto);font-weight:500}
.ficha{border-top:1px solid var(--linha);padding-top:1.4rem}
.ficha dl{display:grid;grid-template-columns:1fr;gap:1.1rem}
.ficha dt{font-size:.58rem;letter-spacing:.3em;text-transform:uppercase;color:var(--suave);margin-bottom:.3rem}
.ficha dd{font-family:var(--serif);font-size:1.12rem;font-weight:400;color:var(--grafite);line-height:1.3}

/* ── galeria ── */
.galeria{padding-bottom:clamp(2.6rem,6vw,4.6rem)}
.galeria-grade{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(300px,100%),1fr));
  gap:clamp(.6rem,1.2vw,1rem)}
.galeria figure{margin:0;overflow:hidden;background:var(--bege)}
.galeria figure.alta{grid-column:span 2}
@media(max-width:700px){.galeria figure.alta{grid-column:span 1}}
.galeria img,.galeria video{display:block;width:100%;height:100%;object-fit:cover;
  aspect-ratio:4/3;transition:transform 1.3s cubic-bezier(.16,1,.3,1)}
.galeria figure:hover img{transform:scale(1.04)}
.galeria video{aspect-ratio:9/16;object-fit:contain;background:#000}

/* ── chamada final ── */
.fechamento{background:var(--papel);padding:clamp(2.8rem,6vw,4.4rem) 0;text-align:center;
  border-top:1px solid var(--linha)}
.fechamento .display{color:var(--cobre-texto);margin:.6rem 0 1.4rem}

/* ── outros projetos ── */
.outros{padding:clamp(2.6rem,6vw,4.4rem) 0}
.outros-grade{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(230px,100%),1fr));
  gap:clamp(.8rem,1.6vw,1.3rem);margin-top:1.8rem}
.outros a{display:block;text-decoration:none;position:relative;overflow:hidden;background:var(--grafite)}
.outros img{width:100%;aspect-ratio:4/3;object-fit:cover;opacity:.8;
  transition:transform 1.3s cubic-bezier(.16,1,.3,1),opacity .5s}
.outros a:hover img{transform:scale(1.05);opacity:1}
.outros b{position:absolute;left:0;right:0;bottom:0;padding:.9rem 1rem;z-index:2;color:#fff;
  font-family:var(--serif);font-size:1.18rem;font-weight:400;
  background:linear-gradient(180deg,rgba(43,39,36,0),rgba(43,39,36,.88))}

@media(max-width:860px){
  .corpo-grade{grid-template-columns:1fr}
  .ficha dl{grid-template-columns:repeat(auto-fit,minmax(140px,1fr))}
}
