:root{
  --green-950:#0b221a;
  --green-900:#0f2d22;
  --green-800:#123524;
  --wood-700:#4A3423;
  --wood-600:#6E4B2F;
  --ink:#2C2C2C;
  --muted:#5d6a64;
  --bg:#f2f3f5;;
  --card:#ffffff;
  --line:rgba(15,45,34,.12);
  --shadow:0 14px 40px rgba(0,0,0,.12);
}

*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{
  font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;
  color:var(--ink);
  background:var(--bg);
  line-height:1.5;
}

a{color:inherit}
.container{width:min(1120px, 92vw); margin-inline:auto}

.site-header{
  position:sticky; top:0; z-index:50;
  background:rgba(255,255,255,.82);
  backdrop-filter:saturate(160%) blur(10px);
  border-bottom:1px solid var(--line);
}
.header-inner{display:flex; align-items:center; gap:18px; padding:14px 0}
.brand{display:flex; align-items:center; gap:12px; text-decoration:none}
.brand-logo{height:38px; width:auto}
.brand-text{display:flex; flex-direction:column; line-height:1}
.brand-name{font-family:"Playfair Display", serif; font-weight:700; font-size:18px}
.brand-sub{font-size:12px; color:var(--wood-700); letter-spacing:.22em; text-transform:uppercase}

.nav{margin-left:auto; display:none; gap:18px}
.nav a{font-size:13px; text-decoration:none; color:#1b2a24; opacity:.85}
.nav a:hover{opacity:1}

.header-cta{display:flex; align-items:center; gap:12px; margin-left:auto}
.link{font-weight:600; text-decoration:none}
.link:hover{text-decoration:underline}
.btn{
  display:inline-flex; align-items:center; justify-content:center;
  padding:10px 14px;
  border-radius:12px;
  border:1px solid var(--line);
  text-decoration:none;
  font-weight:700;
  font-size:13px;
  background:#fff;
}
.btn:hover{transform:translateY(-1px)}
.btn-primary{
  background:linear-gradient(135deg,var(--wood-700),var(--wood-600));
  color:#fff;
  border-color:rgba(0,0,0,0);
  box-shadow:0 14px 26px rgba(139,94,60,.25);
}
.btn-ghost{
  background:transparent;
  border-color:rgba(255,255,255,.35);
  color:#fff;
}
.btn-ghost-dark{
  background:#fff;
  border-color:rgba(15,45,34,.14);
  color:var(--green-900);
}
.btn-wide{width:100%}

.hero{position:relative; min-height:84vh; display:grid; place-items:center; overflow:hidden}
.hero-bg{
  position:absolute; inset:0;
  background:
    radial-gradient(800px 420px at 15% 20%, rgba(160,106,66,.45), transparent 55%),
    linear-gradient(180deg, rgba(11,34,26,.82), rgba(11,34,26,.55)),
    url('assets/hero.jpg') center/cover no-repeat;
  transform:scale(1.02);
}
.hero-inner{position:relative; padding:96px 0 56px; text-align:left; color:#fff}
.eyebrow{display:inline-flex; gap:8px; padding:8px 12px; border-radius:999px; background:rgba(255,255,255,.10); border:1px solid rgba(255,255,255,.18); font-weight:600; font-size:12px}
.hero h1{
  font-family:"Playfair Display", serif;
  font-size:clamp(34px, 4vw, 54px);
  line-height:1.08;
  margin:16px 0 14px;
}
.hero .accent{color:#fff}
.lede{max-width:640px; font-size:16px; opacity:.92}
.hero-actions{display:flex; flex-wrap:wrap; gap:12px; margin-top:22px}
.checks{display:flex; flex-wrap:wrap; gap:10px; margin-top:22px}
.check{background:rgba(255,255,255,.10); border:1px solid rgba(255,255,255,.18); border-radius:14px; padding:10px 12px; font-size:13px}

.feature-strip{background:linear-gradient(180deg,#fff, #f6f7f6)}
.feature-strip-inner{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:14px;
  padding:20px 0 40px;
}
.feature-card{
  background:var(--card);
  border:1px solid var(--line);
  border-radius:18px;
  padding:16px 16px;
  box-shadow:0 8px 22px rgba(0,0,0,.06);
}
.feature-title{font-weight:800; font-size:12px; letter-spacing:.14em; text-transform:uppercase; color:var(--green-900)}
.feature-desc{margin-top:6px; color:#22322c}

.section{padding:72px 0}
.section-muted{background:#f6f7f6}
.section-dark{background:linear-gradient(180deg,var(--green-950),var(--green-900)); color:#fff}
.section-head{display:flex; flex-direction:column; gap:8px; margin-bottom:22px}
.section-head h2{
  font-family:"Playfair Display", serif;
  font-size:32px;
  margin:0;
}
.section-head p{margin:0; color:var(--muted)}
.section-head.light p{color:rgba(255,255,255,.75)}

.cards{display:grid; grid-template-columns:1fr; gap:14px}
.card{
  background:var(--card);
  border:1px solid var(--line);
  border-radius:22px;
  padding:18px 18px;
  box-shadow:0 10px 26px rgba(0,0,0,.06);
}
.card h3{margin:0 0 10px; font-size:18px}
.card ul{margin:0; padding-left:18px; color:#2d3b36}
.card li{margin:6px 0}

.gallery{
  display:grid;
  grid-template-columns:1fr;
  gap:14px;
}
.tile{
  position:relative;
  min-height:220px;
  border-radius:22px;
  overflow:hidden;
  border:1px solid var(--line);
  background:
    linear-gradient(180deg, rgba(0,0,0,.0), rgba(0,0,0,.55)),
    var(--img) center/cover no-repeat;
  box-shadow: var(--shadow);
}
.tile.tall{min-height:320px}
.tile figcaption{
  position:absolute; inset:auto 0 0 0;
  padding:16px 16px;
  color:#fff;
  display:flex; flex-direction:column; gap:4px;
}
.tile figcaption strong{font-size:16px}
.tile figcaption span{font-size:13px; opacity:.9}
.gallery-cta{margin-top:18px}

.reviews{display:grid; grid-template-columns:1fr; gap:14px}
.review{
  background:#fff;
  border:1px solid rgba(15,45,34,.12);
  border-radius:18px;
  padding:16px 16px;
  box-shadow:0 10px 26px rgba(0,0,0,.05);
}
.review-top{display:flex; justify-content:space-between; align-items:baseline; gap:10px; margin-bottom:8px}
.stars{color:#1a9b65; font-weight:900}
.meta{color:var(--muted); font-size:12px}
.review p{margin:0; color:#2d3b36}

.estimate-grid{display:grid; grid-template-columns:1fr; gap:14px; align-items:start}
.form{
  background:#fff;
  border:1px solid rgba(255,255,255,.12);
  border-radius:22px;
  padding:18px 18px;
  box-shadow:0 12px 28px rgba(0,0,0,.18);
}
.section-dark .form{background:rgba(255,255,255,.96)}
.field{display:flex; flex-direction:column; gap:8px; margin-bottom:12px}
.field label{font-weight:700; font-size:13px; color:#17231e}
.field input,.field textarea,.field select{
  border:1px solid rgba(15,45,34,.18);
  border-radius:14px;
  padding:12px 12px;
  font-size:14px;
  outline:none;
  background:#fff;
}
.field input:focus,.field textarea:focus,.field select:focus{border-color:rgba(139,94,60,.65); box-shadow:0 0 0 4px rgba(139,94,60,.12)}
.field-wide{margin-top:4px}
.form-alt{display:flex; justify-content:center; gap:10px; margin-top:12px; font-weight:700}
.dot{opacity:.6}
.tiny{margin-top:12px; font-size:12px}
.lighttiny{color:rgba(255,255,255,.75)}
.lightlink{color:rgba(255,255,255,.95)}
.hidden{display:none}

.estimate-card{
  background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.14);
  border-radius:22px;
  padding:18px 18px;
}
.estimate-card h3{margin:0 0 8px}
.estimate-card .muted{color:rgba(255,255,255,.75)}
.contact-mini{margin-top:12px; display:grid; gap:8px}
.darklink{color:#fff}
.serve{margin-top:16px; padding-top:14px; border-top:1px solid rgba(255,255,255,.14)}
.serve h4{margin:0 0 8px}

.cta{
  background:
    radial-gradient(900px 520px at 20% 30%, rgba(160,106,66,.28), transparent 60%),
    linear-gradient(180deg,var(--green-950), var(--green-900));
  color:#fff;
  padding:72px 0;
}
.cta h2{font-family:"Playfair Display", serif; font-size:34px; margin:0 0 10px}
.cta p{margin:0; opacity:.86; max-width:720px}
.cta-actions{display:flex; flex-wrap:wrap; gap:12px; margin-top:18px}

.site-footer{background:#061610; color:#fff; padding:28px 0}
.footer-inner{display:flex; flex-direction:column; gap:12px}
.footer-brand{font-family:"Playfair Display", serif; font-size:18px}
.footer-links{display:flex; flex-wrap:wrap; gap:14px}
.footer-links a{color:#fff; text-decoration:none; opacity:.86}
.footer-links a:hover{opacity:1}

.float-call, .float-text{
  position:fixed; right:16px; z-index:60;
  width:64px; height:56px; border-radius:18px;
  display:grid; place-items:center;
  color:#fff; font-weight:900; text-decoration:none;
  box-shadow:0 16px 34px rgba(0,0,0,.20);
}
.float-call{bottom:84px; background:linear-gradient(135deg,var(--green-900),var(--green-800));}
.float-text{bottom:16px; background:linear-gradient(135deg,var(--wood-700),var(--wood-600));}
.float-call:hover,.float-text:hover{transform:translateY(-2px)}

.thanks{min-height:70vh; display:grid; place-items:center; padding:48px 0}
.thanks-inner{max-width:760px; text-align:left}
.thanks h1{font-family:"Playfair Display", serif; font-size:44px; margin:0 0 10px}

@media (min-width: 860px){
  .nav{display:flex}
  .header-cta{margin-left:0}
  .feature-strip-inner{grid-template-columns:repeat(4,1fr)}
  .cards{grid-template-columns:repeat(3,1fr)}
  .gallery{grid-template-columns:repeat(3,1fr)}
  .tile.tall{grid-row:span 2}
  .reviews{grid-template-columns:repeat(3,1fr)}
  .estimate-grid{grid-template-columns:1.1fr .9fr}
  .footer-inner{flex-direction:row; justify-content:space-between; align-items:flex-start}
}
.brand-logo {
  height: 90px;
}

.brand-name-image {
  height: 90px;
  margin-left: 20px;
}
.brand-logo {
  height: 110px;
}
.gallery-slider{
  position:relative;
  overflow:hidden;
  max-width:100%;
}

.slides{
  display:flex;
  transition:transform .5s ease;
}

.slide{
  min-width:100%;
  border-radius:16px;
  box-shadow:0 15px 40px rgba(0,0,0,.15);
}

.slide-btn{
  position:absolute;
  top:50%;
  transform:translateY(-50%);
  background:rgba(0,0,0,.5);
  color:white;
  border:none;
  font-size:30px;
  padding:10px 15px;
  cursor:pointer;
  z-index:10;
}

.prev{
  left:10px;
}

.next{
  right:10px;
}
/* Botões Or Text Us e Or Call - Verde */
.link.lightlink {
  background: #0f3d2e;   /* verde escuro elegante */
  color: white;
  padding: 10px 18px;
  border-radius: 30px;
  text-decoration: none;
  display: inline-block;
}

.link.lightlink:hover {
  background: #145c43;  /* verde um pouco mais claro no hover */
}
/* Animação leve */
@keyframes softPulse {
  0% { transform: scale(1); }
  50% { transform: scale(1.04); }
  100% { transform: scale(1); }
}

.header-cta .btn,
.header-cta .link {
  animation: softPulse 2.5s ease-in-out infinite;
}
.header-cta .btn:hover,
.header-cta .link:hover {
  transform: translateY(-3px);
  box-shadow: 0 10px 20px rgba(0,0,0,0.2);
}