*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:72px}body{margin:0;color:var(--text);background:var(--background);font-family:Arial,Helvetica,sans-serif}.topbar{background:var(--primary);color:#fff;font-size:.88rem}.topbar a,.social-links a{color:#fff;text-decoration:none}.social-links{display:flex;gap:1rem}.brandbar{min-height:142px;display:flex;align-items:center;justify-content:space-between;gap:2rem}.brand{display:flex;align-items:center;gap:1.1rem;color:var(--primary);text-decoration:none}.brand img{max-width:410px;max-height:105px;object-fit:contain}.brand strong{font:clamp(2.2rem,5vw,4rem) Georgia,serif;letter-spacing:.08em}.brand-fallback{width:66px;height:74px;display:grid;place-items:center;border:3px solid var(--secondary);clip-path:polygon(50% 0,93% 25%,93% 75%,50% 100%,7% 75%,7% 25%);font:2.6rem Georgia;color:var(--secondary)}.event-card{min-width:510px;min-height:84px;display:grid;grid-template-columns:85px 1fr 125px;align-items:stretch;border:1px solid color-mix(in srgb,var(--secondary),#fff 35%);text-decoration:none;color:var(--primary)}.event-card>i{display:grid;place-items:center;background:var(--primary);color:var(--secondary);font-size:2rem}.event-card span,.event-card b{display:flex;flex-direction:column;justify-content:center;padding:1rem}.event-card small{color:var(--secondary);letter-spacing:.08em}.event-card strong{font:1.2rem Georgia;margin-top:.4rem}.event-card b{background:var(--secondary);color:#fff;font-size:.75rem}.site-nav{background:#fff;border-block:1px solid #e5e2dc;box-shadow:0 4px 18px #001b3310}.site-nav .nav-link{padding:1.35rem 1.6rem!important;color:var(--text);text-transform:uppercase;font-size:.82rem;border-bottom:2px solid transparent}.site-nav .nav-link:hover{color:var(--secondary);border-color:var(--secondary)}.hero,.hero .carousel-inner,.hero .carousel-item{height:clamp(460px,34vw,566px)}.hero .carousel-item{position:relative;background:var(--primary) var(--hero-image,none) center/cover no-repeat}.hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,color-mix(in srgb,var(--primary),transparent 2%) 0%,color-mix(in srgb,var(--primary),transparent 14%) 40%,transparent 78%)}.hero-copy{position:relative;z-index:2;padding-top:clamp(4rem,7vw,7rem);color:#fff}.eyebrow,.section-heading small{color:var(--secondary);font-weight:700;letter-spacing:.2em;font-size:.72rem}.hero h1{max-width:780px;margin:.8rem 0 1rem;font:clamp(2.4rem,4.2vw,4.25rem)/1.08 Georgia,serif}.hero-copy>p:not(.eyebrow){max-width:700px;font-size:1.16rem;line-height:1.75}.btn-outline-gold,.btn-gold{display:inline-flex;align-items:center;gap:2rem;margin-top:1rem;padding:1rem 1.35rem;border:2px solid var(--secondary);color:var(--secondary);background:transparent;text-decoration:none;font:1.05rem Georgia;transition:.25s}.btn-outline-gold:hover,.btn-gold{background:var(--secondary);color:#fff}.btn-gold:hover{filter:brightness(.92);transform:translateY(-2px)}.section{padding:clamp(4.5rem,8vw,7rem) 0}.section-heading{text-align:center;margin-bottom:3.5rem}.section-heading h2,.company h2,.contact h2{margin:.6rem 0 0;font:clamp(2.2rem,4vw,3rem) Georgia,serif}.content-card{height:100%;display:flex;flex-direction:column;background:var(--card);border:1px solid #e3dfd7;transition:.3s}.content-card:hover{transform:translateY(-8px);border-color:var(--tertiary);box-shadow:0 20px 50px #001d3618}.content-card>img{width:100%;aspect-ratio:4/3;object-fit:cover}.card-body{display:flex;flex:1;flex-direction:column;padding:1.7rem}.card-body h3{font:1.45rem Georgia;margin:0 0 .8rem}.card-body p,.rich-text,.contact p,.company-panel{color:#65717c;line-height:1.75}.card-actions{display:flex;gap:.5rem;margin-top:auto;padding-top:1rem}.card-actions button,.card-actions a{min-height:43px;display:grid;place-items:center;border:1px solid #ddd5c6;background:#fff;color:var(--primary);text-decoration:none;padding:.65rem .85rem}.card-actions button:first-child{flex:1;background:var(--primary);color:#fff;border-color:var(--primary)}.company,.faq,.contact{background:#f7f4ed}.company-grid,.contact-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(3rem,7vw,6rem);align-items:center}.company-image{width:100%;max-height:610px;object-fit:cover;box-shadow:-20px 20px 0 var(--primary)}.eyebrow.dark{color:var(--secondary)}.company-tabs{display:flex;gap:.3rem;overflow:auto;margin-top:1.6rem}.company-tabs button{white-space:nowrap;padding:.75rem 1rem;border:1px solid #ddd;background:#fff;color:var(--primary)}.company-tabs button.active{background:var(--primary);color:#fff}.company-panel{display:none;margin-top:.4rem;padding:1.2rem 1.35rem;background:#fff;border-left:3px solid var(--secondary)}.company-panel.active{display:block}.narrow{max-width:920px}.accordion-item{border:0;background:transparent;margin-bottom:.6rem}.accordion-button{background:var(--primary)!important;color:#fff!important;font:1.05rem Georgia;box-shadow:none!important}.accordion-button::after{filter:brightness(0) invert(1)}.accordion-body{background:#fff;color:#65717c;line-height:1.7}.gallery-section{background:var(--primary)}.section-heading.light h2{color:#fff}.gallery-grid{columns:4 240px;column-gap:.8rem}.gallery-item{width:100%;display:block;margin:0 0 .8rem;padding:0;border:0;background:none;overflow:hidden}.gallery-item img{width:100%;display:block;transition:.35s}.gallery-item:hover img{transform:scale(1.035)}.partner-row{display:flex;gap:1.2rem;overflow:auto;scroll-snap-type:x mandatory;padding:.5rem}.partner-row a{min-width:220px;height:110px;display:grid;place-items:center;scroll-snap-align:start;border:1px solid #ddd;color:#828b94;text-decoration:none;filter:grayscale(1);transition:.3s}.partner-row a:hover{filter:none;border-color:var(--secondary);transform:translateY(-4px)}.partner-row img{max-width:170px;max-height:75px}.map{height:450px}.map iframe{display:block}.contact-grid{align-items:start}.contact address{font-style:normal;line-height:1.7}.contact form{padding:2.2rem;background:#fff;box-shadow:0 18px 50px #001d3612}.contact label{display:flex;flex-direction:column;gap:.5rem;margin-bottom:1rem;font-size:.83rem}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.contact input,.contact textarea{width:100%;padding:.85rem;border:1px solid #d9d5cd;outline:none}.contact input:focus,.contact textarea:focus{border-color:var(--secondary)}.captcha{flex-direction:row!important;align-items:center}.captcha input{width:70px}.honey{position:absolute!important;left:-10000px!important}footer{padding-top:4rem;background:var(--footer);color:#fff}.footer-grid{display:grid;grid-template-columns:1fr 320px;gap:5rem}.footer-grid h2,.footer-grid h3{font-family:Georgia;color:var(--secondary)}.footer-grid p{color:#cad2d9;line-height:1.75}.copyright{margin-top:3rem;padding:1.4rem;text-align:center;border-top:1px solid #ffffff22;color:#9aa8b5;font-size:.78rem}.whatsapp-float{position:fixed;right:1.35rem;top:72%;z-index:1060;display:flex;align-items:center;gap:.75rem;padding:.8rem 1rem;background:#168f56;color:#fff;border-radius:2rem;text-decoration:none;box-shadow:0 8px 28px #0003}.whatsapp-float i{font-size:1.55rem}.whatsapp-float span{display:flex;flex-direction:column;font-size:.76rem}.whatsapp-float small{font-size:.68rem}.back-top{position:fixed;right:1.45rem;bottom:1.25rem;z-index:1060;width:48px;height:48px;border:0;border-radius:50%;background:var(--primary);color:#fff;display:none;place-items:center}.back-top.show{display:grid}.back-top svg{position:absolute;inset:0;transform:rotate(-90deg)}.back-top circle{fill:none;stroke:var(--secondary);stroke-width:2;stroke-dasharray:132;stroke-dashoffset:132}.premium-modal .modal-content{border:0;border-radius:0;box-shadow:0 25px 80px #0006}.premium-modal .modal-body{padding:clamp(2rem,5vw,4.5rem);font-size:1rem;line-height:1.8}.premium-modal h2{font:2.5rem Georgia;color:var(--primary)}.modal-float-image{float:left;width:min(45%,500px);max-height:520px;object-fit:contain;margin:0 2rem 1rem 0}.modal-close{position:absolute;right:1rem;top:1rem;z-index:3;width:42px;height:42px;border:0;border-radius:50%;background:var(--primary);color:#fff;font-size:1.7rem}.modal-backdrop.show{opacity:.68;backdrop-filter:blur(5px)}.lightbox{position:fixed;inset:0;z-index:2000;background:#020d18ed;display:grid;place-items:center;padding:3rem}.lightbox[hidden]{display:none}.lightbox img{max-width:92vw;max-height:82vh;object-fit:contain}.lightbox p{color:#fff}.lightbox-close{position:absolute;right:1.5rem;top:1rem;border:0;background:none;color:#fff;font-size:2.5rem}
@media(max-width:991px){.event-card{display:none}.brandbar{justify-content:center;min-height:110px}.site-nav .nav-link{padding:.8rem!important}.company-grid,.contact-grid{grid-template-columns:1fr}.company-image{max-height:480px}.footer-grid{grid-template-columns:1fr}.hero-overlay{background:linear-gradient(90deg,color-mix(in srgb,var(--primary),transparent 2%),color-mix(in srgb,var(--primary),transparent 35%))}}
@media(max-width:575px){.topbar{display:none}.brandbar{min-height:92px}.brand img{max-width:260px;max-height:70px}.hero,.hero .carousel-inner,.hero .carousel-item{height:540px}.hero-copy{padding-top:5rem}.hero-copy>p:not(.eyebrow){font-size:1rem}.form-row{grid-template-columns:1fr}.modal-float-image{float:none;width:100%;margin:0 0 1.5rem}.whatsapp-float{top:auto;bottom:4.8rem;padding:.75rem}.whatsapp-float span{display:none}.contact form{padding:1.3rem}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}

/* Desktop: abre os submenus de Produtos e Serviços ao passar o mouse.
   Em tablets e celulares, o Bootstrap mantém a abertura normal por toque. */
@media (min-width: 992px) {
  .site-nav .navbar-nav > .dropdown:hover > .dropdown-menu,
  .site-nav .navbar-nav > .dropdown:focus-within > .dropdown-menu {
    display: block;
    margin-top: 0;
  }

  .site-nav .navbar-nav > .dropdown:hover > .dropdown-toggle::after,
  .site-nav .navbar-nav > .dropdown:focus-within > .dropdown-toggle::after {
    transform: rotate(180deg);
  }

  .site-nav .dropdown-toggle::after {
    transition: transform .2s ease;
  }
}

body,
input,
textarea,
select,
label,
.site-nav .nav-link{font-weight:bold}
.dropdown-menu,
.card-body p,
.rich-text,
.company-panel,
.contact,
.footer-grid p,
.copyright{font-family:var(--font-text),Arial,sans-serif}
h1,h2,h3,h4,h5,h6,
.brand strong,
.brand-fallback,
.event-card strong,
.hero h1,
.btn-outline-gold,
.btn-gold,
.section-heading h2,
.company h2,
.contact h2,
.card-body h3,
.accordion-button,
.footer-grid h2,
.footer-grid h3,
.premium-modal h2{font-family:var(--font-title),Georgia,serif}
.mobile-brand{display:none}

p {
    text-align: justify;
}


/* Celular e tablet: logo à esquerda e botão do menu à direita. */
@media(max-width:991.98px){
    .brandbar{display:none}
    .site-nav{padding:.55rem 0}
    .site-nav>.container{
        display:flex;
        align-items:center;
        justify-content:space-between;
        flex-wrap:wrap;
        gap:.5rem
    }
    .mobile-brand{
        display:flex;
        align-items:center;
        max-width:calc(100% - 72px);
        min-height:64px;
        color:var(--primary);
        text-decoration:none
    }
    .mobile-brand img{
        display:block;
        width:auto;
        height:auto;
        max-width:220px;
        max-height:64px;
        object-fit:contain;
        object-position:left center
    }
    .mobile-brand strong{
        overflow:hidden;
        text-overflow:ellipsis;
        white-space:nowrap;
        font-family:var(--font-title),Georgia,serif;
        font-size:1.35rem
    }
    .mobile-brand .brand-fallback{
        flex:0 0 auto;
        width:44px;
        height:50px;
        margin-right:.65rem;
        font-size:1.65rem
    }
    .site-nav .navbar-toggler{
        flex:0 0 auto;
        margin-left:auto
    }
    .site-nav .navbar-collapse{
        flex-basis:100%;
        width:100%
    }
    .site-nav .navbar-nav{padding-top:.5rem}
}

@media(max-width:575.98px){
    .mobile-brand{min-height:54px}
    .mobile-brand img{max-width:190px;max-height:54px}
}

/* Galeria: seletor de colunas, alinhamento central e visualização com miniaturas. */
.gallery-toolbar{display:flex;align-items:center;justify-content:center;gap:.5rem;flex-wrap:wrap;margin:-.8rem 0 1.5rem;color:#fff;font-size:.82rem}
.gallery-toolbar span{margin-right:.25rem;font-weight:700}
.gallery-toolbar button{padding:.5rem .8rem;border:1px solid #ffffff55;background:transparent;color:#fff}
.gallery-toolbar button.active,.gallery-toolbar button:hover{background:var(--secondary);border-color:var(--secondary)}
.gallery-grid{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:.8rem;columns:auto!important;align-items:start;justify-content:center}
.gallery-grid[data-columns="4"]{grid-template-columns:repeat(4,minmax(0,1fr))}
.gallery-grid[data-columns="5"]{grid-template-columns:repeat(5,minmax(0,1fr))}
.gallery-item{margin:0!important}
.gallery-item img{width:100%;aspect-ratio:4/3;object-fit:cover}
.lightbox{display:flex!important;align-items:center;justify-content:center}
.lightbox[hidden]{display:none!important}
.lightbox-content{width:min(1100px,94vw);max-height:94vh;display:flex;flex-direction:column;align-items:stretch;gap:.7rem}
.lightbox-stage{position:relative;min-height:0;display:flex;align-items:center;justify-content:center}
.lightbox-main-image{display:block;max-width:100%!important;max-height:68vh!important;object-fit:contain}
.lightbox-info{display:flex;justify-content:center;align-items:center;gap:.75rem;min-height:24px;color:#fff;text-align:center}
.lightbox-info p{margin:0}
.lightbox-counter{white-space:nowrap;color:var(--secondary)}
.lightbox-thumbnails{display:flex;justify-content:flex-start;gap:.55rem;overflow-x:auto;padding:.35rem .2rem .65rem;scrollbar-color:var(--secondary) #ffffff22}
.lightbox-thumbnail{flex:0 0 82px;width:82px;height:62px;padding:3px;border:2px solid transparent;background:#ffffff18;opacity:.62}
.lightbox-thumbnail img{width:100%;height:100%;object-fit:cover}
.lightbox-thumbnail:hover,.lightbox-thumbnail.active{border-color:var(--secondary);opacity:1}

@media(max-width:991.98px){
    .gallery-grid,.gallery-grid[data-columns="4"],.gallery-grid[data-columns="5"]{grid-template-columns:repeat(2,minmax(0,1fr))}
    .gallery-toolbar{display:none}
}

@media(max-width:575.98px){
    .gallery-grid,.gallery-grid[data-columns="4"],.gallery-grid[data-columns="5"]{grid-template-columns:1fr}
    .lightbox-content{width:96vw;max-height:96vh}
    .lightbox-main-image{max-height:62vh!important}
    .lightbox-info{flex-direction:column;gap:.15rem}
    .lightbox-thumbnail{flex-basis:68px;width:68px;height:52px}
}

/* Compatibilidade dos ícones sociais e banners vindos do banco */
.social-links a{display:grid;place-items:center;min-width:24px;min-height:24px;font-size:1rem}
.hero .carousel-item{overflow:hidden;background:var(--primary)}
.hero-image{position:absolute!important;top:0!important;bottom:0!important;left:50%!important;display:block;width:100vw!important;min-width:100vw!important;max-width:none!important;height:100%!important;transform:translateX(-50%);object-fit:cover!important;object-position:center}
.hero-link{position:absolute;inset:0;z-index:1;display:block;cursor:pointer}
.hero .carousel-control-prev,
.hero .carousel-control-next{z-index:3;opacity:1}
.hero .carousel-control-prev-icon,
.hero .carousel-control-next-icon{
    width:52px;
    height:52px;
    border:1px solid #ffffffb8;
    border-radius:50%;
    background-color:var(--primary)!important;
    /*background-color:#001d36c7; */
    background-size:46% 46%;
    box-shadow:0 4px 16px #00000052;
    transition:background-color .2s ease,transform .2s ease;
}

.hero .carousel-control-prev-icon:hover,
.hero .carousel-control-next-icon:hover{
    background-color:var(--secondary)!important;
}

.hero .carousel-control-prev:hover .carousel-control-prev-icon,
.hero .carousel-control-next:hover .carousel-control-next-icon:hover{
    background-color:var(--secondary);
    transform:scale(1.08);
}
.hero-overlay{background:linear-gradient(90deg,color-mix(in srgb,var(--primary),transparent 8%) 0%,color-mix(in srgb,var(--primary),transparent 28%) 42%,transparent 82%)}
.site-nav{
    background-color:var(--menu-gradient-start);
    background:linear-gradient(
        180deg,
        var(--menu-gradient-start) 0%,
        var(--menu-gradient-end) 100%
    );
}
.section-heading:not(.light) h2,
.company h2,
.contact h2{
    color:var(--primary);
}
.btn-gold{background:var(--button);border-color:var(--button)}
.btn-gold:hover{background:var(--button-hover);border-color:var(--button-hover)}
.event-banner{width:min(850px,65vw);height:110px;display:flex;align-items:center;justify-content:flex-end;overflow:hidden}
.event-banner img{display:block;max-width:100%;max-height:100%;object-fit:contain}
.modal-meta{margin-top:-.5rem;color:var(--secondary);font-size:.82rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}
.gallery-filters{display:flex;justify-content:center;gap:.65rem;flex-wrap:wrap;margin:-1.6rem 0 2rem}
.gallery-filters button{padding:.65rem 1rem;border:1px solid #ffffff55;background:transparent;color:#fff}
.gallery-filters button.active,.gallery-filters button:hover{background:var(--secondary);border-color:var(--secondary)}
.gallery-item[hidden],.product-column[hidden],.service-column[hidden]{display:none!important}
.lightbox-prev,.lightbox-next{position:absolute;top:50%;transform:translateY(-50%);z-index:2;border:0;background:#ffffff18;color:#fff;width:52px;height:72px;font-size:3rem}
.lightbox-prev{left:1.5rem}.lightbox-next{right:1.5rem}
@media(max-width:991px){.event-banner{display:none}}
@media(max-width:767.98px){
    .lightbox{padding:1rem}
    .lightbox-prev,.lightbox-next{width:42px;height:56px}
    .lightbox-prev{left:.25rem}
    .lightbox-next{right:.25rem}

    /* No celular, exibe a arte completa do banner sem cortar as laterais. */
    .hero,
    .hero .carousel-inner,
    .hero .carousel-item{
        height:auto!important;
        min-height:0!important;
    }

    .hero .carousel-item{
        background:var(--primary)!important;
    }

    .hero-image{
        position:static!important;
        inset:auto!important;
        display:block!important;
        width:100%!important;
        min-width:0!important;
        max-width:100%!important;
        height:auto!important;
        transform:none!important;
        object-fit:contain!important;
        object-position:center!important;
    }

    .hero-link{
        position:static;
        display:block;
    }

    .hero .carousel-control-prev,
    .hero .carousel-control-next{
        width:12%;
    }

    .hero .carousel-control-prev-icon,
    .hero .carousel-control-next-icon{
        width:40px;
        height:40px;
    }
}

/* Parceiros: navegação somente por setas, sem barra horizontal visível. */
.partner-carousel{
    position:relative;
    display:grid;
    grid-template-columns:52px minmax(0,1fr) 52px;
    align-items:center;
    gap:1rem;
    width:100%
}
.partner-row{
    min-width:0;
    overflow-x:auto;
    overflow-y:hidden;
    scroll-behavior:smooth;
    scrollbar-width:none;
    -ms-overflow-style:none;
    overscroll-behavior-inline:contain
}
.partner-row::-webkit-scrollbar{display:none}
.partner-row a{
    flex:0 0 220px;
    min-width:0;
    filter:none;
    background:#fff
}
.partner-row a:hover,
.partner-row a:focus-visible{
    filter:grayscale(1);
    border-color:var(--secondary);
    transform:translateY(-4px)
}
.partner-row img{
    width:auto;
    height:auto;
    object-fit:contain;
    filter:none;
    transition:filter .3s ease
}
.partner-arrow{
    width:46px;
    height:46px;
    display:grid;
    place-items:center;
    padding:0;
    border:1px solid color-mix(in srgb,var(--secondary),#000 25%);
    border-radius:50%;
    background:var(--secondary);
    color:var(--primary);
    box-shadow:0 5px 16px #001d3626;
    font-size:1.35rem;
    cursor:pointer;
    transition:transform .2s ease,opacity .2s ease,filter .2s ease
}
.partner-arrow:hover:not(:disabled){transform:scale(1.08);filter:brightness(1.05)}
.partner-arrow:focus-visible{outline:3px solid color-mix(in srgb,var(--secondary),transparent 55%);outline-offset:3px}
.partner-arrow:disabled{opacity:.28;cursor:default;box-shadow:none}

/* Empresa: imagem sempre alinhada no topo e sem a antiga sombra primária. */
.company-grid{align-items:start}
.company-image{
    display:block;
    align-self:start;
    box-shadow:none
}

/* Desktop e notebook: menu fixo real no topo, mantendo o gradiente. */
@media(min-width:992px){
    .site-nav{
        position:relative!important;
        top:0;
        right:auto;
        left:auto;
        width:100%;
        z-index:1030;
        transition:box-shadow .25s ease
    }
    .site-nav.desktop-sticky-active{
        position:fixed!important;
        top:0!important;
        right:0!important;
        left:0!important;
        width:100%!important;
        box-shadow:0 7px 24px #001d3630
    }
    body.desktop-nav-is-fixed header{
        padding-bottom:var(--fixed-nav-height,72px)
    }
    .site-nav.desktop-sticky-active .container{
        position:relative
    }
    .site-nav.desktop-sticky-active .mobile-brand{
        display:flex;
        position:absolute;
        left:12px;
        top:50%;
        align-items:center;
        justify-content:flex-start;
        width:150px;
        height:58px;
        color:var(--primary);
        text-decoration:none;
        transform:translateY(-50%)
    }
    .site-nav.desktop-sticky-active .mobile-brand img{
        display:block;
        width:auto;
        height:auto;
        max-width:145px;
        max-height:54px;
        object-fit:contain;
        object-position:left center
    }
    .site-nav.desktop-sticky-active .mobile-brand strong{
        overflow:hidden;
        font-size:1rem;
        line-height:1.1;
        text-overflow:ellipsis;
        white-space:nowrap
    }
    .site-nav.desktop-sticky-active .mobile-brand .brand-fallback{
        flex:0 0 38px;
        width:38px;
        height:42px;
        margin-right:.45rem;
        font-size:1.35rem
    }
    .site-nav.desktop-sticky-active .navbar-collapse{
        padding-left:155px
    }
    .site-nav.desktop-sticky-active .navbar-nav{
        width:100%;
        justify-content:center
    }
    .site-nav.desktop-sticky-active .nav-link{
        padding-right:clamp(.7rem,1.15vw,1.35rem)!important;
        padding-left:clamp(.7rem,1.15vw,1.35rem)!important
    }
}

@media(max-width:575.98px){
    .partner-carousel{grid-template-columns:40px minmax(0,1fr) 40px;gap:.45rem}
    .partner-arrow{width:38px;height:38px;font-size:1.05rem}
    .partner-row{gap:.65rem;padding:.35rem 0}
    .partner-row a{flex-basis:180px;height:100px}
    .partner-row img{max-width:145px;max-height:68px}
}

/* Cores dinâmicas da tabela institucional.
   Este bloco permanece no fim do arquivo para não ser sobrescrito. */
.section-heading small,
.eyebrow.dark{
    color:var(--secondary)!important
}
.gallery-filters button,
.gallery-toolbar button{
    border-color:var(--secondary)!important;
    color:var(--secondary)!important
}
.gallery-filters button.active,
.gallery-filters button:hover,
.gallery-filters button:focus-visible,
.gallery-toolbar button.active,
.gallery-toolbar button:hover,
.gallery-toolbar button:focus-visible{
    background:var(--secondary)!important;
    border-color:var(--secondary)!important;
    color:#fff!important
}
.company-panel{
    border-left-color:var(--secondary)!important
}
.content-card{
    background:#fff!important;
    border-color:var(--tertiary)!important
}
.content-card:hover{
    background:#fff!important;
    border-color:var(--secondary)!important;
    box-shadow:0 20px 50px color-mix(in srgb,var(--secondary),transparent 75%)
}
.footer-grid h2{
    color:var(--secondary)!important
}

/* Botões alimentados pelas cores cadastradas na tabela institucional. */
.contact form button[type="submit"]{
    background:var(--primary)!important;
    border-color:var(--primary)!important;
    color:#fff!important
}
.contact form button[type="submit"]:hover,
.contact form button[type="submit"]:focus-visible{
    background:var(--primary)!important;
    border-color:var(--primary)!important;
    color:#fff!important;
    filter:brightness(.9)
}
.card-actions a,
.card-actions button,
.card-actions button:first-child{
    border-color:var(--tertiary)!important
}

/* Os links de contato acompanham a cor de texto do bloco onde aparecem. */
.contact-grid > div:first-child a,
.contact-grid > div:first-child a:visited,
.contact-grid > div:first-child a:hover,
.contact-grid > div:first-child a:focus{
    color:inherit!important;
    text-decoration:none!important
}
.footer-grid a,
.footer-grid a:visited,
.footer-grid a:hover,
.footer-grid a:focus{
    color:inherit!important;
    text-decoration:none!important
}

/* Conteúdo opcional da tabela paginas. */
.section-description{
    max-width:100%;
    margin:1.35rem auto 0;
    color:#65717c;
    line-height:1.75;
    text-align:justify
}
.section-description p:last-child{margin-bottom:0}
.section-heading.light .section-description{color:#fff}
.location-section{padding-bottom:0}

/* Equipe: quatro integrantes por linha em desktop e notebook. */
.team-block{margin-top:clamp(4rem,7vw,6rem)}
.team-card{
    height:100%;
    overflow:hidden;
    background:#fff;
    border:1px solid var(--tertiary);
    text-align:center;
    transition:transform .25s,border-color .25s,box-shadow .25s
}
.team-card:hover{
    transform:translateY(-6px);
    border-color:var(--secondary);
    box-shadow:0 18px 40px color-mix(in srgb,var(--secondary),transparent 78%)
}
.team-card>img{
    width:100%;
    aspect-ratio:1/1;
    display:block;
    object-fit:cover
}
.team-card-body{padding:1.4rem 1rem}
.team-card h3{margin:0 0 .4rem;color:var(--primary);font-family:var(--font-title),Georgia,serif;font-size:1.3rem}
.team-role{margin:0 0 .65rem;color:var(--text);font-weight:700; text-align: center}
.team-email{display:block;overflow-wrap:anywhere;color:var(--text);text-decoration:none; font-size:12px;}
.team-socials{display:flex;justify-content:center;gap:.65rem;margin-top:1rem}
.team-socials a{
    width:40px;
    height:40px;
    display:grid;
    place-items:center;
    border:1px solid var(--secondary);
    color:var(--secondary);
    text-decoration:none
}
.team-socials a:hover{background:var(--secondary);color:#fff}

/* Rodapé alimentado diretamente pelas cores institucionalizadas. */
footer{background:var(--footer)!important}
footer .footer-grid h2,
footer .footer-grid h3{color:#fff!important}
.copyright{
    background:var(--copyright)!important;
    border-top:0!important;
    color:#fff!important
}

/* ===== Landing page candidata - 2026 ===== */
.campaign-kicker{font-weight:700;letter-spacing:.18em;color:var(--primary);font-size:.78rem;margin-bottom:.45rem}.candidate-about{overflow:hidden}.candidate-about-content{max-width:1180px;margin:0 auto}.candidate-about-content:after{content:"";display:block;clear:both}.candidate-photo-float{float:left;position:relative;width:min(38%,420px);margin:0 2.5rem 1.4rem 0;min-height:390px;display:flex;justify-content:center;align-items:flex-end}.candidate-photo-float:before{content:"V";position:absolute;font-size:23rem;font-weight:900;line-height:.75;color:color-mix(in srgb,var(--secondary) 16%,transparent);z-index:0}.candidate-photo-float img{position:relative;z-index:1;width:100%;max-height:500px;object-fit:contain}.candidate-about h2{font-size:clamp(2rem,4vw,3.7rem);font-weight:900;color:var(--primary)}.candidate-about h2::first-letter{color:var(--primary)}.candidate-copy{font-size:1.02rem;line-height:1.8}.footer-text{max-width:600px}.footer-text p{max-width:none}.campaign-soft{background:linear-gradient(135deg,#f8f9ff 0%,#fff 50%,#fff6fa 100%)}.campaign-heading{text-align:center;margin-bottom:2.2rem}.campaign-heading.left{text-align:left;margin-bottom:1.2rem}.campaign-heading h2{font-family:var(--font-title);font-size:clamp(1.7rem,3vw,2.5rem);font-weight:900;color:var(--primary);margin:0}.campaign-heading h2 span{color:var(--secondary)}.campaign-heading.light h2{color:#fff}.proposal-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:1rem}.proposal-card{background:#fff;border-radius:16px;padding:1.7rem 1rem;text-align:center;box-shadow:0 10px 35px rgba(37,50,103,.09);border:1px solid rgba(37,50,103,.07);transition:.25s}.proposal-card:hover{transform:translateY(-6px);box-shadow:0 16px 38px rgba(37,50,103,.14)}.proposal-card>i{font-size:2.7rem;color:var(--secondary)}.proposal-card h3{font-size:.9rem;font-weight:800;color:var(--primary);margin:1rem 0 .7rem}.proposal-card p{font-size:.82rem;line-height:1.55;margin:0;color:#5e647d}.proposal-more{border:0;background:transparent;color:var(--secondary);font-weight:700;font-size:.78rem;margin-top:1rem}.commitment-section{padding:3.2rem 0;background:linear-gradient(110deg,var(--primary),color-mix(in srgb,var(--primary) 78%,#000))}.commitment-grid{display:grid;grid-template-columns:repeat(5,1fr)}.commitment-grid article{text-align:center;padding:0 1.4rem;border-right:1px solid rgba(255,255,255,.35)}.commitment-grid article:last-child{border-right:0}.commitment-grid strong{display:block;font-size:2.4rem;color:var(--secondary);font-weight:900}.commitment-grid p{color:#fff;font-weight:600;font-size:.9rem;margin:.3rem 0 0}.timeline{display:grid;grid-template-columns:repeat(5,1fr);position:relative;gap:1.5rem}.timeline:before{content:"";position:absolute;top:28px;left:8%;right:8%;height:2px;background:linear-gradient(90deg,var(--secondary),color-mix(in srgb,var(--secondary) 25%,#fff),var(--secondary))}.timeline-item{text-align:center;position:relative;z-index:1}.timeline-dot{width:56px;height:56px;margin:0 auto 1rem;border-radius:50%;display:grid;place-items:center;background:var(--secondary);color:#fff;border:7px solid #fff;box-shadow:0 0 0 1px rgba(233,100,160,.2)}.timeline-item h3{font-size:1rem;color:var(--primary);font-weight:800}.timeline-item p{font-size:.85rem;line-height:1.55;color:#60677d}.faq-wide{max-width:1180px}.campaign-carousel .partner-row{align-items:stretch}.campaign-carousel .partner-row .place-card{flex:0 0 260px;display:block;background:#fff;border-radius:16px;overflow:hidden;box-shadow:0 8px 25px rgba(37,50,103,.12);text-decoration:none}.place-card img{width:100%;height:190px;object-fit:cover}.place-card div{padding:1rem}.place-card h3{font-size:1rem;font-weight:800;color:var(--primary);margin:0}.place-card p{font-size:.82rem;color:#666;margin:.5rem 0 0}.video-agenda-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:2rem;align-items:start}.video-panel,.agenda-panel{background:#fff;border-radius:18px;padding:1.3rem;box-shadow:0 10px 35px rgba(37,50,103,.09)}.video-panel iframe{border-radius:12px}.agenda-list{display:grid;gap:.75rem}.agenda-list article{display:grid;grid-template-columns:68px 1fr;gap:1rem;align-items:center;padding:.8rem;border:1px solid #eceef5;border-radius:12px}.agenda-list time{text-align:center;border-right:1px solid #eceef5;color:var(--secondary)}.agenda-list time strong{display:block;font-size:1.55rem;line-height:1;font-weight:900}.agenda-list time span{font-size:.68rem;font-weight:800}.agenda-list h3{font-size:.9rem;font-weight:800;color:var(--primary);margin:0}.agenda-list p{font-size:.78rem;color:#6b7185;margin:.25rem 0 0}.blog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}.blog-card{background:#fff;border-radius:18px;overflow:hidden;box-shadow:0 10px 32px rgba(37,50,103,.1);border:1px solid #f0f1f6}.blog-card>img{width:100%;aspect-ratio:16/10;object-fit:cover}.blog-body{padding:1.25rem}.blog-body h3{font-size:1.1rem;font-weight:800;color:var(--primary)}.blog-body p{font-size:.88rem;color:#697086;line-height:1.6}.blog-actions{display:flex;gap:.65rem;align-items:center;margin-top:1rem}.blog-actions button,.blog-actions a{border:0;min-height:38px;border-radius:9px;display:inline-flex;align-items:center;justify-content:center;text-decoration:none;font-weight:700}.blog-actions button:first-child{padding:0 1rem;background:var(--secondary);color:#fff}.blog-actions a,.blog-actions .share-item{width:38px;background:#f3f4f8;color:var(--primary)}.footer-logo{max-width:230px;max-height:90px;object-fit:contain;margin-bottom:1rem}.footer-grid p{max-width:600px}.gallery-section .campaign-heading{margin-bottom:1.5rem}
@media(max-width:1100px){.proposal-grid{grid-template-columns:repeat(3,1fr)}.timeline{grid-template-columns:repeat(5,180px);overflow-x:auto;padding-bottom:1rem}.timeline:before{display:none}}
@media(max-width:767px){.candidate-photo-float{float:none;width:min(100%,380px);min-height:320px;margin:0 auto 1.5rem}.candidate-photo-float:before{font-size:19rem}.proposal-grid{grid-template-columns:repeat(2,1fr)}.commitment-grid{grid-template-columns:1fr 1fr}.commitment-grid article{border-right:0;border-bottom:1px solid rgba(255,255,255,.2);padding:1rem}.commitment-grid article:last-child{grid-column:1/-1}.video-agenda-grid,.blog-grid{grid-template-columns:1fr}.campaign-carousel .partner-row .place-card{flex-basis:78vw}.brandbar .event-banner{max-width:62%}}
@media(max-width:480px){.proposal-grid{grid-template-columns:1fr}.commitment-grid{grid-template-columns:1fr}.commitment-grid article:last-child{grid-column:auto}}

/* AJUSTE SOBRE - texto fluindo ao redor da foto da candidata */
@media (min-width:576px){
    .candidate-about-content{
        display:block!important;
        max-width:1180px;
        margin:0 auto;
    }
    .candidate-photo-float{
        float:left!important;
        display:block!important;
        position:relative;
        width:clamp(260px,34%,410px)!important;
        min-height:0!important;
        margin:0 2.5rem 1.25rem 0!important;
    }
    .candidate-photo-float img{
        display:block;
        position:relative;
        z-index:1;
        width:100%;
        height:auto;
        max-height:none;
        object-fit:contain;
    }
    .candidate-photo-float:before{
        top:50%;
        left:50%;
        transform:translate(-50%,-50%);
        color:#e964a0;
        opacity: 0.1;
        font-size:600px;
    }
    .candidate-copy{
        display:block!important;
    }
    .candidate-copy p{
        display:block;
    }
    .candidate-about-content::after{
        content:"";
        display:table;
        clear:both;
    }
}

@media (max-width:575.98px){
    .candidate-photo-float{
        float:none!important;
        display:block!important;
        width:min(100%,380px)!important;
        margin:0 auto 1.5rem!important;
        min-height:0!important;
    }
    .candidate-photo-float img{
        width:100%;
        height:auto;
        max-height:none;
    }
    
        .candidate-photo-float:before{
        top:50%;
        left:50%;
        transform:translate(-50%,-50%);
        color:#e964a0;
        opacity: 0.1;
        font-size:400px;
    }
    
}
