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

:root {
    --gold: #e8b64c;
    --gold-light: #D4B86A;
    --gold-dark: #8B7340;
    --gold-shine: #E8D5A3;
    --bg-primary: #0a2744;
    --bg-secondary: #0d3a60;
    --bg-tertiary: #28324E;
    --bg-card: #232C46;
    --text-primary: #ffffff;
    --text-secondary: #999999;
    --text-muted: #666666;
    --border-color: #232a3d;
    --font-serif: 'Playfair Display', Georgia, serif;
    --font-sans: 'Plus Jakarta Sans', 'Segoe UI', sans-serif;
}

html {
    scroll-behavior: smooth;
    font-size: 16px;
}

body {
    font-family: var(--font-sans);
    background-color: var(--bg-primary);
    color: var(--text-primary);
    line-height: 1.6;
    overflow-x: hidden;
}

a {
    text-decoration: none;
    color: inherit;
    transition: color 0.3s ease;
}

ul {
    list-style: none;
}

img {
    max-width: 100%;
    height: auto;
}

.container {
    max-width: 1280px;
    margin: 0 auto;
    padding: 0 40px;
}

/* ===== PARTICLES CANVAS ===== */
#particles-canvas {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
    z-index: 0;
}

/* ===== HEADER ===== */
.header {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 1000;
    padding: 15px 0;
    transition: all 0.4s ease;
    background: transparent;
}

.header.scrolled {
    background: rgba(26, 33, 54, 0.95);
    backdrop-filter: blur(20px);
    padding: 10px 0;
    border-bottom: 1px solid rgba(232, 182, 76, 0.15);
}

.header-inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.logo {
    display: flex;
    align-items: center;
}

.logo-img {
    height: 38px;
    width: auto;
    display: block;
}

.logo-img-mobile {
    display: none;
}

.nav-list {
    display: flex;
    gap: 30px;
    align-items: center;
}

.nav-link {
    font-size: 11px;
    font-weight: 500;
    letter-spacing: 2px;
    text-transform: uppercase;
    color: var(--text-secondary);
    transition: color 0.3s ease;
    position: relative;
}

.nav-link::after {
    content: '';
    position: absolute;
    bottom: -4px;
    left: 0;
    width: 0;
    height: 1px;
    background: var(--gold);
    transition: width 0.3s ease;
}

.nav-link:hover {
    color: var(--gold);
}

.nav-link:hover::after {
    width: 100%;
}

.btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 12px 28px;
    font-family: var(--font-sans);
    font-size: 12px;
    font-weight: 600;
    letter-spacing: 2px;
    text-transform: uppercase;
    border: none;
    cursor: pointer;
    transition: all 0.3s ease;
}

.btn-gold {
    background: linear-gradient(135deg, var(--gold), var(--gold-dark));
    color: #000;
    border-radius: 2px;
}

.btn-gold:hover {
    background: linear-gradient(135deg, var(--gold-light), var(--gold));
    transform: translateY(-2px);
    box-shadow: 0 8px 25px rgba(232, 182, 76, 0.3);
}

.btn-outline {
    background: transparent;
    color: var(--text-primary);
    border: 1px solid var(--border-color);
    border-radius: 2px;
}

.btn-outline:hover {
    border-color: var(--gold);
    color: var(--gold);
    transform: translateY(-2px);
}

.btn-outline-sm {
    background: transparent;
    color: var(--text-secondary);
    border: 1px solid var(--border-color);
    border-radius: 2px;
    padding: 8px 20px;
    font-size: 11px;
}

.btn-outline-sm:hover {
    border-color: var(--gold);
    color: var(--gold);
}

.btn-large {
    padding: 18px 50px;
    font-size: 14px;
    letter-spacing: 3px;
}

.nav-cta {
    padding: 10px 22px;
}

/* Mobile toggle */
.mobile-toggle {
    display: none;
    flex-direction: column;
    gap: 5px;
    background: none;
    border: none;
    cursor: pointer;
    padding: 5px;
}

.mobile-toggle span {
    width: 25px;
    height: 2px;
    background: var(--text-primary);
    transition: all 0.3s ease;
}

/* ===== HERO SECTION (novo design) ===== */
.hero-40anos-badge {
    position: absolute;
    top: 130px;
    right: 6%;
    width: 130px;
    height: auto;
    z-index: 3;
    filter: drop-shadow(0 10px 25px rgba(0, 0, 0, .4));
}

.hero {
    position: relative;
    min-height: 100vh;
    min-height: 100svh;
    background:
        linear-gradient(rgba(26,33,54,.55), rgba(26,33,54,.80)),
        url('../img/hero-bg.png');
    background-size: cover;
    background-position: center;
    display: flex;
    align-items: center;
    padding: 140px 0 60px;
}

/* O hero usa o MESMO .container do header (1280px centralizado, padding 40px).
   Como .hero é flex, o .container precisa de width:100% pra não "encolher pro
   conteúdo" antes de centralizar (bug clássico de flex-item com max-width) —
   sem isso ele desalinha da logo em telas largas. */
.hero .container {
    width: 100%;
}

.hero-grid {
    display: grid;
    grid-template-columns: 1fr;
    max-width: 720px;
    gap: 40px;
    align-items: center;
}

.tag {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 7px 14px;
    border: 1px solid rgba(232,182,76,.45);
    background: rgba(232,182,76,.08);
    border-radius: 50px;
    margin-bottom: 28px;
    font-family: var(--font-sans);
    font-size: 9.5px;
    font-weight: 700;
    letter-spacing: .16em;
    text-transform: uppercase;
    color: #f3dca6;
}

.tag i {
    width: 6px;
    height: 6px;
    flex-shrink: 0;
    border-radius: 50%;
    background: var(--gold);
    box-shadow: 0 0 0 4px rgba(232,182,76,.2);
}

.hero-h1 {
    margin-bottom: 24px;
    line-height: 0;
}

.hero-logo-img {
    max-width: 560px;
    width: 100%;
    height: auto;
    display: block;
}

.hero-desc {
    font-size: 17px;
    line-height: 1.8;
    max-width: 600px;
    color: rgba(255, 255, 255, .78);
}

.hero-buttons {
    display: inline-grid;
    grid-auto-flow: column;
    grid-auto-columns: 1fr;
    gap: 16px;
    margin-top: 36px;
    max-width: 100%;
}

.hero-buttons .btn-outline {
    color: var(--text-primary);
    border: 1px solid rgba(255, 255, 255, .25);
    backdrop-filter: blur(12px);
}

.hero-buttons .btn-outline:hover {
    background: #fff;
    color: var(--bg-primary);
    border-color: #fff;
}

.hero-right {
    display: flex;
    justify-content: center;
}

.hero-card {
    width: 100%;
    padding: 32px;
    border-radius: 24px;
    background: rgba(255, 255, 255, .06);
    backdrop-filter: blur(20px);
    border: 1px solid rgba(255, 255, 255, .1);
    box-shadow: 0 40px 80px rgba(0, 0, 0, .45);
}

.hero-card h3 {
    font-family: var(--font-serif);
    font-size: 26px;
    color: var(--gold);
    margin-bottom: 14px;
}

.hero-card p {
    font-size: 14px;
    line-height: 1.8;
    color: var(--text-secondary);
}

/* ===== BARRA DE PATROCINADORES (carrossel infinito) ===== */
.sponsors-bar {
    position: relative;
    background: #fff;
    padding: 35px 0;
}

.sponsors-title {
    position: absolute;
    top: 0;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: 10;
    background: var(--bg-primary);
    color: var(--gold);
    font-family: var(--font-sans);
    font-style: normal;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 2px;
    text-transform: uppercase;
    text-align: center;
    white-space: nowrap;
    padding: 12px 32px;
    border-radius: 50px;
    border: 1px solid rgba(232, 182, 76, .4);
    box-shadow: 0 15px 35px rgba(0, 0, 0, .35);
}

.sponsors-clip {
    overflow: hidden;
}

.sponsors-track {
    display: flex;
    width: max-content;
    animation: sponsors-scroll 28s linear infinite;
}

.sponsors-track:hover {
    animation-play-state: paused;
}

.sponsors-set {
    display: flex;
    align-items: center;
    gap: 70px;
    padding-right: 70px;
}

.sponsor-word {
    font-family: var(--font-serif);
    font-size: 22px;
    font-weight: 700;
    letter-spacing: 1px;
    white-space: nowrap;
    color: rgba(7, 10, 15, .55);
    transition: color .3s ease, transform .3s ease;
}

.sponsor-word:hover {
    color: #071625;
    transform: translateY(-2px);
}

/* Duotone azul + branco em repouso, cor original ao passar o mouse. Já passou
   por brightness(0) invert(1) (silhueta 100% branca — achatava emblemas
   sólidos, tipo o do Fonteles, numa forma sem contorno) e por grayscale(1)
   (preservava contraste, mas ficou "morto"/sem vida contra o fundo dourado —
   cinza e dourado não geram contraste de cor, só de claridade). O filtro SVG
   #duotoneNavy (definido logo antes da seção .sponsors-bar) mapeia as áreas
   escuras pra um azul royal (#1E4C8A — mais vivo que o azul-marinho quase
   preto da marca, que ficava indistinguível de cinza nesse tamanho de logo) e
   as claras pra branco. Azul é aproximadamente complementar ao dourado do
   fundo, então gera bem mais contraste/destaque que tom-sobre-tom em cinza. */
.sponsor-word img {
    height: 40px;
    width: auto;
    display: block;
    filter: url(#duotoneNavy);
    transition: filter .3s ease;
}

/* Telas horizontais (desktop/paisagem): logos maiores, 150px de altura */
@media (min-width: 769px) and (orientation: landscape) {
    .sponsor-word img {
        height: 150px;
    }

    /* Barra de patrocinadores = padding(35px*2) + logo(150px) = 220px */
    .hero {
        min-height: calc(100vh - 220px);
    }
}

/* Tablet em modo retrato: logo continua 40px, então a conta da barra é menor */
@media (min-width: 769px) and (orientation: portrait) {
    .hero {
        min-height: calc(100vh - 110px);
    }
}

.sponsor-word:hover img {
    filter: none;
}

/* Escape hatch pra caso raro: mesmo com o duotone preservando contraste,
   alguma logo específica pode ficar ilegível (baixo contraste entre as
   partes, por exemplo). O cadastro em Website → Patrocinadores de Campanha
   tem a opção "manter cores originais", que soma esta classe. Normalmente NÃO
   deve ser usada — deixar todas com o mesmo tratamento por padrão é o que faz
   a barra parecer uniforme; ver histórico no arquivo de migração
   equilibrista_patrocinadores_reset_fonteles.sql. */
.sponsor-word.cor-original img {
    filter: none;
}

@keyframes sponsors-scroll {
    from { transform: translateX(0); }
    to { transform: translateX(-50%); }
}

/* ===== O PRÊMIO (texto breve + linha do tempo vertical) ===== */
.o-premio-section {
    background: var(--bg-primary);
}

.o-premio-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 70px;
    align-items: start;
}

.section-label-sm {
    font-family: var(--font-sans);
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 3px;
    text-transform: uppercase;
    color: var(--gold);
    margin-bottom: 14px;
}

.o-premio-heading {
    font-family: var(--font-serif);
    font-size: 34px;
    font-weight: 700;
    line-height: 1.2;
    color: var(--text-primary);
    margin-bottom: 20px;
}

.o-premio-paragrafo {
    font-size: 15px;
    line-height: 1.9;
    color: var(--text-secondary);
    margin-bottom: 32px;
}

.o-premio-card {
    padding: 28px;
    border-radius: 20px;
    background: rgba(255, 255, 255, .04);
    border: 1px solid rgba(232, 182, 76, .2);
}

.o-premio-card h3 {
    font-family: var(--font-serif);
    font-size: 22px;
    color: var(--gold);
    margin-bottom: 12px;
}

.o-premio-card p {
    font-size: 13.5px;
    line-height: 1.8;
    color: var(--text-secondary);
}

.o-premio-timeline {
    position: relative;
    padding-left: 34px;
}

.tl-v-line {
    position: absolute;
    top: 6px;
    bottom: 6px;
    left: 5px;
    width: 1px;
    background: linear-gradient(180deg, var(--gold), rgba(232, 182, 76, .15));
}

.tl-v-item {
    position: relative;
    padding-bottom: 38px;
}

.tl-v-item:last-child {
    padding-bottom: 0;
}

.tl-v-dot {
    position: absolute;
    left: -34px;
    top: 4px;
    width: 11px;
    height: 11px;
    background: var(--gold);
    border-radius: 50%;
    box-shadow: 0 0 0 4px rgba(232, 182, 76, .15);
}

.tl-v-year {
    font-family: var(--font-serif);
    font-size: 20px;
    font-weight: 700;
    color: var(--gold);
    margin-bottom: 6px;
}

.tl-v-content h4 {
    font-size: 14px;
    font-weight: 600;
    color: var(--text-primary);
    margin-bottom: 6px;
    letter-spacing: .5px;
}

.tl-v-content p {
    font-size: 13px;
    line-height: 1.7;
    color: var(--text-secondary);
}

/* ===== SECTIONS COMMON ===== */
section {
    position: relative;
    z-index: 1;
    padding: 100px 0;
}

.section-header {
    text-align: center;
    margin-bottom: 60px;
}

.section-header.flex-between {
    text-align: left;
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.section-label {
    font-family: var(--font-serif);
    font-size: 24px;
    font-style: italic;
    color: var(--gold);
    margin-bottom: 20px;
    letter-spacing: 1px;
}

.section-icon {
    width: 60px;
    height: 60px;
    margin: 0 auto 20px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--gold);
    font-size: 28px;
}

.section-description {
    font-size: 15px;
    color: var(--text-secondary);
    max-width: 700px;
    margin: 0 auto;
    line-height: 1.8;
}

.section-title {
    font-family: var(--font-serif);
    font-size: 32px;
    font-weight: 600;
    color: var(--text-primary);
    letter-spacing: 1px;
}

/* ===== SIGNIFICADO (seção clara, contraste proposital com o resto do site escuro) ===== */
/* ===== FINALISTAS (votação — seção clara) ===== */
.finalistas-section {
    background: #F5EFE1;
    padding: 90px 0;
}

.finalistas-section .container {
    max-width: 1580px;
}

.fin-flash {
    max-width: 640px;
    margin: 0 auto 30px;
    padding: 14px 20px;
    border-radius: 8px;
    font-size: 14px;
    text-align: center;
}

.fin-flash-success {
    background: rgba(120, 160, 90, .15);
    color: #4a6b2f;
    border: 1px solid rgba(120, 160, 90, .35);
}

.fin-flash-danger, .fin-flash-info {
    background: rgba(180, 100, 90, .12);
    color: #93412f;
    border: 1px solid rgba(180, 100, 90, .3);
}

.fin-grid {
    display: grid;
    grid-template-columns: 340px 1fr;
    gap: 50px;
    align-items: center;
}

/* Aviso "votação em breve" — mesma linguagem visual da "arte de divulgação"
   já usada no card de boas-vindas do dashboard do associado
   (associados/public/painel/dashboard.php, classes .ah-destaque-bv/.ah-bv-*):
   card azul-marinho com gradiente, headline grande em duas cores (branco +
   dourado na 2ª linha), linha dourada fina embaixo do título, e a mesma caixa
   de aviso com ícone (fundo dourado translúcido, borda dourada) — inclusive
   reaproveitando o mesmo ícone e texto ("Em breve, a votação do Prêmio
   Equilibrista...") já usados ali. Cores hardcoded (não usam as variáveis
   --gold/--bg-primary daqui do Equilibrista) de propósito, pra bater com o
   visual exato do dashboard, não com a paleta do Equilibrista. */
.eq-aviso-votacao {
    max-width: 640px;
    margin: 0 auto;
    background: linear-gradient(135deg, #0a2744, #0d3a60);
    color: #fff;
    border-radius: 14px;
    padding: 40px 36px;
    text-align: center;
    position: relative;
    overflow: hidden;
}

.eq-aviso-votacao:after {
    content: "";
    position: absolute;
    width: 300px;
    height: 300px;
    border: 42px solid rgba(255, 255, 255, .04);
    border-radius: 50%;
    right: -130px;
    top: -170px;
}

.eq-aviso-votacao > * {
    position: relative;
    z-index: 1;
}

.eq-aviso-eyebrow {
    font-size: 11px;
    color: #e8b64c;
    font-weight: 800;
    letter-spacing: 1.5px;
    text-transform: uppercase;
    margin-bottom: 12px;
}

.eq-aviso-titulo {
    font-family: var(--font-serif, "Playfair Display", serif);
    font-size: 30px;
    font-weight: 800;
    line-height: 1.1;
    color: #fff;
    margin: 0 0 14px;
    letter-spacing: -.01em;
}

.eq-aviso-titulo em {
    font-style: normal;
    color: #e8b64c;
    display: block;
}

.eq-aviso-turno {
    color: #fff;
    font-size: 15px;
    font-weight: 700;
    letter-spacing: .02em;
    margin: -6px 0 14px;
}

.eq-aviso-linha {
    width: 54px;
    height: 3px;
    background: #e8b64c;
    margin: 0 auto 16px;
}

/* Contagem regressiva — mesmo padrão do card "Destaque" do dashboard do
   associado (.ah-destaque-timer/.ah-cd-box), com as cores do Equilibrista. */
.eq-aviso-timer {
    display: flex;
    justify-content: center;
    gap: 10px;
    flex-wrap: wrap;
    margin: 22px auto 0;
}

.eq-cd-box {
    background: rgba(255, 255, 255, .07);
    border: 1px solid rgba(232, 182, 76, .35);
    border-radius: 11px;
    padding: 11px 6px;
    min-width: 66px;
}

.eq-cd-box strong {
    display: block;
    font-size: 26px;
    font-weight: 800;
    line-height: 1;
    color: #e8b64c;
    font-family: var(--font-serif, "Playfair Display", serif);
    font-variant-numeric: tabular-nums;
}

.eq-cd-box span {
    display: block;
    font-size: 10px;
    color: rgba(255, 255, 255, .6);
    margin-top: 5px;
    text-transform: uppercase;
    letter-spacing: .06em;
}

.eq-aviso-votacao > p {
    font-size: 14px;
    line-height: 1.6;
    color: rgba(255, 255, 255, .72);
    margin: 0;
    max-width: 460px;
    margin-left: auto;
    margin-right: auto;
}

.eq-aviso-chamada {
    display: flex;
    align-items: center;
    gap: 14px;
    margin: 26px auto 0;
    max-width: 460px;
    text-align: left;
    background: rgba(232, 182, 76, .13);
    border: 1px solid rgba(232, 182, 76, .42);
    border-radius: 10px;
    padding: 15px 17px;
}

.eq-aviso-chamada-ic {
    width: 38px;
    height: 38px;
    flex-shrink: 0;
    border-radius: 9px;
    background: #e8b64c;
    color: #0a2744;
    display: flex;
    align-items: center;
    justify-content: center;
}

.eq-aviso-chamada-ic svg {
    width: 20px;
    height: 20px;
}

.eq-aviso-chamada b {
    display: block;
    font-size: 13.5px;
    font-weight: 800;
    color: #fff;
    line-height: 1.3;
}

.eq-aviso-chamada span {
    display: block;
    font-size: 12px;
    color: rgba(255, 255, 255, .68);
    margin-top: 3px;
    line-height: 1.45;
}

.fin-label {
    font-family: var(--font-sans);
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 2px;
    text-transform: uppercase;
    color: var(--gold-dark);
    margin-bottom: 14px;
}

.fin-heading {
    font-family: var(--font-serif);
    font-size: 34px;
    font-weight: 700;
    line-height: 1.2;
    color: #1c2a3a;
    margin-bottom: 18px;
}

.fin-heading span {
    color: var(--gold-dark);
}

.fin-desc {
    font-size: 14.5px;
    line-height: 1.8;
    color: #6b6558;
    margin-bottom: 28px;
}

.fin-cta {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    background: var(--gold);
    color: #1c2a3a;
    font-family: var(--font-sans);
    font-size: 13px;
    font-weight: 700;
    letter-spacing: .5px;
    padding: 15px 26px;
    border-radius: 6px;
    transition: all .3s ease;
}

.fin-cta:hover {
    background: var(--gold-dark);
    transform: translateY(-2px);
}

.fin-restrito, .fin-obrigado {
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: 13.5px;
    font-weight: 600;
    color: #8a7d5c;
}

.fin-obrigado {
    color: #4a6b2f;
}

/* Apuração fechada aguardando liberação da diretoria: ocupa o lugar da grade de
   candidatos, centralizado nos dois eixos.

   Quando o aviso é o ÚNICO conteúdo (visitante não logado), a própria coluna
   vira flex e centraliza — a altura dela é definida pela sidebar ao lado, que é
   bem mais alta, então sem isto o texto ficaria colado no topo. */
.vp-content-aguardando {
    display: flex;
    align-items: center;
    justify-content: center;
}
/* O #vpStatusArea fica vazio nesse estado, mas continua no DOM (o JS o
   referencia). Como filho flex, ele empurraria o aviso para o lado. */
.vp-content-aguardando #vpStatusArea { display: none; }
.vp-aguardando {
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    min-height: 340px;
    padding: 40px 24px;
    width: 100%;
}
.vp-aguardando i {
    font-size: 40px;
    color: #c5a55a;
    margin-bottom: 18px;
    display: block;
}
.vp-aguardando h3 {
    font-size: clamp(26px, 4vw, 40px);
    color: #3d3a2f;
    margin: 0 0 12px;
    line-height: 1.15;
}
.vp-aguardando p {
    font-size: 15px;
    color: #8a7d5c;
    line-height: 1.7;
    margin: 0;
}

/* Votação encerrada: aviso + o que a pessoa votou. Segue a paleta creme/dourada
   da página, pra não parecer um bloco de erro do sistema. */
.fin-encerrada {
    background: #FBF8F0;
    border: 1px solid rgba(232, 182, 76, .35);
    border-radius: 12px;
    padding: 18px 20px;
    margin-bottom: 18px;
}
.fin-encerrada-msg { display: flex; align-items: flex-start; gap: 12px; }
.fin-encerrada-msg i { color: #b8912f; font-size: 18px; margin-top: 2px; }
.fin-encerrada-msg strong { display: block; color: #3d3a2f; font-size: 14.5px; }
.fin-encerrada-msg span { display: block; color: #8a7d5c; font-size: 13px; margin-top: 3px; }

.fin-meus-votos {
    margin-top: 16px;
    padding-top: 14px;
    border-top: 1px solid rgba(232, 182, 76, .28);
}
.fin-meus-votos h4 {
    margin: 0 0 10px;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .06em;
    text-transform: uppercase;
    color: #b8912f;
}
.fin-meus-votos ul { list-style: none; margin: 0; padding: 0; }
.fin-meus-votos li {
    display: flex;
    justify-content: space-between;
    gap: 14px;
    padding: 7px 0;
    border-bottom: 1px dashed rgba(232, 182, 76, .25);
    font-size: 13.5px;
}
.fin-meus-votos li:last-child { border-bottom: 0; }
.fin-mv-cat { color: #8a7d5c; }
.fin-mv-esc { color: #3d3a2f; font-weight: 700; text-align: right; }
@media (max-width: 560px) {
    .fin-meus-votos li { flex-direction: column; gap: 2px; }
    .fin-mv-esc { text-align: left; }
}

.fin-panel {
    background: #FBF8F0;
    border: 1px solid rgba(232, 182, 76, .3);
    border-radius: 14px;
    padding: 32px;
    box-shadow: 0 25px 60px rgba(28, 42, 58, .08);
}

.fin-panel-header {
    text-align: center;
    font-family: var(--font-sans);
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 2px;
    text-transform: uppercase;
    color: var(--gold-dark);
    display: flex;
    align-items: center;
    gap: 16px;
    margin-bottom: 26px;
}

.fin-panel-header span {
    flex: 1;
    height: 1px;
    background: rgba(232, 182, 76, .35);
}

.fin-cards {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 14px;
}

.fin-card {
    position: relative;
    background: #fff;
    border: 1px solid rgba(28, 42, 58, .08);
    border-radius: 10px;
    padding: 18px 16px 20px;
    transition: all .3s ease;
}

.fin-card:hover {
    box-shadow: 0 15px 35px rgba(28, 42, 58, .1);
    transform: translateY(-4px);
}

.fin-num {
    position: absolute;
    top: 14px;
    left: 14px;
    z-index: 2;
    background: var(--gold-dark);
    color: #fff;
    font-family: var(--font-serif);
    font-size: 12px;
    font-weight: 700;
    padding: 3px 9px;
    border-radius: 4px;
}

.fin-photo {
    width: 100%;
    aspect-ratio: 1;
    border-radius: 8px;
    overflow: hidden;
    margin-bottom: 14px;
}

.fin-photo img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.fin-photo-fallback {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-family: var(--font-serif);
    font-size: 34px;
    font-weight: 700;
    color: #fff;
    background: linear-gradient(135deg, #1c2a3a, #2c3e54);
}

.fin-card h3 {
    font-family: var(--font-serif);
    font-size: 17px;
    font-weight: 700;
    color: #1c2a3a;
    margin-bottom: 3px;
}

.fin-subtitulo {
    font-size: 12px;
    font-weight: 400;
    color: #a89f8c;
    margin-bottom: 4px;
}

.fin-empresa {
    font-size: 12.5px;
    line-height: 1.6;
    color: #837c6d;
    margin-bottom: 16px;
    min-height: 38px;
}

.fin-votar-form {
    margin: 0;
}

.fin-votar-btn {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    background: transparent;
    border: 1.5px solid var(--gold-dark);
    color: var(--gold-dark);
    font-family: var(--font-sans);
    font-size: 12.5px;
    font-weight: 700;
    letter-spacing: .5px;
    padding: 10px;
    border-radius: 6px;
    cursor: pointer;
    transition: all .3s ease;
}

.fin-votar-btn:hover {
    background: var(--gold-dark);
    color: #fff;
}

.fin-votar-btn-disabled {
    border-color: rgba(28, 42, 58, .15);
    color: rgba(28, 42, 58, .35);
    cursor: default;
}

.fin-votar-btn-disabled:hover {
    background: transparent;
    color: rgba(28, 42, 58, .35);
}

.fin-resultado {
    text-align: left;
}

.fin-resultado-bar {
    background: rgba(28, 42, 58, .08);
    border-radius: 99px;
    height: 8px;
    overflow: hidden;
    margin-bottom: 6px;
}

.fin-resultado-bar div {
    background: var(--gold-dark);
    height: 100%;
}

.fin-resultado-pct {
    font-size: 12px;
    font-weight: 700;
    color: #1c2a3a;
}

.significado {
    background: #F5F0E6;
    border-top: none;
    border-bottom: none;
    padding: 100px 0;
}

.significado .sig-heading {
    font-family: var(--font-serif);
    font-size: 34px;
    font-weight: 700;
    letter-spacing: 1px;
    color: #16213E;
    margin-bottom: 18px;
}

.significado .sig-divider {
    width: 56px;
    height: 2px;
    background: var(--gold-dark);
    margin: 0 auto 26px;
}

.significado .section-description {
    color: #6b6b64;
}

.significado-cards {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 0;
    margin-top: 56px;
}

.significado .sig-card {
    text-align: center;
    padding: 0 36px;
    border: none;
    border-radius: 0;
    background: transparent;
    position: relative;
    transition: none;
}

.significado .sig-card:hover {
    transform: none;
    box-shadow: none;
}

.significado .sig-card:not(:last-child)::after {
    content: '';
    position: absolute;
    top: 4px;
    bottom: 4px;
    right: 0;
    width: 1px;
    background: rgba(139, 115, 64, 0.3);
}

.significado .sig-icon {
    width: auto;
    height: auto;
    border: none;
    border-radius: 0;
    font-size: 32px;
    color: var(--gold-dark);
    margin-bottom: 18px;
}

.significado .sig-title {
    font-family: var(--font-sans);
    font-size: 14px;
    font-weight: 700;
    letter-spacing: 1.5px;
    text-transform: uppercase;
    color: #16213E;
    margin-bottom: 12px;
}

.significado .sig-text {
    font-size: 13.5px;
    color: #83837a;
    line-height: 1.8;
    max-width: 250px;
    margin: 0 auto;
}

/* ===== TIMELINE ===== */
.timeline-section {
    background: var(--bg-primary);
}

.timeline {
    position: relative;
    padding: 40px 0;
}

.timeline-line {
    position: absolute;
    top: 95px;
    left: 5%;
    right: 5%;
    height: 1px;
    background: linear-gradient(90deg, transparent, var(--gold), var(--gold), transparent);
    opacity: 0.4;
}

.timeline-items {
    display: flex;
    justify-content: space-between;
    position: relative;
}

.timeline-item {
    text-align: center;
    flex: 1;
    position: relative;
}

.timeline-dot {
    width: 14px;
    height: 14px;
    background: var(--gold);
    border-radius: 50%;
    margin: 0 auto 25px;
    position: relative;
    z-index: 2;
    box-shadow: 0 0 15px rgba(232, 182, 76, 0.4);
}

.timeline-dot::after {
    content: '';
    position: absolute;
    top: -4px;
    left: -4px;
    width: 22px;
    height: 22px;
    border: 1px solid rgba(232, 182, 76, 0.3);
    border-radius: 50%;
}

.timeline-year {
    font-family: var(--font-serif);
    font-size: 28px;
    font-weight: 700;
    color: var(--gold);
    margin-bottom: 10px;
}

.timeline-content h4 {
    font-size: 14px;
    font-weight: 600;
    color: var(--text-primary);
    margin-bottom: 8px;
    letter-spacing: 1px;
}

.timeline-content p {
    font-size: 13px;
    color: var(--text-secondary);
    line-height: 1.6;
    max-width: 150px;
    margin: 0 auto;
}

/* ===== HOMENAGEADOS ===== */
/* ===== LINHA DO TEMPO (visão geral, acima do carrossel de homenageados) ===== */
.hon-tl2 {
    background: var(--bg-primary);
    padding: 90px 0 70px;
    overflow: hidden;
}

.hon-tl2-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 30px;
    flex-wrap: wrap;
    margin-bottom: 60px;
}

.hon-tl2-header > div {
    flex: 1;
    min-width: 280px;
    text-align: center;
}

.hon-tl2-label {
    font-family: var(--font-sans);
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 3px;
    text-transform: uppercase;
    color: var(--gold);
    margin-bottom: 10px;
}

.hon-tl2-heading {
    font-family: var(--font-serif);
    font-size: 40px;
    font-weight: 700;
    color: var(--text-primary);
}

.hon-tl2-heading span {
    color: var(--gold);
}

.hon-tl2-divider {
    width: 60px;
    height: 3px;
    background: var(--gold);
    margin: 18px auto;
}

.hon-tl2-subtitle {
    font-size: 14px;
    line-height: 1.8;
    color: var(--text-secondary);
    max-width: 520px;
    margin: 0 auto;
}

.hon-tl2-cta {
    flex-shrink: 0;
    display: inline-flex;
    align-items: center;
    gap: 10px;
    border: 1px solid var(--gold);
    color: var(--gold);
    font-family: var(--font-sans);
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .5px;
    padding: 14px 24px;
    border-radius: 50px;
    white-space: nowrap;
    transition: all .3s ease;
}

.hon-tl2-cta:hover {
    background: var(--gold);
    color: var(--bg-primary);
}

.hon-tl2-track {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 40px 26px;
}

.hon-tl2-item {
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 150px;
}

.hon-tl2-year {
    font-family: var(--font-serif);
    font-size: 18px;
    font-weight: 700;
    color: var(--gold);
    margin-bottom: 12px;
}

.hon-tl2-node {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 14px;
}

.hon-tl2-num {
    flex-shrink: 0;
    width: 30px;
    height: 30px;
    border-radius: 50%;
    border: 1px solid var(--gold);
    color: var(--gold);
    font-family: var(--font-sans);
    font-size: 11px;
    font-weight: 700;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--bg-primary);
}

.hon-tl2-photo {
    width: 84px;
    height: 84px;
    border-radius: 50%;
    border: 2px solid var(--gold);
    overflow: hidden;
    flex-shrink: 0;
}

.hon-tl2-photo img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.hon-tl2-photo .hon-photo-fallback {
    font-size: 26px;
}

.hon-tl2-info {
    text-align: center;
}

.hon-tl2-info strong {
    display: block;
    font-family: var(--font-serif);
    font-size: 14px;
    color: var(--text-primary);
    margin-bottom: 3px;
}

.hon-tl2-info span {
    display: block;
    font-size: 11.5px;
    color: var(--text-secondary);
}

.homenageados {
    background: var(--bg-secondary);
    border-top: 1px solid var(--border-color);
}

.hon-title {
    font-family: var(--font-serif);
    font-size: 40px;
    font-weight: 700;
    color: var(--text-primary);
    text-align: center;
}

.hon-title span {
    color: var(--gold);
}

.hon-title-divider {
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: var(--gold);
    margin: 20px auto;
}

.hon-subtitle {
    text-align: center;
    max-width: 560px;
    margin: 0 auto 50px;
    color: var(--text-secondary);
    font-size: 15px;
    line-height: 1.8;
}

/* ── Filtro por ano ────────────────────────────── */
.hon-filter {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 24px;
    margin-bottom: 40px;
}

.hon-filter-pills {
    display: flex;
    gap: 10px;
    flex-shrink: 0;
}

.hon-pill, .hon-pill-all {
    font-family: var(--font-sans);
    font-size: 13px;
    font-weight: 700;
    letter-spacing: .5px;
    padding: 10px 22px;
    border-radius: 50px;
    border: 1px solid var(--border-color);
    background: transparent;
    color: var(--text-secondary);
    cursor: pointer;
    transition: all .3s ease;
}

.hon-pill.active {
    background: var(--gold);
    border-color: var(--gold);
    color: var(--bg-primary);
}

.hon-pill-all i {
    font-size: 10px;
    margin-left: 6px;
}

.hon-timeline {
    position: relative;
    display: flex;
    align-items: flex-start;
    gap: 18px;
    flex-wrap: wrap;
    flex: 1;
    justify-content: flex-end;
    min-width: 280px;
}

.hon-timeline-line {
    display: none;
    position: absolute;
    top: 6px;
    left: 0;
    right: 0;
    height: 1px;
    background: var(--border-color);
    z-index: 0;
}

.hon-tl-dot {
    position: relative;
    z-index: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 10px;
    cursor: pointer;
    background: none;
    border: none;
}

.hon-tl-dot i {
    display: block;
    width: 13px;
    height: 13px;
    border-radius: 50%;
    background: var(--bg-secondary);
    border: 2px solid var(--border-color);
    transition: all .3s ease;
}

.hon-tl-dot b {
    font-family: var(--font-serif);
    font-weight: 700;
    font-size: 13px;
    color: var(--text-secondary);
    transition: all .3s ease;
}

.hon-tl-dot.active i {
    background: var(--gold);
    border-color: var(--gold);
    box-shadow: 0 0 0 4px rgba(232, 182, 76, .18);
}

.hon-tl-dot.active b {
    color: var(--gold);
    font-size: 16px;
}

/* ── Showcase: destaque + lista ──────────────────── */
.hon-showcase {
    display: flex;
    align-items: stretch;
    gap: 22px;
}

.hon-nav {
    width: 46px;
    height: 46px;
    border-radius: 50%;
    border: 1px solid var(--border-color);
    background: transparent;
    color: var(--text-secondary);
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    flex-shrink: 0;
    align-self: center;
    transition: all .3s ease;
}

.hon-nav:hover {
    border-color: var(--gold);
    color: var(--gold);
}

.hon-card-photo-wrap {
    position: relative;
    height: 300px;
    overflow: hidden;
}

.hon-card-photo-wrap img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.hon-badge {
    position: absolute;
    top: 14px;
    left: 14px;
    z-index: 2;
    background: var(--gold);
    color: var(--bg-primary);
    font-family: var(--font-serif);
    font-weight: 700;
    font-size: 13px;
    padding: 5px 14px;
    border-radius: 4px;
}

.hon-role {
    font-size: 13px;
    color: var(--text-primary);
    font-weight: 600;
}

.hon-company {
    font-size: 13px;
    color: var(--text-secondary);
}

.hon-mini-divider {
    width: 30px;
    height: 2px;
    background: var(--gold);
    max-height: 2px;
    overflow: hidden;
    opacity: 0;
    margin-top: 0;
    transition: opacity .3s ease, margin-top .35s ease;
}

.hon-desc {
    font-size: 13px;
    line-height: 1.8;
    color: var(--text-secondary);
    max-height: 0;
    opacity: 0;
    overflow: hidden;
    transition: max-height .4s ease, opacity .3s ease, margin-top .4s ease;
}

.hon-card:hover .hon-mini-divider {
    opacity: 1;
    margin-top: 14px;
}

.hon-card:hover .hon-desc {
    max-height: 160px;
    opacity: 1;
    margin-top: 10px;
}

.hon-link, .hon-link-sm {
    font-family: var(--font-sans);
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .5px;
    color: var(--gold);
    display: inline-flex;
    align-items: center;
    gap: 8px;
    transition: gap .3s ease;
    margin-top: 14px;
}

.hon-link:hover, .hon-link-sm:hover {
    gap: 12px;
}

.hon-link i, .hon-link-sm i {
    font-size: 11px;
}

/* ===== MOSAICO (página "todos os homenageados") ===== */
.hon-mosaic {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
}

.hon-mosaic-span2 {
    grid-column: span 2;
}

.hon-mosaic-photo {
    position: relative;
    overflow: hidden;
    min-height: 230px;
}

.hon-mosaic-photo.hon-mosaic-span2 {
    min-height: 340px;
}

.hon-mosaic-photo img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    filter: grayscale(1) contrast(1.05);
    transition: filter .6s ease, transform .6s ease;
}

.hon-mosaic-photo:hover img {
    filter: grayscale(0) contrast(1);
    transform: scale(1.05);
}

.hon-mosaic-photo .hon-photo-fallback {
    position: absolute;
    inset: 0;
    filter: grayscale(1);
    transition: filter .6s ease;
}

.hon-mosaic-photo:hover .hon-photo-fallback {
    filter: grayscale(0);
}

.hon-mosaic-text {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    padding: 30px 26px;
    min-height: 230px;
    background: var(--bg-card);
    cursor: pointer;
    transition: background .3s ease;
}

.hon-mosaic-text.hon-mosaic-alt {
    background: var(--bg-tertiary);
}

.hon-mosaic-text.hon-mosaic-span2 {
    min-height: 340px;
    padding: 40px;
}

.hon-mosaic-text:hover {
    background: var(--bg-primary);
}

.hon-mosaic-year {
    font-family: var(--font-sans);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 2px;
    color: var(--gold);
    margin-bottom: 8px;
}

.hon-mosaic-text h3 {
    font-family: var(--font-serif);
    font-size: 19px;
    color: var(--text-primary);
    margin-bottom: 6px;
}

.hon-mosaic-span2 h3 {
    font-size: 26px;
}

.hon-mosaic-empresa {
    font-size: 12px;
    color: var(--gold-shine);
    margin-bottom: 10px;
}

.hon-mosaic-bio {
    font-size: 12.5px;
    line-height: 1.7;
    color: var(--text-secondary);
    max-width: 280px;
}

.hon-mosaic-divider {
    width: 26px;
    height: 1px;
    background: var(--border-color);
    margin: 16px 0 12px;
}

.hon-mosaic-link {
    color: var(--gold);
    font-size: 13px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 30px;
    height: 30px;
    border-radius: 50%;
    border: 1px solid var(--border-color);
    transition: all .3s ease;
}

.hon-mosaic-text:hover .hon-mosaic-link {
    border-color: var(--gold);
    background: var(--gold);
    color: var(--bg-primary);
}

.hon-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
    gap: 24px;
}

.hon-grid .hon-card {
    width: 100%;
    min-width: 0;
}

.hon-list-viewport {
    overflow: hidden;
    flex: 1;
}

.hon-list {
    display: flex;
    align-items: flex-start;
    gap: 20px;
    transition: transform .5s ease;
}

.hon-card {
    width: 240px;
    min-width: 240px;
    flex-shrink: 0;
    background: var(--bg-card);
    border: 1px solid var(--border-color);
    border-radius: 10px;
    overflow: hidden;
    transition: border-color .4s ease, box-shadow .4s ease, transform .4s ease;
}

.hon-card:hover {
    border-color: rgba(232, 182, 76, .5);
    box-shadow: 0 25px 60px rgba(232, 182, 76, .15);
    transform: translateY(-6px);
}

.hon-card-info {
    padding: 18px 18px 20px;
}

.hon-card-info h4 {
    font-family: var(--font-serif);
    font-size: 17px;
    color: var(--text-primary);
    margin-bottom: 3px;
}

.hon-card-info .hon-role {
    font-size: 12px;
}

.hon-card-info .hon-company {
    font-size: 12px;
}

/* ── Barra de estatísticas ────────────────────────── */
.hon-statsbar {
    margin-top: 50px;
    background: var(--bg-card);
    border: 1px solid var(--border-color);
    border-radius: 12px;
    padding: 26px 34px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 30px;
}

.hon-statsbar-text {
    display: flex;
    align-items: center;
    gap: 18px;
    max-width: 420px;
}

.hon-statsbar-icon {
    width: 50px;
    height: 50px;
    flex-shrink: 0;
    border-radius: 50%;
    background: rgba(232, 182, 76, .12);
    color: var(--gold);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 20px;
}

.hon-statsbar-text strong {
    display: block;
    font-family: var(--font-serif);
    font-size: 16px;
    color: var(--text-primary);
    margin-bottom: 4px;
}

.hon-statsbar-text p {
    font-size: 12.5px;
    color: var(--text-secondary);
    line-height: 1.6;
}

.hon-statsbar-nums {
    display: flex;
    gap: 40px;
}

.hon-stat {
    text-align: center;
}

.hon-stat span {
    display: block;
    font-family: var(--font-serif);
    font-size: 30px;
    font-weight: 700;
    color: var(--gold);
}

.hon-stat small {
    font-size: 10.5px;
    letter-spacing: 1px;
    text-transform: uppercase;
    color: var(--text-secondary);
}

/* ===== Avatar sem foto (fallback) ===== */
.hon-photo-fallback {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-family: var(--font-serif);
    font-size: 38px;
    font-weight: 700;
    color: var(--gold-shine);
    background:
        radial-gradient(circle at 30% 20%, rgba(232,182,76,.18), transparent 60%),
        linear-gradient(135deg, #10141f, #1c2333);
}

/* ===== Modal de perfil completo do Equilibrista ===== */
.hon-modal-overlay {
    display: none;
    position: fixed;
    inset: 0;
    background: rgba(4, 6, 12, .8);
    z-index: 2000;
    align-items: center;
    justify-content: center;
    padding: 24px;
}

.hon-modal-overlay.active {
    display: flex;
}

.hon-modal {
    position: relative;
    background: var(--bg-card);
    border: 1px solid rgba(232, 182, 76, .25);
    border-radius: 16px;
    max-width: 640px;
    width: 100%;
    max-height: 85vh;
    overflow-y: auto;
    padding: 36px;
    box-shadow: 0 40px 100px rgba(0, 0, 0, .5);
}

.hon-modal-close {
    position: absolute;
    top: 16px;
    right: 16px;
    width: 36px;
    height: 36px;
    border-radius: 50%;
    background: rgba(255, 255, 255, .06);
    border: 1px solid var(--border-color);
    color: var(--text-secondary);
    font-size: 22px;
    line-height: 1;
    cursor: pointer;
    transition: all .3s ease;
}

.hon-modal-close:hover {
    color: var(--gold);
    border-color: var(--gold);
}

.hon-modal-header {
    display: flex;
    gap: 20px;
    align-items: center;
    margin-bottom: 24px;
    padding-bottom: 24px;
    border-bottom: 1px solid var(--border-color);
}

.hon-modal-foto {
    width: 100px;
    height: 100px;
    border-radius: 12px;
    object-fit: cover;
    flex-shrink: 0;
}

.hon-modal-header h2 {
    font-family: var(--font-serif);
    font-size: 24px;
    color: var(--text-primary);
    margin-bottom: 2px;
}

.hon-modal-nomecompleto {
    font-size: 12px;
    color: var(--text-secondary);
    font-style: italic;
    margin-bottom: 6px;
}

.hon-modal-cargo {
    font-size: 14px;
    color: var(--gold);
    font-weight: 600;
}

.hon-modal-segmento {
    font-size: 12px;
    color: var(--text-secondary);
    margin-top: 2px;
}

.hon-modal-body h4 {
    font-family: var(--font-sans);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 1.5px;
    text-transform: uppercase;
    color: var(--gold);
    margin: 20px 0 8px;
}

.hon-modal-body h4:first-child {
    margin-top: 0;
}

.hon-modal-body p, .hon-modal-bio {
    font-size: 14px;
    line-height: 1.8;
    color: var(--text-secondary);
}

.hon-modal-lista {
    list-style: none;
    padding: 0;
}

.hon-modal-lista li {
    font-size: 14px;
    line-height: 1.7;
    color: var(--text-secondary);
    padding-left: 18px;
    position: relative;
}

.hon-modal-lista li::before {
    content: '—';
    position: absolute;
    left: 0;
    color: var(--gold);
}

.hon-modal-frase {
    font-family: var(--font-serif);
    font-style: italic;
    font-size: 16px;
    color: var(--gold-shine);
    border-left: 2px solid var(--gold);
    padding-left: 16px;
    margin: 16px 0;
}

/* ===== STATS ===== */
.stats {
    background: var(--bg-primary);
    border-top: 1px solid var(--border-color);
    padding: 80px 0;
}

.stats-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 40px;
}

.stat-item {
    text-align: center;
    padding: 30px 20px;
}

.stat-number {
    font-family: var(--font-serif);
    font-size: 52px;
    font-weight: 700;
    color: var(--gold);
    margin-bottom: 10px;
    line-height: 1;
}

.stat-label {
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 2px;
    color: var(--text-secondary);
    text-transform: uppercase;
}

/* ===== PATROCINADORES ===== */
.patrocinadores {
    background: var(--bg-secondary);
    border-top: 1px solid var(--border-color);
}

.sponsors-grid {
    display: grid;
    grid-template-columns: repeat(6, 1fr);
    gap: 30px;
    align-items: center;
}

.sponsor-item {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 20px 15px;
    height: 100px;
    border: 1px solid var(--border-color);
    border-radius: 4px;
    transition: all 0.3s ease;
    background: var(--bg-primary);
    position: relative;
}

.sponsor-item:hover {
    border-color: rgba(232, 182, 76, 0.3);
}

.sponsor-logo-img {
    max-width: 100%;
    max-height: 60px;
    object-fit: contain;
    opacity: 0;
    transition: opacity 0.3s ease;
}

.sponsor-logo-img[src]:not([src=""]) {
    opacity: 0.7;
}

.sponsor-logo-img[src]:not([src=""]):hover {
    opacity: 1;
}

.sponsor-placeholder {
    font-size: 12px;
    font-weight: 400;
    color: #444;
    text-align: center;
    font-style: italic;
}

/* Hide placeholder when logo is present */
.sponsor-logo-img[src]:not([src=""]) + .sponsor-placeholder {
    display: none;
}

/* ===== GALERIA ===== */
.galeria {
    background: var(--bg-primary);
    border-top: 1px solid var(--border-color);
}

.gallery-grid {
    display: grid;
    grid-template-columns: 2fr 1fr 1fr 1fr 1fr;
    grid-template-rows: 200px 200px;
    gap: 15px;
}

.gallery-item {
    border-radius: 4px;
    overflow: hidden;
    position: relative;
    cursor: pointer;
    transition: transform 0.3s ease;
}

.gallery-item:hover {
    transform: scale(1.02);
}

.gallery-large {
    grid-row: 1 / 3;
}

.gallery-placeholder {
    width: 100%;
    height: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    background: var(--bg-tertiary);
    border: 1px solid var(--border-color);
    color: var(--text-muted);
    font-size: 13px;
    gap: 8px;
    transition: all 0.3s ease;
}

.gallery-item:hover .gallery-placeholder {
    border-color: rgba(232, 182, 76, 0.3);
    color: var(--gold);
}

.gallery-placeholder i {
    font-size: 24px;
}

/* Prévia da galeria (index) — grid uniforme, até 10 fotos reais */
.gallery-grid-preview {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 12px;
}
.gallery-grid-preview .gallery-item {
    aspect-ratio: 1 / 1;
    border-radius: 6px;
    overflow: hidden;
    display: block;
    position: relative;
}
.gallery-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform 0.4s ease;
}
.gallery-grid-preview .gallery-item:hover .gallery-img {
    transform: scale(1.06);
}
@media (max-width: 900px) {
    .gallery-grid-preview { grid-template-columns: repeat(4, 1fr); }
}
@media (max-width: 640px) {
    .gallery-grid-preview { grid-template-columns: repeat(3, 1fr); gap: 8px; }
}

/* Galeria em bento (fotos + 2 cards de destaque) */
.gallery-bento {
    display: grid;
    grid-template-columns: repeat(6, 1fr);
    grid-template-rows: 260px 190px 190px;
    gap: 12px;
}
.gb-item {
    position: relative;
    border-radius: 10px;
    overflow: hidden;
    display: block;
}
.gb-1  { grid-column: 1 / 4; grid-row: 1; }
.gb-2  { grid-column: 1 / 3; grid-row: 2; }
.gb-3  { grid-column: 3 / 5; grid-row: 2; }
.gb-4  { grid-column: 5 / 7; grid-row: 2 / 4; }
.gb-5  { grid-column: 3 / 5; grid-row: 3; }
.gb-card1 { grid-column: 4 / 7; grid-row: 1; }
.gb-card2 { grid-column: 1 / 3; grid-row: 3; }

.gb-card {
    background: linear-gradient(160deg, var(--bg-primary, #0a2744), #0d1120);
    border: 1px solid rgba(232, 182, 76, 0.18);
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 24px;
}
.gb-card1 { align-items: center; justify-content: center; }
.gb-logo { width: 100%; max-width: 190px; height: auto; }
.gb-card-number {
    font-family: var(--font-serif, 'Playfair Display', serif);
    font-size: 2.4rem;
    font-weight: 700;
    color: var(--gold, #C5A55A);
    line-height: 1;
    margin-bottom: 6px;
}
.gb-card-title {
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.12em;
    color: var(--text-primary, #fff);
    margin-bottom: 10px;
}
.gb-card-text {
    font-size: 0.78rem;
    line-height: 1.5;
    color: var(--text-secondary, #999);
}

@media (max-width: 900px) {
    .gallery-bento {
        grid-template-columns: repeat(2, 1fr);
        grid-template-rows: repeat(6, 160px);
    }
    .gb-1 { grid-column: 1 / 3; grid-row: 1; }
    .gb-card1 { grid-column: 1 / 3; grid-row: 2; }
    .gb-2 { grid-column: 1 / 2; grid-row: 3; }
    .gb-3 { grid-column: 2 / 3; grid-row: 3; }
    .gb-4 { grid-column: 1 / 3; grid-row: 4 / 6; }
    .gb-card2 { grid-column: 1 / 2; grid-row: 6; }
    .gb-5 { grid-column: 2 / 3; grid-row: 6; }
}
@media (max-width: 560px) {
    .gallery-bento { grid-template-columns: 1fr; grid-template-rows: repeat(7, 220px); gap: 10px; }
    .gb-1, .gb-card1, .gb-2, .gb-3, .gb-4, .gb-card2, .gb-5 { grid-column: 1 / 2; }
    .gb-1 { grid-row: 1; }
    .gb-card1 { grid-row: 2; }
    .gb-2 { grid-row: 3; }
    .gb-3 { grid-row: 4; }
    .gb-4 { grid-row: 5; }
    .gb-card2 { grid-row: 6; }
    .gb-5 { grid-row: 7; }
}

/* ===== DEPOIMENTOS ===== */
.depoimentos {
    background: var(--bg-secondary);
    border-top: 1px solid var(--border-color);
}

.testimonials-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 30px;
}

.testimonial-card {
    padding: 40px 30px;
    border: 1px solid var(--border-color);
    border-radius: 4px;
    background: var(--bg-primary);
    transition: all 0.4s ease;
    position: relative;
    display: flex;
    flex-direction: column;
}

.testimonial-card:hover {
    border-color: rgba(232, 182, 76, 0.3);
    transform: translateY(-3px);
}

.testimonial-quote {
    color: var(--gold);
    font-size: 28px;
    margin-bottom: 20px;
    opacity: 0.6;
}

.testimonial-text {
    font-size: 14px;
    color: var(--text-secondary);
    line-height: 1.8;
    font-style: italic;
    margin-bottom: 25px;
    flex: 1;
}

.testimonial-author h4 {
    font-size: 15px;
    font-weight: 600;
    color: var(--text-primary);
    margin-bottom: 4px;
}

.testimonial-author p {
    font-size: 12px;
    color: var(--text-muted);
}

.testimonial-author {
    display: flex;
    align-items: center;
    gap: 14px;
}

.testimonial-avatar {
    flex-shrink: 0;
    width: 46px;
    height: 46px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-family: var(--font-serif);
    font-size: 15px;
    font-weight: 700;
    color: var(--gold-shine);
    background: linear-gradient(135deg, #14141f, #1f1f30);
    border: 1px solid rgba(232, 182, 76, 0.35);
}

.testimonial-avatar-photo {
    overflow: hidden;
    background: none;
}

.testimonial-avatar-photo img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.testimonial-date {
    font-size: 11px;
    color: var(--gold);
    text-align: right;
    margin-top: 18px;
    opacity: .6;
}

.testimonial-empty {
    text-align: center;
    padding: 50px 24px;
    color: var(--text-secondary);
    border: 1px dashed var(--border-color);
    border-radius: 4px;
}

.testimonial-empty i {
    font-size: 26px;
    color: var(--gold);
    opacity: .5;
    display: block;
    margin-bottom: 14px;
}

.testimonial-empty p {
    font-size: 14px;
    line-height: 1.7;
}

/* ── Formulário de depoimento ── */
.depoimento-form-wrap {
    max-width: 640px;
    margin: 50px auto 0;
    background: var(--bg-primary);
    border: 1px solid var(--border-color);
    border-radius: 4px;
    padding: 40px;
}

.depoimento-label {
    display: block;
    font-family: var(--font-sans);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 1px;
    text-transform: uppercase;
    color: var(--gold);
    margin-bottom: 12px;
}

.depoimento-form textarea {
    width: 100%;
    background: var(--bg-tertiary);
    border: 1px solid var(--border-color);
    border-radius: 4px;
    color: var(--text-primary);
    font-family: var(--font-sans);
    font-size: 14px;
    line-height: 1.7;
    padding: 16px;
    resize: vertical;
    transition: border-color .3s;
}

.depoimento-form textarea:focus {
    outline: none;
    border-color: var(--gold);
}

.depoimento-form-foot {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    gap: 16px;
    margin: 10px 0 22px;
}

.depoimento-hint {
    font-size: 12px;
    color: var(--text-muted);
    line-height: 1.6;
}

.depoimento-count {
    font-size: 11px;
    color: var(--text-muted);
    flex-shrink: 0;
}

.depoimento-status-box {
    text-align: center;
    padding: 10px 0;
}

.depoimento-status-box i {
    font-size: 24px;
    color: var(--gold);
    opacity: .6;
    display: block;
    margin-bottom: 14px;
}

.depoimento-status-box p {
    font-size: 14px;
    color: var(--text-secondary);
    line-height: 1.7;
    margin-bottom: 18px;
}

.depoimento-status-box p:last-child {
    margin-bottom: 0;
}

.depoimento-status-box strong {
    color: var(--text-primary);
}

.depoimento-status-ok i {
    color: var(--gold);
    opacity: 1;
}

.depoimento-status-ok strong {
    color: var(--gold);
}

@media (max-width: 600px) {
    .depoimento-form-wrap {
        padding: 28px 22px;
    }
}

/* ===== CTA SECTION ===== */
.cta-section {
    position: relative;
    padding: 120px 0;
    text-align: center;
    overflow: hidden;
}

.cta-bg {
    position: absolute;
    inset: 0;
    background: radial-gradient(ellipse at center, rgba(232, 182, 76, 0.08) 0%, transparent 70%),
                var(--bg-primary);
}

.cta-content {
    position: relative;
    z-index: 2;
}

.cta-title {
    font-family: var(--font-serif);
    font-size: 42px;
    font-weight: 700;
    line-height: 1.3;
    margin-bottom: 20px;
    color: var(--text-primary);
}

.cta-subtitle {
    font-size: 16px;
    color: var(--text-secondary);
    margin-bottom: 40px;
}

/* ===== FOOTER ===== */
.footer {
    background: var(--bg-secondary);
    border-top: 1px solid var(--border-color);
    padding: 80px 0 30px;
}

.footer-grid {
    display: grid;
    grid-template-columns: 3fr 3fr 4fr;
    gap: 50px;
    margin-bottom: 50px;
}

.footer-col:nth-child(2) {
    text-align: center;
}

.footer-col:nth-child(3) {
    text-align: right;
}

.footer-col:nth-child(3) .footer-contact li {
    justify-content: flex-end;
}

.footer-logo {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 20px;
    font-size: 18px;
    font-weight: 600;
    color: var(--text-primary);
}

.footer-logo i {
    color: var(--gold);
    font-size: 22px;
}

.footer-logo img {
    height: 28px;
    width: auto;
    max-width: 40px;
}

.footer-about {
    font-size: 13px;
    color: var(--text-secondary);
    line-height: 1.8;
    margin-bottom: 20px;
}

.social-links {
    display: flex;
    gap: 12px;
}

.social-links a {
    width: 36px;
    height: 36px;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 1px solid var(--border-color);
    border-radius: 50%;
    color: var(--text-secondary);
    font-size: 14px;
    transition: all 0.3s ease;
}

.social-links a:hover {
    border-color: var(--gold);
    color: var(--gold);
}

.footer-title {
    font-size: 13px;
    font-weight: 600;
    letter-spacing: 2px;
    text-transform: uppercase;
    color: var(--text-primary);
    margin-bottom: 20px;
}

.footer-links li {
    margin-bottom: 10px;
}

.footer-links a {
    font-size: 13px;
    color: var(--text-secondary);
    transition: color 0.3s ease;
}

.footer-links a:hover {
    color: var(--gold);
}

.footer-contact li {
    font-size: 13px;
    color: var(--text-secondary);
    margin-bottom: 12px;
    display: flex;
    gap: 10px;
    align-items: flex-start;
}

.footer-contact li i {
    color: var(--gold);
    margin-top: 3px;
    width: 16px;
    flex-shrink: 0;
}

.mt-3 {
    margin-top: 25px;
}

.footer-newsletter-text {
    font-size: 13px;
    color: var(--text-secondary);
    margin-bottom: 15px;
}

.newsletter-form {
    display: flex;
    border: 1px solid var(--border-color);
    border-radius: 4px;
    overflow: hidden;
}

.newsletter-form input {
    flex: 1;
    padding: 12px 15px;
    background: var(--bg-primary);
    border: none;
    color: var(--text-primary);
    font-size: 13px;
    font-family: var(--font-sans);
    outline: none;
}

.newsletter-form input::placeholder {
    color: var(--text-muted);
}

.newsletter-form button {
    padding: 12px 18px;
    background: var(--gold);
    border: none;
    color: #000;
    cursor: pointer;
    font-size: 14px;
    transition: background 0.3s ease;
}

.newsletter-form button:hover {
    background: var(--gold-light);
}

.footer-bottom {
    border-top: 1px solid var(--border-color);
    padding-top: 25px;
    text-align: center;
}

.footer-bottom p {
    font-size: 12px;
    color: var(--text-muted);
}

/* ===== ANIMATIONS ===== */
.fade-in {
    opacity: 0;
    transform: translateY(30px);
    transition: opacity 0.8s ease, transform 0.8s ease;
}

.fade-in.visible {
    opacity: 1;
    transform: translateY(0);
}

/* ===== RESPONSIVE ===== */
@media (max-width: 1024px) {
    .hon-mosaic {
        grid-template-columns: repeat(2, 1fr);
    }

    .hon-mosaic-span2 {
        grid-column: span 2;
    }

    .fin-grid {
        grid-template-columns: 1fr;
        gap: 36px;
    }

    .fin-cards {
        grid-template-columns: 1fr 1fr;
    }

    .sponsors-title {
        font-size: 11px;
        padding: 8px 20px;
    }

    .o-premio-grid {
        grid-template-columns: 1fr;
        gap: 50px;
    }

    .hero-grid {
        grid-template-columns: 1fr;
    }

    .hero {
        padding: 130px 0 60px;
    }

    .hero-logo-img {
        max-width: 340px;
    }

    .hero-buttons {
        display: grid;
        margin-left: auto;
        margin-right: auto;
        justify-content: center;
    }

    .significado-cards {
        grid-template-columns: 1fr;
        gap: 20px;
    }

    .timeline-items {
        flex-wrap: wrap;
        gap: 30px;
        justify-content: center;
    }

    .timeline-line {
        display: none;
    }

    .timeline-item {
        flex: 0 0 calc(50% - 15px);
    }

    .stats-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .sponsors-grid {
        grid-template-columns: repeat(3, 1fr);
    }

    .gallery-grid {
        grid-template-columns: 1fr 1fr;
        grid-template-rows: auto;
    }

    .gallery-large {
        grid-row: auto;
    }

    .testimonials-grid {
        grid-template-columns: 1fr;
    }

    .footer-grid {
        grid-template-columns: 1fr 1fr;
    }

    .footer-col:nth-child(3) {
        grid-column: span 2;
    }
}

@media (max-width: 768px) {
    .hon-mosaic {
        grid-template-columns: 1fr;
    }

    .hon-mosaic-span2 {
        grid-column: span 1;
    }

    .hon-mosaic-photo, .hon-mosaic-text {
        order: var(--seq, 0);
    }

    .fin-cards {
        grid-template-columns: 1fr;
    }

    .fin-panel {
        padding: 22px;
    }

    .logo-img-desktop {
        display: none;
    }

    .logo-img-mobile {
        display: block;
    }

    .hero-equilibrista-title {
        display: none;
    }

    .hero {
        flex-direction: column;
    }

    .hero-40anos-badge {
        position: static;
        display: block;
        width: 170px;
        margin: 0 0 24px;
        filter: drop-shadow(0 10px 25px rgba(0, 0, 0, .4));
    }

    .container {
        padding: 0 20px;
    }

    .nav-list {
        display: none;
        position: fixed;
        top: 0;
        left: 0;
        width: 100%;
        height: 100vh;
        background: rgba(26, 33, 54, 0.98);
        flex-direction: column;
        justify-content: center;
        align-items: center;
        gap: 25px;
        z-index: 999;
    }

    .nav-list.active {
        display: flex;
    }

    .nav-link {
        font-size: 16px;
    }

    .nav-cta {
        display: none;
    }

    .mobile-toggle {
        display: flex;
        z-index: 1001;
    }

    .mobile-toggle.active span:nth-child(1) {
        transform: rotate(45deg) translate(5px, 5px);
    }

    .mobile-toggle.active span:nth-child(2) {
        opacity: 0;
    }

    .mobile-toggle.active span:nth-child(3) {
        transform: rotate(-45deg) translate(5px, -5px);
    }

    .hero {
        min-height: auto;
        padding: 110px 0 50px;
    }

    .hero-logo-img {
        max-width: 280px;
    }

    .tag {
        font-size: 12px;
    }

    .significado-cards {
        grid-template-columns: 1fr;
        gap: 40px;
    }

    .significado .sig-card:not(:last-child)::after {
        top: auto;
        bottom: -20px;
        left: 30%;
        right: 30%;
        width: auto;
        height: 1px;
    }

    .section-title {
        font-size: 26px;
    }

    .section-label {
        font-size: 20px;
    }

    .timeline-item {
        flex: 0 0 100%;
    }

    .stat-number {
        font-size: 40px;
    }

    .sponsors-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .gallery-grid {
        grid-template-columns: 1fr;
    }

    .footer-grid {
        grid-template-columns: 1fr;
        gap: 30px;
    }

    .cta-title {
        font-size: 30px;
    }

    .hon-card {
        min-width: 170px;
        width: 170px;
    }

    .hon-showcase {
        gap: 12px;
    }

    .hon-timeline {
        display: none;
    }

    .hon-filter {
        justify-content: center;
    }

    .hon-statsbar {
        justify-content: center;
        text-align: center;
    }

    .hon-statsbar-text {
        flex-direction: column;
        text-align: center;
    }
}

@media (max-width: 480px) {
    .hero-buttons {
        flex-direction: column;
        align-items: center;
    }

    .btn {
        width: 100%;
        max-width: 250px;
    }

    .stats-grid {
        grid-template-columns: 1fr;
    }

    .sponsors-grid {
        grid-template-columns: 1fr;
    }
}


/* ==========================================================
   EQUILIBRISTA 2026 — REFORMULAÇÃO EDITORIAL
   Mantém as classes existentes e adiciona uma nova camada
   visual para história, destaques e arquivo de homenageados.
   ========================================================== */

:root{
    --eq-navy:#071B33;
    --eq-navy-2:#0D2947;
    --eq-ink:#12243A;
    --eq-gold:#C8A65A;
    --eq-gold-light:#E5CC91;
    --eq-cream:#F7F5F0;
    --eq-white:#FFFFFF;
    --eq-muted:#718096;
    --eq-line:rgba(18,36,58,.12);
}

.eq-kicker{
    margin:0 0 12px;
    font-family:var(--font-sans,Montserrat,sans-serif);
    font-size:.68rem;
    font-weight:700;
    letter-spacing:.22em;
    text-transform:uppercase;
    color:var(--gold,#C5A55A);
}

.eq-history{
    position:relative;
    padding:105px 0 115px;
    background:var(--eq-navy);
    overflow:hidden;
}
.eq-history:before{
    content:"";
    position:absolute;
    width:420px;height:420px;
    right:-220px;top:-160px;
    border:1px solid rgba(232,182,76,.18);
    border-radius:50%;
}
.eq-history-head,
.eq-section-heading,
.eq-all-head{
    display:flex;
    justify-content:space-between;
    gap:70px;
    align-items:flex-end;
}
.eq-history-head h2,
.eq-section-heading h2,
.eq-all-head h2{
    margin:0;
    color:#fff;
    font-family:var(--font-serif,Playfair Display,serif);
    font-size:clamp(2.1rem,4vw,3.5rem);
    line-height:1.02;
    font-weight:600;
}
.eq-history-head h2 span,
.eq-section-heading h2 span,
.eq-all-head h2 span{
    color:var(--eq-gold);
    font-style:italic;
}
.eq-history-intro,
.eq-section-heading>p,
.eq-all-copy>p{
    max-width:500px;
    margin:0;
    color:rgba(255,255,255,.62);
    font-family:var(--font-sans,Montserrat,sans-serif);
    font-size:.88rem;
    line-height:1.85;
}

.eq-history-sobre{margin-top:90px;padding-top:70px;border-top:1px solid rgba(255,255,255,.12);}
.eq-history-sobre h3{margin:14px 0 28px;color:var(--eq-gold);font-family:var(--font-serif,Playfair Display,serif);font-size:clamp(1.7rem,3vw,2.3rem);line-height:1.15;font-weight:600;font-style:italic;}
.eq-history-sobre h3 span{color:#fff;font-style:normal;}
.eq-history-sobre-body p{color:rgba(255,255,255,.68);font-family:var(--font-sans,Montserrat,sans-serif);font-size:.92rem;line-height:1.9;margin:0 0 20px;}
.eq-history-sobre-body p:last-child{margin-bottom:0;}
@media(max-width:640px){.eq-history-sobre{margin-top:60px;padding-top:45px;}}

.eq-history-line{margin-top:85px;position:relative;}
.eq-history-line-track{
    position:absolute;left:8%;right:8%;top:10px;
    height:1px;background:linear-gradient(90deg,transparent,var(--eq-gold),var(--eq-gold),transparent);
}
.eq-history-line-track:after{
    content:"";position:absolute;left:50%;top:-3px;
    width:7px;height:7px;border-radius:50%;background:var(--eq-gold);
    transform:translateX(-50%);
}
.eq-history-milestones{
    display:grid;grid-template-columns:repeat(3,1fr);gap:50px;
}
.eq-milestone{position:relative;padding-top:42px;}
.eq-milestone-year{
    position:absolute;top:-13px;left:0;
    color:var(--eq-gold);font:600 .75rem var(--font-sans,Montserrat,sans-serif);
    letter-spacing:.16em;text-transform:uppercase;
}
.eq-milestone-dot{
    position:absolute;top:5px;left:0;width:12px;height:12px;
    border-radius:50%;background:var(--eq-navy);border:2px solid var(--eq-gold);
    box-shadow:0 0 0 7px rgba(232,182,76,.14);
}
.eq-milestone h3{
    margin:0 0 10px;color:#fff;
    font:600 1.15rem var(--font-serif,Playfair Display,serif);
}
.eq-milestone p{margin:0;color:rgba(255,255,255,.5);font:400 .78rem/1.8 var(--font-sans,Montserrat,sans-serif);max-width:330px;}

.eq-featured{
    padding:105px 0 120px;
    background:var(--eq-navy);
    color:#fff;
    position:relative;
    overflow:hidden;
}
.eq-featured:before{
    content:"EQUILIBRISTA";
    position:absolute;right:-90px;bottom:-35px;
    color:rgba(255,255,255,.025);
    font:800 clamp(5rem,13vw,12rem) var(--font-serif,Playfair Display,serif);
    letter-spacing:.04em;white-space:nowrap;
}
.eq-section-heading{align-items:flex-end;margin-bottom:52px;}
.eq-featured .eq-section-heading h2{color:#fff;}
.eq-featured .eq-section-heading>p{color:rgba(255,255,255,.62);}

.eq-featured-grid{
    display:grid;
    grid-template-columns:1.35fr 1fr 1fr;
    gap:18px;
    position:relative;z-index:1;
}
.eq-featured-card{
    min-width:0;
    background:#0c2948;
    border:1px solid rgba(255,255,255,.08);
    transition:transform .35s ease,border-color .35s ease;
}
.eq-featured-card:hover{transform:translateY(-7px);border-color:rgba(232,182,76,.45);}
.eq-featured-card-main{background:#102f50;}
.eq-featured-photo{height:320px;position:relative;overflow:hidden;background:#122d48;}
.eq-featured-card-main .eq-featured-photo{height:420px;}
.eq-featured-photo img,.eq-hon-photo img{
    width:100%;height:100%;display:block;object-fit:cover;
    transition:transform .6s ease;
}
.eq-featured-card:hover .eq-featured-photo img,
.eq-hon-card:hover .eq-hon-photo img{transform:scale(1.045);}
.eq-photo-overlay{
    position:absolute;inset:0;
    background:linear-gradient(180deg,transparent 45%,rgba(3,14,28,.72));
}
.eq-year-badge{
    position:absolute;z-index:2;top:18px;left:18px;
    padding:7px 10px;border:1px solid rgba(255,255,255,.4);
    color:#fff;background:rgba(4,18,34,.55);backdrop-filter:blur(7px);
    font:600 .65rem var(--font-sans,Montserrat,sans-serif);letter-spacing:.14em;
}
.eq-featured-content{padding:25px 28px 29px;}
.eq-featured-number{margin:0 0 12px;color:var(--eq-gold);font:600 .62rem var(--font-sans,Montserrat,sans-serif);letter-spacing:.2em;}
.eq-featured-content h3{margin:0;color:#fff;font:600 clamp(1.35rem,2vw,1.85rem) var(--font-serif,Playfair Display,serif);}
.eq-featured-role,.eq-featured-company{margin:7px 0 0;font:500 .68rem var(--font-sans,Montserrat,sans-serif);letter-spacing:.05em;color:rgba(255,255,255,.6);}
.eq-featured-company{color:var(--eq-gold-light);}
.eq-featured-bio{margin:17px 0 0;color:rgba(255,255,255,.58);font:.72rem/1.75 var(--font-sans,Montserrat,sans-serif);}
.eq-profile-link{
    border:0;background:none;padding:18px 0 0;color:#fff;cursor:pointer;
    font:700 .64rem var(--font-sans,Montserrat,sans-serif);letter-spacing:.13em;text-transform:uppercase;
}
.eq-profile-link i{margin-left:7px;color:var(--eq-gold);transition:transform .25s;}
.eq-profile-link:hover i{transform:translateX(4px);}

.eq-all-hon{
    padding:110px 0 120px!important;
    background:var(--eq-cream)!important;
}
.eq-all-head{align-items:flex-start;margin-bottom:52px;}
.eq-all-copy{max-width:520px;}
.eq-all-meta{
    display:flex;gap:28px;margin-top:22px;padding-top:17px;border-top:1px solid var(--eq-line);
}
.eq-all-meta span{
    color:#788290;font:500 .61rem var(--font-sans,Montserrat,sans-serif);
    text-transform:uppercase;letter-spacing:.09em;
}
.eq-all-meta strong{display:block;color:var(--eq-ink);font:700 1.2rem var(--font-serif,Playfair Display,serif);letter-spacing:0;text-transform:none;margin-bottom:2px;}

.eq-hon-grid{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:22px;
}
.eq-hon-card{
    background:#fff;
    border:1px solid rgba(18,36,58,.08);
    box-shadow:0 10px 30px rgba(12,35,60,.045);
    transition:transform .3s ease,box-shadow .3s ease;
}
.eq-hon-card:hover{transform:translateY(-6px);box-shadow:0 18px 45px rgba(12,35,60,.10);}
.eq-hon-photo{
    position:relative;display:block;width:100%;height:300px;padding:0;border:0;
    background:#dfe3e8;overflow:hidden;cursor:pointer;
}
.eq-hon-year{
    position:absolute;z-index:3;top:14px;left:14px;
    color:var(--eq-ink);background:rgba(255,255,255,.9);padding:6px 9px;
    font:700 .62rem var(--font-sans,Montserrat,sans-serif);letter-spacing:.12em;
}
.eq-hon-hover{
    position:absolute;z-index:4;right:15px;bottom:15px;width:37px;height:37px;
    display:grid;place-items:center;border-radius:50%;
    color:#fff;background:var(--eq-navy);opacity:0;transform:translateY(7px);
    transition:.3s;
}
.eq-hon-card:hover .eq-hon-hover{opacity:1;transform:translateY(0);}
.eq-hon-content{padding:20px 21px 23px;}
.eq-hon-index{margin:0 0 7px;color:var(--eq-gold);font:700 .6rem var(--font-sans,Montserrat,sans-serif);letter-spacing:.16em;}
.eq-hon-content h3{margin:0;color:var(--eq-ink);font:600 1.2rem var(--font-serif,Playfair Display,serif);line-height:1.1;}
.eq-hon-role{margin:7px 0 0;color:#7b8490;font:.63rem/1.4 var(--font-sans,Montserrat,sans-serif);}
.eq-hon-company{margin:4px 0 0;color:#334d68;font:600 .66rem var(--font-sans,Montserrat,sans-serif);}
.eq-hon-desc{margin:13px 0 0;padding-top:13px;border-top:1px solid var(--eq-line);color:#7c8590;font:.68rem/1.65 var(--font-sans,Montserrat,sans-serif);}
.eq-hon-more{
    margin-top:15px;padding:0;border:0;background:none;cursor:pointer;color:var(--eq-ink);
    font:700 .59rem var(--font-sans,Montserrat,sans-serif);letter-spacing:.13em;text-transform:uppercase;
}
.eq-hon-more i{color:var(--eq-gold);margin-left:5px;transition:.2s;}
.eq-hon-more:hover i{margin-left:9px;}
.eq-empty{text-align:center;color:#7c8490;}

.eq-stats{
    padding:92px 0!important;
    background:#fff!important;
}
.eq-stats-intro{text-align:center;margin-bottom:50px;}
.eq-stats-intro h2{margin:0;color:var(--eq-ink);font:600 clamp(1.9rem,3vw,2.7rem) var(--font-serif,Playfair Display,serif);}
.eq-stats-intro h2 span{color:var(--eq-gold);font-style:italic;}
.eq-stats .stats-grid{border-top:1px solid var(--eq-line);border-bottom:1px solid var(--eq-line);}
.eq-stats .stat-item{padding:35px 15px;}
.eq-stats .stat-number{color:var(--eq-ink)!important;}
.eq-stats .stat-label{color:#7d8793!important;}

@media(max-width:1100px){
    .eq-hon-grid{grid-template-columns:repeat(3,minmax(0,1fr));}
    .eq-featured-grid{grid-template-columns:1fr 1fr;}
    .eq-featured-card-main{grid-column:1/-1;}
    .eq-featured-card-main .eq-featured-photo{height:360px;}
}
@media(max-width:760px){
    .eq-history,.eq-featured,.eq-all-hon{padding:72px 0 78px!important;}
    .eq-history-head,.eq-section-heading,.eq-all-head{display:block;}
    .eq-history-intro,.eq-section-heading>p,.eq-all-copy>p{margin-top:22px;}
    .eq-history-line{margin-top:55px;padding-left:25px;}
    .eq-history-line-track{left:5px;right:auto;top:0;bottom:0;width:1px;height:auto;background:linear-gradient(180deg,transparent,var(--eq-gold),transparent);}
    .eq-history-line-track:after{left:-3px;top:50%;}
    .eq-history-milestones{display:block;}
    .eq-milestone{padding:0 0 38px 25px;}
    .eq-milestone:last-child{padding-bottom:0;}
    .eq-milestone-year{position:static;display:block;margin-bottom:8px;}
    .eq-milestone-dot{left:-26px;top:3px;}
    .eq-featured-grid{grid-template-columns:1fr;}
    .eq-featured-card-main{grid-column:auto;}
    .eq-featured-photo,.eq-featured-card-main .eq-featured-photo{height:340px;}
    .eq-all-meta{gap:14px;flex-wrap:wrap;}
    .eq-hon-grid{grid-template-columns:1fr 1fr;gap:14px;}
    .eq-hon-photo{height:235px;}
    .eq-hon-content{padding:16px 15px 18px;}
    .eq-hon-content h3{font-size:1.05rem;}
    .eq-hon-desc{font-size:.63rem;}
    .eq-hon-hover{opacity:1;transform:none;width:32px;height:32px;right:10px;bottom:10px;}
}
@media(max-width:480px){
    .eq-hon-grid{grid-template-columns:1fr;}
    .eq-hon-photo{height:320px;}
    .eq-featured-photo,.eq-featured-card-main .eq-featured-photo{height:390px;}
}

.eq-reveal{opacity:0;transform:translateY(18px);transition:opacity .65s ease,transform .65s ease,box-shadow .3s ease;}
.eq-reveal-visible{opacity:1;transform:none;}

/* ==========================================================
   EQUILIBRISTA 2026 — HOMENAGEADOS / PALETA NAVY + GOLD
   ========================================================== */
:root{
    --gold:#e8b64c;
    --gold-light:#E7CB8A;
    --gold-dark:#98783B;
    --bg-primary:#0a2744;
    --bg-secondary:#0d3a60;
    --bg-tertiary:#103456;
    --bg-card:#0C2948;
    --border-color:rgba(232,182,76,.16);
}

.header.scrolled{
    background:rgba(4,18,34,.96);
    border-bottom-color:rgba(232,182,76,.22);
}

.eq-hon-2026{
    padding:112px 0 105px;
    background:
        radial-gradient(circle at 88% 18%, rgba(232,182,76,.09), transparent 24%),
        radial-gradient(circle at 10% 85%, rgba(21,73,116,.24), transparent 30%),
        linear-gradient(145deg,#0a2744 0%,#08213B 55%,#0a2744 100%);
}

.eq-hon-2026:before{
    content:"";
    position:absolute;
    width:620px;
    height:620px;
    right:-300px;
    top:-260px;
    border:1px solid rgba(232,182,76,.12);
    border-radius:50%;
    box-shadow:0 0 0 70px rgba(232,182,76,.025),0 0 0 140px rgba(232,182,76,.018);
}

.eq-hon-hero-head{
    position:relative;
    z-index:2;
    display:flex;
    align-items:flex-end;
    justify-content:space-between;
    gap:50px;
    margin-bottom:48px;
}

.eq-hon-heading{
    display:flex;
    align-items:center;
    gap:32px;
    min-width:0;
}

.eq-hon-logo-wrap{
    width:190px;
    max-width:190px;
    flex:0 0 190px;
    flex-shrink:0;
    padding-right:28px;
    border-right:1px solid rgba(232,182,76,.28);
}

.eq-hon-logo{
    display:block;
    width:100%;
    max-width:190px;
    height:auto;
}

.eq-hon-heading h2{
    margin:0;
    color:#fff;
    font-family:var(--font-serif,Playfair Display,serif);
    font-size:clamp(2.35rem,4.3vw,4.15rem);
    line-height:.98;
    font-weight:600;
}

.eq-hon-heading h2 span{
    display:block;
    color:var(--gold-light);
    font-style:italic;
}

.eq-hon-lead{
    max-width:650px;
    margin:18px 0 0;
    color:rgba(255,255,255,.66);
    font:400 .88rem/1.85 var(--font-sans,Montserrat,sans-serif);
}

.eq-hon-counter{
    flex:0 0 185px;
    padding:18px 0 5px 28px;
    border-left:1px solid rgba(232,182,76,.28);
    text-align:left;
}

.eq-hon-counter strong{
    display:block;
    color:var(--gold-light);
    font:600 3.5rem/.85 var(--font-serif,Playfair Display,serif);
}

.eq-hon-counter span{
    display:block;
    margin-top:9px;
    color:#fff;
    font:700 .62rem var(--font-sans,Montserrat,sans-serif);
    letter-spacing:.18em;
    text-transform:uppercase;
}

.eq-hon-counter small{
    display:block;
    margin-top:8px;
    color:rgba(255,255,255,.45);
    font:500 .58rem var(--font-sans,Montserrat,sans-serif);
    letter-spacing:.06em;
}

.eq-hon-grid-dark{
    position:relative;
    z-index:2;
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:16px;
}

.eq-hon-grid-dark.eq-hon-grid-6{
    grid-template-columns:repeat(6,minmax(0,1fr));
    gap:14px;
}

.eq-hon-grid-solo{
    margin-bottom:26px;
    padding-bottom:26px;
    border-bottom:1px solid rgba(232,182,76,.16);
}

.eq-hon-card-dark{
    min-width:0;
    overflow:hidden;
    background:linear-gradient(180deg,rgba(14,46,78,.98),rgba(7,27,49,.98));
    border:1px solid rgba(232,182,76,.24);
    border-radius:3px;
    box-shadow:0 16px 40px rgba(0,0,0,.18);
    transition:transform .35s ease,border-color .35s ease,box-shadow .35s ease;
}

.eq-hon-card-dark:hover{
    transform:translateY(-6px);
    border-color:rgba(231,203,138,.62);
    box-shadow:0 22px 50px rgba(0,0,0,.28);
}

.eq-hon-card-dark .eq-hon-photo{
    position:relative;
    display:block;
    width:100%;
    height:245px;
    padding:0;
    overflow:hidden;
    border:0;
    background:linear-gradient(145deg,#102F50,#0a2744);
    cursor:pointer;
}

.eq-hon-grid-6 .eq-hon-card-dark .eq-hon-photo{height:170px;}
.eq-hon-grid-6 .eq-hon-card-dark .eq-hon-content{padding:13px 13px 15px;}
.eq-hon-grid-6 .eq-hon-card-dark .eq-hon-content h3{font-size:.92rem;}
.eq-hon-grid-6 .eq-hon-card-dark .eq-hon-role{font-size:.55rem;margin-top:5px;}
.eq-hon-grid-6 .eq-hon-card-dark .eq-hon-company{font-size:.57rem;}
.eq-hon-grid-6 .eq-hon-card-dark .eq-hon-desc{font-size:.54rem;margin-top:9px;padding-top:8px;-webkit-line-clamp:2;display:-webkit-box;-webkit-box-orient:vertical;overflow:hidden;}
.eq-hon-grid-6 .eq-hon-card-dark .eq-hon-more{font-size:.5rem;margin-top:10px;}
.eq-hon-grid-6 .eq-hon-topline span{font-size:.53rem;}
.eq-hon-grid-6 .eq-hon-topline em{font-size:.47rem;max-width:58%;}

.eq-hon-card-dark .eq-hon-photo:after{
    content:"";
    position:absolute;
    inset:0;
    background:linear-gradient(180deg,rgba(4,17,32,.03) 35%,rgba(4,17,32,.78) 100%);
    pointer-events:none;
}

.eq-hon-card-dark .eq-hon-photo img{
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:center top;
    transition:transform .55s ease,filter .35s ease;
    filter:saturate(.9) contrast(1.02);
}

.eq-hon-card-dark:hover .eq-hon-photo img{
    transform:scale(1.055);
    filter:saturate(1) contrast(1.05);
}

.eq-hon-card-dark .eq-hon-year{
    position:absolute;
    z-index:3;
    top:12px;
    left:12px;
    padding:6px 9px;
    border:1px solid rgba(231,203,138,.65);
    background:rgba(4,18,34,.72);
    color:var(--gold-light);
    font:700 .58rem var(--font-sans,Montserrat,sans-serif);
    letter-spacing:.12em;
}

.eq-hon-card-dark .eq-hon-hover{
    position:absolute;
    z-index:4;
    right:12px;
    bottom:12px;
    width:34px;
    height:34px;
    border:1px solid rgba(231,203,138,.6);
    border-radius:50%;
    background:rgba(4,18,34,.72);
    color:var(--gold-light);
    display:flex;
    align-items:center;
    justify-content:center;
    opacity:0;
    transform:translateY(6px);
    transition:.3s ease;
}

.eq-hon-card-dark:hover .eq-hon-hover{opacity:1;transform:none;}

.eq-hon-card-dark .eq-hon-content{
    padding:18px 18px 20px;
}

.eq-hon-topline{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:10px;
    margin-bottom:9px;
}

.eq-hon-topline span{
    color:var(--gold);
    font:700 .58rem var(--font-sans,Montserrat,sans-serif);
    letter-spacing:.18em;
}

.eq-hon-topline em{
    max-width:65%;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
    color:rgba(255,255,255,.42);
    font:500 .52rem var(--font-sans,Montserrat,sans-serif);
    letter-spacing:.1em;
    text-transform:uppercase;
    font-style:normal;
}

.eq-hon-card-dark .eq-hon-content h3{
    color:#fff;
    font:600 1.2rem/1.05 var(--font-serif,Playfair Display,serif);
}

.eq-hon-card-dark .eq-hon-role{
    margin-top:8px;
    color:rgba(255,255,255,.58);
    font:500 .6rem/1.45 var(--font-sans,Montserrat,sans-serif);
}

.eq-hon-card-dark .eq-hon-company{
    margin-top:4px;
    color:var(--gold-light);
    font:600 .62rem/1.4 var(--font-sans,Montserrat,sans-serif);
}

.eq-hon-card-dark .eq-hon-desc{
    margin-top:12px;
    padding-top:11px;
    border-top:1px solid rgba(255,255,255,.09);
    color:rgba(255,255,255,.47);
    font:.61rem/1.65 var(--font-sans,Montserrat,sans-serif);
}

.eq-hon-card-dark .eq-hon-more{
    margin-top:14px;
    color:#fff;
    font-size:.56rem;
}

.eq-hon-card-dark .eq-hon-more i{color:var(--gold-light);}

.eq-empty-dark{
    position:relative;
    z-index:2;
    padding:60px 20px;
    color:rgba(255,255,255,.55);
}

.eq-hon-footer{
    position:relative;
    z-index:2;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:18px;
    margin-top:52px;
}

.eq-hon-footer p{
    color:var(--gold-light);
    text-align:center;
    font:400 .78rem/1.5 var(--font-serif,Playfair Display,serif);
    font-style:italic;
}

.eq-hon-footer-line{
    width:70px;
    height:1px;
    background:linear-gradient(90deg,transparent,var(--gold));
}

.eq-hon-footer-line:last-child{background:linear-gradient(90deg,var(--gold),transparent);}

.eq-hon-card-dark.eq-reveal{transition-delay:var(--hon-delay,0ms);}

@media(max-width:1100px){
    .eq-hon-grid-dark{grid-template-columns:repeat(3,minmax(0,1fr));}
    .eq-hon-grid-dark.eq-hon-grid-6{grid-template-columns:repeat(4,minmax(0,1fr));}
    .eq-hon-heading{align-items:flex-start;}
    .eq-hon-logo-wrap{width:150px;flex-basis:150px;}
}

@media(max-width:760px){
    .eq-hon-2026{padding:78px 0 76px!important;}
    .eq-hon-hero-head{display:block;margin-bottom:34px;}
    .eq-hon-heading{display:block;}
    .eq-hon-logo-wrap{width:180px;padding:0 0 18px;margin-bottom:22px;border-right:0;border-bottom:1px solid rgba(232,182,76,.28);}
    .eq-hon-counter{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;margin-top:28px;padding:18px 0 0;border-left:0;border-top:1px solid rgba(232,182,76,.22);}
    .eq-hon-counter strong{font-size:2.6rem;}
    .eq-hon-counter span,.eq-hon-counter small{margin-top:0;}
    .eq-hon-grid-dark{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;}
    .eq-hon-grid-dark.eq-hon-grid-6{grid-template-columns:repeat(2,minmax(0,1fr));}
    .eq-hon-card-dark .eq-hon-photo{height:220px;}
    .eq-hon-card-dark .eq-hon-content{padding:15px 14px 17px;}
    .eq-hon-card-dark .eq-hon-content h3{font-size:1.03rem;}
    .eq-hon-card-dark .eq-hon-desc{font-size:.58rem;}
    .eq-hon-grid-6 .eq-hon-card-dark .eq-hon-photo{height:220px;}
    .eq-hon-grid-6 .eq-hon-card-dark .eq-hon-content h3{font-size:1.03rem;}
    .eq-hon-hover{opacity:1!important;transform:none!important;}
}

@media(max-width:480px){
    .eq-hon-grid-dark{grid-template-columns:1fr;}
    .eq-hon-grid-dark.eq-hon-grid-6{grid-template-columns:1fr;}
    .eq-hon-card-dark .eq-hon-photo{height:315px;}
    .eq-hon-card-dark .eq-hon-content h3{font-size:1.22rem;}
    .eq-hon-footer{gap:9px;margin-top:38px;}
    .eq-hon-footer-line{width:35px;}
}

/* Seção "Mantenedores IBEF Ceará" agora vem de mantenedores.php (arquivo
   compartilhado na raiz do site, incluído logo após o </footer> desta
   página) — traz seu próprio <style>, então as regras .maintainers-*/
   .maintainer-logo que existiam aqui foram removidas (ficariam mortas). */

/* ══════════════════ HOMENAGEADOS — destaque + grade de 6 (eqh-*) ══════════════════
   Namespace próprio (eqh-) pra não colidir em especificidade com nada que já existia. */

.eqh-featured {
    position: relative;
    z-index: 2;
    display: grid;
    grid-template-columns: 52% 48%;
    min-height: 340px;
    overflow: hidden;
    border-top: 1px solid rgba(200, 166, 92, .28);
    border-bottom: 1px solid rgba(200, 166, 92, .28);
}

.eqh-featured-info {
    padding: 34px 44px 34px 0;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.eqh-featured-meta { display: flex; gap: 14px; align-items: center; margin-bottom: 22px; }
.eqh-year { border: 1px solid var(--gold, #c8a65c); padding: 6px 10px; font: 800 .68rem var(--font-sans, Montserrat, sans-serif); letter-spacing: .1em; color: var(--gold-light, #e2c47a); }
.eqh-number { font: 800 .7rem var(--font-sans, Montserrat, sans-serif); letter-spacing: .14em; color: var(--gold, #c8a65c); }

.eqh-category { font: 700 .62rem var(--font-sans, Montserrat, sans-serif); letter-spacing: .16em; color: var(--gold, #c8a65c); margin-bottom: 10px; }

.eqh-featured-info h2 { font: 700 3rem/.98 var(--font-serif, 'Playfair Display', serif); color: #fff; margin: 4px 0 10px; letter-spacing: -.01em; }

.eqh-role { font: 600 .95rem var(--font-sans, Montserrat, sans-serif); color: var(--gold-light, #e2c47a); margin-bottom: 20px; }

.eqh-featured-text { max-width: 560px; color: rgba(255, 255, 255, .62); font: 400 .92rem/1.75 var(--font-sans, Montserrat, sans-serif); margin: 0 0 22px; }

.eqh-trajectory { background: none; border: none; cursor: pointer; padding: 0; color: #fff; font: 800 .68rem var(--font-sans, Montserrat, sans-serif); letter-spacing: .1em; width: max-content; display: inline-flex; align-items: center; }
.eqh-trajectory span { color: var(--gold-light, #e2c47a); font-size: 1.05rem; margin-left: 6px; transition: transform .3s ease; }
.eqh-trajectory:hover span { transform: translateX(4px); }

.eqh-featured-photo { position: relative; display: block; width: 100%; height: 100%; min-height: 340px; border: 0; padding: 0; cursor: pointer; overflow: hidden; background: linear-gradient(145deg, #102F50, #0a2744); }
.eqh-featured-photo img {
    width: 100%; height: 100%; object-fit: cover; object-position: center top; display: block;
    filter: saturate(.85);
    mask-image: linear-gradient(90deg, transparent 0%, #000 25%, #000 100%);
    -webkit-mask-image: linear-gradient(90deg, transparent 0%, #000 25%, #000 100%);
    transition: transform .5s ease;
}
.eqh-featured-photo:hover img { transform: scale(1.03); }
.eqh-photo-glow {
    position: absolute; inset: 0; pointer-events: none;
    background: radial-gradient(circle at 65% 45%, rgba(215, 180, 103, .22), transparent 45%), linear-gradient(90deg, var(--navy, #061a2d) 0%, transparent 32%);
}

.eqh-divider { display: flex; align-items: center; gap: 14px; margin: 26px 0 24px; }
.eqh-divider span { height: 1px; background: rgba(200, 166, 92, .28); flex: 1; }
.eqh-divider b { color: var(--gold, #c8a65c); font-size: 14px; }

.eqh-grid {
    position: relative;
    z-index: 2;
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: 14px;
}

.eqh-card {
    min-width: 0;
    background: linear-gradient(180deg, rgba(15, 47, 72, .88), rgba(7, 31, 50, .95));
    border: 1px solid rgba(151, 170, 183, .22);
    transition: .25s ease;
    cursor: pointer;
    overflow: hidden;
}
.eqh-card:hover { transform: translateY(-4px); border-color: rgba(200, 166, 92, .7); box-shadow: 0 14px 35px rgba(0, 0, 0, .22); }

.eqh-card-photo { position: relative; height: 148px; overflow: hidden; background: #18344b; }
.eqh-card-photo img { width: 100%; height: 100%; object-fit: cover; object-position: center top; display: block; filter: saturate(.85); transition: transform .4s ease; }
.eqh-card:hover .eqh-card-photo img { transform: scale(1.05); }
.eqh-card-photo .eq-photo-fallback { display: flex; align-items: center; justify-content: center; width: 100%; height: 100%; font: 700 1.6rem var(--font-serif, 'Playfair Display', serif); color: rgba(255, 255, 255, .35); }

.eqh-card-body { padding: 12px 13px 15px; }
.eqh-card-top { display: flex; justify-content: space-between; align-items: center; margin-bottom: 9px; }
.eqh-card-top span { padding: 4px 7px; border: 1px solid rgba(200, 166, 92, .65); color: var(--gold-light, #e2c47a); font: 700 .5rem var(--font-sans, Montserrat, sans-serif); letter-spacing: .04em; }
.eqh-card-top small { font: 800 .5rem var(--font-sans, Montserrat, sans-serif); color: var(--gold, #c8a65c); letter-spacing: .06em; }

.eqh-card .eqh-category { font-size: .48rem; letter-spacing: .1em; margin-bottom: 6px; color: #6f91a8; }
.eqh-card h3 { font: 600 1rem/1.08 var(--font-serif, 'Playfair Display', serif); color: #fff; margin: 0 0 6px; }
.eqh-card p { margin: 0 0 3px; font: 500 .58rem/1.4 var(--font-sans, Montserrat, sans-serif); color: rgba(255, 255, 255, .58); }
.eqh-card strong { font: 600 .6rem var(--font-sans, Montserrat, sans-serif); color: var(--gold-light, #e2c47a); }

@media (max-width: 1050px) {
    .eqh-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}

@media (max-width: 900px) {
    .eqh-featured { grid-template-columns: 1fr; min-height: 0; display: flex; flex-direction: column; }
    .eqh-featured-info { padding: 28px 0; }
    .eqh-featured-photo { order: -1; height: 300px; min-height: 0; }
    .eqh-featured-photo img { mask-image: none; -webkit-mask-image: none; }
    .eqh-photo-glow { background: linear-gradient(180deg, transparent 55%, var(--navy, #061a2d)); }
    .eqh-featured-info h2 { font-size: 2.2rem; }
}

@media (max-width: 760px) {
    .eqh-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 480px) {
    .eqh-grid { grid-template-columns: 1fr; }
    .eqh-card-photo { height: 210px; }
    .eqh-featured-info h2 { font-size: 1.9rem; }
}


/* ══════════════════ HOMENAGEADOS v3 — hero com foto de fundo + arquivo em linha do tempo (ha-*) ══════════════════
   Adaptado do modelo enviado. Namespace próprio (ha-) pra não colidir com nada existente.
   Sem depender de animação de scroll (JS) — tudo visível por padrão via CSS puro. */

.ha-hero {
    position: relative;
    height: 460px;
    margin-top: 8px;
    overflow: hidden;
    display: flex;
    align-items: center;
    background: linear-gradient(145deg, #102F50, #0a2744);
}
.ha-hero-image {
    position: absolute; inset: 0 0 0 12%;
    background-position: center 18%; background-size: cover; background-repeat: no-repeat;
    filter: saturate(.82);
}
.ha-hero-shade {
    position: absolute; inset: 0; pointer-events: none;
    background:
        linear-gradient(90deg,
            var(--eq-navy, #0a2744) 0%,
            rgba(6,26,45,.99) 18%,
            rgba(6,26,45,.9) 30%,
            rgba(6,26,45,.72) 42%,
            rgba(6,26,45,.46) 54%,
            rgba(6,26,45,.22) 66%,
            rgba(6,26,45,.06) 78%,
            rgba(6,26,45,0) 90%),
        linear-gradient(0deg, rgba(6,26,45,.85), transparent 35%);
}
.ha-hero-copy { position: relative; z-index: 2; width: 47%; padding: 0 0 0 4%; }
.ha-eyebrow { margin: 0; color: var(--gold-light, #D4B86A); text-transform: uppercase; font-size: 10px; letter-spacing: .16em; font-weight: 700; font-family: var(--font-sans, Montserrat, sans-serif); }
.ha-gold-rule { width: 44px; height: 2px; background: var(--gold, #C5A55A); margin: 20px 0 15px; }
.ha-category { margin: 0 0 8px; color: var(--gold-light, #D4B86A); text-transform: uppercase; font-size: 12px; letter-spacing: .08em; font-weight: 700; font-family: var(--font-sans, Montserrat, sans-serif); }
.ha-hero-copy h3 { font-family: var(--font-serif, 'Playfair Display', serif); font-weight: 500; font-size: clamp(2.4rem, 4.2vw, 3.9rem); line-height: .92; letter-spacing: -.02em; color: #fff; margin: 0 0 16px; }
.ha-role { font-size: 14px; color: var(--gold-light, #D4B86A); font-weight: 700; margin: 0 0 16px; font-family: var(--font-sans, Montserrat, sans-serif); }
.ha-description { font-size: 13px; line-height: 1.7; max-width: 400px; margin: 0 0 22px; color: rgba(255,255,255,.68); font-family: var(--font-sans, Montserrat, sans-serif); }
.ha-cta { display: inline-flex; gap: 16px; align-items: center; border: 1px solid var(--gold, #C5A55A); padding: 11px 16px; background: none; cursor: pointer; color: var(--gold-light, #D4B86A); text-transform: uppercase; font-size: 10px; letter-spacing: .12em; font-weight: 700; font-family: var(--font-sans, Montserrat, sans-serif); transition: .2s ease; }
.ha-cta:hover { background: var(--gold, #C5A55A); color: var(--eq-navy, #0a2744); }
.ha-cta span { font-size: 12px; }

.ha-archive { padding: 30px 0 6px; }
.ha-archive-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 20px; margin-bottom: 20px; }
.ha-archive-head .ha-eyebrow { margin-top: 4px; }
.ha-controls { display: flex; gap: 10px; }
.ha-controls button { width: 34px; height: 34px; background: none; border: 1px solid var(--gold, #C5A55A); color: var(--gold-light, #D4B86A); font-size: 20px; line-height: 1; cursor: pointer; transition: .2s ease; }
.ha-controls button:hover { background: var(--gold, #C5A55A); color: var(--eq-navy, #0a2744); }

.ha-timeline {
    position: relative;
    display: flex; gap: 16px;
    overflow-x: auto;
    padding: 26px 4px 10px;
    scrollbar-width: none;
    cursor: grab;
    user-select: none;
}
.ha-timeline::-webkit-scrollbar { display: none; }
.ha-timeline.is-dragging { cursor: grabbing; scroll-behavior: auto; }
.ha-timeline.is-dragging .ha-honoree { pointer-events: none; }
.ha-timeline-line { position: absolute; left: 0; right: 0; top: 60px; height: 1px; background: linear-gradient(90deg, var(--gold, #C5A55A), rgba(232,182,76,.12)); }

.ha-honoree {
    position: relative; z-index: 1;
    flex: 0 0 92px; width: 92px;
    padding: 0; border: 0; background: none;
    color: #fff; text-align: center; cursor: pointer;
    font-family: var(--font-sans, Montserrat, sans-serif);
}
.ha-year { display: block; font-size: 12px; color: rgba(255,255,255,.55); margin-bottom: 10px; font-weight: 600; }
.ha-portrait {
    display: flex; align-items: center; justify-content: center;
    width: 68px; height: 68px; margin: 0 auto;
    border: 1px solid rgba(255,255,255,.45); border-radius: 50%;
    background: #18344b; overflow: hidden; padding: 2px;
    transition: border-color .2s ease, box-shadow .2s ease;
}
.ha-portrait img { display: block; width: 100%; height: 100%; border-radius: 50%; object-fit: cover; object-position: center 20%; }
.ha-portrait .eq-photo-fallback { font: 700 1rem var(--font-serif, 'Playfair Display', serif); color: rgba(255,255,255,.4); }
.ha-honoree.active .ha-portrait,
.ha-honoree:hover .ha-portrait { border-color: var(--gold, #C5A55A); box-shadow: 0 0 0 4px rgba(232,182,76,.14), 0 0 18px rgba(232,182,76,.28); }
.ha-honoree.active .ha-year,
.ha-honoree.active .ha-honoree-name { color: var(--gold-light, #D4B86A); }
.ha-honoree-name { display: block; text-transform: uppercase; font-size: 9.5px; line-height: 1.25; font-weight: 700; min-height: 24px; margin-top: 13px; }
.ha-company { display: block; color: var(--gold-light, #D4B86A); font-size: 8.5px; line-height: 1.25; min-height: 20px; margin-top: 4px; }
.ha-index { display: block; color: rgba(255,255,255,.4); font-size: 8.5px; margin-top: 8px; letter-spacing: .04em; }

@media (max-width: 900px) {
    .ha-hero { height: 560px; display: flex; align-items: flex-end; padding: 0; }
    .ha-hero-image { position: absolute; inset: 0; background-position: center 20%; }
    .ha-hero-shade { background: linear-gradient(0deg, var(--eq-navy, #0a2744) 12%, rgba(6,26,45,.8) 42%, rgba(6,26,45,.15) 75%); }
    .ha-hero-copy { position: relative; z-index: 2; width: 100%; padding: 0 6% 34px; }
    .ha-archive-head { display: block; }
    .ha-controls { margin-top: 14px; }
}

@media (max-width: 480px) {
    .ha-hero { height: 480px; }
    .ha-hero-image { background-position: center 15%; }
    .ha-hero-copy h3 { font-size: 2rem; }
    .ha-description { max-width: none; }
    .ha-honoree { flex: 0 0 78px; width: 78px; }
    .ha-portrait { width: 58px; height: 58px; }
}

/* ═══════════════════════════════════════════════════════════════
   VOTAÇÃO POR CATEGORIAS (vp-*) — layout com lateral fixa e
   navegação livre entre categorias (dots + cards).
   ═══════════════════════════════════════════════════════════════ */
.vp-page {
  display: grid;
  grid-template-columns: 370px 1fr;
  gap: 0;
  background: #fffefa;
  border: 1px solid var(--gold-shine, #eadfcf);
  border-radius: 20px;
  overflow: hidden;
  box-shadow: 0 15px 40px rgba(35,29,18,.08);
  max-width: 1500px;
  margin: 0 auto;
}
.vp-sidebar {
  padding: 44px 34px;
  background: radial-gradient(circle at 15% 85%, rgba(232,182,76,.16), transparent 35%), linear-gradient(180deg, #fffdf9, #fbf4e8);
}
.vp-brand { margin-bottom: 32px; }
.vp-logo { max-width: 220px; width: 100%; height: auto; display: block; }
.vp-logo-gold {
  aspect-ratio: 1509 / 384;
  background-color: var(--gold, #c9973a);
  -webkit-mask-image: url('../img/logo-equilibrista-hero.png');
  mask-image: url('../img/logo-equilibrista-hero.png');
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: left center;
  mask-position: left center;
  -webkit-mask-size: contain;
  mask-size: contain;
}
.vp-brand-icon { width: 40px; height: 40px; border-radius: 50%; background: var(--gold-dark, #8B7340); color: #fff; display: flex; align-items: center; justify-content: center; font-size: 17px; flex-shrink: 0; }
.vp-brand-text { font-size: 12.5px; letter-spacing: 1px; color: var(--gold-dark, #8B7340); font-weight: 700; line-height: 1.4; }
.vp-brand-text span { display: block; color: #0a2744; font-weight: 600; }
.vp-h1 { font-family: var(--font-serif); font-size: 38px; line-height: 1.05; color: #0a2744; font-weight: 600; margin-bottom: 20px; }
.vp-gold-line { width: 52px; height: 3px; background: linear-gradient(90deg, var(--gold), var(--gold-dark, #8B7340)); margin-bottom: 20px; border-radius: 3px; }
.vp-sidebar-desc { font-family: var(--font-serif); font-size: 15px; line-height: 1.55; color: #3a3a3a; margin-bottom: 34px; }
.vp-info-item { display: flex; gap: 14px; margin-bottom: 22px; }
.vp-info-icon { width: 52px; height: 52px; flex: 0 0 52px; border-radius: 50%; background: #fff; border: 1px solid #eee3d2; box-shadow: 0 5px 14px rgba(0,0,0,.07); display: flex; align-items: center; justify-content: center; color: var(--gold-dark, #8B7340); font-size: 19px; }
.vp-info-content h3 { color: var(--gold-dark, #8B7340); font-size: 12px; letter-spacing: .5px; margin-bottom: 6px; }
.vp-info-content p { font-size: 12.5px; line-height: 1.5; color: #4a4a4a; }
.vp-thanks { margin-top: 30px; padding: 18px 20px; background: #0a2744; border-radius: 12px; color: #fff; }
.vp-thanks-title { color: var(--gold-light, #D4B86A); font-weight: 700; font-size: 12.5px; margin-bottom: 6px; display: flex; align-items: center; gap: 6px; }
.vp-thanks p { font-size: 12px; line-height: 1.5; color: rgba(255,255,255,.8); }

.vp-content { padding: 30px 44px 34px; position: relative; }
.vp-counter { position: absolute; right: 30px; top: 30px; width: 96px; padding: 12px 6px; text-align: center; border: 1px solid #eadfcf; border-radius: 12px; background: #fffaf3; box-shadow: 0 5px 12px rgba(0,0,0,.05); }
.vp-counter strong { display: block; font-family: var(--font-serif); font-size: 24px; color: #0a2744; }
.vp-counter span { font-size: 10px; color: var(--gold-dark, #8B7340); font-weight: 700; letter-spacing: .5px; }

.vp-cat-header { text-align: center; margin-bottom: 24px; }
.vp-cat-label { color: var(--gold-dark, #8B7340); font-size: 13px; letter-spacing: 1.5px; font-weight: 700; margin-bottom: 8px; }
.vp-cat-title { font-family: var(--font-serif); color: #0a2744; font-size: 24px; margin-bottom: 10px; }
.vp-laurel { color: var(--gold); font-size: 22px; vertical-align: middle; }
.vp-cat-subtitle { color: #555; font-size: 14px; }

/* ══ Resultado divulgado: vencedor + apuração completa ══
   Substitui a grade .vp-candidates quando não há mais o que escolher. */
.vp-final { display: grid; grid-template-columns: minmax(230px, 300px) 1fr; gap: 26px; align-items: start; }
.vp-final-vazio { grid-column: 1 / -1; text-align: center; color: #8a8578; padding: 30px 0; }

.vp-vencedor { background: #fff; border: 1px solid #ece7dc; border-radius: 12px; padding: 20px; text-align: center; box-shadow: 0 8px 26px rgba(0,0,0,.08); position: relative; }
.vp-vencedor-selo { display: inline-block; background: var(--gold-dark, #8B7340); color: #fff; font-size: 10px; font-weight: 800; letter-spacing: .12em; border-radius: 999px; padding: 4px 12px; margin-bottom: 14px; }
.vp-vencedor-foto { width: 100%; aspect-ratio: 1 / 1; border-radius: 10px; overflow: hidden; background: #eee; margin-bottom: 14px; }
.vp-vencedor-foto img { width: 100%; height: 100%; object-fit: cover; object-position: center top; display: block; }
.vp-vencedor-nome { font-family: var(--font-serif); font-size: 21px; color: #0a2744; margin: 0 0 4px; line-height: 1.2; }
.vp-vencedor-cargo { color: var(--gold-dark, #8B7340); font-size: 11.5px; font-weight: 800; margin-bottom: 6px; }
.vp-vencedor-numeros { display: flex; align-items: baseline; justify-content: center; gap: 8px; margin-top: 12px; padding-top: 12px; border-top: 1px solid #f0eee9; }
.vp-vencedor-numeros strong { font-size: 28px; font-weight: 800; color: #0a2744; font-variant-numeric: tabular-nums; }
.vp-vencedor-numeros span { font-size: 12.5px; color: #8a8578; }

.vp-apuracao { background: #fff; border: 1px solid #ece7dc; border-radius: 12px; padding: 18px 20px; }
.vp-apuracao-head { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; padding-bottom: 12px; margin-bottom: 6px; border-bottom: 1px solid #f0eee9; }
.vp-apuracao-head h4 { font-family: var(--font-serif); font-size: 16px; color: #0a2744; margin: 0; }
.vp-apuracao-head span { font-size: 12px; color: #8a8578; }
.vp-apuracao-lista { list-style: none; margin: 0; padding: 0; }
.vp-apuracao-lista li { display: grid; grid-template-columns: 26px 1fr auto; align-items: center; gap: 12px; padding: 11px 0; border-bottom: 1px solid #f6f4ef; }
.vp-apuracao-lista li:last-child { border-bottom: 0; }
.vp-ap-pos { width: 24px; height: 24px; border-radius: 7px; background: #f2efe8; color: #6b6558; display: flex; align-items: center; justify-content: center; font-size: 12px; font-weight: 800; }
.vp-apuracao-lista li.lider .vp-ap-pos { background: var(--gold-dark, #8B7340); color: #fff; }
.vp-ap-info { min-width: 0; }
.vp-ap-nome { font-size: 13.5px; font-weight: 700; color: #0a2744; display: flex; align-items: center; gap: 6px; flex-wrap: wrap; }
.vp-ap-sub { font-size: 11px; color: #8a8578; margin-top: 1px; }
.vp-ap-barra { height: 5px; background: #f0eee9; border-radius: 99px; overflow: hidden; margin-top: 6px; }
.vp-ap-barra span { display: block; height: 100%; background: var(--gold-light, #D4B86A); }
.vp-apuracao-lista li.lider .vp-ap-barra span { background: var(--gold-dark, #8B7340); }
.vp-ap-numeros { text-align: right; }
.vp-ap-numeros strong { display: block; font-size: 14px; font-weight: 800; color: #0a2744; font-variant-numeric: tabular-nums; }
.vp-ap-numeros span { font-size: 11px; color: #8a8578; }

.vp-tag-indicacao { display: inline-block; background: #f3eee2; color: #8B7340; border-radius: 999px; padding: 1px 8px; font-size: 10px; font-weight: 800; letter-spacing: .03em; }
.vp-tag-meuvoto { display: inline-block; background: #e8f3ec; color: #1e8e5a; border-radius: 999px; padding: 1px 8px; font-size: 10px; font-weight: 800; }

@media (max-width: 820px) {
  .vp-final { grid-template-columns: 1fr; gap: 18px; }
  .vp-vencedor-foto { max-width: 240px; margin-left: auto; margin-right: auto; }
}

.vp-candidates-wrap { margin-bottom: 20px; }
.vp-candidates { display: grid; grid-template-columns: repeat(auto-fill, minmax(180px, 220px)); gap: 14px; justify-content: center; }
.vp-candidate { background: #fff; border-radius: 8px; overflow: hidden; border: 1px solid #f0eee9; box-shadow: 0 5px 16px rgba(0,0,0,.06); transition: .2s ease; }
.vp-candidate:hover { transform: translateY(-3px); box-shadow: 0 10px 25px rgba(0,0,0,.1); }
.vp-candidate-photo { aspect-ratio: 1 / 1; height: auto; position: relative; overflow: hidden; background: #eee; }
.vp-candidate-photo img { width: 100%; height: 100%; object-fit: cover; object-position: center top; display: block; }
.vp-photo-fallback { width: 100%; height: 100%; display: flex; align-items: center; justify-content: center; background: #0a2744; color: var(--gold-light, #D4B86A); font-size: 34px; font-weight: 700; font-family: var(--font-serif); }
.vp-number { position: absolute; top: 0; left: 0; background: var(--gold-dark, #8B7340); color: #fff; padding: 8px 9px; font-weight: 800; font-size: 14px; z-index: 2; border-bottom-right-radius: 7px; }
.vp-candidate-info { padding: 10px 9px 10px; }
.vp-candidate-name { font-family: var(--font-serif); font-size: 17px; color: #0a2744; margin: 0 0 7px; line-height: 1.2; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.vp-candidate-company { color: var(--gold-dark, #8B7340); font-size: 11px; font-weight: 800; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; margin-bottom: 9px; }
.vp-vote-btn { width: 100%; height: 38px; background: #fff; border: 1px solid var(--gold-dark, #8B7340); border-radius: 6px; color: var(--gold-dark, #8B7340); font-size: 14px; font-weight: 700; letter-spacing: .3px; cursor: pointer; transition: .15s; display: flex; align-items: center; justify-content: center; gap: 7px; }
.vp-vote-btn:hover:not(:disabled) { background: #fff7e7; }
.vp-vote-btn:disabled { cursor: default; opacity: .55; }
.vp-vote-btn.selected { background: var(--gold-dark, #8B7340); color: #fff; opacity: 1; }
.vp-radio { width: 15px; height: 15px; border: 1.5px solid currentColor; border-radius: 50%; position: relative; flex-shrink: 0; }
.vp-vote-btn.selected .vp-radio::after { content: ""; width: 7px; height: 7px; background: #fff; border-radius: 50%; position: absolute; top: 2.5px; left: 2.5px; }
.vp-resultado { margin-top: 4px; }
.vp-resultado-bar { height: 6px; background: #f0ece0; border-radius: 999px; overflow: hidden; margin-bottom: 6px; }
.vp-resultado-bar div { height: 100%; background: var(--gold); }
.vp-resultado-pct { font-size: 12px; color: #6a6a6a; font-weight: 600; }

.vp-indicacao-card { background: repeating-linear-gradient(#fffaf0, #fffaf0), #fffaf0; border: 1.5px dashed var(--gold); border-radius: 12px; padding: 22px 18px; text-align: center; display: flex; flex-direction: column; align-items: center; }
.vp-indicacao-icon { width: 54px; height: 54px; border-radius: 50%; background: rgba(232,182,76,.16); color: var(--gold-dark, #8B7340); display: flex; align-items: center; justify-content: center; font-size: 22px; margin-bottom: 14px; }
.vp-indicacao-label { font-size: 11px; font-weight: 700; letter-spacing: 1px; color: var(--gold-dark, #8B7340); margin-bottom: 10px; }
.vp-indicacao-title { font-family: var(--font-serif); font-size: 16px; color: #0a2744; margin-bottom: 8px; }
.vp-indicacao-desc { font-size: 12px; line-height: 1.55; color: #6a6a6a; margin-bottom: 16px; }
.vp-indicacao-input { width: 100%; padding: 10px 14px; border-radius: 8px; border: 1px solid #d8dde3; font-size: 13px; background: #fff; margin-bottom: 12px; text-align: center; }
.vp-indicacao-btn { width: 100%; height: 44px; background: var(--gold-dark, #8B7340); color: #fff; border: none; border-radius: 8px; font-size: 13px; font-weight: 700; letter-spacing: .3px; cursor: pointer; transition: .15s; }
.vp-indicacao-btn:hover:not(:disabled) { background: var(--gold); }
.vp-indicacao-btn:disabled { opacity: .6; cursor: default; }

.vp-select-btn .vp-radio { margin: 0 auto; }
.vp-votar-wrap { display: flex; justify-content: center; margin-top: 8px; }
.vp-votar-btn:disabled { opacity: .35; cursor: not-allowed; pointer-events: none; }

.vp-pagination { display: flex; justify-content: center; gap: 10px; margin: 20px 0 26px; }
.vp-dot { width: 13px; height: 13px; border-radius: 50%; border: 1.5px solid #a99477; cursor: pointer; transition: .15s; }
.vp-dot:hover { transform: scale(1.15); }
.vp-dot.active { background: var(--gold); border-color: var(--gold); }
.vp-dot.voted:not(.active) { background: #c9d6c3; border-color: #a3b89a; }

.vp-categories-title { display: flex; align-items: center; justify-content: center; gap: 16px; color: #666; font-size: 11px; letter-spacing: 1px; font-weight: 700; margin-bottom: 10px; }
.vp-categories-title::before, .vp-categories-title::after { content: ""; width: 36px; height: 1px; background: var(--gold-dark, #8B7340); }
.vp-categories { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px; margin-bottom: 22px; }
.vp-category-card { border: 1px solid #eee4d5; background: #fff; border-radius: 999px; display: inline-flex; align-items: center; gap: 8px; padding: 8px 16px; cursor: pointer; transition: .15s; }
.vp-category-card:hover { box-shadow: 0 4px 10px rgba(0,0,0,.06); }
.vp-category-card.active { border-color: var(--gold); box-shadow: 0 3px 10px rgba(232,182,76,.18); }
.vp-category-icon { font-size: 13px; color: var(--gold-dark, #8B7340); flex-shrink: 0; display: flex; }
.vp-category-card span { color: #454545; font-size: 12.5px; line-height: 1.3; white-space: nowrap; }
.vp-category-card.active span { color: var(--gold-dark, #8B7340); font-weight: 700; }

@media (max-width: 1050px) {
  .vp-page { grid-template-columns: 1fr; }
  .vp-sidebar { padding: 32px 26px; }
  .vp-h1 { font-size: 30px; }
}

/* Celular/tablet: 2 colunas na vertical, 4 na horizontal (deitado) */
@media (max-width: 1024px) {
  .vp-candidates { gap: 10px; }
  .vp-photo-fallback { font-size: 26px; }
  .vp-number { padding: 5px 7px; font-size: 11px; }
  .vp-candidate-info { padding: 10px 8px 10px; }
  .vp-candidate-name { font-size: 12.5px; margin-bottom: 4px; }
  .vp-candidate-company { font-size: 10px; margin-bottom: 8px; }
  .vp-vote-btn { height: 34px; font-size: 10.5px; gap: 5px; }
  .vp-radio { width: 12px; height: 12px; }
  .vp-resultado-pct { font-size: 10px; }
  .vp-indicacao-card { padding: 12px 8px; }
  .vp-indicacao-icon { width: 34px; height: 34px; font-size: 14px; margin-bottom: 8px; }
  .vp-indicacao-label { font-size: 8.5px; margin-bottom: 5px; }
  .vp-indicacao-title { font-size: 12px; margin-bottom: 5px; }
  .vp-indicacao-desc { font-size: 9.5px; margin-bottom: 8px; }
  .vp-indicacao-input { font-size: 11px; padding: 7px 8px; margin-bottom: 8px; }
  .vp-indicacao-btn { height: 34px; font-size: 10.5px; }
}
@media (max-width: 1024px) and (orientation: portrait) {
  .vp-candidates { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 1024px) and (orientation: landscape) {
  .vp-candidates { grid-template-columns: repeat(4, 1fr); }
}

@media (max-width: 640px) {
  .vp-content { padding: 24px 18px; }
  .vp-counter { position: static; margin: 0 auto 16px; }
  .vp-cat-header { padding-right: 0; }
  .vp-categories { gap: 8px; }
}
