/* Start custom CSS */@import url('https://fonts.googleapis.com/css2?family=Funnel+Display:wght@300;400;500;600;700;800&display=swap');

/* Scroll suave (igual ao Next) */
html { scroll-behavior: smooth; interpolate-size: allow-keywords; }
body { overflow-x: clip; }

/* Reveal (copia do ScrollReveal do Next): .sr-up/.sr-left/.sr-right/.sr-scale/.sr-fade, stagger .sr-d1..d3. O script do widget HTML poe .sr-js no html e .sr-in em cada item. */
html.sr-js .sr-up, html.sr-js .sr-left, html.sr-js .sr-right,
html.sr-js .sr-scale, html.sr-js .sr-fade {
  opacity: 0;
  will-change: opacity, filter, transform;
  transition: opacity .95s cubic-bezier(.16,1,.3,1),
              filter .95s cubic-bezier(.16,1,.3,1),
              transform .95s cubic-bezier(.16,1,.3,1);
}
html.sr-js .sr-up    { filter: blur(12px); transform: translateY(36px); }
html.sr-js .sr-left  { filter: blur(12px); transform: translateX(-60px); }
html.sr-js .sr-right { filter: blur(12px); transform: translateX(60px); }
html.sr-js .sr-scale { filter: blur(8px);  transform: scale(.88) translateY(20px); }
html.sr-js .sr-fade  { filter: blur(5px); }
html.sr-js .sr-d1 { transition-delay: .1s; }
html.sr-js .sr-d2 { transition-delay: .2s; }
html.sr-js .sr-d3 { transition-delay: .3s; }
html.sr-js .sr-up.sr-in, html.sr-js .sr-left.sr-in, html.sr-js .sr-right.sr-in,
html.sr-js .sr-scale.sr-in { opacity: 1; filter: none; transform: none; }
html.sr-js .sr-fade.sr-in { opacity: 1; filter: none; }
@media (max-width: 767px) {
  html.sr-js .sr-left  { transform: translateX(-28px); }
  html.sr-js .sr-right { transform: translateX(28px); }
}

/* Fallback sem script: mesma animacao guiada pelo scroll (Chrome/Edge/Safari) */
@supports (animation-timeline: view()) {
  @keyframes sr-up    { from { opacity: 0; filter: blur(12px); transform: translateY(36px); } }
  @keyframes sr-left  { from { opacity: 0; filter: blur(12px); transform: translateX(-40px); } }
  @keyframes sr-right { from { opacity: 0; filter: blur(12px); transform: translateX(40px); } }
  @keyframes sr-scale { from { opacity: 0; filter: blur(8px);  transform: scale(.88) translateY(20px); } }
  @keyframes sr-fade  { from { opacity: 0; filter: blur(5px); } }
  html:not(.sr-js) .sr-up, html:not(.sr-js) .sr-left, html:not(.sr-js) .sr-right,
  html:not(.sr-js) .sr-scale, html:not(.sr-js) .sr-fade {
    animation-timing-function: cubic-bezier(.16,1,.3,1);
    animation-fill-mode: both;
    animation-timeline: view();
    animation-range: entry 0% cover 30%;
  }
  html:not(.sr-js) .sr-up    { animation-name: sr-up; }
  html:not(.sr-js) .sr-left  { animation-name: sr-left; }
  html:not(.sr-js) .sr-right { animation-name: sr-right; }
  html:not(.sr-js) .sr-scale { animation-name: sr-scale; }
  html:not(.sr-js) .sr-fade  { animation-name: sr-fade; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  html.sr-js .sr-up, html.sr-js .sr-left, html.sr-js .sr-right,
  html.sr-js .sr-scale, html.sr-js .sr-fade { opacity: 1 !important; filter: none !important; transform: none !important; transition: none !important; }
  html:not(.sr-js) .sr-up, html:not(.sr-js) .sr-left, html:not(.sr-js) .sr-right,
  html:not(.sr-js) .sr-scale, html:not(.sr-js) .sr-fade { animation: none !important; }
}

/* FAQ sanfona (details/summary nativo do Elementor) */
.sd-acc-item > summary { list-style: none; }
.sd-acc-item > summary::-webkit-details-marker { display: none; }
.sd-acc-item::details-content {
  block-size: 0;
  overflow: hidden;
  transition: block-size .6s cubic-bezier(.16,1,.3,1), content-visibility .6s allow-discrete;
}
.sd-acc-item[open]::details-content { block-size: auto; }
.sd-acc-item .sd-faq-a {
  opacity: 0; filter: blur(6px); transform: translateY(-8px);
  transition: opacity .6s cubic-bezier(.16,1,.3,1), filter .6s cubic-bezier(.16,1,.3,1), transform .6s cubic-bezier(.16,1,.3,1);
}
.sd-acc-item[open] .sd-faq-a { opacity: 1; filter: none; transform: none; }
.sd-acc-item[open] .sd-faq-qt { font-weight: 700; }
.sd-acc-item .sd-faq-icon { display: inline-block; transition: transform .45s cubic-bezier(.16,1,.3,1); }
.sd-acc-item[open] .sd-faq-icon { transform: rotate(45deg); }

/* Carrosseis automaticos (marquee infinito, pausa no hover). Cada trilho tem os itens duplicados; andar -50% = exatamente uma volta. Velocidades do Next: modulos 0.22px/ms, depoimentos 0.18px/ms. */
.sd-marquee-view {
  -webkit-mask-image: linear-gradient(to right, transparent 0%, #000 9%, #000 91%, transparent 100%);
          mask-image: linear-gradient(to right, transparent 0%, #000 9%, #000 91%, transparent 100%);
}
.sd-marquee-track { animation: sd-marquee 10s linear infinite; }
.sd-marquee-track.sd-marquee-mod { animation-duration: 9.9s; }
.sd-marquee-track.sd-marquee-fb  { animation-duration: 6.75s; }
@media (max-width: 767px) {
  .sd-marquee-track.sd-marquee-mod { animation-duration: 7.75s; }
}
.sd-marquee-view:hover .sd-marquee-track { animation-play-state: paused; }
@keyframes sd-marquee { from { transform: translateX(0); } to { transform: translateX(-50%); } }
@media (prefers-reduced-motion: reduce) {
  .sd-marquee-track { animation: none; }
  .sd-marquee-view { overflow-x: auto; }
}/* End custom CSS */