
:root{
  --tinta:#1C1A17;
  --tinta-2:#37322B;
  --cal:#F7F4EE;
  --cal-2:#EDE7DC;
  --gilt:#8C6239;
  --gilt-claro:#B08355;
  --sobre-gilt:#FFFDF8;
  --ardosia:#3E5C6B;
  --linha:rgba(28,26,23,.14);
  --linha-forte:rgba(28,26,23,.26);
  --fundo:var(--cal);
  --fundo-2:#FFFDF8;
  --texto:var(--tinta);
  --texto-2:#5C554A;
  --texto-3:#8A8175;
  --card:#FFFDF8;
  --sombra:0 1px 2px rgba(28,26,23,.05), 0 12px 32px -18px rgba(28,26,23,.28);
  --sombra-alta:0 2px 6px rgba(28,26,23,.07), 0 28px 60px -28px rgba(28,26,23,.4);
  --serif:"Cormorant Garamond", "Iowan Old Style", Georgia, serif;
  --sans:"Karla", "Helvetica Neue", Arial, sans-serif;
  --max:1240px;
  --h-topo:92px;
}

*{box-sizing:border-box}
body{
  margin:0;
  background:var(--fundo);
  color:var(--texto);
  font-family:var(--sans);
  font-weight:400;
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%;display:block}
a{color:inherit}
button{font:inherit;color:inherit;background:none;border:none;cursor:pointer}
:focus-visible{outline:2px solid var(--gilt);outline-offset:3px;border-radius:2px}

.env{max-width:var(--max);margin:0 auto;padding:0 32px}
@media(max-width:640px){.env{padding:0 20px}}

.rotulo{
  font-size:11px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;
  color:var(--texto-3);
}

/* ---------- topo ---------- */
.topo{
  position:sticky;top:0;z-index:60;
  background:color-mix(in srgb, var(--fundo) 88%, transparent);
  backdrop-filter:blur(14px);
  border-bottom:1px solid var(--linha);
}
.topo-in{
  display:flex;align-items:center;gap:24px;
  height:var(--h-topo);
}
.marca{display:flex;align-items:center;gap:14px;margin-right:auto;text-decoration:none}
.marca-icone{height:62px;width:auto;flex:0 0 auto;display:block}
@media(max-width:640px){
  :root{--h-topo:76px}
  .marca-icone{height:48px}
}
.marca-txt{display:flex;flex-direction:column;line-height:1.1}
.marca b{
  font-family:var(--serif);font-weight:500;font-size:25px;letter-spacing:.01em;
}
.marca-txt span{
  font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--texto-3);
}
.topo-acoes{display:flex;align-items:center;gap:8px}
.btn{
  display:inline-flex;align-items:center;gap:8px;
  padding:11px 20px;border-radius:2px;
  font-size:13px;font-weight:600;letter-spacing:.04em;
  text-decoration:none;transition:.18s ease;
}
.btn-cheio{background:var(--gilt);color:var(--sobre-gilt)}
.btn-cheio:hover{background:var(--gilt-claro)}
.btn-linha{border:1px solid var(--linha-forte);color:var(--texto)}
.btn-linha:hover{border-color:var(--gilt);color:var(--gilt)}
.icone-btn{
  width:38px;height:38px;border-radius:2px;
  display:grid;place-items:center;
  border:1px solid var(--linha);color:var(--texto-2);transition:.18s;
}
.icone-btn:hover{border-color:var(--gilt);color:var(--gilt)}
@media(max-width:860px){.topo .btn-linha{display:none}}
@media(max-width:520px){.marca-txt span{display:none}}

/* ---------- hero ---------- */
.hero{
  position:relative;
  padding:clamp(64px,9vw,120px) 0 clamp(48px,6vw,80px);
  border-bottom:1px solid var(--linha);
  overflow:hidden;
}
.hero::after{
  content:"";position:absolute;inset:0;pointer-events:none;
  background:radial-gradient(60% 50% at 78% 18%, color-mix(in srgb,var(--gilt) 13%, transparent), transparent 70%);
}
.hero-in{position:relative;z-index:1;display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(32px,5vw,72px);align-items:center}
@media(max-width:920px){.hero-in{grid-template-columns:1fr;gap:40px}}
.hero h1{
  font-family:var(--serif);
  font-weight:300;
  font-size:clamp(44px,6.4vw,84px);
  line-height:1.02;
  letter-spacing:-.015em;
  margin:18px 0 0;
  text-wrap:balance;
}
.hero h1 em{font-style:italic;color:var(--gilt)}
.hero p.sub{
  margin:26px 0 0;max-width:52ch;
  font-size:clamp(16px,1.6vw,18.5px);color:var(--texto-2);line-height:1.68;
}
.hero-cta{display:flex;flex-wrap:wrap;gap:12px;margin-top:34px}
.numeros{
  display:flex;flex-wrap:wrap;gap:0;margin-top:44px;
  border-top:1px solid var(--linha);
}
.num{padding:18px 28px 0 0;margin-right:28px;border-right:1px solid var(--linha)}
.num:last-child{border-right:none;margin-right:0;padding-right:0}
.num b{
  display:block;font-family:var(--serif);font-weight:400;
  font-size:38px;line-height:1;color:var(--gilt);
  font-variant-numeric:tabular-nums;
}
.num span{display:block;margin-top:6px;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--texto-3)}

/* mosaico do hero */
.mosaico{
  display:grid;grid-template-columns:repeat(2,1fr);gap:14px;
}
.mosaico figure{
  margin:0;border-radius:2px;overflow:hidden;background:var(--card);
  border:1px solid var(--linha);box-shadow:var(--sombra);
  aspect-ratio:1/1;
}
.mosaico figure:nth-child(1){transform:translateY(-14px)}
.mosaico figure:nth-child(4){transform:translateY(14px)}
.mosaico img{width:100%;height:100%;object-fit:cover}
@media(max-width:920px){
  .mosaico figure:nth-child(n){transform:none}
}

/* ---------- navegação de seções ---------- */
.navsec{
  position:sticky;top:var(--h-topo);z-index:50;
  background:color-mix(in srgb, var(--fundo) 92%, transparent);
  backdrop-filter:blur(14px);
  border-bottom:1px solid var(--linha);
}
.navsec-in{display:flex;gap:4px;overflow-x:auto;padding:10px 0;scrollbar-width:thin}
.navsec-in::-webkit-scrollbar{height:3px}
.navsec-in::-webkit-scrollbar-thumb{background:var(--linha-forte)}
.navsec a{
  flex:0 0 auto;padding:8px 15px;border-radius:2px;
  font-size:12.5px;font-weight:500;letter-spacing:.02em;
  color:var(--texto-2);text-decoration:none;white-space:nowrap;transition:.16s;
}
.navsec a:hover{color:var(--texto);background:var(--cal-2)}
.navsec a.ativo{color:var(--gilt);background:color-mix(in srgb,var(--gilt) 11%,transparent)}

/* ---------- seções ---------- */
.secao{padding:clamp(56px,7vw,96px) 0 0}
.secao-cab{
  display:flex;align-items:flex-end;gap:22px;
  padding-bottom:26px;margin-bottom:38px;
  border-bottom:1px solid var(--linha);
}
.secao-num{
  font-family:var(--serif);font-size:15px;font-weight:500;
  color:var(--gilt);font-variant-numeric:tabular-nums;
  padding-top:6px;letter-spacing:.06em;
}
.secao-tit{flex:1;min-width:0}
.secao-tit h2{
  font-family:var(--serif);font-weight:400;
  font-size:clamp(28px,3.6vw,42px);line-height:1.1;margin:0;
  letter-spacing:-.01em;text-wrap:balance;
}
.secao-tit p{margin:9px 0 0;color:var(--texto-2);font-size:14.5px;max-width:62ch}
.secao-cont{
  font-size:11px;letter-spacing:.14em;text-transform:uppercase;
  color:var(--texto-3);white-space:nowrap;padding-bottom:4px;
}
@media(max-width:640px){
  .secao-cab{flex-wrap:wrap;gap:12px}
  .secao-cont{width:100%}
}

/* ---------- grade de peças ---------- */
.grade{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(248px,1fr));
  gap:26px;
}
@media(max-width:520px){.grade{grid-template-columns:repeat(2,1fr);gap:14px}}

.peca{
  display:flex;flex-direction:column;
  background:var(--card);
  border:1px solid var(--linha);
  border-radius:2px;
  overflow:hidden;
  text-align:left;
  transition:transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}
.peca:hover{
  transform:translateY(-3px);
  box-shadow:var(--sombra-alta);
  border-color:var(--linha-forte);
}
.peca-img{
  position:relative;aspect-ratio:1/1;overflow:hidden;
  background:var(--cal-2);
}
.peca-img img{
  width:100%;height:100%;object-fit:cover;
  transition:transform .5s cubic-bezier(.2,.7,.3,1);
}
.peca:hover .peca-img img{transform:scale(1.045)}
.peca-lupa{
  position:absolute;right:10px;bottom:10px;
  width:30px;height:30px;border-radius:50%;
  display:grid;place-items:center;
  background:color-mix(in srgb,var(--card) 88%,transparent);
  backdrop-filter:blur(6px);
  border:1px solid var(--linha);
  color:var(--texto-2);
  opacity:0;transform:translateY(4px);transition:.2s;
}
.peca:hover .peca-lupa{opacity:1;transform:none}
.peca-txt{padding:15px 16px 17px;display:flex;flex-direction:column;gap:7px;flex:1}
.peca-txt h3{
  font-family:var(--serif);font-weight:500;
  font-size:19px;line-height:1.22;margin:0;letter-spacing:-.005em;
}
.peca-txt p{
  margin:0;font-size:12.8px;line-height:1.5;color:var(--texto-2);
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;
}
.tags{display:flex;flex-wrap:wrap;gap:5px;margin-top:auto;padding-top:9px}
.tag{
  font-size:9.5px;font-weight:600;letter-spacing:.11em;
  padding:3px 7px;border-radius:2px;
  border:1px solid var(--linha);color:var(--texto-3);
}
@media(max-width:520px){
  .peca-txt{padding:11px 12px 13px;gap:5px}
  .peca-txt h3{font-size:15.5px}
  .peca-txt p{font-size:11.5px;-webkit-line-clamp:2}
  .tag{font-size:8.5px;padding:2px 5px}
}

/* ---------- faixa sob medida ---------- */
.faixa{
  margin-top:clamp(72px,9vw,120px);
  padding:clamp(48px,6vw,76px) 0;
  background:var(--tinta);
  color:var(--cal);
  border-top:1px solid var(--linha);
}
.faixa-in{display:grid;grid-template-columns:1fr auto;gap:40px;align-items:center}
@media(max-width:820px){.faixa-in{grid-template-columns:1fr;gap:26px}}
.faixa h2{
  font-family:var(--serif);font-weight:300;
  font-size:clamp(30px,4vw,46px);line-height:1.1;margin:14px 0 0;
  text-wrap:balance;
}
.faixa h2 em{font-style:italic;color:var(--gilt-claro)}
.faixa p{margin:16px 0 0;max-width:56ch;color:color-mix(in srgb,var(--cal) 72%,transparent);font-size:16px;line-height:1.66}
.faixa .rotulo{color:var(--gilt-claro)}
.faixa-cta{display:flex;flex-direction:column;gap:10px;min-width:230px}

/* ---------- rodapé ---------- */
.rodape{
  padding:44px 0;border-top:1px solid var(--linha);
  display:flex;flex-wrap:wrap;gap:18px;align-items:center;justify-content:space-between;
  font-size:12.5px;color:var(--texto-3);
}
.rodape-links{display:flex;gap:20px;flex-wrap:wrap}
.rodape a{text-decoration:none;transition:.16s}
.rodape a:hover{color:var(--gilt)}

/* ---------- lightbox ---------- */
.lb{
  position:fixed;inset:0;z-index:100;
  display:none;place-items:center;
  padding:24px;
  background:color-mix(in srgb, var(--tinta) 84%, transparent);
  backdrop-filter:blur(8px);
}
.lb.aberto{display:grid}
.lb-cx{
  width:min(1000px,100%);max-height:calc(100vh - 48px);
  background:var(--card);border:1px solid var(--linha-forte);border-radius:2px;
  box-shadow:var(--sombra-alta);
  display:grid;grid-template-columns:1.15fr .85fr;
  overflow:hidden;
}
@media(max-width:800px){
  .lb-cx{grid-template-columns:1fr;max-height:calc(100vh - 32px);overflow-y:auto}
}
.lb-fig{position:relative;background:var(--cal-2);display:grid;place-items:center;min-height:280px}
.lb-fig img{width:100%;height:100%;max-height:min(74vh,620px);object-fit:contain}
.lb-nav{
  position:absolute;top:50%;transform:translateY(-50%);
  width:36px;height:36px;border-radius:50%;
  display:grid;place-items:center;
  background:color-mix(in srgb,var(--card) 90%,transparent);
  border:1px solid var(--linha);color:var(--texto);
}
.lb-nav:hover{border-color:var(--gilt);color:var(--gilt)}
.lb-nav.ant{left:12px}
.lb-nav.prox{right:12px}
.lb-info{padding:32px 30px;display:flex;flex-direction:column;gap:14px;overflow-y:auto}
.lb-info h3{
  font-family:var(--serif);font-weight:500;font-size:29px;line-height:1.14;margin:6px 0 0;
  letter-spacing:-.01em;text-wrap:balance;
}
.lb-info p{margin:0;color:var(--texto-2);font-size:14.5px;line-height:1.66}
.lb-ficha{
  display:grid;grid-template-columns:auto 1fr;gap:9px 18px;
  padding:16px 0;margin-top:2px;
  border-top:1px solid var(--linha);border-bottom:1px solid var(--linha);
  font-size:13px;
}
.lb-ficha dt{color:var(--texto-3);font-size:11px;letter-spacing:.11em;text-transform:uppercase;padding-top:2px}
.lb-ficha dd{margin:0;color:var(--texto)}
.lb-acoes{display:flex;flex-direction:column;gap:9px;margin-top:auto;padding-top:14px}
.lb-fechar{
  position:absolute;top:12px;right:12px;z-index:2;
  width:34px;height:34px;border-radius:50%;
  display:grid;place-items:center;
  background:color-mix(in srgb,var(--card) 90%,transparent);
  border:1px solid var(--linha);color:var(--texto);
}
.lb-fechar:hover{border-color:var(--gilt);color:var(--gilt)}
.lb-miniaturas{display:flex;gap:7px;flex-wrap:wrap}
.lb-miniaturas button{
  width:46px;height:46px;border-radius:2px;overflow:hidden;
  border:1px solid var(--linha);opacity:.55;transition:.16s;
}
.lb-miniaturas button.ativa{opacity:1;border-color:var(--gilt)}
.lb-miniaturas img{width:100%;height:100%;object-fit:cover}

@media (prefers-reduced-motion: reduce){
  *,*::before,*::after{animation-duration:.001ms !important;transition-duration:.001ms !important}
  .peca:hover{transform:none}
  .peca:hover .peca-img img{transform:none}
}

/* revelação suave */
.rev{opacity:0;transform:translateY(14px)}
.rev.visivel{opacity:1;transform:none;transition:opacity .55s ease, transform .55s cubic-bezier(.2,.7,.3,1)}
@media (prefers-reduced-motion: reduce){
  .rev{opacity:1;transform:none}
}
