@charset "UTF-8";

:root
{
  --vinho:#4a2f2f;
  --vinho2:#5a3a3a;
  --ouro:#c9a96e;
  --marfim:#faf7f2;
  --tinta:#1b1414;
  --sage:#3f5a4b;
  --paper:#ffffff;
  --serif:'Cormorant Garamond',Georgia,serif;
  --sans:'Jost',system-ui,sans-serif
}

* {
  box-sizing:border-box;
  margin:0;
  padding:0
}
html{
  scroll-behavior:smooth
}
body{
  font-family:var(--sans);
  background:var(--marfim);
  color:var(--tinta);
  line-height:1.65;
  font-weight:300
}
a{
  color:inherit;
  text-decoration:none
}
:focus-visible{
  outline:2px solid var(--ouro);
  outline-offset:3px
}
h1,h2,h3{
  font-family:var(--serif);
  font-weight:500;
  line-height:1.1
}
h2{
  font-size:clamp(2.2rem,5vw,3.6rem);
  color:var(--vinho)
}
section{
  padding:110px 6vw
}
.wrap{
  max-width:1200px;
  margin:auto
}

/* NAV */
nav{
  position:fixed;
  inset:0 0 auto 0;
  z-index:50;
  display:flex;
  justify-content:space-between;
  align-items:center;padding:20px 6vw;
  transition:.4s;
  color:#ffffff;
}
nav.sc{
  background:rgba(74,47,47,.96);
  padding:12px 6vw;
}
.logo{
  font-family:var(--serif);
  font-size:1.5rem;
  letter-spacing:.04em
}
.logo small{
  display:block;
  font:300 .62rem var(--sans);
  letter-spacing:.3em;
  opacity:.8
}
nav ul{
  display:flex;
  gap:34px;
  list-style:none;
  font-size:.95rem
}
nav ul a{
  position:relative;
  padding:4px 0;
  
}
nav ul a::after{
  content:"";
  position:absolute;
  left:0;
  bottom:0;
  height:1px;
  width:0;
  background:var(--ouro);
  transition:.3s
}
nav ul a:hover::after{
  width:100%;
}
.menu{
  display:none;
  background:none;
  border:0;
  color:#fff;
  font-size:1.8rem;
  cursor:pointer
}
header > .tag{
  padding-bottom: 20px;
}

/* HERO */
.hero{
  position:relative;
  height:100vh;
  min-height:620px;
  display:grid;
  place-items:center;
  text-align:center;
  color:#fff;
  overflow:hidden;
  padding:0 6vw;
  background:linear-gradient(120deg,#2a1b1b,#5a3a3a,#3f5a4b,#2a1b1b);
  background-size:300% 300%;
  animation:bg 18s ease infinite
}
@keyframes bg{
  50%{
    background-position:100% 50%
  }
}
.hero video{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  z-index:0
}
.hero::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:1;
  background:linear-gradient(180deg,rgba(27,20,20,.55),rgba(27,20,20,.35) 50%,rgba(27,20,20,.8))
}
.hero .in{
  position:relative;
  z-index:2;
  max-width:900px
}
.hero .tag{
  font-size:.9rem;
  letter-spacing:.35em;
  text-transform:uppercase;
  color:var(--ouro);
  opacity:0;
  animation:up 1s .3s forwards
}
.hero h1{
  font-size:clamp(3rem,9vw,7rem);
  margin:18px 0;
  font-weight:600
}
.hero h1 span{
  display:inline-block;
  opacity:0;
  transform:translateY(40px);
  animation:up .9s forwards
}
.hero p{
  font-size:1.2rem;
  max-width:560px;
  margin:0 auto 38px;
  opacity:0;
  animation:up 1s 1.4s forwards
}
.hero .btns{
  opacity:0;
  animation:up 1s 1.7s forwards
}
@keyframes up{
  to{
    opacity:1;
    transform:none
  }
}
.btn{
  display:inline-block;
  padding:15px 34px;
  border:1px solid var(--ouro);
  font-size:.95rem;
  letter-spacing:.08em;
  transition:.35s;
  margin:6px;
  cursor:pointer
}
.btn.fill{
  background:var(--ouro);
  color:var(--tinta);
  font-weight:500;
  padding-top:20px;
}
.btn.fill:hover{
  background:#fff;
  border-color:#fff
}
.btn.line:hover{
  background:var(--ouro);
  color:var(--tinta)
}
.scroll{
  position:absolute;
  bottom:28px;
  left:50%;
  z-index:2;
  width:1px;
  height:60px;
  background:linear-gradient(var(--ouro),transparent);
  animation:sc 2s infinite
}
@keyframes sc{
  0%{
    transform:scaleY(0);
    transform-origin:top
  }50%{
      transform:scaleY(1);
      transform-origin:top
    }51%{
      transform-origin:bottom
    }100%{
      transform:scaleY(0);
        transform-origin:bottom
      }
}

/* SOBRE */
.sobre .wrap{
  display:grid;
  grid-template-columns:1.1fr 1fr;
  gap:70px;
  align-items:center
}
.sobre p{
  margin-top:22px;
  font-size:1.08rem;
  max-width:520px
}
.nums{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:20px;margin-top:40px
}
.nums b{
  display:block;
  font:500 3rem/1 var(--serif);
  color:var(--vinho)
}
.nums span{
  font-size:.9rem
}
.foto{
  aspect-ratio:4/5;
  background:url(../img/sobre.jpg) center/cover,linear-gradient(160deg,var(--vinho2),var(--sage));
  border-radius:200px 200px 6px 6px;
  border:1px solid var(--ouro);
  outline:1px solid var(--ouro);
  outline-offset:12px
}

/* EVENTOS */
.eventos{
  background:var(--vinho);
  color:#fff
}
.eventos h2{
  color:#fff
}
.eventos .top{
  max-width:600px;
  margin-bottom:60px
}
.evgrid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:0;
  border-top:1px solid rgba(201,169,110,.4)
}
.ev{
  padding:36px 26px 40px;
  border-right:1px solid rgba(201,169,110,.4);
  transition:.4s
}
.ev:last-child{
  border:0
}
.ev:hover{
  background:var(--vinho2)
}
.ev h3{
  font-size:1.9rem;
  color:var(--ouro);
  margin-bottom:12px
}
.ev p{
  font-size:.98rem;
  opacity:.85
}

/* CATALOGO */
.cat .top{
  display:flex;
  justify-content:space-between;
  align-items:end;
  gap:30px;
  flex-wrap:wrap;
  margin-bottom:50px
}
.cgrid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:28px
}
.card{
  background:#fff;
  border-radius:6px;
  overflow:hidden;
  box-shadow:0 8px 28px rgba(74,47,47,.1);
  transition:.45s
}
.card:hover{
  transform:translateY(-8px);
  box-shadow:0 18px 40px rgba(74,47,47,.22)
}
.card .im{
  height:150px;
  display:grid;
  place-items:center;
  font-size:5rem;
  background:#fff
}
.card .im img{
  width:88%;
  height:132px;
  object-fit:contain;
  transition:.6s
}
.card:hover .im img{
  transform:scale(1.08)
}
.card .tx{
  padding:20px 24px 26px;
  border-top:2px solid var(--ouro)
}
.card h3{
  font-size:1.7rem;
  color:var(--vinho)
}
.card p{
  font-size:.95rem;
  margin-top:4px
}

/* GALERIA */
.gal{
  background:#fff
}
.mas{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  align-items:start;
  gap:24px;
  margin-top:50px
}
.evento-foto{
  position:relative;
  margin:0;
  overflow:hidden;
  border-radius:5px;
  background:#eee;
  box-shadow:0 12px 32px rgba(74,47,47,.12)
}
.evento-foto img{
  display:block;
  width:100%;
  height:auto;
  transition:transform .6s ease
}
.evento-foto:hover img{
  transform:scale(1.025)
}
.evento-foto figcaption{
  padding:14px 18px;
  background:var(--marfim);
  color:var(--vinho);
  font-family:var(--serif);
  font-size:1.35rem
}
.ig{
  display:inline-block;
  margin-top:30px;
  color:var(--vinho);
  border-bottom:1px solid var(--ouro);
  padding-bottom:3px
}

/* CONTATO */
.contato{
  text-align:center;
  background:linear-gradient(rgba(27,20,20,.82),rgba(27,20,20,.82)),url(img/contato.jpg) center/cover,var(--tinta);
  color:#fff
}
.contato h2{
  color:#fff;
  max-width:760px;
  margin:0 auto 20px
}
.contato p{
  max-width:520px;
  margin:0 auto 34px
}
footer{
  background:var(--tinta);
  color:#bdb3a8;
  text-align:center;
  padding:34px 6vw;
  font-size:.9rem
}
footer b{
  color:var(--ouro);
  font:500 1.3rem var(--serif)
}

/* WHATSAPP */
.wa{
  position:fixed;
  right:24px;
  bottom:24px;
  z-index:60;
  width:62px;
  height:62px;
  border-radius:50%;
  background:#25d366;
  display:grid;
  place-items:center;
  box-shadow:0 6px 20px rgba(0,0,0,.3)
}
.wa::before{
  content:"";
  position:absolute;
  inset:0;
  border-radius:50%;
  border:2px solid #25d366;
  animation:pulse 2s infinite
}
@keyframes pulse{
  to{
    transform:scale(1.6);
    opacity:0
  }
}
.wa svg{
  width:34px;
  fill:#fff
}

.rv{
  opacity:0;
  transform:translateY(30px);
  transition:opacity .9s,transform .9s
}
.rv.on{
  opacity:1;
  transform:none
}
@media(min-width:901px){
  nav.sc{
    backdrop-filter:blur(8px)
  }
}
@media(max-width:900px){
 section{
  padding:80px 6vw
}
 .menu{
  position:relative;
  z-index:60;
  display:block
}
 nav ul{
  position:fixed;
  inset:0 0 0 30%;
  background:var(--vinho);
  flex-direction:column;
  justify-content:center;
  align-items:center;
  gap:30px;
  font-size:1.3rem;
  transform:translateX(100%);
  transition:.4s
}
 nav ul.open{
  transform:none
};
 .sobre .wrap{
  grid-template-columns:1fr;
}
 .evgrid{
  grid-template-columns:1fr 1fr;
}
 .ev{
  border-bottom:1px solid rgba(201,169,110,.4);
}
 .cgrid{
  grid-template-columns:1fr 1fr;
}
 .mas{
  grid-template-columns:repeat(2,minmax(0,1fr));
}
}
@media(max-width:560px){
  .cgrid,.evgrid,.mas{
    grid-template-columns:1fr
  }.nums b{
    font-size:2.3rem
  };
}
@media(prefers-reduced-motion:reduce){
  *{
    animation:none;
    transition:none
  }
  .rv,.hero .tag,.hero p,.hero .btns,.hero h1 span{
    opacity:1;
    transform:none
  };
}
.chair-page{
  min-height:100vh;
  background:var(--marfim);
}
.chair-nav{
  position:static;
  background:var(--vinho);
  color:var(--paper);
  padding:20px 6vw;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
}
.chair-back{
  color:var(--paper);
  background:transparent;
  border:1px solid var(--ouro);
  padding:12px 20px;
  height:auto;
  font-family:var(--sans);
  font-weight:400;
  white-space:normal
}
.chair-back:hover{
  background:var(--vinho2)
}
.chair-catalog{
  padding-top:64px
}
.chair-heading{
  margin-bottom:40px
}
.chair-heading h1{
  font-size:3.6rem;
  color:var(--vinho)
}
.chair-heading p{
  margin-top:14px;
  font-size:1.08rem
}
.chair-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:28px;
  align-items:start
}
.chair-product{
  background:var(--paper);
  border-radius:6px;
  overflow:hidden;
  border:1px solid color-mix(in oklab,var(--ouro) 40%,transparent)
}
.chair-product-image{
  height:320px;
  display:grid;
  place-items:center;
  padding:24px;
  background:var(--paper)
}
.chair-product-image img{
  width:100%;
  height:272px;
  object-fit:contain
}
.chair-product-detail{
  padding:24px;
  border-top:2px solid var(--ouro)
}
.chair-product h2{
  font-size:1.9rem 
}
.chair-product-detail p{
  margin:12px 0 20px
}
.chair-action{
  background:var(--vinho);
  color:var(--paper);
  border:1px solid var(--vinho);
  height:auto;
  padding:12px 18px;
  font-family:var(--sans);
  font-weight:400;
  white-space:normal
}
.chair-action:hover{
  background:var(--vinho2)
}
.chair-product-no-photo .chair-product-detail{
  border-top:none
}
.chair-product-no-photo h2{
  margin-bottom:20px
}
.chair-catalog footer{
  margin-top:64px
}
@media(max-width:900px){
  .chair-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))
  }
}
@media(max-width:560px){
  .chair-grid{
    grid-template-columns:1fr
  }
  .chair-nav{
    align-items:flex-start
  }
  .chair-nav .logo{
    font-size:1.25rem
  }
  .chair-back{
    padding:10px 12px;font-size:.8rem
    }
    .chair-catalog{
      padding-top:40px
    };
}

.chair-action{
  display:inline-flex;
  align-items:center;
  gap:8px;
  border-radius:4px;
  font-size:.95rem;
}
.chair-product-detail p{
  font-size:1rem;
}


/* Catálogo de mobiliários de madeira */


.wood-page {
   background: #f7f7f7;
    color: #201b18; 
}
.wood-catalog {
   padding: 42px 0 76px;
    min-height: calc(100vh - 80px); 
}
.wood-heading {
  text-align: center;
  margin: 0 auto 38px; 
  max-width: 760px; 
}
.wood-eyebrow {
   font: 600 .76rem/1.4 'Jost', sans-serif;
    letter-spacing: .18em;
     color: var(--vinho, #743b42); 
     margin: 0 0 8px; 
  }
.wood-heading h1 {
   font: 600 clamp(2rem, 4vw, 3rem)/1.1 'Cormorant Garamond', serif; margin: 0 0 10px; 
}
.wood-heading > p:last-child {
   margin: 0; 
   color: #706863;
  font-size: 1rem; 
  }
.wood-grid {
   display: grid;
   grid-template-columns: repeat(3, minmax(0, 1fr)); 
   gap: 42px 30px; 
   align-items: start; 
}
.wood-item { 
  min-width: 0;
  text-align: center;
  display: flex; 
  flex-direction: column;
  align-items: stretch; 
}
.wood-item h2 {
  min-height: 2.6em;
  display: flex; 
  align-items: end;
  justify-content: center;
  margin: 0 0 12px;
  font: 700 1.05rem/1.2 'Jost', sans-serif;
  text-transform: uppercase;
  color: #171311; 
}
.wood-image {
   width: 100%; 
   height: 230px;
   padding: 12px; 
   display: flex; 
   align-items: center; 
   justify-content: center; 
   background: #fff; 
   border-radius: 14px; 
   box-shadow: 0 7px 17px rgba(0,0,0,.22); 
   overflow: hidden; 
   
}
.wood-image img {
   width: 100%; 
   height: 100%; 
   object-fit: contain; 
   display: block; 
}
.wood-item > p {
   color: #6d625d; 
   font-size: .9rem; 
   line-height: 1.5; 
   margin: 16px 4px 14px; 
}
.wood-action {
   align-self: center; 
   display: inline-flex; 
   justify-content: center; 
   align-items: center; 
   padding: 10px 18px; 
   border: 1px solid var(--vinho, #743b42); 
   border-radius: 3px; 
   color: var(--vinho, #743b42); 
   text-decoration: none; 
   font: 500 .9rem 'Jost', sans-serif; 
   transition: background .2s ease, color .2s ease; 
}
.wood-action:hover {
   background: var(--vinho, #743b42); 
   color: #fff; 
}
@media (max-width: 900px) {
   .wood-grid { 
    grid-template-columns: repeat(2, minmax(0, 1fr)); 
    gap: 34px 24px; 
  } 
}
@media (max-width: 560px) {
  .wood-catalog { 
    padding: 28px 0 52px; 
  }
  .wood-catalog .wrap {
     width: min(100% - 30px, 500px); 
    }
  .wood-heading { 
    margin-bottom: 28px; 
  }
  .wood-grid {
     grid-template-columns: 1fr; gap: 32px; max-width: 390px; margin: 0 auto; 
    }
  .wood-item h2 {
     min-height: 0; margin-bottom: 10px; 
    }
  .wood-image {
     height: 245px; 
    }
}
@media(max-width:900px){
  nav ul{
    inset:auto;
    top:0;
    right:0;
    left:auto;
    bottom:auto;
    width:70%;
    height:100vh;
    height:100dvh;
    overflow-y:auto;
  }
  .menu{position:relative;z-index:60}
}