:root { --cor: #4f46e5; --cor2: #0f172a; --fonte-titulo: "Poppins"; --fonte-texto: "Inter"; --raio: 14px; }
/* Base do motor dos sites (vale para todos; os componentes de cada cliente vêm depois e podem sobrescrever).
   Cores, fontes e cantos vêm do tema do site: --cor, --cor2, --fonte-titulo, --fonte-texto, --raio. */
*, *::before, *::after { box-sizing: border-box; }
* { margin: 0; }
html { scroll-behavior: smooth; -webkit-text-size-adjust: 100%; }
body { font-family: var(--fonte-texto), system-ui, sans-serif; color: #334155; background: #fff; line-height: 1.6; font-size: 16px; }
img { display: block; max-width: 100%; height: auto; }
a { color: inherit; }
h1, h2, h3, h4 { font-family: var(--fonte-titulo), system-ui, sans-serif; color: #0f172a; line-height: 1.15; font-weight: 700; }

.caixa { width: 100%; max-width: 1180px; margin: 0 auto; padding: 0 20px; }
.secao { padding: 64px 0; }
@media (min-width: 900px) { .secao { padding: 88px 0; } }
.secao.claro { background: color-mix(in srgb, var(--cor) 5%, #f8fafc); }

/* topo de seção: linha pequena + título */
.topo { margin-bottom: 40px; max-width: 760px; }
.topo-centro { margin-left: auto; margin-right: auto; text-align: center; }
.sobre { font-size: 13px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: var(--cor2); margin-bottom: 10px; }
.titulo { font-size: clamp(28px, 4vw, 42px); }

/* botões */
.btn { display: inline-flex; align-items: center; justify-content: center; gap: 8px; padding: 14px 28px; border-radius: var(--raio); font-weight: 700; font-size: 15px; text-decoration: none; transition: transform .15s, background .15s, color .15s; border: 2px solid transparent; }
.btn:hover { transform: translateY(-2px); }
.btn-cheio { background: var(--cor); color: #fff; }
.btn-contorno { border-color: var(--cor); color: var(--cor); }
.btn-claro { background: #fff; color: var(--cor); }
.btn-destaque { background: var(--cor2); color: #fff; }
.botoes { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 28px; }

/* grade de itens (listagem) */
.grade { display: grid; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); gap: 24px; }
.cartao { height: 100%; background: #fff; border: 1px solid #e2e8f0; border-radius: var(--raio); overflow: hidden; display: flex; flex-direction: column; }
.cartao-corpo { padding: 24px; display: flex; flex-direction: column; gap: 8px; flex: 1; }
.cartao h3 { font-size: 19px; }
.cartao .btn { margin-top: auto; align-self: flex-start; }
.etiqueta { display: inline-block; font-size: 12px; font-weight: 700; color: var(--cor); background: color-mix(in srgb, var(--cor) 10%, #fff); padding: 3px 10px; border-radius: 99px; align-self: flex-start; }

/* carrossel / slider */
.carrossel { position: relative; }
.trilho { display: grid; grid-auto-flow: column; grid-auto-columns: 85%; gap: 24px; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; padding-bottom: 4px; }
.trilho::-webkit-scrollbar { display: none; }
.trilho > * { scroll-snap-align: start; }
@media (min-width: 700px) { .trilho { grid-auto-columns: calc((100% - 24px) / 2); } }
@media (min-width: 1000px) { .trilho { grid-auto-columns: calc((100% - 48px) / 3); } }
.um-por-vez .trilho { grid-auto-columns: 100%; gap: 0; }
.seta { position: absolute; top: 50%; transform: translateY(-50%); z-index: 2; width: 44px; height: 44px; border-radius: 99px; border: 0; background: #fff; color: var(--cor); font-size: 28px; line-height: 1; cursor: pointer; box-shadow: 0 4px 16px rgba(15, 23, 42, .15); }
.seta-ant { left: -10px; }
.seta-prox { right: -10px; }
.um-por-vez .seta-ant { left: 16px; }
.um-por-vez .seta-prox { right: 16px; }

/* abas */
.abas { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; margin-bottom: 32px; }
.aba { border: 1px solid #e2e8f0; background: #fff; color: #475569; padding: 10px 20px; border-radius: 99px; font: inherit; font-weight: 600; cursor: pointer; }
.aba.ativa { background: var(--cor); border-color: var(--cor); color: #fff; }
.item.oculto { display: none; }

/* texto formatado */
.rico > * + * { margin-top: 1em; }
.rico h2 { font-size: 28px; margin-top: 1.4em; }
.rico h3 { font-size: 21px; margin-top: 1.2em; }
.rico ul, .rico ol { padding-left: 1.3em; }
.rico li + li { margin-top: .4em; }
.rico a { color: var(--cor); }

/* formulário */
.form { display: grid; gap: 14px; }
.form label { display: grid; gap: 6px; font-size: 14px; font-weight: 600; color: #0f172a; }
.form input, .form select, .form textarea { font: inherit; padding: 13px 16px; border: 1px solid #cbd5e1; border-radius: calc(var(--raio) / 2); background: #fff; width: 100%; }
.form textarea { min-height: 120px; resize: vertical; }
.form .btn { justify-self: start; cursor: pointer; font: inherit; font-weight: 700; }
.form-aviso { font-size: 14px; color: var(--cor); font-weight: 600; }

.redes { display: flex; flex-wrap: wrap; gap: 14px; }
.redes a { text-decoration: none; font-weight: 600; }

/* botão flutuante do WhatsApp: do motor, igual em todos os sites (logo oficial, verde do WhatsApp e um pulso) */
.s24-zap { position: fixed; right: 20px; bottom: 20px; z-index: 90; width: 60px; height: 60px; border-radius: 50%; display: grid; place-items: center; background: #25d366; color: #fff; text-decoration: none; box-shadow: 0 10px 28px rgba(37, 211, 102, .45); transition: transform .2s ease; }
.s24-zap::before, .s24-zap::after { content: ""; position: absolute; inset: 0; z-index: -1; border-radius: 50%; background: #25d366; animation: s24-pulso 2.4s ease-out infinite; }
.s24-zap::after { animation-delay: 1.2s; }
.s24-zap:hover { transform: scale(1.08); }
.s24-zap .s24-zap-logo { width: 32px; height: 32px; }
@keyframes s24-pulso { 0% { transform: scale(1); opacity: .5; } 100% { transform: scale(1.9); opacity: 0; } }
@media (max-width: 600px) { .s24-zap { right: 16px; bottom: 16px; width: 56px; height: 56px; } .s24-zap .s24-zap-logo { width: 30px; height: 30px; } }
@media (prefers-reduced-motion: reduce) { .s24-zap::before, .s24-zap::after { display: none; } }

/* crédito "Feito por" + logo da site24horas: do motor, no rodapé de todos os sites. O site.js põe "em-fundo-escuro"
   quando o fundo em volta é escuro (aí aparece o logo claro) */
.s24-credito { display: inline-flex; align-items: center; gap: 4px; font-size: 12px; line-height: 1; color: inherit; text-decoration: none; opacity: .85; transition: opacity .15s; }
.s24-credito:hover { opacity: 1; }
.s24-credito img { display: block; height: 20px; width: auto; }
.s24-credito .s24-credito-claro, .s24-credito.em-fundo-escuro .s24-credito-escuro { display: none; }
.s24-credito.em-fundo-escuro .s24-credito-claro { display: block; }

/* texto_imagem — componente do cliente, v1 */

.s-texto_imagem .ti-grade { display: grid; gap: 48px; align-items: center; }
@media (min-width: 900px) { .s-texto_imagem .ti-grade { grid-template-columns: .95fr 1.05fr; gap: 80px; } }
.s-texto_imagem .ti-arte { position: relative; margin: 0 14px 14px 0; }
.s-texto_imagem .ti-arte::before { content: ""; position: absolute; inset: 22px -14px -14px 22px; border-radius: var(--raio); border: 2px solid color-mix(in srgb, var(--cor2) 70%, #fff); }
.s-texto_imagem .ti-arte::after { content: ""; position: absolute; width: 110px; height: 110px; left: -18px; top: -18px; border-radius: 18px; background-image: radial-gradient(color-mix(in srgb, var(--cor) 45%, transparent) 2px, transparent 2px); background-size: 14px 14px; z-index: 0; }
.s-texto_imagem .ti-arte img { position: relative; z-index: 1; width: 100%; aspect-ratio: 5 / 4; object-fit: cover; border-radius: var(--raio); box-shadow: 0 30px 60px rgba(15, 23, 42, .14); }
.s-texto_imagem .sobre { display: inline-flex; align-items: center; gap: 10px; color: var(--cor); }
.s-texto_imagem .sobre::before { content: ""; width: 28px; height: 2px; border-radius: 2px; background: var(--cor2); }
.s-texto_imagem .titulo { font-weight: 800; letter-spacing: -.03em; }
.s-texto_imagem .ti-rico { margin-top: 20px; font-size: 17px; color: #475569; }
.s-texto_imagem .ti-rico ul { list-style: none; padding: 0; display: grid; gap: 12px; }
.s-texto_imagem .ti-rico li { position: relative; padding-left: 34px; }
.s-texto_imagem .ti-rico li::before { content: ""; position: absolute; left: 0; top: 3px; width: 22px; height: 22px; border-radius: 99px; background: color-mix(in srgb, var(--cor) 12%, #fff); }
.s-texto_imagem .ti-rico li::after { content: ""; position: absolute; left: 8px; top: 8px; width: 6px; height: 10px; border: solid var(--cor); border-width: 0 2px 2px 0; transform: rotate(45deg); }
.s-texto_imagem .ti-botoes { display: flex; flex-wrap: wrap; align-items: center; gap: 14px 22px; margin-top: 32px; }
.s-texto_imagem .ti-link { display: inline-flex; align-items: center; gap: 8px; font-weight: 700; color: #0f172a; text-decoration: none; }
.s-texto_imagem .ti-link .icone { width: 18px; height: 18px; color: var(--cor); transition: transform .15s; }
.s-texto_imagem .ti-link:hover .icone { transform: translateX(4px); }
.s-texto_imagem .ti-centro { max-width: 780px; margin: 0 auto; text-align: center; }
.s-texto_imagem .ti-centro .sobre::after { content: ""; width: 28px; height: 2px; border-radius: 2px; background: var(--cor2); }
.s-texto_imagem .ti-centro .ti-botoes { justify-content: center; }
.s-texto_imagem .ti-centro .ti-rico ul { justify-items: start; text-align: left; max-width: 560px; margin-left: auto; margin-right: auto; }
.s-texto_imagem.faixa { position: relative; overflow: hidden; background: linear-gradient(135deg, color-mix(in srgb, var(--cor) 82%, #0b1020), var(--cor)); color: #fff; text-align: center; }
.s-texto_imagem.faixa::before { content: ""; position: absolute; inset: 0; background-image: radial-gradient(rgba(255, 255, 255, .12) 1.2px, transparent 1.2px); background-size: 22px 22px; pointer-events: none; }
.s-texto_imagem.faixa .caixa { position: relative; }
.s-texto_imagem.faixa .titulo, .s-texto_imagem.faixa h1 { color: #fff; }
.s-texto_imagem.faixa .sobre { color: rgba(255, 255, 255, .85); }
.s-texto_imagem.faixa .ti-botoes { justify-content: center; }
.s-texto_imagem.faixa .ti-link { color: #fff; }
.s-texto_imagem.faixa .ti-link .icone { color: #fff; }
.s-texto_imagem .ti-trilha { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; margin-top: 16px; font-size: 14px; opacity: .85; }
.s-texto_imagem .ti-grade .ti-trilha { justify-content: flex-start; }
.s-texto_imagem .ti-trilha a { text-decoration: none; }
.s-texto_imagem .ti-trilha span + span::before { content: "›"; margin-right: 8px; opacity: .7; }

/* numeros — componente do cliente, v1 */

.s-numeros.secao { padding: 32px 0; }
.s-numeros .nm-cartao { position: relative; overflow: hidden; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); border-radius: var(--raio); background: linear-gradient(135deg, color-mix(in srgb, var(--cor) 80%, #0b1020) 0%, var(--cor) 100%); color: #fff; box-shadow: 0 24px 50px color-mix(in srgb, var(--cor) 28%, transparent); }
.s-numeros .nm-cartao::after { content: ""; position: absolute; width: 320px; height: 320px; right: -120px; top: -160px; border-radius: 50%; background: rgba(255, 255, 255, .08); pointer-events: none; }
.s-numeros .nm-item { position: relative; padding: 28px 20px; text-align: center; }
.s-numeros .nm-item + .nm-item { border-left: 1px solid rgba(255, 255, 255, .14); }
.s-numeros .nm-item:nth-child(odd) { border-left: 0; }
.s-numeros .nm-item:nth-child(n + 3) { border-top: 1px solid rgba(255, 255, 255, .14); }
.s-numeros .nm-item img { width: 40px; height: 40px; object-fit: contain; margin: 0 auto 10px; }
.s-numeros .nm-valor { font-family: var(--fonte-titulo), sans-serif; font-size: clamp(30px, 4.4vw, 46px); font-weight: 800; letter-spacing: -.03em; line-height: 1.1; }
.s-numeros .nm-desc { margin-top: 6px; font-size: 14px; color: rgba(255, 255, 255, .78); }
.s-numeros .topo .titulo { font-size: clamp(26px, 3.4vw, 36px); }
@media (min-width: 900px) {
  .s-numeros .nm-cartao { grid-template-columns: none; grid-auto-flow: column; grid-auto-columns: minmax(0, 1fr); }
  .s-numeros .nm-item { padding: 40px 24px; }
  .s-numeros .nm-item:nth-child(n) { border-top: 0; }
  .s-numeros .nm-item:nth-child(n) + .nm-item { border-left: 1px solid rgba(255, 255, 255, .14); }
}

/* servicos — componente do cliente, v1 */

.s-servicos { background: #f8fafc; }
.s-servicos .sv-topo { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 20px 40px; margin-bottom: 44px; }
.s-servicos .sv-topo .topo { margin-bottom: 0; }
.s-servicos .sobre { color: var(--cor); }
.s-servicos .titulo { letter-spacing: -.03em; font-weight: 800; }
.s-servicos .grade { grid-template-columns: repeat(auto-fill, minmax(min(100%, 300px), 1fr)); gap: 22px; }
.s-servicos .sv-cartao { position: relative; height: 100%; display: flex; flex-direction: column; gap: 12px; padding: 30px 28px 28px; background: #fff; border: 1px solid #e8edf3; border-radius: calc(var(--raio) * .75); transition: transform .2s, box-shadow .2s, border-color .2s; }
.s-servicos .sv-cartao::after { content: ""; position: absolute; left: 28px; right: 28px; top: -1px; height: 3px; border-radius: 0 0 99px 99px; background: var(--cor); transform: scaleX(0); transition: transform .25s; }
.s-servicos .sv-cartao:hover { transform: translateY(-6px); border-color: color-mix(in srgb, var(--cor) 25%, #e8edf3); box-shadow: 0 24px 48px rgba(15, 23, 42, .08); }
.s-servicos .sv-cartao:hover::after { transform: scaleX(1); }
.s-servicos .sv-icone { width: 60px; height: 60px; flex: none; display: grid; place-items: center; overflow: hidden; border-radius: 18px; background: color-mix(in srgb, var(--cor) 10%, #fff); color: var(--cor); margin-bottom: 8px; transition: background .2s, color .2s; }
.s-servicos .sv-icone .icone { width: 28px; height: 28px; }
.s-servicos .sv-icone img { width: 100%; height: 100%; object-fit: cover; }
.s-servicos .sv-cartao:hover .sv-icone:not(.com-foto) { background: var(--cor); color: #fff; }
.s-servicos .sv-foto { margin: -30px -28px 8px; aspect-ratio: 16 / 10; overflow: hidden; border-radius: calc(var(--raio) * .75) calc(var(--raio) * .75) 0 0; }
.s-servicos .sv-foto img { width: 100%; height: 100%; object-fit: cover; transition: transform .4s; }
.s-servicos .sv-cartao:hover .sv-foto img { transform: scale(1.04); }
.s-servicos .etiqueta { align-self: flex-start; }
.s-servicos .sv-cartao h3 { font-size: 20px; letter-spacing: -.01em; }
.s-servicos .sv-cartao p { color: #64748b; }
.s-servicos .sv-preco { font-weight: 700; color: #0f172a; }
.s-servicos .sv-preco small { font-size: 12px; font-weight: 600; color: #94a3b8; text-transform: uppercase; letter-spacing: .06em; margin-right: 6px; }
.s-servicos .sv-link { margin-top: auto; padding-top: 8px; display: inline-flex; align-items: center; gap: 8px; align-self: flex-start; font-weight: 700; color: var(--cor); text-decoration: none; }
.s-servicos .sv-link .icone { width: 18px; height: 18px; transition: transform .15s; }
.s-servicos .sv-cartao:hover .sv-link .icone { transform: translateX(4px); }
@media (max-width: 599px) {
  .s-servicos .grade .sv-cartao { display: grid; grid-template-columns: 48px 1fr; column-gap: 16px; row-gap: 6px; align-content: start; padding: 22px 20px; }
  .s-servicos .grade .sv-cartao > :not(.sv-icone):not(.sv-foto) { grid-column: 2; }
  .s-servicos .grade .sv-icone { grid-row: 1 / span 4; width: 48px; height: 48px; border-radius: 14px; margin: 0; }
  .s-servicos .grade .sv-icone .icone { width: 22px; height: 22px; }
  .s-servicos .grade .sv-foto { grid-column: 1 / -1; margin: -22px -20px 8px; }
  .s-servicos .grade .sv-cartao h3 { font-size: 18px; }
  .s-servicos .grade .sv-link { padding-top: 4px; }
}
.s-servicos .sv-carrossel .trilho { grid-auto-columns: min(86%, 340px); padding: 8px 2px 12px; }
@media (min-width: 1000px) { .s-servicos .sv-carrossel .trilho { grid-auto-columns: calc((100% - 48px) / 3); } }
.s-servicos .sv-setas { display: flex; justify-content: center; gap: 12px; margin-top: 26px; }
.s-servicos .sv-setas button { display: grid; place-items: center; width: 48px; height: 48px; border-radius: 99px; border: 1px solid #e2e8f0; background: #fff; color: #0f172a; cursor: pointer; transition: background .15s, color .15s, border-color .15s; }
.s-servicos .sv-setas button:hover { background: var(--cor); border-color: var(--cor); color: #fff; }
.s-servicos .sv-setas .icone { width: 20px; height: 20px; }

/* timeline — componente do cliente, v1 */

.s-timeline .titulo { font-weight: 800; letter-spacing: -.03em; }
.s-timeline .sobre { color: var(--cor); }
.s-timeline .tl-lista { list-style: none; padding: 0; display: grid; gap: 0; counter-reset: passo; }
.s-timeline .tl-item { position: relative; display: grid; grid-template-columns: 64px 1fr; gap: 20px; padding-bottom: 36px; }
.s-timeline .tl-item:last-child { padding-bottom: 0; }
.s-timeline .tl-item::before { content: ""; position: absolute; left: 31px; top: 64px; bottom: 0; width: 2px; background: linear-gradient(180deg, color-mix(in srgb, var(--cor) 35%, #fff), color-mix(in srgb, var(--cor) 8%, #fff)); }
.s-timeline .tl-item:last-child::before { display: none; }
.s-timeline .tl-num { position: relative; z-index: 1; width: 64px; height: 64px; display: grid; place-items: center; border-radius: 22px; background: #fff; border: 2px solid color-mix(in srgb, var(--cor) 22%, #fff); color: var(--cor); font-family: var(--fonte-titulo), sans-serif; font-weight: 800; font-size: 20px; box-shadow: 0 12px 26px color-mix(in srgb, var(--cor) 14%, transparent); overflow: hidden; }
.s-timeline .tl-num img { width: 34px; height: 34px; object-fit: contain; }
.s-timeline .tl-item h3 { font-size: 20px; margin-top: 6px; }
.s-timeline .tl-item p { margin-top: 8px; color: #64748b; }
.s-timeline .tl-grade.com-imagem { display: grid; gap: 48px; align-items: center; }
.s-timeline .tl-imagem img { width: 100%; aspect-ratio: 4 / 5; object-fit: cover; border-radius: var(--raio); }
@media (min-width: 900px) {
  .s-timeline .tl-grade.com-imagem { grid-template-columns: 1.1fr .9fr; gap: 72px; }
  .s-timeline .tl-grade:not(.com-imagem) .tl-lista { grid-auto-flow: column; grid-auto-columns: minmax(0, 1fr); gap: 32px; }
  .s-timeline .tl-grade:not(.com-imagem) .tl-item { grid-template-columns: 1fr; justify-items: center; text-align: center; padding-bottom: 0; }
  .s-timeline .tl-grade:not(.com-imagem) .tl-item::before { left: calc(50% + 48px); right: calc(-50% + 16px); width: auto; top: 31px; bottom: auto; height: 2px; background: repeating-linear-gradient(90deg, color-mix(in srgb, var(--cor) 35%, #fff) 0 8px, transparent 8px 16px); }
  .s-timeline .tl-grade:not(.com-imagem) .tl-item:last-child::before { display: none; }
  .s-timeline .tl-grade:not(.com-imagem) .tl-num { width: 72px; height: 72px; border-radius: 26px; font-size: 22px; }
  .s-timeline .tl-grade:not(.com-imagem) .tl-item p { max-width: 320px; }
}

/* depoimentos — componente do cliente, v1 */

.s-depoimentos { background: linear-gradient(180deg, #fff 0%, color-mix(in srgb, var(--cor) 6%, #fff) 100%); }
.s-depoimentos .titulo { font-weight: 800; letter-spacing: -.03em; }
.s-depoimentos .sobre { color: var(--cor); }
.s-depoimentos .dp-grade { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 320px), 1fr)); gap: 22px; }
.s-depoimentos .trilho { grid-auto-columns: min(88%, 380px); gap: 22px; padding: 8px 2px 14px; }
@media (min-width: 1000px) { .s-depoimentos .trilho { grid-auto-columns: calc((100% - 44px) / 3); } }
.s-depoimentos .dp-cartao { position: relative; height: 100%; display: flex; flex-direction: column; gap: 18px; padding: 32px 30px 28px; background: #fff; border: 1px solid #e8edf3; border-radius: calc(var(--raio) * .75); box-shadow: 0 14px 34px rgba(15, 23, 42, .05); }
.s-depoimentos .dp-aspas { position: absolute; right: 26px; top: 24px; width: 44px; height: 44px; color: color-mix(in srgb, var(--cor) 22%, #fff); }
.s-depoimentos .dp-estrelas { display: flex; gap: 3px; color: var(--cor2); }
.s-depoimentos .dp-estrelas .icone { width: 18px; height: 18px; fill: currentColor; }
.s-depoimentos .dp-estrelas .vazia { opacity: .25; }
.s-depoimentos .dp-texto { color: #334155; font-size: 16px; line-height: 1.7; }
.s-depoimentos .dp-autor { margin-top: auto; padding-top: 18px; border-top: 1px solid #f1f5f9; display: flex; align-items: center; gap: 14px; }
.s-depoimentos .dp-autor img { width: 52px; height: 52px; border-radius: 99px; object-fit: cover; flex: none; box-shadow: 0 0 0 3px #fff, 0 0 0 5px color-mix(in srgb, var(--cor) 18%, #fff); }
.s-depoimentos .dp-nome { display: block; font-weight: 700; color: #0f172a; }
.s-depoimentos .dp-comp { display: block; font-size: 14px; color: #64748b; }
.s-depoimentos .dp-setas { display: flex; justify-content: center; gap: 12px; margin-top: 28px; }
.s-depoimentos .dp-setas button { display: grid; place-items: center; width: 48px; height: 48px; border-radius: 99px; border: 1px solid #e2e8f0; background: #fff; color: #0f172a; cursor: pointer; transition: background .15s, color .15s, border-color .15s; }
.s-depoimentos .dp-setas button:hover { background: var(--cor); border-color: var(--cor); color: #fff; }
.s-depoimentos .dp-setas .icone { width: 20px; height: 20px; }

/* perguntas — componente do cliente, v1 */

.s-perguntas .pg-grade { display: grid; gap: 36px; }
.s-perguntas .titulo { font-weight: 800; letter-spacing: -.03em; }
.s-perguntas .sobre { color: var(--cor); }
.s-perguntas .topo { margin-bottom: 0; }
.s-perguntas .pg-lista { display: grid; gap: 14px; }
.s-perguntas .pg-item { border: 1px solid #e8edf3; border-radius: calc(var(--raio) * .6); background: #fff; transition: border-color .2s, box-shadow .2s; }
.s-perguntas .pg-item[open], .s-perguntas .pg-item.pg-aberto { border-color: color-mix(in srgb, var(--cor) 30%, #e8edf3); box-shadow: 0 16px 34px rgba(15, 23, 42, .06); }
.s-perguntas summary, .s-perguntas .pg-pergunta { list-style: none; cursor: pointer; display: flex; align-items: center; justify-content: space-between; gap: 18px; padding: 20px 22px; font-family: var(--fonte-titulo), sans-serif; font-weight: 700; font-size: 17px; color: #0f172a; }
.s-perguntas .pg-pergunta { cursor: default; }
.s-perguntas summary::-webkit-details-marker { display: none; }
.s-perguntas .pg-sinal { flex: none; display: grid; place-items: center; width: 34px; height: 34px; border-radius: 99px; background: color-mix(in srgb, var(--cor) 10%, #fff); color: var(--cor); transition: transform .2s, background .2s, color .2s; }
.s-perguntas .pg-sinal .icone { width: 18px; height: 18px; }
.s-perguntas .pg-item[open] .pg-sinal { transform: rotate(45deg); background: var(--cor); color: #fff; }
.s-perguntas .pg-resposta { padding: 0 22px 22px; color: #475569; }
@media (min-width: 900px) {
  .s-perguntas .pg-grade.com-topo { grid-template-columns: .8fr 1.2fr; gap: 64px; align-items: start; }
  .s-perguntas .pg-grade.com-topo .topo { position: sticky; top: 110px; text-align: left; }
}

/* contato — componente do cliente, v1 */

.s-contato .ct-grade { display: grid; gap: 44px; align-items: start; }
@media (min-width: 960px) { .s-contato .ct-grade.duas { grid-template-columns: .9fr 1.1fr; gap: 64px; } }
.s-contato .titulo { font-weight: 800; letter-spacing: -.03em; }
.s-contato .sobre { color: var(--cor); }
.s-contato .topo { margin-bottom: 16px; }
.s-contato .ct-texto { color: #475569; font-size: 17px; }
.s-contato .ct-lista { list-style: none; padding: 0; margin-top: 32px; display: grid; gap: 14px; }
.s-contato .ct-item { display: flex; align-items: flex-start; gap: 16px; padding: 16px; border-radius: calc(var(--raio) * .6); background: #f8fafc; border: 1px solid #eef2f7; }
.s-contato .ct-ico { flex: none; display: grid; place-items: center; width: 46px; height: 46px; border-radius: 14px; background: color-mix(in srgb, var(--cor) 12%, #fff); color: var(--cor); }
.s-contato .ct-ico .icone { width: 22px; height: 22px; }
.s-contato .ct-rot { display: block; font-size: 13px; font-weight: 600; color: #64748b; }
.s-contato .ct-val { display: block; font-weight: 700; color: #0f172a; word-break: break-word; }
.s-contato .ct-val a { text-decoration: none; }
.s-contato .ct-redes { display: flex; gap: 10px; margin-top: 22px; }
.s-contato .ct-redes a { display: grid; place-items: center; width: 44px; height: 44px; border-radius: 99px; background: #f1f5f9; color: #0f172a; transition: background .15s, color .15s; }
.s-contato .ct-redes a:hover { background: var(--cor); color: #fff; }
.s-contato .ct-redes .icone { width: 20px; height: 20px; }
.s-contato .ct-mapa { margin-top: 22px; border-radius: calc(var(--raio) * .6); overflow: hidden; border: 1px solid #eef2f7; }
.s-contato .ct-mapa iframe { display: block; width: 100%; height: 260px; border: 0; }
.s-contato .ct-imagens { display: grid; grid-template-columns: repeat(auto-fill, minmax(140px, 1fr)); gap: 12px; margin-top: 22px; }
.s-contato .ct-imagens img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; border-radius: 14px; }
.s-contato .ct-form-caixa { padding: 32px 24px; border-radius: var(--raio); background: #fff; border: 1px solid #eef2f7; box-shadow: 0 30px 60px rgba(15, 23, 42, .08); }
@media (min-width: 600px) { .s-contato .ct-form-caixa { padding: 40px; } }
.s-contato .ct-form { display: grid; gap: 16px; }
@media (min-width: 600px) { .s-contato .ct-form { grid-template-columns: 1fr 1fr; } .s-contato .ct-form .largo { grid-column: 1 / -1; } }
.s-contato .ct-form label { display: grid; gap: 7px; font-size: 14px; font-weight: 600; color: #0f172a; }
.s-contato .ct-form input, .s-contato .ct-form select, .s-contato .ct-form textarea { font: inherit; font-weight: 400; width: 100%; padding: 14px 16px; border-radius: 14px; border: 1px solid #e2e8f0; background: #f8fafc; color: #0f172a; transition: border-color .15s, box-shadow .15s, background .15s; }
.s-contato .ct-form input:focus, .s-contato .ct-form select:focus, .s-contato .ct-form textarea:focus { outline: 0; background: #fff; border-color: var(--cor); box-shadow: 0 0 0 4px color-mix(in srgb, var(--cor) 15%, transparent); }
.s-contato .ct-form textarea { min-height: 140px; resize: vertical; }
.s-contato .ct-form .btn { grid-column: 1 / -1; width: 100%; padding: 16px; cursor: pointer; font: inherit; font-weight: 700; }
.s-contato .ct-form .btn .icone { width: 18px; height: 18px; }
.s-contato .form-aviso { grid-column: 1 / -1; font-size: 14px; color: var(--cor); font-weight: 600; }

/* slider — componente do cliente, v2 */

.s-slider { padding: 0; }
.s-slider .caixa { max-width: none; padding: 0; }
.sl-slide { position: relative; min-height: 420px; display: grid; align-items: center; overflow: hidden; background: var(--cor); }
.sl-slide > picture img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.sl-slide.com-texto > picture::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(0,0,0,.65), rgba(0,0,0,.15)); }
.sl-texto { position: relative; max-width: 1180px; width: 100%; margin: 0 auto; padding: 72px 20px; color: #fff; }
.sl-texto > * { max-width: 620px; }
.sl-texto .sobre { color: #fff; opacity: .85; }
.sl-texto h2 { color: #fff; font-size: clamp(32px, 5vw, 54px); }
.sl-texto p { margin-top: 14px; font-size: 18px; opacity: .9; }
@media (min-width: 900px) { .sl-slide { min-height: 560px; } }

/* editor — componente do cliente, v1 */

.ed-texto { max-width: 820px; margin: 0 auto; font-size: 17px; }
.ed-texto img, .ed-texto iframe { border-radius: var(--raio); max-width: 100%; }
.ed-texto table { width: 100%; border-collapse: collapse; }
.ed-texto td, .ed-texto th { border: 1px solid #e2e8f0; padding: 10px 12px; text-align: left; }

/* html — componente do cliente, v1 */

.ht-trecho { max-width: 980px; margin: 0 auto; }
.ht-trecho iframe { max-width: 100%; border: 0; border-radius: var(--raio); }

/* portfolio — componente do cliente, v1 */

.pf-capa img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; }
.pf-meta { font-size: 13px; opacity: .7; }
.s-portfolio .ver-todos { text-align: center; margin-top: 36px; }

/* produtos — componente do cliente, v1 */

.pd-foto img { width: 100%; aspect-ratio: 1; object-fit: cover; }
.pd-preco { display: flex; align-items: baseline; gap: 10px; }
.pd-preco b { font-size: 20px; color: var(--cor); }
.pd-preco s { opacity: .55; }
.s-produtos .ver-todos { text-align: center; margin-top: 36px; }

/* artigos — componente do cliente, v1 */

.ar-capa img { width: 100%; aspect-ratio: 16 / 10; object-fit: cover; }
.ar-meta { font-size: 13px; opacity: .7; }
.s-artigos .ver-todos { text-align: center; margin-top: 36px; }

/* cabecalho — componente do cliente, v1 */

.s-cabecalho { position: sticky; top: 0; z-index: 60; }
.s-cabecalho.com-barra { top: -40px; }
.s-cabecalho .cb-barra { height: 40px; overflow: hidden; background: color-mix(in srgb, var(--cor) 82%, #0b1020); color: rgba(255, 255, 255, .9); font-size: 13px; }
.s-cabecalho .cb-barra .caixa { height: 100%; display: flex; align-items: center; justify-content: space-between; gap: 20px; }
.s-cabecalho .cb-info { display: flex; align-items: center; gap: 22px; min-width: 0; white-space: nowrap; overflow: hidden; }
.s-cabecalho .cb-info > span { display: inline-flex; align-items: center; gap: 7px; }
.s-cabecalho .cb-info .icone { width: 15px; height: 15px; flex: none; opacity: .8; }
.s-cabecalho .cb-info .largo { display: none; }
.s-cabecalho .cb-redes { display: flex; gap: 4px; flex: none; }
.s-cabecalho .cb-redes a { display: grid; place-items: center; width: 30px; height: 30px; border-radius: 99px; color: inherit; transition: background .15s; }
.s-cabecalho .cb-redes a:hover { background: rgba(255, 255, 255, .14); }
.s-cabecalho .cb-redes .icone { width: 16px; height: 16px; }
@media (min-width: 760px) { .s-cabecalho .cb-info .largo { display: inline-flex; } }

.s-cabecalho .cb-principal { position: relative; background: rgba(255, 255, 255, .94); backdrop-filter: saturate(1.4) blur(12px); -webkit-backdrop-filter: saturate(1.4) blur(12px); border-bottom: 1px solid #eef2f7; }
.s-cabecalho .cb-linha { display: flex; align-items: center; gap: 20px; min-height: 76px; }
.s-cabecalho .cb-logo { display: flex; align-items: center; margin-right: auto; text-decoration: none; min-width: 0; }
.s-cabecalho .cb-logo img { max-height: 42px; width: auto; }
.s-cabecalho .cb-nome { font-family: var(--fonte-titulo), sans-serif; font-weight: 800; font-size: 22px; letter-spacing: -.02em; color: var(--cor); }

.s-cabecalho .cb-menu { display: none; align-items: center; gap: 2px; }
.s-cabecalho .cb-item { position: relative; }
.s-cabecalho .cb-item > a { display: inline-flex; align-items: center; gap: 4px; padding: 10px 14px; border-radius: 99px; text-decoration: none; font-weight: 600; font-size: 15px; color: #334155; transition: color .15s, background .15s; }
.s-cabecalho .cb-item > a:hover, .s-cabecalho .cb-item > a.ativo { color: var(--cor); background: color-mix(in srgb, var(--cor) 8%, #fff); }
.s-cabecalho .cb-item .icone { width: 15px; height: 15px; transition: transform .18s; }
.s-cabecalho .cb-item:hover > a .icone { transform: rotate(180deg); }
.s-cabecalho .cb-sub { position: absolute; top: calc(100% + 6px); left: 0; min-width: 230px; padding: 8px; display: grid; background: #fff; border: 1px solid #eef2f7; border-radius: 16px; box-shadow: 0 20px 44px rgba(15, 23, 42, .12); opacity: 0; visibility: hidden; transform: translateY(6px); transition: opacity .18s, transform .18s, visibility .18s; }
.s-cabecalho .cb-sub::before { content: ""; position: absolute; left: 0; right: 0; top: -10px; height: 10px; }
.s-cabecalho .cb-item:hover .cb-sub, .s-cabecalho .cb-item:focus-within .cb-sub { opacity: 1; visibility: visible; transform: none; }
.s-cabecalho .cb-sub a { padding: 10px 12px; border-radius: 10px; text-decoration: none; font-size: 14px; font-weight: 500; color: #334155; }
.s-cabecalho .cb-sub a:hover { background: #f1f5f9; color: var(--cor); }

.s-cabecalho .cb-acoes { display: none; align-items: center; gap: 12px; }
.s-cabecalho .cb-contato { display: inline-flex; align-items: center; gap: 8px; font-weight: 700; color: #0f172a; text-decoration: none; white-space: nowrap; }
.s-cabecalho .cb-contato .icone { width: 18px; height: 18px; color: var(--cor); }
.s-cabecalho .cb-busca { display: grid; place-items: center; width: 42px; height: 42px; border-radius: 99px; color: #334155; background: #f1f5f9; }
.s-cabecalho .cb-busca .icone { width: 18px; height: 18px; }
.s-cabecalho .cb-acoes .btn { padding: 12px 22px; font-size: 14px; }
.s-cabecalho .cb-acoes .cb-redes a { color: #475569; }
.s-cabecalho .cb-acoes .cb-redes a:hover { background: #f1f5f9; color: var(--cor); }

.s-cabecalho .cb-celular summary { list-style: none; cursor: pointer; display: grid; place-items: center; width: 46px; height: 46px; border-radius: 14px; color: #0f172a; background: #f1f5f9; }
.s-cabecalho .cb-celular summary::-webkit-details-marker { display: none; }
.s-cabecalho .cb-celular summary .icone { width: 22px; height: 22px; }
.s-cabecalho .cb-celular .ic-fechar, .s-cabecalho .cb-celular[open] .ic-abrir { display: none; }
.s-cabecalho .cb-celular[open] .ic-fechar { display: block; }
.s-cabecalho .cb-gaveta { position: absolute; left: 0; right: 0; top: 100%; padding: 8px 20px 24px; background: #fff; border-top: 1px solid #eef2f7; box-shadow: 0 24px 40px rgba(15, 23, 42, .14); max-height: calc(100vh - 76px); overflow-y: auto; }
.s-cabecalho .cb-gaveta nav > a { display: block; padding: 14px 0; border-bottom: 1px solid #f1f5f9; text-decoration: none; font-weight: 600; color: #0f172a; }
.s-cabecalho .cb-gaveta .cb-gaveta-sub a { display: block; padding: 11px 0 11px 16px; border-bottom: 1px solid #f8fafc; text-decoration: none; font-size: 15px; color: #475569; }
.s-cabecalho .cb-gaveta .btn { width: 100%; margin-top: 18px; }
.s-cabecalho .cb-gaveta .cb-contato { margin-top: 18px; }
.s-cabecalho .cb-gaveta .cb-redes { margin-top: 14px; }
.s-cabecalho .cb-gaveta .cb-redes a { color: #475569; background: #f1f5f9; width: 40px; height: 40px; }

@media (min-width: 1000px) {
  .s-cabecalho .cb-menu, .s-cabecalho .cb-acoes { display: flex; }
  .s-cabecalho .cb-celular { display: none; }
}

/* rodape — componente do cliente, v1 */

.s-rodape { position: relative; overflow: hidden; background: color-mix(in srgb, var(--cor) 22%, #0b1020); color: rgba(226, 232, 240, .78); font-size: 15px; }
.s-rodape::before { content: ""; position: absolute; width: 520px; height: 520px; right: -180px; top: -260px; border-radius: 50%; background: radial-gradient(circle, color-mix(in srgb, var(--cor) 45%, transparent), transparent 70%); opacity: .55; pointer-events: none; }
.s-rodape .rd-grade { position: relative; display: grid; grid-template-columns: 1fr 1fr; gap: 40px 24px; padding-top: 72px; padding-bottom: 56px; }
.s-rodape .rd-marca, .s-rodape .rd-contatos { grid-column: 1 / -1; }
@media (min-width: 1000px) {
  .s-rodape .rd-grade { grid-template-columns: 1.4fr repeat(var(--rd-colunas, 2), minmax(0, 1fr)); gap: 48px; }
  .s-rodape .rd-marca, .s-rodape .rd-contatos { grid-column: auto; }
}
.s-rodape .rd-marca img { max-height: 46px; width: auto; }
.s-rodape .rd-nome { font-family: var(--fonte-titulo), sans-serif; font-weight: 800; font-size: 24px; color: #fff; }
.s-rodape .rd-marca p { margin-top: 18px; max-width: 340px; line-height: 1.7; }
.s-rodape .rd-redes { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 22px; }
.s-rodape .rd-redes a { display: grid; place-items: center; width: 40px; height: 40px; border-radius: 99px; color: #fff; background: rgba(255, 255, 255, .08); border: 1px solid rgba(255, 255, 255, .12); transition: background .15s, transform .15s; }
.s-rodape .rd-redes a:hover { background: var(--cor); transform: translateY(-2px); }
.s-rodape .rd-redes .icone { width: 18px; height: 18px; }
.s-rodape h4 { color: #fff; font-size: 16px; margin-bottom: 18px; letter-spacing: .01em; }
.s-rodape .rd-col ul { list-style: none; padding: 0; display: grid; gap: 11px; }
.s-rodape .rd-col a { text-decoration: none; transition: color .15s; }
.s-rodape .rd-col a:hover { color: #fff; }
.s-rodape .rd-contatos .rico > * + * { margin-top: 10px; }
.s-rodape .rd-contatos a { color: inherit; }
.s-rodape .rd-barra { position: relative; border-top: 1px solid rgba(255, 255, 255, .1); font-size: 13px; }
.s-rodape .rd-barra .caixa { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 10px 24px; padding-top: 22px; padding-bottom: 22px; }
.s-rodape .rd-legais { display: flex; flex-wrap: wrap; gap: 18px; }
.s-rodape .rd-barra a { text-decoration: none; }
.s-rodape .rd-barra a:hover { color: #fff; }

/* texto_imagem--hero — componente do cliente, v1 */

.s-texto_imagem--hero { position: relative; overflow: hidden; padding: 56px 0 72px; background: linear-gradient(180deg, color-mix(in srgb, var(--cor) 7%, #fff) 0%, #fff 100%); }
.s-texto_imagem--hero::before { content: ""; position: absolute; inset: 0; background-image: radial-gradient(color-mix(in srgb, var(--cor) 16%, transparent) 1.2px, transparent 1.2px); background-size: 22px 22px; mask-image: linear-gradient(180deg, #000, transparent 70%); -webkit-mask-image: linear-gradient(180deg, #000, transparent 70%); pointer-events: none; }
.s-texto_imagem--hero .hr-grade { position: relative; display: grid; gap: 48px; align-items: center; }
.s-texto_imagem--hero .hr-grade.sem-imagem { max-width: 820px; text-align: center; }
.s-texto_imagem--hero .hr-sobre { display: inline-flex; align-items: center; gap: 10px; padding: 7px 16px 7px 12px; border-radius: 99px; background: #fff; border: 1px solid color-mix(in srgb, var(--cor) 18%, #fff); box-shadow: 0 6px 18px color-mix(in srgb, var(--cor) 10%, transparent); font-size: 13px; font-weight: 700; color: var(--cor); }
.s-texto_imagem--hero .hr-sobre::before { content: ""; width: 8px; height: 8px; border-radius: 99px; background: var(--cor2); box-shadow: 0 0 0 4px color-mix(in srgb, var(--cor2) 22%, transparent); }
.s-texto_imagem--hero h1 { margin-top: 22px; font-size: clamp(36px, 6.4vw, 64px); font-weight: 800; letter-spacing: -.035em; line-height: 1.05; }
.s-texto_imagem--hero .hr-rico { margin-top: 22px; font-size: 18px; color: #475569; max-width: 560px; }
.s-texto_imagem--hero .sem-imagem .hr-rico { margin-left: auto; margin-right: auto; }
.s-texto_imagem--hero .hr-botoes { display: flex; flex-wrap: wrap; align-items: center; gap: 14px 24px; margin-top: 34px; }
.s-texto_imagem--hero .sem-imagem .hr-botoes { justify-content: center; }
.s-texto_imagem--hero .hr-botoes .btn { padding: 16px 30px; box-shadow: 0 14px 30px color-mix(in srgb, var(--cor) 32%, transparent); }
.s-texto_imagem--hero .hr-link { display: inline-flex; align-items: center; gap: 8px; font-weight: 700; color: #0f172a; text-decoration: none; }
.s-texto_imagem--hero .hr-link .icone { width: 18px; height: 18px; color: var(--cor); transition: transform .15s; }
.s-texto_imagem--hero .hr-link:hover .icone { transform: translateX(4px); }
.s-texto_imagem--hero .hr-trilha { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 18px; font-size: 14px; color: #64748b; }
.s-texto_imagem--hero .sem-imagem .hr-trilha { justify-content: center; }
.s-texto_imagem--hero .hr-trilha a { text-decoration: none; }
.s-texto_imagem--hero .hr-trilha span + span::before { content: "›"; margin-right: 8px; opacity: .6; }
.s-texto_imagem--hero .hr-arte { position: relative; width: min(84%, 460px); margin: 0 auto; }
.s-texto_imagem--hero .hr-arco { position: relative; aspect-ratio: 4 / 5; border-radius: 999px 999px var(--raio) var(--raio); overflow: hidden; background: linear-gradient(165deg, color-mix(in srgb, var(--cor) 30%, #fff) 0%, color-mix(in srgb, var(--cor) 10%, #fff) 100%); }
.s-texto_imagem--hero .hr-arco img { width: 100%; height: 100%; object-fit: cover; object-position: center bottom; }
.s-texto_imagem--hero .hr-arte::before { content: ""; position: absolute; width: 38%; aspect-ratio: 1; left: -12%; bottom: 8%; border-radius: 50%; background: var(--cor2); opacity: .9; }
.s-texto_imagem--hero .hr-arte::after { content: ""; position: absolute; width: 64%; aspect-ratio: 1; right: -16%; top: -6%; border-radius: 50%; border: 2px dashed color-mix(in srgb, var(--cor) 35%, transparent); }
@media (min-width: 900px) {
  .s-texto_imagem--hero { padding: 72px 0 104px; }
  .s-texto_imagem--hero .hr-grade.com-imagem { grid-template-columns: 1.08fr .92fr; gap: 64px; }
  .s-texto_imagem--hero .hr-arte { width: 100%; max-width: 480px; margin-right: 0; }
}

/* texto_imagem--chamada — componente do cliente, v1 */

.s-texto_imagem--chamada.secao { padding: 48px 0; }
@media (min-width: 900px) { .s-texto_imagem--chamada.secao { padding: 72px 0; } }
.s-texto_imagem--chamada .ch-cartao { position: relative; overflow: hidden; display: grid; gap: 32px; align-items: center; padding: 44px 28px; border-radius: var(--raio); background: linear-gradient(120deg, color-mix(in srgb, var(--cor) 85%, #0b1020) 0%, var(--cor) 60%, color-mix(in srgb, var(--cor) 70%, var(--cor2)) 100%); color: #fff; text-align: center; box-shadow: 0 30px 60px color-mix(in srgb, var(--cor) 30%, transparent); }
.s-texto_imagem--chamada .ch-cartao::before { content: ""; position: absolute; width: 360px; height: 360px; left: -140px; bottom: -220px; border-radius: 50%; border: 50px solid rgba(255, 255, 255, .06); pointer-events: none; }
.s-texto_imagem--chamada .ch-cartao::after { content: ""; position: absolute; width: 220px; height: 220px; right: -70px; top: -90px; border-radius: 50%; border: 2px solid rgba(255, 255, 255, .18); box-shadow: 0 0 0 28px rgba(255, 255, 255, .04); pointer-events: none; }
.s-texto_imagem--chamada .ch-texto { position: relative; z-index: 1; }
.s-texto_imagem--chamada .ch-sobre { font-size: 13px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: rgba(255, 255, 255, .8); margin-bottom: 12px; }
.s-texto_imagem--chamada h2 { color: #fff; font-size: clamp(28px, 4vw, 44px); font-weight: 800; letter-spacing: -.03em; }
.s-texto_imagem--chamada .ch-rico { margin-top: 14px; color: rgba(255, 255, 255, .85); font-size: 17px; }
.s-texto_imagem--chamada .ch-botoes { position: relative; z-index: 1; display: flex; flex-wrap: wrap; justify-content: center; gap: 12px; }
.s-texto_imagem--chamada .ch-botoes .btn { padding: 16px 30px; }
.s-texto_imagem--chamada .ch-botoes .btn-destaque { box-shadow: 0 14px 30px color-mix(in srgb, var(--cor2) 40%, transparent); }
.s-texto_imagem--chamada .ch-botoes .btn-vazado { border-color: rgba(255, 255, 255, .5); color: #fff; }
.s-texto_imagem--chamada .ch-botoes .btn-vazado:hover { background: rgba(255, 255, 255, .12); }
.s-texto_imagem--chamada .ch-botoes .icone { width: 18px; height: 18px; }
.s-texto_imagem--chamada .ch-imagem img { position: relative; z-index: 1; width: 100%; max-width: 360px; margin: 0 auto; aspect-ratio: 1; object-fit: cover; border-radius: calc(var(--raio) * .75); }
@media (min-width: 900px) {
  .s-texto_imagem--chamada .ch-cartao { grid-template-columns: 1fr auto; padding: 64px 64px; text-align: left; gap: 48px; }
  .s-texto_imagem--chamada .ch-cartao.com-imagem { grid-template-columns: 1.2fr .8fr; }
  .s-texto_imagem--chamada .ch-botoes { justify-content: flex-end; }
  .s-texto_imagem--chamada .com-imagem .ch-botoes { justify-content: flex-start; margin-top: 28px; }
}
