/* ===== BOTÃO ROSA GOIABA RTS COM GRADIENTE TÉCNICO ===== */
a.btn-rosa {
  display: inline-block;
  font-family: "Montserrat", "Source Sans Pro", Helvetica, sans-serif;
  font-size: 1.1rem !important; 
  font-weight: 600;
  line-height: 1.2;
  padding: 0.75rem 1.8rem;
  border: none;
  border-radius: 6px;
  text-decoration: none;
  text-transform: uppercase;
  letter-spacing: 0.5px;

  color: #fff !important;
  /* Gradiente técnico com o goiaba RTS */
  background: linear-gradient(to bottom,
    color-mix(in srgb, #ff6b6b 88%, #fff 12%) 0%,
    #ff6b6b 45%,
    color-mix(in srgb, #ff6b6b 86%, #000 14%) 100%
  );
  /* fallback se o browser não suportar color-mix */
  background: linear-gradient(to bottom,
    #ff8585 0%,
    #ff6b6b 50%,
    #e85a5a 100%
  );

  box-shadow: 0 4px 6px rgba(0,0,0,.34); /*deslocamento para baixo*/ /*blur*/
  transition: transform .2s ease, box-shadow .2s ease, filter .2s ease;
  cursor: pointer;
}

a.btn-rosa.small {
  font-size: 0.875rem;
  padding: 0.5rem 1rem;
}

a.btn-rosa:hover,
a.btn-rosa:focus {
  transform: translateY(-2px);
  box-shadow: 0 12px 28px rgba(0,0,0,.18);
  filter: brightness(.97);
  outline: none;
}

a.btn-rosa:focus-visible {
  box-shadow: 0 0 0 3px rgba(255,107,107,0.35);
}


/*text align*/
.text-start {
  text-align: left !important;
}

.text-end {
  text-align: right !important;
}

.text-center {
  text-align: center !important;
}

/* Para anular a regra 'uppercase' e respeitar o HTML */
.text-none {
    text-transform: none !important;
}

/*font-size*/
.h2-fluid {
  /* mínimo 1.25rem, cresce com viewport até 2rem no máx. */
  font-size: clamp(1.5rem, 2.5vw, 2rem) !important;
}

.fs-10 {
  font-size: 0.75rem !important;
}

.fs-9 {
  font-size: 1rem !important;
}

.fs-85 {
  font-size: 1.1rem !important;
}

.fs-8 {
  font-size: 1.333rem !important;
}

.fs-75 {
  font-size: 1.5rem !important;
}

.fs-7 {
  font-size: 1.777rem !important;
}

.fs-6 {
  font-size: 2.369rem !important;
}

.fs-5 {
  font-size: 3.157rem !important;
}

.fs-4 {
  font-size: 4.199rem !important;
}

.fs-3 {
  font-size: 5.584rem !important;
}

.fs-2 {
  font-size: 7.427rem !important;
}

.fs-1 {
  font-size: 9.878rem !important;
}

/*Font weight*/

.fw-200 {
    font-weight: 200!important;
}

.fw-300 {
    font-weight: 300!important;
}

.fw-400 {
    font-weight: 400!important;
}

.fw-500 {
    font-weight: 500!important;
}

.fw-700 {
    font-weight: 700!important;
}


/*line weight*/
.lh-1 {
  line-height: 1 !important;
}

.lh-sm {
  line-height: 1.25 !important;
}

.lh-base {
  line-height: 1.45 !important;
}

.lh-lg {
  line-height: 2 !important;
}


/* Imagem responsiva */
img.responsive {
  max-width: 100%; /* Mantém a imagem responsiva em telas menores */
  height: auto;
  display: block;
}

/* Regra específica para desktop (telas com largura mínima de, por exemplo, 768px) */
@media screen and (min-width: 500px) {
  img.responsive {
    max-width: 450px; /* Limita a largura máxima a 400px em telas maiores */
    margin: 0 auto;
  }
}


/* Colors */
.fc-rosa {
    color: #ff6b6b;
}

.fc-whats {
    color: #00a884 !important;    
}

.fc-silver {
  color: #999 !important;
}

.fc-gold {
    color: #a09e2e;
}

.fc-azul-e {
    color: #394f6e;
}

.fc-fisio {
    color: #00AFEF;
}

.fc-white {
  color: #FFF;
}

.fc-white-60 {
  color: rgb(255, 255, 255 / 0.6);
}

.brd-gold {
  border-color: #a09e2e !important;
}



.brd-whats {
  border-color: #00a884 !important;
  border: 2px solid;
  padding: 1rem !important;
  text-align: center;
  font-weight: 500;
  display: inline-block; 
  line-height: 1.5rem;
}

.brd-destaque {
  border: 2px solid #fff; 
  padding: 12px; 
  display: inline-block;"
}

.brd-silver {
  border-color: #999 !important;
}

.brd-rts {
  border-color: #394f6e !important;
}

.bg-gold {
    background-color: #a09e2e !important;
}

.bg-rts {
    background-color: #394f6e !important;
}

.bg-bege {
    background-color: #e4d5b4 !important;
}

.bg-rts-2 {
    background-color: #1a2739 !important;
}

.bg-azul-e {
    background-color: #394f6e !important;
}

.bg-white {
    background-color: #fff !important;
}

/*paddings*/
.p-0 {
  padding: 0 !important;
}

.p-1 {
  padding: 0.25rem !important;
}

.p-2 {
  padding: 0.5rem !important;
}

.p-3 {
  padding: 1rem !important;
}

.p-4 {
  padding: 1.8rem !important;
}

.p-5 {
  padding: 3rem !important;
}

.p-6 {
  padding: 4rem !important;
}

.p-7 {
  padding: 5rem !important;
}

.p-8 {
  padding: 7.5rem !important;
}

.p-9 {
  padding: 10rem !important;
}

.p-10 {
  padding: 12.5rem !important;
}

.p-11 {
  padding: 15rem !important;
}

.px-0 {
  padding-right: 0 !important;
  padding-left: 0 !important;
}

.px-1 {
  padding-right: 0.25rem !important;
  padding-left: 0.25rem !important;
}

.px-2 {
  padding-right: 0.5rem !important;
  padding-left: 0.5rem !important;
}

.px-3 {
  padding-right: 1rem !important;
  padding-left: 1rem !important;
}

.px-4 {
  padding-right: 1.8rem !important;
  padding-left: 1.8rem !important;
}

.px-5 {
  padding-right: 3rem !important;
  padding-left: 3rem !important;
}

.px-6 {
  padding-right: 4rem !important;
  padding-left: 4rem !important;
}

.px-7 {
  padding-right: 5rem !important;
  padding-left: 5rem !important;
}

.px-8 {
  padding-right: 7.5rem !important;
  padding-left: 7.5rem !important;
}

.px-9 {
  padding-right: 10rem !important;
  padding-left: 10rem !important;
}

.px-10 {
  padding-right: 12.5rem !important;
  padding-left: 12.5rem !important;
}

.px-11 {
  padding-right: 15rem !important;
  padding-left: 15rem !important;
}

.py-0 {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

.py-1 {
  padding-top: 0.25rem !important;
  padding-bottom: 0.25rem !important;
}

.py-2 {
  padding-top: 0.5rem !important;
  padding-bottom: 0.5rem !important;
}

.py-3 {
  padding-top: 1rem !important;
  padding-bottom: 1rem !important;
}

.py-4 {
  padding-top: 1.8rem !important;
  padding-bottom: 1.8rem !important;
}

.py-5 {
  padding-top: 3rem !important;
  padding-bottom: 3rem !important;
}

.py-6 {
  padding-top: 4rem !important;
  padding-bottom: 4rem !important;
}

.py-7 {
  padding-top: 5rem !important;
  padding-bottom: 5rem !important;
}

.py-8 {
  padding-top: 7.5rem !important;
  padding-bottom: 7.5rem !important;
}

.py-9 {
  padding-top: 10rem !important;
  padding-bottom: 10rem !important;
}

.py-10 {
  padding-top: 12.5rem !important;
  padding-bottom: 12.5rem !important;
}

.py-11 {
  padding-top: 15rem !important;
  padding-bottom: 15rem !important;
}

.pt-0 {
  padding-top: 0 !important;
}

.pt-1 {
  padding-top: 0.25rem !important;
}

.pt-2 {
  padding-top: 0.5rem !important;
}

.pt-3 {
  padding-top: 1rem !important;
}

.pt-4 {
  padding-top: 1.8rem !important;
}

.pt-5 {
  padding-top: 3rem !important;
}

.pt-6 {
  padding-top: 4rem !important;
}

.pt-7 {
  padding-top: 5rem !important;
}

.pt-8 {
  padding-top: 7.5rem !important;
}

.pt-9 {
  padding-top: 10rem !important;
}

.pt-10 {
  padding-top: 12.5rem !important;
}

.pt-11 {
  padding-top: 15rem !important;
}

.pe-0 {
  padding-right: 0 !important;
}

.pe-1 {
  padding-right: 0.25rem !important;
}

.pe-2 {
  padding-right: 0.5rem !important;
}

.pe-3 {
  padding-right: 1rem !important;
}

.pe-4 {
  padding-right: 1.8rem !important;
}

.pe-5 {
  padding-right: 3rem !important;
}

.pe-6 {
  padding-right: 4rem !important;
}

.pe-7 {
  padding-right: 5rem !important;
}

.pe-8 {
  padding-right: 7.5rem !important;
}

.pe-9 {
  padding-right: 10rem !important;
}

.pe-10 {
  padding-right: 12.5rem !important;
}

.pe-11 {
  padding-right: 15rem !important;
}

.pb-0 {
  padding-bottom: 0 !important;
}

.pb-1 {
  padding-bottom: 0.25rem !important;
}

.pb-2 {
  padding-bottom: 0.5rem !important;
}

.pb-3 {
  padding-bottom: 1rem !important;
}

.pb-4 {
  padding-bottom: 1.8rem !important;
}

.pb-5 {
  padding-bottom: 3rem !important;
}

.pb-6 {
  padding-bottom: 4rem !important;
}

.pb-7 {
  padding-bottom: 5rem !important;
}

.pb-8 {
  padding-bottom: 7.5rem !important;
}

.pb-9 {
  padding-bottom: 10rem !important;
}

.pb-10 {
  padding-bottom: 12.5rem !important;
}

.pb-11 {
  padding-bottom: 15rem !important;
}

.ps-0 {
  padding-left: 0 !important;
}

.ps-1 {
  padding-left: 0.25rem !important;
}

.ps-2 {
  padding-left: 0.5rem !important;
}

.ps-3 {
  padding-left: 1rem !important;
}

.ps-4 {
  padding-left: 1.8rem !important;
}

.ps-5 {
  padding-left: 3rem !important;
}

.ps-6 {
  padding-left: 4rem !important;
}

.ps-7 {
  padding-left: 5rem !important;
}

.ps-8 {
  padding-left: 7.5rem !important;
}

.ps-9 {
  padding-left: 10rem !important;
}

.ps-10 {
  padding-left: 12.5rem !important;
}

.ps-11 {
  padding-left: 15rem !important;
}

/*Margins*/
.m-0 {
  margin: 0 !important;
}

.m-1 {
  margin: 0.25rem !important;
}

.m-2 {
  margin: 0.5rem !important;
}

.m-3 {
  margin: 1rem !important;
}

.m-4 {
  margin: 1.8rem !important;
}

.m-5 {
  margin: 3rem !important;
}

.m-6 {
  margin: 4rem !important;
}

.m-7 {
  margin: 5rem !important;
}

.m-8 {
  margin: 7.5rem !important;
}

.m-9 {
  margin: 10rem !important;
}

.m-10 {
  margin: 12.5rem !important;
}

.m-11 {
  margin: 15rem !important;
}

.m-auto {
  margin: auto !important;
}

.mx-0 {
  margin-right: 0 !important;
  margin-left: 0 !important;
}

.mx-1 {
  margin-right: 0.25rem !important;
  margin-left: 0.25rem !important;
}

.mx-2 {
  margin-right: 0.5rem !important;
  margin-left: 0.5rem !important;
}

.mx-3 {
  margin-right: 1rem !important;
  margin-left: 1rem !important;
}

.mx-4 {
  margin-right: 1.8rem !important;
  margin-left: 1.8rem !important;
}

.mx-5 {
  margin-right: 3rem !important;
  margin-left: 3rem !important;
}

.mx-6 {
  margin-right: 4rem !important;
  margin-left: 4rem !important;
}

.mx-7 {
  margin-right: 5rem !important;
  margin-left: 5rem !important;
}

.mx-8 {
  margin-right: 7.5rem !important;
  margin-left: 7.5rem !important;
}

.mx-9 {
  margin-right: 10rem !important;
  margin-left: 10rem !important;
}

.mx-10 {
  margin-right: 12.5rem !important;
  margin-left: 12.5rem !important;
}

.mx-11 {
  margin-right: 15rem !important;
  margin-left: 15rem !important;
}

.mx-auto {
  margin-right: auto !important;
  margin-left: auto !important;
}

.my-0 {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}

.my-1 {
  margin-top: 0.25rem !important;
  margin-bottom: 0.25rem !important;
}

.my-2 {
  margin-top: 0.5rem !important;
  margin-bottom: 0.5rem !important;
}

.my-3 {
  margin-top: 1rem !important;
  margin-bottom: 1rem !important;
}

.my-4 {
  margin-top: 1.8rem !important;
  margin-bottom: 1.8rem !important;
}

.my-5 {
  margin-top: 3rem !important;
  margin-bottom: 3rem !important;
}

.my-6 {
  margin-top: 4rem !important;
  margin-bottom: 4rem !important;
}

.my-7 {
  margin-top: 5rem !important;
  margin-bottom: 5rem !important;
}

.my-8 {
  margin-top: 7.5rem !important;
  margin-bottom: 7.5rem !important;
}

.my-9 {
  margin-top: 10rem !important;
  margin-bottom: 10rem !important;
}

.my-10 {
  margin-top: 12.5rem !important;
  margin-bottom: 12.5rem !important;
}

.my-11 {
  margin-top: 15rem !important;
  margin-bottom: 15rem !important;
}

.my-auto {
  margin-top: auto !important;
  margin-bottom: auto !important;
}

.mt-0 {
  margin-top: 0 !important;
}

.mt-1 {
  margin-top: 0.25rem !important;
}

.mt-2 {
  margin-top: 0.5rem !important;
}

.mt-3 {
  margin-top: 1rem !important;
}

.mt-4 {
  margin-top: 1.8rem !important;
}

.mt-5 {
  margin-top: 3rem !important;
}

.mt-6 {
  margin-top: 4rem !important;
}

.mt-7 {
  margin-top: 5rem !important;
}

.mt-8 {
  margin-top: 7.5rem !important;
}

.mt-9 {
  margin-top: 10rem !important;
}

.mt-10 {
  margin-top: 12.5rem !important;
}

.mt-11 {
  margin-top: 15rem !important;
}

.mt-auto {
  margin-top: auto !important;
}

.me-0 {
  margin-right: 0 !important;
}

.me-1 {
  margin-right: 0.25rem !important;
}

.me-2 {
  margin-right: 0.5rem !important;
}

.me-3 {
  margin-right: 1rem !important;
}

.me-4 {
  margin-right: 1.8rem !important;
}

.me-5 {
  margin-right: 3rem !important;
}

.me-6 {
  margin-right: 4rem !important;
}

.me-7 {
  margin-right: 5rem !important;
}

.me-8 {
  margin-right: 7.5rem !important;
}

.me-9 {
  margin-right: 10rem !important;
}

.me-10 {
  margin-right: 12.5rem !important;
}

.me-11 {
  margin-right: 15rem !important;
}

.me-auto {
  margin-right: auto !important;
}

.mb-0 {
  margin-bottom: 0 !important;
}

.mb-1 {
  margin-bottom: 0.25rem !important;
}

.mb-2 {
  margin-bottom: 0.5rem !important;
}

.mb-3 {
  margin-bottom: 1rem !important;
}

.mb-4 {
  margin-bottom: 1.8rem !important;
}

.mb-5 {
  margin-bottom: 3rem !important;
}

.mb-6 {
  margin-bottom: 4rem !important;
}

.mb-7 {
  margin-bottom: 5rem !important;
}

.mb-8 {
  margin-bottom: 7.5rem !important;
}

.mb-9 {
  margin-bottom: 10rem !important;
}

.mb-10 {
  margin-bottom: 12.5rem !important;
}

.mb-11 {
  margin-bottom: 15rem !important;
}

.mb-auto {
  margin-bottom: auto !important;
}

.ms-0 {
  margin-left: 0 !important;
}

.ms-1 {
  margin-left: 0.25rem !important;
}

.ms-2 {
  margin-left: 0.5rem !important;
}

.ms-3 {
  margin-left: 1rem !important;
}

.ms-4 {
  margin-left: 1.8rem !important;
}

.ms-5 {
  margin-left: 3rem !important;
}

.ms-6 {
  margin-left: 4rem !important;
}

.ms-7 {
  margin-left: 5rem !important;
}

.ms-8 {
  margin-left: 7.5rem !important;
}

.ms-9 {
  margin-left: 10rem !important;
}

.ms-10 {
  margin-left: 12.5rem !important;
}

.ms-11 {
  margin-left: 15rem !important;
}

.ms-auto {
  margin-left: auto !important;
}

/* Responsividade e proporção da logo do RTS */
.header_section img {
  max-width: 180px;        /* limite superior, mantém visual equilibrado */
  min-width: 120px;        /* garante legibilidade mínima */
  width: 12vw;             /* escala suave conforme o viewport */
  height: auto;            /* preserva proporção original */
  transition: all 0.3s ease;
}


/* Ajustes para telas menores */
@media (max-width: 768px) {
  .header_section img {
    max-width: 150px;
    min-width: 100px;
    width: 35vw;
  }
}

/* --- Primeira dobra (tipografia & layout) --- */
.hero-title{
  font-weight:700;
  line-height:1.1;
  letter-spacing:-0.02em;
  font-size:clamp(28px, 4.2vw, 48px);
  margin-bottom:12px;
}

.hero-lead{
  font-size:clamp(16px, 1.6vw, 20px);
  line-height:1.5;
  margin:10px 0 18px;
  color:#f3f3f3; /* texto claro sobre fundo do tema */
}


/* Mantém o respiro e não deixa tudo “grudar” no topo */
.slider_section{
  padding-top:72px;
  padding-bottom:48px;
}

/* --- Meta do evento (chip único + nota) --- */
.meta{
  margin:14px 0 18px;
}

.chip{
  display:inline-flex;
  align-items:center;
  gap:10px;
  padding:8px 14px;
  border-radius:999px;
  font-size:14px;
  line-height:1.3;
  white-space:normal; /* permite quebra no mobile */
}

.chip-live{
  color:#394f6e;
  border:1px solid #394f6e;
  background:rgba(248,132,43,0.06);
  box-shadow:0 0 0 2px rgba(248,132,43,0.08) inset;
}
.chip-live .fa{ opacity:0.95; }

.cta-primary{
  font-weight:600;
  letter-spacing:0.2px;
  padding:14px 20px; /* um pouco maior que a .btn1 padrão */
}

.meta-note{
  margin-top:10px;
  font-size:0.95rem;
  opacity:0.95;
}

/* Imagem: garante proporção e não “puxa” a dobra */
.slider_section .img-box img{
  width:100%;
  height:auto;
  max-height:520px;
  object-fit:contain;
}


/* Responsivo: empilha melhor e dá respiro */
@media (max-width:768px){
  .slider_section{ padding-top:48px; padding-bottom:36px; }
  .chip{ font-size:13px; padding:7px 12px; }
  .meta-note{ font-size:0.92rem; }
}


/* Centraliza no desktop e impede quebra */
.note-price{
  text-align: center;
}
.note-price i{
  display: inline-block;
  white-space: nowrap;
}

/* No mobile, permite quebra exatamente após o preço */
.br-mobile{ display: none; }

@media (max-width: 768px){
  .note-price i{
    white-space: normal;   /* libera quebras no mobile */
  }
  .br-mobile{
    display: inline;       /* ativa a quebra após o preço */
  }
}


/* ======== DOBRA 1 (limpo) ======== */

/* 1) Seção 1: referência de empilhamento e transbordo vertical liberado */
.slider_section{
  position: relative;
  z-index: 2;                 /* acima da seção 2 */
  background-color: #0db6ef;  /* mantém sua cor */
  overflow-x: hidden;         /* segura qualquer bleed horizontal do canvas */
  overflow-y: visible;        /* permite o selo "sair" da seção */
}


/* 2) Partículas atrás de tudo */
#particles-js{
  position: absolute;
  inset: 0;
  z-index: 0;                 /* atrás do conteúdo e do selo */
  pointer-events: none;
}
#particles-js canvas{
  position: absolute !important;
  left: 0 !important;
  top: 0 !important;
  width: 100% !important;
  height: 100% !important;
  max-width: 100% !important;
  display: block !important;
}

/* 3) Conteúdo normal (nada de position nos filhos genéricos!) */
.slider_section .container,
.slider_section .container-fluid{
  position: relative;         /* só o wrapper, sem mexer em todos os filhos */
  z-index: 1;                 /* acima do canvas */
}


.buscador {
  text-transform: uppercase; 
  font-family: poppins; 
  font-size: 0.9rem; 
  font-weight: 400 !important;
  color: #394f6e;
}

/* — Tipografia do tema (override) — */

/* Texto corrido padrão em Baskerville */
body, p, li, blockquote, small, .hero-lead, .badge-pill, .case_section .box .detail-box p {
  font-family: "Libre Baskerville", Baskerville, "Times New Roman", serif;
  font-weight: 400;
  line-height: 1.55;
}

/* Títulos principais h1 e h2 em Poppins (mais “headline”) */
h1, h2,
.heading_container h2,           /* compatível com o tema */
.navbar-brand span {             /* caso use texto no logo */
  font-family: "Libre Baskerville", Baskerville, "Times New Roman", serif;
  font-weight: 700;
  letter-spacing: -0.015em;  
}

/* h3+ em Baskerville para reforçar tom científico */
h3, h4, h5, h6 {
  font-family: "Libre Baskerville", Baskerville, "Times New Roman", serif;
  font-weight: 700; /* pode usar 400 se preferir subtítulos mais leves */
  letter-spacing: -0.01em;
  line-height: 1.35;
}

/* Ajustes finos opcionais para a primeira dobra */
.hero-title {                    /* se você já estiver usando essa classe */
  font-family: "Poppins", system-ui, -apple-system, "Segoe UI", sans-serif;
  font-weight: 700;
}

.hero-lead {                     /* mantém corpo da dobra em Baskerville */
  font-size: clamp(16px, 1.6vw, 20px);
}


/* --- Bloco científico: mobile-first, tipografia RTS --- */
.intro_science{
  padding: 40px 0 28px;              /* respiro na mobile */
  background: #ffffff;                /* superfície clara privilegia leitura científica */
}

.intro_science .intro-wrap{
  max-width: 68ch;                    /* largura ideal de leitura */
  margin: 0 auto;                     /* centraliza na mobile */
  text-align: center;                 /* mobile: centro */
}

/* Título principal (Poppins) */
.intro_science .intro-title{
  font-family: "Libre Baskerville", Baskerville, "Times New Roman", serif;
  font-weight: 700;
  letter-spacing: -0.01em;
  line-height: 1.2;
  font-size: clamp(20px, 5.2vw, 25px);
  color: #4d4d4d;
  margin: 0 0 10px;
  position: relative;
}



/* Descrição (Libre Baskerville) */
.intro_science .intro-desc{
  font-family: "Libre Baskerville", Baskerville, "Times New Roman", serif;
  font-weight: 400;
  line-height: 1.6;
  font-style: italic;
  font-size: clamp(20px, 3.4vw, 25px);
  color: #5d5b5b;
  margin: 6px 0 0;
}

/* Desktop/tablet: alinha à esquerda e aumenta respiro */
@media (min-width: 992px){
  .intro_science{ padding: 56px 0 40px; }
  .intro_science .intro-wrap{ text-align: left; }
  .intro_science .intro-title::after{ margin-left: 0; } /* filete alinha ao texto */
}

.intro_science .img-box img{
  display: block;
  margin: 0 auto;           /* garante centralização até fora do grid */
  max-width: 100%;
  height: auto;
}

/* opcional: equaliza altura e espaçamento entre os dois SVGs */
.intro_science .row{
  gap: 12px;
}

/* garante que os títulos não grudem nos SVGs */
.intro_science .intro-title{
  margin-top: 24px;
}


/* Sublinhado animado */
.und-animate{
  --ink:#00AFEF;            /* cor da linha */
  --offset-y:0.12em;        /* quão perto do baseline */
  --reveal:0;               /* 0..1 */
  background-image: linear-gradient(var(--ink), var(--ink));
  background-repeat: no-repeat;
  background-position: 0 calc(100% - var(--offset-y));
  background-size: calc(var(--reveal) * 100%) 2px; /* espessura */
  transition: background-size 0.9s ease-out 0.2s;  /* atraso curto e visível */
  -webkit-box-decoration-break: clone;
  box-decoration-break: clone;
  will-change: background-size;
}

/* Marca-texto progressivo */
.highlight-progress{
  --ink:#c5eeff;
  --pad-y:.15em; --offset-y:.1em; --reveal:0;
  background-image: linear-gradient(var(--ink), var(--ink));
  background-repeat:no-repeat;
  background-position: 0 calc(100% - var(--offset-y));
  background-size: calc(var(--reveal)*100%) calc(1em + var(--pad-y)*2);
  transition: background-size 1.4s ease-out;
  -webkit-box-decoration-break: clone;
  box-decoration-break: clone;
  will-change: background-size;
}

/* Acessibilidade */
@media (prefers-reduced-motion: reduce){
  .highlight-progress,
  .und-animate{ transition: none; }
}


/* --- Seção de informações do evento --- */
.event-info{
  background-color: #f9f9fb;            /* leve fundo neutro */
  padding: 64px 0;
  /*border-top: 1px solid rgba(0,0,0,0.05);*/
  border-bottom: 1px solid rgba(0,0,0,0.05);
}

.event-info .info-wrap{
  max-width: 720px;
  margin: 0 auto;
  text-align: center;
}

/* título */
.event-info .info-title{
  font-family: "Poppins", sans-serif;
  font-weight: 700;
  /* font-size: clamp(25px, 4vw, 30px);*/
  color: #fff;
  margin-bottom: 28px;
  position: relative;
}

/* sublinhado científico (sutil e institucional) */
.event-info .info-title::after{
  content: "";
  display: block;
  width: 64px;
  height: 3px;
  background-color: #0db6ef;
  margin: 12px auto 0;
  border-radius: 2px;
}

/* lista de informações */
.event-info .info-list{
  list-style: none;
  padding: 0;
  margin: 0;
  display: grid;
  gap: 12px;
  justify-content: center;
}

.event-info .info-list li{
  font-family: "Libre Baskerville", Baskerville, "Times New Roman", serif;
  font-size: clamp(15px, 2.2vw, 18px);
  color: #7a7b7d;
  /* gradiente: branco sólido até 50 px do fim, depois transparente */
  background: linear-gradient(
    to right,
    rgba(255,255,255,0.9) 0%,
    rgba(255,255,255,0.7) ,
    rgba(255,255,255,0.5) 100%
  );  
  box-shadow: 0 2px 6px rgba(0,0,0,0.03);  
  padding: 14px 20px;
  transition: transform 0.25s ease, box-shadow 0.25s ease;
}


/* hover sutil (desktop) */
@media (hover:hover){
  .event-info .info-list li:hover{
    transform: translateY(-3px);
    box-shadow: 0 6px 14px rgba(0,0,0,0.05);
  }
}

/* responsividade e respiro mobile */
@media (max-width: 768px){
  .event-info{
    padding: 48px 0;
  }
  .event-info .info-list li{
    padding: 12px 16px;
  }
}

/* Layout “tabela” com labels e valores alinhados à esquerda */
.event-info .info-list{
  --label-w: 7.5rem;                  /* largura do label no mobile (ajuste se precisar) */
  list-style: none;
  padding: 0;
  margin: 0;
  display: grid;
  gap: 10px;
}

.event-info .info-list li{
  display: grid;
  grid-template-columns: var(--label-w) 1fr;  /* 1ª col fixa (label), 2ª fluida (valor) */
  align-items: start;
  column-gap: 12px; /* ← É ESTE VALOR */

  font-family: "Poppins", sans-serif;
  font-size: clamp(15px, 2.2vw, 18px);
  color: #7a7b7d;  
  border-right: 1px solid rgba(13,182,239,1);
  border-left: 5px solid rgba(13,182,239,1);
  box-shadow: 0 2px 6px rgba(13,182,239,0.03);  
  padding: 12px 19px;
}


/* Alinhamento à esquerda (já padrão), com ênfase no label */
.event-info .info-list .label{
  font-family: "Poppins", sans-serif;
  font-weight: 400;
  color: #7a7b7d;                     /* cor de ação RTS */
  text-align: left;
  text-transform: uppercase;
  border-right: 1px solid #394f6e;
}
.event-info .info-list .value{
  text-align: left;
  color: #5d5b5b;
  word-break: break-word;              /* evita extravasar em nomes longos */
}

/* Maior conforto em telas médias e grandes: aumenta a coluna do label */
@media (min-width: 576px){
  .event-info .info-list{ --label-w: 10.5rem; }
}
@media (min-width: 992px){
  .event-info .info-list{ --label-w: 12rem; }
}

/* (Opcional) estado hover sutil no desktop */
@media (hover:hover){
  .event-info .info-list li{
    transition: transform .2s ease, box-shadow .2s ease;
  }
  .event-info .info-list li:hover{
    transform: translateY(-2px);
    box-shadow: 0 6px 14px rgba(0,0,0,0.05);
  }
}

/* CTA no final da seção de informações */
.event-info .cta-wrap{
  text-align: center;
  margin-top: 36px;
}

/* botão institucional RTS */
.btn-cta{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0.9em 2em;
  font-family: "Poppins", sans-serif;
  font-weight: 600;
  font-size: clamp(15px, 1.4vw, 17px);
  color: #ffffff;
  background-color: #ff6b6b;   /* cor de ação RTS */
  border: none;
  border-radius: 6px;
  cursor: pointer;
  text-decoration: none;
  line-height: 1.2;
  box-shadow: 0 4px 10px rgba(255,107,107,0.25);
  transition: all 0.25s ease;
}

.btn-cta:hover{
  background-color: #e85a5a;
  box-shadow: 0 6px 16px rgba(255,107,107,0.35);
  transform: translateY(-2px);
  color: #fff;
}

/* no mobile ocupa toda a largura */
@media (max-width: 768px){
  .btn-cta{
    width: 100%;
    max-width: 480px;
    margin: 0 auto;
    padding: 1em;
  }
}

/* Seção com fundo azul e transbordo habilitado */
/* seção controla a altura máxima via variável */
.event-info{
  --triH: 0px;              /* altura atual (animada via JS) */
  --triHmax: 30px;          /* altura máxima desejada */
  position: relative;
  background: #3d4249;
  color: #f3f5f8;
  padding: clamp(44px, 7vw, 72px) 0;
  overflow: visible;
  z-index: 2;
}

/* Triângulo branco central que “invade” o azul ao rolar */
.event-info::before{
  content: "";
  position: absolute;
  top: -2px;                      /* empurra 2 px pra cima */
  left: 50%;
  transform: translateX(-50%);
  width: 60px;                          /* base do triângulo (ajuste se quiser) */
  height: var(--triH);                    /* ANIMADO */
  background: #ffffff;
  clip-path: polygon(50% 100%, 0 0, 100% 0); /* vértice para baixo */
  z-index: 1;
  pointer-events: none;
  transition: height 240ms ease;         /* suaviza mudanças do JS */
}

/* acessibilidade: quem prefere menos movimento vê a seta já no tamanho final */
@media (prefers-reduced-motion: reduce){
  .event-info{ --triH: var(--triHmax); }
  .event-info::before{ transition: none; }
}


/* --- RODAPÉ: triângulo azul que invade a seção branca abaixo (FORA) --- */
.event-info::after{
  content: "";
  position: absolute;
  left: 0;
  bottom: calc(-1 * clamp(24px, 5vw, 56px));  /* empurra para fora da seção */
  width: 100%;
  height: clamp(24px, 5vw, 56px);
  background: #3d4249;               /* mesma cor da .event-info */
  /* triângulo apontando para cima, centralizado */
  clip-path: polygon(50% 100%, 0 0, 100% 0);
  pointer-events: none;
  z-index: 1;                        /* fica sobre a próxima seção (branca) */
}

/* Garante que o conteúdo fique acima do notch superior */
.event-info .container{ position: relative; z-index: 2; }

/* Dê à seção seguinte um z-index menor (caso precise) */
.next-section{
  position: relative;
  z-index: 1;
  background: #ffffff;               /* cor da próxima seção (exemplo) */
}


/* Por que é diferente */
/* Seção “Por que este Fórum é diferente” */
.why-simple{
  background: #ffffff;
  padding: clamp(36px, 6vw, 64px) 0;
}

/* Título padronizado com a seção anterior */
.why-simple .info-title{
  font-family: "Poppins", sans-serif;
  font-weight: 700;
  /*font-size: clamp(25px, 4.2vw, 30px);*/
  color: #394f6e;
  text-align: center;
  margin: 28px auto 55px auto;
  position: relative;
}

/* linha azul centralizada abaixo do título */
.why-simple .info-title::after{
  content: "";
  display: block;
  width: 64px;
  height: 3px;
  background-color: #0db6ef;
  margin: 12px auto 0;
  border-radius: 2px;
}

/* Grid do texto: 1 col no mobile, 2 col no desktop */
/* Layout editorial com colunas de texto contínuas */
.why-simple .why-cols{
  column-count: 1;               /* mobile: uma coluna */
  column-gap: 51px;              /* distância entre colunas */
  max-width: 980px;
  margin: 0 auto;
}

@media (min-width: 992px){
  .why-simple .why-cols{
    column-count: 2;             /* desktop: duas colunas */
  }
}

/* espaçamento entre parágrafos */
.why-simple .why-cols p{
  break-inside: avoid;           /* evita quebrar parágrafos no meio */
  margin-bottom: 15px;
}


/* Texto e espaçamento */
.why-simple .why-cols > p{
  font-family: "Libre Baskerville", Baskerville, "Times New Roman", serif;
  font-style: italic;
  font-size: clamp(18px, 2.2vw, 22px);
  line-height: 1.65;
  color: #5d5b5b; 
}

/* Nota de preço */
.why-simple .price-note{
  color: #7a7b7d;
  font-style: italic;
  margin-top: 11px;
}

/* CTA centralizado */
.why-simple .cta-wrap{
  text-align: center;
  margin-top: clamp(12px, 4vw, 78px);  
}

.why-simple .btn-cta{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: .9em 1.8em;
  font-family: "Poppins", sans-serif;
  font-weight: 600;
  font-size: clamp(15px, 1.4vw, 17px);
  color: #fff;
  background: #00d3ff;
  border-radius: 8px;
  text-decoration: none;
  line-height: 1.2;
  box-shadow: 0 6px 16px rgba(255,107,107,.22);
  transition: transform .2s ease, box-shadow .2s ease, background .2s ease;
}
.why-simple .btn-cta:hover{
  background: #394f6e;
  transform: translateY(-2px);
  box-shadow: 0 10px 22px rgba(255,107,107,.3);
  color: #fff;
}

/* === Blockquote destacado (inspirado no layout enviado) === */
.quote-feature{
  display: grid;
  grid-template-columns: auto 1fr;   /* coluna das aspas + texto */
  column-gap: 12px;
  align-items: start;
  max-width: 920px;
  margin: 18px auto;                 /* centraliza no container */
}

.quote-feature::before{
  content: "“";
  font-family: "Libre Baskerville", Baskerville, "Times New Roman", serif;
  font-size: clamp(96px, 6vw, 56px);
  line-height: 1;
  color: #ff6b6b;                    /* cor de ação RTS (aspas grandes) */
  margin-top: -4px;                  /* pequeno ajuste óptico */
}

.quote-feature blockquote{
  margin: 0;                         /* zera margens padrão */
}

.quote-feature blockquote p{
  font-family: "Libre Baskerville", Baskerville, "Times New Roman", serif;
  font-style: italic;
  font-weight: 700;                   /* “peso” do destaque */
  font-size: clamp(23px, 1.8vw, 28px);
  line-height: 1.55;
  color: #5d5b5b;
  margin: 0;  
}


/* Responsividade: mantém a estrutura sem “quebrar” no mobile */
@media (max-width: 480px){
  .quote-feature{ column-gap: 10px; }
  .quote-feature::before{ font-size: 96px; }
}

/* padroniza títulos de seção como o "Tudo que você precisa saber" */
.client_section .heading_container .h1{
  font-family: "Poppins", sans-serif;
  font-weight: 700;
  font-size: clamp(25px, 4.2vw, 30px);
  color: #394f6e;
  text-align: center;
  margin-bottom: 28px;
  position: relative;
}

/* linha azul abaixo do título */
.client_section .heading_container .h1::after{
  content: "";
  display: block;
  width: 64px;
  height: 3px;
  background-color: #0db6ef;
  margin: 12px auto 0;
  border-radius: 2px;
}

/* CTA conclusivo antes do FAQ */
.cta-final{
  background: #f9f9fb;                  /* fundo neutro e leve */
  padding: clamp(48px, 7vw, 80px) 0;
  text-align: center;
  border-top: 1px solid rgba(0,0,0,.05);
}

/* título segue padrão de seções anteriores */
.cta-final .section-title{
  font-family: "Poppins", sans-serif;
  font-weight: 700;
  font-size: clamp(20px, 4.2vw, 26px);
  color: #394f6e;
  margin-bottom: 28px;
  position: relative;
}
.cta-final .section-title::after{
  content: "";
  display: block;
  width: 64px;
  height: 3px;
  background-color: #0db6ef;
  margin: 12px auto 0;
  border-radius: 2px;
}

/* texto explicativo */
.cta-final .cta-desc{
  font-family: "Libre Baskerville", Baskerville, serif;
  font-size: clamp(15px, 2.2vw, 18px);
  line-height: 1.65;
  color: #2a2a2a;
  max-width: 760px;
  margin: 30px auto clamp(22px, 4vw, 36px);
}

/* botão já no padrão RTS */
.cta-final .btn-cta{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: .9em 2em;
  font-family: "Poppins", sans-serif;
  font-weight: 600;
  font-size: clamp(15px, 1.4vw, 17px);
  color: #fff;
  background: #ff6b6b;
  border: none;
  border-radius: 8px;
  text-decoration: none;
  box-shadow: 0 6px 16px rgba(255,107,107,.22);
  transition: transform .2s ease, box-shadow .2s ease, background .2s ease;
}
.cta-final .btn-cta:hover{
  background: #e85a5a;
  transform: translateY(-2px);
  box-shadow: 0 10px 22px rgba(255,107,107,.3);
}

/* ===== FAQ / Accordion ===== */


.footer_section .section-title{
  font-family: "Poppins", sans-serif;
  font-weight: 700;
  font-size: clamp(20px, 4.2vw, 26px);
  color: #394f6e;
  text-align: center;
  margin-bottom: 28px;
  position: relative;
}
.footer_section .section-title::after{
  content: "";
  display: block;
  width: 64px;
  height: 3px;
  background-color: #0db6ef;
  margin: 12px auto 0;
  border-radius: 2px;
}

/* container do accordion */
.accordion{
  max-width: 820px;
  margin: 0 auto;
  border-top: 1px solid rgba(0,0,0,0.08);
}

/* cada item */
.accordion-item{
  border-bottom: 1px solid rgba(0,0,0,0.08);
}

/* botão de abertura */
.accordion-header{
  width: 100%;
  background: none;
  border: none;
  text-align: left;
  padding: 18px 0;
  font-family: "Poppins", sans-serif;
  font-weight: 600;
  font-size: clamp(16px, 2.4vw, 18px);
  color: #394f6e;
  cursor: pointer;
  display: flex;
  justify-content: space-between;
  align-items: center;
  transition: color 0.2s ease;
  max-width: 95%;
}
.accordion-header:hover{
  color: #f3f1e9;
}

/* ícone (sinal de + e -) */
.accordion-header .icon{
  position: relative;
  width: 16px;
  height: 16px;
}
.accordion-header .icon::before,
.accordion-header .icon::after{
  content: "";
  position: absolute;
  top: 50%; left: 50%;
  width: 100%;
  height: 2px;
  background: #f3f1e9;
  transition: transform 0.25s ease;
  transform: translate(-50%, -50%);
}
.accordion-header .icon::after{
  transform: translate(-50%, -50%) rotate(90deg);
}
.accordion-item.active .icon::after{
  transform: translate(-50%, -50%) rotate(0deg);
}

/* conteúdo */
.accordion-content{
  font-family: "Poppins", sans-serif;
  font-size: clamp(15px, 2.2vw, 17px);
  color: #333;
  line-height: 1.6;
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.35s ease;
  padding: 0;
  text-align: left;;
}


.accordion-item.active .accordion-content{
  padding: 0 0 16px 3rem;
  max-height: 380px; /* ajuste conforme o texto */
  max-width: 85%;
}

.accordion-header {
  outline: none;
}

.accordion-header:focus {
  outline: none;
  box-shadow: none;
}


.footer_container {
  background-color: #0db6ef;
  color: #ffffff;
  border-radius: 350px 0 0 0;
  padding-top: 145px;
}

/* Mobile: curvatura mais suave */
@media (max-width: 768px){
  footer .footer_container {
    border-radius: 80px 0 0 0;
    padding-top: 80px;
  }
}

.rodape {
  font-size: 12px; 
  color: #fff;    
  font-family: "Poppins", sans-serif;
}

.back-to-top {
  position: fixed;
  bottom: 30px;
  right: 30px;
  background-color: var(--accent-fisio, #0E2A47);
  color: #fff;
  border: none;
  border-radius: 50%;
  width: 46px;
  height: 46px;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  box-shadow: 0 4px 8px rgba(0,0,0,0.15);
  opacity: 0;
  visibility: hidden;
  transform: translateY(8px);        /* entra levemente “de baixo” */
  transition: opacity .3s ease, visibility .3s ease, transform .3s ease, background-color .2s ease;
  z-index: 9999;
}

.back-to-top.show{
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}

.back-to-top:hover {
  background-color: var(--accent-goiaba, #E94F64);
  transform: translateY(-3px);
}

@media (prefers-reduced-motion: reduce){
  .back-to-top { transition: none; transform: none; }
  .back-to-top:hover { transform: none; }
}

/* ====== HERO VISUAL (comparativo) ====== */
.slider_section .hero-visual{
  position: relative;
  width: 100%;
  max-height: 520px;
  aspect-ratio: 16/10;
  overflow: hidden;
  margin-bottom: 0px;
}

/* <picture class="frame"> empilhado com fade */
.slider_section .hero-visual .frame{
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  display: block;
  opacity: 0;
  transition: opacity .8s ease;
}

/* imagem interna preenche o quadro */
.slider_section .hero-visual .frame img{
  width: 100%;
  height: 100%;
  object-fit: contain;
  display: block;
}

/* estados */
.slider_section .hero-visual:not(.show-2) .f1{ opacity: 1; }
.slider_section .hero-visual.show-2      .f2{ opacity: 1; }

/* HERO: empilhar quadros e garantir camada no GPU (Samsung/Chrome) */
.slider_section .hero-visual{
  position: relative;
  width: 100%;
  height: clamp(420px, 72vh, 880px);
  overflow: hidden;
}

.slider_section .hero-visual .frame{
  position: absolute; inset: 0;
  width: 100%; height: 100%;
  display: block;
  opacity: 0;
  /* Força composição no GPU e evita bugs de opacidade no Samsung */
  will-change: opacity, transform;
  transform: translateZ(0);
  backface-visibility: hidden;
  transition: opacity .8s ease;
}

.slider_section .hero-visual .frame img{
  width: 100%; height: 100%;
  object-fit: contain;
  display: block;
}

/* estados */
.slider_section .hero-visual:not(.show-2) .f1{ opacity: 1; }
.slider_section .hero-visual.show-2      .f2{ opacity: 1; }

/* mobile: altura mais contida */
@media (max-width: 768px){
  .slider_section .hero-visual{ height: 360px; }
}

/* NÃO bloqueie por prefers-reduced-motion aqui; deixamos o JS cuidar disso */


/* (opcional) zoom sutil só no desktop */
@media (min-width: 768px){
  .slider_section .hero-visual { overflow: visible; }
  .slider_section .hero-visual .frame { transform: scale(1.05); transform-origin: center; }
}

/* mobile */
@media (max-width: 768px){
  .slider_section .hero-visual{
    max-height: 380px;
    aspect-ratio: 16/11;
  }
  .slider_section .hero-visual .frame{ transform: none; }
}

/* acessibilidade */
@media (prefers-reduced-motion: reduce){
  .slider_section .hero-visual .frame{ transition: none; }
}


/* Desktop: imagem padrão, centralizada */
.continuum-pan{
  margin: 24px auto;
  max-width: 1080px;
}
.continuum-pan img{
  width: 100%;
  height: auto;
  display: block;
  object-fit: contain;
}

@media (min-width: 992px) {
  .continuum-pan img {
    transform: scale(1.2);          /* aumenta 20% */
    transform-origin: center center; /* ou top center */
  }
}

/* Mobile (frame com pan horizontal) */
@media (max-width: 768px){
  .continuum-pan{
    /* full-bleed: ocupa 100% da tela, encostando nas bordas */
    width: 100vw;
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
    position: relative;
    overflow-x: auto;
    overflow-y: hidden;
    -webkit-overflow-scrolling: touch;  /* scroll suave no iOS */
    overscroll-behavior-x: contain;    
    scrollbar-width: none;              /* Firefox: oculta barra */
  }
  .continuum-pan::-webkit-scrollbar{ display: none; } /* Chrome/iOS */

  .continuum-pan img{
    /* mantém proporção; usa a largura natural do arquivo para permitir o pan */
    height: auto;
    width: auto;
    min-height: 380px;                  /* evita colapso se a imagem for muito rasa */
    display: block;
    /* se a imagem não for larga o suficiente, garanta pan mínimo: */
    min-width: 140vw;
    cursor: grab;
  }
  .continuum-pan:active img{ cursor: grabbing; }
}

/* Acessibilidade: se o usuário prefere menos movimento, nada muda (scroll manual). */
@media (prefers-reduced-motion: reduce){
  .continuum-pan { scroll-behavior: auto; }
}
