/* Estação Frio — estilo do site público.
   Reproduz a aparência do site anterior (tema e construtor de páginas de 2018/2019) com código próprio.
   Sem JavaScript e sem recursos externos: carrosséis, menus e cabeçalho usam apenas CSS. */
@font-face { font-family: "Poppins"; font-weight: 400; font-display: swap; src: url("fontes/Poppins-400.woff2") format("woff2"); }
@font-face { font-family: "Poppins"; font-weight: 500; font-display: swap; src: url("fontes/Poppins-500.woff2") format("woff2"); }
@font-face { font-family: "Poppins"; font-weight: 600 700; font-display: swap; src: url("fontes/Poppins-600.woff2") format("woff2"); }
@font-face { font-family: "Ubuntu"; font-weight: 400 500; font-display: swap; src: url("fontes/Ubuntu-500.woff2") format("woff2"); }
@font-face { font-family: "Ubuntu"; font-weight: 700; font-display: swap; src: url("fontes/Ubuntu-700.woff2") format("woff2"); }

:root {
  --menu: #0036b5;          /* links do menu */
  --menu-claro: #4380db;    /* menu ao passar o mouse */
  --azul: #3369c6;          /* botão da abertura, links, "Voltar" */
  --marinho: #152891;       /* título sobre as fotos da abertura */
  --marinho-vivo: #0000a5;  /* títulos das páginas de serviço e de contato */
  --submenu: #1d73be;
  --ardosia: #2c3c4c;       /* seções escuras */
  --gelo: #edf2f4;          /* seção "Nossa História" */
  --ciano: #21c2f8;         /* ícones e botão do contato */
  --ciano-borda: #15b6ec;
  --icone: #428aca;         /* ícones dos serviços */
  --chamada: #006dad;       /* botão "Clique Aqui" */
  --titulo: #443f3f;
  --texto: #0a0707;
  --rodape: #1c1c1c;
  --titulos: "Ubuntu", "Segoe UI", system-ui, sans-serif;
  --corpo: "Poppins", "Segoe UI", system-ui, sans-serif;
  --topo-alto: 140px;
}

*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }
body { margin: 0; font-family: var(--corpo); font-size: 16px; line-height: 1.8; color: var(--texto); background: #fff; }
img, svg { max-width: 100%; height: auto; }
h1, h2, h3, h4 { font-family: var(--titulos); font-weight: 500; color: var(--titulo); line-height: 1.1; margin: 0 0 20px; }
h1 { font-size: 52px; }
h2 { font-size: 42px; }
h3 { font-size: 25px; }
p { margin: 0 0 20px; }
a { color: var(--azul); text-decoration: none; transition: color .3s; }
a:hover { color: var(--marinho); }
ul, ol { margin: 0; padding: 0; }
.icone { display: block; width: 1em; height: 1em; }
/* foco do teclado: azul-marinho nos fundos claros, branco nos fundos escuros */
:focus-visible { outline: 3px solid var(--marinho); outline-offset: 3px; border-radius: 2px; }
.secao--escuro :focus-visible, .chamada-final :focus-visible, .rodape :focus-visible, .menu-movel__lista :focus-visible, .submenu :focus-visible { outline-color: #fff; }
.abertura :focus-visible { outline-color: #fff; box-shadow: 0 0 0 6px var(--marinho); }
.largura { width: min(100% - 40px, 1060px); margin-inline: auto; }
.interna .largura { width: min(100% - 40px, 1020px); }
.so-leitor { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.pular { position: absolute; left: -999px; top: 0; background: var(--marinho); color: #fff; padding: 10px 16px; z-index: 40; }
.pular:focus { left: 8px; top: 8px; }
.central, .texto-central { text-align: center; }

/* aviso de avaliação e marca de contato não confirmado (não existem no site publicado) */
.aviso-avaliacao { position: relative; z-index: 30; background: #fff4cc; color: #4d3b00; text-align: center; font-size: 13px; line-height: 1.5; padding: 5px 16px; border-bottom: 1px solid #e6d28a; }
.pendente { display: inline-block; font-size: 11px; font-weight: 500; line-height: 1.5; padding: 0 7px; border-radius: 99px; background: #fff4cc; color: #4d3b00; vertical-align: middle; }

/* ---------------- cabeçalho ---------------- */
.topo { position: sticky; top: 0; z-index: 20; height: 0; }
.topo__faixa { position: absolute; left: 0; right: 0; top: 0; height: var(--topo-alto); padding: 20px 0; background: #fff; }
.com-abertura .topo__faixa { background: transparent; }
.topo__linha { display: flex; align-items: center; justify-content: space-between; height: 100%; width: min(100% - 30px, 1140px); margin-inline: auto; }
.marca { display: block; flex: none; }
.marca__logo { display: block; height: 100px; width: auto; }
.marca__nome { font: 500 32px var(--titulos); color: var(--menu); }
main { display: block; }
.interna main, .inicial:not(.com-abertura) main { padding-top: var(--topo-alto); }
/* Ao rolar, o cabeçalho ganha fundo branco translúcido e fica mais baixo, como no site anterior.
   Onde o navegador não oferece o recurso, ele já começa nesse estado. */
@supports (animation-timeline: scroll()) {
  .topo__faixa { animation: topo-ao-rolar linear both; animation-timeline: scroll(root); animation-range: 0 110px; }
}
@supports not (animation-timeline: scroll()) {
  .topo__faixa, .com-abertura .topo__faixa { height: 110px; padding: 5px 0; background: rgba(255, 255, 255, .9); }
}
@keyframes topo-ao-rolar { to { height: 110px; padding: 5px 0; background: rgba(255, 255, 255, .9); } }

.menu-largo { align-self: stretch; }
.menu { display: flex; height: 100%; list-style: none; }
.menu__item { position: relative; display: flex; align-items: center; padding: 0 14px; }
.menu__item > a { font: 500 16px/30px var(--titulos); color: var(--menu); }
.menu__item > a:hover, .menu__item:hover > a, .menu__item:focus-within > a { color: var(--menu-claro); }
.submenu { position: absolute; top: calc(50% + 24px); right: 14px; width: 180px; list-style: none; background: var(--submenu); opacity: 0; pointer-events: none; transition: opacity .3s; z-index: 5; }
/* fica invisível, mas alcançável pelo teclado: ao receber o foco, aparece */
.menu__item:hover .submenu, .menu__item:focus-within .submenu { opacity: 1; pointer-events: auto; }
.submenu li + li { border-top: 1px solid rgba(0, 0, 0, .35); }
.submenu a { display: block; padding: 8px 18px; font: 500 16px/30px var(--corpo); color: #fcfcfc; }
.submenu a:hover, .submenu a:focus-visible { background: var(--azul); color: #fff; }
.menu-movel { display: none; }

/* ---------------- abertura: fotos que se alternam ---------------- */
.abertura { position: relative; height: 100vh; height: 100svh; min-height: 480px; overflow: hidden; background: #dfe6ea; }
.abertura__slides, .abertura__slide { position: absolute; inset: 0; }
.abertura__slide { opacity: 0; }
.abertura__slide:first-child { opacity: 1; }
.abertura__foto { position: absolute; inset: 0; width: 100%; height: 100%; max-width: none; object-fit: cover; object-position: center; }
.abertura__titulo { position: absolute; left: 0; right: 0; top: calc(50% - 90px); transform: none; translate: 0 -50%; margin: 0; padding: 0 20px; text-align: center; font: 500 68px/1.1 var(--titulos); letter-spacing: 1px; color: var(--marinho); text-shadow: 1px 1px 3px rgba(0, 0, 0, .3); }
.abertura__botao { position: absolute; left: 0; right: 0; top: calc(50% + 56px); translate: 0 -50%; margin: 0; text-align: center; }
.botao-abertura { display: inline-block; padding: 12px 35px; border: 1px solid var(--azul); border-radius: 3px; background: var(--azul); color: #fff; font: 500 13px/24px var(--titulos); letter-spacing: 1px; text-transform: uppercase; transition: background-color .3s, color .3s; }
.botao-abertura:hover { background: rgba(255, 255, 255, .85); color: var(--azul); }

/* controle de pausa dos carrosséis (acessível pelo teclado) */
.pausa__caixa { position: absolute; width: 1px; height: 1px; opacity: 0; margin: 0; }
.pausa { display: none; align-items: center; justify-content: center; width: 36px; height: 36px; border-radius: 50%; font-size: 12px; cursor: pointer; }
.pausa--abertura { position: absolute; right: 20px; bottom: 20px; background: rgba(255, 255, 255, .8); color: var(--marinho); }
.pausa--clientes { position: absolute; right: 0; bottom: 32px; background: #f2f2f2; color: var(--titulo); }
.pausa:hover { background: #fff; box-shadow: 0 0 0 1px var(--azul); }
.pausa__continuar { display: none; }
.pausa__caixa:checked ~ .pausa .pausa__pausar { display: none; }
.pausa__caixa:checked ~ .pausa .pausa__continuar { display: block; }
.pausa__caixa:focus-visible ~ .pausa { outline: 3px solid var(--marinho); outline-offset: 3px; }
.pausa__caixa:checked ~ .abertura__slides .abertura__slide,
.pausa__caixa:checked ~ .abertura__slides .abertura__titulo,
.pausa__caixa:checked ~ .clientes__lista .clientes__item { animation-play-state: paused; }
@media (prefers-reduced-motion: no-preference) {
  .pausa { display: flex; }
}

/* ---------------- seções ---------------- */
.secao { padding: 0; }
.inicial .secao { padding: 100px 0; }
.secao--suave { background: var(--gelo); }
.secao--escuro { background: var(--ardosia); color: #fff; }
.secao--escuro h2, .secao--escuro h3, .secao--escuro a { color: #fff; }
.secao h2 { font-size: 25px; margin-bottom: 25px; }
.inicial .secao h2 { font-size: 52px; }
.texto ul, .texto ol { margin: 0 0 10px 40px; }
.texto h3 { font-size: 20px; margin-top: 10px; }
.interna .texto, .texto-corrido { text-align: justify; }

/* destaques com foto (Instalação / Manutenção) */
.destaques-foto { display: grid; grid-template-columns: 52.5fr 47.5fr; gap: 0 40px; list-style: none; }
.destaques-foto--1 { grid-template-columns: 1fr; }
.destaques-foto--3 { grid-template-columns: repeat(3, 1fr); }
.destaques-foto--4 { grid-template-columns: repeat(4, 1fr); }
.destaques-foto img { display: block; width: 300px; margin: 0 auto 8px; }
.inicial .destaques-foto h2 { font-size: 18px; line-height: 1.2; text-align: center; text-transform: uppercase; margin-bottom: 25px; }
.destaques-foto p { margin: 0 0 20px; }

/* imagem com texto (Soluções em Climatização / Nossa História) */
.imagem-texto { display: grid; grid-template-columns: 53.8fr 46.2fr; gap: 0 40px; align-items: start; }
.imagem-texto--esquerda { grid-template-columns: 45.8fr 54.2fr; }
.imagem-texto--esquerda .imagem-texto__imagem { order: -1; }
.imagem-texto--sem-imagem { grid-template-columns: 1fr; }
.imagem-texto__imagem img { display: block; width: 100%; margin: 0 auto; }
.imagem-texto--reduzida .imagem-texto__imagem img { width: 300px; }
.imagem-texto .texto { text-align: justify; }
.inicial .imagem-texto h2 { margin: 8px 0 25px; }

/* clientes: um logo por vez */
.clientes { text-align: center; }
.clientes .largura { position: relative; }
.inicial .clientes .clientes__titulo { font-size: 37px; text-transform: uppercase; margin: 14px 0 66px; }
.clientes__texto { max-width: 1020px; margin: 0 auto 47px; font: 500 25px/1.1 var(--titulos); color: var(--marinho-vivo); }
.clientes__lista { display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: 30px 50px; list-style: none; }
.clientes__item { display: flex; align-items: center; justify-content: center; height: 100px; }
.clientes__item img { display: block; height: 100px; width: auto; max-width: 100%; object-fit: contain; }
.clientes__item span { font: 500 25px var(--titulos); color: var(--titulo); }
@media (prefers-reduced-motion: no-preference) {
  .clientes__lista--alterna { display: block; position: relative; height: 100px; overflow: hidden; }
  .clientes__lista--alterna .clientes__item { position: absolute; inset: 0; visibility: hidden; transform: translateX(100%); }
}

/* chamada final ("Solicite um Orçamento") */
.chamada-final { padding: 100px 0; background: var(--ardosia); color: #fff; text-align: center; border-bottom: 1px solid #e2e9f3; }
.chamada-final h2 { font-size: 46px; letter-spacing: 6px; color: #fff; margin: 12px 0 72px; }
.interna .chamada-final { margin-top: 40px; }
.chamada-final__botoes { display: flex; flex-wrap: wrap; justify-content: center; gap: 16px; margin: 0; }
.botao-chamada { display: inline-block; padding: 18px 36px; border: 1px solid #00619f; background: var(--chamada); color: #fff; font: 400 18px/1 var(--corpo); transition: background-color .3s; }
.botao-chamada:hover { background: #005a94; color: #fff; }

/* ---------------- páginas internas ---------------- */
.pagina-topo { padding: 40px 0 0; }
.titulo-pagina { font-size: 42px; margin-bottom: 49px; }
.titulo-central { font-size: 52px; text-align: center; margin: 0 0 37px; }
.introducao { margin-bottom: 20px; }
.interna .secao:last-child, .interna .pagina-topo:last-child { padding-bottom: 28px; }

/* lista de serviços */
.servicos { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px 80px; list-style: none; margin: 0 0 -11px; }
/* com cinco serviços, a distribuição do site anterior: 1º e 2º na primeira coluna, 3º no meio, 4º e 5º na última */
.servicos--5 > :nth-child(1) { grid-area: 1 / 1; }
.servicos--5 > :nth-child(2) { grid-area: 2 / 1; }
.servicos--5 > :nth-child(3) { grid-area: 1 / 2; }
.servicos--5 > :nth-child(4) { grid-area: 1 / 3; }
.servicos--5 > :nth-child(5) { grid-area: 2 / 3; }
.servico-cartao { text-align: left; }
.circulo { display: flex; align-items: center; justify-content: center; border-radius: 50%; margin: 0 auto 22px; }
.circulo--servico { width: 96px; height: 96px; background: #ededed; color: var(--icone); font-size: 58px; }
.circulo--contato { width: 105px; height: 105px; background: #f2f2f2; color: var(--ciano); font-size: 60px; margin-bottom: 30px; }
.servico-cartao h2, .servico-cartao h3 { font-size: 18px; text-align: center; margin: 0 0 12px; }
.servico-cartao p { margin: 0 0 10px; }
.servico-cartao__link { text-align: center; padding-top: 10px; }

/* página de serviço */
.voltar { margin: 0 0 79px; font: 500 20px/1.1 var(--titulos); }
.titulo-servico { font-size: 32px; color: var(--marinho-vivo); text-transform: uppercase; margin-bottom: 40px; }
.imagem-servico { margin-bottom: 20px; }
.imagem-servico img { display: block; }

/* contato */
.pagina-topo--central { text-align: center; }
.titulo-contato { font-size: 42px; color: var(--marinho-vivo); margin: -22px 0 42px; }
.subtitulo-contato { font: 500 32px/1.1 var(--titulos); color: var(--marinho-vivo); margin: 0 0 20px; }
@media (min-width: 1140px) { .subtitulo-contato { margin-inline: -40px; } }
.contato-dados { padding: 98px 0 30px; }
.contato-colunas { display: grid; grid-auto-flow: column; grid-auto-columns: 1fr; gap: 30px 0; list-style: none; text-align: center; }
.contato-colunas h2 { font-size: 22px; margin: 0 0 22px; }
.contato-colunas p { margin: 0 0 20px; }
.contato-colunas a { color: inherit; }
.contato-colunas a:hover { color: var(--azul); }
.contato-formulario { padding: 79px 0 70px; }
.contato-formulario .titulo-formulario { position: relative; font-size: 52px; color: var(--marinho-vivo); text-align: center; margin: 0 0 30px; padding-bottom: 22px; }
.titulo-formulario::after { content: ""; position: absolute; left: 50%; bottom: 0; width: 51px; margin-left: -25px; border-top: 1px solid #000; }
.formulario { display: block; }
.campo { margin: 0 0 12px; }
.campo label { display: block; line-height: 1.8; margin-bottom: 6px; }
.campo input[type="text"], .campo input[type="email"], .campo input[type="tel"], .campo textarea { display: block; width: 100%; padding: 9px 20px; border: 1px solid #dcdcdc; border-radius: 0; background: #fafafa; color: var(--texto); font: 400 16px/28px var(--corpo); }
.campo textarea { height: 130px; min-height: 80px; resize: vertical; padding-top: 14px; }
.campo ::placeholder { color: #bdbdbd; opacity: 1; }
.campo input:focus, .campo textarea:focus { border-color: var(--azul); outline: 2px solid var(--azul); outline-offset: 0; }
.campo--armadilha { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.campo--concordo { display: flex; align-items: flex-start; gap: 10px; margin: 16px 0; }
.campo--concordo input { width: 20px; height: 20px; margin: 4px 0 0; flex: none; accent-color: var(--azul); }
.campo--concordo label { margin: 0; font-size: 14px; color: #555; }
.botao-enviar { display: flex; align-items: center; justify-content: center; gap: 12px; width: 100%; min-height: 65px; padding: 12px 24px; border: 1px solid var(--ciano-borda); border-radius: 4px; background: var(--ciano); color: #fff; font: 400 16px/1 var(--corpo); cursor: pointer; transition: background-color .3s; }
.botao-enviar .icone { font-size: 22px; }
.botao-enviar:hover { background: var(--ciano-borda); }
.retorno { padding: 16px 20px; margin-bottom: 20px; border-left: 5px solid; }
.retorno p:last-child { margin-bottom: 0; }
.retorno--ok { background: #e7f8ee; border-color: #1c7c45; color: #0f4a28; }
.retorno--erro { background: #fdecec; border-color: #b3261e; color: #6d1410; }

/* ---------------- demais tipos de seção disponíveis no painel ---------------- */
.secao__apresentacao { margin-bottom: 20px; }
.grade { display: grid; gap: 30px; list-style: none; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); }
.cartao { display: block; height: 100%; padding: 24px; background: #f2f2f2; color: inherit; }
.cartao h3 { font-size: 18px; margin-bottom: 10px; }
.cartao p { margin-bottom: 10px; }
.cartao__link, .link-seta { color: var(--azul); }
.chamada h2 { font-size: 18px !important; text-transform: uppercase; }
.etiquetas { display: flex; flex-wrap: wrap; gap: 10px; list-style: none; }
.etiquetas li { padding: 2px 16px; background: #f2f2f2; }
.secao--escuro .etiquetas li, .secao--escuro .cartao { background: rgba(255, 255, 255, .12); }
.passos { margin-left: 24px; }
.passos h3 { font-size: 18px; margin-bottom: 6px; }
.pergunta { border-bottom: 1px solid #dcdcdc; padding: 12px 0; }
.pergunta summary { cursor: pointer; font-weight: 500; }
.lista-links { margin-left: 24px; }
.destaque { padding: 120px 0 80px; background: var(--ardosia); color: #fff; }
.destaque h1 { color: #fff; }
.destaque__grade { display: grid; grid-template-columns: 1.4fr 1fr; gap: 40px; align-items: center; }
.destaque__frases { list-style: none; margin-bottom: 20px; }
.destaque__botoes { display: flex; flex-wrap: wrap; gap: 16px; }
.destaque__botoes a { display: inline-block; padding: 12px 35px; border-radius: 3px; background: var(--azul); color: #fff; }
.destaque__onda { display: none; }

/* ---------------- rodapé ---------------- */
.rodape { padding: 24px 20px 34px; background: var(--rodape); color: #fff; text-align: center; }
.rodape__linha { margin: 0; font-weight: 600; }
.rodape__identificacao { margin: 4px 0 0; font-size: 14px; color: #ccc; }
.rodape a { color: #fff; text-decoration: underline; }
.voltar-topo { position: fixed; right: 20px; bottom: 20px; z-index: 15; display: none; align-items: center; justify-content: center; width: 45px; height: 45px; border-radius: 50%; background: var(--azul); color: #fff; font-size: 16px; }
.voltar-topo:hover { background: var(--marinho); color: #fff; }
@supports (animation-timeline: scroll()) {
  .voltar-topo { display: flex; opacity: 0; visibility: hidden; animation: topo-botao linear both; animation-timeline: scroll(root); animation-range: 300px 420px; }
}
@keyframes topo-botao { to { opacity: 1; visibility: visible; } }

/* ---------------- telas médias e pequenas ---------------- */
@media (max-width: 1024px) {
  .topo { position: relative; height: auto; }
  .topo__faixa, .com-abertura .topo__faixa { position: static; height: auto; padding: 20px 0 1px; background: #fff; animation: none; }
  .topo__linha { flex-direction: column; gap: 18px; height: auto; }
  .interna main, .inicial:not(.com-abertura) main { padding-top: 0; }
  .menu-largo { display: none; }
  .menu-movel { display: block; }
  .menu-movel__botao { display: flex; align-items: center; justify-content: center; width: 44px; height: 44px; margin: 0 auto; list-style: none; cursor: pointer; color: #000; font-size: 27px; }
  .menu-movel__botao::-webkit-details-marker, .menu-movel__sub summary::-webkit-details-marker { display: none; }
  .menu-movel > nav { position: absolute; left: 0; right: 0; top: 100%; margin-top: -5px; z-index: 25; background: var(--rodape); }
  .menu-movel__lista, .menu-movel__sub ul { list-style: none; }
  .menu-movel__lista > li { position: relative; border-bottom: 1px solid rgba(255, 255, 255, .06); }
  .menu-movel__lista a { display: block; padding: 0 50px; font: 500 16px/49px var(--corpo); color: #fff; }
  .menu-movel__lista a:hover { color: #cfe0ff; }
  .menu-movel__sub summary { position: absolute; right: 30px; top: 0; display: flex; align-items: center; justify-content: center; width: 50px; height: 50px; list-style: none; cursor: pointer; color: #fff; font-size: 22px; }
  .menu-movel__sub[open] summary .icone { transform: rotate(180deg); }
  .menu-movel__sub ul { background: #181624; }
  .menu-movel__sub li { border-top: 1px solid rgba(255, 255, 255, .06); }
  .menu-movel__sub ul a { padding-left: 60px; line-height: 39px; }
}
@media (max-width: 768px) {
  .abertura { height: 54.5vw; min-height: 0; }
  .abertura__titulo { top: 29%; font-size: 18px; padding: 0 10px; }
  .abertura__botao { top: 58%; }
  .botao-abertura { line-height: 24px; }
  .pausa--abertura { right: 8px; bottom: 8px; width: 30px; height: 30px; font-size: 10px; }
  .inicial .secao h2 { font-size: 31px; }
  .destaques-foto, .destaques-foto--3, .destaques-foto--4, .imagem-texto, .imagem-texto--esquerda { grid-template-columns: 1fr; gap: 40px 0; }
  .destaques-foto img { margin-bottom: 48px; }
  .inicial .destaques-foto h2 { font-size: 15px; margin-bottom: 26px; }
  .imagem-texto--esquerda .imagem-texto__imagem { order: -1; }
  .inicial .clientes .clientes__titulo { font-size: min(37px, 9.4vw); }
  .clientes__texto { font-size: 19px; }
  .pausa--clientes { bottom: -50px; }
  .clientes__item, .clientes__lista--alterna { height: 200px; }
  .clientes__item img { height: auto; max-height: 200px; }
  .chamada-final h2 { font-size: min(42px, 10.5vw); line-height: 1.4; }
  .titulo-pagina { font-size: 27px; }
  .titulo-contato { font-size: min(26px, 6.6vw); margin-top: -10px; }
  .titulo-central { font-size: 34px; }
  .contato-formulario .titulo-formulario { font-size: min(28px, 7.2vw); }
  .subtitulo-contato { font-size: 20px; }
  .titulo-servico { font-size: 24px; margin-bottom: 87px; }
  .servico-cartao h2, .servico-cartao h3 { font-size: 15px; }
  .servicos { gap: 30px 0; }
  .interna .secao:last-child, .interna .pagina-topo:last-child { padding-bottom: 84px; }
  .servicos { grid-template-columns: 1fr; }
  .contato-colunas { grid-auto-flow: row; }
  .servicos--5 > :nth-child(n) { grid-area: auto; }
  .contato-dados { padding-top: 108px; }
  .contato-colunas { gap: 39px 0; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  * { transition: none !important; }
}
@media print {
  .topo nav, .menu-movel, .aviso-avaliacao, .formulario, .chamada-final, .voltar-topo, .pausa { display: none; }
  .topo { position: static; height: auto; }
  .topo__faixa { position: static; }
}
