A home é dona do container de scroll interno (h-dvh overflow-y-auto, body overflow-hidden), então a navegação nativa por fragmento não aterrissa no alvo; no mobile o reflow do h-dvh + imagens eager do hero deslocam o layout após o scroll inicial. Novo componente cliente CampaignHashScroll (renderiza null) montado no layout da home: retenta o hash inicial até a seção entrar no viewport (parando na primeira interação do usuário) e ouve hashchange para âncoras in-page. scrollIntoView sem behavior herda scroll-smooth/motion-reduce. E2E novos: describe mobile (load direto, CTA, reduced-motion) + load direto desktop em describe próprio (evita corrida no beforeAll de consent). |
||
|---|---|---|
| .. | ||
| e2e | ||
| fixtures | ||
| helpers | ||
| int | ||
| unit | ||