/*
 * Ritmo vertical da versão estática.
 * Escala responsiva:
 * - desktop: 72px para seções regulares / 48px entre blocos consecutivos brancos
 * - tablet: 56px
 * - mobile: 40px
 *
 * Margens grandes/negativas usadas em composições sobrepostas do layout original
 * são preservadas para não alterar a identidade visual.
 */

:root {
  --section-space-desktop: 72px;
  --section-space-tablet: 56px;
  --section-space-mobile: 40px;
  --section-space-tight-desktop: 48px;
}

/* Desktop: corrige os principais acúmulos de espaço entre seções. */
@media (min-width: 1025px) {
  /* Home: cards iniciais -> "Realmente funciona?" */
  main > .section-wrapper[data-id="XCPbXd"] > section.guten-section {
    padding-bottom: var(--section-space-tight-desktop) !important;
  }

  main > .section-wrapper[data-id="tCOlqI"] > section.guten-section {
    padding-top: var(--section-space-tight-desktop) !important;
    padding-bottom: var(--section-space-tight-desktop) !important;
  }

  /* Seções regulares que antes usavam 100px. */
  main > .section-wrapper[data-id="LiIccz"] > section.guten-section {
    padding-top: var(--section-space-desktop) !important;
  }

  main > .section-wrapper[data-id="1gGIcr"] > section.guten-section {
    padding-top: var(--section-space-desktop) !important;
    padding-bottom: var(--section-space-desktop) !important;
  }

  main > .section-wrapper[data-id="yBgxvB"] > section.guten-section {
    padding-top: var(--section-space-desktop) !important;
  }

  main > .section-wrapper[data-id="3m6ncj"] > section.guten-section {
    padding-top: var(--section-space-desktop) !important;
  }

  /* CTA comum a todas as páginas. */
  main > .section-wrapper[data-id="dbhktv"] > section.guten-section {
    padding-top: var(--section-space-tablet) !important;
    padding-bottom: var(--section-space-tablet) !important;
  }
}

/* Tablet: mantém o ritmo compacto e uniforme. */
@media (min-width: 768px) and (max-width: 1024px) {
  .guten-element.guten-seeatL {
    margin-right: 0 !important;
  }

  main > .section-wrapper[data-id="LiIccz"] > section.guten-section,
  main > .section-wrapper[data-id="1gGIcr"] > section.guten-section,
  main > .section-wrapper[data-id="yBgxvB"] > section.guten-section,
  main > .section-wrapper[data-id="3m6ncj"] > section.guten-section,
  main > .section-wrapper[data-id="dbhktv"] > section.guten-section {
    padding-top: var(--section-space-tablet) !important;
  }

  main > .section-wrapper[data-id="1gGIcr"] > section.guten-section,
  main > .section-wrapper[data-id="dbhktv"] > section.guten-section {
    padding-bottom: var(--section-space-tablet) !important;
  }
}

/* Mobile: os 40px já usados pelo layout passam a ser a referência única. */
@media (max-width: 767px) {
  main > .section-wrapper[data-id="dbhktv"] > section.guten-section {
    padding-top: var(--section-space-mobile) !important;
    padding-bottom: var(--section-space-mobile) !important;
  }
}

/* Home / "Realmente funciona?": fluxo mobile sem margens negativas. */
.psp-polygraph-mobile-media {
  display: none;
}

@media (max-width: 767px) {
  main > .section-wrapper[data-id="tCOlqI"] > section.guten-section {
    margin-bottom: 0 !important;
    padding: 40px 10px !important;
  }

  main > .section-wrapper[data-id="tCOlqI"] .guten-bGOpBl {
    width: 100% !important;
  }

  main > .section-wrapper[data-id="tCOlqI"] .guten-bGOpBl > .guten-column-wrapper,
  main > .section-wrapper[data-id="tCOlqI"] .guten-bGOpBl > .sticky-wrapper > .guten-column-wrapper {
    margin: 0 !important;
    padding: 0 !important;
  }

  main > .section-wrapper[data-id="tCOlqI"] .guten-element.guten-GqpPRO {
    margin: 0 0 10px !important;
  }

  main > .section-wrapper[data-id="tCOlqI"] .guten-element.guten-WbIqHf {
    font-size: clamp(28px, 8vw, 34px) !important;
    line-height: 1.12 !important;
    margin: 0 0 32px !important;
    z-index: auto !important;
  }

  main > .section-wrapper[data-id="tCOlqI"] .guten-DrUcl9 {
    display: none !important;
  }

  .psp-polygraph-mobile-media {
    display: block;
    margin: 0 0 40px;
  }

  .psp-polygraph-mobile-media > img {
    display: block;
    width: 100%;
    height: auto;
    aspect-ratio: 1.84 / 1;
    object-fit: cover;
  }

  .psp-polygraph-mobile-card {
    background: rgba(255, 255, 255, 0.96);
    box-shadow: 0 5px 10px rgba(1, 1, 1, 0.10);
    padding: 28px 18px 30px;
    text-align: center;
  }

  .psp-polygraph-mobile-card p {
    margin: 0 0 18px;
    padding-left: 12px;
    border-left: 2px solid var(--wp--preset--color--intrace-accent);
    color: var(--wp--preset--color--intrace-body-text);
    font-family: Heebo, sans-serif;
    font-size: 14px;
    font-weight: 300;
    line-height: 1.6;
  }

  .psp-polygraph-mobile-card h3 {
    margin: 0;
    color: #081b2d;
    font-family: Lato, sans-serif;
    font-size: 20px;
    font-weight: 400;
    line-height: 1.25;
  }

  main > .section-wrapper[data-id="tCOlqI"] .guten-element.guten-W5WFOg {
    margin: 0 0 32px !important;
  }

  main > .section-wrapper[data-id="tCOlqI"] .guten-element.guten-CUPXE2 {
    margin: 0 !important;
  }

  /* Mantém o intervalo padrão da Home entre “Realmente funciona?” e “Nossos serviços”. */
  main > .section-wrapper[data-id="LiIccz"] > section.guten-section {
    margin-top: 0 !important;
  }
}

/* Acessibilidade: foco de teclado visível em todo o site. */
a:focus-visible,
button:focus-visible,
[tabindex]:focus-visible {
  outline: 3px solid #ffffff !important;
  outline-offset: 3px !important;
  box-shadow: 0 0 0 5px #181818 !important;
}

/* Acessibilidade: respeita a preferência do sistema por menos movimento. */
@media (prefers-reduced-motion: reduce) {
  html:focus-within {
    scroll-behavior: auto !important;
  }

  *,
  *::before,
  *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
}

/* Mobile: centraliza o parágrafo técnico da seção “Realmente funciona?”. */
@media (max-width: 767px) {
  main > .section-wrapper[data-id="tCOlqI"] .guten-W5WFOg,
  main > .section-wrapper[data-id="tCOlqI"] .guten-W5WFOg .text-content-inner,
  main > .section-wrapper[data-id="tCOlqI"] .guten-W5WFOg p {
    text-align: center !important;
  }
}



/* Accessibility baseline 2026-09-29 */
:where(a, button, input, select, textarea, [tabindex]):focus-visible {
  outline: 3px solid #b0c4de !important;
  outline-offset: 3px !important;
}

@media (prefers-reduced-motion: reduce) {
  html:focus-within {
    scroll-behavior: auto !important;
  }

  *, *::before, *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
}
