/* ==========================================================
   GERAL
========================================================== */

:root {

    --navy: #071a3d;
    --navy-dark: #04112b;

    --gold: #c9a24d;
    --gold-light: #e6c97b;

    --sky: #8ab4d6;

}

html {
    scroll-behavior: smooth;
}

body {
    font-family: 'Montserrat', sans-serif;
    color: #23304d;
}

.container {
    max-width: 1280px;
}

section {
    scroll-margin-top: 110px;
}

h1,
h2,
h3,
h4,
h5 {
    font-family: 'Lora', serif;
}

/* ==========================================================
   COMPONENTES GLOBAIS
========================================================== */

.section-light{background:#fff;}
.section-gray{background:#f8f9fa;}
.section-dark{background:var(--navy);}
.section-padding{padding:120px 0;}
.section-padding-sm{padding:80px 0;}

.section-header{
    max-width:850px;
    margin:0 auto 70px;
}
.section-header.center{text-align:center;}
.section-header.left{text-align:left;}

.section-tag{
    display:inline-block;
    margin-bottom:15px;
    color:#4aa3df;
    font-size:12px;
    font-weight:700;
    letter-spacing:.25em;
    text-transform:uppercase;
}

.section-title{
    margin-bottom:20px;
    color:var(--navy);
    font-size:42px;
    font-weight:700;
	margin:0 auto;
    line-height:1.2;
}

.section-divider{
    width:80px;
    height:4px;
    margin:0 0 30px;
    border-radius:30px;
    background:var(--gold);
}

.section-header.center .section-divider{
    margin-left:auto;
    margin-right:auto;
}

.section-text{
    color:#6c757d;
    line-height:1.8;
}

.section-lead{
    margin-bottom:20px;
    color:#495057;
    font-size:18px;
    line-height:1.9;
}


/* ==========================================================
   HEADER
========================================================== */

.header-regimo {

    position: fixed;

    top: 0;
    left: 0;

    width: 100%;

    height: 112px;

    background: rgba(255,255,255,1);

    backdrop-filter: blur(12px);

    border-bottom: 1px solid rgba(0,0,0,.06);

    z-index: 9999;

}

.container-nav {

    max-width: 1280px;

    margin: auto;

    height: 112px;

    padding: 0 20px;

    display: flex;

    align-items: center;

    justify-content: space-between;

}

.header-wrapper {

    display: flex;

    align-items: center;

    height: 110px;

}

.header-center {

    flex: 1;

    display: flex;

    align-items: center;

    justify-content: center;

    gap: 24px;

}

.header-actions {

    display: flex;

    align-items: center;

    gap: 26px;

}

/* ==========================================================
   LOGO
========================================================== */

.logo-area img {

    width: auto;
    height: 95px;

}

/* ==========================================================
   MENU BUTTON
========================================================== */

.menu-circle {

    --size: 56px;
    --bar-width: 24px;
    --bar-height: 2px;
    --gap: 7px;

    position: relative;

    width: var(--size);
    height: var(--size);

    border-radius: 50%;

    border: 1px solid rgba(28,45,100,.15);

    background: #fff;

}

.menu-circle span{

    position:absolute;

    left:50%;
    top:50%;

    width:var(--bar-width);
    height:var(--bar-height);

    margin-left:calc(var(--bar-width) / -2);

    background:#1d2b63;

    transition:.35s;
}

.menu-circle span:nth-child(1){

    transform:translateY(calc(var(--gap) * -1));

}

.menu-circle span:nth-child(2){

    transform:translateY(0);

}

.menu-circle span:nth-child(3){

    transform:translateY(var(--gap));

}

.menu-circle.active span:nth-child(1){

    transform:rotate(45deg);

}

.menu-circle.active span:nth-child(2){

    opacity:0;

}

.menu-circle.active span:nth-child(3){

    transform:rotate(-45deg);

}

/* ==========================================================
   HEADER INFO
========================================================== */

.header-info {

    display: flex;

    align-items: center;

    gap: 20px;

    font-size: 11px;

    font-weight: 700;

    text-transform: uppercase;

    letter-spacing: .16em;

}

.header-info-item {

    display: flex;

    align-items: center;

    gap: 8px;

    font-size: 12px;

    font-weight: 800;

    text-transform: uppercase;

    letter-spacing: .16em;

    color: rgba(37,48,86,1);

}

.phone-link {

    text-decoration: none;

    transition: .3s;

}

.phone-link:hover {

    color: var(--gold);

}

.header-icon {

    width: 14px;
    height: 14px;

    stroke: var(--gold);

    stroke-width: 2;

}

.header-separator {

    width: 1px;
    height: 14px;

    background: rgba(28,45,100,.15);

}



/* ==========================================================
   HEADER
   BOTÕES
========================================================== */

.btn-contact,
.btn-talk {

    display: flex;

    align-items: center;

    height: 44px;

    padding: 0 24px;

    border-radius: 999px;

    background: var(--navy);

    color: #fff;

    text-decoration: none;

    font-size: 11px;

    font-weight: 700;

    letter-spacing: .16em;

    text-transform: uppercase;

    transition: .3s;

}

.btn-talk:hover {

    background: var(--gold);

    color: var(--navy);

}

/* ==========================================================
   MENU TRIGGER (LEGADO)
========================================================== */

.menu-trigger {

    width: 54px;
    height: 54px;

    display: flex;

    flex-direction: column;

    justify-content: center;

    gap: 5px;

    border: 1px solid #ddd;

    border-radius: 50%;

    background: #fff;

}

.menu-trigger span {

    width: 20px;
    height: 2px;

    margin: auto;

    background: #182f63;

}


/* ==========================================================
   MEGA MENU
========================================================== */

.mega-menu {

    position: fixed;

    inset: 0;

    width: 100%;

    height: 100vh;

    background: var(--navy);

    z-index: 9000;

    opacity: 0;

    visibility: hidden;

    transform: translateY(-30px);

    transition:
        opacity .35s ease,
        transform .35s ease,
        visibility .35s;

}

.mega-menu.show {

    opacity: 1;

    visibility: visible;

    transform: translateY(0);

}

.mega-menu .container {

    max-width: 1300px;

    padding-top: 168px;

    padding-bottom: 0;

}


/* ==========================================================
   HEADER
========================================================== */

.menu-main-header {

    display: flex;

    justify-content: space-between;

    align-items: center;

    margin-top: 60px;

}

.menu-header {

    margin-bottom: 0;

}

.menu-header h6 {

    margin-bottom: 30px;

    color: var(--gold);

    font-family: 'Lora', serif;

    font-size: 12px;

    letter-spacing: .35em;

    text-transform: uppercase;

}

.menu-areas-count {

    margin: 0;

    color: rgba(255,255,255,.45);

    font-size: 12px;

    letter-spacing: .3em;

    text-transform: uppercase;

}


/* ==========================================================
   LINKS SUPERIORES
========================================================== */

.menu-links {

    display: grid;

    grid-template-columns: repeat(4,minmax(180px,1fr));

    gap: 28px 60px;

    margin-bottom: 0;

    padding-bottom: 28px;

    border-bottom: 1px solid rgba(255,255,255,.08);

}

.menu-links a {

    color: rgba(255,255,255,.85);

    text-decoration: none;

    font-size: 15px;

    font-weight: 500;

    letter-spacing: .05em;

    text-transform: uppercase;

    transition: .3s;

}

.menu-links a:hover {

    color: var(--gold);

}


/* ==========================================================
   SERVIÇOS
========================================================== */

.menu-services {

    margin-top: 0;

}

.menu-services .row {

    row-gap: 0;

}

.menu-services a {

    position: relative;

    display: flex;

    align-items: flex-start;

    gap: 16px;

    padding: 14px 0;

    border-bottom: 1px solid rgba(255,255,255,.08);

    text-decoration: none;

    color: #fff;

    font-family: 'Lora', serif;

    font-size: clamp(1.3rem,1.6vw,1.6rem);

    line-height: 1.15;

    text-transform: uppercase;

    transition: .3s;

}

.menu-services a:hover {

    color: var(--gold);

    padding-left: 10px;

}

.menu-services a span:nth-child(2) {

    flex: 1;

}


/* ==========================================================
   NUMERAÇÃO
========================================================== */

.menu-number {

    min-width: 22px;

    margin-top: 10px;

    flex-shrink: 0;

    color: var(--gold);

    font-size: 11px;

    letter-spacing: .15em;

}


/* ==========================================================
   SETA
========================================================== */

.menu-arrow {

    width: 18px;
    height: 18px;

    margin-left: auto;

    flex-shrink: 0;

    opacity: 0;

    transform: translateX(-10px);

    transition: .3s;

}

.menu-services a:hover .menu-arrow {

    opacity: 1;

    transform: translateX(0);

}


/* ==========================================================
   RODAPÉ
========================================================== */

.menu-footer {

    display: flex;

    justify-content: space-between;

    align-items: center;

    margin-top: 40px;

    padding-top: 40px;

    border-top: 1px solid rgba(255,255,255,.08);

}

.menu-footer h6 {

    color: rgba(255,255,255,.75);

    font-size: 13px;

    letter-spacing: .25em;

    text-transform: uppercase;

}

.menu-footer .btn-gold {

    display: flex;

    align-items: center;

    gap: 10px;

    height: 54px;

    padding: 0 34px;

    border: none;

    border-radius: 999px;

    background: var(--gold);

    color: var(--navy);

    font-size: 11px;

    font-weight: 700;

    letter-spacing: .15em;

    transition: .3s;

}

.menu-footer .btn-gold:hover {

    background: var(--gold-light);

    color: var(--navy);

}

.footer-contact-btn svg {

    width: 16px;
    height: 16px;

    transition: .3s;

}

.footer-contact-btn:hover svg {

    transform: translate(3px,-3px);

}


/* ==========================================================
   ACESSIBILIDADE
========================================================== */
/* ==========================================================
   FLOATING ACCESSIBILITY
========================================================== */

.floating-accessibility{

    position:fixed;
    top:50%;
    right:45px;
    transform:translateY(-50%);

    display:flex;
    flex-direction:column;
    gap:12px;

    z-index:2147483644;
}


/* ==========================================================
   VLIBRAS
========================================================== */

div[vw]{
    top:calc(50% + 125px) !important;
}

[vw-access-button]{
    opacity:1 !important;

    width:60px !important;
    height:60px !important;

    overflow:visible !important;
    pointer-events:auto !important;

    cursor:pointer !important;
}

/* ==========================================================
   ITEM
========================================================== */

.fab-item{

    position:relative;
    width:58px;
    height:58px;

}


/* ==========================================================
   CÍRCULO
========================================================== */

.fab-circle{

    position:absolute;
    right:0;
    top:0;

    width:58px;
    height:58px;

    border:none;
    border-radius:50%;

    background:#0D4D8B;
    color:#FFF;

    display:flex;
    align-items:center;
    justify-content:center;

    font-size:22px;

    text-decoration:none;

    cursor:pointer;

    box-shadow:0 8px 24px rgba(0,0,0,.18);

    transition:all .25s ease;

    z-index:2;

}

.fab-circle:hover{

    transform:scale(1.05);

}

.fab-circle.whatsapp{

    background:#25D366;

}


/* ==========================================================
   PAINEL
========================================================== */

.fab-expand{

    position:absolute;

    top:0;
    right:29px;

    height:58px;

    width:0;

    overflow:hidden;

    opacity:0;

    background:#0D4D8B;

    border-radius:29px;

    display:flex;
    flex-direction:column;
    justify-content:center;
    align-items:flex-start;

    padding-left:30px;
    padding-right:56px;

    box-sizing:border-box;

    white-space:nowrap;

    transition:
        width .25s ease,
        opacity .20s ease;

    z-index:1;

}


/* ==========================================================
   HOVER
========================================================== */

.fab-item:hover .fab-expand{

    width:255px;
    opacity:1;

}


/* ==========================================================
   PAINEL ACESSIBILIDADE
========================================================== */

.accessibility-panel{

    gap:5px;

}

.fab-title{

    color:#FFF;
    font-size:14px;
    font-weight:700;

}

.fab-actions{

    display:flex;
    gap:8px;

}

.fab-actions button{

    width:34px;
    height:34px;

    border:none;

    border-radius:18px;

    background:#FFF;

    color:#0D4D8B;

    font-weight:bold;

    cursor:pointer;

    transition:.20s;

}

.fab-actions button:hover{

    transform:translateY(-2px);

}


/* ==========================================================
   PAINEL SIMPLES
========================================================== */

.simple-panel{

    flex-direction:row;

    align-items:center;

    justify-content:flex-start;

    color:#FFF;

    font-size:15px;

    font-weight:600;

}

.whatsapp-panel{

    background:#25D366;

}


/* ==========================================================
   CONTRASTE
========================================================== */

body.high-contrast,
body.high-contrast html{

    background:#000 !important;
    color:#FFF !important;

}

body.high-contrast *{

    background:#000 !important;
    color:#FFF !important;

    border-color:#FFF !important;

    box-shadow:none !important;
    text-shadow:none !important;

}

body.high-contrast a{

    color:#FFF !important;

}

body.high-contrast input,
body.high-contrast textarea,
body.high-contrast select,
body.high-contrast button{

    background:#000 !important;
    color:#FFF !important;
    border:1px solid #FFF !important;

}

body.high-contrast svg{

    fill:#FFF !important;

}

body.high-contrast i{

    color:#FFF !important;

}

body.high-contrast img{

    filter:grayscale(100%) contrast(130%);

}

/* ==========================================================
   BOTÃO ORIGINAL VLIBRAS
========================================================== */

[vw-access-button]{

    opacity:0 !important;

    position:fixed !important;

    bottom:0 !important;

    right:0 !important;

    width:1px !important;

    height:1px !important;

    overflow:hidden !important;

    pointer-events:none !important;

}


/* ==========================================================
   MOBILE - PAINEL DE ACESSIBILIDADE
========================================================== */

@media (max-width: 991px){
	
	.floating-accessibility{

        right:15px;
        bottom:15px;
        top:auto;
        transform:none;

    }

    .accessibility-panel{

        width:0;
        opacity:0;

        overflow:hidden;

        transition:.25s;

    }

    .fab-item.open .accessibility-panel{

        width:300px;
        opacity:1;

    }

}




/* ==========================================================
   HERO
========================================================== */

.hero-regimo {

    position: relative;

    display: flex;

    align-items: center;

    overflow: hidden;

    min-height: 100vh;

    padding-top: 112px;

    color: #fff;

    background:
        linear-gradient(
            rgba(9,22,66,.88),
            rgba(9,22,66,.88)
        ),
        url("../img/hero.jpg");

    background-position: center top;
    background-repeat: no-repeat;
    background-size: cover;

}


/* ==========================================================
   SLIDES
========================================================== */

.hero-slide {

    position: absolute;

    inset: 0;

    display: flex;

    align-items: center;

    width: 100%;
    max-width: 1280px;

    margin: 0 auto;

    opacity: 0;

    visibility: hidden;

    transition: .8s ease;

}

.hero-slide.active {

    position: relative;

    opacity: 1;

    visibility: visible;

}


/* ==========================================================
   CONTEÚDO
========================================================== */

.hero-content {

    position: relative;

    z-index: 2;

    max-width: 760px;

}

.hero-tag {

    display: flex;

    align-items: center;

    gap: 12px;

    margin-bottom: 28px;

    color: var(--gold);

    font-family: "Lora", serif;

    font-size: 1.2rem;

}

.hero-tag-line {

    width: 34px;

    height: 1px;

    background: var(--gold);

}


/* ==========================================================
   TÍTULOS
========================================================== */

.hero-regimo h1 {

    margin-bottom: 35px;

    color: #fff;

    font-family: "Montserrat", sans-serif;

    font-size: clamp(3rem,3.3vw,5rem);

    font-weight: 700;

    line-height: .95;

}

.hero-regimo h1 span {

    display: block;

    color: #a8d2ff;

}

.hero-regimo p {

    max-width: 650px;

    margin-bottom: 45px;

    color: rgba(255,255,255,.85);

    font-size: 1.35rem;

    font-weight: 300;

    line-height: 1.4;

}


/* ==========================================================
   BOTÕES
========================================================== */

.hero-buttons {

    display: flex;

    gap: 16px;

    margin-bottom: 70px;

}

.hero-btn {

    display: flex;

    align-items: center;

    gap: 10px;

    height: 58px;

    padding: 0 34px;

    border: none;

    border-radius: 999px;

    background: var(--gold) !important;

    color: var(--navy) !important;

    font-size: 12px;

    font-weight: 700;

    letter-spacing: .18em;

    transition: .3s;

}

.hero-btn:hover {

    background: var(--gold-light) !important;

}

.hero-btn-outline {

    display: flex;

    align-items: center;

    height: 58px;

    padding: 0 34px;

    border: 1px solid rgba(255,255,255,.25);

    border-radius: 999px;

    color: #fff;

    text-decoration: none;

    font-size: 12px;

    font-weight: 700;

    letter-spacing: .18em;

    transition: .3s;

}

.hero-btn-outline:hover {

    background: rgba(255,255,255,.08);

    color: #fff;

}


/* ==========================================================
   PAGINAÇÃO
========================================================== */

.hero-slider {

    position: absolute;

    left: 50%;

    bottom: 60px;

    z-index: 50;

    display: flex;

    align-items: center;

    gap: 10px;

    transform: translateX(-50%);

}

.slide-dot,
.hero-slider span {

    width: 18px;

    height: 2px;

    background: rgba(255,255,255,.35);

    cursor: pointer;

    transition: .3s;

}

.slide-dot.active,
.hero-slider span.active {

    width: 40px;

    background: var(--gold);

}



/* ==========================================================
   SERVIÇOS
========================================================== */

.section-servicos {

    padding: 120px 0;

    background: #fff;

}

/* ==========================================================
   CABEÇALHO
========================================================== */

.services-header {

    margin-bottom: 80px;

    text-align: center;

}

.services-header .title-divider {

    width: 70px;

    height: 3px;

    margin: 0 auto 25px;

    background: var(--gold);

}

/* ==========================================================
   CARDS
========================================================== */

.service-card {

    position: relative;

    display: flex;

    flex-direction: column;

    overflow: hidden;

    min-height: 320px;

    height: 100%;

    padding: 35px;

    border: 1px solid #e8edf5;

    border-radius: 24px;

    background: #f8fafc;

    text-decoration: none;

    transition: .35s ease;

}

.service-card:hover {

    transform: translateY(-10px);

    background: var(--navy);

    border-color: var(--navy);

    box-shadow: 0 25px 60px rgba(19,41,91,.18);

}

/* ==========================================================
   ÍCONE
========================================================== */

.service-icon {

    display: flex;

    align-items: center;

    justify-content: center;

    width: 64px;

    height: 64px;

    margin-bottom: 28px;

    border-radius: 12px;

    background: rgba(77,156,255,.08);

    color: #4d9cff;

    transition: .35s;

}

.service-icon i {

    font-size: 22px;

}

.service-card:hover .service-icon {

    background: rgba(255,255,255,.12);

    color: var(--gold);

}

/* ==========================================================
   TÍTULO
========================================================== */

.service-card h3 {

    margin-bottom: 16px;

    color: #13295b;

    font-size: 1.25rem;

    font-weight: 900;

    line-height: 1.4;

    letter-spacing: .02em;

    transition: .35s;

}

.service-card:hover h3 {

    color: #fff;

}

/* ==========================================================
   TEXTO
========================================================== */

.service-card p {

    flex: 1;

    margin-bottom: 30px;

    color: #6b7280;

    font-size: .9rem;

    line-height: 1.35;

    transition: .35s;

}

.service-card:hover p {

    color: rgba(255,255,255,.72);

}

/* ==========================================================
   LINK
========================================================== */

.service-link {

    display: inline-flex;

    align-items: center;

    gap: 8px;

    margin-top: auto;

    color: #4d9cff;

    font-size: 11px;

    font-weight: 700;

    letter-spacing: .15em;

    text-transform: uppercase;

    transition: .35s;

}

.service-link i {

    transition: .35s;

}

.service-card:hover .service-link {

    color: var(--gold);

}

.service-card:hover .service-link i {

    transform: translate(2px,-2px);

}

/* ==========================================================
   BADGE
========================================================== */

.service-badge {

    position: absolute;

    top: 20px;

    right: 20px;

    padding: 6px 12px;

    border-radius: 999px;

    background: var(--gold);

    color: var(--navy);

    font-size: 9px;

    font-weight: 700;

    letter-spacing: .15em;

    text-transform: uppercase;

}

/* ==========================================================
   RODAPÉ
========================================================== */

.services-footer {

    margin-top: 50px;

    color: #6b7280;

    font-size: .95rem;

    font-style: italic;

    font-weight: 300;

    text-align: center;

}


/* ==========================================================
   INDICADORES
========================================================== */

.indicadores-section {

    padding: 60px 0;

    background: var(--navy);

}

/* ==========================================================
   CARD
========================================================== */

.indicador-card {

    height: 100%;

    padding: 35px 20px;

    text-align: center;

    border: 1px solid rgba(255,255,255,.08);

    border-radius: 24px;

    background: rgba(255,255,255,.04);

    backdrop-filter: blur(10px);

    transition: .35s ease;

}

.indicador-card:hover {

    transform: translateY(-8px);

    background: rgba(255,255,255,.08);

}

/* ==========================================================
   ÍCONE
========================================================== */

.indicador-icon {

    display: flex;

    align-items: center;

    justify-content: center;

    width: 70px;

    height: 70px;

    margin: 0 auto 25px;

    border-radius: 50%;

    background: rgba(201,164,92,.15);

}

.indicador-icon i {

    color: var(--gold);

    font-size: 28px;

}

/* ==========================================================
   CONTADOR
========================================================== */

.contador {

    display: inline-block;

    color: var(--gold);

    font-size: 3rem;

    font-weight: 700;

    line-height: 1;

    transition: transform .25s ease;

}

.sufixo {

    color: var(--gold);

    font-size: 2rem;

    font-weight: 700;

}

.indicador-card:hover .contador {

    transform: scale(1.05);

}

/* ==========================================================
   TEXTO
========================================================== */

.indicador-card p {

    margin-top: 15px;

    color: rgba(255,255,255,.75);

    font-size: 13px;

    font-weight: 600;

    letter-spacing: .15em;

    text-transform: uppercase;

}


/* ==========================================================
   SOBRE
========================================================== */

.sobre-section {

    padding: 120px 0;

    background: #f8f9fa;

}

/* ==========================================================
   INTRODUÇÃO
========================================================== */

.lead-text {

    margin-bottom: 20px;

    color: #495057;

    font-size: 18px;

    line-height: 1.9;

}

.sobre-section p {

    color: #6c757d;

    line-height: 1.9;

}

/* ==========================================================
   IMAGEM
========================================================== */

.sobre-image {

    position: relative;

}

.sobre-image img {

    width: 100%;

    border-radius: 24px;

    box-shadow: 0 15px 40px rgba(0,0,0,.12);

}

/* ==========================================================
   SELO PQTA
========================================================== */

.selo-pqta-card {

    position: absolute;

    left: 120px;

    bottom: -25px;

    display: flex;

    align-items: center;

    gap: 15px;

    width: 260px;

    padding: 18px;

    border-radius: 20px;

    background: #fff;

    box-shadow: 0 15px 40px rgba(0,0,0,.15);

    z-index: 10;

}

.selo-img {

    width: 80px;

    flex-shrink: 0;

}

.selo-img img {

    width: 100%;

    height: auto;

    box-shadow: none;

}

.selo-ano {

    display: block;

    margin-bottom: 4px;

    color: var(--gold);

    font-size: 11px;

    font-weight: 700;

    letter-spacing: .15em;

    text-transform: uppercase;

}

.selo-info h4 {

    margin: 0 0 5px;

    color: var(--navy);

    font-size: 1rem;

    font-weight: 700;

}

.selo-info small {

    display: block;

    color: #6c757d;

    line-height: 1.4;

}

/* ==========================================================
   BOTÃO
========================================================== */

.btn-sobre-expand {

    display: inline-flex;

    align-items: center;

    gap: 10px;

    margin-top: 30px;

    padding: 14px 30px;

    border: none;

    border-radius: 999px;

    background: #fff;

    color: var(--navy);

    font-size: 12px;

    font-weight: 700;

    letter-spacing: .15em;

    text-transform: uppercase;

    box-shadow: 0 10px 25px rgba(0,0,0,.08);

    transition: .3s ease;

}

.btn-sobre-expand:hover {

    background: var(--navy);

    color: #fff;

}

.btn-sobre-expand i {

    transition: .3s;

}

.btn-sobre-expand[aria-expanded="true"] i {

    transform: rotate(180deg);

}

/* ==========================================================
   ÁREA EXPANDIDA
========================================================== */

.sobre-expandido {

    margin-top: 20px;

    padding: 50px;

    border-radius: 24px;

    background: #fff;

    box-shadow: 0 10px 30px rgba(0,0,0,.05);

}

.sobre-bloco h3 {

    margin-bottom: 25px;

    color: var(--navy);

    font-size: 2rem;

    font-weight: 700;

}

.sobre-bloco p {

    margin-bottom: 20px;

}

/* ==========================================================
   MISSÃO • VISÃO
========================================================== */

.institucional-card {

    height: 100%;

    padding: 35px;

    border: 1px solid #e9ecef;

    border-radius: 24px;

    background: #f8f9fa;

    transition: .3s;

}

.institucional-card:hover {

    transform: translateY(-5px);

    box-shadow: 0 15px 35px rgba(0,0,0,.08);

}

.card-icon {

    display: flex;

    align-items: center;

    justify-content: center;

    width: 65px;

    height: 65px;

    margin-bottom: 20px;

    border-radius: 50%;

    background: rgba(201,164,92,.15);

}

.card-icon i {

    color: var(--gold);

    font-size: 24px;

}

.institucional-card h3 {

    margin-bottom: 15px;

    color: var(--navy);

    font-size: 1.5rem;

    font-weight: 700;

}

.institucional-card p {

    margin: 0;

}

/* ==========================================================
   BOXES
========================================================== */

.institucional-box {

    height: 100%;

    padding: 35px;

    border: 1px solid #e9ecef;

    border-radius: 24px;

    background: #f8f9fa;

}

.institucional-box h3 {

    margin-bottom: 25px;

    color: var(--navy);

    font-size: 1.5rem;

    font-weight: 700;

}

.institucional-box.destaque {

    border-left: 5px solid var(--gold);

}

.institucional-box p:last-child {

    margin-bottom: 0;

}

/* ==========================================================
   VALORES
========================================================== */

.valores-list {

    margin: 0;

    padding: 0;

    list-style: none;

}

.valores-list li {

    position: relative;

    margin-bottom: 15px;

    padding-left: 28px;

    color: #495057;

}

.valores-list li:last-child {

    margin-bottom: 0;

}

.valores-list li::before {

    content: "✓";

    position: absolute;

    left: 0;

    top: 0;

    color: var(--gold);

    font-weight: 700;

}



/* ==========================================================
   PRÊMIOS
========================================================== */

.premios-section {

    padding: 120px 0;

    background: #fff;

}

/* ==========================================================
   CABEÇALHO
========================================================== */

.premios-header {

    max-width: 850px;

    margin: 0 auto 70px;

    text-align: center;

}

.premios-header p {

    margin-top: 25px;

}

/* ==========================================================
   CARD
========================================================== */

.premio-card {

    position: relative;

    overflow: hidden;

    height: 100%;

    padding: 45px 35px;

    border: 1px solid #e9ecef;

    border-radius: 24px;

    background: #f8f9fa;

    transition: .35s ease;

}

.premio-card:hover {

    transform: translateY(-8px);

    border-color: var(--gold);

    box-shadow: 0 20px 40px rgba(0,0,0,.08);

}

.premio-card::before {

    content: "";

    position: absolute;

    top: 0;

    left: 0;

    width: 100%;

    height: 4px;

    background: var(--gold);

    transform: scaleX(0);

    transition: .35s;

}

.premio-card:hover::before {

    transform: scaleX(1);

}

/* ==========================================================
   ÍCONE
========================================================== */

.premio-icon {

    display: flex;

    align-items: center;

    justify-content: center;

    width: 75px;

    height: 75px;

    margin-bottom: 25px;

    border-radius: 50%;

    background: rgba(201,164,92,.15);

}

.premio-icon i {

    color: var(--gold);

    font-size: 30px;

}

/* ==========================================================
   CONTEÚDO
========================================================== */

.premio-ano {

    display: block;

    margin-bottom: 12px;

    color: #4aa3df;

    font-size: 12px;

    font-weight: 700;

    letter-spacing: .15em;

    text-transform: uppercase;

}

.premio-card h3 {

    margin-bottom: 18px;

    color: var(--navy);

    font-size: 2rem;

    font-weight: 700;

}

.premio-card p {

    margin: 0;

    color: #6c757d;

    line-height: 1.8;

}



/* ==========================================================
   NOTÍCIAS
========================================================== */

.noticias-section {

    padding: 120px 0;

    background: #f8f9fa;

}

/* ==========================================================
   CABEÇALHO
========================================================== */

.noticias-header {

    display: flex;

    align-items: flex-end;

    justify-content: space-between;

    gap: 40px;

    margin-bottom: 70px;

}

.noticias-header p {

    max-width: 420px;

    margin: 0;

}

/* ==========================================================
   CARD
========================================================== */

.noticia-card {

    height: 100%;

    padding: 35px;

    border: 1px solid #e9ecef;

    border-radius: 22px;

    background: #fff;

    transition: .35s ease;

}

.noticia-card:hover {

    transform: translateY(-6px);

    border-color: var(--gold);

    box-shadow: 0 15px 35px rgba(0,0,0,.08);

}

/* ==========================================================
   META
========================================================== */

.noticia-meta {

    display: flex;

    align-items: center;

    justify-content: space-between;

    margin-bottom: 25px;

}

.categoria {

    padding: 8px 14px;

    border-radius: 999px;

    background: rgba(15,44,82,.06);

    color: var(--navy);

    font-size: 11px;

    font-weight: 700;

    letter-spacing: .08em;

    text-transform: uppercase;

}

.data {

    color: #6c757d;

    font-size: 12px;

}

.data i {

    margin-right: 5px;

}

/* ==========================================================
   CONTEÚDO
========================================================== */

.noticia-card h3 {

    margin-bottom: 15px;

    color: var(--navy);

    font-size: 1.45rem;

    font-weight: 700;

    line-height: 1.4;

}

.noticia-card p {

    margin-bottom: 30px;

    color: #6c757d;

    line-height: 1.8;

}

/* ==========================================================
   LINK
========================================================== */

.noticia-link {

    display: inline-flex;

    align-items: center;

    gap: 8px;

    color: #4aa3df;

    font-size: 12px;

    font-weight: 700;

    letter-spacing: .15em;

    text-decoration: none;

    text-transform: uppercase;

    transition: .3s;

}

.noticia-link i {

    font-size: 12px;

}

.noticia-card:hover .noticia-link {

    color: var(--gold);

}

/* ==========================================================
   BOTÃO
========================================================== */

.btn-noticias {

    display: inline-flex;

    align-items: center;

    padding: 15px 30px;

    border-radius: 999px;

    background: var(--navy);

    color: #fff;

    font-weight: 600;

    text-decoration: none;

    transition: .3s;

}

.btn-noticias:hover {

    background: var(--gold);

    color: #fff;

}



/* ==========================================================
   CIRCUNSCRIÇÃO
========================================================== */

.circunscricao-section {

    padding: 120px 0;

    background: #fff;

}

/* ==========================================================
   INTRODUÇÃO
========================================================== */

.circunscricao-section .lead-text {

    margin-bottom: 25px;

}

.circunscricao-section p {

    line-height: 1.8;

}

/* ==========================================================
   ALERTA
========================================================== */

.circunscricao-alert {

    display: flex;

    align-items: flex-start;

    gap: 15px;

    margin-top: 35px;

    padding: 20px;

    border-left: 4px solid var(--gold);

    border-radius: 12px;

    background: #f8f9fa;

}

.circunscricao-alert i {

    margin-top: 3px;

    color: var(--gold);

    font-size: 18px;

}

.circunscricao-alert span {

    color: #6c757d;

    line-height: 1.7;

}

/* ==========================================================
   MUNICÍPIOS
========================================================== */

.municipios-card {

    margin-top: 35px;

    padding: 40px;

    border: 1px solid #e9ecef;

    border-radius: 24px;

    background: #f8f9fa;

    box-shadow: 0 10px 30px rgba(0,0,0,.05);

}

/* ==========================================================
   CABEÇALHO DO CARD
========================================================== */

.card-header-custom {

    display: flex;

    align-items: center;

    gap: 15px;

    margin-bottom: 35px;

}

.icon-box {

    display: flex;

    align-items: center;

    justify-content: center;

    width: 52px;

    height: 52px;

    border-radius: 50%;

    background: rgba(201,164,92,.15);

}

.icon-box i {

    color: var(--gold);

    font-size: 18px;

}

.card-header-custom h3 {

    margin: 0;

    color: var(--navy);

    font-size: 1.3rem;

    font-weight: 700;

}

/* ==========================================================
   GRID
========================================================== */

.municipios-grid {

    display: grid;

    grid-template-columns: repeat(2,1fr);

    gap: 15px 30px;

}

/* ==========================================================
   MATRIZ
========================================================== */

.municipio-matriz {

    margin-bottom: 15px;

    text-align: center;

}

.matriz-badge {

    display: inline-flex;

    align-items: center;

    gap: 8px;

    margin-bottom: 15px;

    padding: 6px 14px;

    border-radius: 999px;

    background: rgba(201,164,92,.15);

    color: var(--gold);

    font-size: 11px;

    font-weight: 700;

    letter-spacing: .15em;

    text-transform: uppercase;

}

.municipio-matriz .municipio-item {

    display: inline-flex;

    justify-content: center;

    min-width: 100%;

}

/* ==========================================================
   ITEM
========================================================== */

.municipio-item {

    position: relative;

    display: flex;

    align-items: center;

    overflow: hidden;

    padding: 0 0 14px 18px;

    border-bottom: 1px solid #e5e7eb;

    color: var(--navy);

    font-weight: 600;

    cursor: pointer;

    transition: .35s ease;

}

.municipio-item::before {

    content: "";

    position: absolute;

    top: 50%;

    left: 0;

    width: 8px;

    height: 8px;

    border-radius: 50%;

    background: var(--gold);

    transform: translateY(-50%);

    transition: .3s;

}

.municipio-item::after {

    content: "";

    position: absolute;

    left: 0;

    bottom: -1px;

    width: 0;

    height: 2px;

    background: var(--gold);

    transition: .35s;

}

.municipio-item i {

    margin-left: auto;

    color: var(--gold);

    font-size: 13px;

    opacity: 0;

    transform: translateX(-8px);

    transition: .35s;

}

.municipio-item:hover,
.municipio-item.active {

    padding-left: 40px;

}

.municipio-item:hover::before,
.municipio-item.active::before {

    width: 12px;

    height: 12px;

    transform: translateY(-50%) scale(1.6);

    box-shadow: 0 0 0 4px rgba(201,164,92,.18);
	
	left:10px;

}

.municipio-item:hover::after,
.municipio-item.active::after {

    width: 100%;

}

.municipio-item:hover i,
.municipio-item.active i {

    opacity: 1;

    transform: translateX(0);

}

/* ==========================================================
   MAPA
========================================================== */

.map-card {

    margin-top: 45px;

    overflow: hidden;

    border: 1px solid #e9ecef;

    border-radius: 24px;

    background: #fff;

    box-shadow: 0 10px 30px rgba(0,0,0,.05);

    transition: box-shadow .3s ease;

}

.map-card:hover {

    box-shadow: 0 18px 40px rgba(0,0,0,.08);

}

.map-header {

    display: flex;

    align-items: center;

    justify-content: space-between;

    gap: 30px;

    padding: 22px 30px;

    border-bottom: 1px solid #ececec;

}

.map-header > div {

    flex: 1;

}

.map-header small {

    display: block;

    margin-bottom: 6px;

    color: #9aa3ad;

    font-size: 11px;

    font-weight: 700;

    letter-spacing: .15em;

    text-transform: uppercase;

}

.map-header h4 {

    margin: 0;

    color: var(--navy);

    font-size: 32px;

    font-weight: 700;

    line-height: 1.2;

}

.map-description {

    margin-top: 10px;

    color: #6c757d;

    font-size: 14px;

    line-height: 1.6;

}

#mapLink {

    display: inline-flex;

    align-items: center;

    gap: 8px;

    flex-shrink: 0;

    color: var(--navy);

    font-size: 15px;

    font-weight: 600;

    text-decoration: none;

    transition: .3s;

}

#mapLink:hover {

    color: var(--gold);

}

#mapLink i {

    font-size: 13px;

}

.map-body {

    padding: 18px;

}

.map-wrapper {

    position: relative;

    overflow: hidden;

    border-radius: 18px;

}

#mapFrame {

    display: block;

    width: 100%;

    height: 340px;

    border: 0;

    border-radius: 18px;

    pointer-events: none;

    transition: opacity .35s ease;

}

.map-overlay {

    position: absolute;

    inset: 0;

    display: flex;

    align-items: center;

    justify-content: center;

    gap: 10px;

    background: rgba(255,255,255,.5);

    color: var(--navy);

    font-weight: 600;

    cursor: pointer;

    transition: .25s;

}

.map-overlay:hover {

    background: rgba(255,255,255,.12);

}

.map-wrapper.interactive #mapFrame {

    pointer-events: auto;

}

.map-wrapper.interactive .map-overlay {

    opacity: 0;

    pointer-events: none;

}

/* ==========================================================
   FOTO DA CIDADE
========================================================== */

.cidade-card {

    display: flex;

    flex-direction: column;

    height: 100%;

    overflow: hidden;

    border: 1px solid #e9ecef;

    border-radius: 18px;

    background: #fff;

}

.cidade-foto {

    flex: 1;

    min-height: 340px;

    background-position: center;

    background-size: cover;

    transition: .5s;

}

.cidade-content {

    padding: 20px;

    border-top: 1px solid #eee;

}

.cidade-content small {

    display: block;

    margin-bottom: 5px;

    color: #999;

    font-size: 11px;

    letter-spacing: .08em;

    text-transform: uppercase;

}

.cidade-content h5 {

    margin: 0;

    color: var(--navy);

    font-size: 24px;

    font-weight: 700;

}



/* ==========================================================
   TRABALHE CONOSCO
========================================================== */

.trabalhe-section {

    padding: 0;

    background: #fff;

}

/* ==========================================================
   CHAMADA
========================================================== */

.trabalhe-callout {

    width: 100%;

    background: linear-gradient(135deg, var(--navy) 0%, var(--navy) 100%);

    box-shadow: 0 15px 40px rgba(15,44,82,.10);

}

.trabalhe-callout-inner {

    display: flex;

    align-items: center;

    justify-content: space-between;

    gap: 40px;

    width: 100%;

    padding: 45px 0;

}

.callout-content {

    flex: 1;

}

.trabalhe-callout .section-tag {

    display: inline-flex;

    align-items: center;

    gap: 8px;

    margin-bottom: 12px;

    color: var(--gold);

}

.trabalhe-callout h2 {

    margin: 0 0 10px;

    color: #fff;

    font-size: 36px;

    font-weight: 700;

    line-height: 1.2;

}

.trabalhe-callout p {

    max-width: 700px;

    margin: 0;

    color: rgba(255,255,255,.75);

    font-size: 15px;

    line-height: 1.8;

}

/* ==========================================================
   BOTÃO
========================================================== */

.btn-trabalhe-expand {

    display: inline-flex;

    align-items: center;

    justify-content: center;

    gap: 10px;

    flex-shrink: 0;

    min-width: 220px;

    height: 52px;

    padding: 0 30px;

    border: 0;

    border-radius: 999px;

    background: #fff;

    color: var(--navy);

    font-size: 11px;

    font-weight: 700;

    letter-spacing: .12em;

    text-transform: uppercase;

    transition: .3s;

}

.btn-trabalhe-expand:hover {

    transform: translateY(-2px);

}

.btn-trabalhe-expand i {

    transition: .3s;

}

.btn-trabalhe-expand.active i {

    transform: rotate(180deg);

}

/* ==========================================================
   CONTEÚDO
========================================================== */

.trabalhe-expand-content {

    overflow: hidden;

    max-height: 0;

    opacity: 0;

    transition: .6s ease;

}

.trabalhe-expand-content.show {

    max-height: 2000px;

    margin-top: 70px;

    opacity: 1;

}

.trabalhe-info h3 {

    margin: 20px 0;

    color: var(--navy);

    font-size: 56px;

    font-weight: 700;

}

.trabalhe-info p {

    margin-bottom: 35px;

    color: #5f6b7a;

    line-height: 1.9;

}

.trabalhe-beneficios {

    margin: 0;

    padding: 0;

    list-style: none;

}

.trabalhe-beneficios li {

    display: flex;

    align-items: flex-start;

    gap: 12px;

    margin-bottom: 18px;

    color: #5f6b7a;

    font-size: 15px;

}

.trabalhe-beneficios i {

    margin-top: 3px;

    color: var(--gold);

}

/* ==========================================================
   FORMULÁRIO
========================================================== */

.trabalhe-form-card {

    margin-bottom: 60px;

    padding: 45px;

    border-radius: 30px;

    background: var(--navy);

    color: #fff;

}

.trabalhe-form-card h4 {

    margin-bottom: 30px;

    color: var(--gold);

    font-size: 30px;

    font-weight: 700;

}

.trabalhe-form-card .form-control {

    padding: 14px 18px;

    border: 1px solid rgba(255,255,255,.15);

    border-radius: 12px;

    background: rgba(255,255,255,.08);

    color: #fff;

}

.trabalhe-form-card .form-control:focus {

    border-color: var(--gold);

    background: rgba(255,255,255,.12);

    box-shadow: none;

    color: #fff;

}

.trabalhe-form-card .form-control::placeholder {

    color: rgba(255,255,255,.55);

}

.btn-enviar-curriculo {

    display: flex;

    align-items: center;

    justify-content: center;

    gap: 10px;

    width: 100%;

    padding: 16px;

    border: 0;

    border-radius: 999px;

    background: var(--gold);

    color: var(--navy);

    font-size: 12px;

    font-weight: 700;

    letter-spacing: .12em;

    text-transform: uppercase;

    transition: .3s;

}

.btn-enviar-curriculo:hover {

    background: #e3c45b;

}

/* ==========================================================
   UPLOAD
========================================================== */

.curriculo-upload {

    width: 100%;

    margin: 0;

    cursor: pointer;

}

.curriculo-upload input {

    display: none;

}

.curriculo-upload span {

    display: flex;

    align-items: center;

    gap: 12px;

    width: 100%;

    padding: 14px 18px;

    border: 1px dashed rgba(255,255,255,.25);

    border-radius: 12px;

    background: rgba(255,255,255,.08);

    color: rgba(255,255,255,.75);

    transition: .3s;

}

.curriculo-upload:hover span {

    border-color: var(--gold);

    color: #fff;

}

.curriculo-upload i {

    color: var(--gold);

}



/* ==========================================================
   ORIENTAÇÕES / FAQ
========================================================== */

.orientacoes-section {

    padding: 120px 0;

    background: #f8f9fa;

}

/* ==========================================================
   CABEÇALHO
========================================================== */

.orientacoes-header {

    max-width: 760px;

    margin: 0 auto 70px;

    text-align: center;

}

.orientacoes-header p {

    margin: 0;

    font-size: 17px;

}

/* ==========================================================
   FAQ
========================================================== */

.faq-accordion {

    max-width: 900px;

    margin: 0 auto;

}

.faq-accordion .accordion-item {

    margin-bottom: 15px;

    overflow: hidden;

    border: 0;

    border-radius: 16px;

    background: #fff;

    box-shadow: 0 8px 25px rgba(0,0,0,.05);

}

.faq-accordion .accordion-button {

    padding: 24px 30px;

    background: #fff;

    color: var(--navy);

    font-size: 1.1rem;

    font-weight: 600;

    box-shadow: none;

}

.faq-accordion .accordion-button:not(.collapsed),

.faq-accordion .accordion-button:focus {

    background: #fff;

    color: var(--navy);

    box-shadow: none;

}

.faq-accordion .accordion-button::after {

    width: 36px;

    height: 36px;

    flex-shrink: 0;

    border-radius: 50%;

    background-color: var(--gold);

    background-position: center;

    background-size: 14px;

}

.faq-accordion .accordion-body {

    padding: 0 30px 30px;

    color: #6c757d;

    font-size: 16px;

    line-height: 1.8;

}

/* ==========================================================
   ACCORDION DE CONTEÚDO
========================================================== */

.content-accordion {

    display: flex;

    flex-direction: column;

    gap: 28px;

}

/* ==========================================================
   ITEM
========================================================== */

.content-item {

    overflow: hidden;

    border: 1px solid #edf1f5;

    border-radius: 22px;

    background: #fff;

    box-shadow: 0 15px 45px rgba(15,44,82,.05);

    transition: .35s;

}

.content-item:hover {

    transform: translateY(-3px);

    box-shadow: 0 25px 60px rgba(15,44,82,.08);

}

.content-item.active {

    border-color: #d2b27d;

}

/* ==========================================================
   HEADER
========================================================== */

.content-header {

    display: flex;

    align-items: center;

    justify-content: space-between;

    gap: 30px;

    width: 100%;

    padding: 30px 35px;

    border: 0;

    background: none;

    cursor: pointer;

    text-align: left;

}

.content-summary {

    flex: 1;

}

.content-category {

    display: inline-block;

    margin-bottom: 12px;

    color: var(--gold);

    font-size: 13px;

    font-weight: 700;

    letter-spacing: .08em;

    text-transform: uppercase;

}

.content-summary h3 {

    margin: 0 0 12px;

    color: var(--navy);

    font-size: 30px;

    font-weight: 700;

    line-height: 1.35;

}

.content-summary p {

    margin: 0;

    color: #667085;

    line-height: 1.8;

}

/* ==========================================================
   BOTÃO
========================================================== */

.content-toggle {

    display: flex;

    align-items: center;

    justify-content: center;

    flex-shrink: 0;

    width: 58px;

    height: 58px;

    border: 1px solid #e5e7eb;

    border-radius: 50%;

    color: var(--gold);

    font-size: 20px;

    transition: .35s;

}

.content-toggle i {

    transition: .35s;

}

.content-item.active .content-toggle {

    border-color: var(--gold);

    background: var(--gold);

    color: #fff;

}

.content-item.active .content-toggle i {

    transform: rotate(45deg);

}

/* ==========================================================
   CONTEÚDO
========================================================== */

.content-content {

    overflow: hidden;

    max-height: 0;

    transition: max-height .45s ease;

}

.content-inner {

    padding: 0 35px 35px;

}

.content-inner::before {

    content: "";

    display: block;

    width: 100%;

    height: 1px;

    margin-bottom: 30px;

    background: #edf1f5;

}

.content-inner h4 {

    margin: 0 0 18px;

    color: var(--navy);

    font-size: 22px;

}

.content-inner p {

    margin-bottom: 18px;

    color: #667085;

    line-height: 1.9;

}

.content-inner ul {

    margin: 20px 0;

    padding-left: 22px;

}

.content-inner li {

    margin-bottom: 10px;

    color: #667085;

    line-height: 1.8;

}

.content-inner a {

    color: var(--gold);

    font-weight: 700;

    text-decoration: none;

}

.content-inner a:hover {

    text-decoration: underline;

}

/* ==========================================================
   DOWNLOAD
========================================================== */

.btn-download {

    display: inline-flex;

    align-items: center;

    gap: 12px;

    margin-top: 10px;

    padding: 14px 26px;

    border-radius: 999px;

    background: var(--navy);

    color: #fff !important;

    text-decoration: none !important;

    transition: .3s;

}

.btn-download:hover {

    background: var(--gold);

}

.btn-download i {

    font-size: 18px;

}



/* ==========================================================
   OUVIDORIA
========================================================== */

.ouvidoria-section {

    padding: 120px 0;

    background: #fff;

}

/* ==========================================================
   CABEÇALHO
========================================================== */

.ouvidoria-header {

    margin-bottom: 70px;

    text-align: center;

}

.ouvidoria-header h2 {

    margin: 15px 0 0;

    color: var(--navy);

    font-family: "Cormorant Garamond", serif;

    font-size: 64px;

    font-weight: 700;

    line-height: 1;

}

.ouvidoria-header p {

    max-width: 700px;

    margin: auto;

    color: #6b7280;

    font-size: 18px;

    line-height: 1.8;

}

/* ==========================================================
   FORMULÁRIO
========================================================== */

#formOuvidoria {

    padding: 42px;

    border: 1px solid #e8edf4;

    border-radius: 32px;

    background: #f8f9fb;

}

#formOuvidoria .form-control,
#formOuvidoria .form-select {

    height: 58px;

    border: 1px solid #dfe4ea;

    border-radius: 14px;

    font-size: 15px;

}

#formOuvidoria textarea.form-control {

    height: 160px;

    resize: none;

    padding-top: 15px;

}

#formOuvidoria .form-control:focus,
#formOuvidoria .form-select:focus {

    border-color: var(--gold);

    box-shadow: none;

}

.btn-ouvidoria {

    display: inline-flex;

    align-items: center;

    gap: 10px;

    margin-top: 60px;

    padding: 15px 30px;

    border: 0;

    border-radius: 999px;

    background: var(--navy);

    color: #fff;

    font-size: 12px;

    font-weight: 700;

    letter-spacing: .18em;

    text-transform: uppercase;

    transition: .3s;

}

.btn-ouvidoria:hover {

    background: var(--gold);

    color: var(--navy);

}

.btn-ouvidoria i {

    font-size: 14px;

}

/* ==========================================================
   ALERTA
========================================================== */

#alertaDenuncia {

    border: 0;

    border-radius: 12px;

    background: #f3e8bc;

    color: #806300;

}

/* ==========================================================
   CARD
========================================================== */

.card-ouvidoria {

    display: flex;

    flex-direction: column;

    justify-content: center;

    min-height: 100px;

    margin-bottom: 24px;

    padding: 22px 42px 42px;

    border-radius: 28px;

    background: linear-gradient(135deg, var(--navy) 0%, #051030 100%);

    color: #fff;

}

.card-ouvidoria .card-icon {

    margin-bottom: 15px;

}

.card-ouvidoria .card-icon i {

    color: var(--gold);

    font-size: 24px;

}

.card-ouvidoria h3 {

    margin-bottom: 18px;

    color: #fff;

    font-family: "Cormorant Garamond", serif;

    font-size: 24px;

    font-weight: 700;

    line-height: 1;

}

.card-ouvidoria p {

    margin: 0;

    color: rgba(255,255,255,.75);

    font-size: 13px;

    line-height: 1.6;

}

/* ==========================================================
   CANAIS
========================================================== */

.canal-link {

    display: flex;

    align-items: center;

    justify-content: space-between;

    min-height: 135px;

    margin-bottom: 20px;

    padding: 32px 36px;

    border: 2px solid var(--gold);

    border-radius: 24px;

    color: var(--navy);

    text-decoration: none;

    transition: .35s;

}

.canal-link:hover {

    transform: translateY(-4px);

}

.canal-link small {

    display: block;

    margin-bottom: 10px;

    color: #3c7fb7;

    font-size: 10px;

    font-weight: 700;

    letter-spacing: .20em;

    text-transform: uppercase;

}

.canal-link h4 {

    margin-bottom: 10px;

    color: var(--navy);

    font-family: "Cormorant Garamond", serif;

    font-size: 22px;

    font-weight: 700;

}

.canal-link p {

    margin: 0;

    color: #6b7280;

}

.canal-link i {

    flex-shrink: 0;

    font-size: 32px;

    transition: .35s;

}

.canal-link:hover i {

    transform: rotate(45deg);

}

/* ==========================================================
   VARIANTE ESCURA
========================================================== */

.canal-dark {

    border-color: var(--navy);

    background: var(--navy);

    color: #fff;

}

.canal-dark small {

    color: var(--gold);

}

.canal-dark h4 {

    color: #fff;

}

.canal-dark p {

    color: rgba(255,255,255,.65);

}

.canal-dark i {

    color: var(--gold);

}



/* ==========================================================
   FOOTER
========================================================== */

.footer-regimo {

    padding: 90px 0 35px;

    background: var(--navy);

    color: #fff;

}

/* ==========================================================
   IDENTIDADE
========================================================== */

.footer-logo {

    max-width: 180px;

    margin-bottom: 30px;

}

.footer-text {

    color: rgba(255,255,255,.65);

    font-size: 15px;

    line-height: 1.9;

}

.footer-title {

    margin-bottom: 30px;

    color: var(--gold);

    font-family: "Cormorant Garamond", serif;

    font-size: 22px;

    font-weight: 700;

}

/* ==========================================================
   CONTATOS
========================================================== */

.footer-info {

    display: flex;

    flex-direction: column;

    gap: 20px;

}

.footer-item {

    display: flex;

    align-items: flex-start;

    gap: 15px;

    color: rgba(255,255,255,.75);

    line-height: 1.8;

}

.footer-item i {

    flex-shrink: 0;

    margin-top: 2px;

    color: var(--gold);

    font-size: 18px;

}

.footer-item-inline i {

    margin-top: 0;

}

.footer-item a {

    color: #fff;

    text-decoration: none;

    transition: .3s;

}

.footer-item a:hover {

    color: var(--gold);

}

/* ==========================================================
   BOTÃO
========================================================== */

.btn-whatsapp-footer {

    display: inline-flex;

    align-items: center;

    gap: 10px;

    margin-top: 30px;

    padding: 14px 28px;

    border-radius: 999px;

    background: var(--gold);

    color: var(--navy);

    font-size: 12px;

    font-weight: 700;

    letter-spacing: .15em;

    text-decoration: none;

    text-transform: uppercase;

    transition: .3s;

}

.btn-whatsapp-footer:hover {

    transform: translateY(-2px);

    background: #e4c688;

    color: var(--navy);

}

/* ==========================================================
   RODAPÉ
========================================================== */

.footer-bottom {

    display: flex;

    align-items: center;

    justify-content: space-between;

    flex-wrap: wrap;

    gap: 15px;

    margin-top: 70px;

    padding-top: 30px;

    border-top: 1px solid rgba(255,255,255,.10);

}

.footer-bottom p {

    margin: 0;

    color: rgba(255,255,255,.45);

    font-size: 13px;

}

.footer-slogan {

    color: rgba(255,255,255,.70) !important;

    font-family: "Cormorant Garamond", serif;

    font-size: 18px !important;

    font-style: italic;

}




/*==================================================
MODAL — TEMPLATE GRÁFICO
==================================================*/


/*==================================================
CONTAINER PRINCIPAL
==================================================*/

.graphic-featured-modal{

    position:fixed;

    inset:0;

    z-index:999999;

    display:flex;

    align-items:center;

    justify-content:center;

    padding:40px;

    visibility:hidden;

    opacity:0;

    transition:
        opacity .3s ease,
        visibility .3s ease;

}


/*==================================================
MODAL ABERTO
==================================================*/

.graphic-featured-modal.is-open{

    visibility:visible;

    opacity:1;

}


/*==================================================
BACKDROP
==================================================*/

.graphic-featured-backdrop{

    position:absolute;

    inset:0;

    background:rgba(5,12,28,.88);

    backdrop-filter:blur(8px);

    -webkit-backdrop-filter:blur(8px);

}


/*==================================================
DIALOG
==================================================*/

.graphic-featured-dialog{

    position:relative;

    z-index:2;

    display:flex;

    align-items:center;

    justify-content:center;

    width:min(700px, calc(100vw - 40px));

    height:min(700px, calc(100vh - 100px));

}


/*==================================================
STAGE
==================================================*/

.graphic-featured-stage{

    position:relative;

    display:flex;

    align-items:center;

    justify-content:center;

    width:100%;

    height:100%;

    overflow:visible;

}


/*==================================================
CONTAINER DO TEMPLATE
==================================================*/

/*
IMPORTANTE:

O template continua sendo 1080x1080.

Não usamos 500px aqui.

O scale será aplicado SOMENTE
no .post pelo JavaScript.
*/

.graphic-featured-post{

    position:relative;

    display:block;

    flex:0 0 1080px;

    width:1080px;

    height:1080px;

    min-width:1080px;

    min-height:1080px;

}


/*==================================================
BOTÃO FECHAR
==================================================*/

.graphic-featured-close{

    position:absolute;

    top:-18px;

    right:-18px;

    z-index:100;

    display:flex;

    align-items:center;

    justify-content:center;

    width:40px;

    height:40px;

    padding:0;

    border:0;

    border-radius:50%;

    background:#fff;

    color:#22396F;

    font-family:Arial,sans-serif;

    font-size:25px;

    font-weight:400;

    line-height:1;

    cursor:pointer;

    box-shadow:
        0 8px 25px rgba(0,0,0,.20);

    transition:
        transform .2s ease,
        background .2s ease;

}


.graphic-featured-close:hover{

    transform:scale(1.08);

    background:#f5f5f5;

}


/*==================================================
BODY COM MODAL ABERTO
==================================================*/

body.graphic-modal-open{

    overflow:hidden !important;

}


/*==================================================
TABLET
==================================================*/

@media(max-width:767px){

    .graphic-featured-modal{

        padding:15px;

    }


    .graphic-featured-dialog{

        width:calc(100vw - 30px);

        height:calc(100vh - 50px);

        max-width:500px;

        max-height:500px;

    }


    .graphic-featured-close{

        top:-10px;

        right:-10px;

        width:38px;

        height:38px;

        font-size:24px;

    }

}


/*==================================================
CELULAR PEQUENO
==================================================*/

@media(max-width:480px){

    .graphic-featured-modal{

        padding:10px;

    }


    .graphic-featured-dialog{

        width:calc(100vw - 20px);

        height:calc(100vh - 30px);

    }


    .graphic-featured-close{

        top:-8px;

        right:-8px;

        width:36px;

        height:36px;

        font-size:23px;

    }

}












/* ==========================================================
   RESPONSIVO
========================================================== */











/* ==========================================================
   RESPONSIVO
   <= 1200px
========================================================== */

@media (max-width:1200px){

    /* ======================================================
       GERAL
    ====================================================== */

    .container,
    .container-nav{

        max-width:1140px;

        padding-left:25px;
        padding-right:25px;

    }

    .section-padding{

        padding:100px 0;

    }

    .section-header{

        margin-bottom:60px;

    }

    /* ======================================================
       HEADER
    ====================================================== */

    .header-center{

        gap:18px;

    }

    .header-actions{

        gap:18px;

    }

    .header-info{

        gap:14px;

    }

    .header-info-item{

        font-size:11px;

        letter-spacing:.12em;

    }

    .btn-contact,
    .btn-talk{

        padding:0 20px;

    }

    /* ======================================================
       MEGA MENU
    ====================================================== */

    .mega-menu .container{

        padding-top:145px;

    }

    .menu-links{

        gap:24px 35px;

    }

    .menu-services a{

        font-size:1.35rem;

    }

    /* ======================================================
       HERO
    ====================================================== */

    .hero-content{

        max-width:680px;

    }

    .hero-regimo h1{

        font-size:clamp(2.8rem,4vw,4.4rem);

    }

    .hero-regimo p{

        max-width:560px;

        font-size:1.15rem;

    }

    /* ======================================================
       SOBRE
    ====================================================== */

    .selo-pqta-card{

        left:60px;

    }

    /* ======================================================
       CIRCUNSCRIÇÃO
    ====================================================== */

    .map-header h4{

        font-size:28px;

    }

    .cidade-foto{

        min-height:300px;

    }

    /* ======================================================
       TRABALHE CONOSCO
    ====================================================== */

    .trabalhe-callout-inner{

        gap:30px;

    }

    .trabalhe-info h3{

        font-size:46px;

    }

    /* ======================================================
       OUVIDORIA
    ====================================================== */

    .ouvidoria-header h2{

        font-size:56px;

    }

}






/* ==========================================================
   RESPONSIVO
   <= 991px
========================================================== */

@media (max-width:991px){

    /* ======================================================
       GERAL
    ====================================================== */

    .section-padding{

        padding:90px 0;

    }

    .section-padding-sm{

        padding:70px 0;

    }

    .section-header{

        margin-bottom:50px;

    }

    .section-title{

        font-size:36px;

    }

    .section-lead{

        font-size:17px;

    }

    /* ======================================================
       HEADER
    ====================================================== */

    .header-regimo{

        height:90px;

    }

    .container-nav{

        height:90px;

    }

    .header-wrapper{

        height:90px;

    }

    .logo-area img{

        height:70px;

    }

    .header-center{

        display:none;

    }

    .header-actions{

        gap:15px;

    }

    .btn-contact{

        display:none;

    }

    .btn-talk{

        height:46px;

        padding:0 20px;

        font-size:10px;

    }

    .menu-circle{

        width:50px;

        height:50px;

    }

    /* ======================================================
       MEGA MENU
    ====================================================== */

    .mega-menu{

        overflow-y:auto;

    }

    .mega-menu .container{

        padding-top:120px;

        padding-bottom:50px;

    }

    .menu-main-header{

        margin-top:0;

        flex-direction:column;

        align-items:flex-start;

        gap:15px;

    }

    .menu-links{

        grid-template-columns:repeat(2,1fr);

        gap:20px;

    }

    .menu-services{

        margin-top:30px;

    }

    .menu-services a{

        font-size:1.2rem;

    }

    .menu-footer{

        flex-direction:column;

        align-items:flex-start;

        gap:25px;

    }

    /* ======================================================
       HERO
    ====================================================== */

    .hero-regimo{

        min-height:760px;

        text-align:center;

    }

    .hero-content{

        max-width:100%;

    }

    .hero-tag{

        justify-content:center;

    }

    .hero-regimo h1{

        font-size:3.2rem;

    }

    .hero-regimo p{

        max-width:700px;

        margin-left:auto;

        margin-right:auto;

    }

    .hero-buttons{

        justify-content:center;

        flex-wrap:wrap;

    }

    /* ======================================================
       SERVIÇOS
    ====================================================== */

    .service-card{

        min-height:auto;

    }

    /* ======================================================
       SOBRE
    ====================================================== */

    .sobre-image{

        margin-top:60px;

    }

    .selo-pqta-card{

        left:40px;

        bottom:-20px;

    }

    .sobre-expandido{

        padding:35px;

    }

    /* ======================================================
       PRÊMIOS
    ====================================================== */

    .premios-header{

        margin-bottom:50px;

    }

    /* ======================================================
       NOTÍCIAS
    ====================================================== */

    .noticias-header{

        flex-direction:column;

        align-items:flex-start;

        gap:25px;

    }

    .noticias-header p{

        max-width:100%;

    }

    /* ======================================================
       CIRCUNSCRIÇÃO
    ====================================================== */

    .municipios-card{

        padding:30px;

    }

    .municipios-grid{

        gap:15px;

    }

    .map-header{

        flex-direction:column;

        align-items:flex-start;

        gap:15px;

    }

    .map-header h4{

        font-size:26px;

    }

    .cidade-card{

        margin-bottom:30px;

    }

    /* ======================================================
       TRABALHE CONOSCO
    ====================================================== */

    .trabalhe-callout-inner{

        flex-direction:column;

        align-items:flex-start;

    }

    .btn-trabalhe-expand{

        width:100%;

    }

    .trabalhe-info{

        margin-bottom:40px;

    }

    .trabalhe-info h3{

        font-size:42px;

    }

    .trabalhe-form-card{

        padding:35px;

    }

    /* ======================================================
       FAQ
    ====================================================== */

    .content-header{

        padding:25px;

    }

    .content-summary h3{

        font-size:26px;

    }

    .content-inner{

        padding:0 25px 25px;

    }

    /* ======================================================
       OUVIDORIA
    ====================================================== */

    .ouvidoria-header h2{

        font-size:48px;

    }

    #formOuvidoria{

        padding:30px;

    }

    .card-ouvidoria{

        padding:30px;

    }

    /* ======================================================
       FOOTER
    ====================================================== */

    .footer-regimo{

        text-align:center;

    }

    .footer-item{

        justify-content:center;

    }

    .footer-bottom{

        flex-direction:column;

        text-align:center;

    }

}









/* ==========================================================
   RESPONSIVO
   <= 767px
========================================================== */

@media (max-width:767px){

    /* ======================================================
       GERAL
    ====================================================== */

    .section-padding{

        padding:70px 0;

    }

    .section-padding-sm{

        padding:55px 0;

    }

    .section-header{

        margin-bottom:40px;

    }

    .section-title{

        font-size:30px;

    }

    .section-lead{

        font-size:16px;

        line-height:1.8;

    }

    .section-text{

        font-size:15px;

    }

    /* ======================================================
       HEADER
    ====================================================== */

    .header-regimo{

        height:80px;

    }

    .container-nav{

        height:80px;

        padding:0 18px;

    }

    .header-wrapper{

        height:80px;

    }

    .logo-area img{

        height:58px;

    }

    .btn-talk{

        display:none;

    }

    .menu-circle{

        width:46px;

        height:46px;

    }

    .menu-circle span{

        width:20px;

    }

    /* ======================================================
       MEGA MENU
    ====================================================== */

    .mega-menu .container{

        padding-top:95px;

        padding-bottom:35px;

    }

    .menu-links{

        grid-template-columns:1fr;

        gap:15px;

    }

    .menu-services a{

        font-size:1.05rem;

    }

    .menu-footer{

        gap:18px;

    }

    .menu-footer .btn-gold{

        width:100%;

        justify-content:center;

    }

    /* ======================================================
       HERO
    ====================================================== */

    .hero-regimo{

        min-height:auto;

        padding:130px 0 90px;

    }

    .hero-regimo h1{

        font-size:2.5rem;

        line-height:1.05;

    }

    .hero-regimo p{

        font-size:1rem;

    }

    .hero-buttons{

        flex-direction:column;

        align-items:center;

        margin-bottom:45px;

    }

    .hero-btn,
    .hero-btn-outline{

        width:100%;

        justify-content:center;

    }

    .hero-slider{

        bottom:30px;

    }

    /* ======================================================
       SERVIÇOS
    ====================================================== */

    .services-header{

        margin-bottom:45px;

    }

    .service-card{

        padding:28px;

    }

    /* ======================================================
       INDICADORES
    ====================================================== */

    .indicadores-section{

        padding:50px 0;

    }

    .contador{

        font-size:2.5rem;

    }

    /* ======================================================
       SOBRE
    ====================================================== */

    .sobre-image{

        margin-top:40px;

    }

    .selo-pqta-card{

        position:relative;

        left:auto;

        bottom:auto;

        width:100%;

        margin-top:20px;

    }

    .sobre-expandido{

        padding:28px;

    }

    .sobre-bloco h3{

        font-size:1.7rem;

    }

    /* ======================================================
       PRÊMIOS
    ====================================================== */

    .premio-card{

        padding:35px 28px;

    }

    .premio-card h3{

        font-size:1.7rem;

    }

    /* ======================================================
       NOTÍCIAS
    ====================================================== */

    .noticia-card{

        padding:28px;

    }

    .noticia-meta{

        flex-direction:column;

        align-items:flex-start;

        gap:12px;

    }

    /* ======================================================
       CIRCUNSCRIÇÃO
    ====================================================== */

    .municipios-card{

        padding:25px;

    }

    .municipios-grid{

        grid-template-columns:1fr;

    }

    .map-body{

        padding:12px;

    }

    #mapFrame{

        height:280px;

    }

    .cidade-foto{

        min-height:220px;

    }

    /* ======================================================
       TRABALHE
    ====================================================== */

    .trabalhe-callout{

        text-align:center;

    }

    .trabalhe-callout-inner{

        align-items:center;

    }

    .trabalhe-callout h2{

        font-size:30px;

    }

    .trabalhe-info{

        text-align:center;

    }

    .trabalhe-info h3{

        font-size:34px;

    }

    .trabalhe-form-card{

        padding:28px;

    }

    /* ======================================================
       ORIENTAÇÕES
    ====================================================== */

    .faq-accordion .accordion-button{

        padding:20px;

    }

    .faq-accordion .accordion-body{

        padding:0 20px 20px;

    }

    .content-header{

        flex-direction:column;

        align-items:flex-start;

        gap:20px;

    }

    .content-toggle{

        width:48px;

        height:48px;

    }

    .content-summary h3{

        font-size:22px;

    }

    .content-inner{

        padding:0 20px 20px;

    }

    /* ======================================================
       OUVIDORIA
    ====================================================== */

    .ouvidoria-header h2{

        font-size:40px;

    }

    #formOuvidoria{

        padding:24px;

    }

    .card-ouvidoria{

        padding:24px;

    }

    .canal-link{

        min-height:auto;

        padding:24px;

    }

    /* ======================================================
       FOOTER
    ====================================================== */

    .footer-regimo{

        padding:70px 0 30px;

    }

    .footer-title{

        margin-top:35px;

    }

    .btn-whatsapp-footer{

        width:100%;

        justify-content:center;

    }

}







/* ==========================================================
   RESPONSIVO
   <= 576px
========================================================== */

@media (max-width:576px){

    /* ======================================================
       GERAL
    ====================================================== */

    .container,
    .container-fluid{

        padding-left:30px;
        padding-right:30px;

    }

    .section-padding{

        padding:60px 0;

    }

    .section-padding-sm{

        padding:45px 0;

    }

    .section-header{

        margin-bottom:35px;

    }

    .section-tag{

        font-size:11px;

        letter-spacing:.18em;

    }

    .section-title{

        font-size:26px;

    }

    .section-lead{

        font-size:15px;

    }

    .section-text{

        font-size:14px;

    }

/* ======================================================
   HEADER
====================================================== */

.header-regimo{

    height:78px;

}

.container-nav{

    height:78px;

    padding:0 18px;

}

.header-wrapper{

    height:78px;

}

.logo-area img{

    height:60px;

    width:auto;

}

    .menu-circle{

        --size:46px;
        --bar-width:20px;
        --gap:calc(var(--size) * .12);

    }

    /* ======================================================
       MEGA MENU
    ====================================================== */

    .mega-menu .container{

        padding-top:120px;

    }

    .menu-header h6{

        font-size:11px;

    }

    .menu-links a{

        font-size:13px;

    }

    .menu-services a{

        gap:12px;

        font-size:.95rem;

    }

    .menu-number{

        min-width:18px;

        font-size:10px;

    }

    .menu-footer .btn-gold{

        height:48px;

        padding:0 20px;

        font-size:10px;

    }

    /* ======================================================
       HERO
    ====================================================== */

    .hero-regimo{

        padding:110px 0 70px;

    }

    .hero-tag{

        margin-bottom:18px;

        font-size:1rem;

    }

    .hero-regimo h1{

        font-size:2rem;

    }

    .hero-regimo p{

        margin-bottom:35px;

        font-size:.95rem;

    }

    .hero-btn,
    .hero-btn-outline{

        height:52px;

        padding:0 24px;

        font-size:10px;

        letter-spacing:.12em;

    }

    /* ======================================================
       SERVIÇOS
    ====================================================== */

    .service-card{

        padding:24px;

    }

    .service-icon{

        width:58px;

        height:58px;

    }

    .service-card h3{

        font-size:1.15rem;

    }

    /* ======================================================
       INDICADORES
    ====================================================== */

    .indicador-card{

        padding:28px 20px;

    }

    .contador{

        font-size:2.2rem;

    }

    .sufixo{

        font-size:1.5rem;

    }

    .indicador-card p{

        font-size:11px;

    }

    /* ======================================================
       SOBRE
    ====================================================== */

    .sobre-expandido{

        padding:22px;

    }

    .institucional-card,
    .institucional-box{

        padding:24px;

    }

    .selo-pqta-card{

        padding:15px;

    }

    .selo-img{

        width:65px;

    }

    /* ======================================================
       PRÊMIOS
    ====================================================== */

    .premio-card{

        padding:28px 22px;

    }

    .premio-card h3{

        font-size:1.45rem;

    }

    /* ======================================================
       NOTÍCIAS
    ====================================================== */

    .noticia-card{

        padding:24px;

    }

    .noticia-card h3{

        font-size:1.2rem;

    }

    .btn-noticias{

        width:100%;

        justify-content:center;

    }

    /* ======================================================
       CIRCUNSCRIÇÃO
    ====================================================== */

    .municipios-card{

        padding:20px;

    }

    .card-header-custom{

        margin-bottom:25px;

    }

    .map-header{

        padding:18px;

    }

    .map-header h4{

        font-size:22px;

    }

    .map-body{

        padding:10px;

    }

    #mapFrame{

        height:220px;

    }

    .cidade-foto{

        min-height:180px;

    }

    .cidade-content{

        padding:16px;

    }

    /* ======================================================
       TRABALHE
    ====================================================== */

    .trabalhe-beneficios li{
        text-align:left;
    }

    .trabalhe-callout h2{

        font-size:26px;

    }

    .trabalhe-callout p{

        font-size:14px;

    }

    .trabalhe-info h3{

        font-size:28px;

    }

    .trabalhe-form-card{

        padding:22px;

    }

    .btn-enviar-curriculo{

        font-size:11px;

    }

    /* ======================================================
       ORIENTAÇÕES
    ====================================================== */

    .faq-accordion .accordion-button{

        padding:18px;

        font-size:1rem;

    }

    .content-header{

        padding:20px;

    }

    .content-summary h3{

        font-size:20px;

    }

    .content-inner{

        padding:0 18px 18px;

    }

    .btn-download{

        width:100%;

        justify-content:center;

    }

    /* ======================================================
       OUVIDORIA
    ====================================================== */

    .ouvidoria-header h2{

        font-size:34px;

    }

    #formOuvidoria{

        padding:20px;

    }

    .card-ouvidoria{

        padding:20px;

    }

    .canal-link{

        padding:20px;

    }

    .canal-link h4{

        font-size:20px;

    }

    /* ======================================================
       FOOTER
    ====================================================== */

    .footer-regimo{

        padding:60px 0 25px;

    }

    .footer-logo{

        max-width:150px;

    }

    .footer-title{

        font-size:20px;

    }

    .footer-text{

        font-size:14px;

    }

    .footer-bottom{

        margin-top:50px;

        padding-top:25px;

    }

    .footer-bottom p{

        font-size:12px;

    }

}