/* CanalFocus — paleta oficial (guia de marca) */
:root {
  --color-primary: #1e40af;
  --color-primary-soft: rgba(30, 64, 175, 0.12);
  --color-primary-mid: #2563eb;
  --color-secondary: #10b981;
  --color-secondary-soft: rgba(16, 185, 129, 0.14);
  --color-tech-cyan: #0ea5e9;
  --color-navy: #0a1628;
  --color-navy-soft: #0f2744;
  --color-alert: #b91c1c;
  --color-bg: #e5e7eb;
  --color-band: #ffffff;
  --color-surface: #ffffff;
  --color-surface-elevated: #ffffff;
  --color-text: #0b1220;
  --color-muted: #9aa3b8;
  --color-border: rgba(11, 18, 32, 0.12);
  --glass-bg: color-mix(in srgb, #ffffff 72%, rgba(30, 64, 175, 0.06));
  --glass-border: color-mix(in srgb, #ffffff 55%, var(--color-border));
  --glow-primary-soft: 0 0 48px rgba(30, 64, 175, 0.08);
  --glow-brand: 0 0 80px rgba(30, 64, 175, 0.07), 0 0 40px rgba(16, 185, 129, 0.05);
  --font: "Montserrat", system-ui, -apple-system, "Segoe UI", sans-serif;
  --radius-sm: 8px;
  --radius-md: 12px;
  --radius-lg: 20px;
  --shadow-glow: 0 0 60px rgba(30, 64, 175, 0.12);
  --shadow-card: 0 1px 2px rgba(11, 18, 32, 0.06), 0 4px 24px rgba(11, 18, 32, 0.05);
  --shadow-float: 0 12px 40px rgba(11, 18, 32, 0.09);
  --shadow-premium: 0 1px 0 rgba(255, 255, 255, 0.88) inset, 0 4px 24px rgba(11, 18, 32, 0.06),
    0 24px 56px rgba(11, 18, 32, 0.07);
  --header-base-h: 72px;
  --header-pad-y: calc(var(--header-base-h) * 0.1);
  --header-main-h: calc(var(--header-base-h) + var(--header-pad-y) * 2);
  --header-h: var(--header-main-h);
  --space-section: clamp(2.85rem, 6.2vw, 4.35rem);
  --container: min(1120px, calc(100% - 2rem));
  --transition: 180ms ease;
  --transition-reveal: 0.65s cubic-bezier(0.22, 1, 0.36, 1);
  --transition-hero: 320ms cubic-bezier(0.22, 1, 0.36, 1);
  --hero-glow-blue: 0 0 0 1px rgba(30, 64, 175, 0.06), 0 0 80px rgba(30, 64, 175, 0.09),
    0 0 140px rgba(30, 64, 175, 0.05);
  /* Escala institucional — texto padrão mais legível */
  --text-body-institutional: clamp(1.0625rem, 0.75vw + 0.94rem, 1.1875rem);
  --heading-section-display: clamp(1.8125rem, 4.4vw, 3.05rem);
  --lead-section-display: clamp(1.1525rem, 1.9vw, 1.38rem);
}

@media (max-width: 639.98px) {
  :root {
    --header-base-h: 64px;
    --space-section: clamp(2.35rem, 8vw, 3rem);
    --container: min(1120px, calc(100% - 1.35rem));
  }
}

*,
*::before,
*::after {
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
  overflow-x: clip;
}

@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }
  *,
  *::before,
  *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }
}

body {
  margin: 0;
  font-family: var(--font);
  font-size: var(--text-body-institutional);
  font-weight: 500;
  font-optical-sizing: auto;
  line-height: 1.62;
  color: var(--color-text);
  background: var(--color-bg);
  background-image:
    radial-gradient(ellipse 100% 70% at 50% -25%, rgba(30, 64, 175, 0.08), transparent 55%),
    radial-gradient(ellipse 55% 45% at 100% 0%, rgba(16, 185, 129, 0.05), transparent 50%);
  min-height: 100vh;
}

img {
  max-width: 100%;
  height: auto;
  display: block;
}

a {
  color: inherit;
  text-decoration-thickness: 1px;
  text-underline-offset: 3px;
}

a:hover {
  color: var(--color-primary);
}

:focus-visible {
  outline: 2px solid var(--color-primary);
  outline-offset: 3px;
}

.skip-link {
  position: absolute;
  left: -999px;
  top: 12px;
  background: var(--color-surface);
  color: var(--color-text);
  padding: 0.75rem 1rem;
  border-radius: var(--radius-sm);
  z-index: 1000;
  font-weight: 600;
}

.skip-link:focus {
  left: 12px;
}

.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.container {
  width: var(--container);
  margin-inline: auto;
}

.container--narrow {
  width: min(720px, calc(100% - 2rem));
  margin-inline: auto;
}

/* FAQ — leitura confortável em telas grandes */
.container--faq {
  width: min(880px, calc(100% - 2rem));
}

/* Profundidade atmosférica entre seções (não aplicar em hero / trust — já possuem fundo próprio) */
.section--depth {
  position: relative;
  isolation: isolate;
}

.section--depth::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  pointer-events: none;
  background-image:
    radial-gradient(ellipse 80% 55% at 12% 0%, rgba(30, 64, 175, 0.055), transparent 58%),
    radial-gradient(ellipse 70% 50% at 88% 100%, rgba(16, 185, 129, 0.045), transparent 55%),
    linear-gradient(rgba(11, 18, 32, 0.02) 1px, transparent 1px),
    linear-gradient(90deg, rgba(11, 18, 32, 0.02) 1px, transparent 1px);
  background-size:
    auto,
    auto,
    48px 48px,
    48px 48px;
  background-position: 0 0, 0 0, -1px -1px, -1px -1px;
  opacity: 0.65;
  -webkit-mask-image: linear-gradient(180deg, transparent 0%, #000 4%, #000 96%, transparent 100%);
  mask-image: linear-gradient(180deg, transparent 0%, #000 4%, #000 96%, transparent 100%);
}

.section--surface.section--depth::before {
  opacity: 0.4;
}

/* Scroll reveal (classe .is-visible ativada por main.js; respeita prefers-reduced-motion global) */
.reveal,
.reveal-stagger .reveal {
  opacity: 0;
  transform: translate3d(0, 18px, 0);
  filter: blur(5px);
  transition:
    opacity var(--transition-reveal),
    transform var(--transition-reveal),
    filter var(--transition-reveal);
  will-change: opacity, transform, filter;
}

.reveal.is-visible,
.reveal-stagger.is-visible .reveal {
  opacity: 1;
  transform: translate3d(0, 0, 0);
  filter: none;
}

.reveal-stagger > .reveal:nth-child(1) {
  transition-delay: 0ms;
}
.reveal-stagger > .reveal:nth-child(2) {
  transition-delay: 55ms;
}
.reveal-stagger > .reveal:nth-child(3) {
  transition-delay: 110ms;
}
.reveal-stagger > .reveal:nth-child(4) {
  transition-delay: 165ms;
}
.reveal-stagger > .reveal:nth-child(5) {
  transition-delay: 220ms;
}
.reveal-stagger > .reveal:nth-child(6) {
  transition-delay: 275ms;
}
.reveal-stagger > .reveal:nth-child(7) {
  transition-delay: 330ms;
}
.reveal-stagger > .reveal:nth-child(8) {
  transition-delay: 385ms;
}
.reveal-stagger > .reveal:nth-child(9) {
  transition-delay: 440ms;
}
.reveal-stagger > .reveal:nth-child(10) {
  transition-delay: 495ms;
}

/* Header */
.site-header {
  position: sticky;
  top: 0;
  z-index: 900;
  background: color-mix(in srgb, #ffffff 78%, rgba(30, 64, 175, 0.04));
  backdrop-filter: blur(16px) saturate(160%);
  -webkit-backdrop-filter: blur(16px) saturate(160%);
  border-bottom: 1px solid transparent;
  background-clip: padding-box;
  box-shadow:
    0 1px 0 rgba(255, 255, 255, 0.65) inset,
    0 -1px 0 color-mix(in srgb, var(--color-primary) 12%, transparent) inset,
    0 8px 32px rgba(11, 18, 32, 0.04);
  transition:
    background 0.32s ease,
    border-color 0.32s ease,
    box-shadow 0.32s ease;
}

.site-header.site-header--over-video {
  background: color-mix(in srgb, rgba(10, 18, 32, 0.52) 88%, transparent);
  backdrop-filter: blur(14px) saturate(140%);
  -webkit-backdrop-filter: blur(14px) saturate(140%);
  border-bottom-color: rgba(248, 250, 252, 0.12);
  box-shadow:
    0 1px 0 rgba(255, 255, 255, 0.08) inset,
    0 12px 40px rgba(0, 0, 0, 0.2);
}

.site-header.site-header--over-video::after {
  opacity: 0.42;
}

.site-header.site-header--over-video .logo:hover {
  opacity: 0.94;
}

.site-header.site-header--over-video .logo__img--on-dark {
  filter: drop-shadow(0 1px 10px rgba(0, 0, 0, 0.5));
}

.site-header.site-header--over-video .logo__img--on-light {
  display: none;
}

.site-header.site-header--over-video .logo__img--on-dark {
  display: block;
}

.site-header.site-header--over-video .nav__list a {
  color: rgba(226, 232, 240, 0.88);
}

.site-header.site-header--over-video .nav__list a:hover {
  color: #fff;
}

@media (hover: hover) and (pointer: fine) {
  .site-header.site-header--over-video .nav__list a:hover {
    background: rgba(255, 255, 255, 0.1);
    box-shadow: none;
    transform: translateY(-1px);
  }
}

.site-header.site-header--over-video .nav-sidebar-btn {
  background: rgba(255, 255, 255, 0.1);
  border-color: rgba(248, 250, 252, 0.22);
  color: #f1f5f9;
}

.site-header.site-header--over-video .nav-sidebar-btn:hover {
  background: rgba(255, 255, 255, 0.22);
  color: #fff;
  border-color: rgba(255, 255, 255, 0.45);
  transform: rotate(180deg);
}

@media (max-width: 860px) {
  .site-header.site-header--over-video .nav-toggle {
    background: rgba(255, 255, 255, 0.1);
    border-color: rgba(248, 250, 252, 0.22);
  }

  .site-header.site-header--over-video .nav-toggle__icon {
    color: #f8fafc;
  }
}

.site-header::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 1px;
  pointer-events: none;
  background: linear-gradient(
    90deg,
    transparent 0%,
    color-mix(in srgb, var(--color-primary) 22%, transparent) 22%,
    color-mix(in srgb, var(--color-secondary) 25%, transparent) 50%,
    color-mix(in srgb, var(--color-tech-cyan) 18%, transparent) 78%,
    transparent 100%
  );
  opacity: 0.55;
}

.site-header__inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding-block: var(--header-pad-y);
  min-height: var(--header-main-h);
}

.site-header__end {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  margin-left: auto;
  min-width: 0;
}

.site-header__cta-only {
  flex-shrink: 0;
}

.site-header--compact .site-header__inner {
  /* Mantém altura útil com só logo + CTA */
  min-height: var(--header-main-h);
}

.logo {
  display: flex;
  align-items: center;
  text-decoration: none;
  flex-shrink: 0;
}

.logo:hover {
  opacity: 0.92;
}

.logo__img {
  display: block;
  width: min(200px, 46vw);
  height: auto;
  max-height: 44px;
  object-fit: contain;
  object-position: left center;
}

.logo__img--on-dark {
  display: none;
}

@media (min-width: 640px) {
  .logo__img {
    width: 220px;
    max-height: 48px;
  }
}

.nav-toggle {
  display: none;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  padding: 0;
  border: 1px solid var(--color-border);
  border-radius: var(--radius-sm);
  background: var(--color-surface);
  cursor: pointer;
}

.nav-toggle__icon {
  font-size: 1.125rem;
  color: var(--color-text);
}

.nav-toggle__bar {
  display: none;
}

.nav {
  display: flex;
  align-items: center;
  gap: 1.75rem;
}

.nav__list {
  display: flex;
  flex-wrap: wrap;
  gap: 0.25rem 1.25rem;
  list-style: none;
  margin: 0;
  padding: 0;
}

.nav__list a {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  text-decoration: none;
  color: var(--color-muted);
  font-size: 0.9375rem;
  font-weight: 600;
  padding: 0.2rem 0;
  border-radius: 4px;
  transition:
    color var(--transition),
    transform var(--transition),
    box-shadow var(--transition),
    background-color var(--transition);
}

.nav__list a:hover {
  color: var(--color-text);
}

@media (hover: hover) and (pointer: fine) {
  .nav__list a:hover {
    transform: translateY(-1px);
    box-shadow: 0 6px 16px rgba(30, 64, 175, 0.07);
    background: color-mix(in srgb, var(--color-primary-soft) 35%, transparent);
  }
}

.nav__cta {
  flex-shrink: 0;
}

/* Sidebar trigger (desktop — como rgmais-v1) */
.nav-sidebar-btn {
  display: none;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  padding: 0;
  border: 1px solid var(--color-border);
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.75);
  color: var(--color-text);
  font-size: 1.15rem;
  cursor: pointer;
  flex-shrink: 0;
  transition:
    background var(--transition),
    border-color var(--transition),
    color var(--transition),
    transform var(--transition);
}

.nav-sidebar-btn:hover {
  background: var(--color-primary);
  color: #fff;
  border-color: var(--color-primary);
  transform: rotate(180deg);
}

@media (min-width: 861px) {
  .nav-sidebar-btn {
    display: inline-flex;
  }
}

.nav-backdrop {
  display: none;
}

@media (max-width: 860px) {
  .nav-toggle {
    display: flex;
    position: relative;
    z-index: 1292;
  }

  .nav-backdrop {
    display: block;
    position: fixed;
    inset: 0;
    z-index: 1270;
    background: rgba(11, 18, 32, 0.58);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition:
      opacity 0.32s ease,
      visibility 0.32s ease;
  }

  .nav-backdrop.is-visible {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
  }

  .nav {
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    left: auto;
    width: min(100vw - 2.75rem, 340px);
    max-width: 100%;
    flex-direction: column;
    align-items: stretch;
    gap: 0;
    padding:
      calc(var(--header-h) + 0.85rem)
      clamp(1.15rem, 4.5vw, 1.5rem)
      max(1.35rem, env(safe-area-inset-bottom));
    background: linear-gradient(
      180deg,
      rgba(255, 255, 255, 0.99) 0%,
      color-mix(in srgb, #f8fafc 92%, rgba(30, 64, 175, 0.04)) 100%
    );
    border-left: 1px solid color-mix(in srgb, var(--color-border) 85%, rgba(30, 64, 175, 0.08));
    box-shadow: -16px 0 48px rgba(11, 18, 32, 0.16);
    z-index: 1280;
    transform: translateX(105%);
    opacity: 1;
    visibility: hidden;
    pointer-events: none;
    overflow-y: auto;
    overscroll-behavior: contain;
    -webkit-overflow-scrolling: touch;
    transition:
      transform 0.42s cubic-bezier(0.77, 0, 0.175, 1),
      visibility 0.42s ease;
  }

  .nav.is-open {
    transform: translateX(0);
    visibility: visible;
    pointer-events: auto;
  }

  .nav__list {
    flex-direction: column;
    gap: 0;
    margin: 0 0 1.25rem;
  }

  .nav__list a {
    display: flex;
    align-items: center;
    gap: 0.45rem;
    padding: 0.82rem 0;
    font-size: 1.02rem;
    font-weight: 700;
    color: var(--color-text);
    border-bottom: 1px solid var(--color-border);
  }

  .site-header.site-header--over-video .nav__list a {
    color: var(--color-text);
  }

  .nav__list a:hover,
  .nav__list a:focus-visible {
    color: var(--color-primary);
    background: transparent;
    box-shadow: none;
    transform: none;
  }

  .nav__cta {
    width: 100%;
    justify-content: center;
    margin-top: auto;
    padding-block: 0.82rem;
    font-size: 0.9375rem;
  }

  body.mobile-nav-open .site-header {
    z-index: 1290;
    background: rgba(255, 255, 255, 0.98);
    border-bottom-color: var(--color-border);
    box-shadow:
      0 1px 0 rgba(255, 255, 255, 0.65) inset,
      0 8px 32px rgba(11, 18, 32, 0.08);
  }

  body.mobile-nav-open .site-header .logo__img--on-light {
    display: block;
  }

  body.mobile-nav-open .site-header .logo__img--on-dark {
    display: none;
  }

  body.mobile-nav-open .site-header .nav-toggle {
    background: var(--color-surface);
    border-color: var(--color-border);
  }

  body.mobile-nav-open .site-header .nav-toggle__icon {
    color: var(--color-text);
  }

  body.mobile-nav-open .floating-contact-system {
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
  }
}

/* Buttons */
.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  padding: 0.65rem 1.25rem;
  font-family: inherit;
  font-weight: 700;
  font-size: 0.9375rem;
  border-radius: var(--radius-sm);
  border: 1px solid transparent;
  cursor: pointer;
  text-decoration: none;
  transition: background var(--transition), border-color var(--transition), color var(--transition),
    box-shadow var(--transition), transform var(--transition);
}

.btn--sm {
  padding: 0.5rem 1rem;
  font-size: 0.875rem;
}

.btn--lg {
  padding: 0.85rem 1.5rem;
  font-size: 1rem;
}

.btn--primary {
  background: var(--color-primary);
  color: #fff;
  box-shadow: 0 4px 20px rgba(30, 64, 175, 0.22);
}

.btn--primary:hover {
  background: #2563eb;
  color: #fff;
  box-shadow: 0 6px 28px rgba(30, 64, 175, 0.35);
}

.btn--gradient {
  position: relative;
  background: linear-gradient(125deg, #1e40af 0%, #2563eb 44%, #0d9488 100%);
  color: #fff;
  border: 1px solid color-mix(in srgb, #fff 18%, rgba(30, 64, 175, 0.35));
  box-shadow:
    0 1px 0 rgba(255, 255, 255, 0.22) inset,
    0 2px 4px rgba(11, 18, 32, 0.06),
    0 8px 28px rgba(30, 64, 175, 0.34),
    0 4px 16px rgba(13, 148, 136, 0.12),
    0 0 40px rgba(30, 64, 175, 0.08);
  transition:
    transform 0.42s cubic-bezier(0.22, 1, 0.36, 1),
    box-shadow 0.42s cubic-bezier(0.22, 1, 0.36, 1),
    filter 0.35s ease,
    border-color 0.35s ease;
}

.btn--gradient:hover {
  color: #fff;
  filter: brightness(1.04);
  transform: translateY(-1px);
  box-shadow:
    0 1px 0 rgba(255, 255, 255, 0.28) inset,
    0 4px 10px rgba(11, 18, 32, 0.08),
    0 14px 36px rgba(30, 64, 175, 0.38),
    0 8px 22px rgba(13, 148, 136, 0.16),
    0 0 56px rgba(30, 64, 175, 0.12),
    0 0 28px rgba(16, 185, 129, 0.08);
}

.btn--gradient:active {
  transform: translateY(0);
  filter: brightness(0.98);
}

.btn--secondary {
  background: transparent;
  border-color: var(--color-border);
  color: var(--color-text);
}

.btn--secondary:hover {
  border-color: var(--color-primary);
  color: var(--color-primary);
  background: var(--color-primary-soft);
}

.btn--ghost {
  background: transparent;
  border-color: transparent;
  color: var(--color-muted);
}

.btn--ghost:hover {
  color: var(--color-text);
  background: rgba(11, 18, 32, 0.06);
}

.btn--block {
  width: 100%;
}

/* Sections */
.section {
  padding: var(--space-section) 0;
}

.section--tight {
  padding: 2rem 0;
}

.section--surface {
  background: var(--color-band);
  box-shadow: inset 0 1px 0 var(--color-border);
}

.section-head {
  max-width: min(52rem, 100%);
  margin-inline: auto;
  margin-bottom: 2.35rem;
  text-align: center;
}

.section-head__lead {
  color: color-mix(in srgb, var(--color-muted) 78%, var(--color-text) 22%);
  margin-inline: auto;
  margin-block: 0;
  font-size: var(--lead-section-display);
  font-weight: 600;
  line-height: 1.53;
  max-width: min(42rem, 100%);
}

.eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  flex-wrap: wrap;
  font-size: 0.8125rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.155em;
  color: var(--color-secondary);
  margin: 0 0 0.875rem;
}

.section-head .eyebrow {
  justify-content: center;
  width: 100%;
}

.section-head h2 {
  margin-top: 0;
  margin-inline: auto;
  font-size: var(--heading-section-display);
  line-height: 1.13;
  letter-spacing: -0.035em;
  font-weight: 900;
  margin-bottom: clamp(0.65rem, 2vw, 0.92rem);
  text-wrap: balance;
  max-width: min(52rem, 100%);
}

/* Colunas editoriais mantêm leitura alinhada à esquerda */
.section-head.section-head--narrative .eyebrow,
.impl-layout__content .section-head .eyebrow,
.contact-premium__copy .eyebrow,
.editorial__content .section-head .eyebrow {
  justify-content: flex-start;
  width: auto;
}

.section-head.section-head--narrative,
.impl-layout__content .section-head,
.contact-premium__copy,
.editorial__content .section-head {
  text-align: left;
  margin-inline: 0;
}

.section-head.section-head--narrative {
  max-width: none;
}

.section-head.section-head--narrative .section-head__lead,
.impl-layout__content .section-head .section-head__lead,
.editorial__content .section-head .section-head__lead {
  margin-inline: 0;
  max-width: min(44rem, 100%);
}


.section-cta {
  margin-top: 2.5rem;
  text-align: center;
}

/* Hero */
.hero {
  position: relative;
  padding-top: clamp(2.25rem, 5.5vw, 3.75rem);
  padding-bottom: clamp(3rem, 7vw, 5.5rem);
  overflow: clip;
  isolation: isolate;
  background:
    radial-gradient(ellipse 120% 80% at 50% -35%, rgba(30, 64, 175, 0.11), transparent 58%),
    radial-gradient(ellipse 65% 55% at 100% 15%, rgba(16, 185, 129, 0.06), transparent 52%),
    radial-gradient(ellipse 55% 40% at 0% 85%, rgba(30, 64, 175, 0.05), transparent 50%),
    linear-gradient(180deg, rgba(248, 250, 252, 0.55) 0%, rgba(229, 231, 235, 0.2) 45%, transparent 100%);
}

#conteudo-principal {
  display: flex;
  flex-direction: column;
}

/* Hero — vídeo full até sob o header (overlap + compensação interna no padding-top) */
#conteudo-principal > .hero.hero--video-full:first-child {
  margin-top: calc(-1 * var(--header-main-h));
}

.hero.hero--video-full {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding-top: calc(var(--header-main-h) + clamp(1.65rem, 4.2vw, 2.45rem));
  padding-bottom: clamp(2.2rem, 5vw, 3.4rem);
  min-height: max(520px, 92svh);
  background: var(--color-navy);
}

.hero__video-stack {
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  overflow: hidden;
}

.hero__video-holder {
  position: absolute;
  inset: 0;
}

.hero__bg-video {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transform: scale(1.02);
  background: #050a14;
}

.hero__video-scrim {
  position: absolute;
  inset: 0;
  z-index: 1;
  background:
    linear-gradient(
      120deg,
      rgba(8, 15, 28, 0.88) 0%,
      rgba(10, 22, 40, 0.62) 44%,
      rgba(15, 35, 64, 0.45) 100%
    ),
    radial-gradient(ellipse 120% 80% at 50% -20%, rgba(30, 64, 175, 0.25), transparent 55%);
  pointer-events: none;
}

@media (prefers-reduced-motion: reduce) {
  .hero.hero--video-full .hero__bg-video {
    display: none;
  }

  .hero.hero--video-full .hero__video-scrim {
    background:
      radial-gradient(ellipse 90% 60% at 50% -10%, rgba(30, 64, 175, 0.45), transparent 58%),
      linear-gradient(165deg, #0a1628 0%, #0f2744 50%, #0a1628 100%);
  }
}

.hero.hero--video-full .hero__ambient {
  z-index: 2;
  opacity: 0.22;
}

.hero.hero--video-full .hero__orbs {
  z-index: 2;
}

.hero.hero--video-full .hero__orb {
  opacity: 0.28;
  filter: blur(56px);
}

.hero.hero--video-full .hero__orb--b {
  opacity: 0.22;
}

.hero__grid--video-full {
  position: relative;
  z-index: 3;
  max-width: min(50rem, 100%);
  display: flex;
  flex-direction: column;
  align-items: center;
  margin-inline: auto;
}

.hero.hero--video-full .hero__copy {
  width: 100%;
  max-width: min(48rem, 100%);
  margin-inline: auto;
  text-align: center;
}

/* Keyframes — título hero: degradê em fluxo + leve flutuação */
@keyframes hero-title-grad-a {
  0%,
  100% {
    background-position: 0% 50%;
  }
  50% {
    background-position: 100% 48%;
  }
}

@keyframes hero-title-grad-b {
  0%,
  100% {
    background-position: 100% 52%;
  }
  50% {
    background-position: 0% 44%;
  }
}

@keyframes hero-title-float-a {
  0%,
  100% {
    transform: translate3d(0, 0, 0);
  }
  50% {
    transform: translate3d(0, -2.75px, 0);
  }
}

@keyframes hero-title-float-b {
  0%,
  100% {
    transform: translate3d(0, 0, 0);
  }
  50% {
    transform: translate3d(0, -4px, 0);
  }
}

/* Entrada única do hero — só transform/opacity, sem JS nem blur (LCP-friendly) */
@keyframes hero-text-enter {
  from {
    transform: translate3d(0, 1.125rem, 0);
  }

  to {
    transform: translate3d(0, 0, 0);
  }
}

@keyframes hero-text-enter-fade {
  from {
    opacity: 0;
    transform: translate3d(0, 0.875rem, 0);
  }

  to {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }
}

.hero.hero--video-full .hero__title.hero__title--display {
  margin: 0 0 clamp(1rem, 2.8vw, 1.5rem);
  font-family: var(--font);
  font-weight: 900;
  font-size: clamp(1.65375rem, 5.8275vw, 3.3075rem);
  line-height: 1.015;
  letter-spacing: 0.048em;
  text-transform: uppercase;
  overflow-wrap: anywhere;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
}

.hero.hero--video-full .hero__title--display .hero__title-lines {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.065em;
}

.hero.hero--video-full .hero__title-line {
  display: block;
  text-align: center;
  font-family: inherit;
  font-weight: 900;
  line-height: inherit;
}

@media (prefers-reduced-motion: no-preference) {
  .hero.hero--video-full .hero__copy.hero-intro-done .hero__title-line {
    animation:
      hero-text-enter 0.72s cubic-bezier(0.22, 1, 0.36, 1) both,
      hero-title-float-a 7.25s ease-in-out 0.82s infinite;
  }

  .hero.hero--video-full .hero__copy.hero-intro-done .hero__title-line--accent {
    animation:
      hero-text-enter 0.72s cubic-bezier(0.22, 1, 0.36, 1) both,
      hero-title-float-b 6s ease-in-out 0.92s infinite;
    animation-delay: 0.1s, 0.92s;
  }

  .hero.hero--video-full .hero__copy.hero-intro-done .hero__lead {
    animation: hero-text-enter 0.68s cubic-bezier(0.22, 1, 0.36, 1) 0.22s both;
  }

  .hero.hero--video-full .hero__copy.hero-intro-done .hero__actions {
    animation: hero-text-enter-fade 0.64s cubic-bezier(0.22, 1, 0.36, 1) 0.34s both;
  }
}

.hero.hero--video-full .hero__title-line__inner {
  display: inline-block;
  max-width: 100%;
  font-family: inherit;
  font-weight: inherit;
  line-height: inherit;
  letter-spacing: inherit;
  text-transform: inherit;
  color: transparent;
  /* Branco + reflexos bem suaves verde-marca — sem tons de azul */
  background-image: linear-gradient(
    112deg,
    #ffffff 0%,
    #fafefa 26%,
    #f4fdf9 50%,
    #ecfdf5 74%,
    #ffffff 100%
  );
  background-size: 220% 170%;
  background-position: 0% 50%;
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  filter: drop-shadow(0 2px 22px rgba(0, 0, 0, 0.45)) drop-shadow(0 1px 2px rgba(0, 0, 0, 0.55));
}

.hero.hero--video-full .hero__title-line--accent .hero__title-line__inner {
  /* Verde da identidade apenas (esmeralda) — sem ciano/azul */
  background-image: linear-gradient(
    118deg,
    #a7f3d0 0%,
    #6ee7b7 24%,
    #34d399 48%,
    #10b981 74%,
    #059669 100%
  );
  background-size: 240% 180%;
  background-position: 100% 48%;
  filter: drop-shadow(0 0 34px rgba(16, 185, 129, 0.36)) drop-shadow(0 2px 26px rgba(0, 0, 0, 0.4));
}

@media (prefers-reduced-motion: no-preference) {
  .hero.hero--video-full .hero__copy.hero-intro-done .hero__title-line:not(.hero__title-line--accent)
    .hero__title-line__inner {
    animation: hero-title-grad-a 10.5s ease-in-out 0.85s infinite;
  }

  .hero.hero--video-full .hero__copy.hero-intro-done .hero__title-line--accent .hero__title-line__inner {
    animation: hero-title-grad-b 12s ease-in-out 0.95s infinite reverse;
  }
}

@media (prefers-reduced-motion: reduce) {
  .hero.hero--video-full .hero__title-line__inner {
    color: #f8fafc;
    background: none !important;
    background-size: auto !important;
    background-position: 0 0 !important;
    filter: drop-shadow(0 2px 20px rgba(0, 0, 0, 0.45)) drop-shadow(0 1px 2px rgba(0, 0, 0, 0.55));
    -webkit-text-fill-color: #f8fafc !important;
  }

  .hero.hero--video-full .hero__title-line--accent .hero__title-line__inner {
    color: color-mix(in srgb, var(--color-secondary) 88%, #ecfdf5 12%);
    filter: drop-shadow(0 0 40px rgba(16, 185, 129, 0.32)) drop-shadow(0 2px 26px rgba(0, 0, 0, 0.4));
    -webkit-text-fill-color: color-mix(in srgb, var(--color-secondary) 88%, #ecfdf5 12%) !important;
  }

  .hero.hero--video-full .hero__title-line {
    animation: none !important;
  }

  .hero.hero--video-full .hero__copy.hero-intro-done .hero__lead,
  .hero.hero--video-full .hero__copy.hero-intro-done .hero__actions {
    animation: none !important;
  }
}

.hero.hero--video-full .hero__lead {
  color: rgba(248, 250, 252, 0.92);
  font-weight: 500;
  font-size: clamp(1.0625rem, 2.15vw, 1.15rem);
  line-height: 1.62;
  max-width: 42rem;
  margin-inline: auto;
  text-align: center;
  text-wrap: balance;
}

.hero.hero--video-full .hero__actions {
  justify-content: center;
}

.hero.hero--video-full .hero__actions .btn {
  text-decoration: none;
}

@media (max-width: 479.98px) {
  .hero.hero--video-full {
    min-height: max(480px, 90svh);
    padding-top: calc(var(--header-main-h) + 1.25rem);
    padding-bottom: 1.85rem;
  }

  .hero.hero--video-full .hero__title.hero__title--display {
    font-size: clamp(1.45rem, 8.2vw, 1.85rem);
    letter-spacing: 0.035em;
    line-height: 1.08;
  }

  .hero.hero--video-full .hero__lead {
    font-size: 1rem;
    line-height: 1.58;
    margin-bottom: 1.35rem;
  }

  .hero.hero--video-full .hero__actions {
    flex-direction: column;
    align-items: stretch;
    width: 100%;
    gap: 0.65rem;
  }

  .hero.hero--video-full .hero__actions .btn {
    width: 100%;
    justify-content: center;
    padding-block: 0.78rem;
  }
}

@media (max-width: 359.98px) {
  .logo__img {
    width: min(168px, 42vw);
    max-height: 38px;
  }

  .site-header__inner {
    gap: 0.65rem;
  }
}

.btn--ghost-light {
  color: rgba(248, 250, 252, 0.95);
  background: rgba(255, 255, 255, 0.08);
  border: 1px solid rgba(248, 250, 252, 0.22);
  box-shadow:
    0 1px 0 rgba(255, 255, 255, 0.06) inset,
    0 12px 36px rgba(0, 0, 0, 0.12);
}

.btn--ghost-light:hover {
  color: #f8fafc;
  background: rgba(255, 255, 255, 0.14);
  border-color: rgba(248, 250, 252, 0.32);
}

.btn--ghost-light:focus-visible {
  outline-color: #f8fafc;
}

.hero__ambient {
  position: absolute;
  inset: 0;
  pointer-events: none;
  z-index: 0;
  opacity: 0.55;
  background-image:
    linear-gradient(rgba(11, 18, 32, 0.028) 1px, transparent 1px),
    linear-gradient(90deg, rgba(11, 18, 32, 0.028) 1px, transparent 1px);
  background-size: 56px 56px;
  -webkit-mask-image: radial-gradient(ellipse 85% 70% at 50% 35%, #000 0%, transparent 72%);
  mask-image: radial-gradient(ellipse 85% 70% at 50% 35%, #000 0%, transparent 72%);
}

.hero__orbs {
  position: absolute;
  inset: 0;
  pointer-events: none;
  z-index: 0;
  overflow: hidden;
}

.hero__orb {
  position: absolute;
  border-radius: 50%;
  filter: blur(48px);
  opacity: 0.5;
  animation: hero-orb-drift 22s ease-in-out infinite;
}

.hero__orb--a {
  width: min(42vw, 340px);
  height: min(42vw, 340px);
  top: 8%;
  right: -6%;
  background: radial-gradient(circle, rgba(30, 64, 175, 0.2) 0%, transparent 68%);
}

.hero__orb--b {
  width: min(36vw, 280px);
  height: min(36vw, 280px);
  bottom: 12%;
  left: -4%;
  background: radial-gradient(circle, rgba(16, 185, 129, 0.14) 0%, transparent 70%);
  animation-delay: -9s;
}

@keyframes hero-orb-drift {
  0%,
  100% {
    transform: translate(0, 0) scale(1);
    opacity: 0.45;
  }
  50% {
    transform: translate(-2.5%, 3%) scale(1.04);
    opacity: 0.55;
  }
}

@media (prefers-reduced-motion: reduce) {
  .hero__orb {
    animation: none;
  }
}

.hero__grid {
  position: relative;
  z-index: 1;
  display: grid;
  gap: clamp(2rem, 5vw, 2.75rem);
  align-items: center;
}

@media (min-width: 960px) {
  .hero__grid--split {
    grid-template-columns: minmax(0, 1.02fr) minmax(0, 1.14fr);
    gap: clamp(2.25rem, 4.5vw, 4rem);
    align-items: center;
  }
}

.hero__copy {
  max-width: 38rem;
}

.hero__title {
  font-size: clamp(2rem, 4.5vw, 2.85rem);
  line-height: 1.12;
  letter-spacing: -0.03em;
  margin: 0 0 1rem;
  text-wrap: balance;
  color: #050814;
}

.hero__lead {
  color: var(--color-muted);
  font-size: clamp(1rem, 2vw, 1.0625rem);
  line-height: 1.65;
  margin: 0 0 1.75rem;
  max-width: 36rem;
}

.hero__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
  align-items: center;
  margin-bottom: 0;
}

.hero__visual {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
  align-items: stretch;
  min-width: 0;
}

@media (min-width: 960px) {
  .hero__visual {
    gap: 1.5rem;
    padding-top: 0.35rem;
    min-height: min(52vh, 520px);
  }
}

/* Floats decorativos — linguagem de produto / painel */
.hero-float {
  display: none;
  position: absolute;
  z-index: 3;
  pointer-events: none;
  border-radius: var(--radius-md);
  padding: 0.65rem 0.85rem;
  max-width: 200px;
  background: color-mix(in srgb, #ffffff 82%, rgba(30, 64, 175, 0.04));
  border: 1px solid color-mix(in srgb, var(--color-border) 75%, rgba(30, 64, 175, 0.12));
  box-shadow:
    0 1px 0 rgba(255, 255, 255, 0.92) inset,
    0 14px 36px rgba(11, 18, 32, 0.1),
    var(--glow-primary-soft);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  animation: hero-float-bob 7s ease-in-out infinite;
}

.hero-float--protocol {
  top: 2%;
  right: 4%;
  animation-delay: 0.3s;
}

.hero-float--sla {
  bottom: 14%;
  left: 2%;
  animation-delay: -2.2s;
}

@media (min-width: 960px) {
  .hero-float {
    display: block;
  }
}

.hero-float__label {
  display: block;
  font-size: 0.5625rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: #64748b;
  margin-bottom: 0.35rem;
}

.hero-float__value {
  font-size: 0.8125rem;
  font-weight: 700;
  font-variant-numeric: tabular-nums;
  letter-spacing: -0.02em;
  color: #0f172a;
  margin: 0;
}

.hero-float__meta {
  margin: 0.45rem 0 0;
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem;
}

.hero-float__pill {
  font-size: 0.5625rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  padding: 0.12rem 0.4rem;
  border-radius: 999px;
  background: var(--color-primary-soft);
  color: var(--color-primary);
  border: 1px solid color-mix(in srgb, var(--color-primary) 22%, transparent);
}

.hero-float__pill--green {
  background: var(--color-secondary-soft);
  color: #047857;
  border-color: color-mix(in srgb, var(--color-secondary) 28%, transparent);
}

@keyframes hero-float-bob {
  0%,
  100% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-6px);
  }
}

@media (prefers-reduced-motion: reduce) {
  .hero-float {
    animation: none;
  }
}

/* Hero — mídia / slot para vídeo */
.hero-media {
  margin: 0;
  position: relative;
  width: 100%;
  min-width: 0;
}

.hero-media__shell {
  position: relative;
  perspective: 1200px;
}

.hero-media__glow {
  position: absolute;
  inset: -14% -10% -18%;
  background:
    radial-gradient(closest-side at 50% 45%, rgba(30, 64, 175, 0.14), transparent 72%),
    radial-gradient(closest-side at 70% 70%, rgba(16, 185, 129, 0.08), transparent 68%);
  pointer-events: none;
  z-index: 0;
  filter: blur(2px);
  opacity: 0.85;
}

.hero-media__frame {
  position: relative;
  z-index: 1;
  border-radius: clamp(16px, 2.2vw, 22px);
  padding: 1px;
  background: linear-gradient(
    145deg,
    rgba(255, 255, 255, 0.55),
    rgba(255, 255, 255, 0.12) 42%,
    rgba(30, 64, 175, 0.12) 100%
  );
  box-shadow:
    0 1px 0 rgba(255, 255, 255, 0.65) inset,
    0 2px 4px rgba(11, 18, 32, 0.04),
    0 24px 56px rgba(11, 18, 32, 0.1),
    var(--hero-glow-blue);
  transform: rotateX(1deg) rotateY(-1.25deg);
  transform-origin: 50% 50%;
  transition:
    transform var(--transition-hero),
    box-shadow var(--transition-hero);
}

@media (max-width: 959px) {
  .hero-media__frame {
    transform: none;
    box-shadow:
      0 1px 0 rgba(255, 255, 255, 0.55) inset,
      0 2px 4px rgba(11, 18, 32, 0.05),
      0 18px 44px rgba(11, 18, 32, 0.09),
      var(--hero-glow-blue);
  }
}

@media (hover: hover) and (pointer: fine) {
  .hero-media:hover .hero-media__frame {
    transform: rotateX(0.35deg) rotateY(-0.65deg) translateY(-3px);
    box-shadow:
      0 1px 0 rgba(255, 255, 255, 0.72) inset,
      0 4px 10px rgba(11, 18, 32, 0.06),
      0 32px 64px rgba(11, 18, 32, 0.12),
      0 0 0 1px rgba(30, 64, 175, 0.09),
      0 0 100px rgba(30, 64, 175, 0.1);
  }
}

@media (max-width: 959px), (prefers-reduced-motion: reduce) {
  .hero-media:hover .hero-media__frame {
    transform: none;
  }
}

.hero-media__stage {
  position: relative;
  border-radius: clamp(15px, 2vw, 21px);
  overflow: hidden;
  background: linear-gradient(165deg, rgba(255, 255, 255, 0.45) 0%, rgba(248, 250, 252, 0.2) 100%);
  backdrop-filter: blur(18px);
  -webkit-backdrop-filter: blur(18px);
}

.hero-media__stage--video {
  aspect-ratio: 16 / 10;
}

@media (max-width: 479px) {
  .hero-media__stage--video {
    aspect-ratio: 4 / 3;
  }
}

.hero-media__video {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  background: #0b1220;
}

.hero-media__demo-layer {
  position: absolute;
  inset: 0;
  overflow: hidden;
  display: flex;
  flex-direction: column;
}

.hero-media__demo-layer > .mockup {
  flex: 1;
  display: flex;
  flex-direction: column;
  min-height: 0;
  border-radius: 0;
  border: none;
  box-shadow: none;
  background: linear-gradient(168deg, rgba(255, 255, 255, 0.97) 0%, rgba(241, 245, 249, 0.96) 100%);
}

.hero-media__stage--video > .hero-media__video {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* Fotografia editorial (Pexels — licença em rodapé) */
.media-frame {
  margin: 0;
  border-radius: var(--radius-lg);
  overflow: hidden;
  box-shadow: var(--shadow-float);
  border: 1px solid var(--color-border);
  background: var(--color-surface-elevated);
}

.media-frame img {
  display: block;
  width: 100%;
  height: auto;
  object-fit: cover;
  aspect-ratio: 3 / 2;
}

.editorial {
  display: grid;
  gap: 2rem;
  align-items: start;
}

@media (min-width: 960px) {
  .editorial {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1.12fr);
    gap: 2.5rem 3rem;
    align-items: center;
  }
}

.editorial__content .section-head {
  margin-bottom: 2rem;
}

/* Bloco narrativo: painel + texto alinhados ao topo (SaaS enterprise) */
.narrative-unified {
  display: grid;
  gap: clamp(1.25rem, 3vw, 1.75rem);
  align-items: start;
}

@media (min-width: 960px) {
  .narrative-unified {
    grid-template-columns: minmax(0, 0.94fr) minmax(0, 1.06fr);
    gap: clamp(1.5rem, 2.8vw, 2.25rem) clamp(1.75rem, 3.2vw, 2.65rem);
    align-items: start;
  }
}

.narrative-unified__visual {
  position: sticky;
  top: calc(var(--header-h) + 12px);
  min-width: 0;
}

@media (max-width: 959.98px) {
  .narrative-unified {
    display: flex;
    flex-direction: column;
    align-items: stretch;
  }

  .narrative-unified__copy {
    order: 1;
    min-width: 0;
  }

  .narrative-unified__visual {
    order: 2;
    position: relative;
    top: auto;
    min-width: 0;
    max-width: 100%;
    overflow: hidden;
  }
}

.narrative-unified__visual-label {
  font-size: 0.5625rem;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: #64748b;
  margin: 0 0 0.5rem 0.25rem;
}

.narrative-unified__visual .mockup {
  box-shadow:
    0 1px 0 rgba(255, 255, 255, 0.9) inset,
    0 4px 28px rgba(11, 18, 32, 0.08),
    0 22px 52px rgba(11, 18, 32, 0.06),
    var(--glow-primary-soft);
  border-radius: clamp(14px, 2vw, var(--radius-lg));
  transition:
    transform 0.48s cubic-bezier(0.22, 1, 0.36, 1),
    box-shadow 0.48s cubic-bezier(0.22, 1, 0.36, 1);
}

@media (hover: hover) and (pointer: fine) {
  .narrative-unified__visual:hover .mockup {
    transform: translateY(-3px);
    box-shadow:
      0 1px 0 rgba(255, 255, 255, 0.95) inset,
      0 8px 32px rgba(11, 18, 32, 0.08),
      0 28px 64px rgba(11, 18, 32, 0.08),
      0 0 0 1px color-mix(in srgb, var(--color-primary) 10%, transparent),
      0 0 72px rgba(30, 64, 175, 0.08);
  }
}

.mockup--narrative .mockup__body {
  grid-template-columns: 56px 1fr;
  min-height: 0;
}

.mockup__header-row--risk {
  flex-wrap: wrap;
}

.mockup__risk-stats {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.55rem;
}

.mockup__risk-stat {
  padding: 0.45rem 0.55rem;
  border-radius: var(--radius-sm);
  border: 1px solid color-mix(in srgb, var(--color-border) 80%, rgba(30, 64, 175, 0.1));
  background: color-mix(in srgb, #fff 88%, rgba(30, 64, 175, 0.04));
  box-shadow: 0 1px 0 rgba(255, 255, 255, 0.75) inset;
}

.mockup__risk-stat-label {
  display: block;
  font-size: 0.5625rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: #94a3b8;
}

.mockup__risk-stat-val {
  display: block;
  margin-top: 0.25rem;
  font-size: 1.05rem;
  font-weight: 800;
  letter-spacing: -0.03em;
  font-variant-numeric: tabular-nums;
  color: #0f172a;
}

.mockup__risk-stat-val--warn {
  color: #be123c;
}

.mockup__table--risk .mockup__table-head {
  font-size: 0.65rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.07em;
  color: #475569;
}

.mockup__table--risk .mockup__table-row {
  gap: 0.5rem;
}

.section-head--narrative {
  max-width: none;
  margin-bottom: clamp(1.1rem, 2vw, 1.5rem);
}

section[id="dores"] .section-head--narrative h2 {
  font-size: clamp(1.65rem, 3.85vw, 2.75rem);
  text-shadow: 0 1px 12px rgba(255, 255, 255, 0.85);
}

.flow-layout {
  display: grid;
  gap: 2rem;
  align-items: start;
}

@media (min-width: 900px) {
  .flow-layout {
    grid-template-columns: minmax(0, 1.05fr) minmax(0, 1.15fr);
    gap: 2.5rem 3.5rem;
    align-items: center;
  }
}

.flow-layout__main .section-head {
  margin-bottom: 2rem;
}

/* Como funciona — pipeline em largura total */
.flow-enterprise {
  display: grid;
  gap: clamp(1.5rem, 3.5vw, 2.35rem);
  align-items: start;
}

.flow-enterprise__masthead > .section-head--flow {
  max-width: min(50rem, 100%);
  margin-bottom: 0;
}

.flow-enterprise__masthead > .section-head--flow .eyebrow {
  margin-bottom: 0.95rem;
}

.flow-enterprise__masthead > .section-head--flow h2 {
  margin-bottom: 1.05rem;
  text-rendering: optimizeLegibility;
  background-image: linear-gradient(
    118deg,
    var(--color-primary) 0%,
    var(--color-primary-mid) 40%,
    color-mix(in srgb, var(--color-secondary) 85%, var(--color-primary-mid) 15%) 78%,
    var(--color-secondary) 100%
  );
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  -webkit-text-fill-color: transparent;
}

.section-head__lead--flow {
  font-size: clamp(1.0825rem, 1.75vw, 1.28rem);
  line-height: 1.56;
}

.flow-enterprise__masthead {
  display: grid;
  gap: clamp(1.2rem, 2.5vw, 1.75rem);
  align-items: center;
}

/* Diferenciais — faixa editorial entre título e grade de recursos */
.diff-reference-banner {
  display: grid;
  gap: clamp(1.25rem, 2.4vw, 1.85rem);
  align-items: center;
  margin: clamp(1.35rem, 2.8vw, 2.1rem) 0 clamp(1.85rem, 3.2vw, 2.65rem);
  padding: clamp(1rem, 2vw, 1.35rem);
  border-radius: clamp(14px, 2vw, var(--radius-lg));
  border: 1px solid color-mix(in srgb, var(--color-border) 78%, rgba(30, 64, 175, 0.12));
  background: linear-gradient(
    168deg,
    rgba(255, 255, 255, 0.93) 0%,
    color-mix(in srgb, #fff 86%, var(--color-primary-soft)) 100%
  );
  box-shadow:
    0 1px 0 rgba(255, 255, 255, 0.92) inset,
    0 18px 40px rgba(11, 18, 32, 0.07);
}

@media (min-width: 880px) {
  .diff-reference-banner {
    grid-template-columns: minmax(0, 0.95fr) minmax(0, 1.08fr);
    gap: clamp(1.35rem, 2.6vw, 2.35rem);
    padding: clamp(1.05rem, 1.9vw, 1.45rem);
  }
}

.diff-reference-banner__photo {
  margin: 0;
}

.diff-reference-banner__photo.media-frame img {
  aspect-ratio: 4 / 3;
  object-position: center 22%;
}

.diff-reference-banner__body {
  min-width: 0;
}

.diff-reference-banner__kicker {
  margin-bottom: 0.62rem;
}

.diff-reference-banner__heading {
  margin: 0 0 0.65rem;
  font-size: clamp(1.12rem, 1.05vw + 1rem, 1.3825rem);
  font-weight: 800;
  letter-spacing: -0.026em;
  line-height: 1.26;
  color: var(--color-text);
}

.diff-reference-banner__lead {
  margin: 0;
  font-size: clamp(1rem, 0.55vw + 0.92rem, 1.0975rem);
  line-height: 1.55;
  font-weight: 550;
  color: color-mix(in srgb, var(--color-muted) 88%, var(--color-text));
}

.contact-premium__editorial {
  margin: clamp(1.05rem, 2vw, 1.45rem) 0 clamp(1.1rem, 2vw, 1.35rem);
}

.contact-premium__editorial.media-frame img {
  aspect-ratio: 16 / 10;
  object-fit: cover;
  object-position: center 38%;
}

/* Timeline horizontal — pipeline enterprise */
.pipeline-scroll {
  position: relative;
  margin-top: clamp(0.85rem, 2vw, 1.35rem);
}

@media (max-width: 1023.98px) {
  .pipeline-scroll {
    overflow-x: auto;
    overflow-y: hidden;
    padding: 0.5rem 0.35rem 1.45rem;
    margin-inline: -0.35rem;
    scroll-snap-type: x mandatory;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: thin;
    mask-image: linear-gradient(
      90deg,
      transparent,
      #000 1.25rem,
      #000 calc(100% - 1.25rem),
      transparent 100%
    );
  }
}

.pipeline-flow {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  gap: 0;
}

@media (max-width: 1023.98px) {
  .pipeline-flow {
    min-width: min(1080px, calc(100vw - 2rem));
    padding-inline: 0.25rem;
  }
}

.pipeline-flow__node {
  flex: 1 1 0;
  min-width: 0;
  display: flex;
  flex-direction: column;
  align-items: stretch;
  position: relative;
}

@media (max-width: 1023.98px) {
  .pipeline-flow__node {
    flex: 0 0 clamp(220px, 72vw, 280px);
    scroll-snap-align: start;
    scroll-snap-stop: normal;
  }

  .pipeline-flow__node:last-child {
    scroll-snap-stop: always;
  }
}

@media (min-width: 1024px) {
  .pipeline-flow__node {
    padding-inline: clamp(0.35rem, 1vw, 0.8rem);
  }
}

.pipeline-flow__stem {
  display: flex;
  align-items: center;
  margin-bottom: clamp(1.05rem, 2.2vw, 1.5rem);
  position: relative;
  z-index: 1;
}

.pipeline-flow__bubble {
  flex-shrink: 0;
  width: 2.45rem;
  height: 2.45rem;
  border-radius: 14px;
  display: grid;
  place-items: center;
  font-size: 0.95rem;
  color: var(--color-primary);
  background: linear-gradient(
    165deg,
    color-mix(in srgb, #fff 86%, var(--color-primary-soft)),
    rgba(248, 250, 252, 0.95)
  );
  border: 1px solid color-mix(in srgb, var(--color-border) 70%, rgba(30, 64, 175, 0.16));
  box-shadow:
    0 1px 0 rgba(255, 255, 255, 0.92) inset,
    0 10px 26px rgba(11, 18, 32, 0.07);
  transform: scale3d(0.82, 0.82, 1);
  transition:
    transform 0.55s cubic-bezier(0.34, 1.45, 0.36, 1),
    box-shadow 0.45s ease,
    border-color 0.35s ease;
}

.pipeline-flow__bubble--terminal {
  color: #047857;
  border-color: color-mix(in srgb, var(--color-secondary) 22%, var(--color-border));
}

.pipeline-flow__line {
  flex: 1;
  height: 2px;
  margin-left: -1px;
  margin-right: -1px;
  border-radius: 999px;
  background: linear-gradient(
    90deg,
    color-mix(in srgb, var(--color-primary) 28%, transparent),
    color-mix(in srgb, var(--color-tech-cyan) 42%, transparent),
    color-mix(in srgb, var(--color-secondary) 32%, transparent),
    color-mix(in srgb, var(--color-primary) 18%, transparent)
  );
  box-shadow:
    0 0 16px rgba(30, 64, 175, 0.12),
    0 0 28px rgba(14, 165, 233, 0.08);
  transform: scaleX(0);
  transform-origin: center left;
  transition: transform 0.72s cubic-bezier(0.22, 1, 0.36, 1);
}

.flow-enterprise__timeline-block.reveal-stagger.is-visible
  .pipeline-flow
  .pipeline-flow__node:nth-child(1)
  .pipeline-flow__line {
  transition-delay: 70ms;
  transform: scaleX(1);
}

.flow-enterprise__timeline-block.reveal-stagger.is-visible
  .pipeline-flow
  .pipeline-flow__node:nth-child(2)
  .pipeline-flow__line {
  transition-delay: 155ms;
  transform: scaleX(1);
}

.flow-enterprise__timeline-block.reveal-stagger.is-visible
  .pipeline-flow
  .pipeline-flow__node:nth-child(3)
  .pipeline-flow__line {
  transition-delay: 235ms;
  transform: scaleX(1);
}

.flow-enterprise__timeline-block.reveal-stagger.is-visible
  .pipeline-flow
  .pipeline-flow__node:nth-child(4)
  .pipeline-flow__line {
  transition-delay: 315ms;
  transform: scaleX(1);
}

.flow-enterprise__timeline-block.reveal-stagger.is-visible
  .pipeline-flow
  .pipeline-flow__node:nth-child(1),
.flow-enterprise__timeline-block.reveal-stagger.is-visible
  .pipeline-flow
  .pipeline-flow__node:nth-child(1)
  .pipeline-flow__bubble {
  transition-delay: 70ms;
}

.flow-enterprise__timeline-block.reveal-stagger.is-visible
  .pipeline-flow
  .pipeline-flow__node:nth-child(2),
.flow-enterprise__timeline-block.reveal-stagger.is-visible
  .pipeline-flow
  .pipeline-flow__node:nth-child(2)
  .pipeline-flow__bubble {
  transition-delay: 155ms;
}

.flow-enterprise__timeline-block.reveal-stagger.is-visible
  .pipeline-flow
  .pipeline-flow__node:nth-child(3),
.flow-enterprise__timeline-block.reveal-stagger.is-visible
  .pipeline-flow
  .pipeline-flow__node:nth-child(3)
  .pipeline-flow__bubble {
  transition-delay: 235ms;
}

.flow-enterprise__timeline-block.reveal-stagger.is-visible
  .pipeline-flow
  .pipeline-flow__node:nth-child(4),
.flow-enterprise__timeline-block.reveal-stagger.is-visible
  .pipeline-flow
  .pipeline-flow__node:nth-child(4)
  .pipeline-flow__bubble {
  transition-delay: 315ms;
}

.flow-enterprise__timeline-block.reveal-stagger.is-visible
  .pipeline-flow
  .pipeline-flow__node:nth-child(5),
.flow-enterprise__timeline-block.reveal-stagger.is-visible
  .pipeline-flow
  .pipeline-flow__node:nth-child(5)
  .pipeline-flow__bubble {
  transition-delay: 395ms;
}

.flow-enterprise__timeline-block.reveal-stagger.is-visible .pipeline-flow .pipeline-flow__bubble {
  transform: scale3d(1, 1, 1);
}

.pipeline-flow__node--end .pipeline-flow__line {
  display: none;
}

.pipeline-flow__card {
  flex: 1;
  padding: clamp(1.15rem, 2.3vw, 1.5rem) clamp(1.1rem, 2.1vw, 1.4rem) clamp(1.2rem, 2.4vw, 1.55rem);
  border-radius: clamp(14px, 2vw, var(--radius-md));
  border: 1px solid color-mix(in srgb, var(--color-border) 78%, rgba(30, 64, 175, 0.1));
  background: linear-gradient(
    168deg,
    rgba(255, 255, 255, 0.97) 0%,
    rgba(248, 250, 252, 0.88) 100%
  );
  box-shadow:
    0 1px 0 rgba(255, 255, 255, 0.9) inset,
    var(--shadow-card);
  transition:
    transform 0.42s cubic-bezier(0.22, 1, 0.36, 1),
    box-shadow 0.42s ease,
    border-color 0.35s ease;
}

@media (hover: hover) and (pointer: fine) {
  .pipeline-flow__node:hover .pipeline-flow__bubble {
    transform: translate3d(0, -4px, 0) scale3d(1, 1, 1);
    box-shadow:
      0 1px 0 rgba(255, 255, 255, 0.95) inset,
      0 12px 32px rgba(11, 18, 32, 0.09),
      0 0 28px rgba(30, 64, 175, 0.1);
  }

  .pipeline-flow__node:hover .pipeline-flow__card {
    transform: translate3d(0, -5px, 0);
    border-color: color-mix(in srgb, var(--color-primary) 16%, var(--color-border));
    box-shadow:
      0 1px 0 rgba(255, 255, 255, 0.95) inset,
      0 14px 36px rgba(11, 18, 32, 0.07),
      0 0 48px rgba(30, 64, 175, 0.05);
  }
}

.pipeline-flow__step {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  font-size: 0.5625rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: #94a3b8;
  margin-bottom: 0.55rem;
}

.pipeline-flow__card h3 {
  margin: 0 0 0.5rem;
  font-size: clamp(1rem, 0.95vw + 0.91rem, 1.1575rem);
  font-weight: 800;
  letter-spacing: -0.026em;
  line-height: 1.26;
}

.pipeline-flow__card p {
  margin: 0;
  font-size: clamp(0.935rem, 0.45vw + 0.88rem, 0.9825rem);
  line-height: 1.55;
  font-weight: 500;
  color: color-mix(in srgb, var(--color-muted) 92%, var(--color-text) 8%);
}

@media (prefers-reduced-motion: reduce) {
  .pipeline-flow__bubble,
  .pipeline-flow__card {
    transition: none;
  }

  .pipeline-flow__bubble {
    transform: none;
  }

  .pipeline-flow__line {
    transform: scaleX(1);
    transition: none;
  }

  .pipeline-flow__node:hover .pipeline-flow__bubble,
  .pipeline-flow__node:hover .pipeline-flow__card {
    transform: none;
  }

  .flow-enterprise__timeline-block.reveal-stagger.is-visible .pipeline-flow .pipeline-flow__node,
  .flow-enterprise__timeline-block.reveal-stagger.is-visible .pipeline-flow .pipeline-flow__bubble {
    transition-delay: 0ms;
  }

  .pipeline-scroll {
    scroll-snap-type: none;
    mask-image: none;
  }
}

/* Como funciona — timeline vertical no mobile (em vez de scroll horizontal) */
@media (max-width: 767.98px) {
  section[id="como-funciona"].section-flow-enterprise.section--surface.section--bridge {
    padding-top: calc(var(--space-section) + 0.15rem);
    padding-bottom: var(--space-section);
  }

  .flow-enterprise__masthead > .section-head--flow {
    margin-bottom: 1rem;
  }

  .section-head__lead--flow {
    font-size: clamp(1.02rem, 3.6vw, 1.12rem);
    line-height: 1.55;
  }

  .pipeline-scroll {
    overflow: visible;
    margin-inline: 0;
    padding: 0;
    mask-image: none;
    -webkit-mask-image: none;
  }

  .pipeline-flow {
    flex-direction: column;
    min-width: 0;
    width: 100%;
    padding-inline: 0;
    gap: 0;
  }

  .pipeline-flow__node {
    flex: none;
    width: 100%;
    max-width: 100%;
    display: grid;
    grid-template-columns: 2.5rem minmax(0, 1fr);
    column-gap: 0.85rem;
    align-items: start;
    scroll-snap-align: unset;
    scroll-snap-stop: normal;
  }

  .pipeline-flow__stem {
    grid-column: 1;
    grid-row: 1 / span 2;
    flex-direction: column;
    align-items: center;
    margin-bottom: 0;
    align-self: stretch;
  }

  .pipeline-flow__bubble {
    width: 2.15rem;
    height: 2.15rem;
    font-size: 0.85rem;
    border-radius: 12px;
  }

  .pipeline-flow__line {
    flex: 1;
    width: 2px;
    height: auto;
    min-height: 1.35rem;
    margin: 0.3rem 0 0;
    transform-origin: top center;
    background: linear-gradient(
      180deg,
      color-mix(in srgb, var(--color-primary) 28%, transparent),
      color-mix(in srgb, var(--color-tech-cyan) 42%, transparent),
      color-mix(in srgb, var(--color-secondary) 32%, transparent)
    );
    transform: scaleY(0);
  }

  .pipeline-flow__node--end .pipeline-flow__line {
    display: none;
  }

  .flow-enterprise__timeline-block.reveal-stagger.is-visible
    .pipeline-flow
    .pipeline-flow__node:nth-child(1)
    .pipeline-flow__line,
  .flow-enterprise__timeline-block.reveal-stagger.is-visible
    .pipeline-flow
    .pipeline-flow__node:nth-child(2)
    .pipeline-flow__line,
  .flow-enterprise__timeline-block.reveal-stagger.is-visible
    .pipeline-flow
    .pipeline-flow__node:nth-child(3)
    .pipeline-flow__line,
  .flow-enterprise__timeline-block.reveal-stagger.is-visible
    .pipeline-flow
    .pipeline-flow__node:nth-child(4)
    .pipeline-flow__line {
    transform: scaleY(1);
  }

  .pipeline-flow__card {
    grid-column: 2;
    grid-row: 1;
    margin-bottom: 1.1rem;
    padding: 1rem 1rem 1.05rem;
  }

  .pipeline-flow__node:last-child .pipeline-flow__card {
    margin-bottom: 0;
  }

  .pipeline-flow__card h3 {
    font-size: 1.02rem;
  }

  .pipeline-flow__card p {
    font-size: 0.9375rem;
    line-height: 1.52;
  }
}

@media (prefers-reduced-motion: reduce) {
  @media (max-width: 767.98px) {
    .pipeline-flow__line {
      transform: scaleY(1);
    }
  }
}

.split__aside {
  display: flex;
  flex-direction: column;
  gap: 0;
  align-items: stretch;
}

.split--media .split__figure {
  margin: 0;
}

@media (min-width: 900px) {
  .split--media .split__aside {
    min-height: 0;
  }

  .split--media .split__figure {
    display: flex;
    flex-direction: column;
    flex: 1 1 auto;
    min-height: 0;
    height: 100%;
  }

  .split--media .split__figure.media-frame img {
    flex: 1 1 auto;
    width: 100%;
    min-height: 0;
    height: 100%;
    aspect-ratio: unset;
    object-fit: cover;
    object-position: center;
  }
}

.impl-layout {
  display: grid;
  gap: 2rem;
  align-items: start;
}

@media (min-width: 900px) {
  .impl-layout {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1.18fr);
    gap: 2.5rem 3rem;
    /* Mesma altura nas duas colunas: foto cobre do topo à base do texto + timeline */
    align-items: stretch;
  }

  .impl-layout__figure {
    display: flex;
    flex-direction: column;
    min-height: 0;
  }

  .impl-layout__figure.media-frame img {
    flex: 1 1 auto;
    width: 100%;
    min-height: 0;
    aspect-ratio: unset;
    object-fit: cover;
    object-position: center;
  }

  /* Alternância visual: imagem à direita nesta faixa */
  .impl-layout--mirror {
    direction: rtl;
  }

  .impl-layout--mirror > * {
    direction: ltr;
  }
}

.impl-layout__content .section-head {
  margin-bottom: 2rem;
}

/* Mockup */
.mockup {
  border-radius: var(--radius-lg);
  border: 1px solid var(--color-border);
  background: linear-gradient(165deg, var(--color-surface), var(--color-bg));
  box-shadow: var(--shadow-float);
  overflow: hidden;
}

.mockup__chrome {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 0.75rem 1rem;
  border-bottom: 1px solid var(--color-border);
  background: var(--color-bg);
}

.mockup__dot {
  width: 10px;
  height: 10px;
  border-radius: 50%;
}

.mockup__dot--r {
  background: #ff5f57;
}

.mockup__dot--y {
  background: #febc2e;
}

.mockup__dot--g {
  background: #28c840;
}

.mockup__url {
  margin-left: auto;
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  font-size: 0.7rem;
  color: var(--color-muted);
  font-weight: 500;
}

.mockup__url i {
  font-size: 0.65rem;
  color: var(--color-secondary);
}

.mockup__body {
  display: grid;
  grid-template-columns: 72px 1fr;
  min-height: 260px;
}

.mockup__sidebar {
  border-right: 1px solid var(--color-border);
  padding: 1rem 0.75rem;
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}

.mockup__nav-item {
  height: 8px;
  border-radius: 4px;
  background: rgba(11, 18, 32, 0.08);
}

.mockup__nav-item--icon {
  height: auto;
  min-height: 2rem;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0.4rem;
  font-size: 0.75rem;
  color: var(--color-muted);
}

.mockup__nav-item--icon.mockup__nav-item--active {
  background: var(--color-primary);
  color: #fff;
}

.mockup__nav-item--active:not(.mockup__nav-item--icon) {
  background: var(--color-primary);
  width: 100%;
}

.mockup__main {
  padding: 1rem 1.25rem 1.25rem;
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

.mockup__header-row {
  display: flex;
  align-items: center;
  gap: 0.75rem;
}

.mockup__title-bar {
  flex: 1;
  height: 10px;
  border-radius: 5px;
  background: rgba(11, 18, 32, 0.08);
}

.mockup__pill {
  display: inline-flex;
  align-items: center;
  gap: 0.3rem;
  font-size: 0.65rem;
  font-weight: 600;
  padding: 0.25rem 0.5rem;
  border-radius: 999px;
}

.mockup__pill--ai {
  background: var(--color-primary-soft);
  color: var(--color-primary);
  border: 1px solid rgba(30, 64, 175, 0.35);
}

.mockup__cards {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0.65rem;
}

.mockup__card {
  padding: 0.65rem;
  border-radius: var(--radius-sm);
  border: 1px solid var(--color-border);
  background: var(--color-bg);
}

.mockup__label {
  display: flex;
  align-items: center;
  gap: 0.35rem;
  font-size: 0.65rem;
  color: var(--color-muted);
  margin-bottom: 0.25rem;
}

.mockup__label i {
  font-size: 0.6rem;
  opacity: 0.85;
}

.mockup__value {
  font-size: 0.75rem;
  font-weight: 600;
}

.mockup__chart {
  flex: 1;
  display: flex;
  align-items: flex-end;
  gap: 6px;
  min-height: 72px;
  padding-top: 0.5rem;
  border-top: 1px dashed var(--color-border);
}

.mockup__bar {
  flex: 1;
  height: var(--h);
  background: linear-gradient(180deg, var(--color-primary), rgba(30, 64, 175, 0.45));
  border-radius: 4px 4px 0 0;
  opacity: 0.85;
  transform-origin: bottom center;
  transition: opacity var(--transition), transform var(--transition);
}

/* Mockup — variante hero (dashboard / placeholder até vídeo) */
.mockup--hero .mockup__body {
  flex: 1;
  min-height: 0;
}

.mockup--hero .mockup__chrome {
  flex-wrap: wrap;
  row-gap: 0.5rem;
  align-items: center;
  background: linear-gradient(180deg, rgba(248, 250, 252, 0.98), rgba(229, 231, 235, 0.92));
  border-bottom-color: rgba(11, 18, 32, 0.09);
}

.mockup--hero .mockup__url {
  margin-left: auto;
}

.mockup__status {
  flex-basis: 100%;
  display: inline-flex;
  align-items: center;
  justify-content: flex-end;
  gap: 0.4rem;
  font-size: 0.62rem;
  font-weight: 600;
  letter-spacing: 0.02em;
  text-transform: uppercase;
  color: #64748b;
}

.mockup__status-dot {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--color-secondary);
  box-shadow: 0 0 0 3px var(--color-secondary-soft);
}

.mockup--hero .mockup__header-row {
  flex-wrap: wrap;
  align-items: center;
  gap: 0.5rem 0.65rem;
}

.mockup--hero .mockup__title-bar {
  flex: 1 1 120px;
  min-width: 72px;
  height: 11px;
  background: linear-gradient(90deg, rgba(11, 18, 32, 0.08), rgba(11, 18, 32, 0.04));
}

.mockup__pill--sla {
  background: rgba(11, 18, 32, 0.06);
  color: #475569;
  border: 1px solid rgba(11, 18, 32, 0.08);
}

.mockup__pill--ghost {
  font-size: 0.6rem;
  font-weight: 600;
  background: rgba(255, 255, 255, 0.75);
  color: #64748b;
  border: 1px solid var(--color-border);
}

.mockup__pill--ok {
  color: #047857;
  border-color: rgba(16, 185, 129, 0.35);
  background: var(--color-secondary-soft);
}

.mockup__cards--hero .mockup__card {
  background: rgba(255, 255, 255, 0.88);
  box-shadow: 0 1px 0 rgba(255, 255, 255, 0.8) inset;
}

.mockup__dashboard {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0.65rem;
  align-items: end;
}

@media (max-width: 520px) {
  .mockup__dashboard {
    grid-template-columns: 1fr;
  }
}

.mockup__spark {
  padding: 0.55rem 0.65rem;
  border-radius: var(--radius-sm);
  border: 1px solid var(--color-border);
  background: linear-gradient(165deg, rgba(255, 255, 255, 0.95), rgba(241, 245, 249, 0.88));
  box-shadow: 0 1px 2px rgba(11, 18, 32, 0.04);
}

.mockup__spark-svg {
  display: block;
  width: 100%;
  height: auto;
  max-height: 42px;
}

.mockup__spark-line {
  stroke-dasharray: 140;
  stroke-dashoffset: 140;
  animation: mockup-spark-reveal 2.5s cubic-bezier(0.22, 1, 0.36, 1) forwards;
}

.mockup__spark-label {
  display: block;
  margin-top: 0.35rem;
  font-size: 0.58rem;
  font-weight: 600;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: #94a3b8;
}

@keyframes mockup-spark-reveal {
  to {
    stroke-dashoffset: 0;
  }
}

@media (prefers-reduced-motion: reduce) {
  .mockup__spark-line {
    animation: none;
    stroke-dashoffset: 0;
  }
}

.mockup__chart--hero {
  flex: initial;
  min-height: 76px;
  padding: 0.5rem 0.6rem 0.35rem;
  border-radius: var(--radius-sm);
  border: 1px dashed rgba(11, 18, 32, 0.12);
  background: rgba(255, 255, 255, 0.55);
  border-top: none;
}

.mockup--hero .mockup__chart--hero .mockup__bar {
  animation: mockup-bar-soft 5.5s ease-in-out infinite;
}

.mockup--hero .mockup__chart--hero .mockup__bar:nth-child(2) {
  animation-delay: 0.35s;
}

.mockup--hero .mockup__chart--hero .mockup__bar:nth-child(3) {
  animation-delay: 0.7s;
}

.mockup--hero .mockup__chart--hero .mockup__bar:nth-child(4) {
  animation-delay: 1.05s;
}

@keyframes mockup-bar-soft {
  0%,
  100% {
    transform: scaleY(1);
    opacity: 0.85;
  }
  50% {
    transform: scaleY(1.06);
    opacity: 0.95;
  }
}

@media (prefers-reduced-motion: reduce) {
  .mockup--hero .mockup__chart--hero .mockup__bar {
    animation: none !important;
  }
}

.mockup__table {
  margin-top: 0.15rem;
  padding: 0.6rem 0.65rem;
  border-radius: var(--radius-sm);
  border: 1px solid rgba(11, 18, 32, 0.08);
  background: rgba(248, 250, 252, 0.75);
}

.mockup__table-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  margin-bottom: 0.55rem;
  padding-bottom: 0.45rem;
  border-bottom: 1px solid rgba(11, 18, 32, 0.07);
}

.mockup__table-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.65rem;
  padding: 0.45rem 0;
}

.mockup__table-row + .mockup__table-row {
  border-top: 1px solid rgba(11, 18, 32, 0.05);
}

.mockup__sk {
  display: block;
  height: 8px;
  border-radius: 4px;
  background: linear-gradient(
    90deg,
    rgba(11, 18, 32, 0.09),
    rgba(11, 18, 32, 0.05),
    rgba(11, 18, 32, 0.1)
  );
  background-size: 200% 100%;
  animation: mockup-shimmer 2.8s ease-in-out infinite;
}

.mockup__sk--lg {
  flex: 1;
  max-width: 55%;
}

.mockup__sk--md {
  flex: 1;
  max-width: 62%;
}

.mockup__sk--sm {
  width: 4.5rem;
  flex-shrink: 0;
}

@keyframes mockup-shimmer {
  0% {
    background-position: 100% 0;
  }
  100% {
    background-position: -100% 0;
  }
}

@media (prefers-reduced-motion: reduce) {
  .mockup__sk {
    animation: none;
    background: rgba(11, 18, 32, 0.08);
  }
}

.mockup--hero .mockup__main {
  flex: 1;
  gap: 0.75rem;
  padding: clamp(0.75rem, 2vw, 1rem) clamp(0.85rem, 2vw, 1.15rem) clamp(0.85rem, 2vw, 1.1rem);
}

/* Ponte visual entre faixas (gradient + glow cinematográfico) */
.section--bridge {
  position: relative;
  overflow: clip;
}

.section--bridge::after {
  content: "";
  position: absolute;
  left: 8%;
  right: 8%;
  bottom: 0;
  height: 48px;
  pointer-events: none;
  background:
    radial-gradient(ellipse 80% 100% at 50% 0%, rgba(30, 64, 175, 0.14), transparent 62%),
    radial-gradient(ellipse 60% 100% at 72% 0%, rgba(16, 185, 129, 0.07), transparent 58%);
  filter: blur(18px);
  opacity: 0.55;
}

.section--surface.section--bridge::after {
  opacity: 0.45;
}

.section--surface.section--bridge {
  padding-bottom: calc(var(--space-section) + 18px);
}

section[id="dores"].section--bridge::after {
  opacity: 0.38;
}

section[id="como-funciona"].section--bridge::before {
  content: "";
  position: absolute;
  left: 12%;
  right: 12%;
  top: 0;
  height: 1px;
  pointer-events: none;
  background: linear-gradient(
    90deg,
    transparent,
    color-mix(in srgb, var(--color-primary) 22%, transparent),
    color-mix(in srgb, var(--color-tech-cyan) 18%, transparent),
    color-mix(in srgb, var(--color-secondary) 20%, transparent),
    transparent
  );
  opacity: 0.75;
  box-shadow: 0 6px 42px rgba(30, 64, 175, 0.06);
}

/* Como funciona — equilíbrio vertical da faixa */
section[id="como-funciona"].section-flow-enterprise.section--surface.section--bridge {
  padding-top: calc(var(--space-section) + 0.4rem);
  padding-bottom: calc(var(--space-section) + 0.35rem);
}

section[id="como-funciona"].section-flow-enterprise {
  isolation: isolate;
}

/* Trust / confiança — módulos enterprise (grade desktop, swipe mobile) */
.section--trust {
  --trust-enterprise-blue: #1e40af;
  --trust-tech-cyan: #0ea5e9;
  --trust-compliance-green: #10b981;
  position: relative;
  overflow-x: clip;
  padding: clamp(3.75rem, 8.5vw, 6rem) 0 clamp(3.5rem, 7.5vw, 5.25rem);
  border-top: 1px solid color-mix(in srgb, var(--color-border) 80%, transparent);
  border-bottom: 1px solid color-mix(in srgb, var(--color-border) 80%, transparent);
  background:
    linear-gradient(
      165deg,
      rgba(255, 255, 255, 0.97) 0%,
      rgba(248, 250, 252, 0.94) 38%,
      rgba(241, 245, 249, 0.88) 72%,
      rgba(229, 231, 235, 0.35) 100%
    ),
    radial-gradient(ellipse 120% 80% at 8% -15%, rgba(30, 64, 175, 0.09), transparent 52%),
    radial-gradient(ellipse 90% 70% at 92% 8%, rgba(14, 165, 233, 0.06), transparent 50%),
    radial-gradient(ellipse 70% 55% at 50% 108%, rgba(16, 185, 129, 0.07), transparent 55%),
    radial-gradient(ellipse 55% 40% at 75% 45%, rgba(30, 64, 175, 0.04), transparent 60%);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.85),
    inset 0 0 120px rgba(255, 255, 255, 0.25),
    0 20px 56px rgba(11, 18, 32, 0.055);
}

.section--trust::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  opacity: 0.42;
  background-image:
    linear-gradient(rgba(11, 18, 32, 0.022) 1px, transparent 1px),
    linear-gradient(90deg, rgba(11, 18, 32, 0.022) 1px, transparent 1px);
  background-size: 64px 64px;
  background-position: -1px -1px;
  -webkit-mask-image: radial-gradient(ellipse 85% 70% at 50% 35%, #000 0%, transparent 72%);
  mask-image: radial-gradient(ellipse 85% 70% at 50% 35%, #000 0%, transparent 72%);
}

.section-head--trust {
  position: relative;
  z-index: 1;
  margin-bottom: 0;
}

.section-head--trust h2 {
  font-size: var(--heading-section-display);
  font-weight: 900;
  letter-spacing: -0.035em;
  line-height: 1.13;
  text-wrap: balance;
  text-rendering: optimizeLegibility;
  background-image: linear-gradient(
    118deg,
    var(--color-primary) 0%,
    var(--color-primary-mid) 40%,
    color-mix(in srgb, var(--color-secondary) 85%, var(--color-primary-mid) 15%) 78%,
    var(--color-secondary) 100%
  );
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  -webkit-text-fill-color: transparent;
}

.section-head__lead--trust {
  font-size: var(--lead-section-display);
  line-height: 1.53;
  font-weight: 600;
  margin-inline: auto;
  max-width: min(42rem, 100%);
  color: color-mix(in srgb, #475569 88%, var(--color-text) 12%);
}

.trust-carousel__caption {
  position: relative;
  z-index: 1;
  margin: 1.15rem 0 0;
  font-size: 0.9375rem;
  color: #64748b;
  line-height: 1.58;
  letter-spacing: 0.01em;
  text-align: center;
  max-width: min(42rem, 100%);
  margin-inline: auto;
}

.trust-carousel {
  position: relative;
  z-index: 1;
  margin-top: clamp(2rem, 4.8vw, 3rem);
  padding-block: 0.35rem 0.85rem;
}

.trust-carousel__shell {
  width: var(--container);
  max-width: 100%;
  margin-inline: auto;
  padding-inline: 0;
}

.trust-carousel__viewport {
  width: 100%;
  padding-block: 0.55rem 0.85rem;
  margin-inline: 0;
  padding-inline: 0;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: thin;
  scrollbar-color: color-mix(in srgb, var(--color-primary) 35%, transparent) transparent;
}

.trust-strip--modules {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-wrap: nowrap;
  gap: 1rem;
  width: max-content;
  min-width: 100%;
}

@media (min-width: 960px) {
  .trust-carousel__viewport {
    overflow: visible;
    margin-inline: 0;
    padding-inline: 0;
    -webkit-mask-image: none;
    mask-image: none;
  }

  .trust-strip--modules {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: clamp(1.15rem, 2.2vw, 1.5rem);
    width: 100%;
    min-width: 0;
  }
}

.trust-strip__item {
  --trust-accent: var(--color-primary);
  --trust-accent-soft: var(--color-primary-soft);
  --trust-bar-glow: color-mix(in srgb, var(--trust-accent) 28%, transparent);
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 1.2rem;
  padding: 1.55rem 1.55rem 1.65rem;
  padding-top: 1.65rem;
  border-radius: clamp(14px, 2vw, 18px);
  border: 1px solid color-mix(in srgb, rgba(255, 255, 255, 0.7) 40%, rgba(11, 18, 32, 0.08));
  background: linear-gradient(
    155deg,
    rgba(255, 255, 255, 0.78) 0%,
    rgba(255, 255, 255, 0.55) 48%,
    rgba(248, 250, 252, 0.72) 100%
  );
  backdrop-filter: blur(14px) saturate(140%);
  -webkit-backdrop-filter: blur(14px) saturate(140%);
  box-shadow:
    0 1px 0 rgba(255, 255, 255, 0.9) inset,
    0 2px 6px rgba(11, 18, 32, 0.04),
    0 16px 40px rgba(11, 18, 32, 0.07);
  transition:
    transform 0.42s cubic-bezier(0.22, 1, 0.36, 1),
    box-shadow 0.42s cubic-bezier(0.22, 1, 0.36, 1),
    border-color 0.35s ease;
  position: relative;
  overflow: hidden;
}

.trust-strip__item::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  border-radius: inherit;
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.35);
  opacity: 0.85;
}

.trust-strip__item::after {
  content: "";
  position: absolute;
  inset: 0 0 auto 0;
  height: 3px;
  border-radius: 3px 3px 0 0;
  background: linear-gradient(
    90deg,
    var(--trust-enterprise-blue),
    var(--trust-accent) 36%,
    var(--trust-compliance-green) 68%,
    var(--trust-tech-cyan) 100%
  );
  background-size: 160% 100%;
  background-position: 0% 50%;
  opacity: 0.98;
  pointer-events: none;
  box-shadow:
    0 2px 12px var(--trust-bar-glow),
    0 1px 0 color-mix(in srgb, var(--trust-accent) 25%, transparent);
  transition: background-position 0.5s cubic-bezier(0.22, 1, 0.36, 1);
}

.trust-strip__item[data-trust="privacy"] {
  --trust-accent: #047857;
  --trust-accent-soft: rgba(4, 120, 87, 0.12);
}

.trust-strip__item[data-trust="nr1"] {
  --trust-accent: #b45309;
  --trust-accent-soft: rgba(180, 83, 9, 0.14);
}

.trust-strip__item[data-trust="crypto"] {
  --trust-accent: #4338ca;
  --trust-accent-soft: rgba(67, 56, 202, 0.12);
}

.trust-strip__item[data-trust="ai"] {
  --trust-accent: #0f766e;
  --trust-accent-soft: rgba(15, 118, 110, 0.14);
}

.trust-strip__item[data-trust="compliance"] {
  --trust-accent: #1d4ed8;
  --trust-accent-soft: rgba(29, 78, 216, 0.12);
}

.trust-strip__item--featured {
  --trust-bar-glow: color-mix(in srgb, var(--trust-accent) 38%, rgba(14, 165, 233, 0.25));
}

@media (min-width: 960px) {
  .trust-strip__item--featured {
    transform: translateY(-6px) scale(1.025);
    z-index: 2;
    padding: 1.7rem 1.65rem 1.85rem;
    padding-top: 1.85rem;
    border-color: color-mix(in srgb, var(--trust-accent) 22%, rgba(11, 18, 32, 0.08));
    background: linear-gradient(
      155deg,
      rgba(255, 255, 255, 0.88) 0%,
      rgba(240, 253, 250, 0.45) 42%,
      rgba(255, 255, 255, 0.72) 100%
    );
    box-shadow:
      0 1px 0 rgba(255, 255, 255, 0.95) inset,
      0 2px 8px rgba(11, 18, 32, 0.05),
      0 22px 48px rgba(11, 18, 32, 0.1),
      0 0 0 1px color-mix(in srgb, var(--trust-accent) 12%, transparent),
      0 0 64px color-mix(in srgb, var(--trust-accent) 15%, transparent);
  }

  .trust-strip__item--featured::after {
    height: 3.5px;
    box-shadow:
      0 2px 20px var(--trust-bar-glow),
      0 0 32px color-mix(in srgb, var(--trust-tech-cyan) 28%, transparent),
      0 0 48px color-mix(in srgb, var(--trust-accent) 12%, transparent);
  }
}

@media (max-width: 959.98px) {
  .trust-carousel__viewport {
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    scroll-padding-inline: 1rem;
    -webkit-mask-image: linear-gradient(90deg, transparent 0%, #000 2%, #000 98%, transparent 100%);
    mask-image: linear-gradient(90deg, transparent 0%, #000 2%, #000 98%, transparent 100%);
  }

  .trust-strip--modules {
    gap: 1.1rem;
    padding-block: 0.2rem;
    min-width: min-content;
  }

  .trust-strip__item {
    flex: 0 0 min(88vw, 340px);
    scroll-snap-align: start;
    scroll-snap-stop: normal;
  }

  .trust-strip__item--featured {
    flex-basis: min(92vw, 356px);
    border-color: color-mix(in srgb, var(--trust-accent) 20%, rgba(11, 18, 32, 0.08));
    box-shadow:
      0 1px 0 rgba(255, 255, 255, 0.9) inset,
      0 4px 12px rgba(11, 18, 32, 0.06),
      0 18px 44px rgba(11, 18, 32, 0.09),
      0 0 0 1px color-mix(in srgb, var(--trust-accent) 11%, transparent),
      0 0 48px color-mix(in srgb, var(--trust-accent) 12%, transparent);
  }
}

@media (hover: hover) and (pointer: fine) {
  .trust-strip__item:hover {
    transform: translateY(-6px);
    border-color: color-mix(in srgb, var(--trust-accent) 26%, var(--color-border));
    box-shadow:
      0 1px 0 rgba(255, 255, 255, 0.95) inset,
      0 3px 10px rgba(11, 18, 32, 0.05),
      0 24px 52px rgba(11, 18, 32, 0.11),
      0 0 0 1px color-mix(in srgb, var(--trust-accent) 14%, transparent);
  }

  .trust-strip__item:hover::after {
    background-position: 100% 50%;
  }

  .trust-strip__item--featured:hover {
    transform: translateY(-10px) scale(1.03);
  }
}

.trust-strip__icon {
  flex-shrink: 0;
  width: 3.5rem;
  height: 3.5rem;
  display: grid;
  place-items: center;
  border-radius: 15px;
  background: linear-gradient(
    148deg,
    var(--trust-accent-soft),
    rgba(255, 255, 255, 0.88) 55%,
    color-mix(in srgb, var(--trust-accent-soft) 40%, rgba(255, 255, 255, 0.9)) 100%
  );
  color: var(--trust-accent);
  font-size: 1.32rem;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.85),
    0 2px 8px rgba(11, 18, 32, 0.07),
    0 0 20px color-mix(in srgb, var(--trust-accent) 8%, transparent);
  transition:
    transform 0.42s cubic-bezier(0.22, 1, 0.36, 1),
    box-shadow 0.42s cubic-bezier(0.22, 1, 0.36, 1);
}

@media (hover: hover) and (pointer: fine) {
  .trust-strip__item:hover .trust-strip__icon {
    transform: translateY(-2px) scale(1.03);
    box-shadow:
      inset 0 1px 0 rgba(255, 255, 255, 0.92),
      0 4px 14px rgba(11, 18, 32, 0.09),
      0 0 28px color-mix(in srgb, var(--trust-accent) 12%, transparent);
  }
}

.trust-strip__body {
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 0;
  flex: 1;
}

.trust-strip__meta {
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem;
  margin: 0 0 0.65rem;
}

.trust-strip__badge {
  display: inline-flex;
  align-items: center;
  padding: 0.22rem 0.55rem;
  border-radius: 999px;
  font-size: 0.6875rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: color-mix(in srgb, var(--trust-accent) 22%, #334155);
  background: color-mix(in srgb, var(--trust-accent-soft) 75%, rgba(255, 255, 255, 0.92));
  border: 1px solid color-mix(in srgb, var(--trust-accent) 18%, rgba(255, 255, 255, 0.6));
  box-shadow: 0 1px 0 rgba(255, 255, 255, 0.7) inset;
}

.trust-strip__item--featured .trust-strip__badge {
  color: #0f172a;
  background: color-mix(in srgb, var(--trust-accent-soft) 55%, rgba(255, 255, 255, 0.95));
}

.trust-strip__title {
  margin: 0 0 0.2rem;
  font-size: 1.08rem;
  font-weight: 700;
  letter-spacing: -0.025em;
  line-height: 1.2;
  color: #0b1220;
}

.trust-strip__text {
  margin: 0;
  margin-top: auto;
  font-size: 0.875rem;
  line-height: 1.55;
  letter-spacing: 0.01em;
  color: #64748b;
}

@media (prefers-reduced-motion: reduce) {
  .trust-strip__item,
  .trust-strip__icon,
  .trust-strip__item::after {
    transition: none;
  }

  .trust-strip__item:hover,
  .trust-strip__item--featured:hover {
    transform: none;
  }

  .trust-carousel__viewport {
    scroll-snap-type: none;
  }
}

/* Cards grid pain */
.grid-pain {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 1rem;
}

@media (min-width: 640px) {
  .grid-pain:not(.pain-carousel__track) {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (min-width: 960px) {
  .grid-pain:not(.pain-carousel__track) {
    grid-template-columns: repeat(3, 1fr);
  }
}

.grid-pain.grid-pain--incidents {
  gap: 0.75rem;
}

@media (min-width: 960px) {
  .grid-pain.grid-pain--incidents:not(.pain-carousel__track) {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.85rem 1rem;
  }
}

/* Carrossel avançado — seção Dores */
.pain-carousel {
  position: relative;
  margin-top: clamp(1.35rem, 2.8vw, 1.85rem);
}

.pain-carousel__toolbar {
  margin-bottom: 0.75rem;
}

.pain-carousel__live {
  margin: 0;
  font-size: 0.75rem;
  font-weight: 600;
  letter-spacing: 0.02em;
  color: #64748b;
}

.pain-carousel__counter {
  font-variant-numeric: tabular-nums;
  color: #334155;
}

.pain-carousel__live-label {
  color: #94a3b8;
}

.pain-carousel__controls {
  display: flex;
  align-items: center;
  gap: 0.45rem;
  flex-shrink: 0;
}

.pain-carousel__btn {
  width: 2.35rem;
  height: 2.35rem;
  display: grid;
  place-items: center;
  border-radius: 999px;
  border: 1px solid color-mix(in srgb, var(--color-border) 80%, rgba(30, 64, 175, 0.12));
  background: linear-gradient(
    165deg,
    rgba(255, 255, 255, 0.96) 0%,
    rgba(248, 250, 252, 0.88) 100%
  );
  color: var(--color-primary);
  cursor: pointer;
  box-shadow:
    0 1px 0 rgba(255, 255, 255, 0.92) inset,
    0 2px 8px rgba(11, 18, 32, 0.05);
  transition:
    transform 0.32s cubic-bezier(0.22, 1, 0.36, 1),
    border-color 0.28s ease,
    box-shadow 0.32s ease,
    opacity 0.28s ease;
}

.pain-carousel__btn:hover:not(:disabled) {
  transform: translateY(-1px);
  border-color: color-mix(in srgb, var(--color-primary) 24%, var(--color-border));
  box-shadow:
    0 1px 0 rgba(255, 255, 255, 0.95) inset,
    0 6px 18px rgba(11, 18, 32, 0.08);
}

.pain-carousel__btn:disabled {
  opacity: 0.38;
  cursor: not-allowed;
}

.pain-carousel__shell {
  position: relative;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: 0.35rem;
}

.pain-carousel__side {
  flex-shrink: 0;
  width: 2.5rem;
  height: 2.5rem;
  display: grid;
  place-items: center;
  border-radius: 999px;
  border: 1px solid color-mix(in srgb, var(--color-border) 80%, rgba(30, 64, 175, 0.14));
  background: linear-gradient(
    165deg,
    rgba(255, 255, 255, 0.98) 0%,
    rgba(248, 250, 252, 0.9) 100%
  );
  color: var(--color-primary);
  cursor: pointer;
  box-shadow:
    0 1px 0 rgba(255, 255, 255, 0.92) inset,
    0 4px 14px rgba(11, 18, 32, 0.07);
  z-index: 3;
  transition:
    transform 0.32s cubic-bezier(0.22, 1, 0.36, 1),
    border-color 0.28s ease,
    box-shadow 0.32s ease;
}

.pain-carousel__side:hover {
  transform: translateY(-1px);
  border-color: color-mix(in srgb, var(--color-primary) 28%, var(--color-border));
  box-shadow:
    0 1px 0 rgba(255, 255, 255, 0.95) inset,
    0 8px 22px rgba(11, 18, 32, 0.1);
}

.pain-carousel__side:focus-visible {
  outline: 2px solid color-mix(in srgb, var(--color-primary) 55%, transparent);
  outline-offset: 2px;
}

.pain-carousel__nav {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  gap: 0.5rem 0.65rem;
  margin-top: 0.15rem;
}

.pain-carousel__btn-label {
  font-size: 0.6875rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.pain-carousel__btn--prev,
.pain-carousel__btn--next {
  min-width: 2.35rem;
  padding-inline: 0.65rem;
  width: auto;
  height: 2.5rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.35rem;
}

.pain-carousel__btn--toggle {
  width: 2.65rem;
  height: 2.65rem;
  flex-shrink: 0;
  border-color: color-mix(in srgb, var(--color-primary) 22%, var(--color-border));
  background: linear-gradient(
    165deg,
    color-mix(in srgb, #fff 90%, var(--color-primary-soft)),
    rgba(248, 250, 252, 0.92) 100%
  );
}

.pain-carousel__icon--play {
  display: none;
  margin-left: 2px;
}

.pain-carousel.is-paused .pain-carousel__icon--pause {
  display: none;
}

.pain-carousel.is-paused .pain-carousel__icon--play {
  display: block;
}

.pain-carousel__dots {
  flex: 1 1 auto;
  min-width: 0;
  max-width: 100%;
  justify-content: center;
  padding-inline: 0.25rem;
}

.pain-carousel__dot {
  width: 0.52rem;
  height: 0.52rem;
}

.pain-carousel__dot.is-active {
  width: 1.5rem;
}

.pain-carousel__progress {
  position: relative;
}

.pain-carousel__progress-timer {
  position: absolute;
  inset: 0 auto 0 0;
  width: 0;
  height: 100%;
  border-radius: inherit;
  background: color-mix(in srgb, var(--color-secondary) 55%, var(--color-primary));
  opacity: 0.45;
  pointer-events: none;
}

@keyframes pain-carousel-timer {
  from {
    width: 0;
  }
  to {
    width: 100%;
  }
}

.pain-carousel.is-autoplaying .pain-carousel__progress-timer {
  opacity: 0.55;
}

@media (max-width: 639.98px) {
  .pain-carousel__side {
    display: none;
  }

  .pain-carousel__shell {
    grid-template-columns: minmax(0, 1fr);
    gap: 0;
  }

  .pain-carousel__btn-label {
    display: none;
  }

  .pain-carousel__btn--prev,
  .pain-carousel__btn--next {
    width: 2.45rem;
    padding-inline: 0;
  }

  .pain-carousel__nav {
    gap: 0.45rem;
  }

  .pain-carousel__dots {
    order: -1;
    flex: 1 1 100%;
    margin-bottom: 0.15rem;
  }
}

@media (min-width: 640px) {
  .pain-carousel__nav .pain-carousel__btn--prev,
  .pain-carousel__nav .pain-carousel__btn--next {
    display: none;
  }
}

@media (prefers-reduced-motion: reduce) {
  .pain-carousel__btn--toggle,
  .pain-carousel__progress-timer {
    display: none;
  }

  .pain-carousel__side {
    display: none;
  }
}

.pain-carousel__viewport {
  overflow-x: auto;
  overflow-y: visible;
  scroll-snap-type: x mandatory;
  scroll-behavior: smooth;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
  -ms-overflow-style: none;
  padding-block: 0.35rem 0.55rem;
  margin-inline: -0.35rem;
  padding-inline: 0.35rem;
  -webkit-mask-image: linear-gradient(
    90deg,
    transparent 0%,
    #000 3%,
    #000 97%,
    transparent 100%
  );
  mask-image: linear-gradient(90deg, transparent 0%, #000 3%, #000 97%, transparent 100%);
}

.pain-carousel__viewport::-webkit-scrollbar {
  display: none;
}

.pain-carousel__viewport:focus-visible {
  outline: 2px solid color-mix(in srgb, var(--color-primary) 55%, transparent);
  outline-offset: 4px;
  border-radius: var(--radius-sm);
}

.pain-carousel__track {
  display: flex;
  flex-wrap: nowrap;
  align-items: stretch;
  gap: clamp(0.75rem, 2vw, 1rem);
  width: max-content;
  min-width: 100%;
  padding-inline: clamp(0.15rem, 1.2vw, 0.35rem);
}

.pain-carousel__track > .card--incident {
  flex: 0 0 min(92%, 26.5rem);
  scroll-snap-align: center;
  scroll-snap-stop: always;
  opacity: 0.62;
  transform: scale(0.965);
  filter: saturate(0.88);
  transition:
    opacity 0.45s cubic-bezier(0.22, 1, 0.36, 1),
    transform 0.45s cubic-bezier(0.22, 1, 0.36, 1),
    filter 0.45s ease,
    box-shadow 0.45s cubic-bezier(0.22, 1, 0.36, 1);
}

.pain-carousel__track > .card--incident.is-active {
  opacity: 1;
  transform: scale(1);
  filter: saturate(1);
  z-index: 2;
}

@media (min-width: 960px) {
  .pain-carousel__track > .card--incident {
    flex-basis: min(88%, 24rem);
  }
}

.pain-carousel__footer {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
  margin-top: 0.65rem;
}

.pain-carousel__progress {
  position: relative;
  height: 3px;
  border-radius: 999px;
  background: color-mix(in srgb, var(--color-border) 70%, rgba(30, 64, 175, 0.06));
  overflow: hidden;
}

.pain-carousel__progress-fill {
  display: block;
  height: 100%;
  width: 16.666%;
  border-radius: inherit;
  background: linear-gradient(
    90deg,
    var(--color-primary),
    color-mix(in srgb, var(--color-tech-cyan) 75%, var(--color-primary)) 55%,
    var(--color-secondary)
  );
  transform-origin: left center;
  transition: width 0.42s cubic-bezier(0.22, 1, 0.36, 1);
}

.pain-carousel__dots {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 0.45rem;
}

.pain-carousel__dot {
  width: 0.45rem;
  height: 0.45rem;
  padding: 0;
  border: none;
  border-radius: 999px;
  background: color-mix(in srgb, #94a3b8 55%, transparent);
  cursor: pointer;
  transition:
    width 0.35s cubic-bezier(0.22, 1, 0.36, 1),
    background 0.28s ease,
    transform 0.28s ease;
}

.pain-carousel__dot:hover {
  background: color-mix(in srgb, var(--color-primary) 45%, #94a3b8);
  transform: scale(1.08);
}

.pain-carousel__dot.is-active {
  width: 1.35rem;
  background: var(--color-primary);
}

.pain-carousel__dot:focus-visible {
  outline: 2px solid color-mix(in srgb, var(--color-primary) 55%, transparent);
  outline-offset: 2px;
}

@media (prefers-reduced-motion: reduce) {
  .pain-carousel__viewport {
    scroll-behavior: auto;
    scroll-snap-type: none;
  }

  .pain-carousel__track > .card--incident {
    opacity: 1;
    transform: none;
    filter: none;
    transition: none;
  }

  .pain-carousel__progress-fill,
  .pain-carousel__dot,
  .pain-carousel__btn {
    transition: none;
  }
}

@media (hover: hover) and (pointer: fine) {
  .pain-carousel__track > .card--incident.is-active:hover {
    transform: translateY(-4px) scale(1);
  }

  .pain-carousel__track > .card--incident:not(.is-active):hover {
    transform: scale(0.975);
    opacity: 0.78;
  }
}

.card {
  border-radius: var(--radius-md);
  border: 1px solid var(--color-border);
  padding: 1.35rem;
  background: var(--color-surface);
  box-shadow: var(--shadow-card);
}

.card__icon {
  display: grid;
  place-items: center;
  width: 2.5rem;
  height: 2.5rem;
  margin-bottom: 0.75rem;
  border-radius: var(--radius-sm);
  background: var(--color-primary-soft);
  color: var(--color-primary);
  font-size: 1.1rem;
}

.card--pain h3 {
  margin: 0 0 0.5rem;
  font-size: 1.05rem;
}

.card--pain p {
  margin: 0;
  color: var(--color-muted);
  font-size: 0.9375rem;
}

/* Painéis de incidente — alertas corporativos / monitoramento SOC */
.card--incident {
  padding: 0;
  overflow: hidden;
  background: linear-gradient(
    168deg,
    rgba(255, 255, 255, 0.98) 0%,
    rgba(248, 250, 252, 0.94) 46%,
    rgba(241, 245, 249, 0.9) 100%
  );
  border: 1px solid color-mix(in srgb, var(--color-border) 72%, rgba(30, 64, 175, 0.12));
  box-shadow:
    0 1px 0 rgba(255, 255, 255, 0.92) inset,
    var(--shadow-card);
  transition:
    transform 0.45s cubic-bezier(0.22, 1, 0.36, 1),
    box-shadow 0.45s cubic-bezier(0.22, 1, 0.36, 1),
    border-color 0.38s ease;
}

.card--incident::before {
  content: "";
  display: block;
  height: 2px;
  background: linear-gradient(
    90deg,
    var(--color-primary),
    color-mix(in srgb, var(--color-tech-cyan) 80%, var(--color-primary)) 45%,
    var(--color-secondary) 100%
  );
  opacity: 0.72;
}

.incident-panel {
  display: flex;
  flex-direction: column;
  min-height: 0;
}

.incident-panel__masthead {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  padding: 0.45rem 0.95rem;
  border-bottom: 1px solid color-mix(in srgb, var(--color-border) 85%, rgba(30, 64, 175, 0.06));
  background: color-mix(in srgb, #f8fafc 94%, rgba(30, 64, 175, 0.03));
}

.incident-panel__id {
  font-size: 0.65625rem;
  font-weight: 700;
  font-variant-numeric: tabular-nums;
  letter-spacing: 0.045em;
  color: #334155;
}

.incident-panel__ago {
  font-size: 0.625rem;
  font-weight: 600;
  color: #94a3b8;
  white-space: nowrap;
}

.incident-panel__chips {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.35rem 0.45rem;
  padding: 0.5rem 0.95rem 0.45rem;
  border-bottom: 1px solid rgba(11, 18, 32, 0.05);
}

.incident-chip {
  display: inline-flex;
  align-items: center;
  font-size: 0.5625rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  padding: 0.2rem 0.48rem;
  border-radius: 6px;
  border: 1px solid transparent;
  max-width: 100%;
}

.incident-chip--pair {
  flex-wrap: wrap;
  gap: 0.2rem 0.35rem;
  background: rgba(15, 23, 42, 0.04);
  border-color: rgba(15, 23, 42, 0.06);
  color: #475569;
  letter-spacing: 0.04em;
}

.incident-chip__dept {
  color: #0f172a;
}

.incident-chip__tier {
  color: var(--color-primary);
}

.incident-chip--status.incident-chip--open {
  color: #1d4ed8;
  background: var(--color-primary-soft);
  border-color: color-mix(in srgb, var(--color-primary) 22%, transparent);
}

.incident-chip--status.incident-chip--review {
  color: #6d28d9;
  background: rgba(109, 40, 217, 0.09);
  border-color: rgba(109, 40, 217, 0.18);
}

.incident-chip--status.incident-chip--monitor {
  color: #047857;
  background: var(--color-secondary-soft);
  border-color: color-mix(in srgb, var(--color-secondary) 25%, transparent);
}

.incident-chip--risk-high {
  color: #9f1239;
  background: rgba(159, 18, 57, 0.07);
  border-color: rgba(159, 18, 57, 0.16);
}

.incident-chip--risk-med {
  color: #b45309;
  background: rgba(180, 83, 9, 0.09);
  border-color: rgba(180, 83, 9, 0.18);
}

.incident-panel__body {
  display: flex;
  align-items: flex-start;
  gap: 0.75rem;
  padding: 0.72rem 0.95rem 0.9rem;
}

.incident-panel__glyph {
  flex-shrink: 0;
  width: 2rem;
  height: 2rem;
  display: grid;
  place-items: center;
  border-radius: var(--radius-sm);
  background: linear-gradient(
    160deg,
    var(--color-primary-soft),
    color-mix(in srgb, #fff 92%, var(--color-primary-soft))
  );
  border: 1px solid color-mix(in srgb, var(--color-primary) 18%, transparent);
  color: var(--color-primary);
  font-size: 0.875rem;
  transition:
    transform 0.42s cubic-bezier(0.22, 1, 0.36, 1),
    box-shadow 0.42s ease;
}

.incident-panel__main {
  min-width: 0;
}

.incident-panel__main h3 {
  margin: 0 0 0.3rem;
  font-size: clamp(1.005rem, 0.65vw + 0.92rem, 1.0875rem);
  font-weight: 800;
  letter-spacing: -0.026em;
  line-height: 1.26;
}

.incident-panel__main p {
  margin: 0;
  font-size: clamp(0.925rem, 0.35vw + 0.88rem, 0.975rem);
  line-height: 1.53;
  color: var(--color-muted);
  display: -webkit-box;
  -webkit-box-orient: vertical;
  line-clamp: 3;
  -webkit-line-clamp: 3;
  overflow: hidden;
}

@media (hover: hover) and (pointer: fine) {
  .card--incident:hover {
    transform: translateY(-4px);
    border-color: color-mix(in srgb, var(--color-primary) 18%, var(--color-border));
    box-shadow:
      0 1px 0 rgba(255, 255, 255, 0.96) inset,
      0 14px 40px rgba(11, 18, 32, 0.08),
      var(--glow-primary-soft);
  }

  .card--incident:hover .incident-panel__glyph {
    box-shadow: 0 4px 16px rgba(30, 64, 175, 0.1);
    transform: scale(1.03);
  }
}

/* Steps legado — grade genérica quando necessário */
.steps {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 1.25rem;
}

@media (min-width: 768px) {
  .steps {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (min-width: 1024px) {
  .steps {
    grid-template-columns: repeat(4, 1fr);
  }
}

.steps__item {
  position: relative;
  padding: 1.5rem;
  border-radius: var(--radius-md);
  border: 1px solid var(--color-border);
  background: var(--color-surface);
  box-shadow: var(--shadow-card);
}

.steps__num {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2rem;
  height: 2rem;
  border-radius: 50%;
  font-weight: 700;
  font-size: 0.875rem;
  background: var(--color-primary-soft);
  color: var(--color-primary);
  margin-bottom: 0.75rem;
}

.steps__item h3 {
  margin: 0 0 0.5rem;
  font-size: 1.05rem;
}

.steps__item p {
  margin: 0;
  color: var(--color-muted);
  font-size: 0.9rem;
}

/* Features grid */
.grid-features {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 1rem;
}

@media (min-width: 768px) {
  .grid-features {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (min-width: 1024px) {
  .grid-features {
    grid-template-columns: repeat(3, 1fr);
  }
}

.card--feature h3 {
  margin: 0 0 0.4rem;
  font-size: clamp(1.07rem, 1.35vw + 0.94rem, 1.225rem);
  font-weight: 800;
  letter-spacing: -0.02em;
}

@media (hover: hover) and (pointer: fine) {
  .card--feature {
    transition:
      transform 0.42s cubic-bezier(0.22, 1, 0.36, 1),
      box-shadow 0.42s cubic-bezier(0.22, 1, 0.36, 1),
      border-color 0.35s ease;
  }

  .card--feature:hover {
    transform: translateY(-4px);
    border-color: color-mix(in srgb, var(--color-primary) 14%, var(--color-border));
    box-shadow:
      var(--shadow-card),
      0 16px 40px rgba(11, 18, 32, 0.07),
      var(--glow-primary-soft);
  }
}

.card--feature p {
  margin: 0;
  color: color-mix(in srgb, var(--color-muted) 90%, var(--color-text) 10%);
  font-size: clamp(0.9575rem, 0.5vw + 0.92rem, 1.035rem);
  line-height: 1.55;
  font-weight: 500;
}

.card__meta {
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem;
  margin: 0 0 0.6rem;
}

.card__chip {
  display: inline-flex;
  align-items: center;
  font-size: 0.5625rem;
  font-weight: 700;
  letter-spacing: 0.07em;
  text-transform: uppercase;
  padding: 0.16rem 0.45rem;
  border-radius: 999px;
  color: #475569;
  background: color-mix(in srgb, rgba(30, 64, 175, 0.08) 70%, #fff);
  border: 1px solid color-mix(in srgb, var(--color-border) 75%, rgba(30, 64, 175, 0.12));
  box-shadow: 0 1px 0 rgba(255, 255, 255, 0.75) inset;
}

.card__chip--green {
  color: #047857;
  background: color-mix(in srgb, var(--color-secondary-soft) 65%, #fff);
  border-color: color-mix(in srgb, var(--color-secondary) 22%, transparent);
}

.card__chip--blue {
  color: #1e40af;
  background: var(--color-primary-soft);
  border-color: color-mix(in srgb, var(--color-primary) 22%, transparent);
}

/* Split IA */
.split {
  display: grid;
  gap: 2.5rem;
  align-items: start;
}

@media (min-width: 900px) {
  .split {
    grid-template-columns: 1fr 1fr;
    gap: 3.5rem;
    align-items: center;
  }

  .split.split--media {
    align-items: stretch;
  }
}

.split__text h2 {
  font-size: var(--heading-section-display);
  line-height: 1.13;
  letter-spacing: -0.035em;
  font-weight: 900;
  margin: 0 0 0.75rem;
  text-rendering: optimizeLegibility;
}

#ia-title,
#impl-title {
  background-image: linear-gradient(
    118deg,
    var(--color-primary) 0%,
    var(--color-primary-mid) 40%,
    color-mix(in srgb, var(--color-secondary) 85%, var(--color-primary-mid) 15%) 78%,
    var(--color-secondary) 100%
  );
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  -webkit-text-fill-color: transparent;
}

.split__lead {
  color: color-mix(in srgb, var(--color-muted) 82%, var(--color-text) 18%);
  margin: 0 0 1.35rem;
  font-size: var(--lead-section-display);
  line-height: 1.53;
  font-weight: 600;
}

.checklist {
  margin: 0;
  padding: 0;
  list-style: none;
}

.checklist li {
  position: relative;
  padding-left: 1.35rem;
  margin-bottom: 0.8rem;
  color: color-mix(in srgb, var(--color-muted) 80%, var(--color-text) 20%);
  font-size: clamp(1.0325rem, 1.1vw + 0.94rem, 1.0875rem);
  line-height: 1.53;
  font-weight: 500;
}

.checklist li strong {
  font-weight: 800;
  color: var(--color-text);
}

.checklist li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.45rem;
  width: 8px;
  height: 8px;
  border-radius: 2px;
  background: var(--color-secondary);
  box-shadow: 0 0 0 2px var(--color-secondary-soft);
}

/* Pricing — implantação corporativa / SaaS premium (enterprise refinement) */
.section--pricing-enterprise {
  position: relative;
  overflow: clip;
  isolation: isolate;
  padding-top: calc(var(--space-section) + 0.5rem);
  padding-bottom: calc(var(--space-section) + 0.85rem);
  background: linear-gradient(180deg, #f9fafc 0%, #ffffff 52%, #f6f8fc 100%);
}

.section--pricing-enterprise.section--depth::before {
  opacity: 0.22;
  background-image:
    radial-gradient(ellipse 72% 48% at 18% -5%, rgba(30, 64, 175, 0.04), transparent 60%),
    radial-gradient(ellipse 68% 44% at 82% 102%, rgba(16, 185, 129, 0.032), transparent 58%),
    linear-gradient(rgba(11, 18, 32, 0.014) 1px, transparent 1px),
    linear-gradient(90deg, rgba(11, 18, 32, 0.014) 1px, transparent 1px);
}

.pricing-section__ambient {
  position: absolute;
  inset: 0;
  pointer-events: none;
  z-index: 0;
  background:
    radial-gradient(ellipse 92% 58% at 50% -8%, rgba(30, 64, 175, 0.07), transparent 58%),
    radial-gradient(ellipse 42% 32% at 4% 92%, rgba(14, 165, 233, 0.036), transparent 56%),
    radial-gradient(ellipse 46% 34% at 96% 78%, rgba(16, 185, 129, 0.04), transparent 54%),
    radial-gradient(ellipse 70% 50% at 50% 108%, rgba(30, 64, 175, 0.03), transparent 60%);
}

.pricing-section__grid {
  position: absolute;
  inset: 0;
  pointer-events: none;
  z-index: 0;
  opacity: 0.28;
  background-image:
    linear-gradient(rgba(11, 18, 32, 0.018) 1px, transparent 1px),
    linear-gradient(90deg, rgba(11, 18, 32, 0.018) 1px, transparent 1px);
  background-size: 64px 64px;
  background-position: -1px -1px;
  -webkit-mask-image: radial-gradient(ellipse 78% 66% at 50% 40%, rgba(0, 0, 0, 0.94) 0%, transparent 78%);
  mask-image: radial-gradient(ellipse 78% 66% at 50% 40%, rgba(0, 0, 0, 0.94) 0%, transparent 78%);
}

.pricing-section__inner {
  position: relative;
  z-index: 1;
}

.section-head--pricing {
  margin-inline: auto;
  margin-bottom: clamp(1.85rem, 3.5vw, 2.35rem);
  max-width: min(52rem, 100%);
}

.section-head--pricing .eyebrow {
  color: color-mix(in srgb, var(--color-primary) 52%, var(--color-secondary));
  letter-spacing: 0.165em;
  font-weight: 800;
}

.section-head--pricing h2 {
  color: #0a1220;
  font-weight: 900;
  text-wrap: balance;
}

.section-head__lead--pricing {
  max-width: min(38rem, 100%);
  margin-inline: auto;
  margin-top: clamp(0.45rem, 1.8vw, 0.72rem);
  color: color-mix(in srgb, var(--color-muted) 62%, var(--color-text) 38%);
  line-height: 1.54;
  font-weight: 600;
  letter-spacing: 0.01em;
}

.pricing {
  display: grid;
  gap: 1.35rem;
}

.pricing--enterprise {
  gap: 1.35rem;
}

@media (min-width: 900px) {
  .pricing,
  .pricing--enterprise {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    align-items: stretch;
    gap: clamp(1.15rem, 2vw, 1.45rem);
  }

  .pricing--enterprise > * {
    min-width: 0;
  }

  .pricing-card-shell {
    width: 100%;
  }
}

.pricing-card-shell {
  position: relative;
  border-radius: calc(var(--radius-lg) + 3px);
  padding: 1px;
  background: linear-gradient(
    134deg,
    color-mix(in srgb, var(--color-primary) 22%, rgba(255, 255, 255, 0.88)) 0%,
    color-mix(in srgb, rgba(148, 197, 255, 1) 12%, rgba(255, 255, 255, 0.75)) 40%,
    color-mix(in srgb, var(--color-secondary) 18%, rgba(255, 255, 255, 0.82)) 100%
  );
  box-shadow:
    0 0 0 1px rgba(255, 255, 255, 0.34) inset,
    0 20px 48px rgba(30, 64, 175, 0.08),
    0 8px 20px rgba(16, 185, 129, 0.045),
    0 0 64px rgba(30, 64, 175, 0.05),
    0 0 100px rgba(14, 165, 233, 0.05);
  transition:
    box-shadow 0.52s cubic-bezier(0.22, 1, 0.36, 1),
    transform 0.52s cubic-bezier(0.22, 1, 0.36, 1);
}

.pricing-card-shell__glow {
  position: absolute;
  inset: -30% -18% -32%;
  z-index: 0;
  pointer-events: none;
  background:
    radial-gradient(ellipse 58% 48% at 50% -8%, rgba(30, 64, 175, 0.12), transparent 64%),
    radial-gradient(ellipse 50% 38% at 14% 90%, rgba(14, 165, 233, 0.06), transparent 58%),
    radial-gradient(ellipse 42% 34% at 88% 96%, rgba(16, 185, 129, 0.068), transparent 62%);
  filter: blur(36px);
  opacity: 0.72;
}

.pricing-card-shell__rim {
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  border-radius: inherit;
  box-shadow:
    0 0 36px rgba(14, 165, 233, 0.1),
    inset 0 1px 0 rgba(255, 255, 255, 0.62),
    inset 0 0 0 1px rgba(255, 255, 255, 0.14);
}

@keyframes pricing-hero-halo {
  0%,
  100% {
    opacity: 0.74;
    filter: blur(34px);
  }

  50% {
    opacity: 0.88;
    filter: blur(40px);
  }
}

.pricing-card-shell--hero .pricing-card-shell__glow {
  animation: pricing-hero-halo 6.2s ease-in-out infinite;
}

@media (hover: hover) and (pointer: fine) {
  .pricing-card-shell--hero:hover {
    transform: translateY(-6px) scale(1.008);
    box-shadow:
      0 0 0 1px rgba(255, 255, 255, 0.42) inset,
      0 28px 58px rgba(30, 64, 175, 0.11),
      0 11px 26px rgba(16, 185, 129, 0.07),
      0 0 96px rgba(30, 64, 175, 0.1),
      0 0 64px rgba(14, 165, 233, 0.08),
      0 0 120px rgba(14, 165, 233, 0.065);
  }

  .pricing-card-shell--hero:hover .pricing-card-shell__rim {
    box-shadow:
      0 0 48px rgba(14, 165, 233, 0.16),
      inset 0 1px 0 rgba(255, 255, 255, 0.72),
      inset 0 0 0 1px rgba(255, 255, 255, 0.2);
  }

  .pricing-card-shell--hero:hover .pricing-card-shell__glow {
    opacity: 0.93;
    filter: blur(38px);
  }
}

.pricing-card-shell .pricing-card--highlight {
  position: relative;
  z-index: 2;
  border: none;
  height: 100%;
  width: 100%;
  margin: 0;
  border-radius: var(--radius-lg);
  padding: 1.85rem 1.45rem 1.75rem;
  background: linear-gradient(188deg, #ffffff 0%, #f9fbfd 52%, #ffffff 100%);
  box-shadow:
    0 1px 0 rgba(255, 255, 255, 1) inset,
    inset 0 1px 0 rgba(255, 255, 255, 0.55);
  overflow: hidden;
  isolation: isolate;
}

.pricing-card-shell .pricing-card--highlight::before {
  content: "";
  position: absolute;
  left: 7%;
  right: 7%;
  top: 0;
  height: 2px;
  border-radius: 999px;
  background: linear-gradient(
    90deg,
    transparent 0%,
    color-mix(in srgb, var(--color-primary) 88%, transparent) 19%,
    color-mix(in srgb, var(--color-tech-cyan) 70%, transparent) 48%,
    color-mix(in srgb, var(--color-secondary) 72%, transparent) 78%,
    transparent 100%
  );
  opacity: 0.78;
  box-shadow:
    0 0 18px rgba(30, 64, 175, 0.18),
    0 0 12px rgba(16, 185, 129, 0.1),
    0 4px 10px rgba(30, 64, 175, 0.07);
  pointer-events: none;
  z-index: 2;
}

.pricing-card-shell .pricing-card--highlight::after {
  content: "";
  position: absolute;
  inset: -40% -20% auto;
  height: min(55%, 240px);
  background: radial-gradient(
    ellipse 72% 100% at 50% 0%,
    rgba(30, 64, 175, 0.045),
    rgba(14, 165, 233, 0.022) 48%,
    transparent 74%
  );
  pointer-events: none;
  z-index: 0;
}

.pricing-card-shell .pricing-card--highlight > * {
  position: relative;
  z-index: 3;
}

.pricing-card {
  position: relative;
  width: 100%;
  padding: 1.85rem 1.45rem 1.75rem;
  border-radius: var(--radius-lg);
  border: 1px solid var(--color-border);
  background: var(--color-surface);
  box-shadow: var(--shadow-card);
  display: flex;
  flex-direction: column;
  transition:
    border-color 0.5s cubic-bezier(0.22, 1, 0.36, 1),
    box-shadow 0.52s cubic-bezier(0.22, 1, 0.36, 1),
    transform 0.5s cubic-bezier(0.22, 1, 0.36, 1);
}

.pricing-card--start {
  background: linear-gradient(168deg, #ffffff 0%, #fbfcfe 54%, #f8fafc 100%);
  border-color: rgba(11, 18, 32, 0.1);
  box-shadow:
    0 0 0 1px rgba(255, 255, 255, 1) inset,
    0 2px 6px rgba(11, 18, 32, 0.02),
    0 12px 32px rgba(11, 18, 32, 0.034);
}

.pricing-card__micro-badge {
  display: inline-flex;
  align-self: flex-start;
  align-items: center;
  gap: 0.35rem;
  margin: 0;
  padding: 0.28rem 0.72rem;
  border-radius: 999px;
  font-size: 0.5625rem;
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: color-mix(in srgb, var(--color-text) 75%, var(--color-primary) 25%);
  background: rgba(255, 255, 255, 0.9);
  border: 1px solid color-mix(in srgb, var(--color-secondary) 16%, rgba(11, 18, 32, 0.08));
  box-shadow:
    0 1px 0 rgba(255, 255, 255, 1) inset,
    0 8px 20px rgba(11, 18, 32, 0.03);
}

.pricing-card--enterprise {
  border-color: rgba(130, 150, 172, 0.22);
  background: radial-gradient(
      ellipse 120% 80% at 50% -12%,
      rgba(76, 120, 200, 0.08),
      transparent 52%
    ),
    linear-gradient(168deg, #0c1929 0%, #111f33 41%, #0e1b2f 72%, #0a1424 100%);
  box-shadow:
    0 0 0 1px rgba(255, 255, 255, 0.05) inset,
    0 1px 0 rgba(217, 195, 150, 0.12) inset,
    0 18px 48px rgba(5, 10, 20, 0.45),
    0 0 0 1px rgba(207, 176, 120, 0.12),
    0 0 64px rgba(30, 64, 175, 0.08);
  color: rgba(237, 242, 247, 0.94);
  overflow: hidden;
  isolation: isolate;
}

.pricing-card--enterprise::before {
  content: "";
  position: absolute;
  left: 7%;
  right: 7%;
  top: 0;
  height: 1px;
  border-radius: 999px;
  background: linear-gradient(
    90deg,
    transparent,
    rgba(214, 190, 130, 0.55),
    rgba(237, 220, 170, 0.35),
    rgba(214, 190, 130, 0.55),
    transparent
  );
  opacity: 0.92;
  z-index: 4;
  pointer-events: none;
}

.pricing-card--enterprise::after {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: inherit;
  background:
    radial-gradient(ellipse 88% 64% at 50% 100%, rgba(30, 64, 175, 0.12), transparent 58%),
    radial-gradient(ellipse 48% 36% at 82% 8%, rgba(207, 176, 120, 0.07), transparent 55%);
  pointer-events: none;
  z-index: 0;
}

.pricing-card__particles {
  position: absolute;
  inset: 0;
  border-radius: inherit;
  overflow: hidden;
  pointer-events: none;
  z-index: 1;
}

.pricing-card__particle {
  position: absolute;
  width: 2px;
  height: 2px;
  border-radius: 999px;
  background: radial-gradient(circle at 50% 50%, rgba(240, 222, 180, 0.95), rgba(207, 176, 120, 0) 72%);
  box-shadow:
    0 0 4px rgba(207, 176, 120, 0.28),
    0 0 10px rgba(207, 176, 120, 0.12);
  opacity: 0.38;
  animation: pricing-particle-twinkle 5.8s ease-in-out infinite;
}

.pricing-card__particle:nth-child(1) {
  left: 12%;
  top: 22%;
  animation-delay: 0s;
}

.pricing-card__particle:nth-child(2) {
  left: 76%;
  top: 16%;
  animation-delay: 0.85s;
}

.pricing-card__particle:nth-child(3) {
  left: 88%;
  top: 48%;
  animation-delay: 1.6s;
}

.pricing-card__particle:nth-child(4) {
  left: 18%;
  top: 68%;
  animation-delay: 2.35s;
}

.pricing-card__particle:nth-child(5) {
  left: 56%;
  top: 78%;
  animation-delay: 3.1s;
}

.pricing-card__particle:nth-child(6) {
  left: 42%;
  top: 38%;
  animation-delay: 3.95s;
}

@keyframes pricing-particle-twinkle {
  0%,
  100% {
    opacity: 0.2;
    transform: translate3d(0, 0, 0) scale(1);
  }

  50% {
    opacity: 0.52;
    transform: translate3d(0, -1px, 0) scale(1.2);
  }
}

.pricing-card--enterprise > :not(.pricing-card__particles) {
  position: relative;
  z-index: 2;
}

.pricing-card--enterprise .pricing-card__tag {
  position: static;
  top: auto;
  right: auto;
  z-index: auto;
  align-self: flex-start;
}

.pricing-card--enterprise .pricing-card__tier.pricing-card__tier--enterprise {
  color: color-mix(in srgb, rgba(186, 212, 247, 0.95) 58%, rgba(156, 176, 202, 0.88) 42%);
  font-weight: 700;
  letter-spacing: 0.11em;
}

.pricing-card--enterprise h3 {
  color: #f0e6c8;
}

@supports ((-webkit-background-clip: text) or (background-clip: text)) {
  .pricing-card--enterprise h3 {
    background: linear-gradient(156deg, #c4a967 0%, #f5ecd6 43%, #d8c48a 78%, #b8913d 100%);
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
    -webkit-text-fill-color: transparent;
  }
}

.pricing-card--enterprise .pricing-card__price {
  color: #f8fafc;
}

.pricing-card--enterprise .pricing-card__price span {
  color: rgba(203, 213, 225, 0.65);
}

.pricing-card--enterprise .pricing-card__for {
  color: rgba(203, 213, 225, 0.78);
}

.pricing-card--enterprise .pricing-card__list li {
  color: rgba(226, 232, 240, 0.92);
}

.pricing-card--enterprise .pricing-card__list li strong {
  color: #f8fafc;
}

.pricing-card--enterprise .pricing-card__list li .fa-check {
  color: rgba(221, 198, 150, 0.58);
}

@media (hover: hover) and (pointer: fine) {
  .pricing .pricing-card--start:hover {
    border-color: color-mix(in srgb, var(--color-secondary) 24%, rgba(11, 18, 32, 0.1));
    box-shadow:
      0 0 0 1px rgba(255, 255, 255, 1) inset,
      0 14px 40px rgba(11, 18, 32, 0.062),
      0 4px 12px rgba(11, 18, 32, 0.03),
      0 0 48px rgba(16, 185, 129, 0.07);
    transform: translateY(-5px);
  }

  .pricing .pricing-card--enterprise:hover {
    border-color: rgba(214, 190, 130, 0.32);
    box-shadow:
      0 0 0 1px rgba(255, 255, 255, 0.07) inset,
      0 1px 0 rgba(237, 220, 170, 0.16) inset,
      0 22px 52px rgba(5, 10, 20, 0.52),
      0 0 0 1px rgba(214, 190, 130, 0.18),
      0 0 72px rgba(30, 64, 175, 0.12),
      0 0 48px rgba(207, 176, 120, 0.07);
    transform: translateY(-5px);
  }
}

.pricing-card--enterprise:hover .pricing-card__particle {
  animation-duration: 4.2s;
}

.pricing-card__tier {
  margin: 0 0 0.45rem;
  font-size: 0.5625rem;
  font-weight: 700;
  letter-spacing: 0.13em;
  text-transform: uppercase;
  color: #94a3b8;
}

.pricing-card__tier--hero {
  color: color-mix(in srgb, var(--color-primary) 42%, #64748b);
  letter-spacing: 0.11em;
}

.pricing-card__head {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: flex-start;
  gap: 0.42rem;
  margin: 0 0 0.52rem;
  min-height: clamp(3.45rem, 5vw, 4.05rem);
}

.pricing-card__head .pricing-card__tier {
  margin: 0;
}

.pricing-card__head .pricing-card__tag {
  margin: 0;
}

.pricing-card__head--hero {
  min-height: clamp(4.05rem, 5.45vw, 4.85rem);
  gap: 0.4rem;
  margin-bottom: 0.52rem;
}

.pricing-card--enterprise .pricing-card__head {
  position: relative;
  margin-bottom: 0.55rem;
  padding-bottom: 0.52rem;
  gap: 0.4rem;
  min-height: clamp(4.05rem, 5.45vw, 4.85rem);
}

.pricing-card--enterprise .pricing-card__head::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 1px;
  border-radius: 999px;
  background: linear-gradient(
    90deg,
    transparent 0%,
    rgba(209, 180, 118, 0.45) 22%,
    rgba(247, 236, 210, 0.35) 50%,
    rgba(209, 180, 118, 0.45) 78%,
    transparent 100%
  );
  pointer-events: none;
}

.pricing-card__tag {
  position: absolute;
  top: 1.1rem;
  right: 1.1rem;
  margin: 0;
  padding: 0;
  background: none;
  border: none;
  box-shadow: none;
  z-index: 4;
}

.pricing-card-shell .pricing-card--highlight .pricing-card__tag {
  position: static;
  top: auto;
  right: auto;
  z-index: auto;
  align-self: flex-start;
}

.pricing-card__tag-inner {
  display: inline-flex;
  align-items: center;
  gap: 0.42rem;
  padding: 0.34rem 0.78rem 0.36rem;
  border-radius: 999px;
  font-size: 0.5625rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: #0f172a;
  border: 1px solid rgba(30, 64, 175, 0.12);
  background: linear-gradient(
    150deg,
    rgba(255, 255, 255, 0.96),
    color-mix(in srgb, #ffffff 86%, rgba(30, 64, 175, 0.04)) 52%,
    rgba(249, 250, 251, 0.94) 100%
  );
  box-shadow:
    0 1px 0 rgba(255, 255, 255, 1) inset,
    0 10px 28px rgba(30, 64, 175, 0.06),
    0 0 0 1px rgba(255, 255, 255, 0.5) inset;
  backdrop-filter: blur(12px) saturate(150%);
  -webkit-backdrop-filter: blur(12px) saturate(150%);
}

.pricing-card__tag-inner--enterprise {
  color: #0a1424;
  font-weight: 800;
  letter-spacing: 0.095em;
  border: 1px solid rgba(200, 170, 104, 0.5);
  background: linear-gradient(156deg, #c4a967 0%, #f5ecd6 43%, #d8c48a 78%, #b8913d 100%);
  box-shadow:
    0 1px 0 rgba(255, 255, 255, 0.48) inset,
    0 6px 18px rgba(5, 12, 24, 0.28),
    0 0 22px rgba(207, 176, 120, 0.14);
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}

.pricing-card__tag-inner--enterprise .fa-scale-balanced {
  font-size: 0.62rem;
  color: rgba(10, 20, 36, 0.88);
}

.pricing-card__tag-inner .fa-award {
  font-size: 0.65rem;
  background: linear-gradient(
    135deg,
    var(--color-primary),
    var(--color-tech-cyan) 52%,
    var(--color-secondary)
  );
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}

.pricing-card h3 {
  margin: 0 0 0.55rem;
  font-size: clamp(1.27rem, 1.35vw + 1.06rem, 1.4825rem);
  letter-spacing: -0.03em;
  font-weight: 800;
  color: #0b1220;
}

.pricing-card-shell .pricing-card--highlight h3 {
  font-size: clamp(1.32rem, 1.42vw + 1.06rem, 1.5525rem);
}

.pricing-card__price {
  font-size: 1.78rem;
  font-weight: 700;
  letter-spacing: -0.03em;
  margin: 0 0 0.3rem;
  line-height: 1.1;
  color: #050814;
}

.pricing-card-shell .pricing-card--highlight .pricing-card__price {
  font-size: 1.92rem;
}

.pricing-card__price span {
  font-size: 0.98rem;
  font-weight: 500;
  color: var(--color-muted);
}

.pricing-card__for {
  margin: 0 0 1.35rem;
  color: #64748b;
  font-size: clamp(0.965rem, 0.42vw + 0.92rem, 1.025rem);
  line-height: 1.53;
  font-weight: 500;
  letter-spacing: 0.015em;
}

.pricing-card__list {
  margin: 0 0 1.5rem;
  padding: 0;
  list-style: none;
  flex: 1;
}

.pricing-card__list li {
  display: flex;
  align-items: flex-start;
  gap: 0.58rem;
  margin-bottom: 0.68rem;
  font-size: clamp(0.96rem, 0.42vw + 0.91rem, 1.035rem);
  line-height: 1.47;
  font-weight: 500;
  color: #475569;
}

.pricing-card__list li .pricing-card__li-text {
  flex: 1;
  min-width: 0;
  overflow-wrap: anywhere;
  hyphens: auto;
}

.pricing-card__list li .fa-check {
  flex-shrink: 0;
  margin-top: 0.22rem;
  color: var(--color-secondary);
  font-size: 0.78rem;
  opacity: 0.92;
}

.btn--pricing {
  margin-top: auto;
  border-radius: 10px;
  transition:
    transform 0.48s cubic-bezier(0.22, 1, 0.36, 1),
    box-shadow 0.48s cubic-bezier(0.22, 1, 0.36, 1),
    border-color 0.42s cubic-bezier(0.22, 1, 0.36, 1),
    background 0.42s cubic-bezier(0.22, 1, 0.36, 1),
    color 0.35s ease,
    filter 0.35s ease;
}

.btn--pricing-hero {
  padding-block: 0.74rem;
  border-radius: 10px;
}

.pricing-card-shell .btn--pricing.btn--gradient.btn--pricing-hero {
  background: linear-gradient(138deg, #1e3a8a 0%, #2563eb 36%, #0f766e 68%, #0d8161 100%);
  border-color: color-mix(in srgb, #fff 17%, rgba(30, 64, 175, 0.32));
  box-shadow:
    0 1px 0 rgba(255, 255, 255, 0.26) inset,
    0 2px 5px rgba(11, 18, 32, 0.05),
    0 10px 30px rgba(30, 64, 175, 0.3),
    0 8px 20px rgba(13, 129, 97, 0.12),
    0 0 44px rgba(30, 64, 175, 0.08),
    0 0 24px rgba(16, 185, 129, 0.05);
}

.btn--pricing-start {
  background: #ffffff;
  color: color-mix(in srgb, var(--color-secondary) 88%, #065f46 12%);
  border: 1px solid rgba(16, 185, 129, 0.2);
  font-weight: 800;
}

.btn--pricing-start:focus-visible {
  outline-offset: 3px;
}

.btn--pricing-gold {
  background: linear-gradient(156deg, #c4a967 0%, #f5ecd6 43%, #d8c48a 78%, #b8913d 100%);
  color: #0a1424 !important;
  border: 1px solid rgba(200, 170, 104, 0.42);
  font-weight: 800;
  text-decoration: none;
  box-shadow:
    0 1px 0 rgba(255, 255, 255, 0.55) inset,
    0 2px 5px rgba(10, 20, 40, 0.12),
    0 14px 32px rgba(160, 120, 50, 0.18),
    0 0 28px rgba(207, 176, 120, 0.16);
}

.btn--pricing-gold:focus-visible {
  outline-offset: 3px;
}

@media (hover: hover) and (pointer: fine) {
  .pricing-card-shell .btn--pricing.btn--gradient.btn--pricing-hero:hover {
    transform: translateY(-2px) scale(1.014);
    filter: brightness(1.035);
    color: #fff;
    box-shadow:
      0 1px 0 rgba(255, 255, 255, 0.32) inset,
      0 6px 12px rgba(11, 18, 32, 0.08),
      0 16px 40px rgba(30, 64, 175, 0.34),
      0 10px 26px rgba(13, 129, 97, 0.15),
      0 0 56px rgba(30, 64, 175, 0.1),
      0 0 32px rgba(16, 185, 129, 0.08);
  }

  .btn--pricing-start:hover {
    color: color-mix(in srgb, var(--color-secondary) 92%, #064e3b 8%) !important;
    border-color: rgba(16, 185, 129, 0.35);
    background: #fdfefe !important;
    box-shadow:
      0 1px 0 rgba(255, 255, 255, 1) inset,
      0 14px 36px rgba(11, 18, 32, 0.05),
      0 0 32px rgba(16, 185, 129, 0.12),
      0 0 1px rgba(16, 185, 129, 0.2);
    transform: translateY(-2px) scale(1.01);
  }

  .btn--pricing-start:active {
    transform: translateY(0);
  }

  .btn--pricing-gold:hover {
    color: #070e18 !important;
    filter: brightness(1.04);
    box-shadow:
      0 1px 0 rgba(255, 255, 255, 0.62) inset,
      0 8px 18px rgba(10, 20, 40, 0.12),
      0 18px 44px rgba(160, 120, 50, 0.22),
      0 0 40px rgba(207, 176, 120, 0.22),
      0 0 56px rgba(214, 190, 130, 0.12);
    transform: translateY(-2px) scale(1.012);
  }

  .btn--pricing-gold:active {
    transform: translateY(0);
    filter: brightness(0.99);
  }
}

@media (prefers-reduced-motion: reduce) {
  .pricing-card,
  .pricing-card-shell,
  .btn--pricing,
  .btn--pricing-start,
  .btn--pricing-gold,
  .btn--pricing-hero {
    transition-duration: 0.01ms !important;
  }

  .pricing-card-shell--hero .pricing-card-shell__glow {
    animation: none;
  }

  .pricing-card__particle {
    animation: none !important;
  }

  .pricing-card-shell--hero:hover,
  .pricing .pricing-card--start:hover,
  .pricing .pricing-card--enterprise:hover,
  .btn--pricing-start:hover,
  .btn--pricing-gold:hover,
  .pricing-card-shell .btn--pricing.btn--gradient.btn--pricing-hero:hover {
    transform: none;
  }

  .pricing-card--enterprise:hover .pricing-card__particle {
    animation-duration: inherit;
  }
}

/* Pixel-Perfect Pricing Layout Enhancements */

.pricing-card__header-layout {
  display: flex;
  align-items: center;
  gap: 1.15rem;
  margin-bottom: 1.65rem;
}

.pricing-card__head-text {
  display: flex;
  flex-direction: column;
}

.pricing-card__icon-box {
  width: 46px;
  height: 46px;
  border-radius: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.35rem;
  flex-shrink: 0;
}

.pricing-card__icon-box--start {
  background: rgba(16, 185, 129, 0.12);
  color: #10b981;
}

.pricing-card__icon-box--hero {
  background: rgba(37, 99, 235, 0.12);
  color: #2563eb;
}

.pricing-card__icon-box--enterprise {
  background: rgba(15, 23, 42, 0.8);
  border: 1px solid rgba(200, 170, 104, 0.4);
  color: #c8aa68;
}


.pricing-card__divider {
  border: none;
  border-top: 1px solid var(--color-border);
  margin: 0 0 1.5rem;
}

.pricing-card__divider--enterprise {
  border-top-color: rgba(130, 150, 172, 0.22);
}

.pricing-card__inheritance {
  font-size: .82rem;
  line-height: 1.5;
  color: #6B7280;
  margin-bottom: 18px;
  font-weight: 500;
}

.pricing-card__list {
  display: flex;
  flex-direction: column;
  gap: 0;
}

.pricing-card__item-layout {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  margin-bottom: 1.1rem;
  position: relative;
}

.pricing-card__item-icon {
  width: 32px;
  height: 32px;
  border-radius: 8px;
  background: var(--color-surface);
  border: 1px solid var(--color-border);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 0.95rem;
  flex-shrink: 0;
  color: #64748b;
}

.pricing-card__item-icon--hero {
  color: #2563eb;
  background: #f8fafc;
}

.pricing-card__item-icon--enterprise {
  background: rgba(15, 23, 42, 0.6);
  border-color: rgba(200, 170, 104, 0.3);
  color: #c8aa68;
}

.pricing-card__check {
  font-size: 0.75rem;
  flex-shrink: 0;
  margin-top: 0 !important;
}

.pricing-card__check--start {
  color: #10b981;
}

.pricing-card__check--hero {
  color: #10b981;
}

.pricing-card__check--enterprise {
  color: #fff !important;
}

.pricing-card-shell {
  position: relative;
}

.pricing-card-shell__badge-top {
  position: absolute;
  top: 0;
  left: 50%;
  transform: translate(-50%, -50%);
  background: #2563eb;
  color: #ffffff;
  padding: 0.35rem 1.15rem;
  border-radius: 999px;
  font-size: 0.6rem;
  font-weight: 800;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  z-index: 10;
  display: flex;
  align-items: center;
  gap: 0.4rem;
  box-shadow: 0 4px 12px rgba(37, 99, 235, 0.25);
  white-space: nowrap;
}

.pricing-benefits {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: clamp(1rem, 3vw, 2.5rem);
  margin: 3.5rem 0 2rem;
  color: var(--color-text);
  font-size: 0.925rem;
  font-weight: 600;
}

.pricing-benefits__item {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  color: #334155;
}

.pricing-benefits__item i {
  color: #2563eb;
  font-size: 1.1rem;
}

.pricing-features-bar {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 1.5rem;
  background: #ffffff;
  border: 1px solid var(--color-border);
  border-radius: 16px;
  padding: 1.75rem 2rem;
  margin-top: 1rem;
  box-shadow: var(--shadow-card);
}

.pricing-features-bar__col {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 1rem;
  position: relative;
}

.pricing-features-bar__col:not(:last-child)::after {
  content: "";
  position: absolute;
  right: -0.75rem;
  top: 15%;
  bottom: 15%;
  width: 1px;
  background: var(--color-border);
}

@media (max-width: 900px) {
  .pricing-features-bar__col:not(:last-child)::after {
    display: none;
  }
}

.pricing-features-bar__icon {
  font-size: 1.45rem;
  color: #64748b;
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  border-radius: 10px;
  background: rgba(241, 245, 249, 0.6);
}

.pricing-features-bar__col p {
  margin: 0;
  font-size: 0.85rem;
  color: #475569;
  line-height: 1.4;
  font-weight: 500;
}

/* Timeline */
.timeline {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 0;
  border-left: 2px solid var(--color-border);
  margin-left: 0.5rem;
}

.timeline li {
  padding: 0 0 1.5rem 1.5rem;
  position: relative;
}

.timeline li::before {
  content: "";
  position: absolute;
  left: -7px;
  top: 0.35rem;
  width: 12px;
  height: 12px;
  border-radius: 50%;
  background: var(--color-bg);
  border: 2px solid var(--color-primary);
}

.timeline li:last-child {
  padding-bottom: 0;
}

.timeline__step {
  display: block;
  font-weight: 800;
  font-size: clamp(1rem, 0.9vw + 0.92rem, 1.0975rem);
  letter-spacing: -0.02em;
  margin-bottom: 0.3rem;
}

.timeline__detail {
  color: color-mix(in srgb, var(--color-muted) 88%, var(--color-text) 12%);
  font-size: clamp(0.9575rem, 0.4vw + 0.91rem, 1.0225rem);
  line-height: 1.52;
  font-weight: 500;
}

/* Accordion */
.accordion--glass {
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
  padding: 0.6rem 0.55rem;
  border-radius: var(--radius-lg);
  background: color-mix(in srgb, var(--color-surface) 92%, transparent);
  border: 1px solid color-mix(in srgb, var(--color-border) 85%, #fff 15%);
  box-shadow:
    0 1px 0 rgba(255, 255, 255, 0.75) inset,
    var(--shadow-card);
  backdrop-filter: blur(14px) saturate(1.15);
  -webkit-backdrop-filter: blur(14px) saturate(1.15);
}

.accordion__item {
  border-radius: var(--radius-md);
  border: 1px solid transparent;
  transition: background-color var(--transition), box-shadow var(--transition), border-color var(--transition);
}

.accordion__item:has(.accordion__trigger[aria-expanded="true"]) {
  background: color-mix(in srgb, var(--color-primary-soft) 65%, var(--color-surface));
  border-color: color-mix(in srgb, var(--color-primary) 14%, transparent);
  box-shadow: 0 1px 0 rgba(255, 255, 255, 0.65) inset;
}

.accordion__item h3 {
  margin: 0;
  font-size: clamp(1.0375rem, 0.6vw + 0.94rem, 1.1575rem);
}

.accordion__trigger {
  width: 100%;
  text-align: left;
  padding: 1.3rem 2.75rem 1.3rem 1.15rem;
  background: none;
  border: none;
  border-radius: var(--radius-md);
  color: var(--color-text);
  font-family: inherit;
  font-size: clamp(1.0375rem, 0.6vw + 0.94rem, 1.1575rem);
  font-weight: 700;
  cursor: pointer;
  position: relative;
  transition: background-color var(--transition), color var(--transition);
}

.accordion__trigger:hover {
  background: color-mix(in srgb, var(--color-primary-soft) 45%, transparent);
}

.accordion__trigger:focus-visible {
  outline: 2px solid var(--color-primary-mid);
  outline-offset: 2px;
}

.accordion__trigger::after {
  content: "";
  position: absolute;
  right: 1.15rem;
  top: 50%;
  width: 0.5rem;
  height: 0.5rem;
  border-right: 2.5px solid color-mix(in srgb, var(--color-muted) 70%, var(--color-primary) 30%);
  border-bottom: 2.5px solid color-mix(in srgb, var(--color-muted) 70%, var(--color-primary) 30%);
  transform: translateY(-60%) rotate(45deg);
  transition: transform var(--transition), border-color var(--transition);
}

.accordion__trigger[aria-expanded="true"]::after {
  border-color: var(--color-primary-mid);
  transform: translateY(-25%) rotate(225deg);
}

.accordion__panel {
  padding: 0 1.15rem 1.25rem;
}

.accordion__panel p {
  margin: 0;
  max-width: 58ch;
  color: color-mix(in srgb, var(--color-muted) 38%, var(--color-text) 62%);
  font-size: clamp(1.05rem, 1.2vw + 0.93rem, 1.22rem);
  line-height: 1.62;
  font-weight: 500;
}

/* Fundo imagem full-bleed na seção (estático) — Dores, Diferenciais, FAQ, etc. */
.section--fullbg-image {
  overflow: hidden;
  isolation: isolate;
}

.section--fullbg-image.section--depth::before {
  display: none;
}

.section-fullbg-image__bg {
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  background-image: url("../images/bg-parallax.webp");
  background-position: center center;
  background-size: cover;
  background-repeat: no-repeat;
}

.section-fullbg-image__scrim {
  display: none;
}

.section-fullbg-image__content {
  position: relative;
  z-index: 2;
}

section[id="diferenciais"].section--fullbg-image .section-head h2 {
  text-shadow: 0 1px 12px rgba(255, 255, 255, 0.85);
}

/* FAQ — vidro e título sobre o fundo */
.section--faq-fullbg .accordion--glass {
  padding: 0.75rem 0.65rem;
  background: color-mix(in srgb, var(--color-surface) 38%, transparent);
  border-color: color-mix(in srgb, var(--color-border) 55%, transparent);
  box-shadow:
    0 1px 0 rgba(255, 255, 255, 0.5) inset,
    0 12px 40px rgba(11, 18, 32, 0.06);
  backdrop-filter: blur(18px) saturate(1.25);
  -webkit-backdrop-filter: blur(18px) saturate(1.25);
}

.section--faq-fullbg .section-head--faq {
  margin-bottom: clamp(1.75rem, 4vw, 2.35rem);
}

.section--faq-fullbg .section-head h2 {
  text-shadow: 0 1px 12px rgba(255, 255, 255, 0.85);
}

.section--faq-fullbg .accordion__item:has(.accordion__trigger[aria-expanded="true"]) {
  background: color-mix(in srgb, var(--color-surface) 72%, var(--color-primary-soft) 28%);
  border-color: color-mix(in srgb, var(--color-primary) 22%, transparent);
}

.section--faq-fullbg .accordion__panel p {
  color: color-mix(in srgb, var(--color-navy-soft) 32%, var(--color-text) 68%);
}

/* CTA final */
.cta-final {
  text-align: center;
}

/* CTA final — fundo full-bleed na própria <section> (.cta-final.section--fullbg-image) */
section.cta-final.section--fullbg-image {
  background-image: url("../images/bg-parallax.webp");
  background-position: center center;
  background-size: cover;
  background-repeat: no-repeat;
}

.cta-final__shell {
  position: relative;
  border-radius: var(--radius-lg);
  overflow: hidden;
  min-height: min(320px, 70vw);
  display: grid;
  place-items: center;
  padding: clamp(2rem, 6vw, 4rem) 0;
  width: 100%;
}

.cta-final__inner {
  position: relative;
  z-index: 1;
  padding: clamp(2rem, 5vw, 3.25rem) 1.75rem;
  border-radius: var(--radius-md);
  margin-inline: 1rem;
  margin-block: 0;
  max-width: min(640px, calc(100% - 2rem));
  background: rgba(255, 255, 255, 0.78);
  backdrop-filter: blur(12px);
  border: 1px solid rgba(255, 255, 255, 0.9);
  box-shadow: var(--shadow-float);
}

.cta-final h2 {
  font-size: var(--heading-section-display);
  font-weight: 900;
  letter-spacing: -0.035em;
  line-height: 1.13;
  margin: 0 0 0.875rem;
  text-rendering: optimizeLegibility;
  background-image: linear-gradient(
    118deg,
    var(--color-primary) 0%,
    var(--color-primary-mid) 40%,
    color-mix(in srgb, var(--color-secondary) 85%, var(--color-primary-mid) 15%) 78%,
    var(--color-secondary) 100%
  );
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  -webkit-text-fill-color: transparent;
}

.cta-final p {
  margin: 0 auto 1.6rem;
  color: color-mix(in srgb, var(--color-muted) 85%, var(--color-text) 15%);
  max-width: 34rem;
  font-size: var(--lead-section-display);
  font-weight: 600;
  line-height: 1.52;
}

/* Footer — institucional premium (arcos CanalFocus · favicon) */
.site-footer {
  --footer-blue-glow: color-mix(in srgb, #2e64fe 35%, transparent);
  --footer-teal-glow: color-mix(in srgb, #26a69a 32%, transparent);
  position: relative;
  padding: 0;
  margin-top: 0;
  border-top: none;
  isolation: isolate;
  color: #e2e8f0;
  overflow: hidden;
  background:
    radial-gradient(ellipse 110% 80% at 50% -20%, rgba(37, 99, 235, 0.12), transparent 52%),
    radial-gradient(ellipse 70% 55% at 4% 88%, rgba(38, 166, 154, 0.08), transparent 48%),
    radial-gradient(ellipse 65% 50% at 96% 78%, rgba(46, 100, 254, 0.07), transparent 50%),
    linear-gradient(
      168deg,
      #050d18 0%,
      color-mix(in srgb, var(--color-navy) 94%, #0c4a6e) 42%,
      var(--color-navy) 55%,
      #030810 100%
    );
}

.site-footer::before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  height: 2px;
  background: linear-gradient(
    90deg,
    transparent 0%,
    color-mix(in srgb, var(--footer-blue-glow) 90%, transparent) 22%,
    color-mix(in srgb, var(--color-tech-cyan) 40%, transparent) 48%,
    color-mix(in srgb, var(--footer-teal-glow) 85%, transparent) 72%,
    transparent 100%
  );
  opacity: 0.95;
  z-index: 3;
}

.site-footer::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background:
    radial-gradient(ellipse 82% 50% at 18% -5%, rgba(30, 64, 175, 0.2), transparent 58%),
    radial-gradient(ellipse 58% 44% at 92% 100%, rgba(14, 165, 233, 0.12), transparent 55%),
    linear-gradient(to bottom, rgba(15, 23, 42, 0.12) 0%, transparent 42%);
  z-index: 1;
}

/* Camada SVG — dois arcos laterais ecoando o ícone da marca */
.site-footer__arcs {
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
}

.site-footer__arcs-svg {
  position: absolute;
  left: 50%;
  bottom: clamp(-95px, -8vw, -35px);
  width: clamp(840px, 118vw, 1600px);
  height: auto;
  min-height: clamp(260px, 38vw, 420px);
  transform: translateX(-50%);
  opacity: 0.72;
}

@media (min-width: 960px) {
  .site-footer__arcs-svg {
    opacity: 0.78;
    bottom: clamp(-118px, -10vw, -48px);
  }
}

@media (prefers-reduced-motion: no-preference) {
  .site-footer__arc--blue-out {
    animation: footer-arc-soft 24s ease-in-out infinite alternate;
  }

  .site-footer__arc--teal-out {
    animation: footer-arc-soft 26s ease-in-out infinite alternate-reverse;
  }
}

@keyframes footer-arc-soft {
  from {
    transform: translateY(3px);
    opacity: 0.88;
  }
  to {
    transform: translateY(-2px);
    opacity: 1;
  }
}

.site-footer__inner {
  position: relative;
  z-index: 2;
  display: grid;
  gap: clamp(1.85rem, 4.5vw, 2.5rem);
  padding: clamp(3rem, 6.8vw, 4.65rem) 0 clamp(2.35rem, 5vw, 3.35rem);
  text-align: left;
}

@media (min-width: 720px) and (max-width: 959.98px) {
  .site-footer__inner {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    column-gap: clamp(2rem, 5vw, 3rem);
    row-gap: 2rem;
  }

  .site-footer__inner--two-col .site-footer__nav.site-footer__nav--highlight {
    grid-column: 1 / -1;
    max-width: min(520px, 100%);
    justify-self: start;
  }

  .site-footer__brand-block {
    grid-column: 1 / -1;
  }
}

@media (min-width: 960px) {
  .site-footer__inner {
    grid-template-columns: minmax(0, 1.35fr) minmax(11rem, 1fr) auto;
    gap: clamp(2rem, 4vw, 3.25rem) clamp(2rem, 5vw, 4rem);
    align-items: start;
  }

  .site-footer__inner--two-col {
    grid-template-columns: minmax(0, 1.35fr) minmax(14rem, 1.12fr);
  }

  .site-footer__nav--highlight {
    padding: 1.35rem 1.65rem;
  }

  .site-footer__social-wrap {
    padding-top: 0.22rem;
  }
}

.site-footer__brand-block {
  display: flex;
  flex-direction: column;
  gap: clamp(1rem, 2.5vw, 1.2rem);
}

.site-footer__logo {
  display: block;
  width: 200px;
  max-width: 100%;
  height: auto;
  max-height: 40px;
  object-fit: contain;
  object-position: left center;
  filter: drop-shadow(0 2px 18px rgba(0, 0, 0, 0.25));
}

@media (max-width: 959.98px) {
  .site-footer__logo {
    width: 180px;
    max-height: 36px;
  }
}

.site-footer__tag {
  margin: -0.35rem 0 0;
  font-size: 0.6875rem;
  font-weight: 600;
  letter-spacing: 0.28em;
  text-transform: uppercase;
  color: color-mix(in srgb, #94a3b8 92%, var(--color-tech-cyan));
}

.site-footer__desc {
  margin: 0;
  max-width: 34rem;
}

.site-footer__desc p {
  margin: 0;
  font-size: 0.875rem;
  font-weight: 500;
  line-height: 1.74;
  color: color-mix(in srgb, #94a3b8 94%, #e2e8f0);
  letter-spacing: 0.01em;
}

.site-footer__desc p + p {
  margin-top: 0.7rem;
}

.site-footer__nav {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

.site-footer__nav--highlight {
  position: relative;
  padding: 1.05rem 1.25rem;
  padding-inline-start: 1.65rem;
  border-radius: calc(var(--radius-md) + 4px);
  background: linear-gradient(
    168deg,
    rgba(248, 250, 252, 0.07) 0%,
    color-mix(in srgb, var(--color-primary) 22%, transparent) 48%,
    rgba(15, 23, 42, 0.52) 100%
  );
  border: 1px solid rgba(147, 197, 253, 0.2);
  box-shadow:
    0 1px 0 rgba(255, 255, 255, 0.07) inset,
    0 16px 40px rgba(0, 0, 0, 0.22);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
}

.site-footer__nav--highlight::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 0.72rem;
  width: 3px;
  height: clamp(96px, 28%, 124px);
  transform: translateY(-50%);
  border-radius: 999px;
  background: linear-gradient(
    180deg,
    color-mix(in srgb, #38bdf8 75%, transparent) 0%,
    color-mix(in srgb, #2e64fe 70%, transparent) 38%,
    color-mix(in srgb, #26a69a 75%, transparent) 100%
  );
  opacity: 0.9;
}

.site-footer__nav--highlight .site-footer__links {
  gap: 0.5rem;
}

.site-footer__nav--highlight .site-footer__links a {
  font-size: 0.9375rem;
  font-weight: 600;
  color: #f1f5f9;
  text-decoration-color: transparent;
  letter-spacing: 0.015em;
  transition:
    color 0.2s ease,
    text-underline-offset 0.2s ease,
    text-decoration-color 0.2s ease;
}

.site-footer__nav--highlight .site-footer__links a:hover,
.site-footer__nav--highlight .site-footer__links a:focus-visible {
  color: #ffffff;
  text-decoration: underline rgba(147, 197, 253, 0.55);
  text-decoration-thickness: 1px;
  text-underline-offset: 6px;
}

.site-footer__links a[aria-current="page"] {
  font-weight: 800;
  color: #e0f2fe;
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 4px;
}

@media (min-width: 960px) {
  .site-footer__nav {
    justify-self: end;
    text-align: right;
    align-items: flex-end;
  }

  .site-footer__social-wrap {
    justify-self: end;
    text-align: right;
    align-items: flex-end;
  }

  .site-footer__social {
    justify-content: flex-end;
  }

  .site-footer__nav--highlight::before {
    left: auto;
    right: 0.72rem;
  }

  .site-footer__nav--highlight {
    padding-inline-start: 1.25rem;
    padding-inline-end: 1.65rem;
  }
}

.footer-col__title {
  margin: 0;
  font-size: 0.6875rem;
  font-weight: 700;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: #78869b;
}

.footer-col__title.footer-col__title--nav {
  font-size: 0.6875rem;
  font-weight: 800;
  letter-spacing: 0.26em;
  color: color-mix(in srgb, #bae6fd 88%, white);
}

.site-footer__links {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  flex-wrap: nowrap;
  align-items: flex-start;
  gap: 0.42rem;
}

@media (min-width: 960px) {
  .site-footer__links {
    align-items: flex-end;
  }
}

.site-footer__social-wrap {
  display: flex;
  flex-direction: column;
  gap: 0.92rem;
}

.site-footer__social {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  gap: 0.55rem;
}

.site-footer__social-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.75rem;
  height: 2.75rem;
  border-radius: 50%;
  font-size: 1.125rem;
  color: #eef2ff;
  background:
    radial-gradient(circle at 30% 25%, rgba(255, 255, 255, 0.1), transparent 55%),
    rgba(15, 23, 42, 0.52);
  border: 1px solid rgba(148, 163, 184, 0.26);
  text-decoration: none;
  transition:
    background var(--transition),
    border-color 0.25s ease,
    color var(--transition),
    transform var(--transition),
    box-shadow 0.25s ease;
}

.site-footer__social-link:hover {
  color: #fff;
  transform: translateY(-2px);
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.2);
}

.site-footer__social-link:focus-visible {
  outline: 2px solid #93c5fd;
  outline-offset: 2px;
}

.site-footer__social-link--instagram:hover {
  border-color: color-mix(in srgb, #e4405f 45%, transparent);
  background: color-mix(in srgb, #e4405f 35%, rgba(15, 23, 42, 0.6));
}

.site-footer__social-link--linkedin:hover {
  border-color: color-mix(in srgb, #0a66c2 45%, transparent);
  background: color-mix(in srgb, #0a66c2 35%, rgba(15, 23, 42, 0.6));
}

.site-footer__social-link--youtube:hover {
  border-color: color-mix(in srgb, #ff0000 42%, transparent);
  background: color-mix(in srgb, #ff0000 32%, rgba(15, 23, 42, 0.6));
}

.site-footer__links a {
  font-size: 0.875rem;
  color: #cbd5e1;
  text-decoration: none;
  transition:
    color 0.18s ease,
    text-underline-offset 0.18s ease;
}

.site-footer__links a:hover,
.site-footer__links a:focus-visible {
  color: #f8fafc;
}

.site-footer__badges {
  list-style: none;
  margin: 0.55rem 0 0;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  gap: 0.55rem;
}

.site-footer__badge {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  padding: 0.4rem 0.72rem;
  border-radius: 999px;
  font-size: 0.6875rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: color-mix(in srgb, #e2e8f0 95%, white);
  background:
    linear-gradient(158deg, rgba(255, 255, 255, 0.06) 0%, transparent 54%),
    rgba(15, 23, 42, 0.38);
  border: 1px solid rgba(148, 163, 184, 0.2);
}

.site-footer__badge i {
  font-size: 0.82rem;
  color: color-mix(in srgb, #93c5fd 80%, #67e8f9);
}

.site-footer__cta {
  margin-top: 0.25rem;
}

.site-footer__cta .btn--ghost {
  font-weight: 700;
  letter-spacing: 0.04em;
  color: #e2e8f0;
  border: 1px solid rgba(148, 163, 184, 0.32);
  background: rgba(15, 23, 42, 0.32);
  transition:
    color 0.2s ease,
    border-color 0.2s ease,
    box-shadow 0.2s ease,
    transform 0.18s ease;
}

.site-footer__cta .btn--ghost:hover {
  color: #fff;
  background: rgba(30, 64, 175, 0.4);
  border-color: rgba(147, 197, 253, 0.45);
  box-shadow: 0 0 28px rgba(46, 100, 254, 0.12);
}

/* Divisor em arco antes da linha jurídica */
.site-footer__bottom {
  position: relative;
  z-index: 2;
  padding: 2.85rem 0 1.35rem;
  margin-top: 0.85rem;
  border-top: none;
  text-align: center;
}

.site-footer__bottom-curve--svg {
  display: block;
  width: 100%;
  max-width: min(840px, 92vw);
  height: clamp(26px, 4vw, 34px);
  margin: -1rem auto -0.5rem;
  opacity: 0.92;
}

@media (min-width: 720px) {
  .site-footer__bottom-curve--svg {
    max-width: min(980px, 88vw);
  }
}

.site-footer__copy {
  margin: 0;
  padding-top: 1.85rem;
  font-size: 0.7275rem;
  font-weight: 500;
  letter-spacing: 0.035em;
  color: color-mix(in srgb, #64748b 85%, var(--color-tech-cyan));
}

.site-footer__copy a {
  color: #8797ad;
  text-decoration: underline;
  text-decoration-color: rgba(148, 163, 184, 0.4);
  text-underline-offset: 3px;
  transition:
    color 0.18s ease,
    text-decoration-color 0.18s ease;
}

.site-footer__copy a:hover {
  color: #cbd5e1;
}

.site-footer__copy-meta {
  display: block;
  margin-top: 0.42rem;
  font-size: 0.6825rem;
  color: #475569;
}

@media (min-width: 640px) {
  .site-footer__copy-meta {
    display: inline;
    margin-top: 0;
    margin-left: 0.35rem;
  }

  .site-footer__copy-meta::before {
    content: "·";
    margin-right: 0.35rem;
  }
}

@media (prefers-reduced-motion: reduce) {
  .site-footer__arc--blue-out,
  .site-footer__arc--teal-out {
    animation: none;
  }

  .site-footer__cta .btn--ghost:hover,
  .site-footer__social-link:hover {
    transform: none;
  }
}

/* —— Contato premium (enterprise SaaS) —— */
.section--contact-premium {
  --contact-blue: #1d4ed8;
  --contact-navy: #0f172a;
  --contact-green: #10b981;
  --contact-muted: #64748b;
  --contact-bg-start: #f8fafc;
  --contact-bg-end: #eef4ff;
  --contact-radius: 24px;
  position: relative;
  padding: clamp(2.25rem, 4.5vw, 3.25rem) 0;
  background: linear-gradient(165deg, var(--contact-bg-start) 0%, var(--contact-bg-end) 55%, #f8fafc 100%);
  overflow: clip;
  isolation: isolate;
}

.section--contact-premium::before {
  content: none;
}

.contact-premium__ambient {
  position: absolute;
  inset: 0;
  pointer-events: none;
  background:
    radial-gradient(ellipse 70% 55% at 12% 20%, rgba(29, 78, 216, 0.07), transparent 58%),
    radial-gradient(ellipse 50% 45% at 88% 75%, rgba(16, 185, 129, 0.05), transparent 52%);
}

.contact-premium__grid {
  position: relative;
  z-index: 1;
  display: grid;
  gap: clamp(1.5rem, 3vw, 2rem);
  align-items: center;
}

@media (min-width: 900px) {
  .contact-premium__grid {
    grid-template-columns: minmax(0, 1.05fr) minmax(0, 0.95fr);
    gap: clamp(2rem, 3.5vw, 3rem);
  }
}

.contact-premium__institutional {
  display: flex;
  flex-direction: column;
  gap: clamp(1.15rem, 2.5vw, 1.5rem);
}

.contact-premium__copy {
  max-width: min(36rem, 100%);
}

.contact-premium__eyebrow {
  margin-bottom: 0.65rem;
  color: var(--contact-blue);
}

.contact-premium__title {
  margin: 0 0 0.75rem;
  font-size: clamp(1.65rem, 3.8vw, 2.35rem);
  font-weight: 800;
  line-height: 1.12;
  letter-spacing: -0.035em;
  color: var(--contact-navy);
  text-wrap: balance;
}

.contact-premium__title-accent {
  display: inline;
  color: var(--contact-blue);
}

.contact-premium__lead {
  margin: 0 0 1rem;
  font-size: clamp(0.9875rem, 1.5vw, 1.0625rem);
  font-weight: 500;
  line-height: 1.55;
  color: var(--contact-muted);
  max-width: 32rem;
}

.contact-premium__badge {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  margin: 0 0 1.15rem;
  padding: 0.4rem 0.75rem 0.4rem 0.55rem;
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.02em;
  color: #047857;
  background: rgba(16, 185, 129, 0.1);
  border: 1px solid rgba(16, 185, 129, 0.22);
  border-radius: 999px;
}

.contact-premium__badge i {
  font-size: 0.7rem;
  opacity: 0.9;
}

.contact-premium__highlights {
  list-style: none;
  margin: 0 0 1.1rem;
  padding: 0;
  display: grid;
  gap: 0.55rem;
}

@media (min-width: 640px) {
  .contact-premium__highlights {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.65rem;
  }
}

@media (min-width: 900px) {
  .contact-premium__highlights {
    grid-template-columns: 1fr;
    gap: 0.5rem;
  }
}

.contact-premium__highlights li {
  display: flex;
  align-items: flex-start;
  gap: 0.65rem;
  padding: 0.65rem 0.75rem;
  border-radius: 14px;
  background: rgba(255, 255, 255, 0.65);
  border: 1px solid rgba(15, 23, 42, 0.06);
  box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04);
  transition:
    border-color var(--transition),
    box-shadow var(--transition),
    transform var(--transition);
}

.contact-premium__highlights li:hover {
  border-color: rgba(29, 78, 216, 0.14);
  box-shadow: 0 4px 16px rgba(29, 78, 216, 0.06);
  transform: translateY(-1px);
}

.contact-premium__highlight-icon {
  flex-shrink: 0;
  width: 2rem;
  height: 2rem;
  display: grid;
  place-items: center;
  border-radius: 10px;
  font-size: 0.8rem;
  color: var(--contact-blue);
  background: rgba(29, 78, 216, 0.08);
}

.contact-premium__highlight-text {
  display: flex;
  flex-direction: column;
  gap: 0.1rem;
  min-width: 0;
}

.contact-premium__highlight-text strong {
  font-size: 0.8125rem;
  font-weight: 700;
  color: var(--contact-navy);
  line-height: 1.25;
}

.contact-premium__highlight-text span {
  font-size: 0.72rem;
  font-weight: 500;
  line-height: 1.35;
  color: var(--contact-muted);
}

.contact-premium__channels {
  list-style: none;
  margin: 0.15rem 0 0;
  padding: 0;
  display: grid;
  grid-template-columns: 1fr;
  gap: 0.5rem;
}

@media (min-width: 520px) {
  .contact-premium__channels {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.65rem;
  }
}

.contact-premium__channels li {
  min-width: 0;
}

.contact-premium__channel {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  width: 100%;
  min-height: 100%;
  padding: 0.7rem 0.85rem;
  border-radius: 14px;
  text-decoration: none;
  color: var(--contact-navy);
  background: rgba(255, 255, 255, 0.65);
  border: 1px solid rgba(15, 23, 42, 0.06);
  box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04);
  transition:
    border-color var(--transition),
    box-shadow var(--transition),
    transform var(--transition),
    color var(--transition);
}

.contact-premium__channel:hover {
  transform: translateY(-1px);
  border-color: rgba(29, 78, 216, 0.14);
  box-shadow: 0 4px 16px rgba(29, 78, 216, 0.08);
}

.contact-premium__channel--email:hover {
  color: var(--contact-blue);
}

.contact-premium__channel--whatsapp:hover {
  color: #15803d;
  border-color: rgba(22, 163, 74, 0.22);
  box-shadow: 0 4px 16px rgba(22, 163, 74, 0.1);
}

.contact-premium__channel-icon {
  flex-shrink: 0;
  width: 2.25rem;
  height: 2.25rem;
  display: grid;
  place-items: center;
  border-radius: 10px;
  font-size: 1rem;
  color: var(--contact-blue);
  background: rgba(29, 78, 216, 0.08);
  transition:
    color var(--transition),
    background var(--transition);
}

.contact-premium__channel--whatsapp .contact-premium__channel-icon {
  color: #16a34a;
  background: rgba(22, 163, 74, 0.1);
}

.contact-premium__channel--email:hover .contact-premium__channel-icon {
  color: var(--contact-blue);
  background: rgba(29, 78, 216, 0.12);
}

.contact-premium__channel--whatsapp:hover .contact-premium__channel-icon {
  color: #15803d;
  background: rgba(22, 163, 74, 0.14);
}

.contact-premium__channel-body {
  display: flex;
  flex-direction: column;
  gap: 0.12rem;
  min-width: 0;
  flex: 1;
}

.contact-premium__channel-label {
  font-size: 0.65rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--contact-muted);
}

.contact-premium__channel-value {
  font-size: clamp(0.75rem, 0.35vw + 0.68rem, 0.875rem);
  font-weight: 600;
  line-height: 1.35;
  overflow-wrap: break-word;
  word-break: normal;
}

.contact-premium__channel--whatsapp .contact-premium__channel-value {
  white-space: nowrap;
}

.contact-premium__form-col {
  position: relative;
}

.contact-premium__form-backdrop {
  position: absolute;
  inset: -8% -4%;
  border-radius: calc(var(--contact-radius) + 8px);
  background: linear-gradient(145deg, rgba(29, 78, 216, 0.12), rgba(16, 185, 129, 0.06));
  filter: blur(28px);
  opacity: 0.75;
  pointer-events: none;
}

.contact-premium__form-card {
  position: relative;
  padding: clamp(1.35rem, 3vw, 1.75rem);
  border-radius: var(--contact-radius);
  background: rgba(255, 255, 255, 0.92);
  border: 1px solid rgba(255, 255, 255, 0.85);
  box-shadow:
    0 1px 0 rgba(255, 255, 255, 0.95) inset,
    0 1px 2px rgba(15, 23, 42, 0.04),
    0 12px 40px rgba(15, 23, 42, 0.08),
    0 0 0 1px rgba(15, 23, 42, 0.05);
  backdrop-filter: blur(12px);
}

@supports not (backdrop-filter: blur(12px)) {
  .contact-premium__form-card {
    background: #fff;
  }
}

.contact-premium__form-head {
  margin-bottom: 1.15rem;
}

.contact-premium__form-title {
  margin: 0 0 0.35rem;
  font-size: 1.2rem;
  font-weight: 800;
  letter-spacing: -0.02em;
  color: var(--contact-navy);
}

.contact-premium__form-sub {
  margin: 0;
  font-size: 0.875rem;
  font-weight: 500;
  line-height: 1.45;
  color: var(--contact-muted);
}

.contact-premium__form {
  display: flex;
  flex-direction: column;
  gap: 0.85rem;
}

.contact-premium__field label {
  display: block;
  margin-bottom: 0.4rem;
  font-size: 0.8125rem;
  font-weight: 700;
  letter-spacing: 0.01em;
  color: var(--contact-navy);
}

.contact-premium__optional {
  font-weight: 500;
  color: var(--contact-muted);
}

.contact-premium__field input,
.contact-premium__field textarea {
  width: 100%;
  padding: 0.8rem 1rem;
  font-family: inherit;
  font-size: 0.9375rem;
  font-weight: 500;
  line-height: 1.4;
  color: var(--contact-navy);
  background: #f8fafc;
  border: 1px solid rgba(15, 23, 42, 0.1);
  border-radius: 14px;
  box-shadow: 0 1px 2px rgba(15, 23, 42, 0.03);
  transition:
    border-color 0.2s ease,
    box-shadow 0.2s ease,
    background 0.2s ease;
}

.contact-premium__field input::placeholder,
.contact-premium__field textarea::placeholder {
  color: #94a3b8;
  font-weight: 500;
}

.contact-premium__field input:hover,
.contact-premium__field textarea:hover {
  border-color: rgba(29, 78, 216, 0.22);
  background: #fff;
}

.contact-premium__field input:focus,
.contact-premium__field textarea:focus {
  outline: none;
  border-color: var(--contact-blue);
  background: #fff;
  box-shadow:
    0 0 0 3px rgba(29, 78, 216, 0.14),
    0 1px 2px rgba(15, 23, 42, 0.04);
}

.contact-premium__field textarea {
  resize: vertical;
  min-height: 4.5rem;
  max-height: 9rem;
}

.contact-premium__lgpd {
  display: flex;
  align-items: flex-start;
  gap: 0.55rem;
  margin-top: 0.15rem;
  font-size: 0.75rem;
  font-weight: 500;
  line-height: 1.45;
  color: var(--contact-muted);
  cursor: pointer;
}

.contact-premium__lgpd input {
  margin-top: 0.15rem;
  width: 1rem;
  height: 1rem;
  flex-shrink: 0;
  accent-color: var(--contact-blue);
}

.contact-premium__lgpd a {
  color: var(--contact-blue);
  text-decoration: underline;
  text-underline-offset: 2px;
}

.contact-premium__lgpd a:hover {
  color: #1e3a8a;
}

.contact-premium__submit {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.55rem;
  width: 100%;
  margin-top: 0.25rem;
  padding: 0.95rem 1.25rem;
  font-family: inherit;
  font-size: 0.9375rem;
  font-weight: 700;
  letter-spacing: 0.01em;
  color: #fff;
  cursor: pointer;
  border: none;
  border-radius: 14px;
  background: var(--contact-blue);
  box-shadow:
    0 1px 0 rgba(255, 255, 255, 0.18) inset,
    0 4px 14px rgba(29, 78, 216, 0.35);
  transition:
    background 0.25s ease,
    box-shadow 0.25s ease,
    transform 0.25s ease;
}

.contact-premium__submit i {
  font-size: 1.05rem;
  opacity: 0.95;
}

.contact-premium__submit:hover {
  background: #1e40af;
  box-shadow:
    0 1px 0 rgba(255, 255, 255, 0.2) inset,
    0 8px 28px rgba(29, 78, 216, 0.42),
    0 0 24px rgba(29, 78, 216, 0.2);
  transform: translateY(-1px);
}

.contact-premium__submit:active {
  transform: translateY(0);
}

.contact-premium__submit:focus-visible {
  outline: 2px solid var(--contact-blue);
  outline-offset: 3px;
}

/* —— Consentimento de cookies (LGPD) —— */
.cookie-consent {
  position: fixed;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 1200;
  padding: 1.1rem 0 calc(1.1rem + env(safe-area-inset-bottom, 0px));
  background: linear-gradient(180deg, color-mix(in srgb, var(--color-surface) 97%, var(--color-primary) 3%) 0%, var(--color-surface) 48%);
  border-top: 1px solid var(--color-border);
  box-shadow: 0 -10px 40px rgba(11, 18, 32, 0.08);
  transform: translate3d(0, 108%, 0);
  transition:
    transform 0.42s cubic-bezier(0.4, 0, 0.2, 1),
    visibility 0s linear 0.42s;
  pointer-events: none;
  visibility: hidden;
}

.cookie-consent.cookie-consent--visible {
  transform: translate3d(0, 0, 0);
  pointer-events: auto;
  visibility: visible;
  transition:
    transform 0.42s cubic-bezier(0.4, 0, 0.2, 1),
    visibility 0s linear 0s;
}

.cookie-consent__inner {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 1rem;
}

@media (min-width: 768px) {
  .cookie-consent__inner {
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    gap: 1.5rem;
  }
}

.cookie-consent__copy {
  min-width: 0;
}

.cookie-consent__title {
  margin: 0 0 0.35rem;
  font-size: 1.05rem;
  font-weight: 800;
  letter-spacing: -0.02em;
  color: var(--color-text);
  line-height: 1.25;
}

.cookie-consent__text {
  margin: 0;
  font-size: 0.9rem;
  font-weight: 500;
  line-height: 1.6;
  color: color-mix(in srgb, var(--color-text) 88%, var(--color-muted));
  max-width: 52rem;
}

.cookie-consent__text a {
  color: var(--color-primary);
  font-weight: 700;
  text-decoration-thickness: 1px;
  text-underline-offset: 3px;
}

.cookie-consent__text a:hover {
  color: var(--color-primary-mid);
}

.cookie-consent__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.65rem;
  flex-shrink: 0;
  width: 100%;
}

@media (min-width: 768px) {
  .cookie-consent__actions {
    width: auto;
    justify-content: flex-end;
  }
}

.cookie-consent__btn {
  flex: 1 1 auto;
  min-height: 46px;
}

@media (min-width: 768px) {
  .cookie-consent__btn {
    flex: 0 0 auto;
    min-width: 10.5rem;
  }
}

html.cookie-consent-open .floating-contact-system {
  bottom: calc(28px + var(--cookie-banner-h, 0px));
}

/* —— Flutuantes (estilo rgmais-v1 / WhatsApp) —— */
.widget-backdrop {
  display: none;
  position: fixed;
  inset: 0;
  background: rgba(11, 18, 32, 0.45);
  backdrop-filter: blur(4px);
  z-index: 1100;
}

.widget-backdrop.is-active {
  display: block;
}

.floating-contact-system {
  position: fixed;
  bottom: 28px;
  right: 28px;
  z-index: 1150;
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 14px;
  pointer-events: none;
}

.floating-contact-system > * {
  pointer-events: auto;
}

.float-btn {
  width: 58px;
  height: 58px;
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 1.6rem;
  color: #fff;
  cursor: pointer;
  border: none;
  margin: 0;
  box-shadow:
    0 0 0 2px var(--color-bg),
    0 14px 32px rgba(11, 18, 32, 0.28);
  transition:
    transform 0.35s cubic-bezier(0.175, 0.885, 0.32, 1.275),
    box-shadow 0.35s ease;
}

.float-btn:hover {
  transform: scale(1.08) translateY(-3px);
  box-shadow:
    0 0 0 3px var(--color-bg),
    0 20px 44px rgba(11, 18, 32, 0.35);
}

.wpp-float {
  order: 1;
  background: #25d366;
}

.form-float {
  order: 2;
  background: var(--color-primary);
}

.contact-form-widget {
  position: absolute;
  bottom: 150px;
  right: 0;
  width: min(380px, calc(100vw - 2rem));
  background: var(--color-surface);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-lg);
  overflow: hidden;
  box-shadow: var(--shadow-float);
  transform: translateY(16px) scale(0.96);
  opacity: 0;
  visibility: hidden;
  transition:
    opacity 0.35s ease,
    transform 0.35s cubic-bezier(0.175, 0.885, 0.32, 1.275),
    visibility 0.35s;
  transform-origin: bottom right;
  max-height: calc(100vh - 180px);
  display: flex;
  flex-direction: column;
}

.contact-form-widget.is-open {
  transform: translateY(0) scale(1);
  opacity: 1;
  visibility: visible;
}

.widget-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: 1rem 1.15rem;
  background: linear-gradient(135deg, var(--color-primary), #2563eb);
  color: #fff;
}

.widget-header h4 {
  margin: 0;
  font-size: 1.05rem;
  font-weight: 700;
}

.widget-close {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  padding: 0;
  border: none;
  border-radius: var(--radius-sm);
  background: rgba(255, 255, 255, 0.15);
  color: #fff;
  font-size: 1.1rem;
  cursor: pointer;
  transition: background var(--transition);
}

.widget-close:hover {
  background: rgba(255, 255, 255, 0.28);
}

.widget-body {
  padding: 1.15rem 1.25rem 1.35rem;
  overflow-y: auto;
  flex: 1;
  -webkit-overflow-scrolling: touch;
}

.widget-body p {
  margin: 0 0 1rem;
  font-size: 0.9rem;
  color: var(--color-muted);
  line-height: 1.55;
}

.widget-form {
  display: flex;
  flex-direction: column;
  gap: 0.65rem;
}

.widget-form input,
.widget-form textarea {
  width: 100%;
  padding: 0.65rem 0.85rem;
  font-family: inherit;
  font-size: 1rem;
  border: 1px solid var(--color-border);
  border-radius: var(--radius-sm);
  background: #fff;
  color: var(--color-text);
  transition: border-color var(--transition), box-shadow var(--transition);
}

.widget-form textarea {
  min-height: 88px;
  resize: vertical;
}

.widget-form input:focus,
.widget-form textarea:focus {
  outline: none;
  border-color: var(--color-primary);
  box-shadow: 0 0 0 3px var(--color-primary-soft);
}

.widget-lgpd {
  display: flex;
  align-items: flex-start;
  gap: 0.5rem;
  font-size: 0.78rem;
  color: var(--color-muted);
  line-height: 1.45;
  cursor: pointer;
}

.widget-lgpd input {
  margin-top: 0.15rem;
  accent-color: var(--color-primary);
}

.widget-submit {
  width: 100%;
  margin-top: 0.35rem;
  padding: 0.75rem 1rem;
  border: none;
  border-radius: var(--radius-sm);
  font-family: inherit;
  font-weight: 700;
  font-size: 0.95rem;
  cursor: pointer;
  background: var(--color-primary);
  color: #fff;
  box-shadow: 0 4px 18px rgba(30, 64, 175, 0.28);
  transition: filter var(--transition), transform var(--transition);
}

.widget-submit:hover {
  filter: brightness(1.06);
}

@media (max-width: 480px) {
  .floating-contact-system {
    right: 16px;
    bottom: 16px;
    gap: 10px;
  }

  .float-btn {
    width: 52px;
    height: 52px;
    font-size: 1.35rem;
  }

  .contact-form-widget {
    position: fixed;
    inset: auto 0 0 0;
    width: 100%;
    max-height: min(92vh, 640px);
    border-radius: var(--radius-lg) var(--radius-lg) 0 0;
    bottom: 0;
    transform: translateY(105%) scale(1);
    transform-origin: bottom center;
  }

  .contact-form-widget.is-open {
    transform: translateY(0) scale(1);
  }
}

/* —— Modal WhatsApp —— */
.wpp-modal-overlay {
  position: fixed;
  inset: 0;
  background: rgba(11, 18, 32, 0.5);
  backdrop-filter: blur(5px);
  z-index: 1180;
  opacity: 0;
  visibility: hidden;
  transition:
    opacity 0.3s ease,
    visibility 0.3s;
}

.wpp-modal-overlay.is-open {
  opacity: 1;
  visibility: visible;
}

.wpp-modal {
  position: fixed;
  bottom: 108px;
  right: 28px;
  width: min(100% - 2rem, 340px);
  background: var(--color-surface);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow-float);
  z-index: 1190;
  transform: translateY(12px) scale(0.96);
  opacity: 0;
  visibility: hidden;
  transition:
    opacity 0.35s ease,
    transform 0.35s cubic-bezier(0.175, 0.885, 0.32, 1.275),
    visibility 0.35s;
  transform-origin: bottom right;
  overflow: hidden;
}

.wpp-modal.is-open {
  opacity: 1;
  visibility: visible;
  transform: translateY(0) scale(1);
}

.wpp-modal-header {
  display: flex;
  align-items: flex-start;
  gap: 0.75rem;
  padding: 1rem 1rem 0.85rem;
  background: linear-gradient(135deg, #ecfdf5 0%, #d1fae5 100%);
  border-bottom: 1px solid rgba(16, 185, 129, 0.25);
}

.wpp-modal-icon {
  width: 44px;
  height: 44px;
  border-radius: var(--radius-sm);
  background: #25d366;
  color: #fff;
  display: grid;
  place-items: center;
  font-size: 1.35rem;
  flex-shrink: 0;
}

.wpp-modal-headtext {
  min-width: 0;
  flex: 1;
}

.wpp-modal-headtext h4 {
  margin: 0 0 0.2rem;
  font-size: 1rem;
}

.wpp-modal-headtext p {
  margin: 0;
  font-size: 0.8rem;
  color: var(--color-muted);
  line-height: 1.4;
}

.wpp-modal-close {
  margin-left: auto;
  flex-shrink: 0;
  width: 34px;
  height: 34px;
  border: 1px solid var(--color-border);
  border-radius: var(--radius-sm);
  background: #fff;
  color: var(--color-muted);
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  transition:
    background var(--transition),
    color var(--transition);
}

.wpp-modal-close:hover {
  background: var(--color-bg);
  color: var(--color-text);
}

.wpp-modal-form {
  padding: 1rem 1rem 1.15rem;
  display: flex;
  flex-direction: column;
  gap: 0.65rem;
}

.wpp-field-group input {
  width: 100%;
  padding: 0.65rem 0.85rem;
  font-family: inherit;
  font-size: 1rem;
  border: 1px solid var(--color-border);
  border-radius: var(--radius-sm);
  background: #fff;
  transition: border-color var(--transition), box-shadow var(--transition);
}

.wpp-field-group input:focus {
  outline: none;
  border-color: #25d366;
  box-shadow: 0 0 0 3px rgba(37, 211, 102, 0.2);
}

.wpp-lgpd {
  display: flex;
  align-items: flex-start;
  gap: 0.5rem;
  font-size: 0.78rem;
  color: var(--color-muted);
  line-height: 1.45;
  cursor: pointer;
}

.wpp-lgpd input {
  margin-top: 0.15rem;
  accent-color: #25d366;
}

.wpp-modal-submit {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  width: 100%;
  padding: 0.75rem 1rem;
  border: none;
  border-radius: var(--radius-sm);
  background: #25d366;
  color: #fff;
  font-family: inherit;
  font-weight: 700;
  font-size: 0.95rem;
  cursor: pointer;
  box-shadow: 0 6px 20px rgba(37, 211, 102, 0.3);
  transition:
    filter var(--transition),
    transform var(--transition);
}

.wpp-modal-submit:hover {
  filter: brightness(1.05);
}

.wpp-modal-skip {
  width: 100%;
  padding: 0.65rem;
  border: 1px solid var(--color-border);
  border-radius: var(--radius-sm);
  background: rgba(255, 255, 255, 0.9);
  color: var(--color-muted);
  font-size: 0.85rem;
  font-weight: 600;
  cursor: pointer;
  transition:
    background var(--transition),
    color var(--transition);
}

.wpp-modal-skip:hover {
  background: var(--color-bg);
  color: var(--color-text);
}

@media (max-width: 480px) {
  .wpp-modal {
    right: 12px;
    left: 12px;
    width: auto;
    bottom: 96px;
  }
}

/* —— Sidebar —— */
.sidebar-overlay {
  position: fixed;
  inset: 0;
  background: rgba(11, 18, 32, 0.45);
  backdrop-filter: blur(6px);
  z-index: 1250;
  opacity: 0;
  visibility: hidden;
  transition:
    opacity 0.4s ease,
    visibility 0.4s;
}

.sidebar-overlay.is-open {
  opacity: 1;
  visibility: visible;
}

.sidebar-panel {
  position: fixed;
  top: 0;
  right: 0;
  width: min(100% - 48px, 420px);
  max-width: 420px;
  height: 100vh;
  height: 100dvh;
  background: linear-gradient(
    180deg,
    rgba(255, 255, 255, 0.99) 0%,
    color-mix(in srgb, #f8fafc 92%, rgba(30, 64, 175, 0.04)) 100%
  );
  border-left: 1px solid color-mix(in srgb, var(--color-border) 85%, rgba(30, 64, 175, 0.08));
  box-shadow: -18px 0 56px rgba(11, 18, 32, 0.14), -1px 0 0 rgba(30, 64, 175, 0.06);
  z-index: 1260;
  display: flex;
  flex-direction: column;
  transform: translateX(100%);
  transition: transform 0.45s cubic-bezier(0.77, 0, 0.175, 1);
}

.sidebar-panel.is-open {
  transform: translateX(0);
}

.sidebar-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: 1.25rem 1.35rem;
  border-bottom: 1px solid var(--color-border);
  background: linear-gradient(180deg, rgba(248, 250, 252, 0.98), var(--color-surface));
}

.sidebar-logo {
  display: block;
  width: 200px;
  max-width: 100%;
  height: auto;
  max-height: 40px;
  object-fit: contain;
  object-position: left center;
}

.sidebar-close {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  padding: 0;
  border: 1px solid var(--color-border);
  border-radius: 50%;
  background: #fff;
  color: var(--color-text);
  font-size: 1.1rem;
  cursor: pointer;
  transition:
    background var(--transition),
    border-color var(--transition),
    transform var(--transition);
}

.sidebar-close:hover {
  background: var(--color-primary-soft);
  border-color: var(--color-primary);
  transform: rotate(90deg);
}

.sidebar-content {
  padding: 1.5rem 1.35rem;
  overflow-y: auto;
  flex: 1;
  -webkit-overflow-scrolling: touch;
}

.sidebar-title {
  margin: 0 0 0.75rem;
  font-size: 1.35rem;
  line-height: 1.25;
  letter-spacing: -0.02em;
}

.sidebar-title span {
  color: var(--color-primary);
}

.sidebar-desc {
  margin: 0 0 1.5rem;
  font-size: 0.9375rem;
  color: var(--color-muted);
  line-height: 1.58;
}

.sidebar-nav {
  display: flex;
  flex-direction: column;
  gap: 0.15rem;
  margin-bottom: 1.75rem;
  padding-bottom: 1.5rem;
  border-bottom: 1px solid var(--color-border);
}

.sidebar-nav a {
  display: block;
  padding: 0.55rem 0.65rem;
  margin: 0 -0.65rem;
  border-radius: var(--radius-sm);
  text-decoration: none;
  font-weight: 600;
  font-size: 0.9375rem;
  color: var(--color-muted);
  transition:
    background var(--transition),
    color var(--transition);
}

.sidebar-nav a:hover {
  background: var(--color-primary-soft);
  color: var(--color-primary);
}

.sidebar-contact-info {
  display: flex;
  flex-direction: column;
  gap: 1.1rem;
}

.sidebar-contact-info .contact-info-item {
  display: flex;
  gap: 0.85rem;
  align-items: flex-start;
}

.sidebar-contact-info .contact-info-icon {
  width: 2.65rem;
  height: 2.65rem;
  border-radius: var(--radius-sm);
  display: grid;
  place-items: center;
  background: var(--color-primary-soft);
  color: var(--color-primary);
  font-size: 1rem;
  flex-shrink: 0;
}

.sidebar-contact-info .contact-info-text h5 {
  margin: 0 0 0.2rem;
  font-size: 0.68rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: var(--color-secondary);
}

.sidebar-contact-info .contact-info-text p {
  margin: 0;
  font-size: 0.95rem;
  font-weight: 600;
}

.sidebar-contact-info a {
  text-decoration: none;
}

.sidebar-contact-info a:hover {
  text-decoration: underline;
  color: var(--color-primary);
}

.sidebar-footer {
  padding: 1.15rem 1.35rem calc(1.15rem + env(safe-area-inset-bottom, 0));
  border-top: 1px solid var(--color-border);
  background: rgba(248, 250, 252, 0.85);
}

.sidebar-footer .btn--block {
  width: 100%;
  justify-content: center;
}

@media (prefers-reduced-motion: reduce) {
  .contact-form-widget,
  .wpp-modal,
  .sidebar-panel,
  .float-btn,
  .nav-sidebar-btn,
  .nav,
  .nav-backdrop {
    transition-duration: 0.01ms !important;
  }

  .nav-sidebar-btn:hover {
    transform: none;
  }
}

/* —— Mobile polish —— */
@media (max-width: 639.98px) {
  .section-head {
    margin-bottom: 1.85rem;
  }

  .section-head h2 {
    font-size: clamp(1.55rem, 6.8vw, 2rem);
  }

  .section-head__lead {
    font-size: clamp(1.02rem, 3.8vw, 1.12rem);
  }

  .section-head__lead--trust,
  .trust-carousel__caption {
    font-size: 0.9375rem;
  }

  .contact-premium__title {
    font-size: clamp(1.45rem, 6.5vw, 1.85rem);
  }

  .contact-premium__highlights li {
    padding: 0.75rem 0.85rem;
  }

  .site-footer__inner {
    gap: 1.75rem;
    padding-top: 2.35rem;
  }

  .site-footer__badges {
    gap: 0.4rem;
  }

  .pricing-card,
  .pricing-card-shell .pricing-card--highlight {
    padding: 1.35rem 1.1rem 1.5rem;
  }

  .timeline {
    margin-left: 0;
  }

  .pipeline-scroll {
    margin-inline: -0.15rem;
    padding-bottom: 1.15rem;
  }

  .pain-carousel__controls {
    gap: 0.5rem;
  }

  /* Dores — narrativa + carrossel */
  section[id="dores"] .narrative-unified {
    gap: 1.15rem;
  }

  section[id="dores"] .section-head--narrative {
    margin-bottom: 0.85rem;
  }

  section[id="dores"] .section-head--narrative h2 {
    font-size: clamp(1.45rem, 6.2vw, 1.85rem);
    text-shadow: 0 1px 12px rgba(255, 255, 255, 0.85);
  }

  section[id="dores"] .section-head__lead {
    font-size: clamp(1rem, 3.6vw, 1.08rem);
    line-height: 1.55;
  }

  .narrative-unified__visual-label {
    font-size: 0.52rem;
    margin-bottom: 0.4rem;
  }

  .mockup--narrative .mockup__body {
    grid-template-columns: 40px minmax(0, 1fr);
    min-height: 200px;
  }

  .mockup--hero .mockup__chrome {
    padding: 0.55rem 0.65rem;
    row-gap: 0.35rem;
  }

  .mockup--hero .mockup__url {
    font-size: 0.58rem;
    max-width: min(11.5rem, 52vw);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  .mockup--hero .mockup__title-bar {
    display: none;
  }

  .mockup__sidebar {
    padding: 0.55rem 0.35rem;
  }

  .mockup__nav-item--icon {
    min-height: 1.65rem;
    font-size: 0.65rem;
  }

  .mockup__risk-stats {
    gap: 0.3rem;
  }

  .mockup__risk-stat {
    padding: 0.35rem 0.4rem;
  }

  .mockup__risk-stat-label {
    font-size: 0.5rem;
    letter-spacing: 0.04em;
  }

  .mockup__risk-stat-val {
    font-size: 0.88rem;
    margin-top: 0.15rem;
  }

  .mockup__pill {
    font-size: 0.55rem;
    padding: 0.18rem 0.38rem;
  }

  .mockup--hero .mockup__main {
    padding: 0.55rem 0.65rem 0.65rem;
    gap: 0.55rem;
  }

  .mockup--hero .mockup__chart--hero {
    min-height: 44px;
  }

  .mockup__table--risk .mockup__table-head {
    font-size: 0.58rem;
  }

  .pain-carousel {
    margin-top: 1rem;
  }

  .pain-carousel__toolbar {
    flex-wrap: wrap;
    gap: 0.55rem 0.65rem;
    margin-bottom: 0.65rem;
  }

  .pain-carousel__live {
    flex: 1 1 100%;
    font-size: 0.6875rem;
    line-height: 1.35;
  }

  .pain-carousel__viewport {
    scroll-padding-inline: 0.65rem;
    margin-inline: -0.15rem;
    padding-inline: 0.15rem;
    -webkit-mask-image: linear-gradient(90deg, transparent 0%, #000 4%, #000 96%, transparent 100%);
    mask-image: linear-gradient(90deg, transparent 0%, #000 4%, #000 96%, transparent 100%);
  }

  .pain-carousel__track {
    gap: 0.65rem;
    padding-inline: 0.1rem;
  }

  .pain-carousel__track > .card--incident {
    flex: 0 0 min(100%, calc(100vw - 2.85rem));
    scroll-snap-align: center;
    transform: scale(1);
    opacity: 1;
    filter: none;
  }

  .pain-carousel__track > .card--incident:not(.is-active) {
    opacity: 0.72;
    transform: scale(0.98);
  }

  .incident-panel__masthead {
    flex-wrap: wrap;
    padding: 0.4rem 0.75rem;
    gap: 0.25rem 0.5rem;
  }

  .incident-panel__id {
    font-size: 0.625rem;
  }

  .incident-panel__ago {
    font-size: 0.58rem;
    white-space: normal;
    text-align: right;
    line-height: 1.3;
  }

  .incident-panel__chips {
    padding: 0.45rem 0.75rem 0.4rem;
    gap: 0.28rem 0.35rem;
  }

  .incident-chip {
    font-size: 0.5rem;
    padding: 0.16rem 0.36rem;
  }

  .incident-panel__body {
    padding: 0.65rem 0.75rem 0.8rem;
    gap: 0.6rem;
  }

  .incident-panel__glyph {
    width: 1.75rem;
    height: 1.75rem;
    font-size: 0.8rem;
  }

  .incident-panel__main h3 {
    font-size: 0.98rem;
  }

  .incident-panel__main p {
    font-size: 0.9rem;
    line-height: 1.5;
    -webkit-line-clamp: 4;
    line-clamp: 4;
  }

  .pain-carousel__footer {
    margin-top: 0.5rem;
    gap: 0.6rem;
  }

  .pain-carousel__dots {
    gap: 0.4rem;
  }

  .pain-carousel__dot {
    width: 0.48rem;
    height: 0.48rem;
  }

  .pain-carousel__dot.is-active {
    width: 1.25rem;
  }
}

@media (max-width: 479.98px) {
  .btn {
    font-size: 0.9rem;
  }

  .contact-premium__form-card {
    border-radius: 18px;
  }

  .accordion__trigger {
    padding: 1.1rem 2.35rem 1.1rem 0.85rem;
    font-size: 0.975rem;
  }

  .accordion__trigger::after {
    right: 0.65rem;
  }

  .accordion__panel {
    padding: 0 0.85rem 1.05rem;
  }

  .accordion--glass {
    padding: 0.45rem 0.35rem;
    gap: 0.15rem;
  }

  .cta-final__inner {
    padding-block: 2rem;
  }

  .cta-final__inner .btn {
    width: 100%;
    justify-content: center;
  }
}

/* --- Páginas legais (Privacidade / Termos) --- */
.page-legal-main {
  padding-block: clamp(2rem, 5vw, 3.5rem);
}

.page-legal-hero {
  margin-bottom: clamp(1.5rem, 3vw, 2.25rem);
}

.page-legal-hero h1 {
  font-size: clamp(1.65rem, 4vw, 2.25rem);
  font-weight: 800;
  letter-spacing: -0.02em;
  color: var(--color-navy);
  line-height: 1.2;
  margin: 0.35rem 0 0.75rem;
}

.legal-doc__lead {
  margin: 0;
  max-width: 62ch;
  color: color-mix(in srgb, var(--color-text) 88%, var(--color-muted));
  font-weight: 500;
  line-height: 1.65;
}

.legal-doc {
  background: var(--color-surface);
  border-radius: var(--radius-lg);
  padding: clamp(1.35rem, 3.5vw, 2.35rem);
  box-shadow: var(--shadow-card);
  border: 1px solid var(--color-border);
}

.legal-doc h2 {
  font-size: clamp(1.05rem, 2.2vw, 1.22rem);
  font-weight: 800;
  margin-top: 1.85rem;
  margin-bottom: 0.65rem;
  color: var(--color-navy);
  letter-spacing: -0.015em;
}

.legal-doc h2:first-of-type {
  margin-top: 0;
}

.legal-doc p {
  margin: 0 0 1rem;
}

.legal-doc ul {
  margin: 0 0 1rem;
  padding-left: 1.35rem;
}

.legal-doc li {
  margin-bottom: 0.45rem;
}

.legal-doc li:last-child {
  margin-bottom: 0;
}

.legal-meta {
  margin: 0 0 1.35rem !important;
  padding-bottom: 1rem;
  border-bottom: 1px solid var(--color-border);
  color: var(--color-muted);
  font-size: 0.94rem;
  font-weight: 600;
}

.legal-doc a {
  color: var(--color-primary);
  font-weight: 700;
}

.legal-doc a:hover {
  color: var(--color-primary-mid);
}

.legal-doc__note {
  margin-top: 2rem !important;
  padding-top: 1.25rem;
  border-top: 1px dashed color-mix(in srgb, var(--color-border) 90%, var(--color-primary));
  font-size: 0.9rem !important;
  color: var(--color-muted) !important;
  font-style: italic;
  font-weight: 500 !important;
}

/* --- Setup Fee --- */
.pricing-setup-fee {
  background: var(--color-surface);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-md);
  padding: 1.25rem 1.5rem;
  margin: 2.5rem auto 1.5rem;
  max-width: 650px;
  display: flex;
  align-items: center;
  gap: 1.15rem;
  box-shadow: var(--shadow-sm);
}

.pricing-setup-fee__icon {
  font-size: 1.35rem;
  color: var(--color-primary);
  flex-shrink: 0;
  background: var(--color-primary-soft);
  width: 48px;
  height: 48px;
  display: grid;
  place-items: center;
  border-radius: 50%;
}

.pricing-setup-fee__content {
  font-size: 0.95rem;
  color: var(--color-text);
  line-height: 1.5;
}

.pricing-setup-fee__content strong {
  color: var(--color-navy);
}

@media (max-width: 639.98px) {
  .pricing-setup-fee {
    flex-direction: column;
    text-align: center;
    padding: 1.25rem 1rem;
    gap: 0.85rem;
  }
}

.trust-marquee {
  margin: 0 auto;
  position: relative;
  z-index: 2;
}

.section--trust-marquee {
  position: relative;
  z-index: 3;
  padding: 0;
  margin-top: 0;
  margin-bottom: 0.2rem;
}

.trust-marquee__viewport {
  overflow: hidden;
  width: 100vw;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
  padding: 1.05rem clamp(1rem, 4vw, 3rem);
  border-top: 1px solid color-mix(in srgb, var(--color-primary-soft) 60%, rgba(255, 255, 255, 0.32));
  border-bottom: 1px solid color-mix(in srgb, var(--color-primary-soft) 50%, rgba(10, 22, 40, 0.2));
  background: linear-gradient(
    104deg,
    color-mix(in srgb, var(--color-navy) 84%, var(--color-primary) 16%) 0%,
    color-mix(in srgb, var(--color-primary) 78%, var(--color-navy) 22%) 48%,
    color-mix(in srgb, var(--color-navy-soft) 76%, var(--color-secondary) 24%) 100%
  );
  box-shadow: 0 14px 28px rgba(11, 18, 32, 0.16), inset 0 1px 0 rgba(255, 255, 255, 0.16);
  mask-image: linear-gradient(90deg, transparent 0%, #000 6%, #000 94%, transparent 100%);
}

.trust-marquee__track {
  display: flex;
  align-items: center;
  gap: 1rem;
  width: max-content;
  animation: trust-marquee-scroll 26s linear infinite;
}

.trust-marquee__list {
  margin: 0;
  padding: 0;
  list-style: none;
  display: flex;
  align-items: center;
  gap: 1rem;
  flex: 0 0 auto;
}

.trust-marquee__list li {
  display: inline-flex;
  align-items: center;
  gap: 0.58rem;
  min-height: 0;
  padding: 0 0.5rem;
  font-size: 0.98rem;
  line-height: 1.24;
  font-weight: 700;
  white-space: nowrap;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: rgba(244, 248, 255, 0.95);
}

.trust-marquee__list li:not(:last-child)::after {
  content: "";
  width: 1px;
  height: 0.85rem;
  margin-left: 0.48rem;
  background: color-mix(in srgb, rgba(255, 255, 255, 0.68) 64%, var(--color-tech-cyan));
  opacity: 0.65;
}

.trust-marquee__list i {
  color: color-mix(in srgb, var(--color-secondary) 45%, #fff);
  font-size: 1rem;
}

@keyframes trust-marquee-scroll {
  from {
    transform: translate3d(0, 0, 0);
  }
  to {
    transform: translate3d(calc(-50% - 0.36rem), 0, 0);
  }
}

.credibility-strip {
  margin-top: 0.9rem;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 0.6rem;
}

.credibility-strip__item {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  font-size: 0.74rem;
  font-weight: 700;
  color: color-mix(in srgb, var(--color-text) 88%, var(--color-primary-mid));
  border-radius: 999px;
  border: 1px solid color-mix(in srgb, var(--color-primary) 16%, var(--color-border));
  background: color-mix(in srgb, #fff 91%, var(--color-primary-soft));
  padding: 0.3rem 0.62rem;
}

.credibility-strip__item i {
  color: var(--color-primary);
  font-size: 0.72rem;
}

.risk-roi-lines {
  margin: 0.22rem 0 1.2rem;
  padding: 0;
  list-style: none;
  display: grid;
  gap: 0.58rem;
}

.risk-roi-lines li {
  position: relative;
  margin: 0;
  padding: 0.72rem 0.88rem 0.72rem 2rem;
  border-radius: 0.88rem;
  border: 1px solid color-mix(in srgb, var(--color-primary) 14%, var(--color-border));
  background: linear-gradient(140deg, rgba(248, 251, 255, 0.86), rgba(239, 245, 255, 0.66));
  font-size: 0.95rem;
  font-weight: 650;
  color: color-mix(in srgb, var(--color-text) 92%, var(--color-primary-mid));
}

.risk-roi-lines li::before {
  content: "";
  position: absolute;
  left: 0.76rem;
  top: 50%;
  width: 0.72rem;
  height: 0.72rem;
  border-radius: 999px;
  transform: translateY(-50%);
  background: radial-gradient(circle, #3b82f6 0 55%, rgba(59, 130, 246, 0.18) 57% 100%);
}

/* Reordena o fluxo visual sem reestruturar o DOM existente. */
#conteudo-principal > .hero {
  order: 1;
}

.section--trust-marquee {
  order: 2;
}

#confianca {
  order: 3;
}

#dores {
  order: 4;
}

#como-funciona {
  order: 5;
}

#diferenciais {
  order: 7;
}

#compliance-operacao {
  order: 8;
}

#planos {
  order: 9;
}

#faq {
  order: 10;
}

.cta-final {
  order: 11;
}

#contato {
  order: 8;
}

@media (max-width: 767.98px) {
  .section--trust-marquee {
    margin-top: 0;
    margin-bottom: 0.15rem;
  }

  .trust-marquee__viewport {
    padding: 0.8rem 0.9rem;
    mask-image: linear-gradient(90deg, transparent 0%, #000 3%, #000 97%, transparent 100%);
  }

  .trust-marquee__track,
  .trust-marquee__list {
    gap: 0.56rem;
  }

  .trust-marquee__track {
    animation-duration: 20s;
  }

  .trust-marquee__list li {
    font-size: 0.88rem;
    padding: 0 0.36rem;
  }

  .trust-marquee__list li:not(:last-child)::after {
    margin-left: 0.34rem;
  }

  .credibility-strip {
    gap: 0.5rem;
  }

  .risk-roi-lines li {
    font-size: 0.89rem;
    padding: 0.66rem 0.76rem 0.66rem 1.8rem;
  }
}

@media (prefers-reduced-motion: reduce) {
  .trust-marquee__track {
    animation: none;
  }
}
