:root{
  --coral:#E85D3D; --verde:#2BA08E; --tinta:#3B3428; --papel:#F4EDE2; --papel2:#EFE5D4;
  --texto:#5C4F3C; --suave:#7A6A52; --tracejado:#D9C9AF; --tracejado2:#D9A98F; --claro:#FFF6EC;
}
*{box-sizing:border-box}
body{margin:0;background:var(--papel);color:var(--texto);font-family:'Karla',sans-serif;font-size:18px;line-height:1.55}
h1,h2,h3{font-family:'Bricolage Grotesque',sans-serif;font-weight:800;color:var(--tinta);line-height:1.1;margin:0}
p{margin:0}
a{color:var(--tinta);text-decoration:none}
a:hover{color:var(--coral)}
img{max-width:100%}
.wrap{max-width:1200px;margin:0 auto;padding:0 24px}

.btn{display:inline-block;border-radius:999px;padding:14px 28px;font-weight:700;font-family:'Bricolage Grotesque',sans-serif;font-size:18px;cursor:pointer;border:none;transition:transform .15s ease, background .15s ease}
.btn:hover{transform:translateY(-2px)}
.btn-coral{background:var(--coral);color:#fff}
.btn-coral:hover{background:#d14e30;color:#fff}
.btn-verde{background:var(--verde);color:#fff}
.btn-verde:hover{background:#238a7a;color:#fff}
.btn-ghost{background:transparent;color:var(--tinta);border:2px solid var(--tinta)}
.btn-ghost:hover{background:var(--tinta);color:var(--papel)}
.btn-claro{background:var(--claro);color:var(--coral)}

.eyebrow{font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--coral);font-size:15px}

/* Nav */
.nav{display:flex;align-items:center;justify-content:space-between;padding:18px 0;border-bottom:2px dashed var(--tracejado);position:sticky;top:0;background:var(--papel);z-index:50}
.nav-logo{display:flex;align-items:center;gap:12px}
.nav-logo img{height:42px}
.nav-logo span{font-family:'Bricolage Grotesque',sans-serif;font-weight:800;font-size:24px;color:var(--tinta)}
.nav-logo span b{color:var(--coral)}
.nav-links{display:flex;gap:30px;font-weight:700;font-size:16px}
.nav-toggle{display:none;background:none;border:none;font-size:28px;color:var(--tinta);cursor:pointer}

/* Hero */
.hero{display:grid;grid-template-columns:1.1fr .9fr;gap:56px;align-items:center;padding:72px 24px}
.hero-copy{display:flex;flex-direction:column;gap:26px;align-items:flex-start}
.hero h1{font-size:clamp(40px,5vw,62px)}
.hero h1 em{color:var(--coral);font-style:normal}
.hero-sub{font-size:21px;color:var(--texto);max-width:540px}
.hero-ctas{display:flex;gap:16px;flex-wrap:wrap}
.hero-stats{display:flex;gap:36px;flex-wrap:wrap;padding-top:24px;border-top:2px dashed var(--tracejado)}
.hero-stats b{display:block;font-family:'Bricolage Grotesque',sans-serif;font-weight:800;font-size:24px;color:var(--verde)}
.hero-stats small{font-size:14px;color:var(--suave)}
.polaroid{background:#fff;padding:18px 18px 56px;box-shadow:0 20px 48px rgba(120,80,40,.28);transform:rotate(2deg)}
.polaroid img{display:block;width:100%;height:460px;object-fit:cover}
.hero-foto{position:relative}
.hero-selo{position:absolute;bottom:-18px;left:-22px;background:var(--verde);color:#fff;font-family:'Bricolage Grotesque',sans-serif;font-weight:800;font-size:18px;padding:14px 22px;border-radius:999px;transform:rotate(-3deg)}

/* Seções */
.secao{padding:72px 0}
.secao-alt{background:var(--papel2)}
.secao-head{text-align:center;display:flex;flex-direction:column;gap:12px;margin-bottom:44px}
.secao-head h2{font-size:clamp(32px,4vw,44px)}
.secao-head p{font-size:19px;color:var(--suave)}

/* O que fazemos */
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.card{background:var(--papel);border:2px dashed var(--tracejado2);border-radius:16px;padding:30px;display:flex;flex-direction:column;gap:10px}
.card h3{font-size:24px;color:var(--coral)}
.card-escuro{background:var(--tinta);border:none}
.card-escuro h3{color:var(--papel)}
.card-escuro p{color:var(--tracejado)}

/* Como funciona */
.passos{display:flex;gap:18px;justify-content:center;flex-wrap:wrap}
.passo{width:210px;display:flex;flex-direction:column;align-items:center;gap:14px;text-align:center}
.passo-n{width:64px;height:64px;border-radius:50%;color:#fff;font-family:'Bricolage Grotesque',sans-serif;font-weight:800;font-size:28px;display:flex;align-items:center;justify-content:center}
.passo:nth-child(odd) .passo-n{background:var(--coral)}
.passo:nth-child(even) .passo-n{background:var(--verde)}
.passo h3{font-size:19px}
.passo small{font-size:15px;color:var(--suave);line-height:1.4}

/* Trabalhos */
.galeria{display:grid;grid-template-columns:repeat(4,1fr);gap:26px}
.foto{background:#fff;padding:12px 12px 40px;box-shadow:0 12px 28px rgba(120,80,40,.2);transition:transform .2s ease}
.foto:hover{transform:scale(1.04) rotate(0deg) !important;z-index:2}
.foto img{display:block;width:100%;height:220px;object-fit:cover}
.foto figcaption{font-family:'Bricolage Grotesque',sans-serif;font-weight:600;font-size:15px;color:var(--texto);margin-top:12px;text-align:center}
.galeria-mais{display:flex;justify-content:center;margin-top:44px}

/* Depoimentos */
.depoimentos{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.depo{background:var(--papel);border:2px dashed var(--tracejado);border-radius:16px;padding:30px;display:flex;flex-direction:column;gap:16px}
.depo p{font-size:17px}
.depo footer{font-family:'Bricolage Grotesque',sans-serif;font-weight:800;font-size:16px;color:var(--coral)}
.depo footer span{font-family:'Karla',sans-serif;font-weight:400;color:var(--suave)}

/* Garantia */
.garantia{background:var(--verde);color:#fff;border-radius:24px;padding:48px 56px;display:flex;align-items:center;gap:28px;position:relative;overflow:hidden}
.garantia::before{content:"";position:absolute;inset:14px;border:2px dashed rgba(255,255,255,.45);border-radius:16px;pointer-events:none}
.garantia-icone{flex-shrink:0;width:64px;height:64px;border-radius:50%;background:#fff;color:var(--verde);display:flex;align-items:center;justify-content:center;font-size:34px;font-weight:800}
.garantia h2{color:#fff;font-size:clamp(26px,3vw,34px);margin-bottom:8px}
.garantia p{color:#E4F5F0;font-size:18px}

/* CTA */
.cta{background:var(--coral);border-radius:24px;padding:56px 64px;display:flex;align-items:center;justify-content:space-between;gap:32px;position:relative;overflow:hidden;flex-wrap:wrap}
.cta::before{content:"";position:absolute;inset:14px;border:2px dashed rgba(255,255,255,.45);border-radius:16px;pointer-events:none}
.cta h2{color:var(--claro);font-size:clamp(30px,4vw,42px)}
.cta p{color:#FFE3D4;font-size:20px;margin-top:10px}

/* Footer */
.footer{background:var(--tinta);color:var(--tracejado);padding:56px 0;margin-top:72px}
.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:48px}
.footer h3{color:var(--papel);font-size:17px;margin-bottom:12px}
.footer-marca{font-family:'Bricolage Grotesque',sans-serif;font-weight:800;font-size:28px;color:var(--papel)}
.footer-marca b{color:var(--coral)}
.footer ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:10px;font-size:15px}
.footer a{color:var(--tracejado)}
.footer a:hover{color:#fff}
.footer-base{border-top:1px solid #55493A;margin-top:44px;padding-top:24px;font-size:14px;color:#B5A88C;display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px}

/* Social icons */
.social-icons{display:flex;gap:16px;margin-top:18px}
.social-icons a{width:44px;height:44px;border-radius:50%;border:2px solid var(--tracejado);display:flex;align-items:center;justify-content:center;color:var(--tracejado);transition:background .2s,color .2s,border-color .2s}
.social-icons a:hover{background:var(--coral);border-color:var(--coral);color:#fff}

/* WhatsApp flutuante */
.zap{position:fixed;right:24px;bottom:24px;background:var(--verde);color:#fff;border-radius:999px;padding:16px 24px;font-family:'Bricolage Grotesque',sans-serif;font-weight:800;font-size:17px;box-shadow:0 10px 30px rgba(43,160,142,.4);z-index:60}
.zap:hover{background:#238a7a;color:#fff}

/* Reveal on scroll */
.reveal{opacity:0;transform:translateY(24px);transition:opacity .6s ease,transform .6s ease}
.reveal.on{opacity:1;transform:none}

@media (max-width:960px){
  .hero{grid-template-columns:1fr}
  .cards,.depoimentos{grid-template-columns:1fr 1fr}
  .galeria{grid-template-columns:1fr 1fr}
  .footer-grid{grid-template-columns:1fr 1fr}
  .garantia{padding:40px 36px}
  .nav-links{display:none;position:absolute;top:100%;left:0;right:0;background:var(--papel);flex-direction:column;padding:20px 24px;border-bottom:2px dashed var(--tracejado)}
  .nav-links.aberto{display:flex}
  .nav-toggle{display:block}
}
@media (max-width:600px){
  .cards,.depoimentos,.galeria,.footer-grid{grid-template-columns:1fr}
  .cta{padding:40px 28px}
  .garantia{padding:32px 24px;flex-direction:column;text-align:center}
}
