Notícias Cebraspe

Cebraspe Notícias

Últimos dias para se inscrever nas seleções da Univesp para Docente e Supervisor Pedagógico

A Universidade Virtual do Estado de São Paulo (Univesp) está com duas seleções para 17 vagas na área de Docentes e 54 vagas voltadas ao cargo de Supervisor Pedagógico. As inscrições podem ser feitas até o dia 10 de abril. O valor da taxa de inscrição é de R$ 218,34 para Docente e de R$ 175,00 para Supervisor Pedagógico. Já as provas para ambos os cargos estão previstas para 3 de maio. A remuneração inicial é de R$ 12.746,05 para Docente e R$ 7.000,00 no cargo de Supervisor. As vagas de Docentes são nas áreas de Administração, Computação, Educação com foco em Educação Especial ou Inclusiva, Educação Matemática, Engenharia de Computação, Engenharia de Produção, Letras, Linguística e áreas de Língua Portuguesa e Inglesa, Matemática e Pedagogia. Já o cargo de Supervisor Pedagógico oferece as especialidades de Administração e áreas afins, Computação e áreas afins, Educação com foco em Educação Especial ou Inclusiva, Educação Matemática e áreas afins, Engenharia de Computação e áreas afins, Engenharia de Produção e áreas afins, Letras, Linguística e áreas de Língua Inglesa, Letras, Linguística e áreas de Língua Portuguesa, Matemática e áreas afins, Pedagogia e área de atuação Geral

Saiba mais detalhes sobre o concurso para Docente.

Veja mais informações da seleção para Supervisor Pedagógico.

Barinsul está com inscrições abertas em seleção com 100 vagas para Técnico em Tecnologia da Informação II

O Banco do Estado do Rio Grande do Sul (Banrisul) divulgou edital de concurso público para o provimento de 100 vagas no cargo de Técnico em Tecnologia da Informação II. Os interessados podem confirmar a participação na seleção até 22 de abril e o valor da taxa é de R$ 132,00. O ordenado inicial do cargo de Técnico em Tecnologia da Informação II é de R$ 5.012,25, e os candidatos contratados estarão subordinados à Consolidação das Leis do Trabalho (CLT). As oportunidades disponíveis são nas áreas de Administração de Banco de Dados; Desenvolvimento de Software; Tecnologia: Segurança, Infra e Operação; e Transformação Digital e Gestão de TI. As provas objetivas e a prova discursiva estão previstas para 15 de junho. Todas as fases do certame serão realizadas na cidade de Porto Alegre/RS.

Confira os requisitos do cargo no endereço eletrônico da prova.

PMDF abre concurso público para Quadro de Oficiais Policiais Militares com 49 vagas imediatas e 98 do cadastro de reserva

A Polícia Militar do Distrito Federal (PMDF) iniciou certame para a admissão ao Curso de Formação de Oficiais (CFOPM) do Quadro de Oficiais Policiais Militares (QOPM) da instituição. São 49 vagas para provimento imediato e 98 para cadastro de reserva. As inscrições vão até o dia 23 de abril e o valor da taxa de inscrição é de R$ 163,00. A remuneração prevista é de R$ 8.007,76 para Cadete do 1º ano, R$ 14.451,93 para Aspirante a Oficial PM após a formação, e de R$ 17.034,85 para 2º Tenente. Para concorrer ao cargo é necessário ter diploma de curso de nível superior de graduação em qualquer área, fornecido por instituição de ensino superior reconhecida pelo Ministério da Educação (MEC). Além disso, os participantes devem ter, no mínimo, 18 anos e, no máximo, 30 até o último dia das inscrições, com exceção aos policiais militares da Corporação ainda na ativa. A aplicação das provas objetivas e da prova discursiva está prevista para 1º de junho.

Acesse o edital completo no site oficial do concurso.

Agenda

Concurso do Instituto Brasileiro do Meio Ambiente e dos Recursos Naturais Renováveis (Ibama)

08/04 a 10/04 – Consulta  individual aos gabaritos oficiais preliminares das provas objetivas.

Mais informações no site da seleção.

Concurso da Companhia de Saneamento Ambiental do Distrito Federal (Caesb)

11/04 – Data final para o pagamento da taxa de inscrição.

Mais informações no site da seleção.

Compartilhe esta notícia

Foto de Germana Gabriella

Germana Gabriella

if(document.querySelector(".xpbox-shared-header")){ // Site-wide shared native shell; published links never target draft page URLs. (() => { const init=()=>{ const header=document.querySelector('.xpbox-shared-header'); if(!header)return; const main=document.querySelector('#conteudo')||document.querySelector('main')||document.querySelector('#content'); if(main){if(!main.id)main.id='xpbox-main-content';header.querySelectorAll('.skip-link a,a.skip-link').forEach(link=>link.setAttribute('href','#'+main.id));} const base='https://cebraspe.xpbox.com.br/'; const normalize=path=>path.replace(//+$/,'')||'/'; const draftHome=document.body.classList.contains('page-id-26754'); const draftHiring=document.body.classList.contains('page-id-26763'); const currentPath=draftHome?'/':draftHiring?'/contrate-o-cebraspe-xpbox':normalize(window.location.pathname); document.querySelectorAll('.xpbox-shell a[href]').forEach(link=>{ const url=new URL(link.getAttribute('href'),window.location.href); if(url.origin!==new URL(base).origin)return; if(normalize(url.pathname)==='/pagina-inicial-xpbox')url.pathname='/'; if(normalize(url.pathname)==='/como-contratar')url.pathname='/contrate-o-cebraspe-xpbox/'; if(link.getAttribute('href')==='#solicitar-proposta')url.pathname='/contrate-o-cebraspe-xpbox/'; link.setAttribute('href',url.href); }); header.querySelectorAll('#primary-menu a.nav-link').forEach(link=>{ const url=new URL(link.href,base); link.removeAttribute('aria-current'); if(url.origin===new URL(base).origin&&normalize(url.pathname)===currentPath)link.setAttribute('aria-current','page'); }); header.querySelectorAll('.language-nav a[lang="pt-BR"],.header-language-nav a[lang="pt-BR"]').forEach(link=>{ link.href=draftHome||draftHiring?window.location.href:base+window.location.pathname.replace(/^//,''); link.setAttribute('aria-current','page'); }); header.querySelectorAll('.utility-accessibility,.header-accessibility').forEach(widget=>{ const link=widget.matches('a')?widget:widget.querySelector('a'); if(link)link.setAttribute('href',draftHiring?'#acessibilidade-da-pagina':base+'avaliacoes/acessibilidade/'); }); const location=header.closest('.elementor-location-header'),utility=header.querySelector('.utility-bar'); if(location&&utility&&!location.dataset.xpboxUtilityMeasured){ location.dataset.xpboxUtilityMeasured='true'; const measure=()=>location.style.setProperty('--xpbox-utility-height',utility.offsetHeight+'px'); measure();if(window.ResizeObserver)new ResizeObserver(measure).observe(utility);else window.addEventListener('resize',measure,{passive:true}); } }; if(document.readyState==='loading')document.addEventListener('DOMContentLoaded',init);else init(); })(); /* Behavior only. Content is rendered by native Elementor widgets. */ (() => { const init = () => { const page=document.querySelector('.xpbox-page'); document.querySelectorAll(':is(.xpbox-page,.xpbox-shell) :is(.menu-toggle,.nav-disclosure,[data-text-scale],[data-contrast-toggle],.carousel-button,[data-submit-button])').forEach(widget=>{ const button=widget.querySelector('.elementor-button'); if(!button||button.dataset.xpboxMirrored)return; button.dataset.xpboxMirrored='true'; button.addEventListener('click',e=>e.preventDefault()); button.setAttribute('role','button'); button.addEventListener('keydown',e=>{if(e.key===' '){e.preventDefault();button.click();}}); const mirror=()=>['aria-expanded','aria-pressed','aria-label','aria-disabled'].forEach(name=>{ if(widget.hasAttribute(name))button.setAttribute(name,widget.getAttribute(name)); }); mirror();new MutationObserver(mirror).observe(widget,{attributes:true,attributeFilter:['aria-expanded','aria-pressed','aria-label','aria-disabled']}); }); if(!page||page.dataset.xpboxReady)return; page.dataset.xpboxReady='true'; const form=page.querySelector('.xpbox-request-form'); if(!form)return; const profile=form.querySelector('.xpbox-profile-form form'); const fields=form.querySelector('.institution-fields'); const status=form.querySelector('#route-status'); const response=form.querySelector('#response-panel'); const errorSummary=form.querySelector('#error-summary'); const errorList=errorSummary.querySelector('.xpbox-tag-ul'); const live=form.querySelector('[data-form-live]'); const submit=form.querySelector('[data-submit-button]'); const submitAnchor=submit.querySelector('a'); const submitLabel=submit.querySelector('[data-submit-label]'); fields.hidden=true; form.querySelectorAll('.xpbox-field-form').forEach(widget=>{ const input=widget.querySelector('input:not([type=hidden]),select,textarea'); if(!input)return; const label=widget.parentElement.querySelector('.xpbox-tag-label'); if(label){label.id='xpbox-label-'+input.id;input.setAttribute('aria-labelledby',label.id);} for(const [key,value] of Object.entries(widget.dataset)){ if(!key.startsWith('input'))continue; const attr=key.slice(5).replace(/[A-Z]/g,c=>'-'+c.toLowerCase()).replace(/^-/,''); input.setAttribute(attr,value); } }); const setStatus=(target,text,href,label)=>{ target.replaceChildren(document.createTextNode(text)); if(href){const a=document.createElement('a');a.href=href;a.textContent=label;target.append(a);} target.hidden=false;target.setAttribute('role','status');target.tabIndex=-1;target.focus(); }; // No Elementor AJAX, email or file upload in the demonstration. form.addEventListener('submit',event=>{ event.preventDefault();event.stopImmediatePropagation(); if(event.target!==profile)return; const selected=profile.querySelector('input:checked')?.value; if(!selected){form.querySelector('#profile-error').textContent='Selecione um perfil antes de continuar.';return;} form.querySelector('#profile-error').textContent=''; form.classList.toggle('is-institution',selected==='instituicao'); fields.hidden=selected!=='instituicao'; if(selected==='instituicao'){ status.hidden=true; const heading=form.querySelector('#institution-form-title'); heading?.focus();heading?.scrollIntoView({behavior:'smooth',block:'center'}); }else if(selected==='candidato')setStatus(status,'Atendimento ao candidato. Consulte o ','/fale-conosco/','Fale com o Cebraspe ou a página da sua seleção.'); else if(selected==='aplicador')setStatus(status,'Atendimento ao aplicador. Acesse a área ','/colaborador/','Para o colaborador para orientações sobre atividades de campo.'); },true); let attempts=0,busy=false; const validate=()=>{ errorList.replaceChildren();errorSummary.hidden=true; form.querySelectorAll('.field-error').forEach(error=>error.textContent=''); const inputs=[...fields.querySelectorAll('.elementor-field:not([type=hidden])')]; const invalid=[]; for(const input of inputs){ input.setCustomValidity('');input.removeAttribute('aria-invalid'); if(input.id==='form-field-telefone'&&input.value&&!/^d{10,11}$/.test(input.value.replace(/D/g,'')))input.setCustomValidity('Informe DDD e número, com 10 ou 11 dígitos.'); if(input.id==='form-field-uf'&&input.value&&!/^[a-z]{2}$/i.test(input.value))input.setCustomValidity('Use a sigla da unidade federativa com duas letras.'); if(input.id==='form-field-descricao'&&input.value&&input.value.trim().length{e.preventDefault();input.focus();});item.append(link);errorList.append(item);invalid.push(input); } } if(invalid.length){errorSummary.hidden=false;errorSummary.focus();return false;} return true; }; const simulate=()=>{ if(busy||!validate())return; busy=true;response.hidden=true;form.setAttribute('aria-busy','true'); submitAnchor.setAttribute('aria-disabled','true');submitLabel.textContent='Enviando demonstração...'; live.textContent='Enviando demonstração. Nenhum dado será transmitido.'; attempts++; window.setTimeout(()=>{ const failed=attempts===1; response.classList.toggle('is-error',failed); response.querySelector('.xpbox-response-failure').hidden=!failed; response.querySelector('.xpbox-response-success').hidden=failed; response.querySelectorAll('[data-response-value]').forEach(widget=>{ const target=widget.querySelector('p')||widget.querySelector('.elementor-widget-container'); target.textContent=form.querySelector('#form-field-'+widget.dataset.responseValue)?.value||''; }); const email=form.querySelector('#form-field-email')?.value||''; const note=response.querySelector('[data-email-expectation]'); (note.querySelector('p')||note.querySelector('.elementor-widget-container')).textContent=`Na produção, uma confirmação automática com protocolo, resumo e prazo seria enviada para ${email}. Este protótipo não enviou e-mail.`; response.hidden=false;response.focus();busy=false;form.removeAttribute('aria-busy'); submitAnchor.setAttribute('aria-disabled','false');submitLabel.textContent='Solicitar proposta'; live.textContent=failed?'Falha demonstrativa. As informações foram preservadas e a solicitação pode ser tentada novamente.':'Simulação concluída. Protocolo fictício e resumo disponíveis.'; },800); }; submit.addEventListener('click',event=>{event.preventDefault();simulate();}); form.querySelector('[data-prototype-retry]')?.addEventListener('click',event=>{event.preventDefault();simulate();}); fields.addEventListener('input',event=>{ if(!event.target.matches('input,select,textarea'))return; event.target.setCustomValidity('');event.target.removeAttribute('aria-invalid'); const error=form.querySelector('#'+event.target.id.replace('form-field-','')+'-error');if(error)error.textContent=''; response.hidden=true;live.textContent=''; }); }; if(document.readyState==='loading')document.addEventListener('DOMContentLoaded',init);else init(); })(); (() => { /* XPBOX editor-safe global search 20260916: editor canvas must remain editable. */ const isElementorEditor = document.body.classList.contains('elementor-editor-active') || Boolean(window.elementor?.isEditMode?.()); if (isElementorEditor) { const overlay = document.querySelector('.xpbox-shared-header #global-search'); if (overlay) { overlay.hidden = true; overlay.setAttribute('aria-hidden', 'true'); overlay.style.display = 'none'; } return; } const header = document.querySelector('.xpbox-shared-header .site-header'); const menuToggle = header?.querySelector('.menu-toggle'); const primaryMenu = header?.querySelector('#primary-menu'); if (!header || !menuToggle || !primaryMenu || header.dataset.globalHeaderReady === 'true') return; header.dataset.globalHeaderReady = 'true'; const megaItems = Array.from(primaryMenu.querySelectorAll('.nav-item')).filter((item) => item.querySelector('.submenu-panel')); const desktopMegaCapable = window.matchMedia('(min-width: 1280px) and (hover: hover) and (pointer: fine)'); const searchToggle = header.querySelector('.global-search-toggle'); const searchOverlay = document.querySelector('.xpbox-shared-header #global-search'); const searchClose = searchOverlay?.querySelector('.search-close'); const searchInput = searchOverlay?.querySelector('.elementor-search-form__input'); let closeMegaTimer; let pinnedMegaItem = null; let searchReturnFocus = null; document.querySelectorAll('.xpbox-shared-header [data-language-choice][aria-disabled="true"]').forEach((link) => { link.addEventListener('click', (event) => { event.preventDefault(); visualStatus.textContent = `${link.dataset.languageChoice}: tradução pendente de revisão humana e integração no WordPress.`; }); }); const textScaleButtons = Array.from(document.querySelectorAll('.xpbox-shared-header [data-text-scale]')); const contrastButtons = Array.from(document.querySelectorAll('.xpbox-shared-header [data-contrast-toggle]')); const visualStatus = document.createElement('span'); const allowedScales = [0.9, 1, 1.1]; let visualScale = 1; let highContrast = false; visualStatus.className = 'sr-only'; visualStatus.setAttribute('role', 'status'); visualStatus.setAttribute('aria-live', 'polite'); header.appendChild(visualStatus); try { const storedScale = Number(window.sessionStorage.getItem('cebraspe-text-scale')); if (allowedScales.includes(storedScale)) visualScale = storedScale; highContrast = window.sessionStorage.getItem('cebraspe-high-contrast') === 'true'; } catch { visualScale = 1; highContrast = false; } const syncVisualPreferences = (announcement = '') => { document.body.style.zoom = visualScale === 1 ? '' : String(visualScale); document.documentElement.toggleAttribute('data-high-contrast', highContrast); if (highContrast) document.documentElement.setAttribute('data-high-contrast', 'true'); textScaleButtons.forEach((button) => { const direction = button.dataset.textScale; button.disabled = direction === 'increase' ? visualScale === 1.1 : visualScale === 0.9; }); contrastButtons.forEach((button) => button.setAttribute('aria-pressed', String(highContrast))); if (announcement) visualStatus.textContent = announcement; }; textScaleButtons.forEach((button) => { button.addEventListener('click', () => { const currentIndex = allowedScales.indexOf(visualScale); const offset = button.dataset.textScale === 'increase' ? 1 : -1; visualScale = allowedScales[Math.max(0, Math.min(allowedScales.length - 1, currentIndex + offset))]; try { window.sessionStorage.setItem('cebraspe-text-scale', String(visualScale)); } catch {} syncVisualPreferences(`Tamanho do texto ajustado para ${Math.round(visualScale * 100)}%.`); }); }); contrastButtons.forEach((button) => { button.addEventListener('click', () => { highContrast = !highContrast; try { window.sessionStorage.setItem('cebraspe-high-contrast', String(highContrast)); } catch {} syncVisualPreferences(highContrast ? 'Contraste elevado ativado.' : 'Contraste padrão restaurado.'); }); }); syncVisualPreferences(); const setMenuOpen = (isOpen) => { menuToggle.setAttribute('aria-expanded', String(isOpen)); menuToggle.setAttribute('aria-label', isOpen ? 'Fechar menu' : 'Abrir menu'); header.classList.toggle('is-menu-open', isOpen); }; const setMegaOpen = (item, isOpen) => { item.classList.toggle('is-mega-open', isOpen); const disclosure = item.querySelector('.nav-disclosure'); const sectionName = item.querySelector('.nav-link')?.textContent.trim() || 'seção'; disclosure?.setAttribute('aria-expanded', String(isOpen)); disclosure?.setAttribute('aria-label', `${isOpen ? 'Fechar' : 'Abrir'} submenu ${sectionName}`); }; const closeAllMega = (exceptItem = null) => { window.clearTimeout(closeMegaTimer); megaItems.forEach((item) => { if (item !== exceptItem) setMegaOpen(item, false); }); if (!exceptItem || pinnedMegaItem !== exceptItem) pinnedMegaItem = null; }; const openMega = (item, pin = false) => { window.clearTimeout(closeMegaTimer); closeAllMega(item); setMegaOpen(item, true); if (pin) pinnedMegaItem = item; }; const closeMegaWithDelay = (item) => { window.clearTimeout(closeMegaTimer); closeMegaTimer = window.setTimeout(() => { if (!pinnedMegaItem) setMegaOpen(item, false); }, 260); }; const openSearch = () => { if (!searchOverlay || !searchToggle) return; searchReturnFocus = document.activeElement instanceof HTMLElement ? document.activeElement : searchToggle; closeAllMega(); setMenuOpen(false); searchOverlay.hidden = false; searchToggle.setAttribute('aria-expanded', 'true'); searchToggle.setAttribute('aria-label', 'Fechar busca'); document.body.style.overflow = 'hidden'; window.setTimeout(() => searchInput?.focus(), 0); }; const closeSearch = (returnFocus = false) => { if (!searchOverlay || !searchToggle) return; searchOverlay.hidden = true; searchToggle.setAttribute('aria-expanded', 'false'); searchToggle.setAttribute('aria-label', 'Abrir busca'); document.body.style.overflow = ''; if (returnFocus) searchReturnFocus?.focus(); searchReturnFocus = null; }; menuToggle.addEventListener('click', () => { const isOpen = menuToggle.getAttribute('aria-expanded') === 'true'; setMenuOpen(!isOpen); if (isOpen) { closeAllMega(); } else { window.setTimeout(() => primaryMenu.querySelector('a[href], button')?.focus(), 0); } }); megaItems.forEach((item) => { const trigger = item.querySelector('.nav-disclosure'); if (!trigger) return; trigger.addEventListener('click', () => { const isOpen = item.classList.contains('is-mega-open'); const isPinned = pinnedMegaItem === item; if (isOpen && isPinned) { closeAllMega(); return; } openMega(item, true); }); item.addEventListener('mouseenter', () => { if (desktopMegaCapable.matches && !pinnedMegaItem) openMega(item); }); item.addEventListener('mouseleave', () => { if (desktopMegaCapable.matches && !pinnedMegaItem) closeMegaWithDelay(item); }); }); primaryMenu.addEventListener('click', (event) => { if (event.target instanceof Element && event.target.closest('a') && !event.target.closest('.nav-disclosure')) { setMenuOpen(false); closeAllMega(); } }); document.addEventListener('click', (event) => { if (event.target instanceof Node && !primaryMenu.contains(event.target)) closeAllMega(); }); searchClose?.addEventListener('click', () => closeSearch(true)); searchOverlay?.addEventListener('click', (event) => { if (event.target === searchOverlay) closeSearch(true); if (event.target instanceof Element && event.target.closest('a')) closeSearch(); }); document.addEventListener('keydown', (event) => { if (event.key === 'Tab' && searchOverlay && !searchOverlay.hidden) { const focusable = Array.from(searchOverlay.querySelectorAll('a[href], button:not([disabled]), input:not([disabled])')); const first = focusable[0]; const last = focusable[focusable.length - 1]; if (!first || !last) { event.preventDefault(); return; } if (event.shiftKey && document.activeElement === first) { event.preventDefault(); last.focus(); } else if (!event.shiftKey && document.activeElement === last) { event.preventDefault(); first.focus(); } return; } if (event.key !== 'Escape') return; if (searchOverlay && !searchOverlay.hidden) { closeSearch(true); return; } const menuWasOpen = menuToggle.getAttribute('aria-expanded') === 'true'; const openItem = megaItems.find((item) => item.classList.contains('is-mega-open')); closeAllMega(); setMenuOpen(false); if (menuWasOpen) menuToggle.querySelector('a')?.focus(); else if (openItem) openItem.querySelector('.nav-disclosure a')?.focus(); }); })(); (() => { const reducedMotion = window.matchMedia('(prefers-reduced-motion: reduce)'); const carousel = document.querySelector('.xpbox-page [data-carousel]'); if (carousel) { const track = carousel.querySelector('[data-carousel-track]'); const pages = Array.from(track.children); const previous = carousel.querySelector('[data-carousel-previous]'); const next = carousel.querySelector('[data-carousel-next]'); const toggle = carousel.querySelector('[data-carousel-toggle]'); const toggleLabel = carousel.querySelector('[data-carousel-toggle-label]') || document.createElement('span'); const controls = carousel.querySelector('.carousel-controls'); const position = carousel.querySelector('[data-carousel-position]'); const announcement = carousel.querySelector('[data-carousel-announcement]'); let current = 0; let timer = null; let explicitlyPaused = reducedMotion.matches; let pointerPaused = false; let focusPaused = false; let touchStartX = null; const desktopCarousel = window.matchMedia('(min-width: 641px)'); const itemsPerView = () => desktopCarousel.matches ? 5 : 1; const totalViews = () => Math.ceil(pages.length / itemsPerView()); const isPaused = () => explicitlyPaused || pointerPaused || focusPaused; const syncTimer = () => { window.clearInterval(timer); timer = null; if (!isPaused()) { timer = window.setInterval(() => showPage(current + 1, false), 9000); } toggle.dataset.state = explicitlyPaused ? 'paused' : 'playing'; toggleLabel.textContent = explicitlyPaused ? 'Reproduzir' : 'Pausar'; toggle.setAttribute('aria-label', explicitlyPaused ? 'Reproduzir carrossel' : 'Pausar carrossel'); }; const showPage = (nextIndex, manual) => { current = (nextIndex + totalViews()) % totalViews(); track.style.transform = `translateX(-${current * 100}%)`; pages.forEach((page, index) => { const firstVisible = current * itemsPerView(); const active = index >= firstVisible && index showPage(current - 1, true)); next.addEventListener('click', () => showPage(current + 1, true)); toggle.addEventListener('click', () => { explicitlyPaused = !explicitlyPaused; syncTimer(); announcement.textContent = explicitlyPaused ? 'Rotação automática pausada.' : 'Rotação automática reproduzindo.'; }); carousel.addEventListener('pointerenter', () => { pointerPaused = true; syncTimer(); }); carousel.addEventListener('pointerleave', () => { pointerPaused = false; syncTimer(); }); carousel.addEventListener('focusin', () => { focusPaused = true; syncTimer(); }); carousel.addEventListener('focusout', (event) => { if (event.relatedTarget instanceof Node && carousel.contains(event.relatedTarget)) return; focusPaused = false; syncTimer(); }); carousel.addEventListener('touchstart', (event) => { touchStartX = event.changedTouches[0]?.clientX ?? null; }, { passive: true }); carousel.addEventListener('touchend', (event) => { if (touchStartX === null) return; const distance = (event.changedTouches[0]?.clientX ?? touchStartX) - touchStartX; if (Math.abs(distance) > 48) showPage(current + (distance { if (reducedMotion.matches) explicitlyPaused = true; syncTimer(); }); desktopCarousel.addEventListener('change', () => { current = 0; showPage(0, false); syncTimer(); }); } })();}