/* ==========================================================================
   Webmax · visual novo (home e cadastro)
   Regras: landing-page-design (tipografia, espaços, raios, fundos chapados, movimento),
   emil-design-eng e animate (curvas, durações, gatilhos), better-* (acessibilidade,
   layout, cores, texto). Fonte só na escala do Tailwind, espaço só nos tokens da skill,
   raio só nos valores do Tailwind. Tudo com prefixo wm- para não colidir com o Bootstrap
   das outras páginas; a base de tipografia só vale dentro de <body class="wm">.
   ========================================================================== */

:root {
  --wm-font: "Poppins", system-ui, -apple-system, "Segoe UI", sans-serif;

  --wm-bg: #FFFFFF;
  --wm-bg-soft: #FAF8FD;
  --wm-text: #1F1330;
  --wm-text-muted: #5E5670;
  --wm-text-faint: rgba(31, 19, 48, 0.28);
  --wm-border: #EAE4F2;
  --wm-border-strong: #D6CCE4;

  --wm-accent: #6A0DAD;
  --wm-accent-hover: #5A0B93;
  --wm-accent-strong: #4B0082;
  --wm-accent-soft: #F4ECFB;
  --wm-on-accent: #FFFFFF;

  --wm-ok: #157F3B;
  --wm-ok-soft: #EAF7EF;
  --wm-warn: #9A5B00;
  --wm-warn-soft: #FFF6E5;
  --wm-danger: #B42318;
  --wm-star: #D99A00;
  --wm-whatsapp: #128C4A;

  --wm-shadow-md: 0 4px 12px rgba(31, 19, 48, 0.06), 0 1px 2px rgba(31, 19, 48, 0.04);
  --wm-shadow-lg: 0 24px 48px rgba(43, 5, 68, 0.10), 0 4px 12px rgba(43, 5, 68, 0.06);

  /* Curva base da skill: desacelera até parar */
  --wm-ease: cubic-bezier(0.22, 1, 0.36, 1);
  --wm-dur-press: 160ms;
  --wm-dur-ui: 200ms;
  --wm-dur-reveal: 700ms;

  --wm-r-md: 6px;
  --wm-r-lg: 8px;
  --wm-r-xl: 12px;
  --wm-r-2xl: 16px;
  --wm-r-3xl: 24px;
  --wm-r-full: 9999px;

  --wm-container: 1152px;
  --wm-gutter: 16px;
}
@media (min-width: 640px) { :root { --wm-gutter: 24px; } }
@media (min-width: 1024px) { :root { --wm-gutter: 32px; } }

/* ---------- Base (só na página com body.wm) ---------- */
.wm, .wm *, .wm *::before, .wm *::after { box-sizing: border-box; }
.wm [hidden] { display: none !important; }
html:has(body.wm) { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; scroll-padding-top: 96px; }
@media (prefers-reduced-motion: reduce) { html:has(body.wm) { scroll-behavior: auto; } }
body.wm {
  margin: 0;
  font-family: var(--wm-font);
  font-size: 16px;
  line-height: 24px;
  color: var(--wm-text);
  background: var(--wm-bg);
  -webkit-font-smoothing: antialiased;
  overflow-x: clip;
}
/* Base com especificidade zero (:where), para qualquer classe de componente vencer */
:where(.wm) img { max-width: 100%; height: auto; }
:where(.wm) :is(h1, h2, h3, h4, h5, h6) { margin: 0; font-weight: 600; text-wrap: balance; }
:where(.wm) p { margin: 0; text-wrap: pretty; }
:where(.wm) :is(ul, ol) { margin: 0; padding: 0; list-style: none; }
:where(.wm) :is(figure, blockquote) { margin: 0; }
:where(.wm) a { color: inherit; }
:where(.wm) :is(button, input, select) { font: inherit; color: inherit; }
.wm :focus-visible { outline: 2px solid var(--wm-accent); outline-offset: 2px; }

.wm-i { display: inline-block; width: 1em; height: 1em; flex-shrink: 0; fill: currentColor; vertical-align: -0.125em; }
.wm-num { font-variant-numeric: tabular-nums; }
.wm-sr {
  position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px;
  overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0;
}
.wm-skip {
  position: absolute; left: 16px; top: 16px; z-index: 100;
  padding: 8px 12px; border-radius: var(--wm-r-lg);
  background: var(--wm-text); color: #FFFFFF; font-weight: 600; text-decoration: none;
  transform: translateY(-200%);
}
.wm-skip:focus-visible { transform: none; }
.wm-container {
  width: 100%;
  max-width: calc(var(--wm-container) + var(--wm-gutter) * 2);
  margin-inline: auto;
  padding-inline: var(--wm-gutter);
}

/* ---------- Botões e links ---------- */
.wm-btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 8px;
  min-height: 40px;
  padding: 8px 12px;
  border: 1px solid transparent;
  border-radius: var(--wm-r-lg);
  font-family: var(--wm-font);
  font-size: 16px; line-height: 24px; font-weight: 600;
  text-decoration: none; text-align: center; cursor: pointer;
  -webkit-tap-highlight-color: transparent;
  transition:
    background-color var(--wm-dur-ui) var(--wm-ease),
    border-color var(--wm-dur-ui) var(--wm-ease),
    color var(--wm-dur-ui) var(--wm-ease),
    transform var(--wm-dur-press) var(--wm-ease);
}
.wm-btn:active { transform: scale(0.97); }
.wm-btn .wm-i { font-size: 20px; }
.wm-btn--sm { font-size: 14px; line-height: 20px; }
.wm-btn--lg { min-height: 48px; padding: 12px 24px; }
.wm-btn--block { width: 100%; }
.wm-btn--primary { background: var(--wm-accent); color: var(--wm-on-accent); }
.wm-btn--ghost { background: var(--wm-bg); color: var(--wm-text); border-color: var(--wm-border-strong); }
.wm-btn--light { background: #FFFFFF; color: var(--wm-accent-strong); }
.wm-btn--quiet { background: transparent; color: var(--wm-text-muted); padding-inline: 8px; }
.wm-btn--icon { width: 48px; padding: 0; }
.wm-btn--whats { background: var(--wm-bg); color: var(--wm-whatsapp); border-color: var(--wm-border-strong); }
@media (hover: hover) and (pointer: fine) {
  .wm-btn--primary:hover { background: var(--wm-accent-hover); }
  .wm-btn--ghost:hover { border-color: var(--wm-accent); color: var(--wm-accent); }
  .wm-btn--light:hover { background: var(--wm-accent-soft); }
  .wm-btn--quiet:hover { color: var(--wm-text); }
  .wm-btn--whats:hover { border-color: var(--wm-whatsapp); }
}

.wm-link {
  color: var(--wm-accent);
  font-weight: 500;
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 4px;
  transition: color var(--wm-dur-ui) var(--wm-ease);
}
.wm-link-btn { padding: 0; border: 0; background: none; cursor: pointer; font: inherit; }
@media (hover: hover) and (pointer: fine) { .wm-link:hover { color: var(--wm-accent-strong); } }

/* ---------- Navegação flutuante ---------- */
/* Menu e rodapé também entram em páginas antigas (com Bootstrap): fonte, cores e listas ficam explícitas aqui */
.wm-nav-wrap, .wm-menu, .wm-footer, .wm-sticky {
  font-family: var(--wm-font);
  font-size: 16px; line-height: 24px;
  color: var(--wm-text);
  -webkit-font-smoothing: antialiased;
  text-align: left;
}
/* Resets com especificidade zero (:where), para as classes dos componentes sempre vencerem */
:where(.wm-nav-wrap, .wm-menu, .wm-footer) ul, :where(.wm-nav-wrap, .wm-menu, .wm-footer) ol { margin: 0; padding: 0; list-style: none; }
:where(.wm-nav-wrap, .wm-menu, .wm-footer) h2, :where(.wm-nav-wrap, .wm-menu, .wm-footer) h3,
:where(.wm-nav-wrap, .wm-menu, .wm-footer) p { margin: 0; font-family: var(--wm-font); }
:where(.wm-nav-wrap, .wm-menu, .wm-footer) a { color: inherit; }
:is(.wm-nav-wrap, .wm-menu, .wm-footer, .wm-sticky) *,
:is(.wm-nav-wrap, .wm-menu, .wm-footer, .wm-sticky) *::before,
:is(.wm-nav-wrap, .wm-menu, .wm-footer, .wm-sticky) *::after { box-sizing: border-box; }
:is(.wm-nav-wrap, .wm-menu, .wm-footer, .wm-sticky) :focus-visible { outline: 2px solid var(--wm-accent); outline-offset: 2px; }

.wm-nav-wrap {
  position: fixed; top: 16px; left: 0; right: 0; z-index: 1030;
  display: flex; justify-content: center;
  padding-inline: var(--wm-gutter);
  pointer-events: none;
}
.wm-nav {
  pointer-events: auto;
  display: flex; align-items: center; gap: 24px;
  width: 100%;
  padding: 8px 8px 8px 12px;
  background: rgba(255, 255, 255, 0.72);
  -webkit-backdrop-filter: saturate(180%) blur(16px);
  backdrop-filter: saturate(180%) blur(16px);
  border: 1px solid rgba(214, 204, 228, 0.6);
  border-radius: var(--wm-r-2xl);
  box-shadow: var(--wm-shadow-md);
}
.wm-logo { display: flex; align-items: center; gap: 8px; color: var(--wm-text); text-decoration: none; border-radius: var(--wm-r-lg); }
.wm-logo img { width: 40px; height: 40px; }
.wm-logo span { font-size: 18px; line-height: 28px; font-weight: 600; letter-spacing: -0.01em; }
.wm-nav-links { display: none; align-items: center; gap: 4px; margin: 0; padding: 0; list-style: none; }
.wm-nav-links > li { position: relative; }
.wm-nav-links a, .wm-drop-btn {
  display: inline-flex; align-items: center; gap: 4px;
  padding: 8px 12px; border: 0; border-radius: var(--wm-r-lg);
  background: transparent;
  font-family: var(--wm-font); font-size: 14px; line-height: 20px; font-weight: 500;
  color: var(--wm-text-muted); text-decoration: none; cursor: pointer;
  transition: color var(--wm-dur-ui) var(--wm-ease), background-color var(--wm-dur-ui) var(--wm-ease);
}
.wm-nav-links a[aria-current], .wm-drop-btn.wm-atual { color: var(--wm-accent); background: var(--wm-accent-soft); }
.wm-drop-btn .wm-i { font-size: 14px; transition: transform var(--wm-dur-ui) var(--wm-ease); }
.wm-drop-btn[aria-expanded="true"] { color: var(--wm-text); background: var(--wm-bg-soft); }
.wm-drop-btn[aria-expanded="true"] .wm-i { transform: rotate(180deg); }
.wm-nav-actions { display: flex; align-items: center; gap: 8px; margin-left: auto; }
.wm-nav-login { display: none; }
@media (hover: hover) and (pointer: fine) { .wm-nav-links a:hover, .wm-drop-btn:hover { color: var(--wm-text); } }

/* Submenu: nasce do botão (origem no topo), curto e com a curva de saída forte */
.wm-drop-panel {
  position: absolute; top: calc(100% + 12px); left: 0; z-index: 2;
  display: grid; min-width: 240px; padding: 8px;
  background: var(--wm-bg); border: 1px solid var(--wm-border); border-radius: var(--wm-r-xl);
  box-shadow: var(--wm-shadow-lg);
  transform-origin: top left;
  opacity: 0; visibility: hidden; transform: scale(0.97) translateY(-4px);
  transition: opacity 150ms var(--wm-ease), transform 150ms var(--wm-ease), visibility 0s linear 150ms;
}
.wm-drop-panel[data-open="true"] {
  opacity: 1; visibility: visible; transform: none;
  transition: opacity 200ms var(--wm-ease), transform 200ms var(--wm-ease), visibility 0s;
}
.wm-drop-panel a {
  display: flex; padding: 8px 12px; border-radius: var(--wm-r-md);
  font-size: 14px; line-height: 20px; font-weight: 500; color: var(--wm-text);
}
.wm-drop-panel a[aria-current] { color: var(--wm-accent); background: var(--wm-accent-soft); }
.wm-drop-panel hr { margin: 4px 8px; border: 0; border-top: 1px solid var(--wm-border); opacity: 1; }
@media (hover: hover) and (pointer: fine) { .wm-drop-panel a:hover { background: var(--wm-bg-soft); color: var(--wm-text); } }

.wm-menu-toggle {
  position: relative; width: 40px; height: 40px; padding: 0;
  border: 1px solid var(--wm-border-strong); border-radius: var(--wm-r-lg);
  background: var(--wm-bg); cursor: pointer;
  transition: transform var(--wm-dur-press) var(--wm-ease);
}
.wm-menu-toggle:active { transform: scale(0.97); }
.wm-menu-toggle span {
  position: absolute; left: 11px; width: 16px; height: 2px; border-radius: 2px;
  background: var(--wm-text);
  transition: transform 300ms var(--wm-ease);
}
.wm-menu-toggle span:nth-child(1) { top: 15px; }
.wm-menu-toggle span:nth-child(2) { top: 21px; }
.wm-menu-toggle[aria-expanded="true"] span:nth-child(1) { transform: translateY(3px) rotate(45deg); }
.wm-menu-toggle[aria-expanded="true"] span:nth-child(2) { transform: translateY(-3px) rotate(-45deg); }

.wm-menu {
  position: fixed; inset: 0; z-index: 40;
  display: flex; flex-direction: column;
  padding: 96px var(--wm-gutter) 0;
  background: rgba(255, 255, 255, 0.94);
  -webkit-backdrop-filter: blur(24px);
  backdrop-filter: blur(24px);
  overscroll-behavior: contain;
  overflow-y: auto;
  opacity: 0; visibility: hidden;
  transition: opacity 150ms var(--wm-ease), visibility 0s linear 150ms;
}
.wm-menu[data-open="true"] { opacity: 1; visibility: visible; transition: opacity 250ms var(--wm-ease), visibility 0s; }
.wm-menu-main { display: grid; gap: 4px; }
.wm-menu li {
  opacity: 0; transform: translateY(24px);
  transition: opacity 150ms var(--wm-ease), transform 150ms var(--wm-ease);
}
.wm-menu[data-open="true"] li {
  opacity: 1; transform: none;
  transition: opacity 500ms var(--wm-ease), transform 500ms var(--wm-ease);
  transition-delay: calc(var(--i, 0) * 60ms);
}
.wm-menu-main a { display: block; padding: 8px 0; font-size: 24px; line-height: 32px; font-weight: 600; text-decoration: none; }
.wm-menu-more { margin-top: 24px; padding-top: 24px; border-top: 1px solid var(--wm-border); display: grid; grid-template-columns: 1fr 1fr; gap: 4px 16px; }
.wm-menu-more a { display: block; padding: 8px 0; color: var(--wm-text-muted); text-decoration: none; }
/* "Assinar agora" preso no rodapé do painel: continua à vista com a lista de links rolando por baixo */
.wm-menu-foot {
  position: sticky; bottom: 0; z-index: 1;
  display: grid; gap: 12px;
  margin: auto calc(var(--wm-gutter) * -1) 0; padding: 16px var(--wm-gutter) calc(16px + env(safe-area-inset-bottom));
  background: rgba(255, 255, 255, 0.96);
  border-top: 1px solid var(--wm-border);
}

/* Área do assinante logo no topo do menu do celular: quem já é cliente abre o menu procurando a fatura */
.wm-menu-assinante {
  display: grid; grid-template-columns: 40px minmax(0, 1fr) 20px; align-items: center; gap: 12px;
  margin-bottom: 24px; padding: 16px;
  background: var(--wm-accent-soft); border: 1px solid var(--wm-accent); border-radius: var(--wm-r-2xl);
  color: var(--wm-text); text-decoration: none;
  opacity: 0; transform: translateY(24px);
  transition: opacity 150ms var(--wm-ease), transform 150ms var(--wm-ease);
}
.wm-menu[data-open="true"] .wm-menu-assinante {
  opacity: 1; transform: none;
  transition: opacity 500ms var(--wm-ease), transform 500ms var(--wm-ease);
}
.wm-menu[data-open="true"] .wm-menu-assinante:active { transform: scale(0.98); transition-duration: var(--wm-dur-press); }
.wm-menu-assinante-icone {
  display: grid; place-items: center; width: 40px; height: 40px; border-radius: var(--wm-r-lg);
  background: var(--wm-accent); color: var(--wm-on-accent); font-size: 24px;
}
.wm-menu-assinante strong { display: block; font-size: 16px; line-height: 24px; font-weight: 600; }
.wm-menu-assinante small { display: block; font-size: 14px; line-height: 20px; color: var(--wm-text-muted); }
.wm-menu-assinante > .wm-i { font-size: 20px; color: var(--wm-accent); }
@media (prefers-reduced-motion: reduce) {
  .wm-menu-assinante, .wm-menu[data-open="true"] .wm-menu-assinante { transform: none; }
}
/* Menu do celular do site: grupos com título */
.wm-menu-grupos { display: grid; gap: 24px; }
.wm-menu-grupo h2 { margin-bottom: 4px; font-size: 12px; line-height: 16px; font-weight: 600; letter-spacing: 0.04em; text-transform: uppercase; color: var(--wm-text-muted); }
.wm-menu-grupo ul { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 16px; }
.wm-menu-grupo a { display: block; padding: 8px 0; font-size: 16px; line-height: 24px; font-weight: 500; text-decoration: none; }
.wm-menu-grupo a[aria-current] { color: var(--wm-accent); }
body.wm-menu-aberto { overflow: hidden; }

@media (min-width: 960px) {
  .wm-nav { width: auto; gap: 24px; }
  .wm-nav-links { display: flex; }
  .wm-nav-login { display: inline-flex; }
  .wm-menu-toggle, .wm-menu { display: none; }
}
@media (min-width: 1152px) { .wm-nav { gap: 32px; } }

/* ---------- Seções ---------- */
.wm-section { padding-block: 64px; }
.wm-section--soft { background: var(--wm-bg-soft); }
@media (min-width: 1024px) { .wm-section { padding-block: 96px; } }
.wm-head { max-width: 680px; margin-bottom: 40px; }
.wm-head--center { margin-inline: auto; text-align: center; }
.wm-eyebrow { margin-bottom: 12px; font-size: 14px; line-height: 20px; font-weight: 600; color: var(--wm-accent); }
.wm-title { font-size: 30px; line-height: 36px; font-weight: 600; letter-spacing: -0.01em; }
.wm-lead { margin-top: 16px; font-size: 18px; line-height: 28px; color: var(--wm-text-muted); }
@media (min-width: 768px) {
  .wm-head { margin-bottom: 48px; }
  .wm-title { font-size: 36px; line-height: 40px; }
}
.wm-actions { display: flex; flex-wrap: wrap; gap: 12px; justify-content: center; margin-top: 40px; }
.wm-note {
  display: flex; flex-wrap: wrap; gap: 8px 24px; justify-content: center;
  margin-top: 32px; font-size: 14px; line-height: 20px; color: var(--wm-text-muted); text-align: center;
}

/* ---------- Hero ---------- */
.wm-hero { padding-top: 96px; padding-bottom: 64px; }
.wm-hero-grid { display: grid; grid-template-columns: minmax(0, 1fr); gap: 48px; align-items: center; }
.wm-hero-copy { padding-top: 32px; }
@media (min-width: 1024px) {
  .wm-hero { padding-bottom: 80px; }
  .wm-hero-grid { grid-template-columns: minmax(0, 1.15fr) minmax(0, 0.85fr); gap: 64px; }
  .wm-hero-copy { padding-top: 64px; }
}
.wm-proof { display: flex; align-items: flex-start; gap: 8px; font-size: 14px; line-height: 20px; color: var(--wm-text-muted); }
.wm-proof strong, .wm-proof span span { display: block; }
.wm-proof strong { color: var(--wm-text); font-weight: 600; }
.wm-stars { display: inline-flex; gap: 2px; padding-top: 2px; color: var(--wm-star); font-size: 16px; }
.wm-hero-title {
  max-width: 680px;
  margin-top: 24px;
  padding-bottom: 4px;
  font-size: 30px; line-height: 36px; font-weight: 600; letter-spacing: -0.02em;
  background: linear-gradient(90deg, #000000 0%, #666666 100%);
  -webkit-background-clip: text; background-clip: text;
  color: transparent;
}
.wm-hero-sub { max-width: 680px; margin-top: 16px; color: var(--wm-text-muted); }
@media (min-width: 640px) {
  .wm-hero-title { font-size: 36px; line-height: 40px; }
  .wm-hero-sub { margin-top: 24px; font-size: 18px; line-height: 28px; }
}
@media (min-width: 1280px) { .wm-hero-title { font-size: 48px; line-height: 1; } }

/* Formulário de CEP (hero e chamada final) */
.wm-cep { margin-top: 32px; max-width: 560px; container-type: inline-size; }
.wm-cep-label { display: block; margin-bottom: 8px; font-size: 14px; line-height: 20px; font-weight: 600; }
.wm-cep-row { display: grid; gap: 12px; align-items: start; }
@container (min-width: 520px) { .wm-cep-row { grid-template-columns: minmax(0, 1fr) auto; } }
.wm-input-wrap { position: relative; }
.wm-input-wrap > .wm-i {
  position: absolute; left: 12px; top: 14px;
  font-size: 20px; color: var(--wm-text-muted); pointer-events: none;
}
.wm-input-wrap > .wm-i + .wm-input { padding-left: 40px; }
.wm-input {
  width: 100%; min-height: 48px;
  padding: 12px;
  border: 1px solid var(--wm-border-strong); border-radius: var(--wm-r-lg);
  background: var(--wm-bg);
  font-size: 16px; line-height: 24px;
  transition: border-color var(--wm-dur-ui) var(--wm-ease);
}
.wm-input::placeholder { color: #8A8298; }
.wm-input:focus { outline: none; }
.wm-input:focus-visible { outline: 2px solid var(--wm-accent); outline-offset: 0; border-color: var(--wm-accent); }
.wm-input[aria-invalid="true"] { border-color: var(--wm-danger); }
.wm-input[aria-invalid="true"]:focus-visible { outline-color: var(--wm-danger); }
.wm-error {
  display: flex; align-items: flex-start; gap: 8px;
  margin-top: 8px;
  font-size: 14px; line-height: 20px; font-weight: 500; color: var(--wm-danger);
}
.wm-error .wm-i { font-size: 20px; }
.wm-help { margin-top: 8px; font-size: 14px; line-height: 20px; color: var(--wm-text-muted); }
.wm-fine {
  display: flex; gap: 8px; align-items: flex-start;
  margin-top: 16px; max-width: 560px;
  font-size: 12px; line-height: 16px; color: var(--wm-text-muted);
}
.wm-fine .wm-i { font-size: 16px; }

/* Visual do hero: um cartão de produto, não foto de banco de imagem */
.wm-hero-visual { position: relative; width: 100%; max-width: 440px; margin-inline: auto; padding: 48px 0 80px; }
.wm-mock {
  position: relative; margin-inline: 16px; padding: 24px;
  background: var(--wm-bg); border: 1px solid var(--wm-border); border-radius: var(--wm-r-3xl);
  box-shadow: var(--wm-shadow-lg);
}
.wm-mock-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.wm-badge {
  display: inline-flex; align-items: center; gap: 4px;
  padding: 4px 12px; border-radius: var(--wm-r-full);
  background: var(--wm-accent-soft); color: var(--wm-accent);
  font-size: 12px; line-height: 16px; font-weight: 600;
}
.wm-badge--solid { background: var(--wm-accent); color: var(--wm-on-accent); }
.wm-mock-wifi { display: inline-flex; align-items: center; gap: 4px; font-size: 14px; line-height: 20px; color: var(--wm-text-muted); }
.wm-mock-speed { margin-top: 24px; font-size: 48px; line-height: 1; font-weight: 600; letter-spacing: -0.02em; }
.wm-mock-speed span { font-size: 20px; line-height: 28px; font-weight: 500; color: var(--wm-text-muted); letter-spacing: 0; }
.wm-mock-price { margin-top: 8px; font-size: 18px; line-height: 28px; font-weight: 600; }
.wm-mock-price span { font-size: 14px; line-height: 20px; font-weight: 400; color: var(--wm-text-muted); }
.wm-mock-list { display: grid; gap: 8px; margin-top: 24px; padding-top: 24px; border-top: 1px solid var(--wm-border); }
.wm-mock-list li { display: flex; align-items: center; gap: 8px; font-size: 14px; line-height: 20px; }
.wm-mock-list .wm-i { color: var(--wm-accent); font-size: 16px; }
.wm-meter { margin-top: 24px; padding: 12px; border-radius: var(--wm-r-xl); background: var(--wm-bg-soft); }
.wm-meter-row { display: flex; justify-content: space-between; font-size: 12px; line-height: 16px; color: var(--wm-text-muted); }
.wm-meter-row strong { color: var(--wm-text); font-size: 14px; line-height: 20px; font-weight: 600; }
.wm-meter-bar { height: 8px; margin-top: 8px; border-radius: var(--wm-r-full); background: var(--wm-border); overflow: hidden; }
.wm-meter-bar span { display: block; height: 100%; width: 100%; border-radius: inherit; background: var(--wm-accent); transform-origin: left; }
.wm-chip {
  position: absolute; display: flex; align-items: center; gap: 12px;
  padding: 12px 16px 12px 12px;
  background: var(--wm-bg); border: 1px solid var(--wm-border); border-radius: var(--wm-r-2xl);
  box-shadow: var(--wm-shadow-lg);
  font-size: 14px; line-height: 20px;
}
.wm-chip strong { display: block; font-weight: 600; }
.wm-chip span { color: var(--wm-text-muted); font-size: 12px; line-height: 16px; }
.wm-chip--install { top: 0; left: 0; }
.wm-chip--review { right: 0; bottom: 0; max-width: 260px; flex-direction: column; align-items: flex-start; gap: 4px; }
.wm-chip-icon {
  display: grid; place-items: center; flex-shrink: 0;
  width: 32px; height: 32px; border-radius: var(--wm-r-lg);
  background: var(--wm-ok-soft); color: var(--wm-ok); font-size: 20px;
}

/* Faixa de números logo abaixo do hero */
.wm-strip { border-top: 1px solid var(--wm-border); border-bottom: 1px solid var(--wm-border); }
.wm-strip ul { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.wm-strip li { padding: 24px 16px; font-size: 14px; line-height: 20px; color: var(--wm-text-muted); }
.wm-strip li:nth-child(odd) { padding-left: 0; }
.wm-strip strong { display: block; margin-bottom: 4px; font-size: 24px; line-height: 32px; font-weight: 600; color: var(--wm-text); }
@media (min-width: 768px) {
  .wm-strip ul { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .wm-strip li { padding: 32px 24px; }
  .wm-strip li:first-child { padding-left: 0; }
  .wm-strip li:nth-child(odd):not(:first-child) { padding-left: 24px; }
}

/* ---------- Cartões e grades ---------- */
.wm-grid { display: grid; grid-template-columns: minmax(0, 1fr); gap: 16px; }
@media (min-width: 640px) { .wm-grid--2, .wm-grid--3, .wm-grid--4 { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; } }
@media (min-width: 1024px) { .wm-grid--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (min-width: 1152px) { .wm-grid--4 { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
.wm-card {
  display: flex; flex-direction: column;
  padding: 24px;
  background: var(--wm-bg); border: 1px solid var(--wm-border); border-radius: var(--wm-r-2xl);
}
a.wm-card { text-decoration: none; transition: border-color var(--wm-dur-ui) var(--wm-ease), box-shadow 300ms var(--wm-ease), transform var(--wm-dur-press) var(--wm-ease); }
a.wm-card:active { transform: scale(0.98); }
@media (hover: hover) and (pointer: fine) { a.wm-card:hover { border-color: var(--wm-accent); box-shadow: var(--wm-shadow-md); } }
.wm-card--accent { background: var(--wm-accent-soft); border-color: transparent; }
.wm-icon-box {
  display: grid; place-items: center;
  width: 40px; height: 40px; border-radius: var(--wm-r-lg);
  background: var(--wm-accent-soft); color: var(--wm-accent); font-size: 24px;
}
.wm-card--accent .wm-icon-box { background: var(--wm-bg); }
.wm-card h3 { margin-top: 16px; font-size: 18px; line-height: 28px; font-weight: 600; }
.wm-card p { margin-top: 8px; color: var(--wm-text-muted); }
.wm-card-more { display: inline-flex; align-items: center; gap: 4px; margin-top: auto; padding-top: 16px; font-size: 14px; line-height: 20px; font-weight: 600; color: var(--wm-accent); }
.wm-price-tag { margin-top: 12px; font-weight: 600; color: var(--wm-text); }

/* ---------- Planos ---------- */
.wm-plans { display: grid; grid-template-columns: minmax(0, 1fr); gap: 16px; align-items: stretch; }
@media (min-width: 1024px) { .wm-plans { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; } }
@media (min-width: 768px) { .wm-plans--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; max-width: 880px; margin-inline: auto; } }
.wm-plan {
  position: relative; display: flex; flex-direction: column;
  padding: 32px 24px 24px;
  background: var(--wm-bg); border: 1px solid var(--wm-border); border-radius: var(--wm-r-3xl);
  transition: border-color var(--wm-dur-ui) var(--wm-ease), box-shadow 300ms var(--wm-ease);
}
.wm-plan--featured { border-color: var(--wm-accent); box-shadow: 0 0 0 1px var(--wm-accent), var(--wm-shadow-lg); }
.wm-plan--featured > .wm-badge { position: absolute; top: -12px; left: 24px; }
@media (max-width: 1023px) { .wm-plans:not(.wm-plans--2) .wm-plan--featured { order: -1; } }
@media (hover: hover) and (pointer: fine) { .wm-plan:not(.wm-plan--featured):hover { border-color: var(--wm-border-strong); box-shadow: var(--wm-shadow-md); } }
.wm-plan-speed { font-size: 36px; line-height: 40px; font-weight: 600; letter-spacing: -0.02em; }
.wm-plan-speed span { font-size: 18px; line-height: 28px; font-weight: 500; color: var(--wm-text-muted); letter-spacing: 0; }
.wm-plan-tag { margin-top: 4px; font-size: 14px; line-height: 20px; color: var(--wm-text-muted); }
@media (min-width: 1024px) { .wm-plan-tag { min-height: 40px; } }
.wm-plan-price { display: flex; align-items: baseline; gap: 4px; margin-top: 24px; }
.wm-plan-price .cur { font-size: 18px; line-height: 28px; font-weight: 600; }
.wm-plan-price .val { font-size: 48px; line-height: 1; font-weight: 600; letter-spacing: -0.02em; }
.wm-plan-price .per { font-size: 14px; line-height: 20px; color: var(--wm-text-muted); }
.wm-plan-list { display: grid; gap: 12px; margin: 24px 0 32px; padding-top: 24px; border-top: 1px solid var(--wm-border); }
.wm-plan-list li { display: flex; gap: 12px; align-items: flex-start; }
.wm-plan-list .wm-i { margin-top: 2px; font-size: 20px; color: var(--wm-accent); }
.wm-plan-list a { color: var(--wm-text-muted); font-size: 14px; }
.wm-plan-cta { display: grid; gap: 8px; margin-top: auto; }

/* ---------- Tagline com revelação palavra a palavra ---------- */
.wm-tagline { padding-block: 96px; }
.wm-tagline p { max-width: 880px; font-size: 30px; line-height: 36px; font-weight: 600; letter-spacing: -0.02em; text-wrap: balance; }
@media (min-width: 768px) { .wm-tagline p { font-size: 48px; line-height: 1; } }
.wm-js .wm-tagline .w { color: var(--wm-text-faint); transition: color 500ms var(--wm-ease); }
.wm-js .wm-tagline .w.on { color: var(--wm-text); }
.wm-js .wm-tagline .w.w--accent.on { color: var(--wm-accent); }

/* ---------- Como funciona ---------- */
.wm-steps-layout { display: grid; grid-template-columns: minmax(0, 1fr); gap: 32px; }
@media (min-width: 1024px) { .wm-steps-layout { grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr); gap: 48px; align-items: start; } }
.wm-steps { display: grid; gap: 16px; }
.wm-step { display: grid; grid-template-columns: 40px minmax(0, 1fr); gap: 16px; padding: 24px; background: var(--wm-bg); border: 1px solid var(--wm-border); border-radius: var(--wm-r-2xl); }
.wm-step-num {
  display: grid; place-items: center; width: 40px; height: 40px;
  border-radius: var(--wm-r-full); background: var(--wm-accent); color: var(--wm-on-accent); font-weight: 600;
}
.wm-step h3 { font-size: 18px; line-height: 28px; font-weight: 600; }
.wm-step p { margin-top: 4px; color: var(--wm-text-muted); }
.wm-quote { padding: 32px; background: var(--wm-bg); border: 1px solid var(--wm-border); border-radius: var(--wm-r-3xl); }
.wm-quote blockquote { margin-top: 16px; font-size: 20px; line-height: 28px; font-weight: 500; }
.wm-quote-meta { display: flex; align-items: center; gap: 12px; margin-top: 24px; }
.wm-avatar {
  display: grid; place-items: center; flex-shrink: 0;
  width: 40px; height: 40px; border-radius: var(--wm-r-full);
  background: var(--wm-accent-soft); color: var(--wm-accent);
  font-size: 14px; line-height: 20px; font-weight: 600;
}
.wm-quote-meta strong { display: block; font-size: 14px; line-height: 20px; font-weight: 600; }
.wm-quote-meta span span { font-size: 12px; line-height: 16px; color: var(--wm-text-muted); }

/* ---------- Prioridade TEA ---------- */
.wm-split { display: grid; grid-template-columns: minmax(0, 1fr); gap: 32px; align-items: center; }
@media (min-width: 1024px) { .wm-split { grid-template-columns: minmax(0, 0.8fr) minmax(0, 1.2fr); gap: 64px; } }
.wm-seal {
  display: grid; place-items: center; gap: 16px; text-align: center;
  padding: 48px 32px; border-radius: var(--wm-r-3xl); background: var(--wm-accent-soft);
}
.wm-seal .wm-i { font-size: 48px; color: var(--wm-accent); }
.wm-seal strong { font-size: 20px; line-height: 28px; font-weight: 600; }
.wm-seal span { color: var(--wm-text-muted); }
.wm-points { display: grid; gap: 16px; margin-top: 32px; }
@media (min-width: 640px) { .wm-points { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; } }
.wm-points li { display: grid; grid-template-columns: 24px minmax(0, 1fr); gap: 12px; }
.wm-points .wm-i { margin-top: 2px; font-size: 24px; color: var(--wm-accent); }
.wm-points strong { display: block; font-weight: 600; }
.wm-points small { display: block; margin-top: 4px; font-size: 14px; line-height: 20px; color: var(--wm-text-muted); }
.wm-body-text { margin-top: 16px; color: var(--wm-text-muted); }
.wm-body-text + .wm-body-text { margin-top: 12px; }

/* ---------- Reconhecimento (mídia e Internet Sul) ---------- */
.wm-recog { display: grid; grid-template-columns: minmax(0, 1fr); gap: 24px; }
@media (min-width: 1024px) { .wm-recog { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.wm-recog .wm-card { padding: 32px; }
.wm-recog h2 { margin-top: 12px; font-size: 24px; line-height: 32px; font-weight: 600; }
.wm-recog blockquote { margin-top: 16px; font-size: 18px; line-height: 28px; font-weight: 500; }
.wm-recog .wm-card > .wm-btn { align-self: flex-start; margin-top: 24px; }
.wm-recog-logo { display: flex; align-items: center; gap: 16px; }
.wm-recog-logo img { width: 120px; height: 48px; object-fit: contain; }
.wm-gzh { font-size: 30px; line-height: 36px; font-weight: 700; letter-spacing: -0.02em; color: #00579C; }

/* ---------- Avaliações ---------- */
.wm-reviews-foot { display: flex; justify-content: center; margin-top: 32px; }

/* ---------- Cidades ---------- */
.wm-city .wm-i { font-size: 24px; color: var(--wm-accent); }
.wm-city h3 { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.wm-city h3 .wm-i { font-size: 20px; color: var(--wm-text-muted); transition: transform var(--wm-dur-ui) var(--wm-ease), color var(--wm-dur-ui) var(--wm-ease); }
@media (hover: hover) and (pointer: fine) { .wm-city:hover h3 .wm-i { transform: translateX(4px); color: var(--wm-accent); } }

/* ---------- Dúvidas ---------- */
.wm-faq { max-width: 768px; margin-inline: auto; border-top: 1px solid var(--wm-border); }
.wm-faq-item { border-bottom: 1px solid var(--wm-border); }
.wm-faq-item summary {
  display: flex; align-items: center; justify-content: space-between; gap: 16px;
  padding: 24px 0; cursor: pointer; list-style: none; border-radius: var(--wm-r-lg);
}
.wm-faq-item summary::-webkit-details-marker { display: none; }
.wm-faq-item summary h3 { font-size: 18px; line-height: 28px; font-weight: 600; }
.wm-faq-item summary .wm-i { font-size: 20px; color: var(--wm-text-muted); transition: transform var(--wm-dur-ui) var(--wm-ease); }
.wm-faq-item[open] summary .wm-i { transform: rotate(180deg); }
.wm-faq-body { max-width: 680px; padding-bottom: 24px; color: var(--wm-text-muted); }
.wm-faq-body ul { margin: 12px 0; padding-left: 24px; list-style: disc; }
.wm-faq-body li + li { margin-top: 8px; }
.wm-faq-body strong { color: var(--wm-text); font-weight: 600; }

/* ---------- Blog ---------- */
.wm-blog-card { padding: 24px; background: var(--wm-bg); border: 1px solid var(--wm-border); border-radius: var(--wm-r-3xl); }
@media (min-width: 768px) { .wm-blog-card { padding: 40px; } }

/* ---------- Chamada final ---------- */
.wm-final { padding-block: 64px; background: var(--wm-accent-strong); color: #FFFFFF; }
@media (min-width: 1024px) { .wm-final { padding-block: 96px; } }
.wm-final .wm-title { color: #FFFFFF; }
.wm-final .wm-lead { color: rgba(255, 255, 255, 0.82); }
.wm-final .wm-cep { margin-inline: auto; }
.wm-final .wm-input { border-color: transparent; }
.wm-final .wm-input:focus-visible { outline-color: #FFFFFF; outline-offset: 2px; border-color: transparent; }
.wm-final .wm-error { color: #FFD8D3; }
.wm-final .wm-fine { margin-inline: auto; color: rgba(255, 255, 255, 0.82); }
.wm-final :focus-visible { outline-color: #FFFFFF; }

/* ---------- Rodapé ---------- */
.wm-footer { padding-block: 64px; background: var(--wm-bg-soft); border-top: 1px solid var(--wm-border); font-size: 14px; line-height: 20px; }
.wm-footer-grid { display: grid; gap: 32px; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.wm-footer-brand { grid-column: 1 / -1; }
@media (min-width: 1024px) {
  .wm-footer-grid { grid-template-columns: 1.4fr repeat(4, minmax(0, 1fr)); }
  .wm-footer-brand { grid-column: auto; }
}
.wm-footer h2 { margin-bottom: 12px; font-size: 14px; line-height: 20px; font-weight: 600; }
.wm-footer ul { display: grid; gap: 8px; }
.wm-footer a { color: var(--wm-text-muted); text-decoration: none; transition: color var(--wm-dur-ui) var(--wm-ease); }
@media (hover: hover) and (pointer: fine) { .wm-footer a:hover { color: var(--wm-accent); } }
.wm-footer-brand p { margin-top: 12px; color: var(--wm-text-muted); max-width: 360px; }
.wm-social { display: flex; gap: 8px; margin-top: 16px; }
.wm-social a {
  display: grid; place-items: center; width: 40px; height: 40px;
  border: 1px solid var(--wm-border-strong); border-radius: var(--wm-r-full); background: var(--wm-bg);
  font-size: 20px; color: var(--wm-text);
}
.wm-contact li { display: grid; grid-template-columns: 20px minmax(0, 1fr); gap: 8px; }
.wm-contact .wm-i { margin-top: 2px; font-size: 18px; color: var(--wm-accent); }
.wm-footer-bottom {
  display: flex; flex-wrap: wrap; gap: 12px 24px; justify-content: space-between;
  margin-top: 48px; padding-top: 24px; border-top: 1px solid var(--wm-border);
  color: var(--wm-text-muted); font-size: 12px; line-height: 16px;
}
.wm-footer-bottom nav { display: flex; flex-wrap: wrap; gap: 16px; }

/* ---------- CTA fixo no celular ---------- */
.wm-sticky {
  position: fixed; left: 0; right: 0; bottom: 0; z-index: 30;
  display: flex; align-items: center; gap: 8px;
  padding: 12px var(--wm-gutter) calc(12px + env(safe-area-inset-bottom));
  background: rgba(255, 255, 255, 0.94);
  -webkit-backdrop-filter: blur(16px);
  backdrop-filter: blur(16px);
  border-top: 1px solid var(--wm-border);
  transform: translateY(100%);
  transition: transform 300ms var(--wm-ease);
}
.wm-sticky[data-visible="true"] { transform: none; }
.wm-sticky .wm-btn { white-space: nowrap; }
.wm-sticky p { margin-right: auto; font-size: 12px; line-height: 16px; color: var(--wm-text-muted); }
.wm-sticky p strong { display: block; font-size: 14px; line-height: 20px; color: var(--wm-text); font-weight: 600; }
@media (max-width: 959px) { body.wm-tem-sticky { padding-bottom: 80px; } }
@media (min-width: 960px) { .wm-sticky { display: none; } }

/* ---------- Movimento ---------- */
@keyframes wm-subir { from { opacity: 0; transform: translateY(16px); } }
@keyframes wm-surgir { from { opacity: 0; transform: scale(0.96) translateY(8px); } }
@keyframes wm-encher { from { transform: scaleX(0); } }
@keyframes wm-aparecer { from { opacity: 0; } }
.wm-hero-copy > * { animation: wm-subir var(--wm-dur-reveal) var(--wm-ease) both; }
.wm-hero-copy > :nth-child(2) { animation-delay: 80ms; }
.wm-hero-copy > :nth-child(3) { animation-delay: 160ms; }
.wm-hero-copy > :nth-child(4) { animation-delay: 240ms; }
.wm-hero-copy > :nth-child(5) { animation-delay: 320ms; }
.wm-mock { animation: wm-subir var(--wm-dur-reveal) var(--wm-ease) 200ms both; }
.wm-chip--install { animation: wm-surgir 500ms var(--wm-ease) 600ms both; }
.wm-chip--review { animation: wm-surgir 500ms var(--wm-ease) 750ms both; }
.wm-meter-bar span { animation: wm-encher 1200ms var(--wm-ease) 700ms both; }

.wm-js .wm-reveal { opacity: 0; transform: translateY(32px); }
.wm-js .wm-reveal.is-visible {
  opacity: 1; transform: none;
  transition: opacity var(--wm-dur-reveal) var(--wm-ease), transform var(--wm-dur-reveal) var(--wm-ease);
  transition-delay: calc(var(--i, 0) * 80ms);
}

@media (prefers-reduced-motion: reduce) {
  .wm-hero-copy > *, .wm-mock, .wm-chip--install, .wm-chip--review { animation-name: wm-aparecer; animation-duration: 300ms; }
  .wm-meter-bar span { animation: none; }
  .wm-js .wm-reveal { transform: none; }
  .wm-js .wm-reveal.is-visible { transition: opacity 300ms var(--wm-ease); transition-delay: 0ms; }
  .wm-menu li, .wm-menu[data-open="true"] li { transform: none; }
  .wm-sticky { transform: none; opacity: 0; visibility: hidden; transition: opacity 200ms var(--wm-ease), visibility 0s linear 200ms; }
  .wm-sticky[data-visible="true"] { opacity: 1; visibility: visible; transition: opacity 200ms var(--wm-ease), visibility 0s; }
  .wm-btn:active, a.wm-card:active, .wm-menu-toggle:active { transform: none; }
}

/* ==========================================================================
   Compatibilidade dos parciais (reviews-partial.html e blog-home-partial.html)
   Eles continuam com a marcação do Bootstrap, porque as páginas de bairro também
   usam o de avaliações e o painel admin gera o do blog. Aqui eles ganham o visual
   novo sem carregar o Bootstrap nem o Font Awesome na home.
   ========================================================================== */
.wm-parcial .d-none { display: none !important; }
.wm-parcial .d-block { display: block; }
.wm-parcial .d-flex { display: flex; }
.wm-parcial .flex-wrap { flex-wrap: wrap; }
.wm-parcial .flex-grow-1 { flex-grow: 1; }
.wm-parcial .align-items-center { align-items: center; }
.wm-parcial .justify-content-center { justify-content: center; }
.wm-parcial .gap-3 { gap: 16px; }
.wm-parcial .mt-auto { margin-top: auto; }
.wm-parcial .mx-auto { margin-inline: auto; }
.wm-parcial .h-100 { height: 100%; }
.wm-parcial .w-100 { width: 100%; }
.wm-parcial .overflow-hidden { overflow: hidden; min-width: 0; }
.wm-parcial .text-truncate { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.wm-parcial .text-end { text-align: right; }
.wm-parcial .text-center { text-align: center; }
.wm-parcial .text-muted { color: var(--wm-text-muted) !important; }
.wm-parcial .text-dark { color: var(--wm-text) !important; }
.wm-parcial .text-purple { color: var(--wm-accent) !important; }
.wm-parcial .text-warning { color: var(--wm-star) !important; }
.wm-parcial .text-primary { color: #4285F4 !important; }
.wm-parcial .text-white { color: #FFFFFF !important; }
.wm-parcial .text-decoration-none { text-decoration: none; }
.wm-parcial .fw-bold { font-weight: 600; }
.wm-parcial .fst-italic { font-style: normal; }
.wm-parcial .small, .wm-parcial small { font-size: 14px !important; line-height: 20px !important; }
.wm-parcial .mb-0 { margin-bottom: 0; }
.wm-parcial .mb-2 { margin-bottom: 8px; }
.wm-parcial .mb-3 { margin-bottom: 16px; }
.wm-parcial .mb-4 { margin-bottom: 24px; }
.wm-parcial .mt-3 { margin-top: 16px; }
.wm-parcial .mt-4 { margin-top: 24px; }
.wm-parcial .mt-5 { margin-top: 48px; }
.wm-parcial .my-4 { margin-block: 24px; }
.wm-parcial .me-1 { margin-right: 4px; }
.wm-parcial .me-2 { margin-right: 8px; }
.wm-parcial .ms-1 { margin-left: 4px; }
.wm-parcial .p-3 { padding: 16px; }
.wm-parcial .p-4 { padding: 24px; }
.wm-parcial .pt-2 { padding-top: 8px; }
.wm-parcial .px-3 { padding-inline: 16px; }
.wm-parcial .px-4 { padding-inline: 24px; }
.wm-parcial .py-2 { padding-block: 8px; }
.wm-parcial .border-0 { border: 0; }
.wm-parcial .border-top { border-top: 1px solid var(--wm-border); }
.wm-parcial .border-start.border-purple { border: 1px solid var(--wm-border) !important; }
.wm-parcial .rounded-4 { border-radius: var(--wm-r-2xl) !important; }
.wm-parcial .rounded-pill { border-radius: var(--wm-r-full) !important; }
.wm-parcial .rounded-circle { border-radius: var(--wm-r-full) !important; }
.wm-parcial .bg-light, .wm-parcial .ponte-comercial { background: var(--wm-bg-soft) !important; border: 1px solid var(--wm-border) !important; border-radius: var(--wm-r-2xl) !important; }
.wm-parcial .img-fluid { max-width: 100%; height: auto; }
.wm-parcial img.rounded-4 { display: block; }
.wm-parcial h3 { font-size: 24px; line-height: 32px; }
.wm-parcial h5 { font-size: 18px; line-height: 28px; }
.wm-parcial h6 { font-size: 16px !important; line-height: 24px; }
.wm-parcial p { margin-bottom: 16px; }
.wm-parcial ul:not(.nav) { margin: 0 0 24px; padding-left: 24px; list-style: disc; }
.wm-parcial ul:not(.nav) li + li { margin-top: 8px; }
.wm-parcial strong { font-weight: 600; }
.wm-parcial a:not(.btn) { color: var(--wm-accent); }
/* Fundos em degradê dos parciais viram roxo chapado, como pede o visual novo */
.wm-parcial [style*="linear-gradient"] { background: var(--wm-accent) !important; }

.wm-parcial .badge {
  display: inline-flex; align-items: center; gap: 4px;
  padding: 4px 12px !important; border-radius: var(--wm-r-full);
  font-size: 12px; line-height: 16px; font-weight: 600;
}
.wm-parcial .btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 8px;
  min-height: 40px; padding: 8px 16px;
  border: 1px solid var(--wm-border-strong); border-radius: var(--wm-r-lg) !important;
  background: var(--wm-bg); color: var(--wm-text);
  font-size: 14px; line-height: 20px; font-weight: 600; text-decoration: none; cursor: pointer;
  transition: background-color var(--wm-dur-ui) var(--wm-ease), border-color var(--wm-dur-ui) var(--wm-ease), transform var(--wm-dur-press) var(--wm-ease);
}
.wm-parcial .btn:active { transform: scale(0.97); }
.wm-parcial .btn[style*="linear-gradient"] { border-color: transparent; color: #FFFFFF; }
.wm-parcial .btn-outline-purple { border: 1px solid var(--wm-border-strong) !important; color: var(--wm-text) !important; }
@media (hover: hover) and (pointer: fine) {
  .wm-parcial .btn:hover { border-color: var(--wm-accent); }
  .wm-parcial .btn[style*="linear-gradient"]:hover { background: var(--wm-accent-hover) !important; }
}

/* Avaliações: grade de cartões */
.wm-reviews { display: grid; grid-template-columns: minmax(0, 1fr); gap: 16px; }
@media (min-width: 768px) { .wm-reviews { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; } }
@media (min-width: 1024px) { .wm-reviews { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.wm-reviews > .col-12 { grid-column: 1 / -1; display: flex; justify-content: center; }
.wm-reviews .card {
  display: flex; flex-direction: column;
  padding: 24px !important;
  background: var(--wm-bg) !important;
  border: 1px solid var(--wm-border) !important;
  border-radius: var(--wm-r-2xl) !important;
  box-shadow: none;
}
.wm-reviews .card > .d-flex > .rounded-circle {
  width: 40px !important; height: 40px !important; margin-right: 12px;
  background: var(--wm-accent-soft) !important; color: var(--wm-accent) !important;
  font-size: 14px !important; font-weight: 600 !important;
}
.wm-reviews .card p { margin: 12px 0 24px; font-size: 16px !important; line-height: 24px !important; color: var(--wm-text) !important; }
.wm-reviews .card .text-end { padding-top: 16px; text-align: left; }
.wm-reviews .card .text-end small { font-size: 12px !important; line-height: 16px !important; }

/* Blog: abas por data */
.wm-parcial .nav-pills { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 32px; padding: 0; list-style: none; }
.wm-parcial .nav-pills .nav-link {
  min-height: 40px; padding: 8px 16px;
  border: 1px solid var(--wm-border-strong); border-radius: var(--wm-r-full);
  background: var(--wm-bg); color: var(--wm-text-muted);
  font-family: var(--wm-font); font-size: 14px; line-height: 20px; font-weight: 500;
  font-variant-numeric: tabular-nums; cursor: pointer;
  transition: background-color var(--wm-dur-ui) var(--wm-ease), color var(--wm-dur-ui) var(--wm-ease), border-color var(--wm-dur-ui) var(--wm-ease);
}
.wm-parcial .nav-pills .nav-link.active { background: var(--wm-accent); border-color: var(--wm-accent); color: var(--wm-on-accent); }
@media (hover: hover) and (pointer: fine) { .wm-parcial .nav-pills .nav-link:not(.active):hover { border-color: var(--wm-accent); color: var(--wm-accent); } }
.wm-parcial .tab-pane { display: none; }
.wm-parcial .tab-pane.active { display: block; }
.wm-parcial .tab-pane.active.fade { animation: wm-aparecer 250ms var(--wm-ease); }
.wm-parcial .tab-pane img { max-width: 100%; }
@media (min-width: 768px) { .wm-parcial .tab-pane img.w-100 { max-height: 420px; object-fit: cover; } }

/* Ícones do Font Awesome usados nos parciais, desenhados com os mesmos SVGs Phosphor do site */
.wm-parcial i.fas, .wm-parcial i.fab {
  display: inline-block; width: 1em; height: 1em; vertical-align: -0.125em;
  -webkit-mask: var(--wm-ic) center / contain no-repeat;
  mask: var(--wm-ic) center / contain no-repeat;
}
.wm-parcial .fa-star { --wm-ic: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 256 256' fill='currentColor'%3E%3Cpath d='M234.29,114.85l-45,38.83L203,211.75a16.4,16.4,0,0,1-24.5,17.82L128,198.49,77.47,229.57A16.4,16.4,0,0,1,53,211.75l13.76-58.07-45-38.83A16.46,16.46,0,0,1,31.08,86l59-4.76,22.76-55.08a16.36,16.36,0,0,1,30.27,0l22.75,55.08,59,4.76a16.46,16.46,0,0,1,9.37,28.86Z'/%3E%3C/svg%3E"); background-color: currentColor; }
.wm-parcial .fa-google { --wm-ic: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 256 256' fill='currentColor'%3E%3Cpath d='M224,128a96,96,0,1,1-21.95-61.09,8,8,0,1,1-12.33,10.18A80,80,0,1,0,207.6,136H128a8,8,0,0,1,0-16h88A8,8,0,0,1,224,128Z'/%3E%3C/svg%3E"); background-color: currentColor; }
.wm-parcial .fa-calendar-alt { --wm-ic: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 256 256' fill='currentColor'%3E%3Cpath d='M208,32H184V24a8,8,0,0,0-16,0v8H88V24a8,8,0,0,0-16,0v8H48A16,16,0,0,0,32,48V208a16,16,0,0,0,16,16H208a16,16,0,0,0,16-16V48A16,16,0,0,0,208,32ZM72,48v8a8,8,0,0,0,16,0V48h80v8a8,8,0,0,0,16,0V48h24V80H48V48ZM208,208H48V96H208V208Z'/%3E%3C/svg%3E"); background-color: currentColor; }
.wm-parcial .fa-arrow-right { --wm-ic: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 256 256' fill='currentColor'%3E%3Cpath d='M221.66,133.66l-72,72a8,8,0,0,1-11.32-11.32L196.69,136H40a8,8,0,0,1,0-16H196.69L138.34,61.66a8,8,0,0,1,11.32-11.32l72,72A8,8,0,0,1,221.66,133.66Z'/%3E%3C/svg%3E"); background-color: currentColor; }
.wm-parcial .fa-map-pin { --wm-ic: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 256 256' fill='currentColor'%3E%3Cpath d='M128,64a40,40,0,1,0,40,40A40,40,0,0,0,128,64Zm0,64a24,24,0,1,1,24-24A24,24,0,0,1,128,128Zm0-112a88.1,88.1,0,0,0-88,88c0,31.4,14.51,64.68,42,96.25a254.19,254.19,0,0,0,41.45,38.3,8,8,0,0,0,9.18,0A254.19,254.19,0,0,0,174,200.25c27.45-31.57,42-64.85,42-96.25A88.1,88.1,0,0,0,128,16Zm0,206c-16.53-13-72-60.75-72-118a72,72,0,0,1,144,0C200,161.23,144.53,209,128,222Z'/%3E%3C/svg%3E"); background-color: currentColor; }
.wm-parcial .fa-map-marker-alt { --wm-ic: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 256 256' fill='currentColor'%3E%3Cpath d='M128,64a40,40,0,1,0,40,40A40,40,0,0,0,128,64Zm0,64a24,24,0,1,1,24-24A24,24,0,0,1,128,128Zm0-112a88.1,88.1,0,0,0-88,88c0,31.4,14.51,64.68,42,96.25a254.19,254.19,0,0,0,41.45,38.3,8,8,0,0,0,9.18,0A254.19,254.19,0,0,0,174,200.25c27.45-31.57,42-64.85,42-96.25A88.1,88.1,0,0,0,128,16Zm0,206c-16.53-13-72-60.75-72-118a72,72,0,0,1,144,0C200,161.23,144.53,209,128,222Z'/%3E%3C/svg%3E"); background-color: currentColor; }
.wm-parcial .fa-bolt { --wm-ic: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 256 256' fill='currentColor'%3E%3Cpath d='M215.79,118.17a8,8,0,0,0-5-5.66L153.18,90.9l14.66-73.33a8,8,0,0,0-13.69-7l-112,120a8,8,0,0,0,3,13l57.63,21.61L88.16,238.43a8,8,0,0,0,13.69,7l112-120A8,8,0,0,0,215.79,118.17ZM109.37,214l10.47-52.38a8,8,0,0,0-5-9.06L62,132.71l84.62-90.66L136.16,94.43a8,8,0,0,0,5,9.06l52.8,19.8Z'/%3E%3C/svg%3E"); background-color: currentColor; }
.wm-parcial .fa-gauge-high { --wm-ic: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 256 256' fill='currentColor'%3E%3Cpath d='M207.06,72.67A111.24,111.24,0,0,0,128,40h-.4C66.07,40.21,16,91,16,153.13V176a16,16,0,0,0,16,16H224a16,16,0,0,0,16-16V152A111.25,111.25,0,0,0,207.06,72.67ZM224,176H119.71l54.76-75.3a8,8,0,0,0-12.94-9.42L99.92,176H32V153.13c0-3.08.15-6.12.43-9.13H56a8,8,0,0,0,0-16H35.27c10.32-38.86,44-68.24,84.73-71.66V80a8,8,0,0,0,16,0V56.33A96.14,96.14,0,0,1,221,128H200a8,8,0,0,0,0,16h23.67c.21,2.65.33,5.31.33,8Z'/%3E%3C/svg%3E"); background-color: currentColor; }
.wm-parcial .fa-house-signal { --wm-ic: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 256 256' fill='currentColor'%3E%3Cpath d='M240,208H224V136l2.34,2.34A8,8,0,0,0,237.66,127L139.31,28.68a16,16,0,0,0-22.62,0L18.34,127a8,8,0,0,0,11.32,11.31L32,136v72H16a8,8,0,0,0,0,16H240a8,8,0,0,0,0-16ZM48,120l80-80,80,80v88H160V152a8,8,0,0,0-8-8H104a8,8,0,0,0-8,8v56H48Zm96,88H112V160h32Z'/%3E%3C/svg%3E"); background-color: currentColor; }
.wm-parcial .fa-plus-circle { --wm-ic: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 256 256' fill='currentColor'%3E%3Cpath d='M128,24A104,104,0,1,0,232,128,104.11,104.11,0,0,0,128,24Zm0,192a88,88,0,1,1,88-88A88.1,88.1,0,0,1,128,216Zm48-88a8,8,0,0,1-8,8H136v32a8,8,0,0,1-16,0V136H88a8,8,0,0,1,0-16h32V88a8,8,0,0,1,16,0v32h32A8,8,0,0,1,176,128Z'/%3E%3C/svg%3E"); background-color: currentColor; }
.wm-parcial .fa-instagram { --wm-ic: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 256 256' fill='currentColor'%3E%3Cpath d='M128,80a48,48,0,1,0,48,48A48.05,48.05,0,0,0,128,80Zm0,80a32,32,0,1,1,32-32A32,32,0,0,1,128,160ZM176,24H80A56.06,56.06,0,0,0,24,80v96a56.06,56.06,0,0,0,56,56h96a56.06,56.06,0,0,0,56-56V80A56.06,56.06,0,0,0,176,24Zm40,152a40,40,0,0,1-40,40H80a40,40,0,0,1-40-40V80A40,40,0,0,1,80,40h96a40,40,0,0,1,40,40ZM192,76a12,12,0,1,1-12-12A12,12,0,0,1,192,76Z'/%3E%3C/svg%3E"); background-color: currentColor; }
.wm-parcial .fa-facebook-f { --wm-ic: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 256 256' fill='currentColor'%3E%3Cpath d='M128,24A104,104,0,1,0,232,128,104.11,104.11,0,0,0,128,24Zm8,191.63V152h24a8,8,0,0,0,0-16H136V112a16,16,0,0,1,16-16h16a8,8,0,0,0,0-16H152a32,32,0,0,0-32,32v24H96a8,8,0,0,0,0,16h24v63.63a88,88,0,1,1,16,0Z'/%3E%3C/svg%3E"); background-color: currentColor; }
.wm-parcial .fa-tiktok { --wm-ic: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 256 256' fill='currentColor'%3E%3Cpath d='M224,72a48.05,48.05,0,0,1-48-48,8,8,0,0,0-8-8H128a8,8,0,0,0-8,8V156a20,20,0,1,1-28.57-18.08A8,8,0,0,0,96,130.69V88a8,8,0,0,0-9.4-7.88C50.91,86.48,24,119.1,24,156a76,76,0,0,0,152,0V116.29A103.25,103.25,0,0,0,224,128a8,8,0,0,0,8-8V80A8,8,0,0,0,224,72Zm-8,39.64a87.19,87.19,0,0,1-43.33-16.15A8,8,0,0,0,160,102v54a60,60,0,0,1-120,0c0-25.9,16.64-49.13,40-57.6v27.67A36,36,0,1,0,136,156V32h24.5A64.14,64.14,0,0,0,216,87.5Z'/%3E%3C/svg%3E"); background-color: currentColor; }
.wm-parcial .fa-youtube { --wm-ic: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 256 256' fill='currentColor'%3E%3Cpath d='M164.44,121.34l-48-32A8,8,0,0,0,104,96v64a8,8,0,0,0,12.44,6.66l48-32a8,8,0,0,0,0-13.32ZM120,145.05V111l25.58,17ZM234.33,69.52a24,24,0,0,0-14.49-16.4C185.56,39.88,131,40,128,40s-57.56-.12-91.84,13.12a24,24,0,0,0-14.49,16.4C19.08,79.5,16,97.74,16,128s3.08,48.5,5.67,58.48a24,24,0,0,0,14.49,16.41C69,215.56,120.4,216,127.34,216h1.32c6.94,0,58.37-.44,91.18-13.11a24,24,0,0,0,14.49-16.41c2.59-10,5.67-28.22,5.67-58.48S236.92,79.5,234.33,69.52Zm-15.49,113a8,8,0,0,1-4.77,5.49c-31.65,12.22-85.48,12-86,12H128c-.54,0-54.33.2-86-12a8,8,0,0,1-4.77-5.49C34.8,173.39,32,156.57,32,128s2.8-45.39,5.16-54.47A8,8,0,0,1,41.93,68c30.52-11.79,81.66-12,85.85-12h.27c.54,0,54.38-.18,86,12a8,8,0,0,1,4.77,5.49C221.2,82.61,224,99.43,224,128S221.2,173.39,218.84,182.47Z'/%3E%3C/svg%3E"); background-color: currentColor; }

.wm-drop-panel a, .wm-menu-grupo a { text-decoration: none; }
@media (prefers-reduced-motion: reduce) {
  .wm-drop-panel, .wm-drop-panel[data-open="true"] { transform: none; }
}

/* ---------- Páginas de texto longo (privacidade, termos) ---------- */
.wm-pagina-texto { padding-block: 128px 96px; }
.wm-prosa { max-width: 768px; margin-inline: auto; }
.wm-prosa h1 { font-size: 30px; line-height: 36px; font-weight: 600; letter-spacing: -0.02em; }
@media (min-width: 768px) { .wm-prosa h1 { font-size: 36px; line-height: 40px; } }
.wm-prosa h2 { margin-top: 40px; font-size: 20px; line-height: 28px; font-weight: 600; }
.wm-prosa h3 { margin-top: 24px; font-size: 18px; line-height: 28px; font-weight: 600; }
.wm-prosa p, .wm-prosa li { color: var(--wm-text-muted); line-height: 28px; }
.wm-prosa h1 + p, .wm-prosa p + p, .wm-prosa h2 + p, .wm-prosa h3 + p, .wm-prosa ul + p { margin-top: 16px; }
.wm-prosa h2 + ul, .wm-prosa p + ul, .wm-prosa h3 + ul { margin-top: 12px; }
.wm-prosa ul { padding-left: 24px; list-style: disc; }
.wm-prosa li + li { margin-top: 8px; }
.wm-prosa a { color: var(--wm-accent); text-decoration: underline; text-underline-offset: 4px; }
.wm-prosa strong { color: var(--wm-text); font-weight: 600; }
