.elementor-875 .elementor-element.elementor-element-35f57ac{--display:flex;}/* Start custom CSS for html, class: .elementor-element-08219ad */@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@400;600;700&family=Poppins:wght@400;500;600&display=swap');

:root {
  --bg: #F7F1E7;
  --bg-alt: #F1E9DA;
  --ink: #33291F;
  --ink-soft: #6B5D4F;
  --accent: #A6512E;
  --accent-dark: #7C3B21;
  --accent-soft: #EADFCB;
  --moss: #5B6B4C;
  --moss-dark: #45523A;
  --cream: #FBF6EE;
  --line: #D9C9AE;
  --whatsapp: #61CE70;
  --whatsapp-dark: #4EB55D;
  --font-display: 'Montserrat', sans-serif !important;
  --font-body: 'Poppins', sans-serif !important;

  --gutter: clamp(20px, 5vw, 64px);
  --max: 1160px;
}

*{ box-sizing: border-box; }
html{ scroll-behavior: smooth; scroll-padding-top: 90px; }

html, body{
  overflow-x: hidden;
  max-width: 100vw;
}

body::before{
  content: "";
  position: fixed;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  opacity: 0.07;
  mix-blend-mode: multiply;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='220' height='220'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix type='matrix' values='0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
  background-size: 220px 220px;
}

body{
  margin: 0;
  background: var(--bg);
  color: var(--ink);
  font-family: var(--font-body);
  font-size: 17px;
  line-height: 1.7;
}

h1,h2,h3{ font-family: var(--font-display); font-weight: 600; color: var(--ink); margin: 0; }
p{ color: var(--ink-soft); margin: 0 0 16px; }
p:last-child{ margin-bottom: 0; }
ul{ margin:0; padding:0; list-style:none; }
a{ color: inherit; }
img, svg{ display:block; max-width:100%; }

.wrap{ max-width: var(--max); margin: 0 auto; padding: 0 var(--gutter); }
.eyebrow{ font-family: var(--font-body); font-weight: 700; font-size: 0.7em; letter-spacing: 0.06em; text-transform: uppercase; color: #31281E; margin: 0 0 18px; }

/* ---------- buttons ---------- */
.btn{
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-family: var(--font-body);
  font-weight: 700;
  font-size: 15px;
  text-decoration: none;
  padding: 13px 24px;
  border-radius: 6px;
  border: 1.5px solid transparent;
  white-space: nowrap;
  cursor: pointer;
  transition: background 0.2s ease, border-color 0.2s ease, transform 0.15s ease;
}
.btn:active{ transform: scale(0.98); }
.btn--primary{ background: var(--whatsapp); color: #FFFFFF; }
.btn--primary:hover{ background: var(--accent-dark); color:#ffffff; }
.btn--ghost{ background: transparent; border-color: var(--ink); color: var(--ink); }
.btn--ghost:hover{ background: var(--ink); color: var(--bg); }
.btn--light{ background: var(--cream); color: var(--moss-dark); }
.btn--light:hover{ background: #fff; }
.btn--lg{ padding: 17px 34px; font-size: 16px; }

.side-nav{ display:none; }
@media (min-width: 1280px){
  .side-nav{
    display:flex; flex-direction:column; gap: 14px;
    position: fixed; left: 2px; top: 50%; transform: translateY(-50%);
    z-index: 30;
  }
  .side-nav a{
    display:flex; align-items:center; gap:5px;
    font-size: 9px; text-decoration:none;
    transition: color 0.2s ease, background-color 0.2s ease;
    background-color: #F7F1E7;
    padding: 6px 10px;
    border-radius: 999px;
  }
  .side-nav a .dot{
    width:6px; height:6px; border-radius:50%;
    background: rgba(166,81,46,0.55);
    flex-shrink:0;
    transition: background 0.2s ease, transform 0.2s ease;
  }
  .side-nav a span.label{
    color: rgba(166,81,46,0.7);       /* laranja, igual o dot normal */
    white-space:nowrap;
    transition: color 0.2s ease;
  }
  .side-nav a:hover .dot,
  .side-nav a.active .dot{
    background: var(--accent-dark);
    transform: scale(1.4);
  }
  .side-nav a:hover span.label,
  .side-nav a.active span.label{
    color: var(--accent-dark);         /* vermelho/terracota escuro, igual o dot ativo */
  }
}

/* ---------- sections ---------- */
section{ padding: 76px 0 !important; border-bottom: 1px solid var(--line); }
section:last-of-type{ border-bottom:none; }

@media (max-width:800px){
  section{ padding: 46px 0 !important; border-bottom: 1px solid var(--line); }
}

/* photo placeholder */
.photo-placeholder{
  position: relative;
  display: block;
  padding: 0;
  z-index: 1;
  border-radius: 6px;
  color: var(--accent); font-size:13px; text-align:center;
}
.photo-placeholder img{
  position: relative;
  z-index: 2;
  border-radius: 6px;
  width: 100%;
  display: block;
}
.photo-placeholder::before{
  content: "";
  position: absolute;
  top: 0; left: 0;
  width: 100%; height: 100%;
  border-radius: 6px;
  z-index: 1;
}

#hero .photo-placeholder::before{ background-color: var(--line); transform: translate(18px, 18px); }
#diferencial .photo-placeholder::before{ background-color: rgba(166, 81, 46, 0.2); transform: translate(-18px, -18px); }
#trajetoria .photo-placeholder::before{ background-color: var(--accent-soft); transform: translate(-18px, 18px); }
#localizacao .photo-placeholder::before{ background-color: rgba(91, 107, 76, 0.3); transform: translate(18px, -18px); }

@media (max-width: 600px){
  #hero .photo-placeholder::before,
  #diferencial .photo-placeholder::before,
  #trajetoria .photo-placeholder::before,
  #localizacao .photo-placeholder::before{
    transform: translate(0, 0);
  }
}

/* ---------- hero ---------- */
.hero{ padding-top: 72px; }
.hero-grid{ display:grid; grid-template-columns: 1fr; gap:44px; align-items:center; }
@media (min-width: 900px){ .hero-grid{ grid-template-columns: 1.1fr 0.9fr; gap:56px; } }
.hero h1{ font-size: clamp(30px, 4vw, 38px); line-height:1.18; margin-bottom: 20px; color: #57467B; }
.hero > .wrap > .hero-grid > div:first-child p{ font-size:18px; max-width:48ch; }
.hero-actions{ display:flex; flex-wrap:wrap; gap:14px; margin: 26px 0 28px; }
.credential-list{ display:flex; flex-wrap:wrap; gap: 8px 18px; }
.credential-list li{ font-size:14px; color: var(--ink-soft); padding-left:18px; position:relative; }
.credential-list li::before{ content:"✓"; position:absolute; left:0; color: var(--moss); font-weight:700; }
.hero .photo-placeholder{ aspect-ratio: 3/4; }

/* ---------- atendimentos ---------- */
.cards-grid{ display:grid; grid-template-columns: 1fr; gap:24px; margin-top: 40px; }
@media (min-width: 700px){ .cards-grid{ grid-template-columns: 1fr 1fr; } }
.card{ background: var(--bg-alt); border-radius: 10px; padding: 28px 26px; }
.card-top{
  display:flex;
  flex-wrap: wrap;           
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-bottom:12px;
}
.card-top h3{
  font-size:19px;
  flex: 1 1 200px;           
  min-width: 0;              
}
.tag{
  font-size:11px; font-weight:700; text-transform:uppercase; letter-spacing:0.04em;
  color: var(--moss-dark); background: rgba(91,107,76,0.14);
  padding:5px 10px; border-radius: 999px; white-space:nowrap;
  flex-shrink: 0;            
}
.card p{ font-size:15px; margin-bottom:14px; }
.card ul li{ font-size:14px; color: var(--ink-soft); padding: 6px 0 6px 18px; border-left: 2px solid var(--line); margin-bottom:4px; }


.bg-sand{ background: var(--bg); }
.bg-white{ background: #FFFFFF; }
.dark-section{ background: var(--moss); color: var(--cream); border-bottom:none; }
.dark-section .eyebrow{ color: #CFE0BE; }
.dark-section h2, .dark-section h3{ color: var(--cream); }
.dark-section p{ color: rgba(251,246,238,0.85); }
.dark-section .photo-placeholder{ border-color: rgba(255,255,255,0.5); color: var(--cream); }
.dark-section details{ border-color: rgba(251,246,238,0.3); }
.dark-section summary{ color: var(--cream); }
.dark-section details p{ color: rgba(251,246,238,0.85); }

/* ---------- diferencial (faixa) layout ---------- */
.diferencial h2{ font-size: clamp(26px,3.4vw,42px); margin-bottom:18px; }
.diferencial p{ max-width:60ch; font-size:17px; }
.diferencial-grid{ display:grid; grid-template-columns:1fr; gap:36px; align-items:center; }
@media (min-width:900px){
  .diferencial-grid{ grid-template-columns: 1.0fr 1.0fr; }
  .diferencial-grid > div:first-child{ order:2; }
  .diferencial-grid > .photo-placeholder{ order:1; }
}

/* ---------- trajetoria ---------- */
.trajetoria-intro{ max-width:60ch; margin-bottom:44px; }
.timeline{ position:relative; padding-left: 28px; border-left: 2px solid var(--accent); display:flex; flex-direction:column; gap:34px; }
.timeline-item{ position:relative; }
.timeline-item::before{ content:""; position:absolute; left:-34px; top:4px; width:12px; height:12px; border-radius:50%; background: var(--accent); border:3px solid var(--bg); }
.timeline-item .marker{ font-size:12px; font-weight:700; letter-spacing:0.04em; text-transform:uppercase; color: var(--accent); margin-bottom:6px; display:block; }
.timeline-item h3{ font-size:18px; margin-bottom:6px; }
.timeline-item p{ font-size:15px; max-width:56ch; }
.trajetoria-grid{ display:grid; grid-template-columns:1fr; gap:40px; align-items:start; }
@media (min-width:900px){ .trajetoria-grid{ grid-template-columns: 1.15fr 0.85fr; align-items:center; gap:56px; } }
.trajetoria-photo{ aspect-ratio: 3/4; }

/* ---------- como funciona ---------- */
.steps-grid{ display:grid; grid-template-columns:1fr; gap:28px; margin-top:40px; }
@media (min-width:700px){ .steps-grid{ grid-template-columns:repeat(2,1fr); } }
@media (min-width:1000px){ .steps-grid{ grid-template-columns:repeat(3,1fr); } }
.step{ background: var(--bg-alt); border-radius: 10px; padding: 26px 24px; }
.step-num{ font-family: var(--font-display); font-size:32px; font-weight:600; color: var(--accent-soft); -webkit-text-stroke: 1.3px var(--accent); color: transparent; margin-bottom:12px; display:block; }
.step h3{ font-size:16px; margin-bottom:8px; }
.step p{ font-size:14px; }

/* ---------- faq ---------- */
details{ border-bottom:1px solid var(--line); padding: 18px 0; }
details:first-of-type{ border-top:1px solid var(--line); }
summary{
  cursor:pointer; font-family: var(--font-display); font-weight:500; font-size:18px;
  list-style:none; display:flex !important; justify-content:space-between;
  align-items:center; gap:16px; width:100%;
}
summary::after{
  content:"+"; font-family: var(--font-body); font-size:22px;
  font-weight:800; color:#FFFFFF; flex-shrink:0; margin-left:auto;
}
summary::-webkit-details-marker{ display:none; }
details[open] summary::after{ content:"–"; }
details p{ margin-top:14px; max-width:90%; font-size:15px; }



/* ---------- localizacao ---------- */
.local-grid{ display:grid; grid-template-columns:1fr; gap:40px; align-items:center; }
@media (min-width:900px){ .local-grid{ grid-template-columns:1fr 1fr; } }
.local-actions{ display:flex; flex-wrap:wrap; gap:14px; margin-top: 22px; }
.local-note{ font-size:14px; color: var(--ink-soft); margin-top:16px; }
.localizacao .photo-placeholder{ aspect-ratio:4/2; }

/* ---------- cta final ---------- */
.cta-final{ text-align:center; }
.cta-final .wrap{ max-width:740px; }
.cta-final h2{font-size: clamp(26px,3.4vw,34px); margin-bottom:16px; }
.cta-final h2 {
  color: #A6512E !important;
}
.cta-final .btn{ margin-top: 8px; }
@media (max-width:800px){
  .cta-final .btn{
    margin-top: 16px;
    margin-left: auto;
    margin-right: auto;
    display: flex;
    width: fit-content;
    max-width: 100%;
    justify-content: center;
    text-align: center;
    white-space: normal;
  }
}

/* ---------- animations ---------- */
.reveal{ opacity:0; transform: translateY(16px); transition: opacity 0.6s ease, transform 0.6s ease; }
.reveal.in-view{ opacity:1; transform:none; }

.load-in{ animation: loadIn 0.7s ease both; }
.load-in.d1{ animation-delay: 0.08s; }
.load-in.d2{ animation-delay: 0.16s; }
.load-in.d3{ animation-delay: 0.24s; }
@keyframes loadIn{ from{ opacity:0; transform: translateY(14px); } to{ opacity:1; transform:none; } }

@media (prefers-reduced-motion: reduce){
  html{ scroll-behavior:auto; }
  .reveal{ opacity:1; transform:none; transition:none; }
  .load-in{ animation:none; opacity:1; transform:none; }
}

.ast-container, .ast-container-fluid {
  padding-left: 0;
  padding-right: 0;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-4a2c839 *//* garante que não vai surgir barra horizontal */
html, body { overflow-x: hidden; }

.btn-whatsapp{
  position: fixed;
  right: 20px;
  bottom: 20px;
  z-index: 9999;

  background-color: rgb(37, 211, 102);
  width: 60px;
  height: 60px;
  border-radius: 50%;

  display: flex;
  align-items: center;
  justify-content: center;

  color: #fff;
  font-size: 28px;
  text-decoration: none;
}

.btn-whatsapp:before,
.btn-whatsapp:after{
  content: '';
  position: absolute;
  border-radius: 50%;
  border: 1px solid #25d366;
  inset: -20px;              /* no lugar de left/right/top/bottom */
  animation: animate 1.5s linear infinite;
  opacity: 0;
  pointer-events: none;
}

.pulsaDelay:after{ animation-delay: 0.5s; }

@keyframes animate{
  0%{ transform: scale(0.5); opacity: 0; }
  50%{ opacity: 1; }
  100%{ transform: scale(1.2); opacity: 0; }
}/* End custom CSS */