/* Envolve site layout — extracted from DS entry pages */
/* --- from index.html --- */
/* overflow-x: clip (not hidden) — hidden on html/body breaks position:sticky */
html { scroll-behavior: smooth; overflow-x: clip; }
  body { margin: 0; background: var(--white); overflow-x: clip; }
  #topo, .eds-hero-grid { overflow-x: clip; min-width: 0; }
  .eds-hero-grid > * { min-width: 0; }
  section[id] { scroll-margin-top: 76px; }
  h1, h2, h3, p { text-wrap: pretty; }

  /* ── Hero illustration keyframes ── */
  @keyframes scFlow { to { stroke-dashoffset: -28; } }
  @keyframes scPulse { 0%,100% { opacity: .4; } 50% { opacity: 1; } }
  @keyframes scRing { 0% { transform: scale(.55); opacity: .65; } 100% { transform: scale(1.9); opacity: 0; } }
  @keyframes softPulse { 0%,100% { opacity: .14; transform: scale(1); } 50% { opacity: .3; transform: scale(1.12); } }
  @keyframes animScan {
    0%   { opacity: 0; transform: translateY(0); }
    4%   { opacity: .5; }
    11%  { opacity: .5; transform: translateY(126px); }
    15%  { opacity: 0; transform: translateY(126px); }
    100% { opacity: 0; transform: translateY(0); }
  }
  @keyframes animTravel {
    0%,17% { offset-distance: 0%;   opacity: 0; }
    20%    { offset-distance: 0%;   opacity: 1; }
    45%    { offset-distance: 100%; opacity: 1; }
    49%    { offset-distance: 100%; opacity: 0; }
    100%   { offset-distance: 100%; opacity: 0; }
  }
  @keyframes animNodeRing {
    0%,28% { opacity: 0; transform: scale(.4); }
    34%    { opacity: .4; }
    49%    { opacity: 0; transform: scale(2.1); }
    100%   { opacity: 0; transform: scale(2.1); }
  }
  @keyframes animBox1 {
    0%,47%   { background: #FFFFFF; border-color: #CFD4DA; }
    53%      { background: #FFCE3A; border-color: #FFCE3A; }
    93%      { background: #FFCE3A; border-color: #FFCE3A; }
    99%,100% { background: #FFFFFF; border-color: #CFD4DA; }
  }
  @keyframes animBox2 {
    0%,50%   { background: #FFFFFF; border-color: #CFD4DA; }
    56%      { background: #FFCE3A; border-color: #FFCE3A; }
    93%      { background: #FFCE3A; border-color: #FFCE3A; }
    99%,100% { background: #FFFFFF; border-color: #CFD4DA; }
  }
  @keyframes animMark1 {
    0%,49%   { opacity: 0; transform: scale(.4); }
    55%      { opacity: 1; transform: scale(1); }
    93%      { opacity: 1; }
    99%,100% { opacity: 0; }
  }
  @keyframes animMark2 {
    0%,52%   { opacity: 0; transform: scale(.4); }
    58%      { opacity: 1; transform: scale(1); }
    93%      { opacity: 1; }
    99%,100% { opacity: 0; }
  }
  @keyframes animProgress {
    0%,49% { width: 0%; }
    61%    { width: 72%; }
    93%    { width: 72%; }
    99%    { width: 5%; }
    100%   { width: 0%; }
  }
  @keyframes animBadge {
    0%,55%   { opacity: 0; transform: scale(.85); }
    61%      { opacity: 1; transform: scale(1); }
    93%      { opacity: 1; }
    99%,100% { opacity: 0; }
  }

  .eds-proof-accordion { display: none; }
  .eds-proof-tab-hidden { display: none !important; }
  /* seletor de plataformas (e-commerce): accordion só no mobile */
  .eds-ecplat-accordion { display: none; }
  /* rótulo por célula das tabelas comparativas: só no mobile */
  .eds-cmp-clabel { display: none; }

  /* ── Proof logos: uniform slots + contrast on light backgrounds ── */
  .eds-logo-slot {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    padding: 10px 14px;
    box-sizing: border-box;
  }
  .eds-logo-slot img {
    display: block;
    max-width: 100%;
    max-height: 100%;
    width: auto;
    height: auto;
    object-fit: contain;
  }
  .eds-logo-slot--plain {
    background: transparent;
    border-radius: 0;
    padding: 8px 14px;
  }
  .eds-logo-slot--surface { background: var(--gray-50); border-radius: 10px; }
  .eds-logo-slot--dark { background: var(--gray-900); border-radius: 10px; }
  .eds-logo-slot--brand-conecta { background: #532faf; border-radius: 10px; }
  .eds-clients-grid > div {
    height: 78px;
    background: var(--gray-100) !important;
    padding: 0 !important;
    overflow: hidden;
  }
  .eds-clients-grid .eds-logo-slot--plain img { mix-blend-mode: multiply; }
  .eds-clients-grid .eds-logo-slot img { max-height: 44px; }
  .eds-envista-parent .eds-logo-slot img { max-height: 36px; }
  .eds-envista-brands .eds-logo-slot img { max-height: 32px; }
  .eds-partners-grid > div > div:first-child { width: 100%; }
  .eds-partners-grid .eds-logo-slot { min-height: 48px; padding: 10px 14px; width: 100%; }
  .eds-partners-grid .eds-logo-slot img { max-height: 40px; }
  .eds-logo-slot--lg img { max-height: 36px; }
  .eds-logo-slot--sm img { max-height: 32px; max-width: 120px; }

  /* ── Proof tabs: calm fade + adaptive-height transition (reduced-motion safe) ── */
  @keyframes edsProofFade { from { opacity: 0; transform: translateY(6px); } to { opacity: 1; transform: none; } }
  .eds-proof-h { transition: none; }
  @media (prefers-reduced-motion: no-preference) {
    .eds-proof-h { transition: height 0.4s cubic-bezier(0.4, 0, 0.2, 1); }
    .eds-proof-fade { animation: edsProofFade 0.35s cubic-bezier(0.4, 0, 0.2, 1) both; }
  }

  /* Contact form card — styles from FinalCTA/Contato inline markup, kept in CSS
     so they survive envolve_replace_contact_forms() swapping in the plugin form. */
  .eds-contact-form {
    background: var(--white);
    border-radius: var(--radius-lg);
    padding: 36px;
    box-shadow: var(--elev-5);
    box-sizing: border-box;
  }
  .page-template-page-contato .eds-contact-form {
    box-shadow: var(--shadow-card);
    border: 1px solid var(--border-subtle);
  }
  .envolve-contact-form { margin: 0; }
  .envolve-contact-form label[data-envolve-field] input,
  .envolve-contact-form label[data-envolve-field] textarea {
    transition: border-color 0.28s cubic-bezier(0.4, 0, 0.2, 1),
                box-shadow 0.28s cubic-bezier(0.4, 0, 0.2, 1);
  }
  .envolve-contact-form label[data-envolve-field].has-error input,
  .envolve-contact-form label[data-envolve-field].has-error textarea {
    border-color: #d92d20 !important;
    box-shadow: 0 0 0 1px #d92d20;
  }
  .envolve-field-error,
  [data-envolve-form-status] {
    display: block;
    overflow: hidden;
    max-height: 0;
    opacity: 0;
    transform: translateY(-6px);
    transition: opacity 0.28s cubic-bezier(0.4, 0, 0.2, 1),
                transform 0.28s cubic-bezier(0.4, 0, 0.2, 1),
                max-height 0.32s cubic-bezier(0.4, 0, 0.2, 1);
  }
  .envolve-field-error {
    color: #d92d20;
    font-size: 13px;
    font-weight: 600;
    line-height: 1.35;
  }
  .envolve-field-error.is-visible,
  [data-envolve-form-status].is-visible {
    max-height: 4.5em;
    opacity: 1;
    transform: translateY(0);
  }
  .envolve-field-error[hidden],
  [data-envolve-form-status][hidden] {
    display: block;
    max-height: 0;
    opacity: 0;
    transform: translateY(-6px);
    pointer-events: none;
  }
  .envolve-field-error[hidden]:not(.is-visible),
  [data-envolve-form-status][hidden]:not(.is-visible) {
    visibility: hidden;
  }
  [data-envolve-form-status][data-state="error"] { color: #d92d20; }
  [data-envolve-form-status][data-state="success"] { color: #12805c; }
  @media (prefers-reduced-motion: reduce) {
    .envolve-contact-form label[data-envolve-field] input,
    .envolve-contact-form label[data-envolve-field] textarea,
    .envolve-field-error,
    [data-envolve-form-status] {
      transition: none;
    }
  }
  .envolve-turnstile-wrap { min-height: 0; }

  @media (max-width: 980px) {
    .eds-desktop-nav, .eds-desktop-cta { display: none !important; }
    .eds-mobile-toggle { display: flex !important; }
    .eds-hero-grid { grid-template-columns: 1fr !important; }
    .eds-hero-visual { display: none !important; }
    .eds-hero-blurbs { grid-template-columns: 1fr 1fr !important; gap: 28px !important; }
    .hero-illu-desktop { display: none !important; }
    .hero-illu-mobile  { display: block !important; }
    .eds-pains-grid, .eds-services-grid, .eds-projects-grid, .eds-blog-grid { grid-template-columns: 1fr 1fr !important; }
    .eds-selected-grid { grid-template-columns: 1fr !important; }
    .eds-svc-grouped { grid-template-columns: 1fr !important; gap: 40px !important; }
    .eds-proj-cards { grid-template-columns: 1fr !important; }
    .eds-clients-grid { grid-template-columns: repeat(2, 1fr) !important; }
    .eds-partners-grid { grid-template-columns: repeat(2, 1fr) !important; }
    .eds-envista-group { grid-template-columns: 1fr !important; }
    .eds-envista-parent { border-right: none !important; border-bottom: 1px solid var(--border-subtle) !important; }
    .eds-solutions-grid, .eds-contact-grid, .eds-rescue-grid { grid-template-columns: 1fr !important; }
    .eds-authority-grid { grid-template-columns: 1fr 1fr !important; }
    .eds-quote-card { grid-template-columns: 1fr !important; gap: 32px !important; }
    .eds-quote-stats { border-left: none !important; padding-left: 0 !important; flex-direction: column !important; }
    .eds-quote-stats > div { width: 100% !important; box-sizing: border-box; justify-content: flex-start !important; }
    .eds-process-grid { grid-template-columns: 1fr 1fr !important; row-gap: 40px !important; column-gap: 32px !important; }
    .eds-process-rail, .eds-pt-fill, .eds-pt-spot { display: none !important; }
    .eds-footer-grid { grid-template-columns: 1fr 1fr !important; }
    /* Authority proof: desktop segmented tabs → mobile accordion */
    .eds-proof-desktop { display: none !important; }
    .eds-proof-accordion {
      display: block !important;
      padding-left: var(--page-gutter-x);
      padding-right: var(--page-gutter-x);
      box-sizing: border-box;
    }

    /* Global mobile side gutter (20px) — overrides inline 32px containers */
    [style*="max-width: var(--container-max)"],
    [style*="max-width:var(--container-max)"],
    [style*="max-width: 820px"],
    [style*="max-width:820px"],
    [style*="max-width: 1000px"],
    [style*="max-width:1000px"],
    .envolve-header__inner,
    .eds-mega__wrap,
    .eds-proof-accordion,
    .eds-pg-hero,
    .eds-hero-grid,
    .eds-contact-grid,
    .eds-post-layout {
      padding-left: var(--page-gutter-x) !important;
      padding-right: var(--page-gutter-x) !important;
    }
    /* single.php related/CTA band uses padding:0 32px without max-width */
    section[style*="padding:0 32px"],
    section[style*="padding: 0 32px"] {
      padding-left: var(--page-gutter-x) !important;
      padding-right: var(--page-gutter-x) !important;
    }
  }
  @media (max-width: 640px) {
    .eds-services-grid, .eds-projects-grid, .eds-blog-grid,
    .eds-footer-grid, .eds-rescue-steps { grid-template-columns: 1fr 1fr !important; }
    .eds-pains-grid, .eds-hero-blurbs, .eds-authority-grid, .eds-process-grid,
    .eds-form-row, .eds-partners-grid { grid-template-columns: 1fr !important; }
    /* "Onde a gente entra": 2 colunas no desktop → 1 coluna no mobile */
    .eds-pains-list { grid-template-columns: 1fr !important; }
    .eds-pain-item { border-left: none !important; border-top: 1px solid var(--border-subtle) !important; }
    .eds-pain-item:first-child { border-top: none !important; }
    .eds-envista-brands { grid-template-columns: repeat(2, 1fr) !important; }
    .eds-hero-visual { display: none !important; }
    .eds-process-trust { display: grid !important; grid-template-columns: 1fr 1fr !important; justify-content: stretch !important; column-gap: 16px !important; row-gap: 16px !important; }
    .eds-process-trust > span { align-items: flex-start !important; }
    .eds-contact-form { padding: 24px !important; }
    .eds-reviews-pill { flex-direction: column !important; align-items: flex-start !important; gap: 10px !important; width: 100% !important; border-radius: 16px !important; padding: 16px !important; }
    .eds-reviews-div { display: none !important; }
    h1 { font-size: 38px !important; }
    h2 { font-size: 30px !important; }
  }

/* --- from pagina.html --- */
html { scroll-behavior: smooth; }
  body { margin: 0; background: var(--white); overflow-x: clip; }
  @keyframes wpDiagFade { from { opacity: 0; transform: translateY(6px); } to { opacity: 1; transform: none; } }
  @keyframes ecArchFlow { to { stroke-dashoffset: -180; } }
  .eca-flow { animation: ecArchFlow 2.4s linear infinite; }

  /* ── Automações & integrações: fluxo de dados (loop contínuo) ── */
  @keyframes integDot {
    0%   { left: var(--integ-edge, 10%); opacity: 0; }
    6%   { opacity: 1; }
    94%  { opacity: 1; }
    100% { left: calc(100% - var(--integ-edge, 10%)); opacity: 0; }
  }
  @keyframes integMiniDot {
    0%   { top: 4%;  opacity: 0; }
    10%  { opacity: 1; }
    90%  { opacity: 1; }
    100% { top: 92%; opacity: 0; }
  }
  @keyframes integGlow {
    0%, 100% { transform: scale(1); box-shadow: 0 0 0 6px var(--gray-900); }
    7%       { transform: scale(1.13); box-shadow: 0 0 0 6px var(--gray-900), 0 0 26px 7px rgba(222,185,37,0.55); }
    22%      { transform: scale(1); box-shadow: 0 0 0 6px var(--gray-900); }
  }
  @media (prefers-reduced-motion: reduce) {
    .wp-diag-reveal, .eca-flow { animation: none !important; }
    .integ-dot, .integ-mini-dot { display: none !important; }
    .integ-glow { animation: none !important; }
  }
  @media (max-width: 760px) {
    .eds-ecarch-stage { display: none !important; }
    .eds-ecarch-mobile { display: block !important; }
  }
  section[id] { scroll-margin-top: 76px; }
  h1, h2, h3, p { text-wrap: pretty; }

  /* ── Tablet ── */
  @media (max-width: 980px) {
    .eds-desktop-nav, .eds-desktop-cta { display: none !important; }
    .eds-mobile-toggle { display: flex !important; }

    .eds-pg-hero { grid-template-columns: 1fr !important; gap: 36px !important; }
    .eds-pg-herovisual { justify-content: flex-start !important; }
    .eds-dxpanel, .eds-heromock { max-width: 460px !important; }

    .eds-dxgrid, .eds-darkfeat, .eds-faq, .eds-showcase, .eds-tech-row { grid-template-columns: 1fr !important; gap: 36px !important; }
    .eds-pain, .eds-ai { grid-template-columns: 1fr !important; gap: 36px !important; }
    .eds-decision { grid-template-columns: 1fr !important; }
    .eds-showcase-hero { grid-row: auto !important; }

    .eds-process-grid { grid-template-columns: 1fr 1fr !important; row-gap: 40px !important; column-gap: 32px !important; }
    .eds-process-rail, .eds-pt-fill, .eds-pt-spot { display: none !important; }

    /* landing comercial de serviço */
    .eds-deliver, .eds-diff { grid-template-columns: 1fr 1fr !important; gap: 16px !important; }
    .eds-csteps { grid-template-columns: 1fr 1fr !important; gap: 32px 16px !important; }
    .eds-csteps-rail { display: none !important; }

    /* página WordPress */
    .eds-wpdip, .eds-wparch { grid-template-columns: 1fr !important; gap: 40px !important; }
    .eds-wpbento { grid-template-columns: 1fr 1fr !important; }
    .eds-wpbento > * { grid-column: auto !important; }
    .eds-pg-hero .wp-studio { max-width: 560px !important; }
    .eds-wpscn-flow { flex-direction: column !important; }
    .eds-wpscn-arrow { transform: rotate(90deg); align-self: center; }
    .eds-wpdiag-body { grid-template-columns: 1fr !important; }
    .eds-wpdiag-body > div:first-child { border-right: none !important; border-bottom: 1px solid var(--border-subtle) !important; }
    .eds-wpdiag-result { grid-template-columns: 1fr !important; gap: 22px !important; }

    .eds-ba { grid-template-columns: 1fr !important; }
    .eds-ba-arrow { transform: rotate(90deg); padding: 4px 0 !important; }

    .eds-ctx-cta { flex-direction: column !important; align-items: flex-start !important; }

    /* página e-commerce */
    .eds-ecbuild { grid-template-columns: 1fr 1fr !important; }
    .eds-ecplat-body { grid-template-columns: 1fr !important; }
    .eds-ecplat-body > div:first-child { border-right: none !important; border-bottom: 1px solid var(--border-subtle) !important; }
    .eds-ecflow { flex-direction: column !important; gap: 8px !important; }
    .eds-ecflow-arrow { transform: rotate(90deg); align-self: center; padding: 6px 0 !important; }

    /* página produtos digitais e MVPs */
    .eds-mvp-idea, .eds-mvp-focus, .eds-mvp-stack, .eds-mvp-aicmp { grid-template-columns: 1fr !important; }
    .eds-mvp-map { grid-template-columns: 1fr !important; }
    .eds-mvp-strip { grid-template-columns: 1fr 1fr !important; }
    .eds-mvp-human { grid-template-columns: 1fr 1fr !important; }

    /* página sistemas internos e portais */
    .eds-sys-chaos, .eds-sys-cmp, .eds-sys-sec { grid-template-columns: 1fr !important; }
    .eds-sys-caps { grid-template-columns: 1fr !important; }

    /* página automações e integrações */
    .eds-integ-vs { grid-template-columns: 1fr !important; }
    .eds-integ-vs-arrow { transform: rotate(90deg); align-self: center; padding: 4px 0 !important; }
    .eds-integ-cases, .eds-integ-rel { grid-template-columns: 1fr 1fr !important; }

    .eds-contact-grid, .eds-footer-grid { grid-template-columns: 1fr !important; }
  }

  /* ── Mobile ── */
  @media (max-width: 640px) {
    .eds-grid-3, .eds-grid-2, .eds-delivery, .eds-form-row { grid-template-columns: 1fr !important; }
    .eds-deliver, .eds-diff, .eds-csteps { grid-template-columns: 1fr !important; }
    .eds-csteps { gap: 18px !important; }
    .eds-sm-phone { display: none !important; }
    /* página WordPress — mobile */
    /* o mockup "studio" tem largura mínima intrínseca (~462px) que esticava a
       coluna do hero e cortava o título no celular — collapse + esconder mockup */
    .eds-pg-hero { grid-template-columns: minmax(0,1fr) !important; gap: 0 !important; padding: 30px var(--page-gutter-x) 56px !important; }
    .eds-pg-hero .eds-pg-herovisual { display: none !important; }
    /* o breadcrumb (linha única) forçava a coluna do hero a estourar a viewport */
    .eds-pg-hero nav ol { flex-wrap: wrap !important; }
    /* seção de contato/CTA final não tinha colapso — o formulário (largura mínima)
       estourava a viewport ao lado do texto */
    .eds-contact-grid { grid-template-columns: minmax(0,1fr) !important; gap: 36px !important; }
    .eds-contact-form { padding: 24px !important; }
    /* CTAs: os bot\u00f5es t\u00eam white-space:nowrap + padding largo e estouravam a
       largura no celular \u2014 deixar quebrar e os wrappers encolherem */
    .eds-pg-hero a, .eds-ctx-cta a, .eds-contact-grid a { max-width: 100% !important; min-width: 0 !important; }
    .eds-pg-hero button, .eds-ctx-cta button, .eds-contact-grid button { white-space: normal !important; max-width: 100% !important; }
    .eds-ctx-cta > div:last-child { flex-shrink: 1 !important; min-width: 0 !important; width: 100% !important; }
    .eds-wpbento, .eds-wpskills, .eds-wpstats { grid-template-columns: 1fr !important; }
    .eds-wpdiag-opts { grid-template-columns: 1fr !important; }
    /* CTA da anamnese: texto curto + sem seta (já tem o balão) */
    .eds-wpdiag-cta { gap: 8px !important; padding: 14px 18px !important; font-size: 14.5px !important; line-height: 1.25 !important; white-space: nowrap !important; }
    .eds-wpdiag-cta__full { display: none !important; }
    .eds-wpdiag-cta__short { display: inline !important; }
    .eds-wpdiag-cta__arrow { display: none !important; }
    .eds-wpstats > div { border-left: none !important; border-top: 1px solid rgba(255,255,255,0.1) !important; }
    .eds-wpdip { grid-template-columns: 1fr !important; }
    /* bloco "Hoje × Com a Envolve": 2 colunas lado a lado no mobile;
       o cabeçalho some e cada célula ganha rótulo próprio (preserva a comparação) */
    .eds-wpout-head { display: none !important; }
    .eds-wpout-row { grid-template-columns: 1fr 1fr !important; align-items: stretch !important; }
    .eds-wpout-mid { display: none !important; }
    .eds-wpout-cell { padding: 14px 16px !important; }
    .eds-wpout-cell > div span { font-size: 14px !important; }
    .eds-cmp-clabel { display: block !important; }
    /* tabela comparativa "Abordagem comum × Do jeito Envolve": critério full-width
       em cima; comum | Envolve lado a lado embaixo, cada um com seu rótulo */
    .eds-wpcmp-head { display: none !important; }
    .eds-wpcmp-row { grid-template-columns: 1fr 1fr !important; }
    .eds-wpcmp-crit { grid-column: 1 / -1 !important; padding: 14px 16px 4px !important; }
    .eds-wpcmp-cell { border-left: none !important; padding: 10px 16px 16px !important; }
    .eds-wpcmp-cell > div span { font-size: 13px !important; }
    .eds-wpcmp-row .eds-wpcmp-ours { border-left: none !important; border-top: none !important; }
    .eds-ptypes { grid-template-columns: 1fr 1fr !important; }
    .eds-ecbuild { grid-template-columns: 1fr !important; }
    .eds-echi { grid-template-columns: 1fr !important; }
    /* seletor de plataformas: tabs desktop → accordion mobile (os 3 painéis já
       estão no DOM; o accordion só alterna visibilidade — sem perder SEO) */
    .eds-ecplat-tabs, .eds-ecplat-body { display: none !important; }
    .eds-ecplat-accordion { display: block !important; }

    /* página produtos digitais e MVPs — mobile */
    .eds-mvp-herobenes, .eds-mvp-human, .eds-mvp-strip { grid-template-columns: 1fr !important; }
    .eds-mvp-stripband { flex-direction: column !important; align-items: flex-start !important; gap: 22px !important; }
    .eds-mvp-flow { flex-direction: column !important; gap: 22px !important; align-items: flex-start !important; }
    .eds-mvp-flow .mvp-flow-rail, .eds-mvp-flow .mvp-flow-fill, .eds-mvp-flow .mvp-flow-pulse { display: none !important; }
    .eds-mvp-flow .mvp-flow-node { flex-direction: row !important; width: 100% !important; gap: 16px !important; text-align: left !important; }
    .eds-mvp-flow .mvp-flow-node > div { text-align: left !important; }
    /* página automações e integrações — mobile: fluxo horizontal → vertical */
    .eds-integ-cases, .eds-integ-rel { grid-template-columns: 1fr !important; }
    .eds-integ-stage > span[aria-hidden] { display: none !important; }
    .eds-integ-nodes { grid-template-columns: 1fr !important; gap: 16px !important; }
    .eds-integ-nodes .ifm-node { flex-direction: row !important; width: 100% !important; gap: 16px !important; text-align: left !important; }
    .eds-integ-nodes .ifm-node > div { text-align: left !important; }
    .eds-integ-nodes .integ-glow { animation: none !important; }

    /* página sistemas internos e portais — mobile */
    .eds-sys-flow { flex-direction: column !important; gap: 22px !important; align-items: flex-start !important; }
    .eds-sys-flow .sys-flow-rail, .eds-sys-flow .sys-flow-fill, .eds-sys-flow .sys-flow-pulse { display: none !important; }
    .eds-sys-flow .sys-flow-node { flex-direction: row !important; width: 100% !important; gap: 16px !important; text-align: left !important; }
    .eds-sys-flow .sys-flow-node > div { text-align: left !important; }
    .eds-delivery-wide, .eds-delivery-cell { grid-column: auto !important; }
    .eds-process-grid { grid-template-columns: 1fr !important; }
    .eds-footer-grid { grid-template-columns: 1fr 1fr !important; }
    h1 { font-size: 36px !important; }
    h2 { font-size: 28px !important; }
  }
  @media (max-width: 420px) {
    .eds-footer-grid { grid-template-columns: 1fr !important; }
  }
  /* telas muito estreitas: as 2 colunas comparativas ficam apertadas → empilha,
     mantendo os rótulos por célula para o sentido "comum × Envolve" não se perder */
  @media (max-width: 380px) {
    .eds-wpout-row { grid-template-columns: 1fr !important; }
    .eds-wpcmp-row { grid-template-columns: 1fr !important; }
    .eds-wpcmp-crit { grid-column: auto !important; }
  }

/* --- from contato.html --- */
html { scroll-behavior: smooth; }
  body { margin: 0; background: var(--white); overflow-x: clip; }
  section[id] { scroll-margin-top: 76px; }
  h1, h2, h3, p { text-wrap: pretty; }

  @media (max-width: 980px) {
    .eds-desktop-nav, .eds-desktop-cta { display: none !important; }
    .eds-mobile-toggle { display: flex !important; }
    .eds-contact-grid, .eds-footer-grid { grid-template-columns: 1fr !important; gap: 40px !important; }
    /* mapa: card volta a fluir abaixo do mapa */
    .eds-map-card { position: static !important; transform: none !important; width: auto !important;
      max-width: var(--container-max) !important; margin: -56px auto 0 !important; left: auto !important; }
  }
  @media (max-width: 640px) {
    .eds-form-row { grid-template-columns: 1fr !important; }
    .eds-footer-grid { grid-template-columns: 1fr 1fr !important; }
    .eds-contact-form { padding: 24px !important; }
    h1 { font-size: 34px !important; }
    h2 { font-size: 26px !important; }
  }
  @media (max-width: 420px) {
    .eds-footer-grid { grid-template-columns: 1fr !important; }
  }

/* --- from blog.html --- */
html { scroll-behavior: smooth; }
  body { margin: 0; background: var(--white); overflow-x: clip; }
  h1, h2, h3, p { text-wrap: pretty; }

  @media (max-width: 980px) {
    .eds-desktop-nav, .eds-desktop-cta { display: none !important; }
    .eds-mobile-toggle { display: flex !important; }
    .eds-blog-featured { grid-template-columns: 1fr !important; }
    .eds-blog-cta { grid-template-columns: 1fr !important; gap: 28px !important; }
    .eds-blog-grid { grid-template-columns: 1fr 1fr !important; }
    .eds-footer-grid { grid-template-columns: 1fr 1fr !important; }
  }
  @media (max-width: 640px) {
    .eds-blog-grid { grid-template-columns: 1fr !important; }
    h1 { font-size: 38px !important; }
    h2 { font-size: 26px !important; }
  }

/* --- from post.html --- */
html { scroll-behavior: smooth; }
  body { margin: 0; background: var(--white); overflow-x: clip; }
  h1, h2, h3, p { text-wrap: pretty; }

  @media (max-width: 980px) {
    .eds-desktop-nav, .eds-desktop-cta { display: none !important; }
    .eds-mobile-toggle { display: flex !important; }
    .eds-post-layout { grid-template-columns: 1fr !important; gap: 0 !important; }
    .eds-post-toc { display: none !important; }
    .eds-blog-cta { grid-template-columns: 1fr !important; gap: 28px !important; }
    .eds-blog-grid { grid-template-columns: 1fr 1fr !important; }
    .eds-footer-grid { grid-template-columns: 1fr 1fr !important; }
  }
  @media (max-width: 640px) {
    .eds-blog-grid { grid-template-columns: 1fr !important; }
    h1 { font-size: 34px !important; }
  }

/* ── Anti-flash: pré-esconde os mockups de hero animados (acima da dobra) até
   a camada de animação inicializar, evitando "flash" de conteúdo já visível.
   Removido (a classe env-anim-armed sai de <html>) assim que envHide assume o
   estado inicial via estilo inline. Só vale com JS + motion permitido. ────── */
.env-anim-armed .wp-comp,
.env-anim-armed .wp-blk,
.env-anim-armed .wp-metric,
.env-anim-armed .ec-cart,
.env-anim-armed .ec-sum,
.env-anim-armed .ec-ok,
.env-anim-armed .mvp-stage,
.env-anim-armed .mvp-cc-tile,
.env-anim-armed .sys-row,
.env-anim-armed .sys-kpi,
.env-anim-armed .isy-chip,
.env-anim-armed .isy-row,
.env-anim-armed .isy-stat { opacity: 0; }

/* ── FAQ accordion smooth expand ─────────────────────────────────────────── */
.envolve-faq-panel {
  overflow: hidden;
  max-height: 0;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  transition: max-height 0.32s cubic-bezier(0.4, 0, 0.2, 1),
              padding 0.32s cubic-bezier(0.4, 0, 0.2, 1);
}
.envolve-faq-panel.is-open {
  max-height: 600px;
  padding-top: 0 !important;
  padding-bottom: 22px !important;
}

/* Anamnese CTA: short label only on mobile */
.eds-wpdiag-cta__short { display: none; }

/* ── Tab visual state helpers ─────────────────────────────────────────────── */
.envolve-tab-active {
  background: var(--gray-900) !important;
  color: var(--white) !important;
}

/* --- from servico.html --- */
html { scroll-behavior: smooth; }
  body { margin: 0; background: var(--white); }
  h1, h2, h3, p { text-wrap: pretty; }

  @media (max-width: 980px) {
    .eds-desktop-nav, .eds-desktop-cta { display: none !important; }
    .eds-mobile-toggle { display: flex !important; }
    .eds-svc-hero { grid-template-columns: 1fr !important; }
    .eds-svc-herocard { display: none !important; }
    .eds-svc-ps, .eds-contact-grid { grid-template-columns: 1fr !important; }
    .eds-svc-related { grid-template-columns: 1fr 1fr !important; }
    .eds-process-grid { grid-template-columns: 1fr 1fr 1fr !important; row-gap: 40px !important; }
    .eds-process-line { display: none !important; }
    .eds-footer-grid { grid-template-columns: 1fr 1fr !important; }
  }
  @media (max-width: 640px) {
    .eds-svc-related, .eds-process-grid, .eds-footer-grid, .eds-form-row { grid-template-columns: 1fr !important; }
    h1 { font-size: 36px !important; }
    h2 { font-size: 28px !important; }
  }

/* ── Global mobile CTA scale (overrides inline pill buttons sitewide) ── */
@media (max-width: 640px) {
  .envolve-btn,
  .envolve-btn--primary,
  .envolve-btn--full,
  button[style*="radius-pill"],
  a[style*="radius-pill"] {
    font-size: 13px !important;
    padding: 12px 18px !important;
    gap: 8px !important;
    white-space: normal !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
    min-width: 0 !important;
  }
  .envolve-btn svg,
  button[style*="radius-pill"] svg,
  a[style*="radius-pill"] svg {
    width: 16px !important;
    height: 16px !important;
    flex: none !important;
  }
}

