/* ============================================================
   CONFIGURAÇÕES GERAIS
   ============================================================ */
* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}
body {
    width: 100vw;
    height: 100vh;
    overflow: hidden;
    font-family: 'League Spartan', Arial, sans-serif;
    background: white;
}
 
/* ============================================================
   ESTRUTURA DOS SLIDES
   ============================================================ */
.slide {
    display: none;
    width: 100vw;
    height: 100vh;
    position: relative;
    background: white;
    flex-direction: column;
}
.slide.ativo {
    display: flex;
    animation: surgir 0.4s ease-out forwards;
}
@keyframes surgir {
    from { opacity: 0; transform: translateY(15px); }
    to { opacity: 1; transform: translateY(0); }
}
 
/* ============================================================
   MIOLO CENTRALIZADO GLOBAL
   ============================================================ */
.limitador-conteudo {
    width: 100%;
    max-width: 950px;
    margin: 0 auto;
    flex: 1;
    display: flex;
    flex-direction: column;
    padding: 20px 40px 80px 40px;
    position: relative;
}
.texto-longo {
    font-family: 'Inter', sans-serif;
    font-size: 16px;
    line-height: 1.6;
    color: #333;
    margin-bottom: 18px;
    text-align: justify;
}
 
/* ============================================================
   CONTROLES GLOBAIS
   ============================================================ */
.controles {
    position: absolute;
    bottom: 4%;
    right: 3%;
    display: flex;
    gap: 10px;
    z-index: 10;
}
.btn {
    padding: 12px 28px;
    background: #0757C9;
    color: white;
    border: none;
    border-radius: 8px;
    font-size: 18px;
    font-weight: bold;
    cursor: pointer;
    transition: background 0.2s;
}
.btn:hover {
    background: #053F94;
}
.btn-voltar {
    background: #eee !important;
    color: #333 !important;
}
 
/* Botão do slide 1 */
#slide1 .btn {
    padding: 15px 35px;
    background: white;
    color: #0757C9;
    border-radius: 12px;
    font-size: 22px;
}
 
/* ============================================================
   NUMERAÇÃO DOS SLIDES
   ============================================================ */
.numero-pagina {
    position: absolute;
    left: 28px;
    bottom: 24px;
    width: 46px;
    height: 46px;
    background: #0091FF;
    color: white;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-family: 'League Spartan', Arial, sans-serif;
    font-weight: 900;
    font-size: 18px;
    line-height: 1;
    z-index: 999;
}
@media (max-width: 650px) {
    .numero-pagina {
        left: 18px;
        bottom: 16px;
        width: 36px;
        height: 36px;
        font-size: 14px;
    }
}
 
/* ============================================================
   SLIDE 1 - CAPA
   ============================================================ */
#slide1 {
    background-image: url('imgs/background.-teste1.png');
    background-size: cover;
    background-position: center;
    justify-content: center;
    align-items: center;
}
#slide1 .conteudo {
    position: relative;
    width: 100%;
    max-width: 650px;
    height: 100%;
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0 20px;
}
.coluna-esquerda {
    display: flex;
    flex-direction: column;
    justify-content: center;
    margin-top: -80px;
}
.guia {
    color: white;
    font-size: 65px;
    font-weight: 900;
    margin-bottom: 5px;
}
.estudante {
    width: 300px;
    color: #FFC400;
    font-size: 170px;
    font-weight: 900;
    line-height: 0.75;
    letter-spacing: -10px;
    text-shadow: 10px 10px 0 rgba(0, 70, 190, .45);
}
.coluna-direita {
    display: flex;
    align-items: center;
    justify-content: center;
    margin-top: 40px;
}
.baloes-img {
    width: 320px;
    height: auto;
}
.logo {
    position: absolute;
    bottom: 6%;
    left: 50%;
    transform: translateX(-50%);
    width: 130px;
    height: 130px;
    background: white;
    border-radius: 50%;
    box-shadow: 12px 12px 0 #FFC400;
    display: flex;
    justify-content: center;
    align-items: center;
}
.logo img {
    width: 90%;
}
 
/* ============================================================
   SLIDE 2 - ORGANIZAÇÃO
   ============================================================ */
.header-s2 {
    background-color: #0757C9;
    background-image: url('imgs/background.-teste1.png');
    background-size: cover;
    color: white;
    padding: 60px 80px 40px 80px;
    position: relative;
}
.header-s2 h1 {
    font-size: 32px;
    font-weight: 700;
    line-height: 1.2;
}
.header-s2::after {
    content: "";
    position: absolute;
    bottom: -15px;
    left: 0;
    width: 100%;
    height: 20px;
    background: #FFC400;
    clip-path: ellipse(60% 100% at 50% 0%);
}
#slide2 .conteudo-grid {
    flex: 1;
    display: grid;
    grid-template-columns: 1fr 1fr;
    padding: 40px 80px;
    gap: 40px;
    overflow-y: auto;
    position: relative;
}
.coluna-interna {
    display: flex;
    flex-direction: column;
    gap: 20px;
}
.logo-interna {
    width: 110px;
    margin-bottom: 10px;
}
.titulo-cargo {
    color: #0757C9;
    font-size: 18px;
    font-weight: 700;
    margin-bottom: 2px;
}
.nome-pessoa {
    color: #333;
    font-size: 18px;
    font-weight: 400;
}
.org-header {
    font-size: 22px;
    font-weight: 900;
    text-transform: uppercase;
    margin-bottom: 10px;
    color: #333;
}
.footer {
    position: relative;
    padding: 20px 80px 40px 80px;
    background: white;
}
.ondas-footer {
    position: absolute;
    bottom: 60px;
    left: 0;
    width: 100%;
    height: 60px;
}
.projeto-grafico {
    font-size: 14px;
    color: #0757C9;
    font-weight: 700;
    line-height: 1.4;
}
 
/* ============================================================
   SLIDE 3 - PALAVRA DA REITORA
   ============================================================ */
.header-container-s3 {
    width: 100%;
    position: relative;
    height: 140px;
}
.wave-amarela {
    position: absolute;
    top: 0;
    left: 0;
    width: 62%;
    height: 125px;
    background: #FFC400;
    border-bottom-right-radius: 95px;
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 1;
}
.wave-amarela h2 {
    color: #0757C9;
    font-size: 42px;
    font-weight: 900;
}
#slide3 .corpo-texto {
    overflow-y: auto;
    flex: 1;
    padding-top: 15px;
    position: relative;
}
.imagem-coracao {
    position: absolute;
    top: 10px;
    right: -25px;
    width: 500px;
    height: auto;
    z-index: 2;
    pointer-events: none;
}
.evitar-coracao {
    padding-right: 360px;
}
.boas-vindas {
    font-size: 24px;
    font-weight: 900;
    color: #0757C9;
    margin-bottom: 22px;
}
.assinatura {
    margin-top: 35px;
    border-top: 2px dashed #eee;
    padding-top: 15px;
}
.nome-reitora {
    color: #0091FF;
    font-size: 20px;
    font-weight: 700;
}
.sub-reitora {
    color: #0757C9;
    font-size: 15px;
    font-style: italic;
    font-weight: 700;
}
#slide2 .conteudo-grid,
#slide3 .corpo-texto,
#slide4 .corpo-texto {
    position: relative;
}
 
/* ============================================================
   SLIDE 4 - FRASE DO HINO
   ============================================================ */
.wave-topo-s4 {
    width: 82%;
    background: #FFC400;
    border-bottom-right-radius: 110px;
    padding: 45px 80px;
}
.wave-topo-s4 h2 {
    color: #0757C9;
    font-size: 34px;
    font-weight: 900;
    font-style: italic;
    line-height: 1.3;
}
#slide4 .corpo-texto {
    overflow-y: auto;
    flex: 1;
}
.bloco-azul-s4 {
    background: #0091FF;
    background-image: url('imgs/background.-teste1.png');
    background-size: cover;
    border-top-left-radius: 70px;
    border-bottom-right-radius: 70px;
    padding: 40px;
    color: white;
    margin-top: 25px;
    box-shadow: 0 10px 25px rgba(7, 87, 201, 0.25);
}
.bloco-azul-s4 .texto-longo {
    color: white;
    font-weight: 600;
    margin-bottom: 0;
}
.wrapper-lupa-balao {
    margin-top: 30px;
    display: flex;
    align-items: center;
    gap: 20px;
}
.imagem-lupa {
    width: 300px;
    height: auto;
    flex-shrink: 0;
}
.balao-sub-s4 {
    flex: 1;
    background: #fdfdfd;
    border-radius: 25px;
    padding: 25px;
    border: 1px solid #e2e8f0;
    box-shadow: 0 6px 15px rgba(0, 0, 0, 0.03);
}
.balao-sub-s4 p {
    color: #333;
    font-size: 18px;
    font-weight: 700;
    text-align: left;
}
 
/* ============================================================
   SLIDE 5 - LINHA DO TEMPO
   ============================================================ */
#slide5 {
    background: white;
    overflow: hidden;
}
.topo-s5 {
    position: relative;
    width: 100%;
    height: 195px;
    background: #FFC400;
    overflow: hidden;
    flex-shrink: 0;
}
.imagem-topo-s5 {
    position: absolute;
    left: 30px;
    top: 38px;
    width: 120px;
    height: 120px;
    object-fit: contain;
    z-index: 3;
}
.titulo-s5 {
    position: absolute;
    left: 172px;
    top: 58px;
    z-index: 4;
    color: #0757C9;
    font-size: 32px;
    line-height: 1.1;
    font-weight: 900;
}
.conteudo-s5 {
    position: relative;
    width: 100%;
    height: calc(100% - 195px);
    padding: 22px 60px 100px 55px;
    overflow-y: auto;
}
.evento-s5 {
    position: relative;
    z-index: 2;
    display: flex;
    align-items: flex-start;
    margin-bottom: 32px;
}
.ano-s5 {
    flex-shrink: 0;
    width: 82px;
    height: 82px;
    background: #0091FF;
    color: white;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 23px;
    font-weight: 900;
    margin-right: 18px;
    z-index: 4;
}
.texto-evento-s5 {
    padding-top: 2px;
    flex: 1;
}
.texto-evento-s5 h2 {
    font-family: 'League Spartan', Arial, sans-serif;
    font-size: 18px;
    line-height: 1.15;
    color: #0757C9;
    margin-bottom: 7px;
    font-weight: 900;
}
.texto-evento-s5 p {
    font-family: 'Inter', Arial, sans-serif;
    color: #333;
    font-size: 14px;
    line-height: 1.45;
    text-align: justify;
    margin-bottom: 12px;
}
 
/* ============================================================
   SLIDE 6 - CAMPI
   ============================================================ */
#slide6 {
    background: #0091FF;
    overflow: hidden;
}
.conteudo-s7 {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    overflow-y: auto;
    overflow-x: hidden;
    background: #0091FF;
    padding: 0;
}
.pagina-s7 {
    position: relative;
    width: 100%;
    min-height: 0;
    padding: 18px 0 35px;
    overflow: visible;
}
.fundo-s7 {
    position: absolute;
    width: 760px;
    height: 760px;
    border-radius: 50%;
    background: #4AA8E5;
    top: -390px;
    left: -365px;
    z-index: 0;
}
.fundo-s7-2 {
    position: absolute;
    width: 720px;
    height: 720px;
    border-radius: 50%;
    background: #4AA8E5;
    bottom: -350px;
    right: -350px;
    z-index: 0;
}
.texto-inicial-s7 {
    position: relative;
    z-index: 8;
    width: min(680px, 72%);
    margin: 0 auto 18px;
    background: rgba(0, 87, 201, .96);
    color: white;
    padding: 14px 20px;
    border-radius: 18px;
    text-align: left;
    box-shadow: 0 5px 12px rgba(0, 0, 0, .14);
}
.texto-inicial-s7 p {
    font-family: 'Inter', Arial, sans-serif;
    font-size: 17px;
    line-height: 1.45;
    font-weight: 700;
}
.mosaico-s7 {
    position: relative;
    z-index: 2;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px 24px;
    width: min(900px, 100%);
    margin: 0 auto;
}
.foto-s7 {
    position: relative;
    background: white;
    padding: 8px;
    width: 100%;
    height: 220px;
    box-shadow: 0 4px 10px rgba(0, 0, 0, .2);
}
.foto-s7 img {
    display: block;
    width: 100%;
    height: 204px;
    object-fit: cover;
}
.foto-s7:nth-child(odd) {
    transform: rotate(-4deg);
}
.foto-s7:nth-child(even) {
    transform: rotate(4deg);
}
.foto-s7:nth-child(3n) {
    transform: rotate(-6deg);
}
.nome-campus-s7 {
    position: absolute;
    left: 12px;
    bottom: -18px;
    min-width: 125px;
    padding: 10px 14px;
    background: #FFC400;
    border-radius: 14px;
    color: #0757C9;
    font-size: 17px;
    line-height: 1.08;
    font-weight: 900;
    text-align: center;
    z-index: 5;
    box-shadow: 0 3px 6px rgba(0, 0, 0, .12);
}
.diz-ai-s7 {
    position: relative;
    z-index: 8;
    width: min(450px, 72%);
    margin: 28px auto 0;
    padding: 16px 20px;
    background: #0757C9;
    border-radius: 18px;
    color: white;
    font-size: 23px;
    font-weight: 900;
    text-align: center;
    box-shadow: 0 6px 14px rgba(0, 0, 0, .16);
}
.diz-ai-s7 span {
    display: block;
    margin-top: 6px;
    color: #FFC400;
    font-size: 20px;
}
.foto-s7:nth-child(6) .nome-campus-s7,
.foto-s7:nth-child(11) .nome-campus-s7,
.foto-s7:nth-child(12) .nome-campus-s7 {
    left: auto;
    right: 12px;
}
 
/* ============================================================
   SLIDE 7 - ESTRUTURA ORGANIZACIONAL
   ============================================================ */
#slide7 {
    background: #fff;
    overflow: hidden;
}
.header-s8 {
    position: relative;
    width: 100%;
    height: 155px;
    background: #FFC400;
    overflow: hidden;
    flex-shrink: 0;
    display: flex;
    align-items: flex-start;
    justify-content: center;
    text-align: center;
    padding: 25px 35px 0;
}
.header-s8 h2 {
    position: relative;
    z-index: 2;
    color: #0757C9;
    font-size: 30px;
    line-height: 1.08;
    font-weight: 900;
    max-width: 440px;
}
.conteudo-s8 {
    position: relative;
    flex: 1;
    overflow-y: auto;
    padding: 38px 55px 90px;
}
.texto-s8 {
    max-width: 450px;
    margin: 18px auto 0;
    font-family: 'Inter', Arial, sans-serif;
    color: #222;
    font-size: 17px;
    line-height: 1.6;
    text-align: justify;
}
.texto-s8 p {
    margin: 0 0 24px;
}
.texto-s8 p:last-child {
    margin-bottom: 0;
}
 
/* ============================================================
   SLIDE 8 - ORGANOGRAMA
   ============================================================ */
#slide8 {
    background: #fff;
    overflow: hidden;
}
.header-s9 {
    position: relative;
    width: 100%;
    height: 155px;
    background: #FFC400;
    overflow: hidden;
    display: flex;
    align-items: flex-start;
    justify-content: center;
    text-align: center;
    padding: 25px 35px 0;
    flex-shrink: 0;
}
.header-s9 h2 {
    position: relative;
    z-index: 2;
    color: #0757C9;
    font-size: 30px;
    line-height: 1.08;
    font-weight: 900;
    max-width: 460px;
}
.conteudo-s9 {
    position: relative;
    flex: 1;
    overflow-y: auto;
    padding: 25px 35px 95px;
}
.org-chart {
    position: relative;
    width: min(520px, 100%);
    margin: 0 auto;
    background: #FFE7A3;
    border-radius: 42px;
    padding: 18px 16px 20px;
    box-shadow: inset 0 0 0 1px rgba(7, 87, 201, .05);
    min-height: 590px;
}
.org-title {
    width: 245px;
    margin: 0 auto 12px;
    background: #73BFF0;
    color: #0757C9;
    border-radius: 30px;
    padding: 9px 18px;
    text-align: center;
    font-size: 18px;
    font-weight: 900;
    line-height: 1.1;
}
.org-box {
    background: #fff;
    border-radius: 14px;
    padding: 10px 9px;
    color: #0757C9;
    text-align: center;
    font-family: 'Inter', Arial, sans-serif;
    font-size: 13px;
    line-height: 1.15;
    font-weight: 700;
    box-shadow: 0 2px 5px rgba(0, 0, 0, .04);
}
.org-root {
    width: 92px;
    margin: 0 auto 15px;
}
.org-middle {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px 12px;
    width: 300px;
    margin: 0 auto;
    position: relative;
}
.org-middle::before {
    content: "";
    position: absolute;
    left: 50%;
    top: -15px;
    width: 2px;
    height: 15px;
    background: #0757C9;
    transform: translateX(-50%);
}
.org-middle::after {
    content: "";
    position: absolute;
    left: 50%;
    top: 28px;
    width: 150px;
    height: 2px;
    background: #0757C9;
    transform: translateX(-50%);
}
.org-middle .org-box {
    position: relative;
    z-index: 2;
    min-height: 48px;
    display: flex;
    align-items: center;
    justify-content: center;
}
.org-lower {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 10px;
    margin: 18px auto 0;
    position: relative;
    width: 470px;
    max-width: 100%;
}
.org-lower::before {
    content: "";
    position: absolute;
    left: 12.5%;
    right: 12.5%;
    top: -9px;
    height: 2px;
    background: #0757C9;
}
.org-lower .org-box {
    min-height: 58px;
    display: flex;
    align-items: center;
    justify-content: center;
}
.org-lower .org-box::before {
    content: "";
    position: absolute;
    top: -10px;
    width: 2px;
    height: 10px;
    background: #0757C9;
}
.org-note {
    width: 350px;
    max-width: 100%;
    margin: 18px auto 0;
    background: #0091FF;
    color: #fff;
    border-radius: 34px;
    padding: 12px 15px;
    display: flex;
    align-items: center;
    gap: 10px;
    font-family: 'Inter', Arial, sans-serif;
    font-size: 13px;
    font-weight: 700;
    line-height: 1.2;
}
.qr-space {
    flex: 0 0 66px;
    width: 66px;
    height: 66px;
    background: #fff;
    border-radius: 5px;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
}
.qr-space img {
    width: 58px;
    height: 58px;
    object-fit: contain;
}
.qr-placeholder {
    font-size: 10px;
    color: #0757C9;
    text-align: center;
    font-weight: 900;
}
 
/* ============================================================
   RESPONSIVIDADE - ATÉ 900PX
   ============================================================ */
@media (max-width: 900px) {
    .texto-inicial-s7 { width: 82%; }
    .mosaico-s7 { width: 100%; gap: 14px 14px; }
    .foto-s7 { height: 195px; }
    .foto-s7 img { height: 179px; }
    .nome-campus-s7 { font-size: 14px; min-width: 110px; }
    .diz-ai-s7 { width: 82%; }
}
 
@media (max-width: 650px) {
 
    /* ---------- Slide 6 ---------- */
    .conteudo-s7 { padding-left: 0; padding-right: 0; }
    .texto-inicial-s7 { width: 96%; margin-bottom: 14px; }
    .mosaico-s7 { grid-template-columns: 1fr 1fr; gap: 12px 10px; }
    .foto-s7 { height: 165px; padding: 6px; }
    .foto-s7 img { height: 153px; }
    .nome-campus-s7 { font-size: 12px; min-width: 90px; padding: 7px 9px; bottom: -15px; }
    .diz-ai-s7 { width: 96%; font-size: 18px; }
    .diz-ai-s7 span { font-size: 15px; }
 
    /* ---------- Slide 7 ---------- */
    .header-s8 { height: 145px; padding: 24px 20px 0; }
    .header-s8 h2 { font-size: 24px; max-width: 360px; }
    .conteudo-s8 { padding: 28px 25px 85px; }
    .texto-s8 { font-size: 15px; line-height: 1.55; max-width: 100%; }
 
    /* ---------- Slide 8 ---------- */
    .header-s9 { height: 145px; padding: 24px 20px 0; }
    .header-s9 h2 { font-size: 24px; }
    .conteudo-s9 { padding: 22px 15px 85px; }
    .org-chart { padding: 16px 10px; }
    .org-middle { width: 270px; }
    .org-lower { grid-template-columns: repeat(2, 1fr); width: 100%; }
    .org-title { width: 220px; font-size: 16px; }
    .org-box { font-size: 11px; line-height: 1.15; }
    .org-note { font-size: 11px; }
}
 
/* ============================================================
   SLIDE 9 - PROPGPEC
   ============================================================ */
#slide9 {
    background: #ffffff;
    overflow: hidden;
}
 
/* ============================================================
   TOPO AMARELO
   ============================================================ */
.topo-propgpec {
    position: center;
    width: 100%;
    height: 125px;
    background: #FFC400;
    display: flex;
    align-items: flex-start;
    padding: 18px 43px;
    overflow: hidden;
    border-bottom-right-radius: 42% 55%;
}
.topo-propgpec h2 {
    position: relative;
    color: #0757C9;
    font-size: 26px;
    line-height: 1.12;
    font-weight: 900;
    max-width: 470px;
    z-index: 2;
}
 
/* ============================================================
   ÁREA PRINCIPAL
   ============================================================ */
.conteudo-propgpec {
    position: relative;
    width: 100%;
    max-width: 950px;
    margin: 0 auto;
    height: calc(100% - 125px);
    padding: 25px 55px 85px;
    overflow: hidden;
}
 
/* ============================================================
   TEXTO PRINCIPAL
   ============================================================ */
.texto-propgpec {
    position: absolute;
    top: 18px;
    left: 55px;
    width: 390px;
    z-index: 5;
    font-family: 'Inter', Arial, sans-serif;
    color: #222;
    font-size: 15px;
    line-height: 1.42;
    text-align: left;
}
.texto-propgpec p {
    margin: 0 0 8px;
}
.texto-propgpec h3 {
    color: #0757C9;
    font-size: 19px;
    line-height: 1.1;
    font-weight: 900;
    margin: 7px 0 10px;
}
.texto-propgpec ul {
    margin: 6px 0 15px 22px;
    padding: 0;
}
.texto-propgpec li {
    margin-bottom: 3px;
    font-weight: 700;
}
.experiencias-propgpec {
    margin-top: 16px !important;
}
 
/* ============================================================
   ILUSTRAÇÃO SUPERIOR DIREITA
   ============================================================ */
.exclamacao-propgpec {
    position: absolute;
    top: -3px;
    right: 75px;
    width: 105px;
    height: auto;
    z-index: 6;
}
 
/* ============================================================
   BLOCO AZUL
   ============================================================ */
.bloco-azul-propgpec {
    position: absolute;
    right: 15px;
    bottom: -55px;
    width: 470px;
    height: 455px;
    background: #0091FF;
    border-radius: 48% 0 0 48%;
    transform: rotate(7deg);
    z-index: 2;
}
 
/* ============================================================
   TÍTULO DENTRO DO BLOCO AZUL
   ============================================================ */
.titulo-azul-propgpec {
    position: absolute;
    left: 75px;
    top: 95px;
    transform: rotate(-7deg);
    color: white;
    font-family: 'League Spartan', Arial, sans-serif;
    font-size: 38px;
    line-height: 0.9;
    font-weight: 900;
    z-index: 5;
}
 
/* ============================================================
   EXCLAMAÇÃO AMARELA
   ============================================================ */
.exclamacao-amarela-propgpec {
    position: absolute;
    top: 65px;
    right: 90px;
    width: 100px;
    height: auto;
    transform: rotate(-7deg);
    z-index: 5;
}
 
/* ============================================================
   TEXTO DO BLOCO AZUL
   ============================================================ */
.texto-azul-propgpec {
    position: absolute;
    left: 72px;
    top: 215px;
    width: 290px;
    color: white;
    transform: rotate(-7deg);
    font-family: 'Inter', Arial, sans-serif;
    font-size: 14px;
    line-height: 1.3;
    z-index: 5;
}
.texto-azul-propgpec strong {
    display: block;
    margin-bottom: 7px;
    font-size: 14px;
}
.texto-azul-propgpec ul {
    margin: 4px 0 8px 19px;
    padding: 0;
}
.texto-azul-propgpec li {
    margin-bottom: 3px;
    font-weight: 700;
}
.texto-azul-propgpec p {
    margin-top: 8px;
    font-weight: 600;
}
 
/* ============================================================
   QR CODE
   ============================================================ */
.qr-propgpec {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-top: 16px;
    text-decoration: none;
    color: #0757C9;
    font-family: 'Inter', Arial, sans-serif;
    font-size: 13px;
    line-height: 1.15;
    font-weight: 700;
    text-align: left;
}
 
.qr-propgpec strong {
    display: block;
}
 
.qr-propgpec img {
    display: block;
    width: 70px;
    height: 70px;
    flex-shrink: 0;
    object-fit: contain;
    background: white;
}
 
/* ============================================================
   RESPONSIVIDADE
   ============================================================ */
@media (max-width: 900px) {
    .topo-propgpec { height: 115px; padding: 17px 30px; border-bottom-right-radius: 48% 50%; }
    .topo-propgpec h2 { font-size: 19px; }
    .conteudo-propgpec { height: calc(100% - 115px); padding: 20px 35px 80px; }
    .texto-propgpec { left: 35px; width: 42%; font-size: 13px; }
    .texto-propgpec h3 { font-size: 17px; }
    .exclamacao-propgpec { right: 35px; width: 85px; }
    .bloco-azul-propgpec { width: 48%; height: 62%; right: 0; bottom: -35px; }
    .titulo-azul-propgpec { left: 55px; top: 75px; font-size: 31px; }
    .exclamacao-amarela-propgpec { width: 80px; top: 55px; right: 55px; }
    .texto-azul-propgpec { left: 52px; top: 175px; width: 65%; font-size: 11px; }
    .qr-propgpec { font-size: 11px; }
    .qr-propgpec img { width: 60px; height: 60px; }
}
 
/* ============================================================
   CELULAR
   ============================================================ */
@media (max-width: 650px) {
    .topo-propgpec { height: 110px; padding: 15px 20px; border-bottom-right-radius: 52% 45%; }
    .topo-propgpec h2 { font-size: 16px; max-width: 350px; }
    .conteudo-propgpec { height: calc(100% - 110px); padding: 15px 18px 75px; }
    .texto-propgpec { top: 12px; left: 20px; width: 53%; font-size: 10px; line-height: 1.35; }
    .texto-propgpec h3 { font-size: 13px; }
    .texto-propgpec ul { margin-left: 16px; }
    .exclamacao-propgpec { top: 5px; right: 8px; width: 65px; }
    .bloco-azul-propgpec { width: 53%; height: 58%; right: -5px; bottom: -25px; }
    .titulo-azul-propgpec { left: 35px; top: 55px; font-size: 22px; }
    .exclamacao-amarela-propgpec { top: 42px; right: 25px; width: 58px; }
    .texto-azul-propgpec { left: 33px; top: 125px; width: 69%; font-size: 9px; line-height: 1.25; }
    .qr-propgpec { font-size: 9px; gap: 8px; }
    .qr-propgpec img { width: 48px; height: 48px; }
}

/* ============================================================
   SLIDE 10 - PÓS-GRADUAÇÃO, PESQUISA E EXTENSÃO
   ============================================================ */

#slide10 {
    background: #ffffff;
    overflow: hidden;
}


/* ============================================================
   ESTRUTURA PRINCIPAL
   ============================================================ */

.conteudo-propgpec-completo {
    position: relative;
    width: 100%;
    height: 100%;
    overflow: hidden;
    font-family: 'Inter', Arial, sans-serif;
}


/* ============================================================
   TOPO
   ============================================================ */

.topo-completo {
    position: relative;
    width: 100%;
    height: 125px;
    background: #FFC400;
    padding: 22px 45px;
    border-bottom-right-radius: 42% 55%;
    z-index: 2;
}

.topo-completo h2 {
    color: #0757C9;
    font-family: 'League Spartan', Arial, sans-serif;
    font-size: 29px;
    line-height: 1.05;
    font-weight: 900;
}


/* ============================================================
   CORPO
   ============================================================ */

.corpo-completo {
    position: relative;
    width: 100%;
    height: calc(100% - 125px);
    padding: 24px 45px 30px;
    display: grid;
    grid-template-columns: 1fr 1fr;
    column-gap: 38px;
    overflow-y: auto;
    overflow-x: hidden;
    z-index: 3;
}

.coluna-completa {
    min-width: 0;
}


/* ============================================================
   SEÇÕES DE TEXTO
   ============================================================ */

.secao-completa {
    width: 100%;
}

.secao-completa h3 {
    margin: 0 0 7px;
    color: #0757C9;
    font-family: 'League Spartan', Arial, sans-serif;
    font-size: 20px;
    line-height: 1.1;
    font-weight: 900;
}

.secao-completa p {
    margin: 0 0 7px;
    color: #222;
    font-size: 12.5px;
    line-height: 1.32;
    text-align: justify;
}

.secao-completa strong {
    font-weight: 900;
}


/* ============================================================
   PESQUISA
   ============================================================ */

.pesquisa-completa {
    margin-top: 19px;
}


/* ============================================================
   QR DENTRO DO TEXTO
   ============================================================ */

.qr-inline-completo {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-top: 10px;
}

.qr-inline-completo .qr-imagem-completo {
    width: 95px;
    height: 95px;
    margin: 0;
    flex-shrink: 0;
    object-fit: contain;
    display: block;
}

.qr-inline-completo strong {
    display: block;
    color: #000;
    font-family: 'League Spartan', Arial, sans-serif;
    font-size: 11px;
    line-height: 1.2;
    font-weight: 900;
    text-decoration: underline;
    text-align: left;
}


/* ============================================================
   IMAGENS DOS QR CODES
   ============================================================ */

.qr-imagem-completo {
    width: 95px;
    height: 95px;
    object-fit: contain;
    display: block;
    flex-shrink: 0;
}


/* ============================================================
   FOTOS DA EXTENSÃO
   ============================================================ */

.fotos-extensao-inline {
    display: flex;
    gap: 16px;
    margin-top: 10px;
    margin-bottom: 4px;
}

.item-foto-completo {
    width: auto;
    flex: 1 1 0;
    min-width: 0;
    text-align: center;
    z-index: 5;
    display: flex;
    flex-direction: column;
    align-items: center;
}

.item-foto-completo:nth-child(1) {
    transform: rotate(-4deg);
}

.item-foto-completo:nth-child(2) {
    transform: rotate(4deg);
}

.item-foto-completo span {
    display: block;
    margin-bottom: 6px;

    color: #000;
    font-family: 'League Spartan', Arial, sans-serif;
    font-size: 10px;
    line-height: 1.1;
    font-style: italic;
    font-weight: 900;
}

.foto-imagem-completo {
    width: auto;
    height: auto;
    max-width: 100%;
    max-height: 290px;
    margin: 0 auto;
    display: block;
    object-fit: contain;
    box-sizing: border-box;
    border: 4px solid #ffffff;
    outline: 2px dashed #0757C9;
    border-radius: 8px;
}


/* ============================================================
   RESPONSIVIDADE
   ============================================================ */

@media (max-width: 900px) {

    .topo-completo {
        height: 110px;
        padding: 18px 30px;
    }

    .topo-completo h2 {
        font-size: 24px;
    }

    .corpo-completo {
        padding: 20px 30px 24px;
        column-gap: 25px;
    }

    .secao-completa h3 {
        font-size: 18px;
    }

    .secao-completa p {
        font-size: 11px;
    }

    .qr-imagem-completo {
        width: 80px;
        height: 80px;
    }

    .item-foto-completo {
        width: auto;
        flex: 1 1 0;
        min-width: 0;
    }

    .foto-imagem-completo {
        width: auto;
        height: auto;
        max-width: 100%;
        max-height: 125px;
        object-fit: contain;
    }

    .fotos-extensao-inline {
        gap: 10px;
    }
}

/* ============================================================
   SLIDE 11 - CULTURA, PROJETOS E ATIVIDADES
   ============================================================ */

#slide11 {
    background: #ffffff;
    overflow: hidden;
}

.cultura-atividades-page {
    position: relative;
    width: 100%;
    height: 100%;
    padding: 24px 42px 82px;
    overflow: hidden;
    font-family: 'Inter', Arial, sans-serif;
}

.cultura-atividades-page::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 8px;
    background: #FFC400;
    z-index: 30;
}

.ca-topbar {
    position: relative;
    height: 78px;
    display: flex;
    align-items: center;
    padding: 6px 0 12px;
    border-bottom: 1px solid #e5eaf0;
    z-index: 10;
}

.ca-topbar h2 {
    margin: 0;
    color: #0757C9;
    font-family: 'League Spartan', Arial, sans-serif;
    font-size: 29px;
    line-height: 1;
    font-weight: 900;
}

.ca-topbar p {
    margin: 7px 0 0;
    color: #4d5560;
    font-size: 12px;
    line-height: 1.25;
}

.ca-main-grid {
    display: grid;
    grid-template-columns: 44% 56%;
    gap: 34px;
    height: calc(100% - 78px);
    padding-top: 18px;
}

.ca-cultura,
.ca-atividades {
    min-width: 0;
}

.ca-cultura-copy {
    width: 100%;
    padding-right: 8px;
}

.ca-cultura-copy h3 {
    margin: 0 0 9px;
    color: #0757C9;
    font-family: 'League Spartan', Arial, sans-serif;
    font-size: 23px;
    line-height: 1;
    font-weight: 900;
}

.ca-cultura-copy p {
    margin: 0 0 9px;
    color: #222;
    font-size: 13px;
    line-height: 1.38;
    text-align: justify;
}

.ca-frase-cultura {
    color: #0757C9 !important;
    font-weight: 900;
}

.ca-cultura-card {
    position: relative;
    height: calc(100% - 178px);
    min-height: 300px;
    margin-top: 10px;
    padding: 18px;
    border-radius: 28px;
    background: #FFC400;
    overflow: hidden;
    box-shadow: 0 8px 22px rgba(7, 87, 201, .12);
}

.ca-cultura-card::before {
    content: "";
    position: absolute;
    width: 150px;
    height: 150px;
    right: -55px;
    top: -65px;
    border-radius: 50%;
    border: 12px solid rgba(255,255,255,.23);
}

.ca-yellow-shape {
    display: none;
}

.ca-cultura-photo {
    position: absolute;
    left: 16px;
    top: 18px;
    width: auto;
    height: auto;
    max-width: 50%;
    max-height: 62%;
    object-fit: contain;
    display: block;
    box-sizing: border-box;
    background: #ffffff;
    border: 4px solid #0757C9;
    border-radius: 10px;
    transform: rotate(-4deg);
    filter: drop-shadow(0 5px 6px rgba(0,0,0,.15));
    z-index: 3;
}

.ca-cultura-text {
    position: absolute;
    left: 55%;
    top: 42px;
    right: 18px;
    color: #111;
    z-index: 4;
}

.ca-cultura-text h4 {
    margin: 0 0 7px;
    font-family: 'League Spartan', Arial, sans-serif;
    font-size: 15px;
    line-height: 1.05;
    font-style: italic;
    font-weight: 900;
}

.ca-cultura-text h4 span {
    font-style: italic;
}

.ca-cultura-text p {
    margin: 0 0 7px;
    font-size: 11.5px;
    line-height: 1.28;
    font-weight: 700;
}

.ca-cultura-icon {
    position: absolute;
    right: 18px;
    top: 18px;
    width: 46px;
    height: auto;
    z-index: 5;
}

.ca-cultura-link {
    position: absolute;
    left: 55%;
    bottom: 14px;
    right: 16px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    color: #111;
    text-decoration: underline;
    font-family: 'League Spartan', Arial, sans-serif;
    font-size: 11px;
    line-height: 1.08;
    font-weight: 900;
    text-align: center;
    z-index: 6;
}

.ca-cultura-link span {
    max-width: 150px;
}

.ca-cultura-link img {
    width: 86px;
    height: 86px;
    object-fit: contain;
    background: #fff;
    flex-shrink: 0;
    border-radius: 4px;
}

.ca-atividades {
    position: relative;
    padding-left: 2px;
}

.ca-section-title {
    display: block;
    margin: 1px 0 10px;
    padding: 0;
    color: #0757C9;
    background: transparent;
    font-family: 'League Spartan', Arial, sans-serif;
    font-size: 22px;
    line-height: 1;
    font-weight: 900;
}

.ca-activity {
    position: relative;
    height: 154px;
    margin-bottom: 12px;
    padding: 12px 14px;
    border-radius: 20px;
    border: 1px solid #e5eaf0;
    background: #ffffff;
    overflow: hidden;
    box-shadow: 0 5px 16px rgba(21, 39, 61, .06);
}

.ca-shape {
    position: absolute;
    z-index: 1;
}

.ca-shape-blue,
.ca-shape-yellow {
    top: 0;
    bottom: 0;
    width: 7px;
    height: auto;
    border-radius: 0;
    transform: none;
    left: 0;
    right: auto;
}

.ca-shape-blue {
    background: #0091FF;
}

.ca-shape-yellow {
    background: #FFC400;
}

.ca-activity-photo {
    position: absolute;
    z-index: 4;
    width: auto;
    height: auto;
    max-width: 42%;
    max-height: 128px;
    display: block;
    box-sizing: border-box;
    background: #ffffff;
    object-fit: contain;
    border: 3px solid #0757C9;
    border-radius: 8px;
    filter: drop-shadow(0 3px 4px rgba(0,0,0,.12));
}

.ca-activity-one .ca-activity-photo,
.ca-activity-two .ca-activity-photo,
.ca-activity-three .ca-activity-photo {
    top: 13px;
}

.ca-activity-one .ca-activity-photo,
.ca-activity-three .ca-activity-photo {
    left: 22px;
}

.ca-activity-two .ca-activity-photo {
    right: 18px;
}

.ca-activity-one .ca-activity-photo { transform: rotate(-3deg); }
.ca-activity-two .ca-activity-photo { transform: rotate(3deg); }
.ca-activity-three .ca-activity-photo { transform: rotate(-3deg); }

.ca-activity-copy {
    position: absolute;
    z-index: 5;
    top: 18px;
    font-size: 11.5px;
    line-height: 1.28;
    font-weight: 700;
}

.ca-activity-copy h4 {
    margin: 0 0 5px;
    font-family: 'League Spartan', Arial, sans-serif;
    font-size: 14px;
    line-height: 1.05;
    font-style: italic;
    font-weight: 900;
}

.ca-activity-copy h4 span {
    font-style: italic;
}

.ca-activity-copy p {
    margin: 0;
}

.ca-activity-one .ca-activity-copy,
.ca-activity-three .ca-activity-copy {
    right: 16px;
    width: 46%;
    color: #222;
}

.ca-activity-two .ca-activity-copy {
    left: 22px;
    width: 46%;
    color: #222;
}

@media (max-width: 1000px) {
    .cultura-atividades-page {
        padding: 20px 28px 76px;
    }

    .ca-main-grid {
        grid-template-columns: 43% 57%;
        gap: 22px;
    }

    .ca-topbar h2 {
        font-size: 25px;
    }

    .ca-cultura-copy p {
        font-size: 11.5px;
    }

    .ca-cultura-card {
        min-height: 280px;
    }

    .ca-cultura-photo {
        max-width: 48%;
        width: auto;
    }

    .ca-cultura-text {
        left: 53%;
    }

    .ca-activity-copy,
    .ca-cultura-text p {
        font-size: 10.5px;
    }

    .ca-activity-copy h4,
    .ca-cultura-text h4 {
        font-size: 12.5px;
    }
}

@media (max-width: 700px) {
    #slide11 {
        overflow: hidden;
    }

    .cultura-atividades-page {
        overflow-y: auto;
        padding: 16px 18px 76px;
    }

    .ca-topbar {
        height: 68px;
    }

    .ca-topbar h2 {
        font-size: 22px;
    }

    .ca-topbar p {
        font-size: 9px;
    }

    .ca-main-grid {
        grid-template-columns: 1fr;
        height: auto;
        gap: 18px;
    }

    .ca-cultura-card {
        height: 300px;
        min-height: 300px;
    }

    .ca-cultura-copy p {
        font-size: 10.5px;
    }

    .ca-activity {
        height: 182px;
    }

    .ca-activity-one .ca-activity-photo,
    .ca-activity-two .ca-activity-photo,
    .ca-activity-three .ca-activity-photo {
        max-width: 40%;
        width: auto;
        max-height: 145px;
        height: auto;
    }

    .ca-activity-one .ca-activity-copy,
    .ca-activity-three .ca-activity-copy,
    .ca-activity-two .ca-activity-copy {
        width: 49%;
        font-size: 9px;
    }
}

																							/* ============================================================
   SLIDE 12 - SIBI/CPII
   SISTEMA DE BIBLIOTECAS
   ============================================================ */

#slide12 {
    background: #ffffff url('imgs/background.-teste1.png') center center / cover no-repeat;
    overflow: hidden;
}

.sibi-page {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    overflow: hidden;
    background: transparent;
}

.sibi-scroll {
    position: relative;
    width: 100%;
    height: 100%;
    overflow-y: auto;
    overflow-x: hidden;
    padding: 0 0 95px;
    scrollbar-width: thin;
}

/* ---------- CABEÇALHO ---------- */
.sibi-hero {
    position: relative;
    min-height: 330px;
    padding: 28px 52px 30px;
    overflow: hidden;
}

.sibi-hero h2 {
    position: relative;
    z-index: 2;
    max-width: 560px;
    color: #ffffff;
    font-family: 'League Spartan', Arial, sans-serif;
    font-size: 31px;
    line-height: 1.05;
    font-weight: 900;
    margin-bottom: 44px;
}

.sibi-hero-subtitle {
    position: relative;
    z-index: 3;
    color: #ffffff;
    text-align: center;
    font-family: 'League Spartan', Arial, sans-serif;
    font-size: 22px;
    line-height: 1.05;
    font-weight: 900;
    margin-bottom: 18px;
}

.sibi-hero p {
    position: relative;
    z-index: 3;
    width: min(860px, 88%);
    margin: 0 auto;
    color: #ffffff;
    font-family: 'Inter', Arial, sans-serif;
    font-size: 16px;
    line-height: 1.38;
    text-align: justify;
}

.sibi-wave-line {
    position: absolute;
    left: -3%;
    right: -3%;
    bottom: 35px;
    height: 70px;
    border-top: 2px solid #0757C9;
    border-radius: 50%;
    transform: rotate(2deg);
    z-index: 1;
}

.sibi-hand {
    position: absolute;
    left: 12px;
    bottom: 0;
    width: 115px;
    height: auto;
    object-fit: contain;
    z-index: 4;
}

/* ---------- ACERVO ---------- */
.sibi-acervo {
    position: relative;
    min-height: 285px;
    padding: 20px 0 15px;
    overflow: hidden;
}

.sibi-acervo-shape {
    position: absolute;
    left: -3%;
    right: 7%;
    top: 18px;
    height: 245px;
    background: #FFC400;
    border-radius: 48% 52% 45% 55% / 53% 43% 57% 47%;
    transform: rotate(-2deg);
}

.sibi-acervo-content {
    position: relative;
    z-index: 2;
    width: min(850px, 82%);
    margin: 0 auto;
    padding: 35px 32px;
}

.sibi-acervo-content h3 {
    margin: 0 0 18px;
    color: #0757C9;
    font-family: 'League Spartan', Arial, sans-serif;
    font-size: 24px;
    font-weight: 900;
}

.sibi-acervo-content p {
    margin: 0;
    color: #222;
    font-family: 'Inter', Arial, sans-serif;
    font-size: 15px;
    line-height: 1.38;
    text-align: justify;
}

/* ---------- BIBLIOTECAS ---------- */
.sibi-bibliotecas {
    position: relative;
    padding: 30px 54px 28px;
}

.sibi-bibliotecas-title {
    position: relative;
    width: 255px;
    margin-bottom: 18px;
    padding: 17px 24px;
    background: #FFC400;
    border-radius: 28px 70px 34px 0;
    color: #0757C9;
    font-family: 'League Spartan', Arial, sans-serif;
    font-size: 25px;
    font-weight: 900;
}

.sibi-bibliotecas-layout {
    display: grid;
    grid-template-columns: 0.95fr 1.05fr;
    gap: 38px;
    align-items: start;
}

.sibi-links {
    display: grid;
    gap: 7px;
    padding: 8px 6px 6px 12px;
}

.sibi-links a {
    color: #0757C9;
    font-family: 'Inter', Arial, sans-serif;
    font-size: 14px;
    line-height: 1.15;
    text-decoration: underline;
}

.sibi-funcionamento {
    position: relative;
    padding: 4px 4px 8px;
}

.sibi-function-title {
    width: 235px;
    margin: 0 auto 18px;
    padding: 9px 20px;
    background: #0757C9;
    color: #FFC400;
    border-radius: 11px;
    text-align: center;
    font-family: 'League Spartan', Arial, sans-serif;
    font-size: 22px;
    font-weight: 900;
    box-shadow: 0 5px 10px rgba(7,87,201,.12);
}

.sibi-funcionamento p {
    margin: 0 auto 12px;
    max-width: 500px;
    color: #222;
    font-family: 'Inter', Arial, sans-serif;
    font-size: 14px;
    line-height: 1.38;
    text-align: justify;
}

.sibi-funcionamento h4 {
    margin: 0 0 14px;
    color: #0757C9;
    font-family: 'League Spartan', Arial, sans-serif;
    font-size: 21px;
    font-weight: 900;
    text-align: center;
}

.sibi-qr-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 14px;
    align-items: start;
}

.sibi-qr-card {
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 8px 8px 9px;
    background: #0091FF;
    border-radius: 17px;
    text-decoration: none;
}

.sibi-qr-card img {
    width: 112px;
    height: 112px;
    object-fit: contain;
    background: white;
    border-radius: 3px;
}

.sibi-qr-card span {
    margin-top: 5px;
    color: #0757C9;
    font-family: 'Inter', Arial, sans-serif;
    font-size: 11px;
    font-weight: 800;
}

/* ---------- SERVIÇOS ---------- */
.sibi-servicos {
    position: relative;
    min-height: 500px;
    padding: 26px 0 60px;
    overflow: hidden;
}

.sibi-servicos-shape {
    position: absolute;
    left: -5%;
    right: -5%;
    top: 12px;
    height: 410px;
    background: #0091FF;
    border-radius: 52% 48% 14% 14% / 14% 14% 18% 18%;
    transform: rotate(1deg);
}

.sibi-servicos-content {
    position: relative;
    z-index: 2;
    width: min(820px, 84%);
    margin: 0 auto;
    padding: 20px 12px 0;
    color: white;
}

.sibi-servicos-content h3 {
    margin: 0 0 17px;
    font-family: 'League Spartan', Arial, sans-serif;
    font-size: 24px;
    line-height: 1;
    font-weight: 900;
}

.sibi-servicos-content ul {
    margin: 0;
    padding-left: 21px;
    columns: 2;
    column-gap: 46px;
}

.sibi-servicos-content li {
    margin: 0 0 8px;
    padding-left: 4px;
    font-family: 'Inter', Arial, sans-serif;
    font-size: 14px;
    line-height: 1.28;
    font-weight: 600;
    break-inside: avoid;
}

.sibi-logos {
    position: relative;
    z-index: 3;
    display: block;
    width: min(520px, 66%);
    height: auto;
    margin: 28px auto 0;
    background: white;
}

@media (max-width: 900px) {
    .sibi-hero h2 { font-size: 27px; }
    .sibi-hero p { width: 92%; font-size: 14px; }
    .sibi-bibliotecas { padding-left: 35px; padding-right: 35px; }
    .sibi-bibliotecas-layout { grid-template-columns: 1fr 1fr; gap: 24px; }
    .sibi-links a { font-size: 12px; }
    .sibi-qr-card img { width: 92px; height: 92px; }
    .sibi-servicos-content li { font-size: 12px; }
}

@media (max-width: 700px) {
    .sibi-scroll { padding-bottom: 78px; }
    .sibi-hero { min-height: 360px; padding: 24px 24px 28px; }
    .sibi-yellow-ribbon { width: 275px; height: 90px; }
    .sibi-hero h2 { font-size: 23px; margin-bottom: 38px; }
    .sibi-hero-subtitle { font-size: 18px; }
    .sibi-hero p { width: 100%; font-size: 12px; }
    .sibi-hand { width: 85px; }
    .sibi-acervo { min-height: 300px; }
    .sibi-acervo-shape { height: 265px; }
    .sibi-acervo-content { width: 90%; padding: 28px 22px; }
    .sibi-acervo-content h3 { font-size: 21px; }
    .sibi-acervo-content p { font-size: 12px; }
    .sibi-bibliotecas { padding: 26px 24px; }
    .sibi-bibliotecas-layout { grid-template-columns: 1fr; gap: 24px; }
    .sibi-bibliotecas-title { width: 205px; font-size: 21px; }
    .sibi-links { grid-template-columns: 1fr 1fr; }
    .sibi-qr-card img { width: 78px; height: 78px; }
    .sibi-funcionamento p { font-size: 12px; }
    .sibi-servicos { min-height: 580px; }
    .sibi-servicos-shape { height: 480px; }
    .sibi-servicos-content { width: 90%; }
    .sibi-servicos-content ul { columns: 1; }
    .sibi-servicos-content li { font-size: 12px; }
    .sibi-logos { width: 88%; }
}


/* ============================================================
   AJUSTES VISUAIS - SLIDE 12 / SIBI
   ============================================================ */

/* 1) Remove a linha azul ondulada */
.sibi-wave-line {
    display: none;
}

/* 2) Topo mais semelhante aos outros slides:
      título em bloco amarelo e conteúdo limpo */
.sibi-hero {
    min-height: 320px;
    padding: 24px 52px 46px;
}

.sibi-yellow-ribbon {
    width: 355px;
    height: 112px;
    border-bottom-right-radius: 82% 64%;
}

.sibi-hero h2 {
    max-width: 560px;
    margin: 0;
    padding: 12px 18px 14px;
    display: inline-block;
    background: #FFC400;
    border-radius: 0 0 34px 0;
    font-size: 31px;
}

.sibi-hero-subtitle {
    width: fit-content;
    margin: 32px auto 18px;
    padding: 9px 24px;
    background: #FFC400;
    border-radius: 18px;
    box-shadow: 0 4px 10px rgba(7, 87, 201, .08);
}

/* 3) Acervo ganha um bloco amarelo próprio e mais elegante */
.sibi-acervo {
    min-height: 250px;
    padding: 22px 0 22px;
}

.sibi-acervo-shape {
    left: 6%;
    right: 6%;
    top: 10px;
    height: 220px;
    border-radius: 46% 54% 48% 52% / 50% 44% 56% 50%;
    transform: rotate(-1deg);
}

.sibi-acervo-content {
    width: min(820px, 82%);
    padding: 28px 34px;
}

.sibi-acervo-content h3 {
    margin-bottom: 12px;
    font-size: 25px;
}

.sibi-acervo-content p {
    font-size: 15px;
    line-height: 1.4;
}

/* 4) Biblioteca inteira em bloco amarelo */
.sibi-bibliotecas {
    margin: 12px 54px 20px;
    padding: 26px 30px 30px;
    background: #FFC400;
    border-radius: 38px;
    box-shadow: 0 8px 20px rgba(7, 87, 201, .10);
}

.sibi-bibliotecas-title {
    width: fit-content;
    min-width: 220px;
    margin: 0 0 20px;
    padding: 12px 22px;
    background: #ffffff;
    border-radius: 18px;
    box-shadow: 0 4px 10px rgba(7,87,201,.08);
}

.sibi-bibliotecas-layout {
    grid-template-columns: 0.92fr 1.08fr;
    gap: 28px;
}

.sibi-links {
    gap: 6px;
    padding: 8px 10px 8px 14px;
}

.sibi-links a {
    color: #0757C9;
    font-weight: 700;
}

.sibi-funcionamento {
    background: rgba(255,255,255,.55);
    border-radius: 24px;
    padding: 18px 18px 16px;
}

/* 5) Área de serviços mais compacta */
.sibi-servicos {
    min-height: 360px;
    padding: 18px 0 30px;
}

.sibi-servicos-shape {
    left: 4%;
    right: 4%;
    top: 8px;
    height: 300px;
    border-radius: 46% 54% 12% 12% / 18% 18% 15% 15%;
    transform: rotate(0);
}

.sibi-servicos-content {
    width: min(900px, 88%);
    padding: 22px 18px 0;
}

.sibi-servicos-content h3 {
    margin-bottom: 12px;
    font-size: 24px;
}

.sibi-servicos-content ul {
    columns: 3;
    column-gap: 34px;
    padding-left: 20px;
}

.sibi-servicos-content li {
    margin-bottom: 5px;
    font-size: 12.5px;
    line-height: 1.22;
}

.sibi-logos {
    width: min(440px, 58%);
    margin: 16px auto 0;
}

/* ---------- Responsividade ---------- */
@media (max-width: 900px) {
    .sibi-bibliotecas {
        margin-left: 35px;
        margin-right: 35px;
    }

    .sibi-bibliotecas-layout {
        grid-template-columns: 1fr 1fr;
    }

    .sibi-servicos-content ul {
        columns: 2;
        column-gap: 28px;
    }

    .sibi-servicos-shape {
        height: 325px;
    }

    .sibi-servicos {
        min-height: 390px;
    }
}

@media (max-width: 700px) {
    .sibi-hero {
        min-height: 335px;
        padding: 22px 24px 30px;
    }

    .sibi-yellow-ribbon {
        width: 285px;
        height: 92px;
    }

    .sibi-hero h2 {
        font-size: 23px;
        padding: 10px 14px 12px;
        border-radius: 0 0 26px 0;
    }

    .sibi-hero-subtitle {
        margin-top: 28px;
        font-size: 18px;
    }

    .sibi-hero p {
        width: 100%;
        font-size: 12px;
    }

    .sibi-acervo {
        min-height: 290px;
    }

    .sibi-acervo-shape {
        left: 3%;
        right: 3%;
        height: 255px;
    }

    .sibi-acervo-content {
        width: 90%;
        padding: 30px 22px;
    }

    .sibi-acervo-content h3 {
        font-size: 21px;
    }

    .sibi-acervo-content p {
        font-size: 12px;
    }

    .sibi-bibliotecas {
        margin: 14px 20px 20px;
        padding: 22px 18px 24px;
        border-radius: 28px;
    }

    .sibi-bibliotecas-layout {
        grid-template-columns: 1fr;
        gap: 20px;
    }

    .sibi-bibliotecas-title {
        min-width: 0;
        width: fit-content;
        font-size: 21px;
    }

    .sibi-servicos {
        min-height: 520px;
    }

    .sibi-servicos-shape {
        left: 0;
        right: 0;
        height: 430px;
    }

    .sibi-servicos-content {
        width: 90%;
    }

    .sibi-servicos-content ul {
        columns: 1;
    }

    .sibi-logos {
        width: 82%;
    }
}

/* ============================================================
   SIBI - PADRONIZAÇÃO DAS CAIXAS
   Mesmo estilo visual do bloco "Bibliotecas"
   ============================================================ */

/* Acervo como caixa amarela */
.sibi-acervo {
    margin: 14px 54px 22px;
    min-height: 0;
    padding: 0;
    overflow: visible;
    background: #FFC400;
    border-radius: 38px;
    box-shadow: 0 8px 20px rgba(7, 87, 201, .10);
}

.sibi-acervo-shape {
    display: none;
}

.sibi-acervo-content {
    width: 100%;
    margin: 0;
    padding: 26px 30px 28px;
}

.sibi-acervo-content h3 {
    width: fit-content;
    margin: 0 0 14px;
    padding: 11px 22px;
    background: #ffffff;
    border-radius: 18px;
    box-shadow: 0 4px 10px rgba(7, 87, 201, .08);
    color: #0757C9;
    font-size: 24px;
}

.sibi-acervo-content p {
    font-size: 15px;
    line-height: 1.4;
}

/* ============================================================
   BIBLIOTECAS — CAIXA AMARELA PRINCIPAL
   ============================================================ */
.sibi-bibliotecas {
    margin: 14px 54px 22px;
    padding: 26px 30px 30px;
    background: #FFC400;
    border-radius: 38px;
    box-shadow: 0 8px 20px rgba(7, 87, 201, .10);
}

.sibi-bibliotecas-title {
    display: inline-block;
    margin: 0 0 20px;
    padding: 11px 22px;
    background: #ffffff;
    border-radius: 18px;
    box-shadow: 0 4px 10px rgba(7, 87, 201, .08);
    color: #0757C9;
    font-family: 'League Spartan', Arial, sans-serif;
    font-size: 24px;
    font-weight: 900;
}

.sibi-bibliotecas-layout {
    position: relative;
    display: grid;
    grid-template-columns: 1fr 1.1fr;
    gap: 24px;
    align-items: start;
}

.sibi-links {
    display: flex;
    flex-direction: column;
    gap: 4px;
    padding: 4px 6px;
}

.sibi-links a {
    color: #0757C9;
    font-size: 14px;
    font-weight: 700;
    text-decoration: underline;
}

/* Funcionamento com o mesmo padrão interno */
.sibi-funcionamento {
    background: #ffffff;
    border-radius: 24px;
    padding: 18px 18px 16px;
    box-shadow: 0 4px 10px rgba(7, 87, 201, .08);
}

.sibi-function-title {
    width: fit-content;
    margin: 0 auto 16px;
    padding: 10px 22px;
    background: #FFC400;
    color: #0757C9;
    border-radius: 18px;
    box-shadow: none;
}

/* Pequenos cards de canal seguem a mesma linguagem, sem perder o azul */
.sibi-qr-card {
    border-radius: 18px;
    padding: 9px 9px 10px;
    box-shadow: 0 4px 10px rgba(7, 87, 201, .12);
}

/* Serviços e Produtos: mesma lógica de caixa, mais compacto */
.sibi-servicos {
    min-height: 0;
    margin: 14px 54px 25px;
    padding: 0;
    overflow: visible;
    background: #FFC400;
    border-radius: 38px;
    box-shadow: 0 8px 20px rgba(7, 87, 201, .10);
}

.sibi-servicos-shape {
    display: none;
}

.sibi-servicos-content {
    width: 100%;
    margin: 0;
    padding: 24px 30px 22px;
    color: #111;
}

.sibi-servicos-content h3 {
    width: fit-content;
    margin: 0 0 14px;
    padding: 10px 20px;
    background: #ffffff;
    color: #0757C9;
    border-radius: 18px;
    font-size: 23px;
}

.sibi-servicos-content ul {
    columns: 3;
    column-gap: 34px;
    padding-left: 20px;
}

.sibi-servicos-content li {
    margin-bottom: 6px;
    padding-left: 3px;
    color: #111;
    font-size: 13px;
    line-height: 1.22;
    font-weight: 700;
}

.sibi-logos {
    width: min(500px, 68%);
    margin: 18px auto 0;
    padding-bottom: 4px;
}

/* ============================================================
   RESPONSIVIDADE DO NOVO PADRÃO
   ============================================================ */

@media (max-width: 900px) {

    .sibi-acervo,
    .sibi-bibliotecas,
    .sibi-servicos {
        margin-left: 35px;
        margin-right: 35px;
        border-radius: 32px;
    }

    .sibi-servicos-content ul {
        columns: 2;
        column-gap: 28px;
    }
}

@media (max-width: 700px) {

    .sibi-acervo,
    .sibi-bibliotecas,
    .sibi-servicos {
        margin-left: 20px;
        margin-right: 20px;
        border-radius: 28px;
    }

    .sibi-acervo-content {
        padding: 22px 20px 24px;
    }

    .sibi-acervo-content h3 {
        font-size: 21px;
    }

    .sibi-bibliotecas {
        padding: 22px 18px 24px;
    }

    .sibi-servicos-content {
        padding: 20px 20px 18px;
    }

    .sibi-servicos-content ul {
        columns: 1;
    }
}


/* ============================================================
   AJUSTE FINAL - SIBI
   ============================================================ */

/* 1) TÍTULO CENTRALIZADO, SEM CAIXA BRANCA */
.sibi-hero {
    position: relative;
    min-height: 300px;
    padding: 26px 52px 42px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-start;
    text-align: center;
}

.sibi-yellow-ribbon {
    width: 430px;
    height: 108px;
    left: 50%;
    transform: translateX(-50%);
    border-bottom-right-radius: 70% 70%;
}

.sibi-hero h2 {
    z-index: 3;
    width: 100%;
    max-width: 760px;
    margin: 22px 0 16px;
    padding: 0;
    background: transparent;
    border-radius: 0;
    text-align: center;
    font-size: 30px;
    line-height: 1.05;
}

.sibi-hero-subtitle {
    z-index: 3;
    margin: 4px 0 16px;
    padding: 0;
    background: transparent;
    box-shadow: none;
    text-align: center;
}

.sibi-hero p {
    z-index: 3;
    width: min(900px, 92%);
    margin: 0 auto;
}

/* 2) BIBLIOTECAS E FUNCIONAMENTO SÃO BLOCOS SEPARADOS */
.sibi-bibliotecas {
    margin: 14px 54px 18px;
    padding: 24px 30px 26px;
    background: #FFC400;
    border-radius: 38px;
    box-shadow: 0 8px 20px rgba(7, 87, 201, .10);
}

.sibi-bibliotecas-title {
    margin: 0 0 16px;
    padding: 11px 22px;
    background: #ffffff;
    border-radius: 18px;
    font-size: 24px;
}

.sibi-links {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 7px 24px;
    padding: 4px 8px;
}

.sibi-links a {
    font-size: 13px;
    line-height: 1.2;
}

.sibi-funcionamento {
    margin: 0 54px 22px;
    padding: 24px 30px 26px;
    background: #FFC400;
    border-radius: 38px;
    box-shadow: 0 8px 20px rgba(7, 87, 201, .10);
}

.sibi-funcionamento .sibi-function-title {
    width: fit-content;
    margin: 0 auto 16px;
    padding: 10px 22px;
    background: #ffffff;
    color: #0757C9;
    border-radius: 18px;
    font-size: 24px;
    box-shadow: 0 4px 10px rgba(7,87,201,.08);
}

.sibi-funcionamento p {
    max-width: 820px;
    margin: 0 auto 16px;
    font-size: 14px;
    text-align: center;
}

.sibi-funcionamento h4 {
    margin: 0 0 14px;
    text-align: center;
    font-size: 21px;
}

.sibi-qr-grid {
    max-width: 700px;
    margin: 0 auto;
    grid-template-columns: repeat(3, minmax(150px, 1fr));
}

/* 3) SERVIÇOS E PRODUTOS VOLTA AO AZUL */
.sibi-servicos {
    min-height: 360px;
    margin: 14px 54px 25px;
    padding: 0;
    background: #0091FF;
    border-radius: 38px;
    box-shadow: 0 8px 20px rgba(7, 87, 201, .10);
    overflow: hidden;
}

.sibi-servicos-shape {
    display: none;
}

.sibi-servicos-content {
    width: 100%;
    margin: 0;
    padding: 24px 30px 22px;
    color: #ffffff;
}

.sibi-servicos-content h3 {
    background: transparent;
    color: #ffffff;
    padding: 0;
    margin: 0 0 14px;
    font-size: 24px;
}

.sibi-servicos-content ul {
    columns: 3;
    column-gap: 34px;
    padding-left: 20px;
}

.sibi-servicos-content li {
    color: #ffffff;
    font-size: 12.5px;
    line-height: 1.22;
    margin-bottom: 6px;
}

@media (max-width: 900px) {
    .sibi-links {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    .sibi-funcionamento,
    .sibi-bibliotecas,
    .sibi-servicos {
        margin-left: 35px;
        margin-right: 35px;
    }
}

@media (max-width: 700px) {
    .sibi-hero h2 {
        font-size: 23px;
    }
    .sibi-yellow-ribbon {
        width: 285px;
        height: 92px;
    }
    .sibi-links {
        grid-template-columns: 1fr 1fr;
    }
    .sibi-bibliotecas,
    .sibi-funcionamento,
    .sibi-servicos {
        margin-left: 20px;
        margin-right: 20px;
    }
    .sibi-qr-grid {
        grid-template-columns: 1fr 1fr 1fr;
    }
    .sibi-servicos-content ul {
        columns: 1;
    }
}

/* ============================================================
   AJUSTE DE ESPAÇAMENTO ENTRE OS BLOCOS DO SLIDE SIBI
   ============================================================ */

.sibi-scroll > section + section {
    margin-top: 22px !important;
}

.sibi-acervo {
    margin-bottom: 2px;
}

.sibi-bibliotecas {
    margin-bottom: 2px !important;
}

.sibi-funcionamento {
    margin-bottom: 2px !important;
}

@media (max-width: 900px) {
    .sibi-scroll > section + section {
        margin-top: 18px !important;
    }
}

@media (max-width: 700px) {
    .sibi-scroll > section + section {
        margin-top: 16px !important;
    }
}

/* ============================================================
   AJUSTE FINAL - BIBLIOTECAS + SERVIÇOS LADO A LADO
   ============================================================ */

@media (min-width: 901px) {
    .sibi-scroll {
        display: grid;
        grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
        grid-template-areas:
            "hero hero"
            "acervo acervo"
            "bibliotecas servicos"
            "funcionamento funcionamento";
        align-items: start;
        column-gap: 26px;
        row-gap: 22px;
        padding: 0 42px 95px;
    }

    .sibi-scroll > .sibi-hero {
        grid-area: hero;
    }

    .sibi-scroll > .sibi-acervo {
        grid-area: acervo;
        margin: 0 !important;
    }

    .sibi-scroll > .sibi-bibliotecas {
        grid-area: bibliotecas;
        margin: 0 !important;
        padding: 26px 26px 28px;
        border-radius: 36px;
    }

    .sibi-scroll > .sibi-funcionamento {
        grid-area: funcionamento;
        margin: 0 !important;
    }

    .sibi-scroll > .sibi-servicos {
        grid-area: servicos;
        min-height: 0;
        margin: 0 !important;
        padding: 24px 26px 28px;
        background: transparent;
        border-radius: 0;
        box-shadow: none;
        overflow: visible;
    }

    .sibi-scroll > .sibi-servicos .sibi-servicos-shape {
        display: none;
    }

    .sibi-scroll > .sibi-servicos .sibi-servicos-content {
        width: 100%;
        padding: 0;
        color: #0757C9;
    }

    .sibi-scroll > .sibi-servicos .sibi-servicos-content h3 {
        margin: 0 0 16px;
        color: #0757C9;
        font-size: 25px;
    }

    .sibi-scroll > .sibi-servicos .sibi-servicos-content ul {
        columns: 2;
        column-gap: 28px;
        padding-left: 20px;
    }

    .sibi-scroll > .sibi-servicos .sibi-servicos-content li {
        color: #0757C9;
        font-size: 13px;
        margin-bottom: 7px;
    }

    .sibi-scroll > .sibi-servicos .sibi-logos {
        width: min(420px, 85%);
        margin: 20px auto 0;
    }
}

@media (max-width: 900px) {
    .sibi-scroll > .sibi-servicos {
        background: transparent;
        box-shadow: none;
    }

    .sibi-scroll > .sibi-servicos .sibi-servicos-shape {
        display: none;
    }

    .sibi-scroll > .sibi-servicos .sibi-servicos-content {
        color: #0757C9;
    }

    .sibi-scroll > .sibi-servicos .sibi-servicos-content h3,
    .sibi-scroll > .sibi-servicos .sibi-servicos-content li {
        color: #0757C9;
    }
}


/* ============================================================
   AJUSTE FINAL - ACERVO SEMPRE ACIMA DE BIBLIOTECAS E SERVIÇOS
   ============================================================ */

@media (min-width: 901px) {
    .sibi-scroll {
        grid-template-areas:
            "hero hero"
            "acervo acervo"
            "bibliotecas servicos"
            "funcionamento funcionamento" !important;
        grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
        row-gap: 24px !important;
        align-items: start;
    }

    .sibi-scroll > .sibi-hero {
        grid-area: hero !important;
    }

    .sibi-scroll > .sibi-acervo {
        grid-area: acervo !important;
        margin: 0 !important;
    }

    .sibi-scroll > .sibi-bibliotecas {
        grid-area: bibliotecas !important;
        margin: 0 !important;
    }

    .sibi-scroll > .sibi-servicos {
        grid-area: servicos !important;
        margin: 0 !important;
    }

    .sibi-scroll > .sibi-funcionamento {
        grid-area: funcionamento !important;
        margin: 0 !important;
    }
}

/* ============================================================
   AJUSTE DEFINITIVO - ACERVO ACIMA / BIBLIOTECAS + SERVIÇOS
   ============================================================ */

@media (min-width: 901px) {
    .sibi-scroll {
        display: flex !important;
        flex-direction: column !important;
        align-items: stretch !important;
        gap: 0 !important;
        padding: 0 42px 95px !important;
    }

    .sibi-row-bibliotecas-servicos {
        display: grid;
        grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
        gap: 26px;
        align-items: start;
        margin: 24px 0 0;
    }

    .sibi-row-bibliotecas-servicos > .sibi-bibliotecas,
    .sibi-row-bibliotecas-servicos > .sibi-servicos {
        margin: 0 !important;
        width: 100%;
    }

    /* Acervo fica isolado e ocupa toda a largura ANTES da dupla. */
    .sibi-scroll > .sibi-acervo {
        width: 100%;
        margin: 24px 0 0 !important;
    }

    /* Funcionamento fica separado abaixo da dupla. */
    .sibi-scroll > .sibi-funcionamento {
        width: 100%;
        margin: 24px 0 0 !important;
    }
}

@media (max-width: 900px) {
    .sibi-row-bibliotecas-servicos {
        display: flex;
        flex-direction: column;
        gap: 18px;
    }
}

/* ============================================================
   AJUSTE FINAL REAL - ACERVO ISOLADO ACIMA DA DUPLA
   ============================================================ */

@media (min-width: 901px) {

    #slide12 .sibi-scroll {
        display: flex !important;
        flex-direction: column !important;
        align-items: stretch !important;
        gap: 0 !important;
        padding: 0 42px 95px !important;
    }

    /* ACERVO: bloco próprio, ocupando toda a linha */
    #slide12 .sibi-scroll > .sibi-acervo {
        position: relative !important;
        display: block !important;
        width: 100% !important;
        height: auto !important;
        min-height: 0 !important;
        margin: 24px 0 0 !important;
        padding: 0 !important;
        flex: 0 0 auto !important;
        clear: both !important;
        z-index: 2 !important;
    }

    #slide12 .sibi-scroll > .sibi-acervo .sibi-acervo-content {
        width: 100% !important;
        margin: 0 !important;
        padding: 24px 34px 26px !important;
    }

    /* O título permanece dentro do próprio bloco e centralizado */
    #slide12 .sibi-scroll > .sibi-acervo .sibi-acervo-content h3 {
        width: 100% !important;
        margin: 0 0 12px !important;
        padding: 0 !important;
        background: transparent !important;
        box-shadow: none !important;
        text-align: center !important;
    }

    #slide12 .sibi-scroll > .sibi-acervo .sibi-acervo-content p {
        margin: 0 auto !important;
        max-width: 980px !important;
    }

    /* A dupla começa SOMENTE depois do Acervo */
    #slide12 .sibi-scroll > .sibi-row-bibliotecas-servicos {
        position: relative !important;
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
        gap: 26px !important;
        width: 100% !important;
        margin: 28px 0 0 !important;
        flex: 0 0 auto !important;
        clear: both !important;
        z-index: 1 !important;
    }

    #slide12 .sibi-scroll > .sibi-row-bibliotecas-servicos > .sibi-bibliotecas,
    #slide12 .sibi-scroll > .sibi-row-bibliotecas-servicos > .sibi-servicos {
        position: relative !important;
        width: 100% !important;
        margin: 0 !important;
        box-sizing: border-box !important;
    }

    /* Funcionamento fica depois da dupla, nunca ao lado do Acervo */
    #slide12 .sibi-scroll > .sibi-funcionamento {
        position: relative !important;
        width: 100% !important;
        margin: 28px 0 0 !important;
        flex: 0 0 auto !important;
        clear: both !important;
    }
}

@media (max-width: 900px) {

    #slide12 .sibi-scroll > .sibi-acervo {
        position: relative !important;
        clear: both !important;
        margin-bottom: 22px !important;
    }

    #slide12 .sibi-scroll > .sibi-row-bibliotecas-servicos {
        position: relative !important;
        clear: both !important;
        margin-top: 0 !important;
    }
}


@media (max-width: 900px) {
    .sibi-scroll > section + section {
        margin-top: 18px !important;
    }
}

@media (max-width: 700px) {
    .sibi-scroll > section + section {
        margin-top: 16px !important;
    }
}

/* ============================================================
   SLIDE 13 - FORMAÇÃO
   VERSÃO REDESENHADA — TABELAS
   ============================================================ */

#slide13 {
    background: #EFF6FC;
    overflow: hidden;
}

#slide13 .formacao-page {
    position: relative;
    width: 100%;
    height: 100%;
    padding: 0 5vw 78px;
    overflow-y: auto;
    overflow-x: hidden;
    font-family: 'Inter', Arial, sans-serif;
    scrollbar-width: thin;
    scrollbar-color: #9EC9EA #EAF3F9;
}

#slide13 .formacao-page::-webkit-scrollbar {
    width: 10px;
}

#slide13 .formacao-page::-webkit-scrollbar-track {
    background: #EAF3F9;
    border-radius: 10px;
}

#slide13 .formacao-page::-webkit-scrollbar-thumb {
    background: #9EC9EA;
    border-radius: 10px;
}

#slide13 .formacao-page::-webkit-scrollbar-thumb:hover {
    background: #75B2DB;
}

/* ---------- Cabeçalho ---------- */

#slide13 .formacao-header {
    position: relative;
    width: 100%;
    height: 145px;
    display: grid;
    grid-template-columns: 48% 1fr;
    gap: 36px;
    align-items: start;
}

#slide13 .formacao-titulo {
    position: relative;
    width: 100%;
    height: 135px;
    padding: 30px 30px 25px;
    background: #FFC400;
    border-bottom-right-radius: 90px;
    color: #0757C9;
    font-family: 'League Spartan', Arial, sans-serif;
    font-size: clamp(24px, 3vw, 36px);
    line-height: .94;
    font-weight: 900;
    box-shadow: 0 8px 20px rgba(7, 87, 201, .10);
}

#slide13 .formacao-titulo::after {
    content: "";
    position: absolute;
    right: 24px;
    bottom: 20px;
    width: 42px;
    height: 8px;
    background: #0757C9;
    border-radius: 10px;
}

#slide13 .formacao-header p {
    max-width: 390px;
    margin: 34px auto 0;
    color: #333;
    font-size: clamp(11px, 1.3vw, 15px);
    line-height: 1.42;
    font-weight: 600;
}

/* ---------- Grade das tabelas superiores ---------- */

#slide13 .formacao-superior {
    width: 100%;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 28px;
    margin-top: 10px;
    align-items: stretch;
}

/* ---------- Cards - Educação Básica / Ensino Superior ---------- */

#slide13 .formacao-grupo {
    position: relative;
    width: 100%;
    height: 100%;
    display: flex;
    flex-direction: column;
    padding: 20px 20px 22px;
    background: #ffffff;
    border: none;
    border-radius: 24px;
    box-shadow: 0 10px 28px rgba(7, 87, 201, .10), 0 1px 0 rgba(7, 87, 201, .04);
    overflow: hidden;
}

#slide13 .formacao-grupo::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 6px;
    background: linear-gradient(90deg, #FFC400, #0091FF);
}

#slide13 .formacao-grupo::after {
    content: "";
    position: absolute;
    right: -40px;
    bottom: -60px;
    width: 130px;
    height: 130px;
    border-radius: 50%;
    border: 16px solid rgba(0, 145, 255, .06);
    pointer-events: none;
}

/* ---------- Títulos dos cards ---------- */

#slide13 .formacao-grupo > h2 {
    position: relative;
    z-index: 4;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    width: 100%;
    margin: 0 0 16px;
    padding: 11px 14px;
    background: #0757C9;
    color: #ffffff;
    border-radius: 14px;
    text-align: center;
    font-family: 'League Spartan', Arial, sans-serif;
    font-size: clamp(15px, 1.55vw, 20px);
    line-height: 1;
    font-weight: 900;
    letter-spacing: .2px;
    box-shadow: 0 6px 14px rgba(7, 87, 201, .22);
}

/* ---------- Tabelas ---------- */

#slide13 .formacao-tabela {
    position: relative;
    z-index: 5;
    width: 100%;
    height: 100%;
    border-collapse: separate;
    border-spacing: 0;
    table-layout: fixed;
    border-radius: 16px;
    overflow: hidden;
    box-shadow: 0 2px 10px rgba(7, 87, 201, .07);
}

/* Cabeçalhos */

#slide13 .formacao-tabela thead th {
    height: 46px;
    padding: 8px 6px;
    background: #0091FF;
    background-image: linear-gradient(180deg, #17A0FF, #0080E8);
    color: #ffffff;
    border: none;
    border-right: 1px solid rgba(255, 255, 255, .28);
    font-family: 'League Spartan', Arial, sans-serif;
    font-size: clamp(9.5px, 1.05vw, 13px);
    line-height: 1.1;
    font-weight: 900;
    letter-spacing: .2px;
    text-align: center;
    vertical-align: middle;
}

#slide13 .formacao-tabela thead th:last-child {
    border-right: none;
}

/* Linhas e células */

#slide13 .formacao-tabela tbody tr {
    background: #F7FBFF;
}

#slide13 .formacao-tabela tbody tr:nth-child(even) {
    background: #EDF6FF;
}

#slide13 .formacao-tabela td {
    height: 46px;
    padding: 5px;
    background: transparent;
    color: #0757C9;
    border: none;
    border-top: 1px solid #DCEEFC;
    font-size: clamp(8.5px, .95vw, 12px);
    line-height: 1.1;
    font-weight: 700;
    text-align: center;
    vertical-align: middle;
    transition: background .15s ease;
}

#slide13 .formacao-tabela tbody tr:first-child td {
    border-top: none;
}

/* Texto dentro das células */

#slide13 .formacao-tabela td span {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    min-height: 30px;
    padding: 5px 6px;
    background: #ffffff;
    border-radius: 9px;
    box-shadow: 0 1px 3px rgba(7, 87, 201, .10);
}

#slide13 .formacao-tabela td:empty {
    background: transparent;
}

/* Realce sutil em hover (útil em telas com mouse) */

#slide13 .formacao-tabela tbody tr:hover td span {
    background: #FFF6D9;
    box-shadow: 0 2px 6px rgba(255, 196, 0, .35);
}

/* Remove completamente os placeholders */

#slide13 .figura-placeholder {
    display: none !important;
}

/* ---------- Ensino Profissional e Técnico ---------- */

#slide13 .formacao-profissional {
    position: relative;
    width: 100%;
    margin-top: 26px;
    padding: 24px 30px 26px;
    background: #0757C9;
    background-image: radial-gradient(120% 160% at 0% 0%, #0B7CE0 0%, #0757C9 55%, #054AA8 100%);
    border-radius: 28px;
    overflow: hidden;
    box-shadow: 0 14px 32px rgba(7, 87, 201, .22);
}

#slide13 .formacao-profissional::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 160px;
    height: 6px;
    background: #FFC400;
}

#slide13 .formacao-profissional::after {
    content: "";
    position: absolute;
    width: 190px;
    height: 190px;
    right: -70px;
    bottom: -100px;
    border-radius: 50%;
    border: 20px solid rgba(255,255,255,.08);
    pointer-events: none;
}

/* Título profissional */

#slide13 .formacao-profissional > h2 {
    position: relative;
    z-index: 5;
    width: fit-content;
    max-width: 88%;
    margin: 0 auto 16px;
    padding: 11px 24px;
    background: #FFC400;
    color: #0757C9;
    border-radius: 14px;
    text-align: center;
    font-family: 'League Spartan', Arial, sans-serif;
    font-size: clamp(15px, 1.5vw, 19px);
    line-height: 1.1;
    font-weight: 900;
    box-shadow: 0 6px 14px rgba(0, 30, 90, .28);
}

/* Tabela profissional */

#slide13 .tabela-profissional {
    position: relative;
    z-index: 5;
    width: 92%;
    margin: 0 auto;
    border-collapse: separate;
    border-spacing: 0;
    border-radius: 16px;
    overflow: hidden;
    box-shadow: 0 8px 22px rgba(0, 20, 70, .22);
}

#slide13 .tabela-profissional th {
    height: 48px;
    padding: 8px;
    background: rgba(255, 255, 255, .14);
    color: #ffffff;
    border: none;
    border-right: 1px solid rgba(255, 255, 255, .18);
    border-bottom: 1px solid rgba(255, 255, 255, .22);
    font-family: 'League Spartan', Arial, sans-serif;
    font-size: clamp(9px, 1vw, 13px);
    line-height: 1.1;
    font-weight: 900;
    text-align: center;
    vertical-align: middle;
}

#slide13 .tabela-profissional th:last-child {
    border-right: none;
}

#slide13 .tabela-profissional tbody tr {
    background: rgba(255, 255, 255, .05);
}

#slide13 .tabela-profissional tbody tr:nth-child(even) {
    background: rgba(255, 255, 255, .09);
}

#slide13 .tabela-profissional td {
    height: 38px;
    padding: 5px;
    background: transparent;
    color: #ffffff;
    border: none;
    font-size: clamp(8px, .9vw, 11px);
    line-height: 1.1;
    font-weight: 700;
    text-align: center;
    vertical-align: middle;
}

#slide13 .tabela-profissional td span {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 26px;
    padding: 5px 6px;
    border-radius: 8px;
    background: #ffffff;
    color: #0757C9;
    font-weight: 800;
    box-shadow: 0 1px 3px rgba(0, 20, 70, .18);
}

/* Cores alternadas nas células preenchidas */

#slide13 .tabela-profissional tbody td:nth-child(1) span {
    background: #FFF1A8;
}

#slide13 .tabela-profissional tbody td:nth-child(2) span {
    background: #DFF3FF;
}

#slide13 .tabela-profissional tbody td:nth-child(3) span {
    background: #FFE3F0;
}

/* Células vazias ficam discretas, sem "buraco" visual */

#slide13 .tabela-profissional td:empty {
    background: transparent;
}

/* Realce em hover */

#slide13 .tabela-profissional tbody tr:hover td span {
    filter: brightness(1.06);
    box-shadow: 0 2px 8px rgba(0, 0, 0, .18);
}

/* ============================================================
   NÚMERO E CONTROLES
   ============================================================ */

#slide13 .numero-pagina {
    z-index: 30;
}

#slide13 .controles {
    z-index: 30;
}

/* ============================================================
   TABLET
   ============================================================ */

@media (max-width: 900px) {

    #slide13 .formacao-page {
        padding-left: 4vw;
        padding-right: 4vw;
    }

    #slide13 .formacao-header {
        height: 125px;
        grid-template-columns: 48% 1fr;
        gap: 20px;
    }

    #slide13 .formacao-titulo {
        height: 118px;
        padding: 24px 20px;
        border-bottom-right-radius: 60px;
        font-size: 25px;
    }

    #slide13 .formacao-header p {
        margin-top: 23px;
        font-size: 11px;
    }

    #slide13 .formacao-superior {
        gap: 17px;
    }

    #slide13 .formacao-grupo {
        padding: 15px 13px 16px;
        border-radius: 20px;
    }

    #slide13 .formacao-grupo > h2 {
        font-size: 14px;
        padding: 9px 12px;
    }

    #slide13 .formacao-tabela thead th {
        height: 38px;
        font-size: 8.5px;
    }

    #slide13 .formacao-tabela td {
        height: 38px;
        font-size: 7.5px;
    }

    #slide13 .formacao-tabela td span {
        min-height: 26px;
    }

    #slide13 .formacao-profissional {
        padding: 18px 16px 20px;
        border-radius: 24px;
    }

    #slide13 .formacao-profissional > h2 {
        max-width: 86%;
        font-size: 14px;
    }

    #slide13 .tabela-profissional {
        width: 96%;
    }

    #slide13 .tabela-profissional th {
        height: 40px;
        font-size: 8.5px;
    }

    #slide13 .tabela-profissional td {
        height: 32px;
        font-size: 7.5px;
    }
}

/* ============================================================
   CELULAR
   ============================================================ */

@media (max-width: 650px) {

    #slide13 .formacao-page {
        padding: 0 13px 70px;
    }

    #slide13 .formacao-header {
        height: 108px;
        grid-template-columns: 52% 1fr;
        gap: 9px;
    }

    #slide13 .formacao-titulo {
        height: 100px;
        padding: 19px 13px;
        border-bottom-right-radius: 42px;
        font-size: 19px;
    }

    #slide13 .formacao-titulo::after {
        right: 14px;
        bottom: 12px;
        width: 28px;
        height: 5px;
    }

    #slide13 .formacao-header p {
        margin-top: 15px;
        font-size: 8px;
        line-height: 1.28;
    }

    #slide13 .formacao-superior {
        grid-template-columns: 1fr;
        gap: 14px;
    }

    #slide13 .formacao-grupo {
        padding: 12px 10px 14px;
        border-radius: 18px;
    }

    #slide13 .formacao-grupo > h2 {
        margin-bottom: 10px;
        padding: 8px 8px;
        border-radius: 10px;
        font-size: 12px;
    }

    #slide13 .formacao-tabela thead th {
        height: 34px;
        padding: 4px;
        font-size: 9.5px;
    }

    #slide13 .formacao-tabela td {
        height: 34px;
        padding: 4px;
        font-size: 9px;
    }

    #slide13 .formacao-tabela td span {
        min-height: 24px;
        padding: 3px;
        border-radius: 6px;
    }

    #slide13 .formacao-profissional {
        margin-top: 14px;
        padding: 14px 10px 16px;
        border-radius: 20px;
    }

    #slide13 .formacao-profissional > h2 {
        max-width: 92%;
        margin-bottom: 10px;
        padding: 8px 8px;
        border-radius: 10px;
        font-size: 12px;
    }

    #slide13 .tabela-profissional {
        width: 98%;
    }

    #slide13 .tabela-profissional th {
        height: 38px;
        padding: 4px;
        font-size: 8.5px;
    }

    #slide13 .tabela-profissional td {
        height: 30px;
        padding: 3px;
        font-size: 8px;
    }

    #slide13 .tabela-profissional td span {
        min-height: 22px;
        padding: 3px;
        border-radius: 6px;
    }
}

/* ============================================================
   SLIDE 14 / PÁGINA 20 - HINO / NOSSA IDENTIDADE
   Tudo fica encapsulado em #slide14 para não alterar os demais.
   ============================================================ */
#slide14 {
    background: #ffffff;
    overflow: hidden;
}

#slide14 .hino20-page {
    position: absolute;
    inset: 0;
    overflow-y: auto;
    overflow-x: hidden;
    background: #fff;
    font-family: 'Inter', Arial, sans-serif;
    padding-bottom: 90px;
}

#slide14 .hino20-top {
    position: relative;
    height: 188px;
    overflow: hidden;
}

#slide14 .hino20-yellow-head {
    position: absolute;
    left: -28px;
    top: -54px;
    width: 52%;
    min-width: 300px;
    height: 226px;
    border-bottom-right-radius: 120px;
    background: #FFC400;
    padding: 101px 24px 20px 48px;
    z-index: 2;
}

#slide14 .hino20-yellow-head h1 {
    color: #0757C9;
    font-family: 'League Spartan', Arial, sans-serif;
    font-size: clamp(24px, 5vw, 32px);
    line-height: .98;
    font-weight: 900;
    margin: 0;
}

#slide14 .hino20-music-bubble {
    position: absolute;
    right: -5px;
    top: 9px;
    width: 96px;
    height: 88px;
    object-fit: cover;
    border-radius: 50%;
}

#slide14 .hino20-blue-head {
    position: absolute;
    right: -8px;
    top: 34px;
    width: 59%;
    min-width: 330px;
    min-height: 130px;
    background: #0091FF;
    border-top-left-radius: 135px;
    border-bottom-left-radius: 110px;
    padding: 39px 32px 20px 74px;
    color: #fff;
    z-index: 3;
}

#slide14 .hino20-blue-head p {
    margin: 0;
    max-width: 390px;
    font-size: 14px;
    line-height: 1.22;
    font-weight: 700;
}

#slide14 .hino20-content {
    width: min(100%, 960px);
    margin: 0 auto;
    padding: 6px 34px 26px;
    box-sizing: border-box;
}

#slide14 .hino20-intro {
    text-align: center;
    margin: 8px 0 9px;
}

#slide14 .hino20-intro h2 {
    color: #0091FF;
    font-family: 'League Spartan', Arial, sans-serif;
    font-size: 27px;
    font-weight: 900;
    margin: 0 0 2px;
}

#slide14 .hino20-creditos {
    color: #222;
    font-size: 12px;
}

#slide14 .hino20-main-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.65fr) minmax(220px, .8fr);
    gap: 18px;
    align-items: start;
}

#slide14 .hino20-letras {
    position: relative;
    padding-right: 8px;
}

#slide14 .hino20-lyrics {
    margin: 8px 0 0;
    color: #333;
    font-size: 14px;
    line-height: 1.48;
    text-align: center;
    font-style: italic;
}

#slide14 .hino20-lyrics-continuacao {
    margin-top: 18px;
}

#slide14 .hino20-side {
    min-width: 0;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
    align-items: start;
}

#slide14 .hino20-yellow-bubble {
    grid-column: 1 / -1;
    min-height: 170px;
    border-radius: 52% 48% 45% 56%;
    background: #FFC400;
    padding: 12px 15px 16px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    box-sizing: border-box;
}

#slide14 .hino20-click-area {
    text-decoration: none;
    cursor: pointer;
}

#slide14 .hino20-click-area:hover {
    filter: brightness(0.98);
}

#slide14 .hino20-hand {
    width: 78px;
    height: 78px;
    object-fit: cover;
    object-position: center;
    border-radius: 50%;
    margin-bottom: 2px;
}

#slide14 .hino20-yellow-bubble strong {
    color: #050505;
    font-size: 12px;
    line-height: 1.05;
}

#slide14 .hino20-yellow-bubble span {
    color: #111;
    font-size: 10px;
    line-height: 1.08;
    margin-top: 7px;
}

#slide14 .hino20-audio {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 3px;
    text-align: center;
    font-size: 10px;
    line-height: 1.05;
    color: #111;
}

#slide14 .hino20-audio:visited,
#slide14 .hino20-audio:focus,
#slide14 .hino20-audio:hover {
    color: #111;
}

#slide14 .hino20-audio img {
    width: 106px;
    height: 68px;
    object-fit: contain;
}

#slide14 .hino20-notes {
    width: 92px;
    height: 155px;
    object-fit: contain;
    justify-self: end;
}

#slide14 .hino20-gallery {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 12px;
    margin: 17px 0 15px;
    align-items: start;
}

#slide14 .hino20-photo {
    position: relative;
    background: #fff;
    border: 4px solid #FFC400;
    border-radius: 8px;
    padding: 4px;
    box-shadow: 0 5px 12px rgba(0,0,0,.14);
    overflow: hidden;
}

#slide14 .hino20-photo:nth-child(1) { transform: rotate(-2deg); }
#slide14 .hino20-photo:nth-child(2) { transform: rotate(1.5deg); margin-top: 8px; }
#slide14 .hino20-photo:nth-child(3) { transform: rotate(3deg); }

#slide14 .hino20-photo img {
    width: 100%;
    height: auto;
    aspect-ratio: 1 / 0.93;
    object-fit: cover;
    display: block;
    border-radius: 3px;
}

#slide14 .hino20-photo-1 img { aspect-ratio: 169 / 157; }
#slide14 .hino20-photo-2 img { aspect-ratio: 166 / 165; }
#slide14 .hino20-photo-3 img { aspect-ratio: 155 / 166; }

#slide14 .hino20-photo span {
    display: block;
    margin-top: 4px;
    background: #0091FF;
    color: #fff;
    padding: 6px 5px;
    min-height: 44px;
    box-sizing: border-box;
    text-align: center;
    font-size: 9.5px;
    line-height: 1.12;
    font-weight: 700;
}

#slide14 .hino20-bottom {
    display: grid;
    grid-template-columns: 1.25fr .85fr;
    gap: 18px;
    align-items: stretch;
}

#slide14 .hino20-tabuada {
    position: relative;
    overflow: hidden;
    min-height: 205px;
    border-radius: 30px 30px 26px 26px;
    background: #FFC400;
    padding: 20px 28px 18px;
    box-sizing: border-box;
}

#slide14 .hino20-tabuada h3,
#slide14 .hino20-tabuada p {
    position: relative;
    z-index: 3;
    margin-left: 44px;
}

#slide14 .hino20-tabuada h3 {
    color: #0757C9;
    font-family: 'League Spartan', Arial, sans-serif;
    font-size: 25px;
    margin-top: 0;
    margin-bottom: 8px;
}

#slide14 .hino20-tabuada p {
    color: #111;
    font-size: 14px;
    line-height: 1.35;
    font-style: italic;
    margin-top: 0;
}

#slide14 .hino20-number-left,
#slide14 .hino20-number-right {
    position: absolute;
    pointer-events: none;
    opacity: .92;
}

#slide14 .hino20-number-left {
    left: -12px;
    top: 8px;
    width: 68px;
    height: 165px;
    object-fit: contain;
}

#slide14 .hino20-number-right {
    right: -18px;
    top: 11px;
    width: 130px;
    height: 190px;
    object-fit: contain;
}

#slide14 .hino20-fato {
    position: relative;
    overflow: hidden;
    min-height: 205px;
    background: #0091FF;
    border-radius: 30px;
    color: #fff;
    padding: 22px 20px 18px 28px;
    box-sizing: border-box;
}

#slide14 .hino20-fato h3 {
    font-family: 'League Spartan', Arial, sans-serif;
    font-size: 30px;
    line-height: .9;
    margin: 0 0 12px;
}

#slide14 .hino20-fato p {
    font-size: 12.5px;
    line-height: 1.3;
    max-width: 235px;
    margin: 0;
}

#slide14 .hino20-question {
    position: absolute;
    right: 12px;
    top: 14px;
    width: 68px;
    height: 98px;
    object-fit: contain;
}

#slide14 .hino20-history {
    position: relative;
    display: grid;
    grid-template-columns: 130px 1fr;
    gap: 14px;
    align-items: center;
    margin-top: 16px;
    padding: 12px 16px;
    border-top: 2px solid #0757C9;
}

#slide14 .hino20-cake {
    width: 125px;
    height: 108px;
    object-fit: contain;
    justify-self: center;
}

#slide14 .hino20-history p {
    margin: 0;
    color: #222;
    font-size: 12.5px;
    line-height: 1.42;
    text-align: center;
}

#slide14 .hino20-controls {
    position: fixed;
    bottom: 3%;
    right: 3%;
}

#slide14 .numero-pagina {
    z-index: 30;
    left: 40px;
    bottom: 22px;
}

@media (max-width: 800px) {
    #slide14 .hino20-content { padding: 6px 18px 25px; }
    #slide14 .hino20-main-grid { grid-template-columns: 1fr; }
    #slide14 .hino20-side { grid-template-columns: 1.1fr .9fr; }
    #slide14 .hino20-yellow-bubble { grid-column: auto; }
    #slide14 .hino20-blue-head { padding-left: 56px; }
}

@media (max-width: 600px) {
    #slide14 .hino20-top { height: 152px; }
    #slide14 .hino20-yellow-head { width: 55%; min-width: 250px; height: 190px; padding: 83px 15px 15px 28px; }
    #slide14 .hino20-blue-head { min-width: 270px; width: 62%; top: 31px; min-height: 112px; padding: 30px 19px 15px 52px; }
    #slide14 .hino20-main-grid { gap: 10px; }
    #slide14 .hino20-gallery { grid-template-columns: 1fr; }
    #slide14 .hino20-photo:nth-child(2) { margin-top: 0; }
    #slide14 .hino20-bottom { grid-template-columns: 1fr; }
    #slide14 .hino20-history { grid-template-columns: 1fr; }
    #slide14 .hino20-cake { width: 90px; height: 80px; }
    #slide14 .hino20-controls { right: 5%; bottom: 2%; }
    #slide14 .hino20-intro h2 { font-size: 20px; }
    #slide14 .hino20-lyrics { font-size: 12px; }
}
#slide15 {
    background: #fff;
    overflow: hidden;
}
#slide15 > .numero-pagina {
    display: flex !important;
}

#slide15 .normas25-page {
    position: absolute;
    inset: 0;
    overflow-y: auto;
    overflow-x: hidden;
    background: #fff;
    font-family: 'Inter', Arial, sans-serif;
    scroll-behavior: smooth;
    padding: 0 0 86px;
}

#slide15 .normas25-pagina {
    position: relative;
    width: min(100%, 980px);
    min-height: 720px;
    margin: 0 auto 28px;
    background: #fff;
    box-sizing: border-box;
    overflow: hidden;
}

/* =========================
   PÁGINA 23 — COM QUE ROUPA?
   ========================= */
#slide15 .normas25-pagina-23 {
    padding: 0 40px 30px;
}

#slide15 .normas25-header {
    position: relative;
    height: 150px;
    margin: 0 -40px;
    overflow: visible;
}

#slide15 .normas25-yellow-title {
    position: absolute;
    left: 0;
    top: 0;
    width: 52%;
    height: 112px;
    padding: 30px 28px 0 58px;
    box-sizing: border-box;
    background: #FFC400;
    border-bottom-right-radius: 78px;
    color: #0757C9;
    font-family: 'League Spartan', Arial, sans-serif;
    font-size: 31px;
    font-weight: 900;
    font-style: italic;
    display: flex;
    align-items: flex-start;
    z-index: 3;
}

#slide15 .normas25-blue-head {
    position: absolute;
    right: 0;
    top: 32px;
    width: 50%;
    min-height: 105px;
    padding: 22px 30px 18px 62px;
    box-sizing: border-box;
    background: #0B92DF;
    color: #fff;
    border-radius: 56px 0 0 56px;
    z-index: 2;
    display: flex;
    align-items: center;
}

#slide15 .normas25-blue-head p {
    margin: 0;
    font-size: 12.5px;
    line-height: 1.3;
    font-weight: 800;
}

#slide15 .normas25-intro-grid {
    display: grid;
    grid-template-columns: 48% 52%;
    gap: 22px;
    align-items: start;
    margin-top: 0;
}

#slide15 .normas25-text {
    padding: 4px 8px 0 4px;
}

#slide15 .normas25-text p {
    margin: 0 0 18px;
    color: #222;
    font-size: 14px;
    line-height: 1.38;
    text-align: justify;
}

/* Uniformes: cartões realmente quadrados, sem blobs e sem corte. */
#slide15 .normas25-uniformes {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
    padding-right: 4px;
}

#slide15 .normas25-uniforma-item {
    position: relative;
    min-height: 154px;
    width: 100%;
    aspect-ratio: 1 / 1;
    background: #F8FBFF;
    border: 4px solid #0B92DF;
    border-radius: 10px;
    box-sizing: border-box;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    box-shadow: 0 5px 11px rgba(7, 87, 201, .10);
}

#slide15 .normas25-uniforma-item:nth-child(2) {
    border-color: #FFC400;
    background: #FFFDF5;
}

#slide15 .normas25-uniforma-item:nth-child(3) {
    grid-column: 1 / -1;
    aspect-ratio: 2.15 / 1;
    min-height: 145px;
    border-color: #0B92DF;
}

#slide15 .normas25-blob {
    display: none;
}

#slide15 .normas25-uniforme-img,
#slide15 .normas25-uniforma-item-wide .normas25-uniforme-img {
    position: relative;
    z-index: 2;
    width: 86%;
    height: 86%;
    max-width: none;
    object-fit: contain;
    display: block;
}

#slide15 .normas25-uniforma-item-wide .normas25-uniforme-img {
    width: 62%;
    height: 88%;
    margin-left: 2%;
}

#slide15 .normas25-uniforma-item-wide span {
    position: absolute;
    right: 10px;
    bottom: 10px;
    width: 38%;
    background: #FFE9A8;
    color: #111;
    border-radius: 6px;
    padding: 7px 8px;
    box-sizing: border-box;
    font-size: 9.5px;
    line-height: 1.15;
    text-align: center;
    font-weight: 700;
    z-index: 4;
}

/* Bloco exclusivo para os QR Codes. */
#slide15 .normas25-portarias {
    margin: 20px 0 0;
    background: #F5FBFF;
    border: 3px solid #8BD5FF;
    border-radius: 12px;
    padding: 15px 16px 16px;
    box-sizing: border-box;
}

#slide15 .normas25-portarias-text {
    margin: 0 0 11px;
    color: #0757C9;
    font-size: 13px;
    line-height: 1.18;
    font-weight: 900;
}

#slide15 .normas25-qr-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 14px;
}

#slide15 .normas25-qr-card {
    text-align: center;
    background: #fff;
    border: 1px solid #DDEFFC;
    border-radius: 10px;
    padding: 9px 6px 8px;
    box-shadow: 0 3px 7px rgba(7, 87, 201, .08);
}

#slide15 .normas25-qr-card img {
    width: 94px;
    height: 94px;
    object-fit: contain;
    background: #fff;
    border: 6px solid #8BD5FF;
    border-radius: 9px;
    display: block;
    margin: 0 auto 6px;
    image-rendering: pixelated;
}

#slide15 .normas25-qr-card b {
    color: #0757C9;
    text-decoration: underline;
    font-size: 8.8px;
    line-height: 1.08;
    font-weight: 900;
}/* =========================
   PÁGINA 24 — NORMAS DE CONDUTA
   ========================= */
#slide15 .normas25-pagina-24 {
    padding: 0 40px 30px;
}

#slide15 .normas25-conduct-yellow {
    position: absolute;
    left: 0;
    top: 18px;
    width: 58%;
    min-height: 235px;
    background: #FFC400;
    border-radius: 12px;
    padding: 48px 38px 25px 52px;
    box-sizing: border-box;
    box-shadow: 0 5px 12px rgba(255, 196, 0, .12);
}

#slide15 .normas25-conduct-yellow h2 {
    margin: 0 0 8px;
    color: #0757C9;
    font-family: 'League Spartan', Arial, sans-serif;
    font-size: 30px;
    line-height: 1;
    font-weight: 900;
}

#slide15 .normas25-conduct-yellow p {
    margin: 0;
    color: #0757C9;
    font-size: 13px;
    line-height: 1.22;
    font-weight: 900;
}

#slide15 .normas25-book {
    position: absolute;
    left: 50px;
    bottom: 17px;
    width: 128px;
    height: 104px;
    object-fit: contain;
}

#slide15 .normas25-smiles {
    position: absolute;
    right: 42px;
    top: 34px;
    display: flex;
    flex-direction: column;
    gap: 2px;
    align-items: center;
}

#slide15 .normas25-smiles img:first-child {
    width: 70px;
    height: 64px;
    object-fit: contain;
}

#slide15 .normas25-smiles img:last-child {
    width: 94px;
    height: 82px;
    object-fit: contain;
}

#slide15 .normas25-ethics-box {
    position: absolute;
    top: 210px;
    right: 40px;
    width: 51%;
    min-height: 195px;
    border: 3px solid #0B92DF;
    border-radius: 16px;
    padding: 42px 40px 32px;
    box-sizing: border-box;
    background: #fff;
}

#slide15 .normas25-ethics-box p {
    margin: 0;
    color: #222;
    font-size: 14px;
    line-height: 1.38;
}

/* Bloco azul próprio para o Código de Ética + QR. */
#slide15 .normas25-blue-ethics {
    position: absolute;
    left: 52px;
    right: 72px;
    bottom: 58px;
    min-height: 200px;
    background: #0B92DF;
    border-radius: 16px;
    display: grid;
    grid-template-columns: 1fr 150px;
    align-items: center;
    padding: 27px 30px 27px 28px;
    box-sizing: border-box;
}

#slide15 .normas25-blue-ethics-text {
    color: #fff;
    font-size: 14px;
    line-height: 1.23;
    font-weight: 700;
    padding-left: 18px;
}

#slide15 .normas25-blue-ethics-text u {
    font-weight: 900;
}

#slide15 .normas25-ethics-qr {
    width: 136px;
    height: 136px;
    border-radius: 10px;
    background: #fff;
    padding: 10px;
    box-sizing: border-box;
    display: flex;
    align-items: center;
    justify-content: center;
}

#slide15 .normas25-ethics-qr img {
    width: 116px;
    height: 116px;
    object-fit: contain;
    image-rendering: pixelated;
}

#slide15 .normas25-controls {
    position: fixed;
    right: 3%;
    bottom: 3%;
    z-index: 60;
}

@media (max-width: 800px) {
    #slide15 .normas25-pagina { width: 100%; }
    #slide15 .normas25-header { height: 165px; }
    #slide15 .normas25-blue-head { width: 52%; right: 0; }
    #slide15 .normas25-intro-grid { grid-template-columns: 1fr 1fr; gap: 12px; }
    #slide15 .normas25-uniformes { grid-template-columns: 1fr; }
    #slide15 .normas25-uniforma-item,
    #slide15 .normas25-uniforma-item:nth-child(3) { aspect-ratio: 1 / .8; min-height: 125px; grid-column: auto; }
    #slide15 .normas25-uniforma-item-wide .normas25-uniforme-img { width: 66%; }
    #slide15 .normas25-ethics-box { right: 20px; width: 52%; }
    #slide15 .normas25-blue-ethics { left: 28px; right: 28px; }
}

@media (max-width: 600px) {
    #slide15 .normas25-pagina { min-height: 760px; }
    #slide15 .normas25-pagina-23,
    #slide15 .normas25-pagina-24 { padding-left: 20px; padding-right: 20px; }
    #slide15 .normas25-header { margin: 0 -20px; height: 175px; }
    #slide15 .normas25-yellow-title { width: 72%; padding-left: 38px; }
    #slide15 .normas25-blue-head { width: 62%; padding-left: 36px; }
    #slide15 .normas25-intro-grid { grid-template-columns: 1fr; }
    #slide15 .normas25-portarias { margin-top: 16px; }
    #slide15 .normas25-qr-grid { grid-template-columns: 1fr 1fr; }
    #slide15 .normas25-conduct-yellow { width: 82%; left: 0; }
    #slide15 .normas25-smiles { right: 12px; }
    #slide15 .normas25-ethics-box { position: relative; top: auto; right: auto; width: 92%; margin: 225px auto 0; padding: 34px 24px; }
    #slide15 .normas25-blue-ethics { position: relative; left: auto; right: auto; bottom: auto; margin: 24px auto 0; width: 94%; grid-template-columns: 1fr 110px; }
    #slide15 .normas25-ethics-qr { width: 100px; height: 100px; }
    #slide15 .normas25-ethics-qr img { width: 84px; height: 84px; }
}

/* ============================================================
   REFINO V3 — SLIDE 15
   Geometria mais fiel às referências e cartões quadrados.
   Tudo permanece isolado no #slide15.
   ============================================================ */

/* ---------- PÁGINA 23 ---------- */
#slide15 .normas25-pagina-23 {
    padding: 0 42px 28px;
}

#slide15 .normas25-header {
    height: 142px;
    margin: 0 -42px;
}

#slide15 .normas25-yellow-title {
    width: 50%;
    height: 108px;
    padding: 28px 30px 0 58px;
    border-bottom-right-radius: 58px;
    font-size: 31px;
    line-height: 1.02;
}

#slide15 .normas25-blue-head {
    right: 0;
    top: 34px;
    width: 53%;
    min-height: 101px;
    padding: 20px 25px 18px 46px;
    border-radius: 58px 0 0 58px;
}

#slide15 .normas25-blue-head p {
    font-size: 13px;
    line-height: 1.28;
}

#slide15 .normas25-intro-grid {
    grid-template-columns: 47% 53%;
    gap: 24px;
    margin-top: 1px;
}

#slide15 .normas25-text p {
    font-size: 14px;
    line-height: 1.36;
    margin-bottom: 17px;
}

/* Três cartões de uniforme realmente quadrados. */
#slide15 .normas25-uniformes {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 10px;
    padding: 0 4px 0 0;
}

#slide15 .normas25-uniforma-item,
#slide15 .normas25-uniforma-item:nth-child(2),
#slide15 .normas25-uniforma-item:nth-child(3) {
    flex: 0 0 146px;
    width: 146px;
    height: 146px;
    aspect-ratio: 1 / 1 !important;
    min-height: 146px;
    min-width: 146px;
    grid-column: auto;
    border-radius: 8px;
    border-width: 4px;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    overflow: hidden;
}

#slide15 .normas25-uniforma-item:nth-child(2) {
    border-color: #FFC400;
    background: #FFFDF5;
}

#slide15 .normas25-uniforme-img,
#slide15 .normas25-uniforma-item-wide .normas25-uniforme-img {
    width: 88%;
    height: 88%;
    object-fit: contain;
    margin: 0;
}

#slide15 .normas25-uniforma-item-wide span {
    right: 4px;
    bottom: 4px;
    width: 72%;
    padding: 4px 5px;
    font-size: 7.5px;
    line-height: 1.08;
    border-radius: 5px;
}

/* Bloco dos QR codes — sem linha amarela atravessando a página. */
#slide15 .normas25-portarias {
    margin: 13px 0 0;
    padding: 13px 16px 14px;
    background: #EEF9FF;
    border: 3px solid #8BD5FF;
    border-radius: 12px;
}

#slide15 .normas25-portarias-text {
    font-size: 12.5px;
    line-height: 1.2;
    margin-bottom: 9px;
}

#slide15 .normas25-qr-grid {
    grid-template-columns: repeat(3, 1fr);
    gap: 12px;
}

#slide15 .normas25-qr-card {
    min-height: 121px;
    padding: 8px 5px 7px;
    border-radius: 9px;
}

#slide15 .normas25-qr-card img {
    width: 88px;
    height: 88px;
    border-width: 5px;
    border-radius: 8px;
    margin-bottom: 5px;
}

#slide15 .normas25-qr-card b {
    font-size: 8.2px;
}

/* ---------- PÁGINA 24 ---------- */
#slide15 .normas25-pagina-24 {
    padding: 0 42px 28px;
}

/* Bloco geométrico principal. */
#slide15 .normas25-conduct-yellow {
    left: 0;
    top: 20px;
    width: 57%;
    min-height: 235px;
    padding: 45px 38px 25px 48px;
    border-radius: 14px;
}

#slide15 .normas25-conduct-yellow h2 {
    font-size: 30px;
    line-height: 1.02;
    margin-bottom: 9px;
}

#slide15 .normas25-conduct-yellow p {
    font-size: 13px;
    line-height: 1.25;
}

#slide15 .normas25-book {
    left: 46px;
    bottom: 15px;
    width: 126px;
    height: 100px;
}

#slide15 .normas25-smiles {
    right: 34px;
    top: 31px;
}

/* Caixa branca de ética mais quadrada e equilibrada. */
#slide15 .normas25-ethics-box {
    top: 210px;
    right: 38px;
    width: 50%;
    min-height: 190px;
    padding: 37px 38px 30px;
    border-radius: 18px;
}

#slide15 .normas25-ethics-box p {
    font-size: 14px;
    line-height: 1.4;
}

/* Bloco azul separado para acesso + QR. */
#slide15 .normas25-blue-ethics {
    left: 48px;
    right: 64px;
    bottom: 54px;
    min-height: 184px;
    border-radius: 16px;
    grid-template-columns: 1fr 140px;
    padding: 24px 28px;
}

#slide15 .normas25-blue-ethics-text {
    font-size: 14px;
    line-height: 1.25;
    padding-left: 12px;
}

#slide15 .normas25-ethics-qr {
    width: 128px;
    height: 128px;
    padding: 9px;
}

#slide15 .normas25-ethics-qr img {
    width: 110px;
    height: 110px;
}#slide15 .normas25-controls {
    right: 3%;
    bottom: 2.5%;
}

/* Responsividade sem voltar às formas ovais dos uniformes. */
@media (max-width: 800px) {
    #slide15 .normas25-uniforma-item,
    #slide15 .normas25-uniforma-item:nth-child(2),
    #slide15 .normas25-uniforma-item:nth-child(3) {
        width: 132px;
        height: 132px;
        min-width: 132px;
        min-height: 132px;
        flex-basis: 132px;
    }
}

@media (max-width: 600px) {
    #slide15 .normas25-pagina-23,
    #slide15 .normas25-pagina-24 {
        padding-left: 20px;
        padding-right: 20px;
    }

    #slide15 .normas25-header {
        margin-left: -20px;
        margin-right: -20px;
        height: 175px;
    }

    #slide15 .normas25-yellow-title {
        width: 72%;
        padding-left: 38px;
    }

    #slide15 .normas25-blue-head {
        width: 62%;
        padding-left: 36px;
    }

    #slide15 .normas25-uniforma-item,
    #slide15 .normas25-uniforma-item:nth-child(2),
    #slide15 .normas25-uniforma-item:nth-child(3) {
        width: 138px;
        height: 138px;
        min-width: 138px;
        min-height: 138px;
        flex-basis: 138px;
    }
}

/* ============================================================
   V5 — SLIDE 15: CAIXAS DOS UNIFORMES
   ALTERAÇÃO REAL: os 3 espaços dos uniformes são QUADRADOS.
   ============================================================ */
#slide15 .uniforme-quadrado-v5,
#slide15 .normas25-uniforma-item.uniforme-quadrado-v5,
#slide15 .normas25-uniforma-item-wide.uniforme-quadrado-v5 {
    width: 156px !important;
    height: 156px !important;
    min-width: 156px !important;
    min-height: 156px !important;
    max-width: 156px !important;
    max-height: 156px !important;
    flex: 0 0 156px !important;
    aspect-ratio: 1 / 1 !important;
    grid-column: auto !important;
    border: 4px solid #0757C9 !important;
    border-radius: 6px !important;
    background: #fff !important;
    box-sizing: border-box !important;
    overflow: hidden !important;
    position: relative !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    box-shadow: 0 4px 10px rgba(7,87,201,.12) !important;
}

#slide15 .normas25-uniforma-item:nth-child(2).uniforme-quadrado-v5 {
    border-color: #FFC400 !important;
}

#slide15 .normas25-blob {
    display: none !important;
}

#slide15 .uniforme-quadrado-v5 .normas25-uniforme-img,
#slide15 .normas25-uniforma-item.uniforme-quadrado-v5 .normas25-uniforme-img,
#slide15 .normas25-uniforma-item-wide.uniforme-quadrado-v5 .normas25-uniforme-img {
    width: 112px !important;
    height: 112px !important;
    max-width: 112px !important;
    max-height: 112px !important;
    margin: 0 !important;
    object-fit: contain !important;
    display: block !important;
    position: relative !important;
    z-index: 2 !important;
}

#slide15 .normas25-uniforma-item-wide.uniforme-quadrado-v5 .normas25-uniforme-img {
    width: 104px !important;
    height: 104px !important;
}

#slide15 .normas25-uniforma-item-wide.uniforme-quadrado-v5 span {
    position: absolute !important;
    left: 6px !important;
    right: 6px !important;
    bottom: 6px !important;
    width: auto !important;
    max-width: none !important;
    max-height: none !important;
    margin: 0 !important;
    padding: 4px 5px !important;
    background: #FFE9A8 !important;
    color: #111 !important;
    border-radius: 4px !important;
    font-size: 8px !important;
    line-height: 1.08 !important;
    text-align: center !important;
    font-weight: 700 !important;
    z-index: 5 !important;
}

#slide15 .normas25-uniformes {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 12px !important;
    width: 156px !important;
}

@media (max-width: 600px) {
    #slide15 .uniforme-quadrado-v5,
    #slide15 .normas25-uniforma-item.uniforme-quadrado-v5,
    #slide15 .normas25-uniforma-item-wide.uniforme-quadrado-v5 {
        width: 140px !important;
        height: 140px !important;
        min-width: 140px !important;
        min-height: 140px !important;
        max-width: 140px !important;
        max-height: 140px !important;
        flex-basis: 140px !important;
    }

    #slide15 .normas25-uniforme-img {
        width: 100px !important;
        height: 100px !important;
    }

    #slide15 .normas25-uniformes {
        width: 140px !important;
    }
}

/* ============================================================
   V6 — SLIDE 15: UNIFORMES MAIORES, À DIREITA E SEM FUNDO BRANCO
   ============================================================ */
#slide15 .normas25-intro-grid {
    grid-template-columns: minmax(0, 44%) minmax(300px, 56%) !important;
    column-gap: 18px !important;
    align-items: start !important;
}

#slide15 .normas25-uniformes {
    width: 100% !important;
    display: grid !important;
    grid-template-columns: repeat(2, 1fr) !important;
    justify-items: end !important;
    align-items: start !important;
    gap: 14px !important;
    padding: 0 0 0 14px !important;
}

#slide15 .normas25-uniforma-item,
#slide15 .normas25-uniforma-item:nth-child(2),
#slide15 .normas25-uniforma-item:nth-child(3),
#slide15 .uniforme-quadrado-v5,
#slide15 .normas25-uniforma-item-wide.uniforme-quadrado-v5 {
    width: 184px !important;
    height: 184px !important;
    min-width: 184px !important;
    min-height: 184px !important;
    max-width: 184px !important;
    max-height: 184px !important;
    flex: 0 0 184px !important;
    aspect-ratio: 1 / 1 !important;
    box-sizing: border-box !important;
    border: 4px solid #0757C9 !important;
    border-radius: 10px !important;
    overflow: hidden !important;
    position: relative !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    box-shadow: 0 6px 14px rgba(7,87,201,.16) !important;
}

/* Azul / amarelo, sem cartões brancos. */
#slide15 .normas25-uniforma-item:nth-child(1),
#slide15 .normas25-uniforma-item:nth-child(3) {
    background: #0B92DF !important;
    border-color: #0757C9 !important;
}

#slide15 .normas25-uniforma-item:nth-child(2) {
    background: #FFC400 !important;
    border-color: #0757C9 !important;
}

/* Mantém os três cartões alinhados no lado direito. */
#slide15 .normas25-uniforma-item:nth-child(1) { grid-column: 2 !important; }
#slide15 .normas25-uniforma-item:nth-child(2) { grid-column: 2 !important; }
#slide15 .normas25-uniforma-item:nth-child(3) { grid-column: 2 !important; }

#slide15 .normas25-uniforme-img,
#slide15 .normas25-uniforma-item-wide .normas25-uniforme-img {
    width: 92% !important;
    height: 92% !important;
    max-width: none !important;
    max-height: none !important;
    margin: 0 !important;
    object-fit: contain !important;
    display: block !important;
    z-index: 2 !important;
}

#slide15 .normas25-uniforma-item-wide .normas25-uniforme-img {
    width: 90% !important;
    height: 90% !important;
    margin: 0 !important;
}

#slide15 .normas25-uniforma-item-wide span {
    left: 8px !important;
    right: 8px !important;
    bottom: 8px !important;
    width: auto !important;
    padding: 6px 7px !important;
    background: rgba(255,233,168,.96) !important;
    color: #111 !important;
    border-radius: 6px !important;
    font-size: 9px !important;
    line-height: 1.12 !important;
    z-index: 5 !important;
}

@media (max-width: 800px) {
    #slide15 .normas25-intro-grid {
        grid-template-columns: minmax(0, 43%) minmax(250px, 57%) !important;
    }
    #slide15 .normas25-uniforma-item,
    #slide15 .normas25-uniforma-item:nth-child(2),
    #slide15 .normas25-uniforma-item:nth-child(3),
    #slide15 .uniforme-quadrado-v5,
    #slide15 .normas25-uniforma-item-wide.uniforme-quadrado-v5 {
        width: 166px !important;
        height: 166px !important;
        min-width: 166px !important;
        min-height: 166px !important;
        max-width: 166px !important;
        max-height: 166px !important;
        flex-basis: 166px !important;
    }
}

@media (max-width: 600px) {
    #slide15 .normas25-intro-grid {
        grid-template-columns: 1fr !important;
    }
    #slide15 .normas25-uniformes {
        width: 100% !important;
        grid-template-columns: 1fr !important;
        justify-items: center !important;
        padding-left: 0 !important;
    }
    #slide15 .normas25-uniforma-item:nth-child(1),
    #slide15 .normas25-uniforma-item:nth-child(2),
    #slide15 .normas25-uniforma-item:nth-child(3) {
        grid-column: 1 !important;
    }
}

/* ============================================================
   V7 — REFINAMENTO FINAL / SLIDE 15
   Cabeçalho limpo + texto principal mais amplo e centralizado.
   ============================================================ */

/* Remove completamente o bloco azul duplicado ao lado do cabeçalho. */
#slide15 .normas25-blue-head {
    display: none !important;
}

/* Cabeçalho passa a respirar melhor sem o bloco azul. */
#slide15 .normas25-header {
    height: 126px !important;
}

#slide15 .normas25-yellow-title {
    width: 58% !important;
    height: 104px !important;
    padding: 28px 34px 0 58px !important;
}

/* Texto principal ganha mais largura e fica visualmente centralizado em relação aos uniformes. */
#slide15 .normas25-intro-grid {
    grid-template-columns: 56% 44% !important;
    gap: 20px !important;
    align-items: center !important;
    margin-top: 8px !important;
}

#slide15 .normas25-text {
    width: 100% !important;
    max-width: 100% !important;
    padding: 8px 10px 0 6px !important;
    box-sizing: border-box !important;
    justify-self: stretch !important;
}

#slide15 .normas25-text p {
    font-size: 14.8px !important;
    line-height: 1.43 !important;
    margin-bottom: 18px !important;
    text-align: justify !important;
}

/* Mantém os uniformes no lado direito, maiores e centralizados na própria coluna. */
#slide15 .normas25-uniformes {
    width: 100% !important;
    justify-self: end !important;
    align-items: center !important;
    gap: 11px !important;
    padding: 0 !important;
}

#slide15 .normas25-uniforma-item,
#slide15 .normas25-uniforma-item:nth-child(2),
#slide15 .normas25-uniforma-item:nth-child(3) {
    flex: 0 0 156px !important;
    width: 156px !important;
    height: 156px !important;
    min-width: 156px !important;
    min-height: 156px !important;
    max-width: 156px !important;
    max-height: 156px !important;
    aspect-ratio: 1 / 1 !important;
    grid-column: auto !important;
}

/* Faz o conjunto ocupar melhor o espaço sem deixar um vazio grande. */
#slide15 .normas25-portarias {
    margin-top: 16px !important;
}

/* Responsividade coerente com o novo cabeçalho. */
@media (max-width: 800px) {
    #slide15 .normas25-intro-grid {
        grid-template-columns: 55% 45% !important;
        gap: 12px !important;
    }
    #slide15 .normas25-text p {
        font-size: 13.5px !important;
    }
}

@media (max-width: 600px) {
    #slide15 .normas25-header {
        height: 125px !important;
    }
    #slide15 .normas25-yellow-title {
        width: 76% !important;
        padding-left: 38px !important;
    }
    #slide15 .normas25-intro-grid {
        grid-template-columns: 1fr !important;
    }
    #slide15 .normas25-uniformes {
        justify-self: center !important;
    }
}


/* ============================================================
   SLIDE 16 — SIGLAS / AVALIAÇÃO / FIQUE LIGADO
   ============================================================ */

#slide16 {
    background: #fff;
    overflow: hidden;
}

#slide16 .siglas28-page {
    width: 100%;
    height: 100%;
    overflow-y: auto;
    overflow-x: hidden;
    background: #fff;
    padding-bottom: 92px;
    font-family: 'Inter', Arial, sans-serif;
}

#slide16 .siglas28-section {
    width: min(1120px, 92%);
    margin: 28px auto 48px;
    position: relative;
}

#slide16 .siglas28-section-siglas {
    min-height: 720px;
}

#slide16 .siglas28-header {
    position: relative;
    display: flex;
    align-items: stretch;
    min-height: 105px;
    margin-bottom: 22px;
}

#slide16 .siglas28-header-title {
    flex: 0 0 38%;
    background: #FFC400;
    color: #0757C9;
    font-family: 'League Spartan', Arial, sans-serif;
    font-size: 36px;
    font-weight: 900;
    padding: 30px 34px;
    border-radius: 18px 0 0 18px;
    display: flex;
    align-items: center;
}

#slide16 .siglas28-header-subtitle {
    flex: 1;
    background: #0757C9;
    color: #fff;
    font-size: 18px;
    line-height: 1.35;
    font-weight: 700;
    padding: 28px 34px;
    border-radius: 0 18px 18px 0;
    display: flex;
    align-items: center;
}

#slide16 .siglas28-siglas-grid {
    display: grid;
    grid-template-columns: 34% 66%;
    gap: 22px;
    align-items: start;
}

#slide16 .siglas28-explainer {
    padding: 18px 16px 12px 8px;
    color: #2e2e2e;
    font-size: 17px;
    line-height: 1.55;
}

#slide16 .siglas28-explainer p {
    margin-bottom: 20px;
}

#slide16 .siglas28-note {
    color: #0757C9;
    font-weight: 700;
}

#slide16 .siglas28-contact {
    margin-top: 24px;
    padding: 16px 18px;
    background: #FFF4C7;
    border-left: 6px solid #FFC400;
    color: #222;
    font-size: 15px;
    line-height: 1.4;
}

#slide16 .siglas28-table-wrap {
    border: 4px solid #0757C9;
    background: #FFC400;
    box-shadow: 0 7px 16px rgba(7,87,201,.12);
}

#slide16 .siglas28-table {
    width: 100%;
    border-collapse: collapse;
    table-layout: fixed;
    font-family: 'Inter', Arial, sans-serif;
}

#slide16 .siglas28-table th {
    background: #73BFF0;
    color: #0757C9;
    font-family: 'League Spartan', Arial, sans-serif;
    font-size: 17px;
    font-weight: 900;
    text-align: center;
    padding: 8px 10px;
    border: 2px solid #0757C9;
}

#slide16 .siglas28-table th:first-child,
#slide16 .siglas28-table td:first-child {
    width: 18%;
}

#slide16 .siglas28-table th:last-child,
#slide16 .siglas28-table td:last-child {
    width: 82%;
}

#slide16 .siglas28-table td {
    padding: 5px 7px;
    border: 2px solid #0757C9;
    color: #222;
    font-size: 11.5px;
    line-height: 1.12;
    text-align: center;
    background: #FFE7A3;
    font-weight: 600;
}

#slide16 .siglas28-table td:first-child {
    color: #0757C9;
    font-family: 'League Spartan', Arial, sans-serif;
    font-weight: 900;
    font-size: 13px;
}/* ---------- Avaliação ---------- */

#slide17 .siglas28-section-avaliacao {
    padding: 0 42px 58px;
    background: #fff;
    min-height: 700px;
    border-top: 0;
}

#slide17 .siglas28-block-title {
    position: relative;
    width: min(430px, 54%);
    min-height: 108px;
    margin: 0 0 30px -10px;
    padding: 20px 34px 22px;
    background: #FFC400;
    color: #0757C9;
    font-family: 'League Spartan', Arial, sans-serif;
    font-size: 38px;
    font-weight: 900;
    line-height: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    border-radius: 0 0 54px 0;
    box-shadow: 0 8px 0 rgba(255,196,0,.10);
}

#slide17 .siglas28-block-title::after {
    content: '';
    position: absolute;
    right: -26px;
    bottom: -1px;
    width: 54px;
    height: 54px;
    background: #FFC400;
    border-radius: 0 0 54px 54px;
    transform: rotate(-18deg);
    z-index: -1;
}

#slide17 .siglas28-avaliacao-intro,
#slide17 .siglas28-avaliacao-text {
    width: min(900px, 100%);
    max-width: none;
    margin-left: auto;
    margin-right: auto;
    color: #2f2f2f;
    font-size: 17px;
    line-height: 1.55;
}

#slide17 .siglas28-instrumentos {
    width: min(900px, 100%);
    margin: 24px auto 24px;
    background: #FFE7A3;
    border-radius: 30px;
    padding: 20px 26px 28px;
}

#slide17 .siglas28-instrumentos-title {
    width: fit-content;
    margin: -3px auto 18px;
    background: #73BFF0;
    color: #0757C9;
    padding: 11px 26px;
    border-radius: 12px;
    font-family: 'League Spartan', Arial, sans-serif;
    font-size: 21px;
    font-weight: 900;
}

#slide17 .siglas28-chips {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 12px;
}

#slide17 .siglas28-chips span {
    background: #fff;
    color: #0757C9;
    border: 2px solid #B8DCF4;
    padding: 8px 15px;
    border-radius: 10px;
    font-family: 'League Spartan', Arial, sans-serif;
    font-size: 16px;
    font-weight: 900;
}

#slide17 .siglas28-avaliacao-text {
    margin-top: 22px;
}

#slide17 .siglas28-portarias-title {
    margin: 25px auto 14px;
    text-align: center;
    color: #0757C9;
    font-family: 'League Spartan', Arial, sans-serif;
    font-size: 20px;
    font-weight: 900;
}

#slide17 .siglas28-portarias-grid {
    width: min(980px, 100%);
    margin: 0 auto;
    display: grid;
    grid-template-columns: repeat(3, 1fr) 1.5fr;
    gap: 14px;
    align-items: stretch;
}

#slide17 .siglas28-qr-card {
    background: #fff;
    border: 4px solid #8ED0F5;
    border-radius: 12px;
    padding: 10px;
    min-height: 150px;
    text-decoration: none;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: space-between;
    box-shadow: 0 4px 10px rgba(0,0,0,.06);
}

#slide17 .siglas28-qr-card img {
    width: 96px;
    height: 96px;
    object-fit: contain;
}

#slide17 .siglas28-qr-card strong {
    color: #0757C9;
    font-family: 'Inter', Arial, sans-serif;
    font-size: 13px;
    line-height: 1.08;
    text-align: center;
    text-decoration: underline;
}

#slide17 .siglas28-qr-note {
    background: #73BFF0;
    color: #0757C9;
    border-radius: 22px;
    padding: 22px 18px;
    font-size: 14px;
    line-height: 1.3;
    font-weight: 700;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
}

/* ---------- Fique ligado ---------- */

#slide17 .siglas28-section-ligado {
    min-height: 720px;
    background: #fff;
    padding: 0 42px 60px;
}

#slide17 .siglas28-ligado-header {
    position: relative;
    width: min(560px, 66%);
    min-height: 112px;
    margin: 0 0 34px -10px;
    padding: 18px 34px;
    background: #0091FF;
    border-radius: 0 0 48px 0;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    box-shadow: 0 8px 0 rgba(0,145,255,.10);
}

#slide17 .siglas28-ligado-header::after {
    content: '';
    position: absolute;
    right: -24px;
    bottom: -2px;
    width: 56px;
    height: 56px;
    background: #0091FF;
    border-radius: 50%;
    z-index: -1;
}

#slide17 .siglas28-ligado-kicker {
    color: #fff;
    font-family: 'League Spartan', Arial, sans-serif;
    font-size: 40px;
    font-weight: 900;
    line-height: 1;
    letter-spacing: .2px;
}

#slide17 .siglas28-ligado-copy {
    width: min(900px, 100%);
    margin: 0 auto;
    color: #222;
    font-size: 17px;
    line-height: 1.55;
}

#slide17 .siglas28-ligado-copy p {
    margin-bottom: 20px;
}

#slide17 .siglas28-simulador-grid {
    width: min(760px, 100%);
    margin: 34px auto 0;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 30px;
}

#slide17 .siglas28-simulador-card {
    text-decoration: none;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-start;
    gap: 12px;
    background: #fff;
    border: 5px solid #0091FF;
    border-radius: 16px;
    padding: 16px 16px 20px;
    box-shadow: 0 5px 12px rgba(0,0,0,.08);
}

#slide17 .siglas28-simulador-card strong {
    color: #0757C9;
    font-family: 'Inter', Arial, sans-serif;
    font-size: 16px;
    line-height: 1.15;
    text-align: center;
    text-decoration: underline;
}

#slide17 .siglas28-simulador-card img {
    width: 148px;
    height: 148px;
    object-fit: contain;
}
#slide17 > .numero-pagina {
    display: flex !important;
}

#slide17 .siglas28-controls {
    position: fixed;
    right: 3%;
    bottom: 3%;
    z-index: 60;
}

@media (max-width: 900px) {
    #slide17 .siglas28-siglas-grid {
        grid-template-columns: 1fr;
    }

    #slide17 .siglas28-header {
        flex-direction: column;
    }

    #slide17 .siglas28-header-title,
    #slide17 .siglas28-header-subtitle {
        flex: none;
        width: 100%;
        border-radius: 18px;
    }

    #slide17 .siglas28-header-subtitle {
        border-radius: 0 0 18px 18px;
    }

    #slide17 .siglas28-header-title {
        border-radius: 18px 18px 0 0;
    }

    #slide17 .siglas28-portarias-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    #slide17 .siglas28-qr-note {
        grid-column: 1 / -1;
    }
}

@media (max-width: 650px) {
    #slide17 .siglas28-section {
        width: 94%;
        margin: 18px auto 32px;
    }

    #slide17 .siglas28-header-title {
        font-size: 28px;
    }

    #slide17 .siglas28-header-subtitle {
        font-size: 15px;
    }

    #slide17 .siglas28-table th,
    #slide17 .siglas28-table td {
        font-size: 9px;
        padding: 4px;
    }

    #slide17 .siglas28-explainer,
    #slide17 .siglas28-avaliacao-intro,
    #slide17 .siglas28-avaliacao-text,
    #slide17 .siglas28-ligado-copy {
        font-size: 14px;
    }

    #slide17 .siglas28-portarias-grid,
    #slide17 .siglas28-simulador-grid {
        grid-template-columns: 1fr;
    }

    #slide17 .siglas28-section-ligado {
        padding-left: 16px;
        padding-right: 16px;
    }

    #slide17 .siglas28-ligado-header {
        width: 100%;
    }

    #slide17 .siglas28-controls {
        right: 5%;
        bottom: 2%;
    }
}


/* Refinamento final dos cabeçalhos do slide 17 */
@media (max-width: 650px) {
    #slide17 .siglas28-block-title {
        width: 78%;
        min-height: 88px;
        font-size: 30px;
        margin-left: -6px;
    }

    #slide17 .siglas28-ligado-header {
        width: 82%;
        min-height: 88px;
        margin-left: -6px;
    }

    #slide17 .siglas28-ligado-kicker {
        font-size: 31px;
    }
}


/* ============================================================
   V11 — FUNDO E SCROLL REFINADOS DO ÚLTIMO SLIDE
   ============================================================ */
#slide17 {
    background: #F4F8FC !important;
    overflow: hidden !important;
}

#slide17 .siglas28-page {
    height: 100% !important;
    min-height: 100% !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
    background: #F4F8FC !important;
    padding: 18px 0 128px !important;
    scroll-behavior: smooth;
    overscroll-behavior-y: contain;
    scrollbar-width: thin;
    scrollbar-color: #7FC7EE transparent;
}

#slide17 .siglas28-page::-webkit-scrollbar {
    width: 10px;
}

#slide17 .siglas28-page::-webkit-scrollbar-track {
    background: transparent;
}

#slide17 .siglas28-page::-webkit-scrollbar-thumb {
    background: #7FC7EE;
    border-radius: 12px;
    border: 3px solid #F4F8FC;
}

#slide17 .siglas28-section-avaliacao,
#slide17 .siglas28-section-ligado {
    background: #FFFFFF !important;
    box-shadow: 0 8px 24px rgba(7,87,201,.08);
    border-radius: 22px;
}

#slide17 .siglas28-section-avaliacao {
    padding-bottom: 48px !important;
}

#slide17 .siglas28-section-ligado {
    padding-bottom: 54px !important;
    margin-top: 24px !important;
}

#slide17 .siglas28-controls {
    position: fixed !important;
    right: 3% !important;
    bottom: 3% !important;
    z-index: 100 !important;
}

@media (max-width: 650px) {
    #slide17 .siglas28-page {
        padding: 10px 0 112px !important;
    }

    #slide17 .siglas28-section-avaliacao,
    #slide17 .siglas28-section-ligado {
        width: 94% !important;
        margin-left: auto !important;
        margin-right: auto !important;
        border-radius: 18px;
    }

    #slide17 .siglas28-controls {
        right: 4% !important;
        bottom: 2% !important;
    }
}

/* ============================================================
   V12 — CABEÇALHO "FIQUE LIGADO" EM BLOCO QUADRADO
   ============================================================ */
#slide17 .siglas28-ligado-header {
    width: 180px !important;
    height: 180px !important;
    min-width: 180px !important;
    min-height: 180px !important;
    max-width: 180px !important;
    max-height: 180px !important;
    margin: 8px 0 30px 0 !important;
    padding: 24px !important;
    border-radius: 14px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    box-shadow: 0 8px 18px rgba(7,87,201,.12) !important;
    background: #0091FF !important;
}

#slide17 .siglas28-ligado-header::after {
    display: none !important;
    content: none !important;
}

#slide17 .siglas28-ligado-kicker {
    font-size: 36px !important;
    line-height: 1.02 !important;
    text-align: center !important;
    max-width: 132px !important;
}

@media (max-width: 650px) {
    #slide17 .siglas28-ligado-header {
        width: 150px !important;
        height: 150px !important;
        min-width: 150px !important;
        min-height: 150px !important;
        max-width: 150px !important;
        max-height: 150px !important;
        margin: 4px 0 24px !important;
        padding: 18px !important;
    }

    #slide17 .siglas28-ligado-kicker {
        font-size: 30px !important;
        max-width: 112px !important;
    }
}


/* ============================================================
   V13 — APERFEIÇOAMENTO DO CABEÇALHO "FIQUE LIGADO"
   ============================================================ */
#slide17 .siglas28-ligado-header {
    width: min(470px, 62%) !important;
    height: 96px !important;
    min-width: 0 !important;
    min-height: 96px !important;
    max-width: 470px !important;
    max-height: 96px !important;
    margin: 8px auto 28px !important;
    padding: 16px 28px !important;
    border-radius: 14px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    background: #0091FF !important;
    border: 3px solid #0757C9 !important;
    box-shadow: 0 7px 16px rgba(7,87,201,.12) !important;
    position: relative !important;
    overflow: hidden !important;
}

#slide17 .siglas28-ligado-header::before {
    content: '';
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    width: 12px;
    background: #FFC400;
}

#slide17 .siglas28-ligado-header::after {
    display: none !important;
    content: none !important;
}

#slide17 .siglas28-ligado-kicker {
    font-size: 34px !important;
    line-height: 1 !important;
    letter-spacing: .2px !important;
    text-align: center !important;
    max-width: none !important;
    white-space: nowrap !important;
}

@media (max-width: 900px) {
    #slide17 .siglas28-ligado-header {
        width: 72% !important;
    }
}

@media (max-width: 650px) {
    #slide17 .siglas28-ligado-header {
        width: 92% !important;
        height: 82px !important;
        min-height: 82px !important;
        max-height: 82px !important;
        margin: 4px auto 22px !important;
        padding: 12px 18px !important;
    }

    #slide17 .siglas28-ligado-kicker {
        font-size: 29px !important;
    }
}


/* ============================================================
   V14 — SLIDE 18 / ATIVIDADES EXTRACURRICULARES
   Composição geométrica, limpa e com cartões quadrados.
   ============================================================ */
#slide18 {
    background: #eef5fb !important;
    overflow: hidden !important;
}

#slide18 .extr14-page {
    width: 100%;
    height: 100%;
    overflow-y: auto;
    overflow-x: hidden;
    scroll-behavior: smooth;
    background: #eef5fb;
    padding: 18px 18px 118px;
    box-sizing: border-box;
    scrollbar-width: thin;
    scrollbar-color: #76bce8 transparent;
}

#slide18 .extr14-page::-webkit-scrollbar { width: 10px; }
#slide18 .extr14-page::-webkit-scrollbar-track { background: transparent; }
#slide18 .extr14-page::-webkit-scrollbar-thumb {
    background: #76bce8;
    border-radius: 10px;
    border: 3px solid #eef5fb;
}

#slide18 .extr14-section {
    position: relative;
    width: min(1080px, 96%);
    min-height: 86vh;
    margin: 0 auto 30px;
    padding: 0 26px 52px;
    background: #fff;
    border-radius: 22px;
    box-shadow: 0 9px 24px rgba(7,87,201,.09);
    overflow: hidden;
    box-sizing: border-box;
}

#slide18 .extr14-header {
    width: 70%;
    min-height: 104px;
    margin-left: -26px;
    margin-bottom: 28px;
    padding: 22px 42px;
    background: #FFC400;
    border-bottom-right-radius: 54px;
    display: flex;
    align-items: center;
    box-sizing: border-box;
}

#slide18 .extr14-header-blue {
    background: #0091FF;
}

#slide18 .extr14-header h1 {
    margin: 0;
    color: #0757C9;
    font-family: 'League Spartan', Arial, sans-serif;
    font-size: 34px;
    line-height: 1.02;
    font-weight: 900;
}

#slide18 .extr14-header-blue h1 { color: #fff; }

#slide18 .extr14-grid-two {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 22px;
    align-items: stretch;
}

#slide18 .extr14-card {
    background: #f8fbfe;
    border: 3px solid #d8ebf8;
    border-radius: 14px;
    padding: 22px 24px;
    box-sizing: border-box;
}

#slide18 .extr14-card-accent {
    border-color: #0091FF;
    background: #f5fbff;
}

#slide18 .extr14-card h2 {
    margin: 0 0 14px;
    color: #0757C9;
    font-family: 'League Spartan', Arial, sans-serif;
    font-size: 21px;
    line-height: 1.08;
    font-weight: 900;
}

#slide18 .extr14-card ul {
    margin: 0;
    padding-left: 21px;
    color: #20252b;
    font-family: 'Inter', Arial, sans-serif;
    font-size: 15px;
    line-height: 1.43;
}

#slide18 .extr14-card li { margin-bottom: 4px; }

#slide18 .extr14-mini-row {
    margin-top: 24px;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 16px;
}

#slide18 .extr14-square-label {
    aspect-ratio: 1 / 1;
    max-width: 150px;
    width: 100%;
    justify-self: center;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #0091FF;
    color: #fff;
    border: 5px solid #0757C9;
    font-family: 'League Spartan', Arial, sans-serif;
    font-size: 21px;
    font-weight: 900;
    text-align: center;
    box-sizing: border-box;
}

#slide18 .extr14-square-label-yellow {
    background: #FFC400;
    color: #0757C9;
    border-color: #0091FF;
}

#slide18 .extr14-project-layout {
    display: grid;
    grid-template-columns: 1.65fr .75fr;
    gap: 26px;
    align-items: stretch;
}

#slide18 .extr14-project-copy {
    background: #fff;
}

#slide18 .extr14-intro {
    margin: 0 0 16px;
    color: #333;
    font-family: 'Inter', Arial, sans-serif;
    font-size: 16px;
    line-height: 1.5;
}

#slide18 .extr14-qr-column {
    display: flex;
    flex-direction: column;
    gap: 18px;
}

#slide18 .extr14-qr-card {
    min-height: 258px;
    padding: 16px;
    text-decoration: none;
    background: #fff;
    border: 5px solid #0091FF;
    border-radius: 14px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: space-between;
    box-sizing: border-box;
}

#slide18 .extr14-qr-card strong {
    color: #0757C9;
    font-family: 'Inter', Arial, sans-serif;
    font-size: 15px;
    line-height: 1.18;
    text-align: center;
    text-decoration: underline;
}

#slide18 .extr14-qr-card img {
    width: 150px;
    height: 150px;
    object-fit: contain;
    display: block;
}

#slide18 .extr14-callout {
    width: min(760px, 94%);
    margin: 24px auto 0;
    padding: 18px 24px;
    background: #0091FF;
    color: #fff;
    border: 4px solid #0757C9;
    border-radius: 12px;
    font-family: 'Inter', Arial, sans-serif;
    font-size: 17px;
    line-height: 1.3;
    text-align: center;
    box-sizing: border-box;
}#slide18 > .numero-pagina { display: flex !important; }

#slide18 .extr14-controls {
    position: fixed !important;
    right: 3% !important;
    bottom: 3% !important;
    z-index: 100 !important;
}

@media (max-width: 900px) {
    #slide18 .extr14-header { width: 82%; }
    #slide18 .extr14-project-layout { grid-template-columns: 1fr; }
    #slide18 .extr14-qr-column {
        display: grid;
        grid-template-columns: 1fr 1fr;
    }
}

@media (max-width: 650px) {
    #slide18 .extr14-page { padding: 10px 8px 112px; }
    #slide18 .extr14-section {
        width: 96%;
        padding: 0 16px 54px;
        border-radius: 18px;
    }
    #slide18 .extr14-header {
        width: 100%;
        margin-left: -16px;
        min-height: 82px;
        padding: 16px 22px;
        border-bottom-right-radius: 40px;
    }
    #slide18 .extr14-header h1 { font-size: 28px; }
    #slide18 .extr14-grid-two { grid-template-columns: 1fr; }
    #slide18 .extr14-card h2 { font-size: 19px; }
    #slide18 .extr14-card ul { font-size: 14px; }
    #slide18 .extr14-mini-row { gap: 10px; }
    #slide18 .extr14-square-label { max-width: 120px; font-size: 17px; }
    #slide18 .extr14-qr-column { grid-template-columns: 1fr; }
    #slide18 .extr14-qr-card { min-height: 235px; }
    #slide18 .extr14-qr-card img { width: 135px; height: 135px; }
    #slide18 .extr14-controls { right: 4% !important; bottom: 2% !important; }
}


/* ============================================================
   V15 — VIDA AO LAYOUT + ESPAÇO REAL PARA AS FIGURAS
   ============================================================ */
#slide18 .extr14-page {
    background: #eaf4fb !important;
    padding-top: 22px;
}

#slide18 .extr14-section {
    background: #ffffff;
    border: 1px solid rgba(7,87,201,.06);
}

#slide18 .extr15-visual-row {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 18px;
    margin: 20px auto 4px;
    width: min(760px, 92%);
}

#slide18 .extr15-image-card {
    width: 154px;
    height: 154px;
    flex: 0 0 154px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #f7fbff;
    border: 5px solid #0091FF;
    box-sizing: border-box;
    overflow: hidden;
    box-shadow: 0 8px 18px rgba(7,87,201,.12);
}

#slide18 .extr15-image-book {
    border-color: #FFC400;
}

#slide18 .extr15-image-lab {
    border-color: #FFC400;
}

#slide18 .extr15-image-medal {
    border-color: #0091FF;
}

#slide18 .extr15-image {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: contain;
    background: #fff;
}

#slide18 .extr15-image-caption {
    max-width: 430px;
    padding: 18px 20px;
    background: #eef7ff;
    border-left: 7px solid #0757C9;
    color: #0757C9;
    font-family: 'Inter', Arial, sans-serif;
    font-size: 16px;
    line-height: 1.45;
    font-weight: 700;
    box-sizing: border-box;
}

#slide18 .extr15-visual-row-29 {
    justify-content: flex-end;
    margin-top: 18px;
    padding-right: 8px;
}

#slide18 .extr15-visual-row-29 .extr15-image-card {
    width: 160px;
    height: 160px;
    flex-basis: 160px;
}

#slide18 .extr14-callout {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 18px;
    text-align: left;
}

#slide18 .extr15-callout-image {
    width: 74px;
    height: 74px;
    flex: 0 0 74px;
    background: #FFC400;
    border: 4px solid #0757C9;
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: center;
}

#slide18 .extr15-callout-image .extr15-image {
    background: transparent;
}

@media (max-width: 650px) {
    #slide18 .extr15-visual-row {
        flex-direction: column;
        gap: 12px;
    }
    #slide18 .extr15-image-card,
    #slide18 .extr15-visual-row-29 .extr15-image-card {
        width: 132px;
        height: 132px;
        flex-basis: 132px;
    }
    #slide18 .extr15-image-caption {
        width: 100%;
        max-width: 100%;
    }
    #slide18 .extr14-callout {
        flex-direction: column;
        text-align: center;
    }
}


/* ============================================================
   SLIDE 19 - ESTRUTURA ORGANIZACIONAL / ASSISTÊNCIA ESTUDANTIL
   ============================================================ */
#slide19 {
    background: #EEF7FD;
    overflow: hidden;
}

#slide19 .assist19-page {
    position: absolute;
    inset: 0;
    overflow-y: auto;
    overflow-x: hidden;
    padding: 0 0 110px;
    scroll-behavior: smooth;
    scrollbar-width: thin;
    scrollbar-color: #0757C9 #DCECF7;
}

#slide19 .assist19-page::-webkit-scrollbar { width: 10px; }
#slide19 .assist19-page::-webkit-scrollbar-track { background: #DCECF7; }
#slide19 .assist19-page::-webkit-scrollbar-thumb { background: #0757C9; border-radius: 10px; border: 2px solid #DCECF7; }

#slide19 .assist19-section {
    position: relative;
    width: min(1120px, 92%);
    margin: 0 auto 34px;
    padding-bottom: 20px;
}

#slide19 .assist19-header {
    position: relative;
    width: 82%;
    min-height: 118px;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    margin: 0 0 22px;
    padding: 26px 40px;
    border-bottom-right-radius: 74px;
    background: #FFC400;
    box-shadow: 0 10px 24px rgba(7,87,201,.08);
}

#slide19 .assist19-header h1 {
    color: #0757C9;
    font-size: 34px;
    line-height: 1.06;
    font-weight: 900;
    letter-spacing: -.4px;
}

#slide19 .assist19-header h1 em { font-style: italic; }
#slide19 .assist19-header-short { width: 64%; min-height: 104px; }

#slide19 .assist19-content {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 250px;
    gap: 24px;
    align-items: start;
}

#slide19 .assist19-main-card {
    background: rgba(255,255,255,.96);
    border: 1px solid #D9E8F3;
    box-shadow: 0 8px 22px rgba(7,87,201,.07);
    padding: 28px 30px;
    border-radius: 10px;
}

#slide19 .assist19-main-card p,
#slide19 .assist19-main-card li {
    font-family: 'Inter', Arial, sans-serif;
    color: #222;
    font-size: 15px;
    line-height: 1.48;
}

#slide19 .assist19-main-card p { margin: 0 0 18px; text-align: justify; }
#slide19 .assist19-main-card em { font-style: italic; }

#slide19 .assist19-question {
    margin: 24px 0 16px;
    padding: 14px 16px;
    background: #F5C400;
    color: #0757C9;
    font-family: 'League Spartan', Arial, sans-serif;
    font-size: 18px;
    line-height: 1.18;
    font-weight: 900;
    border-left: 7px solid #0757C9;
}

#slide19 .assist19-side-stack {
    display: grid;
    gap: 16px;
}

#slide19 .assist19-info-box,
#slide19 .assist19-square-card {
    min-height: 170px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 24px;
    border: 1px solid rgba(7,87,201,.12);
    box-shadow: 0 8px 18px rgba(7,87,201,.08);
}

#slide19 .assist19-info-box strong,
#slide19 .assist19-square-title {
    font-family: 'League Spartan', Arial, sans-serif;
    font-size: 22px;
    font-weight: 900;
    color: #0757C9;
    margin-bottom: 10px;
}

#slide19 .assist19-info-box span,
#slide19 .assist19-square-copy {
    font-family: 'Inter', Arial, sans-serif;
    font-size: 14px;
    line-height: 1.4;
    color: #222;
}

#slide19 .assist19-blue { background: #CFEAFF; }
#slide19 .assist19-yellow { background: #FFF0B6; }

#slide19 .assist19-main-card h2 {
    margin: 0 0 10px;
    color: #0757C9;
    font-family: 'League Spartan', Arial, sans-serif;
    font-size: 22px;
    line-height: 1.08;
    font-weight: 900;
}

#slide19 .assist19-main-card h3 {
    margin: 16px 0 5px;
    color: #0091FF;
    font-family: 'League Spartan', Arial, sans-serif;
    font-size: 17px;
    font-weight: 900;
}

#slide19 .assist19-main-card ul {
    margin: 0 0 16px 20px;
    padding: 0;
}

#slide19 .assist19-main-card li { margin-bottom: 5px; }

#slide19 .assist19-content-32 {
    grid-template-columns: minmax(0, 1fr) 230px;
}

#slide19 .assist19-square-card {
    min-height: 230px;
    aspect-ratio: 1 / 1;
    background: #FFF0B6;
    text-align: center;
    align-items: center;
}

#slide19 .assist19-square-blue {
    background: #D8EEFF;
}

#slide19 .assist19-square-title { margin-bottom: 9px; }#slide19 .assist19-controls {
    position: fixed;
    right: 3%;
    bottom: 3%;
    z-index: 30;
}

@media (max-width: 900px) {
    #slide19 .assist19-content,
    #slide19 .assist19-content-32 { grid-template-columns: 1fr; }
    #slide19 .assist19-side-stack, #slide19 .assist19-side-stack-32 { grid-template-columns: repeat(2, minmax(0,1fr)); }
    #slide19 .assist19-header, #slide19 .assist19-header-short { width: 92%; }
    #slide19 .assist19-section { width: 95%; }
}

@media (max-width: 650px) {
    #slide19 .assist19-page { padding-bottom: 95px; }
    #slide19 .assist19-header, #slide19 .assist19-header-short { width: 100%; border-bottom-right-radius: 48px; min-height: 96px; padding: 20px 18px; }
    #slide19 .assist19-header h1 { font-size: 27px; }
    #slide19 .assist19-main-card { padding: 21px 20px; }
    #slide19 .assist19-main-card p, #slide19 .assist19-main-card li { font-size: 14px; }
    #slide19 .assist19-side-stack, #slide19 .assist19-side-stack-32 { grid-template-columns: 1fr 1fr; gap: 10px; }
    #slide19 .assist19-info-box, #slide19 .assist19-square-card { min-height: 150px; padding: 16px; }
    #slide19 .assist19-info-box strong, #slide19 .assist19-square-title { font-size: 18px; }
    #slide19 .assist19-info-box span, #slide19 .assist19-square-copy { font-size: 12px; }
    #slide19 .assist19-controls { right: 4%; bottom: 2%; }
}


/* ============================================================
   SLIDE 20 - NAPNE / PÁGINAS 33 E 34 LADO A LADO
   ============================================================ */
#slide20 {
    background-image: url('imgs/background.-teste1.png');
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    overflow: hidden;
}

#slide20 .napne20-page {
    position: relative;
    width: 100%;
    height: 100%;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 18px;
    padding: 26px 36px 86px;
}

#slide20 .napne20-panel {
    position: relative;
    min-width: 0;
    background: rgba(255,255,255,.97);
    border: 2px solid #D8EAF8;
    box-shadow: 0 10px 26px rgba(7,87,201,.10);
    overflow: hidden;
    display: flex;
    flex-direction: column;
}

#slide20 .napne20-panel-left {
    border-radius: 28px 8px 28px 8px;
}

#slide20 .napne20-panel-right {
    border-radius: 8px 28px 8px 28px;
}

#slide20 .napne20-header {
    min-height: 122px;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    padding: 22px 24px;
    flex-shrink: 0;
}

#slide20 .napne20-yellow {
    background: #FFC400;
    color: #0757C9;
    border-bottom-right-radius: 58px;
}

#slide20 .napne20-header h1 {
    max-width: 92%;
    font-size: 26px;
    line-height: 1.12;
    font-weight: 900;
}

#slide20 .napne20-header-blank {
    visibility: hidden;
}

#slide20 .napne20-body {
    flex: 1;
    overflow-y: auto;
    padding: 24px 28px 76px;
    scrollbar-width: thin;
    scrollbar-color: #73BFF0 transparent;
}

#slide20 .napne20-body::-webkit-scrollbar {
    width: 8px;
}

#slide20 .napne20-body::-webkit-scrollbar-track {
    background: transparent;
}

#slide20 .napne20-body::-webkit-scrollbar-thumb {
    background: #73BFF0;
    border-radius: 999px;
}

#slide20 .napne20-body p,
#slide20 .napne20-body li {
    font-family: 'Inter', Arial, sans-serif;
    color: #222;
    font-size: 14px;
    line-height: 1.48;
}

#slide20 .napne20-body p {
    margin: 0 0 16px;
    text-align: justify;
}

#slide20 .napne20-body ul {
    margin: 0 0 20px;
    padding-left: 21px;
}

#slide20 .napne20-body li {
    margin-bottom: 5px;
}

#slide20 .napne20-body h2 {
    margin: 18px 0 14px;
    color: #0757C9;
    font-size: 20px;
    line-height: 1.15;
    font-weight: 900;
}

#slide20 .napne20-body h3 {
    margin: 15px 0 4px;
    color: #0091FF;
    font-family: 'League Spartan', Arial, sans-serif;
    font-size: 16px;
    line-height: 1.15;
    font-weight: 900;
}

#slide20 .napne20-close-box {
    margin-top: 20px;
    padding: 17px 18px;
    background: #0757C9;
    color: white;
    border-radius: 14px;
    border-left: 9px solid #FFC400;
    display: flex;
    flex-direction: column;
    gap: 6px;
}

#slide20 .napne20-close-box strong {
    color: #FFC400;
    font-size: 16px;
    font-weight: 900;
}

#slide20 .napne20-close-box span {
    font-family: 'Inter', Arial, sans-serif;
    font-size: 13px;
    line-height: 1.4;
}#slide20 .napne20-controls {
    right: 3%;
    bottom: 2.4%;
    z-index: 20;
}

@media (max-width: 900px) {
    #slide20 .napne20-page {
        gap: 12px;
        padding: 18px 18px 82px;
    }
    #slide20 .napne20-header h1 {
        font-size: 22px;
    }
    #slide20 .napne20-body {
        padding: 20px 20px 68px;
    }
    #slide20 .napne20-body p,
    #slide20 .napne20-body li {
        font-size: 13px;
    }
}

@media (max-width: 700px) {
    #slide20 .napne20-page {
        grid-template-columns: 1fr;
        overflow-y: auto;
        padding-bottom: 100px;
    }
    #slide20 .napne20-panel {
        min-height: 620px;
    }
}


/* ============================================================
   SLIDE 21 - SOEPs / PÁGINAS 35 E 36 LADO A LADO
   ============================================================ */
#slide21 {
    background-image: url('imgs/background.-teste1.png');
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    overflow: hidden;
}

#slide21 .soep21-page {
    position: relative;
    width: 100%;
    height: 100%;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 18px;
    padding: 26px 36px 86px;
}

#slide21 .soep21-panel {
    position: relative;
    min-width: 0;
    background: rgba(255,255,255,.97);
    border: 2px solid #D8EAF8;
    box-shadow: 0 10px 26px rgba(7,87,201,.10);
    overflow: hidden;
    display: flex;
    flex-direction: column;
}

#slide21 .soep21-panel-left { border-radius: 28px 8px 28px 8px; }
#slide21 .soep21-panel-right { border-radius: 8px 28px 8px 28px; }

#slide21 .soep21-header {
    min-height: 118px;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    padding: 20px 24px;
    flex-shrink: 0;
}

#slide21 .soep21-yellow {
    background: #FFC400;
    color: #0757C9;
    border-bottom-right-radius: 56px;
}

#slide21 .soep21-header-right {
    background: #FFFFFF;
    border-bottom: 7px solid #0091FF;
    min-height: 96px;
}

#slide21 .soep21-header h1 {
    max-width: 94%;
    font-size: 25px;
    line-height: 1.12;
    font-weight: 900;
}

#slide21 .soep21-header-right h1 {
    color: #0757C9;
    font-size: 26px;
}

#slide21 .soep21-body {
    flex: 1;
    overflow-y: auto;
    padding: 24px 28px 78px;
    scrollbar-width: thin;
    scrollbar-color: #73BFF0 transparent;
}

#slide21 .soep21-body::-webkit-scrollbar { width: 8px; }
#slide21 .soep21-body::-webkit-scrollbar-track { background: transparent; }
#slide21 .soep21-body::-webkit-scrollbar-thumb { background: #73BFF0; border-radius: 999px; }

#slide21 .soep21-body p,
#slide21 .soep21-body li {
    font-family: 'Inter', Arial, sans-serif;
    color: #222;
    font-size: 14px;
    line-height: 1.48;
}

#slide21 .soep21-body p { margin: 0 0 16px; text-align: justify; }
#slide21 .soep21-body ul { margin: 0 0 18px; padding-left: 21px; }
#slide21 .soep21-body li { margin-bottom: 7px; text-align: justify; }

#slide21 .soep21-body h2 {
    margin: 4px 0 6px;
    color: #0091FF;
    font-family: 'League Spartan', Arial, sans-serif;
    font-size: 16px;
    line-height: 1.16;
    font-weight: 900;
}

#slide21 .soep21-question {
    margin-top: 22px;
    padding: 17px 18px;
    background: #F4F9FD;
    border-left: 8px solid #FFC400;
    border-radius: 10px;
}
#slide21 .soep21-question strong {
    display: block;
    color: #0757C9;
    font-family: 'League Spartan', Arial, sans-serif;
    font-size: 16px;
    line-height: 1.2;
    margin-bottom: 10px;
}
#slide21 .soep21-question p { margin-bottom: 0; }

#slide21 .soep21-highlight {
    margin-top: 20px;
    padding: 18px 20px;
    background: #0757C9;
    color: white;
    border-radius: 14px;
    border-top: 7px solid #FFC400;
    display: flex;
    flex-direction: column;
    gap: 6px;
}
#slide21 .soep21-highlight strong {
    color: #FFC400;
    font-size: 16px;
    font-weight: 900;
    letter-spacing: .2px;
}
#slide21 .soep21-highlight span {
    font-family: 'Inter', Arial, sans-serif;
    font-size: 13px;
    line-height: 1.4;
}#slide21 .soep21-controls {
    right: 3%;
    bottom: 2.4%;
    z-index: 20;
}

@media (max-width: 900px) {
    #slide21 .soep21-page { gap: 12px; padding: 18px 18px 82px; }
    #slide21 .soep21-header h1 { font-size: 22px; }
    #slide21 .soep21-header-right h1 { font-size: 23px; }
    #slide21 .soep21-body { padding: 20px 20px 68px; }
    #slide21 .soep21-body p,
    #slide21 .soep21-body li { font-size: 13px; }
}

@media (max-width: 700px) {
    #slide21 .soep21-page { grid-template-columns: 1fr; overflow-y: auto; padding-bottom: 100px; }
    #slide21 .soep21-panel { min-height: 620px; }
}


/* ============================================================
   SLIDE 22 - SEORE / ORGANIZAÇÃO ESCOLAR
   ============================================================ */
#slide22 {
   background-image: url('imgs/background.-teste1.png');
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}

#slide22 .soer22-page {
    position: relative;
    width: 100%;
    height: 100%;
    display: flex;
    flex-direction: column;
    overflow: hidden;
}

#slide22 .soer22-header {
    position: relative;
    width: min(760px, 88%);
    height: 145px;
    margin: 0 auto;
    background: #FFC400;
    border-bottom-left-radius: 74px;
    border-bottom-right-radius: 74px;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    padding: 25px 42px 30px;
    flex-shrink: 0;
}

#slide22 .soer22-header h1 {
    margin: 0;
    max-width: 660px;
    color: #0757C9;
    font-family: 'League Spartan', Arial, sans-serif;
    font-size: 31px;
    line-height: 1.08;
    font-weight: 900;
}

#slide22 .soer22-body {
    width: min(820px, 88%);
    flex: 1;
    margin: 0 auto;
    overflow-y: auto;
    padding: 28px 28px 105px;
    scrollbar-width: thin;
    scrollbar-color: #73BFF0 transparent;
}

#slide22 .soer22-body::-webkit-scrollbar { width: 8px; }
#slide22 .soer22-body::-webkit-scrollbar-track { background: transparent; }
#slide22 .soer22-body::-webkit-scrollbar-thumb { background: #73BFF0; border-radius: 999px; }

#slide22 .soer22-intro,
#slide22 .soer22-section {
    background: #FFFFFF;
    border: 1px solid #DCECF8;
    border-radius: 18px;
    box-shadow: 0 5px 16px rgba(7,87,201,.07);
}

#slide22 .soer22-intro {
    padding: 18px 22px;
    margin-bottom: 18px;
    border-left: 7px solid #0091FF;
}

#slide22 .soer22-section {
    padding: 24px 28px 22px;
}

#slide22 .soer22-body p {
    font-family: 'Inter', Arial, sans-serif;
    color: #222;
    font-size: 15px;
    line-height: 1.5;
    text-align: justify;
    margin: 0 0 18px;
}

#slide22 .soer22-intro p { margin-bottom: 0; }

#slide22 .soer22-section h2 {
    margin: 0 0 12px;
    color: #0757C9;
    font-family: 'League Spartan', Arial, sans-serif;
    font-size: 22px;
    line-height: 1.15;
    font-weight: 900;
}

#slide22 .soer22-section p:last-child { margin-bottom: 0; }

#slide22 .soer22-callout {
    width: min(660px, 92%);
    margin: 22px auto 0;
    padding: 20px 24px;
    background: #0091FF;
    border-radius: 18px;
    color: #fff;
    text-align: center;
    box-shadow: 0 7px 18px rgba(0,145,255,.18);
    border-bottom: 8px solid #FFC400;
}

#slide22 .soer22-callout-label {
    display: block;
    color: #FFC400;
    font-family: 'League Spartan', Arial, sans-serif;
    font-size: 14px;
    font-weight: 900;
    letter-spacing: .4px;
    margin-bottom: 7px;
}

#slide22 .soer22-callout strong {
    display: block;
    font-family: 'Inter', Arial, sans-serif;
    font-size: 17px;
    line-height: 1.35;
    font-weight: 700;
}#slide22 .soer22-controls {
    right: 3%;
    bottom: 2.4%;
    z-index: 25;
}

@media (max-width: 900px) {
    #slide22 .soer22-header { width: 94%; height: 125px; }
    #slide22 .soer22-header h1 { font-size: 25px; }
    #slide22 .soer22-body { width: 94%; padding: 22px 16px 100px; }
}

@media (max-width: 650px) {
    #slide22 .soer22-header { width: 100%; border-radius: 0 0 50px 50px; padding: 20px 24px 25px; }
    #slide22 .soer22-header h1 { font-size: 22px; }
    #slide22 .soer22-body { width: 100%; padding-left: 12px; padding-right: 12px; }
    #slide22 .soer22-section { padding: 20px 18px; }
    #slide22 .soer22-body p { font-size: 14px; }
    #slide22 .soer22-section h2 { font-size: 19px; }
}


/* ============================================================
   SLIDES 23 e 24 - FORMATURAS / COLAÇÕES
   Referência: páginas 38, 39, 40 e 41 enviadas pelo usuário.
   Cada slide segue a mesma lógica dos últimos slides do guia:
   duas páginas editoriais lado a lado, sem usar as referências
   como imagem. As molduras tracejadas são placeholders editáveis.
   ============================================================ */
.form-ref-slide {
    background: #fff;
    overflow: hidden;
}

.form-ref-stage {
    width: 100%;
    height: calc(100% - 8px);
    padding: 3.5vh 2.2vw 8.5vh;
    box-sizing: border-box;
    display: flex;
    justify-content: center;
    align-items: flex-start;
    gap: 1.35vw;
    overflow: hidden;
}

.form-ref-page {
    position: relative;
    flex: 0 0 min(44vw, 58vh);
    width: min(44vw, 58vh);
    aspect-ratio: 442 / 630;
    height: auto;
    min-height: 0;
    background: #fff;
    overflow: hidden;
}

/* ---------- elementos comuns ---------- */
.form-ref-text,
.form-ref-caption {
    position: absolute;
    color: #111;
    font-family: 'Inter', Arial, sans-serif;
    font-style: normal;
    z-index: 7;
}

.form-ref-text {
    font-size: 1.77%;
    line-height: 1.35;
    text-align: justify;
}

.form-ref-text p {
    margin: 0 0 3.4%;
}

.form-ref-text p:last-child {
    margin-bottom: 0;
}

.form-ref-caption {
    font-weight: 700;
    font-style: italic;
    font-size: 1.65%;
    line-height: 1.18;
    text-align: left;
}.form-ref-blob {
    position: absolute;
    z-index: 1;
    pointer-events: none;
}

.form-ref-blue { background: #0091FF; }
.form-ref-yellow { background: #FFC400; }

/* ---------- espaços para imagens ---------- */
.form-ref-photo {
    position: absolute;
    z-index: 5;
    box-sizing: border-box;
    background: #fff;
    border: 0.65vw solid #0091FF;
    border-radius: 2.4%;
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 2.2%;
}

.form-ref-photo::after {
    content: "";
    position: absolute;
    inset: 0;
    border: 2px dashed rgba(7,87,201,.28);
    border-radius: 1.4%;
    pointer-events: none;
}

.form-ref-photo span {
    position: relative;
    z-index: 2;
    max-width: 92%;
    color: #0757C9;
    font-family: 'League Spartan', Arial, sans-serif;
    font-size: 2.65%;
    line-height: 1.15;
    font-weight: 900;
    text-align: center;
    text-transform: uppercase;
    letter-spacing: .2px;
}

.form-ref-photo small {
    font-size: 82%;
    font-weight: 700;
}

/* ========================= PÁGINA 38 ========================= */
.form-ref-38-intro {
    left: 9.3%;
    top: 8.2%;
    width: 79%;
}

.form-ref-38-photo-1 {
    left: 7.7%;
    top: 27.5%;
    width: 40.0%;
    height: 35.2%;
    border-color: #FFC400;
}

.form-ref-38-copy {
    left: 51.9%;
    top: 27.7%;
    width: 41.0%;
}

.form-ref-38-photo-2 {
    left: 2.8%;
    top: 67.3%;
    width: 47.0%;
    height: 24.0%;
    border-color: #0091FF;
}

.form-ref-38-blob {
    right: -6.5%;
    bottom: -4.8%;
    width: 74%;
    height: 25%;
    border-radius: 70% 30% 0 0 / 75% 75% 0 0;
}

.form-ref-38-caption {
    right: 7.8%;
    bottom: 8.4%;
    width: 42%;
}

/* ========================= PÁGINA 39 ========================= */
.form-ref-39-blue {
    left: -7.5%;
    top: 8.7%;
    width: 68%;
    height: 33%;
    border-radius: 48% 52% 46% 54% / 38% 52% 48% 62%;
    transform: rotate(-5deg);
}

.form-ref-39-caption-1 {
    left: 12.0%;
    top: 15.5%;
    width: 37.5%;
}

.form-ref-39-photo-1 {
    right: 6.7%;
    top: 7.4%;
    width: 45.0%;
    height: 40.6%;
    border-color: #FFC400;
}

.form-ref-39-photo-2 {
    left: 11.7%;
    top: 32.2%;
    width: 57.0%;
    height: 17.5%;
    border-color: #FFC400;
}

.form-ref-39-yellow {
    left: 5.5%;
    bottom: 5.2%;
    width: 72%;
    height: 16.0%;
    border-radius: 52% 48% 50% 50% / 68% 70% 30% 32%;
}

.form-ref-39-photo-3 {
    left: 20.0%;
    bottom: 8.4%;
    width: 69.2%;
    height: 27.3%;
    border-color: #0091FF;
}

.form-ref-39-caption-2 {
    left: 16.5%;
    bottom: 10.1%;
    width: 54%;
    z-index: 9;
}

/* ========================= PÁGINA 40 ========================= */
.form-ref-40-blue {
    left: 19.7%;
    top: 6.7%;
    width: 69.5%;
    height: 12.3%;
    border-radius: 60px;
}

.form-ref-40-caption-1 {
    left: 26.0%;
    top: 8.2%;
    width: 56%;
    text-align: center;
}

.form-ref-40-photo-1 {
    left: 6.8%;
    top: 19.2%;
    width: 63.0%;
    height: 29.0%;
    border-color: #FFC400;
}

.form-ref-40-photo-2 {
    right: 5.8%;
    top: 27.0%;
    width: 28.4%;
    height: 28.8%;
    border-color: #0091FF;
}

.form-ref-40-photo-3 {
    left: 4.1%;
    top: 59.2%;
    width: 63.0%;
    height: 31.0%;
    border-color: #0091FF;
}

.form-ref-40-yellow {
    right: -2.8%;
    bottom: 10.5%;
    width: 35%;
    height: 24.8%;
    border-radius: 52% 48% 52% 48%;
    transform: rotate(10deg);
}

.form-ref-40-caption-2 {
    right: 2.5%;
    bottom: 16.0%;
    width: 30.7%;
}

/* ========================= PÁGINA 41 ========================= */
.form-ref-41-photo-1 {
    left: 5.4%;
    top: 8.2%;
    width: 61.5%;
    height: 24.0%;
    border-color: #0091FF;
}

.form-ref-41-yellow {
    right: 3.6%;
    top: 10.0%;
    width: 38.0%;
    height: 31.0%;
    border-radius: 48% 52% 54% 46%;
    transform: rotate(9deg);
}

.form-ref-41-caption-1 {
    right: 7.2%;
    top: 14.0%;
    width: 29.0%;
}

.form-ref-41-blue {
    left: 2.7%;
    top: 39.0%;
    width: 48.5%;
    height: 20.0%;
    border-radius: 54% 46% 54% 46%;
    transform: rotate(3deg);
}

.form-ref-41-caption-2 {
    left: 11.8%;
    top: 44.0%;
    width: 34.0%;
}

.form-ref-41-photo-2 {
    right: 4.1%;
    top: 40.0%;
    width: 50.5%;
    height: 23.0%;
    border-color: #FFC400;
}

.form-ref-41-photo-3 {
    left: 7.0%;
    bottom: 9.0%;
    width: 39.8%;
    height: 31.9%;
    border-color: #FFC400;
}

.form-ref-41-photo-4 {
    right: 6.7%;
    bottom: 10.0%;
    width: 46.4%;
    height: 21.0%;
    border-color: #0091FF;
}

/* ---------- controles ---------- */
.form-ref-controls {
    right: 3%;
    bottom: 2.4%;
    z-index: 50;
}

/* ---------- tablet ---------- */
@media (max-width: 900px) {
    .form-ref-stage {
        gap: 1.0vw;
        padding-left: 1.5vw;
        padding-right: 1.5vw;
        padding-bottom: 9vh;
    }

    .form-ref-page {
        flex-basis: min(46vw, 57vh);
        width: min(46vw, 57vh);
    }

    .form-ref-photo {
        border-width: 3px;
    }
}

/* ---------- celular ---------- */
@media (max-width: 650px) {
    .form-ref-slide {
        overflow: hidden;
    }

    .form-ref-stage {
        height: calc(100% - 52px);
        padding: 18px 12px 66px;
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: 16px;
        overflow-y: auto;
        overflow-x: hidden;
    }

    .form-ref-page {
        flex: 0 0 auto;
        width: min(92vw, 442px);
        aspect-ratio: 442 / 630;
    }

    .form-ref-text {
        font-size: 2.15%;
    }

    .form-ref-caption {
        font-size: 2.0%;
    }

    .form-ref-photo {
        border-width: 2px;
    }

    .form-ref-photo span {
        font-size: 2.9%;
    }.form-ref-controls {
        right: 3%;
        bottom: 2.2%;
    }
}



/* ============================================================
   AJUSTE FINAL - PÁGINAS 38, 39, 40 E 41
   Um slide por página de referência.
   Não altera as regras dos slides anteriores.
   ============================================================ */
.form-ref-single-slide {
    overflow: hidden;
}

.form-ref-single-stage {
    height: calc(100% - 8px);
    padding: 2.2vh 0 8.5vh;
    display: flex;
    align-items: flex-start;
    justify-content: center;
    overflow: hidden;
}

.form-ref-single-stage .form-ref-page {
    flex: 0 0 min(70vw, 72vh);
    width: min(70vw, 72vh);
    aspect-ratio: 442 / 630;
}

.form-ref-single-controls {
    right: 3%;
    bottom: 2.4%;
    z-index: 50;
}

@media (max-width: 900px) {
    .form-ref-single-stage .form-ref-page {
        flex: 0 0 min(68vw, 70vh);
        width: min(68vw, 70vh);
    }
}

@media (max-width: 650px) {
    .form-ref-single-stage {
        height: calc(100% - 52px);
        padding: 10px 0 66px;
        overflow: hidden;
    }

    .form-ref-single-stage .form-ref-page {
        flex: 0 0 min(94vw, 72vh);
        width: min(94vw, 72vh);
    }

    .form-ref-single-controls {
        right: 3%;
        bottom: 2.2%;
    }
}


/* ============================================================
   SLIDES 23 e 24 - FORMATURAS / COLAÇÕES
   Cada slide reúne duas páginas editoriais lado a lado,
   seguindo a mesma lógica dos slides 20 e 21.
   ============================================================ */
.form-ref-slide {
    background: #fff;
    overflow: hidden;
}

.form-ref-stage {
    width: 100%;
    height: calc(100% - 8px);
    padding: 3.5vh 2.2vw 8.5vh;
    box-sizing: border-box;
    display: flex;
    justify-content: center;
    align-items: flex-start;
    gap: 1.35vw;
    overflow: hidden;
}

.form-ref-page {
    position: relative;
    flex: 0 0 min(44vw, 58vh);
    width: min(44vw, 58vh);
    aspect-ratio: 442 / 630;
    height: auto;
    min-height: 0;
    background: #fff;
    overflow: hidden;
}

.form-ref-text,
.form-ref-caption {
    position: absolute;
    color: #111;
    font-family: 'Inter', Arial, sans-serif;
    font-style: normal;
    z-index: 7;
}

.form-ref-text {
    font-size: 1.77%;
    line-height: 1.35;
    text-align: justify;
}

.form-ref-text p { margin: 0 0 3.4%; }
.form-ref-text p:last-child { margin-bottom: 0; }

.form-ref-caption {
    font-weight: 700;
    font-style: italic;
    font-size: 1.65%;
    line-height: 1.18;
    text-align: left;
}.form-ref-blob {
    position: absolute;
    z-index: 1;
    pointer-events: none;
}

.form-ref-blue { background: #0091FF; }
.form-ref-yellow { background: #FFC400; }

.form-ref-photo {
    position: absolute;
    z-index: 5;
    box-sizing: border-box;
    background: #fff;
    border: 0.65vw solid #0091FF;
    border-radius: 2.4%;
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 2.2%;
}

.form-ref-photo::after {
    content: "";
    position: absolute;
    inset: 0;
    border: 2px dashed rgba(7,87,201,.28);
    border-radius: 1.4%;
    pointer-events: none;
}

.form-ref-photo span {
    position: relative;
    z-index: 2;
    max-width: 92%;
    color: #0757C9;
    font-family: 'League Spartan', Arial, sans-serif;
    font-size: 2.65%;
    line-height: 1.15;
    font-weight: 900;
    text-align: center;
    text-transform: uppercase;
    letter-spacing: .2px;
}

.form-ref-photo small {
    font-size: 82%;
    font-weight: 700;
}

/* página 38 */
.form-ref-38-intro { left: 9.3%; top: 8.2%; width: 79%; }
.form-ref-38-photo-1 { left: 7.7%; top: 27.5%; width: 40%; height: 35.2%; border-color: #FFC400; }
.form-ref-38-copy { left: 51.9%; top: 27.7%; width: 41%; }
.form-ref-38-photo-2 { left: 2.8%; top: 67.3%; width: 47%; height: 24%; border-color: #0091FF; }
.form-ref-38-blob { right: -6.5%; bottom: -4.8%; width: 74%; height: 25%; border-radius: 70% 30% 0 0 / 75% 75% 0 0; }
.form-ref-38-caption { right: 7.8%; bottom: 8.4%; width: 42%; }

/* página 39 */
.form-ref-39-blue { left: -7.5%; top: 8.7%; width: 68%; height: 33%; border-radius: 48% 52% 46% 54% / 38% 52% 48% 62%; transform: rotate(-5deg); }
.form-ref-39-caption-1 { left: 12%; top: 15.5%; width: 37.5%; }
.form-ref-39-photo-1 { right: 6.7%; top: 7.4%; width: 45%; height: 40.6%; border-color: #FFC400; }
.form-ref-39-photo-2 { left: 11.7%; top: 32.2%; width: 57%; height: 17.5%; border-color: #FFC400; }
.form-ref-39-yellow { left: 5.5%; bottom: 5.2%; width: 72%; height: 16%; border-radius: 52% 48% 50% 50% / 68% 70% 30% 32%; }
.form-ref-39-photo-3 { left: 20%; bottom: 8.4%; width: 69.2%; height: 27.3%; border-color: #0091FF; }
.form-ref-39-caption-2 { left: 16.5%; bottom: 10.1%; width: 54%; z-index: 9; }

/* página 40 */
.form-ref-40-blue { left: 19.7%; top: 6.7%; width: 69.5%; height: 12.3%; border-radius: 60px; }
.form-ref-40-caption-1 { left: 26%; top: 8.2%; width: 56%; text-align: center; }
.form-ref-40-photo-1 { left: 6.8%; top: 19.2%; width: 63%; height: 29%; border-color: #FFC400; }
.form-ref-40-photo-2 { right: 5.8%; top: 27%; width: 28.4%; height: 28.8%; border-color: #0091FF; }
.form-ref-40-photo-3 { left: 4.1%; top: 59.2%; width: 63%; height: 31%; border-color: #0091FF; }
.form-ref-40-yellow { right: -2.8%; bottom: 10.5%; width: 35%; height: 24.8%; border-radius: 52% 48% 52% 48%; transform: rotate(10deg); }
.form-ref-40-caption-2 { right: 2.5%; bottom: 16%; width: 30.7%; }

/* página 41 */
.form-ref-41-photo-1 { left: 5.4%; top: 8.2%; width: 61.5%; height: 24%; border-color: #0091FF; }
.form-ref-41-yellow { right: 3.6%; top: 10%; width: 38%; height: 31%; border-radius: 48% 52% 54% 46%; transform: rotate(9deg); }
.form-ref-41-caption-1 { right: 7.2%; top: 14%; width: 29%; }
.form-ref-41-blue { left: 2.7%; top: 39%; width: 48.5%; height: 20%; border-radius: 54% 46% 54% 46%; transform: rotate(3deg); }
.form-ref-41-caption-2 { left: 11.8%; top: 44%; width: 34%; }
.form-ref-41-photo-2 { right: 4.1%; top: 40%; width: 50.5%; height: 23%; border-color: #FFC400; }
.form-ref-41-photo-3 { left: 7%; bottom: 9%; width: 39.8%; height: 31.9%; border-color: #FFC400; }
.form-ref-41-photo-4 { right: 6.7%; bottom: 10%; width: 46.4%; height: 21%; border-color: #0091FF; }

.form-ref-controls { right: 3%; bottom: 2.4%; z-index: 50; }

@media (max-width: 900px) {
    .form-ref-stage { gap: 1vw; padding-left: 1.5vw; padding-right: 1.5vw; padding-bottom: 9vh; }
    .form-ref-page { flex-basis: min(46vw, 57vh); width: min(46vw, 57vh); }
    .form-ref-photo { border-width: 3px; }
}

@media (max-width: 650px) {
    .form-ref-stage {
        height: calc(100% - 52px);
        padding: 18px 12px 66px;
        flex-direction: column;
        align-items: center;
        gap: 16px;
        overflow-y: auto;
        overflow-x: hidden;
    }
    .form-ref-page { flex: 0 0 auto; width: min(92vw, 442px); aspect-ratio: 442 / 630; }
    .form-ref-text { font-size: 2.15%; }
    .form-ref-caption { font-size: 2%; }
    .form-ref-photo { border-width: 2px; }
    .form-ref-photo span { font-size: 2.9%; }.form-ref-controls { right: 3%; bottom: 2.2%; }
}


/* ============================================================
   AJUSTE DE PRECISÃO - FORMATURAS / COLAÇÕES
   Estrutura inspirada diretamente nos slides 35/36 (slide21):
   dois painéis editoriais lado a lado, independentes e estáveis.
   Apenas sobrescreve a camada das páginas de formatura.
   ============================================================ */
#slide23.form-ref-slide,
#slide24.form-ref-slide {
    background: #fff;
    overflow: hidden;
}

#slide23 .form-ref-stage,
#slide24 .form-ref-stage {
    position: relative;
    width: 100%;
    height: 100%;
    padding: 24px 36px 86px;
    box-sizing: border-box;
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: 18px;
    align-items: stretch;
    overflow: hidden;
}

#slide23 .form-ref-page,
#slide24 .form-ref-page {
    position: relative;
    width: auto;
    height: auto;
    min-width: 0;
    min-height: 0;
    aspect-ratio: auto;
    background: rgba(255,255,255,.98);
    border: 2px solid #D8EAF8;
    box-shadow: 0 10px 26px rgba(7,87,201,.10);
    overflow: hidden;
}

#slide23 .form-ref-page:first-child,
#slide24 .form-ref-page:first-child {
    border-radius: 28px 8px 28px 8px;
}

#slide23 .form-ref-page:last-child,
#slide24 .form-ref-page:last-child {
    border-radius: 8px 28px 8px 28px;
}

/* Tipografia: tamanho compatível com os demais slides editoriais. */
#slide23 .form-ref-text,
#slide24 .form-ref-text {
    font-family: 'Inter', Arial, sans-serif;
    font-size: clamp(12px, 1.05vw, 15px);
    line-height: 1.48;
    color: #222;
}

#slide23 .form-ref-text p,
#slide24 .form-ref-text p {
    margin: 0 0 15px;
}

#slide23 .form-ref-caption,
#slide24 .form-ref-caption {
    font-family: 'Inter', Arial, sans-serif;
    font-size: clamp(11px, .92vw, 13.5px);
    line-height: 1.2;
    font-weight: 700;
    font-style: italic;
    color: #111;
}/* Espaços de fotografia: moldura limpa, estável e pronta para imagem. */
#slide23 .form-ref-photo,
#slide24 .form-ref-photo {
    border: 3px solid #0091FF;
    border-radius: 10px;
    background: #fff;
    padding: 0;
    box-shadow: 0 3px 8px rgba(7,87,201,.06);
}

#slide23 .form-ref-photo::after,
#slide24 .form-ref-photo::after {
    border: 1.5px dashed rgba(7,87,201,.22);
    border-radius: 7px;
}

#slide23 .form-ref-photo span,
#slide24 .form-ref-photo span {
    font-family: 'League Spartan', Arial, sans-serif;
    font-size: clamp(10px, .78vw, 12px);
    line-height: 1.15;
    color: #0757C9;
    font-weight: 900;
    text-align: center;
}

#slide23 .form-ref-photo small,
#slide24 .form-ref-photo small {
    font-size: 82%;
}

/* Quando uma imagem real for inserida, ela respeita seu próprio formato. */
#slide23 .form-ref-photo img,
#slide24 .form-ref-photo img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
    object-position: center;
    background: #fff;
}

#slide23 .form-ref-controls,
#slide24 .form-ref-controls {
    right: 3%;
    bottom: 2.4%;
    z-index: 50;
}

@media (max-width: 900px) {
    #slide23 .form-ref-stage,
    #slide24 .form-ref-stage {
        gap: 12px;
        padding: 18px 18px 82px;
    }

    #slide23 .form-ref-text,
    #slide24 .form-ref-text {
        font-size: 13px;
    }

    #slide23 .form-ref-caption,
    #slide24 .form-ref-caption {
        font-size: 12px;
    }
}

@media (max-width: 700px) {
    #slide23 .form-ref-stage,
    #slide24 .form-ref-stage {
        grid-template-columns: 1fr;
        overflow-y: auto;
        padding-bottom: 102px;
    }

    #slide23 .form-ref-page,
    #slide24 .form-ref-page {
        min-height: 650px;
    }
}


/* ============================================================
   REFINO VISUAL FINAL - FORMATURAS 38 A 41
   Somente melhora de leitura e acabamento; sem alterar os
   demais slides do projeto.
   ============================================================ */
.form-ref-text {
    font-size: 1.92%;
    line-height: 1.42;
}

.form-ref-caption {
    font-size: 1.72%;
    line-height: 1.2;
}

.form-ref-photo {
    box-shadow: 0 3px 9px rgba(0, 0, 0, .10);
}

.form-ref-photo span {
    font-size: 2.45%;
    opacity: .82;
}

/* Fotos retas, com acabamento limpo e editorial. */
.form-ref-38-photo-1,
.form-ref-38-photo-2,
.form-ref-39-photo-1,
.form-ref-39-photo-2,
.form-ref-39-photo-3,
.form-ref-40-photo-1,
.form-ref-40-photo-2,
.form-ref-40-photo-3,
.form-ref-41-photo-1,
.form-ref-41-photo-2,
.form-ref-41-photo-3,
.form-ref-41-photo-4 {
    transform: none !important;
}


/* ============================================================
   REFINO FINAL — FORMATURAS / COLAÇÕES
   Correção tipográfica e acabamento visual.
   Não altera nenhum outro slide.
   ============================================================ */
#slide23.form-ref-slide,
#slide24.form-ref-slide {
    background-image: url('imgs/background.-teste1.png');
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}

#slide23 .form-ref-stage,
#slide24 .form-ref-stage {
    padding: 26px 36px 86px;
    gap: 18px;
    align-items: stretch;
}

#slide23 .form-ref-page,
#slide24 .form-ref-page {
    background: rgba(255,255,255,.975);
    border: 2px solid #D8EAF8;
    box-shadow: 0 10px 26px rgba(7,87,201,.10);
}

#slide23 .form-ref-text,
#slide24 .form-ref-text {
    font-family: 'Inter', Arial, sans-serif;
    font-size: clamp(12.5px, 1.02vw, 15px) !important;
    line-height: 1.46;
    letter-spacing: -0.01em;
    color: #222;
}

#slide23 .form-ref-text p,
#slide24 .form-ref-text p {
    margin: 0 0 14px;
}

#slide23 .form-ref-caption,
#slide24 .form-ref-caption {
    font-family: 'Inter', Arial, sans-serif;
    font-size: clamp(11.5px, .88vw, 13.5px) !important;
    line-height: 1.22;
    letter-spacing: -0.01em;
    font-weight: 800;
    font-style: italic;
    color: #111;
}

#slide23 .form-ref-photo,
#slide24 .form-ref-photo {
    border-width: 3px;
    border-radius: 11px;
    padding: 0;
    box-shadow: 0 5px 12px rgba(0,0,0,.10);
    transform: none !important;
}

#slide23 .form-ref-photo::after,
#slide24 .form-ref-photo::after {
    inset: 2px;
    border: 1px solid rgba(7,87,201,.18);
    border-radius: 8px;
}

#slide23 .form-ref-photo span,
#slide24 .form-ref-photo span {
    font-family: 'League Spartan', Arial, sans-serif;
    font-size: 13px !important;
    line-height: 1.1;
    letter-spacing: .1px;
    color: #0757C9;
    font-weight: 900;
    opacity: .9;
}/* Formas orgânicas mais elegantes, sem rotação. */
#slide23 .form-ref-38-blob {
    transform: none;
    border-radius: 62% 38% 0 0 / 68% 74% 0 0;
}

#slide23 .form-ref-39-blue,
#slide23 .form-ref-39-yellow,
#slide24 .form-ref-40-blue,
#slide24 .form-ref-40-yellow,
#slide24 .form-ref-41-yellow,
#slide24 .form-ref-41-blue {
    transform: none;
}

#slide23 .form-ref-39-blue {
    border-radius: 54% 46% 48% 52% / 42% 58% 42% 58%;
}

#slide23 .form-ref-39-yellow {
    border-radius: 52% 48% 45% 55% / 62% 68% 32% 38%;
}

#slide24 .form-ref-40-blue {
    border-radius: 42px 62px 48px 72px;
}

#slide24 .form-ref-40-yellow {
    border-radius: 58% 42% 54% 46% / 48% 64% 36% 52%;
}

#slide24 .form-ref-41-yellow {
    border-radius: 42% 58% 50% 50% / 54% 42% 58% 46%;
}

#slide24 .form-ref-41-blue {
    border-radius: 58% 42% 48% 52% / 46% 58% 42% 54%;
}

@media (max-width: 900px) {
    #slide23 .form-ref-stage,
    #slide24 .form-ref-stage {
        padding: 18px 18px 82px;
        gap: 12px;
    }

    #slide23 .form-ref-text,
    #slide24 .form-ref-text {
        font-size: 13px !important;
        line-height: 1.42;
    }

    #slide23 .form-ref-caption,
    #slide24 .form-ref-caption {
        font-size: 12px !important;
    }
}

@media (max-width: 700px) {
    #slide23 .form-ref-stage,
    #slide24 .form-ref-stage {
        padding: 16px 14px 98px;
        gap: 14px;
    }

    #slide23 .form-ref-text,
    #slide24 .form-ref-text {
        font-size: 13px !important;
    }

    #slide23 .form-ref-caption,
    #slide24 .form-ref-caption {
        font-size: 12px !important;
    }
}

/* ============================================================
   REFINO VISUAL 2 — FORMATURAS / COLAÇÕES
   Somente Slides 23 e 24.
   Objetivo: acabamento mais natural, legível e editorial.
   ============================================================ */
#slide23.form-ref-slide,
#slide24.form-ref-slide {
    background: #f8fbff;
}

#slide23 .form-ref-stage,
#slide24 .form-ref-stage {
    padding: 22px 28px 78px;
    gap: 22px;
    align-items: stretch;
}

#slide23 .form-ref-page,
#slide24 .form-ref-page {
    flex-basis: min(44vw, 610px);
    width: min(44vw, 610px);
    border: 0;
    border-radius: 26px;
    background: #ffffff;
    box-shadow: 0 9px 24px rgba(7,87,201,.10);
    isolation: isolate;
}

/* Faixa editorial discreta, no espírito dos painéis dos slides 35/36. */
#slide23 .form-ref-page::before,
#slide24 .form-ref-page::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 8px;
    background: linear-gradient(90deg, #0757C9 0 70%, #FFC400 70% 100%);
    z-index: 20;
}

#slide23 .form-ref-page:nth-child(2)::before,
#slide24 .form-ref-page:nth-child(2)::before {
    background: linear-gradient(90deg, #FFC400 0 30%, #0757C9 30% 100%);
}

/* Tipografia: levemente maior que a versão anterior, mas com mais respiro. */
#slide23 .form-ref-text,
#slide24 .form-ref-text {
    font-size: clamp(12px, 1.03vw, 14.2px) !important;
    line-height: 1.48;
    letter-spacing: 0;
    color: #2a2f35;
    text-align: left;
}

#slide23 .form-ref-text p,
#slide24 .form-ref-text p {
    margin: 0 0 12px;
}

#slide23 .form-ref-caption,
#slide24 .form-ref-caption {
    font-size: clamp(11px, .88vw, 12.8px) !important;
    line-height: 1.25;
    letter-spacing: 0;
    color: #1c1f23;
}

/* Fotos: retas, limpas e sem cortes. */
#slide23 .form-ref-photo,
#slide24 .form-ref-photo {
    transform: none !important;
    border-width: 3px;
    border-radius: 14px;
    background: #fbfdff;
    box-shadow: 0 5px 14px rgba(7,87,201,.12);
    padding: 8px;
}

#slide23 .form-ref-photo::after,
#slide24 .form-ref-photo::after {
    inset: 3px;
    border: 1px dashed rgba(7,87,201,.22);
    border-radius: 10px;
}

#slide23 .form-ref-photo span,
#slide24 .form-ref-photo span {
    font-size: 12px !important;
    line-height: 1.15;
    color: #0757C9;
    opacity: .78;
}

/* Remove a sensação de "bolas": formas suaves e assimétricas. */
#slide23 .form-ref-38-blob {
    right: -8%;
    bottom: -5%;
    width: 76%;
    height: 24%;
    border-radius: 55% 45% 0 0 / 70% 85% 0 0;
    background: #FFC400;
    opacity: .95;
}

#slide23 .form-ref-39-blue {
    left: -9%;
    top: 7%;
    width: 69%;
    height: 32%;
    border-radius: 62% 38% 58% 42% / 48% 63% 37% 52%;
    background: #0091FF;
}

#slide23 .form-ref-39-yellow {
    left: 4%;
    bottom: 4%;
    width: 73%;
    height: 15%;
    border-radius: 55% 45% 52% 48% / 76% 64% 36% 24%;
    background: #FFC400;
}

#slide24 .form-ref-40-blue {
    left: 19%;
    top: 6%;
    width: 70%;
    height: 12%;
    border-radius: 46px 70px 42px 62px;
    background: #0091FF;
}

#slide24 .form-ref-40-yellow {
    right: -4%;
    bottom: 11%;
    width: 35%;
    height: 24%;
    border-radius: 68% 32% 58% 42% / 44% 62% 38% 56%;
    background: #FFC400;
}

#slide24 .form-ref-41-yellow {
    right: 3%;
    top: 10%;
    width: 38%;
    height: 30%;
    border-radius: 58% 42% 54% 46% / 56% 42% 58% 44%;
    background: #FFC400;
}

#slide24 .form-ref-41-blue {
    left: 3%;
    top: 39%;
    width: 48%;
    height: 19%;
    border-radius: 62% 38% 54% 46% / 54% 64% 36% 46%;
    background: #0091FF;
}@media (max-width: 900px) {
    #slide23 .form-ref-stage,
    #slide24 .form-ref-stage {
        padding: 18px 16px 82px;
        gap: 14px;
    }

    #slide23 .form-ref-text,
    #slide24 .form-ref-text {
        font-size: 12.5px !important;
        line-height: 1.44;
    }
}

/* ============================================================
   POLIMENTO FINAL — VERSÃO LIMPA
   Aplicado somente aos Slides 23 e 24.
   ============================================================ */
#slide23.form-ref-slide,
#slide24.form-ref-slide {
    background: #ffffff;
}

#slide23 .form-ref-stage,
#slide24 .form-ref-stage {
    padding: 18px 26px 80px;
    gap: 20px;
}

#slide23 .form-ref-page,
#slide24 .form-ref-page {
    border: 1px solid #e7eef6;
    border-radius: 22px;
    box-shadow: 0 7px 20px rgba(7,87,201,.09);
}

#slide23 .form-ref-page::before,
#slide24 .form-ref-page::before {
    height: 6px;
    background: #0757C9;
}

#slide23 .form-ref-page:nth-child(2)::before,
#slide24 .form-ref-page:nth-child(2)::before {
    background: #FFC400;
}

/* Texto maior, porém com largura/entrelinha mais naturais. */
#slide23 .form-ref-text,
#slide24 .form-ref-text {
    font-size: clamp(13px, 1.18vw, 15px) !important;
    line-height: 1.38;
    color: #252a30;
    text-align: left;
}

#slide23 .form-ref-text p,
#slide24 .form-ref-text p {
    margin: 0 0 10px;
}

#slide23 .form-ref-caption,
#slide24 .form-ref-caption {
    font-size: clamp(11.5px, 1vw, 13.5px) !important;
    line-height: 1.18;
    font-weight: 800;
}

/* Espaços de fotografia limpos, todos retos. */
#slide23 .form-ref-photo,
#slide24 .form-ref-photo {
    transform: none !important;
    border-width: 3px;
    border-radius: 12px;
    padding: 7px;
    box-shadow: 0 4px 11px rgba(7,87,201,.11);
}

#slide23 .form-ref-photo::after,
#slide24 .form-ref-photo::after {
    inset: 3px;
    border: 1px dashed rgba(7,87,201,.20);
    border-radius: 8px;
}

#slide23 .form-ref-photo span,
#slide24 .form-ref-photo span {
    font-size: 12px !important;
    line-height: 1.1;
    letter-spacing: .1px;
    opacity: .75;
}

/* Formas decorativas: curvas alongadas, não círculos/bolas. */
#slide23 .form-ref-38-blob {
    right: -10%;
    bottom: -5%;
    width: 77%;
    height: 23%;
    border-radius: 58% 42% 0 0 / 82% 72% 0 0;
    background: #FFC400;
}

#slide23 .form-ref-39-blue {
    left: -11%;
    top: 7%;
    width: 73%;
    height: 31%;
    border-radius: 58% 42% 62% 38% / 47% 66% 34% 53%;
    background: #0091FF;
}

#slide23 .form-ref-39-yellow {
    left: 3%;
    bottom: 4%;
    width: 76%;
    height: 15%;
    border-radius: 62% 38% 52% 48% / 78% 65% 35% 22%;
    background: #FFC400;
}

#slide24 .form-ref-40-blue {
    left: 18%;
    top: 6%;
    width: 72%;
    height: 12%;
    border-radius: 48px 74px 42px 68px;
    background: #0091FF;
}

#slide24 .form-ref-40-yellow {
    right: -5%;
    bottom: 10%;
    width: 37%;
    height: 24%;
    border-radius: 70% 30% 58% 42% / 44% 66% 34% 56%;
    background: #FFC400;
}

#slide24 .form-ref-41-yellow {
    right: 2%;
    top: 10%;
    width: 39%;
    height: 29%;
    border-radius: 62% 38% 56% 44% / 56% 43% 57% 44%;
    background: #FFC400;
}

#slide24 .form-ref-41-blue {
    left: 2%;
    top: 39%;
    width: 49%;
    height: 19%;
    border-radius: 64% 36% 56% 44% / 54% 66% 34% 46%;
    background: #0091FF;
}

@media (max-width: 900px) {
    #slide23 .form-ref-stage,
    #slide24 .form-ref-stage {
        padding: 16px 14px 82px;
        gap: 12px;
    }

    #slide23 .form-ref-text,
    #slide24 .form-ref-text {
        font-size: 13px !important;
        line-height: 1.35;
    }

    #slide23 .form-ref-caption,
    #slide24 .form-ref-caption {
        font-size: 11.5px !important;
    }
}

/* ============================================================
   REFINAMENTO VISUAL — FORMATURAS / COLAÇÕES
   Somente Slides 23 e 24.
   Mantém os mesmos elementos e posições das referências,
   mas com acabamento editorial semelhante aos Slides 35/36.
   ============================================================ */
#slide23.form-ref-editorial-slide,
#slide24.form-ref-editorial-slide {
    background: url('imgs/background.-teste1.png') center / cover no-repeat;
}

#slide23.form-ref-editorial-slide .form-ref-stage,
#slide24.form-ref-editorial-slide .form-ref-stage {
    width: 100%;
    height: 100%;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 18px;
    padding: 26px 36px 86px;
    box-sizing: border-box;
    overflow: hidden;
}

#slide23.form-ref-editorial-slide .form-ref-page,
#slide24.form-ref-editorial-slide .form-ref-page {
    position: relative;
    width: auto;
    height: 100%;
    min-width: 0;
    min-height: 0;
    aspect-ratio: auto;
    background: rgba(255,255,255,.985);
    border: 2px solid #D8EAF8;
    box-shadow: 0 10px 26px rgba(7,87,201,.10);
    border-radius: 28px 8px 28px 8px;
    overflow: hidden;
}

#slide23.form-ref-editorial-slide .form-ref-page.form-ref-39,
#slide24.form-ref-editorial-slide .form-ref-page.form-ref-41 {
    border-radius: 8px 28px 8px 28px;
}

#slide23.form-ref-editorial-slide .form-ref-text,
#slide24.form-ref-editorial-slide .form-ref-text {
    font-size: 12.15px;
    line-height: 1.42;
    letter-spacing: -0.01em;
    color: #222;
}

#slide23.form-ref-editorial-slide .form-ref-text p,
#slide24.form-ref-editorial-slide .form-ref-text p {
    margin: 0 0 12px;
}

#slide23.form-ref-editorial-slide .form-ref-caption,
#slide24.form-ref-editorial-slide .form-ref-caption {
    font-size: 11.55px;
    line-height: 1.22;
    color: #111;
    font-weight: 800;
}

#slide23.form-ref-editorial-slide .form-ref-photo,
#slide24.form-ref-editorial-slide .form-ref-photo {
    border-width: 3px;
    border-radius: 12px;
    padding: 6px;
    background: #fff;
    box-shadow: 0 5px 12px rgba(7,87,201,.10);
}

#slide23.form-ref-editorial-slide .form-ref-photo::after,
#slide24.form-ref-editorial-slide .form-ref-photo::after {
    border: 1px solid rgba(7,87,201,.12);
    border-radius: 8px;
}

#slide23.form-ref-editorial-slide .form-ref-photo span,
#slide24.form-ref-editorial-slide .form-ref-photo span {
    font-size: 11px;
    line-height: 1.15;
    letter-spacing: .05px;
    color: #0757C9;
    opacity: .9;
}

#slide23.form-ref-editorial-slide .form-ref-photo small,
#slide24.form-ref-editorial-slide .form-ref-photo small {
    font-size: 9px;
}

/* Nenhuma fotografia ou elemento visual recebe inclinação. */
#slide23.form-ref-editorial-slide .form-ref-photo,
#slide24.form-ref-editorial-slide .form-ref-photo,
#slide23.form-ref-editorial-slide .form-ref-blob,
#slide24.form-ref-editorial-slide .form-ref-blob {
    transform: none !important;
}

/* Formas decorativas: orgânicas e alongadas, não circulares. */
#slide23.form-ref-editorial-slide .form-ref-38-blob {
    right: -5%;
    bottom: -4%;
    width: 76%;
    height: 24%;
    border-radius: 64% 36% 0 0 / 80% 80% 0 0;
    background: linear-gradient(135deg, #FFC400 0%, #FFD33F 100%);
}

#slide23.form-ref-editorial-slide .form-ref-39-blue {
    left: -9%;
    top: 8%;
    width: 70%;
    height: 32%;
    border-radius: 58% 42% 64% 36% / 40% 58% 42% 60%;
    background: linear-gradient(135deg, #0091FF 0%, #27A8FF 100%);
}

#slide23.form-ref-editorial-slide .form-ref-39-yellow {
    left: 4%;
    bottom: 4%;
    width: 74%;
    height: 15%;
    border-radius: 60% 40% 45% 55% / 72% 62% 38% 28%;
    background: linear-gradient(135deg, #FFC400 0%, #FFD33F 100%);
}

#slide24.form-ref-editorial-slide .form-ref-40-blue {
    left: 18%;
    top: 6%;
    width: 71%;
    height: 12%;
    border-radius: 999px 999px 42px 42px;
    background: linear-gradient(135deg, #0091FF 0%, #27A8FF 100%);
}

#slide24.form-ref-editorial-slide .form-ref-40-yellow {
    right: -2%;
    bottom: 10%;
    width: 36%;
    height: 24%;
    border-radius: 54% 46% 42% 58% / 52% 64% 36% 48%;
    background: linear-gradient(135deg, #FFC400 0%, #FFD33F 100%);
}

#slide24.form-ref-editorial-slide .form-ref-41-yellow {
    right: 4%;
    top: 9%;
    width: 39%;
    height: 30%;
    border-radius: 46% 54% 58% 42% / 38% 62% 38% 62%;
    background: linear-gradient(135deg, #FFC400 0%, #FFD33F 100%);
}

#slide24.form-ref-editorial-slide .form-ref-41-blue {
    left: 3%;
    top: 38%;
    width: 49%;
    height: 20%;
    border-radius: 58% 42% 48% 52% / 54% 42% 58% 46%;
    background: linear-gradient(135deg, #0091FF 0%, #27A8FF 100%);
}#slide23.form-ref-editorial-slide .form-ref-controls,
#slide24.form-ref-editorial-slide .form-ref-controls {
    right: 3%;
    bottom: 2.4%;
}

@media (max-width: 900px) {
    #slide23.form-ref-editorial-slide .form-ref-stage,
    #slide24.form-ref-editorial-slide .form-ref-stage {
        gap: 12px;
        padding: 18px 18px 82px;
    }
    #slide23.form-ref-editorial-slide .form-ref-text,
    #slide24.form-ref-editorial-slide .form-ref-text {
        font-size: 11.2px;
    }
    #slide23.form-ref-editorial-slide .form-ref-caption,
    #slide24.form-ref-editorial-slide .form-ref-caption {
        font-size: 10.6px;
    }
}

@media (max-width: 700px) {
    #slide23.form-ref-editorial-slide .form-ref-stage,
    #slide24.form-ref-editorial-slide .form-ref-stage {
        grid-template-columns: 1fr;
        overflow-y: auto;
        padding-bottom: 100px;
    }
    #slide23.form-ref-editorial-slide .form-ref-page,
    #slide24.form-ref-editorial-slide .form-ref-page {
        min-height: 650px;
    }
}


/* ============================================================
   REFINO FINAL — FORMATURAS 38–41
   Baseada na versão anterior aprovada.
   SOMENTE tipografia, acabamento das fotos e formas decorativas.
   As caixas/painéis e posições principais permanecem intactas.
   ============================================================ */

/* Texto principal: ligeiramente menor e mais elegante */
#slide23.form-ref-editorial-slide .form-ref-text,
#slide24.form-ref-editorial-slide .form-ref-text {
    font-family: 'Inter', Arial, sans-serif !important;
    font-size: clamp(11.4px, 0.89vw, 13.4px) !important;
    line-height: 1.43 !important;
    letter-spacing: -0.005em !important;
    font-weight: 400 !important;
}

#slide23.form-ref-editorial-slide .form-ref-text p,
#slide24.form-ref-editorial-slide .form-ref-text p {
    margin-bottom: 10px !important;
}

/* Legendas: um pouco menores e mais naturais */
#slide23.form-ref-editorial-slide .form-ref-caption,
#slide24.form-ref-editorial-slide .form-ref-caption {
    font-size: clamp(10.5px, 0.78vw, 12px) !important;
    line-height: 1.20 !important;
    letter-spacing: -0.01em !important;
    font-weight: 800 !important;
}

/* Espaços das fotos: retos, discretos e sem alterar suas caixas */
#slide23.form-ref-editorial-slide .form-ref-photo,
#slide24.form-ref-editorial-slide .form-ref-photo {
    transform: none !important;
    box-shadow: 0 5px 12px rgba(7,87,201,.09) !important;
}

/* ------------------------------------------------------------
   Formas decorativas — substituir o aspecto de "bola" por
   faixas/ondas orgânicas, mais próximas do design editorial.
   ------------------------------------------------------------ */
#slide23.form-ref-editorial-slide .form-ref-blob,
#slide24.form-ref-editorial-slide .form-ref-blob {
    filter: drop-shadow(0 4px 8px rgba(7,87,201,.05)) !important;
}

/* Página 38 — faixa amarela inferior */
#slide23.form-ref-editorial-slide .form-ref-38-blob {
    right: -8% !important;
    bottom: -5% !important;
    width: 76% !important;
    height: 23% !important;
    border-radius: 76% 24% 0 0 / 78% 78% 0 0 !important;
    transform: none !important;
    background: #FFC400 !important;
}

/* Página 39 — faixa azul superior */
#slide23.form-ref-editorial-slide .form-ref-39-blue {
    left: -11% !important;
    top: 7% !important;
    width: 72% !important;
    height: 27% !important;
    border-radius: 12% 64% 58% 18% / 46% 38% 62% 54% !important;
    transform: none !important;
    background: #0091FF !important;
}

/* Página 39 — faixa amarela inferior */
#slide23.form-ref-editorial-slide .form-ref-39-yellow {
    left: 3% !important;
    bottom: 4% !important;
    width: 78% !important;
    height: 14% !important;
    border-radius: 24% 76% 42% 58% / 68% 64% 36% 32% !important;
    transform: none !important;
    background: #FFC400 !important;
}

/* Página 40 — cápsula azul superior, sem inclinação */
#slide24.form-ref-editorial-slide .form-ref-40-blue {
    left: 19% !important;
    top: 6% !important;
    width: 71% !important;
    height: 11.5% !important;
    border-radius: 999px !important;
    transform: none !important;
    background: #0091FF !important;
}

/* Página 40 — onda amarela lateral inferior */
#slide24.form-ref-editorial-slide .form-ref-40-yellow {
    right: -5% !important;
    bottom: 8% !important;
    width: 37% !important;
    height: 23% !important;
    border-radius: 64% 36% 38% 62% / 44% 68% 32% 56% !important;
    transform: none !important;
    background: #FFC400 !important;
}

/* Página 41 — forma amarela superior direita */
#slide24.form-ref-editorial-slide .form-ref-41-yellow {
    right: 1% !important;
    top: 9% !important;
    width: 39% !important;
    height: 28% !important;
    border-radius: 58% 42% 66% 34% / 36% 58% 42% 64% !important;
    transform: none !important;
    background: #FFC400 !important;
}

/* Página 41 — faixa azul intermediária */
#slide24.form-ref-editorial-slide .form-ref-41-blue {
    left: 0% !important;
    top: 39% !important;
    width: 51% !important;
    height: 18% !important;
    border-radius: 70% 30% 60% 40% / 50% 42% 58% 50% !important;
    transform: none !important;
    background: #0091FF !important;
}

/* Espaços de foto continuam prontos para receber proporções diferentes */
#slide23.form-ref-editorial-slide .form-ref-photo img,
#slide24.form-ref-editorial-slide .form-ref-photo img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: contain;
    object-position: center;
}

@media (max-width: 900px) {
    #slide23.form-ref-editorial-slide .form-ref-text,
    #slide24.form-ref-editorial-slide .form-ref-text {
        font-size: 11.6px !important;
        line-height: 1.40 !important;
    }

    #slide23.form-ref-editorial-slide .form-ref-caption,
    #slide24.form-ref-editorial-slide .form-ref-caption {
        font-size: 10.7px !important;
    }
}

@media (max-width: 650px) {
    #slide23.form-ref-editorial-slide .form-ref-text,
    #slide24.form-ref-editorial-slide .form-ref-text {
        font-size: 12px !important;
        line-height: 1.40 !important;
    }

    #slide23.form-ref-editorial-slide .form-ref-caption,
    #slide24.form-ref-editorial-slide .form-ref-caption {
        font-size: 10.8px !important;
    }
}

/* ============================================================
   REFINO VISUAL V2 — SLIDES 23 E 24
   ============================================================ */
#slide23.form-ref-polished-v2,
#slide24.form-ref-polished-v2 {
    background: #fdfefe;
}

#slide23.form-ref-polished-v2 .form-ref-stage,
#slide24.form-ref-polished-v2 .form-ref-stage {
    padding: 18px 26px 82px;
    gap: 22px;
    align-items: stretch;
}

/* As caixas permanecem nos mesmos tamanhos e posições estruturais. */
#slide23.form-ref-polished-v2 .form-ref-page,
#slide24.form-ref-polished-v2 .form-ref-page {
    border: 1px solid #e8edf3;
    border-radius: 24px;
    box-shadow: 0 10px 24px rgba(20, 55, 92, .08);
    overflow: hidden;
}

#slide23.form-ref-polished-v2 .form-ref-text,
#slide24.form-ref-polished-v2 .form-ref-text {
    font-size: clamp(12.2px, 1.02vw, 13.6px) !important;
    line-height: 1.45;
    letter-spacing: -0.01em;
    color: #262b31;
}

#slide23.form-ref-polished-v2 .form-ref-text p,
#slide24.form-ref-polished-v2 .form-ref-text p {
    margin-bottom: 11px;
}

#slide23.form-ref-polished-v2 .form-ref-caption,
#slide24.form-ref-polished-v2 .form-ref-caption {
    font-size: clamp(10.8px, .86vw, 12.2px) !important;
    line-height: 1.24;
    letter-spacing: -0.01em;
    font-weight: 700;
    color: #1f252b;
}

/* Títulos/legendas ficam firmes, porém sem parecerem pesados. */
#slide23.form-ref-polished-v2 .form-ref-caption,
#slide24.form-ref-polished-v2 .form-ref-caption {
    text-wrap: balance;
}

/* Fotos totalmente retas, com aparência de página editorial. */
#slide23.form-ref-polished-v2 .form-ref-photo,
#slide24.form-ref-polished-v2 .form-ref-photo {
    transform: none !important;
    rotate: none !important;
    border: 3px solid #0757C9;
    border-radius: 15px;
    padding: 7px;
    background: #fff;
    box-shadow: 0 7px 16px rgba(26, 61, 94, .11);
}

#slide23.form-ref-polished-v2 .form-ref-photo:nth-of-type(odd),
#slide24.form-ref-polished-v2 .form-ref-photo:nth-of-type(odd) {
    rotate: none !important;
}

#slide23.form-ref-polished-v2 .form-ref-photo span,
#slide24.form-ref-polished-v2 .form-ref-photo span {
    font-size: 11px !important;
    line-height: 1.2;
    letter-spacing: .02em;
    color: #0757C9;
    opacity: .74;
}

#slide23.form-ref-polished-v2 .form-ref-photo::after,
#slide24.form-ref-polished-v2 .form-ref-photo::after {
    inset: 5px;
    border: 1px dashed rgba(7, 87, 201, .18);
    border-radius: 9px;
}

/*
   Decoração: sai a leitura de "círculo" e entra uma faixa orgânica,
   alongada e assimétrica. Fica mais próxima de uma ilustração editorial.
*/
#slide23.form-ref-polished-v2 .form-ref-38-blob {
    right: -8%;
    bottom: -1%;
    width: 82%;
    height: 20%;
    border-radius: 48% 52% 8% 18% / 58% 64% 18% 24%;
    background: linear-gradient(110deg, #FFC400 0%, #FFD52E 100%);
    box-shadow: 0 -8px 0 rgba(7, 87, 201, .05);
}

#slide23.form-ref-polished-v2 .form-ref-39-blue {
    left: -13%;
    top: 5%;
    width: 67%;
    height: 24%;
    border-radius: 12% 70% 42% 18% / 38% 58% 42% 62%;
    background: linear-gradient(120deg, #0091FF 0%, #168BE0 100%);
}

#slide23.form-ref-polished-v2 .form-ref-39-yellow {
    left: 5%;
    bottom: 2.5%;
    width: 76%;
    height: 12%;
    border-radius: 64% 36% 20% 24% / 66% 58% 42% 34%;
    background: linear-gradient(110deg, #FFC400 0%, #FFD21D 100%);
}

#slide24.form-ref-polished-v2 .form-ref-40-blue {
    left: 18%;
    top: 5%;
    width: 74%;
    height: 9%;
    border-radius: 24px 52px 38px 48px;
    background: linear-gradient(100deg, #0091FF 0%, #178EE7 100%);
}

#slide24.form-ref-polished-v2 .form-ref-40-yellow {
    right: -9%;
    bottom: 8%;
    width: 40%;
    height: 20%;
    border-radius: 42% 58% 20% 80% / 50% 52% 48% 50%;
    background: linear-gradient(135deg, #FFC400 0%, #FFD52E 100%);
}

#slide24.form-ref-polished-v2 .form-ref-41-yellow {
    right: 2%;
    top: 8%;
    width: 35%;
    height: 23%;
    border-radius: 58% 20% 62% 34% / 46% 58% 42% 54%;
    background: linear-gradient(135deg, #FFC400 0%, #FFD52E 100%);
}

#slide24.form-ref-polished-v2 .form-ref-41-blue {
    left: 0%;
    top: 39%;
    width: 46%;
    height: 15%;
    border-radius: 18% 62% 42% 24% / 48% 56% 44% 52%;
    background: linear-gradient(115deg, #0091FF 0%, #148CDF 100%);
}@media (max-width: 900px) {
    #slide23.form-ref-polished-v2 .form-ref-text,
    #slide24.form-ref-polished-v2 .form-ref-text {
        font-size: 12px !important;
        line-height: 1.42;
    }

    #slide23.form-ref-polished-v2 .form-ref-caption,
    #slide24.form-ref-polished-v2 .form-ref-caption {
        font-size: 10.7px !important;
    }
}

/* ============================================================
   PASSAGEM DE ACABAMENTO — CAIXAS COMO NOS SLIDES 35/36
   Apenas Slides 23 e 24.
   ============================================================ */
#slide23.form-ref-slide .form-ref-page,
#slide24.form-ref-slide .form-ref-page {
    background: rgba(255,255,255,.985) !important;
    border: 2px solid #D8EAF8 !important;
    box-shadow: 0 10px 26px rgba(7,87,201,.10), inset 0 0 0 1px rgba(255,255,255,.9) !important;
    overflow: hidden !important;
}

#slide23.form-ref-slide .form-ref-page:first-child,
#slide24.form-ref-slide .form-ref-page:first-child {
    border-radius: 28px 8px 28px 8px !important;
    border-top: 6px solid #FFC400 !important;
}

#slide23.form-ref-slide .form-ref-page:last-child,
#slide24.form-ref-slide .form-ref-page:last-child {
    border-radius: 8px 28px 8px 28px !important;
    border-top: 6px solid #0091FF !important;
}

/* Cartões de fotografia mais próximos dos cards do slide 35/36:
   moldura limpa, branca, estável e com hierarquia visual. */
#slide23.form-ref-slide .form-ref-photo,
#slide24.form-ref-slide .form-ref-photo {
    background: #fff !important;
    border: 3px solid #0091FF !important;
    border-radius: 16px !important;
    padding: 6px !important;
    box-shadow: 0 6px 14px rgba(7,87,201,.12) !important;
    transform: none !important;
}

#slide23.form-ref-slide .form-ref-39-photo-1,
#slide23.form-ref-slide .form-ref-39-photo-3,
#slide24.form-ref-slide .form-ref-40-photo-1,
#slide24.form-ref-slide .form-ref-41-photo-1,
#slide24.form-ref-slide .form-ref-41-photo-3 {
    border-color: #FFC400 !important;
}

#slide23.form-ref-slide .form-ref-photo::after,
#slide24.form-ref-slide .form-ref-photo::after {
    inset: 5px !important;
    border: 1px solid rgba(7,87,201,.13) !important;
    border-radius: 10px !important;
    pointer-events: none !important;
}

/* Legendas com leitura mais natural, sem competir com as fotos. */
#slide23.form-ref-slide .form-ref-caption,
#slide24.form-ref-slide .form-ref-caption {
    font-family: 'Inter', Arial, sans-serif !important;
    font-size: clamp(10.2px, .78vw, 12px) !important;
    line-height: 1.22 !important;
    font-weight: 800 !important;
    font-style: italic !important;
    text-wrap: balance;
}

/* Texto corrido inspirado diretamente no corpo dos cards dos slides 35/36. */
#slide23.form-ref-slide .form-ref-text,
#slide24.form-ref-slide .form-ref-text {
    font-family: 'Inter', Arial, sans-serif !important;
    font-size: clamp(11.3px, .88vw, 13.2px) !important;
    line-height: 1.44 !important;
    color: #222 !important;
}

#slide23.form-ref-slide .form-ref-text p,
#slide24.form-ref-slide .form-ref-text p {
    margin-bottom: 10px !important;
}@media (max-width: 900px) {
    #slide23.form-ref-slide .form-ref-text,
    #slide24.form-ref-slide .form-ref-text {
        font-size: 11.7px !important;
        line-height: 1.42 !important;
    }

    #slide23.form-ref-slide .form-ref-caption,
    #slide24.form-ref-slide .form-ref-caption {
        font-size: 10.5px !important;
    }
}

@media (max-width: 700px) {
    #slide23.form-ref-slide .form-ref-page:first-child,
    #slide24.form-ref-slide .form-ref-page:first-child,
    #slide23.form-ref-slide .form-ref-page:last-child,
    #slide24.form-ref-slide .form-ref-page:last-child {
        border-top-width: 5px !important;
    }
}

/* ============================================================
   AJUSTE FINAL — DIMENSÃO DAS CAIXAS + FUNDO DOS SLIDES 23/24
   Espelha diretamente a estrutura dimensional dos Slides 35/36.
   ============================================================ */
#slide23.form-ref-slide,
#slide24.form-ref-slide {
    background-image: url('imgs/background.-teste1.png') !important;
    background-size: cover !important;
    background-position: center !important;
    background-repeat: no-repeat !important;
}

#slide23 .form-ref-stage,
#slide24 .form-ref-stage {
    width: 100% !important;
    height: 100% !important;
    padding: 26px 36px 86px !important;
    gap: 18px !important;
    grid-template-columns: 1fr 1fr !important;
    align-items: stretch !important;
}

/* Caixas principais: praticamente a mesma dimensão/respiração
   estrutural dos .soep21-panel usados nos Slides 35/36. */
#slide23 .form-ref-page,
#slide24 .form-ref-page {
    width: auto !important;
    height: 100% !important;
    min-width: 0 !important;
    min-height: 0 !important;
    flex-basis: auto !important;
    border: 2px solid #D8EAF8 !important;
    background: rgba(255,255,255,.97) !important;
    box-shadow: 0 10px 26px rgba(7,87,201,.10) !important;
    overflow: hidden !important;
}

#slide23 .form-ref-page:first-child,
#slide24 .form-ref-page:first-child {
    border-radius: 28px 8px 28px 8px !important;
    border-top: 2px solid #D8EAF8 !important;
}

#slide23 .form-ref-page:last-child,
#slide24 .form-ref-page:last-child {
    border-radius: 8px 28px 8px 28px !important;
    border-top: 2px solid #D8EAF8 !important;
}

/* Barra de identidade no topo, substituindo a leitura pesada de
   formas circulares e conversando diretamente com os cabeçalhos 35/36. */
#slide23 .form-ref-page::before,
#slide24 .form-ref-page::before {
    content: "" !important;
    position: absolute !important;
    left: 0 !important;
    top: 0 !important;
    width: 100% !important;
    height: 8px !important;
    background: linear-gradient(90deg, #FFC400 0 42%, #0091FF 42% 100%) !important;
    z-index: 40 !important;
}

#slide23 .form-ref-page:last-child::before,
#slide24 .form-ref-page:last-child::before {
    background: linear-gradient(90deg, #0091FF 0 58%, #FFC400 58% 100%) !important;
}

/* Mantém todas as fotografias retas e estáveis dentro das áreas
   individuais, sem alterar suas caixas externas. */
#slide23 .form-ref-photo,
#slide24 .form-ref-photo {
    transform: none !important;
    rotate: none !important;
}

@media (max-width: 900px) {
    #slide23 .form-ref-stage,
    #slide24 .form-ref-stage {
        padding: 22px 28px 78px !important;
        gap: 16px !important;
    }
}

/* ============================================================
   AJUSTE FINAL DAS FOTOS — MOLDURA PERTENCE À PRÓPRIA IMAGEM
   ============================================================ */
#slide23.form-ref-slide .form-ref-photo,
#slide24.form-ref-slide .form-ref-photo {
    padding: 0 !important;
    border: 0 !important;
    overflow: visible !important;
    background: transparent !important;
    box-shadow: none !important;
}

#slide23.form-ref-slide .form-ref-photo::after,
#slide24.form-ref-slide .form-ref-photo::after {
    display: none !important;
}

#slide23.form-ref-slide .form-ref-photo img,
#slide24.form-ref-slide .form-ref-photo img {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    box-sizing: border-box !important;
    object-fit: cover !important;
    object-position: center !important;
    border: 5px solid #0091FF !important;
    border-radius: 16px !important;
    background: #fff !important;
    box-shadow: 0 6px 14px rgba(7,87,201,.12) !important;
    transform: none !important;
}

#slide23.form-ref-slide .form-ref-38-photo-1 img,
#slide23.form-ref-slide .form-ref-38-photo-2 img,
#slide23.form-ref-slide .form-ref-39-photo-1 img,
#slide23.form-ref-slide .form-ref-39-photo-2 img,
#slide23.form-ref-slide .form-ref-39-photo-3 img,
#slide24.form-ref-slide .form-ref-40-photo-1 img,
#slide24.form-ref-slide .form-ref-40-photo-2 img,
#slide24.form-ref-slide .form-ref-40-photo-3 img,
#slide24.form-ref-slide .form-ref-41-photo-1 img,
#slide24.form-ref-slide .form-ref-41-photo-2 img,
#slide24.form-ref-slide .form-ref-41-photo-3 img,
#slide24.form-ref-slide .form-ref-41-photo-4 img {
    outline: none !important;
}

#slide23.form-ref-slide .form-ref-38-photo-1 img,
#slide23.form-ref-slide .form-ref-39-photo-1 img,
#slide23.form-ref-slide .form-ref-39-photo-3 img,
#slide24.form-ref-slide .form-ref-40-photo-1 img,
#slide24.form-ref-slide .form-ref-41-photo-1 img,
#slide24.form-ref-slide .form-ref-41-photo-3 img,
#slide24.form-ref-slide .form-ref-41-photo-4 img {
    border-color: #FFC400 !important;
}

/* ============================================================
   SLIDE 25 — ENCERRAMENTO / PÁGINAS 42 E 43
   Segue a linguagem estrutural dos Slides 35/36.
   ============================================================ */
#slide25.final-info-slide {
    background-image: url('imgs/background.-teste1.png');
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    overflow: hidden;
}

#slide25 .final-info-page {
    position: relative;
    width: 100%;
    height: 100%;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 18px;
    padding: 26px 36px 86px;
}

#slide25 .final-info-panel {
    position: relative;
    min-width: 0;
    background: rgba(255,255,255,.97);
    border: 2px solid #D8EAF8;
    box-shadow: 0 10px 26px rgba(7,87,201,.10);
    overflow: hidden;
    display: flex;
    flex-direction: column;
}

#slide25 .final-info-panel-left { border-radius: 28px 8px 28px 8px; }
#slide25 .final-info-panel-right { border-radius: 8px 28px 8px 28px; }

#slide25 .final-info-header {
    min-height: 124px;
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 18px 24px;
    position: relative;
    overflow: hidden;
}

#slide25 .final-info-header-yellow {
    background: #FFC400;
    color: #0757C9;
    border-bottom-right-radius: 58px;
}

#slide25 .final-info-title-wrap {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 16px;
}

#slide25 .final-info-bulb {
    width: 88px;
    height: 88px;
    object-fit: contain;
    flex: 0 0 88px;
    filter: drop-shadow(0 5px 10px rgba(7,87,201,.15));
}

#slide25 .final-info-header h1 {
    margin: 0;
    font-family: 'League Spartan', Arial, sans-serif;
    font-size: 31px;
    line-height: 1;
    font-weight: 900;
    text-align: center;
}

#slide25 .final-info-body {
    flex: 1;
    overflow: hidden;
    position: relative;
}

#slide25 .final-info-body-docs {
    padding: 18px 24px 62px;
}

#slide25 .final-info-body-docs h2 {
    margin: 0 0 14px;
    color: #0757C9;
    font-family: 'League Spartan', Arial, sans-serif;
    font-size: 18px;
    line-height: 1.15;
    font-weight: 900;
}

#slide25 .final-doc-list {
    display: flex;
    flex-direction: column;
    gap: 9px;
}

#slide25 .final-doc-item {
    display: grid;
    grid-template-columns: 66px 1fr;
    align-items: center;
    gap: 13px;
    min-width: 0;
}

#slide25 .final-doc-item img {
    width: 66px;
    height: 66px;
    padding: 4px;
    box-sizing: border-box;
    background: #fff;
    border: 4px solid #9BD9F8;
    border-radius: 13px;
    object-fit: contain;
    display: block;
}

#slide25 .final-doc-item p {
    margin: 0;
    font-family: 'Inter', Arial, sans-serif;
    color: #222;
    font-size: 11.1px;
    line-height: 1.18;
    text-align: center;
}

#slide25 .final-doc-item a {
    color: #111;
    font-weight: 900;
    text-decoration: underline;
}

#slide25 .final-info-body-message {
    padding: 48px 32px 120px;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
}

#slide25 .final-info-body-message p {
    margin: 0 0 22px;
    font-family: 'Inter', Arial, sans-serif;
    color: #222;
    font-size: 14px;
    line-height: 1.58;
    text-align: justify;
}

#slide25 .final-info-body-message p:last-child {
    margin-bottom: 0;
}

#slide25 .final-info-waves {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 26px;
    width: 100%;
    height: 150px;
    pointer-events: none;
}

#slide25 .final-info-waves svg {
    display: block;
    width: 100%;
    height: 100%;
}#slide25 .final-info-controls {
    right: 3%;
    bottom: 2.4%;
    z-index: 20;
}

/* ============================================================
   ENCERRAMENTO ANIMADO — FINALIZAR
   ============================================================ */
#slide25 .final-btn {
    position: relative;
    overflow: hidden;
}

.final-thanks-overlay {
    position: fixed;
    inset: 0;
    z-index: 9999;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(7,87,201,.0);
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: opacity .38s ease, background .38s ease, visibility .38s ease;
}

.final-thanks-overlay.mostrar {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    background: rgba(7,87,201,.88);
}

.final-thanks-card {
    width: min(560px, calc(100vw - 48px));
    padding: 42px 44px 38px;
    box-sizing: border-box;
    border-radius: 30px;
    background: #fff;
    border-top: 9px solid #FFC400;
    box-shadow: 0 24px 70px rgba(0,0,0,.25);
    text-align: center;
    transform: translateY(24px) scale(.88);
    opacity: 0;
    transition: transform .58s cubic-bezier(.2,.85,.2,1), opacity .45s ease;
}

.final-thanks-overlay.mostrar .final-thanks-card {
    transform: translateY(0) scale(1);
    opacity: 1;
}

.final-thanks-icon {
    width: 76px;
    height: 76px;
    margin: 0 auto 18px;
    border-radius: 50%;
    background: #0091FF;
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    font-family: 'League Spartan', Arial, sans-serif;
    font-size: 40px;
    font-weight: 900;
    box-shadow: 8px 8px 0 #FFC400;
}

.final-thanks-kicker {
    margin-bottom: 8px;
    color: #0091FF;
    font-family: 'League Spartan', Arial, sans-serif;
    font-size: 14px;
    font-weight: 900;
    letter-spacing: 1.2px;
}

.final-thanks-card h2 {
    margin: 0 0 12px;
    color: #0757C9;
    font-family: 'League Spartan', Arial, sans-serif;
    font-size: clamp(34px, 4vw, 48px);
    line-height: .98;
    font-weight: 900;
}

.final-thanks-card p {
    margin: 0 auto 18px;
    max-width: 470px;
    color: #333;
    font-family: 'Inter', Arial, sans-serif;
    font-size: 15px;
    line-height: 1.5;
}

.final-thanks-card span {
    color: #0757C9;
    font-family: 'League Spartan', Arial, sans-serif;
    font-size: 22px;
    font-weight: 900;
}

.final-thanks-sparkle {
    position: absolute;
    color: #FFC400;
    font-size: 34px;
    opacity: 0;
    transform: scale(.2) rotate(-25deg);
}

.final-thanks-overlay.mostrar .final-thanks-sparkle {
    animation: sparkle-pop .9s ease forwards;
}

.sparkle-1 { top: 19%; left: 19%; animation-delay: .10s !important; }
.sparkle-2 { top: 28%; right: 17%; animation-delay: .25s !important; }
.sparkle-3 { bottom: 20%; left: 28%; animation-delay: .4s !important; }

@keyframes sparkle-pop {
    0% { opacity: 0; transform: scale(.2) rotate(-25deg); }
    45% { opacity: 1; transform: scale(1.12) rotate(8deg); }
    100% { opacity: .9; transform: scale(1) rotate(0); }
}

@media (max-width: 900px) {
    #slide25 .final-info-page {
        gap: 12px;
        padding: 18px 18px 82px;
    }

    #slide25 .final-info-header h1 { font-size: 26px; }
    #slide25 .final-info-bulb { width: 72px; height: 72px; flex-basis: 72px; }
    #slide25 .final-info-body-docs { padding: 17px 18px 58px; }
    #slide25 .final-doc-item { grid-template-columns: 58px 1fr; gap: 10px; }
    #slide25 .final-doc-item img { width: 58px; height: 58px; }
    #slide25 .final-doc-item p { font-size: 10.2px; }
    #slide25 .final-info-body-message { padding: 34px 24px 105px; }
    #slide25 .final-info-body-message p { font-size: 12.8px; line-height: 1.5; }
}

@media (max-width: 700px) {
    #slide25 .final-info-page {
        grid-template-columns: 1fr;
        overflow-y: auto;
        padding-bottom: 110px;
    }

    #slide25 .final-info-panel { min-height: 620px; }

    .final-thanks-card {
        padding: 34px 24px 30px;
    }

    .final-thanks-icon {
        width: 66px;
        height: 66px;
        font-size: 34px;
    }
}


/* ============================================================
   NUMERAÇÃO GLOBAL — PADRÃO ÚNICO EM TODOS OS SLIDES
   ============================================================ */
.numero-pagina {
    left: 28px !important;
    bottom: 24px !important;
    width: 46px !important;
    height: 46px !important;
    background: #0091FF !important;
    color: #ffffff !important;
    border-radius: 50% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-family: 'League Spartan', Arial, sans-serif !important;
    font-weight: 900 !important;
    font-size: 18px !important;
    line-height: 1 !important;
    z-index: 999 !important;
}

@media (max-width: 650px) {
    .numero-pagina {
        left: 18px !important;
        bottom: 16px !important;
        width: 36px !important;
        height: 36px !important;
        font-size: 14px !important;
    }
}
/* ============================================================
   CORREÇÕES CIRÚRGICAS — NUMERAÇÃO FIXA DOS SLIDES 14 E 15
   ============================================================ */
#slide14 .numero-pagina,
#slide15 .numero-pagina {
    position: fixed !important;
    left: 28px !important;
    bottom: 24px !important;
    z-index: 9999 !important;
}

@media (max-width: 650px) {
    #slide14 .numero-pagina,
    #slide15 .numero-pagina {
        left: 18px !important;
        bottom: 16px !important;
    }
}
