:root{
  --paper:#F4EEE1;
  --paper-deep:#EAE1CD;
  --ink:#1B3A26;
  --green:#2E6B3E;
  --green-soft:#3d7d4d;
  --stamp:#B23A2A;
  --line:#c9bda2;
  --wood-light:#E3C68F;
  --radius:10px;
  --max:1120px;
  --ph-meiacana:url('images/fundo.jpg');
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation:none!important;transition:none!important}
}
body{
  font-family:'Archivo',sans-serif;
  background:var(--paper);
  color:var(--ink);
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
}
/* grão de serragem no fundo */
body::before{
  content:"";position:fixed;inset:0;pointer-events:none;z-index:0;opacity:.35;
  background-image:radial-gradient(rgba(27,58,38,.05) 1px,transparent 1px),radial-gradient(rgba(178,58,42,.03) 1px,transparent 1px);
  background-size:9px 9px,23px 23px;
  background-position:0 0,4px 7px;
}
main,header,footer{position:relative;z-index:1}
.wrap{max-width:var(--max);margin:0 auto;padding:0 20px}

/* régua de bitola — divisor assinatura entre seções */
.ruler{
  height:26px;border-top:2px solid var(--ink);border-bottom:2px solid var(--ink);
  background:
    repeating-linear-gradient(90deg,var(--ink) 0 2px,transparent 2px 20px),
    repeating-linear-gradient(90deg,transparent 0 98px,var(--ink) 98px 100px);
  background-size:100px 55%,100px 100%;
  background-repeat:repeat-x;
  background-position:left bottom,left top;
  opacity:.85;
}

/* ---------- topo ---------- */
.topbar{
  position:sticky;top:0;z-index:50;
  background:var(--ink);color:var(--paper);
  border-bottom:4px solid var(--green);
}
.topbar .wrap{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-top:12px;padding-bottom:12px}
.logo{
  display:flex;align-items:center;gap:12px;
  font-family:'Anton',sans-serif;font-size:1.35rem;letter-spacing:.06em;text-transform:uppercase;
  color:var(--paper);text-decoration:none;line-height:1;
}
.logo img{
  width:46px;height:46px;
  object-fit:contain;
  filter:drop-shadow(0 1px 2px rgba(0,0,0,.35));
}
.logo small{display:block;font-family:'Saira Stencil One',sans-serif;font-size:.55rem;letter-spacing:.35em;color:var(--wood-light);margin-top:3px;text-transform:uppercase}
nav{display:flex;gap:22px;flex-wrap:wrap}
nav a{color:var(--paper);text-decoration:none;font-size:.85rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;opacity:.85;transition:opacity .15s}
nav a:hover,nav a:focus-visible{opacity:1;text-decoration:underline;text-underline-offset:4px}
.topbar .phone{font-family:'Saira Stencil One',sans-serif;font-size:.85rem;color:var(--wood-light);text-decoration:none;white-space:nowrap}
@media(max-width:820px){nav{display:none}}

/* ---------- hero ---------- */
.hero{padding:72px 0 64px;position:relative;overflow:hidden}
.hero::before{
  content:"";position:absolute;inset:0;z-index:-1;
  background:
    linear-gradient(180deg,rgba(244,238,225,0) 62%,var(--paper) 97%),
    linear-gradient(92deg,var(--paper) 33%,rgba(244,238,225,.85) 46%,rgba(244,238,225,0) 62%),
    var(--ph-meiacana) 100% 100%/58% auto no-repeat;
  filter:sepia(.15) saturate(.85);
}
@media(max-width:820px){
  .hero::before{background:linear-gradient(rgba(244,238,225,.94),rgba(244,238,225,.97)),var(--ph-meiacana) center/contain no-repeat}
}
.hero .wrap{display:grid;grid-template-columns:1.4fr .8fr;gap:40px;align-items:center}
.eyebrow{
  font-family:'Saira Stencil One',sans-serif;font-size:.8rem;letter-spacing:.4em;
  text-transform:uppercase;color:var(--green);margin-bottom:18px;
}
h1{
  font-family:'Anton',sans-serif;font-weight:400;text-transform:uppercase;
  font-size:clamp(2.6rem,6.5vw,4.6rem);line-height:1.02;letter-spacing:.01em;
  color:var(--ink);
}
h1 em{font-style:normal;color:var(--green)}
.hero p.lead{margin:22px 0 30px;font-size:1.12rem;max-width:34em;color:#33503e}
.cta-row{display:flex;gap:14px;flex-wrap:wrap}
.btn{
  display:inline-flex;align-items:center;gap:10px;
  font-weight:700;font-size:1rem;text-decoration:none;
  padding:15px 26px;border-radius:var(--radius);
  border:2.5px solid var(--ink);transition:transform .12s,box-shadow .12s;
}
.btn:hover,.btn:focus-visible{transform:translate(-2px,-2px);box-shadow:4px 4px 0 var(--ink)}
.btn-wa{background:var(--green);color:#fff;border-color:var(--ink)}
.btn-tel{background:transparent;color:var(--ink)}
/* carimbo */
.stamp{
  justify-self:center;
  width:230px;height:230px;border-radius:50%;
  border:3px double var(--stamp);color:var(--stamp);
  display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;
  transform:rotate(-9deg);
  font-family:'Saira Stencil One',sans-serif;letter-spacing:.12em;text-transform:uppercase;
  padding:26px;position:relative;opacity:.92;
}
.stamp::before{content:"";position:absolute;inset:10px;border:1.5px solid var(--stamp);border-radius:50%;opacity:.6}
.stamp .big{font-size:1.5rem;line-height:1.2;margin:6px 0}
.stamp .small{font-size:.6rem;letter-spacing:.3em}
@media(max-width:820px){
  .hero .wrap{grid-template-columns:1fr}
  .stamp{width:180px;height:180px;margin-top:8px}
}

/* ---------- seções ---------- */
section{padding:72px 0}
.sec-head{margin-bottom:40px}
.sec-head h2{
  font-family:'Anton',sans-serif;font-weight:400;text-transform:uppercase;
  font-size:clamp(1.8rem,4vw,2.7rem);line-height:1.05;
}
.sec-head p{margin-top:10px;max-width:44em;color:#33503e}

/* ---------- madeiras: topos de tábua ---------- */
/* cards de espécie com foto */
.species-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:20px;margin-bottom:26px}
.sp{
  background:#fff;border:2px solid var(--ink);border-radius:var(--radius);
  overflow:hidden;
}
.sp .ph{
  height:150px;overflow:hidden;position:relative;
  background:linear-gradient(135deg,#d9c9a8,#c2ab7f); /* reserva se a foto faltar */
}
.sp .ph img{
  width:100%;height:100%;object-fit:cover;display:block;
  transition:transform .6s ease;
  filter:sepia(.18) saturate(.9) contrast(1.05);
}
.sp .ph::after{content:"";position:absolute;inset:0;box-shadow:inset 0 0 42px rgba(27,58,38,.25);pointer-events:none}
.sp:hover .ph img{transform:scale(1.07)}
.sp .nm{
  padding:13px 16px;border-top:2px solid var(--ink);
  font-family:'Anton',sans-serif;font-weight:400;text-transform:uppercase;
  font-size:1.02rem;letter-spacing:.02em;
}
/* chips das espécies sem foto */
.species-list{
  list-style:none;display:flex;flex-wrap:wrap;gap:12px;
}
.species-list li{
  font-family:'Anton',sans-serif;font-weight:400;text-transform:uppercase;
  font-size:1.05rem;letter-spacing:.02em;
  background:#fff;border:2px solid var(--ink);border-radius:999px;
  padding:12px 24px;
}

/* ---------- produtos beneficiados ---------- */
#produtos{background:var(--ink);color:var(--paper)}
#produtos .sec-head p{color:#c5d4c6}
.cat-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:20px}
.cat{
  border:2px solid rgba(244,238,225,.4);border-radius:var(--radius);
  background:rgba(244,238,225,.05);overflow:hidden;
  display:flex;flex-direction:column;
}
.cat .ph{
  height:210px;background-size:cover;background-position:center;
  background-color:#2b3d31;transition:transform .6s ease;position:relative;
  filter:sepia(.18) saturate(.9) contrast(1.05);
  box-shadow:inset 0 0 60px rgba(15,32,21,.35);
}
.cat:hover .ph:not(.sem-foto){transform:scale(1.05)}
.cat .ph.sem-foto{
  display:flex;align-items:center;justify-content:center;
  background:linear-gradient(135deg,#3a5240,#2b3d31);
}
.cat .ph.sem-foto::after{
  content:"Foto em breve";
  font-family:'Saira Stencil One',sans-serif;font-size:.68rem;letter-spacing:.25em;
  text-transform:uppercase;color:rgba(244,238,225,.42);
}
.cat .body{padding:18px 20px 22px}
.bg-assoalho{background-image:url('images/bg-assoalho.jpg')}
.bg-forro{background-image:url('images/bg-forro.jpg')}
.bg-deck{background-image:url('images/bg-deck.jpg')}
.bg-meia-cana{background-image:var(--ph-meiacana)}
.bg-euc-auto{background-image:url('images/eucalipto-autoclavado.jpg')}
.bg-rodape{background-image:url('images/bg-rodape.jpg')}
.bg-beiral{background-image:url('images/bg-beiral.jpg')}
.bg-caixilho{background-image:url('images/bg-caixilho.jpg')}
.cat h3{
  font-family:'Anton',sans-serif;font-weight:400;text-transform:uppercase;
  font-size:1.35rem;letter-spacing:.03em;margin-bottom:12px;color:var(--wood-light);
}
.cat ul{list-style:none;display:flex;flex-wrap:wrap;gap:7px}
.cat li{
  font-size:.82rem;font-weight:500;
  border:1.5px solid rgba(244,238,225,.4);border-radius:999px;padding:4px 12px;
}

/* ---------- história ---------- */
#historia{
  background:linear-gradient(180deg,rgba(15,32,21,.82),rgba(15,32,21,.9)),
             url('images/fundo-2.jpg') center/contain no-repeat;
  background-color:#0f2015;position:relative;min-height:74vh;display:flex;align-items:center;
}
#historia .wrap{display:grid;grid-template-columns:auto 1fr;gap:44px;align-items:center;position:relative;z-index:1;width:100%}
.hist-cap{position:absolute;top:22px;left:26px;z-index:2;font-family:Georgia,'Times New Roman',serif;font-size:clamp(.85rem,2.4vw,1.05rem);letter-spacing:.02em;color:rgba(255,255,255,.95);text-shadow:0 1px 8px rgba(0,0,0,.75)}
.years{font-family:'Anton',sans-serif;font-size:clamp(4.5rem,11vw,8rem);line-height:.9;color:var(--green);text-shadow:0 2px 18px rgba(0,0,0,.55)}
.years small{display:block;font-family:'Saira Stencil One',sans-serif;font-size:.8rem;letter-spacing:.35em;color:var(--wood-light);margin-top:8px}
#historia p{max-width:38em;font-size:1.05rem;color:var(--wood-light)}
@media(max-width:700px){#historia .wrap{grid-template-columns:1fr}}

/* ---------- profissionais ---------- */
#profissionais{background:var(--paper-deep)}
.pro-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:20px;margin-bottom:30px}
.pro{background:#fff;border:2px solid var(--ink);border-radius:var(--radius);padding:22px 24px}
.pro h3{font-family:'Anton',sans-serif;font-weight:400;text-transform:uppercase;font-size:1.25rem;letter-spacing:.03em;margin-bottom:12px}
.pro ul{list-style:none;display:flex;flex-direction:column;gap:9px;font-size:.93rem;color:#33503e}
.pro li{position:relative;padding-left:18px}
.pro li::before{content:"";position:absolute;left:0;top:.5em;width:8px;height:8px;background:var(--green);border-radius:2px}
.pro-cta{display:flex;align-items:center;gap:20px;flex-wrap:wrap}
.pro-cta p{font-size:.95rem;color:#33503e;max-width:30em}

/* ---------- avaliações ---------- */
.stars{position:relative;display:inline-block;font-size:1.05rem;line-height:1;letter-spacing:3px;color:#c9bda2}
.stars b{position:absolute;left:0;top:0;width:88%;overflow:hidden;white-space:nowrap;color:var(--green);font-weight:400;letter-spacing:3px}
.hero-proof{margin-top:20px;display:inline-flex;align-items:center;gap:10px;font-size:.9rem;font-weight:600;color:var(--ink);text-decoration:none}
.hero-proof:hover,.hero-proof:focus-visible{text-decoration:underline;text-underline-offset:4px}
.rev-grid{display:grid;grid-template-columns:auto 1fr;gap:36px;align-items:start}
.rev-score{background:#fff;border:2px solid var(--ink);border-radius:var(--radius);padding:30px 34px;text-align:center;min-width:220px}
.rev-score .num{font-family:'Anton',sans-serif;font-size:4rem;line-height:1;color:var(--ink)}
.rev-score .stars{font-size:1.6rem;margin:12px 0 8px}
.rev-score .cnt{font-size:.9rem;color:#33503e}
.rev-score a{display:inline-block;margin-top:14px;font-weight:600;color:var(--green)}
.rev-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:20px}
.rev{margin:0;background:#fff;border:2px solid var(--ink);border-radius:var(--radius);padding:20px 22px;display:flex;flex-direction:column;gap:12px}
.rev blockquote{font-size:.93rem;color:#33503e}
.rev figcaption{font-family:'Saira Stencil One',sans-serif;font-size:.65rem;letter-spacing:.25em;text-transform:uppercase;color:var(--ink)}
.ph-tag{align-self:flex-start;font-family:'Saira Stencil One',sans-serif;font-size:.58rem;letter-spacing:.22em;text-transform:uppercase;color:var(--stamp);border:1.5px dashed var(--stamp);border-radius:4px;padding:4px 9px}
.rev-ask{background:transparent;border-style:dashed;border-color:#a89c80;justify-content:center}
.rev-ask a{font-weight:700;color:var(--green);text-decoration:none}
.rev-ask a:hover{text-decoration:underline}
@media(max-width:760px){.rev-grid{grid-template-columns:1fr}.rev-score{min-width:0}}

/* ---------- contato ---------- */
.contact-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:40px}
.contact-list{list-style:none;display:flex;flex-direction:column;gap:18px;font-size:1.05rem}
.contact-list b{display:block;font-family:'Saira Stencil One',sans-serif;font-size:.65rem;letter-spacing:.3em;text-transform:uppercase;color:var(--green);margin-bottom:2px}
.contact-list a{color:var(--ink);font-weight:600}
.contact-cta{
  border:2px solid var(--ink);border-radius:var(--radius);padding:30px;background:#fff;
  display:flex;flex-direction:column;gap:16px;align-items:flex-start;height:fit-content;
}
.contact-cta h3{font-family:'Anton',sans-serif;font-weight:400;text-transform:uppercase;font-size:1.5rem}
@media(max-width:760px){.contact-grid{grid-template-columns:1fr}}

/* ---------- footer ---------- */
footer{background:var(--ink);color:#9fb3a2;padding:34px 0;font-size:.85rem}
footer .wrap{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;align-items:center}
footer a{color:var(--wood-light);text-decoration:none;margin-left:16px}
footer a:hover{text-decoration:underline}
.foot-brand{display:flex;align-items:center;gap:12px}
.foot-brand img{object-fit:contain}

/* ---------- FAB WhatsApp ---------- */
.fab{
  position:fixed;right:18px;bottom:18px;z-index:60;
  width:58px;height:58px;border-radius:50%;
  background:var(--green);border:2.5px solid var(--ink);
  display:flex;align-items:center;justify-content:center;
  box-shadow:3px 3px 0 rgba(27,58,38,.5);
  transition:transform .12s;
  animation:fabpulse 2.6s ease-in-out infinite;
}
@keyframes fabpulse{
  0%,100%{box-shadow:3px 3px 0 rgba(27,58,38,.5),0 0 0 0 rgba(46,107,62,.45)}
  50%{box-shadow:3px 3px 0 rgba(27,58,38,.5),0 0 0 14px rgba(46,107,62,0)}
}
.fab:hover{transform:scale(1.07)}
.fab svg{width:30px;height:30px;fill:#fff}

/* reveal on scroll */
.reveal{opacity:0;transform:translateY(18px);transition:opacity .5s ease,transform .5s ease}
.reveal.in{opacity:1;transform:none}