/* ====================================================
   MCJ Seguro para Elas — Estilos principais
   GCM Mossoró-RN
   ==================================================== */

/* === Reset & base === */
*,
*::before,
*::after {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

html {
  scroll-behavior: smooth;
}

body {
  font-family: 'Nunito', sans-serif;
  min-height: 100vh;
  background: linear-gradient(160deg, #1B139A 0%, #4a1080 38%, #7c3aed 72%, #023e84 100%);
  overflow-x: hidden;
  position: relative;
}

/* === Estrelas === */
.stars {
  position: fixed;
  inset: 0;
  pointer-events: none;
  z-index: 0;
}

.star {
  position: absolute;
  border-radius: 50%;
  background: #f5d7ff;
  animation: twinkle 2s infinite alternate;
}

@keyframes twinkle {
  from {
    opacity: 0.15;
    transform: scale(0.8);
  }

  to {
    opacity: 0.85;
    transform: scale(1.2);
  }
}

/* === Bandeirinhas === */
.rope-wrapper {
  position: relative;
  width: 100%;
  height: 50px;
  z-index: 2;
}

.rope-wrapper svg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 50px;
  pointer-events: none;
}

.bandeirinha-row {
  display: flex;
  width: 100%;
  justify-content: space-around;
  padding: 10px 8px 0;
  position: relative;
  z-index: 2;
  top: -25px;
}

.bandeirinha {
  width: clamp(22px, 5vw, 32px);
  height: clamp(28px, 6.5vw, 40px);
  clip-path: polygon(0 0, 100% 0, 50% 100%);
  flex-shrink: 0;
  transition: transform 0.3s;
}

/* efeito randômico de altura e rotate das bandeirinhas */
.bandeirinha {
  animation: randomHeight 3s infinite alternate;
  position: relative;
}

@keyframes randomHeight {
  0% {
    transform: translateY(0) rotate(0deg);
  }

  25% {
    transform: translateY(-4px) rotate(-3deg);
  }

  50% {
    transform: translateY(-2px) rotate(2deg);
  }

  75% {
    transform: translateY(-5px) rotate(-2deg);
  }

  100% {
    transform: translateY(0) rotate(0deg);
  }
}

/* aplica delay na animação */
.bandeirinha:nth-child(1) {
  animation-delay: 0s;
  top: -18px;
}

.bandeirinha:nth-child(2) {
  animation-delay: 0.5s;
  top: -10px;
}

.bandeirinha:nth-child(3) {
  animation-delay: 1s;
  top: -8px;
}

.bandeirinha:nth-child(4) {
  animation-delay: 1.5s;
  top: -8px;
}

.bandeirinha:nth-child(5) {
  animation-delay: 2s;
  top: -8px;
}

.bandeirinha:nth-child(6) {
  animation-delay: 2.5s;
  top: -15px;
}

.bandeirinha:nth-child(7) {
  animation-delay: 3s;
  top: -22px;
}

.bandeirinha:nth-child(8) {
  animation-delay: 3.5s;
  top: -28px;
}

.bandeirinha:nth-child(9) {
  animation-delay: 4s;
  top: -28px;
}

.bandeirinha:nth-child(10) {
  animation-delay: 4.5s;
  top: -28px;
}

.bandeirinha:nth-child(11) {
  animation-delay: 4.5s;
  top: -27px;
}

.bandeirinha:nth-child(12) {
  animation-delay: 4.5s;
  top: -25px;
}

.bandeirinha:hover {
  transform: scale(1.2) rotate(-5deg);
}

/* === Container único que envolve tudo === */
.page-wrapper {
  position: relative;
  z-index: 3;
  width: 100%;
  max-width: 560px;
  margin: 0 auto;
  padding: 0 clamp(16px, 5vw, 32px);
}

/* === Header com logos === */
.header {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: clamp(12px, 3vw, 20px) 0 clamp(12px, 3vw, 20px);
}

/* Logo do evento (MCJ 2026) — fora do container para ficar livre de max-width */
.logo-evento-wrap {
  display: flex;
  justify-content: center;
  padding: clamp(8px, 2vw, 16px) 0 clamp(4px, 1vw, 8px);
  width: 100%;
  position: relative;
  z-index: 3;
}

.logo-evento {
  width: clamp(180px, 45vw, 270px);
  height: auto;
  object-fit: contain;
  filter: drop-shadow(0 6px 22px rgba(0, 100, 255, 0.35));
  transition: transform 0.35s;
}

.logo-evento:hover {
  transform: scale(1.04);
}

/* Linha divisória */
.header-line {
  width: 50%;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(168, 85, 247, 0.3) 50%, transparent);
  margin: 0 auto clamp(10px, 2.5vw, 16px);
}

/* Logos GCM lado a lado */
.logos-row {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: clamp(16px, 5vw, 40px);
}

.logo-slot {
  display: flex;
  align-items: center;
  justify-content: center;
  width: clamp(80px, 20vw, 120px);
  height: clamp(90px, 22vw, 140px);
}

.logo-img {
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
  filter: none;
  transition: transform 0.3s;
}

.logo-mcj-seguro {
  max-width: clamp(160px, 42vw, 240px);
}

.logo-img:hover {
  transform: scale(1.06);
}

/* === Conteúdo central === */
.content {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: clamp(16px, 4vw, 28px) 0 56px;
  gap: 0;
  width: 100%;
}

/* Fogueira */
.fogueira-wrap {
  text-align: center;
  margin-bottom: 10px;
}

.fogueira-emoji {
  font-size: clamp(44px, 11vw, 64px);
  display: block;
  animation: flicker 1.8s infinite alternate;
  filter: drop-shadow(0 0 12px #ff9a00aa);
}

@keyframes flicker {
  0% {
    filter: drop-shadow(0 0 10px #ff9a00aa);
  }

  50% {
    filter: drop-shadow(0 0 24px #ffcc00cc);
  }

  100% {
    filter: drop-shadow(0 0 14px #ff5500aa);
  }
}

.evento-tag {
  display: inline-block;
  background: #fbbf24;
  color: #78350f;
  font-weight: 900;
  font-size: clamp(12px, 3vw, 14px);
  letter-spacing: 2px;
  padding: 5px 22px;
  border-radius: 20px;
  text-transform: uppercase;
  margin-bottom: 20px;
}

/* Card principal */
.main-card {
  background: rgba(255, 255, 255, 0.12);
  border: 1.5px solid rgba(255, 255, 255, 0.2);
  border-radius: 24px;
  padding: clamp(22px, 5vw, 36px) clamp(20px, 5vw, 32px);
  text-align: center;
  width: 100%;
  backdrop-filter: blur(10px);
  margin-bottom: 16px;
  animation: fadeUp 0.7s ease both;
}

@keyframes fadeUp {
  from {
    opacity: 0;
    transform: translateY(20px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.main-title {
  font-family: 'Fredoka One', sans-serif;
  font-size: clamp(18px, 5vw, 26px);
  color: #e9d5ff;
  line-height: 1.3;
  margin-bottom: 8px;
}

.main-destaque {
  font-family: 'Fredoka One', sans-serif;
  font-size: clamp(26px, 8vw, 46px);
  color: #ffffff;
  line-height: 1.2;
  text-shadow: 0 2px 18px #4a1080;
}

.main-destaque span {
  color: #fbbf24;
  text-shadow: 0 0 28px #fbbf24aa;
}

/* .main-sub {
  font-family: 'Fredoka One', sans-serif;
  font-size: clamp(18px, 5vw, 26px);
  color: #7911da;
  margin-top: 8px;
} */
.main-sub {
  font-family: 'Fredoka One', sans-serif;
  font-size: clamp(22px, 6.5vw, 32px);
  color: #fbbf24;
  margin-top: 8px;
  text-shadow: 0 0 20px #fbbf24aa;
  letter-spacing: 1px;
}

.nao-enfase {
  font-size: clamp(28px, 9vw, 42px);
  color: #d651e2;
  text-shadow: 0 0 28px rgba(255, 105, 135, 0.8);
  display: inline-block;
  animation: pulso 2.0s infinite alternate;
}

@keyframes pulso {
  from {
    transform: scale(1);
    text-shadow: 0 0 20px #e47aff73;
  }

  to {
    transform: scale(1.08);
    text-shadow: 0 0 36px rgba(255, 23, 68, 1);
  }
}

/* Card de impacto */
.impact-card {
  background: rgba(120, 0, 180, 0.45);
  border: 1px solid rgba(192, 132, 252, 0.5);
  border-radius: 22px;
  padding: clamp(18px, 4vw, 26px) clamp(18px, 4vw, 26px);
  text-align: center;
  width: 100%;
  margin-bottom: 22px;
  animation: fadeUp 0.7s 0.12s ease both;
}

.impact-text {
  font-size: clamp(13px, 3.6vw, 16px);
  color: #f3e8ff;
  font-weight: 700;
  line-height: 1.55;
  margin-bottom: 10px;
}

.impact-text:last-child {
  margin-bottom: 0;
}

.impact-cta {
  margin-top: 4px;
  font-size: clamp(13px, 3.6vw, 15px);
  color: #e9d5ff;
  opacity: 0.95;
}

.impact-text .accent {
  color: #fbbf24;
}

.impact-text .accent2 {
  color: #f9a8d4;
}

/* Números de emergência */
.section-title {
  font-size: 11px;
  font-weight: 900;
  letter-spacing: 2.5px;
  color: #d8b4fe;
  text-transform: uppercase;
  margin-bottom: 12px;
  text-align: center;
}

.numbers-grid {
  display: flex;
  flex-direction: column;
  gap: 10px;
  width: 100%;
  margin-bottom: 18px;
  animation: fadeUp 0.7s 0.25s ease both;
}

.number-card {
  background: rgba(255, 255, 255, 0.1);
  border: 1.5px solid rgba(192, 132, 252, 0.45);
  border-radius: 16px;
  padding: clamp(11px, 3vw, 15px) clamp(14px, 4vw, 20px);
  display: flex;
  align-items: center;
  gap: 14px;
  transition: background 0.2s, transform 0.2s;
  text-decoration: none;
  cursor: pointer;
}

.number-card:hover {
  background: rgba(255, 255, 255, 0.18);
  transform: translateX(4px);
}

.num-badge {
  background: #7c3aed;
  color: #f3e8ff;
  font-family: 'Fredoka One', sans-serif;
  font-size: clamp(17px, 4.5vw, 22px);
  border-radius: 12px;
  padding: 7px 12px;
  min-width: 62px;
  text-align: center;
  flex-shrink: 0;
  letter-spacing: 1px;
}

.num-info {
  flex: 1;
}

.num-label {
  color: #e9d5ff;
  font-size: clamp(13px, 3.5vw, 15px);
  font-weight: 700;
  line-height: 1.3;
}

.num-sublabel {
  color: #c4b5fd;
  font-size: 11px;
  font-weight: 400;
}

/* Botão WhatsApp */
.whatsapp-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  background: #25d366;
  color: #fff;
  font-family: 'Nunito', sans-serif;
  font-weight: 900;
  font-size: clamp(14px, 4vw, 17px);
  padding: clamp(13px, 3.5vw, 17px) 24px;
  border-radius: 50px;
  text-decoration: none;
  width: 100%;
  margin-bottom: 10px;
  border: none;
  cursor: pointer;
  transition: background 0.18s, transform 0.15s;
  box-shadow: 0 4px 24px #25d36655;
  animation: fadeUp 0.7s 0.38s ease both;
  position: relative;
}

.whatsapp-btn:hover {
  background: #1ebe5d;
  transform: translateY(-2px);
}

.whatsapp-btn:active {
  transform: scale(0.97);
}

.whatsapp-btn.carregando {
  opacity: 0.8;
  pointer-events: none;
}

.whatsapp-btn .wpp-icon {
  width: 26px;
  height: 26px;
  flex-shrink: 0;
}

.whatsapp-float-btn {
  position: fixed;
  right: 18px;
  bottom: 18px;
  width: 62px;
  height: 62px;
  border-radius: 50%;
  border: none;
  background: transparent;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  z-index: 40;
  box-shadow: 0 10px 28px rgba(37, 211, 102, 0.5);
  transition: transform 0.16s ease, filter 0.16s ease;
}

.whatsapp-float-btn .wpp-icon {
  width: 62px;
  height: 62px;
  display: block;
}

.whatsapp-float-btn:hover {
  transform: translateY(-2px) scale(1.04);
  filter: brightness(1.05);
}

.whatsapp-float-btn:active {
  transform: scale(0.96);
}

.spinner {
  display: none;
  width: 18px;
  height: 18px;
  border: 2.5px solid rgba(255, 255, 255, 0.4);
  border-top-color: #fff;
  border-radius: 50%;
  animation: spin 0.7s linear infinite;
  flex-shrink: 0;
}

.carregando .spinner {
  display: block;
}

.carregando .wpp-icon {
  display: none;
}

@keyframes spin {
  to {
    transform: rotate(360deg);
  }
}

/* Status de localização */
.status-msg {
  display: none;
  width: 100%;
  text-align: center;
  border-radius: 12px;
  padding: 10px 16px;
  font-size: 13px;
  font-weight: 700;
  margin-bottom: 10px;
}

.status-info {
  background: rgba(120, 58, 237, 0.35);
  color: #e9d5ff;
  border: 1px solid #a855f7;
}

.status-aviso {
  background: rgba(251, 191, 36, 0.2);
  color: #fcd34d;
  border: 1px solid #fbbf24;
}

/* Rodapé */
.footer-note {
  color: #d8b4fe;
  font-size: 12px;
  text-align: center;
  line-height: 1.8;
  max-width: 340px;
  opacity: 0.9;
}

.footer-note .gcm-disk {
  color: #fbbf24;
  font-weight: 700;
}

.footer-aviso {
  margin-top: 12px;
  font-size: 11px;
  color: #c4b5fd;
  opacity: 0.75;
  text-align: center;
  max-width: 320px;
  line-height: 1.6;
}

/* === FAQ === */
.faq-section {
  width: 100%;
  margin-top: 28px;
}

.faq-list {
  display: flex;
  flex-direction: column;
  gap: 8px;
  width: 100%;
}

.faq-item {
  background: rgba(255, 255, 255, 0.07);
  border: 1px solid rgba(192, 132, 252, 0.3);
  border-radius: 14px;
  overflow: hidden;
  transition: background 0.2s, border-color 0.2s;
}

.faq-item[open] {
  background: rgba(120, 0, 180, 0.35);
  border-color: rgba(192, 132, 252, 0.6);
}

.faq-pergunta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 14px 16px;
  font-size: clamp(13px, 3.5vw, 15px);
  font-weight: 700;
  color: #e9d5ff;
  cursor: pointer;
  list-style: none;
  user-select: none;
  line-height: 1.4;
}

.faq-pergunta::-webkit-details-marker {
  display: none;
}

.faq-pergunta::after {
  content: '';
  display: block;
  width: 18px;
  height: 18px;
  flex-shrink: 0;
  background: rgba(168, 85, 247, 0.4);
  border-radius: 50%;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23e9d5ff' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");
  background-size: 14px;
  background-repeat: no-repeat;
  background-position: center;
  transition: transform 0.25s ease;
}

.faq-item[open] .faq-pergunta::after {
  transform: rotate(180deg);
}

.faq-resposta {
  padding: 0 16px 14px;
  font-size: clamp(12px, 3.2vw, 14px);
  color: #d8b4fe;
  line-height: 1.65;
  font-weight: 400;
  border-top: 1px solid rgba(192, 132, 252, 0.2);
  padding-top: 12px;
  margin-top: -2px;
}

/* === Responsividade === */
@media (max-width: 380px) {
  .logos-row {
    gap: 10px;
  }

  .whatsapp-float-btn {
    right: 12px;
    bottom: 12px;
    width: 64px;
    height: 64px;
  }

  .whatsapp-float-btn .wpp-icon {
    width: 64px;
    height: 64px;
  }
}

@media (min-width: 600px) {
  .numbers-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
  }
}

/* === Modal de triagem === */
#modal-overlay {
  position: fixed;
  inset: 0;
  background: rgba(20, 5, 40, 0.85);
  backdrop-filter: blur(6px);
  z-index: 100;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 20px;
  opacity: 0;
  transition: opacity 0.25s ease;
}

#modal-overlay.modal-visivel {
  opacity: 1;
}

.modal-box {
  background: linear-gradient(145deg, #3b0f6e, #1e0a4a);
  border: 1px solid rgba(192, 132, 252, 0.4);
  border-radius: 24px;
  padding: clamp(22px, 6vw, 34px) clamp(18px, 5vw, 28px);
  width: 100%;
  max-width: 400px;
  text-align: center;
  transform: translateY(18px);
  transition: transform 0.28s ease;
}

#modal-overlay.modal-visivel .modal-box {
  transform: translateY(0);
}

.modal-titulo {
  font-family: 'Fredoka One', sans-serif;
  font-size: clamp(18px, 5vw, 23px);
  color: #f3e8ff;
  margin-bottom: 8px;
  line-height: 1.3;
}

.modal-desc {
  font-size: clamp(13px, 3.5vw, 15px);
  color: #c4b5fd;
  line-height: 1.5;
  margin-bottom: 16px;
}

.triagem-lista {
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin-bottom: 12px;
  text-align: left;
}

.triagem-opcao {
  display: flex;
  align-items: center;
  gap: 12px;
  background: rgba(255, 255, 255, 0.07);
  border: 1px solid rgba(192, 132, 252, 0.25);
  border-radius: 14px;
  padding: 12px 14px;
  cursor: pointer;
  transition: background 0.18s, border-color 0.18s;
}

.triagem-opcao:has(input:checked) {
  background: rgba(124, 58, 237, 0.4);
  border-color: rgba(192, 132, 252, 0.75);
}

.triagem-opcao input[type="radio"] {
  display: none;
}

.triagem-icone {
  font-size: 20px;
  flex-shrink: 0;
  width: 28px;
  text-align: center;
}

.triagem-label {
  font-size: clamp(13px, 3.5vw, 15px);
  font-weight: 700;
  color: #e9d5ff;
  line-height: 1.3;
}

.modal-geo-aviso {
  display: none;
  font-size: 12px;
  color: #fbbf24;
  font-weight: 700;
  margin-bottom: 14px;
  padding: 8px 12px;
  background: rgba(251, 191, 36, 0.12);
  border: 1px solid rgba(251, 191, 36, 0.3);
  border-radius: 10px;
  text-align: center;
}

.modal-acoes {
  display: flex;
  flex-direction: column;
  gap: 10px;
  margin-top: 6px;
}

.modal-btn {
  width: 100%;
  padding: 13px 20px;
  border-radius: 50px;
  border: none;
  font-family: 'Nunito', sans-serif;
  font-weight: 900;
  font-size: clamp(14px, 3.8vw, 16px);
  cursor: pointer;
  transition: transform 0.15s, background 0.15s;
}

.modal-btn:active {
  transform: scale(0.97);
}

.modal-btn-sim {
  background: #25d366;
  color: #fff;
}

.modal-btn-sim:hover:not(:disabled) {
  background: #1ebe5d;
}

.modal-btn-sim:disabled {
  background: rgba(37, 211, 102, 0.3);
  cursor: not-allowed;
  opacity: 0.55;
}

.modal-btn-nao {
  background: rgba(255, 255, 255, 0.08);
  color: #c4b5fd;
  border: 1px solid rgba(192, 132, 252, 0.3);
}

.modal-btn-nao:hover {
  background: rgba(255, 255, 255, 0.14);
}

/* === Botão sair rápido === */
.sair-rapido-btn {
  position: fixed;
  top: 12px;
  right: 12px;
  z-index: 50;
  background: #dc2626;
  color: #fff;
  font-family: 'Nunito', sans-serif;
  font-weight: 900;
  font-size: 13px;
  border: none;
  border-radius: 50px;
  cursor: pointer;
  box-shadow: 0 3px 12px rgba(220, 38, 38, 0.45);
  transition: background 0.15s, transform 0.15s;
  white-space: nowrap;
  overflow: hidden;
  width: 32px;
  height: 32px;
  padding: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  animation: sairOvo 6s infinite, ovinho 2s infinite;
}

.sair-rapido-btn:hover {
  background: #b91c1c;
  transform: scale(1.08);
}

.sair-rapido-btn:active {
  transform: scale(0.97);
}

@keyframes sairOvo {
  0% {
    width: 32px;
    border-radius: 50px;
  }

  18% {
    width: 110px;
    border-radius: 50px;
  }

  38% {
    width: 110px;
    border-radius: 50px;
  }

  52% {
    width: 32px;
    border-radius: 50px;
  }

  100% {
    width: 32px;
    border-radius: 50px;
  }
}

.sair-x {
  flex-shrink: 0;
}

.sair-texto {
  overflow: hidden;
  max-width: 0;
  opacity: 0;
  margin-left: 5px;
  animation: sairTexto 6s infinite;
}

@keyframes sairTexto {
  0% {
    max-width: 0;
    opacity: 0;
  }

  18% {
    max-width: 100px;
    opacity: 1;
  }

  38% {
    max-width: 100px;
    opacity: 1;
  }

  52% {
    max-width: 0;
    opacity: 0;
  }

  100% {
    max-width: 0;
    opacity: 0;
  }
}

@keyframes ovinho {
  0% {
    transform: rotate(0deg);
  }

  20% {
    transform: rotate(-8deg);
  }

  40% {
    transform: rotate(8deg);
  }

  60% {
    transform: rotate(-5deg);
  }

  80% {
    transform: rotate(5deg);
  }

  100% {
    transform: rotate(0deg);
  }
}

/* === Controles de acessibilidade === */
.acesso-controls {
  position: fixed;
  top: 12px;
  left: 12px;
  z-index: 50;
  display: flex;
  gap: 5px;
}

.acesso-btn {
  background: rgba(255, 255, 255, 0.15);
  color: #f3e8ff;
  font-family: 'Nunito', sans-serif;
  font-weight: 900;
  font-size: 13px;
  padding: 6px 11px;
  border: 1px solid rgba(192, 132, 252, 0.4);
  border-radius: 50px;
  cursor: pointer;
  backdrop-filter: blur(6px);
  transition: background 0.15s, transform 0.15s;
  line-height: 1;
}

.acesso-btn:hover {
  background: rgba(255, 255, 255, 0.25);
}

.acesso-btn:active {
  transform: scale(0.95);
}

.acesso-btn:disabled {
  opacity: 0.35;
  cursor: not-allowed;
}

/* === Acessibilidade: níveis de fonte === */
[data-fonte="medio"] .main-destaque {
  font-size: clamp(30px, 9vw, 52px);
}

[data-fonte="medio"] .main-title,
[data-fonte="medio"] .main-sub {
  font-size: clamp(20px, 6vw, 30px);
}

[data-fonte="medio"] .impact-text {
  font-size: clamp(16px, 4.5vw, 20px);
}

[data-fonte="medio"] .faq-pergunta {
  font-size: clamp(15px, 4vw, 18px);
}

[data-fonte="medio"] .faq-resposta {
  font-size: clamp(14px, 3.8vw, 17px);
}

[data-fonte="medio"] .num-label {
  font-size: clamp(15px, 4vw, 18px);
}

[data-fonte="medio"] .num-badge {
  font-size: clamp(20px, 5.5vw, 26px);
}

[data-fonte="medio"] .whatsapp-btn {
  font-size: clamp(16px, 4.5vw, 20px);
}

[data-fonte="medio"] .evento-tag {
  font-size: clamp(14px, 3.5vw, 16px);
}

[data-fonte="grande"] .main-destaque {
  font-size: clamp(34px, 11vw, 60px);
}

[data-fonte="grande"] .main-title,
[data-fonte="grande"] .main-sub {
  font-size: clamp(22px, 7vw, 34px);
}

[data-fonte="grande"] .impact-text {
  font-size: clamp(18px, 5.2vw, 23px);
}

[data-fonte="grande"] .faq-pergunta {
  font-size: clamp(17px, 4.8vw, 21px);
}

[data-fonte="grande"] .faq-resposta {
  font-size: clamp(16px, 4.5vw, 20px);
}

[data-fonte="grande"] .num-label {
  font-size: clamp(17px, 4.8vw, 21px);
}

[data-fonte="grande"] .num-badge {
  font-size: clamp(22px, 6.5vw, 30px);
}

[data-fonte="grande"] .whatsapp-btn {
  font-size: clamp(18px, 5vw, 22px);
}

[data-fonte="grande"] .evento-tag {
  font-size: clamp(15px, 4vw, 18px);
}