/* ===================================================================
   Guilherme Lima Arquitetura · versão catálogo
   Referência de arquitetura de informação: Triplex Arquitetura
   Paleta e tipografia herdadas do site v1 (Cormorant Garamond + Jost)
   =================================================================== */

:root{
  --ink:#1c1814;
  --ink-soft:#3a322b;
  --paper:#fbf9f6;
  --paper-2:#f2ece5;
  --wood:#9a6e47;
  --line:rgba(28,24,20,.12);
  --muted:#8a8078;
  --serif:'Cormorant Garamond', Georgia, serif;
  --sans:'Jost', system-ui, sans-serif;
  --maxw:1440px;
  --pad:5vw;
  --ease:cubic-bezier(.22,.61,.36,1);
}

*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{
  font-family:var(--sans);
  font-weight:300;
  color:var(--ink);
  background:var(--paper);
  line-height:1.65;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
button{font:inherit;cursor:pointer;border:0;background:none;color:inherit}

.tag{
  font-size:.66rem;letter-spacing:.34em;text-transform:uppercase;
  color:var(--muted);font-weight:400;
}

/* ===== TOPO ===== */
.topo{
  position:fixed;top:0;left:0;right:0;z-index:60;
  display:flex;align-items:center;justify-content:space-between;
  padding:1.7rem var(--pad);
  color:#fff;
  transition:background .45s var(--ease), padding .45s var(--ease), color .45s;
}
/* sobre a capa o topo é branco: a sombra garante leitura em foto clara */
.topo:not(.solido){text-shadow:0 1px 14px rgba(0,0,0,.45)}
.topo:not(.solido) .burger span{box-shadow:0 1px 10px rgba(0,0,0,.45)}
.topo.solido{
  background:rgba(251,249,246,.94);
  backdrop-filter:blur(14px);
  color:var(--ink);
  padding:1.05rem var(--pad);
  border-bottom:1px solid var(--line);
}
.marca{display:flex;flex-direction:column;line-height:1.1}
.marca-nome{font-family:var(--serif);font-size:1.28rem;letter-spacing:.06em}
.marca-sub{
  font-size:.6rem;letter-spacing:.44em;text-transform:uppercase;
  opacity:.75;margin-top:.25rem;
}
.menu{display:flex;gap:2.4rem}
.menu a{
  font-size:.7rem;letter-spacing:.24em;text-transform:uppercase;
  font-weight:300;position:relative;padding-bottom:3px;
}
.menu a::after{
  content:"";position:absolute;left:0;bottom:0;height:1px;width:0;
  background:currentColor;transition:width .4s var(--ease);
}
.menu a:hover::after{width:100%}

.burger{display:none;flex-direction:column;gap:5px;padding:6px}
.burger span{display:block;width:24px;height:1px;background:currentColor;transition:.3s}

/* ===== CAPA ===== */
.capa{position:relative;height:100vh;min-height:560px;overflow:hidden}
.capa-slides{position:absolute;inset:0}
.capa-slide{
  position:absolute;inset:0;
  background-size:cover;background-position:center;
  opacity:0;transition:opacity 1.8s var(--ease);
  transform:scale(1.04);
}
.capa-slide.on{opacity:1}
.capa-veu{
  position:absolute;inset:0;
  background:linear-gradient(180deg,rgba(20,17,14,.42) 0%,rgba(20,17,14,.12) 42%,rgba(20,17,14,.5) 100%);
}
.capa-txt{
  position:absolute;left:var(--pad);bottom:14vh;color:#fff;z-index:2;
}
.capa-txt h1{
  font-family:var(--serif);font-weight:300;
  font-size:clamp(2.6rem,7vw,5.4rem);line-height:1;letter-spacing:.01em;
}
.capa-txt p{
  font-size:.72rem;letter-spacing:.32em;text-transform:uppercase;
  margin-top:1.1rem;opacity:.86;font-weight:300;
}
.capa-seta{
  position:absolute;left:50%;bottom:3.2rem;transform:translateX(-50%);
  color:#fff;font-size:1.1rem;z-index:2;opacity:.8;
  animation:flut 2.6s ease-in-out infinite;
}
@keyframes flut{0%,100%{transform:translate(-50%,0)}50%{transform:translate(-50%,9px)}}

/* ===== CATÁLOGO ===== */
.tipologia{padding:7rem var(--pad) 1rem;max-width:var(--maxw);margin:0 auto}
.tipologia:first-child{padding-top:8rem}
.tip-head{
  display:flex;align-items:baseline;justify-content:space-between;
  gap:1.5rem;flex-wrap:wrap;
  padding-bottom:1.5rem;border-bottom:1px solid var(--line);margin-bottom:2.6rem;
}
.tip-head h2{
  font-family:var(--serif);font-weight:300;
  font-size:clamp(1.9rem,3.6vw,2.9rem);line-height:1.1;
}
.tip-head .sub{font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;color:var(--muted)}

.grade{
  display:grid;grid-template-columns:repeat(2,1fr);
  gap:3rem 2.4rem;margin-bottom:2rem;
}
.card{display:block}
.card-img{
  position:relative;overflow:hidden;background:var(--paper-2);
  aspect-ratio:4/3;
}
.card-img i{
  position:absolute;inset:0;display:block;
  background-size:cover;background-position:center;
  transition:transform 1.1s var(--ease), filter .6s var(--ease);
}
.card:hover .card-img i{transform:scale(1.05);filter:brightness(.94)}
.card-nome{
  margin-top:1rem;font-size:.76rem;letter-spacing:.22em;text-transform:uppercase;
  font-weight:400;
}
.card-meta{font-size:.7rem;letter-spacing:.14em;color:var(--muted);margin-top:.25rem}

.card.vazio .card-img{
  border:1px solid var(--line);background:transparent;
  display:flex;align-items:center;justify-content:center;
}
.card.vazio .card-img::after{
  content:"Em preparação";
  font-size:.64rem;letter-spacing:.3em;text-transform:uppercase;color:var(--muted);
}
.card.vazio .card-nome{color:var(--muted);font-weight:300}

.nota-acervo{
  max-width:var(--maxw);margin:0 auto;padding:0 var(--pad) 1rem;
  font-size:.72rem;letter-spacing:.1em;color:var(--muted);
}

/* ===== SOBRE ===== */
.sobre{padding:8rem var(--pad);border-top:1px solid var(--line);margin-top:6rem}
.sobre-in{max-width:840px;margin:0 auto;text-align:center}
.sobre-txt{
  font-family:var(--serif);font-size:clamp(1.25rem,2.3vw,1.7rem);
  line-height:1.55;font-weight:300;margin:1.8rem 0 3rem;color:var(--ink-soft);
}
.sobre-lista{list-style:none;display:grid;gap:1.1rem;text-align:left;max-width:560px;margin:0 auto}
.sobre-lista li{
  display:grid;grid-template-columns:110px 1fr;gap:1rem;
  font-size:.82rem;padding-bottom:1rem;border-bottom:1px solid var(--line);
}
.sobre-lista span{
  font-size:.66rem;letter-spacing:.24em;text-transform:uppercase;color:var(--muted);
  padding-top:.18rem;
}

/* ===== CONTATO ===== */
.contato{background:var(--paper-2);padding:7rem var(--pad)}
.contato-in{
  max-width:1040px;margin:0 auto;
  display:grid;grid-template-columns:1fr 1fr;gap:5rem;align-items:start;
}
.contato h2{
  font-family:var(--serif);font-weight:300;
  font-size:clamp(1.9rem,3.4vw,2.7rem);line-height:1.15;margin:1rem 0 2rem;
}
.contato-dados{list-style:none;display:grid;gap:.6rem;font-size:.84rem;color:var(--ink-soft)}
.contato-dados a:hover{color:var(--wood)}

.form{display:grid;gap:1.4rem}
.form label{
  display:grid;gap:.5rem;
  font-size:.66rem;letter-spacing:.24em;text-transform:uppercase;color:var(--muted);
}
.form input,.form textarea{
  font-family:var(--sans);font-size:.95rem;font-weight:300;color:var(--ink);
  background:transparent;border:0;border-bottom:1px solid var(--line);
  padding:.6rem 0;letter-spacing:0;text-transform:none;
  transition:border-color .3s;resize:vertical;
}
.form input:focus,.form textarea:focus{outline:none;border-color:var(--ink)}
.form button{
  justify-self:start;margin-top:.6rem;
  font-size:.7rem;letter-spacing:.26em;text-transform:uppercase;
  padding:.95rem 2.6rem;border:1px solid var(--ink);
  transition:background .35s var(--ease), color .35s var(--ease);
}
.form button:hover{background:var(--ink);color:var(--paper)}
.form-nota{font-size:.72rem;color:var(--muted);letter-spacing:.06em;min-height:1rem}

/* ===== PÁGINA DE PROJETO ===== */
.pg-projeto{padding-top:0}
.proj-head{
  max-width:var(--maxw);margin:0 auto;
  padding:11rem var(--pad) 3rem;
  display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:end;
}
.proj-head h1{
  font-family:var(--serif);font-weight:300;
  font-size:clamp(2.2rem,5vw,4rem);line-height:1.05;
}
.proj-head .tag{margin-bottom:.9rem;display:block}
.proj-resumo{font-size:.92rem;color:var(--ink-soft);max-width:46ch}
.proj-ficha{list-style:none;display:grid;gap:.8rem;margin-top:1.8rem}
.proj-ficha li{
  display:grid;grid-template-columns:96px 1fr;gap:1rem;
  font-size:.8rem;border-bottom:1px solid var(--line);padding-bottom:.8rem;
}
.proj-ficha span{
  font-size:.62rem;letter-spacing:.22em;text-transform:uppercase;color:var(--muted);
  padding-top:.2rem;
}

.proj-fotos{
  max-width:var(--maxw);margin:0 auto;padding:2rem var(--pad) 5rem;
  display:grid;grid-template-columns:repeat(2,1fr);gap:1.6rem;
}
.foto{
  overflow:hidden;background:var(--paper-2);aspect-ratio:4/3;cursor:zoom-in;
}
.foto.full{grid-column:1/-1;aspect-ratio:16/9}
.foto i{
  display:block;height:100%;
  background-size:cover;background-position:center;
  transition:transform 1.1s var(--ease);
}
.foto:hover i{transform:scale(1.03)}

.proj-nav{
  max-width:var(--maxw);margin:0 auto;padding:0 var(--pad) 7rem;
  display:flex;justify-content:space-between;gap:1rem;
  border-top:1px solid var(--line);padding-top:2rem;
}
.proj-nav a{font-size:.7rem;letter-spacing:.24em;text-transform:uppercase;color:var(--muted)}
.proj-nav a:hover{color:var(--ink)}

/* ===== LIGHTBOX ===== */
.lb{
  position:fixed;inset:0;z-index:90;display:none;
  align-items:center;justify-content:center;
  background:rgba(18,15,12,.94);padding:4vh 6vw;
}
.lb.on{display:flex}
.lb img{max-width:100%;max-height:92vh;object-fit:contain}
.lb-x{position:absolute;top:2rem;right:2.4rem;color:#fff;font-size:2rem;line-height:1}
.lb-nav{position:absolute;top:50%;transform:translateY(-50%);color:#fff;font-size:2.6rem;padding:1rem}
.lb-ant{left:1rem}.lb-prox{right:1rem}

/* ===== RODAPÉ ===== */
.rodape{
  display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;
  padding:2.4rem var(--pad);border-top:1px solid var(--line);
  font-size:.68rem;letter-spacing:.2em;text-transform:uppercase;color:var(--muted);
}

/* ===== RESPONSIVO ===== */
@media (max-width:980px){
  .grade{grid-template-columns:repeat(2,1fr);gap:2rem 1.4rem}
  .contato-in{grid-template-columns:1fr;gap:3rem}
  .proj-head{grid-template-columns:1fr;padding-top:9rem;gap:1.5rem}
}
@media (max-width:720px){
  :root{--pad:6vw}
  .burger{display:flex}
  .menu{
    position:fixed;inset:0;background:var(--paper);color:var(--ink);
    flex-direction:column;align-items:center;justify-content:center;gap:2.2rem;
    transform:translateY(-100%);transition:transform .5s var(--ease);
  }
  .menu.aberto{transform:translateY(0)}
  .menu a{font-size:.9rem}
  .topo.menu-on{background:var(--paper);color:var(--ink)}
  .grade{grid-template-columns:1fr;gap:2.4rem}
  .proj-fotos{grid-template-columns:1fr;gap:1rem}
  .foto,.foto.full{aspect-ratio:4/3}
  .capa-txt{bottom:11vh}
  .sobre-lista li{grid-template-columns:1fr;gap:.2rem}
  .proj-ficha li{grid-template-columns:1fr;gap:.2rem}
}
