/* Triverus — camada de refinamento visual (paleta original preservada) */

:root{
    --blue-500:#2f7ac0;
    --blue-800:#031340;
    --blue-900:#020a1f;
    --orange-800:#ff6600;
    --orange-glow:rgba(255,102,0,.28);
    --blue-glow:rgba(3,19,64,.28);
    --gray-500:#353535;
    --shadow-blue:0 24px 48px -24px rgba(3,19,64,.38);
    --shadow-orange:0 16px 32px -14px rgba(255,102,0,.35);
    --ease-spring:cubic-bezier(.16,1,.3,1);
}

/* ---------- base ---------- */
html{scroll-behavior:smooth;}
::selection{background:var(--orange-800);color:#fff;}

h1,h2,h3{letter-spacing:-0.01em;}
h2{position:relative;}
p{max-width:70ch;}

a,button,input[type="submit"],.btn,.menu-item,.icon-top,.icon-whatsapp img,
.services-single,.advantages-single,.leader-single,.testimonial-single,
.leader-single img,.img-services img,.content-img img,.content-img-single img{
    transition:transform .5s var(--ease-spring),box-shadow .5s var(--ease-spring),
        background-color .3s ease,color .3s ease,opacity .35s ease,border-color .3s ease;
}

:focus-visible{outline:2px solid var(--orange-800);outline-offset:3px;border-radius:4px;}

/* fixed grain layer, purely decorative */
body{position:relative;}
body::before{
    content:"";
    position:fixed;
    inset:0;
    z-index:2;
    pointer-events:none;
    opacity:.025;
    mix-blend-mode:overlay;
    background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}

/* ---------- header: inverted palette — navy fill, white type, orange accent ---------- */
.header{
    background-color:var(--blue-800);
    box-shadow:0 16px 32px -22px rgba(3,19,64,.55);
}
.header .logo{transition:transform .4s var(--ease-spring);}
.header .logo:hover{transform:scale(1.035);}

.menu-item{color:#fff;}

/* desktop nav layout: tighter, more intentional rhythm + a soft active pill
   instead of a bare underline, and the last item reads as the CTA */
@media screen and (min-width:991px){
    header nav .nav-bar .itens-menu{
        gap:.35rem;
        align-items:center;
    }
    header nav .nav-bar .itens-menu li{
        list-style-type:none;
    }
    .menu-item{
        padding:.55rem 1.1rem;
        border-radius:999px;
        font-weight:600;
        transition:color .3s ease,background-color .35s var(--ease-spring),transform .35s var(--ease-spring);
    }
    .menu-item::after{display:none;}
    .menu-item:hover{background-color:rgba(255,102,0,.2);transform:translateY(-1px);}
    .menu-item.active{
        background-color:rgba(255,102,0,.28);
    }
    header nav .nav-bar .itens-menu li:last-child{margin-left:.5rem;}
    header nav .nav-bar .itens-menu li:last-child .menu-item{
        background-color:var(--orange-800);
        color:#fff;
        box-shadow:var(--shadow-orange);
    }
    header nav .nav-bar .itens-menu li:last-child .menu-item:hover{
        background-color:#fff;
        color:var(--blue-800)!important;
        transform:translateY(-2px);
    }
    header nav .nav-bar .itens-menu li:last-child .menu-item.active{
        background-color:var(--orange-800);
    }
}

/* mobile sheet: clearer rhythm between links, staggered entrance kept */
@media screen and (max-width:990px){
    .header nav .nav-bar{border-radius:0 0 1.25rem 1.25rem;}
    header nav .nav-bar .itens-menu li{
        width:100%;
        border-bottom:1px solid rgba(255,255,255,.12);
        padding-bottom:.85rem;
    }
    header nav .nav-bar .itens-menu li:last-child{border-bottom:none;}
    header nav .nav-bar .itens-menu li a{
        display:block;
        font-weight:600;
    }
    header nav .nav-bar .itens-menu li:last-child a{
        color:var(--orange-800);
    }
    .header nav .nav-bar .itens-menu li{
        opacity:0;
        transform:translateY(14px);
        transition:opacity .5s var(--ease-spring),transform .5s var(--ease-spring);
    }
    .header nav .nav-bar.active .itens-menu li{opacity:1;transform:translateY(0);}
    .header nav .nav-bar.active .itens-menu li:nth-child(1){transition-delay:.05s;}
    .header nav .nav-bar.active .itens-menu li:nth-child(2){transition-delay:.1s;}
    .header nav .nav-bar.active .itens-menu li:nth-child(3){transition-delay:.15s;}
    .header nav .nav-bar.active .itens-menu li:nth-child(4){transition-delay:.2s;}
    .header nav .nav-bar.active .itens-menu li:nth-child(5){transition-delay:.25s;}
}

#icon-menu{transition:transform .3s var(--ease-spring);}
#icon-menu:active{transform:scale(.9);}
#icon-menu.is-active{transform:rotate(90deg);}

/* ---------- buttons ---------- */
.btn{position:relative;overflow:hidden;box-shadow:0 1px 0 rgba(255,255,255,.4) inset;}
.btn:active{transform:scale(.97);}
.primary:hover{box-shadow:var(--shadow-blue);transform:translateY(-3px);}
.secondary:hover{box-shadow:var(--shadow-orange);transform:translateY(-3px);color:#fff!important;background-color:var(--orange-800)!important;}
.btn i{transition:transform .35s var(--ease-spring);}
.btn:hover i{transform:translateX(3px);}

/* ---------- hero banner (home) ---------- */
.banner-container{position:relative;}
.banner-container::after{
    content:"";
    position:absolute;
    inset:0;
    z-index:5;
    pointer-events:none;
    background:linear-gradient(115deg,rgba(3,19,64,.5) 0%,rgba(3,19,64,.18) 45%,rgba(3,19,64,.55) 100%);
}
.banner-single{
    transform:scale(1.02);
    animation:kenburns 16s var(--ease-spring) infinite alternate;
}
@keyframes kenburns{
    from{transform:scale(1.02);}
    to{transform:scale(1.09);}
}

/* hero slide controls — arrows + pagination dots (referenced by the swiper
   config but never existed in the markup, which is why they never appeared) */
.banner-prev,
.banner-next{
    position:absolute;
    top:50%;
    transform:translateY(-50%);
    z-index:20;
    width:44px!important;
    height:44px!important;
    padding:0!important;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:50%!important;
    background:rgba(3,19,64,.35)!important;
    border:1px solid rgba(255,255,255,.35);
    backdrop-filter:blur(4px);
    color:#fff;
    font-size:1.1rem;
    cursor:pointer;
    transition:background-color .3s ease,transform .3s var(--ease-spring),border-color .3s ease;
}
.banner-prev{left:20px;}
.banner-next{right:20px;}
.banner-prev:hover,
.banner-next:hover{
    background:var(--orange-800)!important;
    border-color:var(--orange-800);
    transform:translateY(-50%) scale(1.08);
}
.banner-prev.swiper-button-disabled,
.banner-next.swiper-button-disabled{
    opacity:.35;
    cursor:default;
}

.banner-container .swiper-pagination{
    position:absolute;
    bottom:20px;
    left:0;
    right:0;
    z-index:20;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:.5rem;
}
.banner-container .swiper-pagination-bullet{
    width:9px;
    height:9px;
    margin:0;
    background:rgba(255,255,255,.5);
    opacity:1;
    border-radius:50%;
    transition:background-color .3s ease,transform .3s var(--ease-spring),width .3s var(--ease-spring);
}
.banner-container .swiper-pagination-bullet-active{
    background:var(--orange-800);
    width:24px;
    border-radius:999px;
}

@media screen and (max-width:640px){
    .banner-prev,.banner-next{width:36px;height:36px;font-size:.95rem;}
    .banner-prev{left:10px;}
    .banner-next{right:10px;}
}

/* hero text overlay — sits above the swiper + gradient, left edge matches
   the same 1382px grid every other section uses (no floating centered box) */
.hero-content{
    position:absolute;
    inset:0;
    z-index:10;
    display:flex;
    flex-direction:column;
    justify-content:center;
    gap:1.1rem;
    max-width:1382px;
    width:100%;
    padding:0 2rem;
    margin:0 auto;
    left:0;right:0;
    pointer-events:none;
}
.hero-content > *{pointer-events:auto;max-width:640px;}
.hero-actions{max-width:none;}
.hero-kicker{
    display:inline-block;
    width:max-content;
    padding:.4rem .9rem;
    border-radius:999px;
    background:rgba(255,255,255,.12);
    border:1px solid rgba(255,255,255,.25);
    backdrop-filter:blur(6px);
    color:#fff;
    font-size:.8rem;
    font-weight:600;
    letter-spacing:.03em;
    text-transform:uppercase;
    animation:riseIn .7s var(--ease-spring) both;
}
.hero-content h2{
    color:#fff!important;
    font-size:clamp(2rem,4vw,3rem);
    line-height:1.12;
    letter-spacing:-0.02em;
    text-shadow:0 8px 28px rgba(0,0,0,.35);
    animation:riseIn .8s .1s var(--ease-spring) both;
}
.hero-content h2::after{display:none;}
.hero-content p{
    color:rgba(255,255,255,.88);
    max-width:46ch;
    font-size:1.05rem;
    line-height:1.6;
    animation:riseIn .8s .2s var(--ease-spring) both;
}
.hero-actions{
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    gap:1rem;
    margin-top:.4rem;
    animation:riseIn .8s .3s var(--ease-spring) both;
}
.btn.hero-link{
    background-color:transparent;
    border:1.5px solid rgba(255,255,255,.55);
    color:#fff;
}
.btn.hero-link:hover{
    background-color:#fff;
    border-color:#fff;
    color:var(--blue-800)!important;
    transform:translateY(-3px);
    box-shadow:0 16px 32px -16px rgba(0,0,0,.4);
}

@media screen and (max-width:640px){
    .hero-content{max-width:100%;padding:0 1.25rem;gap:.85rem;}
    .hero-content p{max-width:100%;}
    .hero-actions{flex-direction:column;align-items:stretch;}
    .hero-actions .btn{width:100%;min-width:0;}
}

/* ---------- inner-page hero ---------- */
.section-banner-single{position:relative;overflow:hidden;}
.section-banner-single > div:first-child{
    background:linear-gradient(180deg,rgba(3,19,64,.28) 0%,rgba(3,19,64,.74) 100%)!important;
    opacity:1!important;
}
.section-banner-single{
    animation:heroReveal 1.1s var(--ease-spring) both;
}
@keyframes heroReveal{
    from{filter:saturate(.7) brightness(.85);}
    to{filter:saturate(1) brightness(1);}
}
.section-banner-single h1{
    text-shadow:0 8px 24px rgba(0,0,0,.35);
    animation:riseIn .8s .15s var(--ease-spring) both;
}
@keyframes riseIn{
    from{opacity:0;transform:translateY(18px);}
    to{opacity:1;transform:translateY(0);}
}

/* ---------- about (home) split ---------- */
.text-about-home{position:relative;}
.text-about-home::before{
    content:"";
    position:absolute;
    top:0;left:0;
    width:64px;height:5px;
    background:linear-gradient(90deg,var(--orange-800),transparent);
}
.img-about-home{box-shadow:var(--shadow-blue);}

/* ---------- service / feature cards ---------- */
.services-single{
    border:none!important;
    box-shadow:0 10px 24px -14px rgba(3,19,64,.25);
    position:relative;
}
.services-single::before{
    content:"";
    position:absolute;
    top:0;left:0;right:0;
    height:3px;
    background:linear-gradient(90deg,var(--orange-800),var(--blue-500));
    transform:scaleX(0);
    transform-origin:left;
    transition:transform .5s var(--ease-spring);
}
.services-single:hover{transform:translateY(-10px);box-shadow:0 30px 50px -20px rgba(3,19,64,.35);}
.services-single:hover::before{transform:scaleX(1);}
.img-services{overflow:hidden;}
.img-services img{transition:transform .6s var(--ease-spring);}
.services-single:hover .img-services img{transform:scale(1.08);}

/* ---------- advantages ---------- */
.advantages-single{position:relative;overflow:hidden;box-shadow:0 16px 34px -18px rgba(3,19,64,.5);}
.advantages-single::after{
    content:"";
    position:absolute;
    inset:0;
    border-radius:inherit;
    box-shadow:inset 0 1px 0 rgba(255,255,255,.12);
    pointer-events:none;
}
.advantages-single:hover{transform:translateY(-8px);box-shadow:0 26px 44px -16px rgba(255,102,0,.32);}
.advantages-single img{transition:transform .5s var(--ease-spring);}
.advantages-single:hover img{transform:translateY(-4px) scale(1.06);}

/* ---------- leadership ---------- */
.leader-single{position:relative;}
.leader-single img{border-radius:1rem;box-shadow:0 20px 40px -20px rgba(3,19,64,.4);}
.leader-single:hover img{transform:translateY(-6px);}
.leader-single a img{width:38px!important;transition:transform .35s var(--ease-spring)!important;}
.leader-single a:hover img{transform:scale(1.15) rotate(-4deg);}

/* ---------- testimonials ---------- */
.testimonial-single{position:relative;box-shadow:0 18px 36px -20px rgba(3,19,64,.28)!important;}
.testimonial-single::before{
    content:"\201C";
    position:absolute;
    top:-6px;left:16px;
    font-size:4.5rem;
    line-height:1;
    color:var(--orange-800);
    opacity:.18;
    font-family:Georgia,serif;
}
.testimonial-single:hover{transform:translateY(-6px);box-shadow:0 26px 46px -18px rgba(3,19,64,.35)!important;}

/* ---------- footer ---------- */
.section-footer{position:relative;}
.section-footer::before{
    content:"";
    position:absolute;
    top:0;left:0;right:0;
    height:2px;
    background:linear-gradient(90deg,var(--orange-800),var(--blue-500));
}
.redes img{transition:transform .35s var(--ease-spring);}
.redes a:hover img{transform:translateY(-3px) scale(1.1);}
.infos-footer a{position:relative;}
.infos-footer a::after{
    content:"";
    position:absolute;
    left:0;bottom:-2px;
    width:0;height:1px;
    background:var(--orange-800);
    transition:width .3s var(--ease-spring);
}
.infos-footer a:hover::after{width:100%;}

/* ---------- fixed icons ---------- */
.icon-whatsapp{position:relative;}
.icon-whatsapp::before{
    content:"";
    position:absolute;
    inset:-6px;
    border-radius:50%;
    border:2px solid rgba(37,211,102,.55);
    animation:pulseRing 2.4s var(--ease-spring) infinite;
}
@keyframes pulseRing{
    0%{transform:scale(.85);opacity:.9;}
    100%{transform:scale(1.5);opacity:0;}
}
.icon-whatsapp:hover img,.icon-top:hover img{transform:scale(1.12);}

/* ---------- form (contato) ---------- */
.form-input input,.form-input textarea,.form-input select{
    border-radius:.5rem;
    transition:box-shadow .3s ease,border-color .3s ease;
}
.form-input input:focus,.form-input textarea:focus,.form-input select:focus{
    box-shadow:0 0 0 4px var(--blue-glow);
}
.modal-box{
    box-shadow:0 30px 60px -20px rgba(3,19,64,.45);
    animation:modalPop .4s var(--ease-spring) both;
}
@keyframes modalPop{
    from{opacity:0;transform:scale(.92) translateY(12px);}
    to{opacity:1;transform:scale(1) translateY(0);}
}
.icon-success{animation:successBounce .6s .1s var(--ease-spring) both;}
@keyframes successBounce{
    0%{transform:scale(0);opacity:0;}
    60%{transform:scale(1.15);opacity:1;}
    100%{transform:scale(1);}
}

/* ---------- values / manifest (a-triverus) ---------- */
.values-single{position:relative;padding:1.5rem;border-radius:1rem;}
.values-single + .values-single{border-left:1px solid rgba(255,255,255,.18);}
.content-plans{
    padding:1.5rem;
    border-radius:1rem;
    background:#fafafa;
    box-shadow:0 12px 26px -18px rgba(3,19,64,.2);
    transition:transform .45s var(--ease-spring),box-shadow .45s var(--ease-spring);
}
.content-plans:hover{transform:translateY(-4px);box-shadow:0 20px 36px -18px rgba(3,19,64,.28);}

/* ---------- generic staggered reveal (driven by enhance.js) ---------- */
.reveal-stagger > *{
    opacity:0;
    transform:translateY(28px);
    transition:opacity .7s var(--ease-spring),transform .7s var(--ease-spring);
    transition-delay:calc(var(--i, 0) * 90ms);
}
.reveal-stagger.in-view > *{opacity:1;transform:translateY(0);}

/* ---------- reduced motion ---------- */
@media (prefers-reduced-motion: reduce){
    html{scroll-behavior:auto;}
    .banner-single{animation:none;}
    .section-banner-single{animation:none;}
    .section-banner-single h1{animation:none;}
    .icon-whatsapp::before{animation:none;display:none;}
    .reveal-stagger > *{opacity:1;transform:none;transition:none;}
    a,button,.btn,.services-single,.advantages-single,.leader-single,.testimonial-single{transition:none;}
}

@media (max-width:768px){
    body::before{display:none;}
    .services-single:hover,.advantages-single:hover,.leader-single:hover,.testimonial-single:hover,.content-plans:hover{
        transform:none;
    }
}

/* ---------- redesign 2026: estrutura editorial e interface mais premium ---------- */
:root{
    --ink:#07111f;
    --muted:#667085;
    --line:#e6edf4;
    --surface:#ffffff;
    --surface-soft:#f4f7fb;
    --aqua:#16a3a0;
    --gold:#d8a441;
    --radius:8px;
    --shadow-soft:0 18px 50px -30px rgba(7,17,31,.38);
    --shadow-card:0 18px 36px -24px rgba(7,17,31,.32);
}

body{
    background:var(--surface);
    color:var(--ink);
    text-rendering:optimizeLegibility;
}

*,
*::before,
*::after{
    box-sizing:border-box;
}

.container{
    width:min(1180px, calc(100% - 32px));
}

h1,h2,h3,h4{
    color:var(--ink);
    letter-spacing:0;
}

h2{
    font-size:clamp(1.9rem, 3vw, 3rem);
    line-height:1.08;
}

h2::after{
    width:48px!important;
    height:4px!important;
    border-radius:999px;
    background:linear-gradient(90deg,var(--orange-800),var(--aqua))!important;
}

p,li{
    color:#3f4b5a;
}

.btn,
input.btn{
    min-height:46px;
    display:inline-flex!important;
    align-items:center;
    justify-content:center;
    gap:.45rem;
    border-radius:var(--radius)!important;
    padding:.82rem 1.15rem!important;
    font-weight:700;
    letter-spacing:0;
    text-decoration:none!important;
}

.primary{
    background:#102a56!important;
    color:#fff!important;
}

.secondary,
input.secondary{
    background:var(--orange-800)!important;
    color:#fff!important;
    border:1px solid var(--orange-800)!important;
}

.secondary:hover,
input.secondary:hover{
    background:#0f766e!important;
    border-color:#0f766e!important;
}

/* header — inverted palette: navy fill, white type, orange accent */
.header{
    position:sticky;
    top:0;
    z-index:80;
    background:var(--blue-800);
    box-shadow:0 8px 26px -24px rgba(7,17,31,.55);
}

header nav{
    min-height:86px;
    border-bottom:0;
}

header nav .logo img,
header nav h1.logo img{
    max-height:58px;
    width:auto!important;
}

@media screen and (min-width:991px){
    header nav .nav-bar .itens-menu{
        gap:.15rem;
    }
    .menu-item{
        color:#fff!important;
        padding:.62rem .92rem;
        border-radius:var(--radius);
    }
    .menu-item:hover,
    .menu-item.active{
        background:rgba(255,102,0,.22);
        color:#fff!important;
    }
    header nav .nav-bar .itens-menu li:last-child .menu-item{
        background:var(--orange-800);
        border:1px solid var(--orange-800);
        color:#fff!important;
        box-shadow:0 14px 28px -20px rgba(255,102,0,.6);
    }
    header nav .nav-bar .itens-menu li:last-child .menu-item:hover{
        background:#fff;
        border-color:#fff;
        color:var(--blue-800)!important;
    }
}

/* home hero */
.page-home .banner-container{
    min-height:480px;
    aspect-ratio:2400 / 775;
    display:block;
    background:#061126;
}

.banner-swiper{
    position:absolute!important;
    inset:0;
}

.banner-swiper,
.banner-swiper .swiper-wrapper,
.banner-swiper .swiper-slide{
    height:100%!important;
}

.banner-single{
    background-size:cover!important;
    background-position:center!important;
}

.banner-desktop{
    display:block!important;
}

.banner-mobile{
    display:none!important;
}

.banner-single .linkBanner{
    position:absolute;
    inset:0;
    z-index:8;
}

.banner-container::after{
    z-index:6;
    background:linear-gradient(180deg,rgba(3,19,64,.08) 0%,rgba(3,19,64,.18) 100%);
}

.hero-content{
    display:flex;
}

.hero-kicker{
    display:inline-flex;
    align-items:center;
    gap:.6rem;
    color:#fff;
    background:rgba(255,255,255,.12);
    border:1px solid rgba(255,255,255,.22);
    border-radius:999px;
    padding:.5rem .8rem;
    font-size:.85rem;
    font-weight:700;
}

.hero-kicker::before{
    content:"";
    width:8px;
    height:8px;
    border-radius:50%;
    background:var(--gold);
}

.hero-content h2{
    display:block;
}

.hero-content h2::after{
    display:none!important;
}

.hero-content p{
    display:block;
}

.hero-actions{
    display:flex;
    gap:.8rem;
    flex-wrap:wrap;
    margin-top:0;
    pointer-events:auto;
}

.hero-actions .btn{
    box-shadow:0 18px 34px -20px rgba(0,0,0,.7);
}

.hero-link{
    color:#fff!important;
    background:rgba(255,255,255,.1)!important;
    border:1px solid rgba(255,255,255,.26)!important;
}

.hero-link:hover{
    background:#fff!important;
    color:#102a56!important;
}

/* sections */
.page-home .section-about-home .content-about-home{
    background:var(--surface-soft);
}

.page-home .section-about-home .content-about-home .text-about-home{
    min-height:0;
    padding:clamp(3rem, 6vw, 6rem);
    background-image:none!important;
    background:#102a56;
}

.text-about-home::before{
    top:clamp(2rem, 5vw, 4.8rem);
    left:clamp(3rem, 6vw, 6rem);
    background:linear-gradient(90deg,var(--gold),var(--aqua));
}

.page-home .section-about-home .content-about-home .text-about-home p{
    text-align:left;
    line-height:1.78;
    color:rgba(255,255,255,.82);
}

.page-home .section-about-home .content-about-home .img-about-home{
    min-height:640px;
    background-position:center top;
    box-shadow:none;
}

.page-home .section-services,
.page-services .section-services{
    background:var(--surface-soft);
    padding:clamp(4rem, 8vw, 7rem) 0;
}

.page-home .section-services h2,
.page-services .section-services h2{
    text-align:left;
}

.page-home .section-services h2::after,
.page-services .section-services h2::after{
    margin:.75rem 0 0!important;
}

.page-services .section-services .content-services{
    display:grid!important;
    grid-template-columns:repeat(4,minmax(0,1fr))!important;
    gap:1.1rem!important;
    margin-top:2.4rem!important;
}

.section-services .content-services .services-single{
    min-height:100%;
    height:auto!important;
    display:flex!important;
    flex-direction:column;
    overflow:hidden;
    border-radius:var(--radius)!important;
    background:#fff;
    box-shadow:var(--shadow-card);
}

.section-services .content-services .services-single .img-services{
    aspect-ratio:1.25/1;
    background:#dfe8f1;
}

.section-services .content-services .services-single .img-services img{
    width:100%;
    height:100%;
    object-fit:cover;
}

.section-services .content-services .services-single .itens-services{
    min-height:auto!important;
    padding:1.2rem!important;
    display:flex;
    flex-direction:column;
    flex:1;
}

.section-services .content-services .services-single .itens-services h3{
    font-size:1.08rem!important;
    line-height:1.25;
}

.section-services .content-services .services-single .itens-services p{
    margin:1rem 0 1.35rem!important;
    line-height:1.62!important;
    flex-grow:0!important;
}

.section-services .content-services .services-single .itens-services .btn{
    position:static!important;
    margin-top:auto;
    width:100%;
}

.page-home .section-services .content-services{
    display:block!important;
    margin-top:2.4rem!important;
}

.page-home .section-services .slick-track,
.page-home .section-testimonials .slick-track{
    display:flex!important;
    align-items:stretch;
}

.page-home .section-services .slick-slide,
.page-home .section-testimonials .slick-slide{
    height:auto!important;
}

.page-home .section-services .slick-slide > div,
.page-home .section-testimonials .slick-slide > div{
    height:100%;
    padding:0 .55rem;
}

.page-home .section-services .services-single,
.page-home .section-testimonials .testimonial-single{
    height:100%!important;
}

.page-home .section-services .slick-list,
.page-home .section-testimonials .slick-list{
    overflow:hidden;
    padding:.25rem 0 1rem;
}

.section-advantages{
    padding:clamp(4rem, 8vw, 7rem) 0;
    background-image:
        linear-gradient(135deg,rgba(7,17,31,.95),rgba(16,42,86,.86)),
        url("../images/bg-vantagens-home.png")!important;
}

.section-advantages .content-advantages{
    gap:1rem!important;
    margin:2.5rem 0!important;
}

.section-advantages .content-advantages .advantages-single{
    max-width:none!important;
    border-radius:var(--radius)!important;
    padding:1.35rem!important;
    background:rgba(255,255,255,.08)!important;
    border:1px solid rgba(255,255,255,.12);
    backdrop-filter:blur(8px);
}

.section-advantages .content-advantages .advantages-single img{
    height:58px!important;
    width:58px!important;
    object-fit:contain!important;
}

.section-advantages .content-advantages .advantages-single p{
    line-height:1.55;
    color:rgba(255,255,255,.86)!important;
}

.page-home .section-leader{
    padding:clamp(4rem, 8vw, 7rem) 0;
}

.page-home .section-leader .content-leader{
    max-width:860px;
    gap:1.2rem;
}

.page-home .section-leader .content-leader .leader-single{
    width:100%;
    padding:1rem;
    border:1px solid var(--line);
    border-radius:var(--radius);
    background:#fff;
    box-shadow:var(--shadow-card);
}

.page-home .section-leader .content-leader + .btn{
    display:flex!important;
    width:max-content;
    margin:2rem auto 0!important;
}

.leader-single img,
.content-img img,
.content-img-single img{
    border-radius:var(--radius)!important;
}

.page-home .section-testimonials{
    padding:clamp(4rem, 8vw, 7rem) 0;
    background:#102a56;
}

.page-home .section-testimonials .content-testimonials{
    display:block!important;
    margin:2.6rem 0 0;
}

.page-home .section-testimonials .testimonial-single{
    max-width:none!important;
    margin-top:0!important;
    padding:2rem!important;
    border-radius:var(--radius)!important;
    height:100%;
}

.page-home .section-testimonials .testimonial-single .testimonial-author{
    width:100%!important;
    height:auto!important;
    min-height:0!important;
    align-items:flex-start!important;
}

.page-home .section-testimonials .testimonial-single .testimonioal-text{
    width:100%;
    min-width:0;
}

.page-home .section-testimonials .testimonial-single h3,
.page-home .section-testimonials .testimonial-single h6{
    overflow-wrap:anywhere;
}

/* inner pages */
.section-banner-single{
    min-height:320px;
    border-bottom:1px solid var(--line);
}

.breadcrumb{
    background:#fff;
    border-bottom:1px solid var(--line);
    padding:1rem 0!important;
}

.breadcrumb,
.breadcrumb a{
    color:#5d6b7a!important;
    font-size:.9rem;
}

.content-text-info{
    align-items:center;
    gap:clamp(2rem, 5vw, 5rem)!important;
}

.content-text-info .content-text,
.content-text-info .content-img{
    min-width:0;
}

.content-text-info .content-img img{
    display:block;
    width:100%;
    max-width:100%;
    height:auto;
    box-shadow:var(--shadow-soft);
}

.page-about .section-about,
.page-contact .section-contact,
.page-executives .section-executives,
.page-service-single .section-service-single{
    padding:clamp(3rem, 7vw, 6rem) 0;
    margin:0!important;
}

.page-service-single .section-service-single .content-single-text{
    align-items:start;
    gap:clamp(2rem, 5vw, 4rem)!important;
}

.page-service-single .section-service-single .content-text-single,
.page-service-single .section-service-single .content-img-single{
    min-width:0;
}

.page-service-single .section-service-single .content-img-single{
    position:sticky;
    top:110px;
    max-height:none!important;
}

.page-service-single .section-service-single .content-img-single img{
    display:block;
    width:100%;
    max-width:100%;
    height:auto;
    box-shadow:var(--shadow-soft);
}

.page-service-single .section-service-single .content-plans{
    overflow-wrap:anywhere;
}

.page-about .section-about-solutions,
.page-about .section-manifest{
    margin:0!important;
    padding:clamp(4rem, 7vw, 6rem) 0;
}

.page-about .section-manifest{
    background-position:center right!important;
    text-align:center;
}

.page-about .section-manifest .content-manifest{
    width:min(920px, 100%);
    margin:0 auto;
    display:flex;
    flex-direction:column;
    align-items:center;
    text-align:center;
}

.page-about .section-manifest .content-manifest h2{
    text-align:center;
}

.page-about .section-manifest .content-manifest h2::after{
    margin:.75rem auto 0!important;
}

.page-about .section-manifest .content-manifest p{
    max-width:820px;
    margin:2rem auto 0!important;
    text-align:center;
    line-height:1.85;
}

.page-about .section-manifest .content-manifest h3{
    max-width:760px;
    margin:1.4rem auto 0!important;
    text-align:center;
    line-height:1.35;
}

.page-about .section-manifest .content-manifest .btn{
    margin:2.25rem auto 0!important;
}

.page-about .section-values .content-values{
    gap:1rem!important;
}

.values-single{
    border:1px solid rgba(255,255,255,.16)!important;
    background:rgba(255,255,255,.08);
    backdrop-filter:blur(8px);
}

.page-contact .section-contact .box-contact{
    align-items:stretch!important;
    gap:1.25rem!important;
}

.form-contact,
.infos-contact{
    flex:1 1 0;
    min-width:0;
    width:auto!important;
    border:1px solid var(--line);
    border-radius:var(--radius);
    background:#fff;
    box-shadow:var(--shadow-card);
    padding:clamp(1.25rem, 3vw, 2rem);
}

.form-input input,
.form-input textarea,
.form-input select{
    min-height:46px;
    border:1px solid var(--line)!important;
    background:#f9fbfd;
}

.form-input textarea{
    padding-top:.8rem;
}

.form-input input,
.form-input textarea,
.form-input select{
    width:100%;
}

.form-group{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:1rem;
}

.page-contact .section-contact .box-contact .infos-contact p{
    padding:1rem;
    border:1px solid var(--line);
    border-radius:var(--radius);
    background:var(--surface-soft);
}

.page-executives .section-executives:nth-child(even){
    background:var(--surface-soft);
}

.section-footer{
    background:#07111f!important;
    padding-top:3rem;
}

.section-footer .content-footer{
    align-items:start!important;
}

.section-footer .redes p{
    background:rgba(255,255,255,.08);
}

.section-footer .signature-footer{
    border-top:1px solid rgba(255,255,255,.14)!important;
}

.icons-fixed{
    right:18px;
    bottom:18px;
}

.icon-top,
.icon-whatsapp{
    filter:drop-shadow(0 12px 22px rgba(7,17,31,.24));
}

@media screen and (max-width:1100px){
    .page-services .section-services .content-services{
        grid-template-columns:repeat(2,minmax(0,1fr))!important;
    }
}

@media screen and (max-width:990px){
    header nav{
        min-height:76px;
    }
    .header nav .nav-bar{
        top:76px;
        border-radius:0;
    }
    .page-home .banner-container{
        min-height:520px;
        aspect-ratio:2400 / 775;
    }
    .page-home .section-about-home .content-about-home .img-about-home{
        min-height:420px;
    }
    .section-advantages .content-advantages{
        grid-template-columns:repeat(2,minmax(0,1fr))!important;
    }
}

@media screen and (max-width:768px){
    .container,
    .hero-content{
        width:min(100% - 24px, 1180px);
    }
    .page-home .banner-container{
        min-height:480px;
        aspect-ratio:1 / 1;
    }
    .banner-desktop{
        display:none!important;
    }
    .banner-mobile{
        display:block!important;
    }
    .banner-container::after{
        background:linear-gradient(180deg,rgba(3,19,64,.04),rgba(3,19,64,.22));
    }
    .hero-content{
        bottom:.85rem;
        width:min(100% - 20px, 1180px);
    }
    .hero-actions{
        gap:.5rem;
        justify-content:center;
    }
    .hero-actions .btn{
        width:auto;
        min-height:40px;
        padding:.62rem .78rem!important;
        font-size:.78rem;
    }
    .page-services .section-services .content-services,
    .section-advantages .content-advantages{
        grid-template-columns:1fr!important;
    }
    .page-home .section-about-home .content-about-home .text-about-home{
        padding:3rem 1.5rem;
    }
    .text-about-home::before{
        left:1.5rem;
        top:2.5rem;
    }
    .content-text-info,
    .page-executives .section-executives .content-text-info.box-right,
    .page-executives .section-executives .content-text-info.box-left{
        flex-direction:column!important;
    }
    .page-service-single .section-service-single .content-single-text{
        display:flex!important;
        flex-direction:column;
    }
    .page-service-single .section-service-single .content-img-single{
        position:static;
    }
    .section-banner-single{
        min-height:220px;
    }
    .page-contact .section-contact .box-contact .form-contact,
    .page-contact .section-contact .box-contact .infos-contact{
        width:100%;
        flex-basis:100%;
    }
    .form-group{
        grid-template-columns:1fr;
    }
}

@media screen and (max-width:430px){
    header nav .logo img,
    header nav h1.logo img{
        max-height:48px;
    }
    .hero-content h2{
        font-size:2.25rem;
    }
    .section-footer .content-footer .infos-footer{
        width:100%;
    }
}

/* ---------- fix: hero CTA overflowing off-screen on mobile ---------- */
@media screen and (max-width:768px){
    .hero-content{
        box-sizing:border-box!important;
        width:auto!important;
        max-width:none!important;
        left:0!important;
        right:0!important;
        margin:0!important;
    }
    .hero-actions{
        width:100%!important;
        box-sizing:border-box!important;
    }
    .hero-actions .btn{
        box-sizing:border-box!important;
        width:100%!important;
        max-width:100%!important;
        min-width:0!important;
    }
}

/* atendimento nacional / mapa de cobertura */
.section-coverage{padding:clamp(3rem, 6vw, 5rem) 0;}
.tag-coverage{
    display:inline-flex;
    align-items:center;
    gap:.5rem;
    padding:.4rem 1rem;
    border-radius:999px;
    background:rgba(255,102,0,.1);
    color:var(--orange-800);
    font-size:.8rem;
    font-weight:700;
    letter-spacing:.03em;
    text-transform:uppercase;
    margin-bottom:1rem;
}
.coverage-head{max-width:640px;margin:0 auto 2.75rem;text-align:center;}
.coverage-head p{margin:0 auto;}
.coverage-card{
    background:#fff;
    border:1px solid var(--line);
    border-radius:calc(var(--radius) * 2);
    box-shadow:var(--shadow-card);
    padding:2rem;
    display:flex;
    flex-direction:column;
    align-items:center;
    max-width:560px;
    margin:0 auto 2.5rem;
}
.coverage-map{width:100%;max-width:480px;height:auto;overflow:visible;}
.coverage-map .br-shape{fill:rgba(3,19,64,.06);stroke:rgba(3,19,64,.16);stroke-width:2;stroke-linejoin:round;}
.coverage-map .cluster-halo{fill:rgba(255,102,0,.08);}
.coverage-map .pin{cursor:pointer;outline:none;}
.coverage-map .pin .pin-label{font-size:13px;font-weight:700;fill:var(--blue-800);pointer-events:none;}
.coverage-map .pin .pin-ring{
    fill:none;
    opacity:.55;
    transform-box:fill-box;
    transform-origin:center;
    animation:coveragePinPulse 2.4s ease-out infinite;
}
.coverage-map .pin-go .pin-ring{stroke:#ffab70;animation-delay:.3s;}
.coverage-map .pin-df .pin-ring{stroke:#ff8a3d;animation-delay:.6s;}
.coverage-map .pin-cluster .pin-ring{stroke:#ff6600;}
.coverage-map .pin-cluster:nth-of-type(odd) .pin-ring{animation-delay:.4s;}
.coverage-map .pin-cluster:nth-of-type(even) .pin-ring{animation-delay:.9s;}
@keyframes coveragePinPulse{
    0%{opacity:.5;transform:scale(1);}
    100%{opacity:0;transform:scale(2.4);}
}
.coverage-map .pin-dot{
    stroke:#fff;
    stroke-width:2;
    transform-box:fill-box;
    transform-origin:center;
    transition:transform .25s cubic-bezier(.16,1,.3,1);
}
.coverage-map .pin:hover .pin-dot,
.coverage-map .pin:focus-visible .pin-dot,
.coverage-map .pin.is-active .pin-dot{transform:scale(1.3);}
.coverage-map .pin-tip{
    opacity:0;
    transform:translateY(4px);
    transition:opacity .18s ease, transform .18s ease;
    pointer-events:none;
}
.coverage-map .pin:hover .pin-tip,
.coverage-map .pin:focus-visible .pin-tip,
.coverage-map .pin.is-active .pin-tip{opacity:1;transform:translateY(0);}
.coverage-map .pin-tip rect{fill:var(--blue-800);filter:drop-shadow(0 8px 16px rgba(3,19,64,.35));}
.coverage-map .pin-tip .pin-tip-title{fill:#fff;font-size:13px;font-weight:700;}
.coverage-map .pin-tip .pin-tip-sub{fill:rgba(255,255,255,.75);font-size:11px;font-weight:500;}
.coverage-map-hint{margin-top:1rem;font-size:.82rem;color:var(--gray-500);text-align:center;}
@media (prefers-reduced-motion: reduce){
    .coverage-map .pin-ring{animation:none;}
}
.coverage-cities{
    list-style:none;
    margin:0;
    padding:0;
    display:flex;
    flex-wrap:wrap;
    justify-content:center;
    gap:.6rem;
    max-width:760px;
    margin:0 auto;
}
.coverage-cities li{
    display:inline-flex;
    align-items:center;
    gap:.4rem;
    padding:.45rem .5rem .45rem .9rem;
    border-radius:999px;
    background:#fff;
    border:1px solid var(--line);
    font-size:.85rem;
    font-weight:600;
    color:var(--blue-800);
    transition:box-shadow .2s ease, transform .2s ease;
}
.coverage-cities li:hover{box-shadow:var(--shadow-card);transform:translateY(-2px);}
.coverage-cities li span{
    font-size:.7rem;
    font-weight:700;
    color:var(--orange-800);
    background:rgba(255,102,0,.1);
    padding:.15rem .45rem;
    border-radius:999px;
}
