/* -------- Base -------- */
:root{
  --bg:#0f0d0b;
  --wood:#3b2a1f;
  --accent:#c9a873;
  --beige:#efe6dc;
  --text:#1b1612;
  --white:#fff;
}

*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{
  font-family: 'Montserrat', system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  color:#2b211a;
  background:linear-gradient(180deg, #f7f3ee, #f1ece6);
}


.container{max-width:1120px;margin:0 auto;padding:0 20px}

.site-header{
  position:sticky;top:0;z-index:50;
  background:rgba(255,255,255,0.85);backdrop-filter: blur(8px);
  border-bottom:1px solid #eadfd4;
}
.header-inner{display:flex;align-items:center;justify-content:space-between;height:144px}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:#2b211a;font-weight:700}
.logo{width:120px;height:120px}
.brand-name{letter-spacing:.5px; font-size:38px}
.nav{display:flex;gap:18px;align-items:center}
.nav a{text-decoration:none;color:#3a2b21;font-weight:600}
.nav .btn{margin-left:6px}

/* Buttons */
.btn{display:inline-block;padding:12px 18px;border-radius:999px;text-decoration:none;font-weight:700;border:1px solid #cdb69a}
.btn-primary{background:var(--wood);color:#fff !important ;border-color:var(--wood)}
.btn-ghost{background:transparent;color:var(--wood);color:#f7f3ee;;}
.btn:hover{opacity:.92}

/* Hero */
.hero {
  padding:144px 0;
  background: url("https://images.unsplash.com/photo-1631396326628-3105f48b6f2b?q=80&w=1170&auto=format&fit=crop") no-repeat center bottom / cover;
  display: flex;
  align-items: center; 
  position: relative;
}

.hero::before{
  content:"";
  position:absolute; inset:0;
  /* escurece e ainda cria um gradiente mais forte na parte do texto */
  background:
    linear-gradient(to bottom, rgba(43, 42, 42, 0.1), rgba(0,0,0,.55)),
    rgba(43,33,26,.55);  /* marrom escuro da paleta */
  z-index:1;
}

.hero .hero-copy {
  position: relative;
  max-width: 680px;
  z-index: 2; /* deixa o texto acima do overlay */
}

.hero-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:32px;align-items:center}
.hero-copy h1{font-size:44px;line-height:1.1;margin:0 0 14px;font-family:'Merriweather', serif,;color:#fff;text-shadow: 0 2px 8px rgba(0,0,0,.35);}
.underline{white-space: nowrap; background:none}
.hero-copy p{font-size:18px;color:rgba(255,255,255,0.35); text-shadow:0 2px 8px rgba(0,0,0,.35)}
.cta-row{display:flex;gap:12px;margin:32px 0 8px}
.badges{display:flex;gap:12px;flex-wrap:nowrap;padding:0;margin:48px 0 0;list-style:none;}

.badges li {
  padding: 10px 18px;
  border-radius: 999px;
  border: 1px solid rgba(247,243,238,.6);
  background: rgba(247,243,238,.1);
  color: #f7f3ee;
  font-weight: 500;
  font-size: 0.95rem;
  letter-spacing: 0.3px;
  transition: all 0.3s ease;
  white-space: nowrap;
}
.badges li:hover {
  background: rgba(247,243,238,.25);
  transform: translateY(-2px);
}
.hero-media .hero-card{position:relative;border-radius:18px;overflow:hidden;box-shadow:0 8px 30px rgba(0,0,0,.15);border:1px solid #e6d8c9}
.hero-media img{display:block;width:100%;height:100%;object-fit:cover}
.hero-stamp{position:absolute;bottom:12px;right:12px;background:#2f221a;color:#fff;padding:8px 12px;border-radius:999px;font-size:12px;letter-spacing:.8px}

/* Sections */
.section{padding:64px 0}
.section-alt{background:#fcfaf7;border-top:1px solid #efe2d3;border-bottom:1px solid #efe2d3}
.section-title{text-align:center;font-size:30px;margin:0 0 8px;font-family:'Merriweather', serif}
.section-subtitle{text-align:center;color:#6a5546;margin:0 0 28px}

/* Cards */
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.card{background:#fff;border:1px solid #eadfd4;border-radius:14px;padding:18px;box-shadow:0 6px 16px rgba(0,0,0,.05)}
.card h3{margin:0 0 8px}

/* Gallery */
.gallery{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.shot{border-radius:14px;overflow:hidden;border:1px solid #eadfd4;background:#fff}
.shot img{display:block;width:100%;height:200px;object-fit:cover}
.shot figcaption{padding:8px 10px;color:#6a5546;font-size:14px}

/* Timeline */
.timeline{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.step{background:#fff;border:1px solid #eadfd4;border-radius:14px;padding:18px}
.step-num{width:28px;height:28px;border-radius:50%;background:#2f221a;color:#fff;display:flex;align-items:center;justify-content:center;font-weight:800;margin-bottom:10px}

/* CTA */
.section-cta{background:linear-gradient(180deg,#fff,#fbf6ef);border-top:1px solid #efe2d3}
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;align-items:start}
.contact-list {
  list-style: none;
  padding: 0;
  margin: 20px 0;
  font-size: 1rem;
}
.contact-list li {
  margin-bottom: 8px;
}
.contact-list a {
  color: var(--wood); /* usa sua cor marrom da paleta */
  text-decoration: none;
  font-weight: 500;
}
.contact-list a:hover {
  text-decoration: underline;
}

.contact-form{display:grid;gap:12px;background:#fff;border:1px solid #eadfd4;border-radius:14px;padding:18px}
.contact-form label{display:grid;gap:6px;font-weight:600;color:#5a473a}
.contact-form input,.contact-form textarea{padding:10px 12px;border-radius:10px;border:1px solid #decfbe;font-family:inherit}
.form-note{font-size:12px;color:#876;}

/* Footer */
.site-footer{padding:28px 0;background:#f5efe7;border-top:1px solid #eadfd4;color:#5b4638}
.footer-inner{display:flex;align-items:center;justify-content:space-between;gap:12px}
.logo.small{width:24px;height:24px}
.foot-nav{display:flex;gap:12px}
.copy{font-size:13px}



/* --- Carousel --- */
.carousel{
  position:relative;
.car-viewport{
  display:flex;
  gap:8px;
  overflow-x:auto;            /* permite swipe/arrastar */
  scroll-behavior:smooth;
  scroll-snap-type:x mandatory;
  padding-block:4px;
  scrollbar-width:none;       /* Firefox */
}
.car-viewport::-webkit-scrollbar{ display:none; } /* Chrome/Safari */

.car-viewport .shot{
  flex: 0 0 18%;            /* 3 cards/desktop */
  scroll-snap-align:start;
}

/* botões */
.car-btn{
  position:absolute;
  top:50%; transform:translateY(-50%);
  width:42px; height:42px; border-radius:999px;
  border:1px solid #cdb69a; background:rgba(255,255,255,.85);
  color:#3b2a1f; font-size:26px; line-height:1; 
  display:grid; place-items:center;
  cursor:pointer; z-index:2;
  backdrop-filter: blur(6px);
}
.car-btn:hover{ background:#fff }
.car-btn.prev{ left:-6px }
.car-btn.next{ right:-6px }

/* responsivo: 2 cards no tablet, 1 no celular */
@media (max-width: 980px){
  .car-viewport .shot{ flex-basis:33.333% }
}
@media (max-width: 560px){
  .car-viewport .shot{ flex-basis:90% }
  .car-btn.prev{ left:2px } .car-btn.next{ right:2px }
}
}
/* Responsive */
@media (max-width: 980px){
  .hero-grid{grid-template-columns:1fr}
  .cards{grid-template-columns:1fr 1fr}
  .gallery{grid-template-columns:1fr 1fr}
  .timeline{grid-template-columns:1fr 1fr}
  .contact-grid{grid-template-columns:1fr}
}
@media (max-width: 560px){
  .cards{grid-template-columns:1fr}
  .gallery{grid-template-columns:1fr}
  .timeline{grid-template-columns:1fr}
  .hero-copy h1{font-size:34px}
}


/* Lightbox */
.lightbox{
  position:fixed; inset:0; display:none; place-items:center;
  background:rgba(0,0,0,.8); z-index:9999; padding:24px;
}
.lightbox.show{ display:grid; animation:fadeIn .18s ease; }
.lightbox img{
  max-width:90vw; max-height:85vh; border-radius:12px;
  box-shadow:0 20px 60px rgba(0,0,0,.5);
}
.lb-caption{ margin-top:10px; color:#fff; text-align:center; opacity:.9 }
.lb-close{
  position:absolute; top:14px; right:16px; font-size:28px; line-height:1;
  background:#000; color:#fff; border:1px solid rgba(255,255,255,.2);
  width:40px; height:40px; border-radius:999px; cursor:pointer;
}
@keyframes fadeIn{ from{opacity:0} to{opacity:1} }
body.no-scroll{ overflow:hidden; }

/* tablets */
@media (max-width:768px){
  .site-header .header-inner{height:120px}
  .brand-name{font-size:16px}
  .nav{gap:10px}
  .nav .btn{padding:8px 12px}
  .hero{
    padding:28px 0 36px;
    min-height:auto;
    align-items:flex-start;
    background-position:center;
  }
  .hero .hero-copy{max-width:640px}
  .hero h1{font-size:34px;line-height:1.15}
  .hero p{font-size:16px;line-height:1.55}
  .cta-row{gap:10px}
  .badges{margin-top:20px}
}


/* celulares */
@media (max-width:560px){
  .site-header .header-inner{height:72px}
  .logo{width:64px;height:64px}
  .brand-name{font-size:20px}
  .nav a{font-size:14px}
  .nav .btn{padding:8px 12px;font-size:14px}
  .hero{
    padding:16px 0 28px;
    min-height:auto;
    align-items:flex-start;
    background-size:cover;
    background-position:center bottom;
  }

  .hero h1{font-size:28px;line-height:1.15;margin-bottom:8px}
  .hero p{font-size:15px;line-height:1.6}
  .cta-row{
    display:grid;
    grid-template-columns:1fr;
    gap:10px;
    max-width:360px;
  }
  .badges{
    overflow-x:auto;
    gap:10px;
    padding-bottom:6px;
    -webkit-overflow-scrolling:touch;
  }
  .badges li{
    white-space:normal;
    padding:8px 14px;
    font-size:14px;
    text-align: center;
  }
  .cards{grid-template-columns:1fr;gap:12px}
  .gallery{grid-template-columns:1fr}

  .footer-inner {
  display: flex;
  flex-direction: column;   /* empilha os elementos */
  align-items: center;      /* centraliza tudo */
  gap: 12px;
  text-align: center;       /* garante alinhamento central */
  }

}
/* compensação do header sticky */
html{scroll-padding-top:72px}