// Production site entry — responsive, no device frame / stage / tweaks chrome. // Switches between mobile and desktop layouts based on viewport width. const Landing = ({ device }) => { const formRef = React.useRef(null); const scrollToForm = () => { if (formRef.current) { const top = formRef.current.getBoundingClientRect().top; window.scrollTo({ top: window.scrollY + top - 16, behavior: 'smooth' }); } }; return (
Marcar avaliação

Comece aqui.

Preencha o formulário e a nossa coordenadora liga-lhe em menos de 24h.

); }; const useResponsiveDevice = () => { const getDevice = () => (window.innerWidth >= 900 ? 'desktop' : 'iphone'); const [device, setDevice] = React.useState(getDevice); React.useEffect(() => { let raf = null; const onResize = () => { if (raf) cancelAnimationFrame(raf); raf = requestAnimationFrame(() => setDevice(getDevice())); }; window.addEventListener('resize', onResize); return () => window.removeEventListener('resize', onResize); }, []); return device; }; const SiteApp = () => { const device = useResponsiveDevice(); return ; }; document.body.style.margin = '0'; document.body.style.background = 'var(--bg)'; ReactDOM.createRoot(document.getElementById('root')).render();