
  /* Landing page EFI Imobiliário, versão 2.
     Conceito: a página segue o investidor da dor (bloco azul) à decisão (bloco verde final).
     Molduras da marca: bloco verde atrás das fotografias, fio azul, três filetes; bordô só na inscrição. */
  @font-face { font-family: "Caveat"; font-weight: 500; src: url("/media/6ea773f75867.woff2") format("woff2"); }
  :root { color-scheme: light; }
  html { scroll-behavior: smooth; }
  @media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } * { transition: none !important; } }
  body { background: var(--efi-branco); color: var(--efi-tinta); }
  img { max-width: 100%; }
  .wrap { max-width: 1180px; margin: 0 auto; padding-inline: 32px; }
  section { scroll-margin-top: 90px; }
  .secao { padding-block: 96px; }
  .fundo-verde { background: var(--efi-verde-claro); }
  .fundo-azul { background: var(--efi-azul-claro); }
  .secao h2 { text-wrap: balance; max-width: none; margin-bottom: 0; }
  .efi-filete { margin-bottom: 28px; }
  .cab { margin-bottom: 44px; }
  .secao .cab, .secao .cab .wrap { position: static; z-index: auto; background: transparent; border-bottom: 0; height: auto; }
  .etq { display: block; margin-bottom: 14px; color: var(--efi-verde); }
  .i { width: 26px; height: 26px; flex: none; stroke: currentColor; fill: none; stroke-width: 1.5; stroke-linecap: round; stroke-linejoin: round; }
  .filetes { display: flex; flex-direction: column; gap: 6px; }
  .filetes i { display: block; height: 4px; border-radius: 2px; }
  .filetes i:nth-child(1) { width: 64px; background: var(--efi-verde); }
  .filetes i:nth-child(2) { width: 44px; background: var(--efi-bordo); }
  .filetes i:nth-child(3) { width: 26px; background: var(--efi-azul); }

  /* Botões */
  .capsula { display: inline-flex; align-items: center; justify-content: center; gap: 10px; background: var(--efi-bordo); color: var(--efi-branco); border-radius: 999px; font-family: var(--efi-font-titulo); font-weight: 600; text-decoration: none; text-align: center; min-height: 44px; transition: filter .2s, transform .2s; }
  .capsula:hover { filter: brightness(.88); transform: translateY(-1px); }
  .capsula--grande { font-size: 17px; padding: 18px 38px; }
  .capsula--branca { background: var(--efi-branco); color: var(--efi-bordo); }
  .capsula--branca:hover { filter: none; background: var(--efi-verde-claro); }
  .cta-linha { display: flex; flex-wrap: wrap; align-items: center; gap: 14px 24px; margin-top: 48px; }

  /* Cabeçalho */
  header { position: sticky; top: env(safe-area-inset-top, 0px); z-index: 30; background: rgba(255,255,255,.96); backdrop-filter: blur(6px); border-bottom: 1px solid var(--efi-linha); }
  header .wrap { display: flex; align-items: center; gap: 32px; height: 78px; }
  header .logo img { height: 42px; display: block; }
  header nav { margin-left: auto; display: flex; gap: 26px; }
  header nav a { font-family: var(--efi-font-titulo); font-weight: 500; font-size: 14px; color: var(--efi-azul); text-decoration: none; }
  header nav a:hover { color: var(--efi-verde); }
  header .capsula { font-size: 14px; padding: 11px 22px; }
  .menu { display: none; margin-left: auto; background: none; border: 0; padding: 8px; min-width: 44px; min-height: 44px; color: var(--efi-azul); cursor: pointer; }
  .menu .i { width: 28px; height: 28px; }

  /* Hero */
  .hero { position: relative; overflow: hidden; }
  .hero::before { content: ""; position: absolute; right: 0; top: 0; bottom: 0; width: 38%; background: var(--efi-verde-claro); z-index: 0; }
  .hero .wrap { position: relative; z-index: 1; display: grid; grid-template-columns: 1.08fr 0.92fr; gap: 64px; align-items: center; padding-block: 36px 80px; }
  .hero .wrap > * { min-width: 0; }
  .hero h1 { font-size: clamp(36px, 4.6vw, 58px); line-height: 1.04; letter-spacing: -0.02em; margin: 0 0 20px; text-wrap: balance; }
  .hero h1 em { font-style: normal; color: var(--efi-verde); }
  .hero .promessa { font-family: var(--efi-font-titulo); font-weight: 600; font-size: 20px; color: var(--efi-azul); margin: 0 0 20px; }
  .hero .promessa span { color: var(--efi-verde); }
  .hero .texto { font-size: 19px; line-height: 1.55; max-width: 34em; margin: 0 0 34px; }
  .hero .filetes { margin-bottom: 26px; }
  .prova { display: flex; flex-wrap: wrap; gap: 10px 22px; margin: 30px 0 0; padding: 0; list-style: none; }
  .prova li { display: flex; gap: 8px; align-items: center; font-family: var(--efi-font-titulo); font-weight: 500; font-size: 14px; color: var(--efi-azul); }
  .prova .i { width: 20px; height: 20px; color: var(--efi-verde); }
  .prova { align-items: center; }
  .prova-livro img { width: 38px; border-radius: 1px 2px 2px 1px; box-shadow: 0 4px 10px rgba(31,42,68,.22); margin-right: 4px; }
  .visual { position: relative; max-width: 470px; margin-left: auto; width: 100%; }
  .visual::before { content: ""; position: absolute; right: -22px; bottom: -22px; width: 62%; height: 58%; background: var(--efi-verde); border-radius: var(--radius-md); }
  .visual::after { content: ""; position: absolute; left: -18px; top: 40px; width: 2px; height: 46%; background: var(--efi-azul); }
  .visual .foto { position: relative; border-radius: var(--radius-md); overflow: hidden; aspect-ratio: 4 / 5; box-shadow: 0 24px 48px rgba(31,42,68,.16); }
  .visual .foto img { width: 100%; height: 100%; object-fit: cover; object-position: 50% 8%; display: block; }
  .visual .selo { position: absolute; top: -26px; right: -26px; width: 118px; height: 118px; border-radius: 50%; background: var(--efi-branco); box-shadow: 0 10px 26px rgba(31,42,68,.14); display: grid; place-items: center; padding: 14px; }
  .visual .selo img { width: 100%; }
  .visual .frase { position: absolute; left: -34px; bottom: 34px; width: 214px; background: var(--efi-branco); border-radius: var(--radius-sm); padding: 16px 18px 14px; box-shadow: 0 14px 30px rgba(31,42,68,.14); }
  .visual .frase p { font-family: "Caveat", cursive; font-weight: 500; font-size: 26px; line-height: 1.05; color: var(--efi-azul); margin: 0 0 10px; }
  .visual .frase img { width: 124px; display: block; }

  .pilares { background: var(--efi-branco); color: var(--efi-azul); border-bottom: 1px solid var(--efi-linha); border-top: 1px solid var(--efi-linha); }
  .pilares .wrap { display: grid; grid-template-columns: repeat(4, 1fr); }
  .pilares .item { display: flex; align-items: center; gap: 14px; padding: 26px 22px; font-family: var(--efi-font-titulo); font-size: 14px; line-height: 1.35; }
  .pilares .item + .item { border-left: 1px solid var(--efi-linha); }
  .pilares b { display: block; font-size: 22px; font-weight: 700; }
  .pilares .i { width: 32px; height: 32px; color: var(--efi-verde); }
  .pilares span { color: var(--efi-tinta-suave); }
  .pilares b { color: var(--efi-azul); }

  /* Erros (bloco escuro de foco) */
  .erros { background: var(--efi-azul); color: var(--efi-branco); }
  .erros h2 { color: var(--efi-branco); max-width: none; }
  @media (min-width: 881px) { .erros h2 { font-size: min(36px, 3.1vw); white-space: nowrap; } }
  .erros .efi-filete { background: var(--efi-bordo); }
  .erros .intro { font-size: 19px; line-height: 1.55; max-width: none; opacity: .92; margin: 0; }
  .erros .grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; margin: 44px 0 40px; }
  .erros .card { border: 1px solid rgba(255,255,255,.18); border-radius: var(--radius-md); padding: 28px 26px; background: rgba(255,255,255,.05); }
  .erros .card .i { width: 34px; height: 34px; color: var(--efi-branco); margin-bottom: 18px; }
  .erros .card p { margin: 0; font-family: var(--efi-font-titulo); font-weight: 600; font-size: 18px; line-height: 1.4; }
  .erros .remate { font-family: var(--efi-font-titulo); font-weight: 600; font-size: clamp(18px, 1.8vw, 21px); line-height: 1.5; border-left: 3px solid var(--efi-bordo); padding-left: 20px; max-width: none; margin: 0; }
  @media (max-width: 880px) { br.desk { display: none; } }
  .erros .remate span { color: var(--efi-bordo-claro); }

  /* Dúvidas */
  .duvidas { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: 1fr 1fr; gap: 14px; counter-reset: d; }
  .duvidas li { display: flex; gap: 16px; align-items: flex-start; background: var(--efi-branco); border: 1px solid var(--efi-linha); border-radius: var(--radius-md); padding: 20px 22px; font-family: var(--efi-font-titulo); font-weight: 500; font-size: 16px; color: var(--efi-azul); line-height: 1.4; transition: border-color .2s, box-shadow .2s; }
  .duvidas li:hover { border-color: var(--efi-verde); box-shadow: 0 8px 22px rgba(31,42,68,.07); }
  .duvidas li::before { counter-increment: d; content: counter(d, decimal-leading-zero); flex: none; width: 34px; height: 34px; border-radius: 50%; background: var(--efi-verde-claro); color: var(--efi-verde); font-weight: 700; font-size: 12px; display: grid; place-items: center; margin-top: -4px; }
  .conclusao { margin-top: 40px; display: flex; gap: 28px 40px; align-items: center; justify-content: space-between; flex-wrap: wrap; background: var(--efi-verde); color: var(--efi-branco); border-radius: var(--radius-md); padding: 32px 36px; }
  .conclusao p { margin: 0; flex: 1 1 360px; font-family: var(--efi-font-titulo); font-weight: 600; font-size: 20px; line-height: 1.4; }
  .conclusao .capsula { flex: none; }

  /* Rentabilidade: impostos por fase */
  .duas { display: grid; grid-template-columns: 1fr 1fr; gap: 56px; align-items: start; }
  .duas > * { min-width: 0; }
  .destaque { margin: 0; background: var(--efi-verde-claro); border-left: 4px solid var(--efi-verde); border-radius: 0 var(--radius-md) var(--radius-md) 0; padding: 24px 28px; font-family: var(--efi-font-titulo); font-weight: 600; font-size: 19px; line-height: 1.45; color: var(--efi-azul); }
  .fases { margin-top: 56px; }
  .fases .legenda { font-family: var(--efi-font-titulo); font-weight: 600; font-size: 13px; letter-spacing: .18em; text-transform: uppercase; color: var(--efi-tinta-suave); margin-bottom: 18px; }
  .fases ol { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(6, 1fr); gap: 12px; }
  .fases li { background: var(--efi-branco); border: 1px solid var(--efi-linha); border-top: 4px solid var(--efi-verde); border-radius: var(--radius-sm); padding: 18px 16px 16px; }
  .fases li:first-child { border-top-color: var(--efi-azul); }
  .fases li:last-child { border-top-color: var(--efi-bordo); }
  .fases b { display: block; font-family: var(--efi-font-titulo); font-weight: 700; font-size: 13px; letter-spacing: .14em; color: var(--efi-azul); margin-bottom: 10px; }
  .fases span { display: block; font-size: 15px; line-height: 1.35; color: var(--efi-tinta); padding: 6px 0; border-top: 1px dashed var(--efi-linha); }

  /* Programa */
  .modulos { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; align-items: start; }
  .modulos details { background: var(--efi-branco); border: 1px solid var(--efi-linha); border-radius: var(--radius-md); transition: border-color .2s, box-shadow .2s; }
  .modulos details[open], .modulos details:hover { border-color: var(--efi-verde); box-shadow: 0 8px 22px rgba(31,42,68,.07); }
  .modulos summary { list-style: none; cursor: pointer; display: grid; grid-template-columns: 52px 1fr 26px; gap: 16px; align-items: start; padding: 22px; }
  .modulos summary::-webkit-details-marker { display: none; }
  .modulos .num { font-family: var(--efi-font-titulo); font-weight: 700; font-size: 30px; line-height: 1; color: var(--efi-verde); }
  .modulos .tit { min-width: 0; }
  .modulos .tit h3 { font-size: 17px; margin: 0 0 6px; line-height: 1.3; }
  .modulos .tit span { display: block; color: var(--efi-tinta-suave); font-size: 15.5px; line-height: 1.45; }
  .mais { width: 26px; height: 26px; border-radius: 50%; border: 1.5px solid var(--efi-verde); position: relative; flex: none; }
  .mais::before, .mais::after { content: ""; position: absolute; left: 50%; top: 50%; width: 11px; height: 1.5px; background: var(--efi-verde); transform: translate(-50%,-50%); transition: transform .2s; }
  .mais::after { transform: translate(-50%,-50%) rotate(90deg); }
  details[open] > summary .mais::after { transform: translate(-50%,-50%) rotate(0deg); }
  .modulos .corpo { padding: 0 22px 22px 90px; font-size: 16px; }
  .modulos .corpo p:last-child { margin-bottom: 0; }
  .modulos details.final { grid-column: 1 / -1; }
  .link-simples { background: none; border: 0; padding: 8px 0; font-family: var(--efi-font-titulo); font-weight: 600; font-size: 14px; color: var(--efi-azul); text-decoration: underline; text-underline-offset: 4px; cursor: pointer; min-height: 44px; margin-top: 12px; }

  .programa-escuro { background: var(--efi-verde); }
  .programa-escuro h2 { color: var(--efi-branco); }
  .programa-escuro .etq { color: var(--efi-verde-claro); }
  .programa-escuro .efi-filete { background: var(--efi-branco); opacity: .55; }
  .programa-escuro .sub-cab { color: var(--efi-verde-claro); }
  .programa-escuro .link-simples { color: var(--efi-branco); }
  .programa-escuro .modulos details { border-color: transparent; }
  .programa-escuro .capsula, .capsula--contorno { box-shadow: 0 0 0 2px rgba(255,255,255,.85), 0 12px 28px rgba(0,0,0,.22); }

  /* Resultados */
  .resultados { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
  .resultados .r { border: 1px solid var(--efi-linha); border-radius: var(--radius-md); padding: 28px 26px; background: var(--efi-branco); }
  .resultados .circ { width: 52px; height: 52px; border-radius: 50%; background: var(--efi-verde); color: var(--efi-branco); display: grid; place-items: center; margin-bottom: 18px; }
  .resultados .circ .i { width: 24px; height: 24px; }
  .resultados p { margin: 0; font-size: 17px; line-height: 1.45; }


  /* Para quem */
  .quem-grid { display: grid; grid-template-columns: 1.15fr 0.85fr; gap: 24px; align-items: stretch; }
  .quem-grid > * { min-width: 0; }
  .lista-card { background: var(--efi-branco); border-radius: var(--radius-md); padding: 34px; border: 1px solid var(--efi-linha); }
  .lista-card h3 { font-size: 21px; margin-bottom: 22px; }
  .lista-card ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 14px; }
  .lista-card li { display: flex; gap: 12px; align-items: flex-start; line-height: 1.45; }
  .lista-card li .i { width: 22px; height: 22px; margin-top: 1px; color: var(--efi-verde); }
  .lista-card--nao { background: transparent; border: 1px dashed var(--efi-tinta-suave); }
  .lista-card--nao li .i { color: var(--efi-bordo); }

  .paraquem-escuro { background: var(--efi-azul); }
  .paraquem-escuro h2 { color: var(--efi-branco); }
  .paraquem-escuro .efi-filete { background: var(--efi-branco); opacity: .55; }
  .paraquem-escuro .lista-card--nao { background: var(--efi-azul-claro); border: 1px dashed var(--efi-tinta-suave); }

  /* Incluído e investir */
  .incluido { display: grid; grid-template-columns: 1.15fr 0.85fr; gap: 24px; align-items: stretch; }
  .incluido > * { min-width: 0; }
  .incluido .efi-card { padding: 34px; }
  .cab-card { display: flex; gap: 14px; align-items: center; margin-bottom: 16px; }
  .cab-card .circ { width: 48px; height: 48px; border-radius: 50%; background: var(--efi-verde); color: var(--efi-branco); display: grid; place-items: center; flex: none; }
  .cab-card .circ .i { width: 24px; height: 24px; }
  .cab-card h3 { margin: 0; font-size: 21px; }
  .lista-v { list-style: none; margin: 20px 0 0; padding: 0; display: grid; grid-template-columns: 1fr 1fr; gap: 10px 20px; }
  .lista-v li { display: flex; gap: 10px; align-items: flex-start; line-height: 1.4; font-size: 16px; }
  .lista-v .i { color: var(--efi-verde); width: 20px; height: 20px; margin-top: 1px; }
  .nota-lanc { display: flex; gap: 12px; align-items: flex-start; background: var(--efi-verde-claro); border-left: 3px solid var(--efi-verde); border-radius: 0 var(--radius-sm) var(--radius-sm) 0; padding: 12px 16px; margin: 4px 0 6px; font-size: 16px; line-height: 1.45; }
  .nota-lanc .i { width: 22px; height: 22px; color: var(--efi-verde); margin-top: 1px; }
  .nota-lanc strong { color: var(--efi-azul); }
  .sub-cab { margin: 0; font-size: 17px; color: var(--efi-tinta-suave); }
  .card-sessoes { background: var(--efi-verde-claro); border-color: transparent; box-shadow: none; }
  .card-sessoes .grande { font-family: var(--efi-font-titulo); font-weight: 700; font-size: 56px; color: var(--efi-verde); line-height: 1; margin: 14px 0 6px; }
  .card-sessoes h3 { font-size: 20px; }
  .pequeno { font-size: 15px; color: var(--efi-tinta-suave); }
  #incluido { padding-bottom: 32px; }
  .investir { padding-top: 32px; }
  .investir .grid { display: grid; grid-template-columns: 1.05fr 0.95fr; gap: 24px; align-items: stretch; }
  .investir .grid > * { min-width: 0; }
  .preco { background: var(--efi-branco); border: 2px solid var(--efi-verde); border-radius: var(--radius-md); overflow: hidden; box-shadow: 0 18px 40px rgba(31,42,68,.10); }
  .preco .topo { background: var(--efi-verde); color: var(--efi-branco); padding: 16px 36px; font-family: var(--efi-font-titulo); font-weight: 600; font-size: 13px; letter-spacing: .2em; text-transform: uppercase; }
  .preco .corpo { padding: 30px 36px 36px; }
  .preco .valor { font-family: var(--efi-font-titulo); font-weight: 700; font-size: clamp(60px, 7vw, 80px); line-height: 1; color: var(--efi-azul); margin: 0 0 10px; letter-spacing: -0.02em; }
  .preco .alt { font-family: var(--efi-font-titulo); font-weight: 500; font-size: 18px; color: var(--efi-azul); margin: 0 0 6px; }
  .preco .capsula { width: 100%; margin-top: 26px; }
  .garantia { background: var(--efi-azul-claro); border-radius: var(--radius-md); padding: 36px; display: flex; flex-direction: column; justify-content: center; }
  .garantia .badge { width: 92px; height: 92px; border-radius: 50%; border: 2px solid var(--efi-azul); display: grid; place-items: center; text-align: center; margin-bottom: 20px; background: var(--efi-branco); }
  .garantia .badge b { display: block; font-family: var(--efi-font-titulo); font-weight: 700; font-size: 32px; line-height: 1; color: var(--efi-azul); }
  .garantia .badge small { display: block; font-family: var(--efi-font-titulo); font-weight: 600; font-size: 11px; letter-spacing: .14em; text-transform: uppercase; color: var(--efi-azul); }
  .garantia h3 { margin: 0 0 4px; font-size: 22px; }
  .garantia .sub { font-family: var(--efi-font-titulo); font-weight: 600; color: var(--efi-verde); margin: 0 0 16px; font-size: 15px; }

  /* Formadora */
  .sobre .grid { display: grid; grid-template-columns: 0.8fr 1.2fr; gap: 72px; align-items: center; }
  .sobre .grid > * { min-width: 0; }
  .sobre .retrato { position: relative; max-width: 400px; }
  .sobre .retrato::before { content: ""; position: absolute; left: -20px; top: -20px; width: 60%; height: 55%; background: var(--efi-verde); border-radius: var(--radius-md); }
  .sobre .retrato img { position: relative; width: 100%; aspect-ratio: 4 / 5; object-fit: cover; object-position: 50% 12%; display: block; border-radius: var(--radius-md); }
  .sobre .cargo { font-family: var(--efi-font-titulo); font-weight: 600; color: var(--efi-verde); margin: 4px 0 24px; font-size: 17px; line-height: 1.45; }
  .sobre .texto p { max-width: 62ch; }
  .chips { list-style: none; margin: 26px 0 0; padding: 0; display: flex; flex-wrap: wrap; gap: 8px; }
  .chips li { background: var(--efi-branco); border: 1px solid var(--efi-linha); border-radius: 999px; padding: 7px 14px; font-family: var(--efi-font-titulo); font-weight: 500; font-size: 13.5px; color: var(--efi-azul); }

  .livro { display: flex; gap: 22px; align-items: center; margin-top: 28px; background: var(--efi-branco); border: 1px solid var(--efi-linha); border-radius: var(--radius-md); padding: 20px 24px; max-width: 480px; }
  .livro img { width: 118px; flex: none; border-radius: 2px 4px 4px 2px; box-shadow: 0 12px 26px rgba(31,42,68,.22), inset 0 0 0 1px rgba(0,0,0,.04); }
  .livro .efi-etiqueta { color: var(--efi-verde); font-size: 12px; }
  .livro .t { font-family: var(--efi-font-titulo); font-weight: 700; font-size: 20px; color: var(--efi-azul); margin: 6px 0 4px; line-height: 1.2; }
  .livro .s { margin: 0; font-size: 15px; color: var(--efi-tinta-suave); }


  .sobre-escura { background: var(--efi-verde); color: var(--efi-branco); }
  .sobre-escura h2 { color: var(--efi-branco); }
  .sobre-escura .etq, .sobre-escura .cargo { color: var(--efi-verde-claro); }
  .sobre-escura .texto p { color: var(--efi-branco); opacity: .92; }
  .sobre-escura .chips li { display: inline-flex; align-items: center; gap: 8px; background: var(--efi-branco); border-color: var(--efi-branco); color: var(--efi-azul); font-weight: 600; font-size: 14px; padding: 9px 16px; box-shadow: 0 6px 16px rgba(0,0,0,.15); }
  .sobre-escura .chips li .i { width: 18px; height: 18px; color: var(--efi-verde); }
  .sobre-escura .chips { gap: 10px; }
  .sobre-escura .retrato::before { background: var(--efi-azul); }

  /* FAQ */
  .faq-grid { display: grid; grid-template-columns: 0.75fr 1.25fr; gap: 64px; align-items: start; }
  .faq-grid > * { min-width: 0; }
  .faq { border-top: 1px solid var(--efi-linha); }
  .faq details { border-bottom: 1px solid var(--efi-linha); }
  .faq-grupo { font-family: var(--efi-font-titulo); font-weight: 600; font-size: 13px; letter-spacing: .2em; text-transform: uppercase; color: var(--efi-verde); margin: 32px 0 4px; }
  .faq .faq-grupo:first-child { margin-top: 18px; }
  .faq .resp a { color: var(--efi-verde); font-weight: 600; }
  .faq summary { list-style: none; cursor: pointer; display: flex; justify-content: space-between; gap: 20px; align-items: center; padding: 22px 0; font-family: var(--efi-font-titulo); font-weight: 600; font-size: 17px; color: var(--efi-azul); line-height: 1.35; }
  .faq summary::-webkit-details-marker { display: none; }
  .faq .resp { padding: 0 0 22px; max-width: 68ch; }
  .faq .resp p:last-child { margin-bottom: 0; }
  .faq .resp p.curta { font-weight: 600; color: var(--efi-verde); }

  /* Fecho */
  .fecho { background: var(--efi-verde); color: var(--efi-branco); }
  .fecho .wrap { display: grid; grid-template-columns: 1fr auto; gap: 28px 48px; align-items: center; }
  .fecho .wrap > * { min-width: 0; }
  .fecho h2 { color: var(--efi-branco); }
  @media (min-width: 1100px) { .fecho h2 { font-size: 32px; } }
  .fecho .titulo { grid-column: 1 / -1; margin-bottom: -28px; }
  .fecho .efi-filete { background: var(--efi-branco); opacity: .55; }
  .fecho .linhas p { margin: 0 0 12px; font-size: 18px; line-height: 1.5; }
  .fecho .final { font-family: var(--efi-font-titulo); font-weight: 600; font-size: 20px; margin: 28px 0 32px; }
  .fecho .lado { display: flex; justify-content: center; }
  .fecho .lado img { width: 180px; }
  @media (max-width: 880px) { .fecho .lado { justify-content: flex-start; order: -1; } .fecho .lado img { width: 130px; } .fecho .titulo { margin-bottom: -20px; } }
  @media (min-width: 881px) { .fecho .capsula { white-space: nowrap; padding-inline: 30px; } }

  /* Rodapé */
  footer { background: var(--efi-azul); color: var(--efi-branco); padding-block: 56px 36px; }
  footer .topo { display: flex; justify-content: space-between; gap: 32px; flex-wrap: wrap; align-items: flex-start; padding-bottom: 32px; border-bottom: 1px solid rgba(255,255,255,.18); }
  footer .marcas { display: flex; gap: 32px; align-items: center; flex-wrap: wrap; }
  footer .marcas img { display: block; }
  footer .frase { font-family: var(--efi-font-titulo); font-weight: 500; font-size: 15px; line-height: 1.5; margin: 0; opacity: .92; }
  footer .frase span { white-space: nowrap; }
  footer .base { display: flex; justify-content: space-between; gap: 20px; flex-wrap: wrap; padding-top: 24px; font-size: 14px; }
  footer .base p { margin: 0; opacity: .82; }
  footer .legal { display: flex; gap: 20px; flex-wrap: wrap; }
  footer .legal a { color: var(--efi-branco); opacity: .9; }
  footer .efi-pontos { margin-top: 18px; }
  footer .efi-pontos i:nth-child(2) { background: var(--efi-branco); }

  /* Barra fixa no telemóvel */
  .barra-movel { display: none; }

  /* Responsivo */
  @media (max-width: 1040px) {
    .fases ol { grid-template-columns: repeat(3, 1fr); }
    .pilares .wrap { grid-template-columns: repeat(2, 1fr); }
    .pilares .item:nth-child(3) { border-left: 0; }
    .pilares .item:nth-child(n+3) { border-top: 1px solid var(--efi-linha); }
  }
  @media (max-width: 880px) {
    .wrap { padding-inline: 20px; }
    .secao { padding-block: 64px; }
    header nav, header .capsula { display: none; }
    header.aberto nav { display: flex; flex-direction: column; gap: 0; position: absolute; left: 0; right: 0; top: 70px; background: var(--efi-branco); border-bottom: 1px solid var(--efi-linha); padding: 8px 20px 20px; }
    header.aberto nav a { padding: 12px 0; font-size: 16px; }
    .menu { display: block; }
    header .wrap { height: 70px; }
    .hero::before { width: 100%; top: auto; height: 34%; }
    .hero .wrap { grid-template-columns: 1fr; gap: 56px; padding-block: 20px 64px; }
    .visual { margin: 0 auto; max-width: 400px; }
    .visual .selo { width: 92px; height: 92px; top: -18px; right: -8px; }
    .visual .frase { left: -6px; }
    .visual::before { right: -10px; bottom: -14px; }
    .visual::after { display: none; }
    .erros .grid, .resultados { grid-template-columns: 1fr; }
    .duvidas, .modulos, .duas, .quem-grid, .incluido, .investir .grid, .sobre .grid, .faq-grid, .fecho .wrap { grid-template-columns: 1fr; gap: 24px; }
    .sobre .grid { gap: 48px; }
    .sobre .retrato { max-width: 340px; margin-left: 20px; }
    .faq-grid { gap: 8px; }
    .lista-v { grid-template-columns: 1fr; }
    .modulos .corpo { padding: 0 22px 22px; }
    .conclusao { padding: 28px 24px; }
    .barra-movel { display: flex; position: fixed; left: 0; right: 0; bottom: 0; z-index: 40; gap: 14px; align-items: center; justify-content: space-between; background: var(--efi-branco); border-top: 1px solid var(--efi-linha); box-shadow: 0 -8px 24px rgba(31,42,68,.10); padding: 10px 16px calc(10px + env(safe-area-inset-bottom, 0px)); transform: translateY(110%); transition: transform .25s; }
    .barra-movel.visivel { transform: none; }
    .barra-movel .p { font-family: var(--efi-font-titulo); line-height: 1.2; color: var(--efi-azul); }
    .barra-movel .p b { display: block; font-size: 20px; }
    .barra-movel .p small { font-size: 12px; color: var(--efi-tinta-suave); white-space: nowrap; }
    .barra-movel .capsula { font-size: 15px; padding: 12px 20px; white-space: nowrap; }
    footer { padding-bottom: 110px; }
  }
  @media (max-width: 560px) {
    .fases ol { grid-template-columns: 1fr 1fr; }
    .pilares .item { padding: 18px 10px; gap: 10px; font-size: 13px; }
    .pilares b { font-size: 18px; }
    .pilares .i { width: 26px; height: 26px; }
    .hero .capsula, .cta-linha .capsula, .conclusao .capsula, .fecho .capsula { width: 100%; }
    .preco .corpo, .preco .topo, .garantia, .incluido .efi-card, .lista-card { padding-inline: 22px; }
    .capsula--grande { padding: 16px 24px; }
  }
