:root{
  --bg:#0a0a0c;
  --surface:#18191c;
  --surface-2:#212226;
  --border:#2c2d32;
  --text:#f4f4f5;
  --text-muted:#a3a4ab;
  --accent:#d9812f;
  --accent-2:#f0a04b;
  --wa:#17823f;
  --wa-dark:#126832;
  --radius:14px;
  --maxw:1180px;
  font-size:16px;
}
*{box-sizing:border-box; margin:0; padding:0;}
html{scroll-behavior:smooth;}
body{
  background:var(--bg);
  color:var(--text);
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  line-height:1.5;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
img{max-width:100%; display:block;}
a{color:inherit; text-decoration:none;}
.wrap{max-width:var(--maxw); margin:0 auto; padding:0 20px;}
section{padding:64px 0;}
h1,h2,h3{font-weight:800; letter-spacing:-0.02em;}
h2{font-size:clamp(1.6rem,3.2vw,2.4rem); margin-bottom:10px;}
.eyebrow{
  display:inline-flex; align-items:center; gap:6px;
  color:var(--accent-2); font-weight:700; font-size:.78rem;
  letter-spacing:.08em; text-transform:uppercase; margin-bottom:10px;
}
.section-sub{color:var(--text-muted); max-width:640px; margin-bottom:36px; font-size:1rem;}
.center{text-align:center; margin-left:auto; margin-right:auto;}

/* ---------- BREADCRUMB / VOLTAR ---------- */
.breadcrumb{padding:16px 0 0;}
.back-link{display:inline-flex; align-items:center; gap:6px; color:var(--accent-2); font-weight:600; font-size:.85rem;}
.back-link svg{flex-shrink:0; transition:transform .15s ease;}
.back-link:hover{text-decoration:underline;}
.back-link:hover svg{transform:translateX(-3px);}

/* ---------- BUTTONS ---------- */
.btn{
  display:inline-flex; align-items:center; justify-content:center; gap:8px;
  padding:15px 26px; border-radius:999px; font-weight:700; font-size:.98rem;
  border:none; cursor:pointer; white-space:nowrap; transition:transform .15s ease, box-shadow .15s ease, filter .15s ease;
}
.btn svg{flex-shrink:0;}
.btn:active{transform:scale(.97);}
.btn-wa{
  background:var(--wa); color:#fff;
  box-shadow:0 6px 24px rgba(37,211,102,.35);
}
.btn-wa:hover{filter:brightness(1.08); box-shadow:0 8px 30px rgba(37,211,102,.5);}
.btn-ghost{
  background:transparent; color:var(--text); border:1.5px solid var(--border);
}
.btn-ghost:hover{border-color:var(--accent);}
.btn-block{width:100%;}
.btn-sm{padding:10px 18px; font-size:.85rem;}
.pulse{animation:pulse 2.2s infinite;}
@keyframes pulse{
  0%{box-shadow:0 0 0 0 rgba(37,211,102,.55);}
  70%{box-shadow:0 0 0 14px rgba(37,211,102,0);}
  100%{box-shadow:0 0 0 0 rgba(37,211,102,0);}
}
.cta-note{font-size:.78rem; color:var(--text-muted); margin-top:8px;}

/* ---------- HEADER ---------- */
header{
  position:sticky; top:0; z-index:100;
  background:rgba(10,10,12,.88); backdrop-filter:blur(10px);
  border-bottom:1px solid var(--border);
}
header .wrap{display:flex; align-items:center; justify-content:space-between; padding:12px 20px; gap:16px;}
header .logo-link{flex-shrink:0; display:flex; align-items:center; min-width:0;}
header img.logo{height:34px; width:auto; max-width:100%;}
header .wrap > div{flex-shrink:0;}
@media (max-width:480px){
  header .wrap{padding:10px 14px; gap:8px;}
  header img.logo{height:22px;}
  header .btn-sm{padding:10px; gap:0;}
  header .btn-sm svg{width:18px; height:18px;}
  header .btn-sm .btn-label{display:none;}
}

/* ---------- HERO (base, compartilhado) ---------- */
.hero{
  position:relative; padding:56px 0 60px;
}
.hero-badges{display:flex; flex-wrap:wrap; gap:10px; margin-bottom:18px;}
.badge{
  display:inline-flex; align-items:center; gap:6px;
  background:rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.14);
  padding:7px 14px; border-radius:999px; font-size:.8rem; font-weight:700; color:var(--text);
}
.badge svg{color:var(--accent-2);}
.hero h1{font-size:clamp(2rem,4.2vw,2.9rem); margin-bottom:16px;}
.hero h1 span{color:var(--accent-2);}
.hero p.lead{font-size:1.05rem; color:var(--text-muted); margin-bottom:28px;}
.hero-ctas{display:flex; flex-wrap:wrap; gap:14px; align-items:flex-start;}
.hero-ctas .btn{font-size:1.05rem; padding:17px 30px;}

/* ---------- HERO: variante full-bleed (Home) ---------- */
.hero-full{
  background-size:cover; background-position:center 30%; background-repeat:no-repeat;
}
.hero-full::before{
  content:''; position:absolute; inset:0;
  background:linear-gradient(180deg, rgba(10,10,12,.35) 0%, rgba(10,10,12,.92) 78%, var(--bg) 100%);
  z-index:1;
}
.hero-full .wrap{position:relative; z-index:2;}
.hero-full h1{max-width:760px;}
.hero-full p.lead{color:#dcdde1; max-width:600px;}

/* ---------- HERO: variante com foto integrada ao fundo (páginas de serviço) ---------- */
.hero-split{
  position:relative; overflow:hidden;
  min-height:560px; display:flex; align-items:center; padding:64px 0;
}
.hero-split .wrap{width:100%;}
.hero-split .wrap > div:first-child{position:relative; z-index:2; max-width:520px;}
.hero-split .badge{background:var(--surface); border-color:var(--border);}
.hero-media{
  position:absolute; top:0; right:0; bottom:0; left:54%;
  border-radius:0; border:none; box-shadow:none; overflow:hidden;
}
.hero-media::after{
  content:''; position:absolute; inset:0; pointer-events:none;
  background:
    linear-gradient(90deg, var(--bg) 0%, rgba(10,10,12,.78) 16%, rgba(10,10,12,0) 46%),
    linear-gradient(180deg, var(--bg) 0%, rgba(10,10,12,0) 26%, rgba(10,10,12,0) 74%, var(--bg) 100%);
}
.hero-media img{width:100%; height:100%; object-fit:cover; display:block;}
@media (max-width:1024px){
  .hero-split{min-height:480px;}
  .hero-media{left:46%;}
}
@media (max-width:880px){
  .hero-split{min-height:0; display:block; padding:40px 0 0;}
  .hero-split .wrap > div:first-child{max-width:none;}
  .hero-media{
    position:relative; left:0; right:0; top:0; bottom:0;
    height:260px; margin-top:26px; border-radius:var(--radius);
  }
  .hero-media::after{background:linear-gradient(180deg, var(--bg) 0%, rgba(10,10,12,.5) 22%, rgba(10,10,12,0) 55%);}
}

/* ---------- TRUST STRIP ---------- */
.trust-strip{padding:26px 0; border-top:1px solid var(--border); border-bottom:1px solid var(--border); background:var(--surface);}
.trust-strip .wrap{display:grid; grid-template-columns:repeat(4,1fr); gap:20px;}
@media (max-width:800px){ .trust-strip .wrap{grid-template-columns:repeat(2,1fr);} }
.trust-item{display:flex; align-items:center; gap:12px;}
.trust-item .ic{
  width:42px; height:42px; border-radius:10px; background:rgba(217,129,47,.14);
  display:flex; align-items:center; justify-content:center; color:var(--accent-2); flex-shrink:0;
}
.trust-item strong{display:block; font-size:.88rem;}
.trust-item small{color:var(--text-muted); font-size:.76rem;}

/* ---------- PARCEIROS ---------- */
.partners{
  display:flex; align-items:center; gap:26px; flex-wrap:wrap;
  background:var(--surface-2); border:1px solid var(--border); border-radius:var(--radius);
  padding:26px 30px;
}
.partners img{height:34px; width:auto; flex-shrink:0;}
.partners p{color:var(--text-muted); font-size:.9rem; max-width:560px; margin:0;}
.partners strong{color:var(--text);}

/* ---------- SERVICE OVERVIEW CARDS ---------- */
.cards2{display:grid; grid-template-columns:repeat(auto-fit, minmax(260px, 1fr)); gap:24px; align-items:stretch;}
@media (max-width:640px){ .cards2{grid-template-columns:1fr;} }
.svc-card{
  background:var(--surface); border:1px solid var(--border); border-radius:var(--radius);
  overflow:hidden; display:flex; flex-direction:column; transition:transform .2s ease, border-color .2s ease;
}
.svc-card:hover{transform:translateY(-4px); border-color:var(--accent);}
.svc-card img{height:220px; object-fit:cover; width:100%;}
.svc-card .body{padding:22px; display:flex; flex-direction:column; gap:12px; flex:1;}
.svc-card h3{font-size:1.25rem;}
.svc-card ul{list-style:none; display:flex; flex-direction:column; gap:7px; color:var(--text-muted); font-size:.9rem; flex:1;}
.svc-card ul li{display:flex; gap:8px; align-items:flex-start;}
.svc-card ul li svg{flex-shrink:0; margin-top:3px; color:var(--accent-2);}

/* ---------- DETAIL BLOCK (página de serviço) ---------- */
.detail-block{
  display:grid; grid-template-columns:1fr 1fr; gap:36px; align-items:start;
  background:var(--surface); border:1px solid var(--border); border-radius:var(--radius); padding:32px;
}
@media (max-width:820px){ .detail-block{grid-template-columns:1fr; padding:22px;} }
.detail-block img{border-radius:12px; width:100%; height:320px; object-fit:cover;}
.detail-block h3{font-size:1.5rem; margin-bottom:10px;}
.detail-block .desc{color:var(--text-muted); margin-bottom:20px; font-size:.96rem;}
.tier-list{display:flex; flex-direction:column; gap:10px; margin-bottom:24px;}
.tier{
  background:var(--surface-2); border:1px solid var(--border); border-radius:10px; padding:13px 16px;
  display:flex; gap:12px; align-items:flex-start;
}
.tier .dot{width:8px; height:8px; border-radius:50%; background:var(--accent); margin-top:6px; flex-shrink:0;}
.tier strong{font-size:.92rem;}
.tier span{display:block; color:var(--text-muted); font-size:.84rem; margin-top:2px;}
.mini-facts{display:flex; flex-wrap:wrap; gap:14px; margin-bottom:22px; color:var(--text-muted); font-size:.85rem;}
.mini-facts div{display:flex; align-items:center; gap:6px;}
.mini-facts svg{color:var(--accent-2);}

/* ---------- CROSS-SELL ---------- */
.crosssell{
  display:flex; align-items:center; justify-content:space-between; gap:20px; flex-wrap:wrap;
  background:linear-gradient(135deg, rgba(217,129,47,.14), rgba(217,129,47,.03));
  border:1px solid var(--border); border-radius:var(--radius); padding:24px 28px;
}
.crosssell p{color:var(--text-muted); font-size:.92rem; max-width:520px;}
.crosssell strong{display:block; font-size:1.05rem; margin-bottom:4px;}

/* ---------- SEÇÃO ALTERNADA (ritmo visual) ---------- */
.section-alt{
  background:var(--surface);
  border-top:1px solid var(--border);
  border-bottom:1px solid var(--border);
}

/* ---------- CTA INTERMEDIÁRIO ---------- */
.inline-cta{
  display:flex; align-items:center; justify-content:space-between; gap:20px; flex-wrap:wrap;
  background:radial-gradient(circle at 15% 30%, rgba(37,211,102,.14), transparent 60%), var(--surface);
  border:1px solid var(--border); border-radius:var(--radius); padding:28px 32px;
}
.inline-cta p{color:var(--text-muted); font-size:.9rem; max-width:460px; margin:0;}
.inline-cta strong{display:block; font-size:1.1rem; margin-bottom:4px;}

/* ---------- GALLERY ---------- */
.gallery-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:12px;}
@media (max-width:760px){ .gallery-grid{grid-template-columns:repeat(2,1fr);} }
.gallery-grid img{
  width:100%; height:150px; object-fit:cover; border-radius:10px; border:1px solid var(--border);
  transition:transform .25s ease;
}
.gallery-grid img:hover{transform:scale(1.04);}

/* ---------- TESTIMONIALS CAROUSEL ---------- */
.testi-carousel{display:flex; align-items:center; gap:14px;}
.testi-viewport{flex:1; overflow:hidden; border-radius:var(--radius);}
.testi-track{display:flex; transition:transform .5s cubic-bezier(.4,0,.2,1);}
.testi-slide{flex:0 0 100%; display:flex; justify-content:center; align-items:flex-start; padding:4px;}
.testi-slide img{
  max-width:100%; height:auto; border-radius:12px; background:#fff;
  box-shadow:0 10px 30px rgba(0,0,0,.4);
}
.testi-arrow{
  flex-shrink:0; width:44px; height:44px; border-radius:50%;
  background:var(--surface-2); border:1px solid var(--border); color:var(--text);
  display:flex; align-items:center; justify-content:center; cursor:pointer; transition:border-color .15s ease, transform .15s ease;
}
.testi-arrow:hover{border-color:var(--accent); transform:scale(1.06);}
.testi-arrow:active{transform:scale(.95);}
.testi-dots{display:flex; justify-content:center; gap:8px; margin-top:20px;}
.testi-dot{width:8px; height:8px; border-radius:50%; background:var(--border); border:none; cursor:pointer; padding:0; transition:background .2s ease, transform .2s ease;}
.testi-dot.active{background:var(--accent-2); transform:scale(1.25);}
@media (max-width:560px){
  .testi-carousel{gap:8px;}
  .testi-arrow{width:36px; height:36px;}
}

/* ---------- ABOUT ---------- */
.about{display:grid; grid-template-columns:1fr 1.1fr; gap:40px; align-items:center;}
@media (max-width:820px){ .about{grid-template-columns:1fr;} }
.about-stat{display:flex; gap:22px; margin-top:22px; flex-wrap:wrap;}
.about-stat div strong{display:block; font-size:1.8rem; color:var(--accent-2);}
.about-stat div small{color:var(--text-muted); font-size:.8rem;}

/* ---------- FAQ ---------- */
.faq-item{border-bottom:1px solid var(--border);}
.faq-q{
  width:100%; text-align:left; background:none; border:none; color:var(--text);
  padding:18px 4px; font-weight:700; font-size:1rem; cursor:pointer;
  display:flex; justify-content:space-between; align-items:center; gap:16px;
}
.faq-q svg{transition:transform .25s ease; flex-shrink:0; color:var(--accent-2);}
.faq-item.open .faq-q svg{transform:rotate(45deg);}
.faq-a{max-height:0; overflow:hidden; transition:max-height .3s ease;}
.faq-item.open .faq-a{max-height:220px;}
.faq-a p{color:var(--text-muted); padding:0 4px 18px; font-size:.92rem;}

/* ---------- LOCATION ---------- */
.loc{display:grid; grid-template-columns:1fr 1fr; gap:28px; align-items:stretch;}
@media (max-width:820px){ .loc{grid-template-columns:1fr;} }
.loc-info{background:var(--surface); border:1px solid var(--border); border-radius:var(--radius); padding:28px; display:flex; flex-direction:column; gap:18px;}
.loc-row{display:flex; gap:14px; align-items:flex-start;}
.loc-row .ic{width:38px; height:38px; border-radius:9px; background:rgba(217,129,47,.14); display:flex; align-items:center; justify-content:center; color:var(--accent-2); flex-shrink:0;}
.loc-row strong{display:block; font-size:.9rem;}
.loc-row span{color:var(--text-muted); font-size:.86rem;}
.loc iframe{width:100%; height:100%; min-height:280px; border:0; border-radius:var(--radius);}

/* ---------- FINAL CTA ---------- */
.final-cta{
  text-align:center; border-radius:var(--radius);
  background:radial-gradient(circle at 30% 20%, rgba(217,129,47,.25), transparent 60%), var(--surface);
  border:1px solid var(--border); padding:56px 24px;
}
.final-cta h2{margin-bottom:8px;}
.final-cta p{color:var(--text-muted); margin-bottom:26px;}

/* ---------- FOOTER ---------- */
footer{padding:36px 0; border-top:1px solid var(--border); color:var(--text-muted); font-size:.82rem;}
.foot-row{display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:14px;}
.foot-social{display:flex; gap:12px;}
.foot-social a{width:36px; height:36px; border-radius:50%; border:1px solid var(--border); display:flex; align-items:center; justify-content:center; transition:border-color .2s;}
.foot-social a:hover{border-color:var(--accent);}

/* ---------- FLOATING WHATSAPP ---------- */
.float-wa{
  position:fixed; right:20px; bottom:24px; z-index:200;
  width:58px; height:58px; border-radius:50%; background:var(--wa);
  display:flex; align-items:center; justify-content:center;
  box-shadow:0 8px 26px rgba(37,211,102,.45); color:#fff;
}
@media (max-width:480px){ .float-wa{right:16px; bottom:16px; width:52px; height:52px;} }
